put zahlung
This commit is contained in:
@ -1,6 +1,7 @@
|
||||
from dbpool import getConnection, getOne, getMany
|
||||
from dbpool import getConnection, getOne, getMany, putOne
|
||||
import datetime
|
||||
import decimal
|
||||
import dateparser
|
||||
|
||||
def get_zahlungen_by_mieter(mieter_id):
|
||||
return getMany("""
|
||||
@ -103,4 +104,13 @@ WHERE mieter = ? AND
|
||||
"forderungen": float(sumF),
|
||||
"saldo": float(saldo),
|
||||
"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("""
|
||||
INSERT INTO zahlung (datum_soll, datum_ist, mieter, betrag, kommentar)
|
||||
VALUES(?, ?, ?, ?, ?)
|
||||
""", [ datum_soll, datum_ist, zahlung["mieter"], zahlung["betrag"], zahlung["kommentar"] ], "Zahlung")
|
||||
|
24
dbpool.py
24
dbpool.py
@ -15,6 +15,7 @@ def getConnection():
|
||||
host = host,
|
||||
database = database
|
||||
)
|
||||
conn.autocommit = False
|
||||
|
||||
return conn
|
||||
except mariadb.Error as err:
|
||||
@ -69,4 +70,27 @@ def getOne(stmt, params, objName):
|
||||
cur.close()
|
||||
if dbh:
|
||||
dbh.close()
|
||||
|
||||
def putOne(stmt, params, objName):
|
||||
dbh = None
|
||||
cur = None
|
||||
try:
|
||||
dbh = getConnection()
|
||||
cur = dbh.cursor(dictionary=True)
|
||||
cur.execute(stmt, params)
|
||||
dbh.commit()
|
||||
return "{} successfully inserted with primary key {}".format(objName, cur.lastrowid), 202
|
||||
except mariadb.Error as err:
|
||||
dbh.rollback()
|
||||
print("Database error in putOne({}): {}".format(objName, err))
|
||||
except Exception as err:
|
||||
dbh.rollback()
|
||||
print("Error in putOne({}): {}".format(objName, err))
|
||||
return str(err), 500
|
||||
finally:
|
||||
print("return connection in getOne({})".format(objName))
|
||||
if cur:
|
||||
cur.close()
|
||||
if dbh:
|
||||
dbh.close()
|
||||
|
15
swagger.yaml
15
swagger.yaml
@ -258,6 +258,21 @@ paths:
|
||||
description: Neither Forderungen nor Zahlungen available
|
||||
500:
|
||||
description: Some server error
|
||||
/hv/zahlung:
|
||||
post:
|
||||
tags: [ "Zahlung" ]
|
||||
operationId: ZahlungenForderungen.put_zahlung
|
||||
summary: Inserts a new Zahlung
|
||||
parameters:
|
||||
- name: zahlung
|
||||
in: body
|
||||
schema:
|
||||
$ref: '#/definitions/Zahlung'
|
||||
responses:
|
||||
202:
|
||||
description: Zahlung successfully inserted
|
||||
500:
|
||||
description: Some server or database error
|
||||
|
||||
|
||||
definitions:
|
||||
|
Reference in New Issue
Block a user