backend / app /schema /index.py
praneethys's picture
transactions endpoints and pytests (#6)
81ec8d6 verified
Raw
History Blame
890 Bytes
from enum import Enum
from datetime import datetime
from typing import List, Optional
from app.schema.base import BaseModel, PydanticBaseModel
class TransactionType(str, Enum):
INCOME = "income"
EXPENSE = "expense"
class UserCreate(PydanticBaseModel):
name: str
email: str
hashed_password: str
class UserUpdate(PydanticBaseModel):
name: str
email: str
hashed_password: str
class UserResponse(PydanticBaseModel):
id: int
name: str
email: str
is_deleted: bool
class User(BaseModel):
name: str
email: str
hashed_password: str
is_deleted: bool = False
transactions: "List[Transaction]" = []
class TransactionResponse(PydanticBaseModel):
transaction_date: datetime
category: str
name_description: str
amount: float
type: TransactionType
class Transaction(TransactionResponse):
user: User