import { Injectable } from '@angular/core'; import { HttpRestService } from '@core/services/http-rest.service'; import { User } from '@core/typings/client-user.typing'; import { PermissionSet } from '@core/typings/permission.typing'; import { RoleToSave } from '@core/typings/roles.typing'; @Injectable({ providedIn: 'root' }) export class RolesResources { constructor ( private httpRestService: HttpRestService ) { } getRoles () { return this.httpRestService.get('api/client/roles'); } saveRole (roleToSave: RoleToSave) { return this.httpRestService.post('/api/client/roles', roleToSave); } getUsersInRole (roleId: number): Promise { return this.httpRestService.get('/api/client/roles/' + roleId + '/users'); } attachUserToRole (roleId: number, userId: number) { return this.httpRestService.post( '/api/client/roles/' + roleId + '/users/' + userId, {} ); } detachUserFromRole (roleId: number, userId: number) { return this.httpRestService.delete( '/api/client/roles/' + roleId + '/users/' + userId ); } getPermissions (): Promise { return this.httpRestService.get('/api/permissionsets'); } }