wag-managment-api-service-l.../Events/AllEvents/events/account/bases.py

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,
}