@robelest/convex-auth 0.0.4-preview.20 → 0.0.4-preview.22
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/{bin.cjs → bin.js} +331 -330
- package/dist/component/model.d.ts +9 -9
- package/dist/component/model.d.ts.map +1 -1
- package/dist/component/schema.d.ts +37 -37
- package/dist/component/server/auth.d.ts +71 -25
- package/dist/component/server/auth.d.ts.map +1 -1
- package/dist/component/server/auth.js +13 -27
- package/dist/component/server/auth.js.map +1 -1
- package/dist/component/server/runtime.d.ts +1 -1
- package/dist/server/auth.d.ts +70 -24
- package/dist/server/auth.d.ts.map +1 -1
- package/dist/server/auth.js +13 -27
- package/dist/server/auth.js.map +1 -1
- package/dist/server/http.d.ts +2 -2
- package/dist/server/http.d.ts.map +1 -1
- package/dist/server/index.d.ts +2 -2
- package/dist/server/mounts.d.ts +18 -18
- package/dist/server/mutations/account.d.ts +6 -6
- package/dist/server/mutations/account.d.ts.map +1 -1
- package/dist/server/mutations/code.d.ts +11 -11
- package/dist/server/mutations/invalidate.d.ts +4 -4
- package/dist/server/mutations/oauth.d.ts +9 -9
- package/dist/server/mutations/oauth.d.ts.map +1 -1
- package/dist/server/mutations/refresh.d.ts +3 -3
- package/dist/server/mutations/refresh.d.ts.map +1 -1
- package/dist/server/mutations/register.d.ts +2 -2
- package/dist/server/mutations/retrieve.d.ts +6 -6
- package/dist/server/mutations/signature.d.ts +4 -4
- package/dist/server/mutations/signature.d.ts.map +1 -1
- package/dist/server/mutations/signin.d.ts +5 -5
- package/dist/server/mutations/store.d.ts +83 -83
- package/dist/server/mutations/verify.d.ts +7 -7
- package/dist/server/mutations/verify.d.ts.map +1 -1
- package/dist/server/runtime.d.ts +7 -7
- package/package.json +4 -4
- package/src/cli/index.ts +1 -1
- package/src/component/index.ts +1 -0
- package/src/server/auth.ts +103 -59
- package/src/server/index.ts +2 -0
|
@@ -11,13 +11,13 @@ declare const vAuthVerifierDoc: convex_values474.VObject<{
|
|
|
11
11
|
signature: convex_values474.VString<string | undefined, "optional">;
|
|
12
12
|
_id: convex_values474.VId<convex_values474.GenericId<"AuthVerifier">, "required">;
|
|
13
13
|
_creationTime: convex_values474.VFloat64<number, "required">;
|
|
14
|
-
}, "required", "
|
|
14
|
+
}, "required", "_creationTime" | "sessionId" | "signature" | "_id">;
|
|
15
15
|
declare const vPasskeyDoc: convex_values474.VObject<{
|
|
16
16
|
name?: string | undefined;
|
|
17
17
|
transports?: string[] | undefined;
|
|
18
18
|
lastUsedAt?: number | undefined;
|
|
19
|
-
userId: convex_values474.GenericId<"User">;
|
|
20
19
|
_creationTime: number;
|
|
20
|
+
userId: convex_values474.GenericId<"User">;
|
|
21
21
|
credentialId: string;
|
|
22
22
|
publicKey: ArrayBuffer;
|
|
23
23
|
algorithm: number;
|
|
@@ -40,13 +40,13 @@ declare const vPasskeyDoc: convex_values474.VObject<{
|
|
|
40
40
|
lastUsedAt: convex_values474.VFloat64<number | undefined, "optional">;
|
|
41
41
|
_id: convex_values474.VId<convex_values474.GenericId<"Passkey">, "required">;
|
|
42
42
|
_creationTime: convex_values474.VFloat64<number, "required">;
|
|
43
|
-
}, "required", "
|
|
43
|
+
}, "required", "_creationTime" | "name" | "userId" | "credentialId" | "publicKey" | "algorithm" | "counter" | "transports" | "deviceType" | "backedUp" | "createdAt" | "lastUsedAt" | "_id">;
|
|
44
44
|
declare const vTotpFactorDoc: convex_values474.VObject<{
|
|
45
45
|
name?: string | undefined;
|
|
46
46
|
lastUsedAt?: number | undefined;
|
|
47
|
+
_creationTime: number;
|
|
47
48
|
userId: convex_values474.GenericId<"User">;
|
|
48
49
|
secret: ArrayBuffer;
|
|
49
|
-
_creationTime: number;
|
|
50
50
|
createdAt: number;
|
|
51
51
|
digits: number;
|
|
52
52
|
period: number;
|
|
@@ -63,7 +63,7 @@ declare const vTotpFactorDoc: convex_values474.VObject<{
|
|
|
63
63
|
lastUsedAt: convex_values474.VFloat64<number | undefined, "optional">;
|
|
64
64
|
_id: convex_values474.VId<convex_values474.GenericId<"TotpFactor">, "required">;
|
|
65
65
|
_creationTime: convex_values474.VFloat64<number, "required">;
|
|
66
|
-
}, "required", "
|
|
66
|
+
}, "required", "_creationTime" | "name" | "userId" | "secret" | "createdAt" | "lastUsedAt" | "digits" | "period" | "verified" | "_id">;
|
|
67
67
|
declare const vApiKeyDoc: convex_values474.VObject<{
|
|
68
68
|
lastUsedAt?: number | undefined;
|
|
69
69
|
expiresAt?: number | undefined;
|
|
@@ -76,9 +76,9 @@ declare const vApiKeyDoc: convex_values474.VObject<{
|
|
|
76
76
|
attemptsLeft: number;
|
|
77
77
|
lastAttemptTime: number;
|
|
78
78
|
} | undefined;
|
|
79
|
+
_creationTime: number;
|
|
79
80
|
name: string;
|
|
80
81
|
userId: convex_values474.GenericId<"User">;
|
|
81
|
-
_creationTime: number;
|
|
82
82
|
createdAt: number;
|
|
83
83
|
revoked: boolean;
|
|
84
84
|
prefix: string;
|
|
@@ -124,13 +124,13 @@ declare const vApiKeyDoc: convex_values474.VObject<{
|
|
|
124
124
|
metadata: convex_values474.VAny<any, "optional", string>;
|
|
125
125
|
_id: convex_values474.VId<convex_values474.GenericId<"ApiKey">, "required">;
|
|
126
126
|
_creationTime: convex_values474.VFloat64<number, "required">;
|
|
127
|
-
}, "required", "
|
|
127
|
+
}, "required", "_creationTime" | "name" | "userId" | "createdAt" | "lastUsedAt" | "expiresAt" | "revoked" | "metadata" | `metadata.${string}` | "prefix" | "hashedKey" | "scopes" | "rateLimit" | "rateLimitState" | "rateLimit.maxRequests" | "rateLimit.windowMs" | "rateLimitState.attemptsLeft" | "rateLimitState.lastAttemptTime" | "_id">;
|
|
128
128
|
declare const vDeviceCodeDoc: convex_values474.VObject<{
|
|
129
129
|
userId?: convex_values474.GenericId<"User"> | undefined;
|
|
130
130
|
sessionId?: convex_values474.GenericId<"Session"> | undefined;
|
|
131
131
|
lastPolledAt?: number | undefined;
|
|
132
|
-
status: "pending" | "authorized" | "denied";
|
|
133
132
|
_creationTime: number;
|
|
133
|
+
status: "pending" | "authorized" | "denied";
|
|
134
134
|
deviceCodeHash: string;
|
|
135
135
|
userCode: string;
|
|
136
136
|
expiresAt: number;
|
|
@@ -147,7 +147,7 @@ declare const vDeviceCodeDoc: convex_values474.VObject<{
|
|
|
147
147
|
lastPolledAt: convex_values474.VFloat64<number | undefined, "optional">;
|
|
148
148
|
_id: convex_values474.VId<convex_values474.GenericId<"DeviceCode">, "required">;
|
|
149
149
|
_creationTime: convex_values474.VFloat64<number, "required">;
|
|
150
|
-
}, "required", "
|
|
150
|
+
}, "required", "_creationTime" | "status" | "userId" | "sessionId" | "deviceCodeHash" | "userCode" | "expiresAt" | "interval" | "lastPolledAt" | "_id">;
|
|
151
151
|
//#endregion
|
|
152
152
|
export { vApiKeyDoc, vAuthVerifierDoc, vDeviceCodeDoc, vPasskeyDoc, vTotpFactorDoc };
|
|
153
153
|
//# sourceMappingURL=model.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","names":[],"sources":["../../src/component/model.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"model.d.ts","names":[],"sources":["../../src/component/model.ts"],"mappings":";;;cAqMa,gBAAA,mBAAgB,OAAA;cAI3B,gBAAA,CAAA,SAAA;;;;;;;;;;cAqBW,WAAA,mBAAW,OAAA;;;;;UAatB,gBAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;cAEW,cAAA,mBAAc,OAAA;;;;UAUzB,gBAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;cA8CW,UAAA,mBAAU,OAAA;;;;;;;;;;;;;;UAcrB,gBAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAEW,cAAA,mBAAc,OAAA;WAUzB,gBAAA,CAAA,SAAA"}
|
|
@@ -15,10 +15,10 @@ declare const _default: convex_server66.SchemaDefinition<{
|
|
|
15
15
|
* and multiple concurrent sessions.
|
|
16
16
|
*/
|
|
17
17
|
User: convex_server66.TableDefinition<convex_values121.VObject<{
|
|
18
|
-
email?: string | undefined;
|
|
19
18
|
phone?: string | undefined;
|
|
20
|
-
|
|
19
|
+
email?: string | undefined;
|
|
21
20
|
name?: string | undefined;
|
|
21
|
+
extend?: any;
|
|
22
22
|
image?: string | undefined;
|
|
23
23
|
emailVerificationTime?: number | undefined;
|
|
24
24
|
phoneVerificationTime?: number | undefined;
|
|
@@ -32,7 +32,7 @@ declare const _default: convex_server66.SchemaDefinition<{
|
|
|
32
32
|
phoneVerificationTime: convex_values121.VFloat64<number | undefined, "optional">;
|
|
33
33
|
isAnonymous: convex_values121.VBoolean<boolean | undefined, "optional">;
|
|
34
34
|
extend: convex_values121.VAny<any, "optional", string>;
|
|
35
|
-
}, "required", "
|
|
35
|
+
}, "required", "phone" | "email" | "name" | "extend" | "image" | "emailVerificationTime" | "phoneVerificationTime" | "isAnonymous" | `extend.${string}`>, {
|
|
36
36
|
email: ["email", "_creationTime"];
|
|
37
37
|
email_verified: ["email", "emailVerificationTime", "_creationTime"];
|
|
38
38
|
phone: ["phone", "_creationTime"];
|
|
@@ -247,9 +247,9 @@ declare const _default: convex_server66.SchemaDefinition<{
|
|
|
247
247
|
* organizations, teams, departments, or any tree structure.
|
|
248
248
|
*/
|
|
249
249
|
Group: convex_server66.TableDefinition<convex_values121.VObject<{
|
|
250
|
+
slug?: string | undefined;
|
|
250
251
|
type?: string | undefined;
|
|
251
252
|
extend?: any;
|
|
252
|
-
slug?: string | undefined;
|
|
253
253
|
parentGroupId?: convex_values121.GenericId<"Group"> | undefined;
|
|
254
254
|
rootGroupId?: convex_values121.GenericId<"Group"> | undefined;
|
|
255
255
|
isRoot?: boolean | undefined;
|
|
@@ -276,7 +276,7 @@ declare const _default: convex_server66.SchemaDefinition<{
|
|
|
276
276
|
value: convex_values121.VString<string, "required">;
|
|
277
277
|
}, "required", "value" | "key">, "optional">;
|
|
278
278
|
extend: convex_values121.VAny<any, "optional", string>;
|
|
279
|
-
}, "required", "
|
|
279
|
+
}, "required", "name" | "slug" | "type" | "extend" | `extend.${string}` | "parentGroupId" | "rootGroupId" | "isRoot" | "tags">, {
|
|
280
280
|
slug: ["slug", "_creationTime"];
|
|
281
281
|
parent_group_id: ["parentGroupId", "_creationTime"];
|
|
282
282
|
root_group_id: ["rootGroupId", "_creationTime"];
|
|
@@ -308,8 +308,8 @@ declare const _default: convex_server66.SchemaDefinition<{
|
|
|
308
308
|
* member of multiple groups with different roles in each.
|
|
309
309
|
*/
|
|
310
310
|
GroupMember: convex_server66.TableDefinition<convex_values121.VObject<{
|
|
311
|
-
extend?: any;
|
|
312
311
|
status?: string | undefined;
|
|
312
|
+
extend?: any;
|
|
313
313
|
role?: string | undefined;
|
|
314
314
|
roleIds?: string[] | undefined;
|
|
315
315
|
groupId: convex_values121.GenericId<"Group">;
|
|
@@ -321,7 +321,7 @@ declare const _default: convex_server66.SchemaDefinition<{
|
|
|
321
321
|
roleIds: convex_values121.VArray<string[] | undefined, convex_values121.VString<string, "required">, "optional">;
|
|
322
322
|
status: convex_values121.VString<string | undefined, "optional">;
|
|
323
323
|
extend: convex_values121.VAny<any, "optional", string>;
|
|
324
|
-
}, "required", "
|
|
324
|
+
}, "required", "status" | "groupId" | "extend" | "userId" | `extend.${string}` | "role" | "roleIds">, {
|
|
325
325
|
group_id: ["groupId", "_creationTime"];
|
|
326
326
|
group_id_user_id: ["groupId", "userId", "_creationTime"];
|
|
327
327
|
group_id_status: ["groupId", "status", "_creationTime"];
|
|
@@ -359,7 +359,7 @@ declare const _default: convex_server66.SchemaDefinition<{
|
|
|
359
359
|
acceptedByUserId: convex_values121.VId<convex_values121.GenericId<"User"> | undefined, "optional">;
|
|
360
360
|
acceptedTime: convex_values121.VFloat64<number | undefined, "optional">;
|
|
361
361
|
extend: convex_values121.VAny<any, "optional", string>;
|
|
362
|
-
}, "required", "email" | "groupId" | "
|
|
362
|
+
}, "required", "email" | "status" | "groupId" | "tokenHash" | "extend" | `extend.${string}` | "role" | "roleIds" | "invitedByUserId" | "expiresTime" | "acceptedByUserId" | "acceptedTime">, {
|
|
363
363
|
token_hash: ["tokenHash", "_creationTime"];
|
|
364
364
|
status: ["status", "_creationTime"];
|
|
365
365
|
email_status: ["email", "status", "_creationTime"];
|
|
@@ -375,7 +375,6 @@ declare const _default: convex_server66.SchemaDefinition<{
|
|
|
375
375
|
* field addition.
|
|
376
376
|
*/
|
|
377
377
|
Enterprise: convex_server66.TableDefinition<convex_values121.VObject<{
|
|
378
|
-
extend?: any;
|
|
379
378
|
name?: string | undefined;
|
|
380
379
|
slug?: string | undefined;
|
|
381
380
|
policy?: {
|
|
@@ -383,8 +382,8 @@ declare const _default: convex_server66.SchemaDefinition<{
|
|
|
383
382
|
version: 1;
|
|
384
383
|
identity: {
|
|
385
384
|
accountLinking: {
|
|
386
|
-
oidc: "verifiedEmail" | "none";
|
|
387
385
|
saml: "verifiedEmail" | "none";
|
|
386
|
+
oidc: "verifiedEmail" | "none";
|
|
388
387
|
};
|
|
389
388
|
};
|
|
390
389
|
provisioning: {
|
|
@@ -401,9 +400,10 @@ declare const _default: convex_server66.SchemaDefinition<{
|
|
|
401
400
|
};
|
|
402
401
|
};
|
|
403
402
|
} | undefined;
|
|
403
|
+
extend?: any;
|
|
404
404
|
config?: any;
|
|
405
|
-
groupId: convex_values121.GenericId<"Group">;
|
|
406
405
|
status: "draft" | "active" | "disabled";
|
|
406
|
+
groupId: convex_values121.GenericId<"Group">;
|
|
407
407
|
}, {
|
|
408
408
|
groupId: convex_values121.VId<convex_values121.GenericId<"Group">, "required">;
|
|
409
409
|
slug: convex_values121.VString<string | undefined, "optional">;
|
|
@@ -414,8 +414,8 @@ declare const _default: convex_server66.SchemaDefinition<{
|
|
|
414
414
|
version: 1;
|
|
415
415
|
identity: {
|
|
416
416
|
accountLinking: {
|
|
417
|
-
oidc: "verifiedEmail" | "none";
|
|
418
417
|
saml: "verifiedEmail" | "none";
|
|
418
|
+
oidc: "verifiedEmail" | "none";
|
|
419
419
|
};
|
|
420
420
|
};
|
|
421
421
|
provisioning: {
|
|
@@ -435,18 +435,18 @@ declare const _default: convex_server66.SchemaDefinition<{
|
|
|
435
435
|
version: convex_values121.VLiteral<1, "required">;
|
|
436
436
|
identity: convex_values121.VObject<{
|
|
437
437
|
accountLinking: {
|
|
438
|
-
oidc: "verifiedEmail" | "none";
|
|
439
438
|
saml: "verifiedEmail" | "none";
|
|
439
|
+
oidc: "verifiedEmail" | "none";
|
|
440
440
|
};
|
|
441
441
|
}, {
|
|
442
442
|
accountLinking: convex_values121.VObject<{
|
|
443
|
-
oidc: "verifiedEmail" | "none";
|
|
444
443
|
saml: "verifiedEmail" | "none";
|
|
444
|
+
oidc: "verifiedEmail" | "none";
|
|
445
445
|
}, {
|
|
446
446
|
oidc: convex_values121.VUnion<"verifiedEmail" | "none", [convex_values121.VLiteral<"verifiedEmail", "required">, convex_values121.VLiteral<"none", "required">], "required", never>;
|
|
447
447
|
saml: convex_values121.VUnion<"verifiedEmail" | "none", [convex_values121.VLiteral<"verifiedEmail", "required">, convex_values121.VLiteral<"none", "required">], "required", never>;
|
|
448
|
-
}, "required", "
|
|
449
|
-
}, "required", "accountLinking" | "accountLinking.
|
|
448
|
+
}, "required", "saml" | "oidc">;
|
|
449
|
+
}, "required", "accountLinking" | "accountLinking.saml" | "accountLinking.oidc">;
|
|
450
450
|
provisioning: convex_values121.VObject<{
|
|
451
451
|
scimReuse: {
|
|
452
452
|
user: "none" | "externalId";
|
|
@@ -481,10 +481,10 @@ declare const _default: convex_server66.SchemaDefinition<{
|
|
|
481
481
|
}, "required", "mode">;
|
|
482
482
|
}, "required", "scimReuse" | "jit" | "deprovision" | "scimReuse.user" | "jit.mode" | "jit.defaultRole" | "jit.defaultRoleIds" | "deprovision.mode">;
|
|
483
483
|
extend: convex_values121.VAny<any, "optional", string>;
|
|
484
|
-
}, "optional", "extend" | `extend.${string}` | "version" | "identity" | "provisioning" | "identity.accountLinking" | "identity.accountLinking.
|
|
484
|
+
}, "optional", "extend" | `extend.${string}` | "version" | "identity" | "provisioning" | "identity.accountLinking" | "identity.accountLinking.saml" | "identity.accountLinking.oidc" | "provisioning.scimReuse" | "provisioning.jit" | "provisioning.deprovision" | "provisioning.scimReuse.user" | "provisioning.jit.mode" | "provisioning.jit.defaultRole" | "provisioning.jit.defaultRoleIds" | "provisioning.deprovision.mode">;
|
|
485
485
|
config: convex_values121.VAny<any, "optional", string>;
|
|
486
486
|
extend: convex_values121.VAny<any, "optional", string>;
|
|
487
|
-
}, "required", "
|
|
487
|
+
}, "required", "name" | "slug" | "status" | "groupId" | "policy" | "extend" | `extend.${string}` | "config" | "policy.extend" | `policy.extend.${string}` | "policy.version" | "policy.identity" | "policy.provisioning" | "policy.identity.accountLinking" | "policy.identity.accountLinking.saml" | "policy.identity.accountLinking.oidc" | "policy.provisioning.scimReuse" | "policy.provisioning.jit" | "policy.provisioning.deprovision" | "policy.provisioning.scimReuse.user" | "policy.provisioning.jit.mode" | "policy.provisioning.jit.defaultRole" | "policy.provisioning.jit.defaultRoleIds" | "policy.provisioning.deprovision.mode" | `config.${string}`>, {
|
|
488
488
|
group_id: ["groupId", "_creationTime"];
|
|
489
489
|
slug: ["slug", "_creationTime"];
|
|
490
490
|
status: ["status", "_creationTime"];
|
|
@@ -494,9 +494,9 @@ declare const _default: convex_server66.SchemaDefinition<{
|
|
|
494
494
|
*/
|
|
495
495
|
EnterpriseDomain: convex_server66.TableDefinition<convex_values121.VObject<{
|
|
496
496
|
verifiedAt?: number | undefined;
|
|
497
|
+
enterpriseId: convex_values121.GenericId<"Enterprise">;
|
|
497
498
|
groupId: convex_values121.GenericId<"Group">;
|
|
498
499
|
domain: string;
|
|
499
|
-
enterpriseId: convex_values121.GenericId<"Enterprise">;
|
|
500
500
|
isPrimary: boolean;
|
|
501
501
|
}, {
|
|
502
502
|
enterpriseId: convex_values121.VId<convex_values121.GenericId<"Enterprise">, "required">;
|
|
@@ -504,7 +504,7 @@ declare const _default: convex_server66.SchemaDefinition<{
|
|
|
504
504
|
domain: convex_values121.VString<string, "required">;
|
|
505
505
|
isPrimary: convex_values121.VBoolean<boolean, "required">;
|
|
506
506
|
verifiedAt: convex_values121.VFloat64<number | undefined, "optional">;
|
|
507
|
-
}, "required", "
|
|
507
|
+
}, "required", "enterpriseId" | "groupId" | "domain" | "verifiedAt" | "isPrimary">, {
|
|
508
508
|
enterprise_id: ["enterpriseId", "_creationTime"];
|
|
509
509
|
group_id: ["groupId", "_creationTime"];
|
|
510
510
|
domain: ["domain", "_creationTime"];
|
|
@@ -513,11 +513,11 @@ declare const _default: convex_server66.SchemaDefinition<{
|
|
|
513
513
|
* Pending DNS TXT verification challenges for enterprise domains.
|
|
514
514
|
*/
|
|
515
515
|
EnterpriseDomainVerification: convex_server66.TableDefinition<convex_values121.VObject<{
|
|
516
|
+
enterpriseId: convex_values121.GenericId<"Enterprise">;
|
|
516
517
|
groupId: convex_values121.GenericId<"Group">;
|
|
517
518
|
domain: string;
|
|
518
|
-
expiresAt: number;
|
|
519
519
|
tokenHash: string;
|
|
520
|
-
|
|
520
|
+
expiresAt: number;
|
|
521
521
|
domainId: convex_values121.GenericId<"EnterpriseDomain">;
|
|
522
522
|
recordName: string;
|
|
523
523
|
token: string;
|
|
@@ -532,7 +532,7 @@ declare const _default: convex_server66.SchemaDefinition<{
|
|
|
532
532
|
tokenHash: convex_values121.VString<string, "required">;
|
|
533
533
|
requestedAt: convex_values121.VFloat64<number, "required">;
|
|
534
534
|
expiresAt: convex_values121.VFloat64<number, "required">;
|
|
535
|
-
}, "required", "
|
|
535
|
+
}, "required", "enterpriseId" | "groupId" | "domain" | "tokenHash" | "expiresAt" | "domainId" | "recordName" | "token" | "requestedAt">, {
|
|
536
536
|
enterprise_id: ["enterpriseId", "_creationTime"];
|
|
537
537
|
domain_id: ["domainId", "_creationTime"];
|
|
538
538
|
token_hash: ["tokenHash", "_creationTime"];
|
|
@@ -541,9 +541,9 @@ declare const _default: convex_server66.SchemaDefinition<{
|
|
|
541
541
|
* Encrypted enterprise secrets stored separately from protocol config.
|
|
542
542
|
*/
|
|
543
543
|
EnterpriseSecret: convex_server66.TableDefinition<convex_values121.VObject<{
|
|
544
|
+
enterpriseId: convex_values121.GenericId<"Enterprise">;
|
|
544
545
|
groupId: convex_values121.GenericId<"Group">;
|
|
545
546
|
kind: "oidc_client_secret";
|
|
546
|
-
enterpriseId: convex_values121.GenericId<"Enterprise">;
|
|
547
547
|
ciphertext: string;
|
|
548
548
|
updatedAt: number;
|
|
549
549
|
}, {
|
|
@@ -552,7 +552,7 @@ declare const _default: convex_server66.SchemaDefinition<{
|
|
|
552
552
|
kind: convex_values121.VUnion<"oidc_client_secret", [convex_values121.VLiteral<"oidc_client_secret", "required">], "required", never>;
|
|
553
553
|
ciphertext: convex_values121.VString<string, "required">;
|
|
554
554
|
updatedAt: convex_values121.VFloat64<number, "required">;
|
|
555
|
-
}, "required", "
|
|
555
|
+
}, "required", "enterpriseId" | "groupId" | "kind" | "ciphertext" | "updatedAt">, {
|
|
556
556
|
enterprise_id: ["enterpriseId", "_creationTime"];
|
|
557
557
|
enterprise_id_kind: ["enterpriseId", "kind", "_creationTime"];
|
|
558
558
|
group_id: ["groupId", "_creationTime"];
|
|
@@ -563,10 +563,10 @@ declare const _default: convex_server66.SchemaDefinition<{
|
|
|
563
563
|
EnterpriseScimConfig: convex_server66.TableDefinition<convex_values121.VObject<{
|
|
564
564
|
extend?: any;
|
|
565
565
|
lastRotatedAt?: number | undefined;
|
|
566
|
-
groupId: convex_values121.GenericId<"Group">;
|
|
567
566
|
status: "draft" | "active" | "disabled";
|
|
568
|
-
tokenHash: string;
|
|
569
567
|
enterpriseId: convex_values121.GenericId<"Enterprise">;
|
|
568
|
+
groupId: convex_values121.GenericId<"Group">;
|
|
569
|
+
tokenHash: string;
|
|
570
570
|
basePath: string;
|
|
571
571
|
}, {
|
|
572
572
|
enterpriseId: convex_values121.VId<convex_values121.GenericId<"Enterprise">, "required">;
|
|
@@ -576,7 +576,7 @@ declare const _default: convex_server66.SchemaDefinition<{
|
|
|
576
576
|
tokenHash: convex_values121.VString<string, "required">;
|
|
577
577
|
lastRotatedAt: convex_values121.VFloat64<number | undefined, "optional">;
|
|
578
578
|
extend: convex_values121.VAny<any, "optional", string>;
|
|
579
|
-
}, "required", "
|
|
579
|
+
}, "required", "status" | "enterpriseId" | "groupId" | "tokenHash" | "basePath" | "extend" | `extend.${string}` | "lastRotatedAt">, {
|
|
580
580
|
enterprise_id: ["enterpriseId", "_creationTime"];
|
|
581
581
|
group_id: ["groupId", "_creationTime"];
|
|
582
582
|
token_hash: ["tokenHash", "_creationTime"];
|
|
@@ -587,13 +587,13 @@ declare const _default: convex_server66.SchemaDefinition<{
|
|
|
587
587
|
*/
|
|
588
588
|
EnterpriseScimIdentity: convex_server66.TableDefinition<convex_values121.VObject<{
|
|
589
589
|
active?: boolean | undefined;
|
|
590
|
+
lastProvisionedAt?: number | undefined;
|
|
590
591
|
userId?: convex_values121.GenericId<"User"> | undefined;
|
|
591
592
|
mappedGroupId?: convex_values121.GenericId<"Group"> | undefined;
|
|
592
|
-
lastProvisionedAt?: number | undefined;
|
|
593
593
|
raw?: any;
|
|
594
|
+
enterpriseId: convex_values121.GenericId<"Enterprise">;
|
|
594
595
|
groupId: convex_values121.GenericId<"Group">;
|
|
595
596
|
externalId: string;
|
|
596
|
-
enterpriseId: convex_values121.GenericId<"Enterprise">;
|
|
597
597
|
resourceType: "user" | "group";
|
|
598
598
|
}, {
|
|
599
599
|
enterpriseId: convex_values121.VId<convex_values121.GenericId<"Enterprise">, "required">;
|
|
@@ -605,7 +605,7 @@ declare const _default: convex_server66.SchemaDefinition<{
|
|
|
605
605
|
lastProvisionedAt: convex_values121.VFloat64<number | undefined, "optional">;
|
|
606
606
|
active: convex_values121.VBoolean<boolean | undefined, "optional">;
|
|
607
607
|
raw: convex_values121.VAny<any, "optional", string>;
|
|
608
|
-
}, "required", "
|
|
608
|
+
}, "required", "active" | "enterpriseId" | "groupId" | "lastProvisionedAt" | "userId" | "externalId" | "resourceType" | "mappedGroupId" | "raw" | `raw.${string}`>, {
|
|
609
609
|
enterprise_id: ["enterpriseId", "_creationTime"];
|
|
610
610
|
group_id: ["groupId", "_creationTime"];
|
|
611
611
|
enterprise_id_resource_type_external_id: ["enterpriseId", "resourceType", "externalId", "_creationTime"];
|
|
@@ -622,9 +622,9 @@ declare const _default: convex_server66.SchemaDefinition<{
|
|
|
622
622
|
requestId?: string | undefined;
|
|
623
623
|
ip?: string | undefined;
|
|
624
624
|
metadata?: any;
|
|
625
|
-
groupId: convex_values121.GenericId<"Group">;
|
|
626
625
|
status: "success" | "failure";
|
|
627
626
|
enterpriseId: convex_values121.GenericId<"Enterprise">;
|
|
627
|
+
groupId: convex_values121.GenericId<"Group">;
|
|
628
628
|
actorType: "user" | "system" | "scim" | "api_key" | "webhook";
|
|
629
629
|
eventType: string;
|
|
630
630
|
subjectType: string;
|
|
@@ -642,7 +642,7 @@ declare const _default: convex_server66.SchemaDefinition<{
|
|
|
642
642
|
requestId: convex_values121.VString<string | undefined, "optional">;
|
|
643
643
|
ip: convex_values121.VString<string | undefined, "optional">;
|
|
644
644
|
metadata: convex_values121.VAny<any, "optional", string>;
|
|
645
|
-
}, "required", "
|
|
645
|
+
}, "required", "status" | "enterpriseId" | "groupId" | "actorType" | "eventType" | "actorId" | "subjectType" | "subjectId" | "occurredAt" | "requestId" | "ip" | "metadata" | `metadata.${string}`>, {
|
|
646
646
|
enterprise_id_occurred_at: ["enterpriseId", "occurredAt", "_creationTime"];
|
|
647
647
|
group_id_occurred_at: ["groupId", "occurredAt", "_creationTime"];
|
|
648
648
|
event_type_occurred_at: ["eventType", "occurredAt", "_creationTime"];
|
|
@@ -655,9 +655,9 @@ declare const _default: convex_server66.SchemaDefinition<{
|
|
|
655
655
|
createdByUserId?: convex_values121.GenericId<"User"> | undefined;
|
|
656
656
|
lastSuccessAt?: number | undefined;
|
|
657
657
|
lastFailureAt?: number | undefined;
|
|
658
|
-
groupId: convex_values121.GenericId<"Group">;
|
|
659
658
|
status: "active" | "disabled";
|
|
660
659
|
enterpriseId: convex_values121.GenericId<"Enterprise">;
|
|
660
|
+
groupId: convex_values121.GenericId<"Group">;
|
|
661
661
|
url: string;
|
|
662
662
|
secretHash: string;
|
|
663
663
|
subscriptions: string[];
|
|
@@ -674,7 +674,7 @@ declare const _default: convex_server66.SchemaDefinition<{
|
|
|
674
674
|
lastFailureAt: convex_values121.VFloat64<number | undefined, "optional">;
|
|
675
675
|
failureCount: convex_values121.VFloat64<number, "required">;
|
|
676
676
|
extend: convex_values121.VAny<any, "optional", string>;
|
|
677
|
-
}, "required", "
|
|
677
|
+
}, "required", "status" | "enterpriseId" | "groupId" | "extend" | `extend.${string}` | "url" | "secretHash" | "subscriptions" | "createdByUserId" | "lastSuccessAt" | "lastFailureAt" | "failureCount">, {
|
|
678
678
|
enterprise_id: ["enterpriseId", "_creationTime"];
|
|
679
679
|
group_id: ["groupId", "_creationTime"];
|
|
680
680
|
status: ["status", "_creationTime"];
|
|
@@ -689,8 +689,8 @@ declare const _default: convex_server66.SchemaDefinition<{
|
|
|
689
689
|
lastError?: string | undefined;
|
|
690
690
|
status: "pending" | "processing" | "delivered" | "failed";
|
|
691
691
|
enterpriseId: convex_values121.GenericId<"Enterprise">;
|
|
692
|
-
eventType: string;
|
|
693
692
|
endpointId: convex_values121.GenericId<"EnterpriseWebhookEndpoint">;
|
|
693
|
+
eventType: string;
|
|
694
694
|
attemptCount: number;
|
|
695
695
|
nextAttemptAt: number;
|
|
696
696
|
payload: any;
|
|
@@ -706,7 +706,7 @@ declare const _default: convex_server66.SchemaDefinition<{
|
|
|
706
706
|
lastResponseStatus: convex_values121.VFloat64<number | undefined, "optional">;
|
|
707
707
|
lastError: convex_values121.VString<string | undefined, "optional">;
|
|
708
708
|
payload: convex_values121.VAny<any, "required", string>;
|
|
709
|
-
}, "required", "status" | "enterpriseId" | "
|
|
709
|
+
}, "required", "status" | "enterpriseId" | "endpointId" | "eventType" | "auditEventId" | "attemptCount" | "nextAttemptAt" | "lastAttemptAt" | "lastResponseStatus" | "lastError" | "payload" | `payload.${string}`>, {
|
|
710
710
|
enterprise_id: ["enterpriseId", "_creationTime"];
|
|
711
711
|
status_next_attempt_at: ["status", "nextAttemptAt", "_creationTime"];
|
|
712
712
|
endpoint_id_status: ["endpointId", "status", "_creationTime"];
|
|
@@ -10,6 +10,8 @@ import { GenericId } from "convex/values";
|
|
|
10
10
|
* minus `component` (which is passed as the first constructor argument).
|
|
11
11
|
*/
|
|
12
12
|
type AuthConfig = Omit<ConvexAuthConfig, "component">;
|
|
13
|
+
/** Canonical user document type exposed by Convex Auth. */
|
|
14
|
+
type UserDoc = Doc<"User">;
|
|
13
15
|
type MemberApiWithAuthorization<TAuthorization extends AuthAuthorizationConfig | undefined> = Omit<ReturnType<typeof Auth>["auth"]["member"], "create" | "list" | "update" | "resolve"> & {
|
|
14
16
|
create: (ctx: Parameters<ReturnType<typeof Auth>["auth"]["member"]["create"]>[0], data: {
|
|
15
17
|
groupId: string;
|
|
@@ -151,19 +153,45 @@ type AuthApiBase<TAuthorization extends AuthAuthorizationConfig | undefined = un
|
|
|
151
153
|
};
|
|
152
154
|
};
|
|
153
155
|
/**
|
|
154
|
-
* Resolved auth context injected into `ctx.auth` by `auth.ctx()
|
|
156
|
+
* Resolved auth context injected into `ctx.auth` by `auth.ctx()` and
|
|
157
|
+
* {@link AuthCtx}. Also the expected return shape for custom
|
|
158
|
+
* {@link AuthCtxConfig.authResolve | authResolve} hooks.
|
|
155
159
|
*
|
|
156
160
|
* - `null` when unauthenticated.
|
|
157
161
|
* - `groupId` is `null` when the user has no active group set.
|
|
158
162
|
* - `role` / `grants` are `null` / `[]` when no active group or no membership.
|
|
163
|
+
*
|
|
164
|
+
* @example
|
|
165
|
+
* ```ts
|
|
166
|
+
* import type { AuthResolvedContext } from "@robelest/convex-auth/server";
|
|
167
|
+
*
|
|
168
|
+
* const mockAuth: AuthResolvedContext = {
|
|
169
|
+
* userId: "user123" as Id<"User">,
|
|
170
|
+
* user: { _id: "user123", email: "test@example.com" },
|
|
171
|
+
* groupId: "group456",
|
|
172
|
+
* role: "admin",
|
|
173
|
+
* grants: ["read", "write"],
|
|
174
|
+
* };
|
|
175
|
+
* ```
|
|
159
176
|
*/
|
|
160
177
|
type AuthResolvedContext = {
|
|
161
|
-
/** The authenticated user's document ID. */userId:
|
|
162
|
-
user:
|
|
178
|
+
/** The authenticated user's document ID. */userId: GenericId<"User">; /** The authenticated user's full document. */
|
|
179
|
+
user: UserDoc; /** The user's active group ID, or `null` if none set. */
|
|
163
180
|
groupId: string | null; /** The user's primary role in the active group, or `null`. */
|
|
164
181
|
role: string | null; /** Resolved grant strings from the user's role definitions. */
|
|
165
182
|
grants: string[];
|
|
166
183
|
};
|
|
184
|
+
type AuthCtxBase = {
|
|
185
|
+
getUserIdentity: () => Promise<UserIdentity | null>;
|
|
186
|
+
};
|
|
187
|
+
type RequiredAuthCtxState = AuthCtxBase & AuthResolvedContext;
|
|
188
|
+
type OptionalAuthCtxState = AuthCtxBase & {
|
|
189
|
+
userId: GenericId<"User"> | null;
|
|
190
|
+
user: UserDoc | null;
|
|
191
|
+
groupId: string | null;
|
|
192
|
+
role: string | null;
|
|
193
|
+
grants: string[];
|
|
194
|
+
};
|
|
167
195
|
type InternalSsoApi = ReturnType<typeof Auth>["auth"]["sso"];
|
|
168
196
|
type PublicSsoAdminApi = {
|
|
169
197
|
connection: InternalSsoApi["connection"] & {
|
|
@@ -280,8 +308,6 @@ declare function createAuth<P extends AuthProviderConfig[], TAuthorization exten
|
|
|
280
308
|
providers: P;
|
|
281
309
|
authorization?: TAuthorization;
|
|
282
310
|
}): ConvexAuthResult<P, TAuthorization>;
|
|
283
|
-
/** Canonical user document type exposed by Convex Auth. */
|
|
284
|
-
type UserDoc = Doc<"User">;
|
|
285
311
|
/**
|
|
286
312
|
* Configuration for {@link AuthCtx} context enrichment.
|
|
287
313
|
*
|
|
@@ -291,16 +317,42 @@ type UserDoc = Doc<"User">;
|
|
|
291
317
|
type AuthCtxConfig<TResolve extends Record<string, unknown> = Record<string, never>> = {
|
|
292
318
|
/** Allow unauthenticated callers and return `userId: null` / `user: null`. */optional?: boolean;
|
|
293
319
|
/**
|
|
294
|
-
* Attach additional derived fields to the auth context after the
|
|
320
|
+
* Attach additional derived fields to the auth context after the base auth
|
|
321
|
+
* context is resolved.
|
|
322
|
+
*/
|
|
323
|
+
resolve?: (ctx: any, user: UserDoc, auth: AuthResolvedContext) => Promise<TResolve> | TResolve;
|
|
324
|
+
/**
|
|
325
|
+
* Override or wrap the base auth resolution used by {@link AuthCtx}.
|
|
326
|
+
*
|
|
327
|
+
* Return `undefined` to fall back to the built-in resolver,
|
|
328
|
+
* `null` for an explicit unauthenticated state, or an
|
|
329
|
+
* {@link AuthResolvedContext} object to provide a pre-resolved auth state.
|
|
330
|
+
* This is useful for tests, proxy auth, impersonation flows, or any
|
|
331
|
+
* environment that needs to inject auth without depending on the standard
|
|
332
|
+
* Convex auth tables.
|
|
333
|
+
*
|
|
334
|
+
* @param ctx - The Convex function context.
|
|
335
|
+
* @param fallback - The built-in auth resolver used by {@link AuthCtx}.
|
|
336
|
+
* @returns Resolved auth state, `null`, or `undefined` to use the fallback.
|
|
337
|
+
*
|
|
338
|
+
* @example
|
|
339
|
+
* ```ts
|
|
340
|
+
* const authCtx = AuthCtx(auth, {
|
|
341
|
+
* authResolve: async (ctx, fallback) => {
|
|
342
|
+
* const injected = getInjectedAuth(ctx);
|
|
343
|
+
* return injected ?? (await fallback());
|
|
344
|
+
* },
|
|
345
|
+
* });
|
|
346
|
+
* ```
|
|
295
347
|
*/
|
|
296
|
-
|
|
348
|
+
authResolve?: (ctx: any, fallback: () => Promise<AuthResolvedContext | null>) => Promise<AuthResolvedContext | null | undefined> | AuthResolvedContext | null | undefined;
|
|
297
349
|
};
|
|
298
350
|
/**
|
|
299
351
|
* Create a context enrichment for `customQuery` / `customMutation` — optional auth.
|
|
300
352
|
*
|
|
301
353
|
* When `optional: true` is set, unauthenticated requests are allowed.
|
|
302
|
-
* The enriched `ctx.auth` will have `userId: null
|
|
303
|
-
* for unauthenticated callers.
|
|
354
|
+
* The enriched `ctx.auth` will have `userId: null`, `user: null`,
|
|
355
|
+
* `groupId: null`, `role: null`, and `grants: []` for unauthenticated callers.
|
|
304
356
|
*
|
|
305
357
|
* @param auth - The auth API object returned by {@link createAuth}.
|
|
306
358
|
* @param config - Configuration with `optional: true` and an optional
|
|
@@ -324,11 +376,7 @@ declare function AuthCtx<TResolve extends Record<string, unknown> = Record<strin
|
|
|
324
376
|
args: {};
|
|
325
377
|
input: (ctx: any, _args: any, _extra?: any) => Promise<{
|
|
326
378
|
ctx: {
|
|
327
|
-
auth:
|
|
328
|
-
getUserIdentity: () => Promise<UserIdentity | null>;
|
|
329
|
-
userId: GenericId<"User"> | null;
|
|
330
|
-
user: UserDoc | null;
|
|
331
|
-
} & TResolve;
|
|
379
|
+
auth: OptionalAuthCtxState & TResolve;
|
|
332
380
|
};
|
|
333
381
|
args: {};
|
|
334
382
|
}>;
|
|
@@ -338,8 +386,9 @@ declare function AuthCtx<TResolve extends Record<string, unknown> = Record<strin
|
|
|
338
386
|
*
|
|
339
387
|
* When `optional` is omitted or `false`, the inferred type is the authenticated
|
|
340
388
|
* auth shape. At runtime this helper still resolves instead of throwing, so if
|
|
341
|
-
* no user is signed in the returned `ctx.auth.userId`
|
|
342
|
-
* `null
|
|
389
|
+
* no user is signed in the returned `ctx.auth.userId` / `ctx.auth.user` are
|
|
390
|
+
* `null`, `ctx.auth.groupId` / `ctx.auth.role` are `null`, and
|
|
391
|
+
* `ctx.auth.grants` is `[]`.
|
|
343
392
|
*
|
|
344
393
|
* @param auth - The auth API object returned by {@link createAuth}.
|
|
345
394
|
* @param config - Optional configuration with a `resolve` callback
|
|
@@ -360,11 +409,7 @@ declare function AuthCtx<TResolve extends Record<string, unknown> = Record<strin
|
|
|
360
409
|
args: {};
|
|
361
410
|
input: (ctx: any, _args: any, _extra?: any) => Promise<{
|
|
362
411
|
ctx: {
|
|
363
|
-
auth:
|
|
364
|
-
getUserIdentity: () => Promise<UserIdentity | null>;
|
|
365
|
-
userId: GenericId<"User">;
|
|
366
|
-
user: UserDoc;
|
|
367
|
-
} & TResolve;
|
|
412
|
+
auth: RequiredAuthCtxState & TResolve;
|
|
368
413
|
};
|
|
369
414
|
args: {};
|
|
370
415
|
}>;
|
|
@@ -374,9 +419,10 @@ declare function AuthCtx<TResolve extends Record<string, unknown> = Record<strin
|
|
|
374
419
|
*
|
|
375
420
|
* Use this to type function parameters or variables that receive the
|
|
376
421
|
* enriched auth context produced by `AuthCtx`. The inferred type includes
|
|
377
|
-
* `userId`, `user`, `getUserIdentity`, and any
|
|
378
|
-
* by the `resolve` callback. This is the generic
|
|
379
|
-
* enriched auth shape without manually duplicating
|
|
422
|
+
* `userId`, `user`, `groupId`, `role`, `grants`, `getUserIdentity`, and any
|
|
423
|
+
* additional fields added by the `resolve` callback. This is the generic
|
|
424
|
+
* utility for reusing the enriched auth shape without manually duplicating
|
|
425
|
+
* conditional auth types.
|
|
380
426
|
*
|
|
381
427
|
* @typeParam T - An `AuthCtx` return value (must have an `input` method
|
|
382
428
|
* that returns `{ ctx: { auth: ... } }`).
|
|
@@ -400,5 +446,5 @@ type InferAuth<T extends {
|
|
|
400
446
|
}>;
|
|
401
447
|
}> = Awaited<ReturnType<T["input"]>>["ctx"]["auth"];
|
|
402
448
|
//#endregion
|
|
403
|
-
export { AuthApi, AuthConfig, AuthCtx, AuthCtxConfig, InferAuth, UserDoc, createAuth };
|
|
449
|
+
export { AuthApi, AuthConfig, AuthCtx, AuthCtxConfig, AuthResolvedContext, InferAuth, UserDoc, createAuth };
|
|
404
450
|
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","names":[],"sources":["../../../src/server/auth.ts"],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","names":[],"sources":["../../../src/server/auth.ts"],"mappings":"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"}
|