32 lines
628 B
Python
32 lines
628 B
Python
from datetime import datetime
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class MembershipPlanOut(BaseModel):
|
|
id: int
|
|
name: str
|
|
description: str | None = None
|
|
duration_days: int
|
|
price: float
|
|
benefits: str | None = None
|
|
extra_uploads: int = 0
|
|
extra_top_count: int = 0
|
|
sort_order: int = 0
|
|
|
|
model_config = {"from_attributes": True}
|
|
|
|
|
|
class UserMembershipOut(BaseModel):
|
|
id: int
|
|
plan: MembershipPlanOut | None = None
|
|
start_date: datetime
|
|
end_date: datetime
|
|
is_active: bool = True
|
|
|
|
model_config = {"from_attributes": True}
|
|
|
|
|
|
class PurchaseMembership(BaseModel):
|
|
plan_id: int
|