subman-nextjs/src/app/lib/create.ts

60 lines
1.3 KiB
TypeScript
Raw Normal View History

2024-06-26 16:18:44 +00:00
"use server"
2024-06-29 15:21:56 +00:00
import { Genre, Story } from "@prisma/client"
2024-06-26 16:18:44 +00:00
import prisma from "./db"
import { revalidatePath } from "next/cache"
import { redirect } from "next/navigation"
2024-06-29 15:21:56 +00:00
export async function createStory(data: Story & { genres: number[] }) {
2024-06-26 16:18:44 +00:00
"use server"
2024-06-29 15:21:56 +00:00
const genresArray = data.genres.map((e) => { return { id: e } })
2024-06-26 16:18:44 +00:00
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)
revalidatePath("/story")
redirect("/story")
}
2024-06-26 17:32:18 +00:00
export async function createPub(data) {
"use server"
const genresArray = data.genres.map(e => { return { id: e } })
const res = await prisma.pub.create({
data: {
title: data.title,
link: data.link,
query_after_days: data.query_after_days
}
})
console.log(res)
const genresRes = await prisma.pub.update({
where: { id: res.id },
data:
{ genres: { set: genresArray } }
})
console.log(genresRes)
revalidatePath("/publication")
redirect("/publication")
}
2024-06-26 16:18:44 +00:00
export async function createSub(data) {
"use server"
const res = await prisma.sub.create({ data })
console.log(res)
revalidatePath("/submission")
redirect("/submission")
}