add createStory server action

This commit is contained in:
andrzej 2024-06-17 13:12:55 +02:00
parent a5e5c8c246
commit 0a5095bd5f
5 changed files with 36 additions and 4 deletions

Binary file not shown.

12
src/app/lib/create.ts Normal file
View File

@ -0,0 +1,12 @@
"use server"
import prisma from "./db"
export async function createStory(data) {
console.log("CREATESTORY CALLED")
const id = await prisma.story.create({
data: {
title: "test",
word_count: 500
}
})
}

View File

@ -1,7 +1,25 @@
import { getGenres } from "app/lib/get";
import StoryForm from "app/ui/forms/story";
import prisma from "app/lib/db";
export default async function Page() {
const genres = await getGenres()
return <StoryForm genres={genres} />
async function createStory(data) {
"use server"
const genresArray = data.genres.map(e => { return { id: e } })
const res = await prisma.story.create({
data: {
title: data.title,
word_count: data.word_count,
}
})
console.log(res)
const genresRes = await prisma.story.update({
where: { id: res.id },
data: {
genres: { set: genresArray }
}
})
console.log(genresRes)
}
return <StoryForm genres={genres} createStory={createStory} />
}

View File

@ -52,6 +52,7 @@ export default function PubForm({ genres }) {
</pre>
),
})
console.log(values)
}
@ -70,7 +71,7 @@ export default function PubForm({ genres }) {
return (
<Form {...form}>
<form onSubmit={form.handleSubmit(onSubmit, onErrors)}>
<form onSubmit={form.handleSubmit(onSubmit, onErrors)} className="space-y-8">
<FormField
control={form.control}
name="title"

View File

@ -29,7 +29,7 @@ const formSchema = z.object({
genres: z.array(z.number())
})
export default function StoryForm({ genres }) {
export default function StoryForm({ genres, createStory }) {
// 1. Define your form.
const form = useForm<z.infer<typeof formSchema>>({
resolver: zodResolver(formSchema),
@ -51,6 +51,7 @@ export default function StoryForm({ genres }) {
</pre>
),
})
createStory(values)
console.log(values)
}