import axios from 'axios' import config from '@/config' import { useCookies } from '@vueuse/integrations/useCookies' import { getDomain } from '@/utilities' export async function register(username: string, email: string, password: string) { try { const response = await axios.post(`${config.server_endpoint}/register`, { username, email, password }) useCookies().set('token', response.data.token as string) return { success: true, token: response.data.token } } catch (error: any) { if (typeof error.response.data === 'undefined') { return { error: 'Could not connect to server' } } return { error: error.response.data.message } } } export async function login(username: string, password: string) { try { const response = await axios.post(`${config.server_endpoint}/login`, { username, password }) useCookies().set('token', response.data.token as string, { domain: getDomain() }) return { success: true, token: response.data.token } } catch (error: any) { return { error: error.response.data.message } } } export async function resetPassword(email: string) { try { const response = await axios.post(`${config.server_endpoint}/reset-password`, { email }) return { success: true, token: response.data.token } } catch (error: any) { if (typeof error.response.data === 'undefined') { return { error: 'Could not connect to server' } } return { error: error.response.data.message } } } export async function newPassword(urlToken: string, password: string) { try { const response = await axios.post(`${config.server_endpoint}/new-password`, { urlToken, password }) return { success: true, token: response.data.token } } catch (error: any) { if (typeof error.response.data === 'undefined') { return { error: 'Could not connect to server' } } return { error: error.response.data.message } } }