mirror of
https://github.com/Unleash/unleash.git
synced 2025-04-19 01:17:18 +02:00
fix: use correct project field for proxy features (#1946)
This commit is contained in:
parent
b8b802c8ed
commit
f39f3d59ae
@ -98,7 +98,7 @@ export class ProxyRepository
|
|||||||
private async featuresForToken(): Promise<FeatureInterface[]> {
|
private async featuresForToken(): Promise<FeatureInterface[]> {
|
||||||
return mapFeaturesForClient(
|
return mapFeaturesForClient(
|
||||||
await this.services.featureToggleServiceV2.getClientFeatures({
|
await this.services.featureToggleServiceV2.getClientFeatures({
|
||||||
project: await this.projectNamesForToken(),
|
project: await this.projectIdsForToken(),
|
||||||
environment: this.token.environment,
|
environment: this.token.environment,
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
@ -110,10 +110,10 @@ export class ProxyRepository
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
private async projectNamesForToken(): Promise<string[]> {
|
private async projectIdsForToken(): Promise<string[]> {
|
||||||
if (this.token.projects.includes(ALL_PROJECTS)) {
|
if (this.token.projects.includes(ALL_PROJECTS)) {
|
||||||
const allProjects = await this.stores.projectStore.getAll();
|
const allProjects = await this.stores.projectStore.getAll();
|
||||||
return allProjects.map((project) => project.name);
|
return allProjects.map((project) => project.id);
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.token.projects;
|
return this.token.projects;
|
||||||
|
@ -38,7 +38,7 @@ export const createApiToken = (
|
|||||||
): Promise<IApiToken> => {
|
): Promise<IApiToken> => {
|
||||||
return app.services.apiTokenService.createApiTokenWithProjects({
|
return app.services.apiTokenService.createApiTokenWithProjects({
|
||||||
type,
|
type,
|
||||||
projects: ['default'],
|
projects: ['*'],
|
||||||
environment: 'default',
|
environment: 'default',
|
||||||
username: `${type}-token-${randomId()}`,
|
username: `${type}-token-${randomId()}`,
|
||||||
...overrides,
|
...overrides,
|
||||||
@ -82,12 +82,12 @@ const createFeatureToggle = async ({
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
const createProject = async (id: string): Promise<void> => {
|
const createProject = async (id: string, name: string): Promise<void> => {
|
||||||
const user = await db.stores.userStore.insert({
|
const user = await db.stores.userStore.insert({
|
||||||
name: randomId(),
|
name: randomId(),
|
||||||
email: `${randomId()}@example.com`,
|
email: `${randomId()}@example.com`,
|
||||||
});
|
});
|
||||||
await app.services.projectService.createProject({ id, name: id }, user);
|
await app.services.projectService.createProject({ id, name }, user);
|
||||||
};
|
};
|
||||||
|
|
||||||
test('should require a frontend token or an admin token', async () => {
|
test('should require a frontend token or an admin token', async () => {
|
||||||
@ -527,9 +527,11 @@ test('should filter features by constraints', async () => {
|
|||||||
test('should filter features by project', async () => {
|
test('should filter features by project', async () => {
|
||||||
const projectA = 'projectA';
|
const projectA = 'projectA';
|
||||||
const projectB = 'projectB';
|
const projectB = 'projectB';
|
||||||
await createProject(projectA);
|
await createProject(projectA, randomId());
|
||||||
await createProject(projectB);
|
await createProject(projectB, randomId());
|
||||||
const frontendTokenDefault = await createApiToken(ApiTokenType.FRONTEND);
|
const frontendTokenDefault = await createApiToken(ApiTokenType.FRONTEND, {
|
||||||
|
projects: ['default'],
|
||||||
|
});
|
||||||
const frontendTokenProjectA = await createApiToken(ApiTokenType.FRONTEND, {
|
const frontendTokenProjectA = await createApiToken(ApiTokenType.FRONTEND, {
|
||||||
projects: [projectA],
|
projects: [projectA],
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user