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