UNPKG

unleash-server

Version:

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

54 lines (53 loc) 2.96 kB
/// <reference types="node" /> import { EventEmitter } from 'events'; import { Knex } from 'knex'; import { IAccessInfo, IAccessStore, IRole, IRoleWithProject, IUserPermission, IUserRole } from '../types/stores/access-store'; import { IPermission } from '../types/model'; interface IPermissionRow { id: number; permission: string; display_name: string; environment?: string; type: string; project?: string; role_id: number; } export declare class AccessStore implements IAccessStore { private logger; private timer; private db; constructor(db: Knex, eventBus: EventEmitter, getLogger: Function); delete(key: number): Promise<void>; deleteAll(): Promise<void>; destroy(): void; exists(key: number): Promise<boolean>; get(key: number): Promise<IRole>; getAll(): Promise<IRole[]>; getAvailablePermissions(): Promise<IPermission[]>; mapPermission(permission: IPermissionRow): IPermission; getPermissionsForUser(userId: number): Promise<IUserPermission[]>; mapUserPermission(row: IPermissionRow): IUserPermission; getPermissionsForRole(roleId: number): Promise<IPermission[]>; addEnvironmentPermissionsToRole(role_id: number, permissions: IPermission[]): Promise<void>; unlinkUserRoles(userId: number): Promise<void>; unlinkUserGroups(userId: number): Promise<void>; clearUserPersonalAccessTokens(userId: number): Promise<void>; clearPublicSignupUserTokens(userId: number): Promise<void>; getProjectUsersForRole(roleId: number, projectId?: string): Promise<IUserRole[]>; getRolesForUserId(userId: number): Promise<IRoleWithProject[]>; getUserIdsForRole(roleId: number): Promise<number[]>; addUserToRole(userId: number, roleId: number, projectId?: string): Promise<void>; removeUserFromRole(userId: number, roleId: number, projectId?: string): Promise<void>; addGroupToRole(groupId: number, roleId: number, createdBy: string, projectId?: string): Promise<void>; removeGroupFromRole(groupId: number, roleId: number, projectId?: string): Promise<void>; updateUserProjectRole(userId: number, roleId: number, projectId: string): Promise<void>; updateGroupProjectRole(groupId: number, roleId: number, projectId: string): Promise<void>; addAccessToProject(users: IAccessInfo[], groups: IAccessInfo[], projectId: string, roleId: number, createdBy: string): Promise<void>; removeRolesOfTypeForUser(userId: number, roleType: string): Promise<void>; addPermissionsToRole(role_id: number, permissions: string[], environment?: string): Promise<void>; removePermissionFromRole(role_id: number, permission: string, environment?: string): Promise<void>; wipePermissionsFromRole(role_id: number): Promise<void>; cloneEnvironmentPermissions(sourceEnvironment: string, destinationEnvironment: string): Promise<void>; isChangeRequestsEnabled(project: string, environment: string): Promise<boolean>; } export {};