27 lines
929 B
Python

from pydantic import BaseModel, Field
from typing import Optional
from datetime import datetime
import uuid
class ExpenseBase(BaseModel):
title: str = Field(..., description="Expense title")
description: Optional[str] = Field(None, description="Expense description")
amount: float = Field(..., description="Expense amount")
category: Optional[str] = Field(None, description="Expense category")
class ExpenseCreate(ExpenseBase):
pass
class ExpenseUpdate(ExpenseBase):
title: Optional[str] = Field(None, description="Expense title")
description: Optional[str] = Field(None, description="Expense description")
amount: Optional[float] = Field(None, description="Expense amount")
category: Optional[str] = Field(None, description="Expense category")
class ExpenseSchema(ExpenseBase):
id: uuid.UUID
created_at: datetime
updated_at: datetime
class Config:
orm_mode = True