Skip to content

Commit c455e72

Browse files
Merge pull request #148 from regulaforensics/feature/SP-15753-transaction
Feature/SP-15753 transaction
2 parents 4348447 + a69b366 commit c455e72

File tree

2 files changed

+53
-10
lines changed

2 files changed

+53
-10
lines changed

src/ext/document-reader.ts

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
import { DefaultApi } from '../api/default-api';
22
import { ProcessApi } from '../api/process-api';
3+
import { TransactionApi } from '../api/transaction-api';
34
import { Response } from './process-response';
45
import { Configuration, ConfigurationParameters } from '../configuration';
5-
import globalAxios, { AxiosInstance } from 'axios';
6+
import globalAxios, { AxiosInstance, AxiosResponse } from 'axios';
67
import { BASE_PATH } from '../base';
78
import {
89
ProcessRequestImage,
@@ -11,6 +12,8 @@ import {
1112
Scenario,
1213
Result,
1314
DeviceInfo,
15+
TransactionProcessRequest,
16+
InlineResponse200,
1417
} from '../models';
1518
import { Base64String, instanceOfProcessRequest, ProcessRequestExt } from './process-request-ext';
1619
import { ProcessRequestImageWrapper } from './process-request-image-wrapper';
@@ -19,6 +22,7 @@ import * as converter from 'base64-arraybuffer';
1922
export class DocumentReaderApi {
2023
private readonly defaultApi: DefaultApi;
2124
private readonly processApi: ProcessApi;
25+
private readonly transactionApi: TransactionApi;
2226

2327
private license: string | undefined;
2428

@@ -29,6 +33,7 @@ export class DocumentReaderApi {
2933
) {
3034
this.defaultApi = new DefaultApi(new Configuration(configuration), basePath, axios);
3135
this.processApi = new ProcessApi(new Configuration(configuration), basePath, axios);
36+
this.transactionApi = new TransactionApi(new Configuration(configuration), basePath, axios);
3237
}
3338

3439
async ping(xRequestID?: string): Promise<DeviceInfo> {
@@ -81,6 +86,43 @@ export class DocumentReaderApi {
8186
this.license = bufferToBase64String(license);
8287
}
8388
}
89+
90+
/**
91+
*
92+
* @summary Reprocess
93+
* @param {number} transactionId Transaction id
94+
* @param {TransactionProcessRequest} transactionProcessRequest
95+
* @param {*} [options] Override http request option.
96+
* @throws {RequiredError}
97+
*/
98+
public reprocessTransaction(
99+
transactionId: number,
100+
transactionProcessRequest: TransactionProcessRequest,
101+
options?: any,
102+
): Promise<AxiosResponse<InlineResponse200, any>> {
103+
return this.transactionApi.apiV2TransactionTransactionIdProcessPost(
104+
transactionId,
105+
transactionProcessRequest,
106+
options,
107+
);
108+
}
109+
110+
/**
111+
*
112+
* @summary Get Reprocess transaction result
113+
* @param {number} transactionId Transaction id
114+
* @param {boolean} [withImages] With base64 images or url
115+
* @param {*} [options] Override http request option.
116+
* @throws {RequiredError}
117+
*/
118+
async getReprocessTransactionResult(transactionId: number, withImages?: boolean, options?: any): Promise<Response> {
119+
const axiosResult = await this.transactionApi.apiV2TransactionTransactionIdResultsGet(
120+
transactionId,
121+
withImages,
122+
options,
123+
);
124+
return new Response(axiosResult.data);
125+
}
84126
}
85127

86128
export function requestToBaseRequest(request: ProcessRequestExt): ProcessRequestBase {

src/ext/process-response.ts

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
import {
22
AuthenticityResult,
3+
ChosenDocumentTypeResult,
34
ContainerList,
5+
DocBarCodeInfo,
46
ImageQualityCheckList,
57
ImageQualityResult,
68
ImagesResult,
9+
InlineResponse2001,
10+
OneCandidate,
711
ProcessingStatus,
812
ProcessResponse,
913
Result,
@@ -12,10 +16,7 @@ import {
1216
Status,
1317
StatusResult,
1418
TextResult,
15-
ChosenDocumentTypeResult,
16-
DocBarCodeInfo,
1719
TransactionInfo,
18-
OneCandidate,
1920
} from '../models';
2021
import { TextExt } from './text-ext';
2122
import { ImagesExt } from './images-ext';
@@ -32,9 +33,9 @@ export class Response {
3233
images?: ImagesExt;
3334

3435
lowLvlResponse: LowLvlResponse;
35-
rawResponse: ProcessResponse;
36+
rawResponse: ProcessResponse | InlineResponse2001;
3637

37-
constructor(original: ProcessResponse) {
38+
constructor(original: ProcessResponse | InlineResponse2001) {
3839
const lowLvlResponse = new LowLvlResponse(original);
3940
this.lowLvlResponse = lowLvlResponse;
4041
this.rawResponse = original;
@@ -127,10 +128,10 @@ export class LowLvlResponse implements ProcessResponse {
127128
passBackObject?: { [key: string]: any };
128129
morePagesAvailable?: number;
129130

130-
constructor(original: ProcessResponse) {
131-
this.ContainerList = original.ContainerList;
132-
this.ProcessingFinished = original.ProcessingFinished;
133-
this.TransactionInfo = original.TransactionInfo;
131+
constructor(original: ProcessResponse | InlineResponse2001) {
132+
this.ContainerList = original.ContainerList || { Count: 0, List: [] };
133+
this.ProcessingFinished = original.ProcessingFinished || ProcessingStatus.NOT_FINISHED;
134+
this.TransactionInfo = original.TransactionInfo || {};
134135
this.ChipPage = original.ChipPage;
135136
this.log = original.log;
136137
this.passBackObject = original.passBackObject;

0 commit comments

Comments
 (0)