optionsModel.js 1.3 KB

12345678910111213141516171819202122232425262728293031
  1. /**
  2. * Created by Zhong on 2017/9/28.
  3. */
  4. let mongoose = require('mongoose');
  5. const optionsModel = mongoose.model('options');
  6. class OptionsDao {
  7. async getOptions(user_id, compilation_id){
  8. let rst = await optionsModel.find({user_id: user_id, compilation_id: compilation_id});
  9. rst = rst.length > 0 && typeof rst[0].options !== 'undefined' ? rst[0].options : null;
  10. return rst;
  11. }
  12. async getOptionsByType(user_id, compilation_id, optsType){
  13. let rst = await optionsModel.findOne({user_id: user_id, compilation_id: compilation_id});
  14. if(rst){
  15. return rst.options[optsType] !== undefined && rst.options[optsType] !== null ? rst.options[optsType] : null;
  16. }
  17. }
  18. async saveOptions(user_id, compilation_id, optSetting){
  19. let optionsData = await optionsModel.find({user_id: user_id, compilation_id: compilation_id});
  20. if(optionsData.length === 0){
  21. await optionsModel.create({user_id: user_id, compilation_id: compilation_id, options: optSetting});
  22. }
  23. await optionsModel.update({user_id: user_id, compilation_id: compilation_id}, optSetting);
  24. let rst = await optionsModel.find({user_id: user_id, compilation_id: compilation_id});
  25. return rst.length > 0 && typeof rst[0].options !== 'undefined' ? rst[0].options : null;
  26. }
  27. }
  28. module.exports = OptionsDao;