feat : ajout de l'authentification avec lexik

This commit is contained in:
2026-01-19 15:17:43 +01:00
parent 42fafc5d39
commit ce49785c79
33 changed files with 932 additions and 43 deletions

View File

@@ -1,5 +1,6 @@
import type { FetchOptions } from 'ofetch'
import { $fetch, FetchError } from 'ofetch'
import { useAuthStore } from '~/stores/auth'
export type AnyObject = Record<string, unknown>
@@ -26,6 +27,7 @@ export const useApi = (): ApiClient => {
const config = useRuntimeConfig()
const baseURL = config.public.apiBase ?? '/api'
const toast = useToast()
const auth = useAuthStore()
const nuxtApp = useNuxtApp()
const i18n = nuxtApp.$i18n as
| {
@@ -70,12 +72,17 @@ export const useApi = (): ApiClient => {
const client = $fetch.create({
baseURL,
retry: 0,
onResponse({ options }) {
credentials: 'include',
onResponse({ options, response }) {
const apiOptions = options as ApiFetchOptions<'json'>
if (apiOptions?.toast === false) {
return
}
if (response?.status && response.status >= 400) {
return
}
const successKey = apiOptions?.toastSuccessKey
const successMessage =
apiOptions?.toastSuccessMessage ||