Files
finance_app/backend/app/schemas/category.py

31 lines
816 B
Python

from datetime import datetime
from pydantic import BaseModel, Field
class CategoryCreate(BaseModel):
name: str = Field(..., max_length=200)
type: str = Field(..., pattern="^(income|expense|transfer)$")
parent_id: int | None = None
icon: str | None = None
color: str | None = Field(None, pattern=r"^#[0-9A-Fa-f]{6}$")
class CategoryUpdate(BaseModel):
name: str | None = Field(None, max_length=200)
parent_id: int | None = None
icon: str | None = None
color: str | None = Field(None, pattern=r"^#[0-9A-Fa-f]{6}$")
class CategoryOut(BaseModel):
id: int
user_id: int | None = None
name: str
type: str
parent_id: int | None = None
icon: str | None = None
color: str | None = None
created_at: datetime
model_config = {"from_attributes": True}