"use strict";(()=>{var e={};e.id=6712,e.ids=[3220,6712],e.modules={30671:(e,t)=>{Object.defineProperty(t,"M",{enumerable:!0,get:function(){return function e(t,r){return r in t?t[r]:"then"in t&&"function"==typeof t.then?t.then(t=>e(t,r)):"function"==typeof t&&"default"===r?t:void 0}}})},71956:(e,t,r)=>{r.r(t),r.d(t,{config:()=>O,default:()=>D,getServerSideProps:()=>N,getStaticPaths:()=>A,getStaticProps:()=>b,reportWebVitals:()=>k,routeModule:()=>$,unstable_getServerProps:()=>I,unstable_getServerSideProps:()=>M,unstable_getStaticParams:()=>w,unstable_getStaticPaths:()=>R,unstable_getStaticProps:()=>L});var s={};r.r(s),r.d(s,{default:()=>j,getServerSideProps:()=>P});var n=r(63865),i=r(9455),a=r(30671),o=r(49407),l=r(89600),c=r(8732),u=r(82015),d=r.n(u);r(27912);var p=r(20048),m=r.n(p),f=r(32415),g=r(63715),S=r(77463),x=r.n(S),_=r(71457),h=r(22373),y=r.n(h),E=r(67216),v=r.n(E);function j({user:e,verified:t}){let[r,s]=d().useState(!1),[n,i]=d().useState(null);return t?(0,c.jsx)(_.A,{head:(0,c.jsxs)(d().Fragment,{children:[(0,c.jsx)("title",{children:"Verify Email Address"}),(0,c.jsx)("meta",{name:"description",content:"Verify your email address"})]}),user:e,children:(0,c.jsx)("main",{className:"flex items-center justify-center w-full p-8",children:(0,c.jsx)("div",{className:"login-block gap-2",children:(0,c.jsxs)("div",{className:"flex items-center gap-4",children:[(0,c.jsx)("img",{src:"/images/checkmark.svg",alt:"check-mark",width:30}),(0,c.jsx)("span",{className:"text-xl",children:"Email Verification Successfull!"})]})})})}):(0,c.jsx)(d().Fragment,{children:(0,c.jsx)(_.A,{head:(0,c.jsxs)(d().Fragment,{children:[(0,c.jsx)("title",{children:"Verify Email Address"}),(0,c.jsx)("meta",{name:"description",content:"Verify your email address"})]}),user:e,children:(0,c.jsx)("main",{className:"flex flex-col items-center p-8 justify-center w-full",children:(0,c.jsxs)("div",{className:"login-block gap-2 flex-col max-w-lg",children:[n&&(0,c.jsx)("div",{className:n.class+" w-full rounded py-2 px-4 flex justify-center",children:n.msg}),r&&(0,c.jsx)(f.A,{position:"absolute"}),(0,c.jsx)("h1",{className:"text-2xl m-0 ",children:"Verify Email Address"}),(0,c.jsx)("span",{children:"Please click the button below to send verification link"}),(0,c.jsx)("button",{className:"w-full",onClick:function(e){e.preventDefault(),s(!0),(0,g.A)("/api/sendEmailVerificationLink").then(e=>{s(!1),e.success&&i({msg:"Email Sent. Please check mailbox",class:"bg-emerald-100"})})},children:(0,c.jsx)("span",{children:"Send Verification Link"})}),(0,c.jsx)("button",{className:"w-full outlined",onClick:e=>{window.history.back()},children:(0,c.jsx)("span",{children:"Go Back"})})]})})})})}async function P({req:e,res:t,query:r}){let s;let n=!1;try{s=await m()(e,t);let i=r?.token;if(i){let e=x()({encryptedString:i.toString()});if(e)try{s=JSON.parse(e)}catch(e){y()({component:"email-verification/index-page-component/getServerSideProps/line-255",message:e.message,user:{}}),s=null,i=null}}if(!s)return{redirect:{destination:"/logout",permanent:!1}};if(s.verification_status?.toString().match(/^[1-5]$/))return{redirect:{destination:"/admin",permanent:!1}};let a=await v()(`SELECT id FROM users WHERE verification_status > 0 AND id='${s.id}'`);if(a&&a[0])return{redirect:{destination:"/admin",permanent:!1}};if(s?.dateCode){let e=s.dateCode;Date.now()-parseInt(e)>18e5?(s=null,i=null):(await v()(`UPDATE users SET verification_status='1' WHERE id='${s.id}'`),n=!0)}}catch(e){return y()({component:"email-verification/index-page-component/getServerSideProps/main-catch-error",message:e.message,user:{}}),{redirect:{destination:"/logout",permanent:!1}}}return{props:{user:s,verified:n}}}let D=(0,a.M)(s,"default"),b=(0,a.M)(s,"getStaticProps"),A=(0,a.M)(s,"getStaticPaths"),N=(0,a.M)(s,"getServerSideProps"),O=(0,a.M)(s,"config"),k=(0,a.M)(s,"reportWebVitals"),L=(0,a.M)(s,"unstable_getStaticProps"),R=(0,a.M)(s,"unstable_getStaticPaths"),w=(0,a.M)(s,"unstable_getStaticParams"),I=(0,a.M)(s,"unstable_getServerProps"),M=(0,a.M)(s,"unstable_getServerSideProps"),$=new n.PagesRouteModule({definition:{kind:i.A.PAGES,page:"/email-verification",pathname:"/email-verification",bundlePath:"",filename:""},components:{App:l.default,Document:o.default},userland:s})},20048:(e,t,r)=>{r(81630);let s=r(67216),n=r(77463),i=r(29021),a=r(6505);async function o(e,t,r,o){let{keyCookieName:l,csrfCookieName:c}=a();if(!e.cookies?.[l]?.match(/./))return null;let u=n({encryptedString:e.cookies[l]});if(!u)return null;let d=JSON.parse(u);if(!d.csrf_k||r&&!e.headers["x-csrf-auth"]?.match(RegExp(`${d.csrf_k}`)))return null;let p=process.env.DSQL_USER_LOGIN_KEYS_PATH;if(!p)return console.log("DSQL_USER_LOGIN_KEYS_PATH env variable not found. Please set this variable."),null;if(r&&!i.existsSync(`${p}/${d.csrf_k}`))return null;if(0==d.verification_status&&!r){let e=await s(`SELECT verification_status FROM users WHERE id='${d.id}'`);e&&e[0]&&1==e[0].verification_status&&t.setHeader("Set-Cookie",["user_refresh=1"])}return d?.date&&Date.now()-d.date>6048e5?null:d}e.exports=o},6505:e=>{e.exports=function(e){let t=process.env.DSQL_COOKIES_PREFIX||"dsql_",r=process.env.DSQL_COOKIES_KEY_NAME||"key",s=process.env.DSQL_COOKIES_CSRF_NAME||"csrf",n=process.env.DSQL_COOKIES_ONE_TIME_CODE_NAME||"one-time-code",i=e?.database?.replace(/^datasquirel_user_\d+_/,"")||process.env.DSQL_DB_NAME?.replace(/^datasquirel_user_\d+_/,""),a=t;e?.userId&&(a+=`user_${e.userId}_`),i&&(a+=`${i}_`),a+=r;let o=t;e?.userId&&(o+=`user_${e.userId}_`),i&&(o+=`${i}_`),o+=s;let l=t;return e?.userId&&(l+=`user_${e.userId}_`),i&&(l+=`${i}_`),{keyCookieName:a,csrfCookieName:o,oneTimeCodeName:l+=n}}},22373:(e,t,r)=>{let s=r(29021),{IncomingMessage:n}=r(81630);e.exports=async function({user:e,message:t,component:r,noMail:n,req:i}){let a=new Date,o=(()=>{if(!i)return null;try{let e=i.headers["x-forwarded-for"],t=i.headers["x-real-ip"],r=i.headers["cf-connecting-ip"],s=Array.isArray(e)?e[0]:e?.split(",")[0],n=r||s||t||i.socket.remoteAddress;if(!n)return null;return String(n)}catch(e){return null}})();try{let n=`🚀 SERVER ERROR =========================== Error Message: ${t} Component: ${r}`;e?.id&&e?.first_name&&e?.last_name&&e?.email&&(n+=` User Id: ${e?.id} User Name: ${e?.first_name} ${e?.last_name} User Email: ${e?.email}`),i?.url&&(n+=` URL: ${i.url}`),i?.body&&(n+=` Request Body: ${JSON.stringify(i.body,null,4)}`),o&&(n+=` IP: ${o}`),n+=` Date: ${a.toDateString()} ========================================`,s.existsSync("./.tmp/error.log")||s.writeFileSync("./.tmp/error.log","","utf-8");let l=s.readFileSync("./.tmp/error.log","utf-8");s.writeFileSync("./.tmp/error.log",n),s.appendFileSync("./.tmp/error.log",` ${l}`)}catch(e){console.log("Server Error Reporting Error:",e.message)}}},77463:(e,t,r)=>{let{scryptSync:s,createDecipheriv:n}=r(55511),{Buffer:i}=r(79428);e.exports=({encryptedString:e,encryptionKey:t,encryptionSalt:r})=>{if(!e?.match(/./))return console.log("Encrypted string is invalid"),e;let a=t||process.env.DSQL_ENCRYPTION_PASSWORD,o=r||process.env.DSQL_ENCRYPTION_SALT,l=process.env.DSQL_ENCRYPTION_KEY_LENGTH?Number(process.env.DSQL_ENCRYPTION_KEY_LENGTH):24;if(!a?.match(/.{8,}/))return console.log("Decrption key is invalid"),e;if(!o?.match(/.{8,}/))return console.log("Decrption salt is invalid"),e;let c=n("aes-192-cbc",s(a,o,l),i.alloc(16,0));try{let t=c.update(e,"hex","utf8");return t+=c.final("utf8")}catch(t){return console.log("Error in decrypting =>",t.message),e}}},67216:(e,t,r)=>{let s=r(9973),n=r(31976),i=s({config:{host:process.env.DSQL_DB_HOST,user:process.env.DSQL_DB_USERNAME,password:process.env.DSQL_DB_PASSWORD,database:process.env.DSQL_DB_NAME,port:process.env.DSQL_DB_PORT?Number(process.env.DSQL_DB_PORT):void 0,charset:"utf8mb4",ssl:n()}});async function a(...e){try{let t=await i.query(...e);return await i.end(),JSON.parse(JSON.stringify(t))}catch(e){return console.log("DB Error =>",e),{success:!1,error:e.message}}}e.exports=a},31976:(e,t,r)=>{let s=r(29021);e.exports=function(){let e=process.env.DSQL_SSL_DIR;if(!e?.match(/./))return;let t=`${e}/ca-cert.pem`;if(!s.existsSync(t)){console.log(`${t} does not exist`);return}return{ca:s.readFileSync(`${e}/ca-cert.pem`)}}},49407:(e,t,r)=>{r.r(t),r.d(t,{default:()=>i});var s=r(8732);r(82015);var n=r(20883);function i(e){return(0,s.jsxs)(n.Html,{lang:"en",children:[(0,s.jsxs)(n.Head,{children:[(0,s.jsx)("meta",{name:"author",content:"Datasquirel"}),(0,s.jsx)("meta",{name:"Copyright",content:`Copyright (c) ${new Date().getFullYear()} Datasquirel`}),"dev_dev".match(/dev/)&&(0,s.jsx)("meta",{name:"robots",content:"noindex,nofollow"}),(0,s.jsx)("link",{rel:"preconnect",href:"https://fonts.googleapis.com/",crossOrigin:"anonymous"}),(0,s.jsx)("link",{rel:"preconnect",href:"https://fonts.gstatic.com",crossOrigin:"anonymous"}),(0,s.jsx)("link",{rel:"stylesheet",href:"https://fonts.googleapis.com/css?family=Poppins"}),(0,s.jsx)("link",{rel:"stylesheet",href:"https://fonts.googleapis.com/css?family=Inter"}),(0,s.jsx)("link",{rel:"stylesheet",href:"https://fonts.googleapis.com/css?family=IBM+Plex+Mono"}),(0,s.jsx)("script",{src:"/scripts/themeSelector.js"}),(0,s.jsx)("meta",{httpEquiv:"Content-Type",content:"text/html; charset=UTF-8"}),(0,s.jsx)("meta",{property:"og:site_name",content:"DATASQUIREL"}),(0,s.jsx)("meta",{property:"og:type",content:"website"}),(0,s.jsx)("meta",{name:"twitter:card",content:"summary"}),(0,s.jsx)("meta",{property:"og:image",content:"https://static.datasquirel.com/images/user-images/user-2/email-banner.jpeg"}),(0,s.jsx)("meta",{itemProp:"image",content:"https://static.datasquirel.com/images/user-images/user-2/email-banner.jpeg"}),(0,s.jsx)("meta",{name:"twitter:image",content:"https://static.datasquirel.com/images/user-images/user-2/email-banner.jpeg"}),(0,s.jsx)("link",{rel:"stylesheet",href:"/styles/prism.css"}),(0,s.jsx)("script",{src:"/scripts/prism.js",async:!0}),(0,s.jsx)("script",{dangerouslySetInnerHTML:{__html:"var DSQL = {}"}})]}),(0,s.jsxs)("body",{children:[(0,s.jsx)(n.Main,{}),(0,s.jsx)(n.NextScript,{})]})]})}},9455:(e,t)=>{var r;Object.defineProperty(t,"A",{enumerable:!0,get:function(){return r}}),function(e){e.PAGES="PAGES",e.PAGES_API="PAGES_API",e.APP_PAGE="APP_PAGE",e.APP_ROUTE="APP_ROUTE",e.IMAGE="IMAGE"}(r||(r={}))},40361:e=>{e.exports=require("next/dist/compiled/next-server/pages.runtime.prod.js")},27912:e=>{e.exports=require("next/head")},82015:e=>{e.exports=require("react")},22326:e=>{e.exports=require("react-dom")},8732:e=>{e.exports=require("react/jsx-runtime")},9973:e=>{e.exports=require("serverless-mysql")},79428:e=>{e.exports=require("buffer")},55511:e=>{e.exports=require("crypto")},29021:e=>{e.exports=require("fs")},81630:e=>{e.exports=require("http")},33873:e=>{e.exports=require("path")}};var t=require("../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[883,9821,9600],()=>r(71956));module.exports=s})();