This commit is contained in:
Benjamin Toby
2024-12-09 13:27:08 +01:00
parent a7dfd48284
commit d9d32a4643
174 changed files with 322 additions and 605 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -1,4 +1,4 @@
"use strict";exports.id=8540,exports.ids=[8540],exports.modules={77619:(e,t,r)=>{let a=r(29021),l=r(72835);e.exports=({key:e,database:t,table:r,user_id:n})=>{if(!e||!n)return null;try{let s=process.env.DSQL_API_KEYS_PATH;if(!s)throw Error("process.env.DSQL_API_KEYS_PATH variable not found");let i=l({encryptedString:e}),o=JSON.parse(i||""),u=a.existsSync(`${s}/${o.sign}`);if(String(o.user_id)!==String(n)||!u)return null;if(!o.target_database)return o;if(!t&&o.target_database)return null;let c=o.target_database?.split(",").includes(String(t));if(c&&!o.target_table)return o;if(c&&!r&&o.target_table)return null;if(o.target_table?.split(",").includes(String(r)))return o;return null}catch(e){return console.log(`api-cred ERROR: ${e.message}`),null}}},64122:(e,t,r)=>{let a=r(51348),l=r(21339),n=r(44900);async function s({dbContext:e,paradigm:t,dbFullName:r,tableName:s,identifierColumnName:i,identifierValue:o,useLocal:u}){try{let c=!e?.match(/dsql.user/i)&&(!r||!!r.match(/^datasquirel$/)),d=u?n:c?a:l,p=`DELETE FROM ${s} WHERE \`${i}\`=?`;return c?await d(p,[o]):await d({paradigm:t,queryString:p,database:r,queryValues:[o]})}catch(e){return null}}e.exports=s},8238:(e,t,r)=>{r(29021);let a=r(44900),l=r(94709),n=r(96064),s=r(48225),i=r(47670),o=r(33364),u=r(64122),c=r(6061),d=r(33872);async function p({dbFullName:e,query:t,readOnly:r,dbSchema:p,queryValuesArray:m,tableName:g,local:f}){let y,b,_;if(p)try{let e=g||("string"==typeof t?null:t?t?.table:null);if(!e)throw Error("No table name provided");_=p.tables.filter(t=>t?.tableName===e)[0]}catch(e){}try{if("string"==typeof t){let s=d(t);if(r&&s.match(/^alter|^delete|information_schema|databases|^create/i))throw Error("Wrong Input!");if(f){console.log("Using Local ...");let e=await a(s,m);y=_?c({unparsedResults:e,tableSchema:_}):e}else y=r?await n({queryString:s,queryValuesArray:m?.map(e=>String(e)),database:e,tableSchema:_}):await l({queryString:s,queryValuesArray:m?.map(e=>String(e)),database:e,tableSchema:_})}else if("object"==typeof t){let{data:r,action:a,table:l,identifierColumnName:n,identifierValue:s,update:c,duplicateColumnName:d,duplicateColumnValue:p}=t;switch(a.toLowerCase()){case"insert":y=await i({dbContext:f?"Master":"Dsql User",paradigm:"Full Access",dbFullName:e,tableName:l,data:r,update:c,duplicateColumnName:d,duplicateColumnValue:p,tableSchema:_}),y?.insertId||(b=Error("Couldn't insert data"));break;case"update":y=await o({dbContext:f?"Master":"Dsql User",paradigm:"Full Access",dbFullName:e,tableName:l,data:r,identifierColumnName:n,identifierValue:s,tableSchema:_});break;case"delete":y=await u({dbContext:f?"Master":"Dsql User",paradigm:"Full Access",dbFullName:e,tableName:l,identifierColumnName:n,identifierValue:s,tableSchema:_});break;default:y=null}}}catch(e){s({component:"functions/backend/runQuery",message:e.message}),y=null,e=e.message}return{result:y,error:b}}e.exports=p},30003:e=>{e.exports=/^id$|^uuid$|^date_created$|^date_created_code$|^date_created_timestamp$|^date_updated$|^date_updated_code$|^date_updated_timestamp$/},94709:(e,t,r)=>{let a=r(21339),l=r(6061),n=r(48225);e.exports=async function({queryString:e,database:t,tableSchema:r,queryValuesArray:s,local:i}){let o;try{o=await a({paradigm:"Full Access",database:t,queryString:e,queryValues:s})}catch(e){return n({component:"fullAccessDbHandler",message:e.message}),e.message}if(o&&r){let e=o;return await l({unparsedResults:e,tableSchema:r})}return o||null}},6061:(e,t,r)=>{let a=r(72835),l=r(30003);e.exports=async function({unparsedResults:e,tableSchema:t}){let r=[];try{for(let n=0;n<e.length;n++){let s=e[n],i=Object.keys(s);for(let e=0;e<i.length;e++){let r=i[e],n=t?.fields[e];if(r?.match(l))continue;let o=s[r];("number"==typeof o||o)&&n?.encrypted&&o?.match(/./)&&(s[r]=a({encryptedString:o}))}r.push(s)}return r}catch(t){return console.log("ERROR in parseDbResults Function =>",t.message),e}}},48225:(e,t,r)=>{let a=r(29021),{IncomingMessage:l}=r(81630);e.exports=async function({user:e,message:t,component:r,noMail:l,req:n}){let s=new Date,i=(()=>{if(!n)return null;try{let e=n.headers["x-forwarded-for"],t=n.headers["x-real-ip"],r=n.headers["cf-connecting-ip"],a=Array.isArray(e)?e[0]:e?.split(",")[0],l=r||a||t||n.socket.remoteAddress;if(!l)return null;return String(l)}catch(e){return null}})();try{let l=`🚀 SERVER ERROR ===========================
"use strict";exports.id=8540,exports.ids=[8540],exports.modules={77619:(e,t,r)=>{let a=r(29021),l=r(72835);e.exports=({key:e,database:t,table:r,user_id:n})=>{if(!e||!n)return null;try{let s=process.env.DSQL_API_KEYS_PATH;if(!s)throw Error("process.env.DSQL_API_KEYS_PATH variable not found");let i=l({encryptedString:e}),o=JSON.parse(i||""),u=a.existsSync(`${s}/${o.sign}`);if(String(o.user_id)!==String(n)||!u)return null;if(!o.target_database)return o;if(!t&&o.target_database)return null;let c=o.target_database?.split(",").includes(String(t));if(c&&!o.target_table)return o;if(c&&!r&&o.target_table)return null;if(o.target_table?.split(",").includes(String(r)))return o;return null}catch(e){return console.log(`api-cred ERROR: ${e.message}`),null}}},64122:(e,t,r)=>{let a=r(51348),l=r(21339),n=r(44900);async function s({dbContext:e,paradigm:t,dbFullName:r,tableName:s,identifierColumnName:i,identifierValue:o,useLocal:u}){try{let c=!!u||!e?.match(/dsql.user/i)&&(!r||!!r.match(/^datasquirel$/)),d=u?n:c?a:l,p=`DELETE FROM ${s} WHERE \`${i}\`=?`;return c?await d(p,[o]):await d({paradigm:t,queryString:p,database:r,queryValues:[o]})}catch(e){return null}}e.exports=s},8238:(e,t,r)=>{r(29021),r(44900);let a=r(94709),l=r(96064),n=r(48225),s=r(47670),i=r(33364),o=r(64122);r(6061);let u=r(33872);async function c({dbFullName:e,query:t,readOnly:r,dbSchema:c,queryValuesArray:d,tableName:p,local:m}){let g,f,y;if(c)try{let e=p||("string"==typeof t?null:t?t?.table:null);if(!e)throw Error("No table name provided");y=c.tables.filter(t=>t?.tableName===e)[0]}catch(e){}try{if("string"==typeof t){let n=u(t);if(r&&n.match(/^alter|^delete|information_schema|^create/i))throw Error("Wrong Input!");g=r?await l({queryString:n,queryValuesArray:d?.map(e=>String(e)),database:e,tableSchema:y,useLocal:m}):await a({queryString:n,queryValuesArray:d?.map(e=>String(e)),database:e,tableSchema:y,local:m})}else if("object"==typeof t){let{data:r,action:a,table:l,identifierColumnName:n,identifierValue:u,update:c,duplicateColumnName:d,duplicateColumnValue:p}=t;switch(a.toLowerCase()){case"insert":g=await s({dbContext:m?"Master":"Dsql User",paradigm:"Full Access",dbFullName:e,tableName:l,data:r,update:c,duplicateColumnName:d,duplicateColumnValue:p,tableSchema:y,useLocal:m}),g?.insertId||(f=Error("Couldn't insert data"));break;case"update":g=await i({dbContext:m?"Master":"Dsql User",paradigm:"Full Access",dbFullName:e,tableName:l,data:r,identifierColumnName:n,identifierValue:u,tableSchema:y,useLocal:m});break;case"delete":g=await o({dbContext:m?"Master":"Dsql User",paradigm:"Full Access",dbFullName:e,tableName:l,identifierColumnName:n,identifierValue:u,tableSchema:y,useLocal:m});break;default:g=null}}}catch(e){n({component:"functions/backend/runQuery",message:e.message}),g=null,e=e.message}return{result:g,error:f}}e.exports=c},30003:e=>{e.exports=/^id$|^uuid$|^date_created$|^date_created_code$|^date_created_timestamp$|^date_updated$|^date_updated_code$|^date_updated_timestamp$/},94709:(e,t,r)=>{let a=r(21339),l=r(44900),n=r(6061),s=r(48225);e.exports=async function({queryString:e,database:t,tableSchema:r,queryValuesArray:i,local:o}){let u;try{u=o?await l(e,i):await a({paradigm:"Full Access",database:t,queryString:e,queryValues:i})}catch(e){return s({component:"fullAccessDbHandler",message:e.message}),e.message}if(u&&r){let e=u;return await n({unparsedResults:e,tableSchema:r})}return u||null}},6061:(e,t,r)=>{let a=r(72835),l=r(30003);e.exports=async function({unparsedResults:e,tableSchema:t}){let r=[];try{for(let n=0;n<e.length;n++){let s=e[n],i=Object.keys(s);for(let e=0;e<i.length;e++){let r=i[e],n=t?.fields[e];if(r?.match(l))continue;let o=s[r];("number"==typeof o||o)&&n?.encrypted&&o?.match(/./)&&(s[r]=a({encryptedString:o}))}r.push(s)}return r}catch(t){return console.log("ERROR in parseDbResults Function =>",t.message),e}}},48225:(e,t,r)=>{let a=r(29021),{IncomingMessage:l}=r(81630);e.exports=async function({user:e,message:t,component:r,noMail:l,req:n}){let s=new Date,i=(()=>{if(!n)return null;try{let e=n.headers["x-forwarded-for"],t=n.headers["x-real-ip"],r=n.headers["cf-connecting-ip"],a=Array.isArray(e)?e[0]:e?.split(",")[0],l=r||a||t||n.socket.remoteAddress;if(!l)return null;return String(l)}catch(e){return null}})();try{let l=`🚀 SERVER ERROR ===========================
Error Message: ${t}
Component: ${r}`;e?.id&&e?.first_name&&e?.last_name&&e?.email&&(l+=`
User Id: ${e?.id}
@@ -13,4 +13,4 @@ Date: ${s.toDateString()}
${o}`)}catch(e){console.log("Server Error Reporting Error:",e.message)}}},96064:(e,t,r)=>{r(29021);let a=r(48225),l=r(6061),n=r(21339);e.exports=async function({queryString:e,database:t,queryValuesArray:r,tableSchema:s}){let i;try{i=await n({paradigm:"Read Only",database:t,queryString:e,queryValues:r})}catch(e){return a({component:"varReadOnlyDatabaseDbHandler",message:e.message,noMail:!0}),e.message}if(!i)return null;{let e=i;return await l({unparsedResults:e,tableSchema:s})}}},72835:(e,t,r)=>{let{scryptSync:a,createDecipheriv:l}=r(55511),{Buffer:n}=r(79428);e.exports=({encryptedString:e,encryptionKey:t,encryptionSalt:r})=>{if(!e?.match(/./))return console.log("Encrypted string is invalid"),e;let s=t||process.env.DSQL_ENCRYPTION_PASSWORD,i=r||process.env.DSQL_ENCRYPTION_SALT,o=process.env.DSQL_ENCRYPTION_KEY_LENGTH?Number(process.env.DSQL_ENCRYPTION_KEY_LENGTH):24;if(!s?.match(/.{8,}/))return console.log("Decrption key is invalid"),e;if(!i?.match(/.{8,}/))return console.log("Decrption salt is invalid"),e;let u=l("aes-192-cbc",a(s,i,o),n.alloc(16,0));try{let t=u.update(e,"hex","utf8");return t+=u.final("utf8")}catch(t){return console.log("Error in decrypting =>",t.message),e}}},33872:(e,t,r)=>{r(55591),r(81630),e.exports=function(e){return e.replace(/\n|\r|\n\r|\r\n/gm," ").replace(/ {2,}/g," ").trim()}}};
${o}`)}catch(e){console.log("Server Error Reporting Error:",e.message)}}},96064:(e,t,r)=>{r(29021);let a=r(48225),l=r(6061),n=r(21339),s=r(44900);e.exports=async function({queryString:e,database:t,queryValuesArray:r,tableSchema:i,useLocal:o}){let u;try{u=o?await s(e,r):await n({paradigm:"Read Only",database:t,queryString:e,queryValues:r})}catch(e){return a({component:"varReadOnlyDatabaseDbHandler",message:e.message,noMail:!0}),e.message}if(!u)return null;{let e=u;return await l({unparsedResults:e,tableSchema:i})}}},72835:(e,t,r)=>{let{scryptSync:a,createDecipheriv:l}=r(55511),{Buffer:n}=r(79428);e.exports=({encryptedString:e,encryptionKey:t,encryptionSalt:r})=>{if(!e?.match(/./))return console.log("Encrypted string is invalid"),e;let s=t||process.env.DSQL_ENCRYPTION_PASSWORD,i=r||process.env.DSQL_ENCRYPTION_SALT,o=process.env.DSQL_ENCRYPTION_KEY_LENGTH?Number(process.env.DSQL_ENCRYPTION_KEY_LENGTH):24;if(!s?.match(/.{8,}/))return console.log("Decrption key is invalid"),e;if(!i?.match(/.{8,}/))return console.log("Decrption salt is invalid"),e;let u=l("aes-192-cbc",a(s,i,o),n.alloc(16,0));try{let t=u.update(e,"hex","utf8");return t+=u.final("utf8")}catch(t){return console.log("Error in decrypting =>",t.message),e}}},33872:(e,t,r)=>{r(55591),r(81630),e.exports=function(e){return e.replace(/\n|\r|\n\r|\r\n/gm," ").replace(/ {2,}/g," ").trim()}}};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -13,4 +13,4 @@ Date: ${n.toDateString()}
${d}`)}catch(e){console.log("Server Error Reporting Error:",e.message)}}},90378:(e,a,t)=>{t(29021);let s=t(89545),r=t(22373),l=t(67216),n=t(1231),o=t(88896);e.exports=async function({queryString:e,queryValuesArray:a,database:t,tableSchema:d,useLocal:i}){let c;let u=!!t?.match(/^datasquirel$/),m=i?o:u?l:n;try{c=e&&a&&Array.isArray(a)&&a[0]?u?await m(e,a):await m({paradigm:"Full Access",database:t,queryString:e,queryValues:a}):u?await m(e):await m({paradigm:"Full Access",database:t,queryString:e})}catch(e){r({component:"varDatabaseDbHandler/lines-29-32",message:e.message})}if(c&&d)try{let e=c;return await s({unparsedResults:e,tableSchema:d})}catch(e){return console.log("\x1b[31mvarDatabaseDbHandler ERROR\x1b[0m =>",t,e),r({component:"varDatabaseDbHandler/lines-52-53",message:e.message}),null}else if(c)return c;else return null}},1231:(e,a,t)=>{let s=t(29021);t(33873);let r=t(9973),l=t(31976),n=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:l()}});e.exports=function({paradigm:e,database:a,queryString:t,queryValues:o}){try{return new Promise((d,i)=>{let c=!!e?.match(/full.access|^fa$/i);try{function u(e){n.end(),d(JSON.parse(JSON.stringify(e)))}function m(e){n.end(),d({error:e.message,queryStringGenerated:t,queryValuesGenerated:o,sql:e.sql})}n=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:a,ssl:l()}}):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:a,ssl:l()}}),o&&Array.isArray(o)&&o[0]?n.query(t,o).then(u).catch(m):n.query(t).then(u).catch(m)}catch(e){s.appendFileSync("./.tmp/dbErrorLogs.txt",e.message+"\n"+Date()+"\n\n\n","utf8"),d({error:e.message})}})}catch(e){return{success:!1,error:e.message}}}},88896:(e,a,t)=>{let s=t(9973),r=t(31976);async function l(...e){let a=s({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 t=await a.query(...e);return await a.end(),JSON.parse(JSON.stringify(t))}catch(e){return console.log("DB Error =>",e.message),{success:!1,error:e.message}}}e.exports=l},87730:(e,a,t)=>{t.a(e,async(e,s)=>{try{t.r(a),t.d(a,{SingleDbUserContext:()=>D,default:()=>f,getServerSideProps:()=>S});var r=t(8732),l=t(82015),n=t.n(l),o=t(95222),d=t(20048),i=t.n(d),c=t(64098),u=t(31651),m=t.n(u),p=t(95248),h=t(67216),g=t.n(h),_=t(90378),y=t.n(_),b=e([c,p]);[c,p]=b.then?(await b)():b;let x=t(29021),D=n().createContext({});function f({user:e,database:a,table:t,dbSchemaData:s,singleUser:l,query:n,confirmedDelegetedUser:d}){let i=`${l.first_name} ${l.last_name} Users | Datasquirel"`,u=(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("title",{children:i}),(0,r.jsx)("meta",{name:"description",content:"Welcome to your data app"})]});return(0,r.jsx)(o.A,{head:u,user:e,extraHeaderContent:(0,r.jsx)(c.A,{database:a,query:n,confirmedDelegetedUser:d,user:e}),children:(0,r.jsx)(D.Provider,{value:{user:e,database:a,table:t,dbSchemaData:s,singleUser:l,query:n,confirmedDelegetedUser:d},children:(0,r.jsx)(p.A,{})})})}async function S({req:e,res:a,query:t}){let s=await i()(e,a);if(!s?.logged_in_status)return{redirect:{destination:"/logout",permanent:!1}};let r=await m()({request:e,user:s,databaseSlug:t.single,query:t});if(!r)return{redirect:{destination:"/admin",permanent:!1}};let{dbUserId:l,rootUserId:n}=r,o=await g()(`SELECT * FROM user_databases WHERE user_id='${l}' AND db_slug='${t.single}'`);if(!o||!o[0])return console.log("Database Not Found"),{redirect:{destination:`/admin/${s?.id}/databases`,permanent:!1}};let d=JSON.parse(x.readFileSync(`${process.env.DSQL_USER_DB_SCHEMA_PATH}/user-${l}/main.json`,"utf-8")),c=(d.filter(e=>e.dbFullName===o[0].db_full_name)[0]?.tables).filter(e=>"users"===e.tableName)[0],u=await y()({database:o[0].db_full_name,queryString:`SELECT * FROM users WHERE id='${t.user}'`,tableSchema:c});return u?.[0]?{props:{user:s,database:o?.[0]||null,table:c||{},dbSchemaData:d,singleUser:u?.[0]||null,query:t,confirmedDelegetedUser:r}}:{redirect:{destination:`/admin/${s?.id}/databases/${o[0].db_slug}/users`,permanent:!1}}}s()}catch(e){s(e)}})}};
${d}`)}catch(e){console.log("Server Error Reporting Error:",e.message)}}},90378:(e,a,t)=>{t(29021);let s=t(89545),r=t(22373),l=t(67216),n=t(1231),o=t(88896);e.exports=async function({queryString:e,queryValuesArray:a,database:t,tableSchema:d,useLocal:i}){let c;let u=!!i||!!t?.match(/^datasquirel$/),m=i?o:u?l:n;try{c=e&&a&&Array.isArray(a)&&a[0]?u?await m(e,a):await m({paradigm:"Full Access",database:t,queryString:e,queryValues:a}):u?await m(e):await m({paradigm:"Full Access",database:t,queryString:e})}catch(e){r({component:"varDatabaseDbHandler/lines-29-32",message:e.message})}if(c&&d)try{let e=c;return await s({unparsedResults:e,tableSchema:d})}catch(e){return console.log("\x1b[31mvarDatabaseDbHandler ERROR\x1b[0m =>",t,e),r({component:"varDatabaseDbHandler/lines-52-53",message:e.message}),null}else if(c)return c;else return null}},1231:(e,a,t)=>{let s=t(29021);t(33873);let r=t(9973),l=t(31976),n=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:l()}});e.exports=function({paradigm:e,database:a,queryString:t,queryValues:o}){try{return new Promise((d,i)=>{let c=!!e?.match(/full.access|^fa$/i);try{function u(e){n.end(),d(JSON.parse(JSON.stringify(e)))}function m(e){n.end(),d({error:e.message,queryStringGenerated:t,queryValuesGenerated:o,sql:e.sql})}n=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:a,ssl:l()}}):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:a,ssl:l()}}),o&&Array.isArray(o)&&o[0]?n.query(t,o).then(u).catch(m):n.query(t).then(u).catch(m)}catch(e){s.appendFileSync("./.tmp/dbErrorLogs.txt",e.message+"\n"+Date()+"\n\n\n","utf8"),d({error:e.message})}})}catch(e){return{success:!1,error:e.message}}}},88896:(e,a,t)=>{let s=t(9973),r=t(31976);async function l(...e){let a=s({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 t=await a.query(...e);return await a.end(),JSON.parse(JSON.stringify(t))}catch(e){return console.log("DB Error =>",e.message),{success:!1,error:e.message}}}e.exports=l},87730:(e,a,t)=>{t.a(e,async(e,s)=>{try{t.r(a),t.d(a,{SingleDbUserContext:()=>D,default:()=>f,getServerSideProps:()=>S});var r=t(8732),l=t(82015),n=t.n(l),o=t(95222),d=t(20048),i=t.n(d),c=t(64098),u=t(31651),m=t.n(u),p=t(95248),h=t(67216),g=t.n(h),_=t(90378),y=t.n(_),b=e([c,p]);[c,p]=b.then?(await b)():b;let x=t(29021),D=n().createContext({});function f({user:e,database:a,table:t,dbSchemaData:s,singleUser:l,query:n,confirmedDelegetedUser:d}){let i=`${l.first_name} ${l.last_name} Users | Datasquirel"`,u=(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("title",{children:i}),(0,r.jsx)("meta",{name:"description",content:"Welcome to your data app"})]});return(0,r.jsx)(o.A,{head:u,user:e,extraHeaderContent:(0,r.jsx)(c.A,{database:a,query:n,confirmedDelegetedUser:d,user:e}),children:(0,r.jsx)(D.Provider,{value:{user:e,database:a,table:t,dbSchemaData:s,singleUser:l,query:n,confirmedDelegetedUser:d},children:(0,r.jsx)(p.A,{})})})}async function S({req:e,res:a,query:t}){let s=await i()(e,a);if(!s?.logged_in_status)return{redirect:{destination:"/logout",permanent:!1}};let r=await m()({request:e,user:s,databaseSlug:t.single,query:t});if(!r)return{redirect:{destination:"/admin",permanent:!1}};let{dbUserId:l,rootUserId:n}=r,o=await g()(`SELECT * FROM user_databases WHERE user_id='${l}' AND db_slug='${t.single}'`);if(!o||!o[0])return console.log("Database Not Found"),{redirect:{destination:`/admin/${s?.id}/databases`,permanent:!1}};let d=JSON.parse(x.readFileSync(`${process.env.DSQL_USER_DB_SCHEMA_PATH}/user-${l}/main.json`,"utf-8")),c=(d.filter(e=>e.dbFullName===o[0].db_full_name)[0]?.tables).filter(e=>"users"===e.tableName)[0],u=await y()({database:o[0].db_full_name,queryString:`SELECT * FROM users WHERE id='${t.user}'`,tableSchema:c});return u?.[0]?{props:{user:s,database:o?.[0]||null,table:c||{},dbSchemaData:d,singleUser:u?.[0]||null,query:t,confirmedDelegetedUser:r}}:{redirect:{destination:`/admin/${s?.id}/databases/${o[0].db_slug}/users`,permanent:!1}}}s()}catch(e){s(e)}})}};