alchemy updated

This commit is contained in:
2024-11-13 14:59:05 +03:00
parent 052d1f7b9c
commit 4199cc16b4
22 changed files with 123 additions and 181 deletions

View File

@@ -13,7 +13,6 @@ from api_validations.validations_request import (
from api_validations.core_response import AlchemyJsonResponse
from api_events.events.abstract_class import MethodToEvent, ActionsSchema
from api_events.events.building.building_build import BuildPatchEventMethods
from api_objects.auth.token_objects import EmployeeTokenObject, OccupantTokenObject
@@ -35,18 +34,16 @@ class BuildAreaListEventMethods(MethodToEvent):
Build.id == token_dict.selected_occupant.build_id,
*Build.valid_record_args(Build),
).data
build_id_list = [build.id for build in build_ids]
BuildArea.pre_query = BuildArea.filter_all(
BuildArea.build_id.in_(build_id_list),
BuildArea.build_id.in_([build.id for build in build_ids]),
*BuildArea.valid_record_args(BuildArea),
).query
elif isinstance(token_dict, EmployeeTokenObject):
build_ids = Build.select_action(
employee_id=token_dict.selected_company.employee_id
)
build_id_list = [build.id for build in build_ids]
BuildArea.pre_query = BuildArea.filter_all(
BuildArea.build_id.in_(build_id_list),
BuildArea.build_id.in_([build.id for build in build_ids]),
*BuildArea.valid_record_args(BuildArea),
).query
BuildArea.filter_attr = list_options
@@ -54,7 +51,7 @@ class BuildAreaListEventMethods(MethodToEvent):
*BuildArea.valid_record_args(BuildArea),
)
return AlchemyJsonResponse(
completed=True, message="Update Build record", result=records
completed=True, message="List of Build Area", result=records
)
@@ -101,7 +98,7 @@ class BuildAreaCreateEventMethods(MethodToEvent):
created_build_part.save()
return AlchemyJsonResponse(
completed=True,
message="Update Build record",
message="Created Build Area",
result=created_build_part,
)

View File

@@ -14,6 +14,7 @@ from api_validations.validations_request import (
from api_validations.core_response import AlchemyJsonResponse
from api_events.events.abstract_class import MethodToEvent, ActionsSchema
from api_objects.auth.token_objects import EmployeeTokenObject, OccupantTokenObject
from databases.sql_models.identity.identity import Addresses
class BuildSitesListEventMethods(MethodToEvent):
@@ -30,22 +31,28 @@ class BuildSitesListEventMethods(MethodToEvent):
token_dict: typing.Union[EmployeeTokenObject, OccupantTokenObject],
):
if isinstance(token_dict, OccupantTokenObject):
build_ids = Build.filter_all(
occupants_build = Build.filter_one(
Build.id == token_dict.selected_occupant.build_id,
*Build.valid_record_args(Build),
).data
build_id_list = [build.id for build in build_ids]
BuildSites.pre_query = BuildSites.filter_all(
BuildSites.build_id.in_(build_id_list),
BuildSites.address_id == occupants_build.address_id,
*BuildSites.valid_record_args(BuildSites),
).query
elif isinstance(token_dict, EmployeeTokenObject):
build_ids = Build.select_action(
employees_build = Build.select_action(
employee_id=token_dict.selected_company.employee_id
)
build_id_list = [build.id for build in build_ids]
employees_build_list = [build.address_id for build in employees_build.all()]
if not employees_build_list:
BuildSites.raise_http_exception(
status_code="HTTP_404_NOT_FOUND",
error_case="NOT_FOUND",
message="Employee has no build sites registered",
data={},
)
BuildSites.pre_query = BuildSites.filter_all(
BuildSites.build_id.in_(build_id_list),
BuildSites.address_id.in_(employees_build_list)
*BuildSites.valid_record_args(BuildSites),
).query
BuildSites.filter_attr = list_options