mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-03-11 02:12:21 -05:00
Remove common errors (#11848)
* refactored core/frontend/services/proxy to import common dependency like a normal person
* removed all imports of `common/errors`
* 🔥 removed common/errors module
Co-authored-by: Vikas Potluri <vikaspotluri123.github@gmail.com>
This commit is contained in:
parent
bddfc04289
commit
c86933f44f
11 changed files with 16 additions and 112 deletions
|
@ -2,7 +2,9 @@
|
||||||
// With the exception of modules like lodash, Bluebird
|
// With the exception of modules like lodash, Bluebird
|
||||||
// We can later refactor to enforce this something like we did in apps
|
// We can later refactor to enforce this something like we did in apps
|
||||||
const hbs = require('./themes/engine');
|
const hbs = require('./themes/engine');
|
||||||
|
const errors = require('@tryghost/errors');
|
||||||
|
|
||||||
|
const {i18n, logging} = require('../../server/lib/common');
|
||||||
const settingsCache = require('../../server/services/settings/cache');
|
const settingsCache = require('../../server/services/settings/cache');
|
||||||
const config = require('../../server/config');
|
const config = require('../../server/config');
|
||||||
|
|
||||||
|
@ -25,9 +27,9 @@ module.exports = {
|
||||||
settingsCache: settingsCache,
|
settingsCache: settingsCache,
|
||||||
|
|
||||||
// These 3 are kind of core and required all the time
|
// These 3 are kind of core and required all the time
|
||||||
errors: require('../../server/lib/common/errors'),
|
errors,
|
||||||
i18n: require('../../server/lib/common/i18n'),
|
i18n,
|
||||||
logging: require('../../server/lib/common/logging'),
|
logging,
|
||||||
|
|
||||||
// Theme i18n is separate to common i18n
|
// Theme i18n is separate to common i18n
|
||||||
themeI18n: require('./themes/i18n'),
|
themeI18n: require('./themes/i18n'),
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
const Promise = require('bluebird');
|
const Promise = require('bluebird');
|
||||||
|
const errors = require('@tryghost/errors');
|
||||||
const hbs = require('../engine');
|
const hbs = require('../engine');
|
||||||
const config = require('../../../../server/config');
|
const config = require('../../../../server/config');
|
||||||
const {errors, logging} = require('../../../../server/lib/common');
|
const {logging} = require('../../../../server/lib/common');
|
||||||
|
|
||||||
// Register an async handlebars helper for a given handlebars instance
|
// Register an async handlebars helper for a given handlebars instance
|
||||||
function asyncHelperWrapper(hbs, name, fn) {
|
function asyncHelperWrapper(hbs, name, fn) {
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
const {i18n, events, logging, errors} = require('../../../server/lib/common');
|
const errors = require('@tryghost/errors');
|
||||||
|
const {i18n, events, logging} = require('../../../server/lib/common');
|
||||||
const settingsCache = require('../../../server/services/settings/cache');
|
const settingsCache = require('../../../server/services/settings/cache');
|
||||||
const config = require('../../../server/config');
|
const config = require('../../../server/config');
|
||||||
|
|
||||||
|
|
|
@ -1,95 +0,0 @@
|
||||||
const merge = require('lodash/merge');
|
|
||||||
const each = require('lodash/each');
|
|
||||||
const util = require('util');
|
|
||||||
const errors = require('ghost-ignition').errors;
|
|
||||||
|
|
||||||
function GhostError(options) {
|
|
||||||
options = options || {};
|
|
||||||
this.value = options.value;
|
|
||||||
|
|
||||||
errors.IgnitionError.call(this, options);
|
|
||||||
}
|
|
||||||
|
|
||||||
const 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));
|
|
||||||
},
|
|
||||||
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));
|
|
||||||
},
|
|
||||||
HostLimitError: function HostLimitError(options) {
|
|
||||||
GhostError.call(this, merge({
|
|
||||||
errorType: 'HostLimitError',
|
|
||||||
hideStack: true,
|
|
||||||
statusCode: 403
|
|
||||||
}, options));
|
|
||||||
},
|
|
||||||
HelperWarning: function HelperWarning(options) {
|
|
||||||
GhostError.call(this, merge({
|
|
||||||
errorType: 'HelperWarning',
|
|
||||||
hideStack: true
|
|
||||||
}, options));
|
|
||||||
},
|
|
||||||
PasswordResetRequiredError: function PasswordResetRequiredError(options) {
|
|
||||||
GhostError.call(this, merge({
|
|
||||||
errorType: 'PasswordResetRequiredError',
|
|
||||||
statusCode: 401,
|
|
||||||
message: 'For security, you need to create a new password. An email has been sent to you with instructions!'
|
|
||||||
}, 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;
|
|
|
@ -7,10 +7,6 @@ module.exports = {
|
||||||
return require('./events');
|
return require('./events');
|
||||||
},
|
},
|
||||||
|
|
||||||
get errors() {
|
|
||||||
return require('./errors');
|
|
||||||
},
|
|
||||||
|
|
||||||
get logging() {
|
get logging() {
|
||||||
return require('./logging');
|
return require('./logging');
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@ const validator = require('validator');
|
||||||
const ObjectId = require('bson-objectid');
|
const ObjectId = require('bson-objectid');
|
||||||
const ghostBookshelf = require('./base');
|
const ghostBookshelf = require('./base');
|
||||||
const baseUtils = require('./base/utils');
|
const baseUtils = require('./base/utils');
|
||||||
const {i18n, errors: {PasswordResetRequiredError}} = require('../lib/common');
|
const {i18n} = require('../lib/common');
|
||||||
const errors = require('@tryghost/errors');
|
const errors = require('@tryghost/errors');
|
||||||
const security = require('../lib/security');
|
const security = require('../lib/security');
|
||||||
const imageLib = require('../lib/image');
|
const imageLib = require('../lib/image');
|
||||||
|
@ -806,7 +806,7 @@ User = ghostBookshelf.Model.extend({
|
||||||
}
|
}
|
||||||
|
|
||||||
if (user.isLocked()) {
|
if (user.isLocked()) {
|
||||||
throw new PasswordResetRequiredError();
|
throw new errors.PasswordResetRequiredError();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (user.isInactive()) {
|
if (user.isInactive()) {
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
const should = require('should');
|
const should = require('should');
|
||||||
const sinon = require('sinon');
|
const sinon = require('sinon');
|
||||||
|
const {UnauthorizedError} = require('@tryghost/errors');
|
||||||
|
|
||||||
const models = require('../../../../core/server/models');
|
const models = require('../../../../core/server/models');
|
||||||
const {UnauthorizedError} = require('../../../../core/server/lib/common/errors');
|
|
||||||
|
|
||||||
const sessionController = require('../../../../core/server/api/canary/session');
|
const sessionController = require('../../../../core/server/api/canary/session');
|
||||||
const sessionServiceMiddleware = require('../../../../core/server/services/auth/session');
|
const sessionServiceMiddleware = require('../../../../core/server/services/auth/session');
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
const should = require('should');
|
const should = require('should');
|
||||||
const sinon = require('sinon');
|
const sinon = require('sinon');
|
||||||
|
const {UnauthorizedError} = require('@tryghost/errors');
|
||||||
|
|
||||||
const models = require('../../../../core/server/models');
|
const models = require('../../../../core/server/models');
|
||||||
const {UnauthorizedError} = require('../../../../core/server/lib/common/errors');
|
|
||||||
|
|
||||||
const sessionController = require('../../../../core/server/api/v2/session');
|
const sessionController = require('../../../../core/server/api/v2/session');
|
||||||
const sessionServiceMiddleware = require('../../../../core/server/services/auth/session');
|
const sessionServiceMiddleware = require('../../../../core/server/services/auth/session');
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
const should = require('should');
|
const should = require('should');
|
||||||
const sinon = require('sinon');
|
const sinon = require('sinon');
|
||||||
|
const {UnauthorizedError} = require('@tryghost/errors');
|
||||||
|
|
||||||
const models = require('../../../../core/server/models');
|
const models = require('../../../../core/server/models');
|
||||||
const {UnauthorizedError} = require('../../../../core/server/lib/common/errors');
|
|
||||||
|
|
||||||
const sessionController = require('../../../../core/server/api/canary/session');
|
const sessionController = require('../../../../core/server/api/canary/session');
|
||||||
const sessionServiceMiddleware = require('../../../../core/server/services/auth/session');
|
const sessionServiceMiddleware = require('../../../../core/server/services/auth/session');
|
||||||
|
|
|
@ -5,7 +5,6 @@ const errors = require('@tryghost/errors');
|
||||||
const models = require('../../../core/server/models');
|
const models = require('../../../core/server/models');
|
||||||
const permissions = require('../../../core/server/services/permissions');
|
const permissions = require('../../../core/server/services/permissions');
|
||||||
const validation = require('../../../core/server/data/validation');
|
const validation = require('../../../core/server/data/validation');
|
||||||
const {errors: commonErrors} = require('../../../core/server/lib/common');
|
|
||||||
const security = require('../../../core/server/lib/security');
|
const security = require('../../../core/server/lib/security');
|
||||||
const testUtils = require('../../utils');
|
const testUtils = require('../../utils');
|
||||||
|
|
||||||
|
@ -144,7 +143,7 @@ describe('Unit: models/user', function () {
|
||||||
|
|
||||||
return models.User.check({email: user.get('email'), password: 'test'})
|
return models.User.check({email: user.get('email'), password: 'test'})
|
||||||
.catch(function (err) {
|
.catch(function (err) {
|
||||||
(err instanceof commonErrors.PasswordResetRequiredError).should.eql(true);
|
(err instanceof errors.PasswordResetRequiredError).should.eql(true);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
const jwt = require('jsonwebtoken');
|
const jwt = require('jsonwebtoken');
|
||||||
const should = require('should');
|
const should = require('should');
|
||||||
const {UnauthorizedError} = require('../../../../../core/server/lib/common/errors');
|
const {UnauthorizedError} = require('@tryghost/errors');
|
||||||
const members = require('../../../../../core/server/services/auth/members');
|
const members = require('../../../../../core/server/services/auth/members');
|
||||||
|
|
||||||
describe.skip('Auth Service - Members', function () {
|
describe.skip('Auth Service - Members', function () {
|
||||||
|
|
Loading…
Add table
Reference in a new issue