@enonic/mock-xp
Version:
Mock Enonic XP API JavaScript Library
29 lines (28 loc) • 1.62 kB
TypeScript
import type { CreateGroupParams, CreateRoleParams, CreateUserParams, GetProfileParams, Group, GroupKey, LoginParams, LoginResult, ModifyProfileParams, Role, RoleKey, User, UserKey, UserWithProfile } from '@enonic-types/lib-auth';
import type { Server } from '../implementation/Server';
export declare class LibAuth {
readonly server: Server;
constructor({ server }: {
server: Server;
});
addMembers(principalKey: GroupKey | RoleKey, members: (UserKey | GroupKey)[]): void;
createGroup(params: CreateGroupParams): Group;
getMembers(principalKey: GroupKey | RoleKey): (User | Group)[];
getMemberships(principalKey: UserKey | GroupKey, transitive?: boolean): (Group | Role)[];
createRole(params: CreateRoleParams): Role;
createUser(params: CreateUserParams): User;
getPrincipal(userKey: UserKey): User | null;
getPrincipal(groupKey: GroupKey): Group | null;
getPrincipal(roleKey: RoleKey): Role | null;
getProfile<Profile extends Record<string, unknown> = Record<string, unknown>>(params: GetProfileParams): Profile | null;
getUser(params?: {
includeProfile?: false;
}): User | null;
getUser<Profile extends Record<string, unknown> = Record<string, unknown>>(params: {
includeProfile: true;
}): UserWithProfile<Profile> | null;
login(params: LoginParams): LoginResult;
logout(): void;
modifyProfile<Profile extends Record<string, unknown> = Record<string, unknown>>(params: ModifyProfileParams<Profile>): Profile | null;
removeMembers(principalKey: GroupKey | RoleKey, members: (UserKey | GroupKey)[]): void;
}