summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/feature_flags/constants.js
blob: f697f203cf5a5f06ff9bfe0984c601840a1e21ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import { property } from 'lodash';
import { s__ } from '~/locale';

export const ROLLOUT_STRATEGY_ALL_USERS = 'default';
export const ROLLOUT_STRATEGY_PERCENT_ROLLOUT = 'gradualRolloutUserId';
export const ROLLOUT_STRATEGY_FLEXIBLE_ROLLOUT = 'flexibleRollout';
export const ROLLOUT_STRATEGY_USER_ID = 'userWithId';
export const ROLLOUT_STRATEGY_GITLAB_USER_LIST = 'gitlabUserList';

export const PERCENT_ROLLOUT_GROUP_ID = 'default';

export const DEFAULT_PERCENT_ROLLOUT = '100';

export const ALL_ENVIRONMENTS_NAME = '*';

export const INTERNAL_ID_PREFIX = 'internal_';

export const fetchPercentageParams = property(['parameters', 'percentage']);
export const fetchUserIdParams = property(['parameters', 'userIds']);

export const NEW_VERSION_FLAG = 'new_version_flag';
export const LEGACY_FLAG = 'legacy_flag';

export const EMPTY_PARAMETERS = { parameters: {}, userListId: undefined };

export const STRATEGY_SELECTIONS = [
  {
    value: ROLLOUT_STRATEGY_ALL_USERS,
    text: s__('FeatureFlags|All users'),
  },
  {
    value: ROLLOUT_STRATEGY_FLEXIBLE_ROLLOUT,
    text: s__('FeatureFlags|Percent rollout'),
  },
  {
    value: ROLLOUT_STRATEGY_PERCENT_ROLLOUT,
    text: s__('FeatureFlags|Percent of users'),
  },
  {
    value: ROLLOUT_STRATEGY_USER_ID,
    text: s__('FeatureFlags|User IDs'),
  },
  {
    value: ROLLOUT_STRATEGY_GITLAB_USER_LIST,
    text: s__('FeatureFlags|User List'),
  },
];