ezekiel-cli 5.8.2
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/.editorconfig +24 -0
- package/.eslintrc +40 -0
- package/.prettierignore +1 -0
- package/README.md +139 -0
- package/bin/insites-cli-archive.js +35 -0
- package/bin/insites-cli-audit.js +5 -0
- package/bin/insites-cli-data-clean.js +69 -0
- package/bin/insites-cli-data-export.js +111 -0
- package/bin/insites-cli-data-import.js +105 -0
- package/bin/insites-cli-data.js +15 -0
- package/bin/insites-cli-deploy.js +43 -0
- package/bin/insites-cli-env-add.js +107 -0
- package/bin/insites-cli-env-list.js +22 -0
- package/bin/insites-cli-env.js +12 -0
- package/bin/insites-cli-gui-serve.js +47 -0
- package/bin/insites-cli-gui.js +8 -0
- package/bin/insites-cli-init.js +44 -0
- package/bin/insites-cli-logs.js +124 -0
- package/bin/insites-cli-logsv2-alerts-add.js +34 -0
- package/bin/insites-cli-logsv2-alerts-list.js +24 -0
- package/bin/insites-cli-logsv2-alerts-trigger.js +25 -0
- package/bin/insites-cli-logsv2-alerts.js +11 -0
- package/bin/insites-cli-logsv2-reports.js +36 -0
- package/bin/insites-cli-logsv2-search.js +40 -0
- package/bin/insites-cli-logsv2-searchAround.js +29 -0
- package/bin/insites-cli-logsv2.js +11 -0
- package/bin/insites-cli-modules-init.js +54 -0
- package/bin/insites-cli-modules-list.js +28 -0
- package/bin/insites-cli-modules-pull.js +43 -0
- package/bin/insites-cli-modules-remove.js +26 -0
- package/bin/insites-cli-modules-version.js +60 -0
- package/bin/insites-cli-modules.js +13 -0
- package/bin/insites-cli-pull.js +42 -0
- package/bin/insites-cli-sync.js +30 -0
- package/bin/insites-cli.js +53 -0
- package/gui/graphql/babel.config.js +21 -0
- package/gui/graphql/package-lock.json +4772 -0
- package/gui/graphql/package.json +28 -0
- package/gui/graphql/public/105.js +7 -0
- package/gui/graphql/public/178.js +1 -0
- package/gui/graphql/public/198.js +1 -0
- package/gui/graphql/public/441.js +4 -0
- package/gui/graphql/public/471.js +1 -0
- package/gui/graphql/public/480.js +24 -0
- package/gui/graphql/public/481.js +1 -0
- package/gui/graphql/public/571.js +12 -0
- package/gui/graphql/public/573.js +8 -0
- package/gui/graphql/public/574.js +1 -0
- package/gui/graphql/public/584.js +38 -0
- package/gui/graphql/public/588.js +1 -0
- package/gui/graphql/public/662.js +8 -0
- package/gui/graphql/public/724.js +1 -0
- package/gui/graphql/public/739.js +1 -0
- package/gui/graphql/public/744.js +1 -0
- package/gui/graphql/public/768.js +1 -0
- package/gui/graphql/public/79.js +1 -0
- package/gui/graphql/public/845.js +2 -0
- package/gui/graphql/public/863.js +1 -0
- package/gui/graphql/public/896.js +1 -0
- package/gui/graphql/public/92.js +2 -0
- package/gui/graphql/public/98.js +1 -0
- package/gui/graphql/public/980.js +1 -0
- package/gui/graphql/public/995.js +1 -0
- package/gui/graphql/public/index.html +12 -0
- package/gui/graphql/public/main.css +27 -0
- package/gui/graphql/public/main.js +2230 -0
- package/gui/graphql/public/main.js.LICENSE.txt +39 -0
- package/gui/graphql/src/index.jsx +139 -0
- package/gui/graphql/webpack.config.js +52 -0
- package/gui/liquid/public/index.html +82 -0
- package/gui/v1/build/_app/immutable/assets/0.251ef76d.css +1 -0
- package/gui/v1/build/_app/immutable/assets/10.ee72ee6d.css +1 -0
- package/gui/v1/build/_app/immutable/assets/12.f6879dba.css +1 -0
- package/gui/v1/build/_app/immutable/assets/13.bf080bcc.css +1 -0
- package/gui/v1/build/_app/immutable/assets/15.0e0670ce.css +1 -0
- package/gui/v1/build/_app/immutable/assets/2.4a46c382.css +1 -0
- package/gui/v1/build/_app/immutable/assets/4.73dde45b.css +1 -0
- package/gui/v1/build/_app/immutable/assets/6.6bcda092.css +1 -0
- package/gui/v1/build/_app/immutable/assets/7.c0038863.css +1 -0
- package/gui/v1/build/_app/immutable/assets/9.6957ad32.css +1 -0
- package/gui/v1/build/_app/immutable/assets/Aside.66c2d12f.css +1 -0
- package/gui/v1/build/_app/immutable/assets/JSONTree.507a2dde.css +1 -0
- package/gui/v1/build/_app/immutable/assets/JSONTree.79010849.css +1 -0
- package/gui/v1/build/_app/immutable/assets/_layout.4a46c382.css +1 -0
- package/gui/v1/build/_app/immutable/assets/_layout.6bcda092.css +1 -0
- package/gui/v1/build/_app/immutable/assets/_layout.73dde45b.css +1 -0
- package/gui/v1/build/_app/immutable/assets/_layout.85c17bd0.css +1 -0
- package/gui/v1/build/_app/immutable/assets/_page.0e0670ce.css +1 -0
- package/gui/v1/build/_app/immutable/assets/_page.425c1d28.css +1 -0
- package/gui/v1/build/_app/immutable/assets/_page.6957ad32.css +1 -0
- package/gui/v1/build/_app/immutable/assets/_page.bf080bcc.css +1 -0
- package/gui/v1/build/_app/immutable/assets/_page.c0038863.css +1 -0
- package/gui/v1/build/_app/immutable/assets/_page.ee72ee6d.css +1 -0
- package/gui/v1/build/_app/immutable/chunks/Aside.c28a1ec5.js +1 -0
- package/gui/v1/build/_app/immutable/chunks/Icon.1db6668c.js +1 -0
- package/gui/v1/build/_app/immutable/chunks/JSONTree.641da795.js +2 -0
- package/gui/v1/build/_app/immutable/chunks/backgroundJob.0f2693c5.js +53 -0
- package/gui/v1/build/_app/immutable/chunks/graphql.6101590b.js +1 -0
- package/gui/v1/build/_app/immutable/chunks/index.50c00146.js +1 -0
- package/gui/v1/build/_app/immutable/chunks/index.5744cd58.js +1 -0
- package/gui/v1/build/_app/immutable/chunks/index.88325b8f.js +4 -0
- package/gui/v1/build/_app/immutable/chunks/index.c35021d1.js +1 -0
- package/gui/v1/build/_app/immutable/chunks/singletons.b6d4da89.js +1 -0
- package/gui/v1/build/_app/immutable/chunks/state.adc829f2.js +1 -0
- package/gui/v1/build/_app/immutable/chunks/stores.71f75302.js +1 -0
- package/gui/v1/build/_app/immutable/chunks/table.71e66f99.js +16 -0
- package/gui/v1/build/_app/immutable/chunks/tryParseJSON.f125f883.js +1 -0
- package/gui/v1/build/_app/immutable/chunks/user.039256f6.js +31 -0
- package/gui/v1/build/_app/immutable/entry/app.44548b11.js +1 -0
- package/gui/v1/build/_app/immutable/entry/start.4e385061.js +3 -0
- package/gui/v1/build/_app/immutable/nodes/0.d27a86c9.js +1 -0
- package/gui/v1/build/_app/immutable/nodes/1.532e414a.js +1 -0
- package/gui/v1/build/_app/immutable/nodes/10.962850d6.js +26 -0
- package/gui/v1/build/_app/immutable/nodes/11.d0e2eb78.js +1 -0
- package/gui/v1/build/_app/immutable/nodes/12.6449d2bf.js +74 -0
- package/gui/v1/build/_app/immutable/nodes/13.d3883433.js +1 -0
- package/gui/v1/build/_app/immutable/nodes/14.b1e09778.js +1 -0
- package/gui/v1/build/_app/immutable/nodes/15.af2c20ae.js +1 -0
- package/gui/v1/build/_app/immutable/nodes/2.4d90d0b8.js +9 -0
- package/gui/v1/build/_app/immutable/nodes/3.06f6ef98.js +1 -0
- package/gui/v1/build/_app/immutable/nodes/4.32a26935.js +1 -0
- package/gui/v1/build/_app/immutable/nodes/5.06f6ef98.js +1 -0
- package/gui/v1/build/_app/immutable/nodes/6.57fec5aa.js +7 -0
- package/gui/v1/build/_app/immutable/nodes/7.ae78c23b.js +13 -0
- package/gui/v1/build/_app/immutable/nodes/8.f57c5fbf.js +1 -0
- package/gui/v1/build/_app/immutable/nodes/9.374909fd.js +1 -0
- package/gui/v1/build/_app/version.json +1 -0
- package/gui/v1/build/favicon.png +0 -0
- package/gui/v1/build/icon/apple-touch-icon-114x114.png +0 -0
- package/gui/v1/build/icon/apple-touch-icon-120x120.png +0 -0
- package/gui/v1/build/icon/apple-touch-icon-144x144.png +0 -0
- package/gui/v1/build/icon/apple-touch-icon-152x152.png +0 -0
- package/gui/v1/build/icon/apple-touch-icon-57x57.png +0 -0
- package/gui/v1/build/icon/apple-touch-icon-60x60.png +0 -0
- package/gui/v1/build/icon/apple-touch-icon-72x72.png +0 -0
- package/gui/v1/build/icon/apple-touch-icon-76x76.png +0 -0
- package/gui/v1/build/icon/code.txt +20 -0
- package/gui/v1/build/icon/favicon-128.png +0 -0
- package/gui/v1/build/icon/favicon-16x16.png +0 -0
- package/gui/v1/build/icon/favicon-196x196.png +0 -0
- package/gui/v1/build/icon/favicon-32x32.png +0 -0
- package/gui/v1/build/icon/favicon-96x96.png +0 -0
- package/gui/v1/build/icon/favicon.ico +0 -0
- package/gui/v1/build/icon/mstile-144x144.png +0 -0
- package/gui/v1/build/icon/mstile-150x150.png +0 -0
- package/gui/v1/build/icon/mstile-310x150.png +0 -0
- package/gui/v1/build/icon/mstile-310x310.png +0 -0
- package/gui/v1/build/icon/mstile-70x70.png +0 -0
- package/gui/v1/build/index.html +35 -0
- package/gui/v1/build/insites-logo-old.png +0 -0
- package/gui/v1/build/insites-logo.png +0 -0
- package/gui/v1/build/prism.js +8 -0
- package/gui/v1/package-lock.json +1616 -0
- package/gui/v1/package.json +27 -0
- package/gui/v1/playwright.config.js +10 -0
- package/gui/v1/pnpm-lock.yaml +992 -0
- package/gui/v1/src/app.html +12 -0
- package/gui/v1/src/lib/api/backgroundJob.js +124 -0
- package/gui/v1/src/lib/api/constant.js +68 -0
- package/gui/v1/src/lib/api/graphql.js +57 -0
- package/gui/v1/src/lib/api/logs.js +45 -0
- package/gui/v1/src/lib/api/record.js +286 -0
- package/gui/v1/src/lib/api/table.js +45 -0
- package/gui/v1/src/lib/api/user.js +78 -0
- package/gui/v1/src/lib/backgroundJob/Delete.svelte +61 -0
- package/gui/v1/src/lib/backgroundJob/Retry.svelte +45 -0
- package/gui/v1/src/lib/database/Create.svelte +324 -0
- package/gui/v1/src/lib/database/Delete.svelte +61 -0
- package/gui/v1/src/lib/database/Filters.svelte +155 -0
- package/gui/v1/src/lib/database/Sort.svelte +110 -0
- package/gui/v1/src/lib/database/Table.svelte +261 -0
- package/gui/v1/src/lib/database/Tables.svelte +276 -0
- package/gui/v1/src/lib/parseValue.js +51 -0
- package/gui/v1/src/lib/relativeTime.js +33 -0
- package/gui/v1/src/lib/state.js +190 -0
- package/gui/v1/src/lib/tryParseJSON.js +32 -0
- package/gui/v1/src/lib/ui/Aside.svelte +176 -0
- package/gui/v1/src/lib/ui/Code.svelte +50 -0
- package/gui/v1/src/lib/ui/ConnectionIndicator.svelte +133 -0
- package/gui/v1/src/lib/ui/Header.svelte +252 -0
- package/gui/v1/src/lib/ui/Icon.svelte +55 -0
- package/gui/v1/src/lib/ui/JSONTree.svelte +77 -0
- package/gui/v1/src/lib/ui/Notifications.svelte +111 -0
- package/gui/v1/src/lib/ui/forms/Toggle.svelte +114 -0
- package/gui/v1/src/routes/+layout.svelte +25 -0
- package/gui/v1/src/routes/+page.svelte +511 -0
- package/gui/v1/src/routes/backgroundJobs/+layout.svelte +366 -0
- package/gui/v1/src/routes/backgroundJobs/+page.svelte +0 -0
- package/gui/v1/src/routes/backgroundJobs/[type]/[id]/+page.svelte +157 -0
- package/gui/v1/src/routes/constants/+layout.svelte +1 -0
- package/gui/v1/src/routes/constants/+page.svelte +382 -0
- package/gui/v1/src/routes/database/+layout.svelte +67 -0
- package/gui/v1/src/routes/database/+page.svelte +3 -0
- package/gui/v1/src/routes/database/table/[id]/+page.svelte +219 -0
- package/gui/v1/src/routes/logs/+layout.svelte +1 -0
- package/gui/v1/src/routes/logs/+page.svelte +512 -0
- package/gui/v1/src/routes/users/+layout.svelte +252 -0
- package/gui/v1/src/routes/users/+page.svelte +4 -0
- package/gui/v1/src/routes/users/[id]/+page.svelte +127 -0
- package/gui/v1/src/style/button.css +141 -0
- package/gui/v1/src/style/code.css +4 -0
- package/gui/v1/src/style/config.css +186 -0
- package/gui/v1/src/style/forms.css +55 -0
- package/gui/v1/src/style/general.css +53 -0
- package/gui/v1/src/style/reset.css +75 -0
- package/gui/v1/static/favicon.png +0 -0
- package/gui/v1/static/icon/apple-touch-icon-114x114.png +0 -0
- package/gui/v1/static/icon/apple-touch-icon-120x120.png +0 -0
- package/gui/v1/static/icon/apple-touch-icon-144x144.png +0 -0
- package/gui/v1/static/icon/apple-touch-icon-152x152.png +0 -0
- package/gui/v1/static/icon/apple-touch-icon-57x57.png +0 -0
- package/gui/v1/static/icon/apple-touch-icon-60x60.png +0 -0
- package/gui/v1/static/icon/apple-touch-icon-72x72.png +0 -0
- package/gui/v1/static/icon/apple-touch-icon-76x76.png +0 -0
- package/gui/v1/static/icon/code.txt +20 -0
- package/gui/v1/static/icon/favicon-128.png +0 -0
- package/gui/v1/static/icon/favicon-16x16.png +0 -0
- package/gui/v1/static/icon/favicon-196x196.png +0 -0
- package/gui/v1/static/icon/favicon-32x32.png +0 -0
- package/gui/v1/static/icon/favicon-96x96.png +0 -0
- package/gui/v1/static/icon/favicon.ico +0 -0
- package/gui/v1/static/icon/mstile-144x144.png +0 -0
- package/gui/v1/static/icon/mstile-150x150.png +0 -0
- package/gui/v1/static/icon/mstile-310x150.png +0 -0
- package/gui/v1/static/icon/mstile-310x310.png +0 -0
- package/gui/v1/static/icon/mstile-70x70.png +0 -0
- package/gui/v1/static/insites-logo-old.png +0 -0
- package/gui/v1/static/insites-logo.png +0 -0
- package/gui/v1/static/prism.js +8 -0
- package/gui/v1/svelte.config.js +12 -0
- package/gui/v1/vite.config.js +9 -0
- package/gui/v2/.env.local.sample +1 -0
- package/gui/v2/.eslintrc.json +3 -0
- package/gui/v2/README.md +36 -0
- package/gui/v2/jsconfig.json +7 -0
- package/gui/v2/next.config.mjs +8 -0
- package/gui/v2/out/404/index.html +1 -0
- package/gui/v2/out/404.html +1 -0
- package/gui/v2/out/_next/static/chunks/1255.653490595d3fc3e0.js +1 -0
- package/gui/v2/out/_next/static/chunks/156-d7f9f402651cf1ce.js +1 -0
- package/gui/v2/out/_next/static/chunks/1607-f540467bd5a5afbb.js +1 -0
- package/gui/v2/out/_next/static/chunks/1846.1d14172e53de7bd5.js +1 -0
- package/gui/v2/out/_next/static/chunks/2380.950327f4432936af.js +1 -0
- package/gui/v2/out/_next/static/chunks/2572.bec81f6c42bcb825.js +1 -0
- package/gui/v2/out/_next/static/chunks/2650.fe9586a828cdca9d.js +1 -0
- package/gui/v2/out/_next/static/chunks/3331.562d592a07589250.js +1 -0
- package/gui/v2/out/_next/static/chunks/3510.61b58fad9f502d34.js +1 -0
- package/gui/v2/out/_next/static/chunks/363642f4-2accd15316551dfa.js +1 -0
- package/gui/v2/out/_next/static/chunks/4704.c49f871da8f25277.js +1 -0
- package/gui/v2/out/_next/static/chunks/49448ee7.02b7afe6f73c8f9d.js +1 -0
- package/gui/v2/out/_next/static/chunks/4d1bfaba-4c00fd5561f9a075.js +1 -0
- package/gui/v2/out/_next/static/chunks/5103.b86a80704c50b2cb.js +1 -0
- package/gui/v2/out/_next/static/chunks/5250-f85a6556cdac145c.js +1 -0
- package/gui/v2/out/_next/static/chunks/5253.6fc3f7a625a83de9.js +1 -0
- package/gui/v2/out/_next/static/chunks/6163.50329d0319b2e55b.js +1 -0
- package/gui/v2/out/_next/static/chunks/6262.57b323874390cc1b.js +1 -0
- package/gui/v2/out/_next/static/chunks/6442.5e49a9feebedaf1a.js +1 -0
- package/gui/v2/out/_next/static/chunks/6711.076ab1f536726d8d.js +1 -0
- package/gui/v2/out/_next/static/chunks/6729.9cc7e67fe8be26d8.js +1 -0
- package/gui/v2/out/_next/static/chunks/6744.73e5042f769356c2.js +1 -0
- package/gui/v2/out/_next/static/chunks/7058.e63b764d613d6d14.js +1 -0
- package/gui/v2/out/_next/static/chunks/714.039f29b090afd075.js +1 -0
- package/gui/v2/out/_next/static/chunks/720.b5dff7afd9961ccc.js +1 -0
- package/gui/v2/out/_next/static/chunks/7283.e2af380e1cb385c4.js +1 -0
- package/gui/v2/out/_next/static/chunks/7567.fb1e0ef7389df59d.js +1 -0
- package/gui/v2/out/_next/static/chunks/7604.12b8307c002ce3f4.js +1 -0
- package/gui/v2/out/_next/static/chunks/7612.f071dccc7f2b0711.js +1 -0
- package/gui/v2/out/_next/static/chunks/7737.6191e6708d094927.js +1 -0
- package/gui/v2/out/_next/static/chunks/7833.6ff3b0179c6aab2e.js +1 -0
- package/gui/v2/out/_next/static/chunks/7934.875b05fd89a8eeae.js +1 -0
- package/gui/v2/out/_next/static/chunks/7957.c1f316fb4f52b181.js +1 -0
- package/gui/v2/out/_next/static/chunks/7979.1ed8d3011a12e2f1.js +1 -0
- package/gui/v2/out/_next/static/chunks/8043.592171badd8f3ea1.js +57 -0
- package/gui/v2/out/_next/static/chunks/8047-327e12b999e88629.js +1 -0
- package/gui/v2/out/_next/static/chunks/8069-99e6658a6772ea80.js +1 -0
- package/gui/v2/out/_next/static/chunks/8414.c85352362d33de3e.js +1 -0
- package/gui/v2/out/_next/static/chunks/8700.4409d1a867db1bf3.js +1 -0
- package/gui/v2/out/_next/static/chunks/9121.b83f5b8780f6c093.js +1 -0
- package/gui/v2/out/_next/static/chunks/9336.17897c831ce187f3.js +1 -0
- package/gui/v2/out/_next/static/chunks/9479.f984522cec5ff059.js +1 -0
- package/gui/v2/out/_next/static/chunks/9557.471a0e1662abe246.js +1 -0
- package/gui/v2/out/_next/static/chunks/989.aa0766c8bb66a392.js +1 -0
- package/gui/v2/out/_next/static/chunks/app/background-job/page-0521f8d6e8ec9b55.js +1 -0
- package/gui/v2/out/_next/static/chunks/app/constants/page-f1397b414fe2e4c0.js +1 -0
- package/gui/v2/out/_next/static/chunks/app/database/layout-c1e28d1ae358bc77.js +1 -0
- package/gui/v2/out/_next/static/chunks/app/database/page-d2f667b24c673fbb.js +1 -0
- package/gui/v2/out/_next/static/chunks/app/error-3cf235b6b99c469f.js +1 -0
- package/gui/v2/out/_next/static/chunks/app/global-error-afc2c2c9b5e82f57.js +1 -0
- package/gui/v2/out/_next/static/chunks/app/graphql/page-ae7c858f41b54801.js +1 -0
- package/gui/v2/out/_next/static/chunks/app/layout-8194e46834cb4aba.js +1 -0
- package/gui/v2/out/_next/static/chunks/app/liquid/page-02caf239e75f472f.js +1 -0
- package/gui/v2/out/_next/static/chunks/app/loading-54414b5097331d64.js +1 -0
- package/gui/v2/out/_next/static/chunks/app/logs/layout-5f78d72b1b805625.js +1 -0
- package/gui/v2/out/_next/static/chunks/app/logs/page-ef7dd2b328d24734.js +1 -0
- package/gui/v2/out/_next/static/chunks/app/not-found-33cae8ec5bdcd26f.js +1 -0
- package/gui/v2/out/_next/static/chunks/app/page-73b1f8b1f7552d3f.js +1 -0
- package/gui/v2/out/_next/static/chunks/app/users/page-2195ac1594366ce4.js +1 -0
- package/gui/v2/out/_next/static/chunks/d9670eb5.68da5e9f84dd26cf.js +1 -0
- package/gui/v2/out/_next/static/chunks/fd9d1056-0e6b8922e4ebe23a.js +1 -0
- package/gui/v2/out/_next/static/chunks/framework-08aa667e5202eed8.js +33 -0
- package/gui/v2/out/_next/static/chunks/main-7b334683379129cf.js +1 -0
- package/gui/v2/out/_next/static/chunks/main-app-35b90d128e2e05cf.js +1 -0
- package/gui/v2/out/_next/static/chunks/pages/_app-57bdff7978360b1c.js +1 -0
- package/gui/v2/out/_next/static/chunks/pages/_error-29037c284dd0eec6.js +1 -0
- package/gui/v2/out/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js +1 -0
- package/gui/v2/out/_next/static/chunks/webpack-d07cc8d61c19af5d.js +1 -0
- package/gui/v2/out/_next/static/css/874c6e64ab8446a4.css +6 -0
- package/gui/v2/out/_next/static/css/88716ec5fc4aa1e3.css +15 -0
- package/gui/v2/out/_next/static/wmD1UwESxpzZj8pfiHFeB/_buildManifest.js +1 -0
- package/gui/v2/out/_next/static/wmD1UwESxpzZj8pfiHFeB/_ssgManifest.js +1 -0
- package/gui/v2/out/assets/icons/home-bg-job.png +0 -0
- package/gui/v2/out/assets/icons/home-constants.png +0 -0
- package/gui/v2/out/assets/icons/home-database.png +0 -0
- package/gui/v2/out/assets/icons/home-graphql.png +0 -0
- package/gui/v2/out/assets/icons/home-info-fill-light.png +0 -0
- package/gui/v2/out/assets/icons/home-info-light.png +0 -0
- package/gui/v2/out/assets/icons/home-liquid.png +0 -0
- package/gui/v2/out/assets/icons/home-logs.png +0 -0
- package/gui/v2/out/assets/icons/home-pin-fill-light.png +0 -0
- package/gui/v2/out/assets/icons/home-pin-light.png +0 -0
- package/gui/v2/out/assets/icons/home-support.png +0 -0
- package/gui/v2/out/assets/icons/home-users.png +0 -0
- package/gui/v2/out/assets/icons/menu-bg-job-dark.png +0 -0
- package/gui/v2/out/assets/icons/menu-bg-job-light.png +0 -0
- package/gui/v2/out/assets/icons/menu-console-dark.png +0 -0
- package/gui/v2/out/assets/icons/menu-console-light.png +0 -0
- package/gui/v2/out/assets/icons/menu-constants-dark.png +0 -0
- package/gui/v2/out/assets/icons/menu-constants-light.png +0 -0
- package/gui/v2/out/assets/icons/menu-database-dark.png +0 -0
- package/gui/v2/out/assets/icons/menu-database-light.png +0 -0
- package/gui/v2/out/assets/icons/menu-docs-dark.png +0 -0
- package/gui/v2/out/assets/icons/menu-docs-light.png +0 -0
- package/gui/v2/out/assets/icons/menu-graphql-dark.png +0 -0
- package/gui/v2/out/assets/icons/menu-graphql-light.png +0 -0
- package/gui/v2/out/assets/icons/menu-iia-dark.png +0 -0
- package/gui/v2/out/assets/icons/menu-iia-light.png +0 -0
- package/gui/v2/out/assets/icons/menu-liquid-dark.png +0 -0
- package/gui/v2/out/assets/icons/menu-liquid-light.png +0 -0
- package/gui/v2/out/assets/icons/menu-logs-dark.png +0 -0
- package/gui/v2/out/assets/icons/menu-logs-light.png +0 -0
- package/gui/v2/out/assets/icons/menu-support-dark.png +0 -0
- package/gui/v2/out/assets/icons/menu-support-light.png +0 -0
- package/gui/v2/out/assets/icons/menu-theme-dark.png +0 -0
- package/gui/v2/out/assets/icons/menu-theme-light.png +0 -0
- package/gui/v2/out/assets/icons/menu-users-dark.png +0 -0
- package/gui/v2/out/assets/icons/menu-users-light.png +0 -0
- package/gui/v2/out/assets/icons/search-icon-dark.svg +3 -0
- package/gui/v2/out/assets/ins-logo-dark.svg +35 -0
- package/gui/v2/out/assets/ins-logo-light.svg +35 -0
- package/gui/v2/out/background-job/index.html +1 -0
- package/gui/v2/out/background-job/index.txt +9 -0
- package/gui/v2/out/constants/index.html +1 -0
- package/gui/v2/out/constants/index.txt +11 -0
- package/gui/v2/out/database/index.html +1 -0
- package/gui/v2/out/database/index.txt +13 -0
- package/gui/v2/out/favicon.ico +0 -0
- package/gui/v2/out/favicon.png +0 -0
- package/gui/v2/out/graphql/index.html +1 -0
- package/gui/v2/out/graphql/index.txt +11 -0
- package/gui/v2/out/index.html +1 -0
- package/gui/v2/out/index.txt +11 -0
- package/gui/v2/out/liquid/index.html +1 -0
- package/gui/v2/out/liquid/index.txt +11 -0
- package/gui/v2/out/logs/index.html +1 -0
- package/gui/v2/out/logs/index.txt +13 -0
- package/gui/v2/out/next.svg +1 -0
- package/gui/v2/out/users/index.html +1 -0
- package/gui/v2/out/users/index.txt +11 -0
- package/gui/v2/out/vercel.svg +1 -0
- package/gui/v2/package-lock.json +9575 -0
- package/gui/v2/package.json +37 -0
- package/gui/v2/postcss.config.js +6 -0
- package/gui/v2/public/assets/icons/home-bg-job.png +0 -0
- package/gui/v2/public/assets/icons/home-constants.png +0 -0
- package/gui/v2/public/assets/icons/home-database.png +0 -0
- package/gui/v2/public/assets/icons/home-graphql.png +0 -0
- package/gui/v2/public/assets/icons/home-info-fill-light.png +0 -0
- package/gui/v2/public/assets/icons/home-info-light.png +0 -0
- package/gui/v2/public/assets/icons/home-liquid.png +0 -0
- package/gui/v2/public/assets/icons/home-logs.png +0 -0
- package/gui/v2/public/assets/icons/home-pin-fill-light.png +0 -0
- package/gui/v2/public/assets/icons/home-pin-light.png +0 -0
- package/gui/v2/public/assets/icons/home-support.png +0 -0
- package/gui/v2/public/assets/icons/home-users.png +0 -0
- package/gui/v2/public/assets/icons/menu-bg-job-dark.png +0 -0
- package/gui/v2/public/assets/icons/menu-bg-job-light.png +0 -0
- package/gui/v2/public/assets/icons/menu-console-dark.png +0 -0
- package/gui/v2/public/assets/icons/menu-console-light.png +0 -0
- package/gui/v2/public/assets/icons/menu-constants-dark.png +0 -0
- package/gui/v2/public/assets/icons/menu-constants-light.png +0 -0
- package/gui/v2/public/assets/icons/menu-database-dark.png +0 -0
- package/gui/v2/public/assets/icons/menu-database-light.png +0 -0
- package/gui/v2/public/assets/icons/menu-docs-dark.png +0 -0
- package/gui/v2/public/assets/icons/menu-docs-light.png +0 -0
- package/gui/v2/public/assets/icons/menu-graphql-dark.png +0 -0
- package/gui/v2/public/assets/icons/menu-graphql-light.png +0 -0
- package/gui/v2/public/assets/icons/menu-iia-dark.png +0 -0
- package/gui/v2/public/assets/icons/menu-iia-light.png +0 -0
- package/gui/v2/public/assets/icons/menu-liquid-dark.png +0 -0
- package/gui/v2/public/assets/icons/menu-liquid-light.png +0 -0
- package/gui/v2/public/assets/icons/menu-logs-dark.png +0 -0
- package/gui/v2/public/assets/icons/menu-logs-light.png +0 -0
- package/gui/v2/public/assets/icons/menu-support-dark.png +0 -0
- package/gui/v2/public/assets/icons/menu-support-light.png +0 -0
- package/gui/v2/public/assets/icons/menu-theme-dark.png +0 -0
- package/gui/v2/public/assets/icons/menu-theme-light.png +0 -0
- package/gui/v2/public/assets/icons/menu-users-dark.png +0 -0
- package/gui/v2/public/assets/icons/menu-users-light.png +0 -0
- package/gui/v2/public/assets/icons/search-icon-dark.svg +3 -0
- package/gui/v2/public/assets/ins-logo-dark.svg +35 -0
- package/gui/v2/public/assets/ins-logo-light.svg +35 -0
- package/gui/v2/public/favicon.png +0 -0
- package/gui/v2/public/next.svg +1 -0
- package/gui/v2/public/vercel.svg +1 -0
- package/gui/v2/src/app/background-job/page.js +35 -0
- package/gui/v2/src/app/constants/components/Field/Field.css +11 -0
- package/gui/v2/src/app/constants/components/Field/Field.js +52 -0
- package/gui/v2/src/app/constants/components/Filter.js +50 -0
- package/gui/v2/src/app/constants/components/Form/Form.css +3 -0
- package/gui/v2/src/app/constants/components/Form/Form.js +41 -0
- package/gui/v2/src/app/constants/page.js +40 -0
- package/gui/v2/src/app/database/components/Filters/FilterForm.js +70 -0
- package/gui/v2/src/app/database/components/Filters/FilterValue.js +68 -0
- package/gui/v2/src/app/database/components/Filters/Filters.js +72 -0
- package/gui/v2/src/app/database/components/Sidebar.js +46 -0
- package/gui/v2/src/app/database/components/Table.js +122 -0
- package/gui/v2/src/app/database/context.js +106 -0
- package/gui/v2/src/app/database/layout.js +10 -0
- package/gui/v2/src/app/database/page.js +31 -0
- package/gui/v2/src/app/error.js +25 -0
- package/gui/v2/src/app/favicon.ico +0 -0
- package/gui/v2/src/app/global-error.js +20 -0
- package/gui/v2/src/app/globals.css +30 -0
- package/gui/v2/src/app/graphql/graphql.js +71 -0
- package/gui/v2/src/app/graphql/page.js +11 -0
- package/gui/v2/src/app/layout.js +27 -0
- package/gui/v2/src/app/liquid/page.js +68 -0
- package/gui/v2/src/app/loading.js +7 -0
- package/gui/v2/src/app/logs/components/JsonTree.js +31 -0
- package/gui/v2/src/app/logs/components/LogMetadata/LogMetadata.js +61 -0
- package/gui/v2/src/app/logs/components/LogRow.js +62 -0
- package/gui/v2/src/app/logs/components/PinnedPanel/PinnedPanel.js +46 -0
- package/gui/v2/src/app/logs/components/Toolbar/ClearButton.js +10 -0
- package/gui/v2/src/app/logs/components/Toolbar/Filter.js +13 -0
- package/gui/v2/src/app/logs/components/Toolbar/MetaDataCheckbox.js +11 -0
- package/gui/v2/src/app/logs/components/Toolbar/ShowPinnedButton.js +8 -0
- package/gui/v2/src/app/logs/components/Toolbar/Toolbar.js +45 -0
- package/gui/v2/src/app/logs/context.js +66 -0
- package/gui/v2/src/app/logs/layout.js +10 -0
- package/gui/v2/src/app/logs/page.js +73 -0
- package/gui/v2/src/app/not-found.js +11 -0
- package/gui/v2/src/app/page.js +103 -0
- package/gui/v2/src/app/providers.js +18 -0
- package/gui/v2/src/app/users/components/UserDetails.js +38 -0
- package/gui/v2/src/app/users/page.js +121 -0
- package/gui/v2/src/components/CodeEditor/CodeEditor.css +12 -0
- package/gui/v2/src/components/CodeEditor/CodeEditor.js +76 -0
- package/gui/v2/src/components/layout/Header/Header.css +6 -0
- package/gui/v2/src/components/layout/Header/Header.js +139 -0
- package/gui/v2/src/constants/filters.js +32 -0
- package/gui/v2/src/constants/records.js +17 -0
- package/gui/v2/src/context/config.js +27 -0
- package/gui/v2/src/context/filters.js +22 -0
- package/gui/v2/src/context/menu.js +14 -0
- package/gui/v2/src/context/theme.js +29 -0
- package/gui/v2/src/hooks/config.js +6 -0
- package/gui/v2/src/hooks/constants.js +99 -0
- package/gui/v2/src/hooks/database.js +44 -0
- package/gui/v2/src/hooks/filters.js +30 -0
- package/gui/v2/src/hooks/menu.js +19 -0
- package/gui/v2/src/hooks/query.js +10 -0
- package/gui/v2/src/hooks/queryParams.js +20 -0
- package/gui/v2/src/hooks/recordQuery.js +109 -0
- package/gui/v2/src/hooks/theme.js +6 -0
- package/gui/v2/src/hooks/users.js +63 -0
- package/gui/v2/src/reducers/filter.js +28 -0
- package/gui/v2/src/reducers/menu.js +125 -0
- package/gui/v2/src/reducers/query.js +143 -0
- package/gui/v2/src/services/ConfigService.js +7 -0
- package/gui/v2/src/services/CoreService.js +68 -0
- package/gui/v2/src/services/GraphiQLService.js +14 -0
- package/gui/v2/src/services/LiquidService.js +7 -0
- package/gui/v2/src/services/LogService.js +7 -0
- package/gui/v2/src/services/RecordService.js +27 -0
- package/gui/v2/src/styles/app/database.css +10 -0
- package/gui/v2/src/styles/app/graphql.css +100 -0
- package/gui/v2/src/styles/app/liquid.css +4 -0
- package/gui/v2/src/styles/app/users.css +3 -0
- package/gui/v2/src/styles/general.css +31 -0
- package/gui/v2/src/styles/icons.css +7 -0
- package/gui/v2/src/styles/utils.css +103 -0
- package/gui/v2/src/styles/variables.css +94 -0
- package/gui/v2/tailwind.config.js +18 -0
- package/gui/v3/.cta.json +13 -0
- package/gui/v3/.cursorrules +7 -0
- package/gui/v3/.vscode/settings.json +18 -0
- package/gui/v3/README.md +300 -0
- package/gui/v3/components.json +21 -0
- package/gui/v3/index.html +17 -0
- package/gui/v3/out/assets/asn1-EdZsLKOL.js +1 -0
- package/gui/v3/out/assets/babel-C9dsZwsK.js +15 -0
- package/gui/v3/out/assets/clojure-BMjYHr_A.js +1 -0
- package/gui/v3/out/assets/codicon-DCmgc-ay.ttf +0 -0
- package/gui/v3/out/assets/constants-BTP7rcyh.js +1 -0
- package/gui/v3/out/assets/createLucideIcon-C36JZ1s3.js +21 -0
- package/gui/v3/out/assets/css-BnMrqG3P.js +1 -0
- package/gui/v3/out/assets/database-DV7gHS2m.js +106 -0
- package/gui/v3/out/assets/estree-DZUM3lmb.js +36 -0
- package/gui/v3/out/assets/format-Bs4upCOt.js +1 -0
- package/gui/v3/out/assets/graphql-7Dzro_xV.js +29 -0
- package/gui/v3/out/assets/graphql-Cg7bfA9N.js +6 -0
- package/gui/v3/out/assets/graphql-D05RS2Ys.js +29 -0
- package/gui/v3/out/assets/graphql-DeSRErpC.css +6 -0
- package/gui/v3/out/assets/graphql-Kf_-WQAL.js +335 -0
- package/gui/v3/out/assets/graphqlMode-BiZPK6IB.js +2 -0
- package/gui/v3/out/assets/icons/home-bg-job.png +0 -0
- package/gui/v3/out/assets/icons/home-constants.png +0 -0
- package/gui/v3/out/assets/icons/home-database.png +0 -0
- package/gui/v3/out/assets/icons/home-graphql.png +0 -0
- package/gui/v3/out/assets/icons/home-info-fill-light.png +0 -0
- package/gui/v3/out/assets/icons/home-info-light.png +0 -0
- package/gui/v3/out/assets/icons/home-liquid.png +0 -0
- package/gui/v3/out/assets/icons/home-logs.png +0 -0
- package/gui/v3/out/assets/icons/home-pin-fill-light.png +0 -0
- package/gui/v3/out/assets/icons/home-pin-light.png +0 -0
- package/gui/v3/out/assets/icons/home-support.png +0 -0
- package/gui/v3/out/assets/icons/home-users.png +0 -0
- package/gui/v3/out/assets/icons/menu-bg-job-dark.png +0 -0
- package/gui/v3/out/assets/icons/menu-bg-job-light.png +0 -0
- package/gui/v3/out/assets/icons/menu-console-dark.png +0 -0
- package/gui/v3/out/assets/icons/menu-console-light.png +0 -0
- package/gui/v3/out/assets/icons/menu-constants-dark.png +0 -0
- package/gui/v3/out/assets/icons/menu-constants-light.png +0 -0
- package/gui/v3/out/assets/icons/menu-database-dark.png +0 -0
- package/gui/v3/out/assets/icons/menu-database-light.png +0 -0
- package/gui/v3/out/assets/icons/menu-docs-dark.png +0 -0
- package/gui/v3/out/assets/icons/menu-docs-light.png +0 -0
- package/gui/v3/out/assets/icons/menu-graphql-dark.png +0 -0
- package/gui/v3/out/assets/icons/menu-graphql-light.png +0 -0
- package/gui/v3/out/assets/icons/menu-iia-dark.png +0 -0
- package/gui/v3/out/assets/icons/menu-iia-light.png +0 -0
- package/gui/v3/out/assets/icons/menu-liquid-dark.png +0 -0
- package/gui/v3/out/assets/icons/menu-liquid-light.png +0 -0
- package/gui/v3/out/assets/icons/menu-logs-dark.png +0 -0
- package/gui/v3/out/assets/icons/menu-logs-light.png +0 -0
- package/gui/v3/out/assets/icons/menu-support-dark.png +0 -0
- package/gui/v3/out/assets/icons/menu-support-light.png +0 -0
- package/gui/v3/out/assets/icons/menu-theme-dark.png +0 -0
- package/gui/v3/out/assets/icons/menu-theme-light.png +0 -0
- package/gui/v3/out/assets/icons/menu-users-dark.png +0 -0
- package/gui/v3/out/assets/icons/menu-users-light.png +0 -0
- package/gui/v3/out/assets/icons/search-icon-dark.svg +3 -0
- package/gui/v3/out/assets/index-AQmQqDwZ.js +68 -0
- package/gui/v3/out/assets/index-BkuncLX2.js +1 -0
- package/gui/v3/out/assets/index-Cf5jXmk6.css +1 -0
- package/gui/v3/out/assets/index-CizP5xBC.js +7 -0
- package/gui/v3/out/assets/index-DO4-OviR.js +1 -0
- package/gui/v3/out/assets/index-DuTWoEAJ.js +1 -0
- package/gui/v3/out/assets/index-Fzn1QYI7.js +41 -0
- package/gui/v3/out/assets/ins-logo-dark.svg +35 -0
- package/gui/v3/out/assets/ins-logo-light.svg +35 -0
- package/gui/v3/out/assets/javascript-qCveANmP.js +1 -0
- package/gui/v3/out/assets/jsonMode-D3_vpDO9.js +15 -0
- package/gui/v3/out/assets/liquid-eqk0BGFR.js +56 -0
- package/gui/v3/out/assets/lite-BCVbb_oz.js +2 -0
- package/gui/v3/out/assets/logs-DI6Go5dW.js +16 -0
- package/gui/v3/out/assets/mllike-CXdrOF99.js +1 -0
- package/gui/v3/out/assets/monaco-editor-C4cuflwX.js +722 -0
- package/gui/v3/out/assets/monaco-editor-D6kYW_CN.css +1 -0
- package/gui/v3/out/assets/mouseTarget-B_KnTiWf.js +9 -0
- package/gui/v3/out/assets/objectWithoutPropertiesLoose-Ls7qkcH1.js +1 -0
- package/gui/v3/out/assets/pug-DukmZTjD.js +1 -0
- package/gui/v3/out/assets/python-BuPzkPfP.js +1 -0
- package/gui/v3/out/assets/rpm-CTu-6PCP.js +1 -0
- package/gui/v3/out/assets/sql-D0XecflT.js +1 -0
- package/gui/v3/out/assets/standalone-BS_cqyLa.js +39 -0
- package/gui/v3/out/assets/table-D17Bwjdk.js +6 -0
- package/gui/v3/out/assets/toolkit-DToHxdMP.js +1 -0
- package/gui/v3/out/assets/ttcn-cfg-B9xdYoR4.js +1 -0
- package/gui/v3/out/assets/users-DI3wqkEI.js +1 -0
- package/gui/v3/out/favicon.png +0 -0
- package/gui/v3/out/index.html +41 -0
- package/gui/v3/out/logo192.png +0 -0
- package/gui/v3/out/logo512.png +0 -0
- package/gui/v3/out/manifest.json +25 -0
- package/gui/v3/out/monacoeditorwork/editor.worker.bundle.js +13519 -0
- package/gui/v3/out/monacoeditorwork/graphql.worker..bundle.js +32105 -0
- package/gui/v3/out/monacoeditorwork/json.worker.bundle.js +21320 -0
- package/gui/v3/out/robots.txt +3 -0
- package/gui/v3/package-lock.json +7193 -0
- package/gui/v3/package.json +69 -0
- package/gui/v3/public/assets/icons/home-bg-job.png +0 -0
- package/gui/v3/public/assets/icons/home-constants.png +0 -0
- package/gui/v3/public/assets/icons/home-database.png +0 -0
- package/gui/v3/public/assets/icons/home-graphql.png +0 -0
- package/gui/v3/public/assets/icons/home-info-fill-light.png +0 -0
- package/gui/v3/public/assets/icons/home-info-light.png +0 -0
- package/gui/v3/public/assets/icons/home-liquid.png +0 -0
- package/gui/v3/public/assets/icons/home-logs.png +0 -0
- package/gui/v3/public/assets/icons/home-pin-fill-light.png +0 -0
- package/gui/v3/public/assets/icons/home-pin-light.png +0 -0
- package/gui/v3/public/assets/icons/home-support.png +0 -0
- package/gui/v3/public/assets/icons/home-users.png +0 -0
- package/gui/v3/public/assets/icons/menu-bg-job-dark.png +0 -0
- package/gui/v3/public/assets/icons/menu-bg-job-light.png +0 -0
- package/gui/v3/public/assets/icons/menu-console-dark.png +0 -0
- package/gui/v3/public/assets/icons/menu-console-light.png +0 -0
- package/gui/v3/public/assets/icons/menu-constants-dark.png +0 -0
- package/gui/v3/public/assets/icons/menu-constants-light.png +0 -0
- package/gui/v3/public/assets/icons/menu-database-dark.png +0 -0
- package/gui/v3/public/assets/icons/menu-database-light.png +0 -0
- package/gui/v3/public/assets/icons/menu-docs-dark.png +0 -0
- package/gui/v3/public/assets/icons/menu-docs-light.png +0 -0
- package/gui/v3/public/assets/icons/menu-graphql-dark.png +0 -0
- package/gui/v3/public/assets/icons/menu-graphql-light.png +0 -0
- package/gui/v3/public/assets/icons/menu-iia-dark.png +0 -0
- package/gui/v3/public/assets/icons/menu-iia-light.png +0 -0
- package/gui/v3/public/assets/icons/menu-liquid-dark.png +0 -0
- package/gui/v3/public/assets/icons/menu-liquid-light.png +0 -0
- package/gui/v3/public/assets/icons/menu-logs-dark.png +0 -0
- package/gui/v3/public/assets/icons/menu-logs-light.png +0 -0
- package/gui/v3/public/assets/icons/menu-support-dark.png +0 -0
- package/gui/v3/public/assets/icons/menu-support-light.png +0 -0
- package/gui/v3/public/assets/icons/menu-theme-dark.png +0 -0
- package/gui/v3/public/assets/icons/menu-theme-light.png +0 -0
- package/gui/v3/public/assets/icons/menu-users-dark.png +0 -0
- package/gui/v3/public/assets/icons/menu-users-light.png +0 -0
- package/gui/v3/public/assets/icons/search-icon-dark.svg +3 -0
- package/gui/v3/public/assets/ins-logo-dark.svg +35 -0
- package/gui/v3/public/assets/ins-logo-light.svg +35 -0
- package/gui/v3/public/favicon.png +0 -0
- package/gui/v3/public/logo192.png +0 -0
- package/gui/v3/public/logo512.png +0 -0
- package/gui/v3/public/manifest.json +25 -0
- package/gui/v3/public/robots.txt +3 -0
- package/gui/v3/src/components/CodeEditor.tsx +100 -0
- package/gui/v3/src/components/commons/DatePicker.tsx +93 -0
- package/gui/v3/src/components/commons/DateRangeFilter.tsx +76 -0
- package/gui/v3/src/components/commons/InputBox.tsx +88 -0
- package/gui/v3/src/components/data/DataPagination.tsx +116 -0
- package/gui/v3/src/components/data/DataTable.tsx +84 -0
- package/gui/v3/src/components/layout/Header.tsx +42 -0
- package/gui/v3/src/components/layout/Layout.tsx +15 -0
- package/gui/v3/src/components/ui/alert.tsx +66 -0
- package/gui/v3/src/components/ui/badge.tsx +48 -0
- package/gui/v3/src/components/ui/button.tsx +59 -0
- package/gui/v3/src/components/ui/calendar.tsx +211 -0
- package/gui/v3/src/components/ui/card.tsx +92 -0
- package/gui/v3/src/components/ui/dropdown-menu.tsx +255 -0
- package/gui/v3/src/components/ui/hover-card.tsx +42 -0
- package/gui/v3/src/components/ui/input.tsx +21 -0
- package/gui/v3/src/components/ui/navigation-menu.tsx +168 -0
- package/gui/v3/src/components/ui/pagination.tsx +127 -0
- package/gui/v3/src/components/ui/popover.tsx +46 -0
- package/gui/v3/src/components/ui/resizable.tsx +54 -0
- package/gui/v3/src/components/ui/select.tsx +183 -0
- package/gui/v3/src/components/ui/separator.tsx +28 -0
- package/gui/v3/src/components/ui/sheet.tsx +137 -0
- package/gui/v3/src/components/ui/sidebar.tsx +724 -0
- package/gui/v3/src/components/ui/skeleton.tsx +13 -0
- package/gui/v3/src/components/ui/switch.tsx +29 -0
- package/gui/v3/src/components/ui/table.tsx +114 -0
- package/gui/v3/src/components/ui/tooltip.tsx +61 -0
- package/gui/v3/src/features/config/context.ts +21 -0
- package/gui/v3/src/features/config/hooks.ts +11 -0
- package/gui/v3/src/features/config/provider.tsx +33 -0
- package/gui/v3/src/features/config/services.ts +14 -0
- package/gui/v3/src/features/config/type.ts +7 -0
- package/gui/v3/src/features/database/components/DatabaseLayout.tsx +44 -0
- package/gui/v3/src/features/database/components/DatabaseLoader.tsx +3 -0
- package/gui/v3/src/features/database/components/DatabaseNotFound.tsx +6 -0
- package/gui/v3/src/features/database/components/DatabaseSidebar.tsx +60 -0
- package/gui/v3/src/features/database/components/LoadingIndicator.tsx +3 -0
- package/gui/v3/src/features/database/components/RecordsFilter.tsx +89 -0
- package/gui/v3/src/features/database/components/RecordsTable.tsx +64 -0
- package/gui/v3/src/features/database/components/RecordsViewer.tsx +39 -0
- package/gui/v3/src/features/database/graphql/queries.ts +64 -0
- package/gui/v3/src/features/database/hooks/useDatabaseColumns.ts +34 -0
- package/gui/v3/src/features/database/hooks/useRecords.ts +21 -0
- package/gui/v3/src/features/database/hooks/useSelectedTable.ts +14 -0
- package/gui/v3/src/features/database/hooks/useTables.ts +18 -0
- package/gui/v3/src/features/database/reducers/useRecordsVariable.ts +66 -0
- package/gui/v3/src/features/database/schema/records.ts +82 -0
- package/gui/v3/src/features/database/schema/tables.ts +51 -0
- package/gui/v3/src/features/graphiql/components/GraphiQL.tsx +21 -0
- package/gui/v3/src/features/graphiql/style.css +120 -0
- package/gui/v3/src/features/liquid/components/LiquidEditor.tsx +95 -0
- package/gui/v3/src/features/liquid/service.ts +13 -0
- package/gui/v3/src/features/logs/components/LogMessage.tsx +83 -0
- package/gui/v3/src/features/logs/components/LogsTable.tsx +121 -0
- package/gui/v3/src/features/logs/components/LogsViewer.tsx +30 -0
- package/gui/v3/src/features/logs/hooks/useLogs.tsx +59 -0
- package/gui/v3/src/features/logs/types/schema.ts +8 -0
- package/gui/v3/src/features/menu/components/GuiMenu.tsx +32 -0
- package/gui/v3/src/features/menu/components/InsitesMenu.tsx +56 -0
- package/gui/v3/src/features/menu/components/TileMenu.tsx +88 -0
- package/gui/v3/src/features/menu/constants.ts +99 -0
- package/gui/v3/src/features/menu/hooks.ts +11 -0
- package/gui/v3/src/features/menu/store.ts +26 -0
- package/gui/v3/src/features/menu/types.ts +16 -0
- package/gui/v3/src/features/theme/context.tsx +16 -0
- package/gui/v3/src/features/theme/hook.tsx +11 -0
- package/gui/v3/src/features/theme/provider.tsx +35 -0
- package/gui/v3/src/features/theme/store.ts +17 -0
- package/gui/v3/src/features/theme/types.ts +1 -0
- package/gui/v3/src/features/users/components/Users.tsx +77 -0
- package/gui/v3/src/features/users/types.ts +31 -0
- package/gui/v3/src/features/users/usernames.ts +45 -0
- package/gui/v3/src/hooks/use-mobile.ts +19 -0
- package/gui/v3/src/lib/api/constants.ts +1 -0
- package/gui/v3/src/lib/api/errors.ts +22 -0
- package/gui/v3/src/lib/api/request.ts +57 -0
- package/gui/v3/src/lib/api/types.ts +16 -0
- package/gui/v3/src/lib/graphql/hooks.ts +27 -0
- package/gui/v3/src/lib/graphql/request.ts +31 -0
- package/gui/v3/src/lib/graphql/schema/filters.ts +108 -0
- package/gui/v3/src/lib/graphql/schema/sorts.ts +10 -0
- package/gui/v3/src/lib/graphql/types.ts +29 -0
- package/gui/v3/src/lib/providers/entries.ts +21 -0
- package/gui/v3/src/lib/providers/index.tsx +10 -0
- package/gui/v3/src/lib/providers/queryClient.tsx +16 -0
- package/gui/v3/src/lib/providers/types.ts +9 -0
- package/gui/v3/src/lib/utils.ts +30 -0
- package/gui/v3/src/logo.svg +44 -0
- package/gui/v3/src/main.tsx +42 -0
- package/gui/v3/src/pages/ConstantPage.tsx +3 -0
- package/gui/v3/src/pages/DatabasePage.tsx +31 -0
- package/gui/v3/src/pages/GraphqlPage.tsx +9 -0
- package/gui/v3/src/pages/HomePage.tsx +36 -0
- package/gui/v3/src/pages/LiquidPage.tsx +5 -0
- package/gui/v3/src/pages/LogsPage.tsx +10 -0
- package/gui/v3/src/pages/Userspage.tsx +5 -0
- package/gui/v3/src/reportWebVitals.ts +13 -0
- package/gui/v3/src/routeTree.gen.ts +189 -0
- package/gui/v3/src/routes/__root.tsx +6 -0
- package/gui/v3/src/routes/constants.tsx +7 -0
- package/gui/v3/src/routes/database.tsx +6 -0
- package/gui/v3/src/routes/graphql.tsx +6 -0
- package/gui/v3/src/routes/index.tsx +6 -0
- package/gui/v3/src/routes/liquid.tsx +6 -0
- package/gui/v3/src/routes/logs.tsx +6 -0
- package/gui/v3/src/routes/users.tsx +6 -0
- package/gui/v3/src/styles.css +247 -0
- package/gui/v3/tsconfig.json +28 -0
- package/gui/v3/vite.config.ts +43 -0
- package/lib/ServerError.js +122 -0
- package/lib/apiRequest.js +15 -0
- package/lib/archive.js +126 -0
- package/lib/assets/insites-icon.png +0 -0
- package/lib/assets/manifest.js +34 -0
- package/lib/assets/packAssets.js +53 -0
- package/lib/assets.js +56 -0
- package/lib/audit/detailed.js +97 -0
- package/lib/audit/duplicateFile.js +31 -0
- package/lib/audit/extensions.js +53 -0
- package/lib/audit/fileName.js +20 -0
- package/lib/audit/filters.js +99 -0
- package/lib/audit/orphanedIncludes.js +85 -0
- package/lib/audit/tags.js +69 -0
- package/lib/audit.js +47 -0
- package/lib/data/fetchFiles.js +93 -0
- package/lib/data/isValidJSON.js +12 -0
- package/lib/data/uploadFiles.js +92 -0
- package/lib/data/waitForStatus.js +31 -0
- package/lib/deploy/directAssetsUploadStrategy.js +57 -0
- package/lib/deploy/strategy.js +8 -0
- package/lib/directories.js +23 -0
- package/lib/downloadFile.js +16 -0
- package/lib/duration.js +7 -0
- package/lib/files.js +96 -0
- package/lib/insites-apig.js +18 -0
- package/lib/insites-console.js +24 -0
- package/lib/logger/rainbow.js +11 -0
- package/lib/logger/simple.js +9 -0
- package/lib/logger.js +63 -0
- package/lib/logsv2/http.js +40 -0
- package/lib/modules.js +129 -0
- package/lib/portal.js +52 -0
- package/lib/pos-proxy.js +162 -0
- package/lib/prepareArchive.js +49 -0
- package/lib/presignUrl.js +71 -0
- package/lib/proxy.js +75 -0
- package/lib/push.js +62 -0
- package/lib/s3UploadFile.js +56 -0
- package/lib/server.js +123 -0
- package/lib/settings.js +42 -0
- package/lib/shouldBeSynced.js +89 -0
- package/lib/swagger-client.js +287 -0
- package/lib/templates.js +52 -0
- package/lib/updateNotifier.js +8 -0
- package/lib/utils/valid-file-path.js +21 -0
- package/lib/validators/directoryEmpty.js +12 -0
- package/lib/validators/directoryExists.js +12 -0
- package/lib/validators/email.js +8 -0
- package/lib/validators/existence.js +9 -0
- package/lib/validators/index.js +13 -0
- package/lib/validators/url.js +8 -0
- package/lib/watch-files-extensions.js +39 -0
- package/lib/watch.js +192 -0
- package/mock/app.js +45 -0
- package/mock/bin/www +91 -0
- package/mock/package-lock.json +2287 -0
- package/mock/package.json +18 -0
- package/mock/public/stylesheets/style.css +8 -0
- package/mock/responses/constants.js +39 -0
- package/mock/responses/databases.js +3589 -0
- package/mock/responses/logs.js +126 -0
- package/mock/responses/records.js +443 -0
- package/mock/responses/schemas.js +36896 -0
- package/mock/responses/users.js +194 -0
- package/mock/routes/api.js +53 -0
- package/mock/routes/index.js +13 -0
- package/mock/routes/users.js +9 -0
- package/mock/views/error.jade +6 -0
- package/mock/views/index.jade +5 -0
- package/mock/views/layout.jade +7 -0
- package/package.json +77 -0
- package/tests/archive.test.js +33 -0
- package/tests/deploy.test.js +26 -0
- package/tests/fixtures/archive/default/app/assets/images/insites-logo.svg +55 -0
- package/tests/fixtures/archive/default/app/views/pages/hello.liquid +4 -0
- package/tests/fixtures/archive/default/modules/testModule/public/views/pages/hello-test-module.liquid +4 -0
- package/tests/fixtures/archive/default/modules/testModule/public/views/partials/dir/subdir/foo.liquid +1 -0
- package/tests/fixtures/deploy/default/app/assets/images/insites-logo.svg +55 -0
- package/tests/fixtures/deploy/default/app/views/pages/index.liquid +6 -0
- package/tests/fixtures/deploy/default/app/views/partials/test.liquid +1 -0
- package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/README.md +22 -0
- package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/private/api_calls/.keep +0 -0
- package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/private/assets/.keep +0 -0
- package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/private/emails/.keep +0 -0
- package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/private/graphql/.keep +0 -0
- package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/private/model_schemas/.keep +0 -0
- package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/private/smses/.keep +0 -0
- package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/private/translations/.keep +0 -0
- package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/private/views/layouts/.keep +0 -0
- package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/private/views/pages/.keep +0 -0
- package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/private/views/partials/.keep +0 -0
- package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/public/api_calls/.keep +0 -0
- package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/public/assets/.keep +0 -0
- package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/public/emails/.keep +0 -0
- package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/public/graphql/.keep +0 -0
- package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/public/model_schemas/.keep +0 -0
- package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/public/smses/.keep +0 -0
- package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/public/translations/.keep +0 -0
- package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/public/views/layouts/.keep +0 -0
- package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/public/views/pages/.keep +0 -0
- package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/public/views/pages/demo.json.liquid +4 -0
- package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/public/views/partials/.keep +0 -0
- package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/public/views/partials/components/.keep +0 -0
- package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/public/views/partials/components/test.html.liquid +1 -0
- package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/public/views/partials/components/test.liquid +1 -0
- package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/template-values.json +7 -0
- package/tests/utils/cliPath.js +4 -0
- package/tests/utils/exec.js +12 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { cn } from "@/lib/utils"
|
|
2
|
+
|
|
3
|
+
function Skeleton({ className, ...props }: React.ComponentProps<"div">) {
|
|
4
|
+
return (
|
|
5
|
+
<div
|
|
6
|
+
data-slot="skeleton"
|
|
7
|
+
className={cn("bg-accent animate-pulse rounded-md", className)}
|
|
8
|
+
{...props}
|
|
9
|
+
/>
|
|
10
|
+
)
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export { Skeleton }
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import * as React from "react"
|
|
2
|
+
import * as SwitchPrimitive from "@radix-ui/react-switch"
|
|
3
|
+
|
|
4
|
+
import { cn } from "@/lib/utils"
|
|
5
|
+
|
|
6
|
+
function Switch({
|
|
7
|
+
className,
|
|
8
|
+
...props
|
|
9
|
+
}: React.ComponentProps<typeof SwitchPrimitive.Root>) {
|
|
10
|
+
return (
|
|
11
|
+
<SwitchPrimitive.Root
|
|
12
|
+
data-slot="switch"
|
|
13
|
+
className={cn(
|
|
14
|
+
"peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
|
|
15
|
+
className
|
|
16
|
+
)}
|
|
17
|
+
{...props}
|
|
18
|
+
>
|
|
19
|
+
<SwitchPrimitive.Thumb
|
|
20
|
+
data-slot="switch-thumb"
|
|
21
|
+
className={cn(
|
|
22
|
+
"bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0"
|
|
23
|
+
)}
|
|
24
|
+
/>
|
|
25
|
+
</SwitchPrimitive.Root>
|
|
26
|
+
)
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export { Switch }
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import * as React from "react"
|
|
2
|
+
|
|
3
|
+
import { cn } from "@/lib/utils"
|
|
4
|
+
|
|
5
|
+
function Table({ className, ...props }: React.ComponentProps<"table">) {
|
|
6
|
+
return (
|
|
7
|
+
<div
|
|
8
|
+
data-slot="table-container"
|
|
9
|
+
className="relative w-full overflow-x-auto"
|
|
10
|
+
>
|
|
11
|
+
<table
|
|
12
|
+
data-slot="table"
|
|
13
|
+
className={cn("w-full caption-bottom text-sm", className)}
|
|
14
|
+
{...props}
|
|
15
|
+
/>
|
|
16
|
+
</div>
|
|
17
|
+
)
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
function TableHeader({ className, ...props }: React.ComponentProps<"thead">) {
|
|
21
|
+
return (
|
|
22
|
+
<thead
|
|
23
|
+
data-slot="table-header"
|
|
24
|
+
className={cn("[&_tr]:border-b", className)}
|
|
25
|
+
{...props}
|
|
26
|
+
/>
|
|
27
|
+
)
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function TableBody({ className, ...props }: React.ComponentProps<"tbody">) {
|
|
31
|
+
return (
|
|
32
|
+
<tbody
|
|
33
|
+
data-slot="table-body"
|
|
34
|
+
className={cn("[&_tr:last-child]:border-0", className)}
|
|
35
|
+
{...props}
|
|
36
|
+
/>
|
|
37
|
+
)
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function TableFooter({ className, ...props }: React.ComponentProps<"tfoot">) {
|
|
41
|
+
return (
|
|
42
|
+
<tfoot
|
|
43
|
+
data-slot="table-footer"
|
|
44
|
+
className={cn(
|
|
45
|
+
"bg-muted/50 border-t font-medium [&>tr]:last:border-b-0",
|
|
46
|
+
className
|
|
47
|
+
)}
|
|
48
|
+
{...props}
|
|
49
|
+
/>
|
|
50
|
+
)
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
function TableRow({ className, ...props }: React.ComponentProps<"tr">) {
|
|
54
|
+
return (
|
|
55
|
+
<tr
|
|
56
|
+
data-slot="table-row"
|
|
57
|
+
className={cn(
|
|
58
|
+
"hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",
|
|
59
|
+
className
|
|
60
|
+
)}
|
|
61
|
+
{...props}
|
|
62
|
+
/>
|
|
63
|
+
)
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
function TableHead({ className, ...props }: React.ComponentProps<"th">) {
|
|
67
|
+
return (
|
|
68
|
+
<th
|
|
69
|
+
data-slot="table-head"
|
|
70
|
+
className={cn(
|
|
71
|
+
"text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
|
|
72
|
+
className
|
|
73
|
+
)}
|
|
74
|
+
{...props}
|
|
75
|
+
/>
|
|
76
|
+
)
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
function TableCell({ className, ...props }: React.ComponentProps<"td">) {
|
|
80
|
+
return (
|
|
81
|
+
<td
|
|
82
|
+
data-slot="table-cell"
|
|
83
|
+
className={cn(
|
|
84
|
+
"p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
|
|
85
|
+
className
|
|
86
|
+
)}
|
|
87
|
+
{...props}
|
|
88
|
+
/>
|
|
89
|
+
)
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
function TableCaption({
|
|
93
|
+
className,
|
|
94
|
+
...props
|
|
95
|
+
}: React.ComponentProps<"caption">) {
|
|
96
|
+
return (
|
|
97
|
+
<caption
|
|
98
|
+
data-slot="table-caption"
|
|
99
|
+
className={cn("text-muted-foreground mt-4 text-sm", className)}
|
|
100
|
+
{...props}
|
|
101
|
+
/>
|
|
102
|
+
)
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
export {
|
|
106
|
+
Table,
|
|
107
|
+
TableHeader,
|
|
108
|
+
TableBody,
|
|
109
|
+
TableFooter,
|
|
110
|
+
TableHead,
|
|
111
|
+
TableRow,
|
|
112
|
+
TableCell,
|
|
113
|
+
TableCaption,
|
|
114
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
|
|
3
|
+
import * as React from "react"
|
|
4
|
+
import * as TooltipPrimitive from "@radix-ui/react-tooltip"
|
|
5
|
+
|
|
6
|
+
import { cn } from "@/lib/utils"
|
|
7
|
+
|
|
8
|
+
function TooltipProvider({
|
|
9
|
+
delayDuration = 0,
|
|
10
|
+
...props
|
|
11
|
+
}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {
|
|
12
|
+
return (
|
|
13
|
+
<TooltipPrimitive.Provider
|
|
14
|
+
data-slot="tooltip-provider"
|
|
15
|
+
delayDuration={delayDuration}
|
|
16
|
+
{...props}
|
|
17
|
+
/>
|
|
18
|
+
)
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function Tooltip({
|
|
22
|
+
...props
|
|
23
|
+
}: React.ComponentProps<typeof TooltipPrimitive.Root>) {
|
|
24
|
+
return (
|
|
25
|
+
<TooltipProvider>
|
|
26
|
+
<TooltipPrimitive.Root data-slot="tooltip" {...props} />
|
|
27
|
+
</TooltipProvider>
|
|
28
|
+
)
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function TooltipTrigger({
|
|
32
|
+
...props
|
|
33
|
+
}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {
|
|
34
|
+
return <TooltipPrimitive.Trigger data-slot="tooltip-trigger" {...props} />
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function TooltipContent({
|
|
38
|
+
className,
|
|
39
|
+
sideOffset = 0,
|
|
40
|
+
children,
|
|
41
|
+
...props
|
|
42
|
+
}: React.ComponentProps<typeof TooltipPrimitive.Content>) {
|
|
43
|
+
return (
|
|
44
|
+
<TooltipPrimitive.Portal>
|
|
45
|
+
<TooltipPrimitive.Content
|
|
46
|
+
data-slot="tooltip-content"
|
|
47
|
+
sideOffset={sideOffset}
|
|
48
|
+
className={cn(
|
|
49
|
+
"bg-primary text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",
|
|
50
|
+
className
|
|
51
|
+
)}
|
|
52
|
+
{...props}
|
|
53
|
+
>
|
|
54
|
+
{children}
|
|
55
|
+
<TooltipPrimitive.Arrow className="bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" />
|
|
56
|
+
</TooltipPrimitive.Content>
|
|
57
|
+
</TooltipPrimitive.Portal>
|
|
58
|
+
)
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { createContext } from "react";
|
|
2
|
+
import type { IConfig } from "./type";
|
|
3
|
+
|
|
4
|
+
interface ConfigProviderState {
|
|
5
|
+
config: IConfig;
|
|
6
|
+
setConfig: (data: IConfig) => void;
|
|
7
|
+
configIsLoading: boolean;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export const configInitialState: ConfigProviderState = {
|
|
11
|
+
config: {
|
|
12
|
+
instanceURL: "",
|
|
13
|
+
},
|
|
14
|
+
setConfig: () => null,
|
|
15
|
+
configIsLoading: true,
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
const ConfigProviderContext =
|
|
19
|
+
createContext<ConfigProviderState>(configInitialState);
|
|
20
|
+
|
|
21
|
+
export default ConfigProviderContext;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { useContext } from "react";
|
|
2
|
+
import ConfigProviderContext from "./context";
|
|
3
|
+
|
|
4
|
+
export const useConfig = () => {
|
|
5
|
+
const context = useContext(ConfigProviderContext);
|
|
6
|
+
|
|
7
|
+
if (context === undefined)
|
|
8
|
+
throw new Error("useConfig must be used within a ConfigProvider");
|
|
9
|
+
|
|
10
|
+
return context;
|
|
11
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { useEffect, useState } from "react";
|
|
2
|
+
import ConfigProviderContext, { configInitialState } from "./context";
|
|
3
|
+
import { getConfig } from "./services";
|
|
4
|
+
|
|
5
|
+
export default function ConfigProvider({
|
|
6
|
+
children,
|
|
7
|
+
}: {
|
|
8
|
+
children: React.ReactNode;
|
|
9
|
+
}) {
|
|
10
|
+
const [config, setConfig] = useState(configInitialState.config);
|
|
11
|
+
const [configIsLoading, setConfigIsLoading] = useState(
|
|
12
|
+
configInitialState.configIsLoading
|
|
13
|
+
);
|
|
14
|
+
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
getConfig().then((data) => {
|
|
17
|
+
setConfig(data);
|
|
18
|
+
setConfigIsLoading(false);
|
|
19
|
+
});
|
|
20
|
+
}, []);
|
|
21
|
+
|
|
22
|
+
return (
|
|
23
|
+
<ConfigProviderContext.Provider
|
|
24
|
+
value={{
|
|
25
|
+
config,
|
|
26
|
+
setConfig,
|
|
27
|
+
configIsLoading,
|
|
28
|
+
}}
|
|
29
|
+
>
|
|
30
|
+
{children}
|
|
31
|
+
</ConfigProviderContext.Provider>
|
|
32
|
+
);
|
|
33
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { sendRequest } from "@/lib/api/request";
|
|
2
|
+
import type { IConfig, IConfigResponse } from "./type";
|
|
3
|
+
|
|
4
|
+
const transformReponse = (response: string): IConfig => {
|
|
5
|
+
const { INSTANCE_URL: instanceURL }: IConfigResponse = JSON.parse(response);
|
|
6
|
+
return {
|
|
7
|
+
instanceURL,
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export const getConfig = async () => {
|
|
12
|
+
const { body } = await sendRequest<string>("/info");
|
|
13
|
+
return transformReponse(body);
|
|
14
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ResizableHandle,
|
|
3
|
+
ResizablePanel,
|
|
4
|
+
ResizablePanelGroup,
|
|
5
|
+
} from "@/components/ui/resizable";
|
|
6
|
+
import DatabaseSidebar from "./DatabaseSidebar";
|
|
7
|
+
import RecordsViewer from "./RecordsViewer";
|
|
8
|
+
import type { ITable, ITablesResponse } from "../schema/tables";
|
|
9
|
+
import DatabaseNotFound from "./DatabaseNotFound";
|
|
10
|
+
|
|
11
|
+
interface Props {
|
|
12
|
+
tables: ITablesResponse;
|
|
13
|
+
selectedTable: ITable | null;
|
|
14
|
+
setSelectedTable: (table: ITable | null) => void;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export default function DatabaseLayout({
|
|
18
|
+
tables,
|
|
19
|
+
selectedTable,
|
|
20
|
+
setSelectedTable,
|
|
21
|
+
}: Props) {
|
|
22
|
+
return (
|
|
23
|
+
<div className="absolute top-[80px] left-0 right-0 bottom-0">
|
|
24
|
+
<ResizablePanelGroup className="h-full" direction="horizontal">
|
|
25
|
+
<ResizablePanel defaultSize={23} className="relative">
|
|
26
|
+
<DatabaseSidebar
|
|
27
|
+
key={tables.current_page}
|
|
28
|
+
data={tables}
|
|
29
|
+
selectedTable={selectedTable}
|
|
30
|
+
setSelectedTable={setSelectedTable}
|
|
31
|
+
/>
|
|
32
|
+
</ResizablePanel>
|
|
33
|
+
<ResizableHandle withHandle />
|
|
34
|
+
<ResizablePanel className="p-4">
|
|
35
|
+
{selectedTable ? (
|
|
36
|
+
<RecordsViewer key={selectedTable.id} source={selectedTable} />
|
|
37
|
+
) : (
|
|
38
|
+
<DatabaseNotFound message="No table selected" />
|
|
39
|
+
)}
|
|
40
|
+
</ResizablePanel>
|
|
41
|
+
</ResizablePanelGroup>
|
|
42
|
+
</div>
|
|
43
|
+
);
|
|
44
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Input } from "@/components/ui/input";
|
|
2
|
+
import {
|
|
3
|
+
SidebarContent,
|
|
4
|
+
SidebarGroup,
|
|
5
|
+
SidebarGroupContent,
|
|
6
|
+
SidebarGroupLabel,
|
|
7
|
+
SidebarHeader,
|
|
8
|
+
SidebarMenu,
|
|
9
|
+
SidebarMenuButton,
|
|
10
|
+
SidebarMenuItem,
|
|
11
|
+
} from "@/components/ui/sidebar";
|
|
12
|
+
import { Search } from "lucide-react";
|
|
13
|
+
import type { ITable, ITablesResponse } from "../schema/tables";
|
|
14
|
+
|
|
15
|
+
interface DatabaseSidebarProps {
|
|
16
|
+
data: ITablesResponse;
|
|
17
|
+
selectedTable: ITable | null;
|
|
18
|
+
setSelectedTable: (table: ITable) => void;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export default function DatabaseSidebar({
|
|
22
|
+
data,
|
|
23
|
+
selectedTable,
|
|
24
|
+
setSelectedTable,
|
|
25
|
+
}: DatabaseSidebarProps) {
|
|
26
|
+
return (
|
|
27
|
+
<div className="absolute top-0 left-0 w-full h-full">
|
|
28
|
+
<SidebarHeader>
|
|
29
|
+
<div className="relative w-full">
|
|
30
|
+
<Input type="text" placeholder="Search" className="pl-10" />
|
|
31
|
+
<Search className="absolute left-2.5 top-2" size={18} />
|
|
32
|
+
</div>
|
|
33
|
+
</SidebarHeader>
|
|
34
|
+
|
|
35
|
+
<SidebarGroupLabel>
|
|
36
|
+
<span className="font-bold">Tables</span>
|
|
37
|
+
</SidebarGroupLabel>
|
|
38
|
+
<SidebarContent className="h-full">
|
|
39
|
+
<SidebarGroup>
|
|
40
|
+
<SidebarGroupContent className="overflow-y-auto">
|
|
41
|
+
<SidebarMenu>
|
|
42
|
+
{data.results.map((table: ITable) => (
|
|
43
|
+
<SidebarMenuItem key={table.id}>
|
|
44
|
+
<SidebarMenuButton
|
|
45
|
+
isActive={table.id === selectedTable?.id}
|
|
46
|
+
onClick={() => setSelectedTable(table)}
|
|
47
|
+
>
|
|
48
|
+
<div className="truncate">
|
|
49
|
+
{table.metadata?.label ?? table.name}
|
|
50
|
+
</div>
|
|
51
|
+
</SidebarMenuButton>
|
|
52
|
+
</SidebarMenuItem>
|
|
53
|
+
))}
|
|
54
|
+
</SidebarMenu>
|
|
55
|
+
</SidebarGroupContent>
|
|
56
|
+
</SidebarGroup>
|
|
57
|
+
</SidebarContent>
|
|
58
|
+
</div>
|
|
59
|
+
);
|
|
60
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { useState, useCallback } from "react";
|
|
2
|
+
import {
|
|
3
|
+
Select,
|
|
4
|
+
SelectContent,
|
|
5
|
+
SelectItem,
|
|
6
|
+
SelectTrigger,
|
|
7
|
+
SelectValue,
|
|
8
|
+
} from "@/components/ui/select";
|
|
9
|
+
import type { IRecordsFilterInput } from "../schema/records";
|
|
10
|
+
|
|
11
|
+
import InputBox from "@/components/commons/InputBox";
|
|
12
|
+
import DateRangeFilter from "@/components/commons/DateRangeFilter";
|
|
13
|
+
|
|
14
|
+
export default function RecordsFilter({
|
|
15
|
+
onFilter,
|
|
16
|
+
}: {
|
|
17
|
+
onFilter: (filter: IRecordsFilterInput) => void;
|
|
18
|
+
}) {
|
|
19
|
+
const [filterBy, setFilterBy] = useState<"id" | "created_at" | "updated_at">(
|
|
20
|
+
"id",
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
const [idFilterValue, setIdFilterValue] = useState<string>("");
|
|
24
|
+
|
|
25
|
+
const handleFilterChange = useCallback(
|
|
26
|
+
(key: string, value: any) => {
|
|
27
|
+
onFilter({ [key]: value });
|
|
28
|
+
},
|
|
29
|
+
[onFilter],
|
|
30
|
+
);
|
|
31
|
+
|
|
32
|
+
return (
|
|
33
|
+
<div className="flex flex-col sm:flex-row items-start sm:items-end gap-3 p-4">
|
|
34
|
+
<div className="flex-shrink-0 w-full sm:w-auto">
|
|
35
|
+
<label
|
|
36
|
+
htmlFor="filter-by-select"
|
|
37
|
+
className="text-xs text-muted-foreground block mb-1"
|
|
38
|
+
>
|
|
39
|
+
Filter By:
|
|
40
|
+
</label>
|
|
41
|
+
<Select
|
|
42
|
+
defaultValue={filterBy}
|
|
43
|
+
onValueChange={(value: typeof filterBy) => {
|
|
44
|
+
setFilterBy(value);
|
|
45
|
+
if (value !== "id") {
|
|
46
|
+
setIdFilterValue("");
|
|
47
|
+
handleFilterChange(value, {});
|
|
48
|
+
} else {
|
|
49
|
+
handleFilterChange(
|
|
50
|
+
"id",
|
|
51
|
+
idFilterValue ? { value: idFilterValue } : {},
|
|
52
|
+
);
|
|
53
|
+
}
|
|
54
|
+
}}
|
|
55
|
+
>
|
|
56
|
+
<SelectTrigger
|
|
57
|
+
id="filter-by-select"
|
|
58
|
+
className="w-full sm:w-[180px] h-10"
|
|
59
|
+
>
|
|
60
|
+
<SelectValue placeholder="Select a filter option" />
|
|
61
|
+
</SelectTrigger>
|
|
62
|
+
<SelectContent>
|
|
63
|
+
<SelectItem value="id">ID</SelectItem>
|
|
64
|
+
<SelectItem value="created_at">Created At</SelectItem>
|
|
65
|
+
<SelectItem value="updated_at">Updated At</SelectItem>
|
|
66
|
+
</SelectContent>
|
|
67
|
+
</Select>
|
|
68
|
+
</div>
|
|
69
|
+
|
|
70
|
+
{filterBy === "id" ? (
|
|
71
|
+
<InputBox
|
|
72
|
+
value={idFilterValue}
|
|
73
|
+
onChange={setIdFilterValue}
|
|
74
|
+
onApply={(keyword) =>
|
|
75
|
+
handleFilterChange("id", keyword ? { value: keyword.trim() } : {})
|
|
76
|
+
}
|
|
77
|
+
label="Keyword:"
|
|
78
|
+
placeholder="Enter ID or keyword"
|
|
79
|
+
debounceTime={500}
|
|
80
|
+
/>
|
|
81
|
+
) : (
|
|
82
|
+
<DateRangeFilter
|
|
83
|
+
filterBy={filterBy}
|
|
84
|
+
onFilterApply={(value) => handleFilterChange(filterBy, value)}
|
|
85
|
+
/>
|
|
86
|
+
)}
|
|
87
|
+
</div>
|
|
88
|
+
);
|
|
89
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { flexRender } from "@tanstack/react-table";
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
Table,
|
|
5
|
+
TableBody,
|
|
6
|
+
TableCell,
|
|
7
|
+
TableHead,
|
|
8
|
+
TableHeader,
|
|
9
|
+
TableRow,
|
|
10
|
+
} from "@/components/ui/table";
|
|
11
|
+
import type { IRecordsColumn } from "../hooks/useDatabaseColumns";
|
|
12
|
+
|
|
13
|
+
interface RecordsTableProps {
|
|
14
|
+
columns: IRecordsColumn;
|
|
15
|
+
data: any[];
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export default function RecordsTable({ columns, data }: RecordsTableProps) {
|
|
19
|
+
return (
|
|
20
|
+
<div className="rounded-xs border">
|
|
21
|
+
<Table>
|
|
22
|
+
<TableHeader>
|
|
23
|
+
<TableRow>
|
|
24
|
+
<TableHead className="w-[100px]">{columns.id.header}</TableHead>
|
|
25
|
+
{columns.properties.map((column, key) => (
|
|
26
|
+
<TableHead key={key}>{column.header}</TableHead>
|
|
27
|
+
))}
|
|
28
|
+
<TableHead className="w-[120px]">
|
|
29
|
+
{columns.created_at.header}
|
|
30
|
+
</TableHead>
|
|
31
|
+
<TableHead className="w-[120px]">
|
|
32
|
+
{columns.updated_at.header}
|
|
33
|
+
</TableHead>
|
|
34
|
+
</TableRow>
|
|
35
|
+
</TableHeader>
|
|
36
|
+
<TableBody>
|
|
37
|
+
{data.length ? (
|
|
38
|
+
data.map((record) => (
|
|
39
|
+
<TableRow key={record.id}>
|
|
40
|
+
<TableCell className="font-medium">{record.id}</TableCell>
|
|
41
|
+
{columns.properties.map((column, key) => (
|
|
42
|
+
<TableCell key={key}>
|
|
43
|
+
{flexRender(column.accessorKey, record)}
|
|
44
|
+
</TableCell>
|
|
45
|
+
))}
|
|
46
|
+
<TableCell>{record.created_at}</TableCell>
|
|
47
|
+
<TableCell>{record.updated_at}</TableCell>
|
|
48
|
+
</TableRow>
|
|
49
|
+
))
|
|
50
|
+
) : (
|
|
51
|
+
<TableRow>
|
|
52
|
+
<TableCell
|
|
53
|
+
colSpan={columns.properties.length + 3}
|
|
54
|
+
className="h-24 text-center"
|
|
55
|
+
>
|
|
56
|
+
No results.
|
|
57
|
+
</TableCell>
|
|
58
|
+
</TableRow>
|
|
59
|
+
)}
|
|
60
|
+
</TableBody>
|
|
61
|
+
</Table>
|
|
62
|
+
</div>
|
|
63
|
+
);
|
|
64
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { useRecordsQuery } from "../hooks/useRecords";
|
|
2
|
+
import type { ITable } from "../schema/tables";
|
|
3
|
+
import LoadingIndicator from "./LoadingIndicator";
|
|
4
|
+
import RecordsFilter from "./RecordsFilter";
|
|
5
|
+
import { createColumns } from "../hooks/useDatabaseColumns";
|
|
6
|
+
import RecordsTable from "./RecordsTable";
|
|
7
|
+
import { useRecordsVariable } from "../reducers/useRecordsVariable";
|
|
8
|
+
|
|
9
|
+
interface DatabaseViewerProps {
|
|
10
|
+
source: ITable;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export default function RecordsViewer({ source }: DatabaseViewerProps) {
|
|
14
|
+
const [variables, setVariables] = useRecordsVariable(source);
|
|
15
|
+
|
|
16
|
+
const { data: response, isLoading } = useRecordsQuery(variables);
|
|
17
|
+
|
|
18
|
+
const data = response?.results ?? [];
|
|
19
|
+
const columns = createColumns(source);
|
|
20
|
+
|
|
21
|
+
return (
|
|
22
|
+
<div className="flex flex-col gap-4">
|
|
23
|
+
<h1 className="text-4xl font-light mb-4">{source.metadata?.label}</h1>
|
|
24
|
+
<RecordsFilter
|
|
25
|
+
onFilter={(data) => {
|
|
26
|
+
setVariables({
|
|
27
|
+
type: "SET_FILTER",
|
|
28
|
+
payload: data,
|
|
29
|
+
});
|
|
30
|
+
}}
|
|
31
|
+
/>
|
|
32
|
+
{isLoading ? (
|
|
33
|
+
<LoadingIndicator />
|
|
34
|
+
) : (
|
|
35
|
+
<RecordsTable columns={columns} data={data} />
|
|
36
|
+
)}
|
|
37
|
+
</div>
|
|
38
|
+
);
|
|
39
|
+
}
|