Skip to content

Commit 0eae7f5

Browse files
Merge pull request #212 from regulaforensics/fix/SP-21986
SP-21986 - Update DeviceInfo
2 parents 59a3527 + 463f981 commit 0eae7f5

File tree

6 files changed

+131
-11
lines changed

6 files changed

+131
-11
lines changed

.openapi-generator/FILES

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ regula/documentreader/webclient/gen/models/data_module.py
4141
regula/documentreader/webclient/gen/models/details_optical.py
4242
regula/documentreader/webclient/gen/models/details_rfid.py
4343
regula/documentreader/webclient/gen/models/device_info.py
44+
regula/documentreader/webclient/gen/models/device_info_documents_database.py
4445
regula/documentreader/webclient/gen/models/doc_bar_code_info.py
4546
regula/documentreader/webclient/gen/models/doc_bar_code_info_fields_list.py
4647
regula/documentreader/webclient/gen/models/doc_bar_code_info_item.py

regula/documentreader/webclient/gen/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
from regula.documentreader.webclient.gen.models.details_optical import DetailsOptical
5757
from regula.documentreader.webclient.gen.models.details_rfid import DetailsRFID
5858
from regula.documentreader.webclient.gen.models.device_info import DeviceInfo
59+
from regula.documentreader.webclient.gen.models.device_info_documents_database import DeviceInfoDocumentsDatabase
5960
from regula.documentreader.webclient.gen.models.doc_bar_code_info import DocBarCodeInfo
6061
from regula.documentreader.webclient.gen.models.doc_bar_code_info_fields_list import DocBarCodeInfoFieldsList
6162
from regula.documentreader.webclient.gen.models.doc_bar_code_info_item import DocBarCodeInfoItem

regula/documentreader/webclient/gen/models/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
from regula.documentreader.webclient.gen.models.details_optical import DetailsOptical
3838
from regula.documentreader.webclient.gen.models.details_rfid import DetailsRFID
3939
from regula.documentreader.webclient.gen.models.device_info import DeviceInfo
40+
from regula.documentreader.webclient.gen.models.device_info_documents_database import DeviceInfoDocumentsDatabase
4041
from regula.documentreader.webclient.gen.models.doc_bar_code_info import DocBarCodeInfo
4142
from regula.documentreader.webclient.gen.models.doc_bar_code_info_fields_list import DocBarCodeInfoFieldsList
4243
from regula.documentreader.webclient.gen.models.doc_bar_code_info_item import DocBarCodeInfoItem

regula/documentreader/webclient/gen/models/device_info.py

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,25 @@
1212
from datetime import datetime
1313
from pydantic import BaseModel, ConfigDict, Field, StrictStr
1414
from typing import Any, ClassVar, Dict, List, Optional
15+
from regula.documentreader.webclient.gen.models.device_info_documents_database import DeviceInfoDocumentsDatabase
1516
from typing import Optional, Set
1617
from typing_extensions import Self
1718

1819
class DeviceInfo(BaseModel):
1920
"""
2021
DeviceInfo
2122
""" # noqa: E501
22-
app_name: Optional[StrictStr] = Field(default=None, alias="app-name")
23-
version: Optional[StrictStr] = None
24-
license_id: Optional[StrictStr] = Field(default=None, alias="license-id")
25-
license_serial: Optional[StrictStr] = Field(default=None, alias="license-serial")
26-
valid_until: Optional[datetime] = Field(default=None, alias="valid-until")
27-
server_time: Optional[datetime] = Field(default=None, alias="server-time")
28-
__properties: ClassVar[List[str]] = ["app-name", "version", "license-id", "license-serial", "valid-until", "server-time"]
23+
app_name: Optional[StrictStr] = Field(default=None, description="Application name.", alias="app-name")
24+
version: Optional[StrictStr] = Field(default=None, description="Product version.")
25+
license_id: Optional[StrictStr] = Field(default=None, description="Unique license identifier.", alias="license-id")
26+
license_serial: Optional[StrictStr] = Field(default=None, description="License serial number.", alias="license-serial")
27+
license_type: Optional[StrictStr] = Field(default=None, alias="license-type")
28+
valid_until: Optional[datetime] = Field(default=None, description="License validity date.", alias="valid-until")
29+
server_time: Optional[StrictStr] = Field(default=None, alias="server-time")
30+
supported_scenarios: Optional[List[StrictStr]] = Field(default=None, description="List of supported scenarios.", alias="supported-scenarios")
31+
metadata: Optional[Dict[str, Any]] = None
32+
documents_database: Optional[DeviceInfoDocumentsDatabase] = Field(default=None, alias="documents-database")
33+
__properties: ClassVar[List[str]] = ["app-name", "version", "license-id", "license-serial", "license-type", "valid-until", "server-time", "supported-scenarios", "metadata", "documents-database"]
2934

3035
model_config = ConfigDict(
3136
populate_by_name=True,
@@ -66,6 +71,9 @@ def to_dict(self) -> Dict[str, Any]:
6671
exclude=excluded_fields,
6772
exclude_none=True,
6873
)
74+
# override the default output from pydantic by calling `to_dict()` of documents_database
75+
if self.documents_database:
76+
_dict['documents-database'] = self.documents_database.to_dict()
6977
return _dict
7078

