coyotte508's picture
coyotte508 HF staff
✨ Admin photos list
7069a57
raw
history blame
923 Bytes
import { collections } from '$lib/server/db';
import { pages } from '$lib/server/db/page';
import { error } from '@sveltejs/kit';
import type { RequestHandler } from './$types';
export const POST: RequestHandler = async (input) => {
const id = input.params.id;
const body: { type: 'picture' | 'text'; key: string; value: string } = await input.request.json();
if (!(id in pages)) {
throw error(400, 'Mauvaise id de page: ' + id);
}
const type = body.type === 'picture' ? 'pictures' : body.type;
const page = pages[id as keyof typeof pages];
if (!(type in page) || !(body.key in page[type])) {
throw error(400, 'Mauvaise clé');
}
await collections.pages.updateOne(
{ _id: id },
{
$set: {
[`${type}.${body.key}`]: String(body.value).replaceAll('\r', ''),
updatedAt: new Date()
},
$setOnInsert: {
createdAt: new Date()
}
},
{ upsert: true }
);
return new Response();
};