|
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(); |
|
}; |
|
|