artemis-model 0.1.111__tar.gz → 0.1.113__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 (32) hide show
  1. {artemis_model-0.1.111 → artemis_model-0.1.113}/PKG-INFO +1 -1
  2. {artemis_model-0.1.111 → artemis_model-0.1.113}/artemis_model/__init__.py +1 -0
  3. {artemis_model-0.1.111 → artemis_model-0.1.113}/artemis_model/sqs/messages.py +1 -0
  4. artemis_model-0.1.113/artemis_model/zone_activity.py +29 -0
  5. {artemis_model-0.1.111 → artemis_model-0.1.113}/pyproject.toml +1 -1
  6. {artemis_model-0.1.111 → artemis_model-0.1.113}/README.md +0 -0
  7. {artemis_model-0.1.111 → artemis_model-0.1.113}/artemis_model/album.py +0 -0
  8. {artemis_model-0.1.111 → artemis_model-0.1.113}/artemis_model/artist.py +0 -0
  9. {artemis_model-0.1.111 → artemis_model-0.1.113}/artemis_model/auth.py +0 -0
  10. {artemis_model-0.1.111 → artemis_model-0.1.113}/artemis_model/banned_tracks.py +0 -0
  11. {artemis_model-0.1.111 → artemis_model-0.1.113}/artemis_model/base.py +0 -0
  12. {artemis_model-0.1.111 → artemis_model-0.1.113}/artemis_model/category.py +0 -0
  13. {artemis_model-0.1.111 → artemis_model-0.1.113}/artemis_model/dj_set.py +0 -0
  14. {artemis_model-0.1.111 → artemis_model-0.1.113}/artemis_model/genre.py +0 -0
  15. {artemis_model-0.1.111 → artemis_model-0.1.113}/artemis_model/location.py +0 -0
  16. {artemis_model-0.1.111 → artemis_model-0.1.113}/artemis_model/message.py +0 -0
  17. {artemis_model-0.1.111 → artemis_model-0.1.113}/artemis_model/organization.py +0 -0
  18. {artemis_model-0.1.111 → artemis_model-0.1.113}/artemis_model/otp.py +0 -0
  19. {artemis_model-0.1.111 → artemis_model-0.1.113}/artemis_model/permission.py +0 -0
  20. {artemis_model-0.1.111 → artemis_model-0.1.113}/artemis_model/playlist.py +0 -0
  21. {artemis_model-0.1.111 → artemis_model-0.1.113}/artemis_model/redis/__init__.py +0 -0
  22. {artemis_model-0.1.111 → artemis_model-0.1.113}/artemis_model/redis/bucket.py +0 -0
  23. {artemis_model-0.1.111 → artemis_model-0.1.113}/artemis_model/redis/device.py +0 -0
  24. {artemis_model-0.1.111 → artemis_model-0.1.113}/artemis_model/redis/keys.py +0 -0
  25. {artemis_model-0.1.111 → artemis_model-0.1.113}/artemis_model/redis/play_history.py +0 -0
  26. {artemis_model-0.1.111 → artemis_model-0.1.113}/artemis_model/redis/zone_state.py +0 -0
  27. {artemis_model-0.1.111 → artemis_model-0.1.113}/artemis_model/schedule.py +0 -0
  28. {artemis_model-0.1.111 → artemis_model-0.1.113}/artemis_model/setting.py +0 -0
  29. {artemis_model-0.1.111 → artemis_model-0.1.113}/artemis_model/sqs/__init__.py +0 -0
  30. {artemis_model-0.1.111 → artemis_model-0.1.113}/artemis_model/track.py +0 -0
  31. {artemis_model-0.1.111 → artemis_model-0.1.113}/artemis_model/user.py +0 -0
  32. {artemis_model-0.1.111 → artemis_model-0.1.113}/artemis_model/zone.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: artemis-model
3
- Version: 0.1.111
3
+ Version: 0.1.113
4
4
  Summary:
5
5
  Author: Jukeboxy
6
6
  Requires-Python: >=3.10.6,<4.0.0
@@ -15,3 +15,4 @@ from artemis_model.user import * # noqa
15
15
  from artemis_model.zone import * # noqa
16
16
  from artemis_model.otp import * # noqa
17
17
  from artemis_model.banned_tracks import * # noqa
18
+ from artemis_model.zone_activity import * # noqa
@@ -100,3 +100,4 @@ class BanTrackIn(BaseMessage):
100
100
  action: Action = Action.BAN_TRACK
101
101
  zone_id: int
102
102
  track_id: UUID
103
+ playlist_id: int
@@ -0,0 +1,29 @@
1
+ """Zone Activity Model"""
2
+
3
+ from sqlalchemy import Integer, String, JSON, Index
4
+ from sqlalchemy.orm import Mapped, mapped_column
5
+ from artemis_model.base import AuditMixin, TimeStampMixin, CustomSyncBase, CustomBase
6
+
7
+
8
+ class PlayerActivityMixin(TimeStampMixin, AuditMixin):
9
+ """User activity log, sorted by created_at DESC for retrieval"""
10
+
11
+ id: Mapped[int] = mapped_column(Integer, primary_key=True, autoincrement=True)
12
+ player_id: Mapped[int] = mapped_column(Integer, nullable=False)
13
+ activity_type: Mapped[str] = mapped_column(String, nullable=False)
14
+ activity_data: Mapped[dict] = mapped_column(JSON, nullable=True)
15
+
16
+ __table_args__ = (
17
+ Index("idx_player_activity_player_created", "player_id", "created_at".desc()),
18
+ Index("idx_player_activity_created", "created_at".desc()),
19
+ )
20
+
21
+
22
+ class PlayerActivitySync(CustomSyncBase, PlayerActivityMixin):
23
+ """Sync model for Player Activity"""
24
+ pass
25
+
26
+
27
+ class PlayerActivity(CustomBase, PlayerActivityMixin):
28
+ """Base model for Player Activity"""
29
+ pass
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "artemis-model"
3
- version = "0.1.111"
3
+ version = "0.1.113"
4
4
  description = ""
5
5
  authors = ["Jukeboxy"]
6
6
  readme = "README.md"