canape/src/public/js/actions/actionCreators.js
2017-01-03 15:39:12 +01:00

114 lines
1.8 KiB
JavaScript

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
}
}