From d05efb9097b60f9a443bfe68b192b95f6e92621d Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Wed, 29 Oct 2025 07:21:16 +0000 Subject: [PATCH 1/2] Commit: ffa149d3 --- src/.openapi-generator/FILES | 3 + src/api/resources-api.ts | 117 +++++++++++++++++++++++++++ src/api/transaction-api.ts | 22 +++-- src/models/database-document-list.ts | 26 ++++++ src/models/database-document.ts | 112 +++++++++++++++++++++++++ src/models/index.ts | 2 + src/models/process-params.ts | 6 ++ 7 files changed, 281 insertions(+), 7 deletions(-) create mode 100644 src/api/resources-api.ts create mode 100644 src/models/database-document-list.ts create mode 100644 src/models/database-document.ts diff --git a/src/.openapi-generator/FILES b/src/.openapi-generator/FILES index 7aa11e0..c19b5ae 100755 --- a/src/.openapi-generator/FILES +++ b/src/.openapi-generator/FILES @@ -1,5 +1,6 @@ api/healthcheck-api.ts api/process-api.ts +api/resources-api.ts api/transaction-api.ts base.ts common.ts @@ -34,6 +35,8 @@ models/container-list.ts models/critical.ts models/cross-source-value-comparison.ts models/data-module.ts +models/database-document-list.ts +models/database-document.ts models/details-optical.ts models/details-rfid.ts models/device-info-documents-database.ts diff --git a/src/api/resources-api.ts b/src/api/resources-api.ts new file mode 100644 index 0000000..fb6fe5c --- /dev/null +++ b/src/api/resources-api.ts @@ -0,0 +1,117 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * NOTE: This file is auto generated by OpenAPI Generator. + * Do not edit the file manually. + */ + + +import type { Configuration } from '../configuration'; +import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios'; +import globalAxios from 'axios'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, type RequestArgs, BaseAPI, RequiredError, operationServerMap } from '../base'; +// @ts-ignore +import type { DatabaseDocumentList } from '../models'; +/** + * ResourcesApi - axios parameter creator + * @export + */ +export const ResourcesApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Returns the list of documents stored in the database that the Web Service API is running with. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + doclist: async (options: RawAxiosRequestConfig = {}): Promise => { + const localVarPath = `/api/doclist`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * ResourcesApi - functional programming interface + * @export + */ +export const ResourcesApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = ResourcesApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Returns the list of documents stored in the database that the Web Service API is running with. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async doclist(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.doclist(options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ResourcesApi.doclist']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + } +}; + +/** + * ResourcesApi - factory interface + * @export + */ +export const ResourcesApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = ResourcesApiFp(configuration) + return { + /** + * + * @summary Returns the list of documents stored in the database that the Web Service API is running with. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + doclist(options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.doclist(options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * ResourcesApi - object-oriented interface + * @export + * @class ResourcesApi + * @extends {BaseAPI} + */ +export class ResourcesApi extends BaseAPI { + /** + * + * @summary Returns the list of documents stored in the database that the Web Service API is running with. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ResourcesApi + */ + public doclist(options?: RawAxiosRequestConfig) { + return ResourcesApiFp(this.configuration).doclist(options).then((request) => request(this.axios, this.basePath)); + } +} + diff --git a/src/api/transaction-api.ts b/src/api/transaction-api.ts index 631b919..349a77c 100644 --- a/src/api/transaction-api.ts +++ b/src/api/transaction-api.ts @@ -178,10 +178,11 @@ export const TransactionApiAxiosParamCreator = function (configuration?: Configu * @summary Reprocess * @param {string} transactionId Transaction id * @param {TransactionProcessRequest} transactionProcessRequest + * @param {boolean} [useCache] Get processed values from storage in case transaction has already processed. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiV2TransactionTransactionIdProcessPost: async (transactionId: string, transactionProcessRequest: TransactionProcessRequest, options: RawAxiosRequestConfig = {}): Promise => { + apiV2TransactionTransactionIdProcessPost: async (transactionId: string, transactionProcessRequest: TransactionProcessRequest, useCache?: boolean, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'transactionId' is not null or undefined assertParamExists('apiV2TransactionTransactionIdProcessPost', 'transactionId', transactionId) // verify required parameter 'transactionProcessRequest' is not null or undefined @@ -199,6 +200,10 @@ export const TransactionApiAxiosParamCreator = function (configuration?: Configu const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; + if (useCache !== undefined) { + localVarQueryParameter['useCache'] = useCache; + } + localVarHeaderParameter['Content-Type'] = 'application/json'; @@ -320,11 +325,12 @@ export const TransactionApiFp = function(configuration?: Configuration) { * @summary Reprocess * @param {string} transactionId Transaction id * @param {TransactionProcessRequest} transactionProcessRequest + * @param {boolean} [useCache] Get processed values from storage in case transaction has already processed. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async apiV2TransactionTransactionIdProcessPost(transactionId: string, transactionProcessRequest: TransactionProcessRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.apiV2TransactionTransactionIdProcessPost(transactionId, transactionProcessRequest, options); + async apiV2TransactionTransactionIdProcessPost(transactionId: string, transactionProcessRequest: TransactionProcessRequest, useCache?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.apiV2TransactionTransactionIdProcessPost(transactionId, transactionProcessRequest, useCache, options); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['TransactionApi.apiV2TransactionTransactionIdProcessPost']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); @@ -399,11 +405,12 @@ export const TransactionApiFactory = function (configuration?: Configuration, ba * @summary Reprocess * @param {string} transactionId Transaction id * @param {TransactionProcessRequest} transactionProcessRequest + * @param {boolean} [useCache] Get processed values from storage in case transaction has already processed. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiV2TransactionTransactionIdProcessPost(transactionId: string, transactionProcessRequest: TransactionProcessRequest, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.apiV2TransactionTransactionIdProcessPost(transactionId, transactionProcessRequest, options).then((request) => request(axios, basePath)); + apiV2TransactionTransactionIdProcessPost(transactionId: string, transactionProcessRequest: TransactionProcessRequest, useCache?: boolean, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.apiV2TransactionTransactionIdProcessPost(transactionId, transactionProcessRequest, useCache, options).then((request) => request(axios, basePath)); }, /** * @@ -480,12 +487,13 @@ export class TransactionApi extends BaseAPI { * @summary Reprocess * @param {string} transactionId Transaction id * @param {TransactionProcessRequest} transactionProcessRequest + * @param {boolean} [useCache] Get processed values from storage in case transaction has already processed. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof TransactionApi */ - public apiV2TransactionTransactionIdProcessPost(transactionId: string, transactionProcessRequest: TransactionProcessRequest, options?: RawAxiosRequestConfig) { - return TransactionApiFp(this.configuration).apiV2TransactionTransactionIdProcessPost(transactionId, transactionProcessRequest, options).then((request) => request(this.axios, this.basePath)); + public apiV2TransactionTransactionIdProcessPost(transactionId: string, transactionProcessRequest: TransactionProcessRequest, useCache?: boolean, options?: RawAxiosRequestConfig) { + return TransactionApiFp(this.configuration).apiV2TransactionTransactionIdProcessPost(transactionId, transactionProcessRequest, useCache, options).then((request) => request(this.axios, this.basePath)); } /** diff --git a/src/models/database-document-list.ts b/src/models/database-document-list.ts new file mode 100644 index 0000000..3b5e739 --- /dev/null +++ b/src/models/database-document-list.ts @@ -0,0 +1,26 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * NOTE: This file is auto generated by OpenAPI Generator. + * Do not edit the file manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { DatabaseDocument } from './database-document'; + +/** + * + * @export + * @interface DatabaseDocumentList + */ +export interface DatabaseDocumentList { + /** + * The list of documents stored in the database. + * @type {Array} + * @memberof DatabaseDocumentList + */ + 'items': Array; +} + diff --git a/src/models/database-document.ts b/src/models/database-document.ts new file mode 100644 index 0000000..54911e3 --- /dev/null +++ b/src/models/database-document.ts @@ -0,0 +1,112 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * NOTE: This file is auto generated by OpenAPI Generator. + * Do not edit the file manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { DocumentType } from './document-type'; + +/** + * + * @export + * @interface DatabaseDocument + */ +export interface DatabaseDocument { + /** + * Whether the document has a barcode. + * @type {boolean} + * @memberof DatabaseDocument + */ + 'barcode_fields': boolean; + /** + * Country name. + * @type {string} + * @memberof DatabaseDocument + */ + 'country': string; + /** + * Date when the document description was created in the database. + * @type {string} + * @memberof DatabaseDocument + */ + 'createad': string; + /** + * + * @type {DocumentType} + * @memberof DatabaseDocument + */ + 'doc_type': DocumentType; + /** + * Document name. + * @type {string} + * @memberof DatabaseDocument + */ + 'document': string; + /** + * The presence of graphic fields in the document. + * @type {boolean} + * @memberof DatabaseDocument + */ + 'graphic_fields': boolean; + /** + * Document code. + * @type {number} + * @memberof DatabaseDocument + */ + 'id': number; + /** + * The document has an MRZ. + * @type {boolean} + * @memberof DatabaseDocument + */ + 'mrz': boolean; + /** + * Country region. + * @type {string} + * @memberof DatabaseDocument + */ + 'region'?: string; + /** + * The document has an RFID chip. + * @type {boolean} + * @memberof DatabaseDocument + */ + 'rfid_chip': boolean; + /** + * The presence of text fields in the document. + * @type {boolean} + * @memberof DatabaseDocument + */ + 'text_fields': boolean; + /** + * Date when the document description was updated in the database. + * @type {string} + * @memberof DatabaseDocument + */ + 'updated': string; + /** + * The year when the document was issued. + * @type {string} + * @memberof DatabaseDocument + */ + 'year'?: string; + /** + * Guardian country. + * @type {string} + * @memberof DatabaseDocument + */ + 'sovereignty'?: string; + /** + * Whether the document is no longer in circulation. + * @type {boolean} + * @memberof DatabaseDocument + */ + 'deprecated'?: boolean; +} + + + diff --git a/src/models/index.ts b/src/models/index.ts index 638c4ea..f8b721d 100644 --- a/src/models/index.ts +++ b/src/models/index.ts @@ -28,6 +28,8 @@ export * from './container-list-list-inner'; export * from './critical'; export * from './cross-source-value-comparison'; export * from './data-module'; +export * from './database-document'; +export * from './database-document-list'; export * from './details-optical'; export * from './details-rfid'; export * from './device-info'; diff --git a/src/models/process-params.ts b/src/models/process-params.ts index 144ca51..d29f370 100644 --- a/src/models/process-params.ts +++ b/src/models/process-params.ts @@ -457,6 +457,12 @@ export interface ProcessParams { * @memberof ProcessParams */ 'strictSecurityChecks'?: boolean; + /** + * Allows transliteration to be turned on or off; by default, it is enabled. + * @type {boolean} + * @memberof ProcessParams + */ + 'returnTransliteratedFields'?: boolean; } From 9992066a3b462c905a3455a21f8380109487da15 Mon Sep 17 00:00:00 2001 From: Artsiom Tsybulko Date: Wed, 29 Oct 2025 11:01:39 +0300 Subject: [PATCH 2/2] Add resources api --- src/ext/document-reader.ts | 43 +++++++++++++++++++++++++++----------- 1 file changed, 31 insertions(+), 12 deletions(-) diff --git a/src/ext/document-reader.ts b/src/ext/document-reader.ts index bbd79ba..f8adc4c 100755 --- a/src/ext/document-reader.ts +++ b/src/ext/document-reader.ts @@ -1,9 +1,10 @@ import { HealthcheckApi } from '../api/healthcheck-api'; import { ProcessApi } from '../api/process-api'; import { TransactionApi } from '../api/transaction-api'; +import { ResourcesApi } from '../api/resources-api'; import { ProcessResult } from './process-result'; import { Configuration, ConfigurationParameters } from '../configuration'; -import globalAxios, { AxiosInstance, AxiosResponse } from 'axios'; +import globalAxios, { AxiosInstance, AxiosResponse, RawAxiosRequestConfig } from 'axios'; import { BASE_PATH } from '../base'; import { ProcessRequestImage, @@ -17,6 +18,7 @@ import { ListTransactionsByTagResponse, TransactionProcessGetResponse, Healthcheck, + DatabaseDocumentList, } from '../models'; import { Base64String, instanceOfProcessRequest, ProcessRequestExt } from './process-request-ext'; import { ProcessRequestImageWrapper } from './process-request-image-wrapper'; @@ -26,6 +28,7 @@ export class DocumentReaderApi { private readonly healthcheckApi: HealthcheckApi; private readonly processApi: ProcessApi; private readonly transactionApi: TransactionApi; + private readonly resourcesApi: ResourcesApi; private license: string | undefined; @@ -37,15 +40,21 @@ export class DocumentReaderApi { this.healthcheckApi = new HealthcheckApi(new Configuration(configuration), basePath, axios); this.processApi = new ProcessApi(new Configuration(configuration), basePath, axios); this.transactionApi = new TransactionApi(new Configuration(configuration), basePath, axios); + this.resourcesApi = new ResourcesApi(new Configuration(configuration), basePath, axios); } - async ping(xRequestID?: string): Promise { - const axiosResult = await this.healthcheckApi.ping(xRequestID); + async doclist(options?: RawAxiosRequestConfig): Promise { + const axiosResult = await this.resourcesApi.doclist(options); return axiosResult.data; } - async health(xRequestID?: string): Promise { - const axiosResult = await this.healthcheckApi.healthz(xRequestID); + async ping(xRequestID?: string, options?: RawAxiosRequestConfig): Promise { + const axiosResult = await this.healthcheckApi.ping(xRequestID, options); + return axiosResult.data; + } + + async health(xRequestID?: string, options?: RawAxiosRequestConfig): Promise { + const axiosResult = await this.healthcheckApi.healthz(xRequestID, options); return axiosResult.data; } @@ -53,13 +62,14 @@ export class DocumentReaderApi { * * @summary Process list of documents images and return extracted data * @param {ProcessRequestExt} [request] Request options such as image, results types and etc. + * @param {string} xRequestID It allows the client and server to correlate each HTTP request. * @param {*} [options] Override http request option. * @throws {RequiredError} If some request params are missed * */ async process( request: ProcessRequestExt | ProcessRequestBase, xRequestID?: string, - options?: any, + options?: RawAxiosRequestConfig, ): Promise { let baseRequest; @@ -100,17 +110,20 @@ export class DocumentReaderApi { * @summary Reprocess * @param {string} transactionId Transaction id * @param {TransactionProcessRequest} transactionProcessRequest + * @param {boolean} useCache Get processed values from storage in case transaction has already processed. * @param {*} [options] Override http request option. * @throws {RequiredError} */ public reprocessTransaction( transactionId: string, transactionProcessRequest: TransactionProcessRequest, - options?: any, + useCache?: boolean, + options?: RawAxiosRequestConfig, ): Promise> { return this.transactionApi.apiV2TransactionTransactionIdProcessPost( transactionId, transactionProcessRequest, + useCache, options, ); } @@ -126,7 +139,7 @@ export class DocumentReaderApi { async getReprocessTransactionResult( transactionId: string, withImages?: boolean, - options?: any, + options?: RawAxiosRequestConfig, ): Promise { const axiosResult = await this.transactionApi.apiV2TransactionTransactionIdResultsGet( transactionId, @@ -143,7 +156,10 @@ export class DocumentReaderApi { * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async getTransactionsByTag(tagId: string, options?: any): Promise> { + async getTransactionsByTag( + tagId: string, + options?: RawAxiosRequestConfig, + ): Promise> { return this.transactionApi.apiV2TagTagIdTransactionsGet(tagId, options); } @@ -154,7 +170,10 @@ export class DocumentReaderApi { * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async deleteReprocessTransactionsByTag(tagId: string, options?: any): Promise> { + async deleteReprocessTransactionsByTag( + tagId: string, + options?: RawAxiosRequestConfig, + ): Promise> { return this.transactionApi.apiV2TagTagIdDelete(tagId, options); } @@ -169,7 +188,7 @@ export class DocumentReaderApi { async getReprocessTransactionFile( transactionId: string, name: string, - options?: any, + options?: RawAxiosRequestConfig, ): Promise> { return this.transactionApi.apiV2TransactionTransactionIdFileGet(transactionId, name, options); } @@ -183,7 +202,7 @@ export class DocumentReaderApi { */ async getReprocessTransactionData( transactionId: string, - options?: any, + options?: RawAxiosRequestConfig, ): Promise> { return this.transactionApi.apiV2TransactionTransactionIdGet(transactionId, options); }