unleash-server 4.2.0 → 4.2.4

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 (205) hide show
  1. package/CHANGELOG.md +1266 -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 +6 -5
  25. package/dist/lib/create-config.js.map +1 -1
  26. package/dist/lib/db/client-instance-store.js +2 -2
  27. package/dist/lib/db/client-instance-store.js.map +1 -1
  28. package/dist/lib/db/client-metrics-db.js +2 -2
  29. package/dist/lib/db/client-metrics-db.js.map +1 -1
  30. package/dist/lib/db/client-metrics-store-v2.js +5 -1
  31. package/dist/lib/db/client-metrics-store-v2.js.map +1 -1
  32. package/dist/lib/db/client-metrics-store.js +2 -2
  33. package/dist/lib/db/client-metrics-store.js.map +1 -1
  34. package/dist/lib/db/event-store.d.ts +10 -6
  35. package/dist/lib/db/event-store.js +21 -1
  36. package/dist/lib/db/event-store.js.map +1 -1
  37. package/dist/lib/db/session-store.js +2 -1
  38. package/dist/lib/db/session-store.js.map +1 -1
  39. package/dist/lib/error/minimum-one-environment-error.d.ts +5 -0
  40. package/dist/lib/error/minimum-one-environment-error.js +24 -0
  41. package/dist/lib/error/minimum-one-environment-error.js.map +1 -0
  42. package/dist/lib/metrics.js +20 -12
  43. package/dist/lib/metrics.js.map +1 -1
  44. package/dist/lib/metrics.test.js +1 -0
  45. package/dist/lib/metrics.test.js.map +1 -1
  46. package/dist/lib/middleware/rbac-middleware.js +2 -17
  47. package/dist/lib/middleware/rbac-middleware.js.map +1 -1
  48. package/dist/lib/middleware/rbac-middleware.test.js +0 -21
  49. package/dist/lib/middleware/rbac-middleware.test.js.map +1 -1
  50. package/dist/lib/middleware/secure-headers.js +2 -1
  51. package/dist/lib/middleware/secure-headers.js.map +1 -1
  52. package/dist/lib/middleware/session-db.js +2 -3
  53. package/dist/lib/middleware/session-db.js.map +1 -1
  54. package/dist/lib/routes/admin-api/event.d.ts +8 -4
  55. package/dist/lib/routes/admin-api/event.js +8 -10
  56. package/dist/lib/routes/admin-api/event.js.map +1 -1
  57. package/dist/lib/routes/admin-api/feature.js +6 -2
  58. package/dist/lib/routes/admin-api/feature.js.map +1 -1
  59. package/dist/lib/routes/admin-api/project/features.js +11 -8
  60. package/dist/lib/routes/admin-api/project/features.js.map +1 -1
  61. package/dist/lib/routes/admin-api/state.js +2 -3
  62. package/dist/lib/routes/admin-api/state.js.map +1 -1
  63. package/dist/lib/routes/client-api/feature.test.js +3 -2
  64. package/dist/lib/routes/client-api/feature.test.js.map +1 -1
  65. package/dist/lib/routes/util.js +2 -0
  66. package/dist/lib/routes/util.js.map +1 -1
  67. package/dist/lib/services/addon-service-test-simple-addon.d.ts +1 -1
  68. package/dist/lib/services/addon-service-test-simple-addon.js.map +1 -1
  69. package/dist/lib/services/addon-service.js +2 -2
  70. package/dist/lib/services/addon-service.js.map +1 -1
  71. package/dist/lib/services/api-token-service.js +2 -2
  72. package/dist/lib/services/api-token-service.js.map +1 -1
  73. package/dist/lib/services/client-metrics/client-metrics-service-v2.js +3 -4
  74. package/dist/lib/services/client-metrics/client-metrics-service-v2.js.map +1 -1
  75. package/dist/lib/services/client-metrics/client-metrics.test.js +74 -41
  76. package/dist/lib/services/client-metrics/client-metrics.test.js.map +1 -1
  77. package/dist/lib/services/client-metrics/index.d.ts +6 -5
  78. package/dist/lib/services/client-metrics/index.js +13 -10
  79. package/dist/lib/services/client-metrics/index.js.map +1 -1
  80. package/dist/lib/services/client-metrics/list.d.ts +19 -16
  81. package/dist/lib/services/client-metrics/list.js +6 -4
  82. package/dist/lib/services/client-metrics/list.js.map +1 -1
  83. package/dist/lib/services/client-metrics/list.test.js +9 -5
  84. package/dist/lib/services/client-metrics/list.test.js.map +1 -1
  85. package/dist/lib/services/client-metrics/ttl-list.d.ts +20 -13
  86. package/dist/lib/services/client-metrics/ttl-list.js +26 -15
  87. package/dist/lib/services/client-metrics/ttl-list.js.map +1 -1
  88. package/dist/lib/services/client-metrics/ttl-list.test.js +33 -9
  89. package/dist/lib/services/client-metrics/ttl-list.test.js.map +1 -1
  90. package/dist/lib/services/environment-service.d.ts +2 -1
  91. package/dist/lib/services/environment-service.js +10 -3
  92. package/dist/lib/services/environment-service.js.map +1 -1
  93. package/dist/lib/services/event-service.d.ts +1 -1
  94. package/dist/lib/services/event-service.js +1 -1
  95. package/dist/lib/services/event-service.js.map +1 -1
  96. package/dist/lib/services/feature-tag-service.js +7 -11
  97. package/dist/lib/services/feature-tag-service.js.map +1 -1
  98. package/dist/lib/services/{feature-toggle-service-v2.d.ts → feature-toggle-service.d.ts} +29 -19
  99. package/dist/lib/services/{feature-toggle-service-v2.js → feature-toggle-service.js} +177 -145
  100. package/dist/lib/services/feature-toggle-service.js.map +1 -0
  101. package/dist/lib/services/index.js +3 -2
  102. package/dist/lib/services/index.js.map +1 -1
  103. package/dist/lib/services/project-health-service.d.ts +2 -2
  104. package/dist/lib/services/project-health-service.js +3 -3
  105. package/dist/lib/services/project-health-service.js.map +1 -1
  106. package/dist/lib/services/project-service.d.ts +2 -2
  107. package/dist/lib/services/project-service.js +5 -3
  108. package/dist/lib/services/project-service.js.map +1 -1
  109. package/dist/lib/services/reset-token-service.js +2 -2
  110. package/dist/lib/services/reset-token-service.js.map +1 -1
  111. package/dist/lib/services/state-util.js +1 -1
  112. package/dist/lib/services/state-util.js.map +1 -1
  113. package/dist/lib/services/user-service.d.ts +3 -2
  114. package/dist/lib/services/user-service.js +37 -21
  115. package/dist/lib/services/user-service.js.map +1 -1
  116. package/dist/lib/services/version-service.js +2 -2
  117. package/dist/lib/services/version-service.js.map +1 -1
  118. package/dist/lib/types/events.d.ts +165 -2
  119. package/dist/lib/types/events.js +124 -4
  120. package/dist/lib/types/events.js.map +1 -1
  121. package/dist/lib/types/model.d.ts +0 -12
  122. package/dist/lib/types/model.js.map +1 -1
  123. package/dist/lib/types/services.d.ts +3 -2
  124. package/dist/lib/types/stores/event-store.d.ts +4 -3
  125. package/dist/lib/util/constants.d.ts +0 -2
  126. package/dist/lib/util/constants.js +1 -3
  127. package/dist/lib/util/constants.js.map +1 -1
  128. package/dist/migrations/20210428103922-patch-role-table.d.ts +2 -0
  129. package/dist/migrations/20210428103922-patch-role-table.js +19 -0
  130. package/dist/migrations/20210428103922-patch-role-table.js.map +1 -0
  131. package/dist/migrations/20210428103924-patch-admin-role-name.d.ts +2 -0
  132. package/dist/migrations/20210428103924-patch-admin-role-name.js +11 -0
  133. package/dist/migrations/20210428103924-patch-admin-role-name.js.map +1 -0
  134. package/dist/migrations/20210428103924-patch-admin_role.d.ts +2 -0
  135. package/dist/migrations/20210428103924-patch-admin_role.js +23 -0
  136. package/dist/migrations/20210428103924-patch-admin_role.js.map +1 -0
  137. package/dist/migrations/20210428103924-patch-role_permissions.d.ts +2 -0
  138. package/dist/migrations/20210428103924-patch-role_permissions.js +50 -0
  139. package/dist/migrations/20210428103924-patch-role_permissions.js.map +1 -0
  140. package/dist/migrations/20211105104316-add-feature-name-column-to-events.d.ts +2 -0
  141. package/dist/migrations/20211105104316-add-feature-name-column-to-events.js +16 -0
  142. package/dist/migrations/20211105104316-add-feature-name-column-to-events.js.map +1 -0
  143. package/dist/migrations/20211105105509-add-predata-column-to-events.d.ts +2 -0
  144. package/dist/migrations/20211105105509-add-predata-column-to-events.js +8 -0
  145. package/dist/migrations/20211105105509-add-predata-column-to-events.js.map +1 -0
  146. package/dist/migrator.js +9 -2
  147. package/dist/migrator.js.map +1 -1
  148. package/dist/test/e2e/api/admin/client-metrics.e2e.test.js +16 -12
  149. package/dist/test/e2e/api/admin/client-metrics.e2e.test.js.map +1 -1
  150. package/dist/test/e2e/api/admin/feature-archive.e2e.test.js +1 -2
  151. package/dist/test/e2e/api/admin/feature-archive.e2e.test.js.map +1 -1
  152. package/dist/test/e2e/api/admin/feature.e2e.test.js +19 -2
  153. package/dist/test/e2e/api/admin/feature.e2e.test.js.map +1 -1
  154. package/dist/test/e2e/api/admin/metrics.e2e.test.js +5 -3
  155. package/dist/test/e2e/api/admin/metrics.e2e.test.js.map +1 -1
  156. package/dist/test/e2e/api/admin/project/environments.e2e.test.js +10 -0
  157. package/dist/test/e2e/api/admin/project/environments.e2e.test.js.map +1 -1
  158. package/dist/test/e2e/api/admin/project/features.e2e.test.js +120 -8
  159. package/dist/test/e2e/api/admin/project/features.e2e.test.js.map +1 -1
  160. package/dist/test/e2e/api/admin/state.e2e.test.js +17 -13
  161. package/dist/test/e2e/api/admin/state.e2e.test.js.map +1 -1
  162. package/dist/test/e2e/api/admin/user-admin.e2e.test.js +2 -16
  163. package/dist/test/e2e/api/admin/user-admin.e2e.test.js.map +1 -1
  164. package/dist/test/e2e/api/client/feature.env.disabled.e2e.test.js +8 -4
  165. package/dist/test/e2e/api/client/feature.env.disabled.e2e.test.js.map +1 -1
  166. package/dist/test/e2e/api/client/feature.token.access.e2e.test.js +4 -4
  167. package/dist/test/e2e/api/client/feature.token.access.e2e.test.js.map +1 -1
  168. package/dist/test/e2e/api/client/register.e2e.test.js +1 -1
  169. package/dist/test/e2e/api/client/register.e2e.test.js.map +1 -1
  170. package/dist/test/e2e/services/addon-service.e2e.test.js +1 -1
  171. package/dist/test/e2e/services/addon-service.e2e.test.js.map +1 -1
  172. package/dist/test/e2e/services/api-token-service.e2e.test.js +5 -3
  173. package/dist/test/e2e/services/api-token-service.e2e.test.js.map +1 -1
  174. package/dist/test/e2e/services/client-metrics-service.e2e.test.js +5 -2
  175. package/dist/test/e2e/services/client-metrics-service.e2e.test.js.map +1 -1
  176. package/dist/test/e2e/services/environment-service.test.js +1 -1
  177. package/dist/test/e2e/services/environment-service.test.js.map +1 -1
  178. package/dist/test/e2e/services/feature-toggle-service-v2.e2e.test.js +14 -11
  179. package/dist/test/e2e/services/feature-toggle-service-v2.e2e.test.js.map +1 -1
  180. package/dist/test/e2e/services/project-health-service.e2e.test.js +2 -2
  181. package/dist/test/e2e/services/project-health-service.e2e.test.js.map +1 -1
  182. package/dist/test/e2e/services/project-service.e2e.test.js +2 -2
  183. package/dist/test/e2e/services/project-service.e2e.test.js.map +1 -1
  184. package/dist/test/e2e/services/session-service.e2e.test.js +5 -4
  185. package/dist/test/e2e/services/session-service.e2e.test.js.map +1 -1
  186. package/dist/test/e2e/services/user-service.e2e.test.js +3 -2
  187. package/dist/test/e2e/services/user-service.e2e.test.js.map +1 -1
  188. package/dist/test/e2e/stores/client-metrics-store-v2.e2e.test.js +4 -6
  189. package/dist/test/e2e/stores/client-metrics-store-v2.e2e.test.js.map +1 -1
  190. package/dist/test/e2e/stores/event-store.e2e.test.js +1 -1
  191. package/dist/test/e2e/stores/event-store.e2e.test.js.map +1 -1
  192. package/dist/test/e2e/stores/feature-toggle-store.e2e.test.js +1 -1
  193. package/dist/test/e2e/stores/feature-toggle-store.e2e.test.js.map +1 -1
  194. package/dist/test/fixtures/fake-event-store.d.ts +2 -1
  195. package/dist/test/fixtures/fake-event-store.js +3 -0
  196. package/dist/test/fixtures/fake-event-store.js.map +1 -1
  197. package/docs/api/oas/openapi.yaml +35 -55
  198. package/package.json +10 -11
  199. package/dist/lib/event-differ.d.ts +0 -1
  200. package/dist/lib/event-differ.js +0 -117
  201. package/dist/lib/event-differ.js.map +0 -1
  202. package/dist/lib/event-differ.test.d.ts +0 -1
  203. package/dist/lib/event-differ.test.js +0 -142
  204. package/dist/lib/event-differ.test.js.map +0 -1
  205. package/dist/lib/services/feature-toggle-service-v2.js.map +0 -1
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.USER_DELETED = exports.USER_UPDATED = exports.USER_CREATED = exports.DB_POOL_UPDATE = exports.ADDON_CONFIG_DELETED = exports.ADDON_CONFIG_UPDATED = exports.ADDON_CONFIG_CREATED = exports.DROP_TAG_TYPES = exports.TAG_TYPE_IMPORT = exports.TAG_TYPE_UPDATED = exports.TAG_TYPE_DELETED = exports.TAG_TYPE_CREATED = exports.DROP_TAGS = exports.TAG_IMPORT = exports.TAG_DELETED = exports.TAG_CREATED = exports.DROP_PROJECTS = exports.PROJECT_IMPORT = exports.PROJECT_DELETED = exports.PROJECT_UPDATED = exports.PROJECT_CREATED = exports.CONTEXT_FIELD_DELETED = exports.CONTEXT_FIELD_UPDATED = exports.CONTEXT_FIELD_CREATED = exports.DROP_STRATEGIES = exports.STRATEGY_IMPORT = exports.STRATEGY_UPDATED = exports.STRATEGY_REACTIVATED = exports.STRATEGY_DEPRECATED = exports.STRATEGY_DELETED = exports.STRATEGY_CREATED = exports.DROP_FEATURES = exports.FEATURE_STALE_OFF = exports.FEATURE_STALE_ON = exports.FEATURE_UNTAGGED = exports.DROP_FEATURE_TAGS = exports.FEATURE_STRATEGY_REMOVE = exports.FEATURE_STRATEGY_ADD = exports.FEATURE_STRATEGY_UPDATE = exports.FEATURE_TAG_IMPORT = exports.FEATURE_TAGGED = exports.FEATURE_IMPORT = exports.FEATURE_REVIVED = exports.FEATURE_ARCHIVED = exports.FEATURE_PROJECT_CHANGE = exports.FEATURE_METADATA_UPDATED = exports.FEATURE_UPDATED = exports.FEATURE_DELETED = exports.FEATURE_CREATED = exports.APPLICATION_CREATED = void 0;
4
- exports.FEATURE_ENVIRONMENT_DISABLED = exports.FEATURE_ENVIRONMENT_ENABLED = exports.ENVIRONMENT_IMPORT = exports.DROP_ENVIRONMENTS = void 0;
3
+ exports.USER_CREATED = exports.DB_POOL_UPDATE = exports.ADDON_CONFIG_DELETED = exports.ADDON_CONFIG_UPDATED = exports.ADDON_CONFIG_CREATED = exports.DROP_TAG_TYPES = exports.TAG_TYPE_IMPORT = exports.TAG_TYPE_UPDATED = exports.TAG_TYPE_DELETED = exports.TAG_TYPE_CREATED = exports.DROP_TAGS = exports.TAG_IMPORT = exports.TAG_DELETED = exports.TAG_CREATED = exports.DROP_PROJECTS = exports.PROJECT_IMPORT = exports.PROJECT_DELETED = exports.PROJECT_UPDATED = exports.PROJECT_CREATED = exports.CONTEXT_FIELD_DELETED = exports.CONTEXT_FIELD_UPDATED = exports.CONTEXT_FIELD_CREATED = exports.DROP_STRATEGIES = exports.STRATEGY_IMPORT = exports.STRATEGY_UPDATED = exports.STRATEGY_REACTIVATED = exports.STRATEGY_DEPRECATED = exports.STRATEGY_DELETED = exports.STRATEGY_CREATED = exports.FEATURE_ENVIRONMENT_DISABLED = exports.FEATURE_ENVIRONMENT_ENABLED = exports.DROP_FEATURES = exports.FEATURE_STALE_OFF = exports.FEATURE_STALE_ON = exports.FEATURE_UNTAGGED = exports.DROP_FEATURE_TAGS = exports.FEATURE_STRATEGY_REMOVE = exports.FEATURE_STRATEGY_ADD = exports.FEATURE_STRATEGY_UPDATE = exports.FEATURE_TAG_IMPORT = exports.FEATURE_TAGGED = exports.FEATURE_IMPORT = exports.FEATURE_REVIVED = exports.FEATURE_ARCHIVED = exports.FEATURE_PROJECT_CHANGE = exports.FEATURE_METADATA_UPDATED = exports.FEATURE_UPDATED = exports.FEATURE_DELETED = exports.FEATURE_CREATED = exports.APPLICATION_CREATED = void 0;
4
+ exports.FeatureStrategyRemoveEvent = exports.FeatureStrategyUpdateEvent = exports.FeatureStrategyAddEvent = exports.FeatureMetadataUpdateEvent = exports.FeatureDeletedEvent = exports.FeatureRevivedEvent = exports.FeatureArchivedEvent = exports.FeatureCreatedEvent = exports.FeatureChangeProjectEvent = exports.FeatureEnvironmentEvent = exports.FeatureStaleEvent = exports.ENVIRONMENT_IMPORT = exports.DROP_ENVIRONMENTS = exports.USER_DELETED = exports.USER_UPDATED = void 0;
5
5
  exports.APPLICATION_CREATED = 'application-created';
