All files / munch-ease-frontend/src/composables useAuth.ts

0% Statements 0/23
0% Branches 0/1
0% Functions 0/1
0% Lines 0/23

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24                                               
import { ref } from 'vue'
import { currentUser as apiCurrentUser, login as apiLogin } from '@/api/auth'
import type { Person } from '@/domain/types'

const user = ref<Person | null>(null)
let initialized = false

export async function loadUser() {
  if (!initialized) {
    user.value = await apiCurrentUser()
    initialized = true
  }
  return user.value
}

export async function login(username: string) {
  user.value = await apiLogin(username)
  return user.value
}

export function useAuth() {
  return { user, loadUser, login }
}