diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index 66cd1a0..0586f22 100755 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -41,6 +41,7 @@ regula/documentreader/webclient/gen/models/data_module.py regula/documentreader/webclient/gen/models/details_optical.py regula/documentreader/webclient/gen/models/details_rfid.py regula/documentreader/webclient/gen/models/device_info.py +regula/documentreader/webclient/gen/models/device_info_documents_database.py regula/documentreader/webclient/gen/models/doc_bar_code_info.py regula/documentreader/webclient/gen/models/doc_bar_code_info_fields_list.py regula/documentreader/webclient/gen/models/doc_bar_code_info_item.py diff --git a/regula/documentreader/webclient/gen/__init__.py b/regula/documentreader/webclient/gen/__init__.py index ede538b..a72d263 100644 --- a/regula/documentreader/webclient/gen/__init__.py +++ b/regula/documentreader/webclient/gen/__init__.py @@ -56,6 +56,7 @@ from regula.documentreader.webclient.gen.models.details_optical import DetailsOptical from regula.documentreader.webclient.gen.models.details_rfid import DetailsRFID from regula.documentreader.webclient.gen.models.device_info import DeviceInfo +from regula.documentreader.webclient.gen.models.device_info_documents_database import DeviceInfoDocumentsDatabase from regula.documentreader.webclient.gen.models.doc_bar_code_info import DocBarCodeInfo from regula.documentreader.webclient.gen.models.doc_bar_code_info_fields_list import DocBarCodeInfoFieldsList from regula.documentreader.webclient.gen.models.doc_bar_code_info_item import DocBarCodeInfoItem diff --git a/regula/documentreader/webclient/gen/models/__init__.py b/regula/documentreader/webclient/gen/models/__init__.py index 4583a30..7d776e1 100644 --- a/regula/documentreader/webclient/gen/models/__init__.py +++ b/regula/documentreader/webclient/gen/models/__init__.py @@ -37,6 +37,7 @@ from regula.documentreader.webclient.gen.models.details_optical import DetailsOptical from regula.documentreader.webclient.gen.models.details_rfid import DetailsRFID from regula.documentreader.webclient.gen.models.device_info import DeviceInfo +from regula.documentreader.webclient.gen.models.device_info_documents_database import DeviceInfoDocumentsDatabase from regula.documentreader.webclient.gen.models.doc_bar_code_info import DocBarCodeInfo from regula.documentreader.webclient.gen.models.doc_bar_code_info_fields_list import DocBarCodeInfoFieldsList from regula.documentreader.webclient.gen.models.doc_bar_code_info_item import DocBarCodeInfoItem diff --git a/regula/documentreader/webclient/gen/models/device_info.py b/regula/documentreader/webclient/gen/models/device_info.py index 49bdd23..baa9572 100644 --- a/regula/documentreader/webclient/gen/models/device_info.py +++ b/regula/documentreader/webclient/gen/models/device_info.py @@ -12,6 +12,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr from typing import Any, ClassVar, Dict, List, Optional +from regula.documentreader.webclient.gen.models.device_info_documents_database import DeviceInfoDocumentsDatabase from typing import Optional, Set from typing_extensions import Self @@ -19,13 +20,17 @@ class DeviceInfo(BaseModel): """ DeviceInfo """ # noqa: E501 - app_name: Optional[StrictStr] = Field(default=None, alias="app-name") - version: Optional[StrictStr] = None - license_id: Optional[StrictStr] = Field(default=None, alias="license-id") - license_serial: Optional[StrictStr] = Field(default=None, alias="license-serial") - valid_until: Optional[datetime] = Field(default=None, alias="valid-until") - server_time: Optional[datetime] = Field(default=None, alias="server-time") - __properties: ClassVar[List[str]] = ["app-name", "version", "license-id", "license-serial", "valid-until", "server-time"] + app_name: Optional[StrictStr] = Field(default=None, description="Application name.", alias="app-name") + version: Optional[StrictStr] = Field(default=None, description="Product version.") + license_id: Optional[StrictStr] = Field(default=None, description="Unique license identifier.", alias="license-id") + license_serial: Optional[StrictStr] = Field(default=None, description="License serial number.", alias="license-serial") + license_type: Optional[StrictStr] = Field(default=None, alias="license-type") + valid_until: Optional[datetime] = Field(default=None, description="License validity date.", alias="valid-until") + server_time: Optional[StrictStr] = Field(default=None, alias="server-time") + supported_scenarios: Optional[List[StrictStr]] = Field(default=None, description="List of supported scenarios.", alias="supported-scenarios") + metadata: Optional[Dict[str, Any]] = None + documents_database: Optional[DeviceInfoDocumentsDatabase] = Field(default=None, alias="documents-database") + __properties: ClassVar[List[str]] = ["app-name", "version", "license-id", "license-serial", "license-type", "valid-until", "server-time", "supported-scenarios", "metadata", "documents-database"] model_config = ConfigDict( populate_by_name=True, @@ -66,6 +71,9 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # override the default output from pydantic by calling `to_dict()` of documents_database + if self.documents_database: + _dict['documents-database'] = self.documents_database.to_dict() return _dict @classmethod @@ -82,8 +90,12 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "version": obj.get("version"), "license-id": obj.get("license-id"), "license-serial": obj.get("license-serial"), + "license-type": obj.get("license-type"), "valid-until": obj.get("valid-until"), - "server-time": obj.get("server-time") + "server-time": obj.get("server-time"), + "supported-scenarios": obj.get("supported-scenarios"), + "metadata": obj.get("metadata"), + "documents-database": DeviceInfoDocumentsDatabase.from_dict(obj["documents-database"]) if obj.get("documents-database") is not None else None }) return _obj diff --git a/regula/documentreader/webclient/gen/models/device_info_documents_database.py b/regula/documentreader/webclient/gen/models/device_info_documents_database.py new file mode 100644 index 0000000..36cb856 --- /dev/null +++ b/regula/documentreader/webclient/gen/models/device_info_documents_database.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Generated by: https://openapi-generator.tech +""" + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class DeviceInfoDocumentsDatabase(BaseModel): + """ + Database information. + """ # noqa: E501 + id: Optional[StrictStr] = Field(description="Database identifier.") + version: Optional[StrictStr] = Field(description="Database version.") + export_date: Optional[StrictStr] = Field(description="Date of database creation.", alias="export-date") + description: Optional[StrictStr] = Field(description="Description of the database contents, such as the list of supported countries and documents.") + __properties: ClassVar[List[str]] = ["id", "version", "export-date", "description"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeviceInfoDocumentsDatabase from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if id (nullable) is None + # and model_fields_set contains the field + if self.id is None and "id" in self.model_fields_set: + _dict['id'] = None + + # set to None if version (nullable) is None + # and model_fields_set contains the field + if self.version is None and "version" in self.model_fields_set: + _dict['version'] = None + + # set to None if export_date (nullable) is None + # and model_fields_set contains the field + if self.export_date is None and "export_date" in self.model_fields_set: + _dict['export-date'] = None + + # set to None if description (nullable) is None + # and model_fields_set contains the field + if self.description is None and "description" in self.model_fields_set: + _dict['description'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeviceInfoDocumentsDatabase from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "version": obj.get("version"), + "export-date": obj.get("export-date"), + "description": obj.get("description") + }) + return _obj + + diff --git a/regula/documentreader/webclient/gen/models/process_params_rfid.py b/regula/documentreader/webclient/gen/models/process_params_rfid.py index d42f84e..21e526e 100644 --- a/regula/documentreader/webclient/gen/models/process_params_rfid.py +++ b/regula/documentreader/webclient/gen/models/process_params_rfid.py @@ -19,8 +19,8 @@ class ProcessParamsRfid(BaseModel): """ Params for the RFID chip data reprocessing """ # noqa: E501 - 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") - __properties: ClassVar[List[str]] = ["paSensitiveCodesDisable"] + 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") + __properties: ClassVar[List[str]] = ["paIgnoreNotificationCodes"] model_config = ConfigDict( populate_by_name=True, @@ -73,7 +73,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ - "paSensitiveCodesDisable": obj.get("paSensitiveCodesDisable") + "paIgnoreNotificationCodes": obj.get("paIgnoreNotificationCodes") }) return _obj