useAuthApi.ts
604 Bytes
import type { LoginResponse, MeResponse } from '~/types'
import { createSharedComposable } from '@vueuse/core'
const _useAuthApi = () => {
const api = useApiGateway()
const login = (credentials: { username: string, password: string }) => {
return api.request<LoginResponse>('/api/auth/login', {
method: 'POST',
body: credentials,
auth: false
})
}
const me = () => {
return api.request<MeResponse>('/api/auth/me', {
method: 'GET',
auth: true
})
}
return {
login,
me
}
}
export const useAuthApi = createSharedComposable(_useAuthApi)