diff --git a/.eslintrc.json b/.eslintrc.json index 23bdea410..6ac5a08e6 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -59,6 +59,7 @@ "no-multiple-empty-lines": [ "error", {"max": 1} - ] + ], + "newline-per-chained-call": ["error", { "ignoreChainWithDepth": 2 }] } } diff --git a/bin/cli-settings b/bin/cli-settings index 0920473da..cff6c04ed 100755 --- a/bin/cli-settings +++ b/bin/cli-settings @@ -24,11 +24,13 @@ program const Setting = require('../models/setting'); const defaults = {id: '1', moderation: 'pre'}; - Setting.update({id: '1'}, {$setOnInsert: defaults}, {upsert: true}) + Setting + .update({id: '1'}, {$setOnInsert: defaults}, {upsert: true}) .then(() => { console.log('Created settings object.'); mongoose.disconnect(); - }).catch((err) => { + }) + .catch((err) => { console.error(`failed to create the settings object ${JSON.stringify(err)}`); throw new Error(err); // just to be safe }); diff --git a/bin/cli-users b/bin/cli-users index 74aa902eb..b27c41e14 100755 --- a/bin/cli-users +++ b/bin/cli-users @@ -71,10 +71,12 @@ function createUser(options) { }) .then((result) => { return User.createLocalUser(result.email.trim(), result.password.trim(), result.displayName.trim()); - }).then((user) => { + }) + .then((user) => { console.log(`Created user ${user.id}.`); mongoose.disconnect(); - }).catch((err) => { + }) + .catch((err) => { console.error(err); mongoose.disconnect(); }); @@ -249,7 +251,8 @@ function mergeUsers(dstUserID, srcUserID) { .then(() => { console.log(`User ${srcUserID} was merged into user ${dstUserID}.`); mongoose.disconnect(); - }).catch((err) => { + }) + .catch((err) => { console.error(err); mongoose.disconnect(); }); diff --git a/client/coral-admin/src/containers/ModerationQueue.js b/client/coral-admin/src/containers/ModerationQueue.js index 6cd9f46fc..9178bda57 100644 --- a/client/coral-admin/src/containers/ModerationQueue.js +++ b/client/coral-admin/src/containers/ModerationQueue.js @@ -73,7 +73,12 @@ class ModerationQueue extends React.Component { !comments.get('byId').get(id).get('status'))} + commentIds={ + comments.get('ids') + .filter(id => !comments.get('byId') + .get(id) + .get('status')) + } comments={comments.get('byId')} onClickAction={(action, id) => this.onCommentAction(action, id)} actions={['reject', 'approve']} @@ -83,7 +88,15 @@ class ModerationQueue extends React.Component { comments.get('byId').get(id).get('status') === 'rejected')} + commentIds={ + comments + .get('ids') + .filter(id => + comments + .get('byId') + .get(id) + .get('status') === 'rejected') + } comments={comments.get('byId')} onClickAction={(action, id) => this.onCommentAction(action, id)} actions={['approve']} diff --git a/client/coral-framework/store/actions/items.js b/client/coral-framework/store/actions/items.js index b690c6f0a..173413d66 100644 --- a/client/coral-framework/store/actions/items.js +++ b/client/coral-framework/store/actions/items.js @@ -241,7 +241,8 @@ export function postAction (item_id, action_type, user_id, item_type) { return response.ok ? response.json() : Promise.reject(`${response.status} ${response.statusText}`); } - ).then((json)=>{ + ) + .then((json)=>{ return json; }); }; diff --git a/client/coral-plugin-commentbox/CommentBox.js b/client/coral-plugin-commentbox/CommentBox.js index a4e32d73b..dbcd9dd97 100644 --- a/client/coral-plugin-commentbox/CommentBox.js +++ b/client/coral-plugin-commentbox/CommentBox.js @@ -40,7 +40,8 @@ class CommentBox extends Component { .then((comment_id) => { appendItemArray(parent_id || id, related, comment_id, !parent_id, parent_type); addNotification('success', 'Your comment has been posted.'); - }).catch((err) => console.error(err)); + }) + .catch((err) => console.error(err)); this.setState({body: ''}); } diff --git a/models/user.js b/models/user.js index 6800b59ef..0370a7e33 100644 --- a/models/user.js +++ b/models/user.js @@ -112,7 +112,8 @@ UserSchema.statics.mergeUsers = function(dstUserID, srcUserID) { }); return srcUser.remove(); - }).then(() => dstUser.save()); + }) + .then(() => dstUser.save()); }; /** diff --git a/routes/api/comments/index.js b/routes/api/comments/index.js index a2e77b417..3a0129ff4 100644 --- a/routes/api/comments/index.js +++ b/routes/api/comments/index.js @@ -12,17 +12,21 @@ const router = express.Router(); router.get('/', (req, res, next) => { Comment.find({}).then((comments) => { res.status(200).json(comments); - }).catch(error => { + }) + .catch(error => { next(error); }); }); router.get('/:comment_id', (req, res, next) => { - Comment.findById(req.params.comment_id).then((comment) => { - res.status(200).json(comment); - }).catch(error => { - next(error); - }); + Comment + .findById(req.params.comment_id) + .then(comment => { + res.status(200).json(comment); + }) + .catch(error => { + next(error); + }); }); //============================================================================== @@ -31,20 +35,26 @@ router.get('/:comment_id', (req, res, next) => { // Get all the comments that have that action_type over them. router.get('/action/:action_type', (req, res, next) => { - Comment.findByActionType(req.params.action_type).then((comments) => { - res.status(200).json(comments); - }).catch(error => { - next(error); - }); + Comment + .findByActionType(req.params.action_type) + .then((comments) => { + res.status(200).json(comments); + }) + .catch(error => { + next(error); + }); }); // Get all the comments that were rejected. router.get('/status/rejected', (req, res, next) => { - Comment.findByStatus('rejected').then((comments) => { - res.status(200).json(comments); - }).catch(error => { - next(error); - }); + Comment + .findByStatus('rejected') + .then(comments => { + res.status(200).json(comments); + }) + .catch(error => { + next(error); + }); }); // Returns back all the comments that are in the moderation queue. The moderation queue is pre or post moderated, @@ -52,17 +62,23 @@ router.get('/status/rejected', (req, res, next) => { // Pre-moderation: New comments are shown in the moderator queues immediately. // Post-moderation: New comments do not appear in moderation queues unless they are flagged by other users. router.get('/status/pending', (req, res, next) => { - Setting.getModerationSetting().then(function({moderation}){ - let moderationValue = req.query.moderation; - if (typeof moderationValue === 'undefined' || moderationValue === undefined) { - moderationValue = moderation; - } - Comment.moderationQueue(moderationValue).then((comments) => { - res.status(200).json(comments); + + Setting + .getModerationSetting() + .then(function({moderation}){ + let moderationValue = req.query.moderation; + if (typeof moderationValue === 'undefined' || moderationValue === undefined) { + moderationValue = moderation; + } + Comment + .moderationQueue(moderationValue) + .then((comments) => { + res.status(200).json(comments); + }); + }) + .catch(error => { + next(error); }); - }).catch(error => { - next(error); - }); }); //============================================================================== @@ -70,27 +86,36 @@ router.get('/status/pending', (req, res, next) => { //============================================================================== router.post('/', (req, res, next) => { + const {body, author_id, asset_id, parent_id, status, username} = req.body; - Comment.new(body, author_id, asset_id, parent_id, status, username).then((comment) => { - res.status(200).send({'id': comment.id}); - }).catch(error => { - next(error); - }); + + Comment + .new(body, author_id, asset_id, parent_id, status, username) + .then((comment) => { + res.status(200).send({'id': comment.id}); + }) + .catch(error => { + next(error); + }); }); router.post('/:comment_id', (req, res, next) => { - Comment.findById(req.params.comment_id).then((comment) => { - comment.body = req.body.body; - comment.author_id = req.body.author_id; - comment.asset_id = req.body.asset_id; - comment.parent_id = req.body.parent_id; - comment.status = req.body.status; - return comment.save(); - }).then((comment) => { - res.status(200).send(comment); - }).catch(error => { - next(error); - }); + Comment + .findById(req.params.comment_id) + .then((comment) => { + comment.body = req.body.body; + comment.author_id = req.body.author_id; + comment.asset_id = req.body.asset_id; + comment.parent_id = req.body.parent_id; + comment.status = req.body.status; + return comment.save(); + }) + .then((comment) => { + res.status(200).send(comment); + }) + .catch(error => { + next(error); + }); }); router.post('/:comment_id/status', (req, res, next) => { @@ -103,11 +128,14 @@ router.post('/:comment_id/status', (req, res, next) => { }); router.post('/:comment_id/actions', (req, res, next) => { - Comment.addAction(req.params.comment_id, req.body.user_id, req.body.action_type).then((action) => { - res.status(200).send(action); - }).catch(error => { - next(error); - }); + Comment + .addAction(req.params.comment_id, req.body.user_id, req.body.action_type) + .then((action) => { + res.status(200).send(action); + }) + .catch(error => { + next(error); + }); }); //============================================================================== @@ -115,11 +143,14 @@ router.post('/:comment_id/actions', (req, res, next) => { //============================================================================== router.delete('/:comment_id', (req, res, next) => { - Comment.removeById(req.params.comment_id).then(() => { - res.status(201).send('OK. Removed'); - }).catch(error => { - next(error); - }); + Comment + .removeById(req.params.comment_id) + .then(() => { + res.status(201).send('OK. Removed'); + }) + .catch(error => { + next(error); + }); }); module.exports = router; diff --git a/routes/api/settings/index.js b/routes/api/settings/index.js index 53bf53f3c..585bf083a 100644 --- a/routes/api/settings/index.js +++ b/routes/api/settings/index.js @@ -3,11 +3,17 @@ const router = express.Router(); const Setting = require('../../../models/setting'); router.get('/', (req, res, next) => { - Setting.getSettings().then(settings => res.json(settings)).catch(next); + Setting + .getSettings() + .then(settings => res.json(settings)) + .catch(next); }); router.put('/', (req, res, next) => { - Setting.updateSettings(req.body).then(() => res.status(204).end()).catch(next); + Setting + .updateSettings(req.body) + .then(() => res.status(204).end()) + .catch(next); }); module.exports = router; diff --git a/routes/api/stream/index.js b/routes/api/stream/index.js index 1e3e39d81..3f49d48fc 100644 --- a/routes/api/stream/index.js +++ b/routes/api/stream/index.js @@ -36,7 +36,8 @@ router.get('/', (req, res, next) => { users, actions }); - }).catch(error => { + }) + .catch(error => { next(error); }); }); diff --git a/tests/routes/api/settings/index.js b/tests/routes/api/settings/index.js index 5bcf9de28..41c37828e 100644 --- a/tests/routes/api/settings/index.js +++ b/tests/routes/api/settings/index.js @@ -43,11 +43,13 @@ describe('update settings', () => { return Setting.getSettings(); - }).then(settings => { + }) + .then(settings => { // confirm updated settings in db expect(settings).to.have.property('moderation'); expect(settings.moderation).to.equal('post'); - }).catch(err => { + }) + .catch(err => { throw err; }); });