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,659 @@
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, StrictInt, StrictStr
20
+ from typing import List, Optional
21
+ from typing_extensions import Annotated
22
+ from src.client.generated.models.custom_field_project_patch_dto import CustomFieldProjectPatchDto
23
+ from src.client.generated.models.page_custom_field_project_dto import PageCustomFieldProjectDto
24
+
25
+ from src.client.generated.api_client import ApiClient, RequestSerialized
26
+ from src.client.generated.api_response import ApiResponse
27
+ from src.client.generated.rest import RESTResponseType
28
+
29
+
30
+ class CustomFieldProjectControllerV2Api:
31
+ """NOTE: This class is auto generated by OpenAPI Generator
32
+ Ref: https://openapi-generator.tech
33
+
34
+ Do not edit the class manually.
35
+ """
36
+
37
+ def __init__(self, api_client=None) -> None:
38
+ if api_client is None:
39
+ api_client = ApiClient.get_default()
40
+ self.api_client = api_client
41
+
42
+
43
+ @validate_call
44
+ async def find_by_project1(
45
+ self,
46
+ project_id: StrictInt,
47
+ query: Optional[StrictStr] = None,
48
+ page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None,
49
+ size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None,
50
+ 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,
51
+ _request_timeout: Union[
52
+ None,
53
+ Annotated[StrictFloat, Field(gt=0)],
54
+ Tuple[
55
+ Annotated[StrictFloat, Field(gt=0)],
56
+ Annotated[StrictFloat, Field(gt=0)]
57
+ ]
58
+ ] = None,
59
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
60
+ _content_type: Optional[StrictStr] = None,
61
+ _headers: Optional[Dict[StrictStr, Any]] = None,
62
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
63
+ ) -> PageCustomFieldProjectDto:
64
+ """Find custom fields used in specified project
65
+
66
+
67
+ :param project_id: (required)
68
+ :type project_id: int
69
+ :param query:
70
+ :type query: str
71
+ :param page: Zero-based page index (0..N)
72
+ :type page: int
73
+ :param size: The size of the page to be returned
74
+ :type size: int
75
+ :param sort: Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
76
+ :type sort: List[str]
77
+ :param _request_timeout: timeout setting for this request. If one
78
+ number provided, it will be total request
79
+ timeout. It can also be a pair (tuple) of
80
+ (connection, read) timeouts.
81
+ :type _request_timeout: int, tuple(int, int), optional
82
+ :param _request_auth: set to override the auth_settings for an a single
83
+ request; this effectively ignores the
84
+ authentication in the spec for a single request.
85
+ :type _request_auth: dict, optional
86
+ :param _content_type: force content-type for the request.
87
+ :type _content_type: str, Optional
88
+ :param _headers: set to override the headers for a single
89
+ request; this effectively ignores the headers
90
+ in the spec for a single request.
91
+ :type _headers: dict, optional
92
+ :param _host_index: set to override the host_index for a single
93
+ request; this effectively ignores the host_index
94
+ in the spec for a single request.
95
+ :type _host_index: int, optional
96
+ :return: Returns the result object.
97
+ """ # noqa: E501
98
+
99
+ _param = self._find_by_project1_serialize(
100
+ project_id=project_id,
101
+ query=query,
102
+ page=page,
103
+ size=size,
104
+ sort=sort,
105
+ _request_auth=_request_auth,
106
+ _content_type=_content_type,
107
+ _headers=_headers,
108
+ _host_index=_host_index
109
+ )
110
+
111
+ _response_types_map: Dict[str, Optional[str]] = {
112
+ '200': "PageCustomFieldProjectDto",
113
+ }
114
+ response_data = await self.api_client.call_api(
115
+ *_param,
116
+ _request_timeout=_request_timeout
117
+ )
118
+ await response_data.read()
119
+ return self.api_client.response_deserialize(
120
+ response_data=response_data,
121
+ response_types_map=_response_types_map,
122
+ ).data
123
+
124
+
125
+ @validate_call
126
+ async def find_by_project1_with_http_info(
127
+ self,
128
+ project_id: StrictInt,
129
+ query: Optional[StrictStr] = None,
130
+ page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None,
131
+ size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None,
132
+ 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,
133
+ _request_timeout: Union[
134
+ None,
135
+ Annotated[StrictFloat, Field(gt=0)],
136
+ Tuple[
137
+ Annotated[StrictFloat, Field(gt=0)],
138
+ Annotated[StrictFloat, Field(gt=0)]
139
+ ]
140
+ ] = None,
141
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
142
+ _content_type: Optional[StrictStr] = None,
143
+ _headers: Optional[Dict[StrictStr, Any]] = None,
144
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
145
+ ) -> ApiResponse[PageCustomFieldProjectDto]:
146
+ """Find custom fields used in specified project
147
+
148
+
149
+ :param project_id: (required)
150
+ :type project_id: int
151
+ :param query:
152
+ :type query: str
153
+ :param page: Zero-based page index (0..N)
154
+ :type page: int
155
+ :param size: The size of the page to be returned
156
+ :type size: int
157
+ :param sort: Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
158
+ :type sort: List[str]
159
+ :param _request_timeout: timeout setting for this request. If one
160
+ number provided, it will be total request
161
+ timeout. It can also be a pair (tuple) of
162
+ (connection, read) timeouts.
163
+ :type _request_timeout: int, tuple(int, int), optional
164
+ :param _request_auth: set to override the auth_settings for an a single
165
+ request; this effectively ignores the
166
+ authentication in the spec for a single request.
167
+ :type _request_auth: dict, optional
168
+ :param _content_type: force content-type for the request.
169
+ :type _content_type: str, Optional
170
+ :param _headers: set to override the headers for a single
171
+ request; this effectively ignores the headers
172
+ in the spec for a single request.
173
+ :type _headers: dict, optional
174
+ :param _host_index: set to override the host_index for a single
175
+ request; this effectively ignores the host_index
176
+ in the spec for a single request.
177
+ :type _host_index: int, optional
178
+ :return: Returns the result object.
179
+ """ # noqa: E501
180
+
181
+ _param = self._find_by_project1_serialize(
182
+ project_id=project_id,
183
+ query=query,
184
+ page=page,
185
+ size=size,
186
+ sort=sort,
187
+ _request_auth=_request_auth,
188
+ _content_type=_content_type,
189
+ _headers=_headers,
190
+ _host_index=_host_index
191
+ )
192
+
193
+ _response_types_map: Dict[str, Optional[str]] = {
194
+ '200': "PageCustomFieldProjectDto",
195
+ }
196
+ response_data = await self.api_client.call_api(
197
+ *_param,
198
+ _request_timeout=_request_timeout
199
+ )
200
+ await response_data.read()
201
+ return self.api_client.response_deserialize(
202
+ response_data=response_data,
203
+ response_types_map=_response_types_map,
204
+ )
205
+
206
+
207
+ @validate_call
208
+ async def find_by_project1_without_preload_content(
209
+ self,
210
+ project_id: StrictInt,
211
+ query: Optional[StrictStr] = None,
212
+ page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None,
213
+ size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None,
214
+ 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,
215
+ _request_timeout: Union[
216
+ None,
217
+ Annotated[StrictFloat, Field(gt=0)],
218
+ Tuple[
219
+ Annotated[StrictFloat, Field(gt=0)],
220
+ Annotated[StrictFloat, Field(gt=0)]
221
+ ]
222
+ ] = None,
223
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
224
+ _content_type: Optional[StrictStr] = None,
225
+ _headers: Optional[Dict[StrictStr, Any]] = None,
226
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
227
+ ) -> RESTResponseType:
228
+ """Find custom fields used in specified project
229
+
230
+
231
+ :param project_id: (required)
232
+ :type project_id: int
233
+ :param query:
234
+ :type query: str
235
+ :param page: Zero-based page index (0..N)
236
+ :type page: int
237
+ :param size: The size of the page to be returned
238
+ :type size: int
239
+ :param sort: Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
240
+ :type sort: List[str]
241
+ :param _request_timeout: timeout setting for this request. If one
242
+ number provided, it will be total request
243
+ timeout. It can also be a pair (tuple) of
244
+ (connection, read) timeouts.
245
+ :type _request_timeout: int, tuple(int, int), optional
246
+ :param _request_auth: set to override the auth_settings for an a single
247
+ request; this effectively ignores the
248
+ authentication in the spec for a single request.
249
+ :type _request_auth: dict, optional
250
+ :param _content_type: force content-type for the request.
251
+ :type _content_type: str, Optional
252
+ :param _headers: set to override the headers for a single
253
+ request; this effectively ignores the headers
254
+ in the spec for a single request.
255
+ :type _headers: dict, optional
256
+ :param _host_index: set to override the host_index for a single
257
+ request; this effectively ignores the host_index
258
+ in the spec for a single request.
259
+ :type _host_index: int, optional
260
+ :return: Returns the result object.
261
+ """ # noqa: E501
262
+
263
+ _param = self._find_by_project1_serialize(
264
+ project_id=project_id,
265
+ query=query,
266
+ page=page,
267
+ size=size,
268
+ sort=sort,
269
+ _request_auth=_request_auth,
270
+ _content_type=_content_type,
271
+ _headers=_headers,
272
+ _host_index=_host_index
273
+ )
274
+
275
+ _response_types_map: Dict[str, Optional[str]] = {
276
+ '200': "PageCustomFieldProjectDto",
277
+ }
278
+ response_data = await self.api_client.call_api(
279
+ *_param,
280
+ _request_timeout=_request_timeout
281
+ )
282
+ return response_data.response
283
+
284
+
285
+ def _find_by_project1_serialize(
286
+ self,
287
+ project_id,
288
+ query,
289
+ page,
290
+ size,
291
+ sort,
292
+ _request_auth,
293
+ _content_type,
294
+ _headers,
295
+ _host_index,
296
+ ) -> RequestSerialized:
297
+
298
+ _host = None
299
+
300
+ _collection_formats: Dict[str, str] = {
301
+ 'sort': 'multi',
302
+ }
303
+
304
+ _path_params: Dict[str, str] = {}
305
+ _query_params: List[Tuple[str, str]] = []
306
+ _header_params: Dict[str, Optional[str]] = _headers or {}
307
+ _form_params: List[Tuple[str, str]] = []
308
+ _files: Dict[
309
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
310
+ ] = {}
311
+ _body_params: Optional[bytes] = None
312
+
313
+ # process the path parameters
314
+ if project_id is not None:
315
+ _path_params['projectId'] = project_id
316
+ # process the query parameters
317
+ if query is not None:
318
+
319
+ _query_params.append(('query', query))
320
+
321
+ if page is not None:
322
+
323
+ _query_params.append(('page', page))
324
+
325
+ if size is not None:
326
+
327
+ _query_params.append(('size', size))
328
+
329
+ if sort is not None:
330
+
331
+ _query_params.append(('sort', sort))
332
+
333
+ # process the header parameters
334
+ # process the form parameters
335
+ # process the body parameter
336
+
337
+
338
+ # set the HTTP header `Accept`
339
+ if 'Accept' not in _header_params:
340
+ _header_params['Accept'] = self.api_client.select_header_accept(
341
+ [
342
+ '*/*'
343
+ ]
344
+ )
345
+
346
+
347
+ # authentication setting
348
+ _auth_settings: List[str] = [
349
+ ]
350
+
351
+ return self.api_client.param_serialize(
352
+ method='GET',
353
+ resource_path='/api/project/{projectId}/cf',
354
+ path_params=_path_params,
355
+ query_params=_query_params,
356
+ header_params=_header_params,
357
+ body=_body_params,
358
+ post_params=_form_params,
359
+ files=_files,
360
+ auth_settings=_auth_settings,
361
+ collection_formats=_collection_formats,
362
+ _host=_host,
363
+ _request_auth=_request_auth
364
+ )
365
+
366
+
367
+
368
+
369
+ @validate_call
370
+ async def patch24(
371
+ self,
372
+ project_id: StrictInt,
373
+ cf_id: StrictInt,
374
+ custom_field_project_patch_dto: CustomFieldProjectPatchDto,
375
+ _request_timeout: Union[
376
+ None,
377
+ Annotated[StrictFloat, Field(gt=0)],
378
+ Tuple[
379
+ Annotated[StrictFloat, Field(gt=0)],
380
+ Annotated[StrictFloat, Field(gt=0)]
381
+ ]
382
+ ] = None,
383
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
384
+ _content_type: Optional[StrictStr] = None,
385
+ _headers: Optional[Dict[StrictStr, Any]] = None,
386
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
387
+ ) -> None:
388
+ """patch24
389
+
390
+
391
+ :param project_id: (required)
392
+ :type project_id: int
393
+ :param cf_id: (required)
394
+ :type cf_id: int
395
+ :param custom_field_project_patch_dto: (required)
396
+ :type custom_field_project_patch_dto: CustomFieldProjectPatchDto
397
+ :param _request_timeout: timeout setting for this request. If one
398
+ number provided, it will be total request
399
+ timeout. It can also be a pair (tuple) of
400
+ (connection, read) timeouts.
401
+ :type _request_timeout: int, tuple(int, int), optional
402
+ :param _request_auth: set to override the auth_settings for an a single
403
+ request; this effectively ignores the
404
+ authentication in the spec for a single request.
405
+ :type _request_auth: dict, optional
406
+ :param _content_type: force content-type for the request.
407
+ :type _content_type: str, Optional
408
+ :param _headers: set to override the headers for a single
409
+ request; this effectively ignores the headers
410
+ in the spec for a single request.
411
+ :type _headers: dict, optional
412
+ :param _host_index: set to override the host_index for a single
413
+ request; this effectively ignores the host_index
414
+ in the spec for a single request.
415
+ :type _host_index: int, optional
416
+ :return: Returns the result object.
417
+ """ # noqa: E501
418
+
419
+ _param = self._patch24_serialize(
420
+ project_id=project_id,
421
+ cf_id=cf_id,
422
+ custom_field_project_patch_dto=custom_field_project_patch_dto,
423
+ _request_auth=_request_auth,
424
+ _content_type=_content_type,
425
+ _headers=_headers,
426
+ _host_index=_host_index
427
+ )
428
+
429
+ _response_types_map: Dict[str, Optional[str]] = {
430
+ '204': None,
431
+ }
432
+ response_data = await self.api_client.call_api(
433
+ *_param,
434
+ _request_timeout=_request_timeout
435
+ )
436
+ await response_data.read()
437
+ return self.api_client.response_deserialize(
438
+ response_data=response_data,
439
+ response_types_map=_response_types_map,
440
+ ).data
441
+
442
+
443
+ @validate_call
444
+ async def patch24_with_http_info(
445
+ self,
446
+ project_id: StrictInt,
447
+ cf_id: StrictInt,
448
+ custom_field_project_patch_dto: CustomFieldProjectPatchDto,
449
+ _request_timeout: Union[
450
+ None,
451
+ Annotated[StrictFloat, Field(gt=0)],
452
+ Tuple[
453
+ Annotated[StrictFloat, Field(gt=0)],
454
+ Annotated[StrictFloat, Field(gt=0)]
455
+ ]
456
+ ] = None,
457
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
458
+ _content_type: Optional[StrictStr] = None,
459
+ _headers: Optional[Dict[StrictStr, Any]] = None,
460
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
461
+ ) -> ApiResponse[None]:
462
+ """patch24
463
+
464
+
465
+ :param project_id: (required)
466
+ :type project_id: int
467
+ :param cf_id: (required)
468
+ :type cf_id: int
469
+ :param custom_field_project_patch_dto: (required)
470
+ :type custom_field_project_patch_dto: CustomFieldProjectPatchDto
471
+ :param _request_timeout: timeout setting for this request. If one
472
+ number provided, it will be total request
473
+ timeout. It can also be a pair (tuple) of
474
+ (connection, read) timeouts.
475
+ :type _request_timeout: int, tuple(int, int), optional
476
+ :param _request_auth: set to override the auth_settings for an a single
477
+ request; this effectively ignores the
478
+ authentication in the spec for a single request.
479
+ :type _request_auth: dict, optional
480
+ :param _content_type: force content-type for the request.
481
+ :type _content_type: str, Optional
482
+ :param _headers: set to override the headers for a single
483
+ request; this effectively ignores the headers
484
+ in the spec for a single request.
485
+ :type _headers: dict, optional
486
+ :param _host_index: set to override the host_index for a single
487
+ request; this effectively ignores the host_index
488
+ in the spec for a single request.
489
+ :type _host_index: int, optional
490
+ :return: Returns the result object.
491
+ """ # noqa: E501
492
+
493
+ _param = self._patch24_serialize(
494
+ project_id=project_id,
495
+ cf_id=cf_id,
496
+ custom_field_project_patch_dto=custom_field_project_patch_dto,
497
+ _request_auth=_request_auth,
498
+ _content_type=_content_type,
499
+ _headers=_headers,
500
+ _host_index=_host_index
501
+ )
502
+
503
+ _response_types_map: Dict[str, Optional[str]] = {
504
+ '204': None,
505
+ }
506
+ response_data = await self.api_client.call_api(
507
+ *_param,
508
+ _request_timeout=_request_timeout
509
+ )
510
+ await response_data.read()
511
+ return self.api_client.response_deserialize(
512
+ response_data=response_data,
513
+ response_types_map=_response_types_map,
514
+ )
515
+
516
+
517
+ @validate_call
518
+ async def patch24_without_preload_content(
519
+ self,
520
+ project_id: StrictInt,
521
+ cf_id: StrictInt,
522
+ custom_field_project_patch_dto: CustomFieldProjectPatchDto,
523
+ _request_timeout: Union[
524
+ None,
525
+ Annotated[StrictFloat, Field(gt=0)],
526
+ Tuple[
527
+ Annotated[StrictFloat, Field(gt=0)],
528
+ Annotated[StrictFloat, Field(gt=0)]
529
+ ]
530
+ ] = None,
531
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
532
+ _content_type: Optional[StrictStr] = None,
533
+ _headers: Optional[Dict[StrictStr, Any]] = None,
534
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
535
+ ) -> RESTResponseType:
536
+ """patch24
537
+
538
+
539
+ :param project_id: (required)
540
+ :type project_id: int
541
+ :param cf_id: (required)
542
+ :type cf_id: int
543
+ :param custom_field_project_patch_dto: (required)
544
+ :type custom_field_project_patch_dto: CustomFieldProjectPatchDto
545
+ :param _request_timeout: timeout setting for this request. If one
546
+ number provided, it will be total request
547
+ timeout. It can also be a pair (tuple) of
548
+ (connection, read) timeouts.
549
+ :type _request_timeout: int, tuple(int, int), optional
550
+ :param _request_auth: set to override the auth_settings for an a single
551
+ request; this effectively ignores the
552
+ authentication in the spec for a single request.
553
+ :type _request_auth: dict, optional
554
+ :param _content_type: force content-type for the request.
555
+ :type _content_type: str, Optional
556
+ :param _headers: set to override the headers for a single
557
+ request; this effectively ignores the headers
558
+ in the spec for a single request.
559
+ :type _headers: dict, optional
560
+ :param _host_index: set to override the host_index for a single
561
+ request; this effectively ignores the host_index
562
+ in the spec for a single request.
563
+ :type _host_index: int, optional
564
+ :return: Returns the result object.
565
+ """ # noqa: E501
566
+
567
+ _param = self._patch24_serialize(
568
+ project_id=project_id,
569
+ cf_id=cf_id,
570
+ custom_field_project_patch_dto=custom_field_project_patch_dto,
571
+ _request_auth=_request_auth,
572
+ _content_type=_content_type,
573
+ _headers=_headers,
574
+ _host_index=_host_index
575
+ )
576
+
577
+ _response_types_map: Dict[str, Optional[str]] = {
578
+ '204': None,
579
+ }
580
+ response_data = await self.api_client.call_api(
581
+ *_param,
582
+ _request_timeout=_request_timeout
583
+ )
584
+ return response_data.response
585
+
586
+
587
+ def _patch24_serialize(
588
+ self,
589
+ project_id,
590
+ cf_id,
591
+ custom_field_project_patch_dto,
592
+ _request_auth,
593
+ _content_type,
594
+ _headers,
595
+ _host_index,
596
+ ) -> RequestSerialized:
597
+
598
+ _host = None
599
+
600
+ _collection_formats: Dict[str, str] = {
601
+ }
602
+
603
+ _path_params: Dict[str, str] = {}
604
+ _query_params: List[Tuple[str, str]] = []
605
+ _header_params: Dict[str, Optional[str]] = _headers or {}
606
+ _form_params: List[Tuple[str, str]] = []
607
+ _files: Dict[
608
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
609
+ ] = {}
610
+ _body_params: Optional[bytes] = None
611
+
612
+ # process the path parameters
613
+ if project_id is not None:
614
+ _path_params['projectId'] = project_id
615
+ if cf_id is not None:
616
+ _path_params['cfId'] = cf_id
617
+ # process the query parameters
618
+ # process the header parameters
619
+ # process the form parameters
620
+ # process the body parameter
621
+ if custom_field_project_patch_dto is not None:
622
+ _body_params = custom_field_project_patch_dto
623
+
624
+
625
+
626
+ # set the HTTP header `Content-Type`
627
+ if _content_type:
628
+ _header_params['Content-Type'] = _content_type
629
+ else:
630
+ _default_content_type = (
631
+ self.api_client.select_header_content_type(
632
+ [
633
+ 'application/json'
634
+ ]
635
+ )
636
+ )
637
+ if _default_content_type is not None:
638
+ _header_params['Content-Type'] = _default_content_type
639
+
640
+ # authentication setting
641
+ _auth_settings: List[str] = [
642
+ ]
643
+
644
+ return self.api_client.param_serialize(
645
+ method='PATCH',
646
+ resource_path='/api/project/{projectId}/cf/{cfId}',
647
+ path_params=_path_params,
648
+ query_params=_query_params,
649
+ header_params=_header_params,
650
+ body=_body_params,
651
+ post_params=_form_params,
652
+ files=_files,
653
+ auth_settings=_auth_settings,
654
+ collection_formats=_collection_formats,
655
+ _host=_host,
656
+ _request_auth=_request_auth
657
+ )
658
+
659
+