mirror of
https://github.com/dathere/ckanaction.git
synced 2025-12-18 16:29:25 +00:00
Compare commits
4 commits
e13124ee42
...
2114cc9562
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2114cc9562 | ||
|
|
5b7999b6ea | ||
|
|
2f4edc08cf | ||
|
|
c669a82578 |
10 changed files with 499 additions and 104 deletions
|
|
@ -4,27 +4,27 @@
|
||||||
"": {
|
"": {
|
||||||
"name": "docs",
|
"name": "docs",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"fumadocs-core": "latest",
|
"fumadocs-core": "16.0.1",
|
||||||
"fumadocs-mdx": "latest",
|
"fumadocs-mdx": "13.0.0",
|
||||||
"fumadocs-openapi": "latest",
|
"fumadocs-openapi": "^9.6.1",
|
||||||
"fumadocs-ui": "latest",
|
"fumadocs-ui": "16.0.1",
|
||||||
"lucide-react": "latest",
|
"lucide-react": "^0.546.0",
|
||||||
"next": "latest",
|
"next": "^16.0.0",
|
||||||
"react": "latest",
|
"react": "^19.2.0",
|
||||||
"react-dom": "latest",
|
"react-dom": "^19.2.0",
|
||||||
"shiki": "latest",
|
"shiki": "^3.13.0",
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@biomejs/biome": "latest",
|
"@biomejs/biome": "^2.2.7",
|
||||||
"@tailwindcss/postcss": "latest",
|
"@tailwindcss/postcss": "^4.1.15",
|
||||||
"@types/mdx": "latest",
|
"@types/mdx": "^2.0.13",
|
||||||
"@types/node": "latest",
|
"@types/node": "24.9.1",
|
||||||
"@types/react": "latest",
|
"@types/react": "^19.2.2",
|
||||||
"@types/react-dom": "latest",
|
"@types/react-dom": "^19.2.2",
|
||||||
"openapi-types": "latest",
|
"openapi-types": "^12.1.3",
|
||||||
"postcss": "latest",
|
"postcss": "^8.5.6",
|
||||||
"tailwindcss": "latest",
|
"tailwindcss": "^4.1.15",
|
||||||
"typescript": "latest",
|
"typescript": "^5.9.3",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
@ -299,35 +299,35 @@
|
||||||
|
|
||||||
"@swc/helpers": ["@swc/helpers@0.5.15", "", { "dependencies": { "tslib": "^2.8.0" } }, "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g=="],
|
"@swc/helpers": ["@swc/helpers@0.5.15", "", { "dependencies": { "tslib": "^2.8.0" } }, "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g=="],
|
||||||
|
|
||||||
"@tailwindcss/node": ["@tailwindcss/node@4.1.15", "", { "dependencies": { "@jridgewell/remapping": "^2.3.4", "enhanced-resolve": "^5.18.3", "jiti": "^2.6.0", "lightningcss": "1.30.2", "magic-string": "^0.30.19", "source-map-js": "^1.2.1", "tailwindcss": "4.1.15" } }, "sha512-HF4+7QxATZWY3Jr8OlZrBSXmwT3Watj0OogeDvdUY/ByXJHQ+LBtqA2brDb3sBxYslIFx6UP94BJ4X6a4L9Bmw=="],
|
"@tailwindcss/node": ["@tailwindcss/node@4.1.16", "", { "dependencies": { "@jridgewell/remapping": "^2.3.4", "enhanced-resolve": "^5.18.3", "jiti": "^2.6.1", "lightningcss": "1.30.2", "magic-string": "^0.30.19", "source-map-js": "^1.2.1", "tailwindcss": "4.1.16" } }, "sha512-BX5iaSsloNuvKNHRN3k2RcCuTEgASTo77mofW0vmeHkfrDWaoFAFvNHpEgtu0eqyypcyiBkDWzSMxJhp3AUVcw=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide": ["@tailwindcss/oxide@4.1.15", "", { "optionalDependencies": { "@tailwindcss/oxide-android-arm64": "4.1.15", "@tailwindcss/oxide-darwin-arm64": "4.1.15", "@tailwindcss/oxide-darwin-x64": "4.1.15", "@tailwindcss/oxide-freebsd-x64": "4.1.15", "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.15", "@tailwindcss/oxide-linux-arm64-gnu": "4.1.15", "@tailwindcss/oxide-linux-arm64-musl": "4.1.15", "@tailwindcss/oxide-linux-x64-gnu": "4.1.15", "@tailwindcss/oxide-linux-x64-musl": "4.1.15", "@tailwindcss/oxide-wasm32-wasi": "4.1.15", "@tailwindcss/oxide-win32-arm64-msvc": "4.1.15", "@tailwindcss/oxide-win32-x64-msvc": "4.1.15" } }, "sha512-krhX+UOOgnsUuks2SR7hFafXmLQrKxB4YyRTERuCE59JlYL+FawgaAlSkOYmDRJdf1Q+IFNDMl9iRnBW7QBDfQ=="],
|
"@tailwindcss/oxide": ["@tailwindcss/oxide@4.1.16", "", { "optionalDependencies": { "@tailwindcss/oxide-android-arm64": "4.1.16", "@tailwindcss/oxide-darwin-arm64": "4.1.16", "@tailwindcss/oxide-darwin-x64": "4.1.16", "@tailwindcss/oxide-freebsd-x64": "4.1.16", "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.16", "@tailwindcss/oxide-linux-arm64-gnu": "4.1.16", "@tailwindcss/oxide-linux-arm64-musl": "4.1.16", "@tailwindcss/oxide-linux-x64-gnu": "4.1.16", "@tailwindcss/oxide-linux-x64-musl": "4.1.16", "@tailwindcss/oxide-wasm32-wasi": "4.1.16", "@tailwindcss/oxide-win32-arm64-msvc": "4.1.16", "@tailwindcss/oxide-win32-x64-msvc": "4.1.16" } }, "sha512-2OSv52FRuhdlgyOQqgtQHuCgXnS8nFSYRp2tJ+4WZXKgTxqPy7SMSls8c3mPT5pkZ17SBToGM5LHEJBO7miEdg=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-android-arm64": ["@tailwindcss/oxide-android-arm64@4.1.15", "", { "os": "android", "cpu": "arm64" }, "sha512-TkUkUgAw8At4cBjCeVCRMc/guVLKOU1D+sBPrHt5uVcGhlbVKxrCaCW9OKUIBv1oWkjh4GbunD/u/Mf0ql6kEA=="],
|
"@tailwindcss/oxide-android-arm64": ["@tailwindcss/oxide-android-arm64@4.1.16", "", { "os": "android", "cpu": "arm64" }, "sha512-8+ctzkjHgwDJ5caq9IqRSgsP70xhdhJvm+oueS/yhD5ixLhqTw9fSL1OurzMUhBwE5zK26FXLCz2f/RtkISqHA=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-darwin-arm64": ["@tailwindcss/oxide-darwin-arm64@4.1.15", "", { "os": "darwin", "cpu": "arm64" }, "sha512-xt5XEJpn2piMSfvd1UFN6jrWXyaKCwikP4Pidcf+yfHTSzSpYhG3dcMktjNkQO3JiLCp+0bG0HoWGvz97K162w=="],
|
"@tailwindcss/oxide-darwin-arm64": ["@tailwindcss/oxide-darwin-arm64@4.1.16", "", { "os": "darwin", "cpu": "arm64" }, "sha512-C3oZy5042v2FOALBZtY0JTDnGNdS6w7DxL/odvSny17ORUnaRKhyTse8xYi3yKGyfnTUOdavRCdmc8QqJYwFKA=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-darwin-x64": ["@tailwindcss/oxide-darwin-x64@4.1.15", "", { "os": "darwin", "cpu": "x64" }, "sha512-TnWaxP6Bx2CojZEXAV2M01Yl13nYPpp0EtGpUrY+LMciKfIXiLL2r/SiSRpagE5Fp2gX+rflp/Os1VJDAyqymg=="],
|
"@tailwindcss/oxide-darwin-x64": ["@tailwindcss/oxide-darwin-x64@4.1.16", "", { "os": "darwin", "cpu": "x64" }, "sha512-vjrl/1Ub9+JwU6BP0emgipGjowzYZMjbWCDqwA2Z4vCa+HBSpP4v6U2ddejcHsolsYxwL5r4bPNoamlV0xDdLg=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-freebsd-x64": ["@tailwindcss/oxide-freebsd-x64@4.1.15", "", { "os": "freebsd", "cpu": "x64" }, "sha512-quISQDWqiB6Cqhjc3iWptXVZHNVENsWoI77L1qgGEHNIdLDLFnw3/AfY7DidAiiCIkGX/MjIdB3bbBZR/G2aJg=="],
|
"@tailwindcss/oxide-freebsd-x64": ["@tailwindcss/oxide-freebsd-x64@4.1.16", "", { "os": "freebsd", "cpu": "x64" }, "sha512-TSMpPYpQLm+aR1wW5rKuUuEruc/oOX3C7H0BTnPDn7W/eMw8W+MRMpiypKMkXZfwH8wqPIRKppuZoedTtNj2tg=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-linux-arm-gnueabihf": ["@tailwindcss/oxide-linux-arm-gnueabihf@4.1.15", "", { "os": "linux", "cpu": "arm" }, "sha512-ObG76+vPlab65xzVUQbExmDU9FIeYLQ5k2LrQdR2Ud6hboR+ZobXpDoKEYXf/uOezOfIYmy2Ta3w0ejkTg9yxg=="],
|
"@tailwindcss/oxide-linux-arm-gnueabihf": ["@tailwindcss/oxide-linux-arm-gnueabihf@4.1.16", "", { "os": "linux", "cpu": "arm" }, "sha512-p0GGfRg/w0sdsFKBjMYvvKIiKy/LNWLWgV/plR4lUgrsxFAoQBFrXkZ4C0w8IOXfslB9vHK/JGASWD2IefIpvw=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-linux-arm64-gnu": ["@tailwindcss/oxide-linux-arm64-gnu@4.1.15", "", { "os": "linux", "cpu": "arm64" }, "sha512-4WbBacRmk43pkb8/xts3wnOZMDKsPFyEH/oisCm2q3aLZND25ufvJKcDUpAu0cS+CBOL05dYa8D4U5OWECuH/Q=="],
|
"@tailwindcss/oxide-linux-arm64-gnu": ["@tailwindcss/oxide-linux-arm64-gnu@4.1.16", "", { "os": "linux", "cpu": "arm64" }, "sha512-DoixyMmTNO19rwRPdqviTrG1rYzpxgyYJl8RgQvdAQUzxC1ToLRqtNJpU/ATURSKgIg6uerPw2feW0aS8SNr/w=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-linux-arm64-musl": ["@tailwindcss/oxide-linux-arm64-musl@4.1.15", "", { "os": "linux", "cpu": "arm64" }, "sha512-AbvmEiteEj1nf42nE8skdHv73NoR+EwXVSgPY6l39X12Ex8pzOwwfi3Kc8GAmjsnsaDEbk+aj9NyL3UeyHcTLg=="],
|
"@tailwindcss/oxide-linux-arm64-musl": ["@tailwindcss/oxide-linux-arm64-musl@4.1.16", "", { "os": "linux", "cpu": "arm64" }, "sha512-H81UXMa9hJhWhaAUca6bU2wm5RRFpuHImrwXBUvPbYb+3jo32I9VIwpOX6hms0fPmA6f2pGVlybO6qU8pF4fzQ=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-linux-x64-gnu": ["@tailwindcss/oxide-linux-x64-gnu@4.1.15", "", { "os": "linux", "cpu": "x64" }, "sha512-+rzMVlvVgrXtFiS+ES78yWgKqpThgV19ISKD58Ck+YO5pO5KjyxLt7AWKsWMbY0R9yBDC82w6QVGz837AKQcHg=="],
|
"@tailwindcss/oxide-linux-x64-gnu": ["@tailwindcss/oxide-linux-x64-gnu@4.1.16", "", { "os": "linux", "cpu": "x64" }, "sha512-ZGHQxDtFC2/ruo7t99Qo2TTIvOERULPl5l0K1g0oK6b5PGqjYMga+FcY1wIUnrUxY56h28FxybtDEla+ICOyew=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-linux-x64-musl": ["@tailwindcss/oxide-linux-x64-musl@4.1.15", "", { "os": "linux", "cpu": "x64" }, "sha512-fPdEy7a8eQN9qOIK3Em9D3TO1z41JScJn8yxl/76mp4sAXFDfV4YXxsiptJcOwy6bGR+70ZSwFIZhTXzQeqwQg=="],
|
"@tailwindcss/oxide-linux-x64-musl": ["@tailwindcss/oxide-linux-x64-musl@4.1.16", "", { "os": "linux", "cpu": "x64" }, "sha512-Oi1tAaa0rcKf1Og9MzKeINZzMLPbhxvm7rno5/zuP1WYmpiG0bEHq4AcRUiG2165/WUzvxkW4XDYCscZWbTLZw=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-wasm32-wasi": ["@tailwindcss/oxide-wasm32-wasi@4.1.15", "", { "dependencies": { "@emnapi/core": "^1.5.0", "@emnapi/runtime": "^1.5.0", "@emnapi/wasi-threads": "^1.1.0", "@napi-rs/wasm-runtime": "^1.0.7", "@tybys/wasm-util": "^0.10.1", "tslib": "^2.4.0" }, "cpu": "none" }, "sha512-sJ4yd6iXXdlgIMfIBXuVGp/NvmviEoMVWMOAGxtxhzLPp9LOj5k0pMEMZdjeMCl4C6Up+RM8T3Zgk+BMQ0bGcQ=="],
|
"@tailwindcss/oxide-wasm32-wasi": ["@tailwindcss/oxide-wasm32-wasi@4.1.16", "", { "dependencies": { "@emnapi/core": "^1.5.0", "@emnapi/runtime": "^1.5.0", "@emnapi/wasi-threads": "^1.1.0", "@napi-rs/wasm-runtime": "^1.0.7", "@tybys/wasm-util": "^0.10.1", "tslib": "^2.4.0" }, "cpu": "none" }, "sha512-B01u/b8LteGRwucIBmCQ07FVXLzImWESAIMcUU6nvFt/tYsQ6IHz8DmZ5KtvmwxD+iTYBtM1xwoGXswnlu9v0Q=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-win32-arm64-msvc": ["@tailwindcss/oxide-win32-arm64-msvc@4.1.15", "", { "os": "win32", "cpu": "arm64" }, "sha512-sJGE5faXnNQ1iXeqmRin7Ds/ru2fgCiaQZQQz3ZGIDtvbkeV85rAZ0QJFMDg0FrqsffZG96H1U9AQlNBRLsHVg=="],
|
"@tailwindcss/oxide-win32-arm64-msvc": ["@tailwindcss/oxide-win32-arm64-msvc@4.1.16", "", { "os": "win32", "cpu": "arm64" }, "sha512-zX+Q8sSkGj6HKRTMJXuPvOcP8XfYON24zJBRPlszcH1Np7xuHXhWn8qfFjIujVzvH3BHU+16jBXwgpl20i+v9A=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-win32-x64-msvc": ["@tailwindcss/oxide-win32-x64-msvc@4.1.15", "", { "os": "win32", "cpu": "x64" }, "sha512-NLeHE7jUV6HcFKS504bpOohyi01zPXi2PXmjFfkzTph8xRxDdxkRsXm/xDO5uV5K3brrE1cCwbUYmFUSHR3u1w=="],
|
"@tailwindcss/oxide-win32-x64-msvc": ["@tailwindcss/oxide-win32-x64-msvc@4.1.16", "", { "os": "win32", "cpu": "x64" }, "sha512-m5dDFJUEejbFqP+UXVstd4W/wnxA4F61q8SoL+mqTypId2T2ZpuxosNSgowiCnLp2+Z+rivdU0AqpfgiD7yCBg=="],
|
||||||
|
|
||||||
"@tailwindcss/postcss": ["@tailwindcss/postcss@4.1.15", "", { "dependencies": { "@alloc/quick-lru": "^5.2.0", "@tailwindcss/node": "4.1.15", "@tailwindcss/oxide": "4.1.15", "postcss": "^8.4.41", "tailwindcss": "4.1.15" } }, "sha512-IZh8IT76KujRz6d15wZw4eoeViT4TqmzVWNNfpuNCTKiaZUwgr5vtPqO4HjuYDyx3MgGR5qgPt1HMzTeLJyA3g=="],
|
"@tailwindcss/postcss": ["@tailwindcss/postcss@4.1.16", "", { "dependencies": { "@alloc/quick-lru": "^5.2.0", "@tailwindcss/node": "4.1.16", "@tailwindcss/oxide": "4.1.16", "postcss": "^8.4.41", "tailwindcss": "4.1.16" } }, "sha512-Qn3SFGPXYQMKR/UtqS+dqvPrzEeBZHrFA92maT4zijCVggdsXnDBMsPFJo1eArX3J+O+Gi+8pV4PkqjLCNBk3A=="],
|
||||||
|
|
||||||
"@types/debug": ["@types/debug@4.1.12", "", { "dependencies": { "@types/ms": "*" } }, "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ=="],
|
"@types/debug": ["@types/debug@4.1.12", "", { "dependencies": { "@types/ms": "*" } }, "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ=="],
|
||||||
|
|
||||||
|
|
@ -461,7 +461,7 @@
|
||||||
|
|
||||||
"fumadocs-mdx": ["fumadocs-mdx@13.0.0", "", { "dependencies": { "@mdx-js/mdx": "^3.1.1", "@standard-schema/spec": "^1.0.0", "chokidar": "^4.0.3", "esbuild": "^0.25.11", "estree-util-value-to-estree": "^3.4.1", "js-yaml": "^4.1.0", "lru-cache": "^11.2.2", "mdast-util-to-markdown": "^2.1.2", "picocolors": "^1.1.1", "remark-mdx": "^3.1.1", "remark-parse": "^11.0.0", "tinyexec": "^1.0.1", "tinyglobby": "^0.2.15", "unified": "^11.0.5", "unist-util-remove-position": "^5.0.0", "unist-util-visit": "^5.0.0", "zod": "^4.1.12" }, "peerDependencies": { "@fumadocs/mdx-remote": "^1.4.0", "fumadocs-core": "^15.0.0 || ^16.0.0", "next": "^15.3.0 || ^16.0.0", "react": "*", "vite": "6.x.x || 7.x.x" }, "optionalPeers": ["@fumadocs/mdx-remote", "next", "react", "vite"], "bin": { "fumadocs-mdx": "dist/bin.js" } }, "sha512-QBDJiaQXBwHNylrWrb+juKfoU871pdxM42QGrNWpTxXg6FfoyEhAmxFqqO2+cGXU71GWk2GfybKp9MdJ0slQ7A=="],
|
"fumadocs-mdx": ["fumadocs-mdx@13.0.0", "", { "dependencies": { "@mdx-js/mdx": "^3.1.1", "@standard-schema/spec": "^1.0.0", "chokidar": "^4.0.3", "esbuild": "^0.25.11", "estree-util-value-to-estree": "^3.4.1", "js-yaml": "^4.1.0", "lru-cache": "^11.2.2", "mdast-util-to-markdown": "^2.1.2", "picocolors": "^1.1.1", "remark-mdx": "^3.1.1", "remark-parse": "^11.0.0", "tinyexec": "^1.0.1", "tinyglobby": "^0.2.15", "unified": "^11.0.5", "unist-util-remove-position": "^5.0.0", "unist-util-visit": "^5.0.0", "zod": "^4.1.12" }, "peerDependencies": { "@fumadocs/mdx-remote": "^1.4.0", "fumadocs-core": "^15.0.0 || ^16.0.0", "next": "^15.3.0 || ^16.0.0", "react": "*", "vite": "6.x.x || 7.x.x" }, "optionalPeers": ["@fumadocs/mdx-remote", "next", "react", "vite"], "bin": { "fumadocs-mdx": "dist/bin.js" } }, "sha512-QBDJiaQXBwHNylrWrb+juKfoU871pdxM42QGrNWpTxXg6FfoyEhAmxFqqO2+cGXU71GWk2GfybKp9MdJ0slQ7A=="],
|
||||||
|
|
||||||
"fumadocs-openapi": ["fumadocs-openapi@9.6.1", "", { "dependencies": { "@fumari/json-schema-to-typescript": "^1.1.3", "@radix-ui/react-accordion": "^1.2.12", "@radix-ui/react-dialog": "^1.1.15", "@radix-ui/react-select": "^2.2.6", "@radix-ui/react-slot": "^1.2.3", "@scalar/json-magic": "^0.6.1", "@scalar/openapi-parser": "0.22.3", "ajv": "^8.17.1", "class-variance-authority": "^0.7.1", "fumadocs-core": "16.0.1", "fumadocs-ui": "16.0.1", "github-slugger": "^2.0.0", "gray-matter": "^4.0.3", "hast-util-to-jsx-runtime": "^2.3.6", "js-yaml": "^4.1.0", "next-themes": "^0.4.6", "openapi-sampler": "^1.6.2", "react-hook-form": "^7.65.0", "remark": "^15.0.1", "remark-rehype": "^11.1.2", "tinyglobby": "^0.2.15", "xml-js": "^1.6.11" }, "peerDependencies": { "@scalar/api-client-react": "*", "@types/react": "*", "react": "18.x.x || 19.x.x", "react-dom": "18.x.x || 19.x.x" }, "optionalPeers": ["@scalar/api-client-react", "@types/react"] }, "sha512-wLU8fKM1d05xlgb18s8Gnxl3AYdgw12OUbCnuEQE6f/NR72FR2FEpWj3jDpm0kHFgghY7vp792pf8BMD7Go3iQ=="],
|
"fumadocs-openapi": ["fumadocs-openapi@9.6.2", "", { "dependencies": { "@fumari/json-schema-to-typescript": "^1.1.3", "@radix-ui/react-accordion": "^1.2.12", "@radix-ui/react-dialog": "^1.1.15", "@radix-ui/react-select": "^2.2.6", "@radix-ui/react-slot": "^1.2.3", "@scalar/json-magic": "^0.6.1", "@scalar/openapi-parser": "0.22.3", "ajv": "^8.17.1", "class-variance-authority": "^0.7.1", "fumadocs-core": "16.0.2", "fumadocs-ui": "16.0.2", "github-slugger": "^2.0.0", "gray-matter": "^4.0.3", "hast-util-to-jsx-runtime": "^2.3.6", "js-yaml": "^4.1.0", "next-themes": "^0.4.6", "openapi-sampler": "^1.6.2", "react-hook-form": "^7.65.0", "remark": "^15.0.1", "remark-rehype": "^11.1.2", "tinyglobby": "^0.2.15", "xml-js": "^1.6.11" }, "peerDependencies": { "@scalar/api-client-react": "*", "@types/react": "*", "react": "18.x.x || 19.x.x", "react-dom": "18.x.x || 19.x.x" }, "optionalPeers": ["@scalar/api-client-react", "@types/react"] }, "sha512-HS6aeuAtCisWe8J2E9rx5+4nJR6Myg7Qsim6wxAgznHHW6G5QM9UU45WsYjxTzQ4weRvNz6ab5xCkIpYm0PPpQ=="],
|
||||||
|
|
||||||
"fumadocs-ui": ["fumadocs-ui@16.0.1", "", { "dependencies": { "@radix-ui/react-accordion": "^1.2.12", "@radix-ui/react-collapsible": "^1.1.12", "@radix-ui/react-dialog": "^1.1.15", "@radix-ui/react-direction": "^1.1.1", "@radix-ui/react-navigation-menu": "^1.2.14", "@radix-ui/react-popover": "^1.1.15", "@radix-ui/react-presence": "^1.1.5", "@radix-ui/react-scroll-area": "^1.2.10", "@radix-ui/react-slot": "^1.2.3", "@radix-ui/react-tabs": "^1.1.13", "class-variance-authority": "^0.7.1", "fumadocs-core": "16.0.1", "lodash.merge": "^4.6.2", "next-themes": "^0.4.6", "postcss-selector-parser": "^7.1.0", "react-medium-image-zoom": "^5.4.0", "scroll-into-view-if-needed": "^3.1.0", "tailwind-merge": "^3.3.1" }, "peerDependencies": { "@types/react": "*", "next": "16.x.x", "react": "^19.2.0", "react-dom": "^19.2.0", "tailwindcss": "^4.0.0" }, "optionalPeers": ["@types/react", "next", "tailwindcss"] }, "sha512-Obr0uqUxti9XLkq/9pPylH9cUodw3z0t8yXoiw4diJ273N5Z/i0RcGXsgKIDbKERgCZoKe2d+3MR5UIUML6cRw=="],
|
"fumadocs-ui": ["fumadocs-ui@16.0.1", "", { "dependencies": { "@radix-ui/react-accordion": "^1.2.12", "@radix-ui/react-collapsible": "^1.1.12", "@radix-ui/react-dialog": "^1.1.15", "@radix-ui/react-direction": "^1.1.1", "@radix-ui/react-navigation-menu": "^1.2.14", "@radix-ui/react-popover": "^1.1.15", "@radix-ui/react-presence": "^1.1.5", "@radix-ui/react-scroll-area": "^1.2.10", "@radix-ui/react-slot": "^1.2.3", "@radix-ui/react-tabs": "^1.1.13", "class-variance-authority": "^0.7.1", "fumadocs-core": "16.0.1", "lodash.merge": "^4.6.2", "next-themes": "^0.4.6", "postcss-selector-parser": "^7.1.0", "react-medium-image-zoom": "^5.4.0", "scroll-into-view-if-needed": "^3.1.0", "tailwind-merge": "^3.3.1" }, "peerDependencies": { "@types/react": "*", "next": "16.x.x", "react": "^19.2.0", "react-dom": "^19.2.0", "tailwindcss": "^4.0.0" }, "optionalPeers": ["@types/react", "next", "tailwindcss"] }, "sha512-Obr0uqUxti9XLkq/9pPylH9cUodw3z0t8yXoiw4diJ273N5Z/i0RcGXsgKIDbKERgCZoKe2d+3MR5UIUML6cRw=="],
|
||||||
|
|
||||||
|
|
@ -773,7 +773,7 @@
|
||||||
|
|
||||||
"tailwind-merge": ["tailwind-merge@3.3.1", "", {}, "sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g=="],
|
"tailwind-merge": ["tailwind-merge@3.3.1", "", {}, "sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g=="],
|
||||||
|
|
||||||
"tailwindcss": ["tailwindcss@4.1.15", "", {}, "sha512-k2WLnWkYFkdpRv+Oby3EBXIyQC8/s1HOFMBUViwtAh6Z5uAozeUSMQlIsn/c6Q2iJzqG6aJT3wdPaRNj70iYxQ=="],
|
"tailwindcss": ["tailwindcss@4.1.16", "", {}, "sha512-pONL5awpaQX4LN5eiv7moSiSPd/DLDzKVRJz8Q9PgzmAdd1R4307GQS2ZpfiN7ZmekdQrfhZZiSE5jkLR4WNaA=="],
|
||||||
|
|
||||||
"tapable": ["tapable@2.3.0", "", {}, "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg=="],
|
"tapable": ["tapable@2.3.0", "", {}, "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg=="],
|
||||||
|
|
||||||
|
|
@ -839,6 +839,10 @@
|
||||||
|
|
||||||
"@tailwindcss/oxide-wasm32-wasi/tslib": ["tslib@2.8.1", "", { "bundled": true }, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="],
|
"@tailwindcss/oxide-wasm32-wasi/tslib": ["tslib@2.8.1", "", { "bundled": true }, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="],
|
||||||
|
|
||||||
|
"fumadocs-openapi/fumadocs-core": ["fumadocs-core@16.0.2", "", { "dependencies": { "@formatjs/intl-localematcher": "^0.6.2", "@orama/orama": "^3.1.16", "@shikijs/rehype": "^3.13.0", "@shikijs/transformers": "^3.13.0", "github-slugger": "^2.0.0", "hast-util-to-estree": "^3.1.3", "hast-util-to-jsx-runtime": "^2.3.6", "image-size": "^2.0.2", "negotiator": "^1.0.0", "npm-to-yarn": "^3.0.1", "path-to-regexp": "^8.3.0", "remark": "^15.0.1", "remark-gfm": "^4.0.1", "remark-rehype": "^11.1.2", "scroll-into-view-if-needed": "^3.1.0", "shiki": "^3.13.0", "unist-util-visit": "^5.0.0" }, "peerDependencies": { "@mixedbread/sdk": "^0.19.0", "@orama/core": "1.x.x", "@tanstack/react-router": "1.x.x", "@types/react": "*", "algoliasearch": "5.x.x", "lucide-react": "*", "next": "16.x.x", "react": "^19.2.0", "react-dom": "^19.2.0", "react-router": "7.x.x", "waku": "^0.26.0" }, "optionalPeers": ["@mixedbread/sdk", "@orama/core", "@tanstack/react-router", "@types/react", "algoliasearch", "lucide-react", "next", "react", "react-dom", "react-router", "waku"] }, "sha512-mUvdQQTKHDUL4a4KM+vRCj/Ge/UCbp3yr3yiPoO0aK9wMqYJpF/czCyLpdvF+i4WO8oXnjYvQObKkKaceoCWWg=="],
|
||||||
|
|
||||||
|
"fumadocs-openapi/fumadocs-ui": ["fumadocs-ui@16.0.2", "", { "dependencies": { "@radix-ui/react-accordion": "^1.2.12", "@radix-ui/react-collapsible": "^1.1.12", "@radix-ui/react-dialog": "^1.1.15", "@radix-ui/react-direction": "^1.1.1", "@radix-ui/react-navigation-menu": "^1.2.14", "@radix-ui/react-popover": "^1.1.15", "@radix-ui/react-presence": "^1.1.5", "@radix-ui/react-scroll-area": "^1.2.10", "@radix-ui/react-slot": "^1.2.3", "@radix-ui/react-tabs": "^1.1.13", "class-variance-authority": "^0.7.1", "fumadocs-core": "16.0.2", "lodash.merge": "^4.6.2", "next-themes": "^0.4.6", "postcss-selector-parser": "^7.1.0", "react-medium-image-zoom": "^5.4.0", "scroll-into-view-if-needed": "^3.1.0", "tailwind-merge": "^3.3.1" }, "peerDependencies": { "@types/react": "*", "next": "16.x.x", "react": "^19.2.0", "react-dom": "^19.2.0", "tailwindcss": "^4.0.0" }, "optionalPeers": ["@types/react", "next", "tailwindcss"] }, "sha512-GaLU2XDJCc7Od/5EyfnFxTjLkObwPGgCo+jqGZXbYhFNb+yuq6rL+7DYnHvWIwzNEmfp3Try3TgutbZB8C66kQ=="],
|
||||||
|
|
||||||
"gray-matter/js-yaml": ["js-yaml@3.14.1", "", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g=="],
|
"gray-matter/js-yaml": ["js-yaml@3.14.1", "", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g=="],
|
||||||
|
|
||||||
"next/postcss": ["postcss@8.4.31", "", { "dependencies": { "nanoid": "^3.3.6", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" } }, "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ=="],
|
"next/postcss": ["postcss@8.4.31", "", { "dependencies": { "nanoid": "^3.3.6", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" } }, "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ=="],
|
||||||
|
|
|
||||||
20
docs/content/docs/format_autocomplete.mdx
Normal file
20
docs/content/docs/format_autocomplete.mdx
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
---
|
||||||
|
title: format_autocomplete
|
||||||
|
full: true
|
||||||
|
_openapi:
|
||||||
|
method: POST
|
||||||
|
route: format_autocomplete
|
||||||
|
toc: []
|
||||||
|
structuredData:
|
||||||
|
headings: []
|
||||||
|
contents:
|
||||||
|
- content: |
|
||||||
|
Return a list of resource formats whose names contain a string.
|
||||||
|
---
|
||||||
|
|
||||||
|
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||||
|
|
||||||
|
Return a list of resource formats whose names contain a string.
|
||||||
|
|
||||||
|
|
||||||
|
<APIPage document={"./lib/openapi.yml"} operations={[{"path":"format_autocomplete","method":"post"}]} webhooks={[]} hasHead={false} />
|
||||||
20
docs/content/docs/group_autocomplete.mdx
Normal file
20
docs/content/docs/group_autocomplete.mdx
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
---
|
||||||
|
title: group_autocomplete
|
||||||
|
full: true
|
||||||
|
_openapi:
|
||||||
|
method: POST
|
||||||
|
route: group_autocomplete
|
||||||
|
toc: []
|
||||||
|
structuredData:
|
||||||
|
headings: []
|
||||||
|
contents:
|
||||||
|
- content: |
|
||||||
|
Return a list of group names that contain a string.
|
||||||
|
---
|
||||||
|
|
||||||
|
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||||
|
|
||||||
|
Return a list of group names that contain a string.
|
||||||
|
|
||||||
|
|
||||||
|
<APIPage document={"./lib/openapi.yml"} operations={[{"path":"group_autocomplete","method":"post"}]} webhooks={[]} hasHead={false} />
|
||||||
20
docs/content/docs/organization_autocomplete.mdx
Normal file
20
docs/content/docs/organization_autocomplete.mdx
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
---
|
||||||
|
title: organization_autocomplete
|
||||||
|
full: true
|
||||||
|
_openapi:
|
||||||
|
method: POST
|
||||||
|
route: organization_autocomplete
|
||||||
|
toc: []
|
||||||
|
structuredData:
|
||||||
|
headings: []
|
||||||
|
contents:
|
||||||
|
- content: |
|
||||||
|
Return a list of organization names that contain a string.
|
||||||
|
---
|
||||||
|
|
||||||
|
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||||
|
|
||||||
|
Return a list of organization names that contain a string.
|
||||||
|
|
||||||
|
|
||||||
|
<APIPage document={"./lib/openapi.yml"} operations={[{"path":"organization_autocomplete","method":"post"}]} webhooks={[]} hasHead={false} />
|
||||||
26
docs/content/docs/package_autocomplete.mdx
Normal file
26
docs/content/docs/package_autocomplete.mdx
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
---
|
||||||
|
title: package_autocomplete
|
||||||
|
full: true
|
||||||
|
_openapi:
|
||||||
|
method: POST
|
||||||
|
route: package_autocomplete
|
||||||
|
toc: []
|
||||||
|
structuredData:
|
||||||
|
headings: []
|
||||||
|
contents:
|
||||||
|
- content: >
|
||||||
|
Return a list of datasets (packages) that match a string.
|
||||||
|
|
||||||
|
|
||||||
|
Datasets with names or titles that contain the query string will be
|
||||||
|
returned.
|
||||||
|
---
|
||||||
|
|
||||||
|
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||||
|
|
||||||
|
Return a list of datasets (packages) that match a string.
|
||||||
|
|
||||||
|
Datasets with names or titles that contain the query string will be returned.
|
||||||
|
|
||||||
|
|
||||||
|
<APIPage document={"./lib/openapi.yml"} operations={[{"path":"package_autocomplete","method":"post"}]} webhooks={[]} hasHead={false} />
|
||||||
127
docs/content/docs/resource_search.mdx
Normal file
127
docs/content/docs/resource_search.mdx
Normal file
|
|
@ -0,0 +1,127 @@
|
||||||
|
---
|
||||||
|
title: resource_search
|
||||||
|
full: true
|
||||||
|
_openapi:
|
||||||
|
method: POST
|
||||||
|
route: resource_search
|
||||||
|
toc: []
|
||||||
|
structuredData:
|
||||||
|
headings: []
|
||||||
|
contents:
|
||||||
|
- content: >
|
||||||
|
Searches for resources in public Datasets satisfying the search
|
||||||
|
criteria.
|
||||||
|
|
||||||
|
|
||||||
|
It returns a dictionary with 2 fields: `count` and `results`. The
|
||||||
|
`count` field contains the total number of Resources found without the
|
||||||
|
limit or query parameters having an effect. The `results` field is a
|
||||||
|
list of dictized Resource objects.
|
||||||
|
|
||||||
|
|
||||||
|
The 'query' parameter is a required field. It is a string of the form
|
||||||
|
`{field}:{term}` or a list of strings, each of the same form. Within
|
||||||
|
each string, `{field}` is a field or extra field on the Resource
|
||||||
|
domain object.
|
||||||
|
|
||||||
|
|
||||||
|
If `{field}` is `"hash"`, then an attempt is made to match the
|
||||||
|
`{term}` as a *prefix* of the `Resource.hash` field.
|
||||||
|
|
||||||
|
|
||||||
|
If `{field}` is an extra field, then an attempt is made to match
|
||||||
|
against the extra fields stored against the Resource.
|
||||||
|
|
||||||
|
|
||||||
|
Note: The search is limited to search against extra fields declared in
|
||||||
|
the config setting `ckan.extra_resource_fields`.
|
||||||
|
|
||||||
|
|
||||||
|
Note: Due to a Resource's extra fields being stored as a json blob,
|
||||||
|
the match is made against the json string representation. As such,
|
||||||
|
false positives may occur:
|
||||||
|
|
||||||
|
|
||||||
|
If the search criteria is:
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
query = "field1:term1"
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
Then a json blob with the string representation of:
|
||||||
|
|
||||||
|
|
||||||
|
```json
|
||||||
|
|
||||||
|
{"field1": "foo", "field2": "term1"}
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
will match the search criteria! This is a known short-coming of this
|
||||||
|
approach.
|
||||||
|
|
||||||
|
|
||||||
|
All matches are made ignoring case; and apart from the `"hash"` field,
|
||||||
|
a term matches if it is a substring of the field's value.
|
||||||
|
|
||||||
|
|
||||||
|
Finally, when specifying more than one search criteria, the criteria
|
||||||
|
are AND-ed together.
|
||||||
|
|
||||||
|
|
||||||
|
The `order` parameter is used to control the ordering of the results.
|
||||||
|
Currently only ordering one field is available, and in ascending order
|
||||||
|
only.
|
||||||
|
|
||||||
|
|
||||||
|
The context may contain a flag, *search_query*, which if True will
|
||||||
|
make this action behave as if being used by the internal search api.
|
||||||
|
ie - the results will not be dictized, and SearchErrors are thrown for
|
||||||
|
bad search queries (rather than ValidationErrors).
|
||||||
|
---
|
||||||
|
|
||||||
|
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||||
|
|
||||||
|
Searches for resources in public Datasets satisfying the search criteria.
|
||||||
|
|
||||||
|
It returns a dictionary with 2 fields: `count` and `results`. The `count` field contains the total number of Resources found without the limit or query parameters having an effect. The `results` field is a list of dictized Resource objects.
|
||||||
|
|
||||||
|
The 'query' parameter is a required field. It is a string of the form `{field}:{term}` or a list of strings, each of the same form. Within each string, `{field}` is a field or extra field on the Resource domain object.
|
||||||
|
|
||||||
|
If `{field}` is `"hash"`, then an attempt is made to match the `{term}` as a *prefix* of the `Resource.hash` field.
|
||||||
|
|
||||||
|
If `{field}` is an extra field, then an attempt is made to match against the extra fields stored against the Resource.
|
||||||
|
|
||||||
|
Note: The search is limited to search against extra fields declared in the config setting `ckan.extra_resource_fields`.
|
||||||
|
|
||||||
|
Note: Due to a Resource's extra fields being stored as a json blob, the match is made against the json string representation. As such, false positives may occur:
|
||||||
|
|
||||||
|
If the search criteria is:
|
||||||
|
|
||||||
|
```
|
||||||
|
query = "field1:term1"
|
||||||
|
```
|
||||||
|
|
||||||
|
Then a json blob with the string representation of:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{"field1": "foo", "field2": "term1"}
|
||||||
|
```
|
||||||
|
|
||||||
|
will match the search criteria! This is a known short-coming of this approach.
|
||||||
|
|
||||||
|
All matches are made ignoring case; and apart from the `"hash"` field, a term matches if it is a substring of the field's value.
|
||||||
|
|
||||||
|
Finally, when specifying more than one search criteria, the criteria are AND-ed together.
|
||||||
|
|
||||||
|
The `order` parameter is used to control the ordering of the results. Currently only ordering one field is available, and in ascending order only.
|
||||||
|
|
||||||
|
The context may contain a flag, *search_query*, which if True will make this action behave as if being used by the internal search api. ie - the results will not be dictized, and SearchErrors are thrown for bad search queries (rather than ValidationErrors).
|
||||||
|
|
||||||
|
|
||||||
|
<APIPage document={"./lib/openapi.yml"} operations={[{"path":"resource_search","method":"post"}]} webhooks={[]} hasHead={false} />
|
||||||
20
docs/content/docs/user_autocomplete.mdx
Normal file
20
docs/content/docs/user_autocomplete.mdx
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
---
|
||||||
|
title: user_autocomplete
|
||||||
|
full: true
|
||||||
|
_openapi:
|
||||||
|
method: POST
|
||||||
|
route: user_autocomplete
|
||||||
|
toc: []
|
||||||
|
structuredData:
|
||||||
|
headings: []
|
||||||
|
contents:
|
||||||
|
- content: |
|
||||||
|
Return a list of user names that contain a string.
|
||||||
|
---
|
||||||
|
|
||||||
|
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
|
||||||
|
|
||||||
|
Return a list of user names that contain a string.
|
||||||
|
|
||||||
|
|
||||||
|
<APIPage document={"./lib/openapi.yml"} operations={[{"path":"user_autocomplete","method":"post"}]} webhooks={[]} hasHead={false} />
|
||||||
|
|
@ -585,81 +585,105 @@ paths:
|
||||||
include_plugin_extras:
|
include_plugin_extras:
|
||||||
type: boolean
|
type: boolean
|
||||||
description: "include the internal plugin extras object (sysadmin only, default: `False`)"
|
description: "include the internal plugin extras object (sysadmin only, default: `False`)"
|
||||||
status_show:
|
package_autocomplete:
|
||||||
get:
|
|
||||||
operationId: status_show
|
|
||||||
summary: status_show
|
|
||||||
description: This endpoint shows information about the CKAN instance.
|
|
||||||
x-codeSamples:
|
|
||||||
- lang: rust
|
|
||||||
label: Rust SDK (ckanaction) example
|
|
||||||
source: |
|
|
||||||
use dotenvy::dotenv;
|
|
||||||
|
|
||||||
#[tokio::main]
|
|
||||||
async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|
||||||
// Load environment variables from .env file
|
|
||||||
dotenv()?;
|
|
||||||
|
|
||||||
// Initialize and build CKAN struct
|
|
||||||
let ckan = ckanaction::CKAN::builder()
|
|
||||||
.url("http://localhost:5000")
|
|
||||||
.token(dotenvy::var("CKAN_API_TOKEN")?)
|
|
||||||
.build();
|
|
||||||
|
|
||||||
// Send request to /status_show and print output
|
|
||||||
let result = ckan.status_show().await?;
|
|
||||||
println!("{result:#?}");
|
|
||||||
|
|
||||||
Ok(())
|
|
||||||
}
|
|
||||||
'package_list':
|
|
||||||
post:
|
post:
|
||||||
operationId: package_list
|
operationId: package_autocomplete
|
||||||
summary: package_list
|
summary: package_autocomplete
|
||||||
description: This endpoint lists CKAN resources.
|
description: |
|
||||||
|
Return a list of datasets (packages) that match a string.
|
||||||
|
|
||||||
|
Datasets with names or titles that contain the query string will be returned.
|
||||||
requestBody:
|
requestBody:
|
||||||
required: false
|
required: false
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
# required:
|
|
||||||
# - project_uuid
|
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
|
q:
|
||||||
|
type: string
|
||||||
|
description: the string to search for
|
||||||
limit:
|
limit:
|
||||||
type: integer
|
type: integer
|
||||||
description: if given, the list of datasets will be broken into pages of at most `limit` datasets per page and only one page will be returned at a time
|
# Original docs typo? Should this be max number of datasets?
|
||||||
offset:
|
description: "the maximum number of datasets to return (default: `10`)"
|
||||||
|
format_autocomplete:
|
||||||
|
post:
|
||||||
|
operationId: format_autocomplete
|
||||||
|
summary: format_autocomplete
|
||||||
|
description: |
|
||||||
|
Return a list of resource formats whose names contain a string.
|
||||||
|
requestBody:
|
||||||
|
required: false
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
q:
|
||||||
|
type: string
|
||||||
|
description: the string to search for
|
||||||
|
limit:
|
||||||
type: integer
|
type: integer
|
||||||
description: when limit is given, the offset to start returning packages from
|
description: "the maximum number of resource formats to return (default: `5`)"
|
||||||
x-codeSamples:
|
user_autocomplete:
|
||||||
- lang: rust
|
post:
|
||||||
label: Rust SDK (ckanaction) example
|
operationId: user_autocomplete
|
||||||
source: |
|
summary: user_autocomplete
|
||||||
use dotenvy::dotenv;
|
description: |
|
||||||
|
Return a list of user names that contain a string.
|
||||||
#[tokio::main]
|
requestBody:
|
||||||
async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
required: false
|
||||||
// Load environment variables from .env file
|
content:
|
||||||
dotenv()?;
|
application/json:
|
||||||
|
schema:
|
||||||
// Initialize and build CKAN struct
|
type: object
|
||||||
let ckan = ckanaction::CKAN::builder()
|
properties:
|
||||||
.url("http://localhost:5000")
|
q:
|
||||||
.token(dotenvy::var("CKAN_API_TOKEN")?)
|
type: string
|
||||||
.build();
|
description: the string to search for
|
||||||
|
limit:
|
||||||
// Send request to /package_list and print output
|
type: integer
|
||||||
let result = ckan.package_list()
|
description: "the maximum number of user names to return (default: `20`)"
|
||||||
.limit(5) // <-- This is an optional parameter you can remove
|
group_autocomplete:
|
||||||
.call()
|
post:
|
||||||
.await?;
|
operationId: group_autocomplete
|
||||||
println!("{result:#?}");
|
summary: group_autocomplete
|
||||||
|
description: |
|
||||||
Ok(())
|
Return a list of group names that contain a string.
|
||||||
}
|
requestBody:
|
||||||
'package_search':
|
required: false
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
q:
|
||||||
|
type: string
|
||||||
|
description: the string to search for
|
||||||
|
limit:
|
||||||
|
type: integer
|
||||||
|
description: "the maximum number of groups to return (default: `20`)"
|
||||||
|
organization_autocomplete:
|
||||||
|
post:
|
||||||
|
operationId: organization_autocomplete
|
||||||
|
summary: organization_autocomplete
|
||||||
|
description: |
|
||||||
|
Return a list of organization names that contain a string.
|
||||||
|
requestBody:
|
||||||
|
required: false
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
q:
|
||||||
|
type: string
|
||||||
|
description: the string to search for
|
||||||
|
limit:
|
||||||
|
type: integer
|
||||||
|
description: "the maximum number of organizations to return (default: `20`)"
|
||||||
|
package_search:
|
||||||
post:
|
post:
|
||||||
operationId: package_search
|
operationId: package_search
|
||||||
summary: package_search
|
summary: package_search
|
||||||
|
|
@ -766,5 +790,138 @@ paths:
|
||||||
.await?;
|
.await?;
|
||||||
println!("{result:#?}");
|
println!("{result:#?}");
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
resource_search:
|
||||||
|
post:
|
||||||
|
operationId: resource_search
|
||||||
|
summary: resource_search
|
||||||
|
description: |
|
||||||
|
Searches for resources in public Datasets satisfying the search criteria.
|
||||||
|
|
||||||
|
It returns a dictionary with 2 fields: `count` and `results`. The `count` field contains the total number of Resources found without the limit or query parameters having an effect. The `results` field is a list of dictized Resource objects.
|
||||||
|
|
||||||
|
The 'query' parameter is a required field. It is a string of the form `{field}:{term}` or a list of strings, each of the same form. Within each string, `{field}` is a field or extra field on the Resource domain object.
|
||||||
|
|
||||||
|
If `{field}` is `"hash"`, then an attempt is made to match the `{term}` as a *prefix* of the `Resource.hash` field.
|
||||||
|
|
||||||
|
If `{field}` is an extra field, then an attempt is made to match against the extra fields stored against the Resource.
|
||||||
|
|
||||||
|
Note: The search is limited to search against extra fields declared in the config setting `ckan.extra_resource_fields`.
|
||||||
|
|
||||||
|
Note: Due to a Resource's extra fields being stored as a json blob, the match is made against the json string representation. As such, false positives may occur:
|
||||||
|
|
||||||
|
If the search criteria is:
|
||||||
|
|
||||||
|
```
|
||||||
|
query = "field1:term1"
|
||||||
|
```
|
||||||
|
|
||||||
|
Then a json blob with the string representation of:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{"field1": "foo", "field2": "term1"}
|
||||||
|
```
|
||||||
|
|
||||||
|
will match the search criteria! This is a known short-coming of this approach.
|
||||||
|
|
||||||
|
All matches are made ignoring case; and apart from the `"hash"` field, a term matches if it is a substring of the field's value.
|
||||||
|
|
||||||
|
Finally, when specifying more than one search criteria, the criteria are AND-ed together.
|
||||||
|
|
||||||
|
The `order` parameter is used to control the ordering of the results. Currently only ordering one field is available, and in ascending order only.
|
||||||
|
|
||||||
|
The context may contain a flag, *search_query*, which if True will make this action behave as if being used by the internal search api. ie - the results will not be dictized, and SearchErrors are thrown for bad search queries (rather than ValidationErrors).
|
||||||
|
requestBody:
|
||||||
|
required: false
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
query:
|
||||||
|
type: string
|
||||||
|
description: the search criteria
|
||||||
|
order_by:
|
||||||
|
type: string
|
||||||
|
description: a field on the Resource model that orders the results
|
||||||
|
offset:
|
||||||
|
type: integer
|
||||||
|
description: apply an offset to the query
|
||||||
|
limit:
|
||||||
|
type: integer
|
||||||
|
description: apply a limit to the query
|
||||||
|
status_show:
|
||||||
|
get:
|
||||||
|
operationId: status_show
|
||||||
|
summary: status_show
|
||||||
|
description: This endpoint shows information about the CKAN instance.
|
||||||
|
x-codeSamples:
|
||||||
|
- lang: rust
|
||||||
|
label: Rust SDK (ckanaction) example
|
||||||
|
source: |
|
||||||
|
use dotenvy::dotenv;
|
||||||
|
|
||||||
|
#[tokio::main]
|
||||||
|
async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||||
|
// Load environment variables from .env file
|
||||||
|
dotenv()?;
|
||||||
|
|
||||||
|
// Initialize and build CKAN struct
|
||||||
|
let ckan = ckanaction::CKAN::builder()
|
||||||
|
.url("http://localhost:5000")
|
||||||
|
.token(dotenvy::var("CKAN_API_TOKEN")?)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
// Send request to /status_show and print output
|
||||||
|
let result = ckan.status_show().await?;
|
||||||
|
println!("{result:#?}");
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
'package_list':
|
||||||
|
post:
|
||||||
|
operationId: package_list
|
||||||
|
summary: package_list
|
||||||
|
description: This endpoint lists CKAN resources.
|
||||||
|
requestBody:
|
||||||
|
required: false
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
# required:
|
||||||
|
# - project_uuid
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
limit:
|
||||||
|
type: integer
|
||||||
|
description: if given, the list of datasets will be broken into pages of at most `limit` datasets per page and only one page will be returned at a time
|
||||||
|
offset:
|
||||||
|
type: integer
|
||||||
|
description: when limit is given, the offset to start returning packages from
|
||||||
|
x-codeSamples:
|
||||||
|
- lang: rust
|
||||||
|
label: Rust SDK (ckanaction) example
|
||||||
|
source: |
|
||||||
|
use dotenvy::dotenv;
|
||||||
|
|
||||||
|
#[tokio::main]
|
||||||
|
async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||||
|
// Load environment variables from .env file
|
||||||
|
dotenv()?;
|
||||||
|
|
||||||
|
// Initialize and build CKAN struct
|
||||||
|
let ckan = ckanaction::CKAN::builder()
|
||||||
|
.url("http://localhost:5000")
|
||||||
|
.token(dotenvy::var("CKAN_API_TOKEN")?)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
// Send request to /package_list and print output
|
||||||
|
let result = ckan.package_list()
|
||||||
|
.limit(5) // <-- This is an optional parameter you can remove
|
||||||
|
.call()
|
||||||
|
.await?;
|
||||||
|
println!("{result:#?}");
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"fumadocs-core": "16.0.1",
|
"fumadocs-core": "16.0.1",
|
||||||
"fumadocs-mdx": "13.0.0",
|
"fumadocs-mdx": "13.0.0",
|
||||||
"fumadocs-openapi": "^9.6.1",
|
"fumadocs-openapi": "^9.6.2",
|
||||||
"fumadocs-ui": "16.0.1",
|
"fumadocs-ui": "16.0.1",
|
||||||
"lucide-react": "^0.546.0",
|
"lucide-react": "^0.546.0",
|
||||||
"next": "^16.0.0",
|
"next": "^16.0.0",
|
||||||
|
|
@ -23,14 +23,14 @@
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@biomejs/biome": "^2.2.7",
|
"@biomejs/biome": "^2.2.7",
|
||||||
"@tailwindcss/postcss": "^4.1.15",
|
"@tailwindcss/postcss": "^4.1.16",
|
||||||
"@types/mdx": "^2.0.13",
|
"@types/mdx": "^2.0.13",
|
||||||
"@types/node": "24.9.1",
|
"@types/node": "24.9.1",
|
||||||
"@types/react": "^19.2.2",
|
"@types/react": "^19.2.2",
|
||||||
"@types/react-dom": "^19.2.2",
|
"@types/react-dom": "^19.2.2",
|
||||||
"openapi-types": "^12.1.3",
|
"openapi-types": "^12.1.3",
|
||||||
"postcss": "^8.5.6",
|
"postcss": "^8.5.6",
|
||||||
"tailwindcss": "^4.1.15",
|
"tailwindcss": "^4.1.16",
|
||||||
"typescript": "^5.9.3"
|
"typescript": "^5.9.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -39,7 +39,8 @@
|
||||||
"**/*.tsx",
|
"**/*.tsx",
|
||||||
".next/types/**/*.ts",
|
".next/types/**/*.ts",
|
||||||
".next\\dev/types/**/*.ts",
|
".next\\dev/types/**/*.ts",
|
||||||
".next\\dev/types/**/*.ts"
|
".next\\dev/types/**/*.ts",
|
||||||
|
".next/dev/types/**/*.ts"
|
||||||
],
|
],
|
||||||
"exclude": [
|
"exclude": [
|
||||||
"node_modules"
|
"node_modules"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue