diff --git a/js/api.js b/js/api.js index 6798983..3510c72 100644 --- a/js/api.js +++ b/js/api.js @@ -1,8 +1,4 @@ -import { - createStore, - applyMiddleware, - combineReducers -} from 'redux'; +import {applyMiddleware, combineReducers, createStore} from 'redux'; import {composeWithDevTools} from 'redux-devtools-extension'; import thunkMiddleware from 'redux-thunk'; @@ -11,49 +7,8 @@ import {errorMessages} from './constants'; import {actionTypesUserinfo, defaultStateUserinfo} from './redux/userInfo'; import {actionTypesTournamentinfo, defaultStateTournamentinfo} from './redux/tournamentInfo'; import {actionTypesTournamentlist, defaultStateTournamentlist} from './redux/tournamentList'; +import {deleteRequest, getRequest, patchRequest, postRequest} from './redux/backendApi'; -import getConfig from 'next/config'; -const {publicRuntimeConfig} = getConfig(); - -const apiUrl = publicRuntimeConfig.api_url; - -const axios = require('axios'); - -export function postRequest(state, url, data) { - return axios.post(apiUrl + url, data, { - headers: generateHeaders(state) - }); -} - -export function getRequest(state, url) { - return axios.get(apiUrl + url, { - headers: generateHeaders(state) - }); -} - -export function deleteRequest(state, url) { - return axios.delete(apiUrl + url, { - headers: generateHeaders(state) - }); -} - -export function patchRequest(state, url, data) { - return axios.patch(apiUrl + url, data, { - headers: generateHeaders(state) - }); -} - -function generateHeaders(state) { - if (state.userinfo.isSignedIn) { - return { - 'access-token': state.userinfo.accesstoken, - 'client': state.userinfo.client, - 'uid': state.userinfo.uid - }; - } else { - return {}; - } -} function storeOptionalToken(response) { if (checkForAuthenticationHeaders(response)) { diff --git a/js/redux/backendApi.js b/js/redux/backendApi.js new file mode 100644 index 0000000..2653edd --- /dev/null +++ b/js/redux/backendApi.js @@ -0,0 +1,42 @@ +import getConfig from 'next/config'; +const {publicRuntimeConfig} = getConfig(); + +const apiUrl = publicRuntimeConfig.api_url; + +const axios = require('axios'); + +export function postRequest(state, url, data) { + return axios.post(apiUrl + url, data, { + headers: generateHeaders(state) + }); +} + +export function getRequest(state, url) { + return axios.get(apiUrl + url, { + headers: generateHeaders(state) + }); +} + +export function deleteRequest(state, url) { + return axios.delete(apiUrl + url, { + headers: generateHeaders(state) + }); +} + +export function patchRequest(state, url, data) { + return axios.patch(apiUrl + url, data, { + headers: generateHeaders(state) + }); +} + +function generateHeaders(state) { + if (state.userinfo.isSignedIn) { + return { + 'access-token': state.userinfo.accesstoken, + 'client': state.userinfo.client, + 'uid': state.userinfo.uid + }; + } else { + return {}; + } +} diff --git a/pages/tournament.js b/pages/tournament.js index 5238ca2..3380d45 100644 --- a/pages/tournament.js +++ b/pages/tournament.js @@ -24,9 +24,8 @@ import {ErrorPageComponent} from '../js/components/ErrorComponents'; import {Footer} from '../js/components/Footer'; import {TurniereNavigation} from '../js/components/Navigation'; import {BigImage} from '../js/components/BigImage'; -import { - getRequest, getState -} from '../js/api'; +import {getState} from '../js/api'; +import {getRequest} from '../js/redux/backendApi'; import 'bootstrap/dist/css/bootstrap.min.css';