1919from typing import Union
2020
2121from app .translator .const import DEFAULT_VALUE_TYPE
22+ from app .translator .core .custom_types .values import ValueType
2223from app .translator .core .exceptions .render import UnsupportedRenderMethod
2324from app .translator .core .models .platform_details import PlatformDetails
2425from app .translator .core .render import BaseQueryFieldValue ,PlatformQueryRender
@@ -38,11 +39,11 @@ class CortexXSIAMFieldValue(BaseQueryFieldValue):
3839
3940def equal_modifier (self ,field :str ,value :DEFAULT_VALUE_TYPE )-> str :
4041if isinstance (value ,list ):
41- values = ", " .join (f'"{ v } "' for v in value )
42+ values = ", " .join (f'"{ self . apply_value ( v ) } "' for v in value )
4243return f"{ field } in ({ values } )"
4344if isinstance (value ,int ):
4445return f"{ field } ={ value } "
45- return f'{ field } = "{ value } "'
46+ return f'{ field } = "{ self . apply_value ( value ) } "'
4647
4748def less_modifier (self ,field :str ,value :Union [int ,str ])-> str :
4849return f"{ field } <{ value } "
@@ -59,30 +60,30 @@ def greater_or_equal_modifier(self, field: str, value: Union[int, str]) -> str:
5960def not_equal_modifier (self ,field :str ,value :DEFAULT_VALUE_TYPE )-> str :
6061if isinstance (value ,list ):
6162return f"({ self .or_token .join ([self .not_equal_modifier (field = field ,value = v )for v in value ])} )"
62- return f'{ field } != "{ value } "'
63+ return f'{ field } != "{ self . apply_value ( value ) } "'
6364
6465def contains_modifier (self ,field :str ,value :DEFAULT_VALUE_TYPE )-> str :
6566if isinstance (value ,list ):
6667return f"({ self .or_token .join (self .contains_modifier (field = field ,value = v )for v in value )} )"
67- return f'{ field } contains "{ value } "'
68+ return f'{ field } contains "{ self . apply_value ( value ) } "'
6869
6970def endswith_modifier (self ,field :str ,value :DEFAULT_VALUE_TYPE )-> str :
7071if isinstance (value ,list ):
7172return (
72- f"({ self .or_token .join (self .endswith_modifier (field = field ,value = self . apply_value ( v ) )for v in value )} )"
73+ f"({ self .or_token .join (self .endswith_modifier (field = field ,value = v )for v in value )} )"
7374 )
74- return f'{ field } ~= ".*{ self .apply_value (value )} "'
75+ return f'{ field } ~= ".*{ self .apply_value (value , value_type = ValueType . regex_value )} "'
7576
7677def startswith_modifier (self ,field :str ,value :DEFAULT_VALUE_TYPE )-> str :
7778if isinstance (value ,list ):
78- clause = self .or_token .join (self .startswith_modifier (field = field ,value = self . apply_value ( v ) )for v in value )
79+ clause = self .or_token .join (self .startswith_modifier (field = field ,value = v )for v in value )
7980return f"({ clause } )"
80- return f'{ field } ~= "{ self .apply_value (value )} .*"'
81+ return f'{ field } ~= "{ self .apply_value (value , value_type = ValueType . regex_value )} .*"'
8182
8283def regex_modifier (self ,field :str ,value :DEFAULT_VALUE_TYPE )-> str :
8384if isinstance (value ,list ):
84- return f"({ self .or_token .join (self .regex_modifier (field = field ,value = self . apply_value ( v ) )for v in value )} )"
85- return f'{ field } ~= "{ self .apply_value (value )} "'
85+ return f"({ self .or_token .join (self .regex_modifier (field = field ,value = v )for v in value )} )"
86+ return f'{ field } ~= "{ self .apply_value (value , value_type = ValueType . regex_value )} "'
8687
8788def is_none (self ,field :str ,value :DEFAULT_VALUE_TYPE )-> str :
8889if isinstance (value ,list ):