@tachybase/module-workflow 0.23.20 → 0.23.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/index.js +48 -48
- package/dist/client/nodes/query.d.ts +42 -27
- package/dist/client/schemas/collection.d.ts +42 -27
- package/dist/client/schemas/executions.d.ts +24 -0
- package/dist/externalVersion.js +15 -15
- package/dist/locale/en-US.json +2 -0
- package/dist/locale/zh-CN.json +5 -1
- package/dist/node_modules/@babel/core/lib/index.js +76 -76
- package/dist/node_modules/@babel/core/node_modules/.bin/parser +4 -4
- package/dist/node_modules/@babel/core/package.json +1 -1
- package/dist/node_modules/cron-parser/package.json +1 -1
- package/dist/node_modules/form-data/package.json +1 -1
- package/dist/node_modules/jsonata/package.json +1 -1
- package/dist/node_modules/lru-cache/package.json +1 -1
- package/dist/node_modules/mime-types/package.json +1 -1
- package/dist/node_modules/qrcode/package.json +1 -1
- package/dist/server/Plugin.js +1 -1
- package/dist/server/actions/workflows.js +2 -4
- package/dist/server/features/trigger-instruction/TriggerInstruction.js +2 -1
- package/dist/server/instructions/CreateInstruction.js +51 -10
- package/dist/server/instructions/DestroyInstruction.js +3 -1
- package/dist/server/instructions/QueryInstruction.js +3 -7
- package/dist/server/instructions/UpdateInstruction.js +51 -10
- package/package.json +17 -17
|
@@ -6,12 +6,12 @@ case `uname` in
|
|
|
6
6
|
esac
|
|
7
7
|
|
|
8
8
|
if [ -z "$NODE_PATH" ]; then
|
|
9
|
-
export NODE_PATH="/home/runner/work/tachybase/tachybase/node_modules/.pnpm/@babel+parser@7.26.
|
|
9
|
+
export NODE_PATH="/home/runner/work/tachybase/tachybase/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/bin/node_modules:/home/runner/work/tachybase/tachybase/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/node_modules:/home/runner/work/tachybase/tachybase/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/node_modules:/home/runner/work/tachybase/tachybase/node_modules/.pnpm/@babel+parser@7.26.3/node_modules:/home/runner/work/tachybase/tachybase/node_modules/.pnpm/node_modules"
|
|
10
10
|
else
|
|
11
|
-
export NODE_PATH="/home/runner/work/tachybase/tachybase/node_modules/.pnpm/@babel+parser@7.26.
|
|
11
|
+
export NODE_PATH="/home/runner/work/tachybase/tachybase/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/bin/node_modules:/home/runner/work/tachybase/tachybase/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/node_modules:/home/runner/work/tachybase/tachybase/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/node_modules:/home/runner/work/tachybase/tachybase/node_modules/.pnpm/@babel+parser@7.26.3/node_modules:/home/runner/work/tachybase/tachybase/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
12
12
|
fi
|
|
13
13
|
if [ -x "$basedir/node" ]; then
|
|
14
|
-
exec "$basedir/node" "$basedir/../../../../../../@babel+parser@7.26.
|
|
14
|
+
exec "$basedir/node" "$basedir/../../../../../../@babel+parser@7.26.3/node_modules/@babel/parser/bin/babel-parser.js" "$@"
|
|
15
15
|
else
|
|
16
|
-
exec node "$basedir/../../../../../../@babel+parser@7.26.
|
|
16
|
+
exec node "$basedir/../../../../../../@babel+parser@7.26.3/node_modules/@babel/parser/bin/babel-parser.js" "$@"
|
|
17
17
|
fi
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@babel/core","version":"7.26.0","description":"Babel compiler core.","main":"./lib/index.js","author":"The Babel Team (https://babel.dev/team)","license":"MIT","publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://github.com/babel/babel.git","directory":"packages/babel-core"},"homepage":"https://babel.dev/docs/en/next/babel-core","bugs":"https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20core%22+is%3Aopen","keywords":["6to5","babel","classes","const","es6","harmony","let","modules","transpile","transpiler","var","babel-core","compiler"],"engines":{"node":">=6.9.0"},"funding":{"type":"opencollective","url":"https://opencollective.com/babel"},"browser":{"./lib/config/files/index.js":"./lib/config/files/index-browser.js","./lib/config/resolve-targets.js":"./lib/config/resolve-targets-browser.js","./lib/transform-file.js":"./lib/transform-file-browser.js","./src/config/files/index.ts":"./src/config/files/index-browser.ts","./src/config/resolve-targets.ts":"./src/config/resolve-targets-browser.ts","./src/transform-file.ts":"./src/transform-file-browser.ts"},"dependencies":{"@ampproject/remapping":"^2.2.0","@babel/code-frame":"^7.26.0","@babel/generator":"^7.26.0","@babel/helper-compilation-targets":"^7.25.9","@babel/helper-module-transforms":"^7.26.0","@babel/helpers":"^7.26.0","@babel/parser":"^7.26.0","@babel/template":"^7.25.9","@babel/traverse":"^7.25.9","@babel/types":"^7.26.0","convert-source-map":"^2.0.0","debug":"^4.1.0","gensync":"^1.0.0-beta.2","json5":"^2.2.3","semver":"^6.3.1"},"devDependencies":{"@babel/helper-transform-fixture-test-runner":"^7.26.0","@babel/plugin-syntax-flow":"^7.26.0","@babel/plugin-transform-flow-strip-types":"^7.25.9","@babel/plugin-transform-modules-commonjs":"^7.25.9","@babel/preset-env":"^7.26.0","@babel/preset-typescript":"^7.26.0","@jridgewell/trace-mapping":"^0.3.25","@types/convert-source-map":"^2.0.0","@types/debug":"^4.1.0","@types/gensync":"^1.0.0","@types/resolve":"^1.3.2","@types/semver":"^5.4.0","rimraf":"^3.0.0","ts-node":"^11.0.0-beta.1"},"type":"commonjs","_lastModified":"
|
|
1
|
+
{"name":"@babel/core","version":"7.26.0","description":"Babel compiler core.","main":"./lib/index.js","author":"The Babel Team (https://babel.dev/team)","license":"MIT","publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://github.com/babel/babel.git","directory":"packages/babel-core"},"homepage":"https://babel.dev/docs/en/next/babel-core","bugs":"https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20core%22+is%3Aopen","keywords":["6to5","babel","classes","const","es6","harmony","let","modules","transpile","transpiler","var","babel-core","compiler"],"engines":{"node":">=6.9.0"},"funding":{"type":"opencollective","url":"https://opencollective.com/babel"},"browser":{"./lib/config/files/index.js":"./lib/config/files/index-browser.js","./lib/config/resolve-targets.js":"./lib/config/resolve-targets-browser.js","./lib/transform-file.js":"./lib/transform-file-browser.js","./src/config/files/index.ts":"./src/config/files/index-browser.ts","./src/config/resolve-targets.ts":"./src/config/resolve-targets-browser.ts","./src/transform-file.ts":"./src/transform-file-browser.ts"},"dependencies":{"@ampproject/remapping":"^2.2.0","@babel/code-frame":"^7.26.0","@babel/generator":"^7.26.0","@babel/helper-compilation-targets":"^7.25.9","@babel/helper-module-transforms":"^7.26.0","@babel/helpers":"^7.26.0","@babel/parser":"^7.26.0","@babel/template":"^7.25.9","@babel/traverse":"^7.25.9","@babel/types":"^7.26.0","convert-source-map":"^2.0.0","debug":"^4.1.0","gensync":"^1.0.0-beta.2","json5":"^2.2.3","semver":"^6.3.1"},"devDependencies":{"@babel/helper-transform-fixture-test-runner":"^7.26.0","@babel/plugin-syntax-flow":"^7.26.0","@babel/plugin-transform-flow-strip-types":"^7.25.9","@babel/plugin-transform-modules-commonjs":"^7.25.9","@babel/preset-env":"^7.26.0","@babel/preset-typescript":"^7.26.0","@jridgewell/trace-mapping":"^0.3.25","@types/convert-source-map":"^2.0.0","@types/debug":"^4.1.0","@types/gensync":"^1.0.0","@types/resolve":"^1.3.2","@types/semver":"^5.4.0","rimraf":"^3.0.0","ts-node":"^11.0.0-beta.1"},"type":"commonjs","_lastModified":"2025-01-16T06:27:57.247Z"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"cron-parser","version":"4.9.0","description":"Node.js library for parsing crontab instructions","main":"lib/parser.js","types":"types/index.d.ts","typesVersions":{"<4.1":{"*":["types/ts3/*"]}},"directories":{"test":"test"},"scripts":{"test:tsd":"tsd","test:unit":"TZ=UTC tap ./test/*.js","test:cover":"TZ=UTC tap --coverage-report=html ./test/*.js","lint":"eslint .","lint:fix":"eslint --fix .","test":"npm run lint && npm run test:unit && npm run test:tsd"},"repository":{"type":"git","url":"https://github.com/harrisiirak/cron-parser.git"},"keywords":["cron","crontab","parser"],"author":"Harri Siirak","contributors":["Nicholas Clawson","Daniel Prentis <daniel@salsitasoft.com>","Renault John Lecoultre","Richard Astbury <richard.astbury@gmail.com>","Meaglin Wasabi <Meaglin.wasabi@gmail.com>","Mike Kusold <hello@mikekusold.com>","Alex Kit <alex.kit@atmajs.com>","Santiago Gimeno <santiago.gimeno@gmail.com>","Daniel <darc.tec@gmail.com>","Christian Steininger <christian.steininger.cs@gmail.com>","Mykola Piskovyi <m.piskovyi@gmail.com>","Brian Vaughn <brian.david.vaughn@gmail.com>","Nicholas Clawson <nickclaw@gmail.com>","Yasuhiroki <yasuhiroki.duck@gmail.com>","Nicholas Clawson <nickclaw@gmail.com>","Brendan Warkentin <faazshift@gmail.com>","Charlie Fish <fishcharlie.code@gmail.com>","Ian Graves <ian+diskimage@iangrav.es>","Andy Thompson <me@andytson.com>","Regev Brody <regevbr@gmail.com>"],"license":"MIT","dependencies":{"luxon":"^3.2.1"},"devDependencies":{"eslint":"^8.27.0","sinon":"^15.0.1","tap":"^16.3.3","tsd":"^0.26.0"},"engines":{"node":">=12.0.0"},"browser":{"fs":false},"tap":{"check-coverage":false},"tsd":{"directory":"test","compilerOptions":{"lib":["es2017","dom"]}},"files":["lib","types","LICENSE","README.md"],"_lastModified":"
|
|
1
|
+
{"name":"cron-parser","version":"4.9.0","description":"Node.js library for parsing crontab instructions","main":"lib/parser.js","types":"types/index.d.ts","typesVersions":{"<4.1":{"*":["types/ts3/*"]}},"directories":{"test":"test"},"scripts":{"test:tsd":"tsd","test:unit":"TZ=UTC tap ./test/*.js","test:cover":"TZ=UTC tap --coverage-report=html ./test/*.js","lint":"eslint .","lint:fix":"eslint --fix .","test":"npm run lint && npm run test:unit && npm run test:tsd"},"repository":{"type":"git","url":"https://github.com/harrisiirak/cron-parser.git"},"keywords":["cron","crontab","parser"],"author":"Harri Siirak","contributors":["Nicholas Clawson","Daniel Prentis <daniel@salsitasoft.com>","Renault John Lecoultre","Richard Astbury <richard.astbury@gmail.com>","Meaglin Wasabi <Meaglin.wasabi@gmail.com>","Mike Kusold <hello@mikekusold.com>","Alex Kit <alex.kit@atmajs.com>","Santiago Gimeno <santiago.gimeno@gmail.com>","Daniel <darc.tec@gmail.com>","Christian Steininger <christian.steininger.cs@gmail.com>","Mykola Piskovyi <m.piskovyi@gmail.com>","Brian Vaughn <brian.david.vaughn@gmail.com>","Nicholas Clawson <nickclaw@gmail.com>","Yasuhiroki <yasuhiroki.duck@gmail.com>","Nicholas Clawson <nickclaw@gmail.com>","Brendan Warkentin <faazshift@gmail.com>","Charlie Fish <fishcharlie.code@gmail.com>","Ian Graves <ian+diskimage@iangrav.es>","Andy Thompson <me@andytson.com>","Regev Brody <regevbr@gmail.com>"],"license":"MIT","dependencies":{"luxon":"^3.2.1"},"devDependencies":{"eslint":"^8.27.0","sinon":"^15.0.1","tap":"^16.3.3","tsd":"^0.26.0"},"engines":{"node":">=12.0.0"},"browser":{"fs":false},"tap":{"check-coverage":false},"tsd":{"directory":"test","compilerOptions":{"lib":["es2017","dom"]}},"files":["lib","types","LICENSE","README.md"],"_lastModified":"2025-01-16T06:27:57.502Z"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"author":"Felix Geisendörfer <felix@debuggable.com> (http://debuggable.com/)","name":"form-data","description":"A library to create readable \"multipart/form-data\" streams. Can be used to submit forms and file uploads to other web applications.","version":"4.0.1","repository":{"type":"git","url":"git://github.com/form-data/form-data.git"},"main":"./lib/form_data","browser":"./lib/browser","typings":"./index.d.ts","scripts":{"pretest":"npm run lint","pretests-only":"rimraf coverage test/tmp","tests-only":"istanbul cover test/run.js","posttests-only":"istanbul report lcov text","test":"npm run tests-only","posttest":"npx npm@'>=10.2' audit --production","lint":"eslint --ext=js,mjs .","report":"istanbul report lcov text","ci-lint":"is-node-modern 8 && npm run lint || is-node-not-modern 8","ci-test":"npm run tests-only && npm run browser && npm run report","predebug":"rimraf coverage test/tmp","debug":"verbose=1 ./test/run.js","browser":"browserify -t browserify-istanbul test/run-browser.js | obake --coverage","check":"istanbul check-coverage coverage/coverage*.json","files":"pkgfiles --sort=name","get-version":"node -e \"console.log(require('./package.json').version)\"","update-readme":"sed -i.bak 's/\\/master\\.svg/\\/v'$(npm --silent run get-version)'.svg/g' README.md","restore-readme":"mv README.md.bak README.md","prepublish":"in-publish && npm run update-readme || not-in-publish","postpublish":"npm run restore-readme"},"pre-commit":["lint","ci-test","check"],"engines":{"node":">= 6"},"dependencies":{"asynckit":"^0.4.0","combined-stream":"^1.0.8","mime-types":"^2.1.12"},"devDependencies":{"@types/node":"^12.0.10","browserify":"^13.1.1","browserify-istanbul":"^2.0.0","coveralls":"^3.0.4","cross-spawn":"^6.0.5","eslint":"^6.0.1","fake":"^0.2.2","far":"^0.0.7","formidable":"^1.0.17","in-publish":"^2.0.0","is-node-modern":"^1.0.0","istanbul":"^0.4.5","obake":"^0.1.2","puppeteer":"^1.19.0","pkgfiles":"^2.3.0","pre-commit":"^1.1.3","request":"^2.88.0","rimraf":"^2.7.1","tape":"^4.6.2","typescript":"^3.5.2"},"license":"MIT","_lastModified":"
|
|
1
|
+
{"author":"Felix Geisendörfer <felix@debuggable.com> (http://debuggable.com/)","name":"form-data","description":"A library to create readable \"multipart/form-data\" streams. Can be used to submit forms and file uploads to other web applications.","version":"4.0.1","repository":{"type":"git","url":"git://github.com/form-data/form-data.git"},"main":"./lib/form_data","browser":"./lib/browser","typings":"./index.d.ts","scripts":{"pretest":"npm run lint","pretests-only":"rimraf coverage test/tmp","tests-only":"istanbul cover test/run.js","posttests-only":"istanbul report lcov text","test":"npm run tests-only","posttest":"npx npm@'>=10.2' audit --production","lint":"eslint --ext=js,mjs .","report":"istanbul report lcov text","ci-lint":"is-node-modern 8 && npm run lint || is-node-not-modern 8","ci-test":"npm run tests-only && npm run browser && npm run report","predebug":"rimraf coverage test/tmp","debug":"verbose=1 ./test/run.js","browser":"browserify -t browserify-istanbul test/run-browser.js | obake --coverage","check":"istanbul check-coverage coverage/coverage*.json","files":"pkgfiles --sort=name","get-version":"node -e \"console.log(require('./package.json').version)\"","update-readme":"sed -i.bak 's/\\/master\\.svg/\\/v'$(npm --silent run get-version)'.svg/g' README.md","restore-readme":"mv README.md.bak README.md","prepublish":"in-publish && npm run update-readme || not-in-publish","postpublish":"npm run restore-readme"},"pre-commit":["lint","ci-test","check"],"engines":{"node":">= 6"},"dependencies":{"asynckit":"^0.4.0","combined-stream":"^1.0.8","mime-types":"^2.1.12"},"devDependencies":{"@types/node":"^12.0.10","browserify":"^13.1.1","browserify-istanbul":"^2.0.0","coveralls":"^3.0.4","cross-spawn":"^6.0.5","eslint":"^6.0.1","fake":"^0.2.2","far":"^0.0.7","formidable":"^1.0.17","in-publish":"^2.0.0","is-node-modern":"^1.0.0","istanbul":"^0.4.5","obake":"^0.1.2","puppeteer":"^1.19.0","pkgfiles":"^2.3.0","pre-commit":"^1.1.3","request":"^2.88.0","rimraf":"^2.7.1","tape":"^4.6.2","typescript":"^3.5.2"},"license":"MIT","_lastModified":"2025-01-16T06:27:52.815Z"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"jsonata","version":"2.0.6","description":"JSON query and transformation language","module":"jsonata.js","main":"jsonata.js","typings":"jsonata.d.ts","homepage":"http://jsonata.org/","repository":{"type":"git","url":"https://github.com/jsonata-js/jsonata.git"},"scripts":{"pretest":"npm run lint","mocha":"nyc ./node_modules/mocha/bin/_mocha -- \"test/**/*.js\"","test":"npm run mocha","posttest":"npm run check-coverage && npm run browserify && npm run minify && npm run build-es5","build-es5":"npm run mkdir-dist && npm run regenerator && npm run browserify-es5 && npm run minify-es5","check-coverage":"nyc check-coverage --statements 100 --branches 100 --functions 100 --lines 100","browserify":"browserify src/jsonata.js --outfile jsonata.js --standalone jsonata","mkdir-dist":"mkdirp ./dist","regenerator":"babel src --out-dir dist --presets=@babel/env","browserify-es5":"regenerator --include-runtime polyfill.js > jsonata-es5.js; browserify dist/jsonata.js --standalone jsonata >> jsonata-es5.js","prepublishOnly":"npm run browserify && npm run minify && npm run build-es5","lint":"eslint src","doc":"jsdoc --configure jsdoc.json .","cover":"nyc _mocha","minify":"uglifyjs jsonata.js -o jsonata.min.js --compress --mangle","minify-es5":"uglifyjs jsonata-es5.js -o jsonata-es5.min.js --compress --mangle"},"license":"MIT","keywords":["JSON","query","transformation","transform","mapping","path"],"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.4","@babel/preset-env":"^7.8.4","browserify":"^16.5.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"8.0.0","eslint-plugin-ideal":"^0.1.3","eslint-plugin-promise":"^6.0.0","jsdoc":"^3.6.3","mkdirp":"^1.0.3","mocha":"^7.0.1","mocha-lcov-reporter":"^1.3.0","nyc":"^15.1.0","regenerator":"^0.14.4","request":"^2.88.2","uglify-es":"^3.3.10"},"engines":{"node":">= 8"},"_lastModified":"
|
|
1
|
+
{"name":"jsonata","version":"2.0.6","description":"JSON query and transformation language","module":"jsonata.js","main":"jsonata.js","typings":"jsonata.d.ts","homepage":"http://jsonata.org/","repository":{"type":"git","url":"https://github.com/jsonata-js/jsonata.git"},"scripts":{"pretest":"npm run lint","mocha":"nyc ./node_modules/mocha/bin/_mocha -- \"test/**/*.js\"","test":"npm run mocha","posttest":"npm run check-coverage && npm run browserify && npm run minify && npm run build-es5","build-es5":"npm run mkdir-dist && npm run regenerator && npm run browserify-es5 && npm run minify-es5","check-coverage":"nyc check-coverage --statements 100 --branches 100 --functions 100 --lines 100","browserify":"browserify src/jsonata.js --outfile jsonata.js --standalone jsonata","mkdir-dist":"mkdirp ./dist","regenerator":"babel src --out-dir dist --presets=@babel/env","browserify-es5":"regenerator --include-runtime polyfill.js > jsonata-es5.js; browserify dist/jsonata.js --standalone jsonata >> jsonata-es5.js","prepublishOnly":"npm run browserify && npm run minify && npm run build-es5","lint":"eslint src","doc":"jsdoc --configure jsdoc.json .","cover":"nyc _mocha","minify":"uglifyjs jsonata.js -o jsonata.min.js --compress --mangle","minify-es5":"uglifyjs jsonata-es5.js -o jsonata-es5.min.js --compress --mangle"},"license":"MIT","keywords":["JSON","query","transformation","transform","mapping","path"],"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.4","@babel/preset-env":"^7.8.4","browserify":"^16.5.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","eslint":"8.0.0","eslint-plugin-ideal":"^0.1.3","eslint-plugin-promise":"^6.0.0","jsdoc":"^3.6.3","mkdirp":"^1.0.3","mocha":"^7.0.1","mocha-lcov-reporter":"^1.3.0","nyc":"^15.1.0","regenerator":"^0.14.4","request":"^2.88.2","uglify-es":"^3.3.10"},"engines":{"node":">= 8"},"_lastModified":"2025-01-16T06:27:53.825Z"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"type":"commonjs","_lastModified":"
|
|
1
|
+
{"type":"commonjs","_lastModified":"2025-01-16T06:27:52.553Z"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"mime-types","description":"The ultimate javascript content-type utility.","version":"2.1.35","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.52.0"},"devDependencies":{"eslint":"7.32.0","eslint-config-standard":"14.1.1","eslint-plugin-import":"2.25.4","eslint-plugin-markdown":"2.2.1","eslint-plugin-node":"11.1.0","eslint-plugin-promise":"5.2.0","eslint-plugin-standard":"4.1.0","mocha":"9.2.2","nyc":"15.1.0"},"files":["HISTORY.md","LICENSE","index.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":"
|
|
1
|
+
{"name":"mime-types","description":"The ultimate javascript content-type utility.","version":"2.1.35","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.52.0"},"devDependencies":{"eslint":"7.32.0","eslint-config-standard":"14.1.1","eslint-plugin-import":"2.25.4","eslint-plugin-markdown":"2.2.1","eslint-plugin-node":"11.1.0","eslint-plugin-promise":"5.2.0","eslint-plugin-standard":"4.1.0","mocha":"9.2.2","nyc":"15.1.0"},"files":["HISTORY.md","LICENSE","index.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":"2025-01-16T06:27:52.972Z"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"qrcode","description":"QRCode / 2d Barcode api with both server side and client side support using canvas","version":"1.5.4","author":"Ryan Day <soldair@gmail.com>","contributors":["Vincenzo Greco <greco.vincenzo@gmail.com>","Linus Unnebäck <linus@folkdatorn.se>"],"keywords":["qr","code","canvas","qrcode"],"main":"./lib/index.js","browser":{"./lib/index.js":"./lib/browser.js","fs":false},"files":["bin","build","lib","helper"],"homepage":"http://github.com/soldair/node-qrcode","license":"MIT","scripts":{"lint":"standard","pretest":"npm run lint","test":"node --throw-deprecation test.js","build":"rollup -c","prepublish":"npm run build","browser":"node examples/clientsideserver.js"},"bin":{"qrcode":"./bin/qrcode"},"dependencies":{"dijkstrajs":"^1.0.1","pngjs":"^5.0.0","yargs":"^15.3.1"},"devDependencies":{"@babel/core":"^7.9.0","@babel/preset-env":"^7.9.5","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-node-resolve":"^7.1.3","browserify":"^16.5.1","canvas":"^2.8.0","canvasutil":"0.0.4","colors":"^1.4.0","express":"^4.17.1","htmlparser2":"^4.1.0","rollup":"^2.6.1","rollup-plugin-babel":"^4.4.0","rollup-plugin-terser":"^5.3.0","sinon":"^9.0.2","standard":"^16.0.4","tap":"^16.2.0"},"repository":{"type":"git","url":"git://github.com/soldair/node-qrcode.git"},"engines":{"node":">=10.13.0"},"standard":{"ignore":["build/","examples/vendors/","lib/core/regex.js"]},"_lastModified":"
|
|
1
|
+
{"name":"qrcode","description":"QRCode / 2d Barcode api with both server side and client side support using canvas","version":"1.5.4","author":"Ryan Day <soldair@gmail.com>","contributors":["Vincenzo Greco <greco.vincenzo@gmail.com>","Linus Unnebäck <linus@folkdatorn.se>"],"keywords":["qr","code","canvas","qrcode"],"main":"./lib/index.js","browser":{"./lib/index.js":"./lib/browser.js","fs":false},"files":["bin","build","lib","helper"],"homepage":"http://github.com/soldair/node-qrcode","license":"MIT","scripts":{"lint":"standard","pretest":"npm run lint","test":"node --throw-deprecation test.js","build":"rollup -c","prepublish":"npm run build","browser":"node examples/clientsideserver.js"},"bin":{"qrcode":"./bin/qrcode"},"dependencies":{"dijkstrajs":"^1.0.1","pngjs":"^5.0.0","yargs":"^15.3.1"},"devDependencies":{"@babel/core":"^7.9.0","@babel/preset-env":"^7.9.5","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-node-resolve":"^7.1.3","browserify":"^16.5.1","canvas":"^2.8.0","canvasutil":"0.0.4","colors":"^1.4.0","express":"^4.17.1","htmlparser2":"^4.1.0","rollup":"^2.6.1","rollup-plugin-babel":"^4.4.0","rollup-plugin-terser":"^5.3.0","sinon":"^9.0.2","standard":"^16.0.4","tap":"^16.2.0"},"repository":{"type":"git","url":"git://github.com/soldair/node-qrcode.git"},"engines":{"node":">=10.13.0"},"standard":{"ignore":["build/","examples/vendors/","lib/core/regex.js"]},"_lastModified":"2025-01-16T06:27:53.409Z"}
|
package/dist/server/Plugin.js
CHANGED
|
@@ -107,7 +107,7 @@ class PluginWorkflowServer extends import_server.Plugin {
|
|
|
107
107
|
const logger = this.createLogger({
|
|
108
108
|
dirname: import_path.default.join("workflows", date),
|
|
109
109
|
filename: `${workflowId}.log`,
|
|
110
|
-
transports: process.env.
|
|
110
|
+
transports: process.env.APP_ENV !== "production" ? ["console"] : ["file"]
|
|
111
111
|
});
|
|
112
112
|
this.loggerCache.set(key, logger);
|
|
113
113
|
return logger;
|
|
@@ -200,10 +200,8 @@ async function test(context, next) {
|
|
|
200
200
|
const result = await plugin.trigger(
|
|
201
201
|
workflow,
|
|
202
202
|
{
|
|
203
|
-
data:
|
|
204
|
-
|
|
205
|
-
user: context.state.currentUse
|
|
206
|
-
}
|
|
203
|
+
data: values.data,
|
|
204
|
+
user: context.state.currentUser
|
|
207
205
|
},
|
|
208
206
|
{ httpContext: context }
|
|
209
207
|
);
|
|
@@ -38,7 +38,7 @@ class TriggerInstruction extends import_instructions.default {
|
|
|
38
38
|
const wfRepo = this.workflow.db.getRepository("workflows");
|
|
39
39
|
const wf = await wfRepo.findOne({ filter: { key: workflowKey, enabled: true } });
|
|
40
40
|
if (wf.sync) {
|
|
41
|
-
const p = await this.workflow.trigger(wf, input.result);
|
|
41
|
+
const p = await this.workflow.trigger(wf, input.result, processor.options);
|
|
42
42
|
if (!p) {
|
|
43
43
|
return {
|
|
44
44
|
status: import_constants.JOB_STATUS.FAILED
|
|
@@ -51,6 +51,7 @@ class TriggerInstruction extends import_instructions.default {
|
|
|
51
51
|
};
|
|
52
52
|
} else {
|
|
53
53
|
this.workflow.trigger(wf, input.result, {
|
|
54
|
+
...processor.options,
|
|
54
55
|
parentNode: node.id,
|
|
55
56
|
parent: processor.execution
|
|
56
57
|
});
|
|
@@ -43,6 +43,7 @@ var import_constants = require("../constants");
|
|
|
43
43
|
var import_utils2 = require("../utils");
|
|
44
44
|
class CreateInstruction extends import__.Instruction {
|
|
45
45
|
async run(node, input, processor) {
|
|
46
|
+
var _a, _b;
|
|
46
47
|
const { collection, params: { appends = [], ...params } = {} } = node.config;
|
|
47
48
|
const [dataSourceName, collectionName] = (0, import_data_source.parseCollectionName)(collection);
|
|
48
49
|
const { repository, filterTargetKey } = this.workflow.app.dataSourceManager.dataSources.get(dataSourceName).collectionManager.getCollection(collectionName);
|
|
@@ -62,6 +63,40 @@ class CreateInstruction extends import__.Instruction {
|
|
|
62
63
|
}
|
|
63
64
|
};
|
|
64
65
|
const handleResource = async (resource) => {
|
|
66
|
+
if (typeof resource === "object" && (resource == null ? void 0 : resource.url) && (resource == null ? void 0 : resource.filename)) {
|
|
67
|
+
const {
|
|
68
|
+
id,
|
|
69
|
+
createdAt,
|
|
70
|
+
updatedAt,
|
|
71
|
+
title,
|
|
72
|
+
filename,
|
|
73
|
+
extname,
|
|
74
|
+
size,
|
|
75
|
+
mimetype,
|
|
76
|
+
path,
|
|
77
|
+
meta,
|
|
78
|
+
url,
|
|
79
|
+
createById,
|
|
80
|
+
updatedById,
|
|
81
|
+
storageId
|
|
82
|
+
} = resource;
|
|
83
|
+
return {
|
|
84
|
+
id,
|
|
85
|
+
createdAt,
|
|
86
|
+
updatedAt,
|
|
87
|
+
title,
|
|
88
|
+
filename,
|
|
89
|
+
extname,
|
|
90
|
+
size,
|
|
91
|
+
mimetype,
|
|
92
|
+
path,
|
|
93
|
+
meta,
|
|
94
|
+
url,
|
|
95
|
+
createById,
|
|
96
|
+
updatedById,
|
|
97
|
+
storageId
|
|
98
|
+
};
|
|
99
|
+
}
|
|
65
100
|
const parseRes = isJSON(resource);
|
|
66
101
|
const config = {
|
|
67
102
|
method: "get",
|
|
@@ -85,7 +120,13 @@ class CreateInstruction extends import__.Instruction {
|
|
|
85
120
|
throw new Error("Invalid data URL format");
|
|
86
121
|
}
|
|
87
122
|
} else if (parseRes) {
|
|
88
|
-
const {
|
|
123
|
+
const {
|
|
124
|
+
url: resourceUrl,
|
|
125
|
+
params: resourceParams,
|
|
126
|
+
headers: resourceHeaders,
|
|
127
|
+
body: resourceBody,
|
|
128
|
+
filename
|
|
129
|
+
} = parseRes;
|
|
89
130
|
config.url = resourceUrl;
|
|
90
131
|
config.params = resourceParams;
|
|
91
132
|
config.headers = resourceHeaders;
|
|
@@ -101,9 +142,9 @@ class CreateInstruction extends import__.Instruction {
|
|
|
101
142
|
const response = await (0, import_axios.default)(config);
|
|
102
143
|
const contentType = response.headers["content-type"];
|
|
103
144
|
const ext = import_mime_types.default.extension(contentType);
|
|
104
|
-
const
|
|
145
|
+
const fullFilename = `${filename ?? (0, import_utils.uid)()}.${ext}`;
|
|
105
146
|
form.append("file", response.data, {
|
|
106
|
-
filename,
|
|
147
|
+
filename: fullFilename,
|
|
107
148
|
contentType: response.headers["content-type"]
|
|
108
149
|
});
|
|
109
150
|
} else {
|
|
@@ -130,21 +171,21 @@ class CreateInstruction extends import__.Instruction {
|
|
|
130
171
|
};
|
|
131
172
|
for (const attachmentField of includesFields) {
|
|
132
173
|
if (attachmentField.options.interface === "attachment") {
|
|
133
|
-
|
|
134
|
-
if (Array.isArray(
|
|
135
|
-
for (const i in
|
|
136
|
-
|
|
174
|
+
let targetField = options.values[attachmentField.options.name];
|
|
175
|
+
if (Array.isArray(targetField)) {
|
|
176
|
+
for (const i in targetField) {
|
|
177
|
+
targetField[i] = await handleResource(targetField[i]);
|
|
137
178
|
}
|
|
138
179
|
} else {
|
|
139
|
-
|
|
140
|
-
options.values[attachmentField.options.name] = await handleResource(url);
|
|
180
|
+
targetField = [await handleResource(targetField)];
|
|
141
181
|
}
|
|
142
182
|
}
|
|
143
183
|
}
|
|
144
184
|
const created = await repository.create({
|
|
145
185
|
...options,
|
|
146
186
|
context: {
|
|
147
|
-
stack: Array.from(new Set((processor.execution.context.stack ?? []).concat(processor.execution.id)))
|
|
187
|
+
stack: Array.from(new Set((processor.execution.context.stack ?? []).concat(processor.execution.id))),
|
|
188
|
+
state: (_b = (_a = processor.options) == null ? void 0 : _a.httpContext) == null ? void 0 : _b.state
|
|
148
189
|
},
|
|
149
190
|
transaction
|
|
150
191
|
});
|
|
@@ -26,6 +26,7 @@ var import__ = require(".");
|
|
|
26
26
|
var import_constants = require("../constants");
|
|
27
27
|
class DestroyInstruction extends import__.Instruction {
|
|
28
28
|
async run(node, input, processor) {
|
|
29
|
+
var _a, _b;
|
|
29
30
|
const { collection, params = {} } = node.config;
|
|
30
31
|
const [dataSourceName, collectionName] = (0, import_data_source.parseCollectionName)(collection);
|
|
31
32
|
const { repository } = this.workflow.app.dataSourceManager.dataSources.get(dataSourceName).collectionManager.getCollection(collectionName);
|
|
@@ -33,7 +34,8 @@ class DestroyInstruction extends import__.Instruction {
|
|
|
33
34
|
const result = await repository.destroy({
|
|
34
35
|
...options,
|
|
35
36
|
context: {
|
|
36
|
-
stack: Array.from(new Set((processor.execution.context.stack ?? []).concat(processor.execution.id)))
|
|
37
|
+
stack: Array.from(new Set((processor.execution.context.stack ?? []).concat(processor.execution.id))),
|
|
38
|
+
state: (_b = (_a = processor.options) == null ? void 0 : _a.httpContext) == null ? void 0 : _b.state
|
|
37
39
|
},
|
|
38
40
|
transaction: this.workflow.useDataSourceTransaction(dataSourceName, processor.transaction)
|
|
39
41
|
});
|
|
@@ -35,12 +35,7 @@ class QueryInstruction extends import__.Instruction {
|
|
|
35
35
|
}
|
|
36
36
|
const [dataSourceName, collectionName] = (0, import_data_source.parseCollectionName)(collection);
|
|
37
37
|
const { repository } = this.workflow.app.dataSourceManager.dataSources.get(dataSourceName).collectionManager.getCollection(collectionName);
|
|
38
|
-
const {
|
|
39
|
-
page = import_actions.DEFAULT_PAGE,
|
|
40
|
-
pageSize = import_actions.DEFAULT_PER_PAGE,
|
|
41
|
-
sort = [],
|
|
42
|
-
...options
|
|
43
|
-
} = processor.getParsedValue(params, node.id);
|
|
38
|
+
const { page, pageSize, sort = [], paginate = true, ...options } = processor.getParsedValue(params, node.id);
|
|
44
39
|
const appends = options.appends ? Array.from(
|
|
45
40
|
options.appends.reduce((set, field) => {
|
|
46
41
|
set.add(field.split(".")[0]);
|
|
@@ -48,10 +43,11 @@ class QueryInstruction extends import__.Instruction {
|
|
|
48
43
|
return set;
|
|
49
44
|
}, /* @__PURE__ */ new Set())
|
|
50
45
|
) : options.appends;
|
|
46
|
+
let pageArgs = paginate ? import_actions.utils.pageArgsToLimitArgs(page, pageSize) : {};
|
|
51
47
|
const result = await (multiple ? repository.find : repository.findOne).call(repository, {
|
|
52
48
|
...options,
|
|
53
49
|
...otherOptions,
|
|
54
|
-
...
|
|
50
|
+
...pageArgs,
|
|
55
51
|
sort: sort.filter((item) => item.field).map((item) => {
|
|
56
52
|
var _a;
|
|
57
53
|
return `${((_a = item.direction) == null ? void 0 : _a.toLowerCase()) === "desc" ? "-" : ""}${item.field}`;
|
|
@@ -42,6 +42,7 @@ var import__ = require(".");
|
|
|
42
42
|
var import_constants = require("../constants");
|
|
43
43
|
class UpdateInstruction extends import__.Instruction {
|
|
44
44
|
async run(node, input, processor) {
|
|
45
|
+
var _a, _b;
|
|
45
46
|
const { collection, params = {} } = node.config;
|
|
46
47
|
const [dataSourceName, collectionName] = (0, import_data_source.parseCollectionName)(collection);
|
|
47
48
|
const { repository } = this.workflow.app.dataSourceManager.dataSources.get(dataSourceName).collectionManager.getCollection(collectionName);
|
|
@@ -60,6 +61,40 @@ class UpdateInstruction extends import__.Instruction {
|
|
|
60
61
|
}
|
|
61
62
|
};
|
|
62
63
|
const handleResource = async (resource) => {
|
|
64
|
+
if (typeof resource === "object" && (resource == null ? void 0 : resource.url) && (resource == null ? void 0 : resource.filename)) {
|
|
65
|
+
const {
|
|
66
|
+
id,
|
|
67
|
+
createdAt,
|
|
68
|
+
updatedAt,
|
|
69
|
+
title,
|
|
70
|
+
filename,
|
|
71
|
+
extname,
|
|
72
|
+
size,
|
|
73
|
+
mimetype,
|
|
74
|
+
path,
|
|
75
|
+
meta,
|
|
76
|
+
url,
|
|
77
|
+
createById,
|
|
78
|
+
updatedById,
|
|
79
|
+
storageId
|
|
80
|
+
} = resource;
|
|
81
|
+
return {
|
|
82
|
+
id,
|
|
83
|
+
createdAt,
|
|
84
|
+
updatedAt,
|
|
85
|
+
title,
|
|
86
|
+
filename,
|
|
87
|
+
extname,
|
|
88
|
+
size,
|
|
89
|
+
mimetype,
|
|
90
|
+
path,
|
|
91
|
+
meta,
|
|
92
|
+
url,
|
|
93
|
+
createById,
|
|
94
|
+
updatedById,
|
|
95
|
+
storageId
|
|
96
|
+
};
|
|
97
|
+
}
|
|
63
98
|
const parseRes = isJSON(resource);
|
|
64
99
|
const config = {
|
|
65
100
|
method: "get",
|
|
@@ -83,7 +118,13 @@ class UpdateInstruction extends import__.Instruction {
|
|
|
83
118
|
throw new Error("Invalid data URL format");
|
|
84
119
|
}
|
|
85
120
|
} else if (parseRes) {
|
|
86
|
-
const {
|
|
121
|
+
const {
|
|
122
|
+
url: resourceUrl,
|
|
123
|
+
params: resourceParams,
|
|
124
|
+
headers: resourceHeaders,
|
|
125
|
+
body: resourceBody,
|
|
126
|
+
filename
|
|
127
|
+
} = parseRes;
|
|
87
128
|
config.url = resourceUrl;
|
|
88
129
|
config.params = resourceParams;
|
|
89
130
|
config.headers = resourceHeaders;
|
|
@@ -99,9 +140,9 @@ class UpdateInstruction extends import__.Instruction {
|
|
|
99
140
|
const response = await (0, import_axios.default)(config);
|
|
100
141
|
const contentType = response.headers["content-type"];
|
|
101
142
|
const ext = import_mime_types.default.extension(contentType);
|
|
102
|
-
const
|
|
143
|
+
const fullFilename = `${filename || (0, import_utils.uid)()}.${ext}`;
|
|
103
144
|
form.append("file", response.data, {
|
|
104
|
-
filename,
|
|
145
|
+
filename: fullFilename,
|
|
105
146
|
contentType: response.headers["content-type"]
|
|
106
147
|
});
|
|
107
148
|
} else {
|
|
@@ -128,21 +169,21 @@ class UpdateInstruction extends import__.Instruction {
|
|
|
128
169
|
};
|
|
129
170
|
for (const attachmentField of includesFields) {
|
|
130
171
|
if (attachmentField.options.interface === "attachment") {
|
|
131
|
-
|
|
132
|
-
if (Array.isArray(
|
|
133
|
-
for (const i in
|
|
134
|
-
|
|
172
|
+
let targetField = options.values[attachmentField.options.name];
|
|
173
|
+
if (Array.isArray(targetField)) {
|
|
174
|
+
for (const i in targetField) {
|
|
175
|
+
targetField[i] = await handleResource(targetField[i]);
|
|
135
176
|
}
|
|
136
177
|
} else {
|
|
137
|
-
|
|
138
|
-
options.values[attachmentField.options.name] = [await handleResource(url)];
|
|
178
|
+
targetField = [await handleResource(targetField)];
|
|
139
179
|
}
|
|
140
180
|
}
|
|
141
181
|
}
|
|
142
182
|
const result = await repository.update({
|
|
143
183
|
...options,
|
|
144
184
|
context: {
|
|
145
|
-
stack: Array.from(new Set((processor.execution.context.stack ?? []).concat(processor.execution.id)))
|
|
185
|
+
stack: Array.from(new Set((processor.execution.context.stack ?? []).concat(processor.execution.id))),
|
|
186
|
+
state: (_b = (_a = processor.options) == null ? void 0 : _a.httpContext) == null ? void 0 : _b.state
|
|
146
187
|
},
|
|
147
188
|
transaction: this.workflow.useDataSourceTransaction(dataSourceName, processor.transaction)
|
|
148
189
|
});
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tachybase/module-workflow",
|
|
3
3
|
"displayName": "Workflow",
|
|
4
|
-
"version": "0.23.
|
|
4
|
+
"version": "0.23.35",
|
|
5
5
|
"description": "A powerful BPM tool that provides foundational support for business automation, with the capability to extend unlimited triggers and nodes.",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"Workflow"
|
|
@@ -35,24 +35,24 @@
|
|
|
35
35
|
"react-js-cron": "^3.2.0",
|
|
36
36
|
"react-router-dom": "6.28.1",
|
|
37
37
|
"sequelize": "^6.37.5",
|
|
38
|
-
"@tachybase/components": "0.23.
|
|
39
|
-
"@tachybase/plugin-workflow-test": "0.23.
|
|
38
|
+
"@tachybase/components": "0.23.35",
|
|
39
|
+
"@tachybase/plugin-workflow-test": "0.23.35"
|
|
40
40
|
},
|
|
41
41
|
"peerDependencies": {
|
|
42
|
-
"@tachybase/actions": "0.23.
|
|
43
|
-
"@tachybase/client": "0.23.
|
|
44
|
-
"@tachybase/
|
|
45
|
-
"@tachybase/
|
|
46
|
-
"@tachybase/
|
|
47
|
-
"@tachybase/
|
|
48
|
-
"@tachybase/module-collection": "0.23.
|
|
49
|
-
"@tachybase/module-error-handler": "0.23.
|
|
50
|
-
"@tachybase/module-user": "0.23.
|
|
51
|
-
"@tachybase/resourcer": "0.23.
|
|
52
|
-
"@tachybase/
|
|
53
|
-
"@tachybase/
|
|
54
|
-
"@tachybase/
|
|
55
|
-
"@tachybase/
|
|
42
|
+
"@tachybase/actions": "0.23.35",
|
|
43
|
+
"@tachybase/client": "0.23.35",
|
|
44
|
+
"@tachybase/evaluators": "0.23.35",
|
|
45
|
+
"@tachybase/logger": "0.23.35",
|
|
46
|
+
"@tachybase/data-source": "0.23.35",
|
|
47
|
+
"@tachybase/database": "0.23.35",
|
|
48
|
+
"@tachybase/module-collection": "0.23.35",
|
|
49
|
+
"@tachybase/module-error-handler": "0.23.35",
|
|
50
|
+
"@tachybase/module-user": "0.23.35",
|
|
51
|
+
"@tachybase/resourcer": "0.23.35",
|
|
52
|
+
"@tachybase/schema": "0.23.35",
|
|
53
|
+
"@tachybase/server": "0.23.35",
|
|
54
|
+
"@tachybase/test": "0.23.35",
|
|
55
|
+
"@tachybase/utils": "0.23.35"
|
|
56
56
|
},
|
|
57
57
|
"description.zh-CN": "一个强大的 BPM 工具,为业务自动化提供基础支持,并且可任意扩展更多的触发器和节点。",
|
|
58
58
|
"displayName.zh-CN": "工作流",
|