mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-11-28 14:03:48 +03:00
parent
4ff036b1c3
commit
46d392bc84
86
ghost/errors/lib/errors.js
Normal file
86
ghost/errors/lib/errors.js
Normal file
@ -0,0 +1,86 @@
|
||||
var _ = require('lodash'),
|
||||
util = require('util'),
|
||||
errors = require('ghost-ignition').errors;
|
||||
|
||||
function GhostError(options) {
|
||||
options = options || {};
|
||||
this.value = options.value;
|
||||
|
||||
errors.IgnitionError.call(this, options);
|
||||
}
|
||||
|
||||
var ghostErrors = {
|
||||
DataExportError: function DataExportError(options) {
|
||||
GhostError.call(this, _.merge({
|
||||
statusCode: 500,
|
||||
errorType: 'DataExportError'
|
||||
}, options));
|
||||
},
|
||||
DataImportError: function DataImportError(options) {
|
||||
GhostError.call(this, _.merge({
|
||||
statusCode: 500,
|
||||
errorType: 'DataImportError'
|
||||
}, options));
|
||||
},
|
||||
DatabaseVersionError: function DatabaseVersionError(options) {
|
||||
GhostError.call(this, _.merge({
|
||||
hideStack: true,
|
||||
statusCode: 500,
|
||||
errorType: 'DatabaseVersionError'
|
||||
}, options));
|
||||
},
|
||||
DatabaseNotPopulatedError: function DatabaseNotPopulatedError(options) {
|
||||
GhostError.call(this, _.merge({
|
||||
statusCode: 500,
|
||||
errorType: 'DatabaseNotPopulatedError'
|
||||
}, options));
|
||||
},
|
||||
DatabaseNotSeededError: function DatabaseNotSeededError(options) {
|
||||
GhostError.call(this, _.merge({
|
||||
statusCode: 500,
|
||||
errorType: 'DatabaseNotSeededError'
|
||||
}, options));
|
||||
},
|
||||
EmailError: function EmailError(options) {
|
||||
GhostError.call(this, _.merge({
|
||||
statusCode: 500,
|
||||
errorType: 'EmailError'
|
||||
}, options));
|
||||
},
|
||||
ThemeValidationError: function ThemeValidationError(options) {
|
||||
GhostError.call(this, _.merge({
|
||||
statusCode: 422,
|
||||
errorType: 'ThemeValidationError',
|
||||
errorDetails: {}
|
||||
}, options));
|
||||
},
|
||||
DisabledFeatureError: function DisabledFeatureError(options) {
|
||||
GhostError.call(this, _.merge({
|
||||
statusCode: 409,
|
||||
errorType: 'DisabledFeatureError'
|
||||
}, options));
|
||||
},
|
||||
UpdateCollisionError: function UpdateCollisionError(options) {
|
||||
GhostError.call(this, _.merge({
|
||||
statusCode: 409,
|
||||
errorType: 'UpdateCollisionError'
|
||||
}, options));
|
||||
}
|
||||
};
|
||||
|
||||
util.inherits(GhostError, errors.IgnitionError);
|
||||
_.each(ghostErrors, function (error) {
|
||||
util.inherits(error, GhostError);
|
||||
});
|
||||
|
||||
// we need to inherit all general errors from GhostError, otherwise we have to check instanceof IgnitionError
|
||||
_.each(errors, function (error) {
|
||||
if (error.name === 'IgnitionError' || typeof error === 'object') {
|
||||
return;
|
||||
}
|
||||
|
||||
util.inherits(error, GhostError);
|
||||
});
|
||||
|
||||
module.exports = _.merge(ghostErrors, errors);
|
||||
module.exports.GhostError = GhostError;
|
Loading…
Reference in New Issue
Block a user