@robelest/convex-auth 0.0.4-preview.2 → 0.0.4-preview.21
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/README.md +67 -26
- package/dist/authorization/index.d.ts +63 -0
- package/dist/authorization/index.d.ts.map +1 -0
- package/dist/authorization/index.js +63 -0
- package/dist/authorization/index.js.map +1 -0
- package/dist/bin.js +6185 -0
- package/dist/client/core/types.d.ts +20 -0
- package/dist/client/core/types.d.ts.map +1 -0
- package/dist/client/index.d.ts +2 -299
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +407 -534
- package/dist/client/index.js.map +1 -1
- package/dist/component/_generated/api.d.ts +42 -0
- package/dist/component/_generated/api.d.ts.map +1 -1
- package/dist/component/_generated/api.js.map +1 -1
- package/dist/component/_generated/component.d.ts +2546 -90
- package/dist/component/_generated/component.d.ts.map +1 -1
- package/dist/component/client/core/types.d.ts +2 -0
- package/dist/component/client/index.d.ts +2 -0
- package/dist/component/convex.config.d.ts +2 -2
- package/dist/component/functions.d.ts +11 -9
- package/dist/component/functions.d.ts.map +1 -1
- package/dist/component/functions.js.map +1 -1
- package/dist/component/index.d.ts +7 -11
- package/dist/component/index.js +2 -3
- package/dist/component/model.d.ts +153 -0
- package/dist/component/model.d.ts.map +1 -0
- package/dist/component/model.js +349 -0
- package/dist/component/model.js.map +1 -0
- package/dist/component/providers/anonymous.d.ts +54 -0
- package/dist/component/providers/anonymous.d.ts.map +1 -0
- package/dist/component/providers/credentials.d.ts +5 -5
- package/dist/component/providers/credentials.d.ts.map +1 -1
- package/dist/component/providers/device.d.ts +67 -0
- package/dist/component/providers/device.d.ts.map +1 -0
- package/dist/component/providers/email.d.ts +62 -0
- package/dist/component/providers/email.d.ts.map +1 -0
- package/dist/component/providers/oauth.d.ts.map +1 -1
- package/dist/component/providers/oauth.js.map +1 -1
- package/dist/component/providers/passkey.d.ts +57 -0
- package/dist/component/providers/passkey.d.ts.map +1 -0
- package/dist/component/providers/password.d.ts +88 -0
- package/dist/component/providers/password.d.ts.map +1 -0
- package/dist/component/providers/phone.d.ts +48 -0
- package/dist/component/providers/phone.d.ts.map +1 -0
- package/dist/component/providers/sso.d.ts +50 -0
- package/dist/component/providers/sso.d.ts.map +1 -0
- package/dist/component/providers/totp.d.ts +45 -0
- package/dist/component/providers/totp.d.ts.map +1 -0
- package/dist/component/public/enterprise/audit.d.ts +73 -0
- package/dist/component/public/enterprise/audit.d.ts.map +1 -0
- package/dist/component/public/enterprise/audit.js +108 -0
- package/dist/component/public/enterprise/audit.js.map +1 -0
- package/dist/component/public/enterprise/core.d.ts +176 -0
- package/dist/component/public/enterprise/core.d.ts.map +1 -0
- package/dist/component/public/enterprise/core.js +292 -0
- package/dist/component/public/enterprise/core.js.map +1 -0
- package/dist/component/public/enterprise/domains.d.ts +174 -0
- package/dist/component/public/enterprise/domains.d.ts.map +1 -0
- package/dist/component/public/enterprise/domains.js +271 -0
- package/dist/component/public/enterprise/domains.js.map +1 -0
- package/dist/component/public/enterprise/scim.d.ts +245 -0
- package/dist/component/public/enterprise/scim.d.ts.map +1 -0
- package/dist/component/public/enterprise/scim.js +344 -0
- package/dist/component/public/enterprise/scim.js.map +1 -0
- package/dist/component/public/enterprise/secrets.d.ts +78 -0
- package/dist/component/public/enterprise/secrets.d.ts.map +1 -0
- package/dist/component/public/enterprise/secrets.js +118 -0
- package/dist/component/public/enterprise/secrets.js.map +1 -0
- package/dist/component/public/enterprise/webhooks.d.ts +211 -0
- package/dist/component/public/enterprise/webhooks.d.ts.map +1 -0
- package/dist/component/public/enterprise/webhooks.js +300 -0
- package/dist/component/public/enterprise/webhooks.js.map +1 -0
- package/dist/component/public/factors/devices.d.ts +157 -0
- package/dist/component/public/factors/devices.d.ts.map +1 -0
- package/dist/component/public/factors/devices.js +216 -0
- package/dist/component/public/factors/devices.js.map +1 -0
- package/dist/component/public/factors/passkeys.d.ts +175 -0
- package/dist/component/public/factors/passkeys.d.ts.map +1 -0
- package/dist/component/public/factors/passkeys.js +238 -0
- package/dist/component/public/factors/passkeys.js.map +1 -0
- package/dist/component/public/factors/totp.d.ts +189 -0
- package/dist/component/public/factors/totp.d.ts.map +1 -0
- package/dist/component/public/factors/totp.js +254 -0
- package/dist/component/public/factors/totp.js.map +1 -0
- package/dist/component/public/groups/core.d.ts +137 -0
- package/dist/component/public/groups/core.d.ts.map +1 -0
- package/dist/component/public/groups/core.js +321 -0
- package/dist/component/public/groups/core.js.map +1 -0
- package/dist/component/public/groups/invites.d.ts +217 -0
- package/dist/component/public/groups/invites.d.ts.map +1 -0
- package/dist/component/public/groups/invites.js +457 -0
- package/dist/component/public/groups/invites.js.map +1 -0
- package/dist/component/public/groups/members.d.ts +204 -0
- package/dist/component/public/groups/members.d.ts.map +1 -0
- package/dist/component/public/groups/members.js +355 -0
- package/dist/component/public/groups/members.js.map +1 -0
- package/dist/component/public/identity/accounts.d.ts +147 -0
- package/dist/component/public/identity/accounts.d.ts.map +1 -0
- package/dist/component/public/identity/accounts.js +200 -0
- package/dist/component/public/identity/accounts.js.map +1 -0
- package/dist/component/public/identity/codes.d.ts +104 -0
- package/dist/component/public/identity/codes.d.ts.map +1 -0
- package/dist/component/public/identity/codes.js +140 -0
- package/dist/component/public/identity/codes.js.map +1 -0
- package/dist/component/public/identity/sessions.d.ts +128 -0
- package/dist/component/public/identity/sessions.d.ts.map +1 -0
- package/dist/component/public/identity/sessions.js +192 -0
- package/dist/component/public/identity/sessions.js.map +1 -0
- package/dist/component/public/identity/tokens.d.ts +169 -0
- package/dist/component/public/identity/tokens.d.ts.map +1 -0
- package/dist/component/public/identity/tokens.js +227 -0
- package/dist/component/public/identity/tokens.js.map +1 -0
- package/dist/component/public/identity/users.d.ts +212 -0
- package/dist/component/public/identity/users.d.ts.map +1 -0
- package/dist/component/public/identity/users.js +311 -0
- package/dist/component/public/identity/users.js.map +1 -0
- package/dist/component/public/identity/verifiers.d.ts +116 -0
- package/dist/component/public/identity/verifiers.d.ts.map +1 -0
- package/dist/component/public/identity/verifiers.js +154 -0
- package/dist/component/public/identity/verifiers.js.map +1 -0
- package/dist/component/public/security/keys.d.ts +209 -0
- package/dist/component/public/security/keys.d.ts.map +1 -0
- package/dist/component/public/security/keys.js +319 -0
- package/dist/component/public/security/keys.js.map +1 -0
- package/dist/component/public/security/limits.d.ts +114 -0
- package/dist/component/public/security/limits.d.ts.map +1 -0
- package/dist/component/public/security/limits.js +169 -0
- package/dist/component/public/security/limits.js.map +1 -0
- package/dist/component/public.d.ts +24 -271
- package/dist/component/public.d.ts.map +1 -1
- package/dist/component/public.js +21 -1229
- package/dist/component/schema.d.ts +473 -110
- package/dist/component/schema.js +162 -73
- package/dist/component/schema.js.map +1 -1
- package/dist/component/server/auth.d.ts +318 -373
- package/dist/component/server/auth.d.ts.map +1 -1
- package/dist/component/server/auth.js +204 -123
- package/dist/component/server/auth.js.map +1 -1
- package/dist/component/server/authError.js +34 -0
- package/dist/component/server/authError.js.map +1 -0
- package/dist/component/server/{providers.js → config.js} +43 -12
- package/dist/component/server/config.js.map +1 -0
- package/dist/component/server/cookies.js +3 -0
- package/dist/component/server/cookies.js.map +1 -1
- package/dist/component/server/core.js +713 -0
- package/dist/component/server/core.js.map +1 -0
- package/dist/component/server/crypto.js +38 -0
- package/dist/component/server/crypto.js.map +1 -0
- package/dist/component/server/{implementation/db.js → db.js} +2 -1
- package/dist/component/server/db.js.map +1 -0
- package/dist/component/server/device.js +109 -0
- package/dist/component/server/device.js.map +1 -0
- package/dist/component/server/enterprise/config.js +46 -0
- package/dist/component/server/enterprise/config.js.map +1 -0
- package/dist/component/server/enterprise/domain.js +885 -0
- package/dist/component/server/enterprise/domain.js.map +1 -0
- package/dist/component/server/enterprise/http.js +766 -0
- package/dist/component/server/enterprise/http.js.map +1 -0
- package/dist/component/server/enterprise/oidc.js +248 -0
- package/dist/component/server/enterprise/oidc.js.map +1 -0
- package/dist/component/server/enterprise/policy.js +85 -0
- package/dist/component/server/enterprise/policy.js.map +1 -0
- package/dist/component/server/enterprise/saml.js +338 -0
- package/dist/component/server/enterprise/saml.js.map +1 -0
- package/dist/component/server/enterprise/scim.js +97 -0
- package/dist/component/server/enterprise/scim.js.map +1 -0
- package/dist/component/server/enterprise/shared.js +51 -0
- package/dist/component/server/enterprise/shared.js.map +1 -0
- package/dist/component/server/errors.d.ts +1 -0
- package/dist/component/server/errors.js +24 -16
- package/dist/component/server/errors.js.map +1 -1
- package/dist/component/server/http.js +288 -0
- package/dist/component/server/http.js.map +1 -0
- package/dist/component/server/identity.js +13 -0
- package/dist/component/server/identity.js.map +1 -0
- package/dist/{server/implementation → component/server}/keys.js +9 -31
- package/dist/component/server/keys.js.map +1 -0
- package/dist/component/server/limits.js +61 -0
- package/dist/component/server/limits.js.map +1 -0
- package/dist/component/server/mutations/account.js +44 -0
- package/dist/component/server/mutations/account.js.map +1 -0
- package/dist/component/server/{implementation/mutations → mutations}/code.js +7 -4
- package/dist/component/server/mutations/code.js.map +1 -0
- package/dist/component/server/mutations/invalidate.js +32 -0
- package/dist/component/server/mutations/invalidate.js.map +1 -0
- package/dist/component/server/mutations/oauth.js +110 -0
- package/dist/component/server/mutations/oauth.js.map +1 -0
- package/dist/component/server/mutations/refresh.js +119 -0
- package/dist/component/server/mutations/refresh.js.map +1 -0
- package/dist/component/server/mutations/register.js +83 -0
- package/dist/component/server/mutations/register.js.map +1 -0
- package/dist/component/server/mutations/retrieve.js +65 -0
- package/dist/component/server/mutations/retrieve.js.map +1 -0
- package/dist/component/server/mutations/signature.js +32 -0
- package/dist/component/server/mutations/signature.js.map +1 -0
- package/dist/component/server/{implementation/mutations → mutations}/signin.js +2 -2
- package/dist/component/server/mutations/signin.js.map +1 -0
- package/dist/component/server/mutations/signout.js +27 -0
- package/dist/component/server/mutations/signout.js.map +1 -0
- package/dist/component/server/mutations/store/refs.js +15 -0
- package/dist/component/server/mutations/store/refs.js.map +1 -0
- package/dist/component/server/mutations/store.js +85 -0
- package/dist/component/server/mutations/store.js.map +1 -0
- package/dist/component/server/mutations/verifier.js +18 -0
- package/dist/component/server/mutations/verifier.js.map +1 -0
- package/dist/component/server/mutations/verify.js +98 -0
- package/dist/component/server/mutations/verify.js.map +1 -0
- package/dist/component/server/oauth.js +106 -60
- package/dist/component/server/oauth.js.map +1 -1
- package/dist/component/server/passkey.js +328 -0
- package/dist/component/server/passkey.js.map +1 -0
- package/dist/{server/implementation → component/server}/redirects.js +13 -11
- package/dist/component/server/redirects.js.map +1 -0
- package/dist/component/server/refresh.js +96 -0
- package/dist/component/server/refresh.js.map +1 -0
- package/dist/component/server/runtime.d.ts +136 -0
- package/dist/component/server/runtime.d.ts.map +1 -0
- package/dist/component/server/runtime.js +413 -0
- package/dist/component/server/runtime.js.map +1 -0
- package/dist/{server/implementation → component/server}/sessions.js +14 -8
- package/dist/component/server/sessions.js.map +1 -0
- package/dist/component/server/signin.js +201 -0
- package/dist/component/server/signin.js.map +1 -0
- package/dist/component/server/tokens.js +17 -0
- package/dist/component/server/tokens.js.map +1 -0
- package/dist/component/server/totp.js +148 -0
- package/dist/component/server/totp.js.map +1 -0
- package/dist/component/server/types.d.ts +387 -298
- package/dist/component/server/types.d.ts.map +1 -1
- package/dist/component/server/{implementation/types.js → types.js} +1 -1
- package/dist/component/server/types.js.map +1 -0
- package/dist/component/server/{implementation/users.js → users.js} +54 -35
- package/dist/component/server/users.js.map +1 -0
- package/dist/component/server/utils.js +110 -4
- package/dist/component/server/utils.js.map +1 -1
- package/dist/core/types.d.ts +369 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/factors/device.js +105 -0
- package/dist/factors/device.js.map +1 -0
- package/dist/factors/passkey.js +181 -0
- package/dist/factors/passkey.js.map +1 -0
- package/dist/factors/totp.js +122 -0
- package/dist/factors/totp.js.map +1 -0
- package/dist/providers/anonymous.d.ts +3 -9
- package/dist/providers/anonymous.d.ts.map +1 -1
- package/dist/providers/anonymous.js +1 -18
- package/dist/providers/anonymous.js.map +1 -1
- package/dist/providers/credentials.d.ts +8 -10
- package/dist/providers/credentials.d.ts.map +1 -1
- package/dist/providers/credentials.js +3 -5
- package/dist/providers/credentials.js.map +1 -1
- package/dist/providers/device.d.ts +18 -10
- package/dist/providers/device.d.ts.map +1 -1
- package/dist/providers/device.js +4 -8
- package/dist/providers/device.js.map +1 -1
- package/dist/providers/email.d.ts +50 -23
- package/dist/providers/email.d.ts.map +1 -1
- package/dist/providers/email.js +58 -34
- package/dist/providers/email.js.map +1 -1
- package/dist/providers/index.d.ts +7 -3
- package/dist/providers/index.js +4 -1
- package/dist/providers/oauth.d.ts.map +1 -1
- package/dist/providers/oauth.js.map +1 -1
- package/dist/providers/passkey.d.ts +12 -9
- package/dist/providers/passkey.d.ts.map +1 -1
- package/dist/providers/passkey.js +1 -7
- package/dist/providers/passkey.js.map +1 -1
- package/dist/providers/password.d.ts +6 -12
- package/dist/providers/password.d.ts.map +1 -1
- package/dist/providers/password.js +189 -89
- package/dist/providers/password.js.map +1 -1
- package/dist/providers/phone.d.ts +40 -11
- package/dist/providers/phone.d.ts.map +1 -1
- package/dist/providers/phone.js +52 -21
- package/dist/providers/phone.js.map +1 -1
- package/dist/providers/sso.d.ts +50 -0
- package/dist/providers/sso.d.ts.map +1 -0
- package/dist/providers/sso.js +34 -0
- package/dist/providers/sso.js.map +1 -0
- package/dist/providers/totp.d.ts +12 -9
- package/dist/providers/totp.d.ts.map +1 -1
- package/dist/providers/totp.js +1 -7
- package/dist/providers/totp.js.map +1 -1
- package/dist/runtime/browser.js +68 -0
- package/dist/runtime/browser.js.map +1 -0
- package/dist/runtime/invite.js +51 -0
- package/dist/runtime/invite.js.map +1 -0
- package/dist/runtime/proxy.js +70 -0
- package/dist/runtime/proxy.js.map +1 -0
- package/dist/runtime/storage.js +37 -0
- package/dist/runtime/storage.js.map +1 -0
- package/dist/server/auth.d.ts +335 -370
- package/dist/server/auth.d.ts.map +1 -1
- package/dist/server/auth.js +204 -123
- package/dist/server/auth.js.map +1 -1
- package/dist/server/authError.d.ts +46 -0
- package/dist/server/authError.d.ts.map +1 -0
- package/dist/server/authError.js +34 -0
- package/dist/server/authError.js.map +1 -0
- package/dist/server/config.d.ts +1 -0
- package/dist/server/{providers.js → config.js} +43 -12
- package/dist/server/config.js.map +1 -0
- package/dist/server/cookies.d.ts +1 -38
- package/dist/server/cookies.js +3 -0
- package/dist/server/cookies.js.map +1 -1
- package/dist/server/core.d.ts +1436 -0
- package/dist/server/core.d.ts.map +1 -0
- package/dist/server/core.js +713 -0
- package/dist/server/core.js.map +1 -0
- package/dist/server/crypto.d.ts +8 -0
- package/dist/server/crypto.d.ts.map +1 -0
- package/dist/server/crypto.js +38 -0
- package/dist/server/crypto.js.map +1 -0
- package/dist/server/db.d.ts +1 -0
- package/dist/server/{implementation/db.js → db.js} +2 -1
- package/dist/server/db.js.map +1 -0
- package/dist/server/device.d.ts +1 -0
- package/dist/server/device.js +109 -0
- package/dist/server/device.js.map +1 -0
- package/dist/server/enterprise/config.d.ts +1 -0
- package/dist/server/enterprise/config.js +46 -0
- package/dist/server/enterprise/config.js.map +1 -0
- package/dist/server/enterprise/domain.d.ts +409 -0
- package/dist/server/enterprise/domain.d.ts.map +1 -0
- package/dist/server/enterprise/domain.js +885 -0
- package/dist/server/enterprise/domain.js.map +1 -0
- package/dist/server/enterprise/http.d.ts +26 -0
- package/dist/server/enterprise/http.d.ts.map +1 -0
- package/dist/server/enterprise/http.js +766 -0
- package/dist/server/enterprise/http.js.map +1 -0
- package/dist/server/enterprise/oidc.d.ts +1 -0
- package/dist/server/enterprise/oidc.js +248 -0
- package/dist/server/enterprise/oidc.js.map +1 -0
- package/dist/server/enterprise/policy.d.ts +1 -0
- package/dist/server/enterprise/policy.js +85 -0
- package/dist/server/enterprise/policy.js.map +1 -0
- package/dist/server/enterprise/saml.d.ts +1 -0
- package/dist/server/enterprise/saml.js +338 -0
- package/dist/server/enterprise/saml.js.map +1 -0
- package/dist/server/enterprise/scim.d.ts +1 -0
- package/dist/server/enterprise/scim.js +97 -0
- package/dist/server/enterprise/scim.js.map +1 -0
- package/dist/server/enterprise/shared.d.ts +5 -0
- package/dist/server/enterprise/shared.d.ts.map +1 -0
- package/dist/server/enterprise/shared.js +51 -0
- package/dist/server/enterprise/shared.js.map +1 -0
- package/dist/server/enterprise/validators.d.ts +1 -0
- package/dist/server/enterprise/validators.js +60 -0
- package/dist/server/enterprise/validators.js.map +1 -0
- package/dist/server/errors.d.ts +33 -1
- package/dist/server/errors.d.ts.map +1 -1
- package/dist/server/errors.js +44 -1
- package/dist/server/errors.js.map +1 -1
- package/dist/server/http.d.ts +59 -0
- package/dist/server/http.d.ts.map +1 -0
- package/dist/server/http.js +288 -0
- package/dist/server/http.js.map +1 -0
- package/dist/server/identity.d.ts +1 -0
- package/dist/server/identity.js +13 -0
- package/dist/server/identity.js.map +1 -0
- package/dist/server/index.d.ts +4 -182
- package/dist/server/index.js +4 -376
- package/dist/server/keys.d.ts +1 -0
- package/dist/{component/server/implementation → server}/keys.js +9 -31
- package/dist/server/keys.js.map +1 -0
- package/dist/server/limits.d.ts +1 -0
- package/dist/server/limits.js +61 -0
- package/dist/server/limits.js.map +1 -0
- package/dist/server/mounts.d.ts +647 -0
- package/dist/server/mounts.d.ts.map +1 -0
- package/dist/server/mounts.js +643 -0
- package/dist/server/mounts.js.map +1 -0
- package/dist/server/mutations/account.d.ts +30 -0
- package/dist/server/mutations/account.d.ts.map +1 -0
- package/dist/server/mutations/account.js +44 -0
- package/dist/server/mutations/account.js.map +1 -0
- package/dist/server/mutations/code.d.ts +30 -0
- package/dist/server/mutations/code.d.ts.map +1 -0
- package/dist/server/{implementation/mutations → mutations}/code.js +7 -4
- package/dist/server/mutations/code.js.map +1 -0
- package/dist/server/mutations/index.d.ts +14 -0
- package/dist/server/mutations/index.js +15 -0
- package/dist/server/mutations/invalidate.d.ts +20 -0
- package/dist/server/mutations/invalidate.d.ts.map +1 -0
- package/dist/server/mutations/invalidate.js +32 -0
- package/dist/server/mutations/invalidate.js.map +1 -0
- package/dist/server/mutations/oauth.d.ts +28 -0
- package/dist/server/mutations/oauth.d.ts.map +1 -0
- package/dist/server/mutations/oauth.js +110 -0
- package/dist/server/mutations/oauth.js.map +1 -0
- package/dist/server/mutations/refresh.d.ts +21 -0
- package/dist/server/mutations/refresh.d.ts.map +1 -0
- package/dist/server/mutations/refresh.js +119 -0
- package/dist/server/mutations/refresh.js.map +1 -0
- package/dist/server/mutations/register.d.ts +38 -0
- package/dist/server/mutations/register.d.ts.map +1 -0
- package/dist/server/mutations/register.js +83 -0
- package/dist/server/mutations/register.js.map +1 -0
- package/dist/server/mutations/retrieve.d.ts +33 -0
- package/dist/server/mutations/retrieve.d.ts.map +1 -0
- package/dist/server/mutations/retrieve.js +65 -0
- package/dist/server/mutations/retrieve.js.map +1 -0
- package/dist/server/mutations/signature.d.ts +22 -0
- package/dist/server/mutations/signature.d.ts.map +1 -0
- package/dist/server/mutations/signature.js +32 -0
- package/dist/server/mutations/signature.js.map +1 -0
- package/dist/server/mutations/signin.d.ts +22 -0
- package/dist/server/mutations/signin.d.ts.map +1 -0
- package/dist/server/{implementation/mutations → mutations}/signin.js +2 -2
- package/dist/server/mutations/signin.js.map +1 -0
- package/dist/server/mutations/signout.d.ts +16 -0
- package/dist/server/mutations/signout.d.ts.map +1 -0
- package/dist/server/mutations/signout.js +27 -0
- package/dist/server/mutations/signout.js.map +1 -0
- package/dist/server/mutations/store/refs.d.ts +12 -0
- package/dist/server/mutations/store/refs.d.ts.map +1 -0
- package/dist/server/mutations/store/refs.js +15 -0
- package/dist/server/mutations/store/refs.js.map +1 -0
- package/dist/server/mutations/store.d.ts +306 -0
- package/dist/server/mutations/store.d.ts.map +1 -0
- package/dist/server/mutations/store.js +85 -0
- package/dist/server/mutations/store.js.map +1 -0
- package/dist/server/mutations/verifier.d.ts +13 -0
- package/dist/server/mutations/verifier.d.ts.map +1 -0
- package/dist/server/mutations/verifier.js +18 -0
- package/dist/server/mutations/verifier.js.map +1 -0
- package/dist/server/mutations/verify.d.ts +26 -0
- package/dist/server/mutations/verify.d.ts.map +1 -0
- package/dist/server/mutations/verify.js +98 -0
- package/dist/server/mutations/verify.js.map +1 -0
- package/dist/server/oauth.d.ts +1 -48
- package/dist/server/oauth.js +107 -64
- package/dist/server/oauth.js.map +1 -1
- package/dist/server/passkey.d.ts +27 -0
- package/dist/server/passkey.d.ts.map +1 -0
- package/dist/server/passkey.js +328 -0
- package/dist/server/passkey.js.map +1 -0
- package/dist/server/redirects.d.ts +1 -0
- package/dist/{component/server/implementation → server}/redirects.js +13 -11
- package/dist/server/redirects.js.map +1 -0
- package/dist/server/refresh.d.ts +1 -0
- package/dist/server/refresh.js +96 -0
- package/dist/server/refresh.js.map +1 -0
- package/dist/server/runtime.d.ts +136 -0
- package/dist/server/runtime.d.ts.map +1 -0
- package/dist/server/runtime.js +413 -0
- package/dist/server/runtime.js.map +1 -0
- package/dist/server/sessions.d.ts +1 -0
- package/dist/{component/server/implementation → server}/sessions.js +14 -8
- package/dist/server/sessions.js.map +1 -0
- package/dist/server/signin.d.ts +1 -0
- package/dist/server/signin.js +201 -0
- package/dist/server/signin.js.map +1 -0
- package/dist/server/ssr.d.ts +226 -0
- package/dist/server/ssr.d.ts.map +1 -0
- package/dist/server/ssr.js +786 -0
- package/dist/server/ssr.js.map +1 -0
- package/dist/server/templates.d.ts +1 -21
- package/dist/server/templates.js +2 -1
- package/dist/server/templates.js.map +1 -1
- package/dist/server/tokens.d.ts +1 -0
- package/dist/server/tokens.js +17 -0
- package/dist/server/tokens.js.map +1 -0
- package/dist/server/totp.d.ts +1 -0
- package/dist/server/totp.js +148 -0
- package/dist/server/totp.js.map +1 -0
- package/dist/server/types.d.ts +498 -306
- package/dist/server/types.d.ts.map +1 -1
- package/dist/server/types.js +108 -1
- package/dist/server/types.js.map +1 -0
- package/dist/server/users.d.ts +1 -0
- package/dist/server/{implementation/users.js → users.js} +54 -35
- package/dist/server/users.js.map +1 -0
- package/dist/server/utils.d.ts +1 -6
- package/dist/server/utils.js +110 -4
- package/dist/server/utils.js.map +1 -1
- package/package.json +49 -46
- package/src/authorization/index.ts +83 -0
- package/src/cli/bin.ts +5 -0
- package/src/cli/command.ts +6 -5
- package/src/cli/index.ts +456 -248
- package/src/cli/keys.ts +3 -0
- package/src/client/core/types.ts +437 -0
- package/src/client/factors/device.ts +160 -0
- package/src/client/factors/passkey.ts +282 -0
- package/src/client/factors/totp.ts +150 -0
- package/src/client/index.ts +745 -989
- package/src/client/runtime/browser.ts +112 -0
- package/src/client/runtime/invite.ts +65 -0
- package/src/client/runtime/proxy.ts +111 -0
- package/src/client/runtime/storage.ts +79 -0
- package/src/component/_generated/api.ts +42 -0
- package/src/component/_generated/component.ts +3123 -102
- package/src/component/functions.ts +38 -22
- package/src/component/index.ts +10 -20
- package/src/component/model.ts +449 -0
- package/src/component/public/enterprise/audit.ts +120 -0
- package/src/component/public/enterprise/core.ts +354 -0
- package/src/component/public/enterprise/domains.ts +323 -0
- package/src/component/public/enterprise/scim.ts +396 -0
- package/src/component/public/enterprise/secrets.ts +132 -0
- package/src/component/public/enterprise/webhooks.ts +306 -0
- package/src/component/public/factors/devices.ts +223 -0
- package/src/component/public/factors/passkeys.ts +242 -0
- package/src/component/public/factors/totp.ts +258 -0
- package/src/component/public/groups/core.ts +481 -0
- package/src/component/public/groups/invites.ts +602 -0
- package/src/component/public/groups/members.ts +409 -0
- package/src/component/public/identity/accounts.ts +206 -0
- package/src/component/public/identity/codes.ts +148 -0
- package/src/component/public/identity/sessions.ts +209 -0
- package/src/component/public/identity/tokens.ts +250 -0
- package/src/component/public/identity/users.ts +354 -0
- package/src/component/public/identity/verifiers.ts +157 -0
- package/src/component/public/security/keys.ts +365 -0
- package/src/component/public/security/limits.ts +173 -0
- package/src/component/public.ts +26 -1766
- package/src/component/schema.ts +273 -100
- package/src/providers/anonymous.ts +10 -20
- package/src/providers/credentials.ts +14 -22
- package/src/providers/device.ts +3 -14
- package/src/providers/email.ts +83 -47
- package/src/providers/index.ts +7 -0
- package/src/providers/oauth.ts +5 -3
- package/src/providers/passkey.ts +0 -13
- package/src/providers/password.ts +307 -130
- package/src/providers/phone.ts +81 -37
- package/src/providers/sso.ts +54 -0
- package/src/providers/totp.ts +0 -13
- package/src/samlify.d.ts +53 -0
- package/src/server/auth.ts +701 -247
- package/src/server/authError.ts +44 -0
- package/src/server/{providers.ts → config.ts} +84 -15
- package/src/server/cookies.ts +8 -1
- package/src/server/core.ts +2095 -0
- package/src/server/crypto.ts +88 -0
- package/src/server/{implementation/db.ts → db.ts} +90 -15
- package/src/server/device.ts +221 -0
- package/src/server/enterprise/config.ts +51 -0
- package/src/server/enterprise/domain.ts +1751 -0
- package/src/server/enterprise/http.ts +1324 -0
- package/src/server/enterprise/oidc.ts +500 -0
- package/src/server/enterprise/policy.ts +128 -0
- package/src/server/enterprise/saml.ts +578 -0
- package/src/server/enterprise/scim.ts +135 -0
- package/src/server/enterprise/shared.ts +134 -0
- package/src/server/enterprise/validators.ts +93 -0
- package/src/server/errors.ts +130 -119
- package/src/server/http.ts +531 -0
- package/src/server/identity.ts +18 -0
- package/src/server/index.ts +32 -650
- package/src/server/{implementation/keys.ts → keys.ts} +16 -44
- package/src/server/limits.ts +134 -0
- package/src/server/mounts.ts +948 -0
- package/src/server/mutations/account.ts +76 -0
- package/src/server/{implementation/mutations → mutations}/code.ts +22 -11
- package/src/server/mutations/index.ts +13 -0
- package/src/server/mutations/invalidate.ts +50 -0
- package/src/server/mutations/oauth.ts +237 -0
- package/src/server/mutations/refresh.ts +298 -0
- package/src/server/mutations/register.ts +200 -0
- package/src/server/mutations/retrieve.ts +109 -0
- package/src/server/mutations/signature.ts +50 -0
- package/src/server/{implementation/mutations → mutations}/signin.ts +9 -7
- package/src/server/mutations/signout.ts +43 -0
- package/src/server/mutations/store/refs.ts +10 -0
- package/src/server/mutations/store.ts +138 -0
- package/src/server/mutations/verifier.ts +34 -0
- package/src/server/mutations/verify.ts +202 -0
- package/src/server/oauth.ts +243 -131
- package/src/server/passkey.ts +784 -0
- package/src/server/{implementation/redirects.ts → redirects.ts} +21 -16
- package/src/server/refresh.ts +222 -0
- package/src/server/runtime.ts +880 -0
- package/src/server/{implementation/sessions.ts → sessions.ts} +33 -25
- package/src/server/signin.ts +438 -0
- package/src/server/ssr.ts +1764 -0
- package/src/server/templates.ts +8 -3
- package/src/server/{implementation/tokens.ts → tokens.ts} +11 -5
- package/src/server/totp.ts +349 -0
- package/src/server/types.ts +972 -207
- package/src/server/{implementation/users.ts → users.ts} +129 -75
- package/src/server/utils.ts +192 -5
- package/src/test.ts +28 -4
- package/dist/bin.cjs +0 -27757
- package/dist/component/providers/email.js +0 -47
- package/dist/component/providers/email.js.map +0 -1
- package/dist/component/public.js.map +0 -1
- package/dist/component/server/implementation/db.js.map +0 -1
- package/dist/component/server/implementation/device.js +0 -135
- package/dist/component/server/implementation/device.js.map +0 -1
- package/dist/component/server/implementation/index.d.ts +0 -870
- package/dist/component/server/implementation/index.d.ts.map +0 -1
- package/dist/component/server/implementation/index.js +0 -610
- package/dist/component/server/implementation/index.js.map +0 -1
- package/dist/component/server/implementation/keys.js.map +0 -1
- package/dist/component/server/implementation/mutations/account.js +0 -39
- package/dist/component/server/implementation/mutations/account.js.map +0 -1
- package/dist/component/server/implementation/mutations/code.js.map +0 -1
- package/dist/component/server/implementation/mutations/index.js +0 -70
- package/dist/component/server/implementation/mutations/index.js.map +0 -1
- package/dist/component/server/implementation/mutations/invalidate.js +0 -29
- package/dist/component/server/implementation/mutations/invalidate.js.map +0 -1
- package/dist/component/server/implementation/mutations/oauth.js +0 -51
- package/dist/component/server/implementation/mutations/oauth.js.map +0 -1
- package/dist/component/server/implementation/mutations/refresh.js +0 -85
- package/dist/component/server/implementation/mutations/refresh.js.map +0 -1
- package/dist/component/server/implementation/mutations/register.js +0 -65
- package/dist/component/server/implementation/mutations/register.js.map +0 -1
- package/dist/component/server/implementation/mutations/retrieve.js +0 -50
- package/dist/component/server/implementation/mutations/retrieve.js.map +0 -1
- package/dist/component/server/implementation/mutations/signature.js +0 -27
- package/dist/component/server/implementation/mutations/signature.js.map +0 -1
- package/dist/component/server/implementation/mutations/signin.js.map +0 -1
- package/dist/component/server/implementation/mutations/signout.js +0 -27
- package/dist/component/server/implementation/mutations/signout.js.map +0 -1
- package/dist/component/server/implementation/mutations/store.js +0 -12
- package/dist/component/server/implementation/mutations/store.js.map +0 -1
- package/dist/component/server/implementation/mutations/verifier.js +0 -16
- package/dist/component/server/implementation/mutations/verifier.js.map +0 -1
- package/dist/component/server/implementation/mutations/verify.js +0 -105
- package/dist/component/server/implementation/mutations/verify.js.map +0 -1
- package/dist/component/server/implementation/passkey.js +0 -307
- package/dist/component/server/implementation/passkey.js.map +0 -1
- package/dist/component/server/implementation/provider.js +0 -19
- package/dist/component/server/implementation/provider.js.map +0 -1
- package/dist/component/server/implementation/ratelimit.js +0 -48
- package/dist/component/server/implementation/ratelimit.js.map +0 -1
- package/dist/component/server/implementation/redirects.js.map +0 -1
- package/dist/component/server/implementation/refresh.js +0 -109
- package/dist/component/server/implementation/refresh.js.map +0 -1
- package/dist/component/server/implementation/sessions.js.map +0 -1
- package/dist/component/server/implementation/signin.js +0 -148
- package/dist/component/server/implementation/signin.js.map +0 -1
- package/dist/component/server/implementation/tokens.js +0 -15
- package/dist/component/server/implementation/tokens.js.map +0 -1
- package/dist/component/server/implementation/totp.js +0 -142
- package/dist/component/server/implementation/totp.js.map +0 -1
- package/dist/component/server/implementation/types.d.ts +0 -42
- package/dist/component/server/implementation/types.d.ts.map +0 -1
- package/dist/component/server/implementation/types.js.map +0 -1
- package/dist/component/server/implementation/users.js.map +0 -1
- package/dist/component/server/implementation/utils.js +0 -56
- package/dist/component/server/implementation/utils.js.map +0 -1
- package/dist/component/server/providers.js.map +0 -1
- package/dist/component/server/templates.js +0 -84
- package/dist/component/server/templates.js.map +0 -1
- package/dist/server/cookies.d.ts.map +0 -1
- package/dist/server/implementation/db.d.ts +0 -86
- package/dist/server/implementation/db.d.ts.map +0 -1
- package/dist/server/implementation/db.js.map +0 -1
- package/dist/server/implementation/device.d.ts +0 -30
- package/dist/server/implementation/device.d.ts.map +0 -1
- package/dist/server/implementation/device.js +0 -135
- package/dist/server/implementation/device.js.map +0 -1
- package/dist/server/implementation/index.d.ts +0 -870
- package/dist/server/implementation/index.d.ts.map +0 -1
- package/dist/server/implementation/index.js +0 -610
- package/dist/server/implementation/index.js.map +0 -1
- package/dist/server/implementation/keys.d.ts +0 -66
- package/dist/server/implementation/keys.d.ts.map +0 -1
- package/dist/server/implementation/keys.js.map +0 -1
- package/dist/server/implementation/mutations/account.d.ts +0 -27
- package/dist/server/implementation/mutations/account.d.ts.map +0 -1
- package/dist/server/implementation/mutations/account.js +0 -39
- package/dist/server/implementation/mutations/account.js.map +0 -1
- package/dist/server/implementation/mutations/code.d.ts +0 -29
- package/dist/server/implementation/mutations/code.d.ts.map +0 -1
- package/dist/server/implementation/mutations/code.js.map +0 -1
- package/dist/server/implementation/mutations/index.d.ts +0 -310
- package/dist/server/implementation/mutations/index.d.ts.map +0 -1
- package/dist/server/implementation/mutations/index.js +0 -70
- package/dist/server/implementation/mutations/index.js.map +0 -1
- package/dist/server/implementation/mutations/invalidate.d.ts +0 -18
- package/dist/server/implementation/mutations/invalidate.d.ts.map +0 -1
- package/dist/server/implementation/mutations/invalidate.js +0 -29
- package/dist/server/implementation/mutations/invalidate.js.map +0 -1
- package/dist/server/implementation/mutations/oauth.d.ts +0 -23
- package/dist/server/implementation/mutations/oauth.d.ts.map +0 -1
- package/dist/server/implementation/mutations/oauth.js +0 -51
- package/dist/server/implementation/mutations/oauth.js.map +0 -1
- package/dist/server/implementation/mutations/refresh.d.ts +0 -20
- package/dist/server/implementation/mutations/refresh.d.ts.map +0 -1
- package/dist/server/implementation/mutations/refresh.js +0 -85
- package/dist/server/implementation/mutations/refresh.js.map +0 -1
- package/dist/server/implementation/mutations/register.d.ts +0 -37
- package/dist/server/implementation/mutations/register.d.ts.map +0 -1
- package/dist/server/implementation/mutations/register.js +0 -65
- package/dist/server/implementation/mutations/register.js.map +0 -1
- package/dist/server/implementation/mutations/retrieve.d.ts +0 -31
- package/dist/server/implementation/mutations/retrieve.d.ts.map +0 -1
- package/dist/server/implementation/mutations/retrieve.js +0 -50
- package/dist/server/implementation/mutations/retrieve.js.map +0 -1
- package/dist/server/implementation/mutations/signature.d.ts +0 -19
- package/dist/server/implementation/mutations/signature.d.ts.map +0 -1
- package/dist/server/implementation/mutations/signature.js +0 -27
- package/dist/server/implementation/mutations/signature.js.map +0 -1
- package/dist/server/implementation/mutations/signin.d.ts +0 -21
- package/dist/server/implementation/mutations/signin.d.ts.map +0 -1
- package/dist/server/implementation/mutations/signin.js.map +0 -1
- package/dist/server/implementation/mutations/signout.d.ts +0 -14
- package/dist/server/implementation/mutations/signout.d.ts.map +0 -1
- package/dist/server/implementation/mutations/signout.js +0 -27
- package/dist/server/implementation/mutations/signout.js.map +0 -1
- package/dist/server/implementation/mutations/store.d.ts +0 -11
- package/dist/server/implementation/mutations/store.d.ts.map +0 -1
- package/dist/server/implementation/mutations/store.js +0 -12
- package/dist/server/implementation/mutations/store.js.map +0 -1
- package/dist/server/implementation/mutations/verifier.d.ts +0 -11
- package/dist/server/implementation/mutations/verifier.d.ts.map +0 -1
- package/dist/server/implementation/mutations/verifier.js +0 -16
- package/dist/server/implementation/mutations/verifier.js.map +0 -1
- package/dist/server/implementation/mutations/verify.d.ts +0 -25
- package/dist/server/implementation/mutations/verify.d.ts.map +0 -1
- package/dist/server/implementation/mutations/verify.js +0 -105
- package/dist/server/implementation/mutations/verify.js.map +0 -1
- package/dist/server/implementation/passkey.d.ts +0 -24
- package/dist/server/implementation/passkey.d.ts.map +0 -1
- package/dist/server/implementation/passkey.js +0 -307
- package/dist/server/implementation/passkey.js.map +0 -1
- package/dist/server/implementation/provider.d.ts +0 -10
- package/dist/server/implementation/provider.d.ts.map +0 -1
- package/dist/server/implementation/provider.js +0 -19
- package/dist/server/implementation/provider.js.map +0 -1
- package/dist/server/implementation/ratelimit.d.ts +0 -10
- package/dist/server/implementation/ratelimit.d.ts.map +0 -1
- package/dist/server/implementation/ratelimit.js +0 -48
- package/dist/server/implementation/ratelimit.js.map +0 -1
- package/dist/server/implementation/redirects.d.ts +0 -10
- package/dist/server/implementation/redirects.d.ts.map +0 -1
- package/dist/server/implementation/redirects.js.map +0 -1
- package/dist/server/implementation/refresh.d.ts +0 -37
- package/dist/server/implementation/refresh.d.ts.map +0 -1
- package/dist/server/implementation/refresh.js +0 -109
- package/dist/server/implementation/refresh.js.map +0 -1
- package/dist/server/implementation/sessions.d.ts +0 -29
- package/dist/server/implementation/sessions.d.ts.map +0 -1
- package/dist/server/implementation/sessions.js.map +0 -1
- package/dist/server/implementation/signin.d.ts +0 -55
- package/dist/server/implementation/signin.d.ts.map +0 -1
- package/dist/server/implementation/signin.js +0 -148
- package/dist/server/implementation/signin.js.map +0 -1
- package/dist/server/implementation/tokens.d.ts +0 -11
- package/dist/server/implementation/tokens.d.ts.map +0 -1
- package/dist/server/implementation/tokens.js +0 -15
- package/dist/server/implementation/tokens.js.map +0 -1
- package/dist/server/implementation/totp.d.ts +0 -31
- package/dist/server/implementation/totp.d.ts.map +0 -1
- package/dist/server/implementation/totp.js +0 -142
- package/dist/server/implementation/totp.js.map +0 -1
- package/dist/server/implementation/types.d.ts +0 -189
- package/dist/server/implementation/types.d.ts.map +0 -1
- package/dist/server/implementation/types.js +0 -97
- package/dist/server/implementation/types.js.map +0 -1
- package/dist/server/implementation/users.d.ts +0 -30
- package/dist/server/implementation/users.d.ts.map +0 -1
- package/dist/server/implementation/users.js.map +0 -1
- package/dist/server/implementation/utils.d.ts +0 -19
- package/dist/server/implementation/utils.d.ts.map +0 -1
- package/dist/server/implementation/utils.js +0 -56
- package/dist/server/implementation/utils.js.map +0 -1
- package/dist/server/index.d.ts.map +0 -1
- package/dist/server/index.js.map +0 -1
- package/dist/server/oauth.d.ts.map +0 -1
- package/dist/server/providers.d.ts +0 -72
- package/dist/server/providers.d.ts.map +0 -1
- package/dist/server/providers.js.map +0 -1
- package/dist/server/templates.d.ts.map +0 -1
- package/dist/server/utils.d.ts.map +0 -1
- package/dist/server/version.d.ts +0 -5
- package/dist/server/version.d.ts.map +0 -1
- package/dist/server/version.js +0 -6
- package/dist/server/version.js.map +0 -1
- package/src/cli/utils.ts +0 -248
- package/src/server/implementation/device.ts +0 -307
- package/src/server/implementation/index.ts +0 -1583
- package/src/server/implementation/mutations/account.ts +0 -50
- package/src/server/implementation/mutations/index.ts +0 -157
- package/src/server/implementation/mutations/invalidate.ts +0 -42
- package/src/server/implementation/mutations/oauth.ts +0 -73
- package/src/server/implementation/mutations/refresh.ts +0 -175
- package/src/server/implementation/mutations/register.ts +0 -100
- package/src/server/implementation/mutations/retrieve.ts +0 -79
- package/src/server/implementation/mutations/signature.ts +0 -39
- package/src/server/implementation/mutations/signout.ts +0 -35
- package/src/server/implementation/mutations/store.ts +0 -7
- package/src/server/implementation/mutations/verifier.ts +0 -24
- package/src/server/implementation/mutations/verify.ts +0 -194
- package/src/server/implementation/passkey.ts +0 -620
- package/src/server/implementation/provider.ts +0 -36
- package/src/server/implementation/ratelimit.ts +0 -79
- package/src/server/implementation/refresh.ts +0 -172
- package/src/server/implementation/signin.ts +0 -296
- package/src/server/implementation/totp.ts +0 -342
- package/src/server/implementation/types.ts +0 -444
- package/src/server/implementation/utils.ts +0 -91
- package/src/server/version.ts +0 -2
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
declare namespace core_d_exports {
|
|
2
|
+
export { enterpriseCreate, enterpriseDelete, enterpriseGet, enterpriseGetByDomain, enterpriseGetByGroup, enterpriseList, enterpriseUpdate };
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Create a new enterprise record attached to a root group.
|
|
6
|
+
*
|
|
7
|
+
* Each group may only have one enterprise record. If an enterprise already
|
|
8
|
+
* exists for the given group, a `ENTERPRISE_ALREADY_EXISTS` error is thrown.
|
|
9
|
+
* The enterprise status defaults to `"draft"` when not explicitly provided.
|
|
10
|
+
*
|
|
11
|
+
* @param args.groupId - The ID of the root group that owns this enterprise.
|
|
12
|
+
* @param args.slug - An optional URL-friendly identifier for the enterprise.
|
|
13
|
+
* @param args.name - An optional human-readable display name for the enterprise.
|
|
14
|
+
* @param args.status - The lifecycle status (`"draft"`, `"active"`, or `"disabled"`). Defaults to `"draft"`.
|
|
15
|
+
* @param args.policy - An optional enterprise policy object controlling identity linking, provisioning, and deprovisioning behavior.
|
|
16
|
+
* @param args.config - An optional arbitrary configuration blob for enterprise-specific settings.
|
|
17
|
+
* @param args.extend - An optional arbitrary extension object for custom fields.
|
|
18
|
+
* @returns The ID of the newly created `Enterprise` document.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* const enterpriseId = await ctx.runMutation(
|
|
23
|
+
* components.auth.enterprise.enterpriseCreate,
|
|
24
|
+
* {
|
|
25
|
+
* groupId: orgGroupId,
|
|
26
|
+
* slug: "acme-corp",
|
|
27
|
+
* name: "Acme Corporation",
|
|
28
|
+
* status: "active",
|
|
29
|
+
* },
|
|
30
|
+
* );
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
declare const enterpriseCreate: any;
|
|
34
|
+
/**
|
|
35
|
+
* Retrieve a single enterprise record by its document ID.
|
|
36
|
+
*
|
|
37
|
+
* Returns the full enterprise document if it exists, or `null` if no
|
|
38
|
+
* enterprise is found with the given ID.
|
|
39
|
+
*
|
|
40
|
+
* @param args.enterpriseId - The document ID of the enterprise to retrieve.
|
|
41
|
+
* @returns The enterprise document, or `null` if not found.
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```ts
|
|
45
|
+
* const enterprise = await ctx.runQuery(
|
|
46
|
+
* components.auth.enterprise.enterpriseGet,
|
|
47
|
+
* { enterpriseId },
|
|
48
|
+
* );
|
|
49
|
+
* if (enterprise) {
|
|
50
|
+
* console.log(enterprise.name, enterprise.status);
|
|
51
|
+
* }
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
declare const enterpriseGet: any;
|
|
55
|
+
/**
|
|
56
|
+
* Retrieve an enterprise record by the ID of its owning group.
|
|
57
|
+
*
|
|
58
|
+
* Looks up the enterprise that is linked to the specified group using the
|
|
59
|
+
* `group_id` index. Returns `null` if no enterprise is associated with the group.
|
|
60
|
+
*
|
|
61
|
+
* @param args.groupId - The ID of the root group whose enterprise record to look up.
|
|
62
|
+
* @returns The enterprise document, or `null` if the group has no enterprise.
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* ```ts
|
|
66
|
+
* const enterprise = await ctx.runQuery(
|
|
67
|
+
* components.auth.enterprise.enterpriseGetByGroup,
|
|
68
|
+
* { groupId: orgGroupId },
|
|
69
|
+
* );
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
declare const enterpriseGetByGroup: any;
|
|
73
|
+
/**
|
|
74
|
+
* Retrieve an enterprise record by one of its linked domain names.
|
|
75
|
+
*
|
|
76
|
+
* Looks up an `EnterpriseDomain` row matching the given domain string, then
|
|
77
|
+
* resolves the parent enterprise. Returns both the enterprise and the matched
|
|
78
|
+
* domain document, or `null` if the domain is not registered or its enterprise
|
|
79
|
+
* no longer exists.
|
|
80
|
+
*
|
|
81
|
+
* @param args.domain - The domain name to search for (e.g. `"acme.com"`).
|
|
82
|
+
* @returns An object containing the `enterprise` and `domain` documents, or `null` if not found.
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* ```ts
|
|
86
|
+
* const result = await ctx.runQuery(
|
|
87
|
+
* components.auth.enterprise.enterpriseGetByDomain,
|
|
88
|
+
* { domain: "acme.com" },
|
|
89
|
+
* );
|
|
90
|
+
* if (result) {
|
|
91
|
+
* console.log(result.enterprise.name, result.domain.verifiedAt);
|
|
92
|
+
* }
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
declare const enterpriseGetByDomain: any;
|
|
96
|
+
/**
|
|
97
|
+
* List enterprise records with optional filtering and cursor-based pagination.
|
|
98
|
+
*
|
|
99
|
+
* Supports filtering by `groupId`, `slug`, and/or `status`. The query selects
|
|
100
|
+
* the most specific index available for the primary filter, then applies
|
|
101
|
+
* remaining predicates as post-filters. Results are ordered by creation time
|
|
102
|
+
* (or the specified field) and paginated using an opaque cursor.
|
|
103
|
+
*
|
|
104
|
+
* @param args.where - Optional filter criteria: `groupId`, `slug`, and/or `status`.
|
|
105
|
+
* @param args.limit - Maximum number of items per page (clamped between 1 and 100, defaults to 50).
|
|
106
|
+
* @param args.cursor - An opaque cursor string returned from a previous call to fetch the next page, or `null` / omitted for the first page.
|
|
107
|
+
* @param args.orderBy - The field to sort results by: `"_creationTime"`, `"name"`, `"slug"`, or `"status"`.
|
|
108
|
+
* @param args.order - Sort direction: `"asc"` or `"desc"` (defaults to `"desc"`).
|
|
109
|
+
* @returns A paginated result containing `items` (array of enterprise documents) and `nextCursor` (`string | null`).
|
|
110
|
+
*
|
|
111
|
+
* @example
|
|
112
|
+
* ```ts
|
|
113
|
+
* const page = await ctx.runQuery(
|
|
114
|
+
* components.auth.enterprise.enterpriseList,
|
|
115
|
+
* {
|
|
116
|
+
* where: { status: "active" },
|
|
117
|
+
* limit: 25,
|
|
118
|
+
* order: "asc",
|
|
119
|
+
* },
|
|
120
|
+
* );
|
|
121
|
+
* for (const ent of page.items) {
|
|
122
|
+
* console.log(ent.name);
|
|
123
|
+
* }
|
|
124
|
+
* // Fetch next page:
|
|
125
|
+
* const nextPage = await ctx.runQuery(
|
|
126
|
+
* components.auth.enterprise.enterpriseList,
|
|
127
|
+
* { where: { status: "active" }, cursor: page.nextCursor },
|
|
128
|
+
* );
|
|
129
|
+
* ```
|
|
130
|
+
*/
|
|
131
|
+
declare const enterpriseList: any;
|
|
132
|
+
/**
|
|
133
|
+
* Partially update (patch) an existing enterprise record.
|
|
134
|
+
*
|
|
135
|
+
* Merges the provided `data` fields into the existing enterprise document.
|
|
136
|
+
* Only the fields present in `data` are changed; all other fields are preserved.
|
|
137
|
+
*
|
|
138
|
+
* @param args.enterpriseId - The document ID of the enterprise to update.
|
|
139
|
+
* @param args.data - An object containing the fields to update (e.g. `{ name, status, policy }`).
|
|
140
|
+
* @returns `null` on success.
|
|
141
|
+
*
|
|
142
|
+
* @example
|
|
143
|
+
* ```ts
|
|
144
|
+
* await ctx.runMutation(
|
|
145
|
+
* components.auth.enterprise.enterpriseUpdate,
|
|
146
|
+
* {
|
|
147
|
+
* enterpriseId,
|
|
148
|
+
* data: { status: "active", name: "Acme Corp (Renamed)" },
|
|
149
|
+
* },
|
|
150
|
+
* );
|
|
151
|
+
* ```
|
|
152
|
+
*/
|
|
153
|
+
declare const enterpriseUpdate: any;
|
|
154
|
+
/**
|
|
155
|
+
* Delete an enterprise record and all of its associated child data.
|
|
156
|
+
*
|
|
157
|
+
* This cascading delete removes the enterprise document along with all linked
|
|
158
|
+
* domain records, domain verification records, and enterprise secrets. Callers
|
|
159
|
+
* should ensure that higher-level cleanup (e.g. SCIM identities, webhook
|
|
160
|
+
* endpoints) is handled separately if needed.
|
|
161
|
+
*
|
|
162
|
+
* @param args.enterpriseId - The document ID of the enterprise to delete.
|
|
163
|
+
* @returns `null` on success.
|
|
164
|
+
*
|
|
165
|
+
* @example
|
|
166
|
+
* ```ts
|
|
167
|
+
* await ctx.runMutation(
|
|
168
|
+
* components.auth.enterprise.enterpriseDelete,
|
|
169
|
+
* { enterpriseId },
|
|
170
|
+
* );
|
|
171
|
+
* ```
|
|
172
|
+
*/
|
|
173
|
+
declare const enterpriseDelete: any;
|
|
174
|
+
//#endregion
|
|
175
|
+
export { core_d_exports, enterpriseCreate, enterpriseDelete, enterpriseGet, enterpriseGetByDomain, enterpriseGetByGroup, enterpriseList, enterpriseUpdate };
|
|
176
|
+
//# sourceMappingURL=core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.d.ts","names":[],"sources":["../../../../src/component/public/enterprise/core.ts"],"mappings":";;;;;;;;;;;;;;;AAuCA;;;;;AAiDA;;;;;AAyBA;;;;;AAiCA;;cA3Ga,gBAAA;;;AAuKb;;;;;AA2FA;;;;;AA4BA;;;;;;;;cA7Oa,aAAA;;;;;;;;;;;;;;;;;;cAyBA,oBAAA;;;;;;;;;;;;;;;;;;;;;;;cAiCA,qBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4DA,cAAA;;;;;;;;;;;;;;;;;;;;;;cA2FA,gBAAA;;;;;;;;;;;;;;;;;;;;cA4BA,gBAAA"}
|
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
import { mutation, query } from "../../functions.js";
|
|
2
|
+
import { vEnterpriseDoc, vEnterpriseDomainDoc, vEnterprisePolicy, vEnterpriseStatus, vPaginated } from "../../model.js";
|
|
3
|
+
import { ConvexError, v } from "convex/values";
|
|
4
|
+
|
|
5
|
+
//#region src/component/public/enterprise/core.ts
|
|
6
|
+
/**
|
|
7
|
+
* Create a new enterprise record attached to a root group.
|
|
8
|
+
*
|
|
9
|
+
* Each group may only have one enterprise record. If an enterprise already
|
|
10
|
+
* exists for the given group, a `ENTERPRISE_ALREADY_EXISTS` error is thrown.
|
|
11
|
+
* The enterprise status defaults to `"draft"` when not explicitly provided.
|
|
12
|
+
*
|
|
13
|
+
* @param args.groupId - The ID of the root group that owns this enterprise.
|
|
14
|
+
* @param args.slug - An optional URL-friendly identifier for the enterprise.
|
|
15
|
+
* @param args.name - An optional human-readable display name for the enterprise.
|
|
16
|
+
* @param args.status - The lifecycle status (`"draft"`, `"active"`, or `"disabled"`). Defaults to `"draft"`.
|
|
17
|
+
* @param args.policy - An optional enterprise policy object controlling identity linking, provisioning, and deprovisioning behavior.
|
|
18
|
+
* @param args.config - An optional arbitrary configuration blob for enterprise-specific settings.
|
|
19
|
+
* @param args.extend - An optional arbitrary extension object for custom fields.
|
|
20
|
+
* @returns The ID of the newly created `Enterprise` document.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* const enterpriseId = await ctx.runMutation(
|
|
25
|
+
* components.auth.enterprise.enterpriseCreate,
|
|
26
|
+
* {
|
|
27
|
+
* groupId: orgGroupId,
|
|
28
|
+
* slug: "acme-corp",
|
|
29
|
+
* name: "Acme Corporation",
|
|
30
|
+
* status: "active",
|
|
31
|
+
* },
|
|
32
|
+
* );
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
const enterpriseCreate = mutation({
|
|
36
|
+
args: {
|
|
37
|
+
groupId: v.id("Group"),
|
|
38
|
+
slug: v.optional(v.string()),
|
|
39
|
+
name: v.optional(v.string()),
|
|
40
|
+
status: v.optional(vEnterpriseStatus),
|
|
41
|
+
policy: v.optional(vEnterprisePolicy),
|
|
42
|
+
config: v.optional(v.any()),
|
|
43
|
+
extend: v.optional(v.any())
|
|
44
|
+
},
|
|
45
|
+
returns: v.id("Enterprise"),
|
|
46
|
+
handler: async (ctx, args) => {
|
|
47
|
+
if (await ctx.db.query("Enterprise").withIndex("group_id", (idx) => idx.eq("groupId", args.groupId)).first()) throw new ConvexError({
|
|
48
|
+
code: "ENTERPRISE_ALREADY_EXISTS",
|
|
49
|
+
message: "An enterprise record already exists for this group."
|
|
50
|
+
});
|
|
51
|
+
return await ctx.db.insert("Enterprise", {
|
|
52
|
+
...args,
|
|
53
|
+
status: args.status ?? "draft"
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
/**
|
|
58
|
+
* Retrieve a single enterprise record by its document ID.
|
|
59
|
+
*
|
|
60
|
+
* Returns the full enterprise document if it exists, or `null` if no
|
|
61
|
+
* enterprise is found with the given ID.
|
|
62
|
+
*
|
|
63
|
+
* @param args.enterpriseId - The document ID of the enterprise to retrieve.
|
|
64
|
+
* @returns The enterprise document, or `null` if not found.
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```ts
|
|
68
|
+
* const enterprise = await ctx.runQuery(
|
|
69
|
+
* components.auth.enterprise.enterpriseGet,
|
|
70
|
+
* { enterpriseId },
|
|
71
|
+
* );
|
|
72
|
+
* if (enterprise) {
|
|
73
|
+
* console.log(enterprise.name, enterprise.status);
|
|
74
|
+
* }
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
const enterpriseGet = query({
|
|
78
|
+
args: { enterpriseId: v.id("Enterprise") },
|
|
79
|
+
returns: v.union(vEnterpriseDoc, v.null()),
|
|
80
|
+
handler: async (ctx, { enterpriseId }) => {
|
|
81
|
+
return await ctx.db.get("Enterprise", enterpriseId);
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
/**
|
|
85
|
+
* Retrieve an enterprise record by the ID of its owning group.
|
|
86
|
+
*
|
|
87
|
+
* Looks up the enterprise that is linked to the specified group using the
|
|
88
|
+
* `group_id` index. Returns `null` if no enterprise is associated with the group.
|
|
89
|
+
*
|
|
90
|
+
* @param args.groupId - The ID of the root group whose enterprise record to look up.
|
|
91
|
+
* @returns The enterprise document, or `null` if the group has no enterprise.
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* ```ts
|
|
95
|
+
* const enterprise = await ctx.runQuery(
|
|
96
|
+
* components.auth.enterprise.enterpriseGetByGroup,
|
|
97
|
+
* { groupId: orgGroupId },
|
|
98
|
+
* );
|
|
99
|
+
* ```
|
|
100
|
+
*/
|
|
101
|
+
const enterpriseGetByGroup = query({
|
|
102
|
+
args: { groupId: v.id("Group") },
|
|
103
|
+
returns: v.union(vEnterpriseDoc, v.null()),
|
|
104
|
+
handler: async (ctx, { groupId }) => {
|
|
105
|
+
return await ctx.db.query("Enterprise").withIndex("group_id", (idx) => idx.eq("groupId", groupId)).first();
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
/**
|
|
109
|
+
* Retrieve an enterprise record by one of its linked domain names.
|
|
110
|
+
*
|
|
111
|
+
* Looks up an `EnterpriseDomain` row matching the given domain string, then
|
|
112
|
+
* resolves the parent enterprise. Returns both the enterprise and the matched
|
|
113
|
+
* domain document, or `null` if the domain is not registered or its enterprise
|
|
114
|
+
* no longer exists.
|
|
115
|
+
*
|
|
116
|
+
* @param args.domain - The domain name to search for (e.g. `"acme.com"`).
|
|
117
|
+
* @returns An object containing the `enterprise` and `domain` documents, or `null` if not found.
|
|
118
|
+
*
|
|
119
|
+
* @example
|
|
120
|
+
* ```ts
|
|
121
|
+
* const result = await ctx.runQuery(
|
|
122
|
+
* components.auth.enterprise.enterpriseGetByDomain,
|
|
123
|
+
* { domain: "acme.com" },
|
|
124
|
+
* );
|
|
125
|
+
* if (result) {
|
|
126
|
+
* console.log(result.enterprise.name, result.domain.verifiedAt);
|
|
127
|
+
* }
|
|
128
|
+
* ```
|
|
129
|
+
*/
|
|
130
|
+
const enterpriseGetByDomain = query({
|
|
131
|
+
args: { domain: v.string() },
|
|
132
|
+
returns: v.union(v.object({
|
|
133
|
+
enterprise: vEnterpriseDoc,
|
|
134
|
+
domain: vEnterpriseDomainDoc
|
|
135
|
+
}), v.null()),
|
|
136
|
+
handler: async (ctx, { domain }) => {
|
|
137
|
+
const domainRow = await ctx.db.query("EnterpriseDomain").withIndex("domain", (idx) => idx.eq("domain", domain)).first();
|
|
138
|
+
if (!domainRow) return null;
|
|
139
|
+
const enterprise = await ctx.db.get("Enterprise", domainRow.enterpriseId);
|
|
140
|
+
if (!enterprise) return null;
|
|
141
|
+
return {
|
|
142
|
+
enterprise,
|
|
143
|
+
domain: domainRow
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
/**
|
|
148
|
+
* List enterprise records with optional filtering and cursor-based pagination.
|
|
149
|
+
*
|
|
150
|
+
* Supports filtering by `groupId`, `slug`, and/or `status`. The query selects
|
|
151
|
+
* the most specific index available for the primary filter, then applies
|
|
152
|
+
* remaining predicates as post-filters. Results are ordered by creation time
|
|
153
|
+
* (or the specified field) and paginated using an opaque cursor.
|
|
154
|
+
*
|
|
155
|
+
* @param args.where - Optional filter criteria: `groupId`, `slug`, and/or `status`.
|
|
156
|
+
* @param args.limit - Maximum number of items per page (clamped between 1 and 100, defaults to 50).
|
|
157
|
+
* @param args.cursor - An opaque cursor string returned from a previous call to fetch the next page, or `null` / omitted for the first page.
|
|
158
|
+
* @param args.orderBy - The field to sort results by: `"_creationTime"`, `"name"`, `"slug"`, or `"status"`.
|
|
159
|
+
* @param args.order - Sort direction: `"asc"` or `"desc"` (defaults to `"desc"`).
|
|
160
|
+
* @returns A paginated result containing `items` (array of enterprise documents) and `nextCursor` (`string | null`).
|
|
161
|
+
*
|
|
162
|
+
* @example
|
|
163
|
+
* ```ts
|
|
164
|
+
* const page = await ctx.runQuery(
|
|
165
|
+
* components.auth.enterprise.enterpriseList,
|
|
166
|
+
* {
|
|
167
|
+
* where: { status: "active" },
|
|
168
|
+
* limit: 25,
|
|
169
|
+
* order: "asc",
|
|
170
|
+
* },
|
|
171
|
+
* );
|
|
172
|
+
* for (const ent of page.items) {
|
|
173
|
+
* console.log(ent.name);
|
|
174
|
+
* }
|
|
175
|
+
* // Fetch next page:
|
|
176
|
+
* const nextPage = await ctx.runQuery(
|
|
177
|
+
* components.auth.enterprise.enterpriseList,
|
|
178
|
+
* { where: { status: "active" }, cursor: page.nextCursor },
|
|
179
|
+
* );
|
|
180
|
+
* ```
|
|
181
|
+
*/
|
|
182
|
+
const enterpriseList = query({
|
|
183
|
+
args: {
|
|
184
|
+
where: v.optional(v.object({
|
|
185
|
+
groupId: v.optional(v.id("Group")),
|
|
186
|
+
slug: v.optional(v.string()),
|
|
187
|
+
status: v.optional(vEnterpriseStatus)
|
|
188
|
+
})),
|
|
189
|
+
limit: v.optional(v.number()),
|
|
190
|
+
cursor: v.optional(v.union(v.string(), v.null())),
|
|
191
|
+
orderBy: v.optional(v.union(v.literal("_creationTime"), v.literal("name"), v.literal("slug"), v.literal("status"))),
|
|
192
|
+
order: v.optional(v.union(v.literal("asc"), v.literal("desc")))
|
|
193
|
+
},
|
|
194
|
+
returns: vPaginated(vEnterpriseDoc),
|
|
195
|
+
handler: async (ctx, args) => {
|
|
196
|
+
const where = args.where ?? {};
|
|
197
|
+
const limit = Math.min(Math.max(args.limit ?? 50, 1), 100);
|
|
198
|
+
const order = args.order ?? "desc";
|
|
199
|
+
let q;
|
|
200
|
+
if (where.groupId !== void 0) q = ctx.db.query("Enterprise").withIndex("group_id", (idx) => idx.eq("groupId", where.groupId));
|
|
201
|
+
else if (where.slug !== void 0) q = ctx.db.query("Enterprise").withIndex("slug", (idx) => idx.eq("slug", where.slug));
|
|
202
|
+
else if (where.status !== void 0) q = ctx.db.query("Enterprise").withIndex("status", (idx) => idx.eq("status", where.status));
|
|
203
|
+
else q = ctx.db.query("Enterprise");
|
|
204
|
+
if (where.groupId !== void 0 && where.slug !== void 0) q = q.filter((f) => f.eq(f.field("slug"), where.slug));
|
|
205
|
+
if (where.status !== void 0 && where.groupId === void 0) {} else if (where.status !== void 0) q = q.filter((f) => f.eq(f.field("status"), where.status));
|
|
206
|
+
q = q.order(order);
|
|
207
|
+
const all = await q.collect();
|
|
208
|
+
let startIdx = 0;
|
|
209
|
+
if (args.cursor) {
|
|
210
|
+
const cursorIdx = all.findIndex((doc) => doc._id === args.cursor);
|
|
211
|
+
if (cursorIdx !== -1) startIdx = cursorIdx + 1;
|
|
212
|
+
}
|
|
213
|
+
const page = all.slice(startIdx, startIdx + limit + 1);
|
|
214
|
+
const hasMore = page.length > limit;
|
|
215
|
+
const items = hasMore ? page.slice(0, limit) : page;
|
|
216
|
+
return {
|
|
217
|
+
items,
|
|
218
|
+
nextCursor: hasMore ? items[items.length - 1]._id : null
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
});
|
|
222
|
+
/**
|
|
223
|
+
* Partially update (patch) an existing enterprise record.
|
|
224
|
+
*
|
|
225
|
+
* Merges the provided `data` fields into the existing enterprise document.
|
|
226
|
+
* Only the fields present in `data` are changed; all other fields are preserved.
|
|
227
|
+
*
|
|
228
|
+
* @param args.enterpriseId - The document ID of the enterprise to update.
|
|
229
|
+
* @param args.data - An object containing the fields to update (e.g. `{ name, status, policy }`).
|
|
230
|
+
* @returns `null` on success.
|
|
231
|
+
*
|
|
232
|
+
* @example
|
|
233
|
+
* ```ts
|
|
234
|
+
* await ctx.runMutation(
|
|
235
|
+
* components.auth.enterprise.enterpriseUpdate,
|
|
236
|
+
* {
|
|
237
|
+
* enterpriseId,
|
|
238
|
+
* data: { status: "active", name: "Acme Corp (Renamed)" },
|
|
239
|
+
* },
|
|
240
|
+
* );
|
|
241
|
+
* ```
|
|
242
|
+
*/
|
|
243
|
+
const enterpriseUpdate = mutation({
|
|
244
|
+
args: {
|
|
245
|
+
enterpriseId: v.id("Enterprise"),
|
|
246
|
+
data: v.any()
|
|
247
|
+
},
|
|
248
|
+
returns: v.null(),
|
|
249
|
+
handler: async (ctx, { enterpriseId, data }) => {
|
|
250
|
+
await ctx.db.patch(enterpriseId, data);
|
|
251
|
+
return null;
|
|
252
|
+
}
|
|
253
|
+
});
|
|
254
|
+
/**
|
|
255
|
+
* Delete an enterprise record and all of its associated child data.
|
|
256
|
+
*
|
|
257
|
+
* This cascading delete removes the enterprise document along with all linked
|
|
258
|
+
* domain records, domain verification records, and enterprise secrets. Callers
|
|
259
|
+
* should ensure that higher-level cleanup (e.g. SCIM identities, webhook
|
|
260
|
+
* endpoints) is handled separately if needed.
|
|
261
|
+
*
|
|
262
|
+
* @param args.enterpriseId - The document ID of the enterprise to delete.
|
|
263
|
+
* @returns `null` on success.
|
|
264
|
+
*
|
|
265
|
+
* @example
|
|
266
|
+
* ```ts
|
|
267
|
+
* await ctx.runMutation(
|
|
268
|
+
* components.auth.enterprise.enterpriseDelete,
|
|
269
|
+
* { enterpriseId },
|
|
270
|
+
* );
|
|
271
|
+
* ```
|
|
272
|
+
*/
|
|
273
|
+
const enterpriseDelete = mutation({
|
|
274
|
+
args: { enterpriseId: v.id("Enterprise") },
|
|
275
|
+
returns: v.null(),
|
|
276
|
+
handler: async (ctx, { enterpriseId }) => {
|
|
277
|
+
const domains = await ctx.db.query("EnterpriseDomain").withIndex("enterprise_id", (idx) => idx.eq("enterpriseId", enterpriseId)).collect();
|
|
278
|
+
for (const domain of domains) {
|
|
279
|
+
const verification = await ctx.db.query("EnterpriseDomainVerification").withIndex("domain_id", (idx) => idx.eq("domainId", domain._id)).first();
|
|
280
|
+
if (verification) await ctx.db.delete(verification._id);
|
|
281
|
+
await ctx.db.delete(domain._id);
|
|
282
|
+
}
|
|
283
|
+
const secrets = await ctx.db.query("EnterpriseSecret").withIndex("enterprise_id", (idx) => idx.eq("enterpriseId", enterpriseId)).collect();
|
|
284
|
+
for (const secret of secrets) await ctx.db.delete(secret._id);
|
|
285
|
+
await ctx.db.delete(enterpriseId);
|
|
286
|
+
return null;
|
|
287
|
+
}
|
|
288
|
+
});
|
|
289
|
+
|
|
290
|
+
//#endregion
|
|
291
|
+
export { enterpriseCreate, enterpriseDelete, enterpriseGet, enterpriseGetByDomain, enterpriseGetByGroup, enterpriseList, enterpriseUpdate };
|
|
292
|
+
//# sourceMappingURL=core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.js","names":[],"sources":["../../../../src/component/public/enterprise/core.ts"],"sourcesContent":["import { ConvexError, v } from \"convex/values\";\nimport { mutation, query } from \"../../functions\";\nimport {\n vEnterpriseDoc,\n vEnterpriseDomainDoc,\n vEnterprisePolicy,\n vEnterpriseStatus,\n vPaginated,\n} from \"../../model\";\n\n/**\n * Create a new enterprise record attached to a root group.\n *\n * Each group may only have one enterprise record. If an enterprise already\n * exists for the given group, a `ENTERPRISE_ALREADY_EXISTS` error is thrown.\n * The enterprise status defaults to `\"draft\"` when not explicitly provided.\n *\n * @param args.groupId - The ID of the root group that owns this enterprise.\n * @param args.slug - An optional URL-friendly identifier for the enterprise.\n * @param args.name - An optional human-readable display name for the enterprise.\n * @param args.status - The lifecycle status (`\"draft\"`, `\"active\"`, or `\"disabled\"`). Defaults to `\"draft\"`.\n * @param args.policy - An optional enterprise policy object controlling identity linking, provisioning, and deprovisioning behavior.\n * @param args.config - An optional arbitrary configuration blob for enterprise-specific settings.\n * @param args.extend - An optional arbitrary extension object for custom fields.\n * @returns The ID of the newly created `Enterprise` document.\n *\n * @example\n * ```ts\n * const enterpriseId = await ctx.runMutation(\n * components.auth.enterprise.enterpriseCreate,\n * {\n * groupId: orgGroupId,\n * slug: \"acme-corp\",\n * name: \"Acme Corporation\",\n * status: \"active\",\n * },\n * );\n * ```\n */\nexport const enterpriseCreate = mutation({\n args: {\n groupId: v.id(\"Group\"),\n slug: v.optional(v.string()),\n name: v.optional(v.string()),\n status: v.optional(vEnterpriseStatus),\n policy: v.optional(vEnterprisePolicy),\n config: v.optional(v.any()),\n extend: v.optional(v.any()),\n },\n returns: v.id(\"Enterprise\"),\n handler: async (ctx, args) => {\n const existing = await ctx.db\n .query(\"Enterprise\")\n .withIndex(\"group_id\", (idx) => idx.eq(\"groupId\", args.groupId))\n .first();\n if (existing) {\n throw new ConvexError({\n code: \"ENTERPRISE_ALREADY_EXISTS\",\n message: \"An enterprise record already exists for this group.\",\n });\n }\n return await ctx.db.insert(\"Enterprise\", {\n ...args,\n status: args.status ?? \"draft\",\n });\n },\n});\n\n/**\n * Retrieve a single enterprise record by its document ID.\n *\n * Returns the full enterprise document if it exists, or `null` if no\n * enterprise is found with the given ID.\n *\n * @param args.enterpriseId - The document ID of the enterprise to retrieve.\n * @returns The enterprise document, or `null` if not found.\n *\n * @example\n * ```ts\n * const enterprise = await ctx.runQuery(\n * components.auth.enterprise.enterpriseGet,\n * { enterpriseId },\n * );\n * if (enterprise) {\n * console.log(enterprise.name, enterprise.status);\n * }\n * ```\n */\nexport const enterpriseGet = query({\n args: { enterpriseId: v.id(\"Enterprise\") },\n returns: v.union(vEnterpriseDoc, v.null()),\n handler: async (ctx, { enterpriseId }) => {\n return await ctx.db.get(\"Enterprise\", enterpriseId);\n },\n});\n\n/**\n * Retrieve an enterprise record by the ID of its owning group.\n *\n * Looks up the enterprise that is linked to the specified group using the\n * `group_id` index. Returns `null` if no enterprise is associated with the group.\n *\n * @param args.groupId - The ID of the root group whose enterprise record to look up.\n * @returns The enterprise document, or `null` if the group has no enterprise.\n *\n * @example\n * ```ts\n * const enterprise = await ctx.runQuery(\n * components.auth.enterprise.enterpriseGetByGroup,\n * { groupId: orgGroupId },\n * );\n * ```\n */\nexport const enterpriseGetByGroup = query({\n args: { groupId: v.id(\"Group\") },\n returns: v.union(vEnterpriseDoc, v.null()),\n handler: async (ctx, { groupId }) => {\n return await ctx.db\n .query(\"Enterprise\")\n .withIndex(\"group_id\", (idx) => idx.eq(\"groupId\", groupId))\n .first();\n },\n});\n\n/**\n * Retrieve an enterprise record by one of its linked domain names.\n *\n * Looks up an `EnterpriseDomain` row matching the given domain string, then\n * resolves the parent enterprise. Returns both the enterprise and the matched\n * domain document, or `null` if the domain is not registered or its enterprise\n * no longer exists.\n *\n * @param args.domain - The domain name to search for (e.g. `\"acme.com\"`).\n * @returns An object containing the `enterprise` and `domain` documents, or `null` if not found.\n *\n * @example\n * ```ts\n * const result = await ctx.runQuery(\n * components.auth.enterprise.enterpriseGetByDomain,\n * { domain: \"acme.com\" },\n * );\n * if (result) {\n * console.log(result.enterprise.name, result.domain.verifiedAt);\n * }\n * ```\n */\nexport const enterpriseGetByDomain = query({\n args: { domain: v.string() },\n returns: v.union(\n v.object({\n enterprise: vEnterpriseDoc,\n domain: vEnterpriseDomainDoc,\n }),\n v.null(),\n ),\n handler: async (ctx, { domain }) => {\n const domainRow = await ctx.db\n .query(\"EnterpriseDomain\")\n .withIndex(\"domain\", (idx) => idx.eq(\"domain\", domain))\n .first();\n if (!domainRow) {\n return null;\n }\n const enterprise = await ctx.db.get(\"Enterprise\", domainRow.enterpriseId);\n if (!enterprise) {\n return null;\n }\n return { enterprise, domain: domainRow };\n },\n});\n\n/**\n * List enterprise records with optional filtering and cursor-based pagination.\n *\n * Supports filtering by `groupId`, `slug`, and/or `status`. The query selects\n * the most specific index available for the primary filter, then applies\n * remaining predicates as post-filters. Results are ordered by creation time\n * (or the specified field) and paginated using an opaque cursor.\n *\n * @param args.where - Optional filter criteria: `groupId`, `slug`, and/or `status`.\n * @param args.limit - Maximum number of items per page (clamped between 1 and 100, defaults to 50).\n * @param args.cursor - An opaque cursor string returned from a previous call to fetch the next page, or `null` / omitted for the first page.\n * @param args.orderBy - The field to sort results by: `\"_creationTime\"`, `\"name\"`, `\"slug\"`, or `\"status\"`.\n * @param args.order - Sort direction: `\"asc\"` or `\"desc\"` (defaults to `\"desc\"`).\n * @returns A paginated result containing `items` (array of enterprise documents) and `nextCursor` (`string | null`).\n *\n * @example\n * ```ts\n * const page = await ctx.runQuery(\n * components.auth.enterprise.enterpriseList,\n * {\n * where: { status: \"active\" },\n * limit: 25,\n * order: \"asc\",\n * },\n * );\n * for (const ent of page.items) {\n * console.log(ent.name);\n * }\n * // Fetch next page:\n * const nextPage = await ctx.runQuery(\n * components.auth.enterprise.enterpriseList,\n * { where: { status: \"active\" }, cursor: page.nextCursor },\n * );\n * ```\n */\nexport const enterpriseList = query({\n args: {\n where: v.optional(\n v.object({\n groupId: v.optional(v.id(\"Group\")),\n slug: v.optional(v.string()),\n status: v.optional(vEnterpriseStatus),\n }),\n ),\n limit: v.optional(v.number()),\n cursor: v.optional(v.union(v.string(), v.null())),\n orderBy: v.optional(\n v.union(\n v.literal(\"_creationTime\"),\n v.literal(\"name\"),\n v.literal(\"slug\"),\n v.literal(\"status\"),\n ),\n ),\n order: v.optional(v.union(v.literal(\"asc\"), v.literal(\"desc\"))),\n },\n returns: vPaginated(vEnterpriseDoc),\n handler: async (ctx, args) => {\n const where = args.where ?? {};\n const limit = Math.min(Math.max(args.limit ?? 50, 1), 100);\n const order = args.order ?? \"desc\";\n\n let q;\n if (where.groupId !== undefined) {\n q = ctx.db\n .query(\"Enterprise\")\n .withIndex(\"group_id\", (idx) => idx.eq(\"groupId\", where.groupId!));\n } else if (where.slug !== undefined) {\n q = ctx.db\n .query(\"Enterprise\")\n .withIndex(\"slug\", (idx) => idx.eq(\"slug\", where.slug!));\n } else if (where.status !== undefined) {\n q = ctx.db\n .query(\"Enterprise\")\n .withIndex(\"status\", (idx) => idx.eq(\"status\", where.status!));\n } else {\n q = ctx.db.query(\"Enterprise\");\n }\n\n if (where.groupId !== undefined && where.slug !== undefined) {\n q = q.filter((f) => f.eq(f.field(\"slug\"), where.slug!));\n }\n if (where.status !== undefined && where.groupId === undefined) {\n // already handled by index in the dedicated branch\n } else if (where.status !== undefined) {\n q = q.filter((f) => f.eq(f.field(\"status\"), where.status!));\n }\n\n q = q.order(order);\n const all = await q.collect();\n let startIdx = 0;\n if (args.cursor) {\n const cursorIdx = all.findIndex((doc) => doc._id === args.cursor);\n if (cursorIdx !== -1) {\n startIdx = cursorIdx + 1;\n }\n }\n const page = all.slice(startIdx, startIdx + limit + 1);\n const hasMore = page.length > limit;\n const items = hasMore ? page.slice(0, limit) : page;\n const nextCursor = hasMore ? items[items.length - 1]._id : null;\n return { items, nextCursor };\n },\n});\n\n/**\n * Partially update (patch) an existing enterprise record.\n *\n * Merges the provided `data` fields into the existing enterprise document.\n * Only the fields present in `data` are changed; all other fields are preserved.\n *\n * @param args.enterpriseId - The document ID of the enterprise to update.\n * @param args.data - An object containing the fields to update (e.g. `{ name, status, policy }`).\n * @returns `null` on success.\n *\n * @example\n * ```ts\n * await ctx.runMutation(\n * components.auth.enterprise.enterpriseUpdate,\n * {\n * enterpriseId,\n * data: { status: \"active\", name: \"Acme Corp (Renamed)\" },\n * },\n * );\n * ```\n */\nexport const enterpriseUpdate = mutation({\n args: { enterpriseId: v.id(\"Enterprise\"), data: v.any() },\n returns: v.null(),\n handler: async (ctx, { enterpriseId, data }) => {\n await ctx.db.patch(enterpriseId, data);\n return null;\n },\n});\n\n/**\n * Delete an enterprise record and all of its associated child data.\n *\n * This cascading delete removes the enterprise document along with all linked\n * domain records, domain verification records, and enterprise secrets. Callers\n * should ensure that higher-level cleanup (e.g. SCIM identities, webhook\n * endpoints) is handled separately if needed.\n *\n * @param args.enterpriseId - The document ID of the enterprise to delete.\n * @returns `null` on success.\n *\n * @example\n * ```ts\n * await ctx.runMutation(\n * components.auth.enterprise.enterpriseDelete,\n * { enterpriseId },\n * );\n * ```\n */\nexport const enterpriseDelete = mutation({\n args: { enterpriseId: v.id(\"Enterprise\") },\n returns: v.null(),\n handler: async (ctx, { enterpriseId }) => {\n const domains = await ctx.db\n .query(\"EnterpriseDomain\")\n .withIndex(\"enterprise_id\", (idx) => idx.eq(\"enterpriseId\", enterpriseId))\n .collect();\n for (const domain of domains) {\n const verification = await ctx.db\n .query(\"EnterpriseDomainVerification\")\n .withIndex(\"domain_id\", (idx) => idx.eq(\"domainId\", domain._id))\n .first();\n if (verification) {\n await ctx.db.delete(verification._id);\n }\n await ctx.db.delete(domain._id);\n }\n const secrets = await ctx.db\n .query(\"EnterpriseSecret\")\n .withIndex(\"enterprise_id\", (idx) => idx.eq(\"enterpriseId\", enterpriseId))\n .collect();\n for (const secret of secrets) {\n await ctx.db.delete(secret._id);\n }\n await ctx.db.delete(enterpriseId);\n return null;\n },\n});\n"],"mappings":"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"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
declare namespace domains_d_exports {
|
|
2
|
+
export { enterpriseDomainAdd, enterpriseDomainDelete, enterpriseDomainList, enterpriseDomainVerificationDelete, enterpriseDomainVerificationGet, enterpriseDomainVerificationUpsert, enterpriseDomainVerify };
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Link a domain to an enterprise record, or update an existing link.
|
|
6
|
+
*
|
|
7
|
+
* If the domain is already attached to a different enterprise, an
|
|
8
|
+
* `ENTERPRISE_DOMAIN_TAKEN` error is thrown. If the domain already exists for
|
|
9
|
+
* this enterprise, it is updated in place (e.g. toggling `isPrimary`). When
|
|
10
|
+
* `isPrimary` is `true`, any previously primary domain on the same enterprise
|
|
11
|
+
* is demoted. The first domain added to an enterprise becomes primary by default.
|
|
12
|
+
*
|
|
13
|
+
* @param args.enterpriseId - The ID of the enterprise to attach the domain to.
|
|
14
|
+
* @param args.groupId - The ID of the root group that owns the enterprise.
|
|
15
|
+
* @param args.domain - The domain name to link (e.g. `"acme.com"`).
|
|
16
|
+
* @param args.isPrimary - Whether this domain should be set as the primary domain for the enterprise. Defaults to `true` for the first domain.
|
|
17
|
+
* @returns The ID of the created or updated `EnterpriseDomain` document.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```ts
|
|
21
|
+
* const domainId = await ctx.runMutation(
|
|
22
|
+
* components.auth.enterprise.enterpriseDomainAdd,
|
|
23
|
+
* {
|
|
24
|
+
* enterpriseId,
|
|
25
|
+
* groupId: orgGroupId,
|
|
26
|
+
* domain: "acme.com",
|
|
27
|
+
* isPrimary: true,
|
|
28
|
+
* },
|
|
29
|
+
* );
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
declare const enterpriseDomainAdd: any;
|
|
33
|
+
/**
|
|
34
|
+
* List all domains linked to a specific enterprise.
|
|
35
|
+
*
|
|
36
|
+
* Returns all `EnterpriseDomain` documents associated with the given enterprise,
|
|
37
|
+
* queried via the `enterprise_id` index. The result includes both verified and
|
|
38
|
+
* unverified domains.
|
|
39
|
+
*
|
|
40
|
+
* @param args.enterpriseId - The ID of the enterprise whose domains to list.
|
|
41
|
+
* @returns An array of enterprise domain documents.
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```ts
|
|
45
|
+
* const domains = await ctx.runQuery(
|
|
46
|
+
* components.auth.enterprise.enterpriseDomainList,
|
|
47
|
+
* { enterpriseId },
|
|
48
|
+
* );
|
|
49
|
+
* for (const d of domains) {
|
|
50
|
+
* console.log(d.domain, d.isPrimary, d.verifiedAt);
|
|
51
|
+
* }
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
declare const enterpriseDomainList: any;
|
|
55
|
+
/**
|
|
56
|
+
* Remove a linked enterprise domain and its associated verification record.
|
|
57
|
+
*
|
|
58
|
+
* Deletes the `EnterpriseDomain` document and, if one exists, the related
|
|
59
|
+
* `EnterpriseDomainVerification` record. This is a permanent deletion.
|
|
60
|
+
*
|
|
61
|
+
* @param args.domainId - The document ID of the enterprise domain to remove.
|
|
62
|
+
* @returns `null` on success.
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* ```ts
|
|
66
|
+
* await ctx.runMutation(
|
|
67
|
+
* components.auth.enterprise.enterpriseDomainDelete,
|
|
68
|
+
* { domainId },
|
|
69
|
+
* );
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
declare const enterpriseDomainDelete: any;
|
|
73
|
+
/**
|
|
74
|
+
* Retrieve the pending domain verification record for a given enterprise domain.
|
|
75
|
+
*
|
|
76
|
+
* Returns the `EnterpriseDomainVerification` document associated with the
|
|
77
|
+
* specified domain, or `null` if no verification has been initiated.
|
|
78
|
+
*
|
|
79
|
+
* @param args.domainId - The document ID of the enterprise domain whose verification to retrieve.
|
|
80
|
+
* @returns The domain verification document, or `null` if none exists.
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* ```ts
|
|
84
|
+
* const verification = await ctx.runQuery(
|
|
85
|
+
* components.auth.enterprise.enterpriseDomainVerificationGet,
|
|
86
|
+
* { domainId },
|
|
87
|
+
* );
|
|
88
|
+
* if (verification) {
|
|
89
|
+
* console.log(verification.recordName, verification.expiresAt);
|
|
90
|
+
* }
|
|
91
|
+
* ```
|
|
92
|
+
*/
|
|
93
|
+
declare const enterpriseDomainVerificationGet: any;
|
|
94
|
+
/**
|
|
95
|
+
* Create or update a domain verification challenge for an enterprise domain.
|
|
96
|
+
*
|
|
97
|
+
* If a verification record already exists for the domain, all fields are
|
|
98
|
+
* updated in place (e.g. to rotate the token). Otherwise a new record is
|
|
99
|
+
* created. The caller is responsible for generating the DNS record name,
|
|
100
|
+
* token, and token hash.
|
|
101
|
+
*
|
|
102
|
+
* @param args.enterpriseId - The ID of the enterprise that owns the domain.
|
|
103
|
+
* @param args.groupId - The ID of the root group that owns the enterprise.
|
|
104
|
+
* @param args.domainId - The document ID of the enterprise domain to verify.
|
|
105
|
+
* @param args.domain - The domain name string (e.g. `"acme.com"`).
|
|
106
|
+
* @param args.recordName - The DNS TXT record name to be published (e.g. `"_convex-verify.acme.com"`).
|
|
107
|
+
* @param args.token - The plaintext verification token value.
|
|
108
|
+
* @param args.tokenHash - A hash of the verification token for secure storage.
|
|
109
|
+
* @param args.requestedAt - Epoch timestamp (ms) when the verification was requested.
|
|
110
|
+
* @param args.expiresAt - Epoch timestamp (ms) after which the challenge expires.
|
|
111
|
+
* @returns The ID of the created or updated `EnterpriseDomainVerification` document.
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* ```ts
|
|
115
|
+
* const verificationId = await ctx.runMutation(
|
|
116
|
+
* components.auth.enterprise.enterpriseDomainVerificationUpsert,
|
|
117
|
+
* {
|
|
118
|
+
* enterpriseId,
|
|
119
|
+
* groupId: orgGroupId,
|
|
120
|
+
* domainId,
|
|
121
|
+
* domain: "acme.com",
|
|
122
|
+
* recordName: "_convex-verify.acme.com",
|
|
123
|
+
* token: "abc123",
|
|
124
|
+
* tokenHash: "sha256:...",
|
|
125
|
+
* requestedAt: Date.now(),
|
|
126
|
+
* expiresAt: Date.now() + 7 * 24 * 60 * 60 * 1000,
|
|
127
|
+
* },
|
|
128
|
+
* );
|
|
129
|
+
* ```
|
|
130
|
+
*/
|
|
131
|
+
declare const enterpriseDomainVerificationUpsert: any;
|
|
132
|
+
/**
|
|
133
|
+
* Delete the pending domain verification record for an enterprise domain.
|
|
134
|
+
*
|
|
135
|
+
* Removes the `EnterpriseDomainVerification` document associated with the
|
|
136
|
+
* given domain, effectively cancelling the verification challenge. If no
|
|
137
|
+
* verification record exists, this is a no-op.
|
|
138
|
+
*
|
|
139
|
+
* @param args.domainId - The document ID of the enterprise domain whose verification to delete.
|
|
140
|
+
* @returns `null` on success.
|
|
141
|
+
*
|
|
142
|
+
* @example
|
|
143
|
+
* ```ts
|
|
144
|
+
* await ctx.runMutation(
|
|
145
|
+
* components.auth.enterprise.enterpriseDomainVerificationDelete,
|
|
146
|
+
* { domainId },
|
|
147
|
+
* );
|
|
148
|
+
* ```
|
|
149
|
+
*/
|
|
150
|
+
declare const enterpriseDomainVerificationDelete: any;
|
|
151
|
+
/**
|
|
152
|
+
* Mark an enterprise domain as verified and clean up the verification record.
|
|
153
|
+
*
|
|
154
|
+
* Sets the `verifiedAt` timestamp on the domain document and deletes the
|
|
155
|
+
* associated `EnterpriseDomainVerification` record (if any). Throws an
|
|
156
|
+
* `INVALID_PARAMETERS` error if the domain document does not exist.
|
|
157
|
+
*
|
|
158
|
+
* @param args.domainId - The document ID of the enterprise domain to mark as verified.
|
|
159
|
+
* @param args.verifiedAt - Epoch timestamp (ms) at which the domain was verified.
|
|
160
|
+
* @returns The updated enterprise domain document with the `verifiedAt` field set.
|
|
161
|
+
*
|
|
162
|
+
* @example
|
|
163
|
+
* ```ts
|
|
164
|
+
* const verifiedDomain = await ctx.runMutation(
|
|
165
|
+
* components.auth.enterprise.enterpriseDomainVerify,
|
|
166
|
+
* { domainId, verifiedAt: Date.now() },
|
|
167
|
+
* );
|
|
168
|
+
* console.log("Domain verified:", verifiedDomain.domain);
|
|
169
|
+
* ```
|
|
170
|
+
*/
|
|
171
|
+
declare const enterpriseDomainVerify: any;
|
|
172
|
+
//#endregion
|
|
173
|
+
export { domains_d_exports, enterpriseDomainAdd, enterpriseDomainDelete, enterpriseDomainList, enterpriseDomainVerificationDelete, enterpriseDomainVerificationGet, enterpriseDomainVerificationUpsert, enterpriseDomainVerify };
|
|
174
|
+
//# sourceMappingURL=domains.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domains.d.ts","names":[],"sources":["../../../../src/component/public/enterprise/domains.ts"],"mappings":";;;;;;;;;;;;;;;AAgCA;;;;;AA2EA;;;;;AA4BA;;;;;AAoCA;cA3Ia,mBAAA;;;;AA2Lb;;;;;AA4CA;;;;;AAmCA;;;;;;;;cA/La,oBAAA;;;;;;;;;;;;;;;;;;cA4BA,sBAAA;;;;;;;;;;;;;;;;;;;;;cAoCA,+BAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAgDA,kCAAA;;;;;;;;;;;;;;;;;;;cA4CA,kCAAA;;;;;;;;;;;;;;;;;;;;;cAmCA,sBAAA"}
|