import { configureAxios, request } from '../requests' // ====================== // Errors // ====================== export function addError(message) { return { type: 'ADD_ERROR', payload: { message, } } } export function dismissError() { return { type: 'DISMISS_ERROR', } } // ====================== // Users // ====================== export function userLogout() { return { type: 'USER_LOGOUT', } } export function isUserLoggedIn() { return { type: 'IS_USER_LOGGED_IN', } } export function loginUser(username, password) { return request( 'USER_LOGIN', configureAxios().post( '/users/login', { username: username, password: password, }, ) ) } export function updateUser(config) { return request( 'USER_UPDATE', configureAxios().post('/users/edit', config) ) } export function userSignUp(config) { return request( 'USER_SIGNUP', configureAxios().post('/users/signup', config) ) } export function getUserInfos() { return request( 'GET_USER', configureAxios().get('/users/details') ) } // ====================== // Movies // ====================== export function selectMovie(imdbId) { return { type: 'SELECT_MOVIE', imdbId } } export function getMovieDetails(imdbId) { return request( 'MOVIE_GET_DETAILS', configureAxios().get(`/movies/${imdbId}/get_details`) ) } export function fetchMovies(url) { return request( 'MOVIE_LIST_FETCH', configureAxios().get(url) ) } // ====================== // Shows // ====================== export function fetchShows(url) { return request( 'SHOW_LIST_FETCH', configureAxios().get(url) ) } export function selectShow(imdbId) { return { type: 'SELECT_SHOW', imdbId } }