32 lines
882 B
TypeScript
32 lines
882 B
TypeScript
import type { User } from '@/types/user'
|
|
import { ref } from 'vue'
|
|
import { defineStore } from 'pinia'
|
|
import { useFetchJson } from '@/composable/useFetchJson'
|
|
|
|
export const useUserStore = defineStore('user', () => {
|
|
const error = ref<string | null>(null)
|
|
const user = ref<User | null>(null)
|
|
|
|
async function getUser() {
|
|
error.value = null
|
|
try {
|
|
const data = await useFetchJson<User>(`/api/v1/restricted/customer`)
|
|
console.log('getUser API response:', data)
|
|
|
|
const response: User = (data as any).items ?? data
|
|
console.log('User response:', response)
|
|
user.value = response
|
|
|
|
return response
|
|
} catch (err: any) {
|
|
error.value = err?.message ?? 'Unknown error'
|
|
return null
|
|
}
|
|
}
|
|
|
|
return {
|
|
error,
|
|
user,
|
|
getUser
|
|
}
|
|
}) |