From 15dc18ce547cc067cbb0a0ee05fff17126ebb17b Mon Sep 17 00:00:00 2001 From: Michael Woods Date: Sun, 16 Feb 2025 15:20:10 -0500 Subject: [PATCH] Added stubs for message client module. Going to add a get message by uuid server method to allow clients to retrieve specific messages (if they want the attachments or text.. say). --- src/packetserver/client/messages.py | 34 +++++++++++++++++++++++++++++ src/packetserver/client/users.py | 3 +++ src/packetserver/server/messages.py | 5 +++++ 3 files changed, 42 insertions(+) create mode 100644 src/packetserver/client/messages.py diff --git a/src/packetserver/client/messages.py b/src/packetserver/client/messages.py new file mode 100644 index 0000000..f8bc663 --- /dev/null +++ b/src/packetserver/client/messages.py @@ -0,0 +1,34 @@ +import datetime + +from packetserver.client import Client +from packetserver.common import Request, Response, PacketServerConnection +from typing import Union, Optional +from uuid import UUID, uuid4 +import os.path + +# TODO messages client + +class MessageWrapper: + # TODO MessageWrapper + def __init__(self, data: dict): + for i in ['username', 'status', 'bio', 'socials', 'created_at', 'last_seen', 'email', 'location']: + if i not in data.keys(): + raise ValueError("Data dict was not an object dictionary.") + self.data = data + + +def send_message(client: Client, bbs_callsign: str,): + # TODO send message + pass + +def get_message_uuid(): + # TODO get message by uuid + pass + +def get_messages_since(): + # TODO get messages since date + pass + +def get_messages(): + # TODO get messages default + pass \ No newline at end of file diff --git a/src/packetserver/client/users.py b/src/packetserver/client/users.py index 77ab924..f8badf0 100644 --- a/src/packetserver/client/users.py +++ b/src/packetserver/client/users.py @@ -14,6 +14,9 @@ class UserWrapper: raise ValueError("Data dict was not an object dictionary.") self.data = data + def __repr__(self): + return f"" + @property def socials(self) -> list[str]: return self.data['socials'] diff --git a/src/packetserver/server/messages.py b/src/packetserver/server/messages.py index 97f6028..3b02870 100644 --- a/src/packetserver/server/messages.py +++ b/src/packetserver/server/messages.py @@ -346,10 +346,15 @@ def handle_messages_since(req: Request, conn: PacketServerConnection, db: ZODB.D response.payload = msg_return send_response(conn, response, req) +def handle_message_get_id(req: Request, conn: PacketServerConnection, db: ZODB.DB): + # TODO message get specific by uuid + pass def handle_message_get(req: Request, conn: PacketServerConnection, db: ZODB.DB): if re.match(since_regex,req.path): return handle_messages_since(req, conn, db) + elif 'id' in req.vars: + return handle_message_get_id(req, conn, db) opts = parse_display_options(req) username = ax25.Address(conn.remote_callsign).call.upper().strip() msg_return = []