mollie-api-typescript 1.8.1 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/README.md +8 -31
  2. package/dist/commonjs/funcs/oauthGenerate.d.ts.map +1 -1
  3. package/dist/commonjs/funcs/oauthGenerate.js +2 -7
  4. package/dist/commonjs/funcs/oauthGenerate.js.map +1 -1
  5. package/dist/commonjs/funcs/oauthRevoke.d.ts.map +1 -1
  6. package/dist/commonjs/funcs/oauthRevoke.js +2 -7
  7. package/dist/commonjs/funcs/oauthRevoke.js.map +1 -1
  8. package/dist/commonjs/funcs/terminalsTerminalsGetPairingCode.d.ts +28 -0
  9. package/dist/commonjs/funcs/terminalsTerminalsGetPairingCode.d.ts.map +1 -0
  10. package/dist/commonjs/funcs/terminalsTerminalsGetPairingCode.js +153 -0
  11. package/dist/commonjs/funcs/terminalsTerminalsGetPairingCode.js.map +1 -0
  12. package/dist/commonjs/funcs/terminalsTerminalsListPairingCodes.d.ts +24 -0
  13. package/dist/commonjs/funcs/terminalsTerminalsListPairingCodes.d.ts.map +1 -0
  14. package/dist/commonjs/funcs/terminalsTerminalsListPairingCodes.js +147 -0
  15. package/dist/commonjs/funcs/terminalsTerminalsListPairingCodes.js.map +1 -0
  16. package/dist/commonjs/funcs/terminalsTerminalsRequestPairingCode.d.ts +30 -0
  17. package/dist/commonjs/funcs/terminalsTerminalsRequestPairingCode.d.ts.map +1 -0
  18. package/dist/commonjs/funcs/terminalsTerminalsRequestPairingCode.js +151 -0
  19. package/dist/commonjs/funcs/terminalsTerminalsRequestPairingCode.js.map +1 -0
  20. package/dist/commonjs/funcs/terminalsTerminalsRevokePairingCode.d.ts +27 -0
  21. package/dist/commonjs/funcs/terminalsTerminalsRevokePairingCode.d.ts.map +1 -0
  22. package/dist/commonjs/funcs/terminalsTerminalsRevokePairingCode.js +148 -0
  23. package/dist/commonjs/funcs/terminalsTerminalsRevokePairingCode.js.map +1 -0
  24. package/dist/commonjs/lib/config.d.ts +3 -3
  25. package/dist/commonjs/lib/config.js +3 -3
  26. package/dist/commonjs/models/entityorganization.d.ts +2 -2
  27. package/dist/commonjs/models/entityorganization.d.ts.map +1 -1
  28. package/dist/commonjs/models/entityorganization.js +2 -2
  29. package/dist/commonjs/models/entityorganization.js.map +1 -1
  30. package/dist/commonjs/models/entitypairingcode.d.ts +122 -0
  31. package/dist/commonjs/models/entitypairingcode.d.ts.map +1 -0
  32. package/dist/commonjs/models/entitypairingcode.js +109 -0
  33. package/dist/commonjs/models/entitypairingcode.js.map +1 -0
  34. package/dist/commonjs/models/index.d.ts +1 -0
  35. package/dist/commonjs/models/index.d.ts.map +1 -1
  36. package/dist/commonjs/models/index.js +1 -0
  37. package/dist/commonjs/models/index.js.map +1 -1
  38. package/dist/commonjs/models/operations/index.d.ts +4 -0
  39. package/dist/commonjs/models/operations/index.d.ts.map +1 -1
  40. package/dist/commonjs/models/operations/index.js +4 -0
  41. package/dist/commonjs/models/operations/index.js.map +1 -1
  42. package/dist/commonjs/models/operations/oauthgeneratetokens.d.ts +0 -1
  43. package/dist/commonjs/models/operations/oauthgeneratetokens.d.ts.map +1 -1
  44. package/dist/commonjs/models/operations/oauthgeneratetokens.js +1 -4
  45. package/dist/commonjs/models/operations/oauthgeneratetokens.js.map +1 -1
  46. package/dist/commonjs/models/operations/oauthrevoketokens.d.ts +0 -1
  47. package/dist/commonjs/models/operations/oauthrevoketokens.d.ts.map +1 -1
  48. package/dist/commonjs/models/operations/oauthrevoketokens.js +1 -4
  49. package/dist/commonjs/models/operations/oauthrevoketokens.js.map +1 -1
  50. package/dist/commonjs/models/operations/terminalsgetpairingcode.d.ts +25 -0
  51. package/dist/commonjs/models/operations/terminalsgetpairingcode.d.ts.map +1 -0
  52. package/dist/commonjs/models/operations/terminalsgetpairingcode.js +57 -0
  53. package/dist/commonjs/models/operations/terminalsgetpairingcode.js.map +1 -0
  54. package/dist/commonjs/models/operations/terminalslistpairingcodes.d.ts +99 -0
  55. package/dist/commonjs/models/operations/terminalslistpairingcodes.d.ts.map +1 -0
  56. package/dist/commonjs/models/operations/terminalslistpairingcodes.js +95 -0
  57. package/dist/commonjs/models/operations/terminalslistpairingcodes.js.map +1 -0
  58. package/dist/commonjs/models/operations/terminalsrequestpairingcode.d.ts +35 -0
  59. package/dist/commonjs/models/operations/terminalsrequestpairingcode.d.ts.map +1 -0
  60. package/dist/commonjs/models/operations/terminalsrequestpairingcode.js +66 -0
  61. package/dist/commonjs/models/operations/terminalsrequestpairingcode.js.map +1 -0
  62. package/dist/commonjs/models/operations/terminalsrevokepairingcode.d.ts +20 -0
  63. package/dist/commonjs/models/operations/terminalsrevokepairingcode.d.ts.map +1 -0
  64. package/dist/commonjs/models/operations/terminalsrevokepairingcode.js +56 -0
  65. package/dist/commonjs/models/operations/terminalsrevokepairingcode.js.map +1 -0
  66. package/dist/commonjs/sdk/terminals.d.ts +54 -0
  67. package/dist/commonjs/sdk/terminals.d.ts.map +1 -1
  68. package/dist/commonjs/sdk/terminals.js +66 -0
  69. package/dist/commonjs/sdk/terminals.js.map +1 -1
  70. package/dist/commonjs/types/async.d.ts.map +1 -1
  71. package/dist/commonjs/types/async.js +8 -7
  72. package/dist/commonjs/types/async.js.map +1 -1
  73. package/dist/esm/funcs/oauthGenerate.d.ts.map +1 -1
  74. package/dist/esm/funcs/oauthGenerate.js +2 -7
  75. package/dist/esm/funcs/oauthGenerate.js.map +1 -1
  76. package/dist/esm/funcs/oauthRevoke.d.ts.map +1 -1
  77. package/dist/esm/funcs/oauthRevoke.js +2 -7
  78. package/dist/esm/funcs/oauthRevoke.js.map +1 -1
  79. package/dist/esm/funcs/terminalsTerminalsGetPairingCode.d.ts +28 -0
  80. package/dist/esm/funcs/terminalsTerminalsGetPairingCode.d.ts.map +1 -0
  81. package/dist/esm/funcs/terminalsTerminalsGetPairingCode.js +117 -0
  82. package/dist/esm/funcs/terminalsTerminalsGetPairingCode.js.map +1 -0
  83. package/dist/esm/funcs/terminalsTerminalsListPairingCodes.d.ts +24 -0
  84. package/dist/esm/funcs/terminalsTerminalsListPairingCodes.d.ts.map +1 -0
  85. package/dist/esm/funcs/terminalsTerminalsListPairingCodes.js +111 -0
  86. package/dist/esm/funcs/terminalsTerminalsListPairingCodes.js.map +1 -0
  87. package/dist/esm/funcs/terminalsTerminalsRequestPairingCode.d.ts +30 -0
  88. package/dist/esm/funcs/terminalsTerminalsRequestPairingCode.d.ts.map +1 -0
  89. package/dist/esm/funcs/terminalsTerminalsRequestPairingCode.js +115 -0
  90. package/dist/esm/funcs/terminalsTerminalsRequestPairingCode.js.map +1 -0
  91. package/dist/esm/funcs/terminalsTerminalsRevokePairingCode.d.ts +27 -0
  92. package/dist/esm/funcs/terminalsTerminalsRevokePairingCode.d.ts.map +1 -0
  93. package/dist/esm/funcs/terminalsTerminalsRevokePairingCode.js +112 -0
  94. package/dist/esm/funcs/terminalsTerminalsRevokePairingCode.js.map +1 -0
  95. package/dist/esm/lib/config.d.ts +3 -3
  96. package/dist/esm/lib/config.js +3 -3
  97. package/dist/esm/models/entityorganization.d.ts +2 -2
  98. package/dist/esm/models/entityorganization.d.ts.map +1 -1
  99. package/dist/esm/models/entityorganization.js +2 -2
  100. package/dist/esm/models/entityorganization.js.map +1 -1
  101. package/dist/esm/models/entitypairingcode.d.ts +122 -0
  102. package/dist/esm/models/entitypairingcode.d.ts.map +1 -0
  103. package/dist/esm/models/entitypairingcode.js +69 -0
  104. package/dist/esm/models/entitypairingcode.js.map +1 -0
  105. package/dist/esm/models/index.d.ts +1 -0
  106. package/dist/esm/models/index.d.ts.map +1 -1
  107. package/dist/esm/models/index.js +1 -0
  108. package/dist/esm/models/index.js.map +1 -1
  109. package/dist/esm/models/operations/index.d.ts +4 -0
  110. package/dist/esm/models/operations/index.d.ts.map +1 -1
  111. package/dist/esm/models/operations/index.js +4 -0
  112. package/dist/esm/models/operations/index.js.map +1 -1
  113. package/dist/esm/models/operations/oauthgeneratetokens.d.ts +0 -1
  114. package/dist/esm/models/operations/oauthgeneratetokens.d.ts.map +1 -1
  115. package/dist/esm/models/operations/oauthgeneratetokens.js +0 -3
  116. package/dist/esm/models/operations/oauthgeneratetokens.js.map +1 -1
  117. package/dist/esm/models/operations/oauthrevoketokens.d.ts +0 -1
  118. package/dist/esm/models/operations/oauthrevoketokens.d.ts.map +1 -1
  119. package/dist/esm/models/operations/oauthrevoketokens.js +0 -3
  120. package/dist/esm/models/operations/oauthrevoketokens.js.map +1 -1
  121. package/dist/esm/models/operations/terminalsgetpairingcode.d.ts +25 -0
  122. package/dist/esm/models/operations/terminalsgetpairingcode.d.ts.map +1 -0
  123. package/dist/esm/models/operations/terminalsgetpairingcode.js +20 -0
  124. package/dist/esm/models/operations/terminalsgetpairingcode.js.map +1 -0
  125. package/dist/esm/models/operations/terminalslistpairingcodes.d.ts +99 -0
  126. package/dist/esm/models/operations/terminalslistpairingcodes.d.ts.map +1 -0
  127. package/dist/esm/models/operations/terminalslistpairingcodes.js +55 -0
  128. package/dist/esm/models/operations/terminalslistpairingcodes.js.map +1 -0
  129. package/dist/esm/models/operations/terminalsrequestpairingcode.d.ts +35 -0
  130. package/dist/esm/models/operations/terminalsrequestpairingcode.d.ts.map +1 -0
  131. package/dist/esm/models/operations/terminalsrequestpairingcode.js +28 -0
  132. package/dist/esm/models/operations/terminalsrequestpairingcode.js.map +1 -0
  133. package/dist/esm/models/operations/terminalsrevokepairingcode.d.ts +20 -0
  134. package/dist/esm/models/operations/terminalsrevokepairingcode.d.ts.map +1 -0
  135. package/dist/esm/models/operations/terminalsrevokepairingcode.js +19 -0
  136. package/dist/esm/models/operations/terminalsrevokepairingcode.js.map +1 -0
  137. package/dist/esm/sdk/terminals.d.ts +54 -0
  138. package/dist/esm/sdk/terminals.d.ts.map +1 -1
  139. package/dist/esm/sdk/terminals.js +66 -0
  140. package/dist/esm/sdk/terminals.js.map +1 -1
  141. package/dist/esm/types/async.d.ts.map +1 -1
  142. package/dist/esm/types/async.js +8 -7
  143. package/dist/esm/types/async.js.map +1 -1
  144. package/jsr.json +1 -1
  145. package/package.json +1 -1
  146. package/src/funcs/oauthGenerate.ts +2 -8
  147. package/src/funcs/oauthRevoke.ts +2 -8
  148. package/src/funcs/terminalsTerminalsGetPairingCode.ts +213 -0
  149. package/src/funcs/terminalsTerminalsListPairingCodes.ts +205 -0
  150. package/src/funcs/terminalsTerminalsRequestPairingCode.ts +209 -0
  151. package/src/funcs/terminalsTerminalsRevokePairingCode.ts +207 -0
  152. package/src/lib/config.ts +3 -3
  153. package/src/models/entityorganization.ts +4 -4
  154. package/src/models/entitypairingcode.ts +223 -0
  155. package/src/models/index.ts +1 -0
  156. package/src/models/operations/index.ts +4 -0
  157. package/src/models/operations/oauthgeneratetokens.ts +0 -4
  158. package/src/models/operations/oauthrevoketokens.ts +0 -4
  159. package/src/models/operations/terminalsgetpairingcode.ts +54 -0
  160. package/src/models/operations/terminalslistpairingcodes.ts +195 -0
  161. package/src/models/operations/terminalsrequestpairingcode.ts +86 -0
  162. package/src/models/operations/terminalsrevokepairingcode.ts +48 -0
  163. package/src/sdk/terminals.ts +98 -0
  164. package/src/types/async.ts +8 -7
