Message datetime

This commit is contained in:
BarsTiger
2023-07-26 16:43:40 +03:00
parent ff08c15820
commit 579f6a2a1b
4 changed files with 15 additions and 0 deletions

View File

@@ -1,6 +1,8 @@
from dataclasses import dataclass from dataclasses import dataclass
from dataclasses_json import dataclass_json from dataclasses_json import dataclass_json
from datetime import datetime
from typing import Final from typing import Final
@@ -16,6 +18,7 @@ class WebConnectionMessage:
public_key: bytes public_key: bytes
password: str password: str
type: Final = "connect" type: Final = "connect"
time: datetime = None
@dataclass_json @dataclass_json
@@ -27,6 +30,7 @@ class WebConnectionResultMessage:
""" """
connected_users: dict[str, bytes] = None connected_users: dict[str, bytes] = None
type: Final = "connect_answer" type: Final = "connect_answer"
time: datetime = None
@dataclass_json @dataclass_json
@@ -38,3 +42,4 @@ class WebDisconnectMessage:
""" """
username: str username: str
type: Final = "disconnect" type: Final = "disconnect"
time: datetime = None

View File

@@ -2,6 +2,8 @@ from dataclasses import dataclass, field
from dataclasses_json import dataclass_json from dataclasses_json import dataclass_json
from typing import Final from typing import Final
from datetime import datetime
from cryptography.hazmat.primitives import serialization from cryptography.hazmat.primitives import serialization
from cryptography.hazmat.primitives.asymmetric import padding from cryptography.hazmat.primitives.asymmetric import padding
from cryptography.hazmat.primitives import hashes from cryptography.hazmat.primitives import hashes
@@ -22,6 +24,7 @@ class WebMessageMessage:
avatar: str avatar: str
message: bytes message: bytes
type: Final = "message" type: Final = "message"
time: datetime = None
def decrypt(self, identity: Identity): def decrypt(self, identity: Identity):
return identity.decrypt(self.message) return identity.decrypt(self.message)
@@ -37,6 +40,7 @@ class WebBroadcastableMessage:
messages: dict[str, WebMessageMessage] = field(default_factory=dict) messages: dict[str, WebMessageMessage] = field(default_factory=dict)
type: Final = "broadcastable" type: Final = "broadcastable"
time: datetime = None
@dataclass @dataclass

View File

@@ -2,6 +2,8 @@ from dataclasses import dataclass
from dataclasses_json import dataclass_json from dataclasses_json import dataclass_json
from typing import Final, Literal from typing import Final, Literal
from datetime import datetime
webmessage_error_message_literal = Literal[ webmessage_error_message_literal = Literal[
"unknown", "username_exists", "invalid_webmessage" "unknown", "username_exists", "invalid_webmessage"
@@ -17,6 +19,7 @@ class WebErrorMessage:
""" """
error_message: webmessage_error_message_literal error_message: webmessage_error_message_literal
type: Final = "error" type: Final = "error"
time: datetime = None
@dataclass_json @dataclass_json
@@ -28,3 +31,4 @@ class WebNotificationMessage:
""" """
message: str message: str
type: Final = "notification" type: Final = "notification"
time: datetime = None

View File

@@ -1,6 +1,7 @@
from typing import Literal, Union from typing import Literal, Union
from dataclasses_json import dataclass_json from dataclasses_json import dataclass_json
from dataclasses import dataclass from dataclasses import dataclass
from datetime import datetime
from .server import ( from .server import (
webmessage_error_message_literal, webmessage_error_message_literal,
@@ -51,6 +52,7 @@ class _WebAnyMessage:
message: str | None = None message: str | None = None
messages: dict[str, WebMessageMessage] = None messages: dict[str, WebMessageMessage] = None
error_message: webmessage_error_message_literal | None = None error_message: webmessage_error_message_literal | None = None
time: datetime = None
webmessages_union = Union[ webmessages_union = Union[