import { z } from 'zod' const userSchema = z.object({ email: z.string().email(), password: z.string(), }) const returnMain = () => { navigateTo('/notes') } const userSignOut = async () => { const supabase = useSupabaseAuthClient() const { error } = await supabase.auth.signOut() if (error) return error returnMain() } const userSignIn = async (email: unknown, password: unknown) => { const parsedUser = userSchema.safeParse({ email, password }) if (!parsedUser.success) return const { data: user, error } = await useSupabaseAuthClient().auth.signInWithPassword(parsedUser.data) if (error) return error returnMain() } const userSignUp = async (email: unknown, password: unknown) => { const parsedUser = userSchema.safeParse({ email, password }) if (!parsedUser.success) return const { data: user, error } = await useSupabaseAuthClient().auth.signUp( parsedUser.data ) if (error) return error returnMain() } export { userSignIn, userSignOut, userSignUp }