dsql-admin/dsql-app/.local_dist/server/pages/api/admin/addUserBackup.js

1 line
4.9 KiB
JavaScript
Raw Normal View History

2024-12-08 19:56:57 +00:00
"use strict";(()=>{var e={};e.id=9171,e.ids=[9171],e.modules={75600:e=>{e.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")},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")},21820:e=>{e.exports=require("os")},96762:(e,s)=>{Object.defineProperty(s,"M",{enumerable:!0,get:function(){return function e(s,r){return r in s?s[r]:"then"in s&&"function"==typeof s.then?s.then(s=>e(s,r)):"function"==typeof s&&"default"===r?s:void 0}}})},55535:(e,s,r)=>{r.r(s),r.d(s,{config:()=>E,default:()=>D,routeModule:()=>v});var t={};r.r(t),r.d(t,{default:()=>f});var n=r(89947),o=r(2706),c=r(96762),a=r(51348),i=r.n(a),l=r(19131),u=r.n(l);let p=r(29021),_=r(21820),{execSync:d,spawnSync:S}=r(79646);async function f(e,s){if("POST"!==e.method)return s.json({success:!1,msg:"Wrong Method"});let r=await u()(e);if(!r?.logged_in_status)return s.json({success:!1,log:"Unauthorized"});try{let r=e.body.user.id.toString().replace(/[^0-9]/g,"").replace(/\//g,""),t=`${process.env.DSQL_USER_DB_SCHEMA_PATH}/user-${r}/backups`;p.existsSync(t)||p.mkdirSync(t);let n=Date.now().toString();p.mkdirSync(`${t}/${n}`);let o=await i()("SHOW databases LIKE ?",[`datasquirel_user_${r}_%`]);for(let e=0;e<o.length;e++){let s=o[e],r=Object.values(s)[0].replace(/[^a-z0-9\_]/g,""),c=_.platform().match(/win/i)?"'C:\\Program Files\\MySQL\\MySQL Server 8.0\\bin\\mysqldump.exe'":"mysqldump",a={cwd:process.cwd()},i=`${t}/${n}/${r}.sql`;_.platform().match(/win/i)&&(a.shell="bash.exe");let l=`${c} -u ${process.env.DSQL_DB_USERNAME} -h ${process.env.DSQL_DB_HOST} -p${process.env.DSQL_DB_PASSWORD} ${r} > ${i}`;console.log(`addUserBackup.js exe => ${l}`),S(c,["-u",process.env.DSQL_DB_USERNAME,"-h",process.env.DSQL_DB_HOST,`-p${process.env.DSQL_DB_PASSWORD}`,r,">",i],a)}p.copyFileSync(`${process.env.DSQL_USER_DB_SCHEMA_PATH}/user-${r}/main.json`,`${t}/${n}/main.json`),s.json({success:!0})}catch(e){console.log(e.message),s.json({success:!1})}}let D=(0,c.M)(t,"default"),E=(0,c.M)(t,"config"),v=new n.PagesAPIRouteModule({definition:{kind:o.A.PAGES_API,page:"/api/admin/addUserBackup",pathname:"/api/admin/addUserBackup",bundlePath:"",filename:""},userland:t})},19131:(e,s,r)=>{let{IncomingMessage:t}=r(81630),n=r(72835),o=r(31341);e.exports=async function(e){let{keyCookieName:s,csrfCookieName:r}=o(),t=`${s}_su`;if(!e.cookies?.[t])return console.log("No auth key cookie found"),null;let c=n({encryptedString:e.cookies[t]});if(!c)return console.log("No user payload found"),null;let a=JSON.parse(c);return a.password!==process.env.DSQL_USER_KEY?(console.log("Invalid password"),null):a.authKey!==process.env.DSQL_SPECIAL_KEY?(console.log("Invalid auth key"),null):a}},31341:e=>{e.exports=function(e){let s=process.env.DSQL_COOKIES_PREFIX||"dsql_",r=process.env.DSQL_COOKIES_KEY_NAME||"key",t=process.env.DSQL_COOKIES_CSRF_NAME||"csrf",n=s;e?.userId&&(n+=`user_${e.userId}_`),e?.database&&(n+=`${e.database}_`),n+=r;let o=s;return e?.userId&&(o+=`user_${e.userId}_`),e?.database&&(o+=`${e.database}_`),{keyCookieName:n,csrfCookieName:o+=t}}},72835:(e,s,r)=>{let{scryptSync:t,createDecipheriv:n}=r(55511),{Buffer:o}=r(79428);e.exports=({encryptedString:e,encryptionKey:s,encryptionSalt:r})=>{if(!e?.match(/./))return console.log("Encrypted string is invalid"),e;let c=s||process.env.DSQL_ENCRYPTION_PASSWORD,a=r||process.env.DSQL_ENCRYPTION_SALT,i=process.env.DSQL_ENCRYPTION_KEY_LENGTH?Number(process.env.DSQL_ENCRYPTION_KEY_LENGTH):24;if(!c?.match(/.{8,}/))return console.log("Decrption key is invalid"),e;if(!a?.match(/.{8,}/))return console.log("Decrption salt is invalid"),e;let l=n("aes-192-cbc",t(c,a,i),o.alloc(16,0));try{let s=l.update(e,"hex","utf8");return s+=l.final("utf8")}catch(s){return console.log("Error in decrypting =>",s.message),e}}},51348:(e,s,r)=>{let t=r(9973),n=r(21580),o=t({config:{host:process.env.DSQL_DB_HOST,user:process.env.DSQL_DB_USERNAME,password:process.env.DSQL_DB_PASSWORD,dat