Improved error context usage (#10669)

refs #10571

- Reduced the amount of log output for collision errors
- Improved data passed into `errorDetails` during theme check
- After discovering https://github.com/TryGhost/Ghost/blob/9810834/core/server/services/themes/index.js#L56-L57 wasn't able to remove `checkedTheme` from `context`. Left a note to be refactored later
This commit is contained in:
Naz Gargol 2019-04-09 13:00:56 +08:00 committed by GitHub
parent 3f52c404d4
commit 87b37556c8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 8 deletions

View File

@ -63,10 +63,9 @@ module.exports = function (Bookshelf) {
message: 'Saving failed! Someone else is editing this post.',
code: 'UPDATE_COLLISION',
level: 'critical',
context: {
errorDetails: {
clientUpdatedAt: self.clientData.updated_at,
serverUpdatedAt: self.serverData.updated_at,
changed: changed
serverUpdatedAt: self.serverData.updated_at
}
}));
}

View File

@ -1,7 +1,9 @@
var Promise = require('bluebird'),
config = require('../../config'),
common = require('../../lib/common'),
checkTheme;
const _ = require('lodash');
const Promise = require('bluebird');
const config = require('../../config');
const common = require('../../lib/common');
let checkTheme;
checkTheme = function checkTheme(theme, isZip) {
var checkPromise,
@ -31,7 +33,13 @@ checkTheme = function checkTheme(theme, isZip) {
return Promise.reject(new common.errors.ThemeValidationError({
message: common.i18n.t('errors.api.themes.invalidTheme'),
errorDetails: checkedTheme.results.error,
errorDetails: Object.assign(
_.pick(checkedTheme, ['checkedVersion', 'name', 'path', 'version']), {
errors: checkedTheme.results.error
}
),
// NOTE: needs to be removed but first has to be decoupled
// from logic here: https://github.com/TryGhost/Ghost/blob/9810834/core/server/services/themes/index.js#L56-L57
context: checkedTheme
}));
}).catch(function (error) {