import { toast } from 'vue-sonner'; import type { ApiResponse } from '#shared/types/api'; const REGISTER_TOAST_ID = 'REGISTER_USER_TOAST' as const; export async function registerUser( username: string, email: string, password: string ): Promise<{ success: boolean }> { const { data, error } = await useFetch>( getApiUrl('auth/register'), { method: 'POST', headers: { 'content-type': 'application/json', }, body: JSON.stringify({ name: username, email: email, password: password, }), responseType: 'json', } ); if (data.value == null) { toast.error('Register', { id: REGISTER_TOAST_ID, description: error.value?.data ?? 'Failed to register', }); return { success: false, }; } toast.success('Register', { id: REGISTER_TOAST_ID, description: `Successfully registered user ${username}`, }); return { success: true, }; }