2 chained application designed and new stage inited

This commit is contained in:
2025-06-24 12:41:06 +03:00
parent 311736ce06
commit a9655c5f48
45 changed files with 3090 additions and 386 deletions

View File

@@ -1,4 +1,4 @@
from typing import Any
from typing import Optional, Any
from fastapi import APIRouter, Depends
from index import endpoints_index
@@ -7,11 +7,27 @@ from events.building_parts.cluster import PartsRouterCluster
from Validations.defaults.validations import CommonHeaders
from Validations.response.pagination import PaginateOnly
from Extensions.Middlewares.token_provider import TokenProvider
from pydantic import BaseModel
parts_endpoint_route = APIRouter(prefix="/parts", tags=["Parts Cluster"])
class PartsListRequest(BaseModel):
address_gov_code: str
build_uu_id: str = None
part_no: int
part_level: int
part_code: str
part_gross_size: int
part_net_size: int
default_accessory: str
human_livable: bool
due_part_key: Optional[str] = None
part_direction_uu_id: Optional[str] = None
part_type_uu_id: Optional[str] = None
parts_list = "PartsList"
@parts_endpoint_route.post(
path="/list",
@@ -22,7 +38,7 @@ def parts_list_route(data: PaginateOnly, headers: CommonHeaders = Depends(Common
token_object = TokenProvider.get_dict_from_redis(token=headers.token)
event_founder_dict = dict(endpoint_code=headers.operation_id, token=token_object)
event_key = TokenProvider.retrieve_event_codes(**event_founder_dict)
FoundCluster = PartsRouterCluster.get_event_cluster(parts_list)
FoundCluster = PartsRouterCluster.get_event_cluster("PartsListEventCluster")
event_cluster_matched = FoundCluster.match_event(event_key=event_key)
return event_cluster_matched.event_callable(list_options=data, headers=headers)
@@ -33,11 +49,11 @@ parts_create = "PartsCreate"
description="Create part endpoint",
operation_id=endpoints_index[parts_create],
)
def parts_create_route(data, headers: CommonHeaders = Depends(CommonHeaders.as_dependency)):
def parts_create_route(data: PartsListRequest, headers: CommonHeaders = Depends(CommonHeaders.as_dependency)):
token_object = TokenProvider.get_dict_from_redis(token=headers.token)
event_founder_dict = dict(endpoint_code=headers.operation_id, token=token_object)
event_key = TokenProvider.retrieve_event_codes(**event_founder_dict)
FoundCluster = PartsRouterCluster.get_event_cluster(parts_create)
FoundCluster = PartsRouterCluster.get_event_cluster("PartsCreateEventCluster")
event_cluster_matched = FoundCluster.match_event(event_key=event_key)
return event_cluster_matched.event_callable(data=data, headers=headers)
@@ -48,11 +64,11 @@ parts_update = "PartsUpdate"
description="Update part endpoint",
operation_id=endpoints_index[parts_update],
)
def parts_update_route(uu_id: str, data, headers: CommonHeaders = Depends(CommonHeaders.as_dependency)):
def parts_update_route(uu_id: str, data: PartsListRequest, headers: CommonHeaders = Depends(CommonHeaders.as_dependency)):
token_object = TokenProvider.get_dict_from_redis(token=headers.token)
event_founder_dict = dict(endpoint_code=headers.operation_id, token=token_object)
event_key = TokenProvider.retrieve_event_codes(**event_founder_dict)
FoundCluster = PartsRouterCluster.get_event_cluster(parts_update)
FoundCluster = PartsRouterCluster.get_event_cluster("PartsUpdateEventCluster")
event_cluster_matched = FoundCluster.match_event(event_key=event_key)
return event_cluster_matched.event_callable(uu_id=uu_id, data=data, headers=headers)
@@ -67,6 +83,6 @@ def parts_delete_route(uu_id: str, headers: CommonHeaders = Depends(CommonHeader
token_object = TokenProvider.get_dict_from_redis(token=headers.token)
event_founder_dict = dict(endpoint_code=headers.operation_id, token=token_object)
event_key = TokenProvider.retrieve_event_codes(**event_founder_dict)
FoundCluster = PartsRouterCluster.get_event_cluster(parts_delete)
FoundCluster = PartsRouterCluster.get_event_cluster("PartsDeleteEventCluster")
event_cluster_matched = FoundCluster.match_event(event_key=event_key)
return event_cluster_matched.event_callable(uu_id=uu_id, headers=headers)

View File

@@ -1,5 +1,6 @@
from typing import Any
from typing import Any, Optional
from fastapi import APIRouter, Depends
from pydantic import BaseModel
from index import endpoints_index
from events.builds.cluster import BuildRouterCluster
@@ -9,6 +10,31 @@ from Validations.response.pagination import PaginateOnly
from Extensions.Middlewares.token_provider import TokenProvider
# Pydantic model for build update validation
class BuildFormModel(BaseModel):
gov_address_code: str
build_name: str
build_no: str
max_floor: int
underground_floor: int
build_date: str
decision_period_date: str
tax_no: str
lift_count: int
heating_system: bool
cooling_system: bool
hot_water_system: bool
block_service_man_count: int
security_service_man_count: int
garage_count: int
site_uu_id: Optional[str] = None
address_uu_id: str
build_types_uu_id: str
class Config:
extra = "allow"
build_endpoint_route = APIRouter(prefix="/builds", tags=["Builds Cluster"])
build_list = "BuildList"
@@ -21,7 +47,7 @@ def build_list_route(data: PaginateOnly, headers: CommonHeaders = Depends(Common
token_object = TokenProvider.get_dict_from_redis(token=headers.token)
event_founder_dict = dict(endpoint_code=headers.operation_id, token=token_object)
event_key = TokenProvider.retrieve_event_codes(**event_founder_dict)
FoundCluster = BuildRouterCluster.get_event_cluster(build_list)
FoundCluster = BuildRouterCluster.get_event_cluster("BuildListEventCluster")
event_cluster_matched = FoundCluster.match_event(event_key=event_key)
return event_cluster_matched.event_callable(list_options=data, headers=headers)
@@ -32,11 +58,11 @@ build_create = "BuildCreate"
description="Create build endpoint",
operation_id=endpoints_index[build_create],
)
def build_create_route(data, headers: CommonHeaders = Depends(CommonHeaders.as_dependency)):
def build_create_route(data: BuildFormModel, headers: CommonHeaders = Depends(CommonHeaders.as_dependency)):
token_object = TokenProvider.get_dict_from_redis(token=headers.token)
event_founder_dict = dict(endpoint_code=headers.operation_id, token=token_object)
event_key = TokenProvider.retrieve_event_codes(**event_founder_dict)
FoundCluster = BuildRouterCluster.get_event_cluster(build_create)
FoundCluster = BuildRouterCluster.get_event_cluster("BuildCreateEventCluster")
event_cluster_matched = FoundCluster.match_event(event_key=event_key)
return event_cluster_matched.event_callable(data=data, headers=headers)
@@ -47,11 +73,11 @@ build_update = "BuildUpdate"
description="Update build endpoint",
operation_id=endpoints_index[build_update],
)
def build_update_route(uu_id: str, data, headers: CommonHeaders = Depends(CommonHeaders.as_dependency)):
def build_update_route(uu_id: str, data: BuildFormModel, headers: CommonHeaders = Depends(CommonHeaders.as_dependency)):
token_object = TokenProvider.get_dict_from_redis(token=headers.token)
event_founder_dict = dict(endpoint_code=headers.operation_id, token=token_object)
event_key = TokenProvider.retrieve_event_codes(**event_founder_dict)
FoundCluster = BuildRouterCluster.get_event_cluster(build_update)
FoundCluster = BuildRouterCluster.get_event_cluster("BuildUpdateEventCluster")
event_cluster_matched = FoundCluster.match_event(event_key=event_key)
return event_cluster_matched.event_callable(uu_id=uu_id, data=data, headers=headers)