MCPcopy Index your code
hub / github.com/chartbrew/chartbrew / updateEmail

Method updateEmail

server/controllers/UserController.js:564–598  ·  view source on GitHub ↗
(id, token)

Source from the content-addressed store, hash-verified

562 }
563
564 updateEmail(id, token) {
565 let decodedToken;
566 try {
567 decodedToken = jwt.verify(token, settings.encryptionKey);
568 } catch (e) {
569 return new Promise((resolve, reject) => reject(e));
570 }
571
572 if (`${decodedToken.id}` !== `${id}`) {
573 return new Promise((resolve, reject) => reject(new Error(401)));
574 }
575
576 // check if email exists
577 return this.emailExists(decodedToken.newEmail)
578 .then((exists) => {
579 if (exists) {
580 return new Promise((resolve, reject) => reject(new Error(409)));
581 }
582
583 return db.User.findByPk(id);
584 })
585 .then((userData) => {
586 if (userData.email !== decodedToken.email) {
587 return new Promise((resolve, reject) => reject(new Error(401)));
588 }
589
590 return this.update(id, { email: decodedToken.newEmail });
591 })
592 .then(() => {
593 return this.findById(id);
594 })
595 .catch((error) => {
596 return new Promise((resolve, reject) => reject(error));
597 });
598 }
599
600 generateQrCodeUrl(email, secret) {
601 const totp = new TOTP({

Callers 1

UserRoute.jsFile · 0.80

Calls 3

emailExistsMethod · 0.95
updateMethod · 0.95
findByIdMethod · 0.95

Tested by

no test coverage detected