alchemy functions updated

This commit is contained in:
2024-11-10 12:49:31 +03:00
parent e01a2c8afb
commit 7a7241c71c
13 changed files with 238 additions and 180 deletions

View File

@@ -10,7 +10,6 @@ from databases import (
AddressStreet,
)
from api_validations.validations_request import (
ListOptions,
InsertAddress,
@@ -38,8 +37,6 @@ class AddressListEventMethods(MethodToEvent):
list_options: ListOptions,
token_dict: Union[EmployeeTokenObject, OccupantTokenObject],
):
from sqlalchemy import select
post_code_list = RelationshipEmployee2PostCode.filter_all(
RelationshipEmployee2PostCode.company_id
== token_dict.selected_company.company_id,
@@ -55,7 +52,7 @@ class AddressListEventMethods(MethodToEvent):
street_id[0]
for street_id in AddressPostcode.select_only(
AddressPostcode.id.in_(post_code_id_list),
AddressPostcode.active == True,
*AddressPostcode.valid_record_args(AddressPostcode),
select_args=[AddressPostcode.street_id],
order_by=AddressPostcode.street_id.desc(),
).data
@@ -67,14 +64,14 @@ class AddressListEventMethods(MethodToEvent):
)
Addresses.pre_query = Addresses.filter_all(
Addresses.street_id.in_(*get_street_ids),
Addresses.active == True,
Addresses.street_id.in_(get_street_ids),
*Addresses.valid_record_args(Addresses),
).query
Addresses.filter_attr = list_options
records = Addresses.filter_all(
*Addresses.get_smart_query(list_options.query),
Addresses.active == True,
)
*Addresses.valid_record_args(Addresses),
).data
return AlchemyJsonResponse(
completed=True,
message="List Address records",
@@ -114,7 +111,7 @@ class AddressCreateEventMethods(MethodToEvent):
):
post_code = AddressPostcode.filter_one(
AddressPostcode.uu_id == data.post_code_uu_id,
AddressPostcode.active == True,
*AddressPostcode.valid_record_args(AddressPostcode),
).data
if not post_code:
raise HTTPException(
@@ -230,9 +227,15 @@ class AddressUpdateEventMethods(MethodToEvent):
data: InsertAddress,
token_dict: Union[EmployeeTokenObject, OccupantTokenObject],
):
address = Addresses.find_one_or_abort(uu_id=address_uu_id)
address = Addresses.filter_one(
Addresses.uu_id == address_uu_id,
*Addresses.valid_record_args(Addresses),
)
post_code = RelationshipEmployee2PostCode.filter_one(
RelationshipEmployee2PostCode.member_id == address.post_code_id
RelationshipEmployee2PostCode.member_id == address.post_code_id,
*RelationshipEmployee2PostCode.valid_record_args(
RelationshipEmployee2PostCode
),
).data
if not post_code:
raise HTTPException(
@@ -270,9 +273,15 @@ class AddressPatchEventMethods(MethodToEvent):
data: InsertAddress,
token_dict: Union[EmployeeTokenObject, OccupantTokenObject],
):
address = Addresses.find_one_or_abort(uu_id=address_uu_id)
address = Addresses.filter_one(
Addresses.uu_id == address_uu_id,
*Addresses.valid_record_args(Addresses),
).data
post_code = RelationshipEmployee2PostCode.filter_one(
RelationshipEmployee2PostCode.member_id == address.post_code_id
RelationshipEmployee2PostCode.member_id == address.post_code_id,
*RelationshipEmployee2PostCode.valid_record_args(
RelationshipEmployee2PostCode
),
)
if not post_code:
raise HTTPException(
@@ -309,7 +318,10 @@ class AddressPostCodeCreateEventMethods(MethodToEvent):
token_dict: Union[EmployeeTokenObject, OccupantTokenObject],
):
data_dump = data.excluded_dump()
street = AddressStreet.filter_one(AddressStreet.uu_id == data.street_uu_id).data
street = AddressStreet.filter_one(
AddressStreet.uu_id == data.street_uu_id,
*AddressStreet.valid_record_args(AddressStreet),
).data
if not street:
raise HTTPException(
status_code=404,
@@ -390,7 +402,8 @@ class AddressPostCodeListEventMethods(MethodToEvent):
):
post_code_list = AddressPostcode.__many__table__.filter_all(
AddressPostcode.__many__table__.company_id
== token_dict.selected_company.company_id
== token_dict.selected_company.company_id,
*AddressPostcode.valid_record_args(AddressPostcode.__many__table__),
).data
if not post_code_list:
raise HTTPException(
@@ -402,11 +415,12 @@ class AddressPostCodeListEventMethods(MethodToEvent):
AddressPostcode.id.in_(
[post_code.member_id for post_code in post_code_list]
),
AddressPostcode.active == True,
*AddressPostcode.valid_record_args(AddressPostcode),
).query
AddressPostcode.filter_attr = list_options
records = AddressPostcode.filter_all(
*Addresses.get_smart_query(list_options.query)
*Addresses.get_smart_query(list_options.query),
*Addresses.valid_record_args(AddressPostcode),
)
return AlchemyJsonResponse(
completed=True,