Skip to content

SP-21986 - Update DeviceInfo #212

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 3, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .openapi-generator/FILES
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions regula/documentreader/webclient/gen/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions regula/documentreader/webclient/gen/models/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
28 changes: 20 additions & 8 deletions regula/documentreader/webclient/gen/models/device_info.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,20 +12,25 @@
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

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,
Expand Down Expand Up @@ -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
Expand All @@ -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

Expand Down
Original file line number Diff line number Diff line change
@@ -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


Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -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

Expand Down