utils.ts 1.1 KB

123456789101112131415161718192021222324252627282930
  1. import type {Organization} from 'sentry/types/organization';
  2. import {DOMAIN_VIEW_MODULES} from 'sentry/views/insights/pages/settings';
  3. import type {DomainView} from 'sentry/views/insights/pages/useFilters';
  4. import {
  5. MODULE_FEATURE_MAP,
  6. MODULE_FEATURE_VISIBLE_MAP,
  7. } from 'sentry/views/insights/settings';
  8. import type {ModuleName} from 'sentry/views/insights/types';
  9. export const isModuleEnabled = (module: ModuleName, organization: Organization) =>
  10. MODULE_FEATURE_MAP[module].every(f => organization.features.includes(f));
  11. export const isModuleVisible = (module: ModuleName, organization: Organization) =>
  12. MODULE_FEATURE_VISIBLE_MAP[module].every(f => organization.features.includes(f));
  13. export const getModuleView = (module: ModuleName): DomainView => {
  14. if (DOMAIN_VIEW_MODULES.backend.includes(module)) {
  15. return 'backend';
  16. }
  17. if (DOMAIN_VIEW_MODULES.frontend.includes(module)) {
  18. return 'frontend';
  19. }
  20. if (DOMAIN_VIEW_MODULES.mobile.includes(module)) {
  21. return 'mobile';
  22. }
  23. if (DOMAIN_VIEW_MODULES.ai.includes(module)) {
  24. return 'ai';
  25. }
  26. return 'backend';
  27. };