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
package/lib/files.js
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
const path = require('path');
|
|
2
|
+
const fs = require('fs');
|
|
3
|
+
const glob = require('fast-glob');
|
|
4
|
+
|
|
5
|
+
const logger = require('./logger');
|
|
6
|
+
const dir = require('./directories');
|
|
7
|
+
|
|
8
|
+
const config = {
|
|
9
|
+
CONFIG: '.insites',
|
|
10
|
+
LEGACY_CONFIG: '.insites.legacy',
|
|
11
|
+
IGNORE_LIST: '.insitesignore',
|
|
12
|
+
templateValues: 'template-values.json'
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
const _paths = customConfig => [customConfig, config.CONFIG, config.LEGACY_CONFIG];
|
|
16
|
+
|
|
17
|
+
const _getConfigPath = customConfig => {
|
|
18
|
+
const firstExistingConfig = _paths(customConfig).filter(fs.existsSync)[0];
|
|
19
|
+
logger.Debug(`[_getConfigPath] First existing config file: ${firstExistingConfig}`);
|
|
20
|
+
return path.resolve(firstExistingConfig || config.CONFIG);
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
const _readJSON = (filePath, opts = { exit: true, throwDoesNotExistError: false }) => {
|
|
24
|
+
if (fs.existsSync(filePath)) {
|
|
25
|
+
logger.Debug(`[_readJSON] File exist: ${filePath}.`);
|
|
26
|
+
|
|
27
|
+
const fileContent = fs.readFileSync(filePath, { encoding: 'utf8' });
|
|
28
|
+
|
|
29
|
+
try {
|
|
30
|
+
return JSON.parse(fileContent);
|
|
31
|
+
} catch (error) {
|
|
32
|
+
logger.Debug(`${error.message}`);
|
|
33
|
+
logger.Error(`${filePath} is not a valid JSON file. Use https://jsonlint.com to lint your JSON syntax.`, {
|
|
34
|
+
exit: false
|
|
35
|
+
});
|
|
36
|
+
logger.Error(`Error thrown by the parser: ${error.message}`, { exit: opts.exit });
|
|
37
|
+
}
|
|
38
|
+
} else {
|
|
39
|
+
if (opts.throwDoesNotExistError) {
|
|
40
|
+
logger.Error(`File doesn't exist: ${filePath}`, { exit: opts.exit });
|
|
41
|
+
} else {
|
|
42
|
+
logger.Debug(`[_readJSON] File doesn't exist: ${filePath}`);
|
|
43
|
+
}
|
|
44
|
+
return {};
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
const _writeJSON = (filePath, content, opts = { exit: true, replacer: null, space: 2}) => {
|
|
49
|
+
if (!fs.existsSync(filePath)) {
|
|
50
|
+
logger.Error(`File doesn't exist: ${filePath}`, { exit: opts.exit });
|
|
51
|
+
return {};
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
try {
|
|
55
|
+
fs.writeFileSync(filePath, JSON.stringify(content, opts.replacer, opts.space));
|
|
56
|
+
} catch (error) {
|
|
57
|
+
logger.Debug(`${error.message}`);
|
|
58
|
+
logger.Error(`Error thrown when writing a json to ${filePath}: ${error.message}`, { exit: opts.exit });
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
const _readIgnoreList = filePath => {
|
|
63
|
+
if (fs.existsSync(filePath) === false) {
|
|
64
|
+
return [];
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
const rules = fs
|
|
68
|
+
.readFileSync(filePath, { encoding: 'utf8' })
|
|
69
|
+
.split('\n')
|
|
70
|
+
.filter(Boolean) // remove empty lines
|
|
71
|
+
.filter(line => line.indexOf('#') !== 0); // remove commented lines
|
|
72
|
+
|
|
73
|
+
return rules;
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
const _getAssets = async () => {
|
|
77
|
+
const appAssets = fs.existsSync(`${dir.currentApp()}/assets`) ? await glob(`${dir.currentApp()}/assets/**`) : [];
|
|
78
|
+
const modulesAssets = fs.existsSync(dir.MODULES) ? await glob('modules/*/{private,public}/assets/**') : [];
|
|
79
|
+
|
|
80
|
+
return [...appAssets, ...modulesAssets] || [];
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
const methods = {
|
|
84
|
+
readJSON: _readJSON,
|
|
85
|
+
writeJSON: _writeJSON,
|
|
86
|
+
getConfigPath: _getConfigPath,
|
|
87
|
+
getConfig: () => {
|
|
88
|
+
const configPath = _getConfigPath(process.env.CONFIG_FILE_PATH);
|
|
89
|
+
logger.Debug(`[getConfig] Looking for config in: ${configPath}`);
|
|
90
|
+
return _readJSON(configPath) || {};
|
|
91
|
+
},
|
|
92
|
+
getAssets: _getAssets,
|
|
93
|
+
getIgnoreList: ignoreListPath => _readIgnoreList(ignoreListPath || config.IGNORE_LIST) || []
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
module.exports = Object.assign({}, config, methods);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
const apiRequest = require('./apiRequest');
|
|
2
|
+
require("dotenv").config();
|
|
3
|
+
|
|
4
|
+
const HOST = process.env.INSITES_CONSOLE_API_HOST || 'https://ybn9n8m7cc.execute-api.ap-southeast-2.amazonaws.com/api/';
|
|
5
|
+
// const HOST = "https://bpf0fvgyw9.execute-api.ap-southeast-2.amazonaws.com/dev/"
|
|
6
|
+
|
|
7
|
+
const APIG = {
|
|
8
|
+
getInitPackageURL: () => {
|
|
9
|
+
return apiRequest({
|
|
10
|
+
uri: `${HOST}/v1/package/init`,
|
|
11
|
+
method: 'GET',
|
|
12
|
+
json: true,
|
|
13
|
+
});
|
|
14
|
+
},
|
|
15
|
+
HOST: HOST,
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
module.exports = APIG;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
const apiRequest = require("./apiRequest");
|
|
2
|
+
const logger = require("./logger");
|
|
3
|
+
|
|
4
|
+
require("dotenv").config();
|
|
5
|
+
|
|
6
|
+
const HOST = process.env.INSITES_CONSOLE_HOST || "https://console.insites.io";
|
|
7
|
+
|
|
8
|
+
const Console = {
|
|
9
|
+
login: (email, password, instanceUuid) => {
|
|
10
|
+
logger.Debug("Console.login " + email + " to " + HOST);
|
|
11
|
+
return apiRequest({
|
|
12
|
+
uri: `${HOST}/api/console/cli/login`,
|
|
13
|
+
headers: {
|
|
14
|
+
UserAuthorization: `${email}:${password}`,
|
|
15
|
+
InstanceUUID: instanceUuid,
|
|
16
|
+
},
|
|
17
|
+
method: 'POST',
|
|
18
|
+
json: true,
|
|
19
|
+
});
|
|
20
|
+
},
|
|
21
|
+
HOST: HOST,
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
module.exports = Console;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
const chalk = require('chalk');
|
|
2
|
+
|
|
3
|
+
const Error = message => console.error(chalk.red.bold(message));
|
|
4
|
+
const Success = message => console.log(chalk.green.bold(message));
|
|
5
|
+
const Quiet = message => console.log(chalk.grey(message));
|
|
6
|
+
const Info = message => console.log(chalk.bold(message));
|
|
7
|
+
const Warn = message => console.log(chalk.yellow.dim(message));
|
|
8
|
+
const News = message => console.log(chalk.cyan(message));
|
|
9
|
+
const Print = txt => process.stdout.write(txt);
|
|
10
|
+
|
|
11
|
+
module.exports = { Error, Success, Quiet, Info, Warn, News, Print };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const Error = console.error;
|
|
2
|
+
const Success = console.log;
|
|
3
|
+
const Quiet = console.log;
|
|
4
|
+
const Info = console.log;
|
|
5
|
+
const Warn = console.log;
|
|
6
|
+
const News = message => console.log(chalk.cyan(message));
|
|
7
|
+
const Print = txt => process.stdout.write(txt);
|
|
8
|
+
|
|
9
|
+
module.exports = { Error, Success, Quiet, Info, Warn, News, Print };
|
package/lib/logger.js
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
const path = require('path');
|
|
2
|
+
const notifier = require('node-notifier');
|
|
3
|
+
|
|
4
|
+
const instance =
|
|
5
|
+
!!process.env.NO_COLOR || !!process.env.CI ? require('./logger/simple.js') : require('./logger/rainbow.js');
|
|
6
|
+
|
|
7
|
+
const showNotification = (message) => {
|
|
8
|
+
if (!!process.env.CI) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
const icon = path.resolve(__dirname, '../lib/assets/insites-icon.png');
|
|
12
|
+
notifier.notify({ title: 'Error', message, icon, 'app-name': 'insites-cli' });
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
const formatter = (msg, opts = { hideTimestamp: false }) => {
|
|
16
|
+
let message = msg;
|
|
17
|
+
|
|
18
|
+
if (typeof msg != 'string') {
|
|
19
|
+
message = JSON.stringify(msg, null, 2);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
if (!opts.hideTimestamp) {
|
|
23
|
+
const HHMMSS = new Date().toTimeString().split(' ')[0];
|
|
24
|
+
message = `[${HHMMSS}] ${message}`;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
return message.trim();
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
const logger = {
|
|
31
|
+
Error: (message, opts) => {
|
|
32
|
+
const options = Object.assign({}, { exit: true, notify: true }, opts);
|
|
33
|
+
instance.Print('\n');
|
|
34
|
+
instance.Error(formatter(message, options));
|
|
35
|
+
|
|
36
|
+
if (message && options.notify) {
|
|
37
|
+
if (typeof msg != 'string') {
|
|
38
|
+
message = JSON.stringify(message, null, 2);
|
|
39
|
+
}
|
|
40
|
+
showNotification(message.slice(0, 100));
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
if (options.exit) {
|
|
44
|
+
process.exit(1);
|
|
45
|
+
} else {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
Success: (message, opts = {}) => instance.Success(formatter(message, opts)),
|
|
50
|
+
Quiet: (message, opts = {}) => instance.Quiet(formatter(message, opts)),
|
|
51
|
+
Info: (message, opts = {}) => instance.Info(formatter(message, opts)),
|
|
52
|
+
Warn: (message, opts = {}) => instance.Warn(formatter(message, opts)),
|
|
53
|
+
News: (message, opts = {}) => instance.News(formatter(message, opts)),
|
|
54
|
+
Print: (message, opts = {}) => instance.Print(message, opts),
|
|
55
|
+
Debug: (message, opts = {}) => {
|
|
56
|
+
if (process.env.DEBUG) {
|
|
57
|
+
instance.Print('\n');
|
|
58
|
+
instance.Warn(formatter(message, opts));
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
module.exports = logger;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
const apiRequest = require('../apiRequest');
|
|
2
|
+
|
|
3
|
+
class HTTP {
|
|
4
|
+
static async get(url, {params, securities}) {
|
|
5
|
+
return await apiRequest({
|
|
6
|
+
uri: url + '?' + new URLSearchParams(params),
|
|
7
|
+
method: 'GET',
|
|
8
|
+
json: true,
|
|
9
|
+
headers: {
|
|
10
|
+
Authorization: `Bearer ${securities.authorized.Authorization}`
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
static async post(url, {securities, body}) {
|
|
16
|
+
return await apiRequest({
|
|
17
|
+
uri: url,
|
|
18
|
+
method: 'POST',
|
|
19
|
+
headers: {
|
|
20
|
+
Authorization: `Bearer ${securities.authorized.Authorization}`,
|
|
21
|
+
'Content-Type': 'application/json'
|
|
22
|
+
},
|
|
23
|
+
body: body
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
static async put(url, {securities, body}) {
|
|
28
|
+
return apiRequest({
|
|
29
|
+
uri: url,
|
|
30
|
+
method: 'PUT',
|
|
31
|
+
headers: {
|
|
32
|
+
Authorization: `Bearer ${securities.authorized.Authorization}`,
|
|
33
|
+
'Content-Type': 'application/json'
|
|
34
|
+
},
|
|
35
|
+
body: JSON.stringify(body)
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
module.exports = HTTP
|
package/lib/modules.js
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
const rl = require('readline');
|
|
2
|
+
|
|
3
|
+
const files = require('./files');
|
|
4
|
+
const logger = require('./logger');
|
|
5
|
+
|
|
6
|
+
const portal = require('./portal');
|
|
7
|
+
const prepareArchive = require('./prepareArchive');
|
|
8
|
+
const presignUrl = require('./presignUrl').presignUrlForPortal;
|
|
9
|
+
const uploadFile = require('./s3UploadFile').uploadFile;
|
|
10
|
+
const waitForStatus = require('./data/waitForStatus');
|
|
11
|
+
|
|
12
|
+
let moduleId;
|
|
13
|
+
const archiveFileName = 'release.zip';
|
|
14
|
+
const archivePath = `./tmp/${archiveFileName}`;
|
|
15
|
+
|
|
16
|
+
const moduleConfig = () => {
|
|
17
|
+
return files.readJSON('template-values.json', { throwDoesNotExistError: true, exit: true });
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
const createArchive = async (moduleName) => {
|
|
21
|
+
return new Promise(async (resolve, reject) => {
|
|
22
|
+
const releaseArchive = prepareArchive(archivePath, resolve, true);
|
|
23
|
+
releaseArchive.glob('{private,public}/**', {}, { prefix: moduleName });
|
|
24
|
+
await releaseArchive.finalize();
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
const uploadArchive = async (token) => {
|
|
29
|
+
const data = await presignUrl(token, moduleId, archiveFileName);
|
|
30
|
+
logger.Debug(data);
|
|
31
|
+
await uploadFile(archivePath, data.uploadUrl);
|
|
32
|
+
logger.Info('Release Uploaded');
|
|
33
|
+
return data.accessUrl;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
const createVersion = async (token, accessUrl, moduleVersionName) => {
|
|
37
|
+
try {
|
|
38
|
+
const version = await portal.createVersion(token, accessUrl, moduleVersionName, moduleId)
|
|
39
|
+
return version.id;
|
|
40
|
+
} catch(e) {
|
|
41
|
+
throw new Error(`Module Version not created`);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
const waitForPublishing = async (token, moduleVersionId) => {
|
|
46
|
+
try {
|
|
47
|
+
await waitForStatus(() => portal.moduleVersionStatus(token, moduleId, moduleVersionId), 'pending', 'accepted');
|
|
48
|
+
logger.Success('Module Published');
|
|
49
|
+
} catch(e) {
|
|
50
|
+
throw new Error('Module not published. Check email for errors.');
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
const getModule = async (token, name) => {
|
|
55
|
+
const modules = await portal.findModules(token, name);
|
|
56
|
+
const module = modules[0];
|
|
57
|
+
if (module){
|
|
58
|
+
return module;
|
|
59
|
+
} else {
|
|
60
|
+
throw new Error(`Module "${name}" not found`);
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
const getPassword = () => {
|
|
65
|
+
return new Promise((resolve, reject) => {
|
|
66
|
+
const reader = rl.createInterface({ input: process.stdin, output: process.stdout });
|
|
67
|
+
reader.stdoutMuted = true;
|
|
68
|
+
reader.question('Password: ', password => {
|
|
69
|
+
reader.close();
|
|
70
|
+
console.log('');
|
|
71
|
+
resolve(password);
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
reader._writeToOutput = stringToWrite => (reader.stdoutMuted && reader.output.write('*')) || reader.output.write(stringToWrite);
|
|
75
|
+
});
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
const getToken = async (params) => {
|
|
79
|
+
let password;
|
|
80
|
+
if (process.env.POS_PORTAL_PASSWORD) {
|
|
81
|
+
password = process.env.POS_PORTAL_PASSWORD;
|
|
82
|
+
} else {
|
|
83
|
+
password = await getPassword();
|
|
84
|
+
}
|
|
85
|
+
logger.Info(`Asking ${portal.HOST} for access token...`);
|
|
86
|
+
const token = await portalAuthToken(params.email, password);
|
|
87
|
+
return token;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
const portalAuthToken = async (email, password) => {
|
|
91
|
+
try {
|
|
92
|
+
const token = await portal.jwtToken(email, password)
|
|
93
|
+
return token.auth_token;
|
|
94
|
+
} catch (e) {
|
|
95
|
+
process.exit(1);
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
const publishVersion = async (params) => {
|
|
100
|
+
try {
|
|
101
|
+
const config = moduleConfig();
|
|
102
|
+
const moduleName = config['machine_name'];
|
|
103
|
+
const moduleVersionName = config['version'];
|
|
104
|
+
const numberOfFiles = await createArchive(moduleName);
|
|
105
|
+
if (numberOfFiles > 0) {
|
|
106
|
+
const token = await getToken(params);
|
|
107
|
+
const module = await getModule(token, moduleName);
|
|
108
|
+
moduleId = module.id;
|
|
109
|
+
const archiveUrl = await uploadArchive(token);
|
|
110
|
+
const posModuleVersionId = await createVersion(token, archiveUrl, moduleVersionName);
|
|
111
|
+
await waitForPublishing(token, posModuleVersionId);
|
|
112
|
+
} else {
|
|
113
|
+
throw new Error('There are no files in module release');
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
return true;
|
|
117
|
+
} catch (e) {
|
|
118
|
+
if (e.message){
|
|
119
|
+
logger.Error(e.message);
|
|
120
|
+
} else {
|
|
121
|
+
logger.Error('Error');
|
|
122
|
+
}
|
|
123
|
+
process.exit(1);
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
module.exports = {
|
|
128
|
+
publishVersion: publishVersion
|
|
129
|
+
};
|
package/lib/portal.js
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
const apiRequest = require('./apiRequest');
|
|
2
|
+
const logger = require('./logger');
|
|
3
|
+
|
|
4
|
+
const HOST = process.env.PARTNER_PORTAL_HOST || 'https://partners.platformos.com';
|
|
5
|
+
|
|
6
|
+
const Portal = {
|
|
7
|
+
login: (email, password, url) => {
|
|
8
|
+
logger.Debug('Portal.login ' + email + ' to ' + HOST);
|
|
9
|
+
|
|
10
|
+
return apiRequest({
|
|
11
|
+
uri: `${HOST}/api/user_tokens`,
|
|
12
|
+
headers: { UserAuthorization: `${email}:${password}`, InstanceDomain: url },
|
|
13
|
+
json: true
|
|
14
|
+
});
|
|
15
|
+
},
|
|
16
|
+
jwtToken: (email, password) => {
|
|
17
|
+
return apiRequest({
|
|
18
|
+
method: 'POST',
|
|
19
|
+
uri: `${HOST}/api/authenticate`,
|
|
20
|
+
formData: { email: email, password: password },
|
|
21
|
+
json: true
|
|
22
|
+
});
|
|
23
|
+
},
|
|
24
|
+
findModules: (token, name) => {
|
|
25
|
+
return apiRequest({
|
|
26
|
+
method: 'GET',
|
|
27
|
+
uri: `${HOST}/api/pos_modules/?modules=${name}`,
|
|
28
|
+
headers: { Authorization: `Bearer ${token}` },
|
|
29
|
+
json: true
|
|
30
|
+
});
|
|
31
|
+
},
|
|
32
|
+
createVersion: (token, url, name, posModuleId) => {
|
|
33
|
+
return apiRequest({
|
|
34
|
+
method: 'POST',
|
|
35
|
+
uri: `${HOST}/api/pos_modules/${posModuleId}/pos_module_versions`,
|
|
36
|
+
body: { pos_module_version: { archive: url, name: name } },
|
|
37
|
+
headers: { Authorization: `Bearer ${token}` },
|
|
38
|
+
json: true
|
|
39
|
+
});
|
|
40
|
+
},
|
|
41
|
+
moduleVersionStatus: (token, posModuleId, moduleVersionId) => {
|
|
42
|
+
return apiRequest({
|
|
43
|
+
method: 'GET',
|
|
44
|
+
uri: `${HOST}/api/pos_modules/${posModuleId}/pos_module_versions/${moduleVersionId}`,
|
|
45
|
+
headers: { Authorization: `Bearer ${token}` },
|
|
46
|
+
json: true
|
|
47
|
+
});
|
|
48
|
+
},
|
|
49
|
+
HOST: HOST
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
module.exports = Portal;
|
package/lib/pos-proxy.js
ADDED
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
const requestPromise = require('request-promise');
|
|
2
|
+
|
|
3
|
+
const apiRequest = require('./apiRequest');
|
|
4
|
+
const logger = require('./logger');
|
|
5
|
+
const version = '4.21.2';
|
|
6
|
+
|
|
7
|
+
class Gateway {
|
|
8
|
+
constructor({ url, key: token, email }, client) {
|
|
9
|
+
this.url = url;
|
|
10
|
+
this.api_url = `${url}/api/app_builder`;
|
|
11
|
+
this.private_api_url = `${url}/api/private`;
|
|
12
|
+
this.client = client;
|
|
13
|
+
|
|
14
|
+
const headers = {
|
|
15
|
+
Authorization: `Token ${token}`,
|
|
16
|
+
InstanceDomain: url,
|
|
17
|
+
'User-Agent': `pos-cli/${version}`,
|
|
18
|
+
From: email
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const censored = Object.assign({}, headers, { Authorization: 'Token: <censored>' });
|
|
22
|
+
logger.Debug(`Request headers: ${JSON.stringify(censored, null, 2)}`);
|
|
23
|
+
|
|
24
|
+
this.authorizedRequest = requestPromise.defaults({ headers });
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
apiRequest({ method = 'GET', uri, formData, json = true, forever }) {
|
|
28
|
+
return apiRequest({
|
|
29
|
+
method: method,
|
|
30
|
+
uri: uri,
|
|
31
|
+
formData: formData,
|
|
32
|
+
json: json,
|
|
33
|
+
forever: forever,
|
|
34
|
+
request: this.authorizedRequest,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
appExportStart(formData = {}) {
|
|
39
|
+
return this.apiRequest({ method: 'POST', uri: `${this.api_url}/marketplace_releases/backup`, formData });
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
appExportStatus(id) {
|
|
43
|
+
return this.apiRequest({ uri: `${this.api_url}/marketplace_releases/${id}` });
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
dataExportStart(export_internal, csv_import = false) {
|
|
47
|
+
const formData = { export_internal };
|
|
48
|
+
let uri = `${this.api_url}/exports`;
|
|
49
|
+
if (csv_import) {
|
|
50
|
+
uri += '?csv_export=true';
|
|
51
|
+
}
|
|
52
|
+
return this.apiRequest({ method: 'POST', uri, formData });
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
dataExportStatus(id, csv_import = false) {
|
|
56
|
+
let uri = `${this.api_url}/exports/${id}`;
|
|
57
|
+
if (csv_import) {
|
|
58
|
+
uri += '?csv_export=true';
|
|
59
|
+
}
|
|
60
|
+
return this.apiRequest({ uri });
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
dataImportStart(formData) {
|
|
64
|
+
return this.apiRequest({ method: 'POST', uri: `${this.api_url}/imports`, formData });
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
dataImportStatus(id, csv_import = false) {
|
|
68
|
+
let uri = `${this.api_url}/imports/${id}`;
|
|
69
|
+
if (csv_import) {
|
|
70
|
+
uri += '?csv_import=true';
|
|
71
|
+
}
|
|
72
|
+
return this.apiRequest({ uri });
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
dataUpdate(formData) {
|
|
76
|
+
return this.apiRequest({ method: 'POST', uri: `${this.api_url}/data_updates`, formData });
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
dataClean(confirmation, include_schema) {
|
|
80
|
+
return this.apiRequest({
|
|
81
|
+
method: 'POST',
|
|
82
|
+
uri: `${this.api_url}/data_clean`,
|
|
83
|
+
json: { confirmation, include_schema },
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
dataCleanStatus(id) {
|
|
88
|
+
return this.apiRequest({ method: 'GET', uri: `${this.api_url}/data_clean/${id}` });
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
ping() {
|
|
92
|
+
return this.apiRequest({ uri: `${this.api_url}/logs` });
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
logs(json) {
|
|
96
|
+
return this.apiRequest({ uri: `${this.api_url}/logs?last_id=${json.lastId}`, json, forever: true });
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
getInstance() {
|
|
100
|
+
return this.apiRequest({ uri: `${this.api_url}/instance` });
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
getStatus(id) {
|
|
104
|
+
return this.apiRequest({ uri: `${this.api_url}/marketplace_releases/${id}`, forever: true });
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
graph(json) {
|
|
108
|
+
return this.apiRequest({ method: 'POST', uri: `${this.url}/api/graph`, json, forever: true });
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
liquid(json) {
|
|
112
|
+
return this.apiRequest({ method: 'POST', uri: `${this.api_url}/liquid_exec`, json, forever: true });
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
listModules() {
|
|
116
|
+
return this.apiRequest({ uri: `${this.api_url}/installed_modules` });
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
removeModule(formData) {
|
|
120
|
+
return this.apiRequest({ method: 'DELETE', uri: `${this.api_url}/installed_modules`, formData });
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
listMigrations() {
|
|
124
|
+
return this.apiRequest({ uri: `${this.api_url}/migrations` });
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
generateMigration(formData) {
|
|
128
|
+
return this.apiRequest({ method: 'POST', uri: `${this.api_url}/migrations`, formData });
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
runMigration(formData) {
|
|
132
|
+
return this.apiRequest({ method: 'POST', uri: `${this.api_url}/migrations/run`, formData });
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
sendManifest(manifest) {
|
|
136
|
+
return this.apiRequest({ method: 'POST', uri: `${this.api_url}/assets_manifest`, json: { manifest } });
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
sync(formData) {
|
|
140
|
+
return this.apiRequest({
|
|
141
|
+
method: 'PUT',
|
|
142
|
+
uri: `${this.api_url}/marketplace_releases/sync`,
|
|
143
|
+
formData,
|
|
144
|
+
forever: true,
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
delete(formData) {
|
|
149
|
+
return this.apiRequest({
|
|
150
|
+
method: 'DELETE',
|
|
151
|
+
uri: `${this.api_url}/marketplace_releases/sync`,
|
|
152
|
+
formData,
|
|
153
|
+
forever: true,
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
push(formData) {
|
|
158
|
+
return this.apiRequest({ method: 'POST', uri: `${this.api_url}/marketplace_releases`, formData });
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
module.exports = Gateway;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
const fs = require('fs');
|
|
2
|
+
const shell = require('shelljs');
|
|
3
|
+
const archiver = require('archiver');
|
|
4
|
+
const logger = require('./logger');
|
|
5
|
+
|
|
6
|
+
const prepareDestination = path => {
|
|
7
|
+
shell.mkdir('-p', 'tmp');
|
|
8
|
+
shell.rm('-rf', path);
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
const prepareArchive = (path, resolve, verbose = false) => {
|
|
12
|
+
let numberOfFiles = 0;
|
|
13
|
+
prepareDestination(path);
|
|
14
|
+
const output = fs.createWriteStream(path);
|
|
15
|
+
const archive = archiver('zip', { zlib: { level: 6 } });
|
|
16
|
+
|
|
17
|
+
// listen for all archive data to be written
|
|
18
|
+
// 'close' event is fired only when a file descriptor is involved
|
|
19
|
+
output.on('close', () => {
|
|
20
|
+
if (verbose) {
|
|
21
|
+
const sizeInMB = archive.pointer() / 1024 / 1024;
|
|
22
|
+
logger.Info(`Archive size: ${sizeInMB.toFixed(2)} MB at ${path}`);
|
|
23
|
+
}
|
|
24
|
+
resolve(numberOfFiles);
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
archive.on('warning', err => {
|
|
28
|
+
if (err.code === 'ENOENT') {
|
|
29
|
+
logger.Debug(err);
|
|
30
|
+
logger.Error('Archive creation failed.');
|
|
31
|
+
} else {
|
|
32
|
+
throw err;
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
archive.on('error', err => {
|
|
37
|
+
logger.Debug(err);
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
archive.on('entry', function(entry) {
|
|
41
|
+
if (entry.type == 'file') numberOfFiles++;
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
archive.pipe(output);
|
|
45
|
+
|
|
46
|
+
return archive;
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
module.exports = prepareArchive;
|