"use strict";(()=>{vare={};e.id=538,e.ids=[538],e.modules={39383:e=>{e.exports=require("@moduletrace/datasquirel/dist/package-shared/actions/users/user-auth")},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")},55511:e=>{e.exports=require("crypto")},29021:e=>{e.exports=require("fs")},33873:e=>{e.exports=require("path")},69653:(e,a,r)=>{r.r(a),r.d(a,{config:()=>h,default:()=>E,routeModule:()=>_});vart={};r.r(t),r.d(t,{default:()=>f});vars=r(89947),d=r(2706),o=r(96762),i=r(67619),l=r(69842),n=r(27825),u=r.n(n),b=r(48786),c=r(33170);asyncfunctionp({tbls:e,user:a,query:r}){lett;if(!r?.delegated)return{isPriviledged:!0,rootUserId:a.id};try{for(letr=0;r<e.length;r++){lets=e[r],d=await(0,b.A)(`SELECT * FROM delegated_user_tables WHERE delegated_user_id='${a.id}' AND \`database\`='${s.db}' AND \`table\`='${s.table}'`);if(!d?.[0]?.root_user_id)throwError("Unauthorized!");leto=d[0];t||(t=o.root_user_id)}return{isPriviledged:!0,rootUserId:t}}catch(e){return{isPriviledged:!1,rootUserId:t,error:e.message}}}varm=r(4820);asyncfunctionf(e,a){if("POST"!==e.method)returna.json({msg:"Failed!"});letr=await(0,l.A)(e,a,!0);if(!r)returna.json({success:!1,msg:"Unauthorized"});let{paradigm:t,src:s,dst:d}=e.body;try{leto=awaitp({tbls:[{db:s.db,table:s.table},{db:d.db,table:d.table}],user:r,query:e.query});if(!o.rootUserId||!o.isPriviledged)throwError(o.error||"Unauthorized!");leti=(0,m.A)({userId:o.rootUserId});if(!i)throwError("User Schema Data not Found!");letl=`${process.env.DSQL_USER_DB_PREFIX}${o.rootUserId}_${d.db}`,n=`${process.env.DSQL_USER_DB_PREFIX}${o.rootUserId}_${s.db}`,f=i.find(e=>e.dbFullName==l),E=i.find(e=>e.dbFullName==n),h=f?.tables.find(e=>e.tableName==d.table),_=E?.tables.find(e=>e.tableName==s.table);if(!h||!_)throwError("Operation Failed! Tables Schemas not present.");if(!u().isEqual(_.fields,h.fields))throwError("Tables incompatible");switch(t){case"Push":lety=await(0,b.A)(`SELECT * FROM ${n}.${s.table}`),$=await(0,c.A)({dbName:d.db,paradigm:"import",payload:y,tableName:d.table,userId:o.rootUserId,payloadType:"object"});returnawaitg({dbName:d.db,tableName:d.table,data:y,userId:o.rootUserId}),a.json({success:!0,payload:$});case"Pull":letI=await(0,b.A)(`SELECT * FROM ${l}.${d.table}`),w=await(0,c.A)({dbName:s.db,paradigm:"import",payload:I,tableName:s.table,userId:o.rootUserId,payloadType:"object"});returnawaitg({dbName:s.db,tableName:s.table,data:I,userId:o.rootUserId}),a.json({success:!0,payload:w})}a.json({success:!1})}catch(e){console.log(e.message),(0,i.A)({component:"/api/sync-table-data",message:e.message,user:r}),a.json({success:!1,msg:e.message})}}asyncfunctiong({dbName:e,tableName:a,data:r,userId:t}){lets=`${process.env.DSQL_USER_DB_PREFIX}${t}_${e.replace(/ /g,"")}`,d=r.map(e=>e.id),o=`DELETE FROM ${s}.${a}`;d?.[0]&&(o+=` WHERE id NOT IN (${d.join(",")})`),await(0,b.A)(o)}letE=(0,o.M)(t,"default"),h=(0,o.M)(t,"config"),_=news.PagesAPIRouteModule({definition:{kind:d.A.PAGES_API,page:"/api/sync-table-data",pathname:"/api/sync-table-data",bundlePath:"",filename:""},userland:t})},4820:(e,a,r)=>{r.d(a,{A:()=>l});vart=r(67619),s=r(29021),d=r.n(s),o=r(33873),i=r.n(o);functionl({userId:e}){try{leta=i().resolve(process.cwd(),`${process.env.DSQL_USER_DB_SCHEMA_PATH}/user-${e}/main.json`);returnJSON.parse(d().readFileSync(a,"utf-8"))}catch(e){return(0,t.A)({component:"grabUserSchemaData",message:e.message}),null}}}};vara=require("../../webpack-api-runtime.js");a.C(e);varr=e=>a(a.s=e),t=a.X(0,[7337],()=>r(69653));module.exports=t})();