6
+ // feature event types
6
7
  exports.FEATURE_CREATED = 'feature-created';
7
8
  exports.FEATURE_DELETED = 'feature-deleted';
8
9
  exports.FEATURE_UPDATED = 'feature-updated';
@@ -21,6 +22,8 @@ exports.FEATURE_UNTAGGED = 'feature-untagged';
21
22
  exports.FEATURE_STALE_ON = 'feature-stale-on';
22
23
  exports.FEATURE_STALE_OFF = 'feature-stale-off';
23
24
  exports.DROP_FEATURES = 'drop-features';
25
+ exports.FEATURE_ENVIRONMENT_ENABLED = 'feature-environment-enabled';
26
+ exports.FEATURE_ENVIRONMENT_DISABLED = 'feature-environment-disabled';
24
27
  exports.STRATEGY_CREATED = 'strategy-created';
25
28
  exports.STRATEGY_DELETED = 'strategy-deleted';
26
29
  exports.STRATEGY_DEPRECATED = 'strategy-deprecated';
@@ -54,6 +57,123 @@ exports.USER_UPDATED = 'user-updated';
54
57
  exports.USER_DELETED = 'user-deleted';
55
58
  exports.DROP_ENVIRONMENTS = 'drop-environments';
56
59
  exports.ENVIRONMENT_IMPORT = 'environment-import';
