mirror of
https://github.com/sern-handler/bin
synced 2026-06-06 01:16:52 +00:00
24 lines
788 B
TypeScript
24 lines
788 B
TypeScript
import {ZCreateApiRequest} from "@/utils/types";
|
|
import db from "@/db";
|
|
import {code} from "@/db/schema";
|
|
import {randomString} from "util-utils";
|
|
import * as schema from "@/db/schema";
|
|
|
|
export async function POST(request: Request) {
|
|
if (request.headers.get('Authorization') !== process.env.AUTOMATA_UPLOAD_KEY)
|
|
return new Response('Unauthorized', {status: 401})
|
|
try {
|
|
const data = await ZCreateApiRequest.parseAsync(await request.json())
|
|
const written = await db.insert(code)
|
|
.values({
|
|
id: randomString(8),
|
|
...data
|
|
})
|
|
.returning({
|
|
snippetId: schema.code.id
|
|
})
|
|
return new Response(JSON.stringify(written[0].snippetId), {status: 200})
|
|
} catch (e) {
|
|
return new Response(`Invalid request ${e}`, {status: 400})
|
|
}
|
|
} |