test application updated@build living space

This commit is contained in:
2024-11-15 19:23:08 +03:00
parent d2cc195ccf
commit 7e1b26f3c4
44 changed files with 261 additions and 321 deletions

View File

@@ -41,16 +41,13 @@ class BuildListEventMethods(MethodToEvent):
if isinstance(token_dict, OccupantTokenObject):
Build.pre_query = Build.filter_all(
Build.id == token_dict.selected_occupant.build_id,
*Build.valid_record_args(Build),
).query
elif isinstance(token_dict, EmployeeTokenObject):
Build.pre_query = Build.select_action(
employee_id=token_dict.selected_company.employee_id
)
Build.filter_attr = list_options
records = Build.filter_all(
*Build.valid_record_args(Build),
)
records = Build.filter_all()
return AlchemyJsonResponse(
completed=True,
message="Building Records are listed",
@@ -187,7 +184,6 @@ class BuildUpdateEventMethods(MethodToEvent):
)
if Build.filter_all(
Build.person_id == token_dict.person_id,
*Build.valid_record_args(Build),
).data:
Build.pre_query = None
updated_build = Build.update_action(
@@ -219,7 +215,6 @@ class BuildPatchEventMethods(MethodToEvent):
def build_patch(cls, build_uu_id: str, data: PatchRecord, token_dict):
find_one_build = Build.filter_one(
Build.uu_id==build_uu_id,
*Build.valid_record_args(Build)
)
access_authorized_build = Build.select_action(
employee_id=token_dict.selected_company.employee_id,

View File

@@ -32,11 +32,9 @@ class BuildAreaListEventMethods(MethodToEvent):
if isinstance(token_dict, OccupantTokenObject):
build_ids = Build.filter_all(
Build.id == token_dict.selected_occupant.build_id,
*Build.valid_record_args(Build),
).data
BuildArea.pre_query = BuildArea.filter_all(
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(
@@ -44,12 +42,9 @@ class BuildAreaListEventMethods(MethodToEvent):
)
BuildArea.pre_query = BuildArea.filter_all(
BuildArea.build_id.in_([build.id for build in build_ids]),
*BuildArea.valid_record_args(BuildArea),
).query
BuildArea.filter_attr = list_options
records = BuildArea.filter_all(
*BuildArea.valid_record_args(BuildArea),
)
records = BuildArea.filter_all()
return AlchemyJsonResponse(
completed=True, message="List of Build Area", result=records
)

View File

@@ -38,9 +38,7 @@ class BuildingBuildPartsListEventMethods(MethodToEvent):
BuildParts.build_id.in_(build_list_ids),
).query
BuildParts.filter_attr = list_options
records = BuildParts.filter_all(
*BuildParts.valid_record_args(BuildParts),
)
records = BuildParts.filter_all()
return AlchemyJsonResponse(
completed=True,
message="Building Parts Records are listed",
@@ -111,7 +109,6 @@ class BuildingBuildPartsPatchEventMethods(MethodToEvent):
def building_build_parts_patch(cls, data, token_dict):
find_one_build = BuildParts.filter_one(
BuildParts.uu_id == data.uu_id,
*BuildParts.valid_record_args(BuildParts),
).data
access_authorized_build = BuildParts.select_action(
duty_id=token_dict.selected_company.duty_id,

View File

@@ -33,11 +33,9 @@ class BuildSitesListEventMethods(MethodToEvent):
if isinstance(token_dict, OccupantTokenObject):
occupants_build = Build.filter_one(
Build.id == token_dict.selected_occupant.build_id,
*Build.valid_record_args(Build),
).data
BuildSites.pre_query = BuildSites.filter_all(
BuildSites.address_id == occupants_build.address_id,
*BuildSites.valid_record_args(BuildSites),
).query
elif isinstance(token_dict, EmployeeTokenObject):
employees_build = Build.select_action(
@@ -53,12 +51,9 @@ class BuildSitesListEventMethods(MethodToEvent):
)
BuildSites.pre_query = BuildSites.filter_all(
BuildSites.address_id.in_(employees_build_list)
*BuildSites.valid_record_args(BuildSites),
).query
BuildSites.filter_attr = list_options
records = BuildSites.filter_all(
*BuildSites.valid_record_args(BuildSites),
)
records = BuildSites.filter_all()
return AlchemyJsonResponse(
completed=True, message="Update Build record", result=records
)

View File

@@ -25,9 +25,7 @@ class BuildTypesListEventMethods(MethodToEvent):
from fastapi.exceptions import HTTPException
if isinstance(token_dict, EmployeeTokenObject):
BuildTypes.filter_attr = list_options
results = BuildTypes.filter_all(
*BuildTypes.valid_record_args(BuildTypes)
)
results = BuildTypes.filter_all()
return AlchemyJsonResponse(
completed=True,
result=results,

View File

@@ -36,7 +36,6 @@ class BuildingLivingSpacesPartsListEventMethods(MethodToEvent):
if isinstance(token_dict, OccupantTokenObject):
occupants_build_id = Build.filter_one(
Build.id == token_dict.selected_occupant.build_id,
*Build.valid_record_args(Build),
).data
if not occupants_build_id:
Build.raise_http_exception(
@@ -47,7 +46,6 @@ class BuildingLivingSpacesPartsListEventMethods(MethodToEvent):
)
occupants_build_parts = BuildParts.filter_all(
BuildParts.build_id.in_(occupants_build_id.id),
*BuildParts.valid_record_args(BuildParts),
).data
if not occupants_build_parts:
Build.raise_http_exception(
@@ -60,12 +58,9 @@ class BuildingLivingSpacesPartsListEventMethods(MethodToEvent):
BuildLivingSpace.build_parts_id.in_(
[build_part.id for build_part in occupants_build_parts]
),
*BuildLivingSpace.valid_record_args(BuildLivingSpace),
).query
BuildLivingSpace.filter_attr = list_options
records = BuildLivingSpace.filter_all(
*BuildLivingSpace.valid_record_args(BuildLivingSpace),
)
records = BuildLivingSpace.filter_all()
elif isinstance(token_dict, EmployeeTokenObject):
build_id_list_query = Build.select_action(
employee_id=token_dict.selected_company.employee_id
@@ -81,7 +76,6 @@ class BuildingLivingSpacesPartsListEventMethods(MethodToEvent):
BuildParts.build_id.in_(
[build.id for build in build_id_list_query.all()]
),
*BuildLivingSpace.valid_record_args(BuildLivingSpace),
).data
if not build_part_id_list_query:
Build.raise_http_exception(
@@ -94,12 +88,9 @@ class BuildingLivingSpacesPartsListEventMethods(MethodToEvent):
BuildLivingSpace.build_parts_id.in_(
[build_part.id for build_part in build_part_id_list_query]
),
*BuildLivingSpace.valid_record_args(BuildLivingSpace),
).query
BuildLivingSpace.filter_attr = list_options
records = BuildLivingSpace.filter_all(
*BuildLivingSpace.valid_record_args(BuildLivingSpace),
)
records = BuildLivingSpace.filter_all()
return AlchemyJsonResponse(
completed=True,
message="Building Living Spaces are listed successfully",
@@ -122,14 +113,13 @@ class BuildingLivingSpacesPartsCreateEventMethods(MethodToEvent):
):
from api_library.date_time_actions.date_functions import system_arrow
data_dict = data.dump()
data_dict = data.excluded_dump()
build_id_list_query = Build.select_action(
employee_id=token_dict.selected_company.employee_id
)
build_part = BuildParts.filter_one(
BuildParts.uu_id == data.build_parts_uu_id,
BuildParts.build_id.in_([build.id for build in build_id_list_query.all()]),
*BuildLivingSpace.valid_record_args(BuildLivingSpace),
).data
if not build_part:
BuildLivingSpace.raise_http_exception(
@@ -141,8 +131,7 @@ class BuildingLivingSpacesPartsCreateEventMethods(MethodToEvent):
},
)
life_person = People.filter_one(
People.uu_id == data.person_uu_id or "",
*People.valid_record_args(People),
People.uu_id == data.person_uu_id,
).data
if not life_person:
BuildLivingSpace.raise_http_exception(
@@ -175,7 +164,6 @@ class BuildingLivingSpacesPartsCreateEventMethods(MethodToEvent):
BuildLivingSpace.build_parts_id == build_part.id,
BuildLivingSpace.person_id == life_person.id,
BuildLivingSpace.occupant_type == occupant_type.id,
*BuildLivingSpace.valid_record_args(BuildLivingSpace),
select_args=[BuildLivingSpace.id],
order_by=BuildLivingSpace.expiry_starts.desc(),
limit=1,
@@ -183,27 +171,30 @@ class BuildingLivingSpacesPartsCreateEventMethods(MethodToEvent):
last_living_space = BuildLivingSpace.filter_one(
BuildLivingSpace.id == living_space_id[0] if living_space_id else None,
*BuildLivingSpace.valid_record_args(BuildLivingSpace),
)
data_dict["expiry_starts"] = str(system_arrow.now())
).data
created_living_space = BuildLivingSpace.create_action(
data=data_dict, token_dict=token_dict
)
if last_living_space:
if last_living_space.expiry_ends > str(system_arrow.now()):
last_living_space.expiry_ends = str(system_arrow.shift(minutes=-10))
dt = system_arrow.get(last_living_space.expiry_ends)
if dt > system_arrow.now():
minute_df = int(dt.time().minute) - 10
last_living_space.expiry_ends = str(dt.replace(
minute=60 - abs(minute_df) if minute_df < 0 else minute_df
))
last_living_space.save()
user_module = Modules.filter_one(
Modules.module_code == "USR-PUB", system=True
).data
created_living_space.save()
created_living_space.update(is_confirmed=True)
created_living_space.save()
ModulesBindOccupantEventMethods.modules_bind_occupant_system(
build_living_space_id=created_living_space.id,
modules_id=user_module.id,
)
created_living_space.save()
return created_living_space
@@ -233,7 +224,6 @@ class BuildingLivingSpacesPartsUpdateEventMethods(MethodToEvent):
BuildParts.build_id.in_(
[build.id for build in build_id_list_query.all()]
),
*BuildParts.valid_record_args(BuildParts),
).data
if not build_part:
BuildLivingSpace.raise_http_exception(
@@ -266,7 +256,6 @@ class BuildingLivingSpacesPartsUpdateEventMethods(MethodToEvent):
last_living_space = BuildLivingSpace.filter_one(
BuildLivingSpace.id == living_space_id if living_space_id else None,
*BuildLivingSpace.valid_record_args(BuildLivingSpace),
).data
data_dict["expiry_starts"] = str(system_arrow.now())