class Api {
constructor(apiUrl) {
this.apiUrl = apiUrl;
}
getPurchases () {
return fetch(`/purchases`, {
headers: {
'Content-Type': 'application/json'
}
})
.then( e => {
if(e.ok) {
return e.json()
}
return Promise.reject(e.statusText)
})
}
addPurchases (id) {
return fetch(`/purchases`, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
id: id
})
})
.then( e => {
if(e.ok) {
return e.json()
}
return Promise.reject(e.statusText)
})
}
removePurchases (id){
return fetch(`/purchases/${id}`, {
method: 'DELETE',
headers: {
'Content-Type': 'application/json'
}
})
.then( e => {
if(e.ok) {
return e.json()
}
return Promise.reject(e.statusText)
})
}
addSubscriptions(id) {
return fetch(`/subscriptions`, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
id: id
})
})
.then( e => {
if(e.ok) {
return e.json()
}
return Promise.reject(e.statusText)
})
}
removeSubscriptions (id) {
return fetch(`/subscriptions/${id}`, {
method: 'DELETE',
headers: {
'Content-Type': 'application/json'
}
})
.then( e => {
if(e.ok) {
return e.json()
}
return Promise.reject(e.statusText)
})
}
addFavorites (id) {
return fetch(`/favorites`, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
id: id
})
})
.then( e => {
if(e.ok) {
return e.json()
}
return Promise.reject(e.statusText)
})
}
removeFavorites (id) {
return fetch(`/favorites/${id}`, {
method: 'DELETE',
headers: {
'Content-Type': 'application/json'
}
})
.then( e => {
if(e.ok) {
return e.json()
}
return Promise.reject(e.statusText)
})
}
getIngredients (text) {
return fetch(`/ingredients?query=${text}`, {
headers: {
'Content-Type': 'application/json'
}
})
.then( e => {
if(e.ok) {
return e.json()
}
return Promise.reject(e.statusText)
})
}
}