unleash-server 4.2.0-beta.8 → 4.2.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 (235) hide show
  1. package/dist/lib/addons/addon.d.ts +2 -1
  2. package/dist/lib/addons/addon.js.map +1 -1
  3. package/dist/lib/addons/datadog.d.ts +4 -17
  4. package/dist/lib/addons/datadog.js +3 -109
  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 +25 -0
  9. package/dist/lib/addons/feature-event-formatter-md.js +116 -0
  10. package/dist/lib/addons/feature-event-formatter-md.js.map +1 -0
  11. package/dist/lib/addons/index.d.ts +1 -0
  12. package/dist/lib/addons/index.js.map +1 -1
  13. package/dist/lib/addons/slack.d.ts +3 -12
  14. package/dist/lib/addons/slack.js +5 -110
  15. package/dist/lib/addons/slack.js.map +1 -1
  16. package/dist/lib/addons/slack.test.js +8 -0
  17. package/dist/lib/addons/slack.test.js.map +1 -1
  18. package/dist/lib/addons/teams.d.ts +4 -17
  19. package/dist/lib/addons/teams.js +7 -109
  20. package/dist/lib/addons/teams.js.map +1 -1
  21. package/dist/lib/addons/teams.test.js +3 -0
  22. package/dist/lib/addons/teams.test.js.map +1 -1
  23. package/dist/lib/addons/webhook.d.ts +8 -2
  24. package/dist/lib/addons/webhook.js +0 -1
  25. package/dist/lib/addons/webhook.js.map +1 -1
  26. package/dist/lib/addons/webhook.test.js +2 -0
  27. package/dist/lib/addons/webhook.test.js.map +1 -1
  28. package/dist/lib/create-config.js +6 -5
  29. package/dist/lib/create-config.js.map +1 -1
  30. package/dist/lib/db/client-instance-store.js +2 -2
  31. package/dist/lib/db/client-instance-store.js.map +1 -1
  32. package/dist/lib/db/client-metrics-db.js +2 -2
  33. package/dist/lib/db/client-metrics-db.js.map +1 -1
  34. package/dist/lib/db/client-metrics-store-v2.js +5 -1
  35. package/dist/lib/db/client-metrics-store-v2.js.map +1 -1
  36. package/dist/lib/db/client-metrics-store.js +2 -2
  37. package/dist/lib/db/client-metrics-store.js.map +1 -1
  38. package/dist/lib/db/event-store.d.ts +10 -6
  39. package/dist/lib/db/event-store.js +21 -1
  40. package/dist/lib/db/event-store.js.map +1 -1
  41. package/dist/lib/db/session-store.js +2 -1
  42. package/dist/lib/db/session-store.js.map +1 -1
  43. package/dist/lib/error/minimum-one-environment-error.d.ts +5 -0
  44. package/dist/lib/error/minimum-one-environment-error.js +24 -0
  45. package/dist/lib/error/minimum-one-environment-error.js.map +1 -0
  46. package/dist/lib/metrics.js +20 -12
  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/middleware/rbac-middleware.js +2 -17
  51. package/dist/lib/middleware/rbac-middleware.js.map +1 -1
  52. package/dist/lib/middleware/rbac-middleware.test.js +2 -21
  53. package/dist/lib/middleware/rbac-middleware.test.js.map +1 -1
  54. package/dist/lib/middleware/secure-headers.js +2 -1
  55. package/dist/lib/middleware/secure-headers.js.map +1 -1
  56. package/dist/lib/middleware/session-db.js +2 -3
  57. package/dist/lib/middleware/session-db.js.map +1 -1
  58. package/dist/lib/routes/admin-api/config.d.ts +5 -2
  59. package/dist/lib/routes/admin-api/config.js +9 -11
  60. package/dist/lib/routes/admin-api/config.js.map +1 -1
  61. package/dist/lib/routes/admin-api/event.d.ts +8 -4
  62. package/dist/lib/routes/admin-api/event.js +8 -10
  63. package/dist/lib/routes/admin-api/event.js.map +1 -1
  64. package/dist/lib/routes/admin-api/feature.d.ts +2 -3
  65. package/dist/lib/routes/admin-api/feature.js +37 -34
  66. package/dist/lib/routes/admin-api/feature.js.map +1 -1
  67. package/dist/lib/routes/admin-api/project/features.js +11 -8
  68. package/dist/lib/routes/admin-api/project/features.js.map +1 -1
  69. package/dist/lib/routes/admin-api/state.js +2 -3
  70. package/dist/lib/routes/admin-api/state.js.map +1 -1
  71. package/dist/lib/routes/admin-api/strategy.test.js +25 -38
  72. package/dist/lib/routes/admin-api/strategy.test.js.map +1 -1
  73. package/dist/lib/routes/admin-api/user-admin.d.ts +1 -0
  74. package/dist/lib/routes/admin-api/user-admin.js +6 -0
  75. package/dist/lib/routes/admin-api/user-admin.js.map +1 -1
  76. package/dist/lib/routes/client-api/feature.test.js +3 -2
  77. package/dist/lib/routes/client-api/feature.test.js.map +1 -1
  78. package/dist/lib/routes/health-check.test.js +1 -0
  79. package/dist/lib/routes/health-check.test.js.map +1 -1
  80. package/dist/lib/routes/util.js +2 -0
  81. package/dist/lib/routes/util.js.map +1 -1
  82. package/dist/lib/server-impl.d.ts +2 -1
  83. package/dist/lib/server-impl.js.map +1 -1
  84. package/dist/lib/services/addon-service-test-simple-addon.d.ts +1 -1
  85. package/dist/lib/services/addon-service-test-simple-addon.js.map +1 -1
  86. package/dist/lib/services/addon-service.js +2 -2
  87. package/dist/lib/services/addon-service.js.map +1 -1
  88. package/dist/lib/services/api-token-service.js +2 -2
  89. package/dist/lib/services/api-token-service.js.map +1 -1
  90. package/dist/lib/services/client-metrics/client-metrics-service-v2.js +3 -5
  91. package/dist/lib/services/client-metrics/client-metrics-service-v2.js.map +1 -1
  92. package/dist/lib/services/client-metrics/client-metrics.test.js +74 -41
  93. package/dist/lib/services/client-metrics/client-metrics.test.js.map +1 -1
  94. package/dist/lib/services/client-metrics/index.d.ts +6 -5
  95. package/dist/lib/services/client-metrics/index.js +13 -10
  96. package/dist/lib/services/client-metrics/index.js.map +1 -1
  97. package/dist/lib/services/client-metrics/list.d.ts +19 -16
  98. package/dist/lib/services/client-metrics/list.js +6 -4
  99. package/dist/lib/services/client-metrics/list.js.map +1 -1
  100. package/dist/lib/services/client-metrics/list.test.js +9 -5
  101. package/dist/lib/services/client-metrics/list.test.js.map +1 -1
  102. package/dist/lib/services/client-metrics/ttl-list.d.ts +20 -13
  103. package/dist/lib/services/client-metrics/ttl-list.js +26 -15
  104. package/dist/lib/services/client-metrics/ttl-list.js.map +1 -1
  105. package/dist/lib/services/client-metrics/ttl-list.test.js +33 -9
  106. package/dist/lib/services/client-metrics/ttl-list.test.js.map +1 -1
  107. package/dist/lib/services/environment-service.d.ts +2 -1
  108. package/dist/lib/services/environment-service.js +10 -3
  109. package/dist/lib/services/environment-service.js.map +1 -1
  110. package/dist/lib/services/event-service.d.ts +1 -1
  111. package/dist/lib/services/event-service.js +1 -1
  112. package/dist/lib/services/event-service.js.map +1 -1
  113. package/dist/lib/services/feature-tag-service.js +7 -11
  114. package/dist/lib/services/feature-tag-service.js.map +1 -1
  115. package/dist/lib/services/{feature-toggle-service-v2.d.ts → feature-toggle-service.d.ts} +29 -19
  116. package/dist/lib/services/{feature-toggle-service-v2.js → feature-toggle-service.js} +177 -145
  117. package/dist/lib/services/feature-toggle-service.js.map +1 -0
  118. package/dist/lib/services/index.js +5 -3
  119. package/dist/lib/services/index.js.map +1 -1
  120. package/dist/lib/services/project-health-service.d.ts +2 -2
  121. package/dist/lib/services/project-health-service.js +3 -3
  122. package/dist/lib/services/project-health-service.js.map +1 -1
  123. package/dist/lib/services/project-service.d.ts +2 -2
  124. package/dist/lib/services/project-service.js +5 -3
  125. package/dist/lib/services/project-service.js.map +1 -1
  126. package/dist/lib/services/reset-token-service.js +2 -2
  127. package/dist/lib/services/reset-token-service.js.map +1 -1
  128. package/dist/lib/services/setting-service.d.ts +1 -1
  129. package/dist/lib/services/setting-service.js.map +1 -1
  130. package/dist/lib/services/state-util.js +1 -1
  131. package/dist/lib/services/state-util.js.map +1 -1
  132. package/dist/lib/services/user-service.d.ts +6 -2
  133. package/dist/lib/services/user-service.js +43 -21
  134. package/dist/lib/services/user-service.js.map +1 -1
  135. package/dist/lib/services/user-service.test.js +18 -0
  136. package/dist/lib/services/user-service.test.js.map +1 -1
  137. package/dist/lib/services/version-service.js +2 -2
  138. package/dist/lib/services/version-service.js.map +1 -1
  139. package/dist/lib/types/authentication-required.d.ts +3 -1
  140. package/dist/lib/types/authentication-required.js +2 -1
  141. package/dist/lib/types/authentication-required.js.map +1 -1
  142. package/dist/lib/types/events.d.ts +165 -2
  143. package/dist/lib/types/events.js +124 -4
  144. package/dist/lib/types/events.js.map +1 -1
  145. package/dist/lib/types/model.d.ts +0 -12
  146. package/dist/lib/types/model.js.map +1 -1
  147. package/dist/lib/types/services.d.ts +3 -2
  148. package/dist/lib/types/settings/simple-auth-settings.d.ts +4 -0
  149. package/dist/lib/types/settings/simple-auth-settings.js +5 -0
  150. package/dist/lib/types/settings/simple-auth-settings.js.map +1 -0
  151. package/dist/lib/types/stores/event-store.d.ts +4 -3
  152. package/dist/lib/types/stores/settings-store.d.ts +1 -1
  153. package/dist/lib/util/constants.d.ts +0 -2
  154. package/dist/lib/util/constants.js +1 -3
  155. package/dist/lib/util/constants.js.map +1 -1
  156. package/dist/migrations/20210928080601-add-development-and-production-environments.js +3 -3
  157. package/dist/migrations/20211029094324-set-sort-order-env.d.ts +2 -0
  158. package/dist/migrations/20211029094324-set-sort-order-env.js +11 -0
  159. package/dist/migrations/20211029094324-set-sort-order-env.js.map +1 -0
  160. package/dist/migrations/20211105104316-add-feature-name-column-to-events.d.ts +2 -0
  161. package/dist/migrations/20211105104316-add-feature-name-column-to-events.js +16 -0
  162. package/dist/migrations/20211105104316-add-feature-name-column-to-events.js.map +1 -0
  163. package/dist/migrations/20211105105509-add-predata-column-to-events.d.ts +2 -0
  164. package/dist/migrations/20211105105509-add-predata-column-to-events.js +8 -0
  165. package/dist/migrations/20211105105509-add-predata-column-to-events.js.map +1 -0
  166. package/dist/migrator.js +9 -2
  167. package/dist/migrator.js.map +1 -1
  168. package/dist/test/e2e/api/admin/client-metrics.e2e.test.js +16 -12
  169. package/dist/test/e2e/api/admin/client-metrics.e2e.test.js.map +1 -1
  170. package/dist/{lib/event-differ.test.d.ts → test/e2e/api/admin/config.e2e.test.d.ts} +0 -0
  171. package/dist/test/e2e/api/admin/config.e2e.test.js +36 -0
  172. package/dist/test/e2e/api/admin/config.e2e.test.js.map +1 -0
  173. package/dist/test/e2e/api/admin/feature-archive.e2e.test.js +1 -2
  174. package/dist/test/e2e/api/admin/feature-archive.e2e.test.js.map +1 -1
  175. package/dist/test/e2e/api/admin/feature.e2e.test.js +19 -2
  176. package/dist/test/e2e/api/admin/feature.e2e.test.js.map +1 -1
  177. package/dist/test/e2e/api/admin/metrics.e2e.test.js +5 -3
  178. package/dist/test/e2e/api/admin/metrics.e2e.test.js.map +1 -1
  179. package/dist/test/e2e/api/admin/project/environments.e2e.test.js +10 -0
  180. package/dist/test/e2e/api/admin/project/environments.e2e.test.js.map +1 -1
  181. package/dist/test/e2e/api/admin/project/features.e2e.test.js +120 -8
  182. package/dist/test/e2e/api/admin/project/features.e2e.test.js.map +1 -1
  183. package/dist/test/e2e/api/admin/state.e2e.test.js +17 -13
  184. package/dist/test/e2e/api/admin/state.e2e.test.js.map +1 -1
  185. package/dist/test/e2e/api/admin/user-admin.e2e.test.js +18 -17
  186. package/dist/test/e2e/api/admin/user-admin.e2e.test.js.map +1 -1
  187. package/dist/test/e2e/api/auth/reset-password-controller.e2e.test.js +4 -0
  188. package/dist/test/e2e/api/auth/reset-password-controller.e2e.test.js.map +1 -1
  189. package/dist/test/e2e/api/client/feature.env.disabled.e2e.test.js +8 -4
  190. package/dist/test/e2e/api/client/feature.env.disabled.e2e.test.js.map +1 -1
  191. package/dist/test/e2e/api/client/feature.token.access.e2e.test.js +4 -4
  192. package/dist/test/e2e/api/client/feature.token.access.e2e.test.js.map +1 -1
  193. package/dist/test/e2e/api/client/register.e2e.test.js +1 -1
  194. package/dist/test/e2e/api/client/register.e2e.test.js.map +1 -1
  195. package/dist/test/e2e/custom-auth.test.js +1 -1
  196. package/dist/test/e2e/custom-auth.test.js.map +1 -1
  197. package/dist/test/e2e/services/addon-service.e2e.test.js +1 -1
  198. package/dist/test/e2e/services/addon-service.e2e.test.js.map +1 -1
  199. package/dist/test/e2e/services/api-token-service.e2e.test.js +5 -3
  200. package/dist/test/e2e/services/api-token-service.e2e.test.js.map +1 -1
  201. package/dist/test/e2e/services/client-metrics-service.e2e.test.js +5 -2
  202. package/dist/test/e2e/services/client-metrics-service.e2e.test.js.map +1 -1
  203. package/dist/test/e2e/services/environment-service.test.js +1 -1
  204. package/dist/test/e2e/services/environment-service.test.js.map +1 -1
  205. package/dist/test/e2e/services/feature-toggle-service-v2.e2e.test.js +14 -11
  206. package/dist/test/e2e/services/feature-toggle-service-v2.e2e.test.js.map +1 -1
  207. package/dist/test/e2e/services/project-health-service.e2e.test.js +2 -2
  208. package/dist/test/e2e/services/project-health-service.e2e.test.js.map +1 -1
  209. package/dist/test/e2e/services/project-service.e2e.test.js +2 -2
  210. package/dist/test/e2e/services/project-service.e2e.test.js.map +1 -1
  211. package/dist/test/e2e/services/reset-token-service.e2e.test.js +4 -0
  212. package/dist/test/e2e/services/reset-token-service.e2e.test.js.map +1 -1
  213. package/dist/test/e2e/services/session-service.e2e.test.js +5 -4
  214. package/dist/test/e2e/services/session-service.e2e.test.js.map +1 -1
  215. package/dist/test/e2e/services/user-service.e2e.test.js +18 -2
  216. package/dist/test/e2e/services/user-service.e2e.test.js.map +1 -1
  217. package/dist/test/e2e/stores/client-metrics-store-v2.e2e.test.js +4 -6
  218. package/dist/test/e2e/stores/client-metrics-store-v2.e2e.test.js.map +1 -1
  219. package/dist/test/e2e/stores/event-store.e2e.test.js +1 -1
  220. package/dist/test/e2e/stores/event-store.e2e.test.js.map +1 -1
  221. package/dist/test/e2e/stores/feature-toggle-store.e2e.test.js +1 -0
  222. package/dist/test/e2e/stores/feature-toggle-store.e2e.test.js.map +1 -1
  223. package/dist/test/fixtures/fake-event-store.d.ts +2 -1
  224. package/dist/test/fixtures/fake-event-store.js +3 -0
  225. package/dist/test/fixtures/fake-event-store.js.map +1 -1
  226. package/dist/test/fixtures/fake-setting-store.js +1 -5
  227. package/dist/test/fixtures/fake-setting-store.js.map +1 -1
  228. package/docs/api/oas/openapi.yaml +35 -55
  229. package/package.json +11 -12
  230. package/dist/lib/event-differ.d.ts +0 -1
  231. package/dist/lib/event-differ.js +0 -117
  232. package/dist/lib/event-differ.js.map +0 -1
  233. package/dist/lib/event-differ.test.js +0 -142
  234. package/dist/lib/event-differ.test.js.map +0 -1
  235. package/dist/lib/services/feature-toggle-service-v2.js.map +0 -1
