Пример #1
0
    getPosts: function (req, res, next) {
        var defaultOptions = {
            from: 0,
            count: 20
        },
            allowedSource = ['feed'];
        var body = req.body;
        var errors = [];

        var options = _.extend(defaultOptions, body);

        if( !options.source ||
            !options.source.name ||
            !options.source.params ||
            !options.source.params._id){
            errors.push('Cannot find resource');
        }

        if( !validator.isIn(options.source.name, allowedSource) ){
            errors.push('Resource is not recognized');
        }

        if(errors.length){
            res.finish.resolve({message: "Cannot find resource"});
            return next(new HttpError(400, {
                message: errors
            }));
        }

        if( req.user ){
            options.user = {};
            options.user._id = req.user._id;
        }

        PostModel.getPosts(options, function (err, posts) {
            if(err){
                logger.error(err.message);
                res.finish.resolve({message: err.message});
                return next(new HttpError(400, {
                    message: err
                }));
            }

            res.finish.resolve(posts);
            res.status(200);
            res.send(posts);
        });

    }
Пример #2
0
    uncheck: function (req, res, next) {
        var data = req.body;

        if( !data._id ){
            res.finish.resolve({message: "Doesn't have post id"});
            return next(new HttpError(400, {
                message: "Doesn't have post id"
            }));
        }

        PostModel.checkUncheck( req.user._id, data._id, false, function (err) {
            if(err){
                res.finish.resolve({message: "Cannot uncheck post read"});
                return next(new HttpError(400, {
                    message: "Cannot uncheck post read"
                }));
            }
            res.finish.resolve({});
            res.status(200);
            res.send({});
        });
    },