Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | 17x 17x 17x 17x 17x 17x 17x 1x 1x 1x 1x 1x 1x 1x | import AConnector from '@orchesty/nodejs-sdk/dist/lib/Connector/AConnector';
import { HttpMethods } from '@orchesty/nodejs-sdk/dist/lib/Transport/HttpMethods';
import ProcessDto from '@orchesty/nodejs-sdk/dist/lib/Utils/ProcessDto';
import { AuthenticaProduct } from '../types/product';
export const AUTHENTICA_CREATE_PRODUCT = 'authentica-create-product';
export default class AuthenticaCreateProduct extends AConnector {
public constructor(
protected dataKey: string | null = null,
) {
super();
}
public getName(): string {
return AUTHENTICA_CREATE_PRODUCT;
}
public async processAction(
dto: ProcessDto<AuthenticaCreateProductInput>,
): Promise<ProcessDto<AuthenticaCreateProductOutput>> {
let product = dto.getJsonData();
Iif (this.dataKey) {
// eslint-disable-next-line
product = (product as any)[this.dataKey];
}
const req = await this.getApplication().getRequestDto(
dto,
await this.getApplicationInstallFromProcess(dto),
HttpMethods.POST,
'product',
product,
);
const resp = (await this.getSender().send<AuthenticaProduct>(req)).getJsonBody();
Iif (this.dataKey) {
// eslint-disable-next-line
const data = dto.getJsonData() as any;
data[this.dataKey] = resp;
dto.setNewJsonData(data);
} else {
dto.setNewJsonData(resp);
}
return dto as unknown as ProcessDto<AuthenticaCreateProductOutput>;
}
}
export type AuthenticaCreateProductInput = Omit<AuthenticaProduct, 'id'>;
export type AuthenticaCreateProductOutput = AuthenticaProduct;
|