From 579f6a2a1be5287b5b04cfc945826696aeacda97 Mon Sep 17 00:00:00 2001 From: BarsTiger Date: Wed, 26 Jul 2023 16:43:40 +0300 Subject: [PATCH] Message datetime --- dragonion_core/proto/web/webmessage/connection.py | 5 +++++ dragonion_core/proto/web/webmessage/message.py | 4 ++++ dragonion_core/proto/web/webmessage/server.py | 4 ++++ dragonion_core/proto/web/webmessage/webmessage.py | 2 ++ 4 files changed, 15 insertions(+) diff --git a/dragonion_core/proto/web/webmessage/connection.py b/dragonion_core/proto/web/webmessage/connection.py index 6f02d22..0b65103 100644 --- a/dragonion_core/proto/web/webmessage/connection.py +++ b/dragonion_core/proto/web/webmessage/connection.py @@ -1,6 +1,8 @@ from dataclasses import dataclass from dataclasses_json import dataclass_json +from datetime import datetime + from typing import Final @@ -16,6 +18,7 @@ class WebConnectionMessage: public_key: bytes password: str type: Final = "connect" + time: datetime = None @dataclass_json @@ -27,6 +30,7 @@ class WebConnectionResultMessage: """ connected_users: dict[str, bytes] = None type: Final = "connect_answer" + time: datetime = None @dataclass_json @@ -38,3 +42,4 @@ class WebDisconnectMessage: """ username: str type: Final = "disconnect" + time: datetime = None diff --git a/dragonion_core/proto/web/webmessage/message.py b/dragonion_core/proto/web/webmessage/message.py index b17b024..2e21247 100644 --- a/dragonion_core/proto/web/webmessage/message.py +++ b/dragonion_core/proto/web/webmessage/message.py @@ -2,6 +2,8 @@ from dataclasses import dataclass, field from dataclasses_json import dataclass_json from typing import Final +from datetime import datetime + from cryptography.hazmat.primitives import serialization from cryptography.hazmat.primitives.asymmetric import padding from cryptography.hazmat.primitives import hashes @@ -22,6 +24,7 @@ class WebMessageMessage: avatar: str message: bytes type: Final = "message" + time: datetime = None def decrypt(self, identity: Identity): return identity.decrypt(self.message) @@ -37,6 +40,7 @@ class WebBroadcastableMessage: messages: dict[str, WebMessageMessage] = field(default_factory=dict) type: Final = "broadcastable" + time: datetime = None @dataclass diff --git a/dragonion_core/proto/web/webmessage/server.py b/dragonion_core/proto/web/webmessage/server.py index 924af1a..c4ebcff 100644 --- a/dragonion_core/proto/web/webmessage/server.py +++ b/dragonion_core/proto/web/webmessage/server.py @@ -2,6 +2,8 @@ from dataclasses import dataclass from dataclasses_json import dataclass_json from typing import Final, Literal +from datetime import datetime + webmessage_error_message_literal = Literal[ "unknown", "username_exists", "invalid_webmessage" @@ -17,6 +19,7 @@ class WebErrorMessage: """ error_message: webmessage_error_message_literal type: Final = "error" + time: datetime = None @dataclass_json @@ -28,3 +31,4 @@ class WebNotificationMessage: """ message: str type: Final = "notification" + time: datetime = None diff --git a/dragonion_core/proto/web/webmessage/webmessage.py b/dragonion_core/proto/web/webmessage/webmessage.py index fc1e51c..63ed18a 100644 --- a/dragonion_core/proto/web/webmessage/webmessage.py +++ b/dragonion_core/proto/web/webmessage/webmessage.py @@ -1,6 +1,7 @@ from typing import Literal, Union from dataclasses_json import dataclass_json from dataclasses import dataclass +from datetime import datetime from .server import ( webmessage_error_message_literal, @@ -51,6 +52,7 @@ class _WebAnyMessage: message: str | None = None messages: dict[str, WebMessageMessage] = None error_message: webmessage_error_message_literal | None = None + time: datetime = None webmessages_union = Union[