regula-facesdk-webclient 7.2.388.dev0__py3-none-any.whl → 8.1.433.dev0__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.
- regula/facesdk/webclient/__init__.py +5 -5
- regula/facesdk/webclient/ext/api/group_api.py +2 -27
- regula/facesdk/webclient/ext/api/match_api.py +3 -29
- regula/facesdk/webclient/ext/api/person_api.py +8 -34
- regula/facesdk/webclient/ext/api/sdk.py +5 -3
- regula/facesdk/webclient/ext/api/search_api.py +2 -6
- regula/facesdk/webclient/ext/models/detect_request.py +6 -5
- regula/facesdk/webclient/ext/models/match_image.py +3 -3
- regula/facesdk/webclient/ext/models/match_request.py +7 -5
- regula/facesdk/webclient/gen/__init__.py +349 -18
- regula/facesdk/webclient/gen/api/__init__.py +30 -3
- regula/facesdk/webclient/gen/api/group_api.py +1854 -799
- regula/facesdk/webclient/gen/api/healthcheck_api.py +475 -215
- regula/facesdk/webclient/gen/api/liveness20_api.py +565 -0
- regula/facesdk/webclient/gen/api/match_api.py +801 -355
- regula/facesdk/webclient/gen/api/person_api.py +2399 -1039
- regula/facesdk/webclient/gen/api/search_api.py +286 -130
- regula/facesdk/webclient/gen/api_client.py +577 -476
- regula/facesdk/webclient/gen/api_response.py +21 -0
- regula/facesdk/webclient/gen/configuration.py +231 -105
- regula/facesdk/webclient/gen/exceptions.py +82 -33
- regula/facesdk/webclient/gen/models/__init__.py +202 -95
- regula/facesdk/webclient/gen/models/add_image_to_person_request.py +96 -0
- regula/facesdk/webclient/gen/models/add_image_to_person_request_data.py +92 -0
- regula/facesdk/webclient/gen/models/add_image_to_person_request_image.py +92 -0
- regula/facesdk/webclient/gen/models/add_image_to_person_response.py +92 -0
- regula/facesdk/webclient/gen/models/attribute_config.py +83 -0
- regula/facesdk/webclient/gen/models/attributes_data.py +82 -0
- regula/facesdk/webclient/gen/models/crop.py +88 -0
- regula/facesdk/webclient/gen/models/detail_item.py +136 -0
- regula/facesdk/webclient/gen/models/detect_attributes_details.py +84 -0
- regula/facesdk/webclient/gen/models/detect_details_meta.py +86 -0
- regula/facesdk/webclient/gen/models/detect_meta_data.py +84 -0
- regula/facesdk/webclient/gen/models/detect_request.py +94 -0
- regula/facesdk/webclient/gen/models/detect_request_data.py +90 -0
- regula/facesdk/webclient/gen/models/detect_response.py +89 -0
- regula/facesdk/webclient/gen/models/detect_response_results.py +86 -0
- regula/facesdk/webclient/gen/models/detect_result.py +98 -0
- regula/facesdk/webclient/gen/models/detection.py +98 -0
- regula/facesdk/webclient/gen/models/detection_attributes.py +92 -0
- regula/facesdk/webclient/gen/models/detection_attributes_details_inner.py +132 -0
- regula/facesdk/webclient/gen/models/detection_face.py +90 -0
- regula/facesdk/webclient/gen/models/detection_quality.py +107 -0
- regula/facesdk/webclient/gen/models/device_info.py +111 -0
- regula/facesdk/webclient/gen/models/face_attribute.py +40 -0
- regula/facesdk/webclient/gen/models/face_image_quality_align_type.py +32 -0
- regula/facesdk/webclient/gen/models/face_image_quality_groups.py +35 -0
- regula/facesdk/webclient/gen/models/face_image_quality_groups_strings.py +35 -0
- regula/facesdk/webclient/gen/models/face_image_quality_status.py +30 -0
- regula/facesdk/webclient/gen/models/face_quality_config_name.py +75 -0
- regula/facesdk/webclient/gen/models/face_quality_scenarios.py +37 -0
- regula/facesdk/webclient/gen/models/face_sdk_result.py +83 -0
- regula/facesdk/webclient/gen/models/face_sdk_result_code.py +68 -0
- regula/facesdk/webclient/gen/models/faces_response.py +100 -0
- regula/facesdk/webclient/gen/models/faces_response_data.py +90 -0
- regula/facesdk/webclient/gen/models/filter_op.py +29 -0
- regula/facesdk/webclient/gen/models/filter_search_request.py +87 -0
- regula/facesdk/webclient/gen/models/group.py +89 -0
- regula/facesdk/webclient/gen/models/group_data.py +85 -0
- regula/facesdk/webclient/gen/models/group_page.py +94 -0
- regula/facesdk/webclient/gen/models/group_page_items.py +90 -0
- regula/facesdk/webclient/gen/models/group_response.py +84 -0
- regula/facesdk/webclient/gen/models/group_to_create.py +86 -0
- regula/facesdk/webclient/gen/models/image.py +96 -0
- regula/facesdk/webclient/gen/models/image_fields.py +100 -0
- regula/facesdk/webclient/gen/models/image_fields_image.py +92 -0
- regula/facesdk/webclient/gen/models/image_page.py +94 -0
- regula/facesdk/webclient/gen/models/image_page_items.py +90 -0
- regula/facesdk/webclient/gen/models/image_source.py +34 -0
- regula/facesdk/webclient/gen/models/liveness_type.py +29 -0
- regula/facesdk/webclient/gen/models/match_and_search_request.py +103 -0
- regula/facesdk/webclient/gen/models/match_and_search_request_images_item.py +87 -0
- regula/facesdk/webclient/gen/models/match_and_search_response.py +107 -0
- regula/facesdk/webclient/gen/models/match_and_search_response_data.py +104 -0
- regula/facesdk/webclient/gen/models/match_and_search_response_data_detections_item.py +95 -0
- regula/facesdk/webclient/gen/models/match_image.py +89 -0
- regula/facesdk/webclient/gen/models/match_image_detection.py +95 -0
- regula/facesdk/webclient/gen/models/match_image_result.py +97 -0
- regula/facesdk/webclient/gen/models/match_request.py +102 -0
- regula/facesdk/webclient/gen/models/match_request_data.py +98 -0
- regula/facesdk/webclient/gen/models/match_response.py +105 -0
- regula/facesdk/webclient/gen/models/match_response_data.py +102 -0
- regula/facesdk/webclient/gen/models/operation_log.py +88 -0
- regula/facesdk/webclient/gen/models/output_image_params.py +89 -0
- regula/facesdk/webclient/gen/models/page.py +84 -0
- regula/facesdk/webclient/gen/models/person.py +97 -0
- regula/facesdk/webclient/gen/models/person_data.py +87 -0
- regula/facesdk/webclient/gen/models/person_fields.py +91 -0
- regula/facesdk/webclient/gen/models/person_items.py +90 -0
- regula/facesdk/webclient/gen/models/person_to_update_fields.py +89 -0
- regula/facesdk/webclient/gen/models/person_with_images.py +107 -0
- regula/facesdk/webclient/gen/models/person_with_images_data.py +90 -0
- regula/facesdk/webclient/gen/models/persons_page.py +94 -0
- regula/facesdk/webclient/gen/models/process_param.py +103 -0
- regula/facesdk/webclient/gen/models/process_param_attributes.py +90 -0
- regula/facesdk/webclient/gen/models/quality_config.py +86 -0
- regula/facesdk/webclient/gen/models/quality_detail.py +94 -0
- regula/facesdk/webclient/gen/models/quality_details_groups.py +90 -0
- regula/facesdk/webclient/gen/models/quality_request.py +93 -0
- regula/facesdk/webclient/gen/models/recognize_image.py +100 -0
- regula/facesdk/webclient/gen/models/recognize_image_data.py +84 -0
- regula/facesdk/webclient/gen/models/resize_options.py +86 -0
- regula/facesdk/webclient/gen/models/search_bad_params.py +86 -0
- regula/facesdk/webclient/gen/models/search_detection.py +102 -0
- regula/facesdk/webclient/gen/models/search_parameters.py +95 -0
- regula/facesdk/webclient/gen/models/search_parameters_create_person.py +86 -0
- regula/facesdk/webclient/gen/models/search_person.py +113 -0
- regula/facesdk/webclient/gen/models/search_person_data.py +96 -0
- regula/facesdk/webclient/gen/models/search_request.py +119 -0
- regula/facesdk/webclient/gen/models/search_result.py +92 -0
- regula/facesdk/webclient/gen/models/transaction_info.py +99 -0
- regula/facesdk/webclient/gen/models/transaction_labels.py +84 -0
- regula/facesdk/webclient/gen/models/update_group.py +85 -0
- regula/facesdk/webclient/gen/py.typed +0 -0
- regula/facesdk/webclient/gen/rest.py +136 -232
- {regula_facesdk_webclient-7.2.388.dev0.dist-info → regula_facesdk_webclient-8.1.433.dev0.dist-info}/METADATA +7 -4
- regula_facesdk_webclient-8.1.433.dev0.dist-info/RECORD +125 -0
- {regula_facesdk_webclient-7.2.388.dev0.dist-info → regula_facesdk_webclient-8.1.433.dev0.dist-info}/WHEEL +1 -1
- regula/facesdk/webclient/gen/api/diagnostics_api.py +0 -162
- regula/facesdk/webclient/gen/api/liveness_2_0_api.py +0 -306
- regula/facesdk/webclient/gen/api/liveness_api.py +0 -424
- regula/facesdk/webclient/gen/apis/__init__.py +0 -22
- regula/facesdk/webclient/gen/model/__init__.py +0 -5
- regula/facesdk/webclient/gen/model/add_image_to_person_request.py +0 -261
- regula/facesdk/webclient/gen/model/add_image_to_person_request_image.py +0 -204
- regula/facesdk/webclient/gen/model/add_image_to_person_response.py +0 -262
- regula/facesdk/webclient/gen/model/attribute_config.py +0 -120
- regula/facesdk/webclient/gen/model/attribute_config_list.py +0 -92
- regula/facesdk/webclient/gen/model/crop.py +0 -180
- regula/facesdk/webclient/gen/model/detect_attributes_details.py +0 -150
- regula/facesdk/webclient/gen/model/detect_details_meta.py +0 -178
- regula/facesdk/webclient/gen/model/detect_request.py +0 -232
- regula/facesdk/webclient/gen/model/detect_request_attributes.py +0 -120
- regula/facesdk/webclient/gen/model/detect_response.py +0 -147
- regula/facesdk/webclient/gen/model/detect_response_all_of.py +0 -120
- regula/facesdk/webclient/gen/model/detect_result.py +0 -235
- regula/facesdk/webclient/gen/model/detection.py +0 -230
- regula/facesdk/webclient/gen/model/detection_attributes.py +0 -150
- regula/facesdk/webclient/gen/model/detection_face.py +0 -232
- regula/facesdk/webclient/gen/model/detection_quality.py +0 -234
- regula/facesdk/webclient/gen/model/device_info.py +0 -231
- regula/facesdk/webclient/gen/model/face_align_type_quality.py +0 -109
- regula/facesdk/webclient/gen/model/face_attribute.py +0 -133
- regula/facesdk/webclient/gen/model/face_image_quality_align_type.py +0 -109
- regula/facesdk/webclient/gen/model/face_image_quality_groups.py +0 -118
- regula/facesdk/webclient/gen/model/face_image_quality_groups_strings.py +0 -118
- regula/facesdk/webclient/gen/model/face_image_quality_status.py +0 -103
- regula/facesdk/webclient/gen/model/face_quality_config_name.py +0 -238
- regula/facesdk/webclient/gen/model/face_quality_scenarios.py +0 -124
- regula/facesdk/webclient/gen/model/face_quality_status.py +0 -103
- regula/facesdk/webclient/gen/model/face_rectangular.py +0 -92
- regula/facesdk/webclient/gen/model/face_sdk_result.py +0 -121
- regula/facesdk/webclient/gen/model/face_sdk_result_code.py +0 -217
- regula/facesdk/webclient/gen/model/faces_response.py +0 -258
- regula/facesdk/webclient/gen/model/faces_response_all_of.py +0 -148
- regula/facesdk/webclient/gen/model/filter_op.py +0 -100
- regula/facesdk/webclient/gen/model/filter_search_request.py +0 -176
- regula/facesdk/webclient/gen/model/group.py +0 -206
- regula/facesdk/webclient/gen/model/group_all_of.py +0 -150
- regula/facesdk/webclient/gen/model/group_page.py +0 -178
- regula/facesdk/webclient/gen/model/group_page_all_of.py +0 -122
- regula/facesdk/webclient/gen/model/group_response.py +0 -150
- regula/facesdk/webclient/gen/model/group_to_create.py +0 -180
- regula/facesdk/webclient/gen/model/image.py +0 -318
- regula/facesdk/webclient/gen/model/image_fields.py +0 -258
- regula/facesdk/webclient/gen/model/image_fields_image.py +0 -204
- regula/facesdk/webclient/gen/model/image_page.py +0 -176
- regula/facesdk/webclient/gen/model/image_page_all_of.py +0 -120
- regula/facesdk/webclient/gen/model/image_source.py +0 -115
- regula/facesdk/webclient/gen/model/liveness_transaction.py +0 -334
- regula/facesdk/webclient/gen/model/liveness_type.py +0 -100
- regula/facesdk/webclient/gen/model/match_and_search_request.py +0 -290
- regula/facesdk/webclient/gen/model/match_and_search_request_all_of.py +0 -234
- regula/facesdk/webclient/gen/model/match_and_search_request_all_of_images.py +0 -148
- regula/facesdk/webclient/gen/model/match_and_search_request_images.py +0 -176
- regula/facesdk/webclient/gen/model/match_and_search_response.py +0 -233
- regula/facesdk/webclient/gen/model/match_and_search_response_all_of.py +0 -206
- regula/facesdk/webclient/gen/model/match_and_search_response_all_of_detections.py +0 -176
- regula/facesdk/webclient/gen/model/match_image.py +0 -205
- regula/facesdk/webclient/gen/model/match_image_detection.py +0 -178
- regula/facesdk/webclient/gen/model/match_image_result.py +0 -316
- regula/facesdk/webclient/gen/model/match_request.py +0 -233
- regula/facesdk/webclient/gen/model/match_request_output_image_params.py +0 -148
- regula/facesdk/webclient/gen/model/match_request_output_image_params_crop.py +0 -212
- regula/facesdk/webclient/gen/model/match_response.py +0 -205
- regula/facesdk/webclient/gen/model/match_response_all_of.py +0 -178
- regula/facesdk/webclient/gen/model/operation_log.py +0 -206
- regula/facesdk/webclient/gen/model/output_image_params.py +0 -146
- regula/facesdk/webclient/gen/model/page.py +0 -150
- regula/facesdk/webclient/gen/model/person.py +0 -319
- regula/facesdk/webclient/gen/model/person_all_of.py +0 -206
- regula/facesdk/webclient/gen/model/person_created_response.py +0 -178
- regula/facesdk/webclient/gen/model/person_fields.py +0 -235
- regula/facesdk/webclient/gen/model/person_to_update_fields.py +0 -206
- regula/facesdk/webclient/gen/model/person_with_images.py +0 -347
- regula/facesdk/webclient/gen/model/person_with_images_all_of.py +0 -122
- regula/facesdk/webclient/gen/model/persons_page.py +0 -176
- regula/facesdk/webclient/gen/model/persons_page_all_of.py +0 -120
- regula/facesdk/webclient/gen/model/persons_request.py +0 -291
- regula/facesdk/webclient/gen/model/persons_request_all_of.py +0 -150
- regula/facesdk/webclient/gen/model/process_param.py +0 -226
- regula/facesdk/webclient/gen/model/process_param_attributes.py +0 -120
- regula/facesdk/webclient/gen/model/quality_config.py +0 -154
- regula/facesdk/webclient/gen/model/quality_config_list.py +0 -92
- regula/facesdk/webclient/gen/model/quality_detail.py +0 -234
- regula/facesdk/webclient/gen/model/quality_details_groups.py +0 -202
- regula/facesdk/webclient/gen/model/quality_request.py +0 -146
- regula/facesdk/webclient/gen/model/recognize_image.py +0 -374
- regula/facesdk/webclient/gen/model/recognize_image_all_of.py +0 -150
- regula/facesdk/webclient/gen/model/resize_options.py +0 -178
- regula/facesdk/webclient/gen/model/rgb.py +0 -92
- regula/facesdk/webclient/gen/model/search_bad_params.py +0 -172
- regula/facesdk/webclient/gen/model/search_detection.py +0 -398
- regula/facesdk/webclient/gen/model/search_parameters.py +0 -174
- regula/facesdk/webclient/gen/model/search_parameters_create_person.py +0 -177
- regula/facesdk/webclient/gen/model/search_person.py +0 -373
- regula/facesdk/webclient/gen/model/search_person_all_of.py +0 -148
- regula/facesdk/webclient/gen/model/search_request.py +0 -394
- regula/facesdk/webclient/gen/model/search_request_all_of.py +0 -150
- regula/facesdk/webclient/gen/model/search_result.py +0 -150
- regula/facesdk/webclient/gen/model/search_result_all_of.py +0 -122
- regula/facesdk/webclient/gen/model/transaction_config.py +0 -92
- regula/facesdk/webclient/gen/model/transaction_info.py +0 -344
- regula/facesdk/webclient/gen/model/update_group.py +0 -150
- regula/facesdk/webclient/gen/model_utils.py +0 -2037
- regula_facesdk_webclient-7.2.388.dev0.dist-info/RECORD +0 -138
- {regula_facesdk_webclient-7.2.388.dev0.dist-info → regula_facesdk_webclient-8.1.433.dev0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Generated by: https://openapi-generator.tech
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from __future__ import annotations
|
|
8
|
+
import pprint
|
|
9
|
+
import re # noqa: F401
|
|
10
|
+
import json
|
|
11
|
+
|
|
12
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
13
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
|
14
|
+
from regula.facesdk.webclient.gen.models.person_with_images import PersonWithImages
|
|
15
|
+
from typing import Optional, Set
|
|
16
|
+
from typing_extensions import Self
|
|
17
|
+
from pydantic import SkipValidation, Field
|
|
18
|
+
|
|
19
|
+
class FacesResponseData(BaseModel):
|
|
20
|
+
"""
|
|
21
|
+
FacesResponseData
|
|
22
|
+
""" # noqa: E501
|
|
23
|
+
persons: SkipValidation[Optional[List[PersonWithImages]]] = Field(alias="persons", default=None, description="Detected Persons.")
|
|
24
|
+
__properties: ClassVar[List[str]] = ["persons"]
|
|
25
|
+
|
|
26
|
+
model_config = ConfigDict(
|
|
27
|
+
populate_by_name=True,
|
|
28
|
+
validate_assignment=True,
|
|
29
|
+
protected_namespaces=(),
|
|
30
|
+
arbitrary_types_allowed=True,
|
|
31
|
+
use_enum_values=True
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def to_str(self) -> str:
|
|
36
|
+
"""Returns the string representation of the model using alias"""
|
|
37
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
38
|
+
|
|
39
|
+
def to_json(self) -> str:
|
|
40
|
+
"""Returns the JSON representation of the model using alias"""
|
|
41
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
42
|
+
return json.dumps(self.to_dict())
|
|
43
|
+
|
|
44
|
+
@classmethod
|
|
45
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
46
|
+
"""Create an instance of FacesResponseData from a JSON string"""
|
|
47
|
+
return cls.from_dict(json.loads(json_str))
|
|
48
|
+
|
|
49
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
50
|
+
"""Return the dictionary representation of the model using alias.
|
|
51
|
+
|
|
52
|
+
This has the following differences from calling pydantic's
|
|
53
|
+
`self.model_dump(by_alias=True)`:
|
|
54
|
+
|
|
55
|
+
* `None` is only added to the output dict for nullable fields that
|
|
56
|
+
were set at model initialization. Other fields with value `None`
|
|
57
|
+
are ignored.
|
|
58
|
+
"""
|
|
59
|
+
excluded_fields: Set[str] = set([
|
|
60
|
+
])
|
|
61
|
+
|
|
62
|
+
_dict = self.model_dump(
|
|
63
|
+
by_alias=True,
|
|
64
|
+
exclude=excluded_fields,
|
|
65
|
+
exclude_none=True,
|
|
66
|
+
)
|
|
67
|
+
# override the default output from pydantic by calling `to_dict()` of each item in persons (list)
|
|
68
|
+
_items = []
|
|
69
|
+
if self.persons:
|
|
70
|
+
for _item_persons in self.persons:
|
|
71
|
+
if _item_persons:
|
|
72
|
+
_items.append(_item_persons.to_dict())
|
|
73
|
+
_dict['persons'] = _items
|
|
74
|
+
return _dict
|
|
75
|
+
|
|
76
|
+
@classmethod
|
|
77
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
78
|
+
"""Create an instance of FacesResponseData from a dict"""
|
|
79
|
+
if obj is None:
|
|
80
|
+
return None
|
|
81
|
+
|
|
82
|
+
if not isinstance(obj, dict):
|
|
83
|
+
return cls.model_validate(obj)
|
|
84
|
+
|
|
85
|
+
_obj = cls.model_validate({
|
|
86
|
+
"persons": [PersonWithImages.from_dict(_item) for _item in obj.get("persons", []) if PersonWithImages.from_dict(_item) is not None]
|
|
87
|
+
})
|
|
88
|
+
return _obj
|
|
89
|
+
|
|
90
|
+
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Generated by: https://openapi-generator.tech
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from __future__ import annotations
|
|
8
|
+
import json
|
|
9
|
+
from enum import Enum
|
|
10
|
+
from typing_extensions import Self
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class FilterOp(str, Enum):
|
|
14
|
+
"""
|
|
15
|
+
The filter condition, determines the type of comparison to be performed on the `name` values of the Person entity. <br><br>When set to `in`, the `name` values of the Person should match any of the values specified in the `value` list. <br><br>When set to `nin`, the `name` values of the Person should not match any of the values specified in the `value` list.
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
"""
|
|
19
|
+
allowed enum values
|
|
20
|
+
"""
|
|
21
|
+
IN = 'in'
|
|
22
|
+
NOT_IN = 'nin'
|
|
23
|
+
|
|
24
|
+
@classmethod
|
|
25
|
+
def from_json(cls, json_str: str) -> Self:
|
|
26
|
+
"""Create an instance of FilterOp from a JSON string"""
|
|
27
|
+
return cls(json.loads(json_str))
|
|
28
|
+
|
|
29
|
+
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Generated by: https://openapi-generator.tech
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from __future__ import annotations
|
|
8
|
+
import pprint
|
|
9
|
+
import re # noqa: F401
|
|
10
|
+
import json
|
|
11
|
+
|
|
12
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
|
13
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
|
14
|
+
from regula.facesdk.webclient.gen.models.filter_op import FilterOp
|
|
15
|
+
from typing import Optional, Set
|
|
16
|
+
from typing_extensions import Self
|
|
17
|
+
from pydantic import SkipValidation, Field
|
|
18
|
+
|
|
19
|
+
class FilterSearchRequest(BaseModel):
|
|
20
|
+
"""
|
|
21
|
+
Allows to filter the search results based on the Person's `name`. If enabled, only the search results that meet the filter condition will be returned.
|
|
22
|
+
""" # noqa: E501
|
|
23
|
+
op: SkipValidation[Optional[FilterOp]] = Field(alias="op", default=None)
|
|
24
|
+
var_field: SkipValidation[Optional[str]] = Field(alias="field", default=None, description="`name` of the Person.")
|
|
25
|
+
value: SkipValidation[Optional[List[str]]] = Field(alias="value", default=None, description="The list of `name` values against which the `field` is compared.")
|
|
26
|
+
__properties: ClassVar[List[str]] = ["op", "field", "value"]
|
|
27
|
+
|
|
28
|
+
model_config = ConfigDict(
|
|
29
|
+
populate_by_name=True,
|
|
30
|
+
validate_assignment=True,
|
|
31
|
+
protected_namespaces=(),
|
|
32
|
+
arbitrary_types_allowed=True,
|
|
33
|
+
use_enum_values=True
|
|
34
|
+
)
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def to_str(self) -> str:
|
|
38
|
+
"""Returns the string representation of the model using alias"""
|
|
39
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
40
|
+
|
|
41
|
+
def to_json(self) -> str:
|
|
42
|
+
"""Returns the JSON representation of the model using alias"""
|
|
43
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
44
|
+
return json.dumps(self.to_dict())
|
|
45
|
+
|
|
46
|
+
@classmethod
|
|
47
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
48
|
+
"""Create an instance of FilterSearchRequest from a JSON string"""
|
|
49
|
+
return cls.from_dict(json.loads(json_str))
|
|
50
|
+
|
|
51
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
52
|
+
"""Return the dictionary representation of the model using alias.
|
|
53
|
+
|
|
54
|
+
This has the following differences from calling pydantic's
|
|
55
|
+
`self.model_dump(by_alias=True)`:
|
|
56
|
+
|
|
57
|
+
* `None` is only added to the output dict for nullable fields that
|
|
58
|
+
were set at model initialization. Other fields with value `None`
|
|
59
|
+
are ignored.
|
|
60
|
+
"""
|
|
61
|
+
excluded_fields: Set[str] = set([
|
|
62
|
+
])
|
|
63
|
+
|
|
64
|
+
_dict = self.model_dump(
|
|
65
|
+
by_alias=True,
|
|
66
|
+
exclude=excluded_fields,
|
|
67
|
+
exclude_none=True,
|
|
68
|
+
)
|
|
69
|
+
return _dict
|
|
70
|
+
|
|
71
|
+
@classmethod
|
|
72
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
73
|
+
"""Create an instance of FilterSearchRequest from a dict"""
|
|
74
|
+
if obj is None:
|
|
75
|
+
return None
|
|
76
|
+
|
|
77
|
+
if not isinstance(obj, dict):
|
|
78
|
+
return cls.model_validate(obj)
|
|
79
|
+
|
|
80
|
+
_obj = cls.model_validate({
|
|
81
|
+
"op": obj.get("op"),
|
|
82
|
+
"field": obj.get("field"),
|
|
83
|
+
"value": obj.get("value")
|
|
84
|
+
})
|
|
85
|
+
return _obj
|
|
86
|
+
|
|
87
|
+
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Generated by: https://openapi-generator.tech
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from __future__ import annotations
|
|
8
|
+
import pprint
|
|
9
|
+
import re # noqa: F401
|
|
10
|
+
import json
|
|
11
|
+
|
|
12
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
|
13
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
|
14
|
+
from uuid import UUID
|
|
15
|
+
from typing import Optional, Set
|
|
16
|
+
from typing_extensions import Self
|
|
17
|
+
from pydantic import SkipValidation, Field
|
|
18
|
+
|
|
19
|
+
class Group(BaseModel):
|
|
20
|
+
"""
|
|
21
|
+
Group
|
|
22
|
+
""" # noqa: E501
|
|
23
|
+
name: SkipValidation[Optional[str]] = Field(alias="name", default=None, description="Group to create name.")
|
|
24
|
+
metadata: SkipValidation[Optional[Dict[str, object]]] = Field(alias="metadata", default=None, description="A free-form object containing group's extended attributes.")
|
|
25
|
+
id: SkipValidation[Optional[str]] = Field(alias="id", default=None, description="Group ID.")
|
|
26
|
+
created_at: SkipValidation[Optional[str]] = Field(alias="createdAt", default=None, description="Group creation date.")
|
|
27
|
+
__properties: ClassVar[List[str]] = ["name", "metadata", "id", "createdAt"]
|
|
28
|
+
|
|
29
|
+
model_config = ConfigDict(
|
|
30
|
+
populate_by_name=True,
|
|
31
|
+
validate_assignment=True,
|
|
32
|
+
protected_namespaces=(),
|
|
33
|
+
arbitrary_types_allowed=True,
|
|
34
|
+
use_enum_values=True
|
|
35
|
+
)
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def to_str(self) -> str:
|
|
39
|
+
"""Returns the string representation of the model using alias"""
|
|
40
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
41
|
+
|
|
42
|
+
def to_json(self) -> str:
|
|
43
|
+
"""Returns the JSON representation of the model using alias"""
|
|
44
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
45
|
+
return json.dumps(self.to_dict())
|
|
46
|
+
|
|
47
|
+
@classmethod
|
|
48
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
49
|
+
"""Create an instance of Group from a JSON string"""
|
|
50
|
+
return cls.from_dict(json.loads(json_str))
|
|
51
|
+
|
|
52
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
53
|
+
"""Return the dictionary representation of the model using alias.
|
|
54
|
+
|
|
55
|
+
This has the following differences from calling pydantic's
|
|
56
|
+
`self.model_dump(by_alias=True)`:
|
|
57
|
+
|
|
58
|
+
* `None` is only added to the output dict for nullable fields that
|
|
59
|
+
were set at model initialization. Other fields with value `None`
|
|
60
|
+
are ignored.
|
|
61
|
+
"""
|
|
62
|
+
excluded_fields: Set[str] = set([
|
|
63
|
+
])
|
|
64
|
+
|
|
65
|
+
_dict = self.model_dump(
|
|
66
|
+
by_alias=True,
|
|
67
|
+
exclude=excluded_fields,
|
|
68
|
+
exclude_none=True,
|
|
69
|
+
)
|
|
70
|
+
return _dict
|
|
71
|
+
|
|
72
|
+
@classmethod
|
|
73
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
74
|
+
"""Create an instance of Group from a dict"""
|
|
75
|
+
if obj is None:
|
|
76
|
+
return None
|
|
77
|
+
|
|
78
|
+
if not isinstance(obj, dict):
|
|
79
|
+
return cls.model_validate(obj)
|
|
80
|
+
|
|
81
|
+
_obj = cls.model_validate({
|
|
82
|
+
"name": obj.get("name"),
|
|
83
|
+
"metadata": obj.get("metadata"),
|
|
84
|
+
"id": obj.get("id"),
|
|
85
|
+
"createdAt": obj.get("createdAt")
|
|
86
|
+
})
|
|
87
|
+
return _obj
|
|
88
|
+
|
|
89
|
+
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Generated by: https://openapi-generator.tech
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from __future__ import annotations
|
|
8
|
+
import pprint
|
|
9
|
+
import re # noqa: F401
|
|
10
|
+
import json
|
|
11
|
+
|
|
12
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
|
13
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
|
14
|
+
from uuid import UUID
|
|
15
|
+
from typing import Optional, Set
|
|
16
|
+
from typing_extensions import Self
|
|
17
|
+
from pydantic import SkipValidation, Field
|
|
18
|
+
|
|
19
|
+
class GroupData(BaseModel):
|
|
20
|
+
"""
|
|
21
|
+
Additional group data in the response, includes id and createdAt.
|
|
22
|
+
""" # noqa: E501
|
|
23
|
+
id: SkipValidation[Optional[str]] = Field(alias="id", default=None, description="Group ID.")
|
|
24
|
+
created_at: SkipValidation[Optional[str]] = Field(alias="createdAt", default=None, description="Group creation date.")
|
|
25
|
+
__properties: ClassVar[List[str]] = ["id", "createdAt"]
|
|
26
|
+
|
|
27
|
+
model_config = ConfigDict(
|
|
28
|
+
populate_by_name=True,
|
|
29
|
+
validate_assignment=True,
|
|
30
|
+
protected_namespaces=(),
|
|
31
|
+
arbitrary_types_allowed=True,
|
|
32
|
+
use_enum_values=True
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def to_str(self) -> str:
|
|
37
|
+
"""Returns the string representation of the model using alias"""
|
|
38
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
39
|
+
|
|
40
|
+
def to_json(self) -> str:
|
|
41
|
+
"""Returns the JSON representation of the model using alias"""
|
|
42
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
43
|
+
return json.dumps(self.to_dict())
|
|
44
|
+
|
|
45
|
+
@classmethod
|
|
46
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
47
|
+
"""Create an instance of GroupData from a JSON string"""
|
|
48
|
+
return cls.from_dict(json.loads(json_str))
|
|
49
|
+
|
|
50
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
51
|
+
"""Return the dictionary representation of the model using alias.
|
|
52
|
+
|
|
53
|
+
This has the following differences from calling pydantic's
|
|
54
|
+
`self.model_dump(by_alias=True)`:
|
|
55
|
+
|
|
56
|
+
* `None` is only added to the output dict for nullable fields that
|
|
57
|
+
were set at model initialization. Other fields with value `None`
|
|
58
|
+
are ignored.
|
|
59
|
+
"""
|
|
60
|
+
excluded_fields: Set[str] = set([
|
|
61
|
+
])
|
|
62
|
+
|
|
63
|
+
_dict = self.model_dump(
|
|
64
|
+
by_alias=True,
|
|
65
|
+
exclude=excluded_fields,
|
|
66
|
+
exclude_none=True,
|
|
67
|
+
)
|
|
68
|
+
return _dict
|
|
69
|
+
|
|
70
|
+
@classmethod
|
|
71
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
72
|
+
"""Create an instance of GroupData from a dict"""
|
|
73
|
+
if obj is None:
|
|
74
|
+
return None
|
|
75
|
+
|
|
76
|
+
if not isinstance(obj, dict):
|
|
77
|
+
return cls.model_validate(obj)
|
|
78
|
+
|
|
79
|
+
_obj = cls.model_validate({
|
|
80
|
+
"id": obj.get("id"),
|
|
81
|
+
"createdAt": obj.get("createdAt")
|
|
82
|
+
})
|
|
83
|
+
return _obj
|
|
84
|
+
|
|
85
|
+
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Generated by: https://openapi-generator.tech
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from __future__ import annotations
|
|
8
|
+
import pprint
|
|
9
|
+
import re # noqa: F401
|
|
10
|
+
import json
|
|
11
|
+
|
|
12
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictInt
|
|
13
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
|
14
|
+
from regula.facesdk.webclient.gen.models.group import Group
|
|
15
|
+
from typing import Optional, Set
|
|
16
|
+
from typing_extensions import Self
|
|
17
|
+
from pydantic import SkipValidation, Field
|
|
18
|
+
|
|
19
|
+
class GroupPage(BaseModel):
|
|
20
|
+
"""
|
|
21
|
+
GroupPage
|
|
22
|
+
""" # noqa: E501
|
|
23
|
+
items: SkipValidation[Optional[List[Group]]] = Field(alias="items", default=None, description="Array of Groups that are found during the search.")
|
|
24
|
+
page: SkipValidation[Optional[int]] = Field(alias="page", default=None, description="Current page number.")
|
|
25
|
+
total_pages: SkipValidation[Optional[int]] = Field(alias="totalPages", default=None, description="Total number of pages.")
|
|
26
|
+
__properties: ClassVar[List[str]] = ["items", "page", "totalPages"]
|
|
27
|
+
|
|
28
|
+
model_config = ConfigDict(
|
|
29
|
+
populate_by_name=True,
|
|
30
|
+
validate_assignment=True,
|
|
31
|
+
protected_namespaces=(),
|
|
32
|
+
arbitrary_types_allowed=True,
|
|
33
|
+
use_enum_values=True
|
|
34
|
+
)
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def to_str(self) -> str:
|
|
38
|
+
"""Returns the string representation of the model using alias"""
|
|
39
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
40
|
+
|
|
41
|
+
def to_json(self) -> str:
|
|
42
|
+
"""Returns the JSON representation of the model using alias"""
|
|
43
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
44
|
+
return json.dumps(self.to_dict())
|
|
45
|
+
|
|
46
|
+
@classmethod
|
|
47
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
48
|
+
"""Create an instance of GroupPage from a JSON string"""
|
|
49
|
+
return cls.from_dict(json.loads(json_str))
|
|
50
|
+
|
|
51
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
52
|
+
"""Return the dictionary representation of the model using alias.
|
|
53
|
+
|
|
54
|
+
This has the following differences from calling pydantic's
|
|
55
|
+
`self.model_dump(by_alias=True)`:
|
|
56
|
+
|
|
57
|
+
* `None` is only added to the output dict for nullable fields that
|
|
58
|
+
were set at model initialization. Other fields with value `None`
|
|
59
|
+
are ignored.
|
|
60
|
+
"""
|
|
61
|
+
excluded_fields: Set[str] = set([
|
|
62
|
+
])
|
|
63
|
+
|
|
64
|
+
_dict = self.model_dump(
|
|
65
|
+
by_alias=True,
|
|
66
|
+
exclude=excluded_fields,
|
|
67
|
+
exclude_none=True,
|
|
68
|
+
)
|
|
69
|
+
# override the default output from pydantic by calling `to_dict()` of each item in items (list)
|
|
70
|
+
_items = []
|
|
71
|
+
if self.items:
|
|
72
|
+
for _item_items in self.items:
|
|
73
|
+
if _item_items:
|
|
74
|
+
_items.append(_item_items.to_dict())
|
|
75
|
+
_dict['items'] = _items
|
|
76
|
+
return _dict
|
|
77
|
+
|
|
78
|
+
@classmethod
|
|
79
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
80
|
+
"""Create an instance of GroupPage from a dict"""
|
|
81
|
+
if obj is None:
|
|
82
|
+
return None
|
|
83
|
+
|
|
84
|
+
if not isinstance(obj, dict):
|
|
85
|
+
return cls.model_validate(obj)
|
|
86
|
+
|
|
87
|
+
_obj = cls.model_validate({
|
|
88
|
+
"items": [Group.from_dict(_item) for _item in obj.get("items", []) if Group.from_dict(_item) is not None],
|
|
89
|
+
"page": obj.get("page"),
|
|
90
|
+
"totalPages": obj.get("totalPages")
|
|
91
|
+
})
|
|
92
|
+
return _obj
|
|
93
|
+
|
|
94
|
+
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Generated by: https://openapi-generator.tech
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from __future__ import annotations
|
|
8
|
+
import pprint
|
|
9
|
+
import re # noqa: F401
|
|
10
|
+
import json
|
|
11
|
+
|
|
12
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
13
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
|
14
|
+
from regula.facesdk.webclient.gen.models.group import Group
|
|
15
|
+
from typing import Optional, Set
|
|
16
|
+
from typing_extensions import Self
|
|
17
|
+
from pydantic import SkipValidation, Field
|
|
18
|
+
|
|
19
|
+
class GroupPageItems(BaseModel):
|
|
20
|
+
"""
|
|
21
|
+
GroupPageItems
|
|
22
|
+
""" # noqa: E501
|
|
23
|
+
items: SkipValidation[Optional[List[Group]]] = Field(alias="items", default=None, description="Array of Groups that are found during the search.")
|
|
24
|
+
__properties: ClassVar[List[str]] = ["items"]
|
|
25
|
+
|
|
26
|
+
model_config = ConfigDict(
|
|
27
|
+
populate_by_name=True,
|
|
28
|
+
validate_assignment=True,
|
|
29
|
+
protected_namespaces=(),
|
|
30
|
+
arbitrary_types_allowed=True,
|
|
31
|
+
use_enum_values=True
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def to_str(self) -> str:
|
|
36
|
+
"""Returns the string representation of the model using alias"""
|
|
37
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
38
|
+
|
|
39
|
+
def to_json(self) -> str:
|
|
40
|
+
"""Returns the JSON representation of the model using alias"""
|
|
41
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
42
|
+
return json.dumps(self.to_dict())
|
|
43
|
+
|
|
44
|
+
@classmethod
|
|
45
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
46
|
+
"""Create an instance of GroupPageItems from a JSON string"""
|
|
47
|
+
return cls.from_dict(json.loads(json_str))
|
|
48
|
+
|
|
49
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
50
|
+
"""Return the dictionary representation of the model using alias.
|
|
51
|
+
|
|
52
|
+
This has the following differences from calling pydantic's
|
|
53
|
+
`self.model_dump(by_alias=True)`:
|
|
54
|
+
|
|
55
|
+
* `None` is only added to the output dict for nullable fields that
|
|
56
|
+
were set at model initialization. Other fields with value `None`
|
|
57
|
+
are ignored.
|
|
58
|
+
"""
|
|
59
|
+
excluded_fields: Set[str] = set([
|
|
60
|
+
])
|
|
61
|
+
|
|
62
|
+
_dict = self.model_dump(
|
|
63
|
+
by_alias=True,
|
|
64
|
+
exclude=excluded_fields,
|
|
65
|
+
exclude_none=True,
|
|
66
|
+
)
|
|
67
|
+
# override the default output from pydantic by calling `to_dict()` of each item in items (list)
|
|
68
|
+
_items = []
|
|
69
|
+
if self.items:
|
|
70
|
+
for _item_items in self.items:
|
|
71
|
+
if _item_items:
|
|
72
|
+
_items.append(_item_items.to_dict())
|
|
73
|
+
_dict['items'] = _items
|
|
74
|
+
return _dict
|
|
75
|
+
|
|
76
|
+
@classmethod
|
|
77
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
78
|
+
"""Create an instance of GroupPageItems from a dict"""
|
|
79
|
+
if obj is None:
|
|
80
|
+
return None
|
|
81
|
+
|
|
82
|
+
if not isinstance(obj, dict):
|
|
83
|
+
return cls.model_validate(obj)
|
|
84
|
+
|
|
85
|
+
_obj = cls.model_validate({
|
|
86
|
+
"items": [Group.from_dict(_item) for _item in obj.get("items", []) if Group.from_dict(_item) is not None]
|
|
87
|
+
})
|
|
88
|
+
return _obj
|
|
89
|
+
|
|
90
|
+
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Generated by: https://openapi-generator.tech
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from __future__ import annotations
|
|
8
|
+
import pprint
|
|
9
|
+
import re # noqa: F401
|
|
10
|
+
import json
|
|
11
|
+
|
|
12
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
|
13
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
|
14
|
+
from typing import Optional, Set
|
|
15
|
+
from typing_extensions import Self
|
|
16
|
+
from pydantic import SkipValidation, Field
|
|
17
|
+
|
|
18
|
+
class GroupResponse(BaseModel):
|
|
19
|
+
"""
|
|
20
|
+
Response group create data, includes name and metadata.
|
|
21
|
+
""" # noqa: E501
|
|
22
|
+
name: SkipValidation[Optional[str]] = Field(alias="name", default=None, description="Group to create name.")
|
|
23
|
+
metadata: SkipValidation[Optional[Dict[str, object]]] = Field(alias="metadata", default=None, description="A free-form object containing group's extended attributes.")
|
|
24
|
+
__properties: ClassVar[List[str]] = ["name", "metadata"]
|
|
25
|
+
|
|
26
|
+
model_config = ConfigDict(
|
|
27
|
+
populate_by_name=True,
|
|
28
|
+
validate_assignment=True,
|
|
29
|
+
protected_namespaces=(),
|
|
30
|
+
arbitrary_types_allowed=True,
|
|
31
|
+
use_enum_values=True
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def to_str(self) -> str:
|
|
36
|
+
"""Returns the string representation of the model using alias"""
|
|
37
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
38
|
+
|
|
39
|
+
def to_json(self) -> str:
|
|
40
|
+
"""Returns the JSON representation of the model using alias"""
|
|
41
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
42
|
+
return json.dumps(self.to_dict())
|
|
43
|
+
|
|
44
|
+
@classmethod
|
|
45
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
46
|
+
"""Create an instance of GroupResponse from a JSON string"""
|
|
47
|
+
return cls.from_dict(json.loads(json_str))
|
|
48
|
+
|
|
49
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
50
|
+
"""Return the dictionary representation of the model using alias.
|
|
51
|
+
|
|
52
|
+
This has the following differences from calling pydantic's
|
|
53
|
+
`self.model_dump(by_alias=True)`:
|
|
54
|
+
|
|
55
|
+
* `None` is only added to the output dict for nullable fields that
|
|
56
|
+
were set at model initialization. Other fields with value `None`
|
|
57
|
+
are ignored.
|
|
58
|
+
"""
|
|
59
|
+
excluded_fields: Set[str] = set([
|
|
60
|
+
])
|
|
61
|
+
|
|
62
|
+
_dict = self.model_dump(
|
|
63
|
+
by_alias=True,
|
|
64
|
+
exclude=excluded_fields,
|
|
65
|
+
exclude_none=True,
|
|
66
|
+
)
|
|
67
|
+
return _dict
|
|
68
|
+
|
|
69
|
+
@classmethod
|
|
70
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
71
|
+
"""Create an instance of GroupResponse from a dict"""
|
|
72
|
+
if obj is None:
|
|
73
|
+
return None
|
|
74
|
+
|
|
75
|
+
if not isinstance(obj, dict):
|
|
76
|
+
return cls.model_validate(obj)
|
|
77
|
+
|
|
78
|
+
_obj = cls.model_validate({
|
|
79
|
+
"name": obj.get("name"),
|
|
80
|
+
"metadata": obj.get("metadata")
|
|
81
|
+
})
|
|
82
|
+
return _obj
|
|
83
|
+
|
|
84
|
+
|