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 | |
| parent | 7c83b8e70b2024d79f053bd40e6f633969c2c1f5 (diff) | |
| parent | 900deab065ef17941262f48524af786cac302945 (diff) | |
| download | opencut-62051de6c11dde40e2929c030e4418f87b137e42.tar.gz | |
Merge branch 'main' into implement-workflows
Diffstat (limited to 'packages/auth')
| -rw-r--r-- | packages/auth/package.json | 19 | ||||
| -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 |
4 files changed, 58 insertions, 0 deletions
diff --git a/packages/auth/package.json b/packages/auth/package.json new file mode 100644 index 00000000..3ee43643 --- /dev/null +++ b/packages/auth/package.json @@ -0,0 +1,19 @@ +{ + "name": "@opencut/auth", + "version": "0.0.0", + "description": "Authentication package for OpenCut", + "main": "./src/index.ts", + "types": "./src/index.ts", + "exports": { + ".": "./src/index.ts", + "./client": "./src/client.ts", + "./server": "./src/server.ts" + }, + "dependencies": { + "better-auth": "^1.1.1", + "@opencut/db": "workspace:*" + }, + "devDependencies": { + "@types/node": "^22.10.2" + } +}
\ No newline at end of file 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 |
