@robelest/convex-auth 0.0.4-preview.18 → 0.0.4-preview.19
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 +6 -3
- package/dist/authorization/index.d.ts +46 -0
- package/dist/authorization/index.d.ts.map +1 -1
- package/dist/authorization/index.js +46 -0
- package/dist/authorization/index.js.map +1 -1
- package/dist/bin.cjs +21 -13
- 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 -16
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +67 -565
- package/dist/client/index.js.map +1 -1
- package/dist/component/_generated/api.d.ts +40 -12
- 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 +1306 -1344
- 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 -2
- package/dist/component/model.d.ts +80 -80
- package/dist/component/model.d.ts.map +1 -1
- package/dist/component/model.js +5 -1
- package/dist/component/model.js.map +1 -1
- package/dist/component/providers/credentials.d.ts +3 -2
- package/dist/component/providers/credentials.d.ts.map +1 -1
- package/dist/component/providers/email.d.ts +30 -0
- package/dist/component/providers/email.d.ts.map +1 -1
- package/dist/component/providers/phone.d.ts +28 -0
- package/dist/component/providers/phone.d.ts.map +1 -1
- 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 +22 -7
- package/dist/component/public.js +21 -6
- package/dist/component/schema.d.ts +288 -288
- package/dist/component/server/auth.d.ts +212 -25
- package/dist/component/server/auth.d.ts.map +1 -1
- package/dist/component/server/auth.js +68 -4
- 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} +2 -2
- package/dist/component/server/config.js.map +1 -0
- package/dist/component/server/{domains/core.js → core.js} +107 -88
- package/dist/component/server/core.js.map +1 -0
- package/dist/component/server/{provider.js → crypto.js} +3 -3
- package/dist/component/server/crypto.js.map +1 -0
- package/dist/component/server/device.js +1 -1
- package/dist/component/server/device.js.map +1 -1
- package/dist/component/server/enterprise/config.js +46 -0
- package/dist/component/server/enterprise/config.js.map +1 -0
- package/dist/component/server/{domains/sso.js → enterprise/domain.js} +6 -5
- 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.js.map +1 -1
- package/dist/component/server/http.js +2 -1
- package/dist/component/server/http.js.map +1 -1
- package/dist/component/server/identity.js +1 -1
- package/dist/component/server/identity.js.map +1 -1
- package/dist/component/server/{ratelimit.js → limits.js} +3 -3
- package/dist/component/server/limits.js.map +1 -0
- package/dist/component/server/mutations/account.js +3 -3
- package/dist/component/server/mutations/account.js.map +1 -1
- package/dist/component/server/mutations/code.js +2 -2
- package/dist/component/server/mutations/code.js.map +1 -1
- package/dist/component/server/mutations/invalidate.js +1 -1
- package/dist/component/server/mutations/invalidate.js.map +1 -1
- package/dist/component/server/mutations/oauth.js +5 -3
- package/dist/component/server/mutations/oauth.js.map +1 -1
- package/dist/component/server/mutations/refresh.js +1 -1
- package/dist/component/server/mutations/refresh.js.map +1 -1
- package/dist/component/server/mutations/register.js +3 -3
- package/dist/component/server/mutations/register.js.map +1 -1
- package/dist/component/server/mutations/retrieve.js +4 -4
- package/dist/component/server/mutations/retrieve.js.map +1 -1
- package/dist/component/server/mutations/signature.js +2 -2
- package/dist/component/server/mutations/signature.js.map +1 -1
- package/dist/component/server/mutations/signin.js +1 -1
- package/dist/component/server/mutations/signin.js.map +1 -1
- package/dist/component/server/mutations/signout.js +1 -1
- package/dist/component/server/mutations/signout.js.map +1 -1
- 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 +80 -10
- package/dist/component/server/mutations/store.js.map +1 -1
- package/dist/component/server/mutations/verifier.js +1 -1
- package/dist/component/server/mutations/verifier.js.map +1 -1
- package/dist/component/server/mutations/verify.js +4 -3
- package/dist/component/server/mutations/verify.js.map +1 -1
- package/dist/component/server/oauth.js +1 -1
- package/dist/component/server/oauth.js.map +1 -1
- package/dist/component/server/passkey.js +2 -1
- package/dist/component/server/passkey.js.map +1 -1
- package/dist/component/server/redirects.js +1 -1
- package/dist/component/server/redirects.js.map +1 -1
- package/dist/component/server/refresh.js +1 -1
- package/dist/component/server/refresh.js.map +1 -1
- package/dist/component/server/{factory.d.ts → runtime.d.ts} +2 -2
- 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/component/server/signin.js +2 -1
- package/dist/component/server/signin.js.map +1 -1
- package/dist/component/server/totp.js +2 -1
- package/dist/component/server/totp.js.map +1 -1
- package/dist/component/server/types.d.ts +225 -41
- package/dist/component/server/types.d.ts.map +1 -1
- package/dist/component/server/types.js.map +1 -1
- package/dist/component/server/users.js +1 -1
- package/dist/component/server/users.js.map +1 -1
- package/dist/component/server/utils.js +1 -1
- 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/credentials.d.ts +5 -2
- package/dist/providers/credentials.d.ts.map +1 -1
- package/dist/providers/credentials.js +2 -0
- package/dist/providers/credentials.js.map +1 -1
- package/dist/providers/email.d.ts +30 -0
- package/dist/providers/email.d.ts.map +1 -1
- package/dist/providers/email.js +24 -0
- package/dist/providers/email.js.map +1 -1
- package/dist/providers/phone.d.ts +28 -0
- package/dist/providers/phone.d.ts.map +1 -1
- package/dist/providers/phone.js +22 -0
- package/dist/providers/phone.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 +218 -28
- package/dist/server/auth.d.ts.map +1 -1
- package/dist/server/auth.js +68 -4
- package/dist/server/auth.js.map +1 -1
- package/dist/server/{fx.d.ts → authError.d.ts} +25 -15
- 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/{providers.js → config.js} +2 -2
- package/dist/server/config.js.map +1 -0
- package/dist/server/core.d.ts +1436 -0
- package/dist/server/core.d.ts.map +1 -0
- package/dist/server/{domains/core.js → core.js} +107 -88
- package/dist/server/core.js.map +1 -0
- package/dist/server/{provider.d.ts → crypto.d.ts} +2 -2
- package/dist/server/crypto.d.ts.map +1 -0
- package/dist/server/{provider.js → crypto.js} +3 -3
- package/dist/{component/server/provider.js.map → server/crypto.js.map} +1 -1
- package/dist/server/device.js +1 -1
- package/dist/server/device.js.map +1 -1
- package/dist/server/enterprise/config.js +46 -0
- package/dist/server/enterprise/config.js.map +1 -0
- package/dist/server/{domains/sso.d.ts → enterprise/domain.d.ts} +4 -4
- package/dist/server/enterprise/domain.d.ts.map +1 -0
- package/dist/server/{domains/sso.js → enterprise/domain.js} +6 -5
- 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.js +248 -0
- package/dist/server/enterprise/oidc.js.map +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/{enterpriseValidators.js → enterprise/validators.js} +2 -2
- package/dist/server/enterprise/validators.js.map +1 -0
- package/dist/server/errors.d.ts +2 -0
- package/dist/server/errors.d.ts.map +1 -1
- package/dist/server/errors.js +2 -0
- package/dist/server/errors.js.map +1 -1
- package/dist/server/http.d.ts +2 -2
- package/dist/server/http.d.ts.map +1 -1
- package/dist/server/http.js +2 -1
- package/dist/server/http.js.map +1 -1
- package/dist/server/identity.js +1 -1
- package/dist/server/identity.js.map +1 -1
- package/dist/server/index.d.ts +4 -705
- package/dist/server/index.js +4 -1367
- package/dist/server/limits.d.ts +1 -0
- package/dist/server/{ratelimit.js → limits.js} +3 -3
- 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 +8 -8
- package/dist/server/mutations/account.js +3 -3
- package/dist/server/mutations/account.js.map +1 -1
- package/dist/server/mutations/code.d.ts +13 -13
- package/dist/server/mutations/code.js +2 -2
- package/dist/server/mutations/code.js.map +1 -1
- package/dist/server/mutations/index.d.ts +8 -312
- package/dist/server/mutations/index.js +14 -84
- package/dist/server/mutations/invalidate.d.ts +5 -5
- package/dist/server/mutations/invalidate.d.ts.map +1 -1
- package/dist/server/mutations/invalidate.js +1 -1
- package/dist/server/mutations/invalidate.js.map +1 -1
- package/dist/server/mutations/oauth.d.ts +9 -9
- package/dist/server/mutations/oauth.d.ts.map +1 -1
- package/dist/server/mutations/oauth.js +5 -3
- package/dist/server/mutations/oauth.js.map +1 -1
- package/dist/server/mutations/refresh.d.ts +4 -4
- package/dist/server/mutations/refresh.js +1 -1
- package/dist/server/mutations/refresh.js.map +1 -1
- package/dist/server/mutations/register.d.ts +10 -10
- package/dist/server/mutations/register.d.ts.map +1 -1
- package/dist/server/mutations/register.js +3 -3
- package/dist/server/mutations/register.js.map +1 -1
- package/dist/server/mutations/retrieve.d.ts +8 -10
- package/dist/server/mutations/retrieve.d.ts.map +1 -1
- package/dist/server/mutations/retrieve.js +5 -7
- package/dist/server/mutations/retrieve.js.map +1 -1
- package/dist/server/mutations/signature.d.ts +6 -6
- package/dist/server/mutations/signature.d.ts.map +1 -1
- package/dist/server/mutations/signature.js +2 -2
- package/dist/server/mutations/signature.js.map +1 -1
- package/dist/server/mutations/signin.d.ts +1 -1
- package/dist/server/mutations/signin.js +1 -1
- package/dist/server/mutations/signin.js.map +1 -1
- package/dist/server/mutations/signout.d.ts +1 -1
- package/dist/server/mutations/signout.js +1 -1
- package/dist/server/mutations/signout.js.map +1 -1
- 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 +303 -9
- package/dist/server/mutations/store.d.ts.map +1 -1
- package/dist/server/mutations/store.js +80 -10
- package/dist/server/mutations/store.js.map +1 -1
- package/dist/server/mutations/verifier.d.ts +1 -1
- package/dist/server/mutations/verifier.js +1 -1
- package/dist/server/mutations/verifier.js.map +1 -1
- package/dist/server/mutations/verify.d.ts +8 -8
- package/dist/server/mutations/verify.d.ts.map +1 -1
- package/dist/server/mutations/verify.js +4 -3
- package/dist/server/mutations/verify.js.map +1 -1
- package/dist/server/oauth.js +1 -1
- package/dist/server/oauth.js.map +1 -1
- package/dist/server/passkey.d.ts +2 -2
- package/dist/server/passkey.d.ts.map +1 -1
- package/dist/server/passkey.js +3 -2
- package/dist/server/passkey.js.map +1 -1
- package/dist/server/redirects.js +1 -1
- package/dist/server/redirects.js.map +1 -1
- package/dist/server/refresh.js +1 -1
- package/dist/server/refresh.js.map +1 -1
- package/dist/server/{factory.d.ts → runtime.d.ts} +16 -16
- 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/signin.js +3 -2
- package/dist/server/signin.js.map +1 -1
- 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/totp.js +2 -1
- package/dist/server/totp.js.map +1 -1
- package/dist/server/types.d.ts +242 -42
- package/dist/server/types.d.ts.map +1 -1
- package/dist/server/types.js +12 -1
- package/dist/server/types.js.map +1 -1
- package/dist/server/users.js +1 -1
- package/dist/server/users.js.map +1 -1
- package/dist/server/utils.js +1 -1
- package/dist/server/utils.js.map +1 -1
- package/package.json +3 -4
- package/src/authorization/index.ts +46 -0
- package/src/cli/index.ts +38 -20
- 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 +133 -1267
- 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 +40 -12
- package/src/component/_generated/component.ts +1772 -1798
- package/src/component/model.ts +6 -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 +27 -5
- package/src/providers/credentials.ts +4 -5
- package/src/providers/email.ts +30 -0
- package/src/providers/phone.ts +28 -0
- package/src/server/auth.ts +282 -28
- package/src/server/authError.ts +44 -0
- package/src/server/core.ts +2095 -0
- package/src/server/{provider.ts → crypto.ts} +1 -1
- package/src/server/device.ts +1 -1
- package/src/server/enterprise/config.ts +51 -0
- package/src/server/{domains/sso.ts → enterprise/domain.ts} +4 -2
- 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/errors.ts +2 -0
- package/src/server/http.ts +3 -1
- package/src/server/identity.ts +1 -1
- package/src/server/index.ts +32 -2605
- package/src/server/{ratelimit.ts → limits.ts} +1 -1
- package/src/server/mounts.ts +948 -0
- package/src/server/mutations/account.ts +4 -4
- package/src/server/mutations/code.ts +3 -3
- package/src/server/mutations/index.ts +8 -148
- package/src/server/mutations/invalidate.ts +2 -2
- package/src/server/mutations/oauth.ts +8 -6
- package/src/server/mutations/refresh.ts +3 -3
- package/src/server/mutations/register.ts +3 -3
- package/src/server/mutations/retrieve.ts +4 -8
- package/src/server/mutations/signature.ts +3 -3
- package/src/server/mutations/signin.ts +2 -2
- package/src/server/mutations/signout.ts +2 -2
- package/src/server/mutations/store/refs.ts +10 -0
- package/src/server/mutations/store.ts +137 -9
- package/src/server/mutations/verifier.ts +2 -2
- package/src/server/mutations/verify.ts +5 -5
- package/src/server/oauth.ts +1 -1
- package/src/server/passkey.ts +3 -4
- package/src/server/redirects.ts +1 -1
- package/src/server/refresh.ts +1 -1
- package/src/server/runtime.ts +880 -0
- package/src/server/signin.ts +3 -1
- package/src/server/ssr.ts +1764 -0
- package/src/server/totp.ts +3 -1
- package/src/server/types.ts +254 -43
- package/src/server/users.ts +1 -1
- package/src/server/utils.ts +1 -1
- package/src/test.ts +25 -0
- package/dist/component/public/enterprise.d.ts +0 -54
- package/dist/component/public/enterprise.d.ts.map +0 -1
- package/dist/component/public/enterprise.js +0 -515
- package/dist/component/public/enterprise.js.map +0 -1
- package/dist/component/public/factors.d.ts +0 -52
- package/dist/component/public/factors.d.ts.map +0 -1
- package/dist/component/public/factors.js +0 -285
- package/dist/component/public/factors.js.map +0 -1
- package/dist/component/public/groups.d.ts +0 -124
- package/dist/component/public/groups.d.ts.map +0 -1
- package/dist/component/public/groups.js +0 -680
- package/dist/component/public/groups.js.map +0 -1
- package/dist/component/public/identity.d.ts +0 -93
- package/dist/component/public/identity.d.ts.map +0 -1
- package/dist/component/public/identity.js +0 -426
- package/dist/component/public/identity.js.map +0 -1
- package/dist/component/public/keys.d.ts +0 -41
- package/dist/component/public/keys.d.ts.map +0 -1
- package/dist/component/public/keys.js +0 -157
- package/dist/component/public/keys.js.map +0 -1
- package/dist/component/public/shared.d.ts +0 -26
- package/dist/component/public/shared.d.ts.map +0 -1
- package/dist/component/public/shared.js +0 -32
- package/dist/component/public/shared.js.map +0 -1
- package/dist/component/server/domains/core.js.map +0 -1
- package/dist/component/server/domains/sso.js.map +0 -1
- package/dist/component/server/factory.d.ts.map +0 -1
- package/dist/component/server/factory.js +0 -1134
- package/dist/component/server/factory.js.map +0 -1
- package/dist/component/server/fx.js +0 -66
- package/dist/component/server/fx.js.map +0 -1
- package/dist/component/server/mutations/index.js +0 -85
- package/dist/component/server/mutations/index.js.map +0 -1
- package/dist/component/server/providers.js.map +0 -1
- package/dist/component/server/ratelimit.js.map +0 -1
- package/dist/component/server/sso.js +0 -830
- package/dist/component/server/sso.js.map +0 -1
- package/dist/server/domains/core.d.ts +0 -449
- package/dist/server/domains/core.d.ts.map +0 -1
- package/dist/server/domains/core.js.map +0 -1
- package/dist/server/domains/sso.d.ts.map +0 -1
- package/dist/server/domains/sso.js.map +0 -1
- package/dist/server/enterpriseValidators.js.map +0 -1
- package/dist/server/factory.d.ts.map +0 -1
- package/dist/server/factory.js +0 -1134
- package/dist/server/factory.js.map +0 -1
- package/dist/server/fx.d.ts.map +0 -1
- package/dist/server/fx.js +0 -66
- package/dist/server/fx.js.map +0 -1
- package/dist/server/index.d.ts.map +0 -1
- package/dist/server/index.js.map +0 -1
- package/dist/server/mutations/index.d.ts.map +0 -1
- package/dist/server/mutations/index.js.map +0 -1
- package/dist/server/provider.d.ts.map +0 -1
- package/dist/server/provider.js.map +0 -1
- package/dist/server/providers.js.map +0 -1
- package/dist/server/ratelimit.js.map +0 -1
- package/dist/server/sso.js +0 -830
- package/dist/server/sso.js.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/component/public/enterprise.ts +0 -753
- package/src/component/public/factors.ts +0 -333
- package/src/component/public/groups.ts +0 -1066
- package/src/component/public/identity.ts +0 -569
- package/src/component/public/keys.ts +0 -209
- package/src/component/public/shared.ts +0 -119
- package/src/server/domains/core.ts +0 -1096
- package/src/server/factory.ts +0 -2181
- package/src/server/fx.ts +0 -152
- package/src/server/sso.ts +0 -1516
- package/src/server/version.ts +0 -2
- /package/dist/server/{enterpriseValidators.d.ts → config.d.ts} +0 -0
- /package/dist/server/{providers.d.ts → enterprise/config.d.ts} +0 -0
- /package/dist/server/{ratelimit.d.ts → enterprise/oidc.d.ts} +0 -0
- /package/dist/server/{sso.d.ts → enterprise/policy.d.ts} +0 -0
- /package/src/server/{providers.ts → config.ts} +0 -0
- /package/src/server/{enterpriseValidators.ts → enterprise/validators.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.d.ts","names":[],"sources":["../../../src/providers/email.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"email.d.ts","names":[],"sources":["../../../src/providers/email.ts"],"mappings":";;AAeA;;;;;;;;;;UAAiB,mBAAA;EAMb;EAJF,IAAA;EAOA;EALA,IAAA,GACE,GAAA,OACA,IAAA;IAAQ,IAAA;IAAc,EAAA;IAAY,OAAA;IAAiB,IAAA;EAAA,MAChD,OAAA;EA2BW;EAzBhB,yBAAA,SAAkC,OAAA;EAmCqB;EAjCvD,EAAA;EAiCoC;EA/BpC,MAAA;AAAA;;;;;;;;;;;;;;;;;;;cAqBW,KAAA;EAAA,SAUiB,MAAA,EAAQ,mBAAA;EAAA,SAT3B,EAAA;EAAA,SACA,IAAA;;;;;;;cAQmB,MAAA,EAAQ,mBAAA;AAAA"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { PhoneConfig } from "../server/types.js";
|
|
2
2
|
|
|
3
3
|
//#region src/providers/phone.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* User-facing configuration for the {@link Phone} provider.
|
|
6
|
+
*
|
|
7
|
+
* Use this to send SMS or other phone-based verification messages during
|
|
8
|
+
* sign-in.
|
|
9
|
+
*/
|
|
4
10
|
interface PhoneProviderConfig {
|
|
5
11
|
/** Send the verification code to the user's phone. */
|
|
6
12
|
send: PhoneConfig["sendVerificationRequest"];
|
|
@@ -9,10 +15,32 @@ interface PhoneProviderConfig {
|
|
|
9
15
|
/** Token expiration in seconds. Defaults to 1200 (20 minutes). */
|
|
10
16
|
maxAge?: number;
|
|
11
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Phone provider for SMS or phone-number verification flows.
|
|
20
|
+
*
|
|
21
|
+
* Wraps your `send()` implementation and materializes the runtime behavior
|
|
22
|
+
* Convex Auth needs for short-code or magic-link-style phone verification.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```ts
|
|
26
|
+
* import { Phone } from "@robelest/convex-auth/providers";
|
|
27
|
+
*
|
|
28
|
+
* const phone = new Phone({
|
|
29
|
+
* send: async ({ identifier, token }) => {
|
|
30
|
+
* await sms.send({ to: identifier, body: `Your sign-in code is ${token}` });
|
|
31
|
+
* },
|
|
32
|
+
* });
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
12
35
|
declare class Phone {
|
|
13
36
|
readonly config: PhoneProviderConfig;
|
|
14
37
|
readonly id: string;
|
|
15
38
|
readonly type: "phone";
|
|
39
|
+
/**
|
|
40
|
+
* Create a phone provider instance.
|
|
41
|
+
*
|
|
42
|
+
* @param config - Phone delivery and provider settings.
|
|
43
|
+
*/
|
|
16
44
|
constructor(config: PhoneProviderConfig);
|
|
17
45
|
}
|
|
18
46
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phone.d.ts","names":[],"sources":["../../../src/providers/phone.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"phone.d.ts","names":[],"sources":["../../../src/providers/phone.ts"],"mappings":";;;;;;;;;UAgBiB,mBAAA;EA0BJ;EAxBX,IAAA,EAAM,WAAA;;EAEN,EAAA;EA+B4B;EA7B5B,MAAA;AAAA;;;;;;;;;;;;;;;;;;cAoBW,KAAA;EAAA,SASiB,MAAA,EAAQ,mBAAA;EAAA,SAR3B,EAAA;EAAA,SACA,IAAA;;;;;;cAOmB,MAAA,EAAQ,mBAAA;AAAA"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
declare namespace audit_d_exports {
|
|
2
|
+
export { enterpriseAuditEventCreate, enterpriseAuditEventList };
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Record a new audit event for an enterprise.
|
|
6
|
+
*
|
|
7
|
+
* Inserts an immutable audit log entry capturing who performed what action,
|
|
8
|
+
* on which subject, and whether it succeeded or failed. Use this to maintain
|
|
9
|
+
* a tamper-evident trail of security-relevant events.
|
|
10
|
+
*
|
|
11
|
+
* @param args.enterpriseId - The ID of the enterprise this event belongs to.
|
|
12
|
+
* @param args.groupId - The ID of the root group that owns the enterprise.
|
|
13
|
+
* @param args.eventType - A string identifying the type of event (e.g. `"user.login"`, `"scim.provision"`).
|
|
14
|
+
* @param args.actorType - The kind of actor: `"user"`, `"system"`, `"scim"`, `"api_key"`, or `"webhook"`.
|
|
15
|
+
* @param args.actorId - An optional identifier for the actor (e.g. a user ID or API key ID).
|
|
16
|
+
* @param args.subjectType - The type of the resource being acted upon (e.g. `"user"`, `"group"`).
|
|
17
|
+
* @param args.subjectId - An optional identifier for the subject resource.
|
|
18
|
+
* @param args.status - Whether the event represents a `"success"` or `"failure"`.
|
|
19
|
+
* @param args.occurredAt - Epoch timestamp (ms) when the event occurred.
|
|
20
|
+
* @param args.requestId - An optional correlation ID tying this event to a specific request.
|
|
21
|
+
* @param args.ip - An optional IP address of the actor.
|
|
22
|
+
* @param args.metadata - An optional arbitrary object with additional event details.
|
|
23
|
+
* @returns The ID of the newly created `EnterpriseAuditEvent` document.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```ts
|
|
27
|
+
* const eventId = await ctx.runMutation(
|
|
28
|
+
* components.auth.enterprise.enterpriseAuditEventCreate,
|
|
29
|
+
* {
|
|
30
|
+
* enterpriseId,
|
|
31
|
+
* groupId: orgGroupId,
|
|
32
|
+
* eventType: "user.login",
|
|
33
|
+
* actorType: "user",
|
|
34
|
+
* actorId: userId,
|
|
35
|
+
* subjectType: "session",
|
|
36
|
+
* subjectId: sessionId,
|
|
37
|
+
* status: "success",
|
|
38
|
+
* occurredAt: Date.now(),
|
|
39
|
+
* ip: "203.0.113.42",
|
|
40
|
+
* },
|
|
41
|
+
* );
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
declare const enterpriseAuditEventCreate: any;
|
|
45
|
+
/**
|
|
46
|
+
* List audit events, optionally filtered by enterprise or group.
|
|
47
|
+
*
|
|
48
|
+
* Returns audit events in reverse chronological order. When `enterpriseId` is
|
|
49
|
+
* provided, events are filtered using the `enterprise_id_occurred_at` index.
|
|
50
|
+
* When only `groupId` is provided, the `group_id_occurred_at` index is used.
|
|
51
|
+
* If neither filter is given, the most recent events across all enterprises
|
|
52
|
+
* are returned.
|
|
53
|
+
*
|
|
54
|
+
* @param args.enterpriseId - An optional enterprise ID to scope events to a single enterprise.
|
|
55
|
+
* @param args.groupId - An optional group ID to scope events to a single group.
|
|
56
|
+
* @param args.limit - Maximum number of events to return (clamped between 1 and 100, defaults to 50).
|
|
57
|
+
* @returns An array of audit event documents, most recent first.
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```ts
|
|
61
|
+
* const events = await ctx.runQuery(
|
|
62
|
+
* components.auth.enterprise.enterpriseAuditEventList,
|
|
63
|
+
* { enterpriseId, limit: 20 },
|
|
64
|
+
* );
|
|
65
|
+
* for (const event of events) {
|
|
66
|
+
* console.log(event.eventType, event.actorType, event.status);
|
|
67
|
+
* }
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
declare const enterpriseAuditEventList: any;
|
|
71
|
+
//#endregion
|
|
72
|
+
export { audit_d_exports, enterpriseAuditEventCreate, enterpriseAuditEventList };
|
|
73
|
+
//# sourceMappingURL=audit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit.d.ts","names":[],"sources":["../../../../src/component/public/enterprise/audit.ts"],"mappings":";;;;;;;;;;AA4CA;;;;;AA8CA;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA9Ca,0BAAA;;;;;;;;;;;;;;;;;;;;;;;;;;cA8CA,wBAAA"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { mutation, query } from "../../functions.js";
|
|
2
|
+
import { vAuditActorType, vAuditStatus, vEnterpriseAuditEventDoc } from "../../model.js";
|
|
3
|
+
import { v } from "convex/values";
|
|
4
|
+
|
|
5
|
+
//#region src/component/public/enterprise/audit.ts
|
|
6
|
+
/**
|
|
7
|
+
* Record a new audit event for an enterprise.
|
|
8
|
+
*
|
|
9
|
+
* Inserts an immutable audit log entry capturing who performed what action,
|
|
10
|
+
* on which subject, and whether it succeeded or failed. Use this to maintain
|
|
11
|
+
* a tamper-evident trail of security-relevant events.
|
|
12
|
+
*
|
|
13
|
+
* @param args.enterpriseId - The ID of the enterprise this event belongs to.
|
|
14
|
+
* @param args.groupId - The ID of the root group that owns the enterprise.
|
|
15
|
+
* @param args.eventType - A string identifying the type of event (e.g. `"user.login"`, `"scim.provision"`).
|
|
16
|
+
* @param args.actorType - The kind of actor: `"user"`, `"system"`, `"scim"`, `"api_key"`, or `"webhook"`.
|
|
17
|
+
* @param args.actorId - An optional identifier for the actor (e.g. a user ID or API key ID).
|
|
18
|
+
* @param args.subjectType - The type of the resource being acted upon (e.g. `"user"`, `"group"`).
|
|
19
|
+
* @param args.subjectId - An optional identifier for the subject resource.
|
|
20
|
+
* @param args.status - Whether the event represents a `"success"` or `"failure"`.
|
|
21
|
+
* @param args.occurredAt - Epoch timestamp (ms) when the event occurred.
|
|
22
|
+
* @param args.requestId - An optional correlation ID tying this event to a specific request.
|
|
23
|
+
* @param args.ip - An optional IP address of the actor.
|
|
24
|
+
* @param args.metadata - An optional arbitrary object with additional event details.
|
|
25
|
+
* @returns The ID of the newly created `EnterpriseAuditEvent` document.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```ts
|
|
29
|
+
* const eventId = await ctx.runMutation(
|
|
30
|
+
* components.auth.enterprise.enterpriseAuditEventCreate,
|
|
31
|
+
* {
|
|
32
|
+
* enterpriseId,
|
|
33
|
+
* groupId: orgGroupId,
|
|
34
|
+
* eventType: "user.login",
|
|
35
|
+
* actorType: "user",
|
|
36
|
+
* actorId: userId,
|
|
37
|
+
* subjectType: "session",
|
|
38
|
+
* subjectId: sessionId,
|
|
39
|
+
* status: "success",
|
|
40
|
+
* occurredAt: Date.now(),
|
|
41
|
+
* ip: "203.0.113.42",
|
|
42
|
+
* },
|
|
43
|
+
* );
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
const enterpriseAuditEventCreate = mutation({
|
|
47
|
+
args: {
|
|
48
|
+
enterpriseId: v.id("Enterprise"),
|
|
49
|
+
groupId: v.id("Group"),
|
|
50
|
+
eventType: v.string(),
|
|
51
|
+
actorType: vAuditActorType,
|
|
52
|
+
actorId: v.optional(v.string()),
|
|
53
|
+
subjectType: v.string(),
|
|
54
|
+
subjectId: v.optional(v.string()),
|
|
55
|
+
status: vAuditStatus,
|
|
56
|
+
occurredAt: v.number(),
|
|
57
|
+
requestId: v.optional(v.string()),
|
|
58
|
+
ip: v.optional(v.string()),
|
|
59
|
+
metadata: v.optional(v.any())
|
|
60
|
+
},
|
|
61
|
+
returns: v.id("EnterpriseAuditEvent"),
|
|
62
|
+
handler: async (ctx, args) => {
|
|
63
|
+
return await ctx.db.insert("EnterpriseAuditEvent", args);
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
/**
|
|
67
|
+
* List audit events, optionally filtered by enterprise or group.
|
|
68
|
+
*
|
|
69
|
+
* Returns audit events in reverse chronological order. When `enterpriseId` is
|
|
70
|
+
* provided, events are filtered using the `enterprise_id_occurred_at` index.
|
|
71
|
+
* When only `groupId` is provided, the `group_id_occurred_at` index is used.
|
|
72
|
+
* If neither filter is given, the most recent events across all enterprises
|
|
73
|
+
* are returned.
|
|
74
|
+
*
|
|
75
|
+
* @param args.enterpriseId - An optional enterprise ID to scope events to a single enterprise.
|
|
76
|
+
* @param args.groupId - An optional group ID to scope events to a single group.
|
|
77
|
+
* @param args.limit - Maximum number of events to return (clamped between 1 and 100, defaults to 50).
|
|
78
|
+
* @returns An array of audit event documents, most recent first.
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* ```ts
|
|
82
|
+
* const events = await ctx.runQuery(
|
|
83
|
+
* components.auth.enterprise.enterpriseAuditEventList,
|
|
84
|
+
* { enterpriseId, limit: 20 },
|
|
85
|
+
* );
|
|
86
|
+
* for (const event of events) {
|
|
87
|
+
* console.log(event.eventType, event.actorType, event.status);
|
|
88
|
+
* }
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
const enterpriseAuditEventList = query({
|
|
92
|
+
args: {
|
|
93
|
+
enterpriseId: v.optional(v.id("Enterprise")),
|
|
94
|
+
groupId: v.optional(v.id("Group")),
|
|
95
|
+
limit: v.optional(v.number())
|
|
96
|
+
},
|
|
97
|
+
returns: v.array(vEnterpriseAuditEventDoc),
|
|
98
|
+
handler: async (ctx, args) => {
|
|
99
|
+
const limit = Math.min(Math.max(args.limit ?? 50, 1), 100);
|
|
100
|
+
if (args.enterpriseId !== void 0) return await ctx.db.query("EnterpriseAuditEvent").withIndex("enterprise_id_occurred_at", (idx) => idx.eq("enterpriseId", args.enterpriseId)).order("desc").take(limit);
|
|
101
|
+
if (args.groupId !== void 0) return await ctx.db.query("EnterpriseAuditEvent").withIndex("group_id_occurred_at", (idx) => idx.eq("groupId", args.groupId)).order("desc").take(limit);
|
|
102
|
+
return await ctx.db.query("EnterpriseAuditEvent").order("desc").take(limit);
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
//#endregion
|
|
107
|
+
export { enterpriseAuditEventCreate, enterpriseAuditEventList };
|
|
108
|
+
//# sourceMappingURL=audit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit.js","names":[],"sources":["../../../../src/component/public/enterprise/audit.ts"],"sourcesContent":["import { v } from \"convex/values\";\nimport { mutation, query } from \"../../functions\";\nimport { vAuditActorType, vAuditStatus, vEnterpriseAuditEventDoc } from \"../../model\";\n\n/**\n * Record a new audit event for an enterprise.\n *\n * Inserts an immutable audit log entry capturing who performed what action,\n * on which subject, and whether it succeeded or failed. Use this to maintain\n * a tamper-evident trail of security-relevant events.\n *\n * @param args.enterpriseId - The ID of the enterprise this event belongs to.\n * @param args.groupId - The ID of the root group that owns the enterprise.\n * @param args.eventType - A string identifying the type of event (e.g. `\"user.login\"`, `\"scim.provision\"`).\n * @param args.actorType - The kind of actor: `\"user\"`, `\"system\"`, `\"scim\"`, `\"api_key\"`, or `\"webhook\"`.\n * @param args.actorId - An optional identifier for the actor (e.g. a user ID or API key ID).\n * @param args.subjectType - The type of the resource being acted upon (e.g. `\"user\"`, `\"group\"`).\n * @param args.subjectId - An optional identifier for the subject resource.\n * @param args.status - Whether the event represents a `\"success\"` or `\"failure\"`.\n * @param args.occurredAt - Epoch timestamp (ms) when the event occurred.\n * @param args.requestId - An optional correlation ID tying this event to a specific request.\n * @param args.ip - An optional IP address of the actor.\n * @param args.metadata - An optional arbitrary object with additional event details.\n * @returns The ID of the newly created `EnterpriseAuditEvent` document.\n *\n * @example\n * ```ts\n * const eventId = await ctx.runMutation(\n * components.auth.enterprise.enterpriseAuditEventCreate,\n * {\n * enterpriseId,\n * groupId: orgGroupId,\n * eventType: \"user.login\",\n * actorType: \"user\",\n * actorId: userId,\n * subjectType: \"session\",\n * subjectId: sessionId,\n * status: \"success\",\n * occurredAt: Date.now(),\n * ip: \"203.0.113.42\",\n * },\n * );\n * ```\n */\nexport const enterpriseAuditEventCreate = mutation({\n args: {\n enterpriseId: v.id(\"Enterprise\"),\n groupId: v.id(\"Group\"),\n eventType: v.string(),\n actorType: vAuditActorType,\n actorId: v.optional(v.string()),\n subjectType: v.string(),\n subjectId: v.optional(v.string()),\n status: vAuditStatus,\n occurredAt: v.number(),\n requestId: v.optional(v.string()),\n ip: v.optional(v.string()),\n metadata: v.optional(v.any()),\n },\n returns: v.id(\"EnterpriseAuditEvent\"),\n handler: async (ctx, args) => {\n return await ctx.db.insert(\"EnterpriseAuditEvent\", args);\n },\n});\n\n/**\n * List audit events, optionally filtered by enterprise or group.\n *\n * Returns audit events in reverse chronological order. When `enterpriseId` is\n * provided, events are filtered using the `enterprise_id_occurred_at` index.\n * When only `groupId` is provided, the `group_id_occurred_at` index is used.\n * If neither filter is given, the most recent events across all enterprises\n * are returned.\n *\n * @param args.enterpriseId - An optional enterprise ID to scope events to a single enterprise.\n * @param args.groupId - An optional group ID to scope events to a single group.\n * @param args.limit - Maximum number of events to return (clamped between 1 and 100, defaults to 50).\n * @returns An array of audit event documents, most recent first.\n *\n * @example\n * ```ts\n * const events = await ctx.runQuery(\n * components.auth.enterprise.enterpriseAuditEventList,\n * { enterpriseId, limit: 20 },\n * );\n * for (const event of events) {\n * console.log(event.eventType, event.actorType, event.status);\n * }\n * ```\n */\nexport const enterpriseAuditEventList = query({\n args: {\n enterpriseId: v.optional(v.id(\"Enterprise\")),\n groupId: v.optional(v.id(\"Group\")),\n limit: v.optional(v.number()),\n },\n returns: v.array(vEnterpriseAuditEventDoc),\n handler: async (ctx, args) => {\n const limit = Math.min(Math.max(args.limit ?? 50, 1), 100);\n if (args.enterpriseId !== undefined) {\n return await ctx.db\n .query(\"EnterpriseAuditEvent\")\n .withIndex(\"enterprise_id_occurred_at\", (idx) =>\n idx.eq(\"enterpriseId\", args.enterpriseId!),\n )\n .order(\"desc\")\n .take(limit);\n }\n if (args.groupId !== undefined) {\n return await ctx.db\n .query(\"EnterpriseAuditEvent\")\n .withIndex(\"group_id_occurred_at\", (idx) =>\n idx.eq(\"groupId\", args.groupId!),\n )\n .order(\"desc\")\n .take(limit);\n }\n return await ctx.db.query(\"EnterpriseAuditEvent\").order(\"desc\").take(limit);\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CA,MAAa,6BAA6B,SAAS;CACjD,MAAM;EACJ,cAAc,EAAE,GAAG,aAAa;EAChC,SAAS,EAAE,GAAG,QAAQ;EACtB,WAAW,EAAE,QAAQ;EACrB,WAAW;EACX,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC;EAC/B,aAAa,EAAE,QAAQ;EACvB,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC;EACjC,QAAQ;EACR,YAAY,EAAE,QAAQ;EACtB,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC;EACjC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC;EAC1B,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC;EAC9B;CACD,SAAS,EAAE,GAAG,uBAAuB;CACrC,SAAS,OAAO,KAAK,SAAS;AAC5B,SAAO,MAAM,IAAI,GAAG,OAAO,wBAAwB,KAAK;;CAE3D,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BF,MAAa,2BAA2B,MAAM;CAC5C,MAAM;EACJ,cAAc,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC;EAC5C,SAAS,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;EAClC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC;EAC9B;CACD,SAAS,EAAE,MAAM,yBAAyB;CAC1C,SAAS,OAAO,KAAK,SAAS;EAC5B,MAAM,QAAQ,KAAK,IAAI,KAAK,IAAI,KAAK,SAAS,IAAI,EAAE,EAAE,IAAI;AAC1D,MAAI,KAAK,iBAAiB,OACxB,QAAO,MAAM,IAAI,GACd,MAAM,uBAAuB,CAC7B,UAAU,8BAA8B,QACvC,IAAI,GAAG,gBAAgB,KAAK,aAAc,CAC3C,CACA,MAAM,OAAO,CACb,KAAK,MAAM;AAEhB,MAAI,KAAK,YAAY,OACnB,QAAO,MAAM,IAAI,GACd,MAAM,uBAAuB,CAC7B,UAAU,yBAAyB,QAClC,IAAI,GAAG,WAAW,KAAK,QAAS,CACjC,CACA,MAAM,OAAO,CACb,KAAK,MAAM;AAEhB,SAAO,MAAM,IAAI,GAAG,MAAM,uBAAuB,CAAC,MAAM,OAAO,CAAC,KAAK,MAAM;;CAE9E,CAAC"}
|
|
@@ -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"}
|