clipcloudlib 0.4.3__tar.gz → 0.4.5__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.3 → clipcloudlib-0.4.5}/PKG-INFO +1 -1
  2. {clipcloudlib-0.4.3 → clipcloudlib-0.4.5}/clipcloudlib/enums.py +1 -0
  3. {clipcloudlib-0.4.3 → clipcloudlib-0.4.5}/clipcloudlib/mappers/session.py +5 -3
  4. clipcloudlib-0.4.5/clipcloudlib/models/redis/session.py +25 -0
  5. {clipcloudlib-0.4.3 → clipcloudlib-0.4.5}/clipcloudlib/schemas/events.py +6 -9
  6. {clipcloudlib-0.4.3 → clipcloudlib-0.4.5}/clipcloudlib/schemas/message.py +1 -0
  7. {clipcloudlib-0.4.3 → clipcloudlib-0.4.5}/clipcloudlib.egg-info/PKG-INFO +1 -1
  8. {clipcloudlib-0.4.3 → clipcloudlib-0.4.5}/pyproject.toml +1 -1
  9. clipcloudlib-0.4.3/clipcloudlib/models/redis/session.py +0 -13
  10. {clipcloudlib-0.4.3 → clipcloudlib-0.4.5}/README.md +0 -0
  11. {clipcloudlib-0.4.3 → clipcloudlib-0.4.5}/clipcloudlib/__init__.py +0 -0
  12. {clipcloudlib-0.4.3 → clipcloudlib-0.4.5}/clipcloudlib/exceptions.py +0 -0
  13. {clipcloudlib-0.4.3 → clipcloudlib-0.4.5}/clipcloudlib/mappers/__init__.py +0 -0
  14. {clipcloudlib-0.4.3 → clipcloudlib-0.4.5}/clipcloudlib/mappers/base.py +0 -0
  15. {clipcloudlib-0.4.3 → clipcloudlib-0.4.5}/clipcloudlib/mappers/room.py +0 -0
  16. {clipcloudlib-0.4.3 → clipcloudlib-0.4.5}/clipcloudlib/models/redis/__init__.py +0 -0
  17. {clipcloudlib-0.4.3 → clipcloudlib-0.4.5}/clipcloudlib/models/redis/base.py +0 -0
  18. {clipcloudlib-0.4.3 → clipcloudlib-0.4.5}/clipcloudlib/models/redis/room.py +0 -0
  19. {clipcloudlib-0.4.3 → clipcloudlib-0.4.5}/clipcloudlib/required.py +0 -0
  20. {clipcloudlib-0.4.3 → clipcloudlib-0.4.5}/clipcloudlib/schemas/__init__.py +0 -0
  21. {clipcloudlib-0.4.3 → clipcloudlib-0.4.5}/clipcloudlib/schemas/file.py +0 -0
  22. {clipcloudlib-0.4.3 → clipcloudlib-0.4.5}/clipcloudlib/schemas/room.py +0 -0
  23. {clipcloudlib-0.4.3 → clipcloudlib-0.4.5}/clipcloudlib/schemas/session.py +0 -0
  24. {clipcloudlib-0.4.3 → clipcloudlib-0.4.5}/clipcloudlib.egg-info/SOURCES.txt +0 -0
  25. {clipcloudlib-0.4.3 → clipcloudlib-0.4.5}/clipcloudlib.egg-info/dependency_links.txt +0 -0
  26. {clipcloudlib-0.4.3 → clipcloudlib-0.4.5}/clipcloudlib.egg-info/requires.txt +0 -0
  27. {clipcloudlib-0.4.3 → clipcloudlib-0.4.5}/clipcloudlib.egg-info/top_level.txt +0 -0
  28. {clipcloudlib-0.4.3 → clipcloudlib-0.4.5}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clipcloudlib
3
- Version: 0.4.3
3
+ Version: 0.4.5
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
@@ -2,6 +2,7 @@ from enum import StrEnum
2
2
 
