Merge branch 'master' into v0.2

This commit is contained in:
Sam 2019-02-07 09:53:12 +01:00
commit 72e1529b81
6 changed files with 39 additions and 35 deletions

View File

@ -1,7 +1,7 @@
language: node_js
node_js: '11'
dist: xenial
dist: trusty
sudo: required
addons:

View File

@ -1,22 +1,24 @@
# Change log
## Version 0.1.1 - Fix and improvements (2019/01/xx)
## Version 0.1.1 - Fix and improvements (2019/02/07)
### Issues Closed
#### Bugs Fixed
* [#31](https://github.com/SamR1/FitTrackee/issues/31) - Use moving duration for stats
* [#29](https://github.com/SamR1/FitTrackee/issues/29) - Pause duration calculation with segments
* [#26](https://github.com/SamR1/FitTrackee/issues/26) - Total is incorrect in tooltip when duration is displayed
* [#24](https://github.com/SamR1/FitTrackee/issues/24) - Some distances are not displayed correctly on current month statistics
#### New Features
* [#25](https://github.com/SamR1/FitTrackee/issues/25) - Display records on calendar
* [#22](https://github.com/SamR1/FitTrackee/issues/22) - Add a total on current month statistics
In this release 6 issues were closed.
#### Bugs Fixed
* [#31](https://github.com/SamR1/FitTrackee/issues/31) - Use moving duration for stats
* [#29](https://github.com/SamR1/FitTrackee/issues/29) - Pause duration calculation with segments
* [#28](https://github.com/SamR1/FitTrackee/issues/28) - Error on uploading gpx file
* [#26](https://github.com/SamR1/FitTrackee/issues/26) - Total is incorrect in tooltip when duration is displayed
* [#24](https://github.com/SamR1/FitTrackee/issues/24) - Some distances are not displayed correctly on current month statistics
In this release 7 issues were closed.
## Version 0.1 - Minimal version (2018-07-04)

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

@ -20,7 +20,7 @@ export const generateIds = arr => {
}
export const createRequest = params => {
export const createApiRequest = params => {
const headers = {}
if (!params.noAuthorization) {
headers.Authorization = `Bearer ${
@ -38,12 +38,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.')
})
}