2021-01-06 22:19:50 +01:00
|
|
|
import api from './api';
|
2019-10-24 16:04:39 +02:00
|
|
|
import { dispatchAndThrow } from '../util';
|
|
|
|
|
|
|
|
export const RECEIVE_CONTEXT = 'RECEIVE_CONTEXT';
|
|
|
|
export const ERROR_RECEIVE_CONTEXT = 'ERROR_RECEIVE_CONTEXT';
|
2020-02-27 21:36:07 +01:00
|
|
|
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';
|
2019-10-24 16:04:39 +02:00
|
|
|
|
2020-02-27 21:36:07 +01:00
|
|
|
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 });
|
2019-10-24 16:04:39 +02:00
|
|
|
|
|
|
|
export function fetchContext() {
|
|
|
|
return dispatch =>
|
|
|
|
api
|
2020-02-27 21:36:07 +01:00
|
|
|
.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
|
|
|
})
|
2019-10-24 16:04:39 +02:00
|
|
|
.catch(dispatchAndThrow(dispatch, ERROR_RECEIVE_CONTEXT));
|
|
|
|
}
|
2020-02-27 21:36:07 +01:00
|
|
|
|
|
|
|
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 });
|
|
|
|
}
|