From eea4e7d058dfa29a687cb1176bc1c9bb31d4c5aa Mon Sep 17 00:00:00 2001 From: Fergal Moran Date: Fri, 19 Jan 2024 11:51:29 +0000 Subject: [PATCH] Added lib stuff --- kirimase.config.json | 18 ++++++++++++++++++ src/lib/auth/utils.ts | 23 +++++++++++++++++++++++ src/lib/utils.ts | 8 ++++++++ src/server/db/index.ts | 3 ++- 4 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 kirimase.config.json create mode 100644 src/lib/auth/utils.ts diff --git a/kirimase.config.json b/kirimase.config.json new file mode 100644 index 0000000..8796917 --- /dev/null +++ b/kirimase.config.json @@ -0,0 +1,18 @@ +{ + "hasSrc": true, + "packages": [ + "drizzle", + "trpc", + "next-auth", + "shadcn-ui" + ], + "preferredPackageManager": "bun", + "t3": true, + "alias": "@", + "rootPath": "src/", + "orm": "drizzle", + "auth": "next-auth", + "componentLib": "shadcn-ui", + "provider": "node-postgres", + "driver": "pg" +} \ No newline at end of file diff --git a/src/lib/auth/utils.ts b/src/lib/auth/utils.ts new file mode 100644 index 0000000..2fecf1f --- /dev/null +++ b/src/lib/auth/utils.ts @@ -0,0 +1,23 @@ +import { redirect } from "next/navigation"; +import { getServerAuthSession } from "@/server/auth"; + +export type AuthSession = { + session: { + user: { + id: string; + name?: string; + email?: string; + username?: string; + }; + } | null; +}; + +export const getUserAuth = async () => { + const session = await getServerAuthSession(); + return { session } as AuthSession; +}; + +export const checkAuth = async () => { + const { session } = await getUserAuth(); + if (!session) redirect("/api/auth/signin"); +}; diff --git a/src/lib/utils.ts b/src/lib/utils.ts index 365058c..f1410e8 100644 --- a/src/lib/utils.ts +++ b/src/lib/utils.ts @@ -4,3 +4,11 @@ import { twMerge } from "tailwind-merge"; export function cn(...inputs: ClassValue[]) { return twMerge(clsx(inputs)); } + + +export type Action = "create" | "update" | "delete"; + +export type OptimisticAction = { + action: Action; + data: T; +}; diff --git a/src/server/db/index.ts b/src/server/db/index.ts index 460cb36..c21c95c 100644 --- a/src/server/db/index.ts +++ b/src/server/db/index.ts @@ -1,10 +1,11 @@ import { drizzle } from "drizzle-orm/postgres-js"; import postgres from "postgres"; import * as schema from "./schema"; +import * as extended from "~/server/db/schema/_root"; import { env } from "@/env"; const client = postgres(env.DATABASE_URL); -export const db = drizzle(client, { schema }); +export const db = drizzle(client, { schema: { ...schema, ...extended } }); // console.log('DRIZZLE', 'migrating'); // migrate(db, { migrationsFolder: 'drizzle' })