| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | /** * Created by Zhong on 2017/9/28. */import optionsModel from '../models/schemas';class OptionsDao {    async getOptions(user_id, compilation_id){        let rst = await optionsModel.find({user_id: user_id, compilation_id: compilation_id});        rst = rst.length > 0 && typeof rst[0].options !== 'undefined' ? rst[0].options : null;        return rst;    }    async getOptionsByType(user_id, compilation_id, optsType){        let rst = await optionsModel.findOne({user_id: user_id, compilation_id: compilation_id});        if(rst){            return rst.options[optsType] !== undefined && rst.options[optsType] !== null ? rst.options[optsType] : null;        }    }    async saveOptions(user_id, compilation_id, optSetting){        let optionsData = await optionsModel.find({user_id: user_id, compilation_id: compilation_id});        if(optionsData.length === 0){            await optionsModel.create({user_id: user_id, compilation_id: compilation_id, options: optSetting});        }        await optionsModel.update({user_id: user_id, compilation_id: compilation_id}, optSetting);        let rst = await optionsModel.find({user_id: user_id, compilation_id: compilation_id});        return rst.length > 0 && typeof rst[0].options !== 'undefined' ? rst[0].options : null;    }}/*class OptionsDao {    async getOptions(user_id, compilation_id){        let rst = await optionsModel.find({user_id: user_id, compilation_id: compilation_id});        rst = rst.length > 0 && typeof rst[0].options !== 'undefined' ? rst[0].options : null;        return rst;    }    async getOptionsByType(user_id, compilation_id, optsType){        let rst = await optionsModel.find({user_id: user_id, compilation_id: compilation_id});        if(rst.length > 0){            let opts = rst[0].options;            for(let i = 0, len = opts.length; i < len; i++){                if(opts[i].type === optsType){                    return opts[i];                }            }        }        return null;    }    async saveOptions(user_id, compilation_id, opsType, opts){        let optionsData = await optionsModel.find({user_id: user_id, compilation_id: compilation_id});        if(optionsData.length === 0){            await optionsModel.create({user_id: user_id, compilation_id: compilation_id, options: [{type: opsType, opts: opts}]});        }        await optionsModel.update({user_id: user_id, compilation_id: compilation_id, 'options.type': opsType}, {$set: {'options.$.opts': opts}});        let rst = await optionsModel.find({user_id: user_id, compilation_id: compilation_id});        return rst;    }}*/export default OptionsDao;
 |