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

@@ -27,10 +27,13 @@ class PeopleListEventMethods(MethodToEvent):
}
@classmethod
def super_users_people_list(cls, list_options, token_dict):
records = People.filter_active(
*People.get_smart_query(smart_query=list_options.query)
)
def super_users_people_list(
cls, list_options, token_dict: Union[EmployeeTokenObject, OccupantTokenObject]
):
records = People.filter_all(
*People.get_smart_query(smart_query=list_options.query),
*People.valid_record_args(People),
).data
return AlchemyJsonResponse(
completed=True,
message="People are listed successfully",
@@ -38,9 +41,13 @@ class PeopleListEventMethods(MethodToEvent):
)
@classmethod
def sales_users_people_list(cls, data, token_dict):
records = People.filter_active(*People.get_smart_query(smart_query=data.query))
def sales_users_people_list(
cls, list_options, token_dict: Union[EmployeeTokenObject, OccupantTokenObject]
):
records = People.filter_all(
*People.get_smart_query(smart_query=list_options.query),
*People.valid_record_args(People),
).data
return AlchemyJsonResponse(
completed=True,
message="People are listed successfully",
@@ -48,9 +55,13 @@ class PeopleListEventMethods(MethodToEvent):
)
@classmethod
def human_resources_users_people_list(cls, data, token_dict):
records = People.filter_active(*People.get_smart_query(smart_query=data.query))
def human_resources_users_people_list(
cls, list_options, token_dict: Union[EmployeeTokenObject, OccupantTokenObject]
):
records = People.filter_all(
*People.get_smart_query(smart_query=list_options.query),
*People.valid_record_args(People),
).data
return AlchemyJsonResponse(
completed=True,
message="People are listed successfully",
@@ -97,7 +108,10 @@ class PeopleUpdateEventMethods(MethodToEvent):
user_uu_id: str,
token_dict: 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_list=[getattr(token_dict, "duty_id")],
filter_expr=[Companies.id == find_one_user.id],

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: