UNPKG

unleash-server

Version:

Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.

42 lines 1.74 kB
import type EventEmitter from 'events'; import type { LogProvider } from '../logger.js'; import type { ICustomRole } from '../types/model.js'; import type { ICustomRoleInsert, ICustomRoleUpdate, IRoleStore } from '../types/stores/role-store.js'; import type { IRole, IUserRole } from '../types/stores/access-store.js'; import type { Db } from './db.js'; import type { RoleSchema } from '../openapi/index.js'; interface IRoleRow { id: number; name: string; description: string; type: string; } export default class RoleStore implements IRoleStore { private logger; private eventBus; private db; constructor(db: Db, eventBus: EventEmitter, getLogger: LogProvider); getAll(): Promise<ICustomRole[]>; count(): Promise<number>; filteredCount(filter: Partial<RoleSchema>): Promise<number>; filteredCountInUse(filter: Partial<RoleSchema>): 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 {}; //# sourceMappingURL=role-store.d.ts.map