Add blog authors support
This commit is contained in:
@@ -2,6 +2,7 @@ import { NextResponse } from "next/server";
|
||||
import { prisma } from "@/lib/prisma";
|
||||
import { parseBlogPost } from "@/lib/dto";
|
||||
import { guard, run, readBody } from "@/lib/adminRoute";
|
||||
import { blogPostInclude } from "@/lib/blogs";
|
||||
|
||||
export async function GET() {
|
||||
const denied = await guard();
|
||||
@@ -9,6 +10,7 @@ export async function GET() {
|
||||
|
||||
return run(async () => {
|
||||
const posts = await prisma.blogPost.findMany({
|
||||
include: blogPostInclude,
|
||||
orderBy: [{ updatedAt: "desc" }],
|
||||
});
|
||||
return NextResponse.json(posts);
|
||||
@@ -21,7 +23,21 @@ export async function POST(req: Request) {
|
||||
|
||||
return run(async () => {
|
||||
const data = parseBlogPost(await readBody(req));
|
||||
const created = await prisma.blogPost.create({ data });
|
||||
const created = await prisma.blogPost.create({
|
||||
data: {
|
||||
title: data.title,
|
||||
slug: data.slug,
|
||||
excerpt: data.excerpt,
|
||||
coverImageUrl: data.coverImageUrl,
|
||||
content: data.content,
|
||||
isPublished: data.isPublished,
|
||||
publishedAt: data.publishedAt,
|
||||
authors: {
|
||||
create: data.authors,
|
||||
},
|
||||
},
|
||||
include: blogPostInclude,
|
||||
});
|
||||
return NextResponse.json(created, { status: 201 });
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user