unleash-server
Version:
Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.
63 lines • 4.21 kB
TypeScript
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