Source

services/modules-service.js

/**
 * @namespace Services
 * @category Services
 * @module modules-service
 * */

import { getQueryStringValue } from '@/utils/querystring'
import envService from '@/services/env-service.js'

/**
 * Modules can be whitelisted
 * (Dynamically enable/disable them from routing/sidebar)
 * https://easyredmine.simpliciti.fr/issues/28149
 *
 * ?debug=1 disables module whitelisting
 */
export function areModulesWhitelisted() {
  if (!envService.isProduction() && getQueryStringValue('debug') === '1') {
    return false
  }
  return (
    !!(process.env.VUE_APP_WHITELIST_MODULES || '') ||
    !!getQueryStringValue('whitelistmodules')
  )
}

/**
 * Test/Debug: (Only dev, recette, isoprod, preprod)
 * whitelisting can be tested using URL param "whitelistmodules"
 * (i.g ?whitelistmodules=ecoconduite_module)
 *
 */
export function getWhitelistedModules() {
  let whitelistedModules = (process.env.VUE_APP_WHITELIST_MODULES || '')
    .toString()
    .trim()
    .split(',')

  if (!!getQueryStringValue('whitelistmodules') && !envService.isProduction()) {
    whitelistedModules = getQueryStringValue('whitelistmodules')
      .toString()
      .trim()
      .split(',')
  }
  return whitelistedModules
}