orcaq 1.0.32 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/4by6-f6q.js +982 -0
- package/.output/public/_nuxt/8Ppmjv9D.js +1 -0
- package/.output/public/_nuxt/B1qjkRVO.js +1 -0
- package/.output/public/_nuxt/B3KEisfc.js +1 -0
- package/.output/public/_nuxt/B4ebLeWY.js +9 -0
- package/.output/public/_nuxt/{IitECNfD.js → B6hH0qos.js} +1 -1
- package/.output/public/_nuxt/{BUDtG__q.js → B7HEMfgt.js} +1 -1
- package/.output/public/_nuxt/B84SvUzr.js +1 -0
- package/.output/public/_nuxt/BDXvbRNW.js +1 -0
- package/.output/public/_nuxt/BGRcizqy.js +1 -0
- package/.output/public/_nuxt/{ClYziJpO.js → BGVGiigU.js} +1 -1
- package/.output/public/_nuxt/{ZdjmUBoX.js → BJYf67_H.js} +1 -1
- package/.output/public/_nuxt/BOK5ZFNK.js +1 -0
- package/.output/public/_nuxt/BPY2ud8g.js +1 -0
- package/.output/public/_nuxt/BSONoRG4.js +2 -0
- package/.output/public/_nuxt/BT53m-su.js +1 -0
- package/.output/public/_nuxt/BTJSh8in.js +2 -0
- package/.output/public/_nuxt/BVpt8J3a.js +1 -0
- package/.output/public/_nuxt/{BhUkpIlA.js → BdDEVolW.js} +1 -1
- package/.output/public/_nuxt/{C27bL9Es.js → BeNILdbT.js} +1 -1
- package/.output/public/_nuxt/{Dnx67EG9.js → BmU9CNkM.js} +1 -1
- package/.output/public/_nuxt/{DLHYqHwF.js → BnFDcr74.js} +1 -1
- package/.output/public/_nuxt/{sE-55p4e.js → BprXyYdv.js} +1 -1
- package/.output/public/_nuxt/{BCcTASq_.js → Bq7otXBA.js} +1 -1
- package/.output/public/_nuxt/{B_PBOfFN.js → BqyO8OjC.js} +93 -93
- package/.output/public/_nuxt/Bs1og3h1.js +10 -0
- package/.output/public/_nuxt/Bs2DgR_z.js +1 -0
- package/.output/public/_nuxt/{BsoQBloB.js → BvUhrUEH.js} +1 -1
- package/.output/public/_nuxt/{DkggUtNN.js → BxDrCsPf.js} +1 -1
- package/.output/public/_nuxt/BxrwrGYE.js +1 -0
- package/.output/public/_nuxt/By0aUn7N.js +1 -0
- package/.output/public/_nuxt/{C07rlnlv.js → ByOuUnNS.js} +1 -1
- package/.output/public/_nuxt/C177_GoB.js +1 -0
- package/.output/public/_nuxt/{DcfsxCxL.js → C1jMZ4hc.js} +1 -1
- package/.output/public/_nuxt/C5bgdIOp.js +1 -0
- package/.output/public/_nuxt/C69a9jD3.js +67 -0
- package/.output/public/_nuxt/C8AyZ3_X.js +2 -0
- package/.output/public/_nuxt/C8KplD68.js +1 -0
- package/.output/public/_nuxt/CA99KAte.js +3 -0
- package/.output/public/_nuxt/{CvTHaPAO.js → CE8aasoy.js} +1 -1
- package/.output/public/_nuxt/{DkY69STm.js → CEvNlevo.js} +1 -1
- package/.output/public/_nuxt/{B8JnYxjr.js → CKqvNpN3.js} +1 -1
- package/.output/public/_nuxt/CNF1h1lI.js +1 -0
- package/.output/public/_nuxt/COAycMg4.js +1 -0
- package/.output/public/_nuxt/CR6_eO9a.js +6 -0
- package/.output/public/_nuxt/{D4jn2f-6.js → CREZ9f0O.js} +4 -4
- package/.output/public/_nuxt/CS5ItJPR.js +39 -0
- package/.output/public/_nuxt/CcK14gfI.js +1 -0
- package/.output/public/_nuxt/{DnxDSFih.js → Ci43mke5.js} +3 -3
- package/.output/public/_nuxt/CjouDEjz.js +1 -0
- package/.output/public/_nuxt/Cp5lMcfd.js +1 -0
- package/.output/public/_nuxt/CpYiq1Wv.js +1 -0
- package/.output/public/_nuxt/{DVxTxYP4.js → CrLqg4B0.js} +1 -1
- package/.output/public/_nuxt/{BJxYuvXF.js → CvcedJeQ.js} +1 -1
- package/.output/public/_nuxt/{FIJP2AmN.js → Cvq07PgE.js} +1 -1
- package/.output/public/_nuxt/CwmbX4-U.js +1 -0
- package/.output/public/_nuxt/{B27ECqWz.js → Cx6s86aR.js} +1 -1
- package/.output/public/_nuxt/{DDYV6jDr.js → CybtvDjH.js} +1 -1
- package/.output/public/_nuxt/CzB2y8br.js +18 -0
- package/.output/public/_nuxt/{-p9JbKy8.js → D-YUpbah.js} +3 -3
- package/.output/public/_nuxt/D60Pzl_V.js +1 -0
- package/.output/public/_nuxt/D9BYd7AV.js +1 -0
- package/.output/public/_nuxt/D9dEqMyH.js +152 -0
- package/.output/public/_nuxt/DCJ49Fnq.js +1 -0
- package/.output/public/_nuxt/{gO22NLpn.js → DESYlybj.js} +1 -1
- package/.output/public/_nuxt/DFM-aCBX.js +1 -0
- package/.output/public/_nuxt/{DRKnK1N_.js → DHnNoguE.js} +1 -1
- package/.output/public/_nuxt/{ChkFTcxr.js → DJqZzQsX.js} +1 -1
- package/.output/public/_nuxt/DNNdcUH4.js +1 -0
- package/.output/public/_nuxt/{LFK46Fls.js → DNdM2ZyK.js} +1 -1
- package/.output/public/_nuxt/{CVliJ52o.js → DQT4eICL.js} +1 -1
- package/.output/public/_nuxt/{CffFK_qY.js → DWBoXz89.js} +1 -1
- package/.output/public/_nuxt/DXp9fCib.js +20 -0
- package/.output/public/_nuxt/{ACOLmAuq.js → DaKikgWm.js} +1 -1
- package/.output/public/_nuxt/{B9zSkyFO.js → DaMyovpr.js} +1 -1
- package/.output/public/_nuxt/DeBdxlx0.js +1 -0
- package/.output/public/_nuxt/{trZyeId5.js → DhKwXzSk.js} +1 -1
- package/.output/public/_nuxt/{C6Vqzp-9.js → DkadXn5U.js} +1 -1
- package/.output/public/_nuxt/Dkikh2OC.js +22 -0
- package/.output/public/_nuxt/DlOyXrKK.js +1 -0
- package/.output/public/_nuxt/{UqWhjgOc.js → Dpl6-lqE.js} +1 -1
- package/.output/public/_nuxt/DqA_edEU.js +1 -0
- package/.output/public/_nuxt/DqxL2Lpl.js +1 -0
- package/.output/public/_nuxt/Dt3rfvTn.js +1 -0
- package/.output/public/_nuxt/Dt5h0Tys.js +1 -0
- package/.output/public/_nuxt/DwrSZ8Vj.js +1 -0
- package/.output/public/_nuxt/DwyFZZT6.js +1 -0
- package/.output/public/_nuxt/EM8J-XL1.js +7 -0
- package/.output/public/_nuxt/ESKvsKwc.js +1 -0
- package/.output/public/_nuxt/{CWGdTiOD.js → F5lCgNdb.js} +1 -1
- package/.output/public/_nuxt/H5m89x1B.js +1 -0
- package/.output/public/_nuxt/{CwdIiq6J.js → PUe8M07P.js} +2 -2
- package/.output/public/_nuxt/{Cjgqfl1g.js → TEF-nDfP.js} +1 -1
- package/.output/public/_nuxt/{DNZpxuwM.js → TuKV3Ilv.js} +1 -1
- package/.output/public/_nuxt/V5LvXMJl.js +1 -0
- package/.output/public/_nuxt/{c_huf6xz.js → YJvNy3iu.js} +27 -27
- package/.output/public/_nuxt/{C7C8tPlA.js → ZObQcd0X.js} +1 -1
- package/.output/public/_nuxt/{CHOD7i6O.js → b_MfGg1c.js} +1 -1
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/455d4da4-6357-4478-8703-78a79ccbbc0f.json +1 -0
- package/.output/public/_nuxt/entry.qdzR7QFr.css +1 -0
- package/.output/public/_nuxt/fpuEgQ7C.js +12 -0
- package/.output/public/_nuxt/jU7fkvuR.js +1 -0
- package/.output/public/_nuxt/{CSTzT9hP.js → lHkFwi3L.js} +1 -1
- package/.output/public/_nuxt/{BQOaPJzs.js → minLMBmY.js} +1 -1
- package/.output/public/_nuxt/pQ8l8BR2.js +1 -0
- package/.output/public/_nuxt/xYXqL1eV.js +1 -0
- package/.output/public/_nuxt/xxfb8w7n.js +1 -0
- package/.output/server/chunks/_/create-adapter.mjs +36 -7
- package/.output/server/chunks/_/create-adapter.mjs.map +1 -1
- package/.output/server/chunks/_/database-error.mjs +10 -0
- package/.output/server/chunks/_/database-error.mjs.map +1 -1
- package/.output/server/chunks/_/database-roles.factory.mjs +126 -22
- package/.output/server/chunks/_/database-roles.factory.mjs.map +1 -1
- package/.output/server/chunks/_/db-connection.mjs +721 -81
- package/.output/server/chunks/_/db-connection.mjs.map +1 -1
- package/.output/server/chunks/_/functions.factory.mjs +97 -6
- package/.output/server/chunks/_/functions.factory.mjs.map +1 -1
- package/.output/server/chunks/_/instance-insights.factory.mjs +106 -7
- package/.output/server/chunks/_/instance-insights.factory.mjs.map +1 -1
- package/.output/server/chunks/_/metadata.factory.mjs +912 -43
- package/.output/server/chunks/_/metadata.factory.mjs.map +1 -1
- package/.output/server/chunks/_/native-backup-jobs.mjs +1302 -0
- package/.output/server/chunks/_/native-backup-jobs.mjs.map +1 -0
- package/.output/server/chunks/_/query.factory.mjs +536 -14
- package/.output/server/chunks/_/query.factory.mjs.map +1 -1
- package/.output/server/chunks/_/schemaMeta.type.mjs +13 -0
- package/.output/server/chunks/_/schemaMeta.type.mjs.map +1 -0
- package/.output/server/chunks/_/tables.factory.mjs +905 -37
- package/.output/server/chunks/_/tables.factory.mjs.map +1 -1
- package/.output/server/chunks/_/type-alias.constants.mjs +242 -0
- package/.output/server/chunks/_/type-alias.constants.mjs.map +1 -0
- package/.output/server/chunks/_/views.factory.mjs +106 -8
- package/.output/server/chunks/_/views.factory.mjs.map +1 -1
- package/.output/server/chunks/build/client.manifest.mjs +676 -672
- package/.output/server/chunks/build/client.manifest.mjs.map +1 -1
- package/.output/server/chunks/nitro/nitro.mjs +1046 -751
- package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
- package/.output/server/chunks/routes/api/ai/agent.mjs +30 -79
- package/.output/server/chunks/routes/api/ai/agent.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-export/export-database.mjs +26 -124
- package/.output/server/chunks/routes/api/database-export/export-database.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-export/jobs/_jobId/download.get.mjs +52 -0
- package/.output/server/chunks/routes/api/database-export/jobs/_jobId/download.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/database-export/jobs/_jobId_.get.mjs +43 -0
- package/.output/server/chunks/routes/api/database-export/jobs/_jobId_.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/database-import/import-database.mjs +69 -134
- package/.output/server/chunks/routes/api/database-import/import-database.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-import/jobs/_jobId_.get.mjs +43 -0
- package/.output/server/chunks/routes/api/database-import/jobs/_jobId_.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/database-roles/create-role.mjs +2 -0
- package/.output/server/chunks/routes/api/database-roles/create-role.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/delete-role.mjs +2 -0
- package/.output/server/chunks/routes/api/database-roles/delete-role.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-databases-with-permissions.mjs +2 -0
- package/.output/server/chunks/routes/api/database-roles/get-databases-with-permissions.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-databases.mjs +2 -0
- package/.output/server/chunks/routes/api/database-roles/get-databases.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-permissions.mjs +2 -0
- package/.output/server/chunks/routes/api/database-roles/get-permissions.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-role-inheritance.mjs +2 -0
- package/.output/server/chunks/routes/api/database-roles/get-role-inheritance.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-role.mjs +2 -0
- package/.output/server/chunks/routes/api/database-roles/get-role.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-roles.mjs +2 -0
- package/.output/server/chunks/routes/api/database-roles/get-roles.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-schema-objects.mjs +2 -0
- package/.output/server/chunks/routes/api/database-roles/get-schema-objects.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-schemas.mjs +2 -0
- package/.output/server/chunks/routes/api/database-roles/get-schemas.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/grant-bulk-permissions.mjs +2 -0
- package/.output/server/chunks/routes/api/database-roles/grant-bulk-permissions.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/grant-permission.mjs +2 -0
- package/.output/server/chunks/routes/api/database-roles/grant-permission.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/revoke-permission.mjs +2 -0
- package/.output/server/chunks/routes/api/database-roles/revoke-permission.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/definition.post.mjs +3 -1
- package/.output/server/chunks/routes/api/functions/definition.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/delete.post.mjs +3 -1
- package/.output/server/chunks/routes/api/functions/delete.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/overview.post.mjs +3 -1
- package/.output/server/chunks/routes/api/functions/overview.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/rename.post.mjs +3 -1
- package/.output/server/chunks/routes/api/functions/rename.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/signature.post.mjs +3 -1
- package/.output/server/chunks/routes/api/functions/signature.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/update.post.mjs +24 -6
- package/.output/server/chunks/routes/api/functions/update.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.post.mjs +63 -0
- package/.output/server/chunks/routes/api/index.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/instance-insights/cancel-query.post.mjs +2 -0
- package/.output/server/chunks/routes/api/instance-insights/cancel-query.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/configuration.post.mjs +2 -0
- package/.output/server/chunks/routes/api/instance-insights/configuration.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/dashboard.post.mjs +2 -0
- package/.output/server/chunks/routes/api/instance-insights/dashboard.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/drop-slot.post.mjs +2 -0
- package/.output/server/chunks/routes/api/instance-insights/drop-slot.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/replication.post.mjs +2 -0
- package/.output/server/chunks/routes/api/instance-insights/replication.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/state.post.mjs +2 -0
- package/.output/server/chunks/routes/api/instance-insights/state.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/terminate-connection.post.mjs +2 -0
- package/.output/server/chunks/routes/api/instance-insights/terminate-connection.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/toggle-slot-status.post.mjs +2 -0
- package/.output/server/chunks/routes/api/instance-insights/toggle-slot-status.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/managment-connection/health-check.mjs +10 -4
- package/.output/server/chunks/routes/api/managment-connection/health-check.mjs.map +1 -1
- package/.output/server/chunks/routes/api/metadata/erd.post.mjs +4 -0
- package/.output/server/chunks/routes/api/metadata/erd.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/metadata/meta-data.post.mjs +4 -0
- package/.output/server/chunks/routes/api/metadata/meta-data.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/metadata/reverse-schemas.post.mjs +4 -0
- package/.output/server/chunks/routes/api/metadata/reverse-schemas.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/metrics/monitor.post.mjs +80 -7
- package/.output/server/chunks/routes/api/metrics/monitor.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/query/execute.post.mjs +3 -1
- package/.output/server/chunks/routes/api/query/execute.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/query/raw-execute-stream.post.mjs +3 -1
- package/.output/server/chunks/routes/api/query/raw-execute-stream.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/query/raw-execute.post.mjs +3 -1
- package/.output/server/chunks/routes/api/query/raw-execute.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/bulk-delete.post.mjs +3 -1
- package/.output/server/chunks/routes/api/tables/bulk-delete.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/bulk-update.post.mjs +3 -1
- package/.output/server/chunks/routes/api/tables/bulk-update.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/ddl.post.mjs +3 -1
- package/.output/server/chunks/routes/api/tables/ddl.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/export.post.mjs +4 -2
- package/.output/server/chunks/routes/api/tables/export.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/indexes.post.mjs +3 -1
- package/.output/server/chunks/routes/api/tables/indexes.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/meta.post.mjs +3 -1
- package/.output/server/chunks/routes/api/tables/meta.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/overview.post.mjs +3 -1
- package/.output/server/chunks/routes/api/tables/overview.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/rls.post.mjs +3 -1
- package/.output/server/chunks/routes/api/tables/rls.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/rules.post.mjs +3 -1
- package/.output/server/chunks/routes/api/tables/rules.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/size.post.mjs +3 -1
- package/.output/server/chunks/routes/api/tables/size.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/structure.post.mjs +3 -1
- package/.output/server/chunks/routes/api/tables/structure.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/triggers.post.mjs +3 -1
- package/.output/server/chunks/routes/api/tables/triggers.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/definition.post.mjs +2 -0
- package/.output/server/chunks/routes/api/views/definition.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/dependencies.post.mjs +2 -0
- package/.output/server/chunks/routes/api/views/dependencies.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/explain.post.mjs +2 -0
- package/.output/server/chunks/routes/api/views/explain.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/indexes.post.mjs +2 -0
- package/.output/server/chunks/routes/api/views/indexes.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/meta.post.mjs +2 -0
- package/.output/server/chunks/routes/api/views/meta.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/overview.post.mjs +2 -0
- package/.output/server/chunks/routes/api/views/overview.post.mjs.map +1 -1
- package/.output/server/chunks/routes/renderer.mjs +1 -1
- package/.output/server/index.mjs +1 -1
- package/.output/server/node_modules/aws-ssl-profiles/lib/index.js +13 -0
- package/.output/server/node_modules/aws-ssl-profiles/lib/profiles/ca/defaults.js +2888 -0
- package/.output/server/node_modules/aws-ssl-profiles/lib/profiles/ca/proxies.js +111 -0
- package/.output/server/node_modules/aws-ssl-profiles/package.json +52 -0
- package/.output/server/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
- package/.output/server/node_modules/better-sqlite3/lib/database.js +90 -0
- package/.output/server/node_modules/better-sqlite3/lib/index.js +3 -0
- package/.output/server/node_modules/better-sqlite3/lib/methods/aggregate.js +43 -0
- package/.output/server/node_modules/better-sqlite3/lib/methods/backup.js +67 -0
- package/.output/server/node_modules/better-sqlite3/lib/methods/function.js +31 -0
- package/.output/server/node_modules/better-sqlite3/lib/methods/inspect.js +7 -0
- package/.output/server/node_modules/better-sqlite3/lib/methods/pragma.js +12 -0
- package/.output/server/node_modules/better-sqlite3/lib/methods/serialize.js +16 -0
- package/.output/server/node_modules/better-sqlite3/lib/methods/table.js +189 -0
- package/.output/server/node_modules/better-sqlite3/lib/methods/transaction.js +78 -0
- package/.output/server/node_modules/better-sqlite3/lib/methods/wrappers.js +54 -0
- package/.output/server/node_modules/better-sqlite3/lib/sqlite-error.js +20 -0
- package/.output/server/node_modules/better-sqlite3/lib/util.js +12 -0
- package/.output/server/node_modules/better-sqlite3/package.json +59 -0
- package/.output/server/node_modules/cpu-features/build/Release/cpufeatures.node +0 -0
- package/.output/server/node_modules/cpu-features/lib/index.js +5 -0
- package/.output/server/node_modules/cpu-features/package.json +40 -0
- package/.output/server/node_modules/denque/index.js +481 -0
- package/.output/server/node_modules/denque/package.json +58 -0
- package/.output/server/node_modules/generate-function/index.js +181 -0
- package/.output/server/node_modules/generate-function/package.json +32 -0
- package/.output/server/node_modules/iconv-lite/encodings/dbcs-codec.js +532 -0
- package/.output/server/node_modules/iconv-lite/encodings/dbcs-data.js +185 -0
- package/.output/server/node_modules/iconv-lite/encodings/index.js +23 -0
- package/.output/server/node_modules/iconv-lite/encodings/internal.js +218 -0
- package/.output/server/node_modules/iconv-lite/encodings/sbcs-codec.js +75 -0
- package/.output/server/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
- package/.output/server/node_modules/iconv-lite/encodings/sbcs-data.js +178 -0
- package/.output/server/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
- package/.output/server/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
- package/.output/server/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
- package/.output/server/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
- package/.output/server/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
- package/.output/server/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
- package/.output/server/node_modules/iconv-lite/encodings/tables/gbk-added.json +56 -0
- package/.output/server/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
- package/.output/server/node_modules/iconv-lite/encodings/utf16.js +187 -0
- package/.output/server/node_modules/iconv-lite/encodings/utf32.js +307 -0
- package/.output/server/node_modules/iconv-lite/encodings/utf7.js +283 -0
- package/.output/server/node_modules/iconv-lite/lib/bom-handling.js +48 -0
- package/.output/server/node_modules/iconv-lite/lib/helpers/merge-exports.js +13 -0
- package/.output/server/node_modules/iconv-lite/lib/index.js +182 -0
- package/.output/server/node_modules/iconv-lite/lib/streams.js +105 -0
- package/.output/server/node_modules/iconv-lite/package.json +70 -0
- package/.output/server/node_modules/is-property/is-property.js +5 -0
- package/.output/server/node_modules/is-property/package.json +36 -0
- package/.output/server/node_modules/long/package.json +58 -0
- package/.output/server/node_modules/long/umd/index.js +1622 -0
- package/.output/server/node_modules/long/umd/package.json +3 -0
- package/.output/server/node_modules/lru.min/lib/index.js +248 -0
- package/.output/server/node_modules/lru.min/package.json +87 -0
- package/.output/server/node_modules/mysql2/index.js +77 -0
- package/.output/server/node_modules/mysql2/lib/auth_41.js +95 -0
- package/.output/server/node_modules/mysql2/lib/auth_plugins/caching_sha2_password.js +115 -0
- package/.output/server/node_modules/mysql2/lib/auth_plugins/index.js +8 -0
- package/.output/server/node_modules/mysql2/lib/auth_plugins/mysql_clear_password.js +17 -0
- package/.output/server/node_modules/mysql2/lib/auth_plugins/mysql_native_password.js +34 -0
- package/.output/server/node_modules/mysql2/lib/auth_plugins/sha256_password.js +74 -0
- package/.output/server/node_modules/mysql2/lib/base/connection.js +1139 -0
- package/.output/server/node_modules/mysql2/lib/base/pool.js +343 -0
- package/.output/server/node_modules/mysql2/lib/commands/auth_switch.js +151 -0
- package/.output/server/node_modules/mysql2/lib/commands/binlog_dump.js +109 -0
- package/.output/server/node_modules/mysql2/lib/commands/change_user.js +68 -0
- package/.output/server/node_modules/mysql2/lib/commands/client_handshake.js +386 -0
- package/.output/server/node_modules/mysql2/lib/commands/close_statement.js +18 -0
- package/.output/server/node_modules/mysql2/lib/commands/command.js +54 -0
- package/.output/server/node_modules/mysql2/lib/commands/execute.js +116 -0
- package/.output/server/node_modules/mysql2/lib/commands/index.js +29 -0
- package/.output/server/node_modules/mysql2/lib/commands/ping.js +36 -0
- package/.output/server/node_modules/mysql2/lib/commands/prepare.js +143 -0
- package/.output/server/node_modules/mysql2/lib/commands/query.js +365 -0
- package/.output/server/node_modules/mysql2/lib/commands/quit.js +29 -0
- package/.output/server/node_modules/mysql2/lib/commands/register_slave.js +27 -0
- package/.output/server/node_modules/mysql2/lib/commands/reset_connection.js +29 -0
- package/.output/server/node_modules/mysql2/lib/commands/server_handshake.js +205 -0
- package/.output/server/node_modules/mysql2/lib/compressed_protocol.js +153 -0
- package/.output/server/node_modules/mysql2/lib/connection.js +12 -0
- package/.output/server/node_modules/mysql2/lib/connection_config.js +299 -0
- package/.output/server/node_modules/mysql2/lib/constants/charset_encodings.js +317 -0
- package/.output/server/node_modules/mysql2/lib/constants/charsets.js +317 -0
- package/.output/server/node_modules/mysql2/lib/constants/client.js +39 -0
- package/.output/server/node_modules/mysql2/lib/constants/commands.js +37 -0
- package/.output/server/node_modules/mysql2/lib/constants/cursor.js +9 -0
- package/.output/server/node_modules/mysql2/lib/constants/encoding_charset.js +50 -0
- package/.output/server/node_modules/mysql2/lib/constants/errors.js +3973 -0
- package/.output/server/node_modules/mysql2/lib/constants/field_flags.js +20 -0
- package/.output/server/node_modules/mysql2/lib/constants/server_status.js +44 -0
- package/.output/server/node_modules/mysql2/lib/constants/session_track.js +11 -0
- package/.output/server/node_modules/mysql2/lib/constants/ssl_profiles.js +11 -0
- package/.output/server/node_modules/mysql2/lib/constants/types.js +64 -0
- package/.output/server/node_modules/mysql2/lib/create_connection.js +10 -0
- package/.output/server/node_modules/mysql2/lib/create_pool.js +10 -0
- package/.output/server/node_modules/mysql2/lib/create_pool_cluster.js +9 -0
- package/.output/server/node_modules/mysql2/lib/helpers.js +83 -0
- package/.output/server/node_modules/mysql2/lib/packet_parser.js +195 -0
- package/.output/server/node_modules/mysql2/lib/packets/auth_next_factor.js +35 -0
- package/.output/server/node_modules/mysql2/lib/packets/auth_switch_request.js +38 -0
- package/.output/server/node_modules/mysql2/lib/packets/auth_switch_request_more_data.js +33 -0
- package/.output/server/node_modules/mysql2/lib/packets/auth_switch_response.js +30 -0
- package/.output/server/node_modules/mysql2/lib/packets/binary_row.js +95 -0
- package/.output/server/node_modules/mysql2/lib/packets/binlog_dump.js +33 -0
- package/.output/server/node_modules/mysql2/lib/packets/binlog_query_statusvars.js +115 -0
- package/.output/server/node_modules/mysql2/lib/packets/change_user.js +97 -0
- package/.output/server/node_modules/mysql2/lib/packets/close_statement.js +21 -0
- package/.output/server/node_modules/mysql2/lib/packets/column_definition.js +291 -0
- package/.output/server/node_modules/mysql2/lib/packets/encode_parameter.js +69 -0
- package/.output/server/node_modules/mysql2/lib/packets/execute.js +177 -0
- package/.output/server/node_modules/mysql2/lib/packets/handshake.js +112 -0
- package/.output/server/node_modules/mysql2/lib/packets/handshake_response.js +173 -0
- package/.output/server/node_modules/mysql2/lib/packets/index.js +154 -0
- package/.output/server/node_modules/mysql2/lib/packets/packet.js +978 -0
- package/.output/server/node_modules/mysql2/lib/packets/prepare_statement.js +27 -0
- package/.output/server/node_modules/mysql2/lib/packets/prepared_statement_header.js +16 -0
- package/.output/server/node_modules/mysql2/lib/packets/query.js +102 -0
- package/.output/server/node_modules/mysql2/lib/packets/register_slave.js +46 -0
- package/.output/server/node_modules/mysql2/lib/packets/reset_connection.js +17 -0
- package/.output/server/node_modules/mysql2/lib/packets/resultset_header.js +124 -0
- package/.output/server/node_modules/mysql2/lib/packets/ssl_request.js +25 -0
- package/.output/server/node_modules/mysql2/lib/packets/text_row.js +47 -0
- package/.output/server/node_modules/mysql2/lib/parsers/binary_parser.js +235 -0
- package/.output/server/node_modules/mysql2/lib/parsers/parser_cache.js +68 -0
- package/.output/server/node_modules/mysql2/lib/parsers/static_binary_parser.js +213 -0
- package/.output/server/node_modules/mysql2/lib/parsers/static_text_parser.js +152 -0
- package/.output/server/node_modules/mysql2/lib/parsers/string.js +50 -0
- package/.output/server/node_modules/mysql2/lib/parsers/text_parser.js +214 -0
- package/.output/server/node_modules/mysql2/lib/pool.js +12 -0
- package/.output/server/node_modules/mysql2/lib/pool_cluster.js +375 -0
- package/.output/server/node_modules/mysql2/lib/pool_config.js +34 -0
- package/.output/server/node_modules/mysql2/lib/pool_connection.js +81 -0
- package/.output/server/node_modules/mysql2/lib/promise/capture_local_err.js +25 -0
- package/.output/server/node_modules/mysql2/lib/promise/connection.js +237 -0
- package/.output/server/node_modules/mysql2/lib/promise/inherit_events.js +27 -0
- package/.output/server/node_modules/mysql2/lib/promise/make_done_cb.js +16 -0
- package/.output/server/node_modules/mysql2/lib/promise/pool.js +118 -0
- package/.output/server/node_modules/mysql2/lib/promise/pool_cluster.js +59 -0
- package/.output/server/node_modules/mysql2/lib/promise/pool_connection.js +19 -0
- package/.output/server/node_modules/mysql2/lib/promise/prepared_statement_info.js +35 -0
- package/.output/server/node_modules/mysql2/lib/server.js +37 -0
- package/.output/server/node_modules/mysql2/lib/tracing.js +81 -0
- package/.output/server/node_modules/mysql2/package.json +95 -0
- package/.output/server/node_modules/mysql2/promise.js +209 -0
- package/.output/server/node_modules/named-placeholders/index.js +179 -0
- package/.output/server/node_modules/named-placeholders/package.json +36 -0
- package/.output/server/node_modules/oracledb/index.js +27 -0
- package/.output/server/node_modules/oracledb/lib/aqDeqOptions.js +186 -0
- package/.output/server/node_modules/oracledb/lib/aqEnqOptions.js +81 -0
- package/.output/server/node_modules/oracledb/lib/aqMessage.js +149 -0
- package/.output/server/node_modules/oracledb/lib/aqQueue.js +293 -0
- package/.output/server/node_modules/oracledb/lib/connection.js +1842 -0
- package/.output/server/node_modules/oracledb/lib/constants.js +210 -0
- package/.output/server/node_modules/oracledb/lib/dbObject.js +606 -0
- package/.output/server/node_modules/oracledb/lib/errors.js +1046 -0
- package/.output/server/node_modules/oracledb/lib/future.js +53 -0
- package/.output/server/node_modules/oracledb/lib/impl/aqDeqOptions.js +206 -0
- package/.output/server/node_modules/oracledb/lib/impl/aqEnqOptions.js +89 -0
- package/.output/server/node_modules/oracledb/lib/impl/aqMessage.js +134 -0
- package/.output/server/node_modules/oracledb/lib/impl/aqQueue.js +82 -0
- package/.output/server/node_modules/oracledb/lib/impl/base.js +45 -0
- package/.output/server/node_modules/oracledb/lib/impl/connection.js +671 -0
- package/.output/server/node_modules/oracledb/lib/impl/datahandlers/buffer.js +1214 -0
- package/.output/server/node_modules/oracledb/lib/impl/datahandlers/constants.js +110 -0
- package/.output/server/node_modules/oracledb/lib/impl/datahandlers/oson.js +852 -0
- package/.output/server/node_modules/oracledb/lib/impl/datahandlers/vector.js +197 -0
- package/.output/server/node_modules/oracledb/lib/impl/dbObject.js +159 -0
- package/.output/server/node_modules/oracledb/lib/impl/index.js +59 -0
- package/.output/server/node_modules/oracledb/lib/impl/lob.js +113 -0
- package/.output/server/node_modules/oracledb/lib/impl/pool.js +230 -0
- package/.output/server/node_modules/oracledb/lib/impl/resultset.js +307 -0
- package/.output/server/node_modules/oracledb/lib/impl/sodaCollection.js +175 -0
- package/.output/server/node_modules/oracledb/lib/impl/sodaDatabase.js +82 -0
- package/.output/server/node_modules/oracledb/lib/impl/sodaDocCursor.js +64 -0
- package/.output/server/node_modules/oracledb/lib/impl/sodaDocument.js +89 -0
- package/.output/server/node_modules/oracledb/lib/impl/sodaOperation.js +110 -0
- package/.output/server/node_modules/oracledb/lib/lob.js +315 -0
- package/.output/server/node_modules/oracledb/lib/oracledb.js +1716 -0
- package/.output/server/node_modules/oracledb/lib/pool.js +873 -0
- package/.output/server/node_modules/oracledb/lib/poolStatistics.js +143 -0
- package/.output/server/node_modules/oracledb/lib/queryStream.js +119 -0
- package/.output/server/node_modules/oracledb/lib/resultset.js +368 -0
- package/.output/server/node_modules/oracledb/lib/settings.js +221 -0
- package/.output/server/node_modules/oracledb/lib/sodaCollection.js +284 -0
- package/.output/server/node_modules/oracledb/lib/sodaDatabase.js +176 -0
- package/.output/server/node_modules/oracledb/lib/sodaDocCursor.js +82 -0
- package/.output/server/node_modules/oracledb/lib/sodaDocument.js +125 -0
- package/.output/server/node_modules/oracledb/lib/sodaOperation.js +236 -0
- package/.output/server/node_modules/oracledb/lib/thin/aq.js +475 -0
- package/.output/server/node_modules/oracledb/lib/thin/connection.js +1504 -0
- package/.output/server/node_modules/oracledb/lib/thin/dbObject.js +737 -0
- package/.output/server/node_modules/oracledb/lib/thin/index.js +40 -0
- package/.output/server/node_modules/oracledb/lib/thin/lob.js +380 -0
- package/.output/server/node_modules/oracledb/lib/thin/pool.js +738 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/capabilities.js +145 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/constants.js +872 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/encryptDecrypt.js +197 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/aqArray.js +238 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/aqBase.js +305 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/aqDeq.js +164 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/aqEnq.js +135 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/auth.js +376 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/base.js +568 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/commit.js +56 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/dataType.js +401 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/execute.js +358 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/fastAuth.js +83 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/fetch.js +64 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/index.js +59 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/lobOp.js +195 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/logOff.js +52 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/ping.js +56 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/protocol.js +97 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/rollback.js +56 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/sessionRelease.js +60 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/transactionChangeState.js +99 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/transactionSwitch.js +147 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/messages/withData.js +920 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/packet.js +631 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/protocol.js +240 -0
- package/.output/server/node_modules/oracledb/lib/thin/protocol/utils.js +82 -0
- package/.output/server/node_modules/oracledb/lib/thin/resultSet.js +122 -0
- package/.output/server/node_modules/oracledb/lib/thin/sqlnet/ANO.js +438 -0
- package/.output/server/node_modules/oracledb/lib/thin/sqlnet/connStrategy.js +316 -0
- package/.output/server/node_modules/oracledb/lib/thin/sqlnet/constants.js +210 -0
- package/.output/server/node_modules/oracledb/lib/thin/sqlnet/ezConnectResolver.js +466 -0
- package/.output/server/node_modules/oracledb/lib/thin/sqlnet/navNodes.js +904 -0
- package/.output/server/node_modules/oracledb/lib/thin/sqlnet/networkSession.js +733 -0
- package/.output/server/node_modules/oracledb/lib/thin/sqlnet/ntTcp.js +609 -0
- package/.output/server/node_modules/oracledb/lib/thin/sqlnet/nvStrToNvPair.js +780 -0
- package/.output/server/node_modules/oracledb/lib/thin/sqlnet/packet.js +439 -0
- package/.output/server/node_modules/oracledb/lib/thin/sqlnet/paramParser.js +239 -0
- package/.output/server/node_modules/oracledb/lib/thin/sqlnet/sessionAtts.js +198 -0
- package/.output/server/node_modules/oracledb/lib/thin/statement.js +573 -0
- package/.output/server/node_modules/oracledb/lib/thin/statementCache.js +195 -0
- package/.output/server/node_modules/oracledb/lib/thin/util.js +254 -0
- package/.output/server/node_modules/oracledb/lib/traceHandler.js +133 -0
- package/.output/server/node_modules/oracledb/lib/transformer.js +279 -0
- package/.output/server/node_modules/oracledb/lib/types.js +592 -0
- package/.output/server/node_modules/oracledb/lib/util.js +648 -0
- package/.output/server/node_modules/oracledb/lib/version.js +36 -0
- package/.output/server/node_modules/oracledb/package.json +48 -0
- package/.output/server/node_modules/sql-escaper/lib/index.js +398 -0
- package/.output/server/node_modules/sql-escaper/package.json +81 -0
- package/.output/server/node_modules/sqlite3/build/Release/node_sqlite3.node +0 -0
- package/.output/server/node_modules/ssh2/lib/protocol/crypto/build/Release/sshcrypto.node +0 -0
- package/.output/server/package.json +14 -18
- package/package.json +2 -2
- package/.output/public/_nuxt/019vQzZn.js +0 -1
- package/.output/public/_nuxt/0lRW_xjL.js +0 -1
- package/.output/public/_nuxt/B6EI6PpE.js +0 -1
- package/.output/public/_nuxt/B9Mt45db.js +0 -1
- package/.output/public/_nuxt/BKltSiU0.js +0 -1
- package/.output/public/_nuxt/BM4vnZvX.js +0 -732
- package/.output/public/_nuxt/BNYR501z.js +0 -1
- package/.output/public/_nuxt/BVLVn__t.js +0 -9
- package/.output/public/_nuxt/BY1l0S_M.js +0 -1
- package/.output/public/_nuxt/BaseCodeEditor.SAr2eD8R.css +0 -1
- package/.output/public/_nuxt/BcvJQkv0.js +0 -1
- package/.output/public/_nuxt/BdN9B2_l.js +0 -160
- package/.output/public/_nuxt/BflvengI.js +0 -1
- package/.output/public/_nuxt/BgolbRTO.js +0 -1
- package/.output/public/_nuxt/BwISH3M4.js +0 -1
- package/.output/public/_nuxt/C-M4q4KX.js +0 -1
- package/.output/public/_nuxt/C2Ziircr.js +0 -1
- package/.output/public/_nuxt/C3NWXcpd.js +0 -39
- package/.output/public/_nuxt/C5p44jKD.js +0 -1
- package/.output/public/_nuxt/C617vhDd.js +0 -1
- package/.output/public/_nuxt/C8S0o4Gy.js +0 -1
- package/.output/public/_nuxt/CNlsVoWh.js +0 -1
- package/.output/public/_nuxt/CWkPMmwS.js +0 -2
- package/.output/public/_nuxt/Cgy4ijjN.js +0 -67
- package/.output/public/_nuxt/ClBBUcFW.js +0 -1
- package/.output/public/_nuxt/CuRyxljq.js +0 -1
- package/.output/public/_nuxt/Cx4Bnfq1.js +0 -2
- package/.output/public/_nuxt/D-H6_V16.js +0 -1
- package/.output/public/_nuxt/D-SDqguC.js +0 -1
- package/.output/public/_nuxt/D-XwprNU.js +0 -6
- package/.output/public/_nuxt/D3G5Xy_-.js +0 -1
- package/.output/public/_nuxt/D9o5Pdvp.js +0 -1
- package/.output/public/_nuxt/DFArp87o.js +0 -1
- package/.output/public/_nuxt/DFZIXzfU.js +0 -1
- package/.output/public/_nuxt/DHRNt0p9.js +0 -1
- package/.output/public/_nuxt/DLKku6fV.js +0 -1
- package/.output/public/_nuxt/DWgjNKGq.js +0 -152
- package/.output/public/_nuxt/DYm57BZk.js +0 -2
- package/.output/public/_nuxt/DaQw8gVp.js +0 -1
- package/.output/public/_nuxt/DgnsV5Qb.js +0 -1
- package/.output/public/_nuxt/Do5Fyo7J.js +0 -1
- package/.output/public/_nuxt/Dqirx7MF.js +0 -1
- package/.output/public/_nuxt/GoTwJjoS.js +0 -39
- package/.output/public/_nuxt/Hs25HoUO.js +0 -22
- package/.output/public/_nuxt/J2CvNR3L.js +0 -1
- package/.output/public/_nuxt/LK6Q8l0D.js +0 -1
- package/.output/public/_nuxt/Oh9SO2qg.js +0 -1
- package/.output/public/_nuxt/P_8UoGnr.js +0 -72
- package/.output/public/_nuxt/V5yaR3hv.js +0 -2
- package/.output/public/_nuxt/XWTuAj6n.js +0 -1
- package/.output/public/_nuxt/XqwbcqcW.js +0 -1
- package/.output/public/_nuxt/Yzrsuije.js +0 -1
- package/.output/public/_nuxt/_8UrUcVF.js +0 -1
- package/.output/public/_nuxt/builds/meta/27a307c3-bfc5-4ccd-94b8-387eb94981bb.json +0 -1
- package/.output/public/_nuxt/cKBf5-av.js +0 -1
- package/.output/public/_nuxt/entry.DeK5kcSi.css +0 -1
- package/.output/public/_nuxt/kc-op4gz.js +0 -12
- package/.output/public/_nuxt/kehy-5uo.js +0 -1
- package/.output/public/_nuxt/lSaGvORn.js +0 -10
- package/.output/public/_nuxt/lY3EyFEK.js +0 -1
- package/.output/public/_nuxt/tMhdAKU2.js +0 -3
- package/.output/public/_nuxt/uyCIL8xw.js +0 -1
- package/.output/server/node_modules/cross-spawn/index.js +0 -39
- package/.output/server/node_modules/cross-spawn/lib/enoent.js +0 -59
- package/.output/server/node_modules/cross-spawn/lib/parse.js +0 -91
- package/.output/server/node_modules/cross-spawn/lib/util/escape.js +0 -47
- package/.output/server/node_modules/cross-spawn/lib/util/readShebang.js +0 -23
- package/.output/server/node_modules/cross-spawn/lib/util/resolveCommand.js +0 -52
- package/.output/server/node_modules/cross-spawn/package.json +0 -73
- package/.output/server/node_modules/execa/index.js +0 -268
- package/.output/server/node_modules/execa/lib/command.js +0 -52
- package/.output/server/node_modules/execa/lib/error.js +0 -88
- package/.output/server/node_modules/execa/lib/kill.js +0 -115
- package/.output/server/node_modules/execa/lib/promise.js +0 -46
- package/.output/server/node_modules/execa/lib/stdio.js +0 -52
- package/.output/server/node_modules/execa/lib/stream.js +0 -97
- package/.output/server/node_modules/execa/package.json +0 -74
- package/.output/server/node_modules/get-stream/buffer-stream.js +0 -52
- package/.output/server/node_modules/get-stream/index.js +0 -61
- package/.output/server/node_modules/get-stream/package.json +0 -47
- package/.output/server/node_modules/human-signals/build/src/core.js +0 -273
- package/.output/server/node_modules/human-signals/build/src/main.js +0 -71
- package/.output/server/node_modules/human-signals/build/src/realtime.js +0 -19
- package/.output/server/node_modules/human-signals/build/src/signals.js +0 -35
- package/.output/server/node_modules/human-signals/package.json +0 -64
- package/.output/server/node_modules/is-stream/index.js +0 -28
- package/.output/server/node_modules/is-stream/package.json +0 -42
- package/.output/server/node_modules/isexe/index.js +0 -57
- package/.output/server/node_modules/isexe/mode.js +0 -41
- package/.output/server/node_modules/isexe/package.json +0 -31
- package/.output/server/node_modules/isexe/windows.js +0 -42
- package/.output/server/node_modules/merge-stream/index.js +0 -41
- package/.output/server/node_modules/merge-stream/package.json +0 -19
- package/.output/server/node_modules/mimic-fn/index.js +0 -13
- package/.output/server/node_modules/mimic-fn/package.json +0 -42
- package/.output/server/node_modules/npm-run-path/index.js +0 -47
- package/.output/server/node_modules/npm-run-path/package.json +0 -44
- package/.output/server/node_modules/onetime/index.js +0 -44
- package/.output/server/node_modules/onetime/package.json +0 -43
- package/.output/server/node_modules/path-key/index.js +0 -16
- package/.output/server/node_modules/path-key/package.json +0 -39
- package/.output/server/node_modules/pg-dump-restore/lib/common.js +0 -33
- package/.output/server/node_modules/pg-dump-restore/lib/index.js +0 -9
- package/.output/server/node_modules/pg-dump-restore/lib/pg-dump.js +0 -95
- package/.output/server/node_modules/pg-dump-restore/lib/pg-restore.js +0 -87
- package/.output/server/node_modules/pg-dump-restore/package.json +0 -66
- package/.output/server/node_modules/shebang-command/index.js +0 -19
- package/.output/server/node_modules/shebang-command/package.json +0 -34
- package/.output/server/node_modules/shebang-regex/index.js +0 -2
- package/.output/server/node_modules/shebang-regex/package.json +0 -35
- package/.output/server/node_modules/signal-exit/index.js +0 -202
- package/.output/server/node_modules/signal-exit/package.json +0 -38
- package/.output/server/node_modules/signal-exit/signals.js +0 -53
- package/.output/server/node_modules/strip-final-newline/index.js +0 -16
- package/.output/server/node_modules/strip-final-newline/package.json +0 -40
- package/.output/server/node_modules/which/package.json +0 -43
- package/.output/server/node_modules/which/which.js +0 -125
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function t(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,n=>{const x=Math.random()*16|0;return(n==="x"?x:x&3|8).toString(16)})}export{t as u};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import{aF as oa,dr as sa,r as E,ad as Te,cF as la,O as Re,c as C,d as X,ag as _n,m as N,o as b,h as a,w as f,C as v,t as V,u as e,b as P,F as L,a7 as Me,G as fe,a9 as Ae,n as Fe,j as ce,cD as We,ds as wn,dt as ct,du as Y,dv as dt,ai as tn,dw as Nt,dx as nn,dy as ra,g as _e,df as Ft,aE as ze,ax as Ve,R as Mt,a8 as wt,l as Le,ah as He,am as ia,cq as ca,p as Oe,aP as at,a2 as Ue,at as he,au as ge,A as we,i as A,av as be,aQ as an,bR as At,aN as mt,L as Ee,cp as ua,c8 as Tt,dz as da,dA as ma,dB as on,dC as sn,aO as Bt,aR as Lt,aS as Ut,aT as Vt,dp as Kt,aX as Ot,dq as Cn,aV as qt,dD as pa,dE as ln,dF as fa,da as jt,f as va,dG as ya,dH as ha,cs as Sn,_ as $e,aW as xt,al as Ct,aG as xn,dI as rn,dJ as Nn,B as ga,q as ba,s as _a,y as wa,dK as Ca,dL as Sa,dM as cn,dN as xa,dO as Na,a6 as Ta,N as Ra,dP as $a,cU as Ia,b1 as ka,J as Oa,cr as Ea,dQ as un}from"./BM4vnZvX.js";import{f as Tn,_ as Rn,e as Aa}from"./DgnsV5Qb.js";import{u as Ce,r as Ke}from"./BcvJQkv0.js";import{d as $n,c as In,u as Pa,a as Da,b as Fa,e as Ma,F as Ba,f as La,_ as Ge}from"./B_PBOfFN.js";import{m as Ua,p as Va,q as Ka,v as qa,o as Qt,b as St,e as ja}from"./GoTwJjoS.js";import{u as pt}from"./kehy-5uo.js";import{_ as kn}from"./lY3EyFEK.js";import{_ as On}from"./XWTuAj6n.js";import{_ as En}from"./BflvengI.js";import{H as ut,D as Qa,a as za,b as Ha}from"./Bdtn2mn5.js";import{d as An,t as Pn,e as Wa,f as Ga}from"./BVLVn__t.js";import{_ as Ya}from"./BhUkpIlA.js";import{_ as dn}from"./D-H6_V16.js";import{_ as zt,b as Ht,c as Wt}from"./BNYR501z.js";import{_ as Gt}from"./J2CvNR3L.js";import{_ as Dn,a as Fn,b as Mn}from"./CuRyxljq.js";import{_ as Ja}from"./0lRW_xjL.js";import{_ as Pt,c as mn,a as Et,e as pn,b as fn}from"./-p9JbKy8.js";import{f as vn,a as Xa}from"./BdN9B2_l.js";import{a as Za}from"./C3NWXcpd.js";import{C as q,_ as eo}from"./ClBBUcFW.js";import{b as Ye,a as Je}from"./BVmBXPoG.js";import{_ as qe,a as je}from"./Dqirx7MF.js";import{c as to,a as no,p as ao,b as oo}from"./DWgjNKGq.js";import{a as so}from"./-lZvfnzr.js";import"./C2Ziircr.js";import"./CWkPMmwS.js";import"./uyCIL8xw.js";const lo=h=>{if(!Array.isArray(h)||h.length===0)return;let t="";h.forEach((c,n)=>{const s=Object.entries(c).map(([m,l])=>`${l}`).join(" ");t+=s,n<h.length-1&&(t+=`
|
|
2
|
-
`)}),navigator.clipboard.writeText(t).catch(c=>{console.error("Failed to copy: ",c)})},Bn=oa("quick-query-logs",()=>{const{workspaceId:h,connectionId:t}=sa(),c=E([]),n=({tableName:y,schemaName:r})=>c.value.filter(_=>_.tableName===y&&_.schemaName===r&&_.connectionId===t.value),s=async y=>{if(!t.value||!h.value){console.error("connectionId or schemaId not found");return}let r=`
|
|
3
|
-
${y.logs}`;y.errorMessage&&(r+=`
|
|
4
|
-
-- Error: ${y.errorMessage}`);const _={...y,logs:r,connectionId:t.value,workspaceId:h.value,createdAt:la().toISOString(),id:pt()};await window.quickQueryLogsApi.create(_),c.value.push(_)},m=async({tableName:y,schemaName:r})=>{if(!t.value){console.error("connectionId or schemaId not found");return}await window.quickQueryLogsApi.delete({connectionId:t.value,tableName:y,schemaName:r}),await u(t.value)},l=async()=>{if(!t.value){console.error("connectionId not found");return}await window.quickQueryLogsApi.delete({connectionId:t.value}),await u(t.value)},u=async y=>{const r=await window.quickQueryLogsApi.getByContext({connectionId:y});c.value=r};return Te(()=>[t.value],async()=>{if(!t.value){console.error("connectionId not found");return}await u(t.value)},{deep:!0,immediate:!0}),{qqLogs:c,getLogsByTableId:n,deleteAllLogs:l,deleteLogsOfTable:m,createLog:s}},{persist:!1});function ro(h){return Va(Ka,h)}function io(h){return Ua(qa,h)}const co=({tableName:h,schemaName:t})=>{var l;const c=Re(),{data:n,status:s}=Ce("/api/tables/size",{method:"POST",body:{tableName:h,dbConnectionString:(l=c.selectedConnection)==null?void 0:l.connectionString,schema:t},key:`table-size-${h}-${t}`},"$1Ta2y3cNQa");return{tableSize:C(()=>n.value||{}),status:s}},uo={class:"gap-0 flex flex-col h-full w-full p-2"},mo={class:"flex flex-col gap-y-1"},po={class:"flex items-center justify-between w-full"},fo={class:"text-xs opacity-75"},vo={class:"flex items-center justify-between gap-4"},yo={class:"text-xs opacity-75"},ho={class:"flex items-center justify-between gap-4"},go={class:"text-xs opacity-75"},bo=["onClick"],_o={class:"flex justify-between text-xs w-full overflow-hidden"},wo=["title"],Co={class:"opacity-50 w-1/4 min-w-[100px] text-right"},So=X({__name:"QuickQueryTableSummary",props:{tableName:{},schemaName:{},columns:{},selectedColumnFieldId:{},handleSelectColumn:{type:Function},columnTypes:{}},emits:["resetSelectedCol"],setup(h,{emit:t}){const c=t,{tableSize:n}=co({tableName:h.tableName,schemaName:h.schemaName}),s=C(()=>{var l;return(((l=h.columns)==null?void 0:l.map(u=>{var r;const y=(r=h.columnTypes)==null?void 0:r.find(_=>_.name===u.field&&_.name);return y?{...u,type:(y==null?void 0:y.type)||""}:u}))||[]).slice(1)}),m=l=>l==="timestamp without time zone"?"timestamp":l||"";return _n(l=>{l(()=>{h.selectedColumnFieldId!==void 0&&c("resetSelectedCol")})}),(l,u)=>{const y=Tn,r=Rn,_=Me,w=ce;return b(),N("div",uo,[a(r,{class:"py-1 rounded-md"},{default:f(()=>[a(y,{class:"px-2"},{default:f(()=>[v("div",mo,[v("div",po,[u[0]||(u[0]=v("span",{class:"text-xs font-medium"},"Table Size:",-1)),v("span",fo,V(e(n).tableSize),1)]),v("div",vo,[u[1]||(u[1]=v("span",{class:"text-xs font-medium"},"Data Size:",-1)),v("span",yo,V(e(n).dataSize),1)]),v("div",ho,[u[2]||(u[2]=v("span",{class:"text-xs font-medium"},"Index Size:",-1)),v("span",go,V(e(n).indexSize),1)])])]),_:1})]),_:1}),a(r,{class:"mt-1 py-2 px-1 h-full overflow-y-auto custom-scrollbar rounded-md"},{default:f(()=>[a(y,{class:"px-0"},{default:f(()=>[e(s).length===0?(b(),P(_,{key:0,title:"No columns",desc:"This table has no columns to display."})):L("",!0),(b(!0),N(fe,null,Ae(e(s),d=>(b(),N("div",{key:d==null?void 0:d.field,class:Fe(["cursor-pointer hover:bg-accent/50 rounded-sm",e(Aa)(l.selectedColumnFieldId===(d==null?void 0:d.field)&&"bg-accent/90")])},[v("div",{class:"flex items-center gap-2 justify-start p-1",onClick:g=>l.handleSelectColumn(d==null?void 0:d.field)},[a(w,{name:"hugeicons:layout-3-column",class:"size-4 min-w-3"}),v("div",_o,[v("span",{class:"w-3/4 truncate max-w-[220px] overflow-hidden text-ellipsis whitespace-nowrap inline-block",title:d==null?void 0:d.headerName},V((d==null?void 0:d.headerName)||""),9,wo),v("span",Co,V(m(Array.isArray(d==null?void 0:d.type)?d==null?void 0:d.type.join(", "):d==null?void 0:d.type)),1)])],8,bo)],2))),128))]),_:1})]),_:1})])}}}),Ln=Qt({isSelect:ja().optional(),fieldName:St(),operator:St().optional(),search:St().optional()}),xo=h=>t=>h===We.POSTGRES?`$${t}`:"?",Un=h=>t=>h===We.POSTGRES?`"${t}"`:`\`${t}\``,yn=({col:h,op:t})=>({where:`${h} ${t}`,params:[]}),hn=({col:h,op:t,search:c,nextPlaceholder:n})=>{const s=c.split(",").map(l=>l.trim()).filter(Boolean);if(!s.length)return{where:"",params:[]};const m=s.map(()=>n()).join(", ");return{where:`${h} ${t} (${m})`,params:s}},gn=({col:h,op:t,search:c})=>({where:`${h} ${t} ${c}`,params:[]}),xe=({col:h,op:t,search:c,db:n,nextPlaceholder:s})=>{const m=t.toUpperCase().startsWith("NOT"),l=t.toUpperCase().startsWith("ILIKE"),u=n===We.POSTGRES&&l?"ILIKE":"LIKE";let y=c;return t.endsWith("%VALUE%")?y=`%${c}%`:t.endsWith("%VALUE")?y=`%${c}`:t.endsWith("VALUE%")&&(y=`${c}%`),{where:`${h}::TEXT ${m?" NOT ":" "}${u} ${s()}`,params:[y]}},nt=({col:h,op:t,search:c,nextPlaceholder:n})=>({where:`${h} ${t} ${n()}`,params:[c]}),Vn={[Y.IS_NULL]:yn,[Y.IS_NOT_NULL]:yn,[Y.IN]:hn,[Y.NOT_IN]:hn,[Y.BETWEEN]:gn,[Y.NOT_BETWEEN]:gn,[Y.LIKE]:xe,[Y.ILIKE]:xe,[Y.LIKE_CONTAINS]:xe,[Y.LIKE_PREFIX]:xe,[Y.LIKE_SUFFIX]:xe,[Y.ILIKE_CONTAINS]:xe,[Y.ILIKE_PREFIX]:xe,[Y.ILIKE_SUFFIX]:xe,[Y.NOT_LIKE_CONTAINS]:xe,[Y.NOT_LIKE_PREFIX]:xe,[Y.NOT_LIKE_SUFFIX]:xe,[Y.NOT_ILIKE_CONTAINS]:xe,[Y.NOT_ILIKE_PREFIX]:xe,[Y.NOT_ILIKE_SUFFIX]:xe,[Y.EQUAL]:nt,[Y.NOT_EQUAL]:nt,[Y.LESS]:nt,[Y.GREATER]:nt,[Y.LESS_EQUAL]:nt,[Y.GREATER_EQUAL]:nt};function No({search:h,columns:t,db:c,op:n,nextPlaceholder:s}){const m=Un(c),l=Vn[n],u=[],y=[];return t.forEach(r=>{const _=m(r),w=l({col:_,op:n,search:h,db:c,nextPlaceholder:s});w.where&&(u.push(w.where),y.push(...w.params))}),{where:u.length?`(${u.join(" OR ")})`:"",params:y}}function To({filters:h,db:t,columns:c=[],composeWith:n=dt.AND}){const s=[],m=[];let l=1;const u=xo(t),y=()=>u(l++),r=Un(t),_=({where:d,params:g})=>{d&&(s.push(d),m.push(...g))},w=new Set(wn[t].map(d=>d.value.toUpperCase()));return h.forEach(d=>{if(!(d!=null&&d.isSelect))return;const g=Ln.parse(d);if(g.fieldName===ct.AnyField){const S=No({search:g.search||"",columns:c,db:t,op:g.operator,nextPlaceholder:y});S.where&&(s.push(S.where),m.push(...S.params));return}if(g.fieldName===ct.RawQuery){if(!g.search)return;s.push(`(${g.search})`);return}const o=r(g.fieldName),p=(g.operator??Y.LIKE_CONTAINS).toUpperCase(),i=w.has(p)?p:Y.LIKE_CONTAINS;_(Vn[i]({col:o,op:i,search:g.search??"",db:t,nextPlaceholder:y}))}),{where:s.length?`WHERE ${s.join(` ${n} `)}`:"",params:m}}function Dt({filters:h,db:t,columns:c=[],composeWith:n}){const{where:s,params:m}=To({filters:h,db:t,columns:c,composeWith:n});if(!s)return"";const l=u=>u===null?"NULL":typeof u=="number"?String(u):`'${String(u).replace(/'/g,"''")}'`;if(t===We.POSTGRES){let u=s;return m.forEach((y,r)=>{u=u.replace(new RegExp(`\\$${r+1}\\b`,"g"),l(y))}),u}else{let u=0;return s.replace(/\?/g,()=>l(m[u++]))}}function Ro(h){const t=h.toUpperCase().trim();return t==="IS NULL"||t==="IS NOT NULL"?"":t==="IN"||t==="NOT IN"?"value1,value2,value3":t==="BETWEEN"||t==="NOT BETWEEN"?"value1 AND value2":t.includes("LIKE")?t.endsWith("%VALUE%")?"contains":t.endsWith("VALUE%")?"prefix*":t.endsWith("%VALUE")?"*suffix":"pattern":"value"}function $o({schemaName:h,tableName:t,pKeys:c,update:n,pKeyValue:s}){if(!t||!(c!=null&&c.length)||!n||!Object.keys(n).length)throw new Error("Invalid input: tableName, pKeys, and update object are required");const m=Object.entries(n).map(([y,r])=>r===null?`"${y}" = NULL`:typeof r=="string"?`"${y}" = '${r.replace(/'/g,"''")}'`:`"${y}" = ${r}`).join(", "),l=c.map(y=>`"${y}" = '${s[y]}'`).join(" AND ");return`UPDATE "${h}"."${t}" SET ${m} WHERE ${l}`}function Io({schemaName:h,tableName:t,pKeys:c,pKeyValue:n}){if(!t||!(c!=null&&c.length))throw new Error("Invalid input: tableName and pKeys are required");const s=c.map(l=>`"${l}" = '${n[l]}'`).join(" AND ");return`DELETE FROM "${h}"."${t}" WHERE ${s}`}function ko({schemaName:h,tableName:t,insertData:c}){if(!t||!c)throw new Error("Invalid input: tableName, insertData object are required");const n=Object.entries(c).map(([l])=>`"${l}"`).join(", "),s=Object.values(c).map(l=>l===null?"NULL":typeof l=="string"?`'${l.replace(/'/g,"''")}'`:l).join(", ");return`INSERT INTO "${h}"."${t}" (${n}) VALUES (${s})`}function Kn(h){const t=h.toLowerCase();if(t.startsWith("_"))return`${Kn(t.substring(1))}[]`;switch(t){case"char":case"varchar":case"text":case"uuid":case"citext":case"money":case"inet":case"cidr":case"macaddr":case"macaddr8":case"tsvector":case"tsquery":case"xml":case"bytea":return"string";case"int2":case"int4":case"int8":case"numeric":case"float4":case"float8":case"decimal":case"oid":return"number";case"bool":case"boolean":return"boolean";case"json":case"jsonb":return"any";case"date":case"timestamp":case"timestamptz":case"time":case"timetz":case"interval":return"string";case"bit":case"varbit":return"string";default:return"unknown"}}const qn=({tableName:h,connection:t,primaryKeys:c,columns:n,isPersist:s=!0,schemaName:m,workspaceId:l,connectionId:u,initFilters:y,initComposeWith:r})=>{const _=Bn(),w=E(!1),d=E(""),g=tn({limit:Nt,offset:0}),o=E([]),p=tn({}),i=E(!1),S=E(dt.AND),T=C(()=>`${nn} "${m}"."${h}"`),ee=C(()=>i.value?Dt({columns:n.value,db:We.POSTGRES,filters:o.value,composeWith:S.value}):""),oe=C(()=>{let k="";p!=null&&p.columnName&&(p!=null&&p.order)?k=`ORDER BY "${p.columnName}" ${p.order}`:c.value[0]?k=`ORDER BY "${c.value[0]}" ASC`:k=`ORDER BY "${n.value[0]}" ASC`;const H=`LIMIT ${g.limit}`,ae=`OFFSET ${g.offset}`;return`${nn} "${m}"."${h}" ${ee.value||""} ${k} ${H} ${ae}`}),j=C(()=>`${ra} "${m}"."${h}" ${ee.value||""}`),ue=(k,H=0,ae,ve)=>{_.createLog({tableName:h,schemaName:m,logs:k,queryTime:H,error:ae,errorMessage:ve})},{data:de,status:$,refresh:O}=Ce("/api/query/execute",{method:"POST",body:{query:oe,..._e(t.value)},watch:!1,immediate:!1,key:h,cache:"default",onResponseError:k=>{var ae,ve,pe,W;const H=(ve=(ae=k.response)==null?void 0:ae._data)==null?void 0:ve.data;w.value=!0,d.value=((W=(pe=k.response)==null?void 0:pe._data)==null?void 0:W.message)||"",ue(oe.value,0,H,d.value)},onResponse:({response:k})=>{var H;k.ok&&ue(oe.value,(H=k._data)==null?void 0:H.queryTime)}},"$CR5sijiGqB"),{refresh:z,data:me,status:Se}=Ce("/api/query/execute",{method:"POST",body:{query:j,..._e(t.value)},watch:!1,immediate:!1,key:`${h}-count`,cache:"default",onResponse:({response:k})=>{var H;k.ok&&ue(j.value,(H=k._data)==null?void 0:H.queryTime)}},"$2oQhQUxDSL"),ye=C(()=>{var k,H,ae;return Number(((ae=(H=(k=me.value)==null?void 0:k.result)==null?void 0:H[0])==null?void 0:ae.count)||0)}),I=C(()=>g.offset+g.limit<ye.value),x=C(()=>g.offset>0),R=({limit:k,offset:H})=>{k<=0||H<0||(g.limit=k,g.offset=H,O())},D=({columnName:k,order:H})=>{p.columnName=k,p.order=H,O()},G=()=>{I&&(g.offset+=g.limit,O())},F=()=>{if(!x)return;const k=g.offset-g.limit;k<0?g.offset=0:g.offset=k,O()},M=k=>{S.value=k,g.offset=0,O(),z()},B=()=>{g.offset=0,O(),z()},U=()=>`${l==null?void 0:l.value}-${u==null?void 0:u.value}-${m}-${h}`;Te([o,g,p,i],$n(()=>{if(!s)return;const k=U();localStorage.setItem(k,JSON.stringify({filters:o.value,pagination:g,orderBy:p,isShowFilters:i.value,composeWith:S.value}))},Ft),{deep:!0}),(()=>{if(!s){y&&(o.value=y,i.value=!0),r&&(S.value=r);return}const k=U(),H=localStorage.getItem(k);if(H){const{filters:ae,pagination:ve,orderBy:pe,isShowFilters:W,composeWith:le}=JSON.parse(H);pe&&(p.columnName=pe.columnName,p.order=pe.order),ve&&(g.limit=ve.limit,g.offset=ve.offset),ae&&(o.value=ae),le&&(S.value=le),i.value=!!W}})();const ie=C(()=>$.value==="pending"),se=C(()=>{var k;return((k=de.value)==null?void 0:k.result)||[]});return{whereClauses:ee,pagination:g,queryString:oe,onUpdatePagination:R,isAllowNextPage:I,isAllowPreviousPage:x,onNextPage:G,onPreviousPage:F,queryCountString:j,data:se,isFetchingTableData:ie,refreshTableData:O,refreshCount:z,totalRows:ye,onApplyNewFilter:B,baseQueryString:T,openErrorModal:w,onUpdateOrderBy:D,orderBy:p,errorMessage:d,filters:o,addHistoryLog:ue,isShowFilters:i,onChangeComposeWith:M,composeWith:S}};var te=(h=>(h.Data="Data",h.Structure="Structure",h.Erd="Erd",h))(te||{});const jn=()=>{const h=E(),t=E(),c=E([]),n=E(void 0),s=E(!1);return{quickQueryFilterRef:h,quickQueryTableRef:t,selectedRows:c,isMutating:s,focusedCell:n}};function Qn(h){const{tableName:t,schemaName:c,primaryKeys:n,columnNames:s,data:m,selectedRows:l,pagination:u,addHistoryLog:y,refreshTableData:r,refreshCount:_,openErrorModal:w,errorMessage:d,quickQueryTableRef:g,focusedCell:o,safeModeEnabled:p,onRequestSafeModeConfirm:i,connection:S}=h,T=E(!1),ee=async()=>{var x;const I=(x=g.value)==null?void 0:x.gridApi;I&&(I==null||I.deselectAll(),I==null||I.clearFocusedCell(),_(),r())},oe=I=>{l.value=I},j=I=>{o&&(o.value=I)},ue=async()=>{var R,D,G,F;if(!m.value||!((D=(R=g.value)==null?void 0:R.editedCells)!=null&&D.length)){ze.info("No changes to save.");return}const I=(G=g.value)==null?void 0:G.editedCells,x=[];if(I.forEach(M=>{var se;const B=!!Object.keys(M.changedData).length,U=(se=m.value)==null?void 0:se[M.rowId],ne=B&&U,ie=B&&!U;if(ne){const k=$o({tableName:t,schemaName:c,update:M.changedData,pKeys:n.value,pKeyValue:U});x.push(k)}else if(ie){const k=ko({tableName:t,schemaName:c,insertData:M.changedData});x.push(k)}}),!x.length){ze.info("No valid changes to save.");return}if(!(p!=null&&p.value&&i&&!await i(x.join(`
|
|
5
|
-
`),"save"))){T.value=!0;try{const{queryTime:M}=await $fetch("/api/tables/bulk-update",{method:"POST",body:{sqlUpdateStatements:x,..._e(S.value)},onResponseError({response:B}){var ie,se,k;const U=(se=(ie=B==null?void 0:B._data)==null?void 0:ie.data)==null?void 0:se.driverError,ne=(k=B==null?void 0:B._data)==null?void 0:k.message;w.value=!0,console.error("Error during bulk update:",B==null?void 0:B._data),d.value=ne||"An unknown error occurred during update.",y(x.join(`
|
|
6
|
-
`),0,U,ne)}});(F=g.value)!=null&&F.editedCells&&(g.value.editedCells=[]),y(x.join(`
|
|
7
|
-
`),M),_(),r(),ze.success("Data saved successfully!")}catch(M){console.error("Fetch error in onSaveData:",M)}finally{T.value=!1}}},de=async()=>{var x,R;if(!l.value.length){ze.info("No rows selected for deletion.");return}const I=[];if(l.value.forEach(D=>{const G=Io({tableName:t,schemaName:c,pKeys:n.value,pKeyValue:D});I.push(G)}),!(p!=null&&p.value&&i&&!await i(I.join(`
|
|
8
|
-
`),"delete"))){T.value=!0;try{const{queryTime:D}=await $fetch("/api/tables/bulk-delete",{method:"POST",body:{sqlDeleteStatements:I,..._e(S.value)},onResponseError({response:F}){var U,ne,ie;const M=(ne=(U=F==null?void 0:F._data)==null?void 0:U.data)==null?void 0:ne.driverError,B=(ie=F==null?void 0:F._data)==null?void 0:ie.message;w.value=!0,d.value=B||"An unknown error occurred during deletion.",y(I.join(`
|
|
9
|
-
`),0,M,B)}});if(((x=l.value)==null?void 0:x.length)===((R=m.value)==null?void 0:R.length)&&u.offset>0){const F=u.offset-u.limit;u.offset=F>0?F:0}y(I.join(`
|
|
10
|
-
`),D||0),_(),r(),ze.success("Rows deleted successfully!")}catch(D){console.error("Fetch error in onDeleteRows:",D)}finally{T.value=!1}}},$=()=>{var F;const I=(F=g.value)==null?void 0:F.gridApi;if(!I){ze.error("Table grid API not available to add row.");return}let x=0;I.forEachNode(()=>x++);const R=x,D={[ut]:R+1,...Object.fromEntries(s.value.map(M=>[M,void 0]))};I.applyTransaction({add:[D],addIndex:R}),I.setFocusedCell(R,s.value[0]);const G=I.getRowNode(R.toString());G&&(I.deselectAll(),G.setSelected(!0),ze.message("Empty row added. Please fill in data and save."))},O=C(()=>{var x;let I=0;return(x=g.value)==null||x.editedCells.forEach(R=>{Object.keys(R.changedData).length&&I++}),!!I});return{onAddEmptyRow:$,onDeleteRows:de,onSaveData:ue,isMutating:T,hasEditedRows:O,onCopyRows:()=>{const I=l.value;if(!I)return;const x=I.map(R=>{var G;const D=((R==null?void 0:R[ut])||1)-1;return(G=m.value)==null?void 0:G[D]});lo(x)},onPasteRows:async()=>{var R,D;const I=(R=g.value)==null?void 0:R.gridApi;if(!I)return;const x=I.getFocusedCell();x&&(x==null||x.rowIndex,(D=x==null?void 0:x.column)==null||D.getColId(),await navigator.clipboard.readText())},onRefresh:ee,onSelectedRowsChange:oe,onCopySelectedCell:async()=>{o!=null&&o.value&&await navigator.clipboard.writeText(In(o.value)||"")},onFocusedCellChange:j,onDeselectAll:()=>{var x;(x=g.value)!=null&&x.gridApi}}}const zn=({tableName:h,schemaName:t,connectionId:c,tabViewType:n})=>{const s=Ve(),{schemas:m}=Mt(s),l=C(()=>{const o=m.value[c];if(o)return o.find(p=>p.name===t)}),u=C(()=>{var o,p,i,S;switch(n){case wt.TableDetail:return(p=(o=l.value)==null?void 0:o.tableDetails)==null?void 0:p[h];case wt.ViewDetail:{const T=(S=(i=l.value)==null?void 0:i.viewDetails)==null?void 0:S[h];return{columns:T==null?void 0:T.columns,foreign_keys:[],primary_keys:[],table_id:T==null?void 0:T.view_id}}default:return null}}),y=C(()=>n===wt.ViewDetail),r=C(()=>{var o,p;return((p=(o=u.value)==null?void 0:o.columns)==null?void 0:p.map(i=>i.name))||[]}),_=C(()=>{var o;return(((o=u.value)==null?void 0:o.foreign_keys)||[]).map(p=>p.column)}),w=C(()=>{var o;return((o=u.value)==null?void 0:o.foreign_keys)||[]}),d=C(()=>{var o;return(((o=u.value)==null?void 0:o.primary_keys)||[]).map(p=>p.column)}),g=C(()=>{var o,p;return((p=(o=u.value)==null?void 0:o.columns)==null?void 0:p.map(i=>({name:i.name,type:i.short_type_name})))||[]});return{primaryKeyColumns:d,foreignKeys:w,columnNames:r,tableMetaData:u,columnTypes:g,foreignKeyColumns:_,isVirtualTable:y}},Yt=({schemaName:h,tableName:t})=>{const c=Ve(),{activeReservedSchemas:n}=Mt(c),s=C(()=>(n.value||[]).find(y=>y.table===t&&y.schema===h)),m=C(()=>{var y,r;const u=new Map;return(r=(y=s.value)==null?void 0:y.used_by)==null||r.forEach(_=>{u.set(_.referenced_column,!0)}),u});return{activeReservedSchemas:n,reverseTables:s,isHaveRelationByFieldName:u=>m.value.has(u)}};function Hn(){const h=E(!1),t=E(""),c=E("save");let n=null;return{safeModeDialogOpen:h,safeModeDialogSql:t,safeModeDialogType:c,onRequestSafeModeConfirm:(u,y)=>new Promise(r=>{t.value=u,c.value=y,h.value=!0,n=r}),onSafeModeConfirm:()=>{n&&(n(!0),n=null),h.value=!1},onSafeModeCancel:()=>{n&&(n(!1),n=null),h.value=!1}}}const Oo=["for"],Eo=["for"],Ao=X({__name:"DynamicForm",props:{fields:{},validationSchema:{},class:{}},setup(h,{expose:t}){const c=h,n=An({validationSchema:Pn(c.validationSchema),name:`dynamic-form-${pt()}`});return t({form:n}),(s,m)=>(b(),N("div",{class:Fe(c.class)},[(b(!0),N(fe,null,Ae(s.fields,l=>Le((b(),N("div",{key:l.name},[v("div",{class:Fe(["flex justify-between pb-0.5",l.titleClass])},[v("label",{class:"text-xs text-right",for:l.name},V(l.label),9,Oo),v("label",{class:"text-xs text-right text-primary/80",for:l.name},V(l.type),9,Eo)],2),a(e(Wa),{as:l.as,id:l.name,name:l.name,class:Fe(l.class),placeholder:l.placeholder},null,8,["as","id","name","class","placeholder"])])),[[He,l.isShow]])),128))],2))}}),Po={class:"p-2 pb-0"},Do={class:"relative w-full"},Fo={class:"absolute left-1.5 top-1.5 w-4"},Mo=X({__name:"PreviewSelectedRow",props:{columnTypes:{},selectedRow:{}},setup(h){const t=h,c=C(()=>{const _={};return t.columnTypes.forEach(w=>{const d=Kn(w.type);d==="boolean"?_[w.name]=io().optional():d==="number"?_[w.name]=ro().optional():_[w.name]=St().optional()}),_}),n=ia(""),s=ca(n,Ft),m=C(()=>{const _=[],w=s.value.toLowerCase().trim();return t.columnTypes.forEach(d=>{const g=d.name.toLowerCase(),o=w?g.includes(w):!0;_.push({label:d.name,type:d.type,as:Ya,name:d.name,class:"px-1 py-0.5 h-fit min-h-6! text-primary/80 font-normal!",placeholder:"NULL",isShow:o})}),_}),l=C(()=>{const _=s.value.toLowerCase().trim();return _?!t.columnTypes.some(w=>w.name.toLowerCase().includes(_)):!1}),u=C(()=>Qt(c.value)),y=E(),r=_=>{const w=Object.entries(_).reduce((d,[g,o])=>(d[g]=In(o||""),d),{});Ue(()=>{var d;(d=y.value)==null||d.form.setValues(w)})};return Te(()=>[t.selectedRow,y],([_])=>{_&&r(_)},{immediate:!0,deep:!0}),(_,w)=>{const d=ce,g=at;return b(),N(fe,null,[v("div",Po,[v("div",Do,[v("div",Fo,[a(d,{name:"lucide:search",class:"stroke-3!"})]),a(g,{type:"text",placeholder:"Search fields ...",class:"pr-6 pl-6 w-full h-8",modelValue:e(n),"onUpdate:modelValue":w[0]||(w[0]=o=>Oe(n)?n.value=o:null)},null,8,["modelValue"]),e(n)?(b(),N("div",{key:0,class:"absolute right-2 top-1.5 w-4 cursor-pointer rounded-md hover:bg-accent",onClick:w[1]||(w[1]=o=>n.value="")},[a(d,{name:"lucide:x",class:"stroke-3! text-muted-foreground"})])):L("",!0)])]),e(l)?(b(),P(e(Me),{key:0,title:"No results",desc:"No fields match your search."})):(b(),P(Ao,{key:1,ref_key:"dynamicForm",ref:y,class:"space-y-1 p-2 overflow-y-auto",fields:e(m),"validation-schema":e(u)},null,8,["fields","validation-schema"]))],64)}}}),Bo={class:"grid gap-3"},Lo={class:"grid gap-2"},Uo={class:"grid grid-cols-3 items-center gap-4"},Vo={class:"grid grid-cols-3 items-center gap-4"},Ko={class:"flex justify-center"},qo=X({__name:"QuickPagination",props:{limit:{},offset:{},totalRows:{}},emits:["onPaginate"],setup(h,{emit:t}){const c=h,n=t,s=E(0),m=E(0),l=E(!1),u=()=>{s.value=c.limit,m.value=c.offset},y=()=>{if(m.value>c.totalRows){m.value=c.totalRows-1;return}m.value<0&&(m.value=c.offset)},r=()=>{if(s.value>c.totalRows){s.value=c.totalRows;return}s.value<0&&(s.value=c.limit)},_=()=>{y(),r(),n("onPaginate",{limit:s.value,offset:m.value}),l.value=!1};return(w,d)=>(b(),P(e(he),null,{default:f(()=>[a(e(Dn),{open:l.value,"onUpdate:open":d[2]||(d[2]=g=>l.value=g)},{default:f(()=>[a(e(Fn),{"as-child":""},{default:f(()=>[a(e(ge),{"as-child":""},{default:f(()=>[a(e(we),{onClick:u,variant:"outline",size:"xxs"},{default:f(()=>[A(V(w.limit),1)]),_:1})]),_:1}),a(e(be),null,{default:f(()=>d[3]||(d[3]=[v("p",null,"Pagination settings",-1)])),_:1})]),_:1}),a(e(Mn),{class:"w-64"},{default:f(()=>[v("div",Bo,[d[7]||(d[7]=v("div",{class:"space-y-2"},[v("h4",{class:"font-medium leading-none"},"Pagination"),v("p",{class:"text-sm text-muted-foreground"},"Set limit and offset")],-1)),v("div",Lo,[v("div",Uo,[a(e(an),{for:"limit"},{default:f(()=>d[4]||(d[4]=[A("Limit")])),_:1}),a(e(at),{id:"limit",type:"number",modelValue:s.value,"onUpdate:modelValue":d[0]||(d[0]=g=>s.value=g),modelModifiers:{number:!0},class:"col-span-2 h-6",min:"1",onBlur:r,onKeyup:At(_,["enter"])},null,8,["modelValue"])]),v("div",Vo,[a(e(an),{for:"offset"},{default:f(()=>d[5]||(d[5]=[A("Offset")])),_:1}),a(e(at),{id:"offset",type:"number",modelValue:m.value,"onUpdate:modelValue":d[1]||(d[1]=g=>m.value=g),modelModifiers:{number:!0},class:"col-span-2 h-6",min:"0",onBlur:y,onKeyup:At(_,["enter"])},null,8,["modelValue"])])]),v("div",Ko,[a(e(we),{size:"xs",class:"px-6",onClick:_},{default:f(()=>d[6]||(d[6]=[A("Go")])),_:1})])])]),_:1})]),_:1},8,["open"])]),_:1}))}}),jo=X({__name:"RefreshButton",emits:["onRefresh"],setup(h,{emit:t}){const c=t,n=E(0),s=()=>{n.value+=360,c("onRefresh")};return mt([{key:"meta+r",callback:()=>{s()}}],{isPreventDefault:!0}),(m,l)=>(b(),P(e(he),null,{default:f(()=>[a(e(ge),{"as-child":""},{default:f(()=>[a(e(we),{variant:"outline",size:"xxs",onClick:s,"aria-label":"Refresh table"},{default:f(()=>[a(e(ce),{name:"hugeicons:refresh",style:Ee({transform:`rotate(${n.value}deg)`}),class:"icon-transition"},null,8,["style"]),a(e(Gt),null,{default:f(()=>l[0]||(l[0]=[A("⌘R")])),_:1})]),_:1})]),_:1}),a(e(be),null,{default:f(()=>l[1]||(l[1]=[v("p",null,"Refresh data",-1)])),_:1})]),_:1}))}}),Qo=ua(jo,[["__scopeId","data-v-d56d89e4"]]),zo={key:0,class:"flex items-center gap-1"},Ho={key:1,class:"font-normal text-xs text-primary/60"},Wo={key:2,class:"font-normal text-sm text-primary"},Go={key:1},Yo={key:2,class:"flex items-center gap-2"},Jo={class:"font-normal text-sm text-primary/80"},Xo={key:3},Zo={class:"flex items-center gap-1"},Wn=X({__name:"QuickQueryControlBar",props:{isAllowNextPage:{type:Boolean},isAllowPreviousPage:{type:Boolean},totalRows:{},limit:{},offset:{},currentTotalRows:{},totalSelectedRows:{},hasEditedRows:{type:Boolean},tabView:{},isViewVirtualTable:{type:Boolean}},emits:["onRefresh","onPaginate","onNextPage","onPreviousPage","onShowFilter","onSaveData","onAddEmptyRow","onDeleteRows","onToggleHistoryPanel","update:tabView"],setup(h,{emit:t}){const c=Tt(),{openSettings:n}=ma(),s=h,m=t,l=E(),u=C(()=>s.tabView===te.Data);return(y,r)=>{const _=Gt,w=we,d=Wt,g=Ht,o=zt,p=da("auto-animate");return b(),N("div",{ref_key:"quickQueryControlBarRef",ref:l,class:Fe(["w-full select-none h-9 flex items-center justify-between"])},[e(u)?Le((b(),N("div",zo,[a(e(he),null,{default:f(()=>[a(e(ge),{"as-child":""},{default:f(()=>[a(w,{variant:"outline",size:"xxs",onClick:r[0]||(r[0]=i=>m("onShowFilter"))},{default:f(()=>[a(e(ce),{name:"lucide:filter"}),a(_,null,{default:f(()=>r[12]||(r[12]=[A("⌘F")])),_:1})]),_:1})]),_:1}),a(e(be),null,{default:f(()=>r[13]||(r[13]=[v("p",null,"Filter data",-1)])),_:1})]),_:1}),a(Qo,{onOnRefresh:r[1]||(r[1]=i=>m("onRefresh"))}),L("",!0),a(e(he),null,{default:f(()=>[a(e(ge),{"as-child":""},{default:f(()=>[a(w,{variant:"outline",size:"xxs",onClick:r[3]||(r[3]=i=>m("onToggleHistoryPanel"))},{default:f(()=>[a(e(ce),{name:"lucide:terminal"}),a(_,null,{default:f(()=>r[15]||(r[15]=[A("⌘j")])),_:1})]),_:1})]),_:1}),a(e(be),null,{default:f(()=>r[16]||(r[16]=[v("p",null,"History logs",-1)])),_:1})]),_:1}),y.totalSelectedRows?(b(),N("p",Ho," Selected ")):L("",!0),y.totalSelectedRows?(b(),N("p",Wo,V(y.totalSelectedRows),1)):L("",!0),y.hasEditedRows&&!y.isViewVirtualTable?(b(),P(e(he),{key:3},{default:f(()=>[a(e(ge),{"as-child":""},{default:f(()=>[a(w,{variant:"outline",size:"xxs",onClick:r[4]||(r[4]=i=>m("onSaveData"))},{default:f(()=>[a(e(ce),{name:"lucide:save"}),a(_,null,{default:f(()=>r[17]||(r[17]=[A("⌘S")])),_:1})]),_:1})]),_:1}),a(e(be),null,{default:f(()=>r[18]||(r[18]=[v("p",null,"Save changes",-1)])),_:1})]),_:1})):L("",!0),y.totalSelectedRows&&!y.isViewVirtualTable?(b(),P(e(he),{key:4},{default:f(()=>[a(e(ge),{"as-child":""},{default:f(()=>[a(w,{variant:"outline",size:"xxs",onClick:r[5]||(r[5]=i=>m("onDeleteRows"))},{default:f(()=>[a(e(ce),{name:"lucide:trash"}),a(_,null,{default:f(()=>r[19]||(r[19]=[A("⌥⌘⌫")])),_:1})]),_:1})]),_:1}),a(e(be),null,{default:f(()=>r[20]||(r[20]=[v("p",null,"Delete selected rows",-1)])),_:1})]),_:1})):L("",!0)])),[[p]]):(b(),N("div",Go)),e(u)?(b(),N("div",Yo,[a(e(he),null,{default:f(()=>[a(e(ge),{"as-child":""},{default:f(()=>[a(w,{variant:"outline",size:"iconSm",disabled:!y.isAllowPreviousPage,onClick:r[6]||(r[6]=i=>m("onPreviousPage"))},{default:f(()=>[a(e(ce),{name:"lucide:chevron-left"})]),_:1},8,["disabled"])]),_:1}),a(e(be),null,{default:f(()=>r[21]||(r[21]=[v("p",null,"Previous page",-1)])),_:1})]),_:1}),v("div",Jo,[A(V(y.offset+1)+"-"+V(y.offset+y.currentTotalRows)+" ",1),r[22]||(r[22]=v("p",{class:"font-normal text-xs text-primary/60 inline"},"of",-1)),A(" "+V(y.totalRows)+" ",1),r[23]||(r[23]=v("p",{class:"font-normal text-xs text-primary/60 inline"},"rows",-1))]),a(e(he),null,{default:f(()=>[a(e(ge),{"as-child":""},{default:f(()=>[a(w,{variant:"outline",size:"iconSm",disabled:!y.isAllowNextPage,onClick:r[7]||(r[7]=i=>m("onNextPage"))},{default:f(()=>[a(e(ce),{name:"lucide:chevron-right"})]),_:1},8,["disabled"])]),_:1}),a(e(be),null,{default:f(()=>r[24]||(r[24]=[v("p",null,"Next page",-1)])),_:1})]),_:1}),a(qo,{limit:y.limit,offset:y.offset,totalRows:y.totalRows,onOnPaginate:r[8]||(r[8]=i=>m("onPaginate",i))},null,8,["limit","offset","totalRows"])])):(b(),N("div",Xo)),v("div",Zo,[a(o,{"model-value":y.tabView,"onUpdate:modelValue":r[9]||(r[9]=i=>y.$emit("update:tabView",i))},{default:f(()=>[a(g,{class:"grid w-full grid-cols-3 h-[1.625rem]!"},{default:f(()=>[a(d,{value:e(te).Data,class:"h-5! px-1 font-medium text-xs cursor-pointer text-primary/80"},{default:f(()=>r[25]||(r[25]=[A(" Data ")])),_:1},8,["value"]),a(d,{value:e(te).Structure,class:"h-5! px-1 font-medium text-xs cursor-pointer text-primary/80"},{default:f(()=>r[26]||(r[26]=[A(" Structure ")])),_:1},8,["value"]),a(d,{value:e(te).Erd,class:"h-5! px-1 font-medium text-xs cursor-pointer text-primary/80",disabled:y.isViewVirtualTable},{default:f(()=>r[27]||(r[27]=[A(" ERD ")])),_:1},8,["value","disabled"])]),_:1})]),_:1},8,["model-value"]),a(e(he),null,{default:f(()=>[a(e(ge),{"as-child":""},{default:f(()=>[a(w,{variant:"ghost",size:"iconSm",onClick:r[10]||(r[10]=i=>e(n)("Quick Query"))},{default:f(()=>[e(c).quickQuerySafeModeEnabled?(b(),P(e(ce),{key:0,name:"hugeicons:security-check",class:"size-4!"})):(b(),P(e(ce),{key:1,name:"lucide:shield-minus",class:"size-4! text-muted-foreground"}))]),_:1})]),_:1}),a(e(be),null,{default:f(()=>[v("p",null," Safe Mode: "+V(e(c).quickQuerySafeModeEnabled?"Enabled":"Disabled"),1),r[28]||(r[28]=v("p",{class:"text-xs text-muted-foreground"},"Click to configure",-1))]),_:1})]),_:1}),a(e(he),null,{default:f(()=>[a(e(ge),{"as-child":""},{default:f(()=>[a(w,{variant:"ghost",size:"iconSm",onClick:r[11]||(r[11]=i=>e(n)("Appearance"))},{default:f(()=>[a(e(ce),{name:"hugeicons:settings-04",class:"size-4!"})]),_:1})]),_:1}),a(e(be),null,{default:f(()=>r[29]||(r[29]=[v("p",null,"Table appearance settings",-1)])),_:1})]),_:1})])],512)}}}),es={class:"sticky top-0 z-10 bg-popover"},ts={class:"p-1"},ns={key:3,class:"px-2 py-1 text-sm text-muted-foreground"},as=X({__name:"ColumnSelector",props:{columns:{},value:{}},emits:["update:value","update:open"],setup(h,{emit:t}){const c=h,n=t,s=E(""),m=C(()=>s.value.trim().toLowerCase()),l=C(()=>new on(c.columns,{threshold:.35,ignoreLocation:!0,minMatchCharLength:1})),u=C(()=>new on(sn,{keys:["label","value"],threshold:.35,ignoreLocation:!0,minMatchCharLength:1})),y=C(()=>{const w=m.value;return w?l.value.search(w).map(d=>d.item):c.columns}),r=C(()=>{const w=m.value;return w?u.value.search(w).map(d=>d.item):sn}),_=w=>{n("update:open",w),w||(s.value="")};return(w,d)=>{const g=Ut,o=Lt,p=at,i=Cn,S=qt,T=Kt,ee=Vt,oe=Bt;return b(),P(oe,{"model-value":w.value,"onUpdate:modelValue":d[4]||(d[4]=j=>n("update:value",j)),"onUpdate:open":_},{default:f(()=>[a(o,{class:"w-36 min-w-36 h-6! text-sm cursor-pointer px-2"},{default:f(()=>[a(g,{placeholder:"Select field"})]),_:1}),a(ee,null,{default:f(()=>[a(T,null,{default:f(()=>[v("div",es,[v("div",ts,[a(p,{"model-value":e(s),"onUpdate:modelValue":d[0]||(d[0]=j=>Oe(s)?s.value=j:null),type:"text",placeholder:"Search fields",class:"h-7 text-sm",autocomplete:"off",onClick:d[1]||(d[1]=Ot(()=>{},["stop"])),onMousedown:d[2]||(d[2]=Ot(()=>{},["stop"])),onKeydown:d[3]||(d[3]=Ot(()=>{},["stop"]))},null,8,["model-value"])]),a(i)]),e(y).length?(b(!0),N(fe,{key:0},Ae(e(y),j=>(b(),P(S,{key:j,class:"h-6 text-sm cursor-pointer",value:j},{default:f(()=>[A(V(j),1)]),_:2},1032,["value"]))),128)):L("",!0),e(y).length&&e(r).length?(b(),P(i,{key:1})):L("",!0),e(r).length?(b(!0),N(fe,{key:2},Ae(e(r),j=>(b(),P(S,{key:j.value,class:"h-6 text-sm cursor-pointer",value:j.value},{default:f(()=>[A(V(j.label),1)]),_:2},1032,["value"]))),128)):L("",!0),!e(y).length&&!e(r).length?(b(),N("div",ns," No fields found ")):L("",!0)]),_:1})]),_:1})]),_:1},8,["model-value"])}}}),os=X({__name:"OperatorSelector",props:{dbType:{},value:{}},emits:["update:value","update:open"],setup(h){const t=h,c=C(()=>wn[t.dbType]);return(n,s)=>{const m=Ut,l=Lt,u=qt,y=Kt,r=Vt,_=Bt;return b(),P(_,{"model-value":n.value,"onUpdate:modelValue":s[0]||(s[0]=w=>n.$emit("update:value",w)),"onUpdate:open":s[1]||(s[1]=w=>n.$emit("update:open",w))},{default:f(()=>[a(l,{class:"w-36 min-w-36 h-6! text-sm cursor-pointer px-2"},{default:f(()=>[a(m,{placeholder:"Select operator"})]),_:1}),a(r,null,{default:f(()=>[a(y,null,{default:f(()=>[(b(!0),N(fe,null,Ae(e(c),w=>(b(),N(fe,null,[w.value===e(pa).value?(b(),P(e(Cn),{key:0})):(b(),P(u,{key:1,class:"h-6 text-sm cursor-pointer",value:w.value},{default:f(()=>[A(V(w.label),1)]),_:2},1032,["value"]))],64))),256))]),_:1})]),_:1})]),_:1},8,["model-value"])}}}),ss={class:"text-xs font-medium"},ls={class:"text-xs font-medium"},rs=X({__name:"ViewParserFilterApply",props:{getParserApplyFilter:{type:Function},getParserAllFilter:{type:Function}},setup(h){const t=h,c=E(""),n=E(""),s=()=>{c.value=vn(t.getParserApplyFilter(),{language:"postgresql",keywordCase:"upper"}),n.value=vn(t.getParserAllFilter(),{language:"postgresql",keywordCase:"upper"})};return(m,l)=>(b(),P(e(he),null,{default:f(()=>[a(e(Dn),null,{default:f(()=>[a(e(Fn),{"as-child":""},{default:f(()=>[a(e(ge),{"as-child":""},{default:f(()=>[a(e(we),{onClick:s,size:"xxs",variant:"outline"},{default:f(()=>l[0]||(l[0]=[A(" SQL ")])),_:1})]),_:1}),a(e(be),null,{default:f(()=>l[1]||(l[1]=[v("p",null,"View SQL query",-1)])),_:1})]),_:1}),a(e(Mn),{class:"w-[40rem] p-2 space-y-2","restore-focus":!0},{default:f(()=>[v("div",ss,[l[2]||(l[2]=A(" Curren filter ")),a(e(Pt),{code:e(c),language:"sql","max-height":"15rem",class:"mt-1"},null,8,["code"])]),v("div",ls,[l[3]||(l[3]=A(" Apply all filter ")),a(e(Pt),{code:e(n),language:"sql","max-height":"15rem",class:"mt-1"},null,8,["code"])])]),_:1})]),_:1})]),_:1}))}}),is={class:"flex justify-between"},cs={class:"flex items-center gap-0.5 text-xs"},us={class:"text-xs flex items-center gap-2"},ds=X({__name:"QuickQueryFilterGuide",props:{getParserApplyFilter:{type:Function},getParserAllFilter:{type:Function},composeWith:{}},emits:["onChangeComposeWith"],setup(h,{emit:t}){const c=t;return(n,s)=>{const m=Ut,l=Lt,u=qt,y=Kt,r=Vt,_=Bt,w=Gt;return b(),N("div",is,[v("div",cs,[s[3]||(s[3]=A(" Compose with: ")),a(_,{modelValue:n.composeWith,"onUpdate:modelValue":s[0]||(s[0]=d=>c("onChangeComposeWith",d))},{default:f(()=>[a(l,{class:"w-14 h-5! text-xs cursor-pointer px-1 border-none gap-1 shadow-none"},{default:f(()=>[a(m,{placeholder:"Select operator"})]),_:1}),a(r,null,{default:f(()=>[a(y,null,{default:f(()=>[a(u,{class:"h-5 text-xs cursor-pointer",value:e(dt).AND},{default:f(()=>s[1]||(s[1]=[A(" AND ")])),_:1},8,["value"]),a(u,{class:"h-5 text-xs cursor-pointer",value:e(dt).OR},{default:f(()=>s[2]||(s[2]=[A(" OR ")])),_:1},8,["value"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),v("div",us,[v("div",null,[a(w,null,{default:f(()=>s[4]||(s[4]=[A("⌘F")])),_:1}),s[5]||(s[5]=A(": Show"))]),v("div",null,[a(w,null,{default:f(()=>s[6]||(s[6]=[A("Esc")])),_:1}),s[7]||(s[7]=A(": Exit"))]),a(e(Za),{orientation:"vertical",class:"h-3/4!"}),v("div",null,[a(w,null,{default:f(()=>s[8]||(s[8]=[A("⌘I")])),_:1}),s[9]||(s[9]=A(": Insert"))]),v("div",null,[a(w,null,{default:f(()=>s[10]||(s[10]=[A("⌘⌫")])),_:1}),s[11]||(s[11]=A(": Delete"))]),v("div",null,[a(w,null,{default:f(()=>s[12]||(s[12]=[A("⌘↵")])),_:1}),s[13]||(s[13]=A(": Apply all"))])]),v("div",null,[a(rs,{getParserApplyFilter:n.getParserApplyFilter,getParserAllFilter:n.getParserAllFilter},null,8,["getParserApplyFilter","getParserAllFilter"])])])}}}),Gn=X({__name:"QuickQueryFilter",props:ln({columns:{},dbType:{},baseQuery:{},initFilters:{},composeWith:{}},{isShowFilters:{},isShowFiltersModifiers:{}}),emits:ln(["onSearch","onUpdateFilters","onChangeComposeWith"],["update:isShowFilters"]),setup(h,{expose:t,emit:c}){const n=h,s=fa(h,"isShowFilters"),m=c,l=E(),u=jt("filterSearchRefs"),y=Qt({filters:Ln.array()});An({validationSchema:Pn(y),initialValues:{filters:n.initFilters||[]},keepValuesOnUnmount:!1});const{remove:r,fields:_,insert:w,update:d}=Ga("filters");Te(_,$n(()=>{m("onUpdateFilters",_.value.map($=>$.value)||[])},Ft),{deep:!0});const g=$=>{w($+1,{isSelect:!0,fieldName:ct.RawQuery})},o=($,O)=>{var ye,I;const z=(I=(ye=_.value)==null?void 0:ye[$])==null?void 0:I.value,me=(z==null?void 0:z.fieldName)===ct.RawQuery,Se=!(z!=null&&z.operator);me&&Se?d($,{...z,fieldName:O,operator:Y.LIKE_CONTAINS}):d($,{...z,fieldName:O})},p=()=>`${n.baseQuery} ${Dt({columns:n.columns,db:n.dbType,filters:_.value.map($=>$.value)||[]})};`,i=()=>`${n.baseQuery} ${Dt({columns:n.columns,db:n.dbType,filters:_.value.map($=>({...$.value,isSelect:!0}))||[]})};`,S=($=!1)=>{if($){m("onSearch");return}m("onSearch")},T=$=>{var z,me;const O=(me=(z=_.value)==null?void 0:z[$])==null?void 0:me.value;O!=null&&O.isSelect||d($,{...O,isSelect:!0}),S()},ee=()=>{_.value.forEach(($,O)=>{d(O,{...$.value,isSelect:!0})}),S()},oe=async $=>{r($),await Ue(),$!==0&&j($-1),m("onUpdateFilters",_.value.map(O=>O.value)||[]),S()},j=$=>{var O,z;u.value&&((z=(O=u.value)==null?void 0:O[$])==null||z.$el.focus())},ue=()=>{_.value.length||g(-1),s.value=!0,Ue(()=>{const $=_.value.length-1||0;j($)})},de=()=>u.value?u.value.findIndex(O=>O.$el===document.activeElement):void 0;return mt([{key:"meta+backspace",callback:async()=>{const $=de();$!==void 0&&oe($)}},{key:"meta+enter",callback:()=>{const $=de();$!==void 0&&$>=0&&ee()}},{key:"meta+i",callback:async()=>{const $=de();$!==void 0&&(g($),await Ue(),j($+1))}},{key:"escape",callback:()=>{s.value=!1,S(!0)}}],{target:l}),t({onShowSearch:ue,insert:w}),($,O)=>{const z=Ja,me=at,Se=we;return s.value?(b(),N("div",{key:0,ref_key:"quickQueryFilterRef",ref:l,class:Fe(["h-fit space-y-1",e(_).length&&"pb-2"]),onKeyup:O[1]||(O[1]=At(()=>S(),["enter"]))},[(b(!0),N(fe,null,Ae(e(_),({key:ye,value:I},x)=>(b(),N("div",{class:"flex gap-1 items-center",key:ye},[a(z,{"model-value":I.isSelect,"onUpdate:modelValue":R=>I.isSelect=R},null,8,["model-value","onUpdate:modelValue"]),a(as,{columns:$.columns,value:I.fieldName,"onUpdate:value":R=>{o(x,R)},"onUpdate:open":R=>{R||$.$nextTick(()=>j(x))}},null,8,["columns","value","onUpdate:value","onUpdate:open"]),I.fieldName!==e(ct).RawQuery?(b(),P(os,{key:0,"db-type":$.dbType,value:I.operator,"onUpdate:value":R=>I.operator=R,"onUpdate:open":R=>{R||$.$nextTick(()=>j(x))}},null,8,["db-type","value","onUpdate:value","onUpdate:open"])):L("",!0),a(me,{"model-value":I.search,"onUpdate:modelValue":R=>I.search=R,type:"text",placeholder:e(Ro)(I.operator||""),class:"w-full h-6 px-2",ref_for:!0,ref_key:"filterSearchRefs",ref:u},null,8,["model-value","onUpdate:modelValue","placeholder"]),a(e(he),null,{default:f(()=>[a(e(ge),{"as-child":""},{default:f(()=>[a(Se,{size:"xxs",variant:"outline",onClick:R=>T(x)},{default:f(()=>O[2]||(O[2]=[A(" Apply ")])),_:2},1032,["onClick"])]),_:2},1024),a(e(be),null,{default:f(()=>O[3]||(O[3]=[v("p",null,"Apply this filter",-1)])),_:1})]),_:2},1024),a(e(he),null,{default:f(()=>[a(e(ge),{"as-child":""},{default:f(()=>[a(Se,{size:"iconSm",variant:"outline",onClick:R=>oe(x)},{default:f(()=>[a(e(ce),{name:"hugeicons:minus-sign"})]),_:2},1032,["onClick"])]),_:2},1024),a(e(be),null,{default:f(()=>O[4]||(O[4]=[v("p",null,"Remove filter (Meta+Backspace)",-1)])),_:1})]),_:2},1024),a(e(he),null,{default:f(()=>[a(e(ge),{"as-child":""},{default:f(()=>[a(Se,{size:"iconSm",variant:"outline",onClick:()=>g(x)},{default:f(()=>[a(e(ce),{name:"hugeicons:plus-sign"})]),_:2},1032,["onClick"])]),_:2},1024),a(e(be),null,{default:f(()=>O[5]||(O[5]=[v("p",null,"Add new filter (Meta+I)",-1)])),_:1})]),_:2},1024)]))),128)),e(_).length?(b(),P(ds,{key:0,getParserApplyFilter:p,getParserAllFilter:i,"compose-with":$.composeWith,onOnChangeComposeWith:O[0]||(O[0]=ye=>m("onChangeComposeWith",ye))},null,8,["compose-with"])):L("",!0)],34)):L("",!0)}}}),Yn=X({__name:"QuickQueryContextMenu",props:{totalSelectedRows:{},hasEditedRows:{type:Boolean},isReferencedTable:{type:Boolean},cellContextMenu:{},cellHeaderContextMenu:{},data:{},selectedRows:{},tableName:{},schemaName:{}},emits:["onRefresh","onSaveData","onAddEmptyRow","onDeleteRows","onCopyRows","onPasteRows","onCopySelectedCell","onFilterByValue","onClearContextMenu"],setup(h,{emit:t}){const c=Tt(),n=h,s=t,m=C(()=>{var i,S,T,ee;return((S=(i=n.cellContextMenu)==null?void 0:i.column)==null?void 0:S.getColId())??((ee=(T=n.cellHeaderContextMenu)==null?void 0:T.column)==null?void 0:ee.getColId())}),l=C(()=>{var i,S,T;return((i=n.cellContextMenu)==null?void 0:i.column.getColDef().headerName)??((T=(S=n.cellHeaderContextMenu)==null?void 0:S.column)==null?void 0:T.getColDef().headerName)??""}),u=i=>{mn(n.selectedRows||[],l.value??"",i)},y=i=>{mn(n.data||[],l.value??"",i)},r=i=>Et(n.selectedRows||[],n.tableName||"table_data",i,n.schemaName),_=i=>Et(n.data||[],n.tableName||"table_data",i,n.schemaName),w=i=>pn(n.selectedRows||[],n.tableName||"table_data",i,"selected",n.schemaName),d=i=>pn(n.data||[],n.tableName||"table_data",i,"all",n.schemaName),g=()=>{var S;const i=(S=n.cellContextMenu)==null?void 0:S.value;if(i!==void 0){if(typeof i=="object")return fn(JSON.stringify(i));fn(String(i))}},o=()=>{var i;if(n.cellContextMenu){const S=(i=n.cellContextMenu)==null?void 0:i.data;Et([S],n.tableName||"table_data","csv-no-header",n.schemaName)}},p=C(()=>{var $;const i=!!n.cellContextMenu,S=n.selectedRows.length>0,T=n.selectedRows.length,ee=(($=n.data)==null?void 0:$.length)||0,oe=!!m.value,j=[{type:q.LABEL,title:`${T} selected`,condition:S&&i},{type:q.ACTION,title:"Copy as text",icon:"hugeicons:file-01",select:()=>u("list"),condition:S&&i},{type:q.ACTION,title:"Copy as JSON",icon:"hugeicons:code",select:()=>u("json"),condition:S&&i},{type:q.SEPARATOR,condition:S&&i},{type:q.LABEL,title:"All data in column"},{type:q.ACTION,title:"Copy as text",icon:"hugeicons:file-01",select:()=>y("list")},{type:q.ACTION,title:"Copy as JSON",icon:"hugeicons:code",select:()=>y("json")}],ue=[{type:q.LABEL,title:`${T} selected row(s)`,condition:S},{type:q.ACTION,title:"Copy as CSV/TSV",icon:"hugeicons:csv-02",select:()=>r("csv-no-header"),condition:S},{type:q.ACTION,title:"Copy as JSON",icon:"hugeicons:code",select:()=>r("json"),condition:S},{type:q.ACTION,title:"Copy as SQL",icon:"hugeicons:database",select:()=>r("sql"),condition:S},{type:q.SEPARATOR,condition:S},{type:q.LABEL,title:"All rows"},{type:q.ACTION,title:"Copy as CSV/TSV",icon:"hugeicons:csv-02",select:()=>_("csv-no-header")},{type:q.ACTION,title:"Copy as JSON",icon:"hugeicons:code",select:()=>_("json")},{type:q.ACTION,title:"Copy as SQL",icon:"hugeicons:database",select:()=>_("sql")}],de=[{type:q.LABEL,title:`${T} selected row${T>1?"s":""}`,condition:S},{type:q.ACTION,title:"Export as CSV",icon:"hugeicons:csv-01",select:()=>w("csv-no-header"),condition:S},{type:q.ACTION,title:"Export as CSV (have headers)",icon:"hugeicons:csv-01",select:()=>w("csv-with-header"),condition:S},{type:q.ACTION,title:"Export as JSON",icon:"hugeicons:code",select:()=>w("json"),condition:S},{type:q.ACTION,title:"Export as SQL",icon:"hugeicons:database",select:()=>w("sql"),condition:S},{type:q.SEPARATOR,condition:S},{type:q.LABEL,title:`All ${ee.toLocaleString()} row${ee!==1?"s":""}`},{type:q.ACTION,title:"Export as CSV",icon:"hugeicons:csv-01",select:()=>d("csv-no-header")},{type:q.ACTION,title:"Export as CSV (have headers)",icon:"hugeicons:csv-01",select:()=>d("csv-with-header")},{type:q.ACTION,title:"Export as JSON",icon:"hugeicons:code",select:()=>d("json")},{type:q.ACTION,title:"Export as SQL",icon:"hugeicons:database",select:()=>d("sql")}];return[{title:"View row detail",icon:"hugeicons:view",type:q.ACTION,select:()=>{c.onShowSecondSidebar()},condition:!n.isReferencedTable&&!!n.cellContextMenu},{title:"Filter by value",icon:"lucide:filter",type:q.ACTION,shortcut:"⌘F",select:()=>{s("onFilterByValue")},condition:!!n.cellContextMenu},{title:"Refresh",icon:"hugeicons:refresh",type:q.ACTION,shortcut:"⌘R",select:()=>{s("onRefresh")}},{type:q.SEPARATOR},{type:q.ACTION,title:"Copy current cell",icon:"hugeicons:copy-02",select:g,condition:i},{type:q.ACTION,title:"Copy current row",icon:"hugeicons:copy-02",select:o,condition:S&&i},{type:q.SEPARATOR,condition:i},{type:q.SUBMENU,title:"Copy column",icon:"hugeicons:layout-3-column",items:j,condition:oe,desc:l.value||"Select a column"},{type:q.SUBMENU,title:"Copy row(s)",icon:"hugeicons:layout-3-row",items:ue},{type:q.SEPARATOR},{type:q.SUBMENU,title:"Export",icon:"hugeicons:file-download",items:de}]});return(i,S)=>{const T=eo;return b(),P(T,{contextMenuItems:e(p),onOnClearContextMenu:S[0]||(S[0]=ee=>s("onClearContextMenu"))},{default:f(()=>[va(i.$slots,"default")]),_:3},8,["contextMenuItems"])}}}),ms={class:"flex items-center justify-between"},ps={class:"truncate"},fs=X({__name:"CustomCellUuid",props:{params:{}},setup(h){return(t,c)=>{var n,s;return b(),N("div",ms,[v("span",ps,V(((s=(n=t.params)==null?void 0:n.formatValue)==null?void 0:s.call(n,t.params.value))||t.params.value),1),t.params.isPrimaryKey&&t.params.value?(b(),P(e(ce),{key:0,onClick:c[0]||(c[0]=()=>{t.params.onOpenPreviewReverseTableModal(t.params.value)}),name:"hugeicons:view",class:"min-w-4 w-4! cursor-pointer hover:bg-amber-500"})):L("",!0)])}}}),vs={class:"ag-header-cell-text items-center flex gap-0.5","data-ref":"eText"},ys={class:"text-[10px]!"},hs={key:0,class:"ag-sort-indicator-container","data-ref":"eSortIndicator"},gs={key:0,class:"ag-sort-indicator-icon ag-sort-ascending-icon","data-ref":"eSortAsc","aria-hidden":"true"},bs={key:1,class:"ag-sort-indicator-icon ag-sort-descending-icon","data-ref":"eSortDesc","aria-hidden":"true"},_s=X({__name:"CustomHeaderTable",props:{params:{}},setup(h){const t=h,c=()=>{if(!t.params.allowSorting)return;const n=t.params.sort,s=t.params.onUpdateSort;s(n==="ASC"?{order:"DESC",columnName:t.params.displayName}:n==="DESC"?{}:{order:"ASC",columnName:t.params.displayName})};return(n,s)=>(b(),N("div",{class:"ag-header-cell-label cursor-pointer","data-ref":"eLabel",role:"presentation",onClick:c},[v("span",vs,[t.params.isPrimaryKey?(b(),P(e(ce),{key:0,name:"lucide:key-round",class:"min-w-3! text-yellow-500"})):L("",!0),t.params.isForeignKey?(b(),P(e(ce),{key:1,name:"lucide:key-round",class:"min-w-3!"})):L("",!0),A(" "+V(t.params.displayName)+" ",1),v("p",ys,V(t.params.dataType),1)]),n.params.sort?(b(),N("span",hs,[n.params.sort==="ASC"?(b(),N("span",gs,s[0]||(s[0]=[v("span",{class:"ag-icon ag-icon-asc",role:"presentation",unselectable:"on"},null,-1)]))):(b(),N("span",bs,s[1]||(s[1]=[v("span",{class:"ag-icon ag-icon-desc",role:"presentation",unselectable:"on"},null,-1)])))])):L("",!0)]))}}),Jn=X({__name:"QuickQueryTable",props:{data:{},defaultPageSize:{},orderBy:{},foreignKeys:{},foreignKeyColumns:{},primaryKeyColumns:{},columnTypes:{},offset:{},class:{},isHaveRelationByFieldName:{type:Function},selectedColumnFieldId:{},currentTableName:{},currentSchemaName:{},selectedRows:{},isViewOnly:{type:Boolean}},emits:["onClickOutSide","update:orderBy","onSelectedRows","onOpenBackReferencedTableModal","onFocusCell","onOpenForwardReferencedTableModal"],setup(h,{expose:t,emit:c}){const n=h,s=c,m=E(n.defaultPageSize??Nt),{gridApi:l,onGridReady:u}=Pa(),y=jt("agGridRef"),r=E(),_=E();ya(y,x=>{s("onFocusCell",void 0),s("onClickOutSide",x)});const w=E([]),d=C(()=>(n.data??[]).map((x,R)=>({[ut]:R+n.offset+1,...x}))),{handleCellMouseOverDebounced:g,handleCellMouseDown:o}=Da({gridApi:l,gridRef:y}),p=C(()=>new Map(n.columnTypes.map(x=>[x.name,x]))),i=x=>{var D;const R=((D=p.value.get(x))==null?void 0:D.type)||"";return["object","json","jsonb"].includes(R)},S=x=>{var ie,se,k;const{colDef:R,newValue:D,rowIndex:G}=x,F=Number(G),M=R.field,B=i(M??""),ne=(((ie=p.value.get(M??""))==null?void 0:ie.type)||"")==="bool";if(F!==null&&M){const H=(k=(se=n==null?void 0:n.data)==null?void 0:se[F])==null?void 0:k[M];let ae=H!==D;B&&(ae=JSON.stringify(H)!==JSON.stringify(D));const ve=w.value.some(W=>W.rowId===F);let pe=B?JSON.stringify(D):D;if(pe||(pe=null),ne&&(pe=!!pe),ae&&!ve){w.value.push({rowId:F,changedData:{[M]:pe}});return}ae?w.value=w.value.map(W=>W.rowId===F?{...W,changedData:{...W.changedData,[M]:pe}}:W):w.value=w.value.map(W=>{if(W.rowId===F){const le=W.changedData;return delete le[M],{...W,changedData:le}}return W})}},T=C(()=>{var F;if(!((F=n.columnTypes)!=null&&F.length))return[];const x=[];x.push({colId:ut,headerName:za,field:ut,filter:!1,resizable:!0,editable:!1,sortable:!1,type:"indexColumn",headerComponentParams:{allowSorting:!1},pinned:"left",width:Qa});const R=new Set(n.primaryKeyColumns),D=new Set(n.foreignKeyColumns),G=new Map(n.foreignKeys.map(M=>[M.column,M]));return n.columnTypes.forEach(({name:M,type:B})=>{const U=M,ne=n.orderBy.columnName===U?n.orderBy.order:void 0,ie=R.has(U),se=D.has(U),k=G.get(U),H=n.isHaveRelationByFieldName(U),ae=ie&&H||se&&k,ve=["json","jsonb"].includes(B),pe={headerName:U,field:U,colId:U,filter:!1,resizable:!0,editable:!0,sortable:!1,type:"editableColumn",headerComponentParams:{allowSorting:!0,sort:ne,onUpdateSort:W=>{s("update:orderBy",W)},fieldId:U,isPrimaryKey:ie,isForeignKey:se},cellRenderer:ae?fs:void 0,cellRendererParams:{isPrimaryKey:ae,onOpenPreviewReverseTableModal:W=>{se&&k?s("onOpenForwardReferencedTableModal",{id:W,tableName:k.referenced_table,columnName:k.referenced_column,schemaName:k.referenced_table_schema}):s("onOpenBackReferencedTableModal",{id:W,columnName:U,tableName:n.currentTableName,schemaName:n.currentSchemaName})}},cellEditorSelector:W=>{if(ve)return{component:"AgJsonCellEditor",popup:!0,popupPosition:"under"}},valueFormatter:W=>{const le=W.value;return typeof le=="number"||typeof le=="bigint"?le.toString():le===null?"NULL":ve?JSON.stringify(le,null,2):le??""},valueSetter:W=>{if(n.isViewOnly)return!1;if(ve)try{const le=JSON.parse(W.newValue);return W.data[U]=le,!0}catch(le){return console.error(`Invalid JSON format in column ${U}:`,le),!1}else return W.data[U]=W.newValue,!0}};x.push(pe)}),x});function ee(x){const D=x.event.key;return["Backspace","Delete"].some(function(U){return U===D||D.toUpperCase()===U})}const oe=E({headerComponent:_s,suppressKeyboardEvent:ee}),j=E({editableColumn:{cellStyle:x=>{const R=x.colDef.colId??"";if(!R||!n.data)return;const D=i(R??""),G=Number(x.node.id??x.node.rowIndex),F=n.data[G];if(F===void 0)return{backgroundColor:"var(--color-green-200)"};const M={},B=F[R],U=x.value;(B===null||U===null)&&(M.color="var(--muted-foreground)");let ne=!1;return D?ne=JSON.stringify(B)!==JSON.stringify(U):ne=B!==U,ne?(M.backgroundColor="var(--color-orange-200)",delete M.color):M.backgroundColor="unset",M},cellClass:x=>x.column.getColId()===n.selectedColumnFieldId?"col-highlight-cell cellCenter":"cellCenter"}}),ue=Fa();Te(ue,x=>{var R;(R=l.value)==null||R.updateGridOptions({theme:x})});const de=C(()=>({components:{AgJsonCellEditor:Ma},paginationPageSize:m.value,rowBuffer:ha,rowClass:"class-row-border-none",getRowStyle:R=>{if((R.node.rowIndex||0)%2===0)return{background:"var(--muted)"}},rowSelection:{mode:"multiRow",checkboxes:!1,headerCheckbox:!1,enableSelectionWithoutKeys:!1,enableClickSelection:"enableSelection",copySelectedRows:!1},theme:ue.value,pagination:!1,undoRedoCellEditing:!0,undoRedoCellEditingLimit:25,animateRows:!0,onCellMouseDown:o,onCellMouseOver:g,defaultColDef:oe.value,columnTypes:j.value})),$=()=>{if(l.value){const x=l.value.getSelectedRows();O(x)}},O=x=>{s("onSelectedRows",x)},z=()=>{var R,D,G;const x=(R=l.value)==null?void 0:R.getFocusedCell();if(x){const F=(D=l.value)==null?void 0:D.getDisplayedRowAtIndex(x.rowIndex),M=x.column.getColId(),B=(G=F==null?void 0:F.data)==null?void 0:G[M];s("onFocusCell",B??void 0)}},me=x=>{var R,D;(R=n.selectedRows)!=null&&R.length||(D=x==null?void 0:x.node)==null||D.setSelected(!0),r.value=x},Se=x=>{_.value=x};Te(()=>n.selectedColumnFieldId,async()=>{var x;await Ue(),(x=l.value)==null||x.refreshCells({force:!0})},{flush:"post"});const ye=()=>{if(!l.value)return;const x=l.value.getAllGridColumns()||[],R=(n.data||[]).slice(0,10),D=La({columns:x,rows:R}),G=new Set(n.primaryKeyColumns),F=new Set(n.foreignKeyColumns);l.value.updateGridOptions({columnDefs:x.map(M=>{const B=M.getColDef().field,U=G.has(B),ne=F.has(B),se=U||ne?Ha:0;return{...M.getColDef(),width:D[B]+se}})})};return t({gridApi:l,editedCells:w,columnDefs:T,cellContextMenu:r,cellHeaderContextMenu:_,clearCellContextMenu:()=>{r.value=void 0,_.value=void 0}}),Sn(async()=>{var F,M,B;if(!l.value)return;await Ue();const x=l.value.getState(),R=document.querySelector(".ag-body-viewport");R&&(R.scrollTop=((F=x.scroll)==null?void 0:F.top)||0);const D=((M=l.value)==null?void 0:M.getAllGridColumns())||[];let G=0;for(const U of D){if(G>=(((B=x.scroll)==null?void 0:B.left)||0)){l.value.ensureColumnVisible(U.getColId(),"start");break}G+=U.getActualWidth()}}),(x,R)=>(b(),P(e(Ba),{onSelectionChanged:$,onCellValueChanged:S,onGridReady:e(u),onCellFocused:z,onRowDataUpdated:ye,onCellContextMenu:me,onColumnHeaderContextMenu:Se,class:Fe(n.class),"grid-options":e(de),columnDefs:e(T),rowData:e(d),ref_key:"agGridRef",ref:y},null,8,["onGridReady","class","grid-options","columnDefs","rowData"]))}}),Qe=320,bn=34,ws=24,Xe=h=>h<=0?bn:Math.min(Qe,bn+h*ws),Cs={class:"relative"},Ss={key:0,class:"p-2"},xs={key:2,class:"flex items-center justify-center py-6"},Ns=X({__name:"IndexesTab",props:{schema:{},tableName:{},connectionId:{}},setup(h){const t=h,c=["index_name","method","is_unique","is_primary","definition"],n=Ve(),s=C(()=>`${t.schema}.${t.tableName}`),m=E(null),l=Re(),u=C(()=>t.connectionId?l.connections.find(o=>o.id===t.connectionId):l.selectedConnection),{data:y,status:r}=Ce("/api/tables/indexes",{method:"POST",body:C(()=>({..._e(u.value),schema:t.schema,table:t.tableName})),key:`indexes-${s.value}`,getCachedData:()=>{const o=n.indexesMap[s.value];return o!=null&&o.length?o:void 0},onResponse({response:o}){o._data&&(n.indexesMap[s.value]=o._data)},onResponseError({response:o}){var p;m.value=((p=o._data)==null?void 0:p.message)||"Failed to load indexes"}},"$NyxkuxC1vx"),_=C(()=>(y.value||[]).map(o=>({index_name:o.indexName,method:o.method,is_unique:o.isUnique,is_primary:o.isPrimary,definition:o.definition}))),w=C(()=>_.value.length>0?Ye(_.value):Je(c)),d=C(()=>`${Xe(_.value.length)}px`),g=()=>{m.value=null,Ke(`indexes-${s.value}`)};return(o,p)=>{const i=$e,S=Me;return b(),N("div",Cs,[a(i,{visible:e(r)==="pending"},null,8,["visible"]),e(m)?(b(),N("div",Ss,[a(e(qe),{variant:"destructive"},{default:f(()=>[a(e(je),{class:"flex items-center justify-between gap-2"},{default:f(()=>[v("span",null,V(e(m)),1),a(e(we),{variant:"outline",size:"xs",onClick:g},{default:f(()=>p[0]||(p[0]=[A("Retry")])),_:1})]),_:1})]),_:1})])):e(_).length?(b(),N("div",{key:1,style:Ee({maxHeight:`${e(Qe)}px`,height:e(d)})},[a(e(Ge),{columns:e(w),data:e(_),class:"h-full",columnKeyBy:"field"},null,8,["columns","data"])],4)):e(r)!=="pending"?(b(),N("div",xs,[a(S,{title:"No Indexes",desc:"This table has no indexes."})])):L("",!0)])}}}),Ts={class:"relative"},Rs={key:0,class:"p-2"},$s={key:1,class:"flex items-center justify-center py-3"},Is=X({__name:"RlsTab",props:{schema:{},tableName:{},connectionId:{}},setup(h){const t=h,c=["policy_name","permissive","command","roles","using_expression","with_check_expression"],n=Ve(),s=C(()=>`${t.schema}.${t.tableName}`),m=E(null),l=Re(),u=C(()=>t.connectionId?l.connections.find(p=>p.id===t.connectionId):l.selectedConnection),{data:y,status:r}=Ce("/api/tables/rls",{method:"POST",body:C(()=>({..._e(u.value),schema:t.schema,table:t.tableName})),key:`rls-${s.value}`,getCachedData:()=>{const p=n.rlsMap[s.value];if(p!=null&&p.length)return{enabled:!0,policies:p}},onResponse({response:p}){var i;(i=p._data)!=null&&i.policies&&(n.rlsMap[s.value]=p._data.policies)},onResponseError({response:p}){var i;m.value=((i=p._data)==null?void 0:i.message)||"Failed to load RLS policies"}},"$EinB8Z7zho"),_=p=>{if(Array.isArray(p))return p.map(T=>String(T));if(typeof p!="string")return[];const i=p.trim();if(!i)return[];const S=i.startsWith("{")&&i.endsWith("}")?i.slice(1,-1):i;return S?S.split(",").map(T=>T.trim().replace(/^"|"$/g,"")).filter(Boolean):[]},w=C(()=>{var p;return(((p=y.value)==null?void 0:p.policies)||[]).map(i=>({policy_name:i.policyName,permissive:i.permissive,command:i.command,roles:_(i.roles).join(", ")||"—",using_expression:i.usingExpression||"—",with_check_expression:i.withCheckExpression||"—"}))}),d=C(()=>w.value.length>0?Ye(w.value):Je(c)),g=C(()=>`${Xe(w.value.length)}px`),o=()=>{m.value=null,Ke(`rls-${s.value}`)};return(p,i)=>{const S=$e,T=Me;return b(),N("div",Ts,[a(S,{visible:e(r)==="pending"},null,8,["visible"]),e(m)?(b(),N("div",Rs,[a(e(qe),{variant:"destructive"},{default:f(()=>[a(e(je),{class:"flex items-center justify-between gap-2"},{default:f(()=>[v("span",null,V(e(m)),1),a(e(we),{variant:"outline",size:"xs",onClick:o},{default:f(()=>i[0]||(i[0]=[A("Retry")])),_:1})]),_:1})]),_:1})])):e(y)?(b(),N(fe,{key:1},[e(w).length?(b(),N("div",{key:0,style:Ee({maxHeight:`${e(Qe)}px`,height:e(g)})},[a(e(Ge),{columns:e(d),data:e(w),class:"h-full",columnKeyBy:"field"},null,8,["columns","data"])],4)):e(r)!=="pending"?(b(),N("div",$s,[a(T,{title:"No Policies",desc:"No RLS policies are defined for this table."})])):L("",!0)],64)):L("",!0)])}}}),ks={class:"relative"},Os={key:0,class:"p-2"},Es={key:2,class:"flex items-center justify-center py-3"},As=X({__name:"RulesTab",props:{schema:{},tableName:{},connectionId:{}},setup(h){const t=h,c=["rule_name","event","action_type","definition"],n=Ve(),s=C(()=>`${t.schema}.${t.tableName}`),m=E(null),l=Re(),u=C(()=>t.connectionId?l.connections.find(o=>o.id===t.connectionId):l.selectedConnection),{data:y,status:r}=Ce("/api/tables/rules",{method:"POST",body:C(()=>({..._e(u.value),schema:t.schema,table:t.tableName})),key:`rules-${s.value}`,getCachedData:()=>{const o=n.rulesMap[s.value];return o!=null&&o.length?o:void 0},onResponse({response:o}){o._data&&(n.rulesMap[s.value]=o._data)},onResponseError({response:o}){var p;m.value=((p=o._data)==null?void 0:p.message)||"Failed to load rules"}},"$u5D1mSLK0A"),_=C(()=>(y.value||[]).map(o=>({rule_name:o.ruleName,event:o.event,action_type:o.actionType,definition:o.definition}))),w=C(()=>_.value.length>0?Ye(_.value):Je(c)),d=C(()=>`${Xe(_.value.length)}px`),g=()=>{m.value=null,Ke(`rules-${s.value}`)};return(o,p)=>{const i=$e,S=Me;return b(),N("div",ks,[a(i,{visible:e(r)==="pending"},null,8,["visible"]),e(m)?(b(),N("div",Os,[a(e(qe),{variant:"destructive"},{default:f(()=>[a(e(je),{class:"flex items-center justify-between gap-2"},{default:f(()=>[v("span",null,V(e(m)),1),a(e(we),{variant:"outline",size:"xs",onClick:g},{default:f(()=>p[0]||(p[0]=[A("Retry")])),_:1})]),_:1})]),_:1})])):e(_).length?(b(),N("div",{key:1,style:Ee({maxHeight:`${e(Qe)}px`,height:e(d)})},[a(e(Ge),{columns:e(w),data:e(_),class:"h-full",columnKeyBy:"field"},null,8,["columns","data"])],4)):e(r)!=="pending"?(b(),N("div",Es,[a(S,{title:"No Rules",desc:"This table has no rewrite rules."})])):L("",!0)])}}}),Ps={class:"rounded-md border p-2.5"},Ds={key:0,class:"p-2"},Fs={key:1,class:"space-y-1.5"},Ms={class:"flex items-center gap-1 flex-wrap"},Bs={class:"inline-flex items-center gap-1 rounded-md border bg-muted/20 px-1.5 py-0.5"},Ls={class:"text-[11px] font-mono leading-none text-foreground"},Us={class:"flex flex-wrap gap-1"},Vs={class:"text-[10px] text-muted-foreground"},Ks=X({__name:"TableMetaInfo",props:{schema:{},tableName:{},connectionId:{}},setup(h){const t=h,c={table:"Table",partitioned:"Partitioned Table",foreign:"Foreign Table"},n=E(null),s=C(()=>`${t.schema}.${t.tableName}`),m=Re(),l=C(()=>t.connectionId?m.connections.find(d=>d.id===t.connectionId):m.selectedConnection),{data:u,status:y}=Ce("/api/tables/meta",{method:"POST",body:C(()=>({..._e(l.value),schema:t.schema,tableName:t.tableName})),key:`table-meta-${s.value}`,onResponseError({response:d}){var g;n.value=((g=d._data)==null?void 0:g.message)||"Failed to load table metadata"}},"$AYAykbrhiy"),r=C(()=>{var g;const d=(g=u.value)==null?void 0:g.type;return d?c[d]??d:"Unknown"}),_=C(()=>{var d,g,o,p,i;return[{label:"Rows",value:((g=(d=u.value)==null?void 0:d.rowEstimate)==null?void 0:g.toLocaleString())??"—",mono:!0},{label:"Total",value:((o=u.value)==null?void 0:o.totalSize)||"—"},{label:"Table",value:((p=u.value)==null?void 0:p.tableSize)||"—"},{label:"Index",value:((i=u.value)==null?void 0:i.indexSize)||"—"}]}),w=()=>{n.value=null,Ke(`table-meta-${s.value}`)};return(d,g)=>{const o=$e;return b(),N("div",Ps,[a(o,{visible:e(y)==="pending"},null,8,["visible"]),e(n)?(b(),N("div",Ds,[a(e(qe),{variant:"destructive"},{default:f(()=>[a(e(je),{class:"flex items-center justify-between gap-2"},{default:f(()=>[v("span",null,V(e(n)),1),a(e(we),{variant:"outline",size:"xs",onClick:w},{default:f(()=>g[0]||(g[0]=[A("Retry")])),_:1})]),_:1})]),_:1})])):e(u)?(b(),N("div",Fs,[v("div",Ms,[a(e(xt),{variant:"secondary",class:"h-5 px-1.5 text-[10px]"},{default:f(()=>[A(V(e(r)),1)]),_:1}),v("span",Bs,[g[1]||(g[1]=v("span",{class:"text-[10px] text-muted-foreground"}," Owner ",-1)),v("span",Ls,V(e(u).owner||"—"),1)])]),v("div",Us,[(b(!0),N(fe,null,Ae(e(_),p=>(b(),N("div",{key:p.label,class:"inline-flex items-center gap-1 rounded-md border bg-muted/20 px-1.5 py-0.5"},[v("span",Vs,V(p.label),1),v("span",{class:Fe(["text-[11px] leading-none text-foreground",p.mono?"font-mono":"font-medium"])},V(p.value),3)]))),128))])])):L("",!0)])}}}),qs={class:"relative"},js={key:0,class:"p-2"},Qs={key:2,class:"flex items-center justify-center py-3"},zs=X({__name:"TriggersTab",props:{schema:{},tableName:{},connectionId:{}},setup(h){const t=h,c=["trigger_name","enabled","timing","events","orientation","definition"],n=Ve(),s=C(()=>`${t.schema}.${t.tableName}`),m=E(null),l=Re(),u=C(()=>t.connectionId?l.connections.find(o=>o.id===t.connectionId):l.selectedConnection),{data:y,status:r}=Ce("/api/tables/triggers",{method:"POST",body:C(()=>({..._e(u.value),schema:t.schema,table:t.tableName})),key:`triggers-${s.value}`,getCachedData:()=>{const o=n.triggersMap[s.value];return o!=null&&o.length?o:void 0},onResponse({response:o}){o._data&&(n.triggersMap[s.value]=o._data)},onResponseError({response:o}){var p;m.value=((p=o._data)==null?void 0:p.message)||"Failed to load triggers"}},"$S3QU21QNI4"),_=C(()=>(y.value||[]).map(o=>{var p;return{trigger_name:o.triggerName,enabled:o.enabled?"Enabled":"Disabled",timing:o.timing,events:((p=o.events)==null?void 0:p.join(", "))||"—",orientation:o.orientation,definition:o.definition}})),w=C(()=>_.value.length>0?Ye(_.value):Je(c)),d=C(()=>`${Xe(_.value.length)}px`),g=()=>{m.value=null,Ke(`triggers-${s.value}`)};return(o,p)=>{const i=$e,S=Me;return b(),N("div",qs,[a(i,{visible:e(r)==="pending"},null,8,["visible"]),e(m)?(b(),N("div",js,[a(e(qe),{variant:"destructive"},{default:f(()=>[a(e(je),{class:"flex items-center justify-between gap-2"},{default:f(()=>[v("span",null,V(e(m)),1),a(e(we),{variant:"outline",size:"xs",onClick:g},{default:f(()=>p[0]||(p[0]=[A("Retry")])),_:1})]),_:1})]),_:1})])):e(_).length?(b(),N("div",{key:1,style:Ee({maxHeight:`${e(Qe)}px`,height:e(d)})},[a(e(Ge),{columns:e(w),data:e(_),class:"h-full",columnKeyBy:"field"},null,8,["columns","data"])],4)):e(r)!=="pending"?(b(),N("div",Qs,[a(S,{title:"No Triggers",desc:"This table has no triggers."})])):L("",!0)])}}}),Hs={class:"relative"},Ws={key:0,class:"p-2"},Gs={key:2,class:"flex items-center justify-center py-6"},Ys=X({__name:"ViewDependencies",props:{schema:{},viewName:{},connectionId:{}},setup(h){const t=h,c=["depends_on"],n=E(null),s=C(()=>`${t.schema}.${t.viewName}`),m=Re(),l=C(()=>t.connectionId?m.connections.find(g=>g.id===t.connectionId):m.selectedConnection),{data:u,status:y}=Ce("/api/views/dependencies",{method:"POST",body:C(()=>({..._e(l.value),schema:t.schema,viewName:t.viewName})),key:`view-deps-${s.value}`,onResponseError({response:g}){var o;n.value=((o=g._data)==null?void 0:o.message)||"Failed to load dependencies"}},"$jEYg_hmjWR"),r=C(()=>(u.value||[]).map(g=>({depends_on:g.dependsOn}))),_=C(()=>r.value.length>0?Ye(r.value):Je(c)),w=C(()=>`${Xe(r.value.length)}px`),d=()=>{n.value=null,Ke(`view-deps-${s.value}`)};return(g,o)=>{const p=$e,i=Me;return b(),N("div",Hs,[a(p,{visible:e(y)==="pending"},null,8,["visible"]),e(n)?(b(),N("div",Ws,[a(e(qe),{variant:"destructive"},{default:f(()=>[a(e(je),{class:"flex items-center justify-between gap-2"},{default:f(()=>[v("span",null,V(e(n)),1),a(e(we),{variant:"outline",size:"xs",onClick:d},{default:f(()=>o[0]||(o[0]=[A("Retry")])),_:1})]),_:1})]),_:1})])):e(r).length?(b(),N("div",{key:1,style:Ee({maxHeight:`${e(Qe)}px`,height:e(w)})},[a(e(Ge),{columns:e(_),data:e(r),class:"h-full",columnKeyBy:"field"},null,8,["columns","data"])],4)):e(y)!=="pending"?(b(),N("div",Gs,[a(i,{title:"No Dependencies",desc:"This view has no upstream dependencies."})])):L("",!0)])}}}),Js={class:"relative"},Xs={key:0,class:"p-2"},Zs={key:2,class:"flex items-center justify-center py-6"},el=X({__name:"ViewIndexesTab",props:{schema:{},viewName:{},connectionId:{}},setup(h){const t=h,c=["index_name","method","is_unique","definition"],n=E(null),s=C(()=>`${t.schema}.${t.viewName}`),m=Re(),l=C(()=>t.connectionId?m.connections.find(g=>g.id===t.connectionId):m.selectedConnection),{data:u,status:y}=Ce("/api/views/indexes",{method:"POST",body:C(()=>({..._e(l.value),schema:t.schema,viewName:t.viewName})),key:`view-indexes-${s.value}`,onResponseError({response:g}){var o;n.value=((o=g._data)==null?void 0:o.message)||"Failed to load indexes"}},"$44YnrMDjVX"),r=C(()=>(u.value||[]).map(g=>({index_name:g.indexName,method:g.method,is_unique:g.isUnique,definition:g.definition}))),_=C(()=>r.value.length>0?Ye(r.value):Je(c)),w=C(()=>`${Xe(r.value.length)}px`),d=()=>{n.value=null,Ke(`view-indexes-${s.value}`)};return(g,o)=>{const p=$e,i=Me;return b(),N("div",Js,[a(p,{visible:e(y)==="pending"},null,8,["visible"]),e(n)?(b(),N("div",Xs,[a(e(qe),{variant:"destructive"},{default:f(()=>[a(e(je),{class:"flex items-center justify-between gap-2"},{default:f(()=>[v("span",null,V(e(n)),1),a(e(we),{variant:"outline",size:"xs",onClick:d},{default:f(()=>o[0]||(o[0]=[A("Retry")])),_:1})]),_:1})]),_:1})])):e(r).length?(b(),N("div",{key:1,style:Ee({maxHeight:`${e(Qe)}px`,height:e(w)})},[a(e(Ge),{columns:e(_),data:e(r),class:"h-full",columnKeyBy:"field"},null,8,["columns","data"])],4)):e(y)!=="pending"?(b(),N("div",Zs,[a(i,{title:"No Indexes",desc:"This materialized view has no indexes."})])):L("",!0)])}}}),tl={class:"rounded-md border p-2.5 relative"},nl={key:0,class:"p-2"},al={key:1,class:"space-y-1.5"},ol={class:"flex items-center gap-1 flex-wrap"},sl={key:0,class:"flex flex-wrap gap-1"},ll={class:"text-[10px] text-muted-foreground"},rl=X({__name:"ViewMetaInfo",props:{schema:{},viewName:{},connectionId:{}},setup(h){const t=h,c=Ve(),n=C(()=>`${t.schema}.${t.viewName}`),s=E(null),m=Re(),l=C(()=>t.connectionId?m.connections.find(o=>o.id===t.connectionId):m.selectedConnection),{data:u,status:y}=Ce("/api/views/meta",{method:"POST",body:C(()=>({..._e(l.value),schema:t.schema,viewName:t.viewName})),key:`view-meta-${n.value}`,getCachedData:()=>c.viewMetaMap[n.value]??void 0,onResponse({response:o}){o._data&&(c.viewMetaMap[n.value]=o._data)},onResponseError({response:o}){var p;s.value=((p=o._data)==null?void 0:p.message)||"Failed to load view metadata"}},"$pLysS3IkaY"),r=C(()=>{var o;return((o=u.value)==null?void 0:o.type)==="materialized"}),_=C(()=>r.value?"Materialized View":"Normal View"),w=C(()=>{var o,p,i,S;return r.value?{variant:(i=u.value)!=null&&i.isPopulated?"default":"destructive",label:`Populated: ${(S=u.value)!=null&&S.isPopulated?"Yes":"No"}`}:{variant:(o=u.value)!=null&&o.isUpdatable?"default":"outline",label:`Updatable: ${(p=u.value)!=null&&p.isUpdatable?"Yes":"No"}`}}),d=C(()=>{var o,p,i,S,T;return r.value?[{label:"Rows",value:((p=(o=u.value)==null?void 0:o.rowEstimate)==null?void 0:p.toLocaleString())??"—",mono:!0},{label:"Total",value:((i=u.value)==null?void 0:i.totalSize)??"—"},{label:"Table",value:((S=u.value)==null?void 0:S.tableSize)??"—"},{label:"Index",value:((T=u.value)==null?void 0:T.indexSize)??"—"}]:[]}),g=()=>{s.value=null,Ke(`view-meta-${n.value}`)};return(o,p)=>{const i=$e;return b(),N("div",tl,[a(i,{visible:e(y)==="pending"},null,8,["visible"]),e(s)?(b(),N("div",nl,[a(e(qe),{variant:"destructive"},{default:f(()=>[a(e(je),{class:"flex items-center justify-between gap-2"},{default:f(()=>[v("span",null,V(e(s)),1),a(e(we),{variant:"outline",size:"xs",onClick:g},{default:f(()=>p[0]||(p[0]=[A("Retry")])),_:1})]),_:1})]),_:1})])):e(u)?(b(),N("div",al,[v("div",ol,[a(e(xt),{variant:"secondary",class:"h-5 px-1.5 text-[10px]"},{default:f(()=>[A(V(e(_)),1)]),_:1}),a(e(xt),{variant:e(w).variant,class:"h-5 px-1.5 text-[10px]"},{default:f(()=>[A(V(e(w).label),1)]),_:1},8,["variant"])]),e(d).length?(b(),N("div",sl,[(b(!0),N(fe,null,Ae(e(d),S=>(b(),N("div",{key:S.label,class:"inline-flex items-center gap-1 rounded-md border bg-muted/20 px-1.5 py-0.5"},[v("span",ll,V(S.label),1),v("span",{class:Fe(["text-[11px] leading-none text-foreground",S.mono?"font-mono":"font-medium"])},V(S.value),3)]))),128))])):L("",!0)])):L("",!0)])}}}),il=X({__name:"VirtualTableDefinition",props:{schema:{},connectionId:{},viewName:{},viewId:{}},setup(h){const t=h,c=Re(),n=C(()=>t.connectionId?c.connections.find(u=>u.id===t.connectionId):c.selectedConnection),{data:s,status:m}=Ce("/api/views/definition",{method:"POST",body:C(()=>({..._e(n.value),viewId:t.viewId,schemaName:t.schema,viewName:t.viewName})),key:`${t.schema}.${t.viewId}`},"$ssZRsSgd3z"),l=C(()=>{var u;return(u=s.value)!=null&&u.definition?Xa(s.value.definition):""});return(u,y)=>{const r=$e,_=Pt,w=Me;return b(),N("div",{key:`${t.viewId}-${t.viewName}-${t.schema}`,class:"relative"},[a(r,{visible:e(m)==="pending"},null,8,["visible"]),e(l)?(b(),P(_,{key:0,code:e(l),"show-copy-button":"","max-height":"24rem"},null,8,["code"])):e(m)!=="pending"?(b(),P(w,{key:1,title:"No Definition",desc:"No SQL definition is available for this view."})):L("",!0)])}}}),cl={class:"h-full overflow-y-auto p-1.5"},ul={class:"space-y-3 pb-2"},dl={key:0,class:"space-y-1"},ml={key:1,class:"space-y-1"},pl={class:"space-y-1"},fl={class:"space-y-1"},vl={class:"rounded-md border"},yl={class:"space-y-1"},hl={class:"flex items-center gap-2"},gl={class:"rounded-md border"},bl={class:"space-y-1"},_l={class:"rounded-md border"},wl={class:"space-y-1"},Cl={class:"rounded-md border"},Sl={key:0,class:"space-y-1"},xl={key:1,class:"space-y-1"},Nl={class:"rounded-md border"},Tl={class:"space-y-1"},Rl={class:"rounded-md border"},Xn=X({__name:"StructureTable",props:{schema:{},tableName:{},connectionId:{},isVirtualTable:{type:Boolean},virtualTableId:{}},setup(h){const t=h,c=["column_name","data_type","is_nullable","default_value","foreign_keys","on_update","on_delete","column_comment"],n=Re(),s=C(()=>t.connectionId?n.connections.find(o=>o.id===t.connectionId):n.selectedConnection),{data:m,status:l}=Ce("/api/tables/structure",{method:"POST",body:C(()=>({..._e(s.value),schema:t.schema,tableName:t.tableName})),key:`${t.schema}.${t.tableName}`},"$ALIsatagCk"),u=C(()=>{const o=m.value||[];return o.length>0?Ye(o):Je(c)}),y=Ve(),r=C(()=>`${t.schema}.${t.tableName}`),{data:_}=Ce("/api/tables/rls",{method:"POST",body:C(()=>({..._e(s.value),schema:t.schema,table:t.tableName})),key:`rls-${r.value}`,immediate:!t.isVirtualTable},"$SfWGG2Nw15"),{data:w}=Ce("/api/views/meta",{method:"POST",body:C(()=>({..._e(s.value),schema:t.schema,viewName:t.tableName})),key:`view-meta-struct-${r.value}`,immediate:!!t.isVirtualTable,getCachedData:()=>{if(t.isVirtualTable)return y.viewMetaMap[r.value]},onResponse({response:o}){o._data&&t.isVirtualTable&&(y.viewMetaMap[r.value]=o._data)}},"$Et5thcVWGM"),d=C(()=>{var o;return((o=w.value)==null?void 0:o.type)==="materialized"}),g=C(()=>{const o=(m.value||[]).length;return`${Xe(o)}px`});return(o,p)=>{const i=$e;return b(),N("div",cl,[v("div",ul,[o.isVirtualTable?(b(),N("section",ml,[p[1]||(p[1]=v("div",null,[v("h3",{class:"text-sm font-medium"},"Meta Info"),v("p",{class:"text-xs text-muted-foreground"}," View type and storage metadata ")],-1)),a(rl,{connectionId:o.connectionId,schema:o.schema,viewName:o.tableName},null,8,["connectionId","schema","viewName"])])):(b(),N("section",dl,[p[0]||(p[0]=v("div",null,[v("h3",{class:"text-sm font-medium"},"Meta Info"),v("p",{class:"text-xs text-muted-foreground"}," Table type and storage metadata ")],-1)),a(Ks,{schema:o.schema,tableName:o.tableName,connectionId:o.connectionId},null,8,["schema","tableName","connectionId"])])),v("section",pl,[p[2]||(p[2]=v("div",null,[v("h3",{class:"text-sm font-medium"},"Columns"),v("p",{class:"text-xs text-muted-foreground"}," Table column structure and constraints ")],-1)),v("div",{class:"relative",style:Ee({maxHeight:`${e(Qe)}px`,height:e(g)})},[a(i,{visible:e(l)==="pending"},null,8,["visible"]),a(e(Ge),{columns:e(u),data:e(m)||[],class:"h-full border rounded-md",columnKeyBy:"field"},null,8,["columns","data"])],4)]),o.isVirtualTable?(b(),N(fe,{key:3},[o.virtualTableId?(b(),N("section",Sl,[p[8]||(p[8]=v("div",null,[v("h3",{class:"text-sm font-medium"},"Definition"),v("p",{class:"text-xs text-muted-foreground"},"View SQL definition")],-1)),a(il,{connectionId:o.connectionId,schema:o.schema,viewName:o.tableName,viewId:o.virtualTableId},null,8,["connectionId","schema","viewName","viewId"])])):L("",!0),e(d)?(b(),N("section",xl,[p[9]||(p[9]=v("div",null,[v("h3",{class:"text-sm font-medium"},"Indexes"),v("p",{class:"text-xs text-muted-foreground"}," Indexes on materialized view ")],-1)),v("div",Nl,[a(el,{schema:o.schema,viewName:o.tableName,connectionId:o.connectionId},null,8,["schema","viewName","connectionId"])])])):L("",!0),v("section",Tl,[p[10]||(p[10]=v("div",null,[v("h3",{class:"text-sm font-medium"},"Dependencies"),v("p",{class:"text-xs text-muted-foreground"}," Objects referenced by this view ")],-1)),v("div",Rl,[a(Ys,{schema:o.schema,viewName:o.tableName,connectionId:o.connectionId},null,8,["schema","viewName","connectionId"])])])],64)):(b(),N(fe,{key:2},[v("section",fl,[p[3]||(p[3]=v("div",null,[v("h3",{class:"text-sm font-medium"},"Indexes"),v("p",{class:"text-xs text-muted-foreground"}," Available indexes and definitions ")],-1)),v("div",vl,[a(Ns,{schema:o.schema,tableName:o.tableName,connectionId:o.connectionId},null,8,["schema","tableName","connectionId"])])]),v("section",yl,[v("div",null,[v("div",hl,[p[4]||(p[4]=v("h3",{class:"text-sm font-medium"},"RLS",-1)),e(_)?(b(),P(e(xt),{key:0,variant:e(_).enabled?"default":"secondary",class:"h-5 px-1.5 text-[10px]"},{default:f(()=>[A(V(e(_).enabled?"Enabled":"Disabled"),1)]),_:1},8,["variant"])):L("",!0)]),p[5]||(p[5]=v("p",{class:"text-xs text-muted-foreground"}," Row-level security status and policies ",-1))]),v("div",gl,[a(Is,{schema:o.schema,tableName:o.tableName,connectionId:o.connectionId},null,8,["schema","tableName","connectionId"])])]),v("section",bl,[p[6]||(p[6]=v("div",null,[v("h3",{class:"text-sm font-medium"},"Rules"),v("p",{class:"text-xs text-muted-foreground"}," Rewrite rules configured on this table ")],-1)),v("div",_l,[a(As,{schema:o.schema,tableName:o.tableName,connectionId:o.connectionId},null,8,["schema","tableName","connectionId"])])]),v("section",wl,[p[7]||(p[7]=v("div",null,[v("h3",{class:"text-sm font-medium"},"Triggers"),v("p",{class:"text-xs text-muted-foreground"}," Trigger status and trigger definitions ")],-1)),v("div",Cl,[a(zs,{schema:o.schema,tableName:o.tableName,connectionId:o.connectionId},null,8,["schema","tableName","connectionId"])])])],64))])])}}}),$l={class:"px-2"},Il={class:"px-2"},kl={class:"flex-1 overflow-hidden px-2 mb-0.5"},Ol={key:1,class:"h-full"},Zn=X({__name:"ReferencedTable",props:{tableName:{},schemaName:{},initFilters:{},connectionId:{},workspaceId:{}},emits:["onOpenBackReferencedTableModal","onOpenForwardReferencedTableModal"],setup(h,{emit:t}){const c=h,n=E(),s=t,{quickQueryFilterRef:m,quickQueryTableRef:l,selectedRows:u,focusedCell:y}=jn(),r=Tt(),_=Re(),{onRequestSafeModeConfirm:w,onSafeModeCancel:d,onSafeModeConfirm:g,safeModeDialogOpen:o,safeModeDialogSql:p,safeModeDialogType:i}=Hn(),S=C(()=>_.connections.find(J=>J.id===c.connectionId)),{columnNames:T,foreignKeys:ee,primaryKeyColumns:oe,tableMetaData:j,columnTypes:ue,foreignKeyColumns:de}=zn({tableName:c.tableName,schemaName:c.schemaName,connectionId:c.connectionId,tabViewType:wt.TableDetail}),{onApplyNewFilter:$,data:O,baseQueryString:z,refreshTableData:me,refreshCount:Se,isAllowNextPage:ye,isAllowPreviousPage:I,onNextPage:x,onPreviousPage:R,onUpdatePagination:D,totalRows:G,pagination:F,errorMessage:M,openErrorModal:B,orderBy:U,onUpdateOrderBy:ne,addHistoryLog:ie,filters:se,isShowFilters:k,composeWith:H,onChangeComposeWith:ae,isFetchingTableData:ve}=qn({connection:S,primaryKeys:oe,columns:T,connectionId:C(()=>c.connectionId),workspaceId:C(()=>c.workspaceId),tableName:c.tableName,schemaName:c.schemaName,isPersist:!1,initFilters:(c==null?void 0:c.initFilters)||[],initComposeWith:dt.OR});Te(j,J=>{J&&(se.value=(c==null?void 0:c.initFilters)||[],Se(),me())},{deep:!0,immediate:!0});const{isMutating:pe,onAddEmptyRow:W,onDeleteRows:le,onSaveData:Ze,hasEditedRows:et,onCopyRows:ot,onPasteRows:st,onRefresh:ft,onSelectedRowsChange:vt,onCopySelectedCell:lt,onFocusedCellChange:Rt,onDeselectAll:yt}=Qn({tableName:c.tableName,schemaName:c.schemaName,primaryKeys:oe,refreshTableData:me,columnNames:T,data:O,addHistoryLog:ie,errorMessage:M,openErrorModal:B,selectedRows:u,pagination:F,quickQueryTableRef:l,refreshCount:Se,focusedCell:y,connection:S,safeModeEnabled:Ct(r,"quickQuerySafeModeEnabled"),onRequestSafeModeConfirm:w}),Pe=E(te.Data),$t=async()=>{var Z,De,Be;const J=(Z=l.value)==null?void 0:Z.cellContextMenu;if(J){const re=J.colDef.field||"",It=J.value,gt={fieldName:re,isSelect:!0,operator:Y.EQUAL,search:It};(De=m.value)==null||De.insert(se.value.length,gt),(Be=m==null?void 0:m.value)==null||Be.onShowSearch(),se.value.push(gt),$()}},{isHaveRelationByFieldName:ht}=Yt({schemaName:c.schemaName,tableName:c.tableName}),rt=E({[te.Data]:!0,[te.Structure]:!1,[te.Erd]:!1});return Te(Pe,J=>{rt.value[J]=!0}),mt([{key:"meta+a",callback:()=>{var J,Z;(Z=(J=l.value)==null?void 0:J.gridApi)==null||Z.selectAll()},excludeInput:!0,isPreventDefault:!0},{key:"meta+c",callback:()=>{lt()},excludeInput:!0},{key:"meta+v",callback:()=>st(),excludeInput:!0},{key:"meta+s",callback:()=>Ze(),isPreventDefault:!0},{key:"meta+alt+backspace",callback:()=>{le()},isPreventDefault:!0}],{target:n}),(J,Z)=>{var De,Be;return b(),N(fe,null,[a(On,{open:e(B),"onUpdate:open":Z[0]||(Z[0]=re=>Oe(B)?B.value=re:null),message:e(M)||""},null,8,["open","message"]),a(En,{open:e(o),"onUpdate:open":Z[1]||(Z[1]=re=>Oe(o)?o.value=re:null),sql:e(p),type:e(i),onConfirm:e(g),onCancel:e(d)},null,8,["open","sql","type","onConfirm","onCancel"]),v("div",{ref_key:"containerRef",ref:n,class:"flex flex-col h-full w-full relative",tabindex:"0"},[a(e($e),{visible:e(pe)||e(ve)},null,8,["visible"]),v("div",$l,[a(Wn,{"total-selected-rows":(De=e(u))==null?void 0:De.length,isAllowNextPage:e(ye),isAllowPreviousPage:e(I),totalRows:e(G),limit:e(F).limit,currentTotalRows:((Be=e(O))==null?void 0:Be.length)||0,offset:e(F).offset,"has-edited-rows":e(et),onOnPaginate:e(D),onOnNextPage:e(x),onOnPreviousPage:e(R),onOnRefresh:e(ft),onOnSaveData:e(Ze),onOnDeleteRows:e(le),onOnAddEmptyRow:e(W),onOnShowFilter:Z[2]||(Z[2]=async()=>{var re;await((re=e(m))==null?void 0:re.onShowSearch())}),tabView:e(Pe),"onUpdate:tabView":Z[3]||(Z[3]=re=>Oe(Pe)?Pe.value=re:null)},null,8,["total-selected-rows","isAllowNextPage","isAllowPreviousPage","totalRows","limit","currentTotalRows","offset","has-edited-rows","onOnPaginate","onOnNextPage","onOnPreviousPage","onOnRefresh","onOnSaveData","onOnDeleteRows","onOnAddEmptyRow","tabView"])]),v("div",Il,[e(Pe)===e(te).Data?(b(),P(Gn,{key:0,ref_key:"quickQueryFilterRef",ref:m,onOnSearch:Z[4]||(Z[4]=()=>{e($)()}),onOnUpdateFilters:Z[5]||(Z[5]=re=>{se.value=re}),isShowFilters:e(k),"onUpdate:isShowFilters":Z[6]||(Z[6]=re=>Oe(k)?k.value=re:null),initFilters:e(se),baseQuery:e(z),columns:e(T),dbType:e(We).POSTGRES,composeWith:e(H),onOnChangeComposeWith:e(ae)},null,8,["isShowFilters","initFilters","baseQuery","columns","dbType","composeWith","onOnChangeComposeWith"])):L("",!0)]),v("div",kl,[e(rt)[e(te).Erd]?Le((b(),P(kn,{key:0,tableId:e(xn)({tableName:J.tableName,schemaName:J.schemaName})},null,8,["tableId"])),[[He,e(Pe)===e(te).Erd]]):L("",!0),e(rt)[e(te).Structure]?Le((b(),N("div",Ol,[a(Xn,{schema:J.schemaName,tableName:J.tableName,connectionId:J.connectionId},null,8,["schema","tableName","connectionId"])],512)),[[He,e(Pe)===e(te).Structure]]):L("",!0),Le(a(Yn,{"total-selected-rows":e(u).length,"has-edited-rows":e(et),selectedRows:e(u),"table-name":J.tableName,"schema-name":J.schemaName,isReferencedTable:"",onOnPaginate:e(D),onOnNextPage:e(x),onOnPreviousPage:e(R),onOnRefresh:e(ft),onOnSaveData:e(Ze),onOnDeleteRows:e(le),onOnAddEmptyRow:e(W),onOnFilterByValue:$t,onOnCopyRows:e(ot),onOnPasteRows:e(st),onOnCopySelectedCell:e(lt)},{default:f(()=>[a(Jn,{class:"h-full border rounded-md",ref_key:"quickQueryTableRef",ref:l,"selected-rows":e(u),data:e(O)||[],orderBy:e(U),onOnSelectedRows:e(vt),"onUpdate:orderBy":e(ne),onOnOpenBackReferencedTableModal:Z[7]||(Z[7]=re=>s("onOpenBackReferencedTableModal",re)),onOnOpenForwardReferencedTableModal:Z[8]||(Z[8]=re=>s("onOpenForwardReferencedTableModal",re)),isHaveRelationByFieldName:e(ht),foreignKeyColumns:e(de),foreignKeys:e(ee),primaryKeyColumns:e(oe),columnTypes:e(ue),defaultPageSize:e(Nt),offset:e(F).offset,onOnFocusCell:e(Rt),"current-schema-name":J.schemaName,"current-table-name":J.tableName,onOnClickOutSide:e(yt)},null,8,["selected-rows","data","orderBy","onOnSelectedRows","onUpdate:orderBy","isHaveRelationByFieldName","foreignKeyColumns","foreignKeys","primaryKeyColumns","columnTypes","defaultPageSize","offset","onOnFocusCell","current-schema-name","current-table-name","onOnClickOutSide"])]),_:1},8,["total-selected-rows","has-edited-rows","selectedRows","table-name","schema-name","onOnPaginate","onOnNextPage","onOnPreviousPage","onOnRefresh","onOnSaveData","onOnDeleteRows","onOnAddEmptyRow","onOnCopyRows","onOnPasteRows","onOnCopySelectedCell"]),[[He,e(Pe)===e(te).Data]])])],512)],64)}}}),El={class:"flex justify-between items-center gap-2 w-full"},Al={class:"relative w-full"},Pl={class:"flex flex-1"},Dl=X({__name:"BackReferencedTable",props:{tableName:{},schemaName:{},columnName:{},recordId:{},selectedTab:{},connectionId:{},workspaceId:{},rootSchemaName:{}},emits:["onOpenBackReferencedTableModal","onOpenForwardReferencedTableModal","update:selectedTab"],setup(h,{emit:t}){const c=h,n=t,{reverseTables:s}=Yt({schemaName:c.schemaName,tableName:c.tableName}),m=E(""),l=C(()=>{var p;const d=new Map,g=rn((p=s.value)==null?void 0:p.used_by)||[];for(const i of g)i.referenced_column===c.columnName&&d.set(i.referencing_table,{table:i.referencing_table,schema:i.referencing_schema});let o=[...d.values()].sort((i,S)=>i.table.localeCompare(S.table));if(m.value){const i=m.value.toLowerCase();o=o.filter(S=>S.table.toLowerCase().includes(i))}return o});_n(()=>{!c.selectedTab&&l.value.length>0&&n("update:selectedTab",l.value[0].table,l.value[0].schema)});const u=d=>{var p;if(!d)return[];const g=[],o=rn((p=s.value)==null?void 0:p.used_by)||[];for(const i of o)if(i.referencing_table===d){const S={fieldName:i.fk_column,operator:Y.EQUAL,search:c.recordId,isSelect:!0};g.push(S)}return g},y=d=>{const{schemaName:g,tableName:o}=w(d);n("update:selectedTab",o,g)},r=d=>{const g=d.target;g instanceof HTMLElement&&g.scrollIntoView({behavior:"smooth",block:"nearest",inline:"center"})},_=d=>`${d.schema}.${d.table}`,w=d=>{const[g,o]=d.split(".");return{schemaName:g,tableName:o}};return(d,g)=>{const o=Wt,p=Ht,i=ce,S=zt;return b(),P(S,{"model-value":_({table:d.selectedTab||"",schema:d.schemaName}),"onUpdate:modelValue":g[4]||(g[4]=T=>y(T)),class:"flex-1 flex-wrap h-full w-full"},{default:f(()=>[v("div",El,[a(p,{class:"overflow-x-auto w-full justify-start!"},{default:f(()=>[(b(!0),N(fe,null,Ae(e(l),T=>(b(),P(o,{class:"cursor-pointer font-normal! flex-none!",onClick:r,value:_(T),key:_(T)},{default:f(()=>[A(V(d.rootSchemaName===T.schema?null:`${T.schema}.`)+V(T.table),1)]),_:2},1032,["value"]))),128))]),_:1}),v("div",null,[v("div",Al,[a(e(at),{type:"text",placeholder:"Search tables",class:"pr-6 w-48 h-8",modelValue:e(m),"onUpdate:modelValue":g[0]||(g[0]=T=>Oe(m)?m.value=T:null)},null,8,["modelValue"]),e(m)?(b(),N("div",{key:0,class:"absolute right-2 top-1.5 w-4 cursor-pointer hover:bg-accent",onClick:g[1]||(g[1]=T=>m.value="")},[a(i,{name:"lucide:x",class:"stroke-3! text-muted-foreground"})])):L("",!0)])])]),v("div",Pl,[(b(),P(Nn,null,[(b(),P(Zn,{key:d.selectedTab,tableName:d.selectedTab||"","schema-name":d.schemaName,"init-filters":u(d.selectedTab),connectionId:c.connectionId,workspaceId:c.workspaceId,onOnOpenBackReferencedTableModal:g[2]||(g[2]=T=>n("onOpenBackReferencedTableModal",T)),onOnOpenForwardReferencedTableModal:g[3]||(g[3]=T=>n("onOpenForwardReferencedTableModal",T))},null,8,["tableName","schema-name","init-filters","connectionId","workspaceId"]))],1024))])]),_:1},8,["model-value"])}}}),Fl={class:"flex flex-1"},Ml=X({__name:"ForwardReferencedTable",props:{tableName:{},schemaName:{},columnName:{},recordId:{},connectionId:{},workspaceId:{}},emits:["onOpenBackReferencedTableModal","onOpenForwardReferencedTableModal"],setup(h,{emit:t}){const c=h,n=t,s=()=>[{fieldName:c.columnName,operator:Y.EQUAL,search:c.recordId,isSelect:!0}];return(m,l)=>(b(),N("div",Fl,[(b(),P(Zn,{key:e(pt)(),tableName:m.tableName,"schema-name":m.schemaName,"init-filters":s(),connectionId:c.connectionId,workspaceId:c.workspaceId,onOnOpenBackReferencedTableModal:l[0]||(l[0]=u=>n("onOpenBackReferencedTableModal",u)),onOnOpenForwardReferencedTableModal:l[1]||(l[1]=u=>n("onOpenForwardReferencedTableModal",u))},null,8,["tableName","schema-name","init-filters","connectionId","workspaceId"]))]))}}),Bl={class:"flex items-center"},Ll=X({__name:"PreviewRelationTable",props:{open:{type:Boolean},breadcrumbs:{},currentTableName:{},connectionId:{},workspaceId:{},rootSchemaName:{}},emits:["onBackPreviousBreadcrumbByIndex","onBackPreviousBreadcrumb","clearBreadcrumb","onUpdateSelectedTabInBreadcrumb","onOpenBackReferencedTableModal","onOpenForwardReferencedTableModal"],setup(h,{emit:t}){const c=t,n=h,s=C(()=>n.breadcrumbs.length?n.breadcrumbs[n.breadcrumbs.length-1]:null),m=(u,y)=>{c("onUpdateSelectedTabInBreadcrumb",n.breadcrumbs.length-1,u,y)},l=u=>u.type==="backReferenced"?n.rootSchemaName===u.schemaName?u.selectedTab:`${u.schemaName}.${u.selectedTab}`:`${u.schemaName}.${u.tableName}`;return(u,y)=>{const r=ce,_=we,w=xa,d=Sa,g=Ca,o=wa,p=_a;return b(),P(e(ga),{open:u.open,"onUpdate:open":y[4]||(y[4]=i=>u.$emit("clearBreadcrumb"))},{default:f(()=>[a(e(ba),{class:"w-[98dvw]! max-w-[98dvw]! max-h-[95dvh] h-[95dvh] gap-1 p-3 flex flex-col flex-1 flex-wrap overflow-hidden"},{default:f(()=>{var i;return[a(p,null,{default:f(()=>[a(o,null,{default:f(()=>[v("div",Bl,[a(_,{onClick:y[0]||(y[0]=S=>u.$emit("onBackPreviousBreadcrumb")),size:"iconMd",variant:"secondary"},{default:f(()=>[a(r,{name:"hugeicons:arrow-left-02",class:"size-4!"})]),_:1}),a(g,null,{default:f(()=>[a(d,{class:"gap-0.5!"},{default:f(()=>[a(e(cn),{class:"hover:cursor-pointer"},{default:f(()=>[a(e(dn),{onClick:y[1]||(y[1]=S=>c("clearBreadcrumb"))},{default:f(()=>[A(V(u.currentTableName),1)]),_:1})]),_:1}),a(w),(b(!0),N(fe,null,Ae(u.breadcrumbs,(S,T)=>(b(),N(fe,null,[a(e(cn),{class:Fe([T!==u.breadcrumbs.length-1&&"hover:cursor-pointer"])},{default:f(()=>[T===u.breadcrumbs.length-1?(b(),P(e(Na),{key:0},{default:f(()=>[A(V(l(S)),1)]),_:2},1024)):(b(),P(e(dn),{key:1,onClick:ee=>c("onBackPreviousBreadcrumbByIndex",T)},{default:f(()=>[A(V(l(S)),1)]),_:2},1032,["onClick"]))]),_:2},1032,["class"]),T<u.breadcrumbs.length-1?(b(),P(w,{key:0})):L("",!0)],64))),256))]),_:1})]),_:1})])]),_:1})]),_:1}),(b(),P(Nn,null,[e(s)?(b(),P(Ta(((i=e(s))==null?void 0:i.type)==="backReferenced"?Dl:Ml),Ra({key:e(s).id},{columnName:e(s).columnName,recordId:e(s).recordId,schemaName:e(s).schemaName,tableName:e(s).tableName,selectedTab:e(s).selectedTab,connectionId:n.connectionId,workspaceId:n.workspaceId,rootSchemaName:n.rootSchemaName},{onOnOpenBackReferencedTableModal:y[2]||(y[2]=S=>c("onOpenBackReferencedTableModal",S)),onOnOpenForwardReferencedTableModal:y[3]||(y[3]=S=>c("onOpenForwardReferencedTableModal",S)),"onUpdate:selectedTab":m}),null,16)):L("",!0)],1024))]}),_:1})]),_:1},8,["open"])}}}),Ul=["innerHTML"],Vl=X({__name:"QuickQueryHistoryLogItem",props:{log:{},highlighter:{}},setup(h){const t=h,c=E("");return Te([()=>t.log,()=>t.highlighter],async()=>{const n=(t.log||"").trim();t.highlighter&&(c.value=t.highlighter.codeToHtml(n,{lang:"plsql",theme:"catppuccin-latte"}))},{immediate:!0}),(n,s)=>(b(),N("div",{class:"[&_code]:text-wrap w-full [&>.catppuccin-latte]:bg-background!",innerHTML:c.value},null,8,Ul))}}),Kl={class:"flex flex-1 flex-col h-full"},ql={class:"flex flex-1 h-full items-center justify-between"},jl={class:"flex items-center gap-1"},Ql={key:0,class:"flex items-center justify-center h-full w-full"},zl=["data-index"],Hl={class:"pb-2 leading-relaxed text-xs"},Wl={class:"text-[10px]"},Gl={class:"text-[10px]"},Yl=X({__name:"QuickQueryHistoryLogsPanel",props:{tableName:{},schemaName:{}},setup(h){const t=h,c=E("all"),n=Bn(),{qqLogs:s}=Mt(n),m=C(()=>c.value==="all"?s.value:n.getLogsByTableId(t)),l=jt("wrapperRef"),{height:u}=$a(l),y=E(null),r=Ia({get count(){return m.value.length},getScrollElement:()=>y.value,estimateSize:()=>39}),_=C(()=>r.value.getVirtualItems()),w=C(()=>r.value.getTotalSize()),d=p=>{p&&r.value.measureElement(p)},g=p=>new Date(p).toLocaleString(),o=E();return ka(async()=>{const p=to({themes:[oo],langs:[ao],engine:no()});o.value=await p}),Oa(async()=>{r.value&&(await Ue(),r.value.scrollToIndex(m.value.length-1))}),Te(()=>m.value,async()=>{r.value&&(await Ue(),r.value.scrollToIndex(m.value.length-1))},{deep:!0}),(p,i)=>{const S=Wt,T=Ht,ee=zt,oe=ce,j=we,ue=Me,de=Tn,$=Rn;return b(),N("div",Kl,[v("div",ql,[a(ee,{modelValue:c.value,"onUpdate:modelValue":i[0]||(i[0]=O=>c.value=O),class:"pt-1"},{default:f(()=>[a(T,{class:"h-7!"},{default:f(()=>[a(S,{value:"all",class:"h-5! font-medium text-xs cursor-pointer text-primary/80"},{default:f(()=>i[2]||(i[2]=[A(" All logs ")])),_:1},8,["value"]),a(S,{value:"one-table",class:"h-5! font-medium text-xs cursor-pointer text-primary/80"},{default:f(()=>i[3]||(i[3]=[A(" Only this table ")])),_:1},8,["value"])]),_:1})]),_:1},8,["modelValue"]),i[8]||(i[8]=v("div",null,[v("p",{class:"font-medium text-xs"},"Logs history")],-1)),v("div",jl,[c.value==="all"?(b(),P(e(he),{key:0},{default:f(()=>[a(e(ge),{"as-child":""},{default:f(()=>[a(j,{variant:"outline",size:"xxs",onClick:e(n).deleteAllLogs},{default:f(()=>[a(oe,{name:"lucide:trash"}),i[4]||(i[4]=v("p",{class:"font-normal"},"Delete all logs",-1))]),_:1},8,["onClick"])]),_:1}),a(e(be),null,{default:f(()=>i[5]||(i[5]=[v("p",null,"Delete all logs",-1)])),_:1})]),_:1})):(b(),P(e(he),{key:1},{default:f(()=>[a(e(ge),{"as-child":""},{default:f(()=>[a(j,{variant:"outline",size:"xxs",onClick:i[1]||(i[1]=O=>e(n).deleteLogsOfTable(t))},{default:f(()=>[a(oe,{name:"lucide:trash"}),i[6]||(i[6]=v("p",{class:"font-normal"},"Delete logs",-1))]),_:1})]),_:1}),a(e(be),null,{default:f(()=>i[7]||(i[7]=[v("p",null,"Delete logs for this table",-1)])),_:1})]),_:1}))])]),m.value.length?(b(),P($,{key:1,class:"py-0 mt-1 h-full rounded-none shadow-none border-none overflow-auto",ref_key:"wrapperRef",ref:l},{default:f(()=>[a(de,{class:"p-0"},{default:f(()=>{var O;return[v("div",{ref_key:"parentRef",ref:y,style:Ee({height:`${e(u)}px`}),class:"w-full overflow-y-auto contain-strict h-full"},[v("div",{style:Ee({height:`${w.value}px`,width:"100%",position:"relative"})},[v("div",{style:Ee({position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${((O=_.value[0])==null?void 0:O.start)??0}px)`})},[(b(!0),N(fe,null,Ae(_.value,z=>(b(),N("div",{key:z.key.toString(),"data-index":z.index,ref_for:!0,ref:d},[v("div",Hl,[v("span",Wl,"["+V(g(m.value[z.index].createdAt))+"] ",1),v("span",Gl," : "+V(e(so)(m.value[z.index].queryTime||0)),1),a(Vl,{highlighter:o.value,log:m.value[z.index].logs},null,8,["highlighter","log"])])],8,zl))),128))],4)],4)],4)]}),_:1})]),_:1},512)):(b(),N("div",Ql,[a(ue,{title:"No logs found",desc:"There are no execution logs to display for this table."})]))])}}}),Jl=({quickQueryTableRef:h})=>{const t=E(void 0),c=()=>{var m,l,u,y,r,_,w;t.value=void 0,(u=(l=(m=h.value)==null?void 0:m.gridApi)==null?void 0:l.ensureIndexVisible)==null||u.call(l,0,"top"),(r=(y=h.value)==null?void 0:y.gridApi)==null||r.refreshHeader(),(w=(_=h.value)==null?void 0:_.gridApi)==null||w.refreshCells({force:!0})},n=m=>{var l,u,y,r,_,w;m&&((u=(l=h.value)==null?void 0:l.gridApi)==null||u.ensureColumnVisible(m,"middle"),(r=(y=h.value)==null?void 0:y.gridApi)==null||r.refreshCells({force:!0}),(w=(_=h.value)==null?void 0:_.gridApi)==null||w.refreshHeader())};return{resetGridState:c,selectedColumnFieldId:t,handleSelectColumn:m=>{t.value=m,n(m)}}},Xl={class:"px-1"},Zl={class:"px-2"},er={class:"flex-1 overflow-hidden px-1 mb-0.5"},tr={key:1,class:"h-full"},kr=X({__name:"QuickQuery",props:{connectionId:{},workspaceId:{},tableName:{},schemaName:{},tabViewType:{},virtualTableId:{}},setup(h){const t=h,c=Tt(),n=Re(),s=C(()=>{const K=n.connections.find(Q=>Q.id===t.connectionId);return(K==null?void 0:K.connectionString)||""}),m=C(()=>t.tableName),l=C(()=>t.schemaName),u=E([]),y=E(),{onRequestSafeModeConfirm:r,onSafeModeCancel:_,onSafeModeConfirm:w,safeModeDialogOpen:d,safeModeDialogSql:g,safeModeDialogType:o}=Hn(),{quickQueryFilterRef:p,quickQueryTableRef:i,selectedRows:S,focusedCell:T}=jn(),{columnNames:ee,foreignKeys:oe,primaryKeyColumns:j,tableMetaData:ue,columnTypes:de,foreignKeyColumns:$,isVirtualTable:O}=zn({tableName:m.value,schemaName:l.value,connectionId:t.connectionId,tabViewType:t.tabViewType}),{onApplyNewFilter:z,data:me,baseQueryString:Se,refreshTableData:ye,refreshCount:I,isAllowNextPage:x,isAllowPreviousPage:R,onNextPage:D,onPreviousPage:G,onUpdatePagination:F,totalRows:M,pagination:B,errorMessage:U,openErrorModal:ne,orderBy:ie,onUpdateOrderBy:se,addHistoryLog:k,filters:H,isShowFilters:ae,onChangeComposeWith:ve,composeWith:pe,isFetchingTableData:W}=qn({connection:Ct(n,"selectedConnection"),primaryKeys:j,columns:ee,connectionId:C(()=>t.connectionId),workspaceId:C(()=>t.workspaceId),tableName:m.value,schemaName:l.value});Te(ue,K=>{K!=null&&K.columns&&K.columns.length>0&&(I(),ye())},{deep:!0,immediate:!0});const{isMutating:le,onAddEmptyRow:Ze,onDeleteRows:et,onSaveData:ot,hasEditedRows:st,onCopyRows:ft,onPasteRows:vt,onRefresh:lt,onSelectedRowsChange:Rt,onCopySelectedCell:yt,onFocusedCellChange:Pe}=Qn({tableName:m.value,schemaName:l.value,primaryKeys:j,refreshTableData:ye,columnNames:ee,data:me,addHistoryLog:k,errorMessage:U,openErrorModal:ne,selectedRows:S,pagination:B,quickQueryTableRef:i,refreshCount:I,focusedCell:T,safeModeEnabled:Ct(c,"quickQuerySafeModeEnabled"),onRequestSafeModeConfirm:r,connection:Ct(n,"selectedConnection")}),{handleSelectColumn:$t,selectedColumnFieldId:ht,resetGridState:rt}=Jl({quickQueryTableRef:i}),J=E(te.Data),Z=E({[te.Data]:!0,[te.Structure]:!1,[te.Erd]:!1}),De=E(!0);Sn(()=>{De.value=!0}),Ea(()=>{De.value=!1});const Be=({id:K,tableName:Q,columnName:Ie,schemaName:ke})=>{u.value.push({id:pt(),type:"backReferenced",schemaName:ke,tableName:Q,columnName:Ie,recordId:K})},re=({id:K,tableName:Q,columnName:Ie,schemaName:ke})=>{u.value.push({id:pt(),type:"forwardReferenced",schemaName:ke,tableName:Q,columnName:Ie,recordId:K})},It=async()=>{var Q,Ie,ke;const K=(Q=i.value)==null?void 0:Q.cellContextMenu;if(K){const bt=K.colDef.field||"",_t=K.value,it={fieldName:bt,isSelect:!0,operator:Y.EQUAL,search:_t};(Ie=p.value)==null||Ie.insert(H.value.length,it),(ke=p==null?void 0:p.value)==null||ke.onShowSearch(),H.value.push(it),z()}},{isHaveRelationByFieldName:gt}=Yt({schemaName:l.value,tableName:m.value});Te(J,K=>{Z.value[K]=!0,K!==te.Data&&c.onCloseBottomPanel()});const tt=C(()=>u.value.length>0),kt=C(()=>O.value);mt([{key:"meta+a",callback:()=>{var K,Q;tt.value||(Q=(K=i.value)==null?void 0:K.gridApi)==null||Q.selectAll()},excludeInput:!0,isPreventDefault:!0},{key:"meta+c",callback:()=>{tt.value||yt()},excludeInput:!0},{key:"meta+v",callback:()=>{tt.value||vt()},excludeInput:!0},{key:"meta+s",callback:()=>{tt.value||kt.value||ot()},isPreventDefault:!0},{key:"meta+alt+backspace",callback:()=>{tt.value||kt.value||et()},isPreventDefault:!0}],{target:y}),mt([{key:"meta+f",callback:async()=>{var K;tt.value||await((K=p.value)==null?void 0:K.onShowSearch())}}]);const Jt=E();Te(()=>{var K;return(K=i.value)==null?void 0:K.columnDefs},()=>{var K,Q;(K=i.value)!=null&&K.columnDefs&&(Jt.value=(Q=i.value)==null?void 0:Q.columnDefs)},{immediate:!0,deep:!0});const ea=(K,Q,Ie)=>{u.value[K]&&(u.value[K].selectedTab=Q,u.value[K].schemaName=Ie)},ta=()=>{u.value=[]},na=()=>{u.value.pop()},aa=K=>{const Q=u.value.filter((Ie,ke)=>ke<=K);u.value=Q};return(K,Q)=>{var ke,bt,_t,it,Xt,Zt;const Ie=$e;return b(),N(fe,null,[e(u).length?(b(),P(Ll,{key:0,open:e(u).length>0,breadcrumbs:e(u),currentTableName:e(m),connectionId:K.connectionId,workspaceId:K.workspaceId,rootSchemaName:e(l),onClearBreadcrumb:ta,onOnOpenBackReferencedTableModal:Be,onOnOpenForwardReferencedTableModal:re,onOnUpdateSelectedTabInBreadcrumb:ea,onOnBackPreviousBreadcrumb:na,onOnBackPreviousBreadcrumbByIndex:aa},null,8,["open","breadcrumbs","currentTableName","connectionId","workspaceId","rootSchemaName"])):L("",!0),a(En,{open:e(d),"onUpdate:open":Q[0]||(Q[0]=Ne=>Oe(d)?d.value=Ne:null),sql:e(g),type:e(o),onConfirm:e(w),onCancel:e(_)},null,8,["open","sql","type","onConfirm","onCancel"]),e(De)?(b(),P(un,{key:1,defer:"",to:"#preview-select-row"},[((ke=e(S))==null?void 0:ke.length)!==1||e(J)!==e(te).Data?(b(),P(So,{key:0,"table-name":e(m),"schema-name":e(l),columns:e(Jt),columnTypes:e(de),selectedColumnFieldId:e(ht),handleSelectColumn:e($t),onResetSelectedCol:e(rt)},null,8,["table-name","schema-name","columns","columnTypes","selectedColumnFieldId","handleSelectColumn","onResetSelectedCol"])):(b(),P(Mo,{key:1,columnTypes:e(de),selectedRow:(bt=e(S))!=null&&bt.length?e(S)[0]:null},null,8,["columnTypes","selectedRow"]))])):L("",!0),e(De)?(b(),P(un,{key:2,defer:"",to:"#bottom-panel"},[a(Yl,{tableName:e(m),"schema-name":e(l)},null,8,["tableName","schema-name"])])):L("",!0),a(On,{open:e(ne),"onUpdate:open":Q[1]||(Q[1]=Ne=>Oe(ne)?ne.value=Ne:null),message:e(U)||""},null,8,["open","message"]),v("div",{ref_key:"containerRef",ref:y,class:"flex flex-col h-full w-full relative",tabindex:"0"},[a(Ie,{visible:e(le)||e(W)},null,8,["visible"]),v("div",Xl,[a(Wn,{"total-selected-rows":(_t=e(S))==null?void 0:_t.length,isAllowNextPage:e(x),isAllowPreviousPage:e(R),totalRows:e(M),limit:e(B).limit,currentTotalRows:((it=e(me))==null?void 0:it.length)||0,offset:e(B).offset,"has-edited-rows":e(st),isViewVirtualTable:e(O),onOnPaginate:e(F),onOnNextPage:e(D),onOnPreviousPage:e(G),onOnRefresh:e(lt),onOnSaveData:e(ot),onOnDeleteRows:e(et),onOnAddEmptyRow:e(Ze),onOnShowFilter:Q[2]||(Q[2]=()=>{var Ne;(Ne=e(p))==null||Ne.onShowSearch()}),onOnToggleHistoryPanel:e(c).onToggleBottomPanel,tabView:e(J),"onUpdate:tabView":Q[3]||(Q[3]=Ne=>Oe(J)?J.value=Ne:null)},null,8,["total-selected-rows","isAllowNextPage","isAllowPreviousPage","totalRows","limit","currentTotalRows","offset","has-edited-rows","isViewVirtualTable","onOnPaginate","onOnNextPage","onOnPreviousPage","onOnRefresh","onOnSaveData","onOnDeleteRows","onOnAddEmptyRow","onOnToggleHistoryPanel","tabView"])]),v("div",Zl,[e(J)===e(te).Data?(b(),P(Gn,{key:0,ref_key:"quickQueryFilterRef",ref:p,onOnSearch:Q[4]||(Q[4]=()=>{e(z)()}),onOnUpdateFilters:Q[5]||(Q[5]=Ne=>{H.value=Ne}),isShowFilters:e(ae),"onUpdate:isShowFilters":Q[6]||(Q[6]=Ne=>Oe(ae)?ae.value=Ne:null),initFilters:e(H),baseQuery:e(Se),columns:e(ee),dbType:e(We).POSTGRES,composeWith:e(pe),onOnChangeComposeWith:e(ve)},null,8,["isShowFilters","initFilters","baseQuery","columns","dbType","composeWith","onOnChangeComposeWith"])):L("",!0)]),v("div",er,[e(Z)[e(te).Erd]?Le((b(),P(kn,{key:0,tableId:e(xn)({tableName:e(m),schemaName:e(l)})},null,8,["tableId"])),[[He,e(J)===e(te).Erd]]):L("",!0),e(Z)[e(te).Structure]?Le((b(),N("div",tr,[a(Xn,{isVirtualTable:e(O),schema:e(l),tableName:e(m),connectionString:e(s),virtualTableId:t.virtualTableId},null,8,["isVirtualTable","schema","tableName","connectionString","virtualTableId"])],512)),[[He,e(J)===e(te).Structure]]):L("",!0),Le(a(Yn,{data:e(me),"total-selected-rows":e(S).length,"has-edited-rows":e(st),cellContextMenu:(Xt=e(i))==null?void 0:Xt.cellContextMenu,cellHeaderContextMenu:(Zt=e(i))==null?void 0:Zt.cellHeaderContextMenu,selectedRows:e(S),"table-name":e(m),"schema-name":e(l),onOnClearContextMenu:Q[7]||(Q[7]=Ne=>{var en;return(en=e(i))==null?void 0:en.clearCellContextMenu()}),onOnPaginate:e(F),onOnNextPage:e(D),onOnPreviousPage:e(G),onOnRefresh:e(lt),onOnSaveData:e(ot),onOnDeleteRows:e(et),onOnAddEmptyRow:e(Ze),onOnFilterByValue:It,onOnCopyRows:e(ft),onOnPasteRows:e(vt),onOnCopySelectedCell:e(yt)},{default:f(()=>[a(Jn,{class:"h-full border rounded-md",ref_key:"quickQueryTableRef",ref:i,"selected-rows":e(S),data:e(me)||[],orderBy:e(ie),onOnSelectedRows:e(Rt),"onUpdate:orderBy":e(se),onOnOpenBackReferencedTableModal:Be,onOnOpenForwardReferencedTableModal:re,isHaveRelationByFieldName:e(gt),foreignKeyColumns:e($),foreignKeys:e(oe),primaryKeyColumns:e(j),columnTypes:e(de),defaultPageSize:e(Nt),offset:e(B).offset,onOnFocusCell:e(Pe),selectedColumnFieldId:e(ht),"current-schema-name":e(l),"current-table-name":e(m),isViewOnly:e(kt)},null,8,["selected-rows","data","orderBy","onOnSelectedRows","onUpdate:orderBy","isHaveRelationByFieldName","foreignKeyColumns","foreignKeys","primaryKeyColumns","columnTypes","defaultPageSize","offset","onOnFocusCell","selectedColumnFieldId","current-schema-name","current-table-name","isViewOnly"])]),_:1},8,["data","total-selected-rows","has-edited-rows","cellContextMenu","cellHeaderContextMenu","selectedRows","table-name","schema-name","onOnPaginate","onOnNextPage","onOnPreviousPage","onOnRefresh","onOnSaveData","onOnDeleteRows","onOnAddEmptyRow","onOnCopyRows","onOnPasteRows","onOnCopySelectedCell"]),[[He,e(J)===e(te).Data]])])],512)],64)}}});export{kr as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{aF as V,r as T,O as X,al as Y,g as $,c as N,aE as G,ad as j,aG as m,aH as q,aI as J,aJ as A,aK as Q,aL as Z,aM as ee,d as ae,aN as te,m as se,h as H,u as _,_ as le,p as ne,o as oe}from"./BM4vnZvX.js";import{b as re,_ as ce}from"./C3NWXcpd.js";import{u as ie}from"./kehy-5uo.js";import{u as ue}from"./BcvJQkv0.js";const de=V("erdStore",()=>{const i=T(""),s=T([]);function u(l){s.value=l}function f(l){i.value=l}return{currentConnectionId:i,tables:s,setTables:u,setCurrentConnectionId:f}},{persist:!1}),fe=()=>{var a;const i=X(),s=de();if(s.tables.length>0&&((a=i.selectedConnection)==null?void 0:a.id)===s.currentConnectionId)return{isFetching:!1,tableSchema:Y(s.tables||[])};const{data:u,status:f}=ue("/api/metadata/erd",{method:"POST",body:{...$(i.selectedConnection)},onResponseError({response:t}){G(t==null?void 0:t.statusText)},onResponse:({response:t})=>{var g;const d=t._data.tables||[];s.setTables(d),s.setCurrentConnectionId(((g=i.selectedConnection)==null?void 0:g.id)||"")}},"$13ug5ALprk"),l=N(()=>f.value==="pending"),n=N(()=>{var t;return((t=u.value)==null?void 0:t.tables)||[]});return{isFetching:l,tableSchema:n}},{HORIZONTAL_STEP:P,VERTICAL_STEP:W}=Q,L=(i,s)=>{const u=new Map(s.map(a=>[m({schemaName:a.schema,tableName:a.table}),a])),f=u.get(i);if(!f)return{leftTables:[],rightTables:[]};const l=[];for(const a of f.foreign_keys){const t=m({schemaName:a.reference_schema,tableName:a.reference_table}),d=u.get(t);d&&t!==i&&l.push(d)}const n=[];for(const a of s)if(m({schemaName:a.schema,tableName:a.table})!==i){for(const d of a.foreign_keys)if(m({schemaName:d.reference_schema,tableName:d.reference_table})===i){n.push(a);break}}return{leftTables:l,rightTables:n}},he=({mapTablesData:i,startId:s})=>{const u={},f=[{id:s,depth:0}],l=new Set;for(;f.length>0;){const{id:n,depth:a}=f.shift();if(l.has(n))continue;l.add(n),u[n]=a;const t=i.get(n);if(t)for(const d of t.foreign_keys){const g=m({schemaName:d.reference_schema,tableName:d.reference_table});i.has(g)&&!l.has(g)&&f.push({id:g,depth:a+1})}}return u},z=({mapTablesData:i,currentWeight:s,currentLeafId:u,currentMatrix:f,visited:l=new Set})=>{if(l.has(u)||(l.add(u),!i.get(u)))return f;f[u]=s+1;for(const[a,t]of i.entries())for(const d of t.foreign_keys)m({schemaName:d.reference_schema,tableName:d.reference_table})===u&&!l.has(a)&&z({mapTablesData:i,currentWeight:f[u],currentLeafId:a,currentMatrix:f,visited:l});return f};function be(i){const{allTables:s,initialTableId:u,autoExpandInitial:f=!0}=i,l=T(new Set),n=T(new Set),a=T(new Map),t=T({}),d=T(new Map),g=e=>{if(n.value.clear(),l.value.clear(),a.value.clear(),t.value={},d.value.clear(),!f){n.value.add(e),t.value[e]={x:0,y:0};return}const o=Z(e,s.value);if(!o)return;const{nodes:b}=ee(o);for(const r of b)n.value.add(r.id),t.value[r.id]=r.position,a.value.set(r.id,new Set(["__initial__"]));l.value.add(e),y()},w=()=>{if(n.value.clear(),l.value.clear(),a.value.clear(),t.value={},d.value.clear(),s.value.length===0)return;const{nodes:e,edges:o,centerId:b}=re(s.value);for(const r of e)n.value.add(r.id),t.value[r.id]=r.position,a.value.set(r.id,new Set(["__initial__"]));b&&l.value.add(b),y()},y=()=>{var o;d.value.clear();const e=new Map;for(const[b,r]of Object.entries(t.value)){const c=s.value.find(h=>m({schemaName:h.schema,tableName:h.table})===b);if(c){const h=A((o=c.columns)==null?void 0:o.length)+W,p=Math.round(r.x/P);e.has(p)||e.set(p,[]),e.get(p).push({y:r.y,height:h})}}for(const[b,r]of e.entries()){const c=Math.max(...r.map(h=>h.y+h.height));d.value.set(b,c)}},I=(e,o,b)=>{var B;const r=A((B=e.columns)==null?void 0:B.length)+W,c=new Map(s.value.map(x=>[m({schemaName:x.schema,tableName:x.table}),x])),h=m({schemaName:e.schema,tableName:e.table});let p=1;if(b==="left")p=(he({mapTablesData:c,startId:h})[h]??0)+1;else{const x={};z({mapTablesData:c,currentWeight:0,currentLeafId:h,currentMatrix:x}),p=x[h]??1}const K=t.value[o]||{x:0},D=Math.round(K.x/P),M=b==="left"?D-p:D+p,U=M*P,O=d.value.get(M)??0;return d.value.set(M,O+r),{x:U,y:O}};j([u,s],([e,o])=>{o.length!==0&&(e?g(e):w())},{immediate:!0});const S=N(()=>s.value.filter(e=>{const o=m({schemaName:e.schema,tableName:e.table});return n.value.has(o)})),R=N(()=>J(S.value,t.value)),E=N(()=>q(S.value).filter(o=>n.value.has(o.source)&&n.value.has(o.target))),C=e=>{const{leftTables:o,rightTables:b}=L(e,s.value);return o.length>0||b.length>0},k=e=>l.value.has(e),F=e=>{if(l.value.has(e))return;const{leftTables:o,rightTables:b}=L(e,s.value);o.forEach(r=>{const c=m({schemaName:r.schema,tableName:r.table});a.value.has(c)||a.value.set(c,new Set),a.value.get(c).add(e),!n.value.has(c)&&(n.value.add(c),t.value[c]=I(r,e,"left"))}),b.forEach(r=>{const c=m({schemaName:r.schema,tableName:r.table});a.value.has(c)||a.value.set(c,new Set),a.value.get(c).add(e),!n.value.has(c)&&(n.value.add(c),t.value[c]=I(r,e,"right"))}),l.value.add(e)},v=e=>{if(!l.value.has(e))return;const{leftTables:o,rightTables:b}=L(e,s.value),r=[...o,...b];for(const c of r){const h=m({schemaName:c.schema,tableName:c.table}),p=a.value.get(h);p&&(p.delete(e),p.size===0&&h!==u.value&&(n.value.delete(h),delete t.value[h],a.value.delete(h),l.value.has(h)&&v(h)))}l.value.delete(e)};return{expandedTables:l,visibleNodes:R,visibleEdges:E,expandTable:F,collapseTable:v,isExpanded:k,hasRelations:C,matrixPosition:t}}const me=["id"],_e=ae({__name:"WrapperErdDiagram",props:{tableId:{}},setup(i){const s=i,u=T(),{tableSchema:f,isFetching:l}=fe(),n=N(()=>f.value||[]),a=N(()=>{if(!s.tableId)return;const v=n.value.find(e=>m({schemaName:e.schema,tableName:e.table})===s.tableId||e.table===s.tableId);return v?m({schemaName:v.schema,tableName:v.table}):s.tableId}),{visibleNodes:t,visibleEdges:d,expandTable:g,collapseTable:w,isExpanded:y,hasRelations:I,matrixPosition:S}=be({allTables:n,initialTableId:a,autoExpandInitial:!0}),R=N(()=>n.value.filter(v=>{const e=m({schemaName:v.schema,tableName:v.table});return t.value.some(o=>o.id===e)})),E=T(!1),C=()=>{E.value=!E.value},k=v=>{g(v)},F=v=>{w(v)};return te([{key:"meta+f",callback:()=>{C()},isPreventDefault:!0}],{target:u}),(v,e)=>{const o=le;return oe(),se("div",{class:"w-full h-full relative",ref_key:"wrapperRef",ref:u,id:_(ie)()},[H(o,{visible:_(l)},null,8,["visible"]),H(ce,{nodes:_(t),edges:_(d),matrixTablePosition:_(S),focusTableId:a.value,tables:R.value,tableId:s.tableId,isExpanded:_(y),hasRelations:_(I),isShowFilter:_(E),"onUpdate:isShowFilter":e[0]||(e[0]=b=>ne(E)?E.value=b:null),onExpand:k,onCollapse:F},null,8,["nodes","edges","matrixTablePosition","focusTableId","tables","tableId","isExpanded","hasRelations","isShowFilter"])],8,me)}}});export{_e as _};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{d as G,bS as pe,b as C,w as l,N as re,u as t,f as ce,o as s,c as N,aW as te,n as I,h as e,i as p,e as fe,j as W,t as b,r as $,m as u,C as n,F as V,G as L,a9 as A,at as ve,au as ge,A as ue,aX as _e,av as be,bZ as he,ad as ie,B as ye,s as xe,x as Ce,y as $e,aQ as J,aO as ke,aR as Ne,aS as Te,aT as we,aV as Pe,aP as Ee,z as Se,q as De,E as Re,O as je,J as de,p as Be,g as K,_ as ze,L as Le,a7 as Oe}from"./BM4vnZvX.js";import{C as Ie,a as Ue,b as Ve}from"./D9o5Pdvp.js";import{_ as Ae}from"./0lRW_xjL.js";import{u as Ge,_ as Me}from"./-p9JbKy8.js";import{u as qe}from"./DNZpxuwM.js";import"./C2Ziircr.js";import"./Bdtn2mn5.js";import"./DWgjNKGq.js";const Fe=G({__name:"Collapsible",props:{defaultOpen:{type:Boolean},open:{type:Boolean},disabled:{type:Boolean},unmountOnHide:{type:Boolean},asChild:{type:Boolean},as:{}},emits:["update:open"],setup(w,{emit:h}){const a=pe(w,h);return(k,g)=>(s(),C(t(Ie),re({"data-slot":"collapsible"},t(a)),{default:l(({open:T})=>[ce(k.$slots,"default",{open:T})]),_:3},16))}}),He=G({__name:"CollapsibleContent",props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{}},setup(w){const h=w;return(f,d)=>(s(),C(t(Ue),re({"data-slot":"collapsible-content"},h),{default:l(()=>[ce(f.$slots,"default")]),_:3},16))}}),Qe=G({__name:"CollapsibleTrigger",props:{asChild:{type:Boolean},as:{}},setup(w){const h=w;return(f,d)=>(s(),C(t(Ve),re({"data-slot":"collapsible-trigger"},h),{default:l(()=>[ce(f.$slots,"default")]),_:3},16))}}),me=G({__name:"PermissionBadge",props:{label:{},value:{type:[Boolean,String]},type:{default:"boolean"}},setup(w){const h=w,f=N(()=>h.type==="boolean"),d=N(()=>h.value===!0);return(a,k)=>{const g=W,T=te;return t(f)?(s(),C(T,{key:0,variant:"outline",class:I(["text-xs items-center flex gap-1 ",!t(d)&&"opacity-50"])},{default:l(()=>[e(g,{name:t(d)?"lucide:check":"lucide:x",class:I(t(fe)("size-3",t(d)&&"text-green-500"))},null,8,["name","class"]),p(" "+b(a.label),1)]),_:1},8,["class"])):(s(),C(T,{key:1,variant:"secondary",class:"text-xs"},{default:l(()=>[p(b(a.label)+": "+b(a.value),1)]),_:1}))}}}),Xe={class:"rounded-md border"},Je={key:1,class:"ml-auto flex gap-1"},Ke={key:0,class:"border-t bg-muted/20 p-3"},We={class:"px-3 py-2 border-b border-border/50"},Ze={class:"flex flex-wrap gap-2"},Ye={class:"flex border-b border-border/50"},es=["onClick"],ss={class:"max-h-[350px] overflow-y-auto"},ts={key:0,class:"flex flex-col items-center justify-center py-6 text-muted-foreground"},ns={class:"text-xs"},as={key:1,class:"divide-y divide-border/50"},os={class:"flex-1 min-w-0"},ls={class:"text-xs font-medium truncate"},is={class:"text-muted-foreground"},rs={class:"flex items-center gap-0.5"},cs={key:1,class:"flex items-center gap-2 p-3 text-xs text-muted-foreground bg-muted/30 rounded"},us=G({__name:"DatabasePermissionCard",props:{database:{},isExpanded:{type:Boolean},isCurrentDatabase:{type:Boolean},permissions:{}},emits:["toggle","updatePermission"],setup(w,{emit:h}){const f=w,d=h,a=$("tables"),k=[{id:"schemas",label:"Schemas",icon:"hugeicons:folder-02"},{id:"tables",label:"Tables",icon:"hugeicons:grid-table"},{id:"views",label:"Views",icon:"hugeicons:property-view"},{id:"functions",label:"Functions",icon:"gravity-ui:function"}],g=N(()=>{if(!f.permissions)return[];switch(a.value){case"schemas":return f.permissions.schemaPermissions;case"tables":return f.permissions.tablePermissions;case"views":return f.permissions.viewPermissions;case"functions":return f.permissions.functionPermissions;default:return[]}}),T=N(()=>{var c,m,_,P;return{tables:((c=f.permissions)==null?void 0:c.tablePermissions.length)??0,schemas:((m=f.permissions)==null?void 0:m.schemaPermissions.length)??0,views:((_=f.permissions)==null?void 0:_.viewPermissions.length)??0,functions:((P=f.permissions)==null?void 0:P.functionPermissions.length)??0}}),y=c=>{switch(c){case"table":return"hugeicons:grid-table";case"schema":return"hugeicons:folder-02";case"view":return"hugeicons:property-view";case"function":return"gravity-ui:function";default:return"hugeicons:knight-shield"}},D=N(()=>[{id:"connect",label:"CONNECT",value:f.database.canConnect,type:"boolean"},{id:"create",label:"CREATE",value:f.database.canCreate,type:"boolean"},{id:"temp",label:"TEMP",value:f.database.canTemp,type:"boolean"}]);return(c,m)=>{const _=W,P=te,j=ue,R=ge,B=be,X=ve,M=he;return s(),u("div",Xe,[n("div",{class:I(["flex items-center gap-1 px-3 py-2 cursor-pointer hover:bg-accent/50",!c.database.canConnect&&"opacity-50 cursor-not-allowed"]),onClick:m[0]||(m[0]=v=>c.database.canConnect&&d("toggle"))},[e(_,{name:c.isExpanded?"hugeicons:arrow-down-01":"hugeicons:arrow-right-01",class:I(["size-4 transition-transform",!c.database.canConnect&&"invisible"])},null,8,["name","class"]),e(_,{name:c.database.canConnect?"hugeicons:database":"hugeicons:database-locked",class:I(["size-4",c.database.canConnect?"text-yellow-400":"text-muted-foreground"])},null,8,["name","class"]),n("span",{class:I(["text-sm font-medium",!c.database.canConnect&&"text-muted-foreground"])},b(c.database.databaseName),3),c.database.canConnect?(s(),u("div",Je,[c.database.canConnect?(s(),C(P,{key:0,variant:"outline",class:"text-xs"},{default:l(()=>m[1]||(m[1]=[p("CONNECT")])),_:1})):V("",!0),c.database.canCreate?(s(),C(P,{key:1,variant:"outline",class:"text-xs"},{default:l(()=>m[2]||(m[2]=[p("CREATE")])),_:1})):V("",!0),c.database.canTemp?(s(),C(P,{key:2,variant:"outline",class:"text-xs"},{default:l(()=>m[3]||(m[3]=[p("TEMP")])),_:1})):V("",!0)])):(s(),C(_,{key:0,name:"hugeicons:circle-lock-01",class:"size-3 text-muted-foreground ml-auto"}))],2),c.isExpanded&&c.database.canConnect?(s(),u("div",Ke,[n("div",We,[m[4]||(m[4]=n("p",{class:"text-xs text-muted-foreground mb-2"}," Database-level privileges: ",-1)),n("div",Ze,[(s(!0),u(L,null,A(t(D),v=>(s(),C(me,{key:v.id,label:v.label,value:v.value,type:v.type},null,8,["label","value","type"]))),128))])]),c.isCurrentDatabase?(s(),u(L,{key:0},[n("div",Ye,[(s(),u(L,null,A(k,v=>n("button",{key:v.id,class:I(["flex items-center gap-1 px-3 py-1.5 text-xs transition-colors cursor-pointer",t(a)===v.id?"border-b-2 border-primary text-foreground":"text-muted-foreground border-b-2 border-transparent hover:text-foreground"]),onClick:O=>a.value=v.id},[e(_,{name:v.icon,class:"size-3"},null,8,["name"]),p(" "+b(v.label)+" ",1),e(P,{variant:"secondary",class:"ml-1 text-xs px-1 py-0"},{default:l(()=>[p(b(t(T)[v.id]),1)]),_:2},1024)],10,es)),64))]),n("div",ss,[t(g).length?(s(),u("div",as,[(s(!0),u(L,null,A(t(g),(v,O)=>(s(),u("div",{key:`${v.schemaName}-${v.objectName}-${O}`,class:"group flex items-center gap-2 px-3 py-2 hover:bg-accent/30"},[e(_,{name:y(v.objectType),class:"size-4 text-muted-foreground shrink-0"},null,8,["name"]),n("div",os,[n("p",ls,[n("span",is,b(v.schemaName)+".",1),p(b(v.objectName),1)])]),n("div",rs,[(s(!0),u(L,null,A(v.privileges,H=>(s(),C(P,{variant:"outline",class:"text-xs normal-case"},{default:l(()=>[p(b(H),1)]),_:2},1024))),256))]),e(M,null,{default:l(()=>[e(X,null,{default:l(()=>[e(R,{"as-child":""},{default:l(()=>[e(j,{variant:"ghost",size:"iconSm",onClick:_e(H=>d("updatePermission",v),["stop"])},{default:l(()=>[e(_,{name:"hugeicons:pencil-edit-02",class:"size-3"})]),_:2},1032,["onClick"])]),_:2},1024),e(B,null,{default:l(()=>m[5]||(m[5]=[p("Update Permission")])),_:1})]),_:2},1024)]),_:2},1024)]))),128))])):(s(),u("div",ts,[e(_,{name:"hugeicons:knight-shield",class:"size-8 mb-1 opacity-50"}),n("p",ns,"No "+b(t(a))+" permissions",1)]))])],64)):(s(),u("div",cs,[e(_,{name:"hugeicons:information-circle",class:"size-4"}),m[6]||(m[6]=n("span",null,"Connect to this database to view tables, schemas, and functions permissions.",-1))]))])):V("",!0)])}}}),ds={class:"grid gap-4 py-2"},ms={class:"grid gap-2"},ps={class:"grid gap-2"},fs={class:"grid gap-2"},vs={class:"grid gap-2"},gs={class:"grid grid-cols-2 md:grid-cols-3 gap-2"},_s={class:"text-xs"},bs={class:"grid gap-2"},hs=G({__name:"GrantRevokeDialog",props:{open:{type:Boolean},mode:{},roleName:{},permission:{},loading:{type:Boolean}},emits:["update:open","confirm"],setup(w,{emit:h}){const f=["SELECT","INSERT","UPDATE","DELETE","TRUNCATE","REFERENCES","TRIGGER"],d=["USAGE","CREATE"],a=["EXECUTE"],k=["USAGE","SELECT","UPDATE"],g=w,T=h,y=$("table"),D=$("public"),c=$(""),m=$([]),_=$([]);Ge();const P=N(()=>{switch(y.value){case"table":return f;case"schema":return d;case"function":return a;case"sequence":return k;default:return[]}});ie(()=>g.open,x=>{x&&(g.permission?(y.value=g.permission.objectType,D.value=g.permission.schemaName,c.value=g.permission.objectName,_.value=[...g.permission.privileges],m.value=[...g.permission.privileges]):(y.value="table",D.value="public",c.value="",_.value=[],m.value=[]))});const j=N(()=>m.value),R=N(()=>f.filter(x=>!m.value.includes(x))),B=N(()=>j.value.length>0||R.value.length>0),X=N(()=>{const x=D.value||"<schema>",i=c.value||"<object>",q=g.roleName||"<role>",F=`${y.value.toUpperCase()} "${x}"."${i}"`,U=[];return j.value.length&&U.push(`GRANT ${j.value.join(", ")} ON ${F} TO "${q}";`),R.value.length&&U.push(`REVOKE ${R.value.join(", ")} ON ${F} FROM "${q}";`),U.length?U.join(`
|
|
2
|
-
|
|
3
|
-
`):"-- No permission changes"}),M=x=>{const i=m.value.indexOf(x);i>-1?m.value.splice(i,1):m.value.push(x)},v=()=>{B.value&&T("confirm",{objectType:y.value,schemaName:D.value,objectName:c.value,grant:j.value,revoke:R.value})},O=()=>T("update:open",!1),H=N(()=>g.mode==="grant"?`Grant Permission to ${g.roleName}`:`Update Permission for ${g.roleName}`);return(x,i)=>{const q=Ce,F=$e,U=xe,ne=Te,o=Ne,r=Pe,z=we,Z=ke,Y=Ee,ae=Ae,oe=Me,ee=ue,se=W,E=Se,Q=De,le=ye;return s(),C(le,{open:x.open,"onUpdate:open":i[3]||(i[3]=S=>T("update:open",S))},{default:l(()=>[e(Q,{class:"max-w-[45vw]! w-[45vw]!"},{default:l(()=>[e(U,null,{default:l(()=>[e(q,null,{default:l(()=>[p(b(H.value),1)]),_:1}),e(F,null,{default:l(()=>i[4]||(i[4]=[p(" Tick to grant, untick to revoke privileges. ")])),_:1})]),_:1}),n("div",ds,[n("div",ms,[e(t(J),null,{default:l(()=>i[5]||(i[5]=[p("Object Type")])),_:1}),e(Z,{modelValue:y.value,"onUpdate:modelValue":i[0]||(i[0]=S=>y.value=S),disabled:x.mode==="update"},{default:l(()=>[e(o,null,{default:l(()=>[e(ne)]),_:1}),e(z,null,{default:l(()=>[e(r,{value:"table"},{default:l(()=>i[6]||(i[6]=[p("Table")])),_:1}),e(r,{value:"schema"},{default:l(()=>i[7]||(i[7]=[p("Schema")])),_:1}),e(r,{value:"function"},{default:l(()=>i[8]||(i[8]=[p("Function")])),_:1}),e(r,{value:"sequence"},{default:l(()=>i[9]||(i[9]=[p("Sequence")])),_:1})]),_:1})]),_:1},8,["modelValue","disabled"])]),n("div",ps,[e(t(J),null,{default:l(()=>i[10]||(i[10]=[p("Schema")])),_:1}),e(Y,{modelValue:D.value,"onUpdate:modelValue":i[1]||(i[1]=S=>D.value=S),disabled:x.mode==="update"},null,8,["modelValue","disabled"])]),n("div",fs,[e(t(J),null,{default:l(()=>i[11]||(i[11]=[p("Object Name")])),_:1}),e(Y,{modelValue:c.value,"onUpdate:modelValue":i[2]||(i[2]=S=>c.value=S),disabled:x.mode==="update"},null,8,["modelValue","disabled"])]),n("div",vs,[e(t(J),null,{default:l(()=>i[12]||(i[12]=[p("Privileges")])),_:1}),n("div",gs,[(s(!0),u(L,null,A(P.value,S=>(s(),u("div",{key:S,class:"flex items-center gap-2 cursor-pointer"},[e(ae,{"model-value":m.value.includes(S),"onUpdate:modelValue":Hs=>M(S)},null,8,["model-value","onUpdate:modelValue"]),n("span",_s,b(S),1)]))),128))])]),n("div",bs,[e(t(J),null,{default:l(()=>i[13]||(i[13]=[p("SQL Preview")])),_:1}),e(oe,{code:X.value,"show-copy-button":"","max-height":"24rem"},null,8,["code"])])]),e(E,null,{default:l(()=>[e(ee,{variant:"outline",onClick:O},{default:l(()=>i[14]||(i[14]=[p(" Cancel ")])),_:1}),e(ee,{disabled:!B.value||x.loading,onClick:v},{default:l(()=>[x.loading?(s(),C(se,{key:0,name:"hugeicons:loading-03",class:"size-4 mr-2 animate-spin"})):V("",!0),p(" "+b(x.mode==="grant"?"Grant":"Update"),1)]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1},8,["open"])}}}),ys={class:"px-4 py-3 shrink-0"},xs={class:"flex items-center gap-2 mb-2"},Cs={key:0,class:"flex flex-wrap gap-2"},$s={key:1,class:"mt-2 text-xs text-muted-foreground"},ks={class:"text-foreground"},Ns=G({__name:"RoleAttributesCard",props:{roleInfo:{}},setup(w){const h=w,f=N(()=>{if(!h.roleInfo)return[];const a=h.roleInfo;return[{id:"superuser",label:"Superuser",value:a.isSuperuser,type:"boolean"},{id:"login",label:"Can Login",value:a.canLogin,type:"boolean"},{id:"createdb",label:"Create DB",value:a.canCreateDb,type:"boolean"},{id:"createrole",label:"Create Role",value:a.canCreateRole,type:"boolean"},{id:"replication",label:"Replication",value:a.isReplication,type:"boolean"},{id:"connlimit",label:"Connections",value:a.connectionLimit===-1?"Unlimited":`${a.connectionLimit}`,type:"text"}]}),d=N(()=>{var a,k;return(k=(a=h.roleInfo)==null?void 0:a.memberOf)!=null&&k.length?h.roleInfo.memberOf:[]});return(a,k)=>{const g=W,T=te;return s(),u("div",ys,[n("div",xs,[e(g,{name:"hugeicons:shield-01",class:"size-4"}),k[0]||(k[0]=n("p",{class:"text-sm font-medium"},"Role Attributes",-1))]),a.roleInfo?(s(),u("div",Cs,[(s(!0),u(L,null,A(t(f),y=>(s(),C(me,{key:y.id,label:y.label,value:y.value,type:y.type},null,8,["label","value","type"]))),128)),a.roleInfo.validUntil?(s(),C(T,{key:0,variant:"secondary",class:"text-xs"},{default:l(()=>[e(g,{name:"lucide:calendar",class:"size-3 mr-1"}),p(" Expires: "+b(new Date(a.roleInfo.validUntil).toLocaleDateString()),1)]),_:1})):V("",!0)])):V("",!0),t(d).length?(s(),u("div",$s,[k[1]||(k[1]=p(" Member of: ")),n("span",ks,b(t(d).join(", ")),1)])):V("",!0)])}}}),Ts={class:"flex flex-col h-full p-1 relative"},ws={class:"flex flex-col h-full border rounded-md overflow-hidden"},Ps={class:"flex items-center gap-3 px-4 py-1 bg-sidebar"},Es={class:"font-normal text-sm"},Ss={class:"ml-auto flex items-center gap-2"},Ds={key:0,class:"flex-1 flex items-center justify-center"},Rs={key:1,class:"flex-1 flex flex-col items-center justify-center p-4"},js={class:"text-sm text-destructive"},Bs={class:"px-4 pt-0 pb-3"},zs={class:"flex items-center gap-2 mb-2"},Ls={class:"flex items-center gap-2"},Os={variant:"secondary",class:"text-xs cursor-pointer text-muted-foreground flex items-center gap-1"},Is={class:"text-xs ml-1"},Us={key:0,class:"flex items-center gap-2 text-muted-foreground"},Vs={key:1,class:"text-sm text-muted-foreground"},As={key:2,class:"space-y-1"},Gs={class:"flex flex-col flex-1 min-h-0 p-4 pt-0"},Ms={class:"flex items-center gap-2 mb-3 shrink-0"},qs={key:0,class:"flex items-center gap-2 text-muted-foreground"},Fs={key:2,class:"space-y-1 flex-1 overflow-y-auto"},st=G({__name:"[roleName]",setup(w){const h=Re(),f=je(),d=N(()=>h.params.roleName),a=N(()=>f.selectedConnection),k=N(()=>{if(!a.value)return"";if(a.value.database)return a.value.database;const o=a.value.connectionString;if(!o)return"";try{return new URL(o).pathname.slice(1)||""}catch{const r=o.match(/\/([^/?]+)(\?|$)/);return(r==null?void 0:r[1])||""}}),g=o=>k.value.toLowerCase()===o.toLowerCase(),T=$(null),y=$([]),D=async()=>{if(!(!a.value||!d.value))try{const r=await $fetch("/api/database-roles/get-role",{method:"POST",body:{...K(a.value),roleName:d.value}});r&&(T.value={isSuperuser:r.isSuperuser,canLogin:r.canLogin,canCreateDb:r.canCreateDb,canCreateRole:r.canCreateRole,isReplication:r.isReplication,connectionLimit:r.connectionLimit,validUntil:r.validUntil,memberOf:r.memberOf})}catch(o){console.error("Error fetching role info:",o)}},c=$(!1),m=async()=>{if(!(!a.value||!d.value)){c.value=!0;try{const o=await $fetch("/api/database-roles/get-role-inheritance",{method:"POST",body:{...K(a.value),roleName:d.value}});y.value=o}catch(o){console.error("Error fetching role inheritance:",o),y.value=[]}finally{c.value=!1}}},_=$(!1),P=$(!1),j=$(null),R=$(null),B=async()=>{if(!(!a.value||!d.value)){_.value=!0,R.value=null;try{const o=await $fetch("/api/database-roles/get-permissions",{method:"POST",body:{...K(a.value),roleName:d.value}});j.value=o}catch(o){R.value=o instanceof Error?o.message:"Failed to fetch permissions",console.error("Error fetching permissions:",o)}finally{_.value=!1}}};de(()=>{B(),D(),m()}),ie(d,()=>{B(),D(),m()});const{isLoading:X,databasePermissions:M,fetchDatabasePermissions:v}=qe(a),O=$(new Set),H=o=>{O.value.has(o)?O.value.delete(o):O.value.add(o)},x=o=>O.value.has(o);de(()=>v(d.value)),ie(d,o=>v(o));const i=$(!1),q=$("grant"),F=$(),U=o=>{q.value="update",F.value=o,i.value=!0},ne=async o=>{if(!(!a.value||!d.value)){P.value=!0;try{const r=[];o.grant.length>0&&r.push($fetch("/api/database-roles/grant-permission",{method:"POST",body:{...K(a.value),roleName:d.value,objectType:o.objectType,schemaName:o.schemaName,objectName:o.objectName,privileges:o.grant}})),o.revoke.length>0&&r.push($fetch("/api/database-roles/revoke-permission",{method:"POST",body:{...K(a.value),roleName:d.value,objectType:o.objectType,schemaName:o.schemaName,objectName:o.objectName,privileges:o.revoke}})),await Promise.all(r),i.value=!1,await B()}catch(r){console.error("Error updating permissions:",r)}finally{P.value=!1}}};return(o,r)=>{const z=W,Z=ue,Y=Qe,ae=He,oe=Fe,ee=te,se=Oe;return s(),u("div",Ts,[n("div",ws,[n("div",Ps,[n("div",null,[n("p",Es,b(t(d)),1)]),n("div",Ss,[e(Z,{variant:"outline",size:"iconSm",disabled:t(_),onClick:B},{default:l(()=>[e(z,{name:t(_)?"hugeicons:loading-03":"lucide:refresh-cw",class:I(["size-4",t(_)&&"animate-spin"])},null,8,["name","class"])]),_:1},8,["disabled"])])]),t(_)?(s(),u("div",Ds,[e(t(ze),{visible:t(_)},null,8,["visible"])])):t(R)?(s(),u("div",Rs,[e(z,{name:"hugeicons:information-circle",class:"size-12 text-destructive"}),n("p",js,b(t(R)),1),e(Z,{variant:"outline",size:"sm",class:"mt-4 font-normal",onClick:B},{default:l(()=>r[1]||(r[1]=[p(" Retry ")])),_:1})])):t(j)?(s(),u(L,{key:2},[e(Ns,{"role-info":t(T)},null,8,["role-info"]),n("div",Bs,[e(oe,{"default-open":!0},{default:l(({open:E})=>[n("div",zs,[n("div",Ls,[e(z,{name:"lucide:git-branch",class:"size-4 text-muted-foreground"}),r[2]||(r[2]=n("p",{class:"text-sm font-medium"},"Inherited from",-1))]),e(Y,{"as-child":""},{default:l(()=>[n("div",Os,[n("span",Is,b(E?"Collapse":"Expand"),1),e(z,{name:"lucide:chevron-down",class:I(["size-4 transition-transform",E&&"rotate-180"])},null,8,["class"])])]),_:2},1024)]),e(ae,null,{default:l(()=>[t(c)?(s(),u("div",Us,[e(z,{name:"hugeicons:loading-03",class:"size-4 animate-spin"}),r[3]||(r[3]=n("span",{class:"text-sm"},"Loading inheritance...",-1))])):t(y).length===0?(s(),u("div",Vs," No inherited roles ")):(s(),u("div",As,[(s(!0),u(L,null,A(t(y),(Q,le)=>(s(),u("div",{key:`${Q.roleName}-${le}`,class:"flex items-center text-sm gap-1 hover:bg-accent rounded-sm",style:Le({paddingLeft:`${Q.depth*16}px`})},[e(z,{name:"lucide:corner-down-right",class:"size-3 text-muted-foreground"}),n("span",null,b(Q.roleName),1)],4))),128))]))]),_:1})]),_:1})]),n("div",Gs,[n("div",Ms,[e(z,{name:"hugeicons:database",class:"size-5 text-yellow-400"}),r[4]||(r[4]=n("p",{class:"text-sm font-medium"},"Database Access",-1)),e(ee,{variant:"secondary",class:"text-xs"},{default:l(()=>[p(b(t(M).filter(E=>E.canConnect).length),1)]),_:1})]),t(X)?(s(),u("div",qs,[e(z,{name:"hugeicons:loading-03",class:"size-4 animate-spin"}),r[5]||(r[5]=n("span",{class:"text-sm"},"Loading databases...",-1))])):t(M).length===0?(s(),C(se,{key:1,title:"No permissions found",desc:"No database permissions were found for this role."})):(s(),u("div",Fs,[(s(!0),u(L,null,A(t(M),E=>(s(),C(us,{key:E.databaseName,database:E,"is-expanded":x(E.databaseName),"is-current-database":g(E.databaseName),permissions:t(j),onToggle:Q=>H(E.databaseName),onUpdatePermission:U},null,8,["database","is-expanded","is-current-database","permissions","onToggle"]))),128))]))])],64)):(s(),C(se,{key:3,icon:"hugeicons:shield-01",title:"No data available",desc:"No permissions data is available for the current selection."}))]),e(hs,{open:t(i),"onUpdate:open":r[0]||(r[0]=E=>Be(i)?i.value=E:null),mode:t(q),roleName:t(d),permission:t(F),loading:t(P),onConfirm:ne},null,8,["open","mode","roleName","permission","loading"])])}}});export{st as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as r,H as g,b as p,o as n,w as d,f as u,a5 as v,bY as D,u as s,cv as x,bX as b,r as O,I as P,N as f,aX as h,a2 as E,cw as F,J as z,cx as T,cy as k,c6 as M,bS as A,cz as R,cA as S,c as y,e as m,cB as $,h as B,m as q,n as w}from"./BM4vnZvX.js";var j=r({__name:"AlertDialogAction",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const e=t;return g(),(a,l)=>(n(),p(s(x),v(D(e)),{default:d(()=>[u(a.$slots,"default")]),_:3},16))}}),H=j;const[I,K]=P("AlertDialogContent");var N=r({__name:"AlertDialogContent",props:{forceMount:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(t,{emit:e}){const a=t,o=b(e);g();const c=O();return K({onCancelElementChange:_=>{c.value=_}}),(_,i)=>(n(),p(s(F),f({...a,...s(o)},{role:"alertdialog",onPointerDownOutside:i[0]||(i[0]=h(()=>{},["prevent"])),onInteractOutside:i[1]||(i[1]=h(()=>{},["prevent"])),onOpenAutoFocus:i[2]||(i[2]=()=>{E(()=>{var C;(C=c.value)==null||C.focus({preventScroll:!0})})})}),{default:d(()=>[u(_.$slots,"default")]),_:3},16))}}),V=N,X=r({__name:"AlertDialogCancel",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const e=t,a=I(),{forwardRef:l,currentElement:o}=g();return z(()=>{a.onCancelElementChange(o.value)}),(c,_)=>(n(),p(s(x),f(e,{ref:s(l)}),{default:d(()=>[u(c.$slots,"default")]),_:3},16))}}),J=X,Y=r({__name:"AlertDialogDescription",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"p"}},setup(t){const e=t;return g(),(a,l)=>(n(),p(s(T),v(D(e)),{default:d(()=>[u(a.$slots,"default")]),_:3},16))}}),G=Y,L=r({__name:"AlertDialogOverlay",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const e=t;return g(),(a,l)=>(n(),p(s(k),v(D(e)),{default:d(()=>[u(a.$slots,"default")]),_:3},16))}}),Q=L,U=r({__name:"AlertDialogPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(t){const e=t;return(a,l)=>(n(),p(s(M),v(D(e)),{default:d(()=>[u(a.$slots,"default")]),_:3},16))}}),W=U,Z=r({__name:"AlertDialogRoot",props:{open:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1}},emits:["update:open"],setup(t,{emit:e}){const o=A(t,e);return g(),(c,_)=>(n(),p(s(R),f(s(o),{modal:!0}),{default:d(i=>[u(c.$slots,"default",v(D(i)))]),_:3},16))}}),ee=Z,te=r({__name:"AlertDialogTitle",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"h2"}},setup(t){const e=t;return g(),(a,l)=>(n(),p(s(S),v(D(e)),{default:d(()=>[u(a.$slots,"default")]),_:3},16))}}),ae=te;const le=r({__name:"AlertDialog",props:{open:{type:Boolean},defaultOpen:{type:Boolean}},emits:["update:open"],setup(t,{emit:e}){const o=A(t,e);return(c,_)=>(n(),p(s(ee),f({"data-slot":"alert-dialog"},s(o)),{default:d(()=>[u(c.$slots,"default")]),_:3},16))}}),oe=r({__name:"AlertDialogAction",props:{asChild:{type:Boolean},as:{},class:{}},setup(t){const e=t,a=y(()=>{const{class:l,...o}=e;return o});return(l,o)=>(n(),p(s(H),f(a.value,{class:s(m)(s($)(),e.class)}),{default:d(()=>[u(l.$slots,"default")]),_:3},16,["class"]))}}),re=r({__name:"AlertDialogCancel",props:{asChild:{type:Boolean},as:{},class:{}},setup(t){const e=t,a=y(()=>{const{class:l,...o}=e;return o});return(l,o)=>(n(),p(s(J),f(a.value,{class:s(m)(s($)({variant:"outline"}),"mt-2 sm:mt-0",e.class)}),{default:d(()=>[u(l.$slots,"default")]),_:3},16,["class"]))}}),ne=r({__name:"AlertDialogContent",props:{forceMount:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(t,{emit:e}){const a=t,l=e,o=y(()=>{const{class:_,...i}=a;return i}),c=A(o,l);return(_,i)=>(n(),p(s(W),null,{default:d(()=>[B(s(Q),{"data-slot":"alert-dialog-overlay",class:"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80"}),B(s(V),f({"data-slot":"alert-dialog-content"},s(c),{class:s(m)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",a.class)}),{default:d(()=>[u(_.$slots,"default")]),_:3},16,["class"])]),_:3}))}}),ue=r({__name:"AlertDialogDescription",props:{asChild:{type:Boolean},as:{},class:{}},setup(t){const e=t,a=y(()=>{const{class:l,...o}=e;return o});return(l,o)=>(n(),p(s(G),f({"data-slot":"alert-dialog-description"},a.value,{class:s(m)("text-muted-foreground text-sm",e.class)}),{default:d(()=>[u(l.$slots,"default")]),_:3},16,["class"]))}}),de=r({__name:"AlertDialogFooter",props:{class:{}},setup(t){const e=t;return(a,l)=>(n(),q("div",{"data-slot":"alert-dialog-footer",class:w(s(m)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e.class))},[u(a.$slots,"default")],2))}}),pe=r({__name:"AlertDialogHeader",props:{class:{}},setup(t){const e=t;return(a,l)=>(n(),q("div",{"data-slot":"alert-dialog-header",class:w(s(m)("flex flex-col gap-2 text-center sm:text-left",e.class))},[u(a.$slots,"default")],2))}}),ie=r({__name:"AlertDialogTitle",props:{asChild:{type:Boolean},as:{},class:{}},setup(t){const e=t,a=y(()=>{const{class:l,...o}=e;return o});return(l,o)=>(n(),p(s(ae),f({"data-slot":"alert-dialog-title"},a.value,{class:s(m)("text-lg font-semibold",e.class)}),{default:d(()=>[u(l.$slots,"default")]),_:3},16,["class"]))}});export{le as _,ne as a,pe as b,ie as c,ue as d,de as e,re as f,oe as g};
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const cp = require('child_process');
|
|
4
|
-
const parse = require('./lib/parse');
|
|
5
|
-
const enoent = require('./lib/enoent');
|
|
6
|
-
|
|
7
|
-
function spawn(command, args, options) {
|
|
8
|
-
// Parse the arguments
|
|
9
|
-
const parsed = parse(command, args, options);
|
|
10
|
-
|
|
11
|
-
// Spawn the child process
|
|
12
|
-
const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);
|
|
13
|
-
|
|
14
|
-
// Hook into child process "exit" event to emit an error if the command
|
|
15
|
-
// does not exists, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16
|
|
16
|
-
enoent.hookChildProcess(spawned, parsed);
|
|
17
|
-
|
|
18
|
-
return spawned;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
function spawnSync(command, args, options) {
|
|
22
|
-
// Parse the arguments
|
|
23
|
-
const parsed = parse(command, args, options);
|
|
24
|
-
|
|
25
|
-
// Spawn the child process
|
|
26
|
-
const result = cp.spawnSync(parsed.command, parsed.args, parsed.options);
|
|
27
|
-
|
|
28
|
-
// Analyze if the command does not exist, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16
|
|
29
|
-
result.error = result.error || enoent.verifyENOENTSync(result.status, parsed);
|
|
30
|
-
|
|
31
|
-
return result;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
module.exports = spawn;
|
|
35
|
-
module.exports.spawn = spawn;
|
|
36
|
-
module.exports.sync = spawnSync;
|
|
37
|
-
|
|
38
|
-
module.exports._parse = parse;
|
|
39
|
-
module.exports._enoent = enoent;
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const isWin = process.platform === 'win32';
|
|
4
|
-
|
|
5
|
-
function notFoundError(original, syscall) {
|
|
6
|
-
return Object.assign(new Error(`${syscall} ${original.command} ENOENT`), {
|
|
7
|
-
code: 'ENOENT',
|
|
8
|
-
errno: 'ENOENT',
|
|
9
|
-
syscall: `${syscall} ${original.command}`,
|
|
10
|
-
path: original.command,
|
|
11
|
-
spawnargs: original.args,
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
function hookChildProcess(cp, parsed) {
|
|
16
|
-
if (!isWin) {
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
const originalEmit = cp.emit;
|
|
21
|
-
|
|
22
|
-
cp.emit = function (name, arg1) {
|
|
23
|
-
// If emitting "exit" event and exit code is 1, we need to check if
|
|
24
|
-
// the command exists and emit an "error" instead
|
|
25
|
-
// See https://github.com/IndigoUnited/node-cross-spawn/issues/16
|
|
26
|
-
if (name === 'exit') {
|
|
27
|
-
const err = verifyENOENT(arg1, parsed);
|
|
28
|
-
|
|
29
|
-
if (err) {
|
|
30
|
-
return originalEmit.call(cp, 'error', err);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
return originalEmit.apply(cp, arguments); // eslint-disable-line prefer-rest-params
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
function verifyENOENT(status, parsed) {
|
|
39
|
-
if (isWin && status === 1 && !parsed.file) {
|
|
40
|
-
return notFoundError(parsed.original, 'spawn');
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
return null;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
function verifyENOENTSync(status, parsed) {
|
|
47
|
-
if (isWin && status === 1 && !parsed.file) {
|
|
48
|
-
return notFoundError(parsed.original, 'spawnSync');
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
return null;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
module.exports = {
|
|
55
|
-
hookChildProcess,
|
|
56
|
-
verifyENOENT,
|
|
57
|
-
verifyENOENTSync,
|
|
58
|
-
notFoundError,
|
|
59
|
-
};
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const path = require('path');
|
|
4
|
-
const resolveCommand = require('./util/resolveCommand');
|
|
5
|
-
const escape = require('./util/escape');
|
|
6
|
-
const readShebang = require('./util/readShebang');
|
|
7
|
-
|
|
8
|
-
const isWin = process.platform === 'win32';
|
|
9
|
-
const isExecutableRegExp = /\.(?:com|exe)$/i;
|
|
10
|
-
const isCmdShimRegExp = /node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;
|
|
11
|
-
|
|
12
|
-
function detectShebang(parsed) {
|
|
13
|
-
parsed.file = resolveCommand(parsed);
|
|
14
|
-
|
|
15
|
-
const shebang = parsed.file && readShebang(parsed.file);
|
|
16
|
-
|
|
17
|
-
if (shebang) {
|
|
18
|
-
parsed.args.unshift(parsed.file);
|
|
19
|
-
parsed.command = shebang;
|
|
20
|
-
|
|
21
|
-
return resolveCommand(parsed);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
return parsed.file;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
function parseNonShell(parsed) {
|
|
28
|
-
if (!isWin) {
|
|
29
|
-
return parsed;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
// Detect & add support for shebangs
|
|
33
|
-
const commandFile = detectShebang(parsed);
|
|
34
|
-
|
|
35
|
-
// We don't need a shell if the command filename is an executable
|
|
36
|
-
const needsShell = !isExecutableRegExp.test(commandFile);
|
|
37
|
-
|
|
38
|
-
// If a shell is required, use cmd.exe and take care of escaping everything correctly
|
|
39
|
-
// Note that `forceShell` is an hidden option used only in tests
|
|
40
|
-
if (parsed.options.forceShell || needsShell) {
|
|
41
|
-
// Need to double escape meta chars if the command is a cmd-shim located in `node_modules/.bin/`
|
|
42
|
-
// The cmd-shim simply calls execute the package bin file with NodeJS, proxying any argument
|
|
43
|
-
// Because the escape of metachars with ^ gets interpreted when the cmd.exe is first called,
|
|
44
|
-
// we need to double escape them
|
|
45
|
-
const needsDoubleEscapeMetaChars = isCmdShimRegExp.test(commandFile);
|
|
46
|
-
|
|
47
|
-
// Normalize posix paths into OS compatible paths (e.g.: foo/bar -> foo\bar)
|
|
48
|
-
// This is necessary otherwise it will always fail with ENOENT in those cases
|
|
49
|
-
parsed.command = path.normalize(parsed.command);
|
|
50
|
-
|
|
51
|
-
// Escape command & arguments
|
|
52
|
-
parsed.command = escape.command(parsed.command);
|
|
53
|
-
parsed.args = parsed.args.map((arg) => escape.argument(arg, needsDoubleEscapeMetaChars));
|
|
54
|
-
|
|
55
|
-
const shellCommand = [parsed.command].concat(parsed.args).join(' ');
|
|
56
|
-
|
|
57
|
-
parsed.args = ['/d', '/s', '/c', `"${shellCommand}"`];
|
|
58
|
-
parsed.command = process.env.comspec || 'cmd.exe';
|
|
59
|
-
parsed.options.windowsVerbatimArguments = true; // Tell node's spawn that the arguments are already escaped
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
return parsed;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
function parse(command, args, options) {
|
|
66
|
-
// Normalize arguments, similar to nodejs
|
|
67
|
-
if (args && !Array.isArray(args)) {
|
|
68
|
-
options = args;
|
|
69
|
-
args = null;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
args = args ? args.slice(0) : []; // Clone array to avoid changing the original
|
|
73
|
-
options = Object.assign({}, options); // Clone object to avoid changing the original
|
|
74
|
-
|
|
75
|
-
// Build our parsed object
|
|
76
|
-
const parsed = {
|
|
77
|
-
command,
|
|
78
|
-
args,
|
|
79
|
-
options,
|
|
80
|
-
file: undefined,
|
|
81
|
-
original: {
|
|
82
|
-
command,
|
|
83
|
-
args,
|
|
84
|
-
},
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
// Delegate further parsing to shell or non-shell
|
|
88
|
-
return options.shell ? parsed : parseNonShell(parsed);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
module.exports = parse;
|