UNPKG

unleash-server

Version:

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

63 lines 4.21 kB
import type { IAccessStore, IProjectRoleUsage, IRole, IRoleWithProject, IUserPermission, IUserRole, IUserWithProjectRoles } from '../../lib/types/stores/access-store.js'; import type { IPermission } from '../../lib/types/model.js'; import { type IRoleStore, type IUserAccessOverview } from '../../lib/types/index.js'; import type { PermissionRef } from '../../lib/services/access-service.js'; export type FakeAccessStoreConfig = Partial<{ availablePermissions: IPermission[]; }>; export declare class FakeAccessStore implements IAccessStore { fakeRolesStore: IRoleStore; userToRoleMap: Map<number, number>; rolePermissions: Map<number, IPermission[]>; availablePermissions: IPermission[]; constructor(roleStore?: IRoleStore, config?: FakeAccessStoreConfig); getProjectUserAndGroupCountsForRole(_roleId: number): Promise<IProjectRoleUsage[]>; getAllProjectRolesForUser(_userId: number, _project: string): Promise<IRoleWithProject[]>; addAccessToProject(_roles: number[], _groups: number[], _users: number[], _projectId: string, _createdBy: string): Promise<void>; addGroupToRole(_groupId: number, _roleId: number, _created_by: string, _projectId?: string): Promise<void>; updateUserProjectRole(_userId: number, _roleId: number, _projectId: string): Promise<void>; removeUserFromRole(_userId: number, _roleId: number, _projectId: string): Promise<void>; wipePermissionsFromRole(_role_id: number): Promise<void>; unlinkUserRoles(_userId: number): Promise<void>; getRoleByName(_name: string): Promise<IRole>; getProjectUsersForRole(_roleId: number, _projectId?: string): Promise<IUserRole[]>; getProjectUsers(_projectId?: string): Promise<IUserWithProjectRoles[]>; getProjectRoles(): Promise<IRole[]>; addEnvironmentPermissionsToRole(_role_id: number, _permissions: PermissionRef[]): Promise<void>; getAvailablePermissions(): Promise<IPermission[]>; getPermissionsForUser(_userId: Number): Promise<IUserPermission[]>; getPermissionsForRole(roleId: number): Promise<IPermission[]>; getRoles(): Promise<IRole[]>; getRoleWithId(_id: number): Promise<IRole>; getRolesForProject(_projectId: string): Promise<IRole[]>; removeRolesForProject(_projectId: string): Promise<void>; getRolesForUserId(userId: number): Promise<IRoleWithProject[]>; getUserIdsForRole(_roleId: number, _projectId: string): Promise<number[]>; getGroupIdsForRole(_roleId: number, _projectId?: string): Promise<number[]>; addUserToRole(userId: number, roleId: number): Promise<void>; addPermissionsToRole(role_id: number, permissions: PermissionRef[], environment?: string): Promise<void>; removePermissionFromRole(_roleId: number, _permission: string, _projectId?: string): Promise<void>; getRootRoleForAllUsers(): Promise<IUserRole[]>; delete(_key: number): Promise<void>; deleteAll(): Promise<void>; destroy(): void; exists(_key: number): Promise<boolean>; get(_key: number): Promise<IRole>; getAll(): Promise<IRole[]>; getRootRoles(): Promise<IRole[]>; removeRolesOfTypeForUser(_userId: number, _roleTypes: string[]): Promise<void>; cloneEnvironmentPermissions(_sourceEnvironment: string, _destinationEnvironment: string): Promise<void>; clearUserPersonalAccessTokens(_userId: number): Promise<void>; unlinkUserGroups(_userId: number): Promise<void>; clearPublicSignupUserTokens(_userId: number): Promise<void>; getProjectRolesForGroup(_projectId: string, _groupId: number): Promise<number[]>; getProjectRolesForUser(_projectId: string, _userId: number): Promise<number[]>; setProjectRolesForGroup(_projectId: string, _groupId: number, _roles: number[], _createdBy: string): Promise<void>; setProjectRolesForUser(_projectId: string, _userId: number, _roles: number[]): Promise<void>; removeUserAccess(_projectId: string, _userId: number): Promise<void>; removeGroupAccess(_projectId: string, _groupId: number): Promise<void>; getUserAccessOverview(): Promise<IUserAccessOverview[]>; getRootRoleForUser(userId: number): Promise<IRole | undefined>; } export default FakeAccessStore; //# sourceMappingURL=fake-access-store.d.ts.map