1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-10-18 20:09:08 +02:00
unleash.unleash/frontend/src/store/context/actions.js

56 lines
1.9 KiB
JavaScript
Raw Normal View History

import api from './api';
import { dispatchAndThrow } from '../util';
export const RECEIVE_CONTEXT = 'RECEIVE_CONTEXT';
export const ERROR_RECEIVE_CONTEXT = 'ERROR_RECEIVE_CONTEXT';
export const REMOVE_CONTEXT = 'REMOVE_CONTEXT';
export const ERROR_REMOVING_CONTEXT = 'ERROR_REMOVING_CONTEXT';
export const ADD_CONTEXT_FIELD = 'ADD_CONTEXT_FIELD';
export const ERROR_ADD_CONTEXT_FIELD = 'ERROR_ADD_CONTEXT_FIELD';
export const UPDATE_CONTEXT_FIELD = 'UPDATE_CONTEXT_FIELD';
export const ERROR_UPDATE_CONTEXT_FIELD = 'ERROR_UPDATE_CONTEXT_FIELD';
const receiveContext = value => ({ type: RECEIVE_CONTEXT, value });
const addContextField = context => ({ type: ADD_CONTEXT_FIELD, context });
const upContextField = context => ({ type: UPDATE_CONTEXT_FIELD, context });
const createRemoveContext = context => ({ type: REMOVE_CONTEXT, context });
export function fetchContext() {
return dispatch =>
api
.fetchAll()
2020-03-11 19:04:56 +01:00
.then(json => {
2020-03-11 18:52:23 +01:00
json.sort((a, b) => a.sortOrder - b.sortOrder);
2020-03-11 19:04:56 +01:00
dispatch(receiveContext(json));
2020-03-11 18:52:23 +01:00
})
.catch(dispatchAndThrow(dispatch, ERROR_RECEIVE_CONTEXT));
}
export function removeContextField(context) {
return dispatch =>
api
.remove(context)
.then(() => dispatch(createRemoveContext(context)))
.catch(dispatchAndThrow(dispatch, ERROR_REMOVING_CONTEXT));
}
export function createContextField(context) {
return dispatch =>
api
.create(context)
.then(() => dispatch(addContextField(context)))
.catch(dispatchAndThrow(dispatch, ERROR_ADD_CONTEXT_FIELD));
}
export function updateContextField(context) {
return dispatch =>
api
.update(context)
.then(() => dispatch(upContextField(context)))
.catch(dispatchAndThrow(dispatch, ERROR_UPDATE_CONTEXT_FIELD));
}
export function validateName(name) {
return api.validate({ name });
}