@go-mondo/identity-sdk 0.0.2-beta.9 → 0.0.2-beta.91
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/.github/workflows/release.yaml +1 -1
- package/.release-please-manifest.json +1 -1
- package/.tsbuildinfo/cjs.json +1 -1
- package/.tsbuildinfo/esm.json +1 -1
- package/CHANGELOG.md +575 -0
- package/README.md +384 -2
- package/dist/cjs/action/schema/base.d.ts +21 -21
- package/dist/cjs/action/schema/base.d.ts.map +1 -1
- package/dist/cjs/action/schema/base.js +48 -10
- package/dist/cjs/action/schema/base.test.js +50 -35
- package/dist/cjs/action/schema/operations/sign-up-verification.d.ts +21 -21
- package/dist/cjs/action/schema/operations/sign-up-verification.d.ts.map +1 -1
- package/dist/cjs/action/schema/operations/sign-up-verification.js +41 -7
- package/dist/cjs/action/schema/operations/sign-up-verification.test.js +28 -29
- package/dist/cjs/action/schema/operations/sign-up.d.ts +40 -43
- package/dist/cjs/action/schema/operations/sign-up.d.ts.map +1 -1
- package/dist/cjs/action/schema/operations/sign-up.js +57 -15
- package/dist/cjs/action/schema/operations/sign-up.test.js +33 -34
- package/dist/cjs/action/schema/operations/user-attribute-verification.d.ts +19 -19
- package/dist/cjs/action/schema/operations/user-attribute-verification.d.ts.map +1 -1
- package/dist/cjs/action/schema/operations/user-attribute-verification.js +39 -5
- package/dist/cjs/action/schema/operations/user-attribute-verification.test.js +25 -26
- package/dist/cjs/action/schema/schema.d.ts +49 -77
- package/dist/cjs/action/schema/schema.d.ts.map +1 -1
- package/dist/cjs/action/schema/schema.js +7 -5
- package/dist/cjs/action/schema/schema.test.js +31 -58
- package/dist/cjs/activity/resources.d.ts +3 -3
- package/dist/cjs/activity/resources.d.ts.map +1 -1
- package/dist/cjs/activity/resources.js +2 -2
- package/dist/cjs/activity/resources.test.js +14 -13
- package/dist/cjs/activity/schema/base.d.ts +88 -69
- package/dist/cjs/activity/schema/base.d.ts.map +1 -1
- package/dist/cjs/activity/schema/base.js +71 -26
- package/dist/cjs/activity/schema/base.test.js +85 -55
- package/dist/cjs/activity/schema/schema.d.ts +293 -226
- package/dist/cjs/activity/schema/schema.d.ts.map +1 -1
- package/dist/cjs/activity/schema/schema.test.js +47 -48
- package/dist/cjs/activity/schema/types/authentication.d.ts +64 -46
- package/dist/cjs/activity/schema/types/authentication.d.ts.map +1 -1
- package/dist/cjs/activity/schema/types/authentication.js +49 -7
- package/dist/cjs/activity/schema/types/authentication.test.js +37 -38
- package/dist/cjs/activity/schema/types/authorization.d.ts +64 -46
- package/dist/cjs/activity/schema/types/authorization.d.ts.map +1 -1
- package/dist/cjs/activity/schema/types/authorization.js +49 -7
- package/dist/cjs/activity/schema/types/authorization.test.js +41 -42
- package/dist/cjs/activity/schema/types/note.d.ts +83 -70
- package/dist/cjs/activity/schema/types/note.d.ts.map +1 -1
- package/dist/cjs/activity/schema/types/note.js +53 -12
- package/dist/cjs/activity/schema/types/note.test.js +48 -49
- package/dist/cjs/activity/schema/types/operation.d.ts +64 -45
- package/dist/cjs/activity/schema/types/operation.d.ts.map +1 -1
- package/dist/cjs/activity/schema/types/operation.js +52 -8
- package/dist/cjs/activity/schema/types/operation.test.js +34 -35
- package/dist/cjs/activity/schema/types/unknown.d.ts +50 -41
- package/dist/cjs/activity/schema/types/unknown.d.ts.map +1 -1
- package/dist/cjs/activity/schema/types/unknown.js +45 -6
- package/dist/cjs/activity/schema/types/unknown.test.js +29 -30
- package/dist/cjs/app/authorization/resources.d.ts +4 -4
- package/dist/cjs/app/authorization/resources.d.ts.map +1 -1
- package/dist/cjs/app/authorization/resources.js +2 -6
- package/dist/cjs/app/authorization/schema.d.ts +90 -52
- package/dist/cjs/app/authorization/schema.d.ts.map +1 -1
- package/dist/cjs/app/authorization/schema.js +90 -65
- package/dist/cjs/app/authorization/schema.test.js +155 -74
- package/dist/cjs/app/oauth/resources.d.ts +4 -4
- package/dist/cjs/app/oauth/resources.d.ts.map +1 -1
- package/dist/cjs/app/oauth/resources.js +2 -3
- package/dist/cjs/app/oauth/schema.d.ts +34 -41
- package/dist/cjs/app/oauth/schema.d.ts.map +1 -1
- package/dist/cjs/app/oauth/schema.js +56 -17
- package/dist/cjs/app/oauth/schema.test.js +39 -40
- package/dist/cjs/app/oidc/resources.d.ts +6 -6
- package/dist/cjs/app/oidc/resources.d.ts.map +1 -1
- package/dist/cjs/app/oidc/resources.js +4 -5
- package/dist/cjs/app/oidc/schema.d.ts +26 -37
- package/dist/cjs/app/oidc/schema.d.ts.map +1 -1
- package/dist/cjs/app/oidc/schema.js +50 -13
- package/dist/cjs/app/oidc/schema.test.js +46 -27
- package/dist/cjs/app/registration/resources.d.ts +4 -4
- package/dist/cjs/app/registration/resources.d.ts.map +1 -1
- package/dist/cjs/app/registration/resources.js +2 -3
- package/dist/cjs/app/registration/resources.test.js +14 -13
- package/dist/cjs/app/registration/schema.d.ts +24 -31
- package/dist/cjs/app/registration/schema.d.ts.map +1 -1
- package/dist/cjs/app/registration/schema.js +56 -16
- package/dist/cjs/app/registration/schema.test.js +68 -150
- package/dist/cjs/app/resources.d.ts +7 -7
- package/dist/cjs/app/resources.d.ts.map +1 -1
- package/dist/cjs/app/resources.js +6 -6
- package/dist/cjs/app/resources.test.js +14 -13
- package/dist/cjs/app/saml/resources.d.ts +6 -6
- package/dist/cjs/app/saml/resources.d.ts.map +1 -1
- package/dist/cjs/app/saml/resources.js +4 -5
- package/dist/cjs/app/saml/schema.d.ts +26 -37
- package/dist/cjs/app/saml/schema.d.ts.map +1 -1
- package/dist/cjs/app/saml/schema.js +50 -13
- package/dist/cjs/app/schema.d.ts +72 -68
- package/dist/cjs/app/schema.d.ts.map +1 -1
- package/dist/cjs/app/schema.js +76 -35
- package/dist/cjs/app/schema.test.js +128 -42
- package/dist/cjs/association/resources.d.ts +5 -5
- package/dist/cjs/association/resources.d.ts.map +1 -1
- package/dist/cjs/association/resources.js +4 -6
- package/dist/cjs/association/schema.d.ts +270 -182
- package/dist/cjs/association/schema.d.ts.map +1 -1
- package/dist/cjs/association/schema.js +70 -32
- package/dist/cjs/association/schema.test.js +13 -54
- package/dist/cjs/authentication/factors/schema.d.ts +39 -49
- package/dist/cjs/authentication/factors/schema.d.ts.map +1 -1
- package/dist/cjs/authentication/factors/schema.js +59 -20
- package/dist/cjs/authentication/factors/schema.test.js +33 -34
- package/dist/cjs/authentication/index.d.ts +1 -0
- package/dist/cjs/authentication/index.d.ts.map +1 -1
- package/dist/cjs/authentication/index.js +2 -0
- package/dist/cjs/authentication/providers/schema.d.ts +23 -22
- package/dist/cjs/authentication/providers/schema.d.ts.map +1 -1
- package/dist/cjs/authentication/providers/schema.js +44 -9
- package/dist/cjs/authentication/sessions/resources.d.ts +4 -4
- package/dist/cjs/authentication/sessions/resources.d.ts.map +1 -1
- package/dist/cjs/authentication/sessions/resources.js +3 -3
- package/dist/cjs/authentication/sessions/schema.d.ts +96 -74
- package/dist/cjs/authentication/sessions/schema.d.ts.map +1 -1
- package/dist/cjs/authentication/sessions/schema.js +99 -33
- package/dist/cjs/authentication/sessions/schema.test.d.ts +2 -0
- package/dist/cjs/authentication/sessions/schema.test.d.ts.map +1 -0
- package/dist/cjs/authentication/sessions/schema.test.js +65 -0
- package/dist/cjs/authentication/settings/resources.d.ts +4 -4
- package/dist/cjs/authentication/settings/resources.d.ts.map +1 -1
- package/dist/cjs/authentication/settings/resources.js +2 -3
- package/dist/cjs/authentication/settings/schema.d.ts +45 -62
- package/dist/cjs/authentication/settings/schema.d.ts.map +1 -1
- package/dist/cjs/authentication/settings/schema.js +49 -14
- package/dist/cjs/authentication/settings/schema.test.js +409 -22
- package/dist/cjs/authentication/strategies/resources.d.ts +9 -8
- package/dist/cjs/authentication/strategies/resources.d.ts.map +1 -1
- package/dist/cjs/authentication/strategies/resources.js +11 -11
- package/dist/cjs/authentication/strategies/schema/base.d.ts +59 -53
- package/dist/cjs/authentication/strategies/schema/base.d.ts.map +1 -1
- package/dist/cjs/authentication/strategies/schema/base.js +68 -24
- package/dist/cjs/authentication/strategies/schema/schema.d.ts +126 -200
- package/dist/cjs/authentication/strategies/schema/schema.d.ts.map +1 -1
- package/dist/cjs/authentication/strategies/schema/schema.js +39 -6
- package/dist/cjs/authentication/strategies/schema/types/email.d.ts +62 -61
- package/dist/cjs/authentication/strategies/schema/types/email.d.ts.map +1 -1
- package/dist/cjs/authentication/strategies/schema/types/email.js +59 -16
- package/dist/cjs/authentication/strategies/schema/types/email.test.js +49 -49
- package/dist/cjs/authentication/strategies/schema/types/totp.d.ts +108 -95
- package/dist/cjs/authentication/strategies/schema/types/totp.d.ts.map +1 -1
- package/dist/cjs/authentication/strategies/schema/types/totp.js +83 -26
- package/dist/cjs/authorization/permissions/resources.d.ts +7 -7
- package/dist/cjs/authorization/permissions/resources.d.ts.map +1 -1
- package/dist/cjs/authorization/permissions/resources.js +6 -6
- package/dist/cjs/authorization/permissions/schema.d.ts +92 -88
- package/dist/cjs/authorization/permissions/schema.d.ts.map +1 -1
- package/dist/cjs/authorization/permissions/schema.js +78 -37
- package/dist/cjs/authorization/permissions/schema.test.js +54 -62
- package/dist/cjs/authorization/roles/resources.d.ts +7 -7
- package/dist/cjs/authorization/roles/resources.d.ts.map +1 -1
- package/dist/cjs/authorization/roles/resources.js +6 -6
- package/dist/cjs/authorization/roles/schema.d.ts +102 -98
- package/dist/cjs/authorization/roles/schema.d.ts.map +1 -1
- package/dist/cjs/authorization/roles/schema.js +74 -38
- package/dist/cjs/authorization/roles/schema.test.js +55 -62
- package/dist/cjs/authorization/schema.d.ts +7 -6
- package/dist/cjs/authorization/schema.d.ts.map +1 -1
- package/dist/cjs/authorization/schema.js +42 -3
- package/dist/cjs/common/index.d.ts +2 -0
- package/dist/cjs/common/index.d.ts.map +1 -1
- package/dist/cjs/common/resources/authorization.d.ts +18 -1
- package/dist/cjs/common/resources/authorization.d.ts.map +1 -1
- package/dist/cjs/common/resources/authorization.js +6 -0
- package/dist/cjs/common/resources/init.d.ts +28 -11
- package/dist/cjs/common/resources/init.d.ts.map +1 -1
- package/dist/cjs/common/resources/init.js +81 -21
- package/dist/cjs/common/resources/init.test.js +62 -38
- package/dist/cjs/common/resources/operations.d.ts +7 -6
- package/dist/cjs/common/resources/operations.d.ts.map +1 -1
- package/dist/cjs/common/resources/operations.js +44 -21
- package/dist/cjs/common/resources/operations.test.js +47 -17
- package/dist/cjs/common/resources/utils.d.ts +0 -9
- package/dist/cjs/common/resources/utils.d.ts.map +1 -1
- package/dist/cjs/common/resources/utils.js +0 -26
- package/dist/cjs/common/resources/utils.test.js +2 -31
- package/dist/cjs/common/schema/aggregate.d.ts +6 -5
- package/dist/cjs/common/schema/aggregate.d.ts.map +1 -1
- package/dist/cjs/common/schema/aggregate.js +37 -4
- package/dist/cjs/common/schema/aggregate.test.js +21 -22
- package/dist/cjs/common/schema/collection.d.ts +13 -14
- package/dist/cjs/common/schema/collection.d.ts.map +1 -1
- package/dist/cjs/common/schema/collection.js +40 -5
- package/dist/cjs/common/schema/collection.test.js +99 -48
- package/dist/cjs/common/schema/dates.d.ts +43 -26
- package/dist/cjs/common/schema/dates.d.ts.map +1 -1
- package/dist/cjs/common/schema/dates.js +63 -12
- package/dist/cjs/common/schema/dates.test.js +24 -13
- package/dist/cjs/common/schema/id.d.ts +2 -1
- package/dist/cjs/common/schema/id.d.ts.map +1 -1
- package/dist/cjs/common/schema/id.js +35 -2
- package/dist/cjs/common/schema/id.test.js +70 -38
- package/dist/cjs/common/schema/jwt.d.ts +22 -14
- package/dist/cjs/common/schema/jwt.d.ts.map +1 -1
- package/dist/cjs/common/schema/jwt.js +37 -8
- package/dist/cjs/common/schema/jwt.test.js +22 -25
- package/dist/cjs/common/schema/metadata.d.ts +86 -49
- package/dist/cjs/common/schema/metadata.d.ts.map +1 -1
- package/dist/cjs/common/schema/metadata.js +154 -75
- package/dist/cjs/common/schema/metadata.test.js +198 -67
- package/dist/cjs/common/schema/pagination.d.ts +15 -5
- package/dist/cjs/common/schema/pagination.d.ts.map +1 -1
- package/dist/cjs/common/schema/pagination.js +46 -4
- package/dist/cjs/common/schema/pagination.test.js +55 -36
- package/dist/cjs/common/schema/schema.d.ts +4 -4
- package/dist/cjs/common/schema/schema.d.ts.map +1 -1
- package/dist/cjs/common/schema/schema.js +28 -5
- package/dist/cjs/common/schema/schema.test.js +42 -15
- package/dist/cjs/common/schema/sets.d.ts +6 -2
- package/dist/cjs/common/schema/sets.d.ts.map +1 -1
- package/dist/cjs/common/schema/sets.js +50 -7
- package/dist/cjs/common/schema/url.d.ts +21 -0
- package/dist/cjs/common/schema/url.d.ts.map +1 -1
- package/dist/cjs/common/schema/url.js +79 -0
- package/dist/cjs/common/schema/url.test.js +10 -0
- package/dist/cjs/customer/organization/schema.d.ts +59 -46
- package/dist/cjs/customer/organization/schema.d.ts.map +1 -1
- package/dist/cjs/customer/organization/schema.js +76 -26
- package/dist/cjs/customer/schema.d.ts +7 -6
- package/dist/cjs/customer/schema.d.ts.map +1 -1
- package/dist/cjs/customer/schema.js +42 -3
- package/dist/cjs/customer/users/resources.d.ts +7 -7
- package/dist/cjs/customer/users/resources.d.ts.map +1 -1
- package/dist/cjs/customer/users/resources.js +6 -6
- package/dist/cjs/customer/users/schema.d.ts +213 -104
- package/dist/cjs/customer/users/schema.d.ts.map +1 -1
- package/dist/cjs/customer/users/schema.js +141 -56
- package/dist/cjs/customer/users/schema.test.js +591 -60
- package/dist/cjs/customer/users/utils.d.ts +3 -2
- package/dist/cjs/customer/users/utils.d.ts.map +1 -1
- package/dist/cjs/identity/schema.d.ts +5 -1
- package/dist/cjs/identity/schema.d.ts.map +1 -1
- package/dist/cjs/identity/schema.js +38 -2
- package/dist/cjs/identity/schema.test.js +21 -16
- package/dist/cjs/oauth/authorize/schema/grants/authorization-code.d.ts +34 -28
- package/dist/cjs/oauth/authorize/schema/grants/authorization-code.d.ts.map +1 -1
- package/dist/cjs/oauth/authorize/schema/grants/authorization-code.js +93 -38
- package/dist/cjs/oauth/authorize/schema/grants/authorization-code.test.js +47 -48
- package/dist/cjs/oauth/authorize/schema/grants/common.d.ts +6 -0
- package/dist/cjs/oauth/authorize/schema/grants/common.d.ts.map +1 -0
- package/dist/cjs/oauth/authorize/schema/grants/common.js +47 -0
- package/dist/cjs/oauth/authorize/schema/grants/implicit.d.ts +18 -10
- package/dist/cjs/oauth/authorize/schema/grants/implicit.d.ts.map +1 -1
- package/dist/cjs/oauth/authorize/schema/grants/implicit.js +56 -11
- package/dist/cjs/oauth/authorize/schema/schema.d.ts +48 -36
- package/dist/cjs/oauth/authorize/schema/schema.d.ts.map +1 -1
- package/dist/cjs/oauth/authorize/schema/schema.js +4 -2
- package/dist/cjs/oauth/common/schema.d.ts +24 -7
- package/dist/cjs/oauth/common/schema.d.ts.map +1 -1
- package/dist/cjs/oauth/common/schema.js +59 -8
- package/dist/cjs/oauth/common/schema.test.js +22 -30
- package/dist/cjs/oauth/index.d.ts +3 -3
- package/dist/cjs/oauth/index.d.ts.map +1 -1
- package/dist/cjs/oauth/index.js +8 -25
- package/dist/cjs/oauth/token/schema/grants/authorization-code.d.ts +16 -9
- package/dist/cjs/oauth/token/schema/grants/authorization-code.d.ts.map +1 -1
- package/dist/cjs/oauth/token/schema/grants/authorization-code.js +66 -12
- package/dist/cjs/oauth/token/schema/grants/client-credentials.d.ts +16 -17
- package/dist/cjs/oauth/token/schema/grants/client-credentials.d.ts.map +1 -1
- package/dist/cjs/oauth/token/schema/grants/client-credentials.js +53 -16
- package/dist/cjs/oauth/token/schema/grants/common.d.ts +6 -0
- package/dist/cjs/oauth/token/schema/grants/common.d.ts.map +1 -0
- package/dist/cjs/oauth/token/schema/grants/common.js +52 -0
- package/dist/cjs/oauth/token/schema/grants/refresh-token.d.ts +15 -8
- package/dist/cjs/oauth/token/schema/grants/refresh-token.d.ts.map +1 -1
- package/dist/cjs/oauth/token/schema/grants/refresh-token.js +57 -11
- package/dist/cjs/oauth/token/schema/schema.d.ts +48 -21
- package/dist/cjs/oauth/token/schema/schema.d.ts.map +1 -1
- package/dist/cjs/oauth/token/schema/schema.js +79 -2
- package/dist/cjs/oauth/token/schema/schema.test.js +44 -28
- package/dist/cjs/workspace/authorization/schema.d.ts +62 -27
- package/dist/cjs/workspace/authorization/schema.d.ts.map +1 -1
- package/dist/cjs/workspace/authorization/schema.js +58 -13
- package/dist/cjs/workspace/branding/schema.d.ts +47 -37
- package/dist/cjs/workspace/branding/schema.d.ts.map +1 -1
- package/dist/cjs/workspace/branding/schema.js +61 -16
- package/dist/cjs/workspace/membership/schema.d.ts +42 -20
- package/dist/cjs/workspace/membership/schema.d.ts.map +1 -1
- package/dist/cjs/workspace/membership/schema.js +47 -7
- package/dist/cjs/workspace/registration/schema.d.ts +41 -27
- package/dist/cjs/workspace/registration/schema.d.ts.map +1 -1
- package/dist/cjs/workspace/registration/schema.js +63 -14
- package/dist/cjs/workspace/settings/schema.d.ts +20 -19
- package/dist/cjs/workspace/settings/schema.d.ts.map +1 -1
- package/dist/cjs/workspace/settings/schema.js +48 -8
- package/dist/cjs/workspace/settings/schema.test.js +18 -19
- package/dist/cjs/workspace/tenant/schema.d.ts +88 -57
- package/dist/cjs/workspace/tenant/schema.d.ts.map +1 -1
- package/dist/cjs/workspace/tenant/schema.js +59 -13
- package/dist/cjs/workspace/tenant/schema.test.d.ts +2 -0
- package/dist/cjs/workspace/tenant/schema.test.d.ts.map +1 -0
- package/dist/cjs/workspace/tenant/schema.test.js +235 -0
- package/dist/cjs/workspace/user/notifications/schema.d.ts +70 -56
- package/dist/cjs/workspace/user/notifications/schema.d.ts.map +1 -1
- package/dist/cjs/workspace/user/notifications/schema.js +76 -30
- package/dist/cjs/workspace/user/preferences/schema.d.ts +29 -25
- package/dist/cjs/workspace/user/preferences/schema.d.ts.map +1 -1
- package/dist/cjs/workspace/user/preferences/schema.js +57 -12
- package/dist/esm/action/schema/base.d.ts +21 -21
- package/dist/esm/action/schema/base.d.ts.map +1 -1
- package/dist/esm/action/schema/base.js +17 -12
- package/dist/esm/action/schema/base.test.js +51 -36
- package/dist/esm/action/schema/operations/sign-up-verification.d.ts +21 -21
- package/dist/esm/action/schema/operations/sign-up-verification.d.ts.map +1 -1
- package/dist/esm/action/schema/operations/sign-up-verification.js +8 -7
- package/dist/esm/action/schema/operations/sign-up-verification.test.js +28 -29
- package/dist/esm/action/schema/operations/sign-up.d.ts +40 -43
- package/dist/esm/action/schema/operations/sign-up.d.ts.map +1 -1
- package/dist/esm/action/schema/operations/sign-up.js +19 -10
- package/dist/esm/action/schema/operations/sign-up.test.js +33 -34
- package/dist/esm/action/schema/operations/user-attribute-verification.d.ts +19 -19
- package/dist/esm/action/schema/operations/user-attribute-verification.d.ts.map +1 -1
- package/dist/esm/action/schema/operations/user-attribute-verification.js +6 -5
- package/dist/esm/action/schema/operations/user-attribute-verification.test.js +25 -26
- package/dist/esm/action/schema/schema.d.ts +49 -77
- package/dist/esm/action/schema/schema.d.ts.map +1 -1
- package/dist/esm/action/schema/schema.js +7 -5
- package/dist/esm/action/schema/schema.test.js +24 -51
- package/dist/esm/activity/resources.d.ts +3 -3
- package/dist/esm/activity/resources.d.ts.map +1 -1
- package/dist/esm/activity/resources.js +4 -4
- package/dist/esm/activity/resources.test.js +14 -13
- package/dist/esm/activity/schema/base.d.ts +88 -69
- package/dist/esm/activity/schema/base.d.ts.map +1 -1
- package/dist/esm/activity/schema/base.js +38 -26
- package/dist/esm/activity/schema/base.test.js +85 -55
- package/dist/esm/activity/schema/schema.d.ts +293 -226
- package/dist/esm/activity/schema/schema.d.ts.map +1 -1
- package/dist/esm/activity/schema/schema.test.js +47 -48
- package/dist/esm/activity/schema/types/authentication.d.ts +64 -46
- package/dist/esm/activity/schema/types/authentication.d.ts.map +1 -1
- package/dist/esm/activity/schema/types/authentication.js +16 -7
- package/dist/esm/activity/schema/types/authentication.test.js +37 -38
- package/dist/esm/activity/schema/types/authorization.d.ts +64 -46
- package/dist/esm/activity/schema/types/authorization.d.ts.map +1 -1
- package/dist/esm/activity/schema/types/authorization.js +16 -7
- package/dist/esm/activity/schema/types/authorization.test.js +41 -42
- package/dist/esm/activity/schema/types/note.d.ts +83 -70
- package/dist/esm/activity/schema/types/note.d.ts.map +1 -1
- package/dist/esm/activity/schema/types/note.js +20 -12
- package/dist/esm/activity/schema/types/note.test.js +48 -49
- package/dist/esm/activity/schema/types/operation.d.ts +64 -45
- package/dist/esm/activity/schema/types/operation.d.ts.map +1 -1
- package/dist/esm/activity/schema/types/operation.js +19 -8
- package/dist/esm/activity/schema/types/operation.test.js +34 -35
- package/dist/esm/activity/schema/types/unknown.d.ts +50 -41
- package/dist/esm/activity/schema/types/unknown.d.ts.map +1 -1
- package/dist/esm/activity/schema/types/unknown.js +12 -6
- package/dist/esm/activity/schema/types/unknown.test.js +29 -30
- package/dist/esm/app/authorization/resources.d.ts +4 -4
- package/dist/esm/app/authorization/resources.d.ts.map +1 -1
- package/dist/esm/app/authorization/resources.js +3 -7
- package/dist/esm/app/authorization/schema.d.ts +90 -52
- package/dist/esm/app/authorization/schema.d.ts.map +1 -1
- package/dist/esm/app/authorization/schema.js +58 -66
- package/dist/esm/app/authorization/schema.test.js +155 -74
- package/dist/esm/app/oauth/resources.d.ts +4 -4
- package/dist/esm/app/oauth/resources.d.ts.map +1 -1
- package/dist/esm/app/oauth/resources.js +3 -4
- package/dist/esm/app/oauth/schema.d.ts +34 -41
- package/dist/esm/app/oauth/schema.d.ts.map +1 -1
- package/dist/esm/app/oauth/schema.js +25 -19
- package/dist/esm/app/oauth/schema.test.js +39 -40
- package/dist/esm/app/oidc/resources.d.ts +6 -6
- package/dist/esm/app/oidc/resources.d.ts.map +1 -1
- package/dist/esm/app/oidc/resources.js +5 -6
- package/dist/esm/app/oidc/schema.d.ts +26 -37
- package/dist/esm/app/oidc/schema.d.ts.map +1 -1
- package/dist/esm/app/oidc/schema.js +19 -15
- package/dist/esm/app/oidc/schema.test.js +46 -27
- package/dist/esm/app/registration/resources.d.ts +4 -4
- package/dist/esm/app/registration/resources.d.ts.map +1 -1
- package/dist/esm/app/registration/resources.js +3 -4
- package/dist/esm/app/registration/resources.test.js +14 -13
- package/dist/esm/app/registration/schema.d.ts +24 -31
- package/dist/esm/app/registration/schema.d.ts.map +1 -1
- package/dist/esm/app/registration/schema.js +25 -18
- package/dist/esm/app/registration/schema.test.js +68 -150
- package/dist/esm/app/resources.d.ts +7 -7
- package/dist/esm/app/resources.d.ts.map +1 -1
- package/dist/esm/app/resources.js +8 -8
- package/dist/esm/app/resources.test.js +14 -13
- package/dist/esm/app/saml/resources.d.ts +6 -6
- package/dist/esm/app/saml/resources.d.ts.map +1 -1
- package/dist/esm/app/saml/resources.js +5 -6
- package/dist/esm/app/saml/schema.d.ts +26 -37
- package/dist/esm/app/saml/schema.d.ts.map +1 -1
- package/dist/esm/app/saml/schema.js +19 -15
- package/dist/esm/app/schema.d.ts +72 -68
- package/dist/esm/app/schema.d.ts.map +1 -1
- package/dist/esm/app/schema.js +45 -37
- package/dist/esm/app/schema.test.js +129 -43
- package/dist/esm/association/resources.d.ts +5 -5
- package/dist/esm/association/resources.d.ts.map +1 -1
- package/dist/esm/association/resources.js +6 -8
- package/dist/esm/association/schema.d.ts +270 -182
- package/dist/esm/association/schema.d.ts.map +1 -1
- package/dist/esm/association/schema.js +36 -31
- package/dist/esm/association/schema.test.js +14 -55
- package/dist/esm/authentication/factors/schema.d.ts +39 -49
- package/dist/esm/authentication/factors/schema.d.ts.map +1 -1
- package/dist/esm/authentication/factors/schema.js +26 -20
- package/dist/esm/authentication/factors/schema.test.js +33 -34
- package/dist/esm/authentication/index.d.ts +1 -0
- package/dist/esm/authentication/index.d.ts.map +1 -1
- package/dist/esm/authentication/index.js +2 -0
- package/dist/esm/authentication/providers/schema.d.ts +23 -22
- package/dist/esm/authentication/providers/schema.d.ts.map +1 -1
- package/dist/esm/authentication/providers/schema.js +13 -11
- package/dist/esm/authentication/sessions/resources.d.ts +4 -4
- package/dist/esm/authentication/sessions/resources.d.ts.map +1 -1
- package/dist/esm/authentication/sessions/resources.js +5 -5
- package/dist/esm/authentication/sessions/schema.d.ts +96 -74
- package/dist/esm/authentication/sessions/schema.d.ts.map +1 -1
- package/dist/esm/authentication/sessions/schema.js +67 -34
- package/dist/esm/authentication/sessions/schema.test.d.ts +2 -0
- package/dist/esm/authentication/sessions/schema.test.d.ts.map +1 -0
- package/dist/esm/authentication/sessions/schema.test.js +63 -0
- package/dist/esm/authentication/settings/resources.d.ts +4 -4
- package/dist/esm/authentication/settings/resources.d.ts.map +1 -1
- package/dist/esm/authentication/settings/resources.js +3 -4
- package/dist/esm/authentication/settings/schema.d.ts +45 -62
- package/dist/esm/authentication/settings/schema.d.ts.map +1 -1
- package/dist/esm/authentication/settings/schema.js +18 -16
- package/dist/esm/authentication/settings/schema.test.js +409 -22
- package/dist/esm/authentication/strategies/resources.d.ts +9 -8
- package/dist/esm/authentication/strategies/resources.d.ts.map +1 -1
- package/dist/esm/authentication/strategies/resources.js +13 -13
- package/dist/esm/authentication/strategies/schema/base.d.ts +59 -53
- package/dist/esm/authentication/strategies/schema/base.d.ts.map +1 -1
- package/dist/esm/authentication/strategies/schema/base.js +36 -25
- package/dist/esm/authentication/strategies/schema/schema.d.ts +126 -200
- package/dist/esm/authentication/strategies/schema/schema.d.ts.map +1 -1
- package/dist/esm/authentication/strategies/schema/schema.js +17 -6
- package/dist/esm/authentication/strategies/schema/types/email.d.ts +62 -61
- package/dist/esm/authentication/strategies/schema/types/email.d.ts.map +1 -1
- package/dist/esm/authentication/strategies/schema/types/email.js +25 -15
- package/dist/esm/authentication/strategies/schema/types/email.test.js +49 -49
- package/dist/esm/authentication/strategies/schema/types/totp.d.ts +108 -95
- package/dist/esm/authentication/strategies/schema/types/totp.d.ts.map +1 -1
- package/dist/esm/authentication/strategies/schema/types/totp.js +51 -27
- package/dist/esm/authorization/permissions/resources.d.ts +7 -7
- package/dist/esm/authorization/permissions/resources.d.ts.map +1 -1
- package/dist/esm/authorization/permissions/resources.js +8 -8
- package/dist/esm/authorization/permissions/schema.d.ts +92 -88
- package/dist/esm/authorization/permissions/schema.d.ts.map +1 -1
- package/dist/esm/authorization/permissions/schema.js +47 -39
- package/dist/esm/authorization/permissions/schema.test.js +54 -62
- package/dist/esm/authorization/roles/resources.d.ts +7 -7
- package/dist/esm/authorization/roles/resources.d.ts.map +1 -1
- package/dist/esm/authorization/roles/resources.js +8 -8
- package/dist/esm/authorization/roles/schema.d.ts +102 -98
- package/dist/esm/authorization/roles/schema.d.ts.map +1 -1
- package/dist/esm/authorization/roles/schema.js +43 -40
- package/dist/esm/authorization/roles/schema.test.js +55 -62
- package/dist/esm/authorization/schema.d.ts +7 -6
- package/dist/esm/authorization/schema.d.ts.map +1 -1
- package/dist/esm/authorization/schema.js +9 -3
- package/dist/esm/common/index.d.ts +2 -0
- package/dist/esm/common/index.d.ts.map +1 -1
- package/dist/esm/common/resources/authorization.d.ts +18 -1
- package/dist/esm/common/resources/authorization.d.ts.map +1 -1
- package/dist/esm/common/resources/authorization.js +5 -1
- package/dist/esm/common/resources/init.d.ts +28 -11
- package/dist/esm/common/resources/init.d.ts.map +1 -1
- package/dist/esm/common/resources/init.js +47 -21
- package/dist/esm/common/resources/init.test.js +63 -39
- package/dist/esm/common/resources/operations.d.ts +7 -6
- package/dist/esm/common/resources/operations.d.ts.map +1 -1
- package/dist/esm/common/resources/operations.js +41 -19
- package/dist/esm/common/resources/operations.test.js +48 -18
- package/dist/esm/common/resources/utils.d.ts +0 -9
- package/dist/esm/common/resources/utils.d.ts.map +1 -1
- package/dist/esm/common/resources/utils.js +0 -24
- package/dist/esm/common/resources/utils.test.js +3 -32
- package/dist/esm/common/schema/aggregate.d.ts +6 -5
- package/dist/esm/common/schema/aggregate.d.ts.map +1 -1
- package/dist/esm/common/schema/aggregate.js +4 -4
- package/dist/esm/common/schema/aggregate.test.js +21 -22
- package/dist/esm/common/schema/collection.d.ts +13 -14
- package/dist/esm/common/schema/collection.d.ts.map +1 -1
- package/dist/esm/common/schema/collection.js +5 -5
- package/dist/esm/common/schema/collection.test.js +66 -48
- package/dist/esm/common/schema/dates.d.ts +43 -26
- package/dist/esm/common/schema/dates.d.ts.map +1 -1
- package/dist/esm/common/schema/dates.js +29 -11
- package/dist/esm/common/schema/dates.test.js +24 -13
- package/dist/esm/common/schema/id.d.ts +2 -1
- package/dist/esm/common/schema/id.d.ts.map +1 -1
- package/dist/esm/common/schema/id.js +2 -2
- package/dist/esm/common/schema/id.test.js +70 -38
- package/dist/esm/common/schema/jwt.d.ts +22 -14
- package/dist/esm/common/schema/jwt.d.ts.map +1 -1
- package/dist/esm/common/schema/jwt.js +3 -7
- package/dist/esm/common/schema/jwt.test.js +22 -25
- package/dist/esm/common/schema/metadata.d.ts +86 -49
- package/dist/esm/common/schema/metadata.d.ts.map +1 -1
- package/dist/esm/common/schema/metadata.js +120 -74
- package/dist/esm/common/schema/metadata.test.js +199 -68
- package/dist/esm/common/schema/pagination.d.ts +15 -5
- package/dist/esm/common/schema/pagination.d.ts.map +1 -1
- package/dist/esm/common/schema/pagination.js +13 -4
- package/dist/esm/common/schema/pagination.test.js +55 -36
- package/dist/esm/common/schema/schema.d.ts +4 -4
- package/dist/esm/common/schema/schema.d.ts.map +1 -1
- package/dist/esm/common/schema/schema.js +6 -5
- package/dist/esm/common/schema/schema.test.js +9 -15
- package/dist/esm/common/schema/sets.d.ts +6 -2
- package/dist/esm/common/schema/sets.d.ts.map +1 -1
- package/dist/esm/common/schema/sets.js +16 -6
- package/dist/esm/common/schema/url.d.ts +21 -0
- package/dist/esm/common/schema/url.d.ts.map +1 -1
- package/dist/esm/common/schema/url.js +45 -0
- package/dist/esm/common/schema/url.test.js +11 -1
- package/dist/esm/customer/organization/schema.d.ts +59 -46
- package/dist/esm/customer/organization/schema.d.ts.map +1 -1
- package/dist/esm/customer/organization/schema.js +43 -26
- package/dist/esm/customer/schema.d.ts +7 -6
- package/dist/esm/customer/schema.d.ts.map +1 -1
- package/dist/esm/customer/schema.js +9 -3
- package/dist/esm/customer/users/resources.d.ts +7 -7
- package/dist/esm/customer/users/resources.d.ts.map +1 -1
- package/dist/esm/customer/users/resources.js +8 -8
- package/dist/esm/customer/users/schema.d.ts +213 -104
- package/dist/esm/customer/users/schema.d.ts.map +1 -1
- package/dist/esm/customer/users/schema.js +107 -55
- package/dist/esm/customer/users/schema.test.js +592 -61
- package/dist/esm/customer/users/utils.d.ts +3 -2
- package/dist/esm/customer/users/utils.d.ts.map +1 -1
- package/dist/esm/customer/users/utils.test.js +1 -1
- package/dist/esm/identity/schema.d.ts +5 -1
- package/dist/esm/identity/schema.d.ts.map +1 -1
- package/dist/esm/identity/schema.js +5 -2
- package/dist/esm/identity/schema.test.js +21 -16
- package/dist/esm/oauth/authorize/schema/grants/authorization-code.d.ts +34 -28
- package/dist/esm/oauth/authorize/schema/grants/authorization-code.d.ts.map +1 -1
- package/dist/esm/oauth/authorize/schema/grants/authorization-code.js +60 -38
- package/dist/esm/oauth/authorize/schema/grants/authorization-code.test.js +48 -49
- package/dist/esm/oauth/authorize/schema/grants/common.d.ts +6 -0
- package/dist/esm/oauth/authorize/schema/grants/common.d.ts.map +1 -0
- package/dist/esm/oauth/authorize/schema/grants/common.js +11 -0
- package/dist/esm/oauth/authorize/schema/grants/implicit.d.ts +18 -10
- package/dist/esm/oauth/authorize/schema/grants/implicit.d.ts.map +1 -1
- package/dist/esm/oauth/authorize/schema/grants/implicit.js +22 -10
- package/dist/esm/oauth/authorize/schema/schema.d.ts +48 -36
- package/dist/esm/oauth/authorize/schema/schema.d.ts.map +1 -1
- package/dist/esm/oauth/authorize/schema/schema.js +4 -3
- package/dist/esm/oauth/common/schema.d.ts +24 -7
- package/dist/esm/oauth/common/schema.d.ts.map +1 -1
- package/dist/esm/oauth/common/schema.js +25 -7
- package/dist/esm/oauth/common/schema.test.js +23 -31
- package/dist/esm/oauth/index.d.ts +3 -3
- package/dist/esm/oauth/index.d.ts.map +1 -1
- package/dist/esm/oauth/index.js +3 -3
- package/dist/esm/oauth/token/schema/grants/authorization-code.d.ts +16 -9
- package/dist/esm/oauth/token/schema/grants/authorization-code.d.ts.map +1 -1
- package/dist/esm/oauth/token/schema/grants/authorization-code.js +32 -11
- package/dist/esm/oauth/token/schema/grants/client-credentials.d.ts +16 -17
- package/dist/esm/oauth/token/schema/grants/client-credentials.d.ts.map +1 -1
- package/dist/esm/oauth/token/schema/grants/client-credentials.js +19 -15
- package/dist/esm/oauth/token/schema/grants/common.d.ts +6 -0
- package/dist/esm/oauth/token/schema/grants/common.d.ts.map +1 -0
- package/dist/esm/oauth/token/schema/grants/common.js +16 -0
- package/dist/esm/oauth/token/schema/grants/refresh-token.d.ts +15 -8
- package/dist/esm/oauth/token/schema/grants/refresh-token.d.ts.map +1 -1
- package/dist/esm/oauth/token/schema/grants/refresh-token.js +23 -10
- package/dist/esm/oauth/token/schema/schema.d.ts +48 -21
- package/dist/esm/oauth/token/schema/schema.d.ts.map +1 -1
- package/dist/esm/oauth/token/schema/schema.js +59 -4
- package/dist/esm/oauth/token/schema/schema.test.js +45 -29
- package/dist/esm/workspace/authorization/schema.d.ts +62 -27
- package/dist/esm/workspace/authorization/schema.d.ts.map +1 -1
- package/dist/esm/workspace/authorization/schema.js +27 -15
- package/dist/esm/workspace/branding/schema.d.ts +47 -37
- package/dist/esm/workspace/branding/schema.d.ts.map +1 -1
- package/dist/esm/workspace/branding/schema.js +29 -17
- package/dist/esm/workspace/membership/schema.d.ts +42 -20
- package/dist/esm/workspace/membership/schema.d.ts.map +1 -1
- package/dist/esm/workspace/membership/schema.js +14 -7
- package/dist/esm/workspace/registration/schema.d.ts +41 -27
- package/dist/esm/workspace/registration/schema.d.ts.map +1 -1
- package/dist/esm/workspace/registration/schema.js +32 -16
- package/dist/esm/workspace/settings/schema.d.ts +20 -19
- package/dist/esm/workspace/settings/schema.d.ts.map +1 -1
- package/dist/esm/workspace/settings/schema.js +16 -9
- package/dist/esm/workspace/settings/schema.test.js +18 -19
- package/dist/esm/workspace/tenant/schema.d.ts +88 -57
- package/dist/esm/workspace/tenant/schema.d.ts.map +1 -1
- package/dist/esm/workspace/tenant/schema.js +26 -13
- package/dist/esm/workspace/tenant/schema.test.d.ts +2 -0
- package/dist/esm/workspace/tenant/schema.test.d.ts.map +1 -0
- package/dist/esm/workspace/tenant/schema.test.js +233 -0
- package/dist/esm/workspace/user/notifications/schema.d.ts +70 -56
- package/dist/esm/workspace/user/notifications/schema.d.ts.map +1 -1
- package/dist/esm/workspace/user/notifications/schema.js +42 -29
- package/dist/esm/workspace/user/preferences/schema.d.ts +29 -25
- package/dist/esm/workspace/user/preferences/schema.d.ts.map +1 -1
- package/dist/esm/workspace/user/preferences/schema.js +25 -13
- package/package.json +3 -3
- package/dist/cjs/action/schema/operations/set-password.d.ts +0 -31
- package/dist/cjs/action/schema/operations/set-password.d.ts.map +0 -1
- package/dist/cjs/action/schema/operations/set-password.js +0 -18
- package/dist/cjs/action/schema/operations/set-password.test.d.ts +0 -2
- package/dist/cjs/action/schema/operations/set-password.test.d.ts.map +0 -1
- package/dist/cjs/action/schema/operations/set-password.test.js +0 -167
- package/dist/cjs/authentication/strategies/schema/types/password.d.ts +0 -132
- package/dist/cjs/authentication/strategies/schema/types/password.d.ts.map +0 -1
- package/dist/cjs/authentication/strategies/schema/types/password.js +0 -52
- package/dist/cjs/common/schema/sets.test.d.ts +0 -2
- package/dist/cjs/common/schema/sets.test.d.ts.map +0 -1
- package/dist/cjs/common/schema/sets.test.js +0 -84
- package/dist/esm/action/schema/operations/set-password.d.ts +0 -31
- package/dist/esm/action/schema/operations/set-password.d.ts.map +0 -1
- package/dist/esm/action/schema/operations/set-password.js +0 -15
- package/dist/esm/action/schema/operations/set-password.test.d.ts +0 -2
- package/dist/esm/action/schema/operations/set-password.test.d.ts.map +0 -1
- package/dist/esm/action/schema/operations/set-password.test.js +0 -165
- package/dist/esm/authentication/strategies/schema/types/password.d.ts +0 -132
- package/dist/esm/authentication/strategies/schema/types/password.d.ts.map +0 -1
- package/dist/esm/authentication/strategies/schema/types/password.js +0 -49
- package/dist/esm/common/schema/sets.test.d.ts +0 -2
- package/dist/esm/common/schema/sets.test.d.ts.map +0 -1
- package/dist/esm/common/schema/sets.test.js +0 -82
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as z from 'zod/v4';
|
|
1
2
|
export declare const Model: {
|
|
2
3
|
readonly Permission: {
|
|
3
4
|
readonly UIDPrefix: "per";
|
|
@@ -8,10 +9,10 @@ export declare const Model: {
|
|
|
8
9
|
};
|
|
9
10
|
export declare function generatePermissionId(): string;
|
|
10
11
|
export declare function generateRoleId(): string;
|
|
11
|
-
export declare const RoleIdSchema:
|
|
12
|
-
export type RoleId = typeof RoleIdSchema
|
|
13
|
-
export declare const RoleIdAssociationsSchema:
|
|
14
|
-
export declare const PermissionIdSchema:
|
|
15
|
-
export type PermissionId = typeof PermissionIdSchema
|
|
16
|
-
export declare const PermissionIdAssociationsSchema:
|
|
12
|
+
export declare const RoleIdSchema: z.ZodString;
|
|
13
|
+
export type RoleId = z.output<typeof RoleIdSchema>;
|
|
14
|
+
export declare const RoleIdAssociationsSchema: z.ZodUnion<readonly [z.ZodUndefined, z.ZodArray<z.ZodString>]>;
|
|
15
|
+
export declare const PermissionIdSchema: z.ZodString;
|
|
16
|
+
export type PermissionId = z.output<typeof PermissionIdSchema>;
|
|
17
|
+
export declare const PermissionIdAssociationsSchema: z.ZodUnion<readonly [z.ZodUndefined, z.ZodArray<z.ZodString>]>;
|
|
17
18
|
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/authorization/schema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/authorization/schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,eAAO,MAAM,KAAK;;;;;;;CAOR,CAAC;AAEX,wBAAgB,oBAAoB,WAEnC;AAED,wBAAgB,cAAc,WAE7B;AAED,eAAO,MAAM,YAAY,aAAoC,CAAC;AAC9D,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,YAAY,CAAC,CAAC;AAEnD,eAAO,MAAM,wBAAwB,gEAGnC,CAAC;AAEH,eAAO,MAAM,kBAAkB,aAA0C,CAAC;AAC1E,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE/D,eAAO,MAAM,8BAA8B,gEAGzC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { type } from 'arktype';
|
|
2
1
|
import KSUID from 'ksuid';
|
|
2
|
+
import * as z from 'zod/v4';
|
|
3
3
|
import { KSUIDSchema } from '../common/schema/id.js';
|
|
4
4
|
export const Model = {
|
|
5
5
|
Permission: {
|
|
@@ -16,6 +16,12 @@ export function generateRoleId() {
|
|
|
16
16
|
return `${Model.Role.UIDPrefix}_${KSUID.randomSync().string}`;
|
|
17
17
|
}
|
|
18
18
|
export const RoleIdSchema = KSUIDSchema(Model.Role.UIDPrefix);
|
|
19
|
-
export const RoleIdAssociationsSchema =
|
|
19
|
+
export const RoleIdAssociationsSchema = z.union([
|
|
20
|
+
z.undefined(),
|
|
21
|
+
z.array(RoleIdSchema),
|
|
22
|
+
]);
|
|
20
23
|
export const PermissionIdSchema = KSUIDSchema(Model.Permission.UIDPrefix);
|
|
21
|
-
export const PermissionIdAssociationsSchema =
|
|
24
|
+
export const PermissionIdAssociationsSchema = z.union([
|
|
25
|
+
z.undefined(),
|
|
26
|
+
z.array(PermissionIdSchema),
|
|
27
|
+
]);
|
|
@@ -2,6 +2,8 @@ import { MondoIdentity } from './resources/init.js';
|
|
|
2
2
|
export { defaultMutationRequestHeaders, defaultRequestHeaders, responseToHttpError, toHttpError, } from './resources/utils.js';
|
|
3
3
|
export * from './errors/http.js';
|
|
4
4
|
export * from './errors/validation.js';
|
|
5
|
+
export type { MondoInstance } from './resources/init.js';
|
|
6
|
+
export type { AccessTokenProvider, Authorizer, } from './resources/authorization.js';
|
|
5
7
|
export * from './schema/schema.js';
|
|
6
8
|
export default MondoIdentity;
|
|
7
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACL,6BAA6B,EAC7B,qBAAqB,EACrB,mBAAmB,EACnB,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAE9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACL,6BAA6B,EAC7B,qBAAqB,EACrB,mBAAmB,EACnB,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAE9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,YAAY,EACV,mBAAmB,EACnB,UAAU,GACX,MAAM,8BAA8B,CAAC;AACtC,cAAc,oBAAoB,CAAC;AAEnC,eAAe,aAAa,CAAC"}
|
|
@@ -1,2 +1,19 @@
|
|
|
1
|
-
export type
|
|
1
|
+
export type AuthorizeOptions = {
|
|
2
|
+
/** Force a credential refresh before authorizing the request. */
|
|
3
|
+
refresh?: boolean;
|
|
4
|
+
};
|
|
5
|
+
export type AccessToken = string | {
|
|
6
|
+
accessToken: string;
|
|
7
|
+
expiresAt?: number;
|
|
8
|
+
scope?: string;
|
|
9
|
+
type?: string;
|
|
10
|
+
};
|
|
11
|
+
export type AccessTokenProvider = (options?: AuthorizeOptions) => AccessToken | Promise<AccessToken>;
|
|
12
|
+
/**
|
|
13
|
+
* Authorizer function type that adds authentication to requests.
|
|
14
|
+
* Takes a RequestInit object and returns it with authorization headers added.
|
|
15
|
+
* Async authorization can refresh credentials before the outbound API request.
|
|
16
|
+
*/
|
|
17
|
+
export type Authorizer = (request: RequestInit, options?: AuthorizeOptions) => RequestInit | Promise<RequestInit>;
|
|
18
|
+
export declare function getAccessTokenValue(accessToken: AccessToken): string;
|
|
2
19
|
//# sourceMappingURL=authorization.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authorization.d.ts","sourceRoot":"","sources":["../../../../src/common/resources/authorization.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"authorization.d.ts","sourceRoot":"","sources":["../../../../src/common/resources/authorization.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,iEAAiE;IACjE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,WAAW,GACnB,MAAM,GACN;IACE,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEN,MAAM,MAAM,mBAAmB,GAAG,CAChC,OAAO,CAAC,EAAE,gBAAgB,KACvB,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAExC;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,CACvB,OAAO,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,gBAAgB,KACvB,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAExC,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,CAIpE"}
|
|
@@ -1,16 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export
|
|
1
|
+
import * as z from 'zod/v4';
|
|
2
|
+
import { type AccessTokenProvider, type Authorizer } from './authorization.js';
|
|
3
|
+
declare const ConfigSchema: z.ZodObject<{
|
|
4
|
+
accessToken: z.ZodUnion<readonly [z.ZodString, z.ZodCustom<AccessTokenProvider, AccessTokenProvider>]>;
|
|
5
|
+
host: z.ZodPipe<z.ZodDefault<z.ZodURL>, z.ZodTransform<URL, string>>;
|
|
6
|
+
}, z.core.$strip>;
|
|
7
|
+
export type ConfigProps = z.input<typeof ConfigSchema>;
|
|
8
|
+
export type Config = z.output<typeof ConfigSchema>;
|
|
9
|
+
/**
|
|
10
|
+
* Interface representing a configured Mondo SDK instance.
|
|
11
|
+
* Provides the base URL and authorization function for API requests.
|
|
12
|
+
*/
|
|
13
|
+
export type MondoInstance = {
|
|
14
|
+
/** The base URL for API requests */
|
|
15
|
+
readonly baseUrl: URL;
|
|
16
|
+
/** Function that adds authorization headers to requests */
|
|
17
|
+
readonly authorize: Authorizer;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Type guard to check if a value is a MondoInstance.
|
|
21
|
+
* @param value - The value to check
|
|
22
|
+
* @returns True if the value is a MondoInstance
|
|
23
|
+
*/
|
|
24
|
+
export declare function isMondoInstance(value: unknown): value is MondoInstance;
|
|
25
|
+
export declare class MondoIdentity implements MondoInstance {
|
|
8
26
|
readonly config: Config;
|
|
27
|
+
readonly authorize: Authorizer;
|
|
9
28
|
constructor(config: ConfigProps);
|
|
10
|
-
/**
|
|
11
|
-
|
|
12
|
-
*/
|
|
13
|
-
get authorizer(): (request: RequestInit) => RequestInit;
|
|
29
|
+
/** The base URL for API requests. */
|
|
30
|
+
get baseUrl(): URL;
|
|
14
31
|
}
|
|
15
32
|
export {};
|
|
16
33
|
//# sourceMappingURL=init.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../src/common/resources/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../src/common/resources/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,UAAU,EAEhB,MAAM,oBAAoB,CAAC;AAmB5B,QAAA,MAAM,YAAY;;;iBAA0B,CAAC;AAE7C,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AACvD,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,YAAY,CAAC,CAAC;AAEnD;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,oCAAoC;IACpC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC;IACtB,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;CAChC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAStE;AAED,qBAAa,aAAc,YAAW,aAAa;IACjD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,SAAgB,SAAS,EAAE,UAAU,CAAC;gBAEnB,MAAM,EAAE,WAAW;IAiBtC,qCAAqC;IACrC,IAAW,OAAO,IAAI,GAAG,CAExB;CACF"}
|
|
@@ -1,34 +1,60 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import * as z from 'zod/v4';
|
|
2
|
+
import { getAccessTokenValue, } from './authorization.js';
|
|
3
|
+
const BaseConfigSchema = z.object({
|
|
4
|
+
host: z
|
|
5
|
+
.url()
|
|
6
|
+
.default('https://api.mondoidentity.com')
|
|
7
|
+
.pipe(z.transform((v) => new URL(v))),
|
|
4
8
|
});
|
|
5
|
-
const AccessTokenConfigSchema =
|
|
6
|
-
|
|
9
|
+
const AccessTokenConfigSchema = z.object({
|
|
10
|
+
...BaseConfigSchema.shape,
|
|
11
|
+
accessToken: z.union([
|
|
12
|
+
z.string().min(1),
|
|
13
|
+
z.custom((value) => typeof value === 'function', {
|
|
14
|
+
error: 'Access token must be a string or token provider function',
|
|
15
|
+
}),
|
|
16
|
+
]),
|
|
7
17
|
});
|
|
8
18
|
const ConfigSchema = AccessTokenConfigSchema;
|
|
19
|
+
/**
|
|
20
|
+
* Type guard to check if a value is a MondoInstance.
|
|
21
|
+
* @param value - The value to check
|
|
22
|
+
* @returns True if the value is a MondoInstance
|
|
23
|
+
*/
|
|
24
|
+
export function isMondoInstance(value) {
|
|
25
|
+
const maybeInstance = value;
|
|
26
|
+
return (maybeInstance !== null &&
|
|
27
|
+
typeof maybeInstance === 'object' &&
|
|
28
|
+
maybeInstance.baseUrl instanceof URL &&
|
|
29
|
+
typeof maybeInstance.authorize === 'function');
|
|
30
|
+
}
|
|
9
31
|
export class MondoIdentity {
|
|
10
32
|
config;
|
|
33
|
+
authorize;
|
|
11
34
|
constructor(config) {
|
|
12
35
|
this.config = initConfig(config);
|
|
36
|
+
this.authorize = async (request, options) => {
|
|
37
|
+
const accessToken = typeof this.config.accessToken === 'function'
|
|
38
|
+
? await this.config.accessToken(options)
|
|
39
|
+
: this.config.accessToken;
|
|
40
|
+
request.headers = new Headers(request.headers);
|
|
41
|
+
request.headers.set('authorization', `Bearer ${getAccessTokenValue(accessToken)}`);
|
|
42
|
+
return request;
|
|
43
|
+
};
|
|
13
44
|
}
|
|
14
|
-
/**
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
get authorizer() {
|
|
18
|
-
if (this.config.accessToken) {
|
|
19
|
-
return (request) => {
|
|
20
|
-
request.headers = new Headers(request.headers);
|
|
21
|
-
request.headers.append('authorization', this.config.accessToken);
|
|
22
|
-
return request;
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
return (request) => request;
|
|
45
|
+
/** The base URL for API requests. */
|
|
46
|
+
get baseUrl() {
|
|
47
|
+
return this.config.host;
|
|
26
48
|
}
|
|
27
49
|
}
|
|
28
50
|
function initConfig(config) {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
51
|
+
try {
|
|
52
|
+
return ConfigSchema.parse(config);
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
if (error instanceof z.ZodError) {
|
|
56
|
+
throw new Error(`Invalid configuration: ${error.message}`);
|
|
57
|
+
}
|
|
58
|
+
throw error;
|
|
32
59
|
}
|
|
33
|
-
return out;
|
|
34
60
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { describe, expect, test } from 'vitest';
|
|
1
|
+
import { describe, expect, test, vi } from 'vitest';
|
|
2
2
|
import { MondoIdentity } from './init.js';
|
|
3
3
|
describe('Common Resources - Init', () => {
|
|
4
4
|
describe('MondoIdentity class', () => {
|
|
@@ -18,7 +18,7 @@ describe('Common Resources - Init', () => {
|
|
|
18
18
|
};
|
|
19
19
|
const mondoIdentity = new MondoIdentity(config);
|
|
20
20
|
expect(mondoIdentity.config.accessToken).toBe('test-access-token');
|
|
21
|
-
expect(mondoIdentity.config.host.toString()).toBe('https://
|
|
21
|
+
expect(mondoIdentity.config.host.toString()).toBe('https://api.mondoidentity.com/');
|
|
22
22
|
});
|
|
23
23
|
test('should parse URL host correctly', () => {
|
|
24
24
|
const config = {
|
|
@@ -62,6 +62,11 @@ describe('Common Resources - Init', () => {
|
|
|
62
62
|
};
|
|
63
63
|
expect(() => new MondoIdentity(config)).toThrow('Invalid configuration');
|
|
64
64
|
});
|
|
65
|
+
test('should initialize with an access token provider', () => {
|
|
66
|
+
const accessToken = vi.fn(() => 'provided-token');
|
|
67
|
+
const mondoIdentity = new MondoIdentity({ accessToken });
|
|
68
|
+
expect(mondoIdentity.config.accessToken).toBe(accessToken);
|
|
69
|
+
});
|
|
65
70
|
});
|
|
66
71
|
describe('config property', () => {
|
|
67
72
|
test('should be readonly', () => {
|
|
@@ -85,29 +90,29 @@ describe('Common Resources - Init', () => {
|
|
|
85
90
|
expect(mondoIdentity.config.host.toString()).toBe(`${config.host}/`);
|
|
86
91
|
});
|
|
87
92
|
});
|
|
88
|
-
describe('
|
|
89
|
-
test('should return function that adds authorization header when access token is provided', () => {
|
|
93
|
+
describe('authorize property', () => {
|
|
94
|
+
test('should return function that adds authorization header when access token is provided', async () => {
|
|
90
95
|
const config = {
|
|
91
96
|
accessToken: 'bearer-token-123',
|
|
92
97
|
};
|
|
93
98
|
const mondoIdentity = new MondoIdentity(config);
|
|
94
|
-
const
|
|
95
|
-
expect(typeof
|
|
99
|
+
const authorize = mondoIdentity.authorize;
|
|
100
|
+
expect(typeof authorize).toBe('function');
|
|
96
101
|
const mockRequest = {
|
|
97
102
|
method: 'GET',
|
|
98
103
|
headers: {},
|
|
99
104
|
};
|
|
100
|
-
const authorizedRequest =
|
|
105
|
+
const authorizedRequest = await authorize(mockRequest);
|
|
101
106
|
expect(authorizedRequest.headers).toBeInstanceOf(Headers);
|
|
102
107
|
const headers = authorizedRequest.headers;
|
|
103
|
-
expect(headers.get('authorization')).toBe('bearer-token-123');
|
|
108
|
+
expect(headers.get('authorization')).toBe('Bearer bearer-token-123');
|
|
104
109
|
});
|
|
105
|
-
test('should preserve existing headers when adding authorization', () => {
|
|
110
|
+
test('should preserve existing headers when adding authorization', async () => {
|
|
106
111
|
const config = {
|
|
107
112
|
accessToken: 'test-token',
|
|
108
113
|
};
|
|
109
114
|
const mondoIdentity = new MondoIdentity(config);
|
|
110
|
-
const
|
|
115
|
+
const authorize = mondoIdentity.authorize;
|
|
111
116
|
const mockRequest = {
|
|
112
117
|
method: 'POST',
|
|
113
118
|
headers: {
|
|
@@ -115,18 +120,18 @@ describe('Common Resources - Init', () => {
|
|
|
115
120
|
'user-agent': 'test-client',
|
|
116
121
|
},
|
|
117
122
|
};
|
|
118
|
-
const authorizedRequest =
|
|
123
|
+
const authorizedRequest = await authorize(mockRequest);
|
|
119
124
|
const headers = authorizedRequest.headers;
|
|
120
|
-
expect(headers.get('authorization')).toBe('test-token');
|
|
125
|
+
expect(headers.get('authorization')).toBe('Bearer test-token');
|
|
121
126
|
expect(headers.get('content-type')).toBe('application/json');
|
|
122
127
|
expect(headers.get('user-agent')).toBe('test-client');
|
|
123
128
|
});
|
|
124
|
-
test('should handle Headers object as input', () => {
|
|
129
|
+
test('should handle Headers object as input', async () => {
|
|
125
130
|
const config = {
|
|
126
131
|
accessToken: 'header-token',
|
|
127
132
|
};
|
|
128
133
|
const mondoIdentity = new MondoIdentity(config);
|
|
129
|
-
const
|
|
134
|
+
const authorize = mondoIdentity.authorize;
|
|
130
135
|
const existingHeaders = new Headers({
|
|
131
136
|
accept: 'application/json',
|
|
132
137
|
});
|
|
@@ -134,67 +139,87 @@ describe('Common Resources - Init', () => {
|
|
|
134
139
|
method: 'GET',
|
|
135
140
|
headers: existingHeaders,
|
|
136
141
|
};
|
|
137
|
-
const authorizedRequest =
|
|
142
|
+
const authorizedRequest = await authorize(mockRequest);
|
|
138
143
|
const headers = authorizedRequest.headers;
|
|
139
|
-
expect(headers.get('authorization')).toBe('header-token');
|
|
144
|
+
expect(headers.get('authorization')).toBe('Bearer header-token');
|
|
140
145
|
expect(headers.get('accept')).toBe('application/json');
|
|
141
146
|
});
|
|
142
|
-
test('should handle undefined headers', () => {
|
|
147
|
+
test('should handle undefined headers', async () => {
|
|
143
148
|
const config = {
|
|
144
149
|
accessToken: 'undefined-headers-token',
|
|
145
150
|
};
|
|
146
151
|
const mondoIdentity = new MondoIdentity(config);
|
|
147
|
-
const
|
|
152
|
+
const authorize = mondoIdentity.authorize;
|
|
148
153
|
const mockRequest = {
|
|
149
154
|
method: 'GET',
|
|
150
155
|
// headers intentionally undefined
|
|
151
156
|
};
|
|
152
|
-
const authorizedRequest =
|
|
157
|
+
const authorizedRequest = await authorize(mockRequest);
|
|
153
158
|
const headers = authorizedRequest.headers;
|
|
154
|
-
expect(headers.get('authorization')).toBe('undefined-headers-token');
|
|
159
|
+
expect(headers.get('authorization')).toBe('Bearer undefined-headers-token');
|
|
155
160
|
});
|
|
156
|
-
test('should return same request reference with modified headers', () => {
|
|
161
|
+
test('should return same request reference with modified headers', async () => {
|
|
157
162
|
const config = {
|
|
158
163
|
accessToken: 'reference-token',
|
|
159
164
|
};
|
|
160
165
|
const mondoIdentity = new MondoIdentity(config);
|
|
161
|
-
const
|
|
166
|
+
const authorize = mondoIdentity.authorize;
|
|
162
167
|
const mockRequest = {
|
|
163
168
|
method: 'PUT',
|
|
164
169
|
body: 'test-body',
|
|
165
170
|
};
|
|
166
|
-
const authorizedRequest =
|
|
171
|
+
const authorizedRequest = await authorize(mockRequest);
|
|
167
172
|
// Should be the same object reference
|
|
168
173
|
expect(authorizedRequest).toBe(mockRequest);
|
|
169
174
|
expect(authorizedRequest.method).toBe('PUT');
|
|
170
175
|
expect(authorizedRequest.body).toBe('test-body');
|
|
171
176
|
});
|
|
172
|
-
test('should
|
|
177
|
+
test('should expose a consistent function', async () => {
|
|
173
178
|
const config = {
|
|
174
179
|
accessToken: 'consistent-token',
|
|
175
180
|
};
|
|
176
181
|
const mondoIdentity = new MondoIdentity(config);
|
|
177
|
-
|
|
178
|
-
const
|
|
179
|
-
const authorizer2 = mondoIdentity.authorizer;
|
|
182
|
+
const authorize1 = mondoIdentity.authorize;
|
|
183
|
+
const authorize2 = mondoIdentity.authorize;
|
|
180
184
|
const mockRequest1 = { method: 'GET' };
|
|
181
185
|
const mockRequest2 = { method: 'POST' };
|
|
182
|
-
const result1 =
|
|
183
|
-
const result2 =
|
|
186
|
+
const result1 = await authorize1(mockRequest1);
|
|
187
|
+
const result2 = await authorize2(mockRequest2);
|
|
184
188
|
const headers1 = result1.headers;
|
|
185
189
|
const headers2 = result2.headers;
|
|
186
|
-
expect(headers1.get('authorization')).toBe('consistent-token');
|
|
187
|
-
expect(headers2.get('authorization')).toBe('consistent-token');
|
|
190
|
+
expect(headers1.get('authorization')).toBe('Bearer consistent-token');
|
|
191
|
+
expect(headers2.get('authorization')).toBe('Bearer consistent-token');
|
|
192
|
+
});
|
|
193
|
+
test('should resolve access token providers with authorize options', async () => {
|
|
194
|
+
const accessToken = vi.fn((options) => options?.refresh ? 'refreshed-token' : 'cached-token');
|
|
195
|
+
const mondoIdentity = new MondoIdentity({ accessToken });
|
|
196
|
+
const cachedRequest = await mondoIdentity.authorize({ method: 'GET' });
|
|
197
|
+
const refreshedRequest = await mondoIdentity.authorize({ method: 'GET' }, { refresh: true });
|
|
198
|
+
expect(accessToken).toHaveBeenNthCalledWith(1, undefined);
|
|
199
|
+
expect(accessToken).toHaveBeenNthCalledWith(2, { refresh: true });
|
|
200
|
+
expect(cachedRequest.headers.get('authorization')).toBe('Bearer cached-token');
|
|
201
|
+
expect(refreshedRequest.headers.get('authorization')).toBe('Bearer refreshed-token');
|
|
202
|
+
});
|
|
203
|
+
test('should use the accessToken value from provider token objects', async () => {
|
|
204
|
+
const accessToken = vi.fn(() => ({
|
|
205
|
+
accessToken: 'object-token',
|
|
206
|
+
expiresAt: Date.now() + 60_000,
|
|
207
|
+
scope: 'workspace:read',
|
|
208
|
+
type: 'Bearer',
|
|
209
|
+
}));
|
|
210
|
+
const mondoIdentity = new MondoIdentity({ accessToken });
|
|
211
|
+
const request = await mondoIdentity.authorize({ method: 'GET' });
|
|
212
|
+
expect(request.headers.get('authorization')).toBe('Bearer object-token');
|
|
188
213
|
});
|
|
189
214
|
});
|
|
190
215
|
describe('integration tests', () => {
|
|
191
|
-
test('should work with real-world configuration', () => {
|
|
216
|
+
test('should work with real-world configuration', async () => {
|
|
192
217
|
const config = {
|
|
193
218
|
accessToken: 'prod_12345abcdef67890',
|
|
194
219
|
host: 'https://api.mondoidentity.com/v1',
|
|
195
220
|
};
|
|
196
221
|
const mondoIdentity = new MondoIdentity(config);
|
|
197
|
-
const
|
|
222
|
+
const authorize = mondoIdentity.authorize;
|
|
198
223
|
// Test configuration
|
|
199
224
|
expect(mondoIdentity.config.accessToken).toBe('prod_12345abcdef67890');
|
|
200
225
|
expect(mondoIdentity.config.host).instanceOf(URL);
|
|
@@ -207,21 +232,20 @@ describe('Common Resources - Init', () => {
|
|
|
207
232
|
'user-agent': 'mondo-identity-sdk/1.0.0',
|
|
208
233
|
},
|
|
209
234
|
};
|
|
210
|
-
const authorizedRequest =
|
|
235
|
+
const authorizedRequest = await authorize(apiRequest);
|
|
211
236
|
const headers = authorizedRequest.headers;
|
|
212
|
-
expect(headers.get('authorization')).toBe('prod_12345abcdef67890');
|
|
237
|
+
expect(headers.get('authorization')).toBe('Bearer prod_12345abcdef67890');
|
|
213
238
|
expect(headers.get('accept')).toBe('application/json');
|
|
214
239
|
expect(headers.get('user-agent')).toBe('mondo-identity-sdk/1.0.0');
|
|
215
240
|
});
|
|
216
|
-
test('should handle edge cases gracefully', () => {
|
|
241
|
+
test('should handle edge cases gracefully', async () => {
|
|
217
242
|
const config = {
|
|
218
243
|
accessToken: 'edge-case-token-with-special-chars!@#$%^&*()',
|
|
219
244
|
host: 'https://localhost:3000',
|
|
220
245
|
};
|
|
221
246
|
const mondoIdentity = new MondoIdentity(config);
|
|
222
|
-
expect(() => {
|
|
223
|
-
const
|
|
224
|
-
const request = authorizer({ method: 'OPTIONS' });
|
|
247
|
+
await expect(async () => {
|
|
248
|
+
const request = await mondoIdentity.authorize({ method: 'OPTIONS' });
|
|
225
249
|
const headers = request.headers;
|
|
226
250
|
headers.get('authorization');
|
|
227
251
|
}).not.toThrow();
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare function listItemsWithAuthorization<Result>(url: URL,
|
|
3
|
-
export declare function getItemWithAuthorization<Result>(url: URL,
|
|
4
|
-
export declare function
|
|
5
|
-
export declare function
|
|
6
|
-
export declare function
|
|
1
|
+
import type { Authorizer } from './authorization.js';
|
|
2
|
+
export declare function listItemsWithAuthorization<Result>(url: URL, authorizer: Authorizer): Promise<Result>;
|
|
3
|
+
export declare function getItemWithAuthorization<Result>(url: URL, authorizer: Authorizer): Promise<Result>;
|
|
4
|
+
export declare function patchItemWithAuthorization<Result, Mutation>(url: URL, authorizer: Authorizer, item: Mutation): Promise<Result>;
|
|
5
|
+
export declare function putItemWithAuthorization<Result, Mutation>(url: URL, authorizer: Authorizer, item: Mutation): Promise<Result>;
|
|
6
|
+
export declare function postItemWithAuthorization<Result, Mutation>(url: URL, authorizer: Authorizer, item?: Mutation): Promise<Result>;
|
|
7
|
+
export declare function deleteItemWithAuthorization<Result>(url: URL, authorizer: Authorizer): Promise<Result>;
|
|
7
8
|
//# sourceMappingURL=operations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../../../src/common/resources/operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../../../src/common/resources/operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AASrD,wBAAsB,0BAA0B,CAAC,MAAM,EACrD,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED,wBAAsB,wBAAwB,CAAC,MAAM,EACnD,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED,wBAAsB,0BAA0B,CAAC,MAAM,EAAE,QAAQ,EAC/D,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,QAAQ,EAC7D,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,MAAM,CAAC,CAEjB;AA2BD,wBAAsB,yBAAyB,CAAC,MAAM,EAAE,QAAQ,EAC9D,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,EACtB,IAAI,CAAC,EAAE,QAAQ,GACd,OAAO,CAAC,MAAM,CAAC,CAkBjB;AAED,wBAAsB,2BAA2B,CAAC,MAAM,EACtD,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,MAAM,CAAC,CAiBjB"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { defaultMutationRequestHeaders, defaultRequestHeaders, jsonBody, responseToHttpError, toHttpError, } from './utils.js';
|
|
2
|
-
export async function listItemsWithAuthorization(url,
|
|
2
|
+
export async function listItemsWithAuthorization(url, authorizer) {
|
|
3
3
|
try {
|
|
4
4
|
console.debug('List items', { url });
|
|
5
|
-
const response = await
|
|
5
|
+
const response = await fetchWithAuthorization(url, authorizer, {
|
|
6
6
|
method: 'GET',
|
|
7
7
|
headers: defaultRequestHeaders(),
|
|
8
|
-
})
|
|
8
|
+
});
|
|
9
9
|
if (response.ok) {
|
|
10
10
|
return await response.json();
|
|
11
11
|
}
|
|
@@ -15,13 +15,13 @@ export async function listItemsWithAuthorization(url, authorization) {
|
|
|
15
15
|
throw toHttpError(error);
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
export async function getItemWithAuthorization(url,
|
|
18
|
+
export async function getItemWithAuthorization(url, authorizer) {
|
|
19
19
|
try {
|
|
20
|
-
console.debug('
|
|
21
|
-
const response = await
|
|
20
|
+
console.debug('GET item', { url });
|
|
21
|
+
const response = await fetchWithAuthorization(url, authorizer, {
|
|
22
22
|
method: 'GET',
|
|
23
23
|
headers: defaultRequestHeaders(),
|
|
24
|
-
})
|
|
24
|
+
});
|
|
25
25
|
if (response.ok) {
|
|
26
26
|
return await response.json();
|
|
27
27
|
}
|
|
@@ -31,14 +31,20 @@ export async function getItemWithAuthorization(url, authorization) {
|
|
|
31
31
|
throw toHttpError(error);
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
|
-
export async function
|
|
34
|
+
export async function patchItemWithAuthorization(url, authorizer, item) {
|
|
35
|
+
return mutateItemWithAuthorization('PATCH', url, authorizer, item);
|
|
36
|
+
}
|
|
37
|
+
export async function putItemWithAuthorization(url, authorizer, item) {
|
|
38
|
+
return mutateItemWithAuthorization('PUT', url, authorizer, item);
|
|
39
|
+
}
|
|
40
|
+
async function mutateItemWithAuthorization(method, url, authorizer, item) {
|
|
35
41
|
try {
|
|
36
|
-
console.debug(
|
|
37
|
-
const response = await
|
|
38
|
-
method
|
|
42
|
+
console.debug(`${method} item`, { url, item });
|
|
43
|
+
const response = await fetchWithAuthorization(url, authorizer, {
|
|
44
|
+
method,
|
|
39
45
|
headers: defaultMutationRequestHeaders(),
|
|
40
46
|
body: JSON.stringify(item),
|
|
41
|
-
})
|
|
47
|
+
});
|
|
42
48
|
if (response.ok) {
|
|
43
49
|
return await response.json();
|
|
44
50
|
}
|
|
@@ -48,14 +54,14 @@ export async function updateItemWithAuthorization(url, authorization, item) {
|
|
|
48
54
|
throw toHttpError(error);
|
|
49
55
|
}
|
|
50
56
|
}
|
|
51
|
-
export async function
|
|
57
|
+
export async function postItemWithAuthorization(url, authorizer, item) {
|
|
52
58
|
try {
|
|
53
|
-
console.debug('
|
|
54
|
-
const response = await
|
|
59
|
+
console.debug('POST item', { url, item });
|
|
60
|
+
const response = await fetchWithAuthorization(url, authorizer, {
|
|
55
61
|
method: 'POST',
|
|
56
62
|
headers: defaultMutationRequestHeaders(),
|
|
57
63
|
body: item ? JSON.stringify(item) : undefined,
|
|
58
|
-
})
|
|
64
|
+
});
|
|
59
65
|
if (response.ok) {
|
|
60
66
|
return await response.json();
|
|
61
67
|
}
|
|
@@ -65,13 +71,13 @@ export async function insertItemWithAuthorization(url, authorization, item) {
|
|
|
65
71
|
throw toHttpError(error);
|
|
66
72
|
}
|
|
67
73
|
}
|
|
68
|
-
export async function deleteItemWithAuthorization(url,
|
|
74
|
+
export async function deleteItemWithAuthorization(url, authorizer) {
|
|
69
75
|
try {
|
|
70
76
|
console.debug('Delete item', { url });
|
|
71
|
-
const response = await
|
|
77
|
+
const response = await fetchWithAuthorization(url, authorizer, {
|
|
72
78
|
method: 'DELETE',
|
|
73
79
|
headers: defaultRequestHeaders(),
|
|
74
|
-
})
|
|
80
|
+
});
|
|
75
81
|
if (response.ok) {
|
|
76
82
|
return (await jsonBody(response));
|
|
77
83
|
}
|
|
@@ -81,3 +87,19 @@ export async function deleteItemWithAuthorization(url, authorization) {
|
|
|
81
87
|
throw toHttpError(error);
|
|
82
88
|
}
|
|
83
89
|
}
|
|
90
|
+
async function fetchWithAuthorization(url, authorizer, request) {
|
|
91
|
+
const response = await fetch(url, await authorizer(cloneRequestInit(request)));
|
|
92
|
+
if (!isAuthorizationResponse(response)) {
|
|
93
|
+
return response;
|
|
94
|
+
}
|
|
95
|
+
return fetch(url, await authorizer(cloneRequestInit(request), { refresh: true }));
|
|
96
|
+
}
|
|
97
|
+
function isAuthorizationResponse(response) {
|
|
98
|
+
return [401, 403].includes(response.status);
|
|
99
|
+
}
|
|
100
|
+
function cloneRequestInit(request) {
|
|
101
|
+
return {
|
|
102
|
+
...request,
|
|
103
|
+
headers: new Headers(request.headers),
|
|
104
|
+
};
|
|
105
|
+
}
|