unleash-server 4.18.0-beta.12 → 4.18.0-beta.13
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.
- package/dist/lib/db/api-token-store.js +2 -1
- package/dist/lib/db/api-token-store.js.map +1 -1
- package/dist/lib/db/favorite-features-store.d.ts +20 -0
- package/dist/lib/db/favorite-features-store.js +56 -0
- package/dist/lib/db/favorite-features-store.js.map +1 -0
- package/dist/lib/db/favorite-projects-store.d.ts +19 -0
- package/dist/lib/db/favorite-projects-store.js +56 -0
- package/dist/lib/db/favorite-projects-store.js.map +1 -0
- package/dist/lib/db/feature-strategy-store.d.ts +11 -4
- package/dist/lib/db/feature-strategy-store.js +45 -15
- package/dist/lib/db/feature-strategy-store.js.map +1 -1
- package/dist/lib/db/feature-toggle-client-store.d.ts +13 -1
- package/dist/lib/db/feature-toggle-client-store.js +29 -14
- package/dist/lib/db/feature-toggle-client-store.js.map +1 -1
- package/dist/lib/db/index.js +5 -1
- package/dist/lib/db/index.js.map +1 -1
- package/dist/lib/db/project-store.d.ts +4 -2
- package/dist/lib/db/project-store.js +21 -5
- package/dist/lib/db/project-store.js.map +1 -1
- package/dist/lib/db/user-store.d.ts +1 -0
- package/dist/lib/db/user-store.js +11 -0
- package/dist/lib/db/user-store.js.map +1 -1
- package/dist/lib/middleware/pat-middleware.js +1 -0
- package/dist/lib/middleware/pat-middleware.js.map +1 -1
- package/dist/lib/openapi/index.d.ts +33 -0
- package/dist/lib/openapi/spec/feature-schema.d.ts +3 -0
- package/dist/lib/openapi/spec/feature-schema.js +3 -0
- package/dist/lib/openapi/spec/feature-schema.js.map +1 -1
- package/dist/lib/openapi/spec/features-schema.d.ts +3 -0
- package/dist/lib/openapi/spec/health-overview-schema.d.ts +6 -0
- package/dist/lib/openapi/spec/health-overview-schema.js +3 -0
- package/dist/lib/openapi/spec/health-overview-schema.js.map +1 -1
- package/dist/lib/openapi/spec/health-report-schema.d.ts +6 -0
- package/dist/lib/openapi/spec/profile-schema.d.ts +3 -0
- package/dist/lib/openapi/spec/project-schema.d.ts +3 -0
- package/dist/lib/openapi/spec/project-schema.js +3 -0
- package/dist/lib/openapi/spec/project-schema.js.map +1 -1
- package/dist/lib/openapi/spec/projects-schema.d.ts +3 -0
- package/dist/lib/openapi/spec/state-schema.d.ts +6 -0
- package/dist/lib/routes/admin-api/favorites.d.ts +22 -0
- package/dist/lib/routes/admin-api/favorites.js +106 -0
- package/dist/lib/routes/admin-api/favorites.js.map +1 -0
- package/dist/lib/routes/admin-api/feature.d.ts +6 -1
- package/dist/lib/routes/admin-api/feature.js +7 -3
- package/dist/lib/routes/admin-api/feature.js.map +1 -1
- package/dist/lib/routes/admin-api/index.js +2 -0
- package/dist/lib/routes/admin-api/index.js.map +1 -1
- package/dist/lib/routes/admin-api/project/features.d.ts +6 -2
- package/dist/lib/routes/admin-api/project/features.js +13 -2
- package/dist/lib/routes/admin-api/project/features.js.map +1 -1
- package/dist/lib/routes/admin-api/project/health-report.d.ts +2 -1
- package/dist/lib/routes/admin-api/project/health-report.js +2 -1
- package/dist/lib/routes/admin-api/project/health-report.js.map +1 -1
- package/dist/lib/routes/admin-api/project/index.d.ts +3 -2
- package/dist/lib/routes/admin-api/project/index.js +2 -1
- package/dist/lib/routes/admin-api/project/index.js.map +1 -1
- package/dist/lib/services/api-token-service.d.ts +5 -1
- package/dist/lib/services/api-token-service.js +18 -0
- package/dist/lib/services/api-token-service.js.map +1 -1
- package/dist/lib/services/favorites-service.d.ts +26 -0
- package/dist/lib/services/favorites-service.js +78 -0
- package/dist/lib/services/favorites-service.js.map +1 -0
- package/dist/lib/services/feature-toggle-service.d.ts +12 -6
- package/dist/lib/services/feature-toggle-service.js +15 -13
- package/dist/lib/services/feature-toggle-service.js.map +1 -1
- package/dist/lib/services/index.d.ts +2 -1
- package/dist/lib/services/index.js +6 -2
- package/dist/lib/services/index.js.map +1 -1
- package/dist/lib/services/project-health-service.d.ts +4 -2
- package/dist/lib/services/project-health-service.js +13 -4
- package/dist/lib/services/project-health-service.js.map +1 -1
- package/dist/lib/services/project-service.d.ts +1 -1
- package/dist/lib/services/project-service.js +6 -3
- package/dist/lib/services/project-service.js.map +1 -1
- package/dist/lib/services/user-service.d.ts +7 -1
- package/dist/lib/services/user-service.js +24 -1
- package/dist/lib/services/user-service.js.map +1 -1
- package/dist/lib/types/events.d.ts +4 -0
- package/dist/lib/types/events.js +6 -2
- package/dist/lib/types/events.js.map +1 -1
- package/dist/lib/types/experimental.d.ts +2 -0
- package/dist/lib/types/experimental.js +3 -2
- package/dist/lib/types/experimental.js.map +1 -1
- package/dist/lib/types/favorites.d.ts +6 -0
- package/dist/lib/types/favorites.js +3 -0
- package/dist/lib/types/favorites.js.map +1 -0
- package/dist/lib/types/model.d.ts +3 -0
- package/dist/lib/types/model.js.map +1 -1
- package/dist/lib/types/services.d.ts +2 -0
- package/dist/lib/types/stores/favorite-features.d.ts +9 -0
- package/dist/lib/types/stores/favorite-features.js +3 -0
- package/dist/lib/types/stores/favorite-features.js.map +1 -0
- package/dist/lib/types/stores/favorite-projects.d.ts +9 -0
- package/dist/lib/types/stores/favorite-projects.js +3 -0
- package/dist/lib/types/stores/favorite-projects.js.map +1 -0
- package/dist/lib/types/stores/feature-strategies-store.d.ts +4 -3
- package/dist/lib/types/stores/feature-toggle-client-store.d.ts +2 -1
- package/dist/lib/types/stores/project-store.d.ts +1 -1
- package/dist/lib/types/stores/user-store.d.ts +1 -0
- package/dist/lib/types/stores.d.ts +5 -1
- package/dist/migrations/20221124123914-add-favorites.d.ts +2 -0
- package/dist/migrations/20221124123914-add-favorites.js +27 -0
- package/dist/migrations/20221124123914-add-favorites.js.map +1 -0
- package/dist/server-dev.js +1 -0
- package/dist/server-dev.js.map +1 -1
- package/dist/test/config/test-config.js +1 -0
- package/dist/test/config/test-config.js.map +1 -1
- package/dist/test/e2e/api/admin/favorites.e2e.test.d.ts +1 -0
- package/dist/test/e2e/api/admin/favorites.e2e.test.js +186 -0
- package/dist/test/e2e/api/admin/favorites.e2e.test.js.map +1 -0
- package/dist/test/e2e/api/admin/state.e2e.test.js +3 -1
- package/dist/test/e2e/api/admin/state.e2e.test.js.map +1 -1
- package/dist/test/e2e/custom-auth.test.js +12 -1
- package/dist/test/e2e/custom-auth.test.js.map +1 -1
- package/dist/test/e2e/services/environment-service.test.js +9 -3
- package/dist/test/e2e/services/environment-service.test.js.map +1 -1
- package/dist/test/e2e/services/feature-toggle-service-v2.e2e.test.js +10 -4
- package/dist/test/e2e/services/feature-toggle-service-v2.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/project-health-service.e2e.test.js +4 -1
- package/dist/test/e2e/services/project-health-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/project-service.e2e.test.js +3 -1
- package/dist/test/e2e/services/project-service.e2e.test.js.map +1 -1
- package/dist/test/fixtures/fake-favorite-features-store.d.ts +12 -0
- package/dist/test/fixtures/fake-favorite-features-store.js +26 -0
- package/dist/test/fixtures/fake-favorite-features-store.js.map +1 -0
- package/dist/test/fixtures/fake-favorite-projects-store.d.ts +12 -0
- package/dist/test/fixtures/fake-favorite-projects-store.js +26 -0
- package/dist/test/fixtures/fake-favorite-projects-store.js.map +1 -0
- package/dist/test/fixtures/fake-feature-strategies-store.d.ts +4 -3
- package/dist/test/fixtures/fake-feature-strategies-store.js +8 -10
- package/dist/test/fixtures/fake-feature-strategies-store.js.map +1 -1
- package/dist/test/fixtures/fake-feature-toggle-client-store.d.ts +2 -1
- package/dist/test/fixtures/fake-feature-toggle-client-store.js +1 -1
- package/dist/test/fixtures/fake-feature-toggle-client-store.js.map +1 -1
- package/dist/test/fixtures/fake-user-store.d.ts +1 -0
- package/dist/test/fixtures/fake-user-store.js +4 -0
- package/dist/test/fixtures/fake-user-store.js.map +1 -1
- package/dist/test/fixtures/store.js +4 -0
- package/dist/test/fixtures/store.js.map +1 -1
- package/frontend/build/index.html +1 -1
- package/frontend/build/static/{FeatureMetricsChart.66acbc72.js → FeatureMetricsChart.df457773.js} +1 -1
- package/frontend/build/static/{Playground.b15186be.js → Playground.18fdfcf1.js} +1 -1
- package/frontend/build/static/changeRequestProcess.86920003.svg +48 -0
- package/frontend/build/static/index.99ae90b2.js +435 -0
- package/package.json +1 -1
- package/frontend/build/static/changeRequestProcess.0da12075.svg +0 -90
- package/frontend/build/static/index.99ace7d7.js +0 -435
|
@@ -25,6 +25,7 @@ const tokenRowReducer = (acc, tokenRow) => {
|
|
|
25
25
|
expiresAt: token.expires_at,
|
|
26
26
|
createdAt: token.created_at,
|
|
27
27
|
alias: token.alias,
|
|
28
|
+
seenAt: token.seen_at,
|
|
28
29
|
};
|
|
29
30
|
}
|
|
30
31
|
const currentToken = acc[tokenRow.secret];
|
|
@@ -132,7 +133,7 @@ class ApiTokenStore {
|
|
|
132
133
|
const now = new Date();
|
|
133
134
|
try {
|
|
134
135
|
await this.db(TABLE)
|
|
135
|
-
.whereIn('
|
|
136
|
+
.whereIn('secret', secrets)
|
|
136
137
|
.update({ seen_at: now });
|
|
137
138
|
}
|
|
138
139
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-token-store.js","sourceRoot":"","sources":["../../../src/lib/db/api-token-store.ts"],"names":[],"mappings":";;;;;;AAEA,4EAAmD;AACnD,oDAA2C;AAE3C,6EAAoD;AAEpD,yDAKmC;AACnC,iDAAiD;AAEjD,MAAM,KAAK,GAAG,YAAY,CAAC;AAC3B,MAAM,cAAc,GAAG,mBAAmB,CAAC;AAE3C,MAAM,GAAG,GAAG,GAAG,CAAC;AAiBhB,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;IACtC,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,GAAG,QAAQ,CAAC;IACvC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QACvB,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG;YACnB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,GAAG;YACZ,QAAQ,EAAE,CAAC,GAAG,CAAC;YACf,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG;YACxD,SAAS,EAAE,KAAK,CAAC,UAAU;YAC3B,SAAS,EAAE,KAAK,CAAC,UAAU;YAC3B,KAAK,EAAE,KAAK,CAAC,KAAK;
|
|
1
|
+
{"version":3,"file":"api-token-store.js","sourceRoot":"","sources":["../../../src/lib/db/api-token-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import EventEmitter from 'events';
|
|
3
|
+
import { IFavoriteFeaturesStore } from '../types';
|
|
4
|
+
import { LogProvider } from '../logger';
|
|
5
|
+
import { Knex } from 'knex';
|
|
6
|
+
import { IFavoriteFeatureKey } from '../types/stores/favorite-features';
|
|
7
|
+
import { IFavoriteFeature } from '../types/favorites';
|
|
8
|
+
export declare class FavoriteFeaturesStore implements IFavoriteFeaturesStore {
|
|
9
|
+
private logger;
|
|
10
|
+
private eventBus;
|
|
11
|
+
private db;
|
|
12
|
+
constructor(db: Knex, eventBus: EventEmitter, getLogger: LogProvider);
|
|
13
|
+
addFavoriteFeature({ userId, feature, }: IFavoriteFeatureKey): Promise<IFavoriteFeature>;
|
|
14
|
+
delete({ userId, feature }: IFavoriteFeatureKey): Promise<void>;
|
|
15
|
+
deleteAll(): Promise<void>;
|
|
16
|
+
destroy(): void;
|
|
17
|
+
exists({ userId, feature }: IFavoriteFeatureKey): Promise<boolean>;
|
|
18
|
+
get({ userId, feature, }: IFavoriteFeatureKey): Promise<IFavoriteFeature>;
|
|
19
|
+
getAll(): Promise<IFavoriteFeature[]>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FavoriteFeaturesStore = void 0;
|
|
4
|
+
const T = {
|
|
5
|
+
FAVORITE_FEATURES: 'favorite_features',
|
|
6
|
+
};
|
|
7
|
+
const rowToFavorite = (row) => {
|
|
8
|
+
return {
|
|
9
|
+
userId: row.user_id,
|
|
10
|
+
feature: row.feature,
|
|
11
|
+
createdAt: row.created_at,
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
class FavoriteFeaturesStore {
|
|
15
|
+
constructor(db, eventBus, getLogger) {
|
|
16
|
+
this.db = db;
|
|
17
|
+
this.eventBus = eventBus;
|
|
18
|
+
this.logger = getLogger('lib/db/favorites-store.ts');
|
|
19
|
+
}
|
|
20
|
+
async addFavoriteFeature({ userId, feature, }) {
|
|
21
|
+
const insertedFeature = await this.db(T.FAVORITE_FEATURES)
|
|
22
|
+
.insert({ feature, user_id: userId })
|
|
23
|
+
.onConflict(['user_id', 'feature'])
|
|
24
|
+
.merge()
|
|
25
|
+
.returning('*');
|
|
26
|
+
return rowToFavorite(insertedFeature[0]);
|
|
27
|
+
}
|
|
28
|
+
async delete({ userId, feature }) {
|
|
29
|
+
return this.db(T.FAVORITE_FEATURES)
|
|
30
|
+
.where({ feature, user_id: userId })
|
|
31
|
+
.del();
|
|
32
|
+
}
|
|
33
|
+
async deleteAll() {
|
|
34
|
+
await this.db(T.FAVORITE_FEATURES).del();
|
|
35
|
+
}
|
|
36
|
+
destroy() { }
|
|
37
|
+
async exists({ userId, feature }) {
|
|
38
|
+
const result = await this.db.raw(`SELECT EXISTS (SELECT 1 FROM ${T.FAVORITE_FEATURES} WHERE user_id = ? AND feature = ?) AS present`, [userId, feature]);
|
|
39
|
+
const { present } = result.rows[0];
|
|
40
|
+
return present;
|
|
41
|
+
}
|
|
42
|
+
async get({ userId, feature, }) {
|
|
43
|
+
const favorite = await this.db
|
|
44
|
+
.table(T.FAVORITE_FEATURES)
|
|
45
|
+
.select()
|
|
46
|
+
.where({ feature, user_id: userId })
|
|
47
|
+
.first();
|
|
48
|
+
return rowToFavorite(favorite);
|
|
49
|
+
}
|
|
50
|
+
async getAll() {
|
|
51
|
+
const groups = await this.db(T.FAVORITE_FEATURES).select();
|
|
52
|
+
return groups.map(rowToFavorite);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.FavoriteFeaturesStore = FavoriteFeaturesStore;
|
|
56
|
+
//# sourceMappingURL=favorite-features-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"favorite-features-store.js","sourceRoot":"","sources":["../../../src/lib/db/favorite-features-store.ts"],"names":[],"mappings":";;;AAOA,MAAM,CAAC,GAAG;IACN,iBAAiB,EAAE,mBAAmB;CACzC,CAAC;AAQF,MAAM,aAAa,GAAG,CAAC,GAAwB,EAAE,EAAE;IAC/C,OAAO;QACH,MAAM,EAAE,GAAG,CAAC,OAAO;QACnB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,SAAS,EAAE,GAAG,CAAC,UAAU;KAC5B,CAAC;AACN,CAAC,CAAC;AAEF,MAAa,qBAAqB;IAO9B,YAAY,EAAQ,EAAE,QAAsB,EAAE,SAAsB;QAChE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,2BAA2B,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,EACrB,MAAM,EACN,OAAO,GACW;QAClB,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,EAAE,CACjC,CAAC,CAAC,iBAAiB,CACtB;aACI,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;aACpC,UAAU,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;aAClC,KAAK,EAAE;aACP,SAAS,CAAC,GAAG,CAAC,CAAC;QAEpB,OAAO,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAuB;QACjD,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC;aAC9B,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;aACnC,GAAG,EAAE,CAAC;IACf,CAAC;IAED,KAAK,CAAC,SAAS;QACX,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,CAAC;IAC7C,CAAC;IAED,OAAO,KAAU,CAAC;IAElB,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAuB;QACjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAC5B,gCAAgC,CAAC,CAAC,iBAAiB,gDAAgD,EACnG,CAAC,MAAM,EAAE,OAAO,CAAC,CACpB,CAAC;QACF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnC,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EACN,MAAM,EACN,OAAO,GACW;QAClB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,EAAE;aACzB,KAAK,CAAsB,CAAC,CAAC,iBAAiB,CAAC;aAC/C,MAAM,EAAE;aACR,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;aACnC,KAAK,EAAE,CAAC;QAEb,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,MAAM;QACR,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CACxB,CAAC,CAAC,iBAAiB,CACtB,CAAC,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACrC,CAAC;CACJ;AApED,sDAoEC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import EventEmitter from 'events';
|
|
3
|
+
import { LogProvider } from '../logger';
|
|
4
|
+
import { Knex } from 'knex';
|
|
5
|
+
import { IFavoriteProject } from '../types/favorites';
|
|
6
|
+
import { IFavoriteProjectKey, IFavoriteProjectsStore } from '../types/stores/favorite-projects';
|
|
7
|
+
export declare class FavoriteProjectsStore implements IFavoriteProjectsStore {
|
|
8
|
+
private logger;
|
|
9
|
+
private eventBus;
|
|
10
|
+
private db;
|
|
11
|
+
constructor(db: Knex, eventBus: EventEmitter, getLogger: LogProvider);
|
|
12
|
+
addFavoriteProject({ userId, project, }: IFavoriteProjectKey): Promise<IFavoriteProject>;
|
|
13
|
+
delete({ userId, project }: IFavoriteProjectKey): Promise<void>;
|
|
14
|
+
deleteAll(): Promise<void>;
|
|
15
|
+
destroy(): void;
|
|
16
|
+
exists({ userId, project }: IFavoriteProjectKey): Promise<boolean>;
|
|
17
|
+
get({ userId, project, }: IFavoriteProjectKey): Promise<IFavoriteProject>;
|
|
18
|
+
getAll(): Promise<IFavoriteProject[]>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FavoriteProjectsStore = void 0;
|
|
4
|
+
const T = {
|
|
5
|
+
FAVORITE_PROJECTS: 'favorite_projects',
|
|
6
|
+
};
|
|
7
|
+
const rowToFavorite = (row) => {
|
|
8
|
+
return {
|
|
9
|
+
userId: row.user_id,
|
|
10
|
+
project: row.project,
|
|
11
|
+
createdAt: row.created_at,
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
class FavoriteProjectsStore {
|
|
15
|
+
constructor(db, eventBus, getLogger) {
|
|
16
|
+
this.db = db;
|
|
17
|
+
this.eventBus = eventBus;
|
|
18
|
+
this.logger = getLogger('lib/db/favorites-store.ts');
|
|
19
|
+
}
|
|
20
|
+
async addFavoriteProject({ userId, project, }) {
|
|
21
|
+
const insertedProject = await this.db(T.FAVORITE_PROJECTS)
|
|
22
|
+
.insert({ project, user_id: userId })
|
|
23
|
+
.onConflict(['user_id', 'project'])
|
|
24
|
+
.merge()
|
|
25
|
+
.returning('*');
|
|
26
|
+
return rowToFavorite(insertedProject[0]);
|
|
27
|
+
}
|
|
28
|
+
async delete({ userId, project }) {
|
|
29
|
+
return this.db(T.FAVORITE_PROJECTS)
|
|
30
|
+
.where({ project, user_id: userId })
|
|
31
|
+
.del();
|
|
32
|
+
}
|
|
33
|
+
async deleteAll() {
|
|
34
|
+
await this.db(T.FAVORITE_PROJECTS).del();
|
|
35
|
+
}
|
|
36
|
+
destroy() { }
|
|
37
|
+
async exists({ userId, project }) {
|
|
38
|
+
const result = await this.db.raw(`SELECT EXISTS(SELECT 1 FROM ${T.FAVORITE_PROJECTS} WHERE user_id = ? AND project = ?) AS present`, [userId, project]);
|
|
39
|
+
const { present } = result.rows[0];
|
|
40
|
+
return present;
|
|
41
|
+
}
|
|
42
|
+
async get({ userId, project, }) {
|
|
43
|
+
const favorite = await this.db
|
|
44
|
+
.table(T.FAVORITE_PROJECTS)
|
|
45
|
+
.select()
|
|
46
|
+
.where({ project, user_id: userId })
|
|
47
|
+
.first();
|
|
48
|
+
return rowToFavorite(favorite);
|
|
49
|
+
}
|
|
50
|
+
async getAll() {
|
|
51
|
+
const groups = await this.db(T.FAVORITE_PROJECTS).select();
|
|
52
|
+
return groups.map(rowToFavorite);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.FavoriteProjectsStore = FavoriteProjectsStore;
|
|
56
|
+
//# sourceMappingURL=favorite-projects-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"favorite-projects-store.js","sourceRoot":"","sources":["../../../src/lib/db/favorite-projects-store.ts"],"names":[],"mappings":";;;AASA,MAAM,CAAC,GAAG;IACN,iBAAiB,EAAE,mBAAmB;CACzC,CAAC;AAQF,MAAM,aAAa,GAAG,CAAC,GAAwB,EAAE,EAAE;IAC/C,OAAO;QACH,MAAM,EAAE,GAAG,CAAC,OAAO;QACnB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,SAAS,EAAE,GAAG,CAAC,UAAU;KAC5B,CAAC;AACN,CAAC,CAAC;AAEF,MAAa,qBAAqB;IAO9B,YAAY,EAAQ,EAAE,QAAsB,EAAE,SAAsB;QAChE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,2BAA2B,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,EACrB,MAAM,EACN,OAAO,GACW;QAClB,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,EAAE,CACjC,CAAC,CAAC,iBAAiB,CACtB;aACI,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;aACpC,UAAU,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;aAClC,KAAK,EAAE;aACP,SAAS,CAAC,GAAG,CAAC,CAAC;QAEpB,OAAO,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAuB;QACjD,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC;aAC9B,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;aACnC,GAAG,EAAE,CAAC;IACf,CAAC;IAED,KAAK,CAAC,SAAS;QACX,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,CAAC;IAC7C,CAAC;IAED,OAAO,KAAU,CAAC;IAElB,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAuB;QACjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAC5B,+BAA+B,CAAC,CAAC,iBAAiB,gDAAgD,EAClG,CAAC,MAAM,EAAE,OAAO,CAAC,CACpB,CAAC;QACF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnC,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EACN,MAAM,EACN,OAAO,GACW;QAClB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,EAAE;aACzB,KAAK,CAAsB,CAAC,CAAC,iBAAiB,CAAC;aAC/C,MAAM,EAAE;aACR,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;aACnC,KAAK,EAAE,CAAC;QAEb,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,MAAM;QACR,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CACxB,CAAC,CAAC,iBAAiB,CACtB,CAAC,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACrC,CAAC;CACJ;AApED,sDAoEC"}
|
|
@@ -6,6 +6,13 @@ import { FeatureToggleWithEnvironment, IFeatureOverview, IFeatureStrategy } from
|
|
|
6
6
|
import { IFeatureStrategiesStore } from '../types/stores/feature-strategies-store';
|
|
7
7
|
import { PartialSome } from '../types/partial';
|
|
8
8
|
import { IFlagResolver } from '../types/experimental';
|
|
9
|
+
import { IFeatureProjectUserParams } from '../routes/admin-api/project/features';
|
|
10
|
+
export interface ILoadFeatureToggleWithEnvsParams {
|
|
11
|
+
featureName: string;
|
|
12
|
+
archived: boolean;
|
|
13
|
+
withEnvironmentVariants: boolean;
|
|
14
|
+
userId?: number;
|
|
15
|
+
}
|
|
9
16
|
declare class FeatureStrategiesStore implements IFeatureStrategiesStore {
|
|
10
17
|
private db;
|
|
11
18
|
private logger;
|
|
@@ -21,15 +28,15 @@ declare class FeatureStrategiesStore implements IFeatureStrategiesStore {
|
|
|
21
28
|
removeAllStrategiesForFeatureEnv(featureName: string, environment: string): Promise<void>;
|
|
22
29
|
getAll(): Promise<IFeatureStrategy[]>;
|
|
23
30
|
getStrategiesForFeatureEnv(projectId: string, featureName: string, environment: string): Promise<IFeatureStrategy[]>;
|
|
24
|
-
getFeatureToggleWithEnvs(featureName: string, archived?: boolean): Promise<FeatureToggleWithEnvironment>;
|
|
25
|
-
getFeatureToggleWithVariantEnvs(featureName: string, archived?: boolean): Promise<FeatureToggleWithEnvironment>;
|
|
26
|
-
loadFeatureToggleWithEnvs(featureName
|
|
31
|
+
getFeatureToggleWithEnvs(featureName: string, userId?: number, archived?: boolean): Promise<FeatureToggleWithEnvironment>;
|
|
32
|
+
getFeatureToggleWithVariantEnvs(featureName: string, userId?: number, archived?: boolean): Promise<FeatureToggleWithEnvironment>;
|
|
33
|
+
loadFeatureToggleWithEnvs({ featureName, archived, withEnvironmentVariants, userId, }: ILoadFeatureToggleWithEnvsParams): Promise<FeatureToggleWithEnvironment>;
|
|
27
34
|
private addSegmentIdsToStrategy;
|
|
28
35
|
private static getEnvironment;
|
|
29
36
|
private addTag;
|
|
30
37
|
private isNewTag;
|
|
31
38
|
private static rowToTag;
|
|
32
|
-
getFeatureOverview(projectId
|
|
39
|
+
getFeatureOverview({ projectId, archived, userId, }: IFeatureProjectUserParams): Promise<IFeatureOverview[]>;
|
|
33
40
|
getStrategyById(id: string): Promise<IFeatureStrategy>;
|
|
34
41
|
updateSortOrder(id: string, sortOrder: number): Promise<void>;
|
|
35
42
|
updateStrategy(id: string, updates: Partial<IFeatureStrategy>): Promise<IFeatureStrategy>;
|
|
@@ -136,17 +136,38 @@ class FeatureStrategiesStore {
|
|
|
136
136
|
stopTimer();
|
|
137
137
|
return rows.map(mapRow);
|
|
138
138
|
}
|
|
139
|
-
async getFeatureToggleWithEnvs(featureName, archived = false) {
|
|
140
|
-
return this.loadFeatureToggleWithEnvs(
|
|
139
|
+
async getFeatureToggleWithEnvs(featureName, userId, archived = false) {
|
|
140
|
+
return this.loadFeatureToggleWithEnvs({
|
|
141
|
+
featureName,
|
|
142
|
+
archived,
|
|
143
|
+
withEnvironmentVariants: false,
|
|
144
|
+
userId,
|
|
145
|
+
});
|
|
141
146
|
}
|
|
142
|
-
async getFeatureToggleWithVariantEnvs(featureName, archived = false) {
|
|
143
|
-
return this.loadFeatureToggleWithEnvs(
|
|
147
|
+
async getFeatureToggleWithVariantEnvs(featureName, userId, archived = false) {
|
|
148
|
+
return this.loadFeatureToggleWithEnvs({
|
|
149
|
+
featureName,
|
|
150
|
+
archived,
|
|
151
|
+
withEnvironmentVariants: true,
|
|
152
|
+
userId,
|
|
153
|
+
});
|
|
144
154
|
}
|
|
145
|
-
async loadFeatureToggleWithEnvs(featureName, archived, withEnvironmentVariants) {
|
|
155
|
+
async loadFeatureToggleWithEnvs({ featureName, archived, withEnvironmentVariants, userId, }) {
|
|
146
156
|
const stopTimer = this.timer('getFeatureAdmin');
|
|
147
|
-
|
|
157
|
+
let query = this.db('features_view')
|
|
148
158
|
.where('name', featureName)
|
|
149
159
|
.modify(feature_toggle_store_1.default.filterByArchived, archived);
|
|
160
|
+
let selectColumns = ['features_view.*'];
|
|
161
|
+
if (userId && this.flagResolver.isEnabled('favorites')) {
|
|
162
|
+
query = query.leftJoin(`favorite_features`, function () {
|
|
163
|
+
this.on('favorite_features.feature', 'features_view.name').andOnVal('favorite_features.user_id', '=', userId);
|
|
164
|
+
});
|
|
165
|
+
selectColumns = [
|
|
166
|
+
...selectColumns,
|
|
167
|
+
this.db.raw('favorite_features.feature is not null as favorite'),
|
|
168
|
+
];
|
|
169
|
+
}
|
|
170
|
+
const rows = await query.select(selectColumns);
|
|
150
171
|
stopTimer();
|
|
151
172
|
if (rows.length > 0) {
|
|
152
173
|
const featureToggle = rows.reduce((acc, r) => {
|
|
@@ -154,6 +175,7 @@ class FeatureStrategiesStore {
|
|
|
154
175
|
acc.environments = {};
|
|
155
176
|
}
|
|
156
177
|
acc.name = r.name;
|
|
178
|
+
acc.favorite = r.favorite;
|
|
157
179
|
acc.impressionData = r.impression_data;
|
|
158
180
|
acc.description = r.description;
|
|
159
181
|
acc.project = r.project;
|
|
@@ -238,7 +260,12 @@ class FeatureStrategiesStore {
|
|
|
238
260
|
type: r.tag_type,
|
|
239
261
|
};
|
|
240
262
|
}
|
|
241
|
-
async getFeatureOverview(projectId, archived
|
|
263
|
+
async getFeatureOverview({ projectId, archived, userId, }) {
|
|
264
|
+
let query = this.db('features')
|
|
265
|
+
.where({ project: projectId })
|
|
266
|
+
.modify(feature_toggle_store_1.default.filterByArchived, archived)
|
|
267
|
+
.leftJoin('feature_environments', 'feature_environments.feature_name', 'features.name')
|
|
268
|
+
.leftJoin('environments', 'feature_environments.environment', 'environments.name');
|
|
242
269
|
let selectColumns = [
|
|
243
270
|
'features.name as feature_name',
|
|
244
271
|
'features.type as type',
|
|
@@ -251,21 +278,23 @@ class FeatureStrategiesStore {
|
|
|
251
278
|
'environments.sort_order as environment_sort_order',
|
|
252
279
|
];
|
|
253
280
|
if (this.flagResolver.isEnabled('toggleTagFiltering')) {
|
|
281
|
+
query = query.leftJoin('feature_tag as ft', 'ft.feature_name', 'features.name');
|
|
254
282
|
selectColumns = [
|
|
255
283
|
...selectColumns,
|
|
256
284
|
'ft.tag_value as tag_value',
|
|
257
285
|
'ft.tag_type as tag_type',
|
|
258
286
|
];
|
|
259
287
|
}
|
|
260
|
-
|
|
261
|
-
.
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
288
|
+
if (userId && this.flagResolver.isEnabled('favorites')) {
|
|
289
|
+
query = query.leftJoin(`favorite_features`, function () {
|
|
290
|
+
this.on('favorite_features.feature', 'features.name').andOnVal('favorite_features.user_id', '=', userId);
|
|
291
|
+
});
|
|
292
|
+
selectColumns = [
|
|
293
|
+
...selectColumns,
|
|
294
|
+
this.db.raw('favorite_features.feature is not null as favorite'),
|
|
295
|
+
];
|
|
268
296
|
}
|
|
297
|
+
query = query.select(selectColumns);
|
|
269
298
|
const rows = await query;
|
|
270
299
|
if (rows.length > 0) {
|
|
271
300
|
const overview = rows.reduce((acc, r) => {
|
|
@@ -278,6 +307,7 @@ class FeatureStrategiesStore {
|
|
|
278
307
|
else {
|
|
279
308
|
acc[r.feature_name] = {
|
|
280
309
|
type: r.type,
|
|
310
|
+
favorite: r.favorite,
|
|
281
311
|
name: r.feature_name,
|
|
282
312
|
createdAt: r.created_at,
|
|
283
313
|
lastSeenAt: r.last_seen_at,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-strategy-store.js","sourceRoot":"","sources":["../../../src/lib/db/feature-strategy-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"feature-strategy-store.js","sourceRoot":"","sources":["../../../src/lib/db/feature-strategy-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,18 @@ export interface FeaturesTable {
|
|
|
15
15
|
last_seen_at?: Date;
|
|
16
16
|
created_at?: Date;
|
|
17
17
|
}
|
|
18
|
+
export interface IGetAllFeatures {
|
|
19
|
+
featureQuery?: IFeatureToggleQuery;
|
|
20
|
+
archived: boolean;
|
|
21
|
+
isAdmin: boolean;
|
|
22
|
+
includeStrategyIds?: boolean;
|
|
23
|
+
userId?: number;
|
|
24
|
+
}
|
|
25
|
+
export interface IGetAdminFeatures {
|
|
26
|
+
featureQuery?: IFeatureToggleQuery;
|
|
27
|
+
archived?: boolean;
|
|
28
|
+
userId?: number;
|
|
29
|
+
}
|
|
18
30
|
export default class FeatureToggleClientStore implements IFeatureToggleClientStore {
|
|
19
31
|
private db;
|
|
20
32
|
private logger;
|
|
@@ -32,5 +44,5 @@ export default class FeatureToggleClientStore implements IFeatureToggleClientSto
|
|
|
32
44
|
private addSegmentToStrategy;
|
|
33
45
|
private addSegmentIdsToStrategy;
|
|
34
46
|
getClient(featureQuery?: IFeatureToggleQuery, includeStrategyIds?: boolean): Promise<IFeatureToggleClient[]>;
|
|
35
|
-
getAdmin(featureQuery
|
|
47
|
+
getAdmin({ featureQuery, userId, archived, }: IGetAdminFeatures): Promise<IFeatureToggleClient[]>;
|
|
36
48
|
}
|
|
@@ -20,7 +20,7 @@ class FeatureToggleClientStore {
|
|
|
20
20
|
});
|
|
21
21
|
this.flagResolver = flagResolver;
|
|
22
22
|
}
|
|
23
|
-
async getAll(featureQuery, archived
|
|
23
|
+
async getAll({ featureQuery, archived, isAdmin, includeStrategyIds, userId, }) {
|
|
24
24
|
const environment = featureQuery?.environment || constants_1.DEFAULT_ENV;
|
|
25
25
|
const stopTimer = this.timer('getFeatureAdmin');
|
|
26
26
|
let selectColumns = [
|
|
@@ -42,15 +42,7 @@ class FeatureToggleClientStore {
|
|
|
42
42
|
'segments.id as segment_id',
|
|
43
43
|
'segments.constraints as segment_constraints',
|
|
44
44
|
];
|
|
45
|
-
if (isAdmin && this.flagResolver.isEnabled('toggleTagFiltering')) {
|
|
46
|
-
selectColumns = [
|
|
47
|
-
...selectColumns,
|
|
48
|
-
'ft.tag_value as tag_value',
|
|
49
|
-
'ft.tag_type as tag_type',
|
|
50
|
-
];
|
|
51
|
-
}
|
|
52
45
|
let query = this.db('features')
|
|
53
|
-
.select(selectColumns)
|
|
54
46
|
.modify(feature_toggle_store_1.default.filterByArchived, archived)
|
|
55
47
|
.leftJoin(this.db('feature_strategies')
|
|
56
48
|
.select('*')
|
|
@@ -62,9 +54,26 @@ class FeatureToggleClientStore {
|
|
|
62
54
|
.as('fe'), 'fe.feature_name', 'features.name')
|
|
63
55
|
.leftJoin('feature_strategy_segment as fss', `fss.feature_strategy_id`, `fs.id`)
|
|
64
56
|
.leftJoin('segments', `segments.id`, `fss.segment_id`);
|
|
65
|
-
if (isAdmin
|
|
66
|
-
|
|
57
|
+
if (isAdmin) {
|
|
58
|
+
if (this.flagResolver.isEnabled('toggleTagFiltering')) {
|
|
59
|
+
query = query.leftJoin('feature_tag as ft', 'ft.feature_name', 'features.name');
|
|
60
|
+
selectColumns = [
|
|
61
|
+
...selectColumns,
|
|
62
|
+
'ft.tag_value as tag_value',
|
|
63
|
+
'ft.tag_type as tag_type',
|
|
64
|
+
];
|
|
65
|
+
}
|
|
66
|
+
if (userId && this.flagResolver.isEnabled('favorites')) {
|
|
67
|
+
query = query.leftJoin(`favorite_features`, function () {
|
|
68
|
+
this.on('favorite_features.feature', 'features.name').andOnVal('favorite_features.user_id', '=', userId);
|
|
69
|
+
});
|
|
70
|
+
selectColumns = [
|
|
71
|
+
...selectColumns,
|
|
72
|
+
this.db.raw('favorite_features.feature is not null as favorite'),
|
|
73
|
+
];
|
|
74
|
+
}
|
|
67
75
|
}
|
|
76
|
+
query = query.select(selectColumns);
|
|
68
77
|
if (featureQuery) {
|
|
69
78
|
if (featureQuery.tag) {
|
|
70
79
|
const tagQuery = this.db
|
|
@@ -102,6 +111,7 @@ class FeatureToggleClientStore {
|
|
|
102
111
|
feature.impressionData = r.impression_data;
|
|
103
112
|
feature.enabled = !!r.enabled;
|
|
104
113
|
feature.name = r.name;
|
|
114
|
+
feature.favorite = r.favorite;
|
|
105
115
|
feature.description = r.description;
|
|
106
116
|
feature.project = r.project;
|
|
107
117
|
feature.stale = r.stale;
|
|
@@ -174,10 +184,15 @@ class FeatureToggleClientStore {
|
|
|
174
184
|
strategy.segments.push(row.segment_id);
|
|
175
185
|
}
|
|
176
186
|
async getClient(featureQuery, includeStrategyIds) {
|
|
177
|
-
return this.getAll(
|
|
187
|
+
return this.getAll({
|
|
188
|
+
featureQuery,
|
|
189
|
+
archived: false,
|
|
190
|
+
isAdmin: false,
|
|
191
|
+
includeStrategyIds,
|
|
192
|
+
});
|
|
178
193
|
}
|
|
179
|
-
async getAdmin(featureQuery, archived
|
|
180
|
-
return this.getAll(featureQuery, archived, true);
|
|
194
|
+
async getAdmin({ featureQuery, userId, archived, }) {
|
|
195
|
+
return this.getAll({ featureQuery, archived, isAdmin: true, userId });
|
|
181
196
|
}
|
|
182
197
|
}
|
|
183
198
|
exports.default = FeatureToggleClientStore;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-toggle-client-store.js","sourceRoot":"","sources":["../../../src/lib/db/feature-toggle-client-store.ts"],"names":[],"mappings":";;;;;AACA,4EAAmD;AACnD,oDAA2C;AAS3C,iDAAgD;AAGhD,kFAAwD;AACxD,iEAA8D;AAC9D,mDAA+C;
|
|
1
|
+
{"version":3,"file":"feature-toggle-client-store.js","sourceRoot":"","sources":["../../../src/lib/db/feature-toggle-client-store.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/db/index.js
CHANGED
|
@@ -34,6 +34,8 @@ const segment_store_1 = __importDefault(require("./segment-store"));
|
|
|
34
34
|
const group_store_1 = __importDefault(require("./group-store"));
|
|
35
35
|
const pat_store_1 = __importDefault(require("./pat-store"));
|
|
36
36
|
const public_signup_token_store_1 = require("./public-signup-token-store");
|
|
37
|
+
const favorite_features_store_1 = require("./favorite-features-store");
|
|
38
|
+
const favorite_projects_store_1 = require("./favorite-projects-store");
|
|
37
39
|
const createStores = (config, db) => {
|
|
38
40
|
const { getLogger, eventBus } = config;
|
|
39
41
|
const eventStore = new event_store_1.default(db, getLogger);
|
|
@@ -48,7 +50,7 @@ const createStores = (config, db) => {
|
|
|
48
50
|
contextFieldStore: new context_field_store_1.default(db, getLogger),
|
|
49
51
|
settingStore: new setting_store_1.default(db, getLogger),
|
|
50
52
|
userStore: new user_store_1.default(db, getLogger),
|
|
51
|
-
projectStore: new project_store_1.default(db, eventBus, getLogger),
|
|
53
|
+
projectStore: new project_store_1.default(db, eventBus, getLogger, config.flagResolver),
|
|
52
54
|
tagStore: new tag_store_1.default(db, eventBus, getLogger),
|
|
53
55
|
tagTypeStore: new tag_type_store_1.default(db, eventBus, getLogger),
|
|
54
56
|
addonStore: new addon_store_1.default(db, eventBus, getLogger),
|
|
@@ -68,6 +70,8 @@ const createStores = (config, db) => {
|
|
|
68
70
|
groupStore: new group_store_1.default(db),
|
|
69
71
|
publicSignupTokenStore: new public_signup_token_store_1.PublicSignupTokenStore(db, eventBus, getLogger),
|
|
70
72
|
patStore: new pat_store_1.default(db, getLogger),
|
|
73
|
+
favoriteFeaturesStore: new favorite_features_store_1.FavoriteFeaturesStore(db, eventBus, getLogger),
|
|
74
|
+
favoriteProjectsStore: new favorite_projects_store_1.FavoriteProjectsStore(db, eventBus, getLogger),
|
|
71
75
|
};
|
|
72
76
|
};
|
|
73
77
|
exports.createStores = createStores;
|
package/dist/lib/db/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/db/index.ts"],"names":[],"mappings":";;;;;;AAIA,gEAAuC;AACvC,kFAAwD;AACxD,8EAAoD;AACpD,sEAA6C;AAC7C,oFAA0D;AAC1D,4FAAkE;AAClE,gFAAsD;AACtD,oEAA2C;AAC3C,8DAAqC;AACrC,oEAA2C;AAC3C,4DAAmC;AACnC,sEAA4C;AAC5C,gEAAuC;AACvC,uDAAkD;AAClD,oEAA2C;AAC3C,iDAA6C;AAC7C,2DAAsD;AACtD,gFAAsD;AACtD,sFAA4D;AAC5D,gGAAqE;AACrE,4EAAmD;AACnD,4EAAkD;AAClD,2EAAsE;AACtE,uEAAiE;AACjE,4EAAkD;AAClD,8DAAqC;AACrC,oEAA2C;AAC3C,gEAAuC;AACvC,4DAAmC;AACnC,2EAAqE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/db/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { LogProvider } from '../logger';
|
|
|
4
4
|
import { IEnvironment, IProject, IProjectWithCount } from '../types/model';
|
|
5
5
|
import { IProjectHealthUpdate, IProjectInsert, IProjectQuery, IProjectStore } from '../types/stores/project-store';
|
|
6
6
|
import EventEmitter from 'events';
|
|
7
|
+
import { IFlagResolver } from '../types';
|
|
7
8
|
export interface IEnvironmentProjectLink {
|
|
8
9
|
environmentName: string;
|
|
9
10
|
projectId: string;
|
|
@@ -15,12 +16,13 @@ export interface IProjectMembersCount {
|
|
|
15
16
|
declare class ProjectStore implements IProjectStore {
|
|
16
17
|
private db;
|
|
17
18
|
private logger;
|
|
19
|
+
private flagResolver;
|
|
18
20
|
private timer;
|
|
19
|
-
constructor(db: Knex, eventBus: EventEmitter, getLogger: LogProvider);
|
|
21
|
+
constructor(db: Knex, eventBus: EventEmitter, getLogger: LogProvider, flagResolver: IFlagResolver);
|
|
20
22
|
fieldToRow(data: any): IProjectInsert;
|
|
21
23
|
destroy(): void;
|
|
22
24
|
exists(id: string): Promise<boolean>;
|
|
23
|
-
getProjectsWithCounts(query?: IProjectQuery): Promise<IProjectWithCount[]>;
|
|
25
|
+
getProjectsWithCounts(query?: IProjectQuery, userId?: number): Promise<IProjectWithCount[]>;
|
|
24
26
|
mapProjectWithCountRow(row: any): IProjectWithCount;
|
|
25
27
|
getAll(query?: IProjectQuery): Promise<IProject[]>;
|
|
26
28
|
get(id: string): Promise<IProject>;
|