memberships.js 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. "use strict";
  2. var config = require('config');
  3. var async = require('async');
  4. var url = require("url");
  5. var path = require("path");
  6. var crypto = require('crypto');
  7. var glob = require('glob');
  8. var express = require('express');
  9. var router = express.Router();
  10. const db = require('../../models/db');
  11. const Sequelize = require('sequelize');
  12. const Op = Sequelize.Op;
  13. const uuidv4 = require('uuid/v4');
  14. router.get('/:membership_id/accept', function(req, res, next) {
  15. if (req.user) {
  16. db.Membership.findOne({where:{
  17. _id: req.params.membership_id,
  18. code: req.query.code
  19. }, include: ['space']}).then((mem) => {
  20. if (mem) {
  21. if (!mem.user) {
  22. mem.state = "active";
  23. mem.user_id = req.user._id;
  24. mem.save().then(function() {
  25. res.status(200).json(mem);
  26. });
  27. } else {
  28. res.status(200).json(mem);
  29. }
  30. } else {
  31. res.status(404).json({"error": "not found"});
  32. }
  33. });
  34. } else {
  35. res.sendStatus(403);
  36. }
  37. });
  38. module.exports = router;