updated Query options

This commit is contained in:
2025-01-30 14:24:42 +03:00
parent 822e4155a1
commit b664f64eb4
35 changed files with 852 additions and 589 deletions

View File

@@ -26,4 +26,4 @@ SelectRequestLanguageModel: Dict[str, Dict[str, str]] = {
"company_uu_id": "Company UU ID",
"build_living_space_uu_id": "Build Living Space UU ID",
},
}
}

View File

@@ -1,5 +1,3 @@
authResponses = {
"LOGIN_SELECT": {
"tr": {
@@ -96,5 +94,5 @@ authResponses = {
"en": {
"message": "Token successfully refreshed.",
},
}
},
}

View File

@@ -1,4 +1,7 @@
from ApiLayers.AllConfigs.Redis.configs import RedisValidationKeysAction, RedisValidationKeys
from ApiLayers.AllConfigs.Redis.configs import (
RedisValidationKeysAction,
RedisValidationKeys,
)
from ApiLayers.AllConfigs.main import LanguageConfig
from Events.Engine.set_defaults.category_cluster_models import CategoryClusterController
from Services.Redis.Actions.actions import RedisActions
@@ -28,7 +31,9 @@ class SetDefaultLanguageModelsRedis:
for lang in list(LanguageConfig.SUPPORTED_LANGUAGES):
for code, dict_to_set in response.items():
# [SAVE]REDIS => LANGUAGE_MODELS:STATIC:RESPONSES:{ResponseCode}:tr = {...}
set_key = f"{RedisValidationKeysAction.static_response_key}:{code}:{lang}"
set_key = (
f"{RedisValidationKeysAction.static_response_key}:{code}:{lang}"
)
RedisActions.set_json(list_keys=[set_key], value=dict_to_set[lang])
self.std_out += f"Language Response Models are set to Redis\n"
@@ -81,10 +86,18 @@ class SetClusterLanguageModelsRedis:
self.std_out += f"Setting models from cluster : {cluster_control.name}\n"
for endpoint in cluster_control.category_cluster.ENDPOINTS.values():
for key_event, event in endpoint.EVENTS.items():
merged_language_dict = self.merge_language_dicts(event.LANGUAGE_MODELS)
request_validation = getattr(event.REQUEST_VALIDATOR, "model_fields", None)
response_validation = getattr(event.RESPONSE_VALIDATOR, "model_fields", None)
objects_missing = bool(request_validation) and bool(merged_language_dict)
merged_language_dict = self.merge_language_dicts(
event.LANGUAGE_MODELS
)
request_validation = getattr(
event.REQUEST_VALIDATOR, "model_fields", None
)
response_validation = getattr(
event.RESPONSE_VALIDATOR, "model_fields", None
)
objects_missing = bool(request_validation) and bool(
merged_language_dict
)
if not objects_missing:
continue
if merged_language_dict:
@@ -105,17 +118,23 @@ class SetClusterLanguageModelsRedis:
[SAVE]REDIS => LANGUAGE_MODELS:DYNAMIC:HEADERS:REQUEST:{FunctionCode}:tr = {...}
Get Request BaseModel pydantic model_fields of each event and set headers which are included in model_fields
"""
for lang in list(LanguageConfig.SUPPORTED_LANGUAGES): # Iterate(languages ["tr", "en"])
for lang in list(
LanguageConfig.SUPPORTED_LANGUAGES
): # Iterate(languages ["tr", "en"])
for key_field in self.events_rq_dict.keys(): # Iterate(function_code)
request_model = self.events_rq_dict[key_field]
if not request_model:
self.std_out += f"Request validation model not found for {key_field}\n"
self.std_out += (
f"Request validation model not found for {key_field}\n"
)
continue
if (
key_field not in self.events_rq_dict
or key_field not in self.events_lm_dict
):
self.std_out += f"Request language model are missing {key_field}\n"
self.std_out += (
f"Request language model are missing {key_field}\n"
)
continue
value_to_set = {}
@@ -130,17 +149,23 @@ class SetClusterLanguageModelsRedis:
[SAVE]REDIS => LANGUAGE_MODELS:DYNAMIC:HEADERS:RESPONSE:{FunctionCode}:en = {...}
Get Response BaseModel pydantic model_fields of each event and set headers which are included in model_fields
"""
for lang in list(LanguageConfig.SUPPORTED_LANGUAGES): # Iterate(languages ["tr", "en"])
for lang in list(
LanguageConfig.SUPPORTED_LANGUAGES
): # Iterate(languages ["tr", "en"])
for key_field in self.events_rs_dict.keys(): # Iterate(function_code)
response_model = self.events_rs_dict[key_field]
if not response_model:
self.std_out += f"Response validation model not found for {key_field}\n"
self.std_out += (
f"Response validation model not found for {key_field}\n"
)
continue
if (
key_field not in self.events_rs_dict
or key_field not in self.events_lm_dict
):
self.std_out += f"Response language model are missing {key_field}\n"
self.std_out += (
f"Response language model are missing {key_field}\n"
)
continue
value_to_set = {}

View File

@@ -15,9 +15,12 @@ class StaticValidationRetriever:
@property
def response(self) -> Optional[dict]:
language_model = RedisActions.get_json(
list_keys=[RedisValidationKeysAction.static_response_key, self.code, self.lang]
list_keys=[
RedisValidationKeysAction.static_response_key,
self.code,
self.lang,
]
)
if language_model.status:
return language_model.first
return {"message": f"{self.code} -> Language model not found"}