// VERSION 1:
/*import axios from 'axios'

const baseUrl = 'http://localhost:8001/api/v1/book/registration/search/isbn/' // Passe die URL an

export default {
  getBookByIsbn(isbn) {
    return axios.get(`${baseUrl}${isbn}`, {
      headers: {
        'accept': 'application/json',
      },
    })
      .catch(error => {
        // Detailliertere Fehlerbehandlung
        console.error('Fehler beim Abrufen des Buches:', error)

        // Zeige dem Benutzer eine informative Fehlermeldung an
      })
  },
}*/

// ********************************
// VERSION 2:
import axios from 'axios'

const baseUrl = 'http://localhost:8001/api/v1/book/registration/search/isbn/'

export default {
  async getBookByIsbn(isbn) {
    try {
      const response = await axios.get(`${baseUrl}${isbn}`, {
        timeout: 5000, // Adjust timeout as needed
      })

      return response.data
    } catch (error) {
      console.error('Fehler beim Abrufen des Buches:', error)
      console.error('Antwort vom Server:', error.response)

      // Detailliertere Fehlerbehandlung basierend auf dem Fehlertyp
      if (error.response && error.response.status === 404) {
        console.error('Buch nicht gefunden')
      } else if (error.code === 'ECONNABORTED') {
        console.error('Verbindungsabbruch')
      } else if (error.response && error.response.status === 500) {
        console.error('Interner Serverfehler')
      } else {
        console.error('Unbekannter Fehler')
      }

      // Zeige dem Benutzer eine benutzerfreundliche Fehlermeldung an
      throw new Error('Ein Fehler ist beim Abrufen des Buchs aufgetreten.')
    }
  },
}



// ********************************
// VERSION 3:
/*const axios = require('axios')

export default {
  getBookByIsbn(isbn) {
    // Make a request for a user with a given ID
      console.log(isbn)
    axios.get('http://localhost:8001/api/v1/book/registration/search/isbn/9783898798822')
      .then(function (response) {
        // handle success
        console.log("hi", response)
      })
      .catch(function (error) {
        // handle error
        console.log(error)
        console.log("hi")
      })
      .finally(function () {
        // always executed
        console.log("hi")
      })
  },
}*/
