favorite.js 2.18 KB
/**
 * 商品详情页controller
 * @author: yyq<yanqing.yang@yoho.cn>
 * @date: 2016/7/17
 */
'use strict';

const helpers = global.yoho.helpers;
const fav = require('../models/favorite');

const product = (req, res, next) => {
    let uid = req.user.uid;
    let pid = req.body.productId;
    let type = (req.body.type === 'add');
    let resData = {
        code: 400,
        message: '操作失败'
    };

    if (uid) {
        if (pid) {
            fav.toggleFavProduct(pid, uid, type).then(result => {
                res.json(result);
            }).catch(next);
            return;
        }

    } else {
        Object.assign(resData, {
            code: 403,
            message: '请登录后执行该操作',
            data: {
                refer: helpers.urlFormat('/signin')
            }
        });
    }
    res.json(resData);
};

const brand = (req, res, next) => {
    let uid = req.user.uid;
    let pid = req.body.brandId;
    let type = (req.body.type === 'add');
    let resData = {
        code: 400,
        message: '操作失败'
    };

    if (uid) {
        if (pid) {
            fav.toggleFavBrand(pid, uid, type).then(result => {
                res.json(result);
            }).catch(next);
            return;
        }

    } else {
        Object.assign(resData, {
            code: 403,
            message: '请登录后执行该操作',
            data: {
                refer: helpers.urlFormat('/signin')
            }
        });
    }
    res.json(resData);
};

const shop = (req, res, next) => {
    let uid = req.user.uid;
    let pid = req.body.shopId;
    let type = (req.body.type === 'add');
    let resData = {
        code: 400,
        message: '操作失败'
    };

    if (uid) {
        if (pid) {
            fav.toggleFavShop(pid, uid, type).then(result => {
                res.json(result);
            }).catch(next);
            return;
        }

    } else {
        Object.assign(resData, {
            code: 403,
            message: '请登录后执行该操作',
            data: {
                refer: helpers.urlFormat('/signin')
            }
        });
    }
    res.json(resData);
};

module.exports = {
    product,
    brand,
    shop
};