1
0
mirror of https://github.com/xuthus83/pigallery2.git synced 2024-11-03 21:04:03 +08:00
pigallery2/frontend/app/settings/usermanager/usermanager.settings.service.ts

38 lines
1.2 KiB
TypeScript
Raw Normal View History

2016-05-09 23:04:56 +08:00
import {Injectable} from "@angular/core";
2016-12-27 23:09:47 +08:00
import {UserDTO} from "../../../../common/entities/UserDTO";
import {NetworkService} from "../../model/network/network.service";
2017-07-15 18:47:11 +08:00
import {IPrivateConfig} from "../../../../common/config/private/IPrivateConfig";
@Injectable()
export class UserManagerSettingsService {
constructor(private _networkService: NetworkService) {
}
2017-07-04 01:17:49 +08:00
public createUser(user: UserDTO): Promise<string> {
return this._networkService.putJson("/user", {newUser: user});
}
2017-07-15 18:47:11 +08:00
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});
}
2017-07-04 01:17:49 +08:00
public getUsers(): Promise<Array<UserDTO>> {
return this._networkService.getJson("/user/list");
}
2017-07-04 01:17:49 +08:00
public deleteUser(user: UserDTO): Promise<void> {
return this._networkService.deleteJson("/user/" + user.id);
}
2017-07-04 01:17:49 +08:00
public updateRole(user: UserDTO): Promise<void> {
return this._networkService.postJson("/user/" + user.id + "/role", {newRole: user.role});
}
}