"use strict";(()=>{var e={};e.id=3812,e.ids=[3812],e.modules={39383:e=>{e.exports=require("@moduletrace/datasquirel/dist/package-shared/actions/users/user-auth")},75600:e=>{e.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")},21572:e=>{e.exports=require("nodemailer")},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")},96762:(e,t)=>{Object.defineProperty(t,"M",{enumerable:!0,get:function(){return function e(t,r){return r in t?t[r]:"then"in t&&"function"==typeof t.then?t.then(t=>e(t,r)):"function"==typeof t&&"default"===r?t:void 0}}})},70955:(e,t,r)=>{r.r(t),r.d(t,{config:()=>S,default:()=>p,routeModule:()=>D});var a={};r.r(a),r.d(a,{default:()=>_});var s=r(89947),n=r(2706),i=r(96762),o=r(96052),l=r(69842),d=r(98e3),c=r(48786),u=r(83919);async function _(e,t){if("POST"!==e.method)return t.json({msg:"Failed!"});let r=await (0,l.A)(e,t,!0);if(!r)return t.json({success:!1,msg:"Unauthorized"});let a=e.body,s=a.paradigm;if(s?.match(/database/)){let e=await (0,d.A)({dbFullName:"datasquirel",tableName:"user_users",data:(()=>{let e=Object.keys(a),t={};return e.forEach(e=>{e?.match(/paradigm|priviledge|database_access|databases|confirm/)||(t[e]=a[e])}),t.user_id=r.id,t.password=(0,u.A)({encryptionKey:process.env.DSQL_ENCRYPTION_PASSWORD||"",password:a.password}),t.user_type="database",t.email=a.email_address,t.image="/images/user-preset.png",t.image_thumbnail="/images/user-preset-thumbnail.png",delete t.email_address,t})()});t.json({success:!!e?.insertId,msg:"New User User Added",newUserId:e.insertId})}else{if(r?.email===a.email_address)return t.json({success:!1,msg:"Can't Invite yourself"});let e=await (0,c.A)("SELECT * FROM invitations WHERE invited_user_email=? AND inviting_user_id=?",[a.email_address,r.id]);if(e&&e[0])return t.json({success:!1,msg:"User Already Invited"});await (0,d.A)({dbFullName:"datasquirel",tableName:"invitations",data:{inviting_user_id:r.id,invited_user_email:a.email_address,database_access:a.database_access,priviledge:a.priviledge,db_tables_data:a.db_tables}});let s=await (0,o.A)({to:a.email_address,subject:`${r.first_name} ${r.last_name} Invited you`,text:`${r.first_name} ${r.last_name} has invited you to manage a datasquirel account`,html:`
${r.first_name} ${r.last_name} has invited you to manage a datasquirel account.
Accept Invitation
`});t.json({success:!!s?.accepted,msg:"This is an invitation request"})}}let p=(0,i.M)(a,"default"),S=(0,i.M)(a,"config"),D=new s.PagesAPIRouteModule({definition:{kind:n.A.PAGES_API,page:"/api/addUserUser",pathname:"/api/addUserUser",bundlePath:"",filename:""},userland:a})},69842:(e,t,r)=>{r.d(t,{A:()=>n});var a=r(39383),s=r.n(a);async function n(e,t,r){return s()({req:e,level:r?"deep":void 0}).payload}},98e3:(e,t,r)=>{r.d(t,{A:()=>c});var a=r(72583),s=r.n(a),n=r(92652),i=r(30802),o=r(68829),l=r(64292),d=r(52939);async function c({dbContext:e,paradigm:t,dbFullName:r,tableName:a,data:c,tableSchema:u,duplicateColumnName:_,duplicateColumnValue:p,update:S,encryptionKey:D,encryptionSalt:m}){let f=(0,d.A)({dbContext:e,dbFullName:r}),g=f?global.DSQL_DB_CONN:global.DSQL_FULL_ACCESS_DB_CONN||global.DSQL_DB_CONN,L=f?global.DSQL_DB_CONN:global.DSQL_READ_ONLY_DB_CONN||global.DSQL_DB_CONN;if(c?.date_created_timestamp&&delete c.date_created_timestamp,c?.date_updated_timestamp&&delete c.date_updated_timestamp,c?.date_updated&&delete c.date_updated,c?.date_updated_code&&delete c.date_updated_code,c?.date_created&&delete c.date_created,c?.date_created_code&&delete c.date_created_code,_&&"string"==typeof _){let t=`SELECT * FROM ${f?"":`\`${r}\`.`}\`${a}\` WHERE \`${_}\`=?`,s=await (0,l.A)(L,t,[p]);if(s?.[0]&&!S)return null;if(s&&s[0]&&S)return await (0,i.A)({dbContext:e,dbFullName:r,tableName:a,data:c,tableSchema:u,encryptionKey:D,encryptionSalt:m,identifierColumnName:_,identifierValue:p||""})}let h=Object.keys(c),A=[],N=[];for(let e=0;ee.fieldName==t):null,i=a&&a[0]?a[0]:null;if(null==r||void 0==r||i?.dataType?.match(/int$/i)&&"string"==typeof r&&!r?.match(/./))continue;i?.encrypted&&(r=(0,o.A)({data:r,encryptionKey:D,encryptionSalt:m}),console.log("DSQL: Encrypted value =>",r));let l=/<[^>]+>/g;(i?.richText||String(r).match(l))&&(r=s()(r,n.A)),i?.pattern&&!new RegExp(i.pattern,i.patternFlags||"").test(r)&&(console.log("DSQL: Pattern not matched =>",r),r=""),A.push("`"+t+"`"),"object"==typeof r&&(r=JSON.stringify(r)),"number"==typeof r?N.push(String(r)):N.push(r)}catch(e){console.log("DSQL: Error in parsing data keys =>",e.message);continue}c?.date_created||(A.push("`date_created`"),N.push(Date())),c?.date_created_code||(A.push("`date_created_code`"),N.push(Date.now())),c?.date_updated||(A.push("`date_updated`"),N.push(Date())),c?.date_updated_code||(A.push("`date_updated_code`"),N.push(Date.now()));let v=`INSERT INTO ${f?"":`\`${r}\`.`}\`${a}\` (${A.join(",")}) VALUES (${N.map(()=>"?").join(",")})`;return await (0,l.A)(g,v,N)}},30802:(e,t,r)=>{r.d(t,{A:()=>d});var a=r(72583),s=r.n(a),n=r(92652),i=r(68829),o=r(52939),l=r(64292);async function d({dbContext:e,dbFullName:t,tableName:r,data:a,tableSchema:d,identifierColumnName:c,identifierValue:u,encryptionKey:_,encryptionSalt:p}){if(!a||!Object.keys(a).length)return null;let S=(0,o.A)({dbContext:e,dbFullName:t}),D=S?global.DSQL_DB_CONN:global.DSQL_FULL_ACCESS_DB_CONN||global.DSQL_DB_CONN;S?global.DSQL_DB_CONN:global.DSQL_READ_ONLY_DB_CONN||global.DSQL_DB_CONN;let m=Object.keys(a),f=[],g=[];for(let e=0;ee.fieldName===t):null,l=o&&o[0]?o[0]:null;if(null==r||void 0==r)continue;let c=/<[^>]+>/g;(l?.richText||String(r).match(c))&&(r=s()(r,n.A)),l?.encrypted&&(r=(0,i.A)({data:r,encryptionKey:_,encryptionSalt:p})),"object"==typeof r&&(r=JSON.stringify(r)),l?.pattern&&!new RegExp(l.pattern,l.patternFlags||"").test(r)&&(console.log("DSQL: Pattern not matched =>",r),r=""),"string"==typeof r&&r.match(/^null$/i)&&(r={toSqlString:function(){return"NULL"}}),"string"!=typeof r||r.match(/./i)||(r={toSqlString:function(){return"NULL"}}),f.push(`\`${t}\`=?`),"number"==typeof r?g.push(String(r)):g.push(r)}catch(e){console.log("DSQL: Error in parsing data keys in update function =>",e.message);continue}f.push(`date_updated='${Date()}'`),f.push(`date_updated_code='${Date.now()}'`);let L=`UPDATE ${S?"":`\`${t}\`.`}\`${r}\` SET ${f.join(",")} WHERE \`${c}\`=?`;return g.push(u),await (0,l.A)(D,L,g)}},96052:(e,t,r)=>{r.d(t,{A:()=>o});var a=r(29021),s=r.n(a),n=r(21572);let i=r.n(n)().createTransport({host:process.env.DSQL_MAIL_HOST,port:465,secure:!0,auth:{user:process.env.DSQL_MAIL_EMAIL,pass:process.env.DSQL_MAIL_PASSWORD}});async function o({to:e,subject:t,text:r,html:a,alias:n,senderName:o}){let l;if(!process.env.DSQL_MAIL_HOST||!process.env.DSQL_MAIL_EMAIL||!process.env.DSQL_MAIL_PASSWORD)return null;let d=(n?.match(/support/i),process.env.DSQL_MAIL_EMAIL);if(!s().existsSync("./email/index.html"))return;let c=s().readFileSync("./email/index.html","utf8").replace(/{{email_body}}/,a||"").replace(/{{issue_date}}/,Date().substring(0,24));try{let a={};a.from=`"${o||"Datasquirel"}" <${d}>`,a.sender=d,n&&(a.replyTo=d),a.to=e,a.subject=t,a.text=r,a.html=c,l=await i.sendMail(a)}catch(e){console.log("ERROR in handleNodemailer Function =>",e.message)}return l}},92652:(e,t,r)=>{r.d(t,{A:()=>a});let a={allowedTags:["b","i","em","strong","a","p","span","ul","ol","li","h1","h2","h3","h4","h5","h6","img","div","button","pre","code","br"],allowedAttributes:{a:["href"],img:["src","alt","width","height","class","style"],"*":["style","class"]}}},68829:(e,t,r)=>{r.d(t,{A:()=>i});var a=r(55511),s=r(79428),n=r(32443);function i({data:e,encryptionKey:t,encryptionSalt:r}){if(!e?.match(/./))return console.log("Encryption string is invalid"),e;let{key:i,salt:o,keyLen:l,algorithm:d,bufferAllocSize:c}=(0,n.A)({encryptionKey:t});if(!i?.match(/.{8,}/))return console.log("Encryption key is invalid"),e;if(!o?.match(/.{8,}/))return console.log("Encryption salt is invalid"),e;let u=(0,a.scryptSync)(i,o,l),_=s.Buffer.alloc(c,0),p=(0,a.createCipheriv)(d,u,_);try{let t=p.update(e,"utf8","hex");return t+=p.final("hex")}catch(t){return console.log("Error in encrypting =>",t.message),e}}},83919:(e,t,r)=>{r.d(t,{A:()=>n});var a=r(55511),s=r(32443);function n({password:e,encryptionKey:t}){let{key:r}=(0,s.A)({encryptionKey:t});if(!r?.match(/.{8,}/))throw Error("Encryption key is invalid");let n=(0,a.createHmac)("sha512",r);return n.update(e),n.digest("base64")}},48786:(e,t,r)=>{r.d(t,{A:()=>s});var a=r(7447);async function s(...e){let t=(0,a.A)();try{if(!t)throw Error("No Connection provided to DB_HANDLER function!");let r=await t.query(...e);return JSON.parse(JSON.stringify(r))}catch(e){return console.log("DB Error =>",e),{success:!1,error:e.message}}finally{await t?.end()}}},52939:(e,t,r)=>{r.d(t,{A:()=>a});function a({dbContext:e,dbFullName:t}){return!e?.match(/dsql.user/i)&&(!!global.DSQL_USE_LOCAL||!t||!!t.match(/^datasquirel$/))}},64292:(e,t,r)=>{async function a(e,t,r){try{if(!e)throw Error("No Connection Found!");if(!t)throw Error("Query String Required!");if("string"==typeof t){let a=await e.query(s(t),r);return JSON.parse(JSON.stringify(a))}if("object"!=typeof t)return null;{let r=[];for(let a=0;aa})},7447:(e,t,r)=>{r.d(t,{A:()=>n});var a=r(9973),s=r.n(a);function n(e){return global.DSQL_USE_LOCAL||e?.local?global.DSQL_DB_CONN||s()({config:{host:process.env.DSQL_DB_HOST,user:process.env.DSQL_DB_USERNAME,password:process.env.DSQL_DB_PASSWORD,database:e?.noDb?void 0:process.env.DSQL_DB_NAME,port:process.env.DSQL_DB_PORT?Number(process.env.DSQL_DB_PORT):void 0,charset:"utf8mb4"}}):e?.ro?global.DSQL_READ_ONLY_DB_CONN||s()({config:{host:process.env.DSQL_DB_HOST,user:process.env.DSQL_DB_READ_ONLY_USERNAME,password:process.env.DSQL_DB_READ_ONLY_PASSWORD,port:process.env.DSQL_DB_PORT?Number(process.env.DSQL_DB_PORT):void 0,charset:"utf8mb4"}}):e?.fa?global.DSQL_FULL_ACCESS_DB_CONN||s()({config:{host:process.env.DSQL_DB_HOST,user:process.env.DSQL_DB_FULL_ACCESS_USERNAME,password:process.env.DSQL_DB_FULL_ACCESS_PASSWORD,port:process.env.DSQL_DB_PORT?Number(process.env.DSQL_DB_PORT):void 0,charset:"utf8mb4"}}):global.DSQL_DB_CONN||s()({config:{host:process.env.DSQL_DB_HOST,user:process.env.DSQL_DB_USERNAME,password:process.env.DSQL_DB_PASSWORD,database:e?.noDb?void 0:process.env.DSQL_DB_NAME,port:process.env.DSQL_DB_PORT?Number(process.env.DSQL_DB_PORT):void 0,charset:"utf8mb4"}})}},32443:(e,t,r)=>{r.d(t,{A:()=>a});function a(e){return{key:e?.encryptionKey||process.env.DSQL_ENCRYPTION_PASSWORD,keyLen:process.env.DSQL_ENCRYPTION_KEY_LENGTH?Number(process.env.DSQL_ENCRYPTION_KEY_LENGTH):24,salt:e?.encryptionSalt||process.env.DSQL_ENCRYPTION_SALT,apiKey:e?.apiKey||process.env.DSQL_API_KEY,algorithm:e?.algorithm||process.env.DSQL_ENCRYPTION_ALGORITHM||"aes-192-cbc",bufferAllocSize:e?.bufferAllocSize||(process.env.DSQL_ENCRYPTION_BUFFER_ALLOCATION_SIZE?function(e,t){try{let t=Number(e);if("number"!=typeof t||isNaN(t))return 0;return Math.round(t)}catch(e){return console.log(`Numberfy ERROR: ${e.message}`),0}}(process.env.DSQL_ENCRYPTION_BUFFER_ALLOCATION_SIZE):void 0)||16}}},2706:(e,t)=>{Object.defineProperty(t,"A",{enumerable:!0,get:function(){return r}});var r=function(e){return e.PAGES="PAGES",e.PAGES_API="PAGES_API",e.APP_PAGE="APP_PAGE",e.APP_ROUTE="APP_ROUTE",e.IMAGE="IMAGE",e}({})},89947:(e,t,r)=>{e.exports=r(75600)}};var t=require("../../webpack-api-runtime.js");t.C(e);var r=t(t.s=70955);module.exports=r})();