From 10439cd05598888cf95ce071f59e65b421188dd7 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Wed, 17 Dec 2025 14:31:08 +0000 Subject: [PATCH] Commit: b785c1e8 --- .openapi-generator/FILES | 15 +++ .../documentreader/webclient/gen/__init__.py | 45 +++++++ .../webclient/gen/models/__init__.py | 30 +++++ .../gen/models/container_list_list_inner.py | 44 ++++-- .../webclient/gen/models/details_age.py | 93 +++++++++++++ .../webclient/gen/models/doc_feature.py | 88 ++++++++++++ .../gen/models/mdl_device_engagement.py | 29 ++++ .../gen/models/mdl_device_retrieval.py | 30 +++++ .../gen/models/mdl_server_retrieval.py | 29 ++++ .../webclient/gen/models/message.py | 98 ++++++++++++++ .../webclient/gen/models/pid.py | 88 ++++++++++++ .../webclient/gen/models/result.py | 6 + .../webclient/gen/models/result_item.py | 12 +- .../webclient/gen/models/status.py | 14 +- .../webclient/gen/models/text_field_type.py | 3 + .../webclient/gen/models/trf_ft_string.py | 2 +- .../webclient/gen/models/vd_item.py | 90 +++++++++++++ .../webclient/gen/models/vds_data.py | 126 ++++++++++++++++++ .../webclient/gen/models/vds_data_item.py | 86 ++++++++++++ .../webclient/gen/models/vds_data_result.py | 93 +++++++++++++ .../webclient/gen/models/vdsnc_data.py | 117 ++++++++++++++++ .../webclient/gen/models/vdsnc_data_item.py | 86 ++++++++++++ .../webclient/gen/models/vdsnc_data_result.py | 93 +++++++++++++ .../webclient/gen/models/ve_item.py | 96 +++++++++++++ 24 files changed, 1399 insertions(+), 14 deletions(-) create mode 100644 regula/documentreader/webclient/gen/models/details_age.py create mode 100644 regula/documentreader/webclient/gen/models/doc_feature.py create mode 100644 regula/documentreader/webclient/gen/models/mdl_device_engagement.py create mode 100644 regula/documentreader/webclient/gen/models/mdl_device_retrieval.py create mode 100644 regula/documentreader/webclient/gen/models/mdl_server_retrieval.py create mode 100644 regula/documentreader/webclient/gen/models/message.py create mode 100644 regula/documentreader/webclient/gen/models/pid.py create mode 100644 regula/documentreader/webclient/gen/models/vd_item.py create mode 100644 regula/documentreader/webclient/gen/models/vds_data.py create mode 100644 regula/documentreader/webclient/gen/models/vds_data_item.py create mode 100644 regula/documentreader/webclient/gen/models/vds_data_result.py create mode 100644 regula/documentreader/webclient/gen/models/vdsnc_data.py create mode 100644 regula/documentreader/webclient/gen/models/vdsnc_data_item.py create mode 100644 regula/documentreader/webclient/gen/models/vdsnc_data_result.py create mode 100644 regula/documentreader/webclient/gen/models/ve_item.py diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index 641da7e..a554a65 100755 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -43,6 +43,7 @@ regula/documentreader/webclient/gen/models/cross_source_value_comparison.py regula/documentreader/webclient/gen/models/data_module.py regula/documentreader/webclient/gen/models/database_document.py regula/documentreader/webclient/gen/models/database_document_list.py +regula/documentreader/webclient/gen/models/details_age.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 @@ -50,6 +51,7 @@ 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 +regula/documentreader/webclient/gen/models/doc_feature.py regula/documentreader/webclient/gen/models/doc_graphics_info_item.py regula/documentreader/webclient/gen/models/doc_visual_extended_field.py regula/documentreader/webclient/gen/models/doc_visual_extended_field_item.py @@ -122,7 +124,11 @@ regula/documentreader/webclient/gen/models/list_verified_fields.py regula/documentreader/webclient/gen/models/list_verified_fields_item.py regula/documentreader/webclient/gen/models/liveness_params.py regula/documentreader/webclient/gen/models/log_level.py +regula/documentreader/webclient/gen/models/mdl_device_engagement.py +regula/documentreader/webclient/gen/models/mdl_device_retrieval.py +regula/documentreader/webclient/gen/models/mdl_server_retrieval.py regula/documentreader/webclient/gen/models/measure_system.py +regula/documentreader/webclient/gen/models/message.py regula/documentreader/webclient/gen/models/mrz_detect_mode_enum.py regula/documentreader/webclient/gen/models/mrz_detector_result.py regula/documentreader/webclient/gen/models/mrz_format.py @@ -146,6 +152,7 @@ regula/documentreader/webclient/gen/models/parsing_notification_codes.py regula/documentreader/webclient/gen/models/per_document_config.py regula/documentreader/webclient/gen/models/photo_ident_item.py regula/documentreader/webclient/gen/models/photo_ident_result.py +regula/documentreader/webclient/gen/models/pid.py regula/documentreader/webclient/gen/models/point.py regula/documentreader/webclient/gen/models/point_array.py regula/documentreader/webclient/gen/models/points_container.py @@ -237,6 +244,14 @@ regula/documentreader/webclient/gen/models/transaction_process_request.py regula/documentreader/webclient/gen/models/transaction_process_result.py regula/documentreader/webclient/gen/models/trf_ft_bytes.py regula/documentreader/webclient/gen/models/trf_ft_string.py +regula/documentreader/webclient/gen/models/vd_item.py +regula/documentreader/webclient/gen/models/vds_data.py +regula/documentreader/webclient/gen/models/vds_data_item.py +regula/documentreader/webclient/gen/models/vds_data_result.py +regula/documentreader/webclient/gen/models/vdsnc_data.py +regula/documentreader/webclient/gen/models/vdsnc_data_item.py +regula/documentreader/webclient/gen/models/vdsnc_data_result.py +regula/documentreader/webclient/gen/models/ve_item.py regula/documentreader/webclient/gen/models/verification_result.py regula/documentreader/webclient/gen/models/verified_field_map.py regula/documentreader/webclient/gen/models/visibility.py diff --git a/regula/documentreader/webclient/gen/__init__.py b/regula/documentreader/webclient/gen/__init__.py index 54bb075..9f64d2a 100644 --- a/regula/documentreader/webclient/gen/__init__.py +++ b/regula/documentreader/webclient/gen/__init__.py @@ -55,6 +55,7 @@ "DataModule", "DatabaseDocument", "DatabaseDocumentList", + "DetailsAge", "DetailsOptical", "DetailsRFID", "DeviceInfo", @@ -62,6 +63,7 @@ "DocBarCodeInfo", "DocBarCodeInfoFieldsList", "DocBarCodeInfoItem", + "DocFeature", "DocGraphicsInfoItem", "DocVisualExtendedField", "DocVisualExtendedFieldItem", @@ -134,6 +136,9 @@ "ListVerifiedFieldsItem", "LivenessParams", "LogLevel", + "MDLDeviceEngagement", + "MDLDeviceRetrieval", + "MDLServerRetrieval", "MRZDetectorResult", "MRZFormat", "MRZPositionResult", @@ -142,6 +147,7 @@ "MRZTestQualityItem", "MRZTestQualityResult", "MeasureSystem", + "Message", "MrzDetectModeEnum", "MrzPositionItem", "OCRSecurityTextItem", @@ -152,6 +158,7 @@ "OutData", "OutDataTransactionImagesFieldValue", "PArrayField", + "PID", "ParsedData", "ParsingErrorCodes", "ParsingNotificationCodes", @@ -249,6 +256,14 @@ "TransactionProcessResult", "TrfFtBytes", "TrfFtString", + "VDItem", + "VDSData", + "VDSDataItem", + "VDSDataResult", + "VDSNCData", + "VDSNCDataItem", + "VDSNCDataResult", + "VEItem", "VerificationResult", "VerifiedFieldMap", "Visibility", @@ -306,6 +321,7 @@ from regula.documentreader.webclient.gen.models.data_module import DataModule as DataModule from regula.documentreader.webclient.gen.models.database_document import DatabaseDocument as DatabaseDocument from regula.documentreader.webclient.gen.models.database_document_list import DatabaseDocumentList as DatabaseDocumentList + from regula.documentreader.webclient.gen.models.details_age import DetailsAge as DetailsAge from regula.documentreader.webclient.gen.models.details_optical import DetailsOptical as DetailsOptical from regula.documentreader.webclient.gen.models.details_rfid import DetailsRFID as DetailsRFID from regula.documentreader.webclient.gen.models.device_info import DeviceInfo as DeviceInfo @@ -313,6 +329,7 @@ from regula.documentreader.webclient.gen.models.doc_bar_code_info import DocBarCodeInfo as DocBarCodeInfo from regula.documentreader.webclient.gen.models.doc_bar_code_info_fields_list import DocBarCodeInfoFieldsList as DocBarCodeInfoFieldsList from regula.documentreader.webclient.gen.models.doc_bar_code_info_item import DocBarCodeInfoItem as DocBarCodeInfoItem + from regula.documentreader.webclient.gen.models.doc_feature import DocFeature as DocFeature from regula.documentreader.webclient.gen.models.doc_graphics_info_item import DocGraphicsInfoItem as DocGraphicsInfoItem from regula.documentreader.webclient.gen.models.doc_visual_extended_field import DocVisualExtendedField as DocVisualExtendedField from regula.documentreader.webclient.gen.models.doc_visual_extended_field_item import DocVisualExtendedFieldItem as DocVisualExtendedFieldItem @@ -385,6 +402,9 @@ from regula.documentreader.webclient.gen.models.list_verified_fields_item import ListVerifiedFieldsItem as ListVerifiedFieldsItem from regula.documentreader.webclient.gen.models.liveness_params import LivenessParams as LivenessParams from regula.documentreader.webclient.gen.models.log_level import LogLevel as LogLevel + from regula.documentreader.webclient.gen.models.mdl_device_engagement import MDLDeviceEngagement as MDLDeviceEngagement + from regula.documentreader.webclient.gen.models.mdl_device_retrieval import MDLDeviceRetrieval as MDLDeviceRetrieval + from regula.documentreader.webclient.gen.models.mdl_server_retrieval import MDLServerRetrieval as MDLServerRetrieval from regula.documentreader.webclient.gen.models.mrz_detector_result import MRZDetectorResult as MRZDetectorResult from regula.documentreader.webclient.gen.models.mrz_format import MRZFormat as MRZFormat from regula.documentreader.webclient.gen.models.mrz_position_result import MRZPositionResult as MRZPositionResult @@ -393,6 +413,7 @@ from regula.documentreader.webclient.gen.models.mrz_test_quality_item import MRZTestQualityItem as MRZTestQualityItem from regula.documentreader.webclient.gen.models.mrz_test_quality_result import MRZTestQualityResult as MRZTestQualityResult from regula.documentreader.webclient.gen.models.measure_system import MeasureSystem as MeasureSystem + from regula.documentreader.webclient.gen.models.message import Message as Message from regula.documentreader.webclient.gen.models.mrz_detect_mode_enum import MrzDetectModeEnum as MrzDetectModeEnum from regula.documentreader.webclient.gen.models.mrz_position_item import MrzPositionItem as MrzPositionItem from regula.documentreader.webclient.gen.models.ocr_security_text_item import OCRSecurityTextItem as OCRSecurityTextItem @@ -403,6 +424,7 @@ from regula.documentreader.webclient.gen.models.out_data import OutData as OutData from regula.documentreader.webclient.gen.models.out_data_transaction_images_field_value import OutDataTransactionImagesFieldValue as OutDataTransactionImagesFieldValue from regula.documentreader.webclient.gen.models.p_array_field import PArrayField as PArrayField + from regula.documentreader.webclient.gen.models.pid import PID as PID from regula.documentreader.webclient.gen.models.parsed_data import ParsedData as ParsedData from regula.documentreader.webclient.gen.models.parsing_error_codes import ParsingErrorCodes as ParsingErrorCodes from regula.documentreader.webclient.gen.models.parsing_notification_codes import ParsingNotificationCodes as ParsingNotificationCodes @@ -500,6 +522,14 @@ from regula.documentreader.webclient.gen.models.transaction_process_result import TransactionProcessResult as TransactionProcessResult from regula.documentreader.webclient.gen.models.trf_ft_bytes import TrfFtBytes as TrfFtBytes from regula.documentreader.webclient.gen.models.trf_ft_string import TrfFtString as TrfFtString + from regula.documentreader.webclient.gen.models.vd_item import VDItem as VDItem + from regula.documentreader.webclient.gen.models.vds_data import VDSData as VDSData + from regula.documentreader.webclient.gen.models.vds_data_item import VDSDataItem as VDSDataItem + from regula.documentreader.webclient.gen.models.vds_data_result import VDSDataResult as VDSDataResult + from regula.documentreader.webclient.gen.models.vdsnc_data import VDSNCData as VDSNCData + from regula.documentreader.webclient.gen.models.vdsnc_data_item import VDSNCDataItem as VDSNCDataItem + from regula.documentreader.webclient.gen.models.vdsnc_data_result import VDSNCDataResult as VDSNCDataResult + from regula.documentreader.webclient.gen.models.ve_item import VEItem as VEItem from regula.documentreader.webclient.gen.models.verification_result import VerificationResult as VerificationResult from regula.documentreader.webclient.gen.models.verified_field_map import VerifiedFieldMap as VerifiedFieldMap from regula.documentreader.webclient.gen.models.visibility import Visibility as Visibility @@ -563,6 +593,7 @@ from regula.documentreader.webclient.gen.models.data_module import DataModule as DataModule from regula.documentreader.webclient.gen.models.database_document import DatabaseDocument as DatabaseDocument from regula.documentreader.webclient.gen.models.database_document_list import DatabaseDocumentList as DatabaseDocumentList +from regula.documentreader.webclient.gen.models.details_age import DetailsAge as DetailsAge from regula.documentreader.webclient.gen.models.details_optical import DetailsOptical as DetailsOptical from regula.documentreader.webclient.gen.models.details_rfid import DetailsRFID as DetailsRFID from regula.documentreader.webclient.gen.models.device_info import DeviceInfo as DeviceInfo @@ -570,6 +601,7 @@ from regula.documentreader.webclient.gen.models.doc_bar_code_info import DocBarCodeInfo as DocBarCodeInfo from regula.documentreader.webclient.gen.models.doc_bar_code_info_fields_list import DocBarCodeInfoFieldsList as DocBarCodeInfoFieldsList from regula.documentreader.webclient.gen.models.doc_bar_code_info_item import DocBarCodeInfoItem as DocBarCodeInfoItem +from regula.documentreader.webclient.gen.models.doc_feature import DocFeature as DocFeature from regula.documentreader.webclient.gen.models.doc_graphics_info_item import DocGraphicsInfoItem as DocGraphicsInfoItem from regula.documentreader.webclient.gen.models.doc_visual_extended_field import DocVisualExtendedField as DocVisualExtendedField from regula.documentreader.webclient.gen.models.doc_visual_extended_field_item import DocVisualExtendedFieldItem as DocVisualExtendedFieldItem @@ -642,6 +674,9 @@ from regula.documentreader.webclient.gen.models.list_verified_fields_item import ListVerifiedFieldsItem as ListVerifiedFieldsItem from regula.documentreader.webclient.gen.models.liveness_params import LivenessParams as LivenessParams from regula.documentreader.webclient.gen.models.log_level import LogLevel as LogLevel +from regula.documentreader.webclient.gen.models.mdl_device_engagement import MDLDeviceEngagement as MDLDeviceEngagement +from regula.documentreader.webclient.gen.models.mdl_device_retrieval import MDLDeviceRetrieval as MDLDeviceRetrieval +from regula.documentreader.webclient.gen.models.mdl_server_retrieval import MDLServerRetrieval as MDLServerRetrieval from regula.documentreader.webclient.gen.models.mrz_detector_result import MRZDetectorResult as MRZDetectorResult from regula.documentreader.webclient.gen.models.mrz_format import MRZFormat as MRZFormat from regula.documentreader.webclient.gen.models.mrz_position_result import MRZPositionResult as MRZPositionResult @@ -650,6 +685,7 @@ from regula.documentreader.webclient.gen.models.mrz_test_quality_item import MRZTestQualityItem as MRZTestQualityItem from regula.documentreader.webclient.gen.models.mrz_test_quality_result import MRZTestQualityResult as MRZTestQualityResult from regula.documentreader.webclient.gen.models.measure_system import MeasureSystem as MeasureSystem +from regula.documentreader.webclient.gen.models.message import Message as Message from regula.documentreader.webclient.gen.models.mrz_detect_mode_enum import MrzDetectModeEnum as MrzDetectModeEnum from regula.documentreader.webclient.gen.models.mrz_position_item import MrzPositionItem as MrzPositionItem from regula.documentreader.webclient.gen.models.ocr_security_text_item import OCRSecurityTextItem as OCRSecurityTextItem @@ -660,6 +696,7 @@ from regula.documentreader.webclient.gen.models.out_data import OutData as OutData from regula.documentreader.webclient.gen.models.out_data_transaction_images_field_value import OutDataTransactionImagesFieldValue as OutDataTransactionImagesFieldValue from regula.documentreader.webclient.gen.models.p_array_field import PArrayField as PArrayField +from regula.documentreader.webclient.gen.models.pid import PID as PID from regula.documentreader.webclient.gen.models.parsed_data import ParsedData as ParsedData from regula.documentreader.webclient.gen.models.parsing_error_codes import ParsingErrorCodes as ParsingErrorCodes from regula.documentreader.webclient.gen.models.parsing_notification_codes import ParsingNotificationCodes as ParsingNotificationCodes @@ -757,6 +794,14 @@ from regula.documentreader.webclient.gen.models.transaction_process_result import TransactionProcessResult as TransactionProcessResult from regula.documentreader.webclient.gen.models.trf_ft_bytes import TrfFtBytes as TrfFtBytes from regula.documentreader.webclient.gen.models.trf_ft_string import TrfFtString as TrfFtString +from regula.documentreader.webclient.gen.models.vd_item import VDItem as VDItem +from regula.documentreader.webclient.gen.models.vds_data import VDSData as VDSData +from regula.documentreader.webclient.gen.models.vds_data_item import VDSDataItem as VDSDataItem +from regula.documentreader.webclient.gen.models.vds_data_result import VDSDataResult as VDSDataResult +from regula.documentreader.webclient.gen.models.vdsnc_data import VDSNCData as VDSNCData +from regula.documentreader.webclient.gen.models.vdsnc_data_item import VDSNCDataItem as VDSNCDataItem +from regula.documentreader.webclient.gen.models.vdsnc_data_result import VDSNCDataResult as VDSNCDataResult +from regula.documentreader.webclient.gen.models.ve_item import VEItem as VEItem from regula.documentreader.webclient.gen.models.verification_result import VerificationResult as VerificationResult from regula.documentreader.webclient.gen.models.verified_field_map import VerifiedFieldMap as VerifiedFieldMap from regula.documentreader.webclient.gen.models.visibility import Visibility as Visibility diff --git a/regula/documentreader/webclient/gen/models/__init__.py b/regula/documentreader/webclient/gen/models/__init__.py index 8a26a28..6e1cce3 100644 --- a/regula/documentreader/webclient/gen/models/__init__.py +++ b/regula/documentreader/webclient/gen/models/__init__.py @@ -39,6 +39,7 @@ from regula.documentreader.webclient.gen.models.data_module import DataModule from regula.documentreader.webclient.gen.models.database_document import DatabaseDocument from regula.documentreader.webclient.gen.models.database_document_list import DatabaseDocumentList + from regula.documentreader.webclient.gen.models.details_age import DetailsAge 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 @@ -46,6 +47,7 @@ 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 + from regula.documentreader.webclient.gen.models.doc_feature import DocFeature from regula.documentreader.webclient.gen.models.doc_graphics_info_item import DocGraphicsInfoItem from regula.documentreader.webclient.gen.models.doc_visual_extended_field import DocVisualExtendedField from regula.documentreader.webclient.gen.models.doc_visual_extended_field_item import DocVisualExtendedFieldItem @@ -118,6 +120,9 @@ from regula.documentreader.webclient.gen.models.list_verified_fields_item import ListVerifiedFieldsItem from regula.documentreader.webclient.gen.models.liveness_params import LivenessParams from regula.documentreader.webclient.gen.models.log_level import LogLevel + from regula.documentreader.webclient.gen.models.mdl_device_engagement import MDLDeviceEngagement + from regula.documentreader.webclient.gen.models.mdl_device_retrieval import MDLDeviceRetrieval + from regula.documentreader.webclient.gen.models.mdl_server_retrieval import MDLServerRetrieval from regula.documentreader.webclient.gen.models.mrz_detector_result import MRZDetectorResult from regula.documentreader.webclient.gen.models.mrz_format import MRZFormat from regula.documentreader.webclient.gen.models.mrz_position_result import MRZPositionResult @@ -126,6 +131,7 @@ from regula.documentreader.webclient.gen.models.mrz_test_quality_item import MRZTestQualityItem from regula.documentreader.webclient.gen.models.mrz_test_quality_result import MRZTestQualityResult from regula.documentreader.webclient.gen.models.measure_system import MeasureSystem + from regula.documentreader.webclient.gen.models.message import Message from regula.documentreader.webclient.gen.models.mrz_detect_mode_enum import MrzDetectModeEnum from regula.documentreader.webclient.gen.models.mrz_position_item import MrzPositionItem from regula.documentreader.webclient.gen.models.ocr_security_text_item import OCRSecurityTextItem @@ -136,6 +142,7 @@ from regula.documentreader.webclient.gen.models.out_data import OutData from regula.documentreader.webclient.gen.models.out_data_transaction_images_field_value import OutDataTransactionImagesFieldValue from regula.documentreader.webclient.gen.models.p_array_field import PArrayField + from regula.documentreader.webclient.gen.models.pid import PID from regula.documentreader.webclient.gen.models.parsed_data import ParsedData from regula.documentreader.webclient.gen.models.parsing_error_codes import ParsingErrorCodes from regula.documentreader.webclient.gen.models.parsing_notification_codes import ParsingNotificationCodes @@ -233,6 +240,14 @@ from regula.documentreader.webclient.gen.models.transaction_process_result import TransactionProcessResult from regula.documentreader.webclient.gen.models.trf_ft_bytes import TrfFtBytes from regula.documentreader.webclient.gen.models.trf_ft_string import TrfFtString + from regula.documentreader.webclient.gen.models.vd_item import VDItem + from regula.documentreader.webclient.gen.models.vds_data import VDSData + from regula.documentreader.webclient.gen.models.vds_data_item import VDSDataItem + from regula.documentreader.webclient.gen.models.vds_data_result import VDSDataResult + from regula.documentreader.webclient.gen.models.vdsnc_data import VDSNCData + from regula.documentreader.webclient.gen.models.vdsnc_data_item import VDSNCDataItem + from regula.documentreader.webclient.gen.models.vdsnc_data_result import VDSNCDataResult + from regula.documentreader.webclient.gen.models.ve_item import VEItem from regula.documentreader.webclient.gen.models.verification_result import VerificationResult from regula.documentreader.webclient.gen.models.verified_field_map import VerifiedFieldMap from regula.documentreader.webclient.gen.models.visibility import Visibility @@ -277,6 +292,7 @@ from regula.documentreader.webclient.gen.models.data_module import DataModule from regula.documentreader.webclient.gen.models.database_document import DatabaseDocument from regula.documentreader.webclient.gen.models.database_document_list import DatabaseDocumentList +from regula.documentreader.webclient.gen.models.details_age import DetailsAge 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 @@ -284,6 +300,7 @@ 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 +from regula.documentreader.webclient.gen.models.doc_feature import DocFeature from regula.documentreader.webclient.gen.models.doc_graphics_info_item import DocGraphicsInfoItem from regula.documentreader.webclient.gen.models.doc_visual_extended_field import DocVisualExtendedField from regula.documentreader.webclient.gen.models.doc_visual_extended_field_item import DocVisualExtendedFieldItem @@ -356,6 +373,9 @@ from regula.documentreader.webclient.gen.models.list_verified_fields_item import ListVerifiedFieldsItem from regula.documentreader.webclient.gen.models.liveness_params import LivenessParams from regula.documentreader.webclient.gen.models.log_level import LogLevel +from regula.documentreader.webclient.gen.models.mdl_device_engagement import MDLDeviceEngagement +from regula.documentreader.webclient.gen.models.mdl_device_retrieval import MDLDeviceRetrieval +from regula.documentreader.webclient.gen.models.mdl_server_retrieval import MDLServerRetrieval from regula.documentreader.webclient.gen.models.mrz_detector_result import MRZDetectorResult from regula.documentreader.webclient.gen.models.mrz_format import MRZFormat from regula.documentreader.webclient.gen.models.mrz_position_result import MRZPositionResult @@ -364,6 +384,7 @@ from regula.documentreader.webclient.gen.models.mrz_test_quality_item import MRZTestQualityItem from regula.documentreader.webclient.gen.models.mrz_test_quality_result import MRZTestQualityResult from regula.documentreader.webclient.gen.models.measure_system import MeasureSystem +from regula.documentreader.webclient.gen.models.message import Message from regula.documentreader.webclient.gen.models.mrz_detect_mode_enum import MrzDetectModeEnum from regula.documentreader.webclient.gen.models.mrz_position_item import MrzPositionItem from regula.documentreader.webclient.gen.models.ocr_security_text_item import OCRSecurityTextItem @@ -374,6 +395,7 @@ from regula.documentreader.webclient.gen.models.out_data import OutData from regula.documentreader.webclient.gen.models.out_data_transaction_images_field_value import OutDataTransactionImagesFieldValue from regula.documentreader.webclient.gen.models.p_array_field import PArrayField +from regula.documentreader.webclient.gen.models.pid import PID from regula.documentreader.webclient.gen.models.parsed_data import ParsedData from regula.documentreader.webclient.gen.models.parsing_error_codes import ParsingErrorCodes from regula.documentreader.webclient.gen.models.parsing_notification_codes import ParsingNotificationCodes @@ -471,6 +493,14 @@ from regula.documentreader.webclient.gen.models.transaction_process_result import TransactionProcessResult from regula.documentreader.webclient.gen.models.trf_ft_bytes import TrfFtBytes from regula.documentreader.webclient.gen.models.trf_ft_string import TrfFtString +from regula.documentreader.webclient.gen.models.vd_item import VDItem +from regula.documentreader.webclient.gen.models.vds_data import VDSData +from regula.documentreader.webclient.gen.models.vds_data_item import VDSDataItem +from regula.documentreader.webclient.gen.models.vds_data_result import VDSDataResult +from regula.documentreader.webclient.gen.models.vdsnc_data import VDSNCData +from regula.documentreader.webclient.gen.models.vdsnc_data_item import VDSNCDataItem +from regula.documentreader.webclient.gen.models.vdsnc_data_result import VDSNCDataResult +from regula.documentreader.webclient.gen.models.ve_item import VEItem from regula.documentreader.webclient.gen.models.verification_result import VerificationResult from regula.documentreader.webclient.gen.models.verified_field_map import VerifiedFieldMap from regula.documentreader.webclient.gen.models.visibility import Visibility diff --git a/regula/documentreader/webclient/gen/models/container_list_list_inner.py b/regula/documentreader/webclient/gen/models/container_list_list_inner.py index 7a77fc8..da12a07 100644 --- a/regula/documentreader/webclient/gen/models/container_list_list_inner.py +++ b/regula/documentreader/webclient/gen/models/container_list_list_inner.py @@ -33,11 +33,13 @@ from regula.documentreader.webclient.gen.models.status_result import StatusResult from regula.documentreader.webclient.gen.models.text_data_result import TextDataResult from regula.documentreader.webclient.gen.models.text_result import TextResult +from regula.documentreader.webclient.gen.models.vds_data_result import VDSDataResult +from regula.documentreader.webclient.gen.models.vdsnc_data_result import VDSNCDataResult from pydantic import StrictStr, Field from typing import Union, List, Set, Optional, Dict from typing_extensions import Literal, Self -CONTAINERLISTLISTINNER_ONE_OF_SCHEMAS = ["AuthenticityResult", "BarcodePositionResult", "ByteArrayResult", "ChosenDocumentTypeResult", "DocBarCodeInfo", "DocumentBinaryInfoResult", "DocumentImageResult", "DocumentPositionResult", "DocumentTypesCandidatesResult", "EncryptedRCLResult", "FaceDetectionResult", "GraphicsResult", "ImageQualityResult", "ImagesResult", "LexicalAnalysisResult", "LicenseResult", "MRZDetectorResult", "MRZPositionResult", "MRZTestQualityResult", "RFIDGraphicsInfoResult", "RFIDTextDataResult", "StatusResult", "TextDataResult", "TextResult"] +CONTAINERLISTLISTINNER_ONE_OF_SCHEMAS = ["AuthenticityResult", "BarcodePositionResult", "ByteArrayResult", "ChosenDocumentTypeResult", "DocBarCodeInfo", "DocumentBinaryInfoResult", "DocumentImageResult", "DocumentPositionResult", "DocumentTypesCandidatesResult", "EncryptedRCLResult", "FaceDetectionResult", "GraphicsResult", "ImageQualityResult", "ImagesResult", "LexicalAnalysisResult", "LicenseResult", "MRZDetectorResult", "MRZPositionResult", "MRZTestQualityResult", "RFIDGraphicsInfoResult", "RFIDTextDataResult", "StatusResult", "TextDataResult", "TextResult", "VDSDataResult", "VDSNCDataResult"] class ContainerListListInner(BaseModel): """ @@ -91,8 +93,12 @@ class ContainerListListInner(BaseModel): oneof_schema_23_validator: Optional[RFIDGraphicsInfoResult] = None # data type: RFIDTextDataResult oneof_schema_24_validator: Optional[RFIDTextDataResult] = None - actual_instance: Optional[Union[AuthenticityResult, BarcodePositionResult, ByteArrayResult, ChosenDocumentTypeResult, DocBarCodeInfo, DocumentBinaryInfoResult, DocumentImageResult, DocumentPositionResult, DocumentTypesCandidatesResult, EncryptedRCLResult, FaceDetectionResult, GraphicsResult, ImageQualityResult, ImagesResult, LexicalAnalysisResult, LicenseResult, MRZDetectorResult, MRZPositionResult, MRZTestQualityResult, RFIDGraphicsInfoResult, RFIDTextDataResult, StatusResult, TextDataResult, TextResult]] = None - one_of_schemas: Set[str] = { "AuthenticityResult", "BarcodePositionResult", "ByteArrayResult", "ChosenDocumentTypeResult", "DocBarCodeInfo", "DocumentBinaryInfoResult", "DocumentImageResult", "DocumentPositionResult", "DocumentTypesCandidatesResult", "EncryptedRCLResult", "FaceDetectionResult", "GraphicsResult", "ImageQualityResult", "ImagesResult", "LexicalAnalysisResult", "LicenseResult", "MRZDetectorResult", "MRZPositionResult", "MRZTestQualityResult", "RFIDGraphicsInfoResult", "RFIDTextDataResult", "StatusResult", "TextDataResult", "TextResult" } + # data type: VDSNCDataResult + oneof_schema_25_validator: Optional[VDSNCDataResult] = None + # data type: VDSDataResult + oneof_schema_26_validator: Optional[VDSDataResult] = None + actual_instance: Optional[Union[AuthenticityResult, BarcodePositionResult, ByteArrayResult, ChosenDocumentTypeResult, DocBarCodeInfo, DocumentBinaryInfoResult, DocumentImageResult, DocumentPositionResult, DocumentTypesCandidatesResult, EncryptedRCLResult, FaceDetectionResult, GraphicsResult, ImageQualityResult, ImagesResult, LexicalAnalysisResult, LicenseResult, MRZDetectorResult, MRZPositionResult, MRZTestQualityResult, RFIDGraphicsInfoResult, RFIDTextDataResult, StatusResult, TextDataResult, TextResult, VDSDataResult, VDSNCDataResult]] = None + one_of_schemas: Set[str] = { "AuthenticityResult", "BarcodePositionResult", "ByteArrayResult", "ChosenDocumentTypeResult", "DocBarCodeInfo", "DocumentBinaryInfoResult", "DocumentImageResult", "DocumentPositionResult", "DocumentTypesCandidatesResult", "EncryptedRCLResult", "FaceDetectionResult", "GraphicsResult", "ImageQualityResult", "ImagesResult", "LexicalAnalysisResult", "LicenseResult", "MRZDetectorResult", "MRZPositionResult", "MRZTestQualityResult", "RFIDGraphicsInfoResult", "RFIDTextDataResult", "StatusResult", "TextDataResult", "TextResult", "VDSDataResult", "VDSNCDataResult" } model_config = ConfigDict( validate_assignment=True, @@ -238,12 +244,22 @@ def actual_instance_must_validate_oneof(cls, v): error_messages.append(f"Error! Input type `{type(v)}` is not `RFIDTextDataResult`") else: match += 1 + # validate data type: VDSNCDataResult + if not isinstance(v, VDSNCDataResult): + error_messages.append(f"Error! Input type `{type(v)}` is not `VDSNCDataResult`") + else: + match += 1 + # validate data type: VDSDataResult + if not isinstance(v, VDSDataResult): + error_messages.append(f"Error! Input type `{type(v)}` is not `VDSDataResult`") + else: + match += 1 if match > 1: # more than 1 match - raise ValueError("Multiple matches found when setting `actual_instance` in ContainerListListInner with oneOf schemas: AuthenticityResult, BarcodePositionResult, ByteArrayResult, ChosenDocumentTypeResult, DocBarCodeInfo, DocumentBinaryInfoResult, DocumentImageResult, DocumentPositionResult, DocumentTypesCandidatesResult, EncryptedRCLResult, FaceDetectionResult, GraphicsResult, ImageQualityResult, ImagesResult, LexicalAnalysisResult, LicenseResult, MRZDetectorResult, MRZPositionResult, MRZTestQualityResult, RFIDGraphicsInfoResult, RFIDTextDataResult, StatusResult, TextDataResult, TextResult. Details: " + ", ".join(error_messages)) + raise ValueError("Multiple matches found when setting `actual_instance` in ContainerListListInner with oneOf schemas: AuthenticityResult, BarcodePositionResult, ByteArrayResult, ChosenDocumentTypeResult, DocBarCodeInfo, DocumentBinaryInfoResult, DocumentImageResult, DocumentPositionResult, DocumentTypesCandidatesResult, EncryptedRCLResult, FaceDetectionResult, GraphicsResult, ImageQualityResult, ImagesResult, LexicalAnalysisResult, LicenseResult, MRZDetectorResult, MRZPositionResult, MRZTestQualityResult, RFIDGraphicsInfoResult, RFIDTextDataResult, StatusResult, TextDataResult, TextResult, VDSDataResult, VDSNCDataResult. Details: " + ", ".join(error_messages)) elif match == 0: # no match - raise ValueError("No match found when setting `actual_instance` in ContainerListListInner with oneOf schemas: AuthenticityResult, BarcodePositionResult, ByteArrayResult, ChosenDocumentTypeResult, DocBarCodeInfo, DocumentBinaryInfoResult, DocumentImageResult, DocumentPositionResult, DocumentTypesCandidatesResult, EncryptedRCLResult, FaceDetectionResult, GraphicsResult, ImageQualityResult, ImagesResult, LexicalAnalysisResult, LicenseResult, MRZDetectorResult, MRZPositionResult, MRZTestQualityResult, RFIDGraphicsInfoResult, RFIDTextDataResult, StatusResult, TextDataResult, TextResult. Details: " + ", ".join(error_messages)) + raise ValueError("No match found when setting `actual_instance` in ContainerListListInner with oneOf schemas: AuthenticityResult, BarcodePositionResult, ByteArrayResult, ChosenDocumentTypeResult, DocBarCodeInfo, DocumentBinaryInfoResult, DocumentImageResult, DocumentPositionResult, DocumentTypesCandidatesResult, EncryptedRCLResult, FaceDetectionResult, GraphicsResult, ImageQualityResult, ImagesResult, LexicalAnalysisResult, LicenseResult, MRZDetectorResult, MRZPositionResult, MRZTestQualityResult, RFIDGraphicsInfoResult, RFIDTextDataResult, StatusResult, TextDataResult, TextResult, VDSDataResult, VDSNCDataResult. Details: " + ", ".join(error_messages)) else: return v @@ -402,13 +418,25 @@ def from_json(cls, json_str: str) -> Self: match += 1 except (ValidationError, ValueError) as e: error_messages.append(str(e)) + # deserialize data into VDSNCDataResult + try: + instance.actual_instance = VDSNCDataResult.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into VDSDataResult + try: + instance.actual_instance = VDSDataResult.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) if match > 1: # more than 1 match - raise ValueError("Multiple matches found when deserializing the JSON string into ContainerListListInner with oneOf schemas: AuthenticityResult, BarcodePositionResult, ByteArrayResult, ChosenDocumentTypeResult, DocBarCodeInfo, DocumentBinaryInfoResult, DocumentImageResult, DocumentPositionResult, DocumentTypesCandidatesResult, EncryptedRCLResult, FaceDetectionResult, GraphicsResult, ImageQualityResult, ImagesResult, LexicalAnalysisResult, LicenseResult, MRZDetectorResult, MRZPositionResult, MRZTestQualityResult, RFIDGraphicsInfoResult, RFIDTextDataResult, StatusResult, TextDataResult, TextResult. Details: " + ", ".join(error_messages)) + raise ValueError("Multiple matches found when deserializing the JSON string into ContainerListListInner with oneOf schemas: AuthenticityResult, BarcodePositionResult, ByteArrayResult, ChosenDocumentTypeResult, DocBarCodeInfo, DocumentBinaryInfoResult, DocumentImageResult, DocumentPositionResult, DocumentTypesCandidatesResult, EncryptedRCLResult, FaceDetectionResult, GraphicsResult, ImageQualityResult, ImagesResult, LexicalAnalysisResult, LicenseResult, MRZDetectorResult, MRZPositionResult, MRZTestQualityResult, RFIDGraphicsInfoResult, RFIDTextDataResult, StatusResult, TextDataResult, TextResult, VDSDataResult, VDSNCDataResult. Details: " + ", ".join(error_messages)) elif match == 0: # no match - raise ValueError("No match found when deserializing the JSON string into ContainerListListInner with oneOf schemas: AuthenticityResult, BarcodePositionResult, ByteArrayResult, ChosenDocumentTypeResult, DocBarCodeInfo, DocumentBinaryInfoResult, DocumentImageResult, DocumentPositionResult, DocumentTypesCandidatesResult, EncryptedRCLResult, FaceDetectionResult, GraphicsResult, ImageQualityResult, ImagesResult, LexicalAnalysisResult, LicenseResult, MRZDetectorResult, MRZPositionResult, MRZTestQualityResult, RFIDGraphicsInfoResult, RFIDTextDataResult, StatusResult, TextDataResult, TextResult. Details: " + ", ".join(error_messages)) + raise ValueError("No match found when deserializing the JSON string into ContainerListListInner with oneOf schemas: AuthenticityResult, BarcodePositionResult, ByteArrayResult, ChosenDocumentTypeResult, DocBarCodeInfo, DocumentBinaryInfoResult, DocumentImageResult, DocumentPositionResult, DocumentTypesCandidatesResult, EncryptedRCLResult, FaceDetectionResult, GraphicsResult, ImageQualityResult, ImagesResult, LexicalAnalysisResult, LicenseResult, MRZDetectorResult, MRZPositionResult, MRZTestQualityResult, RFIDGraphicsInfoResult, RFIDTextDataResult, StatusResult, TextDataResult, TextResult, VDSDataResult, VDSNCDataResult. Details: " + ", ".join(error_messages)) else: return instance @@ -422,7 +450,7 @@ def to_json(self) -> str: else: return json.dumps(self.actual_instance) - def to_dict(self) -> Optional[Union[Dict[str, Any], AuthenticityResult, BarcodePositionResult, ByteArrayResult, ChosenDocumentTypeResult, DocBarCodeInfo, DocumentBinaryInfoResult, DocumentImageResult, DocumentPositionResult, DocumentTypesCandidatesResult, EncryptedRCLResult, FaceDetectionResult, GraphicsResult, ImageQualityResult, ImagesResult, LexicalAnalysisResult, LicenseResult, MRZDetectorResult, MRZPositionResult, MRZTestQualityResult, RFIDGraphicsInfoResult, RFIDTextDataResult, StatusResult, TextDataResult, TextResult]]: + def to_dict(self) -> Optional[Union[Dict[str, Any], AuthenticityResult, BarcodePositionResult, ByteArrayResult, ChosenDocumentTypeResult, DocBarCodeInfo, DocumentBinaryInfoResult, DocumentImageResult, DocumentPositionResult, DocumentTypesCandidatesResult, EncryptedRCLResult, FaceDetectionResult, GraphicsResult, ImageQualityResult, ImagesResult, LexicalAnalysisResult, LicenseResult, MRZDetectorResult, MRZPositionResult, MRZTestQualityResult, RFIDGraphicsInfoResult, RFIDTextDataResult, StatusResult, TextDataResult, TextResult, VDSDataResult, VDSNCDataResult]]: """Returns the dict representation of the actual instance""" if self.actual_instance is None: return None diff --git a/regula/documentreader/webclient/gen/models/details_age.py b/regula/documentreader/webclient/gen/models/details_age.py new file mode 100644 index 0000000..c5d8274 --- /dev/null +++ b/regula/documentreader/webclient/gen/models/details_age.py @@ -0,0 +1,93 @@ +# 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, StrictInt +from typing import Any, ClassVar, Dict, List +from regula.documentreader.webclient.gen.models.check_result import CheckResult +from typing import Optional, Set +from typing_extensions import Self +from pydantic import SkipValidation, Field + +class DetailsAge(BaseModel): + """ + DetailsAge + """ # noqa: E501 + threshold: SkipValidation[int] = Field(alias="threshold") + over_threshold: SkipValidation[CheckResult] = Field(alias="overThreshold") + over18: SkipValidation[CheckResult] = Field(alias="over18") + over21: SkipValidation[CheckResult] = Field(alias="over21") + over25: SkipValidation[CheckResult] = Field(alias="over25") + over65: SkipValidation[CheckResult] = Field(alias="over65") + __properties: ClassVar[List[str]] = ["threshold", "overThreshold", "over18", "over21", "over25", "over65"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + arbitrary_types_allowed=True, + use_enum_values=True + ) + + + 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 DetailsAge 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, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DetailsAge from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "threshold": obj.get("threshold"), + "overThreshold": obj.get("overThreshold"), + "over18": obj.get("over18"), + "over21": obj.get("over21"), + "over25": obj.get("over25"), + "over65": obj.get("over65") + }) + return _obj + + diff --git a/regula/documentreader/webclient/gen/models/doc_feature.py b/regula/documentreader/webclient/gen/models/doc_feature.py new file mode 100644 index 0000000..5d9cb15 --- /dev/null +++ b/regula/documentreader/webclient/gen/models/doc_feature.py @@ -0,0 +1,88 @@ +# 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, StrictFloat, StrictInt +from typing import Any, ClassVar, Dict, List, Union +from regula.documentreader.webclient.gen.models.trf_ft_bytes import TrfFtBytes +from typing import Optional, Set +from typing_extensions import Self +from pydantic import SkipValidation, Field + +class DocFeature(BaseModel): + """ + DocFeature + """ # noqa: E501 + type: SkipValidation[float] = Field(alias="Type") + data: SkipValidation[TrfFtBytes] = Field(alias="Data") + __properties: ClassVar[List[str]] = ["Type", "Data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + arbitrary_types_allowed=True, + use_enum_values=True + ) + + + 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 DocFeature 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, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['Data'] = self.data.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DocFeature from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "Type": obj.get("Type"), + "Data": TrfFtBytes.from_dict(obj["Data"]) if obj.get("Data") is not None else None + }) + return _obj + + diff --git a/regula/documentreader/webclient/gen/models/mdl_device_engagement.py b/regula/documentreader/webclient/gen/models/mdl_device_engagement.py new file mode 100644 index 0000000..efa41bc --- /dev/null +++ b/regula/documentreader/webclient/gen/models/mdl_device_engagement.py @@ -0,0 +1,29 @@ +# coding: utf-8 + +""" + Generated by: https://openapi-generator.tech +""" + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class MDLDeviceEngagement(int, Enum): + """ + MDLDeviceEngagement + """ + + """ + allowed enum values + """ + QR = 0 + NFC = 1 + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of MDLDeviceEngagement from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/regula/documentreader/webclient/gen/models/mdl_device_retrieval.py b/regula/documentreader/webclient/gen/models/mdl_device_retrieval.py new file mode 100644 index 0000000..6108987 --- /dev/null +++ b/regula/documentreader/webclient/gen/models/mdl_device_retrieval.py @@ -0,0 +1,30 @@ +# coding: utf-8 + +""" + Generated by: https://openapi-generator.tech +""" + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class MDLDeviceRetrieval(int, Enum): + """ + MDLDeviceRetrieval + """ + + """ + allowed enum values + """ + NFC = 1 + BLE = 2 + WIFI_AWARE = 3 + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of MDLDeviceRetrieval from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/regula/documentreader/webclient/gen/models/mdl_server_retrieval.py b/regula/documentreader/webclient/gen/models/mdl_server_retrieval.py new file mode 100644 index 0000000..739bee7 --- /dev/null +++ b/regula/documentreader/webclient/gen/models/mdl_server_retrieval.py @@ -0,0 +1,29 @@ +# coding: utf-8 + +""" + Generated by: https://openapi-generator.tech +""" + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class MDLServerRetrieval(int, Enum): + """ + MDLServerRetrieval + """ + + """ + allowed enum values + """ + WEB_API = 0 + OIDC = 1 + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of MDLServerRetrieval from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/regula/documentreader/webclient/gen/models/message.py b/regula/documentreader/webclient/gen/models/message.py new file mode 100644 index 0000000..b48f632 --- /dev/null +++ b/regula/documentreader/webclient/gen/models/message.py @@ -0,0 +1,98 @@ +# 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, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from regula.documentreader.webclient.gen.models.pid import PID +from regula.documentreader.webclient.gen.models.ve_item import VEItem +from typing import Optional, Set +from typing_extensions import Self +from pydantic import SkipValidation, Field + +class Message(BaseModel): + """ + Message + """ # noqa: E501 + pid: SkipValidation[Optional[PID]] = Field(alias="pid", default=None) + uvci: SkipValidation[Optional[str]] = Field(alias="uvci", default=None) + ve: SkipValidation[Optional[List[VEItem]]] = Field(alias="ve", default=None) + __properties: ClassVar[List[str]] = ["pid", "uvci", "ve"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + arbitrary_types_allowed=True, + use_enum_values=True + ) + + + 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 Message 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, + ) + # override the default output from pydantic by calling `to_dict()` of pid + if self.pid: + _dict['pid'] = self.pid.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in ve (list) + _items = [] + if self.ve: + for _item_ve in self.ve: + if _item_ve: + _items.append(_item_ve.to_dict()) + _dict['ve'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Message from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "pid": PID.from_dict(obj["pid"]) if obj.get("pid") is not None else None, + "uvci": obj.get("uvci"), + "ve": [VEItem.from_dict(_item) for _item in obj.get("ve", []) if VEItem.from_dict(_item) is not None] + }) + return _obj + + diff --git a/regula/documentreader/webclient/gen/models/pid.py b/regula/documentreader/webclient/gen/models/pid.py new file mode 100644 index 0000000..f92aae8 --- /dev/null +++ b/regula/documentreader/webclient/gen/models/pid.py @@ -0,0 +1,88 @@ +# 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, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic import SkipValidation, Field + +class PID(BaseModel): + """ + PID + """ # noqa: E501 + dob: SkipValidation[Optional[str]] = Field(alias="dob", default=None) + i: SkipValidation[Optional[str]] = Field(alias="i", default=None) + n: SkipValidation[Optional[str]] = Field(alias="n", default=None) + sex: SkipValidation[Optional[str]] = Field(alias="sex", default=None) + __properties: ClassVar[List[str]] = ["dob", "i", "n", "sex"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + arbitrary_types_allowed=True, + use_enum_values=True + ) + + + 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 PID 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, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PID from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dob": obj.get("dob"), + "i": obj.get("i"), + "n": obj.get("n"), + "sex": obj.get("sex") + }) + return _obj + + diff --git a/regula/documentreader/webclient/gen/models/result.py b/regula/documentreader/webclient/gen/models/result.py index c40c7ff..4eb8e65 100644 --- a/regula/documentreader/webclient/gen/models/result.py +++ b/regula/documentreader/webclient/gen/models/result.py @@ -54,6 +54,12 @@ class Result(int, Enum): RFID_BINARY_DATA = 104 RFID_ORIGINAL_GRAPHICS = 105 DTC_VC = 109 + MDL_DEVICE_RAW_RESPONSE = 120 + MDL_DEVICE_PARSED_RESPONSE = 121 + MDL_SERVER_RAW_RESPONSE = 122 + MDL_SERVER_PARSED_RESPONSE = 123 + VDS_NC = 124 + VDS = 125 @classmethod def from_json(cls, json_str: str) -> Self: diff --git a/regula/documentreader/webclient/gen/models/result_item.py b/regula/documentreader/webclient/gen/models/result_item.py index acd11d7..9a3ba0f 100644 --- a/regula/documentreader/webclient/gen/models/result_item.py +++ b/regula/documentreader/webclient/gen/models/result_item.py @@ -26,6 +26,8 @@ from regula.documentreader.webclient.gen.models.document_binary_info_result import DocumentBinaryInfoResult from regula.documentreader.webclient.gen.models.rfid_graphics_info_result import RFIDGraphicsInfoResult from regula.documentreader.webclient.gen.models.byte_array_result import ByteArrayResult + from regula.documentreader.webclient.gen.models.vdsnc_data_result import VDSNCDataResult + from regula.documentreader.webclient.gen.models.vds_data_result import VDSDataResult from regula.documentreader.webclient.gen.models.lexical_analysis_result import LexicalAnalysisResult from regula.documentreader.webclient.gen.models.document_image_result import DocumentImageResult from regula.documentreader.webclient.gen.models.text_data_result import TextDataResult @@ -81,7 +83,7 @@ class ResultItem(BaseModel): # discriminator mappings __discriminator_value_class_map: ClassVar[Dict[str, str]] = { - '1': 'DocumentImageResult','101': 'DocumentBinaryInfoResult','102': 'RFIDTextDataResult','103': 'GraphicsResult','104': 'DocumentBinaryInfoResult','105': 'RFIDGraphicsInfoResult','109': 'ByteArrayResult','15': 'LexicalAnalysisResult','16': 'DocumentImageResult','17': 'TextDataResult','18': 'TextDataResult','19': 'GraphicsResult','20': 'AuthenticityResult','26': 'TextDataResult','3': 'TextDataResult','30': 'ImageQualityResult','32': 'GraphicsResult','33': 'StatusResult','34': 'AuthenticityResult','35': 'GraphicsResult','36': 'TextResult','37': 'ImagesResult','38': 'GraphicsResult','39': 'AuthenticityResult','49': 'EncryptedRCLResult','5': 'DocBarCodeInfo','50': 'LicenseResult','6': 'GraphicsResult','61': 'MRZPositionResult','62': 'BarcodePositionResult','7': 'MRZTestQualityResult','8': 'DocumentTypesCandidatesResult','85': 'DocumentPositionResult','87': 'MRZDetectorResult','9': 'ChosenDocumentTypeResult','97': 'FaceDetectionResult' + '1': 'DocumentImageResult','101': 'DocumentBinaryInfoResult','102': 'RFIDTextDataResult','103': 'GraphicsResult','104': 'DocumentBinaryInfoResult','105': 'RFIDGraphicsInfoResult','109': 'ByteArrayResult','124': 'VDSNCDataResult','125': 'VDSDataResult','15': 'LexicalAnalysisResult','16': 'DocumentImageResult','17': 'TextDataResult','18': 'TextDataResult','19': 'GraphicsResult','20': 'AuthenticityResult','26': 'TextDataResult','3': 'TextDataResult','30': 'ImageQualityResult','32': 'GraphicsResult','33': 'StatusResult','34': 'AuthenticityResult','35': 'GraphicsResult','36': 'TextResult','37': 'ImagesResult','38': 'GraphicsResult','39': 'AuthenticityResult','49': 'EncryptedRCLResult','5': 'DocBarCodeInfo','50': 'LicenseResult','6': 'GraphicsResult','61': 'MRZPositionResult','62': 'BarcodePositionResult','7': 'MRZTestQualityResult','8': 'DocumentTypesCandidatesResult','85': 'DocumentPositionResult','87': 'MRZDetectorResult','9': 'ChosenDocumentTypeResult','97': 'FaceDetectionResult' } @classmethod @@ -103,7 +105,7 @@ def to_json(self) -> str: return json.dumps(self.to_dict()) @classmethod - def from_json(cls, json_str: str) -> Optional[Union[DocumentImageResult, DocumentBinaryInfoResult, RFIDTextDataResult, GraphicsResult, DocumentBinaryInfoResult, RFIDGraphicsInfoResult, ByteArrayResult, LexicalAnalysisResult, DocumentImageResult, TextDataResult, TextDataResult, GraphicsResult, AuthenticityResult, TextDataResult, TextDataResult, ImageQualityResult, GraphicsResult, StatusResult, AuthenticityResult, GraphicsResult, TextResult, ImagesResult, GraphicsResult, AuthenticityResult, EncryptedRCLResult, DocBarCodeInfo, LicenseResult, GraphicsResult, MRZPositionResult, BarcodePositionResult, MRZTestQualityResult, DocumentTypesCandidatesResult, DocumentPositionResult, MRZDetectorResult, ChosenDocumentTypeResult, FaceDetectionResult]]: + def from_json(cls, json_str: str) -> Optional[Union[DocumentImageResult, DocumentBinaryInfoResult, RFIDTextDataResult, GraphicsResult, DocumentBinaryInfoResult, RFIDGraphicsInfoResult, ByteArrayResult, VDSNCDataResult, VDSDataResult, LexicalAnalysisResult, DocumentImageResult, TextDataResult, TextDataResult, GraphicsResult, AuthenticityResult, TextDataResult, TextDataResult, ImageQualityResult, GraphicsResult, StatusResult, AuthenticityResult, GraphicsResult, TextResult, ImagesResult, GraphicsResult, AuthenticityResult, EncryptedRCLResult, DocBarCodeInfo, LicenseResult, GraphicsResult, MRZPositionResult, BarcodePositionResult, MRZTestQualityResult, DocumentTypesCandidatesResult, DocumentPositionResult, MRZDetectorResult, ChosenDocumentTypeResult, FaceDetectionResult]]: """Create an instance of ResultItem from a JSON string""" return cls.from_dict(json.loads(json_str)) @@ -128,7 +130,7 @@ def to_dict(self) -> Dict[str, Any]: return _dict @classmethod - def from_dict(cls, obj: Dict[str, Any]) -> Optional[Union[DocumentImageResult, DocumentBinaryInfoResult, RFIDTextDataResult, GraphicsResult, DocumentBinaryInfoResult, RFIDGraphicsInfoResult, ByteArrayResult, LexicalAnalysisResult, DocumentImageResult, TextDataResult, TextDataResult, GraphicsResult, AuthenticityResult, TextDataResult, TextDataResult, ImageQualityResult, GraphicsResult, StatusResult, AuthenticityResult, GraphicsResult, TextResult, ImagesResult, GraphicsResult, AuthenticityResult, EncryptedRCLResult, DocBarCodeInfo, LicenseResult, GraphicsResult, MRZPositionResult, BarcodePositionResult, MRZTestQualityResult, DocumentTypesCandidatesResult, DocumentPositionResult, MRZDetectorResult, ChosenDocumentTypeResult, FaceDetectionResult]]: + def from_dict(cls, obj: Dict[str, Any]) -> Optional[Union[DocumentImageResult, DocumentBinaryInfoResult, RFIDTextDataResult, GraphicsResult, DocumentBinaryInfoResult, RFIDGraphicsInfoResult, ByteArrayResult, VDSNCDataResult, VDSDataResult, LexicalAnalysisResult, DocumentImageResult, TextDataResult, TextDataResult, GraphicsResult, AuthenticityResult, TextDataResult, TextDataResult, ImageQualityResult, GraphicsResult, StatusResult, AuthenticityResult, GraphicsResult, TextResult, ImagesResult, GraphicsResult, AuthenticityResult, EncryptedRCLResult, DocBarCodeInfo, LicenseResult, GraphicsResult, MRZPositionResult, BarcodePositionResult, MRZTestQualityResult, DocumentTypesCandidatesResult, DocumentPositionResult, MRZDetectorResult, ChosenDocumentTypeResult, FaceDetectionResult]]: """Create an instance of ResultItem from a dict""" # look up the object type based on discriminator mapping object_type = cls.get_discriminator_value(obj) @@ -146,6 +148,10 @@ def from_dict(cls, obj: Dict[str, Any]) -> Optional[Union[DocumentImageResult, D return import_module("regula.documentreader.webclient.gen.models.rfid_graphics_info_result").RFIDGraphicsInfoResult.from_dict(obj) if object_type == 'ByteArrayResult': return import_module("regula.documentreader.webclient.gen.models.byte_array_result").ByteArrayResult.from_dict(obj) + if object_type == 'VDSNCDataResult': + return import_module("regula.documentreader.webclient.gen.models.vdsnc_data_result").VDSNCDataResult.from_dict(obj) + if object_type == 'VDSDataResult': + return import_module("regula.documentreader.webclient.gen.models.vds_data_result").VDSDataResult.from_dict(obj) if object_type == 'LexicalAnalysisResult': return import_module("regula.documentreader.webclient.gen.models.lexical_analysis_result").LexicalAnalysisResult.from_dict(obj) if object_type == 'DocumentImageResult': diff --git a/regula/documentreader/webclient/gen/models/status.py b/regula/documentreader/webclient/gen/models/status.py index 9e13a7d..f89c63d 100644 --- a/regula/documentreader/webclient/gen/models/status.py +++ b/regula/documentreader/webclient/gen/models/status.py @@ -12,6 +12,7 @@ from pydantic import BaseModel, ConfigDict, Field from typing import Any, ClassVar, Dict, List, Optional from regula.documentreader.webclient.gen.models.check_result import CheckResult +from regula.documentreader.webclient.gen.models.details_age import DetailsAge from regula.documentreader.webclient.gen.models.details_optical import DetailsOptical from regula.documentreader.webclient.gen.models.details_rfid import DetailsRFID from typing import Optional, Set @@ -29,7 +30,10 @@ class Status(BaseModel): stop_list: SkipValidation[CheckResult] = Field(alias="stopList") details_rfid: SkipValidation[Optional[DetailsRFID]] = Field(alias="detailsRFID", default=None) details_optical: SkipValidation[DetailsOptical] = Field(alias="detailsOptical") - __properties: ClassVar[List[str]] = ["overallStatus", "optical", "portrait", "rfid", "stopList", "detailsRFID", "detailsOptical"] + age: SkipValidation[CheckResult] = Field(alias="age") + details_age: SkipValidation[DetailsAge] = Field(alias="detailsAge") + m_dl: SkipValidation[CheckResult] = Field(alias="mDL") + __properties: ClassVar[List[str]] = ["overallStatus", "optical", "portrait", "rfid", "stopList", "detailsRFID", "detailsOptical", "age", "detailsAge", "mDL"] model_config = ConfigDict( populate_by_name=True, @@ -78,6 +82,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of details_optical if self.details_optical: _dict['detailsOptical'] = self.details_optical.to_dict() + # override the default output from pydantic by calling `to_dict()` of details_age + if self.details_age: + _dict['detailsAge'] = self.details_age.to_dict() return _dict @classmethod @@ -96,7 +103,10 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "rfid": obj.get("rfid"), "stopList": obj.get("stopList"), "detailsRFID": DetailsRFID.from_dict(obj["detailsRFID"]) if obj.get("detailsRFID") is not None else None, - "detailsOptical": DetailsOptical.from_dict(obj["detailsOptical"]) if obj.get("detailsOptical") is not None else None + "detailsOptical": DetailsOptical.from_dict(obj["detailsOptical"]) if obj.get("detailsOptical") is not None else None, + "age": obj.get("age"), + "detailsAge": DetailsAge.from_dict(obj["detailsAge"]) if obj.get("detailsAge") is not None else None, + "mDL": obj.get("mDL") }) return _obj diff --git a/regula/documentreader/webclient/gen/models/text_field_type.py b/regula/documentreader/webclient/gen/models/text_field_type.py index 0bb0992..75c515d 100644 --- a/regula/documentreader/webclient/gen/models/text_field_type.py +++ b/regula/documentreader/webclient/gen/models/text_field_type.py @@ -667,6 +667,9 @@ class TextFieldType(int, Enum): FT_NATIONALITY_CODE_ALPHA2 = 697 FT_FIRST_ISSUE_DATE_CHECK_DIGIT = 698 FT_FIRST_ISSUE_DATE_CHECKSUM = 699 + FT_COMMERCIAL_INDICATOR = 701 + FT_NON_DOMICILED_INDICATOR = 702 + FT_JURISDICTION_SPECIFIC_DATA = 703 @classmethod def from_json(cls, json_str: str) -> Self: diff --git a/regula/documentreader/webclient/gen/models/trf_ft_string.py b/regula/documentreader/webclient/gen/models/trf_ft_string.py index 7838a54..aa5770f 100644 --- a/regula/documentreader/webclient/gen/models/trf_ft_string.py +++ b/regula/documentreader/webclient/gen/models/trf_ft_string.py @@ -22,7 +22,7 @@ class TrfFtString(BaseModel): type: SkipValidation[Optional[int]] = Field(alias="Type", default=None) status: SkipValidation[Optional[int]] = Field(alias="Status", default=None, description="Result of logical analysis of compliance of the contents of the field with the requirements of the specification") format: SkipValidation[Optional[str]] = Field(alias="Format", default=None, description="Mask of format of text information (for example, «YYMMDD» for date of birth)") - data: SkipValidation[str] = Field(alias="Data", description="Numeric value.") + data: SkipValidation[Optional[str]] = Field(alias="Data", default=None, description="Numeric value.") __properties: ClassVar[List[str]] = ["Type", "Status", "Format", "Data"] model_config = ConfigDict( diff --git a/regula/documentreader/webclient/gen/models/vd_item.py b/regula/documentreader/webclient/gen/models/vd_item.py new file mode 100644 index 0000000..e4218a4 --- /dev/null +++ b/regula/documentreader/webclient/gen/models/vd_item.py @@ -0,0 +1,90 @@ +# 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, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic import SkipValidation, Field + +class VDItem(BaseModel): + """ + VDItem + """ # noqa: E501 + adm: SkipValidation[Optional[str]] = Field(alias="adm", default=None) + ctr: SkipValidation[Optional[str]] = Field(alias="ctr", default=None) + dvc: SkipValidation[Optional[str]] = Field(alias="dvc", default=None) + lot: SkipValidation[Optional[str]] = Field(alias="lot", default=None) + seq: SkipValidation[Optional[int]] = Field(alias="seq", default=None) + __properties: ClassVar[List[str]] = ["adm", "ctr", "dvc", "lot", "seq"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + arbitrary_types_allowed=True, + use_enum_values=True + ) + + + 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 VDItem 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, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of VDItem from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "adm": obj.get("adm"), + "ctr": obj.get("ctr"), + "dvc": obj.get("dvc"), + "lot": obj.get("lot"), + "seq": obj.get("seq") + }) + return _obj + + diff --git a/regula/documentreader/webclient/gen/models/vds_data.py b/regula/documentreader/webclient/gen/models/vds_data.py new file mode 100644 index 0000000..34e6069 --- /dev/null +++ b/regula/documentreader/webclient/gen/models/vds_data.py @@ -0,0 +1,126 @@ +# 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, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from regula.documentreader.webclient.gen.models.doc_feature import DocFeature +from regula.documentreader.webclient.gen.models.rfid_certificate_ex import RfidCertificateEx +from regula.documentreader.webclient.gen.models.trf_ft_bytes import TrfFtBytes +from typing import Optional, Set +from typing_extensions import Self +from pydantic import SkipValidation, Field + +class VDSData(BaseModel): + """ + VDSData + """ # noqa: E501 + certificate: SkipValidation[Optional[str]] = Field(alias="Certificate", default=None) + certificate_chain: SkipValidation[Optional[List[RfidCertificateEx]]] = Field(alias="CertificateChain", default=None) + doc_features: SkipValidation[Optional[List[DocFeature]]] = Field(alias="DocFeatures", default=None) + doc_issue_date: SkipValidation[Optional[str]] = Field(alias="DocIssueDate", default=None) + doc_type: SkipValidation[Optional[int]] = Field(alias="DocType", default=None) + feature_ref: SkipValidation[Optional[int]] = Field(alias="FeatureRef", default=None) + issuing_country: SkipValidation[Optional[str]] = Field(alias="IssuingCountry", default=None) + notifications: SkipValidation[Optional[List[int]]] = Field(alias="Notifications", default=None) + signature: SkipValidation[Optional[TrfFtBytes]] = Field(alias="Signature", default=None) + signature_date: SkipValidation[Optional[str]] = Field(alias="SignatureDate", default=None) + signer: SkipValidation[Optional[str]] = Field(alias="Signer", default=None) + type: SkipValidation[Optional[int]] = Field(alias="Type", default=None) + version: SkipValidation[Optional[int]] = Field(alias="Version", default=None) + __properties: ClassVar[List[str]] = ["Certificate", "CertificateChain", "DocFeatures", "DocIssueDate", "DocType", "FeatureRef", "IssuingCountry", "Notifications", "Signature", "SignatureDate", "Signer", "Type", "Version"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + arbitrary_types_allowed=True, + use_enum_values=True + ) + + + 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 VDSData 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, + ) + # override the default output from pydantic by calling `to_dict()` of each item in certificate_chain (list) + _items = [] + if self.certificate_chain: + for _item_certificate_chain in self.certificate_chain: + if _item_certificate_chain: + _items.append(_item_certificate_chain.to_dict()) + _dict['CertificateChain'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in doc_features (list) + _items = [] + if self.doc_features: + for _item_doc_features in self.doc_features: + if _item_doc_features: + _items.append(_item_doc_features.to_dict()) + _dict['DocFeatures'] = _items + # override the default output from pydantic by calling `to_dict()` of signature + if self.signature: + _dict['Signature'] = self.signature.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of VDSData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "Certificate": obj.get("Certificate"), + "CertificateChain": [RfidCertificateEx.from_dict(_item) for _item in obj.get("CertificateChain", []) if RfidCertificateEx.from_dict(_item) is not None], + "DocFeatures": [DocFeature.from_dict(_item) for _item in obj.get("DocFeatures", []) if DocFeature.from_dict(_item) is not None], + "DocIssueDate": obj.get("DocIssueDate"), + "DocType": obj.get("DocType"), + "FeatureRef": obj.get("FeatureRef"), + "IssuingCountry": obj.get("IssuingCountry"), + "Notifications": obj.get("Notifications"), + "Signature": TrfFtBytes.from_dict(obj["Signature"]) if obj.get("Signature") is not None else None, + "SignatureDate": obj.get("SignatureDate"), + "Signer": obj.get("Signer"), + "Type": obj.get("Type"), + "Version": obj.get("Version") + }) + return _obj + + diff --git a/regula/documentreader/webclient/gen/models/vds_data_item.py b/regula/documentreader/webclient/gen/models/vds_data_item.py new file mode 100644 index 0000000..e924830 --- /dev/null +++ b/regula/documentreader/webclient/gen/models/vds_data_item.py @@ -0,0 +1,86 @@ +# 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 +from typing import Any, ClassVar, Dict, List +from regula.documentreader.webclient.gen.models.vds_data import VDSData +from typing import Optional, Set +from typing_extensions import Self +from pydantic import SkipValidation, Field + +class VDSDataItem(BaseModel): + """ + VDSDataItem + """ # noqa: E501 + dft_vds: SkipValidation[VDSData] = Field(alias="dftVDS") + __properties: ClassVar[List[str]] = ["dftVDS"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + arbitrary_types_allowed=True, + use_enum_values=True + ) + + + 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 VDSDataItem 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, + ) + # override the default output from pydantic by calling `to_dict()` of dft_vds + if self.dft_vds: + _dict['dftVDS'] = self.dft_vds.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of VDSDataItem from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dftVDS": VDSData.from_dict(obj["dftVDS"]) if obj.get("dftVDS") is not None else None + }) + return _obj + + diff --git a/regula/documentreader/webclient/gen/models/vds_data_result.py b/regula/documentreader/webclient/gen/models/vds_data_result.py new file mode 100644 index 0000000..218b891 --- /dev/null +++ b/regula/documentreader/webclient/gen/models/vds_data_result.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Generated by: https://openapi-generator.tech +""" + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import ConfigDict, Field +from typing import Any, ClassVar, Dict, List +from regula.documentreader.webclient.gen.models.result import Result +from regula.documentreader.webclient.gen.models.result_item import ResultItem +from regula.documentreader.webclient.gen.models.vds_data import VDSData +from typing import Optional, Set +from typing_extensions import Self +from pydantic import SkipValidation, Field + +class VDSDataResult(ResultItem): + """ + VDSDataResult + """ # noqa: E501 + dft_vds: SkipValidation[VDSData] = Field(alias="dftVDS") + __properties: ClassVar[List[str]] = ["buf_length", "light", "list_idx", "page_idx", "result_type", "dftVDS"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + arbitrary_types_allowed=True, + use_enum_values=True + ) + + + 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 VDSDataResult 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, + ) + # override the default output from pydantic by calling `to_dict()` of dft_vds + if self.dft_vds: + _dict['dftVDS'] = self.dft_vds.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of VDSDataResult from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "buf_length": obj.get("buf_length"), + "light": obj.get("light"), + "list_idx": obj.get("list_idx"), + "page_idx": obj.get("page_idx"), + "result_type": obj.get("result_type"), + "dftVDS": VDSData.from_dict(obj["dftVDS"]) if obj.get("dftVDS") is not None else None + }) + return _obj + + diff --git a/regula/documentreader/webclient/gen/models/vdsnc_data.py b/regula/documentreader/webclient/gen/models/vdsnc_data.py new file mode 100644 index 0000000..57bb8c1 --- /dev/null +++ b/regula/documentreader/webclient/gen/models/vdsnc_data.py @@ -0,0 +1,117 @@ +# 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, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from regula.documentreader.webclient.gen.models.message import Message +from regula.documentreader.webclient.gen.models.rfid_certificate_ex import RfidCertificateEx +from regula.documentreader.webclient.gen.models.trf_ft_bytes import TrfFtBytes +from typing import Optional, Set +from typing_extensions import Self +from pydantic import SkipValidation, Field + +class VDSNCData(BaseModel): + """ + VDSNCData + """ # noqa: E501 + certificate: SkipValidation[Optional[TrfFtBytes]] = Field(alias="Certificate", default=None) + certificate_chain: SkipValidation[Optional[List[RfidCertificateEx]]] = Field(alias="CertificateChain", default=None) + issuing_country: SkipValidation[Optional[str]] = Field(alias="IssuingCountry", default=None) + message: SkipValidation[Optional[Message]] = Field(alias="Message", default=None) + notifications: SkipValidation[Optional[List[int]]] = Field(alias="Notifications", default=None) + signature: SkipValidation[Optional[TrfFtBytes]] = Field(alias="Signature", default=None) + signature_alg: SkipValidation[Optional[str]] = Field(alias="SignatureAlg", default=None) + type: SkipValidation[Optional[str]] = Field(alias="Type", default=None) + version: SkipValidation[Optional[int]] = Field(alias="Version", default=None) + __properties: ClassVar[List[str]] = ["Certificate", "CertificateChain", "IssuingCountry", "Message", "Notifications", "Signature", "SignatureAlg", "Type", "Version"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + arbitrary_types_allowed=True, + use_enum_values=True + ) + + + 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 VDSNCData 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, + ) + # override the default output from pydantic by calling `to_dict()` of certificate + if self.certificate: + _dict['Certificate'] = self.certificate.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in certificate_chain (list) + _items = [] + if self.certificate_chain: + for _item_certificate_chain in self.certificate_chain: + if _item_certificate_chain: + _items.append(_item_certificate_chain.to_dict()) + _dict['CertificateChain'] = _items + # override the default output from pydantic by calling `to_dict()` of message + if self.message: + _dict['Message'] = self.message.to_dict() + # override the default output from pydantic by calling `to_dict()` of signature + if self.signature: + _dict['Signature'] = self.signature.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of VDSNCData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "Certificate": TrfFtBytes.from_dict(obj["Certificate"]) if obj.get("Certificate") is not None else None, + "CertificateChain": [RfidCertificateEx.from_dict(_item) for _item in obj.get("CertificateChain", []) if RfidCertificateEx.from_dict(_item) is not None], + "IssuingCountry": obj.get("IssuingCountry"), + "Message": Message.from_dict(obj["Message"]) if obj.get("Message") is not None else None, + "Notifications": obj.get("Notifications"), + "Signature": TrfFtBytes.from_dict(obj["Signature"]) if obj.get("Signature") is not None else None, + "SignatureAlg": obj.get("SignatureAlg"), + "Type": obj.get("Type"), + "Version": obj.get("Version") + }) + return _obj + + diff --git a/regula/documentreader/webclient/gen/models/vdsnc_data_item.py b/regula/documentreader/webclient/gen/models/vdsnc_data_item.py new file mode 100644 index 0000000..3a1e506 --- /dev/null +++ b/regula/documentreader/webclient/gen/models/vdsnc_data_item.py @@ -0,0 +1,86 @@ +# 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 +from typing import Any, ClassVar, Dict, List +from regula.documentreader.webclient.gen.models.vdsnc_data import VDSNCData +from typing import Optional, Set +from typing_extensions import Self +from pydantic import SkipValidation, Field + +class VDSNCDataItem(BaseModel): + """ + VDSNCDataItem + """ # noqa: E501 + dft_vds_nc: SkipValidation[VDSNCData] = Field(alias="dftVDS_NC") + __properties: ClassVar[List[str]] = ["dftVDS_NC"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + arbitrary_types_allowed=True, + use_enum_values=True + ) + + + 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 VDSNCDataItem 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, + ) + # override the default output from pydantic by calling `to_dict()` of dft_vds_nc + if self.dft_vds_nc: + _dict['dftVDS_NC'] = self.dft_vds_nc.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of VDSNCDataItem from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dftVDS_NC": VDSNCData.from_dict(obj["dftVDS_NC"]) if obj.get("dftVDS_NC") is not None else None + }) + return _obj + + diff --git a/regula/documentreader/webclient/gen/models/vdsnc_data_result.py b/regula/documentreader/webclient/gen/models/vdsnc_data_result.py new file mode 100644 index 0000000..fb81a10 --- /dev/null +++ b/regula/documentreader/webclient/gen/models/vdsnc_data_result.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Generated by: https://openapi-generator.tech +""" + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import ConfigDict, Field +from typing import Any, ClassVar, Dict, List +from regula.documentreader.webclient.gen.models.result import Result +from regula.documentreader.webclient.gen.models.result_item import ResultItem +from regula.documentreader.webclient.gen.models.vdsnc_data import VDSNCData +from typing import Optional, Set +from typing_extensions import Self +from pydantic import SkipValidation, Field + +class VDSNCDataResult(ResultItem): + """ + VDSNCDataResult + """ # noqa: E501 + dft_vds_nc: SkipValidation[VDSNCData] = Field(alias="dftVDS_NC") + __properties: ClassVar[List[str]] = ["buf_length", "light", "list_idx", "page_idx", "result_type", "dftVDS_NC"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + arbitrary_types_allowed=True, + use_enum_values=True + ) + + + 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 VDSNCDataResult 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, + ) + # override the default output from pydantic by calling `to_dict()` of dft_vds_nc + if self.dft_vds_nc: + _dict['dftVDS_NC'] = self.dft_vds_nc.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of VDSNCDataResult from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "buf_length": obj.get("buf_length"), + "light": obj.get("light"), + "list_idx": obj.get("list_idx"), + "page_idx": obj.get("page_idx"), + "result_type": obj.get("result_type"), + "dftVDS_NC": VDSNCData.from_dict(obj["dftVDS_NC"]) if obj.get("dftVDS_NC") is not None else None + }) + return _obj + + diff --git a/regula/documentreader/webclient/gen/models/ve_item.py b/regula/documentreader/webclient/gen/models/ve_item.py new file mode 100644 index 0000000..2e04a9d --- /dev/null +++ b/regula/documentreader/webclient/gen/models/ve_item.py @@ -0,0 +1,96 @@ +# 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, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from regula.documentreader.webclient.gen.models.vd_item import VDItem +from typing import Optional, Set +from typing_extensions import Self +from pydantic import SkipValidation, Field + +class VEItem(BaseModel): + """ + VEItem + """ # noqa: E501 + des: SkipValidation[Optional[str]] = Field(alias="des", default=None) + dis: SkipValidation[Optional[str]] = Field(alias="dis", default=None) + nam: SkipValidation[Optional[str]] = Field(alias="nam", default=None) + vd: SkipValidation[Optional[List[VDItem]]] = Field(alias="vd", default=None) + __properties: ClassVar[List[str]] = ["des", "dis", "nam", "vd"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + arbitrary_types_allowed=True, + use_enum_values=True + ) + + + 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 VEItem 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, + ) + # override the default output from pydantic by calling `to_dict()` of each item in vd (list) + _items = [] + if self.vd: + for _item_vd in self.vd: + if _item_vd: + _items.append(_item_vd.to_dict()) + _dict['vd'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of VEItem from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "des": obj.get("des"), + "dis": obj.get("dis"), + "nam": obj.get("nam"), + "vd": [VDItem.from_dict(_item) for _item in obj.get("vd", []) if VDItem.from_dict(_item) is not None] + }) + return _obj + +