Reaching a finishing point!
This commit is contained in:
@ -4,11 +4,10 @@ import 'server-only';
|
||||
import { encodedRedirect } from '@/utils/utils';
|
||||
import { createServerClient } from '@/utils/supabase';
|
||||
import { headers } from 'next/headers';
|
||||
import { redirect } from 'next/navigation';
|
||||
import type { User } from '@/utils/supabase';
|
||||
import type { Result } from './index';
|
||||
|
||||
export const signUp = async (formData: FormData) => {
|
||||
export const signUp = async (formData: FormData): Promise<Result<string | null>> => {
|
||||
const name = formData.get('name') as string;
|
||||
const email = formData.get('email') as string;
|
||||
const password = formData.get('password') as string;
|
||||
@ -36,13 +35,12 @@ export const signUp = async (formData: FormData) => {
|
||||
},
|
||||
});
|
||||
if (error) {
|
||||
return encodedRedirect('error', '/sign-up', error.message);
|
||||
return { success: false, error: error.message };
|
||||
} else {
|
||||
return encodedRedirect(
|
||||
'success',
|
||||
'/sign-up',
|
||||
'Thanks for signing up! Please check your email for a verification link.',
|
||||
);
|
||||
return {
|
||||
success: true,
|
||||
data: 'Thanks for signing up! Please check your email for a verification link.',
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
@ -64,14 +62,13 @@ export const signIn = async (
|
||||
}
|
||||
};
|
||||
|
||||
export const forgotPassword = async (formData: FormData) => {
|
||||
export const forgotPassword = async (formData: FormData): Promise<Result<string | null>> => {
|
||||
const email = formData.get('email') as string;
|
||||
const supabase = await createServerClient();
|
||||
const origin = (await headers()).get('origin');
|
||||
const callbackUrl = formData.get('callbackUrl') as string;
|
||||
|
||||
if (!email) {
|
||||
return encodedRedirect('error', '/forgot-password', 'Email is required');
|
||||
return { success: false, error: 'Email is required' };
|
||||
}
|
||||
|
||||
const { error } = await supabase.auth.resetPasswordForEmail(email, {
|
||||
@ -79,22 +76,9 @@ export const forgotPassword = async (formData: FormData) => {
|
||||
});
|
||||
|
||||
if (error) {
|
||||
return encodedRedirect(
|
||||
'error',
|
||||
'/forgot-password',
|
||||
'Could not reset password',
|
||||
);
|
||||
return { success: false, error: 'Could not reset password' };
|
||||
}
|
||||
|
||||
if (callbackUrl) {
|
||||
return redirect(callbackUrl);
|
||||
}
|
||||
|
||||
return encodedRedirect(
|
||||
'success',
|
||||
'/forgot-password',
|
||||
'Check your email for a link to reset your password.',
|
||||
);
|
||||
return { success: true, data: 'Check your email for a link to reset your password.' };
|
||||
};
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user