first commit

This commit is contained in:
VPN SaaS Dev
2026-05-12 03:52:13 +09:00
commit d93c88c751
44 changed files with 4108 additions and 0 deletions

58
app/schemas/car.py Normal file
View File

@@ -0,0 +1,58 @@
from datetime import date, datetime
from decimal import Decimal
from pydantic import BaseModel, ConfigDict
class CarBase(BaseModel):
name: str
make: str | None = None
model: str | None = None
year: int | None = None
plate_number: str | None = None
vin: str | None = None
fuel_type: str | None = None
purchase_date: date | None = None
purchase_price: Decimal | None = None
current_odometer: int | None = None
class CarCreate(CarBase):
owner_id: int
class CarUpdate(BaseModel):
name: str | None = None
make: str | None = None
model: str | None = None
year: int | None = None
plate_number: str | None = None
vin: str | None = None
fuel_type: str | None = None
purchase_date: date | None = None
purchase_price: Decimal | None = None
current_odometer: int | None = None
class CarRead(CarBase):
id: int
owner_id: int
created_at: datetime
model_config = ConfigDict(from_attributes=True)
class CarModelRead(BaseModel):
id: int
name: str
model_config = ConfigDict(from_attributes=True)
class CarMakeRead(BaseModel):
id: int
name: str
country: str | None = None
models: list[CarModelRead] = []
model_config = ConfigDict(from_attributes=True)