diff --git a/src/components/screens/Login.vue b/src/components/screens/Login.vue index f2ef497..5683328 100644 --- a/src/components/screens/Login.vue +++ b/src/components/screens/Login.vue @@ -51,13 +51,11 @@ async function loginFunc() { } // send login event to server - const success = await login(username.value, password.value) + const response = await login(username.value, password.value) - if (!success) { - notifications.addNotification({ message: 'Invalid username or password' }) + if (response.success === undefined) { + notifications.addNotification({ message: response.error }) } - - // if (success) {} } async function registerFunc() { @@ -68,13 +66,11 @@ async function registerFunc() { } // send register event to server - const success = await register(username.value, password.value) + const response = await register(username.value, password.value) - if (!success) { - notifications.addNotification({ message: 'Username already exists' }) + if (response.success === undefined) { + notifications.addNotification({ message: response.error }) } - - // if (success) {} } diff --git a/src/services/authentication.ts b/src/services/authentication.ts index 79b8bac..dfba9c1 100644 --- a/src/services/authentication.ts +++ b/src/services/authentication.ts @@ -6,27 +6,23 @@ import { useCookies } from '@vueuse/integrations/useCookies' export async function register(username: string, password: string, socketStore = useSocketStore()) { try { const response = await axios.post(`${config.server_endpoint}/register`, { username, password }) - if (response.status === 200) { - useCookies().set('token', response.data.token as string) - await socketStore.setupSocketConnection() - return true - } - } catch (error) { - console.error('Error registering user:', error) - return false + useCookies().set('token', response.data.token as string) + await socketStore.setupSocketConnection() + return { success: true } + } catch (error: any) { + return { error: error.response.data.message } } } export async function login(username: string, password: string, socketStore = useSocketStore()) { - try { - const response = await axios.post(`${config.server_endpoint}/login`, { username, password }) - if (response.status === 200) { - useCookies().set('token', response.data.token as string) - await socketStore.setupSocketConnection() - return true - } - } catch (error) { - console.error('Login failed:', error) - return false + const response = await axios.post(`${config.server_endpoint}/login`, { username, password }) + + console.log(response.status, response.data); + if (response.status !== 200) { + return { error: response.data.message } } + + useCookies().set('token', response.data.token as string) + await socketStore.setupSocketConnection() + return { success: true } }