73 lines
1.6 KiB
Python
73 lines
1.6 KiB
Python
from typing import Any, Dict, Optional
|
|
from Events.Engine.abstract_class import DefaultClusterName
|
|
|
|
|
|
cluster_name = "AccountCluster"
|
|
prefix = "/accounts"
|
|
icon = "Building"
|
|
|
|
# Icons
|
|
class Icons:
|
|
PENCIL = "Pencil"
|
|
PLUS = "Plus"
|
|
TABLE = "Table"
|
|
|
|
# Components
|
|
class Components:
|
|
TABLE = "Table"
|
|
FORM = "Form"
|
|
LINK = "Link"
|
|
|
|
# Keys for the cluster
|
|
class KeyValidations:
|
|
headers = "headers"
|
|
data = "data"
|
|
validation = "validations"
|
|
|
|
# Types of keys
|
|
class KeyTypes:
|
|
REQUEST = "REQUEST"
|
|
RESPONSE = "RESPONSE"
|
|
BOTH = "BOTH"
|
|
|
|
# Key URLS for the cluster
|
|
class KeyURLs:
|
|
validations = "/validations/validations"
|
|
|
|
|
|
# "data": {"event_code": f"{KeyBases.list_key}", "asked_field": KeyValidations.headers, "type": KeyTypes.RESPONSE},
|
|
class ValidationRequest:
|
|
event_code: str
|
|
asked_field: str
|
|
type: Optional[str] = "REQUEST"
|
|
|
|
@classmethod
|
|
def dump(cls) -> Dict[str, Any]:
|
|
return {
|
|
"event_code": cls.event_code,
|
|
"asked_field": cls.asked_field,
|
|
"type": cls.type,
|
|
}
|
|
|
|
|
|
# Keys for the cluster
|
|
class KeyBases:
|
|
create_key = f"{prefix}/create"
|
|
update_key = f"{prefix}/update"
|
|
list_key = f"{prefix}/list"
|
|
|
|
|
|
# Page Variations of the cluster
|
|
class PageBases:
|
|
CREATE = f"/create?{DefaultClusterName}={cluster_name}"
|
|
UPDATE = f"/update?{DefaultClusterName}={cluster_name}"
|
|
DASHBOARD = f"/dashboard?{DefaultClusterName}={cluster_name}"
|
|
|
|
|
|
# Match the keys with the pages
|
|
page_2_keys = {
|
|
KeyBases.create_key: PageBases.CREATE,
|
|
KeyBases.update_key: PageBases.UPDATE,
|
|
KeyBases.list_key: PageBases.DASHBOARD,
|
|
}
|