@synchronized-console/shared 2.25.7 → 2.31.14
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/dist/commonjs/acc/helpers/types.d.ts +46 -0
- package/dist/commonjs/acc/helpers/types.d.ts.map +1 -0
- package/dist/commonjs/acc/helpers/types.js +3 -0
- package/dist/commonjs/acc/helpers/types.js.map +1 -0
- package/dist/commonjs/acc/index.d.ts +2 -0
- package/dist/commonjs/acc/index.d.ts.map +1 -0
- package/dist/commonjs/acc/index.js +18 -0
- package/dist/commonjs/acc/index.js.map +1 -0
- package/dist/commonjs/authz/checks/dashboards.d.ts +5 -0
- package/dist/commonjs/authz/checks/dashboards.d.ts.map +1 -0
- package/dist/commonjs/authz/checks/dashboards.js +11 -0
- package/dist/commonjs/authz/checks/dashboards.js.map +1 -0
- package/dist/commonjs/authz/domain/authErrors.d.ts +98 -3
- package/dist/commonjs/authz/domain/authErrors.d.ts.map +1 -1
- package/dist/commonjs/authz/domain/authErrors.js +66 -3
- package/dist/commonjs/authz/domain/authErrors.js.map +1 -1
- package/dist/commonjs/authz/domain/automate/operations.d.ts +5 -0
- package/dist/commonjs/authz/domain/automate/operations.d.ts.map +1 -0
- package/dist/commonjs/authz/domain/automate/operations.js +3 -0
- package/dist/commonjs/authz/domain/automate/operations.js.map +1 -0
- package/dist/commonjs/authz/domain/automate/types.d.ts +10 -0
- package/dist/commonjs/authz/domain/automate/types.d.ts.map +1 -0
- package/dist/commonjs/authz/domain/automate/types.js +3 -0
- package/dist/commonjs/authz/domain/automate/types.js.map +1 -0
- package/dist/commonjs/authz/domain/context.d.ts +12 -0
- package/dist/commonjs/authz/domain/context.d.ts.map +1 -1
- package/dist/commonjs/authz/domain/dashboards/operations.d.ts +5 -0
- package/dist/commonjs/authz/domain/dashboards/operations.d.ts.map +1 -0
- package/dist/commonjs/authz/domain/dashboards/operations.js +3 -0
- package/dist/commonjs/authz/domain/dashboards/operations.js.map +1 -0
- package/dist/commonjs/authz/domain/dashboards/types.d.ts +7 -0
- package/dist/commonjs/authz/domain/dashboards/types.d.ts.map +1 -0
- package/dist/commonjs/authz/domain/dashboards/types.js +3 -0
- package/dist/commonjs/authz/domain/dashboards/types.js.map +1 -0
- package/dist/commonjs/authz/domain/loaders.d.ts +63 -45
- package/dist/commonjs/authz/domain/loaders.d.ts.map +1 -1
- package/dist/commonjs/authz/domain/loaders.js +27 -21
- package/dist/commonjs/authz/domain/loaders.js.map +1 -1
- package/dist/commonjs/authz/domain/savedViews/operations.d.ts +10 -0
- package/dist/commonjs/authz/domain/savedViews/operations.d.ts.map +1 -0
- package/dist/commonjs/authz/domain/savedViews/operations.js +3 -0
- package/dist/commonjs/authz/domain/savedViews/operations.js.map +1 -0
- package/dist/commonjs/authz/domain/savedViews/types.d.ts +26 -0
- package/dist/commonjs/authz/domain/savedViews/types.d.ts.map +1 -0
- package/dist/commonjs/authz/domain/savedViews/types.js +6 -0
- package/dist/commonjs/authz/domain/savedViews/types.js.map +1 -0
- package/dist/commonjs/authz/domain/workspaces/operations.d.ts +2 -1
- package/dist/commonjs/authz/domain/workspaces/operations.d.ts.map +1 -1
- package/dist/commonjs/authz/domain/workspaces/types.d.ts +3 -0
- package/dist/commonjs/authz/domain/workspaces/types.d.ts.map +1 -1
- package/dist/commonjs/authz/fragments/automate.d.ts +7 -0
- package/dist/commonjs/authz/fragments/automate.d.ts.map +1 -0
- package/dist/commonjs/authz/fragments/automate.js +22 -0
- package/dist/commonjs/authz/fragments/automate.js.map +1 -0
- package/dist/commonjs/authz/fragments/dashboards.d.ts +8 -0
- package/dist/commonjs/authz/fragments/dashboards.d.ts.map +1 -0
- package/dist/commonjs/authz/fragments/dashboards.js +48 -0
- package/dist/commonjs/authz/fragments/dashboards.js.map +1 -0
- package/dist/commonjs/authz/fragments/projects.d.ts +13 -1
- package/dist/commonjs/authz/fragments/projects.d.ts.map +1 -1
- package/dist/commonjs/authz/fragments/projects.js +25 -1
- package/dist/commonjs/authz/fragments/projects.js.map +1 -1
- package/dist/commonjs/authz/fragments/savedViews.d.ts +30 -0
- package/dist/commonjs/authz/fragments/savedViews.d.ts.map +1 -0
- package/dist/commonjs/authz/fragments/savedViews.js +122 -0
- package/dist/commonjs/authz/fragments/savedViews.js.map +1 -0
- package/dist/commonjs/authz/fragments/workspaces.d.ts +9 -1
- package/dist/commonjs/authz/fragments/workspaces.d.ts.map +1 -1
- package/dist/commonjs/authz/fragments/workspaces.js +47 -1
- package/dist/commonjs/authz/fragments/workspaces.js.map +1 -1
- package/dist/commonjs/authz/helpers/graphql.d.ts +1 -1
- package/dist/commonjs/authz/helpers/graphql.d.ts.map +1 -1
- package/dist/commonjs/authz/helpers/graphql.js +1 -1
- package/dist/commonjs/authz/helpers/graphql.js.map +1 -1
- package/dist/commonjs/authz/index.d.ts +1 -0
- package/dist/commonjs/authz/index.d.ts.map +1 -1
- package/dist/commonjs/authz/index.js +1 -0
- package/dist/commonjs/authz/index.js.map +1 -1
- package/dist/commonjs/authz/policies/automate/function/canEditFunction.d.ts +10 -0
- package/dist/commonjs/authz/policies/automate/function/canEditFunction.d.ts.map +1 -0
- package/dist/commonjs/authz/policies/automate/function/canEditFunction.js +19 -0
- package/dist/commonjs/authz/policies/automate/function/canEditFunction.js.map +1 -0
- package/dist/commonjs/authz/policies/dashboard/canCreateToken.d.ts +10 -0
- package/dist/commonjs/authz/policies/dashboard/canCreateToken.d.ts.map +1 -0
- package/dist/commonjs/authz/policies/dashboard/canCreateToken.js +45 -0
- package/dist/commonjs/authz/policies/dashboard/canCreateToken.js.map +1 -0
- package/dist/commonjs/authz/policies/dashboard/canDelete.d.ts +10 -0
- package/dist/commonjs/authz/policies/dashboard/canDelete.d.ts.map +1 -0
- package/dist/commonjs/authz/policies/dashboard/canDelete.js +45 -0
- package/dist/commonjs/authz/policies/dashboard/canDelete.js.map +1 -0
- package/dist/commonjs/authz/policies/dashboard/canEdit.d.ts +10 -0
- package/dist/commonjs/authz/policies/dashboard/canEdit.d.ts.map +1 -0
- package/dist/commonjs/authz/policies/dashboard/canEdit.js +43 -0
- package/dist/commonjs/authz/policies/dashboard/canEdit.js.map +1 -0
- package/dist/commonjs/authz/policies/dashboard/canRead.d.ts +10 -0
- package/dist/commonjs/authz/policies/dashboard/canRead.d.ts.map +1 -0
- package/dist/commonjs/authz/policies/dashboard/canRead.js +42 -0
- package/dist/commonjs/authz/policies/dashboard/canRead.js.map +1 -0
- package/dist/commonjs/authz/policies/index.d.ts +62 -1
- package/dist/commonjs/authz/policies/index.d.ts.map +1 -1
- package/dist/commonjs/authz/policies/index.js +52 -4
- package/dist/commonjs/authz/policies/index.js.map +1 -1
- package/dist/commonjs/authz/policies/project/canLoad.d.ts.map +1 -1
- package/dist/commonjs/authz/policies/project/canLoad.js +6 -0
- package/dist/commonjs/authz/policies/project/canLoad.js.map +1 -1
- package/dist/commonjs/authz/policies/project/canReadAccIntegrationSettings.d.ts +10 -0
- package/dist/commonjs/authz/policies/project/canReadAccIntegrationSettings.d.ts.map +1 -0
- package/dist/commonjs/authz/policies/project/canReadAccIntegrationSettings.js +35 -0
- package/dist/commonjs/authz/policies/project/canReadAccIntegrationSettings.js.map +1 -0
- package/dist/commonjs/authz/policies/project/canUpdateEmbedTokens.d.ts +10 -0
- package/dist/commonjs/authz/policies/project/canUpdateEmbedTokens.d.ts.map +1 -0
- package/dist/commonjs/authz/policies/project/canUpdateEmbedTokens.js +52 -0
- package/dist/commonjs/authz/policies/project/canUpdateEmbedTokens.js.map +1 -0
- package/dist/commonjs/authz/policies/project/savedViews/canCreate.d.ts +6 -0
- package/dist/commonjs/authz/policies/project/savedViews/canCreate.d.ts.map +1 -0
- package/dist/commonjs/authz/policies/project/savedViews/canCreate.js +31 -0
- package/dist/commonjs/authz/policies/project/savedViews/canCreate.js.map +1 -0
- package/dist/commonjs/authz/policies/project/savedViews/canCreateSavedViewGroupToken.d.ts +6 -0
- package/dist/commonjs/authz/policies/project/savedViews/canCreateSavedViewGroupToken.d.ts.map +1 -0
- package/dist/commonjs/authz/policies/project/savedViews/canCreateSavedViewGroupToken.js +61 -0
- package/dist/commonjs/authz/policies/project/savedViews/canCreateSavedViewGroupToken.js.map +1 -0
- package/dist/commonjs/authz/policies/project/savedViews/canEditDescription.d.ts +6 -0
- package/dist/commonjs/authz/policies/project/savedViews/canEditDescription.d.ts.map +1 -0
- package/dist/commonjs/authz/policies/project/savedViews/canEditDescription.js +14 -0
- package/dist/commonjs/authz/policies/project/savedViews/canEditDescription.js.map +1 -0
- package/dist/commonjs/authz/policies/project/savedViews/canEditTitle.d.ts +6 -0
- package/dist/commonjs/authz/policies/project/savedViews/canEditTitle.d.ts.map +1 -0
- package/dist/commonjs/authz/policies/project/savedViews/canEditTitle.js +14 -0
- package/dist/commonjs/authz/policies/project/savedViews/canEditTitle.js.map +1 -0
- package/dist/commonjs/authz/policies/project/savedViews/canMove.d.ts +6 -0
- package/dist/commonjs/authz/policies/project/savedViews/canMove.d.ts.map +1 -0
- package/dist/commonjs/authz/policies/project/savedViews/canMove.js +14 -0
- package/dist/commonjs/authz/policies/project/savedViews/canMove.js.map +1 -0
- package/dist/commonjs/authz/policies/project/savedViews/canRead.d.ts +11 -0
- package/dist/commonjs/authz/policies/project/savedViews/canRead.d.ts.map +1 -0
- package/dist/commonjs/authz/policies/project/savedViews/canRead.js +15 -0
- package/dist/commonjs/authz/policies/project/savedViews/canRead.js.map +1 -0
- package/dist/commonjs/authz/policies/project/savedViews/canSetAsHomeView.d.ts +6 -0
- package/dist/commonjs/authz/policies/project/savedViews/canSetAsHomeView.d.ts.map +1 -0
- package/dist/commonjs/authz/policies/project/savedViews/canSetAsHomeView.js +45 -0
- package/dist/commonjs/authz/policies/project/savedViews/canSetAsHomeView.js.map +1 -0
- package/dist/commonjs/authz/policies/project/savedViews/canUpdate.d.ts +6 -0
- package/dist/commonjs/authz/policies/project/savedViews/canUpdate.d.ts.map +1 -0
- package/dist/commonjs/authz/policies/project/savedViews/canUpdate.js +14 -0
- package/dist/commonjs/authz/policies/project/savedViews/canUpdate.js.map +1 -0
- package/dist/commonjs/authz/policies/project/savedViews/canUpdateGroup.d.ts +6 -0
- package/dist/commonjs/authz/policies/project/savedViews/canUpdateGroup.d.ts.map +1 -0
- package/dist/commonjs/authz/policies/project/savedViews/canUpdateGroup.js +14 -0
- package/dist/commonjs/authz/policies/project/savedViews/canUpdateGroup.js.map +1 -0
- package/dist/commonjs/authz/policies/workspace/canCreateDashboards.d.ts +10 -0
- package/dist/commonjs/authz/policies/workspace/canCreateDashboards.d.ts.map +1 -0
- package/dist/commonjs/authz/policies/workspace/canCreateDashboards.js +39 -0
- package/dist/commonjs/authz/policies/workspace/canCreateDashboards.js.map +1 -0
- package/dist/commonjs/authz/policies/workspace/canCreateWorkspace.d.ts +10 -0
- package/dist/commonjs/authz/policies/workspace/canCreateWorkspace.d.ts.map +1 -0
- package/dist/commonjs/authz/policies/workspace/canCreateWorkspace.js +51 -0
- package/dist/commonjs/authz/policies/workspace/canCreateWorkspace.js.map +1 -0
- package/dist/commonjs/authz/policies/workspace/canListDashboards.d.ts +10 -0
- package/dist/commonjs/authz/policies/workspace/canListDashboards.d.ts.map +1 -0
- package/dist/commonjs/authz/policies/workspace/canListDashboards.js +26 -0
- package/dist/commonjs/authz/policies/workspace/canListDashboards.js.map +1 -0
- package/dist/commonjs/authz/policies/workspace/canReadMemberEmail.d.ts +1 -1
- package/dist/commonjs/authz/policies/workspace/canReadMemberEmail.d.ts.map +1 -1
- package/dist/commonjs/authz/policies/workspace/canReadMemberEmail.js +1 -20
- package/dist/commonjs/authz/policies/workspace/canReadMemberEmail.js.map +1 -1
- package/dist/commonjs/authz/policies/workspace/{canUpdateEmbedOptions.d.ts → canUseWorkspacePlanFeature.d.ts} +13 -5
- package/dist/commonjs/authz/policies/workspace/canUseWorkspacePlanFeature.d.ts.map +1 -0
- package/dist/commonjs/authz/policies/workspace/canUseWorkspacePlanFeature.js +27 -0
- package/dist/commonjs/authz/policies/workspace/canUseWorkspacePlanFeature.js.map +1 -0
- package/dist/commonjs/automate/helpers/types.d.ts +313 -51
- package/dist/commonjs/automate/helpers/types.d.ts.map +1 -1
- package/dist/commonjs/automate/helpers/types.js +12 -2
- package/dist/commonjs/automate/helpers/types.js.map +1 -1
- package/dist/commonjs/blobs/index.d.ts +17 -0
- package/dist/commonjs/blobs/index.d.ts.map +1 -0
- package/dist/commonjs/blobs/index.js +114 -0
- package/dist/commonjs/blobs/index.js.map +1 -0
- package/dist/commonjs/core/constants.d.ts +4 -2
- package/dist/commonjs/core/constants.d.ts.map +1 -1
- package/dist/commonjs/core/constants.js +24 -4
- package/dist/commonjs/core/constants.js.map +1 -1
- package/dist/commonjs/core/helpers/encoding.d.ts +2 -0
- package/dist/commonjs/core/helpers/encoding.d.ts.map +1 -0
- package/dist/commonjs/core/helpers/encoding.js +15 -0
- package/dist/commonjs/core/helpers/encoding.js.map +1 -0
- package/dist/commonjs/core/helpers/error.d.ts +11 -0
- package/dist/commonjs/core/helpers/error.d.ts.map +1 -1
- package/dist/commonjs/core/helpers/error.js +60 -2
- package/dist/commonjs/core/helpers/error.js.map +1 -1
- package/dist/commonjs/core/helpers/url.d.ts +24 -0
- package/dist/commonjs/core/helpers/url.d.ts.map +1 -1
- package/dist/commonjs/core/helpers/url.js +30 -0
- package/dist/commonjs/core/helpers/url.js.map +1 -1
- package/dist/commonjs/core/helpers/utility.d.ts +16 -0
- package/dist/commonjs/core/helpers/utility.d.ts.map +1 -1
- package/dist/commonjs/core/helpers/utility.js +22 -1
- package/dist/commonjs/core/helpers/utility.js.map +1 -1
- package/dist/commonjs/core/index.d.ts +2 -0
- package/dist/commonjs/core/index.d.ts.map +1 -1
- package/dist/commonjs/core/index.js +2 -0
- package/dist/commonjs/core/index.js.map +1 -1
- package/dist/commonjs/core/utils/base64.d.ts +3 -0
- package/dist/commonjs/core/utils/base64.d.ts.map +1 -0
- package/dist/commonjs/core/utils/base64.js +25 -0
- package/dist/commonjs/core/utils/base64.js.map +1 -0
- package/dist/commonjs/environment/{multiRegionConfig.d.ts → db.d.ts} +54 -5
- package/dist/commonjs/environment/db.d.ts.map +1 -0
- package/dist/commonjs/environment/{multiRegionConfig.js → db.js} +45 -10
- package/dist/commonjs/environment/db.js.map +1 -0
- package/dist/commonjs/environment/featureFlags.d.ts +25 -0
- package/dist/commonjs/environment/featureFlags.d.ts.map +1 -0
- package/dist/commonjs/environment/featureFlags.js +6 -0
- package/dist/commonjs/environment/featureFlags.js.map +1 -0
- package/dist/commonjs/environment/index.d.ts +2 -15
- package/dist/commonjs/environment/index.d.ts.map +1 -1
- package/dist/commonjs/environment/index.js +44 -7
- package/dist/commonjs/environment/index.js.map +1 -1
- package/dist/commonjs/environment/node.d.ts +5 -0
- package/dist/commonjs/environment/node.d.ts.map +1 -0
- package/dist/commonjs/environment/node.js +15 -0
- package/dist/commonjs/environment/node.js.map +1 -0
- package/dist/commonjs/images/base64.d.ts +2 -0
- package/dist/commonjs/images/base64.d.ts.map +1 -0
- package/dist/commonjs/images/base64.js +19 -0
- package/dist/commonjs/images/base64.js.map +1 -0
- package/dist/commonjs/index.d.ts +1 -0
- package/dist/commonjs/index.d.ts.map +1 -1
- package/dist/commonjs/index.js +1 -0
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/observability/index.d.ts.map +1 -1
- package/dist/commonjs/observability/index.js +19 -2
- package/dist/commonjs/observability/index.js.map +1 -1
- package/dist/commonjs/queue/config.d.ts +3 -0
- package/dist/commonjs/queue/config.d.ts.map +1 -1
- package/dist/commonjs/queue/config.js +14 -5
- package/dist/commonjs/queue/config.js.map +1 -1
- package/dist/commonjs/rich-text-editor/helpers/index.d.ts +13 -1
- package/dist/commonjs/rich-text-editor/helpers/index.d.ts.map +1 -1
- package/dist/commonjs/rich-text-editor/helpers/index.js +1 -0
- package/dist/commonjs/rich-text-editor/helpers/index.js.map +1 -1
- package/dist/commonjs/saved-views/helpers/defaultGroup.d.ts +23 -0
- package/dist/commonjs/saved-views/helpers/defaultGroup.d.ts.map +1 -0
- package/dist/commonjs/saved-views/helpers/defaultGroup.js +58 -0
- package/dist/commonjs/saved-views/helpers/defaultGroup.js.map +1 -0
- package/dist/commonjs/saved-views/index.d.ts +2 -0
- package/dist/commonjs/saved-views/index.d.ts.map +1 -0
- package/dist/commonjs/saved-views/index.js +18 -0
- package/dist/commonjs/saved-views/index.js.map +1 -0
- package/dist/commonjs/viewer/helpers/route.d.ts +42 -7
- package/dist/commonjs/viewer/helpers/route.d.ts.map +1 -1
- package/dist/commonjs/viewer/helpers/route.js +149 -38
- package/dist/commonjs/viewer/helpers/route.js.map +1 -1
- package/dist/commonjs/viewer/helpers/state.d.ts +59 -6
- package/dist/commonjs/viewer/helpers/state.d.ts.map +1 -1
- package/dist/commonjs/viewer/helpers/state.js +100 -23
- package/dist/commonjs/viewer/helpers/state.js.map +1 -1
- package/dist/commonjs/workers/fileimport/job.d.ts +85 -9
- package/dist/commonjs/workers/fileimport/job.d.ts.map +1 -1
- package/dist/commonjs/workers/fileimport/job.js +21 -10
- package/dist/commonjs/workers/fileimport/job.js.map +1 -1
- package/dist/commonjs/workers/previews/job.d.ts +37 -20
- package/dist/commonjs/workers/previews/job.d.ts.map +1 -1
- package/dist/commonjs/workers/previews/job.js +23 -2
- package/dist/commonjs/workers/previews/job.js.map +1 -1
- package/dist/commonjs/workspaces/helpers/features.d.ts +55 -5
- package/dist/commonjs/workspaces/helpers/features.d.ts.map +1 -1
- package/dist/commonjs/workspaces/helpers/features.js +180 -114
- package/dist/commonjs/workspaces/helpers/features.js.map +1 -1
- package/dist/commonjs/workspaces/helpers/plans.d.ts +1 -0
- package/dist/commonjs/workspaces/helpers/plans.d.ts.map +1 -1
- package/dist/commonjs/workspaces/helpers/plans.js.map +1 -1
- package/dist/esm/acc/helpers/types.d.ts +46 -0
- package/dist/esm/acc/helpers/types.d.ts.map +1 -0
- package/dist/esm/acc/helpers/types.js +2 -0
- package/dist/esm/acc/helpers/types.js.map +1 -0
- package/dist/esm/acc/index.d.ts +2 -0
- package/dist/esm/acc/index.d.ts.map +1 -0
- package/dist/esm/acc/index.js +2 -0
- package/dist/esm/acc/index.js.map +1 -0
- package/dist/esm/authz/checks/dashboards.d.ts +5 -0
- package/dist/esm/authz/checks/dashboards.d.ts.map +1 -0
- package/dist/esm/authz/checks/dashboards.js +7 -0
- package/dist/esm/authz/checks/dashboards.js.map +1 -0
- package/dist/esm/authz/domain/authErrors.d.ts +98 -3
- package/dist/esm/authz/domain/authErrors.d.ts.map +1 -1
- package/dist/esm/authz/domain/authErrors.js +65 -2
- package/dist/esm/authz/domain/authErrors.js.map +1 -1
- package/dist/esm/authz/domain/automate/operations.d.ts +5 -0
- package/dist/esm/authz/domain/automate/operations.d.ts.map +1 -0
- package/dist/esm/authz/domain/automate/operations.js +2 -0
- package/dist/esm/authz/domain/automate/operations.js.map +1 -0
- package/dist/esm/authz/domain/automate/types.d.ts +10 -0
- package/dist/esm/authz/domain/automate/types.d.ts.map +1 -0
- package/dist/esm/authz/domain/automate/types.js +2 -0
- package/dist/esm/authz/domain/automate/types.js.map +1 -0
- package/dist/esm/authz/domain/context.d.ts +12 -0
- package/dist/esm/authz/domain/context.d.ts.map +1 -1
- package/dist/esm/authz/domain/dashboards/operations.d.ts +5 -0
- package/dist/esm/authz/domain/dashboards/operations.d.ts.map +1 -0
- package/dist/esm/authz/domain/dashboards/operations.js +2 -0
- package/dist/esm/authz/domain/dashboards/operations.js.map +1 -0
- package/dist/esm/authz/domain/dashboards/types.d.ts +7 -0
- package/dist/esm/authz/domain/dashboards/types.d.ts.map +1 -0
- package/dist/esm/authz/domain/dashboards/types.js +2 -0
- package/dist/esm/authz/domain/dashboards/types.js.map +1 -0
- package/dist/esm/authz/domain/loaders.d.ts +63 -45
- package/dist/esm/authz/domain/loaders.d.ts.map +1 -1
- package/dist/esm/authz/domain/loaders.js +27 -21
- package/dist/esm/authz/domain/loaders.js.map +1 -1
- package/dist/esm/authz/domain/savedViews/operations.d.ts +10 -0
- package/dist/esm/authz/domain/savedViews/operations.d.ts.map +1 -0
- package/dist/esm/authz/domain/savedViews/operations.js +2 -0
- package/dist/esm/authz/domain/savedViews/operations.js.map +1 -0
- package/dist/esm/authz/domain/savedViews/types.d.ts +26 -0
- package/dist/esm/authz/domain/savedViews/types.d.ts.map +1 -0
- package/dist/esm/authz/domain/savedViews/types.js +3 -0
- package/dist/esm/authz/domain/savedViews/types.js.map +1 -0
- package/dist/esm/authz/domain/workspaces/operations.d.ts +2 -1
- package/dist/esm/authz/domain/workspaces/operations.d.ts.map +1 -1
- package/dist/esm/authz/domain/workspaces/types.d.ts +3 -0
- package/dist/esm/authz/domain/workspaces/types.d.ts.map +1 -1
- package/dist/esm/authz/fragments/automate.d.ts +7 -0
- package/dist/esm/authz/fragments/automate.d.ts.map +1 -0
- package/dist/esm/authz/fragments/automate.js +17 -0
- package/dist/esm/authz/fragments/automate.js.map +1 -0
- package/dist/esm/authz/fragments/dashboards.d.ts +8 -0
- package/dist/esm/authz/fragments/dashboards.d.ts.map +1 -0
- package/dist/esm/authz/fragments/dashboards.js +42 -0
- package/dist/esm/authz/fragments/dashboards.js.map +1 -0
- package/dist/esm/authz/fragments/projects.d.ts +13 -1
- package/dist/esm/authz/fragments/projects.d.ts.map +1 -1
- package/dist/esm/authz/fragments/projects.js +24 -1
- package/dist/esm/authz/fragments/projects.js.map +1 -1
- package/dist/esm/authz/fragments/savedViews.d.ts +30 -0
- package/dist/esm/authz/fragments/savedViews.d.ts.map +1 -0
- package/dist/esm/authz/fragments/savedViews.js +117 -0
- package/dist/esm/authz/fragments/savedViews.js.map +1 -0
- package/dist/esm/authz/fragments/workspaces.d.ts +9 -1
- package/dist/esm/authz/fragments/workspaces.d.ts.map +1 -1
- package/dist/esm/authz/fragments/workspaces.js +45 -1
- package/dist/esm/authz/fragments/workspaces.js.map +1 -1
- package/dist/esm/authz/helpers/graphql.d.ts +1 -1
- package/dist/esm/authz/helpers/graphql.d.ts.map +1 -1
- package/dist/esm/authz/helpers/graphql.js +1 -1
- package/dist/esm/authz/helpers/graphql.js.map +1 -1
- package/dist/esm/authz/index.d.ts +1 -0
- package/dist/esm/authz/index.d.ts.map +1 -1
- package/dist/esm/authz/index.js +1 -0
- package/dist/esm/authz/index.js.map +1 -1
- package/dist/esm/authz/policies/automate/function/canEditFunction.d.ts +10 -0
- package/dist/esm/authz/policies/automate/function/canEditFunction.d.ts.map +1 -0
- package/dist/esm/authz/policies/automate/function/canEditFunction.js +15 -0
- package/dist/esm/authz/policies/automate/function/canEditFunction.js.map +1 -0
- package/dist/esm/authz/policies/dashboard/canCreateToken.d.ts +10 -0
- package/dist/esm/authz/policies/dashboard/canCreateToken.d.ts.map +1 -0
- package/dist/esm/authz/policies/dashboard/canCreateToken.js +41 -0
- package/dist/esm/authz/policies/dashboard/canCreateToken.js.map +1 -0
- package/dist/esm/authz/policies/dashboard/canDelete.d.ts +10 -0
- package/dist/esm/authz/policies/dashboard/canDelete.d.ts.map +1 -0
- package/dist/esm/authz/policies/dashboard/canDelete.js +41 -0
- package/dist/esm/authz/policies/dashboard/canDelete.js.map +1 -0
- package/dist/esm/authz/policies/dashboard/canEdit.d.ts +10 -0
- package/dist/esm/authz/policies/dashboard/canEdit.d.ts.map +1 -0
- package/dist/esm/authz/policies/dashboard/canEdit.js +39 -0
- package/dist/esm/authz/policies/dashboard/canEdit.js.map +1 -0
- package/dist/esm/authz/policies/dashboard/canRead.d.ts +10 -0
- package/dist/esm/authz/policies/dashboard/canRead.d.ts.map +1 -0
- package/dist/esm/authz/policies/dashboard/canRead.js +38 -0
- package/dist/esm/authz/policies/dashboard/canRead.js.map +1 -0
- package/dist/esm/authz/policies/index.d.ts +62 -1
- package/dist/esm/authz/policies/index.d.ts.map +1 -1
- package/dist/esm/authz/policies/index.js +52 -4
- package/dist/esm/authz/policies/index.js.map +1 -1
- package/dist/esm/authz/policies/project/canLoad.d.ts.map +1 -1
- package/dist/esm/authz/policies/project/canLoad.js +6 -0
- package/dist/esm/authz/policies/project/canLoad.js.map +1 -1
- package/dist/esm/authz/policies/project/canReadAccIntegrationSettings.d.ts +10 -0
- package/dist/esm/authz/policies/project/canReadAccIntegrationSettings.d.ts.map +1 -0
- package/dist/esm/authz/policies/project/canReadAccIntegrationSettings.js +31 -0
- package/dist/esm/authz/policies/project/canReadAccIntegrationSettings.js.map +1 -0
- package/dist/esm/authz/policies/project/canUpdateEmbedTokens.d.ts +10 -0
- package/dist/esm/authz/policies/project/canUpdateEmbedTokens.d.ts.map +1 -0
- package/dist/esm/authz/policies/project/canUpdateEmbedTokens.js +48 -0
- package/dist/esm/authz/policies/project/canUpdateEmbedTokens.js.map +1 -0
- package/dist/esm/authz/policies/project/savedViews/canCreate.d.ts +6 -0
- package/dist/esm/authz/policies/project/savedViews/canCreate.d.ts.map +1 -0
- package/dist/esm/authz/policies/project/savedViews/canCreate.js +27 -0
- package/dist/esm/authz/policies/project/savedViews/canCreate.js.map +1 -0
- package/dist/esm/authz/policies/project/savedViews/canCreateSavedViewGroupToken.d.ts +6 -0
- package/dist/esm/authz/policies/project/savedViews/canCreateSavedViewGroupToken.d.ts.map +1 -0
- package/dist/esm/authz/policies/project/savedViews/canCreateSavedViewGroupToken.js +57 -0
- package/dist/esm/authz/policies/project/savedViews/canCreateSavedViewGroupToken.js.map +1 -0
- package/dist/esm/authz/policies/project/savedViews/canEditDescription.d.ts +6 -0
- package/dist/esm/authz/policies/project/savedViews/canEditDescription.d.ts.map +1 -0
- package/dist/esm/authz/policies/project/savedViews/canEditDescription.js +10 -0
- package/dist/esm/authz/policies/project/savedViews/canEditDescription.js.map +1 -0
- package/dist/esm/authz/policies/project/savedViews/canEditTitle.d.ts +6 -0
- package/dist/esm/authz/policies/project/savedViews/canEditTitle.d.ts.map +1 -0
- package/dist/esm/authz/policies/project/savedViews/canEditTitle.js +10 -0
- package/dist/esm/authz/policies/project/savedViews/canEditTitle.js.map +1 -0
- package/dist/esm/authz/policies/project/savedViews/canMove.d.ts +6 -0
- package/dist/esm/authz/policies/project/savedViews/canMove.d.ts.map +1 -0
- package/dist/esm/authz/policies/project/savedViews/canMove.js +10 -0
- package/dist/esm/authz/policies/project/savedViews/canMove.js.map +1 -0
- package/dist/esm/authz/policies/project/savedViews/canRead.d.ts +11 -0
- package/dist/esm/authz/policies/project/savedViews/canRead.d.ts.map +1 -0
- package/dist/esm/authz/policies/project/savedViews/canRead.js +11 -0
- package/dist/esm/authz/policies/project/savedViews/canRead.js.map +1 -0
- package/dist/esm/authz/policies/project/savedViews/canSetAsHomeView.d.ts +6 -0
- package/dist/esm/authz/policies/project/savedViews/canSetAsHomeView.d.ts.map +1 -0
- package/dist/esm/authz/policies/project/savedViews/canSetAsHomeView.js +41 -0
- package/dist/esm/authz/policies/project/savedViews/canSetAsHomeView.js.map +1 -0
- package/dist/esm/authz/policies/project/savedViews/canUpdate.d.ts +6 -0
- package/dist/esm/authz/policies/project/savedViews/canUpdate.d.ts.map +1 -0
- package/dist/esm/authz/policies/project/savedViews/canUpdate.js +10 -0
- package/dist/esm/authz/policies/project/savedViews/canUpdate.js.map +1 -0
- package/dist/esm/authz/policies/project/savedViews/canUpdateGroup.d.ts +6 -0
- package/dist/esm/authz/policies/project/savedViews/canUpdateGroup.d.ts.map +1 -0
- package/dist/esm/authz/policies/project/savedViews/canUpdateGroup.js +10 -0
- package/dist/esm/authz/policies/project/savedViews/canUpdateGroup.js.map +1 -0
- package/dist/esm/authz/policies/workspace/canCreateDashboards.d.ts +10 -0
- package/dist/esm/authz/policies/workspace/canCreateDashboards.d.ts.map +1 -0
- package/dist/esm/authz/policies/workspace/canCreateDashboards.js +35 -0
- package/dist/esm/authz/policies/workspace/canCreateDashboards.js.map +1 -0
- package/dist/esm/authz/policies/workspace/canCreateWorkspace.d.ts +10 -0
- package/dist/esm/authz/policies/workspace/canCreateWorkspace.d.ts.map +1 -0
- package/dist/esm/authz/policies/workspace/canCreateWorkspace.js +47 -0
- package/dist/esm/authz/policies/workspace/canCreateWorkspace.js.map +1 -0
- package/dist/esm/authz/policies/workspace/canListDashboards.d.ts +10 -0
- package/dist/esm/authz/policies/workspace/canListDashboards.d.ts.map +1 -0
- package/dist/esm/authz/policies/workspace/canListDashboards.js +22 -0
- package/dist/esm/authz/policies/workspace/canListDashboards.js.map +1 -0
- package/dist/esm/authz/policies/workspace/canReadMemberEmail.d.ts +1 -1
- package/dist/esm/authz/policies/workspace/canReadMemberEmail.d.ts.map +1 -1
- package/dist/esm/authz/policies/workspace/canReadMemberEmail.js +2 -21
- package/dist/esm/authz/policies/workspace/canReadMemberEmail.js.map +1 -1
- package/dist/esm/authz/policies/workspace/{canUpdateEmbedOptions.d.ts → canUseWorkspacePlanFeature.d.ts} +13 -5
- package/dist/esm/authz/policies/workspace/canUseWorkspacePlanFeature.d.ts.map +1 -0
- package/dist/esm/authz/policies/workspace/canUseWorkspacePlanFeature.js +23 -0
- package/dist/esm/authz/policies/workspace/canUseWorkspacePlanFeature.js.map +1 -0
- package/dist/esm/automate/helpers/types.d.ts +313 -51
- package/dist/esm/automate/helpers/types.d.ts.map +1 -1
- package/dist/esm/automate/helpers/types.js +11 -1
- package/dist/esm/automate/helpers/types.js.map +1 -1
- package/dist/esm/blobs/index.d.ts +17 -0
- package/dist/esm/blobs/index.d.ts.map +1 -0
- package/dist/esm/blobs/index.js +111 -0
- package/dist/esm/blobs/index.js.map +1 -0
- package/dist/esm/core/constants.d.ts +4 -2
- package/dist/esm/core/constants.d.ts.map +1 -1
- package/dist/esm/core/constants.js +24 -4
- package/dist/esm/core/constants.js.map +1 -1
- package/dist/esm/core/helpers/encoding.d.ts +2 -0
- package/dist/esm/core/helpers/encoding.d.ts.map +1 -0
- package/dist/esm/core/helpers/encoding.js +11 -0
- package/dist/esm/core/helpers/encoding.js.map +1 -0
- package/dist/esm/core/helpers/error.d.ts +11 -0
- package/dist/esm/core/helpers/error.d.ts.map +1 -1
- package/dist/esm/core/helpers/error.js +56 -1
- package/dist/esm/core/helpers/error.js.map +1 -1
- package/dist/esm/core/helpers/url.d.ts +24 -0
- package/dist/esm/core/helpers/url.d.ts.map +1 -1
- package/dist/esm/core/helpers/url.js +30 -0
- package/dist/esm/core/helpers/url.js.map +1 -1
- package/dist/esm/core/helpers/utility.d.ts +16 -0
- package/dist/esm/core/helpers/utility.d.ts.map +1 -1
- package/dist/esm/core/helpers/utility.js +19 -0
- package/dist/esm/core/helpers/utility.js.map +1 -1
- package/dist/esm/core/index.d.ts +2 -0
- package/dist/esm/core/index.d.ts.map +1 -1
- package/dist/esm/core/index.js +2 -0
- package/dist/esm/core/index.js.map +1 -1
- package/dist/esm/core/utils/base64.d.ts +3 -0
- package/dist/esm/core/utils/base64.d.ts.map +1 -0
- package/dist/esm/core/utils/base64.js +21 -0
- package/dist/esm/core/utils/base64.js.map +1 -0
- package/dist/esm/environment/{multiRegionConfig.d.ts → db.d.ts} +54 -5
- package/dist/esm/environment/db.d.ts.map +1 -0
- package/dist/esm/environment/{multiRegionConfig.js → db.js} +40 -7
- package/dist/esm/environment/db.js.map +1 -0
- package/dist/esm/environment/featureFlags.d.ts +25 -0
- package/dist/esm/environment/featureFlags.d.ts.map +1 -0
- package/dist/esm/environment/featureFlags.js +5 -0
- package/dist/esm/environment/featureFlags.js.map +1 -0
- package/dist/esm/environment/index.d.ts +2 -15
- package/dist/esm/environment/index.d.ts.map +1 -1
- package/dist/esm/environment/index.js +44 -7
- package/dist/esm/environment/index.js.map +1 -1
- package/dist/esm/environment/node.d.ts +5 -0
- package/dist/esm/environment/node.d.ts.map +1 -0
- package/dist/esm/environment/node.js +11 -0
- package/dist/esm/environment/node.js.map +1 -0
- package/dist/esm/images/base64.d.ts +2 -0
- package/dist/esm/images/base64.d.ts.map +1 -0
- package/dist/esm/images/base64.js +15 -0
- package/dist/esm/images/base64.js.map +1 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/observability/index.d.ts.map +1 -1
- package/dist/esm/observability/index.js +19 -2
- package/dist/esm/observability/index.js.map +1 -1
- package/dist/esm/queue/config.d.ts +3 -0
- package/dist/esm/queue/config.d.ts.map +1 -1
- package/dist/esm/queue/config.js +12 -4
- package/dist/esm/queue/config.js.map +1 -1
- package/dist/esm/rich-text-editor/helpers/index.d.ts +13 -1
- package/dist/esm/rich-text-editor/helpers/index.d.ts.map +1 -1
- package/dist/esm/rich-text-editor/helpers/index.js +1 -0
- package/dist/esm/rich-text-editor/helpers/index.js.map +1 -1
- package/dist/esm/saved-views/helpers/defaultGroup.d.ts +23 -0
- package/dist/esm/saved-views/helpers/defaultGroup.d.ts.map +1 -0
- package/dist/esm/saved-views/helpers/defaultGroup.js +51 -0
- package/dist/esm/saved-views/helpers/defaultGroup.js.map +1 -0
- package/dist/esm/saved-views/index.d.ts +2 -0
- package/dist/esm/saved-views/index.d.ts.map +1 -0
- package/dist/esm/saved-views/index.js +2 -0
- package/dist/esm/saved-views/index.js.map +1 -0
- package/dist/esm/viewer/helpers/route.d.ts +42 -7
- package/dist/esm/viewer/helpers/route.d.ts.map +1 -1
- package/dist/esm/viewer/helpers/route.js +140 -30
- package/dist/esm/viewer/helpers/route.js.map +1 -1
- package/dist/esm/viewer/helpers/state.d.ts +59 -6
- package/dist/esm/viewer/helpers/state.d.ts.map +1 -1
- package/dist/esm/viewer/helpers/state.js +97 -22
- package/dist/esm/viewer/helpers/state.js.map +1 -1
- package/dist/esm/workers/fileimport/job.d.ts +85 -9
- package/dist/esm/workers/fileimport/job.d.ts.map +1 -1
- package/dist/esm/workers/fileimport/job.js +20 -9
- package/dist/esm/workers/fileimport/job.js.map +1 -1
- package/dist/esm/workers/previews/job.d.ts +37 -20
- package/dist/esm/workers/previews/job.d.ts.map +1 -1
- package/dist/esm/workers/previews/job.js +20 -1
- package/dist/esm/workers/previews/job.js.map +1 -1
- package/dist/esm/workspaces/helpers/features.d.ts +55 -5
- package/dist/esm/workspaces/helpers/features.d.ts.map +1 -1
- package/dist/esm/workspaces/helpers/features.js +173 -113
- package/dist/esm/workspaces/helpers/features.js.map +1 -1
- package/dist/esm/workspaces/helpers/plans.d.ts +1 -0
- package/dist/esm/workspaces/helpers/plans.d.ts.map +1 -1
- package/dist/esm/workspaces/helpers/plans.js.map +1 -1
- package/package.json +110 -8
- package/src/acc/helpers/types.ts +42 -0
- package/src/acc/index.ts +1 -0
- package/src/authz/checks/dashboards.spec.ts +46 -0
- package/src/authz/checks/dashboards.ts +14 -0
- package/src/authz/domain/authErrors.ts +87 -2
- package/src/authz/domain/automate/operations.ts +5 -0
- package/src/authz/domain/automate/types.ts +9 -0
- package/src/authz/domain/context.ts +8 -0
- package/src/authz/domain/dashboards/operations.ts +3 -0
- package/src/authz/domain/dashboards/types.ts +6 -0
- package/src/authz/domain/loaders.ts +40 -24
- package/src/authz/domain/savedViews/operations.ts +11 -0
- package/src/authz/domain/savedViews/types.ts +25 -0
- package/src/authz/domain/workspaces/operations.ts +3 -1
- package/src/authz/domain/workspaces/types.ts +4 -0
- package/src/authz/fragments/automate.spec.ts +120 -0
- package/src/authz/fragments/automate.ts +36 -0
- package/src/authz/fragments/dashboards.ts +90 -0
- package/src/authz/fragments/projects.spec.ts +135 -10
- package/src/authz/fragments/projects.ts +53 -1
- package/src/authz/fragments/savedViews.spec.ts +551 -0
- package/src/authz/fragments/savedViews.ts +245 -0
- package/src/authz/fragments/workspaces.spec.ts +234 -7
- package/src/authz/fragments/workspaces.ts +84 -0
- package/src/authz/helpers/graphql.ts +2 -2
- package/src/authz/index.ts +1 -0
- package/src/authz/policies/automate/function/canEditFunction.spec.ts +87 -0
- package/src/authz/policies/automate/function/canEditFunction.ts +46 -0
- package/src/authz/policies/dashboard/canCreateToken.ts +89 -0
- package/src/authz/policies/dashboard/canDelete.ts +84 -0
- package/src/authz/policies/dashboard/canEdit.ts +79 -0
- package/src/authz/policies/dashboard/canRead.ts +83 -0
- package/src/authz/policies/index.spec.ts +13 -0
- package/src/authz/policies/index.ts +52 -4
- package/src/authz/policies/project/automation/canCreate.spec.ts +2 -1
- package/src/authz/policies/project/automation/canDelete.spec.ts +2 -1
- package/src/authz/policies/project/automation/canUpdate.spec.ts +2 -1
- package/src/authz/policies/project/canBroadcastActivity.spec.ts +2 -2
- package/src/authz/policies/project/canDelete.spec.ts +2 -2
- package/src/authz/policies/project/canLeave.spec.ts +2 -2
- package/src/authz/policies/project/canLoad.spec.ts +17 -1
- package/src/authz/policies/project/canLoad.ts +7 -0
- package/src/authz/policies/project/canMoveToWorkspace.spec.ts +6 -10
- package/src/authz/policies/project/canPublish.spec.ts +2 -1
- package/src/authz/policies/project/canRead.spec.ts +2 -3
- package/src/authz/policies/project/canReadAccIntegrationSettings.spec.ts +133 -0
- package/src/authz/policies/project/canReadAccIntegrationSettings.ts +87 -0
- package/src/authz/policies/project/canReadSettings.spec.ts +2 -2
- package/src/authz/policies/project/canReadWebhooks.spec.ts +2 -2
- package/src/authz/policies/project/canUpdate.spec.ts +2 -5
- package/src/authz/policies/project/canUpdateEmbedTokens.spec.ts +132 -0
- package/src/authz/policies/project/canUpdateEmbedTokens.ts +101 -0
- package/src/authz/policies/project/comment/canArchive.spec.ts +6 -5
- package/src/authz/policies/project/comment/canCreate.spec.ts +2 -2
- package/src/authz/policies/project/comment/canEdit.spec.ts +6 -5
- package/src/authz/policies/project/model/canDelete.spec.ts +6 -2
- package/src/authz/policies/project/model/canUpdate.spec.ts +2 -5
- package/src/authz/policies/project/savedViews/canCreate.spec.ts +186 -0
- package/src/authz/policies/project/savedViews/canCreate.ts +81 -0
- package/src/authz/policies/project/savedViews/canCreateSavedViewGroupToken.spec.ts +250 -0
- package/src/authz/policies/project/savedViews/canCreateSavedViewGroupToken.ts +117 -0
- package/src/authz/policies/project/savedViews/canEditDescription.spec.ts +206 -0
- package/src/authz/policies/project/savedViews/canEditDescription.ts +67 -0
- package/src/authz/policies/project/savedViews/canEditTitle.spec.ts +204 -0
- package/src/authz/policies/project/savedViews/canEditTitle.ts +67 -0
- package/src/authz/policies/project/savedViews/canMove.spec.ts +204 -0
- package/src/authz/policies/project/savedViews/canMove.ts +67 -0
- package/src/authz/policies/project/savedViews/canRead.ts +72 -0
- package/src/authz/policies/project/savedViews/canSetAsHomeView.spec.ts +248 -0
- package/src/authz/policies/project/savedViews/canSetAsHomeView.ts +108 -0
- package/src/authz/policies/project/savedViews/canUpdate.spec.ts +191 -0
- package/src/authz/policies/project/savedViews/canUpdate.ts +67 -0
- package/src/authz/policies/project/savedViews/canUpdateGroup.spec.ts +227 -0
- package/src/authz/policies/project/savedViews/canUpdateGroup.ts +63 -0
- package/src/authz/policies/project/version/canUpdate.spec.ts +6 -5
- package/src/authz/policies/workspace/canCreateDashboards.ts +71 -0
- package/src/authz/policies/workspace/canCreateWorkspace.spec.ts +380 -0
- package/src/authz/policies/workspace/canCreateWorkspace.ts +77 -0
- package/src/authz/policies/workspace/canListDashboards.ts +53 -0
- package/src/authz/policies/workspace/canReadMemberEmail.spec.ts +25 -36
- package/src/authz/policies/workspace/canReadMemberEmail.ts +11 -34
- package/src/authz/policies/workspace/canReceiveProjectsUpdatedMessage.spec.ts +2 -5
- package/src/authz/policies/workspace/{canUpdateEmbedOptions.spec.ts → canUseWorkspacePlanFeature.spec.ts} +40 -38
- package/src/authz/policies/workspace/canUseWorkspacePlanFeature.ts +69 -0
- package/src/automate/helpers/types.ts +17 -3
- package/src/blobs/index.ts +121 -0
- package/src/core/constants.ts +25 -4
- package/src/core/helpers/encoding.ts +12 -0
- package/src/core/helpers/error.spec.ts +215 -0
- package/src/core/helpers/error.ts +58 -1
- package/src/core/helpers/url.ts +33 -0
- package/src/core/helpers/utility.spec.ts +19 -1
- package/src/core/helpers/utility.ts +31 -0
- package/src/core/index.ts +2 -0
- package/src/core/utils/base64.spec.ts +31 -0
- package/src/core/utils/base64.ts +19 -0
- package/src/environment/db.spec.ts +48 -0
- package/src/environment/{multiRegionConfig.ts → db.ts} +62 -8
- package/src/environment/featureFlags.ts +25 -0
- package/src/environment/index.spec.ts +126 -0
- package/src/environment/index.ts +51 -24
- package/src/environment/node.ts +11 -0
- package/src/images/base64.spec.ts +42 -0
- package/src/images/base64.ts +15 -0
- package/src/index.ts +1 -0
- package/src/observability/index.ts +22 -2
- package/src/queue/config.ts +18 -6
- package/src/rich-text-editor/helpers/index.ts +15 -1
- package/src/saved-views/helpers/defaultGroup.spec.ts +12 -0
- package/src/saved-views/helpers/defaultGroup.ts +70 -0
- package/src/saved-views/index.ts +1 -0
- package/src/tests/fakes.ts +55 -4
- package/src/viewer/helpers/route.spec.ts +353 -0
- package/src/viewer/helpers/route.ts +180 -25
- package/src/viewer/helpers/state.spec.ts +252 -0
- package/src/viewer/helpers/state.ts +158 -27
- package/src/workers/fileimport/job.ts +40 -21
- package/src/workers/previews/job.ts +23 -1
- package/src/workspaces/helpers/features.spec.ts +99 -0
- package/src/workspaces/helpers/features.ts +215 -119
- package/src/workspaces/helpers/plans.ts +1 -0
- package/dist/commonjs/authz/policies/workspace/canUpdateEmbedOptions.d.ts.map +0 -1
- package/dist/commonjs/authz/policies/workspace/canUpdateEmbedOptions.js +0 -44
- package/dist/commonjs/authz/policies/workspace/canUpdateEmbedOptions.js.map +0 -1
- package/dist/commonjs/environment/multiRegionConfig.d.ts.map +0 -1
- package/dist/commonjs/environment/multiRegionConfig.js.map +0 -1
- package/dist/esm/authz/policies/workspace/canUpdateEmbedOptions.d.ts.map +0 -1
- package/dist/esm/authz/policies/workspace/canUpdateEmbedOptions.js +0 -40
- package/dist/esm/authz/policies/workspace/canUpdateEmbedOptions.js.map +0 -1
- package/dist/esm/environment/multiRegionConfig.d.ts.map +0 -1
- package/dist/esm/environment/multiRegionConfig.js.map +0 -1
- package/src/authz/policies/workspace/canUpdateEmbedOptions.ts +0 -89
|
@@ -4,7 +4,7 @@ export type GraphqlPermissionCheckResult = {
|
|
|
4
4
|
authorized: boolean;
|
|
5
5
|
code: string;
|
|
6
6
|
message: string;
|
|
7
|
-
payload: unknown;
|
|
7
|
+
payload: Record<string, unknown> | null;
|
|
8
8
|
};
|
|
9
9
|
export declare const toGraphqlResult: (authResult: Result<unknown, AuthError<string, any>>) => GraphqlPermissionCheckResult;
|
|
10
10
|
//# sourceMappingURL=graphql.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql.d.ts","sourceRoot":"","sources":["../../../../src/authz/helpers/graphql.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAEnD,MAAM,MAAM,4BAA4B,GAAG;IACzC,UAAU,EAAE,OAAO,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"graphql.d.ts","sourceRoot":"","sources":["../../../../src/authz/helpers/graphql.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAEnD,MAAM,MAAM,4BAA4B,GAAG;IACzC,UAAU,EAAE,OAAO,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CACxC,CAAA;AAED,eAAO,MAAM,eAAe,eACd,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,KAClD,4BAiBF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../../../src/authz/helpers/graphql.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,UAAmD,EACrB,EAAE;IAChC,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO;YACL,UAAU,EAAE,IAAI;YAChB,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;SACd,CAAA;IACH,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAA;QAC9B,OAAO;YACL,UAAU,EAAE,KAAK;YACjB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../../../src/authz/helpers/graphql.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,UAAmD,EACrB,EAAE;IAChC,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO;YACL,UAAU,EAAE,IAAI;YAChB,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;SACd,CAAA;IACH,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAA;QAC9B,OAAO;YACL,UAAU,EAAE,KAAK;YACjB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAmC;SACnE,CAAA;IACH,CAAC;AACH,CAAC,CAAA"}
|
|
@@ -4,4 +4,5 @@ export * from './helpers/graphql.js';
|
|
|
4
4
|
export * from './domain/authErrors.js';
|
|
5
5
|
export { AuthPolicyResult } from './domain/policies.js';
|
|
6
6
|
export { PersonalProjectsLimits } from './domain/projects/limits.js';
|
|
7
|
+
export * from './domain/workspaces/operations.js';
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/authz/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvE,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,qBAAqB,CAAA;AAC5B,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/authz/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvE,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,qBAAqB,CAAA;AAC5B,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,cAAc,mCAAmC,CAAA"}
|
package/dist/esm/authz/index.js
CHANGED
|
@@ -3,4 +3,5 @@ export { AuthCheckContextLoaderKeys } from './domain/loaders.js';
|
|
|
3
3
|
export * from './helpers/graphql.js';
|
|
4
4
|
export * from './domain/authErrors.js';
|
|
5
5
|
export { PersonalProjectsLimits } from './domain/projects/limits.js';
|
|
6
|
+
export * from './domain/workspaces/operations.js';
|
|
6
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/authz/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAgB,MAAM,qBAAqB,CAAA;AACvE,OAAO,EAGL,0BAA0B,EAC3B,MAAM,qBAAqB,CAAA;AAC5B,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AAEtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/authz/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAgB,MAAM,qBAAqB,CAAA;AACvE,OAAO,EAGL,0BAA0B,EAC3B,MAAM,qBAAqB,CAAA;AAC5B,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AAEtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,cAAc,mCAAmC,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AutomateFunctionNotCreatorError, AutomateFunctionNotFoundError, AutomateNotEnabledError } from '../../../domain/authErrors.js';
|
|
2
|
+
import { AutomateFunctionContext, MaybeUserContext } from '../../../domain/context.js';
|
|
3
|
+
import { AuthCheckContextLoaderKeys } from '../../../domain/loaders.js';
|
|
4
|
+
import { AuthPolicy } from '../../../domain/policies.js';
|
|
5
|
+
type PolicyLoaderKeys = typeof AuthCheckContextLoaderKeys.getEnv | typeof AuthCheckContextLoaderKeys.getAutomateFunction;
|
|
6
|
+
type PolicyArgs = MaybeUserContext & AutomateFunctionContext;
|
|
7
|
+
type PolicyErrors = InstanceType<typeof AutomateNotEnabledError | typeof AutomateFunctionNotFoundError | typeof AutomateFunctionNotCreatorError>;
|
|
8
|
+
export declare const canEditFunctionPolicy: AuthPolicy<PolicyLoaderKeys, PolicyArgs, PolicyErrors>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=canEditFunction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canEditFunction.d.ts","sourceRoot":"","sources":["../../../../../../src/authz/policies/automate/function/canEditFunction.ts"],"names":[],"mappings":"AACA,OAAO,EACL,+BAA+B,EAC/B,6BAA6B,EAC7B,uBAAuB,EACxB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AACtF,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAMxD,KAAK,gBAAgB,GACjB,OAAO,0BAA0B,CAAC,MAAM,GACxC,OAAO,0BAA0B,CAAC,mBAAmB,CAAA;AAEzD,KAAK,UAAU,GAAG,gBAAgB,GAAG,uBAAuB,CAAA;AAE5D,KAAK,YAAY,GAAG,YAAY,CAC5B,OAAO,uBAAuB,GAC9B,OAAO,6BAA6B,GACpC,OAAO,+BAA+B,CACzC,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,UAAU,CAC5C,gBAAgB,EAChB,UAAU,EACV,YAAY,CAgBX,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { err, ok } from 'true-myth/result';
|
|
2
|
+
import { ensureAutomateEnabledFragment, ensureAutomateFunctionCreatorFragment } from '../../../fragments/automate.js';
|
|
3
|
+
export const canEditFunctionPolicy = (loaders) => async ({ userId, functionId }) => {
|
|
4
|
+
const isAutomateEnabled = await ensureAutomateEnabledFragment(loaders)({});
|
|
5
|
+
if (isAutomateEnabled.isErr)
|
|
6
|
+
return err(isAutomateEnabled.error);
|
|
7
|
+
const isAutomateFunctionCreator = await ensureAutomateFunctionCreatorFragment(loaders)({
|
|
8
|
+
userId,
|
|
9
|
+
functionId
|
|
10
|
+
});
|
|
11
|
+
if (isAutomateFunctionCreator.isErr)
|
|
12
|
+
return err(isAutomateFunctionCreator.error);
|
|
13
|
+
return ok();
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=canEditFunction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canEditFunction.js","sourceRoot":"","sources":["../../../../../../src/authz/policies/automate/function/canEditFunction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAA;AAS1C,OAAO,EACL,6BAA6B,EAC7B,qCAAqC,EACtC,MAAM,gCAAgC,CAAA;AAcvC,MAAM,CAAC,MAAM,qBAAqB,GAKhC,CAAC,OAAO,EAAE,EAAE,CACZ,KAAK,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE;IAC/B,MAAM,iBAAiB,GAAG,MAAM,6BAA6B,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;IAC1E,IAAI,iBAAiB,CAAC,KAAK;QAAE,OAAO,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;IAEhE,MAAM,yBAAyB,GAAG,MAAM,qCAAqC,CAC3E,OAAO,CACR,CAAC;QACA,MAAM;QACN,UAAU;KACX,CAAC,CAAA;IACF,IAAI,yBAAyB,CAAC,KAAK;QAAE,OAAO,GAAG,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAA;IAEhF,OAAO,EAAE,EAAE,CAAA;AACb,CAAC,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AuthCheckContextLoaderKeys } from '../../domain/loaders.js';
|
|
2
|
+
import { DashboardContext, MaybeUserContext } from '../../domain/context.js';
|
|
3
|
+
import { DashboardNoProjectsError, DashboardNotFoundError, DashboardProjectsNotEnoughPermissionsError, DashboardsNotEnabledError, WorkspaceNoEditorSeatError, WorkspaceNotEnoughPermissionsError, WorkspacePlanNoFeatureAccessError } from '../../domain/authErrors.js';
|
|
4
|
+
import { AuthPolicy } from '../../domain/policies.js';
|
|
5
|
+
type PolicyLoaderKeys = typeof AuthCheckContextLoaderKeys.getEnv | typeof AuthCheckContextLoaderKeys.getDashboard | typeof AuthCheckContextLoaderKeys.getWorkspacePlan | typeof AuthCheckContextLoaderKeys.getWorkspaceRole | typeof AuthCheckContextLoaderKeys.getWorkspaceSeat | typeof AuthCheckContextLoaderKeys.getProjectRole | typeof AuthCheckContextLoaderKeys.getProject | typeof AuthCheckContextLoaderKeys.getServerRole | typeof AuthCheckContextLoaderKeys.getWorkspace | typeof AuthCheckContextLoaderKeys.getWorkspaceSsoProvider | typeof AuthCheckContextLoaderKeys.getWorkspaceSsoSession;
|
|
6
|
+
type PolicyArgs = MaybeUserContext & DashboardContext;
|
|
7
|
+
type PolicyErrors = InstanceType<typeof DashboardsNotEnabledError | typeof WorkspaceNotEnoughPermissionsError | typeof WorkspacePlanNoFeatureAccessError | typeof WorkspaceNoEditorSeatError | typeof DashboardNotFoundError | typeof DashboardNoProjectsError | typeof DashboardProjectsNotEnoughPermissionsError>;
|
|
8
|
+
export declare const canCreateDashboardTokenPolicy: AuthPolicy<PolicyLoaderKeys, PolicyArgs, PolicyErrors>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=canCreateToken.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canCreateToken.d.ts","sourceRoot":"","sources":["../../../../../src/authz/policies/dashboard/canCreateToken.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,0CAA0C,EAC1C,yBAAyB,EACzB,0BAA0B,EAC1B,kCAAkC,EAClC,iCAAiC,EAClC,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAUrD,KAAK,gBAAgB,GACjB,OAAO,0BAA0B,CAAC,MAAM,GACxC,OAAO,0BAA0B,CAAC,YAAY,GAC9C,OAAO,0BAA0B,CAAC,gBAAgB,GAClD,OAAO,0BAA0B,CAAC,gBAAgB,GAClD,OAAO,0BAA0B,CAAC,gBAAgB,GAClD,OAAO,0BAA0B,CAAC,cAAc,GAChD,OAAO,0BAA0B,CAAC,UAAU,GAC5C,OAAO,0BAA0B,CAAC,aAAa,GAC/C,OAAO,0BAA0B,CAAC,YAAY,GAC9C,OAAO,0BAA0B,CAAC,uBAAuB,GACzD,OAAO,0BAA0B,CAAC,sBAAsB,CAAA;AAE5D,KAAK,UAAU,GAAG,gBAAgB,GAAG,gBAAgB,CAAA;AAErD,KAAK,YAAY,GAAG,YAAY,CAC5B,OAAO,yBAAyB,GAChC,OAAO,kCAAkC,GACzC,OAAO,iCAAiC,GACxC,OAAO,0BAA0B,GACjC,OAAO,sBAAsB,GAC7B,OAAO,wBAAwB,GAC/B,OAAO,0CAA0C,CACpD,CAAA;AAED,eAAO,MAAM,6BAA6B,EAAE,UAAU,CACpD,gBAAgB,EAChB,UAAU,EACV,YAAY,CAsCX,CAAA"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { err, ok } from 'true-myth/result';
|
|
2
|
+
import { DashboardNoProjectsError, DashboardNotFoundError, WorkspaceNoEditorSeatError, WorkspaceNotEnoughPermissionsError } from '../../domain/authErrors.js';
|
|
3
|
+
import { ensureDashboardProjectsReadAccess, ensureDashboardsEnabledFragment, ensureWorkspaceDashboardsFeatureAccessFragment } from '../../fragments/dashboards.js';
|
|
4
|
+
import { hasMinimumWorkspaceRole } from '../../checks/workspaceRole.js';
|
|
5
|
+
import { Roles } from '../../../core/constants.js';
|
|
6
|
+
import { hasEditorSeat } from '../../checks/workspaceSeat.js';
|
|
7
|
+
export const canCreateDashboardTokenPolicy = (loaders) => async ({ userId, dashboardId }) => {
|
|
8
|
+
const isDashboardsEnabled = await ensureDashboardsEnabledFragment(loaders)({});
|
|
9
|
+
if (isDashboardsEnabled.isErr)
|
|
10
|
+
return err(isDashboardsEnabled.error);
|
|
11
|
+
const dashboard = await loaders.getDashboard({ dashboardId });
|
|
12
|
+
if (!dashboard)
|
|
13
|
+
return err(new DashboardNotFoundError());
|
|
14
|
+
const { workspaceId } = dashboard;
|
|
15
|
+
const ensuredFeatureAccess = await ensureWorkspaceDashboardsFeatureAccessFragment(loaders)({ workspaceId });
|
|
16
|
+
if (ensuredFeatureAccess.isErr)
|
|
17
|
+
return err(ensuredFeatureAccess.error);
|
|
18
|
+
const isWorkspaceMember = await hasMinimumWorkspaceRole(loaders)({
|
|
19
|
+
userId: userId,
|
|
20
|
+
workspaceId,
|
|
21
|
+
role: Roles.Workspace.Member
|
|
22
|
+
});
|
|
23
|
+
if (!isWorkspaceMember)
|
|
24
|
+
return err(new WorkspaceNotEnoughPermissionsError());
|
|
25
|
+
const isWorkspaceEditorSeat = await hasEditorSeat(loaders)({
|
|
26
|
+
userId: userId,
|
|
27
|
+
workspaceId
|
|
28
|
+
});
|
|
29
|
+
if (!isWorkspaceEditorSeat)
|
|
30
|
+
return err(new WorkspaceNoEditorSeatError());
|
|
31
|
+
if (!dashboard.projectIds.length)
|
|
32
|
+
return err(new DashboardNoProjectsError());
|
|
33
|
+
const ensuredProjectAccess = await ensureDashboardProjectsReadAccess(loaders)({
|
|
34
|
+
userId: userId,
|
|
35
|
+
dashboardId
|
|
36
|
+
});
|
|
37
|
+
if (ensuredProjectAccess.isErr)
|
|
38
|
+
return err(ensuredProjectAccess.error);
|
|
39
|
+
return ok();
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=canCreateToken.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canCreateToken.js","sourceRoot":"","sources":["../../../../../src/authz/policies/dashboard/canCreateToken.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAA;AAG1C,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EAGtB,0BAA0B,EAC1B,kCAAkC,EAEnC,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EACL,iCAAiC,EACjC,+BAA+B,EAC/B,8CAA8C,EAC/C,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;AACvE,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AA2B7D,MAAM,CAAC,MAAM,6BAA6B,GAKxC,CAAC,OAAO,EAAE,EAAE,CACZ,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE;IAChC,MAAM,mBAAmB,GAAG,MAAM,+BAA+B,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;IAC9E,IAAI,mBAAmB,CAAC,KAAK;QAAE,OAAO,GAAG,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;IAEpE,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;IAC7D,IAAI,CAAC,SAAS;QAAE,OAAO,GAAG,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAA;IAExD,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,CAAA;IAEjC,MAAM,oBAAoB,GAAG,MAAM,8CAA8C,CAC/E,OAAO,CACR,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;IAClB,IAAI,oBAAoB,CAAC,KAAK;QAAE,OAAO,GAAG,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAA;IAEtE,MAAM,iBAAiB,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,EAAE,MAAO;QACf,WAAW;QACX,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM;KAC7B,CAAC,CAAA;IACF,IAAI,CAAC,iBAAiB;QAAE,OAAO,GAAG,CAAC,IAAI,kCAAkC,EAAE,CAAC,CAAA;IAE5E,MAAM,qBAAqB,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;QACzD,MAAM,EAAE,MAAO;QACf,WAAW;KACZ,CAAC,CAAA;IACF,IAAI,CAAC,qBAAqB;QAAE,OAAO,GAAG,CAAC,IAAI,0BAA0B,EAAE,CAAC,CAAA;IAExE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM;QAAE,OAAO,GAAG,CAAC,IAAI,wBAAwB,EAAE,CAAC,CAAA;IAC5E,MAAM,oBAAoB,GAAG,MAAM,iCAAiC,CAAC,OAAO,CAAC,CAAC;QAC5E,MAAM,EAAE,MAAO;QACf,WAAW;KACZ,CAAC,CAAA;IACF,IAAI,oBAAoB,CAAC,KAAK;QAAE,OAAO,GAAG,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAA;IAEtE,OAAO,EAAE,EAAE,CAAA;AACb,CAAC,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AuthCheckContextLoaderKeys } from '../../domain/loaders.js';
|
|
2
|
+
import { DashboardContext, MaybeUserContext } from '../../domain/context.js';
|
|
3
|
+
import { DashboardNotFoundError, DashboardNotOwnerError, DashboardsNotEnabledError, WorkspaceNoEditorSeatError, WorkspaceNotEnoughPermissionsError, WorkspacePlanNoFeatureAccessError } from '../../domain/authErrors.js';
|
|
4
|
+
import { AuthPolicy } from '../../domain/policies.js';
|
|
5
|
+
type PolicyLoaderKeys = typeof AuthCheckContextLoaderKeys.getEnv | typeof AuthCheckContextLoaderKeys.getServerRole | typeof AuthCheckContextLoaderKeys.getAdminOverrideEnabled | typeof AuthCheckContextLoaderKeys.getDashboard | typeof AuthCheckContextLoaderKeys.getWorkspacePlan | typeof AuthCheckContextLoaderKeys.getWorkspaceRole | typeof AuthCheckContextLoaderKeys.getWorkspaceSeat;
|
|
6
|
+
type PolicyArgs = MaybeUserContext & DashboardContext;
|
|
7
|
+
type PolicyErrors = InstanceType<typeof DashboardsNotEnabledError | typeof DashboardNotOwnerError | typeof DashboardNotFoundError | typeof WorkspaceNotEnoughPermissionsError | typeof WorkspacePlanNoFeatureAccessError | typeof WorkspaceNoEditorSeatError>;
|
|
8
|
+
export declare const canDeleteDashboardPolicy: AuthPolicy<PolicyLoaderKeys, PolicyArgs, PolicyErrors>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=canDelete.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canDelete.d.ts","sourceRoot":"","sources":["../../../../../src/authz/policies/dashboard/canDelete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,yBAAyB,EACzB,0BAA0B,EAC1B,kCAAkC,EAClC,iCAAiC,EAClC,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAWrD,KAAK,gBAAgB,GACjB,OAAO,0BAA0B,CAAC,MAAM,GACxC,OAAO,0BAA0B,CAAC,aAAa,GAC/C,OAAO,0BAA0B,CAAC,uBAAuB,GACzD,OAAO,0BAA0B,CAAC,YAAY,GAC9C,OAAO,0BAA0B,CAAC,gBAAgB,GAClD,OAAO,0BAA0B,CAAC,gBAAgB,GAClD,OAAO,0BAA0B,CAAC,gBAAgB,CAAA;AAEtD,KAAK,UAAU,GAAG,gBAAgB,GAAG,gBAAgB,CAAA;AAErD,KAAK,YAAY,GAAG,YAAY,CAC5B,OAAO,yBAAyB,GAChC,OAAO,sBAAsB,GAC7B,OAAO,sBAAsB,GAC7B,OAAO,kCAAkC,GACzC,OAAO,iCAAiC,GACxC,OAAO,0BAA0B,CACpC,CAAA;AAED,eAAO,MAAM,wBAAwB,EAAE,UAAU,CAC/C,gBAAgB,EAChB,UAAU,EACV,YAAY,CAsCX,CAAA"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { err, ok } from 'true-myth/result';
|
|
2
|
+
import { DashboardNotFoundError, DashboardNotOwnerError, WorkspaceNoEditorSeatError } from '../../domain/authErrors.js';
|
|
3
|
+
import { ensureDashboardsEnabledFragment, ensureWorkspaceDashboardsFeatureAccessFragment } from '../../fragments/dashboards.js';
|
|
4
|
+
import { hasMinimumWorkspaceRole } from '../../checks/workspaceRole.js';
|
|
5
|
+
import { Roles } from '../../../core/constants.js';
|
|
6
|
+
import { hasEditorSeat } from '../../checks/workspaceSeat.js';
|
|
7
|
+
import { isDashboardOwner } from '../../checks/dashboards.js';
|
|
8
|
+
import { checkIfAdminOverrideEnabledFragment } from '../../fragments/server.js';
|
|
9
|
+
export const canDeleteDashboardPolicy = (loaders) => async ({ userId, dashboardId }) => {
|
|
10
|
+
const isDashboardsEnabled = await ensureDashboardsEnabledFragment(loaders)({});
|
|
11
|
+
if (isDashboardsEnabled.isErr)
|
|
12
|
+
return err(isDashboardsEnabled.error);
|
|
13
|
+
const dashboard = await loaders.getDashboard({ dashboardId });
|
|
14
|
+
if (!dashboard)
|
|
15
|
+
return err(new DashboardNotFoundError());
|
|
16
|
+
const { workspaceId } = dashboard;
|
|
17
|
+
const ensuredFeatureAccess = await ensureWorkspaceDashboardsFeatureAccessFragment(loaders)({ workspaceId });
|
|
18
|
+
if (ensuredFeatureAccess.isErr)
|
|
19
|
+
return err(ensuredFeatureAccess.error);
|
|
20
|
+
const hasAdminAccess = await checkIfAdminOverrideEnabledFragment(loaders)({
|
|
21
|
+
userId
|
|
22
|
+
});
|
|
23
|
+
if (hasAdminAccess.isOk && hasAdminAccess.value)
|
|
24
|
+
return ok();
|
|
25
|
+
const isWorkspaceEditorSeat = await hasEditorSeat(loaders)({
|
|
26
|
+
userId: userId,
|
|
27
|
+
workspaceId
|
|
28
|
+
});
|
|
29
|
+
if (!isWorkspaceEditorSeat)
|
|
30
|
+
return err(new WorkspaceNoEditorSeatError());
|
|
31
|
+
const isWorkspaceAdmin = await hasMinimumWorkspaceRole(loaders)({
|
|
32
|
+
userId: userId,
|
|
33
|
+
workspaceId,
|
|
34
|
+
role: Roles.Workspace.Admin
|
|
35
|
+
});
|
|
36
|
+
const isOwner = await isDashboardOwner(loaders)({ userId: userId, dashboardId });
|
|
37
|
+
if (!isWorkspaceAdmin && !isOwner)
|
|
38
|
+
return err(new DashboardNotOwnerError());
|
|
39
|
+
return ok();
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=canDelete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canDelete.js","sourceRoot":"","sources":["../../../../../src/authz/policies/dashboard/canDelete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAA;AAG1C,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EAEtB,0BAA0B,EAG3B,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EACL,+BAA+B,EAC/B,8CAA8C,EAC/C,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;AACvE,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,EAAE,mCAAmC,EAAE,MAAM,2BAA2B,CAAA;AAsB/E,MAAM,CAAC,MAAM,wBAAwB,GAKnC,CAAC,OAAO,EAAE,EAAE,CACZ,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE;IAChC,MAAM,mBAAmB,GAAG,MAAM,+BAA+B,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;IAC9E,IAAI,mBAAmB,CAAC,KAAK;QAAE,OAAO,GAAG,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;IAEpE,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;IAC7D,IAAI,CAAC,SAAS;QAAE,OAAO,GAAG,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAA;IAExD,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,CAAA;IAEjC,MAAM,oBAAoB,GAAG,MAAM,8CAA8C,CAC/E,OAAO,CACR,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;IAClB,IAAI,oBAAoB,CAAC,KAAK;QAAE,OAAO,GAAG,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAA;IAEtE,MAAM,cAAc,GAAG,MAAM,mCAAmC,CAAC,OAAO,CAAC,CAAC;QACxE,MAAM;KACP,CAAC,CAAA;IACF,IAAI,cAAc,CAAC,IAAI,IAAI,cAAc,CAAC,KAAK;QAAE,OAAO,EAAE,EAAE,CAAA;IAE5D,MAAM,qBAAqB,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;QACzD,MAAM,EAAE,MAAO;QACf,WAAW;KACZ,CAAC,CAAA;IACF,IAAI,CAAC,qBAAqB;QAAE,OAAO,GAAG,CAAC,IAAI,0BAA0B,EAAE,CAAC,CAAA;IAExE,MAAM,gBAAgB,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAC9D,MAAM,EAAE,MAAO;QACf,WAAW;QACX,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK;KAC5B,CAAC,CAAA;IACF,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,MAAO,EAAE,WAAW,EAAE,CAAC,CAAA;IAEjF,IAAI,CAAC,gBAAgB,IAAI,CAAC,OAAO;QAAE,OAAO,GAAG,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAA;IAE3E,OAAO,EAAE,EAAE,CAAA;AACb,CAAC,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AuthCheckContextLoaderKeys } from '../../domain/loaders.js';
|
|
2
|
+
import { MaybeUserContext, DashboardContext } from '../../domain/context.js';
|
|
3
|
+
import { DashboardNotFoundError, DashboardsNotEnabledError, WorkspaceNoEditorSeatError, WorkspaceNotEnoughPermissionsError, WorkspacePlanNoFeatureAccessError } from '../../domain/authErrors.js';
|
|
4
|
+
import { AuthPolicy } from '../../domain/policies.js';
|
|
5
|
+
type PolicyLoaderKeys = typeof AuthCheckContextLoaderKeys.getEnv | typeof AuthCheckContextLoaderKeys.getServerRole | typeof AuthCheckContextLoaderKeys.getAdminOverrideEnabled | typeof AuthCheckContextLoaderKeys.getDashboard | typeof AuthCheckContextLoaderKeys.getWorkspacePlan | typeof AuthCheckContextLoaderKeys.getWorkspaceRole | typeof AuthCheckContextLoaderKeys.getWorkspaceSeat;
|
|
6
|
+
type PolicyArgs = MaybeUserContext & DashboardContext;
|
|
7
|
+
type PolicyErrors = InstanceType<typeof DashboardsNotEnabledError | typeof DashboardNotFoundError | typeof WorkspaceNotEnoughPermissionsError | typeof WorkspacePlanNoFeatureAccessError | typeof WorkspaceNoEditorSeatError>;
|
|
8
|
+
export declare const canEditDashboardPolicy: AuthPolicy<PolicyLoaderKeys, PolicyArgs, PolicyErrors>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=canEdit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canEdit.d.ts","sourceRoot":"","sources":["../../../../../src/authz/policies/dashboard/canEdit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,0BAA0B,EAC1B,kCAAkC,EAClC,iCAAiC,EAClC,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAUrD,KAAK,gBAAgB,GACjB,OAAO,0BAA0B,CAAC,MAAM,GACxC,OAAO,0BAA0B,CAAC,aAAa,GAC/C,OAAO,0BAA0B,CAAC,uBAAuB,GACzD,OAAO,0BAA0B,CAAC,YAAY,GAC9C,OAAO,0BAA0B,CAAC,gBAAgB,GAClD,OAAO,0BAA0B,CAAC,gBAAgB,GAClD,OAAO,0BAA0B,CAAC,gBAAgB,CAAA;AAEtD,KAAK,UAAU,GAAG,gBAAgB,GAAG,gBAAgB,CAAA;AAErD,KAAK,YAAY,GAAG,YAAY,CAC5B,OAAO,yBAAyB,GAChC,OAAO,sBAAsB,GAC7B,OAAO,kCAAkC,GACzC,OAAO,iCAAiC,GACxC,OAAO,0BAA0B,CACpC,CAAA;AAED,eAAO,MAAM,sBAAsB,EAAE,UAAU,CAC7C,gBAAgB,EAChB,UAAU,EACV,YAAY,CAoCX,CAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { err, ok } from 'true-myth/result';
|
|
2
|
+
import { DashboardNotFoundError, WorkspaceNoEditorSeatError, WorkspaceNotEnoughPermissionsError } from '../../domain/authErrors.js';
|
|
3
|
+
import { ensureDashboardsEnabledFragment, ensureWorkspaceDashboardsFeatureAccessFragment } from '../../fragments/dashboards.js';
|
|
4
|
+
import { hasMinimumWorkspaceRole } from '../../checks/workspaceRole.js';
|
|
5
|
+
import { Roles } from '../../../core/constants.js';
|
|
6
|
+
import { hasEditorSeat } from '../../checks/workspaceSeat.js';
|
|
7
|
+
import { checkIfAdminOverrideEnabledFragment } from '../../fragments/server.js';
|
|
8
|
+
export const canEditDashboardPolicy = (loaders) => async ({ userId, dashboardId }) => {
|
|
9
|
+
const isDashboardsEnabled = await ensureDashboardsEnabledFragment(loaders)({});
|
|
10
|
+
if (isDashboardsEnabled.isErr)
|
|
11
|
+
return err(isDashboardsEnabled.error);
|
|
12
|
+
const dashboard = await loaders.getDashboard({ dashboardId });
|
|
13
|
+
if (!dashboard)
|
|
14
|
+
return err(new DashboardNotFoundError());
|
|
15
|
+
const { workspaceId } = dashboard;
|
|
16
|
+
const ensuredFeatureAccess = await ensureWorkspaceDashboardsFeatureAccessFragment(loaders)({ workspaceId });
|
|
17
|
+
if (ensuredFeatureAccess.isErr)
|
|
18
|
+
return err(ensuredFeatureAccess.error);
|
|
19
|
+
const hasAdminAccess = await checkIfAdminOverrideEnabledFragment(loaders)({
|
|
20
|
+
userId
|
|
21
|
+
});
|
|
22
|
+
if (hasAdminAccess.isOk && hasAdminAccess.value)
|
|
23
|
+
return ok();
|
|
24
|
+
const isWorkspaceMember = await hasMinimumWorkspaceRole(loaders)({
|
|
25
|
+
userId: userId,
|
|
26
|
+
workspaceId,
|
|
27
|
+
role: Roles.Workspace.Member
|
|
28
|
+
});
|
|
29
|
+
if (!isWorkspaceMember)
|
|
30
|
+
return err(new WorkspaceNotEnoughPermissionsError());
|
|
31
|
+
const isWorkspaceEditorSeat = await hasEditorSeat(loaders)({
|
|
32
|
+
userId: userId,
|
|
33
|
+
workspaceId
|
|
34
|
+
});
|
|
35
|
+
if (!isWorkspaceEditorSeat)
|
|
36
|
+
return err(new WorkspaceNoEditorSeatError());
|
|
37
|
+
return ok();
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=canEdit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canEdit.js","sourceRoot":"","sources":["../../../../../src/authz/policies/dashboard/canEdit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAA;AAG1C,OAAO,EACL,sBAAsB,EAEtB,0BAA0B,EAC1B,kCAAkC,EAEnC,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EACL,+BAA+B,EAC/B,8CAA8C,EAC/C,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;AACvE,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAC7D,OAAO,EAAE,mCAAmC,EAAE,MAAM,2BAA2B,CAAA;AAqB/E,MAAM,CAAC,MAAM,sBAAsB,GAKjC,CAAC,OAAO,EAAE,EAAE,CACZ,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE;IAChC,MAAM,mBAAmB,GAAG,MAAM,+BAA+B,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;IAC9E,IAAI,mBAAmB,CAAC,KAAK;QAAE,OAAO,GAAG,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;IAEpE,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;IAC7D,IAAI,CAAC,SAAS;QAAE,OAAO,GAAG,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAA;IAExD,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,CAAA;IAEjC,MAAM,oBAAoB,GAAG,MAAM,8CAA8C,CAC/E,OAAO,CACR,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;IAClB,IAAI,oBAAoB,CAAC,KAAK;QAAE,OAAO,GAAG,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAA;IAEtE,MAAM,cAAc,GAAG,MAAM,mCAAmC,CAAC,OAAO,CAAC,CAAC;QACxE,MAAM;KACP,CAAC,CAAA;IACF,IAAI,cAAc,CAAC,IAAI,IAAI,cAAc,CAAC,KAAK;QAAE,OAAO,EAAE,EAAE,CAAA;IAE5D,MAAM,iBAAiB,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,EAAE,MAAO;QACf,WAAW;QACX,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM;KAC7B,CAAC,CAAA;IACF,IAAI,CAAC,iBAAiB;QAAE,OAAO,GAAG,CAAC,IAAI,kCAAkC,EAAE,CAAC,CAAA;IAE5E,MAAM,qBAAqB,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;QACzD,MAAM,EAAE,MAAO;QACf,WAAW;KACZ,CAAC,CAAA;IACF,IAAI,CAAC,qBAAqB;QAAE,OAAO,GAAG,CAAC,IAAI,0BAA0B,EAAE,CAAC,CAAA;IAExE,OAAO,EAAE,EAAE,CAAA;AACb,CAAC,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AuthCheckContextLoaderKeys } from '../../domain/loaders.js';
|
|
2
|
+
import { DashboardContext, MaybeUserContext } from '../../domain/context.js';
|
|
3
|
+
import { DashboardNotFoundError, DashboardsNotEnabledError, ServerNoAccessError, ServerNoSessionError, ServerNotEnoughPermissionsError, WorkspaceNotEnoughPermissionsError, WorkspacePlanNoFeatureAccessError } from '../../domain/authErrors.js';
|
|
4
|
+
import { AuthPolicy } from '../../domain/policies.js';
|
|
5
|
+
type PolicyLoaderKeys = typeof AuthCheckContextLoaderKeys.getEnv | typeof AuthCheckContextLoaderKeys.getServerRole | typeof AuthCheckContextLoaderKeys.getAdminOverrideEnabled | typeof AuthCheckContextLoaderKeys.getDashboard | typeof AuthCheckContextLoaderKeys.getWorkspaceRole | typeof AuthCheckContextLoaderKeys.getWorkspacePlan;
|
|
6
|
+
type PolicyArgs = MaybeUserContext & DashboardContext;
|
|
7
|
+
type PolicyErrors = InstanceType<typeof DashboardsNotEnabledError | typeof DashboardNotFoundError | typeof ServerNoSessionError | typeof ServerNoAccessError | typeof ServerNotEnoughPermissionsError | typeof WorkspaceNotEnoughPermissionsError | typeof WorkspacePlanNoFeatureAccessError>;
|
|
8
|
+
export declare const canReadDashboardPolicy: AuthPolicy<PolicyLoaderKeys, PolicyArgs, PolicyErrors>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=canRead.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canRead.d.ts","sourceRoot":"","sources":["../../../../../src/authz/policies/dashboard/canRead.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,mBAAmB,EACnB,oBAAoB,EACpB,+BAA+B,EAC/B,kCAAkC,EAClC,iCAAiC,EAClC,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAYrD,KAAK,gBAAgB,GACjB,OAAO,0BAA0B,CAAC,MAAM,GACxC,OAAO,0BAA0B,CAAC,aAAa,GAC/C,OAAO,0BAA0B,CAAC,uBAAuB,GACzD,OAAO,0BAA0B,CAAC,YAAY,GAC9C,OAAO,0BAA0B,CAAC,gBAAgB,GAClD,OAAO,0BAA0B,CAAC,gBAAgB,CAAA;AAEtD,KAAK,UAAU,GAAG,gBAAgB,GAAG,gBAAgB,CAAA;AAErD,KAAK,YAAY,GAAG,YAAY,CAC5B,OAAO,yBAAyB,GAChC,OAAO,sBAAsB,GAC7B,OAAO,oBAAoB,GAC3B,OAAO,mBAAmB,GAC1B,OAAO,+BAA+B,GACtC,OAAO,kCAAkC,GACzC,OAAO,iCAAiC,CAC3C,CAAA;AAED,eAAO,MAAM,sBAAsB,EAAE,UAAU,CAC7C,gBAAgB,EAChB,UAAU,EACV,YAAY,CAmCX,CAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { err, ok } from 'true-myth/result';
|
|
2
|
+
import { DashboardNotFoundError, WorkspaceNotEnoughPermissionsError } from '../../domain/authErrors.js';
|
|
3
|
+
import { ensureDashboardsEnabledFragment, ensureWorkspaceDashboardsFeatureAccessFragment } from '../../fragments/dashboards.js';
|
|
4
|
+
import { hasMinimumWorkspaceRole } from '../../checks/workspaceRole.js';
|
|
5
|
+
import { Roles } from '../../../core/constants.js';
|
|
6
|
+
import { checkIfAdminOverrideEnabledFragment, ensureMinimumServerRoleFragment } from '../../fragments/server.js';
|
|
7
|
+
export const canReadDashboardPolicy = (loaders) => async ({ userId, dashboardId }) => {
|
|
8
|
+
const ensuredServerRole = await ensureMinimumServerRoleFragment(loaders)({
|
|
9
|
+
userId,
|
|
10
|
+
role: Roles.Server.User
|
|
11
|
+
});
|
|
12
|
+
if (ensuredServerRole.isErr)
|
|
13
|
+
return err(ensuredServerRole.error);
|
|
14
|
+
const isDashboardsEnabled = await ensureDashboardsEnabledFragment(loaders)({});
|
|
15
|
+
if (isDashboardsEnabled.isErr)
|
|
16
|
+
return err(isDashboardsEnabled.error);
|
|
17
|
+
const dashboard = await loaders.getDashboard({ dashboardId });
|
|
18
|
+
if (!dashboard)
|
|
19
|
+
return err(new DashboardNotFoundError());
|
|
20
|
+
const { workspaceId } = dashboard;
|
|
21
|
+
const ensuredFeatureAccess = await ensureWorkspaceDashboardsFeatureAccessFragment(loaders)({ workspaceId });
|
|
22
|
+
if (ensuredFeatureAccess.isErr)
|
|
23
|
+
return err(ensuredFeatureAccess.error);
|
|
24
|
+
const hasAdminAccess = await checkIfAdminOverrideEnabledFragment(loaders)({
|
|
25
|
+
userId
|
|
26
|
+
});
|
|
27
|
+
if (hasAdminAccess.isOk && hasAdminAccess.value)
|
|
28
|
+
return ok();
|
|
29
|
+
const isWorkspaceMember = await hasMinimumWorkspaceRole(loaders)({
|
|
30
|
+
userId: userId,
|
|
31
|
+
workspaceId,
|
|
32
|
+
role: Roles.Workspace.Member
|
|
33
|
+
});
|
|
34
|
+
if (!isWorkspaceMember)
|
|
35
|
+
return err(new WorkspaceNotEnoughPermissionsError());
|
|
36
|
+
return ok();
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=canRead.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canRead.js","sourceRoot":"","sources":["../../../../../src/authz/policies/dashboard/canRead.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAA;AAG1C,OAAO,EACL,sBAAsB,EAKtB,kCAAkC,EAEnC,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EACL,+BAA+B,EAC/B,8CAA8C,EAC/C,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;AACvE,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAClD,OAAO,EACL,mCAAmC,EACnC,+BAA+B,EAChC,MAAM,2BAA2B,CAAA;AAsBlC,MAAM,CAAC,MAAM,sBAAsB,GAKjC,CAAC,OAAO,EAAE,EAAE,CACZ,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE;IAChC,MAAM,iBAAiB,GAAG,MAAM,+BAA+B,CAAC,OAAO,CAAC,CAAC;QACvE,MAAM;QACN,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;KACxB,CAAC,CAAA;IACF,IAAI,iBAAiB,CAAC,KAAK;QAAE,OAAO,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;IAChE,MAAM,mBAAmB,GAAG,MAAM,+BAA+B,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;IAC9E,IAAI,mBAAmB,CAAC,KAAK;QAAE,OAAO,GAAG,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;IAEpE,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;IAC7D,IAAI,CAAC,SAAS;QAAE,OAAO,GAAG,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAA;IAExD,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,CAAA;IAEjC,MAAM,oBAAoB,GAAG,MAAM,8CAA8C,CAC/E,OAAO,CACR,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;IAClB,IAAI,oBAAoB,CAAC,KAAK;QAAE,OAAO,GAAG,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAA;IAEtE,MAAM,cAAc,GAAG,MAAM,mCAAmC,CAAC,OAAO,CAAC,CAAC;QACxE,MAAM;KACP,CAAC,CAAA;IACF,IAAI,cAAc,CAAC,IAAI,IAAI,cAAc,CAAC,KAAK;QAAE,OAAO,EAAE,EAAE,CAAA;IAE5D,MAAM,iBAAiB,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,EAAE,MAAO;QACf,WAAW;QACX,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM;KAC7B,CAAC,CAAA;IACF,IAAI,CAAC,iBAAiB;QAAE,OAAO,GAAG,CAAC,IAAI,kCAAkC,EAAE,CAAC,CAAA;IAE5E,OAAO,EAAE,EAAE,CAAA;AACb,CAAC,CAAA"}
|
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
import { AllAuthCheckContextLoaders } from '../domain/loaders.js';
|
|
2
2
|
export declare const authPoliciesFactory: (loaders: AllAuthCheckContextLoaders) => {
|
|
3
|
+
automate: {
|
|
4
|
+
function: {
|
|
5
|
+
canRegenerateToken: (args: import("../domain/context.js").MaybeUserContext & import("../domain/context.js").AutomateFunctionContext) => Promise<import("true-myth").Result<import("true-myth").Unit, import("../index.js").AuthError<"AutomateNotEnabled", undefined> | import("../index.js").AuthError<"AutomateFunctionNotFound", undefined> | import("../index.js").AuthError<"AutomateFunctionNotCreator", undefined>>>;
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
dashboard: {
|
|
9
|
+
canCreateToken: (args: import("../domain/context.js").MaybeUserContext & import("../domain/context.js").DashboardContext) => Promise<import("true-myth").Result<import("true-myth").Unit, import("../index.js").AuthError<"WorkspacePlanNoFeatureAccessError", undefined> | import("../index.js").AuthError<"WorkspaceNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspaceNoEditorSeat", undefined> | import("../index.js").AuthError<"DashboardsNotEnabled", undefined> | import("../index.js").AuthError<"DashboardNotFound", undefined> | import("../index.js").AuthError<"DashboardNoProjects", undefined> | import("../index.js").AuthError<"DashboardProjectsNotEnoughPermissions", {
|
|
10
|
+
projectIds: string[];
|
|
11
|
+
}>>>;
|
|
12
|
+
canDelete: (args: import("../domain/context.js").MaybeUserContext & import("../domain/context.js").DashboardContext) => Promise<import("true-myth").Result<import("true-myth").Unit, import("../index.js").AuthError<"WorkspacePlanNoFeatureAccessError", undefined> | import("../index.js").AuthError<"WorkspaceNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspaceNoEditorSeat", undefined> | import("../index.js").AuthError<"DashboardsNotEnabled", undefined> | import("../index.js").AuthError<"DashboardNotFound", undefined> | import("../index.js").AuthError<"DashboardNotOwner", undefined>>>;
|
|
13
|
+
canEdit: (args: import("../domain/context.js").MaybeUserContext & import("../domain/context.js").DashboardContext) => Promise<import("true-myth").Result<import("true-myth").Unit, import("../index.js").AuthError<"WorkspacePlanNoFeatureAccessError", undefined> | import("../index.js").AuthError<"WorkspaceNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspaceNoEditorSeat", undefined> | import("../index.js").AuthError<"DashboardsNotEnabled", undefined> | import("../index.js").AuthError<"DashboardNotFound", undefined>>>;
|
|
14
|
+
canRead: (args: import("../domain/context.js").MaybeUserContext & import("../domain/context.js").DashboardContext) => Promise<import("true-myth").Result<import("true-myth").Unit, import("../index.js").AuthError<"WorkspacePlanNoFeatureAccessError", undefined> | import("../index.js").AuthError<"WorkspaceNotEnoughPermissions", undefined> | import("../index.js").AuthError<"ServerNoAccess", undefined> | import("../index.js").AuthError<"ServerNotEnoughPermissions", undefined> | import("../index.js").AuthError<"ServerNoSession", undefined> | import("../index.js").AuthError<"DashboardsNotEnabled", undefined> | import("../index.js").AuthError<"DashboardNotFound", undefined>>>;
|
|
15
|
+
};
|
|
3
16
|
project: {
|
|
4
17
|
automation: {
|
|
5
18
|
canCreate: (args: import("../domain/context.js").ProjectContext & import("../domain/context.js").MaybeUserContext) => Promise<import("true-myth").Result<import("true-myth").Unit, import("../index.js").AuthError<"ProjectNotFound", undefined> | import("../index.js").AuthError<"ProjectNoAccess", undefined> | import("../index.js").AuthError<"ProjectNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspaceNoAccess", undefined> | import("../index.js").AuthError<"WorkspaceNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspaceSsoSessionNoAccess", {
|
|
@@ -53,6 +66,37 @@ export declare const authPoliciesFactory: (loaders: AllAuthCheckContextLoaders)
|
|
|
53
66
|
workspaceSlug: string;
|
|
54
67
|
}> | import("../index.js").AuthError<"ServerNoAccess", undefined> | import("../index.js").AuthError<"ServerNotEnoughPermissions", undefined> | import("../index.js").AuthError<"ServerNoSession", undefined>>>;
|
|
55
68
|
};
|
|
69
|
+
savedViews: {
|
|
70
|
+
canCreate: (args: import("../domain/context.js").MaybeUserContext & import("../domain/context.js").ProjectContext) => Promise<import("true-myth").Result<import("true-myth").Unit, import("../index.js").AuthError<"WorkspacePlanNoFeatureAccessError", undefined> | import("../index.js").AuthError<"ProjectNotFound", undefined> | import("../index.js").AuthError<"ProjectNoAccess", undefined> | import("../index.js").AuthError<"ProjectNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspacesNotEnabled", undefined> | import("../index.js").AuthError<"WorkspaceNoAccess", undefined> | import("../index.js").AuthError<"WorkspaceNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspaceReadOnly", undefined> | import("../index.js").AuthError<"WorkspaceSsoSessionNoAccess", {
|
|
71
|
+
workspaceSlug: string;
|
|
72
|
+
}> | import("../index.js").AuthError<"ServerNoAccess", undefined> | import("../index.js").AuthError<"ServerNotEnoughPermissions", undefined> | import("../index.js").AuthError<"ServerNoSession", undefined>>>;
|
|
73
|
+
canUpdate: (args: import("../domain/context.js").MaybeUserContext & import("../domain/context.js").ProjectContext & import("../domain/context.js").SavedViewContext) => Promise<import("true-myth").Result<import("true-myth").Unit, import("../index.js").AuthError<"WorkspacePlanNoFeatureAccessError", undefined> | import("../index.js").AuthError<"ProjectNotFound", undefined> | import("../index.js").AuthError<"ProjectNoAccess", undefined> | import("../index.js").AuthError<"ProjectNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspacesNotEnabled", undefined> | import("../index.js").AuthError<"WorkspaceNoAccess", undefined> | import("../index.js").AuthError<"WorkspaceNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspaceReadOnly", undefined> | import("../index.js").AuthError<"WorkspaceSsoSessionNoAccess", {
|
|
74
|
+
workspaceSlug: string;
|
|
75
|
+
}> | import("../index.js").AuthError<"ServerNoAccess", undefined> | import("../index.js").AuthError<"ServerNotEnoughPermissions", undefined> | import("../index.js").AuthError<"ServerNoSession", undefined> | import("../index.js").AuthError<"SavedViewNotFound", undefined> | import("../index.js").AuthError<"SavedViewNoAccess", undefined>>>;
|
|
76
|
+
canUpdateGroup: (args: import("../domain/context.js").MaybeUserContext & import("../domain/context.js").ProjectContext & import("../domain/context.js").SavedViewGroupContext) => Promise<import("true-myth").Result<import("true-myth").Unit, import("../index.js").AuthError<"WorkspacePlanNoFeatureAccessError", undefined> | import("../index.js").AuthError<"ProjectNotFound", undefined> | import("../index.js").AuthError<"ProjectNoAccess", undefined> | import("../index.js").AuthError<"ProjectNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspacesNotEnabled", undefined> | import("../index.js").AuthError<"WorkspaceNoAccess", undefined> | import("../index.js").AuthError<"WorkspaceNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspaceReadOnly", undefined> | import("../index.js").AuthError<"WorkspaceSsoSessionNoAccess", {
|
|
77
|
+
workspaceSlug: string;
|
|
78
|
+
}> | import("../index.js").AuthError<"ServerNoAccess", undefined> | import("../index.js").AuthError<"ServerNotEnoughPermissions", undefined> | import("../index.js").AuthError<"ServerNoSession", undefined> | import("../index.js").AuthError<"SavedViewGroupNotFound", undefined> | import("../index.js").AuthError<"UngroupedSavedViewGroupLock", undefined>>>;
|
|
79
|
+
canCreateToken: (args: import("../domain/context.js").MaybeUserContext & import("../domain/context.js").ProjectContext & import("../domain/context.js").SavedViewGroupContext) => Promise<import("true-myth").Result<import("true-myth").Unit, import("../index.js").AuthError<"WorkspacePlanNoFeatureAccessError", undefined> | import("../index.js").AuthError<"ProjectNotFound", undefined> | import("../index.js").AuthError<"ProjectNoAccess", undefined> | import("../index.js").AuthError<"ProjectNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspacesNotEnabled", undefined> | import("../index.js").AuthError<"WorkspaceNoAccess", undefined> | import("../index.js").AuthError<"WorkspaceNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspaceReadOnly", undefined> | import("../index.js").AuthError<"WorkspaceSsoSessionNoAccess", {
|
|
80
|
+
workspaceSlug: string;
|
|
81
|
+
}> | import("../index.js").AuthError<"ServerNoAccess", undefined> | import("../index.js").AuthError<"ServerNotEnoughPermissions", undefined> | import("../index.js").AuthError<"ServerNoSession", undefined> | import("../index.js").AuthError<"SavedViewGroupNotFound", undefined> | import("../index.js").AuthError<"UngroupedSavedViewGroupLock", undefined>>>;
|
|
82
|
+
canRead: (args: import("../domain/context.js").MaybeUserContext & import("../domain/context.js").ProjectContext & import("../domain/context.js").SavedViewContext & {
|
|
83
|
+
allowNonExistent?: boolean;
|
|
84
|
+
}) => Promise<import("true-myth").Result<import("true-myth").Unit, import("../index.js").AuthError<"WorkspacePlanNoFeatureAccessError", undefined> | import("../index.js").AuthError<"ProjectNotFound", undefined> | import("../index.js").AuthError<"ProjectNoAccess", undefined> | import("../index.js").AuthError<"ProjectNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspacesNotEnabled", undefined> | import("../index.js").AuthError<"WorkspaceNoAccess", undefined> | import("../index.js").AuthError<"WorkspaceNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspaceReadOnly", undefined> | import("../index.js").AuthError<"WorkspaceSsoSessionNoAccess", {
|
|
85
|
+
workspaceSlug: string;
|
|
86
|
+
}> | import("../index.js").AuthError<"ServerNoAccess", undefined> | import("../index.js").AuthError<"ServerNotEnoughPermissions", undefined> | import("../index.js").AuthError<"ServerNoSession", undefined> | import("../index.js").AuthError<"SavedViewNotFound", undefined> | import("../index.js").AuthError<"SavedViewNoAccess", undefined>>>;
|
|
87
|
+
canMove: (args: import("../domain/context.js").MaybeUserContext & import("../domain/context.js").ProjectContext & import("../domain/context.js").SavedViewContext) => Promise<import("true-myth").Result<import("true-myth").Unit, import("../index.js").AuthError<"WorkspacePlanNoFeatureAccessError", undefined> | import("../index.js").AuthError<"ProjectNotFound", undefined> | import("../index.js").AuthError<"ProjectNoAccess", undefined> | import("../index.js").AuthError<"ProjectNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspacesNotEnabled", undefined> | import("../index.js").AuthError<"WorkspaceNoAccess", undefined> | import("../index.js").AuthError<"WorkspaceNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspaceReadOnly", undefined> | import("../index.js").AuthError<"WorkspaceSsoSessionNoAccess", {
|
|
88
|
+
workspaceSlug: string;
|
|
89
|
+
}> | import("../index.js").AuthError<"ServerNoAccess", undefined> | import("../index.js").AuthError<"ServerNotEnoughPermissions", undefined> | import("../index.js").AuthError<"ServerNoSession", undefined> | import("../index.js").AuthError<"SavedViewNotFound", undefined> | import("../index.js").AuthError<"SavedViewNoAccess", undefined>>>;
|
|
90
|
+
canEditTitle: (args: import("../domain/context.js").MaybeUserContext & import("../domain/context.js").ProjectContext & import("../domain/context.js").SavedViewContext) => Promise<import("true-myth").Result<import("true-myth").Unit, import("../index.js").AuthError<"WorkspacePlanNoFeatureAccessError", undefined> | import("../index.js").AuthError<"ProjectNotFound", undefined> | import("../index.js").AuthError<"ProjectNoAccess", undefined> | import("../index.js").AuthError<"ProjectNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspacesNotEnabled", undefined> | import("../index.js").AuthError<"WorkspaceNoAccess", undefined> | import("../index.js").AuthError<"WorkspaceNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspaceReadOnly", undefined> | import("../index.js").AuthError<"WorkspaceSsoSessionNoAccess", {
|
|
91
|
+
workspaceSlug: string;
|
|
92
|
+
}> | import("../index.js").AuthError<"ServerNoAccess", undefined> | import("../index.js").AuthError<"ServerNotEnoughPermissions", undefined> | import("../index.js").AuthError<"ServerNoSession", undefined> | import("../index.js").AuthError<"SavedViewNotFound", undefined> | import("../index.js").AuthError<"SavedViewNoAccess", undefined>>>;
|
|
93
|
+
canEditDescription: (args: import("../domain/context.js").MaybeUserContext & import("../domain/context.js").ProjectContext & import("../domain/context.js").SavedViewContext) => Promise<import("true-myth").Result<import("true-myth").Unit, import("../index.js").AuthError<"WorkspacePlanNoFeatureAccessError", undefined> | import("../index.js").AuthError<"ProjectNotFound", undefined> | import("../index.js").AuthError<"ProjectNoAccess", undefined> | import("../index.js").AuthError<"ProjectNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspacesNotEnabled", undefined> | import("../index.js").AuthError<"WorkspaceNoAccess", undefined> | import("../index.js").AuthError<"WorkspaceNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspaceReadOnly", undefined> | import("../index.js").AuthError<"WorkspaceSsoSessionNoAccess", {
|
|
94
|
+
workspaceSlug: string;
|
|
95
|
+
}> | import("../index.js").AuthError<"ServerNoAccess", undefined> | import("../index.js").AuthError<"ServerNotEnoughPermissions", undefined> | import("../index.js").AuthError<"ServerNoSession", undefined> | import("../index.js").AuthError<"SavedViewNotFound", undefined> | import("../index.js").AuthError<"SavedViewNoAccess", undefined>>>;
|
|
96
|
+
canSetAsHomeView: (args: import("../domain/context.js").MaybeUserContext & import("../domain/context.js").ProjectContext & import("../domain/context.js").SavedViewContext) => Promise<import("true-myth").Result<import("true-myth").Unit, import("../index.js").AuthError<"WorkspacePlanNoFeatureAccessError", undefined> | import("../index.js").AuthError<"ProjectNotFound", undefined> | import("../index.js").AuthError<"ProjectNoAccess", undefined> | import("../index.js").AuthError<"ProjectNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspacesNotEnabled", undefined> | import("../index.js").AuthError<"WorkspaceNoAccess", undefined> | import("../index.js").AuthError<"WorkspaceNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspaceReadOnly", undefined> | import("../index.js").AuthError<"WorkspaceSsoSessionNoAccess", {
|
|
97
|
+
workspaceSlug: string;
|
|
98
|
+
}> | import("../index.js").AuthError<"ServerNoAccess", undefined> | import("../index.js").AuthError<"ServerNotEnoughPermissions", undefined> | import("../index.js").AuthError<"ServerNoSession", undefined> | import("../index.js").AuthError<"SavedViewNotFound", undefined> | import("../index.js").AuthError<"SavedViewNoAccess", undefined> | import("../index.js").AuthError<"SavedViewInvalidUpdate", undefined>>>;
|
|
99
|
+
};
|
|
56
100
|
canBroadcastActivity: (args: import("../domain/context.js").MaybeUserContext & import("../domain/context.js").ProjectContext) => Promise<import("true-myth").Result<import("true-myth").Unit, import("../index.js").AuthError<"ProjectNotFound", undefined> | import("../index.js").AuthError<"ProjectNoAccess", undefined> | import("../index.js").AuthError<"ProjectNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspaceNoAccess", undefined> | import("../index.js").AuthError<"WorkspaceNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspaceSsoSessionNoAccess", {
|
|
57
101
|
workspaceSlug: string;
|
|
58
102
|
}> | import("../index.js").AuthError<"ServerNoAccess", undefined> | import("../index.js").AuthError<"ServerNotEnoughPermissions", undefined> | import("../index.js").AuthError<"ServerNoSession", undefined>>>;
|
|
@@ -92,6 +136,18 @@ export declare const authPoliciesFactory: (loaders: AllAuthCheckContextLoaders)
|
|
|
92
136
|
canLoad: (args: import("../domain/context.js").ProjectContext & import("../domain/context.js").MaybeUserContext) => Promise<import("true-myth").Result<import("true-myth").Unit, import("../index.js").AuthError<"ProjectNotFound", undefined> | import("../index.js").AuthError<"ProjectNoAccess", undefined> | import("../index.js").AuthError<"ProjectNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspaceNoAccess", undefined> | import("../index.js").AuthError<"WorkspaceNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspaceSsoSessionNoAccess", {
|
|
93
137
|
workspaceSlug: string;
|
|
94
138
|
}> | import("../index.js").AuthError<"ServerNoAccess", undefined> | import("../index.js").AuthError<"ServerNotEnoughPermissions", undefined> | import("../index.js").AuthError<"ServerNoSession", undefined>>>;
|
|
139
|
+
canReadEmbedTokens: (args: import("../domain/context.js").MaybeUserContext & import("../domain/context.js").ProjectContext) => Promise<import("true-myth").Result<import("true-myth").Unit, import("../index.js").AuthError<"WorkspacePlanNoFeatureAccessError", undefined> | import("../index.js").AuthError<"ProjectNotFound", undefined> | import("../index.js").AuthError<"ProjectNoAccess", undefined> | import("../index.js").AuthError<"ProjectNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspaceNoAccess", undefined> | import("../index.js").AuthError<"WorkspaceNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspaceSsoSessionNoAccess", {
|
|
140
|
+
workspaceSlug: string;
|
|
141
|
+
}> | import("../index.js").AuthError<"ServerNoAccess", undefined> | import("../index.js").AuthError<"ServerNotEnoughPermissions", undefined> | import("../index.js").AuthError<"ServerNoSession", undefined>>>;
|
|
142
|
+
canUpdateEmbedTokens: (args: import("../domain/context.js").MaybeUserContext & import("../domain/context.js").ProjectContext) => Promise<import("true-myth").Result<import("true-myth").Unit, import("../index.js").AuthError<"WorkspacePlanNoFeatureAccessError", undefined> | import("../index.js").AuthError<"ProjectNotFound", undefined> | import("../index.js").AuthError<"ProjectNoAccess", undefined> | import("../index.js").AuthError<"ProjectNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspaceNoAccess", undefined> | import("../index.js").AuthError<"WorkspaceNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspaceSsoSessionNoAccess", {
|
|
143
|
+
workspaceSlug: string;
|
|
144
|
+
}> | import("../index.js").AuthError<"ServerNoAccess", undefined> | import("../index.js").AuthError<"ServerNotEnoughPermissions", undefined> | import("../index.js").AuthError<"ServerNoSession", undefined>>>;
|
|
145
|
+
canReadAccIntegrationSettings: (args: import("../domain/context.js").MaybeUserContext & import("../domain/context.js").ProjectContext) => Promise<import("true-myth").Result<import("true-myth").Unit, import("../index.js").AuthError<"WorkspacePlanNoFeatureAccessError", undefined> | import("../index.js").AuthError<"ProjectNotFound", undefined> | import("../index.js").AuthError<"ProjectNoAccess", undefined> | import("../index.js").AuthError<"ProjectNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspaceNoAccess", undefined> | import("../index.js").AuthError<"WorkspaceNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspaceSsoSessionNoAccess", {
|
|
146
|
+
workspaceSlug: string;
|
|
147
|
+
}> | import("../index.js").AuthError<"ServerNoAccess", undefined> | import("../index.js").AuthError<"ServerNotEnoughPermissions", undefined> | import("../index.js").AuthError<"ServerNoSession", undefined> | import("../index.js").AuthError<"AccIntegrationNotEnabled", undefined>>>;
|
|
148
|
+
canUpdateAccIntegrationSettings: (args: import("../domain/context.js").MaybeUserContext & import("../domain/context.js").ProjectContext) => Promise<import("true-myth").Result<import("true-myth").Unit, import("../index.js").AuthError<"WorkspacePlanNoFeatureAccessError", undefined> | import("../index.js").AuthError<"ProjectNotFound", undefined> | import("../index.js").AuthError<"ProjectNoAccess", undefined> | import("../index.js").AuthError<"ProjectNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspaceNoAccess", undefined> | import("../index.js").AuthError<"WorkspaceNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspaceSsoSessionNoAccess", {
|
|
149
|
+
workspaceSlug: string;
|
|
150
|
+
}> | import("../index.js").AuthError<"ServerNoAccess", undefined> | import("../index.js").AuthError<"ServerNotEnoughPermissions", undefined> | import("../index.js").AuthError<"ServerNoSession", undefined> | import("../index.js").AuthError<"AccIntegrationNotEnabled", undefined>>>;
|
|
95
151
|
};
|
|
96
152
|
workspace: {
|
|
97
153
|
canCreateProject: (args: import("../domain/context.js").MaybeUserContext & import("../domain/context.js").WorkspaceContext) => Promise<import("true-myth").Result<import("true-myth").Unit, import("../index.js").AuthError<"WorkspacesNotEnabled", undefined> | import("../index.js").AuthError<"WorkspaceNoAccess", undefined> | import("../index.js").AuthError<"WorkspaceNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspaceReadOnly", undefined> | import("../index.js").AuthError<"WorkspaceLimitsReached", {
|
|
@@ -105,12 +161,17 @@ export declare const authPoliciesFactory: (loaders: AllAuthCheckContextLoaders)
|
|
|
105
161
|
canReceiveProjectsUpdatedMessage: (args: import("../domain/context.js").MaybeUserContext & import("../domain/context.js").ProjectContext & import("../domain/context.js").WorkspaceContext) => Promise<import("true-myth").Result<import("true-myth").Unit, import("../index.js").AuthError<"ProjectNotFound", undefined> | import("../index.js").AuthError<"ProjectNoAccess", undefined> | import("../index.js").AuthError<"ProjectNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspaceNoAccess", undefined> | import("../index.js").AuthError<"WorkspaceNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspaceSsoSessionNoAccess", {
|
|
106
162
|
workspaceSlug: string;
|
|
107
163
|
}> | import("../index.js").AuthError<"ServerNoAccess", undefined> | import("../index.js").AuthError<"ServerNotEnoughPermissions", undefined> | import("../index.js").AuthError<"ServerNoSession", undefined>>>;
|
|
108
|
-
|
|
164
|
+
canUseWorkspacePlanFeature: (args: import("../domain/context.js").MaybeUserContext & import("../domain/context.js").WorkspaceContext & {
|
|
165
|
+
feature: import("../../index.js").WorkspacePlanFeatures;
|
|
166
|
+
}) => Promise<import("true-myth").Result<import("true-myth").Unit, import("../index.js").AuthError<"WorkspacePlanNoFeatureAccessError", undefined> | import("../index.js").AuthError<"WorkspacesNotEnabled", undefined> | import("../index.js").AuthError<"WorkspaceNoAccess", undefined> | import("../index.js").AuthError<"WorkspaceNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspaceReadOnly", undefined> | import("../index.js").AuthError<"WorkspaceSsoSessionNoAccess", {
|
|
109
167
|
workspaceSlug: string;
|
|
110
168
|
}> | import("../index.js").AuthError<"ServerNoAccess", undefined> | import("../index.js").AuthError<"ServerNotEnoughPermissions", undefined> | import("../index.js").AuthError<"ServerNoSession", undefined>>>;
|
|
111
169
|
canReadMemberEmail: (args: import("../domain/context.js").MaybeUserContext & import("../domain/context.js").WorkspaceContext) => Promise<import("true-myth").Result<import("true-myth").Unit, import("../index.js").AuthError<"WorkspacesNotEnabled", undefined> | import("../index.js").AuthError<"WorkspaceNoAccess", undefined> | import("../index.js").AuthError<"WorkspaceNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspaceSsoSessionNoAccess", {
|
|
112
170
|
workspaceSlug: string;
|
|
113
171
|
}> | import("../index.js").AuthError<"ServerNoAccess", undefined> | import("../index.js").AuthError<"ServerNotEnoughPermissions", undefined> | import("../index.js").AuthError<"ServerNoSession", undefined>>>;
|
|
172
|
+
canCreateWorkspace: (args: import("../domain/context.js").MaybeUserContext) => Promise<import("true-myth").Result<import("true-myth").Unit, import("../index.js").AuthError<"WorkspacesNotEnabled", undefined> | import("../index.js").AuthError<"UserEligibleForExclusiveWorkspace", undefined> | import("../index.js").AuthError<"ServerNoAccess", undefined> | import("../index.js").AuthError<"ServerNotEnoughPermissions", undefined> | import("../index.js").AuthError<"ServerNoSession", undefined>>>;
|
|
173
|
+
canCreateDashboards: (args: import("../domain/context.js").MaybeUserContext & import("../domain/context.js").WorkspaceContext) => Promise<import("true-myth").Result<import("true-myth").Unit, import("../index.js").AuthError<"WorkspacePlanNoFeatureAccessError", undefined> | import("../index.js").AuthError<"WorkspaceNotEnoughPermissions", undefined> | import("../index.js").AuthError<"WorkspaceNoEditorSeat", undefined> | import("../index.js").AuthError<"DashboardsNotEnabled", undefined>>>;
|
|
174
|
+
canListDashboards: (args: import("../domain/context.js").MaybeUserContext & import("../domain/context.js").WorkspaceContext) => Promise<import("true-myth").Result<import("true-myth").Unit, import("../index.js").AuthError<"WorkspacePlanNoFeatureAccessError", undefined> | import("../index.js").AuthError<"WorkspaceNotEnoughPermissions", undefined> | import("../index.js").AuthError<"DashboardsNotEnabled", undefined>>>;
|
|
114
175
|
};
|
|
115
176
|
};
|
|
116
177
|
export type AuthPolicies = ReturnType<typeof authPoliciesFactory>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/authz/policies/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/authz/policies/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA;AAoDjE,eAAO,MAAM,mBAAmB,YAAa,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2ErE,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAA"}
|