wip
This commit is contained in:
parent
0926d5b6da
commit
583b64331b
6 changed files with 31 additions and 67 deletions
|
@ -3,9 +3,9 @@
|
|||
/**
|
||||
* Module dependencies
|
||||
*/
|
||||
import * as mongo from 'mongodb';
|
||||
import Favorite from '../../models/favorite';
|
||||
import Post from '../../models/post';
|
||||
import it from '../../../it';
|
||||
import Favorite from '../../../models/favorite';
|
||||
import Post from '../../../models/post';
|
||||
|
||||
/**
|
||||
* Favorite a post
|
||||
|
@ -17,10 +17,8 @@ import Post from '../../models/post';
|
|||
module.exports = (params, user) =>
|
||||
new Promise(async (res, rej) => {
|
||||
// Get 'post_id' parameter
|
||||
let postId = params.post_id;
|
||||
if (postId === undefined || postId === null) {
|
||||
return rej('post_id is required');
|
||||
}
|
||||
const [postId, postIdErr] = it(params.post_id, 'id', true);
|
||||
if (postIdErr) return rej('invalid post_id param');
|
||||
|
||||
// Get favoritee
|
||||
const post = await Post.findOne({
|
|
@ -3,9 +3,9 @@
|
|||
/**
|
||||
* Module dependencies
|
||||
*/
|
||||
import * as mongo from 'mongodb';
|
||||
import Favorite from '../../models/favorite';
|
||||
import Post from '../../models/post';
|
||||
import it from '../../../it';
|
||||
import Favorite from '../../../models/favorite';
|
||||
import Post from '../../../models/post';
|
||||
|
||||
/**
|
||||
* Unfavorite a post
|
||||
|
@ -17,10 +17,8 @@ import Post from '../../models/post';
|
|||
module.exports = (params, user) =>
|
||||
new Promise(async (res, rej) => {
|
||||
// Get 'post_id' parameter
|
||||
let postId = params.post_id;
|
||||
if (postId === undefined || postId === null) {
|
||||
return rej('post_id is required');
|
||||
}
|
||||
const [postId, postIdErr] = it(params.post_id, 'id', true);
|
||||
if (postIdErr) return rej('invalid post_id param');
|
||||
|
||||
// Get favoritee
|
||||
const post = await Post.findOne({
|
|
@ -3,7 +3,7 @@
|
|||
/**
|
||||
* Module dependencies
|
||||
*/
|
||||
import * as mongo from 'mongodb';
|
||||
import it from '../../../it';
|
||||
import Like from '../../../models/like';
|
||||
import Post from '../../../models/post';
|
||||
import User from '../../../models/user';
|
||||
|
@ -19,19 +19,12 @@ import notify from '../../../common/notify';
|
|||
module.exports = (params, user) =>
|
||||
new Promise(async (res, rej) => {
|
||||
// Get 'post_id' parameter
|
||||
let postId = params.post_id;
|
||||
if (postId === undefined || postId === null) {
|
||||
return rej('post_id is required');
|
||||
}
|
||||
|
||||
// Validate id
|
||||
if (!mongo.ObjectID.isValid(postId)) {
|
||||
return rej('incorrect post_id');
|
||||
}
|
||||
const [postId, postIdErr] = it(params.post_id, 'id', true);
|
||||
if (postIdErr) return rej('invalid post_id param');
|
||||
|
||||
// Get likee
|
||||
const post = await Post.findOne({
|
||||
_id: new mongo.ObjectID(postId)
|
||||
_id: postId
|
||||
});
|
||||
|
||||
if (post === null) {
|
|
@ -3,7 +3,7 @@
|
|||
/**
|
||||
* Module dependencies
|
||||
*/
|
||||
import * as mongo from 'mongodb';
|
||||
import it from '../../../it';
|
||||
import Like from '../../../models/like';
|
||||
import Post from '../../../models/post';
|
||||
import User from '../../../models/user';
|
||||
|
@ -19,19 +19,12 @@ import User from '../../../models/user';
|
|||
module.exports = (params, user) =>
|
||||
new Promise(async (res, rej) => {
|
||||
// Get 'post_id' parameter
|
||||
let postId = params.post_id;
|
||||
if (postId === undefined || postId === null) {
|
||||
return rej('post_id is required');
|
||||
}
|
||||
|
||||
// Validate id
|
||||
if (!mongo.ObjectID.isValid(postId)) {
|
||||
return rej('incorrect post_id');
|
||||
}
|
||||
const [postId, postIdErr] = it(params.post_id, 'id', true);
|
||||
if (postIdErr) return rej('invalid post_id param');
|
||||
|
||||
// Get likee
|
||||
const post = await Post.findOne({
|
||||
_id: new mongo.ObjectID(postId)
|
||||
_id: postId
|
||||
});
|
||||
|
||||
if (post === null) {
|
|
@ -3,7 +3,7 @@
|
|||
/**
|
||||
* Module dependencies
|
||||
*/
|
||||
import * as mongo from 'mongodb';
|
||||
import it from '../../../it';
|
||||
import Vote from '../../../models/poll-vote';
|
||||
import Post from '../../../models/post';
|
||||
import notify from '../../../common/notify';
|
||||
|
@ -18,19 +18,12 @@ import notify from '../../../common/notify';
|
|||
module.exports = (params, user) =>
|
||||
new Promise(async (res, rej) => {
|
||||
// Get 'post_id' parameter
|
||||
const postId = params.post_id;
|
||||
if (postId === undefined || postId === null) {
|
||||
return rej('post_id is required');
|
||||
}
|
||||
|
||||
// Validate id
|
||||
if (!mongo.ObjectID.isValid(postId)) {
|
||||
return rej('incorrect post_id');
|
||||
}
|
||||
const [postId, postIdErr] = it(params.post_id, 'id', true);
|
||||
if (postIdErr) return rej('invalid post_id param');
|
||||
|
||||
// Get votee
|
||||
const post = await Post.findOne({
|
||||
_id: new mongo.ObjectID(postId)
|
||||
_id: postId
|
||||
});
|
||||
|
||||
if (post === null) {
|
||||
|
@ -42,15 +35,12 @@ module.exports = (params, user) =>
|
|||
}
|
||||
|
||||
// Get 'choice' parameter
|
||||
const choice = params.choice;
|
||||
if (choice == null) {
|
||||
return rej('choice is required');
|
||||
}
|
||||
|
||||
// Validate choice
|
||||
if (!post.poll.choices.some(x => x.id == choice)) {
|
||||
return rej('invalid choice');
|
||||
}
|
||||
const [choice, choiceError] =
|
||||
it(params.choice).expect.string()
|
||||
.required()
|
||||
.validate(c => post.poll.choices.some(x => x.id == c))
|
||||
.qed();
|
||||
if (choiceError) return rej('invalid choice param');
|
||||
|
||||
// if already voted
|
||||
const exist = await Vote.findOne({
|
||||
|
@ -76,8 +66,6 @@ module.exports = (params, user) =>
|
|||
const inc = {};
|
||||
inc[`poll.choices.${findWithAttr(post.poll.choices, 'id', choice)}.votes`] = 1;
|
||||
|
||||
console.log(inc);
|
||||
|
||||
// Increment likes count
|
||||
Post.update({ _id: post._id }, {
|
||||
$inc: inc
|
|
@ -3,6 +3,7 @@
|
|||
/**
|
||||
* Module dependencies
|
||||
*/
|
||||
import it from '../../it';
|
||||
import User from '../../models/user';
|
||||
import { validateUsername } from '../../models/user';
|
||||
|
||||
|
@ -16,15 +17,8 @@ module.exports = async (params) =>
|
|||
new Promise(async (res, rej) =>
|
||||
{
|
||||
// Get 'username' parameter
|
||||
const username = params.username;
|
||||
if (username == null || username == '') {
|
||||
return rej('username-is-required');
|
||||
}
|
||||
|
||||
// Validate username
|
||||
if (!validateUsername(username)) {
|
||||
return rej('invalid-username');
|
||||
}
|
||||
const [username, usernameError] = it(params.username).expect.string().required().trim().validate(validateUsername).qed();
|
||||
if (usernameError) return rej('invalid username param');
|
||||
|
||||
// Get exist
|
||||
const exist = await User
|
Loading…
Reference in a new issue