From 71fdcf9ffd743b58917712c64892309122aad093 Mon Sep 17 00:00:00 2001 From: AlexBocken Date: Tue, 27 Jun 2023 19:27:00 +0200 Subject: [PATCH] add forgotten img api --- src/routes/api/img/add/+server.ts | 27 +++++++++++++++++++++++++++ src/routes/api/img/add/+server.ts_ | 20 ++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 src/routes/api/img/add/+server.ts create mode 100644 src/routes/api/img/add/+server.ts_ 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;