FitTrackee/mpwo_client/src/mwpoApi/index.js

66 lines
1.4 KiB
JavaScript
Raw Normal View History

2018-05-28 12:35:17 +02:00
import { apiUrl, createRequest } from '../utils'
2018-04-29 18:23:46 +02:00
export default class MpwoApi {
static getData(target,
2018-06-04 14:55:09 +02:00
data = {}) {
let url = `${apiUrl}${target}`
2018-06-04 14:55:09 +02:00
if (data.id) {
url = `${url}/${data.id}`
} else if (data.page) {
url = `${url}?page=${data.page}`
}
2018-06-04 14:55:09 +02:00
if (data.start || data.end) {
url = `${url}${
2018-06-04 14:55:09 +02:00
data.page ? '' : '?'
}${
2018-06-04 14:55:09 +02:00
data.start && `&from=${data.start}`
}${
2018-06-04 14:55:09 +02:00
data.end && `&to=${data.end}`
}`
}
2018-06-04 14:55:09 +02:00
if (data.order) {
url = `${url}${
(data.page || data.start || data.end) ? '' : '?'
}${
`&order=${data.order}`
}`
}
2018-05-28 12:35:17 +02:00
const params = {
url: url,
2018-04-29 18:23:46 +02:00
method: 'GET',
2018-05-28 12:35:17 +02:00
type: 'application/json',
}
return createRequest(params)
2018-04-29 18:23:46 +02:00
}
2018-04-30 20:08:18 +02:00
2018-04-30 21:38:09 +02:00
static addData(target, data) {
2018-05-28 12:35:17 +02:00
const params = {
url: `${apiUrl}${target}`,
2018-04-30 21:38:09 +02:00
method: 'POST',
2018-05-28 12:35:17 +02:00
body: data,
type: 'application/json',
}
return createRequest(params)
2018-04-30 21:38:09 +02:00
}
2018-04-30 20:08:18 +02:00
static updateData(target, data) {
2018-05-28 12:35:17 +02:00
const params = {
url: `${apiUrl}${target}/${data.id}`,
2018-04-30 20:08:18 +02:00
method: 'PATCH',
2018-05-28 12:35:17 +02:00
body: data,
type: 'application/json',
}
return createRequest(params)
2018-04-30 20:08:18 +02:00
}
2018-04-30 21:38:09 +02:00
static deleteData(target, id) {
2018-05-28 12:35:17 +02:00
const params = {
url: `${apiUrl}${target}/${id}`,
2018-04-30 21:38:09 +02:00
method: 'DELETE',
2018-05-28 12:35:17 +02:00
type: 'application/json',
}
return createRequest(params)
2018-04-30 21:38:09 +02:00
}
2018-04-29 18:23:46 +02:00
}