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

@@ -139,7 +139,6 @@ def wag_insert_budget_record(data):
similarity_result = parse_comment_with_name(data["iban"], data["process_comment"])
build_iban = BuildIbans.find_one(iban=data["iban"])
if payload := InsertBudgetRecord(**data):
payload_dict = payload.model_dump(exclude_unset=True, exclude_none=True)
decision_books = BuildDecisionBook.select_only(

View File

@@ -50,6 +50,7 @@ def save_access_token_to_redis(
Employees,
Staff,
)
if not found_user:
raise HTTPException(
status_code=400,
@@ -82,8 +83,9 @@ def save_access_token_to_redis(
)
occupants_selection_dict = {}
for living_space in living_spaces:
build_parts_selection = BuildParts.filter_active(
BuildParts.id == living_space.build_parts_id
build_parts_selection = BuildParts.filter_all(
BuildParts.id == living_space.build_parts_id,
*BuildParts.valid_record_args(BuildParts),
)
if not build_parts_selection.data:
raise HTTPException(
@@ -129,29 +131,30 @@ def save_access_token_to_redis(
available_occupants=new_occupants_selection_dict,
)
list_employee = Employees.filter_active(Employees.people_id == found_user.person_id)
list_employee = Employees.filter_all(
Employees.people_id == found_user.person_id,
*Employees.valid_record_args(Employees),
).data
companies_uu_id_list, companies_id_list = [], []
duty_uu_id_list, duty_id_list = [], []
for employee in list_employee.data:
for employee in list_employee:
staff = Staff.filter_one(
Staff.id==employee.staff_id,
*Staff.valid_record_args(Staff)
Staff.id == employee.staff_id, *Staff.valid_record_args(Staff)
).data
if duties := Duties.filter_one(
Duties.id == staff.duties_id,
*Duties.valid_record_args(Duties)
Duties.id == staff.duties_id, *Duties.valid_record_args(Duties)
).data:
if duty_found := Duty.filter_by_one(id=duties.duties_id).data:
duty_uu_id_list.append(str(duty_found.uu_id))
duty_id_list.append(duty_found.id)
department = Departments.filter_one(
Departments.id==duties.department_id,
Departments.id == duties.department_id,
*Departments.valid_record_args(Departments),
)
).data
if company := Companies.filter_one(
Companies.id==department.company_id,
*Companies.valid_record_args(Companies),
Companies.id == department.company_id,
*Companies.valid_record_args(Companies),
).data:
companies_uu_id_list.append(str(company.uu_id))
companies_id_list.append(company.id)

View File

@@ -9,13 +9,14 @@ def parse_token_object_to_dict(request): # from requests import Request
if valid_token := get_object_via_access_key(request=request):
endpoint_name = str(request.url).replace(str(request.base_url), "/")
endpoint_active = EndpointRestriction.filter_active(
EndpointRestriction.endpoint_name.ilike(f"%{endpoint_name}%")
).data[0]
endpoint_active = EndpointRestriction.filter_one(
EndpointRestriction.endpoint_name.ilike(f"%{endpoint_name}%"),
*EndpointRestriction.valid_record_args(EndpointRestriction),
).data
if not endpoint_active:
raise HTTPException(
status_code=status.HTTP_401_UNAUTHORIZED,
detail="This endpoint is not active for this user, please contact your responsible company for further information.",
detail=f"This endpoint {endpoint_name} is not active for this user, please contact your responsible company for further information.",
)
if valid_token.user_type == 1:
@@ -24,9 +25,10 @@ def parse_token_object_to_dict(request): # from requests import Request
status_code=status.HTTP_418_IM_A_TEAPOT,
detail="Selected company is not found in the token object.",
)
selected_event = Events.filter_active(
selected_event = Events.filter_all(
Events.endpoint_id == endpoint_active.id,
Events.id.in_(valid_token.selected_company.reachable_event_list_id),
*Events.valid_record_args(Events)
)
if not selected_event.data:
raise HTTPException(
@@ -55,14 +57,15 @@ def parse_token_object_to_dict(request): # from requests import Request
status_code=status.HTTP_418_IM_A_TEAPOT,
detail="Selected occupant is not found in the token object.",
)
selected_event = Events.filter_active(
selected_event = Events.filter_all(
Events.endpoint_id == endpoint_active.id,
Events.id.in_(valid_token.selected_occupant.reachable_event_list_id),
Events.valid_record_args(Events),
)
if not selected_event.data:
raise HTTPException(
status_code=status.HTTP_401_UNAUTHORIZED,
detail="This endpoint requires event validation. Please contact your responsible company to use this event.",
detail=f"This endpoint {endpoint_name} requires event validation. Please contact your responsible company to use this event.",
)
selected_event = selected_event.data[0]
event_function_class = getattr(selected_event, "function_class", None)
@@ -76,7 +79,7 @@ def parse_token_object_to_dict(request): # from requests import Request
if not active_function:
raise HTTPException(
status_code=status.HTTP_401_UNAUTHORIZED,
detail="This endpoint requires event validation. Please contact your responsible company to use this event.",
detail=f"This endpoint {endpoint_name} requires event validation. Please contact your responsible company to use this event.",
)
valid_token.available_event = active_function
return valid_token