diff --git a/src/core/plugins/err/actions.js b/src/core/plugins/err/actions.js index d7051b74..40fd1121 100644 --- a/src/core/plugins/err/actions.js +++ b/src/core/plugins/err/actions.js @@ -3,6 +3,7 @@ import serializeError from "serialize-error" export const NEW_THROWN_ERR = "err_new_thrown_err" export const NEW_THROWN_ERR_BATCH = "err_new_thrown_err_batch" export const NEW_SPEC_ERR = "err_new_spec_err" +export const NEW_SPEC_ERR_BATCH = "err_new_spec_err_batch" export const NEW_AUTH_ERR = "err_new_auth_err" export const CLEAR = "err_clear" @@ -27,6 +28,13 @@ export function newSpecErr(err) { } } +export function newSpecErrBatch(errArray) { + return { + type: NEW_SPEC_ERR_BATCH, + payload: errArray + } +} + export function newAuthErr(err) { return { type: NEW_AUTH_ERR, diff --git a/src/core/plugins/err/reducers.js b/src/core/plugins/err/reducers.js index 6b0c5d2e..795f5dd5 100644 --- a/src/core/plugins/err/reducers.js +++ b/src/core/plugins/err/reducers.js @@ -2,6 +2,7 @@ import { NEW_THROWN_ERR, NEW_THROWN_ERR_BATCH, NEW_SPEC_ERR, + NEW_SPEC_ERR_BATCH, NEW_AUTH_ERR, CLEAR } from "./actions" @@ -45,6 +46,15 @@ export default function(system) { .update("errors", errors => transformErrors(errors, system.getSystem())) }, + [NEW_SPEC_ERR_BATCH]: (state, { payload }) => { + payload = payload.map(err => { + return fromJS(Object.assign(DEFAULT_ERROR_STRUCTURE, err, { type: "spec" })) + }) + return state + .update("errors", errors => (errors || List()).concat( fromJS( payload )) ) + .update("errors", errors => transformErrors(errors, system.getSystem())) + }, + [NEW_AUTH_ERR]: (state, { payload }) => { let error = fromJS(Object.assign({}, payload))