fix
This commit is contained in:
50
dist/server/pages/api/posts/publish.astro.mjs
vendored
Normal file
50
dist/server/pages/api/posts/publish.astro.mjs
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
import { r as requireApiToken } from '../../../chunks/apiAuth_DcNSM7D5.mjs';
|
||||
import { p as publishPost } from '../../../chunks/publisher_Dj_UvF8J.mjs';
|
||||
import { d as downloadAndStoreImage } from '../../../chunks/images_DSuHPXn1.mjs';
|
||||
export { renderers } from '../../../renderers.mjs';
|
||||
|
||||
const POST = async (context) => {
|
||||
const unauthorized = requireApiToken(context);
|
||||
if (unauthorized) {
|
||||
return unauthorized;
|
||||
}
|
||||
try {
|
||||
const payload = await context.request.json();
|
||||
let image = payload.image;
|
||||
let thumbnail = payload.thumbnail;
|
||||
if (payload.imageUrl && !image) {
|
||||
const storedImage = await downloadAndStoreImage(String(payload.imageUrl));
|
||||
image = storedImage?.image;
|
||||
thumbnail = storedImage?.thumbnail;
|
||||
}
|
||||
const post = await publishPost({
|
||||
title: String(payload.title ?? ""),
|
||||
slug: payload.slug ? String(payload.slug) : void 0,
|
||||
category: payload.category ? String(payload.category) : void 0,
|
||||
time: payload.time ? String(payload.time) : void 0,
|
||||
readTime: payload.readTime ? String(payload.readTime) : void 0,
|
||||
excerpt: payload.excerpt ? String(payload.excerpt) : void 0,
|
||||
body: Array.isArray(payload.body) ? payload.body.map(String) : String(payload.body ?? ""),
|
||||
status: payload.status === "approved" ? "approved" : "pending",
|
||||
image,
|
||||
thumbnail
|
||||
});
|
||||
return new Response(JSON.stringify({ ok: true, post }), {
|
||||
headers: { "content-type": "application/json; charset=utf-8" }
|
||||
});
|
||||
} catch (error) {
|
||||
return new Response(JSON.stringify({ ok: false, error: error instanceof Error ? error.message : "Invalid request" }), {
|
||||
status: 400,
|
||||
headers: { "content-type": "application/json; charset=utf-8" }
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
|
||||
__proto__: null,
|
||||
POST
|
||||
}, Symbol.toStringTag, { value: 'Module' }));
|
||||
|
||||
const page = () => _page;
|
||||
|
||||
export { page };
|
||||
Reference in New Issue
Block a user