updated user selection via select response return

This commit is contained in:
2025-06-18 13:30:09 +03:00
parent b73417a625
commit 0806ce9d65
24 changed files with 895 additions and 2362 deletions

View File

@@ -346,7 +346,7 @@ class LoginHandler:
).join(EndpointRestriction, EndpointRestriction.id == Events.endpoint_id).filter().all()
# Get reachable applications
reachable_app_codes = Application2Employee.get_application_codes(employee_id=int(result_with_keys_dict['Employees.id']), db=db_session)
# reachable_app_codes = Application2Employee.get_application_codes(employee_id=int(result_with_keys_dict['Employees.id']), db=db_session)
# Get reachable events
reachable_event_codes = {endpoint_name: function_code for endpoint_name, function_code in filter_endpoints_and_events}
@@ -361,6 +361,11 @@ class LoginHandler:
redis_handler = RedisHandlers()
user_uu_id = Users.query.filter(Users.person_id == result_with_keys_dict['People.id']).first().uu_id
redis_result = redis_handler.update_token_at_redis(token=access_token, add_payload=add_company, user_uuid=user_uu_id)
reachable_app_codes = []
if result := RedisHandlers.get_object_from_redis(access_token=access_token):
if result.is_employee and result.selected_company:
if reachable_app_codes_dict := result.reachable_app_codes:
reachable_app_codes = list(reachable_app_codes_dict.get(data.uuid, {}).keys())
return {"selected_uu_id": data.uuid, "reachable_app_codes": reachable_app_codes}
@classmethod
@@ -396,10 +401,7 @@ class LoginHandler:
reachable_event_codes = {endpoint_name: function_code for endpoint_name, function_code in filter_endpoints_and_events}
# Get reachable applications
print('selected_build_living_space_first', selected_build_living_space_first.id)
reachable_app_codes = Application2Occupant.get_application_codes(build_living_space_id=selected_build_living_space_first.id, db=db)
print('reachable_app_codes', reachable_app_codes)
# reachable_app_codes = Application2Occupant.get_application_codes(build_living_space_id=selected_build_living_space_first.id, db=db)
build_part = BuildParts.query.filter(BuildParts.id == result_with_keys_dict['BuildParts.id']).first()
if not build_part:
raise ValueError("EYS_0013")
@@ -414,10 +416,16 @@ class LoginHandler:
"code": result_with_keys_dict['OccupantTypes.occupant_code']
}
redis_handler = RedisHandlers()
user_uu_id = Users.query.filter(Users.person_id == result_with_keys_dict['People.id']).first().uu_id
redis_handler.update_token_at_redis(token=access_token, add_payload=add_build_living_space, user_uuid=user_uu_id)
return {"selected_uu_id": data.uuid, "reachable_app_codes": reachable_app_codes}
reachable_app_codes = []
if result := RedisHandlers.get_object_from_redis(access_token=access_token):
if result.is_occupant and result.selected_occupant:
if reachable_app_codes_dict := result.reachable_app_codes:
reachable_app_codes = list(reachable_app_codes_dict.get(data.uuid, {}).keys())
print('reachable_app_codes', reachable_app_codes)
return {"selected_uu_id": data.uuid, "reachable_app_codes": reachable_app_codes or []}
@classmethod
def authentication_select_company_or_occupant_type(cls, request: Any, data: Any):