pm_controller.js 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. /**
  2. * Created by Mai on 2017/1/18.
  3. */
  4. let ProjectsData = require('../models/project_model').project;
  5. let projType = require('../models/project_model').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.sessionUser.ssoId;
  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. ProjectsData.getUserProjects(req.session.sessionUser.ssoId, function(err, message, projects){
  36. if (projects) {
  37. callback(req, res, err, message, projects);
  38. } else {
  39. callback(req, res, err, message, null);
  40. }
  41. });
  42. },
  43. updateProjects: function (req, res) {
  44. let data = JSON.parse(req.body.data);
  45. ProjectsData.updateUserProjects(req.session.sessionUser.ssoId, data.updateData, function (err, message, data) {
  46. if (err === 0) {
  47. callback(req, res, err, message, data);
  48. } else {
  49. callback(req, res, err, message, null);
  50. }
  51. });
  52. },
  53. copyProjects: function (req, res) {
  54. let data = JSON.parse(req.body.data);
  55. ProjectsData.copyUserProjects(req.session.sessionUser.ssoId, data.updateData, function (err, message, data) {
  56. if (err === 0) {
  57. callback(req, res, err, message, data);
  58. } else {
  59. callback(req, res, err, message, null);
  60. }
  61. });
  62. },
  63. rename: function (req, res) {
  64. let data = JSON.parse(req.body.data);
  65. ProjectsData.rename(req.session.sessionUser.ssoId, data.id, data.newName, function (err, message) {
  66. callback(req, res, err, message, null);
  67. });
  68. },
  69. getProject: function(req, res){
  70. let data = JSON.parse(req.body.data);
  71. ProjectsData.getUserProject(req.session.sessionUser.ssoId, data.proj_id, function(err, message, data){
  72. if (err === 0) {
  73. callback(req, res, err, message, data);
  74. } else {
  75. callback(req, res, err, message, null);
  76. }
  77. });
  78. },
  79. beforeOpenProject: function (req, res) {
  80. let data = JSON.parse(req.body.data);
  81. ProjectsData.beforeOpenProject(req.session.sessionUser.ssoId, data.proj_id, data.updateData, function (err, message, data) {
  82. callback(req, res, err, message, data);
  83. });
  84. },
  85. getNewProjectID: function (req, res) {
  86. let data = JSON.parse(req.body.data);
  87. ProjectsData.getNewProjectID(data.count, function (err, message, data) {
  88. callback(req, res, err, message, data);
  89. });
  90. }
  91. }