'use server' import { createClient } from '@/lib/supabase/server' import { headers } from 'next/headers' export async function signIn(email: string, password: string) { const supabase = await createClient() const { error } = await supabase.auth.signInWithPassword({ email, password, }) if (error) { throw new Error(error.message) } return { success: true } } export async function signUp(email: string, password: string) { const supabase = await createClient() const origin = (await headers()).get('origin') || '' const { error } = await supabase.auth.signUp({ email, password, options: { emailRedirectTo: `${origin}/protected`, }, }) if (error) { throw new Error(error.message) } return { success: true } } export async function signOut() { const supabase = await createClient() const { error } = await supabase.auth.signOut() if (error) { throw new Error(error.message) } return { success: true } } export async function resetPassword(email: string) { const supabase = await createClient() const origin = (await headers()).get('origin') || '' const { error } = await supabase.auth.resetPasswordForEmail(email, { redirectTo: `${origin}/auth/update-password`, }) if (error) { throw new Error(error.message) } return { success: true } } export async function updatePassword(password: string) { const supabase = await createClient() const { error } = await supabase.auth.updateUser({ password }) if (error) { throw new Error(error.message) } return { success: true } }