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 datetime
|
||||||
import decimal
|
import decimal
|
||||||
|
import dateparser
|
||||||
|
|
||||||
def get_zahlungen_by_mieter(mieter_id):
|
def get_zahlungen_by_mieter(mieter_id):
|
||||||
return getMany("""
|
return getMany("""
|
||||||
@ -104,3 +105,12 @@ WHERE mieter = ? AND
|
|||||||
"saldo": float(saldo),
|
"saldo": float(saldo),
|
||||||
"zahlungen": float(sumZ)
|
"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,
|
host = host,
|
||||||
database = database
|
database = database
|
||||||
)
|
)
|
||||||
|
conn.autocommit = False
|
||||||
|
|
||||||
return conn
|
return conn
|
||||||
except mariadb.Error as err:
|
except mariadb.Error as err:
|
||||||
@ -70,3 +71,26 @@ def getOne(stmt, params, objName):
|
|||||||
if dbh:
|
if dbh:
|
||||||
dbh.close()
|
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
|
description: Neither Forderungen nor Zahlungen available
|
||||||
500:
|
500:
|
||||||
description: Some server error
|
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:
|
definitions:
|
||||||
|
Reference in New Issue
Block a user