Files
2025-12-13 14:39:50 +03:00

39 lines
825 B
Python

from pydantic import BaseModel, Field
from typing import Optional
from datetime import datetime
class RewardBase(BaseModel):
title: str = Field(..., max_length=255)
description: Optional[str] = None
image_url: Optional[str] = None
points_required: int = Field(default=1, ge=1)
class RewardCreate(RewardBase):
pass
class RewardUpdate(BaseModel):
title: Optional[str] = Field(None, max_length=255)
description: Optional[str] = None
image_url: Optional[str] = None
points_required: Optional[int] = Field(None, ge=1)
is_claimed: Optional[bool] = None
class RewardInDB(RewardBase):
id: str
user_id: str
is_claimed: bool = False
created_at: datetime
updated_at: datetime
class Config:
from_attributes = True
class Reward(RewardInDB):
pass