nuxt-start/stores/auth.ts
2025-12-26 11:46:24 +01:00

35 lines
801 B
TypeScript

import { defineStore } from 'pinia'
export const useAuthStore = defineStore({
id: 'AuthStore',
state: () => ({ user: null, rentals: null, rent: {} }),
actions: {
async getData() {
const { getToken } = useAuthToken()
const token = getToken()
if (token) {
const { data } = await useFetch('https://olcsoberauto.hu/rest/me',
{
headers: {
'auth-key': token
}
}
)
if (data.value?.user) {
this.user = data.value.user
this.rentals = data.value.rentals
}
}
},
async logout() {
const { clearToken } = useAuthToken()
await clearToken()
this.user = null
this.rentals = null
this.rent = {}
navigateTo('/login')
}
}
})