1
0
mirror of https://github.com/bpatrik/pigallery2.git synced 2024-12-16 11:37:13 +02:00
pigallery2/frontend/app/settings/usermanager/usermanager.settings.service.ts

38 lines
1.2 KiB
TypeScript
Raw Normal View History

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';
@Injectable()
export class UserManagerSettingsService {
constructor(private _networkService: NetworkService) {
}
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});
}
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
}
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-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-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});
}
}