unleash-server 4.2.2 → 4.3.0-beta.3

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.
Files changed (186) hide show
  1. package/README.md +1 -0
  2. package/dist/lib/addons/addon.d.ts +2 -1
  3. package/dist/lib/addons/addon.js.map +1 -1
  4. package/dist/lib/addons/datadog.d.ts +2 -1
  5. package/dist/lib/addons/datadog.js.map +1 -1
  6. package/dist/lib/addons/datadog.test.js +3 -0
  7. package/dist/lib/addons/datadog.test.js.map +1 -1
  8. package/dist/lib/addons/feature-event-formatter-md.d.ts +1 -1
  9. package/dist/lib/addons/feature-event-formatter-md.js +13 -14
  10. package/dist/lib/addons/feature-event-formatter-md.js.map +1 -1
  11. package/dist/lib/addons/slack.d.ts +2 -1
  12. package/dist/lib/addons/slack.js.map +1 -1
  13. package/dist/lib/addons/slack.test.js +6 -0
  14. package/dist/lib/addons/slack.test.js.map +1 -1
  15. package/dist/lib/addons/teams.d.ts +2 -1
  16. package/dist/lib/addons/teams.js.map +1 -1
  17. package/dist/lib/addons/teams.test.js +3 -0
  18. package/dist/lib/addons/teams.test.js.map +1 -1
  19. package/dist/lib/addons/webhook.d.ts +8 -2
  20. package/dist/lib/addons/webhook.js +0 -1
  21. package/dist/lib/addons/webhook.js.map +1 -1
  22. package/dist/lib/addons/webhook.test.js +2 -0
  23. package/dist/lib/addons/webhook.test.js.map +1 -1
  24. package/dist/lib/create-config.js +5 -15
  25. package/dist/lib/create-config.js.map +1 -1
  26. package/dist/lib/create-config.test.js +0 -37
  27. package/dist/lib/create-config.test.js.map +1 -1
  28. package/dist/lib/db/client-metrics-store-v2.js +5 -1
  29. package/dist/lib/db/client-metrics-store-v2.js.map +1 -1
  30. package/dist/lib/db/event-store.d.ts +10 -6
  31. package/dist/lib/db/event-store.js +21 -1
  32. package/dist/lib/db/event-store.js.map +1 -1
  33. package/dist/lib/db/feature-strategy-store.js +1 -0
  34. package/dist/lib/db/feature-strategy-store.js.map +1 -1
  35. package/dist/lib/db/feature-toggle-store.d.ts +4 -1
  36. package/dist/lib/db/feature-toggle-store.js +27 -2
  37. package/dist/lib/db/feature-toggle-store.js.map +1 -1
  38. package/dist/lib/db/index.js +2 -0
  39. package/dist/lib/db/index.js.map +1 -1
  40. package/dist/lib/db/user-splash-store.d.ts +19 -0
  41. package/dist/lib/db/user-splash-store.js +70 -0
  42. package/dist/lib/db/user-splash-store.js.map +1 -0
  43. package/dist/lib/error/operation-denied-error.d.ts +4 -0
  44. package/dist/lib/error/operation-denied-error.js +24 -0
  45. package/dist/lib/error/operation-denied-error.js.map +1 -0
  46. package/dist/lib/metrics.js +17 -8
  47. package/dist/lib/metrics.js.map +1 -1
  48. package/dist/lib/metrics.test.js +1 -0
  49. package/dist/lib/metrics.test.js.map +1 -1
  50. package/dist/lib/routes/admin-api/event.d.ts +8 -4
  51. package/dist/lib/routes/admin-api/event.js +8 -10
  52. package/dist/lib/routes/admin-api/event.js.map +1 -1
  53. package/dist/lib/routes/admin-api/feature.js +1 -1
  54. package/dist/lib/routes/admin-api/feature.js.map +1 -1
  55. package/dist/lib/routes/admin-api/index.js +2 -0
  56. package/dist/lib/routes/admin-api/index.js.map +1 -1
  57. package/dist/lib/routes/admin-api/project/index.js +2 -0
  58. package/dist/lib/routes/admin-api/project/index.js.map +1 -1
  59. package/dist/lib/routes/admin-api/project/variants.d.ts +21 -0
  60. package/dist/lib/routes/admin-api/project/variants.js +41 -0
  61. package/dist/lib/routes/admin-api/project/variants.js.map +1 -0
  62. package/dist/lib/routes/admin-api/state.js +0 -1
  63. package/dist/lib/routes/admin-api/state.js.map +1 -1
  64. package/dist/lib/routes/admin-api/user-splash-controller.d.ts +10 -0
  65. package/dist/lib/routes/admin-api/user-splash-controller.js +28 -0
  66. package/dist/lib/routes/admin-api/user-splash-controller.js.map +1 -0
  67. package/dist/lib/routes/admin-api/user.d.ts +2 -1
  68. package/dist/lib/routes/admin-api/user.js +7 -2
  69. package/dist/lib/routes/admin-api/user.js.map +1 -1
  70. package/dist/lib/routes/client-api/metrics.d.ts +0 -1
  71. package/dist/lib/routes/client-api/metrics.js +2 -10
  72. package/dist/lib/routes/client-api/metrics.js.map +1 -1
  73. package/dist/lib/routes/util.js +18 -16
  74. package/dist/lib/routes/util.js.map +1 -1
  75. package/dist/lib/schema/feature-schema.d.ts +1 -0
  76. package/dist/lib/schema/feature-schema.js +6 -7
  77. package/dist/lib/schema/feature-schema.js.map +1 -1
  78. package/dist/lib/services/addon-service-test-simple-addon.d.ts +1 -1
  79. package/dist/lib/services/addon-service-test-simple-addon.js.map +1 -1
  80. package/dist/lib/services/client-metrics/client-metrics-service-v2.js +3 -3
  81. package/dist/lib/services/client-metrics/client-metrics-service-v2.js.map +1 -1
  82. package/dist/lib/services/client-metrics/index.d.ts +6 -5
  83. package/dist/lib/services/client-metrics/index.js +6 -3
  84. package/dist/lib/services/client-metrics/index.js.map +1 -1
  85. package/dist/lib/services/client-metrics/list.d.ts +19 -16
  86. package/dist/lib/services/client-metrics/list.js +6 -4
  87. package/dist/lib/services/client-metrics/list.js.map +1 -1
  88. package/dist/lib/services/client-metrics/list.test.js +9 -5
  89. package/dist/lib/services/client-metrics/list.test.js.map +1 -1
  90. package/dist/lib/services/client-metrics/ttl-list.d.ts +20 -14
  91. package/dist/lib/services/client-metrics/ttl-list.js +17 -12
  92. package/dist/lib/services/client-metrics/ttl-list.js.map +1 -1
  93. package/dist/lib/services/client-metrics/ttl-list.test.js +14 -10
  94. package/dist/lib/services/client-metrics/ttl-list.test.js.map +1 -1
  95. package/dist/lib/services/event-service.d.ts +1 -1
  96. package/dist/lib/services/event-service.js +1 -1
  97. package/dist/lib/services/event-service.js.map +1 -1
  98. package/dist/lib/services/feature-tag-service.js +7 -11
  99. package/dist/lib/services/feature-tag-service.js.map +1 -1
  100. package/dist/lib/services/feature-toggle-service.d.ts +25 -15
  101. package/dist/lib/services/feature-toggle-service.js +198 -136
  102. package/dist/lib/services/feature-toggle-service.js.map +1 -1
  103. package/dist/lib/services/index.js +3 -0
  104. package/dist/lib/services/index.js.map +1 -1
  105. package/dist/lib/services/project-health-service.d.ts +2 -2
  106. package/dist/lib/services/project-health-service.js +1 -0
  107. package/dist/lib/services/project-health-service.js.map +1 -1
  108. package/dist/lib/services/project-service.d.ts +2 -3
  109. package/dist/lib/services/project-service.js +12 -18
  110. package/dist/lib/services/project-service.js.map +1 -1
  111. package/dist/lib/services/user-service.d.ts +3 -2
  112. package/dist/lib/services/user-service.js +37 -21
  113. package/dist/lib/services/user-service.js.map +1 -1
  114. package/dist/lib/services/user-splash-service.d.ts +12 -0
  115. package/dist/lib/services/user-splash-service.js +33 -0
  116. package/dist/lib/services/user-splash-service.js.map +1 -0
  117. package/dist/lib/types/events.d.ts +165 -2
  118. package/dist/lib/types/events.js +124 -4
  119. package/dist/lib/types/events.js.map +1 -1
  120. package/dist/lib/types/model.d.ts +4 -12
  121. package/dist/lib/types/model.js +6 -1
  122. package/dist/lib/types/model.js.map +1 -1
  123. package/dist/lib/types/services.d.ts +2 -0
  124. package/dist/lib/types/stores/event-store.d.ts +4 -3
  125. package/dist/lib/types/stores/feature-toggle-store.d.ts +3 -1
  126. package/dist/lib/types/stores/user-splash-store.d.ts +15 -0
  127. package/dist/lib/types/stores/user-splash-store.js +3 -0
  128. package/dist/lib/types/stores/user-splash-store.js.map +1 -0
  129. package/dist/lib/types/stores.d.ts +2 -0
  130. package/dist/migrations/20211105104316-add-feature-name-column-to-events.d.ts +2 -0
  131. package/dist/migrations/20211105104316-add-feature-name-column-to-events.js +16 -0
  132. package/dist/migrations/20211105104316-add-feature-name-column-to-events.js.map +1 -0
  133. package/dist/migrations/20211105105509-add-predata-column-to-events.d.ts +2 -0
  134. package/dist/migrations/20211105105509-add-predata-column-to-events.js +8 -0
  135. package/dist/migrations/20211105105509-add-predata-column-to-events.js.map +1 -0
  136. package/dist/migrations/20211108130333-create-user-splash-table.d.ts +2 -0
  137. package/dist/migrations/20211108130333-create-user-splash-table.js +18 -0
  138. package/dist/migrations/20211108130333-create-user-splash-table.js.map +1 -0
  139. package/dist/migrations/20211109103930-add-splash-entry-for-users.d.ts +2 -0
  140. package/dist/migrations/20211109103930-add-splash-entry-for-users.js +7 -0
  141. package/dist/migrations/20211109103930-add-splash-entry-for-users.js.map +1 -0
  142. package/dist/migrations/20211126112551-disable-default-environment.d.ts +2 -0
  143. package/dist/migrations/20211126112551-disable-default-environment.js +24 -0
  144. package/dist/migrations/20211126112551-disable-default-environment.js.map +1 -0
  145. package/dist/test/e2e/api/admin/client-metrics.e2e.test.js +18 -14
  146. package/dist/test/e2e/api/admin/client-metrics.e2e.test.js.map +1 -1
  147. package/dist/test/e2e/api/admin/feature.e2e.test.js +24 -18
  148. package/dist/test/e2e/api/admin/feature.e2e.test.js.map +1 -1
  149. package/dist/test/e2e/api/admin/project/features.e2e.test.js +31 -8
  150. package/dist/test/e2e/api/admin/project/features.e2e.test.js.map +1 -1
  151. package/dist/test/e2e/api/admin/project/project.health.e2e.test.js +60 -0
  152. package/dist/test/e2e/api/admin/project/project.health.e2e.test.js.map +1 -1
  153. package/dist/{lib/event-differ.test.d.ts → test/e2e/api/admin/project/variants.e2e.test.d.ts} +0 -0
  154. package/dist/test/e2e/api/admin/project/variants.e2e.test.js +727 -0
  155. package/dist/test/e2e/api/admin/project/variants.e2e.test.js.map +1 -0
  156. package/dist/test/e2e/api/admin/splash.e2e.test.d.ts +1 -0
  157. package/dist/test/e2e/api/admin/splash.e2e.test.js +51 -0
  158. package/dist/test/e2e/api/admin/splash.e2e.test.js.map +1 -0
  159. package/dist/test/e2e/api/admin/user-admin.e2e.test.js +2 -16
  160. package/dist/test/e2e/api/admin/user-admin.e2e.test.js.map +1 -1
  161. package/dist/test/e2e/services/feature-toggle-service-v2.e2e.test.js.map +1 -1
  162. package/dist/test/e2e/services/project-health-service.e2e.test.js.map +1 -1
  163. package/dist/test/e2e/services/project-service.e2e.test.js +0 -30
  164. package/dist/test/e2e/services/project-service.e2e.test.js.map +1 -1
  165. package/dist/test/e2e/stores/event-store.e2e.test.js.map +1 -1
  166. package/dist/test/e2e/stores/user-splash-store.e2e.test.d.ts +1 -0
  167. package/dist/test/e2e/stores/user-splash-store.e2e.test.js +74 -0
  168. package/dist/test/e2e/stores/user-splash-store.e2e.test.js.map +1 -0
  169. package/dist/test/fixtures/fake-event-store.d.ts +2 -1
  170. package/dist/test/fixtures/fake-event-store.js +3 -0
  171. package/dist/test/fixtures/fake-event-store.js.map +1 -1
  172. package/dist/test/fixtures/fake-feature-toggle-store.d.ts +3 -1
  173. package/dist/test/fixtures/fake-feature-toggle-store.js +9 -0
  174. package/dist/test/fixtures/fake-feature-toggle-store.js.map +1 -1
  175. package/dist/test/fixtures/fake-user-splash-store.d.ts +12 -0
  176. package/dist/test/fixtures/fake-user-splash-store.js +40 -0
  177. package/dist/test/fixtures/fake-user-splash-store.js.map +1 -0
  178. package/dist/test/fixtures/store.js +2 -0
  179. package/dist/test/fixtures/store.js.map +1 -1
  180. package/docs/api/oas/openapi.yaml +35 -55
  181. package/package.json +16 -17
  182. package/dist/lib/event-differ.d.ts +0 -1
  183. package/dist/lib/event-differ.js +0 -117
  184. package/dist/lib/event-differ.js.map +0 -1
  185. package/dist/lib/event-differ.test.js +0 -142
  186. package/dist/lib/event-differ.test.js.map +0 -1
