clipcloudlib 0.4.2__tar.gz → 0.4.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/PKG-INFO +1 -1
- clipcloudlib-0.4.3/clipcloudlib/enums.py +20 -0
- clipcloudlib-0.4.3/clipcloudlib/mappers/__init__.py +0 -0
- clipcloudlib-0.4.3/clipcloudlib/models/redis/session.py +13 -0
- clipcloudlib-0.4.3/clipcloudlib/schemas/events.py +83 -0
- {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/clipcloudlib.egg-info/PKG-INFO +1 -1
- {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/clipcloudlib.egg-info/SOURCES.txt +3 -0
- {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/pyproject.toml +1 -1
- clipcloudlib-0.4.2/clipcloudlib/models/redis/session.py +0 -35
- {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/README.md +0 -0
- {clipcloudlib-0.4.2/clipcloudlib/mappers → clipcloudlib-0.4.3/clipcloudlib}/__init__.py +0 -0
- {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/clipcloudlib/exceptions.py +0 -0
- {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/clipcloudlib/mappers/base.py +0 -0
- {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/clipcloudlib/mappers/room.py +0 -0
- {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/clipcloudlib/mappers/session.py +0 -0
- {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/clipcloudlib/models/redis/__init__.py +0 -0
- {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/clipcloudlib/models/redis/base.py +0 -0
- {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/clipcloudlib/models/redis/room.py +0 -0
- {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/clipcloudlib/required.py +0 -0
- {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/clipcloudlib/schemas/__init__.py +0 -0
- {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/clipcloudlib/schemas/file.py +0 -0
- {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/clipcloudlib/schemas/message.py +0 -0
- {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/clipcloudlib/schemas/room.py +0 -0
- {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/clipcloudlib/schemas/session.py +0 -0
- {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/clipcloudlib.egg-info/dependency_links.txt +0 -0
- {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/clipcloudlib.egg-info/requires.txt +0 -0
- {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/clipcloudlib.egg-info/top_level.txt +0 -0
- {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/setup.cfg +0 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
from enum import StrEnum
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class EventTypeEnum(StrEnum):
|
|
5
|
+
DELETE_MESSAGE = "delete_message"
|
|
6
|
+
MESSAGE = "message"
|
|
7
|
+
PAIRING = "pairing"
|
|
8
|
+
QUIT_ROOM = "quit_room"
|
|
9
|
+
USER_JOIN_THE_ROOM = "user_join_the_room"
|
|
10
|
+
CHANGE_ROOM_CODE = "change_room_code"
|
|
11
|
+
USER_TYPING = "user_typing"
|
|
12
|
+
PROMO = "promo"
|
|
13
|
+
SET_USERNAME = "set_username"
|
|
14
|
+
CHANGE_MESSAGE = "change_message"
|
|
15
|
+
|
|
16
|
+
class EventTargetEnum(StrEnum):
|
|
17
|
+
ROOM = "room"
|
|
18
|
+
ROOM_EXCEPT = "room_except"
|
|
19
|
+
USER = "user"
|
|
20
|
+
ALL = "all"
|
|
File without changes
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
from uuid import UUID
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
from clipcloudlib.required import Required
|
|
4
|
+
from clipcloudlib.exceptions import MissingAttributeError
|
|
5
|
+
from clipcloudlib.models.redis.base import BaseModel
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
@dataclass
|
|
9
|
+
class Session(BaseModel):
|
|
10
|
+
username: str
|
|
11
|
+
room_uuid: UUID | None = None
|
|
12
|
+
telegram_user_id: int | None = None
|
|
13
|
+
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
from uuid import UUID
|
|
2
|
+
|
|
3
|
+
from pydantic import BaseModel
|
|
4
|
+
from clipcloudlib.enums import EventTypeEnum
|
|
5
|
+
from typing import Annotated, Union
|
|
6
|
+
from pydantic import Field, RootModel
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
from enum import StrEnum
|
|
10
|
+
from typing import Literal
|
|
11
|
+
from pydantic import BaseModel
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class DeleteMessageEvent(BaseModel):
|
|
16
|
+
type: Literal[EventTypeEnum.DELETE_MESSAGE] = EventTypeEnum.DELETE_MESSAGE
|
|
17
|
+
payload: dict
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class ChangeMessageEvent(BaseModel):
|
|
21
|
+
type: Literal[EventTypeEnum.CHANGE_MESSAGE] = EventTypeEnum.CHANGE_MESSAGE
|
|
22
|
+
payload: dict
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class SetUsernameEvent(BaseModel):
|
|
26
|
+
type: Literal[EventTypeEnum.SET_USERNAME] = EventTypeEnum.SET_USERNAME
|
|
27
|
+
payload: dict
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class PromoEvent(BaseModel):
|
|
31
|
+
type: Literal[EventTypeEnum.PROMO] = EventTypeEnum.PROMO
|
|
32
|
+
payload: dict
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class QuitRoomEvent(BaseModel):
|
|
36
|
+
type: Literal[EventTypeEnum.QUIT_ROOM] = EventTypeEnum.QUIT_ROOM
|
|
37
|
+
payload: dict
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
class JoinRoomEvent(BaseModel):
|
|
41
|
+
type: Literal[EventTypeEnum.USER_JOIN_THE_ROOM] = EventTypeEnum.USER_JOIN_THE_ROOM
|
|
42
|
+
payload: dict
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class PairingEvent(BaseModel):
|
|
46
|
+
type: Literal[EventTypeEnum.PAIRING] = EventTypeEnum.PAIRING
|
|
47
|
+
payload: dict
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
class MessageEvent(BaseModel):
|
|
51
|
+
type: Literal[EventTypeEnum.MESSAGE] = EventTypeEnum.MESSAGE
|
|
52
|
+
payload: dict
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
class ChangeRoomCodeEvent(BaseModel):
|
|
56
|
+
type: Literal[EventTypeEnum.CHANGE_ROOM_CODE] = EventTypeEnum.CHANGE_ROOM_CODE
|
|
57
|
+
payload: dict
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
class UserTypingEvent(BaseModel):
|
|
61
|
+
type: Literal[EventTypeEnum.USER_TYPING] = EventTypeEnum.USER_TYPING
|
|
62
|
+
payload: dict
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
EventUnion = Annotated[
|
|
67
|
+
Union[
|
|
68
|
+
DeleteMessageEvent,
|
|
69
|
+
ChangeMessageEvent,
|
|
70
|
+
SetUsernameEvent,
|
|
71
|
+
PromoEvent,
|
|
72
|
+
QuitRoomEvent,
|
|
73
|
+
JoinRoomEvent,
|
|
74
|
+
PairingEvent,
|
|
75
|
+
MessageEvent,
|
|
76
|
+
ChangeRoomCodeEvent,
|
|
77
|
+
UserTypingEvent,
|
|
78
|
+
],
|
|
79
|
+
Field(discriminator="type"),
|
|
80
|
+
]
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
class EventSchema(RootModel[EventUnion]): ...
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
README.md
|
|
2
2
|
pyproject.toml
|
|
3
|
+
clipcloudlib/__init__.py
|
|
4
|
+
clipcloudlib/enums.py
|
|
3
5
|
clipcloudlib/exceptions.py
|
|
4
6
|
clipcloudlib/required.py
|
|
5
7
|
clipcloudlib.egg-info/PKG-INFO
|
|
@@ -16,6 +18,7 @@ clipcloudlib/models/redis/base.py
|
|
|
16
18
|
clipcloudlib/models/redis/room.py
|
|
17
19
|
clipcloudlib/models/redis/session.py
|
|
18
20
|
clipcloudlib/schemas/__init__.py
|
|
21
|
+
clipcloudlib/schemas/events.py
|
|
19
22
|
clipcloudlib/schemas/file.py
|
|
20
23
|
clipcloudlib/schemas/message.py
|
|
21
24
|
clipcloudlib/schemas/room.py
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
from typing import Annotated, Optional
|
|
2
|
-
from uuid import UUID
|
|
3
|
-
from dataclasses import dataclass
|
|
4
|
-
from clipcloudlib.required import Required
|
|
5
|
-
from clipcloudlib.exceptions import MissingAttributeError
|
|
6
|
-
from clipcloudlib.models.redis.base import BaseModel
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
@dataclass
|
|
10
|
-
class Session(BaseModel):
|
|
11
|
-
username: str
|
|
12
|
-
_room_uuid: UUID | None = None
|
|
13
|
-
_telegram_user_id: int | None = None
|
|
14
|
-
|
|
15
|
-
@property
|
|
16
|
-
def room_uuid(self) -> UUID:
|
|
17
|
-
if self._room_uuid is None:
|
|
18
|
-
raise MissingAttributeError(
|
|
19
|
-
"The user has not joined the room"
|
|
20
|
-
)
|
|
21
|
-
return self._room_uuid
|
|
22
|
-
|
|
23
|
-
@room_uuid.setter
|
|
24
|
-
def room_uuid(self, value: UUID | None) -> None:
|
|
25
|
-
self._room_uuid = value
|
|
26
|
-
|
|
27
|
-
@property
|
|
28
|
-
def telegram_user_id(self) -> int:
|
|
29
|
-
if self._telegram_user_id is None:
|
|
30
|
-
raise MissingAttributeError("The user does not have telegram_user_id")
|
|
31
|
-
return self._telegram_user_id
|
|
32
|
-
|
|
33
|
-
@telegram_user_id.setter
|
|
34
|
-
def telegram_user_id(self, value: int | None=None) -> None:
|
|
35
|
-
self._telegram_user_id = value
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|