jam-cloud/jam-ui/src/helpers/rest.js

100 lines
2.6 KiB
JavaScript
Raw Normal View History

import apiFetch from "./apiFetch";
export const getMusicians = (page) => {
return new Promise((resolve, reject) => {
apiFetch(`/search/musicians?results=true`)
.then(response => resolve(response))
.catch(error => reject(error))
})
}
// export const getPeople = (page) => {
// return new Promise((resolve, reject) => {
// apiFetch(`/filter?page=${page}`)
// .then(response => resolve(response))
// .catch(error => reject(error))
// })
// }
export const getPersonById = (id) => {
return new Promise((resolve, reject) => (
apiFetch(`/users/${id}/profile?show_teacher=true`)
.then(response => resolve(response))
.catch(error => reject(error))
))
}
export const getPeople = ({ data, page } = {}) => {
return new Promise((resolve, reject) => {
apiFetch(`/filter?page=${page}`, {
method: 'POST',
body: JSON.stringify(data)
})
.then(response => resolve(response))
.catch(error => reject(error))
})
}
export const getGenres = () => {
return new Promise((resolve, reject) => {
apiFetch('/genres')
.then(response => resolve(response))
.catch(error => reject(error))
})
}
export const getInstruments = () => {
return new Promise((resolve, reject) => {
apiFetch('/instruments')
.then(response => resolve(response))
.catch(error => reject(error))
})
}
export const getCurrentUser = () => {
return new Promise((resolve, reject) => {
apiFetch('/me')
.then(response => resolve(response))
.catch(error => reject(error))
})
}
export const addFriend = (userId, friendId) => {
return new Promise((resolve, reject) => {
apiFetch(`/users/${userId}/friend_requests`, {
method: 'POST',
body: JSON.stringify({ friend_id: friendId })
})
.then(response => resolve(response))
.catch(error => reject(error))
})
}
export const removeFriend = (userId, friendId) => {
return new Promise((resolve, reject) => {
apiFetch(`/users/${userId}/friends/${friendId}`, {
method: 'DELETE'
})
.then(response => resolve(response))
.catch(error => reject(error))
})
}
export const getTextMessages = (options = {}) => {
return new Promise((resolve, reject) => {
apiFetch(`/text_messages?${new URLSearchParams(options)}`)
.then(response => resolve(response))
.catch(error => reject(error))
})
}
export const createTextMessage = (options) => {
return new Promise((resolve, reject) => {
apiFetch(`/text_messages`, {
method: "POST",
body: JSON.stringify(options)
})
.then(response => resolve(response))
.catch(error => reject(error))
})
}