instructions and validations tested
This commit is contained in:
@@ -21,8 +21,8 @@ from .function_handlers import (
|
||||
|
||||
# Auth Login
|
||||
account_list_super_user_event = Event(
|
||||
name="account_insert_super_user_event",
|
||||
key="36a165fe-a2f3-437b-80ee-1ee44670fe70",
|
||||
name="account_list_super_user_event",
|
||||
key="7192c2aa-5352-4e36-98b3-dafb7d036a3d",
|
||||
request_validator=AccountRequestValidators.ListAccountRecord,
|
||||
# response_validator=SelectResponseAccount,
|
||||
# language_models=[AccountRecords.__language_model__],
|
||||
@@ -39,7 +39,7 @@ account_list_super_user_event.endpoint_callable = (
|
||||
|
||||
account_insert_super_user_event = Event(
|
||||
name="account_insert_super_user_event",
|
||||
key="3aa46155-72bc-4370-b4e7-b937b0f9b893",
|
||||
key="31f4f32f-0cd4-4995-8a6a-f9f56335848a",
|
||||
request_validator=AccountRequestValidators.InsertAccountRecord,
|
||||
# response_validator=SelectResponseAccount,
|
||||
# language_models=[AccountRecords.__language_model__],
|
||||
@@ -56,7 +56,7 @@ account_insert_super_user_event.endpoint_callable = (
|
||||
|
||||
account_update_super_user_event = Event(
|
||||
name="account_insert_super_user_event",
|
||||
key="204d3b21-1da6-4739-9f45-36492636c770",
|
||||
key="208e6273-17ef-44f0-814a-8098f816b63a",
|
||||
request_validator=AccountRequestValidators.UpdateAccountRecord,
|
||||
# response_validator=SelectResponseAccount,
|
||||
# language_models=[AccountRecords.__language_model__],
|
||||
@@ -65,6 +65,7 @@ account_update_super_user_event = Event(
|
||||
description="Update a specific account by validation list options and queries.",
|
||||
)
|
||||
|
||||
|
||||
account_update_super_user_event.endpoint_callable = (
|
||||
AccountUpdateEventMethods.account_records_update
|
||||
)
|
||||
|
||||
@@ -5,13 +5,9 @@ from .account_records import (
|
||||
AccountRecordsListEventMethods,
|
||||
)
|
||||
|
||||
cluster_name = "AccountCluster"
|
||||
page_type=f"/dashboard?site={cluster_name}"
|
||||
|
||||
cluster_name = "AccountCluster"
|
||||
prefix = "/accounts"
|
||||
create_key = f"{prefix}{AccountRecordsCreateEventMethods.URL}"
|
||||
update_key = f"{prefix}{AccountRecordsUpdateEventMethods.URL}"
|
||||
list_key = f"{prefix}{AccountRecordsListEventMethods.URL}"
|
||||
|
||||
|
||||
class LanguageModels:
|
||||
@@ -19,91 +15,135 @@ class LanguageModels:
|
||||
COMPONENT: str = "Table"
|
||||
PREFIX_URL: str = ""
|
||||
PAGE_INFO: dict
|
||||
STATIC_PATH: str = "events"
|
||||
|
||||
def as_dict(self):
|
||||
return {
|
||||
"SITE_URL": self.SITE_URL,
|
||||
"SITE_URL": f"/{self.STATIC_PATH}{self.SITE_URL}",
|
||||
"COMPONENT": self.COMPONENT,
|
||||
"PREFIX_URL": self.PREFIX_URL,
|
||||
"PAGE_INFO": self.PAGE_INFO,
|
||||
}
|
||||
|
||||
|
||||
create_key = f"{prefix}{AccountRecordsCreateEventMethods.URL}"
|
||||
update_key = f"{prefix}{AccountRecordsUpdateEventMethods.URL}"
|
||||
list_key = f"{prefix}{AccountRecordsListEventMethods.URL}"
|
||||
|
||||
|
||||
account_language_update_models = LanguageModels()
|
||||
account_language_update_models.COMPONENT = "Link"
|
||||
account_language_update_models.SITE_URL=f"/update?site={cluster_name}"
|
||||
account_language_update_models.PREFIX_URL=f"{prefix}{AccountRecordsUpdateEventMethods.URL}"
|
||||
account_language_update_models.SITE_URL = f"/update?site={cluster_name}"
|
||||
account_language_update_models.PREFIX_URL = (
|
||||
update_key
|
||||
)
|
||||
account_language_update_models.PAGE_INFO = {
|
||||
"en": {"page": "Update Account Records",},
|
||||
"tr": {"page": "Hesap Kayıdı Güncelle",},
|
||||
}
|
||||
"en": {
|
||||
"page": "Update Account Records",
|
||||
},
|
||||
"tr": {
|
||||
"page": "Hesap Kayıdı Güncelle",
|
||||
},
|
||||
}
|
||||
account_language_model_as_dict = account_language_update_models.as_dict()
|
||||
|
||||
|
||||
account_language_created_models = LanguageModels()
|
||||
account_language_created_models.COMPONENT = "Link"
|
||||
account_language_created_models.SITE_URL=f"/create?site={cluster_name}"
|
||||
account_language_created_models.PREFIX_URL=f"{prefix}{AccountRecordsCreateEventMethods.URL}"
|
||||
account_language_created_models.SITE_URL = f"/create?site={cluster_name}"
|
||||
account_language_created_models.PREFIX_URL = (
|
||||
create_key
|
||||
)
|
||||
account_language_created_models.PAGE_INFO = {
|
||||
"en": {"page": "Create Account Records",},
|
||||
"tr": {"page": "Hesap Kayıdı Oluştur"},
|
||||
}
|
||||
"en": {
|
||||
"page": "Create Account Records",
|
||||
},
|
||||
"tr": {"page": "Hesap Kayıdı Oluştur"},
|
||||
}
|
||||
account_language_created_models_as_dict = account_language_created_models.as_dict()
|
||||
|
||||
account_language_list_models = LanguageModels()
|
||||
account_language_list_models.COMPONENT = "Table"
|
||||
account_language_list_models.SITE_URL = f"/list?site={cluster_name}"
|
||||
account_language_list_models.PREFIX_URL = f"{prefix}{AccountRecordsListEventMethods.URL}"
|
||||
account_language_list_models.SITE_URL = f"/dashboard?site={cluster_name}"
|
||||
account_language_list_models.PREFIX_URL = (
|
||||
list_key
|
||||
)
|
||||
account_language_list_models.PAGE_INFO = {
|
||||
"en": {"page": "List Account Records",},
|
||||
"tr": {"page": "Hesap Kayıtlarını Listele",},
|
||||
}
|
||||
"en": {
|
||||
"page": "List Account Records",
|
||||
},
|
||||
"tr": {
|
||||
"page": "Hesap Kayıtlarını Listele",
|
||||
},
|
||||
}
|
||||
|
||||
account_language_list_models_as_dict = account_language_list_models.as_dict()
|
||||
|
||||
account_language_create_models = LanguageModels()
|
||||
account_language_create_models.COMPONENT = "Form"
|
||||
account_language_create_models.SITE_URL = f"/create?site={cluster_name}"
|
||||
account_language_create_models.PREFIX_URL = f"{prefix}{AccountRecordsListEventMethods.URL}"
|
||||
account_language_create_models.PREFIX_URL = (
|
||||
create_key
|
||||
)
|
||||
account_language_create_models.PAGE_INFO = {
|
||||
"en": {"page": "List Account Records", "button:": "Create"},
|
||||
"tr": {"page": "Hesap Kayıtlarını Listele", "button:": "Oluştur"},
|
||||
}
|
||||
"en": {"page": "List Account Records", "button:": "Create"},
|
||||
"tr": {"page": "Hesap Kayıtlarını Listele", "button:": "Oluştur"},
|
||||
}
|
||||
|
||||
account_language_create_models_as_dict = account_language_create_models.as_dict()
|
||||
|
||||
account_language_update_form_models = LanguageModels()
|
||||
account_language_update_form_models.COMPONENT = "Form"
|
||||
account_language_update_form_models.SITE_URL=f"/update?site={cluster_name}"
|
||||
account_language_update_form_models.PREFIX_URL=f"{prefix}{AccountRecordsUpdateEventMethods.URL}"
|
||||
account_language_update_form_models.SITE_URL = f"/update?site={cluster_name}"
|
||||
account_language_update_form_models.PREFIX_URL = (
|
||||
update_key
|
||||
)
|
||||
account_language_update_form_models.PAGE_INFO = {
|
||||
"en": {"page": "Update Account Records", "button:": "Update"},
|
||||
"tr": {"page": "Hesap Kayıdı Güncelle", "button:": "Güncelle"},
|
||||
}
|
||||
account_language_update_form_models_as_dict = account_language_update_form_models.as_dict()
|
||||
"en": {"page": "Update Account Records", "button:": "Update"},
|
||||
"tr": {"page": "Hesap Kayıdı Güncelle", "button:": "Güncelle"},
|
||||
}
|
||||
account_language_update_form_models_as_dict = (
|
||||
account_language_update_form_models.as_dict()
|
||||
)
|
||||
|
||||
|
||||
dashboard_page_info = PageInfo(
|
||||
name=f"{cluster_name}",
|
||||
url=f"/dashboard?site={cluster_name}",
|
||||
icon="Building",
|
||||
instructions={
|
||||
"headers": {
|
||||
"store": True, "url": "/validations/header", "data": {"event_code": f"/accounts/list", "asked_field": "headers"},
|
||||
}
|
||||
},
|
||||
page_info={
|
||||
"page": {
|
||||
"en": "Account Records for reaching user all types account information",
|
||||
"tr": "Kullanıcı tüm hesap bilgilerine ulaşmak için Hesap Kayıtları",
|
||||
"en": {
|
||||
"page": "Account Records for reaching user all types account information",
|
||||
},
|
||||
"tr": {
|
||||
"page": "Kullanıcı tüm hesap bilgilerine ulaşmak için Hesap Kayıtları",
|
||||
},
|
||||
},
|
||||
instructions={
|
||||
str(list_key): {
|
||||
"headers": {
|
||||
"store": True,
|
||||
"url": "/validations/header",
|
||||
"data": {"event_code": f"{prefix}/list", "asked_field": "headers"},
|
||||
},
|
||||
"data": {
|
||||
"store": True,
|
||||
"url": f"{prefix}/list",
|
||||
"data": dict(page=1, limit=1),
|
||||
},
|
||||
},
|
||||
},
|
||||
endpoints={
|
||||
str(update_key): AccountRecordsUpdateEventMethods.retrieve_all_event_keys(),
|
||||
str(create_key): AccountRecordsCreateEventMethods.retrieve_all_event_keys(),
|
||||
str(list_key): AccountRecordsListEventMethods.retrieve_all_event_keys(),
|
||||
},
|
||||
language_models={
|
||||
account_language_update_models.PREFIX_URL: account_language_model_as_dict,
|
||||
account_language_created_models.PREFIX_URL: account_language_created_models_as_dict,
|
||||
account_language_list_models.PREFIX_URL: account_language_list_models_as_dict,
|
||||
str(list_key): {
|
||||
str(update_key): account_language_model_as_dict,
|
||||
str(create_key): account_language_created_models_as_dict,
|
||||
str(list_key): account_language_list_models_as_dict,
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
@@ -112,24 +152,32 @@ create_page_info = PageInfo(
|
||||
url=f"/create?site={cluster_name}",
|
||||
icon="Building",
|
||||
instructions={
|
||||
"validation": {
|
||||
"store": True, "url": "/validations/validation", "data": {"event_code": f"/accounts/create", "asked_field": "validation"},
|
||||
},
|
||||
"headers": {
|
||||
"store": True, "url": "/validations/header", "data": {"event_code": f"/accounts/create", "asked_field": "headers"},
|
||||
}
|
||||
},
|
||||
page_info={
|
||||
"page": {
|
||||
"en": "Account Records creating for user all types account information",
|
||||
"tr": "Kullanıcı tüm hesap bilgilerine ulaşmak için Hesap Kayıtları oluştur",
|
||||
str(create_key): {
|
||||
"validation": {
|
||||
"store": True,
|
||||
"url": "/validations/validation",
|
||||
"data": {"event_code": f"{prefix}/create", "asked_field": "validation"},
|
||||
},
|
||||
"headers": {
|
||||
"store": True,
|
||||
"url": "/validations/header",
|
||||
"data": {"event_code": f"{prefix}/create", "asked_field": "headers"},
|
||||
},
|
||||
},
|
||||
},
|
||||
page_info={
|
||||
"en": {
|
||||
"page": "Create Account Records for reaching user all types account information",
|
||||
},
|
||||
"tr": {
|
||||
"page": "Kullanıcı tüm hesap bilgilerine ulaşmak için Hesap Kayıt Oluştur",
|
||||
},
|
||||
},
|
||||
endpoints={
|
||||
str(create_key): AccountRecordsCreateEventMethods.retrieve_all_event_keys(),
|
||||
},
|
||||
language_models={
|
||||
account_language_create_models.PREFIX_URL: account_language_create_models_as_dict,
|
||||
str(create_key): account_language_create_models_as_dict,
|
||||
},
|
||||
)
|
||||
|
||||
@@ -138,32 +186,38 @@ update_page_info = PageInfo(
|
||||
url=f"/update?site={cluster_name}",
|
||||
icon="Building",
|
||||
instructions={
|
||||
"validation": {
|
||||
"store": True, "url": "/validations/validation", "data": {"event_code": f"/accounts/update", "asked_field": "validation"},
|
||||
},
|
||||
"headers": {
|
||||
"store": True, "url": "/validations/header", "data": {"event_code": f"/accounts/update", "asked_field": "headers"},
|
||||
},
|
||||
"data": {
|
||||
"store": True, "url": f"{prefix}/list", "data": dict(page= 1, limit= 1),
|
||||
}
|
||||
},
|
||||
page_info={
|
||||
"page": {
|
||||
"en": "Account Records updating for user all types account information",
|
||||
"tr": "Kullanıcı tüm hesap bilgilerine ulaşmak için Hesap Kayıtları güncelle",
|
||||
str(update_key): {
|
||||
"validation": {
|
||||
"store": True,
|
||||
"url": "/validations/validation",
|
||||
"data": {"event_code": f"{prefix}/update", "asked_field": "validation"},
|
||||
},
|
||||
"headers": {
|
||||
"store": True,
|
||||
"url": "/validations/header",
|
||||
"data": {"event_code": f"{prefix}/update", "asked_field": "headers"},
|
||||
},
|
||||
},
|
||||
},
|
||||
page_info={
|
||||
"en": {
|
||||
"page": "Update Account Records via all types account information",
|
||||
},
|
||||
"tr": {
|
||||
"page": "Tüm hesap bilgileri aracılığıyla Hesap Kayıtlarını Güncelle",
|
||||
},
|
||||
},
|
||||
endpoints={
|
||||
str(update_key): AccountRecordsUpdateEventMethods.retrieve_all_event_keys(),
|
||||
},
|
||||
language_models={
|
||||
account_language_update_form_models.PREFIX_URL: account_language_update_form_models_as_dict,
|
||||
str(update_key): account_language_update_form_models_as_dict,
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
account_page_info = {
|
||||
f"/dashboard?site={cluster_name}" : dashboard_page_info,
|
||||
f"/dashboard?site={cluster_name}": dashboard_page_info,
|
||||
f"/create?site={cluster_name}": create_page_info,
|
||||
f"/update?site={cluster_name}": update_page_info,
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ address_page_info = PageInfo(
|
||||
},
|
||||
language_models={
|
||||
"page_info": {
|
||||
"key": "pair", # key: pair, value: dict
|
||||
"key": "pair", # key: pair, value: dict
|
||||
"description": {
|
||||
"en": "Account Records for reaching user all types account information",
|
||||
"tr": "Kullanıcı tüm hesap bilgilerine ulaşmak için Hesap Kayıtları",
|
||||
@@ -74,4 +74,4 @@ address_page_info = PageInfo(
|
||||
},
|
||||
},
|
||||
},
|
||||
)
|
||||
)
|
||||
|
||||
@@ -8,5 +8,6 @@ events_list = (auths_events, events_events, validations_events)
|
||||
|
||||
def retrieve_cluster_by_name(cluster_name: str):
|
||||
for module in events_list:
|
||||
if hasattr(module, cluster_name, None):
|
||||
if hasattr(module, cluster_name):
|
||||
return getattr(module, cluster_name, None)
|
||||
return
|
||||
|
||||
13
Events/AllEvents/just_events_file.py
Normal file
13
Events/AllEvents/just_events_file.py
Normal file
@@ -0,0 +1,13 @@
|
||||
import Events.JustEvents.authentication as auths_events
|
||||
import Events.JustEvents.events as events_events
|
||||
import Events.JustEvents.validations as validations_events
|
||||
|
||||
|
||||
events_list = (auths_events, events_events, validations_events)
|
||||
|
||||
|
||||
def retrieve_cluster_by_name(cluster_name: str):
|
||||
for module in events_list:
|
||||
if hasattr(module, cluster_name):
|
||||
return getattr(module, cluster_name, None)
|
||||
return
|
||||
@@ -3,9 +3,8 @@ from fastapi import Request
|
||||
|
||||
from Events.Engine.abstract_class import Event
|
||||
|
||||
from .models import ValidationsPydantic
|
||||
from .function_handlers import RetrieveValidation
|
||||
|
||||
from .models import ValidationsPydantic, ClusterPydantic, PagePydantic
|
||||
from .function_handlers import RetrieveValidation, RetrievePage
|
||||
|
||||
# Validation Event
|
||||
validation_event = Event(
|
||||
@@ -41,3 +40,39 @@ def get_menu_by_event_function_code(request: Request, data: Any):
|
||||
|
||||
|
||||
menu_event.endpoint_callable = get_menu_by_event_function_code
|
||||
|
||||
|
||||
# Cluster Event
|
||||
cluster_event = Event(
|
||||
name="cluster_event",
|
||||
key="eed3fe12-cec1-4f35-b43d-62fca0682f73",
|
||||
request_validator=ClusterPydantic,
|
||||
language_models=[],
|
||||
statics=None,
|
||||
description="Get Left Menu of the user",
|
||||
)
|
||||
|
||||
|
||||
def get_cluster_by_event_function_code(request: Request, data: Any):
|
||||
return RetrievePage.retrieve_cluster(data=data)
|
||||
|
||||
|
||||
cluster_event.endpoint_callable = get_cluster_by_event_function_code
|
||||
|
||||
|
||||
# Page Event
|
||||
page_event = Event(
|
||||
name="page_event",
|
||||
key="",
|
||||
request_validator=PagePydantic,
|
||||
language_models=[],
|
||||
statics=None,
|
||||
description="Get Left Menu of the user",
|
||||
)
|
||||
|
||||
|
||||
def get_page_by_event_function_code(request: Request, data: Any):
|
||||
return RetrievePage.retrieve_page(data=data)
|
||||
|
||||
|
||||
page_event.endpoint_callable = get_page_by_event_function_code
|
||||
|
||||
@@ -3,6 +3,8 @@ from Events.Engine.abstract_class import CategoryCluster
|
||||
from .validation import (
|
||||
ValidationEventMethods,
|
||||
MenuEventMethods,
|
||||
ClusterEventMethods,
|
||||
PageEventMethods,
|
||||
)
|
||||
|
||||
|
||||
@@ -14,6 +16,8 @@ ValidationsCluster = CategoryCluster(
|
||||
endpoints={
|
||||
"ValidationEventMethods": ValidationEventMethods,
|
||||
"MenuEventMethods": MenuEventMethods,
|
||||
"ClusterEventMethods": ClusterEventMethods,
|
||||
"PageEventMethods": PageEventMethods,
|
||||
},
|
||||
include_in_schema=True,
|
||||
sub_category=[],
|
||||
|
||||
@@ -121,3 +121,94 @@ class RetrieveValidation(BaseRouteModel):
|
||||
return RedisHeaderRetrieve(**validate_dict).header
|
||||
elif data.asked_field == "validation":
|
||||
return RedisValidationRetrieve(**validate_dict).validation
|
||||
|
||||
|
||||
class RetrievePage(BaseRouteModel):
|
||||
|
||||
@staticmethod
|
||||
def get_site_cluster(page_name: str):
|
||||
"""
|
||||
/dashboard?site=clusterName retrieves clusterName
|
||||
"""
|
||||
if page_name:
|
||||
return page_name.split("?")[1].split("=")[1]
|
||||
raise ValueError("Page name not found")
|
||||
|
||||
@classmethod
|
||||
def retrieve_cluster(cls, data: Any):
|
||||
"""
|
||||
Retrieve cluster by event function code
|
||||
"""
|
||||
reachable_codes = []
|
||||
if cls.context_retriever.token.is_employee:
|
||||
reachable_codes = (
|
||||
cls.context_retriever.token.selected_company.reachable_event_codes
|
||||
)
|
||||
elif cls.context_retriever.token.is_occupant:
|
||||
reachable_codes = (
|
||||
cls.context_retriever.token.selected_occupant.reachable_event_codes
|
||||
)
|
||||
validate_dict = dict(url=data.url, reachable_code=reachable_codes)
|
||||
print("validate_dict", validate_dict)
|
||||
cluster_name = data.get("name")
|
||||
print("cluster_name", cluster_name)
|
||||
raise NotImplementedError("Cluster not found")
|
||||
|
||||
@classmethod
|
||||
def retrieve_page(cls, data: Any):
|
||||
"""
|
||||
Retrieve page by event function code
|
||||
"""
|
||||
from Events.Engine import CategoryCluster
|
||||
from Events.JustEvents.events_file import retrieve_cluster_by_name
|
||||
|
||||
reachable_codes = []
|
||||
if cls.context_retriever.token.is_employee:
|
||||
reachable_codes = (
|
||||
cls.context_retriever.token.selected_company.reachable_event_codes
|
||||
)
|
||||
elif cls.context_retriever.token.is_occupant:
|
||||
reachable_codes = (
|
||||
cls.context_retriever.token.selected_occupant.reachable_event_codes
|
||||
)
|
||||
cluster_from_all_events = cls.get_site_cluster(page_name=data.page)
|
||||
if not cluster_from_all_events:
|
||||
raise ValueError(f"Cluster not found : {data.page}")
|
||||
|
||||
cluster_name: CategoryCluster = retrieve_cluster_by_name(cluster_from_all_events)
|
||||
if not cluster_name:
|
||||
raise ValueError("Cluster not found")
|
||||
|
||||
page_info = cluster_name.retrieve_page_info().get(data.page, None)
|
||||
if not page_info:
|
||||
raise ValueError("Page not found")
|
||||
|
||||
endpoints: dict = dict(page_info).get("endpoints", {})
|
||||
if not endpoints:
|
||||
raise ValueError("Endpoints not found")
|
||||
|
||||
new_page_info_dict = dict(
|
||||
name=cluster_name.name,
|
||||
prefix=cluster_name.PREFIX,
|
||||
url=dict(page_info).get("url", None),
|
||||
icon=dict(page_info).get("icon", None),
|
||||
page_info=dict(page_info).get("page_info", None),
|
||||
endpoints={},
|
||||
language_models={},
|
||||
instructions={},
|
||||
)
|
||||
for key, event_codes in dict(endpoints).items():
|
||||
if set(event_codes) & set(reachable_codes):
|
||||
language_models = dict(page_info).get("language_models", {})
|
||||
instructions = dict(page_info).get("instructions", {})
|
||||
new_page_info_dict["endpoints"][key] = True
|
||||
if language_models.get(key, None):
|
||||
if key in language_models[key].keys(): # key has sub key blocks inside lang model
|
||||
for key_model, val_model in dict(language_models[key]).items():
|
||||
if key_model in new_page_info_dict["endpoints"].keys():
|
||||
new_page_info_dict["language_models"][key_model] = language_models[key][key_model]
|
||||
else:
|
||||
new_page_info_dict["language_models"][key] = language_models[key]
|
||||
if instructions.get(key, None):
|
||||
new_page_info_dict["instructions"][key] = instructions.get(key, None)
|
||||
return new_page_info_dict
|
||||
|
||||
@@ -9,3 +9,11 @@ from pydantic import BaseModel
|
||||
class ValidationsPydantic(BaseModel):
|
||||
event_code: str
|
||||
asked_field: Optional[str] = "all"
|
||||
|
||||
|
||||
class ClusterPydantic(BaseModel):
|
||||
name: str
|
||||
|
||||
|
||||
class PagePydantic(BaseModel):
|
||||
page: str
|
||||
|
||||
@@ -9,8 +9,8 @@ from Events.Engine.abstract_class import MethodToEvent
|
||||
from Events.base_request_model import EndpointBaseRequestModel, ContextRetrievers
|
||||
from ApiLayers.Middleware.auth_middleware import MiddlewareModule
|
||||
|
||||
from .api_events import validation_event, menu_event
|
||||
from .function_handlers import RetrieveValidation
|
||||
from .api_events import validation_event, menu_event, cluster_event, page_event
|
||||
from .function_handlers import RetrieveValidation, RetrievePage
|
||||
|
||||
|
||||
ValidationEventMethods = MethodToEvent(
|
||||
@@ -54,12 +54,66 @@ MenuEventMethods = MethodToEvent(
|
||||
|
||||
|
||||
def menu_endpoint(request: Request, data: EndpointBaseRequestModel) -> Dict[str, Any]:
|
||||
function = ValidationEventMethods.retrieve_event(
|
||||
function = MenuEventMethods.retrieve_event(
|
||||
event_function_code=f"{menu_event.key}"
|
||||
)
|
||||
data = function.REQUEST_VALIDATOR(**data.data)
|
||||
RetrieveValidation.context_retriever = ContextRetrievers(func=validations_endpoint)
|
||||
RetrieveValidation.context_retriever = ContextRetrievers(func=menu_endpoint)
|
||||
return function.endpoint_callable(request=request, data=data)
|
||||
|
||||
|
||||
MenuEventMethods.endpoint_callable = menu_endpoint
|
||||
|
||||
|
||||
# Cluster Event
|
||||
ClusterEventMethods = MethodToEvent(
|
||||
name="ClusterEventMethods",
|
||||
events={cluster_event.key: cluster_event},
|
||||
headers=[],
|
||||
errors=[],
|
||||
url="/cluster",
|
||||
method="POST",
|
||||
decorators_list=[MiddlewareModule.auth_required],
|
||||
summary="Get Left Menu of the user",
|
||||
description="Get Left Menu of the user",
|
||||
)
|
||||
|
||||
|
||||
def cluster_endpoint(
|
||||
request: Request, data: EndpointBaseRequestModel
|
||||
) -> Dict[str, Any]:
|
||||
function = ClusterEventMethods.retrieve_event(
|
||||
event_function_code=f"{cluster_event.key}"
|
||||
)
|
||||
data = function.REQUEST_VALIDATOR(**data.data)
|
||||
RetrievePage.context_retriever = ContextRetrievers(func=cluster_endpoint)
|
||||
return function.endpoint_callable(request=request, data=data)
|
||||
|
||||
|
||||
ClusterEventMethods.endpoint_callable = cluster_endpoint
|
||||
|
||||
|
||||
# Page Event
|
||||
PageEventMethods = MethodToEvent(
|
||||
name="PageEventMethods",
|
||||
events={page_event.key: page_event},
|
||||
headers=[],
|
||||
errors=[],
|
||||
url="/page",
|
||||
method="POST",
|
||||
decorators_list=[MiddlewareModule.auth_required],
|
||||
summary="Get Left Menu of the user",
|
||||
description="Get Left Menu of the user",
|
||||
)
|
||||
|
||||
|
||||
def page_endpoint(request: Request, data: EndpointBaseRequestModel) -> Dict[str, Any]:
|
||||
function = PageEventMethods.retrieve_event(
|
||||
event_function_code=f"{page_event.key}"
|
||||
)
|
||||
data = function.REQUEST_VALIDATOR(**data.data)
|
||||
RetrievePage.context_retriever = ContextRetrievers(func=page_endpoint)
|
||||
return function.endpoint_callable(request=request, data=data)
|
||||
|
||||
|
||||
PageEventMethods.endpoint_callable = page_endpoint
|
||||
Reference in New Issue
Block a user