@convergence/convergence
Version:
Convergence JavaScript Client
23 lines (22 loc) • 1.44 kB
TypeScript
import { StringMapLike } from "../util/StringMap";
import { DomainUserIdMap } from "../identity";
import { IAllPermissions } from "./IAllPermissions";
import { DomainUserMapping } from "../identity/DomainUserMapping";
export declare abstract class AbstractPermissionManager<T extends string> {
resolveSessionPermissions(): Promise<Set<T>>;
getPermissions(): Promise<IAllPermissions<T>>;
addWorldPermissions(permissions: Set<T> | T[]): Promise<void>;
removeWorldPermissions(permissions: Set<T> | T[]): Promise<void>;
setWorldPermissions(permissions: Set<T> | T[]): Promise<void>;
getWorldPermissions(): Promise<Set<T>>;
addUserPermissions(permissions: DomainUserMapping<Set<T> | T[]>): Promise<void>;
removeUserPermissions(permissions: DomainUserMapping<Set<T> | T[]>): Promise<void>;
setUserPermissions(permissions: DomainUserMapping<Set<T> | T[]>, replaceAll?: boolean): Promise<void>;
getAllUserPermissions(): Promise<DomainUserIdMap<Set<T>>>;
getUserPermissions(username: string): Promise<Set<T>>;
addGroupPermissions(permissions: StringMapLike<Set<T> | T[]>): Promise<void>;
removeGroupPermissions(permissions: StringMapLike<Set<T> | T[]>): Promise<void>;
setGroupPermissions(permissions: StringMapLike<Set<T> | T[]>, replaceAll?: boolean): Promise<void>;
getAllGroupPermissions(): Promise<Map<string, Set<T>>>;
getGroupPermissions(groupId: string): Promise<Set<T>>;
}