@crowi/api-contract 2.0.0-alpha.14 → 2.0.0-alpha.16
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/generated/openapi.d.mts +457 -67
- package/dist/generated/openapi.d.ts +457 -67
- package/dist/generated/openapi.js.map +1 -1
- package/dist/index.d.mts +2181 -442
- package/dist/index.d.ts +2181 -442
- package/dist/index.js +233 -55
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +218 -53
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -794,15 +794,13 @@ interface paths {
|
|
|
794
794
|
path?: never;
|
|
795
795
|
cookie?: never;
|
|
796
796
|
};
|
|
797
|
-
/** Top-level navigation that redirects the browser to the named provider */
|
|
797
|
+
/** Top-level navigation that redirects the browser to the named provider (public sign-in ONLY) */
|
|
798
798
|
get: {
|
|
799
799
|
parameters: {
|
|
800
800
|
query: {
|
|
801
801
|
continue: string;
|
|
802
802
|
handoff_jwk: string;
|
|
803
803
|
handoff_proof: string;
|
|
804
|
-
link?: "1";
|
|
805
|
-
link_grant?: string;
|
|
806
804
|
};
|
|
807
805
|
header?: never;
|
|
808
806
|
path: {
|
|
@@ -819,7 +817,7 @@ interface paths {
|
|
|
819
817
|
};
|
|
820
818
|
content?: never;
|
|
821
819
|
};
|
|
822
|
-
/** @description Malformed continue / sender proof,
|
|
820
|
+
/** @description Malformed continue / sender proof, OR a raw `link` query key is present (any value) — the retired link-via-GET flow is gone entirely; a raw `link` key is always rejected rather than silently downgraded to public sign-in. */
|
|
823
821
|
400: {
|
|
824
822
|
headers: {
|
|
825
823
|
[name: string]: unknown;
|
|
@@ -834,36 +832,6 @@ interface paths {
|
|
|
834
832
|
};
|
|
835
833
|
};
|
|
836
834
|
};
|
|
837
|
-
/** @description link=1 without a web-session JWT — never downgraded to the public sign-in start */
|
|
838
|
-
401: {
|
|
839
|
-
headers: {
|
|
840
|
-
[name: string]: unknown;
|
|
841
|
-
};
|
|
842
|
-
content: {
|
|
843
|
-
"application/json": {
|
|
844
|
-
error: {
|
|
845
|
-
code: components["schemas"]["ErrorCode"];
|
|
846
|
-
message: string;
|
|
847
|
-
details?: unknown;
|
|
848
|
-
};
|
|
849
|
-
};
|
|
850
|
-
};
|
|
851
|
-
};
|
|
852
|
-
/** @description link=1 with a non-web credential (PAT / OAuth access token) */
|
|
853
|
-
403: {
|
|
854
|
-
headers: {
|
|
855
|
-
[name: string]: unknown;
|
|
856
|
-
};
|
|
857
|
-
content: {
|
|
858
|
-
"application/json": {
|
|
859
|
-
error: {
|
|
860
|
-
code: components["schemas"]["ErrorCode"];
|
|
861
|
-
message: string;
|
|
862
|
-
details?: unknown;
|
|
863
|
-
};
|
|
864
|
-
};
|
|
865
|
-
};
|
|
866
|
-
};
|
|
867
835
|
/** @description Unknown, unconfigured, or credential-kind provider */
|
|
868
836
|
404: {
|
|
869
837
|
headers: {
|
|
@@ -928,7 +896,7 @@ interface paths {
|
|
|
928
896
|
};
|
|
929
897
|
requestBody?: never;
|
|
930
898
|
responses: {
|
|
931
|
-
/** @description
|
|
899
|
+
/** @description Ordinary sign-in: redirect to the trusted web login/complete page on success, or back to the trusted web /login on failure. Link flow (query `state` in the reserved crowilnk_ namespace): success redirects to `/me?provider=<name>&link_completion=<code>` (provider + completion code ONLY); failure redirects to `/me?provider=<name>&link=link_failed` (provider + the generic marker ONLY — never a completion code, never accountLabel, never the underlying reason). */
|
|
932
900
|
302: {
|
|
933
901
|
headers: {
|
|
934
902
|
[name: string]: unknown;
|
|
@@ -1161,7 +1129,7 @@ interface paths {
|
|
|
1161
1129
|
patch?: never;
|
|
1162
1130
|
trace?: never;
|
|
1163
1131
|
};
|
|
1164
|
-
"/auth/providers/{name}/link-
|
|
1132
|
+
"/auth/providers/{name}/link-start": {
|
|
1165
1133
|
parameters: {
|
|
1166
1134
|
query?: never;
|
|
1167
1135
|
header?: never;
|
|
@@ -1170,7 +1138,7 @@ interface paths {
|
|
|
1170
1138
|
};
|
|
1171
1139
|
get?: never;
|
|
1172
1140
|
put?: never;
|
|
1173
|
-
/** Mint
|
|
1141
|
+
/** Mint an IdP authorization URL + flow-specific state cookie for the current web session (stage 1 of 3) */
|
|
1174
1142
|
post: {
|
|
1175
1143
|
parameters: {
|
|
1176
1144
|
query?: never;
|
|
@@ -1180,26 +1148,160 @@ interface paths {
|
|
|
1180
1148
|
};
|
|
1181
1149
|
cookie?: never;
|
|
1182
1150
|
};
|
|
1183
|
-
requestBody?:
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1151
|
+
requestBody?: never;
|
|
1152
|
+
responses: {
|
|
1153
|
+
/** @description Authorization URL to navigate the browser to. Sets a flow-specific, 300s state cookie. */
|
|
1154
|
+
200: {
|
|
1155
|
+
headers: {
|
|
1156
|
+
[name: string]: unknown;
|
|
1157
|
+
};
|
|
1158
|
+
content: {
|
|
1159
|
+
"application/json": {
|
|
1160
|
+
/** Format: uri */
|
|
1161
|
+
authorizationUrl: string;
|
|
1162
|
+
};
|
|
1163
|
+
};
|
|
1164
|
+
};
|
|
1165
|
+
/** @description The signed link-state cookie value would exceed its per-cookie byte limit, or the aggregate Cookie-header admission budget cannot be satisfied even after pruning — no Set-Cookie or authorizationUrl is returned. */
|
|
1166
|
+
400: {
|
|
1167
|
+
headers: {
|
|
1168
|
+
[name: string]: unknown;
|
|
1169
|
+
};
|
|
1170
|
+
content: {
|
|
1171
|
+
"application/json": {
|
|
1172
|
+
error: {
|
|
1173
|
+
code: components["schemas"]["ErrorCode"];
|
|
1174
|
+
message: string;
|
|
1175
|
+
details?: unknown;
|
|
1176
|
+
};
|
|
1177
|
+
};
|
|
1178
|
+
};
|
|
1179
|
+
};
|
|
1180
|
+
/** @description Authentication required (credential missing/invalid — resolved by middleware before this route's own validation) */
|
|
1181
|
+
401: {
|
|
1182
|
+
headers: {
|
|
1183
|
+
[name: string]: unknown;
|
|
1184
|
+
};
|
|
1185
|
+
content: {
|
|
1186
|
+
"application/json": {
|
|
1187
|
+
error: {
|
|
1188
|
+
/** @enum {string} */
|
|
1189
|
+
code: "AUTHENTICATION_REQUIRED";
|
|
1190
|
+
/** @enum {string} */
|
|
1191
|
+
message: "Authentication is required";
|
|
1192
|
+
redirectTo?: string;
|
|
1193
|
+
};
|
|
1194
|
+
};
|
|
1195
|
+
};
|
|
1196
|
+
};
|
|
1197
|
+
/** @description Non-web credential (PAT / OAuth access token) — linking is a session-level account change */
|
|
1198
|
+
403: {
|
|
1199
|
+
headers: {
|
|
1200
|
+
[name: string]: unknown;
|
|
1201
|
+
};
|
|
1202
|
+
content: {
|
|
1203
|
+
"application/json": {
|
|
1204
|
+
error: {
|
|
1205
|
+
code: components["schemas"]["ErrorCode"];
|
|
1206
|
+
message: string;
|
|
1207
|
+
details?: unknown;
|
|
1208
|
+
};
|
|
1209
|
+
};
|
|
1210
|
+
};
|
|
1211
|
+
};
|
|
1212
|
+
/** @description Unknown, unconfigured, or credential-kind provider */
|
|
1213
|
+
404: {
|
|
1214
|
+
headers: {
|
|
1215
|
+
[name: string]: unknown;
|
|
1216
|
+
};
|
|
1217
|
+
content: {
|
|
1218
|
+
"application/json": {
|
|
1219
|
+
error: {
|
|
1220
|
+
code: components["schemas"]["ErrorCode"];
|
|
1221
|
+
message: string;
|
|
1222
|
+
details?: unknown;
|
|
1223
|
+
};
|
|
1224
|
+
};
|
|
1225
|
+
};
|
|
1226
|
+
};
|
|
1227
|
+
/** @description Internal server error (e.g. a declared multi-instance topology with no reachable Redis) */
|
|
1228
|
+
500: {
|
|
1229
|
+
headers: {
|
|
1230
|
+
[name: string]: unknown;
|
|
1231
|
+
};
|
|
1232
|
+
content: {
|
|
1233
|
+
"application/json": {
|
|
1234
|
+
error: {
|
|
1235
|
+
/** @enum {string} */
|
|
1236
|
+
code: "INTERNAL_ERROR";
|
|
1237
|
+
/** @enum {string} */
|
|
1238
|
+
message: "Internal server error";
|
|
1239
|
+
};
|
|
1240
|
+
};
|
|
1187
1241
|
};
|
|
1188
1242
|
};
|
|
1189
1243
|
};
|
|
1244
|
+
};
|
|
1245
|
+
delete?: never;
|
|
1246
|
+
options?: never;
|
|
1247
|
+
head?: never;
|
|
1248
|
+
patch?: never;
|
|
1249
|
+
trace?: never;
|
|
1250
|
+
};
|
|
1251
|
+
"/auth/providers/{name}/link-completions/{code}": {
|
|
1252
|
+
parameters: {
|
|
1253
|
+
query?: never;
|
|
1254
|
+
header?: never;
|
|
1255
|
+
path?: never;
|
|
1256
|
+
cookie?: never;
|
|
1257
|
+
};
|
|
1258
|
+
/** Read a pending link completion's confirmation details (stage 3a — non-destructive) */
|
|
1259
|
+
get: {
|
|
1260
|
+
parameters: {
|
|
1261
|
+
query?: never;
|
|
1262
|
+
header?: never;
|
|
1263
|
+
path: {
|
|
1264
|
+
name: string;
|
|
1265
|
+
code: string;
|
|
1266
|
+
};
|
|
1267
|
+
cookie?: never;
|
|
1268
|
+
};
|
|
1269
|
+
requestBody?: never;
|
|
1190
1270
|
responses: {
|
|
1191
|
-
/** @description
|
|
1271
|
+
/** @description Pending, unconsumed completion bound to the caller — provider label fallback + optional display-only accountLabel */
|
|
1192
1272
|
200: {
|
|
1193
1273
|
headers: {
|
|
1194
1274
|
[name: string]: unknown;
|
|
1195
1275
|
};
|
|
1196
1276
|
content: {
|
|
1197
1277
|
"application/json": {
|
|
1198
|
-
|
|
1278
|
+
provider: string;
|
|
1279
|
+
accountLabel?: string;
|
|
1199
1280
|
};
|
|
1200
1281
|
};
|
|
1201
1282
|
};
|
|
1202
|
-
/** @description
|
|
1283
|
+
/** @description Authenticated but `{code}` fails the 43-character base64url shape (VALIDATION_ERROR) */
|
|
1284
|
+
400: {
|
|
1285
|
+
headers: {
|
|
1286
|
+
[name: string]: unknown;
|
|
1287
|
+
};
|
|
1288
|
+
content: {
|
|
1289
|
+
"application/json": {
|
|
1290
|
+
error: {
|
|
1291
|
+
/** @enum {string} */
|
|
1292
|
+
code: "VALIDATION_ERROR";
|
|
1293
|
+
message: string;
|
|
1294
|
+
details?: {
|
|
1295
|
+
fieldErrors: {
|
|
1296
|
+
[key: string]: string[];
|
|
1297
|
+
};
|
|
1298
|
+
formErrors: string[];
|
|
1299
|
+
};
|
|
1300
|
+
};
|
|
1301
|
+
};
|
|
1302
|
+
};
|
|
1303
|
+
};
|
|
1304
|
+
/** @description Authentication required — resolved by middleware before this route's own `{code}` shape validation, so an unauthenticated + malformed code is still 401, never 400 */
|
|
1203
1305
|
401: {
|
|
1204
1306
|
headers: {
|
|
1205
1307
|
[name: string]: unknown;
|
|
@@ -1231,7 +1333,7 @@ interface paths {
|
|
|
1231
1333
|
};
|
|
1232
1334
|
};
|
|
1233
1335
|
};
|
|
1234
|
-
/** @description
|
|
1336
|
+
/** @description Never-issued, expired, retention-expired, or bound to a different user/provider/authVersion — all collapse to the same generic NOT_FOUND (no result-unknown code exists) */
|
|
1235
1337
|
404: {
|
|
1236
1338
|
headers: {
|
|
1237
1339
|
[name: string]: unknown;
|
|
@@ -1246,6 +1348,148 @@ interface paths {
|
|
|
1246
1348
|
};
|
|
1247
1349
|
};
|
|
1248
1350
|
};
|
|
1351
|
+
/** @description The caller's own completion was already consumed */
|
|
1352
|
+
409: {
|
|
1353
|
+
headers: {
|
|
1354
|
+
[name: string]: unknown;
|
|
1355
|
+
};
|
|
1356
|
+
content: {
|
|
1357
|
+
"application/json": {
|
|
1358
|
+
error: {
|
|
1359
|
+
/** @enum {string} */
|
|
1360
|
+
code: "LINK_COMPLETION_CONSUMED";
|
|
1361
|
+
message: string;
|
|
1362
|
+
};
|
|
1363
|
+
};
|
|
1364
|
+
};
|
|
1365
|
+
};
|
|
1366
|
+
/** @description Internal server error */
|
|
1367
|
+
500: {
|
|
1368
|
+
headers: {
|
|
1369
|
+
[name: string]: unknown;
|
|
1370
|
+
};
|
|
1371
|
+
content: {
|
|
1372
|
+
"application/json": {
|
|
1373
|
+
error: {
|
|
1374
|
+
/** @enum {string} */
|
|
1375
|
+
code: "INTERNAL_ERROR";
|
|
1376
|
+
/** @enum {string} */
|
|
1377
|
+
message: "Internal server error";
|
|
1378
|
+
};
|
|
1379
|
+
};
|
|
1380
|
+
};
|
|
1381
|
+
};
|
|
1382
|
+
};
|
|
1383
|
+
};
|
|
1384
|
+
put?: never;
|
|
1385
|
+
/** Atomically consume a link completion code and insert the identity (stage 3b — terminal) */
|
|
1386
|
+
post: {
|
|
1387
|
+
parameters: {
|
|
1388
|
+
query?: never;
|
|
1389
|
+
header?: never;
|
|
1390
|
+
path: {
|
|
1391
|
+
name: string;
|
|
1392
|
+
code: string;
|
|
1393
|
+
};
|
|
1394
|
+
cookie?: never;
|
|
1395
|
+
};
|
|
1396
|
+
requestBody?: never;
|
|
1397
|
+
responses: {
|
|
1398
|
+
/** @description Linked (fresh winner OR an already-consumed replay that resolves to the same owner) — the same body either way */
|
|
1399
|
+
200: {
|
|
1400
|
+
headers: {
|
|
1401
|
+
[name: string]: unknown;
|
|
1402
|
+
};
|
|
1403
|
+
content: {
|
|
1404
|
+
"application/json": {
|
|
1405
|
+
/** @enum {string} */
|
|
1406
|
+
result: "linked";
|
|
1407
|
+
};
|
|
1408
|
+
};
|
|
1409
|
+
};
|
|
1410
|
+
/** @description Authenticated but `{code}` fails the 43-character base64url shape (VALIDATION_ERROR) */
|
|
1411
|
+
400: {
|
|
1412
|
+
headers: {
|
|
1413
|
+
[name: string]: unknown;
|
|
1414
|
+
};
|
|
1415
|
+
content: {
|
|
1416
|
+
"application/json": {
|
|
1417
|
+
error: {
|
|
1418
|
+
/** @enum {string} */
|
|
1419
|
+
code: "VALIDATION_ERROR";
|
|
1420
|
+
message: string;
|
|
1421
|
+
details?: {
|
|
1422
|
+
fieldErrors: {
|
|
1423
|
+
[key: string]: string[];
|
|
1424
|
+
};
|
|
1425
|
+
formErrors: string[];
|
|
1426
|
+
};
|
|
1427
|
+
};
|
|
1428
|
+
};
|
|
1429
|
+
};
|
|
1430
|
+
};
|
|
1431
|
+
/** @description Authentication required — resolved by middleware before this route's own `{code}` shape validation, so an unauthenticated + malformed code is still 401, never 400 */
|
|
1432
|
+
401: {
|
|
1433
|
+
headers: {
|
|
1434
|
+
[name: string]: unknown;
|
|
1435
|
+
};
|
|
1436
|
+
content: {
|
|
1437
|
+
"application/json": {
|
|
1438
|
+
error: {
|
|
1439
|
+
/** @enum {string} */
|
|
1440
|
+
code: "AUTHENTICATION_REQUIRED";
|
|
1441
|
+
/** @enum {string} */
|
|
1442
|
+
message: "Authentication is required";
|
|
1443
|
+
redirectTo?: string;
|
|
1444
|
+
};
|
|
1445
|
+
};
|
|
1446
|
+
};
|
|
1447
|
+
};
|
|
1448
|
+
/** @description Non-web credential (PAT / OAuth access token) */
|
|
1449
|
+
403: {
|
|
1450
|
+
headers: {
|
|
1451
|
+
[name: string]: unknown;
|
|
1452
|
+
};
|
|
1453
|
+
content: {
|
|
1454
|
+
"application/json": {
|
|
1455
|
+
error: {
|
|
1456
|
+
code: components["schemas"]["ErrorCode"];
|
|
1457
|
+
message: string;
|
|
1458
|
+
details?: unknown;
|
|
1459
|
+
};
|
|
1460
|
+
};
|
|
1461
|
+
};
|
|
1462
|
+
};
|
|
1463
|
+
/** @description Never-issued, expired, retention-expired, or bound to a different user/provider — all collapse to the same generic NOT_FOUND */
|
|
1464
|
+
404: {
|
|
1465
|
+
headers: {
|
|
1466
|
+
[name: string]: unknown;
|
|
1467
|
+
};
|
|
1468
|
+
content: {
|
|
1469
|
+
"application/json": {
|
|
1470
|
+
error: {
|
|
1471
|
+
code: components["schemas"]["ErrorCode"];
|
|
1472
|
+
message: string;
|
|
1473
|
+
details?: unknown;
|
|
1474
|
+
};
|
|
1475
|
+
};
|
|
1476
|
+
};
|
|
1477
|
+
};
|
|
1478
|
+
/** @description FEDERATED_IDENTITY_IN_USE (provider account owned by someone else, or this user already has a different account of this provider), FEDERATED_LINK_AUTH_STATE_CHANGED (fresh User re-read found the session inactive or authVersion changed since link-start), or FEDERATED_LINK_NOT_LINKED (an already-consumed replay whose original insert has not landed) — no other conflict code exists. */
|
|
1479
|
+
409: {
|
|
1480
|
+
headers: {
|
|
1481
|
+
[name: string]: unknown;
|
|
1482
|
+
};
|
|
1483
|
+
content: {
|
|
1484
|
+
"application/json": {
|
|
1485
|
+
error: {
|
|
1486
|
+
/** @enum {string} */
|
|
1487
|
+
code: "FEDERATED_IDENTITY_IN_USE" | "FEDERATED_LINK_AUTH_STATE_CHANGED" | "FEDERATED_LINK_NOT_LINKED";
|
|
1488
|
+
message: string;
|
|
1489
|
+
};
|
|
1490
|
+
};
|
|
1491
|
+
};
|
|
1492
|
+
};
|
|
1249
1493
|
/** @description Internal server error */
|
|
1250
1494
|
500: {
|
|
1251
1495
|
headers: {
|
|
@@ -12298,6 +12542,7 @@ interface paths {
|
|
|
12298
12542
|
admin?: boolean;
|
|
12299
12543
|
/** @enum {integer} */
|
|
12300
12544
|
status?: 1 | 2 | 3 | 4 | 5;
|
|
12545
|
+
linkedProviders: string[];
|
|
12301
12546
|
}[];
|
|
12302
12547
|
pager: {
|
|
12303
12548
|
page: number;
|
|
@@ -12743,7 +12988,7 @@ interface paths {
|
|
|
12743
12988
|
};
|
|
12744
12989
|
options?: never;
|
|
12745
12990
|
head?: never;
|
|
12746
|
-
/** Update a user's name
|
|
12991
|
+
/** Update a user's name (email changes go through PUT /admin/users/{id}/email) */
|
|
12747
12992
|
patch: {
|
|
12748
12993
|
parameters: {
|
|
12749
12994
|
query?: never;
|
|
@@ -12757,8 +13002,6 @@ interface paths {
|
|
|
12757
13002
|
content: {
|
|
12758
13003
|
"application/json": {
|
|
12759
13004
|
name: string;
|
|
12760
|
-
/** Format: email */
|
|
12761
|
-
email: string;
|
|
12762
13005
|
};
|
|
12763
13006
|
};
|
|
12764
13007
|
};
|
|
@@ -12857,21 +13100,6 @@ interface paths {
|
|
|
12857
13100
|
};
|
|
12858
13101
|
};
|
|
12859
13102
|
};
|
|
12860
|
-
/** @description Email already in use by another user */
|
|
12861
|
-
409: {
|
|
12862
|
-
headers: {
|
|
12863
|
-
[name: string]: unknown;
|
|
12864
|
-
};
|
|
12865
|
-
content: {
|
|
12866
|
-
"application/json": {
|
|
12867
|
-
error: {
|
|
12868
|
-
/** @enum {string} */
|
|
12869
|
-
code: "CONFLICT";
|
|
12870
|
-
message: string;
|
|
12871
|
-
};
|
|
12872
|
-
};
|
|
12873
|
-
};
|
|
12874
|
-
};
|
|
12875
13103
|
/** @description Internal server error */
|
|
12876
13104
|
500: {
|
|
12877
13105
|
headers: {
|
|
@@ -13847,7 +14075,7 @@ interface paths {
|
|
|
13847
14075
|
};
|
|
13848
14076
|
};
|
|
13849
14077
|
};
|
|
13850
|
-
/** @description Email already in use by another user */
|
|
14078
|
+
/** @description Email already in use by another user, or locked by a linked federated identity */
|
|
13851
14079
|
409: {
|
|
13852
14080
|
headers: {
|
|
13853
14081
|
[name: string]: unknown;
|
|
@@ -13859,6 +14087,12 @@ interface paths {
|
|
|
13859
14087
|
code: "CONFLICT";
|
|
13860
14088
|
message: string;
|
|
13861
14089
|
};
|
|
14090
|
+
} | {
|
|
14091
|
+
error: {
|
|
14092
|
+
/** @enum {string} */
|
|
14093
|
+
code: "EMAIL_LOCKED_BY_FEDERATED_IDENTITY";
|
|
14094
|
+
message: string;
|
|
14095
|
+
};
|
|
13862
14096
|
};
|
|
13863
14097
|
};
|
|
13864
14098
|
};
|
|
@@ -13887,6 +14121,163 @@ interface paths {
|
|
|
13887
14121
|
patch?: never;
|
|
13888
14122
|
trace?: never;
|
|
13889
14123
|
};
|
|
14124
|
+
"/admin/users/{id}/identities/{provider}": {
|
|
14125
|
+
parameters: {
|
|
14126
|
+
query?: never;
|
|
14127
|
+
header?: never;
|
|
14128
|
+
path?: never;
|
|
14129
|
+
cookie?: never;
|
|
14130
|
+
};
|
|
14131
|
+
get?: never;
|
|
14132
|
+
put?: never;
|
|
14133
|
+
post?: never;
|
|
14134
|
+
/** Unlink a user's federated identity for a provider (admin-initiated) */
|
|
14135
|
+
delete: {
|
|
14136
|
+
parameters: {
|
|
14137
|
+
query?: never;
|
|
14138
|
+
header?: never;
|
|
14139
|
+
path: {
|
|
14140
|
+
id: string;
|
|
14141
|
+
provider: string;
|
|
14142
|
+
};
|
|
14143
|
+
cookie?: never;
|
|
14144
|
+
};
|
|
14145
|
+
requestBody?: never;
|
|
14146
|
+
responses: {
|
|
14147
|
+
/** @description Identity removed; passwordIssued/newPassword report whether a password was generated */
|
|
14148
|
+
200: {
|
|
14149
|
+
headers: {
|
|
14150
|
+
[name: string]: unknown;
|
|
14151
|
+
};
|
|
14152
|
+
content: {
|
|
14153
|
+
"application/json": {
|
|
14154
|
+
user: {
|
|
14155
|
+
_id: string;
|
|
14156
|
+
id?: string;
|
|
14157
|
+
username: string;
|
|
14158
|
+
name: string;
|
|
14159
|
+
/** Format: email */
|
|
14160
|
+
email: string;
|
|
14161
|
+
image?: string | null;
|
|
14162
|
+
introduction?: string;
|
|
14163
|
+
createdAt: string;
|
|
14164
|
+
admin?: boolean;
|
|
14165
|
+
/** @enum {integer} */
|
|
14166
|
+
status?: 1 | 2 | 3 | 4 | 5;
|
|
14167
|
+
};
|
|
14168
|
+
passwordIssued: boolean;
|
|
14169
|
+
newPassword?: string;
|
|
14170
|
+
};
|
|
14171
|
+
};
|
|
14172
|
+
};
|
|
14173
|
+
/** @description Invalid id */
|
|
14174
|
+
400: {
|
|
14175
|
+
headers: {
|
|
14176
|
+
[name: string]: unknown;
|
|
14177
|
+
};
|
|
14178
|
+
content: {
|
|
14179
|
+
"application/json": {
|
|
14180
|
+
error: {
|
|
14181
|
+
/** @enum {string} */
|
|
14182
|
+
code: "VALIDATION_ERROR";
|
|
14183
|
+
message: string;
|
|
14184
|
+
details?: {
|
|
14185
|
+
fieldErrors: {
|
|
14186
|
+
[key: string]: string[];
|
|
14187
|
+
};
|
|
14188
|
+
formErrors: string[];
|
|
14189
|
+
};
|
|
14190
|
+
};
|
|
14191
|
+
};
|
|
14192
|
+
};
|
|
14193
|
+
};
|
|
14194
|
+
/** @description Authentication required */
|
|
14195
|
+
401: {
|
|
14196
|
+
headers: {
|
|
14197
|
+
[name: string]: unknown;
|
|
14198
|
+
};
|
|
14199
|
+
content: {
|
|
14200
|
+
"application/json": {
|
|
14201
|
+
error: {
|
|
14202
|
+
/** @enum {string} */
|
|
14203
|
+
code: "AUTHENTICATION_REQUIRED";
|
|
14204
|
+
/** @enum {string} */
|
|
14205
|
+
message: "Authentication is required";
|
|
14206
|
+
redirectTo?: string;
|
|
14207
|
+
};
|
|
14208
|
+
};
|
|
14209
|
+
};
|
|
14210
|
+
};
|
|
14211
|
+
/** @description Admin permission required */
|
|
14212
|
+
403: {
|
|
14213
|
+
headers: {
|
|
14214
|
+
[name: string]: unknown;
|
|
14215
|
+
};
|
|
14216
|
+
content: {
|
|
14217
|
+
"application/json": {
|
|
14218
|
+
error: {
|
|
14219
|
+
/** @enum {string} */
|
|
14220
|
+
code: "ADMIN_REQUIRED";
|
|
14221
|
+
/** @enum {string} */
|
|
14222
|
+
message: "Admin permission required";
|
|
14223
|
+
redirectTo?: string;
|
|
14224
|
+
};
|
|
14225
|
+
};
|
|
14226
|
+
};
|
|
14227
|
+
};
|
|
14228
|
+
/** @description User not found, or the user has no identity for this provider */
|
|
14229
|
+
404: {
|
|
14230
|
+
headers: {
|
|
14231
|
+
[name: string]: unknown;
|
|
14232
|
+
};
|
|
14233
|
+
content: {
|
|
14234
|
+
"application/json": {
|
|
14235
|
+
error: {
|
|
14236
|
+
/** @enum {string} */
|
|
14237
|
+
code: "NOT_FOUND" | "NOT_LINKED";
|
|
14238
|
+
message: string;
|
|
14239
|
+
};
|
|
14240
|
+
};
|
|
14241
|
+
};
|
|
14242
|
+
};
|
|
14243
|
+
/** @description Refused: the target is the operating admin themself, or password auth is disabled instance-wide */
|
|
14244
|
+
409: {
|
|
14245
|
+
headers: {
|
|
14246
|
+
[name: string]: unknown;
|
|
14247
|
+
};
|
|
14248
|
+
content: {
|
|
14249
|
+
"application/json": {
|
|
14250
|
+
error: {
|
|
14251
|
+
/** @enum {string} */
|
|
14252
|
+
code: "CANNOT_UNLINK_SELF" | "PASSWORD_AUTH_DISABLED";
|
|
14253
|
+
message: string;
|
|
14254
|
+
};
|
|
14255
|
+
};
|
|
14256
|
+
};
|
|
14257
|
+
};
|
|
14258
|
+
/** @description Internal server error */
|
|
14259
|
+
500: {
|
|
14260
|
+
headers: {
|
|
14261
|
+
[name: string]: unknown;
|
|
14262
|
+
};
|
|
14263
|
+
content: {
|
|
14264
|
+
"application/json": {
|
|
14265
|
+
error: {
|
|
14266
|
+
/** @enum {string} */
|
|
14267
|
+
code: "INTERNAL_ERROR";
|
|
14268
|
+
/** @enum {string} */
|
|
14269
|
+
message: "Internal server error";
|
|
14270
|
+
};
|
|
14271
|
+
};
|
|
14272
|
+
};
|
|
14273
|
+
};
|
|
14274
|
+
};
|
|
14275
|
+
};
|
|
14276
|
+
options?: never;
|
|
14277
|
+
head?: never;
|
|
14278
|
+
patch?: never;
|
|
14279
|
+
trace?: never;
|
|
14280
|
+
};
|
|
13890
14281
|
"/admin/users/pending-count": {
|
|
13891
14282
|
parameters: {
|
|
13892
14283
|
query?: never;
|
|
@@ -15087,7 +15478,7 @@ interface components {
|
|
|
15087
15478
|
};
|
|
15088
15479
|
};
|
|
15089
15480
|
/** @enum {string} */
|
|
15090
|
-
ErrorCode: "AUTHENTICATION_REQUIRED" | "ADMIN_REQUIRED" | "THIRD_PARTY_AUTH_REQUIRED" | "USER_REGISTERED" | "USER_SUSPENDED" | "USER_INVITED" | "USER_NOT_ACTIVE" | "EMAIL_NOT_CONFIRMED" | "INTERNAL_ERROR" | "VALIDATION_ERROR" | "INVALID_REQUEST" | "NOT_FOUND" | "CONFLICT" | "SERVICE_UNAVAILABLE" | "APPLICATION_NOT_INSTALLED" | "INVALID_PAGE_ID" | "PAGE_NOT_FOUND" | "PAGE_NOT_GRANTED" | "PAGE_REVISION_ERROR" | "PAGE_TWIN_EXISTS" | "INVALID_GRANT" | "COMMENT_NOT_FOUND" | "NOTIFICATION_NOT_FOUND" | "USER_NOT_FOUND" | "USER_EXISTS" | "USERNAME_TAKEN" | "EMAIL_TAKEN" | "EMAIL_NOT_ALLOWED" | "INVALID_ACTIVATION_TOKEN" | "INVALID_INVITE_TOKEN" | "INVITE_ALREADY_ACCEPTED" | "INVALID_RESET_TOKEN" | "INVALID_EMAIL_CHANGE_TOKEN" | "INVALID_CREDENTIALS" | "REFRESH_TOKEN_REQUIRED" | "REGISTRATION_CLOSED" | "FEDERATED_HANDOFF_INVALID" | "FEDERATED_HANDOFF_CONSUMED" | "ENCRYPTION_NOT_CONFIGURED" | "MAIL_FROM_NOT_CONFIGURED" | "MAIL_TEST_FAILED" | "PLUGIN_NOT_FOUND" | "PLUGIN_CONFIG_VALIDATION_FAILED";
|
|
15481
|
+
ErrorCode: "AUTHENTICATION_REQUIRED" | "ADMIN_REQUIRED" | "THIRD_PARTY_AUTH_REQUIRED" | "USER_REGISTERED" | "USER_SUSPENDED" | "USER_INVITED" | "USER_NOT_ACTIVE" | "EMAIL_NOT_CONFIRMED" | "INTERNAL_ERROR" | "VALIDATION_ERROR" | "INVALID_REQUEST" | "NOT_FOUND" | "CONFLICT" | "SERVICE_UNAVAILABLE" | "APPLICATION_NOT_INSTALLED" | "INVALID_PAGE_ID" | "PAGE_NOT_FOUND" | "PAGE_NOT_GRANTED" | "PAGE_REVISION_ERROR" | "PAGE_TWIN_EXISTS" | "INVALID_GRANT" | "COMMENT_NOT_FOUND" | "NOTIFICATION_NOT_FOUND" | "USER_NOT_FOUND" | "USER_EXISTS" | "USERNAME_TAKEN" | "EMAIL_TAKEN" | "EMAIL_NOT_ALLOWED" | "INVALID_ACTIVATION_TOKEN" | "INVALID_INVITE_TOKEN" | "INVITE_ALREADY_ACCEPTED" | "INVALID_RESET_TOKEN" | "INVALID_EMAIL_CHANGE_TOKEN" | "INVALID_CREDENTIALS" | "REFRESH_TOKEN_REQUIRED" | "REGISTRATION_CLOSED" | "FEDERATED_HANDOFF_INVALID" | "FEDERATED_HANDOFF_CONSUMED" | "FEDERATED_IDENTITY_IN_USE" | "FEDERATED_LINK_AUTH_STATE_CHANGED" | "FEDERATED_LINK_NOT_LINKED" | "LINK_COMPLETION_CONSUMED" | "ENCRYPTION_NOT_CONFIGURED" | "MAIL_FROM_NOT_CONFIGURED" | "MAIL_TEST_FAILED" | "PLUGIN_NOT_FOUND" | "PLUGIN_CONFIG_VALIDATION_FAILED";
|
|
15091
15482
|
ApplicationNotInstalledError: {
|
|
15092
15483
|
error: {
|
|
15093
15484
|
/** @enum {string} */
|
|
@@ -16570,6 +16961,7 @@ interface components {
|
|
|
16570
16961
|
admin?: boolean;
|
|
16571
16962
|
/** @enum {integer} */
|
|
16572
16963
|
status?: 1 | 2 | 3 | 4 | 5;
|
|
16964
|
+
linkedProviders: string[];
|
|
16573
16965
|
}[];
|
|
16574
16966
|
pager: {
|
|
16575
16967
|
page: number;
|
|
@@ -16638,8 +17030,6 @@ interface components {
|
|
|
16638
17030
|
};
|
|
16639
17031
|
EditAdminUserRequest: {
|
|
16640
17032
|
name: string;
|
|
16641
|
-
/** Format: email */
|
|
16642
|
-
email: string;
|
|
16643
17033
|
};
|
|
16644
17034
|
ResetPasswordResponse: {
|
|
16645
17035
|
user: {
|