"use strict";(()=>{var e={};e.id=4436,e.ids=[4436],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")},13461:(e,a,t)=>{t.r(a),t.d(a,{config:()=>y,default:()=>T,routeModule:()=>g});var s={};t.r(s),t.d(s,{default:()=>R});var l=t(89947),r=t(2706),i=t(96762),d=t(51348),u=t.n(d),n=t(48225),o=t.n(n),p=t(6420),f=t.n(p),_=t(47670),m=t.n(_),c=t(19261),b=t.n(c);let N=t(29021);t(33873);let{execSync:A}=t(79646);async function R(e,a){if("POST"!==e.method)return a.json({msg:"Failed!"});let s=await f()(e,a,!0);if(!s)return a.json({success:!1,msg:"Unauthorized"});let{dbFullName:l,dbSlug:r,dbId:i}=e.body,d=t(8693),n=t(95610),p=[...n.slice(0,2),...d.fields,...n.slice(2)];d.fields=[...p];try{let e;let t=`${process.env.DSQL_USER_DB_SCHEMA_PATH}/user-${s.id}/main.json`,n=JSON.parse(N.readFileSync(t,"utf8")),p=n.filter(e=>e.dbFullName===l)[0],f=p.tables.filter((a,t)=>{if("users"===a.tableName)return e=t,!0});if(f?.[0]&&"number"==typeof e?p.tables[e]=d:p.tables.push(d),p.childrenDatabases)for(let e=0;e
e.dbFullName===a.dbFullName)[0].tables=p.tables;let e=await u()("SELECT * FROM user_databases WHERE user_id = ? AND db_full_name = ?",[s.id,a.dbFullName]);await m()({dbFullName:"datasquirel",tableName:"user_database_tables",data:{user_id:s.id,db_id:e[0].id,db_slug:e[0].db_slug,table_name:"Users",table_slug:"users"}})}catch(e){o()({component:"/api/addUsersTableToDatabase/lines-100-115",message:e.message,user:s})}}N.writeFileSync(`${t}`,JSON.stringify(n),"utf8"),await m()({dbFullName:"datasquirel",tableName:"user_database_tables",data:{user_id:s.id,db_id:i,db_slug:r,table_name:"Users",table_slug:"users"}});let _=l.replace(/[^a-z\_0-9]/g,"");await b()({userId:s.id,targetDatabase:_}),a.json({success:!0})}catch(e){o()({component:"/api/addUsersTableToDatabase/main-catch-error",message:e.message,user:s}),a.json({success:!1,msg:"Database Files could not be written!"})}}let T=(0,i.M)(s,"default"),y=(0,i.M)(s,"config"),g=new l.PagesAPIRouteModule({definition:{kind:r.A.PAGES_API,page:"/api/addUsersTableToDatabase",pathname:"/api/addUsersTableToDatabase",bundlePath:"",filename:""},userland:s})},6420:(e,a,t)=>{t(81630);let s=t(51348),l=t(72835),r=t(29021),i=t(31341);async function d(e,a,t,d){let{keyCookieName:u,csrfCookieName:n}=i();if(!e.cookies?.[u]?.match(/./))return null;let o=l({encryptedString:e.cookies[u]});if(!o)return null;let p=JSON.parse(o);if(!p.csrf_k||t&&!e.headers["x-csrf-auth"]?.match(RegExp(`${p.csrf_k}`)))return null;let f=process.env.DSQL_USER_LOGIN_KEYS_PATH;if(!f)return console.log("DSQL_USER_LOGIN_KEYS_PATH env variable not found. Please set this variable."),null;if(t&&!r.existsSync(`${f}/${p.csrf_k}`))return null;if(0==p.verification_status&&!t){let e=await s(`SELECT verification_status FROM users WHERE id='${p.id}'`);e&&e[0]&&1==e[0].verification_status&&a.setHeader("Set-Cookie",["user_refresh=1"])}return p?.date&&Date.now()-p.date>6048e5?null:p}e.exports=d},31341:e=>{e.exports=function(e){let a=process.env.DSQL_COOKIES_PREFIX||"dsql_",t=process.env.DSQL_COOKIES_KEY_NAME||"key",s=process.env.DSQL_COOKIES_CSRF_NAME||"csrf",l=e?.database||process.env.DSQL_DB_NAME?.replace(/^datasquirel_user_\d+_/,""),r=a;e?.userId&&(r+=`user_${e.userId}_`),l&&(r+=`${l}_`),r+=t;let i=a;return e?.userId&&(i+=`user_${e.userId}_`),l&&(i+=`${l}_`),{keyCookieName:r,csrfCookieName:i+=s}}},8693:e=>{e.exports=JSON.parse('{"tableName":"users","tableFullName":"Users","fields":[{"fieldName":"first_name","dataType":"VARCHAR(100)","notNullValue":true},{"fieldName":"last_name","dataType":"VARCHAR(100)","notNullValue":true},{"fieldName":"email","dataType":"VARCHAR(200)","notNullValue":true},{"fieldName":"phone","dataType":"VARCHAR(50)"},{"fieldName":"user_type","dataType":"VARCHAR(20)","defaultValue":"default"},{"fieldName":"username","dataType":"VARCHAR(100)","nullValue":true},{"fieldName":"password","dataType":"TEXT"},{"fieldName":"image","dataType":"VARCHAR(250)","defaultValue":"/images/user-preset.png"},{"fieldName":"image_thumbnail","dataType":"VARCHAR(250)","defaultValue":"/images/user-preset-thumbnail.png"},{"fieldName":"address","dataType":"VARCHAR(255)"},{"fieldName":"city","dataType":"VARCHAR(50)"},{"fieldName":"state","dataType":"VARCHAR(50)"},{"fieldName":"country","dataType":"VARCHAR(50)"},{"fieldName":"zip_code","dataType":"VARCHAR(50)"},{"fieldName":"social_login","dataType":"TINYINT","defaultValue":"0"},{"fieldName":"social_platform","dataType":"VARCHAR(50)","nullValue":true},{"fieldName":"social_id","dataType":"VARCHAR(250)","nullValue":true},{"fieldName":"more_user_data","dataType":"BIGINT","defaultValue":"0"},{"fieldName":"verification_status","dataType":"TINYINT","defaultValue":"0"},{"fieldName":"temp_login_code","dataType":"VARCHAR(50)","nullValue":true}]}')}};var a=require("../../webpack-api-runtime.js");a.C(e);var t=e=>a(a.s=e),s=a.X(0,[4050,2451],()=>t(13461));module.exports=s})();