57
- exports.FEATURE_ENVIRONMENT_ENABLED = 'feature-environment-enabled';
58
- exports.FEATURE_ENVIRONMENT_DISABLED = 'feature-environment-disabled';
60
+ class BaseEvent {
61
+ constructor(type, createdBy, tags = []) {
62
+ this.type = type;
63
+ this.createdBy = createdBy;
64
+ this.tags = tags;
65
+ }
66
+ }
67
+ class FeatureStaleEvent extends BaseEvent {
68
+ constructor(p) {
69
+ super(p.stale ? exports.FEATURE_STALE_ON : exports.FEATURE_STALE_OFF, p.createdBy, p.tags);
70
+ this.project = p.project;
71
+ this.featureName = p.featureName;
72
+ }
73
+ }
74
+ exports.FeatureStaleEvent = FeatureStaleEvent;
75
+ class FeatureEnvironmentEvent extends BaseEvent {
76
+ constructor(p) {
77
+ super(p.enabled
78
+ ? exports.FEATURE_ENVIRONMENT_ENABLED
79
+ : exports.FEATURE_ENVIRONMENT_DISABLED, p.createdBy, p.tags);
80
+ this.project = p.project;
81
+ this.featureName = p.featureName;
82
+ this.environment = p.environment;
83
+ }
84
+ }
85
+ exports.FeatureEnvironmentEvent = FeatureEnvironmentEvent;
86
+ class FeatureChangeProjectEvent extends BaseEvent {
87
+ constructor(p) {
88
+ super(exports.FEATURE_PROJECT_CHANGE, p.createdBy, p.tags);
89
+ const { newProject, oldProject, featureName } = p;
90
+ this.project = newProject;
91
+ this.featureName = featureName;
92
+ this.data = { newProject, oldProject };
93
+ }
94
+ }
95
+ exports.FeatureChangeProjectEvent = FeatureChangeProjectEvent;
96
+ class FeatureCreatedEvent extends BaseEvent {
97
+ constructor(p) {
98
+ super(exports.FEATURE_CREATED, p.createdBy, p.tags);
99
+ const { project, featureName, data } = p;
100
+ this.project = project;
101
+ this.featureName = featureName;
102
+ this.data = data;
103
+ }
104
+ }
105
+ exports.FeatureCreatedEvent = FeatureCreatedEvent;
106
+ class FeatureArchivedEvent extends BaseEvent {
107
+ constructor(p) {
108
+ super(exports.FEATURE_ARCHIVED, p.createdBy, p.tags);
109
+ const { project, featureName } = p;
110
+ this.project = project;
111
+ this.featureName = featureName;
112
+ }
113
+ }
114
+ exports.FeatureArchivedEvent = FeatureArchivedEvent;
115
+ class FeatureRevivedEvent extends BaseEvent {
116
+ constructor(p) {
117
+ super(exports.FEATURE_REVIVED, p.createdBy, p.tags);
118
+ const { project, featureName } = p;
119
+ this.project = project;
120
+ this.featureName = featureName;
121
+ }
122
+ }
123
+ exports.FeatureRevivedEvent = FeatureRevivedEvent;
124
+ class FeatureDeletedEvent extends BaseEvent {
125
+ constructor(p) {
126
+ super(exports.FEATURE_DELETED, p.createdBy, p.tags);
127
+ const { project, featureName, preData } = p;
128
+ this.project = project;
129
+ this.featureName = featureName;
130
+ this.preData = preData;
131
+ }
132
+ }
133
+ exports.FeatureDeletedEvent = FeatureDeletedEvent;
134
+ class FeatureMetadataUpdateEvent extends BaseEvent {
135
+ constructor(p) {
136
+ super(exports.FEATURE_METADATA_UPDATED, p.createdBy, p.tags);
137
+ const { project, featureName, data, preData } = p;
138
+ this.project = project;
139
+ this.featureName = featureName;
140
+ this.data = data;
141
+ this.preData = preData;
142
+ }
143
+ }
144
+ exports.FeatureMetadataUpdateEvent = FeatureMetadataUpdateEvent;
145
+ class FeatureStrategyAddEvent extends BaseEvent {
146
+ constructor(p) {
147
+ super(exports.FEATURE_STRATEGY_ADD, p.createdBy, p.tags);
148
+ const { project, featureName, environment, data } = p;
149
+ this.project = project;
150
+ this.featureName = featureName;
151
+ this.environment = environment;
152
+ this.data = data;
153
+ }
154
+ }
155
+ exports.FeatureStrategyAddEvent = FeatureStrategyAddEvent;
156
+ class FeatureStrategyUpdateEvent extends BaseEvent {
157
+ constructor(p) {
158
+ super(exports.FEATURE_STRATEGY_UPDATE, p.createdBy, p.tags);
159
+ const { project, featureName, environment, data, preData } = p;
160
+ this.project = project;
161
+ this.featureName = featureName;
162
+ this.environment = environment;
163
+ this.data = data;
164
+ this.preData = preData;
165
+ }
166
+ }
167
+ exports.FeatureStrategyUpdateEvent = FeatureStrategyUpdateEvent;
168
+ class FeatureStrategyRemoveEvent extends BaseEvent {
169
+ constructor(p) {
170
+ super(exports.FEATURE_STRATEGY_REMOVE, p.createdBy, p.tags);
171
+ const { project, featureName, environment, preData } = p;
172
+ this.project = project;
173
+ this.featureName = featureName;
174
+ this.environment = environment;
175
+ this.preData = preData;
176
+ }
177
+ }
178
+ exports.FeatureStrategyRemoveEvent = FeatureStrategyRemoveEvent;
59
179
  //# sourceMappingURL=events.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/lib/types/events.ts"],"names":[],"mappings":";;;;AAAa,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAC5C,QAAA,eAAe,GAAG,iBAAiB,CAAC;AACpC,QAAA,eAAe,GAAG,iBAAiB,CAAC;AACpC,QAAA,eAAe,GAAG,iBAAiB,CAAC;AACpC,QAAA,wBAAwB,GAAG,0BAA0B,CAAC;AACtD,QAAA,sBAAsB,GAAG,wBAAwB,CAAC;AAClD,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AACtC,QAAA,eAAe,GAAG,iBAAiB,CAAC;AACpC,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAClC,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAClC,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAC1C,QAAA,uBAAuB,GAAG,yBAAyB,CAAC;AACpD,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAC9C,QAAA,uBAAuB,GAAG,yBAAyB,CAAC;AACpD,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AACxC,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AACtC,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AACtC,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AACxC,QAAA,aAAa,GAAG,eAAe,CAAC;AAChC,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AACtC,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AACtC,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAC5C,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAC9C,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AACtC,QAAA,eAAe,GAAG,iBAAiB,CAAC;AACpC,QAAA,eAAe,GAAG,iBAAiB,CAAC;AACpC,QAAA,qBAAqB,GAAG,uBAAuB,CAAC;AAChD,QAAA,qBAAqB,GAAG,uBAAuB,CAAC;AAChD,QAAA,qBAAqB,GAAG,uBAAuB,CAAC;AAChD,QAAA,eAAe,GAAG,iBAAiB,CAAC;AACpC,QAAA,eAAe,GAAG,iBAAiB,CAAC;AACpC,QAAA,eAAe,GAAG,iBAAiB,CAAC;AACpC,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAClC,QAAA,aAAa,GAAG,eAAe,CAAC;AAChC,QAAA,WAAW,GAAG,aAAa,CAAC;AAC5B,QAAA,WAAW,GAAG,aAAa,CAAC;AAC5B,QAAA,UAAU,GAAG,YAAY,CAAC;AAC1B,QAAA,SAAS,GAAG,WAAW,CAAC;AACxB,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AACtC,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AACtC,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AACtC,QAAA,eAAe,GAAG,iBAAiB,CAAC;AACpC,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAClC,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAC9C,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAC9C,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAC9C,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAClC,QAAA,YAAY,GAAG,cAAc,CAAC;AAC9B,QAAA,YAAY,GAAG,cAAc,CAAC;AAC9B,QAAA,YAAY,GAAG,cAAc,CAAC;AAC9B,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AACxC,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAC1C,QAAA,2BAA2B,GAAG,6BAA6B,CAAC;AAC5D,QAAA,4BAA4B,GAAG,8BAA8B,CAAC"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/lib/types/events.ts"],"names":[],"mappings":"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"}
