"use strict";(()=>{var e={};e.id=538,e.ids=[538],e.modules={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:()=>_,default:()=>E,routeModule:()=>h});var t={};r.r(t),r.d(t,{default:()=>f});var s=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);async function p({tbls:e,user:a,query:r}){let t;if(!r?.delegated)return{isPriviledged:!0,rootUserId:a.id};try{for(let r=0;re.dbFullName==l),E=i.find(e=>e.dbFullName==n),_=f?.tables.find(e=>e.tableName==d.table),h=E?.tables.find(e=>e.tableName==s.table);if(!_||!h)throw Error("Operation Failed! Tables Schemas not present.");if(!u().isEqual(h.fields,_.fields))throw Error("Tables incompatible");switch(t){case"Push":let y=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"});return await g({dbName:d.db,tableName:d.table,data:y,userId:o.rootUserId}),a.json({success:!0,payload:$});case"Pull":let I=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"});return await g({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})}}async function g({dbName:e,tableName:a,data:r,userId:t}){let s=`${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)}let E=(0,o.M)(t,"default"),_=(0,o.M)(t,"config"),h=new s.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});var t=r(67619),s=r(29021),d=r.n(s),o=r(33873),i=r.n(o);function l({userId:e}){try{let a=i().resolve(process.cwd(),`${process.env.DSQL_USER_DB_SCHEMA_PATH}/user-${e}/main.json`);return JSON.parse(d().readFileSync(a,"utf-8"))}catch(e){return(0,t.A)({component:"grabUserSchemaData",message:e.message}),null}}}};var a=require("../../webpack-api-runtime.js");a.C(e);var r=e=>a(a.s=e),t=a.X(0,[7337],()=>r(69653));module.exports=t})();