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,s)=>{s.r(r),s.d(r,{config:()=>A,default:()=>S,routeModule:()=>h});var t={};s.r(t),s.d(t,{default:()=>E});var i=s(89947),a=s(2706),n=s(96762),o=s(29021),l=s.n(o),d=s(48786),u=s(49941),_=s(67619),m=s(96052),c=s(2416),p=s(89159),g=s(83919),f=s(68829);async function E(e,r){if("POST"===e.method){let s=e.body,t=s.email,i=s.password,a=s.query;if(t.match(/ /))return r.json({user:null,msg:"Invalid Email"});try{let s=process.env.DSQL_USER_LOGIN_KEYS_PATH;if(!s)throw Error("loginUser error: process.env.DSQL_USER_LOGIN_KEYS_PATH not present");l().existsSync(s)||l().mkdirSync(s,{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:i});if(i?.match(/ /)||t?.match(/ /))return r.json({msg:"Failed!",user:null});let E=await (0,d.A)("SELECT * FROM users WHERE email=? OR username=?",[t,t]);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.A)({to:process.env.DSQL_CONTACT_EMAIL,subject:`Failed Login from ${t}`,html:`<h1><u>${t}</u> tried to login with a wrong password</h1><p><b>${t}</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.A)({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(`${s}/${A}`,JSON.stringify(h)),a?.invite&&(0,u.A)({query:a,user:{...h,phone:E[0].phone}}),await (0,c.A)(),(0,m.A)({to:process.env.DSQL_CONTACT_EMAIL,subject:`${t} Logged in successfully`,html:`<h1><u>${t}</u> successfully logged in</h1><p><b>${t}</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,_.A)({component:"/api/loginUser/main-catch-error",message:e.message,user:{email:t}})}}else r.json({msg:"Oops ..."})}let S=(0,n.M)(t,"default"),A=(0,n.M)(t,"config"),h=new i.PagesAPIRouteModule({definition:{kind:a.A.PAGES_API,page:"/api/loginUser",pathname:"/api/loginUser",bundlePath:"",filename:""},userland:t})},2416:(e,r,s)=>{s.d(r,{A:()=>t});async function t(e){return await new Promise((r,s)=>{setTimeout(()=>{r(!0)},e||1e3)}),!0}},49941:(e,r,s)=>{s.d(r,{A:()=>o});var t=s(67619),i=s(48786),a=s(98e3),n=s(7971);async function o({query:e,user:r,useLocal:s}){try{let t=s?n.A:i.A,{invite:o,database_access:l,priviledge:d,email:u}=e,_=[o,u],m=await t("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 t("SELECT first_name,last_name,email FROM users WHERE id=?",c);if(p?.[0]){let e=await t("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,a.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:s});let e=await t("SELECT db_tables_data FROM invitations WHERE inviting_user_id=? AND invited_user_email=?",[o,u]);if(await t("DELETE FROM delegated_user_tables WHERE root_user_id=? AND delegated_user_id=?",[o,r.id]),e&&e[0]){let t=e[0].db_tables_data.split("|");for(let e=0;e<t.length;e++){let[i,n]=t[e].split("-");await (0,a.A)({dbFullName:"datasquirel",tableName:"delegated_user_tables",data:{delegated_user_id:r.id,root_user_id:o,database:i,table:n,priviledge:d},useLocal:s})}}}await t("UPDATE invitations SET invitation_status='Accepted' WHERE inviting_user_id=? AND invited_user_email=?",[o,u])}}catch(e){(0,t.A)({component:"addAdminUserOnLogin",message:e.message,user:r})}}},89159:(e,r,s)=>{s.d(r,{A:()=>t});function t(e){let r=process.env.DSQL_COOKIES_PREFIX||"dsql_",s=process.env.DSQL_COOKIES_KEY_NAME||"key",t=process.env.DSQL_COOKIES_CSRF_NAME||"csrf",i=process.env.DSQL_COOKIES_ONE_TIME_CODE_NAME||"one-time-code",a=e?.database?.replace(/^datasquirel_user_\d+_/,"")||process.env.DSQL_DB_NAME?.replace(/^datasquirel_user_\d+_/,""),n=r;e?.userId&&(n+=`user_${e.userId}_`),a&&(n+=`${a}_`),n+=s;let o=r;e?.userId&&(o+=`user_${e.userId}_`),a&&(o+=`${a}_`),o+=t;let l=r;return e?.userId&&(l+=`user_${e.userId}_`),a&&(l+=`${a}_`),{keyCookieName:n,csrfCookieName:o,oneTimeCodeName:l+=i}}},96052:(e,r,s)=>{s.d(r,{A:()=>o});var t=s(29021),i=s.n(t),a=s(21572);let n=s.n(a)().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:s,html:t,alias:a,senderName:o}){let l;if(!process.env.DSQL_MAIL_HOST||!process.env.DSQL_MAIL_EMAIL||!process.env.DSQL_MAIL_PASSWORD)return null;let d=(a?.match(/support/i),process.env.DSQL_MAIL_EMAIL);if(!i().existsSync("./email/index.html"))return;let u=i().readFileSync("./email/index.html","utf8").replace(/{{email_body}}/,t||"").replace(/{{issue_date}}/,Date().substring(0,24));try{let t={};t.from=`"${o||"Datasquirel"}" <${d}>`,t.sender=d,a&&(t.replyTo=d),t.to=e,t.subject=r,t.text=s,t.html=u,l=await n.sendMail(t)}catch(e){console.log("ERROR in handleNodemailer Function =>",e.message)}return l}},67619:(e,r,s)=>{s.d(r,{A:()=>a});var t=s(29021),i=s.n(t);async function a({user:e,message:r,component:s,noMail:t,req:a}){let n=new Date,o=(()=>{if(!a)return null;try{let e=a.headers["x-forwarded-for"],r=a.headers["x-real-ip"],s=a.headers["cf-connecting-ip"],t=Array.isArray(e)?e[0]:e?.split(",")[0],i=s||t||r||a.socket.remoteAddress;if(!i)return null;return String(i)}catch(e){return null}})();try{let t=`🚀 SERVER ERROR ===========================
|
|
Error Message: ${r}
|
|
Component: ${s}`;e?.id&&e?.first_name&&e?.last_name&&e?.email&&(t+=`
|
|
User Id: ${e?.id}
|
|
User Name: ${e?.first_name} ${e?.last_name}
|
|
User Email: ${e?.email}`),a?.url&&(t+=`
|
|
URL: ${a.url}`),a?.body&&(t+=`
|
|
Request Body: ${JSON.stringify(a.body,null,4)}`),o&&(t+=`
|
|
IP: ${o}`),t+=`
|
|
Date: ${n.toDateString()}
|
|
========================================`,i().existsSync("./.tmp/error.log")||i().writeFileSync("./.tmp/error.log","","utf-8");let l=i().readFileSync("./.tmp/error.log","utf-8");i().writeFileSync("./.tmp/error.log",t),i().appendFileSync("./.tmp/error.log",`
|
|
|
|
|
|
|
|
|
|
${l}`)}catch(e){console.log("Server Error Reporting Error:",e.message)}}},83919:(e,r,s)=>{s.d(r,{A:()=>i});var t=s(55511);function i({password:e,encryptionKey:r}){let s=r||process.env.DSQL_ENCRYPTION_PASSWORD;if(!s?.match(/.{8,}/))throw Error("Encryption key is invalid");let i=(0,t.createHmac)("sha512",s);return i.update(e),i.digest("base64")}}};var r=require("../../webpack-api-runtime.js");r.C(e);var s=e=>r(r.s=e),t=r.X(0,[1251],()=>s(19813));module.exports=t})(); |