88
99from json import dumps
1010from sys import version_info
11- from typing import Any , Dict , List , Optional , Tuple , Union
11+ from typing import Any , Dict , Optional , Union
1212from urllib .parse import quote
1313
1414from pydantic import Field , StrictInt , StrictStr
3131 ScheduleABTestsRequest ,
3232)
3333from algoliasearch .http .api_response import ApiResponse
34+ from algoliasearch .http .base_config import BaseConfig
3435from algoliasearch .http .request_options import RequestOptions
35- from algoliasearch .http .serializer import bodySerializer
36+ from algoliasearch .http .serializer import body_serializer
3637from algoliasearch .http .transporter import Transporter
3738from algoliasearch .http .transporter_sync import TransporterSync
3839from algoliasearch .http .verb import Verb
@@ -57,7 +58,7 @@ class AbtestingClient:
5758 """
5859
5960 _transporter : Transporter
60- _config : AbtestingConfig
61+ _config : BaseConfig
6162 _request_options : RequestOptions
6263
6364 def __init__ (
@@ -69,7 +70,9 @@ def __init__(
6970 config : Optional [AbtestingConfig ] = None ,
7071 ) -> None :
7172 if transporter is not None and config is None :
72- config = transporter ._config
73+ config = AbtestingConfig (
74+ transporter .config .app_id , transporter .config .api_key , region
75+ )
7376
7477 if config is None :
7578 config = AbtestingConfig (app_id , api_key , region )
@@ -121,11 +124,11 @@ async def close(self) -> None:
121124
122125 async def set_client_api_key (self , api_key : str ) -> None :
123126 """Sets a new API key to authenticate requests."""
124- self ._transporter ._config .set_client_api_key (api_key )
127+ self ._transporter .config .set_client_api_key (api_key )
125128
126129 async def add_ab_tests_with_http_info (
127130 self ,
128- add_ab_tests_request : AddABTestsRequest ,
131+ add_ab_tests_request : Union [ AddABTestsRequest , dict [ str , Any ]] ,
129132 request_options : Optional [Union [dict , RequestOptions ]] = None ,
130133 ) -> ApiResponse [str ]:
131134 """
@@ -153,15 +156,15 @@ async def add_ab_tests_with_http_info(
153156 verb = Verb .POST ,
154157 path = "/2/abtests" ,
155158 request_options = self ._request_options .merge (
156- data = dumps (bodySerializer (_data )),
159+ data = dumps (body_serializer (_data )),
157160 user_request_options = request_options ,
158161 ),
159162 use_read_transporter = False ,
160163 )
161164
162165 async def add_ab_tests (
163166 self ,
164- add_ab_tests_request : AddABTestsRequest ,
167+ add_ab_tests_request : Union [ AddABTestsRequest , dict [ str , Any ]] ,
165168 request_options : Optional [Union [dict , RequestOptions ]] = None ,
166169 ) -> ABTestResponse :
167170 """
@@ -211,11 +214,11 @@ async def custom_delete_with_http_info(
211214 "Parameter `path` is required when calling `custom_delete`."
212215 )
213216
214- _query_parameters : List [ Tuple [ str , str ]] = []
217+ _query_parameters : Dict [ str , Any ] = {}
215218
216219 if parameters is not None :
217220 for _qpkey , _qpvalue in parameters .items ():
218- _query_parameters . append (( _qpkey , _qpvalue ))
221+ _query_parameters [ _qpkey ] = _qpvalue
219222
220223 return await self ._transporter .request (
221224 verb = Verb .DELETE ,
@@ -286,11 +289,11 @@ async def custom_get_with_http_info(
286289 if path is None :
287290 raise ValueError ("Parameter `path` is required when calling `custom_get`." )
288291
289- _query_parameters : List [ Tuple [ str , str ]] = []
292+ _query_parameters : Dict [ str , Any ] = {}
290293
291294 if parameters is not None :
292295 for _qpkey , _qpvalue in parameters .items ():
293- _query_parameters . append (( _qpkey , _qpvalue ))
296+ _query_parameters [ _qpkey ] = _qpvalue
294297
295298 return await self ._transporter .request (
296299 verb = Verb .GET ,
@@ -365,11 +368,11 @@ async def custom_post_with_http_info(
365368 if path is None :
366369 raise ValueError ("Parameter `path` is required when calling `custom_post`." )
367370
368- _query_parameters : List [ Tuple [ str , str ]] = []
371+ _query_parameters : Dict [ str , Any ] = {}
369372
370373 if parameters is not None :
371374 for _qpkey , _qpvalue in parameters .items ():
372- _query_parameters . append (( _qpkey , _qpvalue ))
375+ _query_parameters [ _qpkey ] = _qpvalue
373376
374377 _data = {}
375378 if body is not None :
@@ -380,7 +383,7 @@ async def custom_post_with_http_info(
380383 path = "/{path}" .replace ("{path}" , path ),
381384 request_options = self ._request_options .merge (
382385 query_parameters = _query_parameters ,
383- data = dumps (bodySerializer (_data )),
386+ data = dumps (body_serializer (_data )),
384387 user_request_options = request_options ,
385388 ),
386389 use_read_transporter = False ,
@@ -457,11 +460,11 @@ async def custom_put_with_http_info(
457460 if path is None :
458461 raise ValueError ("Parameter `path` is required when calling `custom_put`." )
459462
460- _query_parameters : List [ Tuple [ str , str ]] = []
463+ _query_parameters : Dict [ str , Any ] = {}
461464
462465 if parameters is not None :
463466 for _qpkey , _qpvalue in parameters .items ():
464- _query_parameters . append (( _qpkey , _qpvalue ))
467+ _query_parameters [ _qpkey ] = _qpvalue
465468
466469 _data = {}
467470 if body is not None :
@@ -472,7 +475,7 @@ async def custom_put_with_http_info(
472475 path = "/{path}" .replace ("{path}" , path ),
473476 request_options = self ._request_options .merge (
474477 query_parameters = _query_parameters ,
475- data = dumps (bodySerializer (_data )),
478+ data = dumps (body_serializer (_data )),
476479 user_request_options = request_options ,
477480 ),
478481 use_read_transporter = False ,
@@ -653,16 +656,16 @@ async def list_ab_tests_with_http_info(
653656 :return: Returns the raw algoliasearch 'APIResponse' object.
654657 """
655658
656- _query_parameters : List [ Tuple [ str , str ]] = []
659+ _query_parameters : Dict [ str , Any ] = {}
657660
658661 if offset is not None :
659- _query_parameters . append (( "offset" , offset ))
662+ _query_parameters [ "offset" ] = offset
660663 if limit is not None :
661- _query_parameters . append (( "limit" , limit ))
664+ _query_parameters [ "limit" ] = limit
662665 if index_prefix is not None :
663- _query_parameters . append (( "indexPrefix" , index_prefix ))
666+ _query_parameters [ "indexPrefix" ] = index_prefix
664667 if index_suffix is not None :
665- _query_parameters . append (( "indexSuffix" , index_suffix ))
668+ _query_parameters [ "indexSuffix" ] = index_suffix
666669
667670 return await self ._transporter .request (
668671 verb = Verb .GET ,
@@ -721,7 +724,7 @@ async def list_ab_tests(
721724
722725 async def schedule_ab_test_with_http_info (
723726 self ,
724- schedule_ab_tests_request : ScheduleABTestsRequest ,
727+ schedule_ab_tests_request : Union [ ScheduleABTestsRequest , dict [ str , Any ]] ,
725728 request_options : Optional [Union [dict , RequestOptions ]] = None ,
726729 ) -> ApiResponse [str ]:
727730 """
@@ -749,15 +752,15 @@ async def schedule_ab_test_with_http_info(
749752 verb = Verb .POST ,
750753 path = "/2/abtests/schedule" ,
751754 request_options = self ._request_options .merge (
752- data = dumps (bodySerializer (_data )),
755+ data = dumps (body_serializer (_data )),
753756 user_request_options = request_options ,
754757 ),
755758 use_read_transporter = False ,
756759 )
757760
758761 async def schedule_ab_test (
759762 self ,
760- schedule_ab_tests_request : ScheduleABTestsRequest ,
763+ schedule_ab_tests_request : Union [ ScheduleABTestsRequest , dict [ str , Any ]] ,
761764 request_options : Optional [Union [dict , RequestOptions ]] = None ,
762765 ) -> ScheduleABTestResponse :
763766 """
@@ -844,7 +847,7 @@ class AbtestingClientSync:
844847 """
845848
846849 _transporter : TransporterSync
847- _config : AbtestingConfig
850+ _config : BaseConfig
848851 _request_options : RequestOptions
849852
850853 def __init__ (
@@ -856,7 +859,9 @@ def __init__(
856859 config : Optional [AbtestingConfig ] = None ,
857860 ) -> None :
858861 if transporter is not None and config is None :
859- config = transporter ._config
862+ config = AbtestingConfig (
863+ transporter .config .app_id , transporter .config .api_key , region
864+ )
860865
861866 if config is None :
862867 config = AbtestingConfig (app_id , api_key , region )
@@ -907,11 +912,11 @@ def close(self) -> None:
907912
908913 def set_client_api_key (self , api_key : str ) -> None :
909914 """Sets a new API key to authenticate requests."""
910- self ._transporter ._config .set_client_api_key (api_key )
915+ self ._transporter .config .set_client_api_key (api_key )
911916
912917 def add_ab_tests_with_http_info (
913918 self ,
914- add_ab_tests_request : AddABTestsRequest ,
919+ add_ab_tests_request : Union [ AddABTestsRequest , dict [ str , Any ]] ,
915920 request_options : Optional [Union [dict , RequestOptions ]] = None ,
916921 ) -> ApiResponse [str ]:
917922 """
@@ -939,15 +944,15 @@ def add_ab_tests_with_http_info(
939944 verb = Verb .POST ,
940945 path = "/2/abtests" ,
941946 request_options = self ._request_options .merge (
942- data = dumps (bodySerializer (_data )),
947+ data = dumps (body_serializer (_data )),
943948 user_request_options = request_options ,
944949 ),
945950 use_read_transporter = False ,
946951 )
947952
948953 def add_ab_tests (
949954 self ,
950- add_ab_tests_request : AddABTestsRequest ,
955+ add_ab_tests_request : Union [ AddABTestsRequest , dict [ str , Any ]] ,
951956 request_options : Optional [Union [dict , RequestOptions ]] = None ,
952957 ) -> ABTestResponse :
953958 """
@@ -995,11 +1000,11 @@ def custom_delete_with_http_info(
9951000 "Parameter `path` is required when calling `custom_delete`."
9961001 )
9971002
998- _query_parameters : List [ Tuple [ str , str ]] = []
1003+ _query_parameters : Dict [ str , Any ] = {}
9991004
10001005 if parameters is not None :
10011006 for _qpkey , _qpvalue in parameters .items ():
1002- _query_parameters . append (( _qpkey , _qpvalue ))
1007+ _query_parameters [ _qpkey ] = _qpvalue
10031008
10041009 return self ._transporter .request (
10051010 verb = Verb .DELETE ,
@@ -1068,11 +1073,11 @@ def custom_get_with_http_info(
10681073 if path is None :
10691074 raise ValueError ("Parameter `path` is required when calling `custom_get`." )
10701075
1071- _query_parameters : List [ Tuple [ str , str ]] = []
1076+ _query_parameters : Dict [ str , Any ] = {}
10721077
10731078 if parameters is not None :
10741079 for _qpkey , _qpvalue in parameters .items ():
1075- _query_parameters . append (( _qpkey , _qpvalue ))
1080+ _query_parameters [ _qpkey ] = _qpvalue
10761081
10771082 return self ._transporter .request (
10781083 verb = Verb .GET ,
@@ -1147,11 +1152,11 @@ def custom_post_with_http_info(
11471152 if path is None :
11481153 raise ValueError ("Parameter `path` is required when calling `custom_post`." )
11491154
1150- _query_parameters : List [ Tuple [ str , str ]] = []
1155+ _query_parameters : Dict [ str , Any ] = {}
11511156
11521157 if parameters is not None :
11531158 for _qpkey , _qpvalue in parameters .items ():
1154- _query_parameters . append (( _qpkey , _qpvalue ))
1159+ _query_parameters [ _qpkey ] = _qpvalue
11551160
11561161 _data = {}
11571162 if body is not None :
@@ -1162,7 +1167,7 @@ def custom_post_with_http_info(
11621167 path = "/{path}" .replace ("{path}" , path ),
11631168 request_options = self ._request_options .merge (
11641169 query_parameters = _query_parameters ,
1165- data = dumps (bodySerializer (_data )),
1170+ data = dumps (body_serializer (_data )),
11661171 user_request_options = request_options ,
11671172 ),
11681173 use_read_transporter = False ,
@@ -1237,11 +1242,11 @@ def custom_put_with_http_info(
12371242 if path is None :
12381243 raise ValueError ("Parameter `path` is required when calling `custom_put`." )
12391244
1240- _query_parameters : List [ Tuple [ str , str ]] = []
1245+ _query_parameters : Dict [ str , Any ] = {}
12411246
12421247 if parameters is not None :
12431248 for _qpkey , _qpvalue in parameters .items ():
1244- _query_parameters . append (( _qpkey , _qpvalue ))
1249+ _query_parameters [ _qpkey ] = _qpvalue
12451250
12461251 _data = {}
12471252 if body is not None :
@@ -1252,7 +1257,7 @@ def custom_put_with_http_info(
12521257 path = "/{path}" .replace ("{path}" , path ),
12531258 request_options = self ._request_options .merge (
12541259 query_parameters = _query_parameters ,
1255- data = dumps (bodySerializer (_data )),
1260+ data = dumps (body_serializer (_data )),
12561261 user_request_options = request_options ,
12571262 ),
12581263 use_read_transporter = False ,
@@ -1431,16 +1436,16 @@ def list_ab_tests_with_http_info(
14311436 :return: Returns the raw algoliasearch 'APIResponse' object.
14321437 """
14331438
1434- _query_parameters : List [ Tuple [ str , str ]] = []
1439+ _query_parameters : Dict [ str , Any ] = {}
14351440
14361441 if offset is not None :
1437- _query_parameters . append (( "offset" , offset ))
1442+ _query_parameters [ "offset" ] = offset
14381443 if limit is not None :
1439- _query_parameters . append (( "limit" , limit ))
1444+ _query_parameters [ "limit" ] = limit
14401445 if index_prefix is not None :
1441- _query_parameters . append (( "indexPrefix" , index_prefix ))
1446+ _query_parameters [ "indexPrefix" ] = index_prefix
14421447 if index_suffix is not None :
1443- _query_parameters . append (( "indexSuffix" , index_suffix ))
1448+ _query_parameters [ "indexSuffix" ] = index_suffix
14441449
14451450 return self ._transporter .request (
14461451 verb = Verb .GET ,
@@ -1499,7 +1504,7 @@ def list_ab_tests(
14991504
15001505 def schedule_ab_test_with_http_info (
15011506 self ,
1502- schedule_ab_tests_request : ScheduleABTestsRequest ,
1507+ schedule_ab_tests_request : Union [ ScheduleABTestsRequest , dict [ str , Any ]] ,
15031508 request_options : Optional [Union [dict , RequestOptions ]] = None ,
15041509 ) -> ApiResponse [str ]:
15051510 """
@@ -1527,15 +1532,15 @@ def schedule_ab_test_with_http_info(
15271532 verb = Verb .POST ,
15281533 path = "/2/abtests/schedule" ,
15291534 request_options = self ._request_options .merge (
1530- data = dumps (bodySerializer (_data )),
1535+ data = dumps (body_serializer (_data )),
15311536 user_request_options = request_options ,
15321537 ),
15331538 use_read_transporter = False ,
15341539 )
15351540
15361541 def schedule_ab_test (
15371542 self ,
1538- schedule_ab_tests_request : ScheduleABTestsRequest ,
1543+ schedule_ab_tests_request : Union [ ScheduleABTestsRequest , dict [ str , Any ]] ,
15391544 request_options : Optional [Union [dict , RequestOptions ]] = None ,
15401545 ) -> ScheduleABTestResponse :
15411546 """
0 commit comments