forked from noxious/client
28 lines
1.0 KiB
TypeScript
28 lines
1.0 KiB
TypeScript
import axios from 'axios'
|
|
import config from '@/config'
|
|
import { useGameStore } from '@/stores/game'
|
|
import { useCookies } from '@vueuse/integrations/useCookies'
|
|
|
|
export async function register(username: string, password: string, gameStore = useGameStore()) {
|
|
try {
|
|
const response = await axios.post(`${config.server_endpoint}/register`, { username, password })
|
|
useCookies().set('token', response.data.token as string)
|
|
return { success: true, token: response.data.token }
|
|
} catch (error: any) {
|
|
return { error: error.response.data.message }
|
|
}
|
|
}
|
|
|
|
export async function login(username: string, password: string, gameStore = useGameStore()) {
|
|
try {
|
|
const response = await axios.post(`${config.server_endpoint}/login`, { username, password })
|
|
useCookies().set('token', response.data.token as string, {
|
|
// for whole domain
|
|
domain: window.location.hostname.split('.').slice(-2).join('.')
|
|
})
|
|
return { success: true, token: response.data.token }
|
|
} catch (error: any) {
|
|
return { error: error.response.data.message }
|
|
}
|
|
}
|