From 3c4dc6f1d50da529146604d37aa34378c8ecab62 Mon Sep 17 00:00:00 2001 From: killian-larcher Date: Fri, 29 Nov 2024 12:39:50 +0100 Subject: [PATCH] working on restore form. --- .../dashboard/projects/[projectId]/page.tsx | 51 +++++++++++++++++++ .../dashboard/projects/new/page.tsx | 19 +++++++ prisma/schema.prisma | 28 ++++++++++ 3 files changed, 98 insertions(+) create mode 100644 app/(customer)/dashboard/projects/[projectId]/page.tsx create mode 100644 app/(customer)/dashboard/projects/new/page.tsx diff --git a/app/(customer)/dashboard/projects/[projectId]/page.tsx b/app/(customer)/dashboard/projects/[projectId]/page.tsx new file mode 100644 index 00000000..047ea6b8 --- /dev/null +++ b/app/(customer)/dashboard/projects/[projectId]/page.tsx @@ -0,0 +1,51 @@ +import {PageParams} from "@/types/next"; +import {prisma} from "@/prisma"; +import {AgentCard} from "@/components/wrappers/Agent/AgentCard/AgentCard"; +import {CardsWithPagination} from "@/components/wrappers/cards-with-pagination"; +import {Button} from "@/components/ui/button"; +import Link from 'next/link' +import {Page, PageActions, PageContent, PageHeader, PageTitle} from "@/features/layout/page"; + +export default async function RoutePage(props: PageParams<{}>) { + + const projects = await prisma.project.findMany({}) + + return ( + + + + Projects + + {projects.length > 0 && ( + + + + + + )} + + + + + + {projects.length > 0 ? + + : + + Create new Project + + + } + + + + + ) +} \ No newline at end of file diff --git a/app/(customer)/dashboard/projects/new/page.tsx b/app/(customer)/dashboard/projects/new/page.tsx new file mode 100644 index 00000000..81243af5 --- /dev/null +++ b/app/(customer)/dashboard/projects/new/page.tsx @@ -0,0 +1,19 @@ +import {PageParams} from "@/types/next"; +import {Page, PageContent, PageHeader, PageTitle} from "@/features/layout/page"; + + +export default async function RoutePage(props: PageParams<{}>) { + + return ( + + + + Create new project + + + + + + + ) +} \ No newline at end of file diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 8056e261..7d341386 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -77,6 +77,31 @@ enum Role { admin } +model Organization { + id String @id @default(cuid()) + slug String @unique + name String + createdAt DateTime @default(now()) @map("created_at") + + projects Project[] + + @@map("organizations") +} + +model Project { + id String @id @default(cuid()) + slug String @unique + name String + createdAt DateTime @default(now()) @map("created_at") + + organizationId String @map("organization_id") + organization Organization @relation(fields: [organizationId], references: [id]) + + databases Database[] + + @@map("projects") +} + model Agent { id String @id @default(cuid()) slug String @unique @@ -112,6 +137,9 @@ model Database { backups Backup[] restaurations Restauration[] + projectId String? @map("project_id") + project Project? @relation(fields: [projectId], references: [id]) + @@map("databases") }