mirror of
https://github.com/Unleash/unleash.git
synced 2025-09-10 17:53:36 +02:00
refactor: drop legacy prefix
This commit is contained in:
parent
f9a1474502
commit
8527787db8
@ -3,6 +3,7 @@ import metricsHelper from '../util/metrics-helper';
|
|||||||
import { DB_TIME } from '../metric-events';
|
import { DB_TIME } from '../metric-events';
|
||||||
import { Logger, LogProvider } from '../logger';
|
import { Logger, LogProvider } from '../logger';
|
||||||
import {
|
import {
|
||||||
|
FeatureToggle,
|
||||||
IFeatureToggleClient,
|
IFeatureToggleClient,
|
||||||
IFeatureToggleQuery,
|
IFeatureToggleQuery,
|
||||||
IStrategyConfig,
|
IStrategyConfig,
|
||||||
@ -31,7 +32,7 @@ export interface IGetAdminFeatures {
|
|||||||
|
|
||||||
// This is extracted from the feature-toggle-client-store that was mixing
|
// This is extracted from the feature-toggle-client-store that was mixing
|
||||||
// client and admin concerns
|
// client and admin concerns
|
||||||
export default class FeatureToggleLegacyAdminStore {
|
export default class FeatureToggleAdminStore {
|
||||||
private db: Db;
|
private db: Db;
|
||||||
|
|
||||||
private logger: Logger;
|
private logger: Logger;
|
||||||
@ -40,7 +41,7 @@ export default class FeatureToggleLegacyAdminStore {
|
|||||||
|
|
||||||
constructor(db: Db, eventBus: EventEmitter, getLogger: LogProvider) {
|
constructor(db: Db, eventBus: EventEmitter, getLogger: LogProvider) {
|
||||||
this.db = db;
|
this.db = db;
|
||||||
this.logger = getLogger('feature-toggle-legacy-admin-store.ts');
|
this.logger = getLogger('feature-toggle-admin-store.ts');
|
||||||
this.timer = (action) =>
|
this.timer = (action) =>
|
||||||
metricsHelper.wrapTimer(eventBus, DB_TIME, {
|
metricsHelper.wrapTimer(eventBus, DB_TIME, {
|
||||||
store: 'admin-feature-toggle',
|
store: 'admin-feature-toggle',
|
||||||
@ -52,7 +53,7 @@ export default class FeatureToggleLegacyAdminStore {
|
|||||||
featureQuery,
|
featureQuery,
|
||||||
archived,
|
archived,
|
||||||
userId,
|
userId,
|
||||||
}: IGetAllFeatures): Promise<IFeatureToggleClient[]> {
|
}: IGetAllFeatures): Promise<FeatureToggle[]> {
|
||||||
const environment = featureQuery?.environment || DEFAULT_ENV;
|
const environment = featureQuery?.environment || DEFAULT_ENV;
|
||||||
const stopTimer = this.timer('getFeatureAdmin');
|
const stopTimer = this.timer('getFeatureAdmin');
|
||||||
|
|
||||||
@ -159,14 +160,9 @@ export default class FeatureToggleLegacyAdminStore {
|
|||||||
stopTimer();
|
stopTimer();
|
||||||
|
|
||||||
const featureToggles = rows.reduce((acc, r) => {
|
const featureToggles = rows.reduce((acc, r) => {
|
||||||
let feature: PartialDeep<IFeatureToggleClient> = acc[r.name] ?? {
|
let feature: PartialDeep<FeatureToggle> = acc[r.name] ?? {
|
||||||
strategies: [],
|
strategies: [],
|
||||||
};
|
};
|
||||||
if (this.isUnseenStrategyRow(feature, r)) {
|
|
||||||
feature.strategies.push(
|
|
||||||
FeatureToggleLegacyAdminStore.rowToStrategy(r),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
if (this.isNewTag(feature, r)) {
|
if (this.isNewTag(feature, r)) {
|
||||||
this.addTag(feature, r);
|
this.addTag(feature, r);
|
||||||
}
|
}
|
||||||
@ -179,7 +175,6 @@ export default class FeatureToggleLegacyAdminStore {
|
|||||||
this.addSegmentIdsToStrategy(feature, r);
|
this.addSegmentIdsToStrategy(feature, r);
|
||||||
}
|
}
|
||||||
feature.impressionData = r.impression_data;
|
feature.impressionData = r.impression_data;
|
||||||
feature.enabled = !!r.enabled;
|
|
||||||
feature.name = r.name;
|
feature.name = r.name;
|
||||||
feature.description = r.description;
|
feature.description = r.description;
|
||||||
feature.project = r.project;
|
feature.project = r.project;
|
||||||
@ -194,7 +189,7 @@ export default class FeatureToggleLegacyAdminStore {
|
|||||||
return acc;
|
return acc;
|
||||||
}, {});
|
}, {});
|
||||||
|
|
||||||
const features: IFeatureToggleClient[] = Object.values(featureToggles);
|
const features: FeatureToggle[] = Object.values(featureToggles);
|
||||||
|
|
||||||
return features;
|
return features;
|
||||||
}
|
}
|
||||||
@ -230,7 +225,7 @@ export default class FeatureToggleLegacyAdminStore {
|
|||||||
row: Record<string, any>,
|
row: Record<string, any>,
|
||||||
): void {
|
): void {
|
||||||
const tags = feature.tags || [];
|
const tags = feature.tags || [];
|
||||||
const newTag = FeatureToggleLegacyAdminStore.rowToTag(row);
|
const newTag = FeatureToggleAdminStore.rowToTag(row);
|
||||||
feature.tags = [...tags, newTag];
|
feature.tags = [...tags, newTag];
|
||||||
}
|
}
|
||||||
|
|
@ -37,7 +37,7 @@ import { AccountStore } from './account-store';
|
|||||||
import ProjectStatsStore from './project-stats-store';
|
import ProjectStatsStore from './project-stats-store';
|
||||||
import { Db } from './db';
|
import { Db } from './db';
|
||||||
import { ImportTogglesStore } from '../features/export-import-toggles/import-toggles-store';
|
import { ImportTogglesStore } from '../features/export-import-toggles/import-toggles-store';
|
||||||
import FeatureToggleLegacyAdminStore from './feature-toggle-legacy-admin-store';
|
import FeatureToggleAdminStore from './feature-toggle-admin-store';
|
||||||
|
|
||||||
export const createStores = (
|
export const createStores = (
|
||||||
config: IUnleashConfig,
|
config: IUnleashConfig,
|
||||||
@ -87,7 +87,7 @@ export const createStores = (
|
|||||||
eventBus,
|
eventBus,
|
||||||
getLogger,
|
getLogger,
|
||||||
),
|
),
|
||||||
featureToggleLegacyAdminStore: new FeatureToggleLegacyAdminStore(
|
featureToggleLegacyAdminStore: new FeatureToggleAdminStore(
|
||||||
db,
|
db,
|
||||||
eventBus,
|
eventBus,
|
||||||
getLogger,
|
getLogger,
|
||||||
|
@ -34,7 +34,7 @@ import FakeAccessStore from '../../../test/fixtures/fake-access-store';
|
|||||||
import FakeRoleStore from '../../../test/fixtures/fake-role-store';
|
import FakeRoleStore from '../../../test/fixtures/fake-role-store';
|
||||||
import FakeEnvironmentStore from '../../../test/fixtures/fake-environment-store';
|
import FakeEnvironmentStore from '../../../test/fixtures/fake-environment-store';
|
||||||
import EventStore from '../../db/event-store';
|
import EventStore from '../../db/event-store';
|
||||||
import FeatureToggleLegacyAdminStore from '../../db/feature-toggle-legacy-admin-store';
|
import FeatureToggleAdminStore from '../../db/feature-toggle-admin-store';
|
||||||
|
|
||||||
export const createFeatureToggleService = (
|
export const createFeatureToggleService = (
|
||||||
db: Db,
|
db: Db,
|
||||||
@ -53,7 +53,7 @@ export const createFeatureToggleService = (
|
|||||||
eventBus,
|
eventBus,
|
||||||
getLogger,
|
getLogger,
|
||||||
);
|
);
|
||||||
const featureToggleLegacyAdminStore = new FeatureToggleLegacyAdminStore(
|
const featureToggleLegacyAdminStore = new FeatureToggleAdminStore(
|
||||||
db,
|
db,
|
||||||
eventBus,
|
eventBus,
|
||||||
getLogger,
|
getLogger,
|
||||||
|
@ -82,7 +82,7 @@ import {
|
|||||||
} from '../types/permissions';
|
} from '../types/permissions';
|
||||||
import NoAccessError from '../error/no-access-error';
|
import NoAccessError from '../error/no-access-error';
|
||||||
import { IFeatureProjectUserParams } from '../routes/admin-api/project/project-features';
|
import { IFeatureProjectUserParams } from '../routes/admin-api/project/project-features';
|
||||||
import { IFeatureToggleLegacyAdminStore } from '../types/stores/feature-toggle-legacy-admin-store';
|
import { IFeatureToggleAdminStore } from '../types/stores/feature-toggle-admin-store';
|
||||||
|
|
||||||
interface IFeatureContext {
|
interface IFeatureContext {
|
||||||
featureName: string;
|
featureName: string;
|
||||||
@ -114,7 +114,7 @@ class FeatureToggleService {
|
|||||||
|
|
||||||
private featureToggleClientStore: IFeatureToggleClientStore;
|
private featureToggleClientStore: IFeatureToggleClientStore;
|
||||||
|
|
||||||
private featureToggleLegacyAdminStore: IFeatureToggleLegacyAdminStore;
|
private featureToggleLegacyAdminStore: IFeatureToggleAdminStore;
|
||||||
|
|
||||||
private tagStore: IFeatureTagStore;
|
private tagStore: IFeatureTagStore;
|
||||||
|
|
||||||
|
@ -57,6 +57,7 @@ export interface FeatureToggle extends FeatureToggleDTO {
|
|||||||
project: string;
|
project: string;
|
||||||
lastSeenAt?: Date;
|
lastSeenAt?: Date;
|
||||||
createdAt?: Date;
|
createdAt?: Date;
|
||||||
|
favorite?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface IFeatureToggleClient {
|
export interface IFeatureToggleClient {
|
||||||
@ -72,7 +73,6 @@ export interface IFeatureToggleClient {
|
|||||||
lastSeenAt?: Date;
|
lastSeenAt?: Date;
|
||||||
createdAt?: Date;
|
createdAt?: Date;
|
||||||
tags?: ITag[];
|
tags?: ITag[];
|
||||||
favorite?: boolean;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface IFeatureEnvironmentInfo {
|
export interface IFeatureEnvironmentInfo {
|
||||||
|
@ -33,7 +33,7 @@ import { IFavoriteProjectsStore } from './stores/favorite-projects';
|
|||||||
import { IAccountStore } from './stores/account-store';
|
import { IAccountStore } from './stores/account-store';
|
||||||
import { IProjectStatsStore } from './stores/project-stats-store-type';
|
import { IProjectStatsStore } from './stores/project-stats-store-type';
|
||||||
import { IImportTogglesStore } from '../features/export-import-toggles/import-toggles-store-type';
|
import { IImportTogglesStore } from '../features/export-import-toggles/import-toggles-store-type';
|
||||||
import { IFeatureToggleLegacyAdminStore } from './stores/feature-toggle-legacy-admin-store';
|
import { IFeatureToggleAdminStore } from './stores/feature-toggle-admin-store';
|
||||||
|
|
||||||
export interface IUnleashStores {
|
export interface IUnleashStores {
|
||||||
accessStore: IAccessStore;
|
accessStore: IAccessStore;
|
||||||
@ -51,7 +51,7 @@ export interface IUnleashStores {
|
|||||||
featureTagStore: IFeatureTagStore;
|
featureTagStore: IFeatureTagStore;
|
||||||
featureToggleStore: IFeatureToggleStore;
|
featureToggleStore: IFeatureToggleStore;
|
||||||
featureToggleClientStore: IFeatureToggleClientStore;
|
featureToggleClientStore: IFeatureToggleClientStore;
|
||||||
featureToggleLegacyAdminStore: IFeatureToggleLegacyAdminStore;
|
featureToggleLegacyAdminStore: IFeatureToggleAdminStore;
|
||||||
featureTypeStore: IFeatureTypeStore;
|
featureTypeStore: IFeatureTypeStore;
|
||||||
groupStore: IGroupStore;
|
groupStore: IGroupStore;
|
||||||
projectStore: IProjectStore;
|
projectStore: IProjectStore;
|
||||||
|
6
src/lib/types/stores/feature-toggle-admin-store.ts
Normal file
6
src/lib/types/stores/feature-toggle-admin-store.ts
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
import { FeatureToggle } from '../model';
|
||||||
|
import { IGetAdminFeatures } from '../../db/feature-toggle-client-store';
|
||||||
|
|
||||||
|
export interface IFeatureToggleAdminStore {
|
||||||
|
getAdmin(params: IGetAdminFeatures): Promise<FeatureToggle[]>;
|
||||||
|
}
|
@ -1,7 +0,0 @@
|
|||||||
import { IFeatureToggleClient } from '../model';
|
|
||||||
import { IGetAdminFeatures } from '../../db/feature-toggle-client-store';
|
|
||||||
|
|
||||||
export interface IFeatureToggleLegacyAdminStore {
|
|
||||||
// @Deprecated
|
|
||||||
getAdmin(params: IGetAdminFeatures): Promise<IFeatureToggleClient[]>;
|
|
||||||
}
|
|
@ -5,10 +5,10 @@ import {
|
|||||||
} from '../../lib/types/model';
|
} from '../../lib/types/model';
|
||||||
import { IFeatureToggleClientStore } from '../../lib/types/stores/feature-toggle-client-store';
|
import { IFeatureToggleClientStore } from '../../lib/types/stores/feature-toggle-client-store';
|
||||||
import { IGetAdminFeatures } from '../../lib/db/feature-toggle-client-store';
|
import { IGetAdminFeatures } from '../../lib/db/feature-toggle-client-store';
|
||||||
import { IFeatureToggleLegacyAdminStore } from '../../lib/types/stores/feature-toggle-legacy-admin-store';
|
import { IFeatureToggleAdminStore } from '../../lib/types/stores/feature-toggle-admin-store';
|
||||||
|
|
||||||
export default class FakeFeatureToggleClientStore
|
export default class FakeFeatureToggleClientStore
|
||||||
implements IFeatureToggleClientStore, IFeatureToggleLegacyAdminStore
|
implements IFeatureToggleClientStore, IFeatureToggleAdminStore
|
||||||
{
|
{
|
||||||
featureToggles: FeatureToggle[] = [];
|
featureToggles: FeatureToggle[] = [];
|
||||||
|
|
||||||
@ -57,7 +57,7 @@ export default class FakeFeatureToggleClientStore
|
|||||||
async getAdmin({
|
async getAdmin({
|
||||||
featureQuery: query,
|
featureQuery: query,
|
||||||
archived,
|
archived,
|
||||||
}: IGetAdminFeatures): Promise<IFeatureToggleClient[]> {
|
}: IGetAdminFeatures): Promise<FeatureToggle[]> {
|
||||||
return this.getFeatures(query, archived);
|
return this.getFeatures(query, archived);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user