# from pydantic import BaseModel
# from datetime import datetime


# class UserSubscriptionModel(BaseModel):
#     user_id: str
#     plan_id: str

#     status: str = "ACTIVE"

#     payment_status: str = "SUCCESS"

#     payment_provider: str = "DEMO"

#     start_date: datetime
#     end_date: datetime

#     created_at: datetime = datetime.utcnow()
#     updated_at: datetime = datetime.utcnow()



from datetime import datetime
from pydantic import BaseModel, Field


class UserSubscriptionModel(BaseModel):

    user_id: str

    plan_id: str

    # Snapshot of plan
    # plan_name: str

    # plan_price: float

    # duration_days: int

    status: str = "ACTIVE"

    payment_status: str = "SUCCESS"

    payment_provider: str = "DEMO"

    start_date: datetime

    end_date: datetime

    created_at: datetime = Field(default_factory=datetime.utcnow)

    updated_at: datetime = Field(default_factory=datetime.utcnow)