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.
Files changed (28) hide show
  1. {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/PKG-INFO +1 -1
  2. clipcloudlib-0.4.3/clipcloudlib/enums.py +20 -0
  3. clipcloudlib-0.4.3/clipcloudlib/mappers/__init__.py +0 -0
  4. clipcloudlib-0.4.3/clipcloudlib/models/redis/session.py +13 -0
  5. clipcloudlib-0.4.3/clipcloudlib/schemas/events.py +83 -0
  6. {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/clipcloudlib.egg-info/PKG-INFO +1 -1
  7. {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/clipcloudlib.egg-info/SOURCES.txt +3 -0
  8. {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/pyproject.toml +1 -1
  9. clipcloudlib-0.4.2/clipcloudlib/models/redis/session.py +0 -35
  10. {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/README.md +0 -0
  11. {clipcloudlib-0.4.2/clipcloudlib/mappers → clipcloudlib-0.4.3/clipcloudlib}/__init__.py +0 -0
  12. {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/clipcloudlib/exceptions.py +0 -0
  13. {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/clipcloudlib/mappers/base.py +0 -0
  14. {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/clipcloudlib/mappers/room.py +0 -0
  15. {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/clipcloudlib/mappers/session.py +0 -0
  16. {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/clipcloudlib/models/redis/__init__.py +0 -0
  17. {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/clipcloudlib/models/redis/base.py +0 -0
  18. {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/clipcloudlib/models/redis/room.py +0 -0
  19. {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/clipcloudlib/required.py +0 -0
  20. {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/clipcloudlib/schemas/__init__.py +0 -0
  21. {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/clipcloudlib/schemas/file.py +0 -0
  22. {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/clipcloudlib/schemas/message.py +0 -0
  23. {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/clipcloudlib/schemas/room.py +0 -0
  24. {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/clipcloudlib/schemas/session.py +0 -0
  25. {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/clipcloudlib.egg-info/dependency_links.txt +0 -0
  26. {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/clipcloudlib.egg-info/requires.txt +0 -0
  27. {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/clipcloudlib.egg-info/top_level.txt +0 -0
  28. {clipcloudlib-0.4.2 → clipcloudlib-0.4.3}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clipcloudlib
3
- Version: 0.4.2
3
+ Version: 0.4.3
4
4
  Summary: Add your description here
5
5
  Project-URL: Repository, https://github.com/rorka491/clipcloud-lib.git
6
6
  Requires-Python: >=3.11
@@ -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,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clipcloudlib
3
- Version: 0.4.2
3
+ Version: 0.4.3
4
4
  Summary: Add your description here
5
5
  Project-URL: Repository, https://github.com/rorka491/clipcloud-lib.git
6
6
  Requires-Python: >=3.11
@@ -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,6 +1,6 @@
1
1
  [project]
2
2
  name = "clipcloudlib"
3
- version = "0.4.2"
3
+ version = "0.4.3"
4
4
  description = "Add your description here"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -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