diff --git a/.gitignore b/.gitignore index 1017d8ff..0d0b4aab 100755 --- a/.gitignore +++ b/.gitignore @@ -68,3 +68,4 @@ assets/.DS_Store #secrets secret.yaml +package-lock.json diff --git a/assets/email/statusEmail/Checked-in.hbs b/assets/email/statusEmail/Checked-in.hbs index 4c0bf4c3..6f029786 100644 --- a/assets/email/statusEmail/Checked-in.hbs +++ b/assets/email/statusEmail/Checked-in.hbs @@ -390,11 +390,8 @@ This email is to confirm your check-in at McHacks!

Don't forget to join the McHacks participants Facebook - group and Slack + href="https://discord.com/invite/fqbjr43cKf" + style="-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;color:#F2463A;text-decoration:none;">Discord for announcements, to chat with other hackers, ask questions, and form teams! diff --git a/constants/role.constant.js b/constants/role.constant.js index dfee5c3e..562a85e8 100644 --- a/constants/role.constant.js +++ b/constants/role.constant.js @@ -37,6 +37,7 @@ const hackerRole = { Constants.Routes.hackerRoutes.patchSelfById, Constants.Routes.hackerRoutes.patchSelfConfirmationById, Constants.Routes.hackerRoutes.getSelf, + Constants.Routes.hackerRoutes.postDiscord, Constants.Routes.travelRoutes.getSelf, Constants.Routes.travelRoutes.getSelfById, diff --git a/constants/routes.constant.js b/constants/routes.constant.js index 79d4c460..e880674d 100644 --- a/constants/routes.constant.js +++ b/constants/routes.constant.js @@ -6,7 +6,7 @@ * ===***===***===***===***===***===***===***===***=== * * If you are adding a route to this list, update this number - * next avaiable createFromTime value: 166 + * next avaiable createFromTime value: 168 * * If you are deleting a route from this list, please add the ID to the list of 'reserved' IDs, * so that we don't accidentally assign someone to a given ID. @@ -203,6 +203,12 @@ const hackerRoutes = { uri: "/api/hacker/email/dayOf/" + Constants.ROLE_CATEGORIES.SELF, _id: mongoose.Types.ObjectId.createFromTime(134) } + // }, + // postDiscord: { + // requestType: Constants.REQUEST_TYPES.POST, + // uri: "/api/hacker/discord", + // _id: mongoose.Types.ObjectId.createFromTime(167) + // } }; const travelRoutes = { @@ -363,6 +369,11 @@ const staffRoutes = { requestType: Constants.REQUEST_TYPES.GET, uri: "/api/account/invite", _id: mongoose.Types.ObjectId.createFromTime(162) + }, + postDiscord: { + requestType: Constants.REQUEST_TYPES.POST, + uri: "/api/hacker/discord", + _id: mongoose.Types.ObjectId.createFromTime(167) } }; diff --git a/middlewares/hacker.middleware.js b/middlewares/hacker.middleware.js index fa75accb..26935ade 100644 --- a/middlewares/hacker.middleware.js +++ b/middlewares/hacker.middleware.js @@ -874,6 +874,11 @@ async function getStats(req, res, next) { next(); } +function addIdToCheckStatus(req, res, next) { + req.params.id = req.body.hacker.id; + return next(); +} + module.exports = { parsePatch: parsePatch, parseHacker: parseHacker, @@ -929,5 +934,6 @@ module.exports = { findByEmail: Middleware.Util.asyncMiddleware(findByEmail), obtainEmailByHackerId: Middleware.Util.asyncMiddleware( obtainEmailByHackerId - ) + ), + addIdToCheckStatus: addIdToCheckStatus }; diff --git a/package-lock.json b/package-lock.json index 6dc97087..26be99d7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { "name": "hackerAPI", - "version": "3.1.3", + "version": "3.1.6", "lockfileVersion": 2, "requires": true, "packages": { "": { - "version": "3.1.3", + "version": "3.1.6", "dependencies": { "@google-cloud/storage": "^5.8.5", "@sendgrid/mail": "^6.5.5", diff --git a/routes/api/hacker.js b/routes/api/hacker.js index d3da1d65..77cb1d43 100644 --- a/routes/api/hacker.js +++ b/routes/api/hacker.js @@ -905,6 +905,23 @@ module.exports = { Controllers.Hacker.sentDayOfEmail ); + hackerRouter.route("/discord").post( + Middleware.Auth.ensureAuthenticated(), + Middleware.Auth.ensureAuthorized(), + + // Middleware.parseBody.middleware, + Middleware.Hacker.findByEmail, + Middleware.Hacker.addIdToCheckStatus, + Middleware.Hacker.checkStatus([ + CONSTANTS.HACKER_STATUS_ACCEPTED, + CONSTANTS.HACKER_STATUS_CONFIRMED + ]), + Middleware.Hacker.parseCheckIn, + Middleware.Hacker.updateHacker, + Middleware.Hacker.sendStatusUpdateEmail, + Controllers.Hacker.updatedHacker + ); + apiRouter.use("/hacker", hackerRouter); } };