From ec6c4be7f6c46c4195897133c9c8a01b38b1e1a1 Mon Sep 17 00:00:00 2001 From: Michael Woods Date: Sun, 5 Jan 2025 20:04:15 -0500 Subject: [PATCH] object post and get may be working --- src/packetserver/server/objects.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/packetserver/server/objects.py b/src/packetserver/server/objects.py index 7e794d5..76ef2ca 100644 --- a/src/packetserver/server/objects.py +++ b/src/packetserver/server/objects.py @@ -298,8 +298,18 @@ def handle_object_get(req: Request, conn: PacketServerConnection, db: ZODB.DB): def handle_object_post(req: Request, conn: PacketServerConnection, db: ZODB.DB): - # TODO - pass + if type(req.payload) is not dict: + send_blank_response(conn, req, 400, payload="object payload must be 'dict'") + + try: + obj = Object.from_dict(req.payload) + except: + send_blank_response(conn, req, status_code=400) + return + + obj.write_new(db) + username = ax25.Address(conn.remote_callsign).call.upper().strip() + obj.chown(username, db) def object_root_handler(req: Request, conn: PacketServerConnection, db: ZODB.DB): logging.debug(f"{req} being processed by user_root_handler")