init
This commit is contained in:
17
app/models/notification.py
Normal file
17
app/models/notification.py
Normal 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
|
||||
Reference in New Issue
Block a user