${l}`)}catch(e){console.log("Server Error Reporting Error:",e.message)}}},95969:(e,r,s)=>{s.d(r,{A:()=>a});var n=s(55511),t=s(79428),o=s(32443);function a({encryptedString:e,encryptionKey:r,encryptionSalt:s}){if(!e?.match(/./))return console.log("Encrypted string is invalid"),e;let{key:a,salt:i,keyLen:l,algorithm:c,bufferAllocSize:u}=(0,o.A)({encryptionKey:r});if(!a?.match(/.{8,}/))return console.log("Decrption key is invalid"),e;if(!i?.match(/.{8,}/))return console.log("Decrption salt is invalid"),e;let _=(0,n.scryptSync)(a,i,l),S=t.Buffer.alloc(u,0),E=(0,n.createDecipheriv)(c,_,S);try{let r=E.update(e,"hex","utf8");return r+=E.final("utf8")}catch(r){return console.log("Error in decrypting =>",r.message),e}}},68829:(e,r,s)=>{s.d(r,{A:()=>a});var n=s(55511),t=s(79428),o=s(32443);function a({data:e,encryptionKey:r,encryptionSalt:s}){if(!e?.match(/./))return console.log("Encryption string is invalid"),e;let{key:a,salt:i,keyLen:l,algorithm:c,bufferAllocSize:u}=(0,o.A)({encryptionKey:r});if(!a?.match(/.{8,}/))return console.log("Encryption key is invalid"),e;if(!i?.match(/.{8,}/))return console.log("Encryption salt is invalid"),e;let _=(0,n.scryptSync)(a,i,l),S=t.Buffer.alloc(u,0),E=(0,n.createCipheriv)(c,_,S);try{let r=E.update(e,"utf8","hex");return r+=E.final("hex")}catch(r){return console.log("Error in encrypting =>",r.message),e}}},5437:(e,r,s)=>{s.d(r,{A:()=>E});var n=s(33873),t=s.n(n),o=s(47795),a=s.n(o),i=s(66866),l=s(41864);async function c({username:e,host:r,grants:s,userId:n}){let t=!1;if(console.log("Handling Grants for User =>",e,r),!e)return console.log("No username provided."),t;if(!r)return console.log(`NoHostprovided.\x1b[35m\`--host\`\x1b[0m flag is required`),t;if(!s)returnconsole.log("No grants Array provided."),t;try{leto=await(0,i.A)(`SELECT * FROM mysql.user WHERE User = '${e}' AND Host = '${r}'`);if(o?.[0]?.User){lett=await(0,i.A)(`SHOW GRANTS FOR '${e}'@'${r}'`);for(lete=0;e<t.length;e++){letr=t[e],s=r?.[Object.keys(r)[0]];if(s?.match(/GRANT .* PRIVILEGES ON .* TO/)){lete=s.replace(/GRANT/,"REVOKE").replace(/ TO /," FROM ");await(0,i.A)(e)}}for(lett=0;t<s.length;t++){let{database:o,table:a,privileges:l}=s[t],c="*"==a?"*":`\`${a}\``,u="*"==o?`\`${process.env.DSQL_USER_DB_PREFIX}${n}_%\``:`\`${o}\``,_=l.includes("ALL")?"ALL PRIVILEGES":l.join(", "),S=`GRANT ${_} ON ${u}.${c} TO '${e}'@'${r}'`;await(0,i.A)(S)}}t=!0}catch(e){console.log("Error in adding SQL user =>",e.message)}returnt}varu=s(68829),_=s(95969);s(60818).config({path:t().resolve(__dirname,"../../../.env")});letS=process.env.DSQL_DB_HOST||"127.0.0.1";asyncfunctionE({userId:e,mariadbUserHost:r,mariadbUsername:s,sqlUserID:n}){lett=await(0,l.A)({query:"SELECT * FROM mariadb_users"});if(!t?.[0])return;leto=!!e&&e==Number(process.env.DSQL_SU_USER_ID);for(letE=0;E<t.length;E++){letd=t[E];if(d&&(!e||d.user_id==e))try{let{mariadb_user:t,mariadb_host:E,mariadb_pass:p,user_id:D}=d,A=await(0,i.A)(`SELECT * FROM mysql.user WHERE User = '${t}' AND Host = '${E}'`),f=e&&n?await(0,l.A)({query:"SELECT * FROM mariadb_users WHERE id = ? AND user_id = ?",values:[n,e]}):null,y=Array.isArray(f)?f?.[0]:void0,N=!!y&&!!String(y.primary)?.match(/1/),R=!!A?.[0]?.User,g=o?s:`dsql_user_${D}`,m=y?.password?y.password:R?p:a().generate({length:16,numbers:!0,symbols:!0,uppercase:!0,exclude:"*#.'`\""}),L=y?.password?y.password:R?p:(0,u.A)({data:m,encryptionKey:process.env.DSQL_ENCRYPTION_PASSWORD,encryptionSalt:process.env.DSQL_ENCRYPTION_SALT});if(R||n||N||r||s)!R&&r&&await(0,i.A)(`CREATE USER IF NOT EXISTS '${g}'@'${r}' IDENTIFIED BY '${m}'`);else{lete=await(0,i.A)(`CREATE USER IF NOT EXISTS '${g}'@'${S}' IDENTIFIED BY '${m}'`);console.log("createNewUser",e),console.log(`User ${d.id}: ${d.first_name}${d.last_name} SQL credentials successfully updated.`),await(0,l.A)({query:"UPDATE users SET mariadb_user = ?, mariadb_host = ?, mariadb_pass = ? WHERE id = ?",values:[g,S,L,d.id]})}if(N){lete=r||E;await(0,l.A)({query:"UPDATE users SET mariadb_user = ?, mariadb_host = ?, mariadb_pass = ? WHERE id = ?",values:[g,e,L,d.id]})}letO=await(0,l.A)(