@nocobase/plugin-file-manager 2.3.0-beta.3 → 3.0.0-alpha.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,7 +8,7 @@
8
8
  */
9
9
 
10
10
  module.exports = {
11
- "@nocobase/client": "2.3.0-beta.3",
11
+ "@nocobase/client": "3.0.0-alpha.11",
12
12
  "react": "18.2.0",
13
13
  "antd": "5.24.2",
14
14
  "@ant-design/icons": "5.6.1",
@@ -16,20 +16,20 @@ module.exports = {
16
16
  "lodash": "4.18.1",
17
17
  "react-i18next": "11.18.6",
18
18
  "@formily/react": "2.3.7",
19
- "@nocobase/flow-engine": "2.3.0-beta.3",
20
- "@nocobase/client-v2": "2.3.0-beta.3",
21
- "@nocobase/actions": "2.3.0-beta.3",
22
- "@nocobase/data-source-manager": "2.3.0-beta.3",
19
+ "@nocobase/flow-engine": "3.0.0-alpha.11",
20
+ "@nocobase/client-v2": "3.0.0-alpha.11",
21
+ "@nocobase/actions": "3.0.0-alpha.11",
22
+ "@nocobase/data-source-manager": "3.0.0-alpha.11",
23
23
  "multer": "2.1.1",
24
- "@nocobase/acl": "2.3.0-beta.3",
25
- "@nocobase/database": "2.3.0-beta.3",
26
- "@nocobase/server": "2.3.0-beta.3",
27
- "@nocobase/utils": "2.3.0-beta.3",
24
+ "@nocobase/acl": "3.0.0-alpha.11",
25
+ "@nocobase/database": "3.0.0-alpha.11",
26
+ "@nocobase/server": "3.0.0-alpha.11",
27
+ "@nocobase/utils": "3.0.0-alpha.11",
28
28
  "jsonwebtoken": "9.0.2",
29
- "@nocobase/test": "2.3.0-beta.3",
29
+ "@nocobase/test": "3.0.0-alpha.11",
30
30
  "@emotion/css": "11.13.0",
31
31
  "ahooks": "3.7.8",
32
- "@nocobase/plugin-data-source-main": "2.3.0-beta.3",
32
+ "@nocobase/plugin-data-source-main": "3.0.0-alpha.11",
33
33
  "sequelize": "6.35.2",
34
34
  "axios": "1.7.7"
35
35
  };
@@ -1 +1 @@
1
- {"name":"@aws-sdk/client-s3","description":"AWS SDK for JavaScript S3 Client for Node.js, Browser and React Native","version":"3.750.0","scripts":{"build":"concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'","build:cjs":"node ../../scripts/compilation/inline client-s3","build:es":"tsc -p tsconfig.es.json","build:include:deps":"lerna run --scope $npm_package_name --include-dependencies build","build:types":"tsc -p tsconfig.types.json","build:types:downlevel":"downlevel-dts dist-types dist-types/ts3.4","clean":"rimraf ./dist-* && rimraf *.tsbuildinfo","extract:docs":"api-extractor run --local","generate:client":"node ../../scripts/generate-clients/single-service --solo s3","test":"yarn g:vitest run","test:browser":"node ./test/browser-build/esbuild && yarn g:vitest run -c vitest.config.browser.ts","test:browser:watch":"node ./test/browser-build/esbuild && yarn g:vitest watch -c vitest.config.browser.ts","test:e2e":"yarn g:vitest run -c vitest.config.e2e.ts && yarn test:browser","test:e2e:watch":"yarn g:vitest watch -c vitest.config.e2e.ts","test:watch":"yarn g:vitest watch"},"main":"./dist-cjs/index.js","types":"./dist-types/index.d.ts","module":"./dist-es/index.js","sideEffects":false,"dependencies":{"@aws-crypto/sha1-browser":"5.2.0","@aws-crypto/sha256-browser":"5.2.0","@aws-crypto/sha256-js":"5.2.0","@aws-sdk/core":"3.750.0","@aws-sdk/credential-provider-node":"3.750.0","@aws-sdk/middleware-bucket-endpoint":"3.734.0","@aws-sdk/middleware-expect-continue":"3.734.0","@aws-sdk/middleware-flexible-checksums":"3.750.0","@aws-sdk/middleware-host-header":"3.734.0","@aws-sdk/middleware-location-constraint":"3.734.0","@aws-sdk/middleware-logger":"3.734.0","@aws-sdk/middleware-recursion-detection":"3.734.0","@aws-sdk/middleware-sdk-s3":"3.750.0","@aws-sdk/middleware-ssec":"3.734.0","@aws-sdk/middleware-user-agent":"3.750.0","@aws-sdk/region-config-resolver":"3.734.0","@aws-sdk/signature-v4-multi-region":"3.750.0","@aws-sdk/types":"3.734.0","@aws-sdk/util-endpoints":"3.743.0","@aws-sdk/util-user-agent-browser":"3.734.0","@aws-sdk/util-user-agent-node":"3.750.0","@aws-sdk/xml-builder":"3.734.0","@smithy/config-resolver":"^4.0.1","@smithy/core":"^3.1.4","@smithy/eventstream-serde-browser":"^4.0.1","@smithy/eventstream-serde-config-resolver":"^4.0.1","@smithy/eventstream-serde-node":"^4.0.1","@smithy/fetch-http-handler":"^5.0.1","@smithy/hash-blob-browser":"^4.0.1","@smithy/hash-node":"^4.0.1","@smithy/hash-stream-node":"^4.0.1","@smithy/invalid-dependency":"^4.0.1","@smithy/md5-js":"^4.0.1","@smithy/middleware-content-length":"^4.0.1","@smithy/middleware-endpoint":"^4.0.5","@smithy/middleware-retry":"^4.0.6","@smithy/middleware-serde":"^4.0.2","@smithy/middleware-stack":"^4.0.1","@smithy/node-config-provider":"^4.0.1","@smithy/node-http-handler":"^4.0.2","@smithy/protocol-http":"^5.0.1","@smithy/smithy-client":"^4.1.5","@smithy/types":"^4.1.0","@smithy/url-parser":"^4.0.1","@smithy/util-base64":"^4.0.0","@smithy/util-body-length-browser":"^4.0.0","@smithy/util-body-length-node":"^4.0.0","@smithy/util-defaults-mode-browser":"^4.0.6","@smithy/util-defaults-mode-node":"^4.0.6","@smithy/util-endpoints":"^3.0.1","@smithy/util-middleware":"^4.0.1","@smithy/util-retry":"^4.0.1","@smithy/util-stream":"^4.1.1","@smithy/util-utf8":"^4.0.0","@smithy/util-waiter":"^4.0.2","tslib":"^2.6.2"},"devDependencies":{"@aws-sdk/signature-v4-crt":"3.750.0","@tsconfig/node18":"18.2.4","@types/node":"^18.19.69","concurrently":"7.0.0","downlevel-dts":"0.10.1","rimraf":"3.0.2","typescript":"~5.2.2"},"engines":{"node":">=18.0.0"},"typesVersions":{"<4.0":{"dist-types/*":["dist-types/ts3.4/*"]}},"files":["dist-*/**"],"author":{"name":"AWS SDK for JavaScript Team","url":"https://aws.amazon.com/javascript/"},"license":"Apache-2.0","browser":{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.browser"},"react-native":{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.native"},"homepage":"https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3","repository":{"type":"git","url":"https://github.com/aws/aws-sdk-js-v3.git","directory":"clients/client-s3"},"_lastModified":"2026-08-22T03:11:36.488Z"}
1
+ {"name":"@aws-sdk/client-s3","description":"AWS SDK for JavaScript S3 Client for Node.js, Browser and React Native","version":"3.750.0","scripts":{"build":"concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'","build:cjs":"node ../../scripts/compilation/inline client-s3","build:es":"tsc -p tsconfig.es.json","build:include:deps":"lerna run --scope $npm_package_name --include-dependencies build","build:types":"tsc -p tsconfig.types.json","build:types:downlevel":"downlevel-dts dist-types dist-types/ts3.4","clean":"rimraf ./dist-* && rimraf *.tsbuildinfo","extract:docs":"api-extractor run --local","generate:client":"node ../../scripts/generate-clients/single-service --solo s3","test":"yarn g:vitest run","test:browser":"node ./test/browser-build/esbuild && yarn g:vitest run -c vitest.config.browser.ts","test:browser:watch":"node ./test/browser-build/esbuild && yarn g:vitest watch -c vitest.config.browser.ts","test:e2e":"yarn g:vitest run -c vitest.config.e2e.ts && yarn test:browser","test:e2e:watch":"yarn g:vitest watch -c vitest.config.e2e.ts","test:watch":"yarn g:vitest watch"},"main":"./dist-cjs/index.js","types":"./dist-types/index.d.ts","module":"./dist-es/index.js","sideEffects":false,"dependencies":{"@aws-crypto/sha1-browser":"5.2.0","@aws-crypto/sha256-browser":"5.2.0","@aws-crypto/sha256-js":"5.2.0","@aws-sdk/core":"3.750.0","@aws-sdk/credential-provider-node":"3.750.0","@aws-sdk/middleware-bucket-endpoint":"3.734.0","@aws-sdk/middleware-expect-continue":"3.734.0","@aws-sdk/middleware-flexible-checksums":"3.750.0","@aws-sdk/middleware-host-header":"3.734.0","@aws-sdk/middleware-location-constraint":"3.734.0","@aws-sdk/middleware-logger":"3.734.0","@aws-sdk/middleware-recursion-detection":"3.734.0","@aws-sdk/middleware-sdk-s3":"3.750.0","@aws-sdk/middleware-ssec":"3.734.0","@aws-sdk/middleware-user-agent":"3.750.0","@aws-sdk/region-config-resolver":"3.734.0","@aws-sdk/signature-v4-multi-region":"3.750.0","@aws-sdk/types":"3.734.0","@aws-sdk/util-endpoints":"3.743.0","@aws-sdk/util-user-agent-browser":"3.734.0","@aws-sdk/util-user-agent-node":"3.750.0","@aws-sdk/xml-builder":"3.734.0","@smithy/config-resolver":"^4.0.1","@smithy/core":"^3.1.4","@smithy/eventstream-serde-browser":"^4.0.1","@smithy/eventstream-serde-config-resolver":"^4.0.1","@smithy/eventstream-serde-node":"^4.0.1","@smithy/fetch-http-handler":"^5.0.1","@smithy/hash-blob-browser":"^4.0.1","@smithy/hash-node":"^4.0.1","@smithy/hash-stream-node":"^4.0.1","@smithy/invalid-dependency":"^4.0.1","@smithy/md5-js":"^4.0.1","@smithy/middleware-content-length":"^4.0.1","@smithy/middleware-endpoint":"^4.0.5","@smithy/middleware-retry":"^4.0.6","@smithy/middleware-serde":"^4.0.2","@smithy/middleware-stack":"^4.0.1","@smithy/node-config-provider":"^4.0.1","@smithy/node-http-handler":"^4.0.2","@smithy/protocol-http":"^5.0.1","@smithy/smithy-client":"^4.1.5","@smithy/types":"^4.1.0","@smithy/url-parser":"^4.0.1","@smithy/util-base64":"^4.0.0","@smithy/util-body-length-browser":"^4.0.0","@smithy/util-body-length-node":"^4.0.0","@smithy/util-defaults-mode-browser":"^4.0.6","@smithy/util-defaults-mode-node":"^4.0.6","@smithy/util-endpoints":"^3.0.1","@smithy/util-middleware":"^4.0.1","@smithy/util-retry":"^4.0.1","@smithy/util-stream":"^4.1.1","@smithy/util-utf8":"^4.0.0","@smithy/util-waiter":"^4.0.2","tslib":"^2.6.2"},"devDependencies":{"@aws-sdk/signature-v4-crt":"3.750.0","@tsconfig/node18":"18.2.4","@types/node":"^18.19.69","concurrently":"7.0.0","downlevel-dts":"0.10.1","rimraf":"3.0.2","typescript":"~5.2.2"},"engines":{"node":">=18.0.0"},"typesVersions":{"<4.0":{"dist-types/*":["dist-types/ts3.4/*"]}},"files":["dist-*/**"],"author":{"name":"AWS SDK for JavaScript Team","url":"https://aws.amazon.com/javascript/"},"license":"Apache-2.0","browser":{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.browser"},"react-native":{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.native"},"homepage":"https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3","repository":{"type":"git","url":"https://github.com/aws/aws-sdk-js-v3.git","directory":"clients/client-s3"},"_lastModified":"2026-08-23T06:23:46.871Z"}
@@ -1 +1 @@
1
- {"name":"@aws-sdk/lib-storage","version":"3.750.0","description":"Storage higher order operation","main":"./dist-cjs/index.js","module":"./dist-es/index.js","types":"./dist-types/index.d.ts","scripts":{"build":"concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'","build:cjs":"node ../../scripts/compilation/inline lib-storage","build:es":"tsc -p tsconfig.es.json","build:include:deps":"lerna run --scope $npm_package_name --include-dependencies build","build:types":"tsc -p tsconfig.types.json","build:types:downlevel":"downlevel-dts dist-types dist-types/ts3.4","clean":"rimraf ./dist-* && rimraf *.tsbuildinfo","extract:docs":"api-extractor run --local","test":"yarn g:vitest run","test:e2e":"yarn g:vitest run -c vitest.config.e2e.ts --mode development","test:watch":"yarn g:vitest watch","test:e2e:watch":"yarn g:vitest watch -c vitest.config.e2e.ts"},"engines":{"node":">=18.0.0"},"author":{"name":"AWS SDK for JavaScript Team","url":"https://aws.amazon.com/javascript/"},"license":"Apache-2.0","dependencies":{"@smithy/abort-controller":"^4.0.1","@smithy/middleware-endpoint":"^4.0.5","@smithy/smithy-client":"^4.1.5","buffer":"5.6.0","events":"3.3.0","stream-browserify":"3.0.0","tslib":"^2.6.2"},"peerDependencies":{"@aws-sdk/client-s3":"^3.750.0"},"devDependencies":{"@aws-sdk/client-s3":"3.750.0","@smithy/types":"^4.1.0","@tsconfig/recommended":"1.0.1","@types/node":"^18.19.69","concurrently":"7.0.0","downlevel-dts":"0.10.1","rimraf":"3.0.2","typescript":"~5.2.2","web-streams-polyfill":"3.2.1"},"typesVersions":{"<4.0":{"dist-types/*":["dist-types/ts3.4/*"]}},"browser":{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.browser","fs":false,"stream":"stream-browserify"},"react-native":{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.native"},"files":["dist-*/**"],"homepage":"https://github.com/aws/aws-sdk-js-v3/tree/main/lib/lib-storage","repository":{"type":"git","url":"https://github.com/aws/aws-sdk-js-v3.git","directory":"lib/lib-storage"},"_lastModified":"2026-08-22T03:11:37.640Z"}
1
+ {"name":"@aws-sdk/lib-storage","version":"3.750.0","description":"Storage higher order operation","main":"./dist-cjs/index.js","module":"./dist-es/index.js","types":"./dist-types/index.d.ts","scripts":{"build":"concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'","build:cjs":"node ../../scripts/compilation/inline lib-storage","build:es":"tsc -p tsconfig.es.json","build:include:deps":"lerna run --scope $npm_package_name --include-dependencies build","build:types":"tsc -p tsconfig.types.json","build:types:downlevel":"downlevel-dts dist-types dist-types/ts3.4","clean":"rimraf ./dist-* && rimraf *.tsbuildinfo","extract:docs":"api-extractor run --local","test":"yarn g:vitest run","test:e2e":"yarn g:vitest run -c vitest.config.e2e.ts --mode development","test:watch":"yarn g:vitest watch","test:e2e:watch":"yarn g:vitest watch -c vitest.config.e2e.ts"},"engines":{"node":">=18.0.0"},"author":{"name":"AWS SDK for JavaScript Team","url":"https://aws.amazon.com/javascript/"},"license":"Apache-2.0","dependencies":{"@smithy/abort-controller":"^4.0.1","@smithy/middleware-endpoint":"^4.0.5","@smithy/smithy-client":"^4.1.5","buffer":"5.6.0","events":"3.3.0","stream-browserify":"3.0.0","tslib":"^2.6.2"},"peerDependencies":{"@aws-sdk/client-s3":"^3.750.0"},"devDependencies":{"@aws-sdk/client-s3":"3.750.0","@smithy/types":"^4.1.0","@tsconfig/recommended":"1.0.1","@types/node":"^18.19.69","concurrently":"7.0.0","downlevel-dts":"0.10.1","rimraf":"3.0.2","typescript":"~5.2.2","web-streams-polyfill":"3.2.1"},"typesVersions":{"<4.0":{"dist-types/*":["dist-types/ts3.4/*"]}},"browser":{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.browser","fs":false,"stream":"stream-browserify"},"react-native":{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.native"},"files":["dist-*/**"],"homepage":"https://github.com/aws/aws-sdk-js-v3/tree/main/lib/lib-storage","repository":{"type":"git","url":"https://github.com/aws/aws-sdk-js-v3.git","directory":"lib/lib-storage"},"_lastModified":"2026-08-23T06:23:47.880Z"}
@@ -1 +1 @@
1
- {"name":"@aws-sdk/s3-request-presigner","version":"3.750.0","scripts":{"build":"concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'","build:cjs":"node ../../scripts/compilation/inline s3-request-presigner","build:es":"tsc -p tsconfig.es.json","build:include:deps":"lerna run --scope $npm_package_name --include-dependencies build","build:types":"tsc -p tsconfig.types.json","build:types:downlevel":"downlevel-dts dist-types dist-types/ts3.4","clean":"rimraf ./dist-* && rimraf *.tsbuildinfo","extract:docs":"api-extractor run --local","test":"yarn g:vitest run","test:watch":"yarn g:vitest watch"},"main":"./dist-cjs/index.js","module":"./dist-es/index.js","types":"./dist-types/index.d.ts","author":{"name":"AWS SDK for JavaScript Team","url":"https://aws.amazon.com/javascript/"},"license":"Apache-2.0","dependencies":{"@aws-sdk/signature-v4-multi-region":"3.750.0","@aws-sdk/types":"3.734.0","@aws-sdk/util-format-url":"3.734.0","@smithy/middleware-endpoint":"^4.0.5","@smithy/protocol-http":"^5.0.1","@smithy/smithy-client":"^4.1.5","@smithy/types":"^4.1.0","tslib":"^2.6.2"},"devDependencies":{"@aws-sdk/client-s3":"3.750.0","@smithy/hash-node":"^4.0.1","@tsconfig/recommended":"1.0.1","@types/node":"^18.19.69","concurrently":"7.0.0","downlevel-dts":"0.10.1","rimraf":"3.0.2","typescript":"~5.2.2"},"engines":{"node":">=18.0.0"},"typesVersions":{"<4.0":{"dist-types/*":["dist-types/ts3.4/*"]}},"files":["dist-*/**"],"homepage":"https://github.com/aws/aws-sdk-js-v3/tree/main/packages/s3-request-presigner","repository":{"type":"git","url":"https://github.com/aws/aws-sdk-js-v3.git","directory":"packages/s3-request-presigner"},"_lastModified":"2026-08-22T03:11:38.085Z"}
1
+ {"name":"@aws-sdk/s3-request-presigner","version":"3.750.0","scripts":{"build":"concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'","build:cjs":"node ../../scripts/compilation/inline s3-request-presigner","build:es":"tsc -p tsconfig.es.json","build:include:deps":"lerna run --scope $npm_package_name --include-dependencies build","build:types":"tsc -p tsconfig.types.json","build:types:downlevel":"downlevel-dts dist-types dist-types/ts3.4","clean":"rimraf ./dist-* && rimraf *.tsbuildinfo","extract:docs":"api-extractor run --local","test":"yarn g:vitest run","test:watch":"yarn g:vitest watch"},"main":"./dist-cjs/index.js","module":"./dist-es/index.js","types":"./dist-types/index.d.ts","author":{"name":"AWS SDK for JavaScript Team","url":"https://aws.amazon.com/javascript/"},"license":"Apache-2.0","dependencies":{"@aws-sdk/signature-v4-multi-region":"3.750.0","@aws-sdk/types":"3.734.0","@aws-sdk/util-format-url":"3.734.0","@smithy/middleware-endpoint":"^4.0.5","@smithy/protocol-http":"^5.0.1","@smithy/smithy-client":"^4.1.5","@smithy/types":"^4.1.0","tslib":"^2.6.2"},"devDependencies":{"@aws-sdk/client-s3":"3.750.0","@smithy/hash-node":"^4.0.1","@tsconfig/recommended":"1.0.1","@types/node":"^18.19.69","concurrently":"7.0.0","downlevel-dts":"0.10.1","rimraf":"3.0.2","typescript":"~5.2.2"},"engines":{"node":">=18.0.0"},"typesVersions":{"<4.0":{"dist-types/*":["dist-types/ts3.4/*"]}},"files":["dist-*/**"],"homepage":"https://github.com/aws/aws-sdk-js-v3/tree/main/packages/s3-request-presigner","repository":{"type":"git","url":"https://github.com/aws/aws-sdk-js-v3.git","directory":"packages/s3-request-presigner"},"_lastModified":"2026-08-23T06:23:48.285Z"}
@@ -1 +1 @@
1
- {"name":"ali-oss","version":"6.20.0","description":"aliyun oss(object storage service) node client","main":"./lib/client.js","files":["lib","shims","dist"],"browser":{"./lib/client.js":"./dist/aliyun-oss-sdk.js","mime":"mime/lite","urllib":"./shims/xhr.js","utility":"./shims/utility.js","crypto":"./shims/crypto/crypto.js","debug":"./shims/debug","fs":false,"child_process":false,"is-type-of":"./shims/is-type-of.js"},"scripts":{"build-change-log":"standard-version","test":"npm run tsc && mocha -t 120000 -r should -r dotenv/config test/node/*.test.js test/node/**/*.test.js","test-cov":"npm run tsc && nyc --reporter=lcov node_modules/.bin/_mocha -t 120000 -r should test/node/*.test.js test/node/**/*.test.js","jshint":"jshint .","build-test":"MINIFY=1 node browser-build.js > test/browser/build/aliyun-oss-sdk.min.js && node -r dotenv/config task/browser-test-build.js > test/browser/build/tests.js","browser-test":"npm run build-test && karma start","build-dist":"npm run tsc && node browser-build.js > dist/aliyun-oss-sdk.js && MINIFY=1 node browser-build.js > dist/aliyun-oss-sdk.min.js","publish-to-npm":"node publish-npm-check.js && npm publish","publish-to-cdn":"node publish.js","snyk-protect":"snyk-protect","lint-staged":"lint-staged","detect-secrets":"node task/detect-secrets","tsc":"npm run tsc:clean && npm run tsc:build","tsc:build":"tsc -b tsconfig.json tsconfig-cjs.json","tsc:watch":"tsc -b tsconfig.json tsconfig-cjs.json --watch","tsc:clean":"tsc -b tsconfig.json tsconfig-cjs.json --clean ","prepare":"husky install"},"git-pre-hooks":{"pre-release":"npm run build-dist","post-release":["npm run publish-to-npm","npm run publish-to-cdn"]},"homepage":"https://github.com/ali-sdk/ali-oss","bugs":{"url":"https://github.com/ali-sdk/ali-oss/issues"},"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"repository":{"type":"git","url":"https://github.com/ali-sdk/ali-oss.git"},"keywords":["oss","client","file","aliyun"],"author":"dead_horse","license":"MIT","engines":{"node":">=8"},"devDependencies":{"@babel/core":"^7.11.6","@babel/plugin-transform-regenerator":"^7.10.4","@babel/plugin-transform-runtime":"^7.11.5","@babel/preset-env":"^7.11.5","@babel/runtime":"^7.11.2","@commitlint/cli":"^17.6.7","@commitlint/config-conventional":"^16.2.4","@octokit/core":"^5.0.0","@semantic-release/exec":"^6.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^10.0.5","@snyk/protect":"^1.1196.0","@types/node":"^14.0.12","@typescript-eslint/eslint-plugin":"^5.0.0","@typescript-eslint/parser":"^5.0.0","aliasify":"^2.0.0","axios":"0.27.2","babelify":"^10.0.0","beautify-benchmark":"^0.2.4","benchmark":"^2.1.1","bluebird":"^3.1.5","browserify":"^17.0.0","core-js":"^3.6.5","crypto-js":"^3.1.9-1","dotenv":"^8.2.0","eslint":"^8.44.0","eslint-config-airbnb":"^19.0.4","eslint-config-ali":"^13.0.0","eslint-config-prettier":"^8.8.0","eslint-plugin-import":"^2.21.1","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-prettier":"^4.2.1","filereader":"^0.10.3","form-data":"^4.0.0","git-pre-hooks":"^1.2.0","husky":"^7.0.4","immediate":"^3.3.0","karma":"^6.3.4","karma-browserify":"^8.1.0","karma-chrome-launcher":"^2.2.0","karma-firefox-launcher":"^1.0.1","karma-ie-launcher":"^1.0.0","karma-mocha":"^2.0.1","karma-safari-launcher":"^1.0.0","lint-staged":"^12.4.1","mm":"^2.0.0","mocha":"^9.1.2","nyc":"^15.1.0","prettier":"^3.0.0","promise-polyfill":"^6.0.2","puppeteer":"19.0.0","semantic-release":"^21.1.1","should":"^11.0.0","sinon":"^15.2.0","standard-version":"^9.3.1","stream-equal":"^1.1.0","timemachine":"^0.3.0","typescript":"^3.9.5","uglify-js":"^3.14.2","watchify":"^4.0.0"},"dependencies":{"address":"^1.2.2","agentkeepalive":"^3.4.1","bowser":"^1.6.0","copy-to":"^2.0.1","dateformat":"^2.0.0","debug":"^4.3.4","destroy":"^1.0.4","end-or-error":"^1.0.1","get-ready":"^1.0.0","humanize-ms":"^1.2.0","is-type-of":"^1.4.0","js-base64":"^2.5.2","jstoxml":"^2.0.0","lodash":"^4.17.21","merge-descriptors":"^1.0.1","mime":"^2.4.5","platform":"^1.3.1","pump":"^3.0.0","qs":"^6.4.0","sdk-base":"^2.0.1","stream-http":"2.8.2","stream-wormhole":"^1.0.4","urllib":"2.41.0","utility":"^1.18.0","xml2js":"^0.6.2"},"snyk":true,"lint-staged":{"**/!(dist)/*":["npm run detect-secrets --"],"**/*.{js,ts}":["eslint --cache --fix --ext .js,.ts","prettier --write","git add"]},"_lastModified":"2026-08-22T03:11:34.723Z"}
1
+ {"name":"ali-oss","version":"6.20.0","description":"aliyun oss(object storage service) node client","main":"./lib/client.js","files":["lib","shims","dist"],"browser":{"./lib/client.js":"./dist/aliyun-oss-sdk.js","mime":"mime/lite","urllib":"./shims/xhr.js","utility":"./shims/utility.js","crypto":"./shims/crypto/crypto.js","debug":"./shims/debug","fs":false,"child_process":false,"is-type-of":"./shims/is-type-of.js"},"scripts":{"build-change-log":"standard-version","test":"npm run tsc && mocha -t 120000 -r should -r dotenv/config test/node/*.test.js test/node/**/*.test.js","test-cov":"npm run tsc && nyc --reporter=lcov node_modules/.bin/_mocha -t 120000 -r should test/node/*.test.js test/node/**/*.test.js","jshint":"jshint .","build-test":"MINIFY=1 node browser-build.js > test/browser/build/aliyun-oss-sdk.min.js && node -r dotenv/config task/browser-test-build.js > test/browser/build/tests.js","browser-test":"npm run build-test && karma start","build-dist":"npm run tsc && node browser-build.js > dist/aliyun-oss-sdk.js && MINIFY=1 node browser-build.js > dist/aliyun-oss-sdk.min.js","publish-to-npm":"node publish-npm-check.js && npm publish","publish-to-cdn":"node publish.js","snyk-protect":"snyk-protect","lint-staged":"lint-staged","detect-secrets":"node task/detect-secrets","tsc":"npm run tsc:clean && npm run tsc:build","tsc:build":"tsc -b tsconfig.json tsconfig-cjs.json","tsc:watch":"tsc -b tsconfig.json tsconfig-cjs.json --watch","tsc:clean":"tsc -b tsconfig.json tsconfig-cjs.json --clean ","prepare":"husky install"},"git-pre-hooks":{"pre-release":"npm run build-dist","post-release":["npm run publish-to-npm","npm run publish-to-cdn"]},"homepage":"https://github.com/ali-sdk/ali-oss","bugs":{"url":"https://github.com/ali-sdk/ali-oss/issues"},"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"repository":{"type":"git","url":"https://github.com/ali-sdk/ali-oss.git"},"keywords":["oss","client","file","aliyun"],"author":"dead_horse","license":"MIT","engines":{"node":">=8"},"devDependencies":{"@babel/core":"^7.11.6","@babel/plugin-transform-regenerator":"^7.10.4","@babel/plugin-transform-runtime":"^7.11.5","@babel/preset-env":"^7.11.5","@babel/runtime":"^7.11.2","@commitlint/cli":"^17.6.7","@commitlint/config-conventional":"^16.2.4","@octokit/core":"^5.0.0","@semantic-release/exec":"^6.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^10.0.5","@snyk/protect":"^1.1196.0","@types/node":"^14.0.12","@typescript-eslint/eslint-plugin":"^5.0.0","@typescript-eslint/parser":"^5.0.0","aliasify":"^2.0.0","axios":"0.27.2","babelify":"^10.0.0","beautify-benchmark":"^0.2.4","benchmark":"^2.1.1","bluebird":"^3.1.5","browserify":"^17.0.0","core-js":"^3.6.5","crypto-js":"^3.1.9-1","dotenv":"^8.2.0","eslint":"^8.44.0","eslint-config-airbnb":"^19.0.4","eslint-config-ali":"^13.0.0","eslint-config-prettier":"^8.8.0","eslint-plugin-import":"^2.21.1","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-prettier":"^4.2.1","filereader":"^0.10.3","form-data":"^4.0.0","git-pre-hooks":"^1.2.0","husky":"^7.0.4","immediate":"^3.3.0","karma":"^6.3.4","karma-browserify":"^8.1.0","karma-chrome-launcher":"^2.2.0","karma-firefox-launcher":"^1.0.1","karma-ie-launcher":"^1.0.0","karma-mocha":"^2.0.1","karma-safari-launcher":"^1.0.0","lint-staged":"^12.4.1","mm":"^2.0.0","mocha":"^9.1.2","nyc":"^15.1.0","prettier":"^3.0.0","promise-polyfill":"^6.0.2","puppeteer":"19.0.0","semantic-release":"^21.1.1","should":"^11.0.0","sinon":"^15.2.0","standard-version":"^9.3.1","stream-equal":"^1.1.0","timemachine":"^0.3.0","typescript":"^3.9.5","uglify-js":"^3.14.2","watchify":"^4.0.0"},"dependencies":{"address":"^1.2.2","agentkeepalive":"^3.4.1","bowser":"^1.6.0","copy-to":"^2.0.1","dateformat":"^2.0.0","debug":"^4.3.4","destroy":"^1.0.4","end-or-error":"^1.0.1","get-ready":"^1.0.0","humanize-ms":"^1.2.0","is-type-of":"^1.4.0","js-base64":"^2.5.2","jstoxml":"^2.0.0","lodash":"^4.17.21","merge-descriptors":"^1.0.1","mime":"^2.4.5","platform":"^1.3.1","pump":"^3.0.0","qs":"^6.4.0","sdk-base":"^2.0.1","stream-http":"2.8.2","stream-wormhole":"^1.0.4","urllib":"2.41.0","utility":"^1.18.0","xml2js":"^0.6.2"},"snyk":true,"lint-staged":{"**/!(dist)/*":["npm run detect-secrets --"],"**/*.{js,ts}":["eslint --cache --fix --ext .js,.ts","prettier --write","git add"]},"_lastModified":"2026-08-23T06:23:45.262Z"}
@@ -1 +1 @@
1
- {"name":"cos-nodejs-sdk-v5","version":"2.12.6","description":"cos nodejs sdk v5","main":"index.js","types":"index.d.ts","scripts":{"prettier":"prettier --write sdk demo/demo.js test/test.js index.d.ts","demo":"node demo/demo.js","demo-sts":"node demo/demo-sts.js","demo-sts-scope":"node demo/demo-sts-scope.js","test":"mocha test/test.js","cov":"istanbul cover _mocha -- -u exports 'test/test.js'","nyc":"nyc --reporter=clover --reporter=cobertura mocha --reporter xunit --reporter-options output=mocha.xml test/test.js","csp":"mocha test/csp.js"},"repository":{"type":"git","url":"git+https://github.com/tencentyun/cos-nodejs-sdk-v5.git"},"keywords":["tencent","tencent cloud","qcloud","cos","cos-sdk"],"author":"carsonxu","license":"ISC","bugs":{"url":"https://github.com/tencentyun/cos-nodejs-sdk-v5/issues"},"homepage":"https://github.com/tencentyun/cos-nodejs-sdk-v5#readme","dependencies":{"conf":"^9.0.0","fast-xml-parser":"4.2.5","mime-types":"^2.1.24","request":"^2.88.2"},"devDependencies":{"@types/node":"^14.14.20","batch":"^0.6.1","crc64-ecma182.js":"^1.0.0","mocha":"^4.0.1","nyc":"^15.1.0","prettier":"^3.0.1","qcloud-cos-sts":"^3.0.0"},"engines":{"node":">= 6"},"_lastModified":"2026-08-22T03:11:41.722Z"}
1
+ {"name":"cos-nodejs-sdk-v5","version":"2.12.6","description":"cos nodejs sdk v5","main":"index.js","types":"index.d.ts","scripts":{"prettier":"prettier --write sdk demo/demo.js test/test.js index.d.ts","demo":"node demo/demo.js","demo-sts":"node demo/demo-sts.js","demo-sts-scope":"node demo/demo-sts-scope.js","test":"mocha test/test.js","cov":"istanbul cover _mocha -- -u exports 'test/test.js'","nyc":"nyc --reporter=clover --reporter=cobertura mocha --reporter xunit --reporter-options output=mocha.xml test/test.js","csp":"mocha test/csp.js"},"repository":{"type":"git","url":"git+https://github.com/tencentyun/cos-nodejs-sdk-v5.git"},"keywords":["tencent","tencent cloud","qcloud","cos","cos-sdk"],"author":"carsonxu","license":"ISC","bugs":{"url":"https://github.com/tencentyun/cos-nodejs-sdk-v5/issues"},"homepage":"https://github.com/tencentyun/cos-nodejs-sdk-v5#readme","dependencies":{"conf":"^9.0.0","fast-xml-parser":"4.2.5","mime-types":"^2.1.24","request":"^2.88.2"},"devDependencies":{"@types/node":"^14.14.20","batch":"^0.6.1","crc64-ecma182.js":"^1.0.0","mocha":"^4.0.1","nyc":"^15.1.0","prettier":"^3.0.1","qcloud-cos-sts":"^3.0.0"},"engines":{"node":">= 6"},"_lastModified":"2026-08-23T06:23:51.608Z"}
@@ -1 +1 @@
1
- {"name":"mime-match","version":"1.0.2","description":"A simple function to check whether a mimetype matches the specified mimetype (with wildcard support)","main":"index.js","scripts":{"test":"node test.js","gendocs":"gendocs > README.md"},"repository":{"type":"git","url":"https://github.com/DamonOehlman/mime-match.git"},"keywords":["mime","wildcard"],"author":"Damon Oehlman <damon.oehlman@gmail.com>","license":"ISC","bugs":{"url":"https://github.com/DamonOehlman/mime-match/issues"},"homepage":"https://github.com/DamonOehlman/mime-match","dependencies":{"wildcard":"^1.1.0"},"devDependencies":{"tape":"^4.5.1"},"_lastModified":"2026-08-22T03:11:29.750Z"}
1
+ {"name":"mime-match","version":"1.0.2","description":"A simple function to check whether a mimetype matches the specified mimetype (with wildcard support)","main":"index.js","scripts":{"test":"node test.js","gendocs":"gendocs > README.md"},"repository":{"type":"git","url":"https://github.com/DamonOehlman/mime-match.git"},"keywords":["mime","wildcard"],"author":"Damon Oehlman <damon.oehlman@gmail.com>","license":"ISC","bugs":{"url":"https://github.com/DamonOehlman/mime-match/issues"},"homepage":"https://github.com/DamonOehlman/mime-match","dependencies":{"wildcard":"^1.1.0"},"devDependencies":{"tape":"^4.5.1"},"_lastModified":"2026-08-23T06:23:40.623Z"}
@@ -1 +1 @@
1
- {"name":"mime-types","description":"The ultimate javascript content-type utility.","version":"3.0.1","contributors":["Douglas Christopher Wilson <doug@somethingdoug.com>","Jeremiah Senkpiel <fishrock123@rocketmail.com> (https://searchbeam.jit.su)","Jonathan Ong <me@jongleberry.com> (http://jongleberry.com)"],"license":"MIT","keywords":["mime","types"],"repository":"jshttp/mime-types","dependencies":{"mime-db":"^1.54.0"},"devDependencies":{"eslint":"8.33.0","eslint-config-standard":"14.1.1","eslint-plugin-import":"2.27.5","eslint-plugin-markdown":"3.0.0","eslint-plugin-node":"11.1.0","eslint-plugin-promise":"6.1.1","eslint-plugin-standard":"4.1.0","mocha":"10.2.0","nyc":"15.1.0"},"files":["HISTORY.md","LICENSE","index.js","mimeScore.js"],"engines":{"node":">= 0.6"},"scripts":{"lint":"eslint .","test":"mocha --reporter spec test/test.js","test-ci":"nyc --reporter=lcov --reporter=text npm test","test-cov":"nyc --reporter=html --reporter=text npm test"},"_lastModified":"2026-08-22T03:11:30.063Z"}
1
+ {"name":"mime-types","description":"The ultimate javascript content-type utility.","version":"3.0.1","contributors":["Douglas Christopher Wilson <doug@somethingdoug.com>","Jeremiah Senkpiel <fishrock123@rocketmail.com> (https://searchbeam.jit.su)","Jonathan Ong <me@jongleberry.com> (http://jongleberry.com)"],"license":"MIT","keywords":["mime","types"],"repository":"jshttp/mime-types","dependencies":{"mime-db":"^1.54.0"},"devDependencies":{"eslint":"8.33.0","eslint-config-standard":"14.1.1","eslint-plugin-import":"2.27.5","eslint-plugin-markdown":"3.0.0","eslint-plugin-node":"11.1.0","eslint-plugin-promise":"6.1.1","eslint-plugin-standard":"4.1.0","mocha":"10.2.0","nyc":"15.1.0"},"files":["HISTORY.md","LICENSE","index.js","mimeScore.js"],"engines":{"node":">= 0.6"},"scripts":{"lint":"eslint .","test":"mocha --reporter spec test/test.js","test-ci":"nyc --reporter=lcov --reporter=text npm test","test-cov":"nyc --reporter=html --reporter=text npm test"},"_lastModified":"2026-08-23T06:23:40.934Z"}
@@ -1 +1 @@
1
- {"name":"mkdirp","description":"Recursively mkdir, like `mkdir -p`","version":"0.5.6","publishConfig":{"tag":"legacy"},"author":"James Halliday <mail@substack.net> (http://substack.net)","main":"index.js","keywords":["mkdir","directory"],"repository":{"type":"git","url":"https://github.com/substack/node-mkdirp.git"},"scripts":{"test":"tap test/*.js"},"dependencies":{"minimist":"^1.2.6"},"devDependencies":{"tap":"^16.0.1"},"bin":"bin/cmd.js","license":"MIT","files":["bin","index.js"],"_lastModified":"2026-08-22T03:11:35.153Z"}
1
+ {"name":"mkdirp","description":"Recursively mkdir, like `mkdir -p`","version":"0.5.6","publishConfig":{"tag":"legacy"},"author":"James Halliday <mail@substack.net> (http://substack.net)","main":"index.js","keywords":["mkdir","directory"],"repository":{"type":"git","url":"https://github.com/substack/node-mkdirp.git"},"scripts":{"test":"tap test/*.js"},"dependencies":{"minimist":"^1.2.6"},"devDependencies":{"tap":"^16.0.1"},"bin":"bin/cmd.js","license":"MIT","files":["bin","index.js"],"_lastModified":"2026-08-23T06:23:45.661Z"}
@@ -1 +1 @@
1
- {"name":"url-join","version":"4.0.1","description":"Join urls and normalize as in path.join.","main":"lib/url-join.js","scripts":{"test":"mocha --require should"},"repository":{"type":"git","url":"git://github.com/jfromaniello/url-join.git"},"keywords":["url","join"],"author":"José F. Romaniello <jfromaniello@gmail.com> (http://joseoncode.com)","license":"MIT","devDependencies":{"conventional-changelog":"^1.1.10","mocha":"^3.2.0","should":"~1.2.1"},"_lastModified":"2026-08-22T03:11:29.853Z"}
1
+ {"name":"url-join","version":"4.0.1","description":"Join urls and normalize as in path.join.","main":"lib/url-join.js","scripts":{"test":"mocha --require should"},"repository":{"type":"git","url":"git://github.com/jfromaniello/url-join.git"},"keywords":["url","join"],"author":"José F. Romaniello <jfromaniello@gmail.com> (http://joseoncode.com)","license":"MIT","devDependencies":{"conventional-changelog":"^1.1.10","mocha":"^3.2.0","should":"~1.2.1"},"_lastModified":"2026-08-23T06:23:40.722Z"}
@@ -1,18 +1,65 @@
1
1
  {
2
2
  "openapi": "3.0.2",
3
3
  "info": {
4
- "title": "NocoBase API - File manager plugin"
4
+ "title": "NocoBase API - File manager plugin",
5
+ "version": "1.0.0",
6
+ "description": "Configure file storage engines and create records in file-template collections."
5
7
  },
6
- "tags": [],
8
+ "tags": [
9
+ {
10
+ "name": "storages",
11
+ "description": "Manage storage backends and file storage settings."
12
+ },
13
+ {
14
+ "name": "$collection",
15
+ "description": "Upload files and create records in file-template collections."
16
+ }
17
+ ],
7
18
  "paths": {
8
19
  "/{fileCollectionName}:create": {
9
20
  "post": {
10
21
  "tags": ["$collection"],
11
- "description": "",
12
- "parameters": [],
22
+ "summary": "Upload a file or finalize a file record",
23
+ "description": "Create a record in a collection whose template is `file`. Use `multipart/form-data` for server-side uploads. Use the JSON form only after an external storage workflow, such as S3 Pro direct upload, has already stored the object. Prefer a dedicated file collection and a relation field from the business collection instead of the deprecated attachment field.",
24
+ "parameters": [
25
+ {
26
+ "$ref": "#/components/parameters/FileCollectionName"
27
+ },
28
+ {
29
+ "$ref": "#/components/parameters/AttachmentField"
30
+ },
31
+ {
32
+ "$ref": "#/components/parameters/UploadDataSourceKey"
33
+ }
34
+ ],
35
+ "requestBody": {
36
+ "required": true,
37
+ "content": {
38
+ "multipart/form-data": {
39
+ "schema": {
40
+ "$ref": "#/components/schemas/FileUploadRequest"
41
+ }
42
+ },
43
+ "application/json": {
44
+ "schema": {
45
+ "$ref": "#/components/schemas/FileRecordCreate"
46
+ }
47
+ }
48
+ }
49
+ },
13
50
  "responses": {
14
51
  "200": {
15
- "description": "OK"
52
+ "description": "The created file record.",
53
+ "content": {
54
+ "application/json": {
55
+ "schema": {
56
+ "$ref": "#/components/schemas/FileRecordResponse"
57
+ }
58
+ }
59
+ }
60
+ },
61
+ "400": {
62
+ "$ref": "#/components/responses/BadRequest"
16
63
  }
17
64
  }
18
65
  }
@@ -20,11 +67,41 @@
20
67
  "/storages:list": {
21
68
  "get": {
22
69
  "tags": ["storages"],
23
- "description": "",
24
- "parameters": [],
70
+ "summary": "List storage engines",
71
+ "description": "List configured storage engines. Secret options are returned by the underlying collection action only when the caller has sufficient permission; callers must redact them from logs and output.",
72
+ "parameters": [
73
+ {
74
+ "$ref": "#/components/parameters/Filter"
75
+ },
76
+ {
77
+ "$ref": "#/components/parameters/Fields"
78
+ },
79
+ {
80
+ "$ref": "#/components/parameters/Except"
81
+ },
82
+ {
83
+ "$ref": "#/components/parameters/Sort"
84
+ },
85
+ {
86
+ "$ref": "#/components/parameters/Page"
87
+ },
88
+ {
89
+ "$ref": "#/components/parameters/PageSize"
90
+ },
91
+ {
92
+ "$ref": "#/components/parameters/Paginate"
93
+ }
94
+ ],
25
95
  "responses": {
26
96
  "200": {
27
- "description": "OK"
97
+ "description": "Configured storage engines.",
98
+ "content": {
99
+ "application/json": {
100
+ "schema": {
101
+ "$ref": "#/components/schemas/StorageListResponse"
102
+ }
103
+ }
104
+ }
28
105
  }
29
106
  }
30
107
  }
@@ -32,11 +109,31 @@
32
109
  "/storages:get": {
33
110
  "get": {
34
111
  "tags": ["storages"],
35
- "description": "",
36
- "parameters": [],
112
+ "summary": "Get a storage engine",
113
+ "parameters": [
114
+ {
115
+ "$ref": "#/components/parameters/FilterByTkRequired"
116
+ },
117
+ {
118
+ "$ref": "#/components/parameters/Fields"
119
+ },
120
+ {
121
+ "$ref": "#/components/parameters/Except"
122
+ }
123
+ ],
37
124
  "responses": {
38
125
  "200": {
39
- "description": "OK"
126
+ "description": "The requested storage engine.",
127
+ "content": {
128
+ "application/json": {
129
+ "schema": {
130
+ "$ref": "#/components/schemas/StorageResponse"
131
+ }
132
+ }
133
+ }
134
+ },
135
+ "404": {
136
+ "$ref": "#/components/responses/NotFound"
40
137
  }
41
138
  }
42
139
  }
@@ -44,11 +141,31 @@
44
141
  "/storages:create": {
45
142
  "post": {
46
143
  "tags": ["storages"],
47
- "description": "",
48
- "parameters": [],
144
+ "summary": "Create a storage engine",
145
+ "description": "Create a storage engine. The `options` object depends on `type`; keep access keys and secrets out of command output and shell history.",
146
+ "requestBody": {
147
+ "required": true,
148
+ "content": {
149
+ "application/json": {
150
+ "schema": {
151
+ "$ref": "#/components/schemas/StorageCreate"
152
+ }
153
+ }
154
+ }
155
+ },
49
156
  "responses": {
50
157
  "200": {
51
- "description": "OK"
158
+ "description": "The created storage engine.",
159
+ "content": {
160
+ "application/json": {
161
+ "schema": {
162
+ "$ref": "#/components/schemas/StorageResponse"
163
+ }
164
+ }
165
+ }
166
+ },
167
+ "400": {
168
+ "$ref": "#/components/responses/BadRequest"
52
169
  }
53
170
  }
54
171
  }
@@ -56,11 +173,39 @@
56
173
  "/storages:update": {
57
174
  "post": {
58
175
  "tags": ["storages"],
59
- "description": "",
60
- "parameters": [],
176
+ "summary": "Update a storage engine",
177
+ "description": "Update one storage engine by ID or system name. Read the current record first and send the complete nested `options`, `rules`, or `settings` object when changing it so required existing keys are not lost.",
178
+ "parameters": [
179
+ {
180
+ "$ref": "#/components/parameters/FilterByTkRequired"
181
+ }
182
+ ],
183
+ "requestBody": {
184
+ "required": true,
185
+ "content": {
186
+ "application/json": {
187
+ "schema": {
188
+ "$ref": "#/components/schemas/StorageUpdate"
189
+ }
190
+ }
191
+ }
192
+ },
61
193
  "responses": {
62
194
  "200": {
63
- "description": "OK"
195
+ "description": "The updated storage engine.",
196
+ "content": {
197
+ "application/json": {
198
+ "schema": {
199
+ "$ref": "#/components/schemas/StorageResponse"
200
+ }
201
+ }
202
+ }
203
+ },
204
+ "400": {
205
+ "$ref": "#/components/responses/BadRequest"
206
+ },
207
+ "404": {
208
+ "$ref": "#/components/responses/NotFound"
64
209
  }
65
210
  }
66
211
  }
@@ -68,11 +213,701 @@
68
213
  "/storages:destroy": {
69
214
  "post": {
70
215
  "tags": ["storages"],
71
- "description": "",
72
- "parameters": [],
216
+ "summary": "Delete storage engines",
217
+ "description": "Delete storage engines selected by primary key or filter. The built-in default local engine is protected, and a storage referenced by a file collection cannot be deleted. Inspect file collections and file records before deletion.",
218
+ "parameters": [
219
+ {
220
+ "$ref": "#/components/parameters/FilterByTk"
221
+ },
222
+ {
223
+ "$ref": "#/components/parameters/Filter"
224
+ }
225
+ ],
73
226
  "responses": {
74
227
  "200": {
75
- "description": "OK"
228
+ "description": "Deletion result.",
229
+ "content": {
230
+ "application/json": {
231
+ "schema": {
232
+ "$ref": "#/components/schemas/MutationResponse"
233
+ }
234
+ }
235
+ }
236
+ },
237
+ "400": {
238
+ "$ref": "#/components/responses/BadRequest"
239
+ }
240
+ }
241
+ }
242
+ },
243
+ "/storages:getBasicInfo": {
244
+ "get": {
245
+ "tags": ["storages"],
246
+ "summary": "Get upload-safe storage information",
247
+ "description": "Return the default storage when `filterByTk` is omitted, or resolve a storage by ID or system name. This action intentionally returns only upload-safe fields and does not expose credentials.",
248
+ "parameters": [
249
+ {
250
+ "$ref": "#/components/parameters/FilterByTk"
251
+ },
252
+ {
253
+ "$ref": "#/components/parameters/UploadDataSourceKey"
254
+ }
255
+ ],
256
+ "responses": {
257
+ "200": {
258
+ "description": "Upload-safe storage information.",
259
+ "content": {
260
+ "application/json": {
261
+ "schema": {
262
+ "$ref": "#/components/schemas/StorageBasicInfoResponse"
263
+ }
264
+ }
265
+ }
266
+ },
267
+ "404": {
268
+ "$ref": "#/components/responses/NotFound"
269
+ }
270
+ }
271
+ }
272
+ },
273
+ "/storages:check": {
274
+ "get": {
275
+ "tags": ["storages"],
276
+ "summary": "Resolve the storage used by a file collection",
277
+ "description": "Resolve the explicit storage name, the storage configured on the file collection, or the default storage, in that order. Also reports whether the target file collection exists and supports uploads.",
278
+ "parameters": [
279
+ {
280
+ "name": "fileCollectionName",
281
+ "in": "query",
282
+ "description": "File-template collection name. Defaults to `attachments` for backward compatibility.",
283
+ "schema": {
284
+ "type": "string"
285
+ }
286
+ },
287
+ {
288
+ "name": "storageName",
289
+ "in": "query",
290
+ "description": "Optional storage system name that overrides the collection and default choices.",
291
+ "schema": {
292
+ "type": "string"
293
+ }
294
+ },
295
+ {
296
+ "$ref": "#/components/parameters/UploadDataSourceKey"
297
+ }
298
+ ],
299
+ "responses": {
300
+ "200": {
301
+ "description": "Resolved upload capability and storage information.",
302
+ "content": {
303
+ "application/json": {
304
+ "schema": {
305
+ "$ref": "#/components/schemas/StorageCheckResponse"
306
+ }
307
+ }
308
+ }
309
+ },
310
+ "400": {
311
+ "$ref": "#/components/responses/BadRequest"
312
+ }
313
+ }
314
+ }
315
+ }
316
+ },
317
+ "components": {
318
+ "parameters": {
319
+ "FileCollectionName": {
320
+ "name": "fileCollectionName",
321
+ "in": "path",
322
+ "required": true,
323
+ "description": "Name of a collection whose template is `file`.",
324
+ "schema": {
325
+ "type": "string"
326
+ }
327
+ },
328
+ "AttachmentField": {
329
+ "name": "attachmentField",
330
+ "in": "query",
331
+ "required": false,
332
+ "deprecated": true,
333
+ "description": "Legacy `collection.field` attachment selector. New data models should create a file collection and use a normal relation field instead.",
334
+ "schema": {
335
+ "type": "string"
336
+ }
337
+ },
338
+ "UploadDataSourceKey": {
339
+ "name": "uploadDataSourceKey",
340
+ "in": "query",
341
+ "required": false,
342
+ "description": "Data source key used to resolve the target file collection for uploads.",
343
+ "schema": {
344
+ "type": "string"
345
+ }
346
+ },
347
+ "FilterByTk": {
348
+ "name": "filterByTk",
349
+ "in": "query",
350
+ "required": false,
351
+ "description": "Primary key or storage system name, depending on the action.",
352
+ "schema": {
353
+ "oneOf": [
354
+ {
355
+ "type": "string"
356
+ },
357
+ {
358
+ "type": "integer",
359
+ "format": "int64"
360
+ }
361
+ ]
362
+ }
363
+ },
364
+ "FilterByTkRequired": {
365
+ "name": "filterByTk",
366
+ "in": "query",
367
+ "required": true,
368
+ "description": "Storage primary key or system name.",
369
+ "schema": {
370
+ "oneOf": [
371
+ {
372
+ "type": "string"
373
+ },
374
+ {
375
+ "type": "integer",
376
+ "format": "int64"
377
+ }
378
+ ]
379
+ }
380
+ },
381
+ "Filter": {
382
+ "name": "filter",
383
+ "in": "query",
384
+ "required": false,
385
+ "description": "NocoBase filter object.",
386
+ "content": {
387
+ "application/json": {
388
+ "schema": {
389
+ "type": "object",
390
+ "additionalProperties": true
391
+ }
392
+ }
393
+ }
394
+ },
395
+ "Fields": {
396
+ "name": "fields",
397
+ "in": "query",
398
+ "description": "Fields to return.",
399
+ "schema": {
400
+ "oneOf": [
401
+ {
402
+ "type": "string"
403
+ },
404
+ {
405
+ "type": "array",
406
+ "items": {
407
+ "type": "string"
408
+ }
409
+ }
410
+ ]
411
+ }
412
+ },
413
+ "Except": {
414
+ "name": "except",
415
+ "in": "query",
416
+ "description": "Fields to omit. Use this to exclude `options` when credentials are not needed.",
417
+ "schema": {
418
+ "oneOf": [
419
+ {
420
+ "type": "string"
421
+ },
422
+ {
423
+ "type": "array",
424
+ "items": {
425
+ "type": "string"
426
+ }
427
+ }
428
+ ]
429
+ }
430
+ },
431
+ "Sort": {
432
+ "name": "sort",
433
+ "in": "query",
434
+ "description": "Sort fields, for example `-id`.",
435
+ "schema": {
436
+ "oneOf": [
437
+ {
438
+ "type": "string"
439
+ },
440
+ {
441
+ "type": "array",
442
+ "items": {
443
+ "type": "string"
444
+ }
445
+ }
446
+ ]
447
+ }
448
+ },
449
+ "Page": {
450
+ "name": "page",
451
+ "in": "query",
452
+ "schema": {
453
+ "type": "integer",
454
+ "minimum": 1
455
+ }
456
+ },
457
+ "PageSize": {
458
+ "name": "pageSize",
459
+ "in": "query",
460
+ "schema": {
461
+ "type": "integer",
462
+ "minimum": 1
463
+ }
464
+ },
465
+ "Paginate": {
466
+ "name": "paginate",
467
+ "in": "query",
468
+ "schema": {
469
+ "type": "boolean"
470
+ }
471
+ }
472
+ },
473
+ "schemas": {
474
+ "Identifier": {
475
+ "oneOf": [
476
+ {
477
+ "type": "string"
478
+ },
479
+ {
480
+ "type": "integer",
481
+ "format": "int64"
482
+ }
483
+ ]
484
+ },
485
+ "StorageRules": {
486
+ "type": "object",
487
+ "properties": {
488
+ "size": {
489
+ "type": "integer",
490
+ "minimum": 1,
491
+ "default": 20971520,
492
+ "description": "Maximum file size in bytes."
493
+ },
494
+ "mimetype": {
495
+ "oneOf": [
496
+ {
497
+ "type": "string"
498
+ },
499
+ {
500
+ "type": "array",
501
+ "items": {
502
+ "type": "string"
503
+ }
504
+ }
505
+ ],
506
+ "description": "Allowed MIME patterns, for example `image/*,application/pdf`."
507
+ }
508
+ },
509
+ "additionalProperties": true
510
+ },
511
+ "StorageOptions": {
512
+ "type": "object",
513
+ "description": "Type-specific storage options. Property names are case-sensitive; Tencent COS uses `Region`, `SecretId`, `SecretKey`, and `Bucket`.",
514
+ "properties": {
515
+ "documentRoot": {
516
+ "type": "string",
517
+ "description": "Local storage document root. The server restricts submitted paths to trusted roots."
518
+ },
519
+ "region": {
520
+ "type": "string"
521
+ },
522
+ "Region": {
523
+ "type": "string"
524
+ },
525
+ "accessKeyId": {
526
+ "type": "string",
527
+ "writeOnly": true
528
+ },
529
+ "secretAccessKey": {
530
+ "type": "string",
531
+ "writeOnly": true
532
+ },
533
+ "accessKeySecret": {
534
+ "type": "string",
535
+ "writeOnly": true
536
+ },
537
+ "SecretId": {
538
+ "type": "string",
539
+ "writeOnly": true
540
+ },
541
+ "SecretKey": {
542
+ "type": "string",
543
+ "writeOnly": true
544
+ },
545
+ "bucket": {
546
+ "type": "string"
547
+ },
548
+ "Bucket": {
549
+ "type": "string"
550
+ },
551
+ "endpoint": {
552
+ "type": "string",
553
+ "format": "uri"
554
+ },
555
+ "baseUrl": {
556
+ "type": "string",
557
+ "format": "uri"
558
+ },
559
+ "forcePathStyle": {
560
+ "type": "string",
561
+ "enum": ["virtual", "path", "ignore"]
562
+ },
563
+ "forcePathStyleForAccess": {
564
+ "type": "string",
565
+ "enum": ["virtual", "path", "ignore"]
566
+ },
567
+ "disableSignedUrl": {
568
+ "type": "boolean",
569
+ "default": false
570
+ },
571
+ "signedUrlExpires": {
572
+ "type": "integer",
573
+ "minimum": 1,
574
+ "description": "Signed access URL lifetime in seconds."
575
+ },
576
+ "presignedPostExpires": {
577
+ "type": "integer",
578
+ "minimum": 1,
579
+ "description": "Presigned upload URL lifetime in seconds."
580
+ },
581
+ "thumbnailRule": {
582
+ "type": "string"
583
+ },
584
+ "timeout": {
585
+ "type": "integer",
586
+ "minimum": 1,
587
+ "description": "Aliyun OSS request timeout in milliseconds."
588
+ },
589
+ "useOriginalUrl": {
590
+ "type": "boolean",
591
+ "default": false
592
+ },
593
+ "public": {
594
+ "type": "boolean",
595
+ "default": false,
596
+ "description": "Allow access through a NocoBase URL without checking file-record permission. This does not make the storage bucket public."
597
+ }
598
+ },
599
+ "additionalProperties": true
600
+ },
601
+ "StorageSettings": {
602
+ "type": "object",
603
+ "properties": {
604
+ "requestOptions": {
605
+ "type": "object",
606
+ "description": "Additional server-side HTTP request options used when fetching remote files.",
607
+ "additionalProperties": true
608
+ }
609
+ },
610
+ "additionalProperties": true
611
+ },
612
+ "StorageWriteFields": {
613
+ "type": "object",
614
+ "properties": {
615
+ "title": {
616
+ "type": "string",
617
+ "description": "Human-readable storage title."
618
+ },
619
+ "name": {
620
+ "type": "string",
621
+ "pattern": "^[A-Za-z][A-Za-z0-9_]*$",
622
+ "description": "Unique storage system name."
623
+ },
624
+ "type": {
625
+ "type": "string",
626
+ "enum": ["local", "s3", "ali-oss", "tx-cos", "s3-compatible"]
627
+ },
628
+ "options": {
629
+ "$ref": "#/components/schemas/StorageOptions"
630
+ },
631
+ "rules": {
632
+ "$ref": "#/components/schemas/StorageRules"
633
+ },
634
+ "path": {
635
+ "type": "string",
636
+ "description": "Relative storage path without leading or trailing slash."
637
+ },
638
+ "baseUrl": {
639
+ "type": "string",
640
+ "description": "Base URL used by local and built-in cloud storage engines. S3 Pro uses `options.baseUrl` for its access endpoint."
641
+ },
642
+ "renameMode": {
643
+ "type": "string",
644
+ "enum": ["appendRandomID", "random", "none"],
645
+ "default": "appendRandomID"
646
+ },
647
+ "default": {
648
+ "type": "boolean",
649
+ "default": false
650
+ },
651
+ "paranoid": {
652
+ "type": "boolean",
653
+ "default": false,
654
+ "description": "Keep the physical object when its file record is deleted."
655
+ },
656
+ "settings": {
657
+ "$ref": "#/components/schemas/StorageSettings"
658
+ }
659
+ }
660
+ },
661
+ "StorageCreate": {
662
+ "allOf": [
663
+ {
664
+ "$ref": "#/components/schemas/StorageWriteFields"
665
+ },
666
+ {
667
+ "type": "object",
668
+ "required": ["title", "name", "type"]
669
+ }
670
+ ]
671
+ },
672
+ "StorageUpdate": {
673
+ "allOf": [
674
+ {
675
+ "$ref": "#/components/schemas/StorageWriteFields"
676
+ }
677
+ ],
678
+ "minProperties": 1
679
+ },
680
+ "Storage": {
681
+ "allOf": [
682
+ {
683
+ "$ref": "#/components/schemas/StorageWriteFields"
684
+ },
685
+ {
686
+ "type": "object",
687
+ "properties": {
688
+ "id": {
689
+ "$ref": "#/components/schemas/Identifier"
690
+ }
691
+ }
692
+ }
693
+ ]
694
+ },
695
+ "StorageBasicInfo": {
696
+ "type": "object",
697
+ "required": ["id", "title", "name", "type", "rules"],
698
+ "properties": {
699
+ "id": {
700
+ "$ref": "#/components/schemas/Identifier"
701
+ },
702
+ "title": {
703
+ "type": "string"
704
+ },
705
+ "name": {
706
+ "type": "string"
707
+ },
708
+ "type": {
709
+ "type": "string"
710
+ },
711
+ "rules": {
712
+ "$ref": "#/components/schemas/StorageRules"
713
+ },
714
+ "baseUrl": {
715
+ "type": "string"
716
+ },
717
+ "public": {
718
+ "type": "boolean"
719
+ }
720
+ }
721
+ },
722
+ "FileUploadRequest": {
723
+ "type": "object",
724
+ "required": ["file"],
725
+ "properties": {
726
+ "file": {
727
+ "type": "string",
728
+ "format": "binary"
729
+ }
730
+ },
731
+ "additionalProperties": true
732
+ },
733
+ "FileRecordCreate": {
734
+ "type": "object",
735
+ "description": "File metadata written after the object already exists in storage. Do not use this JSON form to pretend that a local file was uploaded.",
736
+ "properties": {
737
+ "title": {
738
+ "type": "string"
739
+ },
740
+ "filename": {
741
+ "type": "string"
742
+ },
743
+ "extname": {
744
+ "type": "string"
745
+ },
746
+ "size": {
747
+ "type": "integer",
748
+ "minimum": 0
749
+ },
750
+ "mimetype": {
751
+ "type": "string"
752
+ },
753
+ "path": {
754
+ "type": "string"
755
+ },
756
+ "url": {
757
+ "type": "string"
758
+ },
759
+ "meta": {
760
+ "type": "object",
761
+ "additionalProperties": true
762
+ },
763
+ "storageId": {
764
+ "$ref": "#/components/schemas/Identifier"
765
+ }
766
+ },
767
+ "required": ["title", "filename", "size", "mimetype", "storageId"],
768
+ "additionalProperties": true
769
+ },
770
+ "FileRecord": {
771
+ "allOf": [
772
+ {
773
+ "$ref": "#/components/schemas/FileRecordCreate"
774
+ },
775
+ {
776
+ "type": "object",
777
+ "properties": {
778
+ "id": {
779
+ "$ref": "#/components/schemas/Identifier"
780
+ },
781
+ "preview": {
782
+ "type": "string",
783
+ "description": "Preview URL returned by NocoBase."
784
+ },
785
+ "local": {
786
+ "type": "boolean",
787
+ "description": "Whether the file uses local storage."
788
+ }
789
+ }
790
+ }
791
+ ]
792
+ },
793
+ "StorageCheck": {
794
+ "type": "object",
795
+ "required": ["isSupportToUploadFiles", "storage"],
796
+ "properties": {
797
+ "isSupportToUploadFiles": {
798
+ "type": "boolean"
799
+ },
800
+ "storage": {
801
+ "$ref": "#/components/schemas/StorageBasicInfo"
802
+ }
803
+ }
804
+ },
805
+ "PaginationMeta": {
806
+ "type": "object",
807
+ "properties": {
808
+ "count": {
809
+ "type": "integer"
810
+ },
811
+ "page": {
812
+ "type": "integer"
813
+ },
814
+ "pageSize": {
815
+ "type": "integer"
816
+ },
817
+ "totalPage": {
818
+ "type": "integer"
819
+ }
820
+ },
821
+ "additionalProperties": true
822
+ },
823
+ "StorageResponse": {
824
+ "type": "object",
825
+ "properties": {
826
+ "data": {
827
+ "$ref": "#/components/schemas/Storage"
828
+ }
829
+ }
830
+ },
831
+ "StorageListResponse": {
832
+ "type": "object",
833
+ "properties": {
834
+ "data": {
835
+ "type": "array",
836
+ "items": {
837
+ "$ref": "#/components/schemas/Storage"
838
+ }
839
+ },
840
+ "meta": {
841
+ "$ref": "#/components/schemas/PaginationMeta"
842
+ }
843
+ }
844
+ },
845
+ "StorageBasicInfoResponse": {
846
+ "type": "object",
847
+ "properties": {
848
+ "data": {
849
+ "$ref": "#/components/schemas/StorageBasicInfo"
850
+ }
851
+ }
852
+ },
853
+ "StorageCheckResponse": {
854
+ "type": "object",
855
+ "properties": {
856
+ "data": {
857
+ "$ref": "#/components/schemas/StorageCheck"
858
+ }
859
+ }
860
+ },
861
+ "FileRecordResponse": {
862
+ "type": "object",
863
+ "properties": {
864
+ "data": {
865
+ "$ref": "#/components/schemas/FileRecord"
866
+ }
867
+ }
868
+ },
869
+ "MutationResponse": {
870
+ "type": "object",
871
+ "properties": {
872
+ "data": {}
873
+ },
874
+ "additionalProperties": true
875
+ },
876
+ "ErrorResponse": {
877
+ "type": "object",
878
+ "properties": {
879
+ "errors": {
880
+ "type": "array",
881
+ "items": {
882
+ "type": "object",
883
+ "properties": {
884
+ "message": {
885
+ "type": "string"
886
+ }
887
+ }
888
+ }
889
+ }
890
+ }
891
+ }
892
+ },
893
+ "responses": {
894
+ "BadRequest": {
895
+ "description": "Invalid storage configuration, upload, path, or filter.",
896
+ "content": {
897
+ "application/json": {
898
+ "schema": {
899
+ "$ref": "#/components/schemas/ErrorResponse"
900
+ }
901
+ }
902
+ }
903
+ },
904
+ "NotFound": {
905
+ "description": "Storage or file collection not found.",
906
+ "content": {
907
+ "application/json": {
908
+ "schema": {
909
+ "$ref": "#/components/schemas/ErrorResponse"
910
+ }
76
911
  }
77
912
  }
78
913
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nocobase/plugin-file-manager",
3
- "version": "2.3.0-beta.3",
3
+ "version": "3.0.0-alpha.11",
4
4
  "displayName": "File manager",
5
5
  "displayName.ru-RU": "Менеджер файлов",
6
6
  "displayName.zh-CN": "文件管理器",
@@ -62,5 +62,5 @@
62
62
  "Collections",
63
63
  "Collection fields"
64
64
  ],
65
- "gitHead": "f8cb6ec699b9aaffcf500fe68a55f1271b8a331c"
65
+ "gitHead": "03574f3a2d10b1ed8469dc7405aa0c4696d6d1d1"
66
66
  }