Skip to content

Commit 0b4bd0d

Browse files
committed
Generate PosMobileApi
1 parent ed710a5 commit 0b4bd0d

File tree

8 files changed

+508
-163
lines changed

8 files changed

+508
-163
lines changed

src/__tests__/posMobileApi.spec.ts

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import nock from "nock";
2+
import { createClient } from "../__mocks__/base";
3+
import PosMobileApi from "../services/posMobile";
4+
import Client from "../client";
5+
import { CreateSessionRequest, CreateSessionResponse } from "../typings/posMobile/models";
6+
7+
describe("PosMobileApi", (): void => {
8+
let client: Client;
9+
let posMobileApi: PosMobileApi;
10+
let scope: nock.Scope;
11+
12+
beforeEach((): void => {
13+
if (!nock.isActive()) {
14+
nock.activate();
15+
}
16+
client = createClient();
17+
posMobileApi = new PosMobileApi(client);
18+
scope = nock("https://checkout-test.adyen.com/checkout/possdk/v68");
19+
});
20+
21+
afterEach(() => {
22+
nock.cleanAll();
23+
});
24+
25+
test("should create a communication session", async (): Promise<void> => {
26+
const mockResponse: CreateSessionResponse = {
27+
id: "mockedSessionId",
28+
merchantAccount: "merchantAccount",
29+
};
30+
31+
scope.post("/sessions").reply(200, mockResponse);
32+
33+
const request: CreateSessionRequest = {
34+
merchantAccount: "testMerchantAccount",
35+
setupToken: "token123",
36+
};
37+
38+
const result = await posMobileApi.PosMobileApi.createCommunicationSession(request);
39+
40+
expect(result).toBeTruthy();
41+
expect(result.id).toBe("mockedSessionId");
42+
});
43+
});

src/services/posMobile/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: v68
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 { PosMobileApi } from "./posMobileApi";
11+
12+
import Service from "../../service";
13+
import Client from "../../client";
14+
15+
export default class PosMobileAPI extends Service {
16+
17+
public constructor(client: Client) {
18+
super(client);
19+
}
20+
21+
public get PosMobileApi() {
22+
return new PosMobileApi(this.client);
23+
}
24+
}
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
/*
2+
* The version of the OpenAPI document: v68
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/posMobile/objectSerializer";
18+
import { CreateSessionRequest } from "../../typings/posMobile/models";
19+
import { CreateSessionResponse } from "../../typings/posMobile/models";
20+
21+
/**
22+
* API handler for PosMobileApi
23+
*/
24+
export class PosMobileApi extends Service {
25+
26+
private readonly API_BASEPATH: string = "https://checkout-test.adyen.com/checkout/possdk/v68";
27+
private baseUrl: string;
28+
29+
public constructor(client: Client){
30+
super(client);
31+
this.baseUrl = this.createBaseUrl(this.API_BASEPATH);
32+
}
33+
34+
/**
35+
* @summary Create a communication session
36+
* @param createSessionRequest {@link CreateSessionRequest }
37+
* @param requestOptions {@link IRequest.Options }
38+
* @return {@link CreateSessionResponse }
39+
*/
40+
public async createCommunicationSession(createSessionRequest: CreateSessionRequest, requestOptions?: IRequest.Options): Promise<CreateSessionResponse> {
41+
const endpoint = `${this.baseUrl}/sessions`;
42+
const resource = new Resource(this, endpoint);
43+
const request: CreateSessionRequest = ObjectSerializer.serialize(createSessionRequest, "CreateSessionRequest", "");
44+
const response = await getJsonResponse<CreateSessionRequest, CreateSessionResponse>(
45+
resource,
46+
request,
47+
{ ...requestOptions, method: "POST" }
48+
);
49+
return ObjectSerializer.deserialize(response, "CreateSessionResponse", "");
50+
}
51+
52+
}

src/services/posMobileApi.ts

Lines changed: 8 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/posMobile/models";
1818

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

