@go-mondo/identity-sdk 0.0.2-beta.8 → 0.0.2-beta.9
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/.release-please-manifest.json +1 -1
- package/.tsbuildinfo/cjs.json +1 -1
- package/.tsbuildinfo/esm.json +1 -1
- package/CHANGELOG.md +8 -0
- package/dist/cjs/action/schema/base.d.ts.map +1 -1
- package/dist/cjs/action/schema/base.js +3 -1
- package/dist/cjs/action/schema/base.test.d.ts +2 -0
- package/dist/cjs/action/schema/base.test.d.ts.map +1 -0
- package/dist/cjs/action/schema/base.test.js +122 -0
- package/dist/cjs/action/schema/operations/set-password.js +1 -1
- package/dist/cjs/action/schema/operations/set-password.test.d.ts +2 -0
- package/dist/cjs/action/schema/operations/set-password.test.d.ts.map +1 -0
- package/dist/cjs/action/schema/operations/set-password.test.js +167 -0
- package/dist/cjs/action/schema/operations/sign-up-verification.js +1 -1
- package/dist/cjs/action/schema/operations/sign-up-verification.test.d.ts +2 -0
- package/dist/cjs/action/schema/operations/sign-up-verification.test.d.ts.map +1 -0
- package/dist/cjs/action/schema/operations/sign-up-verification.test.js +141 -0
- package/dist/cjs/action/schema/operations/sign-up.test.d.ts +2 -0
- package/dist/cjs/action/schema/operations/sign-up.test.d.ts.map +1 -0
- package/dist/cjs/action/schema/operations/sign-up.test.js +174 -0
- package/dist/cjs/action/schema/operations/user-attribute-verification.js +1 -1
- package/dist/cjs/action/schema/operations/user-attribute-verification.test.d.ts +2 -0
- package/dist/cjs/action/schema/operations/user-attribute-verification.test.d.ts.map +1 -0
- package/dist/cjs/action/schema/operations/user-attribute-verification.test.js +129 -0
- package/dist/cjs/action/schema/schema.test.d.ts +2 -0
- package/dist/cjs/action/schema/schema.test.d.ts.map +1 -0
- package/dist/cjs/action/schema/schema.test.js +191 -0
- package/dist/cjs/action/schema/utils.d.ts +7 -0
- package/dist/cjs/action/schema/utils.d.ts.map +1 -0
- package/dist/cjs/action/schema/utils.js +16 -0
- package/dist/cjs/action/schema/utils.test.d.ts +2 -0
- package/dist/cjs/action/schema/utils.test.d.ts.map +1 -0
- package/dist/cjs/action/schema/utils.test.js +26 -0
- package/dist/cjs/activity/resources.test.d.ts +2 -0
- package/dist/cjs/activity/resources.test.d.ts.map +1 -0
- package/dist/cjs/activity/resources.test.js +224 -0
- package/dist/cjs/activity/schema/base.d.ts +1 -1
- package/dist/cjs/activity/schema/base.d.ts.map +1 -1
- package/dist/cjs/activity/schema/base.js +5 -4
- package/dist/cjs/activity/schema/base.test.d.ts +2 -0
- package/dist/cjs/activity/schema/base.test.d.ts.map +1 -0
- package/dist/cjs/activity/schema/base.test.js +239 -0
- package/dist/cjs/activity/schema/schema.d.ts +5 -5
- package/dist/cjs/activity/schema/schema.test.d.ts +2 -0
- package/dist/cjs/activity/schema/schema.test.d.ts.map +1 -0
- package/dist/cjs/activity/schema/schema.test.js +344 -0
- package/dist/cjs/activity/schema/types/authentication.d.ts +1 -1
- package/dist/cjs/activity/schema/types/authentication.js +1 -1
- package/dist/cjs/activity/schema/types/authentication.test.d.ts +2 -0
- package/dist/cjs/activity/schema/types/authentication.test.d.ts.map +1 -0
- package/dist/cjs/activity/schema/types/authentication.test.js +303 -0
- package/dist/cjs/activity/schema/types/authorization.d.ts +1 -1
- package/dist/cjs/activity/schema/types/authorization.js +1 -1
- package/dist/cjs/activity/schema/types/authorization.test.d.ts +2 -0
- package/dist/cjs/activity/schema/types/authorization.test.d.ts.map +1 -0
- package/dist/cjs/activity/schema/types/authorization.test.js +341 -0
- package/dist/cjs/activity/schema/types/note.d.ts +1 -1
- package/dist/cjs/activity/schema/types/note.test.d.ts +2 -0
- package/dist/cjs/activity/schema/types/note.test.d.ts.map +1 -0
- package/dist/cjs/activity/schema/types/note.test.js +319 -0
- package/dist/cjs/activity/schema/types/operation.d.ts +1 -1
- package/dist/cjs/activity/schema/types/operation.test.d.ts +2 -0
- package/dist/cjs/activity/schema/types/operation.test.d.ts.map +1 -0
- package/dist/cjs/activity/schema/types/operation.test.js +344 -0
- package/dist/cjs/activity/schema/types/unknown.d.ts +1 -1
- package/dist/cjs/activity/schema/types/unknown.test.d.ts +2 -0
- package/dist/cjs/activity/schema/types/unknown.test.d.ts.map +1 -0
- package/dist/cjs/activity/schema/types/unknown.test.js +275 -0
- package/dist/cjs/activity/schema/utils.test.d.ts +2 -0
- package/dist/cjs/activity/schema/utils.test.d.ts.map +1 -0
- package/dist/cjs/activity/schema/utils.test.js +26 -0
- package/dist/cjs/app/authorization/schema.d.ts +6 -6
- package/dist/cjs/app/authorization/schema.d.ts.map +1 -1
- package/dist/cjs/app/authorization/schema.js +39 -26
- package/dist/cjs/app/authorization/schema.test.d.ts +2 -0
- package/dist/cjs/app/authorization/schema.test.d.ts.map +1 -0
- package/dist/cjs/app/authorization/schema.test.js +353 -0
- package/dist/cjs/app/oauth/schema.d.ts +1 -1
- package/dist/cjs/app/oauth/schema.d.ts.map +1 -1
- package/dist/cjs/app/oauth/schema.js +2 -1
- package/dist/cjs/app/oauth/schema.test.d.ts +2 -0
- package/dist/cjs/app/oauth/schema.test.d.ts.map +1 -0
- package/dist/cjs/app/oauth/schema.test.js +173 -0
- package/dist/cjs/app/oidc/schema.d.ts +2 -2
- package/dist/cjs/app/oidc/schema.d.ts.map +1 -1
- package/dist/cjs/app/oidc/schema.js +1 -1
- package/dist/cjs/app/oidc/schema.test.d.ts +2 -0
- package/dist/cjs/app/oidc/schema.test.d.ts.map +1 -0
- package/dist/cjs/app/oidc/schema.test.js +95 -0
- package/dist/cjs/app/registration/resources.test.d.ts +2 -0
- package/dist/cjs/app/registration/resources.test.d.ts.map +1 -0
- package/dist/cjs/app/registration/resources.test.js +295 -0
- package/dist/cjs/app/registration/schema.d.ts +1 -1
- package/dist/cjs/app/registration/schema.test.d.ts +2 -0
- package/dist/cjs/app/registration/schema.test.d.ts.map +1 -0
- package/dist/cjs/app/registration/schema.test.js +262 -0
- package/dist/cjs/app/resources.test.d.ts +2 -0
- package/dist/cjs/app/resources.test.d.ts.map +1 -0
- package/dist/cjs/app/resources.test.js +288 -0
- package/dist/cjs/app/saml/schema.d.ts +3 -3
- package/dist/cjs/app/saml/schema.d.ts.map +1 -1
- package/dist/cjs/app/saml/schema.js +2 -2
- package/dist/cjs/app/schema.d.ts +5 -1
- package/dist/cjs/app/schema.d.ts.map +1 -1
- package/dist/cjs/app/schema.js +7 -2
- package/dist/cjs/app/schema.test.d.ts +2 -0
- package/dist/cjs/app/schema.test.d.ts.map +1 -0
- package/dist/cjs/app/schema.test.js +184 -0
- package/dist/cjs/app/utils.test.d.ts +2 -0
- package/dist/cjs/app/utils.test.d.ts.map +1 -0
- package/dist/cjs/app/utils.test.js +42 -0
- package/dist/cjs/association/schema.d.ts +23 -23
- package/dist/cjs/association/schema.js +3 -3
- package/dist/cjs/association/schema.test.d.ts +2 -0
- package/dist/cjs/association/schema.test.d.ts.map +1 -0
- package/dist/cjs/association/schema.test.js +121 -0
- package/dist/cjs/authentication/factors/schema.test.js +19 -18
- package/dist/cjs/authentication/providers/schema.js +1 -1
- package/dist/cjs/authentication/sessions/schema.d.ts +5 -5
- package/dist/cjs/authentication/sessions/schema.d.ts.map +1 -1
- package/dist/cjs/authentication/sessions/schema.js +4 -2
- package/dist/cjs/authentication/settings/schema.d.ts +1 -1
- package/dist/cjs/authentication/settings/schema.js +1 -1
- package/dist/cjs/authentication/settings/schema.test.d.ts +2 -0
- package/dist/cjs/authentication/settings/schema.test.d.ts.map +1 -0
- package/dist/cjs/authentication/settings/schema.test.js +73 -0
- package/dist/cjs/authentication/strategies/schema/base.d.ts +1 -1
- package/dist/cjs/authentication/strategies/schema/base.d.ts.map +1 -1
- package/dist/cjs/authentication/strategies/schema/base.js +3 -1
- package/dist/cjs/authentication/strategies/schema/schema.d.ts +3 -3
- package/dist/cjs/authentication/strategies/schema/types/email.d.ts +1 -1
- package/dist/cjs/authentication/strategies/schema/types/email.test.d.ts +2 -0
- package/dist/cjs/authentication/strategies/schema/types/email.test.d.ts.map +1 -0
- package/dist/cjs/authentication/strategies/schema/types/email.test.js +205 -0
- package/dist/cjs/authentication/strategies/schema/types/password.d.ts +1 -1
- package/dist/cjs/authentication/strategies/schema/types/totp.d.ts +1 -1
- package/dist/cjs/authentication/utils.d.ts +13 -0
- package/dist/cjs/authentication/utils.d.ts.map +1 -0
- package/dist/cjs/authentication/utils.js +25 -0
- package/dist/cjs/authentication/utils.test.d.ts +2 -0
- package/dist/cjs/authentication/utils.test.d.ts.map +1 -0
- package/dist/cjs/authentication/utils.test.js +142 -0
- package/dist/cjs/authorization/index.d.ts +1 -1
- package/dist/cjs/authorization/index.d.ts.map +1 -1
- package/dist/cjs/authorization/index.js +1 -1
- package/dist/cjs/authorization/permissions/schema.d.ts +1 -2
- package/dist/cjs/authorization/permissions/schema.d.ts.map +1 -1
- package/dist/cjs/authorization/permissions/schema.js +9 -10
- package/dist/cjs/authorization/permissions/schema.test.d.ts +2 -0
- package/dist/cjs/authorization/permissions/schema.test.d.ts.map +1 -0
- package/dist/cjs/authorization/permissions/schema.test.js +217 -0
- package/dist/cjs/authorization/roles/schema.d.ts +3 -3
- package/dist/cjs/authorization/roles/schema.d.ts.map +1 -1
- package/dist/cjs/authorization/roles/schema.js +10 -10
- package/dist/cjs/authorization/roles/schema.test.d.ts +2 -0
- package/dist/cjs/authorization/roles/schema.test.d.ts.map +1 -0
- package/dist/cjs/authorization/roles/schema.test.js +236 -0
- package/dist/cjs/authorization/schema.d.ts +17 -0
- package/dist/cjs/authorization/schema.d.ts.map +1 -0
- package/dist/cjs/authorization/{utils.js → schema.js} +7 -1
- package/dist/cjs/authorization/schema.test.d.ts +2 -0
- package/dist/cjs/authorization/schema.test.d.ts.map +1 -0
- package/dist/cjs/authorization/schema.test.js +42 -0
- package/dist/cjs/common/errors/http.test.d.ts +2 -0
- package/dist/cjs/common/errors/http.test.d.ts.map +1 -0
- package/dist/cjs/common/errors/http.test.js +71 -0
- package/dist/cjs/common/errors/validation.test.d.ts +2 -0
- package/dist/cjs/common/errors/validation.test.d.ts.map +1 -0
- package/dist/cjs/common/errors/validation.test.js +92 -0
- package/dist/cjs/common/resources/init.d.ts +2 -2
- package/dist/cjs/common/resources/init.d.ts.map +1 -1
- package/dist/cjs/common/resources/init.js +1 -1
- package/dist/cjs/common/resources/init.test.d.ts +2 -0
- package/dist/cjs/common/resources/init.test.d.ts.map +1 -0
- package/dist/cjs/common/resources/init.test.js +233 -0
- package/dist/cjs/common/resources/operations.test.d.ts +2 -0
- package/dist/cjs/common/resources/operations.test.d.ts.map +1 -0
- package/dist/cjs/common/resources/operations.test.js +356 -0
- package/dist/cjs/common/resources/utils.d.ts +1 -1
- package/dist/cjs/common/resources/utils.d.ts.map +1 -1
- package/dist/cjs/common/resources/utils.test.d.ts +2 -0
- package/dist/cjs/common/resources/utils.test.d.ts.map +1 -0
- package/dist/cjs/common/resources/utils.test.js +163 -0
- package/dist/cjs/common/schema/aggregate.test.d.ts +2 -0
- package/dist/cjs/common/schema/aggregate.test.d.ts.map +1 -0
- package/dist/cjs/common/schema/aggregate.test.js +75 -0
- package/dist/cjs/common/schema/collection.d.ts +2 -2
- package/dist/cjs/common/schema/collection.test.d.ts +2 -0
- package/dist/cjs/common/schema/collection.test.d.ts.map +1 -0
- package/dist/cjs/common/schema/collection.test.js +98 -0
- package/dist/cjs/common/schema/id.d.ts +2 -0
- package/dist/cjs/common/schema/id.d.ts.map +1 -0
- package/dist/cjs/common/schema/id.js +6 -0
- package/dist/cjs/common/schema/id.test.d.ts +2 -0
- package/dist/cjs/common/schema/id.test.d.ts.map +1 -0
- package/dist/cjs/common/schema/id.test.js +116 -0
- package/dist/cjs/common/schema/jwt.test.d.ts +2 -0
- package/dist/cjs/common/schema/jwt.test.d.ts.map +1 -0
- package/dist/cjs/common/schema/jwt.test.js +56 -0
- package/dist/cjs/common/schema/metadata.d.ts +9 -3
- package/dist/cjs/common/schema/metadata.d.ts.map +1 -1
- package/dist/cjs/common/schema/metadata.js +27 -8
- package/dist/cjs/common/schema/metadata.test.js +49 -0
- package/dist/cjs/common/schema/pagination.d.ts +2 -2
- package/dist/cjs/common/schema/pagination.js +2 -2
- package/dist/cjs/common/schema/pagination.test.d.ts +2 -0
- package/dist/cjs/common/schema/pagination.test.d.ts.map +1 -0
- package/dist/cjs/common/schema/pagination.test.js +68 -0
- package/dist/cjs/common/schema/sets.test.d.ts +2 -0
- package/dist/cjs/common/schema/sets.test.d.ts.map +1 -0
- package/dist/cjs/common/schema/sets.test.js +84 -0
- package/dist/cjs/common/schema/url.test.d.ts +2 -0
- package/dist/cjs/common/schema/url.test.d.ts.map +1 -0
- package/dist/cjs/common/schema/url.test.js +74 -0
- package/dist/cjs/customer/index.d.ts +2 -1
- package/dist/cjs/customer/index.d.ts.map +1 -1
- package/dist/cjs/customer/index.js +2 -1
- package/dist/cjs/customer/{schema/organization.d.ts → organization/schema.d.ts} +4 -3
- package/dist/cjs/customer/organization/schema.d.ts.map +1 -0
- package/dist/cjs/customer/{schema/organization.js → organization/schema.js} +9 -7
- package/dist/cjs/customer/schema.d.ts +17 -0
- package/dist/cjs/customer/schema.d.ts.map +1 -0
- package/dist/cjs/customer/{schema/utils.js → schema.js} +7 -1
- package/dist/cjs/customer/schema.test.d.ts +2 -0
- package/dist/cjs/customer/schema.test.d.ts.map +1 -0
- package/dist/cjs/customer/schema.test.js +42 -0
- package/dist/cjs/customer/users/schema.d.ts +4 -3
- package/dist/cjs/customer/users/schema.d.ts.map +1 -1
- package/dist/cjs/customer/users/schema.js +29 -26
- package/dist/cjs/customer/users/schema.test.js +13 -12
- package/dist/cjs/customer/users/utils.test.d.ts +2 -0
- package/dist/cjs/customer/users/utils.test.d.ts.map +1 -0
- package/dist/cjs/customer/users/utils.test.js +145 -0
- package/dist/cjs/identity/schema.test.d.ts +2 -0
- package/dist/cjs/identity/schema.test.d.ts.map +1 -0
- package/dist/cjs/identity/schema.test.js +40 -0
- package/dist/cjs/oauth/authorize/schema/grants/authorization-code.d.ts.map +1 -1
- package/dist/cjs/oauth/authorize/schema/grants/authorization-code.js +22 -3
- package/dist/cjs/oauth/authorize/schema/grants/authorization-code.test.d.ts +2 -0
- package/dist/cjs/oauth/authorize/schema/grants/authorization-code.test.d.ts.map +1 -0
- package/dist/cjs/oauth/authorize/schema/grants/authorization-code.test.js +334 -0
- package/dist/cjs/oauth/common/schema.test.d.ts +2 -0
- package/dist/cjs/oauth/common/schema.test.d.ts.map +1 -0
- package/dist/cjs/oauth/common/schema.test.js +290 -0
- package/dist/cjs/oauth/token/schema/schema.test.d.ts +2 -0
- package/dist/cjs/oauth/token/schema/schema.test.d.ts.map +1 -0
- package/dist/cjs/oauth/token/schema/schema.test.js +122 -0
- package/dist/cjs/workspace/settings/schema.test.d.ts +2 -0
- package/dist/cjs/workspace/settings/schema.test.d.ts.map +1 -0
- package/dist/cjs/workspace/settings/schema.test.js +73 -0
- package/dist/cjs/workspace/tenant/schema.d.ts +1 -0
- package/dist/cjs/workspace/tenant/schema.d.ts.map +1 -1
- package/dist/cjs/workspace/tenant/schema.js +8 -7
- package/dist/cjs/workspace/user/notifications/schema.d.ts.map +1 -1
- package/dist/cjs/workspace/user/notifications/schema.js +3 -2
- package/dist/cjs/workspace/user/preferences/schema.js +2 -2
- package/dist/cjs/workspace/utils.d.ts +0 -3
- package/dist/cjs/workspace/utils.d.ts.map +1 -1
- package/dist/cjs/workspace/utils.js +0 -3
- package/dist/cjs/workspace/utils.test.d.ts +2 -0
- package/dist/cjs/workspace/utils.test.d.ts.map +1 -0
- package/dist/cjs/workspace/utils.test.js +63 -0
- package/dist/esm/action/schema/base.d.ts.map +1 -1
- package/dist/esm/action/schema/base.js +3 -1
- package/dist/esm/action/schema/base.test.d.ts +2 -0
- package/dist/esm/action/schema/base.test.d.ts.map +1 -0
- package/dist/esm/action/schema/base.test.js +120 -0
- package/dist/esm/action/schema/operations/set-password.js +1 -1
- package/dist/esm/action/schema/operations/set-password.test.d.ts +2 -0
- package/dist/esm/action/schema/operations/set-password.test.d.ts.map +1 -0
- package/dist/esm/action/schema/operations/set-password.test.js +165 -0
- package/dist/esm/action/schema/operations/sign-up-verification.js +1 -1
- package/dist/esm/action/schema/operations/sign-up-verification.test.d.ts +2 -0
- package/dist/esm/action/schema/operations/sign-up-verification.test.d.ts.map +1 -0
- package/dist/esm/action/schema/operations/sign-up-verification.test.js +139 -0
- package/dist/esm/action/schema/operations/sign-up.test.d.ts +2 -0
- package/dist/esm/action/schema/operations/sign-up.test.d.ts.map +1 -0
- package/dist/esm/action/schema/operations/sign-up.test.js +172 -0
- package/dist/esm/action/schema/operations/user-attribute-verification.js +1 -1
- package/dist/esm/action/schema/operations/user-attribute-verification.test.d.ts +2 -0
- package/dist/esm/action/schema/operations/user-attribute-verification.test.d.ts.map +1 -0
- package/dist/esm/action/schema/operations/user-attribute-verification.test.js +127 -0
- package/dist/esm/action/schema/schema.test.d.ts +2 -0
- package/dist/esm/action/schema/schema.test.d.ts.map +1 -0
- package/dist/esm/action/schema/schema.test.js +189 -0
- package/dist/esm/action/schema/utils.d.ts +7 -0
- package/dist/esm/action/schema/utils.d.ts.map +1 -0
- package/dist/esm/action/schema/utils.js +9 -0
- package/dist/esm/action/schema/utils.test.d.ts +2 -0
- package/dist/esm/action/schema/utils.test.d.ts.map +1 -0
- package/dist/esm/action/schema/utils.test.js +24 -0
- package/dist/esm/activity/resources.test.d.ts +2 -0
- package/dist/esm/activity/resources.test.d.ts.map +1 -0
- package/dist/esm/activity/resources.test.js +189 -0
- package/dist/esm/activity/schema/base.d.ts +1 -1
- package/dist/esm/activity/schema/base.d.ts.map +1 -1
- package/dist/esm/activity/schema/base.js +7 -6
- package/dist/esm/activity/schema/base.test.d.ts +2 -0
- package/dist/esm/activity/schema/base.test.d.ts.map +1 -0
- package/dist/esm/activity/schema/base.test.js +237 -0
- package/dist/esm/activity/schema/schema.d.ts +5 -5
- package/dist/esm/activity/schema/schema.test.d.ts +2 -0
- package/dist/esm/activity/schema/schema.test.d.ts.map +1 -0
- package/dist/esm/activity/schema/schema.test.js +342 -0
- package/dist/esm/activity/schema/types/authentication.d.ts +1 -1
- package/dist/esm/activity/schema/types/authentication.js +1 -1
- package/dist/esm/activity/schema/types/authentication.test.d.ts +2 -0
- package/dist/esm/activity/schema/types/authentication.test.d.ts.map +1 -0
- package/dist/esm/activity/schema/types/authentication.test.js +301 -0
- package/dist/esm/activity/schema/types/authorization.d.ts +1 -1
- package/dist/esm/activity/schema/types/authorization.js +1 -1
- package/dist/esm/activity/schema/types/authorization.test.d.ts +2 -0
- package/dist/esm/activity/schema/types/authorization.test.d.ts.map +1 -0
- package/dist/esm/activity/schema/types/authorization.test.js +339 -0
- package/dist/esm/activity/schema/types/note.d.ts +1 -1
- package/dist/esm/activity/schema/types/note.test.d.ts +2 -0
- package/dist/esm/activity/schema/types/note.test.d.ts.map +1 -0
- package/dist/esm/activity/schema/types/note.test.js +317 -0
- package/dist/esm/activity/schema/types/operation.d.ts +1 -1
- package/dist/esm/activity/schema/types/operation.test.d.ts +2 -0
- package/dist/esm/activity/schema/types/operation.test.d.ts.map +1 -0
- package/dist/esm/activity/schema/types/operation.test.js +342 -0
- package/dist/esm/activity/schema/types/unknown.d.ts +1 -1
- package/dist/esm/activity/schema/types/unknown.test.d.ts +2 -0
- package/dist/esm/activity/schema/types/unknown.test.d.ts.map +1 -0
- package/dist/esm/activity/schema/types/unknown.test.js +273 -0
- package/dist/esm/activity/schema/utils.test.d.ts +2 -0
- package/dist/esm/activity/schema/utils.test.d.ts.map +1 -0
- package/dist/esm/activity/schema/utils.test.js +24 -0
- package/dist/esm/app/authorization/schema.d.ts +6 -6
- package/dist/esm/app/authorization/schema.d.ts.map +1 -1
- package/dist/esm/app/authorization/schema.js +40 -27
- package/dist/esm/app/authorization/schema.test.d.ts +2 -0
- package/dist/esm/app/authorization/schema.test.d.ts.map +1 -0
- package/dist/esm/app/authorization/schema.test.js +351 -0
- package/dist/esm/app/oauth/schema.d.ts +1 -1
- package/dist/esm/app/oauth/schema.d.ts.map +1 -1
- package/dist/esm/app/oauth/schema.js +3 -2
- package/dist/esm/app/oauth/schema.test.d.ts +2 -0
- package/dist/esm/app/oauth/schema.test.d.ts.map +1 -0
- package/dist/esm/app/oauth/schema.test.js +171 -0
- package/dist/esm/app/oidc/schema.d.ts +2 -2
- package/dist/esm/app/oidc/schema.d.ts.map +1 -1
- package/dist/esm/app/oidc/schema.js +2 -2
- package/dist/esm/app/oidc/schema.test.d.ts +2 -0
- package/dist/esm/app/oidc/schema.test.d.ts.map +1 -0
- package/dist/esm/app/oidc/schema.test.js +93 -0
- package/dist/esm/app/registration/resources.test.d.ts +2 -0
- package/dist/esm/app/registration/resources.test.d.ts.map +1 -0
- package/dist/esm/app/registration/resources.test.js +260 -0
- package/dist/esm/app/registration/schema.d.ts +1 -1
- package/dist/esm/app/registration/schema.test.d.ts +2 -0
- package/dist/esm/app/registration/schema.test.d.ts.map +1 -0
- package/dist/esm/app/registration/schema.test.js +260 -0
- package/dist/esm/app/resources.test.d.ts +2 -0
- package/dist/esm/app/resources.test.d.ts.map +1 -0
- package/dist/esm/app/resources.test.js +253 -0
- package/dist/esm/app/saml/schema.d.ts +3 -3
- package/dist/esm/app/saml/schema.d.ts.map +1 -1
- package/dist/esm/app/saml/schema.js +3 -3
- package/dist/esm/app/schema.d.ts +5 -1
- package/dist/esm/app/schema.d.ts.map +1 -1
- package/dist/esm/app/schema.js +7 -2
- package/dist/esm/app/schema.test.d.ts +2 -0
- package/dist/esm/app/schema.test.d.ts.map +1 -0
- package/dist/esm/app/schema.test.js +182 -0
- package/dist/esm/app/utils.test.d.ts +2 -0
- package/dist/esm/app/utils.test.d.ts.map +1 -0
- package/dist/esm/app/utils.test.js +40 -0
- package/dist/esm/association/schema.d.ts +23 -23
- package/dist/esm/association/schema.js +1 -1
- package/dist/esm/association/schema.test.d.ts +2 -0
- package/dist/esm/association/schema.test.d.ts.map +1 -0
- package/dist/esm/association/schema.test.js +119 -0
- package/dist/esm/authentication/factors/schema.test.js +19 -18
- package/dist/esm/authentication/providers/schema.js +1 -1
- package/dist/esm/authentication/sessions/schema.d.ts +5 -5
- package/dist/esm/authentication/sessions/schema.d.ts.map +1 -1
- package/dist/esm/authentication/sessions/schema.js +4 -2
- package/dist/esm/authentication/settings/schema.d.ts +1 -1
- package/dist/esm/authentication/settings/schema.js +2 -2
- package/dist/esm/authentication/settings/schema.test.d.ts +2 -0
- package/dist/esm/authentication/settings/schema.test.d.ts.map +1 -0
- package/dist/esm/authentication/settings/schema.test.js +71 -0
- package/dist/esm/authentication/strategies/schema/base.d.ts +1 -1
- package/dist/esm/authentication/strategies/schema/base.d.ts.map +1 -1
- package/dist/esm/authentication/strategies/schema/base.js +3 -1
- package/dist/esm/authentication/strategies/schema/schema.d.ts +3 -3
- package/dist/esm/authentication/strategies/schema/types/email.d.ts +1 -1
- package/dist/esm/authentication/strategies/schema/types/email.test.d.ts +2 -0
- package/dist/esm/authentication/strategies/schema/types/email.test.d.ts.map +1 -0
- package/dist/esm/authentication/strategies/schema/types/email.test.js +203 -0
- package/dist/esm/authentication/strategies/schema/types/password.d.ts +1 -1
- package/dist/esm/authentication/strategies/schema/types/totp.d.ts +1 -1
- package/dist/esm/authentication/utils.d.ts +13 -0
- package/dist/esm/authentication/utils.d.ts.map +1 -0
- package/dist/esm/authentication/utils.js +17 -0
- package/dist/esm/authentication/utils.test.d.ts +2 -0
- package/dist/esm/authentication/utils.test.d.ts.map +1 -0
- package/dist/esm/authentication/utils.test.js +140 -0
- package/dist/esm/authorization/index.d.ts +1 -1
- package/dist/esm/authorization/index.d.ts.map +1 -1
- package/dist/esm/authorization/index.js +1 -1
- package/dist/esm/authorization/permissions/schema.d.ts +1 -2
- package/dist/esm/authorization/permissions/schema.d.ts.map +1 -1
- package/dist/esm/authorization/permissions/schema.js +7 -8
- package/dist/esm/authorization/permissions/schema.test.d.ts +2 -0
- package/dist/esm/authorization/permissions/schema.test.d.ts.map +1 -0
- package/dist/esm/authorization/permissions/schema.test.js +215 -0
- package/dist/esm/authorization/roles/schema.d.ts +3 -3
- package/dist/esm/authorization/roles/schema.d.ts.map +1 -1
- package/dist/esm/authorization/roles/schema.js +9 -9
- package/dist/esm/authorization/roles/schema.test.d.ts +2 -0
- package/dist/esm/authorization/roles/schema.test.d.ts.map +1 -0
- package/dist/esm/authorization/roles/schema.test.js +234 -0
- package/dist/esm/authorization/schema.d.ts +17 -0
- package/dist/esm/authorization/schema.d.ts.map +1 -0
- package/dist/esm/authorization/schema.js +21 -0
- package/dist/esm/authorization/schema.test.d.ts +2 -0
- package/dist/esm/authorization/schema.test.d.ts.map +1 -0
- package/dist/esm/authorization/schema.test.js +40 -0
- package/dist/esm/common/errors/http.test.d.ts +2 -0
- package/dist/esm/common/errors/http.test.d.ts.map +1 -0
- package/dist/esm/common/errors/http.test.js +69 -0
- package/dist/esm/common/errors/validation.test.d.ts +2 -0
- package/dist/esm/common/errors/validation.test.d.ts.map +1 -0
- package/dist/esm/common/errors/validation.test.js +90 -0
- package/dist/esm/common/resources/init.d.ts +2 -2
- package/dist/esm/common/resources/init.d.ts.map +1 -1
- package/dist/esm/common/resources/init.js +1 -1
- package/dist/esm/common/resources/init.test.d.ts +2 -0
- package/dist/esm/common/resources/init.test.d.ts.map +1 -0
- package/dist/esm/common/resources/init.test.js +231 -0
- package/dist/esm/common/resources/operations.test.d.ts +2 -0
- package/dist/esm/common/resources/operations.test.d.ts.map +1 -0
- package/dist/esm/common/resources/operations.test.js +354 -0
- package/dist/esm/common/resources/utils.d.ts +1 -1
- package/dist/esm/common/resources/utils.d.ts.map +1 -1
- package/dist/esm/common/resources/utils.test.d.ts +2 -0
- package/dist/esm/common/resources/utils.test.d.ts.map +1 -0
- package/dist/esm/common/resources/utils.test.js +161 -0
- package/dist/esm/common/schema/aggregate.test.d.ts +2 -0
- package/dist/esm/common/schema/aggregate.test.d.ts.map +1 -0
- package/dist/esm/common/schema/aggregate.test.js +73 -0
- package/dist/esm/common/schema/collection.d.ts +2 -2
- package/dist/esm/common/schema/collection.test.d.ts +2 -0
- package/dist/esm/common/schema/collection.test.d.ts.map +1 -0
- package/dist/esm/common/schema/collection.test.js +96 -0
- package/dist/esm/common/schema/id.d.ts +2 -0
- package/dist/esm/common/schema/id.d.ts.map +1 -0
- package/dist/esm/common/schema/id.js +2 -0
- package/dist/esm/common/schema/id.test.d.ts +2 -0
- package/dist/esm/common/schema/id.test.d.ts.map +1 -0
- package/dist/esm/common/schema/id.test.js +114 -0
- package/dist/esm/common/schema/jwt.test.d.ts +2 -0
- package/dist/esm/common/schema/jwt.test.d.ts.map +1 -0
- package/dist/esm/common/schema/jwt.test.js +54 -0
- package/dist/esm/common/schema/metadata.d.ts +9 -3
- package/dist/esm/common/schema/metadata.d.ts.map +1 -1
- package/dist/esm/common/schema/metadata.js +24 -6
- package/dist/esm/common/schema/metadata.test.js +50 -1
- package/dist/esm/common/schema/pagination.d.ts +2 -2
- package/dist/esm/common/schema/pagination.js +2 -2
- package/dist/esm/common/schema/pagination.test.d.ts +2 -0
- package/dist/esm/common/schema/pagination.test.d.ts.map +1 -0
- package/dist/esm/common/schema/pagination.test.js +66 -0
- package/dist/esm/common/schema/sets.test.d.ts +2 -0
- package/dist/esm/common/schema/sets.test.d.ts.map +1 -0
- package/dist/esm/common/schema/sets.test.js +82 -0
- package/dist/esm/common/schema/url.test.d.ts +2 -0
- package/dist/esm/common/schema/url.test.d.ts.map +1 -0
- package/dist/esm/common/schema/url.test.js +72 -0
- package/dist/esm/customer/index.d.ts +2 -1
- package/dist/esm/customer/index.d.ts.map +1 -1
- package/dist/esm/customer/index.js +2 -1
- package/dist/esm/customer/{schema/organization.d.ts → organization/schema.d.ts} +4 -3
- package/dist/esm/customer/organization/schema.d.ts.map +1 -0
- package/dist/esm/customer/{schema/organization.js → organization/schema.js} +7 -5
- package/dist/esm/customer/schema.d.ts +17 -0
- package/dist/esm/customer/schema.d.ts.map +1 -0
- package/dist/esm/customer/schema.js +21 -0
- package/dist/esm/customer/schema.test.d.ts +2 -0
- package/dist/esm/customer/schema.test.d.ts.map +1 -0
- package/dist/esm/customer/schema.test.js +40 -0
- package/dist/esm/customer/users/schema.d.ts +4 -3
- package/dist/esm/customer/users/schema.d.ts.map +1 -1
- package/dist/esm/customer/users/schema.js +9 -6
- package/dist/esm/customer/users/schema.test.js +6 -5
- package/dist/esm/customer/users/utils.test.d.ts +2 -0
- package/dist/esm/customer/users/utils.test.d.ts.map +1 -0
- package/dist/esm/customer/users/utils.test.js +143 -0
- package/dist/esm/identity/schema.test.d.ts +2 -0
- package/dist/esm/identity/schema.test.d.ts.map +1 -0
- package/dist/esm/identity/schema.test.js +38 -0
- package/dist/esm/oauth/authorize/schema/grants/authorization-code.d.ts.map +1 -1
- package/dist/esm/oauth/authorize/schema/grants/authorization-code.js +22 -3
- package/dist/esm/oauth/authorize/schema/grants/authorization-code.test.d.ts +2 -0
- package/dist/esm/oauth/authorize/schema/grants/authorization-code.test.d.ts.map +1 -0
- package/dist/esm/oauth/authorize/schema/grants/authorization-code.test.js +332 -0
- package/dist/esm/oauth/common/schema.test.d.ts +2 -0
- package/dist/esm/oauth/common/schema.test.d.ts.map +1 -0
- package/dist/esm/oauth/common/schema.test.js +288 -0
- package/dist/esm/oauth/token/schema/schema.test.d.ts +2 -0
- package/dist/esm/oauth/token/schema/schema.test.d.ts.map +1 -0
- package/dist/esm/oauth/token/schema/schema.test.js +120 -0
- package/dist/esm/workspace/settings/schema.test.d.ts +2 -0
- package/dist/esm/workspace/settings/schema.test.d.ts.map +1 -0
- package/dist/esm/workspace/settings/schema.test.js +71 -0
- package/dist/esm/workspace/tenant/schema.d.ts +1 -0
- package/dist/esm/workspace/tenant/schema.d.ts.map +1 -1
- package/dist/esm/workspace/tenant/schema.js +4 -3
- package/dist/esm/workspace/user/notifications/schema.d.ts.map +1 -1
- package/dist/esm/workspace/user/notifications/schema.js +4 -3
- package/dist/esm/workspace/user/preferences/schema.js +3 -3
- package/dist/esm/workspace/utils.d.ts +0 -3
- package/dist/esm/workspace/utils.d.ts.map +1 -1
- package/dist/esm/workspace/utils.js +0 -3
- package/dist/esm/workspace/utils.test.d.ts +2 -0
- package/dist/esm/workspace/utils.test.d.ts.map +1 -0
- package/dist/esm/workspace/utils.test.js +61 -0
- package/package.json +1 -1
- package/dist/cjs/authorization/utils.d.ts +0 -11
- package/dist/cjs/authorization/utils.d.ts.map +0 -1
- package/dist/cjs/customer/schema/organization.d.ts.map +0 -1
- package/dist/cjs/customer/schema/schema.d.ts +0 -4
- package/dist/cjs/customer/schema/schema.d.ts.map +0 -1
- package/dist/cjs/customer/schema/schema.js +0 -19
- package/dist/cjs/customer/schema/utils.d.ts +0 -11
- package/dist/cjs/customer/schema/utils.d.ts.map +0 -1
- package/dist/esm/authorization/utils.d.ts +0 -11
- package/dist/esm/authorization/utils.d.ts.map +0 -1
- package/dist/esm/authorization/utils.js +0 -15
- package/dist/esm/customer/schema/organization.d.ts.map +0 -1
- package/dist/esm/customer/schema/schema.d.ts +0 -4
- package/dist/esm/customer/schema/schema.d.ts.map +0 -1
- package/dist/esm/customer/schema/schema.js +0 -3
- package/dist/esm/customer/schema/utils.d.ts +0 -11
- package/dist/esm/customer/schema/utils.d.ts.map +0 -1
- package/dist/esm/customer/schema/utils.js +0 -15
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email.test.d.ts","sourceRoot":"","sources":["../../../../../../src/authentication/strategies/schema/types/email.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
import { type } from 'arktype';
|
|
2
|
+
import { describe, expect, test } from 'vitest';
|
|
3
|
+
import { generateStrategyId } from '../../../../authentication/utils.js';
|
|
4
|
+
import { EmailStrategyPayloadSchema, EmailStrategySchema, InsertEmailStrategyPayloadSchema, SendEmailVerificationCodeSchema, UpdateEmailStrategyPayloadSchema, VerifyEmailSchema, } from './email.js';
|
|
5
|
+
describe('Authentication Strategies - Email', () => {
|
|
6
|
+
describe('EmailStrategySchema', () => {
|
|
7
|
+
test('should accept complete email strategy', () => {
|
|
8
|
+
const strategy = {
|
|
9
|
+
id: generateStrategyId(),
|
|
10
|
+
type: 'email',
|
|
11
|
+
label: 'Test',
|
|
12
|
+
status: 'enabled',
|
|
13
|
+
createdAt: new Date(),
|
|
14
|
+
updatedAt: new Date(),
|
|
15
|
+
metadata: { provider: 'sendgrid' },
|
|
16
|
+
};
|
|
17
|
+
const result = EmailStrategySchema(strategy);
|
|
18
|
+
expect(result).not.toBeInstanceOf(type.errors);
|
|
19
|
+
});
|
|
20
|
+
test('should reject invalid type', () => {
|
|
21
|
+
const strategy = {
|
|
22
|
+
id: generateStrategyId(),
|
|
23
|
+
type: 'password',
|
|
24
|
+
status: 'enabled',
|
|
25
|
+
createdAt: new Date(),
|
|
26
|
+
updatedAt: new Date(),
|
|
27
|
+
metadata: {},
|
|
28
|
+
};
|
|
29
|
+
const result = EmailStrategySchema(strategy);
|
|
30
|
+
expect(result).toBeInstanceOf(type.errors);
|
|
31
|
+
});
|
|
32
|
+
test('should reject missing required fields', () => {
|
|
33
|
+
const strategy = {
|
|
34
|
+
type: 'email',
|
|
35
|
+
// missing id, enabled, dates, metadata
|
|
36
|
+
};
|
|
37
|
+
const result = EmailStrategySchema(strategy);
|
|
38
|
+
expect(result).toBeInstanceOf(type.errors);
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
describe('EmailStrategyPayloadSchema', () => {
|
|
42
|
+
test('should accept complete payload', () => {
|
|
43
|
+
const payload = {
|
|
44
|
+
id: generateStrategyId(),
|
|
45
|
+
type: 'email',
|
|
46
|
+
label: 'Test',
|
|
47
|
+
status: 'enabled',
|
|
48
|
+
createdAt: new Date().toISOString(),
|
|
49
|
+
updatedAt: new Date().toISOString(),
|
|
50
|
+
metadata: { configured: true },
|
|
51
|
+
};
|
|
52
|
+
const result = EmailStrategyPayloadSchema(payload);
|
|
53
|
+
expect(result).not.toBeInstanceOf(type.errors);
|
|
54
|
+
expect(result).toEqual(payload);
|
|
55
|
+
});
|
|
56
|
+
test('should reject invalid type', () => {
|
|
57
|
+
const payload = {
|
|
58
|
+
id: generateStrategyId(),
|
|
59
|
+
type: 'sms',
|
|
60
|
+
label: 'Test',
|
|
61
|
+
status: 'enabled',
|
|
62
|
+
createdAt: new Date().toISOString(),
|
|
63
|
+
updatedAt: new Date().toISOString(),
|
|
64
|
+
metadata: {},
|
|
65
|
+
};
|
|
66
|
+
const result = EmailStrategyPayloadSchema(payload);
|
|
67
|
+
expect(result).toBeInstanceOf(type.errors);
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
describe('InsertEmailStrategyPayloadSchema', () => {
|
|
71
|
+
test('should accept complete insert payload', () => {
|
|
72
|
+
const payload = {
|
|
73
|
+
id: generateStrategyId(),
|
|
74
|
+
type: 'email',
|
|
75
|
+
label: 'Test',
|
|
76
|
+
status: 'enabled',
|
|
77
|
+
metadata: { setup: 'manual' },
|
|
78
|
+
};
|
|
79
|
+
const result = InsertEmailStrategyPayloadSchema(payload);
|
|
80
|
+
expect(result).not.toBeInstanceOf(type.errors);
|
|
81
|
+
});
|
|
82
|
+
test('should accept minimal insert payload', () => {
|
|
83
|
+
const payload = {
|
|
84
|
+
type: 'email',
|
|
85
|
+
label: 'Test',
|
|
86
|
+
};
|
|
87
|
+
const result = InsertEmailStrategyPayloadSchema(payload);
|
|
88
|
+
expect(result).not.toBeInstanceOf(type.errors);
|
|
89
|
+
});
|
|
90
|
+
test('should reject missing type', () => {
|
|
91
|
+
const payload = {
|
|
92
|
+
status: 'enabled',
|
|
93
|
+
};
|
|
94
|
+
const result = InsertEmailStrategyPayloadSchema(payload);
|
|
95
|
+
expect(result).toBeInstanceOf(type.errors);
|
|
96
|
+
});
|
|
97
|
+
test('should reject invalid type', () => {
|
|
98
|
+
const payload = {
|
|
99
|
+
type: 'password',
|
|
100
|
+
};
|
|
101
|
+
const result = InsertEmailStrategyPayloadSchema(payload);
|
|
102
|
+
expect(result).toBeInstanceOf(type.errors);
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
describe('UpdateEmailStrategyPayloadSchema', () => {
|
|
106
|
+
test('should accept update with type and enabled', () => {
|
|
107
|
+
const payload = {
|
|
108
|
+
type: 'email',
|
|
109
|
+
enabled: false,
|
|
110
|
+
metadata: { updated: true },
|
|
111
|
+
};
|
|
112
|
+
const result = UpdateEmailStrategyPayloadSchema(payload);
|
|
113
|
+
expect(result).not.toBeInstanceOf(type.errors);
|
|
114
|
+
expect(result).toEqual(payload);
|
|
115
|
+
});
|
|
116
|
+
test('should accept minimal update', () => {
|
|
117
|
+
const payload = {
|
|
118
|
+
type: 'email',
|
|
119
|
+
};
|
|
120
|
+
const result = UpdateEmailStrategyPayloadSchema(payload);
|
|
121
|
+
expect(result).not.toBeInstanceOf(type.errors);
|
|
122
|
+
});
|
|
123
|
+
test('should reject invalid type', () => {
|
|
124
|
+
const payload = {
|
|
125
|
+
type: 'totp',
|
|
126
|
+
};
|
|
127
|
+
const result = UpdateEmailStrategyPayloadSchema(payload);
|
|
128
|
+
expect(result).toBeInstanceOf(type.errors);
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
describe('VerifyEmailSchema', () => {
|
|
132
|
+
test('should accept verification with email and code', () => {
|
|
133
|
+
const verification = {
|
|
134
|
+
email: 'user@example.com',
|
|
135
|
+
code: '123456',
|
|
136
|
+
};
|
|
137
|
+
const result = VerifyEmailSchema(verification);
|
|
138
|
+
expect(result).not.toBeInstanceOf(type.errors);
|
|
139
|
+
expect(result).toEqual(verification);
|
|
140
|
+
});
|
|
141
|
+
test('should accept verification with only code', () => {
|
|
142
|
+
const verification = {
|
|
143
|
+
code: 'ABC123',
|
|
144
|
+
};
|
|
145
|
+
const result = VerifyEmailSchema(verification);
|
|
146
|
+
expect(result).not.toBeInstanceOf(type.errors);
|
|
147
|
+
expect(result).toEqual(verification);
|
|
148
|
+
});
|
|
149
|
+
test('should reject missing code', () => {
|
|
150
|
+
const verification = {
|
|
151
|
+
email: 'user@example.com',
|
|
152
|
+
};
|
|
153
|
+
const result = VerifyEmailSchema(verification);
|
|
154
|
+
expect(result).toBeInstanceOf(type.errors);
|
|
155
|
+
});
|
|
156
|
+
test('should reject invalid email format', () => {
|
|
157
|
+
const verification = {
|
|
158
|
+
email: 'invalid-email',
|
|
159
|
+
code: '123456',
|
|
160
|
+
};
|
|
161
|
+
const result = VerifyEmailSchema(verification);
|
|
162
|
+
expect(result).toBeInstanceOf(type.errors);
|
|
163
|
+
});
|
|
164
|
+
test('should reject non-string code', () => {
|
|
165
|
+
const verification = {
|
|
166
|
+
email: 'user@example.com',
|
|
167
|
+
code: 123456,
|
|
168
|
+
};
|
|
169
|
+
const result = VerifyEmailSchema(verification);
|
|
170
|
+
expect(result).toBeInstanceOf(type.errors);
|
|
171
|
+
});
|
|
172
|
+
});
|
|
173
|
+
describe('SendEmailVerificationCodeSchema', () => {
|
|
174
|
+
test('should accept valid email', () => {
|
|
175
|
+
const request = {
|
|
176
|
+
email: 'test@example.com',
|
|
177
|
+
};
|
|
178
|
+
const result = SendEmailVerificationCodeSchema(request);
|
|
179
|
+
expect(result).not.toBeInstanceOf(type.errors);
|
|
180
|
+
expect(result).toEqual(request);
|
|
181
|
+
});
|
|
182
|
+
test('should accept empty request', () => {
|
|
183
|
+
const request = {};
|
|
184
|
+
const result = SendEmailVerificationCodeSchema(request);
|
|
185
|
+
expect(result).not.toBeInstanceOf(type.errors);
|
|
186
|
+
expect(result).toEqual(request);
|
|
187
|
+
});
|
|
188
|
+
test('should reject invalid email format', () => {
|
|
189
|
+
const request = {
|
|
190
|
+
email: 'not-an-email',
|
|
191
|
+
};
|
|
192
|
+
const result = SendEmailVerificationCodeSchema(request);
|
|
193
|
+
expect(result).toBeInstanceOf(type.errors);
|
|
194
|
+
});
|
|
195
|
+
test('should reject non-string email', () => {
|
|
196
|
+
const request = {
|
|
197
|
+
email: 123,
|
|
198
|
+
};
|
|
199
|
+
const result = SendEmailVerificationCodeSchema(request);
|
|
200
|
+
expect(result).toBeInstanceOf(type.errors);
|
|
201
|
+
});
|
|
202
|
+
});
|
|
203
|
+
});
|
|
@@ -34,7 +34,7 @@ export declare const PasswordStrategySchema: import("arktype/internal/methods/ob
|
|
|
34
34
|
updatedAt: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
|
|
35
35
|
deletedAt?: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>) | undefined;
|
|
36
36
|
deactivatedAt?: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>) | undefined;
|
|
37
|
-
metadata: (In: import("arktype/internal/attributes.ts").Default<unknown, Map<string, string | number | boolean>>) => import("arktype").Out<Map<string, string | number | boolean
|
|
37
|
+
metadata: (In: import("arktype/internal/attributes.ts").Default<unknown, Map<string, string | number | boolean>>) => import("arktype").Out<Map<string, string | number | boolean>>;
|
|
38
38
|
type: "password";
|
|
39
39
|
settings: {
|
|
40
40
|
passwordPolicy: {
|
|
@@ -35,7 +35,7 @@ export declare const TOTPStrategySchema: import("arktype/internal/methods/object
|
|
|
35
35
|
updatedAt: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
|
|
36
36
|
deletedAt?: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>) | undefined;
|
|
37
37
|
deactivatedAt?: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>) | undefined;
|
|
38
|
-
metadata: (In: import("arktype/internal/attributes.ts").Default<unknown, Map<string, string | number | boolean>>) => import("arktype").Out<Map<string, string | number | boolean
|
|
38
|
+
metadata: (In: import("arktype/internal/attributes.ts").Default<unknown, Map<string, string | number | boolean>>) => import("arktype").Out<Map<string, string | number | boolean>>;
|
|
39
39
|
type: "totp";
|
|
40
40
|
settings: {
|
|
41
41
|
digits: import("arktype/internal/attributes.ts").Default<6 | 7 | 8, 6>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const Model: {
|
|
2
|
+
readonly Strategy: {
|
|
3
|
+
readonly UIDPrefix: "stg";
|
|
4
|
+
readonly TYPE: "Strategy";
|
|
5
|
+
};
|
|
6
|
+
readonly Session: {
|
|
7
|
+
readonly UIDPrefix: "ssn";
|
|
8
|
+
readonly TYPE: "Session";
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
export declare function generateStrategyId(): string;
|
|
12
|
+
export declare function generateSessionId(): string;
|
|
13
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/authentication/utils.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK;;;;;;;;;CASR,CAAC;AAEX,wBAAgB,kBAAkB,WAEjC;AAED,wBAAgB,iBAAiB,WAEhC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import KSUID from 'ksuid';
|
|
2
|
+
export const Model = {
|
|
3
|
+
Strategy: {
|
|
4
|
+
UIDPrefix: 'stg',
|
|
5
|
+
TYPE: 'Strategy',
|
|
6
|
+
},
|
|
7
|
+
Session: {
|
|
8
|
+
UIDPrefix: 'ssn',
|
|
9
|
+
TYPE: 'Session',
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
export function generateStrategyId() {
|
|
13
|
+
return `${Model.Strategy.UIDPrefix}_${KSUID.randomSync().string}`;
|
|
14
|
+
}
|
|
15
|
+
export function generateSessionId() {
|
|
16
|
+
return `${Model.Session.UIDPrefix}_${KSUID.randomSync().string}`;
|
|
17
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.test.d.ts","sourceRoot":"","sources":["../../../src/authentication/utils.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { describe, expect, test } from 'vitest';
|
|
2
|
+
import { Model, generateSessionId, generateStrategyId } from './utils.js';
|
|
3
|
+
describe('Authentication Utils', () => {
|
|
4
|
+
describe('Model constants', () => {
|
|
5
|
+
test('should have correct Strategy model properties', () => {
|
|
6
|
+
expect(Model.Strategy.UIDPrefix).toBe('stg');
|
|
7
|
+
expect(Model.Strategy.TYPE).toBe('Strategy');
|
|
8
|
+
});
|
|
9
|
+
test('should have correct Session model properties', () => {
|
|
10
|
+
expect(Model.Session.UIDPrefix).toBe('ssn');
|
|
11
|
+
expect(Model.Session.TYPE).toBe('Session');
|
|
12
|
+
});
|
|
13
|
+
test('should be readonly (const assertion)', () => {
|
|
14
|
+
// Test that the Model object is properly typed as const
|
|
15
|
+
expect(typeof Model).toBe('object');
|
|
16
|
+
expect(Object.isFrozen(Model)).toBe(false); // const assertion doesn't freeze at runtime
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
describe('generateStrategyId', () => {
|
|
20
|
+
test('should generate ID with correct prefix', () => {
|
|
21
|
+
const id = generateStrategyId();
|
|
22
|
+
expect(id).toMatch(/^stg_/);
|
|
23
|
+
});
|
|
24
|
+
test('should generate ID with correct format', () => {
|
|
25
|
+
const id = generateStrategyId();
|
|
26
|
+
// Should match: prefix + underscore + KSUID (27 characters)
|
|
27
|
+
expect(id).toMatch(/^stg_[A-Za-z0-9]{27}$/);
|
|
28
|
+
});
|
|
29
|
+
test('should generate unique IDs on multiple calls', () => {
|
|
30
|
+
const id1 = generateStrategyId();
|
|
31
|
+
const id2 = generateStrategyId();
|
|
32
|
+
const id3 = generateStrategyId();
|
|
33
|
+
expect(id1).not.toBe(id2);
|
|
34
|
+
expect(id2).not.toBe(id3);
|
|
35
|
+
expect(id1).not.toBe(id3);
|
|
36
|
+
});
|
|
37
|
+
test('should generate IDs with correct total length', () => {
|
|
38
|
+
const id = generateStrategyId();
|
|
39
|
+
// prefix (3) + underscore (1) + KSUID (27) = 31 characters
|
|
40
|
+
expect(id.length).toBe(31);
|
|
41
|
+
});
|
|
42
|
+
test('should generate IDs that start with strategy prefix', () => {
|
|
43
|
+
const ids = Array.from({ length: 10 }, () => generateStrategyId());
|
|
44
|
+
for (const id of ids) {
|
|
45
|
+
expect(id.startsWith('stg_')).toBe(true);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
test('should generate KSUID-compatible format', () => {
|
|
49
|
+
const id = generateStrategyId();
|
|
50
|
+
const ksuidPart = id.substring(4); // Remove 'stg_'
|
|
51
|
+
// KSUID should be 27 characters of base62
|
|
52
|
+
expect(ksuidPart.length).toBe(27);
|
|
53
|
+
expect(ksuidPart).toMatch(/^[A-Za-z0-9]{27}$/);
|
|
54
|
+
});
|
|
55
|
+
test('should be deterministic in format but random in content', () => {
|
|
56
|
+
const ids = Array.from({ length: 100 }, () => generateStrategyId());
|
|
57
|
+
// All should have same format
|
|
58
|
+
for (const id of ids) {
|
|
59
|
+
expect(id).toMatch(/^stg_[A-Za-z0-9]{27}$/);
|
|
60
|
+
}
|
|
61
|
+
// All should be unique
|
|
62
|
+
const uniqueIds = new Set(ids);
|
|
63
|
+
expect(uniqueIds.size).toBe(100);
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
describe('generateSessionId', () => {
|
|
67
|
+
test('should generate ID with correct prefix', () => {
|
|
68
|
+
const id = generateSessionId();
|
|
69
|
+
expect(id).toMatch(/^ssn_/);
|
|
70
|
+
});
|
|
71
|
+
test('should generate ID with correct format', () => {
|
|
72
|
+
const id = generateSessionId();
|
|
73
|
+
// Should match: prefix + underscore + KSUID (27 characters)
|
|
74
|
+
expect(id).toMatch(/^ssn_[A-Za-z0-9]{27}$/);
|
|
75
|
+
});
|
|
76
|
+
test('should generate unique IDs on multiple calls', () => {
|
|
77
|
+
const id1 = generateSessionId();
|
|
78
|
+
const id2 = generateSessionId();
|
|
79
|
+
const id3 = generateSessionId();
|
|
80
|
+
expect(id1).not.toBe(id2);
|
|
81
|
+
expect(id2).not.toBe(id3);
|
|
82
|
+
expect(id1).not.toBe(id3);
|
|
83
|
+
});
|
|
84
|
+
test('should generate IDs with correct total length', () => {
|
|
85
|
+
const id = generateSessionId();
|
|
86
|
+
// prefix (3) + underscore (1) + KSUID (27) = 31 characters
|
|
87
|
+
expect(id.length).toBe(31);
|
|
88
|
+
});
|
|
89
|
+
test('should generate IDs that start with session prefix', () => {
|
|
90
|
+
const ids = Array.from({ length: 10 }, () => generateSessionId());
|
|
91
|
+
for (const id of ids) {
|
|
92
|
+
expect(id.startsWith('ssn_')).toBe(true);
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
test('should generate KSUID-compatible format', () => {
|
|
96
|
+
const id = generateSessionId();
|
|
97
|
+
const ksuidPart = id.substring(4); // Remove 'ssn_'
|
|
98
|
+
// KSUID should be 27 characters of base62
|
|
99
|
+
expect(ksuidPart.length).toBe(27);
|
|
100
|
+
expect(ksuidPart).toMatch(/^[A-Za-z0-9]{27}$/);
|
|
101
|
+
});
|
|
102
|
+
test('should be deterministic in format but random in content', () => {
|
|
103
|
+
const ids = Array.from({ length: 100 }, () => generateSessionId());
|
|
104
|
+
// All should have same format
|
|
105
|
+
for (const id of ids) {
|
|
106
|
+
expect(id).toMatch(/^ssn_[A-Za-z0-9]{27}$/);
|
|
107
|
+
}
|
|
108
|
+
// All should be unique
|
|
109
|
+
const uniqueIds = new Set(ids);
|
|
110
|
+
expect(uniqueIds.size).toBe(100);
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
describe('ID generation comparison', () => {
|
|
114
|
+
test('should generate different formats for strategy vs session', () => {
|
|
115
|
+
const strategyId = generateStrategyId();
|
|
116
|
+
const sessionId = generateSessionId();
|
|
117
|
+
expect(strategyId.startsWith('stg_')).toBe(true);
|
|
118
|
+
expect(sessionId.startsWith('ssn_')).toBe(true);
|
|
119
|
+
expect(strategyId).not.toBe(sessionId);
|
|
120
|
+
});
|
|
121
|
+
test('should maintain format consistency across generators', () => {
|
|
122
|
+
const strategyIds = Array.from({ length: 10 }, () => generateStrategyId());
|
|
123
|
+
const sessionIds = Array.from({ length: 10 }, () => generateSessionId());
|
|
124
|
+
// All strategy IDs should have same prefix
|
|
125
|
+
for (const id of strategyIds) {
|
|
126
|
+
expect(id.startsWith('stg_')).toBe(true);
|
|
127
|
+
expect(id.length).toBe(31);
|
|
128
|
+
}
|
|
129
|
+
// All session IDs should have same prefix
|
|
130
|
+
for (const id of sessionIds) {
|
|
131
|
+
expect(id.startsWith('ssn_')).toBe(true);
|
|
132
|
+
expect(id.length).toBe(31);
|
|
133
|
+
}
|
|
134
|
+
// No overlap between the two sets
|
|
135
|
+
const allIds = [...strategyIds, ...sessionIds];
|
|
136
|
+
const uniqueIds = new Set(allIds);
|
|
137
|
+
expect(uniqueIds.size).toBe(20);
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/authorization/index.ts"],"names":[],"mappings":"AACA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AAGxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAElC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/authorization/index.ts"],"names":[],"mappings":"AACA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AAGxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAElC,cAAc,aAAa,CAAC"}
|
|
@@ -3,7 +3,6 @@ export declare const PermissionStatus: {
|
|
|
3
3
|
readonly DISABLED: "disabled";
|
|
4
4
|
};
|
|
5
5
|
export type AnyPermissionStatus = (typeof PermissionStatus)[keyof typeof PermissionStatus];
|
|
6
|
-
export declare const PermissionIdSchema: import("arktype/internal/methods/string.ts").StringType<string, {}>;
|
|
7
6
|
export declare const PermissionIdPropertySchema: import("arktype/internal/methods/object.ts").ObjectType<{
|
|
8
7
|
id: string;
|
|
9
8
|
}, {}>;
|
|
@@ -30,7 +29,7 @@ export declare const PermissionSchema: import("arktype/internal/methods/object.t
|
|
|
30
29
|
} | undefined;
|
|
31
30
|
deletedAt?: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>) | undefined;
|
|
32
31
|
deactivatedAt?: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>) | undefined;
|
|
33
|
-
metadata: (In: import("arktype/internal/attributes.ts").Default<unknown, Map<string, string | number | boolean>>) => import("arktype").Out<Map<string, string | number | boolean
|
|
32
|
+
metadata: (In: import("arktype/internal/attributes.ts").Default<unknown, Map<string, string | number | boolean>>) => import("arktype").Out<Map<string, string | number | boolean>>;
|
|
34
33
|
}, {}>;
|
|
35
34
|
export type PermissionProperties = typeof PermissionSchema.inferIn;
|
|
36
35
|
export type Permission = typeof PermissionSchema.inferOut;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/authorization/permissions/schema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/authorization/permissions/schema.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,gBAAgB;;;CAGnB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAC7B,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAE3D,eAAO,MAAM,0BAA0B;;MAErC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,OAAO,0BAA0B,CAAC,QAAQ,CAAC;AAO9E,eAAO,MAAM,4BAA4B;;;MAGvC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAChC,OAAO,4BAA4B,CAAC,QAAQ,CAAC;AAQ/C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;MAOI,CAAC;AAClC,MAAM,MAAM,oBAAoB,GAAG,OAAO,gBAAgB,CAAC,OAAO,CAAC;AACnE,MAAM,MAAM,UAAU,GAAG,OAAO,gBAAgB,CAAC,QAAQ,CAAC;AAE1D,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;MAOC,CAAC;AACtC,MAAM,MAAM,iBAAiB,GAAG,OAAO,uBAAuB,CAAC,QAAQ,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;MAOC,CAAC;AAC5C,MAAM,MAAM,qBAAqB,GAC/B,OAAO,6BAA6B,CAAC,OAAO,CAAC;AAC/C,MAAM,MAAM,uBAAuB,GACjC,OAAO,6BAA6B,CAAC,QAAQ,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;MAIC,CAAC;AAC5C,MAAM,MAAM,qBAAqB,GAC/B,OAAO,6BAA6B,CAAC,OAAO,CAAC;AAC/C,MAAM,MAAM,uBAAuB,GACjC,OAAO,6BAA6B,CAAC,QAAQ,CAAC;AAEhD;;GAEG;AAEH,eAAO,MAAM,oCAAoC;;;;;MAK7C,CAAC;AACL,MAAM,MAAM,8BAA8B,GACxC,OAAO,oCAAoC,CAAC,QAAQ,CAAC"}
|
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
import { type } from 'arktype';
|
|
2
|
+
import { AppIdAssociationsSchema } from '../../app/schema.js';
|
|
2
3
|
import { OptionalDatePayloadSchema, OptionalDateSchema, RequiredDatePayloadSchema, RequiredDateSchema, } from '../../common/index.js';
|
|
3
4
|
import { AggregateSchema } from '../../common/schema/aggregate.js';
|
|
4
|
-
import { MetadataMapPropertySchema, MetadataPayloadPropertySchema,
|
|
5
|
-
import { generatePermissionId } from '../
|
|
5
|
+
import { MetadataMapPropertySchema, MetadataPayloadPropertySchema, UpsertMetadataPropertyPayloadSchema, } from '../../common/schema/metadata.js';
|
|
6
|
+
import { PermissionIdSchema, RoleIdAssociationsSchema, generatePermissionId, } from '../schema.js';
|
|
6
7
|
export const PermissionStatus = {
|
|
7
8
|
ENABLED: 'enabled',
|
|
8
9
|
DISABLED: 'disabled',
|
|
9
10
|
};
|
|
10
|
-
export const PermissionIdSchema = type.string;
|
|
11
11
|
export const PermissionIdPropertySchema = type({
|
|
12
12
|
id: PermissionIdSchema,
|
|
13
13
|
});
|
|
14
14
|
const PermissionStatusSchema = type.enumerated(PermissionStatus.ENABLED, PermissionStatus.DISABLED);
|
|
15
|
-
const AssociationSchema = type('string[] | undefined');
|
|
16
15
|
export const PermissionAssociationsSchema = type({
|
|
17
|
-
apps:
|
|
18
|
-
roles:
|
|
16
|
+
apps: AppIdAssociationsSchema.optional(),
|
|
17
|
+
roles: RoleIdAssociationsSchema.optional(),
|
|
19
18
|
});
|
|
20
19
|
const BaseSchema = PermissionIdPropertySchema.and({
|
|
21
20
|
name: type('string'),
|
|
@@ -48,7 +47,7 @@ export const InsertPermissionPayloadSchema = type({
|
|
|
48
47
|
description: type('string').optional(),
|
|
49
48
|
})
|
|
50
49
|
.and(PermissionAssociationsSchema)
|
|
51
|
-
.and(
|
|
50
|
+
.and(UpsertMetadataPropertyPayloadSchema);
|
|
52
51
|
/**
|
|
53
52
|
* Update
|
|
54
53
|
*/
|
|
@@ -56,7 +55,7 @@ export const UpdatePermissionPayloadSchema = type({
|
|
|
56
55
|
name: type('string').optional(),
|
|
57
56
|
status: PermissionStatusSchema.optional(),
|
|
58
57
|
description: type('string').optional(),
|
|
59
|
-
}).and(
|
|
58
|
+
}).and(UpsertMetadataPropertyPayloadSchema);
|
|
60
59
|
/**
|
|
61
60
|
* Association
|
|
62
61
|
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.test.d.ts","sourceRoot":"","sources":["../../../../src/authorization/permissions/schema.test.ts"],"names":[],"mappings":""}
|