put zahlung

This commit is contained in:
2021-01-20 16:14:27 +01:00
parent c4b5e5552a
commit b64ea9ad7b
3 changed files with 51 additions and 2 deletions

View File

@ -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")

View File

@ -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()

View File

@ -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: