@vrplatform/api 1.3.1-stage.2287 → 1.3.1-stage.2295
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.
- package/build/main/{services/api/client.js → client.js} +27 -44
- package/build/main/client.js.map +1 -0
- package/build/main/error.d.ts +22 -0
- package/build/main/{services/api/error.js → error.js} +8 -12
- package/build/main/error.js.map +1 -0
- package/build/main/generated/openapi-fetch.d.ts +224 -0
- package/build/main/generated/openapi-fetch.js +14 -0
- package/build/main/generated/openapi-fetch.js.map +1 -0
- package/build/{module/services/api → main}/generated/v1.d.ts +185 -1168
- package/build/main/{services/api/generated → generated}/v1.js.map +1 -1
- package/build/main/index.d.ts +6 -14
- package/build/main/index.js +3 -19
- package/build/main/index.js.map +1 -1
- package/build/main/tsconfig.main.tsbuildinfo +1 -1
- package/build/main/types.d.ts +61 -0
- package/build/main/types.js.map +1 -0
- package/build/module/client.js +66 -0
- package/build/module/client.js.map +1 -0
- package/build/module/error.d.ts +22 -0
- package/build/module/{services/api/error.js → error.js} +8 -12
- package/build/module/error.js.map +1 -0
- package/build/module/generated/openapi-fetch.d.ts +224 -0
- package/build/module/generated/openapi-fetch.js +2 -0
- package/build/module/generated/openapi-fetch.js.map +1 -0
- package/build/{main/services/api → module}/generated/v1.d.ts +185 -1168
- package/build/module/{services/api/generated → generated}/v1.js.map +1 -1
- package/build/module/index.d.ts +6 -14
- package/build/module/index.js +3 -6
- package/build/module/index.js.map +1 -1
- package/build/module/tsconfig.esm.tsbuildinfo +1 -1
- package/build/module/types.d.ts +61 -0
- package/build/module/types.js.map +1 -0
- package/package.json +7 -39
- package/src/client.ts +99 -0
- package/src/error.ts +71 -0
- package/src/generated/openapi-fetch.ts +433 -0
- package/src/{services/api/generated → generated}/v1.ts +185 -1168
- package/src/index.ts +7 -49
- package/src/types.ts +98 -0
- package/build/main/analytics/client.d.ts +0 -16
- package/build/main/analytics/client.js +0 -81
- package/build/main/analytics/client.js.map +0 -1
- package/build/main/analytics/index.d.ts +0 -2
- package/build/main/analytics/index.js +0 -19
- package/build/main/analytics/index.js.map +0 -1
- package/build/main/analytics/types.d.ts +0 -77
- package/build/main/analytics/types.js.map +0 -1
- package/build/main/service-client.d.ts +0 -15
- package/build/main/service-client.js +0 -90
- package/build/main/service-client.js.map +0 -1
- package/build/main/services/analytics/client.d.ts +0 -16
- package/build/main/services/analytics/client.js +0 -33
- package/build/main/services/analytics/client.js.map +0 -1
- package/build/main/services/analytics/generated/v1.d.ts +0 -359
- package/build/main/services/analytics/generated/v1.js.map +0 -1
- package/build/main/services/api/client.js.map +0 -1
- package/build/main/services/api/error.d.ts +0 -22
- package/build/main/services/api/error.js.map +0 -1
- package/build/main/services/api/generated/v1.js +0 -7
- package/build/main/services/api/index.d.ts +0 -6
- package/build/main/services/api/index.js +0 -20
- package/build/main/services/api/index.js.map +0 -1
- package/build/main/services/api/types.d.ts +0 -128
- package/build/main/services/api/types.js +0 -3
- package/build/main/services/api/types.js.map +0 -1
- package/build/main/services/cache/client.d.ts +0 -16
- package/build/main/services/cache/client.js +0 -33
- package/build/main/services/cache/client.js.map +0 -1
- package/build/main/services/cache/generated/v1.d.ts +0 -1009
- package/build/main/services/cache/generated/v1.js +0 -7
- package/build/main/services/cache/generated/v1.js.map +0 -1
- package/build/main/services/cache/index.d.ts +0 -2
- package/build/main/services/cache/index.js +0 -18
- package/build/main/services/cache/index.js.map +0 -1
- package/build/main/services/control-plane/client.d.ts +0 -17
- package/build/main/services/control-plane/client.js +0 -33
- package/build/main/services/control-plane/client.js.map +0 -1
- package/build/main/services/control-plane/generated/v1.d.ts +0 -2123
- package/build/main/services/control-plane/generated/v1.js +0 -7
- package/build/main/services/control-plane/generated/v1.js.map +0 -1
- package/build/main/services/control-plane/index.d.ts +0 -2
- package/build/main/services/control-plane/index.js +0 -18
- package/build/main/services/control-plane/index.js.map +0 -1
- package/build/main/services/ingest/client.d.ts +0 -16
- package/build/main/services/ingest/client.js +0 -33
- package/build/main/services/ingest/client.js.map +0 -1
- package/build/main/services/ingest/generated/v1.d.ts +0 -1920
- package/build/main/services/ingest/generated/v1.js +0 -7
- package/build/main/services/ingest/generated/v1.js.map +0 -1
- package/build/main/services/ingest/index.d.ts +0 -2
- package/build/main/services/ingest/index.js +0 -18
- package/build/main/services/ingest/index.js.map +0 -1
- package/build/module/analytics/client.d.ts +0 -16
- package/build/module/analytics/client.js +0 -39
- package/build/module/analytics/client.js.map +0 -1
- package/build/module/analytics/index.d.ts +0 -2
- package/build/module/analytics/index.js +0 -3
- package/build/module/analytics/index.js.map +0 -1
- package/build/module/analytics/types.d.ts +0 -77
- package/build/module/analytics/types.js.map +0 -1
- package/build/module/service-client.d.ts +0 -15
- package/build/module/service-client.js +0 -51
- package/build/module/service-client.js.map +0 -1
- package/build/module/services/analytics/client.d.ts +0 -16
- package/build/module/services/analytics/client.js +0 -24
- package/build/module/services/analytics/client.js.map +0 -1
- package/build/module/services/analytics/generated/v1.d.ts +0 -359
- package/build/module/services/analytics/generated/v1.js.map +0 -1
- package/build/module/services/api/client.js +0 -83
- package/build/module/services/api/client.js.map +0 -1
- package/build/module/services/api/error.d.ts +0 -22
- package/build/module/services/api/error.js.map +0 -1
- package/build/module/services/api/generated/v1.js +0 -6
- package/build/module/services/api/index.d.ts +0 -6
- package/build/module/services/api/index.js +0 -4
- package/build/module/services/api/index.js.map +0 -1
- package/build/module/services/api/types.d.ts +0 -128
- package/build/module/services/api/types.js +0 -2
- package/build/module/services/api/types.js.map +0 -1
- package/build/module/services/cache/client.d.ts +0 -16
- package/build/module/services/cache/client.js +0 -24
- package/build/module/services/cache/client.js.map +0 -1
- package/build/module/services/cache/generated/v1.d.ts +0 -1009
- package/build/module/services/cache/generated/v1.js +0 -6
- package/build/module/services/cache/generated/v1.js.map +0 -1
- package/build/module/services/cache/index.d.ts +0 -2
- package/build/module/services/cache/index.js +0 -2
- package/build/module/services/cache/index.js.map +0 -1
- package/build/module/services/control-plane/client.d.ts +0 -17
- package/build/module/services/control-plane/client.js +0 -24
- package/build/module/services/control-plane/client.js.map +0 -1
- package/build/module/services/control-plane/generated/v1.d.ts +0 -2123
- package/build/module/services/control-plane/generated/v1.js +0 -6
- package/build/module/services/control-plane/generated/v1.js.map +0 -1
- package/build/module/services/control-plane/index.d.ts +0 -2
- package/build/module/services/control-plane/index.js +0 -2
- package/build/module/services/control-plane/index.js.map +0 -1
- package/build/module/services/ingest/client.d.ts +0 -16
- package/build/module/services/ingest/client.js +0 -24
- package/build/module/services/ingest/client.js.map +0 -1
- package/build/module/services/ingest/generated/v1.d.ts +0 -1920
- package/build/module/services/ingest/generated/v1.js +0 -6
- package/build/module/services/ingest/generated/v1.js.map +0 -1
- package/build/module/services/ingest/index.d.ts +0 -2
- package/build/module/services/ingest/index.js +0 -2
- package/build/module/services/ingest/index.js.map +0 -1
- package/src/analytics/client.ts +0 -81
- package/src/analytics/index.ts +0 -2
- package/src/analytics/types.ts +0 -83
- package/src/service-client.ts +0 -80
- package/src/services/analytics/client.ts +0 -44
- package/src/services/analytics/generated/v1.ts +0 -360
- package/src/services/api/client.ts +0 -146
- package/src/services/api/error.ts +0 -82
- package/src/services/api/index.ts +0 -8
- package/src/services/api/types.ts +0 -212
- package/src/services/cache/client.ts +0 -44
- package/src/services/cache/generated/v1.ts +0 -1010
- package/src/services/cache/index.ts +0 -2
- package/src/services/control-plane/client.ts +0 -46
- package/src/services/control-plane/generated/v1.ts +0 -2124
- package/src/services/control-plane/index.ts +0 -2
- package/src/services/ingest/client.ts +0 -44
- package/src/services/ingest/generated/v1.ts +0 -1921
- package/src/services/ingest/index.ts +0 -2
- /package/build/main/{services/api/client.d.ts → client.d.ts} +0 -0
- /package/build/main/{services/analytics/generated → generated}/v1.js +0 -0
- /package/build/main/{analytics/types.js → types.js} +0 -0
- /package/build/module/{services/api/client.d.ts → client.d.ts} +0 -0
- /package/build/module/{services/analytics/generated → generated}/v1.js +0 -0
- /package/build/module/{analytics/types.js → types.js} +0 -0
|
@@ -1,359 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This file was auto-generated by openapi-typescript.
|
|
3
|
-
* Do not make direct changes to the file.
|
|
4
|
-
*/
|
|
5
|
-
export interface paths {
|
|
6
|
-
"/health": {
|
|
7
|
-
parameters: {
|
|
8
|
-
query?: never;
|
|
9
|
-
header?: never;
|
|
10
|
-
path?: never;
|
|
11
|
-
cookie?: never;
|
|
12
|
-
};
|
|
13
|
-
/** @description Health endpoint for analytics worker. */
|
|
14
|
-
get: operations["getHealth"];
|
|
15
|
-
put?: never;
|
|
16
|
-
post?: never;
|
|
17
|
-
delete?: never;
|
|
18
|
-
options?: never;
|
|
19
|
-
head?: never;
|
|
20
|
-
patch?: never;
|
|
21
|
-
trace?: never;
|
|
22
|
-
};
|
|
23
|
-
"/v1/events/track": {
|
|
24
|
-
parameters: {
|
|
25
|
-
query?: never;
|
|
26
|
-
header?: never;
|
|
27
|
-
path?: never;
|
|
28
|
-
cookie?: never;
|
|
29
|
-
};
|
|
30
|
-
get?: never;
|
|
31
|
-
put?: never;
|
|
32
|
-
/** @description Track a single analytics event. */
|
|
33
|
-
post: operations["postV1EventsTrack"];
|
|
34
|
-
delete?: never;
|
|
35
|
-
options?: never;
|
|
36
|
-
head?: never;
|
|
37
|
-
patch?: never;
|
|
38
|
-
trace?: never;
|
|
39
|
-
};
|
|
40
|
-
"/v1/events/track-batch": {
|
|
41
|
-
parameters: {
|
|
42
|
-
query?: never;
|
|
43
|
-
header?: never;
|
|
44
|
-
path?: never;
|
|
45
|
-
cookie?: never;
|
|
46
|
-
};
|
|
47
|
-
get?: never;
|
|
48
|
-
put?: never;
|
|
49
|
-
/** @description Track a batch of analytics events. */
|
|
50
|
-
post: operations["postV1EventsTrackBatch"];
|
|
51
|
-
delete?: never;
|
|
52
|
-
options?: never;
|
|
53
|
-
head?: never;
|
|
54
|
-
patch?: never;
|
|
55
|
-
trace?: never;
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
export type webhooks = Record<string, never>;
|
|
59
|
-
export interface components {
|
|
60
|
-
schemas: never;
|
|
61
|
-
responses: never;
|
|
62
|
-
parameters: never;
|
|
63
|
-
requestBodies: never;
|
|
64
|
-
headers: never;
|
|
65
|
-
pathItems: never;
|
|
66
|
-
}
|
|
67
|
-
export type $defs = Record<string, never>;
|
|
68
|
-
export interface operations {
|
|
69
|
-
getHealth: {
|
|
70
|
-
parameters: {
|
|
71
|
-
query?: never;
|
|
72
|
-
header?: never;
|
|
73
|
-
path?: never;
|
|
74
|
-
cookie?: never;
|
|
75
|
-
};
|
|
76
|
-
requestBody?: never;
|
|
77
|
-
responses: {
|
|
78
|
-
/** @description Service health */
|
|
79
|
-
200: {
|
|
80
|
-
headers: {
|
|
81
|
-
[name: string]: unknown;
|
|
82
|
-
};
|
|
83
|
-
content: {
|
|
84
|
-
"application/json": {
|
|
85
|
-
ok: boolean;
|
|
86
|
-
/** @constant */
|
|
87
|
-
service: "analytics";
|
|
88
|
-
};
|
|
89
|
-
};
|
|
90
|
-
};
|
|
91
|
-
/** @description Bad request */
|
|
92
|
-
400: {
|
|
93
|
-
headers: {
|
|
94
|
-
[name: string]: unknown;
|
|
95
|
-
};
|
|
96
|
-
content: {
|
|
97
|
-
"application/json": {
|
|
98
|
-
code: string;
|
|
99
|
-
message: string;
|
|
100
|
-
};
|
|
101
|
-
};
|
|
102
|
-
};
|
|
103
|
-
/** @description Unauthorized */
|
|
104
|
-
401: {
|
|
105
|
-
headers: {
|
|
106
|
-
[name: string]: unknown;
|
|
107
|
-
};
|
|
108
|
-
content: {
|
|
109
|
-
"application/json": {
|
|
110
|
-
code: string;
|
|
111
|
-
message: string;
|
|
112
|
-
};
|
|
113
|
-
};
|
|
114
|
-
};
|
|
115
|
-
/** @description Forbidden */
|
|
116
|
-
403: {
|
|
117
|
-
headers: {
|
|
118
|
-
[name: string]: unknown;
|
|
119
|
-
};
|
|
120
|
-
content: {
|
|
121
|
-
"application/json": {
|
|
122
|
-
code: string;
|
|
123
|
-
message: string;
|
|
124
|
-
};
|
|
125
|
-
};
|
|
126
|
-
};
|
|
127
|
-
/** @description Not found */
|
|
128
|
-
404: {
|
|
129
|
-
headers: {
|
|
130
|
-
[name: string]: unknown;
|
|
131
|
-
};
|
|
132
|
-
content: {
|
|
133
|
-
"application/json": {
|
|
134
|
-
code: string;
|
|
135
|
-
message: string;
|
|
136
|
-
};
|
|
137
|
-
};
|
|
138
|
-
};
|
|
139
|
-
/** @description Internal server error */
|
|
140
|
-
500: {
|
|
141
|
-
headers: {
|
|
142
|
-
[name: string]: unknown;
|
|
143
|
-
};
|
|
144
|
-
content: {
|
|
145
|
-
"application/json": {
|
|
146
|
-
code: string;
|
|
147
|
-
message: string;
|
|
148
|
-
};
|
|
149
|
-
};
|
|
150
|
-
};
|
|
151
|
-
};
|
|
152
|
-
};
|
|
153
|
-
postV1EventsTrack: {
|
|
154
|
-
parameters: {
|
|
155
|
-
query?: never;
|
|
156
|
-
header?: never;
|
|
157
|
-
path?: never;
|
|
158
|
-
cookie?: never;
|
|
159
|
-
};
|
|
160
|
-
requestBody: {
|
|
161
|
-
content: {
|
|
162
|
-
"application/json": {
|
|
163
|
-
/** Format: uuid */
|
|
164
|
-
tenantId: string;
|
|
165
|
-
event: string;
|
|
166
|
-
packageName: string;
|
|
167
|
-
/** Format: uuid */
|
|
168
|
-
userId?: string;
|
|
169
|
-
anonymousId?: string;
|
|
170
|
-
groupId?: string;
|
|
171
|
-
/** Format: date-time */
|
|
172
|
-
trackedAt?: string;
|
|
173
|
-
/** @default {} */
|
|
174
|
-
properties?: {
|
|
175
|
-
[key: string]: unknown;
|
|
176
|
-
};
|
|
177
|
-
};
|
|
178
|
-
};
|
|
179
|
-
};
|
|
180
|
-
responses: {
|
|
181
|
-
/** @description Tracked event id */
|
|
182
|
-
200: {
|
|
183
|
-
headers: {
|
|
184
|
-
[name: string]: unknown;
|
|
185
|
-
};
|
|
186
|
-
content: {
|
|
187
|
-
"application/json": {
|
|
188
|
-
/** Format: uuid */
|
|
189
|
-
id: string;
|
|
190
|
-
};
|
|
191
|
-
};
|
|
192
|
-
};
|
|
193
|
-
/** @description Bad request */
|
|
194
|
-
400: {
|
|
195
|
-
headers: {
|
|
196
|
-
[name: string]: unknown;
|
|
197
|
-
};
|
|
198
|
-
content: {
|
|
199
|
-
"application/json": {
|
|
200
|
-
code: string;
|
|
201
|
-
message: string;
|
|
202
|
-
};
|
|
203
|
-
};
|
|
204
|
-
};
|
|
205
|
-
/** @description Unauthorized */
|
|
206
|
-
401: {
|
|
207
|
-
headers: {
|
|
208
|
-
[name: string]: unknown;
|
|
209
|
-
};
|
|
210
|
-
content: {
|
|
211
|
-
"application/json": {
|
|
212
|
-
code: string;
|
|
213
|
-
message: string;
|
|
214
|
-
};
|
|
215
|
-
};
|
|
216
|
-
};
|
|
217
|
-
/** @description Forbidden */
|
|
218
|
-
403: {
|
|
219
|
-
headers: {
|
|
220
|
-
[name: string]: unknown;
|
|
221
|
-
};
|
|
222
|
-
content: {
|
|
223
|
-
"application/json": {
|
|
224
|
-
code: string;
|
|
225
|
-
message: string;
|
|
226
|
-
};
|
|
227
|
-
};
|
|
228
|
-
};
|
|
229
|
-
/** @description Not found */
|
|
230
|
-
404: {
|
|
231
|
-
headers: {
|
|
232
|
-
[name: string]: unknown;
|
|
233
|
-
};
|
|
234
|
-
content: {
|
|
235
|
-
"application/json": {
|
|
236
|
-
code: string;
|
|
237
|
-
message: string;
|
|
238
|
-
};
|
|
239
|
-
};
|
|
240
|
-
};
|
|
241
|
-
/** @description Internal server error */
|
|
242
|
-
500: {
|
|
243
|
-
headers: {
|
|
244
|
-
[name: string]: unknown;
|
|
245
|
-
};
|
|
246
|
-
content: {
|
|
247
|
-
"application/json": {
|
|
248
|
-
code: string;
|
|
249
|
-
message: string;
|
|
250
|
-
};
|
|
251
|
-
};
|
|
252
|
-
};
|
|
253
|
-
};
|
|
254
|
-
};
|
|
255
|
-
postV1EventsTrackBatch: {
|
|
256
|
-
parameters: {
|
|
257
|
-
query?: never;
|
|
258
|
-
header?: never;
|
|
259
|
-
path?: never;
|
|
260
|
-
cookie?: never;
|
|
261
|
-
};
|
|
262
|
-
requestBody: {
|
|
263
|
-
content: {
|
|
264
|
-
"application/json": {
|
|
265
|
-
events: {
|
|
266
|
-
/** Format: uuid */
|
|
267
|
-
tenantId: string;
|
|
268
|
-
event: string;
|
|
269
|
-
packageName: string;
|
|
270
|
-
/** Format: uuid */
|
|
271
|
-
userId?: string;
|
|
272
|
-
anonymousId?: string;
|
|
273
|
-
groupId?: string;
|
|
274
|
-
/** Format: date-time */
|
|
275
|
-
trackedAt?: string;
|
|
276
|
-
/** @default {} */
|
|
277
|
-
properties?: {
|
|
278
|
-
[key: string]: unknown;
|
|
279
|
-
};
|
|
280
|
-
}[];
|
|
281
|
-
};
|
|
282
|
-
};
|
|
283
|
-
};
|
|
284
|
-
responses: {
|
|
285
|
-
/** @description Tracked event ids */
|
|
286
|
-
200: {
|
|
287
|
-
headers: {
|
|
288
|
-
[name: string]: unknown;
|
|
289
|
-
};
|
|
290
|
-
content: {
|
|
291
|
-
"application/json": {
|
|
292
|
-
ids: string[];
|
|
293
|
-
total: number;
|
|
294
|
-
};
|
|
295
|
-
};
|
|
296
|
-
};
|
|
297
|
-
/** @description Bad request */
|
|
298
|
-
400: {
|
|
299
|
-
headers: {
|
|
300
|
-
[name: string]: unknown;
|
|
301
|
-
};
|
|
302
|
-
content: {
|
|
303
|
-
"application/json": {
|
|
304
|
-
code: string;
|
|
305
|
-
message: string;
|
|
306
|
-
};
|
|
307
|
-
};
|
|
308
|
-
};
|
|
309
|
-
/** @description Unauthorized */
|
|
310
|
-
401: {
|
|
311
|
-
headers: {
|
|
312
|
-
[name: string]: unknown;
|
|
313
|
-
};
|
|
314
|
-
content: {
|
|
315
|
-
"application/json": {
|
|
316
|
-
code: string;
|
|
317
|
-
message: string;
|
|
318
|
-
};
|
|
319
|
-
};
|
|
320
|
-
};
|
|
321
|
-
/** @description Forbidden */
|
|
322
|
-
403: {
|
|
323
|
-
headers: {
|
|
324
|
-
[name: string]: unknown;
|
|
325
|
-
};
|
|
326
|
-
content: {
|
|
327
|
-
"application/json": {
|
|
328
|
-
code: string;
|
|
329
|
-
message: string;
|
|
330
|
-
};
|
|
331
|
-
};
|
|
332
|
-
};
|
|
333
|
-
/** @description Not found */
|
|
334
|
-
404: {
|
|
335
|
-
headers: {
|
|
336
|
-
[name: string]: unknown;
|
|
337
|
-
};
|
|
338
|
-
content: {
|
|
339
|
-
"application/json": {
|
|
340
|
-
code: string;
|
|
341
|
-
message: string;
|
|
342
|
-
};
|
|
343
|
-
};
|
|
344
|
-
};
|
|
345
|
-
/** @description Internal server error */
|
|
346
|
-
500: {
|
|
347
|
-
headers: {
|
|
348
|
-
[name: string]: unknown;
|
|
349
|
-
};
|
|
350
|
-
content: {
|
|
351
|
-
"application/json": {
|
|
352
|
-
code: string;
|
|
353
|
-
message: string;
|
|
354
|
-
};
|
|
355
|
-
};
|
|
356
|
-
};
|
|
357
|
-
};
|
|
358
|
-
};
|
|
359
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"v1.js","sourceRoot":"src/","sources":["services/analytics/generated/v1.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/**\n * This file was auto-generated by openapi-typescript.\n * Do not make direct changes to the file.\n */\n\nexport interface paths {\n \"/health\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** @description Health endpoint for analytics worker. */\n get: operations[\"getHealth\"];\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/v1/events/track\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** @description Track a single analytics event. */\n post: operations[\"postV1EventsTrack\"];\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/v1/events/track-batch\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** @description Track a batch of analytics events. */\n post: operations[\"postV1EventsTrackBatch\"];\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n}\nexport type webhooks = Record<string, never>;\nexport interface components {\n schemas: never;\n responses: never;\n parameters: never;\n requestBodies: never;\n headers: never;\n pathItems: never;\n}\nexport type $defs = Record<string, never>;\nexport interface operations {\n getHealth: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Service health */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n ok: boolean;\n /** @constant */\n service: \"analytics\";\n };\n };\n };\n /** @description Bad request */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Unauthorized */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n };\n };\n postV1EventsTrack: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody: {\n content: {\n \"application/json\": {\n /** Format: uuid */\n tenantId: string;\n event: string;\n packageName: string;\n /** Format: uuid */\n userId?: string;\n anonymousId?: string;\n groupId?: string;\n /** Format: date-time */\n trackedAt?: string;\n /** @default {} */\n properties?: {\n [key: string]: unknown;\n };\n };\n };\n };\n responses: {\n /** @description Tracked event id */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** Format: uuid */\n id: string;\n };\n };\n };\n /** @description Bad request */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Unauthorized */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n };\n };\n postV1EventsTrackBatch: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody: {\n content: {\n \"application/json\": {\n events: {\n /** Format: uuid */\n tenantId: string;\n event: string;\n packageName: string;\n /** Format: uuid */\n userId?: string;\n anonymousId?: string;\n groupId?: string;\n /** Format: date-time */\n trackedAt?: string;\n /** @default {} */\n properties?: {\n [key: string]: unknown;\n };\n }[];\n };\n };\n };\n responses: {\n /** @description Tracked event ids */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n ids: string[];\n total: number;\n };\n };\n };\n /** @description Bad request */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Unauthorized */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n };\n };\n}\n"]}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import * as Sentry from '@sentry/core';
|
|
2
|
-
import { useRetryableFetch, } from '@vrplatform/utils';
|
|
3
|
-
import createClient from 'openapi-fetch';
|
|
4
|
-
import { useCache } from '../../cache';
|
|
5
|
-
import { generateApiKeySec } from '../../sec';
|
|
6
|
-
import { applySentryTraceHeaders } from '../../service-client';
|
|
7
|
-
export function useApiClient({ baseUrl: base, local, auth, sessionId: sid, testing, headers: h, ...retryableFetchParams }) {
|
|
8
|
-
const baseUrl = (local
|
|
9
|
-
? `http://localhost:${typeof local === 'number' ? local : 8877}`
|
|
10
|
-
: base) || 'https://api.edge.vrplatform.app';
|
|
11
|
-
const sessionId = sid || crypto.randomUUID();
|
|
12
|
-
const cache = useCache(async (value) => generateApiKeySec(value, testing?.getOverwriteTimestamp?.()), 60_000);
|
|
13
|
-
const retryableFetch = useRetryableFetch({
|
|
14
|
-
...retryableFetchParams,
|
|
15
|
-
onRetry(arg) {
|
|
16
|
-
cache.invalidate();
|
|
17
|
-
if (retryableFetchParams.onRetry) {
|
|
18
|
-
retryableFetchParams.onRetry(arg);
|
|
19
|
-
}
|
|
20
|
-
},
|
|
21
|
-
});
|
|
22
|
-
const trace = Sentry.getTraceData();
|
|
23
|
-
const client = createClient({
|
|
24
|
-
baseUrl,
|
|
25
|
-
querySerializer: {
|
|
26
|
-
array: {
|
|
27
|
-
explode: false,
|
|
28
|
-
style: 'form',
|
|
29
|
-
},
|
|
30
|
-
},
|
|
31
|
-
fetch(req) {
|
|
32
|
-
return retryableFetch(async () => {
|
|
33
|
-
let clone = new Request(req);
|
|
34
|
-
if (testing?.overwriteUri) {
|
|
35
|
-
clone = new Request(testing.overwriteUri, clone);
|
|
36
|
-
}
|
|
37
|
-
const resolvedAuth = (typeof auth === 'function' ? auth() : auth) ?? {};
|
|
38
|
-
if (sessionId) {
|
|
39
|
-
clone.headers.set('X-Session-Id', sessionId);
|
|
40
|
-
}
|
|
41
|
-
if (resolvedAuth.sec) {
|
|
42
|
-
clone.headers.set('X-Api-Key', `Sec ${await cache.current(resolvedAuth.sec)}`);
|
|
43
|
-
}
|
|
44
|
-
if (resolvedAuth.apiKey) {
|
|
45
|
-
clone.headers.set('X-Api-Key', resolvedAuth.apiKey);
|
|
46
|
-
}
|
|
47
|
-
if (resolvedAuth.tenantId) {
|
|
48
|
-
clone.headers.set('X-Team-Id', resolvedAuth.tenantId);
|
|
49
|
-
}
|
|
50
|
-
if (resolvedAuth.accessToken) {
|
|
51
|
-
clone.headers.set('Authorization', resolvedAuth.accessToken.startsWith('Bearer ')
|
|
52
|
-
? resolvedAuth.accessToken
|
|
53
|
-
: `Bearer ${resolvedAuth.accessToken}`);
|
|
54
|
-
}
|
|
55
|
-
const additionalHeaders = h ? (typeof h === 'function' ? h() : h) : {};
|
|
56
|
-
for (const key in additionalHeaders) {
|
|
57
|
-
clone.headers.set(key, additionalHeaders[key]);
|
|
58
|
-
}
|
|
59
|
-
applySentryTraceHeaders(clone.headers, trace);
|
|
60
|
-
return clone;
|
|
61
|
-
});
|
|
62
|
-
},
|
|
63
|
-
});
|
|
64
|
-
const sessionClient = client;
|
|
65
|
-
function withDefaultEmptyJsonBody(method) {
|
|
66
|
-
return ((url, ...init) => {
|
|
67
|
-
const currentInit = init[0];
|
|
68
|
-
return method(url, (currentInit && 'body' in currentInit
|
|
69
|
-
? currentInit
|
|
70
|
-
: {
|
|
71
|
-
...currentInit,
|
|
72
|
-
body: {},
|
|
73
|
-
}));
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
sessionClient.DELETE = withDefaultEmptyJsonBody(client.DELETE.bind(client));
|
|
77
|
-
sessionClient.PATCH = withDefaultEmptyJsonBody(client.PATCH.bind(client));
|
|
78
|
-
sessionClient.POST = withDefaultEmptyJsonBody(client.POST.bind(client));
|
|
79
|
-
sessionClient.PUT = withDefaultEmptyJsonBody(client.PUT.bind(client));
|
|
80
|
-
sessionClient.sessionId = sessionId;
|
|
81
|
-
return sessionClient;
|
|
82
|
-
}
|
|
83
|
-
//# sourceMappingURL=client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"src/","sources":["services/api/client.ts"],"names":[],"mappings":"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","sourcesContent":["import * as Sentry from '@sentry/core';\nimport {\n type RetryableFetchParams,\n useRetryableFetch,\n} from '@vrplatform/utils';\nimport createClient from 'openapi-fetch';\nimport { useCache } from '../../cache';\nimport { generateApiKeySec } from '../../sec';\nimport { applySentryTraceHeaders } from '../../service-client';\nimport type { paths } from './generated/v1';\nimport type { ApiClient, ApiClientAuth } from './types';\n\nexport function useApiClient({\n baseUrl: base,\n local,\n auth,\n sessionId: sid,\n testing,\n headers: h,\n ...retryableFetchParams\n}: {\n attempts?: number;\n auth?: ApiClientAuth | (() => ApiClientAuth);\n baseUrl?: string;\n sessionId?: string;\n local?: boolean | number;\n headers?: Record<string, string> | (() => Record<string, string>);\n testing?: {\n overwriteUri?: string;\n getOverwriteTimestamp?: () => number | undefined;\n };\n} & RetryableFetchParams) {\n const baseUrl =\n (local\n ? `http://localhost:${typeof local === 'number' ? local : 8877}`\n : base) || 'https://api.edge.vrplatform.app';\n\n const sessionId = sid || crypto.randomUUID();\n const cache = useCache(\n async (value: string) =>\n generateApiKeySec(value, testing?.getOverwriteTimestamp?.()),\n 60_000\n );\n\n const retryableFetch = useRetryableFetch({\n ...retryableFetchParams,\n onRetry(arg) {\n cache.invalidate();\n if (retryableFetchParams.onRetry) {\n retryableFetchParams.onRetry(arg);\n }\n },\n });\n\n const trace = Sentry.getTraceData();\n const client = createClient<paths>({\n baseUrl,\n querySerializer: {\n array: {\n explode: false,\n style: 'form',\n },\n },\n fetch(req) {\n return retryableFetch(async () => {\n let clone = new Request(req);\n if (testing?.overwriteUri) {\n clone = new Request(testing.overwriteUri, clone);\n }\n\n const resolvedAuth = (typeof auth === 'function' ? auth() : auth) ?? {};\n\n if (sessionId) {\n clone.headers.set('X-Session-Id', sessionId);\n }\n\n if (resolvedAuth.sec) {\n clone.headers.set(\n 'X-Api-Key',\n `Sec ${await cache.current(resolvedAuth.sec)}`\n );\n }\n\n if (resolvedAuth.apiKey) {\n clone.headers.set('X-Api-Key', resolvedAuth.apiKey);\n }\n\n if (resolvedAuth.tenantId) {\n clone.headers.set('X-Team-Id', resolvedAuth.tenantId);\n }\n\n if (resolvedAuth.accessToken) {\n clone.headers.set(\n 'Authorization',\n resolvedAuth.accessToken.startsWith('Bearer ')\n ? resolvedAuth.accessToken\n : `Bearer ${resolvedAuth.accessToken}`\n );\n }\n\n const additionalHeaders = h ? (typeof h === 'function' ? h() : h) : {};\n for (const key in additionalHeaders) {\n clone.headers.set(key, additionalHeaders[key]);\n }\n\n applySentryTraceHeaders(clone.headers, trace);\n\n return clone;\n });\n },\n });\n\n const sessionClient = client as ApiClient;\n function withDefaultEmptyJsonBody<T extends (...args: any[]) => Promise<any>>(\n method: T\n ) {\n return ((url: string, ...init: [Record<string, unknown>?]) => {\n const currentInit = init[0];\n\n return method(\n url as never,\n (currentInit && 'body' in currentInit\n ? currentInit\n : {\n ...currentInit,\n body: {},\n }) as never\n );\n }) as T;\n }\n\n sessionClient.DELETE = withDefaultEmptyJsonBody(\n client.DELETE.bind(client)\n ) as ApiClient['DELETE'];\n sessionClient.PATCH = withDefaultEmptyJsonBody(\n client.PATCH.bind(client)\n ) as ApiClient['PATCH'];\n sessionClient.POST = withDefaultEmptyJsonBody(\n client.POST.bind(client)\n ) as ApiClient['POST'];\n sessionClient.PUT = withDefaultEmptyJsonBody(\n client.PUT.bind(client)\n ) as ApiClient['PUT'];\n sessionClient.sessionId = sessionId;\n return sessionClient;\n}\n"]}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import type { ServiceFetchResponse } from '../../service-client';
|
|
2
|
-
type ApiErrorPayload = {
|
|
3
|
-
code: string;
|
|
4
|
-
message: string;
|
|
5
|
-
issues?: {
|
|
6
|
-
message: string;
|
|
7
|
-
}[];
|
|
8
|
-
context?: Record<string, unknown>;
|
|
9
|
-
stack?: string;
|
|
10
|
-
};
|
|
11
|
-
export declare class ApiClientError extends Error {
|
|
12
|
-
error: ApiErrorPayload;
|
|
13
|
-
code: string;
|
|
14
|
-
issues: {
|
|
15
|
-
message: string;
|
|
16
|
-
}[];
|
|
17
|
-
context: Record<string, unknown>;
|
|
18
|
-
constructor(error: ApiErrorPayload);
|
|
19
|
-
}
|
|
20
|
-
export declare function throwIfError<T extends ServiceFetchResponse>(response: T): NonNullable<T['data']>;
|
|
21
|
-
export declare function throwIfError<T extends ServiceFetchResponse>(response: Promise<T>): Promise<NonNullable<T['data']>>;
|
|
22
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"src/","sources":["services/api/error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAa7C,MAAM,OAAO,cAAe,SAAQ,KAAK;IAOpB,KAAK;IANxB,IAAI,CAAS;IACb,MAAM,CAEF;IACJ,OAAO,CAA0B;IAEjC,YAAmB,KAAsB,EAAE;QACzC,MAAM,OAAO,GACX,KAAK,CAAC,OAAO;YACb;gBACE,KAAK,CAAC,IAAI;gBACV,KAAK,CAAC,MAAM;oBACV,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACd,CAAC,KAAK,CAAC,OAAO,EAAG,KAA6B,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;qBAC7D,MAAM,CAAC,QAAQ,CAAC;qBAChB,IAAI,CAAC,MAAM,CAAC,CAChB;qBACA,IAAI,CAAC,IAAI,CAAC;aACd;iBACE,MAAM,CAAC,QAAQ,CAAC;iBAChB,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhB,KAAK,CAAC,OAAO,CAAC,CAAC;qBAhBE,KAAK;QAiBtB,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;QAEnC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC3B,CAAC;IAAA,CACF;CACF;AAQD,MAAM,UAAU,YAAY,CAC1B,QAAwB,EACkC;IAC1D,IAAI,QAAQ,YAAY,OAAO,EAAE,CAAC;QAChC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;YACjC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACrC,MAAM,IAAI,cAAc,CAAC;oBACvB,IAAI,EAAE,qBAAqB;oBAC3B,OAAO,EAAE,4BAA4B;iBACtC,CAAC,CAAC;YACL,CAAC;YAED,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAoC,CAAC;YAC5D,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;YAED,OAAO,QAAQ,CAAC,IAA8B,CAAC;QAAA,CAChD,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAoC,CAAC;IAC5D,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,QAAQ,CAAC,IAA8B,CAAC;AAAA,CAChD","sourcesContent":["import { hasValue } from '@vrplatform/utils';\nimport type { ServiceFetchResponse } from '../../service-client';\n\ntype ApiErrorPayload = {\n code: string;\n message: string;\n issues?: {\n message: string;\n }[];\n context?: Record<string, unknown>;\n stack?: string;\n};\n\nexport class ApiClientError extends Error {\n code: string;\n issues: {\n message: string;\n }[];\n context: Record<string, unknown>;\n\n constructor(public error: ApiErrorPayload) {\n const message =\n error.message ||\n [\n error.code,\n error.issues\n ?.map((issue) =>\n [issue.message, (issue as { path?: string[] }).path?.join('->')]\n .filter(hasValue)\n .join(' on ')\n )\n .join(', '),\n ]\n .filter(hasValue)\n .join(': ');\n\n super(message);\n this.name = 'ApiClientError';\n this.code = error.code;\n this.issues = error.issues || [];\n this.context = error.context || {};\n\n if (error.stack) {\n this.stack = error.stack;\n }\n }\n}\n\nexport function throwIfError<T extends ServiceFetchResponse>(\n response: T\n): NonNullable<T['data']>;\nexport function throwIfError<T extends ServiceFetchResponse>(\n response: Promise<T>\n): Promise<NonNullable<T['data']>>;\nexport function throwIfError<T extends ServiceFetchResponse>(\n response: Promise<T> | T\n): Promise<NonNullable<T['data']>> | NonNullable<T['data']> {\n if (response instanceof Promise) {\n return response.then((resolved) => {\n if (resolved.response.status === 503) {\n throw new ApiClientError({\n code: 'SERVICE_UNAVAILABLE',\n message: 'Worker resources exceeded.',\n });\n }\n\n const error = resolved.error as ApiErrorPayload | undefined;\n if (error) {\n throw new ApiClientError(error);\n }\n\n return resolved.data as NonNullable<T['data']>;\n });\n }\n\n const error = response.error as ApiErrorPayload | undefined;\n if (error) {\n throw new ApiClientError(error);\n }\n\n return response.data as NonNullable<T['data']>;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"src/","sources":["services/api/index.ts"],"names":[],"mappings":"AAEA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AAExB,cAAc,SAAS,CAAC","sourcesContent":["import type { ApiClient } from './types';\n\nexport * from './client';\nexport * from './error';\nexport type * from './generated/v1';\nexport * from './types';\n\nexport type VRPlatformApi = ApiClient;\n"]}
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
import type createClient from 'openapi-fetch';
|
|
2
|
-
import type { ErrorResponse, HttpMethod, IsOperationRequestBodyOptional, MediaType, OperationRequestBodyContent, PathsWithMethod, RequiredKeysOf, ResponseObjectMap, SuccessResponse } from 'openapi-typescript-helpers';
|
|
3
|
-
import type { paths } from './generated/v1';
|
|
4
|
-
export type ApiClientAuth = {
|
|
5
|
-
apiKey?: string;
|
|
6
|
-
sec?: string;
|
|
7
|
-
tenantId?: string;
|
|
8
|
-
accessToken?: string;
|
|
9
|
-
};
|
|
10
|
-
type BaseApiClient = ReturnType<typeof createClient<paths>>;
|
|
11
|
-
type BodyType<T = unknown> = {
|
|
12
|
-
json: T;
|
|
13
|
-
text: Awaited<ReturnType<Response['text']>>;
|
|
14
|
-
blob: Awaited<ReturnType<Response['blob']>>;
|
|
15
|
-
arrayBuffer: Awaited<ReturnType<Response['arrayBuffer']>>;
|
|
16
|
-
stream: Response['body'];
|
|
17
|
-
};
|
|
18
|
-
type ParseAs = keyof BodyType;
|
|
19
|
-
type ParseAsResponse<T, Options> = Options extends {
|
|
20
|
-
parseAs: ParseAs;
|
|
21
|
-
} ? BodyType<T>[Options['parseAs']] : T;
|
|
22
|
-
type DefaultParamsOption = {
|
|
23
|
-
params?: {
|
|
24
|
-
query?: Record<string, unknown>;
|
|
25
|
-
};
|
|
26
|
-
};
|
|
27
|
-
type ParamsOption<T> = T extends {
|
|
28
|
-
parameters: any;
|
|
29
|
-
} ? RequiredKeysOf<T['parameters']> extends never ? {
|
|
30
|
-
params?: T['parameters'];
|
|
31
|
-
} : {
|
|
32
|
-
params: T['parameters'];
|
|
33
|
-
} : DefaultParamsOption;
|
|
34
|
-
type RequestBodyOption<T> = OperationRequestBodyContent<T> extends never ? {
|
|
35
|
-
body?: never;
|
|
36
|
-
} : IsOperationRequestBodyOptional<T> extends true ? {
|
|
37
|
-
body?: OperationRequestBodyContent<T>;
|
|
38
|
-
} : {
|
|
39
|
-
body: OperationRequestBodyContent<T>;
|
|
40
|
-
};
|
|
41
|
-
type EmptyJsonBody = Record<string, never>;
|
|
42
|
-
type RelaxDeleteBody<T> = T extends {
|
|
43
|
-
body: infer Body;
|
|
44
|
-
} ? Body extends EmptyJsonBody ? Omit<T, 'body'> & {
|
|
45
|
-
body?: Body;
|
|
46
|
-
} : T : T;
|
|
47
|
-
type MethodRequestOptions<T> = ParamsOption<T> & RelaxDeleteBody<RequestBodyOption<T>> & {
|
|
48
|
-
baseUrl?: string;
|
|
49
|
-
querySerializer?: unknown;
|
|
50
|
-
bodySerializer?: unknown;
|
|
51
|
-
pathSerializer?: unknown;
|
|
52
|
-
parseAs?: ParseAs;
|
|
53
|
-
fetch?: unknown;
|
|
54
|
-
headers?: unknown;
|
|
55
|
-
middleware?: unknown[];
|
|
56
|
-
};
|
|
57
|
-
type InitParam<Init> = RequiredKeysOf<Init> extends never ? [(Init & {
|
|
58
|
-
[key: string]: unknown;
|
|
59
|
-
})?] : [Init & {
|
|
60
|
-
[key: string]: unknown;
|
|
61
|
-
}];
|
|
62
|
-
type DeleteFetchResponse<T extends Record<string | number, any>, Options, Media extends MediaType = MediaType> = {
|
|
63
|
-
data: ParseAsResponse<SuccessResponse<ResponseObjectMap<T>, Media>, Options>;
|
|
64
|
-
error?: never;
|
|
65
|
-
response: Response;
|
|
66
|
-
} | {
|
|
67
|
-
data?: never;
|
|
68
|
-
error: ErrorResponse<ResponseObjectMap<T>, Media>;
|
|
69
|
-
response: Response;
|
|
70
|
-
};
|
|
71
|
-
type ApiMethod<Method extends HttpMethod> = <Path extends PathsWithMethod<paths, Method>, Operation extends Extract<paths[Path][Method], Record<string | number, any>>, Init extends MethodRequestOptions<Operation>>(url: Path, ...init: InitParam<Init>) => Promise<DeleteFetchResponse<Operation, Init>>;
|
|
72
|
-
export type ApiClient = Omit<BaseApiClient, 'DELETE' | 'PATCH' | 'POST' | 'PUT'> & {
|
|
73
|
-
DELETE: ApiMethod<'delete'>;
|
|
74
|
-
PATCH: ApiMethod<'patch'>;
|
|
75
|
-
POST: ApiMethod<'post'>;
|
|
76
|
-
PUT: ApiMethod<'put'>;
|
|
77
|
-
sessionId: string;
|
|
78
|
-
};
|
|
79
|
-
type ResponseCombinations = {
|
|
80
|
-
[Path in keyof paths]: {
|
|
81
|
-
[Method in keyof paths[Path]]: paths[Path][Method] extends never ? never : paths[Path][Method] extends {
|
|
82
|
-
responses: {
|
|
83
|
-
200: {
|
|
84
|
-
content: {
|
|
85
|
-
'application/json': unknown;
|
|
86
|
-
};
|
|
87
|
-
};
|
|
88
|
-
};
|
|
89
|
-
} ? `${Method & string}:${Path}` : never;
|
|
90
|
-
}[keyof paths[Path]];
|
|
91
|
-
}[keyof paths];
|
|
92
|
-
export type ResponseData<T extends ResponseCombinations> = T extends `${infer Method}:${infer Path}` ? Path extends keyof paths ? Method extends keyof paths[Path] ? paths[Path][Method] extends {
|
|
93
|
-
responses: {
|
|
94
|
-
200: {
|
|
95
|
-
content: {
|
|
96
|
-
'application/json': infer Data;
|
|
97
|
-
};
|
|
98
|
-
};
|
|
99
|
-
};
|
|
100
|
-
} ? Data : never : never : never : never;
|
|
101
|
-
type RequestBodyCombinations = {
|
|
102
|
-
[Path in keyof paths]: {
|
|
103
|
-
[Method in keyof paths[Path]]: paths[Path][Method] extends never ? never : ExtractJsonRequestBody<paths[Path][Method]> extends never ? never : `${Method & string}:${Path}`;
|
|
104
|
-
}[keyof paths[Path]];
|
|
105
|
-
}[keyof paths];
|
|
106
|
-
type ExtractJsonRequestBody<T> = T extends {
|
|
107
|
-
requestBody?: infer RequestBody;
|
|
108
|
-
} ? RequestBody extends {
|
|
109
|
-
content: {
|
|
110
|
-
'application/json': infer Data;
|
|
111
|
-
};
|
|
112
|
-
} ? Data : never : never;
|
|
113
|
-
export type RequestBody<T extends RequestBodyCombinations> = T extends `${infer Method}:${infer Path}` ? Path extends keyof paths ? Method extends keyof paths[Path] ? ExtractJsonRequestBody<paths[Path][Method]> : never : never : never;
|
|
114
|
-
type RequestParamCombinations = {
|
|
115
|
-
[Path in keyof paths]: {
|
|
116
|
-
[Method in keyof paths[Path]]: paths[Path][Method] extends never ? never : paths[Path][Method] extends {
|
|
117
|
-
parameters: {
|
|
118
|
-
query?: Record<string, unknown>;
|
|
119
|
-
};
|
|
120
|
-
} ? `${Method & string}:${Path}` : never;
|
|
121
|
-
}[keyof paths[Path]];
|
|
122
|
-
}[keyof paths];
|
|
123
|
-
export type RequestQuery<T extends RequestParamCombinations> = T extends `${infer Method}:${infer Path}` ? Path extends keyof paths ? Method extends keyof paths[Path] ? paths[Path][Method] extends {
|
|
124
|
-
parameters: {
|
|
125
|
-
query?: infer Data;
|
|
126
|
-
};
|
|
127
|
-
} ? Data : never : never : never : never;
|
|
128
|
-
export {};
|