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 }
  }
}
