UNPKG

@ministryofjustice/hmpps-digital-prison-reporting-frontend

Version:

The Digital Prison Reporting Frontend contains templates and code to help display data effectively in UI applications.

40 lines (39 loc) 1.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = { handleError: (error, reportType) => { const dprError = formatError(error); return mapError(dprError, reportType); }, }; const mapError = (error, reportType) => { const dprError = formatError(error); let status = 'FAILED'; let message; if (dprError.userMessage.includes('TypeError:')) { message = 'There is an issue in the client. This has been reported to admin staff'; } if (dprError.userMessage.includes('The stored report or dashboard was not found.')) { status = 'EXPIRED'; message = `This ${reportType} has expired`; } return { status, developerMessage: dprError.developerMessage, userMessage: message || dprError.userMessage, }; }; const formatError = (error) => { if (error && error.data) { return error.data; } if (error && error.message) { const e = error; return { status: 500, userMessage: `${e.name}: ${e.message}`, developerMessage: e.stack, }; } return error; };