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

1 line
5.2 KiB
JavaScript
Raw Normal View History

2024-12-08 19:56:57 +00:00
"use strict";(()=>{var e={};e.id=8275,e.ids=[8275],e.modules={60818:e=>{e.exports=require("dotenv")},27825:e=>{e.exports=require("lodash")},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")},13441:(e,a,t)=>{t.r(a),t.d(a,{config:()=>x,default:()=>D,routeModule:()=>v});var s={};t.r(s),t.d(s,{default:()=>F});var r=t(89947),l=t(2706),d=t(96762),i=t(48225),n=t.n(i),u=t(6420),o=t.n(u),b=t(2258),c=t(27825),_=t.n(c),m=t(78634),f=t(51348),p=t.n(f),h=t(47670),N=t.n(h),S=t(19261),g=t.n(S);t(29021),t(33873);let{execSync:E}=t(79646);async function F(e,a){if("POST"!==e.method)return a.json({msg:"Failed!"});let t=await o()(e,a,!0);if(!t)return console.log("No User"),a.json({success:!1,msg:"Unauthorized"});let{payload:s}=e.body,r=e.body.dbFullName.replace(/[^a-z\_0-9]/g,""),l=e.body.dbSlug,d=e.body.dbId,i=e.body.parentDatabase,u=e.body.parentTable;try{let e=(0,b.default)({userId:t.id});if(!e)throw Error("No User Schema found!");let o=e.findIndex(e=>e.dbFullName===r),c=e[o];if(!c)throw Error("No Target Database Found!");let f=c.tables.findIndex(e=>e.tableName===s.tableName);if(f>=0?e[o].tables[f]=s:e[o].tables.push(s),s?.childTable){let a=e.find(e=>e.dbFullName===i),t=a?.tables.find(e=>{if(e.tableName===u)return!0});if(!t)throw Error("Child Table Parent Doesn't Exist!");t.childrenTables?.[0]?t.childrenTables.push({dbNameFull:r,tableName:s.tableName,tableNameFull:s.tableNameFull}):t.childrenTables=[{dbNameFull:r,tableName:s.tableName,tableNameFull:s.tableFullName}]}if(c.childrenDatabases)for(let a=0;a<c.childrenDatabases.length;a++){let r=c.childrenDatabases[a];try{let a=e.findIndex(e=>e.dbFullName===r.dbFullName);e[a]&&(e[a].tables=_().cloneDeep(c.tables));let l=await p()("SELECT * FROM user_databases WHERE user_id = ? AND db_full_name = ?",[t.id,r.dbFullName]),d=await p()("SELECT * FROM user_database_tables WHERE db_id=? AND user_id=? AND table_slug=?",[l[0].id,t.id,s.tableName]);if(d?.[0])continue;await N()({dbFullName:"datasquirel",tableName:"user_database_tables",data:{user_id:t.id,db_id:l[0].id,db_slug:l[0].db_slug,table_name:s.tableFullName,table_slug:s.tableName}})}catch(e){n()({component:"/api/addUserTable/lines-124-140",message:e.message,user:t})}}(0,m.default)({userId:t.id,schemaData:e});let h={user_id:t.id,db_id:d,db_slug:l,table_name:s.tableFullName,table_slug:s.tableName};s?.childTable&&(h.child_table="1",h.child_table_parent_database=i,h.child_table_parent_table=u),await N()({dbFullName:"datasquirel",tableName:"user_database_tables",data:h}),await g()({userId:t.id,targetDatabase:r}),a.json({success:!0})}catch(e){console.log(e.message),n()({component:"/api/addUserTable/main-catch-error",message:e.message,user:t}),a.json({success:!1,msg:"Database Files could not be written!"})}}let D=(0,d.M)(s,"default"),x=(0,d.M)(s,"config"),v=new r.PagesAPIRouteModule({definition:{kind:l.A.PAGES_API,page:"/api/addUserTable",pathname:"/api/addUserTable",bundlePath:"",filename:""},userland:s})},6420:(e,a,t)=>{t(81630);let s=t(51348),r=t(72835),l=t(29021),d=t(31341);async function i(e,a,t,i){let{keyCookieName:n,csrfCookieName:u}=d();if(!e.cookies?.[n]?.match(/./))return null;let o=r({encryptedString:e.cookies[n]});if(!o)return null;let b=JSON.parse(o);if(!b.csrf_k||t&&!e.headers["x-csrf-auth"]?.match(RegExp(`${b.csrf_k}`)))return null;let c=process.env.DSQL_USER_LOGIN_KEYS_PATH;if(!c)return console.log("DSQL_USER_LOGIN_KEYS_PATH env variable not found. Please set this variable."),null;if(t&&!l.existsSync(`${c}/${b.csrf_k}`))return null;if(0==b.verification_status&&!t){let e=await s(`SELECT verification_status FROM users WHERE id='${b.id}'`);e&&e[0]&&1==e[0].verification_status&&a.setHeader("Set-Cookie",["user_refresh=1"])}return b?.date&&Date.now()-b.date>6048e5?null:b}e.exports=i},31