1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-03-18 00:19:49 +01:00

chore: stop using feature service v2 (#9500)

Just replacing references as both are interchangeable


143c8a3074/src/lib/types/services.ts (L81-L82)

Depends on
https://github.com/bricks-software/unleash-enterprise/pull/138
This commit is contained in:
Gastón Fournier 2025-03-12 11:44:47 +01:00 committed by GitHub
parent 6b888abe10
commit 4ffd3e7116
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
21 changed files with 73 additions and 75 deletions

View File

@ -64,13 +64,13 @@ const createFlag = async (
username: string = 'test',
userId: number = -9999,
) => {
await app.services.featureToggleServiceV2.createFeatureToggle(
await app.services.featureToggleService.createFeatureToggle(
projectId,
flag,
TEST_AUDIT_USER,
);
if (strategy) {
await app.services.featureToggleServiceV2.createStrategy(
await app.services.featureToggleService.createStrategy(
strategy,
{
projectId,

View File

@ -37,18 +37,18 @@ export default class ArchiveController extends Controller {
config: IUnleashConfig,
{
transactionalFeatureToggleService,
featureToggleServiceV2,
featureToggleService,
openApiService,
}: Pick<
IUnleashServices,
| 'transactionalFeatureToggleService'
| 'featureToggleServiceV2'
| 'featureToggleService'
| 'openApiService'
>,
startTransaction: TransactionCreator<UnleashTransaction>,
) {
super(config);
this.featureService = featureToggleServiceV2;
this.featureService = featureToggleService;
this.openApiService = openApiService;
this.transactionalFeatureToggleService =
transactionalFeatureToggleService;

View File

@ -248,12 +248,13 @@ export default class FakeFeatureToggleStore implements IFeatureToggleStore {
return Promise.resolve(variants);
}
getVariantsForEnv(
async getVariantsForEnv(
featureName: string,
// eslint-disable-next-line @typescript-eslint/no-unused-vars
environment_name: string,
): Promise<IVariant[]> {
return this.getVariants(featureName);
const feature = await this.get(featureName);
// there's no way to filter by environment in the fake store
return feature.variants as IVariant[];
}
async saveVariants(

View File

@ -104,7 +104,7 @@ const PATH_STRATEGY = `${PATH_STRATEGIES}/:strategyId`;
type ProjectFeaturesServices = Pick<
IUnleashServices,
| 'featureToggleServiceV2'
| 'featureToggleService'
| 'projectHealthService'
| 'openApiService'
| 'transactionalFeatureToggleService'
@ -131,7 +131,7 @@ export default class ProjectFeaturesController extends Controller {
constructor(
config: IUnleashConfig,
{
featureToggleServiceV2,
featureToggleService,
openApiService,
transactionalFeatureToggleService,
featureTagService,
@ -139,7 +139,7 @@ export default class ProjectFeaturesController extends Controller {
startTransaction: TransactionCreator<UnleashTransaction>,
) {
super(config);
this.featureService = featureToggleServiceV2;
this.featureService = featureToggleService;
this.transactionalFeatureToggleService =
transactionalFeatureToggleService;
this.startTransaction = startTransaction;

View File

@ -37,17 +37,17 @@ class FeatureController extends Controller {
config: IUnleashConfig,
{
featureTagService,
featureToggleServiceV2,
featureToggleService,
openApiService,
}: Pick<
IUnleashServices,
'featureTagService' | 'featureToggleServiceV2' | 'openApiService'
'featureTagService' | 'featureToggleService' | 'openApiService'
>,
) {
super(config);
this.tagService = featureTagService;
this.openApiService = openApiService;
this.service = featureToggleServiceV2;
this.service = featureToggleService;
this.route({
method: 'post',

View File

@ -115,7 +115,7 @@ test('Should not be possible auto-enable feature flag without CREATE_FEATURE_STR
const url = '/api/admin/projects/default/features';
const name = 'auth.flag.enable';
await app.services.featureToggleServiceV2.createFeatureToggle(
await app.services.featureToggleService.createFeatureToggle(
'default',
{ name },
TEST_AUDIT_USER,

View File

@ -34,7 +34,7 @@ export const createFrontendApiService = (
eventService,
);
// TODO: remove this dependency after we migrate frontend API
const featureToggleServiceV2 = createFeatureToggleService(db, config);
const featureToggleService = createFeatureToggleService(db, config);
const clientFeatureToggleReadModel = new ClientFeatureToggleReadModel(
db,
config.eventBus,
@ -49,7 +49,7 @@ export const createFrontendApiService = (
config,
{ segmentReadModel },
{
featureToggleServiceV2,
featureToggleService,
clientMetricsServiceV2,
settingService,
configurationRevisionService,
@ -72,7 +72,7 @@ export const createFakeFrontendApiService = (
eventService,
);
// TODO: remove this dependency after we migrate frontend API
const featureToggleServiceV2 =
const featureToggleService =
createFakeFeatureToggleService(config).featureToggleService;
const clientFeatureToggleReadModel = new FakeClientFeatureToggleReadModel();
const globalFrontendApiCache = new GlobalFrontendApiCache(
@ -85,7 +85,7 @@ export const createFakeFrontendApiService = (
config,
{ segmentReadModel },
{
featureToggleServiceV2,
featureToggleService,
clientMetricsServiceV2,
settingService,
configurationRevisionService,

View File

@ -38,7 +38,7 @@ export type Stores = Pick<IUnleashStores, 'segmentReadModel'>;
export type Services = Pick<
IUnleashServices,
| 'featureToggleServiceV2'
| 'featureToggleService'
| 'clientMetricsServiceV2'
| 'settingService'
| 'configurationRevisionService'

View File

@ -32,7 +32,7 @@ type Stores = Pick<IUnleashStores, 'segmentReadModel'>;
type Services = Pick<
IUnleashServices,
'featureToggleServiceV2' | 'configurationRevisionService'
'featureToggleService' | 'configurationRevisionService'
>;
// TODO: remove after finished migration to global frontend api cache
@ -170,7 +170,7 @@ export class ProxyRepository
private async featuresForToken(): Promise<FeatureInterface[]> {
const start = Date.now();
const mappedFeatures = await mapFeaturesForClient(
await this.services.featureToggleServiceV2.getClientFeatures({
await this.services.featureToggleService.getClientFeatures({
project: this.token.projects,
environment: this.environmentNameForToken(),
}),

View File

@ -17,12 +17,12 @@ export const createPlaygroundService = (
): PlaygroundService => {
const segmentReadModel = new SegmentReadModel(db);
const privateProjectChecker = createPrivateProjectChecker(db, config);
const featureToggleServiceV2 = createFeatureToggleService(db, config);
const featureToggleService = createFeatureToggleService(db, config);
const playgroundService = new PlaygroundService(
config,
{
featureToggleServiceV2,
featureToggleService,
privateProjectChecker,
},
segmentReadModel,
@ -34,13 +34,13 @@ export const createPlaygroundService = (
export const createFakePlaygroundService = (config: IUnleashConfig) => {
const segmentReadModel = new FakeSegmentReadModel();
const privateProjectChecker = createFakePrivateProjectChecker();
const featureToggleServiceV2 =
const featureToggleService =
createFakeFeatureToggleService(config).featureToggleService;
const playgroundService = new PlaygroundService(
config,
{
featureToggleServiceV2,
featureToggleService,
privateProjectChecker,
},
segmentReadModel,

View File

@ -82,17 +82,17 @@ export class PlaygroundService {
constructor(
config: IUnleashConfig,
{
featureToggleServiceV2,
featureToggleService,
privateProjectChecker,
}: Pick<
IUnleashServices,
'featureToggleServiceV2' | 'privateProjectChecker'
'featureToggleService' | 'privateProjectChecker'
>,
segmentReadModel: ISegmentReadModel,
) {
this.logger = config.getLogger('services/playground-service.ts');
this.flagResolver = config.flagResolver;
this.featureToggleService = featureToggleServiceV2;
this.featureToggleService = featureToggleService;
this.privateProjectChecker = privateProjectChecker;
this.segmentReadModel = segmentReadModel;
}

View File

@ -19,12 +19,12 @@ export default class ConstraintController extends Controller {
constructor(
config: IUnleashConfig,
{
featureToggleServiceV2,
featureToggleService,
openApiService,
}: Pick<IUnleashServices, 'featureToggleServiceV2' | 'openApiService'>,
}: Pick<IUnleashServices, 'featureToggleService' | 'openApiService'>,
) {
super(config);
this.featureService = featureToggleServiceV2;
this.featureService = featureToggleService;
this.openApiService = openApiService;
this.logger = config.getLogger('/admin-api/validation.ts');

View File

@ -50,19 +50,19 @@ export default class ProjectArchiveController extends Controller {
config: IUnleashConfig,
{
transactionalFeatureToggleService,
featureToggleServiceV2,
featureToggleService,
openApiService,
}: Pick<
IUnleashServices,
| 'transactionalFeatureToggleService'
| 'featureToggleServiceV2'
| 'featureToggleService'
| 'openApiService'
>,
startTransaction: TransactionCreator<UnleashTransaction>,
) {
super(config);
this.logger = config.getLogger('/admin-api/archive.js');
this.featureService = featureToggleServiceV2;
this.featureService = featureToggleService;
this.openApiService = openApiService;
this.flagResolver = config.flagResolver;
this.transactionalFeatureToggleService =

View File

@ -282,7 +282,7 @@ export const createServices = (
? new FeatureCollaboratorsReadModel(db)
: new FakeFeatureCollaboratorsReadModel();
const featureToggleServiceV2 = new FeatureToggleService(
const featureToggleService = new FeatureToggleService(
stores,
config,
segmentService,
@ -426,8 +426,7 @@ export const createServices = (
accountService,
addonService,
eventAnnouncerService,
featureToggleService: featureToggleServiceV2,
featureToggleServiceV2,
featureToggleService,
featureTypeService,
healthService,
projectService,

View File

@ -78,8 +78,6 @@ export interface IUnleashServices {
edgeService: EdgeService;
featureTagService: FeatureTagService;
featureToggleService: FeatureToggleService;
/** @deprecated use featureToggleService instead, both are interchangeable */
featureToggleServiceV2: FeatureToggleService;
featureTypeService: FeatureTypeService;
groupService: GroupService;
healthService: HealthService;

View File

@ -25,7 +25,7 @@ beforeAll(async () => {
},
db.rawDatabase,
);
await app.services.featureToggleServiceV2.createFeatureToggle(
await app.services.featureToggleService.createFeatureToggle(
'default',
{
name: 'featureX',
@ -34,7 +34,7 @@ beforeAll(async () => {
},
TEST_AUDIT_USER,
);
await app.services.featureToggleServiceV2.createFeatureToggle(
await app.services.featureToggleService.createFeatureToggle(
'default',
{
name: 'featureY',
@ -43,7 +43,7 @@ beforeAll(async () => {
TEST_AUDIT_USER,
);
await app.services.featureToggleServiceV2.createFeatureToggle(
await app.services.featureToggleService.createFeatureToggle(
'default',
{
name: 'featureZ',
@ -51,7 +51,7 @@ beforeAll(async () => {
},
TEST_AUDIT_USER,
);
await app.services.featureToggleServiceV2.createFeatureToggle(
await app.services.featureToggleService.createFeatureToggle(
'default',
{
name: 'featureArchivedX',
@ -66,13 +66,13 @@ beforeAll(async () => {
TEST_AUDIT_USER,
);
await app.services.featureToggleServiceV2.archiveToggle(
await app.services.featureToggleService.archiveToggle(
'featureArchivedX',
testUser,
TEST_AUDIT_USER,
);
await app.services.featureToggleServiceV2.createFeatureToggle(
await app.services.featureToggleService.createFeatureToggle(
'default',
{
name: 'featureArchivedY',
@ -81,12 +81,12 @@ beforeAll(async () => {
TEST_AUDIT_USER,
);
await app.services.featureToggleServiceV2.archiveToggle(
await app.services.featureToggleService.archiveToggle(
'featureArchivedY',
testUser,
TEST_AUDIT_USER,
);
await app.services.featureToggleServiceV2.createFeatureToggle(
await app.services.featureToggleService.createFeatureToggle(
'default',
{
name: 'featureArchivedZ',
@ -94,12 +94,12 @@ beforeAll(async () => {
},
TEST_AUDIT_USER,
);
await app.services.featureToggleServiceV2.archiveToggle(
await app.services.featureToggleService.archiveToggle(
'featureArchivedZ',
testUser,
TEST_AUDIT_USER,
);
await app.services.featureToggleServiceV2.createFeatureToggle(
await app.services.featureToggleService.createFeatureToggle(
'default',
{
name: 'feature.with.variants',
@ -107,7 +107,7 @@ beforeAll(async () => {
},
TEST_AUDIT_USER,
);
await app.services.featureToggleServiceV2.saveVariants(
await app.services.featureToggleService.saveVariants(
'feature.with.variants',
'default',
[

View File

@ -20,7 +20,7 @@ beforeAll(async () => {
});
app = await setupAppWithCustomConfig(db.stores, {}, db.rawDatabase);
await app.services.featureToggleServiceV2.createFeatureToggle(
await app.services.featureToggleService.createFeatureToggle(
projectId,
{
name: featureName,
@ -29,7 +29,7 @@ beforeAll(async () => {
TEST_AUDIT_USER,
);
await app.services.featureToggleServiceV2.createStrategy(
await app.services.featureToggleService.createStrategy(
{ name: 'default', constraints: [], parameters: {} },
{ projectId, featureName, environment: DEFAULT_ENV },
TEST_AUDIT_USER,
@ -43,7 +43,7 @@ afterAll(async () => {
});
test('returns feature flag for default env', async () => {
await app.services.featureToggleServiceV2.updateEnabled(
await app.services.featureToggleService.updateEnabled(
'default',
'feature.default.1',
'default',

View File

@ -25,7 +25,7 @@ beforeAll(async () => {
app = await setupAppWithAuth(db.stores, {}, db.rawDatabase);
apiTokenService = app.services.apiTokenService;
const { featureToggleServiceV2, environmentService } = app.services;
const { featureToggleService, environmentService } = app.services;
const { environmentStore, projectStore } = db.stores;
await environmentStore.create({
@ -51,7 +51,7 @@ beforeAll(async () => {
TEST_AUDIT_USER,
);
await featureToggleServiceV2.createFeatureToggle(
await featureToggleService.createFeatureToggle(
project,
{
name: feature1,
@ -60,7 +60,7 @@ beforeAll(async () => {
TEST_AUDIT_USER,
);
await featureToggleServiceV2.createStrategy(
await featureToggleService.createStrategy(
{
name: 'default',
constraints: [],
@ -69,7 +69,7 @@ beforeAll(async () => {
{ projectId: project, featureName: feature1, environment: DEFAULT_ENV },
TEST_AUDIT_USER,
);
await featureToggleServiceV2.createStrategy(
await featureToggleService.createStrategy(
{
name: 'flexibleRollout',
constraints: [],
@ -80,14 +80,14 @@ beforeAll(async () => {
);
// create feature 2
await featureToggleServiceV2.createFeatureToggle(
await featureToggleService.createFeatureToggle(
project,
{
name: feature2,
},
TEST_AUDIT_USER,
);
await featureToggleServiceV2.createStrategy(
await featureToggleService.createStrategy(
{
name: 'default',
constraints: [],
@ -98,14 +98,14 @@ beforeAll(async () => {
);
// create feature 3
await featureToggleServiceV2.createFeatureToggle(
await featureToggleService.createFeatureToggle(
project2,
{
name: feature3,
},
TEST_AUDIT_USER,
);
await featureToggleServiceV2.createStrategy(
await featureToggleService.createStrategy(
{
name: 'default',
constraints: [],

View File

@ -26,7 +26,7 @@ beforeAll(async () => {
app = await setupAppWithAuth(db.stores, {}, db.rawDatabase);
apiTokenService = app.services.apiTokenService;
const { featureToggleServiceV2, environmentService } = app.services;
const { featureToggleService, environmentService } = app.services;
const { environmentStore, projectStore } = db.stores;
await environmentStore.create({
@ -59,7 +59,7 @@ beforeAll(async () => {
TEST_AUDIT_USER,
);
await featureToggleServiceV2.createFeatureToggle(
await featureToggleService.createFeatureToggle(
project,
{
name: feature1,
@ -68,7 +68,7 @@ beforeAll(async () => {
TEST_AUDIT_USER,
);
await featureToggleServiceV2.createStrategy(
await featureToggleService.createStrategy(
{
name: 'default',
constraints: [],
@ -77,7 +77,7 @@ beforeAll(async () => {
{ projectId: project, featureName: feature1, environment: DEFAULT_ENV },
TEST_AUDIT_USER,
);
await featureToggleServiceV2.createStrategy(
await featureToggleService.createStrategy(
{
name: 'default',
constraints: [],
@ -88,14 +88,14 @@ beforeAll(async () => {
);
// create feature 2
await featureToggleServiceV2.createFeatureToggle(
await featureToggleService.createFeatureToggle(
project,
{
name: feature2,
},
TEST_AUDIT_USER,
);
await featureToggleServiceV2.createStrategy(
await featureToggleService.createStrategy(
{
name: 'default',
constraints: [],
@ -106,14 +106,14 @@ beforeAll(async () => {
);
// create feature 3
await featureToggleServiceV2.createFeatureToggle(
await featureToggleService.createFeatureToggle(
project2,
{
name: feature3,
},
TEST_AUDIT_USER,
);
await featureToggleServiceV2.createStrategy(
await featureToggleService.createStrategy(
{
name: 'default',
constraints: [],

View File

@ -106,12 +106,12 @@ test('should pick up environment from token', async () => {
test('should set lastSeen for toggles with metrics both for toggle and toggle env', async () => {
const start = Date.now();
await app.services.featureToggleServiceV2.createFeatureToggle(
await app.services.featureToggleService.createFeatureToggle(
'default',
{ name: 't1' },
TEST_AUDIT_USER,
);
await app.services.featureToggleServiceV2.createFeatureToggle(
await app.services.featureToggleService.createFeatureToggle(
'default',
{ name: 't2' },
TEST_AUDIT_USER,
@ -149,13 +149,13 @@ test('should set lastSeen for toggles with metrics both for toggle and toggle en
await app.services.clientMetricsServiceV2.bulkAdd();
await app.services.lastSeenService.store();
const t1 = await app.services.featureToggleServiceV2.getFeature({
const t1 = await app.services.featureToggleService.getFeature({
featureName: 't1',
archived: false,
environmentVariants: true,
projectId: 'default',
});
const t2 = await app.services.featureToggleServiceV2.getFeature({
const t2 = await app.services.featureToggleService.getFeature({
featureName: 't2',
archived: false,
environmentVariants: true,

View File

@ -47,7 +47,7 @@ beforeAll(async () => {
service = new PlaygroundService(
config,
{
featureToggleServiceV2: featureToggleService,
featureToggleService: featureToggleService,
privateProjectChecker,
},
segmentReadModel,