alchemy functions updated

This commit is contained in:
2024-11-10 14:13:38 +03:00
parent a28d4c22d1
commit aeda315119
12 changed files with 305 additions and 279 deletions

View File

@@ -19,9 +19,8 @@ from sqlalchemy import (
)
from databases.sql_models.core_mixin import CrudCollection
from databases import ApiEnumDropdown
from databases.extensions.selector_classes import SelectActionWithEmployee, Explanation
from databases.extensions.selector_classes import SelectActionWithEmployee
from api_validations.validations_request import (
InsertBuildParts,
InsertBuild,
@@ -29,84 +28,84 @@ from api_validations.validations_request import (
)
from api_objects.auth.token_objects import EmployeeTokenObject, OccupantTokenObject
class AbstractBuild:
"""
Abstract and explanation of Build class for end-user guide
"""
gov_address_code = Explanation(
explanation="Devletin resmi adres kodudur.",
usage="Devletin resmi adres kodu istendiğinde kullanılır.",
alias="Devlet Adres Kodu",
example=["1234567890"],
)
build_name = Explanation(
explanation="Bina adıdır.",
usage="Bina adı istendiğinde kullanılır.",
alias="Bina Adı",
example=["X Binası", "Y Binası"],
)
build_no = Explanation(
explanation="Bina numarasıdır.",
usage="Bina numarası istendiğinde kullanılır.",
alias="Bina No",
example=["1234567890"],
)
build_types = Explanation(
explanation="Bina türüdür.",
usage="Bina türü istendiğinde kullanılır.",
alias="Bina Türü",
example=["Ofis", "Konut", "Depo"],
)
max_floor = Explanation(
explanation="Bina kat sayısıdır.",
usage="Bina kat sayısı istendiğinde kullanılır.",
alias="Kat Sayısı",
example=["1", "2", "3"],
)
underground_floor = Explanation(
explanation="Bina bodrum kat sayısıdır.",
usage="Bina bodrum kat sayısı istendiğinde kullanılır.",
alias="Bodrum Kat Sayısı",
example=["1", "2", "3"],
)
build_date = Explanation(
explanation="Bina yapım tarihidir.",
usage="Bina yapım tarihi istendiğinde kullanılır.",
alias="Yapım Tarihi",
example=["2021-01-01"],
)
tax_no = Explanation(
explanation="Bina vergi numarasıdır.",
usage="Bina vergi numarası istendiğinde kullanılır.",
alias="Vergi No",
example=["1234567890"],
)
lift_count = Explanation(
explanation="Bina asansör sayısıdır.",
usage="Bina asansör sayısı istendiğinde kullanılır.",
alias="Asansör Sayısı",
example=["1", "2", "3"],
)
heating_system = Explanation(
explanation="Bina ısıtma sistemi var mı?",
usage="Bina ısıtma sistemi var mı istendiğinde kullanılır.",
alias="Isıtma Sistemi",
example=[True, False],
)
cooling_system = Explanation(
explanation="Bina soğutma sistemi var mı?",
usage="Bina soğutma sistemi var mı istendiğinde kullanılır.",
alias="Soğutma Sistemi",
example=[True, False],
)
hot_water_system = Explanation(
explanation="Bina sıcak su sistemi var mı?",
usage="Bina sıcak su sistemi var mı istendiğinde kullanılır.",
alias="Sıcak Su Sistemi",
example=[True, False],
)
#
# class AbstractBuild:
# """
# Abstract and explanation of Build class for end-user guide
# """
#
# gov_address_code = Explanation(
# explanation="Devletin resmi adres kodudur.",
# usage="Devletin resmi adres kodu istendiğinde kullanılır.",
# alias="Devlet Adres Kodu",
# example=["1234567890"],
# )
# build_name = Explanation(
# explanation="Bina adıdır.",
# usage="Bina adı istendiğinde kullanılır.",
# alias="Bina Adı",
# example=["X Binası", "Y Binası"],
# )
# build_no = Explanation(
# explanation="Bina numarasıdır.",
# usage="Bina numarası istendiğinde kullanılır.",
# alias="Bina No",
# example=["1234567890"],
# )
# build_types = Explanation(
# explanation="Bina türüdür.",
# usage="Bina türü istendiğinde kullanılır.",
# alias="Bina Türü",
# example=["Ofis", "Konut", "Depo"],
# )
# max_floor = Explanation(
# explanation="Bina kat sayısıdır.",
# usage="Bina kat sayısı istendiğinde kullanılır.",
# alias="Kat Sayısı",
# example=["1", "2", "3"],
# )
# underground_floor = Explanation(
# explanation="Bina bodrum kat sayısıdır.",
# usage="Bina bodrum kat sayısı istendiğinde kullanılır.",
# alias="Bodrum Kat Sayısı",
# example=["1", "2", "3"],
# )
# build_date = Explanation(
# explanation="Bina yapım tarihidir.",
# usage="Bina yapım tarihi istendiğinde kullanılır.",
# alias="Yapım Tarihi",
# example=["2021-01-01"],
# )
# tax_no = Explanation(
# explanation="Bina vergi numarasıdır.",
# usage="Bina vergi numarası istendiğinde kullanılır.",
# alias="Vergi No",
# example=["1234567890"],
# )
# lift_count = Explanation(
# explanation="Bina asansör sayısıdır.",
# usage="Bina asansör sayısı istendiğinde kullanılır.",
# alias="Asansör Sayısı",
# example=["1", "2", "3"],
# )
# heating_system = Explanation(
# explanation="Bina ısıtma sistemi var mı?",
# usage="Bina ısıtma sistemi var mı istendiğinde kullanılır.",
# alias="Isıtma Sistemi",
# example=[True, False],
# )
# cooling_system = Explanation(
# explanation="Bina soğutma sistemi var mı?",
# usage="Bina soğutma sistemi var mı istendiğinde kullanılır.",
# alias="Soğutma Sistemi",
# example=[True, False],
# )
# hot_water_system = Explanation(
# explanation="Bina sıcak su sistemi var mı?",
# usage="Bina sıcak su sistemi var mı istendiğinde kullanılır.",
# alias="Sıcak Su Sistemi",
# example=[True, False],
# )
class BuildTypes(CrudCollection):
@@ -210,7 +209,7 @@ class Build(CrudCollection, SelectActionWithEmployee):
__include__fields__ = []
__access_by__ = []
__many__table__ = RelationshipEmployee2Build
__explain__ = AbstractBuild()
# __explain__ = AbstractBuild()
gov_address_code: Mapped[str] = mapped_column(
String, server_default="", unique=True
@@ -478,6 +477,7 @@ class BuildParts(CrudCollection):
@classmethod
def create_action(cls, data: InsertBuildParts, token):
from databases import ApiEnumDropdown
data_dict = data.dump()
build_from_duty = Build.select_action(
employee_id=token.selected_company.employee_id,