UNPKG

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
/// <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 {};