Advertisement
Guest User

Untitled

a guest
Dec 1st, 2016
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.72 KB | None | 0 0
  1. exports.create = function (req, res) {
  2. dbConnection.getSystemDatabaseConnection(req).then(function(db) {
  3. if (db) {
  4. var Site = db.model('Site');
  5. var SystemPackage = db.model('SystemPackage');
  6.  
  7. var site = new Site({
  8. code: req.body.code,
  9. name: req.body.name,
  10. });
  11. var systemPackageName = 'Basic';
  12. if (req.body.systemPackage) {
  13. systemPackageName = req.body.systemPackage;
  14. }
  15.  
  16. SystemPackage.findOne({ name: systemPackageName }).select('_id').exec(function (err, systemPackageId) {
  17. if (err) {
  18. return res.status(400).send({
  19. message: errorHandler.getErrorMessage(err)
  20. });
  21. } else {
  22. console.log(chalk.bold.red('Find system package to assign to site: ' + systemPackageName));
  23. site.systemPackage = systemPackageId._id;
  24. site.user = req.user;
  25.  
  26. site.save(function (err) {
  27. if (err) {
  28. return res.status(400).send({
  29. message: errorHandler.getErrorMessage(err)
  30. });
  31. } else {
  32. console.log(chalk.bold.red('New site created successfully'));
  33. // Ok, so we have saved the site, but now we need to create the default user in the 6PM user service
  34. // and then attach this user to the administrator role.
  35.  
  36. // We also need to save the auto-generated siteId property in the users product_specific_attributes property
  37. // otherwise, we will not be able to create any users or see any data for the site.
  38.  
  39. var adminAccount = {
  40. username: req.body.admin_email,
  41. password: req.body.admin_password,
  42. siteId: site.siteId
  43. };
  44.  
  45. console.log(chalk.bold.red('Adding default user to site'));
  46.  
  47. seedTheUser(adminAccount, req, res)
  48. .then(function () {
  49. console.log(chalk.bold.red('Default user added to new site'));
  50. req.user.site = site;
  51. userProfile.create(req,res).then(function (success) {
  52.  
  53. }, function (error) {
  54.  
  55. });
  56. res.json(site);
  57. })
  58. .catch(function(err){
  59. console.log(chalk.bold.red(err));
  60. res.status(400).send(err);
  61. });
  62. }
  63. });
  64. }
  65. });
  66. } else {
  67. return res.status(400).send({
  68. message: 'Database for site could not be found'
  69. });
  70. }
  71. }, function (errorResponse) {
  72. return res.status(400).send({
  73. message: errorHandler.getErrorMessage(errorResponse)
  74. });
  75. });
  76. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement