rights system
This commit is contained in:
27
frontend/src/services/permissions.ts
Normal file
27
frontend/src/services/permissions.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import { api } from './api';
|
||||
import type { MyPermissions, PermissionMatrix } from '../types/permissions.types';
|
||||
|
||||
export const permissionsApi = {
|
||||
getMyPermissions: async (): Promise<MyPermissions> => {
|
||||
const r = await api.get('/api/permissions/me');
|
||||
return r.data.data;
|
||||
},
|
||||
|
||||
getMatrix: async (): Promise<PermissionMatrix> => {
|
||||
const r = await api.get('/api/permissions/admin/matrix');
|
||||
return r.data.data;
|
||||
},
|
||||
|
||||
getGroups: async (): Promise<string[]> => {
|
||||
const r = await api.get('/api/permissions/admin/groups');
|
||||
return r.data.data;
|
||||
},
|
||||
|
||||
setGroupPermissions: async (group: string, permissions: string[]): Promise<void> => {
|
||||
await api.put(`/api/permissions/admin/group/${encodeURIComponent(group)}`, { permissions });
|
||||
},
|
||||
|
||||
setMaintenanceFlag: async (featureGroup: string, active: boolean): Promise<void> => {
|
||||
await api.put(`/api/permissions/admin/maintenance/${encodeURIComponent(featureGroup)}`, { active });
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user