dsql-admin/dsql-app/.local_dist/server/chunks/9732.js
Benjamin Toby a7dfd48284 Updates
2024-12-09 10:39:09 +01:00

1 line
18 KiB
JavaScript

"use strict";exports.id=9732,exports.ids=[9732],exports.modules={81897:(e,t,a)=>{a.d(t,{A:()=>S});var l=a(8732),r=a(82015),s=a.n(r),d=a(32415),n=a(40373),i=a(1976),o=a.n(i);function c({editor:e,rootElement:t}){return(0,l.jsx)("div",{className:"embed-popup-form-content-wrapper text-sm mt-2 flex-wrap bg-white p-10 rounded max-w-2xl w-full",children:(0,l.jsxs)("form",{onSubmit:a=>{a.preventDefault();let l=a.target["embed-text-area"].value;if(!l?.match(/./))return alert("Please Enter HTML Text to continue.");e.insertContent(l),document.body.removeChild(t)},className:"w-full flex flex-col items-stretch gap-2",children:[(0,l.jsx)("h3",{className:"m-0 text-center text-lg",children:"Enter HTML code"}),(0,l.jsx)("textarea",{name:"embed-text-area",id:"embed-text-area",cols:30,rows:10,placeholder:"Paste Code here ..."}),(0,l.jsx)("button",{type:"submit",children:"Embed"})]})})}function u({editor:e}){navigator.clipboard.writeText(e?.getContent()||"").then(()=>{alert("Html Copied to Clipboard!")})}var m=a(58150);function p({editor:e,rootElement:t}){e.getContent();let a=s().useRef(),r=s().useRef(),[d,n]=s().useState(null);return(0,l.jsxs)("div",{onKeyUp:e=>{e.ctrlKey&&"Enter"==e.key&&r.current?.click()},children:[(0,l.jsx)("div",{className:"embed-popup-form-content-wrapper relative flex flex-col items-center justify-center",children:(0,l.jsxs)("div",{className:"max-w-[1200px] rounded-md overflow-hidden bg-white w-[90vw] items-start justify-start relative",children:[(0,l.jsx)("div",{ref:a,className:"w-full h-[80vh] text-[18px]"}),(0,l.jsx)("button",{className:"absolute bottom-4 right-4",onClick:a=>{if(d){let a=d.getValue();e.setContent(a),setTimeout(()=>{document.body.removeChild(t)},200)}},ref:r,children:"Save"})]})}),(0,l.jsx)("button",{className:"absolute top-4 right-8 rounded-full white",onClick:()=>{try{document.body.removeChild(t)}catch(e){}},style:{width:"40px",height:"40px",padding:"0",zIndex:"12039800000"},children:(0,l.jsx)(m.A,{})})]})}function f({editor:e}){let t=document.createElement("div");t.style.position="fixed",t.style.width="100vw",t.style.height="100vh",t.style.zIndex="123000000000000000",t.style.backgroundColor="rgba(0,0,0,0.8)",t.style.display="flex",t.style.alignItems="center",t.style.justifyContent="center",t.style.top="0",t.style.left="0",document.body.append(t),t.onclick=e=>{e.target.closest(".embed-popup-form-content-wrapper")||document.body.removeChild(t)},e&&o().createRoot(t).render((0,l.jsx)(p,{editor:e,rootElement:t}))}function x({editor:e}){let t=document.createElement("div");t.style.position="fixed",t.style.width="100vw",t.style.height="100vh",t.style.zIndex="123000000000000000",t.style.backgroundColor="rgba(0,0,0,0.8)",t.style.display="flex",t.style.alignItems="center",t.style.justifyContent="center",t.style.top="0",t.style.left="0",document.body.append(t),t.onclick=e=>{if(e.target.closest(".embed-popup-form-content-wrapper")){console.log("Still In Form");return}document.body.removeChild(t)},e&&o().createRoot(t).render((0,l.jsx)(c,{editor:e,rootElement:t}))}a(90317);var h=a(17855);function y({fieldObject:e,dataTypeSchema:t,richTextEditors:a,entry:r,currentRichTextEditorForms:i,entryPage:o,formButtonId:c}){let[m,p]=s().useState(!1),y=s().useRef(),b=s().useRef();return(0,l.jsxs)("div",{className:"flex flex-col items-start gap-0 w-full rich-text-editor-wrapper",children:[(0,l.jsxs)("label",{className:"font-bold text-slate-700 dark:text-slate-300 text-base px-3 py-1 bg-slate-100 dark:bg-slate-700 rounded-t-md border border-solid border-slate-300 dark:border-slate-300/20 flex items-center gap-2",htmlFor:e.fieldName,children:[e.encrypted&&(0,l.jsx)(h.A,{}),(0,l.jsx)("span",{children:e.fieldName})]}),(0,l.jsxs)("div",{ref:y,id:e.fieldName,className:"w-full p-0 sm:p-4 flex-col items-stretch bg-slate-100 relative dark:bg-slate-700 border border-solid border-slate-300 dark:border-slate-300/20",style:{borderRadius:"0 5px 5px 5px",marginTop:"-1px"},children:[!m&&(0,l.jsx)(d.A,{}),m&&(0,l.jsx)(s().Fragment,{children:(0,l.jsx)(n.Editor,{tinymceScriptSrc:"/tinymce/tinymce.min.js",onInit:(e,t)=>{b.current=t},initialValue:e.defaultValue||(r&&e.fieldName&&r[e.fieldName]?r[e.fieldName]:""),init:{height:o?400:300,width:"100%",convert_urls:!1,menubar:!1,plugins:["advlist","lists","link","image","charmap","anchor","searchreplace","visualblocks","code","fullscreen","insertdatetime","media","table","preview","help","wordcount"],toolbar:"undo redo | blocks | bold italic forecolor | link image | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | removeformat help | editCode embedCode copyCode",placeholder:"Type something ...",document_base_url:"/",content_css:e.cssFiles||void 0,setup:e=>{!function({editor:e,formButtonId:t}){e.addShortcut("meta+13","Save Entry.",()=>{window.confirm("Update this Form?")&&t&&document.getElementById(t)?.click()}),e.addShortcut("meta+shift+e","Edit Code.",()=>{f({editor:e})}),e.addShortcut("meta+shift+d","Embed Code.",()=>{x({editor:e})}),e.addShortcut("meta+shift+c","Copy Code.",()=>{u({editor:e})}),e.ui.registry.addButton("editCode",{icon:"edit-block",onAction:t=>f({editor:e}),tooltip:"Edit HTML Code"}),e.ui.registry.addButton("embedCode",{icon:"sourcecode",onAction:t=>x({editor:e}),tooltip:"Embed Code"}),e.ui.registry.addButton("copyCode",{icon:"copy",onAction:t=>u({editor:e}),tooltip:"Copy HTML"})}({editor:e,formButtonId:c})}}})})]})]})}a(63715),a(84759);var b=a(82544);let g=(0,b.A)("CircleMinus",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 12h8",key:"1wcyev"}]]),N=(0,b.A)("CirclePlus",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 12h8",key:"1wcyev"}],["path",{d:"M12 8v8",key:"napkw2"}]]);function v({fieldObject:e,typeFinal:t,isExpanded:a,setHeight:r,COLLAPSED_HEIGHT:s,EXPANDED_HEIGHT:d}){return(0,l.jsxs)("div",{className:"gap-2 w-full",children:[(0,l.jsxs)("label",{className:"font-bold text-slate-700 dark:text-slate-300 text-base px-3 py-1 bg-slate-100 dark:bg-slate-700 rounded-t-md border border-solid border-slate-300 dark:border-slate-300/20 flex items-center gap-2",htmlFor:e.fieldName,children:[e.encrypted&&(0,l.jsx)(h.A,{}),(0,l.jsx)("span",{children:e.fieldName})]}),(0,l.jsx)("div",{className:"px-4 py-1 bg-secondary text-white rounded-full text-sm font-bold -mt-2",children:(0,l.jsx)("span",{children:t})}),(0,l.jsxs)("div",{className:"ml-auto cursor-pointer gap-1 text-slate-400 hover:text-slate-800 -mt-2 items-center flex",onClick:e=>{a?r(s):r(d)},children:[(0,l.jsx)("span",{className:"font-semibold text-sm",children:a?"Collapse":"Expand"}),a?(0,l.jsx)(g,{size:18,className:"mt-[-1px]"}):(0,l.jsx)(N,{size:18,className:"mt-[-1px]"})]})]})}function j({fieldObject:e,dataTypeSchema:t,entry:a,entryPage:r,jsonTextEditors:d,type:n}){try{let[t,a]=s().useState(0),[r,d]=s().useState(300),i=s().useRef();return s().useRef(),(0,l.jsx)(s().Fragment,{children:(0,l.jsxs)("div",{className:"flex flex-col items-start gap-0 w-full rich-text-editor-wrapper",children:[(0,l.jsx)(v,{fieldObject:e,isExpanded:300!==r,setHeight:d,typeFinal:n||"json",COLLAPSED_HEIGHT:300,EXPANDED_HEIGHT:600}),(0,l.jsx)(_,{height:r,jsonEditorRef:i})]})})}catch(e){return(0,l.jsx)(s().Fragment,{children:(0,l.jsx)("span",{children:"Editor Load Error"})})}}function _({height:e,jsonEditorRef:t}){return(0,l.jsx)("div",{className:"w-full p-0 sm:p-4 flex-col relative dark:bg-slate-700 border border-solid border-slate-300 dark:border-slate-300/20 overflow-hidden",style:{borderRadius:"0 5px 5px 5px",marginTop:"-1px",height:`${e}px`},children:(0,l.jsx)("div",{ref:t,className:"w-full text-[18px] h-full"})})}function S({fieldObject:e,dataTypeSchema:t,richTextEditors:a,jsonTextEditors:r,entry:d,currentRichTextEditorForms:n,confirmedDelegetedUser:i,query:o,entryPage:c,formButtonId:u}){i?.delegated,i?.priviledges?.match(/Edit Tables/i),i?.priviledges?.match(/Delete Tables/i),i?.priviledges?.match(/Create Tables/i),i?.priviledges?.match(/Edit Entries/i),i?.priviledges?.match(/Delete Entries/i);let m=function({fieldObject:e,dataTypeSchema:t,elementRef:a,entry:r}){let s;let d=e=>{let t=e.target.closest("form");if(!t)return;let a=t?.querySelector("#slug");a&&(a.value=e.target.value.toLowerCase().replace(/ /g,"-").replace(/[^a-z\-0-9]/g,""))};return e.defaultField?s=(0,l.jsx)("input",{ref:a,type:"text",name:"def_field_"+e.fieldName,id:"def_field_"+e.fieldName,placeholder:e.fieldName,defaultValue:r&&r[e.fieldName||""]?r[e.fieldName||""]:e.defaultValue?e.defaultValue:"",style:{borderRadius:"0 5px 5px 5px",marginTop:"-1px"},readOnly:!0,"data-default":"true"}):(e.dataType?.match(/varchar/i)&&(s=(0,l.jsx)("textarea",{ref:a,name:e.fieldName,id:e.fieldName,placeholder:e.fieldName,required:!!e.notNullValue,maxLength:e.dataType?.match(/\d+/)?.[0]?parseInt(e.dataType?.match(/\d+/)?.[0]||""):void 0,defaultValue:r&&r[e.fieldName||""]?r[e.fieldName||""]:e.defaultValue?e.defaultValue:"",style:{borderRadius:"0 5px 5px 5px",marginTop:"-1px"},onChange:t=>{e.fieldName?.match(/^title$/)&&d(t)}})),e.dataType?.match(/int$/i)&&(s=(0,l.jsx)("input",{ref:a,type:"number",name:e.fieldName,id:e.fieldName,placeholder:e.fieldName,required:!!e.notNullValue,max:t.maxValue,style:{borderRadius:"0 5px 5px 5px",marginTop:"-1px"},defaultValue:r&&r[e.fieldName||""]?r[e.fieldName||""]:e.defaultValue?e.defaultValue:"",onChange:e=>{}})),e.dataType?.match(/text$/i)&&(s=(0,l.jsx)("textarea",{ref:a,name:e.fieldName,id:e.fieldName,placeholder:e.fieldName,required:!!e.notNullValue,defaultValue:r&&r[e.fieldName||""]?r[e.fieldName||""]:e.defaultValue?e.defaultValue:"",style:{borderRadius:"0 5px 5px 5px",marginTop:"-1px"},rows:10,onChange:e=>{}})),e.fieldName?.match(/password|^pass$|^key$/i)&&(s=(0,l.jsxs)("div",{className:"w-full relative",children:[(0,l.jsx)("input",{ref:a,type:"password",name:e.fieldName,id:e.fieldName,placeholder:e.fieldName,required:!!e.notNullValue,max:t.maxValue,style:{borderRadius:"0 5px 5px 5px",marginTop:"-1px"},defaultValue:r&&r[e.fieldName]?r[e.fieldName]:e.defaultValue?e.defaultValue:"",onChange:e=>{}}),(0,l.jsx)("span",{className:"absolute right-4 cursor-pointer",onClick:e=>{let t=e.target.closest("div").querySelector("input");"password"===t.type?(t.type="text",e.target.innerText="Hide"):(t.type="password",e.target.innerText="Reveal")},children:"Reveal"})]})),s||(s=(0,l.jsx)("input",{ref:a,type:"text",name:e.fieldName,id:e.fieldName,style:{borderRadius:"0 5px 5px 5px",marginTop:"-1px"},defaultValue:r&&r[e.fieldName||""]?r[e.fieldName||""]:e.defaultValue?e.defaultValue:"",onChange:e=>{}})),s)}({fieldObject:e,dataTypeSchema:t,elementRef:s().useRef(),entry:d});if(e.dataType?.match(/text$/i)&&e.richText&&!e.plainText&&!e.fieldName?.match(/^pass|^key$/i)&&!e.encrypted||e.encrypted&&e.richText)return(0,l.jsx)(s().Fragment,{children:(0,l.jsx)(y,{fieldObject:e,dataTypeSchema:t,richTextEditors:a,currentRichTextEditorForms:n,entry:d,entryPage:c,formButtonId:u})});let p=e.json||e.yaml||e.html||e.css||e.javascript||e.shell;return e.dataType?.match(/text$/i)&&p&&!e.plainText&&!e.fieldName?.match(/^pass|^key$/i)&&!e.encrypted||e.encrypted&&p?(0,l.jsx)(j,{fieldObject:e,dataTypeSchema:t,entry:d,entryPage:c,jsonTextEditors:r,type:e.json?"json":e.yaml?"yaml":e.html?"html":e.css?"css":e.javascript?"javascript":e.shell?"shell":"json"}):(0,l.jsxs)("div",{className:"flex flex-col items-start gap-0 w-full"+(e.defaultField?" opacity-50":""),children:[(0,l.jsxs)("label",{className:"font-bold text-slate-700 dark:text-slate-300 text-base px-3 py-1 bg-slate-100 dark:bg-slate-700 rounded-t-md border border-solid border-slate-300 dark:border-slate-300/20 flex items-center gap-2",htmlFor:e.fieldName,children:[e.encrypted&&(0,l.jsx)(s().Fragment,{children:(0,l.jsx)(h.A,{})}),(0,l.jsx)("span",{children:e.fieldName}),e.defaultField&&(0,l.jsx)("span",{className:"bg-white dark:bg-slate-900 text-primary dark:text-slate-300 font-semibold text-xs px-2 py-0.5 rounded-xs",children:"Default Field"})]}),m]})}},84759:(e,t,a)=>{a.d(t,{A:()=>l});function l({editorHTMLElementRef:e,fieldObject:t,setRefresh:a,language:l="javascript",entry:r,jsonTextEditors:s,editorRef:d,readOnly:n,initialContent:i,options:o}){try{if(!ace?.edit||!e.current){console.log("Ace Editor not found!"),setTimeout(()=>{a?.(e=>e+1)},1e3);return}let c=ace.edit(e.current);c.setOptions({mode:"ace/mode/"+l,value:i||(t?.defaultValue?t.defaultValue:t?.fieldName&&r?.[t.fieldName]?(()=>{if("json"!==l)return r[t.fieldName];try{return JSON.stringify(JSON.parse(r[t.fieldName]),null,4)}catch(e){return r[t.fieldName]}})():""),placeholder:"json"==l?"{}":"",enableBasicAutocompletion:!0,enableLiveAutocompletion:!0,readOnly:n,...o}),d&&t?.fieldName&&(s?.current.push({fieldName:t.fieldName,ref:d}),d.current=c);try{ace.require("ace/ext/beautify").beautify(c.session)}catch(e){}}catch(e){console.log("JSON Editor ERROR =>",e.message)}}},65241:(e,t,a)=>{a.d(t,{A:()=>d});var l=a(8732),r=a(82015),s=a.n(r);function d({table:e,database:t,user:a,activeDbClone:r}){let d=e?.childTableDbFullName?e.childTableDbFullName.replace(new RegExp(/datasquirel_user_\d+_/),""):null,n=e.childTableDbFullName===t.db_full_name;return d?(0,l.jsxs)("span",{className:"info small green gap-1"+(t?.active_clone?" -mt-6":""),style:{fontWeight:"500"},children:["This Table is an active clone of"," ",(0,l.jsx)("a",{href:`/admin/${a?.id}/databases/${d}/tables/${e.childTableName}`,target:"_blank",className:"button gray outlined small-text",style:{display:"inline-block",fontSize:"12px",padding:"3px 7px"},children:(0,l.jsx)("b",{children:e.childTableName})})," ","in"," ",n?(0,l.jsxs)("span",{children:["this current database(",(0,l.jsx)("b",{children:t.db_name}),")."]}):(0,l.jsxs)(s().Fragment,{children:[(0,l.jsx)("a",{href:`/admin/${a?.id}/databases/${d}`,target:"_blank",className:"button gray outlined small-text",style:{display:"inline-block",fontSize:"12px",padding:"3px 7px"},children:(0,l.jsx)("b",{children:d})}),(0,l.jsx)("span",{children:"database."})]})," ",t?.active_clone?"":"Only Foreign keys and Entries can be updated."]}):(0,l.jsx)(s().Fragment,{})}},31651:(e,t,a)=>{a(81630);let l=a(77463);e.exports=async function({request:e,databaseSlug:t,user:a,query:r}){try{let s=a.id,d=null;if(!r?.delegated)return{dbUserId:s};let n=r.dbUserId,i=`${process.env.DSQL_USER_DB_PREFIX}${n}_${t}`,o=`${process.env.DSQL_USER_DELEGATED_DB_COOKIE_PREFIX}${i}`;try{if(!e.cookies?.[o])throw Error("Cookie not present");let a=l({encryptedString:e.cookies[o]});if(!a)throw Error("Invalid Token");if((d=JSON.parse(a)).databaseSlug===t)return{dbUserId:s=d.rootUserId,rootUserId:d.rootUserId,rootUserName:d.rootUserName,rootUserEmail:d.rootUserEmail,rootUserImage:d.rootUserImage,databaseFullName:d.databaseFullName,databaseSlug:d.databaseSlug,allowedTables:d.allowedTables,priviledges:d.priviledges,database:d.databaseSlug,delegated:!0}}catch(e){}return{dbUserId:s}}catch(e){return null}}},17855:(e,t,a)=>{a.d(t,{A:()=>l});let l=(0,a(82544).A)("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]])},68743:e=>{e.exports=/^id$|^uuid$|^date_created$|^date_created_code$|^date_created_timestamp$|^date_updated$|^date_updated_code$|^date_updated_timestamp$/},89545:(e,t,a)=>{let l=a(77463),r=a(68743);e.exports=async function({unparsedResults:e,tableSchema:t}){let a=[];try{for(let s=0;s<e.length;s++){let d=e[s],n=Object.keys(d);for(let e=0;e<n.length;e++){let a=n[e],s=t?.fields[e];if(a?.match(r))continue;let i=d[a];("number"==typeof i||i)&&s?.encrypted&&i?.match(/./)&&(d[a]=l({encryptedString:i}))}a.push(d)}return a}catch(t){return console.log("ERROR in parseDbResults Function =>",t.message),e}}},90378:(e,t,a)=>{a(29021);let l=a(89545),r=a(22373),s=a(67216),d=a(1231),n=a(88896);e.exports=async function({queryString:e,queryValuesArray:t,database:a,tableSchema:i,useLocal:o}){let c;let u=!!a?.match(/^datasquirel$/),m=o?n:u?s:d;try{c=e&&t&&Array.isArray(t)&&t[0]?u?await m(e,t):await m({paradigm:"Full Access",database:a,queryString:e,queryValues:t}):u?await m(e):await m({paradigm:"Full Access",database:a,queryString:e})}catch(e){r({component:"varDatabaseDbHandler/lines-29-32",message:e.message})}if(c&&i)try{let e=c;return await l({unparsedResults:e,tableSchema:i})}catch(e){return console.log("\x1b[31mvarDatabaseDbHandler ERROR\x1b[0m =>",a,e),r({component:"varDatabaseDbHandler/lines-52-53",message:e.message}),null}else if(c)return c;else return null}},1231:(e,t,a)=>{let l=a(29021);a(33873);let r=a(9973),s=a(31976),d=r({config:{host:process.env.DSQL_DB_HOST,user:process.env.DSQL_DB_READ_ONLY_USERNAME,password:process.env.DSQL_DB_READ_ONLY_PASSWORD,charset:"utf8mb4",ssl:s()}});e.exports=function({paradigm:e,database:t,queryString:a,queryValues:n}){try{return new Promise((i,o)=>{let c=!!e?.match(/full.access|^fa$/i);try{function u(e){d.end(),i(JSON.parse(JSON.stringify(e)))}function m(e){d.end(),i({error:e.message,queryStringGenerated:a,queryValuesGenerated:n,sql:e.sql})}d=c?r({config:{host:process.env.DSQL_DB_HOST,user:process.env.DSQL_DB_FULL_ACCESS_USERNAME,password:process.env.DSQL_DB_FULL_ACCESS_PASSWORD,database:t,ssl:s()}}):r({config:{host:process.env.DSQL_DB_HOST,user:process.env.DSQL_DB_READ_ONLY_USERNAME,password:process.env.DSQL_DB_READ_ONLY_PASSWORD,database:t,ssl:s()}}),n&&Array.isArray(n)&&n[0]?d.query(a,n).then(u).catch(m):d.query(a).then(u).catch(m)}catch(e){l.appendFileSync("./.tmp/dbErrorLogs.txt",e.message+"\n"+Date()+"\n\n\n","utf8"),i({error:e.message})}})}catch(e){return{success:!1,error:e.message}}}},88896:(e,t,a)=>{let l=a(9973),r=a(31976);async function s(...e){let t=l({config:{host:process.env.DSQL_DB_HOST,user:process.env.DSQL_DB_USERNAME,password:process.env.DSQL_DB_PASSWORD,database:process.env.DSQL_DB_NAME,port:process.env.DSQL_DB_PORT?Number(process.env.DSQL_DB_PORT):void 0,charset:"utf8mb4",ssl:r()},onConnect:()=>{console.log("Connection Successful!")},onConnectError:e=>{console.log("Connection Error",e.message)},onError:e=>{console.log("Client Error",e.message)}});console.log("Querying ...");try{let a=await t.query(...e);return await t.end(),JSON.parse(JSON.stringify(a))}catch(e){return console.log("DB Error =>",e.message),{success:!1,error:e.message}}}e.exports=s}};