import axios from 'axios'; export const getError = (e, actionType: string) => { return { type: actionType, data: e, }; }; export const get = (url: string) => { const authToken = getAuthToken(); return axios.get(url, { headers: { Accept: 'application/json', 'Content-Type': 'application/json', Authorization: `Bearer ${authToken}`, }, }).then(response => (response.data)); }; export const post = (url: string, body: object) => { const authToken = getAuthToken(); return axios.post(url, body, { headers: { Accept: 'application/json', 'Content-Type': 'application/json', Authorization: `Bearer ${authToken}`, }, }).then(response => (response.data)); }; export const deleteResource = (url: string) => { const authToken = getAuthToken(); return axios.delete(url, { headers: { Accept: 'application/json', 'Content-Type': 'application/json', Authorization: `Bearer ${authToken}`, }, }).then(response => (response.data)); }; export const responseToJson = (response) => { return JSON.parse(response); }; export const getAuthToken = () => { // using aws-ampify/auth probably won't work because Auth is not shared between apps const tokenItem = localStorage.getItem('aws-amplify-cacheCognitoOpenIDToken') || '{ "data": "" }'; return JSON.parse(tokenItem).data; };