diff options
Diffstat (limited to 'app/schemas.py')
| -rw-r--r-- | app/schemas.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/app/schemas.py b/app/schemas.py new file mode 100644 index 0000000..e40b0d3 --- /dev/null +++ b/app/schemas.py @@ -0,0 +1,31 @@ +from pydantic import BaseModel, Field + + +class DeviceRegisterIn(BaseModel): + user_id: str + apns_token: str = Field(min_length=16) + apns_env: str + bundle_id: str + platform: str = "ios" + app_version: str | None = None + device_name: str | None = None + + +class DeviceOut(BaseModel): + id: int + user_id: str + bundle_id: str + apns_env: str + is_enabled: bool + + +class SubscriptionIn(BaseModel): + source_type: str + source_id: str + event_type: str + is_enabled: bool = True + + +class SubscriptionUpsertIn(BaseModel): + device_id: int + subscriptions: list[SubscriptionIn] |