@@ -170,18 +170,6 @@ export interface IAddonConfig {
170
170
  getLogger: LogProvider;
171
171
  unleashUrl: string;
172
172
  }
173
- export interface ICreateEvent {
174
- type: string;
175
- createdBy: string;
176
- project?: string;
177
- environment?: string;
178
- data?: any;
179
- tags?: ITag[];
180
- }
181
- export interface IEvent extends ICreateEvent {
182
- id: number;
183
- createdAt: Date;
184
- }
185
173
  export interface IUserWithRole {
186
174
  id: number;
187
175
  roleId: number;
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/lib/types/model.ts"],"names":[],"mappings":";;;AAwOA,IAAY,cAGX;AAHD,WAAY,cAAc;IACtB,+BAAa,CAAA;IACb,qCAAmB,CAAA;AACvB,CAAC,EAHW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAGzB;AAED,IAAY,QAOX;AAPD,WAAY,QAAQ;IAChB,wDAAwD;IACxD,2BAAe,CAAA;IACf,6BAAiB,CAAA;IACjB,6BAAiB,CAAA;IACjB,2BAAe,CAAA;IACf,6BAAiB,CAAA;AACrB,CAAC,EAPW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAOnB;AAED,IAAY,QAGX;AAHD,WAAY,QAAQ;IAChB,yBAAa,CAAA;IACb,+BAAmB,CAAA;AACvB,CAAC,EAHW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAGnB"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/lib/types/model.ts"],"names":[],"mappings":";;;AA0NA,IAAY,cAGX;AAHD,WAAY,cAAc;IACtB,+BAAa,CAAA;IACb,qCAAmB,CAAA;AACvB,CAAC,EAHW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAGzB;AAED,IAAY,QAOX;AAPD,WAAY,QAAQ;IAChB,wDAAwD;IACxD,2BAAe,CAAA;IACf,6BAAiB,CAAA;IACjB,6BAAiB,CAAA;IACjB,2BAAe,CAAA;IACf,6BAAiB,CAAA;AACrB,CAAC,EAPW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAOnB;AAED,IAAY,QAGX;AAHD,WAAY,QAAQ;IAChB,yBAAa,CAAA;IACb,+BAAmB,CAAA;AACvB,CAAC,EAHW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAGnB"}
@@ -18,7 +18,7 @@ import HealthService from '../services/health-service';
18
18
  import SettingService from '../services/setting-service';
