dsql-admin/dsql-app/.local_dist/server/chunks/776.js

10 lines
16 KiB
JavaScript
Raw Normal View History

2025-02-12 16:56:44 +00:00
"use strict";exports.id=776,exports.ids=[776],exports.modules={10776:(e,a,t)=>{t.d(a,{A:()=>m});var l=t(29021),r=t.n(l),i=t(66866),n=t(41864);async function d({queryString:e,queryValuesArray:a}){let t;try{t=e&&a&&Array.isArray(a)&&a[0]?await (0,n.A)({query:e,values:a}):await (0,n.A)({query:e})}catch(e){console.log("Shell Vardb Error =>",e.message)}return t}function s({columnData:e,primaryKeySet:a}){let{fieldName:t,dataType:l,nullValue:r,primaryKey:i,autoIncrement:n,defaultValue:d,defaultValueLiteral:s,onUpdateLiteral:o,notNullValue:u}=e,_="";return _+=`\`${t}\` ${l}`,r?_+=" DEFAULT NULL":s?_+=` DEFAULT ${s}`:d?String(d).match(/uuid\(\)/i)?_+=" DEFAULT UUID()":_+=` DEFAULT '${d}'`:u&&(_+=" NOT NULL"),o&&(_+=` ON UPDATE ${o}`),i&&!a&&(_+=" PRIMARY KEY",a=!0),n&&(_+=" AUTO_INCREMENT",a=!0),{fieldEntryText:_,newPrimaryKeySet:a||!1}}async function o({dbFullName:e,tableName:a,tableInfoArray:l,tableSchema:r,recordedDbEntry:i}){let o=function({tableInfoArray:e}){let a=t(95610),l=e.filter(e=>e.primaryKey);return a.forEach(a=>{let t=e.filter(e=>e.fieldName===a.fieldName);t&&t[0]||("id"!==a.fieldName||l[0]?e.push(a):e.unshift(a))}),e}({tableInfoArray:l}),u=[];u.push(`CREATE TABLE IF NOT EXISTS \`${e}\`.\`${a}\` (`);try{if(!i)throw Error("Recorded Db entry not found!");let e=await d({queryString:"SELECT * FROM datasquirel.user_database_tables WHERE db_id = ? AND table_slug = ?",queryValuesArray:[i.id,r?.tableName]}),a=e?.[0];a?.id||await (0,n.A)({query:"INSERT INTO datasquirel.user_database_tables SET ?",values:{user_id:i.user_id,db_id:i.id,db_slug:i.db_slug,table_name:r?.tableFullName,table_slug:r?.tableName,child_table:r?.childTable?"1":null,child_table_parent_database:r?.childTableDbFullName||null,child_table_parent_table:r?.childTableName||null,date_created:Date(),date_created_code:Date.now(),date_updated:Date(),date_updated_code:Date.now()}})}catch(e){}let _=!1,E=[];for(let e=0;e<o.length;e++){let a=o[e],{fieldName:t,dataType:l,nullValue:r,primaryKey:i,autoIncrement:n,defaultValue:d,defaultValueLiteral:c,foreignKey:N,updatedField:b,onUpdate:A,onUpdateLiteral:S,onDelete:f,onDeleteLiteral:T,defaultField:m,encrypted:D,json:p,newTempField:R,notNullValue:y,originName:h,plainText:L,pattern:g,patternFlags:O,richText:$}=a;N&&E.push({...a});let{fieldEntryText:C,newPrimaryKeySet:v}=s({columnData:a,primaryKeySet:_});_=v;let I=E[0]?",":e===o.length-1?"":",";u.push(" "+C+I)}E[0]&&E.forEach((e,a,t)=>{let l=e.fieldName,r=e.foreignKey?.destinationTableName,i=e.foreignKey?.destinationTableColumnName,n=e.foreignKey?.cascadeDelete,d=e.foreignKey?.cascadeUpdate,s=e.foreignKey?.foreignKeyName,o=a===E.length-1?"":",";u.push(` CONSTRAINT \`${s}\` FOREIGN KEY (\`${l}\`) REFERENCES \`${r}\`(${i})${n?" ON DELETE CASCADE":""}${d?" ON UPDATE CASCADE":""}${o}`)}),u.push(") ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;");let c=u.join("\n");return await d({queryString:c})}let u=/^id$|^uuid$|^date_created$|^date_created_code$|^date_created_timestamp$|^date_updated$|^date_updated_code$|^date_updated_timestamp$/;async function _({dbFullName:e,tableName:a,tableInfoArray:t,userId:l,dbSchema:i,tableIndexes:o,tableSchema:_,clone:E,childDb:c,tableIndex:N,tableNameFull:b,recordedDbEntry:A}){let S=[],f=t;try{let t=[];if(t.push(`ALTER TABLE \`${e}\`.\`${a}\``),c)try{if(!A)throw Error("Recorded Db entry not found!");let e=await d({queryString:"SELECT * FROM datasquirel.user_database_tables WHERE db_id = ? AND table_slug = ?",queryValuesArray:[A.id,a]}),t=e?.[0];t?.id||await (0,n.A)({query:"INSERT INTO datasquirel.user_database_tables SET ?",values:{user_id:A.user_id,db_id:A.id,db_slug:A.db_slug,table_name:b,table_slug:a,child_table:_?.childTable?"1":null,child_table_parent_database:_?.childTableDbFullName||null,child_table_parent_table:_.childTableName||null,date_created:Date(),date_created_code:Date.now(),date_updated:Date(),date_updated_code:Date.now()}})}catch(e){}let N=await d({queryString:`SHOW INDEXES FROM \`${e}\`.\`${a}\``}),T=await d({queryString:`SHOW COLUMNS FROM \`${e}\`.\`${a}\``}),m=[];for(let t=0;t<T.length;t++){let{Fi
SELECT EXISTS (
SELECT
TABLE_NAME
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA = ? AND
TABLE_NAME = ?
) AS tableExists`,queryValuesArray:[r,t.tableName]});if(c&&c[0]?.tableExists>0){if(await _({dbFullName:r,tableName:i,tableNameFull:t.tableFullName,tableInfoArray:n,userId:e,dbSchema:u,tableIndexes:E,tableIndex:a,childDb:l.childDatabase||void 0,recordedDbEntry:S,tableSchema:t}),t.childrenTables&&t.childrenTables[0])for(let a=0;a<t.childrenTables.length;a++){let r=t.childrenTables[a];await _({dbFullName:r.dbNameFull,tableName:r.tableName,tableNameFull:r.tableNameFull,tableInfoArray:n,userId:e,dbSchema:u,tableIndexes:E,clone:!0,childDb:l.childDatabase||void 0,recordedDbEntry:S,tableSchema:t})}}else await o({tableName:i,tableInfoArray:n,dbFullName:r,tableSchema:t,recordedDbEntry:S}),E?.[0]&&T({dbFullName:r,indexes:E,tableName:i});await f({dbFullName:r,dbSchema:u,tableSchema:t,dbRecord:S,userId:e})}if(c?.[0])for(let a=0;a<c.length;a++){let{dbFullName:t}=c[a];await m({userId:e,targetDatabase:t})}}}},41864:(e,a,t)=>{t.d(a,{A:()=>s});var l=t(29021),r=t.n(l),i=t(33873),n=t.n(i),d=t(7447);async function s({query:e,values:a}){let t;let l=(0,d.A)();try{t=e&&a?await l.query(e,a):await l.query(e)}catch(a){if(process.env.FIRST_RUN)return null;console.log("ERROR in dbHandler =>",a.message),console.log(a),console.log(l.config());let e=n().resolve(process.cwd(),"./.tmp");r().existsSync(e)||r().mkdirSync(e,{recursive:!0}),r().appendFileSync(n().resolve(e,"./dbErrorLogs.txt"),JSON.stringify(a,null,4)+"\n"+Date()+"\n\n\n","utf8"),t=null}finally{await l?.end()}return t?JSON.parse(JSON.stringify(t)):null}},66866:(e,a,t)=>{t.d(a,{A:()=>r});var l=t(41864);async function r(e){let a;try{a=await (0,l.A)({query:e})}catch(e){console.log("ERROR in noDatabaseDbHandler =>",e.message)}return a||null}},6346:(e,a,t)=>{t.d(a,{A:()=>i});var l=t(33873),r=t.n(l);function i(e){let a=process.env.DSQL_APP_DIR,t=process.env.DSQL_DB_SCHEMA_DIR,l=".tmp";if(!a)throw Error("Please provide the `DSQL_APP_DIR` env variable.");if(!t)throw Error("Please provide the `DSQL_DB_SCHEMA_DIR` env variable.");let i=r().join(a,"package-shared"),n=r().join(i,"types/dsql.ts"),d=r().join(t,"main.json"),s=r().join(i,"data/defaultFields.json"),o=r().join(t,"users"),u=e?.user?.id?r().join(o,`user-${e.user.id}`):e?.userId?r().join(o,`user-${e.userId}`):void 0,_=u?r().join(u,"main.json"):void 0,E=u?r().join(u,"media"):void 0,c=u?r().join(u,"export"):void 0,N=c?r().join(c,"sql"):void 0,b=N?r().join(N,l):void 0,A=b?r().join(b,"schema.json"):void 0,S="db-export.zip",f=N?r().join(N,S):void 0,T="db-export.zip",m=N?r().join(N,T):void 0;return{schemasDir:t,userDirPath:u,mainShemaJSONFilePath:d,mainDbTypeDefFile:n,tempDirName:l,defaultTableFieldsJSONFilePath:s,usersSchemaDir:o,userSchemaMainJSONFilePath:_,userPrivateMediaDir:E,userPrivateExportsDir:c,userPrivateSQLExportsDir:N,userPrivateTempSQLExportsDir:b,userPrivateTempJSONSchemaFilePath:A,userPrivateDbExportZipFileName:S,userPrivateDbExportZipFilePath:f,userPrivateDbImportZipFileName:T,userPrivateDbImportZipFilePath:m}}},59338:(e,a,t)=>{t.d(a,{A:()=>l});let l={parse:function(e,a){if(e){if("object"==typeof e)return e;if("string"==typeof e)try{return JSON.parse(e,a)}catch(e){return}}},stringify:function(e,a,t){try{return JSON.stringify(e,a||void 0,t)}catch(e){return}}}},7447:(e,a,t)=>{t.d(a,{A:()=>i});var l=t(9973),r=t.n(l);function i(e){return global.DSQL_USE_LOCAL||e?.local?global.DSQL_DB_CONN||r()({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||r()({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||r()({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(proce