2018-03-30 21:30:30 +02:00
|
|
|
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';
|
2016-04-26 15:10:05 +02:00
|
|
|
|
|
|
|
@Injectable()
|
2016-07-09 15:08:36 +02:00
|
|
|
export class UserManagerSettingsService {
|
2016-04-26 15:10:05 +02:00
|
|
|
|
2016-05-05 17:51:51 +02:00
|
|
|
|
2017-06-10 22:32:56 +02:00
|
|
|
constructor(private _networkService: NetworkService) {
|
|
|
|
}
|
2016-04-26 15:10:05 +02:00
|
|
|
|
2017-07-03 19:17:49 +02:00
|
|
|
public createUser(user: UserDTO): Promise<string> {
|
2018-03-30 21:30:30 +02:00
|
|
|
return this._networkService.putJson('/user', {newUser: user});
|
2017-06-10 22:32:56 +02:00
|
|
|
}
|
2016-04-26 15:10:05 +02:00
|
|
|
|
2018-03-30 21:30:30 +02:00
|
|
|
public async getSettings(): Promise<boolean> {
|
|
|
|
return (await <Promise<IPrivateConfig>>this._networkService.getJson('/settings')).Client.authenticationRequired;
|
2017-07-15 12:47:11 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
public updateSettings(settings: boolean): Promise<void> {
|
2018-03-30 21:30:30 +02:00
|
|
|
return this._networkService.putJson('/settings/authentication', {settings: settings});
|
2017-07-15 12:47:11 +02:00
|
|
|
}
|
2016-04-26 15:10:05 +02:00
|
|
|
|
2017-07-03 19:17:49 +02:00
|
|
|
public getUsers(): Promise<Array<UserDTO>> {
|
2018-03-30 21:30:30 +02:00
|
|
|
return this._networkService.getJson('/user/list');
|
2017-06-10 22:32:56 +02:00
|
|
|
}
|
2016-04-26 15:10:05 +02:00
|
|
|
|
|
|
|
|
2017-07-03 19:17:49 +02:00
|
|
|
public deleteUser(user: UserDTO): Promise<void> {
|
2018-03-30 21:30:30 +02:00
|
|
|
return this._networkService.deleteJson('/user/' + user.id);
|
2017-06-10 22:32:56 +02:00
|
|
|
}
|
2016-05-03 14:29:24 +02:00
|
|
|
|
2017-07-03 19:17:49 +02:00
|
|
|
public updateRole(user: UserDTO): Promise<void> {
|
2018-03-30 21:30:30 +02:00
|
|
|
return this._networkService.postJson('/user/' + user.id + '/role', {newRole: user.role});
|
2017-06-10 22:32:56 +02:00
|
|
|
}
|
2016-04-26 15:10:05 +02:00
|
|
|
}
|