@restforgejs/platform 4.2.8 → 4.3.2
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/SECURITY.md +83 -4
- package/bin/sdf-tools.exe +0 -0
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/dashboard/create.js +4 -1
- package/generators/cli/endpoint/create.js +1 -1
- package/generators/cli/key/generate.js +2 -1
- package/generators/cli/key/revoke.js +2 -1
- package/generators/cli/payload/diff.js +3 -2
- package/generators/cli/payload/generate.js +3 -2
- package/generators/cli/payload/sync.js +3 -2
- package/generators/cli/payload/validate.js +3 -2
- package/generators/cli/processor/create.js +14 -3
- package/generators/cli/project/delete.js +2 -1
- package/generators/cli/query/validate.js +3 -2
- package/generators/cli/schema/apply.js +3 -2
- package/generators/cli/schema/describe.js +3 -2
- package/generators/cli/schema/diff.js +3 -2
- package/generators/cli/schema/introspect.js +3 -2
- package/generators/cli/schema/list.js +3 -2
- package/generators/cli/schema/migrate.js +3 -2
- package/generators/lib/migration/audit-table-runner.js +213 -215
- package/generators/lib/payload/payload-runner.js +1 -1
- package/generators/lib/templates/dashboard-catalog.js +1 -437
- package/generators/lib/templates/db-connection-env.js +1 -212
- package/generators/lib/templates/dbschema-catalog.js +1 -489
- package/generators/lib/templates/field-validation-catalog.js +1 -531
- package/generators/lib/templates/mysql-template.js +1 -3863
- package/generators/lib/templates/oracle-template.js +1 -3915
- package/generators/lib/templates/postgres-template.js +1 -5838
- package/generators/lib/templates/query-declarative-catalog.js +1 -199
- package/generators/lib/templates/sqlite-template.js +1 -3440
- package/generators/lib/utils/env-manager.js +6 -0
- package/generators/lib/utils/path-validator.js +71 -0
- package/generators/lib/validators/payload-validator.js +1 -2
- package/integrity-manifest.json +28 -10
- package/package.json +11 -3
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
- package/generators/metadata/global.json +0 -58
- package/generators/metadata/test-mysql-workbench.json +0 -118
- package/generators/metadata/test-mysql.json +0 -56
- package/generators/metadata/test-oracle-workbench.json +0 -118
- package/generators/metadata/test-oracle.json +0 -56
- package/generators/metadata/test-pg-workbench.json +0 -118
- package/generators/metadata/test-pg.json +0 -56
- package/generators/scripts/obfuscate-source.js +0 -356
- package/generators/scripts/validate-catalog.js +0 -430
- package/generators/scripts/validate-dbschema-catalog.js +0 -708
- package/generators/tests/baseline/mysql/mini_inventory_item/src/models/mini-inventory/item.js +0 -944
- package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
- package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory.js +0 -336
- package/generators/tests/baseline/oracle/mini_inventory_item/src/models/mini-inventory/item.js +0 -1002
- package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
- package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory.js +0 -336
- package/generators/tests/baseline/postgres/mini_inventory_item/src/models/mini-inventory/item.js +0 -1333
- package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory/item.js +0 -1173
- package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory.js +0 -496
- package/generators/tests/fixtures/payloads/custom-sensitive.json +0 -27
- package/generators/tests/fixtures/payloads/dynamic-search-optout.json +0 -23
- package/generators/tests/fixtures/payloads/login-with-password.json +0 -22
- package/generators/tests/fixtures/payloads/order-process.json +0 -52
- package/generators/tests/fixtures/payloads/with-inline-sql.json +0 -26
- package/generators/tests/integration-tahap4b/README.md +0 -145
- package/generators/tests/integration-tahap4b/run-concurrent.js +0 -77
- package/generators/tests/integration-tahap4b/seed.sql +0 -53
- package/generators/tests/integration-tahap4b/verify.sql +0 -110
- package/generators/tests/unit/cli/create-dashboard.test.js +0 -505
- package/generators/tests/unit/cli/create-processor.test.js +0 -319
- package/generators/tests/unit/cli/dispatch-dashboard.test.js +0 -149
- package/generators/tests/unit/lib/dashboard-generator.test.js +0 -895
- package/generators/tests/unit/lib/dashboard-validator.test.js +0 -354
- package/generators/tests/unit/lib/dbschema-kit/apply-executor.test.js +0 -437
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-introspect.test.js +0 -393
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-generate-ddl.test.js +0 -104
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-init.test.js +0 -119
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-list.test.js +0 -48
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-migrate.test.js +0 -175
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-validate.test.js +0 -102
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-models.test.js +0 -43
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/all-schemas-listing.js +0 -84
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/connection-error.js +0 -13
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/empty.js +0 -12
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/multi-schema.js +0 -124
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/single-schema-inventory.js +0 -64
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/two-tables.js +0 -66
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/connection-error.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/partial.js +0 -29
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/rollback.js +0 -26
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/success.js +0 -43
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/audit/events.js +0 -18
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/inventory/products.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/users.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/connection.test.js +0 -112
- package/generators/tests/unit/lib/dbschema-kit/ddl-generator.test.js +0 -205
- package/generators/tests/unit/lib/dbschema-kit/define-model.test.js +0 -56
- package/generators/tests/unit/lib/dbschema-kit/dialect/index.test.js +0 -46
- package/generators/tests/unit/lib/dbschema-kit/dialect/mysql.test.js +0 -126
- package/generators/tests/unit/lib/dbschema-kit/dialect/oracle.test.js +0 -126
- package/generators/tests/unit/lib/dbschema-kit/dialect/postgres.test.js +0 -131
- package/generators/tests/unit/lib/dbschema-kit/dialect/sqlite.test.js +0 -126
- package/generators/tests/unit/lib/dbschema-kit/driver-loader.test.js +0 -93
- package/generators/tests/unit/lib/dbschema-kit/emitters/create-index.test.js +0 -173
- package/generators/tests/unit/lib/dbschema-kit/emitters/create-table.test.js +0 -376
- package/generators/tests/unit/lib/dbschema-kit/emitters/drop-table.test.js +0 -78
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/invalid-dialect.env +0 -6
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-dialect.env +0 -5
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-host.env +0 -5
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/oracle-valid.env +0 -6
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/postgres-valid.env +0 -7
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/sqlite-valid.env +0 -2
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/category.js +0 -11
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/item_product.js +0 -11
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound.js +0 -24
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound_item.js +0 -28
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/supplier.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/warehouse.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-invalid/orphan.js +0 -17
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/category.js +0 -11
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/item_product.js +0 -11
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/supplier.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/warehouse.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound.js +0 -24
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound_item.js +0 -28
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/audit/events.js +0 -18
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/inventory/products.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/public/users.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/extra/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/master/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/bar.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/foo.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/empty-folder/README.md +0 -1
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-export/plain.js +0 -3
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-schema/bad.js +0 -6
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/legacy-pattern/legacy.js +0 -12
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/audit/products.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/inventory/products.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/a/products.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/b/products.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/nested-deep/a/b/c/deep_table.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/.hidden/ignored.js +0 -7
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/supplier.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound_item.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/item_product.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-single/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/integration.test.js +0 -217
- package/generators/tests/unit/lib/dbschema-kit/introspect-mapper.test.js +0 -403
- package/generators/tests/unit/lib/dbschema-kit/ir-builder.test.js +0 -390
- package/generators/tests/unit/lib/dbschema-kit/loader.test.js +0 -128
- package/generators/tests/unit/lib/dbschema-kit/naming.test.js +0 -170
- package/generators/tests/unit/lib/dbschema-kit/parser/shorthand-parser.test.js +0 -237
- package/generators/tests/unit/lib/dbschema-kit/schema-printer.test.js +0 -251
- package/generators/tests/unit/lib/dbschema-kit/statement-modifier.test.js +0 -105
- package/generators/tests/unit/lib/dbschema-kit/statement-splitter.test.js +0 -165
- package/generators/tests/unit/lib/dbschema-kit/topological-sort.test.js +0 -135
- package/generators/tests/unit/lib/dbschema-kit/validator/check-compatibility-validator.test.js +0 -373
- package/generators/tests/unit/lib/dbschema-kit/validator/circular-relation-validator.test.js +0 -454
- package/generators/tests/unit/lib/dbschema-kit/validator/cross-model-validator.test.js +0 -512
- package/generators/tests/unit/lib/dbschema-kit/validator/enhanced-validate-integration.test.js +0 -390
- package/generators/tests/unit/lib/dbschema-kit/validator/naming-convention-validator.test.js +0 -306
- package/generators/tests/unit/lib/dbschema-kit/validator/schema-validator.test.js +0 -443
- package/generators/tests/unit/lib/dbschema-kit/validator/type-compatibility-validator.test.js +0 -440
- package/generators/tests/unit/lib/dbschema-kit/validator/validator-reporter.test.js +0 -172
- package/generators/tests/unit/lib/metadata-manager-dashboard.test.js +0 -256
- package/generators/tests/unit/lib/payload-validator-fieldpolicy.test.js +0 -240
- package/generators/tests/unit/lib/processor-validation-generator.test.js +0 -300
- package/generators/tests/unit/lib/sensitive-field-masker.test.js +0 -170
- package/generators/tests/unit/lib/sql-table-extractor.test.js +0 -119
- package/scripts/generate-integrity-manifest.js +0 -124
- package/scripts/snapshot-cli-contracts.js +0 -194
- package/scripts/verify-publish.js +0 -56
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a0_0x4c2c(_0x15cc1d,_0x2f4a90){_0x15cc1d=_0x15cc1d-0x1ed;const _0x48e586=a0_0x48e5();let _0x4c2c3f=_0x48e586[_0x15cc1d];if(a0_0x4c2c['SQYthQ']===undefined){var _0x2cca20=function(_0x3a907e){const _0x143419='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4f2d65='',_0x11e3d4='';for(let _0x1db6a9=0x0,_0x46a9f3,_0x2abc1d,_0x2a2192=0x0;_0x2abc1d=_0x3a907e['charAt'](_0x2a2192++);~_0x2abc1d&&(_0x46a9f3=_0x1db6a9%0x4?_0x46a9f3*0x40+_0x2abc1d:_0x2abc1d,_0x1db6a9++%0x4)?_0x4f2d65+=String['fromCharCode'](0xff&_0x46a9f3>>(-0x2*_0x1db6a9&0x6)):0x0){_0x2abc1d=_0x143419['indexOf'](_0x2abc1d);}for(let _0x4738f8=0x0,_0x36acdd=_0x4f2d65['length'];_0x4738f8<_0x36acdd;_0x4738f8++){_0x11e3d4+='%'+('00'+_0x4f2d65['charCodeAt'](_0x4738f8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x11e3d4);};a0_0x4c2c['xTrIEI']=_0x2cca20,a0_0x4c2c['vLRuIV']={},a0_0x4c2c['SQYthQ']=!![];}const _0x10fd5f=_0x48e586[0x0],_0x3cebe3=_0x15cc1d+_0x10fd5f,_0x379c76=a0_0x4c2c['vLRuIV'][_0x3cebe3];return!_0x379c76?(_0x4c2c3f=a0_0x4c2c['xTrIEI'](_0x4c2c3f),a0_0x4c2c['vLRuIV'][_0x3cebe3]=_0x4c2c3f):_0x4c2c3f=_0x379c76,_0x4c2c3f;}function a0_0x48e5(){const _0xfe5035=['zgvMyxvSDa','vxbSB2fKigHHBMrSzxiGAw5PDgLHBgL6zwq','lNHSC3G','mtmWnJe4mKzZrxPXBq','ChjVBwLZzxm','zM5mDem','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNnWCMvHzhnOzwv0BwWUC2HLzxq','swXly2G','DxbSB2fKrgLY','ndy0mZqYne1zCgXezW','vvbmt0fex0rjuG','B3jPz2LUywXUyw1L','vMDuDwO','zxjYB3i','mZm4ndaWogftv3LbBW','Aevjwxu','BwTKAxjtEw5J','mtrUz2fLEwW','mZbeAhnks0K','AM9PBG','DxbSB2fKx2HHBMrSzxjFAw5PDa','z2v0u3rVCMfNzq','x3vWBg9HzerPCG','C2LUz2XL','tK5rvKm','rMfPBgvKihrVigrLBgv0zsb1CgXVywrLzcbMAwXL','Agv4','z2v0vxbSB2fKtwLKzgXLD2fYzq','ndu0mtCYmgvfCur1Aq','zw52','ndu5odK0Dw9vugT1','mNzLD1LJra','lI9SB2DNzxi','lNHSCW','y3j5ChrV','mtm1ntu4mgvhrLvezG','Dg9tDhjPBMC','mZeYmdqYnLPWrvzKsW','Cgf0Aa','Bwf4rMLSzvnPEMu','BwvZC2fNzq','zgvSzxrLrMLSzq'];a0_0x48e5=function(){return _0xfe5035;};return a0_0x48e5();}const a0_0xb6d8e1=a0_0x4c2c;(function(_0x2ce799,_0x33ed9b){const _0x439638=a0_0x4c2c,_0x52f2be=_0x2ce799();while(!![]){try{const _0x2e874b=parseInt(_0x439638(0x211))/0x1*(-parseInt(_0x439638(0x210))/0x2)+-parseInt(_0x439638(0x1f5))/0x3+parseInt(_0x439638(0x215))/0x4+parseInt(_0x439638(0x20e))/0x5+-parseInt(_0x439638(0x1ed))/0x6+-parseInt(_0x439638(0x203))/0x7*(parseInt(_0x439638(0x200))/0x8)+-parseInt(_0x439638(0x1fb))/0x9*(-parseInt(_0x439638(0x204))/0xa);if(_0x2e874b===_0x33ed9b)break;else _0x52f2be['push'](_0x52f2be['shift']());}catch(_0x22a91f){_0x52f2be['push'](_0x52f2be['shift']());}}}(a0_0x48e5,0x824b6));const multer=require('multer'),path=require(a0_0xb6d8e1(0x1ee)),crypto=require(a0_0xb6d8e1(0x214)),fs=require('fs')[a0_0xb6d8e1(0x1f6)],fsSync=require('fs'),{logger}=require(a0_0xb6d8e1(0x212));class UploadHandler{constructor(){const _0x15eea6=a0_0xb6d8e1,_0x166e21={'hEIYu':function(_0x428871,_0xd40da5){return _0x428871*_0xd40da5;}};this['_uploadDir']=null,this[_0x15eea6(0x1ef)]=_0x166e21[_0x15eea6(0x201)](_0x166e21[_0x15eea6(0x201)](0xa,0x400),0x400);}get['uploadDir'](){const _0xebcf3d=a0_0xb6d8e1,_0x3bc8bf={'uIIlo':_0xebcf3d(0x1f2),'LGZRV':_0xebcf3d(0x206),'TvQpd':'upload_handler_init_error'};if(!this[_0xebcf3d(0x208)]){const _0x2e16ab=process['env']['RESTFORGE_PROJECT_NAME']||_0x3bc8bf['uIIlo'];this['_uploadDir']=process[_0xebcf3d(0x20f)][_0xebcf3d(0x1fc)]||path[_0xebcf3d(0x205)](__dirname,'../../temp/uploads/'+_0x2e16ab);try{!fsSync['existsSync'](this['_uploadDir'])&&fsSync[_0xebcf3d(0x202)](this['_uploadDir'],{'recursive':!![]}),logger['info']({'event':_0x3bc8bf['LGZRV'],'dir':this[_0xebcf3d(0x208)]},_0xebcf3d(0x1f3));}catch(_0x5a7504){logger[_0xebcf3d(0x1ff)]({'event':_0x3bc8bf['TvQpd'],'error':_0x5a7504['message']},'Failed\x20to\x20initialize\x20upload\x20handler');}}return this['_uploadDir'];}[a0_0xb6d8e1(0x207)](){const _0x5ae8de=a0_0xb6d8e1,_0x2c405d={'IlKch':_0x5ae8de(0x20c),'OSjEh':function(_0x3a0e50,_0x2b271d,_0x1f4f2e){return _0x3a0e50(_0x2b271d,_0x1f4f2e);}};return multer['diskStorage']({'destination':(_0x341ef4,_0x33a255,_0x1d4f9d)=>{const _0x57d002=_0x5ae8de;!fsSync['existsSync'](this[_0x57d002(0x1fa)])&&fsSync[_0x57d002(0x202)](this['uploadDir'],{'recursive':!![]}),_0x1d4f9d(null,this[_0x57d002(0x1fa)]);},'filename':(_0x5a1cbf,_0x25cd4c,_0x5e3dca)=>{const _0x31a48b=_0x5ae8de,_0x51296=crypto['randomBytes'](0x8)[_0x31a48b(0x216)](_0x2c405d[_0x31a48b(0x1f9)]),_0x2cafa4=Date['now'](),_0x227cb2=path['extname'](_0x25cd4c['originalname']);_0x2c405d['OSjEh'](_0x5e3dca,null,'upload-'+_0x2cafa4+'-'+_0x51296+_0x227cb2);}});}[a0_0xb6d8e1(0x20d)](){const _0x5a6954=a0_0xb6d8e1,_0x45c441={'VgTuj':_0x5a6954(0x1f8),'fnLtC':_0x5a6954(0x213)};return multer({'storage':this['getStorage'](),'limits':{'fileSize':this[_0x5a6954(0x1ef)],'files':0x1},'fileFilter':(_0x1a5a45,_0x4732f2,_0x32bfce)=>{const _0x1d01d8=_0x5a6954,_0x3301b8=[_0x45c441[_0x1d01d8(0x1fe)],'application/vnd.ms-excel'],_0x4deaff=[_0x1d01d8(0x1f4),_0x45c441[_0x1d01d8(0x1f7)]],_0x1c8962=path['extname'](_0x4732f2[_0x1d01d8(0x1fd)])['toLowerCase']();_0x3301b8['includes'](_0x4732f2['mimetype'])&&_0x4deaff['includes'](_0x1c8962)?_0x32bfce(null,!![]):_0x32bfce(new Error('Invalid\x20file\x20type.\x20Only\x20.xlsx\x20files\x20are\x20allowed'));}})[_0x5a6954(0x209)]('file');}async[a0_0xb6d8e1(0x1f1)](_0x263676){const _0xd5ac1e=a0_0xb6d8e1,_0x31bf12={'NNQVC':'upload_file_delete_error'};try{await fs['unlink'](_0x263676),logger['info']({'event':'upload_file_deleted','filePath':_0x263676},'Uploaded\x20file\x20deleted');}catch(_0x1510cd){logger['error']({'event':_0x31bf12[_0xd5ac1e(0x20a)],'filePath':_0x263676,'error':_0x1510cd[_0xd5ac1e(0x1f0)]},_0xd5ac1e(0x20b));}}}module['exports']=new UploadHandler();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x1ecc(){const _0x1346a9=['laOGicaGicaG','u1fmu0vsvKvs','B3jHy2XL','z2v0rgf0ywjHC2vuExbL','qvflA3G','qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHpCMfJBguP','zMLSDgvY','BKvczeS','C3fSAxrL','CfDgvvq','lcaNwvLzws1nts1ercCP','nJm5mJCWu2HYtuD1','Cg9ZDgDYzxnXBa','mtzJDeHNwu8','lIbgywXSAw5NigjHy2SGDg8GCg9ZDgDYzxnXBc4','ve9FrefursG','mKLQq1zJAG','C1jZtKW','tM8Gy29SDw1UCYb0BYb1CgrHDguGkgfSBcbJB2X1Bw5ZigfYzsb1ChnLCNqGA2v5CYbVCIbWCMLTyxj5igTLEsK','s3PTAxq','zK9fuMC','cIaGicbvtKLptIbbteWk','icbjtLrpia','su5trvjuiefmtaO','cLnftevdvcaXiezst00Grfvbta','ieftierbveuP','qK9WC1G','Aw5JBhvKzxm','zgf0zq','yNvPBgrfC2nHCgvgDw5JDgLVBG','tLvmtdO6refurq','A25Hu0G','qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','zM9YBwf0qM9VBgvHBLzHBhvL','CMn0sNq','oJPeqvrf','id0GDI4','x2j1AwXKqMf0y2HvCgrHDgvnExnXBa','q0ftvcG','AM9PBG','zxHWB3j0CW','laOGicaGicaGica','zgT6A1G','ue9tveDsrvnrta','x2j1AwXKqMf0y2HjBNnLCNrpCMfJBgu','AfbMCeO','nfbQwxbeBq','txDODhm','Aw52ywXPzf9KyL90ExbL','kqOGicaGicbwquXvrvmG','D2fYBG','u1fmsvrf','laOGicaGicaGia','yMf0y2HFDxbKyxrLx2j1AwX0','DhLWzq','cIaGicaGieLou0vsvcbjtLrpia','zM9YBwf0rgf0zvzHBhvL','y2H1BMTsB3DZ','zw52','ieforca','icaGifnftevdvca','mZy2ndCXn2Hhvg9kuq','sw52ywXPzcbeqL9uwvbfoIa','cIaGicaGifvqrefursa','cIaGica','t1jbq0Xf','rejFvfLqrq','BwfW','mtyWmJK2mtbwqufHwfy','BxLZCwW','ChvZAa','mtqYnZqWmgXluvnrCW','tLvmta','mti3mJLuBMjoAKm','zgvIDwC','tvLtuuW','x2j1AwXKqMf0y2HvCgrHDgvqB3n0z3jLCW','mZGXnJe0n1PVqunrBW','cIaGicaGiezst00GkfzbtfvfuWOGicaGicaGia','mZqXmdK1DfnPEe50','yMf0y2HFDxbKyxrLx25Vx2nVBhvTBNm','u2nMvNe','uMjJBe0','BgvUz3rO','r2fNyui','yNr3t0y','CMvWBgfJzq','mJjyzuXQCLG'];a0_0x1ecc=function(){return _0x1346a9;};return a0_0x1ecc();}const a0_0x50cd66=a0_0x4065;(function(_0x3a93de,_0x342bdd){const _0x492c81=a0_0x4065,_0x5e0adb=_0x3a93de();while(!![]){try{const _0x56affe=parseInt(_0x492c81(0x1dc))/0x1+parseInt(_0x492c81(0x1fb))/0x2*(-parseInt(_0x492c81(0x1e0))/0x3)+-parseInt(_0x492c81(0x219))/0x4*(-parseInt(_0x492c81(0x1e2))/0x5)+parseInt(_0x492c81(0x1f6))/0x6+-parseInt(_0x492c81(0x1d0))/0x7*(parseInt(_0x492c81(0x1f8))/0x8)+-parseInt(_0x492c81(0x1da))/0x9+parseInt(_0x492c81(0x1d7))/0xa*(parseInt(_0x492c81(0x1ea))/0xb);if(_0x56affe===_0x342bdd)break;else _0x5e0adb['push'](_0x5e0adb['shift']());}catch(_0x1170a4){_0x5e0adb['push'](_0x5e0adb['shift']());}}}(a0_0x1ecc,0xdf8f8));const {logger}=require('./logger'),DB_TYPES={'POSTGRESQL':a0_0x50cd66(0x1f7),'MYSQL':'mysql','SQLSERVER':'sqlserver','ORACLE':'oracle','SQLITE':a0_0x50cd66(0x1f3)};function a0_0x4065(_0x32cc57,_0x2f0eb8){_0x32cc57=_0x32cc57-0x1d0;const _0x1ecc24=a0_0x1ecc();let _0x40654a=_0x1ecc24[_0x32cc57];if(a0_0x4065['sdnodA']===undefined){var _0x5648ec=function(_0x19f465){const _0x24d193='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5d3a51='',_0x554780='';for(let _0x66ebfe=0x0,_0x56a2d0,_0x5efa4e,_0x3a946f=0x0;_0x5efa4e=_0x19f465['charAt'](_0x3a946f++);~_0x5efa4e&&(_0x56a2d0=_0x66ebfe%0x4?_0x56a2d0*0x40+_0x5efa4e:_0x5efa4e,_0x66ebfe++%0x4)?_0x5d3a51+=String['fromCharCode'](0xff&_0x56a2d0>>(-0x2*_0x66ebfe&0x6)):0x0){_0x5efa4e=_0x24d193['indexOf'](_0x5efa4e);}for(let _0x14d0a5=0x0,_0x41fa3c=_0x5d3a51['length'];_0x14d0a5<_0x41fa3c;_0x14d0a5++){_0x554780+='%'+('00'+_0x5d3a51['charCodeAt'](_0x14d0a5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x554780);};a0_0x4065['nquKkM']=_0x5648ec,a0_0x4065['fbsLiS']={},a0_0x4065['sdnodA']=!![];}const _0x4c350f=_0x1ecc24[0x0],_0xdb020b=_0x32cc57+_0x4c350f,_0x475e50=a0_0x4065['fbsLiS'][_0xdb020b];return!_0x475e50?(_0x40654a=a0_0x4065['nquKkM'](_0x40654a),a0_0x4065['fbsLiS'][_0xdb020b]=_0x40654a):_0x40654a=_0x475e50,_0x40654a;}class UpsertBuilder{[a0_0x50cd66(0x1ee)](){const _0x367a76=a0_0x50cd66,_0x21c373={'TynWb':_0x367a76(0x21b)},_0xe6a926=(process[_0x367a76(0x225)][_0x367a76(0x1d5)]||'postgresql')['toLowerCase'](),_0x48b6c4=Object['values'](DB_TYPES);if(!_0x48b6c4['includes'](_0xe6a926))return logger[_0x367a76(0x21d)]({'event':_0x21c373['TynWb'],'provided':_0xe6a926,'fallback':'postgresql'},_0x367a76(0x1d1)+_0xe6a926+_0x367a76(0x1f9)),DB_TYPES[_0x367a76(0x216)];return _0xe6a926;}['formatDateValue'](_0x4b53f0,_0x3f193f,_0x5d9251=![]){const _0x1f754a=a0_0x50cd66,_0x9da4a={'knaSH':'NULL'};if(_0x5d9251)switch(_0x3f193f){case DB_TYPES['POSTGRESQL']:return _0x1f754a(0x209);case DB_TYPES['MYSQL']:return _0x9da4a[_0x1f754a(0x20a)];case DB_TYPES['SQLITE']:return'NULL';case DB_TYPES['SQLSERVER']:return _0x1f754a(0x1db);case DB_TYPES['ORACLE']:return _0x9da4a['knaSH'];default:return'NULL::DATE';}switch(_0x3f193f){case DB_TYPES[_0x1f754a(0x216)]:return _0x4b53f0+'::DATE';case DB_TYPES[_0x1f754a(0x1de)]:return _0x4b53f0;case DB_TYPES[_0x1f754a(0x21e)]:return _0x4b53f0;case DB_TYPES['SQLSERVER']:return _0x1f754a(0x211)+_0x4b53f0+_0x1f754a(0x204);case DB_TYPES[_0x1f754a(0x1d4)]:return _0x1f754a(0x1fa)+_0x4b53f0+_0x1f754a(0x1f5);default:return _0x4b53f0+_0x1f754a(0x20e);}}[a0_0x50cd66(0x20c)](_0x385ad1,_0x36ce34,_0x1b295e=![]){const _0x59f83b=a0_0x50cd66;if(_0x1b295e)switch(_0x36ce34){case DB_TYPES[_0x59f83b(0x216)]:return'NULL::BOOLEAN';default:return'NULL';}switch(_0x36ce34){case DB_TYPES['POSTGRESQL']:return _0x385ad1+'::BOOLEAN';case DB_TYPES['ORACLE']:return _0x385ad1;case DB_TYPES[_0x59f83b(0x1de)]:return _0x385ad1;case DB_TYPES[_0x59f83b(0x21e)]:return _0x385ad1;case DB_TYPES[_0x59f83b(0x1ec)]:return _0x59f83b(0x211)+_0x385ad1+'\x20AS\x20BIT)';default:return _0x385ad1+'::BOOLEAN';}}[a0_0x50cd66(0x208)](_0x4be0dc={}){const _0x3925ac=a0_0x50cd66,_0x4a4428={'BOpsX':function(_0x15f06d,_0xc8539a){return _0x15f06d===_0xc8539a;},'GagaB':function(_0x300643,_0x37ea93){return _0x300643===_0x37ea93;},'btwOF':'boolean','pWFUT':_0x3925ac(0x207),'sRsNL':'number','Kzmit':function(_0x291ee4,_0x149646){return _0x291ee4(_0x149646);}},_0x37156a=this['getDatabaseType']();return(_0x277283,_0x4cadfe)=>{const _0x43e79e=_0x3925ac,_0x5ae705=_0x4be0dc[_0x4cadfe];if(_0x4a4428[_0x43e79e(0x205)](_0x277283,null)||_0x277283===undefined){if(_0x5ae705&&_0x4a4428[_0x43e79e(0x1e7)](_0x5ae705[_0x43e79e(0x221)],_0x43e79e(0x207)))return this[_0x43e79e(0x223)](null,_0x37156a,!![]);if(_0x5ae705&&_0x4a4428['BOpsX'](_0x5ae705['type'],_0x4a4428[_0x43e79e(0x1e8)]))return this['formatBooleanValue'](null,_0x37156a,!![]);return'NULL';}if(_0x4a4428['BOpsX'](typeof _0x277283,'string')){const _0x4ca9be='\x27'+_0x277283['replace'](/'/g,'\x27\x27')+'\x27';if(_0x5ae705&&_0x4a4428['BOpsX'](_0x5ae705['type'],_0x4a4428[_0x43e79e(0x1f4)]))return this['formatDateValue'](_0x4ca9be,_0x37156a,![]);if(_0x5ae705&&_0x5ae705[_0x43e79e(0x221)]===_0x4a4428['btwOF'])return this['formatBooleanValue'](_0x4ca9be,_0x37156a,![]);return _0x4ca9be;}if(_0x4a4428[_0x43e79e(0x1e7)](typeof _0x277283,_0x4a4428[_0x43e79e(0x1fc)]))return _0x277283;if(typeof _0x277283==='boolean')return _0x277283;const _0x853f76='\x27'+_0x4a4428[_0x43e79e(0x1fe)](String,_0x277283)[_0x43e79e(0x1e9)](/'/g,'\x27\x27')+'\x27';if(_0x5ae705&&_0x4a4428['GagaB'](_0x5ae705[_0x43e79e(0x221)],_0x4a4428['pWFUT']))return this[_0x43e79e(0x223)](_0x853f76,_0x37156a,![]);return _0x853f76;};}['buildBatchInsert'](_0x3a838a,_0x37eb38,_0x1f9b2a,_0x49a7bc={}){const _0x130d58=a0_0x50cd66,_0x9b00d3=this['getDatabaseType']();if(_0x9b00d3===DB_TYPES[_0x130d58(0x1d4)])return this[_0x130d58(0x217)](_0x3a838a,_0x37eb38,_0x1f9b2a,_0x49a7bc);return this['_buildBatchInsertPostgres'](_0x3a838a,_0x37eb38,_0x1f9b2a,_0x49a7bc);}['_buildBatchInsertPostgres'](_0x393e2a,_0x3c58d9,_0x818c12,_0x4cd16b={}){const _0x2a6df6=a0_0x50cd66,_0x194593={'UwGdj':_0x2a6df6(0x1eb),'NVUPR':'postgresql','LaExB':_0x2a6df6(0x20b)};if(_0x393e2a['length']===0x0)return{'query':null,'values':[]};const _0x398ee0=this['buildEscapeFunction'](_0x4cd16b),_0x281abe=_0x393e2a[_0x2a6df6(0x1d6)](_0x481223=>{const _0x261549=_0x818c12['map'](_0x175a07=>_0x398ee0(_0x481223[_0x175a07],_0x175a07));return'('+_0x261549['join'](',\x20')+')';}),_0xe5e0a2='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x3c58d9+'\x20('+_0x818c12['join'](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x281abe[_0x2a6df6(0x212)](_0x194593['UwGdj'])+_0x2a6df6(0x1d3);return logger['debug']({'event':'batch_insert_built','tableName':_0x3c58d9,'rowCount':_0x393e2a['length'],'dbType':_0x194593['NVUPR']},_0x194593['LaExB']),{'query':_0xe5e0a2,'values':[]};}['_buildBatchInsertOracle'](_0x4a3ef4,_0x1fbdff,_0x1bab7b,_0x4f5235={}){const _0x2a1261=a0_0x50cd66,_0xd4b5d3={'WjKVy':function(_0x38df82,_0x29d9e6){return _0x38df82===_0x29d9e6;}};if(_0xd4b5d3['WjKVy'](_0x4a3ef4[_0x2a1261(0x1e6)],0x0))return{'query':null,'values':[]};const _0x451e56=this['buildEscapeFunction'](_0x4f5235),_0x18390c=_0x4a3ef4[_0x2a1261(0x1d6)](_0x332362=>{const _0x3778f4=_0x2a1261,_0x3566e8=_0x1bab7b['map'](_0x2bde94=>_0x451e56(_0x332362[_0x2bde94],_0x2bde94));return _0x3778f4(0x201)+_0x1fbdff+'\x20('+_0x1bab7b[_0x3778f4(0x212)](',\x20')+')\x20VALUES\x20('+_0x3566e8[_0x3778f4(0x212)](',\x20')+')';}),_0x3e6626=_0x2a1261(0x202)+_0x18390c['join']('\x0a')+_0x2a1261(0x203);return logger['debug']({'event':'batch_insert_built','tableName':_0x1fbdff,'rowCount':_0x4a3ef4[_0x2a1261(0x1e6)],'dbType':_0x2a1261(0x1ed)},_0x2a1261(0x1f0)),{'query':_0x3e6626,'values':[]};}['buildBatchUpdate'](_0x4e7e54,_0x325390,_0x5475ff,_0x57aec8,_0x46c63e,_0x16bebc={}){const _0x5a88d4=a0_0x50cd66,_0x3c4b7={'Mwhts':function(_0x1cc4d9,_0x252414){return _0x1cc4d9===_0x252414;},'AOUIk':function(_0x2fc1b9,_0x1f1120){return _0x2fc1b9===_0x1f1120;}},_0x484d93=this['getDatabaseType']();if(_0x3c4b7[_0x5a88d4(0x21a)](_0x484d93,DB_TYPES[_0x5a88d4(0x1d4)]))return this['_buildBatchUpdateOracle'](_0x4e7e54,_0x325390,_0x5475ff,_0x57aec8,_0x46c63e,_0x16bebc);if(_0x3c4b7['AOUIk'](_0x484d93,DB_TYPES['MYSQL']))return this['_buildBatchUpdateMysql'](_0x4e7e54,_0x325390,_0x5475ff,_0x57aec8,_0x46c63e,_0x16bebc);return this['_buildBatchUpdatePostgres'](_0x4e7e54,_0x325390,_0x5475ff,_0x57aec8,_0x46c63e,_0x16bebc);}[a0_0x50cd66(0x1df)](_0x2c78ac,_0x4c5fea,_0x1d97d6,_0x2580eb,_0x4d7293,_0x528262={}){const _0x98d0ac=a0_0x50cd66,_0x25f197={'mOMID':function(_0x294564,_0x1a6975){return _0x294564===_0x1a6975;},'aIodS':_0x98d0ac(0x1fd),'fOERg':_0x98d0ac(0x1f7),'EjVtt':'Batch\x20UPDATE\x20query\x20built\x20(PostgreSQL)'};if(_0x2c78ac['length']===0x0)return{'query':null,'values':[]};const _0x3d71c6=this['buildEscapeFunction'](_0x528262),_0x264b3e=_0x1d97d6[_0x98d0ac(0x1f1)](_0x397b07=>!_0x4d7293['includes'](_0x397b07)&&_0x397b07!==_0x2580eb);if(_0x25f197['mOMID'](_0x264b3e['length'],0x0))return logger[_0x98d0ac(0x21d)]({'event':_0x98d0ac(0x1e3),'tableName':_0x4c5fea},_0x25f197['aIodS']),{'query':null,'values':[]};const _0x1a5479=_0x2c78ac['map'](_0x4aec61=>{const _0x193f84=_0x98d0ac,_0x509182=[..._0x4d7293,..._0x264b3e],_0x15bd1d=_0x509182['map'](_0x25274a=>_0x3d71c6(_0x4aec61[_0x25274a],_0x25274a));return'('+_0x15bd1d[_0x193f84(0x212)](',\x20')+')';}),_0x56e10f=_0x264b3e[_0x98d0ac(0x1d6)](_0x5818d0=>_0x5818d0+_0x98d0ac(0x20f)+_0x5818d0)[_0x98d0ac(0x212)](_0x98d0ac(0x214)),_0x5c67c2=_0x4d7293['map'](_0x1b5f25=>'t.'+_0x1b5f25+_0x98d0ac(0x20f)+_0x1b5f25)[_0x98d0ac(0x212)](_0x98d0ac(0x226)),_0x4312a9=_0x98d0ac(0x1d2)+_0x4c5fea+'\x20AS\x20t\x0a\x20\x20\x20\x20\x20\x20SET\x20'+_0x56e10f+_0x98d0ac(0x1e1)+_0x1a5479['join'](_0x98d0ac(0x21f))+'\x0a\x20\x20\x20\x20\x20\x20)\x20AS\x20v('+[..._0x4d7293,..._0x264b3e][_0x98d0ac(0x212)](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20WHERE\x20'+_0x5c67c2+'\x0a\x20\x20\x20\x20';return logger[_0x98d0ac(0x1dd)]({'event':'batch_update_built','tableName':_0x4c5fea,'rowCount':_0x2c78ac[_0x98d0ac(0x1e6)],'updateColumns':_0x264b3e[_0x98d0ac(0x1e6)],'dbType':_0x25f197[_0x98d0ac(0x1ff)]},_0x25f197['EjVtt']),{'query':_0x4312a9,'values':[]};}['_buildBatchUpdateOracle'](_0xa9dc36,_0x20b7d4,_0x5ca5c4,_0x16a5ef,_0x2d6492,_0x25a4a0={}){const _0x1c077c=a0_0x50cd66,_0x1b4306={'PJiUE':_0x1c077c(0x1e3),'nEBdK':_0x1c077c(0x214),'hPfpJ':_0x1c077c(0x226),'PtOcF':_0x1c077c(0x200),'dkzkX':'batch_update_built','RbclM':_0x1c077c(0x1ed),'rctJt':'Batch\x20UPDATE\x20query\x20built\x20(Oracle\x20MERGE)'};if(_0xa9dc36[_0x1c077c(0x1e6)]===0x0)return{'query':null,'values':[]};const _0x187a63=this['buildEscapeFunction'](_0x25a4a0),_0x4a46cc=_0x5ca5c4['filter'](_0x1efcc4=>!_0x2d6492['includes'](_0x1efcc4)&&_0x1efcc4!==_0x16a5ef);if(_0x4a46cc[_0x1c077c(0x1e6)]===0x0)return logger['warn']({'event':_0x1b4306['PJiUE'],'tableName':_0x20b7d4},'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)'),{'query':null,'values':[]};const _0x3051c3=[..._0x2d6492,..._0x4a46cc],_0x179923=_0xa9dc36['map']((_0x112a7c,_0x3928f6)=>{const _0x9a1168=_0x1c077c,_0x3f51fe=_0x3051c3[_0x9a1168(0x1d6)](_0x529cfd=>{const _0x65ed=_0x187a63(_0x112a7c[_0x529cfd],_0x529cfd);return _0x3928f6===0x0?_0x65ed+'\x20AS\x20'+_0x529cfd:_0x65ed;});return _0x9a1168(0x227)+_0x3f51fe['join'](',\x20')+'\x20FROM\x20DUAL';}),_0x2fcf99=_0x4a46cc[_0x1c077c(0x1d6)](_0x56ae70=>'t.'+_0x56ae70+'\x20=\x20v.'+_0x56ae70)[_0x1c077c(0x212)](_0x1b4306[_0x1c077c(0x1f2)]),_0x13659f=_0x2d6492['map'](_0x754771=>'t.'+_0x754771+_0x1c077c(0x20f)+_0x754771)['join'](_0x1b4306[_0x1c077c(0x218)]),_0x2ecdbc='\x0a\x20\x20\x20\x20\x20\x20MERGE\x20INTO\x20'+_0x20b7d4+'\x20t\x0a\x20\x20\x20\x20\x20\x20USING\x20(\x0a'+_0x179923['join'](_0x1b4306['PtOcF'])+'\x0a\x20\x20\x20\x20\x20\x20)\x20v\x0a\x20\x20\x20\x20\x20\x20ON\x20('+_0x13659f+')\x0a\x20\x20\x20\x20\x20\x20WHEN\x20MATCHED\x20THEN\x20UPDATE\x20SET\x20'+_0x2fcf99+'\x0a\x20\x20\x20\x20';return logger[_0x1c077c(0x1dd)]({'event':_0x1b4306[_0x1c077c(0x215)],'tableName':_0x20b7d4,'rowCount':_0xa9dc36[_0x1c077c(0x1e6)],'updateColumns':_0x4a46cc['length'],'dbType':_0x1b4306[_0x1c077c(0x1e5)]},_0x1b4306[_0x1c077c(0x20d)]),{'query':_0x2ecdbc,'values':[]};}[a0_0x50cd66(0x210)](_0x2aa459,_0x1c4296,_0x3cc63c,_0x467f61,_0x11bf7a,_0x49d983={}){const _0x5da30c=a0_0x50cd66,_0xe5a789={'AQKkx':function(_0x5aa8ab,_0x239114){return _0x5aa8ab===_0x239114;},'fMlaW':function(_0xc28bd4,_0x459f69){return _0xc28bd4===_0x459f69;},'faDBk':_0x5da30c(0x1e3),'IhlNV':_0x5da30c(0x214),'YkPNF':_0x5da30c(0x220),'zwaWS':'Batch\x20UPDATE\x20query\x20built\x20(MySQL\x20ON\x20DUPLICATE\x20KEY)'};if(_0xe5a789[_0x5da30c(0x1ef)](_0x2aa459[_0x5da30c(0x1e6)],0x0))return{'query':null,'values':[]};const _0x294968=this[_0x5da30c(0x208)](_0x49d983),_0x270a08=_0x3cc63c[_0x5da30c(0x1f1)](_0x1c39c5=>!_0x11bf7a[_0x5da30c(0x206)](_0x1c39c5)&&_0x1c39c5!==_0x467f61);if(_0xe5a789['fMlaW'](_0x270a08['length'],0x0))return logger['warn']({'event':_0xe5a789['faDBk'],'tableName':_0x1c4296},_0x5da30c(0x1fd)),{'query':null,'values':[]};const _0x563a4f=[...new Set([..._0x11bf7a,..._0x270a08])],_0x4af7fd=_0x2aa459[_0x5da30c(0x1d6)](_0x9ab535=>{const _0x3dee91=_0x5da30c,_0x390a90=_0x563a4f[_0x3dee91(0x1d6)](_0x29477d=>_0x294968(_0x9ab535[_0x29477d],_0x29477d));return'('+_0x390a90[_0x3dee91(0x212)](',\x20')+')';}),_0x93ed15=_0x270a08['map'](_0x162089=>_0x162089+'\x20=\x20VALUES('+_0x162089+')')['join'](_0xe5a789['IhlNV']),_0x3144d0=_0x5da30c(0x222)+_0x1c4296+'\x20('+_0x563a4f[_0x5da30c(0x212)](',\x20')+_0x5da30c(0x21c)+_0x4af7fd['join'](',\x0a\x20\x20\x20\x20\x20\x20\x20\x20')+'\x0a\x20\x20\x20\x20\x20\x20ON\x20DUPLICATE\x20KEY\x20UPDATE\x20'+_0x93ed15+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':_0xe5a789['YkPNF'],'tableName':_0x1c4296,'rowCount':_0x2aa459[_0x5da30c(0x1e6)],'updateColumns':_0x270a08['length'],'dbType':_0x5da30c(0x1d8)},_0xe5a789['zwaWS']),{'query':_0x3144d0,'values':[]};}[a0_0x50cd66(0x224)](_0x1e8c8b,_0x5cc632=0x64){const _0x589e0f=a0_0x50cd66,_0x30ab54={'ScfVq':function(_0x5bbecb,_0x4e27a4){return _0x5bbecb<_0x4e27a4;}},_0x5f0160=[];for(let _0x4e3071=0x0;_0x30ab54[_0x589e0f(0x1e4)](_0x4e3071,_0x1e8c8b[_0x589e0f(0x1e6)]);_0x4e3071+=_0x5cc632){_0x5f0160[_0x589e0f(0x1d9)](_0x1e8c8b['slice'](_0x4e3071,_0x4e3071+_0x5cc632));}return _0x5f0160;}}module[a0_0x50cd66(0x213)]=new UpsertBuilder();
|
|
1
|
+
const a0_0x25f1b6=a0_0x2720;(function(_0x10d051,_0xf2fa84){const _0x26d50=a0_0x2720,_0x4c5fa6=_0x10d051();while(!![]){try{const _0x14f1b9=parseInt(_0x26d50(0x110))/0x1*(parseInt(_0x26d50(0xb8))/0x2)+-parseInt(_0x26d50(0xb6))/0x3+-parseInt(_0x26d50(0xfb))/0x4*(parseInt(_0x26d50(0xda))/0x5)+parseInt(_0x26d50(0xe9))/0x6+parseInt(_0x26d50(0xfd))/0x7+parseInt(_0x26d50(0x111))/0x8*(parseInt(_0x26d50(0x10b))/0x9)+parseInt(_0x26d50(0x109))/0xa*(-parseInt(_0x26d50(0xf8))/0xb);if(_0x14f1b9===_0xf2fa84)break;else _0x4c5fa6['push'](_0x4c5fa6['shift']());}catch(_0x34f715){_0x4c5fa6['push'](_0x4c5fa6['shift']());}}}(a0_0x1a6e,0x35a4a));const {logger}=require(a0_0x25f1b6(0x112)),DB_TYPES={'POSTGRESQL':'postgresql','MYSQL':'mysql','SQLSERVER':a0_0x25f1b6(0xc9),'ORACLE':a0_0x25f1b6(0xde),'SQLITE':a0_0x25f1b6(0xd5)};class UpsertBuilder{['getDatabaseType'](){const _0x3705ab=a0_0x25f1b6,_0x662991={'qclQe':'postgresql'},_0x4bf33c=(process[_0x3705ab(0xd2)]['DB_TYPE']||'postgresql')['toLowerCase'](),_0x4cb208=Object[_0x3705ab(0xcb)](DB_TYPES);if(!_0x4cb208[_0x3705ab(0xcc)](_0x4bf33c))return logger['warn']({'event':_0x3705ab(0xbd),'provided':_0x4bf33c,'fallback':_0x662991['qclQe']},'Invalid\x20DB_TYPE:\x20'+_0x4bf33c+'.\x20Falling\x20back\x20to\x20postgresql.'),DB_TYPES['POSTGRESQL'];return _0x4bf33c;}['formatDateValue'](_0xf651c7,_0x221b75,_0x276cad=![]){const _0x36be92=a0_0x25f1b6,_0x422af2={'AlDET':'NULL::DATE'};if(_0x276cad)switch(_0x221b75){case DB_TYPES[_0x36be92(0xdc)]:return _0x422af2[_0x36be92(0xd7)];case DB_TYPES['MYSQL']:return'NULL';case DB_TYPES['SQLITE']:return'NULL';case DB_TYPES['SQLSERVER']:return'NULL';case DB_TYPES['ORACLE']:return _0x36be92(0xc1);default:return _0x36be92(0xf5);}switch(_0x221b75){case DB_TYPES['POSTGRESQL']:return _0xf651c7+_0x36be92(0xc6);case DB_TYPES['MYSQL']:return _0xf651c7;case DB_TYPES['SQLITE']:return _0xf651c7;case DB_TYPES[_0x36be92(0xc3)]:return _0x36be92(0x101)+_0xf651c7+'\x20AS\x20DATE)';case DB_TYPES['ORACLE']:return'TO_DATE('+_0xf651c7+_0x36be92(0xea);default:return _0xf651c7+_0x36be92(0xc6);}}[a0_0x25f1b6(0x10a)](_0x164cdd,_0x5894c2,_0x2fa114=![]){const _0x42889f=a0_0x25f1b6;if(_0x2fa114)switch(_0x5894c2){case DB_TYPES['POSTGRESQL']:return _0x42889f(0xe8);default:return _0x42889f(0xc1);}switch(_0x5894c2){case DB_TYPES[_0x42889f(0xdc)]:return _0x164cdd+'::BOOLEAN';case DB_TYPES[_0x42889f(0xf3)]:return _0x164cdd;case DB_TYPES['MYSQL']:return _0x164cdd;case DB_TYPES[_0x42889f(0xbe)]:return _0x164cdd;case DB_TYPES['SQLSERVER']:return _0x42889f(0x101)+_0x164cdd+'\x20AS\x20BIT)';default:return _0x164cdd+_0x42889f(0xbf);}}[a0_0x25f1b6(0xfa)](_0x4108de={}){const _0x1cae4e=a0_0x25f1b6,_0x3d537d={'tBFlE':function(_0x198956,_0x23c9de){return _0x198956===_0x23c9de;},'jkJHc':_0x1cae4e(0xec),'qBNUP':_0x1cae4e(0x103),'jpCwn':function(_0x1eeb88,_0x477f94){return _0x1eeb88===_0x477f94;},'ZoXYc':function(_0x317716,_0x5dcaf3){return _0x317716(_0x5dcaf3);}},_0x1ec4f6=this['getDatabaseType']();return(_0x2d005a,_0x13e6fc)=>{const _0x12343c=_0x1cae4e,_0x3bc664=_0x4108de[_0x13e6fc];if(_0x3d537d[_0x12343c(0xdb)](_0x2d005a,null)||_0x2d005a===undefined){if(_0x3bc664&&_0x3bc664['type']==='date')return this['formatDateValue'](null,_0x1ec4f6,!![]);if(_0x3bc664&&_0x3bc664[_0x12343c(0xca)]===_0x3d537d[_0x12343c(0xed)])return this[_0x12343c(0x10a)](null,_0x1ec4f6,!![]);return _0x12343c(0xc1);}if(typeof _0x2d005a===_0x12343c(0xf6)){const _0x593118='\x27'+_0x2d005a[_0x12343c(0xf7)](/'/g,'\x27\x27')+'\x27';if(_0x3bc664&&_0x3bc664['type']===_0x3d537d[_0x12343c(0xff)])return this[_0x12343c(0xbb)](_0x593118,_0x1ec4f6,![]);if(_0x3bc664&&_0x3bc664[_0x12343c(0xca)]===_0x3d537d[_0x12343c(0xed)])return this['formatBooleanValue'](_0x593118,_0x1ec4f6,![]);return _0x593118;}if(_0x3d537d['jpCwn'](typeof _0x2d005a,'number'))return _0x2d005a;if(typeof _0x2d005a===_0x12343c(0xec))return _0x2d005a;const _0x2b845a='\x27'+_0x3d537d[_0x12343c(0xdd)](String,_0x2d005a)['replace'](/'/g,'\x27\x27')+'\x27';if(_0x3bc664&&_0x3d537d['tBFlE'](_0x3bc664[_0x12343c(0xca)],_0x3d537d[_0x12343c(0xff)]))return this['formatDateValue'](_0x2b845a,_0x1ec4f6,![]);return _0x2b845a;};}['buildBatchInsert'](_0x4ee6fc,_0x3827b7,_0x4a0bb5,_0x542677={}){const _0x1ad1b2=a0_0x25f1b6,_0x42bcfb={'pcZjo':function(_0x2de674,_0x411751){return _0x2de674===_0x411751;}},_0x35cd70=this['getDatabaseType']();if(_0x42bcfb[_0x1ad1b2(0xe0)](_0x35cd70,DB_TYPES[_0x1ad1b2(0xf3)]))return this[_0x1ad1b2(0xd4)](_0x4ee6fc,_0x3827b7,_0x4a0bb5,_0x542677);return this[_0x1ad1b2(0xc7)](_0x4ee6fc,_0x3827b7,_0x4a0bb5,_0x542677);}['_buildBatchInsertPostgres'](_0x8193cc,_0x41c018,_0x22192e,_0x51ca4e={}){const _0x299505=a0_0x25f1b6,_0x3f0757={'XmlrG':function(_0x36e97e,_0x48f954){return _0x36e97e===_0x48f954;},'uIzoV':'batch_insert_built'};if(_0x3f0757[_0x299505(0xb5)](_0x8193cc['length'],0x0))return{'query':null,'values':[]};const _0x14cdd6=this[_0x299505(0xfa)](_0x51ca4e),_0x1127aa=_0x8193cc[_0x299505(0xee)](_0x5110d4=>{const _0x32d13f=_0x299505,_0x55bae=_0x22192e[_0x32d13f(0xee)](_0x368c15=>_0x14cdd6(_0x5110d4[_0x368c15],_0x368c15));return'('+_0x55bae[_0x32d13f(0xc8)](',\x20')+')';}),_0xbb5c34='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x41c018+'\x20('+_0x22192e[_0x299505(0xc8)](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x1127aa[_0x299505(0xc8)](_0x299505(0x113))+_0x299505(0x10e);return logger[_0x299505(0xcf)]({'event':_0x3f0757['uIzoV'],'tableName':_0x41c018,'rowCount':_0x8193cc[_0x299505(0xc2)],'dbType':_0x299505(0xe4)},'Batch\x20INSERT\x20query\x20built\x20(PostgreSQL)'),{'query':_0xbb5c34,'values':[]};}[a0_0x25f1b6(0xd4)](_0x3e347b,_0x3e5669,_0x22f2ab,_0x1976a9={}){const _0x32b3f6=a0_0x25f1b6,_0x4247f0={'SYnBv':function(_0x8a0cbf,_0x3e8af5){return _0x8a0cbf===_0x3e8af5;},'doerB':'Batch\x20INSERT\x20query\x20built\x20(Oracle)'};if(_0x4247f0[_0x32b3f6(0xe1)](_0x3e347b['length'],0x0))return{'query':null,'values':[]};const _0x4b1098=this[_0x32b3f6(0xfa)](_0x1976a9),_0x36f1f7=_0x3e347b['map'](_0x34e50c=>{const _0xdb153b=_0x32b3f6,_0x19e32c=_0x22f2ab[_0xdb153b(0xee)](_0x4367ba=>_0x4b1098(_0x34e50c[_0x4367ba],_0x4367ba));return'\x20\x20INTO\x20'+_0x3e5669+'\x20('+_0x22f2ab[_0xdb153b(0xc8)](',\x20')+_0xdb153b(0xef)+_0x19e32c[_0xdb153b(0xc8)](',\x20')+')';}),_0x172208=_0x32b3f6(0xb9)+_0x36f1f7[_0x32b3f6(0xc8)]('\x0a')+'\x0aSELECT\x201\x20FROM\x20DUAL';return logger[_0x32b3f6(0xcf)]({'event':'batch_insert_built','tableName':_0x3e5669,'rowCount':_0x3e347b[_0x32b3f6(0xc2)],'dbType':_0x32b3f6(0xde)},_0x4247f0[_0x32b3f6(0xf9)]),{'query':_0x172208,'values':[]};}['buildBatchUpdate'](_0x422d49,_0x53ad38,_0x346469,_0x2d903d,_0x3faa2b,_0x136899={}){const _0x93bdb7=a0_0x25f1b6,_0x32cc0a={'NGtFU':function(_0x2e6d38,_0x5c2546){return _0x2e6d38===_0x5c2546;}},_0x3df503=this[_0x93bdb7(0xe3)]();if(_0x32cc0a[_0x93bdb7(0xf4)](_0x3df503,DB_TYPES['ORACLE']))return this[_0x93bdb7(0xf2)](_0x422d49,_0x53ad38,_0x346469,_0x2d903d,_0x3faa2b,_0x136899);if(_0x32cc0a[_0x93bdb7(0xf4)](_0x3df503,DB_TYPES['MYSQL']))return this[_0x93bdb7(0xf0)](_0x422d49,_0x53ad38,_0x346469,_0x2d903d,_0x3faa2b,_0x136899);return this[_0x93bdb7(0x107)](_0x422d49,_0x53ad38,_0x346469,_0x2d903d,_0x3faa2b,_0x136899);}[a0_0x25f1b6(0x107)](_0x211f4d,_0x310999,_0xb35e18,_0x2457d9,_0x5b7235,_0x2d1c3c={}){const _0x57deba=a0_0x25f1b6,_0x68f814={'NQvzI':function(_0xb471d,_0xbf5b79){return _0xb471d===_0xbf5b79;},'oSzIo':_0x57deba(0xd3),'pHXTD':'\x20AND\x20','spBLx':_0x57deba(0xeb)};if(_0x211f4d[_0x57deba(0xc2)]===0x0)return{'query':null,'values':[]};const _0x5e85fd=this['buildEscapeFunction'](_0x2d1c3c),_0x41e22a=_0xb35e18['filter'](_0x15f4f6=>!_0x5b7235['includes'](_0x15f4f6)&&_0x15f4f6!==_0x2457d9);if(_0x68f814[_0x57deba(0xd6)](_0x41e22a['length'],0x0))return logger[_0x57deba(0xc5)]({'event':'batch_update_no_columns','tableName':_0x310999},_0x68f814['oSzIo']),{'query':null,'values':[]};const _0x21a894=_0x211f4d[_0x57deba(0xee)](_0x30dd58=>{const _0x4ad332=_0x57deba,_0x15bc50=[..._0x5b7235,..._0x41e22a],_0x3d6f43=_0x15bc50[_0x4ad332(0xee)](_0x1a3a1b=>_0x5e85fd(_0x30dd58[_0x1a3a1b],_0x1a3a1b));return'('+_0x3d6f43['join'](',\x20')+')';}),_0x22457a=_0x41e22a['map'](_0x1b700f=>_0x1b700f+'\x20=\x20v.'+_0x1b700f)[_0x57deba(0xc8)](_0x57deba(0xe7)),_0x5be3ee=_0x5b7235['map'](_0x5924ad=>'t.'+_0x5924ad+_0x57deba(0xba)+_0x5924ad)[_0x57deba(0xc8)](_0x68f814[_0x57deba(0x10c)]),_0x3a2b70='\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0x310999+_0x57deba(0xdf)+_0x22457a+'\x0a\x20\x20\x20\x20\x20\x20FROM\x20(VALUES\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x21a894['join'](_0x68f814['spBLx'])+_0x57deba(0xce)+[..._0x5b7235,..._0x41e22a]['join'](',\x20')+_0x57deba(0x104)+_0x5be3ee+_0x57deba(0x10e);return logger[_0x57deba(0xcf)]({'event':_0x57deba(0xd9),'tableName':_0x310999,'rowCount':_0x211f4d[_0x57deba(0xc2)],'updateColumns':_0x41e22a[_0x57deba(0xc2)],'dbType':'postgresql'},_0x57deba(0x100)),{'query':_0x3a2b70,'values':[]};}[a0_0x25f1b6(0xf2)](_0x182918,_0x581fc3,_0x397f63,_0x4923dd,_0x26031c,_0x4553e0={}){const _0x618b11=a0_0x25f1b6,_0x3ac5ab={'YCSlB':function(_0x440b47,_0x1236a4){return _0x440b47===_0x1236a4;},'EtRfW':function(_0x51a2c1,_0x494753){return _0x51a2c1===_0x494753;},'JFNAt':'batch_update_no_columns','qnAAQ':'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)','MyiFE':'\x0a\x20\x20\x20\x20UNION\x20ALL\x0a','UzXfq':'oracle'};if(_0x182918['length']===0x0)return{'query':null,'values':[]};const _0x319f9a=this['buildEscapeFunction'](_0x4553e0),_0x35eead=_0x397f63[_0x618b11(0x105)](_0x3e3c5d=>!_0x26031c['includes'](_0x3e3c5d)&&_0x3e3c5d!==_0x4923dd);if(_0x3ac5ab[_0x618b11(0xc4)](_0x35eead[_0x618b11(0xc2)],0x0))return logger[_0x618b11(0xc5)]({'event':_0x3ac5ab[_0x618b11(0xc0)],'tableName':_0x581fc3},_0x3ac5ab[_0x618b11(0xd0)]),{'query':null,'values':[]};const _0x3778a9=[..._0x26031c,..._0x35eead],_0x5a0d1a=_0x182918['map']((_0x58477b,_0x2e71a5)=>{const _0x283abb=_0x618b11,_0xb22487={'BbzEq':function(_0x18e210,_0x5892a6){const _0x2c3a59=a0_0x2720;return _0x3ac5ab[_0x2c3a59(0xfc)](_0x18e210,_0x5892a6);}},_0x33b574=_0x3778a9['map'](_0x21878a=>{const _0x1d4118=_0x319f9a(_0x58477b[_0x21878a],_0x21878a);return _0xb22487['BbzEq'](_0x2e71a5,0x0)?_0x1d4118+'\x20AS\x20'+_0x21878a:_0x1d4118;});return'\x20\x20\x20\x20SELECT\x20'+_0x33b574['join'](',\x20')+_0x283abb(0xe6);}),_0x3d0cfb=_0x35eead[_0x618b11(0xee)](_0x379064=>'t.'+_0x379064+_0x618b11(0xba)+_0x379064)['join'](_0x618b11(0xe7)),_0xe4ea30=_0x26031c['map'](_0xe5fef8=>'t.'+_0xe5fef8+'\x20=\x20v.'+_0xe5fef8)['join'](_0x618b11(0xe2)),_0x2b289d=_0x618b11(0xe5)+_0x581fc3+'\x20t\x0a\x20\x20\x20\x20\x20\x20USING\x20(\x0a'+_0x5a0d1a['join'](_0x3ac5ab[_0x618b11(0x10f)])+_0x618b11(0x106)+_0xe4ea30+_0x618b11(0xbc)+_0x3d0cfb+_0x618b11(0x10e);return logger[_0x618b11(0xcf)]({'event':_0x618b11(0xd9),'tableName':_0x581fc3,'rowCount':_0x182918[_0x618b11(0xc2)],'updateColumns':_0x35eead[_0x618b11(0xc2)],'dbType':_0x3ac5ab[_0x618b11(0x102)]},_0x618b11(0xcd)),{'query':_0x2b289d,'values':[]};}[a0_0x25f1b6(0xf0)](_0x458094,_0xc03672,_0x43c60f,_0xed13de,_0x45fdd6,_0x279b8f={}){const _0x4e25cb=a0_0x25f1b6,_0x3cecc8={'htSkD':function(_0x5cfd71,_0x150e97){return _0x5cfd71===_0x150e97;},'sunKy':_0x4e25cb(0xfe)};if(_0x3cecc8['htSkD'](_0x458094[_0x4e25cb(0xc2)],0x0))return{'query':null,'values':[]};const _0x6db82=this['buildEscapeFunction'](_0x279b8f),_0x228d90=_0x43c60f['filter'](_0x1a8584=>!_0x45fdd6['includes'](_0x1a8584)&&_0x1a8584!==_0xed13de);if(_0x228d90['length']===0x0)return logger[_0x4e25cb(0xc5)]({'event':'batch_update_no_columns','tableName':_0xc03672},_0x4e25cb(0xd3)),{'query':null,'values':[]};const _0x49da91=[...new Set([..._0x45fdd6,..._0x228d90])],_0x52298e=_0x458094['map'](_0xd9e4ae=>{const _0x212f6f=_0x4e25cb,_0x2f1b9d=_0x49da91[_0x212f6f(0xee)](_0x2f1878=>_0x6db82(_0xd9e4ae[_0x2f1878],_0x2f1878));return'('+_0x2f1b9d['join'](',\x20')+')';}),_0x58edd4=_0x228d90['map'](_0xeb3cf4=>_0xeb3cf4+_0x4e25cb(0xf1)+_0xeb3cf4+')')[_0x4e25cb(0xc8)](',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20'),_0xbdad36=_0x4e25cb(0x10d)+_0xc03672+'\x20('+_0x49da91[_0x4e25cb(0xc8)](',\x20')+_0x4e25cb(0xd1)+_0x52298e['join'](',\x0a\x20\x20\x20\x20\x20\x20\x20\x20')+_0x4e25cb(0x108)+_0x58edd4+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':_0x4e25cb(0xd9),'tableName':_0xc03672,'rowCount':_0x458094[_0x4e25cb(0xc2)],'updateColumns':_0x228d90[_0x4e25cb(0xc2)],'dbType':_0x3cecc8['sunKy']},'Batch\x20UPDATE\x20query\x20built\x20(MySQL\x20ON\x20DUPLICATE\x20KEY)'),{'query':_0xbdad36,'values':[]};}['chunkRows'](_0x4f3e1b,_0x35aa6a=0x64){const _0x153bc5=a0_0x25f1b6,_0x5a1463={'BKLjz':function(_0x36c83e,_0x4c95a7){return _0x36c83e<_0x4c95a7;},'QiqIh':function(_0x49df2c,_0x4ea38c){return _0x49df2c+_0x4ea38c;}},_0x3eee73=[];for(let _0xb1f272=0x0;_0x5a1463['BKLjz'](_0xb1f272,_0x4f3e1b[_0x153bc5(0xc2)]);_0xb1f272+=_0x35aa6a){_0x3eee73[_0x153bc5(0xb7)](_0x4f3e1b['slice'](_0xb1f272,_0x5a1463['QiqIh'](_0xb1f272,_0x35aa6a)));}return _0x3eee73;}}function a0_0x1a6e(){const _0x2edc61=['zM9YBwf0rgf0zvzHBhvL','kqOGicaGicbxsevoie1bveniruqGveHftIbvuerbveuGu0vuia','Aw52ywXPzf9KyL90ExbL','u1fmsvrf','oJPct09mrufo','sKzoqxq','tLvmta','BgvUz3rO','u1fmu0vsvKvs','rxrszLC','D2fYBG','oJPeqvrf','x2j1AwXKqMf0y2HjBNnLCNrqB3n0z3jLCW','AM9PBG','C3fSC2vYDMvY','DhLWzq','DMfSDwvZ','Aw5JBhvKzxm','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHpCMfJBguGtuvsr0uP','cIaGicaGicKGqvmGDIG','zgvIDwC','Cw5bqve','kqOGicaGicbwquXvrvmG','zw52','tM8Gy29SDw1UCYb0BYb1CgrHDguGkgfSBcbJB2X1Bw5ZigfYzsb1ChnLCNqGA2v5CYbVCIbWCMLTyxj5igTLEsK','x2j1AwXKqMf0y2HjBNnLCNrpCMfJBgu','C3fSAxrL','tLf2EKK','qwXervq','zxHWB3j0CW','yMf0y2HFDxbKyxrLx2j1AwX0','mJKYmtv2qxHlrfa','DejgBeu','ue9tveDsrvnrta','wM9ywwm','B3jHy2XL','ieftihqkicaGicaGu0vuia','CgnAAM8','u1LUqNy','ieforca','z2v0rgf0ywjHC2vuExbL','Cg9ZDgDYzxnXBa','cIaGicaGie1fuKDfieLove8G','iezst00Grfvbta','laOGicaGicaGica','tLvmtdO6qK9ptevbtG','mtqZnZi5nejSquDOwa','lcaNwvLzws1nts1ercCP','laOGicaGicaGia','yM9VBgvHBG','AMTksgm','BwfW','ksbwquXvrvmGka','x2j1AwXKqMf0y2HvCgrHDgvnExnXBa','id0GvKfmvuvtka','x2j1AwXKqMf0y2HvCgrHDgvpCMfJBgu','t1jbq0Xf','tKD0rLu','tLvmtdO6refurq','C3rYAw5N','CMvWBgfJzq','ndu3nZm1m1PUwhHLvq','zg9LCKi','yNvPBgrfC2nHCgvgDw5JDgLVBG','mtuYCfzHA1bm','wuntBei','mJa4nJi1ovPhz2jeCa','BxLZCwW','Cujovva','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','q0ftvcG','vxPyzNe','zgf0zq','kqOGicaGicbxsevsrsa','zMLSDgvY','cIaGicaGicKGDGOGicaGicbptIaO','x2j1AwXKqMf0y2HvCgrHDgvqB3n0z3jLCW','cIaGicaGie9oiervueXjq0fursblrvKGvvbeqvrfia','mtbru1rHtfC','zM9YBwf0qM9VBgvHBLzHBhvL','mtyZntnwquHlAw8','CeHyveq','cIaGicaGieLou0vsvcbjtLrpia','cIaGica','txLPrKu','n215Evb1sa','mtqWmgHUu1jcta','lI9SB2DNzxi','laOGicaGicaG','wg1SCKC','mZCXota3sKLSDM9H','ChvZAa','mZyWodj1rNfsBLG','su5trvjuiefmtaO','id0GDI4'];a0_0x1a6e=function(){return _0x2edc61;};return a0_0x1a6e();}function a0_0x2720(_0x3041ac,_0x26527a){_0x3041ac=_0x3041ac-0xb5;const _0x1a6e2d=a0_0x1a6e();let _0x27204e=_0x1a6e2d[_0x3041ac];if(a0_0x2720['aQdAup']===undefined){var _0x53760f=function(_0x54893b){const _0x5d61eb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x517243='',_0x813df4='';for(let _0x69aea4=0x0,_0x5edb7d,_0x44aac4,_0x58273d=0x0;_0x44aac4=_0x54893b['charAt'](_0x58273d++);~_0x44aac4&&(_0x5edb7d=_0x69aea4%0x4?_0x5edb7d*0x40+_0x44aac4:_0x44aac4,_0x69aea4++%0x4)?_0x517243+=String['fromCharCode'](0xff&_0x5edb7d>>(-0x2*_0x69aea4&0x6)):0x0){_0x44aac4=_0x5d61eb['indexOf'](_0x44aac4);}for(let _0x4c277d=0x0,_0x5a7fee=_0x517243['length'];_0x4c277d<_0x5a7fee;_0x4c277d++){_0x813df4+='%'+('00'+_0x517243['charCodeAt'](_0x4c277d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x813df4);};a0_0x2720['ONAKQS']=_0x53760f,a0_0x2720['enJlhb']={},a0_0x2720['aQdAup']=!![];}const _0x3c3257=_0x1a6e2d[0x0],_0x8cf21a=_0x3041ac+_0x3c3257,_0x3281a7=a0_0x2720['enJlhb'][_0x8cf21a];return!_0x3281a7?(_0x27204e=a0_0x2720['ONAKQS'](_0x27204e),a0_0x2720['enJlhb'][_0x8cf21a]=_0x27204e):_0x27204e=_0x3281a7,_0x27204e;}module[a0_0x25f1b6(0xd8)]=new UpsertBuilder();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x39d04d,_0x2367a8){const _0x4d3def=a0_0xad50,_0x3a99bf=_0x39d04d();while(!![]){try{const _0x3e1bea=parseInt(_0x4d3def(0x143))/0x1+parseInt(_0x4d3def(0x132))/0x2+parseInt(_0x4d3def(0x142))/0x3*(-parseInt(_0x4d3def(0x151))/0x4)+parseInt(_0x4d3def(0x135))/0x5*(-parseInt(_0x4d3def(0x14f))/0x6)+parseInt(_0x4d3def(0x15a))/0x7*(parseInt(_0x4d3def(0x13e))/0x8)+parseInt(_0x4d3def(0x131))/0x9+-parseInt(_0x4d3def(0x13a))/0xa;if(_0x3e1bea===_0x2367a8)break;else _0x3a99bf['push'](_0x3a99bf['shift']());}catch(_0x371dee){_0x3a99bf['push'](_0x3a99bf['shift']());}}}(a0_0x17f0,0x1afd8));const axios=require('axios'),DEFAULT_TIMEOUT=0x2710,DEFAULT_METHOD='POST',DEFAULT_HOST='localhost',DEFAULT_PORT=0xbb8;function resolveTemplateString(_0x4f65af,_0x4fa621){const _0x441281=a0_0xad50,_0x24c524={'BCupH':function(_0x410259,_0x3e1427){return _0x410259!==_0x3e1427;},'gtTKB':_0x441281(0x169),'jDyjb':_0x441281(0x14c)};if(typeof _0x4f65af!==_0x24c524[_0x441281(0x134)])return _0x4f65af;return _0x4f65af[_0x441281(0x133)](/\{\{([^}]+)\}\}/g,(_0x3e1b2a,_0x961297)=>{const _0x3f38cf=_0x441281,_0x515dab=_0x961297['trim'](),_0x4998b4=getNestedValue(_0x4fa621,_0x515dab);if(_0x24c524['BCupH'](_0x4998b4,undefined)&&_0x24c524['BCupH'](_0x4998b4,null))return typeof _0x4998b4===_0x24c524[_0x3f38cf(0x146)]?JSON[_0x3f38cf(0x14e)](_0x4998b4):String(_0x4998b4);return _0x3e1b2a;});}function a0_0xad50(_0x3b184c,_0x29c12c){_0x3b184c=_0x3b184c-0x131;const _0x17f0c6=a0_0x17f0();let _0xad5097=_0x17f0c6[_0x3b184c];if(a0_0xad50['cosAva']===undefined){var _0x4a3fb6=function(_0x5d2850){const _0x53294c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2d7158='',_0x2d8f46='';for(let _0x2efe3d=0x0,_0x288317,_0x429ada,_0x4f7e1a=0x0;_0x429ada=_0x5d2850['charAt'](_0x4f7e1a++);~_0x429ada&&(_0x288317=_0x2efe3d%0x4?_0x288317*0x40+_0x429ada:_0x429ada,_0x2efe3d++%0x4)?_0x2d7158+=String['fromCharCode'](0xff&_0x288317>>(-0x2*_0x2efe3d&0x6)):0x0){_0x429ada=_0x53294c['indexOf'](_0x429ada);}for(let _0x267c33=0x0,_0x416839=_0x2d7158['length'];_0x267c33<_0x416839;_0x267c33++){_0x2d8f46+='%'+('00'+_0x2d7158['charCodeAt'](_0x267c33)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d8f46);};a0_0xad50['jEgppK']=_0x4a3fb6,a0_0xad50['HORQGO']={},a0_0xad50['cosAva']=!![];}const _0x204052=_0x17f0c6[0x0],_0x18cedf=_0x3b184c+_0x204052,_0x3282c6=a0_0xad50['HORQGO'][_0x18cedf];return!_0x3282c6?(_0xad5097=a0_0xad50['jEgppK'](_0xad5097),a0_0xad50['HORQGO'][_0x18cedf]=_0xad5097):_0xad5097=_0x3282c6,_0xad5097;}function resolveTemplateVariables(_0x58c695,_0x4aae4c){const _0x1c4197=a0_0xad50,_0x1b680b={'joMpI':function(_0xe35aba,_0x5a9754){return _0xe35aba===_0x5a9754;},'lbGWg':'string'};if(_0x1b680b['joMpI'](typeof _0x58c695,_0x1b680b['lbGWg']))return resolveTemplateString(_0x58c695,_0x4aae4c);if(Array['isArray'](_0x58c695))return _0x58c695[_0x1c4197(0x13f)](_0xd814d0=>resolveTemplateVariables(_0xd814d0,_0x4aae4c));if(_0x58c695!==null&&typeof _0x58c695===_0x1c4197(0x169)){const _0xabb459={};for(const [_0x101c06,_0x954c61]of Object['entries'](_0x58c695)){_0xabb459[_0x101c06]=resolveTemplateVariables(_0x954c61,_0x4aae4c);}return _0xabb459;}return _0x58c695;}function a0_0x17f0(){const _0x4f3f66=['mtbRww92BM8','sg9VAYbLEgvJDxrLzcbZDwnJzxnZzNvSBhK','BwvZC2fNzq','Dg9mB3DLCKnHC2u','yxbP','mJa1nJuYmeTuzKfeBW','C296zgS','ChvZAa','sfruuca','odq1ndy0ugLYDNLl','BwfW','q0zhB2S','yxv0AeHLywrLCG','nMrLuMTxuq','otuXmtvxELfpu3O','C3rHCNrZv2L0Aa','tM9UlwjSB2nRAw5NigHVB2SGzMfPBgvKicHPz25VCMvKktOG','z3rus0i','DxnLCKLK','DxjS','Ahr0Chm6lY8','CMvKDwnL','uMvZDezVCMDLlvDVCMTMBg93lZeUma','C3rYAw5N','iokgKIa','C3rYAw5NAwz5','mZe1mdKWDhjqwhHU','CMvTyxjRCW','mte4nduYwenqyvrl','BgvUz3rO','yM9KEq','yMXVy2TPBMC','AgvHzgvYCW','sg9VAYbZA2LWCgvKoIb1BNn1ChbVCNrLzcb0ExbL','Bwv0Ag9K','Egj3sgW','seLuzNq','n2XMsNLhBa','DhLWzq','DMnLu24','qxv0Ag9YAxPHDgLVBG','sg9VAYbLEgvJDxrPB24GzMfPBgvK','CMvXDwvZDerHDge','u0vsvKvsx0ferfjfu1m','AxnbCNjHEq','B2XKu3rHDhvZ','C3vJy2vZCW','v29YA2zSB3CGAg9VAYbMywLSzwq6ia','yNvWBNK','l2fWAs8','BMv3u3rHDhvZ','C3rHDhvZ','B2jQzwn0','q2voyMW','zw52','mte2mJuZmffqtMDhCW','mZaWotG0zM56Bhf5','CMvWBgfJzq','AKr5AMi'];a0_0x17f0=function(){return _0x4f3f66;};return a0_0x17f0();}function getNestedValue(_0x14f8e0,_0x27807b){const _0x14c416=a0_0xad50;return _0x27807b['split']('.')[_0x14c416(0x14a)]((_0x117498,_0x26dad4)=>{return _0x117498&&_0x117498[_0x26dad4]!==undefined?_0x117498[_0x26dad4]:undefined;},_0x14f8e0);}function resolveUrl(_0x47a5b3,_0xb3ecf0){const _0xa3e186=a0_0xad50,_0x543446={'HITft':'http://','zSvmX':_0xa3e186(0x149),'vceSn':_0xa3e186(0x166)};if(!_0x47a5b3||typeof _0x47a5b3!==_0xa3e186(0x14c))return _0x47a5b3;if(_0x47a5b3['startsWith'](_0x543446[_0xa3e186(0x159)])||_0x47a5b3[_0xa3e186(0x144)](_0x543446['zSvmX']))return _0x47a5b3;const _0x4119fa=process['env'][_0xa3e186(0x160)]||process['env']['HOST']||DEFAULT_HOST,_0x3bff06=process[_0xa3e186(0x16b)]['PORT']||DEFAULT_PORT,_0x25f73d='http://'+_0x4119fa+':'+_0x3bff06;if(_0x47a5b3[_0xa3e186(0x144)](_0x543446[_0xa3e186(0x15c)]))return''+_0x25f73d+_0x47a5b3;if(_0x47a5b3['startsWith']('/')){const _0x44f2c1=_0xb3ecf0&&_0xb3ecf0['project']||'';if(_0x44f2c1)return _0x25f73d+_0xa3e186(0x166)+_0x44f2c1+_0x47a5b3;return''+_0x25f73d+_0x47a5b3;}return _0x47a5b3;}function buildHookContext(_0x355c05){const _0x2460be=a0_0xad50;return{'id':_0x355c05['id']||'','newStatus':_0x355c05[_0x2460be(0x167)]||'','oldStatus':_0x355c05[_0x2460be(0x162)]||'','remarks':_0x355c05[_0x2460be(0x150)]||'','tableName':_0x355c05['tableName']||'','user_id':_0x355c05[_0x2460be(0x147)]||'system','timestamp':new Date()['toISOString'](),'record':_0x355c05['record']||{},'requestData':_0x355c05[_0x2460be(0x15f)]||{},'project':_0x355c05['project']||'','authHeader':_0x355c05['authHeader']||null};}async function executeHook(_0x380f16,_0x46b073){const _0x4f2e18=a0_0xad50,_0x1cc874={'sozdk':function(_0x292ea3,_0x50d72a){return _0x292ea3!==_0x50d72a;},'CeNbl':_0x4f2e18(0x139),'uWTkK':_0x4f2e18(0x156),'bupny':function(_0x268185,_0x574eb7){return _0x268185===_0x574eb7;},'xbwHl':function(_0x12405b,_0x1030e5,_0x47c536){return _0x12405b(_0x1030e5,_0x47c536);},'CFGok':function(_0x58fb00,_0x7eb3a8){return _0x58fb00&&_0x7eb3a8;}};if(!_0x380f16||_0x1cc874[_0x4f2e18(0x13b)](_0x380f16[_0x4f2e18(0x15b)],_0x1cc874[_0x4f2e18(0x16a)]))return{'success':!![],'message':_0x1cc874['uWTkK']};const _0x38fef7=_0x1cc874[_0x4f2e18(0x165)](_0x380f16[_0x4f2e18(0x154)],!![]),_0x5df2c6=(_0x380f16[_0x4f2e18(0x157)]||DEFAULT_METHOD)['toUpperCase'](),_0x5724dd=_0x380f16['timeout']||DEFAULT_TIMEOUT,_0x53b800=_0x1cc874['xbwHl'](resolveTemplateString,_0x380f16[_0x4f2e18(0x148)],_0x46b073),_0xa13cba=resolveUrl(_0x53b800,_0x46b073),_0x264e0c=_0x380f16['body']?_0x1cc874[_0x4f2e18(0x158)](resolveTemplateVariables,_0x380f16[_0x4f2e18(0x153)],_0x46b073):{},_0x6c21d2=_0x380f16[_0x4f2e18(0x155)]?resolveTemplateVariables(_0x380f16[_0x4f2e18(0x155)],_0x46b073):{},_0x3c6096=_0x6c21d2&&(_0x6c21d2[_0x4f2e18(0x15d)]!==undefined||_0x1cc874[_0x4f2e18(0x13b)](_0x6c21d2['authorization'],undefined)),_0x53de45=_0x1cc874[_0x4f2e18(0x140)](!_0x3c6096,_0x46b073)&&_0x46b073[_0x4f2e18(0x141)]?{'Authorization':_0x46b073['authHeader']}:{};try{const _0x9402f7=await axios({'method':_0x5df2c6[_0x4f2e18(0x138)](),'url':_0xa13cba,'data':_0x264e0c,'headers':{'Content-Type':'application/json','User-Agent':_0x4f2e18(0x14b),..._0x53de45,..._0x6c21d2},'timeout':_0x5724dd});return console['log']('Workflow\x20hook\x20executed:\x20'+_0x5df2c6+'\x20'+_0xa13cba+_0x4f2e18(0x14d)+_0x9402f7['status']),{'success':!![],'message':_0x4f2e18(0x136),'status':_0x9402f7[_0x4f2e18(0x168)],'url':_0xa13cba};}catch(_0x7465){const _0xc91e32=_0x7465['response']?_0x4f2e18(0x13d)+_0x7465['response']['status']+':\x20'+_0x7465['response']['statusText']:_0x7465[_0x4f2e18(0x137)];console['error'](_0x4f2e18(0x164)+_0x5df2c6+'\x20'+_0xa13cba+_0x4f2e18(0x14d)+_0xc91e32);if(_0x38fef7)return{'success':![],'message':'Blocking\x20hook\x20failed:\x20'+_0xc91e32,'error':_0xc91e32,'url':_0xa13cba};return console['warn'](_0x4f2e18(0x145)+_0xc91e32),{'success':!![],'message':'Non-blocking\x20hook\x20failed\x20(ignored):\x20'+_0xc91e32,'warning':_0xc91e32,'url':_0xa13cba};}}async function executeHooks(_0x5c3709,_0x851edd){const _0x15de07=a0_0xad50;if(!_0x5c3709||!Array[_0x15de07(0x161)](_0x5c3709)||_0x5c3709[_0x15de07(0x152)]===0x0)return{'success':!![],'results':[],'hooksExecuted':0x0};const _0x2e2fda=[];for(const _0x19d24a of _0x5c3709){const _0x449c85=await executeHook(_0x19d24a,_0x851edd);_0x2e2fda[_0x15de07(0x13c)](_0x449c85);if(!_0x449c85[_0x15de07(0x163)])return{'success':![],'error':_0x449c85['message']||_0x15de07(0x15e),'results':_0x2e2fda,'hooksExecuted':_0x2e2fda[_0x15de07(0x152)]};}return{'success':!![],'results':_0x2e2fda,'hooksExecuted':_0x2e2fda['length']};}module['exports']={'resolveTemplateString':resolveTemplateString,'resolveTemplateVariables':resolveTemplateVariables,'resolveUrl':resolveUrl,'buildHookContext':buildHookContext,'executeHook':executeHook,'executeHooks':executeHooks};
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": "2.0.0",
|
|
3
|
-
"lastUpdated": "2026-02-26T19:33:04.280Z",
|
|
4
|
-
"totalModules": 5,
|
|
5
|
-
"totalEndpoints": 5,
|
|
6
|
-
"modules": {
|
|
7
|
-
"test-mysql": {
|
|
8
|
-
"endpointCount": 1,
|
|
9
|
-
"databaseType": "mysql",
|
|
10
|
-
"lastUpdated": "2026-02-26T19:33:04.279Z",
|
|
11
|
-
"createdAt": "2026-02-26T19:33:04.269Z"
|
|
12
|
-
},
|
|
13
|
-
"test-oracle-workbench": {
|
|
14
|
-
"endpointCount": 1,
|
|
15
|
-
"databaseType": "oracle"
|
|
16
|
-
},
|
|
17
|
-
"test-oracle": {
|
|
18
|
-
"endpointCount": 1,
|
|
19
|
-
"databaseType": "oracle",
|
|
20
|
-
"lastUpdated": "2026-02-26T19:33:03.126Z",
|
|
21
|
-
"createdAt": "2026-02-26T19:33:03.116Z"
|
|
22
|
-
},
|
|
23
|
-
"test-pg-workbench": {
|
|
24
|
-
"endpointCount": 1,
|
|
25
|
-
"databaseType": "postgres"
|
|
26
|
-
},
|
|
27
|
-
"test-pg": {
|
|
28
|
-
"endpointCount": 1,
|
|
29
|
-
"databaseType": "postgres",
|
|
30
|
-
"lastUpdated": "2026-02-26T19:32:57.522Z",
|
|
31
|
-
"createdAt": "2026-02-26T19:32:57.513Z"
|
|
32
|
-
}
|
|
33
|
-
},
|
|
34
|
-
"databaseTypes": {
|
|
35
|
-
"mysql": 1,
|
|
36
|
-
"oracle": 2,
|
|
37
|
-
"postgres": 2
|
|
38
|
-
},
|
|
39
|
-
"summary": {
|
|
40
|
-
"endpointsByAction": {
|
|
41
|
-
"datatables": 3,
|
|
42
|
-
"create": 3,
|
|
43
|
-
"update": 3,
|
|
44
|
-
"delete": 3,
|
|
45
|
-
"get": 3,
|
|
46
|
-
"lookup": 3,
|
|
47
|
-
"read": 3,
|
|
48
|
-
"export": 3,
|
|
49
|
-
"import": 3
|
|
50
|
-
},
|
|
51
|
-
"endpointsByDatabase": {
|
|
52
|
-
"mysql": 1,
|
|
53
|
-
"oracle": 1,
|
|
54
|
-
"postgres": 1
|
|
55
|
-
},
|
|
56
|
-
"recentActivity": []
|
|
57
|
-
}
|
|
58
|
-
}
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"projectName": "test-mysql",
|
|
3
|
-
"databaseType": "mysql",
|
|
4
|
-
"endpoints": {
|
|
5
|
-
"category": {
|
|
6
|
-
"tableName": "category",
|
|
7
|
-
"displayName": "Category",
|
|
8
|
-
"action": {
|
|
9
|
-
"datatables": true,
|
|
10
|
-
"create": true,
|
|
11
|
-
"update": true,
|
|
12
|
-
"delete": true,
|
|
13
|
-
"get": true,
|
|
14
|
-
"lookup": true,
|
|
15
|
-
"read": true,
|
|
16
|
-
"export": true,
|
|
17
|
-
"import": true,
|
|
18
|
-
"adjust": false,
|
|
19
|
-
"aggregate": false,
|
|
20
|
-
"createComposite": false,
|
|
21
|
-
"updateComposite": false,
|
|
22
|
-
"readComposite": false
|
|
23
|
-
},
|
|
24
|
-
"primaryKey": "category_id",
|
|
25
|
-
"fieldName": [
|
|
26
|
-
"category_id",
|
|
27
|
-
"category_code",
|
|
28
|
-
"category_name",
|
|
29
|
-
"description",
|
|
30
|
-
"is_active"
|
|
31
|
-
],
|
|
32
|
-
"fieldValidation": [
|
|
33
|
-
{
|
|
34
|
-
"name": "category_id",
|
|
35
|
-
"type": "uuid",
|
|
36
|
-
"constraints": {
|
|
37
|
-
"primaryKey": true,
|
|
38
|
-
"autoGenerate": true
|
|
39
|
-
}
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
"name": "is_active",
|
|
43
|
-
"type": "boolean",
|
|
44
|
-
"constraints": {
|
|
45
|
-
"default": true
|
|
46
|
-
}
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
"name": "category_name",
|
|
50
|
-
"type": "string",
|
|
51
|
-
"constraints": {
|
|
52
|
-
"uppercase": true
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
],
|
|
56
|
-
"samples": {
|
|
57
|
-
"create": {
|
|
58
|
-
"category_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
|
59
|
-
"category_code": "DMO001",
|
|
60
|
-
"category_name": "Demo Name",
|
|
61
|
-
"description": "Demo description text",
|
|
62
|
-
"is_active": true
|
|
63
|
-
},
|
|
64
|
-
"update": {
|
|
65
|
-
"category_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
|
66
|
-
"category_code": "DMO001",
|
|
67
|
-
"category_name": "Updated Demo Name",
|
|
68
|
-
"description": "Demo description text",
|
|
69
|
-
"is_active": true
|
|
70
|
-
},
|
|
71
|
-
"delete": {
|
|
72
|
-
"where": [
|
|
73
|
-
{
|
|
74
|
-
"key": "category_id",
|
|
75
|
-
"value": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
|
|
76
|
-
}
|
|
77
|
-
]
|
|
78
|
-
},
|
|
79
|
-
"get": {
|
|
80
|
-
"where": [
|
|
81
|
-
{
|
|
82
|
-
"key": "category_id",
|
|
83
|
-
"value": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
|
|
84
|
-
}
|
|
85
|
-
],
|
|
86
|
-
"select": [
|
|
87
|
-
"category_id",
|
|
88
|
-
"category_code",
|
|
89
|
-
"category_name",
|
|
90
|
-
"description",
|
|
91
|
-
"is_active"
|
|
92
|
-
]
|
|
93
|
-
},
|
|
94
|
-
"read": {
|
|
95
|
-
"page": 1,
|
|
96
|
-
"per_page": 10,
|
|
97
|
-
"search_value": "",
|
|
98
|
-
"search_by": "category_code"
|
|
99
|
-
},
|
|
100
|
-
"datatables": {
|
|
101
|
-
"draw": 1,
|
|
102
|
-
"start": 0,
|
|
103
|
-
"length": 10,
|
|
104
|
-
"search": {
|
|
105
|
-
"value": ""
|
|
106
|
-
}
|
|
107
|
-
},
|
|
108
|
-
"lookup": {
|
|
109
|
-
"select": [
|
|
110
|
-
"category_id",
|
|
111
|
-
"category_code"
|
|
112
|
-
]
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
},
|
|
117
|
-
"processors": {}
|
|
118
|
-
}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": "2.0.0",
|
|
3
|
-
"moduleName": "test-mysql",
|
|
4
|
-
"createdAt": "2026-02-26T19:33:04.269Z",
|
|
5
|
-
"updatedAt": "2026-02-26T19:33:04.279Z",
|
|
6
|
-
"databaseType": "mysql",
|
|
7
|
-
"endpoints": {
|
|
8
|
-
"category": {
|
|
9
|
-
"version": "2.0.0",
|
|
10
|
-
"type": "module",
|
|
11
|
-
"createdAt": "2026-02-26T19:33:04.279Z",
|
|
12
|
-
"updatedAt": "2026-02-26T19:33:04.279Z",
|
|
13
|
-
"path": "src/modules/test-mysql/category.js",
|
|
14
|
-
"modelPath": "src/models/test-mysql/category.js",
|
|
15
|
-
"tableName": "category",
|
|
16
|
-
"databaseType": "mysql",
|
|
17
|
-
"actions": {
|
|
18
|
-
"datatables": true,
|
|
19
|
-
"create": true,
|
|
20
|
-
"update": true,
|
|
21
|
-
"delete": true,
|
|
22
|
-
"get": true,
|
|
23
|
-
"lookup": true,
|
|
24
|
-
"read": true,
|
|
25
|
-
"export": true,
|
|
26
|
-
"import": true,
|
|
27
|
-
"adjust": false,
|
|
28
|
-
"aggregate": false,
|
|
29
|
-
"createComposite": false,
|
|
30
|
-
"updateComposite": false,
|
|
31
|
-
"readComposite": false
|
|
32
|
-
},
|
|
33
|
-
"fieldCount": 5,
|
|
34
|
-
"hasAdvancedQueries": false,
|
|
35
|
-
"hasNestedQueries": false,
|
|
36
|
-
"hasFilters": false,
|
|
37
|
-
"hasSearchColumns": false,
|
|
38
|
-
"statistics": {
|
|
39
|
-
"timesGenerated": 1,
|
|
40
|
-
"lastGenerated": "2026-02-26T19:33:04.279Z",
|
|
41
|
-
"lastModified": "2026-02-26T19:33:04.279Z"
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
},
|
|
45
|
-
"statistics": {
|
|
46
|
-
"totalEndpoints": 1,
|
|
47
|
-
"endpointsByType": {
|
|
48
|
-
"module": 1
|
|
49
|
-
},
|
|
50
|
-
"lastGenerated": "2026-02-26T19:33:04.279Z"
|
|
51
|
-
},
|
|
52
|
-
"config": {
|
|
53
|
-
"autoBackup": false,
|
|
54
|
-
"maxBackups": 5
|
|
55
|
-
}
|
|
56
|
-
}
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"projectName": "test-oracle",
|
|
3
|
-
"databaseType": "oracle",
|
|
4
|
-
"endpoints": {
|
|
5
|
-
"category": {
|
|
6
|
-
"tableName": "category",
|
|
7
|
-
"displayName": "Category",
|
|
8
|
-
"action": {
|
|
9
|
-
"datatables": true,
|
|
10
|
-
"create": true,
|
|
11
|
-
"update": true,
|
|
12
|
-
"delete": true,
|
|
13
|
-
"get": true,
|
|
14
|
-
"lookup": true,
|
|
15
|
-
"read": true,
|
|
16
|
-
"export": true,
|
|
17
|
-
"import": true,
|
|
18
|
-
"adjust": false,
|
|
19
|
-
"aggregate": false,
|
|
20
|
-
"createComposite": false,
|
|
21
|
-
"updateComposite": false,
|
|
22
|
-
"readComposite": false
|
|
23
|
-
},
|
|
24
|
-
"primaryKey": "category_id",
|
|
25
|
-
"fieldName": [
|
|
26
|
-
"category_id",
|
|
27
|
-
"category_code",
|
|
28
|
-
"category_name",
|
|
29
|
-
"description",
|
|
30
|
-
"is_active"
|
|
31
|
-
],
|
|
32
|
-
"fieldValidation": [
|
|
33
|
-
{
|
|
34
|
-
"name": "category_id",
|
|
35
|
-
"type": "uuid",
|
|
36
|
-
"constraints": {
|
|
37
|
-
"primaryKey": true,
|
|
38
|
-
"autoGenerate": true
|
|
39
|
-
}
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
"name": "is_active",
|
|
43
|
-
"type": "boolean",
|
|
44
|
-
"constraints": {
|
|
45
|
-
"default": true
|
|
46
|
-
}
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
"name": "category_name",
|
|
50
|
-
"type": "string",
|
|
51
|
-
"constraints": {
|
|
52
|
-
"uppercase": true
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
],
|
|
56
|
-
"samples": {
|
|
57
|
-
"create": {
|
|
58
|
-
"category_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
|
59
|
-
"category_code": "DMO001",
|
|
60
|
-
"category_name": "Demo Name",
|
|
61
|
-
"description": "Demo description text",
|
|
62
|
-
"is_active": true
|
|
63
|
-
},
|
|
64
|
-
"update": {
|
|
65
|
-
"category_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
|
66
|
-
"category_code": "DMO001",
|
|
67
|
-
"category_name": "Updated Demo Name",
|
|
68
|
-
"description": "Demo description text",
|
|
69
|
-
"is_active": true
|
|
70
|
-
},
|
|
71
|
-
"delete": {
|
|
72
|
-
"where": [
|
|
73
|
-
{
|
|
74
|
-
"key": "category_id",
|
|
75
|
-
"value": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
|
|
76
|
-
}
|
|
77
|
-
]
|
|
78
|
-
},
|
|
79
|
-
"get": {
|
|
80
|
-
"where": [
|
|
81
|
-
{
|
|
82
|
-
"key": "category_id",
|
|
83
|
-
"value": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
|
|
84
|
-
}
|
|
85
|
-
],
|
|
86
|
-
"select": [
|
|
87
|
-
"category_id",
|
|
88
|
-
"category_code",
|
|
89
|
-
"category_name",
|
|
90
|
-
"description",
|
|
91
|
-
"is_active"
|
|
92
|
-
]
|
|
93
|
-
},
|
|
94
|
-
"read": {
|
|
95
|
-
"page": 1,
|
|
96
|
-
"per_page": 10,
|
|
97
|
-
"search_value": "",
|
|
98
|
-
"search_by": "category_code"
|
|
99
|
-
},
|
|
100
|
-
"datatables": {
|
|
101
|
-
"draw": 1,
|
|
102
|
-
"start": 0,
|
|
103
|
-
"length": 10,
|
|
104
|
-
"search": {
|
|
105
|
-
"value": ""
|
|
106
|
-
}
|
|
107
|
-
},
|
|
108
|
-
"lookup": {
|
|
109
|
-
"select": [
|
|
110
|
-
"category_id",
|
|
111
|
-
"category_code"
|
|
112
|
-
]
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
},
|
|
117
|
-
"processors": {}
|
|
118
|
-
}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": "2.0.0",
|
|
3
|
-
"moduleName": "test-oracle",
|
|
4
|
-
"createdAt": "2026-02-26T19:33:03.116Z",
|
|
5
|
-
"updatedAt": "2026-02-26T19:33:03.126Z",
|
|
6
|
-
"databaseType": "oracle",
|
|
7
|
-
"endpoints": {
|
|
8
|
-
"category": {
|
|
9
|
-
"version": "2.0.0",
|
|
10
|
-
"type": "module",
|
|
11
|
-
"createdAt": "2026-02-26T19:33:03.126Z",
|
|
12
|
-
"updatedAt": "2026-02-26T19:33:03.126Z",
|
|
13
|
-
"path": "src/modules/test-oracle/category.js",
|
|
14
|
-
"modelPath": "src/models/test-oracle/category.js",
|
|
15
|
-
"tableName": "category",
|
|
16
|
-
"databaseType": "oracle",
|
|
17
|
-
"actions": {
|
|
18
|
-
"datatables": true,
|
|
19
|
-
"create": true,
|
|
20
|
-
"update": true,
|
|
21
|
-
"delete": true,
|
|
22
|
-
"get": true,
|
|
23
|
-
"lookup": true,
|
|
24
|
-
"read": true,
|
|
25
|
-
"export": true,
|
|
26
|
-
"import": true,
|
|
27
|
-
"adjust": false,
|
|
28
|
-
"aggregate": false,
|
|
29
|
-
"createComposite": false,
|
|
30
|
-
"updateComposite": false,
|
|
31
|
-
"readComposite": false
|
|
32
|
-
},
|
|
33
|
-
"fieldCount": 5,
|
|
34
|
-
"hasAdvancedQueries": false,
|
|
35
|
-
"hasNestedQueries": false,
|
|
36
|
-
"hasFilters": false,
|
|
37
|
-
"hasSearchColumns": false,
|
|
38
|
-
"statistics": {
|
|
39
|
-
"timesGenerated": 1,
|
|
40
|
-
"lastGenerated": "2026-02-26T19:33:03.126Z",
|
|
41
|
-
"lastModified": "2026-02-26T19:33:03.126Z"
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
},
|
|
45
|
-
"statistics": {
|
|
46
|
-
"totalEndpoints": 1,
|
|
47
|
-
"endpointsByType": {
|
|
48
|
-
"module": 1
|
|
49
|
-
},
|
|
50
|
-
"lastGenerated": "2026-02-26T19:33:03.126Z"
|
|
51
|
-
},
|
|
52
|
-
"config": {
|
|
53
|
-
"autoBackup": false,
|
|
54
|
-
"maxBackups": 5
|
|
55
|
-
}
|
|
56
|
-
}
|