init
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
"use server";
|
||||
|
||||
import { articleSchema } from "@/lib/validation/zod/article";
|
||||
import { api } from "@/trpc/server";
|
||||
import { revalidatePath } from "next/cache";
|
||||
import { redirect } from "next/navigation";
|
||||
import { z } from "zod";
|
||||
|
||||
export async function createArticle(article: z.infer<typeof articleSchema>) {
|
||||
const result = await api.article.create({
|
||||
article,
|
||||
});
|
||||
if (!result[0]?.slug?.length) return false;
|
||||
return redirect(`/artikel/${result[0].slug}/edit`);
|
||||
}
|
||||
export async function updateArticle(
|
||||
article: z.infer<typeof articleSchema>,
|
||||
articleId: string,
|
||||
) {
|
||||
const result = await api.article.update({
|
||||
article,
|
||||
articleId,
|
||||
});
|
||||
// if (!result[0]?.id?.length) return false;
|
||||
// return revalidatePath(`/artikel/${result[0].id}/edit`);
|
||||
}
|
||||
export async function deleteArticle(articleId: string) {
|
||||
const result = await api.article.delete({
|
||||
articleId,
|
||||
});
|
||||
// if (!result[0]?.id?.length) return false;
|
||||
}
|
||||
Reference in New Issue
Block a user