feat : imrpove admin comment
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { commentHistory, getCommentViewer, listComments, mutateComment, requireCommentViewer } from "@/lib/comments/repository";
|
||||
import { heartSchema, moderationSchema, reactionSchema } from "@/lib/comments/validation";
|
||||
import { commentBanSchema, heartSchema, moderationSchema, reactionSchema } from "@/lib/comments/validation";
|
||||
import { errorResponse, HttpError, readJson, requireSameOrigin } from "@/lib/security/http";
|
||||
import { limitRequest } from "@/lib/security/rate-limit";
|
||||
|
||||
@@ -31,6 +31,10 @@ export async function PUT(request: Request, context: Context) {
|
||||
const value = moderationSchema.safeParse(body);
|
||||
if (!value.success) throw new HttpError(400, "invalid-moderation");
|
||||
await mutateComment(id, viewer, "moderation", value.data.hidden);
|
||||
} else if (action === "ban") {
|
||||
const value = commentBanSchema.safeParse(body);
|
||||
if (!value.success) throw new HttpError(400, "invalid-moderation");
|
||||
await mutateComment(id, viewer, "ban", value.data.banned);
|
||||
} else if (action === "heart") {
|
||||
const value = heartSchema.safeParse(body);
|
||||
if (!value.success) throw new HttpError(400, "invalid-heart");
|
||||
|
||||
Reference in New Issue
Block a user