11import json
2+ from skyflow .generated .rest .types .token_type import TokenType
3+ from skyflow .generated .rest .types .transformations import Transformations
4+ from skyflow .generated .rest .types .transformations_shift_dates import TransformationsShiftDates
25from skyflow .utils ._skyflow_messages import SkyflowMessages
3- from skyflow .utils ._utils import get_metrics , handle_exception , parse_deidentify_text_response , parse_reidentify_text_response
6+ from skyflow .utils ._utils import convert_to_entity_type , get_metrics , handle_exception , parse_deidentify_text_response , parse_reidentify_text_response
47from skyflow .utils .constants import SKY_META_DATA_HEADER
58from skyflow .utils .logger import log_info , log_error_log
69from skyflow .utils .validations ._validations import validate_deidentify_text_request , validate_reidentify_text_request
@@ -23,29 +26,42 @@ def __get_headers(self):
2326
2427 def ___build_deidentify_text_body (self , request : DeidentifyTextRequest ) -> Dict [str , Any ]:
2528 deidentify_text_body = {}
26- entity_types = []
27- deidentify_text_body ['text' ] = request .text
28-
29- for entity in request .entities :
30- entity_type = entity .value
31- entity_types .append (entity_type )
29+ parsed_entity_types = convert_to_entity_type (request .entities )
3230
33- deidentify_text_body ['entity_types' ] = entity_types
34- deidentify_text_body ['token_type' ] = request .token_format
31+ parsed_token_type = TokenType (
32+ default = request .token_format .default ,
33+ vault_token = convert_to_entity_type (request .token_format .vault_token ),
34+ entity_unq_counter = convert_to_entity_type (request .token_format .entity_unique_counter ),
35+ entity_only = convert_to_entity_type (request .token_format .entity_only )
36+ )
37+ parsed_transformations = None
38+ if request .transformations is not None :
39+ parsed_transformations = Transformations (
40+ shift_dates = TransformationsShiftDates (
41+ max_days = request .transformations .shift_days .max ,
42+ min_days = request .transformations .shift_days .min ,
43+ entity_types = convert_to_entity_type (request .transformations .shift_days .entities )
44+ )
45+ )
46+
47+ deidentify_text_body ['text' ] = request .text
48+ deidentify_text_body ['entity_types' ] = parsed_entity_types
49+ deidentify_text_body ['token_type' ] = parsed_token_type
3550 deidentify_text_body ['allow_regex' ] = request .allow_regex_list
3651 deidentify_text_body ['restrict_regex' ] = request .restrict_regex_list
37- deidentify_text_body ['transformations' ] = request .transformations
52+ deidentify_text_body ['transformations' ] = parsed_transformations
53+
3854 return deidentify_text_body
3955
4056 def ___build_reidentify_text_body (self , request : ReidentifyTextRequest ) -> Dict [str , Any ]:
41- format_obj = ReidentifyStringRequestFormat (
42- redacted = request .redacted_entities ,
43- masked = request .masked_entities ,
44- plaintext = request .plain_text_entities
57+ parsed_format = ReidentifyStringRequestFormat (
58+ redacted = convert_to_entity_type ( request .redacted_entities ) ,
59+ masked = convert_to_entity_type ( request .masked_entities ) ,
60+ plaintext = convert_to_entity_type ( request .plain_text_entities )
4561 )
46- reidentify_text_body = []
62+ reidentify_text_body = {}
4763 reidentify_text_body ['text' ] = request .text
48- reidentify_text_body ['format' ] = format_obj
64+ reidentify_text_body ['format' ] = parsed_format
4965 return reidentify_text_body
5066
5167 def deidentify_text (self , request : DeidentifyTextRequest ) -> DeidentifyTextResponse :
@@ -59,12 +75,12 @@ def deidentify_text(self, request: DeidentifyTextRequest) -> DeidentifyTextRespo
5975 try :
6076 log_info (SkyflowMessages .Info .DEIDENTIFY_TEXT_TRIGGERED .value , self .__vault_client .get_logger ())
6177 api_response = detect_api .deidentify_string (
62- self .__vault_client .get_vault_id (),
63- request . text ,
64- entity_types = deidentify_text_body ['entities ' ],
65- allows_regex = deidentify_text_body ['allow_regex_list ' ],
66- restrict_regex = deidentify_text_body ['restrict_regex_list ' ],
67- token_type = deidentify_text_body ['token_format ' ],
78+ vault_id = self .__vault_client .get_vault_id (),
79+ text = deidentify_text_body [ 'text' ] ,
80+ entity_types = deidentify_text_body ['entity_types ' ],
81+ allow_regex = deidentify_text_body ['allow_regex ' ],
82+ restrict_regex = deidentify_text_body ['restrict_regex ' ],
83+ token_type = deidentify_text_body ['token_type ' ],
6884 transformations = deidentify_text_body ['transformations' ],
6985 request_options = self .__get_headers ()
7086 )
@@ -78,7 +94,7 @@ def deidentify_text(self, request: DeidentifyTextRequest) -> DeidentifyTextRespo
7894
7995 def reidentify_text (self , request : ReidentifyTextRequest ) -> ReidentifyTextResponse :
8096 log_info (SkyflowMessages .Info .VALIDATING_REIDENTIFY_TEXT_INPUT .value , self .__vault_client .get_logger ())
81- validate_deidentify_text_request (self .__vault_client .get_logger (), request )
97+ validate_reidentify_text_request (self .__vault_client .get_logger (), request )
8298 log_info (SkyflowMessages .Info .REIDENTIFY_TEXT_REQUEST_RESOLVED .value , self .__vault_client .get_logger ())
8399 self .__initialize ()
84100 detect_api = self .__vault_client .get_detect_text_api ()
@@ -87,8 +103,8 @@ def reidentify_text(self, request: ReidentifyTextRequest) -> ReidentifyTextRespo
87103 try :
88104 log_info (SkyflowMessages .Info .REIDENTIFY_TEXT_TRIGGERED .value , self .__vault_client .get_logger ())
89105 api_response = detect_api .reidentify_string (
90- text = reidentify_text_body ['text' ],
91106 vault_id = self .__vault_client .get_vault_id (),
107+ text = reidentify_text_body ['text' ],
92108 format = reidentify_text_body ['format' ],
93109 request_options = self .__get_headers ()
94110 )
@@ -97,5 +113,5 @@ def reidentify_text(self, request: ReidentifyTextRequest) -> ReidentifyTextRespo
97113 return reidentify_text_response
98114
99115 except Exception as e :
100- log_error_log (SkyflowMessages .ErrorLogs .DEIDENTIFY_TEXT_REQUEST_REJECTED .value , self .__vault_client .get_logger ())
116+ log_error_log (SkyflowMessages .ErrorLogs .REIDENTIFY_TEXT_REQUEST_REJECTED .value , self .__vault_client .get_logger ())
101117 handle_exception (e , self .__vault_client .get_logger ())
0 commit comments