alchemy functions updated

This commit is contained in:
2024-11-10 12:14:10 +03:00
parent 1f75e49a07
commit e01a2c8afb
24 changed files with 543 additions and 389 deletions

View File

@@ -40,19 +40,27 @@ class UserListEventMethods(MethodToEvent):
# ])
if "user_uu_id_list" in list_options.query:
people_ids = list_options.query.pop("user_uu_id_list")
people_id_list = [
people_id_list = (
user.person_id
for user in Users.filter_active(Users.uu_id.in_(people_ids)).data
]
for user in Users.filter_all(
Users.uu_id.in_(people_ids), *Users.valid_record_args(Users)
).data
)
People.filter_attr = list_options
records = People.filter_active(People.id.in_(people_id_list))
records = People.filter_all(
People.id.in_(people_id_list),
*People.valid_record_args(People),
).data
return AlchemyJsonResponse(
completed=True,
message="Users are listed successfully",
result=records,
)
People.filter_attr = list_options
records = Users.filter_active(*Users.get_smart_query(list_options.query))
Users.filter_attr = list_options
records = Users.filter_all(
*Users.get_smart_query(list_options.query),
*Users.valid_record_args(Users),
)
return AlchemyJsonResponse(
completed=True,
message="Users are listed successfully",
@@ -114,9 +122,12 @@ class UserUpdateEventMethods(MethodToEvent):
user_uu_id: str,
token_dict: typing.Union[EmployeeTokenObject, OccupantTokenObject],
):
find_one_user = Users.find_one_or_abort(uu_id=user_uu_id)
find_one_user = Users.filter_one(
Users.uu_id==user_uu_id,
*Users.valid_record_args(Users),
).data
access_authorized_company = Companies.select_action(
duty_id=getattr(token_dict, "duty_id", 5),
duty_id_list=[getattr(token_dict, "duty_id", 5)],
filter_expr=[Companies.id == token_dict.get("")],
)
if access_authorized_company.count:
@@ -146,9 +157,12 @@ class UserPatchEventMethods(MethodToEvent):
@classmethod
def user_patch(cls, data: PatchRecord, user_uu_id: str, token_dict):
find_one_user = Users.find_one_or_abort(uu_id=user_uu_id)
find_one_user = Users.filter_one(
Users.uu_id==user_uu_id,
*Users.valid_record_args(Users),
).data
access_authorized_company = Companies.select_action(
duty_id=getattr(token_dict, "duty_id", 5),
duty_id_list=[getattr(token_dict, "duty_id", 5)],
filter_expr=[Companies.id == find_one_user.id],
)
if access_authorized_company.count: