api added
This commit is contained in:
27
ServicesApi/Builds/Building/events/areas/cluster.py
Normal file
27
ServicesApi/Builds/Building/events/areas/cluster.py
Normal file
@@ -0,0 +1,27 @@
|
||||
from api_initializer.event_clusters import EventCluster, RouterCluster
|
||||
from index import endpoints_index
|
||||
from .supers_events import (
|
||||
SuperAreaListEvent,
|
||||
SuperAreaCreateEvent,
|
||||
SuperAreaUpdateEvent,
|
||||
SuperAreaDeleteEvent,
|
||||
)
|
||||
|
||||
AreaRouterCluster = RouterCluster(name="AreaRouterCluster")
|
||||
|
||||
AreaListEventCluster = EventCluster(name="AreaListEventCluster", endpoint_uu_id=endpoints_index["AreaList"])
|
||||
AreaListEventCluster.add_event(SuperAreaListEvent)
|
||||
|
||||
AreaCreateEventCluster = EventCluster(name="AreaCreateEventCluster", endpoint_uu_id=endpoints_index["AreaCreate"])
|
||||
AreaCreateEventCluster.add_event(SuperAreaCreateEvent)
|
||||
|
||||
AreaUpdateEventCluster = EventCluster(name="AreaUpdateEventCluster", endpoint_uu_id=endpoints_index["AreaUpdate"])
|
||||
AreaUpdateEventCluster.add_event(SuperAreaUpdateEvent)
|
||||
|
||||
AreaDeleteEventCluster = EventCluster(name="AreaDeleteEventCluster", endpoint_uu_id=endpoints_index["AreaDelete"])
|
||||
AreaDeleteEventCluster.add_event(SuperAreaDeleteEvent)
|
||||
|
||||
AreaRouterCluster.set_event_cluster(AreaListEventCluster)
|
||||
AreaRouterCluster.set_event_cluster(AreaCreateEventCluster)
|
||||
AreaRouterCluster.set_event_cluster(AreaUpdateEventCluster)
|
||||
AreaRouterCluster.set_event_cluster(AreaDeleteEventCluster)
|
||||
122
ServicesApi/Builds/Building/events/areas/supers_events.py
Normal file
122
ServicesApi/Builds/Building/events/areas/supers_events.py
Normal file
@@ -0,0 +1,122 @@
|
||||
from typing import Any
|
||||
|
||||
from api_initializer.event_clusters import Event
|
||||
from api_validations.response import (
|
||||
PaginateOnly,
|
||||
Pagination,
|
||||
PaginationResult,
|
||||
PostgresResponseSingle,
|
||||
PostgresResponse,
|
||||
EndpointResponse
|
||||
)
|
||||
from schemas import (
|
||||
BuildArea,
|
||||
Build,
|
||||
BuildParts,
|
||||
AccountRecords,
|
||||
)
|
||||
from api_validations.defaults.validations import CommonHeaders
|
||||
|
||||
|
||||
# List all area Super User
|
||||
SuperAreaListEvent = Event(
|
||||
name="super_area_list",
|
||||
key="0d5ba7be-028c-43ce-9a99-f495f812a835",
|
||||
request_validator=None, # TODO: Add request validator
|
||||
response_validator=None, # TODO: Add response validator
|
||||
description="Super Area List all endpoint",
|
||||
)
|
||||
|
||||
# Create area Super User
|
||||
SuperAreaCreateEvent = Event(
|
||||
name="super_area_create",
|
||||
key="0ba2a06d-f4fa-47b9-a305-2225414ffc4a",
|
||||
request_validator=None, # TODO: Add request validator
|
||||
response_validator=None, # TODO: Add response validator
|
||||
description="Super Area Create endpoint",
|
||||
)
|
||||
|
||||
# Update area Super User
|
||||
SuperAreaUpdateEvent = Event(
|
||||
name="super_area_update",
|
||||
key="ecec956a-eadf-4556-b4e1-4ee81a6b8fb2",
|
||||
request_validator=None, # TODO: Add request validator
|
||||
response_validator=None, # TODO: Add response validator
|
||||
description="Super Area Update endpoint",
|
||||
)
|
||||
|
||||
# Delete area Super User
|
||||
SuperAreaDeleteEvent = Event(
|
||||
name="super_area_delete",
|
||||
key="4b2ca548-4113-4942-8a76-1f4337fba98a",
|
||||
request_validator=None, # TODO: Add request validator
|
||||
response_validator=None, # TODO: Add response validator
|
||||
description="Super Area Delete endpoint",
|
||||
)
|
||||
|
||||
|
||||
def super_area_list_callable(list_options: PaginateOnly, headers: CommonHeaders):
|
||||
list_options = PaginateOnly(**list_options.model_dump())
|
||||
if token.is_employee:
|
||||
raise Exception("Forbidden for employees")
|
||||
|
||||
# TODO: Pydantic Model must be implemnted for list_options.query
|
||||
with AccountRecords.new_session() as db_session:
|
||||
AccountRecords.set_session(db_session)
|
||||
list_of_fields = [
|
||||
AccountRecords.iban,
|
||||
AccountRecords.bank_date,
|
||||
AccountRecords.currency,
|
||||
AccountRecords.currency_value,
|
||||
AccountRecords.process_comment,
|
||||
AccountRecords.add_comment_note,
|
||||
AccountRecords.receive_debit,
|
||||
AccountRecords.is_email_send,
|
||||
AccountRecords.is_notification_send,
|
||||
]
|
||||
account_records_query = db_session.query(*list_of_fields
|
||||
).join(BuildParts, BuildParts.id == AccountRecords.build_parts_id
|
||||
).filter(BuildParts.id == token.selected_occupant.build_part_id)
|
||||
if list_options.query:
|
||||
account_records_query = account_records_query.filter(*AccountRecords.convert(list_options.query))
|
||||
|
||||
pagination = Pagination(data=account_records_query)
|
||||
pagination.change(**list_options.model_dump())
|
||||
pagination_result = PaginationResult(data=account_records_query, pagination=pagination)
|
||||
return EndpointResponse(message="MSG0003-LIST", pagination_result=pagination_result).response
|
||||
|
||||
|
||||
SuperAreaListEvent.event_callable = super_area_list_callable
|
||||
|
||||
|
||||
def super_area_create_callable(data, headers: CommonHeaders):
|
||||
return {
|
||||
"message": "MSG0001-INSERT",
|
||||
"data": data,
|
||||
"completed": True,
|
||||
}
|
||||
|
||||
|
||||
SuperAreaCreateEvent.event_callable = super_area_create_callable
|
||||
|
||||
|
||||
def super_area_update_callable(data, headers: CommonHeaders):
|
||||
return {
|
||||
"message": "MSG0002-UPDATE",
|
||||
"data": data,
|
||||
"completed": True,
|
||||
}
|
||||
|
||||
|
||||
SuperAreaUpdateEvent.event_callable = super_area_update_callable
|
||||
|
||||
|
||||
def super_area_delete_callable(uu_id: str, headers: CommonHeaders):
|
||||
return {
|
||||
"message": "MSG0003-DELETE",
|
||||
"data": data,
|
||||
"completed": True,
|
||||
}
|
||||
|
||||
|
||||
SuperAreaDeleteEvent.event_callable = super_area_delete_callable
|
||||
Reference in New Issue
Block a user