add createStory server action
This commit is contained in:
		
							parent
							
								
									6080037d83
								
							
						
					
					
						commit
						d42fe50d1e
					
				
							
								
								
									
										
											BIN
										
									
								
								prisma/dev.db
								
								
								
								
							
							
						
						
									
										
											BIN
										
									
								
								prisma/dev.db
								
								
								
								
							
										
											Binary file not shown.
										
									
								
							| 
						 | 
				
			
			@ -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
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,7 +1,23 @@
 | 
			
		|||
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 res = await prisma.story.create({
 | 
			
		||||
			data: {
 | 
			
		||||
				title: data.title,
 | 
			
		||||
				word_count: data.word_count
 | 
			
		||||
			}
 | 
			
		||||
		})
 | 
			
		||||
		console.log(res)
 | 
			
		||||
		// const genres = await prisma.story.update({
 | 
			
		||||
		// 	where: { id: res.id },
 | 
			
		||||
		// 	data:{
 | 
			
		||||
		// 	genres:{set:[{id:1},{id:2}]}
 | 
			
		||||
		// 	}
 | 
			
		||||
		// })
 | 
			
		||||
	}
 | 
			
		||||
	return <StoryForm genres={genres} createStory={createStory} />
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue