diff --git a/ZahlungenForderungen.py b/ZahlungenForderungen.py index 6660e49..4e4447d 100644 --- a/ZahlungenForderungen.py +++ b/ZahlungenForderungen.py @@ -106,11 +106,19 @@ WHERE mieter = ? AND "zahlungen": float(sumZ) } -def put_zahlung(zahlung): - print("Input of put_zahlung: {} {}".format(type(zahlung), zahlung)) - datum_soll = dateparser.parse(zahlung["datum_soll"], languages=["de"]) - datum_ist = dateparser.parse(zahlung["datum_ist"], languages=["de"]) - return putOne(""" +def put_zahlung(**args): + try: + body = args["body"] + datum_soll_raw = body["datum_soll"] + datum_ist_raw = body["datum_ist"] + + print("Input of put_zahlung: {}".format(body)) + datum_soll = dateparser.parse(datum_soll_raw, languages=["de"]) + datum_ist = dateparser.parse(datum_ist_raw, languages=["de"]) + return putOne(""" INSERT INTO zahlung (datum_soll, datum_ist, mieter, betrag, kommentar) VALUES(?, ?, ?, ?, ?) -""", [ datum_soll, datum_ist, zahlung["mieter"], zahlung["betrag"], zahlung["kommentar"] ], "Zahlung") +""", [ datum_soll, datum_ist, body["mieter"], body["betrag"], body["kommentar"] ], "Zahlung") + except KeyError as e: + print("Some parameter missing: {}".format(e)) + return str(e), 500 diff --git a/dbpool.py b/dbpool.py index 902c701..d4a334b 100644 --- a/dbpool.py +++ b/dbpool.py @@ -83,6 +83,7 @@ def putOne(stmt, params, objName): except mariadb.Error as err: dbh.rollback() print("Database error in putOne({}): {}".format(objName, err)) + return str(err), 500 except Exception as err: dbh.rollback() print("Error in putOne({}): {}".format(objName, err)) diff --git a/swagger.yaml b/swagger.yaml index 99c5b50..12e8665 100644 --- a/swagger.yaml +++ b/swagger.yaml @@ -319,11 +319,12 @@ paths: tags: [ "Zahlung" ] operationId: ZahlungenForderungen.put_zahlung summary: Inserts a new Zahlung - parameters: - - name: zahlung - in: body - schema: - $ref: '#/components/schemas/Zahlung' + requestBody: + description: Zahlung + content: + application/json: + schema: + $ref: '#/components/schemas/Zahlung' responses: 202: description: Zahlung successfully inserted