@@ -1,3 +1,4 @@
1
+ import { FeatureToggle, IStrategyConfig, ITag } from './model';
1
2
  export declare const APPLICATION_CREATED = "application-created";
2
3
  export declare const FEATURE_CREATED = "feature-created";
3
4
  export declare const FEATURE_DELETED = "feature-deleted";
@@ -17,6 +18,8 @@ export declare const FEATURE_UNTAGGED = "feature-untagged";
17
18
  export declare const FEATURE_STALE_ON = "feature-stale-on";
18
19
  export declare const FEATURE_STALE_OFF = "feature-stale-off";
19
20
  export declare const DROP_FEATURES = "drop-features";
21
+ export declare const FEATURE_ENVIRONMENT_ENABLED = "feature-environment-enabled";
22
+ export declare const FEATURE_ENVIRONMENT_DISABLED = "feature-environment-disabled";
20
23
  export declare const STRATEGY_CREATED = "strategy-created";
21
24
  export declare const STRATEGY_DELETED = "strategy-deleted";
22
25
  export declare const STRATEGY_DEPRECATED = "strategy-deprecated";
@@ -50,5 +53,165 @@ export declare const USER_UPDATED = "user-updated";
50
53
  export declare const USER_DELETED = "user-deleted";
51
54
  export declare const DROP_ENVIRONMENTS = "drop-environments";
