Skip to content

Commit 4a6337e

Browse files
committed
Generate DataProtection API
1 parent 47be999 commit 4a6337e

File tree

9 files changed

+493
-181
lines changed

9 files changed

+493
-181
lines changed

src/__tests__/dataProtection.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ describe("DataProtection", (): void => {
3737
scope.post("/requestSubjectErasure")
3838
.reply(200, requestSubjectErasureSuccess);
3939

40-
const response: dataProtection.SubjectErasureResponse = await dataProtectionService.requestSubjectErasure(requestSubjectErasureRequest);
40+
const response: dataProtection.SubjectErasureResponse = await dataProtectionService.DataProtectionApi.requestSubjectErasure(requestSubjectErasureRequest);
4141
expect(response.result).toEqual(dataProtection.SubjectErasureResponse.ResultEnum.Success);
4242
});
4343

@@ -51,7 +51,7 @@ describe("DataProtection", (): void => {
5151
"forceErasure": true,
5252
"pspReference": "0123456789"
5353
};
54-
await dataProtectionService.requestSubjectErasure(requestSubjectErasureRequest);
54+
await dataProtectionService.DataProtectionApi.requestSubjectErasure(requestSubjectErasureRequest);
5555
} catch (e) {
5656
expect(e instanceof HttpClientException).toBeTruthy();
5757
}
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
/*
2+
* The version of the OpenAPI document: v1
3+
*
4+
*
5+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
6+
* https://openapi-generator.tech
7+
* Do not edit this class manually.
8+
*/
9+
10+
11+
import getJsonResponse from "../../helpers/getJsonResponse";
12+
import Service from "../../service";
13+
import Client from "../../client";
14+
import { IRequest } from "../../typings/requestOptions";
15+
import Resource from "../resource";
16+
17+
import { ObjectSerializer } from "../../typings/dataProtection/objectSerializer";
18+
import { ServiceError } from "../../typings/dataProtection/models";
19+
import { SubjectErasureByPspReferenceRequest } from "../../typings/dataProtection/models";
20+
import { SubjectErasureResponse } from "../../typings/dataProtection/models";
21+
22+
/**
23+
* API handler for DataProtectionApi
24+
*/
25+
export class DataProtectionApi extends Service {
26+
27+
private readonly API_BASEPATH: string = "https://ca-test.adyen.com/ca/services/DataProtectionService/v1";
28+
private baseUrl: string;
29+
30+
public constructor(client: Client){
31+
super(client);
32+
this.baseUrl = this.createBaseUrl(this.API_BASEPATH);
33+
}
34+
35+
/**
36+
* @summary Submit a Subject Erasure Request.
37+
* @param subjectErasureByPspReferenceRequest {@link SubjectErasureByPspReferenceRequest }
38+
* @param requestOptions {@link IRequest.Options }
39+
* @return {@link SubjectErasureResponse }
40+
*/
41+
public async requestSubjectErasure(subjectErasureByPspReferenceRequest: SubjectErasureByPspReferenceRequest, requestOptions?: IRequest.Options): Promise<SubjectErasureResponse> {
42+
const endpoint = `${this.baseUrl}/requestSubjectErasure`;
43+
const resource = new Resource(this, endpoint);
44+
45+
const request: SubjectErasureByPspReferenceRequest = ObjectSerializer.serialize(subjectErasureByPspReferenceRequest, "SubjectErasureByPspReferenceRequest", "");
46+
const response = await getJsonResponse<SubjectErasureByPspReferenceRequest, SubjectErasureResponse>(
47+
resource,
48+
request,
49+
{ ...requestOptions, method: "POST" }
50+
);
51+
52+
return ObjectSerializer.deserialize(response, "SubjectErasureResponse", "");
53+
}
54+
55+
}

src/services/dataProtection/index.ts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
/*
2+
* The version of the OpenAPI document: v1
3+
*
4+
*
5+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
6+
* https://openapi-generator.tech
7+
* Do not edit this class manually.
8+
*/
9+
10+
import { DataProtectionApi } from "./dataProtectionApi";
11+
12+
import Service from "../../service";
13+
import Client from "../../client";
14+
15+
export default class DataProtectionAPI extends Service {
16+
17+
public constructor(client: Client) {
18+
super(client);
19+
}
20+
21+
public get DataProtectionApi() {
22+
return new DataProtectionApi(this.client);
23+
}
24+
}

