8
8
9
9
from json import dumps
10
10
from sys import version_info
11
- from typing import Any , Dict , List , Optional , Tuple , Union
11
+ from typing import Any , Dict , Optional , Union
12
12
from urllib .parse import quote
13
13
14
14
from pydantic import Field , StrictInt , StrictStr
31
31
ScheduleABTestsRequest ,
32
32
)
33
33
from algoliasearch .http .api_response import ApiResponse
34
+ from algoliasearch .http .base_config import BaseConfig
34
35
from algoliasearch .http .request_options import RequestOptions
35
- from algoliasearch .http .serializer import bodySerializer
36
+ from algoliasearch .http .serializer import body_serializer
36
37
from algoliasearch .http .transporter import Transporter
37
38
from algoliasearch .http .transporter_sync import TransporterSync
38
39
from algoliasearch .http .verb import Verb
@@ -57,7 +58,7 @@ class AbtestingClient:
57
58
"""
58
59
59
60
_transporter : Transporter
60
- _config : AbtestingConfig
61
+ _config : BaseConfig
61
62
_request_options : RequestOptions
62
63
63
64
def __init__ (
@@ -69,7 +70,9 @@ def __init__(
69
70
config : Optional [AbtestingConfig ] = None ,
70
71
) -> None :
71
72
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
+ )
73
76
74
77
if config is None :
75
78
config = AbtestingConfig (app_id , api_key , region )
@@ -121,11 +124,11 @@ async def close(self) -> None:
121
124
122
125
async def set_client_api_key (self , api_key : str ) -> None :
123
126
"""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 )
125
128
126
129
async def add_ab_tests_with_http_info (
127
130
self ,
128
- add_ab_tests_request : AddABTestsRequest ,
131
+ add_ab_tests_request : Union [ AddABTestsRequest , dict [ str , Any ]] ,
129
132
request_options : Optional [Union [dict , RequestOptions ]] = None ,
130
133
) -> ApiResponse [str ]:
131
134
"""
@@ -153,15 +156,15 @@ async def add_ab_tests_with_http_info(
153
156
verb = Verb .POST ,
154
157
path = "/2/abtests" ,
155
158
request_options = self ._request_options .merge (
156
- data = dumps (bodySerializer (_data )),
159
+ data = dumps (body_serializer (_data )),
157
160
user_request_options = request_options ,
158
161
),
159
162
use_read_transporter = False ,
160
163
)
161
164
162
165
async def add_ab_tests (
163
166
self ,
164
- add_ab_tests_request : AddABTestsRequest ,
167
+ add_ab_tests_request : Union [ AddABTestsRequest , dict [ str , Any ]] ,
165
168
request_options : Optional [Union [dict , RequestOptions ]] = None ,
166
169
) -> ABTestResponse :
167
170
"""
@@ -211,11 +214,11 @@ async def custom_delete_with_http_info(
211
214
"Parameter `path` is required when calling `custom_delete`."
212
215
)
213
216
214
- _query_parameters : List [ Tuple [ str , str ]] = []
217
+ _query_parameters : Dict [ str , Any ] = {}
215
218
216
219
if parameters is not None :
217
220
for _qpkey , _qpvalue in parameters .items ():
218
- _query_parameters . append (( _qpkey , _qpvalue ))
221
+ _query_parameters [ _qpkey ] = _qpvalue
219
222
220
223
return await self ._transporter .request (
221
224
verb = Verb .DELETE ,
@@ -286,11 +289,11 @@ async def custom_get_with_http_info(
286
289
if path is None :
287
290
raise ValueError ("Parameter `path` is required when calling `custom_get`." )
288
291
289
- _query_parameters : List [ Tuple [ str , str ]] = []
292
+ _query_parameters : Dict [ str , Any ] = {}
290
293
291
294
if parameters is not None :
292
295
for _qpkey , _qpvalue in parameters .items ():
293
- _query_parameters . append (( _qpkey , _qpvalue ))
296
+ _query_parameters [ _qpkey ] = _qpvalue
294
297
295
298
return await self ._transporter .request (
296
299
verb = Verb .GET ,
@@ -365,11 +368,11 @@ async def custom_post_with_http_info(
365
368
if path is None :
366
369
raise ValueError ("Parameter `path` is required when calling `custom_post`." )
367
370
368
- _query_parameters : List [ Tuple [ str , str ]] = []
371
+ _query_parameters : Dict [ str , Any ] = {}
369
372
370
373
if parameters is not None :
371
374
for _qpkey , _qpvalue in parameters .items ():
372
- _query_parameters . append (( _qpkey , _qpvalue ))
375
+ _query_parameters [ _qpkey ] = _qpvalue
373
376
374
377
_data = {}
375
378
if body is not None :
@@ -380,7 +383,7 @@ async def custom_post_with_http_info(
380
383
path = "/{path}" .replace ("{path}" , path ),
381
384
request_options = self ._request_options .merge (
382
385
query_parameters = _query_parameters ,
383
- data = dumps (bodySerializer (_data )),
386
+ data = dumps (body_serializer (_data )),
384
387
user_request_options = request_options ,
385
388
),
386
389
use_read_transporter = False ,
@@ -457,11 +460,11 @@ async def custom_put_with_http_info(
457
460
if path is None :
458
461
raise ValueError ("Parameter `path` is required when calling `custom_put`." )
459
462
460
- _query_parameters : List [ Tuple [ str , str ]] = []
463
+ _query_parameters : Dict [ str , Any ] = {}
461
464
462
465
if parameters is not None :
463
466
for _qpkey , _qpvalue in parameters .items ():
464
- _query_parameters . append (( _qpkey , _qpvalue ))
467
+ _query_parameters [ _qpkey ] = _qpvalue
465
468
466
469
_data = {}
467
470
if body is not None :
@@ -472,7 +475,7 @@ async def custom_put_with_http_info(
472
475
path = "/{path}" .replace ("{path}" , path ),
473
476
request_options = self ._request_options .merge (
474
477
query_parameters = _query_parameters ,
475
- data = dumps (bodySerializer (_data )),
478
+ data = dumps (body_serializer (_data )),
476
479
user_request_options = request_options ,
477
480
),
478
481
use_read_transporter = False ,
@@ -653,16 +656,16 @@ async def list_ab_tests_with_http_info(
653
656
:return: Returns the raw algoliasearch 'APIResponse' object.
654
657
"""
655
658
656
- _query_parameters : List [ Tuple [ str , str ]] = []
659
+ _query_parameters : Dict [ str , Any ] = {}
657
660
658
661
if offset is not None :
659
- _query_parameters . append (( "offset" , offset ))
662
+ _query_parameters [ "offset" ] = offset
660
663
if limit is not None :
661
- _query_parameters . append (( "limit" , limit ))
664
+ _query_parameters [ "limit" ] = limit
662
665
if index_prefix is not None :
663
- _query_parameters . append (( "indexPrefix" , index_prefix ))
666
+ _query_parameters [ "indexPrefix" ] = index_prefix
664
667
if index_suffix is not None :
665
- _query_parameters . append (( "indexSuffix" , index_suffix ))
668
+ _query_parameters [ "indexSuffix" ] = index_suffix
666
669
667
670
return await self ._transporter .request (
668
671
verb = Verb .GET ,
@@ -721,7 +724,7 @@ async def list_ab_tests(
721
724
722
725
async def schedule_ab_test_with_http_info (
723
726
self ,
724
- schedule_ab_tests_request : ScheduleABTestsRequest ,
727
+ schedule_ab_tests_request : Union [ ScheduleABTestsRequest , dict [ str , Any ]] ,
725
728
request_options : Optional [Union [dict , RequestOptions ]] = None ,
726
729
) -> ApiResponse [str ]:
727
730
"""
@@ -749,15 +752,15 @@ async def schedule_ab_test_with_http_info(
749
752
verb = Verb .POST ,
750
753
path = "/2/abtests/schedule" ,
751
754
request_options = self ._request_options .merge (
752
- data = dumps (bodySerializer (_data )),
755
+ data = dumps (body_serializer (_data )),
753
756
user_request_options = request_options ,
754
757
),
755
758
use_read_transporter = False ,
756
759
)
757
760
758
761
async def schedule_ab_test (
759
762
self ,
760
- schedule_ab_tests_request : ScheduleABTestsRequest ,
763
+ schedule_ab_tests_request : Union [ ScheduleABTestsRequest , dict [ str , Any ]] ,
761
764
request_options : Optional [Union [dict , RequestOptions ]] = None ,
762
765
) -> ScheduleABTestResponse :
763
766
"""
@@ -844,7 +847,7 @@ class AbtestingClientSync:
844
847
"""
845
848
846
849
_transporter : TransporterSync
847
- _config : AbtestingConfig
850
+ _config : BaseConfig
848
851
_request_options : RequestOptions
849
852
850
853
def __init__ (
@@ -856,7 +859,9 @@ def __init__(
856
859
config : Optional [AbtestingConfig ] = None ,
857
860
) -> None :
858
861
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
+ )
860
865
861
866
if config is None :
862
867
config = AbtestingConfig (app_id , api_key , region )
@@ -907,11 +912,11 @@ def close(self) -> None:
907
912
908
913
def set_client_api_key (self , api_key : str ) -> None :
909
914
"""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 )
911
916
912
917
def add_ab_tests_with_http_info (
913
918
self ,
914
- add_ab_tests_request : AddABTestsRequest ,
919
+ add_ab_tests_request : Union [ AddABTestsRequest , dict [ str , Any ]] ,
915
920
request_options : Optional [Union [dict , RequestOptions ]] = None ,
916
921
) -> ApiResponse [str ]:
917
922
"""
@@ -939,15 +944,15 @@ def add_ab_tests_with_http_info(
939
944
verb = Verb .POST ,
940
945
path = "/2/abtests" ,
941
946
request_options = self ._request_options .merge (
942
- data = dumps (bodySerializer (_data )),
947
+ data = dumps (body_serializer (_data )),
943
948
user_request_options = request_options ,
944
949
),
945
950
use_read_transporter = False ,
946
951
)
947
952
948
953
def add_ab_tests (
949
954
self ,
950
- add_ab_tests_request : AddABTestsRequest ,
955
+ add_ab_tests_request : Union [ AddABTestsRequest , dict [ str , Any ]] ,
951
956
request_options : Optional [Union [dict , RequestOptions ]] = None ,
952
957
) -> ABTestResponse :
953
958
"""
@@ -995,11 +1000,11 @@ def custom_delete_with_http_info(
995
1000
"Parameter `path` is required when calling `custom_delete`."
996
1001
)
997
1002
998
- _query_parameters : List [ Tuple [ str , str ]] = []
1003
+ _query_parameters : Dict [ str , Any ] = {}
999
1004
1000
1005
if parameters is not None :
1001
1006
for _qpkey , _qpvalue in parameters .items ():
1002
- _query_parameters . append (( _qpkey , _qpvalue ))
1007
+ _query_parameters [ _qpkey ] = _qpvalue
1003
1008
1004
1009
return self ._transporter .request (
1005
1010
verb = Verb .DELETE ,
@@ -1068,11 +1073,11 @@ def custom_get_with_http_info(
1068
1073
if path is None :
1069
1074
raise ValueError ("Parameter `path` is required when calling `custom_get`." )
1070
1075
1071
- _query_parameters : List [ Tuple [ str , str ]] = []
1076
+ _query_parameters : Dict [ str , Any ] = {}
1072
1077
1073
1078
if parameters is not None :
1074
1079
for _qpkey , _qpvalue in parameters .items ():
1075
- _query_parameters . append (( _qpkey , _qpvalue ))
1080
+ _query_parameters [ _qpkey ] = _qpvalue
1076
1081
1077
1082
return self ._transporter .request (
1078
1083
verb = Verb .GET ,
@@ -1147,11 +1152,11 @@ def custom_post_with_http_info(
1147
1152
if path is None :
1148
1153
raise ValueError ("Parameter `path` is required when calling `custom_post`." )
1149
1154
1150
- _query_parameters : List [ Tuple [ str , str ]] = []
1155
+ _query_parameters : Dict [ str , Any ] = {}
1151
1156
1152
1157
if parameters is not None :
1153
1158
for _qpkey , _qpvalue in parameters .items ():
1154
- _query_parameters . append (( _qpkey , _qpvalue ))
1159
+ _query_parameters [ _qpkey ] = _qpvalue
1155
1160
1156
1161
_data = {}
1157
1162
if body is not None :
@@ -1162,7 +1167,7 @@ def custom_post_with_http_info(
1162
1167
path = "/{path}" .replace ("{path}" , path ),
1163
1168
request_options = self ._request_options .merge (
1164
1169
query_parameters = _query_parameters ,
1165
- data = dumps (bodySerializer (_data )),
1170
+ data = dumps (body_serializer (_data )),
1166
1171
user_request_options = request_options ,
1167
1172
),
1168
1173
use_read_transporter = False ,
@@ -1237,11 +1242,11 @@ def custom_put_with_http_info(
1237
1242
if path is None :
1238
1243
raise ValueError ("Parameter `path` is required when calling `custom_put`." )
1239
1244
1240
- _query_parameters : List [ Tuple [ str , str ]] = []
1245
+ _query_parameters : Dict [ str , Any ] = {}
1241
1246
1242
1247
if parameters is not None :
1243
1248
for _qpkey , _qpvalue in parameters .items ():
1244
- _query_parameters . append (( _qpkey , _qpvalue ))
1249
+ _query_parameters [ _qpkey ] = _qpvalue
1245
1250
1246
1251
_data = {}
1247
1252
if body is not None :
@@ -1252,7 +1257,7 @@ def custom_put_with_http_info(
1252
1257
path = "/{path}" .replace ("{path}" , path ),
1253
1258
request_options = self ._request_options .merge (
1254
1259
query_parameters = _query_parameters ,
1255
- data = dumps (bodySerializer (_data )),
1260
+ data = dumps (body_serializer (_data )),
1256
1261
user_request_options = request_options ,
1257
1262
),
1258
1263
use_read_transporter = False ,
@@ -1431,16 +1436,16 @@ def list_ab_tests_with_http_info(
1431
1436
:return: Returns the raw algoliasearch 'APIResponse' object.
1432
1437
"""
1433
1438
1434
- _query_parameters : List [ Tuple [ str , str ]] = []
1439
+ _query_parameters : Dict [ str , Any ] = {}
1435
1440
1436
1441
if offset is not None :
1437
- _query_parameters . append (( "offset" , offset ))
1442
+ _query_parameters [ "offset" ] = offset
1438
1443
if limit is not None :
1439
- _query_parameters . append (( "limit" , limit ))
1444
+ _query_parameters [ "limit" ] = limit
1440
1445
if index_prefix is not None :
1441
- _query_parameters . append (( "indexPrefix" , index_prefix ))
1446
+ _query_parameters [ "indexPrefix" ] = index_prefix
1442
1447
if index_suffix is not None :
1443
- _query_parameters . append (( "indexSuffix" , index_suffix ))
1448
+ _query_parameters [ "indexSuffix" ] = index_suffix
1444
1449
1445
1450
return self ._transporter .request (
1446
1451
verb = Verb .GET ,
@@ -1499,7 +1504,7 @@ def list_ab_tests(
1499
1504
1500
1505
def schedule_ab_test_with_http_info (
1501
1506
self ,
1502
- schedule_ab_tests_request : ScheduleABTestsRequest ,
1507
+ schedule_ab_tests_request : Union [ ScheduleABTestsRequest , dict [ str , Any ]] ,
1503
1508
request_options : Optional [Union [dict , RequestOptions ]] = None ,
1504
1509
) -> ApiResponse [str ]:
1505
1510
"""
@@ -1527,15 +1532,15 @@ def schedule_ab_test_with_http_info(
1527
1532
verb = Verb .POST ,
1528
1533
path = "/2/abtests/schedule" ,
1529
1534
request_options = self ._request_options .merge (
1530
- data = dumps (bodySerializer (_data )),
1535
+ data = dumps (body_serializer (_data )),
1531
1536
user_request_options = request_options ,
1532
1537
),
1533
1538
use_read_transporter = False ,
1534
1539
)
1535
1540
1536
1541
def schedule_ab_test (
1537
1542
self ,
1538
- schedule_ab_tests_request : ScheduleABTestsRequest ,
1543
+ schedule_ab_tests_request : Union [ ScheduleABTestsRequest , dict [ str , Any ]] ,
1539
1544
request_options : Optional [Union [dict , RequestOptions ]] = None ,
1540
1545
) -> ScheduleABTestResponse :
1541
1546
"""
0 commit comments