Skip to content
Snippets Groups Projects
API.ts 1003 B
Newer Older
import { useQuery } from '@tanstack/react-query'
import axios, { AxiosRequestConfig } from 'axios'
import { toast } from 'react-toastify'
import { User } from './models/user.model'

const fetchWhoAmI = async () => {
  try {
    const { data } = await axios.get<User | null>('/api/common/WhoAmI')
    return data
  } catch (error) {
    console.error('error whoami', error)
    toast.error('Accès refusé, veuillez vous connecter')
  }
}

export const useWhoAmI = () => {
  return useQuery({
    queryKey: ['WhoAmI'],
    queryFn: fetchWhoAmI,
    retry: false,
    refetchOnMount: false,
  })
}

export const fetchLogout = async () => {
  return await axios.get('/Logout')
}

export const fetchEcogestureImages = async (
  axiosHeaders: AxiosRequestConfig
) => {
  const { data: imageNames } = await axios.get<string[]>(
    `/api/animator/imageNames`,
    axiosHeaders
  )
  if (imageNames && imageNames !== null) {
    return imageNames.map(image => `/assets/ecogesture/${image}`)
  }
  return []
}