From e0b47622ce165d8c7d1826537114ee2b2e97cd44 Mon Sep 17 00:00:00 2001 From: andrzej Date: Wed, 19 Jun 2024 19:46:30 +0200 Subject: [PATCH] partially implement del function --- prisma/dev.db | Bin 69632 -> 69632 bytes prisma/dev.db-journal | Bin 12824 -> 0 bytes src/app/lib/actions.ts | 4 ---- src/app/lib/create.ts | 12 ------------ src/app/lib/del.ts | 9 ++++++--- src/app/story/columns.tsx | 2 +- src/app/story/create/page.tsx | 4 ++++ src/app/story/data-table.tsx | 2 -- src/app/story/page.tsx | 6 +++++- 9 files changed, 16 insertions(+), 23 deletions(-) delete mode 100644 prisma/dev.db-journal delete mode 100644 src/app/lib/actions.ts delete mode 100644 src/app/lib/create.ts diff --git a/prisma/dev.db b/prisma/dev.db index d5bdc3b15d6ac6ee08883ce0ee734ecb5699a072..fbaae4f190cf0901d51d30e22c0db4fcbff39993 100644 GIT binary patch delta 178 zcmZozz|ydQWr8$g-9#B@#=4COjsA=hn;-cr8St_2FJj<-!hfEBEB_+?p3Q;=7x*SW z>RW8Uz`!8Rq|FMX1ej!5?-b;urluwqrvmwsO!|TnEDTJ_%rDA|ic*Uci_(hIQYLTh zk72&We`~YghLilt;cND}0k5^(~&> z%Fk#pd24?R^F#hyn*}$V=j2FpQ{(NJ*WlQ?H#uG_E8hNWe|3$0-~fWsZrlALe zw*AiyEOabjZS>7xeE!G}M^1IOJGuVF`V(tc4*z!e9X{Q*W}q2p2AY9ppc!Zent{i{ z!1U1C;kTyUKo17XqoNRWNrG%or)lwT7O*OJ4%4Do^COZ>R0VFKwqK*X+r8LrGtTuXdggM$0 zyp*VTTD$+*BRp358IRrnc-oETJTcdhWUivR$~=m!2#8UnD2w+=R%#LClA$dZUOYEq%H&{AYd5sS8v9hV9nMlMV! zPU$ebwsL>%tA{)QlKtXC9=`D9v^zBC3Ep{`5k%4+1%d(gW2?~GK+GxzZ!$`9syb=2 z1Br!vb+#Crk}ARKT0Hf`_?4;pVmL1xDvpk=*(xfQdG0azgZ%V78r6*Fo<2S8R^~iX zaYQsl!DT4yM;Vc*Dq%w{ptDOcl9LWlmPni^rAz>XUL+WswG5CcLeN!mXc57?6d1EA z4w`Yrdas%1&fe#99==(a@!Z*)a+K#hIeE+Xk)m=m1PezIEuzSr8ijqURA&M~U^OYI z%n8b>a8fal2PD>)oB|8UYKvYO%0XMlP2#0831tRko?F*nne#{hH{-c=Jxsf$IgiWH zJ0$M(1tEQzf| z<1BEF9S}z;a(j3#j8#D1=Bl(J?)rkHqE;0vDO5`G+5_Afskpws_I~_i&Vv$X>knUe z|NB3WFYs5|ayR~Iuspu8F#dJ?_4xMq{`kiD#$)kS*C3mLW}q2p2AY9ppc!Zent^7Z z8E6KYf&a3B@%^=K@z`*iE}c7dAuSzRTYPeO=0aLnA1yvTJWadjceZz_8?7%M9iG|S znOt5R|1lU1`=O&{K6jF~C$!9hR!97)$>sX{@&|mh)c+q~X*?Z_zZ>t5KjodaH3Q8+ zGtdk)1I<7)&{v17y4QsX76b+^R+eSBkaW$@B7!`0We zF4FGCn;R#0($*&b!tW1X-lN^Uw~sHZ44!{>xcbJFLA( diff --git a/src/app/lib/actions.ts b/src/app/lib/actions.ts deleted file mode 100644 index af67ad1..0000000 --- a/src/app/lib/actions.ts +++ /dev/null @@ -1,4 +0,0 @@ -"use server" -export async function createStory(formData: FormData) { - -} diff --git a/src/app/lib/create.ts b/src/app/lib/create.ts deleted file mode 100644 index 82fa361..0000000 --- a/src/app/lib/create.ts +++ /dev/null @@ -1,12 +0,0 @@ -"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 - } - }) - -} diff --git a/src/app/lib/del.ts b/src/app/lib/del.ts index 37d3150..b084877 100644 --- a/src/app/lib/del.ts +++ b/src/app/lib/del.ts @@ -1,10 +1,13 @@ "use server" +import { revalidatePath } from "next/cache"; import prisma from "./db"; +import { redirect } from "next/navigation"; -export async function deleteStory(id) { - console.log(`id: ${id}`) +export async function deleteStory(id: number) { const res = await prisma.story.delete({ where: { id } }) - console.log(res) + console.log(`deleted: ${res}`) + revalidatePath("/story") + redirect("/story") } diff --git a/src/app/story/columns.tsx b/src/app/story/columns.tsx index 8181a60..6b36b9a 100644 --- a/src/app/story/columns.tsx +++ b/src/app/story/columns.tsx @@ -6,12 +6,12 @@ import { Button } from "@/components/ui/button" import { Badge } from "@/components/ui/badge" import { CircleX } from "lucide-react" import { deleteStory } from "app/lib/del" +import { useRouter } from "next/navigation" const columnHelper = createColumnHelper() - export const columns: ColumnDef[] = [ { accessorKey: "title", diff --git a/src/app/story/create/page.tsx b/src/app/story/create/page.tsx index faa4575..ed175ee 100644 --- a/src/app/story/create/page.tsx +++ b/src/app/story/create/page.tsx @@ -1,6 +1,8 @@ import { getGenres } from "app/lib/get"; import StoryForm from "app/ui/forms/story"; import prisma from "app/lib/db"; +import { revalidatePath } from "next/cache"; +import { redirect } from "next/navigation"; export default async function Page() { const genres = await getGenres() async function createStory(data) { @@ -20,6 +22,8 @@ export default async function Page() { } }) console.log(genresRes) + revalidatePath("/story") + redirect("/story") } return } diff --git a/src/app/story/data-table.tsx b/src/app/story/data-table.tsx index 166606d..3fb13dc 100644 --- a/src/app/story/data-table.tsx +++ b/src/app/story/data-table.tsx @@ -42,7 +42,6 @@ export function DataTable({ columns, data, }: DataTableProps) { - console.log(data) //STATE const [sorting, setSorting] = useState([]) const [columnFilters, setColumnFilters] = useState( @@ -69,7 +68,6 @@ export function DataTable({ }) const [filterBy, setFilterBy] = useState(table.getAllColumns()[0]) - console.log(filterBy.id) return (<>
diff --git a/src/app/story/page.tsx b/src/app/story/page.tsx index 0fea743..fa2ca84 100644 --- a/src/app/story/page.tsx +++ b/src/app/story/page.tsx @@ -3,9 +3,13 @@ import { DataTable } from "./data-table"; import { columns } from "./columns"; import { getStoriesWithGenres } from "app/lib/get"; import { Genre } from "@prisma/client"; -export type StoryWithGenres = Story & { genres: Array } +export const dynamic = 'force-dynamic' +export const revalidate = 1 + +export type StoryWithGenres = Story & { genres: Array } const stories: Array = await getStoriesWithGenres() + export default async function Page() { return (