diff options
| author | Zaid-maker <53424436+Zaid-maker@users.noreply.github.com> | 2025-06-24 16:59:44 +0500 |
|---|---|---|
| committer | Zaid-maker <53424436+Zaid-maker@users.noreply.github.com> | 2025-06-24 16:59:44 +0500 |
| commit | 62051de6c11dde40e2929c030e4418f87b137e42 (patch) | |
| tree | 3492ed2abd6a127512a6ce09543bcf770bcd53d5 /packages/auth/src | |
| parent | 7c83b8e70b2024d79f053bd40e6f633969c2c1f5 (diff) | |
| parent | 900deab065ef17941262f48524af786cac302945 (diff) | |
| download | opencut-62051de6c11dde40e2929c030e4418f87b137e42.tar.gz | |
Merge branch 'main' into implement-workflows
Diffstat (limited to 'packages/auth/src')
| -rw-r--r-- | packages/auth/src/client.ts | 5 | ||||
| -rw-r--r-- | packages/auth/src/index.ts | 5 | ||||
| -rw-r--r-- | packages/auth/src/server.ts | 29 |
3 files changed, 39 insertions, 0 deletions
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 |
