pm_controller.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. /**
  2. * Created by Mai on 2017/1/18.
  3. */
  4. let ProjectsData = require('../models/project').project;
  5. let projType = require('../models/project').projType;
  6. //统一回调函数
  7. let callback = function(req, res, err, message, data){
  8. res.json({error: err, message: message, data: data});
  9. };
  10. module.exports = {
  11. checkRight: function (req, res) {
  12. let data = JSON.parse(req.body.data);
  13. if (data.user_id) {
  14. return data.user_id === req.session.userID;
  15. } else {
  16. return false;
  17. }
  18. },
  19. checkProjectRight: function (userId, projectId, callback) {
  20. ProjectsData.getProject(projectId).then(function (result) {
  21. /**
  22. * result._doc.userID(Number): MongoDB
  23. * userId(String): Session.userID
  24. */
  25. if (result._doc.userID == userId && result._doc.projType === projType.tender) {
  26. callback(true);
  27. } else {
  28. callback(false);
  29. }
  30. }).catch(function (err) {
  31. callback(false);
  32. });
  33. },
  34. getProjects: function(req, res){
  35. let data = JSON.parse(req.body.data);
  36. ProjectsData.getUserProjects(data.user_id, function(err, message, projects){
  37. if (projects) {
  38. callback(req, res, err, message, projects);
  39. } else {
  40. callback(req, res, err, message, null);
  41. }
  42. });
  43. },
  44. updateProjects: function (req, res) {
  45. let data = JSON.parse(req.body.data);
  46. ProjectsData.updateUserProjects(data.user_id, data.updateData, function (err, message, data) {
  47. if (err === 0) {
  48. callback(req, res, err, message, data);
  49. } else {
  50. callback(req, res, err, message, null);
  51. }
  52. });
  53. },
  54. copyProjects: function (req, res) {
  55. let data = JSON.parse(req.body.data);
  56. ProjectsData.copyUserProjects(data.user_id, data.updateData, function (err, message, data) {
  57. if (err === 0) {
  58. callback(req, res, err, message, data);
  59. } else {
  60. callback(req, res, err, message, null);
  61. }
  62. });
  63. },
  64. rename: function (req, res) {
  65. let data = JSON.parse(req.body.data);
  66. ProjectsData.rename(data.user_id, data.id, data.newName, function (err, message) {
  67. callback(req, res, err, message, null);
  68. });
  69. },
  70. getProject: function(req, res){
  71. let data = JSON.parse(req.body.data);
  72. ProjectsData.getUserProject(data.user_id, data.proj_id, function(err, message, data){
  73. if (err === 0) {
  74. callback(req, res, err, message, data);
  75. } else {
  76. callback(req, res, err, message, null);
  77. }
  78. });
  79. },
  80. beforeOpenProject: function (req, res) {
  81. let data = JSON.parse(req.body.data);
  82. ProjectsData.beforeOpenProject(data.user_id, data.proj_id, data.updateData, function (err, message, data) {
  83. callback(req, res, err, message, data);
  84. });
  85. },
  86. getNewProjectID: function (req, res) {
  87. let data = JSON.parse(req.body.data);
  88. ProjectsData.getNewProjectID(data.count, function (err, message, data) {
  89. callback(req, res, err, message, data);
  90. });
  91. }
  92. }