dsql-admin/dsql-app/.local_dist/server/pages/api/addUserUser.js
Benjamin Toby 1b48c07ee8 Updates
2025-02-12 17:56:44 +01:00

4 lines
12 KiB
JavaScript

"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:`
<h2>${r.first_name} ${r.last_name} has invited you to manage a datasquirel account.</h2>
<a href="${process.env.DSQL_HOST}/create-account?invite=${r.id}&database_access=${a.database_access}&priviledge=${a.priviledge}&email=${a.email_address}">Accept Invitation</a>
`});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,forceLocal:f}){let g=!!f||(0,d.A)({dbContext:e,dbFullName:r}),L=g?global.DSQL_DB_CONN:global.DSQL_FULL_ACCESS_DB_CONN||global.DSQL_DB_CONN,h=g?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 ${g?"":`\`${r}\`.`}\`${a}\` WHERE \`${_}\`=?`,s=await (0,l.A)(h,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 A=Object.keys(c),N=[],v=[];for(let e=0;e<A.length;e++)try{let t=A[e],r=c?.[t],a=u?u?.fields?.filter(e=>e.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=""),N.push("`"+t+"`"),"object"==typeof r&&(r=JSON.stringify(r)),"number"==typeof r?v.push(String(r)):v.push(r)}catch(e){console.log("DSQL: Error in parsing data keys =>",e.message);continue}c?.date_created||(N.push("`date_created`"),v.push(Date())),c?.date_created_code||(N.push("`date_created_code`"),v.push(Date.now())),c?.date_updated||(N.push("`date_updated`"),v.push(Date())),c?.date_updated_code||(N.push("`date_updated_code`"),v.push(Date.now()));let y=`INSERT INTO ${g?"":`\`${r}\`.`}\`${a}\` (${N.join(",")}) VALUES (${v.map(()=>"?").join(",")})`;return await (0,l.A)(L,y,v)}},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,forceLocal:S}){if(!a||!Object.keys(a).length)return null;let D=!!S||(0,o.A)({dbContext:e,dbFullName:t}),m=D?global.DSQL_DB_CONN:global.DSQL_FULL_ACCESS_DB_CONN||global.DSQL_DB_CONN;D?global.DSQL_DB_CONN:global.DSQL_READ_ONLY_DB_CONN||global.DSQL_DB_CONN;let f=Object.keys(a),g=[],L=[];for(let e=0;e<f.length;e++)try{let t=f[e],r=a[t],o=d?d?.fields?.filter(e=>e.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"}}),g.push(`\`${t}\`=?`),"number"==typeof r?L.push(String(r)):L.push(r)}catch(e){console.log("DSQL: Error in parsing data keys in update function =>",e.message);continue}g.push(`date_updated='${Date()}'`),g.push(`date_updated_code='${Date.now()}'`);let h=`UPDATE ${D?"":`\`${t}\`.`}\`${r}\` SET ${g.join(",")} WHERE \`${c}\`=?`;return L.push(u),await (0,l.A)(m,h,L)}},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(31542);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(31542);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;a<t.length;a++)try{let n=t[a],i=await e.query(s(n.query),n.values);r.push(JSON.parse(JSON.stringify(i)))}catch(e){console.log(`connDbHandler Query Error: ${e.message}`),r.push(null)}return r}}catch(t){return console.log(`connDbHandler Error: ${t.message}`),console.log(e?.config()),null}finally{e?.end()}}function s(e){return e.replace(/\n/gm,"").replace(/ {2,}/g,"").trim()}r.d(t,{A:()=>a})},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"}})}},31542:(e,t,r)=>{r.d(t,{A:()=>s});var a=r(82535);function s(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?(0,a.A)(process.env.DSQL_ENCRYPTION_BUFFER_ALLOCATION_SIZE):void 0)||16}}},82535:(e,t,r)=>{r.d(t,{A:()=>a});function a(e,t){try{let r=Number(e);if("number"!=typeof r||isNaN(r))return 0;if(t)return Number(r.toFixed(t));return Math.round(r)}catch(e){return console.log(`Numberfy ERROR: ${e.message}`),0}}},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})();