19
19
  import SessionService from '../services/session-service';
20
20
  import UserFeedbackService from '../services/user-feedback-service';
21
- import FeatureToggleServiceV2 from '../services/feature-toggle-service-v2';
21
+ import FeatureToggleService from '../services/feature-toggle-service';
22
22
  import EnvironmentService from '../services/environment-service';
23
23
  import FeatureTagService from '../services/feature-tag-service';
24
24
  import ProjectHealthService from '../services/project-health-service';
@@ -34,7 +34,8 @@ export interface IUnleashServices {
34
34
  environmentService: EnvironmentService;
35
35
  eventService: EventService;
36
36
  featureTagService: FeatureTagService;
37
- featureToggleServiceV2: FeatureToggleServiceV2;
37
+ featureToggleService: FeatureToggleService;
38
+ featureToggleServiceV2: FeatureToggleService;
38
39
  featureTypeService: FeatureTypeService;
39
40
  healthService: HealthService;
40
41
  projectHealthService: ProjectHealthService;
@@ -1,11 +1,12 @@
1
1
  /// <reference types="node" />
2
2
  import EventEmitter from 'events';
3
- import { ICreateEvent, IEvent } from '../model';
3
+ import { IBaseEvent, IEvent } from '../events';
4
4
  import { Store } from './store';
5
5
  export interface IEventStore extends Store<IEvent, number>, EventEmitter {
6
- store(event: ICreateEvent): Promise<void>;
7
- batchStore(events: ICreateEvent[]): Promise<void>;
6
+ store(event: IBaseEvent): Promise<void>;
7
+ batchStore(events: IBaseEvent[]): Promise<void>;
8
8
  getEvents(): Promise<IEvent[]>;
9
9
  getEventsFilterByType(name: string): Promise<IEvent[]>;
10
+ getEventsForFeature(featureName: string): Promise<IEvent[]>;
10
11
  getEventsFilterByProject(project: string): Promise<IEvent[]>;
11
12
  }
@@ -1,3 +1 @@
1
- export declare const MILLISECONDS_IN_DAY = 86400000;
2
- export declare const MILLISECONDS_IN_ONE_HOUR = 3600000;
3
1
  export declare const DEFAULT_ENV = "default";
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_ENV = exports.MILLISECONDS_IN_ONE_HOUR = exports.MILLISECONDS_IN_DAY = void 0;
4
- exports.MILLISECONDS_IN_DAY = 86400000;
5
- exports.MILLISECONDS_IN_ONE_HOUR = 3600000;
3
+ exports.DEFAULT_ENV = void 0;
6
4
  exports.DEFAULT_ENV = 'default';
7
5
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/lib/util/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,mBAAmB,GAAG,QAAQ,CAAC;AAC/B,QAAA,wBAAwB,GAAG,OAAO,CAAC;AACnC,QAAA,WAAW,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/lib/util/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ export function up(db: any, cb: any): void;
2
+ export function down(db: any, cb: any): void;
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+ const async = require('async');
3
+ function resolveRoleName(permissions) {
4
+ if (!permissions || permissions.length === 0) {
5
+ return 'Viewer';
6
+ }
7
+ if (permissions.includes('ADMIN')) {
8
+ return 'Admin';
9
+ }
10
+ return 'Editor';
11
+ }
12
+ exports.up = function (db, cb) {
13
+ db.runSql('ALTER TABLE roles ADD COLUMN IF NOT EXISTS project text', cb);
14
+ };
15
+ exports.down = function (db, cb) {
16
+ // We can't just remove roles for users as we don't know if there has been any manual additions.
17
+ cb();
18
+ };
19
+ //# sourceMappingURL=20210428103922-patch-role-table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20210428103922-patch-role-table.js","sourceRoot":"","sources":["../../src/migrations/20210428103922-patch-role-table.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAE/B,SAAS,eAAe,CAAC,WAAW;IAChC,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1C,OAAO,QAAQ,CAAC;KACnB;IACD,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;QAC/B,OAAO,OAAO,CAAC;KAClB;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,OAAO,CAAC,EAAE,GAAG,UAAU,EAAE,EAAE,EAAE;IACzB,EAAE,CAAC,MAAM,CACL,yDAAyD,EAAE,EAAE,CAChE,CAAC;AACN,CAAC,CAAC;AAEF,OAAO,CAAC,IAAI,GAAG,UAAU,EAAE,EAAE,EAAE;IAC3B,gGAAgG;IAChG,EAAE,EAAE,CAAC;AACT,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export function up(db: any, cb: any): void;
2
+ export function down(db: any, cb: any): void;
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+ exports.up = function (db, cb) {
3
+ db.runSql(`
4
+ UPDATE roles set name='Admin' where name='Super User';
5
+ `, cb);
6
+ };
7
+ exports.down = function (db, cb) {
8
+ // We can't just remove roles for users as we don't know if there has been any manual additions.
9
+ cb();
10
+ };
11
+ //# sourceMappingURL=20210428103924-patch-admin-role-name.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20210428103924-patch-admin-role-name.js","sourceRoot":"","sources":["../../src/migrations/20210428103924-patch-admin-role-name.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,CAAC,EAAE,GAAG,UAAU,EAAE,EAAE,EAAE;IACzB,EAAE,CAAC,MAAM,CACL;;SAEC,EACD,EAAE,CACL,CAAC;AACN,CAAC,CAAC;AAEF,OAAO,CAAC,IAAI,GAAG,UAAU,EAAE,EAAE,EAAE;IAC3B,gGAAgG;IAChG,EAAE,EAAE,CAAC;AACT,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export function up(db: any, cb: any): void;
2
+ export function down(db: any, cb: any): void;
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+ exports.up = function (db, cb) {
3
+ db.runSql(`
4
+ DO $$
5
+ declare
6
+ begin
7
+ WITH admin AS (
8
+ SELECT * FROM roles WHERE name in ('Admin', 'Super User') LIMIT 1
9
+ )
10
+ INSERT into role_user(role_id, user_id)
11
+ VALUES
12
+ ((select id from admin), (select id FROM users where username='admin' LIMIT 1));
13
+
14
+ EXCEPTION WHEN OTHERS THEN
15
+ raise notice 'Ignored';
16
+ end;
17
+ $$;`, cb);
18
+ };
19
+ exports.down = function (db, cb) {
20
+ // We can't just remove roles for users as we don't know if there has been any manual additions.
21
+ cb();
22
+ };
23
+ //# sourceMappingURL=20210428103924-patch-admin_role.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20210428103924-patch-admin_role.js","sourceRoot":"","sources":["../../src/migrations/20210428103924-patch-admin_role.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,CAAC,EAAE,GAAG,UAAU,EAAE,EAAE,EAAE;IACzB,EAAE,CAAC,MAAM,CACL;;;;;;;;;;;;;;YAcI,EACJ,EAAE,CACL,CAAC;AACN,CAAC,CAAC;AAEF,OAAO,CAAC,IAAI,GAAG,UAAU,EAAE,EAAE,EAAE;IAC3B,gGAAgG;IAChG,EAAE,EAAE,CAAC;AACT,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export function up(db: any, cb: any): void;
2
+ export function down(db: any, cb: any): void;
@@ -0,0 +1,50 @@
1
+ 'use strict';
2
+ exports.up = function (db, cb) {
3
+ db.runSql(`
4
+ DO $$
5
+ declare
6
+ begin
7
+ WITH editor AS (
8
+ SELECT * FROM roles WHERE name in ('Editor', 'Regular') LIMIT 1
9
+ )
10
+
11
+ INSERT INTO role_permission(role_id, project, permission)
12
+ VALUES
13
+ ((SELECT id from editor), '', 'CREATE_STRATEGY'),
14
+ ((SELECT id from editor), '', 'UPDATE_STRATEGY'),
15
+ ((SELECT id from editor), '', 'DELETE_STRATEGY'),
16
+
17
+ ((SELECT id from editor), '', 'UPDATE_APPLICATION'),
18
+
19
+ ((SELECT id from editor), '', 'CREATE_CONTEXT_FIELD'),
20
+ ((SELECT id from editor), '', 'UPDATE_CONTEXT_FIELD'),
21
+ ((SELECT id from editor), '', 'DELETE_CONTEXT_FIELD'),
22
+
23
+ ((SELECT id from editor), '', 'CREATE_PROJECT'),
24
+
25
+ ((SELECT id from editor), '', 'CREATE_ADDON'),
26
+ ((SELECT id from editor), '', 'UPDATE_ADDON'),
27
+ ((SELECT id from editor), '', 'DELETE_ADDON'),
28
+
29
+ ((SELECT id from editor), 'default', 'UPDATE_PROJECT'),
30
+ ((SELECT id from editor), 'default', 'DELETE_PROJECT'),
31
+ ((SELECT id from editor), 'default', 'CREATE_FEATURE'),
32
+ ((SELECT id from editor), 'default', 'UPDATE_FEATURE'),
33
+ ((SELECT id from editor), 'default', 'DELETE_FEATURE');
34
+
35
+ -- Clean up duplicates
36
+ DELETE FROM role_permission p1
37
+ USING role_permission p2
38
+ WHERE p1.created_at < p2.created_at -- select the "older" ones
39
+ AND p1.project = p2.project -- list columns that define duplicates
40
+ AND p1.permission = p2.permission;
41
+ EXCEPTION WHEN OTHERS THEN
42
+ raise notice 'Ignored';
43
+ end;
44
+ $$;`, cb);
45
+ };
46
+ exports.down = function (db, cb) {
47
+ // We can't just remove roles for users as we don't know if there has been any manual additions.
48
+ cb();
49
+ };
50
+ //# sourceMappingURL=20210428103924-patch-role_permissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20210428103924-patch-role_permissions.js","sourceRoot":"","sources":["../../src/migrations/20210428103924-patch-role_permissions.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,CAAC,EAAE,GAAG,UAAU,EAAE,EAAE,EAAE;IACzB,EAAE,CAAC,MAAM,CACL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAyCI,EACJ,EAAE,CACL,CAAC;AACN,CAAC,CAAC;AAEF,OAAO,CAAC,IAAI,GAAG,UAAU,EAAE,EAAE,EAAE;IAC3B,gGAAgG;IAChG,EAAE,EAAE,CAAC;AACT,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export function up(db: any, cb: any): void;
2
+ export function down(db: any, cb: any): void;
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+ exports.up = function (db, cb) {
3
+ db.runSql(`
4
+ ALTER TABLE events
5
+ ADD COLUMN feature_name TEXT;
6
+ CREATE INDEX feature_name_idx ON events(feature_name);
7
+ `, cb);
8
+ };
9
+ exports.down = function (db, cb) {
10
+ db.runSql(`
11
+ DROP INDEX feature_name_idx;
12
+ ALTER TABLE events
13
+ DROP COLUMN feature_name;
14
+ `, cb);
15
+ };
16
+ //# sourceMappingURL=20211105104316-add-feature-name-column-to-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20211105104316-add-feature-name-column-to-events.js","sourceRoot":"","sources":["../../src/migrations/20211105104316-add-feature-name-column-to-events.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,CAAC,EAAE,GAAG,UAAU,EAAE,EAAE,EAAE;IACzB,EAAE,CAAC,MAAM,CACL;;;;KAIH,EACG,EAAE,CACL,CAAC;AACN,CAAC,CAAC;AAEF,OAAO,CAAC,IAAI,GAAG,UAAU,EAAE,EAAE,EAAE;IAC3B,EAAE,CAAC,MAAM,CACL;;;;KAIH,EACG,EAAE,CACL,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export function up(db: any, cb: any): void;
2
+ export function down(db: any, cb: any): void;
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+ exports.up = function (db, cb) {
3
+ db.runSql(`ALTER TABLE events ADD COLUMN pre_data jsonb;`, cb);
4
+ };
5
+ exports.down = function (db, cb) {
6
+ db.runSql(`ALTER TABLE events DROP COLUMN pre_data;`, cb);
7
+ };
8
+ //# sourceMappingURL=20211105105509-add-predata-column-to-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20211105105509-add-predata-column-to-events.js","sourceRoot":"","sources":["../../src/migrations/20211105105509-add-predata-column-to-events.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,CAAC,EAAE,GAAG,UAAU,EAAE,EAAE,EAAE;IACzB,EAAE,CAAC,MAAM,CAAC,+CAA+C,EAAE,EAAE,CAAC,CAAC;AACnE,CAAC,CAAC;AAEF,OAAO,CAAC,IAAI,GAAG,UAAU,EAAE,EAAE,EAAE;IAC3B,EAAE,CAAC,MAAM,CAAC,0CAA0C,EAAE,EAAE,CAAC,CAAC;AAC9D,CAAC,CAAC"}
package/dist/migrator.js CHANGED
@@ -3,9 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.resetDb = exports.migrateDb = void 0;
4
4
  const db_migrate_shared_1 = require("db-migrate-shared");
5
5
  const db_migrate_1 = require("db-migrate");
6
+ const date_fns_1 = require("date-fns");
6
7
  db_migrate_shared_1.log.setLogLevel('error');
7
8
  async function migrateDb({ db }) {
8
- const custom = { ...db, connectionTimeoutMillis: 10000 };
9
+ const custom = {
10
+ ...db,
11
+ connectionTimeoutMillis: (0, date_fns_1.secondsToMilliseconds)(10),
12
+ };
9
13
  const dbm = (0, db_migrate_1.getInstance)(true, {
10
14
  cwd: __dirname,
11
15
  config: { custom },
@@ -16,7 +20,10 @@ async function migrateDb({ db }) {
16
20
  exports.migrateDb = migrateDb;
17
21
  // This exists to ease testing
18
22
  async function resetDb({ db }) {
19
- const custom = { ...db, connectionTimeoutMillis: 10000 };
23
+ const custom = {
24
+ ...db,
25
+ connectionTimeoutMillis: (0, date_fns_1.secondsToMilliseconds)(10),
26
+ };
20
27
  const dbm = (0, db_migrate_1.getInstance)(true, {
21
28
  cwd: __dirname,
22
29
  config: { custom },
@@ -1 +1 @@
1
- {"version":3,"file":"migrator.js","sourceRoot":"","sources":["../src/migrator.ts"],"names":[],"mappings":";;;AAAA,yDAAwC;AACxC,2CAAyC;AAGzC,uBAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAElB,KAAK,UAAU,SAAS,CAAC,EAAE,EAAE,EAAkB;IAClD,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,EAAE,uBAAuB,EAAE,KAAK,EAAE,CAAC;IAEzD,MAAM,GAAG,GAAG,IAAA,wBAAW,EAAC,IAAI,EAAE;QAC1B,GAAG,EAAE,SAAS;QACd,MAAM,EAAE,EAAE,MAAM,EAAE;QAClB,GAAG,EAAE,QAAQ;KAChB,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC,EAAE,EAAE,CAAC;AACpB,CAAC;AAVD,8BAUC;AAED,8BAA8B;AACvB,KAAK,UAAU,OAAO,CAAC,EAAE,EAAE,EAAkB;IAChD,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,EAAE,uBAAuB,EAAE,KAAK,EAAE,CAAC;IAEzD,MAAM,GAAG,GAAG,IAAA,wBAAW,EAAC,IAAI,EAAE;QAC1B,GAAG,EAAE,SAAS;QACd,MAAM,EAAE,EAAE,MAAM,EAAE;QAClB,GAAG,EAAE,QAAQ;KAChB,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC,KAAK,EAAE,CAAC;AACvB,CAAC;AAVD,0BAUC"}
1
+ {"version":3,"file":"migrator.js","sourceRoot":"","sources":["../src/migrator.ts"],"names":[],"mappings":";;;AAAA,yDAAwC;AACxC,2CAAyC;AAEzC,uCAAiD;AAEjD,uBAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAElB,KAAK,UAAU,SAAS,CAAC,EAAE,EAAE,EAAkB;IAClD,MAAM,MAAM,GAAG;QACX,GAAG,EAAE;QACL,uBAAuB,EAAE,IAAA,gCAAqB,EAAC,EAAE,CAAC;KACrD,CAAC;IAEF,MAAM,GAAG,GAAG,IAAA,wBAAW,EAAC,IAAI,EAAE;QAC1B,GAAG,EAAE,SAAS;QACd,MAAM,EAAE,EAAE,MAAM,EAAE;QAClB,GAAG,EAAE,QAAQ;KAChB,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC,EAAE,EAAE,CAAC;AACpB,CAAC;AAbD,8BAaC;AAED,8BAA8B;AACvB,KAAK,UAAU,OAAO,CAAC,EAAE,EAAE,EAAkB;IAChD,MAAM,MAAM,GAAG;QACX,GAAG,EAAE;QACL,uBAAuB,EAAE,IAAA,gCAAqB,EAAC,EAAE,CAAC;KACrD,CAAC;IAEF,MAAM,GAAG,GAAG,IAAA,wBAAW,EAAC,IAAI,EAAE;QAC1B,GAAG,EAAE,SAAS;QACd,MAAM,EAAE,EAAE,MAAM,EAAE;QAClB,GAAG,EAAE,QAAQ;KAChB,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC,KAAK,EAAE,CAAC;AACvB,CAAC;AAbD,0BAaC"}
@@ -146,14 +146,16 @@ test('should return toggle summary', async () => {
146
146
  .get('/api/admin/client-metrics/features/demo')
147
147
  .expect('Content-Type', /json/)
148
148
  .expect(200);
149
+ const test = demo.lastHourUsage.find((u) => u.environment === 'test');
150
+ const defaultEnv = demo.lastHourUsage.find((u) => u.environment === 'default');
149
151
  expect(demo.featureName).toBe('demo');
150
152
  expect(demo.lastHourUsage).toHaveLength(2);
151
- expect(demo.lastHourUsage[0].environment).toBe('default');
152
- expect(demo.lastHourUsage[0].yes).toBe(5);
153
- expect(demo.lastHourUsage[0].no).toBe(4);
154
- expect(demo.lastHourUsage[1].environment).toBe('test');
155
- expect(demo.lastHourUsage[1].yes).toBe(2);
156
- expect(demo.lastHourUsage[1].no).toBe(6);
153
+ expect(test.environment).toBe('test');
154
+ expect(test.yes).toBe(2);
155
+ expect(test.no).toBe(6);
156
+ expect(defaultEnv.environment).toBe('default');
157
+ expect(defaultEnv.yes).toBe(5);
158
+ expect(defaultEnv.no).toBe(4);
157
159
  expect(demo.seenApplications).toStrictEqual(['backend-api', 'web']);
158
160
  });
159
161
  test('should only include last hour of metrics return toggle summary', async () => {
@@ -206,14 +208,16 @@ test('should only include last hour of metrics return toggle summary', async ()
206
208
  .get('/api/admin/client-metrics/features/demo')
207
209
  .expect('Content-Type', /json/)
208
210
  .expect(200);
211
+ const test = demo.lastHourUsage.find((u) => u.environment === 'test');
212
+ const defaultEnv = demo.lastHourUsage.find((u) => u.environment === 'default');
209
213
  expect(demo.featureName).toBe('demo');
210
214
  expect(demo.lastHourUsage).toHaveLength(2);
211
- expect(demo.lastHourUsage[0].environment).toBe('default');
212
- expect(demo.lastHourUsage[0].yes).toBe(5);
213
- expect(demo.lastHourUsage[0].no).toBe(4);
214
- expect(demo.lastHourUsage[1].environment).toBe('test');
215
- expect(demo.lastHourUsage[1].yes).toBe(2);
216
- expect(demo.lastHourUsage[1].no).toBe(6);
215
+ expect(defaultEnv.environment).toBe('default');
216
+ expect(defaultEnv.yes).toBe(5);
217
+ expect(defaultEnv.no).toBe(4);
218
+ expect(test.environment).toBe('test');
219
+ expect(test.yes).toBe(2);
220
+ expect(test.no).toBe(6);
217
221
  expect(demo.seenApplications).toStrictEqual(['backend-api', 'web']);
218
222
  });
219
223
  //# sourceMappingURL=client-metrics.e2e.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client-metrics.e2e.test.js","sourceRoot":"","sources":["../../../../../src/test/e2e/api/admin/client-metrics.e2e.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client-metrics.e2e.test.js","sourceRoot":"","sources":["../../../../../src/test/e2e/api/admin/client-metrics.e2e.test.ts"],"names":[],"mappings":"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"}
@@ -61,8 +61,7 @@ test('returns three archived toggles', async () => {
61
61
  expect(res.body.features.length === 3).toBe(true);
62
62
  });
63
63
  });
64
- test.skip('revives a feature by name', async () => {
65
- expect.assertions(0);
64
+ test('revives a feature by name', async () => {
66
65
  return app.request
67
66
  .post('/api/admin/archive/revive/featureArchivedX')
68
67
  .set('Content-Type', 'application/json')
@@ -1 +1 @@
1
- {"version":3,"file":"feature-archive.e2e.test.js","sourceRoot":"","sources":["../../../../../src/test/e2e/api/admin/feature-archive.e2e.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feature-archive.e2e.test.js","sourceRoot":"","sources":["../../../../../src/test/e2e/api/admin/feature-archive.e2e.test.ts"],"names":[],"mappings":";;;;;AAAA,2DAAqD;AACrD,gFAAiD;AACjD,4EAAoD;AAEpD,IAAI,GAAG,CAAC;AACR,IAAI,EAAE,CAAC;AAEP,SAAS,CAAC,KAAK,IAAI,EAAE;IACjB,EAAE,GAAG,MAAM,IAAA,uBAAM,EAAC,gBAAgB,EAAE,mBAAS,CAAC,CAAC;IAC/C,GAAG,GAAG,MAAM,IAAA,sBAAQ,EAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,GAAG,CAAC,QAAQ,CAAC,sBAAsB,CAAC,mBAAmB,CACzD,SAAS,EACT;QACI,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,gBAAgB;KAChC,EACD,MAAM,CACT,CAAC;IACF,MAAM,GAAG,CAAC,QAAQ,CAAC,sBAAsB,CAAC,mBAAmB,CACzD,SAAS,EACT;QACI,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,2BAA2B;KAC3C,EACD,MAAM,CACT,CAAC;IACF,MAAM,GAAG,CAAC,QAAQ,CAAC,sBAAsB,CAAC,mBAAmB,CACzD,SAAS,EACT;QACI,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,kBAAkB;KAClC,EACD,MAAM,CACT,CAAC;IACF,MAAM,GAAG,CAAC,QAAQ,CAAC,sBAAsB,CAAC,mBAAmB,CACzD,SAAS,EACT;QACI,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,gBAAgB;KAChC,EACD,MAAM,CACT,CAAC;IACF,MAAM,GAAG,CAAC,QAAQ,CAAC,sBAAsB,CAAC,aAAa,CACnD,kBAAkB,EAClB,MAAM,CACT,CAAC;IACF,MAAM,GAAG,CAAC,QAAQ,CAAC,sBAAsB,CAAC,mBAAmB,CACzD,SAAS,EACT;QACI,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,2BAA2B;KAC3C,EACD,MAAM,CACT,CAAC;IACF,MAAM,GAAG,CAAC,QAAQ,CAAC,sBAAsB,CAAC,aAAa,CACnD,kBAAkB,EAClB,MAAM,CACT,CAAC;IACF,MAAM,GAAG,CAAC,QAAQ,CAAC,sBAAsB,CAAC,mBAAmB,CACzD,SAAS,EACT;QACI,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,kBAAkB;KAClC,EACD,MAAM,CACT,CAAC;IACF,MAAM,GAAG,CAAC,QAAQ,CAAC,sBAAsB,CAAC,aAAa,CACnD,kBAAkB,EAClB,MAAM,CACT,CAAC;IACF,MAAM,GAAG,CAAC,QAAQ,CAAC,sBAAsB,CAAC,mBAAmB,CACzD,SAAS,EACT;QACI,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,gCAAgC;QAC7C,QAAQ,EAAE;YACN,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE;YAC/B,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;SAC9B;KACJ,EACD,MAAM,CACT,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;IAChB,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;IACpB,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;IAC9C,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACrB,OAAO,GAAG,CAAC,OAAO;SACb,GAAG,CAAC,6BAA6B,CAAC;SAClC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC;SAC9B,MAAM,CAAC,GAAG,CAAC;SACX,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACZ,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;IACzC,OAAO,GAAG,CAAC,OAAO;SACb,IAAI,CAAC,4CAA4C,CAAC;SAClD,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC;SACvC,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;IAC7E,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAErB,OAAO,GAAG,CAAC,OAAO;SACb,GAAG,CAAC,sCAAsC,CAAC;SAC3C,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC;SACvC,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;IAClD,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACrB,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACtE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;IAC9D,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACrB,MAAM,GAAG,CAAC,OAAO;SACZ,IAAI,CAAC,qBAAqB,CAAC;SAC3B,IAAI,CAAC;QACF,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KACpC,CAAC;SACD,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC;SACvC,MAAM,CAAC,GAAG,CAAC;SACX,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACZ,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACpD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;IACP,MAAM,GAAG,CAAC,OAAO;SACZ,MAAM,CAAC,2CAA2C,CAAC;SACnD,MAAM,CAAC,GAAG,CAAC,CAAC;IACjB,MAAM,GAAG,CAAC,OAAO;SACZ,MAAM,CAAC,0CAA0C,CAAC;SAClD,MAAM,CAAC,GAAG,CAAC,CAAC;IACjB,OAAO,GAAG,CAAC,OAAO;SACb,IAAI,CAAC,8BAA8B,CAAC;SACpC,IAAI,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC;SACvC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC;SACvC,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AACH,IAAI,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;IACpE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACrB,MAAM,GAAG,CAAC,OAAO;SACZ,IAAI,CAAC,qBAAqB,CAAC;SAC3B,IAAI,CAAC;QACF,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KACpC,CAAC;SACD,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC;SACvC,MAAM,CAAC,GAAG,CAAC;SACX,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACZ,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACpD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;IACP,MAAM,GAAG,CAAC,OAAO;SACZ,MAAM,CAAC,0CAA0C,CAAC;SAClD,MAAM,CAAC,GAAG,CAAC,CAAC;IACjB,OAAO,GAAG,CAAC,OAAO;SACb,IAAI,CAAC,8BAA8B,CAAC;SACpC,IAAI,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC;SACvC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC;SACvC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,0BAA0B;AAChD,CAAC,CAAC,CAAC"}