@@ -0,0 +1,213 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: 9587d36d7bc1
4
+ */
5
+
6
+ import { ClientCore } from "../core.js";
7
+ import { encodeFormQuery, encodeSimple } from "../lib/encodings.js";
8
+ import { matchStatusCode } from "../lib/http.js";
9
+ import * as M from "../lib/matchers.js";
10
+ import { compactMap } from "../lib/primitives.js";
11
+ import { safeParse } from "../lib/schemas.js";
12
+ import { RequestOptions } from "../lib/sdks.js";
13
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
14
+ import { pathToFunc } from "../lib/url.js";
15
+ import { ClientError } from "../models/errors/clienterror.js";
16
+ import {
17
+ ConnectionError,
18
+ InvalidRequestError,
19
+ RequestAbortedError,
20
+ RequestTimeoutError,
21
+ UnexpectedClientError,
22
+ } from "../models/errors/httpclienterrors.js";
23
+ import * as errors from "../models/errors/index.js";
24
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
25
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
26
+ import * as models from "../models/index.js";
27
+ import * as operations from "../models/operations/index.js";
28
+ import { APICall, APIPromise } from "../types/async.js";
29
+ import { Result } from "../types/fp.js";
30
+
31
+ /**
32
+ * Get terminal pairing code
33
+ *
34
+ * @remarks
35
+ * > ℹ️ **Test mode**
36
+ * >
37
+ * > This endpoint currently does not support test mode yet.
38
+ *
39
+ * Get a pairing code to onboard a point-of-sale terminal.
40
+ *
41
+ * The response includes a human-readable `code` for manual entry on the terminal and, optionally, a QR Code as a
42
+ * base64 encoded SVG data URI when you use the `include` query parameter with value `details.qrCode`.
43
+ *
44
+ * If set, this operation will use either {@link Security.apiKey} or {@link Security.oAuth} from the global security.
45
+ */
46
+ export function terminalsTerminalsGetPairingCode(
47
+ client: ClientCore,
48
+ request: operations.TerminalsGetPairingCodeRequest,
49
+ options?: RequestOptions,
50
+ ): APIPromise<
51
+ Result<
52
+ models.EntityPairingCode,
53
+ | errors.ErrorResponse
54
+ | ClientError
55
+ | ResponseValidationError
56
+ | ConnectionError
57
+ | RequestAbortedError
58
+ | RequestTimeoutError
59
+ | InvalidRequestError
60
+ | UnexpectedClientError
61
+ | SDKValidationError
62
+ >
63
+ > {
64
+ return new APIPromise($do(
65
+ client,
66
+ request,
67
+ options,
68
+ ));
69
+ }
70
+
71
+ async function $do(
72
+ client: ClientCore,
73
+ request: operations.TerminalsGetPairingCodeRequest,
74
+ options?: RequestOptions,
75
+ ): Promise<
76
+ [
77
+ Result<
78
+ models.EntityPairingCode,
79
+ | errors.ErrorResponse
80
+ | ClientError
81
+ | ResponseValidationError
82
+ | ConnectionError
83
+ | RequestAbortedError
84
+ | RequestTimeoutError
85
+ | InvalidRequestError
86
+ | UnexpectedClientError
87
+ | SDKValidationError
88
+ >,
89
+ APICall,
90
+ ]
91
+ > {
92
+ const parsed = safeParse(
93
+ request,
94
+ (value) =>
95
+ operations.TerminalsGetPairingCodeRequest$outboundSchema.parse(value),
96
+ "Input validation failed",
97
+ );
98
+ if (!parsed.ok) {
99
+ return [parsed, { status: "invalid" }];
100
+ }
101
+ const payload = parsed.value;
102
+ const body = null;
103
+
104
+ const pathParams = {
105
+ pairingCodeId: encodeSimple("pairingCodeId", payload.pairingCodeId, {
106
+ explode: false,
107
+ charEncoding: "percent",
108
+ }),
109
+ };
110
+ const path = pathToFunc("/v2/terminals/pairing-codes/{pairingCodeId}")(
111
+ pathParams,
112
+ );
113
+
114
+ const query = encodeFormQuery({
115
+ "include": payload.include,
116
+ });
117
+
118
+ const headers = new Headers(compactMap({
119
+ Accept: "application/hal+json",
120
+ "idempotency-key": encodeSimple(
121
+ "idempotency-key",
122
+ payload["idempotency-key"],
123
+ { explode: false, charEncoding: "none" },
124
+ ),
125
+ }));
126
+
127
+ const securityInput = await extractSecurity(client._options.security);
128
+ const requestSecurity = resolveGlobalSecurity(securityInput, [0, 2]);
129
+
130
+ const context = {
131
+ options: client._options,
132
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
133
+ operationID: "terminals-get-pairing-code",
134
+ oAuth2Scopes: null,
135
+
136
+ resolvedSecurity: requestSecurity,
137
+
138
+ securitySource: client._options.security,
139
+ retryConfig: options?.retries
140
+ || client._options.retryConfig
141
+ || {
142
+ strategy: "backoff",
143
+ backoff: {
144
+ initialInterval: 500,
145
+ maxInterval: 5000,
146
+ exponent: 2,
147
+ maxElapsedTime: 7500,
148
+ },
149
+ retryConnectionErrors: true,
150
+ }
151
+ || { strategy: "none" },
152
+ retryCodes: options?.retryCodes || ["429", "5xx"],
153
+ };
154
+
155
+ const requestRes = client._createRequest(context, {
156
+ security: requestSecurity,
157
+ method: "GET",
158
+ baseURL: options?.serverURL,
159
+ path: path,
160
+ headers: headers,
161
+ query: query,
162
+ body: body,
163
+ userAgent: client._options.userAgent,
164
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
165
+ }, options);
166
+ if (!requestRes.ok) {
167
+ return [requestRes, { status: "invalid" }];
168
+ }
169
+ const req = requestRes.value;
170
+
171
+ const doResult = await client._do(req, {
172
+ context,
173
+ isErrorStatusCode: (statusCode: number) =>
174
+ matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]),
175
+ retryConfig: context.retryConfig,
176
+ retryCodes: context.retryCodes,
177
+ });
178
+ if (!doResult.ok) {
179
+ return [doResult, { status: "request-error", request: req }];
180
+ }
181
+ const response = doResult.value;
182
+
183
+ const responseFields = {
184
+ HttpMeta: { Response: response, Request: req },
185
+ };
186
+
187
+ const [result] = await M.match<
188
+ models.EntityPairingCode,
189
+ | errors.ErrorResponse
190
+ | ClientError
191
+ | ResponseValidationError
192
+ | ConnectionError
193
+ | RequestAbortedError
194
+ | RequestTimeoutError
195
+ | InvalidRequestError
196
+ | UnexpectedClientError
197
+ | SDKValidationError
198
+ >(
199
+ M.json(200, models.EntityPairingCode$inboundSchema, {
200
+ ctype: "application/hal+json",
201
+ }),
202
+ M.jsonErr([404, 429], errors.ErrorResponse$inboundSchema, {
203
+ ctype: "application/hal+json",
204
+ }),
205
+ M.fail("4XX"),
206
+ M.fail("5XX"),
207
+ )(response, req, { extraFields: responseFields });
208
+ if (!result.ok) {
209
+ return [result, { status: "complete", request: req, response }];
210
+ }
211
+
212
+ return [result, { status: "complete", request: req, response }];
213
+ }
@@ -0,0 +1,205 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: 96af41551549
4
+ */
5
+
6
+ import { ClientCore } from "../core.js";
7
+ import { encodeFormQuery, encodeSimple } from "../lib/encodings.js";
8
+ import { matchStatusCode } from "../lib/http.js";
9
+ import * as M from "../lib/matchers.js";
10
+ import { compactMap } from "../lib/primitives.js";
11
+ import { safeParse } from "../lib/schemas.js";
12
+ import { RequestOptions } from "../lib/sdks.js";
13
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
14
+ import { pathToFunc } from "../lib/url.js";
15
+ import { ClientError } from "../models/errors/clienterror.js";
16
+ import {
17
+ ConnectionError,
18
+ InvalidRequestError,
19
+ RequestAbortedError,
20
+ RequestTimeoutError,
21
+ UnexpectedClientError,
22
+ } from "../models/errors/httpclienterrors.js";
23
+ import * as errors from "../models/errors/index.js";
24
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
25
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
26
+ import * as operations from "../models/operations/index.js";
27
+ import { APICall, APIPromise } from "../types/async.js";
28
+ import { Result } from "../types/fp.js";
29
+
30
+ /**
31
+ * List terminal pairing codes
32
+ *
33
+ * @remarks
34
+ * > ℹ️ **Test mode**
35
+ * >
36
+ * > This endpoint currently does not support test mode yet.
37
+ *
38
+ * Returns all pairing codes: `active`, `expired`, and `revoked`. Results are paginated.
39
+ *
40
+ * If set, this operation will use either {@link Security.apiKey} or {@link Security.oAuth} from the global security.
41
+ */
42
+ export function terminalsTerminalsListPairingCodes(
43
+ client: ClientCore,
44
+ request?: operations.TerminalsListPairingCodesRequest | undefined,
45
+ options?: RequestOptions,
46
+ ): APIPromise<
47
+ Result<
48
+ operations.TerminalsListPairingCodesResponse,
49
+ | errors.ErrorResponse
50
+ | ClientError
51
+ | ResponseValidationError
52
+ | ConnectionError
53
+ | RequestAbortedError
54
+ | RequestTimeoutError
55
+ | InvalidRequestError
56
+ | UnexpectedClientError
57
+ | SDKValidationError
58
+ >
59
+ > {
60
+ return new APIPromise($do(
61
+ client,
62
+ request,
63
+ options,
64
+ ));
65
+ }
66
+
67
+ async function $do(
68
+ client: ClientCore,
69
+ request?: operations.TerminalsListPairingCodesRequest | undefined,
70
+ options?: RequestOptions,
71
+ ): Promise<
72
+ [
73
+ Result<
74
+ operations.TerminalsListPairingCodesResponse,
75
+ | errors.ErrorResponse
76
+ | ClientError
77
+ | ResponseValidationError
78
+ | ConnectionError
79
+ | RequestAbortedError
80
+ | RequestTimeoutError
81
+ | InvalidRequestError
82
+ | UnexpectedClientError
83
+ | SDKValidationError
84
+ >,
85
+ APICall,
86
+ ]
87
+ > {
88
+ const parsed = safeParse(
89
+ request,
90
+ (value) =>
91
+ operations.TerminalsListPairingCodesRequest$outboundSchema.optional()
92
+ .parse(value),
93
+ "Input validation failed",
94
+ );
95
+ if (!parsed.ok) {
96
+ return [parsed, { status: "invalid" }];
97
+ }
98
+ const payload = parsed.value;
99
+ const body = null;
100
+
101
+ const path = pathToFunc("/v2/terminals/pairing-codes")();
102
+
103
+ const query = encodeFormQuery({
104
+ "from": payload?.from,
105
+ "limit": payload?.limit,
106
+ "profileId": payload?.profileId ?? client._options.profileId,
107
+ "sort": payload?.sort,
108
+ });
109
+
110
+ const headers = new Headers(compactMap({
111
+ Accept: "application/hal+json",
112
+ "idempotency-key": encodeSimple(
113
+ "idempotency-key",
114
+ payload?.["idempotency-key"],
115
+ { explode: false, charEncoding: "none" },
116
+ ),
117
+ }));
118
+
119
+ const securityInput = await extractSecurity(client._options.security);
120
+ const requestSecurity = resolveGlobalSecurity(securityInput, [0, 2]);
121
+
122
+ const context = {
123
+ options: client._options,
124
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
125
+ operationID: "terminals-list-pairing-codes",
126
+ oAuth2Scopes: null,
127
+
128
+ resolvedSecurity: requestSecurity,
129
+
130
+ securitySource: client._options.security,
131
+ retryConfig: options?.retries
132
+ || client._options.retryConfig
133
+ || {
134
+ strategy: "backoff",
135
+ backoff: {
136
+ initialInterval: 500,
137
+ maxInterval: 5000,
138
+ exponent: 2,
139
+ maxElapsedTime: 7500,
140
+ },
141
+ retryConnectionErrors: true,
142
+ }
143
+ || { strategy: "none" },
144
+ retryCodes: options?.retryCodes || ["429", "5xx"],
145
+ };
146
+
147
+ const requestRes = client._createRequest(context, {
148
+ security: requestSecurity,
149
+ method: "GET",
150
+ baseURL: options?.serverURL,
151
+ path: path,
152
+ headers: headers,
153
+ query: query,
154
+ body: body,
155
+ userAgent: client._options.userAgent,
156
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
157
+ }, options);
158
+ if (!requestRes.ok) {
159
+ return [requestRes, { status: "invalid" }];
160
+ }
161
+ const req = requestRes.value;
162
+
163
+ const doResult = await client._do(req, {
164
+ context,
165
+ isErrorStatusCode: (statusCode: number) =>
166
+ matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]),
167
+ retryConfig: context.retryConfig,
168
+ retryCodes: context.retryCodes,
169
+ });
170
+ if (!doResult.ok) {
171
+ return [doResult, { status: "request-error", request: req }];
172
+ }
173
+ const response = doResult.value;
174
+
175
+ const responseFields = {
176
+ HttpMeta: { Response: response, Request: req },
177
+ };
178
+
179
+ const [result] = await M.match<
180
+ operations.TerminalsListPairingCodesResponse,
181
+ | errors.ErrorResponse
182
+ | ClientError
183
+ | ResponseValidationError
184
+ | ConnectionError
185
+ | RequestAbortedError
186
+ | RequestTimeoutError
187
+ | InvalidRequestError
188
+ | UnexpectedClientError
189
+ | SDKValidationError
190
+ >(
191
+ M.json(200, operations.TerminalsListPairingCodesResponse$inboundSchema, {
192
+ ctype: "application/hal+json",
193
+ }),
194
+ M.jsonErr([400, 429], errors.ErrorResponse$inboundSchema, {
195
+ ctype: "application/hal+json",
196
+ }),
197
+ M.fail("4XX"),
198
+ M.fail("5XX"),
199
+ )(response, req, { extraFields: responseFields });
200
+ if (!result.ok) {
201
+ return [result, { status: "complete", request: req, response }];
202
+ }
203
+
204
+ return [result, { status: "complete", request: req, response }];
205
+ }
@@ -0,0 +1,209 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: 351a2c36e865
4
+ */
5
+
6
+ import { ClientCore } from "../core.js";
7
+ import { encodeFormQuery, encodeJSON, encodeSimple } from "../lib/encodings.js";
8
+ import { matchStatusCode } from "../lib/http.js";
9
+ import * as M from "../lib/matchers.js";
10
+ import { compactMap } from "../lib/primitives.js";
11
+ import { safeParse } from "../lib/schemas.js";
12
+ import { RequestOptions } from "../lib/sdks.js";
13
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
14
+ import { pathToFunc } from "../lib/url.js";
15
+ import { ClientError } from "../models/errors/clienterror.js";
16
+ import {
17
+ ConnectionError,
18
+ InvalidRequestError,
19
+ RequestAbortedError,
20
+ RequestTimeoutError,
21
+ UnexpectedClientError,
22
+ } from "../models/errors/httpclienterrors.js";
23
+ import * as errors from "../models/errors/index.js";
24
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
25
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
26
+ import * as models from "../models/index.js";
27
+ import * as operations from "../models/operations/index.js";
28
+ import { APICall, APIPromise } from "../types/async.js";
29
+ import { Result } from "../types/fp.js";
30
+
31
+ /**
32
+ * Request terminal pairing code
33
+ *
34
+ * @remarks
35
+ * > ℹ️ **Test mode**
36
+ * >
37
+ * > This endpoint currently does not support test mode yet.
38
+ *
39
+ * Request a pairing code to onboard a point-of-sale terminal.
40
+ *
41
+ * The response includes a human-readable `code` for manual entry on the terminal, and a QR Code as a
42
+ * base64 encoded SVG data URI for scanning if you specify the query parameter `include` with value `details.qrCode`.
43
+ *
44
+ * Pairing codes expire after 90 days (see `expiresAt`) and can be used multiple times.
45
+ *
46
+ * If set, this operation will use either {@link Security.apiKey} or {@link Security.oAuth} from the global security.
47
+ */
48
+ export function terminalsTerminalsRequestPairingCode(
49
+ client: ClientCore,
50
+ request?: operations.TerminalsRequestPairingCodeRequest | undefined,
51
+ options?: RequestOptions,
52
+ ): APIPromise<
53
+ Result<
54
+ models.EntityPairingCode,
55
+ | errors.ErrorResponse
56
+ | ClientError
57
+ | ResponseValidationError
58
+ | ConnectionError
59
+ | RequestAbortedError
60
+ | RequestTimeoutError
61
+ | InvalidRequestError
62
+ | UnexpectedClientError
63
+ | SDKValidationError
64
+ >
65
+ > {
66
+ return new APIPromise($do(
67
+ client,
68
+ request,
69
+ options,
70
+ ));
71
+ }
72
+
73
+ async function $do(
74
+ client: ClientCore,
75
+ request?: operations.TerminalsRequestPairingCodeRequest | undefined,
76
+ options?: RequestOptions,
77
+ ): Promise<
78
+ [
79
+ Result<
80
+ models.EntityPairingCode,
81
+ | errors.ErrorResponse
82
+ | ClientError
83
+ | ResponseValidationError
84
+ | ConnectionError
85
+ | RequestAbortedError
86
+ | RequestTimeoutError
87
+ | InvalidRequestError
88
+ | UnexpectedClientError
89
+ | SDKValidationError
90
+ >,
91
+ APICall,
92
+ ]
93
+ > {
94
+ const parsed = safeParse(
95
+ request,
96
+ (value) =>
97
+ operations.TerminalsRequestPairingCodeRequest$outboundSchema.optional()
98
+ .parse(value),
99
+ "Input validation failed",
100
+ );
101
+ if (!parsed.ok) {
102
+ return [parsed, { status: "invalid" }];
103
+ }
104
+ const payload = parsed.value;
105
+ const body = encodeJSON("body", payload?.RequestBody, { explode: true });
106
+
107
+ const path = pathToFunc("/v2/terminals/pairing-codes")();
108
+
109
+ const query = encodeFormQuery({
110
+ "include": payload?.include,
111
+ });
112
+
113
+ const headers = new Headers(compactMap({
114
+ "Content-Type": "application/json",
115
+ Accept: "application/hal+json",
116
+ "idempotency-key": encodeSimple(
117
+ "idempotency-key",
118
+ payload?.["idempotency-key"],
119
+ { explode: false, charEncoding: "none" },
120
+ ),
121
+ }));
122
+
123
+ const securityInput = await extractSecurity(client._options.security);
124
+ const requestSecurity = resolveGlobalSecurity(securityInput, [0, 2]);
125
+
126
+ const context = {
127
+ options: client._options,
128
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
129
+ operationID: "terminals-request-pairing-code",
130
+ oAuth2Scopes: null,
131
+
132
+ resolvedSecurity: requestSecurity,
133
+
134
+ securitySource: client._options.security,
135
+ retryConfig: options?.retries
136
+ || client._options.retryConfig
137
+ || {
138
+ strategy: "backoff",
139
+ backoff: {
140
+ initialInterval: 500,
141
+ maxInterval: 5000,
142
+ exponent: 2,
143
+ maxElapsedTime: 7500,
144
+ },
145
+ retryConnectionErrors: true,
146
+ }
147
+ || { strategy: "none" },
148
+ retryCodes: options?.retryCodes || ["429", "5xx"],
149
+ };
150
+
151
+ const requestRes = client._createRequest(context, {
152
+ security: requestSecurity,
153
+ method: "POST",
154
+ baseURL: options?.serverURL,
155
+ path: path,
156
+ headers: headers,
157
+ query: query,
158
+ body: body,
159
+ userAgent: client._options.userAgent,
160
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
161
+ }, options);
162
+ if (!requestRes.ok) {
163
+ return [requestRes, { status: "invalid" }];
164
+ }
165
+ const req = requestRes.value;
166
+
167
+ const doResult = await client._do(req, {
168
+ context,
169
+ isErrorStatusCode: (statusCode: number) =>
170
+ matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]),
171
+ retryConfig: context.retryConfig,
172
+ retryCodes: context.retryCodes,
173
+ });
174
+ if (!doResult.ok) {
175
+ return [doResult, { status: "request-error", request: req }];
176
+ }
177
+ const response = doResult.value;
178
+
179
+ const responseFields = {
180
+ HttpMeta: { Response: response, Request: req },
181
+ };
182
+
183
+ const [result] = await M.match<
184
+ models.EntityPairingCode,
185
+ | errors.ErrorResponse
186
+ | ClientError
187
+ | ResponseValidationError
188
+ | ConnectionError
189
+ | RequestAbortedError
190
+ | RequestTimeoutError
191
+ | InvalidRequestError
192
+ | UnexpectedClientError
193
+ | SDKValidationError
194
+ >(
195
+ M.json(201, models.EntityPairingCode$inboundSchema, {
196
+ ctype: "application/hal+json",
197
+ }),
198
+ M.jsonErr([422, 429], errors.ErrorResponse$inboundSchema, {
199
+ ctype: "application/hal+json",
200
+ }),
201
+ M.fail("4XX"),
202
+ M.fail("5XX"),
203
+ )(response, req, { extraFields: responseFields });
204
+ if (!result.ok) {
205
+ return [result, { status: "complete", request: req, response }];
206
+ }
207
+
208
+ return [result, { status: "complete", request: req, response }];
209
+ }