aboutsummaryrefslogtreecommitdiff
path: root/packages/web/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'packages/web/src/lib')
-rw-r--r--packages/web/src/lib/supabase/client.ts9
-rw-r--r--packages/web/src/lib/supabase/server.ts24
2 files changed, 33 insertions, 0 deletions
diff --git a/packages/web/src/lib/supabase/client.ts b/packages/web/src/lib/supabase/client.ts
new file mode 100644
index 0000000..d4d37f6
--- /dev/null
+++ b/packages/web/src/lib/supabase/client.ts
@@ -0,0 +1,9 @@
+import { createBrowserClient } from "@supabase/ssr";
+import { env } from "~/env";
+
+export function createClient() {
+ return createBrowserClient(
+ env.NEXT_PUBLIC_SUPABASE_URL,
+ env.NEXT_PUBLIC_SUPABASE_ANON_KEY,
+ );
+}
diff --git a/packages/web/src/lib/supabase/server.ts b/packages/web/src/lib/supabase/server.ts
new file mode 100644
index 0000000..86fa648
--- /dev/null
+++ b/packages/web/src/lib/supabase/server.ts
@@ -0,0 +1,24 @@
+import { createServerClient } from "@supabase/ssr";
+import { cookies } from "next/headers";
+import { env } from "~/env";
+
+export async function createClient() {
+ const cookieStore = await cookies();
+
+ return createServerClient(
+ env.NEXT_PUBLIC_SUPABASE_URL,
+ env.NEXT_PUBLIC_SUPABASE_ANON_KEY,
+ {
+ cookies: {
+ getAll() {
+ return cookieStore.getAll();
+ },
+ setAll(cookiesToSet) {
+ for (const { name, value, options } of cookiesToSet) {
+ cookieStore.set(name, value, options);
+ }
+ },
+ },
+ },
+ );
+}