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