velocious 1.0.430 → 1.0.432
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/bin/velocious.js +48 -0
- package/build/application.js +229 -0
- package/build/authorization/ability.js +329 -0
- package/build/authorization/base-resource.js +143 -0
- package/build/background-jobs/client.js +50 -0
- package/build/background-jobs/cron-expression.js +277 -0
- package/build/background-jobs/forked-runner-child.js +86 -0
- package/build/background-jobs/job-record.js +13 -0
- package/build/background-jobs/job-registry.js +92 -0
- package/build/background-jobs/job-runner.js +107 -0
- package/build/background-jobs/job.js +77 -0
- package/build/background-jobs/json-socket.js +78 -0
- package/build/background-jobs/main.js +926 -0
- package/build/background-jobs/normalize-error.js +26 -0
- package/build/background-jobs/scheduler.js +274 -0
- package/build/background-jobs/socket-request.js +68 -0
- package/build/background-jobs/status-reporter.js +101 -0
- package/build/background-jobs/store.js +994 -0
- package/build/background-jobs/types.js +70 -0
- package/build/background-jobs/web/authorization.js +89 -0
- package/build/background-jobs/web/controller.js +280 -0
- package/build/background-jobs/web/index.js +57 -0
- package/build/background-jobs/web/path-matcher.js +74 -0
- package/build/background-jobs/web/registry.js +49 -0
- package/build/background-jobs/worker.js +683 -0
- package/build/beacon/client.js +330 -0
- package/build/beacon/in-process-broker.js +71 -0
- package/build/beacon/in-process-client.js +139 -0
- package/build/beacon/server.js +148 -0
- package/build/beacon/types.js +55 -0
- package/build/bin/velocious.js +39 -34
- package/build/cli/base-command.js +67 -0
- package/build/cli/browser-cli.js +45 -0
- package/build/cli/commands/background-jobs-main.js +7 -0
- package/build/cli/commands/background-jobs-runner.js +7 -0
- package/build/cli/commands/background-jobs-worker.js +7 -0
- package/build/cli/commands/beacon.js +7 -0
- package/build/cli/commands/console.js +12 -0
- package/build/cli/commands/db/base-command.js +82 -0
- package/build/cli/commands/db/create.js +64 -0
- package/build/cli/commands/db/drop.js +75 -0
- package/build/cli/commands/db/migrate.js +17 -0
- package/build/cli/commands/db/reset.js +22 -0
- package/build/cli/commands/db/rollback.js +15 -0
- package/build/cli/commands/db/schema/dump.js +12 -0
- package/build/cli/commands/db/schema/load.js +12 -0
- package/build/cli/commands/db/seed.js +12 -0
- package/build/cli/commands/db/tenants/check.js +38 -0
- package/build/cli/commands/db/tenants/create.js +33 -0
- package/build/cli/commands/db/tenants/migrate.js +49 -0
- package/build/cli/commands/destroy/migration.js +7 -0
- package/build/cli/commands/generate/base-models.js +7 -0
- package/build/cli/commands/generate/frontend-models.js +12 -0
- package/build/cli/commands/generate/migration.js +7 -0
- package/build/cli/commands/generate/model.js +7 -0
- package/build/cli/commands/init.js +11 -0
- package/build/cli/commands/routes.js +7 -0
- package/build/cli/commands/run-script.js +12 -0
- package/build/cli/commands/runner.js +12 -0
- package/build/cli/commands/server.js +7 -0
- package/build/cli/commands/test.js +9 -0
- package/build/cli/index.js +152 -0
- package/build/cli/tenant-database-command-helper.js +198 -0
- package/build/cli/use-browser-cli.js +30 -0
- package/build/configuration-resolver.js +65 -0
- package/build/configuration-types.js +429 -0
- package/build/configuration.js +2590 -0
- package/build/controller.js +421 -0
- package/build/current-configuration.js +31 -0
- package/build/current.js +80 -0
- package/build/database/annotations-async-hooks.js +47 -0
- package/build/database/annotations.js +40 -0
- package/build/database/drivers/base-column.js +182 -0
- package/build/database/drivers/base-columns-index.js +81 -0
- package/build/database/drivers/base-foreign-key.js +104 -0
- package/build/database/drivers/base-table.js +156 -0
- package/build/database/drivers/base.js +1609 -0
- package/build/database/drivers/mssql/column.js +74 -0
- package/build/database/drivers/mssql/columns-index.js +6 -0
- package/build/database/drivers/mssql/connect-connection.js +16 -0
- package/build/database/drivers/mssql/foreign-key.js +12 -0
- package/build/database/drivers/mssql/index.js +590 -0
- package/build/database/drivers/mssql/options.js +79 -0
- package/build/database/drivers/mssql/query-parser.js +6 -0
- package/build/database/drivers/mssql/sql/alter-table.js +4 -0
- package/build/database/drivers/mssql/sql/create-database.js +36 -0
- package/build/database/drivers/mssql/sql/create-index.js +4 -0
- package/build/database/drivers/mssql/sql/create-table.js +4 -0
- package/build/database/drivers/mssql/sql/delete.js +19 -0
- package/build/database/drivers/mssql/sql/drop-database.js +36 -0
- package/build/database/drivers/mssql/sql/drop-table.js +4 -0
- package/build/database/drivers/mssql/sql/insert.js +4 -0
- package/build/database/drivers/mssql/sql/update.js +31 -0
- package/build/database/drivers/mssql/sql/upsert.js +23 -0
- package/build/database/drivers/mssql/structure-sql.js +120 -0
- package/build/database/drivers/mssql/table.js +145 -0
- package/build/database/drivers/mysql/column.js +112 -0
- package/build/database/drivers/mysql/columns-index.js +22 -0
- package/build/database/drivers/mysql/foreign-key.js +12 -0
- package/build/database/drivers/mysql/index.js +473 -0
- package/build/database/drivers/mysql/options.js +34 -0
- package/build/database/drivers/mysql/query-parser.js +6 -0
- package/build/database/drivers/mysql/query.js +37 -0
- package/build/database/drivers/mysql/sql/alter-table.js +6 -0
- package/build/database/drivers/mysql/sql/create-database.js +39 -0
- package/build/database/drivers/mysql/sql/create-index.js +6 -0
- package/build/database/drivers/mysql/sql/create-table.js +6 -0
- package/build/database/drivers/mysql/sql/delete.js +21 -0
- package/build/database/drivers/mysql/sql/drop-database.js +6 -0
- package/build/database/drivers/mysql/sql/drop-table.js +6 -0
- package/build/database/drivers/mysql/sql/insert.js +6 -0
- package/build/database/drivers/mysql/sql/update.js +33 -0
- package/build/database/drivers/mysql/sql/upsert.js +13 -0
- package/build/database/drivers/mysql/structure-sql.js +93 -0
- package/build/database/drivers/mysql/table.js +121 -0
- package/build/database/drivers/pgsql/column.js +90 -0
- package/build/database/drivers/pgsql/columns-index.js +6 -0
- package/build/database/drivers/pgsql/foreign-key.js +12 -0
- package/build/database/drivers/pgsql/index.js +441 -0
- package/build/database/drivers/pgsql/options.js +32 -0
- package/build/database/drivers/pgsql/query-parser.js +6 -0
- package/build/database/drivers/pgsql/sql/alter-table.js +6 -0
- package/build/database/drivers/pgsql/sql/create-database.js +38 -0
- package/build/database/drivers/pgsql/sql/create-index.js +6 -0
- package/build/database/drivers/pgsql/sql/create-table.js +6 -0
- package/build/database/drivers/pgsql/sql/delete.js +21 -0
- package/build/database/drivers/pgsql/sql/drop-database.js +6 -0
- package/build/database/drivers/pgsql/sql/drop-table.js +6 -0
- package/build/database/drivers/pgsql/sql/insert.js +6 -0
- package/build/database/drivers/pgsql/sql/update.js +33 -0
- package/build/database/drivers/pgsql/sql/upsert.js +14 -0
- package/build/database/drivers/pgsql/structure-sql.js +126 -0
- package/build/database/drivers/pgsql/table.js +135 -0
- package/build/database/drivers/sqlite/base.js +509 -0
- package/build/database/drivers/sqlite/column.js +75 -0
- package/build/database/drivers/sqlite/columns-index.js +30 -0
- package/build/database/drivers/sqlite/connection-sql-js.js +46 -0
- package/build/database/drivers/sqlite/foreign-key.js +24 -0
- package/build/database/drivers/sqlite/index.js +394 -0
- package/build/database/drivers/sqlite/index.native.js +72 -0
- package/build/database/drivers/sqlite/index.web.js +99 -0
- package/build/database/drivers/sqlite/options.js +32 -0
- package/build/database/drivers/sqlite/query-parser.js +6 -0
- package/build/database/drivers/sqlite/query.js +35 -0
- package/build/database/drivers/sqlite/query.native.js +35 -0
- package/build/database/drivers/sqlite/query.web.js +49 -0
- package/build/database/drivers/sqlite/sql/alter-table.js +187 -0
- package/build/database/drivers/sqlite/sql/create-index.js +6 -0
- package/build/database/drivers/sqlite/sql/create-table.js +6 -0
- package/build/database/drivers/sqlite/sql/delete.js +26 -0
- package/build/database/drivers/sqlite/sql/drop-table.js +6 -0
- package/build/database/drivers/sqlite/sql/insert.js +6 -0
- package/build/database/drivers/sqlite/sql/update.js +33 -0
- package/build/database/drivers/sqlite/sql/upsert.js +14 -0
- package/build/database/drivers/sqlite/structure-sql.js +56 -0
- package/build/database/drivers/sqlite/table-rebuilder.js +96 -0
- package/build/database/drivers/sqlite/table.js +131 -0
- package/build/database/drivers/structure-sql/utils.js +35 -0
- package/build/database/handler.js +13 -0
- package/build/database/initializer-from-require-context.js +101 -0
- package/build/database/migration/index.js +438 -0
- package/build/database/migrator/files-finder.js +55 -0
- package/build/database/migrator/types.js +31 -0
- package/build/database/migrator.js +557 -0
- package/build/database/pool/async-tracked-multi-connection.js +1164 -0
- package/build/database/pool/base-methods-forward.js +52 -0
- package/build/database/pool/base.js +380 -0
- package/build/database/pool/single-multi-use.js +118 -0
- package/build/database/query/alter-table-base.js +104 -0
- package/build/database/query/base.js +49 -0
- package/build/database/query/create-database-base.js +42 -0
- package/build/database/query/create-index-base.js +117 -0
- package/build/database/query/create-table-base.js +205 -0
- package/build/database/query/delete-base.js +19 -0
- package/build/database/query/drop-database-base.js +38 -0
- package/build/database/query/drop-table-base.js +58 -0
- package/build/database/query/from-base.js +36 -0
- package/build/database/query/from-plain.js +16 -0
- package/build/database/query/from-table.js +18 -0
- package/build/database/query/index.js +533 -0
- package/build/database/query/insert-base.js +172 -0
- package/build/database/query/join-base.js +43 -0
- package/build/database/query/join-object.js +167 -0
- package/build/database/query/join-plain.js +18 -0
- package/build/database/query/join-tracker.js +93 -0
- package/build/database/query/model-class-query.js +1577 -0
- package/build/database/query/order-base.js +33 -0
- package/build/database/query/order-column.js +77 -0
- package/build/database/query/order-plain.js +28 -0
- package/build/database/query/preloader/belongs-to.js +267 -0
- package/build/database/query/preloader/ensure-model-class-initialized.js +18 -0
- package/build/database/query/preloader/has-many.js +316 -0
- package/build/database/query/preloader/has-one.js +123 -0
- package/build/database/query/preloader/selection.js +152 -0
- package/build/database/query/preloader.js +201 -0
- package/build/database/query/query-data.js +305 -0
- package/build/database/query/select-base.js +30 -0
- package/build/database/query/select-plain.js +18 -0
- package/build/database/query/select-table-and-column.js +28 -0
- package/build/database/query/update-base.js +41 -0
- package/build/database/query/upsert-base.js +103 -0
- package/build/database/query/where-base.js +38 -0
- package/build/database/query/where-combinator.js +31 -0
- package/build/database/query/where-hash.js +77 -0
- package/build/database/query/where-model-class-hash.js +505 -0
- package/build/database/query/where-not.js +23 -0
- package/build/database/query/where-plain.js +20 -0
- package/build/database/query/with-count.js +219 -0
- package/build/database/query-parser/base-query-parser.js +40 -0
- package/build/database/query-parser/from-parser.js +49 -0
- package/build/database/query-parser/group-parser.js +55 -0
- package/build/database/query-parser/joins-parser.js +37 -0
- package/build/database/query-parser/limit-parser.js +77 -0
- package/build/database/query-parser/options.js +94 -0
- package/build/database/query-parser/order-parser.js +45 -0
- package/build/database/query-parser/select-parser.js +67 -0
- package/build/database/query-parser/where-parser.js +46 -0
- package/build/database/record/acts-as-list.js +374 -0
- package/build/database/record/attachments/download.js +49 -0
- package/build/database/record/attachments/handle.js +188 -0
- package/build/database/record/attachments/normalize-input.js +213 -0
- package/build/database/record/attachments/storage-drivers/filesystem.js +114 -0
- package/build/database/record/attachments/storage-drivers/native.js +146 -0
- package/build/database/record/attachments/storage-drivers/s3.js +245 -0
- package/build/database/record/attachments/store.js +591 -0
- package/build/database/record/index.js +4094 -0
- package/build/database/record/instance-relationships/base.js +289 -0
- package/build/database/record/instance-relationships/belongs-to.js +84 -0
- package/build/database/record/instance-relationships/has-many.js +284 -0
- package/build/database/record/instance-relationships/has-one.js +117 -0
- package/build/database/record/record-not-found-error.js +3 -0
- package/build/database/record/relationships/base.js +195 -0
- package/build/database/record/relationships/belongs-to.js +57 -0
- package/build/database/record/relationships/has-many.js +46 -0
- package/build/database/record/relationships/has-one.js +46 -0
- package/build/database/record/state-machine.js +278 -0
- package/build/database/record/user-module.js +43 -0
- package/build/database/record/validators/base.js +27 -0
- package/build/database/record/validators/format.js +50 -0
- package/build/database/record/validators/presence.js +24 -0
- package/build/database/record/validators/uniqueness.js +124 -0
- package/build/database/table-data/index.js +241 -0
- package/build/database/table-data/table-column.js +416 -0
- package/build/database/table-data/table-foreign-key.js +69 -0
- package/build/database/table-data/table-index.js +46 -0
- package/build/database/table-data/table-reference.js +13 -0
- package/build/database/use-database.js +48 -0
- package/build/environment-handlers/base.js +561 -0
- package/build/environment-handlers/browser.js +338 -0
- package/build/environment-handlers/node/cli/commands/background-jobs-main.js +21 -0
- package/build/environment-handlers/node/cli/commands/background-jobs-runner.js +24 -0
- package/build/environment-handlers/node/cli/commands/background-jobs-worker.js +47 -0
- package/build/environment-handlers/node/cli/commands/beacon.js +21 -0
- package/build/environment-handlers/node/cli/commands/cli-command-context.js +31 -0
- package/build/environment-handlers/node/cli/commands/console.js +149 -0
- package/build/environment-handlers/node/cli/commands/db/schema/dump.js +43 -0
- package/build/environment-handlers/node/cli/commands/db/schema/load.js +69 -0
- package/build/environment-handlers/node/cli/commands/db/seed.js +79 -0
- package/build/environment-handlers/node/cli/commands/destroy/migration.js +47 -0
- package/build/environment-handlers/node/cli/commands/generate/base-models.js +396 -0
- package/build/environment-handlers/node/cli/commands/generate/frontend-models.js +872 -0
- package/build/environment-handlers/node/cli/commands/generate/migration.js +45 -0
- package/build/environment-handlers/node/cli/commands/generate/model.js +45 -0
- package/build/environment-handlers/node/cli/commands/init.js +68 -0
- package/build/environment-handlers/node/cli/commands/routes.js +63 -0
- package/build/environment-handlers/node/cli/commands/run-script.js +85 -0
- package/build/environment-handlers/node/cli/commands/runner.js +84 -0
- package/build/environment-handlers/node/cli/commands/server.js +151 -0
- package/build/environment-handlers/node/cli/commands/test.js +118 -0
- package/build/environment-handlers/node.js +887 -0
- package/build/error-logger.js +30 -0
- package/build/frontend-model-controller.js +3491 -0
- package/build/frontend-model-resource/base-resource.js +935 -0
- package/build/frontend-models/base.js +4004 -0
- package/build/frontend-models/clear-pending-debounced-callback.js +16 -0
- package/build/frontend-models/event-hook-models.js +49 -0
- package/build/frontend-models/model-registry.js +28 -0
- package/build/frontend-models/outgoing-event-buffer.js +51 -0
- package/build/frontend-models/preloader.js +169 -0
- package/build/frontend-models/query.js +2245 -0
- package/build/frontend-models/resource-config-validation.js +56 -0
- package/build/frontend-models/resource-definition.js +399 -0
- package/build/frontend-models/transport-serialization.js +369 -0
- package/build/frontend-models/use-created-event.js +21 -0
- package/build/frontend-models/use-destroyed-event.js +148 -0
- package/build/frontend-models/use-model-class-event.js +164 -0
- package/build/frontend-models/use-updated-event.js +152 -0
- package/build/frontend-models/websocket-channel.js +494 -0
- package/build/frontend-models/websocket-publishers.js +224 -0
- package/build/http-client/header.js +17 -0
- package/build/http-client/index.js +139 -0
- package/build/http-client/request.js +94 -0
- package/build/http-client/response.js +151 -0
- package/build/http-client/websocket-client.js +27 -0
- package/build/http-server/client/index.js +507 -0
- package/build/http-server/client/params-to-object.js +152 -0
- package/build/http-server/client/request-buffer/form-data-part.js +139 -0
- package/build/http-server/client/request-buffer/header.js +19 -0
- package/build/http-server/client/request-buffer/index.js +535 -0
- package/build/http-server/client/request-parser.js +195 -0
- package/build/http-server/client/request-runner.js +321 -0
- package/build/http-server/client/request-timing.js +171 -0
- package/build/http-server/client/request.js +114 -0
- package/build/http-server/client/response.js +251 -0
- package/build/http-server/client/uploaded-file/memory-uploaded-file.js +32 -0
- package/build/http-server/client/uploaded-file/temporary-uploaded-file.js +32 -0
- package/build/http-server/client/uploaded-file/uploaded-file.js +36 -0
- package/build/http-server/client/websocket-request.js +147 -0
- package/build/http-server/client/websocket-session.js +1755 -0
- package/build/http-server/cookie.js +245 -0
- package/build/http-server/development-reloader.js +240 -0
- package/build/http-server/index.js +561 -0
- package/build/http-server/remote-address.js +77 -0
- package/build/http-server/server-client.js +222 -0
- package/build/http-server/server-lock.js +178 -0
- package/build/http-server/websocket-channel-subscribers.js +110 -0
- package/build/http-server/websocket-channel.js +137 -0
- package/build/http-server/websocket-connection.js +118 -0
- package/build/http-server/websocket-event-log-store.js +433 -0
- package/build/http-server/websocket-events-host.js +170 -0
- package/build/http-server/websocket-events.js +50 -0
- package/build/http-server/worker-handler/channel-subscriber-dispatch.js +28 -0
- package/build/http-server/worker-handler/in-process.js +155 -0
- package/build/http-server/worker-handler/index.js +370 -0
- package/build/http-server/worker-handler/worker-script.js +6 -0
- package/build/http-server/worker-handler/worker-thread.js +286 -0
- package/build/index.js +1 -2
- package/build/initializer.js +39 -0
- package/build/jobs/mail-delivery.js +22 -0
- package/build/logger/base-logger.js +34 -0
- package/build/logger/console-logger.js +28 -0
- package/build/logger/file-logger.js +36 -0
- package/build/logger/outputs/array-output.js +50 -0
- package/build/logger/outputs/console-output.js +32 -0
- package/build/logger/outputs/file-output.js +55 -0
- package/build/logger/outputs/stdout-output.js +64 -0
- package/build/logger.js +507 -0
- package/build/mailer/backends/smtp.js +197 -0
- package/build/mailer/base.js +337 -0
- package/build/mailer/delivery.js +70 -0
- package/build/mailer/index.js +24 -0
- package/build/mailer.js +15 -0
- package/build/plugins/sqljs-wasm-route-controller.js +70 -0
- package/build/plugins/sqljs-wasm-route.js +71 -0
- package/build/record-payload-values.js +83 -0
- package/build/routes/app-routes.js +17 -0
- package/build/routes/base-route.js +133 -0
- package/build/routes/basic-route.js +109 -0
- package/build/routes/built-in/debug/controller.js +12 -0
- package/build/routes/built-in/errors/controller.js +7 -0
- package/build/routes/get-route.js +75 -0
- package/build/routes/hooks/frontend-model-command-route-hook.js +100 -0
- package/build/routes/index.js +50 -0
- package/build/routes/namespace-route.js +51 -0
- package/build/routes/plugin-routes.js +141 -0
- package/build/routes/post-route.js +74 -0
- package/build/routes/resolver.js +535 -0
- package/build/routes/resource-route.js +154 -0
- package/build/routes/root-route.js +11 -0
- package/build/src/authorization/ability.d.ts +24 -23
- package/build/src/authorization/ability.d.ts.map +1 -1
- package/build/src/authorization/ability.js +14 -13
- package/build/src/authorization/base-resource.d.ts +20 -26
- package/build/src/authorization/base-resource.d.ts.map +1 -1
- package/build/src/authorization/base-resource.js +13 -11
- package/build/src/configuration-types.d.ts +21 -2
- package/build/src/configuration-types.d.ts.map +1 -1
- package/build/src/configuration-types.js +8 -2
- package/build/src/database/query/where-combinator.d.ts.map +1 -1
- package/build/src/database/query/where-combinator.js +1 -2
- package/build/src/database/record/acts-as-list.js +2 -2
- package/build/src/database/record/attachments/store.d.ts +1 -1
- package/build/src/database/record/attachments/store.d.ts.map +1 -1
- package/build/src/database/record/attachments/store.js +2 -2
- package/build/src/database/record/index.d.ts +82 -20
- package/build/src/database/record/index.d.ts.map +1 -1
- package/build/src/database/record/index.js +126 -13
- package/build/src/database/record/relationships/base.d.ts +2 -2
- package/build/src/database/record/relationships/base.d.ts.map +1 -1
- package/build/src/database/record/relationships/base.js +3 -3
- package/build/src/environment-handlers/node/cli/commands/generate/base-models.d.ts +4 -2
- package/build/src/environment-handlers/node/cli/commands/generate/base-models.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/generate/base-models.js +59 -36
- package/build/src/frontend-model-controller.d.ts +6 -6
- package/build/src/frontend-model-controller.d.ts.map +1 -1
- package/build/src/frontend-model-controller.js +4 -4
- package/build/src/frontend-model-resource/base-resource.d.ts +18 -17
- package/build/src/frontend-model-resource/base-resource.d.ts.map +1 -1
- package/build/src/frontend-model-resource/base-resource.js +22 -10
- package/build/src/frontend-models/base.d.ts +19 -12
- package/build/src/frontend-models/base.d.ts.map +1 -1
- package/build/src/frontend-models/base.js +79 -48
- package/build/src/frontend-models/preloader.d.ts +6 -6
- package/build/src/frontend-models/preloader.d.ts.map +1 -1
- package/build/src/frontend-models/preloader.js +5 -5
- package/build/src/frontend-models/query.d.ts.map +1 -1
- package/build/src/frontend-models/query.js +1 -4
- package/build/src/utils/ransack.d.ts.map +1 -1
- package/build/src/utils/ransack.js +1 -2
- package/build/templates/configuration.js +61 -0
- package/build/templates/generate-migration.js +11 -0
- package/build/templates/generate-model.js +6 -0
- package/build/templates/routes.js +11 -0
- package/build/testing/base-expect.js +17 -0
- package/build/testing/browser-frontend-model-event-hook-scenarios.js +520 -0
- package/build/testing/browser-test-app.js +32 -0
- package/build/testing/expect-to-change.js +55 -0
- package/build/testing/expect-utils.js +269 -0
- package/build/testing/expect.js +763 -0
- package/build/testing/request-client.js +90 -0
- package/build/testing/test-files-finder.js +364 -0
- package/build/testing/test-filter-parser.js +198 -0
- package/build/testing/test-runner.js +1168 -0
- package/build/testing/test-suite-splitter.js +177 -0
- package/build/testing/test.js +370 -0
- package/build/utils/backtrace-cleaner-node.js +87 -0
- package/build/utils/backtrace-cleaner.js +266 -0
- package/build/utils/ensure-error.js +15 -0
- package/build/utils/event-emitter.js +8 -0
- package/build/utils/file-exists.js +18 -0
- package/build/utils/format-value.js +101 -0
- package/build/utils/model-scope.js +56 -0
- package/build/utils/nest-callbacks.js +22 -0
- package/build/utils/plain-object.js +14 -0
- package/build/utils/ransack.js +859 -0
- package/build/utils/rest-args-error.js +14 -0
- package/build/utils/singularize-model-name.js +18 -0
- package/build/utils/split-sql-statements.js +88 -0
- package/build/utils/to-import-specifier.js +53 -0
- package/build/utils/with-tracked-stack-async-hooks.js +103 -0
- package/build/utils/with-tracked-stack.js +38 -0
- package/build/velocious-error.js +34 -0
- package/index.js +1 -0
- package/package.json +10 -4
- package/scripts/clean-build.js +8 -0
- package/scripts/ensure-bin-executable.js +13 -0
- package/scripts/run-tests.js +37 -0
- package/scripts/test-browser.js +486 -0
- package/src/application.js +229 -0
- package/src/authorization/ability.js +329 -0
- package/src/authorization/base-resource.js +143 -0
- package/src/background-jobs/client.js +50 -0
- package/src/background-jobs/cron-expression.js +277 -0
- package/src/background-jobs/forked-runner-child.js +86 -0
- package/src/background-jobs/job-record.js +13 -0
- package/src/background-jobs/job-registry.js +92 -0
- package/src/background-jobs/job-runner.js +107 -0
- package/src/background-jobs/job.js +77 -0
- package/src/background-jobs/json-socket.js +78 -0
- package/src/background-jobs/main.js +926 -0
- package/src/background-jobs/normalize-error.js +26 -0
- package/src/background-jobs/scheduler.js +274 -0
- package/src/background-jobs/socket-request.js +68 -0
- package/src/background-jobs/status-reporter.js +101 -0
- package/src/background-jobs/store.js +994 -0
- package/src/background-jobs/types.js +70 -0
- package/src/background-jobs/web/authorization.js +89 -0
- package/src/background-jobs/web/controller.js +280 -0
- package/src/background-jobs/web/index.js +57 -0
- package/src/background-jobs/web/path-matcher.js +74 -0
- package/src/background-jobs/web/registry.js +49 -0
- package/src/background-jobs/worker.js +683 -0
- package/src/beacon/client.js +330 -0
- package/src/beacon/in-process-broker.js +71 -0
- package/src/beacon/in-process-client.js +139 -0
- package/src/beacon/server.js +148 -0
- package/src/beacon/types.js +55 -0
- package/src/cli/base-command.js +67 -0
- package/src/cli/browser-cli.js +45 -0
- package/src/cli/commands/background-jobs-main.js +7 -0
- package/src/cli/commands/background-jobs-runner.js +7 -0
- package/src/cli/commands/background-jobs-worker.js +7 -0
- package/src/cli/commands/beacon.js +7 -0
- package/src/cli/commands/console.js +12 -0
- package/src/cli/commands/db/base-command.js +82 -0
- package/src/cli/commands/db/create.js +64 -0
- package/src/cli/commands/db/drop.js +75 -0
- package/src/cli/commands/db/migrate.js +17 -0
- package/src/cli/commands/db/reset.js +22 -0
- package/src/cli/commands/db/rollback.js +15 -0
- package/src/cli/commands/db/schema/dump.js +12 -0
- package/src/cli/commands/db/schema/load.js +12 -0
- package/src/cli/commands/db/seed.js +12 -0
- package/src/cli/commands/db/tenants/check.js +38 -0
- package/src/cli/commands/db/tenants/create.js +33 -0
- package/src/cli/commands/db/tenants/migrate.js +49 -0
- package/src/cli/commands/destroy/migration.js +7 -0
- package/src/cli/commands/generate/base-models.js +7 -0
- package/src/cli/commands/generate/frontend-models.js +12 -0
- package/src/cli/commands/generate/migration.js +7 -0
- package/src/cli/commands/generate/model.js +7 -0
- package/src/cli/commands/init.js +11 -0
- package/src/cli/commands/routes.js +7 -0
- package/src/cli/commands/run-script.js +12 -0
- package/src/cli/commands/runner.js +12 -0
- package/src/cli/commands/server.js +7 -0
- package/src/cli/commands/test.js +9 -0
- package/src/cli/index.js +152 -0
- package/src/cli/tenant-database-command-helper.js +198 -0
- package/src/cli/use-browser-cli.js +30 -0
- package/src/configuration-resolver.js +65 -0
- package/src/configuration-types.js +429 -0
- package/src/configuration.js +2590 -0
- package/src/controller.js +421 -0
- package/src/current-configuration.js +31 -0
- package/src/current.js +80 -0
- package/src/database/annotations-async-hooks.js +47 -0
- package/src/database/annotations.js +40 -0
- package/src/database/drivers/base-column.js +182 -0
- package/src/database/drivers/base-columns-index.js +81 -0
- package/src/database/drivers/base-foreign-key.js +104 -0
- package/src/database/drivers/base-table.js +156 -0
- package/src/database/drivers/base.js +1609 -0
- package/src/database/drivers/mssql/column.js +74 -0
- package/src/database/drivers/mssql/columns-index.js +6 -0
- package/src/database/drivers/mssql/connect-connection.js +16 -0
- package/src/database/drivers/mssql/foreign-key.js +12 -0
- package/src/database/drivers/mssql/index.js +590 -0
- package/src/database/drivers/mssql/options.js +79 -0
- package/src/database/drivers/mssql/query-parser.js +6 -0
- package/src/database/drivers/mssql/sql/alter-table.js +4 -0
- package/src/database/drivers/mssql/sql/create-database.js +36 -0
- package/src/database/drivers/mssql/sql/create-index.js +4 -0
- package/src/database/drivers/mssql/sql/create-table.js +4 -0
- package/src/database/drivers/mssql/sql/delete.js +19 -0
- package/src/database/drivers/mssql/sql/drop-database.js +36 -0
- package/src/database/drivers/mssql/sql/drop-table.js +4 -0
- package/src/database/drivers/mssql/sql/insert.js +4 -0
- package/src/database/drivers/mssql/sql/update.js +31 -0
- package/src/database/drivers/mssql/sql/upsert.js +23 -0
- package/src/database/drivers/mssql/structure-sql.js +120 -0
- package/src/database/drivers/mssql/table.js +145 -0
- package/src/database/drivers/mysql/column.js +112 -0
- package/src/database/drivers/mysql/columns-index.js +22 -0
- package/src/database/drivers/mysql/foreign-key.js +12 -0
- package/src/database/drivers/mysql/index.js +473 -0
- package/src/database/drivers/mysql/options.js +34 -0
- package/src/database/drivers/mysql/query-parser.js +6 -0
- package/src/database/drivers/mysql/query.js +37 -0
- package/src/database/drivers/mysql/sql/alter-table.js +6 -0
- package/src/database/drivers/mysql/sql/create-database.js +39 -0
- package/src/database/drivers/mysql/sql/create-index.js +6 -0
- package/src/database/drivers/mysql/sql/create-table.js +6 -0
- package/src/database/drivers/mysql/sql/delete.js +21 -0
- package/src/database/drivers/mysql/sql/drop-database.js +6 -0
- package/src/database/drivers/mysql/sql/drop-table.js +6 -0
- package/src/database/drivers/mysql/sql/insert.js +6 -0
- package/src/database/drivers/mysql/sql/update.js +33 -0
- package/src/database/drivers/mysql/sql/upsert.js +13 -0
- package/src/database/drivers/mysql/structure-sql.js +93 -0
- package/src/database/drivers/mysql/table.js +121 -0
- package/src/database/drivers/pgsql/column.js +90 -0
- package/src/database/drivers/pgsql/columns-index.js +6 -0
- package/src/database/drivers/pgsql/foreign-key.js +12 -0
- package/src/database/drivers/pgsql/index.js +441 -0
- package/src/database/drivers/pgsql/options.js +32 -0
- package/src/database/drivers/pgsql/query-parser.js +6 -0
- package/src/database/drivers/pgsql/sql/alter-table.js +6 -0
- package/src/database/drivers/pgsql/sql/create-database.js +38 -0
- package/src/database/drivers/pgsql/sql/create-index.js +6 -0
- package/src/database/drivers/pgsql/sql/create-table.js +6 -0
- package/src/database/drivers/pgsql/sql/delete.js +21 -0
- package/src/database/drivers/pgsql/sql/drop-database.js +6 -0
- package/src/database/drivers/pgsql/sql/drop-table.js +6 -0
- package/src/database/drivers/pgsql/sql/insert.js +6 -0
- package/src/database/drivers/pgsql/sql/update.js +33 -0
- package/src/database/drivers/pgsql/sql/upsert.js +14 -0
- package/src/database/drivers/pgsql/structure-sql.js +126 -0
- package/src/database/drivers/pgsql/table.js +135 -0
- package/src/database/drivers/sqlite/base.js +509 -0
- package/src/database/drivers/sqlite/column.js +75 -0
- package/src/database/drivers/sqlite/columns-index.js +30 -0
- package/src/database/drivers/sqlite/connection-sql-js.js +46 -0
- package/src/database/drivers/sqlite/foreign-key.js +24 -0
- package/src/database/drivers/sqlite/index.js +394 -0
- package/src/database/drivers/sqlite/index.native.js +72 -0
- package/src/database/drivers/sqlite/index.web.js +99 -0
- package/src/database/drivers/sqlite/options.js +32 -0
- package/src/database/drivers/sqlite/query-parser.js +6 -0
- package/src/database/drivers/sqlite/query.js +35 -0
- package/src/database/drivers/sqlite/query.native.js +35 -0
- package/src/database/drivers/sqlite/query.web.js +49 -0
- package/src/database/drivers/sqlite/sql/alter-table.js +187 -0
- package/src/database/drivers/sqlite/sql/create-index.js +6 -0
- package/src/database/drivers/sqlite/sql/create-table.js +6 -0
- package/src/database/drivers/sqlite/sql/delete.js +26 -0
- package/src/database/drivers/sqlite/sql/drop-table.js +6 -0
- package/src/database/drivers/sqlite/sql/insert.js +6 -0
- package/src/database/drivers/sqlite/sql/update.js +33 -0
- package/src/database/drivers/sqlite/sql/upsert.js +14 -0
- package/src/database/drivers/sqlite/structure-sql.js +56 -0
- package/src/database/drivers/sqlite/table-rebuilder.js +96 -0
- package/src/database/drivers/sqlite/table.js +131 -0
- package/src/database/drivers/structure-sql/utils.js +35 -0
- package/src/database/handler.js +13 -0
- package/src/database/initializer-from-require-context.js +101 -0
- package/src/database/migration/index.js +438 -0
- package/src/database/migrator/files-finder.js +55 -0
- package/src/database/migrator/types.js +31 -0
- package/src/database/migrator.js +557 -0
- package/src/database/pool/async-tracked-multi-connection.js +1164 -0
- package/src/database/pool/base-methods-forward.js +52 -0
- package/src/database/pool/base.js +380 -0
- package/src/database/pool/single-multi-use.js +118 -0
- package/src/database/query/alter-table-base.js +104 -0
- package/src/database/query/base.js +49 -0
- package/src/database/query/create-database-base.js +42 -0
- package/src/database/query/create-index-base.js +117 -0
- package/src/database/query/create-table-base.js +205 -0
- package/src/database/query/delete-base.js +19 -0
- package/src/database/query/drop-database-base.js +38 -0
- package/src/database/query/drop-table-base.js +58 -0
- package/src/database/query/from-base.js +36 -0
- package/src/database/query/from-plain.js +16 -0
- package/src/database/query/from-table.js +18 -0
- package/src/database/query/index.js +533 -0
- package/src/database/query/insert-base.js +172 -0
- package/src/database/query/join-base.js +43 -0
- package/src/database/query/join-object.js +167 -0
- package/src/database/query/join-plain.js +18 -0
- package/src/database/query/join-tracker.js +93 -0
- package/src/database/query/model-class-query.js +1577 -0
- package/src/database/query/order-base.js +33 -0
- package/src/database/query/order-column.js +77 -0
- package/src/database/query/order-plain.js +28 -0
- package/src/database/query/preloader/belongs-to.js +267 -0
- package/src/database/query/preloader/ensure-model-class-initialized.js +18 -0
- package/src/database/query/preloader/has-many.js +316 -0
- package/src/database/query/preloader/has-one.js +123 -0
- package/src/database/query/preloader/selection.js +152 -0
- package/src/database/query/preloader.js +201 -0
- package/src/database/query/query-data.js +305 -0
- package/src/database/query/select-base.js +30 -0
- package/src/database/query/select-plain.js +18 -0
- package/src/database/query/select-table-and-column.js +28 -0
- package/src/database/query/update-base.js +41 -0
- package/src/database/query/upsert-base.js +103 -0
- package/src/database/query/where-base.js +38 -0
- package/src/database/query/where-combinator.js +31 -0
- package/src/database/query/where-hash.js +77 -0
- package/src/database/query/where-model-class-hash.js +505 -0
- package/src/database/query/where-not.js +23 -0
- package/src/database/query/where-plain.js +20 -0
- package/src/database/query/with-count.js +219 -0
- package/src/database/query-parser/base-query-parser.js +40 -0
- package/src/database/query-parser/from-parser.js +49 -0
- package/src/database/query-parser/group-parser.js +55 -0
- package/src/database/query-parser/joins-parser.js +37 -0
- package/src/database/query-parser/limit-parser.js +77 -0
- package/src/database/query-parser/options.js +94 -0
- package/src/database/query-parser/order-parser.js +45 -0
- package/src/database/query-parser/select-parser.js +67 -0
- package/src/database/query-parser/where-parser.js +46 -0
- package/src/database/record/acts-as-list.js +374 -0
- package/src/database/record/attachments/download.js +49 -0
- package/src/database/record/attachments/handle.js +188 -0
- package/src/database/record/attachments/normalize-input.js +213 -0
- package/src/database/record/attachments/storage-drivers/filesystem.js +114 -0
- package/src/database/record/attachments/storage-drivers/native.js +146 -0
- package/src/database/record/attachments/storage-drivers/s3.js +245 -0
- package/src/database/record/attachments/store.js +591 -0
- package/src/database/record/index.js +4094 -0
- package/src/database/record/instance-relationships/base.js +289 -0
- package/src/database/record/instance-relationships/belongs-to.js +84 -0
- package/src/database/record/instance-relationships/has-many.js +284 -0
- package/src/database/record/instance-relationships/has-one.js +117 -0
- package/src/database/record/record-not-found-error.js +3 -0
- package/src/database/record/relationships/base.js +195 -0
- package/src/database/record/relationships/belongs-to.js +57 -0
- package/src/database/record/relationships/has-many.js +46 -0
- package/src/database/record/relationships/has-one.js +46 -0
- package/src/database/record/state-machine.js +278 -0
- package/src/database/record/user-module.js +43 -0
- package/src/database/record/validators/base.js +27 -0
- package/src/database/record/validators/format.js +50 -0
- package/src/database/record/validators/presence.js +24 -0
- package/src/database/record/validators/uniqueness.js +124 -0
- package/src/database/table-data/index.js +241 -0
- package/src/database/table-data/table-column.js +416 -0
- package/src/database/table-data/table-foreign-key.js +69 -0
- package/src/database/table-data/table-index.js +46 -0
- package/src/database/table-data/table-reference.js +13 -0
- package/src/database/use-database.js +48 -0
- package/src/environment-handlers/base.js +561 -0
- package/src/environment-handlers/browser.js +338 -0
- package/src/environment-handlers/node/cli/commands/background-jobs-main.js +21 -0
- package/src/environment-handlers/node/cli/commands/background-jobs-runner.js +24 -0
- package/src/environment-handlers/node/cli/commands/background-jobs-worker.js +47 -0
- package/src/environment-handlers/node/cli/commands/beacon.js +21 -0
- package/src/environment-handlers/node/cli/commands/cli-command-context.js +31 -0
- package/src/environment-handlers/node/cli/commands/console.js +149 -0
- package/src/environment-handlers/node/cli/commands/db/schema/dump.js +43 -0
- package/src/environment-handlers/node/cli/commands/db/schema/load.js +69 -0
- package/src/environment-handlers/node/cli/commands/db/seed.js +79 -0
- package/src/environment-handlers/node/cli/commands/destroy/migration.js +47 -0
- package/src/environment-handlers/node/cli/commands/generate/base-models.js +396 -0
- package/src/environment-handlers/node/cli/commands/generate/frontend-models.js +872 -0
- package/src/environment-handlers/node/cli/commands/generate/migration.js +45 -0
- package/src/environment-handlers/node/cli/commands/generate/model.js +45 -0
- package/src/environment-handlers/node/cli/commands/init.js +68 -0
- package/src/environment-handlers/node/cli/commands/routes.js +63 -0
- package/src/environment-handlers/node/cli/commands/run-script.js +85 -0
- package/src/environment-handlers/node/cli/commands/runner.js +84 -0
- package/src/environment-handlers/node/cli/commands/server.js +151 -0
- package/src/environment-handlers/node/cli/commands/test.js +118 -0
- package/src/environment-handlers/node.js +887 -0
- package/src/error-logger.js +30 -0
- package/src/frontend-model-controller.js +3491 -0
- package/src/frontend-model-resource/base-resource.js +935 -0
- package/src/frontend-models/base.js +4004 -0
- package/src/frontend-models/clear-pending-debounced-callback.js +16 -0
- package/src/frontend-models/event-hook-models.js +49 -0
- package/src/frontend-models/model-registry.js +28 -0
- package/src/frontend-models/outgoing-event-buffer.js +51 -0
- package/src/frontend-models/preloader.js +169 -0
- package/src/frontend-models/query.js +2245 -0
- package/src/frontend-models/resource-config-validation.js +56 -0
- package/src/frontend-models/resource-definition.js +399 -0
- package/src/frontend-models/transport-serialization.js +369 -0
- package/src/frontend-models/use-created-event.js +21 -0
- package/src/frontend-models/use-destroyed-event.js +148 -0
- package/src/frontend-models/use-model-class-event.js +164 -0
- package/src/frontend-models/use-updated-event.js +152 -0
- package/src/frontend-models/websocket-channel.js +494 -0
- package/src/frontend-models/websocket-publishers.js +224 -0
- package/src/http-client/header.js +17 -0
- package/src/http-client/index.js +139 -0
- package/src/http-client/request.js +94 -0
- package/src/http-client/response.js +151 -0
- package/src/http-client/websocket-client.js +27 -0
- package/src/http-server/client/index.js +507 -0
- package/src/http-server/client/params-to-object.js +152 -0
- package/src/http-server/client/request-buffer/form-data-part.js +139 -0
- package/src/http-server/client/request-buffer/header.js +19 -0
- package/src/http-server/client/request-buffer/index.js +535 -0
- package/src/http-server/client/request-parser.js +195 -0
- package/src/http-server/client/request-runner.js +321 -0
- package/src/http-server/client/request-timing.js +171 -0
- package/src/http-server/client/request.js +114 -0
- package/src/http-server/client/response.js +251 -0
- package/src/http-server/client/uploaded-file/memory-uploaded-file.js +32 -0
- package/src/http-server/client/uploaded-file/temporary-uploaded-file.js +32 -0
- package/src/http-server/client/uploaded-file/uploaded-file.js +36 -0
- package/src/http-server/client/websocket-request.js +147 -0
- package/src/http-server/client/websocket-session.js +1755 -0
- package/src/http-server/cookie.js +245 -0
- package/src/http-server/development-reloader.js +240 -0
- package/src/http-server/index.js +561 -0
- package/src/http-server/remote-address.js +77 -0
- package/src/http-server/server-client.js +222 -0
- package/src/http-server/server-lock.js +178 -0
- package/src/http-server/websocket-channel-subscribers.js +110 -0
- package/src/http-server/websocket-channel.js +137 -0
- package/src/http-server/websocket-connection.js +118 -0
- package/src/http-server/websocket-event-log-store.js +433 -0
- package/src/http-server/websocket-events-host.js +170 -0
- package/src/http-server/websocket-events.js +50 -0
- package/src/http-server/worker-handler/channel-subscriber-dispatch.js +28 -0
- package/src/http-server/worker-handler/in-process.js +155 -0
- package/src/http-server/worker-handler/index.js +370 -0
- package/src/http-server/worker-handler/worker-script.js +6 -0
- package/src/http-server/worker-handler/worker-thread.js +286 -0
- package/src/initializer.js +39 -0
- package/src/jobs/.gitkeep +1 -0
- package/src/jobs/mail-delivery.js +22 -0
- package/src/logger/base-logger.js +34 -0
- package/src/logger/console-logger.js +28 -0
- package/src/logger/file-logger.js +36 -0
- package/src/logger/outputs/array-output.js +50 -0
- package/src/logger/outputs/console-output.js +32 -0
- package/src/logger/outputs/file-output.js +55 -0
- package/src/logger/outputs/stdout-output.js +64 -0
- package/src/logger.js +507 -0
- package/src/mailer/backends/smtp.js +197 -0
- package/src/mailer/base.js +337 -0
- package/src/mailer/delivery.js +70 -0
- package/src/mailer/index.js +24 -0
- package/src/mailer.js +15 -0
- package/src/plugins/sqljs-wasm-route-controller.js +70 -0
- package/src/plugins/sqljs-wasm-route.js +71 -0
- package/src/record-payload-values.js +83 -0
- package/src/routes/app-routes.js +17 -0
- package/src/routes/base-route.js +133 -0
- package/src/routes/basic-route.js +109 -0
- package/src/routes/built-in/debug/controller.js +12 -0
- package/src/routes/built-in/errors/controller.js +7 -0
- package/src/routes/built-in/errors/not-found.ejs +1 -0
- package/src/routes/get-route.js +75 -0
- package/src/routes/hooks/frontend-model-command-route-hook.js +100 -0
- package/src/routes/index.js +50 -0
- package/src/routes/namespace-route.js +51 -0
- package/src/routes/plugin-routes.js +141 -0
- package/src/routes/post-route.js +74 -0
- package/src/routes/resolver.js +535 -0
- package/src/routes/resource-route.js +154 -0
- package/src/routes/root-route.js +11 -0
- package/src/templates/configuration.js +61 -0
- package/src/templates/generate-migration.js +11 -0
- package/src/templates/generate-model.js +6 -0
- package/src/templates/routes.js +11 -0
- package/src/testing/base-expect.js +17 -0
- package/src/testing/browser-frontend-model-event-hook-scenarios.js +520 -0
- package/src/testing/browser-test-app.js +32 -0
- package/src/testing/expect-to-change.js +55 -0
- package/src/testing/expect-utils.js +269 -0
- package/src/testing/expect.js +763 -0
- package/src/testing/request-client.js +90 -0
- package/src/testing/test-files-finder.js +364 -0
- package/src/testing/test-filter-parser.js +198 -0
- package/src/testing/test-runner.js +1168 -0
- package/src/testing/test-suite-splitter.js +177 -0
- package/src/testing/test.js +370 -0
- package/src/types/external-modules.d.ts +57 -0
- package/src/utils/backtrace-cleaner-node.js +87 -0
- package/src/utils/backtrace-cleaner.js +266 -0
- package/src/utils/ensure-error.js +15 -0
- package/src/utils/event-emitter.js +8 -0
- package/src/utils/file-exists.js +18 -0
- package/src/utils/format-value.js +101 -0
- package/src/utils/model-scope.js +56 -0
- package/src/utils/nest-callbacks.js +22 -0
- package/src/utils/plain-object.js +14 -0
- package/src/utils/ransack.js +859 -0
- package/src/utils/rest-args-error.js +14 -0
- package/src/utils/singularize-model-name.js +18 -0
- package/src/utils/split-sql-statements.js +88 -0
- package/src/utils/to-import-specifier.js +53 -0
- package/src/utils/with-tracked-stack-async-hooks.js +103 -0
- package/src/utils/with-tracked-stack.js +38 -0
- package/src/velocious-error.js +34 -0
- package/tsconfig.json +16 -0
|
@@ -0,0 +1,561 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* CommandFileObjectType type.
|
|
5
|
+
* @typedef {object} CommandFileObjectType
|
|
6
|
+
* @property {string} name - Command name.
|
|
7
|
+
* @property {string} file - Command file path.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* MigrationObjectType type.
|
|
12
|
+
* @typedef {object} MigrationObjectType
|
|
13
|
+
* @property {number} date - Migration timestamp parsed from filename.
|
|
14
|
+
* @property {string} [fullPath] - Absolute path to the migration file.
|
|
15
|
+
* @property {string} migrationClassName - Exported migration class name.
|
|
16
|
+
* @property {string} file - Migration filename.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
export default class VelociousEnvironmentHandlerBase {
|
|
20
|
+
/**
|
|
21
|
+
* Runs debug endpoint token matches.
|
|
22
|
+
* @param {string} providedToken - Token from the request.
|
|
23
|
+
* @param {string} expectedToken - Configured token.
|
|
24
|
+
* @returns {boolean} - Whether both tokens match.
|
|
25
|
+
*/
|
|
26
|
+
debugEndpointTokenMatches(providedToken, expectedToken) {
|
|
27
|
+
let difference = providedToken.length ^ expectedToken.length
|
|
28
|
+
const maxLength = Math.max(providedToken.length, expectedToken.length)
|
|
29
|
+
|
|
30
|
+
for (let index = 0; index < maxLength; index++) {
|
|
31
|
+
difference |= (providedToken.charCodeAt(index) || 0) ^ (expectedToken.charCodeAt(index) || 0)
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return difference === 0
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Runs get framework source directory.
|
|
39
|
+
* @returns {string | undefined} - Velocious source directory used to filter framework stack frames.
|
|
40
|
+
*/
|
|
41
|
+
getFrameworkSourceDirectory() {
|
|
42
|
+
return undefined
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Auto-discovers resource classes. No-op in base handler; overridden in Node handler.
|
|
47
|
+
* @param {import("../configuration.js").default} _configuration - Configuration instance.
|
|
48
|
+
* @returns {Promise<void>}
|
|
49
|
+
*/
|
|
50
|
+
async autoDiscoverResources(_configuration) {}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Runs run with timezone offset.
|
|
54
|
+
* @param {number} _offsetMinutes - Offset in minutes (Date#getTimezoneOffset).
|
|
55
|
+
* @param {() => Promise<?>} callback - Callback to run.
|
|
56
|
+
* @returns {Promise<?>} - Result of the callback.
|
|
57
|
+
*/
|
|
58
|
+
async runWithTimezoneOffset(_offsetMinutes, callback) {
|
|
59
|
+
if (!this.configuration) throw new Error("Configuration hasn't been set")
|
|
60
|
+
|
|
61
|
+
const previousOffsetMinutes = this.configuration._timezoneOffsetMinutes
|
|
62
|
+
|
|
63
|
+
this.configuration._timezoneOffsetMinutes = _offsetMinutes
|
|
64
|
+
|
|
65
|
+
try {
|
|
66
|
+
return await callback()
|
|
67
|
+
} finally {
|
|
68
|
+
this.configuration._timezoneOffsetMinutes = previousOffsetMinutes
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Runs set timezone offset.
|
|
74
|
+
* @param {number} _offsetMinutes - Offset in minutes (Date#getTimezoneOffset).
|
|
75
|
+
* @returns {void} - No return value.
|
|
76
|
+
*/
|
|
77
|
+
setTimezoneOffset(_offsetMinutes) {
|
|
78
|
+
if (!this.configuration) throw new Error("Configuration hasn't been set")
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Narrows the runtime value to the documented type.
|
|
82
|
+
@type {number} */
|
|
83
|
+
this.configuration._timezoneOffsetMinutes = _offsetMinutes
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Runs get timezone offset minutes.
|
|
88
|
+
* @param {import("../configuration.js").default | undefined} configuration - Configuration instance.
|
|
89
|
+
* @returns {number} - Offset in minutes.
|
|
90
|
+
*/
|
|
91
|
+
getTimezoneOffsetMinutes(configuration) {
|
|
92
|
+
const activeConfiguration = configuration || this.configuration
|
|
93
|
+
|
|
94
|
+
if (!activeConfiguration) throw new Error("Configuration hasn't been set")
|
|
95
|
+
|
|
96
|
+
if (typeof activeConfiguration._timezoneOffsetMinutes === "number") {
|
|
97
|
+
return activeConfiguration._timezoneOffsetMinutes
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
return /** Narrows the runtime value to the documented type. @type {number} */ (activeConfiguration.getTimezoneOffsetMinutes())
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Runs run with request timing.
|
|
105
|
+
* @param {import("../http-server/client/request-timing.js").default | undefined} requestTiming - Request timing collector.
|
|
106
|
+
* @param {() => Promise<?>} callback - Callback.
|
|
107
|
+
* @returns {Promise<?>} - Callback result.
|
|
108
|
+
*/
|
|
109
|
+
async runWithRequestTiming(requestTiming, callback) {
|
|
110
|
+
this._currentRequestTiming = requestTiming
|
|
111
|
+
|
|
112
|
+
try {
|
|
113
|
+
return await callback()
|
|
114
|
+
} finally {
|
|
115
|
+
this._currentRequestTiming = undefined
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Runs get current request timing.
|
|
121
|
+
* @returns {import("../http-server/client/request-timing.js").default | undefined} - Current request timing collector.
|
|
122
|
+
*/
|
|
123
|
+
getCurrentRequestTiming() {
|
|
124
|
+
return this._currentRequestTiming
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Runs run with ability.
|
|
129
|
+
* @param {import("../authorization/ability.js").default | undefined} ability - Ability to set for callback scope.
|
|
130
|
+
* @param {() => Promise<?>} callback - Callback.
|
|
131
|
+
* @returns {Promise<?>} - Callback result.
|
|
132
|
+
*/
|
|
133
|
+
async runWithAbility(ability, callback) {
|
|
134
|
+
this._currentAbility = ability
|
|
135
|
+
|
|
136
|
+
try {
|
|
137
|
+
return await callback()
|
|
138
|
+
} finally {
|
|
139
|
+
this._currentAbility = undefined
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* Runs set current ability.
|
|
145
|
+
* @param {import("../authorization/ability.js").default | undefined} ability - Ability to set.
|
|
146
|
+
* @returns {void} - No return value.
|
|
147
|
+
*/
|
|
148
|
+
setCurrentAbility(ability) {
|
|
149
|
+
this._currentAbility = ability
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* Runs get current ability.
|
|
154
|
+
* @returns {import("../authorization/ability.js").default | undefined} - Current ability.
|
|
155
|
+
*/
|
|
156
|
+
getCurrentAbility() {
|
|
157
|
+
return this._currentAbility
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Runs run with tenant.
|
|
162
|
+
* @param {?} tenant - Tenant to set for callback scope.
|
|
163
|
+
* @param {() => Promise<?>} callback - Callback.
|
|
164
|
+
* @returns {Promise<?>} - Callback result.
|
|
165
|
+
*/
|
|
166
|
+
async runWithTenant(tenant, callback) {
|
|
167
|
+
this._currentTenant = tenant
|
|
168
|
+
|
|
169
|
+
try {
|
|
170
|
+
return await callback()
|
|
171
|
+
} finally {
|
|
172
|
+
this._currentTenant = undefined
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Runs set current tenant.
|
|
178
|
+
* @param {?} tenant - Tenant to set.
|
|
179
|
+
* @returns {void} - No return value.
|
|
180
|
+
*/
|
|
181
|
+
setCurrentTenant(tenant) {
|
|
182
|
+
this._currentTenant = tenant
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* Runs get current tenant.
|
|
187
|
+
* @returns {?} - Current tenant.
|
|
188
|
+
*/
|
|
189
|
+
getCurrentTenant() {
|
|
190
|
+
return this._currentTenant
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Runs cli commands generate base models.
|
|
194
|
+
* @param {import("../cli/base-command.js").default} _command - Command.
|
|
195
|
+
* @returns {Promise<?>} - Resolves with the command result.
|
|
196
|
+
*/
|
|
197
|
+
async cliCommandsGenerateBaseModels(_command) {
|
|
198
|
+
throw new Error("cliCommandsGenerateBaseModels not implemented")
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* Runs cli commands generate frontend models.
|
|
203
|
+
* @param {import("../cli/base-command.js").default} _command - Command.
|
|
204
|
+
* @returns {Promise<?>} - Resolves with the command result.
|
|
205
|
+
*/
|
|
206
|
+
async cliCommandsGenerateFrontendModels(_command) {
|
|
207
|
+
throw new Error("cliCommandsGenerateFrontendModels not implemented")
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* Runs cli commands init.
|
|
212
|
+
* @param {import("../cli/base-command.js").default} command - Command.
|
|
213
|
+
* @returns {Promise<?>} - Resolves with the command result.
|
|
214
|
+
*/
|
|
215
|
+
async cliCommandsInit(command) { // eslint-disable-line no-unused-vars
|
|
216
|
+
throw new Error("cliCommandsInit not implemented")
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* Runs cli commands migration generate.
|
|
221
|
+
* @param {import("../cli/base-command.js").default} _command - Command.
|
|
222
|
+
* @returns {Promise<?>} - Resolves with the command result.
|
|
223
|
+
*/
|
|
224
|
+
async cliCommandsMigrationGenerate(_command) {
|
|
225
|
+
throw new Error("cliCommandsMigrationGenerate not implemented")
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
/**
|
|
229
|
+
* Runs cli commands migration destroy.
|
|
230
|
+
* @param {import("../cli/base-command.js").default} _command - Command.
|
|
231
|
+
* @returns {Promise<?>} - Resolves with the command result.
|
|
232
|
+
*/
|
|
233
|
+
async cliCommandsMigrationDestroy(_command) {
|
|
234
|
+
throw new Error("cliCommandsMigrationDestroy not implemented")
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* Runs cli commands generate model.
|
|
239
|
+
* @param {import("../cli/base-command.js").default} _command - Command.
|
|
240
|
+
* @returns {Promise<?>} - Resolves with the command result.
|
|
241
|
+
*/
|
|
242
|
+
async cliCommandsGenerateModel(_command) {
|
|
243
|
+
throw new Error("cliCommandsGenerateModel not implemented")
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
/**
|
|
247
|
+
* Runs cli commands routes.
|
|
248
|
+
* @abstract
|
|
249
|
+
* @param {import("../cli/base-command.js").default} _command - Command.
|
|
250
|
+
* @returns {Promise<?>} - Resolves with the command result.
|
|
251
|
+
*/
|
|
252
|
+
async cliCommandsRoutes(_command) {
|
|
253
|
+
throw new Error("cliCommandsRoutes not implemented")
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* Runs cli commands console.
|
|
258
|
+
* @param {import("../cli/base-command.js").default} _command - Command.
|
|
259
|
+
* @returns {Promise<?>} - Resolves with the command result.
|
|
260
|
+
*/
|
|
261
|
+
async cliCommandsConsole(_command) {
|
|
262
|
+
throw new Error("cliCommandsConsole not implemented")
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
/**
|
|
266
|
+
* Runs cli commands server.
|
|
267
|
+
* @param {import("../cli/base-command.js").default} _command - Command.
|
|
268
|
+
* @returns {Promise<?>} - Resolves with the command result.
|
|
269
|
+
*/
|
|
270
|
+
async cliCommandsServer(_command) {
|
|
271
|
+
throw new Error("cliCommandsServer not implemented")
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
/**
|
|
275
|
+
* Runs cli commands test.
|
|
276
|
+
* @param {import("../cli/base-command.js").default} _command - Command.
|
|
277
|
+
* @returns {Promise<?>} - Resolves with the command result.
|
|
278
|
+
*/
|
|
279
|
+
async cliCommandsTest(_command) {
|
|
280
|
+
throw new Error("cliCommandsTest not implemented")
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
/**
|
|
284
|
+
* Runs cli commands background jobs main.
|
|
285
|
+
* @param {import("../cli/base-command.js").default} _command - Command.
|
|
286
|
+
* @returns {Promise<?>} - Resolves with the command result.
|
|
287
|
+
*/
|
|
288
|
+
async cliCommandsBackgroundJobsMain(_command) {
|
|
289
|
+
throw new Error("cliCommandsBackgroundJobsMain not implemented")
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
/**
|
|
293
|
+
* Runs cli commands background jobs worker.
|
|
294
|
+
* @param {import("../cli/base-command.js").default} _command - Command.
|
|
295
|
+
* @returns {Promise<?>} - Resolves with the command result.
|
|
296
|
+
*/
|
|
297
|
+
async cliCommandsBackgroundJobsWorker(_command) {
|
|
298
|
+
throw new Error("cliCommandsBackgroundJobsWorker not implemented")
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
/**
|
|
302
|
+
* Runs cli commands background jobs runner.
|
|
303
|
+
* @param {import("../cli/base-command.js").default} _command - Command.
|
|
304
|
+
* @returns {Promise<?>} - Resolves with the command result.
|
|
305
|
+
*/
|
|
306
|
+
async cliCommandsBackgroundJobsRunner(_command) {
|
|
307
|
+
throw new Error("cliCommandsBackgroundJobsRunner not implemented")
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
/**
|
|
311
|
+
* Runs cli commands beacon.
|
|
312
|
+
* @param {import("../cli/base-command.js").default} _command - Command.
|
|
313
|
+
* @returns {Promise<?>} - Resolves with the command result.
|
|
314
|
+
*/
|
|
315
|
+
async cliCommandsBeacon(_command) {
|
|
316
|
+
throw new Error("cliCommandsBeacon not implemented")
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
/**
|
|
320
|
+
* Loads the TCP-backed Beacon client class. Routed through the
|
|
321
|
+
* environment handler so the dynamic `import("../beacon/client.js")`
|
|
322
|
+
* call lives on the Node-only path — keeps Beacon's `node:net` /
|
|
323
|
+
* `node:crypto` deps out of browser bundles that statically reach
|
|
324
|
+
* `Configuration` (and therefore previously reached the dynamic
|
|
325
|
+
* imports).
|
|
326
|
+
* @returns {Promise<typeof import("../beacon/client.js").default>} - Beacon client class.
|
|
327
|
+
*/
|
|
328
|
+
async loadBeaconClient() {
|
|
329
|
+
throw new Error("loadBeaconClient not implemented by this environment handler")
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
/**
|
|
333
|
+
* Loads the in-process Beacon client class. Same indirection rationale
|
|
334
|
+
* as `loadBeaconClient`.
|
|
335
|
+
* @returns {Promise<typeof import("../beacon/in-process-client.js").default>} - In-process client class.
|
|
336
|
+
*/
|
|
337
|
+
async loadInProcessBeaconClient() {
|
|
338
|
+
throw new Error("loadInProcessBeaconClient not implemented by this environment handler")
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
/**
|
|
342
|
+
* Runs cli commands db schema dump.
|
|
343
|
+
* @param {import("../cli/base-command.js").default} _command - Command.
|
|
344
|
+
* @returns {Promise<?>} - Resolves with the command result.
|
|
345
|
+
*/
|
|
346
|
+
async cliCommandsDbSchemaDump(_command) {
|
|
347
|
+
throw new Error("cliCommandsDbSchemaDump not implemented")
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
/**
|
|
351
|
+
* Runs cli commands db schema load.
|
|
352
|
+
* @param {import("../cli/base-command.js").default} _command - Command.
|
|
353
|
+
* @returns {Promise<?>} - Resolves with the command result.
|
|
354
|
+
*/
|
|
355
|
+
async cliCommandsDbSchemaLoad(_command) {
|
|
356
|
+
throw new Error("cliCommandsDbSchemaLoad not implemented")
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
/**
|
|
360
|
+
* Runs cli commands db seed.
|
|
361
|
+
* @param {import("../cli/base-command.js").default} _command - Command.
|
|
362
|
+
* @returns {Promise<?>} - Resolves with the command result.
|
|
363
|
+
*/
|
|
364
|
+
async cliCommandsDbSeed(_command) {
|
|
365
|
+
throw new Error("cliCommandsDbSeed not implemented")
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
/**
|
|
369
|
+
* Runs cli commands runner.
|
|
370
|
+
* @param {import("../cli/base-command.js").default} _command - Command.
|
|
371
|
+
* @returns {Promise<?>} - Resolves with the command result.
|
|
372
|
+
*/
|
|
373
|
+
async cliCommandsRunner(_command) {
|
|
374
|
+
throw new Error("cliCommandsRunner not implemented")
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
/**
|
|
378
|
+
* Runs cli commands run script.
|
|
379
|
+
* @param {import("../cli/base-command.js").default} _command - Command.
|
|
380
|
+
* @returns {Promise<?>} - Resolves with the command result.
|
|
381
|
+
*/
|
|
382
|
+
async cliCommandsRunScript(_command) {
|
|
383
|
+
throw new Error("cliCommandsRunScript not implemented")
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
/**
|
|
387
|
+
* Runs find commands.
|
|
388
|
+
* @abstract
|
|
389
|
+
* @returns {Promise<CommandFileObjectType[]>} - Resolves with the commands.
|
|
390
|
+
*/
|
|
391
|
+
async findCommands() { throw new Error("findCommands not implemented") }
|
|
392
|
+
|
|
393
|
+
/**
|
|
394
|
+
* Runs find migrations.
|
|
395
|
+
* @abstract
|
|
396
|
+
* @returns {Promise<Array<MigrationObjectType>>} - Resolves with the migrations.
|
|
397
|
+
*/
|
|
398
|
+
async findMigrations() { throw new Error("findMigrations not implemneted") }
|
|
399
|
+
|
|
400
|
+
/**
|
|
401
|
+
* Runs forward command.
|
|
402
|
+
* @param {import("../cli/base-command.js").default} command - Command.
|
|
403
|
+
* @param {typeof import("../cli/base-command.js").default} CommandClass - Command class.
|
|
404
|
+
* @returns {Promise<?>} - Resolves with the command result.
|
|
405
|
+
*/
|
|
406
|
+
async forwardCommand(command, CommandClass) {
|
|
407
|
+
const newCommand = new CommandClass({
|
|
408
|
+
args: command.args,
|
|
409
|
+
cli: command.cli
|
|
410
|
+
})
|
|
411
|
+
|
|
412
|
+
return await newCommand.execute()
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
/**
|
|
416
|
+
* Runs get velocious path.
|
|
417
|
+
* @abstract
|
|
418
|
+
* @returns {Promise<string>} - Resolves with the velocious path.
|
|
419
|
+
*/
|
|
420
|
+
getVelociousPath() { throw new Error("getVelociousPath not implemented") }
|
|
421
|
+
|
|
422
|
+
/**
|
|
423
|
+
* Runs import application routes.
|
|
424
|
+
* @abstract
|
|
425
|
+
* @returns {Promise<import("../routes/index.js").default>} - Resolves with the import application routes.
|
|
426
|
+
*/
|
|
427
|
+
async importApplicationRoutes() { throw new Error("importApplicationRoutes not implemented") }
|
|
428
|
+
|
|
429
|
+
/**
|
|
430
|
+
* Runs import test files.
|
|
431
|
+
* @abstract
|
|
432
|
+
* @param {string[]} _testFiles - Test files.
|
|
433
|
+
* @returns {Promise<void>} - Resolves when complete.
|
|
434
|
+
*/
|
|
435
|
+
importTestFiles(_testFiles) { throw new Error("'importTestFiles' not implemented") }
|
|
436
|
+
|
|
437
|
+
/**
|
|
438
|
+
* Runs import testing config path.
|
|
439
|
+
* @abstract
|
|
440
|
+
* @returns {Promise<void>} - Resolves when complete.
|
|
441
|
+
*/
|
|
442
|
+
importTestingConfigPath() { throw new Error(`'importTestingConfigPath' not implemented`) }
|
|
443
|
+
|
|
444
|
+
/**
|
|
445
|
+
* Runs after migrations.
|
|
446
|
+
* @param {object} args - Options object.
|
|
447
|
+
* @param {Record<string, import("../database/drivers/base.js").default>} args.dbs - Dbs.
|
|
448
|
+
* @param {"migration" | "schemaDump"} [args.reason] - Why the structure write hook is being invoked.
|
|
449
|
+
* @returns {Promise<void>} - Resolves when complete.
|
|
450
|
+
*/
|
|
451
|
+
async afterMigrations(args) { // eslint-disable-line no-unused-vars
|
|
452
|
+
return
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
/**
|
|
456
|
+
* Runs require command.
|
|
457
|
+
* @abstract
|
|
458
|
+
* @param {object} args - Options object.
|
|
459
|
+
* @param {string[]} args.commandParts - Command parts.
|
|
460
|
+
* @returns {Promise<typeof import ("../cli/base-command.js").default>} - Resolves with the require command.
|
|
461
|
+
*/
|
|
462
|
+
async requireCommand({commandParts}) { throw new Error("'requireCommand' not implemented") } // eslint-disable-line no-unused-vars
|
|
463
|
+
|
|
464
|
+
/**
|
|
465
|
+
* Runs set args.
|
|
466
|
+
* @param {object} newArgs - New args.
|
|
467
|
+
* @returns {void} - No return value.
|
|
468
|
+
*/
|
|
469
|
+
setArgs(newArgs) { this.args = newArgs }
|
|
470
|
+
|
|
471
|
+
/**
|
|
472
|
+
* Runs set configuration.
|
|
473
|
+
* @param {import("../configuration.js").default} newConfiguration - New configuration.
|
|
474
|
+
* @returns {void} - No return value.
|
|
475
|
+
*/
|
|
476
|
+
setConfiguration(newConfiguration) { this.configuration = newConfiguration }
|
|
477
|
+
|
|
478
|
+
/**
|
|
479
|
+
* Runs read attachment input file.
|
|
480
|
+
* @param {string} _filePath - File path.
|
|
481
|
+
* @returns {Promise<Buffer>} - File bytes.
|
|
482
|
+
*/
|
|
483
|
+
async readAttachmentInputFile(_filePath) {
|
|
484
|
+
throw new Error("Attachment file reads are not supported in this environment")
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
/**
|
|
488
|
+
* Runs resolve attachment input path.
|
|
489
|
+
* @param {object} _args - Args.
|
|
490
|
+
* @param {string[]} _args.allowedPathPrefixes - Allowed path prefixes.
|
|
491
|
+
* @param {string} _args.inputPath - Input path.
|
|
492
|
+
* @returns {Promise<{buffer: Buffer, filePath: string}>} - Resolved path and file bytes.
|
|
493
|
+
*/
|
|
494
|
+
async resolveAttachmentInputPath(_args) {
|
|
495
|
+
throw new Error("Attachment path input is not supported in this environment")
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
/**
|
|
499
|
+
* Runs get configuration.
|
|
500
|
+
* @returns {import("../configuration.js").default} - The configuration.
|
|
501
|
+
*/
|
|
502
|
+
getConfiguration() {
|
|
503
|
+
if (!this.configuration) throw new Error("Configuration hasn't been set")
|
|
504
|
+
|
|
505
|
+
return this.configuration
|
|
506
|
+
}
|
|
507
|
+
|
|
508
|
+
/**
|
|
509
|
+
* Runs set process args.
|
|
510
|
+
* @param {string[]} newProcessArgs - New process args.
|
|
511
|
+
* @returns {void} - No return value.
|
|
512
|
+
*/
|
|
513
|
+
setProcessArgs(newProcessArgs) { this.processArgs = newProcessArgs }
|
|
514
|
+
|
|
515
|
+
/**
|
|
516
|
+
* Runs get default log directory.
|
|
517
|
+
* @param {object} _args - Options object.
|
|
518
|
+
* @param {import("../configuration.js").default} _args.configuration - Configuration instance.
|
|
519
|
+
* @returns {string | undefined} - The default log directory.
|
|
520
|
+
*/
|
|
521
|
+
getDefaultLogDirectory(_args) {
|
|
522
|
+
return undefined
|
|
523
|
+
}
|
|
524
|
+
|
|
525
|
+
/**
|
|
526
|
+
* Runs get log file path.
|
|
527
|
+
* @param {object} _args - Options object.
|
|
528
|
+
* @param {import("../configuration.js").default} _args.configuration - Configuration instance.
|
|
529
|
+
* @param {string | undefined} _args.directory - Directory path.
|
|
530
|
+
* @param {string} _args.environment - Environment.
|
|
531
|
+
* @returns {string | undefined} - The log file path.
|
|
532
|
+
*/
|
|
533
|
+
getLogFilePath(_args) {
|
|
534
|
+
return undefined
|
|
535
|
+
}
|
|
536
|
+
|
|
537
|
+
/**
|
|
538
|
+
* Runs write log to file.
|
|
539
|
+
* @param {object} _args - Options object.
|
|
540
|
+
* @param {string} _args.filePath - File path.
|
|
541
|
+
* @param {string} _args.message - Message text.
|
|
542
|
+
* @returns {Promise<void>} - Resolves when complete.
|
|
543
|
+
*/
|
|
544
|
+
async writeLogToFile(_args) {
|
|
545
|
+
return
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
/**
|
|
549
|
+
* Registers frontend-model websocket channel publishers so lifecycle
|
|
550
|
+
* event hooks (create/update/destroy) broadcast over the shared
|
|
551
|
+
* "frontend-models" channel. The base handler is a no-op — only the
|
|
552
|
+
* Node handler performs the registration because the required
|
|
553
|
+
* `frontend-model-controller` and `routes/resolver` imports pull in
|
|
554
|
+
* server-only modules that break browser bundlers.
|
|
555
|
+
* @param {import("../configuration.js").default} _configuration - Configuration instance.
|
|
556
|
+
* @returns {Promise<void>} - Resolves when complete.
|
|
557
|
+
*/
|
|
558
|
+
async initializeFrontendModelWebsocketPublishers(_configuration) {
|
|
559
|
+
// No-op in base handler; Node handler does the real registration.
|
|
560
|
+
}
|
|
561
|
+
}
|