42 lines
1.1 KiB
Python
42 lines
1.1 KiB
Python
from datetime import datetime
|
|
from decimal import Decimal
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
|
class LocationCreate(BaseModel):
|
|
name: str = Field(..., max_length=200)
|
|
type: str | None = Field(None, max_length=50)
|
|
address: str | None = None
|
|
city: str | None = Field(None, max_length=100)
|
|
country: str | None = Field(None, max_length=100)
|
|
latitude: Decimal | None = None
|
|
longitude: Decimal | None = None
|
|
parent_id: int | None = None
|
|
|
|
|
|
class LocationUpdate(BaseModel):
|
|
name: str | None = Field(None, max_length=200)
|
|
type: str | None = None
|
|
address: str | None = None
|
|
city: str | None = None
|
|
country: str | None = None
|
|
latitude: Decimal | None = None
|
|
longitude: Decimal | None = None
|
|
parent_id: int | None = None
|
|
|
|
|
|
class LocationOut(BaseModel):
|
|
id: int
|
|
user_id: int | None = None
|
|
name: str
|
|
type: str | None = None
|
|
address: str | None = None
|
|
city: str | None = None
|
|
country: str | None = None
|
|
latitude: Decimal | None = None
|
|
longitude: Decimal | None = None
|
|
parent_id: int | None = None
|
|
created_at: datetime
|
|
|
|
model_config = {"from_attributes": True}
|