Guest User

Untitled

a guest
Jan 24th, 2019
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.41 KB | None | 0 0
  1. const userSchema = new Schema({
  2. userName: { type: String, unique: true, required: true },
  3. hashPassword: { type: String, required: true },
  4. firstName: { type: String, required: true },
  5. lastName: { type: String, required: true },
  6. userAge: { type: Number, required: true },
  7. userDetails: { type: String, required: true },
  8. userCreatedOn: { type: Date, default: Date.now }
  9. });
  10.  
  11. const taskSchema = new Schema({
  12. //Below is userAssigned which is ref for above User document.
  13. userAssigned: { type: Schema.Types.ObjectId, ref: User},
  14. taskDesc: { type: String, required: true },
  15. taskCreatedOn: { type: Date, default: Date.now },
  16. taskDueDate: { type: Date, required: true }
  17. });
  18.  
  19. async function getAllUserTasks(userParam) {
  20. return await Task.find({ userAssigned: userParam.userId })
  21. .lean()
  22. .sort({ taskDueDate: "asc" });
  23. }
  24.  
  25. async function createTask(userParam) {
  26. if (await User.findOne({ _id: userParam.userAssigned })) {
  27. const task = new Task(userParam);
  28. await task.save();
  29. } else {
  30. throw "User does not exist";
  31. }
  32. }
  33.  
  34. async function updateTask(id, userParam) {
  35. return await Task.findOneAndUpdate(
  36. { _id: id },
  37. userParam,
  38. {
  39. new: true,
  40. overwrite: true
  41. },
  42. function(err) {
  43. if (err) return err;
  44. }
  45. );
  46. }
  47.  
  48. async function deleteUserTask(id) {
  49. return await Task.findByIdAndRemove(id, function(err) {
  50. if (err) {
  51. return err;
  52. }
  53. });
  54. }
Add Comment
Please, Sign In to add comment