updated update base models
This commit is contained in:
parent
de9af544bb
commit
b8cebd9af4
|
|
@ -204,13 +204,10 @@ class BuildUpdateEventMethods(MethodToEvent):
|
|||
data: UpdateBuild,
|
||||
token_dict: Union[EmployeeTokenObject, OccupantTokenObject],
|
||||
):
|
||||
Build.pre_query = Build.select_action(
|
||||
employee_id=token_dict.selected_company.employee_id
|
||||
)
|
||||
if Build.filter_all(
|
||||
Build.person_id == token_dict.person_id,
|
||||
).data:
|
||||
Build.pre_query = None
|
||||
if isinstance(token_dict, OccupantTokenObject):
|
||||
Build.pre_query = Build.select_action(
|
||||
employee_id=token_dict.selected_company.employee_id
|
||||
)
|
||||
updated_build = Build.update_action(
|
||||
data=data, token=token_dict, build_uu_id=build_uu_id
|
||||
)
|
||||
|
|
@ -219,10 +216,30 @@ class BuildUpdateEventMethods(MethodToEvent):
|
|||
content={
|
||||
"completed": True,
|
||||
"message": "Update Build record",
|
||||
"data": updated_build,
|
||||
"data": updated_build.get_dict(),
|
||||
},
|
||||
status_code=status.HTTP_200_OK,
|
||||
)
|
||||
elif isinstance(token_dict, EmployeeTokenObject):
|
||||
find_one_build = Build.filter_one(
|
||||
Build.uu_id == build_uu_id,
|
||||
).data
|
||||
access_authorized_build = Build.select_action(
|
||||
employee_id=token_dict.selected_company.employee_id,
|
||||
filter_expr=[Build.id == find_one_build.id],
|
||||
)
|
||||
if access_authorized_build.count:
|
||||
updated_build = Build.update_action(
|
||||
data=data, token=token_dict, build_uu_id=build_uu_id
|
||||
)
|
||||
return JSONResponse(
|
||||
content={
|
||||
"completed": True,
|
||||
"message": "Update Build record",
|
||||
"data": updated_build.get_dict(),
|
||||
},
|
||||
status_code=status.HTTP_200_OK,
|
||||
)
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||
detail=f"This user can not modify {build_uu_id} - building.",
|
||||
|
|
|
|||
|
|
@ -15,10 +15,13 @@ def parse_token_object_to_dict(request): # from requests import Request
|
|||
or str(endpoint_name) in Config.NOT_SECURE_PATHS
|
||||
):
|
||||
return valid_token
|
||||
if 'update' in endpoint_name:
|
||||
endpoint_name = endpoint_name.split('update')[0] + "update"
|
||||
endpoint_active = EndpointRestriction.filter_one(
|
||||
EndpointRestriction.endpoint_name.ilike(f"%{endpoint_name}%"),
|
||||
system=True,
|
||||
).data
|
||||
|
||||
if not endpoint_active:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||
|
|
|
|||
|
|
@ -97,12 +97,12 @@ class PydanticBaseModel(BaseModelRegular):
|
|||
active: Optional[bool] = None
|
||||
deleted: Optional[bool] = None
|
||||
expiry_starts: Optional[str] = None
|
||||
expiry_ends: Optional[str] = None
|
||||
# expiry_ends: Optional[str] = None
|
||||
is_confirmed: Optional[bool] = None
|
||||
|
||||
|
||||
class EndpointPydantic(BaseModelRegular):
|
||||
data: Optional[dict] = {}
|
||||
data: Optional[dict] = None
|
||||
|
||||
|
||||
class EndpointValidation(BaseModelRegular):
|
||||
|
|
|
|||
|
|
@ -271,18 +271,22 @@ class Build(CrudCollection, SelectActionWithEmployee):
|
|||
@classmethod
|
||||
def update_action(cls, data: UpdateBuild, build_uu_id: str, token):
|
||||
from databases import Addresses
|
||||
|
||||
print('data_dict', data.dump())
|
||||
data_dict = data.excluded_dump()
|
||||
if data.official_address_uu_id:
|
||||
if data.address_uu_id:
|
||||
official_address = Addresses.filter_one(
|
||||
Addresses.uu_id == data.address_uu_id
|
||||
).data
|
||||
data_dict["address_id"] = official_address.id if official_address else None
|
||||
del data_dict["address_uu_id"]
|
||||
print('data_dict', data_dict)
|
||||
if build_to_update := cls.filter_one(
|
||||
cls.uu_id == build_uu_id, cls.person_id == token.id
|
||||
cls.uu_id == build_uu_id
|
||||
).data:
|
||||
return build_to_update.update(**data_dict)
|
||||
print('build_to_update', build_to_update.get_dict())
|
||||
updated_build = build_to_update.update(**data_dict)
|
||||
updated_build.save()
|
||||
print('updated_build', updated_build.get_dict())
|
||||
return updated_build
|
||||
|
||||
@property
|
||||
def top_flat(self):
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@ services:
|
|||
|
||||
commercial_mongo_service:
|
||||
container_name: commercial_mongo_service
|
||||
# image: "bitnami/mongodb:latest"
|
||||
image: "bitnami/mongodb:4.4.1-debian-10-r3"
|
||||
image: "bitnami/mongodb:latest"
|
||||
# image: "bitnami/mongodb:4.4.1-debian-10-r3"
|
||||
networks:
|
||||
- network_store_services
|
||||
environment:
|
||||
|
|
@ -61,62 +61,62 @@ services:
|
|||
- "41575:41575"
|
||||
networks:
|
||||
- network_store_services
|
||||
depends_on:
|
||||
- wag_management_init_service
|
||||
# depends_on:
|
||||
# - wag_management_init_service
|
||||
# - grafana
|
||||
|
||||
wag_management_service_second:
|
||||
container_name: wag_management_service_second
|
||||
restart: on-failure
|
||||
build:
|
||||
context: .
|
||||
dockerfile: service_app/Dockerfile
|
||||
ports:
|
||||
- "41576:41575"
|
||||
networks:
|
||||
- network_store_services
|
||||
depends_on:
|
||||
- wag_management_init_service
|
||||
# - grafana
|
||||
|
||||
wag_management_init_service:
|
||||
container_name: wag_management_init_service
|
||||
build:
|
||||
context: .
|
||||
dockerfile: service_app_init/Dockerfile
|
||||
networks:
|
||||
- network_store_services
|
||||
depends_on:
|
||||
- postgres_commercial
|
||||
|
||||
wag_bank_services:
|
||||
container_name: wag_bank_services
|
||||
restart: on-failure
|
||||
build:
|
||||
context: .
|
||||
dockerfile: service_app_banks/mailService.Dockerfile
|
||||
networks:
|
||||
- network_store_services
|
||||
depends_on:
|
||||
- postgres_commercial
|
||||
environment:
|
||||
- DATABASE_URL=postgresql+psycopg2://berkay_wag_user:berkay_wag_user_password@postgres_commercial:5432/wag_database
|
||||
- PYTHONPATH=/service_app_banks
|
||||
#
|
||||
wag_account_services:
|
||||
container_name: wag_account_services
|
||||
restart: on-failure
|
||||
build:
|
||||
context: .
|
||||
dockerfile: service_account_records/account.Dockerfile
|
||||
networks:
|
||||
- network_store_services
|
||||
depends_on:
|
||||
- postgres_commercial
|
||||
environment:
|
||||
- DATABASE_URL=postgresql+psycopg2://berkay_wag_user:berkay_wag_user_password@postgres_commercial:5432/wag_database
|
||||
- PYTHONPATH=/
|
||||
# wag_management_service_second:
|
||||
# container_name: wag_management_service_second
|
||||
# restart: on-failure
|
||||
# build:
|
||||
# context: .
|
||||
# dockerfile: service_app/Dockerfile
|
||||
# ports:
|
||||
# - "41576:41575"
|
||||
# networks:
|
||||
# - network_store_services
|
||||
# depends_on:
|
||||
# - wag_management_init_service
|
||||
# - grafana
|
||||
|
||||
# wag_management_init_service:
|
||||
# container_name: wag_management_init_service
|
||||
# build:
|
||||
# context: .
|
||||
# dockerfile: service_app_init/Dockerfile
|
||||
# networks:
|
||||
# - network_store_services
|
||||
# depends_on:
|
||||
# - postgres_commercial
|
||||
#
|
||||
# wag_bank_services:
|
||||
# container_name: wag_bank_services
|
||||
# restart: on-failure
|
||||
# build:
|
||||
# context: .
|
||||
# dockerfile: service_app_banks/mailService.Dockerfile
|
||||
# networks:
|
||||
# - network_store_services
|
||||
# depends_on:
|
||||
# - postgres_commercial
|
||||
# environment:
|
||||
# - DATABASE_URL=postgresql+psycopg2://berkay_wag_user:berkay_wag_user_password@postgres_commercial:5432/wag_database
|
||||
# - PYTHONPATH=/service_app_banks
|
||||
##
|
||||
# wag_account_services:
|
||||
# container_name: wag_account_services
|
||||
# restart: on-failure
|
||||
# build:
|
||||
# context: .
|
||||
# dockerfile: service_account_records/account.Dockerfile
|
||||
# networks:
|
||||
# - network_store_services
|
||||
# depends_on:
|
||||
# - postgres_commercial
|
||||
# environment:
|
||||
# - DATABASE_URL=postgresql+psycopg2://berkay_wag_user:berkay_wag_user_password@postgres_commercial:5432/wag_database
|
||||
# - PYTHONPATH=/
|
||||
#
|
||||
# prometheus:
|
||||
# image: prom/prometheus
|
||||
# container_name: prometheus
|
||||
|
|
@ -145,16 +145,16 @@ services:
|
|||
# - GF_USERS_ALLOW_ORG_CREATE=false
|
||||
# volumes:
|
||||
# - grafana_data:/var/lib/grafana
|
||||
|
||||
wag_management_test_service:
|
||||
container_name: wag_management_test_service
|
||||
build:
|
||||
context: .
|
||||
dockerfile: service_app_test/Dockerfile
|
||||
networks:
|
||||
- network_store_services
|
||||
depends_on:
|
||||
- wag_management_init_service
|
||||
#
|
||||
# wag_management_test_service:
|
||||
# container_name: wag_management_test_service
|
||||
# build:
|
||||
# context: .
|
||||
# dockerfile: service_app_test/Dockerfile
|
||||
# networks:
|
||||
# - network_store_services
|
||||
# depends_on:
|
||||
# - wag_management_init_service
|
||||
|
||||
# nginx-proxy-wag:
|
||||
# container_name: nginx-proxy-wag
|
||||
|
|
@ -178,4 +178,11 @@ networks:
|
|||
volumes:
|
||||
grafana_data:
|
||||
wag_postgres_commercial_data:
|
||||
wag_commercial_mongodb_data:
|
||||
wag_commercial_mongodb_data:
|
||||
|
||||
# environment:
|
||||
# - DATABASE_URL=postgresql+psycopg2://berkay_wag_user:berkay_wag_user_password@postgres_commercial:5432/wag_database
|
||||
# - REDIS_HOST=commercial_memory_service
|
||||
# - REDIS_PASSWORD=commercial_redis_password
|
||||
# - REDIS_PORT=6379
|
||||
# - REDIS_DB=0
|
||||
Loading…
Reference in New Issue