1
0
mirror of https://github.com/bpatrik/pigallery2.git synced 2024-12-14 11:23:17 +02:00
pigallery2/frontend/app/settings/usermanager/usermanager.settings.service.ts
2017-07-15 12:47:11 +02:00

38 lines
1.2 KiB
TypeScript

import {Injectable} from "@angular/core";
import {UserDTO} from "../../../../common/entities/UserDTO";
import {NetworkService} from "../../model/network/network.service";
import {IPrivateConfig} from "../../../../common/config/private/IPrivateConfig";
@Injectable()
export class UserManagerSettingsService {
constructor(private _networkService: NetworkService) {
}
public createUser(user: UserDTO): Promise<string> {
return this._networkService.putJson("/user", {newUser: user});
}
public async getSettings(): Promise<boolean> {
return (await <Promise<IPrivateConfig>>this._networkService.getJson("/settings")).Client.authenticationRequired;
}
public updateSettings(settings: boolean): Promise<void> {
return this._networkService.putJson("/settings/authentication", {settings: settings});
}
public getUsers(): Promise<Array<UserDTO>> {
return this._networkService.getJson("/user/list");
}
public deleteUser(user: UserDTO): Promise<void> {
return this._networkService.deleteJson("/user/" + user.id);
}
public updateRole(user: UserDTO): Promise<void> {
return this._networkService.postJson("/user/" + user.id + "/role", {newRole: user.role});
}
}