This commit is contained in:
Redsandy
2026-03-14 18:48:57 +03:00
parent 1d1350fc13
commit 3ea4fb4771
40 changed files with 2150 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
import uuid
from datetime import datetime, timezone
from sqlmodel import SQLModel, Field, Column
from sqlalchemy import JSON
class Notification(SQLModel, table=True):
__tablename__ = "notifications"
id: uuid.UUID = Field(default_factory=uuid.uuid4, primary_key=True)
user_id: uuid.UUID = Field(foreign_key="users.id", index=True)
type: str = Field(
max_length=32
) # zone_captured | leaderboard_change | streak_risk | friend_joined | raid_weekend
payload: dict = Field(default_factory=dict, sa_column=Column(JSON))
sent_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc))
read_at: datetime | None = None