19 lines
8.1 KiB
JavaScript
19 lines
8.1 KiB
JavaScript
"use strict";(()=>{var e={};e.id=3303,e.ids=[3303],e.modules={75600:e=>{e.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")},21572:e=>{e.exports=require("nodemailer")},72583:e=>{e.exports=require("sanitize-html")},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")},19813:(e,r,t)=>{t.r(r),t.d(r,{config:()=>A,default:()=>S,routeModule:()=>h});var s={};t.r(s),t.d(s,{default:()=>E});var a=t(89947),i=t(2706),n=t(96762),o=t(29021),l=t.n(o),d=t(48786),u=t(49941),_=t(67619),m=t(96052),c=t(2416),p=t(89159),g=t(83919),f=t(68829);async function E(e,r){if("POST"===e.method){let t=e.body,s=t.email,a=t.password,i=t.query;if(s.match(/ /))return r.json({user:null,msg:"Invalid Email"});try{let t=process.env.DSQL_USER_LOGIN_KEYS_PATH;if(!t)throw Error("loginUser error: process.env.DSQL_USER_LOGIN_KEYS_PATH not present");l().existsSync(t)||l().mkdirSync(t,{recursive:!0});let n=e.headers["x-real-ip"]||e.headers["x-forwarded-for"]||e.connection.remoteAddress,o=process.env.DSQL_HOST||"https://datasquirel.com",_=(0,g.A)({encryptionKey:process.env.DSQL_ENCRYPTION_PASSWORD||"",password:a});if(a?.match(/ /)||s?.match(/ /))return r.json({msg:"Failed!",user:null});let E=await (0,d.A)("SELECT * FROM users WHERE email=? OR username=?",[s,s]);if(!E||!E[0])return r.json({msg:"No user found",user:null});let S=!1;if(E&&E[0]&&(S=_===E[0].password),!S)return await (0,c.A)(),(0,m.default)({to:process.env.DSQL_CONTACT_EMAIL,subject:`Failed Login from ${s}`,html:`<h1><u>${s}</u> tried to login with a wrong password</h1><p><b>${s}</b> attempted a login on ${o} from ${n} with a wrong password.</p>`}),r.json({msg:"Wrong Password, Wrong Social Media Credentials",user:null});let A=Math.random().toString(36).substring(2)+"-"+Math.random().toString(36).substring(2),h={id:E[0].id,stripe_id:E[0].stripe_id||"",first_name:E[0].first_name,last_name:E[0].last_name,username:E[0].username,email:E[0].email,social_id:E[0].social_id,image:E[0].image,image_thumbnail:E[0].image_thumbnail,verification_status:E[0].verification_status,social_login:E[0].social_login,social_platform:E[0].social_platform,csrf_k:A,logged_in_status:!0,date:Date.now()},v=(0,f.default)({data:JSON.stringify(h)}),{keyCookieName:L,csrfCookieName:y}=(0,p.A)();r.setHeader("Set-Cookie",[`${L}=${v};samesite=strict;path=/;HttpOnly=true;Secure=true`,`${y}=${A};samesite=strict;path=/;HttpOnly=true`]),l().appendFile("./.tmp/userLoginLogs.log",`${E[0].first_name} ${E[0].last_name} Logged in from ${E[0].social_login?E[0].social_platform:"Regular Email Login"} at ${Date()}
|
|
|
|
|
|
`,"utf8",e=>{e&&console.log("Loging log write error")}),l().writeFileSync(`${t}/${A}`,JSON.stringify(h)),i?.invite&&(0,u.A)({query:i,user:{...h,phone:E[0].phone}}),await (0,c.A)(),(0,m.default)({to:process.env.DSQL_CONTACT_EMAIL,subject:`${s} Logged in successfully`,html:`<h1><u>${s}</u> successfully logged in</h1><p><b>${s}</b> successfully logged in on ${o} from ${n} on ${Date().substring(0,16)}.</p>`}),r.json({msg:"User Found",user:{auth:!0,userid:E[0].id,csrf_k:A,stripe_id:E[0].stripe_id||""},userPayload:h})}catch(e){console.log("Login Error =>",e.message),(0,_.default)({component:"/api/loginUser/main-catch-error",message:e.message,user:{email:s}})}}else r.json({msg:"Oops ..."})}let S=(0,n.M)(s,"default"),A=(0,n.M)(s,"config"),h=new a.PagesAPIRouteModule({definition:{kind:i.A.PAGES_API,page:"/api/loginUser",pathname:"/api/loginUser",bundlePath:"",filename:""},userland:s})},2416:(e,r,t)=>{t.d(r,{A:()=>s});async function s(e){return await new Promise((r,t)=>{setTimeout(()=>{r(!0)},e||1e3)}),!0}},49941:(e,r,t)=>{t.d(r,{A:()=>o});var s=t(67619),a=t(48786),i=t(98e3),n=t(7971);async function o({query:e,user:r,useLocal:t}){try{let s=t?n.A:a.A,{invite:o,database_access:l,priviledge:d,email:u}=e,_=[o,u],m=await s("SELECT date_created_code FROM invitations WHERE inviting_user_id=? AND invited_user_email=?",_);if(!m||!m[0])throw Error("No Invitation Found");let c=[o],p=await s("SELECT first_name,last_name,email FROM users WHERE id=?",c);if(p?.[0]){let e=await s("SELECT email FROM user_users WHERE user_id=? AND invited_user_id=? AND user_type='admin' AND email=?",[o,r.id,u]);if(e?.[0])console.log("User already added");else{(0,i.A)({dbFullName:"datasquirel",tableName:"user_users",data:{user_id:o,invited_user_id:r.id,database_access:l,first_name:r.first_name,last_name:r.last_name,phone:r.phone,email:r.email,username:r.username,user_type:"admin",user_priviledge:d,image:r.image,image_thumbnail:r.image_thumbnail},useLocal:t});let e=await s("SELECT db_tables_data FROM invitations WHERE inviting_user_id=? AND invited_user_email=?",[o,u]);if(await s("DELETE FROM delegated_user_tables WHERE root_user_id=? AND delegated_user_id=?",[o,r.id]),e&&e[0]){let s=e[0].db_tables_data.split("|");for(let e=0;e<s.length;e++){let[a,n]=s[e].split("-");await (0,i.A)({dbFullName:"datasquirel",tableName:"delegated_user_tables",data:{delegated_user_id:r.id,root_user_id:o,database:a,table:n,priviledge:d},useLocal:t})}}}await s("UPDATE invitations SET invitation_status='Accepted' WHERE inviting_user_id=? AND invited_user_email=?",[o,u])}}catch(e){(0,s.default)({component:"addAdminUserOnLogin",message:e.message,user:r})}}},89159:(e,r,t)=>{t.d(r,{A:()=>s});function s(e){let r=process.env.DSQL_COOKIES_PREFIX||"dsql_",t=process.env.DSQL_COOKIES_KEY_NAME||"key",s=process.env.DSQL_COOKIES_CSRF_NAME||"csrf",a=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+_/,""),n=r;e?.userId&&(n+=`user_${e.userId}_`),i&&(n+=`${i}_`),n+=t;let o=r;e?.userId&&(o+=`user_${e.userId}_`),i&&(o+=`${i}_`),o+=s;let l=r;return e?.userId&&(l+=`user_${e.userId}_`),i&&(l+=`${i}_`),{keyCookieName:n,csrfCookieName:o,oneTimeCodeName:l+=a}}},96052:(e,r,t)=>{t.r(r),t.d(r,{default:()=>o});var s=t(29021),a=t.n(s),i=t(21572);let n=t.n(i)().createTransport({host:process.env.DSQL_MAIL_HOST,port:465,secure:!0,auth:{user:process.env.DSQL_MAIL_EMAIL,pass:process.env.DSQL_MAIL_PASSWORD}});async function o({to:e,subject:r,text:t,html:s,alias:i,senderName:o}){let l;if(!process.env.DSQL_MAIL_HOST||!process.env.DSQL_MAIL_EMAIL||!process.env.DSQL_MAIL_PASSWORD)return null;let d=(i?.match(/support/i),process.env.DSQL_MAIL_EMAIL);if(!a().existsSync("./email/index.html"))return;let u=a().readFileSync("./email/index.html","utf8").replace(/{{email_body}}/,s||"").replace(/{{issue_date}}/,Date().substring(0,24));try{let s={};s.from=`"${o||"Datasquirel"}" <${d}>`,s.sender=d,i&&(s.replyTo=d),s.to=e,s.subject=r,s.text=t,s.html=u,l=await n.sendMail(s)}catch(e){console.log("ERROR in handleNodemailer Function =>",e.message)}return l}},67619:(e,r,t)=>{t.r(r),t.d(r,{default:()=>i});var s=t(29021),a=t.n(s);async function i({user:e,message:r,component:t,noMail:s,req:i}){let n=new Date,o=(()=>{if(!i)return null;try{let e=i.headers["x-forwarded-for"],r=i.headers["x-real-ip"],t=i.headers["cf-connecting-ip"],s=Array.isArray(e)?e[0]:e?.split(",")[0],a=t||s||r||i.socket.remoteAddress;if(!a)return null;return String(a)}catch(e){return null}})();try{let s=`🚀 SERVER ERROR ===========================
|
|
Error Message: ${r}
|
|
Component: ${t}`;e?.id&&e?.first_name&&e?.last_name&&e?.email&&(s+=`
|
|
User Id: ${e?.id}
|
|
User Name: ${e?.first_name} ${e?.last_name}
|
|
User Email: ${e?.email}`),i?.url&&(s+=`
|
|
URL: ${i.url}`),i?.body&&(s+=`
|
|
Request Body: ${JSON.stringify(i.body,null,4)}`),o&&(s+=`
|
|
IP: ${o}`),s+=`
|
|
Date: ${n.toDateString()}
|
|
========================================`,a().existsSync("./.tmp/error.log")||a().writeFileSync("./.tmp/error.log","","utf-8");let l=a().readFileSync("./.tmp/error.log","utf-8");a().writeFileSync("./.tmp/error.log",s),a().appendFileSync("./.tmp/error.log",`
|
|
|
|
|
|
|
|
|
|
${l}`)}catch(e){console.log("Server Error Reporting Error:",e.message)}}},83919:(e,r,t)=>{t.d(r,{A:()=>a});var s=t(55511);function a({password:e,encryptionKey:r}){let t=r||process.env.DSQL_ENCRYPTION_PASSWORD;if(!t?.match(/.{8,}/))throw Error("Encryption key is invalid");let a=(0,s.createHmac)("sha512",t);return a.update(e),a.digest("base64")}}};var r=require("../../webpack-api-runtime.js");r.C(e);var t=e=>r(r.s=e),s=r.X(0,[1251],()=>t(19813));module.exports=s})(); |