@djangocfg/api 2.1.332 → 2.1.333
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/dist/auth-server.cjs +1043 -1041
- package/dist/auth-server.cjs.map +1 -1
- package/dist/auth-server.mjs +1043 -1041
- package/dist/auth-server.mjs.map +1 -1
- package/dist/auth.cjs +1053 -1051
- package/dist/auth.cjs.map +1 -1
- package/dist/auth.mjs +1053 -1051
- package/dist/auth.mjs.map +1 -1
- package/dist/clients.cjs +12 -837
- package/dist/clients.cjs.map +1 -1
- package/dist/clients.mjs +12 -837
- package/dist/clients.mjs.map +1 -1
- package/dist/index.cjs +1081 -1079
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +0 -20
- package/dist/index.d.ts +0 -20
- package/dist/index.mjs +1081 -1079
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
- package/src/_api/generated/client.gen.ts +3 -2
- package/src/_api/generated/helpers/auth.ts +64 -47
package/dist/auth-server.cjs
CHANGED
|
@@ -50,805 +50,6 @@ var proxyMiddlewareConfig = {
|
|
|
50
50
|
matcher: ["/media/:path*", "/api/:path*"]
|
|
51
51
|
};
|
|
52
52
|
|
|
53
|
-
// src/_api/generated/core/bodySerializer.gen.ts
|
|
54
|
-
var jsonBodySerializer = {
|
|
55
|
-
bodySerializer: /* @__PURE__ */ __name((body) => JSON.stringify(body, (_key, value) => typeof value === "bigint" ? value.toString() : value), "bodySerializer")
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
// src/_api/generated/core/params.gen.ts
|
|
59
|
-
var extraPrefixesMap = {
|
|
60
|
-
$body_: "body",
|
|
61
|
-
$headers_: "headers",
|
|
62
|
-
$path_: "path",
|
|
63
|
-
$query_: "query"
|
|
64
|
-
};
|
|
65
|
-
var extraPrefixes = Object.entries(extraPrefixesMap);
|
|
66
|
-
|
|
67
|
-
// src/_api/generated/core/serverSentEvents.gen.ts
|
|
68
|
-
function createSseClient({
|
|
69
|
-
onRequest,
|
|
70
|
-
onSseError,
|
|
71
|
-
onSseEvent,
|
|
72
|
-
responseTransformer,
|
|
73
|
-
responseValidator,
|
|
74
|
-
sseDefaultRetryDelay,
|
|
75
|
-
sseMaxRetryAttempts,
|
|
76
|
-
sseMaxRetryDelay,
|
|
77
|
-
sseSleepFn,
|
|
78
|
-
url,
|
|
79
|
-
...options
|
|
80
|
-
}) {
|
|
81
|
-
let lastEventId;
|
|
82
|
-
const sleep = sseSleepFn ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
|
|
83
|
-
const createStream = /* @__PURE__ */ __name(async function* () {
|
|
84
|
-
let retryDelay = sseDefaultRetryDelay ?? 3e3;
|
|
85
|
-
let attempt = 0;
|
|
86
|
-
const signal = options.signal ?? new AbortController().signal;
|
|
87
|
-
while (true) {
|
|
88
|
-
if (signal.aborted) break;
|
|
89
|
-
attempt++;
|
|
90
|
-
const headers = options.headers instanceof Headers ? options.headers : new Headers(options.headers);
|
|
91
|
-
if (lastEventId !== void 0) {
|
|
92
|
-
headers.set("Last-Event-ID", lastEventId);
|
|
93
|
-
}
|
|
94
|
-
try {
|
|
95
|
-
const requestInit = {
|
|
96
|
-
redirect: "follow",
|
|
97
|
-
...options,
|
|
98
|
-
body: options.serializedBody,
|
|
99
|
-
headers,
|
|
100
|
-
signal
|
|
101
|
-
};
|
|
102
|
-
let request = new Request(url, requestInit);
|
|
103
|
-
if (onRequest) {
|
|
104
|
-
request = await onRequest(url, requestInit);
|
|
105
|
-
}
|
|
106
|
-
const _fetch = options.fetch ?? globalThis.fetch;
|
|
107
|
-
const response = await _fetch(request);
|
|
108
|
-
if (!response.ok) throw new Error(`SSE failed: ${response.status} ${response.statusText}`);
|
|
109
|
-
if (!response.body) throw new Error("No body in SSE response");
|
|
110
|
-
const reader = response.body.pipeThrough(new TextDecoderStream()).getReader();
|
|
111
|
-
let buffer = "";
|
|
112
|
-
const abortHandler = /* @__PURE__ */ __name(() => {
|
|
113
|
-
try {
|
|
114
|
-
reader.cancel();
|
|
115
|
-
} catch {
|
|
116
|
-
}
|
|
117
|
-
}, "abortHandler");
|
|
118
|
-
signal.addEventListener("abort", abortHandler);
|
|
119
|
-
try {
|
|
120
|
-
while (true) {
|
|
121
|
-
const { done, value } = await reader.read();
|
|
122
|
-
if (done) break;
|
|
123
|
-
buffer += value;
|
|
124
|
-
buffer = buffer.replace(/\r\n?/g, "\n");
|
|
125
|
-
const chunks = buffer.split("\n\n");
|
|
126
|
-
buffer = chunks.pop() ?? "";
|
|
127
|
-
for (const chunk of chunks) {
|
|
128
|
-
const lines = chunk.split("\n");
|
|
129
|
-
const dataLines = [];
|
|
130
|
-
let eventName;
|
|
131
|
-
for (const line of lines) {
|
|
132
|
-
if (line.startsWith("data:")) {
|
|
133
|
-
dataLines.push(line.replace(/^data:\s*/, ""));
|
|
134
|
-
} else if (line.startsWith("event:")) {
|
|
135
|
-
eventName = line.replace(/^event:\s*/, "");
|
|
136
|
-
} else if (line.startsWith("id:")) {
|
|
137
|
-
lastEventId = line.replace(/^id:\s*/, "");
|
|
138
|
-
} else if (line.startsWith("retry:")) {
|
|
139
|
-
const parsed = Number.parseInt(line.replace(/^retry:\s*/, ""), 10);
|
|
140
|
-
if (!Number.isNaN(parsed)) {
|
|
141
|
-
retryDelay = parsed;
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
let data;
|
|
146
|
-
let parsedJson = false;
|
|
147
|
-
if (dataLines.length) {
|
|
148
|
-
const rawData = dataLines.join("\n");
|
|
149
|
-
try {
|
|
150
|
-
data = JSON.parse(rawData);
|
|
151
|
-
parsedJson = true;
|
|
152
|
-
} catch {
|
|
153
|
-
data = rawData;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
if (parsedJson) {
|
|
157
|
-
if (responseValidator) {
|
|
158
|
-
await responseValidator(data);
|
|
159
|
-
}
|
|
160
|
-
if (responseTransformer) {
|
|
161
|
-
data = await responseTransformer(data);
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
onSseEvent?.({
|
|
165
|
-
data,
|
|
166
|
-
event: eventName,
|
|
167
|
-
id: lastEventId,
|
|
168
|
-
retry: retryDelay
|
|
169
|
-
});
|
|
170
|
-
if (dataLines.length) {
|
|
171
|
-
yield data;
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
} finally {
|
|
176
|
-
signal.removeEventListener("abort", abortHandler);
|
|
177
|
-
reader.releaseLock();
|
|
178
|
-
}
|
|
179
|
-
break;
|
|
180
|
-
} catch (error) {
|
|
181
|
-
onSseError?.(error);
|
|
182
|
-
if (sseMaxRetryAttempts !== void 0 && attempt >= sseMaxRetryAttempts) {
|
|
183
|
-
break;
|
|
184
|
-
}
|
|
185
|
-
const backoff = Math.min(retryDelay * 2 ** (attempt - 1), sseMaxRetryDelay ?? 3e4);
|
|
186
|
-
await sleep(backoff);
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
}, "createStream");
|
|
190
|
-
const stream = createStream();
|
|
191
|
-
return { stream };
|
|
192
|
-
}
|
|
193
|
-
__name(createSseClient, "createSseClient");
|
|
194
|
-
|
|
195
|
-
// src/_api/generated/core/pathSerializer.gen.ts
|
|
196
|
-
var separatorArrayExplode = /* @__PURE__ */ __name((style) => {
|
|
197
|
-
switch (style) {
|
|
198
|
-
case "label":
|
|
199
|
-
return ".";
|
|
200
|
-
case "matrix":
|
|
201
|
-
return ";";
|
|
202
|
-
case "simple":
|
|
203
|
-
return ",";
|
|
204
|
-
default:
|
|
205
|
-
return "&";
|
|
206
|
-
}
|
|
207
|
-
}, "separatorArrayExplode");
|
|
208
|
-
var separatorArrayNoExplode = /* @__PURE__ */ __name((style) => {
|
|
209
|
-
switch (style) {
|
|
210
|
-
case "form":
|
|
211
|
-
return ",";
|
|
212
|
-
case "pipeDelimited":
|
|
213
|
-
return "|";
|
|
214
|
-
case "spaceDelimited":
|
|
215
|
-
return "%20";
|
|
216
|
-
default:
|
|
217
|
-
return ",";
|
|
218
|
-
}
|
|
219
|
-
}, "separatorArrayNoExplode");
|
|
220
|
-
var separatorObjectExplode = /* @__PURE__ */ __name((style) => {
|
|
221
|
-
switch (style) {
|
|
222
|
-
case "label":
|
|
223
|
-
return ".";
|
|
224
|
-
case "matrix":
|
|
225
|
-
return ";";
|
|
226
|
-
case "simple":
|
|
227
|
-
return ",";
|
|
228
|
-
default:
|
|
229
|
-
return "&";
|
|
230
|
-
}
|
|
231
|
-
}, "separatorObjectExplode");
|
|
232
|
-
var serializeArrayParam = /* @__PURE__ */ __name(({
|
|
233
|
-
allowReserved,
|
|
234
|
-
explode,
|
|
235
|
-
name,
|
|
236
|
-
style,
|
|
237
|
-
value
|
|
238
|
-
}) => {
|
|
239
|
-
if (!explode) {
|
|
240
|
-
const joinedValues2 = (allowReserved ? value : value.map((v) => encodeURIComponent(v))).join(separatorArrayNoExplode(style));
|
|
241
|
-
switch (style) {
|
|
242
|
-
case "label":
|
|
243
|
-
return `.${joinedValues2}`;
|
|
244
|
-
case "matrix":
|
|
245
|
-
return `;${name}=${joinedValues2}`;
|
|
246
|
-
case "simple":
|
|
247
|
-
return joinedValues2;
|
|
248
|
-
default:
|
|
249
|
-
return `${name}=${joinedValues2}`;
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
const separator = separatorArrayExplode(style);
|
|
253
|
-
const joinedValues = value.map((v) => {
|
|
254
|
-
if (style === "label" || style === "simple") {
|
|
255
|
-
return allowReserved ? v : encodeURIComponent(v);
|
|
256
|
-
}
|
|
257
|
-
return serializePrimitiveParam({
|
|
258
|
-
allowReserved,
|
|
259
|
-
name,
|
|
260
|
-
value: v
|
|
261
|
-
});
|
|
262
|
-
}).join(separator);
|
|
263
|
-
return style === "label" || style === "matrix" ? separator + joinedValues : joinedValues;
|
|
264
|
-
}, "serializeArrayParam");
|
|
265
|
-
var serializePrimitiveParam = /* @__PURE__ */ __name(({
|
|
266
|
-
allowReserved,
|
|
267
|
-
name,
|
|
268
|
-
value
|
|
269
|
-
}) => {
|
|
270
|
-
if (value === void 0 || value === null) {
|
|
271
|
-
return "";
|
|
272
|
-
}
|
|
273
|
-
if (typeof value === "object") {
|
|
274
|
-
throw new Error(
|
|
275
|
-
"Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these."
|
|
276
|
-
);
|
|
277
|
-
}
|
|
278
|
-
return `${name}=${allowReserved ? value : encodeURIComponent(value)}`;
|
|
279
|
-
}, "serializePrimitiveParam");
|
|
280
|
-
var serializeObjectParam = /* @__PURE__ */ __name(({
|
|
281
|
-
allowReserved,
|
|
282
|
-
explode,
|
|
283
|
-
name,
|
|
284
|
-
style,
|
|
285
|
-
value,
|
|
286
|
-
valueOnly
|
|
287
|
-
}) => {
|
|
288
|
-
if (value instanceof Date) {
|
|
289
|
-
return valueOnly ? value.toISOString() : `${name}=${value.toISOString()}`;
|
|
290
|
-
}
|
|
291
|
-
if (style !== "deepObject" && !explode) {
|
|
292
|
-
let values = [];
|
|
293
|
-
Object.entries(value).forEach(([key, v]) => {
|
|
294
|
-
values = [...values, key, allowReserved ? v : encodeURIComponent(v)];
|
|
295
|
-
});
|
|
296
|
-
const joinedValues2 = values.join(",");
|
|
297
|
-
switch (style) {
|
|
298
|
-
case "form":
|
|
299
|
-
return `${name}=${joinedValues2}`;
|
|
300
|
-
case "label":
|
|
301
|
-
return `.${joinedValues2}`;
|
|
302
|
-
case "matrix":
|
|
303
|
-
return `;${name}=${joinedValues2}`;
|
|
304
|
-
default:
|
|
305
|
-
return joinedValues2;
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
const separator = separatorObjectExplode(style);
|
|
309
|
-
const joinedValues = Object.entries(value).map(
|
|
310
|
-
([key, v]) => serializePrimitiveParam({
|
|
311
|
-
allowReserved,
|
|
312
|
-
name: style === "deepObject" ? `${name}[${key}]` : key,
|
|
313
|
-
value: v
|
|
314
|
-
})
|
|
315
|
-
).join(separator);
|
|
316
|
-
return style === "label" || style === "matrix" ? separator + joinedValues : joinedValues;
|
|
317
|
-
}, "serializeObjectParam");
|
|
318
|
-
|
|
319
|
-
// src/_api/generated/core/utils.gen.ts
|
|
320
|
-
var PATH_PARAM_RE = /\{[^{}]+\}/g;
|
|
321
|
-
var defaultPathSerializer = /* @__PURE__ */ __name(({ path, url: _url }) => {
|
|
322
|
-
let url = _url;
|
|
323
|
-
const matches = _url.match(PATH_PARAM_RE);
|
|
324
|
-
if (matches) {
|
|
325
|
-
for (const match of matches) {
|
|
326
|
-
let explode = false;
|
|
327
|
-
let name = match.substring(1, match.length - 1);
|
|
328
|
-
let style = "simple";
|
|
329
|
-
if (name.endsWith("*")) {
|
|
330
|
-
explode = true;
|
|
331
|
-
name = name.substring(0, name.length - 1);
|
|
332
|
-
}
|
|
333
|
-
if (name.startsWith(".")) {
|
|
334
|
-
name = name.substring(1);
|
|
335
|
-
style = "label";
|
|
336
|
-
} else if (name.startsWith(";")) {
|
|
337
|
-
name = name.substring(1);
|
|
338
|
-
style = "matrix";
|
|
339
|
-
}
|
|
340
|
-
const value = path[name];
|
|
341
|
-
if (value === void 0 || value === null) {
|
|
342
|
-
continue;
|
|
343
|
-
}
|
|
344
|
-
if (Array.isArray(value)) {
|
|
345
|
-
url = url.replace(match, serializeArrayParam({ explode, name, style, value }));
|
|
346
|
-
continue;
|
|
347
|
-
}
|
|
348
|
-
if (typeof value === "object") {
|
|
349
|
-
url = url.replace(
|
|
350
|
-
match,
|
|
351
|
-
serializeObjectParam({
|
|
352
|
-
explode,
|
|
353
|
-
name,
|
|
354
|
-
style,
|
|
355
|
-
value,
|
|
356
|
-
valueOnly: true
|
|
357
|
-
})
|
|
358
|
-
);
|
|
359
|
-
continue;
|
|
360
|
-
}
|
|
361
|
-
if (style === "matrix") {
|
|
362
|
-
url = url.replace(
|
|
363
|
-
match,
|
|
364
|
-
`;${serializePrimitiveParam({
|
|
365
|
-
name,
|
|
366
|
-
value
|
|
367
|
-
})}`
|
|
368
|
-
);
|
|
369
|
-
continue;
|
|
370
|
-
}
|
|
371
|
-
const replaceValue = encodeURIComponent(
|
|
372
|
-
style === "label" ? `.${value}` : value
|
|
373
|
-
);
|
|
374
|
-
url = url.replace(match, replaceValue);
|
|
375
|
-
}
|
|
376
|
-
}
|
|
377
|
-
return url;
|
|
378
|
-
}, "defaultPathSerializer");
|
|
379
|
-
var getUrl = /* @__PURE__ */ __name(({
|
|
380
|
-
baseUrl,
|
|
381
|
-
path,
|
|
382
|
-
query,
|
|
383
|
-
querySerializer,
|
|
384
|
-
url: _url
|
|
385
|
-
}) => {
|
|
386
|
-
const pathUrl = _url.startsWith("/") ? _url : `/${_url}`;
|
|
387
|
-
let url = (baseUrl ?? "") + pathUrl;
|
|
388
|
-
if (path) {
|
|
389
|
-
url = defaultPathSerializer({ path, url });
|
|
390
|
-
}
|
|
391
|
-
let search = query ? querySerializer(query) : "";
|
|
392
|
-
if (search.startsWith("?")) {
|
|
393
|
-
search = search.substring(1);
|
|
394
|
-
}
|
|
395
|
-
if (search) {
|
|
396
|
-
url += `?${search}`;
|
|
397
|
-
}
|
|
398
|
-
return url;
|
|
399
|
-
}, "getUrl");
|
|
400
|
-
function getValidRequestBody(options) {
|
|
401
|
-
const hasBody = options.body !== void 0;
|
|
402
|
-
const isSerializedBody = hasBody && options.bodySerializer;
|
|
403
|
-
if (isSerializedBody) {
|
|
404
|
-
if ("serializedBody" in options) {
|
|
405
|
-
const hasSerializedBody = options.serializedBody !== void 0 && options.serializedBody !== "";
|
|
406
|
-
return hasSerializedBody ? options.serializedBody : null;
|
|
407
|
-
}
|
|
408
|
-
return options.body !== "" ? options.body : null;
|
|
409
|
-
}
|
|
410
|
-
if (hasBody) {
|
|
411
|
-
return options.body;
|
|
412
|
-
}
|
|
413
|
-
return void 0;
|
|
414
|
-
}
|
|
415
|
-
__name(getValidRequestBody, "getValidRequestBody");
|
|
416
|
-
|
|
417
|
-
// src/_api/generated/core/auth.gen.ts
|
|
418
|
-
var getAuthToken = /* @__PURE__ */ __name(async (auth2, callback) => {
|
|
419
|
-
const token = typeof callback === "function" ? await callback(auth2) : callback;
|
|
420
|
-
if (!token) {
|
|
421
|
-
return;
|
|
422
|
-
}
|
|
423
|
-
if (auth2.scheme === "bearer") {
|
|
424
|
-
return `Bearer ${token}`;
|
|
425
|
-
}
|
|
426
|
-
if (auth2.scheme === "basic") {
|
|
427
|
-
return `Basic ${btoa(token)}`;
|
|
428
|
-
}
|
|
429
|
-
return token;
|
|
430
|
-
}, "getAuthToken");
|
|
431
|
-
|
|
432
|
-
// src/_api/generated/client/utils.gen.ts
|
|
433
|
-
var createQuerySerializer = /* @__PURE__ */ __name(({
|
|
434
|
-
parameters = {},
|
|
435
|
-
...args
|
|
436
|
-
} = {}) => {
|
|
437
|
-
const querySerializer = /* @__PURE__ */ __name((queryParams) => {
|
|
438
|
-
const search = [];
|
|
439
|
-
if (queryParams && typeof queryParams === "object") {
|
|
440
|
-
for (const name in queryParams) {
|
|
441
|
-
const value = queryParams[name];
|
|
442
|
-
if (value === void 0 || value === null) {
|
|
443
|
-
continue;
|
|
444
|
-
}
|
|
445
|
-
const options = parameters[name] || args;
|
|
446
|
-
if (Array.isArray(value)) {
|
|
447
|
-
const serializedArray = serializeArrayParam({
|
|
448
|
-
allowReserved: options.allowReserved,
|
|
449
|
-
explode: true,
|
|
450
|
-
name,
|
|
451
|
-
style: "form",
|
|
452
|
-
value,
|
|
453
|
-
...options.array
|
|
454
|
-
});
|
|
455
|
-
if (serializedArray) search.push(serializedArray);
|
|
456
|
-
} else if (typeof value === "object") {
|
|
457
|
-
const serializedObject = serializeObjectParam({
|
|
458
|
-
allowReserved: options.allowReserved,
|
|
459
|
-
explode: true,
|
|
460
|
-
name,
|
|
461
|
-
style: "deepObject",
|
|
462
|
-
value,
|
|
463
|
-
...options.object
|
|
464
|
-
});
|
|
465
|
-
if (serializedObject) search.push(serializedObject);
|
|
466
|
-
} else {
|
|
467
|
-
const serializedPrimitive = serializePrimitiveParam({
|
|
468
|
-
allowReserved: options.allowReserved,
|
|
469
|
-
name,
|
|
470
|
-
value
|
|
471
|
-
});
|
|
472
|
-
if (serializedPrimitive) search.push(serializedPrimitive);
|
|
473
|
-
}
|
|
474
|
-
}
|
|
475
|
-
}
|
|
476
|
-
return search.join("&");
|
|
477
|
-
}, "querySerializer");
|
|
478
|
-
return querySerializer;
|
|
479
|
-
}, "createQuerySerializer");
|
|
480
|
-
var getParseAs = /* @__PURE__ */ __name((contentType) => {
|
|
481
|
-
if (!contentType) {
|
|
482
|
-
return "stream";
|
|
483
|
-
}
|
|
484
|
-
const cleanContent = contentType.split(";")[0]?.trim();
|
|
485
|
-
if (!cleanContent) {
|
|
486
|
-
return;
|
|
487
|
-
}
|
|
488
|
-
if (cleanContent.startsWith("application/json") || cleanContent.endsWith("+json")) {
|
|
489
|
-
return "json";
|
|
490
|
-
}
|
|
491
|
-
if (cleanContent === "multipart/form-data") {
|
|
492
|
-
return "formData";
|
|
493
|
-
}
|
|
494
|
-
if (["application/", "audio/", "image/", "video/"].some((type) => cleanContent.startsWith(type))) {
|
|
495
|
-
return "blob";
|
|
496
|
-
}
|
|
497
|
-
if (cleanContent.startsWith("text/")) {
|
|
498
|
-
return "text";
|
|
499
|
-
}
|
|
500
|
-
return;
|
|
501
|
-
}, "getParseAs");
|
|
502
|
-
var checkForExistence = /* @__PURE__ */ __name((options, name) => {
|
|
503
|
-
if (!name) {
|
|
504
|
-
return false;
|
|
505
|
-
}
|
|
506
|
-
if (options.headers.has(name) || options.query?.[name] || options.headers.get("Cookie")?.includes(`${name}=`)) {
|
|
507
|
-
return true;
|
|
508
|
-
}
|
|
509
|
-
return false;
|
|
510
|
-
}, "checkForExistence");
|
|
511
|
-
var setAuthParams = /* @__PURE__ */ __name(async ({
|
|
512
|
-
security,
|
|
513
|
-
...options
|
|
514
|
-
}) => {
|
|
515
|
-
for (const auth2 of security) {
|
|
516
|
-
if (checkForExistence(options, auth2.name)) {
|
|
517
|
-
continue;
|
|
518
|
-
}
|
|
519
|
-
const token = await getAuthToken(auth2, options.auth);
|
|
520
|
-
if (!token) {
|
|
521
|
-
continue;
|
|
522
|
-
}
|
|
523
|
-
const name = auth2.name ?? "Authorization";
|
|
524
|
-
switch (auth2.in) {
|
|
525
|
-
case "query":
|
|
526
|
-
if (!options.query) {
|
|
527
|
-
options.query = {};
|
|
528
|
-
}
|
|
529
|
-
options.query[name] = token;
|
|
530
|
-
break;
|
|
531
|
-
case "cookie":
|
|
532
|
-
options.headers.append("Cookie", `${name}=${token}`);
|
|
533
|
-
break;
|
|
534
|
-
case "header":
|
|
535
|
-
default:
|
|
536
|
-
options.headers.set(name, token);
|
|
537
|
-
break;
|
|
538
|
-
}
|
|
539
|
-
}
|
|
540
|
-
}, "setAuthParams");
|
|
541
|
-
var buildUrl = /* @__PURE__ */ __name((options) => getUrl({
|
|
542
|
-
baseUrl: options.baseUrl,
|
|
543
|
-
path: options.path,
|
|
544
|
-
query: options.query,
|
|
545
|
-
querySerializer: typeof options.querySerializer === "function" ? options.querySerializer : createQuerySerializer(options.querySerializer),
|
|
546
|
-
url: options.url
|
|
547
|
-
}), "buildUrl");
|
|
548
|
-
var mergeConfigs = /* @__PURE__ */ __name((a, b) => {
|
|
549
|
-
const config = { ...a, ...b };
|
|
550
|
-
if (config.baseUrl?.endsWith("/")) {
|
|
551
|
-
config.baseUrl = config.baseUrl.substring(0, config.baseUrl.length - 1);
|
|
552
|
-
}
|
|
553
|
-
config.headers = mergeHeaders(a.headers, b.headers);
|
|
554
|
-
return config;
|
|
555
|
-
}, "mergeConfigs");
|
|
556
|
-
var headersEntries = /* @__PURE__ */ __name((headers) => {
|
|
557
|
-
const entries = [];
|
|
558
|
-
headers.forEach((value, key) => {
|
|
559
|
-
entries.push([key, value]);
|
|
560
|
-
});
|
|
561
|
-
return entries;
|
|
562
|
-
}, "headersEntries");
|
|
563
|
-
var mergeHeaders = /* @__PURE__ */ __name((...headers) => {
|
|
564
|
-
const mergedHeaders = new Headers();
|
|
565
|
-
for (const header of headers) {
|
|
566
|
-
if (!header) {
|
|
567
|
-
continue;
|
|
568
|
-
}
|
|
569
|
-
const iterator = header instanceof Headers ? headersEntries(header) : Object.entries(header);
|
|
570
|
-
for (const [key, value] of iterator) {
|
|
571
|
-
if (value === null) {
|
|
572
|
-
mergedHeaders.delete(key);
|
|
573
|
-
} else if (Array.isArray(value)) {
|
|
574
|
-
for (const v of value) {
|
|
575
|
-
mergedHeaders.append(key, v);
|
|
576
|
-
}
|
|
577
|
-
} else if (value !== void 0) {
|
|
578
|
-
mergedHeaders.set(
|
|
579
|
-
key,
|
|
580
|
-
typeof value === "object" ? JSON.stringify(value) : value
|
|
581
|
-
);
|
|
582
|
-
}
|
|
583
|
-
}
|
|
584
|
-
}
|
|
585
|
-
return mergedHeaders;
|
|
586
|
-
}, "mergeHeaders");
|
|
587
|
-
var Interceptors = class {
|
|
588
|
-
static {
|
|
589
|
-
__name(this, "Interceptors");
|
|
590
|
-
}
|
|
591
|
-
fns = [];
|
|
592
|
-
clear() {
|
|
593
|
-
this.fns = [];
|
|
594
|
-
}
|
|
595
|
-
eject(id) {
|
|
596
|
-
const index = this.getInterceptorIndex(id);
|
|
597
|
-
if (this.fns[index]) {
|
|
598
|
-
this.fns[index] = null;
|
|
599
|
-
}
|
|
600
|
-
}
|
|
601
|
-
exists(id) {
|
|
602
|
-
const index = this.getInterceptorIndex(id);
|
|
603
|
-
return Boolean(this.fns[index]);
|
|
604
|
-
}
|
|
605
|
-
getInterceptorIndex(id) {
|
|
606
|
-
if (typeof id === "number") {
|
|
607
|
-
return this.fns[id] ? id : -1;
|
|
608
|
-
}
|
|
609
|
-
return this.fns.indexOf(id);
|
|
610
|
-
}
|
|
611
|
-
update(id, fn) {
|
|
612
|
-
const index = this.getInterceptorIndex(id);
|
|
613
|
-
if (this.fns[index]) {
|
|
614
|
-
this.fns[index] = fn;
|
|
615
|
-
return id;
|
|
616
|
-
}
|
|
617
|
-
return false;
|
|
618
|
-
}
|
|
619
|
-
use(fn) {
|
|
620
|
-
this.fns.push(fn);
|
|
621
|
-
return this.fns.length - 1;
|
|
622
|
-
}
|
|
623
|
-
};
|
|
624
|
-
var createInterceptors = /* @__PURE__ */ __name(() => ({
|
|
625
|
-
error: new Interceptors(),
|
|
626
|
-
request: new Interceptors(),
|
|
627
|
-
response: new Interceptors()
|
|
628
|
-
}), "createInterceptors");
|
|
629
|
-
var defaultQuerySerializer = createQuerySerializer({
|
|
630
|
-
allowReserved: false,
|
|
631
|
-
array: {
|
|
632
|
-
explode: true,
|
|
633
|
-
style: "form"
|
|
634
|
-
},
|
|
635
|
-
object: {
|
|
636
|
-
explode: true,
|
|
637
|
-
style: "deepObject"
|
|
638
|
-
}
|
|
639
|
-
});
|
|
640
|
-
var defaultHeaders = {
|
|
641
|
-
"Content-Type": "application/json"
|
|
642
|
-
};
|
|
643
|
-
var createConfig = /* @__PURE__ */ __name((override = {}) => ({
|
|
644
|
-
...jsonBodySerializer,
|
|
645
|
-
headers: defaultHeaders,
|
|
646
|
-
parseAs: "auto",
|
|
647
|
-
querySerializer: defaultQuerySerializer,
|
|
648
|
-
...override
|
|
649
|
-
}), "createConfig");
|
|
650
|
-
|
|
651
|
-
// src/_api/generated/client/client.gen.ts
|
|
652
|
-
var createClient = /* @__PURE__ */ __name((config = {}) => {
|
|
653
|
-
let _config = mergeConfigs(createConfig(), config);
|
|
654
|
-
const getConfig = /* @__PURE__ */ __name(() => ({ ..._config }), "getConfig");
|
|
655
|
-
const setConfig = /* @__PURE__ */ __name((config2) => {
|
|
656
|
-
_config = mergeConfigs(_config, config2);
|
|
657
|
-
return getConfig();
|
|
658
|
-
}, "setConfig");
|
|
659
|
-
const interceptors = createInterceptors();
|
|
660
|
-
const beforeRequest = /* @__PURE__ */ __name(async (options) => {
|
|
661
|
-
const opts = {
|
|
662
|
-
..._config,
|
|
663
|
-
...options,
|
|
664
|
-
fetch: options.fetch ?? _config.fetch ?? globalThis.fetch,
|
|
665
|
-
headers: mergeHeaders(_config.headers, options.headers),
|
|
666
|
-
serializedBody: void 0
|
|
667
|
-
};
|
|
668
|
-
if (opts.security) {
|
|
669
|
-
await setAuthParams({
|
|
670
|
-
...opts,
|
|
671
|
-
security: opts.security
|
|
672
|
-
});
|
|
673
|
-
}
|
|
674
|
-
if (opts.requestValidator) {
|
|
675
|
-
await opts.requestValidator(opts);
|
|
676
|
-
}
|
|
677
|
-
if (opts.body !== void 0 && opts.bodySerializer) {
|
|
678
|
-
opts.serializedBody = opts.bodySerializer(opts.body);
|
|
679
|
-
}
|
|
680
|
-
if (opts.body === void 0 || opts.serializedBody === "") {
|
|
681
|
-
opts.headers.delete("Content-Type");
|
|
682
|
-
}
|
|
683
|
-
const resolvedOpts = opts;
|
|
684
|
-
const url = buildUrl(resolvedOpts);
|
|
685
|
-
return { opts: resolvedOpts, url };
|
|
686
|
-
}, "beforeRequest");
|
|
687
|
-
const request = /* @__PURE__ */ __name(async (options) => {
|
|
688
|
-
const throwOnError = options.throwOnError ?? _config.throwOnError;
|
|
689
|
-
const responseStyle = options.responseStyle ?? _config.responseStyle;
|
|
690
|
-
let request2;
|
|
691
|
-
let response;
|
|
692
|
-
try {
|
|
693
|
-
const { opts, url } = await beforeRequest(options);
|
|
694
|
-
const requestInit = {
|
|
695
|
-
redirect: "follow",
|
|
696
|
-
...opts,
|
|
697
|
-
body: getValidRequestBody(opts)
|
|
698
|
-
};
|
|
699
|
-
request2 = new Request(url, requestInit);
|
|
700
|
-
for (const fn of interceptors.request.fns) {
|
|
701
|
-
if (fn) {
|
|
702
|
-
request2 = await fn(request2, opts);
|
|
703
|
-
}
|
|
704
|
-
}
|
|
705
|
-
const _fetch = opts.fetch;
|
|
706
|
-
response = await _fetch(request2);
|
|
707
|
-
for (const fn of interceptors.response.fns) {
|
|
708
|
-
if (fn) {
|
|
709
|
-
response = await fn(response, request2, opts);
|
|
710
|
-
}
|
|
711
|
-
}
|
|
712
|
-
const result = {
|
|
713
|
-
request: request2,
|
|
714
|
-
response
|
|
715
|
-
};
|
|
716
|
-
if (response.ok) {
|
|
717
|
-
const parseAs = (opts.parseAs === "auto" ? getParseAs(response.headers.get("Content-Type")) : opts.parseAs) ?? "json";
|
|
718
|
-
if (response.status === 204 || response.headers.get("Content-Length") === "0") {
|
|
719
|
-
let emptyData;
|
|
720
|
-
switch (parseAs) {
|
|
721
|
-
case "arrayBuffer":
|
|
722
|
-
case "blob":
|
|
723
|
-
case "text":
|
|
724
|
-
emptyData = await response[parseAs]();
|
|
725
|
-
break;
|
|
726
|
-
case "formData":
|
|
727
|
-
emptyData = new FormData();
|
|
728
|
-
break;
|
|
729
|
-
case "stream":
|
|
730
|
-
emptyData = response.body;
|
|
731
|
-
break;
|
|
732
|
-
case "json":
|
|
733
|
-
default:
|
|
734
|
-
emptyData = {};
|
|
735
|
-
break;
|
|
736
|
-
}
|
|
737
|
-
return opts.responseStyle === "data" ? emptyData : {
|
|
738
|
-
data: emptyData,
|
|
739
|
-
...result
|
|
740
|
-
};
|
|
741
|
-
}
|
|
742
|
-
let data;
|
|
743
|
-
switch (parseAs) {
|
|
744
|
-
case "arrayBuffer":
|
|
745
|
-
case "blob":
|
|
746
|
-
case "formData":
|
|
747
|
-
case "text":
|
|
748
|
-
data = await response[parseAs]();
|
|
749
|
-
break;
|
|
750
|
-
case "json": {
|
|
751
|
-
const text = await response.text();
|
|
752
|
-
data = text ? JSON.parse(text) : {};
|
|
753
|
-
break;
|
|
754
|
-
}
|
|
755
|
-
case "stream":
|
|
756
|
-
return opts.responseStyle === "data" ? response.body : {
|
|
757
|
-
data: response.body,
|
|
758
|
-
...result
|
|
759
|
-
};
|
|
760
|
-
}
|
|
761
|
-
if (parseAs === "json") {
|
|
762
|
-
if (opts.responseValidator) {
|
|
763
|
-
await opts.responseValidator(data);
|
|
764
|
-
}
|
|
765
|
-
if (opts.responseTransformer) {
|
|
766
|
-
data = await opts.responseTransformer(data);
|
|
767
|
-
}
|
|
768
|
-
}
|
|
769
|
-
return opts.responseStyle === "data" ? data : {
|
|
770
|
-
data,
|
|
771
|
-
...result
|
|
772
|
-
};
|
|
773
|
-
}
|
|
774
|
-
const textError = await response.text();
|
|
775
|
-
let jsonError;
|
|
776
|
-
try {
|
|
777
|
-
jsonError = JSON.parse(textError);
|
|
778
|
-
} catch {
|
|
779
|
-
}
|
|
780
|
-
throw jsonError ?? textError;
|
|
781
|
-
} catch (error) {
|
|
782
|
-
let finalError = error;
|
|
783
|
-
for (const fn of interceptors.error.fns) {
|
|
784
|
-
if (fn) {
|
|
785
|
-
finalError = await fn(finalError, response, request2, options);
|
|
786
|
-
}
|
|
787
|
-
}
|
|
788
|
-
finalError = finalError || {};
|
|
789
|
-
if (throwOnError) {
|
|
790
|
-
throw finalError;
|
|
791
|
-
}
|
|
792
|
-
return responseStyle === "data" ? void 0 : {
|
|
793
|
-
error: finalError,
|
|
794
|
-
request: request2,
|
|
795
|
-
response
|
|
796
|
-
};
|
|
797
|
-
}
|
|
798
|
-
}, "request");
|
|
799
|
-
const makeMethodFn = /* @__PURE__ */ __name((method) => (options) => request({ ...options, method }), "makeMethodFn");
|
|
800
|
-
const makeSseFn = /* @__PURE__ */ __name((method) => async (options) => {
|
|
801
|
-
const { opts, url } = await beforeRequest(options);
|
|
802
|
-
return createSseClient({
|
|
803
|
-
...opts,
|
|
804
|
-
body: opts.body,
|
|
805
|
-
method,
|
|
806
|
-
onRequest: /* @__PURE__ */ __name(async (url2, init) => {
|
|
807
|
-
let request2 = new Request(url2, init);
|
|
808
|
-
for (const fn of interceptors.request.fns) {
|
|
809
|
-
if (fn) {
|
|
810
|
-
request2 = await fn(request2, opts);
|
|
811
|
-
}
|
|
812
|
-
}
|
|
813
|
-
return request2;
|
|
814
|
-
}, "onRequest"),
|
|
815
|
-
serializedBody: getValidRequestBody(opts),
|
|
816
|
-
url
|
|
817
|
-
});
|
|
818
|
-
}, "makeSseFn");
|
|
819
|
-
const _buildUrl = /* @__PURE__ */ __name((options) => buildUrl({ ..._config, ...options }), "_buildUrl");
|
|
820
|
-
return {
|
|
821
|
-
buildUrl: _buildUrl,
|
|
822
|
-
connect: makeMethodFn("CONNECT"),
|
|
823
|
-
delete: makeMethodFn("DELETE"),
|
|
824
|
-
get: makeMethodFn("GET"),
|
|
825
|
-
getConfig,
|
|
826
|
-
head: makeMethodFn("HEAD"),
|
|
827
|
-
interceptors,
|
|
828
|
-
options: makeMethodFn("OPTIONS"),
|
|
829
|
-
patch: makeMethodFn("PATCH"),
|
|
830
|
-
post: makeMethodFn("POST"),
|
|
831
|
-
put: makeMethodFn("PUT"),
|
|
832
|
-
request,
|
|
833
|
-
setConfig,
|
|
834
|
-
sse: {
|
|
835
|
-
connect: makeSseFn("CONNECT"),
|
|
836
|
-
delete: makeSseFn("DELETE"),
|
|
837
|
-
get: makeSseFn("GET"),
|
|
838
|
-
head: makeSseFn("HEAD"),
|
|
839
|
-
options: makeSseFn("OPTIONS"),
|
|
840
|
-
patch: makeSseFn("PATCH"),
|
|
841
|
-
post: makeSseFn("POST"),
|
|
842
|
-
put: makeSseFn("PUT"),
|
|
843
|
-
trace: makeSseFn("TRACE")
|
|
844
|
-
},
|
|
845
|
-
trace: makeMethodFn("TRACE")
|
|
846
|
-
};
|
|
847
|
-
}, "createClient");
|
|
848
|
-
|
|
849
|
-
// src/_api/generated/client.gen.ts
|
|
850
|
-
var client = createClient(createConfig({ baseUrl: "http://localhost:8000" }));
|
|
851
|
-
|
|
852
53
|
// src/_api/generated/helpers/auth.ts
|
|
853
54
|
var ACCESS_KEY = "cfg.access_token";
|
|
854
55
|
var REFRESH_KEY = "cfg.refresh_token";
|
|
@@ -941,15 +142,20 @@ var _apiKeyOverride = null;
|
|
|
941
142
|
var _baseUrlOverride = null;
|
|
942
143
|
var _withCredentials = true;
|
|
943
144
|
var _onUnauthorized = null;
|
|
145
|
+
var _client = null;
|
|
146
|
+
function pushClientConfig() {
|
|
147
|
+
if (!_client) return;
|
|
148
|
+
_client.setConfig({
|
|
149
|
+
baseUrl: auth.getBaseUrl(),
|
|
150
|
+
credentials: _withCredentials ? "include" : "same-origin"
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
__name(pushClientConfig, "pushClientConfig");
|
|
944
154
|
var auth = {
|
|
945
155
|
// ── Storage mode ──────────────────────────────────────────────────
|
|
946
156
|
getStorageMode() {
|
|
947
157
|
return _storageMode;
|
|
948
158
|
},
|
|
949
|
-
/**
|
|
950
|
-
* Switch the storage backend. Existing values in the *previous*
|
|
951
|
-
* backend are NOT migrated — set fresh values after switching.
|
|
952
|
-
*/
|
|
953
159
|
setStorageMode(mode) {
|
|
954
160
|
_storageMode = mode;
|
|
955
161
|
_storage = mode === "cookie" ? cookieBackend : localStorageBackend;
|
|
@@ -975,15 +181,12 @@ var auth = {
|
|
|
975
181
|
return _storage.get(ACCESS_KEY) !== null;
|
|
976
182
|
},
|
|
977
183
|
// ── API key ───────────────────────────────────────────────────────
|
|
978
|
-
/** In-memory API key. Falls back to storage, then NEXT_PUBLIC_API_KEY. */
|
|
979
184
|
getApiKey() {
|
|
980
185
|
return _apiKeyOverride ?? _storage.get(API_KEY_KEY) ?? defaultApiKey();
|
|
981
186
|
},
|
|
982
|
-
/** In-memory only (cleared on reload). */
|
|
983
187
|
setApiKey(key) {
|
|
984
188
|
_apiKeyOverride = key;
|
|
985
189
|
},
|
|
986
|
-
/** Persist to active storage backend (localStorage or cookie). */
|
|
987
190
|
setApiKeyPersist(key) {
|
|
988
191
|
_apiKeyOverride = key;
|
|
989
192
|
_storage.set(API_KEY_KEY, key);
|
|
@@ -993,7 +196,6 @@ var auth = {
|
|
|
993
196
|
_storage.set(API_KEY_KEY, null);
|
|
994
197
|
},
|
|
995
198
|
// ── Locale ────────────────────────────────────────────────────────
|
|
996
|
-
/** Override locale → falls back to NEXT_LOCALE cookie / navigator.language. */
|
|
997
199
|
getLocale() {
|
|
998
200
|
return _localeOverride ?? detectLocale();
|
|
999
201
|
},
|
|
@@ -1007,309 +209,1109 @@ var auth = {
|
|
|
1007
209
|
},
|
|
1008
210
|
setBaseUrl(url) {
|
|
1009
211
|
_baseUrlOverride = url ? url.replace(/\/$/, "") : null;
|
|
1010
|
-
|
|
212
|
+
pushClientConfig();
|
|
1011
213
|
},
|
|
1012
|
-
// ── Credentials toggle
|
|
214
|
+
// ── Credentials toggle ────────────────────────────────────────────
|
|
1013
215
|
getWithCredentials() {
|
|
1014
216
|
return _withCredentials;
|
|
1015
217
|
},
|
|
1016
218
|
setWithCredentials(value) {
|
|
1017
219
|
_withCredentials = value;
|
|
1018
|
-
|
|
220
|
+
pushClientConfig();
|
|
1019
221
|
},
|
|
1020
222
|
// ── 401 handler ───────────────────────────────────────────────────
|
|
1021
|
-
/**
|
|
1022
|
-
* Register a callback fired on every 401 response. Use this to wire
|
|
1023
|
-
* a token-refresh flow or a forced logout. Setting `null` removes
|
|
1024
|
-
* the handler.
|
|
1025
|
-
*/
|
|
1026
223
|
onUnauthorized(cb) {
|
|
1027
224
|
_onUnauthorized = cb;
|
|
1028
225
|
}
|
|
1029
|
-
};
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
226
|
+
};
|
|
227
|
+
function installAuthOnClient(client2) {
|
|
228
|
+
if (_client) return;
|
|
229
|
+
_client = client2;
|
|
230
|
+
client2.setConfig({
|
|
231
|
+
baseUrl: auth.getBaseUrl(),
|
|
232
|
+
credentials: _withCredentials ? "include" : "same-origin"
|
|
233
|
+
});
|
|
234
|
+
client2.interceptors.request.use((request) => {
|
|
235
|
+
const token = auth.getToken();
|
|
236
|
+
if (token) request.headers.set("Authorization", `Bearer ${token}`);
|
|
237
|
+
const locale = auth.getLocale();
|
|
238
|
+
if (locale) request.headers.set("Accept-Language", locale);
|
|
239
|
+
const apiKey = auth.getApiKey();
|
|
240
|
+
if (apiKey) request.headers.set("X-API-Key", apiKey);
|
|
241
|
+
return request;
|
|
242
|
+
});
|
|
243
|
+
client2.interceptors.response.use((response) => {
|
|
244
|
+
if (response.status === 401 && _onUnauthorized) {
|
|
245
|
+
try {
|
|
246
|
+
_onUnauthorized(response);
|
|
247
|
+
} catch {
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
return response;
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
__name(installAuthOnClient, "installAuthOnClient");
|
|
254
|
+
|
|
255
|
+
// src/_api/generated/helpers/logger.ts
|
|
256
|
+
var import_consola = require("consola");
|
|
257
|
+
var DEFAULT_CONFIG = {
|
|
258
|
+
enabled: typeof process !== "undefined" && process.env.NODE_ENV !== "production",
|
|
259
|
+
logRequests: true,
|
|
260
|
+
logResponses: true,
|
|
261
|
+
logErrors: true,
|
|
262
|
+
logBodies: true,
|
|
263
|
+
logHeaders: false
|
|
264
|
+
};
|
|
265
|
+
var SENSITIVE_HEADERS = [
|
|
266
|
+
"authorization",
|
|
267
|
+
"cookie",
|
|
268
|
+
"set-cookie",
|
|
269
|
+
"x-api-key",
|
|
270
|
+
"x-csrf-token"
|
|
271
|
+
];
|
|
272
|
+
var APILogger = class {
|
|
273
|
+
static {
|
|
274
|
+
__name(this, "APILogger");
|
|
275
|
+
}
|
|
276
|
+
config;
|
|
277
|
+
consola;
|
|
278
|
+
constructor(config = {}) {
|
|
279
|
+
this.config = { ...DEFAULT_CONFIG, ...config };
|
|
280
|
+
this.consola = config.consola || (0, import_consola.createConsola)({
|
|
281
|
+
level: this.config.enabled ? 4 : 0
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
enable() {
|
|
285
|
+
this.config.enabled = true;
|
|
286
|
+
}
|
|
287
|
+
disable() {
|
|
288
|
+
this.config.enabled = false;
|
|
289
|
+
}
|
|
290
|
+
setConfig(config) {
|
|
291
|
+
this.config = { ...this.config, ...config };
|
|
292
|
+
}
|
|
293
|
+
filterHeaders(headers) {
|
|
294
|
+
if (!headers) return {};
|
|
295
|
+
const filtered = {};
|
|
296
|
+
Object.keys(headers).forEach((key) => {
|
|
297
|
+
filtered[key] = SENSITIVE_HEADERS.includes(key.toLowerCase()) ? "***" : headers[key] || "";
|
|
298
|
+
});
|
|
299
|
+
return filtered;
|
|
300
|
+
}
|
|
301
|
+
logRequest(request) {
|
|
302
|
+
if (!this.config.enabled || !this.config.logRequests) return;
|
|
303
|
+
const { method, url, headers, body } = request;
|
|
304
|
+
this.consola.start(`${method} ${url}`);
|
|
305
|
+
if (this.config.logHeaders && headers) this.consola.debug("Headers:", this.filterHeaders(headers));
|
|
306
|
+
if (this.config.logBodies && body) this.consola.debug("Body:", body);
|
|
307
|
+
}
|
|
308
|
+
logResponse(request, response) {
|
|
309
|
+
if (!this.config.enabled || !this.config.logResponses) return;
|
|
310
|
+
const { method, url } = request;
|
|
311
|
+
const { status, statusText, data, duration } = response;
|
|
312
|
+
this.consola.success(`${method} ${url} ${status} ${statusText} (${duration}ms)`);
|
|
313
|
+
if (this.config.logBodies && data) this.consola.debug("Response:", data);
|
|
314
|
+
}
|
|
315
|
+
logError(request, error) {
|
|
316
|
+
if (!this.config.enabled || !this.config.logErrors) return;
|
|
317
|
+
const { method, url } = request;
|
|
318
|
+
const { message, statusCode, fieldErrors, duration } = error;
|
|
319
|
+
this.consola.error(`${method} ${url} ${statusCode || "Network"} Error (${duration}ms)`);
|
|
320
|
+
this.consola.error("Message:", message);
|
|
321
|
+
if (fieldErrors && Object.keys(fieldErrors).length > 0) {
|
|
322
|
+
this.consola.error("Field Errors:");
|
|
323
|
+
Object.entries(fieldErrors).forEach(([field, errors]) => {
|
|
324
|
+
errors.forEach((err) => this.consola.error(` \u2022 ${field}: ${err}`));
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
info(message, ...args) {
|
|
329
|
+
if (this.config.enabled) this.consola.info(message, ...args);
|
|
330
|
+
}
|
|
331
|
+
warn(message, ...args) {
|
|
332
|
+
if (this.config.enabled) this.consola.warn(message, ...args);
|
|
333
|
+
}
|
|
334
|
+
error(message, ...args) {
|
|
335
|
+
if (this.config.enabled) this.consola.error(message, ...args);
|
|
336
|
+
}
|
|
337
|
+
debug(message, ...args) {
|
|
338
|
+
if (this.config.enabled) this.consola.debug(message, ...args);
|
|
339
|
+
}
|
|
340
|
+
success(message, ...args) {
|
|
341
|
+
if (this.config.enabled) this.consola.success(message, ...args);
|
|
342
|
+
}
|
|
343
|
+
withTag(tag) {
|
|
344
|
+
return this.consola.withTag(tag);
|
|
345
|
+
}
|
|
346
|
+
};
|
|
347
|
+
var defaultLogger = new APILogger();
|
|
348
|
+
|
|
349
|
+
// src/_api/generated/_cfg_accounts/api.ts
|
|
350
|
+
var API = class {
|
|
351
|
+
static {
|
|
352
|
+
__name(this, "API");
|
|
353
|
+
}
|
|
354
|
+
logger;
|
|
355
|
+
constructor(_baseUrl, opts = {}) {
|
|
356
|
+
this.logger = new APILogger(opts.logger);
|
|
357
|
+
if (_baseUrl) auth.setBaseUrl(_baseUrl);
|
|
358
|
+
if (opts.locale !== void 0) auth.setLocale(opts.locale);
|
|
359
|
+
if (opts.apiKey !== void 0) auth.setApiKey(opts.apiKey);
|
|
360
|
+
if (opts.withCredentials !== void 0) auth.setWithCredentials(opts.withCredentials);
|
|
361
|
+
}
|
|
362
|
+
// ── Base URL ────────────────────────────────────────────────────────────
|
|
363
|
+
getBaseUrl() {
|
|
364
|
+
return auth.getBaseUrl();
|
|
365
|
+
}
|
|
366
|
+
setBaseUrl(url) {
|
|
367
|
+
auth.setBaseUrl(url);
|
|
368
|
+
}
|
|
369
|
+
// ── Tokens ──────────────────────────────────────────────────────────────
|
|
370
|
+
getToken() {
|
|
371
|
+
return auth.getToken();
|
|
372
|
+
}
|
|
373
|
+
setToken(token) {
|
|
374
|
+
auth.setToken(token);
|
|
375
|
+
}
|
|
376
|
+
getRefreshToken() {
|
|
377
|
+
return auth.getRefreshToken();
|
|
378
|
+
}
|
|
379
|
+
setRefreshToken(token) {
|
|
380
|
+
auth.setRefreshToken(token);
|
|
381
|
+
}
|
|
382
|
+
clearToken() {
|
|
383
|
+
auth.clearTokens();
|
|
384
|
+
}
|
|
385
|
+
isAuthenticated() {
|
|
386
|
+
return auth.isAuthenticated();
|
|
387
|
+
}
|
|
388
|
+
// ── Locale / API key ────────────────────────────────────────────────────
|
|
389
|
+
getLocale() {
|
|
390
|
+
return auth.getLocale();
|
|
391
|
+
}
|
|
392
|
+
setLocale(locale) {
|
|
393
|
+
auth.setLocale(locale);
|
|
394
|
+
}
|
|
395
|
+
getApiKey() {
|
|
396
|
+
return auth.getApiKey();
|
|
397
|
+
}
|
|
398
|
+
setApiKey(key) {
|
|
399
|
+
auth.setApiKey(key);
|
|
400
|
+
}
|
|
401
|
+
};
|
|
402
|
+
|
|
403
|
+
// src/_api/generated/_cfg_centrifugo/api.ts
|
|
404
|
+
var API2 = class {
|
|
405
|
+
static {
|
|
406
|
+
__name(this, "API");
|
|
407
|
+
}
|
|
408
|
+
logger;
|
|
409
|
+
constructor(_baseUrl, opts = {}) {
|
|
410
|
+
this.logger = new APILogger(opts.logger);
|
|
411
|
+
if (_baseUrl) auth.setBaseUrl(_baseUrl);
|
|
412
|
+
if (opts.locale !== void 0) auth.setLocale(opts.locale);
|
|
413
|
+
if (opts.apiKey !== void 0) auth.setApiKey(opts.apiKey);
|
|
414
|
+
if (opts.withCredentials !== void 0) auth.setWithCredentials(opts.withCredentials);
|
|
415
|
+
}
|
|
416
|
+
// ── Base URL ────────────────────────────────────────────────────────────
|
|
417
|
+
getBaseUrl() {
|
|
418
|
+
return auth.getBaseUrl();
|
|
419
|
+
}
|
|
420
|
+
setBaseUrl(url) {
|
|
421
|
+
auth.setBaseUrl(url);
|
|
422
|
+
}
|
|
423
|
+
// ── Tokens ──────────────────────────────────────────────────────────────
|
|
424
|
+
getToken() {
|
|
425
|
+
return auth.getToken();
|
|
426
|
+
}
|
|
427
|
+
setToken(token) {
|
|
428
|
+
auth.setToken(token);
|
|
429
|
+
}
|
|
430
|
+
getRefreshToken() {
|
|
431
|
+
return auth.getRefreshToken();
|
|
432
|
+
}
|
|
433
|
+
setRefreshToken(token) {
|
|
434
|
+
auth.setRefreshToken(token);
|
|
435
|
+
}
|
|
436
|
+
clearToken() {
|
|
437
|
+
auth.clearTokens();
|
|
438
|
+
}
|
|
439
|
+
isAuthenticated() {
|
|
440
|
+
return auth.isAuthenticated();
|
|
441
|
+
}
|
|
442
|
+
// ── Locale / API key ────────────────────────────────────────────────────
|
|
443
|
+
getLocale() {
|
|
444
|
+
return auth.getLocale();
|
|
445
|
+
}
|
|
446
|
+
setLocale(locale) {
|
|
447
|
+
auth.setLocale(locale);
|
|
448
|
+
}
|
|
449
|
+
getApiKey() {
|
|
450
|
+
return auth.getApiKey();
|
|
451
|
+
}
|
|
452
|
+
setApiKey(key) {
|
|
453
|
+
auth.setApiKey(key);
|
|
1049
454
|
}
|
|
1050
|
-
return response;
|
|
1051
|
-
});
|
|
1052
|
-
|
|
1053
|
-
// src/_api/generated/helpers/logger.ts
|
|
1054
|
-
var import_consola = require("consola");
|
|
1055
|
-
var DEFAULT_CONFIG = {
|
|
1056
|
-
enabled: typeof process !== "undefined" && process.env.NODE_ENV !== "production",
|
|
1057
|
-
logRequests: true,
|
|
1058
|
-
logResponses: true,
|
|
1059
|
-
logErrors: true,
|
|
1060
|
-
logBodies: true,
|
|
1061
|
-
logHeaders: false
|
|
1062
455
|
};
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
"set-cookie",
|
|
1067
|
-
"x-api-key",
|
|
1068
|
-
"x-csrf-token"
|
|
1069
|
-
];
|
|
1070
|
-
var APILogger = class {
|
|
456
|
+
|
|
457
|
+
// src/_api/generated/_cfg_totp/api.ts
|
|
458
|
+
var API3 = class {
|
|
1071
459
|
static {
|
|
1072
|
-
__name(this, "
|
|
1073
|
-
}
|
|
1074
|
-
config;
|
|
1075
|
-
consola;
|
|
1076
|
-
constructor(config = {}) {
|
|
1077
|
-
this.config = { ...DEFAULT_CONFIG, ...config };
|
|
1078
|
-
this.consola = config.consola || (0, import_consola.createConsola)({
|
|
1079
|
-
level: this.config.enabled ? 4 : 0
|
|
1080
|
-
});
|
|
460
|
+
__name(this, "API");
|
|
1081
461
|
}
|
|
1082
|
-
|
|
1083
|
-
|
|
462
|
+
logger;
|
|
463
|
+
constructor(_baseUrl, opts = {}) {
|
|
464
|
+
this.logger = new APILogger(opts.logger);
|
|
465
|
+
if (_baseUrl) auth.setBaseUrl(_baseUrl);
|
|
466
|
+
if (opts.locale !== void 0) auth.setLocale(opts.locale);
|
|
467
|
+
if (opts.apiKey !== void 0) auth.setApiKey(opts.apiKey);
|
|
468
|
+
if (opts.withCredentials !== void 0) auth.setWithCredentials(opts.withCredentials);
|
|
1084
469
|
}
|
|
1085
|
-
|
|
1086
|
-
|
|
470
|
+
// ── Base URL ────────────────────────────────────────────────────────────
|
|
471
|
+
getBaseUrl() {
|
|
472
|
+
return auth.getBaseUrl();
|
|
1087
473
|
}
|
|
1088
|
-
|
|
1089
|
-
|
|
474
|
+
setBaseUrl(url) {
|
|
475
|
+
auth.setBaseUrl(url);
|
|
1090
476
|
}
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
Object.keys(headers).forEach((key) => {
|
|
1095
|
-
filtered[key] = SENSITIVE_HEADERS.includes(key.toLowerCase()) ? "***" : headers[key] || "";
|
|
1096
|
-
});
|
|
1097
|
-
return filtered;
|
|
477
|
+
// ── Tokens ──────────────────────────────────────────────────────────────
|
|
478
|
+
getToken() {
|
|
479
|
+
return auth.getToken();
|
|
1098
480
|
}
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
const { method, url, headers, body } = request;
|
|
1102
|
-
this.consola.start(`${method} ${url}`);
|
|
1103
|
-
if (this.config.logHeaders && headers) this.consola.debug("Headers:", this.filterHeaders(headers));
|
|
1104
|
-
if (this.config.logBodies && body) this.consola.debug("Body:", body);
|
|
481
|
+
setToken(token) {
|
|
482
|
+
auth.setToken(token);
|
|
1105
483
|
}
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
const { method, url } = request;
|
|
1109
|
-
const { status, statusText, data, duration } = response;
|
|
1110
|
-
this.consola.success(`${method} ${url} ${status} ${statusText} (${duration}ms)`);
|
|
1111
|
-
if (this.config.logBodies && data) this.consola.debug("Response:", data);
|
|
484
|
+
getRefreshToken() {
|
|
485
|
+
return auth.getRefreshToken();
|
|
1112
486
|
}
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
const { method, url } = request;
|
|
1116
|
-
const { message, statusCode, fieldErrors, duration } = error;
|
|
1117
|
-
this.consola.error(`${method} ${url} ${statusCode || "Network"} Error (${duration}ms)`);
|
|
1118
|
-
this.consola.error("Message:", message);
|
|
1119
|
-
if (fieldErrors && Object.keys(fieldErrors).length > 0) {
|
|
1120
|
-
this.consola.error("Field Errors:");
|
|
1121
|
-
Object.entries(fieldErrors).forEach(([field, errors]) => {
|
|
1122
|
-
errors.forEach((err) => this.consola.error(` \u2022 ${field}: ${err}`));
|
|
1123
|
-
});
|
|
1124
|
-
}
|
|
487
|
+
setRefreshToken(token) {
|
|
488
|
+
auth.setRefreshToken(token);
|
|
1125
489
|
}
|
|
1126
|
-
|
|
1127
|
-
|
|
490
|
+
clearToken() {
|
|
491
|
+
auth.clearTokens();
|
|
1128
492
|
}
|
|
1129
|
-
|
|
1130
|
-
|
|
493
|
+
isAuthenticated() {
|
|
494
|
+
return auth.isAuthenticated();
|
|
1131
495
|
}
|
|
1132
|
-
|
|
1133
|
-
|
|
496
|
+
// ── Locale / API key ────────────────────────────────────────────────────
|
|
497
|
+
getLocale() {
|
|
498
|
+
return auth.getLocale();
|
|
1134
499
|
}
|
|
1135
|
-
|
|
1136
|
-
|
|
500
|
+
setLocale(locale) {
|
|
501
|
+
auth.setLocale(locale);
|
|
1137
502
|
}
|
|
1138
|
-
|
|
1139
|
-
|
|
503
|
+
getApiKey() {
|
|
504
|
+
return auth.getApiKey();
|
|
1140
505
|
}
|
|
1141
|
-
|
|
1142
|
-
|
|
506
|
+
setApiKey(key) {
|
|
507
|
+
auth.setApiKey(key);
|
|
1143
508
|
}
|
|
1144
509
|
};
|
|
1145
|
-
var defaultLogger = new APILogger();
|
|
1146
510
|
|
|
1147
|
-
// src/_api/generated/
|
|
1148
|
-
var
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
511
|
+
// src/_api/generated/index.ts
|
|
512
|
+
var CfgAccountsApi = new API();
|
|
513
|
+
var CfgCentrifugoApi = new API2();
|
|
514
|
+
var CfgTotpApi = new API3();
|
|
515
|
+
|
|
516
|
+
// src/_api/generated/core/bodySerializer.gen.ts
|
|
517
|
+
var jsonBodySerializer = {
|
|
518
|
+
bodySerializer: /* @__PURE__ */ __name((body) => JSON.stringify(body, (_key, value) => typeof value === "bigint" ? value.toString() : value), "bodySerializer")
|
|
519
|
+
};
|
|
520
|
+
|
|
521
|
+
// src/_api/generated/core/params.gen.ts
|
|
522
|
+
var extraPrefixesMap = {
|
|
523
|
+
$body_: "body",
|
|
524
|
+
$headers_: "headers",
|
|
525
|
+
$path_: "path",
|
|
526
|
+
$query_: "query"
|
|
527
|
+
};
|
|
528
|
+
var extraPrefixes = Object.entries(extraPrefixesMap);
|
|
529
|
+
|
|
530
|
+
// src/_api/generated/core/serverSentEvents.gen.ts
|
|
531
|
+
function createSseClient({
|
|
532
|
+
onRequest,
|
|
533
|
+
onSseError,
|
|
534
|
+
onSseEvent,
|
|
535
|
+
responseTransformer,
|
|
536
|
+
responseValidator,
|
|
537
|
+
sseDefaultRetryDelay,
|
|
538
|
+
sseMaxRetryAttempts,
|
|
539
|
+
sseMaxRetryDelay,
|
|
540
|
+
sseSleepFn,
|
|
541
|
+
url,
|
|
542
|
+
...options
|
|
543
|
+
}) {
|
|
544
|
+
let lastEventId;
|
|
545
|
+
const sleep = sseSleepFn ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
|
|
546
|
+
const createStream = /* @__PURE__ */ __name(async function* () {
|
|
547
|
+
let retryDelay = sseDefaultRetryDelay ?? 3e3;
|
|
548
|
+
let attempt = 0;
|
|
549
|
+
const signal = options.signal ?? new AbortController().signal;
|
|
550
|
+
while (true) {
|
|
551
|
+
if (signal.aborted) break;
|
|
552
|
+
attempt++;
|
|
553
|
+
const headers = options.headers instanceof Headers ? options.headers : new Headers(options.headers);
|
|
554
|
+
if (lastEventId !== void 0) {
|
|
555
|
+
headers.set("Last-Event-ID", lastEventId);
|
|
556
|
+
}
|
|
557
|
+
try {
|
|
558
|
+
const requestInit = {
|
|
559
|
+
redirect: "follow",
|
|
560
|
+
...options,
|
|
561
|
+
body: options.serializedBody,
|
|
562
|
+
headers,
|
|
563
|
+
signal
|
|
564
|
+
};
|
|
565
|
+
let request = new Request(url, requestInit);
|
|
566
|
+
if (onRequest) {
|
|
567
|
+
request = await onRequest(url, requestInit);
|
|
568
|
+
}
|
|
569
|
+
const _fetch = options.fetch ?? globalThis.fetch;
|
|
570
|
+
const response = await _fetch(request);
|
|
571
|
+
if (!response.ok) throw new Error(`SSE failed: ${response.status} ${response.statusText}`);
|
|
572
|
+
if (!response.body) throw new Error("No body in SSE response");
|
|
573
|
+
const reader = response.body.pipeThrough(new TextDecoderStream()).getReader();
|
|
574
|
+
let buffer = "";
|
|
575
|
+
const abortHandler = /* @__PURE__ */ __name(() => {
|
|
576
|
+
try {
|
|
577
|
+
reader.cancel();
|
|
578
|
+
} catch {
|
|
579
|
+
}
|
|
580
|
+
}, "abortHandler");
|
|
581
|
+
signal.addEventListener("abort", abortHandler);
|
|
582
|
+
try {
|
|
583
|
+
while (true) {
|
|
584
|
+
const { done, value } = await reader.read();
|
|
585
|
+
if (done) break;
|
|
586
|
+
buffer += value;
|
|
587
|
+
buffer = buffer.replace(/\r\n?/g, "\n");
|
|
588
|
+
const chunks = buffer.split("\n\n");
|
|
589
|
+
buffer = chunks.pop() ?? "";
|
|
590
|
+
for (const chunk of chunks) {
|
|
591
|
+
const lines = chunk.split("\n");
|
|
592
|
+
const dataLines = [];
|
|
593
|
+
let eventName;
|
|
594
|
+
for (const line of lines) {
|
|
595
|
+
if (line.startsWith("data:")) {
|
|
596
|
+
dataLines.push(line.replace(/^data:\s*/, ""));
|
|
597
|
+
} else if (line.startsWith("event:")) {
|
|
598
|
+
eventName = line.replace(/^event:\s*/, "");
|
|
599
|
+
} else if (line.startsWith("id:")) {
|
|
600
|
+
lastEventId = line.replace(/^id:\s*/, "");
|
|
601
|
+
} else if (line.startsWith("retry:")) {
|
|
602
|
+
const parsed = Number.parseInt(line.replace(/^retry:\s*/, ""), 10);
|
|
603
|
+
if (!Number.isNaN(parsed)) {
|
|
604
|
+
retryDelay = parsed;
|
|
605
|
+
}
|
|
606
|
+
}
|
|
607
|
+
}
|
|
608
|
+
let data;
|
|
609
|
+
let parsedJson = false;
|
|
610
|
+
if (dataLines.length) {
|
|
611
|
+
const rawData = dataLines.join("\n");
|
|
612
|
+
try {
|
|
613
|
+
data = JSON.parse(rawData);
|
|
614
|
+
parsedJson = true;
|
|
615
|
+
} catch {
|
|
616
|
+
data = rawData;
|
|
617
|
+
}
|
|
618
|
+
}
|
|
619
|
+
if (parsedJson) {
|
|
620
|
+
if (responseValidator) {
|
|
621
|
+
await responseValidator(data);
|
|
622
|
+
}
|
|
623
|
+
if (responseTransformer) {
|
|
624
|
+
data = await responseTransformer(data);
|
|
625
|
+
}
|
|
626
|
+
}
|
|
627
|
+
onSseEvent?.({
|
|
628
|
+
data,
|
|
629
|
+
event: eventName,
|
|
630
|
+
id: lastEventId,
|
|
631
|
+
retry: retryDelay
|
|
632
|
+
});
|
|
633
|
+
if (dataLines.length) {
|
|
634
|
+
yield data;
|
|
635
|
+
}
|
|
636
|
+
}
|
|
637
|
+
}
|
|
638
|
+
} finally {
|
|
639
|
+
signal.removeEventListener("abort", abortHandler);
|
|
640
|
+
reader.releaseLock();
|
|
641
|
+
}
|
|
642
|
+
break;
|
|
643
|
+
} catch (error) {
|
|
644
|
+
onSseError?.(error);
|
|
645
|
+
if (sseMaxRetryAttempts !== void 0 && attempt >= sseMaxRetryAttempts) {
|
|
646
|
+
break;
|
|
647
|
+
}
|
|
648
|
+
const backoff = Math.min(retryDelay * 2 ** (attempt - 1), sseMaxRetryDelay ?? 3e4);
|
|
649
|
+
await sleep(backoff);
|
|
650
|
+
}
|
|
651
|
+
}
|
|
652
|
+
}, "createStream");
|
|
653
|
+
const stream = createStream();
|
|
654
|
+
return { stream };
|
|
655
|
+
}
|
|
656
|
+
__name(createSseClient, "createSseClient");
|
|
657
|
+
|
|
658
|
+
// src/_api/generated/core/pathSerializer.gen.ts
|
|
659
|
+
var separatorArrayExplode = /* @__PURE__ */ __name((style) => {
|
|
660
|
+
switch (style) {
|
|
661
|
+
case "label":
|
|
662
|
+
return ".";
|
|
663
|
+
case "matrix":
|
|
664
|
+
return ";";
|
|
665
|
+
case "simple":
|
|
666
|
+
return ",";
|
|
667
|
+
default:
|
|
668
|
+
return "&";
|
|
1176
669
|
}
|
|
1177
|
-
|
|
1178
|
-
|
|
670
|
+
}, "separatorArrayExplode");
|
|
671
|
+
var separatorArrayNoExplode = /* @__PURE__ */ __name((style) => {
|
|
672
|
+
switch (style) {
|
|
673
|
+
case "form":
|
|
674
|
+
return ",";
|
|
675
|
+
case "pipeDelimited":
|
|
676
|
+
return "|";
|
|
677
|
+
case "spaceDelimited":
|
|
678
|
+
return "%20";
|
|
679
|
+
default:
|
|
680
|
+
return ",";
|
|
1179
681
|
}
|
|
1180
|
-
|
|
1181
|
-
|
|
682
|
+
}, "separatorArrayNoExplode");
|
|
683
|
+
var separatorObjectExplode = /* @__PURE__ */ __name((style) => {
|
|
684
|
+
switch (style) {
|
|
685
|
+
case "label":
|
|
686
|
+
return ".";
|
|
687
|
+
case "matrix":
|
|
688
|
+
return ";";
|
|
689
|
+
case "simple":
|
|
690
|
+
return ",";
|
|
691
|
+
default:
|
|
692
|
+
return "&";
|
|
1182
693
|
}
|
|
1183
|
-
|
|
1184
|
-
|
|
694
|
+
}, "separatorObjectExplode");
|
|
695
|
+
var serializeArrayParam = /* @__PURE__ */ __name(({
|
|
696
|
+
allowReserved,
|
|
697
|
+
explode,
|
|
698
|
+
name,
|
|
699
|
+
style,
|
|
700
|
+
value
|
|
701
|
+
}) => {
|
|
702
|
+
if (!explode) {
|
|
703
|
+
const joinedValues2 = (allowReserved ? value : value.map((v) => encodeURIComponent(v))).join(separatorArrayNoExplode(style));
|
|
704
|
+
switch (style) {
|
|
705
|
+
case "label":
|
|
706
|
+
return `.${joinedValues2}`;
|
|
707
|
+
case "matrix":
|
|
708
|
+
return `;${name}=${joinedValues2}`;
|
|
709
|
+
case "simple":
|
|
710
|
+
return joinedValues2;
|
|
711
|
+
default:
|
|
712
|
+
return `${name}=${joinedValues2}`;
|
|
713
|
+
}
|
|
1185
714
|
}
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
715
|
+
const separator = separatorArrayExplode(style);
|
|
716
|
+
const joinedValues = value.map((v) => {
|
|
717
|
+
if (style === "label" || style === "simple") {
|
|
718
|
+
return allowReserved ? v : encodeURIComponent(v);
|
|
719
|
+
}
|
|
720
|
+
return serializePrimitiveParam({
|
|
721
|
+
allowReserved,
|
|
722
|
+
name,
|
|
723
|
+
value: v
|
|
724
|
+
});
|
|
725
|
+
}).join(separator);
|
|
726
|
+
return style === "label" || style === "matrix" ? separator + joinedValues : joinedValues;
|
|
727
|
+
}, "serializeArrayParam");
|
|
728
|
+
var serializePrimitiveParam = /* @__PURE__ */ __name(({
|
|
729
|
+
allowReserved,
|
|
730
|
+
name,
|
|
731
|
+
value
|
|
732
|
+
}) => {
|
|
733
|
+
if (value === void 0 || value === null) {
|
|
734
|
+
return "";
|
|
1189
735
|
}
|
|
1190
|
-
|
|
1191
|
-
|
|
736
|
+
if (typeof value === "object") {
|
|
737
|
+
throw new Error(
|
|
738
|
+
"Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these."
|
|
739
|
+
);
|
|
1192
740
|
}
|
|
1193
|
-
|
|
1194
|
-
|
|
741
|
+
return `${name}=${allowReserved ? value : encodeURIComponent(value)}`;
|
|
742
|
+
}, "serializePrimitiveParam");
|
|
743
|
+
var serializeObjectParam = /* @__PURE__ */ __name(({
|
|
744
|
+
allowReserved,
|
|
745
|
+
explode,
|
|
746
|
+
name,
|
|
747
|
+
style,
|
|
748
|
+
value,
|
|
749
|
+
valueOnly
|
|
750
|
+
}) => {
|
|
751
|
+
if (value instanceof Date) {
|
|
752
|
+
return valueOnly ? value.toISOString() : `${name}=${value.toISOString()}`;
|
|
1195
753
|
}
|
|
1196
|
-
|
|
1197
|
-
|
|
754
|
+
if (style !== "deepObject" && !explode) {
|
|
755
|
+
let values = [];
|
|
756
|
+
Object.entries(value).forEach(([key, v]) => {
|
|
757
|
+
values = [...values, key, allowReserved ? v : encodeURIComponent(v)];
|
|
758
|
+
});
|
|
759
|
+
const joinedValues2 = values.join(",");
|
|
760
|
+
switch (style) {
|
|
761
|
+
case "form":
|
|
762
|
+
return `${name}=${joinedValues2}`;
|
|
763
|
+
case "label":
|
|
764
|
+
return `.${joinedValues2}`;
|
|
765
|
+
case "matrix":
|
|
766
|
+
return `;${name}=${joinedValues2}`;
|
|
767
|
+
default:
|
|
768
|
+
return joinedValues2;
|
|
769
|
+
}
|
|
1198
770
|
}
|
|
1199
|
-
|
|
771
|
+
const separator = separatorObjectExplode(style);
|
|
772
|
+
const joinedValues = Object.entries(value).map(
|
|
773
|
+
([key, v]) => serializePrimitiveParam({
|
|
774
|
+
allowReserved,
|
|
775
|
+
name: style === "deepObject" ? `${name}[${key}]` : key,
|
|
776
|
+
value: v
|
|
777
|
+
})
|
|
778
|
+
).join(separator);
|
|
779
|
+
return style === "label" || style === "matrix" ? separator + joinedValues : joinedValues;
|
|
780
|
+
}, "serializeObjectParam");
|
|
1200
781
|
|
|
1201
|
-
// src/_api/generated/
|
|
1202
|
-
var
|
|
1203
|
-
|
|
1204
|
-
|
|
782
|
+
// src/_api/generated/core/utils.gen.ts
|
|
783
|
+
var PATH_PARAM_RE = /\{[^{}]+\}/g;
|
|
784
|
+
var defaultPathSerializer = /* @__PURE__ */ __name(({ path, url: _url }) => {
|
|
785
|
+
let url = _url;
|
|
786
|
+
const matches = _url.match(PATH_PARAM_RE);
|
|
787
|
+
if (matches) {
|
|
788
|
+
for (const match of matches) {
|
|
789
|
+
let explode = false;
|
|
790
|
+
let name = match.substring(1, match.length - 1);
|
|
791
|
+
let style = "simple";
|
|
792
|
+
if (name.endsWith("*")) {
|
|
793
|
+
explode = true;
|
|
794
|
+
name = name.substring(0, name.length - 1);
|
|
795
|
+
}
|
|
796
|
+
if (name.startsWith(".")) {
|
|
797
|
+
name = name.substring(1);
|
|
798
|
+
style = "label";
|
|
799
|
+
} else if (name.startsWith(";")) {
|
|
800
|
+
name = name.substring(1);
|
|
801
|
+
style = "matrix";
|
|
802
|
+
}
|
|
803
|
+
const value = path[name];
|
|
804
|
+
if (value === void 0 || value === null) {
|
|
805
|
+
continue;
|
|
806
|
+
}
|
|
807
|
+
if (Array.isArray(value)) {
|
|
808
|
+
url = url.replace(match, serializeArrayParam({ explode, name, style, value }));
|
|
809
|
+
continue;
|
|
810
|
+
}
|
|
811
|
+
if (typeof value === "object") {
|
|
812
|
+
url = url.replace(
|
|
813
|
+
match,
|
|
814
|
+
serializeObjectParam({
|
|
815
|
+
explode,
|
|
816
|
+
name,
|
|
817
|
+
style,
|
|
818
|
+
value,
|
|
819
|
+
valueOnly: true
|
|
820
|
+
})
|
|
821
|
+
);
|
|
822
|
+
continue;
|
|
823
|
+
}
|
|
824
|
+
if (style === "matrix") {
|
|
825
|
+
url = url.replace(
|
|
826
|
+
match,
|
|
827
|
+
`;${serializePrimitiveParam({
|
|
828
|
+
name,
|
|
829
|
+
value
|
|
830
|
+
})}`
|
|
831
|
+
);
|
|
832
|
+
continue;
|
|
833
|
+
}
|
|
834
|
+
const replaceValue = encodeURIComponent(
|
|
835
|
+
style === "label" ? `.${value}` : value
|
|
836
|
+
);
|
|
837
|
+
url = url.replace(match, replaceValue);
|
|
838
|
+
}
|
|
1205
839
|
}
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
840
|
+
return url;
|
|
841
|
+
}, "defaultPathSerializer");
|
|
842
|
+
var getUrl = /* @__PURE__ */ __name(({
|
|
843
|
+
baseUrl,
|
|
844
|
+
path,
|
|
845
|
+
query,
|
|
846
|
+
querySerializer,
|
|
847
|
+
url: _url
|
|
848
|
+
}) => {
|
|
849
|
+
const pathUrl = _url.startsWith("/") ? _url : `/${_url}`;
|
|
850
|
+
let url = (baseUrl ?? "") + pathUrl;
|
|
851
|
+
if (path) {
|
|
852
|
+
url = defaultPathSerializer({ path, url });
|
|
1213
853
|
}
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
854
|
+
let search = query ? querySerializer(query) : "";
|
|
855
|
+
if (search.startsWith("?")) {
|
|
856
|
+
search = search.substring(1);
|
|
1217
857
|
}
|
|
1218
|
-
|
|
1219
|
-
|
|
858
|
+
if (search) {
|
|
859
|
+
url += `?${search}`;
|
|
1220
860
|
}
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
861
|
+
return url;
|
|
862
|
+
}, "getUrl");
|
|
863
|
+
function getValidRequestBody(options) {
|
|
864
|
+
const hasBody = options.body !== void 0;
|
|
865
|
+
const isSerializedBody = hasBody && options.bodySerializer;
|
|
866
|
+
if (isSerializedBody) {
|
|
867
|
+
if ("serializedBody" in options) {
|
|
868
|
+
const hasSerializedBody = options.serializedBody !== void 0 && options.serializedBody !== "";
|
|
869
|
+
return hasSerializedBody ? options.serializedBody : null;
|
|
870
|
+
}
|
|
871
|
+
return options.body !== "" ? options.body : null;
|
|
1224
872
|
}
|
|
1225
|
-
|
|
1226
|
-
|
|
873
|
+
if (hasBody) {
|
|
874
|
+
return options.body;
|
|
1227
875
|
}
|
|
1228
|
-
|
|
1229
|
-
|
|
876
|
+
return void 0;
|
|
877
|
+
}
|
|
878
|
+
__name(getValidRequestBody, "getValidRequestBody");
|
|
879
|
+
|
|
880
|
+
// src/_api/generated/core/auth.gen.ts
|
|
881
|
+
var getAuthToken = /* @__PURE__ */ __name(async (auth2, callback) => {
|
|
882
|
+
const token = typeof callback === "function" ? await callback(auth2) : callback;
|
|
883
|
+
if (!token) {
|
|
884
|
+
return;
|
|
1230
885
|
}
|
|
1231
|
-
|
|
1232
|
-
|
|
886
|
+
if (auth2.scheme === "bearer") {
|
|
887
|
+
return `Bearer ${token}`;
|
|
1233
888
|
}
|
|
1234
|
-
|
|
1235
|
-
|
|
889
|
+
if (auth2.scheme === "basic") {
|
|
890
|
+
return `Basic ${btoa(token)}`;
|
|
1236
891
|
}
|
|
1237
|
-
|
|
1238
|
-
|
|
892
|
+
return token;
|
|
893
|
+
}, "getAuthToken");
|
|
894
|
+
|
|
895
|
+
// src/_api/generated/client/utils.gen.ts
|
|
896
|
+
var createQuerySerializer = /* @__PURE__ */ __name(({
|
|
897
|
+
parameters = {},
|
|
898
|
+
...args
|
|
899
|
+
} = {}) => {
|
|
900
|
+
const querySerializer = /* @__PURE__ */ __name((queryParams) => {
|
|
901
|
+
const search = [];
|
|
902
|
+
if (queryParams && typeof queryParams === "object") {
|
|
903
|
+
for (const name in queryParams) {
|
|
904
|
+
const value = queryParams[name];
|
|
905
|
+
if (value === void 0 || value === null) {
|
|
906
|
+
continue;
|
|
907
|
+
}
|
|
908
|
+
const options = parameters[name] || args;
|
|
909
|
+
if (Array.isArray(value)) {
|
|
910
|
+
const serializedArray = serializeArrayParam({
|
|
911
|
+
allowReserved: options.allowReserved,
|
|
912
|
+
explode: true,
|
|
913
|
+
name,
|
|
914
|
+
style: "form",
|
|
915
|
+
value,
|
|
916
|
+
...options.array
|
|
917
|
+
});
|
|
918
|
+
if (serializedArray) search.push(serializedArray);
|
|
919
|
+
} else if (typeof value === "object") {
|
|
920
|
+
const serializedObject = serializeObjectParam({
|
|
921
|
+
allowReserved: options.allowReserved,
|
|
922
|
+
explode: true,
|
|
923
|
+
name,
|
|
924
|
+
style: "deepObject",
|
|
925
|
+
value,
|
|
926
|
+
...options.object
|
|
927
|
+
});
|
|
928
|
+
if (serializedObject) search.push(serializedObject);
|
|
929
|
+
} else {
|
|
930
|
+
const serializedPrimitive = serializePrimitiveParam({
|
|
931
|
+
allowReserved: options.allowReserved,
|
|
932
|
+
name,
|
|
933
|
+
value
|
|
934
|
+
});
|
|
935
|
+
if (serializedPrimitive) search.push(serializedPrimitive);
|
|
936
|
+
}
|
|
937
|
+
}
|
|
938
|
+
}
|
|
939
|
+
return search.join("&");
|
|
940
|
+
}, "querySerializer");
|
|
941
|
+
return querySerializer;
|
|
942
|
+
}, "createQuerySerializer");
|
|
943
|
+
var getParseAs = /* @__PURE__ */ __name((contentType) => {
|
|
944
|
+
if (!contentType) {
|
|
945
|
+
return "stream";
|
|
1239
946
|
}
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
return
|
|
947
|
+
const cleanContent = contentType.split(";")[0]?.trim();
|
|
948
|
+
if (!cleanContent) {
|
|
949
|
+
return;
|
|
1243
950
|
}
|
|
1244
|
-
|
|
1245
|
-
|
|
951
|
+
if (cleanContent.startsWith("application/json") || cleanContent.endsWith("+json")) {
|
|
952
|
+
return "json";
|
|
1246
953
|
}
|
|
1247
|
-
|
|
1248
|
-
return
|
|
954
|
+
if (cleanContent === "multipart/form-data") {
|
|
955
|
+
return "formData";
|
|
1249
956
|
}
|
|
1250
|
-
|
|
1251
|
-
|
|
957
|
+
if (["application/", "audio/", "image/", "video/"].some((type) => cleanContent.startsWith(type))) {
|
|
958
|
+
return "blob";
|
|
1252
959
|
}
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
// src/_api/generated/_cfg_totp/api.ts
|
|
1256
|
-
var API3 = class {
|
|
1257
|
-
static {
|
|
1258
|
-
__name(this, "API");
|
|
960
|
+
if (cleanContent.startsWith("text/")) {
|
|
961
|
+
return "text";
|
|
1259
962
|
}
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
if (opts.apiKey !== void 0) auth.setApiKey(opts.apiKey);
|
|
1266
|
-
if (opts.withCredentials !== void 0) auth.setWithCredentials(opts.withCredentials);
|
|
963
|
+
return;
|
|
964
|
+
}, "getParseAs");
|
|
965
|
+
var checkForExistence = /* @__PURE__ */ __name((options, name) => {
|
|
966
|
+
if (!name) {
|
|
967
|
+
return false;
|
|
1267
968
|
}
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
return auth.getBaseUrl();
|
|
969
|
+
if (options.headers.has(name) || options.query?.[name] || options.headers.get("Cookie")?.includes(`${name}=`)) {
|
|
970
|
+
return true;
|
|
1271
971
|
}
|
|
1272
|
-
|
|
1273
|
-
|
|
972
|
+
return false;
|
|
973
|
+
}, "checkForExistence");
|
|
974
|
+
var setAuthParams = /* @__PURE__ */ __name(async ({
|
|
975
|
+
security,
|
|
976
|
+
...options
|
|
977
|
+
}) => {
|
|
978
|
+
for (const auth2 of security) {
|
|
979
|
+
if (checkForExistence(options, auth2.name)) {
|
|
980
|
+
continue;
|
|
981
|
+
}
|
|
982
|
+
const token = await getAuthToken(auth2, options.auth);
|
|
983
|
+
if (!token) {
|
|
984
|
+
continue;
|
|
985
|
+
}
|
|
986
|
+
const name = auth2.name ?? "Authorization";
|
|
987
|
+
switch (auth2.in) {
|
|
988
|
+
case "query":
|
|
989
|
+
if (!options.query) {
|
|
990
|
+
options.query = {};
|
|
991
|
+
}
|
|
992
|
+
options.query[name] = token;
|
|
993
|
+
break;
|
|
994
|
+
case "cookie":
|
|
995
|
+
options.headers.append("Cookie", `${name}=${token}`);
|
|
996
|
+
break;
|
|
997
|
+
case "header":
|
|
998
|
+
default:
|
|
999
|
+
options.headers.set(name, token);
|
|
1000
|
+
break;
|
|
1001
|
+
}
|
|
1274
1002
|
}
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1003
|
+
}, "setAuthParams");
|
|
1004
|
+
var buildUrl = /* @__PURE__ */ __name((options) => getUrl({
|
|
1005
|
+
baseUrl: options.baseUrl,
|
|
1006
|
+
path: options.path,
|
|
1007
|
+
query: options.query,
|
|
1008
|
+
querySerializer: typeof options.querySerializer === "function" ? options.querySerializer : createQuerySerializer(options.querySerializer),
|
|
1009
|
+
url: options.url
|
|
1010
|
+
}), "buildUrl");
|
|
1011
|
+
var mergeConfigs = /* @__PURE__ */ __name((a, b) => {
|
|
1012
|
+
const config = { ...a, ...b };
|
|
1013
|
+
if (config.baseUrl?.endsWith("/")) {
|
|
1014
|
+
config.baseUrl = config.baseUrl.substring(0, config.baseUrl.length - 1);
|
|
1278
1015
|
}
|
|
1279
|
-
|
|
1280
|
-
|
|
1016
|
+
config.headers = mergeHeaders(a.headers, b.headers);
|
|
1017
|
+
return config;
|
|
1018
|
+
}, "mergeConfigs");
|
|
1019
|
+
var headersEntries = /* @__PURE__ */ __name((headers) => {
|
|
1020
|
+
const entries = [];
|
|
1021
|
+
headers.forEach((value, key) => {
|
|
1022
|
+
entries.push([key, value]);
|
|
1023
|
+
});
|
|
1024
|
+
return entries;
|
|
1025
|
+
}, "headersEntries");
|
|
1026
|
+
var mergeHeaders = /* @__PURE__ */ __name((...headers) => {
|
|
1027
|
+
const mergedHeaders = new Headers();
|
|
1028
|
+
for (const header of headers) {
|
|
1029
|
+
if (!header) {
|
|
1030
|
+
continue;
|
|
1031
|
+
}
|
|
1032
|
+
const iterator = header instanceof Headers ? headersEntries(header) : Object.entries(header);
|
|
1033
|
+
for (const [key, value] of iterator) {
|
|
1034
|
+
if (value === null) {
|
|
1035
|
+
mergedHeaders.delete(key);
|
|
1036
|
+
} else if (Array.isArray(value)) {
|
|
1037
|
+
for (const v of value) {
|
|
1038
|
+
mergedHeaders.append(key, v);
|
|
1039
|
+
}
|
|
1040
|
+
} else if (value !== void 0) {
|
|
1041
|
+
mergedHeaders.set(
|
|
1042
|
+
key,
|
|
1043
|
+
typeof value === "object" ? JSON.stringify(value) : value
|
|
1044
|
+
);
|
|
1045
|
+
}
|
|
1046
|
+
}
|
|
1281
1047
|
}
|
|
1282
|
-
|
|
1283
|
-
|
|
1048
|
+
return mergedHeaders;
|
|
1049
|
+
}, "mergeHeaders");
|
|
1050
|
+
var Interceptors = class {
|
|
1051
|
+
static {
|
|
1052
|
+
__name(this, "Interceptors");
|
|
1284
1053
|
}
|
|
1285
|
-
|
|
1286
|
-
|
|
1054
|
+
fns = [];
|
|
1055
|
+
clear() {
|
|
1056
|
+
this.fns = [];
|
|
1287
1057
|
}
|
|
1288
|
-
|
|
1289
|
-
|
|
1058
|
+
eject(id) {
|
|
1059
|
+
const index = this.getInterceptorIndex(id);
|
|
1060
|
+
if (this.fns[index]) {
|
|
1061
|
+
this.fns[index] = null;
|
|
1062
|
+
}
|
|
1290
1063
|
}
|
|
1291
|
-
|
|
1292
|
-
|
|
1064
|
+
exists(id) {
|
|
1065
|
+
const index = this.getInterceptorIndex(id);
|
|
1066
|
+
return Boolean(this.fns[index]);
|
|
1293
1067
|
}
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1068
|
+
getInterceptorIndex(id) {
|
|
1069
|
+
if (typeof id === "number") {
|
|
1070
|
+
return this.fns[id] ? id : -1;
|
|
1071
|
+
}
|
|
1072
|
+
return this.fns.indexOf(id);
|
|
1297
1073
|
}
|
|
1298
|
-
|
|
1299
|
-
|
|
1074
|
+
update(id, fn) {
|
|
1075
|
+
const index = this.getInterceptorIndex(id);
|
|
1076
|
+
if (this.fns[index]) {
|
|
1077
|
+
this.fns[index] = fn;
|
|
1078
|
+
return id;
|
|
1079
|
+
}
|
|
1080
|
+
return false;
|
|
1300
1081
|
}
|
|
1301
|
-
|
|
1302
|
-
|
|
1082
|
+
use(fn) {
|
|
1083
|
+
this.fns.push(fn);
|
|
1084
|
+
return this.fns.length - 1;
|
|
1303
1085
|
}
|
|
1304
|
-
|
|
1305
|
-
|
|
1086
|
+
};
|
|
1087
|
+
var createInterceptors = /* @__PURE__ */ __name(() => ({
|
|
1088
|
+
error: new Interceptors(),
|
|
1089
|
+
request: new Interceptors(),
|
|
1090
|
+
response: new Interceptors()
|
|
1091
|
+
}), "createInterceptors");
|
|
1092
|
+
var defaultQuerySerializer = createQuerySerializer({
|
|
1093
|
+
allowReserved: false,
|
|
1094
|
+
array: {
|
|
1095
|
+
explode: true,
|
|
1096
|
+
style: "form"
|
|
1097
|
+
},
|
|
1098
|
+
object: {
|
|
1099
|
+
explode: true,
|
|
1100
|
+
style: "deepObject"
|
|
1306
1101
|
}
|
|
1102
|
+
});
|
|
1103
|
+
var defaultHeaders = {
|
|
1104
|
+
"Content-Type": "application/json"
|
|
1307
1105
|
};
|
|
1106
|
+
var createConfig = /* @__PURE__ */ __name((override = {}) => ({
|
|
1107
|
+
...jsonBodySerializer,
|
|
1108
|
+
headers: defaultHeaders,
|
|
1109
|
+
parseAs: "auto",
|
|
1110
|
+
querySerializer: defaultQuerySerializer,
|
|
1111
|
+
...override
|
|
1112
|
+
}), "createConfig");
|
|
1308
1113
|
|
|
1309
|
-
// src/_api/generated/
|
|
1310
|
-
var
|
|
1311
|
-
|
|
1312
|
-
|
|
1114
|
+
// src/_api/generated/client/client.gen.ts
|
|
1115
|
+
var createClient = /* @__PURE__ */ __name((config = {}) => {
|
|
1116
|
+
let _config = mergeConfigs(createConfig(), config);
|
|
1117
|
+
const getConfig = /* @__PURE__ */ __name(() => ({ ..._config }), "getConfig");
|
|
1118
|
+
const setConfig = /* @__PURE__ */ __name((config2) => {
|
|
1119
|
+
_config = mergeConfigs(_config, config2);
|
|
1120
|
+
return getConfig();
|
|
1121
|
+
}, "setConfig");
|
|
1122
|
+
const interceptors = createInterceptors();
|
|
1123
|
+
const beforeRequest = /* @__PURE__ */ __name(async (options) => {
|
|
1124
|
+
const opts = {
|
|
1125
|
+
..._config,
|
|
1126
|
+
...options,
|
|
1127
|
+
fetch: options.fetch ?? _config.fetch ?? globalThis.fetch,
|
|
1128
|
+
headers: mergeHeaders(_config.headers, options.headers),
|
|
1129
|
+
serializedBody: void 0
|
|
1130
|
+
};
|
|
1131
|
+
if (opts.security) {
|
|
1132
|
+
await setAuthParams({
|
|
1133
|
+
...opts,
|
|
1134
|
+
security: opts.security
|
|
1135
|
+
});
|
|
1136
|
+
}
|
|
1137
|
+
if (opts.requestValidator) {
|
|
1138
|
+
await opts.requestValidator(opts);
|
|
1139
|
+
}
|
|
1140
|
+
if (opts.body !== void 0 && opts.bodySerializer) {
|
|
1141
|
+
opts.serializedBody = opts.bodySerializer(opts.body);
|
|
1142
|
+
}
|
|
1143
|
+
if (opts.body === void 0 || opts.serializedBody === "") {
|
|
1144
|
+
opts.headers.delete("Content-Type");
|
|
1145
|
+
}
|
|
1146
|
+
const resolvedOpts = opts;
|
|
1147
|
+
const url = buildUrl(resolvedOpts);
|
|
1148
|
+
return { opts: resolvedOpts, url };
|
|
1149
|
+
}, "beforeRequest");
|
|
1150
|
+
const request = /* @__PURE__ */ __name(async (options) => {
|
|
1151
|
+
const throwOnError = options.throwOnError ?? _config.throwOnError;
|
|
1152
|
+
const responseStyle = options.responseStyle ?? _config.responseStyle;
|
|
1153
|
+
let request2;
|
|
1154
|
+
let response;
|
|
1155
|
+
try {
|
|
1156
|
+
const { opts, url } = await beforeRequest(options);
|
|
1157
|
+
const requestInit = {
|
|
1158
|
+
redirect: "follow",
|
|
1159
|
+
...opts,
|
|
1160
|
+
body: getValidRequestBody(opts)
|
|
1161
|
+
};
|
|
1162
|
+
request2 = new Request(url, requestInit);
|
|
1163
|
+
for (const fn of interceptors.request.fns) {
|
|
1164
|
+
if (fn) {
|
|
1165
|
+
request2 = await fn(request2, opts);
|
|
1166
|
+
}
|
|
1167
|
+
}
|
|
1168
|
+
const _fetch = opts.fetch;
|
|
1169
|
+
response = await _fetch(request2);
|
|
1170
|
+
for (const fn of interceptors.response.fns) {
|
|
1171
|
+
if (fn) {
|
|
1172
|
+
response = await fn(response, request2, opts);
|
|
1173
|
+
}
|
|
1174
|
+
}
|
|
1175
|
+
const result = {
|
|
1176
|
+
request: request2,
|
|
1177
|
+
response
|
|
1178
|
+
};
|
|
1179
|
+
if (response.ok) {
|
|
1180
|
+
const parseAs = (opts.parseAs === "auto" ? getParseAs(response.headers.get("Content-Type")) : opts.parseAs) ?? "json";
|
|
1181
|
+
if (response.status === 204 || response.headers.get("Content-Length") === "0") {
|
|
1182
|
+
let emptyData;
|
|
1183
|
+
switch (parseAs) {
|
|
1184
|
+
case "arrayBuffer":
|
|
1185
|
+
case "blob":
|
|
1186
|
+
case "text":
|
|
1187
|
+
emptyData = await response[parseAs]();
|
|
1188
|
+
break;
|
|
1189
|
+
case "formData":
|
|
1190
|
+
emptyData = new FormData();
|
|
1191
|
+
break;
|
|
1192
|
+
case "stream":
|
|
1193
|
+
emptyData = response.body;
|
|
1194
|
+
break;
|
|
1195
|
+
case "json":
|
|
1196
|
+
default:
|
|
1197
|
+
emptyData = {};
|
|
1198
|
+
break;
|
|
1199
|
+
}
|
|
1200
|
+
return opts.responseStyle === "data" ? emptyData : {
|
|
1201
|
+
data: emptyData,
|
|
1202
|
+
...result
|
|
1203
|
+
};
|
|
1204
|
+
}
|
|
1205
|
+
let data;
|
|
1206
|
+
switch (parseAs) {
|
|
1207
|
+
case "arrayBuffer":
|
|
1208
|
+
case "blob":
|
|
1209
|
+
case "formData":
|
|
1210
|
+
case "text":
|
|
1211
|
+
data = await response[parseAs]();
|
|
1212
|
+
break;
|
|
1213
|
+
case "json": {
|
|
1214
|
+
const text = await response.text();
|
|
1215
|
+
data = text ? JSON.parse(text) : {};
|
|
1216
|
+
break;
|
|
1217
|
+
}
|
|
1218
|
+
case "stream":
|
|
1219
|
+
return opts.responseStyle === "data" ? response.body : {
|
|
1220
|
+
data: response.body,
|
|
1221
|
+
...result
|
|
1222
|
+
};
|
|
1223
|
+
}
|
|
1224
|
+
if (parseAs === "json") {
|
|
1225
|
+
if (opts.responseValidator) {
|
|
1226
|
+
await opts.responseValidator(data);
|
|
1227
|
+
}
|
|
1228
|
+
if (opts.responseTransformer) {
|
|
1229
|
+
data = await opts.responseTransformer(data);
|
|
1230
|
+
}
|
|
1231
|
+
}
|
|
1232
|
+
return opts.responseStyle === "data" ? data : {
|
|
1233
|
+
data,
|
|
1234
|
+
...result
|
|
1235
|
+
};
|
|
1236
|
+
}
|
|
1237
|
+
const textError = await response.text();
|
|
1238
|
+
let jsonError;
|
|
1239
|
+
try {
|
|
1240
|
+
jsonError = JSON.parse(textError);
|
|
1241
|
+
} catch {
|
|
1242
|
+
}
|
|
1243
|
+
throw jsonError ?? textError;
|
|
1244
|
+
} catch (error) {
|
|
1245
|
+
let finalError = error;
|
|
1246
|
+
for (const fn of interceptors.error.fns) {
|
|
1247
|
+
if (fn) {
|
|
1248
|
+
finalError = await fn(finalError, response, request2, options);
|
|
1249
|
+
}
|
|
1250
|
+
}
|
|
1251
|
+
finalError = finalError || {};
|
|
1252
|
+
if (throwOnError) {
|
|
1253
|
+
throw finalError;
|
|
1254
|
+
}
|
|
1255
|
+
return responseStyle === "data" ? void 0 : {
|
|
1256
|
+
error: finalError,
|
|
1257
|
+
request: request2,
|
|
1258
|
+
response
|
|
1259
|
+
};
|
|
1260
|
+
}
|
|
1261
|
+
}, "request");
|
|
1262
|
+
const makeMethodFn = /* @__PURE__ */ __name((method) => (options) => request({ ...options, method }), "makeMethodFn");
|
|
1263
|
+
const makeSseFn = /* @__PURE__ */ __name((method) => async (options) => {
|
|
1264
|
+
const { opts, url } = await beforeRequest(options);
|
|
1265
|
+
return createSseClient({
|
|
1266
|
+
...opts,
|
|
1267
|
+
body: opts.body,
|
|
1268
|
+
method,
|
|
1269
|
+
onRequest: /* @__PURE__ */ __name(async (url2, init) => {
|
|
1270
|
+
let request2 = new Request(url2, init);
|
|
1271
|
+
for (const fn of interceptors.request.fns) {
|
|
1272
|
+
if (fn) {
|
|
1273
|
+
request2 = await fn(request2, opts);
|
|
1274
|
+
}
|
|
1275
|
+
}
|
|
1276
|
+
return request2;
|
|
1277
|
+
}, "onRequest"),
|
|
1278
|
+
serializedBody: getValidRequestBody(opts),
|
|
1279
|
+
url
|
|
1280
|
+
});
|
|
1281
|
+
}, "makeSseFn");
|
|
1282
|
+
const _buildUrl = /* @__PURE__ */ __name((options) => buildUrl({ ..._config, ...options }), "_buildUrl");
|
|
1283
|
+
return {
|
|
1284
|
+
buildUrl: _buildUrl,
|
|
1285
|
+
connect: makeMethodFn("CONNECT"),
|
|
1286
|
+
delete: makeMethodFn("DELETE"),
|
|
1287
|
+
get: makeMethodFn("GET"),
|
|
1288
|
+
getConfig,
|
|
1289
|
+
head: makeMethodFn("HEAD"),
|
|
1290
|
+
interceptors,
|
|
1291
|
+
options: makeMethodFn("OPTIONS"),
|
|
1292
|
+
patch: makeMethodFn("PATCH"),
|
|
1293
|
+
post: makeMethodFn("POST"),
|
|
1294
|
+
put: makeMethodFn("PUT"),
|
|
1295
|
+
request,
|
|
1296
|
+
setConfig,
|
|
1297
|
+
sse: {
|
|
1298
|
+
connect: makeSseFn("CONNECT"),
|
|
1299
|
+
delete: makeSseFn("DELETE"),
|
|
1300
|
+
get: makeSseFn("GET"),
|
|
1301
|
+
head: makeSseFn("HEAD"),
|
|
1302
|
+
options: makeSseFn("OPTIONS"),
|
|
1303
|
+
patch: makeSseFn("PATCH"),
|
|
1304
|
+
post: makeSseFn("POST"),
|
|
1305
|
+
put: makeSseFn("PUT"),
|
|
1306
|
+
trace: makeSseFn("TRACE")
|
|
1307
|
+
},
|
|
1308
|
+
trace: makeMethodFn("TRACE")
|
|
1309
|
+
};
|
|
1310
|
+
}, "createClient");
|
|
1311
|
+
|
|
1312
|
+
// src/_api/generated/client.gen.ts
|
|
1313
|
+
var client = createClient(createConfig({ baseUrl: "http://localhost:8000" }));
|
|
1314
|
+
installAuthOnClient(client);
|
|
1313
1315
|
|
|
1314
1316
|
// src/_api/generated/sdk.gen.ts
|
|
1315
1317
|
var Auth = class {
|