This commit is contained in:
Sam 2019-01-18 19:34:38 +01:00
parent 012c83121d
commit f14d5a1dbf
4 changed files with 27 additions and 25 deletions

View File

@ -27,7 +27,7 @@ export const getOrUpdateData = (action, target, data) => dispatch => {
if (ret.status === 'success') {
dispatch(setData(target, ret.data))
} else {
dispatch(setError(`${target}: ${ret.message}`))
dispatch(setError(`${target}: ${ret.message || ret.status}`))
}
})
.catch(error => dispatch(setError(`${target}: ${error}`)))
@ -54,7 +54,7 @@ export const deleteData = (target, id) => dispatch => {
if (ret.status === 204) {
history.push(`/admin/${target}`)
} else {
dispatch(setError(`${target}: ${ret.message}`))
dispatch(setError(`${target}: ${ret.message || ret.status}`))
}
})
.catch(error => dispatch(setError(`${target}: ${error}`)))

View File

@ -1,10 +1,9 @@
import { apiUrl, createRequest } from '../utils'
import { createApiRequest } from '../utils'
export default class FitTrackeeApi {
static getData(target,
data = {}) {
let url = `${apiUrl}${target}`
static getData(target, data = {}) {
let url = target
if (data.id) {
url = `${url}/${data.id}`
} else if (Object.keys(data).length > 0) {
@ -16,54 +15,54 @@ export default class FitTrackeeApi {
method: 'GET',
type: 'application/json',
}
return createRequest(params)
return createApiRequest(params)
}
static addData(target, data) {
const params = {
url: `${apiUrl}${target}`,
url: target,
method: 'POST',
body: data,
type: 'application/json',
}
return createRequest(params)
return createApiRequest(params)
}
static addDataWithFile(target, data) {
const params = {
url: `${apiUrl}${target}`,
url: target,
method: 'POST',
body: data,
}
return createRequest(params)
return createApiRequest(params)
}
static postData(target, data) {
const params = {
url: `${apiUrl}${target}${data.id ? `/${data.id}` : '' }`,
url: `${target}${data.id ? `/${data.id}` : '' }`,
method: 'POST',
body: data,
type: 'application/json',
}
return createRequest(params)
return createApiRequest(params)
}
static updateData(target, data) {
const params = {
url: `${apiUrl}${target}/${data.id}`,
url: `${target}/${data.id}`,
method: 'PATCH',
body: data,
type: 'application/json',
}
return createRequest(params)
return createApiRequest(params)
}
static deleteData(target, id) {
const params = {
url: `${apiUrl}${target}/${id}`,
url: `${target}/${id}`,
method: 'DELETE',
type: 'application/json',
}
return createRequest(params)
return createApiRequest(params)
}
}

View File

@ -1,23 +1,23 @@
import { apiUrl, createRequest } from '../utils'
import { createApiRequest } from '../utils'
export default class FitTrackeeApi {
static loginOrRegister(target, data) {
const params = {
url: `${apiUrl}auth/${target}`,
url: `auth/${target}`,
method: 'POST',
noAuthorization: true,
body: data,
type: 'application/json',
}
return createRequest(params)
return createApiRequest(params)
}
static deletePicture() {
const params = {
url: `${apiUrl}auth/picture`,
url: 'auth/picture',
method: 'DELETE',
}
return createRequest(params)
return createApiRequest(params)
}
}

View File

@ -30,7 +30,7 @@ export const generateIds = arr => {
}
export const createRequest = params => {
export const createApiRequest = params => {
const headers = {}
if (!params.noAuthorization) {
headers.Authorization = `Bearer ${
@ -48,12 +48,15 @@ export const createRequest = params => {
} else if (params.body) {
requestParams.body = params.body
}
const request = new Request(params.url, requestParams)
const request = new Request(`${apiUrl}${params.url}`, requestParams)
return fetch(request)
.then(response => params.method === 'DELETE'
? response
: response.json())
.catch(error => error)
.catch(error => {
console.error(error)
return new Error('An error occurred. Please contact the administrator.')
})
}