* Added direct join functionality * Completed CreateUser test suite * Removed non-essential imports * Reordered test functions * Login test suite completed * Completed Logout test suite * Completed RequestReset test suite * Completed ResetPassword test suite * Completed UpdateUserDetails test suite * Completed SetAudio test suite * Fixed UpdateUserDetials suite * GetUserDetails test suite complete * Completed ResetPassword test suite * Completed GetMemberOrgs test suite * Completed GetOwnedOrgs test suite * AddOrgMember test suite added * Created CreateOrg test suite * Modified AddOrgMember suite * Delete Org test suite completed * Completed GetOrg test suite * Completed RemoveOrgMember test suite * Completed UpdateOrgDetails test suite * Changed oackage,json files * Switched project over to workspaces * Test build script completed * Fixed config.json missing on workflow run * Completed test-build.js.yml * Completed test-build.js.yml * Completed test-build.js.yml * Test build completed * Completed test-build.js.yml * Added touch server * Touched test-build.js.yml * Reworked workflows and automated test suite (#7) Reworked workflows and automated test suite (#7) * Configured new js file and isolated database files in db folder (#10) * Changed config.js and isolated db * Configured new js file and isolated database files in db folder * Removed .env files from config (#11)
46 lines
1.4 KiB
JavaScript
46 lines
1.4 KiB
JavaScript
const { CourierClient } = require('@trycourier/courier');
|
|
require('dotenv').config();
|
|
|
|
const { User, ResetRequest } = require('../../db/models/index');
|
|
|
|
async function RequestReset(req, res, next) {
|
|
try {
|
|
const email = req.query.email;
|
|
if (!email) {
|
|
return res.status(400).send('Request missing required fields');
|
|
}
|
|
|
|
const result = await User.findOne({ where: { email: email } });
|
|
if (!result) {
|
|
return res.status(500).send('Whoops something went wrong');
|
|
}
|
|
|
|
const courier = CourierClient({
|
|
authorizationToken: process.env.COURIER_AUTH_TOKEN,
|
|
});
|
|
|
|
const resetRequest = await ResetRequest.create({
|
|
userID: result.userID,
|
|
});
|
|
|
|
await courier.send({
|
|
message: {
|
|
to: { email: result.email },
|
|
template: 'FSTM4WF60KM570KS9DBQRH0T41GJ',
|
|
data: {
|
|
email: result.email,
|
|
resetRequest: resetRequest.reqID,
|
|
},
|
|
},
|
|
});
|
|
|
|
return res.send(
|
|
'Password reset request sent. If a user exists with this email, an email will be sent with the required information.'
|
|
);
|
|
} catch (e) {
|
|
console.log(e);
|
|
return res.status(500).send('Whoops, something went wrong.');
|
|
}
|
|
}
|
|
|
|
module.exports = RequestReset;
|