52
55
  export declare const ENVIRONMENT_IMPORT = "environment-import";
53
- export declare const FEATURE_ENVIRONMENT_ENABLED = "feature-environment-enabled";
54
- export declare const FEATURE_ENVIRONMENT_DISABLED = "feature-environment-disabled";
56
+ export interface IBaseEvent {
57
+ type: string;
58
+ createdBy: string;
59
+ project?: string;
60
+ environment?: string;
61
+ featureName?: string;
62
+ data?: any;
63
+ preData?: any;
64
+ tags?: ITag[];
65
+ }
66
+ export interface IEvent extends IBaseEvent {
67
+ id: number;
68
+ createdAt: Date;
69
+ }
70
+ declare class BaseEvent implements IBaseEvent {
71
+ readonly type: string;
72
+ readonly createdBy: string;
73
+ readonly tags: ITag[];
74
+ constructor(type: string, createdBy: string, tags?: ITag[]);
75
+ }
76
+ export declare class FeatureStaleEvent extends BaseEvent {
77
+ readonly project: string;
78
+ readonly featureName: string;
79
+ constructor(p: {
80
+ stale: boolean;
81
+ project: string;
82
+ featureName: string;
83
+ createdBy: string;
84
+ tags: ITag[];
85
+ });
86
+ }
87
+ export declare class FeatureEnvironmentEvent extends BaseEvent {
88
+ readonly project: string;
89
+ readonly featureName: string;
90
+ readonly environment: string;
91
+ constructor(p: {
92
+ enabled: boolean;
93
+ project: string;
94
+ featureName: string;
95
+ environment: string;
96
+ createdBy: string;
97
+ tags: ITag[];
98
+ });
99
+ }
100
+ export declare class FeatureChangeProjectEvent extends BaseEvent {
101
+ readonly project: string;
102
+ readonly featureName: string;
103
+ readonly data: {
104
+ oldProject: string;
105
+ newProject: string;
106
+ };
107
+ constructor(p: {
108
+ oldProject: string;
109
+ newProject: string;
110
+ featureName: string;
111
+ createdBy: string;
112
+ tags: ITag[];
113
+ });
114
+ }
115
+ export declare class FeatureCreatedEvent extends BaseEvent {
116
+ readonly project: string;
117
+ readonly featureName: string;
118
+ readonly data: FeatureToggle;
119
+ constructor(p: {
120
+ project: string;
121
+ featureName: string;
122
+ createdBy: string;
123
+ data: FeatureToggle;
124
+ tags: ITag[];
125
+ });
126
+ }
127
+ export declare class FeatureArchivedEvent extends BaseEvent {
128
+ readonly project: string;
129
+ readonly featureName: string;
130
+ constructor(p: {
131
+ project: string;
132
+ featureName: string;
133
+ createdBy: string;
134
+ tags: ITag[];
135
+ });
136
+ }
137
+ export declare class FeatureRevivedEvent extends BaseEvent {
138
+ readonly project: string;
139
+ readonly featureName: string;
140
+ constructor(p: {
141
+ project: string;
142
+ featureName: string;
143
+ createdBy: string;
144
+ tags: ITag[];
145
+ });
146
+ }
147
+ export declare class FeatureDeletedEvent extends BaseEvent {
148
+ readonly project: string;
149
+ readonly featureName: string;
150
+ readonly preData: FeatureToggle;
151
+ constructor(p: {
152
+ project: string;
153
+ featureName: string;
154
+ preData: FeatureToggle;
155
+ createdBy: string;
156
+ tags: ITag[];
157
+ });
158
+ }
159
+ export declare class FeatureMetadataUpdateEvent extends BaseEvent {
160
+ readonly project: string;
161
+ readonly featureName: string;
162
+ readonly data: FeatureToggle;
163
+ readonly preData: FeatureToggle;
164
+ constructor(p: {
165
+ featureName: string;
166
+ createdBy: string;
167
+ project: string;
168
+ data: FeatureToggle;
169
+ preData: FeatureToggle;
170
+ tags: ITag[];
171
+ });
172
+ }
173
+ export declare class FeatureStrategyAddEvent extends BaseEvent {
174
+ readonly project: string;
175
+ readonly featureName: string;
176
+ readonly environment: string;
177
+ readonly data: IStrategyConfig;
178
+ constructor(p: {
179
+ project: string;
180
+ featureName: string;
181
+ environment: string;
182
+ createdBy: string;
183
+ data: IStrategyConfig;
184
+ tags: ITag[];
185
+ });
186
+ }
187
+ export declare class FeatureStrategyUpdateEvent extends BaseEvent {
188
+ readonly project: string;
189
+ readonly featureName: string;
190
+ readonly environment: string;
191
+ readonly data: IStrategyConfig;
192
+ readonly preData: IStrategyConfig;
193
+ constructor(p: {
194
+ project: string;
195
+ featureName: string;
196
+ environment: string;
197
+ createdBy: string;
198
+ data: IStrategyConfig;
199
+ preData: IStrategyConfig;
200
+ tags: ITag[];
201
+ });
202
+ }
203
+ export declare class FeatureStrategyRemoveEvent extends BaseEvent {
204
+ readonly project: string;
205
+ readonly featureName: string;
206
+ readonly environment: string;
207
+ readonly preData: IStrategyConfig;
208
+ constructor(p: {
209
+ project: string;
210
+ featureName: string;
211
+ environment: string;
212
+ createdBy: string;
213
+ preData: IStrategyConfig;
214
+ tags: ITag[];
215
+ });
216
+ }
217
+ export {};
@@ -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;
@@ -0,0 +1,4 @@
1
+ export declare const simpleAuthKey = "unleash.auth.simple";
2
+ export interface SimpleAuthSettings {
3
+ disabled: boolean;
4
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.simpleAuthKey = void 0;
4
+ exports.simpleAuthKey = 'unleash.auth.simple';
5
+ //# sourceMappingURL=simple-auth-settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-auth-settings.js","sourceRoot":"","sources":["../../../../src/lib/types/settings/simple-auth-settings.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG,qBAAqB,CAAC"}
@@ -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
  }