src/services/dataProtectionApi.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ import { IRequest } from "../typings/requestOptions";
1616
import Resource from "./resource";
1717
import { ObjectSerializer } from "../typings/dataProtection/models";
1818

19+
/**
20+
* The service has been moved to a different package 'dataProtection'
21+
* @deprecated Use services/dataProtection/DataProtectionAPI
22+
*/
1923
export class DataProtectionAPI extends Service {
2024

2125
private readonly API_BASEPATH: string = "https://ca-test.adyen.com/ca/services/DataProtectionService/v1";
@@ -27,6 +31,9 @@ export class DataProtectionAPI extends Service {
2731
}
2832

2933
/**
34+
/**
35+
* @deprecated Use services/dataProtection/DataProtectionAPI
36+
*
3037
* @summary Submit a Subject Erasure Request.
3138
* @param subjectErasureByPspReferenceRequest {@link SubjectErasureByPspReferenceRequest }
3239
* @param requestOptions {@link IRequest.Options }
@@ -35,13 +42,13 @@ export class DataProtectionAPI extends Service {
3542
public async requestSubjectErasure(subjectErasureByPspReferenceRequest: SubjectErasureByPspReferenceRequest, requestOptions?: IRequest.Options): Promise<SubjectErasureResponse> {
3643
const endpoint = `${this.baseUrl}/requestSubjectErasure`;
3744
const resource = new Resource(this, endpoint);
38-
const request: SubjectErasureByPspReferenceRequest = ObjectSerializer.serialize(subjectErasureByPspReferenceRequest, "SubjectErasureByPspReferenceRequest");
45+
const request: SubjectErasureByPspReferenceRequest = ObjectSerializer.serialize(subjectErasureByPspReferenceRequest, "SubjectErasureByPspReferenceRequest", "");
3946
const response = await getJsonResponse<SubjectErasureByPspReferenceRequest, SubjectErasureResponse>(
4047
resource,
4148
request,
4249
{ ...requestOptions, method: "POST" }
4350
);
44-
return ObjectSerializer.deserialize(response, "SubjectErasureResponse");
51+
return ObjectSerializer.deserialize(response, "SubjectErasureResponse", "");
4552
}
4653
}
4754

src/typings/dataProtection/models.ts

Lines changed: 5 additions & 153 deletions
Original file line numberDiff line numberDiff line change
@@ -1,154 +1,6 @@
1-
/*
2-
* The version of the OpenAPI document: v1
3-
*
4-
*
5-
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
6-
* https://openapi-generator.tech
7-
* Do not edit this class manually.
8-
*/
1+
export * from "./serviceError"
2+
export * from "./subjectErasureByPspReferenceRequest"
3+
export * from "./subjectErasureResponse"
94

10-
11-
export * from './serviceError';
12-
export * from './subjectErasureByPspReferenceRequest';
13-
export * from './subjectErasureResponse';
14-
15-
16-
import { ServiceError } from './serviceError';
17-
import { SubjectErasureByPspReferenceRequest } from './subjectErasureByPspReferenceRequest';
18-
import { SubjectErasureResponse } from './subjectErasureResponse';
19-
20-
/* tslint:disable:no-unused-variable */
21-
let primitives = [
22-
"string",
23-
"boolean",
24-
"double",
25-
"integer",
26-
"long",
27-
"float",
28-
"number",
29-
"any"
30-
];
31-
32-
let enumsMap: {[index: string]: any} = {
33-
"SubjectErasureResponse.ResultEnum": SubjectErasureResponse.ResultEnum,
34-
}
35-
36-
let typeMap: {[index: string]: any} = {
37-
"ServiceError": ServiceError,
38-
"SubjectErasureByPspReferenceRequest": SubjectErasureByPspReferenceRequest,
39-
"SubjectErasureResponse": SubjectErasureResponse,
40-
}
41-
42-
export class ObjectSerializer {
43-
public static findCorrectType(data: any, expectedType: string) {
44-
if (data == undefined) {
45-
return expectedType;
46-
} else if (primitives.indexOf(expectedType.toLowerCase()) !== -1) {
47-
return expectedType;
48-
} else if (expectedType === "Date") {
49-
return expectedType;
50-
} else {
51-
if (enumsMap[expectedType]) {
52-
return expectedType;
53-
}
54-
55-
if (!typeMap[expectedType]) {
56-
return expectedType; // w/e we don't know the type
57-
}
58-
59-
// Check the discriminator
60-
let discriminatorProperty = typeMap[expectedType].discriminator;
61-
if (discriminatorProperty == null) {
62-
return expectedType; // the type does not have a discriminator. use it.
63-
} else {
64-
if (data[discriminatorProperty]) {
65-
var discriminatorType = data[discriminatorProperty];
66-
if(typeMap[discriminatorType]){
67-
return discriminatorType; // use the type given in the discriminator
68-
} else {
69-
return expectedType; // discriminator did not map to a type
70-
}
71-
} else {
72-
return expectedType; // discriminator was not present (or an empty string)
73-
}
74-
}
75-
}
76-
}
77-
78-
public static serialize(data: any, type: string) {
79-
if (data == undefined) {
80-
return data;
81-
} else if (primitives.indexOf(type.toLowerCase()) !== -1) {
82-
return data;
83-
} else if (type.lastIndexOf("Array<", 0) === 0) { // string.startsWith pre es6
84-
let subType: string = type.replace("Array<", ""); // Array<Type> => Type>
85-
subType = subType.substring(0, subType.length - 1); // Type> => Type
86-
let transformedData: any[] = [];
87-
for (let index = 0; index < data.length; index++) {
88-
let datum = data[index];
89-
transformedData.push(ObjectSerializer.serialize(datum, subType));
90-
}
91-
return transformedData;
92-
} else if (type === "Date") {
93-
return data.toISOString();
94-
} else if (type === "SaleToAcquirerData") {
95-
const dataString = JSON.stringify(data);
96-
return Buffer.from(dataString).toString("base64");
97-
} else {
98-
if (enumsMap[type]) {
99-
return data;
100-
}
101-
if (!typeMap[type]) { // in case we dont know the type
102-
return data;
103-
}
104-
105-
// Get the actual type of this object
106-
type = this.findCorrectType(data, type);
107-
108-
// get the map for the correct type.
109-
let attributeTypes = typeMap[type].getAttributeTypeMap();
110-
let instance: {[index: string]: any} = {};
111-
for (let index = 0; index < attributeTypes.length; index++) {
112-
let attributeType = attributeTypes[index];
113-
instance[attributeType.baseName] = ObjectSerializer.serialize(data[attributeType.name], attributeType.type);
114-
}
115-
return instance;
116-
}
117-
}
118-
119-
public static deserialize(data: any, type: string) {
120-
// polymorphism may change the actual type.
121-
type = ObjectSerializer.findCorrectType(data, type);
122-
if (data == undefined) {
123-
return data;
124-
} else if (primitives.indexOf(type.toLowerCase()) !== -1) {
125-
return data;
126-
} else if (type.lastIndexOf("Array<", 0) === 0) { // string.startsWith pre es6
127-
let subType: string = type.replace("Array<", ""); // Array<Type> => Type>
128-
subType = subType.substring(0, subType.length - 1); // Type> => Type
129-
let transformedData: any[] = [];
130-
for (let index = 0; index < data.length; index++) {
131-
let datum = data[index];
132-
transformedData.push(ObjectSerializer.deserialize(datum, subType));
133-
}
134-
return transformedData;
135-
} else if (type === "Date") {
136-
return new Date(data);
137-
} else {
138-
if (enumsMap[type]) {// is Enum
139-
return data;
140-
}
141-
142-
if (!typeMap[type]) { // dont know the type
143-
return data;
144-
}
145-
let instance = new typeMap[type]();
146-
let attributeTypes = typeMap[type].getAttributeTypeMap();
147-
for (let index = 0; index < attributeTypes.length; index++) {
148-
let attributeType = attributeTypes[index];
149-
instance[attributeType.name] = ObjectSerializer.deserialize(data[attributeType.baseName], attributeType.type);
150-
}
151-
return instance;
152-
}
153-
}
154-
}
5+
// serializing and deserializing typed objects
6+
export * from "./objectSerializer"

0 commit comments

Comments
 (0)