new features
This commit is contained in:
@@ -168,10 +168,14 @@ function PermissionMatrixTab() {
|
||||
const permissionMutation = useMutation({
|
||||
mutationFn: (updates: { group: string; permissions: string[] }[]) =>
|
||||
permissionsApi.setBulkPermissions(updates),
|
||||
onSuccess: () => {
|
||||
onSuccess: (result) => {
|
||||
queryClient.invalidateQueries({ queryKey: ['admin-permission-matrix'] });
|
||||
queryClient.invalidateQueries({ queryKey: ['my-permissions'] });
|
||||
showSuccess('Berechtigungen gespeichert');
|
||||
if (result?.droppedPermissions && result.droppedPermissions.length > 0) {
|
||||
showError(`Berechtigungen gespeichert, aber ${result.droppedPermissions.length} Berechtigung(en) existieren nicht in der DB und wurden ignoriert: ${result.droppedPermissions.join(', ')}`);
|
||||
} else {
|
||||
showSuccess('Berechtigungen gespeichert');
|
||||
}
|
||||
},
|
||||
onError: () => showError('Fehler beim Speichern der Berechtigungen'),
|
||||
});
|
||||
|
||||
@@ -25,8 +25,9 @@ export const permissionsApi = {
|
||||
await api.delete(`/api/permissions/admin/group/${encodeURIComponent(group)}`);
|
||||
},
|
||||
|
||||
setBulkPermissions: async (updates: { group: string; permissions: string[] }[]): Promise<void> => {
|
||||
await api.put('/api/permissions/admin/bulk', { updates });
|
||||
setBulkPermissions: async (updates: { group: string; permissions: string[] }[]): Promise<{ droppedPermissions?: string[] }> => {
|
||||
const r = await api.put('/api/permissions/admin/bulk', { updates });
|
||||
return r.data;
|
||||
},
|
||||
|
||||
setMaintenanceFlag: async (featureGroup: string, active: boolean): Promise<void> => {
|
||||
|
||||
Reference in New Issue
Block a user