feat: add household Pydantic schemas
This commit is contained in:
parent
e605954254
commit
2db4de6d8f
1 changed files with 44 additions and 0 deletions
44
app/models/schemas/household.py
Normal file
44
app/models/schemas/household.py
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
"""Pydantic schemas for household management endpoints."""
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from typing import Optional
|
||||||
|
from pydantic import BaseModel
|
||||||
|
|
||||||
|
|
||||||
|
class HouseholdCreateResponse(BaseModel):
|
||||||
|
household_id: str
|
||||||
|
message: str
|
||||||
|
|
||||||
|
|
||||||
|
class HouseholdMember(BaseModel):
|
||||||
|
user_id: str
|
||||||
|
joined_at: str
|
||||||
|
is_owner: bool
|
||||||
|
|
||||||
|
|
||||||
|
class HouseholdStatusResponse(BaseModel):
|
||||||
|
in_household: bool
|
||||||
|
household_id: Optional[str] = None
|
||||||
|
is_owner: bool = False
|
||||||
|
members: list[HouseholdMember] = []
|
||||||
|
max_seats: int = 4
|
||||||
|
|
||||||
|
|
||||||
|
class HouseholdInviteResponse(BaseModel):
|
||||||
|
invite_url: str
|
||||||
|
token: str
|
||||||
|
expires_at: str
|
||||||
|
|
||||||
|
|
||||||
|
class HouseholdAcceptRequest(BaseModel):
|
||||||
|
household_id: str
|
||||||
|
token: str
|
||||||
|
|
||||||
|
|
||||||
|
class HouseholdAcceptResponse(BaseModel):
|
||||||
|
message: str
|
||||||
|
household_id: str
|
||||||
|
|
||||||
|
|
||||||
|
class HouseholdRemoveMemberRequest(BaseModel):
|
||||||
|
user_id: str
|
||||||
Loading…
Reference in a new issue