_bcryptjs["default"].genSalt(saltRounds,function(d,f){_bcryptjs["default"].hash(a.body.inputPassword,f,function(a,d){varf={profile:e,password:d,verificationToken:c};b(a,f)})})},// save data
varf="Bitte best\xE4tigen Sie Ihr M4_LAB Benutzerkonto",g="<div>Lieber Nutzer,<br/><br/><p>vielen Dank f\xFCr Ihre Anmeldung am Transferportal der HFT Stuttgart. <br/>Um Ihre Anmeldung zu best\xE4tigen, klicken Sie bitte <a href="+(c.app.host+"")+"/verifyAccount?token="+(d.verificationToken+"")+">diesen Link</a> <br/><br/>Ohne Best\xE4tigung Ihres Kontos m\xFCssen wir Ihr Konto leider nach 7 Tagen l\xF6schen.</p><br/>"+(_const.miscConst.mailSignature+"")+"</div>";// user feedback
_mailer.mailer.options.to=a.body.inputEmail,_mailer.mailer.options.subject="Bitte best\xE4tigen Sie Ihr M4_LAB Benutzerkonto",_mailer.mailer.options.html=g,_mailer.mailer.transporter.sendMail(_mailer.mailer.options,function(a){if(a)throwconsole.error("Cannot send email. [Error] "+(a+"")),a}),b.flash("success","Vielen Dank f\xFCr Ihre Registrierung!\r\n\r\nWir haben Ihnen eine E-Mail an Ihre verwendete Adresse gesendet. Diese enth\xE4lt einen Link zur Best\xE4tigung Ihres Accounts.\r\nWenn Sie die Mail nicht in ihrem Postfach vorfinden, pr\xFCfen Sie bitte auch Ihren Spam-Ordner.")}b.redirect("/account/registration")})}])},verifyAccount:function(){functiona(a,c,d){returnb.apply(this,arguments)}varb=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(functiond(a,b,c){vare,f;return_regeneratorRuntime().wrap(functiong(d){for(;1;)switch(d.prev=d.next){case0:returnd.next=2,_dbController.dbController.getUserIdByVerificationToken(a.query.token);case2:e=d.sent,e?(f={id:e,verificationStatus:1},_dbController.dbController.verifyUserAccount(f,/*#__PURE__*/function(){vara=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(functiond(a){varf,g,h;return_regeneratorRuntime().wrap(functioni(d){for(;1;)switch(d.prev=d.next){case0:if(!a){d.next=5;break}console.error(a),b.render(c+"/account/verification",{status:!1}),d.next=9;break;case5:returnd.next=7,_dbController.dbController.getUserEmailById(e);case7:f=d.sent,f?(g="Herzlich willkommen",h="<div>Lieber Nutzer,<br/><br/><p>herzlich willkommen beim Transferportal der HFT Stuttgart!<br/>Sie k\xF6nnen nun alle Dienste des Portals nutzen.<p/><br/>"+_const.miscConst.mailSignature,_mailer.mailer.options.to=f,_mailer.mailer.options.subject=g,_mailer.mailer.options.html=h,_mailer.mailer.transporter.sendMail(_mailer.mailer.options,function(a){if(a)throwconsole.log("cannot send email"),a}),b.render(c+"/account/verification",{status:!0})):b.render(c+"/account/verification",{status:!1});case9:case"end":returnd.stop();}},d)}));returnfunction(b){returna.apply(this,arguments)}}())):b.render(c+"/account/verification",{status:null});case4:case"end":returnd.stop();}},d)}));returna}(),resetPassword:function(){functiona(a,c){returnb.apply(this,arguments)}varb=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(functionc(a,b){vard,e;return_regeneratorRuntime().wrap(functionf(c){for(;1;)switch(c.prev=c.next){case0:returnd=a.body.inputNewPwd,c.next=3,_dbController.dbController.getUserByToken(a.params.token);case3:e=c.sent,e?_bcryptjs["default"].genSalt(saltRounds,function(a,c){_bcryptjs["default"].hash(d,c,/*#__PURE__*/function(){vara=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(functiond(a,c){varf,g;return_regeneratorRuntime().wrap(functiond(a){for(;1;)switch(a.prev=a.next){case0:returnf={password:c,user_id:e.user_id,resetPasswordToken:null,resetPasswordExpires:null},a.next=3,_dbController.dbController.updateCredential(f);case3:g=a.sent,g?(b.flash("success","Passwort aktualisiert!"),_mailer.mailer.options.to=e.email,_mailer.mailer.options.subject=_const.miscConst.updatePasswordMailSubject,_mailer.mailer.options.html=_const.miscConst.updatePasswordMailContent+"<div>"+_const.miscConst.mailSignature+"</div>",_mailer.mailer.transporter.sendMail(_mailer.mailer.options,function(a){a&&console.log(a)})):(console.log("Failed to reset password"),b.flash("error","Datenbankfehler: Passwort kann nicht ge\xE4ndert werden.")),b.redirect("/login");case6:case"end":returna.stop();}},d)}));returnfunction(b,c){returna.apply(this,arguments)}}())}):(b.flash("error","User not found."),b.redirect("/login"));case5:case"end":returnc.stop();}},c)}));returna}(),generateNewToken:functiongenerateNewToken(a,b,c){vard=Math.floor,e=a.body.inputEmail;_async["default"].waterfall([/*#__PURE__*/function(){vara=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(functionb(a){varf,g,h,j,k,l,m,n;return_regeneratorRuntime().wrap(functioni(b){for(;1;)switch(b.prev=b.next){case0:returnb.next=2,_dbController.dbController.checkUserEmail(e);case2:if(f=b.sent,f){b.next=7;break}console.log("No user found: "+(e+"")),b.next=17;break;case7:for(g="",h="abcdefghijklmnopqrstuvwxyz0123456789",j=0;40>j;j++)g+=h.charAt(d(Math.random()*h.length));returnk="Ihre Passwort-Anfrage an das Transferportal der HFT Stuttgart",l="<div>Lieber Nutzer,<br/><br/><p>wir haben Ihre Anfrage zur Erneuerung Ihres Passwortes erhalten. Falls Sie diese Anfrage nicht gesendet haben, ignorieren Sie bitte diese E-Mail.<br/><br/>Sie k\xF6nnen Ihr Passwort mit dem Klick auf diesen Link \xE4ndern: "+(c.app.host+"/reset/")+(g+"<br/>Dieser Link ist aus Sicherheitsgr\xFCnden nur f\xFCr 1 Stunde g\xFCltig.<br/></p>")+(_const.miscConst.mailSignature+"</div>"),m={user_id:f.id,resetPasswordToken:g,resetPasswordExpires:Date.now()+36e5// 1 hour
},b.next=15,_dbController.dbController.updateCredential(m);case15:n=b.sent,n?(_mailer.mailer.options.to=e,_mailer.mailer.options.subject=k,_mailer.mailer.options.html=l,_mailer.mailer.transporter.sendMail(_mailer.mailer.options,function(a){a&&console.error(a)})):console.log("failed to update credential");case17:a(null);case18:case"end":returnb.stop();}},b)}));returnfunction(b){returna.apply(this,arguments)}}()],function(a){a?b.flash("error","Ein Fehler ist aufgetreten. Bitte versuchen Sie es erneut."):b.flash("success","Wenn Ihre E-Mail-Adresse registriert ist, wurde eine E-Mail mit dem weiteren Vorgehen an "+(e+"")+" versendet."),b.redirect("/account/forgotPwd")})},checkUserEmail:function(){functiona(a,c){returnb.apply(this,arguments)}varb=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(functionc(a,b){vard;return_regeneratorRuntime().wrap(functione(c){for(;1;)switch(c.prev=c.next){case0:returnc.next=2,_dbController.dbController.checkUserEmail(a.params.email);case2:d=c.sent,d?b.send(!1):b.send(!0);case4:case"end":returnc.stop();}},c)}));returna}()};exports.publicController=publicController;
\ No newline at end of file
_mailer.mailer.options.to=a.body.inputEmail,_mailer.mailer.options.subject="Bitte best\xE4tigen Sie Ihr M4_LAB Benutzerkonto",_mailer.mailer.options.html=g,_mailer.mailer.transporter.sendMail(_mailer.mailer.options,function(a){if(a)throwconsole.error("Cannot send email. [Error] "+(a+"")),a}),b.flash("success","Vielen Dank f\xFCr Ihre Registrierung!\r\n\r\nWir haben Ihnen eine E-Mail an Ihre verwendete Adresse gesendet. Diese enth\xE4lt einen Link zur Best\xE4tigung Ihres Accounts.\r\nWenn Sie die Mail nicht in ihrem Postfach vorfinden, pr\xFCfen Sie bitte auch Ihren Spam-Ordner.")}b.redirect("/account/registration")})}])},verifyAccount:function(){functiona(a,c,d){returnb.apply(this,arguments)}varb=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(functiond(a,b,c){vare,f;return_regeneratorRuntime().wrap(functiong(d){for(;1;)switch(d.prev=d.next){case0:returnd.next=2,_dbController.dbController.getUserIdByVerificationToken(a.query.token);case2:e=d.sent,e?(f={id:e,verificationStatus:1},_dbController.dbController.verifyUserAccount(f,/*#__PURE__*/function(){vara=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(functiond(a){varf,g,h;return_regeneratorRuntime().wrap(functioni(d){for(;1;)switch(d.prev=d.next){case0:if(!a){d.next=5;break}console.error(a),b.render(c+"/account/verification",{status:!1}),d.next=9;break;case5:returnd.next=7,_dbController.dbController.getUserEmailById(e);case7:f=d.sent,f?(g="Herzlich willkommen",h="<div>Lieber Nutzer,<br/><br/><p>herzlich willkommen beim Transferportal der HFT Stuttgart!<br/>Sie k\xF6nnen nun alle Dienste des Portals nutzen.<p/><br/>"+_const.miscConst.mailSignature,_mailer.mailer.options.to=f,_mailer.mailer.options.subject=g,_mailer.mailer.options.html=h,_mailer.mailer.transporter.sendMail(_mailer.mailer.options,function(a){if(a)throwconsole.log("cannot send email"),a}),b.render(c+"/account/verification",{status:!0})):b.render(c+"/account/verification",{status:!1});case9:case"end":returnd.stop();}},d)}));returnfunction(b){returna.apply(this,arguments)}}())):b.render(c+"/account/verification",{status:null});case4:case"end":returnd.stop();}},d)}));returna}(),resetPassword:function(){functiona(a,c){returnb.apply(this,arguments)}varb=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(functionc(a,b){vard,e;return_regeneratorRuntime().wrap(functionf(c){for(;1;)switch(c.prev=c.next){case0:returnd=a.body.inputNewPwd,c.next=3,_dbController.dbController.getUserByToken(a.params.token);case3:e=c.sent,e?_bcryptjs["default"].genSalt(saltRounds,function(a,c){_bcryptjs["default"].hash(d,c,/*#__PURE__*/function(){vara=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(functiond(a,c){varf,g;return_regeneratorRuntime().wrap(functiond(a){for(;1;)switch(a.prev=a.next){case0:returnf={password:c,user_id:e.user_id,resetPasswordToken:null,resetPasswordExpires:null},a.next=3,_dbController.dbController.updateCredential(f);case3:g=a.sent,g?(b.flash("success","Passwort aktualisiert!"),_mailer.mailer.options.to=e.email,_mailer.mailer.options.subject=_const.miscConst.updatePasswordMailSubject,_mailer.mailer.options.html=_const.miscConst.updatePasswordMailContent+"<div>"+_const.miscConst.mailSignature+"</div>",_mailer.mailer.transporter.sendMail(_mailer.mailer.options,function(a){a&&console.log(a)})):(console.log("Failed to reset password"),b.flash("error","Datenbankfehler: Passwort kann nicht ge\xE4ndert werden.")),b.redirect("/login");case6:case"end":returna.stop();}},d)}));returnfunction(b,c){returna.apply(this,arguments)}}())}):(b.flash("error","User not found."),b.redirect("/login"));case5:case"end":returnc.stop();}},c)}));returna}(),generateNewToken:functiongenerateNewToken(a,b,c){vard=Math.floor,e=a.body.inputEmail;_async["default"].waterfall([/*#__PURE__*/function(){vara=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(functionb(a){varf,g,h,j,k,l,m,n,o;return_regeneratorRuntime().wrap(functioni(b){for(;1;)switch(b.prev=b.next){case0:returnb.next=2,_dbController.dbController.checkUserEmail(e);case2:if(f=b.sent,f){b.next=7;break}console.log("No user found: "+(e+"")),b.next=18;break;case7:for(g="",h="abcdefghijklmnopqrstuvwxyz0123456789",j=0;40>j;j++)g+=h.charAt(d(Math.random()*h.length));returnk=c.app.host+"/reset/"+(g+""),l="Ihre Passwort-Anfrage an das Transferportal der HFT Stuttgart",m="<div>Lieber Nutzer,<br/><br/><p>wir haben Ihre Anfrage zur Erneuerung Ihres Passwortes erhalten. Falls Sie diese Anfrage nicht gesendet haben, ignorieren Sie bitte diese E-Mail.<br/><br/>Sie k\xF6nnen Ihr Passwort mit dem Klick auf diesen Link \xE4ndern: <a href=\""+k+"\">"+k+"</a><br/>Dieser Link ist aus Sicherheitsgr\xFCnden nur f\xFCr 1 Stunde g\xFCltig.<br/></p>"+(_const.miscConst.mailSignature+"</div>"),n={user_id:f.id,resetPasswordToken:g,resetPasswordExpires:Date.now()+36e5// 1 hour
},b.next=16,_dbController.dbController.updateCredential(n);case16:o=b.sent,o?(_mailer.mailer.options.to=e,_mailer.mailer.options.subject=l,_mailer.mailer.options.html=m,_mailer.mailer.transporter.sendMail(_mailer.mailer.options,function(a){a&&console.error(a)})):console.log("failed to update credential");case18:a(null);case19:case"end":returnb.stop();}},b)}));returnfunction(b){returna.apply(this,arguments)}}()],function(a){a?b.flash("error","Ein Fehler ist aufgetreten. Bitte versuchen Sie es erneut."):b.flash("success","Wenn Ihre E-Mail-Adresse registriert ist, wurde eine E-Mail mit dem weiteren Vorgehen an "+(e+"")+" versendet."),b.redirect("/account/forgotPwd")})},checkUserEmail:function(){functiona(a,c){returnb.apply(this,arguments)}varb=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(functionc(a,b){vard;return_regeneratorRuntime().wrap(functione(c){for(;1;)switch(c.prev=c.next){case0:returnc.next=2,_dbController.dbController.checkUserEmail(a.params.email);case2:d=c.sent,d?b.send(!1):b.send(!0);case4:case"end":returnc.stop();}},c)}));returna}()};exports.publicController=publicController;