@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
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ensureCanAccessSavedViewGroupFragment = exports.ensureCanAccessSavedViewFragment = exports.WriteTypes = void 0;
|
|
4
|
+
const result_1 = require("true-myth/result");
|
|
5
|
+
const authErrors_js_1 = require("../domain/authErrors.js");
|
|
6
|
+
const types_js_1 = require("../domain/savedViews/types.js");
|
|
7
|
+
const projects_js_1 = require("./projects.js");
|
|
8
|
+
const constants_js_1 = require("../../core/constants.js");
|
|
9
|
+
const index_js_1 = require("../../workspaces/index.js");
|
|
10
|
+
const index_js_2 = require("../../saved-views/index.js");
|
|
11
|
+
const index_js_3 = require("../../core/index.js");
|
|
12
|
+
exports.WriteTypes = (0, index_js_3.StringEnum)([
|
|
13
|
+
'UpdateGeneral',
|
|
14
|
+
'MoveView',
|
|
15
|
+
'EditTitle',
|
|
16
|
+
'EditDescription',
|
|
17
|
+
'SetHomeView'
|
|
18
|
+
]);
|
|
19
|
+
/**
|
|
20
|
+
* Ensure the user can access the view
|
|
21
|
+
*/
|
|
22
|
+
const ensureCanAccessSavedViewFragment = (loaders) => async ({ userId, projectId, savedViewId, access, allowNonExistent }) => {
|
|
23
|
+
const canUseSavedViews = await (0, projects_js_1.ensureCanUseProjectWorkspacePlanFeatureFragment)(loaders)({
|
|
24
|
+
projectId,
|
|
25
|
+
feature: index_js_1.WorkspacePlanFeatures.SavedViews
|
|
26
|
+
});
|
|
27
|
+
if (canUseSavedViews.isErr)
|
|
28
|
+
return (0, result_1.err)(canUseSavedViews.error);
|
|
29
|
+
const savedView = await loaders.getSavedView({ projectId, savedViewId });
|
|
30
|
+
if (!savedView) {
|
|
31
|
+
if (allowNonExistent)
|
|
32
|
+
return (0, result_1.ok)();
|
|
33
|
+
return (0, result_1.err)(new authErrors_js_1.SavedViewNotFoundError());
|
|
34
|
+
}
|
|
35
|
+
const isPublic = savedView.visibility === types_js_1.SavedViewVisibility.public;
|
|
36
|
+
const isAuthor = savedView.authorId === userId;
|
|
37
|
+
// Validate read access
|
|
38
|
+
if (access === 'read') {
|
|
39
|
+
if (isAuthor || isPublic) {
|
|
40
|
+
return (0, result_1.ok)();
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
return (0, result_1.err)(new authErrors_js_1.SavedViewNoAccessError({
|
|
44
|
+
message: 'You do not have permission to read this saved view.'
|
|
45
|
+
}));
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
// Validate write access
|
|
49
|
+
// Check for write access to project first
|
|
50
|
+
const ensuredWriteAccess = await (0, projects_js_1.ensureImplicitProjectMemberWithWriteAccessFragment)(loaders)({
|
|
51
|
+
userId,
|
|
52
|
+
projectId
|
|
53
|
+
});
|
|
54
|
+
if (ensuredWriteAccess.isErr) {
|
|
55
|
+
if (ensuredWriteAccess.error.code === authErrors_js_1.ProjectNotEnoughPermissionsError.code)
|
|
56
|
+
return (0, result_1.err)(new authErrors_js_1.ProjectNotEnoughPermissionsError({
|
|
57
|
+
message: "Your role on this project doesn't give you permission to update views."
|
|
58
|
+
}));
|
|
59
|
+
return (0, result_1.err)(ensuredWriteAccess.error);
|
|
60
|
+
}
|
|
61
|
+
if (isAuthor) {
|
|
62
|
+
// authors can write whatever
|
|
63
|
+
return (0, result_1.ok)();
|
|
64
|
+
}
|
|
65
|
+
// Non-author project writers can make specific changes
|
|
66
|
+
switch (access) {
|
|
67
|
+
case exports.WriteTypes.MoveView:
|
|
68
|
+
case exports.WriteTypes.EditTitle:
|
|
69
|
+
case exports.WriteTypes.EditDescription:
|
|
70
|
+
case exports.WriteTypes.SetHomeView:
|
|
71
|
+
return (0, result_1.ok)();
|
|
72
|
+
case exports.WriteTypes.UpdateGeneral:
|
|
73
|
+
return (0, result_1.err)(new authErrors_js_1.SavedViewNoAccessError({
|
|
74
|
+
message: 'You do not have permission to edit the view in this way'
|
|
75
|
+
}));
|
|
76
|
+
default:
|
|
77
|
+
(0, index_js_3.throwUncoveredError)(access);
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
exports.ensureCanAccessSavedViewFragment = ensureCanAccessSavedViewFragment;
|
|
81
|
+
/**
|
|
82
|
+
* Ensure the user can access the view group
|
|
83
|
+
*/
|
|
84
|
+
const ensureCanAccessSavedViewGroupFragment = (loaders) => async ({ userId, projectId, savedViewGroupId, access }) => {
|
|
85
|
+
const canUseSavedViews = await (0, projects_js_1.ensureCanUseProjectWorkspacePlanFeatureFragment)(loaders)({
|
|
86
|
+
projectId,
|
|
87
|
+
feature: index_js_1.WorkspacePlanFeatures.SavedViews
|
|
88
|
+
});
|
|
89
|
+
if (canUseSavedViews.isErr)
|
|
90
|
+
return (0, result_1.err)(canUseSavedViews.error);
|
|
91
|
+
const savedViewGroup = await loaders.getSavedViewGroup({
|
|
92
|
+
projectId,
|
|
93
|
+
groupId: savedViewGroupId
|
|
94
|
+
});
|
|
95
|
+
if (!savedViewGroup)
|
|
96
|
+
return (0, result_1.err)(new authErrors_js_1.SavedViewGroupNotFoundError());
|
|
97
|
+
if (access === 'read') {
|
|
98
|
+
return (0, result_1.ok)(); // read access available to everyone who has access to project
|
|
99
|
+
}
|
|
100
|
+
// Prevent default group updates (as it doesnt exist)
|
|
101
|
+
if ((0, index_js_2.isUngroupedGroup)(savedViewGroup.id)) {
|
|
102
|
+
return (0, result_1.err)(new authErrors_js_1.UngroupedSavedViewGroupLockError());
|
|
103
|
+
}
|
|
104
|
+
// groups have no visibility (yet), so authors AND project owners can mutate
|
|
105
|
+
const isAuthor = savedViewGroup.authorId === userId;
|
|
106
|
+
const expectedProjectRole = isAuthor ? constants_js_1.Roles.Stream.Contributor : constants_js_1.Roles.Stream.Owner;
|
|
107
|
+
const ensuredWriteAccess = await (0, projects_js_1.ensureImplicitProjectMemberWithWriteAccessFragment)(loaders)({
|
|
108
|
+
userId,
|
|
109
|
+
projectId,
|
|
110
|
+
role: expectedProjectRole
|
|
111
|
+
});
|
|
112
|
+
if (ensuredWriteAccess.isErr) {
|
|
113
|
+
if (ensuredWriteAccess.error.code === authErrors_js_1.ProjectNotEnoughPermissionsError.code)
|
|
114
|
+
return (0, result_1.err)(new authErrors_js_1.ProjectNotEnoughPermissionsError({
|
|
115
|
+
message: "Your role on this project doesn't give you permission to update view groups."
|
|
116
|
+
}));
|
|
117
|
+
return (0, result_1.err)(ensuredWriteAccess.error);
|
|
118
|
+
}
|
|
119
|
+
return (0, result_1.ok)();
|
|
120
|
+
};
|
|
121
|
+
exports.ensureCanAccessSavedViewGroupFragment = ensureCanAccessSavedViewGroupFragment;
|
|
122
|
+
//# sourceMappingURL=savedViews.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"savedViews.js","sourceRoot":"","sources":["../../../../src/authz/fragments/savedViews.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { AuthPolicyEnsureFragment } from '../domain/policies.js';
|
|
2
|
-
import { PersonalProjectsLimitedError, ProjectNotFoundError, WorkspaceLimitsReachedError, WorkspaceNoAccessError, WorkspaceNoEditorSeatError, WorkspaceNotEnoughPermissionsError, WorkspaceReadOnlyError, WorkspacesNotEnabledError, WorkspaceSsoSessionNoAccessError } from '../domain/authErrors.js';
|
|
2
|
+
import { PersonalProjectsLimitedError, ProjectNotFoundError, ServerNoAccessError, ServerNoSessionError, ServerNotEnoughPermissionsError, WorkspaceLimitsReachedError, WorkspaceNoAccessError, WorkspaceNoEditorSeatError, WorkspaceNotEnoughPermissionsError, WorkspacePlanNoFeatureAccessError, WorkspaceReadOnlyError, WorkspacesNotEnabledError, WorkspaceSsoSessionNoAccessError } from '../domain/authErrors.js';
|
|
3
3
|
import { Loaders } from '../domain/loaders.js';
|
|
4
4
|
import { WorkspaceRoles } from '../../core/constants.js';
|
|
5
5
|
import { MaybeUserContext, MaybeWorkspaceContext, ProjectContext, WorkspaceContext } from '../domain/context.js';
|
|
6
|
+
import { WorkspacePlanFeatures } from '../../workspaces/helpers/features.js';
|
|
6
7
|
/**
|
|
7
8
|
* Ensure user has a workspace role, and a valid SSO session (if SSO is configured)
|
|
8
9
|
*/
|
|
@@ -34,4 +35,11 @@ export declare const ensureModelCanBeCreatedFragment: AuthPolicyEnsureFragment<t
|
|
|
34
35
|
*/
|
|
35
36
|
addedModelCount?: number;
|
|
36
37
|
}, InstanceType<typeof WorkspaceNoAccessError | typeof WorkspaceReadOnlyError | typeof WorkspaceLimitsReachedError | typeof ProjectNotFoundError | typeof PersonalProjectsLimitedError>>;
|
|
38
|
+
export declare const ensureUserIsWorkspaceAdminFragment: AuthPolicyEnsureFragment<typeof Loaders.getEnv | typeof Loaders.getServerRole | typeof Loaders.getWorkspace | typeof Loaders.getWorkspaceRole | typeof Loaders.getWorkspaceSsoProvider | typeof Loaders.getWorkspaceSsoSession | typeof Loaders.getWorkspacePlan, WorkspaceContext & MaybeUserContext, InstanceType<typeof WorkspaceNoAccessError | typeof WorkspaceSsoSessionNoAccessError | typeof WorkspacesNotEnabledError | typeof ServerNoSessionError | typeof ServerNoAccessError | typeof ServerNotEnoughPermissionsError | typeof WorkspaceNotEnoughPermissionsError>>;
|
|
39
|
+
/**
|
|
40
|
+
* Check if workspace has access to a specific feature
|
|
41
|
+
*/
|
|
42
|
+
export declare const ensureCanUseWorkspacePlanFeatureFragment: AuthPolicyEnsureFragment<typeof Loaders.getWorkspacePlan | typeof Loaders.getEnv, WorkspaceContext & {
|
|
43
|
+
feature: WorkspacePlanFeatures;
|
|
44
|
+
}, InstanceType<typeof WorkspaceNoAccessError> | InstanceType<typeof WorkspaceReadOnlyError> | InstanceType<typeof WorkspacePlanNoFeatureAccessError> | InstanceType<typeof WorkspacesNotEnabledError>>;
|
|
37
45
|
//# sourceMappingURL=workspaces.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../../../src/authz/fragments/workspaces.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAKhE,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,0BAA0B,EAC1B,kCAAkC,EAClC,sBAAsB,EACtB,yBAAyB,EACzB,gCAAgC,EACjC,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAS,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EACjB,MAAM,sBAAsB,CAAA;AAI7B;;GAEG;AACH,eAAO,MAAM,qCAAqC,EAAE,wBAAwB,CACxE,kBAAkB,GAClB,yBAAyB,GACzB,wBAAwB,GACxB,cAAc,EAChB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,cAAc,CAAA;CAAE,EAC9D,YAAY,CACR,OAAO,gCAAgC,GACvC,OAAO,sBAAsB,GAC7B,OAAO,kCAAkC,CAC5C,CA2DA,CAAA;AAEH;;GAEG;AACH,eAAO,MAAM,+BAA+B,EAAE,wBAAwB,CACpE,OAAO,OAAO,CAAC,MAAM,EAErB,EAAE,EACF,YAAY,CAAC,OAAO,yBAAyB,CAAC,CAK/C,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,kCAAkC,EAAE,wBAAwB,CACvE,OAAO,OAAO,CAAC,gBAAgB,EAC/B,gBAAgB,EAChB,YAAY,CAAC,OAAO,sBAAsB,GAAG,OAAO,sBAAsB,CAAC,CAU1E,CAAA;AAEH;;;GAGG;AACH,eAAO,MAAM,0CAA0C,EAAE,wBAAwB,CAC7E,OAAO,OAAO,CAAC,gBAAgB,GAC/B,OAAO,OAAO,CAAC,gBAAgB,GAC/B,OAAO,OAAO,CAAC,gBAAgB,GAC/B,OAAO,OAAO,CAAC,kBAAkB,GACjC,OAAO,OAAO,CAAC,wBAAwB,EACzC,gBAAgB,GAAG,gBAAgB,EACnC,YAAY,CACR,OAAO,sBAAsB,GAC7B,OAAO,sBAAsB,GAC7B,OAAO,2BAA2B,GAClC,OAAO,0BAA0B,GACjC,OAAO,kCAAkC,CAC5C,CA2DA,CAAA;AAEH;;;GAGG;AACH,eAAO,MAAM,+BAA+B,EAAE,wBAAwB,CAClE,OAAO,OAAO,CAAC,MAAM,GACrB,OAAO,OAAO,CAAC,gBAAgB,GAC/B,OAAO,OAAO,CAAC,gBAAgB,GAC/B,OAAO,OAAO,CAAC,kBAAkB,GACjC,OAAO,OAAO,CAAC,UAAU,GACzB,OAAO,OAAO,CAAC,sBAAsB,EACvC,cAAc,GACZ,qBAAqB,GACrB,gBAAgB,GAAG;IACjB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,EACH,YAAY,CACR,OAAO,sBAAsB,GAC7B,OAAO,sBAAsB,GAC7B,OAAO,2BAA2B,GAClC,OAAO,oBAAoB,GAC3B,OAAO,4BAA4B,CACtC,CAmEA,CAAA"}
|
|
1
|
+
{"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../../../src/authz/fragments/workspaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ensureModelCanBeCreatedFragment = exports.ensureWorkspaceProjectCanBeCreatedFragment = exports.ensureWorkspaceNotReadOnlyFragment = exports.ensureWorkspacesEnabledFragment = exports.ensureWorkspaceRoleAndSessionFragment = void 0;
|
|
3
|
+
exports.ensureCanUseWorkspacePlanFeatureFragment = exports.ensureUserIsWorkspaceAdminFragment = exports.ensureModelCanBeCreatedFragment = exports.ensureWorkspaceProjectCanBeCreatedFragment = exports.ensureWorkspaceNotReadOnlyFragment = exports.ensureWorkspacesEnabledFragment = exports.ensureWorkspaceRoleAndSessionFragment = void 0;
|
|
4
4
|
const result_1 = require("true-myth/result");
|
|
5
5
|
const workspaceRole_js_1 = require("../checks/workspaceRole.js");
|
|
6
6
|
const authErrors_js_1 = require("../domain/authErrors.js");
|
|
7
7
|
const constants_js_1 = require("../../core/constants.js");
|
|
8
8
|
const plans_js_1 = require("../../workspaces/helpers/plans.js");
|
|
9
9
|
const workspaceSeat_js_1 = require("../checks/workspaceSeat.js");
|
|
10
|
+
const server_js_1 = require("./server.js");
|
|
11
|
+
const features_js_1 = require("../../workspaces/helpers/features.js");
|
|
10
12
|
/**
|
|
11
13
|
* Ensure user has a workspace role, and a valid SSO session (if SSO is configured)
|
|
12
14
|
*/
|
|
@@ -190,4 +192,48 @@ const ensureModelCanBeCreatedFragment = (loaders) => async ({ projectId, userId,
|
|
|
190
192
|
}
|
|
191
193
|
};
|
|
192
194
|
exports.ensureModelCanBeCreatedFragment = ensureModelCanBeCreatedFragment;
|
|
195
|
+
const ensureUserIsWorkspaceAdminFragment = (loaders) => async ({ userId, workspaceId }) => {
|
|
196
|
+
const ensuredWorkspacesEnabled = await (0, exports.ensureWorkspacesEnabledFragment)(loaders)({});
|
|
197
|
+
if (ensuredWorkspacesEnabled.isErr)
|
|
198
|
+
return (0, result_1.err)(ensuredWorkspacesEnabled.error);
|
|
199
|
+
const ensuredServerRole = await (0, server_js_1.ensureMinimumServerRoleFragment)(loaders)({
|
|
200
|
+
userId,
|
|
201
|
+
role: constants_js_1.Roles.Server.User
|
|
202
|
+
});
|
|
203
|
+
if (ensuredServerRole.isErr)
|
|
204
|
+
return (0, result_1.err)(ensuredServerRole.error);
|
|
205
|
+
const ensuredWorkspaceAccess = await (0, exports.ensureWorkspaceRoleAndSessionFragment)(loaders)({
|
|
206
|
+
userId: userId,
|
|
207
|
+
workspaceId,
|
|
208
|
+
role: constants_js_1.Roles.Workspace.Admin
|
|
209
|
+
});
|
|
210
|
+
if (ensuredWorkspaceAccess.isErr)
|
|
211
|
+
return (0, result_1.err)(ensuredWorkspaceAccess.error);
|
|
212
|
+
return (0, result_1.ok)();
|
|
213
|
+
};
|
|
214
|
+
exports.ensureUserIsWorkspaceAdminFragment = ensureUserIsWorkspaceAdminFragment;
|
|
215
|
+
/**
|
|
216
|
+
* Check if workspace has access to a specific feature
|
|
217
|
+
*/
|
|
218
|
+
const ensureCanUseWorkspacePlanFeatureFragment = (loaders) => async ({ workspaceId, feature }) => {
|
|
219
|
+
const ensuredWorkspacesEnabled = await (0, exports.ensureWorkspacesEnabledFragment)(loaders)({});
|
|
220
|
+
if (ensuredWorkspacesEnabled.isErr)
|
|
221
|
+
return (0, result_1.err)(ensuredWorkspacesEnabled.error);
|
|
222
|
+
const ensuredNotReadOnly = await (0, exports.ensureWorkspaceNotReadOnlyFragment)(loaders)({
|
|
223
|
+
workspaceId
|
|
224
|
+
});
|
|
225
|
+
if (ensuredNotReadOnly.isErr)
|
|
226
|
+
return (0, result_1.err)(ensuredNotReadOnly.error);
|
|
227
|
+
const workspacePlan = await loaders.getWorkspacePlan({ workspaceId });
|
|
228
|
+
if (!workspacePlan)
|
|
229
|
+
return (0, result_1.err)(new authErrors_js_1.WorkspaceNoAccessError());
|
|
230
|
+
const featureFlags = await loaders.getEnv();
|
|
231
|
+
const canUseFeature = (0, features_js_1.workspacePlanHasAccessToFeature)({
|
|
232
|
+
plan: workspacePlan.name,
|
|
233
|
+
feature,
|
|
234
|
+
featureFlags
|
|
235
|
+
});
|
|
236
|
+
return canUseFeature ? (0, result_1.ok)() : (0, result_1.err)(new authErrors_js_1.WorkspacePlanNoFeatureAccessError());
|
|
237
|
+
};
|
|
238
|
+
exports.ensureCanUseWorkspacePlanFeatureFragment = ensureCanUseWorkspacePlanFeatureFragment;
|
|
193
239
|
//# sourceMappingURL=workspaces.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../../../../src/authz/fragments/workspaces.ts"],"names":[],"mappings":";;;AAAA,6CAA0C;AAE1C,iEAGmC;AACnC,
|
|
1
|
+
{"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../../../../src/authz/fragments/workspaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":";;;AAWO,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":";;;AAWO,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;AAnBY,QAAA,eAAe,mBAmB3B"}
|
|
@@ -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"}
|
|
@@ -23,4 +23,5 @@ __exportStar(require("./helpers/graphql.js"), exports);
|
|
|
23
23
|
__exportStar(require("./domain/authErrors.js"), exports);
|
|
24
24
|
var limits_js_1 = require("./domain/projects/limits.js");
|
|
25
25
|
Object.defineProperty(exports, "PersonalProjectsLimits", { enumerable: true, get: function () { return limits_js_1.PersonalProjectsLimits; } });
|
|
26
|
+
__exportStar(require("./domain/workspaces/operations.js"), exports);
|
|
26
27
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/authz/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAAuE;AAA9D,+GAAA,mBAAmB,OAAA;AAC5B,kDAI4B;AAD1B,wHAAA,0BAA0B,OAAA;AAE5B,uDAAoC;AACpC,yDAAsC;AAEtC,yDAAoE;AAA3D,mHAAA,sBAAsB,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/authz/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAAuE;AAA9D,+GAAA,mBAAmB,OAAA;AAC5B,kDAI4B;AAD1B,wHAAA,0BAA0B,OAAA;AAE5B,uDAAoC;AACpC,yDAAsC;AAEtC,yDAAoE;AAA3D,mHAAA,sBAAsB,OAAA;AAC/B,oEAAiD"}
|
|
@@ -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,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.canEditFunctionPolicy = void 0;
|
|
4
|
+
const result_1 = require("true-myth/result");
|
|
5
|
+
const automate_js_1 = require("../../../fragments/automate.js");
|
|
6
|
+
const canEditFunctionPolicy = (loaders) => async ({ userId, functionId }) => {
|
|
7
|
+
const isAutomateEnabled = await (0, automate_js_1.ensureAutomateEnabledFragment)(loaders)({});
|
|
8
|
+
if (isAutomateEnabled.isErr)
|
|
9
|
+
return (0, result_1.err)(isAutomateEnabled.error);
|
|
10
|
+
const isAutomateFunctionCreator = await (0, automate_js_1.ensureAutomateFunctionCreatorFragment)(loaders)({
|
|
11
|
+
userId,
|
|
12
|
+
functionId
|
|
13
|
+
});
|
|
14
|
+
if (isAutomateFunctionCreator.isErr)
|
|
15
|
+
return (0, result_1.err)(isAutomateFunctionCreator.error);
|
|
16
|
+
return (0, result_1.ok)();
|
|
17
|
+
};
|
|
18
|
+
exports.canEditFunctionPolicy = canEditFunctionPolicy;
|
|
19
|
+
//# 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,6CAA0C;AAS1C,gEAGuC;AAchC,MAAM,qBAAqB,GAKhC,CAAC,OAAO,EAAE,EAAE,CACZ,KAAK,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE;IAC/B,MAAM,iBAAiB,GAAG,MAAM,IAAA,2CAA6B,EAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;IAC1E,IAAI,iBAAiB,CAAC,KAAK;QAAE,OAAO,IAAA,YAAG,EAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;IAEhE,MAAM,yBAAyB,GAAG,MAAM,IAAA,mDAAqC,EAC3E,OAAO,CACR,CAAC;QACA,MAAM;QACN,UAAU;KACX,CAAC,CAAA;IACF,IAAI,yBAAyB,CAAC,KAAK;QAAE,OAAO,IAAA,YAAG,EAAC,yBAAyB,CAAC,KAAK,CAAC,CAAA;IAEhF,OAAO,IAAA,WAAE,GAAE,CAAA;AACb,CAAC,CAAA;AAnBU,QAAA,qBAAqB,yBAmB/B"}
|
|
@@ -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,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.canCreateDashboardTokenPolicy = void 0;
|
|
4
|
+
const result_1 = require("true-myth/result");
|
|
5
|
+
const authErrors_js_1 = require("../../domain/authErrors.js");
|
|
6
|
+
const dashboards_js_1 = require("../../fragments/dashboards.js");
|
|
7
|
+
const workspaceRole_js_1 = require("../../checks/workspaceRole.js");
|
|
8
|
+
const constants_js_1 = require("../../../core/constants.js");
|
|
9
|
+
const workspaceSeat_js_1 = require("../../checks/workspaceSeat.js");
|
|
10
|
+
const canCreateDashboardTokenPolicy = (loaders) => async ({ userId, dashboardId }) => {
|
|
11
|
+
const isDashboardsEnabled = await (0, dashboards_js_1.ensureDashboardsEnabledFragment)(loaders)({});
|
|
12
|
+
if (isDashboardsEnabled.isErr)
|
|
13
|
+
return (0, result_1.err)(isDashboardsEnabled.error);
|
|
14
|
+
const dashboard = await loaders.getDashboard({ dashboardId });
|
|
15
|
+
if (!dashboard)
|
|
16
|
+
return (0, result_1.err)(new authErrors_js_1.DashboardNotFoundError());
|
|
17
|
+
const { workspaceId } = dashboard;
|
|
18
|
+
const ensuredFeatureAccess = await (0, dashboards_js_1.ensureWorkspaceDashboardsFeatureAccessFragment)(loaders)({ workspaceId });
|
|
19
|
+
if (ensuredFeatureAccess.isErr)
|
|
20
|
+
return (0, result_1.err)(ensuredFeatureAccess.error);
|
|
21
|
+
const isWorkspaceMember = await (0, workspaceRole_js_1.hasMinimumWorkspaceRole)(loaders)({
|
|
22
|
+
userId: userId,
|
|
23
|
+
workspaceId,
|
|
24
|
+
role: constants_js_1.Roles.Workspace.Member
|
|
25
|
+
});
|
|
26
|
+
if (!isWorkspaceMember)
|
|
27
|
+
return (0, result_1.err)(new authErrors_js_1.WorkspaceNotEnoughPermissionsError());
|
|
28
|
+
const isWorkspaceEditorSeat = await (0, workspaceSeat_js_1.hasEditorSeat)(loaders)({
|
|
29
|
+
userId: userId,
|
|
30
|
+
workspaceId
|
|
31
|
+
});
|
|
32
|
+
if (!isWorkspaceEditorSeat)
|
|
33
|
+
return (0, result_1.err)(new authErrors_js_1.WorkspaceNoEditorSeatError());
|
|
34
|
+
if (!dashboard.projectIds.length)
|
|
35
|
+
return (0, result_1.err)(new authErrors_js_1.DashboardNoProjectsError());
|
|
36
|
+
const ensuredProjectAccess = await (0, dashboards_js_1.ensureDashboardProjectsReadAccess)(loaders)({
|
|
37
|
+
userId: userId,
|
|
38
|
+
dashboardId
|
|
39
|
+
});
|
|
40
|
+
if (ensuredProjectAccess.isErr)
|
|
41
|
+
return (0, result_1.err)(ensuredProjectAccess.error);
|
|
42
|
+
return (0, result_1.ok)();
|
|
43
|
+
};
|
|
44
|
+
exports.canCreateDashboardTokenPolicy = canCreateDashboardTokenPolicy;
|
|
45
|
+
//# sourceMappingURL=canCreateToken.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canCreateToken.js","sourceRoot":"","sources":["../../../../../src/authz/policies/dashboard/canCreateToken.ts"],"names":[],"mappings":";;;AAAA,6CAA0C;AAG1C,8DAQmC;AAEnC,iEAIsC;AACtC,oEAAuE;AACvE,6DAAkD;AAClD,oEAA6D;AA2BtD,MAAM,6BAA6B,GAKxC,CAAC,OAAO,EAAE,EAAE,CACZ,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE;IAChC,MAAM,mBAAmB,GAAG,MAAM,IAAA,+CAA+B,EAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;IAC9E,IAAI,mBAAmB,CAAC,KAAK;QAAE,OAAO,IAAA,YAAG,EAAC,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,IAAA,YAAG,EAAC,IAAI,sCAAsB,EAAE,CAAC,CAAA;IAExD,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,CAAA;IAEjC,MAAM,oBAAoB,GAAG,MAAM,IAAA,8DAA8C,EAC/E,OAAO,CACR,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;IAClB,IAAI,oBAAoB,CAAC,KAAK;QAAE,OAAO,IAAA,YAAG,EAAC,oBAAoB,CAAC,KAAK,CAAC,CAAA;IAEtE,MAAM,iBAAiB,GAAG,MAAM,IAAA,0CAAuB,EAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,EAAE,MAAO;QACf,WAAW;QACX,IAAI,EAAE,oBAAK,CAAC,SAAS,CAAC,MAAM;KAC7B,CAAC,CAAA;IACF,IAAI,CAAC,iBAAiB;QAAE,OAAO,IAAA,YAAG,EAAC,IAAI,kDAAkC,EAAE,CAAC,CAAA;IAE5E,MAAM,qBAAqB,GAAG,MAAM,IAAA,gCAAa,EAAC,OAAO,CAAC,CAAC;QACzD,MAAM,EAAE,MAAO;QACf,WAAW;KACZ,CAAC,CAAA;IACF,IAAI,CAAC,qBAAqB;QAAE,OAAO,IAAA,YAAG,EAAC,IAAI,0CAA0B,EAAE,CAAC,CAAA;IAExE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM;QAAE,OAAO,IAAA,YAAG,EAAC,IAAI,wCAAwB,EAAE,CAAC,CAAA;IAC5E,MAAM,oBAAoB,GAAG,MAAM,IAAA,iDAAiC,EAAC,OAAO,CAAC,CAAC;QAC5E,MAAM,EAAE,MAAO;QACf,WAAW;KACZ,CAAC,CAAA;IACF,IAAI,oBAAoB,CAAC,KAAK;QAAE,OAAO,IAAA,YAAG,EAAC,oBAAoB,CAAC,KAAK,CAAC,CAAA;IAEtE,OAAO,IAAA,WAAE,GAAE,CAAA;AACb,CAAC,CAAA;AAzCU,QAAA,6BAA6B,iCAyCvC"}
|
|
@@ -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,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.canDeleteDashboardPolicy = void 0;
|
|
4
|
+
const result_1 = require("true-myth/result");
|
|
5
|
+
const authErrors_js_1 = require("../../domain/authErrors.js");
|
|
6
|
+
const dashboards_js_1 = require("../../fragments/dashboards.js");
|
|
7
|
+
const workspaceRole_js_1 = require("../../checks/workspaceRole.js");
|
|
8
|
+
const constants_js_1 = require("../../../core/constants.js");
|
|
9
|
+
const workspaceSeat_js_1 = require("../../checks/workspaceSeat.js");
|
|
10
|
+
const dashboards_js_2 = require("../../checks/dashboards.js");
|
|
11
|
+
const server_js_1 = require("../../fragments/server.js");
|
|
12
|
+
const canDeleteDashboardPolicy = (loaders) => async ({ userId, dashboardId }) => {
|
|
13
|
+
const isDashboardsEnabled = await (0, dashboards_js_1.ensureDashboardsEnabledFragment)(loaders)({});
|
|
14
|
+
if (isDashboardsEnabled.isErr)
|
|
15
|
+
return (0, result_1.err)(isDashboardsEnabled.error);
|
|
16
|
+
const dashboard = await loaders.getDashboard({ dashboardId });
|
|
17
|
+
if (!dashboard)
|
|
18
|
+
return (0, result_1.err)(new authErrors_js_1.DashboardNotFoundError());
|
|
19
|
+
const { workspaceId } = dashboard;
|
|
20
|
+
const ensuredFeatureAccess = await (0, dashboards_js_1.ensureWorkspaceDashboardsFeatureAccessFragment)(loaders)({ workspaceId });
|
|
21
|
+
if (ensuredFeatureAccess.isErr)
|
|
22
|
+
return (0, result_1.err)(ensuredFeatureAccess.error);
|
|
23
|
+
const hasAdminAccess = await (0, server_js_1.checkIfAdminOverrideEnabledFragment)(loaders)({
|
|
24
|
+
userId
|
|
25
|
+
});
|
|
26
|
+
if (hasAdminAccess.isOk && hasAdminAccess.value)
|
|
27
|
+
return (0, result_1.ok)();
|
|
28
|
+
const isWorkspaceEditorSeat = await (0, workspaceSeat_js_1.hasEditorSeat)(loaders)({
|
|
29
|
+
userId: userId,
|
|
30
|
+
workspaceId
|
|
31
|
+
});
|
|
32
|
+
if (!isWorkspaceEditorSeat)
|
|
33
|
+
return (0, result_1.err)(new authErrors_js_1.WorkspaceNoEditorSeatError());
|
|
34
|
+
const isWorkspaceAdmin = await (0, workspaceRole_js_1.hasMinimumWorkspaceRole)(loaders)({
|
|
35
|
+
userId: userId,
|
|
36
|
+
workspaceId,
|
|
37
|
+
role: constants_js_1.Roles.Workspace.Admin
|
|
38
|
+
});
|
|
39
|
+
const isOwner = await (0, dashboards_js_2.isDashboardOwner)(loaders)({ userId: userId, dashboardId });
|
|
40
|
+
if (!isWorkspaceAdmin && !isOwner)
|
|
41
|
+
return (0, result_1.err)(new authErrors_js_1.DashboardNotOwnerError());
|
|
42
|
+
return (0, result_1.ok)();
|
|
43
|
+
};
|
|
44
|
+
exports.canDeleteDashboardPolicy = canDeleteDashboardPolicy;
|
|
45
|
+
//# sourceMappingURL=canDelete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canDelete.js","sourceRoot":"","sources":["../../../../../src/authz/policies/dashboard/canDelete.ts"],"names":[],"mappings":";;;AAAA,6CAA0C;AAG1C,8DAOmC;AAEnC,iEAGsC;AACtC,oEAAuE;AACvE,6DAAkD;AAClD,oEAA6D;AAC7D,8DAA6D;AAC7D,yDAA+E;AAsBxE,MAAM,wBAAwB,GAKnC,CAAC,OAAO,EAAE,EAAE,CACZ,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE;IAChC,MAAM,mBAAmB,GAAG,MAAM,IAAA,+CAA+B,EAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;IAC9E,IAAI,mBAAmB,CAAC,KAAK;QAAE,OAAO,IAAA,YAAG,EAAC,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,IAAA,YAAG,EAAC,IAAI,sCAAsB,EAAE,CAAC,CAAA;IAExD,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,CAAA;IAEjC,MAAM,oBAAoB,GAAG,MAAM,IAAA,8DAA8C,EAC/E,OAAO,CACR,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;IAClB,IAAI,oBAAoB,CAAC,KAAK;QAAE,OAAO,IAAA,YAAG,EAAC,oBAAoB,CAAC,KAAK,CAAC,CAAA;IAEtE,MAAM,cAAc,GAAG,MAAM,IAAA,+CAAmC,EAAC,OAAO,CAAC,CAAC;QACxE,MAAM;KACP,CAAC,CAAA;IACF,IAAI,cAAc,CAAC,IAAI,IAAI,cAAc,CAAC,KAAK;QAAE,OAAO,IAAA,WAAE,GAAE,CAAA;IAE5D,MAAM,qBAAqB,GAAG,MAAM,IAAA,gCAAa,EAAC,OAAO,CAAC,CAAC;QACzD,MAAM,EAAE,MAAO;QACf,WAAW;KACZ,CAAC,CAAA;IACF,IAAI,CAAC,qBAAqB;QAAE,OAAO,IAAA,YAAG,EAAC,IAAI,0CAA0B,EAAE,CAAC,CAAA;IAExE,MAAM,gBAAgB,GAAG,MAAM,IAAA,0CAAuB,EAAC,OAAO,CAAC,CAAC;QAC9D,MAAM,EAAE,MAAO;QACf,WAAW;QACX,IAAI,EAAE,oBAAK,CAAC,SAAS,CAAC,KAAK;KAC5B,CAAC,CAAA;IACF,MAAM,OAAO,GAAG,MAAM,IAAA,gCAAgB,EAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,MAAO,EAAE,WAAW,EAAE,CAAC,CAAA;IAEjF,IAAI,CAAC,gBAAgB,IAAI,CAAC,OAAO;QAAE,OAAO,IAAA,YAAG,EAAC,IAAI,sCAAsB,EAAE,CAAC,CAAA;IAE3E,OAAO,IAAA,WAAE,GAAE,CAAA;AACb,CAAC,CAAA;AAzCU,QAAA,wBAAwB,4BAyClC"}
|
|
@@ -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,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.canEditDashboardPolicy = void 0;
|
|
4
|
+
const result_1 = require("true-myth/result");
|
|
5
|
+
const authErrors_js_1 = require("../../domain/authErrors.js");
|
|
6
|
+
const dashboards_js_1 = require("../../fragments/dashboards.js");
|
|
7
|
+
const workspaceRole_js_1 = require("../../checks/workspaceRole.js");
|
|
8
|
+
const constants_js_1 = require("../../../core/constants.js");
|
|
9
|
+
const workspaceSeat_js_1 = require("../../checks/workspaceSeat.js");
|
|
10
|
+
const server_js_1 = require("../../fragments/server.js");
|
|
11
|
+
const canEditDashboardPolicy = (loaders) => async ({ userId, dashboardId }) => {
|
|
12
|
+
const isDashboardsEnabled = await (0, dashboards_js_1.ensureDashboardsEnabledFragment)(loaders)({});
|
|
13
|
+
if (isDashboardsEnabled.isErr)
|
|
14
|
+
return (0, result_1.err)(isDashboardsEnabled.error);
|
|
15
|
+
const dashboard = await loaders.getDashboard({ dashboardId });
|
|
16
|
+
if (!dashboard)
|
|
17
|
+
return (0, result_1.err)(new authErrors_js_1.DashboardNotFoundError());
|
|
18
|
+
const { workspaceId } = dashboard;
|
|
19
|
+
const ensuredFeatureAccess = await (0, dashboards_js_1.ensureWorkspaceDashboardsFeatureAccessFragment)(loaders)({ workspaceId });
|
|
20
|
+
if (ensuredFeatureAccess.isErr)
|
|
21
|
+
return (0, result_1.err)(ensuredFeatureAccess.error);
|
|
22
|
+
const hasAdminAccess = await (0, server_js_1.checkIfAdminOverrideEnabledFragment)(loaders)({
|
|
23
|
+
userId
|
|
24
|
+
});
|
|
25
|
+
if (hasAdminAccess.isOk && hasAdminAccess.value)
|
|
26
|
+
return (0, result_1.ok)();
|
|
27
|
+
const isWorkspaceMember = await (0, workspaceRole_js_1.hasMinimumWorkspaceRole)(loaders)({
|
|
28
|
+
userId: userId,
|
|
29
|
+
workspaceId,
|
|
30
|
+
role: constants_js_1.Roles.Workspace.Member
|
|
31
|
+
});
|
|
32
|
+
if (!isWorkspaceMember)
|
|
33
|
+
return (0, result_1.err)(new authErrors_js_1.WorkspaceNotEnoughPermissionsError());
|
|
34
|
+
const isWorkspaceEditorSeat = await (0, workspaceSeat_js_1.hasEditorSeat)(loaders)({
|
|
35
|
+
userId: userId,
|
|
36
|
+
workspaceId
|
|
37
|
+
});
|
|
38
|
+
if (!isWorkspaceEditorSeat)
|
|
39
|
+
return (0, result_1.err)(new authErrors_js_1.WorkspaceNoEditorSeatError());
|
|
40
|
+
return (0, result_1.ok)();
|
|
41
|
+
};
|
|
42
|
+
exports.canEditDashboardPolicy = canEditDashboardPolicy;
|
|
43
|
+
//# sourceMappingURL=canEdit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canEdit.js","sourceRoot":"","sources":["../../../../../src/authz/policies/dashboard/canEdit.ts"],"names":[],"mappings":";;;AAAA,6CAA0C;AAG1C,8DAMmC;AAEnC,iEAGsC;AACtC,oEAAuE;AACvE,6DAAkD;AAClD,oEAA6D;AAC7D,yDAA+E;AAqBxE,MAAM,sBAAsB,GAKjC,CAAC,OAAO,EAAE,EAAE,CACZ,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE;IAChC,MAAM,mBAAmB,GAAG,MAAM,IAAA,+CAA+B,EAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;IAC9E,IAAI,mBAAmB,CAAC,KAAK;QAAE,OAAO,IAAA,YAAG,EAAC,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,IAAA,YAAG,EAAC,IAAI,sCAAsB,EAAE,CAAC,CAAA;IAExD,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,CAAA;IAEjC,MAAM,oBAAoB,GAAG,MAAM,IAAA,8DAA8C,EAC/E,OAAO,CACR,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;IAClB,IAAI,oBAAoB,CAAC,KAAK;QAAE,OAAO,IAAA,YAAG,EAAC,oBAAoB,CAAC,KAAK,CAAC,CAAA;IAEtE,MAAM,cAAc,GAAG,MAAM,IAAA,+CAAmC,EAAC,OAAO,CAAC,CAAC;QACxE,MAAM;KACP,CAAC,CAAA;IACF,IAAI,cAAc,CAAC,IAAI,IAAI,cAAc,CAAC,KAAK;QAAE,OAAO,IAAA,WAAE,GAAE,CAAA;IAE5D,MAAM,iBAAiB,GAAG,MAAM,IAAA,0CAAuB,EAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,EAAE,MAAO;QACf,WAAW;QACX,IAAI,EAAE,oBAAK,CAAC,SAAS,CAAC,MAAM;KAC7B,CAAC,CAAA;IACF,IAAI,CAAC,iBAAiB;QAAE,OAAO,IAAA,YAAG,EAAC,IAAI,kDAAkC,EAAE,CAAC,CAAA;IAE5E,MAAM,qBAAqB,GAAG,MAAM,IAAA,gCAAa,EAAC,OAAO,CAAC,CAAC;QACzD,MAAM,EAAE,MAAO;QACf,WAAW;KACZ,CAAC,CAAA;IACF,IAAI,CAAC,qBAAqB;QAAE,OAAO,IAAA,YAAG,EAAC,IAAI,0CAA0B,EAAE,CAAC,CAAA;IAExE,OAAO,IAAA,WAAE,GAAE,CAAA;AACb,CAAC,CAAA;AAvCU,QAAA,sBAAsB,0BAuChC"}
|
|
@@ -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"}
|