From b886ea46b420b32d59f32b33be1f809e84145a8f Mon Sep 17 00:00:00 2001 From: ImAlpha Date: Sat, 28 Oct 2023 22:52:38 -0700 Subject: [PATCH] added drizzle dependency files --- Websites/jefes-nextjs/package.json | 3 ++ Websites/jefes-nextjs/prisma/seed.ts | 51 ++++++++++++++++++ .../app/ui/dashboard/nav-links.tsx | 13 ++++- Websites/nextjs-dashboard/bun.lockb | Bin 120689 -> 150629 bytes Websites/nextjs-dashboard/package.json | 14 +++-- .../nextjs-dashboard/prisma/schema.prisma | 11 ++++ Websites/nextjs-dashboard/schema.ts | 21 ++++++++ 7 files changed, 107 insertions(+), 6 deletions(-) create mode 100644 Websites/jefes-nextjs/prisma/seed.ts create mode 100644 Websites/nextjs-dashboard/prisma/schema.prisma create mode 100644 Websites/nextjs-dashboard/schema.ts diff --git a/Websites/jefes-nextjs/package.json b/Websites/jefes-nextjs/package.json index be0599c..e88f32b 100644 --- a/Websites/jefes-nextjs/package.json +++ b/Websites/jefes-nextjs/package.json @@ -32,5 +32,8 @@ "postcss": "^8", "tailwindcss": "^3", "typescript": "^5" + }, + "prisma": { + "seed": "ts-node --compiler-options {\"module\":\"CommonJS\"} prisma/seed.ts" } } diff --git a/Websites/jefes-nextjs/prisma/seed.ts b/Websites/jefes-nextjs/prisma/seed.ts new file mode 100644 index 0000000..06b3bc8 --- /dev/null +++ b/Websites/jefes-nextjs/prisma/seed.ts @@ -0,0 +1,51 @@ +import { PrismaClient } from "@prisma/client"; +const prisma = new PrismaClient(); +async function main() { + const alice = await prisma.user.upsert({ + where: { email: "alice@prisma.io" }, + update: {}, + create: { + email: "alice@prisma.io", + name: "Alice", + posts: { + create: { + title: "Check out Prisma with Next.js", + content: "https://www.prisma.io/nextjs", + published: true, + }, + }, + }, + }); + const bob = await prisma.user.upsert({ + where: { email: "bob@prisma.io" }, + update: {}, + create: { + email: "bob@prisma.io", + name: "Bob", + posts: { + create: [ + { + title: "Follow Prisma on Twitter", + content: "https://twitter.com/prisma", + published: true, + }, + { + title: "Follow Nexus on Twitter", + content: "https://twitter.com/nexusgql", + published: true, + }, + ], + }, + }, + }); + console.log({ alice, bob }); +} +main() + .then(async () => { + await prisma.$disconnect(); + }) + .catch(async (e) => { + console.error(e); + await prisma.$disconnect(); + process.exit(1); + }); diff --git a/Websites/nextjs-dashboard/app/ui/dashboard/nav-links.tsx b/Websites/nextjs-dashboard/app/ui/dashboard/nav-links.tsx index f2a67eb..6bc4ae2 100644 --- a/Websites/nextjs-dashboard/app/ui/dashboard/nav-links.tsx +++ b/Websites/nextjs-dashboard/app/ui/dashboard/nav-links.tsx @@ -1,9 +1,13 @@ +"use client"; + import { UserGroupIcon, HomeIcon, DocumentDuplicateIcon, } from '@heroicons/react/24/outline'; import clsx from 'clsx'; +import Link from 'next/link'; +import { usePathname } from 'next/navigation'; // Map of links to display in the side navigation. // Depending on the size of the application, this would be stored in a database. @@ -18,21 +22,26 @@ const links = [ ]; export default function NavLinks() { + const pathname = usePathname(); + return ( <> {links.map((link) => { const LinkIcon = link.icon; return ( -

{link.name}

-
+ ); })} diff --git a/Websites/nextjs-dashboard/bun.lockb b/Websites/nextjs-dashboard/bun.lockb index 08d6fc2cc48060d0033bedef340179d49dba810d..9ae4cff4e125363633990145761897f842b45b4a 100755 GIT binary patch delta 42428 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" diff --git a/Websites/nextjs-dashboard/prisma/schema.prisma b/Websites/nextjs-dashboard/prisma/schema.prisma new file mode 100644 index 0000000..d205f42 --- /dev/null +++ b/Websites/nextjs-dashboard/prisma/schema.prisma @@ -0,0 +1,11 @@ +// This is your Prisma schema file, +// learn more about it in the docs: https://pris.ly/d/prisma-schema + +generator client { + provider = "prisma-client-js" +} + +datasource db { + provider = "postgresql" + url = env("DATABASE_URL") +} diff --git a/Websites/nextjs-dashboard/schema.ts b/Websites/nextjs-dashboard/schema.ts new file mode 100644 index 0000000..8d0924b --- /dev/null +++ b/Websites/nextjs-dashboard/schema.ts @@ -0,0 +1,21 @@ +import { integer, serial, text, pgTable } from 'drizzle-orm/pg-core'; +import { relations } from 'drizzle-orm'; + +export const users = pgTable('users', { + id: serial('id').primaryKey(), + name: text('name').notNull(), +}); + +export const usersRelations = relations(users, ({ many }) => ({ + posts: many(posts), +})); + +export const posts = pgTable('posts', { + id: serial('id').primaryKey(), + content: text('content').notNull(), + authorId: integer('author_id').notNull(), +}); + +export const postsRelations = relations(posts, ({ one }) => ({ + author: one(users, { fields: [posts.authorId], references: [users.id] }), +})); \ No newline at end of file