diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 3980fa4..b77c37f 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -6,12 +6,12 @@
-
+
+
-
+
-
@@ -43,7 +43,7 @@
"RunOnceActivity.ShowReadmeOnStart": "true",
"RunOnceActivity.git.unshallow": "true",
"git-widget-placeholder": "development",
- "last_opened_file_path": "/home/berkay/git-gitea-evyos/wag-managment-api-service-version-5/Events/AllEvents/events/project_decision_book/project_decision_book_person"
+ "last_opened_file_path": "/home/berkay/git-try-from/django-starter-project"
}
}
diff --git a/ApiLayers/AllConfigs/Redis/configs.py b/ApiLayers/AllConfigs/Redis/configs.py
index 6f22151..978028f 100644
--- a/ApiLayers/AllConfigs/Redis/configs.py
+++ b/ApiLayers/AllConfigs/Redis/configs.py
@@ -37,6 +37,7 @@ class RedisAuthKeys:
AUTH: str = "AUTH"
OCCUPANT: str = "OCCUPANT"
EMPLOYEE: str = "EMPLOYEE"
+ CACHE: str = "CACHE"
class RedisCategoryKeys:
diff --git a/Events/AllEvents/events/account/bases.py b/Events/AllEvents/events/account/bases.py
index 85de96d..f253e3d 100644
--- a/Events/AllEvents/events/account/bases.py
+++ b/Events/AllEvents/events/account/bases.py
@@ -12,6 +12,9 @@ class KeyValidations:
data = "data"
validation = "validations"
+# Key URLS for the cluster
+class KeyURLs:
+ validations = "/validations/validations"
# Keys for the cluster
class KeyBases:
@@ -27,7 +30,9 @@ class PageBases:
DASHBOARD = f"/dashboard?{DefaultClusterName}={cluster_name}"
-class Page2Keys:
- KeyBases.create_key = PageBases.CREATE
- KeyBases.update_key = PageBases.UPDATE
- KeyBases.list_key = PageBases.DASHBOARD
+# Match the keys with the pages
+page_2_keys = {
+ KeyBases.create_key: PageBases.CREATE,
+ KeyBases.update_key: PageBases.UPDATE,
+ KeyBases.list_key: PageBases.DASHBOARD,
+}
diff --git a/Events/AllEvents/events/account/cluster.py b/Events/AllEvents/events/account/cluster.py
index 32df569..7eb9a51 100644
--- a/Events/AllEvents/events/account/cluster.py
+++ b/Events/AllEvents/events/account/cluster.py
@@ -4,7 +4,7 @@ from .account_records import (
AccountRecordsCreateEventMethods,
AccountRecordsUpdateEventMethods,
)
-from .bases import cluster_name, prefix
+from .bases import cluster_name, prefix, page_2_keys
from .info import page_infos
@@ -19,6 +19,7 @@ AccountCluster = CategoryCluster(
"AccountRecordsUpdateEventMethods": AccountRecordsUpdateEventMethods,
"AccountRecordsListEventMethods": AccountRecordsListEventMethods,
},
+ mapping=page_2_keys,
include_in_schema=True,
sub_category=[],
is_client=True,
diff --git a/Events/AllEvents/events/account/info.py b/Events/AllEvents/events/account/info.py
index ee60247..c7ba706 100644
--- a/Events/AllEvents/events/account/info.py
+++ b/Events/AllEvents/events/account/info.py
@@ -1,5 +1,5 @@
from Events.Engine.abstract_class import PageInfo
-from .bases import KeyValidations, cluster_name, KeyBases, PageBases, icon
+from .bases import KeyValidations, cluster_name, KeyBases, PageBases, icon, KeyURLs
from .account_records import (
AccountRecordsUpdateEventMethods,
AccountRecordsCreateEventMethods,
@@ -33,7 +33,7 @@ class ClustersPageInfo:
str(KeyBases.list_key): {
"headers": {
"store": True,
- "url": "/validations/header",
+ "url": KeyURLs.validations,
"data": {"event_code": f"{KeyBases.list_key}", "asked_field": KeyValidations.headers},
},
"data": {
@@ -65,12 +65,12 @@ class ClustersPageInfo:
str(KeyBases.create_key): {
"validation": {
"store": True,
- "url": "/validations/validation",
+ "url": KeyURLs.validations,
"data": {"event_code": f"{KeyBases.create_key}", "asked_field": KeyValidations.validation },
},
"headers": {
"store": True,
- "url": "/validations/header",
+ "url": KeyURLs.validations,
"data": {"event_code": f"{KeyBases.create_key}", "asked_field": KeyValidations.headers},
},
},
@@ -91,7 +91,6 @@ class ClustersPageInfo:
},
)
-
update_page_info = PageInfo(
name=f"{cluster_name}",
url=PageBases.UPDATE,
@@ -100,12 +99,12 @@ class ClustersPageInfo:
str(KeyBases.update_key): {
"validation": {
"store": True,
- "url": "/validations/validation",
+ "url": KeyURLs.validations,
"data": {"event_code": f"{KeyBases.update_key}", "asked_field": KeyValidations.validation},
},
"headers": {
"store": True,
- "url": "/validations/header",
+ "url": KeyURLs.validations,
"data": {"event_code": f"{KeyBases.update_key}", "asked_field": KeyValidations.headers},
},
},
diff --git a/Events/AllEvents/validations/validation/function_handlers.py b/Events/AllEvents/validations/validation/function_handlers.py
index bae2201..2b43bd3 100644
--- a/Events/AllEvents/validations/validation/function_handlers.py
+++ b/Events/AllEvents/validations/validation/function_handlers.py
@@ -192,6 +192,7 @@ class RetrievePage(BaseRouteModel):
prefix=cluster_name.PREFIX,
url=dict(page_info).get("url", None),
icon=dict(page_info).get("icon", None),
+ mapping=cluster_name.MAPPING,
page_info=dict(page_info).get("page_info", None),
endpoints={},
language_models={},
diff --git a/Events/Engine/abstract_class.py b/Events/Engine/abstract_class.py
index c25f05c..88377a3 100644
--- a/Events/Engine/abstract_class.py
+++ b/Events/Engine/abstract_class.py
@@ -266,8 +266,9 @@ class CategoryCluster:
PREFIX: str
PAGEINFO: Optional[Dict["str", PageInfo]]
DESCRIPTION: str
- ENDPOINTS: dict[str, MethodToEvent] # {"MethodToEvent": MethodToEvent, ...}
+ ENDPOINTS: dict[str, MethodToEvent] # {"MethodToEvent": MethodToEvent, ...}
SUBCATEGORY: Optional[List["CategoryCluster"]] # [CategoryCluster, ...]
+ MAPPING: Optional[List[Dict[str, Any]]] # [{"key": "value"}, ...]
INCLUDE_IN_SCHEMA: Optional[bool] = True
IS_CLIENT: Optional[bool] = False
@@ -279,6 +280,7 @@ class CategoryCluster:
description: str,
endpoints: dict[str, MethodToEvent],
sub_category: list,
+ mapping: Optional[List[Dict[str, Any]]] = None,
pageinfo: Optional[Dict["str", PageInfo]] = None,
include_in_schema: Optional[bool] = True,
is_client: Optional[bool] = False,
@@ -291,6 +293,7 @@ class CategoryCluster:
self.ENDPOINTS = endpoints or {}
self.SUBCATEGORY = sub_category or []
self.INCLUDE_IN_SCHEMA = include_in_schema
+ self.MAPPING = mapping
self.IS_CLIENT = is_client
@property
@@ -341,16 +344,16 @@ class CategoryCluster:
def retrieve_page_info(self):
"""
PAGE_INFO:ClusterToMethod = {"PageInfo": {...}, "subCategory": PAGE_INFO:ClusterToMethod}
- return {"prefix": self.PREFIX, **page_info}
+ return {"prefix": self.PREFIX, "mapping": self.MAPPING, **page_infos}
"""
page_infos = {}
if isinstance(self.PAGEINFO, dict):
for page_key, page_info in dict(self.PAGEINFO).items():
if page_info_dict := getattr(page_info, "as_dict", None):
page_infos[page_key] = page_info_dict
- return {"prefix": self.PREFIX, **page_infos}
+ return {"prefix": self.PREFIX, "mapping": self.MAPPING, **page_infos}
if hasattr(self.PAGEINFO, "as_dict"):
- return {"prefix": self.PREFIX, **self.PAGEINFO.as_dict}
+ return {"prefix": self.PREFIX, "mapping": self.MAPPING, **self.PAGEINFO.as_dict}
return