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
2018-03-30 15:30:30 -04: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});
}
}