2020-10-27 11:27:17 +01:00
|
|
|
'use strict';
|
|
|
|
|
2020-09-29 12:00:25 +02:00
|
|
|
const errorTypes = {
|
|
|
|
ENTITY_TOO_LARGE: 'entityTooLarge',
|
|
|
|
UNKNOWN_ERROR: 'unknownError',
|
|
|
|
};
|
|
|
|
|
|
|
|
const entityTooLarge = message => {
|
|
|
|
const error = new Error(message || 'Entity too large');
|
|
|
|
error.type = errorTypes.ENTITY_TOO_LARGE;
|
|
|
|
return error;
|
|
|
|
};
|
|
|
|
entityTooLarge.type = errorTypes.ENTITY_TOO_LARGE;
|
|
|
|
|
|
|
|
const unknownError = message => {
|
|
|
|
const error = new Error(message || 'Unknown error');
|
|
|
|
error.type = errorTypes.UNKNOWN_ERROR;
|
|
|
|
return error;
|
|
|
|
};
|
|
|
|
unknownError.type = errorTypes.UNKNOWN_ERROR;
|
|
|
|
|
|
|
|
const is = (err, errorFactory) => {
|
|
|
|
return err.type && err.type === errorFactory.type;
|
|
|
|
};
|
|
|
|
|
|
|
|
const convertToStrapiError = err => {
|
|
|
|
if (is(err, entityTooLarge)) {
|
|
|
|
return strapi.errors.entityTooLarge('FileTooBig', {
|
|
|
|
errors: [
|
|
|
|
{
|
|
|
|
id: 'Upload.status.sizeLimit',
|
|
|
|
message: 'file is bigger than the limit size!',
|
|
|
|
},
|
|
|
|
],
|
|
|
|
});
|
|
|
|
} else {
|
|
|
|
strapi.log.error(err);
|
|
|
|
return strapi.errors.badImplementation();
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
module.exports = {
|
|
|
|
errors: {
|
|
|
|
entityTooLarge,
|
|
|
|
unknownError,
|
|
|
|
},
|
|
|
|
convertToStrapiError,
|
|
|
|
};
|