Some checks failed
Build and Deploy Nuxt / build (push) Failing after 2m1s
27 lines
733 B
JavaScript
27 lines
733 B
JavaScript
// composables/useApi.js
|
|
import { ref } from 'vue'
|
|
|
|
export default function useApi() {
|
|
const config = useRuntimeConfig()
|
|
const baseUrl = config.public.apiBaseUrl
|
|
|
|
// Generic GET request
|
|
const get = async (endpoint) => {
|
|
const res = await fetch(`${baseUrl}${endpoint}`)
|
|
if (!res.ok) throw new Error(`API GET ${endpoint} failed`)
|
|
return res.json()
|
|
}
|
|
|
|
// Generic POST request
|
|
const post = async (endpoint, payload) => {
|
|
const res = await fetch(`${baseUrl}${endpoint}`, {
|
|
method: 'POST',
|
|
headers: { 'Content-Type': 'application/json' },
|
|
body: JSON.stringify(payload)
|
|
})
|
|
if (!res.ok) throw new Error(`API POST ${endpoint} failed`)
|
|
return res.json()
|
|
}
|
|
|
|
return { get, post }
|
|
} |