dsql-admin/dsql-app/.local_dist/server/pages/api/updateDbUser.js

1 line
8.8 KiB
JavaScript
Raw Permalink Normal View History

2024-12-15 11:27:16 +00:00
"use strict";(()=>{var e={};e.id=3683,e.ids=[3683],e.modules={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")},81630:e=>{e.exports=require("http")},33873:e=>{e.exports=require("path")},96762:(e,r)=>{Object.defineProperty(r,"M",{enumerable:!0,get:function(){return function e(r,t){return t in r?r[t]:"then"in r&&"function"==typeof r.then?r.then(r=>e(r,t)):"function"==typeof r&&"default"===t?r:void 0}}})},96016:(e,r,t)=>{t.r(r),t.d(r,{config:()=>d,default:()=>p,routeModule:()=>S});var s={};t.r(s),t.d(s,{default:()=>_});var n=t(89947),o=t(2706),a=t(96762),c=t(33364),i=t.n(c),l=t(6420),u=t.n(l);async function _(e,r){if("POST"!==e.method)return r.json({msg:"Failed!"});if(!await u()(e,r,!0))return r.json({success:!1,msg:"Unauthorized"});let{dbFullName:t,payload:s}=e.body,n=(()=>{let e=Object.keys(s),r={};return e.forEach(e=>{!e?.match(/user_type|priviledge|database_access|databases?|confirm/)&&(e?.match(/databases|confirm/)||(r[e]=s[e]))}),r})(),o=await i()({dbFullName:t,tableName:"users",identifierColumnName:"id",identifierValue:s.id,data:{...n},dbContext:"Dsql User",paradigm:"Full Access"});r.json({success:!!o?.affectedRows,msg:o?.affectedRows?"User Updated":o})}let p=(0,a.M)(s,"default"),d=(0,a.M)(s,"config"),S=new n.PagesAPIRouteModule({definition:{kind:o.A.PAGES_API,page:"/api/updateDbUser",pathname:"/api/updateDbUser",bundlePath:"",filename:""},userland:s})},6420:(e,r,t)=>{t(81630);let s=t(51348),n=t(72835),o=t(29021),a=t(31341);async function c(e,r,t,c){let{keyCookieName:i,csrfCookieName:l}=a();if(!e.cookies?.[i]?.match(/./))return null;let u=n({encryptedString:e.cookies[i]});if(!u)return null;let _=JSON.parse(u);if(!_.csrf_k||t&&!e.headers["x-csrf-auth"]?.match(RegExp(`${_.csrf_k}`)))return null;let p=process.env.DSQL_USER_LOGIN_KEYS_PATH;if(!p)return console.log("DSQL_USER_LOGIN_KEYS_PATH env variable not found. Please set this variable."),null;if(t&&!o.existsSync(`${p}/${_.csrf_k}`))return null;if(0==_.verification_status&&!t){let e=await s(`SELECT verification_status FROM users WHERE id='${_.id}'`);e&&e[0]&&1==e[0].verification_status&&r.setHeader("Set-Cookie",["user_refresh=1"])}return _?.date&&Date.now()-_.date>6048e5?null:_}e.exports=c},31341:e=>{e.exports=function(e){let r=process.env.DSQL_COOKIES_PREFIX||"dsql_",t=process.env.DSQL_COOKIES_KEY_NAME||"key",s=process.env.DSQL_COOKIES_CSRF_NAME||"csrf",n=process.env.DSQL_COOKIES_ONE_TIME_CODE_NAME||"one-time-code",o=e?.database?.replace(/^datasquirel_user_\d+_/,"")||process.env.DSQL_DB_NAME?.replace(/^datasquirel_user_\d+_/,""),a=r;e?.userId&&(a+=`user_${e.userId}_`),o&&(a+=`${o}_`),a+=t;let c=r;e?.userId&&(c+=`user_${e.userId}_`),o&&(c+=`${o}_`),c+=s;let i=r;return e?.userId&&(i+=`user_${e.userId}_`),o&&(i+=`${o}_`),{keyCookieName:a,csrfCookieName:c,oneTimeCodeName:i+=n}}},33364:(e,r,t)=>{let s=t(72583),n=t(16570),o=t(51348),a=t(21339),c=t(20503),i=t(44900);async function l({dbContext:e,paradigm:r,dbFullName:t,tableName:l,data:u,tableSchema:_,identifierColumnName:p,identifierValue:d,encryptionKey:S,encryptionSalt:f,useLocal:E}){if(!u||!Object.keys(u).length)return null;let D=!!E||!e?.match(/dsql.user/i)&&(!t||!!t.match(/^datasquirel$/)),g=E?i:D?o:a,h=Object.keys(u),m=[],v=[];for(let e=0;e<h.length;e++)try{let r=h[e],t=u[r],o=_?_?.fields?.filter(e=>e.fieldName===r):null,a=o&&o[0]?o[0]:null;if(null==t||void 0==t)continue;let i=/<[^>]+>/g;(a?.richText||String(t).match(i))&&(t=s(t,n)),a?.encrypted&&(t=c({data:t,encryptionKey:S,encryptionSalt:f})),"object"==typeof t&&(t=JSON.stringify(t)),a?.pattern&&!new RegExp(a.pattern,a.patternFlags||"").test(t)&&(console.log("DSQL: Pattern not matched =>",t),t=""),"string"==typeof t&&t.match(/^null$/i)&&(t={toSqlString:function(){return"NULL"}}),"string"!=typeof t||t.match(/./i)||(t={toSqlString:function(){return"NULL"}}),m.push(`\`${r}\`=?`),"number"==typeof t?v.push(String(t)):v.push(t)}