3
3
 
4
4
  class EventTypeEnum(StrEnum):
5
+ TOGGLE_ROOM_ACCESS = "toggle_room_access"
5
6
  DELETE_MESSAGE = "delete_message"
6
7
  MESSAGE = "message"
7
8
  PAIRING = "pairing"
@@ -10,15 +10,17 @@ class SessionMapper(BaseMapper[Session]):
10
10
  "username": obj.username,
11
11
  "telegram_user_id": obj.telegram_user_id,
12
12
  "room_uuid": self.dump_uuid(obj.room_uuid),
13
+ # "last_active": self.dump_datetime(obj.last_active),
13
14
  "created_at": self.dump_datetime(obj.created_at),
14
15
  }
15
-
16
+
16
17
  def to_obj(self, data: dict) -> Session:
17
18
  return Session(
18
19
  id=self.get_uuid(data, "id"),
19
20
  username=self.get(data, "username"),
20
- _room_uuid=self.get_uuid_or_none(data, "room_uuid"),
21
- _telegram_user_id=self.get(data, "telegram_user_id"),
21
+ room_uuid=self.get_uuid_or_none(data, "room_uuid"),
22
+ telegram_user_id=self.get_or_none(data, "telegram_user_id"),
23
+ # last_active=self.get_datetime(data, "last_active"),
22
24
  created_at=self.get_datetime(data, "created_at")
23
25
  )
24
26
 
@@ -0,0 +1,25 @@
1
+ from uuid import UUID
2
+ from dataclasses import dataclass
3
+ from clipcloudlib.models.redis.base import BaseModel
4
+
5
+
6
+ @dataclass
7
+ class Session(BaseModel):
8
+ username: str
9
+ room_uuid: UUID | None = None
10
+ telegram_user_id: str | None = None
11
+
12
+
13
+ # @dataclass
14
+ # class WebsocketSession:
15
+ # id: UUID
16
+ # last_active: datetime
17
+
18
+ # @classmethod
19
+ # def model_name(cls) -> str:
20
+ # return cls.__name__.lower()
21
+
22
+
23
+
24
+
25
+
@@ -1,15 +1,11 @@
1
- from uuid import UUID
2
-
3
- from pydantic import BaseModel
1
+ from typing import Annotated, Union, Literal
2
+ from pydantic import Field, RootModel, BaseModel
4
3
  from clipcloudlib.enums import EventTypeEnum
5
- from typing import Annotated, Union
6
- from pydantic import Field, RootModel
7
-
8
4
 
9
- from enum import StrEnum
10
- from typing import Literal
11
- from pydantic import BaseModel
12
5
 
6
+ class ToggleRoomAccessStatusEvent(BaseModel):
7
+ type: Literal[EventTypeEnum.TOGGLE_ROOM_ACCESS] = EventTypeEnum.TOGGLE_ROOM_ACCESS
8
+ payload: dict
13
9
 
14
10
 
15
11
  class DeleteMessageEvent(BaseModel):
@@ -65,6 +61,7 @@ class UserTypingEvent(BaseModel):
65
61
 
66
62
  EventUnion = Annotated[
67
63
  Union[
64
+ ToggleRoomAccessStatusEvent,
68
65
  DeleteMessageEvent,
69
66
  ChangeMessageEvent,
70
67
  SetUsernameEvent,
@@ -15,6 +15,7 @@ class MessageSchema(BaseModel):
15
15
  session_id: UUID
16
16
  file: FileSchema | None = None
17
17
 
18
+
18
19
  model_config = ConfigDict(from_attributes=True)
19
20
 
20
21
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clipcloudlib
3
- Version: 0.4.3
3
+ Version: 0.4.5
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,6 +1,6 @@
1
1
  [project]
2
2
  name = "clipcloudlib"
3
- version = "0.4.3"
3
+ version = "0.4.5"
4
4
  description = "Add your description here"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -1,13 +0,0 @@
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
-
File without changes
File without changes