7179
@classmethod
@@ -82,8 +90,12 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
8290
"version": obj.get("version"),
8391
"license-id": obj.get("license-id"),
8492
"license-serial": obj.get("license-serial"),
93+
"license-type": obj.get("license-type"),
8594
"valid-until": obj.get("valid-until"),
86-
"server-time": obj.get("server-time")
95+
"server-time": obj.get("server-time"),
96+
"supported-scenarios": obj.get("supported-scenarios"),
97+
"metadata": obj.get("metadata"),
98+
"documents-database": DeviceInfoDocumentsDatabase.from_dict(obj["documents-database"]) if obj.get("documents-database") is not None else None
8799
})
88100
return _obj
89101

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
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+
17+
class DeviceInfoDocumentsDatabase(BaseModel):
18+
"""
19+
Database information.
20+
""" # noqa: E501
21+
id: Optional[StrictStr] = Field(description="Database identifier.")
22+
version: Optional[StrictStr] = Field(description="Database version.")
23+
export_date: Optional[StrictStr] = Field(description="Date of database creation.", alias="export-date")
24+
description: Optional[StrictStr] = Field(description="Description of the database contents, such as the list of supported countries and documents.")
25+
__properties: ClassVar[List[str]] = ["id", "version", "export-date", "description"]
26+
27+
model_config = ConfigDict(
28+
populate_by_name=True,
29+
validate_assignment=True,
30+
protected_namespaces=(),
31+
)
32+
33+
34+
def to_str(self) -> str:
35+
"""Returns the string representation of the model using alias"""
36+
return pprint.pformat(self.model_dump(by_alias=True))
37+
38+
def to_json(self) -> str:
39+
"""Returns the JSON representation of the model using alias"""
40+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
41+
return json.dumps(self.to_dict())
42+
43+
@classmethod
44+
def from_json(cls, json_str: str) -> Optional[Self]:
45+
"""Create an instance of DeviceInfoDocumentsDatabase from a JSON string"""
46+
return cls.from_dict(json.loads(json_str))
47+
48+
def to_dict(self) -> Dict[str, Any]:
49+
"""Return the dictionary representation of the model using alias.
50+
51+
This has the following differences from calling pydantic's
52+
`self.model_dump(by_alias=True)`:
53+
54+
* `None` is only added to the output dict for nullable fields that
55+
were set at model initialization. Other fields with value `None`
56+
are ignored.
57+
"""
58+
excluded_fields: Set[str] = set([
59+
])
60+
61+
_dict = self.model_dump(
62+
by_alias=True,
63+
exclude=excluded_fields,
64+
exclude_none=True,
65+
)
66+
# set to None if id (nullable) is None
67+
# and model_fields_set contains the field
68+
if self.id is None and "id" in self.model_fields_set:
69+
_dict['id'] = None
70+
71+
# set to None if version (nullable) is None
72+
# and model_fields_set contains the field
73+
if self.version is None and "version" in self.model_fields_set:
74+
_dict['version'] = None
75+
76+
# set to None if export_date (nullable) is None
77+
# and model_fields_set contains the field
78+
if self.export_date is None and "export_date" in self.model_fields_set:
79+
_dict['export-date'] = None
80+
81+
# set to None if description (nullable) is None
82+
# and model_fields_set contains the field
83+
if self.description is None and "description" in self.model_fields_set:
84+
_dict['description'] = None
85+
86+
return _dict
87+
88+
@classmethod
89+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
90+
"""Create an instance of DeviceInfoDocumentsDatabase from a dict"""
91+
if obj is None:
92+
return None
93+
94+
if not isinstance(obj, dict):
95+
return cls.model_validate(obj)
96+
97+
_obj = cls.model_validate({
98+
"id": obj.get("id"),
99+
"version": obj.get("version"),
100+
"export-date": obj.get("export-date"),
101+
"description": obj.get("description")
102+
})
103+
return _obj
104+
105+

regula/documentreader/webclient/gen/models/process_params_rfid.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ class ProcessParamsRfid(BaseModel):
1919
"""
2020
Params for the RFID chip data reprocessing
2121
""" # noqa: E501
22-
pa_sensitive_codes_disable: Optional[List[ParsingNotificationCodes]] = Field(default=None, description="A list of notification codes that should be ignored during passive authentication (PA)", alias="paSensitiveCodesDisable")
23-
__properties: ClassVar[List[str]] = ["paSensitiveCodesDisable"]
22+
pa_ignore_notification_codes: Optional[List[ParsingNotificationCodes]] = Field(default=None, description="A list of notification codes that should be ignored during passive authentication (PA)", alias="paIgnoreNotificationCodes")
23+
__properties: ClassVar[List[str]] = ["paIgnoreNotificationCodes"]
2424

2525
model_config = ConfigDict(
2626
populate_by_name=True,
@@ -73,7 +73,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
7373
return cls.model_validate(obj)
7474

7575
_obj = cls.model_validate({
76-
"paSensitiveCodesDisable": obj.get("paSensitiveCodesDisable")
76+
"paIgnoreNotificationCodes": obj.get("paIgnoreNotificationCodes")
7777
})
7878
return _obj
7979

0 commit comments

Comments
 (0)