lucius-mcp 0.1.0__py3-none-any.whl → 0.2.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. {lucius_mcp-0.1.0.dist-info → lucius_mcp-0.2.2.dist-info}/METADATA +23 -2
  2. {lucius_mcp-0.1.0.dist-info → lucius_mcp-0.2.2.dist-info}/RECORD +29 -14
  3. src/client/client.py +105 -0
  4. src/client/generated/README.md +65 -7
  5. src/client/generated/__init__.py +16 -0
  6. src/client/generated/api/__init__.py +8 -0
  7. src/client/generated/api/custom_field_controller_api.py +2617 -0
  8. src/client/generated/api/custom_field_project_controller_api.py +2337 -0
  9. src/client/generated/api/custom_field_project_controller_v2_api.py +659 -0
  10. src/client/generated/api/custom_field_schema_controller_api.py +1710 -0
  11. src/client/generated/api/custom_field_value_controller_api.py +3106 -0
  12. src/client/generated/api/custom_field_value_project_controller_api.py +1835 -0
  13. src/client/generated/api/project_controller_api.py +2986 -0
  14. src/client/generated/api/status_controller_api.py +1780 -0
  15. src/client/generated/docs/CustomFieldControllerApi.md +616 -0
  16. src/client/generated/docs/CustomFieldProjectControllerApi.md +554 -0
  17. src/client/generated/docs/CustomFieldProjectControllerV2Api.md +149 -0
  18. src/client/generated/docs/CustomFieldSchemaControllerApi.md +421 -0
  19. src/client/generated/docs/CustomFieldValueControllerApi.md +723 -0
  20. src/client/generated/docs/CustomFieldValueProjectControllerApi.md +430 -0
  21. src/client/generated/docs/LaunchControllerApi.md +2 -2
  22. src/client/generated/docs/ProjectControllerApi.md +717 -0
  23. src/client/generated/docs/StatusControllerApi.md +429 -0
  24. src/services/test_case_service.py +92 -33
  25. src/tools/__init__.py +3 -0
  26. src/tools/get_custom_fields.py +48 -0
  27. src/client/refactor-hotspots.md +0 -53
  28. src/client/refactor-plan.md +0 -78
  29. {lucius_mcp-0.1.0.dist-info → lucius_mcp-0.2.2.dist-info}/WHEEL +0 -0
  30. {lucius_mcp-0.1.0.dist-info → lucius_mcp-0.2.2.dist-info}/entry_points.txt +0 -0
  31. {lucius_mcp-0.1.0.dist-info → lucius_mcp-0.2.2.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,1835 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ allure-testops-service
5
+
6
+ Branch **HEAD** Commit **623f6ed302ba4b651cf9040faca4635af2d93b7c**
7
+
8
+ The version of the OpenAPI document: 25.4.1
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ import warnings
15
+ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
16
+ from typing import Any, Dict, List, Optional, Tuple, Union
17
+ from typing_extensions import Annotated
18
+
19
+ from pydantic import Field, StrictBool, StrictInt, StrictStr
20
+ from typing import List, Optional
21
+ from typing_extensions import Annotated
22
+ from src.client.generated.models.custom_field_value_project_create_dto import CustomFieldValueProjectCreateDto
23
+ from src.client.generated.models.custom_field_value_project_merge_by_id_dto import CustomFieldValueProjectMergeByIdDto
24
+ from src.client.generated.models.custom_field_value_project_merge_by_name_dto import CustomFieldValueProjectMergeByNameDto
25
+ from src.client.generated.models.custom_field_value_project_patch_dto import CustomFieldValueProjectPatchDto
26
+ from src.client.generated.models.custom_field_value_with_cf_dto import CustomFieldValueWithCfDto
27
+ from src.client.generated.models.page_custom_field_value_with_tc_count_dto import PageCustomFieldValueWithTcCountDto
28
+
29
+ from src.client.generated.api_client import ApiClient, RequestSerialized
30
+ from src.client.generated.api_response import ApiResponse
31
+ from src.client.generated.rest import RESTResponseType
32
+
33
+
34
+ class CustomFieldValueProjectControllerApi:
35
+ """NOTE: This class is auto generated by OpenAPI Generator
36
+ Ref: https://openapi-generator.tech
37
+
38
+ Do not edit the class manually.
39
+ """
40
+
41
+ def __init__(self, api_client=None) -> None:
42
+ if api_client is None:
43
+ api_client = ApiClient.get_default()
44
+ self.api_client = api_client
45
+
46
+
47
+ @validate_call
48
+ async def create26(
49
+ self,
50
+ project_id: StrictInt,
51
+ custom_field_value_project_create_dto: CustomFieldValueProjectCreateDto,
52
+ _request_timeout: Union[
53
+ None,
54
+ Annotated[StrictFloat, Field(gt=0)],
55
+ Tuple[
56
+ Annotated[StrictFloat, Field(gt=0)],
57
+ Annotated[StrictFloat, Field(gt=0)]
58
+ ]
59
+ ] = None,
60
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
61
+ _content_type: Optional[StrictStr] = None,
62
+ _headers: Optional[Dict[StrictStr, Any]] = None,
63
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
64
+ ) -> CustomFieldValueWithCfDto:
65
+ """Create a new custom field value for specified project
66
+
67
+
68
+ :param project_id: (required)
69
+ :type project_id: int
70
+ :param custom_field_value_project_create_dto: (required)
71
+ :type custom_field_value_project_create_dto: CustomFieldValueProjectCreateDto
72
+ :param _request_timeout: timeout setting for this request. If one
73
+ number provided, it will be total request
74
+ timeout. It can also be a pair (tuple) of
75
+ (connection, read) timeouts.
76
+ :type _request_timeout: int, tuple(int, int), optional
77
+ :param _request_auth: set to override the auth_settings for an a single
78
+ request; this effectively ignores the
79
+ authentication in the spec for a single request.
80
+ :type _request_auth: dict, optional
81
+ :param _content_type: force content-type for the request.
82
+ :type _content_type: str, Optional
83
+ :param _headers: set to override the headers for a single
84
+ request; this effectively ignores the headers
85
+ in the spec for a single request.
86
+ :type _headers: dict, optional
87
+ :param _host_index: set to override the host_index for a single
88
+ request; this effectively ignores the host_index
89
+ in the spec for a single request.
90
+ :type _host_index: int, optional
91
+ :return: Returns the result object.
92
+ """ # noqa: E501
93
+
94
+ _param = self._create26_serialize(
95
+ project_id=project_id,
96
+ custom_field_value_project_create_dto=custom_field_value_project_create_dto,
97
+ _request_auth=_request_auth,
98
+ _content_type=_content_type,
99
+ _headers=_headers,
100
+ _host_index=_host_index
101
+ )
102
+
103
+ _response_types_map: Dict[str, Optional[str]] = {
104
+ '200': "CustomFieldValueWithCfDto",
105
+ }
106
+ response_data = await self.api_client.call_api(
107
+ *_param,
108
+ _request_timeout=_request_timeout
109
+ )
110
+ await response_data.read()
111
+ return self.api_client.response_deserialize(
112
+ response_data=response_data,
113
+ response_types_map=_response_types_map,
114
+ ).data
115
+
116
+
117
+ @validate_call
118
+ async def create26_with_http_info(
119
+ self,
120
+ project_id: StrictInt,
121
+ custom_field_value_project_create_dto: CustomFieldValueProjectCreateDto,
122
+ _request_timeout: Union[
123
+ None,
124
+ Annotated[StrictFloat, Field(gt=0)],
125
+ Tuple[
126
+ Annotated[StrictFloat, Field(gt=0)],
127
+ Annotated[StrictFloat, Field(gt=0)]
128
+ ]
129
+ ] = None,
130
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
131
+ _content_type: Optional[StrictStr] = None,
132
+ _headers: Optional[Dict[StrictStr, Any]] = None,
133
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
134
+ ) -> ApiResponse[CustomFieldValueWithCfDto]:
135
+ """Create a new custom field value for specified project
136
+
137
+
138
+ :param project_id: (required)
139
+ :type project_id: int
140
+ :param custom_field_value_project_create_dto: (required)
141
+ :type custom_field_value_project_create_dto: CustomFieldValueProjectCreateDto
142
+ :param _request_timeout: timeout setting for this request. If one
143
+ number provided, it will be total request
144
+ timeout. It can also be a pair (tuple) of
145
+ (connection, read) timeouts.
146
+ :type _request_timeout: int, tuple(int, int), optional
147
+ :param _request_auth: set to override the auth_settings for an a single
148
+ request; this effectively ignores the
149
+ authentication in the spec for a single request.
150
+ :type _request_auth: dict, optional
151
+ :param _content_type: force content-type for the request.
152
+ :type _content_type: str, Optional
153
+ :param _headers: set to override the headers for a single
154
+ request; this effectively ignores the headers
155
+ in the spec for a single request.
156
+ :type _headers: dict, optional
157
+ :param _host_index: set to override the host_index for a single
158
+ request; this effectively ignores the host_index
159
+ in the spec for a single request.
160
+ :type _host_index: int, optional
161
+ :return: Returns the result object.
162
+ """ # noqa: E501
163
+
164
+ _param = self._create26_serialize(
165
+ project_id=project_id,
166
+ custom_field_value_project_create_dto=custom_field_value_project_create_dto,
167
+ _request_auth=_request_auth,
168
+ _content_type=_content_type,
169
+ _headers=_headers,
170
+ _host_index=_host_index
171
+ )
172
+
173
+ _response_types_map: Dict[str, Optional[str]] = {
174
+ '200': "CustomFieldValueWithCfDto",
175
+ }
176
+ response_data = await self.api_client.call_api(
177
+ *_param,
178
+ _request_timeout=_request_timeout
179
+ )
180
+ await response_data.read()
181
+ return self.api_client.response_deserialize(
182
+ response_data=response_data,
183
+ response_types_map=_response_types_map,
184
+ )
185
+
186
+
187
+ @validate_call
188
+ async def create26_without_preload_content(
189
+ self,
190
+ project_id: StrictInt,
191
+ custom_field_value_project_create_dto: CustomFieldValueProjectCreateDto,
192
+ _request_timeout: Union[
193
+ None,
194
+ Annotated[StrictFloat, Field(gt=0)],
195
+ Tuple[
196
+ Annotated[StrictFloat, Field(gt=0)],
197
+ Annotated[StrictFloat, Field(gt=0)]
198
+ ]
199
+ ] = None,
200
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
201
+ _content_type: Optional[StrictStr] = None,
202
+ _headers: Optional[Dict[StrictStr, Any]] = None,
203
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
204
+ ) -> RESTResponseType:
205
+ """Create a new custom field value for specified project
206
+
207
+
208
+ :param project_id: (required)
209
+ :type project_id: int
210
+ :param custom_field_value_project_create_dto: (required)
211
+ :type custom_field_value_project_create_dto: CustomFieldValueProjectCreateDto
212
+ :param _request_timeout: timeout setting for this request. If one
213
+ number provided, it will be total request
214
+ timeout. It can also be a pair (tuple) of
215
+ (connection, read) timeouts.
216
+ :type _request_timeout: int, tuple(int, int), optional
217
+ :param _request_auth: set to override the auth_settings for an a single
218
+ request; this effectively ignores the
219
+ authentication in the spec for a single request.
220
+ :type _request_auth: dict, optional
221
+ :param _content_type: force content-type for the request.
222
+ :type _content_type: str, Optional
223
+ :param _headers: set to override the headers for a single
224
+ request; this effectively ignores the headers
225
+ in the spec for a single request.
226
+ :type _headers: dict, optional
227
+ :param _host_index: set to override the host_index for a single
228
+ request; this effectively ignores the host_index
229
+ in the spec for a single request.
230
+ :type _host_index: int, optional
231
+ :return: Returns the result object.
232
+ """ # noqa: E501
233
+
234
+ _param = self._create26_serialize(
235
+ project_id=project_id,
236
+ custom_field_value_project_create_dto=custom_field_value_project_create_dto,
237
+ _request_auth=_request_auth,
238
+ _content_type=_content_type,
239
+ _headers=_headers,
240
+ _host_index=_host_index
241
+ )
242
+
243
+ _response_types_map: Dict[str, Optional[str]] = {
244
+ '200': "CustomFieldValueWithCfDto",
245
+ }
246
+ response_data = await self.api_client.call_api(
247
+ *_param,
248
+ _request_timeout=_request_timeout
249
+ )
250
+ return response_data.response
251
+
252
+
253
+ def _create26_serialize(
254
+ self,
255
+ project_id,
256
+ custom_field_value_project_create_dto,
257
+ _request_auth,
258
+ _content_type,
259
+ _headers,
260
+ _host_index,
261
+ ) -> RequestSerialized:
262
+
263
+ _host = None
264
+
265
+ _collection_formats: Dict[str, str] = {
266
+ }
267
+
268
+ _path_params: Dict[str, str] = {}
269
+ _query_params: List[Tuple[str, str]] = []
270
+ _header_params: Dict[str, Optional[str]] = _headers or {}
271
+ _form_params: List[Tuple[str, str]] = []
272
+ _files: Dict[
273
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
274
+ ] = {}
275
+ _body_params: Optional[bytes] = None
276
+
277
+ # process the path parameters
278
+ if project_id is not None:
279
+ _path_params['projectId'] = project_id
280
+ # process the query parameters
281
+ # process the header parameters
282
+ # process the form parameters
283
+ # process the body parameter
284
+ if custom_field_value_project_create_dto is not None:
285
+ _body_params = custom_field_value_project_create_dto
286
+
287
+
288
+ # set the HTTP header `Accept`
289
+ if 'Accept' not in _header_params:
290
+ _header_params['Accept'] = self.api_client.select_header_accept(
291
+ [
292
+ '*/*'
293
+ ]
294
+ )
295
+
296
+ # set the HTTP header `Content-Type`
297
+ if _content_type:
298
+ _header_params['Content-Type'] = _content_type
299
+ else:
300
+ _default_content_type = (
301
+ self.api_client.select_header_content_type(
302
+ [
303
+ 'application/json'
304
+ ]
305
+ )
306
+ )
307
+ if _default_content_type is not None:
308
+ _header_params['Content-Type'] = _default_content_type
309
+
310
+ # authentication setting
311
+ _auth_settings: List[str] = [
312
+ ]
313
+
314
+ return self.api_client.param_serialize(
315
+ method='POST',
316
+ resource_path='/api/project/{projectId}/cfv',
317
+ path_params=_path_params,
318
+ query_params=_query_params,
319
+ header_params=_header_params,
320
+ body=_body_params,
321
+ post_params=_form_params,
322
+ files=_files,
323
+ auth_settings=_auth_settings,
324
+ collection_formats=_collection_formats,
325
+ _host=_host,
326
+ _request_auth=_request_auth
327
+ )
328
+
329
+
330
+
331
+
332
+ @validate_call
333
+ async def delete47(
334
+ self,
335
+ project_id: StrictInt,
336
+ id: StrictInt,
337
+ _request_timeout: Union[
338
+ None,
339
+ Annotated[StrictFloat, Field(gt=0)],
340
+ Tuple[
341
+ Annotated[StrictFloat, Field(gt=0)],
342
+ Annotated[StrictFloat, Field(gt=0)]
343
+ ]
344
+ ] = None,
345
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
346
+ _content_type: Optional[StrictStr] = None,
347
+ _headers: Optional[Dict[StrictStr, Any]] = None,
348
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
349
+ ) -> None:
350
+ """Delete specified custom field value for specified project
351
+
352
+
353
+ :param project_id: (required)
354
+ :type project_id: int
355
+ :param id: (required)
356
+ :type id: int
357
+ :param _request_timeout: timeout setting for this request. If one
358
+ number provided, it will be total request
359
+ timeout. It can also be a pair (tuple) of
360
+ (connection, read) timeouts.
361
+ :type _request_timeout: int, tuple(int, int), optional
362
+ :param _request_auth: set to override the auth_settings for an a single
363
+ request; this effectively ignores the
364
+ authentication in the spec for a single request.
365
+ :type _request_auth: dict, optional
366
+ :param _content_type: force content-type for the request.
367
+ :type _content_type: str, Optional
368
+ :param _headers: set to override the headers for a single
369
+ request; this effectively ignores the headers
370
+ in the spec for a single request.
371
+ :type _headers: dict, optional
372
+ :param _host_index: set to override the host_index for a single
373
+ request; this effectively ignores the host_index
374
+ in the spec for a single request.
375
+ :type _host_index: int, optional
376
+ :return: Returns the result object.
377
+ """ # noqa: E501
378
+
379
+ _param = self._delete47_serialize(
380
+ project_id=project_id,
381
+ id=id,
382
+ _request_auth=_request_auth,
383
+ _content_type=_content_type,
384
+ _headers=_headers,
385
+ _host_index=_host_index
386
+ )
387
+
388
+ _response_types_map: Dict[str, Optional[str]] = {
389
+ '204': None,
390
+ }
391
+ response_data = await self.api_client.call_api(
392
+ *_param,
393
+ _request_timeout=_request_timeout
394
+ )
395
+ await response_data.read()
396
+ return self.api_client.response_deserialize(
397
+ response_data=response_data,
398
+ response_types_map=_response_types_map,
399
+ ).data
400
+
401
+
402
+ @validate_call
403
+ async def delete47_with_http_info(
404
+ self,
405
+ project_id: StrictInt,
406
+ id: StrictInt,
407
+ _request_timeout: Union[
408
+ None,
409
+ Annotated[StrictFloat, Field(gt=0)],
410
+ Tuple[
411
+ Annotated[StrictFloat, Field(gt=0)],
412
+ Annotated[StrictFloat, Field(gt=0)]
413
+ ]
414
+ ] = None,
415
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
416
+ _content_type: Optional[StrictStr] = None,
417
+ _headers: Optional[Dict[StrictStr, Any]] = None,
418
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
419
+ ) -> ApiResponse[None]:
420
+ """Delete specified custom field value for specified project
421
+
422
+
423
+ :param project_id: (required)
424
+ :type project_id: int
425
+ :param id: (required)
426
+ :type id: int
427
+ :param _request_timeout: timeout setting for this request. If one
428
+ number provided, it will be total request
429
+ timeout. It can also be a pair (tuple) of
430
+ (connection, read) timeouts.
431
+ :type _request_timeout: int, tuple(int, int), optional
432
+ :param _request_auth: set to override the auth_settings for an a single
433
+ request; this effectively ignores the
434
+ authentication in the spec for a single request.
435
+ :type _request_auth: dict, optional
436
+ :param _content_type: force content-type for the request.
437
+ :type _content_type: str, Optional
438
+ :param _headers: set to override the headers for a single
439
+ request; this effectively ignores the headers
440
+ in the spec for a single request.
441
+ :type _headers: dict, optional
442
+ :param _host_index: set to override the host_index for a single
443
+ request; this effectively ignores the host_index
444
+ in the spec for a single request.
445
+ :type _host_index: int, optional
446
+ :return: Returns the result object.
447
+ """ # noqa: E501
448
+
449
+ _param = self._delete47_serialize(
450
+ project_id=project_id,
451
+ id=id,
452
+ _request_auth=_request_auth,
453
+ _content_type=_content_type,
454
+ _headers=_headers,
455
+ _host_index=_host_index
456
+ )
457
+
458
+ _response_types_map: Dict[str, Optional[str]] = {
459
+ '204': None,
460
+ }
461
+ response_data = await self.api_client.call_api(
462
+ *_param,
463
+ _request_timeout=_request_timeout
464
+ )
465
+ await response_data.read()
466
+ return self.api_client.response_deserialize(
467
+ response_data=response_data,
468
+ response_types_map=_response_types_map,
469
+ )
470
+
471
+
472
+ @validate_call
473
+ async def delete47_without_preload_content(
474
+ self,
475
+ project_id: StrictInt,
476
+ id: StrictInt,
477
+ _request_timeout: Union[
478
+ None,
479
+ Annotated[StrictFloat, Field(gt=0)],
480
+ Tuple[
481
+ Annotated[StrictFloat, Field(gt=0)],
482
+ Annotated[StrictFloat, Field(gt=0)]
483
+ ]
484
+ ] = None,
485
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
486
+ _content_type: Optional[StrictStr] = None,
487
+ _headers: Optional[Dict[StrictStr, Any]] = None,
488
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
489
+ ) -> RESTResponseType:
490
+ """Delete specified custom field value for specified project
491
+
492
+
493
+ :param project_id: (required)
494
+ :type project_id: int
495
+ :param id: (required)
496
+ :type id: int
497
+ :param _request_timeout: timeout setting for this request. If one
498
+ number provided, it will be total request
499
+ timeout. It can also be a pair (tuple) of
500
+ (connection, read) timeouts.
501
+ :type _request_timeout: int, tuple(int, int), optional
502
+ :param _request_auth: set to override the auth_settings for an a single
503
+ request; this effectively ignores the
504
+ authentication in the spec for a single request.
505
+ :type _request_auth: dict, optional
506
+ :param _content_type: force content-type for the request.
507
+ :type _content_type: str, Optional
508
+ :param _headers: set to override the headers for a single
509
+ request; this effectively ignores the headers
510
+ in the spec for a single request.
511
+ :type _headers: dict, optional
512
+ :param _host_index: set to override the host_index for a single
513
+ request; this effectively ignores the host_index
514
+ in the spec for a single request.
515
+ :type _host_index: int, optional
516
+ :return: Returns the result object.
517
+ """ # noqa: E501
518
+
519
+ _param = self._delete47_serialize(
520
+ project_id=project_id,
521
+ id=id,
522
+ _request_auth=_request_auth,
523
+ _content_type=_content_type,
524
+ _headers=_headers,
525
+ _host_index=_host_index
526
+ )
527
+
528
+ _response_types_map: Dict[str, Optional[str]] = {
529
+ '204': None,
530
+ }
531
+ response_data = await self.api_client.call_api(
532
+ *_param,
533
+ _request_timeout=_request_timeout
534
+ )
535
+ return response_data.response
536
+
537
+
538
+ def _delete47_serialize(
539
+ self,
540
+ project_id,
541
+ id,
542
+ _request_auth,
543
+ _content_type,
544
+ _headers,
545
+ _host_index,
546
+ ) -> RequestSerialized:
547
+
548
+ _host = None
549
+
550
+ _collection_formats: Dict[str, str] = {
551
+ }
552
+
553
+ _path_params: Dict[str, str] = {}
554
+ _query_params: List[Tuple[str, str]] = []
555
+ _header_params: Dict[str, Optional[str]] = _headers or {}
556
+ _form_params: List[Tuple[str, str]] = []
557
+ _files: Dict[
558
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
559
+ ] = {}
560
+ _body_params: Optional[bytes] = None
561
+
562
+ # process the path parameters
563
+ if project_id is not None:
564
+ _path_params['projectId'] = project_id
565
+ if id is not None:
566
+ _path_params['id'] = id
567
+ # process the query parameters
568
+ # process the header parameters
569
+ # process the form parameters
570
+ # process the body parameter
571
+
572
+
573
+
574
+
575
+ # authentication setting
576
+ _auth_settings: List[str] = [
577
+ ]
578
+
579
+ return self.api_client.param_serialize(
580
+ method='DELETE',
581
+ resource_path='/api/project/{projectId}/cfv/{id}',
582
+ path_params=_path_params,
583
+ query_params=_query_params,
584
+ header_params=_header_params,
585
+ body=_body_params,
586
+ post_params=_form_params,
587
+ files=_files,
588
+ auth_settings=_auth_settings,
589
+ collection_formats=_collection_formats,
590
+ _host=_host,
591
+ _request_auth=_request_auth
592
+ )
593
+
594
+
595
+
596
+
597
+ @validate_call
598
+ async def find_all22(
599
+ self,
600
+ project_id: StrictInt,
601
+ custom_field_id: StrictInt,
602
+ query: Optional[StrictStr] = None,
603
+ var_global: Optional[StrictBool] = None,
604
+ test_case_search: Optional[StrictStr] = None,
605
+ page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None,
606
+ size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None,
607
+ sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None,
608
+ _request_timeout: Union[
609
+ None,
610
+ Annotated[StrictFloat, Field(gt=0)],
611
+ Tuple[
612
+ Annotated[StrictFloat, Field(gt=0)],
613
+ Annotated[StrictFloat, Field(gt=0)]
614
+ ]
615
+ ] = None,
616
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
617
+ _content_type: Optional[StrictStr] = None,
618
+ _headers: Optional[Dict[StrictStr, Any]] = None,
619
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
620
+ ) -> PageCustomFieldValueWithTcCountDto:
621
+ """Find all custom field values for specified project
622
+
623
+
624
+ :param project_id: (required)
625
+ :type project_id: int
626
+ :param custom_field_id: (required)
627
+ :type custom_field_id: int
628
+ :param query:
629
+ :type query: str
630
+ :param var_global:
631
+ :type var_global: bool
632
+ :param test_case_search:
633
+ :type test_case_search: str
634
+ :param page: Zero-based page index (0..N)
635
+ :type page: int
636
+ :param size: The size of the page to be returned
637
+ :type size: int
638
+ :param sort: Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
639
+ :type sort: List[str]
640
+ :param _request_timeout: timeout setting for this request. If one
641
+ number provided, it will be total request
642
+ timeout. It can also be a pair (tuple) of
643
+ (connection, read) timeouts.
644
+ :type _request_timeout: int, tuple(int, int), optional
645
+ :param _request_auth: set to override the auth_settings for an a single
646
+ request; this effectively ignores the
647
+ authentication in the spec for a single request.
648
+ :type _request_auth: dict, optional
649
+ :param _content_type: force content-type for the request.
650
+ :type _content_type: str, Optional
651
+ :param _headers: set to override the headers for a single
652
+ request; this effectively ignores the headers
653
+ in the spec for a single request.
654
+ :type _headers: dict, optional
655
+ :param _host_index: set to override the host_index for a single
656
+ request; this effectively ignores the host_index
657
+ in the spec for a single request.
658
+ :type _host_index: int, optional
659
+ :return: Returns the result object.
660
+ """ # noqa: E501
661
+
662
+ _param = self._find_all22_serialize(
663
+ project_id=project_id,
664
+ custom_field_id=custom_field_id,
665
+ query=query,
666
+ var_global=var_global,
667
+ test_case_search=test_case_search,
668
+ page=page,
669
+ size=size,
670
+ sort=sort,
671
+ _request_auth=_request_auth,
672
+ _content_type=_content_type,
673
+ _headers=_headers,
674
+ _host_index=_host_index
675
+ )
676
+
677
+ _response_types_map: Dict[str, Optional[str]] = {
678
+ '200': "PageCustomFieldValueWithTcCountDto",
679
+ }
680
+ response_data = await self.api_client.call_api(
681
+ *_param,
682
+ _request_timeout=_request_timeout
683
+ )
684
+ await response_data.read()
685
+ return self.api_client.response_deserialize(
686
+ response_data=response_data,
687
+ response_types_map=_response_types_map,
688
+ ).data
689
+
690
+
691
+ @validate_call
692
+ async def find_all22_with_http_info(
693
+ self,
694
+ project_id: StrictInt,
695
+ custom_field_id: StrictInt,
696
+ query: Optional[StrictStr] = None,
697
+ var_global: Optional[StrictBool] = None,
698
+ test_case_search: Optional[StrictStr] = None,
699
+ page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None,
700
+ size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None,
701
+ sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None,
702
+ _request_timeout: Union[
703
+ None,
704
+ Annotated[StrictFloat, Field(gt=0)],
705
+ Tuple[
706
+ Annotated[StrictFloat, Field(gt=0)],
707
+ Annotated[StrictFloat, Field(gt=0)]
708
+ ]
709
+ ] = None,
710
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
711
+ _content_type: Optional[StrictStr] = None,
712
+ _headers: Optional[Dict[StrictStr, Any]] = None,
713
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
714
+ ) -> ApiResponse[PageCustomFieldValueWithTcCountDto]:
715
+ """Find all custom field values for specified project
716
+
717
+
718
+ :param project_id: (required)
719
+ :type project_id: int
720
+ :param custom_field_id: (required)
721
+ :type custom_field_id: int
722
+ :param query:
723
+ :type query: str
724
+ :param var_global:
725
+ :type var_global: bool
726
+ :param test_case_search:
727
+ :type test_case_search: str
728
+ :param page: Zero-based page index (0..N)
729
+ :type page: int
730
+ :param size: The size of the page to be returned
731
+ :type size: int
732
+ :param sort: Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
733
+ :type sort: List[str]
734
+ :param _request_timeout: timeout setting for this request. If one
735
+ number provided, it will be total request
736
+ timeout. It can also be a pair (tuple) of
737
+ (connection, read) timeouts.
738
+ :type _request_timeout: int, tuple(int, int), optional
739
+ :param _request_auth: set to override the auth_settings for an a single
740
+ request; this effectively ignores the
741
+ authentication in the spec for a single request.
742
+ :type _request_auth: dict, optional
743
+ :param _content_type: force content-type for the request.
744
+ :type _content_type: str, Optional
745
+ :param _headers: set to override the headers for a single
746
+ request; this effectively ignores the headers
747
+ in the spec for a single request.
748
+ :type _headers: dict, optional
749
+ :param _host_index: set to override the host_index for a single
750
+ request; this effectively ignores the host_index
751
+ in the spec for a single request.
752
+ :type _host_index: int, optional
753
+ :return: Returns the result object.
754
+ """ # noqa: E501
755
+
756
+ _param = self._find_all22_serialize(
757
+ project_id=project_id,
758
+ custom_field_id=custom_field_id,
759
+ query=query,
760
+ var_global=var_global,
761
+ test_case_search=test_case_search,
762
+ page=page,
763
+ size=size,
764
+ sort=sort,
765
+ _request_auth=_request_auth,
766
+ _content_type=_content_type,
767
+ _headers=_headers,
768
+ _host_index=_host_index
769
+ )
770
+
771
+ _response_types_map: Dict[str, Optional[str]] = {
772
+ '200': "PageCustomFieldValueWithTcCountDto",
773
+ }
774
+ response_data = await self.api_client.call_api(
775
+ *_param,
776
+ _request_timeout=_request_timeout
777
+ )
778
+ await response_data.read()
779
+ return self.api_client.response_deserialize(
780
+ response_data=response_data,
781
+ response_types_map=_response_types_map,
782
+ )
783
+
784
+
785
+ @validate_call
786
+ async def find_all22_without_preload_content(
787
+ self,
788
+ project_id: StrictInt,
789
+ custom_field_id: StrictInt,
790
+ query: Optional[StrictStr] = None,
791
+ var_global: Optional[StrictBool] = None,
792
+ test_case_search: Optional[StrictStr] = None,
793
+ page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None,
794
+ size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None,
795
+ sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None,
796
+ _request_timeout: Union[
797
+ None,
798
+ Annotated[StrictFloat, Field(gt=0)],
799
+ Tuple[
800
+ Annotated[StrictFloat, Field(gt=0)],
801
+ Annotated[StrictFloat, Field(gt=0)]
802
+ ]
803
+ ] = None,
804
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
805
+ _content_type: Optional[StrictStr] = None,
806
+ _headers: Optional[Dict[StrictStr, Any]] = None,
807
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
808
+ ) -> RESTResponseType:
809
+ """Find all custom field values for specified project
810
+
811
+
812
+ :param project_id: (required)
813
+ :type project_id: int
814
+ :param custom_field_id: (required)
815
+ :type custom_field_id: int
816
+ :param query:
817
+ :type query: str
818
+ :param var_global:
819
+ :type var_global: bool
820
+ :param test_case_search:
821
+ :type test_case_search: str
822
+ :param page: Zero-based page index (0..N)
823
+ :type page: int
824
+ :param size: The size of the page to be returned
825
+ :type size: int
826
+ :param sort: Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
827
+ :type sort: List[str]
828
+ :param _request_timeout: timeout setting for this request. If one
829
+ number provided, it will be total request
830
+ timeout. It can also be a pair (tuple) of
831
+ (connection, read) timeouts.
832
+ :type _request_timeout: int, tuple(int, int), optional
833
+ :param _request_auth: set to override the auth_settings for an a single
834
+ request; this effectively ignores the
835
+ authentication in the spec for a single request.
836
+ :type _request_auth: dict, optional
837
+ :param _content_type: force content-type for the request.
838
+ :type _content_type: str, Optional
839
+ :param _headers: set to override the headers for a single
840
+ request; this effectively ignores the headers
841
+ in the spec for a single request.
842
+ :type _headers: dict, optional
843
+ :param _host_index: set to override the host_index for a single
844
+ request; this effectively ignores the host_index
845
+ in the spec for a single request.
846
+ :type _host_index: int, optional
847
+ :return: Returns the result object.
848
+ """ # noqa: E501
849
+
850
+ _param = self._find_all22_serialize(
851
+ project_id=project_id,
852
+ custom_field_id=custom_field_id,
853
+ query=query,
854
+ var_global=var_global,
855
+ test_case_search=test_case_search,
856
+ page=page,
857
+ size=size,
858
+ sort=sort,
859
+ _request_auth=_request_auth,
860
+ _content_type=_content_type,
861
+ _headers=_headers,
862
+ _host_index=_host_index
863
+ )
864
+
865
+ _response_types_map: Dict[str, Optional[str]] = {
866
+ '200': "PageCustomFieldValueWithTcCountDto",
867
+ }
868
+ response_data = await self.api_client.call_api(
869
+ *_param,
870
+ _request_timeout=_request_timeout
871
+ )
872
+ return response_data.response
873
+
874
+
875
+ def _find_all22_serialize(
876
+ self,
877
+ project_id,
878
+ custom_field_id,
879
+ query,
880
+ var_global,
881
+ test_case_search,
882
+ page,
883
+ size,
884
+ sort,
885
+ _request_auth,
886
+ _content_type,
887
+ _headers,
888
+ _host_index,
889
+ ) -> RequestSerialized:
890
+
891
+ _host = None
892
+
893
+ _collection_formats: Dict[str, str] = {
894
+ 'sort': 'multi',
895
+ }
896
+
897
+ _path_params: Dict[str, str] = {}
898
+ _query_params: List[Tuple[str, str]] = []
899
+ _header_params: Dict[str, Optional[str]] = _headers or {}
900
+ _form_params: List[Tuple[str, str]] = []
901
+ _files: Dict[
902
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
903
+ ] = {}
904
+ _body_params: Optional[bytes] = None
905
+
906
+ # process the path parameters
907
+ if project_id is not None:
908
+ _path_params['projectId'] = project_id
909
+ # process the query parameters
910
+ if custom_field_id is not None:
911
+
912
+ _query_params.append(('customFieldId', custom_field_id))
913
+
914
+ if query is not None:
915
+
916
+ _query_params.append(('query', query))
917
+
918
+ if var_global is not None:
919
+
920
+ _query_params.append(('global', var_global))
921
+
922
+ if test_case_search is not None:
923
+
924
+ _query_params.append(('testCaseSearch', test_case_search))
925
+
926
+ if page is not None:
927
+
928
+ _query_params.append(('page', page))
929
+
930
+ if size is not None:
931
+
932
+ _query_params.append(('size', size))
933
+
934
+ if sort is not None:
935
+
936
+ _query_params.append(('sort', sort))
937
+
938
+ # process the header parameters
939
+ # process the form parameters
940
+ # process the body parameter
941
+
942
+
943
+ # set the HTTP header `Accept`
944
+ if 'Accept' not in _header_params:
945
+ _header_params['Accept'] = self.api_client.select_header_accept(
946
+ [
947
+ '*/*'
948
+ ]
949
+ )
950
+
951
+
952
+ # authentication setting
953
+ _auth_settings: List[str] = [
954
+ ]
955
+
956
+ return self.api_client.param_serialize(
957
+ method='GET',
958
+ resource_path='/api/project/{projectId}/cfv',
959
+ path_params=_path_params,
960
+ query_params=_query_params,
961
+ header_params=_header_params,
962
+ body=_body_params,
963
+ post_params=_form_params,
964
+ files=_files,
965
+ auth_settings=_auth_settings,
966
+ collection_formats=_collection_formats,
967
+ _host=_host,
968
+ _request_auth=_request_auth
969
+ )
970
+
971
+
972
+
973
+
974
+ @validate_call
975
+ async def merge_custom_fields_to_existing_record(
976
+ self,
977
+ project_id: StrictInt,
978
+ to_cfv_id: StrictInt,
979
+ custom_field_value_project_merge_by_id_dto: CustomFieldValueProjectMergeByIdDto,
980
+ _request_timeout: Union[
981
+ None,
982
+ Annotated[StrictFloat, Field(gt=0)],
983
+ Tuple[
984
+ Annotated[StrictFloat, Field(gt=0)],
985
+ Annotated[StrictFloat, Field(gt=0)]
986
+ ]
987
+ ] = None,
988
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
989
+ _content_type: Optional[StrictStr] = None,
990
+ _headers: Optional[Dict[StrictStr, Any]] = None,
991
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
992
+ ) -> None:
993
+ """Merge custom field values to existing record by id
994
+
995
+
996
+ :param project_id: (required)
997
+ :type project_id: int
998
+ :param to_cfv_id: (required)
999
+ :type to_cfv_id: int
1000
+ :param custom_field_value_project_merge_by_id_dto: (required)
1001
+ :type custom_field_value_project_merge_by_id_dto: CustomFieldValueProjectMergeByIdDto
1002
+ :param _request_timeout: timeout setting for this request. If one
1003
+ number provided, it will be total request
1004
+ timeout. It can also be a pair (tuple) of
1005
+ (connection, read) timeouts.
1006
+ :type _request_timeout: int, tuple(int, int), optional
1007
+ :param _request_auth: set to override the auth_settings for an a single
1008
+ request; this effectively ignores the
1009
+ authentication in the spec for a single request.
1010
+ :type _request_auth: dict, optional
1011
+ :param _content_type: force content-type for the request.
1012
+ :type _content_type: str, Optional
1013
+ :param _headers: set to override the headers for a single
1014
+ request; this effectively ignores the headers
1015
+ in the spec for a single request.
1016
+ :type _headers: dict, optional
1017
+ :param _host_index: set to override the host_index for a single
1018
+ request; this effectively ignores the host_index
1019
+ in the spec for a single request.
1020
+ :type _host_index: int, optional
1021
+ :return: Returns the result object.
1022
+ """ # noqa: E501
1023
+
1024
+ _param = self._merge_custom_fields_to_existing_record_serialize(
1025
+ project_id=project_id,
1026
+ to_cfv_id=to_cfv_id,
1027
+ custom_field_value_project_merge_by_id_dto=custom_field_value_project_merge_by_id_dto,
1028
+ _request_auth=_request_auth,
1029
+ _content_type=_content_type,
1030
+ _headers=_headers,
1031
+ _host_index=_host_index
1032
+ )
1033
+
1034
+ _response_types_map: Dict[str, Optional[str]] = {
1035
+ '204': None,
1036
+ }
1037
+ response_data = await self.api_client.call_api(
1038
+ *_param,
1039
+ _request_timeout=_request_timeout
1040
+ )
1041
+ await response_data.read()
1042
+ return self.api_client.response_deserialize(
1043
+ response_data=response_data,
1044
+ response_types_map=_response_types_map,
1045
+ ).data
1046
+
1047
+
1048
+ @validate_call
1049
+ async def merge_custom_fields_to_existing_record_with_http_info(
1050
+ self,
1051
+ project_id: StrictInt,
1052
+ to_cfv_id: StrictInt,
1053
+ custom_field_value_project_merge_by_id_dto: CustomFieldValueProjectMergeByIdDto,
1054
+ _request_timeout: Union[
1055
+ None,
1056
+ Annotated[StrictFloat, Field(gt=0)],
1057
+ Tuple[
1058
+ Annotated[StrictFloat, Field(gt=0)],
1059
+ Annotated[StrictFloat, Field(gt=0)]
1060
+ ]
1061
+ ] = None,
1062
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1063
+ _content_type: Optional[StrictStr] = None,
1064
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1065
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1066
+ ) -> ApiResponse[None]:
1067
+ """Merge custom field values to existing record by id
1068
+
1069
+
1070
+ :param project_id: (required)
1071
+ :type project_id: int
1072
+ :param to_cfv_id: (required)
1073
+ :type to_cfv_id: int
1074
+ :param custom_field_value_project_merge_by_id_dto: (required)
1075
+ :type custom_field_value_project_merge_by_id_dto: CustomFieldValueProjectMergeByIdDto
1076
+ :param _request_timeout: timeout setting for this request. If one
1077
+ number provided, it will be total request
1078
+ timeout. It can also be a pair (tuple) of
1079
+ (connection, read) timeouts.
1080
+ :type _request_timeout: int, tuple(int, int), optional
1081
+ :param _request_auth: set to override the auth_settings for an a single
1082
+ request; this effectively ignores the
1083
+ authentication in the spec for a single request.
1084
+ :type _request_auth: dict, optional
1085
+ :param _content_type: force content-type for the request.
1086
+ :type _content_type: str, Optional
1087
+ :param _headers: set to override the headers for a single
1088
+ request; this effectively ignores the headers
1089
+ in the spec for a single request.
1090
+ :type _headers: dict, optional
1091
+ :param _host_index: set to override the host_index for a single
1092
+ request; this effectively ignores the host_index
1093
+ in the spec for a single request.
1094
+ :type _host_index: int, optional
1095
+ :return: Returns the result object.
1096
+ """ # noqa: E501
1097
+
1098
+ _param = self._merge_custom_fields_to_existing_record_serialize(
1099
+ project_id=project_id,
1100
+ to_cfv_id=to_cfv_id,
1101
+ custom_field_value_project_merge_by_id_dto=custom_field_value_project_merge_by_id_dto,
1102
+ _request_auth=_request_auth,
1103
+ _content_type=_content_type,
1104
+ _headers=_headers,
1105
+ _host_index=_host_index
1106
+ )
1107
+
1108
+ _response_types_map: Dict[str, Optional[str]] = {
1109
+ '204': None,
1110
+ }
1111
+ response_data = await self.api_client.call_api(
1112
+ *_param,
1113
+ _request_timeout=_request_timeout
1114
+ )
1115
+ await response_data.read()
1116
+ return self.api_client.response_deserialize(
1117
+ response_data=response_data,
1118
+ response_types_map=_response_types_map,
1119
+ )
1120
+
1121
+
1122
+ @validate_call
1123
+ async def merge_custom_fields_to_existing_record_without_preload_content(
1124
+ self,
1125
+ project_id: StrictInt,
1126
+ to_cfv_id: StrictInt,
1127
+ custom_field_value_project_merge_by_id_dto: CustomFieldValueProjectMergeByIdDto,
1128
+ _request_timeout: Union[
1129
+ None,
1130
+ Annotated[StrictFloat, Field(gt=0)],
1131
+ Tuple[
1132
+ Annotated[StrictFloat, Field(gt=0)],
1133
+ Annotated[StrictFloat, Field(gt=0)]
1134
+ ]
1135
+ ] = None,
1136
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1137
+ _content_type: Optional[StrictStr] = None,
1138
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1139
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1140
+ ) -> RESTResponseType:
1141
+ """Merge custom field values to existing record by id
1142
+
1143
+
1144
+ :param project_id: (required)
1145
+ :type project_id: int
1146
+ :param to_cfv_id: (required)
1147
+ :type to_cfv_id: int
1148
+ :param custom_field_value_project_merge_by_id_dto: (required)
1149
+ :type custom_field_value_project_merge_by_id_dto: CustomFieldValueProjectMergeByIdDto
1150
+ :param _request_timeout: timeout setting for this request. If one
1151
+ number provided, it will be total request
1152
+ timeout. It can also be a pair (tuple) of
1153
+ (connection, read) timeouts.
1154
+ :type _request_timeout: int, tuple(int, int), optional
1155
+ :param _request_auth: set to override the auth_settings for an a single
1156
+ request; this effectively ignores the
1157
+ authentication in the spec for a single request.
1158
+ :type _request_auth: dict, optional
1159
+ :param _content_type: force content-type for the request.
1160
+ :type _content_type: str, Optional
1161
+ :param _headers: set to override the headers for a single
1162
+ request; this effectively ignores the headers
1163
+ in the spec for a single request.
1164
+ :type _headers: dict, optional
1165
+ :param _host_index: set to override the host_index for a single
1166
+ request; this effectively ignores the host_index
1167
+ in the spec for a single request.
1168
+ :type _host_index: int, optional
1169
+ :return: Returns the result object.
1170
+ """ # noqa: E501
1171
+
1172
+ _param = self._merge_custom_fields_to_existing_record_serialize(
1173
+ project_id=project_id,
1174
+ to_cfv_id=to_cfv_id,
1175
+ custom_field_value_project_merge_by_id_dto=custom_field_value_project_merge_by_id_dto,
1176
+ _request_auth=_request_auth,
1177
+ _content_type=_content_type,
1178
+ _headers=_headers,
1179
+ _host_index=_host_index
1180
+ )
1181
+
1182
+ _response_types_map: Dict[str, Optional[str]] = {
1183
+ '204': None,
1184
+ }
1185
+ response_data = await self.api_client.call_api(
1186
+ *_param,
1187
+ _request_timeout=_request_timeout
1188
+ )
1189
+ return response_data.response
1190
+
1191
+
1192
+ def _merge_custom_fields_to_existing_record_serialize(
1193
+ self,
1194
+ project_id,
1195
+ to_cfv_id,
1196
+ custom_field_value_project_merge_by_id_dto,
1197
+ _request_auth,
1198
+ _content_type,
1199
+ _headers,
1200
+ _host_index,
1201
+ ) -> RequestSerialized:
1202
+
1203
+ _host = None
1204
+
1205
+ _collection_formats: Dict[str, str] = {
1206
+ }
1207
+
1208
+ _path_params: Dict[str, str] = {}
1209
+ _query_params: List[Tuple[str, str]] = []
1210
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1211
+ _form_params: List[Tuple[str, str]] = []
1212
+ _files: Dict[
1213
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1214
+ ] = {}
1215
+ _body_params: Optional[bytes] = None
1216
+
1217
+ # process the path parameters
1218
+ if project_id is not None:
1219
+ _path_params['projectId'] = project_id
1220
+ if to_cfv_id is not None:
1221
+ _path_params['toCfvId'] = to_cfv_id
1222
+ # process the query parameters
1223
+ # process the header parameters
1224
+ # process the form parameters
1225
+ # process the body parameter
1226
+ if custom_field_value_project_merge_by_id_dto is not None:
1227
+ _body_params = custom_field_value_project_merge_by_id_dto
1228
+
1229
+
1230
+
1231
+ # set the HTTP header `Content-Type`
1232
+ if _content_type:
1233
+ _header_params['Content-Type'] = _content_type
1234
+ else:
1235
+ _default_content_type = (
1236
+ self.api_client.select_header_content_type(
1237
+ [
1238
+ 'application/json'
1239
+ ]
1240
+ )
1241
+ )
1242
+ if _default_content_type is not None:
1243
+ _header_params['Content-Type'] = _default_content_type
1244
+
1245
+ # authentication setting
1246
+ _auth_settings: List[str] = [
1247
+ ]
1248
+
1249
+ return self.api_client.param_serialize(
1250
+ method='POST',
1251
+ resource_path='/api/project/{projectId}/cfv/merge-to/{toCfvId}',
1252
+ path_params=_path_params,
1253
+ query_params=_query_params,
1254
+ header_params=_header_params,
1255
+ body=_body_params,
1256
+ post_params=_form_params,
1257
+ files=_files,
1258
+ auth_settings=_auth_settings,
1259
+ collection_formats=_collection_formats,
1260
+ _host=_host,
1261
+ _request_auth=_request_auth
1262
+ )
1263
+
1264
+
1265
+
1266
+
1267
+ @validate_call
1268
+ async def merge_custom_fields_to_new_record(
1269
+ self,
1270
+ project_id: StrictInt,
1271
+ custom_field_value_project_merge_by_name_dto: CustomFieldValueProjectMergeByNameDto,
1272
+ _request_timeout: Union[
1273
+ None,
1274
+ Annotated[StrictFloat, Field(gt=0)],
1275
+ Tuple[
1276
+ Annotated[StrictFloat, Field(gt=0)],
1277
+ Annotated[StrictFloat, Field(gt=0)]
1278
+ ]
1279
+ ] = None,
1280
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1281
+ _content_type: Optional[StrictStr] = None,
1282
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1283
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1284
+ ) -> None:
1285
+ """Merge custom field values to new record
1286
+
1287
+
1288
+ :param project_id: (required)
1289
+ :type project_id: int
1290
+ :param custom_field_value_project_merge_by_name_dto: (required)
1291
+ :type custom_field_value_project_merge_by_name_dto: CustomFieldValueProjectMergeByNameDto
1292
+ :param _request_timeout: timeout setting for this request. If one
1293
+ number provided, it will be total request
1294
+ timeout. It can also be a pair (tuple) of
1295
+ (connection, read) timeouts.
1296
+ :type _request_timeout: int, tuple(int, int), optional
1297
+ :param _request_auth: set to override the auth_settings for an a single
1298
+ request; this effectively ignores the
1299
+ authentication in the spec for a single request.
1300
+ :type _request_auth: dict, optional
1301
+ :param _content_type: force content-type for the request.
1302
+ :type _content_type: str, Optional
1303
+ :param _headers: set to override the headers for a single
1304
+ request; this effectively ignores the headers
1305
+ in the spec for a single request.
1306
+ :type _headers: dict, optional
1307
+ :param _host_index: set to override the host_index for a single
1308
+ request; this effectively ignores the host_index
1309
+ in the spec for a single request.
1310
+ :type _host_index: int, optional
1311
+ :return: Returns the result object.
1312
+ """ # noqa: E501
1313
+
1314
+ _param = self._merge_custom_fields_to_new_record_serialize(
1315
+ project_id=project_id,
1316
+ custom_field_value_project_merge_by_name_dto=custom_field_value_project_merge_by_name_dto,
1317
+ _request_auth=_request_auth,
1318
+ _content_type=_content_type,
1319
+ _headers=_headers,
1320
+ _host_index=_host_index
1321
+ )
1322
+
1323
+ _response_types_map: Dict[str, Optional[str]] = {
1324
+ '204': None,
1325
+ }
1326
+ response_data = await self.api_client.call_api(
1327
+ *_param,
1328
+ _request_timeout=_request_timeout
1329
+ )
1330
+ await response_data.read()
1331
+ return self.api_client.response_deserialize(
1332
+ response_data=response_data,
1333
+ response_types_map=_response_types_map,
1334
+ ).data
1335
+
1336
+
1337
+ @validate_call
1338
+ async def merge_custom_fields_to_new_record_with_http_info(
1339
+ self,
1340
+ project_id: StrictInt,
1341
+ custom_field_value_project_merge_by_name_dto: CustomFieldValueProjectMergeByNameDto,
1342
+ _request_timeout: Union[
1343
+ None,
1344
+ Annotated[StrictFloat, Field(gt=0)],
1345
+ Tuple[
1346
+ Annotated[StrictFloat, Field(gt=0)],
1347
+ Annotated[StrictFloat, Field(gt=0)]
1348
+ ]
1349
+ ] = None,
1350
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1351
+ _content_type: Optional[StrictStr] = None,
1352
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1353
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1354
+ ) -> ApiResponse[None]:
1355
+ """Merge custom field values to new record
1356
+
1357
+
1358
+ :param project_id: (required)
1359
+ :type project_id: int
1360
+ :param custom_field_value_project_merge_by_name_dto: (required)
1361
+ :type custom_field_value_project_merge_by_name_dto: CustomFieldValueProjectMergeByNameDto
1362
+ :param _request_timeout: timeout setting for this request. If one
1363
+ number provided, it will be total request
1364
+ timeout. It can also be a pair (tuple) of
1365
+ (connection, read) timeouts.
1366
+ :type _request_timeout: int, tuple(int, int), optional
1367
+ :param _request_auth: set to override the auth_settings for an a single
1368
+ request; this effectively ignores the
1369
+ authentication in the spec for a single request.
1370
+ :type _request_auth: dict, optional
1371
+ :param _content_type: force content-type for the request.
1372
+ :type _content_type: str, Optional
1373
+ :param _headers: set to override the headers for a single
1374
+ request; this effectively ignores the headers
1375
+ in the spec for a single request.
1376
+ :type _headers: dict, optional
1377
+ :param _host_index: set to override the host_index for a single
1378
+ request; this effectively ignores the host_index
1379
+ in the spec for a single request.
1380
+ :type _host_index: int, optional
1381
+ :return: Returns the result object.
1382
+ """ # noqa: E501
1383
+
1384
+ _param = self._merge_custom_fields_to_new_record_serialize(
1385
+ project_id=project_id,
1386
+ custom_field_value_project_merge_by_name_dto=custom_field_value_project_merge_by_name_dto,
1387
+ _request_auth=_request_auth,
1388
+ _content_type=_content_type,
1389
+ _headers=_headers,
1390
+ _host_index=_host_index
1391
+ )
1392
+
1393
+ _response_types_map: Dict[str, Optional[str]] = {
1394
+ '204': None,
1395
+ }
1396
+ response_data = await self.api_client.call_api(
1397
+ *_param,
1398
+ _request_timeout=_request_timeout
1399
+ )
1400
+ await response_data.read()
1401
+ return self.api_client.response_deserialize(
1402
+ response_data=response_data,
1403
+ response_types_map=_response_types_map,
1404
+ )
1405
+
1406
+
1407
+ @validate_call
1408
+ async def merge_custom_fields_to_new_record_without_preload_content(
1409
+ self,
1410
+ project_id: StrictInt,
1411
+ custom_field_value_project_merge_by_name_dto: CustomFieldValueProjectMergeByNameDto,
1412
+ _request_timeout: Union[
1413
+ None,
1414
+ Annotated[StrictFloat, Field(gt=0)],
1415
+ Tuple[
1416
+ Annotated[StrictFloat, Field(gt=0)],
1417
+ Annotated[StrictFloat, Field(gt=0)]
1418
+ ]
1419
+ ] = None,
1420
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1421
+ _content_type: Optional[StrictStr] = None,
1422
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1423
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1424
+ ) -> RESTResponseType:
1425
+ """Merge custom field values to new record
1426
+
1427
+
1428
+ :param project_id: (required)
1429
+ :type project_id: int
1430
+ :param custom_field_value_project_merge_by_name_dto: (required)
1431
+ :type custom_field_value_project_merge_by_name_dto: CustomFieldValueProjectMergeByNameDto
1432
+ :param _request_timeout: timeout setting for this request. If one
1433
+ number provided, it will be total request
1434
+ timeout. It can also be a pair (tuple) of
1435
+ (connection, read) timeouts.
1436
+ :type _request_timeout: int, tuple(int, int), optional
1437
+ :param _request_auth: set to override the auth_settings for an a single
1438
+ request; this effectively ignores the
1439
+ authentication in the spec for a single request.
1440
+ :type _request_auth: dict, optional
1441
+ :param _content_type: force content-type for the request.
1442
+ :type _content_type: str, Optional
1443
+ :param _headers: set to override the headers for a single
1444
+ request; this effectively ignores the headers
1445
+ in the spec for a single request.
1446
+ :type _headers: dict, optional
1447
+ :param _host_index: set to override the host_index for a single
1448
+ request; this effectively ignores the host_index
1449
+ in the spec for a single request.
1450
+ :type _host_index: int, optional
1451
+ :return: Returns the result object.
1452
+ """ # noqa: E501
1453
+
1454
+ _param = self._merge_custom_fields_to_new_record_serialize(
1455
+ project_id=project_id,
1456
+ custom_field_value_project_merge_by_name_dto=custom_field_value_project_merge_by_name_dto,
1457
+ _request_auth=_request_auth,
1458
+ _content_type=_content_type,
1459
+ _headers=_headers,
1460
+ _host_index=_host_index
1461
+ )
1462
+
1463
+ _response_types_map: Dict[str, Optional[str]] = {
1464
+ '204': None,
1465
+ }
1466
+ response_data = await self.api_client.call_api(
1467
+ *_param,
1468
+ _request_timeout=_request_timeout
1469
+ )
1470
+ return response_data.response
1471
+
1472
+
1473
+ def _merge_custom_fields_to_new_record_serialize(
1474
+ self,
1475
+ project_id,
1476
+ custom_field_value_project_merge_by_name_dto,
1477
+ _request_auth,
1478
+ _content_type,
1479
+ _headers,
1480
+ _host_index,
1481
+ ) -> RequestSerialized:
1482
+
1483
+ _host = None
1484
+
1485
+ _collection_formats: Dict[str, str] = {
1486
+ }
1487
+
1488
+ _path_params: Dict[str, str] = {}
1489
+ _query_params: List[Tuple[str, str]] = []
1490
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1491
+ _form_params: List[Tuple[str, str]] = []
1492
+ _files: Dict[
1493
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1494
+ ] = {}
1495
+ _body_params: Optional[bytes] = None
1496
+
1497
+ # process the path parameters
1498
+ if project_id is not None:
1499
+ _path_params['projectId'] = project_id
1500
+ # process the query parameters
1501
+ # process the header parameters
1502
+ # process the form parameters
1503
+ # process the body parameter
1504
+ if custom_field_value_project_merge_by_name_dto is not None:
1505
+ _body_params = custom_field_value_project_merge_by_name_dto
1506
+
1507
+
1508
+
1509
+ # set the HTTP header `Content-Type`
1510
+ if _content_type:
1511
+ _header_params['Content-Type'] = _content_type
1512
+ else:
1513
+ _default_content_type = (
1514
+ self.api_client.select_header_content_type(
1515
+ [
1516
+ 'application/json'
1517
+ ]
1518
+ )
1519
+ )
1520
+ if _default_content_type is not None:
1521
+ _header_params['Content-Type'] = _default_content_type
1522
+
1523
+ # authentication setting
1524
+ _auth_settings: List[str] = [
1525
+ ]
1526
+
1527
+ return self.api_client.param_serialize(
1528
+ method='POST',
1529
+ resource_path='/api/project/{projectId}/cfv/merge',
1530
+ path_params=_path_params,
1531
+ query_params=_query_params,
1532
+ header_params=_header_params,
1533
+ body=_body_params,
1534
+ post_params=_form_params,
1535
+ files=_files,
1536
+ auth_settings=_auth_settings,
1537
+ collection_formats=_collection_formats,
1538
+ _host=_host,
1539
+ _request_auth=_request_auth
1540
+ )
1541
+
1542
+
1543
+
1544
+
1545
+ @validate_call
1546
+ async def patch23(
1547
+ self,
1548
+ project_id: StrictInt,
1549
+ cfv_id: StrictInt,
1550
+ custom_field_value_project_patch_dto: CustomFieldValueProjectPatchDto,
1551
+ _request_timeout: Union[
1552
+ None,
1553
+ Annotated[StrictFloat, Field(gt=0)],
1554
+ Tuple[
1555
+ Annotated[StrictFloat, Field(gt=0)],
1556
+ Annotated[StrictFloat, Field(gt=0)]
1557
+ ]
1558
+ ] = None,
1559
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1560
+ _content_type: Optional[StrictStr] = None,
1561
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1562
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1563
+ ) -> None:
1564
+ """Patch specified custom field value, test results won't be affected
1565
+
1566
+
1567
+ :param project_id: (required)
1568
+ :type project_id: int
1569
+ :param cfv_id: (required)
1570
+ :type cfv_id: int
1571
+ :param custom_field_value_project_patch_dto: (required)
1572
+ :type custom_field_value_project_patch_dto: CustomFieldValueProjectPatchDto
1573
+ :param _request_timeout: timeout setting for this request. If one
1574
+ number provided, it will be total request
1575
+ timeout. It can also be a pair (tuple) of
1576
+ (connection, read) timeouts.
1577
+ :type _request_timeout: int, tuple(int, int), optional
1578
+ :param _request_auth: set to override the auth_settings for an a single
1579
+ request; this effectively ignores the
1580
+ authentication in the spec for a single request.
1581
+ :type _request_auth: dict, optional
1582
+ :param _content_type: force content-type for the request.
1583
+ :type _content_type: str, Optional
1584
+ :param _headers: set to override the headers for a single
1585
+ request; this effectively ignores the headers
1586
+ in the spec for a single request.
1587
+ :type _headers: dict, optional
1588
+ :param _host_index: set to override the host_index for a single
1589
+ request; this effectively ignores the host_index
1590
+ in the spec for a single request.
1591
+ :type _host_index: int, optional
1592
+ :return: Returns the result object.
1593
+ """ # noqa: E501
1594
+
1595
+ _param = self._patch23_serialize(
1596
+ project_id=project_id,
1597
+ cfv_id=cfv_id,
1598
+ custom_field_value_project_patch_dto=custom_field_value_project_patch_dto,
1599
+ _request_auth=_request_auth,
1600
+ _content_type=_content_type,
1601
+ _headers=_headers,
1602
+ _host_index=_host_index
1603
+ )
1604
+
1605
+ _response_types_map: Dict[str, Optional[str]] = {
1606
+ '204': None,
1607
+ }
1608
+ response_data = await self.api_client.call_api(
1609
+ *_param,
1610
+ _request_timeout=_request_timeout
1611
+ )
1612
+ await response_data.read()
1613
+ return self.api_client.response_deserialize(
1614
+ response_data=response_data,
1615
+ response_types_map=_response_types_map,
1616
+ ).data
1617
+
1618
+
1619
+ @validate_call
1620
+ async def patch23_with_http_info(
1621
+ self,
1622
+ project_id: StrictInt,
1623
+ cfv_id: StrictInt,
1624
+ custom_field_value_project_patch_dto: CustomFieldValueProjectPatchDto,
1625
+ _request_timeout: Union[
1626
+ None,
1627
+ Annotated[StrictFloat, Field(gt=0)],
1628
+ Tuple[
1629
+ Annotated[StrictFloat, Field(gt=0)],
1630
+ Annotated[StrictFloat, Field(gt=0)]
1631
+ ]
1632
+ ] = None,
1633
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1634
+ _content_type: Optional[StrictStr] = None,
1635
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1636
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1637
+ ) -> ApiResponse[None]:
1638
+ """Patch specified custom field value, test results won't be affected
1639
+
1640
+
1641
+ :param project_id: (required)
1642
+ :type project_id: int
1643
+ :param cfv_id: (required)
1644
+ :type cfv_id: int
1645
+ :param custom_field_value_project_patch_dto: (required)
1646
+ :type custom_field_value_project_patch_dto: CustomFieldValueProjectPatchDto
1647
+ :param _request_timeout: timeout setting for this request. If one
1648
+ number provided, it will be total request
1649
+ timeout. It can also be a pair (tuple) of
1650
+ (connection, read) timeouts.
1651
+ :type _request_timeout: int, tuple(int, int), optional
1652
+ :param _request_auth: set to override the auth_settings for an a single
1653
+ request; this effectively ignores the
1654
+ authentication in the spec for a single request.
1655
+ :type _request_auth: dict, optional
1656
+ :param _content_type: force content-type for the request.
1657
+ :type _content_type: str, Optional
1658
+ :param _headers: set to override the headers for a single
1659
+ request; this effectively ignores the headers
1660
+ in the spec for a single request.
1661
+ :type _headers: dict, optional
1662
+ :param _host_index: set to override the host_index for a single
1663
+ request; this effectively ignores the host_index
1664
+ in the spec for a single request.
1665
+ :type _host_index: int, optional
1666
+ :return: Returns the result object.
1667
+ """ # noqa: E501
1668
+
1669
+ _param = self._patch23_serialize(
1670
+ project_id=project_id,
1671
+ cfv_id=cfv_id,
1672
+ custom_field_value_project_patch_dto=custom_field_value_project_patch_dto,
1673
+ _request_auth=_request_auth,
1674
+ _content_type=_content_type,
1675
+ _headers=_headers,
1676
+ _host_index=_host_index
1677
+ )
1678
+
1679
+ _response_types_map: Dict[str, Optional[str]] = {
1680
+ '204': None,
1681
+ }
1682
+ response_data = await self.api_client.call_api(
1683
+ *_param,
1684
+ _request_timeout=_request_timeout
1685
+ )
1686
+ await response_data.read()
1687
+ return self.api_client.response_deserialize(
1688
+ response_data=response_data,
1689
+ response_types_map=_response_types_map,
1690
+ )
1691
+
1692
+
1693
+ @validate_call
1694
+ async def patch23_without_preload_content(
1695
+ self,
1696
+ project_id: StrictInt,
1697
+ cfv_id: StrictInt,
1698
+ custom_field_value_project_patch_dto: CustomFieldValueProjectPatchDto,
1699
+ _request_timeout: Union[
1700
+ None,
1701
+ Annotated[StrictFloat, Field(gt=0)],
1702
+ Tuple[
1703
+ Annotated[StrictFloat, Field(gt=0)],
1704
+ Annotated[StrictFloat, Field(gt=0)]
1705
+ ]
1706
+ ] = None,
1707
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1708
+ _content_type: Optional[StrictStr] = None,
1709
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1710
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1711
+ ) -> RESTResponseType:
1712
+ """Patch specified custom field value, test results won't be affected
1713
+
1714
+
1715
+ :param project_id: (required)
1716
+ :type project_id: int
1717
+ :param cfv_id: (required)
1718
+ :type cfv_id: int
1719
+ :param custom_field_value_project_patch_dto: (required)
1720
+ :type custom_field_value_project_patch_dto: CustomFieldValueProjectPatchDto
1721
+ :param _request_timeout: timeout setting for this request. If one
1722
+ number provided, it will be total request
1723
+ timeout. It can also be a pair (tuple) of
1724
+ (connection, read) timeouts.
1725
+ :type _request_timeout: int, tuple(int, int), optional
1726
+ :param _request_auth: set to override the auth_settings for an a single
1727
+ request; this effectively ignores the
1728
+ authentication in the spec for a single request.
1729
+ :type _request_auth: dict, optional
1730
+ :param _content_type: force content-type for the request.
1731
+ :type _content_type: str, Optional
1732
+ :param _headers: set to override the headers for a single
1733
+ request; this effectively ignores the headers
1734
+ in the spec for a single request.
1735
+ :type _headers: dict, optional
1736
+ :param _host_index: set to override the host_index for a single
1737
+ request; this effectively ignores the host_index
1738
+ in the spec for a single request.
1739
+ :type _host_index: int, optional
1740
+ :return: Returns the result object.
1741
+ """ # noqa: E501
1742
+
1743
+ _param = self._patch23_serialize(
1744
+ project_id=project_id,
1745
+ cfv_id=cfv_id,
1746
+ custom_field_value_project_patch_dto=custom_field_value_project_patch_dto,
1747
+ _request_auth=_request_auth,
1748
+ _content_type=_content_type,
1749
+ _headers=_headers,
1750
+ _host_index=_host_index
1751
+ )
1752
+
1753
+ _response_types_map: Dict[str, Optional[str]] = {
1754
+ '204': None,
1755
+ }
1756
+ response_data = await self.api_client.call_api(
1757
+ *_param,
1758
+ _request_timeout=_request_timeout
1759
+ )
1760
+ return response_data.response
1761
+
1762
+
1763
+ def _patch23_serialize(
1764
+ self,
1765
+ project_id,
1766
+ cfv_id,
1767
+ custom_field_value_project_patch_dto,
1768
+ _request_auth,
1769
+ _content_type,
1770
+ _headers,
1771
+ _host_index,
1772
+ ) -> RequestSerialized:
1773
+
1774
+ _host = None
1775
+
1776
+ _collection_formats: Dict[str, str] = {
1777
+ }
1778
+
1779
+ _path_params: Dict[str, str] = {}
1780
+ _query_params: List[Tuple[str, str]] = []
1781
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1782
+ _form_params: List[Tuple[str, str]] = []
1783
+ _files: Dict[
1784
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1785
+ ] = {}
1786
+ _body_params: Optional[bytes] = None
1787
+
1788
+ # process the path parameters
1789
+ if project_id is not None:
1790
+ _path_params['projectId'] = project_id
1791
+ if cfv_id is not None:
1792
+ _path_params['cfvId'] = cfv_id
1793
+ # process the query parameters
1794
+ # process the header parameters
1795
+ # process the form parameters
1796
+ # process the body parameter
1797
+ if custom_field_value_project_patch_dto is not None:
1798
+ _body_params = custom_field_value_project_patch_dto
1799
+
1800
+
1801
+
1802
+ # set the HTTP header `Content-Type`
1803
+ if _content_type:
1804
+ _header_params['Content-Type'] = _content_type
1805
+ else:
1806
+ _default_content_type = (
1807
+ self.api_client.select_header_content_type(
1808
+ [
1809
+ 'application/json'
1810
+ ]
1811
+ )
1812
+ )
1813
+ if _default_content_type is not None:
1814
+ _header_params['Content-Type'] = _default_content_type
1815
+
1816
+ # authentication setting
1817
+ _auth_settings: List[str] = [
1818
+ ]
1819
+
1820
+ return self.api_client.param_serialize(
1821
+ method='PATCH',
1822
+ resource_path='/api/project/{projectId}/cfv/{cfvId}',
1823
+ path_params=_path_params,
1824
+ query_params=_query_params,
1825
+ header_params=_header_params,
1826
+ body=_body_params,
1827
+ post_params=_form_params,
1828
+ files=_files,
1829
+ auth_settings=_auth_settings,
1830
+ collection_formats=_collection_formats,
1831
+ _host=_host,
1832
+ _request_auth=_request_auth
1833
+ )
1834
+
1835
+