Merge pull request #54 from coralproject/lint-newlines

Clear the lint trap
This commit is contained in:
David Erwin
2016-11-11 10:37:04 -05:00
committed by GitHub
13 changed files with 186 additions and 115 deletions
+2 -1
View File
@@ -59,6 +59,7 @@
"no-multiple-empty-lines": [
"error",
{"max": 1}
]
],
"newline-per-chained-call": ["error", { "ignoreChainWithDepth": 2 }]
}
}
+4 -2
View File
@@ -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
});
+6 -3
View File
@@ -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();
});
@@ -73,7 +73,12 @@ class ModerationQueue extends React.Component {
<CommentList
isActive={activeTab === 'pending'}
singleView={singleView}
commentIds={comments.get('ids').filter(id => !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 {
<CommentList
isActive={activeTab === 'rejected'}
singleView={singleView}
commentIds={comments.get('ids').filter(id => 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']}
@@ -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;
});
};
+2 -1
View File
@@ -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: ''});
}
+21 -6
View File
@@ -86,9 +86,13 @@ CommentSchema.statics.findAcceptedAndNewByAssetId = function(asset_id) {
* @param {String} action_type the type of action that was performed on the comment
*/
CommentSchema.statics.findByActionType = function(action_type) {
return Action.findCommentsIdByActionType(action_type, 'comment').then((actions) => {
return Comment.find({'id': {'$in': actions.map(function(a){return a.item_id;})}});
});
return Action
.findCommentsIdByActionType(action_type, 'comment')
.then((actions) => {
return Comment.find({'id': {'$in': actions.map(function(a){
return a.item_id;})}
});
});
};
/**
@@ -97,9 +101,20 @@ CommentSchema.statics.findByActionType = function(action_type) {
* @param {String} status the status of the comment to search for
*/
CommentSchema.statics.findByStatusByActionType = function(status, action_type) {
return Action.findCommentsIdByActionType(action_type, 'comment').then((actions) => {
return Comment.find({'status': status, 'id': {'$in': actions.map(function(a){return a.item_id;})}});
});
return Action
.findCommentsIdByActionType(action_type, 'comment')
.then((actions) => {
return Comment.find({
'status': status,
'id': {
'$in': actions.map(a => {
return a.item_id;
})
}
});
});
};
/**
+5 -4
View File
@@ -20,7 +20,7 @@ SettingSchema.statics.init = function (defaults) {
};
/**
* gets the entire settings record and sends it back
* Gets the entire settings record and sends it back
* @return {Promise} settings the whole settings record
*/
SettingSchema.statics.getSettings = function () {
@@ -28,7 +28,7 @@ SettingSchema.statics.getSettings = function () {
};
/**
* gets the moderation settings and sends it back
* Gets the moderation settings and sends it back
* @return {Promise} moderation the settings for how to moderate comments
*/
SettingSchema.statics.getModerationSetting = function () {
@@ -36,12 +36,13 @@ SettingSchema.statics.getModerationSetting = function () {
};
/**
* this will update the settings object with whatever you pass in
* This will update the settings object with whatever you pass in
* @param {object} setting a hash of whatever settings you want to update
* @return {Promise} settings Promise that resolves to the entire (updated) settings object.
*/
SettingSchema.statics.updateSettings = function (setting) {
// there should only ever be one record unless something has gone wrong.
// There should only ever be one record unless something has gone wrong.
// In the future we may have multiple records for custom settings for objects/users.
return this.findOneAndUpdate({id: '1'}, {$set: setting}, {new: true});
};
+38 -34
View File
@@ -100,19 +100,22 @@ UserSchema.statics.findLocalUser = function(email, password) {
UserSchema.statics.mergeUsers = function(dstUserID, srcUserID) {
let srcUser, dstUser;
return Promise.all([
User.findOne({id: dstUserID}).exec(),
User.findOne({id: srcUserID}).exec()
]).then((users) => {
dstUser = users[0];
srcUser = users[1];
return Promise
.all([
User.findOne({id: dstUserID}).exec(),
User.findOne({id: srcUserID}).exec()
])
.then((users) => {
dstUser = users[0];
srcUser = users[1];
srcUser.profiles.forEach((profile) => {
dstUser.profiles.push(profile);
});
srcUser.profiles.forEach((profile) => {
dstUser.profiles.push(profile);
});
return srcUser.remove();
}).then(() => dstUser.save());
return srcUser.remove();
})
.then(() => dstUser.save());
};
/**
@@ -122,33 +125,34 @@ UserSchema.statics.mergeUsers = function(dstUserID, srcUserID) {
* @param {Function} done [description]
*/
UserSchema.statics.findOrCreateExternalUser = function(profile) {
return User.findOne({
profiles: {
$elemMatch: {
id: profile.id,
provider: profile.provider
}
}
})
.then((user) => {
if (user) {
return user;
}
// The user was not found, lets create them!
user = new User({
displayName: profile.displayName,
roles: [],
profiles: [
{
return User
.findOne({
profiles: {
$elemMatch: {
id: profile.id,
provider: profile.provider
}
]
});
}
})
.then((user) => {
if (user) {
return user;
}
return user.save();
});
// The user was not found, lets create them!
user = new User({
displayName: profile.displayName,
roles: [],
profiles: [
{
id: profile.id,
provider: profile.provider
}
]
});
return user.save();
});
};
UserSchema.statics.changePassword = function(id, password) {
+77 -56
View File
@@ -12,17 +12,17 @@ const router = express.Router();
router.get('/', (req, res, next) => {
Comment.find({}).then((comments) => {
res.status(200).json(comments);
}).catch(error => {
next(error);
});
})
.catch(next);
});
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(next);
});
//==============================================================================
@@ -31,20 +31,22 @@ 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(next);
});
// 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(next);
});
// Returns back all the comments that are in the moderation queue. The moderation queue is pre or post moderated,
@@ -52,17 +54,21 @@ 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);
});
}).catch(error => {
next(error);
});
Setting
.getModerationSetting()
.then(({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(next);
});
//==============================================================================
@@ -70,27 +76,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 +118,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 +133,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;
+8 -2
View File
@@ -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;
+2 -1
View File
@@ -36,7 +36,8 @@ router.get('/', (req, res, next) => {
users,
actions
});
}).catch(error => {
})
.catch(error => {
next(error);
});
});
+4 -2
View File
@@ -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;
});
});