@webiny/api-core 0.0.0-unstable.3c5210ad37
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/ApiCoreFeature.d.ts +2 -0
- package/ApiCoreFeature.js +29 -0
- package/ApiCoreFeature.js.map +1 -0
- package/LICENSE +21 -0
- package/README.md +11 -0
- package/createApiCore.d.ts +7 -0
- package/createApiCore.js +17 -0
- package/createApiCore.js.map +1 -0
- package/domain/identity/SystemIdentityValue.d.ts +7 -0
- package/domain/identity/SystemIdentityValue.js +11 -0
- package/domain/identity/SystemIdentityValue.js.map +1 -0
- package/domain/security/ApiToken.d.ts +7 -0
- package/domain/security/ApiToken.js +14 -0
- package/domain/security/ApiToken.js.map +1 -0
- package/domain/tenancy/RootTenantValue.d.ts +4 -0
- package/domain/tenancy/RootTenantValue.js +11 -0
- package/domain/tenancy/RootTenantValue.js.map +1 -0
- package/domain/tenancy/errors.d.ts +0 -0
- package/domain/tenancy/errors.js +3 -0
- package/domain/tenancy/errors.js.map +1 -0
- package/exports/api/build-params.d.ts +1 -0
- package/exports/api/build-params.js +3 -0
- package/exports/api/build-params.js.map +1 -0
- package/exports/api/event-publisher.d.ts +1 -0
- package/exports/api/event-publisher.js +3 -0
- package/exports/api/event-publisher.js.map +1 -0
- package/exports/api/graphql.d.ts +1 -0
- package/exports/api/graphql.js +3 -0
- package/exports/api/graphql.js.map +1 -0
- package/exports/api/key-value-store.d.ts +1 -0
- package/exports/api/key-value-store.js +3 -0
- package/exports/api/key-value-store.js.map +1 -0
- package/exports/api/logger.d.ts +1 -0
- package/exports/api/logger.js +3 -0
- package/exports/api/logger.js.map +1 -0
- package/exports/api/security/api-key.d.ts +7 -0
- package/exports/api/security/api-key.js +9 -0
- package/exports/api/security/api-key.js.map +1 -0
- package/exports/api/security/authentication.d.ts +1 -0
- package/exports/api/security/authentication.js +3 -0
- package/exports/api/security/authentication.js.map +1 -0
- package/exports/api/security/role.d.ts +5 -0
- package/exports/api/security/role.js +7 -0
- package/exports/api/security/role.js.map +1 -0
- package/exports/api/security/user.d.ts +6 -0
- package/exports/api/security/user.js +8 -0
- package/exports/api/security/user.js.map +1 -0
- package/exports/api/security.d.ts +6 -0
- package/exports/api/security.js +8 -0
- package/exports/api/security.js.map +1 -0
- package/exports/api/system.d.ts +1 -0
- package/exports/api/system.js +3 -0
- package/exports/api/system.js.map +1 -0
- package/exports/api/tasks.d.ts +2 -0
- package/exports/api/tasks.js +4 -0
- package/exports/api/tasks.js.map +1 -0
- package/exports/api/tenancy.d.ts +6 -0
- package/exports/api/tenancy.js +8 -0
- package/exports/api/tenancy.js.map +1 -0
- package/features/buildParams/BuildParams.d.ts +9 -0
- package/features/buildParams/BuildParams.js +18 -0
- package/features/buildParams/BuildParams.js.map +1 -0
- package/features/buildParams/abstractions.d.ts +15 -0
- package/features/buildParams/abstractions.js +5 -0
- package/features/buildParams/abstractions.js.map +1 -0
- package/features/buildParams/feature.d.ts +1 -0
- package/features/buildParams/feature.js +10 -0
- package/features/buildParams/feature.js.map +1 -0
- package/features/buildParams/index.d.ts +1 -0
- package/features/buildParams/index.js +3 -0
- package/features/buildParams/index.js.map +1 -0
- package/features/eventPublisher/EventPublisher.d.ts +7 -0
- package/features/eventPublisher/EventPublisher.js +19 -0
- package/features/eventPublisher/EventPublisher.js.map +1 -0
- package/features/eventPublisher/__tests__/EventPublisher.test.d.ts +92 -0
- package/features/eventPublisher/__tests__/EventPublisher.test.js +463 -0
- package/features/eventPublisher/__tests__/EventPublisher.test.js.map +1 -0
- package/features/eventPublisher/abstractions.d.ts +18 -0
- package/features/eventPublisher/abstractions.js +14 -0
- package/features/eventPublisher/abstractions.js.map +1 -0
- package/features/eventPublisher/feature.d.ts +1 -0
- package/features/eventPublisher/feature.js +11 -0
- package/features/eventPublisher/feature.js.map +1 -0
- package/features/eventPublisher/index.d.ts +1 -0
- package/features/eventPublisher/index.js +3 -0
- package/features/eventPublisher/index.js.map +1 -0
- package/features/featureFlags/FeatureFlags.d.ts +12 -0
- package/features/featureFlags/FeatureFlags.js +18 -0
- package/features/featureFlags/FeatureFlags.js.map +1 -0
- package/features/featureFlags/abstractions.d.ts +8 -0
- package/features/featureFlags/abstractions.js +4 -0
- package/features/featureFlags/abstractions.js.map +1 -0
- package/features/featureFlags/feature.d.ts +1 -0
- package/features/featureFlags/feature.js +10 -0
- package/features/featureFlags/feature.js.map +1 -0
- package/features/keyValueStore/GlobalKeyValueStore.d.ts +12 -0
- package/features/keyValueStore/GlobalKeyValueStore.js +30 -0
- package/features/keyValueStore/GlobalKeyValueStore.js.map +1 -0
- package/features/keyValueStore/KeyValueStore.d.ts +16 -0
- package/features/keyValueStore/KeyValueStore.js +33 -0
- package/features/keyValueStore/KeyValueStore.js.map +1 -0
- package/features/keyValueStore/KeyValueStoreRepository.d.ts +17 -0
- package/features/keyValueStore/KeyValueStoreRepository.js +50 -0
- package/features/keyValueStore/KeyValueStoreRepository.js.map +1 -0
- package/features/keyValueStore/abstractions.d.ts +58 -0
- package/features/keyValueStore/abstractions.js +19 -0
- package/features/keyValueStore/abstractions.js.map +1 -0
- package/features/keyValueStore/errors.d.ts +11 -0
- package/features/keyValueStore/errors.js +22 -0
- package/features/keyValueStore/errors.js.map +1 -0
- package/features/keyValueStore/feature.d.ts +1 -0
- package/features/keyValueStore/feature.js +17 -0
- package/features/keyValueStore/feature.js.map +1 -0
- package/features/keyValueStore/index.d.ts +2 -0
- package/features/keyValueStore/index.js +4 -0
- package/features/keyValueStore/index.js.map +1 -0
- package/features/logger/LoggerService.d.ts +14 -0
- package/features/logger/LoggerService.js +52 -0
- package/features/logger/LoggerService.js.map +1 -0
- package/features/logger/abstractions.d.ts +13 -0
- package/features/logger/abstractions.js +4 -0
- package/features/logger/abstractions.js.map +1 -0
- package/features/logger/feature.d.ts +1 -0
- package/features/logger/feature.js +10 -0
- package/features/logger/feature.js.map +1 -0
- package/features/logger/index.d.ts +1 -0
- package/features/logger/index.js +3 -0
- package/features/logger/index.js.map +1 -0
- package/features/security/IdentityContext/AnonymousIdentity.d.ts +9 -0
- package/features/security/IdentityContext/AnonymousIdentity.js +20 -0
- package/features/security/IdentityContext/AnonymousIdentity.js.map +1 -0
- package/features/security/IdentityContext/AuthenticatedIdentity.d.ts +7 -0
- package/features/security/IdentityContext/AuthenticatedIdentity.js +12 -0
- package/features/security/IdentityContext/AuthenticatedIdentity.js.map +1 -0
- package/features/security/IdentityContext/Identity.d.ts +79 -0
- package/features/security/IdentityContext/Identity.js +76 -0
- package/features/security/IdentityContext/Identity.js.map +1 -0
- package/features/security/IdentityContext/IdentityContext.d.ts +23 -0
- package/features/security/IdentityContext/IdentityContext.js +125 -0
- package/features/security/IdentityContext/IdentityContext.js.map +1 -0
- package/features/security/IdentityContext/abstractions.d.ts +17 -0
- package/features/security/IdentityContext/abstractions.js +4 -0
- package/features/security/IdentityContext/abstractions.js.map +1 -0
- package/features/security/IdentityContext/feature.d.ts +1 -0
- package/features/security/IdentityContext/feature.js +10 -0
- package/features/security/IdentityContext/feature.js.map +1 -0
- package/features/security/IdentityContext/index.d.ts +6 -0
- package/features/security/IdentityContext/index.js +8 -0
- package/features/security/IdentityContext/index.js.map +1 -0
- package/features/security/SecurityFeature.d.ts +9 -0
- package/features/security/SecurityFeature.js +33 -0
- package/features/security/SecurityFeature.js.map +1 -0
- package/features/security/apiKeys/CreateApiKey/CreateApiKeyUseCase.d.ts +17 -0
- package/features/security/apiKeys/CreateApiKey/CreateApiKeyUseCase.js +63 -0
- package/features/security/apiKeys/CreateApiKey/CreateApiKeyUseCase.js.map +1 -0
- package/features/security/apiKeys/CreateApiKey/abstractions.d.ts +26 -0
- package/features/security/apiKeys/CreateApiKey/abstractions.js +4 -0
- package/features/security/apiKeys/CreateApiKey/abstractions.js.map +1 -0
- package/features/security/apiKeys/CreateApiKey/events.d.ts +21 -0
- package/features/security/apiKeys/CreateApiKey/events.js +18 -0
- package/features/security/apiKeys/CreateApiKey/events.js.map +1 -0
- package/features/security/apiKeys/CreateApiKey/feature.d.ts +1 -0
- package/features/security/apiKeys/CreateApiKey/feature.js +10 -0
- package/features/security/apiKeys/CreateApiKey/feature.js.map +1 -0
- package/features/security/apiKeys/CreateApiKey/index.d.ts +2 -0
- package/features/security/apiKeys/CreateApiKey/index.js +4 -0
- package/features/security/apiKeys/CreateApiKey/index.js.map +1 -0
- package/features/security/apiKeys/DeleteApiKey/DeleteApiKeyUseCase.d.ts +16 -0
- package/features/security/apiKeys/DeleteApiKey/DeleteApiKeyUseCase.js +42 -0
- package/features/security/apiKeys/DeleteApiKey/DeleteApiKeyUseCase.js.map +1 -0
- package/features/security/apiKeys/DeleteApiKey/abstractions.d.ts +23 -0
- package/features/security/apiKeys/DeleteApiKey/abstractions.js +4 -0
- package/features/security/apiKeys/DeleteApiKey/abstractions.js.map +1 -0
- package/features/security/apiKeys/DeleteApiKey/events.d.ts +21 -0
- package/features/security/apiKeys/DeleteApiKey/events.js +18 -0
- package/features/security/apiKeys/DeleteApiKey/events.js.map +1 -0
- package/features/security/apiKeys/DeleteApiKey/feature.d.ts +1 -0
- package/features/security/apiKeys/DeleteApiKey/feature.js +10 -0
- package/features/security/apiKeys/DeleteApiKey/feature.js.map +1 -0
- package/features/security/apiKeys/DeleteApiKey/index.d.ts +2 -0
- package/features/security/apiKeys/DeleteApiKey/index.js +4 -0
- package/features/security/apiKeys/DeleteApiKey/index.js.map +1 -0
- package/features/security/apiKeys/GetApiKey/GetApiKeyUseCase.d.ts +15 -0
- package/features/security/apiKeys/GetApiKey/GetApiKeyUseCase.js +24 -0
- package/features/security/apiKeys/GetApiKey/GetApiKeyUseCase.js.map +1 -0
- package/features/security/apiKeys/GetApiKey/abstractions.d.ts +17 -0
- package/features/security/apiKeys/GetApiKey/abstractions.js +4 -0
- package/features/security/apiKeys/GetApiKey/abstractions.js.map +1 -0
- package/features/security/apiKeys/GetApiKey/feature.d.ts +1 -0
- package/features/security/apiKeys/GetApiKey/feature.js +10 -0
- package/features/security/apiKeys/GetApiKey/feature.js.map +1 -0
- package/features/security/apiKeys/GetApiKey/index.d.ts +1 -0
- package/features/security/apiKeys/GetApiKey/index.js +3 -0
- package/features/security/apiKeys/GetApiKey/index.js.map +1 -0
- package/features/security/apiKeys/GetApiKeyBySlug/GetApiKeyBySlugUseCase.d.ts +13 -0
- package/features/security/apiKeys/GetApiKeyBySlug/GetApiKeyBySlugUseCase.js +16 -0
- package/features/security/apiKeys/GetApiKeyBySlug/GetApiKeyBySlugUseCase.js.map +1 -0
- package/features/security/apiKeys/GetApiKeyBySlug/abstractions.d.ts +15 -0
- package/features/security/apiKeys/GetApiKeyBySlug/abstractions.js +4 -0
- package/features/security/apiKeys/GetApiKeyBySlug/abstractions.js.map +1 -0
- package/features/security/apiKeys/GetApiKeyBySlug/feature.d.ts +1 -0
- package/features/security/apiKeys/GetApiKeyBySlug/feature.js +10 -0
- package/features/security/apiKeys/GetApiKeyBySlug/feature.js.map +1 -0
- package/features/security/apiKeys/GetApiKeyBySlug/index.d.ts +1 -0
- package/features/security/apiKeys/GetApiKeyBySlug/index.js +3 -0
- package/features/security/apiKeys/GetApiKeyBySlug/index.js.map +1 -0
- package/features/security/apiKeys/GetApiKeyByToken/GetApiKeyByTokenUseCase.d.ts +13 -0
- package/features/security/apiKeys/GetApiKeyByToken/GetApiKeyByTokenUseCase.js +16 -0
- package/features/security/apiKeys/GetApiKeyByToken/GetApiKeyByTokenUseCase.js.map +1 -0
- package/features/security/apiKeys/GetApiKeyByToken/abstractions.d.ts +15 -0
- package/features/security/apiKeys/GetApiKeyByToken/abstractions.js +4 -0
- package/features/security/apiKeys/GetApiKeyByToken/abstractions.js.map +1 -0
- package/features/security/apiKeys/GetApiKeyByToken/feature.d.ts +1 -0
- package/features/security/apiKeys/GetApiKeyByToken/feature.js +10 -0
- package/features/security/apiKeys/GetApiKeyByToken/feature.js.map +1 -0
- package/features/security/apiKeys/GetApiKeyByToken/index.d.ts +1 -0
- package/features/security/apiKeys/GetApiKeyByToken/index.js +3 -0
- package/features/security/apiKeys/GetApiKeyByToken/index.js.map +1 -0
- package/features/security/apiKeys/ListApiKeys/ListApiKeysUseCase.d.ts +15 -0
- package/features/security/apiKeys/ListApiKeys/ListApiKeysUseCase.js +29 -0
- package/features/security/apiKeys/ListApiKeys/ListApiKeysUseCase.js.map +1 -0
- package/features/security/apiKeys/ListApiKeys/abstractions.d.ts +19 -0
- package/features/security/apiKeys/ListApiKeys/abstractions.js +4 -0
- package/features/security/apiKeys/ListApiKeys/abstractions.js.map +1 -0
- package/features/security/apiKeys/ListApiKeys/feature.d.ts +1 -0
- package/features/security/apiKeys/ListApiKeys/feature.js +10 -0
- package/features/security/apiKeys/ListApiKeys/feature.js.map +1 -0
- package/features/security/apiKeys/ListApiKeys/index.d.ts +1 -0
- package/features/security/apiKeys/ListApiKeys/index.js +3 -0
- package/features/security/apiKeys/ListApiKeys/index.js.map +1 -0
- package/features/security/apiKeys/UpdateApiKey/UpdateApiKeyUseCase.d.ts +17 -0
- package/features/security/apiKeys/UpdateApiKey/UpdateApiKeyUseCase.js +55 -0
- package/features/security/apiKeys/UpdateApiKey/UpdateApiKeyUseCase.js.map +1 -0
- package/features/security/apiKeys/UpdateApiKey/abstractions.d.ts +28 -0
- package/features/security/apiKeys/UpdateApiKey/abstractions.js +4 -0
- package/features/security/apiKeys/UpdateApiKey/abstractions.js.map +1 -0
- package/features/security/apiKeys/UpdateApiKey/events.d.ts +21 -0
- package/features/security/apiKeys/UpdateApiKey/events.js +18 -0
- package/features/security/apiKeys/UpdateApiKey/events.js.map +1 -0
- package/features/security/apiKeys/UpdateApiKey/feature.d.ts +1 -0
- package/features/security/apiKeys/UpdateApiKey/feature.js +10 -0
- package/features/security/apiKeys/UpdateApiKey/feature.js.map +1 -0
- package/features/security/apiKeys/UpdateApiKey/index.d.ts +2 -0
- package/features/security/apiKeys/UpdateApiKey/index.js +4 -0
- package/features/security/apiKeys/UpdateApiKey/index.js.map +1 -0
- package/features/security/apiKeys/feature.d.ts +1 -0
- package/features/security/apiKeys/feature.js +29 -0
- package/features/security/apiKeys/feature.js.map +1 -0
- package/features/security/apiKeys/shared/ApiKeyProvider.d.ts +15 -0
- package/features/security/apiKeys/shared/ApiKeyProvider.js +51 -0
- package/features/security/apiKeys/shared/ApiKeyProvider.js.map +1 -0
- package/features/security/apiKeys/shared/ApiKeysRepository.d.ts +21 -0
- package/features/security/apiKeys/shared/ApiKeysRepository.js +153 -0
- package/features/security/apiKeys/shared/ApiKeysRepository.js.map +1 -0
- package/features/security/apiKeys/shared/abstractions.d.ts +42 -0
- package/features/security/apiKeys/shared/abstractions.js +6 -0
- package/features/security/apiKeys/shared/abstractions.js.map +1 -0
- package/features/security/apiKeys/shared/errors.d.ts +24 -0
- package/features/security/apiKeys/shared/errors.js +39 -0
- package/features/security/apiKeys/shared/errors.js.map +1 -0
- package/features/security/apiKeys/shared/generateToken.d.ts +7 -0
- package/features/security/apiKeys/shared/generateToken.js +19 -0
- package/features/security/apiKeys/shared/generateToken.js.map +1 -0
- package/features/security/apiKeys/shared/schemas.d.ts +91 -0
- package/features/security/apiKeys/shared/schemas.js +29 -0
- package/features/security/apiKeys/shared/schemas.js.map +1 -0
- package/features/security/apiKeys/shared/types.d.ts +25 -0
- package/features/security/apiKeys/shared/types.js +3 -0
- package/features/security/apiKeys/shared/types.js.map +1 -0
- package/features/security/authentication/AuthenticationContext/AuthenticationContext.d.ts +15 -0
- package/features/security/authentication/AuthenticationContext/AuthenticationContext.js +51 -0
- package/features/security/authentication/AuthenticationContext/AuthenticationContext.js.map +1 -0
- package/features/security/authentication/AuthenticationContext/SetIdTokenCookie.d.ts +11 -0
- package/features/security/authentication/AuthenticationContext/SetIdTokenCookie.js +52 -0
- package/features/security/authentication/AuthenticationContext/SetIdTokenCookie.js.map +1 -0
- package/features/security/authentication/AuthenticationContext/abstractions.d.ts +9 -0
- package/features/security/authentication/AuthenticationContext/abstractions.js +4 -0
- package/features/security/authentication/AuthenticationContext/abstractions.js.map +1 -0
- package/features/security/authentication/AuthenticationContext/errors.d.ts +64 -0
- package/features/security/authentication/AuthenticationContext/errors.js +130 -0
- package/features/security/authentication/AuthenticationContext/errors.js.map +1 -0
- package/features/security/authentication/AuthenticationContext/events.d.ts +28 -0
- package/features/security/authentication/AuthenticationContext/events.js +18 -0
- package/features/security/authentication/AuthenticationContext/events.js.map +1 -0
- package/features/security/authentication/AuthenticationContext/feature.d.ts +1 -0
- package/features/security/authentication/AuthenticationContext/feature.js +10 -0
- package/features/security/authentication/AuthenticationContext/feature.js.map +1 -0
- package/features/security/authentication/AuthenticationContext/index.d.ts +5 -0
- package/features/security/authentication/AuthenticationContext/index.js +6 -0
- package/features/security/authentication/AuthenticationContext/index.js.map +1 -0
- package/features/security/authentication/Authenticator/abstractions.d.ts +8 -0
- package/features/security/authentication/Authenticator/abstractions.js +4 -0
- package/features/security/authentication/Authenticator/abstractions.js.map +1 -0
- package/features/security/authentication/Authenticator/index.d.ts +1 -0
- package/features/security/authentication/Authenticator/index.js +3 -0
- package/features/security/authentication/Authenticator/index.js.map +1 -0
- package/features/security/authorization/AuthorizationContext/AuthorizationContext.d.ts +16 -0
- package/features/security/authorization/AuthorizationContext/AuthorizationContext.js +55 -0
- package/features/security/authorization/AuthorizationContext/AuthorizationContext.js.map +1 -0
- package/features/security/authorization/AuthorizationContext/abstractions.d.ts +21 -0
- package/features/security/authorization/AuthorizationContext/abstractions.js +5 -0
- package/features/security/authorization/AuthorizationContext/abstractions.js.map +1 -0
- package/features/security/authorization/AuthorizationContext/feature.d.ts +1 -0
- package/features/security/authorization/AuthorizationContext/feature.js +15 -0
- package/features/security/authorization/AuthorizationContext/feature.js.map +1 -0
- package/features/security/authorization/AuthorizationContext/index.d.ts +4 -0
- package/features/security/authorization/AuthorizationContext/index.js +5 -0
- package/features/security/authorization/AuthorizationContext/index.js.map +1 -0
- package/features/security/authorization/Authorizer/abstractions.d.ts +9 -0
- package/features/security/authorization/Authorizer/abstractions.js +4 -0
- package/features/security/authorization/Authorizer/abstractions.js.map +1 -0
- package/features/security/authorization/Authorizer/index.d.ts +1 -0
- package/features/security/authorization/Authorizer/index.js +3 -0
- package/features/security/authorization/Authorizer/index.js.map +1 -0
- package/features/security/authorization/GroupsTeamsAuthorizer/GetPermissionsFromIdentity.d.ts +23 -0
- package/features/security/authorization/GroupsTeamsAuthorizer/GetPermissionsFromIdentity.js +80 -0
- package/features/security/authorization/GroupsTeamsAuthorizer/GetPermissionsFromIdentity.js.map +1 -0
- package/features/security/authorization/GroupsTeamsAuthorizer/RolesTeamsAuthorizer.d.ts +17 -0
- package/features/security/authorization/GroupsTeamsAuthorizer/RolesTeamsAuthorizer.js +51 -0
- package/features/security/authorization/GroupsTeamsAuthorizer/RolesTeamsAuthorizer.js.map +1 -0
- package/features/security/authorization/GroupsTeamsAuthorizer/abstractions.d.ts +13 -0
- package/features/security/authorization/GroupsTeamsAuthorizer/abstractions.js +4 -0
- package/features/security/authorization/GroupsTeamsAuthorizer/abstractions.js.map +1 -0
- package/features/security/authorization/GroupsTeamsAuthorizer/feature.d.ts +1 -0
- package/features/security/authorization/GroupsTeamsAuthorizer/feature.js +12 -0
- package/features/security/authorization/GroupsTeamsAuthorizer/feature.js.map +1 -0
- package/features/security/login/abstractions.d.ts +15 -0
- package/features/security/login/abstractions.js +11 -0
- package/features/security/login/abstractions.js.map +1 -0
- package/features/security/login/index.d.ts +1 -0
- package/features/security/login/index.js +3 -0
- package/features/security/login/index.js.map +1 -0
- package/features/security/permissions/createPermissions.d.ts +8 -0
- package/features/security/permissions/createPermissions.js +240 -0
- package/features/security/permissions/createPermissions.js.map +1 -0
- package/features/security/permissions/index.d.ts +2 -0
- package/features/security/permissions/index.js +3 -0
- package/features/security/permissions/index.js.map +1 -0
- package/features/security/permissions/types.d.ts +137 -0
- package/features/security/permissions/types.js +3 -0
- package/features/security/permissions/types.js.map +1 -0
- package/features/security/roles/CreateRole/CreateRoleUseCase.d.ts +17 -0
- package/features/security/roles/CreateRole/CreateRoleUseCase.js +76 -0
- package/features/security/roles/CreateRole/CreateRoleUseCase.js.map +1 -0
- package/features/security/roles/CreateRole/abstractions.d.ts +27 -0
- package/features/security/roles/CreateRole/abstractions.js +4 -0
- package/features/security/roles/CreateRole/abstractions.js.map +1 -0
- package/features/security/roles/CreateRole/events.d.ts +21 -0
- package/features/security/roles/CreateRole/events.js +18 -0
- package/features/security/roles/CreateRole/events.js.map +1 -0
- package/features/security/roles/CreateRole/feature.d.ts +1 -0
- package/features/security/roles/CreateRole/feature.js +10 -0
- package/features/security/roles/CreateRole/feature.js.map +1 -0
- package/features/security/roles/CreateRole/index.d.ts +2 -0
- package/features/security/roles/CreateRole/index.js +4 -0
- package/features/security/roles/CreateRole/index.js.map +1 -0
- package/features/security/roles/CreateRole/schema.d.ts +27 -0
- package/features/security/roles/CreateRole/schema.js +11 -0
- package/features/security/roles/CreateRole/schema.js.map +1 -0
- package/features/security/roles/DeleteRole/DeleteRoleUseCase.d.ts +14 -0
- package/features/security/roles/DeleteRole/DeleteRoleUseCase.js +51 -0
- package/features/security/roles/DeleteRole/DeleteRoleUseCase.js.map +1 -0
- package/features/security/roles/DeleteRole/abstractions.d.ts +24 -0
- package/features/security/roles/DeleteRole/abstractions.js +4 -0
- package/features/security/roles/DeleteRole/abstractions.js.map +1 -0
- package/features/security/roles/DeleteRole/events.d.ts +21 -0
- package/features/security/roles/DeleteRole/events.js +18 -0
- package/features/security/roles/DeleteRole/events.js.map +1 -0
- package/features/security/roles/DeleteRole/feature.d.ts +1 -0
- package/features/security/roles/DeleteRole/feature.js +10 -0
- package/features/security/roles/DeleteRole/feature.js.map +1 -0
- package/features/security/roles/DeleteRole/index.d.ts +2 -0
- package/features/security/roles/DeleteRole/index.js +4 -0
- package/features/security/roles/DeleteRole/index.js.map +1 -0
- package/features/security/roles/GetRole/GetRoleUseCase.d.ts +12 -0
- package/features/security/roles/GetRole/GetRoleUseCase.js +26 -0
- package/features/security/roles/GetRole/GetRoleUseCase.js.map +1 -0
- package/features/security/roles/GetRole/abstractions.d.ts +17 -0
- package/features/security/roles/GetRole/abstractions.js +4 -0
- package/features/security/roles/GetRole/abstractions.js.map +1 -0
- package/features/security/roles/GetRole/feature.d.ts +1 -0
- package/features/security/roles/GetRole/feature.js +10 -0
- package/features/security/roles/GetRole/feature.js.map +1 -0
- package/features/security/roles/GetRole/index.d.ts +1 -0
- package/features/security/roles/GetRole/index.js +3 -0
- package/features/security/roles/GetRole/index.js.map +1 -0
- package/features/security/roles/Installer/RolesInstaller.d.ts +18 -0
- package/features/security/roles/Installer/RolesInstaller.js +47 -0
- package/features/security/roles/Installer/RolesInstaller.js.map +1 -0
- package/features/security/roles/ListRoles/ListRolesUseCase.d.ts +13 -0
- package/features/security/roles/ListRoles/ListRolesUseCase.js +26 -0
- package/features/security/roles/ListRoles/ListRolesUseCase.js.map +1 -0
- package/features/security/roles/ListRoles/abstractions.d.ts +17 -0
- package/features/security/roles/ListRoles/abstractions.js +4 -0
- package/features/security/roles/ListRoles/abstractions.js.map +1 -0
- package/features/security/roles/ListRoles/feature.d.ts +1 -0
- package/features/security/roles/ListRoles/feature.js +10 -0
- package/features/security/roles/ListRoles/feature.js.map +1 -0
- package/features/security/roles/ListRoles/index.d.ts +1 -0
- package/features/security/roles/ListRoles/index.js +3 -0
- package/features/security/roles/ListRoles/index.js.map +1 -0
- package/features/security/roles/UpdateRole/UpdateRoleUseCase.d.ts +17 -0
- package/features/security/roles/UpdateRole/UpdateRoleUseCase.js +62 -0
- package/features/security/roles/UpdateRole/UpdateRoleUseCase.js.map +1 -0
- package/features/security/roles/UpdateRole/abstractions.d.ts +29 -0
- package/features/security/roles/UpdateRole/abstractions.js +4 -0
- package/features/security/roles/UpdateRole/abstractions.js.map +1 -0
- package/features/security/roles/UpdateRole/events.d.ts +21 -0
- package/features/security/roles/UpdateRole/events.js +18 -0
- package/features/security/roles/UpdateRole/events.js.map +1 -0
- package/features/security/roles/UpdateRole/feature.d.ts +1 -0
- package/features/security/roles/UpdateRole/feature.js +10 -0
- package/features/security/roles/UpdateRole/feature.js.map +1 -0
- package/features/security/roles/UpdateRole/index.d.ts +2 -0
- package/features/security/roles/UpdateRole/index.js +4 -0
- package/features/security/roles/UpdateRole/index.js.map +1 -0
- package/features/security/roles/UpdateRole/schema.d.ts +24 -0
- package/features/security/roles/UpdateRole/schema.js +10 -0
- package/features/security/roles/UpdateRole/schema.js.map +1 -0
- package/features/security/roles/feature.d.ts +1 -0
- package/features/security/roles/feature.js +29 -0
- package/features/security/roles/feature.js.map +1 -0
- package/features/security/roles/shared/RolesRepository.d.ts +18 -0
- package/features/security/roles/shared/RolesRepository.js +130 -0
- package/features/security/roles/shared/RolesRepository.js.map +1 -0
- package/features/security/roles/shared/abstractions.d.ts +20 -0
- package/features/security/roles/shared/abstractions.js +4 -0
- package/features/security/roles/shared/abstractions.js.map +1 -0
- package/features/security/roles/shared/decorators/ListCache.d.ts +24 -0
- package/features/security/roles/shared/decorators/ListCache.js +26 -0
- package/features/security/roles/shared/decorators/ListCache.js.map +1 -0
- package/features/security/roles/shared/decorators/RolesRepositoryCachingDecorator.d.ts +17 -0
- package/features/security/roles/shared/decorators/RolesRepositoryCachingDecorator.js +76 -0
- package/features/security/roles/shared/decorators/RolesRepositoryCachingDecorator.js.map +1 -0
- package/features/security/roles/shared/errors.d.ts +39 -0
- package/features/security/roles/shared/errors.js +66 -0
- package/features/security/roles/shared/errors.js.map +1 -0
- package/features/security/roles/shared/types.d.ts +29 -0
- package/features/security/roles/shared/types.js +3 -0
- package/features/security/roles/shared/types.js.map +1 -0
- package/features/security/shared/abstractions.d.ts +31 -0
- package/features/security/shared/abstractions.js +22 -0
- package/features/security/shared/abstractions.js.map +1 -0
- package/features/security/shared/abstractions.ts.bak +52 -0
- package/features/security/shared/errors.d.ts +10 -0
- package/features/security/shared/errors.js +12 -0
- package/features/security/shared/errors.js.map +1 -0
- package/features/security/shared/index.d.ts +2 -0
- package/features/security/shared/index.js +4 -0
- package/features/security/shared/index.js.map +1 -0
- package/features/security/teams/CreateTeam/CreateTeamUseCase.d.ts +16 -0
- package/features/security/teams/CreateTeam/CreateTeamUseCase.js +76 -0
- package/features/security/teams/CreateTeam/CreateTeamUseCase.js.map +1 -0
- package/features/security/teams/CreateTeam/abstractions.d.ts +27 -0
- package/features/security/teams/CreateTeam/abstractions.js +4 -0
- package/features/security/teams/CreateTeam/abstractions.js.map +1 -0
- package/features/security/teams/CreateTeam/events.d.ts +21 -0
- package/features/security/teams/CreateTeam/events.js +18 -0
- package/features/security/teams/CreateTeam/events.js.map +1 -0
- package/features/security/teams/CreateTeam/feature.d.ts +1 -0
- package/features/security/teams/CreateTeam/feature.js +10 -0
- package/features/security/teams/CreateTeam/feature.js.map +1 -0
- package/features/security/teams/CreateTeam/index.d.ts +2 -0
- package/features/security/teams/CreateTeam/index.js +4 -0
- package/features/security/teams/CreateTeam/index.js.map +1 -0
- package/features/security/teams/CreateTeam/schema.d.ts +17 -0
- package/features/security/teams/CreateTeam/schema.js +9 -0
- package/features/security/teams/CreateTeam/schema.js.map +1 -0
- package/features/security/teams/DeleteTeam/DeleteTeamUseCase.d.ts +13 -0
- package/features/security/teams/DeleteTeam/DeleteTeamUseCase.js +56 -0
- package/features/security/teams/DeleteTeam/DeleteTeamUseCase.js.map +1 -0
- package/features/security/teams/DeleteTeam/abstractions.d.ts +25 -0
- package/features/security/teams/DeleteTeam/abstractions.js +4 -0
- package/features/security/teams/DeleteTeam/abstractions.js.map +1 -0
- package/features/security/teams/DeleteTeam/events.d.ts +21 -0
- package/features/security/teams/DeleteTeam/events.js +18 -0
- package/features/security/teams/DeleteTeam/events.js.map +1 -0
- package/features/security/teams/DeleteTeam/feature.d.ts +1 -0
- package/features/security/teams/DeleteTeam/feature.js +10 -0
- package/features/security/teams/DeleteTeam/feature.js.map +1 -0
- package/features/security/teams/DeleteTeam/index.d.ts +3 -0
- package/features/security/teams/DeleteTeam/index.js +5 -0
- package/features/security/teams/DeleteTeam/index.js.map +1 -0
- package/features/security/teams/GetTeam/GetTeamUseCase.d.ts +15 -0
- package/features/security/teams/GetTeam/GetTeamUseCase.js +28 -0
- package/features/security/teams/GetTeam/GetTeamUseCase.js.map +1 -0
- package/features/security/teams/GetTeam/abstractions.d.ts +17 -0
- package/features/security/teams/GetTeam/abstractions.js +4 -0
- package/features/security/teams/GetTeam/abstractions.js.map +1 -0
- package/features/security/teams/GetTeam/feature.d.ts +1 -0
- package/features/security/teams/GetTeam/feature.js +10 -0
- package/features/security/teams/GetTeam/feature.js.map +1 -0
- package/features/security/teams/GetTeam/index.d.ts +1 -0
- package/features/security/teams/GetTeam/index.js +3 -0
- package/features/security/teams/GetTeam/index.js.map +1 -0
- package/features/security/teams/ListTeams/ListTeamsUseCase.d.ts +12 -0
- package/features/security/teams/ListTeams/ListTeamsUseCase.js +30 -0
- package/features/security/teams/ListTeams/ListTeamsUseCase.js.map +1 -0
- package/features/security/teams/ListTeams/abstractions.d.ts +17 -0
- package/features/security/teams/ListTeams/abstractions.js +4 -0
- package/features/security/teams/ListTeams/abstractions.js.map +1 -0
- package/features/security/teams/ListTeams/feature.d.ts +1 -0
- package/features/security/teams/ListTeams/feature.js +10 -0
- package/features/security/teams/ListTeams/feature.js.map +1 -0
- package/features/security/teams/ListTeams/index.d.ts +1 -0
- package/features/security/teams/ListTeams/index.js +3 -0
- package/features/security/teams/ListTeams/index.js.map +1 -0
- package/features/security/teams/UpdateTeam/UpdateTeamUseCase.d.ts +14 -0
- package/features/security/teams/UpdateTeam/UpdateTeamUseCase.js +69 -0
- package/features/security/teams/UpdateTeam/UpdateTeamUseCase.js.map +1 -0
- package/features/security/teams/UpdateTeam/abstractions.d.ts +30 -0
- package/features/security/teams/UpdateTeam/abstractions.js +4 -0
- package/features/security/teams/UpdateTeam/abstractions.js.map +1 -0
- package/features/security/teams/UpdateTeam/events.d.ts +21 -0
- package/features/security/teams/UpdateTeam/events.js +18 -0
- package/features/security/teams/UpdateTeam/events.js.map +1 -0
- package/features/security/teams/UpdateTeam/feature.d.ts +1 -0
- package/features/security/teams/UpdateTeam/feature.js +10 -0
- package/features/security/teams/UpdateTeam/feature.js.map +1 -0
- package/features/security/teams/UpdateTeam/index.d.ts +3 -0
- package/features/security/teams/UpdateTeam/index.js +5 -0
- package/features/security/teams/UpdateTeam/index.js.map +1 -0
- package/features/security/teams/UpdateTeam/schema.d.ts +14 -0
- package/features/security/teams/UpdateTeam/schema.js +8 -0
- package/features/security/teams/UpdateTeam/schema.js.map +1 -0
- package/features/security/teams/feature.d.ts +1 -0
- package/features/security/teams/feature.js +23 -0
- package/features/security/teams/feature.js.map +1 -0
- package/features/security/teams/shared/TeamsRepository.d.ts +18 -0
- package/features/security/teams/shared/TeamsRepository.js +133 -0
- package/features/security/teams/shared/TeamsRepository.js.map +1 -0
- package/features/security/teams/shared/abstractions.d.ts +20 -0
- package/features/security/teams/shared/abstractions.js +4 -0
- package/features/security/teams/shared/abstractions.js.map +1 -0
- package/features/security/teams/shared/errors.d.ts +47 -0
- package/features/security/teams/shared/errors.js +82 -0
- package/features/security/teams/shared/errors.js.map +1 -0
- package/features/security/teams/shared/types.d.ts +28 -0
- package/features/security/teams/shared/types.js +3 -0
- package/features/security/teams/shared/types.js.map +1 -0
- package/features/security/utils/AppPermissions.d.ts +27 -0
- package/features/security/utils/AppPermissions.js +99 -0
- package/features/security/utils/AppPermissions.js.map +1 -0
- package/features/security/utils/IdentityValue.d.ts +18 -0
- package/features/security/utils/IdentityValue.js +27 -0
- package/features/security/utils/IdentityValue.js.map +1 -0
- package/features/security/utils/filterOutCustomWbyAppsPermissions.d.ts +2 -0
- package/features/security/utils/filterOutCustomWbyAppsPermissions.js +29 -0
- package/features/security/utils/filterOutCustomWbyAppsPermissions.js.map +1 -0
- package/features/security/utils/getPermissionsFromRoles.d.ts +8 -0
- package/features/security/utils/getPermissionsFromRoles.js +12 -0
- package/features/security/utils/getPermissionsFromRoles.js.map +1 -0
- package/features/security/utils/isJwt.d.ts +1 -0
- package/features/security/utils/isJwt.js +3 -0
- package/features/security/utils/isJwt.js.map +1 -0
- package/features/security/utils/verifyJwtUsingJwk.d.ts +10 -0
- package/features/security/utils/verifyJwtUsingJwk.js +11 -0
- package/features/security/utils/verifyJwtUsingJwk.js.map +1 -0
- package/features/system/InstallSystem/InstallSystemUseCase.d.ts +24 -0
- package/features/system/InstallSystem/InstallSystemUseCase.js +61 -0
- package/features/system/InstallSystem/InstallSystemUseCase.js.map +1 -0
- package/features/system/InstallSystem/abstractions.d.ts +34 -0
- package/features/system/InstallSystem/abstractions.js +21 -0
- package/features/system/InstallSystem/abstractions.js.map +1 -0
- package/features/system/InstallSystem/errors.d.ts +16 -0
- package/features/system/InstallSystem/errors.js +21 -0
- package/features/system/InstallSystem/errors.js.map +1 -0
- package/features/system/InstallSystem/events.d.ts +5 -0
- package/features/system/InstallSystem/events.js +10 -0
- package/features/system/InstallSystem/events.js.map +1 -0
- package/features/system/InstallSystem/feature.d.ts +1 -0
- package/features/system/InstallSystem/feature.js +12 -0
- package/features/system/InstallSystem/feature.js.map +1 -0
- package/features/system/InstallSystem/index.d.ts +6 -0
- package/features/system/InstallSystem/index.js +7 -0
- package/features/system/InstallSystem/index.js.map +1 -0
- package/features/system/SystemFeature.d.ts +1 -0
- package/features/system/SystemFeature.js +10 -0
- package/features/system/SystemFeature.js.map +1 -0
- package/features/task/TaskController/abstractions.d.ts +13 -0
- package/features/task/TaskController/abstractions.js +12 -0
- package/features/task/TaskController/abstractions.js.map +1 -0
- package/features/task/TaskController/index.d.ts +1 -0
- package/features/task/TaskController/index.js +3 -0
- package/features/task/TaskController/index.js.map +1 -0
- package/features/task/TaskDefinition/abstractions.d.ts +131 -0
- package/features/task/TaskDefinition/abstractions.js +43 -0
- package/features/task/TaskDefinition/abstractions.js.map +1 -0
- package/features/task/TaskDefinition/index.d.ts +1 -0
- package/features/task/TaskDefinition/index.js +3 -0
- package/features/task/TaskDefinition/index.js.map +1 -0
- package/features/task/TaskService/abstractions.d.ts +74 -0
- package/features/task/TaskService/abstractions.js +16 -0
- package/features/task/TaskService/abstractions.js.map +1 -0
- package/features/task/TaskService/index.d.ts +1 -0
- package/features/task/TaskService/index.js +3 -0
- package/features/task/TaskService/index.js.map +1 -0
- package/features/tenancy/CreateTenant/CreateTenantGateway.d.ts +10 -0
- package/features/tenancy/CreateTenant/CreateTenantGateway.js +18 -0
- package/features/tenancy/CreateTenant/CreateTenantGateway.js.map +1 -0
- package/features/tenancy/CreateTenant/CreateTenantRepository.d.ts +12 -0
- package/features/tenancy/CreateTenant/CreateTenantRepository.js +22 -0
- package/features/tenancy/CreateTenant/CreateTenantRepository.js.map +1 -0
- package/features/tenancy/CreateTenant/CreateTenantUseCase.d.ts +14 -0
- package/features/tenancy/CreateTenant/CreateTenantUseCase.js +51 -0
- package/features/tenancy/CreateTenant/CreateTenantUseCase.js.map +1 -0
- package/features/tenancy/CreateTenant/abstractions.d.ts +55 -0
- package/features/tenancy/CreateTenant/abstractions.js +30 -0
- package/features/tenancy/CreateTenant/abstractions.js.map +1 -0
- package/features/tenancy/CreateTenant/decorators/CreateTenantWithWcpIncrement.d.ts +11 -0
- package/features/tenancy/CreateTenant/decorators/CreateTenantWithWcpIncrement.js +24 -0
- package/features/tenancy/CreateTenant/decorators/CreateTenantWithWcpIncrement.js.map +1 -0
- package/features/tenancy/CreateTenant/errors.d.ts +5 -0
- package/features/tenancy/CreateTenant/errors.js +12 -0
- package/features/tenancy/CreateTenant/errors.js.map +1 -0
- package/features/tenancy/CreateTenant/events.d.ts +18 -0
- package/features/tenancy/CreateTenant/events.js +16 -0
- package/features/tenancy/CreateTenant/events.js.map +1 -0
- package/features/tenancy/CreateTenant/feature.d.ts +1 -0
- package/features/tenancy/CreateTenant/feature.js +16 -0
- package/features/tenancy/CreateTenant/feature.js.map +1 -0
- package/features/tenancy/CreateTenant/index.d.ts +3 -0
- package/features/tenancy/CreateTenant/index.js +5 -0
- package/features/tenancy/CreateTenant/index.js.map +1 -0
- package/features/tenancy/DeleteTenant/DeleteTenantGateway.d.ts +8 -0
- package/features/tenancy/DeleteTenant/DeleteTenantGateway.js +18 -0
- package/features/tenancy/DeleteTenant/DeleteTenantGateway.js.map +1 -0
- package/features/tenancy/DeleteTenant/DeleteTenantRepository.d.ts +11 -0
- package/features/tenancy/DeleteTenant/DeleteTenantRepository.js +25 -0
- package/features/tenancy/DeleteTenant/DeleteTenantRepository.js.map +1 -0
- package/features/tenancy/DeleteTenant/DeleteTenantUseCase.d.ts +12 -0
- package/features/tenancy/DeleteTenant/DeleteTenantUseCase.js +35 -0
- package/features/tenancy/DeleteTenant/DeleteTenantUseCase.js.map +1 -0
- package/features/tenancy/DeleteTenant/abstractions.d.ts +33 -0
- package/features/tenancy/DeleteTenant/abstractions.js +8 -0
- package/features/tenancy/DeleteTenant/abstractions.js.map +1 -0
- package/features/tenancy/DeleteTenant/decorators/DeleteTenantWithWcpDecrement.d.ts +10 -0
- package/features/tenancy/DeleteTenant/decorators/DeleteTenantWithWcpDecrement.js +21 -0
- package/features/tenancy/DeleteTenant/decorators/DeleteTenantWithWcpDecrement.js.map +1 -0
- package/features/tenancy/DeleteTenant/events.d.ts +16 -0
- package/features/tenancy/DeleteTenant/events.js +16 -0
- package/features/tenancy/DeleteTenant/events.js.map +1 -0
- package/features/tenancy/DeleteTenant/feature.d.ts +1 -0
- package/features/tenancy/DeleteTenant/feature.js +16 -0
- package/features/tenancy/DeleteTenant/feature.js.map +1 -0
- package/features/tenancy/DeleteTenant/index.d.ts +3 -0
- package/features/tenancy/DeleteTenant/index.js +5 -0
- package/features/tenancy/DeleteTenant/index.js.map +1 -0
- package/features/tenancy/GetRootTenant/GetRootTenantUseCase.d.ts +8 -0
- package/features/tenancy/GetRootTenant/GetRootTenantUseCase.js +18 -0
- package/features/tenancy/GetRootTenant/GetRootTenantUseCase.js.map +1 -0
- package/features/tenancy/GetRootTenant/abstractions.d.ts +8 -0
- package/features/tenancy/GetRootTenant/abstractions.js +7 -0
- package/features/tenancy/GetRootTenant/abstractions.js.map +1 -0
- package/features/tenancy/GetRootTenant/feature.d.ts +1 -0
- package/features/tenancy/GetRootTenant/feature.js +10 -0
- package/features/tenancy/GetRootTenant/feature.js.map +1 -0
- package/features/tenancy/GetRootTenant/index.d.ts +1 -0
- package/features/tenancy/GetRootTenant/index.js +3 -0
- package/features/tenancy/GetRootTenant/index.js.map +1 -0
- package/features/tenancy/GetTenantById/GetTenantByIdGateway.d.ts +10 -0
- package/features/tenancy/GetTenantById/GetTenantByIdGateway.js +19 -0
- package/features/tenancy/GetTenantById/GetTenantByIdGateway.js.map +1 -0
- package/features/tenancy/GetTenantById/GetTenantByIdRepository.d.ts +12 -0
- package/features/tenancy/GetTenantById/GetTenantByIdRepository.js +28 -0
- package/features/tenancy/GetTenantById/GetTenantByIdRepository.js.map +1 -0
- package/features/tenancy/GetTenantById/GetTenantByIdUseCase.d.ts +9 -0
- package/features/tenancy/GetTenantById/GetTenantByIdUseCase.js +25 -0
- package/features/tenancy/GetTenantById/GetTenantByIdUseCase.js.map +1 -0
- package/features/tenancy/GetTenantById/abstractions.d.ts +31 -0
- package/features/tenancy/GetTenantById/abstractions.js +15 -0
- package/features/tenancy/GetTenantById/abstractions.js.map +1 -0
- package/features/tenancy/GetTenantById/feature.d.ts +1 -0
- package/features/tenancy/GetTenantById/feature.js +19 -0
- package/features/tenancy/GetTenantById/feature.js.map +1 -0
- package/features/tenancy/GetTenantById/index.d.ts +1 -0
- package/features/tenancy/GetTenantById/index.js +3 -0
- package/features/tenancy/GetTenantById/index.js.map +1 -0
- package/features/tenancy/InstallTenant/DependencyResolver.d.ts +6 -0
- package/features/tenancy/InstallTenant/DependencyResolver.js +73 -0
- package/features/tenancy/InstallTenant/DependencyResolver.js.map +1 -0
- package/features/tenancy/InstallTenant/InstallTenantUseCase.d.ts +20 -0
- package/features/tenancy/InstallTenant/InstallTenantUseCase.js +133 -0
- package/features/tenancy/InstallTenant/InstallTenantUseCase.js.map +1 -0
- package/features/tenancy/InstallTenant/abstractions.d.ts +66 -0
- package/features/tenancy/InstallTenant/abstractions.js +27 -0
- package/features/tenancy/InstallTenant/abstractions.js.map +1 -0
- package/features/tenancy/InstallTenant/errors.d.ts +19 -0
- package/features/tenancy/InstallTenant/errors.js +21 -0
- package/features/tenancy/InstallTenant/errors.js.map +1 -0
- package/features/tenancy/InstallTenant/events.d.ts +10 -0
- package/features/tenancy/InstallTenant/events.js +10 -0
- package/features/tenancy/InstallTenant/events.js.map +1 -0
- package/features/tenancy/InstallTenant/feature.d.ts +1 -0
- package/features/tenancy/InstallTenant/feature.js +10 -0
- package/features/tenancy/InstallTenant/feature.js.map +1 -0
- package/features/tenancy/InstallTenant/index.d.ts +5 -0
- package/features/tenancy/InstallTenant/index.js +7 -0
- package/features/tenancy/InstallTenant/index.js.map +1 -0
- package/features/tenancy/ListTenants/ListTenantsGateway.d.ts +10 -0
- package/features/tenancy/ListTenants/ListTenantsGateway.js +18 -0
- package/features/tenancy/ListTenants/ListTenantsGateway.js.map +1 -0
- package/features/tenancy/ListTenants/ListTenantsRepository.d.ts +10 -0
- package/features/tenancy/ListTenants/ListTenantsRepository.js +18 -0
- package/features/tenancy/ListTenants/ListTenantsRepository.js.map +1 -0
- package/features/tenancy/ListTenants/ListTenantsUseCase.d.ts +11 -0
- package/features/tenancy/ListTenants/ListTenantsUseCase.js +19 -0
- package/features/tenancy/ListTenants/ListTenantsUseCase.js.map +1 -0
- package/features/tenancy/ListTenants/abstractions.d.ts +23 -0
- package/features/tenancy/ListTenants/abstractions.js +15 -0
- package/features/tenancy/ListTenants/abstractions.js.map +1 -0
- package/features/tenancy/ListTenants/feature.d.ts +1 -0
- package/features/tenancy/ListTenants/feature.js +14 -0
- package/features/tenancy/ListTenants/feature.js.map +1 -0
- package/features/tenancy/ListTenants/index.d.ts +2 -0
- package/features/tenancy/ListTenants/index.js +4 -0
- package/features/tenancy/ListTenants/index.js.map +1 -0
- package/features/tenancy/TenancyFeature.d.ts +2 -0
- package/features/tenancy/TenancyFeature.js +40 -0
- package/features/tenancy/TenancyFeature.js.map +1 -0
- package/features/tenancy/TenantContext/TenantContext.d.ts +15 -0
- package/features/tenancy/TenantContext/TenantContext.js +61 -0
- package/features/tenancy/TenantContext/TenantContext.js.map +1 -0
- package/features/tenancy/TenantContext/abstractions.d.ts +12 -0
- package/features/tenancy/TenantContext/abstractions.js +4 -0
- package/features/tenancy/TenantContext/abstractions.js.map +1 -0
- package/features/tenancy/TenantContext/errors.d.ts +5 -0
- package/features/tenancy/TenantContext/errors.js +11 -0
- package/features/tenancy/TenantContext/errors.js.map +1 -0
- package/features/tenancy/TenantContext/feature.d.ts +1 -0
- package/features/tenancy/TenantContext/feature.js +10 -0
- package/features/tenancy/TenantContext/feature.js.map +1 -0
- package/features/tenancy/TenantContext/index.d.ts +1 -0
- package/features/tenancy/TenantContext/index.js +3 -0
- package/features/tenancy/TenantContext/index.js.map +1 -0
- package/features/tenancy/UpdateTenant/UpdateTenantGateway.d.ts +10 -0
- package/features/tenancy/UpdateTenant/UpdateTenantGateway.js +18 -0
- package/features/tenancy/UpdateTenant/UpdateTenantGateway.js.map +1 -0
- package/features/tenancy/UpdateTenant/UpdateTenantRepository.d.ts +12 -0
- package/features/tenancy/UpdateTenant/UpdateTenantRepository.js +23 -0
- package/features/tenancy/UpdateTenant/UpdateTenantRepository.js.map +1 -0
- package/features/tenancy/UpdateTenant/UpdateTenantUseCase.d.ts +17 -0
- package/features/tenancy/UpdateTenant/UpdateTenantUseCase.js +44 -0
- package/features/tenancy/UpdateTenant/UpdateTenantUseCase.js.map +1 -0
- package/features/tenancy/UpdateTenant/abstractions.d.ts +41 -0
- package/features/tenancy/UpdateTenant/abstractions.js +8 -0
- package/features/tenancy/UpdateTenant/abstractions.js.map +1 -0
- package/features/tenancy/UpdateTenant/events.d.ts +19 -0
- package/features/tenancy/UpdateTenant/events.js +16 -0
- package/features/tenancy/UpdateTenant/events.js.map +1 -0
- package/features/tenancy/UpdateTenant/feature.d.ts +1 -0
- package/features/tenancy/UpdateTenant/feature.js +14 -0
- package/features/tenancy/UpdateTenant/feature.js.map +1 -0
- package/features/tenancy/UpdateTenant/index.d.ts +3 -0
- package/features/tenancy/UpdateTenant/index.js +5 -0
- package/features/tenancy/UpdateTenant/index.js.map +1 -0
- package/features/tenancy/shared/TenantCache.d.ts +13 -0
- package/features/tenancy/shared/TenantCache.js +20 -0
- package/features/tenancy/shared/TenantCache.js.map +1 -0
- package/features/tenancy/shared/abstractions.d.ts +11 -0
- package/features/tenancy/shared/abstractions.js +4 -0
- package/features/tenancy/shared/abstractions.js.map +1 -0
- package/features/tenancy/shared/storageOperations.d.ts +9 -0
- package/features/tenancy/shared/storageOperations.js +8 -0
- package/features/tenancy/shared/storageOperations.js.map +1 -0
- package/features/users/AdminUsersFeature.d.ts +1 -0
- package/features/users/AdminUsersFeature.js +33 -0
- package/features/users/AdminUsersFeature.js.map +1 -0
- package/features/users/CreateUser/CreateUserUseCase.d.ts +19 -0
- package/features/users/CreateUser/CreateUserUseCase.js +114 -0
- package/features/users/CreateUser/CreateUserUseCase.js.map +1 -0
- package/features/users/CreateUser/abstractions.d.ts +29 -0
- package/features/users/CreateUser/abstractions.js +16 -0
- package/features/users/CreateUser/abstractions.js.map +1 -0
- package/features/users/CreateUser/decorators/CreateUserWithWcpIncrement.d.ts +11 -0
- package/features/users/CreateUser/decorators/CreateUserWithWcpIncrement.js +24 -0
- package/features/users/CreateUser/decorators/CreateUserWithWcpIncrement.js.map +1 -0
- package/features/users/CreateUser/events.d.ts +21 -0
- package/features/users/CreateUser/events.js +20 -0
- package/features/users/CreateUser/events.js.map +1 -0
- package/features/users/CreateUser/feature.d.ts +1 -0
- package/features/users/CreateUser/feature.js +12 -0
- package/features/users/CreateUser/feature.js.map +1 -0
- package/features/users/CreateUser/index.d.ts +2 -0
- package/features/users/CreateUser/index.js +4 -0
- package/features/users/CreateUser/index.js.map +1 -0
- package/features/users/CreateUser/schema.d.ts +47 -0
- package/features/users/CreateUser/schema.js +22 -0
- package/features/users/CreateUser/schema.js.map +1 -0
- package/features/users/DeleteUser/DeleteUserUseCase.d.ts +14 -0
- package/features/users/DeleteUser/DeleteUserUseCase.js +62 -0
- package/features/users/DeleteUser/DeleteUserUseCase.js.map +1 -0
- package/features/users/DeleteUser/abstractions.d.ts +24 -0
- package/features/users/DeleteUser/abstractions.js +16 -0
- package/features/users/DeleteUser/abstractions.js.map +1 -0
- package/features/users/DeleteUser/decorators/DeleteUserWithWcpDecrement.d.ts +10 -0
- package/features/users/DeleteUser/decorators/DeleteUserWithWcpDecrement.js +25 -0
- package/features/users/DeleteUser/decorators/DeleteUserWithWcpDecrement.js.map +1 -0
- package/features/users/DeleteUser/errors.d.ts +5 -0
- package/features/users/DeleteUser/errors.js +11 -0
- package/features/users/DeleteUser/errors.js.map +1 -0
- package/features/users/DeleteUser/events.d.ts +21 -0
- package/features/users/DeleteUser/events.js +20 -0
- package/features/users/DeleteUser/events.js.map +1 -0
- package/features/users/DeleteUser/feature.d.ts +1 -0
- package/features/users/DeleteUser/feature.js +12 -0
- package/features/users/DeleteUser/feature.js.map +1 -0
- package/features/users/DeleteUser/index.d.ts +2 -0
- package/features/users/DeleteUser/index.js +4 -0
- package/features/users/DeleteUser/index.js.map +1 -0
- package/features/users/ExternalIdpUserSync/ExternalIdpUserSyncHandler.d.ts +19 -0
- package/features/users/ExternalIdpUserSync/ExternalIdpUserSyncHandler.js +89 -0
- package/features/users/ExternalIdpUserSync/ExternalIdpUserSyncHandler.js.map +1 -0
- package/features/users/ExternalIdpUserSync/feature.d.ts +1 -0
- package/features/users/ExternalIdpUserSync/feature.js +10 -0
- package/features/users/ExternalIdpUserSync/feature.js.map +1 -0
- package/features/users/ExternalIdpUserSync/index.d.ts +1 -0
- package/features/users/ExternalIdpUserSync/index.js +3 -0
- package/features/users/ExternalIdpUserSync/index.js.map +1 -0
- package/features/users/GetIdentityProfile/GetIdentityProfileUseCase.d.ts +13 -0
- package/features/users/GetIdentityProfile/GetIdentityProfileUseCase.js +49 -0
- package/features/users/GetIdentityProfile/GetIdentityProfileUseCase.js.map +1 -0
- package/features/users/GetIdentityProfile/abstractions.d.ts +18 -0
- package/features/users/GetIdentityProfile/abstractions.js +14 -0
- package/features/users/GetIdentityProfile/abstractions.js.map +1 -0
- package/features/users/GetIdentityProfile/feature.d.ts +1 -0
- package/features/users/GetIdentityProfile/feature.js +10 -0
- package/features/users/GetIdentityProfile/feature.js.map +1 -0
- package/features/users/GetIdentityProfile/index.d.ts +1 -0
- package/features/users/GetIdentityProfile/index.js +3 -0
- package/features/users/GetIdentityProfile/index.js.map +1 -0
- package/features/users/GetIdentityProfile/types.d.ts +11 -0
- package/features/users/GetIdentityProfile/types.js +3 -0
- package/features/users/GetIdentityProfile/types.js.map +1 -0
- package/features/users/GetUser/GetUserUseCase.d.ts +14 -0
- package/features/users/GetUser/GetUserUseCase.js +33 -0
- package/features/users/GetUser/GetUserUseCase.js.map +1 -0
- package/features/users/GetUser/abstractions.d.ts +18 -0
- package/features/users/GetUser/abstractions.js +14 -0
- package/features/users/GetUser/abstractions.js.map +1 -0
- package/features/users/GetUser/feature.d.ts +1 -0
- package/features/users/GetUser/feature.js +10 -0
- package/features/users/GetUser/feature.js.map +1 -0
- package/features/users/GetUser/index.d.ts +1 -0
- package/features/users/GetUser/index.js +3 -0
- package/features/users/GetUser/index.js.map +1 -0
- package/features/users/ListUserTeams/ListUserTeamsUseCase.d.ts +15 -0
- package/features/users/ListUserTeams/ListUserTeamsUseCase.js +50 -0
- package/features/users/ListUserTeams/ListUserTeamsUseCase.js.map +1 -0
- package/features/users/ListUserTeams/abstractions.d.ts +15 -0
- package/features/users/ListUserTeams/abstractions.js +14 -0
- package/features/users/ListUserTeams/abstractions.js.map +1 -0
- package/features/users/ListUserTeams/feature.d.ts +1 -0
- package/features/users/ListUserTeams/feature.js +10 -0
- package/features/users/ListUserTeams/feature.js.map +1 -0
- package/features/users/ListUserTeams/index.d.ts +1 -0
- package/features/users/ListUserTeams/index.js +3 -0
- package/features/users/ListUserTeams/index.js.map +1 -0
- package/features/users/ListUsers/ListUsersUseCase.d.ts +14 -0
- package/features/users/ListUsers/ListUsersUseCase.js +33 -0
- package/features/users/ListUsers/ListUsersUseCase.js.map +1 -0
- package/features/users/ListUsers/abstractions.d.ts +18 -0
- package/features/users/ListUsers/abstractions.js +14 -0
- package/features/users/ListUsers/abstractions.js.map +1 -0
- package/features/users/ListUsers/feature.d.ts +1 -0
- package/features/users/ListUsers/feature.js +10 -0
- package/features/users/ListUsers/feature.js.map +1 -0
- package/features/users/ListUsers/index.d.ts +1 -0
- package/features/users/ListUsers/index.js +3 -0
- package/features/users/ListUsers/index.js.map +1 -0
- package/features/users/UpdateUser/UpdateUserUseCase.d.ts +16 -0
- package/features/users/UpdateUser/UpdateUserUseCase.js +86 -0
- package/features/users/UpdateUser/UpdateUserUseCase.js.map +1 -0
- package/features/users/UpdateUser/abstractions.d.ts +30 -0
- package/features/users/UpdateUser/abstractions.js +16 -0
- package/features/users/UpdateUser/abstractions.js.map +1 -0
- package/features/users/UpdateUser/events.d.ts +21 -0
- package/features/users/UpdateUser/events.js +20 -0
- package/features/users/UpdateUser/events.js.map +1 -0
- package/features/users/UpdateUser/feature.d.ts +1 -0
- package/features/users/UpdateUser/feature.js +10 -0
- package/features/users/UpdateUser/feature.js.map +1 -0
- package/features/users/UpdateUser/index.d.ts +2 -0
- package/features/users/UpdateUser/index.js +4 -0
- package/features/users/UpdateUser/index.js.map +1 -0
- package/features/users/UpdateUser/schema.d.ts +38 -0
- package/features/users/UpdateUser/schema.js +14 -0
- package/features/users/UpdateUser/schema.js.map +1 -0
- package/features/users/shared/AdminUsersRepository.d.ts +23 -0
- package/features/users/shared/AdminUsersRepository.js +129 -0
- package/features/users/shared/AdminUsersRepository.js.map +1 -0
- package/features/users/shared/abstractions.d.ts +24 -0
- package/features/users/shared/abstractions.js +12 -0
- package/features/users/shared/abstractions.js.map +1 -0
- package/features/users/shared/errors.d.ts +27 -0
- package/features/users/shared/errors.js +54 -0
- package/features/users/shared/errors.js.map +1 -0
- package/features/users/shared/loaders.d.ts +17 -0
- package/features/users/shared/loaders.js +73 -0
- package/features/users/shared/loaders.js.map +1 -0
- package/features/users/shared/storageAbstractions.d.ts +5 -0
- package/features/users/shared/storageAbstractions.js +5 -0
- package/features/users/shared/storageAbstractions.js.map +1 -0
- package/features/users/shared/types.d.ts +49 -0
- package/features/users/shared/types.js +3 -0
- package/features/users/shared/types.js.map +1 -0
- package/features/wcp/WcpContext/WcpContext.d.ts +34 -0
- package/features/wcp/WcpContext/WcpContext.js +139 -0
- package/features/wcp/WcpContext/WcpContext.js.map +1 -0
- package/features/wcp/WcpContext/abstractions.d.ts +20 -0
- package/features/wcp/WcpContext/abstractions.js +9 -0
- package/features/wcp/WcpContext/abstractions.js.map +1 -0
- package/features/wcp/WcpContext/decorators/WcpContextWithFeatureFlagsDecorator.d.ts +79 -0
- package/features/wcp/WcpContext/decorators/WcpContextWithFeatureFlagsDecorator.js +121 -0
- package/features/wcp/WcpContext/decorators/WcpContextWithFeatureFlagsDecorator.js.map +1 -0
- package/features/wcp/WcpContext/feature.d.ts +2 -0
- package/features/wcp/WcpContext/feature.js +11 -0
- package/features/wcp/WcpContext/feature.js.map +1 -0
- package/features/wcp/WcpContext/index.d.ts +4 -0
- package/features/wcp/WcpContext/index.js +4 -0
- package/features/wcp/WcpContext/index.js.map +1 -0
- package/features/wcp/WcpContext/types.d.ts +17 -0
- package/features/wcp/WcpContext/types.js +3 -0
- package/features/wcp/WcpContext/types.js.map +1 -0
- package/features/wcp/WcpContext/utils.d.ts +13 -0
- package/features/wcp/WcpContext/utils.js +58 -0
- package/features/wcp/WcpContext/utils.js.map +1 -0
- package/features/wcp/WcpFeature.d.ts +2 -0
- package/features/wcp/WcpFeature.js +12 -0
- package/features/wcp/WcpFeature.js.map +1 -0
- package/graphql/security/NotAuthorizedResponse.d.ts +10 -0
- package/graphql/security/NotAuthorizedResponse.js +17 -0
- package/graphql/security/NotAuthorizedResponse.js.map +1 -0
- package/graphql/security/ProfileMapper.d.ts +16 -0
- package/graphql/security/ProfileMapper.js +14 -0
- package/graphql/security/ProfileMapper.js.map +1 -0
- package/graphql/security/apiKey.gql.d.ts +4 -0
- package/graphql/security/apiKey.gql.js +99 -0
- package/graphql/security/apiKey.gql.js.map +1 -0
- package/graphql/security/base.gql.d.ts +4 -0
- package/graphql/security/base.gql.js +48 -0
- package/graphql/security/base.gql.js.map +1 -0
- package/graphql/security/identity.gql.d.ts +4 -0
- package/graphql/security/identity.gql.js +163 -0
- package/graphql/security/identity.gql.js.map +1 -0
- package/graphql/security/index.d.ts +1 -0
- package/graphql/security/index.js +10 -0
- package/graphql/security/index.js.map +1 -0
- package/graphql/security/role.gql.d.ts +4 -0
- package/graphql/security/role.gql.js +114 -0
- package/graphql/security/role.gql.js.map +1 -0
- package/graphql/security/team.gql.d.ts +4 -0
- package/graphql/security/team.gql.js +127 -0
- package/graphql/security/team.gql.js.map +1 -0
- package/graphql/system/createSystemGraphQL.d.ts +2 -0
- package/graphql/system/createSystemGraphQL.js +57 -0
- package/graphql/system/createSystemGraphQL.js.map +1 -0
- package/graphql/users/user.gql.d.ts +3 -0
- package/graphql/users/user.gql.js +185 -0
- package/graphql/users/user.gql.js.map +1 -0
- package/graphql/wcp/graphql.d.ts +2 -0
- package/graphql/wcp/graphql.js +88 -0
- package/graphql/wcp/graphql.js.map +1 -0
- package/idp/JwksCache.d.ts +7 -0
- package/idp/JwksCache.js +32 -0
- package/idp/JwksCache.js.map +1 -0
- package/idp/JwtAuthenticator.d.ts +12 -0
- package/idp/JwtAuthenticator.js +58 -0
- package/idp/JwtAuthenticator.js.map +1 -0
- package/idp/OidcJwtIdentityProvider.d.ts +15 -0
- package/idp/OidcJwtIdentityProvider.js +90 -0
- package/idp/OidcJwtIdentityProvider.js.map +1 -0
- package/idp/abstractions.d.ts +62 -0
- package/idp/abstractions.js +13 -0
- package/idp/abstractions.js.map +1 -0
- package/idp/feature.d.ts +1 -0
- package/idp/feature.js +15 -0
- package/idp/feature.js.map +1 -0
- package/idp/index.d.ts +2 -0
- package/idp/index.js +3 -0
- package/idp/index.js.map +1 -0
- package/idp/types.d.ts +3 -0
- package/idp/types.js +3 -0
- package/idp/types.js.map +1 -0
- package/index.d.ts +1 -0
- package/index.js +3 -0
- package/index.js.map +1 -0
- package/legacy/security/LegacyContext.d.ts +36 -0
- package/legacy/security/LegacyContext.js +205 -0
- package/legacy/security/LegacyContext.js.map +1 -0
- package/legacy/security/createSecurityContext.d.ts +3 -0
- package/legacy/security/createSecurityContext.js +25 -0
- package/legacy/security/createSecurityContext.js.map +1 -0
- package/legacy/security/plugins/SecurityRolePlugin.d.ts +16 -0
- package/legacy/security/plugins/SecurityRolePlugin.js +33 -0
- package/legacy/security/plugins/SecurityRolePlugin.js.map +1 -0
- package/legacy/security/plugins/SecurityTeamPlugin.d.ts +16 -0
- package/legacy/security/plugins/SecurityTeamPlugin.js +33 -0
- package/legacy/security/plugins/SecurityTeamPlugin.js.map +1 -0
- package/legacy/security/plugins/apiKeyAuthentication.d.ts +7 -0
- package/legacy/security/plugins/apiKeyAuthentication.js +29 -0
- package/legacy/security/plugins/apiKeyAuthentication.js.map +1 -0
- package/legacy/security/plugins/apiKeyAuthorization.d.ts +6 -0
- package/legacy/security/plugins/apiKeyAuthorization.js +22 -0
- package/legacy/security/plugins/apiKeyAuthorization.js.map +1 -0
- package/legacy/security/plugins/authenticateUsingCookie.d.ts +5 -0
- package/legacy/security/plugins/authenticateUsingCookie.js +27 -0
- package/legacy/security/plugins/authenticateUsingCookie.js.map +1 -0
- package/legacy/security/plugins/authenticateUsingHttpHeader.d.ts +5 -0
- package/legacy/security/plugins/authenticateUsingHttpHeader.js +23 -0
- package/legacy/security/plugins/authenticateUsingHttpHeader.js.map +1 -0
- package/legacy/security/plugins/secureHeaders.d.ts +1 -0
- package/legacy/security/plugins/secureHeaders.js +23 -0
- package/legacy/security/plugins/secureHeaders.js.map +1 -0
- package/legacy/tenancy/LegacyContext.d.ts +15 -0
- package/legacy/tenancy/LegacyContext.js +64 -0
- package/legacy/tenancy/LegacyContext.js.map +1 -0
- package/legacy/tenancy/createTenancyContext.d.ts +3 -0
- package/legacy/tenancy/createTenancyContext.js +51 -0
- package/legacy/tenancy/createTenancyContext.js.map +1 -0
- package/legacy/users/LegacyContext.d.ts +13 -0
- package/legacy/users/LegacyContext.js +70 -0
- package/legacy/users/LegacyContext.js.map +1 -0
- package/legacy/users/createAdminUsersContext.d.ts +3 -0
- package/legacy/users/createAdminUsersContext.js +12 -0
- package/legacy/users/createAdminUsersContext.js.map +1 -0
- package/legacy/wcp/LegacyWcpContext.d.ts +30 -0
- package/legacy/wcp/LegacyWcpContext.js +74 -0
- package/legacy/wcp/LegacyWcpContext.js.map +1 -0
- package/legacy/wcp/context.d.ts +7 -0
- package/legacy/wcp/context.js +50 -0
- package/legacy/wcp/context.js.map +1 -0
- package/models/base/BaseModel.d.ts +20 -0
- package/models/base/BaseModel.js +64 -0
- package/models/base/BaseModel.js.map +1 -0
- package/models/base/ModelBuilder.d.ts +18 -0
- package/models/base/ModelBuilder.js +68 -0
- package/models/base/ModelBuilder.js.map +1 -0
- package/models/base/ModelFactory.d.ts +0 -0
- package/models/base/ModelFactory.js +3 -0
- package/models/base/ModelFactory.js.map +1 -0
- package/models/base/__tests__/ModelBuilder.test.d.ts +1 -0
- package/models/base/__tests__/ModelBuilder.test.js +468 -0
- package/models/base/__tests__/ModelBuilder.test.js.map +1 -0
- package/models/base/abstractions.d.ts +19 -0
- package/models/base/abstractions.js +3 -0
- package/models/base/abstractions.js.map +1 -0
- package/models/cms/FieldBuilder.d.ts +36 -0
- package/models/cms/FieldBuilder.js +132 -0
- package/models/cms/FieldBuilder.js.map +1 -0
- package/models/cms/FieldBuilderRegistry.d.ts +11 -0
- package/models/cms/FieldBuilderRegistry.js +18 -0
- package/models/cms/FieldBuilderRegistry.js.map +1 -0
- package/models/cms/FieldDefinitionsBuilder.d.ts +24 -0
- package/models/cms/FieldDefinitionsBuilder.js +63 -0
- package/models/cms/FieldDefinitionsBuilder.js.map +1 -0
- package/models/cms/PrivateCmsModelBuilder.d.ts +21 -0
- package/models/cms/PrivateCmsModelBuilder.js +103 -0
- package/models/cms/PrivateCmsModelBuilder.js.map +1 -0
- package/models/cms/PrivatePage/Page.fields.d.ts +8 -0
- package/models/cms/PrivatePage/Page.fields.js +9 -0
- package/models/cms/PrivatePage/Page.fields.js.map +1 -0
- package/models/cms/PrivatePage/PageModelBuilder.d.ts +9 -0
- package/models/cms/PrivatePage/PageModelBuilder.js +23 -0
- package/models/cms/PrivatePage/PageModelBuilder.js.map +1 -0
- package/models/cms/PrivatePage/PageModelFactory.d.ts +12 -0
- package/models/cms/PrivatePage/PageModelFactory.js +32 -0
- package/models/cms/PrivatePage/PageModelFactory.js.map +1 -0
- package/models/cms/PrivatePage/__tests__/PageModelFactory.test.d.ts +1 -0
- package/models/cms/PrivatePage/__tests__/PageModelFactory.test.js +251 -0
- package/models/cms/PrivatePage/__tests__/PageModelFactory.test.js.map +1 -0
- package/models/cms/PrivatePage/__tests__/PagePublishingDecorator.d.ts +21 -0
- package/models/cms/PrivatePage/__tests__/PagePublishingDecorator.js +43 -0
- package/models/cms/PrivatePage/__tests__/PagePublishingDecorator.js.map +1 -0
- package/models/cms/PrivatePage/__tests__/PageSeoDecorator.d.ts +21 -0
- package/models/cms/PrivatePage/__tests__/PageSeoDecorator.js +33 -0
- package/models/cms/PrivatePage/__tests__/PageSeoDecorator.js.map +1 -0
- package/models/cms/PrivatePage/abstractions.d.ts +19 -0
- package/models/cms/PrivatePage/abstractions.js +12 -0
- package/models/cms/PrivatePage/abstractions.js.map +1 -0
- package/models/cms/__tests__/PrivateCmsModelBuilder.test.d.ts +1 -0
- package/models/cms/__tests__/PrivateCmsModelBuilder.test.js +195 -0
- package/models/cms/__tests__/PrivateCmsModelBuilder.test.js.map +1 -0
- package/models/cms/abstractions.d.ts +38 -0
- package/models/cms/abstractions.js +23 -0
- package/models/cms/abstractions.js.map +1 -0
- package/models/cms/fieldsBuilder.md +386 -0
- package/models/cms/types.d.ts +45 -0
- package/models/cms/types.js +3 -0
- package/models/cms/types.js.map +1 -0
- package/models/simple/Page/PageModelBuilder.d.ts +10 -0
- package/models/simple/Page/PageModelBuilder.js +20 -0
- package/models/simple/Page/PageModelBuilder.js.map +1 -0
- package/models/simple/Page/PageModelFactory.d.ts +9 -0
- package/models/simple/Page/PageModelFactory.js +22 -0
- package/models/simple/Page/PageModelFactory.js.map +1 -0
- package/models/simple/Page/__tests__/PageModelBuilderDecorator.d.ts +20 -0
- package/models/simple/Page/__tests__/PageModelBuilderDecorator.js +26 -0
- package/models/simple/Page/__tests__/PageModelBuilderDecorator.js.map +1 -0
- package/models/simple/Page/__tests__/PageModelBuilderDecorator2.d.ts +15 -0
- package/models/simple/Page/__tests__/PageModelBuilderDecorator2.js +22 -0
- package/models/simple/Page/__tests__/PageModelBuilderDecorator2.js.map +1 -0
- package/models/simple/Page/__tests__/PageModelFactory.test.d.ts +1 -0
- package/models/simple/Page/__tests__/PageModelFactory.test.js +38 -0
- package/models/simple/Page/__tests__/PageModelFactory.test.js.map +1 -0
- package/models/simple/Page/abstractions.d.ts +35 -0
- package/models/simple/Page/abstractions.js +12 -0
- package/models/simple/Page/abstractions.js.map +1 -0
- package/package.json +97 -0
- package/types/core.d.ts +13 -0
- package/types/core.js +3 -0
- package/types/core.js.map +1 -0
- package/types/security.d.ts +203 -0
- package/types/security.js +3 -0
- package/types/security.js.map +1 -0
- package/types/tenancy.d.ts +49 -0
- package/types/tenancy.js +3 -0
- package/types/tenancy.js.map +1 -0
- package/types/users.d.ts +85 -0
- package/types/users.js +3 -0
- package/types/users.js.map +1 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import jwt from "jsonwebtoken";
|
|
2
|
+
import { createImplementation } from "@webiny/feature/api";
|
|
3
|
+
import { Reply } from "@webiny/handler";
|
|
4
|
+
import { AfterAuthenticationHandler } from "./index.js";
|
|
5
|
+
import { AuthenticationContext } from "./index.js";
|
|
6
|
+
const get24HoursFromNow = () => {
|
|
7
|
+
const oneHour = 1000 * 60 * 60;
|
|
8
|
+
return new Date(new Date().getTime() + oneHour * 24);
|
|
9
|
+
};
|
|
10
|
+
const toDate = timestamp => {
|
|
11
|
+
return timestamp ? new Date(timestamp * 1000) : get24HoursFromNow();
|
|
12
|
+
};
|
|
13
|
+
class SetIdTokenCookieImpl {
|
|
14
|
+
constructor(authenticationContext, reply) {
|
|
15
|
+
this.authenticationContext = authenticationContext;
|
|
16
|
+
this.reply = reply;
|
|
17
|
+
}
|
|
18
|
+
async handle() {
|
|
19
|
+
const token = this.authenticationContext.getAuthToken();
|
|
20
|
+
if (!token) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// Attempt to acquire expiration from the token; fall back to "expire in 24 hours".
|
|
25
|
+
// In most cases the token will be a JWT token, but it can also be a custom token, or an API key.
|
|
26
|
+
const tokenData = jwt.decode(token, {
|
|
27
|
+
json: true
|
|
28
|
+
});
|
|
29
|
+
const expiresOn = tokenData ? toDate(tokenData.exp) : get24HoursFromNow();
|
|
30
|
+
|
|
31
|
+
// @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie
|
|
32
|
+
this.reply.setCookie("wby-id-token", token, {
|
|
33
|
+
path: "/",
|
|
34
|
+
expires: expiresOn,
|
|
35
|
+
// Allow this cookie to be sent with cross-origin requests.
|
|
36
|
+
sameSite: "none",
|
|
37
|
+
// Only send this cookie to the server when HTTPS is used.
|
|
38
|
+
// NOTE: `https` requirement is ignored for `localhost.
|
|
39
|
+
secure: true,
|
|
40
|
+
// Forbids JavaScript from accessing the cookie.
|
|
41
|
+
httpOnly: true
|
|
42
|
+
});
|
|
43
|
+
this.reply.header("cache-control", `no-cache="Set-Cookie"`);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
export const SetIdTokenCookie = createImplementation({
|
|
47
|
+
abstraction: AfterAuthenticationHandler,
|
|
48
|
+
implementation: SetIdTokenCookieImpl,
|
|
49
|
+
dependencies: [AuthenticationContext, Reply]
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
//# sourceMappingURL=SetIdTokenCookie.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["jwt","createImplementation","Reply","AfterAuthenticationHandler","AuthenticationContext","get24HoursFromNow","oneHour","Date","getTime","toDate","timestamp","SetIdTokenCookieImpl","constructor","authenticationContext","reply","handle","token","getAuthToken","tokenData","decode","json","expiresOn","exp","setCookie","path","expires","sameSite","secure","httpOnly","header","SetIdTokenCookie","abstraction","implementation","dependencies"],"sources":["SetIdTokenCookie.ts"],"sourcesContent":["import jwt from \"jsonwebtoken\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { Reply } from \"@webiny/handler\";\nimport { AfterAuthenticationHandler } from \"~/features/security/authentication/AuthenticationContext/index.js\";\nimport { AuthenticationContext } from \"~/features/security/authentication/AuthenticationContext/index.js\";\n\nconst get24HoursFromNow = () => {\n const oneHour = 1000 * 60 * 60;\n return new Date(new Date().getTime() + oneHour * 24);\n};\n\nconst toDate = (timestamp: number | undefined) => {\n return timestamp ? new Date(timestamp * 1000) : get24HoursFromNow();\n};\n\nclass SetIdTokenCookieImpl implements AfterAuthenticationHandler.Interface {\n constructor(\n private authenticationContext: AuthenticationContext.Interface,\n private reply: Reply.Interface\n ) {}\n\n async handle(): Promise<void> {\n const token = this.authenticationContext.getAuthToken();\n\n if (!token) {\n return;\n }\n\n // Attempt to acquire expiration from the token; fall back to \"expire in 24 hours\".\n // In most cases the token will be a JWT token, but it can also be a custom token, or an API key.\n const tokenData = jwt.decode(token, { json: true });\n const expiresOn = tokenData ? toDate(tokenData.exp) : get24HoursFromNow();\n\n // @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie\n this.reply.setCookie(\"wby-id-token\", token, {\n path: \"/\",\n expires: expiresOn,\n // Allow this cookie to be sent with cross-origin requests.\n sameSite: \"none\",\n // Only send this cookie to the server when HTTPS is used.\n // NOTE: `https` requirement is ignored for `localhost.\n secure: true,\n // Forbids JavaScript from accessing the cookie.\n httpOnly: true\n });\n\n this.reply.header(\"cache-control\", `no-cache=\"Set-Cookie\"`);\n }\n}\n\nexport const SetIdTokenCookie = createImplementation({\n abstraction: AfterAuthenticationHandler,\n implementation: SetIdTokenCookieImpl,\n dependencies: [AuthenticationContext, Reply]\n});\n"],"mappings":"AAAA,OAAOA,GAAG,MAAM,cAAc;AAC9B,SAASC,oBAAoB,QAAQ,qBAAqB;AAC1D,SAASC,KAAK,QAAQ,iBAAiB;AACvC,SAASC,0BAA0B;AACnC,SAASC,qBAAqB;AAE9B,MAAMC,iBAAiB,GAAGA,CAAA,KAAM;EAC5B,MAAMC,OAAO,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE;EAC9B,OAAO,IAAIC,IAAI,CAAC,IAAIA,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,GAAGF,OAAO,GAAG,EAAE,CAAC;AACxD,CAAC;AAED,MAAMG,MAAM,GAAIC,SAA6B,IAAK;EAC9C,OAAOA,SAAS,GAAG,IAAIH,IAAI,CAACG,SAAS,GAAG,IAAI,CAAC,GAAGL,iBAAiB,CAAC,CAAC;AACvE,CAAC;AAED,MAAMM,oBAAoB,CAAiD;EACvEC,WAAWA,CACCC,qBAAsD,EACtDC,KAAsB,EAChC;IAAA,KAFUD,qBAAsD,GAAtDA,qBAAsD;IAAA,KACtDC,KAAsB,GAAtBA,KAAsB;EAC/B;EAEH,MAAMC,MAAMA,CAAA,EAAkB;IAC1B,MAAMC,KAAK,GAAG,IAAI,CAACH,qBAAqB,CAACI,YAAY,CAAC,CAAC;IAEvD,IAAI,CAACD,KAAK,EAAE;MACR;IACJ;;IAEA;IACA;IACA,MAAME,SAAS,GAAGlB,GAAG,CAACmB,MAAM,CAACH,KAAK,EAAE;MAAEI,IAAI,EAAE;IAAK,CAAC,CAAC;IACnD,MAAMC,SAAS,GAAGH,SAAS,GAAGT,MAAM,CAACS,SAAS,CAACI,GAAG,CAAC,GAAGjB,iBAAiB,CAAC,CAAC;;IAEzE;IACA,IAAI,CAACS,KAAK,CAACS,SAAS,CAAC,cAAc,EAAEP,KAAK,EAAE;MACxCQ,IAAI,EAAE,GAAG;MACTC,OAAO,EAAEJ,SAAS;MAClB;MACAK,QAAQ,EAAE,MAAM;MAChB;MACA;MACAC,MAAM,EAAE,IAAI;MACZ;MACAC,QAAQ,EAAE;IACd,CAAC,CAAC;IAEF,IAAI,CAACd,KAAK,CAACe,MAAM,CAAC,eAAe,EAAE,uBAAuB,CAAC;EAC/D;AACJ;AAEA,OAAO,MAAMC,gBAAgB,GAAG7B,oBAAoB,CAAC;EACjD8B,WAAW,EAAE5B,0BAA0B;EACvC6B,cAAc,EAAErB,oBAAoB;EACpCsB,YAAY,EAAE,CAAC7B,qBAAqB,EAAEF,KAAK;AAC/C,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Identity } from "../../../../features/security/IdentityContext/Identity.js";
|
|
2
|
+
export interface IAuthenticationContext {
|
|
3
|
+
authenticate(token: string): Promise<Identity>;
|
|
4
|
+
getAuthToken(): string | undefined;
|
|
5
|
+
}
|
|
6
|
+
export declare const AuthenticationContext: import("@webiny/di").Abstraction<IAuthenticationContext>;
|
|
7
|
+
export declare namespace AuthenticationContext {
|
|
8
|
+
type Interface = IAuthenticationContext;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAbstraction","AuthenticationContext"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Identity } from \"~/features/security/IdentityContext/Identity.js\";\n\nexport interface IAuthenticationContext {\n authenticate(token: string): Promise<Identity>;\n getAuthToken(): string | undefined;\n}\n\nexport const AuthenticationContext =\n createAbstraction<IAuthenticationContext>(\"AuthenticationContext\");\n\nexport namespace AuthenticationContext {\n export type Interface = IAuthenticationContext;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAQvD,OAAO,MAAMC,qBAAqB,GAC9BD,iBAAiB,CAAyB,uBAAuB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { BaseError } from "@webiny/feature/api";
|
|
2
|
+
/**
|
|
3
|
+
* Base class for all authentication-related errors
|
|
4
|
+
*/
|
|
5
|
+
export declare abstract class AuthenticationError extends BaseError {
|
|
6
|
+
protected constructor(message: string);
|
|
7
|
+
static from(error: any): AuthenticationError;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Thrown when a JWT token has expired
|
|
11
|
+
*/
|
|
12
|
+
export declare class TokenExpiredError extends AuthenticationError {
|
|
13
|
+
readonly code: "Authentication/TokenExpired";
|
|
14
|
+
constructor(message?: string);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Thrown when a JWT token is not yet valid (nbf claim)
|
|
18
|
+
*/
|
|
19
|
+
export declare class TokenNotYetValidError extends AuthenticationError {
|
|
20
|
+
readonly code: "Authentication/TokenNotYetValid";
|
|
21
|
+
constructor(message?: string);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Thrown when a JWT token has an invalid signature
|
|
25
|
+
*/
|
|
26
|
+
export declare class InvalidTokenSignatureError extends AuthenticationError {
|
|
27
|
+
readonly code: "Authentication/InvalidSignature";
|
|
28
|
+
constructor(message?: string);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Thrown when a JWT token is malformed or invalid
|
|
32
|
+
*/
|
|
33
|
+
export declare class InvalidTokenError extends AuthenticationError {
|
|
34
|
+
readonly code: "Authentication/InvalidToken";
|
|
35
|
+
constructor(message?: string);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Thrown when the JWT audience claim doesn't match expected value
|
|
39
|
+
*/
|
|
40
|
+
export declare class InvalidAudienceError extends AuthenticationError {
|
|
41
|
+
readonly code: "Authentication/InvalidAudience";
|
|
42
|
+
constructor(message?: string);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Thrown when the JWT issuer claim doesn't match expected value
|
|
46
|
+
*/
|
|
47
|
+
export declare class InvalidIssuerError extends AuthenticationError {
|
|
48
|
+
readonly code: "Authentication/InvalidIssuer";
|
|
49
|
+
constructor(message?: string);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Thrown when a required JWT claim is missing
|
|
53
|
+
*/
|
|
54
|
+
export declare class MissingClaimError extends AuthenticationError {
|
|
55
|
+
readonly code: "Authentication/MissingClaim";
|
|
56
|
+
constructor(claim: string);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Generic authentication failure error
|
|
60
|
+
*/
|
|
61
|
+
export declare class AuthenticationFailedError extends AuthenticationError {
|
|
62
|
+
readonly code: "Authentication/Failed";
|
|
63
|
+
constructor(message?: string);
|
|
64
|
+
}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { BaseError } from "@webiny/feature/api";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Base class for all authentication-related errors
|
|
5
|
+
*/
|
|
6
|
+
export class AuthenticationError extends BaseError {
|
|
7
|
+
constructor(message) {
|
|
8
|
+
super({
|
|
9
|
+
message
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
static from(error) {
|
|
13
|
+
// Check for specific jsonwebtoken error names
|
|
14
|
+
if (error.name === "TokenExpiredError") {
|
|
15
|
+
return new TokenExpiredError(error.message);
|
|
16
|
+
}
|
|
17
|
+
if (error.name === "NotBeforeError") {
|
|
18
|
+
return new TokenNotYetValidError(error.message);
|
|
19
|
+
}
|
|
20
|
+
if (error.name === "JsonWebTokenError") {
|
|
21
|
+
// Check message for specific error types
|
|
22
|
+
const message = error.message.toLowerCase();
|
|
23
|
+
if (message.includes("invalid signature")) {
|
|
24
|
+
return new InvalidTokenSignatureError(error.message);
|
|
25
|
+
}
|
|
26
|
+
if (message.includes("invalid audience") || message.includes("jwt audience")) {
|
|
27
|
+
return new InvalidAudienceError(error.message);
|
|
28
|
+
}
|
|
29
|
+
if (message.includes("invalid issuer") || message.includes("jwt issuer")) {
|
|
30
|
+
return new InvalidIssuerError(error.message);
|
|
31
|
+
}
|
|
32
|
+
if (message.includes("jwt malformed") || message.includes("invalid token")) {
|
|
33
|
+
return new InvalidTokenError(error.message);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// Generic JsonWebTokenError
|
|
37
|
+
return new InvalidTokenError(error.message);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// If it's already one of our errors, return as-is
|
|
41
|
+
if (error instanceof AuthenticationError) {
|
|
42
|
+
return error;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// For any other error, wrap in InvalidTokenError
|
|
46
|
+
return new InvalidTokenError(error.message || "Authentication failed");
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Thrown when a JWT token has expired
|
|
52
|
+
*/
|
|
53
|
+
export class TokenExpiredError extends AuthenticationError {
|
|
54
|
+
code = "Authentication/TokenExpired";
|
|
55
|
+
constructor(message = "Token has expired") {
|
|
56
|
+
super(message);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Thrown when a JWT token is not yet valid (nbf claim)
|
|
62
|
+
*/
|
|
63
|
+
export class TokenNotYetValidError extends AuthenticationError {
|
|
64
|
+
code = "Authentication/TokenNotYetValid";
|
|
65
|
+
constructor(message = "Token is not yet valid") {
|
|
66
|
+
super(message);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Thrown when a JWT token has an invalid signature
|
|
72
|
+
*/
|
|
73
|
+
export class InvalidTokenSignatureError extends AuthenticationError {
|
|
74
|
+
code = "Authentication/InvalidSignature";
|
|
75
|
+
constructor(message = "Invalid token signature") {
|
|
76
|
+
super(message);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Thrown when a JWT token is malformed or invalid
|
|
82
|
+
*/
|
|
83
|
+
export class InvalidTokenError extends AuthenticationError {
|
|
84
|
+
code = "Authentication/InvalidToken";
|
|
85
|
+
constructor(message = "Invalid token") {
|
|
86
|
+
super(message);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Thrown when the JWT audience claim doesn't match expected value
|
|
92
|
+
*/
|
|
93
|
+
export class InvalidAudienceError extends AuthenticationError {
|
|
94
|
+
code = "Authentication/InvalidAudience";
|
|
95
|
+
constructor(message = "Invalid audience") {
|
|
96
|
+
super(message);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Thrown when the JWT issuer claim doesn't match expected value
|
|
102
|
+
*/
|
|
103
|
+
export class InvalidIssuerError extends AuthenticationError {
|
|
104
|
+
code = "Authentication/InvalidIssuer";
|
|
105
|
+
constructor(message = "Invalid issuer") {
|
|
106
|
+
super(message);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Thrown when a required JWT claim is missing
|
|
112
|
+
*/
|
|
113
|
+
export class MissingClaimError extends AuthenticationError {
|
|
114
|
+
code = "Authentication/MissingClaim";
|
|
115
|
+
constructor(claim) {
|
|
116
|
+
super(`Missing required claim: ${claim}`);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Generic authentication failure error
|
|
122
|
+
*/
|
|
123
|
+
export class AuthenticationFailedError extends AuthenticationError {
|
|
124
|
+
code = "Authentication/Failed";
|
|
125
|
+
constructor(message = "Authentication failed") {
|
|
126
|
+
super(message);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["BaseError","AuthenticationError","constructor","message","from","error","name","TokenExpiredError","TokenNotYetValidError","toLowerCase","includes","InvalidTokenSignatureError","InvalidAudienceError","InvalidIssuerError","InvalidTokenError","code","MissingClaimError","claim","AuthenticationFailedError"],"sources":["errors.ts"],"sourcesContent":["import { BaseError } from \"@webiny/feature/api\";\n\n/**\n * Base class for all authentication-related errors\n */\nexport abstract class AuthenticationError extends BaseError {\n protected constructor(message: string) {\n super({ message });\n }\n\n static from(error: any): AuthenticationError {\n // Check for specific jsonwebtoken error names\n if (error.name === \"TokenExpiredError\") {\n return new TokenExpiredError(error.message);\n }\n\n if (error.name === \"NotBeforeError\") {\n return new TokenNotYetValidError(error.message);\n }\n\n if (error.name === \"JsonWebTokenError\") {\n // Check message for specific error types\n const message = error.message.toLowerCase();\n\n if (message.includes(\"invalid signature\")) {\n return new InvalidTokenSignatureError(error.message);\n }\n\n if (message.includes(\"invalid audience\") || message.includes(\"jwt audience\")) {\n return new InvalidAudienceError(error.message);\n }\n\n if (message.includes(\"invalid issuer\") || message.includes(\"jwt issuer\")) {\n return new InvalidIssuerError(error.message);\n }\n\n if (message.includes(\"jwt malformed\") || message.includes(\"invalid token\")) {\n return new InvalidTokenError(error.message);\n }\n\n // Generic JsonWebTokenError\n return new InvalidTokenError(error.message);\n }\n\n // If it's already one of our errors, return as-is\n if (error instanceof AuthenticationError) {\n return error;\n }\n\n // For any other error, wrap in InvalidTokenError\n return new InvalidTokenError(error.message || \"Authentication failed\");\n }\n}\n\n/**\n * Thrown when a JWT token has expired\n */\nexport class TokenExpiredError extends AuthenticationError {\n override readonly code = \"Authentication/TokenExpired\" as const;\n\n constructor(message: string = \"Token has expired\") {\n super(message);\n }\n}\n\n/**\n * Thrown when a JWT token is not yet valid (nbf claim)\n */\nexport class TokenNotYetValidError extends AuthenticationError {\n override readonly code = \"Authentication/TokenNotYetValid\" as const;\n\n constructor(message: string = \"Token is not yet valid\") {\n super(message);\n }\n}\n\n/**\n * Thrown when a JWT token has an invalid signature\n */\nexport class InvalidTokenSignatureError extends AuthenticationError {\n override readonly code = \"Authentication/InvalidSignature\" as const;\n\n constructor(message: string = \"Invalid token signature\") {\n super(message);\n }\n}\n\n/**\n * Thrown when a JWT token is malformed or invalid\n */\nexport class InvalidTokenError extends AuthenticationError {\n override readonly code = \"Authentication/InvalidToken\" as const;\n\n constructor(message: string = \"Invalid token\") {\n super(message);\n }\n}\n\n/**\n * Thrown when the JWT audience claim doesn't match expected value\n */\nexport class InvalidAudienceError extends AuthenticationError {\n override readonly code = \"Authentication/InvalidAudience\" as const;\n\n constructor(message: string = \"Invalid audience\") {\n super(message);\n }\n}\n\n/**\n * Thrown when the JWT issuer claim doesn't match expected value\n */\nexport class InvalidIssuerError extends AuthenticationError {\n override readonly code = \"Authentication/InvalidIssuer\" as const;\n\n constructor(message: string = \"Invalid issuer\") {\n super(message);\n }\n}\n\n/**\n * Thrown when a required JWT claim is missing\n */\nexport class MissingClaimError extends AuthenticationError {\n override readonly code = \"Authentication/MissingClaim\" as const;\n\n constructor(claim: string) {\n super(`Missing required claim: ${claim}`);\n }\n}\n\n/**\n * Generic authentication failure error\n */\nexport class AuthenticationFailedError extends AuthenticationError {\n override readonly code = \"Authentication/Failed\" as const;\n\n constructor(message: string = \"Authentication failed\") {\n super(message);\n }\n}\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,qBAAqB;;AAE/C;AACA;AACA;AACA,OAAO,MAAeC,mBAAmB,SAASD,SAAS,CAAC;EAC9CE,WAAWA,CAACC,OAAe,EAAE;IACnC,KAAK,CAAC;MAAEA;IAAQ,CAAC,CAAC;EACtB;EAEA,OAAOC,IAAIA,CAACC,KAAU,EAAuB;IACzC;IACA,IAAIA,KAAK,CAACC,IAAI,KAAK,mBAAmB,EAAE;MACpC,OAAO,IAAIC,iBAAiB,CAACF,KAAK,CAACF,OAAO,CAAC;IAC/C;IAEA,IAAIE,KAAK,CAACC,IAAI,KAAK,gBAAgB,EAAE;MACjC,OAAO,IAAIE,qBAAqB,CAACH,KAAK,CAACF,OAAO,CAAC;IACnD;IAEA,IAAIE,KAAK,CAACC,IAAI,KAAK,mBAAmB,EAAE;MACpC;MACA,MAAMH,OAAO,GAAGE,KAAK,CAACF,OAAO,CAACM,WAAW,CAAC,CAAC;MAE3C,IAAIN,OAAO,CAACO,QAAQ,CAAC,mBAAmB,CAAC,EAAE;QACvC,OAAO,IAAIC,0BAA0B,CAACN,KAAK,CAACF,OAAO,CAAC;MACxD;MAEA,IAAIA,OAAO,CAACO,QAAQ,CAAC,kBAAkB,CAAC,IAAIP,OAAO,CAACO,QAAQ,CAAC,cAAc,CAAC,EAAE;QAC1E,OAAO,IAAIE,oBAAoB,CAACP,KAAK,CAACF,OAAO,CAAC;MAClD;MAEA,IAAIA,OAAO,CAACO,QAAQ,CAAC,gBAAgB,CAAC,IAAIP,OAAO,CAACO,QAAQ,CAAC,YAAY,CAAC,EAAE;QACtE,OAAO,IAAIG,kBAAkB,CAACR,KAAK,CAACF,OAAO,CAAC;MAChD;MAEA,IAAIA,OAAO,CAACO,QAAQ,CAAC,eAAe,CAAC,IAAIP,OAAO,CAACO,QAAQ,CAAC,eAAe,CAAC,EAAE;QACxE,OAAO,IAAII,iBAAiB,CAACT,KAAK,CAACF,OAAO,CAAC;MAC/C;;MAEA;MACA,OAAO,IAAIW,iBAAiB,CAACT,KAAK,CAACF,OAAO,CAAC;IAC/C;;IAEA;IACA,IAAIE,KAAK,YAAYJ,mBAAmB,EAAE;MACtC,OAAOI,KAAK;IAChB;;IAEA;IACA,OAAO,IAAIS,iBAAiB,CAACT,KAAK,CAACF,OAAO,IAAI,uBAAuB,CAAC;EAC1E;AACJ;;AAEA;AACA;AACA;AACA,OAAO,MAAMI,iBAAiB,SAASN,mBAAmB,CAAC;EACrCc,IAAI,GAAG,6BAA6B;EAEtDb,WAAWA,CAACC,OAAe,GAAG,mBAAmB,EAAE;IAC/C,KAAK,CAACA,OAAO,CAAC;EAClB;AACJ;;AAEA;AACA;AACA;AACA,OAAO,MAAMK,qBAAqB,SAASP,mBAAmB,CAAC;EACzCc,IAAI,GAAG,iCAAiC;EAE1Db,WAAWA,CAACC,OAAe,GAAG,wBAAwB,EAAE;IACpD,KAAK,CAACA,OAAO,CAAC;EAClB;AACJ;;AAEA;AACA;AACA;AACA,OAAO,MAAMQ,0BAA0B,SAASV,mBAAmB,CAAC;EAC9Cc,IAAI,GAAG,iCAAiC;EAE1Db,WAAWA,CAACC,OAAe,GAAG,yBAAyB,EAAE;IACrD,KAAK,CAACA,OAAO,CAAC;EAClB;AACJ;;AAEA;AACA;AACA;AACA,OAAO,MAAMW,iBAAiB,SAASb,mBAAmB,CAAC;EACrCc,IAAI,GAAG,6BAA6B;EAEtDb,WAAWA,CAACC,OAAe,GAAG,eAAe,EAAE;IAC3C,KAAK,CAACA,OAAO,CAAC;EAClB;AACJ;;AAEA;AACA;AACA;AACA,OAAO,MAAMS,oBAAoB,SAASX,mBAAmB,CAAC;EACxCc,IAAI,GAAG,gCAAgC;EAEzDb,WAAWA,CAACC,OAAe,GAAG,kBAAkB,EAAE;IAC9C,KAAK,CAACA,OAAO,CAAC;EAClB;AACJ;;AAEA;AACA;AACA;AACA,OAAO,MAAMU,kBAAkB,SAASZ,mBAAmB,CAAC;EACtCc,IAAI,GAAG,8BAA8B;EAEvDb,WAAWA,CAACC,OAAe,GAAG,gBAAgB,EAAE;IAC5C,KAAK,CAACA,OAAO,CAAC;EAClB;AACJ;;AAEA;AACA;AACA;AACA,OAAO,MAAMa,iBAAiB,SAASf,mBAAmB,CAAC;EACrCc,IAAI,GAAG,6BAA6B;EAEtDb,WAAWA,CAACe,KAAa,EAAE;IACvB,KAAK,CAAC,2BAA2BA,KAAK,EAAE,CAAC;EAC7C;AACJ;;AAEA;AACA;AACA;AACA,OAAO,MAAMC,yBAAyB,SAASjB,mBAAmB,CAAC;EAC7Cc,IAAI,GAAG,uBAAuB;EAEhDb,WAAWA,CAACC,OAAe,GAAG,uBAAuB,EAAE;IACnD,KAAK,CAACA,OAAO,CAAC;EAClB;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { DomainEvent } from "../../../../features/eventPublisher/index.js";
|
|
2
|
+
import type { IEventHandler } from "../../../../features/eventPublisher/index.js";
|
|
3
|
+
import type { Identity } from "../../../../features/security/IdentityContext/Identity.js";
|
|
4
|
+
export interface BeforeAuthenticationPayload {
|
|
5
|
+
token: string;
|
|
6
|
+
}
|
|
7
|
+
export declare class BeforeAuthenticationEvent extends DomainEvent<BeforeAuthenticationPayload> {
|
|
8
|
+
eventType: "authentication.beforeAuthentication";
|
|
9
|
+
getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<BeforeAuthenticationEvent>>;
|
|
10
|
+
}
|
|
11
|
+
export declare const BeforeAuthenticationHandler: import("@webiny/di").Abstraction<IEventHandler<BeforeAuthenticationEvent>>;
|
|
12
|
+
export declare namespace BeforeAuthenticationHandler {
|
|
13
|
+
type Interface = IEventHandler<BeforeAuthenticationEvent>;
|
|
14
|
+
type Event = BeforeAuthenticationEvent;
|
|
15
|
+
}
|
|
16
|
+
export interface AfterAuthenticationPayload {
|
|
17
|
+
identity: Identity;
|
|
18
|
+
token: string;
|
|
19
|
+
}
|
|
20
|
+
export declare class AfterAuthenticationEvent extends DomainEvent<AfterAuthenticationPayload> {
|
|
21
|
+
eventType: "authentication.afterAuthentication";
|
|
22
|
+
getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<AfterAuthenticationEvent>>;
|
|
23
|
+
}
|
|
24
|
+
export declare const AfterAuthenticationHandler: import("@webiny/di").Abstraction<IEventHandler<AfterAuthenticationEvent>>;
|
|
25
|
+
export declare namespace AfterAuthenticationHandler {
|
|
26
|
+
type Interface = IEventHandler<AfterAuthenticationEvent>;
|
|
27
|
+
type Event = AfterAuthenticationEvent;
|
|
28
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { DomainEvent } from "../../../eventPublisher/index.js";
|
|
2
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
3
|
+
export class BeforeAuthenticationEvent extends DomainEvent {
|
|
4
|
+
eventType = "authentication.beforeAuthentication";
|
|
5
|
+
getHandlerAbstraction() {
|
|
6
|
+
return BeforeAuthenticationHandler;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export const BeforeAuthenticationHandler = createAbstraction("BeforeAuthenticationHandler");
|
|
10
|
+
export class AfterAuthenticationEvent extends DomainEvent {
|
|
11
|
+
eventType = "authentication.afterAuthentication";
|
|
12
|
+
getHandlerAbstraction() {
|
|
13
|
+
return AfterAuthenticationHandler;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export const AfterAuthenticationHandler = createAbstraction("AfterAuthenticationHandler");
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DomainEvent","createAbstraction","BeforeAuthenticationEvent","eventType","getHandlerAbstraction","BeforeAuthenticationHandler","AfterAuthenticationEvent","AfterAuthenticationHandler"],"sources":["events.ts"],"sourcesContent":["import { DomainEvent } from \"~/features/eventPublisher/index.js\";\nimport { createAbstraction } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"~/features/eventPublisher/index.js\";\nimport type { Identity } from \"~/features/security/IdentityContext/Identity.js\";\n\nexport interface BeforeAuthenticationPayload {\n token: string;\n}\n\nexport class BeforeAuthenticationEvent extends DomainEvent<BeforeAuthenticationPayload> {\n eventType = \"authentication.beforeAuthentication\" as const;\n\n getHandlerAbstraction() {\n return BeforeAuthenticationHandler;\n }\n}\n\nexport const BeforeAuthenticationHandler = createAbstraction<\n IEventHandler<BeforeAuthenticationEvent>\n>(\"BeforeAuthenticationHandler\");\n\nexport namespace BeforeAuthenticationHandler {\n export type Interface = IEventHandler<BeforeAuthenticationEvent>;\n export type Event = BeforeAuthenticationEvent;\n}\n\nexport interface AfterAuthenticationPayload {\n identity: Identity;\n token: string;\n}\n\nexport class AfterAuthenticationEvent extends DomainEvent<AfterAuthenticationPayload> {\n eventType = \"authentication.afterAuthentication\" as const;\n\n getHandlerAbstraction() {\n return AfterAuthenticationHandler;\n }\n}\n\nexport const AfterAuthenticationHandler = createAbstraction<\n IEventHandler<AfterAuthenticationEvent>\n>(\"AfterAuthenticationHandler\");\n\nexport namespace AfterAuthenticationHandler {\n export type Interface = IEventHandler<AfterAuthenticationEvent>;\n export type Event = AfterAuthenticationEvent;\n}\n"],"mappings":"AAAA,SAASA,WAAW;AACpB,SAASC,iBAAiB,QAAQ,qBAAqB;AAQvD,OAAO,MAAMC,yBAAyB,SAASF,WAAW,CAA8B;EACpFG,SAAS,GAAG,qCAAqC;EAEjDC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,2BAA2B;EACtC;AACJ;AAEA,OAAO,MAAMA,2BAA2B,GAAGJ,iBAAiB,CAE1D,6BAA6B,CAAC;AAYhC,OAAO,MAAMK,wBAAwB,SAASN,WAAW,CAA6B;EAClFG,SAAS,GAAG,oCAAoC;EAEhDC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,0BAA0B;EACrC;AACJ;AAEA,OAAO,MAAMA,0BAA0B,GAAGN,iBAAiB,CAEzD,4BAA4B,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const AuthenticationContextFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { AuthenticationContext } from "./AuthenticationContext.js";
|
|
3
|
+
export const AuthenticationContextFeature = createFeature({
|
|
4
|
+
name: "AuthenticationContext",
|
|
5
|
+
register(container) {
|
|
6
|
+
container.register(AuthenticationContext).inSingletonScope();
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFeature","AuthenticationContext","AuthenticationContextFeature","name","register","container","inSingletonScope"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { AuthenticationContext } from \"./AuthenticationContext.js\";\n\nexport const AuthenticationContextFeature = createFeature({\n name: \"AuthenticationContext\",\n register(container) {\n container.register(AuthenticationContext).inSingletonScope();\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,qBAAqB;AAE9B,OAAO,MAAMC,4BAA4B,GAAGF,aAAa,CAAC;EACtDG,IAAI,EAAE,uBAAuB;EAC7BC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,qBAAqB,CAAC,CAACK,gBAAgB,CAAC,CAAC;EAChE;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["AuthenticationContextFeature","AuthenticationContext"],"sources":["index.ts"],"sourcesContent":["export { AuthenticationContextFeature } from \"./feature.js\";\nexport { AuthenticationContext } from \"./abstractions.js\";\nexport type { IAuthenticationContext } from \"./abstractions.js\";\nexport * from \"./events.js\";\nexport * from \"./errors.js\";\n"],"mappings":"AAAA,SAASA,4BAA4B;AACrC,SAASC,qBAAqB;AAE9B;AACA","ignoreList":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { IdentityData } from "../../../../features/security/IdentityContext/Identity.js";
|
|
2
|
+
export interface IAuthenticator {
|
|
3
|
+
authenticate(token: string): Promise<IdentityData | null>;
|
|
4
|
+
}
|
|
5
|
+
export declare const Authenticator: import("@webiny/di").Abstraction<IAuthenticator>;
|
|
6
|
+
export declare namespace Authenticator {
|
|
7
|
+
type Interface = IAuthenticator;
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAbstraction","Authenticator"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IdentityData } from \"~/features/security/IdentityContext/Identity.js\";\n\nexport interface IAuthenticator {\n authenticate(token: string): Promise<IdentityData | null>;\n}\n\nexport const Authenticator = createAbstraction<IAuthenticator>(\"Authenticator\");\n\nexport namespace Authenticator {\n export type Interface = IAuthenticator;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAOvD,OAAO,MAAMC,aAAa,GAAGD,iBAAiB,CAAiB,eAAe,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./abstractions.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./abstractions.js\";\n"],"mappings":"AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { AuthorizationContext as Abstraction, PermissionTransformer } from "./abstractions.js";
|
|
2
|
+
import { Authorizer } from "../Authorizer/index.js";
|
|
3
|
+
import type { SecurityPermission } from "../../../../types/security.js";
|
|
4
|
+
import { Identity } from "../../../../features/security/IdentityContext/index.js";
|
|
5
|
+
export declare class AuthorizationContext implements Abstraction.Interface {
|
|
6
|
+
private getAuthorizers;
|
|
7
|
+
private getTransformers;
|
|
8
|
+
private permissions?;
|
|
9
|
+
private permissionsLoader?;
|
|
10
|
+
constructor(getAuthorizers: () => Authorizer.Interface[], getTransformers: () => PermissionTransformer.Interface[]);
|
|
11
|
+
loadPermissions(identity: Identity): Promise<SecurityPermission[]>;
|
|
12
|
+
isAuthorizationEnabled(): boolean;
|
|
13
|
+
withoutAuthorization<T>(cb: () => Promise<T>): Promise<T>;
|
|
14
|
+
clearPermissionsCache(): void;
|
|
15
|
+
private transformPermissions;
|
|
16
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { AsyncLocalStorage } from "async_hooks";
|
|
2
|
+
const authorizationEnabledStorage = new AsyncLocalStorage();
|
|
3
|
+
export class AuthorizationContext {
|
|
4
|
+
constructor(getAuthorizers, getTransformers) {
|
|
5
|
+
this.getAuthorizers = getAuthorizers;
|
|
6
|
+
this.getTransformers = getTransformers;
|
|
7
|
+
}
|
|
8
|
+
async loadPermissions(identity) {
|
|
9
|
+
if (this.permissions) {
|
|
10
|
+
return this.permissions;
|
|
11
|
+
}
|
|
12
|
+
if (this.permissionsLoader) {
|
|
13
|
+
return this.permissionsLoader;
|
|
14
|
+
}
|
|
15
|
+
this.permissionsLoader = new Promise(async resolve => {
|
|
16
|
+
// Execute authorizers in sequence until one returns permissions
|
|
17
|
+
const authorizers = this.getAuthorizers();
|
|
18
|
+
for (const authorizer of authorizers) {
|
|
19
|
+
const permissions = await authorizer.authorize(identity);
|
|
20
|
+
if (Array.isArray(permissions)) {
|
|
21
|
+
this.permissions = this.transformPermissions(permissions);
|
|
22
|
+
return resolve(this.permissions);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// No authorizer returned permissions
|
|
27
|
+
this.permissions = [];
|
|
28
|
+
resolve(this.permissions);
|
|
29
|
+
});
|
|
30
|
+
return this.permissionsLoader;
|
|
31
|
+
}
|
|
32
|
+
isAuthorizationEnabled() {
|
|
33
|
+
const override = authorizationEnabledStorage.getStore();
|
|
34
|
+
return override ?? true;
|
|
35
|
+
}
|
|
36
|
+
withoutAuthorization(cb) {
|
|
37
|
+
return authorizationEnabledStorage.run(false, cb);
|
|
38
|
+
}
|
|
39
|
+
clearPermissionsCache() {
|
|
40
|
+
this.permissions = undefined;
|
|
41
|
+
this.permissionsLoader = undefined;
|
|
42
|
+
}
|
|
43
|
+
transformPermissions(permissions) {
|
|
44
|
+
const transformers = this.getTransformers();
|
|
45
|
+
if (transformers.length === 0) {
|
|
46
|
+
return permissions;
|
|
47
|
+
}
|
|
48
|
+
return permissions.map(permission => {
|
|
49
|
+
// A transformer can return one or multiple permissions, so we flatten the result.
|
|
50
|
+
return transformers.map(t => t.execute(permission)).flat();
|
|
51
|
+
}).flat();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
//# sourceMappingURL=AuthorizationContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["AsyncLocalStorage","authorizationEnabledStorage","AuthorizationContext","constructor","getAuthorizers","getTransformers","loadPermissions","identity","permissions","permissionsLoader","Promise","resolve","authorizers","authorizer","authorize","Array","isArray","transformPermissions","isAuthorizationEnabled","override","getStore","withoutAuthorization","cb","run","clearPermissionsCache","undefined","transformers","length","map","permission","t","execute","flat"],"sources":["AuthorizationContext.ts"],"sourcesContent":["import { AsyncLocalStorage } from \"async_hooks\";\nimport { AuthorizationContext as Abstraction, PermissionTransformer } from \"./abstractions.js\";\nimport { Authorizer } from \"../Authorizer/index.js\";\nimport type { SecurityPermission } from \"~/types/security.js\";\nimport { Identity } from \"~/features/security/IdentityContext/index.js\";\n\nconst authorizationEnabledStorage = new AsyncLocalStorage<boolean>();\n\nexport class AuthorizationContext implements Abstraction.Interface {\n private permissions?: SecurityPermission[];\n private permissionsLoader?: Promise<SecurityPermission[]>;\n\n constructor(\n private getAuthorizers: () => Authorizer.Interface[],\n private getTransformers: () => PermissionTransformer.Interface[]\n ) {}\n\n async loadPermissions(identity: Identity): Promise<SecurityPermission[]> {\n if (this.permissions) {\n return this.permissions;\n }\n\n if (this.permissionsLoader) {\n return this.permissionsLoader;\n }\n\n this.permissionsLoader = new Promise<SecurityPermission[]>(async resolve => {\n // Execute authorizers in sequence until one returns permissions\n const authorizers = this.getAuthorizers();\n for (const authorizer of authorizers) {\n const permissions = await authorizer.authorize(identity);\n if (Array.isArray(permissions)) {\n this.permissions = this.transformPermissions(permissions);\n return resolve(this.permissions);\n }\n }\n\n // No authorizer returned permissions\n this.permissions = [];\n resolve(this.permissions);\n });\n\n return this.permissionsLoader;\n }\n\n isAuthorizationEnabled(): boolean {\n const override = authorizationEnabledStorage.getStore();\n return override ?? true;\n }\n\n withoutAuthorization<T>(cb: () => Promise<T>): Promise<T> {\n return authorizationEnabledStorage.run(false, cb);\n }\n\n clearPermissionsCache(): void {\n this.permissions = undefined;\n this.permissionsLoader = undefined;\n }\n\n private transformPermissions(permissions: SecurityPermission[]) {\n const transformers = this.getTransformers();\n if (transformers.length === 0) {\n return permissions;\n }\n\n return permissions\n .map(permission => {\n // A transformer can return one or multiple permissions, so we flatten the result.\n return transformers.map(t => t.execute(permission)).flat();\n })\n .flat();\n }\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,aAAa;AAM/C,MAAMC,2BAA2B,GAAG,IAAID,iBAAiB,CAAU,CAAC;AAEpE,OAAO,MAAME,oBAAoB,CAAkC;EAI/DC,WAAWA,CACCC,cAA4C,EAC5CC,eAAwD,EAClE;IAAA,KAFUD,cAA4C,GAA5CA,cAA4C;IAAA,KAC5CC,eAAwD,GAAxDA,eAAwD;EACjE;EAEH,MAAMC,eAAeA,CAACC,QAAkB,EAAiC;IACrE,IAAI,IAAI,CAACC,WAAW,EAAE;MAClB,OAAO,IAAI,CAACA,WAAW;IAC3B;IAEA,IAAI,IAAI,CAACC,iBAAiB,EAAE;MACxB,OAAO,IAAI,CAACA,iBAAiB;IACjC;IAEA,IAAI,CAACA,iBAAiB,GAAG,IAAIC,OAAO,CAAuB,MAAMC,OAAO,IAAI;MACxE;MACA,MAAMC,WAAW,GAAG,IAAI,CAACR,cAAc,CAAC,CAAC;MACzC,KAAK,MAAMS,UAAU,IAAID,WAAW,EAAE;QAClC,MAAMJ,WAAW,GAAG,MAAMK,UAAU,CAACC,SAAS,CAACP,QAAQ,CAAC;QACxD,IAAIQ,KAAK,CAACC,OAAO,CAACR,WAAW,CAAC,EAAE;UAC5B,IAAI,CAACA,WAAW,GAAG,IAAI,CAACS,oBAAoB,CAACT,WAAW,CAAC;UACzD,OAAOG,OAAO,CAAC,IAAI,CAACH,WAAW,CAAC;QACpC;MACJ;;MAEA;MACA,IAAI,CAACA,WAAW,GAAG,EAAE;MACrBG,OAAO,CAAC,IAAI,CAACH,WAAW,CAAC;IAC7B,CAAC,CAAC;IAEF,OAAO,IAAI,CAACC,iBAAiB;EACjC;EAEAS,sBAAsBA,CAAA,EAAY;IAC9B,MAAMC,QAAQ,GAAGlB,2BAA2B,CAACmB,QAAQ,CAAC,CAAC;IACvD,OAAOD,QAAQ,IAAI,IAAI;EAC3B;EAEAE,oBAAoBA,CAAIC,EAAoB,EAAc;IACtD,OAAOrB,2BAA2B,CAACsB,GAAG,CAAC,KAAK,EAAED,EAAE,CAAC;EACrD;EAEAE,qBAAqBA,CAAA,EAAS;IAC1B,IAAI,CAAChB,WAAW,GAAGiB,SAAS;IAC5B,IAAI,CAAChB,iBAAiB,GAAGgB,SAAS;EACtC;EAEQR,oBAAoBA,CAACT,WAAiC,EAAE;IAC5D,MAAMkB,YAAY,GAAG,IAAI,CAACrB,eAAe,CAAC,CAAC;IAC3C,IAAIqB,YAAY,CAACC,MAAM,KAAK,CAAC,EAAE;MAC3B,OAAOnB,WAAW;IACtB;IAEA,OAAOA,WAAW,CACboB,GAAG,CAACC,UAAU,IAAI;MACf;MACA,OAAOH,YAAY,CAACE,GAAG,CAACE,CAAC,IAAIA,CAAC,CAACC,OAAO,CAACF,UAAU,CAAC,CAAC,CAACG,IAAI,CAAC,CAAC;IAC9D,CAAC,CAAC,CACDA,IAAI,CAAC,CAAC;EACf;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { SecurityPermission } from "../../../../types/security.js";
|
|
2
|
+
import { Identity } from "../../../../features/security/IdentityContext/index.js";
|
|
3
|
+
export interface IAuthorizationContext {
|
|
4
|
+
loadPermissions(identity: Identity): Promise<SecurityPermission[]>;
|
|
5
|
+
isAuthorizationEnabled(): boolean;
|
|
6
|
+
withoutAuthorization<T>(cb: () => Promise<T>): Promise<T>;
|
|
7
|
+
clearPermissionsCache(): void;
|
|
8
|
+
}
|
|
9
|
+
export declare const AuthorizationContext: import("@webiny/di").Abstraction<IAuthorizationContext>;
|
|
10
|
+
export declare namespace AuthorizationContext {
|
|
11
|
+
type Interface = IAuthorizationContext;
|
|
12
|
+
}
|
|
13
|
+
export interface IPermissionTransformer {
|
|
14
|
+
execute(permission: SecurityPermission): SecurityPermission | SecurityPermission[];
|
|
15
|
+
}
|
|
16
|
+
export declare const PermissionTransformer: import("@webiny/di").Abstraction<IPermissionTransformer>;
|
|
17
|
+
export declare namespace PermissionTransformer {
|
|
18
|
+
type Interface = IPermissionTransformer;
|
|
19
|
+
type Permission = SecurityPermission;
|
|
20
|
+
type Return = SecurityPermission | SecurityPermission[];
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAbstraction","AuthorizationContext","PermissionTransformer"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { SecurityPermission } from \"~/types/security.js\";\nimport { Identity } from \"~/features/security/IdentityContext/index.js\";\n\nexport interface IAuthorizationContext {\n loadPermissions(identity: Identity): Promise<SecurityPermission[]>;\n isAuthorizationEnabled(): boolean;\n withoutAuthorization<T>(cb: () => Promise<T>): Promise<T>;\n clearPermissionsCache(): void;\n}\n\nexport const AuthorizationContext =\n createAbstraction<IAuthorizationContext>(\"AuthorizationContext\");\n\nexport namespace AuthorizationContext {\n export type Interface = IAuthorizationContext;\n}\n\nexport interface IPermissionTransformer {\n execute(permission: SecurityPermission): SecurityPermission | SecurityPermission[];\n}\n\nexport const PermissionTransformer =\n createAbstraction<IPermissionTransformer>(\"PermissionTransformer\");\n\nexport namespace PermissionTransformer {\n export type Interface = IPermissionTransformer;\n export type Permission = SecurityPermission;\n export type Return = SecurityPermission | SecurityPermission[];\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAWvD,OAAO,MAAMC,oBAAoB,GAC7BD,iBAAiB,CAAwB,sBAAsB,CAAC;AAUpE,OAAO,MAAME,qBAAqB,GAC9BF,iBAAiB,CAAyB,uBAAuB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const AuthorizationContextFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { AuthorizationContext } from "./AuthorizationContext.js";
|
|
3
|
+
import { AuthorizationContext as Abstraction, PermissionTransformer } from "./abstractions.js";
|
|
4
|
+
import { Authorizer } from "../Authorizer/index.js";
|
|
5
|
+
export const AuthorizationContextFeature = createFeature({
|
|
6
|
+
name: "AuthorizationContext",
|
|
7
|
+
register(container) {
|
|
8
|
+
const getAuthorizers = () => container.resolveAll(Authorizer);
|
|
9
|
+
const getTransformers = () => container.resolveAll(PermissionTransformer);
|
|
10
|
+
const authorizationContext = new AuthorizationContext(getAuthorizers, getTransformers);
|
|
11
|
+
container.registerInstance(Abstraction, authorizationContext);
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFeature","AuthorizationContext","Abstraction","PermissionTransformer","Authorizer","AuthorizationContextFeature","name","register","container","getAuthorizers","resolveAll","getTransformers","authorizationContext","registerInstance"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { AuthorizationContext } from \"./AuthorizationContext.js\";\nimport { AuthorizationContext as Abstraction, PermissionTransformer } from \"./abstractions.js\";\nimport { Authorizer } from \"~/features/security/authorization/Authorizer/index.js\";\n\nexport const AuthorizationContextFeature = createFeature({\n name: \"AuthorizationContext\",\n register(container) {\n const getAuthorizers = () => container.resolveAll(Authorizer);\n const getTransformers = () => container.resolveAll(PermissionTransformer);\n\n const authorizationContext = new AuthorizationContext(getAuthorizers, getTransformers);\n\n container.registerInstance(Abstraction, authorizationContext);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,oBAAoB;AAC7B,SAASA,oBAAoB,IAAIC,WAAW,EAAEC,qBAAqB;AACnE,SAASC,UAAU;AAEnB,OAAO,MAAMC,2BAA2B,GAAGL,aAAa,CAAC;EACrDM,IAAI,EAAE,sBAAsB;EAC5BC,QAAQA,CAACC,SAAS,EAAE;IAChB,MAAMC,cAAc,GAAGA,CAAA,KAAMD,SAAS,CAACE,UAAU,CAACN,UAAU,CAAC;IAC7D,MAAMO,eAAe,GAAGA,CAAA,KAAMH,SAAS,CAACE,UAAU,CAACP,qBAAqB,CAAC;IAEzE,MAAMS,oBAAoB,GAAG,IAAIX,oBAAoB,CAACQ,cAAc,EAAEE,eAAe,CAAC;IAEtFH,SAAS,CAACK,gBAAgB,CAACX,WAAW,EAAEU,oBAAoB,CAAC;EACjE;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["AuthorizationContextFeature","AuthorizationContext","PermissionTransformer"],"sources":["index.ts"],"sourcesContent":["export { AuthorizationContextFeature } from \"./feature.js\";\nexport { AuthorizationContext } from \"./abstractions.js\";\nexport { PermissionTransformer } from \"./abstractions.js\";\nexport type { IAuthorizationContext } from \"./abstractions.js\";\n"],"mappings":"AAAA,SAASA,2BAA2B;AACpC,SAASC,oBAAoB;AAC7B,SAASC,qBAAqB","ignoreList":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { SecurityPermission } from "../../../../types/security.js";
|
|
2
|
+
import { Identity } from "../../../../features/security/IdentityContext/index.js";
|
|
3
|
+
export interface IAuthorizer {
|
|
4
|
+
authorize(identity: Identity): Promise<SecurityPermission[] | null>;
|
|
5
|
+
}
|
|
6
|
+
export declare const Authorizer: import("@webiny/di").Abstraction<IAuthorizer>;
|
|
7
|
+
export declare namespace Authorizer {
|
|
8
|
+
type Interface = IAuthorizer;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAbstraction","Authorizer"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { SecurityPermission } from \"~/types/security.js\";\nimport { Identity } from \"~/features/security/IdentityContext/index.js\";\n\nexport interface IAuthorizer {\n authorize(identity: Identity): Promise<SecurityPermission[] | null>;\n}\n\nexport const Authorizer = createAbstraction<IAuthorizer>(\"Authorizer\");\n\nexport namespace Authorizer {\n export type Interface = IAuthorizer;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAQvD,OAAO,MAAMC,UAAU,GAAGD,iBAAiB,CAAc,YAAY,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./abstractions.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./abstractions.js\";\n"],"mappings":"AAAA","ignoreList":[]}
|