var db = require('../db.js');
var _ = require('lodash');

module.exports = {
  getAllUserCourses: function(cb) {
    db('UserCourse').select('*').then(function(userCourses) {
      cb(null, userCourses);
    }).catch(function(err) {
      cb(err);
    });
  },
  listUserCourses: function(criteria, cb) {
    db('UserCourse').select('*').where(criteria).then(function(userCourses) {
      cb(null, userCourses);
    }).catch(function(err) {
      cb(err);
    });
  },
  createUserCourses: function(criteria, cb) {
    db('UserCourse').insert(criteria).returning('idUserCourse').then(function(userCourse) {
      console.log('USERCOURSE : ', userCourse);
      if(!userCourse || !userCourse.length) {
        return cb('Insert user error');
      }
      cb(null, userCourse[0]);
    }).catch(function(err) {
      cb(err);
    });
  },
  disableUserCourses: function(criteria, cb){
    db('UserCourse').update({enabled: false}).whereIn('idUser', _.map(criteria, function(item) {
      return item.idUser;
    })).whereIn('idCourse', _.map(criteria, function(item) {
      return item.idCourse;
    })).then(function(userCourse) {
      if(!userCourse) {
        return cb('Insert userCourse error');
      }
      cb(null, userCourse);
    }).catch(function(err) {
      console.log('ERR; ', err);
      cb(err);
    });

  }
}

@@ -1319,11 +1319,281 @@
 %7D);%0A%0A  %7D
+,%0A  getUserCourseId: function(criteria, cb) %7B%0A    db('UserCourse').select('idUserCourse').where(%7B'idUser': criteria.idUser, 'idCourse': criteria.idCourse%7D).then(function(userCourses) %7B%0A      cb(null, userCourses);%0A    %7D).catch(function(err) %7B%0A      cb(err);%0A    %7D);%0A  %7D,
 %0A%7D%0A

add missing func