23 lines
819 B
TypeScript
23 lines
819 B
TypeScript
import { fail } from '@sveltejs/kit';
|
|
import type { Actions, PageServerLoad } from './$types';
|
|
import { requireUser } from '#lib/server/auth.js';
|
|
import { listPieces, setPieceArchived } from '#lib/server/content.js';
|
|
|
|
export const load: PageServerLoad = ({ locals }) => {
|
|
requireUser(locals.user);
|
|
return { pieces: listPieces({ statuses: ['archived'] }) };
|
|
};
|
|
|
|
export const actions = {
|
|
restore: async ({ locals, request }) => {
|
|
requireUser(locals.user);
|
|
const data = await request.formData();
|
|
try {
|
|
setPieceArchived(String(data.get('pieceId') || ''), Number(data.get('revision')), false);
|
|
return { success: 'Piece wurde in seinen vorherigen Bereich zurückgelegt.' };
|
|
} catch {
|
|
return fail(409, { error: 'Das Piece wurde inzwischen geändert. Bitte Seite neu laden.' });
|
|
}
|
|
}
|
|
} satisfies Actions;
|