1 line
6.0 KiB
JavaScript
1 line
6.0 KiB
JavaScript
"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,a,r)=>{r.r(a),r.d(a,{config:()=>h,default:()=>_,routeModule:()=>A});var t={};r.r(t),r.d(t,{default:()=>f});var s=r(89947),l=r(2706),i=r(96762),o=r(29021),d=r.n(o),n=r(48786),u=r(31495),c=r(60125),p=r(67619),b=r(69842),m=r(30802),g=r(10776);async function f(e,a){if("POST"!==e.method)return a.json({msg:"Failed!"});let r=await (0,b.A)(e,a,!0);if(!r)return a.json({success:!1,msg:"Unauthorized"});let{dbFullName:t,dbSlug:s,dbId:l,tableNameOld:i,payload:o,delegated:f}=e.body,{tableName:_,tableFullName:h,tableDescription:A}=o;if(!_?.match(/./)||_.match(/[^a-zA-Z0-9-_]/))return a.json({success:!1,msg:"Bad Input"});try{let o=await (0,c.A)({databaseSlug:s,request:e,user:r,query:e.query});if(!await (0,u.A)({user:r,confirmedDelegetedUser:o,database:s,table:i,dbId:l,priviledgeRegex:/Edit Table/i}))return console.log("User Unauthorized"),a.json({success:!1,msg:"Unauthorized"});let b=o?.rootUserId?o.rootUserId:r.id,E=`${process.env.DSQL_USER_DB_SCHEMA_PATH}/user-${b}/main.json`,y=JSON.parse(d().readFileSync(E,"utf8")),N=y.filter(e=>e.dbFullName===t)[0].tables.filter((e,a)=>{if(e.tableName===i)return!0});if(N&&N[0])N[0].tableName=_,N[0].tableNameOld=i,N[0].tableFullName=h,A&&(N[0].tableDescription=A),N[0].childrenTables&&N[0].childrenTables.forEach(e=>{try{y.filter(a=>a.dbFullName===e.dbNameFull)[0].tables.filter(a=>{if(a.tableName===e.tableName)return!0})[0].childTableName=_}catch(e){(0,p.A)({component:"/api/updateUserTable/lines-131-138",message:e.message,user:r})}});else throw Error("Table Does not exist");d().writeFileSync(`${E}`,JSON.stringify(y),"utf8"),await (0,m.A)({dbFullName:"datasquirel",tableName:"user_database_tables",identifierColumnName:"table_slug",identifierValue:i,data:{table_name:h,table_slug:_,table_description:A}}),f&&o&&await (0,n.A)("UPDATE delegated_user_tables SET `table`=? WHERE delegated_user_id=? AND root_user_id=? AND `table`=? AND `database`=?",[_,r.id,o.rootUserId,i,s]);let v=t.replace(/[^a-z\_0-9]/g,"");await (0,g.A)({userId:b,targetDatabase:v}),a.json({success:!0})}catch(e){(0,p.A)({component:"/api/updateUserTable/main-catch-error",message:e.message,user:r}),a.json({success:!1,msg:"Database Files could not be written!"})}}let _=(0,i.M)(t,"default"),h=(0,i.M)(t,"config"),A=new s.PagesAPIRouteModule({definition:{kind:l.A.PAGES_API,page:"/api/updateUserTable",pathname:"/api/updateUserTable",bundlePath:"",filename:""},userland:t})},55153:(e,a,r)=>{r.d(a,{On:()=>s.a,_n:()=>i}),r(76102);var t=r(65967),s=r.n(t);r(30889);var l=r(93726);let i=r.n(l)()},31495:(e,a,r)=>{r.d(a,{A:()=>l});var t=r(48786),s=r(67619);async function l({user:e,confirmedDelegetedUser:a,database:r,table:l,priviledgeRegex:i,dbId:o}){let d,n;try{a?.delegated?(d=await (0,t.A)("SELECT priviledge FROM delegated_user_tables WHERE root_user_id=? AND delegated_user_id=? AND `database`=? AND `table`=?",[a.rootUserId,e.id,r,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(a){(0,s.A)({component:"checkUserRights",message:a.message,user:e})}return!!d&&!!d[0]&&!!n}},60125:(e,a,r)=>{r.d(a,{A:()=>s});var t=r(95969);async function s({request:e,databaseSlug:a,user:r,query:s}){try{let l=r.id,i=null;if(!s?.delegated)return{dbUserId:l};let o=s.dbUserId,d=`${process.env.DSQL_USER_DB_PREFIX}${o}_${a}`,n=`${process.env.DSQL_USER_DELEGATED_DB_COOKIE_PREFIX}${d}`;try{if(!e.cookies?.[n])throw Error("Cookie not present");let r=(0,t.A)({encryptedString:e.cookies[n]});if(!r)throw Error("Invalid Token");if((i=JSON.parse(r)).databaseSlug===a)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,a,r)=>{r.d(a,{A:()=>i});var t=r(39383),s=r.n(t),l=r(55153);async function i(e,a,r,t){let i=s()({req:e,level:r?"deep":void 0});return t&&i.payload?.id&&(0,l._n)(process.env.DSQL_SU_USER_ID)!==i.payload.id?null:i.payload}},95969:(e,a,r)=>{r.d(a,{A:()=>i});var t=r(55511),s=r(79428),l=r(31542);function i({encryptedString:e,encryptionKey:a,encryptionSalt:r}){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:a});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),p=s.Buffer.alloc(u,0),b=(0,t.createDecipheriv)(n,c,p);try{let a=b.update(e,"hex","utf8");return a+=b.final("utf8")}catch(a){return console.log("Error in decrypting =>",a.message),e}}},48786:(e,a,r)=>{r.d(a,{A:()=>s});var t=r(7447);async function s(...e){let a=(0,t.A)();try{if(!a)throw Error("No Connection provided to DB_HANDLER function!");let r=await a.query(...e);return JSON.parse(JSON.stringify(r))}catch(e){return console.log("DB Error =>",e),{success:!1,error:e.message}}finally{await a?.end()}}}};var a=require("../../webpack-api-runtime.js");a.C(e);var r=e=>a(a.s=e),t=a.X(0,[6060,776],()=>r(81147));module.exports=t})(); |