dsql-admin/dsql-app/.local_dist/server/pages/api/connect/handshake.js

1 line
9.2 KiB
JavaScript
Raw Permalink Normal View History

2024-12-15 11:27:16 +00:00
"use strict";(()=>{var e={};e.id=4065,e.ids=[4065],e.modules={60818:e=>{e.exports=require("dotenv")},75600:e=>{e.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")},72583:e=>{e.exports=require("sanitize-html")},9973:e=>{e.exports=require("serverless-mysql")},79428:e=>{e.exports=require("buffer")},79646:e=>{e.exports=require("child_process")},55511:e=>{e.exports=require("crypto")},29021:e=>{e.exports=require("fs")},81630:e=>{e.exports=require("http")},33873:e=>{e.exports=require("path")},79551:e=>{e.exports=require("url")},28354:e=>{e.exports=require("util")},96762:(e,r)=>{Object.defineProperty(r,"M",{enumerable:!0,get:function(){return function e(r,t){return t in r?r[t]:"then"in r&&"function"==typeof r.then?r.then(r=>e(r,t)):"function"==typeof r&&"default"===t?r:void 0}}})},83919:(e,r,t)=>{t.r(r),t.d(r,{config:()=>D,default:()=>m,routeModule:()=>g});var s={};t.r(s),t.d(s,{default:()=>f});var n=t(89947),o=t(2706),a=t(96762),c=t(7753),i=t(48225),l=t.n(i),u=t(6420),_=t.n(u),d=t(33364),p=t.n(d);t(29021),t(28354);let{URL:S}=t(79551);async function f(e,r){if("POST"!==e.method)return r.json({msg:"Failed!"});let t=await _()(e,r,!0);if(!t)return r.json({success:!1,msg:"Unauthorized"});let{url:s,key:n,database:o,dbSchema:a,type:i,remoteDbs:u,targetDb:d}=e.body;try{if(!d?.tables)throw Error("No Target Database");await p()({tableName:"user_databases",data:{remote_connected:1,remote_connection_host:s,remote_connection_key:n,remote_connection_type:i,remote_db_full_name:d.dbFullName},identifierColumnName:"db_full_name",identifierValue:o.db_full_name}),await (0,c.e)({dbSchema:d,database:o,userId:t.id}),r.json({success:!0})}catch(e){console.log("Connect Handshake Error, =>",e.message),l()({component:"/api/connect/verify/main-catch-error",message:e.message,user:t}),r.json({success:!1,msg:"Operation Failed!"})}}let m=(0,a.M)(s,"default"),D=(0,a.M)(s,"config"),g=new n.PagesAPIRouteModule({definition:{kind:o.A.PAGES_API,page:"/api/connect/handshake",pathname:"/api/connect/handshake",bundlePath:"",filename:""},userland:s})},7753:(e,r,t)=>{let s=t(19261),{execSync:n}=t(79646),o=t(29021),a=t(33873),c=async({userId:e,dbSchema:r,targetDb:t})=>(await s({userId:e,targetDatabase:t}),`User ${e} Db Schema Updated`),i=async({userId:e,dbSchema:r,database:t})=>{let s=a.resolve(String(process.env.DSQL_USER_DB_SCHEMA_PATH),`user-${e}`,"main.json"),n=JSON.parse(o.readFileSync(s,"utf-8")),i=n.findIndex(e=>e.dbFullName==t.db_full_name);if(i<0)throw Error("Target Database not found in user schema data");let l={...n[i]};return n[i]=r,n[i].dbName=l.dbName,n[i].dbFullName=l.dbFullName,n[i].dbSlug=l.dbSlug,n[i].dbImage=l.dbImage,await c({dbSchema:n,userId:e,targetDb:t.db_full_name})};r.e=i},6420:(e,r,t)=>{t(81630);let s=t(51348),n=t(72835),o=t(29021),a=t(31341);async function c(e,r,t,c){let{keyCookieName:i,csrfCookieName:l}=a();if(!e.cookies?.[i]?.match(/./))return null;let u=n({encryptedString:e.cookies[i]});if(!u)return null;let _=JSON.parse(u);if(!_.csrf_k||t&&!e.headers["x-csrf-auth"]?.match(RegExp(`${_.csrf_k}`)))return null;let d=process.env.DSQL_USER_LOGIN_KEYS_PATH;if(!d)return console.log("DSQL_USER_LOGIN_KEYS_PATH env variable not found. Please set this variable."),null;if(t&&!o.existsSync(`${d}/${_.csrf_k}`))return null;if(0==_.verification_status&&!t){let e=await s(`SELECT verification_status FROM users WHERE id='${_.id}'`);e&&e[0]&&1==e[0].verification_status&&r.setHeader("Set-Cookie",["user_refresh=1"])}return _?.date&&Date.now()-_.date>6048e5?null:_}e.exports=c},31341:e=>{e.exports=function(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",n=process.env.DSQL_COOKIES_ONE_TIME_CODE_NAME||"one-time-code",o=e?.database?.replace(/^datasquirel_user_\d+_/,"")||process.env.DSQL_DB_NAME?.replace(/^datasquirel_user_\d+_/,""),a=r;e?.userId&&(a+=`user_${e.userId}_`),o&&(a+=`${o}_`),a+=t;let c=r;e?.userId&&(c+=`user_${e.userId}_`),o&&(c+=`${o}_`),c+=s;let i=r;return e?.userId&&(i+=`user_${e.userId}_`),o&&(i+=`${o}_`),{keyCookieName:a,csrfCookieName:c