From 20f38fff91ceec7a8252b030bc92efb34c4540b4 Mon Sep 17 00:00:00 2001 From: Daniel Schick Date: Tue, 20 Jun 2023 07:44:27 +0200 Subject: [PATCH] POST zum Laufen gebracht.. RTFM! :-) --- src/server/BreCal/api/times.py | 12 +++++++++--- src/server/BreCal/impl/times.py | 13 ++++++++++++- src/server/BreCal/schemas/model.py | 8 ++++++++ 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/src/server/BreCal/api/times.py b/src/server/BreCal/api/times.py index dac468a..e0df7e1 100644 --- a/src/server/BreCal/api/times.py +++ b/src/server/BreCal/api/times.py @@ -20,16 +20,22 @@ def GetTimes(): def PostTimes(): schema = model.Times() + print (request.is_json) + content = request.get_json(force=True) + print (content) + # body = parser.parse(schema, request, location='json') - body = parser.parse(schema, request, location='json') - - return impl.times.PostTimes(body) + return impl.times.PostTimes(content) @bp.route('/times', methods=['put']) def PutTimes(): schema = model.Times() + print (request.is_json) + content = request.get_json() + print (content) + body = parser.parse(schema, request, location='json') diff --git a/src/server/BreCal/impl/times.py b/src/server/BreCal/impl/times.py index 06381a8..feb6b70 100644 --- a/src/server/BreCal/impl/times.py +++ b/src/server/BreCal/impl/times.py @@ -36,7 +36,18 @@ def PostTimes(body): # This creates a *new* entry - return 400 + # TODO: Validate the upload data + + try: + commands = pydapper.using(local_db.connection_pool) + + except Exception as ex: + logging.error(ex) + print(ex) + return json.dumps("call failed"), 500 + + + return 0 def PutTimes(body): diff --git a/src/server/BreCal/schemas/model.py b/src/server/BreCal/schemas/model.py index 8e76db4..9cf98e0 100644 --- a/src/server/BreCal/schemas/model.py +++ b/src/server/BreCal/schemas/model.py @@ -77,6 +77,10 @@ class ParticipantList(Participant): @dataclass class Shipcall(Schema): + def __init__(self): + many = True + pass + id: int ship_id: int type: int @@ -127,6 +131,10 @@ class ShipcallId(Schema): @dataclass class Times(Schema): + def __init__(self): + many = True + pass + id: int start_planned: datetime end_planned: datetime