diff --git a/src/routes/api/img/add/+server.ts b/src/routes/api/img/add/+server.ts new file mode 100644 index 0000000..fcc5689 --- /dev/null +++ b/src/routes/api/img/add/+server.ts @@ -0,0 +1,27 @@ +import { writeFileSync } from 'fs'; +import path from 'path' +import type { RequestHandler } from '@sveltejs/kit'; +import { BEARER_TOKEN } from '$env/static/private' +import { error } from '@sveltejs/kit'; + +export const POST = (async ({ request }) => { + const data = await request.json(); + console.log(data) + const filePath = path.join( + process.cwd(), + "static", + "images", + data.filename as string + ); + const file = data.image; + console.log(data.headers) + if(data.bearer === BEARER_TOKEN){ + console.log("PASSWORD CORRECT") + writeFileSync(filePath, file, 'base64'); + } + else{ + console.log("PASSWORD INCORRECT") + throw error(403, "Password incorrect") + } + +}) satisfies RequestHandler; diff --git a/src/routes/api/img/add/+server.ts_ b/src/routes/api/img/add/+server.ts_ new file mode 100644 index 0000000..c6f2553 --- /dev/null +++ b/src/routes/api/img/add/+server.ts_ @@ -0,0 +1,20 @@ +import path from 'path' +import fs from 'fs/promises' +import { fail, redirect } from '@sveltejs/kit'; +import type { RequestHandler } from './$types'; + +export const POST = (async ({ request, url}) => { + try { + const data = Object.fromEntries(await request.formData()) + const filePath = path.join( + process.cwd(), + "static", + "images", + data.filename as string + ); + await fs.writeFile(filePath, Buffer.from(await (data.image as Blob).arrayBuffer())) + return new Response(String({status: 200})) + } catch (err) { + throw fail(500, { err: err }) + } +}) satisfies RequestHandler;