Files
2023-09-14 19:57:47 +02:00

33 lines
838 B
Python

from datetime import datetime
from typing import Annotated
from litestar.contrib.sqlalchemy.base import UUIDAuditBase
from litestar.contrib.sqlalchemy.dto import SQLAlchemyDTO
from litestar.dto import DTOConfig
from sqlalchemy.orm import Mapped
from app.lib import service
from app.lib.filter_repository import FilterRepository
class City(UUIDAuditBase):
__tablename__ = "cities" # type: ignore[assignment]
name: Mapped[str]
postal_code: Mapped[str]
created_at: Mapped[datetime]
updated_at: Mapped[datetime]
class Repository(FilterRepository[City]):
model_type = City
class Service(service.Service[City]):
repository_type = Repository
write_config = DTOConfig(exclude={"id", "created_at", "updated_at"})
CityWriteDTO = SQLAlchemyDTO[Annotated[City, write_config]]
CityReadDTO = SQLAlchemyDTO[City]