UNPKG

violet-paginator

Version:

Display, paginate, sort, filter, and update items from the server. violet-paginator is a complete list management library for react/redux applications.

60 lines (53 loc) 1.22 kB
import axios from 'axios' import PubSub from 'pubsub-js' const API_BASE = 'https://brewed-dev.herokuapp.com/v1' function api() { const adapter = axios.create({ baseURL: API_BASE, timeout: 10000, withCredentials: true, headers: { 'X-Api-Key': 'b780aac581de488cf77a629517ac999b', Accept: 'application/json' } }) adapter.interceptors.response.use( undefined, (error) => { if (error.response.status === 403) { PubSub.publish('session.expired') } return Promise.reject(error) } ) return adapter } export default { sessions: { create: (username, password) => api().post('/users/authenticate', { user_agent: navigator.userAgent, username, password }).then(resp => { localStorage.setItem('refresh', resp.data.refresh_token) return resp }) }, users: { create: (username, email, password) => api().post('/users', { user: { username, email, password } }) }, recipes: { index: (filters={}) => api().get('/recipes', { params: { ...filters } }), show: (id) => api().get(`/recipes/${id}`) } }