41 lines
1.4 KiB
TypeScript
41 lines
1.4 KiB
TypeScript
import { Injectable } from '@angular/core';
|
|
import { HttpClient, HttpParams } from '@angular/common/http';
|
|
import { environment } from '../../../environments/environment';
|
|
|
|
@Injectable({
|
|
providedIn: 'root',
|
|
})
|
|
export class PermissionManagementService {
|
|
|
|
constructor(private http: HttpClient) {
|
|
}
|
|
|
|
getPermissionsForUser(username: string, sort: string = 'name', ignoreStart: boolean = true) {
|
|
let params = new HttpParams()
|
|
.set('sort', sort)
|
|
.set('ignoreStart', ignoreStart.toString());
|
|
return this.http.get(environment.apiUrl + "/permissions/manage/" + username, { params });
|
|
}
|
|
|
|
getAllPermissionsForUser(username: string, sort: string = 'name') {
|
|
let params = new HttpParams().set('sort', sort);
|
|
return this.http.get(environment.apiUrl + "/permissions/manage/" + username + "/all", { params });
|
|
}
|
|
|
|
createPermission(permission: any) {
|
|
return this.http.post(environment.apiUrl + "/permissions/manage", permission);
|
|
}
|
|
|
|
createMultiple(permissionList: any[]) {
|
|
return this.http.post(environment.apiUrl + "/permissions/manage/multiple", permissionList);
|
|
}
|
|
|
|
updatePermission(permission: any) {
|
|
return this.http.patch(environment.apiUrl + "/permissions/manage", permission);
|
|
}
|
|
|
|
deletePermission(permission: any) {
|
|
return this.http.delete(environment.apiUrl + "/permissions/manage", { body: permission });
|
|
}
|
|
}
|