2125
private readonly API_BASEPATH: string = "https://checkout-test.adyen.com/checkout/possdk/v68";
@@ -27,6 +31,8 @@ export class PosMobileAPI extends Service {
2731
}
2832

2933
/**
34+
* @deprecated Use services/posMobile/PosMobileAPI
35+
*
3036
* @summary Create a communication session
3137
* @param createSessionRequest {@link CreateSessionRequest }
3238
* @param requestOptions {@link IRequest.Options }
@@ -35,13 +41,13 @@ export class PosMobileAPI extends Service {
3541
public async createCommunicationSession(createSessionRequest: CreateSessionRequest, requestOptions?: IRequest.Options): Promise<CreateSessionResponse> {
3642
const endpoint = `${this.baseUrl}/sessions`;
3743
const resource = new Resource(this, endpoint);
38-
const request: CreateSessionRequest = ObjectSerializer.serialize(createSessionRequest, "CreateSessionRequest");
44+
const request: CreateSessionRequest = ObjectSerializer.serialize(createSessionRequest, "CreateSessionRequest", "");
3945
const response = await getJsonResponse<CreateSessionRequest, CreateSessionResponse>(
4046
resource,
4147
request,
4248
{ ...requestOptions, method: "POST" }
4349
);
44-
return ObjectSerializer.deserialize(response, "CreateSessionResponse");
50+
return ObjectSerializer.deserialize(response, "CreateSessionResponse", "");
4551
}
4652
}
4753

src/typings/posMobile/createSessionRequest.ts

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,27 +22,35 @@ export class CreateSessionRequest {
2222
*/
2323
'store'?: string;
2424

25-
static discriminator: string | undefined = undefined;
25+
static readonly discriminator: string | undefined = undefined;
2626

27-
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
27+
static readonly mapping: {[index: string]: string} | undefined = undefined;
28+
29+
static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [
2830
{
2931
"name": "merchantAccount",
3032
"baseName": "merchantAccount",
31-
"type": "string"
33+
"type": "string",
34+
"format": ""
3235
},
3336
{
3437
"name": "setupToken",
3538
"baseName": "setupToken",
36-
"type": "string"
39+
"type": "string",
40+
"format": ""
3741
},
3842
{
3943
"name": "store",
4044
"baseName": "store",
41-
"type": "string"
45+
"type": "string",
46+
"format": ""
4247
} ];
4348

4449
static getAttributeTypeMap() {
4550
return CreateSessionRequest.attributeTypeMap;
4651
}
52+
53+
public constructor() {
54+
}
4755
}
4856

src/typings/posMobile/createSessionResponse.ts

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,37 +30,47 @@ export class CreateSessionResponse {
3030
*/
3131
'store'?: string;
3232

33-
static discriminator: string | undefined = undefined;
33+
static readonly discriminator: string | undefined = undefined;
3434

35-
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
35+
static readonly mapping: {[index: string]: string} | undefined = undefined;
36+
37+
static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [
3638
{
3739
"name": "id",
3840
"baseName": "id",
39-
"type": "string"
41+
"type": "string",
42+
"format": ""
4043
},
4144
{
4245
"name": "installationId",
4346
"baseName": "installationId",
44-
"type": "string"
47+
"type": "string",
48+
"format": ""
4549
},
4650
{
4751
"name": "merchantAccount",
4852
"baseName": "merchantAccount",
49-
"type": "string"
53+
"type": "string",
54+
"format": ""
5055
},
5156
{
5257
"name": "sdkData",
5358
"baseName": "sdkData",
54-
"type": "string"
59+
"type": "string",
60+
"format": ""
5561
},
5662
{
5763
"name": "store",
5864
"baseName": "store",
59-
"type": "string"
65+
"type": "string",
66+
"format": ""
6067
} ];
6168

6269
static getAttributeTypeMap() {
6370
return CreateSessionResponse.attributeTypeMap;
6471
}
72+
73+
public constructor() {
74+
}
6575
}
6676

0 commit comments

Comments
 (0)