mirror of
https://github.com/Unleash/unleash.git
synced 2025-07-02 01:17:58 +02:00
fix: move DEFAULT_PROJECT to types
This commit is contained in:
parent
b582bb11d0
commit
6d6686a2a8
@ -8,13 +8,13 @@ import {
|
|||||||
IRole,
|
IRole,
|
||||||
IUserPermission,
|
IUserPermission,
|
||||||
} from '../types/stores/access-store';
|
} from '../types/stores/access-store';
|
||||||
import { IPermission } from '../../lib/types/model';
|
import { IPermission } from '../types/model';
|
||||||
import NotFoundError from '../error/notfound-error';
|
import NotFoundError from '../error/notfound-error';
|
||||||
import {
|
import {
|
||||||
ENVIRONMENT_PERMISSION_TYPE,
|
ENVIRONMENT_PERMISSION_TYPE,
|
||||||
ROOT_PERMISSION_TYPE,
|
ROOT_PERMISSION_TYPE,
|
||||||
} from '../util/constants';
|
} from '../util/constants';
|
||||||
import { DEFAULT_PROJECT } from '../../lib/services/project-service';
|
import { DEFAULT_PROJECT } from '../types/project';
|
||||||
|
|
||||||
const T = {
|
const T = {
|
||||||
ROLE_USER: 'role_user',
|
ROLE_USER: 'role_user',
|
||||||
@ -34,7 +34,8 @@ interface IPermissionRow {
|
|||||||
role_id: number;
|
role_id: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
const EDITOR_ID = 2;
|
const EDITOR_ROLE_ID = 2;
|
||||||
|
|
||||||
export class AccessStore implements IAccessStore {
|
export class AccessStore implements IAccessStore {
|
||||||
private logger: Logger;
|
private logger: Logger;
|
||||||
|
|
||||||
@ -126,26 +127,33 @@ export class AccessStore implements IAccessStore {
|
|||||||
}
|
}
|
||||||
|
|
||||||
mapUserPermission(row: IPermissionRow): IUserPermission {
|
mapUserPermission(row: IPermissionRow): IUserPermission {
|
||||||
let project;
|
let project: string;
|
||||||
// Since the editor should have access to the default project,
|
// Since the editor should have access to the default project,
|
||||||
// we map the project to the project and environment specific
|
// we map the project to the project and environment specific
|
||||||
// permissions that are connected to the editor role.
|
// permissions that are connected to the editor role.
|
||||||
if (row.role_id === EDITOR_ID && row.type !== ROOT_PERMISSION_TYPE) {
|
console.log('before', row);
|
||||||
|
if (row.role_id === EDITOR_ROLE_ID && row.type !== ROOT_PERMISSION_TYPE) {
|
||||||
project = DEFAULT_PROJECT;
|
project = DEFAULT_PROJECT;
|
||||||
} else if (row.type !== ROOT_PERMISSION_TYPE) {
|
} else if (row.type !== ROOT_PERMISSION_TYPE) {
|
||||||
project = row.project ? row.project : undefined;
|
project = row.project ? row.project : undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
console.log('row.role_id === EDITOR_ID', row.role_id === EDITOR_ROLE_ID);
|
||||||
|
console.log('row.type !== ROOT_PERMISSION_TYPE', row.type !== ROOT_PERMISSION_TYPE);
|
||||||
|
console.log('DEFAULT_PROJECT', DEFAULT_PROJECT);
|
||||||
|
|
||||||
const environment =
|
const environment =
|
||||||
row.type === ENVIRONMENT_PERMISSION_TYPE
|
row.type === ENVIRONMENT_PERMISSION_TYPE
|
||||||
? row.environment
|
? row.environment
|
||||||
: undefined;
|
: undefined;
|
||||||
|
|
||||||
return {
|
const result = {
|
||||||
project,
|
project,
|
||||||
environment,
|
environment,
|
||||||
permission: row.permission,
|
permission: row.permission,
|
||||||
};
|
};
|
||||||
|
console.log('after:', result);
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
async getPermissionsForRole(roleId: number): Promise<IPermission[]> {
|
async getPermissionsForRole(roleId: number): Promise<IPermission[]> {
|
||||||
|
@ -31,11 +31,10 @@ import FeatureToggleService from './feature-toggle-service';
|
|||||||
import { CREATE_FEATURE, UPDATE_FEATURE } from '../types/permissions';
|
import { CREATE_FEATURE, UPDATE_FEATURE } from '../types/permissions';
|
||||||
import NoAccessError from '../error/no-access-error';
|
import NoAccessError from '../error/no-access-error';
|
||||||
import IncompatibleProjectError from '../error/incompatible-project-error';
|
import IncompatibleProjectError from '../error/incompatible-project-error';
|
||||||
|
import { DEFAULT_PROJECT } from '../types/project';
|
||||||
|
|
||||||
const getCreatedBy = (user: User) => user.email || user.username;
|
const getCreatedBy = (user: User) => user.email || user.username;
|
||||||
|
|
||||||
export const DEFAULT_PROJECT = 'default';
|
|
||||||
|
|
||||||
export interface UsersWithRoles {
|
export interface UsersWithRoles {
|
||||||
users: IUserWithRole[];
|
users: IUserWithRole[];
|
||||||
roles: IRoleDescriptor[];
|
roles: IRoleDescriptor[];
|
||||||
|
1
src/lib/types/project.ts
Normal file
1
src/lib/types/project.ts
Normal file
@ -0,0 +1 @@
|
|||||||
|
export const DEFAULT_PROJECT = 'default';
|
Loading…
Reference in New Issue
Block a user