From 75c534784babc5bd171fec1b02a3a0008441eb5d Mon Sep 17 00:00:00 2001 From: Leah Tacke genannt Unterberg <leah.tgu@pads.rwth-aachen.de> Date: Wed, 16 Oct 2024 17:10:55 +0200 Subject: [PATCH] foreign key mapping validation does not work --- package-lock.json | 1555 ++++- package.json | 2 + src/components/MapView.vue | 43 +- src/components/SetupView.vue | 8 +- .../subcomponents/map/InlineColumnMapper.vue | 2 +- .../map/RelationsColumnMapper.vue | 246 +- .../subcomponents/transform/EditColumns.vue | 3 +- src/main.js | 2 + src/services/api-schema/openapi.json | 5070 ++++++++++++++++- src/services/exportStore.ts | 2 +- src/services/mainStore.ts | 7 +- src/services/mappingStore.ts | 8 +- .../preset-definitions/hardcoded-presets.ts | 1 - .../preset-definitions/synthetic-preset.json | 9 +- src/services/utils.ts | 4 +- 15 files changed, 6730 insertions(+), 232 deletions(-) delete mode 100644 src/services/preset-definitions/hardcoded-presets.ts diff --git a/package-lock.json b/package-lock.json index 886859a..cab8fc8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "maed-extractor-frontend", - "version": "0.0.0", + "version": "0.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "maed-extractor-frontend", - "version": "0.0.0", + "version": "0.1.0", "dependencies": { "@mdi/font": "7.0.96", "@popperjs/core": "^2.11.8", @@ -21,6 +21,8 @@ "mermaid": "^11.1.0", "openapi-client-axios": "^7.5.5", "pinia": "^2.2.2", + "pinia-plugin-persist": "^1.0.0", + "pinia-plugin-persistedstate": "^4.1.1", "roboto-fontface": "*", "v-calendar": "^3.1.2", "vue": "^3.5.1", @@ -41,6 +43,19 @@ "vite-plugin-vuetify": "^2.0.3" } }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@antfu/install-pkg": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/@antfu/install-pkg/-/install-pkg-0.4.1.tgz", @@ -63,31 +78,219 @@ "url": "https://github.com/sponsors/antfu" } }, + "node_modules/@babel/code-frame": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.7.tgz", + "integrity": "sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==", + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.25.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.8.tgz", + "integrity": "sha512-ZsysZyXY4Tlx+Q53XdnOFmqwfB9QDTHYxaZYajWRoBLuLEAwI2UIbtxOjWh/cFaa9IKUlcB+DDuoskLuKu56JA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.8.tgz", + "integrity": "sha512-Oixnb+DzmRT30qu9d3tJSQkxuygWm32DFykT4bRoORPa9hZ/L4KhVB/XiRm6KG+roIEM7DBQlmg27kw2HZkdZg==", + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.25.7", + "@babel/generator": "^7.25.7", + "@babel/helper-compilation-targets": "^7.25.7", + "@babel/helper-module-transforms": "^7.25.7", + "@babel/helpers": "^7.25.7", + "@babel/parser": "^7.25.8", + "@babel/template": "^7.25.7", + "@babel/traverse": "^7.25.7", + "@babel/types": "^7.25.8", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.7.tgz", + "integrity": "sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.7", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.7.tgz", + "integrity": "sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.25.7", + "@babel/helper-validator-option": "^7.25.7", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.7.tgz", + "integrity": "sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.7", + "@babel/types": "^7.25.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.7.tgz", + "integrity": "sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.7", + "@babel/helper-simple-access": "^7.25.7", + "@babel/helper-validator-identifier": "^7.25.7", + "@babel/traverse": "^7.25.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.25.7.tgz", + "integrity": "sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.7", + "@babel/types": "^7.25.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-string-parser": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", - "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz", + "integrity": "sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==", "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", - "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz", + "integrity": "sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.7.tgz", + "integrity": "sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.7.tgz", + "integrity": "sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.25.7", + "@babel/types": "^7.25.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.7.tgz", + "integrity": "sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==", "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.25.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/highlight/node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, "node_modules/@babel/parser": { - "version": "7.25.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", - "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.8.tgz", + "integrity": "sha512-HcttkxzdPucv3nNFmfOOMfFf64KgdJVqm1KaCm25dPGMLElo9nsLvXeJECQg8UzPuBGLyTSA0ZzqCtDSzKTEoQ==", "license": "MIT", "dependencies": { - "@babel/types": "^7.25.6" + "@babel/types": "^7.25.8" }, "bin": { "parser": "bin/babel-parser.js" @@ -108,14 +311,55 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/standalone": { + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/standalone/-/standalone-7.25.8.tgz", + "integrity": "sha512-UvRanvLCGPRscJ5Rw9o6vUBS5P+E+gkhl6eaokrIN+WM1kUkmj254VZhyihFdDZVDlI3cPcZoakbJJw24QPISw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.7.tgz", + "integrity": "sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.25.7", + "@babel/parser": "^7.25.7", + "@babel/types": "^7.25.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.7.tgz", + "integrity": "sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.25.7", + "@babel/generator": "^7.25.7", + "@babel/parser": "^7.25.7", + "@babel/template": "^7.25.7", + "@babel/types": "^7.25.7", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/types": { - "version": "7.25.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", - "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.8.tgz", + "integrity": "sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg==", "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.24.8", - "@babel/helper-validator-identifier": "^7.24.7", + "@babel/helper-string-parser": "^7.25.7", + "@babel/helper-validator-identifier": "^7.25.7", "to-fast-properties": "^2.0.0" }, "engines": { @@ -566,12 +810,54 @@ "mlly": "^1.7.1" } }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", "license": "MIT" }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, "node_modules/@mdi/font": { "version": "7.0.96", "resolved": "https://registry.npmjs.org/@mdi/font/-/font-7.0.96.tgz", @@ -591,7 +877,6 @@ "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", @@ -605,7 +890,6 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, "license": "MIT", "engines": { "node": ">= 8" @@ -615,7 +899,6 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", @@ -625,6 +908,60 @@ "node": ">= 8" } }, + "node_modules/@nuxt/kit": { + "version": "3.13.2", + "resolved": "https://registry.npmjs.org/@nuxt/kit/-/kit-3.13.2.tgz", + "integrity": "sha512-KvRw21zU//wdz25IeE1E5m/aFSzhJloBRAQtv+evcFeZvuroIxpIQuUqhbzuwznaUwpiWbmwlcsp5uOWmi4vwA==", + "license": "MIT", + "dependencies": { + "@nuxt/schema": "3.13.2", + "c12": "^1.11.2", + "consola": "^3.2.3", + "defu": "^6.1.4", + "destr": "^2.0.3", + "globby": "^14.0.2", + "hash-sum": "^2.0.0", + "ignore": "^5.3.2", + "jiti": "^1.21.6", + "klona": "^2.0.6", + "knitwork": "^1.1.0", + "mlly": "^1.7.1", + "pathe": "^1.1.2", + "pkg-types": "^1.2.0", + "scule": "^1.3.0", + "semver": "^7.6.3", + "ufo": "^1.5.4", + "unctx": "^2.3.1", + "unimport": "^3.12.0", + "untyped": "^1.4.2" + }, + "engines": { + "node": "^14.18.0 || >=16.10.0" + } + }, + "node_modules/@nuxt/schema": { + "version": "3.13.2", + "resolved": "https://registry.npmjs.org/@nuxt/schema/-/schema-3.13.2.tgz", + "integrity": "sha512-CCZgpm+MkqtOMDEgF9SWgGPBXlQ01hV/6+2reDEpJuqFPGzV8HYKPBcIFvn7/z5ahtgutHLzjP71Na+hYcqSpw==", + "license": "MIT", + "dependencies": { + "compatx": "^0.1.8", + "consola": "^3.2.3", + "defu": "^6.1.4", + "hookable": "^5.5.3", + "pathe": "^1.1.2", + "pkg-types": "^1.2.0", + "scule": "^1.3.0", + "std-env": "^3.7.0", + "ufo": "^1.5.4", + "uncrypto": "^0.1.3", + "unimport": "^3.12.0", + "untyped": "^1.4.2" + }, + "engines": { + "node": "^14.18.0 || >=16.10.0" + } + }, "node_modules/@popperjs/core": { "version": "2.11.8", "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", @@ -636,10 +973,9 @@ } }, "node_modules/@rollup/pluginutils": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.1.tgz", - "integrity": "sha512-bVRmQqBIyGD+VMihdEV2IBurfIrdW9tD9yzJUL3CBRDbyPBVzQnBSMSgyUZHl1E335rpMRj7r4o683fXLYw8iw==", - "dev": true, + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.2.tgz", + "integrity": "sha512-/FIdS3PyZ39bjZlwqFnWqCOVnW7o963LtKMwQOD0NhQqw22gSr2YY1afu3FxRip4ZCZNsD5jq6Aaz6QV3D/Njw==", "license": "MIT", "dependencies": { "@types/estree": "^1.0.0", @@ -866,6 +1202,18 @@ "win32" ] }, + "node_modules/@sindresorhus/merge-streams": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", + "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@types/d3-scale": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.8.tgz", @@ -900,7 +1248,6 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", - "dev": true, "license": "MIT" }, "node_modules/@types/file-saver": { @@ -1200,11 +1547,22 @@ "node": ">=6" } }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/anymatch": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", @@ -1254,7 +1612,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -1277,7 +1634,6 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, "license": "MIT", "dependencies": { "fill-range": "^7.1.1" @@ -1286,60 +1642,244 @@ "node": ">=8" } }, - "node_modules/character-entities": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", - "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "node_modules/browserslist": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz", + "integrity": "sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/chevrotain": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-11.0.3.tgz", - "integrity": "sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==", - "license": "Apache-2.0", "dependencies": { - "@chevrotain/cst-dts-gen": "11.0.3", - "@chevrotain/gast": "11.0.3", - "@chevrotain/regexp-to-ast": "11.0.3", - "@chevrotain/types": "11.0.3", - "@chevrotain/utils": "11.0.3", - "lodash-es": "4.17.21" + "caniuse-lite": "^1.0.30001663", + "electron-to-chromium": "^1.5.28", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/chevrotain-allstar": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/chevrotain-allstar/-/chevrotain-allstar-0.3.1.tgz", - "integrity": "sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==", + "node_modules/c12": { + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/c12/-/c12-1.11.2.tgz", + "integrity": "sha512-oBs8a4uvSDO9dm8b7OCFW7+dgtVrwmwnrVXYzLm43ta7ep2jCn/0MhoUFygIWtxhyy6+/MG7/agvpY0U1Iemew==", "license": "MIT", "dependencies": { - "lodash-es": "^4.17.21" + "chokidar": "^3.6.0", + "confbox": "^0.1.7", + "defu": "^6.1.4", + "dotenv": "^16.4.5", + "giget": "^1.2.3", + "jiti": "^1.21.6", + "mlly": "^1.7.1", + "ohash": "^1.1.3", + "pathe": "^1.1.2", + "perfect-debounce": "^1.0.0", + "pkg-types": "^1.2.0", + "rc9": "^2.1.2" }, "peerDependencies": { - "chevrotain": "^11.0.0" + "magicast": "^0.3.4" + }, + "peerDependenciesMeta": { + "magicast": { + "optional": true + } } }, - "node_modules/chokidar": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz", - "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==", - "devOptional": true, + "node_modules/c12/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "license": "MIT", "dependencies": { - "readdirp": "^4.0.1" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" }, "engines": { - "node": ">= 14.16.0" + "node": ">= 8.10.0" }, "funding": { "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/combined-stream": { - "version": "1.0.8", + "node_modules/c12/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001669", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001669.tgz", + "integrity": "sha512-DlWzFDJqstqtIVx1zeSpIMLjunf5SmwOw0N2Ck/QSQdS8PLS4+9HrLaYei4w8BIAL7IB/UEDu889d8vhCTPA0w==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chevrotain": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-11.0.3.tgz", + "integrity": "sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==", + "license": "Apache-2.0", + "dependencies": { + "@chevrotain/cst-dts-gen": "11.0.3", + "@chevrotain/gast": "11.0.3", + "@chevrotain/regexp-to-ast": "11.0.3", + "@chevrotain/types": "11.0.3", + "@chevrotain/utils": "11.0.3", + "lodash-es": "4.17.21" + } + }, + "node_modules/chevrotain-allstar": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/chevrotain-allstar/-/chevrotain-allstar-0.3.1.tgz", + "integrity": "sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==", + "license": "MIT", + "dependencies": { + "lodash-es": "^4.17.21" + }, + "peerDependencies": { + "chevrotain": "^11.0.0" + } + }, + "node_modules/chokidar": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz", + "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/citty": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz", + "integrity": "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==", + "license": "MIT", + "dependencies": { + "consola": "^3.2.3" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "license": "MIT", @@ -1359,12 +1899,33 @@ "node": ">= 10" } }, + "node_modules/compatx": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/compatx/-/compatx-0.1.8.tgz", + "integrity": "sha512-jcbsEAR81Bt5s1qOFymBufmCbXCXbk0Ql+K5ouj6gCyx2yHlu6AgmGIi9HxfKixpUDO5bCFJUHQ5uM6ecbTebw==", + "license": "MIT" + }, "node_modules/confbox": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.7.tgz", "integrity": "sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==", "license": "MIT" }, + "node_modules/consola": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz", + "integrity": "sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==", + "license": "MIT", + "engines": { + "node": "^14.18.0 || >=16.10.0" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "license": "MIT" + }, "node_modules/cose-base": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-1.0.3.tgz", @@ -1374,6 +1935,20 @@ "layout-base": "^1.0.0" } }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", @@ -1940,6 +2515,18 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/deep-pick-omit": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/deep-pick-omit/-/deep-pick-omit-1.2.1.tgz", + "integrity": "sha512-2J6Kc/m3irCeqVG42T+SaUMesaK7oGWaedGnQQK/+O0gYc+2SP5bKh/KKTE7d7SJ+GCA9UUE1GRzh6oDe0EnGw==", + "license": "MIT" + }, + "node_modules/defu": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", + "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", + "license": "MIT" + }, "node_modules/delaunator": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz", @@ -1973,6 +2560,12 @@ "integrity": "sha512-uzJsrg225owJyRQ8FNTPHIuBOdSzIZlHhss9u6W8mp7jJldHqGuLv9cULagP/E26QVJDnjtG8U7Dw139mM1ydA==", "license": "MIT" }, + "node_modules/destr": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.3.tgz", + "integrity": "sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==", + "license": "MIT" + }, "node_modules/diff": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", @@ -2000,6 +2593,12 @@ "url": "https://dotenvx.com" } }, + "node_modules/electron-to-chromium": { + "version": "1.5.39", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.39.tgz", + "integrity": "sha512-4xkpSR6CjuiaNyvwiWDI85N9AxsvbPawB8xc7yzLPonYTuP19BVgYweKyUMFtHEZgIcHWMt1ks5Cqx2m+6/Grg==", + "license": "ISC" + }, "node_modules/elkjs": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/elkjs/-/elkjs-0.9.3.tgz", @@ -2057,17 +2656,60 @@ "@esbuild/win32-x64": "0.21.5" } }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/estree-walker": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", "license": "MIT" }, + "node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, "node_modules/fast-glob": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "dev": true, "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", @@ -2084,7 +2726,6 @@ "version": "1.17.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "dev": true, "license": "ISC", "dependencies": { "reusify": "^1.0.4" @@ -2100,7 +2741,6 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" @@ -2143,6 +2783,30 @@ "node": ">= 6" } }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -2167,11 +2831,50 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/giget": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/giget/-/giget-1.2.3.tgz", + "integrity": "sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==", + "license": "MIT", + "dependencies": { + "citty": "^0.1.6", + "consola": "^3.2.3", + "defu": "^6.1.4", + "node-fetch-native": "^1.6.3", + "nypm": "^0.3.8", + "ohash": "^1.1.3", + "pathe": "^1.1.2", + "tar": "^6.2.0" + }, + "bin": { + "giget": "dist/cli.mjs" + } + }, "node_modules/glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, "license": "ISC", "dependencies": { "is-glob": "^4.0.1" @@ -2180,12 +2883,56 @@ "node": ">= 6" } }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.2.tgz", + "integrity": "sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==", + "license": "MIT", + "dependencies": { + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.2", + "ignore": "^5.2.4", + "path-type": "^5.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/hachure-fill": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/hachure-fill/-/hachure-fill-0.5.2.tgz", "integrity": "sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==", "license": "MIT" }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/hash-sum": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", + "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", + "license": "MIT" + }, "node_modules/hasown": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", @@ -2199,6 +2946,21 @@ "node": ">= 0.4" } }, + "node_modules/hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", + "license": "MIT" + }, + "node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=16.17.0" + } + }, "node_modules/iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", @@ -2211,6 +2973,15 @@ "node": ">=0.10.0" } }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, "node_modules/immutable": { "version": "4.3.7", "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", @@ -2231,7 +3002,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, "license": "MIT", "dependencies": { "binary-extensions": "^2.0.0" @@ -2260,7 +3030,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -2270,7 +3039,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" @@ -2283,12 +3051,44 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, "license": "MIT", "engines": { "node": ">=0.12.0" } }, + "node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/jiti": { + "version": "1.21.6", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-tokens": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.0.tgz", + "integrity": "sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==", + "license": "MIT" + }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -2301,6 +3101,30 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/katex": { "version": "0.16.11", "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.11.tgz", @@ -2340,6 +3164,21 @@ "node": ">=6" } }, + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/knitwork": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/knitwork/-/knitwork-1.1.0.tgz", + "integrity": "sha512-oHnmiBUVHz1V+URE77PNot2lv3QiYU2zQf1JjOVkMt3YDKGbu8NAFr+c4mcNOhdsGrB/VpVbRwPwhiXrPhxQbw==", + "license": "MIT" + }, "node_modules/kolorist": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", @@ -2396,6 +3235,21 @@ "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", "license": "MIT" }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lru-cache/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "license": "ISC" + }, "node_modules/luxon": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.5.0.tgz", @@ -2463,11 +3317,16 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "license": "MIT" + }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, "license": "MIT", "engines": { "node": ">= 8" @@ -2946,7 +3805,6 @@ "version": "4.0.8", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, "license": "MIT", "dependencies": { "braces": "^3.0.3", @@ -2977,6 +3835,18 @@ "node": ">= 0.6" } }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/minimatch": { "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", @@ -2993,6 +3863,52 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/mlly": { "version": "1.7.1", "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.1.tgz", @@ -3020,38 +3936,117 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "license": "MIT" }, - "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-fetch-native": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.4.tgz", + "integrity": "sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==", + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "license": "MIT" + }, + "node_modules/non-layered-tidy-tree-layout": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz", + "integrity": "sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==", + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nypm": { + "version": "0.3.12", + "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.3.12.tgz", + "integrity": "sha512-D3pzNDWIvgA+7IORhD/IuWzEk4uXv6GsgOxiid4UU3h9oq5IqV1KtPDi63n4sZJ/xcWlr88c0QM2RgN5VbOhFA==", "license": "MIT", + "dependencies": { + "citty": "^0.1.6", + "consola": "^3.2.3", + "execa": "^8.0.1", + "pathe": "^1.1.2", + "pkg-types": "^1.2.0", + "ufo": "^1.5.4" + }, "bin": { - "nanoid": "bin/nanoid.cjs" + "nypm": "dist/cli.mjs" }, "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": "^14.16.0 || >=16.10.0" } }, - "node_modules/non-layered-tidy-tree-layout": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz", - "integrity": "sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==", + "node_modules/ohash": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-1.1.4.tgz", + "integrity": "sha512-FlDryZAahJmEF3VR3w1KogSEdWX3WhA5GPakFx4J81kEAiHyLMpdLLElS8n8dfNadMgAne/MywcvmogzscVt4g==", "license": "MIT" }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, + "node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "license": "MIT", + "dependencies": { + "mimic-fn": "^4.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/openapi-client-axios": { @@ -3108,6 +4103,15 @@ "integrity": "sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==", "license": "MIT" }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", @@ -3115,12 +4119,30 @@ "dev": true, "license": "MIT" }, + "node_modules/path-type": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", + "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/pathe": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", "license": "MIT" }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "license": "MIT" + }, "node_modules/picocolors": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", @@ -3131,7 +4153,6 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, "license": "MIT", "engines": { "node": ">=8.6" @@ -3166,6 +4187,75 @@ } } }, + "node_modules/pinia-plugin-persist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pinia-plugin-persist/-/pinia-plugin-persist-1.0.0.tgz", + "integrity": "sha512-M4hBBd8fz/GgNmUPaaUsC29y1M09lqbXrMAHcusVoU8xlQi1TqgkWnnhvMikZwr7Le/hVyMx8KUcumGGrR6GVw==", + "license": "MIT", + "dependencies": { + "vue-demi": "^0.12.1" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0", + "pinia": "^2.0.0", + "vue": "^2.0.0 || >=3.0.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/pinia-plugin-persist/node_modules/vue-demi": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.12.5.tgz", + "integrity": "sha512-BREuTgTYlUr0zw0EZn3hnhC3I6gPWv+Kwh4MCih6QcAeaTlaIX0DwOVN0wHej7hSvDPecz4jygy/idsgKfW58Q==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/pinia-plugin-persistedstate": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/pinia-plugin-persistedstate/-/pinia-plugin-persistedstate-4.1.1.tgz", + "integrity": "sha512-fUiUsbfBetGUZzX28z+ImAZw7FDXzwRrk+fN+ljF5OhQMhsSYfYeUzI9FLLtpjekYbfFHWvJiECkLI60RIuiPA==", + "license": "MIT", + "dependencies": { + "@nuxt/kit": "^3.13.2", + "deep-pick-omit": "^1.2.1", + "defu": "^6.1.4", + "destr": "^2.0.3" + }, + "peerDependencies": { + "@pinia/nuxt": ">=0.5.0", + "pinia": ">=2.0.0" + }, + "peerDependenciesMeta": { + "@pinia/nuxt": { + "optional": true + }, + "pinia": { + "optional": true + } + } + }, "node_modules/pinia/node_modules/vue-demi": { "version": "0.14.10", "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", @@ -3257,7 +4347,6 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, "funding": [ { "type": "github", @@ -3274,6 +4363,16 @@ ], "license": "MIT" }, + "node_modules/rc9": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/rc9/-/rc9-2.1.2.tgz", + "integrity": "sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==", + "license": "MIT", + "dependencies": { + "defu": "^6.1.4", + "destr": "^2.0.3" + } + }, "node_modules/readdirp": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.1.tgz", @@ -3316,7 +4415,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, "license": "MIT", "engines": { "iojs": ">=1.0.0", @@ -3394,7 +4492,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, "funding": [ { "type": "github", @@ -3456,6 +4553,69 @@ "node": ">=14.0.0" } }, + "node_modules/scule": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/scule/-/scule-1.3.0.tgz", + "integrity": "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/source-map-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", @@ -3465,6 +4625,36 @@ "node": ">=0.10.0" } }, + "node_modules/std-env": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", + "license": "MIT" + }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.1.0.tgz", + "integrity": "sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==", + "license": "MIT", + "dependencies": { + "js-tokens": "^9.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/stylis": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.4.tgz", @@ -3497,6 +4687,23 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/tinyexec": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.0.tgz", @@ -3516,7 +4723,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, "license": "MIT", "dependencies": { "is-number": "^7.0.0" @@ -3540,6 +4746,33 @@ "integrity": "sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==", "license": "MIT" }, + "node_modules/uncrypto": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz", + "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==", + "license": "MIT" + }, + "node_modules/unctx": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/unctx/-/unctx-2.3.1.tgz", + "integrity": "sha512-PhKke8ZYauiqh3FEMVNm7ljvzQiph0Mt3GBRve03IJm7ukfaON2OBK795tLwhbyfzknuRRkW0+Ze+CQUmzOZ+A==", + "license": "MIT", + "dependencies": { + "acorn": "^8.8.2", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.0", + "unplugin": "^1.3.1" + } + }, + "node_modules/unctx/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, "node_modules/undici": { "version": "5.28.4", "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", @@ -3553,6 +4786,48 @@ "node": ">=14.0" } }, + "node_modules/unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unimport": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/unimport/-/unimport-3.13.1.tgz", + "integrity": "sha512-nNrVzcs93yrZQOW77qnyOVHtb68LegvhYFwxFMfuuWScmwQmyVCG/NBuN8tYsaGzgQUVYv34E/af+Cc9u4og4A==", + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.1.2", + "acorn": "^8.12.1", + "escape-string-regexp": "^5.0.0", + "estree-walker": "^3.0.3", + "fast-glob": "^3.3.2", + "local-pkg": "^0.5.0", + "magic-string": "^0.30.11", + "mlly": "^1.7.1", + "pathe": "^1.1.2", + "pkg-types": "^1.2.0", + "scule": "^1.3.0", + "strip-literal": "^2.1.0", + "unplugin": "^1.14.1" + } + }, + "node_modules/unimport/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, "node_modules/unist-util-stringify-position": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", @@ -3570,7 +4845,6 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.14.1.tgz", "integrity": "sha512-lBlHbfSFPToDYp9pjXlUEFVxYLaue9f9T1HC+4OHlmj+HnMDdz9oZY+erXfoCe/5V/7gKUSY2jpXPb9S7f0f/w==", - "dev": true, "license": "MIT", "dependencies": { "acorn": "^8.12.1", @@ -3697,6 +4971,33 @@ "node": ">=8.10.0" } }, + "node_modules/untyped": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/untyped/-/untyped-1.5.1.tgz", + "integrity": "sha512-reBOnkJBFfBZ8pCKaeHgfZLcehXtM6UTxc+vqs1JvCps0c4amLNp3fhdGBZwYp+VLyoY9n3X5KOP7lCyWBUX9A==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.25.7", + "@babel/standalone": "^7.25.7", + "@babel/types": "^7.25.7", + "defu": "^6.1.4", + "jiti": "^2.3.1", + "mri": "^1.2.0", + "scule": "^1.3.0" + }, + "bin": { + "untyped": "dist/cli.mjs" + } + }, + "node_modules/untyped/node_modules/jiti": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.3.3.tgz", + "integrity": "sha512-EX4oNDwcXSivPrw2qKH2LB5PoFxEvgtv2JgwW0bU858HoLQ+kutSvjLMUqBd0PeJYEinLWhoI9Ol0eYMqj/wNQ==", + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, "node_modules/upath": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz", @@ -3708,6 +5009,36 @@ "yarn": "*" } }, + "node_modules/update-browserslist-db": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", + "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, "node_modules/uuid": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", @@ -4047,9 +5378,29 @@ "version": "0.6.2", "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz", "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==", - "dev": true, "license": "MIT" }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" + }, "node_modules/yargs-parser": { "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", diff --git a/package.json b/package.json index 95bd125..c65a163 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,8 @@ "mermaid": "^11.1.0", "openapi-client-axios": "^7.5.5", "pinia": "^2.2.2", + "pinia-plugin-persist": "^1.0.0", + "pinia-plugin-persistedstate": "^4.1.1", "roboto-fontface": "*", "v-calendar": "^3.1.2", "vue": "^3.5.1", diff --git a/src/components/MapView.vue b/src/components/MapView.vue index ce899ad..9cbf88d 100644 --- a/src/components/MapView.vue +++ b/src/components/MapView.vue @@ -69,44 +69,55 @@ const isValid = computed(() => { return (!(concept.value in def.abstract_concepts) || !!kindCol.value) && (Object.keys(cr.identity).length == 0 || formvalidity.identityCols) && (Object.keys(cr.inline).length == 0 || formvalidity.inlineCols) + && (Object.keys(cr.to_one).length == 0 || formvalidity.fkRelationCols) }) +function colMapFromNames(columns?: ExtendedColumnListItem[], nameColumnMapping?: { [key: string]: string }): { + [key: string]: ExtendedColumnListItem +} { + if (!nameColumnMapping) return {} + else return Object.fromEntries(Object.entries(nameColumnMapping).map(([k, v]) => [k, columns?.find(item => item.name.toLowerCase() === v.toLowerCase())]).filter(([k, v]) => !!v)) +} + function suggestCol(columns?: ExtendedColumnListItem[], name?: string, mitmType?: MitMDataType) { return columns?.find(item => item.name.toLowerCase() === name?.toLowerCase() && item.inferredType === mitmType) ?? null } -function suggestTypeCol(list?: ExtendedColumnListItem[]) { +function suggestTypeCol(columns?: ExtendedColumnListItem[]) { const tc = !!recreatedMapping.value ? recreatedMapping.value.type_col : currentConceptProperties.value?.typing_concept - return suggestCol(list, tc, "text") + return suggestCol(columns, tc, "text") } function suggestKindCol(columns?: ExtendedColumnListItem[]) { const def = selectedMitMDef.value const kc = !!recreatedMapping.value ? recreatedMapping.value.kind_col : "kind" - if (concept.value in def?.leaf_concepts) return null + if (!def || concept.value in def.leaf_concepts) return null else return suggestCol(columns, kc, "text") } -function suggestColMap(columns?: ExtendedColumnListItem[], toMap?: { [key: string]: string }) { - const def = selectedMitMDef.value; +function suggestColMap(columns?: ExtendedColumnListItem[], toMap?: { [key: string]: string }): { + [key: string]: ExtendedColumnListItem +} { + const def = selectedMitMDef.value if (!toMap || !def) return {} return Object.fromEntries(Object.entries(toMap).map(([name, target_concept]) => [name, suggestCol(columns, name, def.weak_concepts[target_concept])]).filter(([k, v]) => !!v)) } function suggestIdColMap(columns?: ExtendedColumnListItem[]) { - const colMap = !!recreatedMapping.value ? harmonizeToObj(recreatedMapping.value.identity_columns) : currentConceptRelations.value?.identity - return suggestColMap(columns, colMap) + if (!!recreatedMapping.value?.identity_columns) return colMapFromNames(columns, harmonizeToObj(recreatedMapping.value.identity_columns)) + else return suggestColMap(columns, currentConceptRelations.value?.identity) } function suggestInlineColMap(columns?: ExtendedColumnListItem[]) { - const colMap = !!recreatedMapping.value ? harmonizeToObj(recreatedMapping.value.inline_relations) : currentConceptRelations.value?.inline - return suggestColMap(columns, colMap) + if (!!recreatedMapping.value?.inline_relations) + return colMapFromNames(columns, harmonizeToObj(recreatedMapping.value.inline_relations)) + else return suggestColMap(columns, currentConceptRelations.value?.inline_relations) } function suggestFKColMaps(columns?: ExtendedColumnListItem[]): { [fkRelName: string]: { [nameToMap: string]: ExtendedColumnListItem } } { - if (!!recreatedMapping.value) return Object.fromEntries(Object.entries(recreatedMapping.value.foreign_relations).map(([fkRelName, fkRel]) => [fkRelName, suggestColMap(columns, harmonizeToObj(fkRel.fk_columns))])) + if (!!recreatedMapping.value?.foreign_relations) return Object.fromEntries(Object.entries(recreatedMapping.value.foreign_relations).map(([fkRelName, fkRel]) => [fkRelName, colMapFromNames(columns, harmonizeToObj(fkRel.fk_columns))])) const mitmDef = selectedMitMDef.value const toOne = currentConceptRelations.value?.to_one if (!toOne || !mitmDef) return {} @@ -115,12 +126,12 @@ function suggestFKColMaps(columns?: ExtendedColumnListItem[]): { } function suggestFKTables(): { [fkRelName: string]: TableIdentifier | null } { - if (!!recreatedMapping.value) return Object.fromEntries(Object.entries(recreatedMapping.value.foreign_relations).map(([fkRelName, fkRel]) => [fkRelName, anyTIDtoTID(fkRel.referred_table)])) + if (!!recreatedMapping.value?.foreign_relations) return Object.fromEntries(Object.entries(recreatedMapping.value.foreign_relations).map(([fkRelName, fkRel]) => [fkRelName, anyTIDtoTID(fkRel.referred_table)])) const toOne = currentConceptRelations.value?.to_one if (!toOne) return {} else return Object.fromEntries(Object.entries(toOne).map(([fkRelName, fkRelInfo]) => { const matchingTable = mappings.currentMappings.find(cme => cme.mapping.concept === fkRelInfo.target_concept)?.mapping.base_table - return [fkRelName, !!matchingTable ? matchingTable : null] + return [fkRelName, !!matchingTable ? anyTIDtoTID(matchingTable) : null] })) } @@ -232,6 +243,8 @@ function recreate(cmEntry: ConceptMappingEntry) { concept.value = cm.concept } +const expanded = ref([0]) + </script> <template> @@ -239,7 +252,7 @@ function recreate(cmEntry: ConceptMappingEntry) { <v-container class="px-0 mx-0"> <v-row no-gutters> <v-col cols="12"> - <v-expansion-panels class="px-2"> + <v-expansion-panels class="px-2" v-model="expanded"> <v-expansion-panel title="Created Mappings"> <template v-slot:text> <MappingsTable show-view @showMapping="recreate"></MappingsTable> @@ -302,7 +315,9 @@ function recreate(cmEntry: ConceptMappingEntry) { <v-card-actions> <v-spacer></v-spacer> - <v-btn class="me-auto" :disabled="!recreatedMapping" @click.stop="recreatedMapping = null">Copy</v-btn> + <v-btn class="me-auto" :disabled="!recreatedMapping" @click.stop="recreatedMapping = null">Enable + Editing + </v-btn> <v-btn :disabled="!isValid" type="submit">Verify</v-btn> </v-card-actions> </v-form> diff --git a/src/components/SetupView.vue b/src/components/SetupView.vue index 0d22e8e..42e92fc 100644 --- a/src/components/SetupView.vue +++ b/src/components/SetupView.vue @@ -15,12 +15,18 @@ const store = useMainStore() const presetStore = usePresetStore() const {presets} = storeToRefs(presetStore) -const step = ref(1) +const step = ref(initFromState()) const loading = ref(false) const dbUploadForm = reactive({file: null, is_valid: false}) const dbConnForm = reactive({url: '', is_valid: false}) +function initFromState() { + if(store.sessionReady) return 3 + else if(store.sessionCreated) return 2 + else return 1 +} + async function startSessionAction() { loading.value = true Promise.all([constants.ensureInit(), store.startSession().then((success) => { diff --git a/src/components/subcomponents/map/InlineColumnMapper.vue b/src/components/subcomponents/map/InlineColumnMapper.vue index 801dc7d..9edd37a 100644 --- a/src/components/subcomponents/map/InlineColumnMapper.vue +++ b/src/components/subcomponents/map/InlineColumnMapper.vue @@ -65,7 +65,7 @@ function getRequiredType(concept: string): MitMDataType { </v-chip> </td> <td>{{ getRequiredType(props.toMap[name]) }}</td> - <td><v-checkbox-btn v-model="overrides" :value="name"></v-checkbox-btn></td> + <td><v-checkbox-btn v-model="overrides" :value="name" :disabled="props.readonly"></v-checkbox-btn></td> </tr> </template> </tbody> diff --git a/src/components/subcomponents/map/RelationsColumnMapper.vue b/src/components/subcomponents/map/RelationsColumnMapper.vue index ec00bac..34ac1be 100644 --- a/src/components/subcomponents/map/RelationsColumnMapper.vue +++ b/src/components/subcomponents/map/RelationsColumnMapper.vue @@ -1,13 +1,13 @@ <script setup lang="ts"> import {ExtendedColumnListItem} from "@/services/convenienceStore"; -import {Mappings, MitMDataType, MitMDefinition, TableIdentifier} from "@/services/api"; -import {ref, watchEffect} from "vue"; +import {Mappings, MitMDataType, MitMDefinition, TableIdentifier, TableMetaInfoResponse} from "@/services/api"; +import {Ref, ref, watch, watchEffect} from "vue"; import {useMappingStore} from "@/services/mappingStore"; import {storeToRefs} from "pinia"; import TableSelector from "@/components/helpers/TableSelector.vue"; import {useMainStore} from "@/services/mainStore"; -import {rules} from "@/services/utils" +import {anyTIDtoTID, rules} from "@/services/utils" import {ForeignRelationMappings} from "@/services/mappingUtils" @@ -23,19 +23,25 @@ const props = defineProps<{ readonly?: boolean }>() -const foreignRelations = defineModel<ForeignRelationMappings>('foreignRelations', {required: true}) +const foreignRelations: Ref<ForeignRelationMappings> = defineModel<ForeignRelationMappings>('foreignRelations', {required: true}) const isValid = defineModel('isValid', {type: Boolean, default: false, required: false}) const fkValidity = ref({requiredMappingExistence: {}, fkExistence: {}}) -const overrides = ref({}) - -const fkRelationTargets = ref({}) +const overrides = ref<{ [fkRelName: string]: Ref<[]> }>({}) + +const fkRelationTargets = ref<{ + [fkRelName: string]: { + targetConcept: string, + fkLength: number, + namesToMap: string[], + targetConcepts: string[], + targetTypes: string[] + } +}>({}) watchEffect(() => { - console.log("Attempting update") - console.log(props.toMap, foreignRelations.value) - const frs = foreignRelations.value + // const frs = foreignRelations.value let temp = {} - if (!!props.toMap && !!props.mitmDef && !!frs && Object.keys(frs).every(fkRelName => fkRelName in props.toMap)) + if (!!props.toMap && !!props.mitmDef ) // && !!frs && Object.keys(frs).every(fkRelName => fkRelName in props.toMap) temp = Object.fromEntries(Object.keys(foreignRelations.value).map(fkRelName => { const fkRelInfo = props.toMap[fkRelName] const targetIdentity = props.mitmDef.concept_relations[fkRelInfo.target_concept].identity @@ -50,47 +56,61 @@ watchEffect(() => { targetTypes }] })) - console.log(temp) - console.log(foreignRelations) fkRelationTargets.value = temp + overrides.value = !!props.toMap ? Object.fromEntries(Object.keys(props.toMap).map(fkRelName => [fkRelName, ref([])])) : {} }) -//watch(props.toMap, (v) => { -// overrides.value = !!v ? Object.fromEntries(Object.keys(v).map(fkRelName => [fkRelName, ref([])])) : {} -//}) - //watch(props.columnList, () => { // overrides.value = [] //}) // -//watchEffect(() => { -// const toSkip = overrides.value -// const fkrs = foreignRelations.value -// if (!toSkip || !fkrs) isValid.value = false -// else -// isValid.value = Object.entries(fkrs).map(([fkRelName, fkMapping]) => Object.entries(fkMapping.fk_columns) -// .filter(([nameToMap]) => !toSkip[fkRelName]?.some(n => n === nameToMap)) -// .every(([nameToMap, selectedCol]) => fkRelationTargets[fkRelName].targetTypes[nameToMap] === selectedCol.inferredType)) -//}) -//watchEffect(() => { -// // check for existence of required concept mapping of selected table, and check for regular FK relation -// const fkrs = foreignRelations.value -// const baseTable = props.baseTable -// const tm: TableMetaInfoResponse = store.getTableMeta(baseTable) -// let temp = {requiredMappingExistence: {}, fkExistence: {}} -// if (!!fkrs && !!baseTable && !!tm) { -// const requiredMappingExistence = Object.entries(fkrs).map(([fkRelName, fkMapping]) => -// currentMappings.some(cme => cme.mapping.concept === fkRelationTargets[fkRelName].targetConcept && cme.mapping.base_table === fkMapping.referred_table) -// ) -// const fkExistence = Object.entries(fkrs) -// .map(([fkRelName, fkMapping]) => baseTable.source === fkMapping.referred_table.source -// && tm.foreign_key_constraints.some(fkc => -// fkc.target_table.schema === fkMapping.referred_table.schema && fkc.target_table.name === fkMapping.referred_table.name)) -// temp = {requiredMappingExistence, fkExistence} -// } -// fkValidity.value = temp -//}) +watchEffect(() => { + const toSkip = overrides.value + const frs = foreignRelations.value + const fkRelTargets = fkRelationTargets.value + if (!toSkip || !frs || !fkRelTargets) isValid.value = false + else { + isValid.value = Object.entries(frs).map(([fkRelName, fkMapping]) => Object.entries(fkMapping.fk_columns) + .filter(([nameToMap]) => !toSkip[fkRelName] || !toSkip[fkRelName].some(n => n === nameToMap)) + .every(([nameToMap, selectedCol]) => fkRelTargets[fkRelName].targetTypes[nameToMap] === selectedCol.inferredType)).every(v => v) + } +}) + + +watchEffect( () => { + // check for existence of required concept mapping of selected table, and check for regular FK relation + const frs = foreignRelations.value + console.log('validity 0') + const fkRelTargets = fkRelationTargets.value + const baseTable = props.baseTable + const tm: TableMetaInfoResponse = store.getTableMeta(baseTable) + const referredTables = !!frs ? Object.values(frs).map(fkMapping => fkMapping.referred_table) : [] + console.log('validity 1') + console.log(frs) + console.log(fkRelTargets) + console.log(baseTable) + console.log(referredTables) + console.log(tm?.foreign_key_constraints) + let temp = {requiredMappingExistence: {}, fkExistence: {}} + if (!!frs && !!baseTable && !!tm && !!fkRelTargets) { + //baseTable = anyTIDtoTID(baseTable) + const requiredMappingExistence = Object.entries(frs).map(([fkRelName, fkMapping]) => + currentMappings.value.some(cme => cme.mapping.concept === fkRelTargets[fkRelName].targetConcept && cme.mapping.base_table === fkMapping.referred_table.value) + ) + const fkExistence = referredTables.map(referredTable => + baseTable.source === referredTable.source + && tm.foreign_key_constraints?.some(fkc => + { + const tt = anyTIDtoTID(fkc.target_table, baseTable.source) + return tt.schema === referredTable.schema && tt.name === referredTable.name + })) + temp = {requiredMappingExistence, fkExistence} + } + console.log("validity 2", temp) + fkValidity.value = temp +}) + function getRequiredType(concept: string): MitMDataType { return props.mitmDef.weak_concepts[concept] @@ -100,66 +120,88 @@ function getRequiredType(concept: string): MitMDataType { <template> <v-card :title="props.title" variant="flat" :border="isValid ? null : 'lg error'"> - <v-table density="compact"> - <thead> - <tr> - <th>Relation</th> - <th>Target Concept</th> - <th>Target Table</th> - <th>Target Column</th> - <th>Target Column Concept</th> - <th>Selected Column</th> - <th>Actual SQL Type</th> - <th>Inferred Type</th> - <th>Required Type</th> - <th>Ignore Type Check?</th> - </tr> - </thead> - <tbody> + <v-list> <template v-for="(fkRelTargets, fkRelName, i) in fkRelationTargets" v-if="!!fkRelationTargets" :key="fkRelName"> - <template v-for="(nameToMap, i) in fkRelTargets.namesToMap" v-if="fkRelName in foreignRelations" :key="nameToMap"> - <tr> - <template v-if="i == 0"> - <td :rowspan="fkRelTargets.fkLength">{{ fkRelName }}</td> - <td :rowspan="fkRelTargets.fkLength">{{ fkRelTargets.targetConcept }}</td> - <td :rowspan="fkRelTargets.fkLength"> - <TableSelector :selected-table="foreignRelations[fkRelName].referred_table" - source-d-b="either" :rules="[rules.required]" :disabled="props.readonly"></TableSelector> - <v-chip-group> - <v-chip v-if="fkValidity.fkExistence[fkRelName]" color="orange" text="No FK to table exists" - size="small"></v-chip> - <v-chip v-if="fkValidity.requiredMappingExistence[fkRelName]" color="error" text="Table not mapped" - size="small"></v-chip> - </v-chip-group> - </td> - </template> - <td>{{ nameToMap }}</td> - <td>{{ fkRelTargets.targetConcepts[i] }}</td> - <td> - <v-select :items="props.columnList" v-model="foreignRelations[fkRelName].fk_columns[nameToMap]" - return-object variant="plain" - :rules="[rules.required]" - :disabled="props.readonly"> - </v-select> - </td> - <td> - {{ foreignRelations[fkRelName]?.fk_columns[nameToMap]?.sqlType }} - </td> - <td> - <v-chip - :color="fkRelTargets.targetTypes[i] === foreignRelations[fkRelName]?.fk_columns[nameToMap]?.inferredType ? 'green' : 'red'"> - {{ foreignRelations[fkRelName]?.fk_columns[nameToMap]?.inferredType }} - </v-chip> - </td> - <td>{{ fkRelTargets.targetTypes[i] }}</td> - <td> - <v-checkbox-btn v-model="overrides[fkRelName]" :value="nameToMap"></v-checkbox-btn> - </td> - </tr> - </template> + <v-list-item> + <v-card variant="flat" :title="`Relation: ${fkRelName}`"> + <v-table density="compact" class="my-2"> + <thead> + <tr> + <th>Target Concept</th> + <th>Target Table</th> + <th>Foreign Key Relationship</th> + <th>Mapping Existence</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{ fkRelTargets.targetConcept.toUpperCase() }}</td> + <td> + <TableSelector :selected-table="foreignRelations[fkRelName].referred_table" + source-d-b="either" :rules="[rules.required]" + :disabled="props.readonly" hide-details class="my-2"></TableSelector> + </td> + <td> + <v-chip :color="fkValidity.fkExistence[fkRelName] ? 'green' : 'orange'"> + {{ fkValidity.fkExistence[fkRelName] ? 'FK is declared in DB' : 'No FK to table exists' }} + </v-chip> + </td> + <td> + <v-chip :color="fkValidity.requiredMappingExistence[fkRelName] ? 'green' : 'red'"> + {{ + fkValidity.requiredMappingExistence[fkRelName] ? 'Target table is mapped as required' : 'Target table is not mapped to declared concept' + }} + </v-chip> + </td> + </tr> + </tbody> + </v-table> + <v-table density="compact" class="my-2"> + <thead> + <tr> + <th>Target Column</th> + <th>Target Concept</th> + <th>Selected Column</th> + <th>Actual SQL Type</th> + <th>Inferred Type</th> + <th>Required Type</th> + <th>Ignore Type Check?</th> + </tr> + </thead> + <tbody> + <template v-for="(nameToMap, i) in fkRelTargets.namesToMap" v-if="fkRelName in foreignRelations" + :key="nameToMap"> + <tr> + <td>{{ nameToMap }}</td> + <td>{{ fkRelTargets.targetConcepts[i] }}</td> + <td> + <v-select :items="props.columnList" v-model="foreignRelations[fkRelName].fk_columns[nameToMap]" + return-object variant="plain" + :rules="[rules.required]" + :disabled="props.readonly"> + </v-select> + </td> + <td> + {{ foreignRelations[fkRelName]?.fk_columns[nameToMap]?.sqlType }} + </td> + <td> + <v-chip + :color="fkRelTargets.targetTypes[i] === foreignRelations[fkRelName]?.fk_columns[nameToMap]?.inferredType ? 'green' : 'red'"> + {{ foreignRelations[fkRelName]?.fk_columns[nameToMap]?.inferredType }} + </v-chip> + </td> + <td>{{ fkRelTargets.targetTypes[i] }}</td> + <td> + <v-checkbox-btn v-model="overrides[fkRelName]" :value="nameToMap" :disabled="props.readonly"></v-checkbox-btn> + </td> + </tr> + </template> + </tbody> + </v-table> + </v-card> + </v-list-item> </template> - </tbody> - </v-table> + </v-list> </v-card> </template> diff --git a/src/components/subcomponents/transform/EditColumns.vue b/src/components/subcomponents/transform/EditColumns.vue index 9722f33..ce5b55a 100644 --- a/src/components/subcomponents/transform/EditColumns.vue +++ b/src/components/subcomponents/transform/EditColumns.vue @@ -147,6 +147,7 @@ defineExpose({resetAll, createTransforms}) item-key="name" disable-sort hide-default-footer + class="bg-white" > <template v-slot:[`item.controls`]="{item}"> <v-btn density="compact" variant="text" icon="mdi-arrow-right-thick" @click="() => addColumn(item)"> @@ -163,7 +164,7 @@ defineExpose({resetAll, createTransforms}) <v-col> <VueDraggable v-model="targetTableItems" target=".drag-target" ref="dragg"> - <v-table> + <v-table class="bg-white"> <thead> <tr> <th v-for="item in targetTableHeaders" :key="item.value">{{ item.title }}</th> diff --git a/src/main.js b/src/main.js index e027673..9fb4eb1 100644 --- a/src/main.js +++ b/src/main.js @@ -10,11 +10,13 @@ import { registerPlugins } from '@/plugins'; // Components import App from './App.vue'; import {createPinia} from "pinia"; +import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'; import VueCookies from 'vue-cookies'; import api from './services/api'; import { createApp } from 'vue'; const pinia = createPinia() +pinia.use(piniaPluginPersistedstate) const app = createApp(App) app.use(api) app.use(pinia) diff --git a/src/services/api-schema/openapi.json b/src/services/api-schema/openapi.json index 68229f6..2769bcc 100644 --- a/src/services/api-schema/openapi.json +++ b/src/services/api-schema/openapi.json @@ -1 +1,5069 @@ -{"openapi": "3.1.0", "info": {"title": "MitMExtractorBackend", "version": "0.1.0"}, "paths": {"/admin/clear-sessions": {"post": {"tags": ["admin"], "summary": "Clear Sessions", "operationId": "clear_sessions", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}}}}, "/admin/active-sessions": {"get": {"tags": ["admin"], "summary": "Get Active Sessions", "operationId": "get_active_sessions", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"additionalProperties": {"type": "string", "format": "date-time"}, "type": "object", "title": "Response Get Active Sessions Admin Active Sessions Get"}}}}}}}, "/admin/clear-exports": {"post": {"tags": ["admin"], "summary": "Clear Exports", "operationId": "clear_exports", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}}}}, "/definitions/mitms": {"get": {"tags": ["definitions"], "summary": "Get Mitms", "operationId": "get_mitms", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/MITM"}, "type": "array", "title": "Response Get Mitms Definitions Mitms Get"}}}}}}}, "/definitions/mitm-definition": {"get": {"tags": ["definitions"], "summary": "Get Mitm Definition", "operationId": "get_mitm_definition", "parameters": [{"name": "mitm", "in": "query", "required": true, "schema": {"$ref": "#/components/schemas/MITM"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/MITMDefinition"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/definitions/mitm-data-types": {"get": {"tags": ["definitions"], "summary": "Get Mitm Data Types", "operationId": "get_mitm_data_types", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"additionalProperties": {"$ref": "#/components/schemas/MitMDataTypeInfos"}, "type": "object", "title": "Response Get Mitm Data Types Definitions Mitm Data Types Get"}}}}}}}, "/session/start-session": {"post": {"tags": ["session"], "summary": "Start Session", "operationId": "start_session", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SessionIdResponse"}}}}}}}, "/session/get-session": {"get": {"tags": ["session"], "summary": "Get Session", "operationId": "get_session", "parameters": [{"name": "simple_session", "in": "cookie", "required": true, "schema": {"type": "string", "title": "Simple Session"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SessionIdResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/session/stop-session": {"post": {"tags": ["session"], "summary": "Stop Session", "operationId": "stop_session", "parameters": [{"name": "simple_session", "in": "cookie", "required": true, "schema": {"type": "string", "title": "Simple Session"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/session/upload-db": {"post": {"tags": ["session"], "summary": "Upload Db", "operationId": "upload_db", "parameters": [{"name": "simple_session", "in": "cookie", "required": true, "schema": {"type": "string", "title": "Simple Session"}}], "requestBody": {"required": true, "content": {"multipart/form-data": {"schema": {"$ref": "#/components/schemas/Body_upload_db_session_upload_db_post"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/session/connect-db": {"post": {"tags": ["session"], "summary": "Connect Db", "operationId": "connect_db", "parameters": [{"name": "simple_session", "in": "cookie", "required": true, "schema": {"type": "string", "title": "Simple Session"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Body_connect_db_session_connect_db_post"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/session/test-db-conn": {"get": {"tags": ["session"], "summary": "Test Db Conn", "operationId": "test_db_conn", "parameters": [{"name": "simple_session", "in": "cookie", "required": true, "schema": {"type": "string", "title": "Simple Session"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DBConnTestResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/session/keep-alive": {"get": {"tags": ["session"], "summary": "Keep Alive", "operationId": "keep_alive", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/KeepAliveResponse"}}}}}}}, "/control/reflect-db": {"post": {"tags": ["control"], "summary": "Reflect Db", "operationId": "reflect_db", "parameters": [{"name": "simple_session", "in": "cookie", "required": true, "schema": {"type": "string", "title": "Simple Session"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/control/init-working-db": {"post": {"tags": ["control"], "summary": "Init Working Db", "operationId": "init_working_db", "parameters": [{"name": "simple_session", "in": "cookie", "required": true, "schema": {"type": "string", "title": "Simple Session"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/control/mark-foreign-key": {"post": {"tags": ["control"], "summary": "Mark Foreign Key", "operationId": "mark_foreign_key", "parameters": [{"name": "source", "in": "query", "required": false, "schema": {"allOf": [{"$ref": "#/components/schemas/SourceDBType"}], "default": "original", "title": "Source"}}, {"name": "simple_session", "in": "cookie", "required": true, "schema": {"type": "string", "title": "Simple Session"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ForeignKeyConstraintRequest"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/FKCreationResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/control/virtual-view": {"put": {"tags": ["control"], "summary": "Create Virtual View", "operationId": "create_virtual_view", "parameters": [{"name": "override_if_exists", "in": "query", "required": false, "schema": {"type": "boolean", "default": true, "title": "Override If Exists"}}, {"name": "verify_immediately", "in": "query", "required": false, "schema": {"type": "boolean", "default": true, "title": "Verify Immediately"}}, {"name": "simple_session", "in": "cookie", "required": true, "schema": {"type": "string", "title": "Simple Session"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VirtualViewCreationRequest"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VirtualViewResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "get": {"tags": ["control"], "summary": "Get Virtual View", "operationId": "get_virtual_view", "parameters": [{"name": "view", "in": "query", "required": true, "schema": {"type": "string", "title": "View"}}, {"name": "schema", "in": "query", "required": false, "schema": {"type": "string", "default": "virtual", "title": "Schema"}}, {"name": "simple_session", "in": "cookie", "required": true, "schema": {"type": "string", "title": "Simple Session"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VirtualViewResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["control"], "summary": "Drop Virtual View", "operationId": "drop_virtual_view", "parameters": [{"name": "view", "in": "query", "required": true, "schema": {"type": "string", "title": "View"}}, {"name": "schema", "in": "query", "required": false, "schema": {"type": "string", "default": "virtual", "title": "Schema"}}, {"name": "simple_session", "in": "cookie", "required": true, "schema": {"type": "string", "title": "Simple Session"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/control/virtual-views": {"get": {"tags": ["control"], "summary": "Get Virtual Views", "operationId": "get_virtual_views", "parameters": [{"name": "simple_session", "in": "cookie", "required": true, "schema": {"type": "string", "title": "Simple Session"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/VirtualViewResponse"}, "title": "Response Get Virtual Views Control Virtual Views Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/control/compiled-virtual-view": {"get": {"tags": ["control"], "summary": "Get Compiled Virtual View", "operationId": "get_compiled_virtual_view", "parameters": [{"name": "view", "in": "query", "required": true, "schema": {"type": "string", "title": "View"}}, {"name": "schema", "in": "query", "required": false, "schema": {"type": "string", "default": "virtual", "title": "Schema"}}, {"name": "simple_session", "in": "cookie", "required": true, "schema": {"type": "string", "title": "Simple Session"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CompiledVirtualView"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/control/compiled-virtual-views": {"get": {"tags": ["control"], "summary": "Get Compiled Virtual Views", "operationId": "get_compiled_virtual_views", "parameters": [{"name": "simple_session", "in": "cookie", "required": true, "schema": {"type": "string", "title": "Simple Session"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/CompiledVirtualView"}, "title": "Response Get Compiled Virtual Views Control Compiled Virtual Views Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/control/virtual-views-batch": {"put": {"tags": ["control"], "summary": "Create Virtual Views Batch", "operationId": "create_virtual_views_batch", "parameters": [{"name": "override_if_exists", "in": "query", "required": false, "schema": {"type": "boolean", "default": true, "title": "Override If Exists"}}, {"name": "simple_session", "in": "cookie", "required": true, "schema": {"type": "string", "title": "Simple Session"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/VirtualViewCreationRequest"}, "title": "Requests"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/VirtualViewResponse"}, "title": "Response Create Virtual Views Batch Control Virtual Views Batch Put"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/data/raw-query": {"post": {"tags": ["data"], "summary": "Raw Query", "operationId": "raw_query", "parameters": [{"name": "simple_session", "in": "cookie", "required": true, "schema": {"type": "string", "title": "Simple Session"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Body_raw_query_data_raw_query_post"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"type": "array", "items": {}}, "title": "Response Raw Query Data Raw Query Post"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/data/query-table": {"get": {"tags": ["data"], "summary": "Query Table", "operationId": "query_table", "parameters": [{"name": "table", "in": "query", "required": true, "schema": {"type": "string", "title": "Table"}}, {"name": "schema", "in": "query", "required": false, "schema": {"type": "string", "default": "main", "title": "Schema"}}, {"name": "source", "in": "query", "required": false, "schema": {"allOf": [{"$ref": "#/components/schemas/SourceDBType"}], "default": "original", "title": "Source"}}, {"name": "offset", "in": "query", "required": false, "schema": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Offset"}}, {"name": "limit", "in": "query", "required": false, "schema": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Limit"}}, {"name": "include_table_meta", "in": "query", "required": false, "schema": {"type": "boolean", "default": false, "title": "Include Table Meta"}}, {"name": "simple_session", "in": "cookie", "required": true, "schema": {"type": "string", "title": "Simple Session"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TableQueryResult"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/data/query-unique-values": {"get": {"tags": ["data"], "summary": "Query Unique Values", "operationId": "query_unique_values", "parameters": [{"name": "table", "in": "query", "required": true, "schema": {"type": "string", "title": "Table"}}, {"name": "column", "in": "query", "required": true, "schema": {"type": "string", "title": "Column"}}, {"name": "schema", "in": "query", "required": false, "schema": {"type": "string", "default": "main", "title": "Schema"}}, {"name": "source", "in": "query", "required": false, "schema": {"allOf": [{"$ref": "#/components/schemas/SourceDBType"}], "default": "original", "title": "Source"}}, {"name": "simple_session", "in": "cookie", "required": true, "schema": {"type": "string", "title": "Simple Session"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {}, "title": "Response Query Unique Values Data Query Unique Values Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/data/er-diagram": {"get": {"tags": ["data"], "summary": "Make Erd", "operationId": "make_erd", "parameters": [{"name": "version", "in": "query", "required": false, "schema": {"allOf": [{"$ref": "#/components/schemas/ERVariant"}], "default": "mermaid", "title": "Version"}}, {"name": "source", "in": "query", "required": false, "schema": {"allOf": [{"$ref": "#/components/schemas/SourceDBType"}], "default": "original", "title": "Source"}}, {"name": "simple_session", "in": "cookie", "required": true, "schema": {"type": "string", "title": "Simple Session"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/data/filtered-er-diagram": {"post": {"tags": ["data"], "summary": "Make Filtered Erd", "operationId": "make_filtered_erd", "parameters": [{"name": "version", "in": "query", "required": false, "schema": {"allOf": [{"$ref": "#/components/schemas/ERVariant"}], "default": "mermaid", "title": "Version"}}, {"name": "source", "in": "query", "required": false, "schema": {"allOf": [{"$ref": "#/components/schemas/SourceDBType"}], "default": "original", "title": "Source"}}, {"name": "simple_session", "in": "cookie", "required": true, "schema": {"type": "string", "title": "Simple Session"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DBSchemaSelectionRequest"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/reflection/table-schema": {"get": {"tags": ["reflection"], "summary": "Get Table Schema", "operationId": "get_table_schema", "parameters": [{"name": "table", "in": "query", "required": true, "schema": {"type": "string", "title": "Table"}}, {"name": "schema", "in": "query", "required": false, "schema": {"type": "string", "default": "main", "title": "Schema"}}, {"name": "source", "in": "query", "required": false, "schema": {"allOf": [{"$ref": "#/components/schemas/SourceDBType"}], "default": "original", "title": "Source"}}, {"name": "simple_session", "in": "cookie", "required": true, "schema": {"type": "string", "title": "Simple Session"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TableMetaInfoBase"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/reflection/db-schema": {"get": {"tags": ["reflection"], "summary": "Get Db Schema", "operationId": "get_db_schema", "parameters": [{"name": "source", "in": "query", "required": false, "schema": {"allOf": [{"$ref": "#/components/schemas/SourceDBType"}], "default": "original", "title": "Source"}}, {"name": "simple_session", "in": "cookie", "required": true, "schema": {"type": "string", "title": "Simple Session"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DBMetaInfoBase"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/reflection/filter-db-schema": {"post": {"tags": ["reflection"], "summary": "Filter Db Schema", "operationId": "filter_db_schema", "parameters": [{"name": "source", "in": "query", "required": false, "schema": {"allOf": [{"$ref": "#/components/schemas/SourceDBType"}], "default": "original", "title": "Source"}}, {"name": "simple_session", "in": "cookie", "required": true, "schema": {"type": "string", "title": "Simple Session"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DBSchemaSelectionRequest"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DBMetaInfoBase"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/reflection/query-db-schema": {"post": {"tags": ["reflection"], "summary": "Query Db Schema", "operationId": "query_db_schema", "parameters": [{"name": "store_intermediate_table_probes", "in": "query", "required": false, "schema": {"type": "boolean", "default": true, "title": "Store Intermediate Table Probes"}}, {"name": "source", "in": "query", "required": false, "schema": {"allOf": [{"$ref": "#/components/schemas/SourceDBType"}], "default": "original", "title": "Source"}}, {"name": "simple_session", "in": "cookie", "required": true, "schema": {"type": "string", "title": "Simple Session"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DBSchemaQueryRequest"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DBMetaInfoBase"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/reflection/suggest-joins": {"get": {"tags": ["reflection"], "summary": "Suggest Joins", "operationId": "suggest_joins", "parameters": [{"name": "table", "in": "query", "required": true, "schema": {"type": "string", "title": "Table"}}, {"name": "schema", "in": "query", "required": false, "schema": {"type": "string", "default": "main", "title": "Schema"}}, {"name": "source", "in": "query", "required": false, "schema": {"allOf": [{"$ref": "#/components/schemas/SourceDBType"}], "default": "original", "title": "Source"}}, {"name": "simple_session", "in": "cookie", "required": true, "schema": {"type": "string", "title": "Simple Session"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"type": "array", "prefixItems": [{"type": "string"}, {"type": "string"}], "minItems": 2, "maxItems": 2}, "title": "Response Suggest Joins Reflection Suggest Joins Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/reflection/probe-table": {"post": {"tags": ["reflection"], "summary": "Probe Table", "operationId": "probe_table", "parameters": [{"name": "table", "in": "query", "required": true, "schema": {"type": "string", "title": "Table"}}, {"name": "schema", "in": "query", "required": false, "schema": {"type": "string", "default": "main", "title": "Schema"}}, {"name": "source", "in": "query", "required": false, "schema": {"allOf": [{"$ref": "#/components/schemas/SourceDBType"}], "default": "original", "title": "Source"}}, {"name": "sample_size", "in": "query", "required": false, "schema": {"type": "integer", "default": 100, "title": "Sample Size"}}, {"name": "override_if_exists", "in": "query", "required": false, "schema": {"type": "boolean", "default": false, "title": "Override If Exists"}}, {"name": "store_results", "in": "query", "required": false, "schema": {"type": "boolean", "default": true, "title": "Store Results"}}, {"name": "simple_session", "in": "cookie", "required": true, "schema": {"type": "string", "title": "Simple Session"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TableProbeBase"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/reflection/probe-db": {"post": {"tags": ["reflection"], "summary": "Probe Db", "operationId": "probe_db", "parameters": [{"name": "source", "in": "query", "required": false, "schema": {"allOf": [{"$ref": "#/components/schemas/SourceDBType"}], "default": "original", "title": "Source"}}, {"name": "sample_size", "in": "query", "required": false, "schema": {"type": "integer", "default": 100, "title": "Sample Size"}}, {"name": "override_if_exists", "in": "query", "required": false, "schema": {"type": "boolean", "default": false, "title": "Override If Exists"}}, {"name": "store_results", "in": "query", "required": false, "schema": {"type": "boolean", "default": true, "title": "Store Results"}}, {"name": "simple_session", "in": "cookie", "required": true, "schema": {"type": "string", "title": "Simple Session"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "additionalProperties": {"type": "array", "uniqueItems": true, "items": {"type": "string"}}, "title": "Table Selection"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DBProbeBase"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/mitm/validate-concept-mappings": {"post": {"tags": ["mitm"], "summary": "Validate Concept Mappings", "operationId": "validate_concept_mappings", "parameters": [{"name": "include_request", "in": "query", "required": false, "schema": {"type": "boolean", "default": false, "title": "Include Request"}}, {"name": "simple_session", "in": "cookie", "required": true, "schema": {"type": "string", "title": "Simple Session"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/ConceptMapping-Input"}, "title": "Concept Mappings"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/MappingGroupValidationResult"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/mitm/export-mitm": {"post": {"tags": ["mitm"], "summary": "Export Mitm", "operationId": "export_mitm", "parameters": [{"name": "simple_session", "in": "cookie", "required": true, "schema": {"type": "string", "title": "Simple Session"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ExportRequest"}}}}, "responses": {"200": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/mitm/publish-mitm-export": {"post": {"tags": ["mitm"], "summary": "Publish Mitm Export", "operationId": "publish_mitm_export", "parameters": [{"name": "simple_session", "in": "cookie", "required": true, "schema": {"type": "string", "title": "Simple Session"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ExportRequest"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PublishedMitMResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/mitm/delete-mitm-export": {"post": {"tags": ["mitm"], "summary": "Delete Mitm Export", "operationId": "delete_mitm_export", "parameters": [{"name": "export_id", "in": "query", "required": true, "schema": {"type": "integer", "title": "Export Id"}}, {"name": "simple_session", "in": "cookie", "required": true, "schema": {"type": "string", "title": "Simple Session"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/mitm/delete-mitm-exports": {"post": {"tags": ["mitm"], "summary": "Delete Mitm Exports", "operationId": "delete_mitm_exports", "parameters": [{"name": "simple_session", "in": "cookie", "required": true, "schema": {"type": "string", "title": "Simple Session"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/": {"get": {"summary": "Root", "operationId": "root", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}}}}}, "components": {"schemas": {"AddColumn": {"properties": {"operation": {"type": "string", "enum": ["add_column"], "const": "add_column", "title": "Operation", "default": "add_column"}, "col_name": {"type": "string", "title": "Col Name"}, "value": {"title": "Value"}, "target_type": {"anyOf": [{"$ref": "#/components/schemas/WrappedMITMDataType"}, {"type": "string"}], "title": "Target Type"}}, "type": "object", "required": ["col_name", "value", "target_type"], "title": "AddColumn"}, "Body_connect_db_session_connect_db_post": {"properties": {"db_url": {"type": "string", "minLength": 1, "format": "uri", "title": "Db Url"}}, "type": "object", "required": ["db_url"], "title": "Body_connect_db_session_connect_db_post"}, "Body_raw_query_data_raw_query_post": {"properties": {"query": {"type": "string", "title": "Query"}}, "type": "object", "required": ["query"], "title": "Body_raw_query_data_raw_query_post"}, "Body_upload_db_session_upload_db_post": {"properties": {"sqlite": {"type": "string", "format": "binary", "title": "Sqlite", "description": "Upload a sqlite db file here."}}, "type": "object", "required": ["sqlite"], "title": "Body_upload_db_session_upload_db_post"}, "CastColumn": {"properties": {"operation": {"type": "string", "enum": ["cast_column"], "const": "cast_column", "title": "Operation", "default": "cast_column"}, "target_type": {"anyOf": [{"$ref": "#/components/schemas/WrappedMITMDataType"}, {"type": "string"}], "title": "Target Type"}}, "type": "object", "required": ["target_type"], "title": "CastColumn"}, "CategoricalSummaryStatistics": {"properties": {"count": {"type": "integer", "minimum": 0.0, "title": "Count"}, "unique": {"type": "integer", "minimum": 0.0, "title": "Unique"}, "top": {"type": "string", "title": "Top"}, "freq": {"type": "integer", "minimum": 0.0, "title": "Freq"}}, "type": "object", "required": ["count", "unique", "top", "freq"], "title": "CategoricalSummaryStatistics"}, "ColumnProperties": {"properties": {"nullable": {"type": "boolean", "title": "Nullable"}, "unique": {"type": "boolean", "title": "Unique"}, "part_of_pk": {"type": "boolean", "title": "Part Of Pk"}, "part_of_fk": {"type": "boolean", "title": "Part Of Fk"}, "part_of_index": {"type": "boolean", "title": "Part Of Index"}, "mitm_data_type": {"$ref": "#/components/schemas/MITMDataType"}}, "type": "object", "required": ["nullable", "unique", "part_of_pk", "part_of_fk", "part_of_index", "mitm_data_type"], "title": "ColumnProperties"}, "CompiledVirtualView": {"properties": {"dialect": {"type": "string", "title": "Dialect"}, "compiled_sql": {"type": "string", "title": "Compiled Sql"}, "columns": {"items": {"type": "string"}, "type": "array", "title": "Columns"}, "column_dtypes": {"items": {"anyOf": [{"$ref": "#/components/schemas/WrappedMITMDataType"}, {"type": "string"}]}, "type": "array", "title": "Column Dtypes"}, "name": {"type": "string", "title": "Name"}, "schema_name": {"type": "string", "title": "Schema Name"}}, "type": "object", "required": ["dialect", "compiled_sql", "columns", "column_dtypes", "name", "schema_name"], "title": "CompiledVirtualView"}, "ConceptKind": {"type": "string", "enum": ["concrete", "abstract"], "title": "ConceptKind"}, "ConceptLevel": {"type": "string", "enum": ["main", "sub", "weak"], "title": "ConceptLevel"}, "ConceptMapping-Input": {"properties": {"mitm": {"$ref": "#/components/schemas/MITM"}, "concept": {"type": "string", "title": "Concept"}, "base_table": {"anyOf": [{"$ref": "#/components/schemas/TableIdentifier"}, {"prefixItems": [{"$ref": "#/components/schemas/SourceDBType"}, {"type": "string"}, {"type": "string"}], "type": "array", "maxItems": 3, "minItems": 3}, {"prefixItems": [{"type": "string"}, {"type": "string"}], "type": "array", "maxItems": 2, "minItems": 2}], "title": "Base Table"}, "kind_col": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Kind Col"}, "type_col": {"type": "string", "title": "Type Col"}, "identity_columns": {"anyOf": [{"additionalProperties": {"type": "string"}, "type": "object"}, {"items": {"type": "string"}, "type": "array"}], "title": "Identity Columns"}, "inline_relations": {"anyOf": [{"additionalProperties": {"type": "string"}, "type": "object"}, {"items": {"type": "string"}, "type": "array"}], "title": "Inline Relations"}, "foreign_relations": {"additionalProperties": {"$ref": "#/components/schemas/ForeignRelation-Input"}, "type": "object", "title": "Foreign Relations"}, "attributes": {"items": {"type": "string"}, "type": "array", "title": "Attributes"}, "attribute_dtypes": {"items": {"$ref": "#/components/schemas/MITMDataType"}, "type": "array", "title": "Attribute Dtypes"}}, "type": "object", "required": ["mitm", "concept", "base_table", "type_col"], "title": "ConceptMapping"}, "ConceptMapping-Output": {"properties": {"mitm": {"$ref": "#/components/schemas/MITM"}, "concept": {"type": "string", "title": "Concept"}, "base_table": {"anyOf": [{"$ref": "#/components/schemas/TableIdentifier"}, {"prefixItems": [{"$ref": "#/components/schemas/SourceDBType"}, {"type": "string"}, {"type": "string"}], "type": "array", "maxItems": 3, "minItems": 3}, {"prefixItems": [{"type": "string"}, {"type": "string"}], "type": "array", "maxItems": 2, "minItems": 2}], "title": "Base Table"}, "kind_col": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Kind Col"}, "type_col": {"type": "string", "title": "Type Col"}, "identity_columns": {"anyOf": [{"additionalProperties": {"type": "string"}, "type": "object"}, {"items": {"type": "string"}, "type": "array"}], "title": "Identity Columns"}, "inline_relations": {"anyOf": [{"additionalProperties": {"type": "string"}, "type": "object"}, {"items": {"type": "string"}, "type": "array"}], "title": "Inline Relations"}, "foreign_relations": {"additionalProperties": {"$ref": "#/components/schemas/ForeignRelation-Output"}, "type": "object", "title": "Foreign Relations"}, "attributes": {"items": {"type": "string"}, "type": "array", "title": "Attributes"}, "attribute_dtypes": {"items": {"$ref": "#/components/schemas/MITMDataType"}, "type": "array", "title": "Attribute Dtypes"}}, "type": "object", "required": ["mitm", "concept", "base_table", "type_col"], "title": "ConceptMapping"}, "ConceptProperties": {"properties": {"nature": {"prefixItems": [{"$ref": "#/components/schemas/ConceptLevel"}, {"$ref": "#/components/schemas/ConceptKind"}], "type": "array", "maxItems": 2, "minItems": 2, "title": "Nature"}, "key": {"type": "string", "title": "Key"}, "plural": {"type": "string", "title": "Plural"}, "typing_concept": {"type": "string", "title": "Typing Concept", "default": "type"}, "column_group_ordering": {"items": {"type": "string", "enum": ["kind", "type", "identity-relations", "inline-relations", "foreign-relations", "attributes"]}, "type": "array", "title": "Column Group Ordering", "default": ["kind", "type", "identity-relations", "inline-relations", "foreign-relations", "attributes"]}, "permit_attributes": {"type": "boolean", "title": "Permit Attributes", "default": true}}, "type": "object", "required": ["nature", "key", "plural"], "title": "ConceptProperties"}, "DBConnTestResponse": {"properties": {"db_url": {"type": "string", "minLength": 1, "format": "uri", "title": "Db Url"}, "success": {"type": "boolean", "title": "Success"}, "error": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Error"}}, "type": "object", "required": ["db_url", "success"], "title": "DBConnTestResponse"}, "DBMetaInfoBase": {"properties": {"db_structure": {"additionalProperties": {"additionalProperties": {"$ref": "#/components/schemas/TableMetaInfoBase"}, "type": "object"}, "type": "object", "title": "Db Structure"}, "tables": {"additionalProperties": {"$ref": "#/components/schemas/TableMetaInfoBase"}, "type": "object", "title": "Tables", "readOnly": true}}, "type": "object", "required": ["db_structure", "tables"], "title": "DBMetaInfoBase"}, "DBMetaQuery": {"properties": {"syntactic_table_conditions": {"items": {"$ref": "#/components/schemas/SyntacticTableCondition"}, "type": "array", "title": "Syntactic Table Conditions"}, "semantic_table_conditions": {"items": {"$ref": "#/components/schemas/SemanticTableCondition"}, "type": "array", "title": "Semantic Table Conditions"}, "syntactic_column_conditions": {"items": {"$ref": "#/components/schemas/SyntacticColumnCondition"}, "type": "array", "title": "Syntactic Column Conditions"}, "semantic_column_conditions": {"items": {"$ref": "#/components/schemas/SemanticColumnCondition"}, "type": "array", "title": "Semantic Column Conditions"}}, "type": "object", "title": "DBMetaQuery"}, "DBProbeBase": {"properties": {"table_probes": {"additionalProperties": {"$ref": "#/components/schemas/TableProbeBase"}, "type": "object", "title": "Table Probes"}, "db_meta": {"$ref": "#/components/schemas/DBMetaInfoBase"}}, "type": "object", "required": ["db_meta"], "title": "DBProbeBase"}, "DBSchemaQueryRequest": {"properties": {"query": {"$ref": "#/components/schemas/DBMetaQuery"}, "filter_columns": {"type": "boolean", "title": "Filter Columns", "default": false}}, "type": "object", "required": ["query"], "title": "DBSchemaQueryRequest"}, "DBSchemaSelectionRequest": {"properties": {"selection": {"anyOf": [{"additionalProperties": {"items": {"type": "string"}, "type": "array", "uniqueItems": true}, "type": "object"}, {"additionalProperties": {"additionalProperties": {"items": {"type": "string"}, "type": "array", "uniqueItems": true}, "type": "object"}, "type": "object"}], "title": "Selection"}, "filter_columns": {"type": "boolean", "title": "Filter Columns", "default": false}}, "type": "object", "required": ["selection"], "title": "DBSchemaSelectionRequest"}, "DatetimeSummaryStatistics": {"properties": {"count": {"type": "integer", "title": "Count"}, "mean": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Mean"}, "min": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Min"}, "max": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Max"}, "percentile_25": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Percentile 25"}, "percentile_50": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Percentile 50"}, "percentile_75": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Percentile 75"}}, "type": "object", "required": ["count"], "title": "DatetimeSummaryStatistics"}, "ERVariant": {"type": "string", "enum": ["image", "mermaid"], "title": "ERVariant"}, "EditColumns": {"properties": {"operation": {"type": "string", "enum": ["edit_columns"], "const": "edit_columns", "title": "Operation", "default": "edit_columns"}, "transforms": {"additionalProperties": {"oneOf": [{"$ref": "#/components/schemas/CastColumn"}], "discriminator": {"propertyName": "operation", "mapping": {"cast_column": "#/components/schemas/CastColumn"}}}, "type": "object", "title": "Transforms"}, "renames": {"additionalProperties": {"type": "string"}, "type": "object", "title": "Renames"}, "drops": {"items": {"type": "string"}, "type": "array", "uniqueItems": true, "title": "Drops"}, "additions": {"additionalProperties": {"items": {"oneOf": [{"$ref": "#/components/schemas/AddColumn"}, {"$ref": "#/components/schemas/ExtractJson"}], "discriminator": {"propertyName": "operation", "mapping": {"add_column": "#/components/schemas/AddColumn", "extract_json": "#/components/schemas/ExtractJson"}}}, "type": "array"}, "type": "object", "title": "Additions"}}, "type": "object", "title": "EditColumns"}, "ExistingTable": {"properties": {"operation": {"type": "string", "enum": ["existing"], "const": "existing", "title": "Operation", "default": "existing"}, "base_table": {"anyOf": [{"$ref": "#/components/schemas/TableIdentifier"}, {"prefixItems": [{"$ref": "#/components/schemas/SourceDBType"}, {"type": "string"}, {"type": "string"}], "type": "array", "maxItems": 3, "minItems": 3}, {"prefixItems": [{"type": "string"}, {"type": "string"}], "type": "array", "maxItems": 2, "minItems": 2}], "title": "Base Table"}}, "type": "object", "required": ["base_table"], "title": "ExistingTable"}, "ExportRequest": {"properties": {"mitm": {"$ref": "#/components/schemas/MITM"}, "mapped_concepts": {"items": {"$ref": "#/components/schemas/ConceptMapping-Input"}, "type": "array", "title": "Mapped Concepts"}, "post_processing": {"anyOf": [{"$ref": "#/components/schemas/PostProcessing"}, {"type": "null"}]}, "filename": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Filename"}}, "type": "object", "required": ["mitm", "mapped_concepts"], "title": "ExportRequest"}, "ExtractJson": {"properties": {"operation": {"type": "string", "enum": ["extract_json"], "const": "extract_json", "title": "Operation", "default": "extract_json"}, "json_col": {"type": "string", "title": "Json Col"}, "attributes": {"additionalProperties": {"items": {"type": "string"}, "type": "array"}, "type": "object", "title": "Attributes"}}, "type": "object", "required": ["json_col", "attributes"], "title": "ExtractJson"}, "FKCreationResponse": {"properties": {"status": {"type": "boolean", "title": "Status"}, "error": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Error"}}, "type": "object", "required": ["status"], "title": "FKCreationResponse"}, "ForeignKeyConstraintBase": {"properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name"}, "table": {"anyOf": [{"$ref": "#/components/schemas/LocalTableIdentifier"}, {"prefixItems": [{"type": "string"}, {"type": "string"}], "type": "array", "maxItems": 2, "minItems": 2}], "title": "Table"}, "columns": {"items": {"type": "string"}, "type": "array", "title": "Columns"}, "target_table": {"anyOf": [{"$ref": "#/components/schemas/LocalTableIdentifier"}, {"prefixItems": [{"type": "string"}, {"type": "string"}], "type": "array", "maxItems": 2, "minItems": 2}], "title": "Target Table"}, "target_columns": {"items": {"type": "string"}, "type": "array", "title": "Target Columns"}}, "type": "object", "required": ["table", "columns", "target_table", "target_columns"], "title": "ForeignKeyConstraintBase"}, "ForeignKeyConstraintRequest": {"properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name"}, "table": {"anyOf": [{"$ref": "#/components/schemas/LocalTableIdentifier"}, {"prefixItems": [{"type": "string"}, {"type": "string"}], "type": "array", "maxItems": 2, "minItems": 2}], "title": "Table"}, "columns": {"items": {"type": "string"}, "type": "array", "title": "Columns"}, "target_table": {"anyOf": [{"$ref": "#/components/schemas/LocalTableIdentifier"}, {"prefixItems": [{"type": "string"}, {"type": "string"}], "type": "array", "maxItems": 2, "minItems": 2}], "title": "Target Table"}, "target_columns": {"items": {"type": "string"}, "type": "array", "title": "Target Columns"}}, "type": "object", "required": ["table", "columns", "target_table", "target_columns"], "title": "ForeignKeyConstraintRequest"}, "ForeignRelation-Input": {"properties": {"fk_columns": {"anyOf": [{"additionalProperties": {"type": "string"}, "type": "object"}, {"items": {"type": "string"}, "type": "array"}], "title": "Fk Columns"}, "referred_table": {"anyOf": [{"$ref": "#/components/schemas/TableIdentifier"}, {"prefixItems": [{"$ref": "#/components/schemas/SourceDBType"}, {"type": "string"}, {"type": "string"}], "type": "array", "maxItems": 3, "minItems": 3}, {"prefixItems": [{"type": "string"}, {"type": "string"}], "type": "array", "maxItems": 2, "minItems": 2}], "title": "Referred Table"}}, "type": "object", "required": ["fk_columns", "referred_table"], "title": "ForeignRelation"}, "ForeignRelation-Output": {"properties": {"fk_columns": {"anyOf": [{"additionalProperties": {"type": "string"}, "type": "object"}, {"items": {"type": "string"}, "type": "array"}], "title": "Fk Columns"}, "referred_table": {"anyOf": [{"$ref": "#/components/schemas/TableIdentifier"}, {"prefixItems": [{"$ref": "#/components/schemas/SourceDBType"}, {"type": "string"}, {"type": "string"}], "type": "array", "maxItems": 3, "minItems": 3}, {"prefixItems": [{"type": "string"}, {"type": "string"}], "type": "array", "maxItems": 2, "minItems": 2}], "title": "Referred Table"}}, "type": "object", "required": ["fk_columns", "referred_table"], "title": "ForeignRelation"}, "ForeignRelationInfo": {"properties": {"target_concept": {"type": "string", "title": "Target Concept"}, "fk_relations": {"additionalProperties": {"type": "string"}, "type": "object", "title": "Fk Relations"}}, "type": "object", "required": ["target_concept", "fk_relations"], "title": "ForeignRelationInfo"}, "GroupValidationResult": {"properties": {"individual_validations": {"additionalProperties": {"items": {"prefixItems": [{"$ref": "#/components/schemas/TableIdentifier"}, {"$ref": "#/components/schemas/IndividualValidationResult"}], "type": "array", "maxItems": 2, "minItems": 2}, "type": "array"}, "type": "object", "title": "Individual Validations"}, "is_valid": {"type": "boolean", "title": "Is Valid", "readOnly": true}}, "type": "object", "required": ["is_valid"], "title": "GroupValidationResult"}, "HTTPValidationError": {"properties": {"detail": {"items": {"$ref": "#/components/schemas/ValidationError"}, "type": "array", "title": "Detail"}}, "type": "object", "title": "HTTPValidationError"}, "IndividualValidationResult": {"properties": {"is_valid": {"type": "boolean", "title": "Is Valid", "default": true}, "violations": {"items": {"type": "string"}, "type": "array", "title": "Violations"}}, "type": "object", "title": "IndividualValidationResult"}, "KeepAliveResponse": {"properties": {"server_status": {"type": "string", "enum": ["available"], "const": "available", "title": "Server Status", "default": "available"}, "session_status": {"type": "string", "enum": ["missing session cookie", "session invalid", "session valid"], "title": "Session Status"}}, "type": "object", "required": ["session_status"], "title": "KeepAliveResponse"}, "Limit": {"properties": {"operation": {"type": "string", "enum": ["limit"], "const": "limit", "title": "Operation", "default": "limit"}, "limit": {"type": "integer", "title": "Limit"}}, "type": "object", "required": ["limit"], "title": "Limit"}, "LocalTableIdentifier": {"properties": {"name": {"type": "string", "title": "Name"}, "schema": {"type": "string", "title": "Schema", "default": "main"}}, "type": "object", "required": ["name"], "title": "LocalTableIdentifier"}, "MITM": {"type": "string", "enum": ["MAED"], "const": "MAED", "title": "MITM"}, "MITMDataType": {"type": "string", "enum": ["text", "json", "integer", "numeric", "boolean", "datetime", "unknown", "infer"], "title": "MITMDataType"}, "MITMDefinition": {"properties": {"main_concepts": {"items": {"type": "string"}, "type": "array", "uniqueItems": true, "title": "Main Concepts"}, "weak_concepts": {"additionalProperties": {"$ref": "#/components/schemas/MITMDataType"}, "type": "object", "title": "Weak Concepts"}, "sub_concepts": {"additionalProperties": {"items": {"type": "string"}, "type": "array", "uniqueItems": true}, "type": "object", "title": "Sub Concepts"}, "concept_relations": {"additionalProperties": {"$ref": "#/components/schemas/OwnedRelations"}, "type": "object", "title": "Concept Relations"}, "concept_properties": {"additionalProperties": {"$ref": "#/components/schemas/ConceptProperties"}, "type": "object", "title": "Concept Properties"}, "leaf_concepts": {"items": {"type": "string"}, "type": "array", "uniqueItems": true, "title": "Leaf Concepts", "readOnly": true}, "abstract_concepts": {"items": {"type": "string"}, "type": "array", "uniqueItems": true, "title": "Abstract Concepts", "readOnly": true}, "parent_concepts_map": {"additionalProperties": {"type": "string"}, "type": "object", "title": "Parent Concepts Map", "readOnly": true}}, "type": "object", "required": ["main_concepts", "weak_concepts", "sub_concepts", "concept_relations", "concept_properties", "leaf_concepts", "abstract_concepts", "parent_concepts_map"], "title": "MITMDefinition"}, "MappingGroupValidationResult": {"properties": {"evaluated_mappings": {"anyOf": [{"items": {"$ref": "#/components/schemas/ConceptMapping-Output"}, "type": "array"}, {"type": "null"}], "title": "Evaluated Mappings"}, "validation_result": {"$ref": "#/components/schemas/GroupValidationResult"}}, "type": "object", "required": ["validation_result"], "title": "MappingGroupValidationResult"}, "MitMDataTypeInfos": {"properties": {"sql_type": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Sql Type"}}, "type": "object", "required": ["sql_type"], "title": "MitMDataTypeInfos"}, "NumericSummaryStatistics": {"properties": {"count": {"type": "integer", "title": "Count"}, "mean": {"type": "number", "title": "Mean"}, "min": {"type": "number", "title": "Min"}, "max": {"type": "number", "title": "Max"}, "std": {"anyOf": [{"type": "number"}, {"type": "null"}], "title": "Std"}, "percentile_25": {"type": "number", "title": "Percentile 25"}, "percentile_50": {"type": "number", "title": "Percentile 50"}, "percentile_75": {"type": "number", "title": "Percentile 75"}}, "type": "object", "required": ["count", "mean", "min", "max", "percentile_25", "percentile_50", "percentile_75"], "title": "NumericSummaryStatistics"}, "OwnedRelations": {"properties": {"identity": {"additionalProperties": {"type": "string"}, "type": "object", "title": "Identity"}, "inline": {"additionalProperties": {"type": "string"}, "type": "object", "title": "Inline"}, "to_one": {"additionalProperties": {"$ref": "#/components/schemas/ForeignRelationInfo"}, "type": "object", "title": "To One"}, "to_many": {"additionalProperties": {"$ref": "#/components/schemas/ForeignRelationInfo"}, "type": "object", "title": "To Many"}}, "type": "object", "required": ["identity", "inline", "to_one", "to_many"], "title": "OwnedRelations"}, "PostProcessing": {"properties": {"table_postprocessing": {"items": {"$ref": "#/components/schemas/TablePostProcessing"}, "type": "array", "title": "Table Postprocessing"}}, "type": "object", "required": ["table_postprocessing"], "title": "PostProcessing"}, "PublishedMitMResponse": {"properties": {"url": {"type": "string", "maxLength": 2083, "minLength": 1, "format": "uri", "title": "Url"}, "relative_uri": {"type": "string", "title": "Relative Uri"}, "deletion_request_url": {"type": "string", "maxLength": 2083, "minLength": 1, "format": "uri", "title": "Deletion Request Url"}, "export_id": {"type": "integer", "title": "Export Id"}}, "type": "object", "required": ["url", "relative_uri", "deletion_request_url", "export_id"], "title": "PublishedMitMResponse"}, "RawCompiled": {"properties": {"operation": {"type": "string", "enum": ["raw"], "const": "raw", "title": "Operation", "default": "raw"}, "typed_query": {"$ref": "#/components/schemas/TypedRawQuery"}}, "type": "object", "required": ["typed_query"], "title": "RawCompiled"}, "ReselectColumns": {"properties": {"operation": {"type": "string", "enum": ["reselect_columns"], "const": "reselect_columns", "title": "Operation", "default": "reselect_columns"}, "selection": {"items": {"type": "string"}, "type": "array", "title": "Selection"}}, "type": "object", "required": ["selection"], "title": "ReselectColumns"}, "SampleSummary": {"properties": {"sample_size": {"anyOf": [{"type": "integer", "minimum": 0.0}, {"type": "null"}], "title": "Sample Size"}, "na_fraction": {"anyOf": [{"type": "number", "maximum": 1.0, "minimum": 0.0}, {"type": "null"}], "title": "Na Fraction"}, "unique_fraction": {"anyOf": [{"type": "number", "maximum": 1.0, "minimum": 0.0}, {"type": "null"}], "title": "Unique Fraction"}, "value_counts": {"anyOf": [{"additionalProperties": {"type": "integer"}, "type": "object"}, {"type": "null"}], "title": "Value Counts"}, "summary_statistics": {"anyOf": [{"$ref": "#/components/schemas/NumericSummaryStatistics"}, {"$ref": "#/components/schemas/CategoricalSummaryStatistics"}, {"$ref": "#/components/schemas/DatetimeSummaryStatistics"}, {"type": "null"}], "title": "Summary Statistics"}, "json_schema": {"anyOf": [{"type": "object"}, {"type": "null"}], "title": "Json Schema"}}, "type": "object", "title": "SampleSummary"}, "SemanticColumnCondition": {"properties": {"inferred_data_type": {"anyOf": [{"$ref": "#/components/schemas/MITMDataType"}, {"type": "null"}]}, "max_na_fraction": {"anyOf": [{"type": "number", "maximum": 1.0, "minimum": 0.0}, {"type": "null"}], "title": "Max Na Fraction"}, "value_in_range": {"anyOf": [{}, {"type": "null"}], "title": "Value In Range"}, "contained_value": {"anyOf": [{}, {"type": "null"}], "title": "Contained Value"}, "contained_datetime": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Contained Datetime"}}, "type": "object", "title": "SemanticColumnCondition"}, "SemanticTableCondition": {"properties": {"min_row_count": {"anyOf": [{"type": "integer", "minimum": 0.0}, {"type": "null"}], "title": "Min Row Count"}, "max_row_count": {"anyOf": [{"type": "integer", "minimum": 0.0}, {"type": "null"}], "title": "Max Row Count"}}, "type": "object", "title": "SemanticTableCondition"}, "SessionIdResponse": {"properties": {"session_id": {"type": "string", "format": "uuid", "title": "Session Id"}}, "type": "object", "required": ["session_id"], "title": "SessionIdResponse"}, "SimpleJoin": {"properties": {"operation": {"type": "string", "enum": ["join"], "const": "join", "title": "Operation", "default": "join"}, "left_table": {"anyOf": [{"$ref": "#/components/schemas/TableIdentifier"}, {"prefixItems": [{"$ref": "#/components/schemas/SourceDBType"}, {"type": "string"}, {"type": "string"}], "type": "array", "maxItems": 3, "minItems": 3}, {"prefixItems": [{"type": "string"}, {"type": "string"}], "type": "array", "maxItems": 2, "minItems": 2}], "title": "Left Table"}, "right_table": {"anyOf": [{"$ref": "#/components/schemas/TableIdentifier"}, {"prefixItems": [{"$ref": "#/components/schemas/SourceDBType"}, {"type": "string"}, {"type": "string"}], "type": "array", "maxItems": 3, "minItems": 3}, {"prefixItems": [{"type": "string"}, {"type": "string"}], "type": "array", "maxItems": 2, "minItems": 2}], "title": "Right Table"}, "on_cols_left": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "title": "On Cols Left"}, "on_cols_right": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "title": "On Cols Right"}, "is_outer": {"type": "boolean", "title": "Is Outer", "default": false}, "full": {"type": "boolean", "title": "Full", "default": false}, "selected_cols_left": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "title": "Selected Cols Left"}, "selected_cols_right": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "title": "Selected Cols Right"}, "left_alias": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Left Alias"}, "right_alias": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Right Alias"}}, "type": "object", "required": ["left_table", "right_table"], "title": "SimpleJoin"}, "SimpleSQLOperator": {"type": "string", "enum": ["ilike", "like", "=", ">=", ">", "<=", "<", "in", "notin"], "title": "SimpleSQLOperator"}, "SimpleWhere": {"properties": {"lhs": {"type": "string", "title": "Lhs"}, "operator": {"$ref": "#/components/schemas/SimpleSQLOperator"}, "rhs": {"anyOf": [{"type": "string"}, {"prefixItems": [{}, {"anyOf": [{"$ref": "#/components/schemas/WrappedMITMDataType"}, {"type": "string"}]}], "type": "array", "maxItems": 2, "minItems": 2}], "title": "Rhs"}}, "type": "object", "required": ["lhs", "operator", "rhs"], "title": "SimpleWhere"}, "SourceDBType": {"type": "string", "enum": ["original", "working", "virtual"], "title": "SourceDBType"}, "SyntacticColumnCondition": {"properties": {"name_regex": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name Regex"}, "sql_data_type": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Sql Data Type"}, "mitm_data_type": {"anyOf": [{"$ref": "#/components/schemas/MITMDataType"}, {"type": "null"}]}}, "type": "object", "title": "SyntacticColumnCondition"}, "SyntacticTableCondition": {"properties": {"schema_regex": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Schema Regex"}, "name_regex": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name Regex"}, "min_col_count": {"anyOf": [{"type": "integer", "minimum": 0.0}, {"type": "null"}], "title": "Min Col Count"}, "max_col_count": {"anyOf": [{"type": "integer", "minimum": 0.0}, {"type": "null"}], "title": "Max Col Count"}, "has_foreign_key": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Has Foreign Key"}}, "type": "object", "title": "SyntacticTableCondition"}, "TableFilter": {"properties": {"operation": {"type": "string", "enum": ["table_filter"], "const": "table_filter", "title": "Operation", "default": "table_filter"}, "wheres": {"items": {"$ref": "#/components/schemas/SimpleWhere"}, "type": "array", "title": "Wheres"}, "limit": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Limit"}}, "type": "object", "required": ["wheres"], "title": "TableFilter"}, "TableIdentifier": {"properties": {"source": {"allOf": [{"$ref": "#/components/schemas/SourceDBType"}], "default": "original"}, "schema": {"type": "string", "title": "Schema", "default": "main"}, "name": {"type": "string", "title": "Name"}}, "type": "object", "required": ["name"], "title": "TableIdentifier"}, "TableMetaInfoBase": {"properties": {"schema_name": {"type": "string", "title": "Schema Name", "default": "main"}, "name": {"type": "string", "title": "Name"}, "columns": {"items": {"type": "string"}, "type": "array", "title": "Columns"}, "sql_column_types": {"items": {"type": "string"}, "type": "array", "title": "Sql Column Types"}, "primary_key": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "title": "Primary Key"}, "indexes": {"anyOf": [{"items": {"items": {"type": "string"}, "type": "array"}, "type": "array"}, {"type": "null"}], "title": "Indexes"}, "foreign_key_constraints": {"items": {"$ref": "#/components/schemas/ForeignKeyConstraintBase"}, "type": "array", "title": "Foreign Key Constraints"}, "column_properties": {"additionalProperties": {"$ref": "#/components/schemas/ColumnProperties"}, "type": "object", "title": "Column Properties"}}, "type": "object", "required": ["name", "columns", "sql_column_types"], "title": "TableMetaInfoBase"}, "TablePostProcessing": {"properties": {"target_table": {"anyOf": [{"$ref": "#/components/schemas/TableIdentifier"}, {"prefixItems": [{"$ref": "#/components/schemas/SourceDBType"}, {"type": "string"}, {"type": "string"}], "type": "array", "maxItems": 3, "minItems": 3}, {"prefixItems": [{"type": "string"}, {"type": "string"}], "type": "array", "maxItems": 2, "minItems": 2}], "title": "Target Table"}, "transforms": {"items": {"oneOf": [{"$ref": "#/components/schemas/EditColumns"}, {"$ref": "#/components/schemas/ReselectColumns"}, {"$ref": "#/components/schemas/TableFilter"}, {"$ref": "#/components/schemas/Limit"}], "discriminator": {"propertyName": "operation", "mapping": {"edit_columns": "#/components/schemas/EditColumns", "limit": "#/components/schemas/Limit", "reselect_columns": "#/components/schemas/ReselectColumns", "table_filter": "#/components/schemas/TableFilter"}}}, "type": "array", "title": "Transforms"}}, "type": "object", "required": ["target_table", "transforms"], "title": "TablePostProcessing"}, "TableProbeBase": {"properties": {"row_count": {"type": "integer", "minimum": 0.0, "title": "Row Count"}, "inferred_types": {"additionalProperties": {"$ref": "#/components/schemas/MITMDataType"}, "type": "object", "title": "Inferred Types"}, "sample_summaries": {"additionalProperties": {"$ref": "#/components/schemas/SampleSummary"}, "type": "object", "title": "Sample Summaries"}, "table_meta": {"$ref": "#/components/schemas/TableMetaInfoBase"}, "sampled_values": {"additionalProperties": {"items": {}, "type": "array"}, "type": "object", "title": "Sampled Values"}}, "type": "object", "required": ["row_count", "inferred_types", "sample_summaries", "table_meta", "sampled_values"], "title": "TableProbeBase"}, "TableQueryResult": {"properties": {"table_info": {"anyOf": [{"$ref": "#/components/schemas/TableMetaInfoBase"}, {"type": "null"}]}, "rows": {"items": {"items": {}, "type": "array"}, "type": "array", "title": "Rows"}}, "type": "object", "required": ["table_info", "rows"], "title": "TableQueryResult"}, "TypedRawQuery": {"properties": {"dialect": {"type": "string", "title": "Dialect"}, "compiled_sql": {"type": "string", "title": "Compiled Sql"}, "columns": {"items": {"type": "string"}, "type": "array", "title": "Columns"}, "column_dtypes": {"items": {"anyOf": [{"$ref": "#/components/schemas/WrappedMITMDataType"}, {"type": "string"}]}, "type": "array", "title": "Column Dtypes"}}, "type": "object", "required": ["dialect", "compiled_sql", "columns", "column_dtypes"], "title": "TypedRawQuery"}, "ValidationError": {"properties": {"loc": {"items": {"anyOf": [{"type": "string"}, {"type": "integer"}]}, "type": "array", "title": "Location"}, "msg": {"type": "string", "title": "Message"}, "type": {"type": "string", "title": "Error Type"}}, "type": "object", "required": ["loc", "msg", "type"], "title": "ValidationError"}, "VirtualViewCreationRequest": {"properties": {"name": {"type": "string", "title": "Name"}, "table_creation": {"oneOf": [{"$ref": "#/components/schemas/SimpleJoin"}, {"$ref": "#/components/schemas/ExistingTable"}, {"$ref": "#/components/schemas/RawCompiled"}], "title": "Table Creation", "discriminator": {"propertyName": "operation", "mapping": {"existing": "#/components/schemas/ExistingTable", "join": "#/components/schemas/SimpleJoin", "raw": "#/components/schemas/RawCompiled"}}}, "transforms": {"anyOf": [{"items": {"oneOf": [{"$ref": "#/components/schemas/EditColumns"}, {"$ref": "#/components/schemas/ReselectColumns"}, {"$ref": "#/components/schemas/TableFilter"}, {"$ref": "#/components/schemas/Limit"}], "discriminator": {"propertyName": "operation", "mapping": {"edit_columns": "#/components/schemas/EditColumns", "limit": "#/components/schemas/Limit", "reselect_columns": "#/components/schemas/ReselectColumns", "table_filter": "#/components/schemas/TableFilter"}}}, "type": "array"}, {"type": "null"}], "title": "Transforms"}, "schema": {"type": "string", "title": "Schema", "default": "virtual"}}, "type": "object", "required": ["name", "table_creation"], "title": "VirtualViewCreationRequest"}, "VirtualViewResponse": {"properties": {"table_meta": {"$ref": "#/components/schemas/TableMetaInfoBase"}}, "type": "object", "required": ["table_meta"], "title": "VirtualViewResponse"}, "WrappedMITMDataType": {"properties": {"mitm": {"$ref": "#/components/schemas/MITMDataType"}}, "type": "object", "required": ["mitm"], "title": "WrappedMITMDataType"}}}} \ No newline at end of file +{ + "openapi": "3.1.0", + "info": { + "title": "MitMExtractorBackend", + "version": "0.1.0" + }, + "paths": { + "/admin/clear-sessions": { + "post": { + "tags": [ + "admin" + ], + "summary": "Clear Sessions", + "operationId": "clear_sessions", + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + } + } + } + }, + "/admin/active-sessions": { + "get": { + "tags": [ + "admin" + ], + "summary": "Get Active Sessions", + "operationId": "get_active_sessions", + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "additionalProperties": { + "type": "string", + "format": "date-time" + }, + "type": "object", + "title": "Response Get Active Sessions Admin Active Sessions Get" + } + } + } + } + } + } + }, + "/admin/clear-exports": { + "post": { + "tags": [ + "admin" + ], + "summary": "Clear Exports", + "operationId": "clear_exports", + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + } + } + } + }, + "/definitions/mitms": { + "get": { + "tags": [ + "definitions" + ], + "summary": "Get Mitms", + "operationId": "get_mitms", + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/MITM" + }, + "type": "array", + "title": "Response Get Mitms Definitions Mitms Get" + } + } + } + } + } + } + }, + "/definitions/mitm-definition": { + "get": { + "tags": [ + "definitions" + ], + "summary": "Get Mitm Definition", + "operationId": "get_mitm_definition", + "parameters": [ + { + "name": "mitm", + "in": "query", + "required": true, + "schema": { + "$ref": "#/components/schemas/MITM" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MITMDefinition" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/definitions/mitm-data-types": { + "get": { + "tags": [ + "definitions" + ], + "summary": "Get Mitm Data Types", + "operationId": "get_mitm_data_types", + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "additionalProperties": { + "$ref": "#/components/schemas/MitMDataTypeInfos" + }, + "type": "object", + "title": "Response Get Mitm Data Types Definitions Mitm Data Types Get" + } + } + } + } + } + } + }, + "/session/start-session": { + "post": { + "tags": [ + "session" + ], + "summary": "Start Session", + "operationId": "start_session", + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SessionIdResponse" + } + } + } + } + } + } + }, + "/session/get-session": { + "get": { + "tags": [ + "session" + ], + "summary": "Get Session", + "operationId": "get_session", + "parameters": [ + { + "name": "simple_session", + "in": "cookie", + "required": true, + "schema": { + "type": "string", + "title": "Simple Session" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SessionIdResponse" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/session/stop-session": { + "post": { + "tags": [ + "session" + ], + "summary": "Stop Session", + "operationId": "stop_session", + "parameters": [ + { + "name": "simple_session", + "in": "cookie", + "required": true, + "schema": { + "type": "string", + "title": "Simple Session" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/session/upload-db": { + "post": { + "tags": [ + "session" + ], + "summary": "Upload Db", + "operationId": "upload_db", + "parameters": [ + { + "name": "simple_session", + "in": "cookie", + "required": true, + "schema": { + "type": "string", + "title": "Simple Session" + } + } + ], + "requestBody": { + "required": true, + "content": { + "multipart/form-data": { + "schema": { + "$ref": "#/components/schemas/Body_upload_db_session_upload_db_post" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/session/connect-db": { + "post": { + "tags": [ + "session" + ], + "summary": "Connect Db", + "operationId": "connect_db", + "parameters": [ + { + "name": "simple_session", + "in": "cookie", + "required": true, + "schema": { + "type": "string", + "title": "Simple Session" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Body_connect_db_session_connect_db_post" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/session/test-db-conn": { + "get": { + "tags": [ + "session" + ], + "summary": "Test Db Conn", + "operationId": "test_db_conn", + "parameters": [ + { + "name": "simple_session", + "in": "cookie", + "required": true, + "schema": { + "type": "string", + "title": "Simple Session" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DBConnTestResponse" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/session/keep-alive": { + "get": { + "tags": [ + "session" + ], + "summary": "Keep Alive", + "operationId": "keep_alive", + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/KeepAliveResponse" + } + } + } + } + } + } + }, + "/control/reflect-db": { + "post": { + "tags": [ + "control" + ], + "summary": "Reflect Db", + "operationId": "reflect_db", + "parameters": [ + { + "name": "simple_session", + "in": "cookie", + "required": true, + "schema": { + "type": "string", + "title": "Simple Session" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/control/init-working-db": { + "post": { + "tags": [ + "control" + ], + "summary": "Init Working Db", + "operationId": "init_working_db", + "parameters": [ + { + "name": "simple_session", + "in": "cookie", + "required": true, + "schema": { + "type": "string", + "title": "Simple Session" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/control/mark-foreign-key": { + "post": { + "tags": [ + "control" + ], + "summary": "Mark Foreign Key", + "operationId": "mark_foreign_key", + "parameters": [ + { + "name": "source", + "in": "query", + "required": false, + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/SourceDBType" + } + ], + "default": "original", + "title": "Source" + } + }, + { + "name": "simple_session", + "in": "cookie", + "required": true, + "schema": { + "type": "string", + "title": "Simple Session" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ForeignKeyConstraintRequest" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FKCreationResponse" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/control/virtual-view": { + "put": { + "tags": [ + "control" + ], + "summary": "Create Virtual View", + "operationId": "create_virtual_view", + "parameters": [ + { + "name": "override_if_exists", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": true, + "title": "Override If Exists" + } + }, + { + "name": "verify_immediately", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": true, + "title": "Verify Immediately" + } + }, + { + "name": "simple_session", + "in": "cookie", + "required": true, + "schema": { + "type": "string", + "title": "Simple Session" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VirtualViewCreationRequest" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VirtualViewResponse" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + }, + "get": { + "tags": [ + "control" + ], + "summary": "Get Virtual View", + "operationId": "get_virtual_view", + "parameters": [ + { + "name": "view", + "in": "query", + "required": true, + "schema": { + "type": "string", + "title": "View" + } + }, + { + "name": "schema", + "in": "query", + "required": false, + "schema": { + "type": "string", + "default": "virtual", + "title": "Schema" + } + }, + { + "name": "simple_session", + "in": "cookie", + "required": true, + "schema": { + "type": "string", + "title": "Simple Session" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VirtualViewResponse" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + }, + "delete": { + "tags": [ + "control" + ], + "summary": "Drop Virtual View", + "operationId": "drop_virtual_view", + "parameters": [ + { + "name": "view", + "in": "query", + "required": true, + "schema": { + "type": "string", + "title": "View" + } + }, + { + "name": "schema", + "in": "query", + "required": false, + "schema": { + "type": "string", + "default": "virtual", + "title": "Schema" + } + }, + { + "name": "simple_session", + "in": "cookie", + "required": true, + "schema": { + "type": "string", + "title": "Simple Session" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/control/virtual-views": { + "get": { + "tags": [ + "control" + ], + "summary": "Get Virtual Views", + "operationId": "get_virtual_views", + "parameters": [ + { + "name": "simple_session", + "in": "cookie", + "required": true, + "schema": { + "type": "string", + "title": "Simple Session" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VirtualViewResponse" + }, + "title": "Response Get Virtual Views Control Virtual Views Get" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/control/compiled-virtual-view": { + "get": { + "tags": [ + "control" + ], + "summary": "Get Compiled Virtual View", + "operationId": "get_compiled_virtual_view", + "parameters": [ + { + "name": "view", + "in": "query", + "required": true, + "schema": { + "type": "string", + "title": "View" + } + }, + { + "name": "schema", + "in": "query", + "required": false, + "schema": { + "type": "string", + "default": "virtual", + "title": "Schema" + } + }, + { + "name": "simple_session", + "in": "cookie", + "required": true, + "schema": { + "type": "string", + "title": "Simple Session" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CompiledVirtualView" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/control/compiled-virtual-views": { + "get": { + "tags": [ + "control" + ], + "summary": "Get Compiled Virtual Views", + "operationId": "get_compiled_virtual_views", + "parameters": [ + { + "name": "simple_session", + "in": "cookie", + "required": true, + "schema": { + "type": "string", + "title": "Simple Session" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CompiledVirtualView" + }, + "title": "Response Get Compiled Virtual Views Control Compiled Virtual Views Get" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/control/virtual-views-batch": { + "put": { + "tags": [ + "control" + ], + "summary": "Create Virtual Views Batch", + "operationId": "create_virtual_views_batch", + "parameters": [ + { + "name": "override_if_exists", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": true, + "title": "Override If Exists" + } + }, + { + "name": "simple_session", + "in": "cookie", + "required": true, + "schema": { + "type": "string", + "title": "Simple Session" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VirtualViewCreationRequest" + }, + "title": "Requests" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VirtualViewResponse" + }, + "title": "Response Create Virtual Views Batch Control Virtual Views Batch Put" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/data/raw-query": { + "post": { + "tags": [ + "data" + ], + "summary": "Raw Query", + "operationId": "raw_query", + "parameters": [ + { + "name": "simple_session", + "in": "cookie", + "required": true, + "schema": { + "type": "string", + "title": "Simple Session" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Body_raw_query_data_raw_query_post" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "array", + "items": {} + }, + "title": "Response Raw Query Data Raw Query Post" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/data/query-table": { + "get": { + "tags": [ + "data" + ], + "summary": "Query Table", + "operationId": "query_table", + "parameters": [ + { + "name": "table", + "in": "query", + "required": true, + "schema": { + "type": "string", + "title": "Table" + } + }, + { + "name": "schema", + "in": "query", + "required": false, + "schema": { + "type": "string", + "default": "main", + "title": "Schema" + } + }, + { + "name": "source", + "in": "query", + "required": false, + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/SourceDBType" + } + ], + "default": "original", + "title": "Source" + } + }, + { + "name": "offset", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Offset" + } + }, + { + "name": "limit", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Limit" + } + }, + { + "name": "include_table_meta", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": false, + "title": "Include Table Meta" + } + }, + { + "name": "simple_session", + "in": "cookie", + "required": true, + "schema": { + "type": "string", + "title": "Simple Session" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TableQueryResult" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/data/query-unique-values": { + "get": { + "tags": [ + "data" + ], + "summary": "Query Unique Values", + "operationId": "query_unique_values", + "parameters": [ + { + "name": "table", + "in": "query", + "required": true, + "schema": { + "type": "string", + "title": "Table" + } + }, + { + "name": "column", + "in": "query", + "required": true, + "schema": { + "type": "string", + "title": "Column" + } + }, + { + "name": "schema", + "in": "query", + "required": false, + "schema": { + "type": "string", + "default": "main", + "title": "Schema" + } + }, + { + "name": "source", + "in": "query", + "required": false, + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/SourceDBType" + } + ], + "default": "original", + "title": "Source" + } + }, + { + "name": "simple_session", + "in": "cookie", + "required": true, + "schema": { + "type": "string", + "title": "Simple Session" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": {}, + "title": "Response Query Unique Values Data Query Unique Values Get" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/data/er-diagram": { + "get": { + "tags": [ + "data" + ], + "summary": "Make Erd", + "operationId": "make_erd", + "parameters": [ + { + "name": "version", + "in": "query", + "required": false, + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ERVariant" + } + ], + "default": "mermaid", + "title": "Version" + } + }, + { + "name": "source", + "in": "query", + "required": false, + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/SourceDBType" + } + ], + "default": "original", + "title": "Source" + } + }, + { + "name": "simple_session", + "in": "cookie", + "required": true, + "schema": { + "type": "string", + "title": "Simple Session" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/data/filtered-er-diagram": { + "post": { + "tags": [ + "data" + ], + "summary": "Make Filtered Erd", + "operationId": "make_filtered_erd", + "parameters": [ + { + "name": "version", + "in": "query", + "required": false, + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ERVariant" + } + ], + "default": "mermaid", + "title": "Version" + } + }, + { + "name": "source", + "in": "query", + "required": false, + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/SourceDBType" + } + ], + "default": "original", + "title": "Source" + } + }, + { + "name": "simple_session", + "in": "cookie", + "required": true, + "schema": { + "type": "string", + "title": "Simple Session" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DBSchemaSelectionRequest" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/reflection/table-schema": { + "get": { + "tags": [ + "reflection" + ], + "summary": "Get Table Schema", + "operationId": "get_table_schema", + "parameters": [ + { + "name": "table", + "in": "query", + "required": true, + "schema": { + "type": "string", + "title": "Table" + } + }, + { + "name": "schema", + "in": "query", + "required": false, + "schema": { + "type": "string", + "default": "main", + "title": "Schema" + } + }, + { + "name": "source", + "in": "query", + "required": false, + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/SourceDBType" + } + ], + "default": "original", + "title": "Source" + } + }, + { + "name": "simple_session", + "in": "cookie", + "required": true, + "schema": { + "type": "string", + "title": "Simple Session" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TableMetaInfoBase" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/reflection/db-schema": { + "get": { + "tags": [ + "reflection" + ], + "summary": "Get Db Schema", + "operationId": "get_db_schema", + "parameters": [ + { + "name": "source", + "in": "query", + "required": false, + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/SourceDBType" + } + ], + "default": "original", + "title": "Source" + } + }, + { + "name": "simple_session", + "in": "cookie", + "required": true, + "schema": { + "type": "string", + "title": "Simple Session" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DBMetaInfoBase" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/reflection/filter-db-schema": { + "post": { + "tags": [ + "reflection" + ], + "summary": "Filter Db Schema", + "operationId": "filter_db_schema", + "parameters": [ + { + "name": "source", + "in": "query", + "required": false, + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/SourceDBType" + } + ], + "default": "original", + "title": "Source" + } + }, + { + "name": "simple_session", + "in": "cookie", + "required": true, + "schema": { + "type": "string", + "title": "Simple Session" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DBSchemaSelectionRequest" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DBMetaInfoBase" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/reflection/query-db-schema": { + "post": { + "tags": [ + "reflection" + ], + "summary": "Query Db Schema", + "operationId": "query_db_schema", + "parameters": [ + { + "name": "store_intermediate_table_probes", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": true, + "title": "Store Intermediate Table Probes" + } + }, + { + "name": "source", + "in": "query", + "required": false, + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/SourceDBType" + } + ], + "default": "original", + "title": "Source" + } + }, + { + "name": "simple_session", + "in": "cookie", + "required": true, + "schema": { + "type": "string", + "title": "Simple Session" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DBSchemaQueryRequest" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DBMetaInfoBase" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/reflection/suggest-joins": { + "get": { + "tags": [ + "reflection" + ], + "summary": "Suggest Joins", + "operationId": "suggest_joins", + "parameters": [ + { + "name": "table", + "in": "query", + "required": true, + "schema": { + "type": "string", + "title": "Table" + } + }, + { + "name": "schema", + "in": "query", + "required": false, + "schema": { + "type": "string", + "default": "main", + "title": "Schema" + } + }, + { + "name": "source", + "in": "query", + "required": false, + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/SourceDBType" + } + ], + "default": "original", + "title": "Source" + } + }, + { + "name": "simple_session", + "in": "cookie", + "required": true, + "schema": { + "type": "string", + "title": "Simple Session" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "array", + "prefixItems": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "minItems": 2, + "maxItems": 2 + }, + "title": "Response Suggest Joins Reflection Suggest Joins Get" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/reflection/probe-table": { + "post": { + "tags": [ + "reflection" + ], + "summary": "Probe Table", + "operationId": "probe_table", + "parameters": [ + { + "name": "table", + "in": "query", + "required": true, + "schema": { + "type": "string", + "title": "Table" + } + }, + { + "name": "schema", + "in": "query", + "required": false, + "schema": { + "type": "string", + "default": "main", + "title": "Schema" + } + }, + { + "name": "source", + "in": "query", + "required": false, + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/SourceDBType" + } + ], + "default": "original", + "title": "Source" + } + }, + { + "name": "sample_size", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "default": 100, + "title": "Sample Size" + } + }, + { + "name": "override_if_exists", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": false, + "title": "Override If Exists" + } + }, + { + "name": "store_results", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": true, + "title": "Store Results" + } + }, + { + "name": "simple_session", + "in": "cookie", + "required": true, + "schema": { + "type": "string", + "title": "Simple Session" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TableProbeBase" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/reflection/probe-db": { + "post": { + "tags": [ + "reflection" + ], + "summary": "Probe Db", + "operationId": "probe_db", + "parameters": [ + { + "name": "source", + "in": "query", + "required": false, + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/SourceDBType" + } + ], + "default": "original", + "title": "Source" + } + }, + { + "name": "sample_size", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "default": 100, + "title": "Sample Size" + } + }, + { + "name": "override_if_exists", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": false, + "title": "Override If Exists" + } + }, + { + "name": "store_results", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": true, + "title": "Store Results" + } + }, + { + "name": "simple_session", + "in": "cookie", + "required": true, + "schema": { + "type": "string", + "title": "Simple Session" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "title": "Table Selection" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DBProbeBase" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/mitm/validate-concept-mappings": { + "post": { + "tags": [ + "mitm" + ], + "summary": "Validate Concept Mappings", + "operationId": "validate_concept_mappings", + "parameters": [ + { + "name": "include_request", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": false, + "title": "Include Request" + } + }, + { + "name": "simple_session", + "in": "cookie", + "required": true, + "schema": { + "type": "string", + "title": "Simple Session" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConceptMapping-Input" + }, + "title": "Concept Mappings" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MappingGroupValidationResult" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/mitm/export-mitm": { + "post": { + "tags": [ + "mitm" + ], + "summary": "Export Mitm", + "operationId": "export_mitm", + "parameters": [ + { + "name": "simple_session", + "in": "cookie", + "required": true, + "schema": { + "type": "string", + "title": "Simple Session" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ExportRequest" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response" + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/mitm/publish-mitm-export": { + "post": { + "tags": [ + "mitm" + ], + "summary": "Publish Mitm Export", + "operationId": "publish_mitm_export", + "parameters": [ + { + "name": "simple_session", + "in": "cookie", + "required": true, + "schema": { + "type": "string", + "title": "Simple Session" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ExportRequest" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PublishedMitMResponse" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/mitm/delete-mitm-export": { + "post": { + "tags": [ + "mitm" + ], + "summary": "Delete Mitm Export", + "operationId": "delete_mitm_export", + "parameters": [ + { + "name": "export_id", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "title": "Export Id" + } + }, + { + "name": "simple_session", + "in": "cookie", + "required": true, + "schema": { + "type": "string", + "title": "Simple Session" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/mitm/delete-mitm-exports": { + "post": { + "tags": [ + "mitm" + ], + "summary": "Delete Mitm Exports", + "operationId": "delete_mitm_exports", + "parameters": [ + { + "name": "simple_session", + "in": "cookie", + "required": true, + "schema": { + "type": "string", + "title": "Simple Session" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/": { + "get": { + "summary": "Root", + "operationId": "root", + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + } + } + } + } + }, + "components": { + "schemas": { + "AddColumn": { + "properties": { + "operation": { + "type": "string", + "enum": [ + "add_column" + ], + "const": "add_column", + "title": "Operation", + "default": "add_column" + }, + "col_name": { + "type": "string", + "title": "Col Name" + }, + "value": { + "title": "Value" + }, + "target_type": { + "anyOf": [ + { + "$ref": "#/components/schemas/WrappedMITMDataType" + }, + { + "type": "string" + } + ], + "title": "Target Type" + } + }, + "type": "object", + "required": [ + "col_name", + "value", + "target_type" + ], + "title": "AddColumn" + }, + "Body_connect_db_session_connect_db_post": { + "properties": { + "db_url": { + "type": "string", + "minLength": 1, + "format": "uri", + "title": "Db Url" + } + }, + "type": "object", + "required": [ + "db_url" + ], + "title": "Body_connect_db_session_connect_db_post" + }, + "Body_raw_query_data_raw_query_post": { + "properties": { + "query": { + "type": "string", + "title": "Query" + } + }, + "type": "object", + "required": [ + "query" + ], + "title": "Body_raw_query_data_raw_query_post" + }, + "Body_upload_db_session_upload_db_post": { + "properties": { + "sqlite": { + "type": "string", + "format": "binary", + "title": "Sqlite", + "description": "Upload a sqlite db file here." + } + }, + "type": "object", + "required": [ + "sqlite" + ], + "title": "Body_upload_db_session_upload_db_post" + }, + "CastColumn": { + "properties": { + "operation": { + "type": "string", + "enum": [ + "cast_column" + ], + "const": "cast_column", + "title": "Operation", + "default": "cast_column" + }, + "target_type": { + "anyOf": [ + { + "$ref": "#/components/schemas/WrappedMITMDataType" + }, + { + "type": "string" + } + ], + "title": "Target Type" + } + }, + "type": "object", + "required": [ + "target_type" + ], + "title": "CastColumn" + }, + "CategoricalSummaryStatistics": { + "properties": { + "count": { + "type": "integer", + "minimum": 0.0, + "title": "Count" + }, + "unique": { + "type": "integer", + "minimum": 0.0, + "title": "Unique" + }, + "top": { + "type": "string", + "title": "Top" + }, + "freq": { + "type": "integer", + "minimum": 0.0, + "title": "Freq" + } + }, + "type": "object", + "required": [ + "count", + "unique", + "top", + "freq" + ], + "title": "CategoricalSummaryStatistics" + }, + "ColumnProperties": { + "properties": { + "nullable": { + "type": "boolean", + "title": "Nullable" + }, + "unique": { + "type": "boolean", + "title": "Unique" + }, + "part_of_pk": { + "type": "boolean", + "title": "Part Of Pk" + }, + "part_of_fk": { + "type": "boolean", + "title": "Part Of Fk" + }, + "part_of_index": { + "type": "boolean", + "title": "Part Of Index" + }, + "mitm_data_type": { + "$ref": "#/components/schemas/MITMDataType" + } + }, + "type": "object", + "required": [ + "nullable", + "unique", + "part_of_pk", + "part_of_fk", + "part_of_index", + "mitm_data_type" + ], + "title": "ColumnProperties" + }, + "CompiledVirtualView": { + "properties": { + "dialect": { + "type": "string", + "title": "Dialect" + }, + "compiled_sql": { + "type": "string", + "title": "Compiled Sql" + }, + "columns": { + "items": { + "type": "string" + }, + "type": "array", + "title": "Columns" + }, + "column_dtypes": { + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/WrappedMITMDataType" + }, + { + "type": "string" + } + ] + }, + "type": "array", + "title": "Column Dtypes" + }, + "name": { + "type": "string", + "title": "Name" + }, + "schema_name": { + "type": "string", + "title": "Schema Name" + } + }, + "type": "object", + "required": [ + "dialect", + "compiled_sql", + "columns", + "column_dtypes", + "name", + "schema_name" + ], + "title": "CompiledVirtualView" + }, + "ConceptKind": { + "type": "string", + "enum": [ + "concrete", + "abstract" + ], + "title": "ConceptKind" + }, + "ConceptLevel": { + "type": "string", + "enum": [ + "main", + "sub", + "weak" + ], + "title": "ConceptLevel" + }, + "ConceptMapping-Input": { + "properties": { + "mitm": { + "$ref": "#/components/schemas/MITM" + }, + "concept": { + "type": "string", + "title": "Concept" + }, + "base_table": { + "anyOf": [ + { + "$ref": "#/components/schemas/TableIdentifier" + }, + { + "prefixItems": [ + { + "$ref": "#/components/schemas/SourceDBType" + }, + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array", + "maxItems": 3, + "minItems": 3 + }, + { + "prefixItems": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array", + "maxItems": 2, + "minItems": 2 + } + ], + "title": "Base Table" + }, + "kind_col": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Kind Col" + }, + "type_col": { + "type": "string", + "title": "Type Col" + }, + "identity_columns": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "items": { + "type": "string" + }, + "type": "array" + } + ], + "title": "Identity Columns" + }, + "inline_relations": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "items": { + "type": "string" + }, + "type": "array" + } + ], + "title": "Inline Relations" + }, + "foreign_relations": { + "additionalProperties": { + "$ref": "#/components/schemas/ForeignRelation-Input" + }, + "type": "object", + "title": "Foreign Relations" + }, + "attributes": { + "items": { + "type": "string" + }, + "type": "array", + "title": "Attributes" + }, + "attribute_dtypes": { + "items": { + "$ref": "#/components/schemas/MITMDataType" + }, + "type": "array", + "title": "Attribute Dtypes" + } + }, + "type": "object", + "required": [ + "mitm", + "concept", + "base_table", + "type_col" + ], + "title": "ConceptMapping" + }, + "ConceptMapping-Output": { + "properties": { + "mitm": { + "$ref": "#/components/schemas/MITM" + }, + "concept": { + "type": "string", + "title": "Concept" + }, + "base_table": { + "anyOf": [ + { + "$ref": "#/components/schemas/TableIdentifier" + }, + { + "prefixItems": [ + { + "$ref": "#/components/schemas/SourceDBType" + }, + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array", + "maxItems": 3, + "minItems": 3 + }, + { + "prefixItems": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array", + "maxItems": 2, + "minItems": 2 + } + ], + "title": "Base Table" + }, + "kind_col": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Kind Col" + }, + "type_col": { + "type": "string", + "title": "Type Col" + }, + "identity_columns": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "items": { + "type": "string" + }, + "type": "array" + } + ], + "title": "Identity Columns" + }, + "inline_relations": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "items": { + "type": "string" + }, + "type": "array" + } + ], + "title": "Inline Relations" + }, + "foreign_relations": { + "additionalProperties": { + "$ref": "#/components/schemas/ForeignRelation-Output" + }, + "type": "object", + "title": "Foreign Relations" + }, + "attributes": { + "items": { + "type": "string" + }, + "type": "array", + "title": "Attributes" + }, + "attribute_dtypes": { + "items": { + "$ref": "#/components/schemas/MITMDataType" + }, + "type": "array", + "title": "Attribute Dtypes" + } + }, + "type": "object", + "required": [ + "mitm", + "concept", + "base_table", + "type_col" + ], + "title": "ConceptMapping" + }, + "ConceptProperties": { + "properties": { + "nature": { + "prefixItems": [ + { + "$ref": "#/components/schemas/ConceptLevel" + }, + { + "$ref": "#/components/schemas/ConceptKind" + } + ], + "type": "array", + "maxItems": 2, + "minItems": 2, + "title": "Nature" + }, + "key": { + "type": "string", + "title": "Key" + }, + "plural": { + "type": "string", + "title": "Plural" + }, + "typing_concept": { + "type": "string", + "title": "Typing Concept", + "default": "type" + }, + "column_group_ordering": { + "items": { + "type": "string", + "enum": [ + "kind", + "type", + "identity-relations", + "inline-relations", + "foreign-relations", + "attributes" + ] + }, + "type": "array", + "title": "Column Group Ordering", + "default": [ + "kind", + "type", + "identity-relations", + "inline-relations", + "foreign-relations", + "attributes" + ] + }, + "permit_attributes": { + "type": "boolean", + "title": "Permit Attributes", + "default": true + } + }, + "type": "object", + "required": [ + "nature", + "key", + "plural" + ], + "title": "ConceptProperties" + }, + "DBConnTestResponse": { + "properties": { + "db_url": { + "type": "string", + "minLength": 1, + "format": "uri", + "title": "Db Url" + }, + "success": { + "type": "boolean", + "title": "Success" + }, + "error": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Error" + } + }, + "type": "object", + "required": [ + "db_url", + "success" + ], + "title": "DBConnTestResponse" + }, + "DBMetaInfoBase": { + "properties": { + "db_structure": { + "additionalProperties": { + "additionalProperties": { + "$ref": "#/components/schemas/TableMetaInfoBase" + }, + "type": "object" + }, + "type": "object", + "title": "Db Structure" + }, + "tables": { + "additionalProperties": { + "$ref": "#/components/schemas/TableMetaInfoBase" + }, + "type": "object", + "title": "Tables", + "readOnly": true + } + }, + "type": "object", + "required": [ + "db_structure", + "tables" + ], + "title": "DBMetaInfoBase" + }, + "DBMetaQuery": { + "properties": { + "syntactic_table_conditions": { + "items": { + "$ref": "#/components/schemas/SyntacticTableCondition" + }, + "type": "array", + "title": "Syntactic Table Conditions" + }, + "semantic_table_conditions": { + "items": { + "$ref": "#/components/schemas/SemanticTableCondition" + }, + "type": "array", + "title": "Semantic Table Conditions" + }, + "syntactic_column_conditions": { + "items": { + "$ref": "#/components/schemas/SyntacticColumnCondition" + }, + "type": "array", + "title": "Syntactic Column Conditions" + }, + "semantic_column_conditions": { + "items": { + "$ref": "#/components/schemas/SemanticColumnCondition" + }, + "type": "array", + "title": "Semantic Column Conditions" + } + }, + "type": "object", + "title": "DBMetaQuery" + }, + "DBProbeBase": { + "properties": { + "table_probes": { + "additionalProperties": { + "$ref": "#/components/schemas/TableProbeBase" + }, + "type": "object", + "title": "Table Probes" + }, + "db_meta": { + "$ref": "#/components/schemas/DBMetaInfoBase" + } + }, + "type": "object", + "required": [ + "db_meta" + ], + "title": "DBProbeBase" + }, + "DBSchemaQueryRequest": { + "properties": { + "query": { + "$ref": "#/components/schemas/DBMetaQuery" + }, + "filter_columns": { + "type": "boolean", + "title": "Filter Columns", + "default": false + } + }, + "type": "object", + "required": [ + "query" + ], + "title": "DBSchemaQueryRequest" + }, + "DBSchemaSelectionRequest": { + "properties": { + "selection": { + "anyOf": [ + { + "additionalProperties": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "type": "object" + }, + { + "additionalProperties": { + "additionalProperties": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "type": "object" + }, + "type": "object" + } + ], + "title": "Selection" + }, + "filter_columns": { + "type": "boolean", + "title": "Filter Columns", + "default": false + } + }, + "type": "object", + "required": [ + "selection" + ], + "title": "DBSchemaSelectionRequest" + }, + "DatetimeSummaryStatistics": { + "properties": { + "count": { + "type": "integer", + "title": "Count" + }, + "mean": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ], + "title": "Mean" + }, + "min": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ], + "title": "Min" + }, + "max": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ], + "title": "Max" + }, + "percentile_25": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ], + "title": "Percentile 25" + }, + "percentile_50": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ], + "title": "Percentile 50" + }, + "percentile_75": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ], + "title": "Percentile 75" + } + }, + "type": "object", + "required": [ + "count" + ], + "title": "DatetimeSummaryStatistics" + }, + "ERVariant": { + "type": "string", + "enum": [ + "image", + "mermaid" + ], + "title": "ERVariant" + }, + "EditColumns": { + "properties": { + "operation": { + "type": "string", + "enum": [ + "edit_columns" + ], + "const": "edit_columns", + "title": "Operation", + "default": "edit_columns" + }, + "transforms": { + "additionalProperties": { + "oneOf": [ + { + "$ref": "#/components/schemas/CastColumn" + } + ], + "discriminator": { + "propertyName": "operation", + "mapping": { + "cast_column": "#/components/schemas/CastColumn" + } + } + }, + "type": "object", + "title": "Transforms" + }, + "renames": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "title": "Renames" + }, + "drops": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true, + "title": "Drops" + }, + "additions": { + "additionalProperties": { + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/AddColumn" + }, + { + "$ref": "#/components/schemas/ExtractJson" + } + ], + "discriminator": { + "propertyName": "operation", + "mapping": { + "add_column": "#/components/schemas/AddColumn", + "extract_json": "#/components/schemas/ExtractJson" + } + } + }, + "type": "array" + }, + "type": "object", + "title": "Additions" + } + }, + "type": "object", + "title": "EditColumns" + }, + "ExistingTable": { + "properties": { + "operation": { + "type": "string", + "enum": [ + "existing" + ], + "const": "existing", + "title": "Operation", + "default": "existing" + }, + "base_table": { + "anyOf": [ + { + "$ref": "#/components/schemas/TableIdentifier" + }, + { + "prefixItems": [ + { + "$ref": "#/components/schemas/SourceDBType" + }, + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array", + "maxItems": 3, + "minItems": 3 + }, + { + "prefixItems": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array", + "maxItems": 2, + "minItems": 2 + } + ], + "title": "Base Table" + } + }, + "type": "object", + "required": [ + "base_table" + ], + "title": "ExistingTable" + }, + "ExportRequest": { + "properties": { + "mitm": { + "$ref": "#/components/schemas/MITM" + }, + "mapped_concepts": { + "items": { + "$ref": "#/components/schemas/ConceptMapping-Input" + }, + "type": "array", + "title": "Mapped Concepts" + }, + "post_processing": { + "anyOf": [ + { + "$ref": "#/components/schemas/PostProcessing" + }, + { + "type": "null" + } + ] + }, + "filename": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Filename" + } + }, + "type": "object", + "required": [ + "mitm", + "mapped_concepts" + ], + "title": "ExportRequest" + }, + "ExtractJson": { + "properties": { + "operation": { + "type": "string", + "enum": [ + "extract_json" + ], + "const": "extract_json", + "title": "Operation", + "default": "extract_json" + }, + "json_col": { + "type": "string", + "title": "Json Col" + }, + "attributes": { + "additionalProperties": { + "items": { + "type": "string" + }, + "type": "array" + }, + "type": "object", + "title": "Attributes" + } + }, + "type": "object", + "required": [ + "json_col", + "attributes" + ], + "title": "ExtractJson" + }, + "FKCreationResponse": { + "properties": { + "status": { + "type": "boolean", + "title": "Status" + }, + "error": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Error" + } + }, + "type": "object", + "required": [ + "status" + ], + "title": "FKCreationResponse" + }, + "ForeignKeyConstraintBase": { + "properties": { + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Name" + }, + "table": { + "anyOf": [ + { + "$ref": "#/components/schemas/LocalTableIdentifier" + }, + { + "prefixItems": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array", + "maxItems": 2, + "minItems": 2 + } + ], + "title": "Table" + }, + "columns": { + "items": { + "type": "string" + }, + "type": "array", + "title": "Columns" + }, + "target_table": { + "anyOf": [ + { + "$ref": "#/components/schemas/LocalTableIdentifier" + }, + { + "prefixItems": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array", + "maxItems": 2, + "minItems": 2 + } + ], + "title": "Target Table" + }, + "target_columns": { + "items": { + "type": "string" + }, + "type": "array", + "title": "Target Columns" + } + }, + "type": "object", + "required": [ + "table", + "columns", + "target_table", + "target_columns" + ], + "title": "ForeignKeyConstraintBase" + }, + "ForeignKeyConstraintRequest": { + "properties": { + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Name" + }, + "table": { + "anyOf": [ + { + "$ref": "#/components/schemas/LocalTableIdentifier" + }, + { + "prefixItems": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array", + "maxItems": 2, + "minItems": 2 + } + ], + "title": "Table" + }, + "columns": { + "items": { + "type": "string" + }, + "type": "array", + "title": "Columns" + }, + "target_table": { + "anyOf": [ + { + "$ref": "#/components/schemas/LocalTableIdentifier" + }, + { + "prefixItems": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array", + "maxItems": 2, + "minItems": 2 + } + ], + "title": "Target Table" + }, + "target_columns": { + "items": { + "type": "string" + }, + "type": "array", + "title": "Target Columns" + } + }, + "type": "object", + "required": [ + "table", + "columns", + "target_table", + "target_columns" + ], + "title": "ForeignKeyConstraintRequest" + }, + "ForeignRelation-Input": { + "properties": { + "fk_columns": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "items": { + "type": "string" + }, + "type": "array" + } + ], + "title": "Fk Columns" + }, + "referred_table": { + "anyOf": [ + { + "$ref": "#/components/schemas/TableIdentifier" + }, + { + "prefixItems": [ + { + "$ref": "#/components/schemas/SourceDBType" + }, + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array", + "maxItems": 3, + "minItems": 3 + }, + { + "prefixItems": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array", + "maxItems": 2, + "minItems": 2 + } + ], + "title": "Referred Table" + } + }, + "type": "object", + "required": [ + "fk_columns", + "referred_table" + ], + "title": "ForeignRelation" + }, + "ForeignRelation-Output": { + "properties": { + "fk_columns": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "items": { + "type": "string" + }, + "type": "array" + } + ], + "title": "Fk Columns" + }, + "referred_table": { + "anyOf": [ + { + "$ref": "#/components/schemas/TableIdentifier" + }, + { + "prefixItems": [ + { + "$ref": "#/components/schemas/SourceDBType" + }, + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array", + "maxItems": 3, + "minItems": 3 + }, + { + "prefixItems": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array", + "maxItems": 2, + "minItems": 2 + } + ], + "title": "Referred Table" + } + }, + "type": "object", + "required": [ + "fk_columns", + "referred_table" + ], + "title": "ForeignRelation" + }, + "ForeignRelationInfo": { + "properties": { + "target_concept": { + "type": "string", + "title": "Target Concept" + }, + "fk_relations": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "title": "Fk Relations" + } + }, + "type": "object", + "required": [ + "target_concept", + "fk_relations" + ], + "title": "ForeignRelationInfo" + }, + "GroupValidationResult": { + "properties": { + "individual_validations": { + "additionalProperties": { + "items": { + "prefixItems": [ + { + "$ref": "#/components/schemas/TableIdentifier" + }, + { + "$ref": "#/components/schemas/IndividualValidationResult" + } + ], + "type": "array", + "maxItems": 2, + "minItems": 2 + }, + "type": "array" + }, + "type": "object", + "title": "Individual Validations" + }, + "is_valid": { + "type": "boolean", + "title": "Is Valid", + "readOnly": true + } + }, + "type": "object", + "required": [ + "is_valid" + ], + "title": "GroupValidationResult" + }, + "HTTPValidationError": { + "properties": { + "detail": { + "items": { + "$ref": "#/components/schemas/ValidationError" + }, + "type": "array", + "title": "Detail" + } + }, + "type": "object", + "title": "HTTPValidationError" + }, + "IndividualValidationResult": { + "properties": { + "is_valid": { + "type": "boolean", + "title": "Is Valid", + "default": true + }, + "violations": { + "items": { + "type": "string" + }, + "type": "array", + "title": "Violations" + } + }, + "type": "object", + "title": "IndividualValidationResult" + }, + "KeepAliveResponse": { + "properties": { + "server_status": { + "type": "string", + "enum": [ + "available" + ], + "const": "available", + "title": "Server Status", + "default": "available" + }, + "session_status": { + "type": "string", + "enum": [ + "missing session cookie", + "session invalid", + "session valid" + ], + "title": "Session Status" + } + }, + "type": "object", + "required": [ + "session_status" + ], + "title": "KeepAliveResponse" + }, + "Limit": { + "properties": { + "operation": { + "type": "string", + "enum": [ + "limit" + ], + "const": "limit", + "title": "Operation", + "default": "limit" + }, + "limit": { + "type": "integer", + "title": "Limit" + } + }, + "type": "object", + "required": [ + "limit" + ], + "title": "Limit" + }, + "LocalTableIdentifier": { + "properties": { + "name": { + "type": "string", + "title": "Name" + }, + "schema": { + "type": "string", + "title": "Schema", + "default": "main" + } + }, + "type": "object", + "required": [ + "name" + ], + "title": "LocalTableIdentifier" + }, + "MITM": { + "type": "string", + "enum": [ + "MAED" + ], + "const": "MAED", + "title": "MITM" + }, + "MITMDataType": { + "type": "string", + "enum": [ + "text", + "json", + "integer", + "numeric", + "boolean", + "datetime", + "unknown", + "infer" + ], + "title": "MITMDataType" + }, + "MITMDefinition": { + "properties": { + "main_concepts": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true, + "title": "Main Concepts" + }, + "weak_concepts": { + "additionalProperties": { + "$ref": "#/components/schemas/MITMDataType" + }, + "type": "object", + "title": "Weak Concepts" + }, + "sub_concepts": { + "additionalProperties": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "type": "object", + "title": "Sub Concepts" + }, + "concept_relations": { + "additionalProperties": { + "$ref": "#/components/schemas/OwnedRelations" + }, + "type": "object", + "title": "Concept Relations" + }, + "concept_properties": { + "additionalProperties": { + "$ref": "#/components/schemas/ConceptProperties" + }, + "type": "object", + "title": "Concept Properties" + }, + "leaf_concepts": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true, + "title": "Leaf Concepts", + "readOnly": true + }, + "abstract_concepts": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true, + "title": "Abstract Concepts", + "readOnly": true + }, + "parent_concepts_map": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "title": "Parent Concepts Map", + "readOnly": true + } + }, + "type": "object", + "required": [ + "main_concepts", + "weak_concepts", + "sub_concepts", + "concept_relations", + "concept_properties", + "leaf_concepts", + "abstract_concepts", + "parent_concepts_map" + ], + "title": "MITMDefinition" + }, + "MappingGroupValidationResult": { + "properties": { + "evaluated_mappings": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/ConceptMapping-Output" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Evaluated Mappings" + }, + "validation_result": { + "$ref": "#/components/schemas/GroupValidationResult" + } + }, + "type": "object", + "required": [ + "validation_result" + ], + "title": "MappingGroupValidationResult" + }, + "MitMDataTypeInfos": { + "properties": { + "sql_type": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Sql Type" + } + }, + "type": "object", + "required": [ + "sql_type" + ], + "title": "MitMDataTypeInfos" + }, + "NumericSummaryStatistics": { + "properties": { + "count": { + "type": "integer", + "title": "Count" + }, + "mean": { + "type": "number", + "title": "Mean" + }, + "min": { + "type": "number", + "title": "Min" + }, + "max": { + "type": "number", + "title": "Max" + }, + "std": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Std" + }, + "percentile_25": { + "type": "number", + "title": "Percentile 25" + }, + "percentile_50": { + "type": "number", + "title": "Percentile 50" + }, + "percentile_75": { + "type": "number", + "title": "Percentile 75" + } + }, + "type": "object", + "required": [ + "count", + "mean", + "min", + "max", + "percentile_25", + "percentile_50", + "percentile_75" + ], + "title": "NumericSummaryStatistics" + }, + "OwnedRelations": { + "properties": { + "identity": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "title": "Identity" + }, + "inline": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "title": "Inline" + }, + "to_one": { + "additionalProperties": { + "$ref": "#/components/schemas/ForeignRelationInfo" + }, + "type": "object", + "title": "To One" + }, + "to_many": { + "additionalProperties": { + "$ref": "#/components/schemas/ForeignRelationInfo" + }, + "type": "object", + "title": "To Many" + } + }, + "type": "object", + "required": [ + "identity", + "inline", + "to_one", + "to_many" + ], + "title": "OwnedRelations" + }, + "PostProcessing": { + "properties": { + "table_postprocessing": { + "items": { + "$ref": "#/components/schemas/TablePostProcessing" + }, + "type": "array", + "title": "Table Postprocessing" + } + }, + "type": "object", + "required": [ + "table_postprocessing" + ], + "title": "PostProcessing" + }, + "PublishedMitMResponse": { + "properties": { + "url": { + "type": "string", + "maxLength": 2083, + "minLength": 1, + "format": "uri", + "title": "Url" + }, + "relative_uri": { + "type": "string", + "title": "Relative Uri" + }, + "deletion_request_url": { + "type": "string", + "maxLength": 2083, + "minLength": 1, + "format": "uri", + "title": "Deletion Request Url" + }, + "export_id": { + "type": "integer", + "title": "Export Id" + } + }, + "type": "object", + "required": [ + "url", + "relative_uri", + "deletion_request_url", + "export_id" + ], + "title": "PublishedMitMResponse" + }, + "RawCompiled": { + "properties": { + "operation": { + "type": "string", + "enum": [ + "raw" + ], + "const": "raw", + "title": "Operation", + "default": "raw" + }, + "typed_query": { + "$ref": "#/components/schemas/TypedRawQuery" + } + }, + "type": "object", + "required": [ + "typed_query" + ], + "title": "RawCompiled" + }, + "ReselectColumns": { + "properties": { + "operation": { + "type": "string", + "enum": [ + "reselect_columns" + ], + "const": "reselect_columns", + "title": "Operation", + "default": "reselect_columns" + }, + "selection": { + "items": { + "type": "string" + }, + "type": "array", + "title": "Selection" + } + }, + "type": "object", + "required": [ + "selection" + ], + "title": "ReselectColumns" + }, + "SampleSummary": { + "properties": { + "sample_size": { + "anyOf": [ + { + "type": "integer", + "minimum": 0.0 + }, + { + "type": "null" + } + ], + "title": "Sample Size" + }, + "na_fraction": { + "anyOf": [ + { + "type": "number", + "maximum": 1.0, + "minimum": 0.0 + }, + { + "type": "null" + } + ], + "title": "Na Fraction" + }, + "unique_fraction": { + "anyOf": [ + { + "type": "number", + "maximum": 1.0, + "minimum": 0.0 + }, + { + "type": "null" + } + ], + "title": "Unique Fraction" + }, + "value_counts": { + "anyOf": [ + { + "additionalProperties": { + "type": "integer" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Value Counts" + }, + "summary_statistics": { + "anyOf": [ + { + "$ref": "#/components/schemas/NumericSummaryStatistics" + }, + { + "$ref": "#/components/schemas/CategoricalSummaryStatistics" + }, + { + "$ref": "#/components/schemas/DatetimeSummaryStatistics" + }, + { + "type": "null" + } + ], + "title": "Summary Statistics" + }, + "json_schema": { + "anyOf": [ + { + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Json Schema" + } + }, + "type": "object", + "title": "SampleSummary" + }, + "SemanticColumnCondition": { + "properties": { + "inferred_data_type": { + "anyOf": [ + { + "$ref": "#/components/schemas/MITMDataType" + }, + { + "type": "null" + } + ] + }, + "max_na_fraction": { + "anyOf": [ + { + "type": "number", + "maximum": 1.0, + "minimum": 0.0 + }, + { + "type": "null" + } + ], + "title": "Max Na Fraction" + }, + "value_in_range": { + "anyOf": [ + {}, + { + "type": "null" + } + ], + "title": "Value In Range" + }, + "contained_value": { + "anyOf": [ + {}, + { + "type": "null" + } + ], + "title": "Contained Value" + }, + "contained_datetime": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ], + "title": "Contained Datetime" + } + }, + "type": "object", + "title": "SemanticColumnCondition" + }, + "SemanticTableCondition": { + "properties": { + "min_row_count": { + "anyOf": [ + { + "type": "integer", + "minimum": 0.0 + }, + { + "type": "null" + } + ], + "title": "Min Row Count" + }, + "max_row_count": { + "anyOf": [ + { + "type": "integer", + "minimum": 0.0 + }, + { + "type": "null" + } + ], + "title": "Max Row Count" + } + }, + "type": "object", + "title": "SemanticTableCondition" + }, + "SessionIdResponse": { + "properties": { + "session_id": { + "type": "string", + "format": "uuid", + "title": "Session Id" + } + }, + "type": "object", + "required": [ + "session_id" + ], + "title": "SessionIdResponse" + }, + "SimpleJoin": { + "properties": { + "operation": { + "type": "string", + "enum": [ + "join" + ], + "const": "join", + "title": "Operation", + "default": "join" + }, + "left_table": { + "anyOf": [ + { + "$ref": "#/components/schemas/TableIdentifier" + }, + { + "prefixItems": [ + { + "$ref": "#/components/schemas/SourceDBType" + }, + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array", + "maxItems": 3, + "minItems": 3 + }, + { + "prefixItems": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array", + "maxItems": 2, + "minItems": 2 + } + ], + "title": "Left Table" + }, + "right_table": { + "anyOf": [ + { + "$ref": "#/components/schemas/TableIdentifier" + }, + { + "prefixItems": [ + { + "$ref": "#/components/schemas/SourceDBType" + }, + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array", + "maxItems": 3, + "minItems": 3 + }, + { + "prefixItems": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array", + "maxItems": 2, + "minItems": 2 + } + ], + "title": "Right Table" + }, + "on_cols_left": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "On Cols Left" + }, + "on_cols_right": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "On Cols Right" + }, + "is_outer": { + "type": "boolean", + "title": "Is Outer", + "default": false + }, + "full": { + "type": "boolean", + "title": "Full", + "default": false + }, + "selected_cols_left": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Selected Cols Left" + }, + "selected_cols_right": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Selected Cols Right" + }, + "left_alias": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Left Alias" + }, + "right_alias": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Right Alias" + } + }, + "type": "object", + "required": [ + "left_table", + "right_table" + ], + "title": "SimpleJoin" + }, + "SimpleSQLOperator": { + "type": "string", + "enum": [ + "ilike", + "like", + "=", + ">=", + ">", + "<=", + "<", + "in", + "notin" + ], + "title": "SimpleSQLOperator" + }, + "SimpleWhere": { + "properties": { + "lhs": { + "type": "string", + "title": "Lhs" + }, + "operator": { + "$ref": "#/components/schemas/SimpleSQLOperator" + }, + "rhs": { + "anyOf": [ + { + "type": "string" + }, + { + "prefixItems": [ + {}, + { + "anyOf": [ + { + "$ref": "#/components/schemas/WrappedMITMDataType" + }, + { + "type": "string" + } + ] + } + ], + "type": "array", + "maxItems": 2, + "minItems": 2 + } + ], + "title": "Rhs" + } + }, + "type": "object", + "required": [ + "lhs", + "operator", + "rhs" + ], + "title": "SimpleWhere" + }, + "SourceDBType": { + "type": "string", + "enum": [ + "original", + "working", + "virtual" + ], + "title": "SourceDBType" + }, + "SyntacticColumnCondition": { + "properties": { + "name_regex": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Name Regex" + }, + "sql_data_type": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Sql Data Type" + }, + "mitm_data_type": { + "anyOf": [ + { + "$ref": "#/components/schemas/MITMDataType" + }, + { + "type": "null" + } + ] + } + }, + "type": "object", + "title": "SyntacticColumnCondition" + }, + "SyntacticTableCondition": { + "properties": { + "schema_regex": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Schema Regex" + }, + "name_regex": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Name Regex" + }, + "min_col_count": { + "anyOf": [ + { + "type": "integer", + "minimum": 0.0 + }, + { + "type": "null" + } + ], + "title": "Min Col Count" + }, + "max_col_count": { + "anyOf": [ + { + "type": "integer", + "minimum": 0.0 + }, + { + "type": "null" + } + ], + "title": "Max Col Count" + }, + "has_foreign_key": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Has Foreign Key" + } + }, + "type": "object", + "title": "SyntacticTableCondition" + }, + "TableFilter": { + "properties": { + "operation": { + "type": "string", + "enum": [ + "table_filter" + ], + "const": "table_filter", + "title": "Operation", + "default": "table_filter" + }, + "wheres": { + "items": { + "$ref": "#/components/schemas/SimpleWhere" + }, + "type": "array", + "title": "Wheres" + }, + "limit": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Limit" + } + }, + "type": "object", + "required": [ + "wheres" + ], + "title": "TableFilter" + }, + "TableIdentifier": { + "properties": { + "source": { + "allOf": [ + { + "$ref": "#/components/schemas/SourceDBType" + } + ], + "default": "original" + }, + "schema": { + "type": "string", + "title": "Schema", + "default": "main" + }, + "name": { + "type": "string", + "title": "Name" + } + }, + "type": "object", + "required": [ + "name" + ], + "title": "TableIdentifier" + }, + "TableMetaInfoBase": { + "properties": { + "schema_name": { + "type": "string", + "title": "Schema Name", + "default": "main" + }, + "name": { + "type": "string", + "title": "Name" + }, + "columns": { + "items": { + "type": "string" + }, + "type": "array", + "title": "Columns" + }, + "sql_column_types": { + "items": { + "type": "string" + }, + "type": "array", + "title": "Sql Column Types" + }, + "primary_key": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Primary Key" + }, + "indexes": { + "anyOf": [ + { + "items": { + "items": { + "type": "string" + }, + "type": "array" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Indexes" + }, + "foreign_key_constraints": { + "items": { + "$ref": "#/components/schemas/ForeignKeyConstraintBase" + }, + "type": "array", + "title": "Foreign Key Constraints" + }, + "column_properties": { + "additionalProperties": { + "$ref": "#/components/schemas/ColumnProperties" + }, + "type": "object", + "title": "Column Properties" + } + }, + "type": "object", + "required": [ + "name", + "columns", + "sql_column_types" + ], + "title": "TableMetaInfoBase" + }, + "TablePostProcessing": { + "properties": { + "target_table": { + "anyOf": [ + { + "$ref": "#/components/schemas/TableIdentifier" + }, + { + "prefixItems": [ + { + "$ref": "#/components/schemas/SourceDBType" + }, + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array", + "maxItems": 3, + "minItems": 3 + }, + { + "prefixItems": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array", + "maxItems": 2, + "minItems": 2 + } + ], + "title": "Target Table" + }, + "transforms": { + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/EditColumns" + }, + { + "$ref": "#/components/schemas/ReselectColumns" + }, + { + "$ref": "#/components/schemas/TableFilter" + }, + { + "$ref": "#/components/schemas/Limit" + } + ], + "discriminator": { + "propertyName": "operation", + "mapping": { + "edit_columns": "#/components/schemas/EditColumns", + "limit": "#/components/schemas/Limit", + "reselect_columns": "#/components/schemas/ReselectColumns", + "table_filter": "#/components/schemas/TableFilter" + } + } + }, + "type": "array", + "title": "Transforms" + } + }, + "type": "object", + "required": [ + "target_table", + "transforms" + ], + "title": "TablePostProcessing" + }, + "TableProbeBase": { + "properties": { + "row_count": { + "type": "integer", + "minimum": 0.0, + "title": "Row Count" + }, + "inferred_types": { + "additionalProperties": { + "$ref": "#/components/schemas/MITMDataType" + }, + "type": "object", + "title": "Inferred Types" + }, + "sample_summaries": { + "additionalProperties": { + "$ref": "#/components/schemas/SampleSummary" + }, + "type": "object", + "title": "Sample Summaries" + }, + "table_meta": { + "$ref": "#/components/schemas/TableMetaInfoBase" + }, + "sampled_values": { + "additionalProperties": { + "items": {}, + "type": "array" + }, + "type": "object", + "title": "Sampled Values" + } + }, + "type": "object", + "required": [ + "row_count", + "inferred_types", + "sample_summaries", + "table_meta", + "sampled_values" + ], + "title": "TableProbeBase" + }, + "TableQueryResult": { + "properties": { + "table_info": { + "anyOf": [ + { + "$ref": "#/components/schemas/TableMetaInfoBase" + }, + { + "type": "null" + } + ] + }, + "rows": { + "items": { + "items": {}, + "type": "array" + }, + "type": "array", + "title": "Rows" + } + }, + "type": "object", + "required": [ + "table_info", + "rows" + ], + "title": "TableQueryResult" + }, + "TypedRawQuery": { + "properties": { + "dialect": { + "type": "string", + "title": "Dialect" + }, + "compiled_sql": { + "type": "string", + "title": "Compiled Sql" + }, + "columns": { + "items": { + "type": "string" + }, + "type": "array", + "title": "Columns" + }, + "column_dtypes": { + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/WrappedMITMDataType" + }, + { + "type": "string" + } + ] + }, + "type": "array", + "title": "Column Dtypes" + } + }, + "type": "object", + "required": [ + "dialect", + "compiled_sql", + "columns", + "column_dtypes" + ], + "title": "TypedRawQuery" + }, + "ValidationError": { + "properties": { + "loc": { + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "integer" + } + ] + }, + "type": "array", + "title": "Location" + }, + "msg": { + "type": "string", + "title": "Message" + }, + "type": { + "type": "string", + "title": "Error Type" + } + }, + "type": "object", + "required": [ + "loc", + "msg", + "type" + ], + "title": "ValidationError" + }, + "VirtualViewCreationRequest": { + "properties": { + "name": { + "type": "string", + "title": "Name" + }, + "table_creation": { + "oneOf": [ + { + "$ref": "#/components/schemas/SimpleJoin" + }, + { + "$ref": "#/components/schemas/ExistingTable" + }, + { + "$ref": "#/components/schemas/RawCompiled" + } + ], + "title": "Table Creation", + "discriminator": { + "propertyName": "operation", + "mapping": { + "existing": "#/components/schemas/ExistingTable", + "join": "#/components/schemas/SimpleJoin", + "raw": "#/components/schemas/RawCompiled" + } + } + }, + "transforms": { + "anyOf": [ + { + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/EditColumns" + }, + { + "$ref": "#/components/schemas/ReselectColumns" + }, + { + "$ref": "#/components/schemas/TableFilter" + }, + { + "$ref": "#/components/schemas/Limit" + } + ], + "discriminator": { + "propertyName": "operation", + "mapping": { + "edit_columns": "#/components/schemas/EditColumns", + "limit": "#/components/schemas/Limit", + "reselect_columns": "#/components/schemas/ReselectColumns", + "table_filter": "#/components/schemas/TableFilter" + } + } + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Transforms" + }, + "schema": { + "type": "string", + "title": "Schema", + "default": "virtual" + } + }, + "type": "object", + "required": [ + "name", + "table_creation" + ], + "title": "VirtualViewCreationRequest" + }, + "VirtualViewResponse": { + "properties": { + "table_meta": { + "$ref": "#/components/schemas/TableMetaInfoBase" + } + }, + "type": "object", + "required": [ + "table_meta" + ], + "title": "VirtualViewResponse" + }, + "WrappedMITMDataType": { + "properties": { + "mitm": { + "$ref": "#/components/schemas/MITMDataType" + } + }, + "type": "object", + "required": [ + "mitm" + ], + "title": "WrappedMITMDataType" + } + } + } +} \ No newline at end of file diff --git a/src/services/exportStore.ts b/src/services/exportStore.ts index 968bf1f..d287900 100644 --- a/src/services/exportStore.ts +++ b/src/services/exportStore.ts @@ -55,4 +55,4 @@ export const useExportStore = defineStore('exports', () => { } return {publishedExports, publishExport, deletePublishedExport, $reset} -}) +}, {persist: {pick: ['publishedExports']}}) diff --git a/src/services/mainStore.ts b/src/services/mainStore.ts index 9d13f69..10a3c2e 100644 --- a/src/services/mainStore.ts +++ b/src/services/mainStore.ts @@ -117,7 +117,9 @@ export const useMainStore = defineStore('main', () => { } } - function $reset() {reset()} + function $reset() { + reset() + } return { sessionId, @@ -142,4 +144,5 @@ export const useMainStore = defineStore('main', () => { getTableMeta, $reset } -}) +}, {persist: {pick: ['sessionId', 'dbUrl', 'originalDBSchema', 'virtualDBSchema']}}) +// {enabled: true, strategies: [{storage: localStorage, paths: ['sessionId', 'dbUrl']}]} diff --git a/src/services/mappingStore.ts b/src/services/mappingStore.ts index 6308f03..67a581d 100644 --- a/src/services/mappingStore.ts +++ b/src/services/mappingStore.ts @@ -45,12 +45,14 @@ export const useMappingStore = defineStore('mappings', () => { const me = currentMappings.value.at(index) if (!!me) { const blob = new Blob([JSON.stringify(me.mapping, null, 2)], {type: "application/json;charset=utf-8"}) - const timeString = me.timeCreated.toLocaleString(DateTime.TIME_WITH_SECONDS).replaceAll(":","_") + const timeString = me.timeCreated.toLocaleString(DateTime.TIME_WITH_SECONDS).replaceAll(":", "_") saveAs(blob, `mapping-${me.mapping.concept}-${timeString}.json`) } } - function $reset() {currentMappings.value = []} + function $reset() { + currentMappings.value = [] + } return {currentMappings, saveMapping, saveMappings, removeMapping, downloadMapping, $reset} -}) +}, {persist: {pick: ['currentMappings']}}) diff --git a/src/services/preset-definitions/hardcoded-presets.ts b/src/services/preset-definitions/hardcoded-presets.ts deleted file mode 100644 index 2cc75f3..0000000 --- a/src/services/preset-definitions/hardcoded-presets.ts +++ /dev/null @@ -1 +0,0 @@ -export const hardcodedPresets = [] diff --git a/src/services/preset-definitions/synthetic-preset.json b/src/services/preset-definitions/synthetic-preset.json index cf91f4d..a1ec54e 100644 --- a/src/services/preset-definitions/synthetic-preset.json +++ b/src/services/preset-definitions/synthetic-preset.json @@ -237,6 +237,9 @@ ], "mode": [ "mode" + ], + "material": [ + "material" ] } } @@ -293,7 +296,9 @@ "renames": { "workpieceQuality": "workpiece_quality" }, - "drops": ["jobId"] + "drops": [ + "jobId" + ] } ] } @@ -380,12 +385,14 @@ "target_geometry", "extrusion_temp", "extrusion_rate", + "material", "mode" ], "attribute_dtypes": [ "text", "integer", "integer", + "text", "text" ] }, diff --git a/src/services/utils.ts b/src/services/utils.ts index 156ca68..7e0b5d6 100644 --- a/src/services/utils.ts +++ b/src/services/utils.ts @@ -7,9 +7,9 @@ import {usePresetStore} from "@/services/presetStore"; import {useSelectionStore} from "@/services/selectionStore"; import {useExportStore} from "@/services/exportStore"; -export function anyTIDtoTID(arg): TableIdentifier | null { +export function anyTIDtoTID(arg, source?): TableIdentifier | null { if (Array.isArray(arg)) return arg.length > 2 ? {source: arg[0], schema: arg[1], name: arg[2]} : { - source: "original", + source: source ? source : "original", schema: arg[0], name: arg[1] } -- GitLab