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

@@ -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")
)