import { fail } from '@sveltejs/kit'; import type { Actions, PageServerLoad } from './$types'; import { saveImage, deleteUpload } from '$lib/server/storage'; import { addBannerImage, deleteBannerImage, listBannerImages, moveBanner } from '$lib/server/content'; export const load: PageServerLoad = () => ({ images: listBannerImages().map((i) => ({ id: i.id, url: `/uploads/${i.imagePath}` })) }); export const actions: Actions = { upload: async ({ request }) => { const form = await request.formData(); const files = form .getAll('images') .filter((e): e is File => e instanceof File && e.size > 0); if (files.length === 0) return fail(400, { error: 'Izberite vsaj eno sliko.' }); for (const file of files) { addBannerImage(await saveImage('banner', file)); } return { success: `Naloženih slik: ${files.length}.` }; }, delete: async ({ request }) => { const form = await request.formData(); const path = deleteBannerImage(String(form.get('id') ?? '')); if (path) deleteUpload(path); return { success: 'Slika izbrisana.' }; }, move: async ({ request }) => { const form = await request.formData(); moveBanner(String(form.get('id') ?? ''), form.get('dir') === 'up' ? 'up' : 'down'); return { success: null }; } };