migrator functions updated

This commit is contained in:
2024-11-11 22:23:07 +03:00
parent f6135ced5f
commit ffb85a62f6
56 changed files with 567 additions and 485 deletions

View File

@@ -478,6 +478,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,

View File

@@ -28,7 +28,6 @@ from api_validations.validations_request import (
from databases.sql_models.core_mixin import CrudCollection
class BuildDecisionBook(CrudCollection):
"""
Builds class based on declarative_base and BaseMixin via session
@@ -99,6 +98,7 @@ class BuildDecisionBook(CrudCollection):
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(
@@ -119,7 +119,7 @@ class BuildDecisionBook(CrudCollection):
build_id=str(related_build.uu_id),
build_name=related_build.build_name,
decision_type="RBM",
)
),
)
return book
return
@@ -130,13 +130,14 @@ class BuildDecisionBook(CrudCollection):
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()
)
related_building = Build.filter_all(
Build.company_id.in_(related_companies_ids)
*Build.valid_record_args(Build),
* Build.valid_record_args(Build),
)
related_building_ids = list(related_.id for related_ in related_building.data)
return cls.filter_all(cls.build_id.in_(related_building_ids)).query
@@ -147,6 +148,7 @@ class BuildDecisionBook(CrudCollection):
Build,
Companies,
)
data_dict = data.model_dump()
if building := Build.find_one(uu_id=data.build_uu_id):
data_dict["build_id"] = building.id
@@ -217,6 +219,7 @@ class BuildDecisionBook(CrudCollection):
from databases import (
BuildIbans,
)
if all(
[True if letter in str(bank_date) else False for letter in ["-", " ", ":"]]
):
@@ -493,7 +496,9 @@ class BuildDecisionBookPerson(CrudCollection):
def get_occupant_types(self):
if occupants := BuildDecisionBookPersonOccupants.filter_all(
BuildDecisionBookPersonOccupants.build_decision_book_person_id == self.id,
*BuildDecisionBookPersonOccupants.valid_record_args(BuildDecisionBookPersonOccupants)
*BuildDecisionBookPersonOccupants.valid_record_args(
BuildDecisionBookPersonOccupants
),
).data:
return occupants
return
@@ -606,6 +611,7 @@ class BuildDecisionBookItems(CrudCollection):
Build,
Companies,
)
related_companies = Companies.select_action(duty_id=duty_id)
related_companies_ids = list(
related_.id for related_ in related_companies.all()
@@ -651,6 +657,7 @@ class BuildDecisionBookItems(CrudCollection):
People,
OccupantTypes,
)
active_invite = (
BuildDecisionBookInvitations.check_invites_are_ready_for_meeting(
selected_decision_book=decision_book,
@@ -1059,18 +1066,18 @@ class BuildDecisionBookProjects(CrudCollection):
Build,
Companies,
)
related_companies = Companies.select_action(duty_id_list=[duty_id])
related_companies_ids = list(
related_.id for related_ in related_companies.all()
)
related_building = Build.filter_all(
Build.company_id.in_(related_companies_ids),
*Build.valid_record_args(Build)
Build.company_id.in_(related_companies_ids), *Build.valid_record_args(Build)
)
related_building_ids = list(related_.id for related_ in related_building.data)
related_decision_books = BuildDecisionBook.filter_all(
BuildDecisionBook.build_id.in_(related_building_ids),
*BuildDecisionBook.valid_record_args(BuildDecisionBook)
*BuildDecisionBook.valid_record_args(BuildDecisionBook),
).data
related_decision_books_ids = list(
related_.id for related_ in related_decision_books
@@ -1079,14 +1086,14 @@ class BuildDecisionBookProjects(CrudCollection):
BuildDecisionBookItems.build_decision_book_id.in_(
related_decision_books_ids
),
*BuildDecisionBookItems.valid_record_args(BuildDecisionBookItems)
*BuildDecisionBookItems.valid_record_args(BuildDecisionBookItems),
).data
related_decision_books_items_ids = list(
related_.id for related_ in related_decision_books_items
)
return cls.filter_all(
cls.build_decision_book_item_id.in_(related_decision_books_items_ids),
*cls.valid_record_args(cls)
*cls.valid_record_args(cls),
).query
@classmethod
@@ -1095,11 +1102,14 @@ class BuildDecisionBookProjects(CrudCollection):
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_list=[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")
)