todo_chatbot / src /models /push_subscription.py
Awais68
Deploy FastAPI backend with MCP and OpenAI agents
cccf200
Raw
History Blame Contribute Delete
1.06 kB
"""
PushSubscription model for web push notifications.
"""
from typing import Optional
from datetime import datetime
from sqlmodel import SQLModel, Field
class PushSubscription(SQLModel, table=True):
"""Entity for storing web push notification subscriptions."""
__tablename__ = "push_subscriptions"
id: Optional[int] = Field(default=None, primary_key=True)
user_id: int = Field(foreign_key="users.id", index=True)
endpoint: str = Field(max_length=500, unique=True)
p256dh: str = Field(max_length=200) # Public key
auth: str = Field(max_length=200) # Auth secret
created_at: datetime = Field(default_factory=datetime.utcnow)
updated_at: datetime = Field(default_factory=datetime.utcnow)
class PushSubscriptionCreate(SQLModel):
"""Schema for creating a push subscription."""
endpoint: str = Field(max_length=500)
keys: dict # Contains p256dh and auth
class PushSubscriptionResponse(SQLModel):
"""Schema for push subscription response."""
id: int
endpoint: str
created_at: datetime