Files
Eden Kirin 7b16c2f606 Done
2023-08-27 13:35:29 +02:00

37 lines
920 B
Python

from typing import Annotated
from litestar.contrib.sqlalchemy.base import BigIntBase
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 Company(BigIntBase):
__tablename__ = "vending_companies" # type: ignore[assignment]
caption: Mapped[str]
address: Mapped[str]
city: Mapped[str]
phone: Mapped[str]
enabled: Mapped[str]
country_code: Mapped[str]
external_id: Mapped[str]
alive: Mapped[bool]
class Repository(FilterRepository[Company]):
model_type = Company
alive_flag = "alive"
class Service(service.Service[Company]):
repository_type = Repository
write_config = DTOConfig(exclude={"id"})
CompanyWriteDTO = SQLAlchemyDTO[Annotated[Company, write_config]]
CompanyReadDTO = SQLAlchemyDTO[Company]