import { useCookie } from '#app'

export const useAuthApi = (resource: string) => {
  
    const login = async (payload: any) => {
        try {
            const response = await $fetch(`/api/${resource}`, { method: 'POST', body: payload });
            if (response.status) return response;
            throw response;
        } catch (error) {
            throw error;
        }
    }


    const formSubmit = async (payload: any) => {
        try {
            const response = await $fetch(`/api/${resource}`, { 
              method: 'POST', 
              body: payload,
              headers: { Authorization: `Bearer ${localStorage.getItem('token')}` }
            });
            if (response.status) return response;
            throw response;
        } catch (error) {
            throw error;
        }
    }


    const permissions = async () => {
        try {
          return await $fetch(`/api/${resource}`, {
            method: 'GET',
            headers: { Authorization: `Bearer ${localStorage.getItem('token')}` }
          })
        } catch (error) {
          console.error(`Error creating record in ${resource}:`, error)
          return null
        }
    }


  
    const logout = async (payload: any) => {
      try {
        return await $fetch(`/api/${resource}`, {
          method: 'POST',
          body: payload,
          headers: {
            Authorization: `Bearer ${localStorage.getItem('token')}`,
            'route_id': `${localStorage.getItem('selected_route_id')}`
          }
        })
      } catch (error) {
        console.error(`Error creating record in ${resource}:`, error)
        return null
      }
    }
  


  
    return { login, logout, permissions, formSubmit }
}