"use strict";(()=>{var e={};e.id=4371,e.ids=[4371],e.modules={76102:e=>{e.exports=require("@moduletrace/datasquirel/dist/client")},39383:e=>{e.exports=require("@moduletrace/datasquirel/dist/package-shared/actions/users/user-auth")},65967:e=>{e.exports=require("@moduletrace/datasquirel/dist/package-shared/utils/ejson")},93726:e=>{e.exports=require("@moduletrace/datasquirel/dist/package-shared/utils/numberfy")},30889:e=>{e.exports=require("@moduletrace/datasquirel/dist/package-shared/utils/slugify")},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")},55511:e=>{e.exports=require("crypto")},29021:e=>{e.exports=require("fs")},33873:e=>{e.exports=require("path")},81147:(e,r,a)=>{a.r(r),a.d(r,{config:()=>E,default:()=>S,routeModule:()=>f});var t={};a.r(t),a.d(t,{default:()=>m});var s=a(89947),l=a(2706),i=a(96762),o=a(29021),d=a.n(o),n=a(48786),u=a(31495),c=a(60125),_=a(67619),p=a(69842),b=a(30802),g=a(10776);async function m(e,r){if("POST"!==e.method)return r.json({msg:"Failed!"});let{user:a}=await (0,p.A)(e,r,!0);if(!a)return r.json({success:!1,msg:"Unauthorized"});let{dbFullName:t,dbSlug:s,dbId:l,tableNameOld:i,payload:o,delegated:m}=e.body,{tableName:S,tableFullName:E,tableDescription:f}=o;if(!S?.match(/./)||S.match(/[^a-zA-Z0-9-_]/))return r.json({success:!1,msg:"Bad Input"});try{let o=await (0,c.A)({databaseSlug:s,request:e,user:a,query:e.query});if(!await (0,u.A)({user:a,confirmedDelegetedUser:o,database:s,table:i,dbId:l,priviledgeRegex:/Edit Table/i}))return console.log("User Unauthorized"),r.json({success:!1,msg:"Unauthorized"});let p=o?.rootUserId?o.rootUserId:a.id,D=`${process.env.DSQL_USER_DB_SCHEMA_PATH}/user-${p}/main.json`,A=JSON.parse(d().readFileSync(D,"utf8")),h=A.filter(e=>e.dbFullName===t)[0].tables.filter((e,r)=>{if(e.tableName===i)return!0});if(h&&h[0])h[0].tableName=S,h[0].tableNameOld=i,h[0].tableFullName=E,f&&(h[0].tableDescription=f),h[0].childrenTables&&h[0].childrenTables.forEach(e=>{try{A.filter(r=>r.dbFullName===e.dbNameFull)[0].tables.filter(r=>{if(r.tableName===e.tableName)return!0})[0].childTableName=S}catch(e){(0,_.A)({component:"/api/updateUserTable/lines-131-138",message:e.message,user:a})}});else throw Error("Table Does not exist");d().writeFileSync(`${D}`,JSON.stringify(A),"utf8"),await (0,b.A)({dbFullName:"datasquirel",tableName:"user_database_tables",identifierColumnName:"table_slug",identifierValue:i,data:{table_name:E,table_slug:S,table_description:f}}),m&&o&&await (0,n.A)("UPDATE delegated_user_tables SET `table`=? WHERE delegated_user_id=? AND root_user_id=? AND `table`=? AND `database`=?",[S,a.id,o.rootUserId,i,s]);let N=t.replace(/[^a-z\_0-9]/g,"");await (0,g.A)({userId:p,targetDatabase:N}),r.json({success:!0})}catch(e){(0,_.A)({component:"/api/updateUserTable/main-catch-error",message:e.message,user:a}),r.json({success:!1,msg:"Database Files could not be written!"})}}let S=(0,i.M)(t,"default"),E=(0,i.M)(t,"config"),f=new s.PagesAPIRouteModule({definition:{kind:l.A.PAGES_API,page:"/api/updateUserTable",pathname:"/api/updateUserTable",bundlePath:"",filename:""},userland:t})},55153:(e,r,a)=>{a.d(r,{On:()=>s.a,_n:()=>i}),a(76102);var t=a(65967),s=a.n(t);a(30889);var l=a(93726);let i=a.n(l)()},31495:(e,r,a)=>{a.d(r,{A:()=>l});var t=a(48786),s=a(67619);async function l({user:e,confirmedDelegetedUser:r,database:a,table:l,priviledgeRegex:i,dbId:o}){let d,n;try{r?.delegated?(d=await (0,t.A)("SELECT priviledge FROM delegated_user_tables WHERE root_user_id=? AND delegated_user_id=? AND `database`=? AND `table`=?",[r.rootUserId,e.id,a,l]),n=d[0]?.priviledge?.match(i)):(d=await (0,t.A)("SELECT table_slug FROM user_database_tables WHERE user_id=? AND table_slug=? AND db_id=?",[e.id,l,o]),n=!0)}catch(r){(0,s.A)({component:"checkUserRights",message:r.message,user:e})}return!!d&&!!d[0]&&!!n}},60125:(e,r,a)=>{a.d(r,{A:()=>s});var t=a(95969);async function s({request:e,databaseSlug:r,user:a,query:s}){try{let l=a.id,i=null;if(!s?.delegated)return{dbUserId:l};let o=s.dbUserId,d=`${process.env.DSQL_USER_DB_PREFIX}${o}_${r}`,n=`${process.env.DSQL_USER_DELEGATED_DB_COOKIE_PREFIX}${d}`;try{if(!e.cookies?.[n])throw Error("Cookie not present");let a=(0,t.A)({encryptedString:e.cookies[n]});if(!a)throw Error("Invalid Token");if((i=JSON.parse(a)).databaseSlug===r)return{dbUserId:l=i.rootUserId,rootUserId:i.rootUserId,rootUserName:i.rootUserName,rootUserEmail:i.rootUserEmail,rootUserImage:i.rootUserImage,databaseFullName:i.databaseFullName,databaseSlug:i.databaseSlug,allowedTables:i.allowedTables,priviledges:i.priviledges,database:i.databaseSlug,delegated:!0}}catch(e){}return{dbUserId:l}}catch(e){return null}}},69842:(e,r,a)=>{a.d(r,{A:()=>i});var t=a(39383),s=a.n(t),l=a(55153);async function i(e,r,a,t){let i=s()({req:e,level:a?"deep":void 0}),o={DSQL_REMOTE_SQL_HOST:process.env.DSQL_REMOTE_SQL_HOST,DSQL_SU_USER_ID:process.env.DSQL_SU_USER_ID,DSQL_HOST_ENV:process.env.DSQL_HOST_ENV,DSQL_HOST:process.env.DSQL_HOST,DSQL_STATIC_HOST:process.env.DSQL_STATIC_HOST,DSQL_GOOGLE_CLIENT_ID:process.env.DSQL_GOOGLE_CLIENT_ID,DSQL_TINY_MCE_API_KEY:process.env.DSQL_TINY_MCE_API_KEY};return t&&i.payload?.id&&(0,l._n)(process.env.DSQL_SU_USER_ID)!==i.payload.id?{user:null,appData:o}:{user:i.payload,appData:o}}},95969:(e,r,a)=>{a.d(r,{A:()=>i});var t=a(55511),s=a(79428),l=a(31542);function i({encryptedString:e,encryptionKey:r,encryptionSalt:a}){if(!e?.match(/./))return console.log("Encrypted string is invalid"),e;let{key:i,salt:o,keyLen:d,algorithm:n,bufferAllocSize:u}=(0,l.A)({encryptionKey:r});if(!i?.match(/.{8,}/))return console.log("Decrption key is invalid"),e;if(!o?.match(/.{8,}/))return console.log("Decrption salt is invalid"),e;let c=(0,t.scryptSync)(i,o,d),_=s.Buffer.alloc(u,0),p=(0,t.createDecipheriv)(n,c,_);try{let r=p.update(e,"hex","utf8");return r+=p.final("utf8")}catch(r){return console.log("Error in decrypting =>",r.message),global.ERROR_CALLBACK?.("Error Decrypting data",r),e}}},48786:(e,r,a)=>{a.d(r,{A:()=>s});var t=a(7447);async function s(...e){let r=(0,t.A)();try{if(!r)throw Error("No Connection provided to DB_HANDLER function!");let a=await r.query(...e);return JSON.parse(JSON.stringify(a))}catch(e){return global.ERROR_CALLBACK?.("DB_HANDLER Error",e),{success:!1,error:e.message}}finally{await r?.end()}}}};var r=require("../../webpack-api-runtime.js");r.C(e);var a=e=>r(r.s=e),t=r.X(0,[6060,776],()=>a(81147));module.exports=t})();