import { User } from "@/types/user"; import { getSupabaseClient } from "./db"; export async function insertUser(user: User) { const supabase = getSupabaseClient(); const { data, error } = await supabase.from("users").insert(user); if (error) throw error; return data; } export async function findUserByEmail( email: string, signin_provider: string ): Promise { const supabase = getSupabaseClient(); const { data, error } = await supabase .from("users") .select("*") .eq("email", email) .eq("signin_provider", signin_provider) .single(); if (!data) return undefined; return formatUser(data); } export async function findUserByUuid(uuid: string): Promise { const supabase = getSupabaseClient(); const { data, error } = await supabase .from("users") .select("*") .eq("uuid", uuid) .single(); if (!data) return undefined; return formatUser(data); } export function formatUser(row: any): User { const user: User = { uuid: row.uuid, email: row.email, created_at: row.created_at, nickname: row.nickname, avatar_url: row.avatar_url, locale: row.locale, signin_type: row.signin_type, signin_ip: row.signin_ip, signin_provider: row.signin_provider, signin_openid: row.signin_openid, }; return user; }