1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-07-21 13:47:39 +02:00
unleash.unleash/frontend/src/store/project/actions.js
2020-11-23 21:09:19 +01:00

58 lines
1.8 KiB
JavaScript

import api from '../../data/project-api';
import { dispatchAndThrow } from '../util';
export const RECEIVE_PROJECT = 'RECEIVE_PROJECT';
export const ERROR_RECEIVE_PROJECT = 'ERROR_RECEIVE_PROJECT';
export const REMOVE_PROJECT = 'REMOVE_PROJECT';
export const ERROR_REMOVING_PROJECT = 'ERROR_REMOVING_PROJECT';
export const ADD_PROJECT = 'ADD_PROJECT';
export const ERROR_ADD_PROJECT = 'ERROR_ADD_PROJECT';
export const UPDATE_PROJECT = 'UPDATE_PROJECT';
export const ERROR_UPDATE_PROJECT = 'ERROR_UPDATE_PROJECT';
const addProject = project => ({ type: ADD_PROJECT, project });
const upProject = project => ({ type: UPDATE_PROJECT, project });
const delProject = project => ({ type: REMOVE_PROJECT, project });
export function fetchProjects() {
return () => {};
/*
const receiveProjects = value => ({ type: RECEIVE_PROJECT, value });
return dispatch =>
api
.fetchAll()
.then(json => {
dispatch(receiveProjects(json.projects));
})
.catch(dispatchAndThrow(dispatch, ERROR_RECEIVE_PROJECT));
*/
}
export function removeProject(project) {
return dispatch =>
api
.remove(project)
.then(() => dispatch(delProject(project)))
.catch(dispatchAndThrow(dispatch, ERROR_REMOVING_PROJECT));
}
export function createProject(project) {
return dispatch =>
api
.create(project)
.then(() => dispatch(addProject(project)))
.catch(dispatchAndThrow(dispatch, ERROR_ADD_PROJECT));
}
export function updateProject(project) {
return dispatch =>
api
.update(project)
.then(() => dispatch(upProject(project)))
.catch(dispatchAndThrow(dispatch, ERROR_UPDATE_PROJECT));
}
export function validateId(id) {
return api.validate({ id });
}