updated account info gathering

This commit is contained in:
2025-02-13 16:41:15 +03:00
parent 533fe1f84e
commit 3bcec2abff
8 changed files with 339 additions and 185 deletions

View File

@@ -53,11 +53,76 @@ class PageInfo:
"/update?site=AccountCluster": ["/accounts/update"],
"/create?site=AccountCluster": ["/accounts/create"],
},
RedisValidation = dict(
NAME="AccountCluster",
PREFIX="/accounts",
URL="/dashboard?site=AccountCluster",
ICON="Building",
INFO={
"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ı",
},
},
SUB_COMPONENTS={
"/accounts/create": {
"SITE_URL": "/events/create?site=AccountCluster",
"COMPONENT": "Link",
"PREFIX_URL": "/accounts/create",
"INFO": {
"en": {
"page": "Create Account Records",
"actions": "Actions",
"table": "Table",
},
"tr": {
"page": "Hesap Kayıdı Oluştur",
"actions": "Aksiyonlar",
"table": "Tablo",
},
},
"INSTRUCTIONS": None,
},
"/accounts/list": {
"SITE_URL": "/events/dashboard?site=AccountCluster",
"COMPONENT": "Table",
"PREFIX_URL": "/accounts/list",
"INFO": {
"en": { "page": "List Account Records" },
"tr": { "page": "Hesap Kayıtlarını Listele" },
},
"INSTRUCTIONS": {
"headers": {
"store": True,
"url": "/validations/header",
"data": {
"event_code": "/accounts/list",
"asked_field": "headers",
},
},
"data": {
"store": True,
"url": "/accounts/list",
"data": {
"page": 1,
"limit": 1,
"order_by": "uu_id",
"order_type": "desc",
"query": None,
},
},
},
},
},
)
"""
NAME: str
PAGE_URL: str
PAGEINFO: Dict[str, Any]
INFO: Dict[str, Any]
URL: str = ""
ENDPOINTS: Dict[str, Any]
LANGUAGE_MODELS: Dict[str, Any]
@@ -69,10 +134,10 @@ class PageInfo:
name: str,
icon: str,
url: str,
endpoints: Dict[str, Any],
language_models: Dict[str, Any],
page_info: Optional[Dict[str, Any]] = None,
sub_components: Optional[list["PageComponent"]] = None,
info: Optional[Dict[str, Any]] = None,
endpoints: Optional[Dict[str, Any]] = None,
language_models: Optional[Dict[str, Any]] = None,
sub_components: Optional[list[Dict[str, Any]]] = None,
instructions: Optional[Dict[str, Any]] = None,
):
self.NAME = name
@@ -81,7 +146,7 @@ class PageInfo:
self.URL = url
self.SUB_COMPONENTS = sub_components
self.ENDPOINTS = endpoints
self.PAGEINFO = page_info
self.INFO = info
self.INSTRUCTIONS = instructions
@property
@@ -95,17 +160,13 @@ class PageInfo:
@property
def as_dict(self):
as_dict = {
"name": self.NAME,
"icon": self.ICON,
"url": self.URL,
"endpoints": self.ENDPOINTS,
"language_models": self.LANGUAGE_MODELS,
"page_info": self.PAGEINFO,
"NAME": self.NAME,
"ICON": self.ICON,
"URL": self.URL,
"LANGUAGE_MODELS": self.LANGUAGE_MODELS,
"INFO": self.INFO,
"SUB_COMPONENTS": self.SUB_COMPONENTS,
}
if self.INSTRUCTIONS:
as_dict["instructions"] = self.INSTRUCTIONS
if self.SUB_COMPONENTS:
as_dict["sub_components"] = [i.as_dict() for i in self.SUB_COMPONENTS]
return as_dict
@@ -354,7 +415,7 @@ class CategoryCluster:
return {"prefix": self.PREFIX, "mapping": self.MAPPING, **page_infos}
if hasattr(self.PAGEINFO, "as_dict"):
return {"prefix": self.PREFIX, "mapping": self.MAPPING, **self.PAGEINFO.as_dict}
return
raise ValueError("PAGE_INFO not found")
class LanguageModels:
@@ -363,6 +424,7 @@ class LanguageModels:
PREFIX_URL: str = ""
PAGE_INFO: dict
STATIC_PATH: str = STATIC_PATH
ICON: str = ""
def as_dict(self):
return {
@@ -370,6 +432,7 @@ class LanguageModels:
"COMPONENT": self.COMPONENT,
"PREFIX_URL": self.PREFIX_URL,
"PAGE_INFO": self.PAGE_INFO,
"ICON": self.ICON,
}