alchemy functions updated
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -4,16 +4,6 @@ from decimal import Decimal
|
||||
from typing import List
|
||||
from fastapi import HTTPException, status
|
||||
|
||||
from databases.sql_models.core_mixin import CrudCollection
|
||||
from databases import (
|
||||
Build,
|
||||
BuildLivingSpace,
|
||||
BuildIbans,
|
||||
People,
|
||||
Companies,
|
||||
OccupantTypes,
|
||||
Services,
|
||||
)
|
||||
from api_library.date_time_actions.date_functions import system_arrow, client_arrow
|
||||
|
||||
from sqlalchemy import (
|
||||
@@ -35,6 +25,8 @@ from api_validations.validations_request import (
|
||||
InsertBuildDecisionBookItemDebits,
|
||||
InsertBuildDecisionBookProjects,
|
||||
)
|
||||
from databases.sql_models.core_mixin import CrudCollection
|
||||
|
||||
|
||||
|
||||
class BuildDecisionBook(CrudCollection):
|
||||
@@ -104,6 +96,9 @@ class BuildDecisionBook(CrudCollection):
|
||||
|
||||
@classmethod
|
||||
def retrieve_active_rbm(cls):
|
||||
from databases import (
|
||||
Build,
|
||||
)
|
||||
related_build = Build.find_one(id=cls.build_id)
|
||||
related_date = system_arrow.get(related_build.build_date)
|
||||
date_processed = related_date.replace(
|
||||
@@ -131,7 +126,10 @@ class BuildDecisionBook(CrudCollection):
|
||||
|
||||
@classmethod
|
||||
def select_action(cls, duty_id, token=None):
|
||||
|
||||
from databases import (
|
||||
Build,
|
||||
Companies,
|
||||
)
|
||||
related_companies = Companies.select_action(duty_id_list=[int(duty_id)])
|
||||
related_companies_ids = list(
|
||||
related_.id for related_ in related_companies.all()
|
||||
@@ -145,7 +143,10 @@ class BuildDecisionBook(CrudCollection):
|
||||
|
||||
@classmethod
|
||||
def create_action(cls, data: InsertDecisionBook, token=None):
|
||||
|
||||
from databases import (
|
||||
Build,
|
||||
Companies,
|
||||
)
|
||||
data_dict = data.model_dump()
|
||||
if building := Build.find_one(uu_id=data.build_uu_id):
|
||||
data_dict["build_id"] = building.id
|
||||
@@ -213,6 +214,9 @@ class BuildDecisionBook(CrudCollection):
|
||||
|
||||
@classmethod
|
||||
def retrieve_valid_book(cls, bank_date, iban):
|
||||
from databases import (
|
||||
BuildIbans,
|
||||
)
|
||||
if all(
|
||||
[True if letter in str(bank_date) else False for letter in ["-", " ", ":"]]
|
||||
):
|
||||
@@ -401,6 +405,11 @@ class BuildDecisionBookPerson(CrudCollection):
|
||||
return BuildDecisionBookPersonOccupants.filter_active(filter_records=False)
|
||||
|
||||
def add_occupant_type(self, occupant_type, build_living_space_id: int = None):
|
||||
from databases import (
|
||||
Build,
|
||||
BuildLivingSpace,
|
||||
Services,
|
||||
)
|
||||
from api_events.events.events.events_bind_services import (
|
||||
ServiceBindOccupantEventMethods,
|
||||
)
|
||||
@@ -593,7 +602,10 @@ class BuildDecisionBookItems(CrudCollection):
|
||||
|
||||
@classmethod
|
||||
def select_action(cls, duty_id, token=None):
|
||||
|
||||
from databases import (
|
||||
Build,
|
||||
Companies,
|
||||
)
|
||||
related_companies = Companies.select_action(duty_id=duty_id)
|
||||
related_companies_ids = list(
|
||||
related_.id for related_ in related_companies.all()
|
||||
@@ -635,7 +647,10 @@ class BuildDecisionBookItems(CrudCollection):
|
||||
|
||||
@classmethod
|
||||
def check_meeting_is_valid_to_start_add_attendance(cls, decision_book, token_dict):
|
||||
|
||||
from databases import (
|
||||
People,
|
||||
OccupantTypes,
|
||||
)
|
||||
active_invite = (
|
||||
BuildDecisionBookInvitations.check_invites_are_ready_for_meeting(
|
||||
selected_decision_book=decision_book,
|
||||
@@ -1040,7 +1055,10 @@ class BuildDecisionBookProjects(CrudCollection):
|
||||
|
||||
@classmethod
|
||||
def select_action(cls, duty_id, token=None):
|
||||
|
||||
from databases import (
|
||||
Build,
|
||||
Companies,
|
||||
)
|
||||
related_companies = Companies.select_action(duty_id_list=[duty_id])
|
||||
related_companies_ids = list(
|
||||
related_.id for related_ in related_companies.all()
|
||||
@@ -1073,11 +1091,15 @@ class BuildDecisionBookProjects(CrudCollection):
|
||||
|
||||
@classmethod
|
||||
def create_action(cls, data: InsertBuildDecisionBookProjects, token=None):
|
||||
from databases import (
|
||||
People,
|
||||
Companies,
|
||||
)
|
||||
data_dict = data.dump()
|
||||
BuildDecisionBookItems.pre_query = BuildDecisionBookItems.select_action(
|
||||
duty_id=token.duty_list["duty_id"]
|
||||
)
|
||||
People.pre_query = People.select_action(duty_id=token.duty_list["duty_id"])
|
||||
People.pre_query = People.select_action(duty_id_list=[token.duty_list["duty_id"]])
|
||||
decision_book_project_item = BuildDecisionBookItems.find_one_or_abort(
|
||||
uu_id=data_dict.get("build_decision_book_item_uu_id")
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user