remove additionalData class at all and replace with key-value pair

This commit is contained in:
jillingk
2022-12-01 11:03:53 +01:00
parent b500101c02
commit 818574f222
5 changed files with 11 additions and 1102 deletions

View File

@@ -1,6 +1,6 @@
generator:=typescript-node
openapi-generator-cli:=docker run --user $(shell id -u):$(shell id -g) --rm -v ${PWD}:/local -w /local openapitools/openapi-generator-cli:v5.4.0
services:=binlookup checkout storedValue terminalManagement payments recurring payouts management legalEntityManagement balancePlatform platformsAccount platformsFund platformsNotificationConfiguration platformsHostedOnboardingPage transfer webhooks
openapi-generator-cli:=docker run --user $(shell id -u):$(shell id -g) --rm -v /home/vagrant/adyen-node-api-library:/local -w /local openapitools/openapi-generator-cli:v5.4.0
services:=webhooks
# Generate models (for each service)
models: $(services)
@@ -31,12 +31,7 @@ $(services): build/spec
-o build \
--global-property models,supportingFiles \
--skip-validate-spec
@if [ "$@" = "webhooks" ]; then\
mv build/model/notificationAdditionalData.ts src/typings/notification;\
else\
mv build/model src/typings/$@;\
fi
mv build/model src/typings/$@
# Checkout spec (and patch version)

View File

@@ -18,9 +18,9 @@
*/
import HmacValidator from "../utils/hmacValidator";
import { AdditionalData, NotificationItem, NotificationRequestItem } from "../typings/notification/models";
import {NotificationItem, NotificationRequestItem } from "../typings/notification/models";
import { ApiConstants } from "../constants/apiConstants";
import NotificationRequest from "../notification/notificationRequest";
import NotificationRequestService from "../notification/notificationRequest";
const key = "DFB1EB5485895CFA84146406857104ABB4CBCABDC8AAF103A624C8F6A3EAAB00";
const expectedSign = "ZNBPtI+oDyyRrLyD1XirkKnQgIAlFc07Vj27TeHsDRE=";
@@ -40,7 +40,7 @@ const notificationRequestItem: { NotificationRequestItem: NotificationRequestIte
additionalData: { [ApiConstants.HMAC_SIGNATURE]: expectedSign },
}
};
const notification = new NotificationRequest({
const notification = new NotificationRequestService({
live: "false",
notificationItems: [notificationRequestItem as unknown as NotificationItem]
});
@@ -78,7 +78,7 @@ describe("HMAC Validator", function (): void {
it("should have invalid hmac", function (): void {
const invalidNotification = {
...notification.notificationItems![0],
additionalData: { [ApiConstants.HMAC_SIGNATURE as keyof AdditionalData]: "notValidSign" }
additionalData: { [ApiConstants.HMAC_SIGNATURE]: "notValidSign" }
};
const result = hmacValidator.validateHMAC(invalidNotification, key);
expect(result).toBeFalsy();
@@ -98,6 +98,7 @@ describe("HMAC Validator", function (): void {
reason: "reason",
success: NotificationRequestItem.SuccessEnum.True,
additionalData: { },
};
try {
hmacValidator.validateHMAC(notificationRequestItemNoAdditionalData, key);
@@ -134,7 +135,7 @@ describe("HMAC Validator", function (): void {
success: "true",
additionalData: { [ApiConstants.HMAC_SIGNATURE]: expectedSign }
}} as unknown as NotificationItem;
const notification = new NotificationRequest({
const notification = new NotificationRequestService({
live: "false",
notificationItems: [notificationRequestItem]
});

View File

@@ -16,8 +16,7 @@
* This file is open source and available under the MIT license.
* See the LICENSE file for more info.
*/
export * from './notificationAdditionalData';
export * from './amount';
export * from './notification';
export * from './notificationItem';
@@ -36,7 +35,6 @@ export interface RequestDetailedFile {
export type RequestFile = string | Buffer | fs.ReadStream | RequestDetailedFile;
import { NotificationAdditionalData } from './notificationAdditionalData';
import { Amount } from './amount';
import { Notification } from './notification';
import { NotificationItem } from './notificationItem';
@@ -61,7 +59,6 @@ let enumsMap: {[index: string]: any} = {
}
let typeMap: {[index: string]: any} = {
"AdditionalData": NotificationAdditionalData,
"Amount": Amount,
"Notification": Notification,
"NotificationItem": NotificationItem,

File diff suppressed because it is too large Load Diff

View File

@@ -29,11 +29,10 @@
* Do not edit the class manually.
*/
import { NotificationAdditionalData } from './notificationAdditionalData';
import { Amount } from './amount';
export class NotificationRequestItem {
'additionalData'?: NotificationAdditionalData;
'additionalData'?: { [key: string]: string; };
'amount': Amount;
/**
* Adyen\'s 16-character unique reference associated with the transaction/the request. This value is globally unique; quote it when communicating with us about this request.