unleash-server
Version:
Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.
40 lines (39 loc) • 1.5 kB
TypeScript
/// <reference types="node" />
import EventEmitter from 'events';
import { Knex } from 'knex';
import { LogProvider } from '../logger';
import { ICustomRole } from 'lib/types/model';
import { ICustomRoleInsert, ICustomRoleUpdate, IRoleStore } from 'lib/types/stores/role-store';
import { IRole, IUserRole } from 'lib/types/stores/access-store';
interface IRoleRow {
id: number;
name: string;
description: string;
type: string;
}
export default class RoleStore implements IRoleStore {
private logger;
private eventBus;
private db;
constructor(db: Knex, eventBus: EventEmitter, getLogger: LogProvider);
getAll(): Promise<ICustomRole[]>;
count(): Promise<number>;
create(role: ICustomRoleInsert): Promise<ICustomRole>;
delete(id: number): Promise<void>;
get(id: number): Promise<ICustomRole>;
update(role: ICustomRoleUpdate): Promise<ICustomRole>;
exists(id: number): Promise<boolean>;
nameInUse(name: string, existingId?: number): Promise<boolean>;
deleteAll(): Promise<void>;
mapRow(row: IRoleRow): ICustomRole;
getRoles(): Promise<IRole[]>;
getRoleWithId(id: number): Promise<IRole>;
getProjectRoles(): Promise<IRole[]>;
getRolesForProject(projectId: string): Promise<IRole[]>;
getRootRoles(): Promise<IRole[]>;
removeRolesForProject(projectId: string): Promise<void>;
getRootRoleForAllUsers(): Promise<IUserRole[]>;
getRoleByName(name: string): Promise<IRole>;
destroy(): void;
}
export {};