@@ -4,6 +4,6 @@ export interface ISettingInsert {
4
4
  content: any;
5
5
  }
6
6
  export interface ISettingStore extends Store<any, string> {
7
- insert(name: string, content: any): Promise<void>;
7
+ insert<T>(name: string, content: T): Promise<void>;
8
8
  updateRow(name: string, content: any): Promise<void>;
9
9
  }
@@ -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"}
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
  exports.up = function (db, cb) {
3
3
  db.runSql(`
4
- INSERT INTO environments(name, type, enabled)
5
- VALUES ('development', 'development', true),
6
- ('production', 'production', true);
4
+ INSERT INTO environments(name, type, enabled, sort_order)
5
+ VALUES ('development', 'development', true, 100),
6
+ ('production', 'production', true, 200);
7
7
  `, cb);
8
8
  };
9
9
  exports.down = function (db, cb) {
@@ -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 environments set sort_order = 100 where name = 'development' AND sort_order = 9999;
5
+ UPDATE environments set sort_order = 200 where name = 'production' AND sort_order = 9999;
6
+ `, cb);
7
+ };
8
+ exports.down = function (db, cb) {
9
+ cb();
10
+ };
11
+ //# sourceMappingURL=20211029094324-set-sort-order-env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20211029094324-set-sort-order-env.js","sourceRoot":"","sources":["../../src/migrations/20211029094324-set-sort-order-env.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,CAAC,EAAE,GAAG,UAAU,EAAE,EAAE,EAAE;IACzB,EAAE,CAAC,MAAM,CACL;;;SAGC,EACD,EAAE,CACL,CAAC;AACN,CAAC,CAAC;AAEF,OAAO,CAAC,IAAI,GAAG,UAAU,EAAE,EAAE,EAAE;IAC3B,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