@@ -10,15 +10,17 @@ const db_error_1 = require("../error/db-error");
10
10
  const feature_schema_1 = require("../schema/feature-schema");
11
11
  const events_1 = require("../types/events");
12
12
  const notfound_error_1 = __importDefault(require("../error/notfound-error"));
13
+ const model_1 = require("../types/model");
13
14
  const constants_1 = require("../util/constants");
14
15
  const fast_json_patch_1 = require("fast-json-patch");
15
- class FeatureToggleServiceV2 {
16
+ const operation_denied_error_1 = require("../error/operation-denied-error");
17
+ class FeatureToggleService {
16
18
  constructor({ featureStrategiesStore, featureToggleStore, featureToggleClientStore, projectStore, eventStore, featureTagStore, featureEnvironmentStore, }, { getLogger }) {
17
19
  this.logger = getLogger('services/feature-toggle-service-v2.ts');
18
20
  this.featureStrategiesStore = featureStrategiesStore;
19
21
  this.featureToggleStore = featureToggleStore;
20
22
  this.featureToggleClientStore = featureToggleClientStore;
21
- this.featureTagStore = featureTagStore;
23
+ this.tagStore = featureTagStore;
22
24
  this.projectStore = projectStore;
23
25
  this.eventStore = eventStore;
24
26
  this.featureEnvironmentStore = featureEnvironmentStore;
@@ -37,21 +39,34 @@ class FeatureToggleServiceV2 {
37
39
  throw new invalid_operation_error_1.default('You can not change the featureName for an activation strategy.');
38
40
  }
39
41
  }
40
- async patchFeature(projectId, featureName, userName, operations) {
42
+ async patchFeature(project, featureName, createdBy, operations) {
41
43
  const featureToggle = await this.getFeatureMetadata(featureName);
44
+ if (operations.some((op) => op.path.indexOf('/variants') >= 0)) {
45
+ throw new operation_denied_error_1.OperationDeniedError(`Changing variants is done via PATCH operation to /api/admin/projects/:project/features/:feature/variants`);
46
+ }
42
47
  const { newDocument } = (0, fast_json_patch_1.applyPatch)((0, fast_json_patch_1.deepClone)(featureToggle), operations);
43
- const updated = await this.updateFeatureToggle(projectId, newDocument, userName);
48
+ const updated = await this.updateFeatureToggle(project, newDocument, createdBy);
44
49
  if (featureToggle.stale !== newDocument.stale) {
45
- await this.eventStore.store({
46
- type: newDocument.stale ? events_1.FEATURE_STALE_ON : events_1.FEATURE_STALE_OFF,
47
- data: updated,
48
- project: projectId,
49
- createdBy: userName,
50
- });
50
+ const tags = await this.tagStore.getAllTagsForFeature(featureName);
51
+ await this.eventStore.store(new events_1.FeatureStaleEvent({
52
+ stale: newDocument.stale,
53
+ project,
54
+ featureName,
55
+ createdBy,
56
+ tags,
57
+ }));
51
58
  }
52
59
  return updated;
53
60
  }
54
- async createStrategy(strategyConfig, context, userName) {
61
+ featureStrategyToPublic(featureStrategy) {
62
+ return {
63
+ id: featureStrategy.id,
64
+ name: featureStrategy.strategyName,
65
+ constraints: featureStrategy.constraints || [],
66
+ parameters: featureStrategy.parameters,
67
+ };
68
+ }
69
+ async createStrategy(strategyConfig, context, createdBy) {
55
70
  const { featureName, projectId, environment } = context;
56
71
  await this.validateFeatureContext(context);
57
72
  try {
@@ -64,24 +79,17 @@ class FeatureToggleServiceV2 {
64
79
  featureName,
65
80
  environment,
66
81
  });
67
- const data = {
68
- id: newFeatureStrategy.id,
69
- name: newFeatureStrategy.strategyName,
70
- constraints: newFeatureStrategy.constraints,
71
- parameters: newFeatureStrategy.parameters,
72
- };
73
- await this.eventStore.store({
74
- type: events_1.FEATURE_STRATEGY_ADD,
82
+ const tags = await this.tagStore.getAllTagsForFeature(featureName);
83
+ const strategy = this.featureStrategyToPublic(newFeatureStrategy);
84
+ await this.eventStore.store(new events_1.FeatureStrategyAddEvent({
75
85
  project: projectId,
76
- createdBy: userName,
86
+ featureName,
87
+ createdBy,
77
88
  environment,
78
- data: {
79
- ...data,
80
- name: featureName,
81
- strategyName: newFeatureStrategy.strategyName,
82
- },
83
- });
84
- return data;
89
+ data: strategy,
90
+ tags,
91
+ }));
92
+ return strategy;
85
93
  }
86
94
  catch (e) {
87
95
  if (e.code === db_error_1.FOREIGN_KEY_VIOLATION) {
@@ -101,49 +109,47 @@ class FeatureToggleServiceV2 {
101
109
  * @param userName - Human readable id of the user performing the update
102
110
  */
103
111
  async updateStrategy(id, updates, context, userName) {
104
- const { projectId, environment } = context;
112
+ const { projectId, environment, featureName } = context;
105
113
  const existingStrategy = await this.featureStrategiesStore.get(id);
106
114
  this.validateFeatureStrategyContext(existingStrategy, context);
107
115
  if (existingStrategy.id === id) {
108
116
  const strategy = await this.featureStrategiesStore.updateStrategy(id, updates);
109
- const data = {
110
- id: strategy.id,
111
- name: strategy.strategyName,
112
- featureName: strategy.featureName,
113
- constraints: strategy.constraints || [],
114
- parameters: strategy.parameters,
115
- };
116
- await this.eventStore.store({
117
- type: events_1.FEATURE_STRATEGY_UPDATE,
117
+ // Store event!
118
+ const tags = await this.tagStore.getAllTagsForFeature(featureName);
119
+ const data = this.featureStrategyToPublic(strategy);
120
+ const preData = this.featureStrategyToPublic(existingStrategy);
121
+ await this.eventStore.store(new events_1.FeatureStrategyUpdateEvent({
118
122
  project: projectId,
123
+ featureName,
119
124
  environment,
120
125
  createdBy: userName,
121
126
  data,
122
- });
127
+ preData,
128
+ tags,
129
+ }));
123
130
  return data;
124
131
  }
125
132
  throw new notfound_error_1.default(`Could not find strategy with id ${id}`);
126
133
  }
127
134
  async updateStrategyParameter(id, name, value, context, userName) {
128
- const { projectId, environment } = context;
135
+ const { projectId, environment, featureName } = context;
129
136
  const existingStrategy = await this.featureStrategiesStore.get(id);
130
137
  this.validateFeatureStrategyContext(existingStrategy, context);
131
138
  if (existingStrategy.id === id) {
132
139
  existingStrategy.parameters[name] = value;
133
140
  const strategy = await this.featureStrategiesStore.updateStrategy(id, existingStrategy);
134
- const data = {
135
- id: strategy.id,
136
- name: strategy.strategyName,
137
- constraints: strategy.constraints || [],
138
- parameters: strategy.parameters,
139
- };
140
- await this.eventStore.store({
141
- type: events_1.FEATURE_STRATEGY_UPDATE,
141
+ const tags = await this.tagStore.getAllTagsForFeature(featureName);
142
+ const data = this.featureStrategyToPublic(strategy);
143
+ const preData = this.featureStrategyToPublic(existingStrategy);
144
+ await this.eventStore.store(new events_1.FeatureStrategyUpdateEvent({
145
+ featureName,
142
146
  project: projectId,
143
147
  environment,
144
148
  createdBy: userName,
145
149
  data,
146
- });
150
+ preData,
151
+ tags,
152
+ }));
147
153
  return data;
148
154
  }
149
155
  throw new notfound_error_1.default(`Could not find strategy with id ${id}`);
@@ -157,21 +163,21 @@ class FeatureToggleServiceV2 {
157
163
  * @param context - Which context does this strategy live in (projectId, featureName, environment)
158
164
  * @param environment - Which environment does this strategy belong to
159
165
  */
160
- async deleteStrategy(id, context, userName) {
166
+ async deleteStrategy(id, context, createdBy) {
161
167
  const existingStrategy = await this.featureStrategiesStore.get(id);
162
168
  const { featureName, projectId, environment } = context;
163
169
  this.validateFeatureStrategyContext(existingStrategy, context);
164
170
  await this.featureStrategiesStore.delete(id);
165
- await this.eventStore.store({
166
- type: events_1.FEATURE_STRATEGY_REMOVE,
171
+ const tags = await this.tagStore.getAllTagsForFeature(featureName);
172
+ const preData = this.featureStrategyToPublic(existingStrategy);
173
+ await this.eventStore.store(new events_1.FeatureStrategyRemoveEvent({
174
+ featureName,
167
175
  project: projectId,
168
176
  environment,
169
- createdBy: userName,
170
- data: {
171
- id,
172
- name: featureName,
173
- },
174
- });
177
+ createdBy,
178
+ preData,
179
+ tags,
180
+ }));
175
181
  // If there are no strategies left for environment disable it
176
182
  await this.featureEnvironmentStore.disableEnvironmentIfNoStrategies(featureName, environment);
177
183
  }
@@ -197,6 +203,14 @@ class FeatureToggleServiceV2 {
197
203
  async getFeature(featureName, archived = false) {
198
204
  return this.featureStrategiesStore.getFeatureToggleWithEnvs(featureName, archived);
199
205
  }
206
+ /**
207
+ * GET /api/admin/projects/:project/features/:featureName/variants
208
+ * @param featureName
209
+ * @return The list of variants
210
+ */
211
+ async getVariants(featureName) {
212
+ return this.featureToggleStore.getVariants(featureName);
213
+ }
200
214
  async getFeatureMetadata(featureName) {
201
215
  return this.featureToggleStore.get(featureName);
202
216
  }
@@ -223,21 +237,29 @@ class FeatureToggleServiceV2 {
223
237
  async getFeatureToggle(featureName) {
224
238
  return this.featureStrategiesStore.getFeatureToggleWithEnvs(featureName, false);
225
239
  }
226
- async createFeatureToggle(projectId, value, userName) {
227
- this.logger.info(`${userName} creates feature toggle ${value.name}`);
240
+ async createFeatureToggle(projectId, value, createdBy, isValidated = false) {
241
+ this.logger.info(`${createdBy} creates feature toggle ${value.name}`);
228
242
  await this.validateName(value.name);
229
243
  const exists = await this.projectStore.hasProject(projectId);
230
244
  if (exists) {
231
- const featureData = await feature_schema_1.featureMetadataSchema.validateAsync(value);
245
+ let featureData;
246
+ if (isValidated) {
247
+ featureData = value;
248
+ }
249
+ else {
250
+ featureData = await feature_schema_1.featureMetadataSchema.validateAsync(value);
251
+ }
252
+ const featureName = featureData.name;
232
253
  const createdToggle = await this.featureToggleStore.create(projectId, featureData);
233
- await this.featureEnvironmentStore.connectFeatureToEnvironmentsForProject(featureData.name, projectId);
234
- const data = { ...featureData, project: projectId };
235
- await this.eventStore.store({
236
- type: events_1.FEATURE_CREATED,
237
- createdBy: userName,
254
+ await this.featureEnvironmentStore.connectFeatureToEnvironmentsForProject(featureName, projectId);
255
+ const tags = await this.tagStore.getAllTagsForFeature(featureName);
256
+ await this.eventStore.store(new events_1.FeatureCreatedEvent({
257
+ featureName,
258
+ createdBy,
238
259
  project: projectId,
239
- data,
240
- });
260
+ data: createdToggle,
261
+ tags,
262
+ }));
241
263
  return createdToggle;
242
264
  }
243
265
  throw new notfound_error_1.default(`Project with id ${projectId} does not exist`);
@@ -270,15 +292,17 @@ class FeatureToggleServiceV2 {
270
292
  const featureName = updatedFeature.name;
271
293
  this.logger.info(`${userName} updates feature toggle ${featureName}`);
272
294
  const featureData = await feature_schema_1.featureMetadataSchema.validateAsync(updatedFeature);
295
+ const preData = await this.featureToggleStore.get(featureName);
273
296
  const featureToggle = await this.featureToggleStore.update(projectId, featureData);
274
- const tags = await this.featureTagStore.getAllTagsForFeature(featureName);
275
- await this.eventStore.store({
276
- type: events_1.FEATURE_METADATA_UPDATED,
297
+ const tags = await this.tagStore.getAllTagsForFeature(featureName);
298
+ await this.eventStore.store(new events_1.FeatureMetadataUpdateEvent({
277
299
  createdBy: userName,
278
300
  data: featureToggle,
301
+ preData,
302
+ featureName,
279
303
  project: projectId,
280
304
  tags,
281
- });
305
+ }));
282
306
  return featureToggle;
283
307
  }
284
308
  async getFeatureCountForProject(projectId) {
@@ -309,6 +333,7 @@ class FeatureToggleServiceV2 {
309
333
  strategies,
310
334
  };
311
335
  }
336
+ // todo: store events for this change.
312
337
  async deleteEnvironment(projectId, environment) {
313
338
  await this.featureStrategiesStore.deleteConfigurationsForProjectAndEnvironment(projectId, environment);
314
339
  await this.projectStore.deleteEnvironmentForProject(projectId, environment);
@@ -335,38 +360,38 @@ class FeatureToggleServiceV2 {
335
360
  async hasFeature(name) {
336
361
  return this.featureToggleStore.exists(name);
337
362
  }
338
- async updateStale(featureName, isStale, userName) {
363
+ async updateStale(featureName, isStale, createdBy) {
339
364
  const feature = await this.featureToggleStore.get(featureName);
365
+ const { project } = feature;
340
366
  feature.stale = isStale;
341
- await this.featureToggleStore.update(feature.project, feature);
342
- const tags = await this.featureTagStore.getAllTagsForFeature(featureName);
343
- const data = await this.getFeatureToggleLegacy(featureName);
344
- await this.eventStore.store({
345
- type: isStale ? events_1.FEATURE_STALE_ON : events_1.FEATURE_STALE_OFF,
346
- createdBy: userName,
347
- data,
367
+ await this.featureToggleStore.update(project, feature);
368
+ const tags = await this.tagStore.getAllTagsForFeature(featureName);
369
+ await this.eventStore.store(new events_1.FeatureStaleEvent({
370
+ stale: isStale,
371
+ project,
372
+ featureName,
373
+ createdBy,
348
374
  tags,
349
- project: feature.project,
350
- });
375
+ }));
351
376
  return feature;
352
377
  }
353
- async archiveToggle(name, userName) {
354
- const feature = await this.featureToggleStore.get(name);
355
- await this.featureToggleStore.archive(name);
356
- const tags = (await this.featureTagStore.getAllTagsForFeature(name)) || [];
357
- await this.eventStore.store({
358
- type: events_1.FEATURE_ARCHIVED,
359
- createdBy: userName,
360
- data: { name },
378
+ // todo: add projectId
379
+ async archiveToggle(featureName, createdBy) {
380
+ const feature = await this.featureToggleStore.get(featureName);
381
+ await this.featureToggleStore.archive(featureName);
382
+ const tags = await this.tagStore.getAllTagsForFeature(featureName);
383
+ await this.eventStore.store(new events_1.FeatureArchivedEvent({
384
+ featureName,
385
+ createdBy,
361
386
  project: feature.project,
362
387
  tags,
363
- });
388
+ }));
364
389
  }
365
- async updateEnabled(projectId, featureName, environment, enabled, userName) {
390
+ async updateEnabled(project, featureName, environment, enabled, createdBy) {
366
391
  const hasEnvironment = await this.featureEnvironmentStore.featureHasEnvironment(environment, featureName);
367
392
  if (hasEnvironment) {
368
393
  if (enabled) {
369
- const strategies = await this.getStrategiesForEnvironment(projectId, featureName, environment);
394
+ const strategies = await this.getStrategiesForEnvironment(project, featureName, environment);
370
395
  if (strategies.length === 0) {
371
396
  throw new invalid_operation_error_1.default('You can not enable the environment before it has strategies');
372
397
  }
@@ -374,28 +399,30 @@ class FeatureToggleServiceV2 {
374
399
  const updatedEnvironmentStatus = await this.featureEnvironmentStore.setEnvironmentEnabledStatus(environment, featureName, enabled);
375
400
  const feature = await this.featureToggleStore.get(featureName);
376
401
  if (updatedEnvironmentStatus > 0) {
377
- const tags = await this.featureTagStore.getAllTagsForFeature(featureName);
378
- await this.eventStore.store({
379
- type: enabled
380
- ? events_1.FEATURE_ENVIRONMENT_ENABLED
381
- : events_1.FEATURE_ENVIRONMENT_DISABLED,
382
- createdBy: userName,
383
- data: { name: featureName },
384
- tags,
385
- project: projectId,
402
+ const tags = await this.tagStore.getAllTagsForFeature(featureName);
403
+ await this.eventStore.store(new events_1.FeatureEnvironmentEvent({
404
+ enabled,
405
+ project,
406
+ featureName,
386
407
  environment,
387
- });
408
+ createdBy,
409
+ tags,
410
+ }));
388
411
  }
389
412
  return feature;
390
413
  }
391
414
  throw new notfound_error_1.default(`Could not find environment ${environment} for feature: ${featureName}`);
392
415
  }
393
- async storeFeatureUpdatedEventLegacy(featureName, userName) {
394
- const tags = await this.featureTagStore.getAllTagsForFeature(featureName);
416
+ // @deprecated
417
+ async storeFeatureUpdatedEventLegacy(featureName, createdBy) {
418
+ const tags = await this.tagStore.getAllTagsForFeature(featureName);
395
419
  const feature = await this.getFeatureToggleLegacy(featureName);
420
+ // Legacy event. Will not be used from v4.3.
421
+ // We do not include 'preData' on purpose.
396
422
  await this.eventStore.store({
397
423
  type: events_1.FEATURE_UPDATED,
398
- createdBy: userName,
424
+ createdBy,
425
+ featureName,
399
426
  data: feature,
400
427
  tags,
401
428
  project: feature.project,
@@ -408,6 +435,7 @@ class FeatureToggleServiceV2 {
408
435
  const isEnabled = await this.featureEnvironmentStore.isEnvironmentEnabled(featureName, environment);
409
436
  return this.updateEnabled(projectId, featureName, environment, !isEnabled, userName);
410
437
  }
438
+ // @deprecated
411
439
  async getFeatureToggleLegacy(featureName) {
412
440
  const feature = await this.featureStrategiesStore.getFeatureToggleWithEnvs(featureName);
413
441
  const { environments, ...legacyFeature } = feature;
@@ -416,47 +444,46 @@ class FeatureToggleServiceV2 {
416
444
  const enabled = defaultEnv?.enabled || false;
417
445
  return { ...legacyFeature, enabled, strategies };
418
446
  }
419
- async changeProject(featureName, newProject, userName) {
447
+ async changeProject(featureName, newProject, createdBy) {
420
448
  const feature = await this.featureToggleStore.get(featureName);
421
449
  const oldProject = feature.project;
422
450
  feature.project = newProject;
423
451
  await this.featureToggleStore.update(newProject, feature);
424
- const tags = await this.featureTagStore.getAllTagsForFeature(featureName);
425
- await this.eventStore.store({
426
- type: events_1.FEATURE_PROJECT_CHANGE,
427
- createdBy: userName,
428
- data: {
429
- name: feature.name,
430
- oldProject,
431
- newProject,
432
- },
433
- project: newProject,
452
+ const tags = await this.tagStore.getAllTagsForFeature(featureName);
453
+ await this.eventStore.store(new events_1.FeatureChangeProjectEvent({
454
+ createdBy,
455
+ oldProject,
456
+ newProject,
457
+ featureName,
434
458
  tags,
435
- });
459
+ }));
436
460
  }
437
461
  async getArchivedFeatures() {
438
462
  return this.getFeatureToggles({}, true);
439
463
  }
440
- async deleteFeature(featureName, userName) {
464
+ // TODO: add project id.
465
+ async deleteFeature(featureName, createdBy) {
466
+ const toggle = await this.featureToggleStore.get(featureName);
467
+ const tags = await this.tagStore.getAllTagsForFeature(featureName);
441
468
  await this.featureToggleStore.delete(featureName);
442
- await this.eventStore.store({
443
- type: events_1.FEATURE_DELETED,
444
- createdBy: userName,
445
- data: {
446
- featureName,
447
- },
448
- });
469
+ await this.eventStore.store(new events_1.FeatureDeletedEvent({
470
+ featureName,
471
+ project: toggle.project,
472
+ createdBy,
473
+ preData: toggle,
474
+ tags,
475
+ }));
449
476
  }
450
- async reviveToggle(featureName, userName) {
451
- const data = await this.featureToggleStore.revive(featureName);
452
- const tags = await this.featureTagStore.getAllTagsForFeature(featureName);
453
- await this.eventStore.store({
454
- type: events_1.FEATURE_REVIVED,
455
- createdBy: userName,
456
- data,
457
- project: data.project,
477
+ // TODO: add project id.
478
+ async reviveToggle(featureName, createdBy) {
479
+ const toggle = await this.featureToggleStore.revive(featureName);
480
+ const tags = await this.tagStore.getAllTagsForFeature(featureName);
481
+ await this.eventStore.store(new events_1.FeatureRevivedEvent({
482
+ createdBy,
483
+ featureName,
484
+ project: toggle.project,
458
485
  tags,
459
- });
486
+ }));
460
487
  }
461
488
  async getMetadataForAllFeatures(archived) {
462
489
  return this.featureToggleStore.getAll({ archived });
@@ -467,7 +494,42 @@ class FeatureToggleServiceV2 {
467
494
  async updateFeatureStrategyProject(featureName, newProjectId) {
468
495
  await this.featureStrategiesStore.setProjectForStrategiesBelongingToFeature(featureName, newProjectId);
469
496
  }
497
+ async updateVariants(featureName, newVariants) {
498
+ const oldVariants = await this.getVariants(featureName);
499
+ const { newDocument } = await (0, fast_json_patch_1.applyPatch)(oldVariants, newVariants);
500
+ return this.saveVariants(featureName, newDocument);
501
+ }
502
+ async saveVariants(featureName, newVariants) {
503
+ await feature_schema_1.variantsArraySchema.validateAsync(newVariants);
504
+ const fixedVariants = this.fixVariantWeights(newVariants);
505
+ return this.featureToggleStore.saveVariants(featureName, fixedVariants);
506
+ }
507
+ fixVariantWeights(variants) {
508
+ let variableVariants = variants.filter((x) => {
509
+ return x.weightType === model_1.WeightType.VARIABLE;
510
+ });
511
+ if (variants.length > 0 && variableVariants.length === 0) {
512
+ throw new bad_data_error_1.default('There must be at least one "variable" variant');
513
+ }
514
+ let fixedVariants = variants.filter((x) => {
515
+ return x.weightType === model_1.WeightType.FIX;
516
+ });
517
+ let fixedWeights = fixedVariants.reduce((a, v) => a + v.weight, 0);
518
+ if (fixedWeights > 1000) {
519
+ throw new bad_data_error_1.default('The traffic distribution total must equal 100%');
520
+ }
521
+ let averageWeight = Math.floor((1000 - fixedWeights) / variableVariants.length);
522
+ let remainder = (1000 - fixedWeights) % variableVariants.length;
523
+ variableVariants = variableVariants.map((x) => {
524
+ x.weight = averageWeight;
525
+ if (remainder > 0) {
526
+ x.weight += 1;
527
+ remainder--;
528
+ }
529
+ return x;
530
+ });
531
+ return variableVariants.concat(fixedVariants);
532
+ }
470
533
  }
471
- module.exports = FeatureToggleServiceV2;
472
- exports.default = FeatureToggleServiceV2;
534
+ exports.default = FeatureToggleService;
473
535
  //# sourceMappingURL=feature-toggle-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature-toggle-service.js","sourceRoot":"","sources":["../../../src/lib/services/feature-toggle-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feature-toggle-service.js","sourceRoot":"","sources":["../../../src/lib/services/feature-toggle-service.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,7 @@ const feature_toggle_service_1 = __importDefault(require("./feature-toggle-servi
29
29
  const environment_service_1 = __importDefault(require("./environment-service"));
30
30
  const feature_tag_service_1 = __importDefault(require("./feature-tag-service"));
31
31
  const project_health_service_1 = __importDefault(require("./project-health-service"));
32
+ const user_splash_service_1 = __importDefault(require("./user-splash-service"));
32
33
  const createServices = (stores, config) => {
33
34
  const accessService = new access_service_1.AccessService(stores, config);
34
35
  const apiTokenService = new api_token_service_1.ApiTokenService(stores, config);
@@ -61,6 +62,7 @@ const createServices = (stores, config) => {
61
62
  const featureTagService = new feature_tag_service_1.default(stores, config);
62
63
  const projectHealthService = new project_health_service_1.default(stores, config, featureToggleServiceV2);
63
64
  const projectService = new project_service_1.default(stores, config, accessService, featureToggleServiceV2);
65
+ const userSplashService = new user_splash_service_1.default(stores, config);
64
66
  return {
65
67
  accessService,
66
68
  addonService,
@@ -88,6 +90,7 @@ const createServices = (stores, config) => {
88
90
  userFeedbackService,
89
91
  featureTagService,
90
92
  projectHealthService,
93
+ userSplashService,
91
94
  };
92
95
  };
93
96
  exports.createServices = createServices;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/services/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/services/index.ts"],"names":[],"mappings":"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"}