import { fail, redirect } from '@sveltejs/kit'; import type { Actions } from './$types'; import { createApiClient, extractErrorCode } from '$lib/shared/api.server'; import { getErrorMessage } from '$lib/shared/errors'; export const actions: Actions = { default: async ({ request, fetch }) => { const data = await request.formData(); const api = createApiClient(fetch); const result = await api.POST('/api/groups', { body: { name: data.get('name') as string, permissions: data.getAll('permissions') as string[] } }); if (!result.response.ok) { return fail(result.response.status, { error: getErrorMessage(extractErrorCode(result.error)) }); } throw redirect(303, '/admin/groups'); } };