1
0
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:
kwasniew 2023-03-09 11:07:38 +01:00
parent f9a1474502
commit 8527787db8
No known key found for this signature in database
GPG Key ID: 43A7CBC24C119560
9 changed files with 25 additions and 31 deletions

View File

@ -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];
} }

View File

@ -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,

View File

@ -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,

View File

@ -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;

View File

@ -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 {

View File

@ -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;

View 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[]>;
}

View File

@ -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[]>;
}

View File

@ -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);
} }