lavva.exalushome
Version:
Library implementing communication and abstraction layers for ExalusHome system
24 lines (23 loc) • 1.16 kB
TypeScript
import { IUsersService } from './IUsersService';
import { AccessLevel, IUser } from './IUser';
import { Status } from '../../DataFrame';
import { ResponseResult } from '../FieldChangeResult';
import { IPicture } from '../Pictures/IPicture';
export declare class UsersService implements IUsersService {
private _connection;
private _pictureService;
private _sessionService;
static readonly ServiceName: string;
constructor();
CanEditUser(user: IUser): boolean;
CanEditUsersOfAccessLevel(level: AccessLevel): boolean;
GetServiceName(): string;
GetUsersAsync(): Promise<IUser[]>;
GetUserAsync(id?: string): Promise<IUser | null>;
CreateUserAsync(user: IUser, password: string): Promise<ResponseResult<Status>>;
UpdateUserAsync(user: IUser): Promise<ResponseResult<Status>>;
ChangePasswordAsync(user: IUser, password: string): Promise<ResponseResult<Status>>;
DeleteUserAsync(id?: string): Promise<Status>;
GetUserProfilePictureAsync(user: IUser): Promise<IPicture | ResponseResult<Status>>;
SetUserProfilePictureAsync(user: IUser, base64PictureString: string): Promise<ResponseResult<Status>>;
}