83 lines
2.8 KiB
JavaScript
83 lines
2.8 KiB
JavaScript
import axios from 'axios'
|
|
import { getters } from '@/store'
|
|
const api = axios.create({
|
|
baseURL: process.env.NODE_ENV === 'development' ? 'http://localhost:3000/api' : '/api',
|
|
withCredentials: true,
|
|
responseType: 'json',
|
|
headers: {
|
|
'Access-Control-Allow-Origin': '*',
|
|
'Access-Control-Allow-Credentials': 'true',
|
|
'Accept': 'application/json',
|
|
'Content-Type': 'application/json'
|
|
}
|
|
})
|
|
|
|
function get(path) {
|
|
return api.get(path) //, { headers: { 'Authorization': getters.token } })
|
|
.then(res => res.data)
|
|
// .catch((e) => {
|
|
// if (e.response.status === 403) {
|
|
// // store.commit('logout') // TOFIX
|
|
// return false
|
|
// }
|
|
// throw e.response && e.response.data &&
|
|
// e.response.data.errors && e.response.data.errors[0].message
|
|
// })
|
|
}
|
|
|
|
function post(path, data) {
|
|
return api.post(path, data, { headers: { 'Authorization': getters.token } })
|
|
.then(res => res.data)
|
|
// .catch((e) => {
|
|
// if (e.response.status === 403) {
|
|
// // store.commit('logout') // TOFIX
|
|
// return false
|
|
// }
|
|
// throw e.response && e.response.data &&
|
|
// e.response.data.errors && e.response.data.errors[0].message
|
|
// })
|
|
}
|
|
function put(path, data) {
|
|
return api.put(path, data, { headers: { 'Authorization': getters.token } })
|
|
.then(ret => ret.data)
|
|
}
|
|
|
|
function del(path) {
|
|
return api.delete(path, { headers: { 'Authorization': getters.token } }).then(ret => ret.data)
|
|
}
|
|
|
|
export default {
|
|
login: (email, password) => post('/login', { email, password }),
|
|
register: user => post('/user', user),
|
|
|
|
// password recovery
|
|
forgotPassword: email => post('/user/recover', { email }),
|
|
checkRecoverCode: recover_code => post('/user/check_recover_code', { recover_code }),
|
|
recoverPassword: (recover_code, password) => post('/user/recover_password', { recover_code, password }),
|
|
|
|
getAllEvents: (month, year) => get(`/event/${year}/${month}`),
|
|
getUnconfirmedEvents: () => get('/event/unconfirmed'),
|
|
|
|
confirmEvent: id => get(`/event/confirm/${id}`),
|
|
unconfirmEvent: id => get(`/event/unconfirm/${id}`),
|
|
|
|
addNotification: notification => post('/event/notification', notification),
|
|
delNotification: code => del(`/event/notification/${code}`),
|
|
|
|
addEvent: event => post('/user/event', event),
|
|
updateEvent: event => put('/user/event', event),
|
|
|
|
updatePlace: place => put('/place', place),
|
|
delEvent: eventId => del(`/user/event/${eventId}`),
|
|
getEvent: eventId => get(`/event/${eventId}`),
|
|
getMeta: () => get('/event/meta'),
|
|
getUser: () => get('/user'),
|
|
getUsers: () => get('/users'),
|
|
updateTag: tag => put('/tag', tag),
|
|
updateUser: user => put('/user', user),
|
|
getAuthURL: mastodonInstance => post('/user/getauthurl', mastodonInstance),
|
|
setCode: code => post('/user/code', code),
|
|
getAdminSettings: () => get('/settings')
|
|
// setAdminSetting: (key, value) => post('/settings', { key, value })
|
|
}
|