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