From 3b4577e474a95a16f0b9478ad3eddf50a2ba90eb Mon Sep 17 00:00:00 2001 From: Hyteq Date: Tue, 24 Jun 2025 11:31:35 +0300 Subject: feat: initial auth package --- packages/auth/src/client.ts | 5 +++++ packages/auth/src/index.ts | 5 +++++ packages/auth/src/server.ts | 29 +++++++++++++++++++++++++++++ 3 files changed, 39 insertions(+) create mode 100644 packages/auth/src/client.ts create mode 100644 packages/auth/src/index.ts create mode 100644 packages/auth/src/server.ts (limited to 'packages/auth/src') diff --git a/packages/auth/src/client.ts b/packages/auth/src/client.ts new file mode 100644 index 00000000..deda3928 --- /dev/null +++ b/packages/auth/src/client.ts @@ -0,0 +1,5 @@ +import { createAuthClient } from "better-auth/react"; + +export const { signIn, signUp, useSession } = createAuthClient({ + baseURL: process.env.NEXT_PUBLIC_BETTER_AUTH_URL!, +}); \ No newline at end of file diff --git a/packages/auth/src/index.ts b/packages/auth/src/index.ts new file mode 100644 index 00000000..f0676f1f --- /dev/null +++ b/packages/auth/src/index.ts @@ -0,0 +1,5 @@ +// Re-export server auth +export * from "./server"; + +// Re-export client auth +export * from "./client"; \ No newline at end of file diff --git a/packages/auth/src/server.ts b/packages/auth/src/server.ts new file mode 100644 index 00000000..f6c68dc5 --- /dev/null +++ b/packages/auth/src/server.ts @@ -0,0 +1,29 @@ +import { betterAuth } from "better-auth"; +import { drizzleAdapter } from "better-auth/adapters/drizzle"; +import { db } from "@opencut/db"; + +export const auth = betterAuth({ + database: drizzleAdapter(db, { + provider: "pg", + usePlural: true, + }), + secret: process.env.BETTER_AUTH_SECRET!, + user: { + deleteUser: { + enabled: true, + }, + }, + emailAndPassword: { + enabled: true, + }, + socialProviders: { + google: { + clientId: process.env.GOOGLE_CLIENT_ID as string, + clientSecret: process.env.GOOGLE_CLIENT_SECRET as string, + }, + }, + appName: "OpenCut", + trustedOrigins: ["http://localhost:3000"], +}); + +export type Auth = typeof auth; \ No newline at end of file -- cgit v1.3.1