/**
 * @file auth.ts
 * @description Wrapper client-side para o Supabase Auth. 
 * Exporta funções utilitárias assíncronas para Autenticação (Login/Registo/Logout) 
 * e para a obtenção da sessão ativa do utilizador.
 */
import { supabase } from './supabase'

export async function signIn(email: string, password: string) {
  const { data, error } = await supabase.auth.signInWithPassword({ email, password })
  if (error) throw error
  return data
}

export async function signUp(email: string, password: string) {
  const { data, error } = await supabase.auth.signUp({ email, password })
  if (error) throw error
  return data
}

export async function signOut() {
  const { error } = await supabase.auth.signOut()
  if (error) throw error
}

export async function getUser() {
  const { data, error } = await supabase.auth.getUser()
  if (error) return null
  return data.user
}
