@restforgejs/platform 4.1.1 → 4.3.1
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 +43 -4
- 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 +526 -0
- package/generators/cli/schema/describe.js +3 -2
- package/generators/cli/schema/diff.js +322 -0
- package/generators/cli/schema/generate-ddl.js +7 -10
- package/generators/cli/schema/init.js +95 -172
- package/generators/cli/schema/introspect.js +3 -2
- package/generators/cli/schema/list.js +3 -2
- package/generators/cli/schema/migrate.js +13 -18
- package/generators/cli/schema/models.js +8 -12
- package/generators/cli/schema/template.js +222 -0
- package/generators/cli/schema/validate.js +8 -12
- package/generators/cli-entry.js +17 -2
- package/generators/lib/dbschema-kit/apply-engine.js +582 -0
- package/generators/lib/dbschema-kit/diff-engine.js +703 -0
- package/generators/lib/dbschema-kit/diff-reporter.js +272 -0
- package/generators/lib/dbschema-kit/emitters/alter-table.js +275 -0
- package/generators/lib/migration/audit-table-runner.js +213 -215
- package/generators/lib/payload/endpoint-schema-validator.js +171 -0
- package/generators/lib/payload/payload-runner.js +137 -220
- package/generators/lib/payload/schema-diff.js +277 -0
- 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/audit-columns.js +181 -0
- package/generators/lib/utils/cli-output.js +17 -0
- package/generators/lib/utils/database-introspector.js +16 -13
- 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
|
-
const a0_0x156752=a0_0xb93f;function a0_0xb93f(_0x4a2408,_0x596c4b){_0x4a2408=_0x4a2408-0x1bf;const _0x4c7b31=a0_0x4c7b();let _0xb93f1a=_0x4c7b31[_0x4a2408];if(a0_0xb93f['yKAYdE']===undefined){var _0x1f8c4e=function(_0x101936){const _0x1c1393='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x45ca8f='',_0xce71ab='';for(let _0x4ea717=0x0,_0x3f2f8b,_0x1d4641,_0x5e3b58=0x0;_0x1d4641=_0x101936['charAt'](_0x5e3b58++);~_0x1d4641&&(_0x3f2f8b=_0x4ea717%0x4?_0x3f2f8b*0x40+_0x1d4641:_0x1d4641,_0x4ea717++%0x4)?_0x45ca8f+=String['fromCharCode'](0xff&_0x3f2f8b>>(-0x2*_0x4ea717&0x6)):0x0){_0x1d4641=_0x1c1393['indexOf'](_0x1d4641);}for(let _0x59a1d6=0x0,_0x187895=_0x45ca8f['length'];_0x59a1d6<_0x187895;_0x59a1d6++){_0xce71ab+='%'+('00'+_0x45ca8f['charCodeAt'](_0x59a1d6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xce71ab);};a0_0xb93f['bzLoDP']=_0x1f8c4e,a0_0xb93f['dzhffW']={},a0_0xb93f['yKAYdE']=!![];}const _0x6df090=_0x4c7b31[0x0],_0x100e21=_0x4a2408+_0x6df090,_0x349b3c=a0_0xb93f['dzhffW'][_0x100e21];return!_0x349b3c?(_0xb93f1a=a0_0xb93f['bzLoDP'](_0xb93f1a),a0_0xb93f['dzhffW'][_0x100e21]=_0xb93f1a):_0xb93f1a=_0x349b3c,_0xb93f1a;}(function(_0x2d6005,_0x376b79){const _0x410acc=a0_0xb93f,_0x44731f=_0x2d6005();while(!![]){try{const _0xff9089=parseInt(_0x410acc(0x1da))/0x1*(-parseInt(_0x410acc(0x1c5))/0x2)+-parseInt(_0x410acc(0x1cf))/0x3+parseInt(_0x410acc(0x1d2))/0x4*(parseInt(_0x410acc(0x1c8))/0x5)+-parseInt(_0x410acc(0x1ec))/0x6+-parseInt(_0x410acc(0x1d7))/0x7*(-parseInt(_0x410acc(0x1e7))/0x8)+parseInt(_0x410acc(0x1e5))/0x9+parseInt(_0x410acc(0x1ed))/0xa;if(_0xff9089===_0x376b79)break;else _0x44731f['push'](_0x44731f['shift']());}catch(_0x435802){_0x44731f['push'](_0x44731f['shift']());}}}(a0_0x4c7b,0x55672));function a0_0x4c7b(){const _0x48774c=['yNvPBgrdB21WB3nPDgvjBNnLCNrczwzVCMvdB250zxH0','yNvPBgrjBNnLCNrdB250zxH0','yNvPBgrvCgrHDgvdB250zxH0','ndKWnJmZmK1useXzqG','zM9YzwLNBKTLEq','mtC2mdi0zevXuu9L','qurkvvnu','vwr2Dgm','zMLYC3q','yNvPBgrdB21WB3nPDgvvCgrHDgvczwzVCMvdB250zxH0','mJKYotm5oe1Nv1PbBG','ntKXnJyYmePrq1L3DW','yNvPBgrezwXLDgvdB250zxH0','DxnLCL9Pza','tMTKt1q','su5trvju','q09nue9tsvrfx1vqrefurq','ywrQDxn0','C3rHDhvZrMLLBgq','C3rHDhvZ','yNvPBgrbzgP1C3rdB250zxH0','A2v5','zgv0ywLSvgfIBgu','nZGXoeDWy2zbyW','yNvPBgrdB21WB3nPDgvvCgrHDgvbzNrLCKnVBNrLEhq','ufzOthC','mtuXmZvzv3z1Bvm','quTTyMy','yNvPBgrdB21WB3nPDgvjBNnLCNrbzNrLCKnVBNrLEhq','C3LZDgvT','v09ss0zmt1C','zxHWB3j0CW','vw5RBM93BIbVCgvYyxrPB246ia','mZeZmZjwwefKrwO','ChjPBwfYEuTLEq','y29UzgL0Aw9UCW','ntjmAKHXrei','AKjxyKi','Aw5Zzxj0','zxH0CMfJDfjLy29YzeLKrNjVBvDOzxjL','v05PvMq','otfgyK9xEMq','B3b0Aw9UCW','AxnbCNjHEq','mtu3y3nmyvvn','Dg9ju09tDhjPBMC','D2HLCMu','DgfIBgvoyw1L','CMvTyxjRCW','Dwvkruy','revmrvrf','r0r1DgS'];a0_0x4c7b=function(){return _0x48774c;};return a0_0x4c7b();}class ContextBuilder{static['buildInsertContext'](_0x55f8ce,_0x4ac82e=null,_0x395f2a={}){const _0x57c7c6=a0_0xb93f,_0x995c8a={'jBWbB':_0x57c7c6(0x1f1)};return{'requestData':_0x55f8ce,'oldData':null,'newData':_0x4ac82e,'tableName':_0x395f2a['tableName']||'','operation':_0x995c8a[_0x57c7c6(0x1d3)],'user_id':_0x395f2a[_0x57c7c6(0x1ef)]||_0x57c7c6(0x1cb),'timestamp':new Date()['toISOString'](),'record_id':_0x4ac82e?.['id']||_0x55f8ce?.['id']||null,'options':_0x395f2a[_0x57c7c6(0x1d8)]||{},'new_data':_0x4ac82e,'deleted_data':null,'existing_data':null};}static['buildUpdateContext'](_0x543c74,_0x4957fd,_0x38054b=null,_0x2d63fe={}){const _0x50202d=a0_0xb93f,_0x6a8432={'YHbiu':'UPDATE','AKmbf':_0x50202d(0x1cb)};return{'requestData':_0x543c74,'oldData':_0x4957fd,'newData':_0x38054b,'tableName':_0x2d63fe['tableName']||'','operation':_0x6a8432['YHbiu'],'user_id':_0x2d63fe[_0x50202d(0x1ef)]||_0x6a8432[_0x50202d(0x1c9)],'timestamp':new Date()['toISOString'](),'record_id':_0x543c74?.['id']||_0x4957fd?.['id']||null,'options':_0x2d63fe[_0x50202d(0x1d8)]||{},'new_data':_0x38054b,'deleted_data':null,'existing_data':_0x4957fd};}static['buildDeleteContext'](_0x297ff1,_0x2c9421,_0x31c21d={}){const _0x4a708f=a0_0xb93f,_0x4d9a45={'aubKP':'system'};return{'requestData':_0x297ff1,'oldData':_0x2c9421,'newData':null,'tableName':_0x31c21d['tableName']||'','operation':_0x4a708f(0x1e0),'user_id':_0x31c21d[_0x4a708f(0x1ef)]||_0x4d9a45['aubKP'],'timestamp':new Date()[_0x4a708f(0x1db)](),'record_id':_0x2c9421?.['id']||this['extractRecordIdFromWhere'](_0x297ff1),'options':_0x31c21d['options']||{},'new_data':null,'deleted_data':_0x2c9421,'existing_data':_0x2c9421};}static['buildFirstContext'](_0x4aba91,_0xc6b39c,_0x2fa804={}){const _0x4303d7=a0_0xb93f,_0x3ca945={'wyyhd':'FIRST','NkdOT':_0x4303d7(0x1cb)};return{'requestData':_0x4aba91,'oldData':null,'newData':_0xc6b39c,'tableName':_0x2fa804[_0x4303d7(0x1dd)]||'','operation':_0x3ca945['wyyhd'],'user_id':_0x2fa804['user_id']||_0x3ca945[_0x4303d7(0x1f0)],'timestamp':new Date()[_0x4303d7(0x1db)](),'record_id':null,'options':_0x2fa804['options']||{},'new_data':_0xc6b39c,'deleted_data':null,'existing_data':_0xc6b39c};}static[a0_0x156752(0x1c2)](_0x226e97,_0x4d4159,_0x2a899a=null,_0x2867bc={}){const _0x2fe40d=a0_0x156752;return{'requestData':_0x226e97,'oldData':_0x4d4159,'newData':_0x2a899a,'tableName':_0x2867bc['tableName']||'','operation':_0x2fe40d(0x1e8),'user_id':_0x2867bc[_0x2fe40d(0x1ef)]||'system','timestamp':new Date()['toISOString'](),'record_id':_0x226e97?.['id']||_0x4d4159?.['id']||null,'options':_0x2867bc['options']||{},'new_data':_0x2a899a,'deleted_data':null,'existing_data':_0x4d4159};}static[a0_0x156752(0x1d5)](_0x42e710){const _0x320291=a0_0x156752;if(!_0x42e710||!_0x42e710[_0x320291(0x1dc)])return null;if(Array[_0x320291(0x1d9)](_0x42e710[_0x320291(0x1dc)])){const _0x2b1322=_0x42e710['where']['find'](_0x3cc769=>_0x3cc769['key']==='id');return _0x2b1322?_0x2b1322['value']:null;}if(_0x42e710[_0x320291(0x1dc)][_0x320291(0x1d1)]&&Array['isArray'](_0x42e710[_0x320291(0x1dc)]['conditions'])){const _0x4b18e4=_0x42e710['where']['conditions']['find'](_0x2d1533=>_0x2d1533[_0x320291(0x1c3)]==='id');return _0x4b18e4?_0x4b18e4['value']:null;}return null;}static['buildOnBeforeContext'](_0x4cc5f4,_0x3680b5,_0x2e4ea6=null,_0xfe5f3a={}){const _0x1c28a8=a0_0x156752,_0x4fc88d={'WNiVd':'update','xosOf':_0x1c28a8(0x1bf)};switch(_0x4cc5f4['toLowerCase']()){case _0x1c28a8(0x1d4):return this['buildInsertContext'](_0x3680b5,null,_0xfe5f3a);case _0x4fc88d[_0x1c28a8(0x1d6)]:return this[_0x1c28a8(0x1e4)](_0x3680b5,_0x2e4ea6,null,_0xfe5f3a);case'delete':return this['buildDeleteContext'](_0x3680b5,_0x2e4ea6,_0xfe5f3a);case _0x1c28a8(0x1ea):return this['buildFirstContext'](_0x3680b5,null,_0xfe5f3a);case _0x4fc88d['xosOf']:return this[_0x1c28a8(0x1c2)](_0x3680b5,_0x2e4ea6,null,_0xfe5f3a);case'workflow':return this['buildWorkflowContext'](_0x3680b5,_0x2e4ea6,null,_0xfe5f3a);default:throw new Error('Unknown\x20operation:\x20'+_0x4cc5f4);}}static['buildOnAfterContext'](_0x4a91c3,_0x16e9bf,_0x16e1e5=null,_0x18a6d9=null,_0x567854={}){const _0x4e14d9=a0_0x156752,_0x24b6a8={'cCFIx':_0x4e14d9(0x1d4),'DldKF':'delete','ueJEF':'workflow'};switch(_0x4a91c3['toLowerCase']()){case _0x24b6a8['cCFIx']:return this[_0x4e14d9(0x1e3)](_0x16e9bf,_0x18a6d9,_0x567854);case'update':return this['buildUpdateContext'](_0x16e9bf,_0x16e1e5,_0x18a6d9,_0x567854);case _0x24b6a8['DldKF']:return this[_0x4e14d9(0x1ee)](_0x16e9bf,_0x16e1e5,_0x567854);case'first':return this['buildFirstContext'](_0x16e9bf,_0x18a6d9,_0x567854);case'adjust':return this[_0x4e14d9(0x1c2)](_0x16e9bf,_0x16e1e5,_0x18a6d9,_0x567854);case _0x24b6a8[_0x4e14d9(0x1df)]:return this['buildWorkflowContext'](_0x16e9bf,_0x16e1e5,_0x18a6d9,_0x567854);default:throw new Error(_0x4e14d9(0x1ce)+_0x4a91c3);}}static['buildWorkflowContext'](_0x50ab6a,_0x4513e7,_0x34efe4=null,_0x16d2fc={}){const _0x41f614=a0_0x156752,_0x5a92a5={'PVhLw':_0x41f614(0x1cc)},_0x391590=_0x16d2fc[_0x41f614(0x1c0)]||_0x41f614(0x1c1),_0x4a2bdf=_0x4513e7?_0x4513e7[_0x391590]:'',_0x378c6c=_0x50ab6a['status']||_0x16d2fc['newStatus']||'';return{'requestData':_0x50ab6a,'oldData':_0x4513e7,'newData':_0x34efe4,'oldStatus':_0x4a2bdf,'newStatus':_0x378c6c,'statusField':_0x391590,'remarks':_0x50ab6a[_0x41f614(0x1de)]||'','tableName':_0x16d2fc[_0x41f614(0x1dd)]||'','operation':_0x5a92a5[_0x41f614(0x1c7)],'user_id':_0x16d2fc[_0x41f614(0x1ef)]||_0x50ab6a['updated_by']||'system','timestamp':new Date()[_0x41f614(0x1db)](),'record_id':_0x50ab6a['id']||_0x50ab6a[_0x16d2fc[_0x41f614(0x1d0)]]||null,'options':_0x16d2fc[_0x41f614(0x1d8)]||{},'new_data':_0x34efe4,'deleted_data':null,'existing_data':_0x4513e7};}static[a0_0x156752(0x1e2)](_0x4c7a5c,_0x52b6e2,_0x5eff80={}){const _0x3342cb=a0_0x156752;return{'requestData':_0x4c7a5c,'oldData':null,'newData':null,'detailItems':_0x52b6e2||[],'detailTable':_0x5eff80['detailTable']||'','foreignKey':_0x5eff80[_0x3342cb(0x1e6)]||'','tableName':_0x5eff80['tableName']||'','operation':'COMPOSITE_INSERT','user_id':_0x5eff80['user_id']||'system','timestamp':new Date()[_0x3342cb(0x1db)](),'record_id':null,'options':_0x5eff80[_0x3342cb(0x1d8)]||{}};}static[a0_0x156752(0x1ca)](_0x74ac04,_0x16f372,_0x2b02cd,_0x2403eb={}){const _0x174627=a0_0x156752;return{'requestData':_0x74ac04,'oldData':null,'newData':_0x16f372,'insertedItems':_0x2b02cd||[],'detailTable':_0x2403eb['detailTable']||'','foreignKey':_0x2403eb[_0x174627(0x1e6)]||'','tableName':_0x2403eb['tableName']||'','operation':'COMPOSITE_INSERT','user_id':_0x2403eb['user_id']||_0x174627(0x1cb),'timestamp':new Date()['toISOString'](),'record_id':_0x16f372?_0x16f372[_0x2403eb['primaryKey']]||_0x16f372['id']||null:null,'options':_0x2403eb['options']||{}};}static[a0_0x156752(0x1eb)](_0x4371cb,_0x2af9b3,_0x1c9522,_0x311eb7={}){const _0x52aa36=a0_0x156752,_0xdc7040={'Udvtc':function(_0x2ceb18,_0x4407d7){return _0x2ceb18||_0x4407d7;}};return{'requestData':_0x4371cb,'oldData':_0x2af9b3,'newData':null,'detailOperations':_0xdc7040[_0x52aa36(0x1e9)](_0x1c9522,{'insert':[],'update':[],'delete':[]}),'detailTable':_0x311eb7['detailTable']||'','foreignKey':_0x311eb7['foreignKey']||'','tableName':_0x311eb7['tableName']||'','operation':'COMPOSITE_UPDATE','user_id':_0x311eb7[_0x52aa36(0x1ef)]||'system','timestamp':new Date()['toISOString'](),'record_id':_0x4371cb?_0x4371cb[_0x311eb7['primaryKey']]||_0x4371cb['id']||null:null,'options':_0x311eb7[_0x52aa36(0x1d8)]||{}};}static[a0_0x156752(0x1c6)](_0x5ecf49,_0x1bc242,_0x22a8b2,_0x43e5e9,_0xc42ce4={}){const _0x1c943f=a0_0x156752,_0x2a29ab={'GDutk':_0x1c943f(0x1f2)};return{'requestData':_0x5ecf49,'oldData':_0x1bc242,'newData':_0x22a8b2,'detailResults':_0x43e5e9||{'inserted':[],'updated':[],'deleted':[]},'detailTable':_0xc42ce4[_0x1c943f(0x1c4)]||'','foreignKey':_0xc42ce4[_0x1c943f(0x1e6)]||'','tableName':_0xc42ce4['tableName']||'','operation':_0x2a29ab[_0x1c943f(0x1e1)],'user_id':_0xc42ce4[_0x1c943f(0x1ef)]||_0x1c943f(0x1cb),'timestamp':new Date()[_0x1c943f(0x1db)](),'record_id':_0x22a8b2?_0x22a8b2[_0xc42ce4[_0x1c943f(0x1d0)]]||_0x22a8b2['id']||null:null,'options':_0xc42ce4['options']||{}};}}module[a0_0x156752(0x1cd)]=ContextBuilder;
|
|
1
|
+
const a0_0x39ad50=a0_0x579b;function a0_0x2afe(){const _0x18eb96=['DxnLCL9Pza','u3rkzvu','yNvPBgrezwXLDgvdB250zxH0','yNvPBgrxB3jRzMXVD0nVBNrLEhq','CxPxwue','yNvPBgrbzgP1C3rdB250zxH0','mZeXmZC2nMTlq3P3qq','revmrvrf','D29YA2zSB3C','q09nue9tsvrfx0Lou0vsva','C3rHDhvZ','yNvPBgrvCgrHDgvdB250zxH0','rM9UAKS','y29UzgL0Aw9UCW','ntq1nJy0CMHkEhns','ChjPBwfYEuTLEq','tezizMu','C0jkBhK','mZG1ntu0qLHPBMT3','EKnzruu','BhzoDhm','mZy3nZm2ndb0C1DyCfK','zMLYC3q','q09nue9tsvrfx1vqrefurq','Dg9mB3DLCKnHC2u','CLPjsKe','zM9YzwLNBKTLEq','DgfIBgvoyw1L','uKLtALa','v09ss0zmt1C','zxHWB3j0CW','zgv0ywLSvgfIBgu','vvbeqvrf','zMLUza','Dg9ju09tDhjPBMC','DMfSDwu','yNvPBgrdB21WB3nPDgvvCgrHDgvczwzVCMvdB250zxH0','B3b0Aw9UCW','DufIvKu','nfjQuwzlvW','sNPRuuq','mZaXnJmWmhvIzuHfwq','veflzve','mJvKtwjWCgu','A292Cu0','AxnbCNjHEq','D2HLCMu','ndC2ntyWmgDmAwDczq','C3LZDgvT','odq4nZC5rw9nuuXS'];a0_0x2afe=function(){return _0x18eb96;};return a0_0x2afe();}function a0_0x579b(_0x265535,_0x2475b0){_0x265535=_0x265535-0x10a;const _0x2afea3=a0_0x2afe();let _0x579b55=_0x2afea3[_0x265535];if(a0_0x579b['vgNiDe']===undefined){var _0x27cc1a=function(_0x5c4480){const _0x256240='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1fa53e='',_0x231a9c='';for(let _0x71487e=0x0,_0x74c7a6,_0x418e8f,_0x3568e2=0x0;_0x418e8f=_0x5c4480['charAt'](_0x3568e2++);~_0x418e8f&&(_0x74c7a6=_0x71487e%0x4?_0x74c7a6*0x40+_0x418e8f:_0x418e8f,_0x71487e++%0x4)?_0x1fa53e+=String['fromCharCode'](0xff&_0x74c7a6>>(-0x2*_0x71487e&0x6)):0x0){_0x418e8f=_0x256240['indexOf'](_0x418e8f);}for(let _0x3788ad=0x0,_0x4bb850=_0x1fa53e['length'];_0x3788ad<_0x4bb850;_0x3788ad++){_0x231a9c+='%'+('00'+_0x1fa53e['charCodeAt'](_0x3788ad)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x231a9c);};a0_0x579b['qSIVUX']=_0x27cc1a,a0_0x579b['srSdvc']={},a0_0x579b['vgNiDe']=!![];}const _0x1c7f80=_0x2afea3[0x0],_0x3014bd=_0x265535+_0x1c7f80,_0x5a1260=a0_0x579b['srSdvc'][_0x3014bd];return!_0x5a1260?(_0x579b55=a0_0x579b['qSIVUX'](_0x579b55),a0_0x579b['srSdvc'][_0x3014bd]=_0x579b55):_0x579b55=_0x5a1260,_0x579b55;}(function(_0x4bf3ea,_0x168f88){const _0xc3bdb9=a0_0x579b,_0x575a40=_0x4bf3ea();while(!![]){try{const _0x44d57d=-parseInt(_0xc3bdb9(0x132))/0x1+-parseInt(_0xc3bdb9(0x10f))/0x2+-parseInt(_0xc3bdb9(0x139))/0x3*(parseInt(_0xc3bdb9(0x128))/0x4)+-parseInt(_0xc3bdb9(0x12c))/0x5*(parseInt(_0xc3bdb9(0x113))/0x6)+-parseInt(_0xc3bdb9(0x12a))/0x7+-parseInt(_0xc3bdb9(0x130))/0x8+parseInt(_0xc3bdb9(0x116))/0x9;if(_0x44d57d===_0x168f88)break;else _0x575a40['push'](_0x575a40['shift']());}catch(_0x4b0aff){_0x575a40['push'](_0x575a40['shift']());}}}(a0_0x2afe,0x8d3e4));class ContextBuilder{static['buildInsertContext'](_0x48bcb3,_0xd1e6c8=null,_0x2d0faa={}){const _0x478dc2=a0_0x579b;return{'requestData':_0x48bcb3,'oldData':null,'newData':_0xd1e6c8,'tableName':_0x2d0faa[_0x478dc2(0x11c)]||'','operation':'INSERT','user_id':_0x2d0faa[_0x478dc2(0x133)]||_0x478dc2(0x131),'timestamp':new Date()[_0x478dc2(0x123)](),'record_id':_0xd1e6c8?.['id']||_0x48bcb3?.['id']||null,'options':_0x2d0faa[_0x478dc2(0x126)]||{},'new_data':_0xd1e6c8,'deleted_data':null,'existing_data':null};}static[a0_0x39ad50(0x10c)](_0x17b608,_0x4d4337,_0x44b1cb=null,_0x41544d={}){const _0x481f46=a0_0x39ad50,_0x48fb83={'uAbVE':_0x481f46(0x121),'zCYEE':'system'};return{'requestData':_0x17b608,'oldData':_0x4d4337,'newData':_0x44b1cb,'tableName':_0x41544d['tableName']||'','operation':_0x48fb83[_0x481f46(0x127)],'user_id':_0x41544d['user_id']||_0x48fb83[_0x481f46(0x114)],'timestamp':new Date()['toISOString'](),'record_id':_0x17b608?.['id']||_0x4d4337?.['id']||null,'options':_0x41544d['options']||{},'new_data':_0x44b1cb,'deleted_data':null,'existing_data':_0x4d4337};}static['buildDeleteContext'](_0x1944ed,_0x42193e,_0x482ca2={}){const _0x269291=a0_0x39ad50,_0x143bc3={'sBJly':_0x269291(0x13a)};return{'requestData':_0x1944ed,'oldData':_0x42193e,'newData':null,'tableName':_0x482ca2[_0x269291(0x11c)]||'','operation':_0x143bc3[_0x269291(0x112)],'user_id':_0x482ca2['user_id']||_0x269291(0x131),'timestamp':new Date()[_0x269291(0x123)](),'record_id':_0x42193e?.['id']||this['extractRecordIdFromWhere'](_0x1944ed),'options':_0x482ca2[_0x269291(0x126)]||{},'new_data':null,'deleted_data':_0x42193e,'existing_data':_0x42193e};}static['buildFirstContext'](_0x38669c,_0x5ef296,_0x2a22f4={}){const _0x1a1348=a0_0x39ad50,_0xce7b42={'qzWYA':'FIRST'};return{'requestData':_0x38669c,'oldData':null,'newData':_0x5ef296,'tableName':_0x2a22f4['tableName']||'','operation':_0xce7b42[_0x1a1348(0x137)],'user_id':_0x2a22f4['user_id']||'system','timestamp':new Date()[_0x1a1348(0x123)](),'record_id':null,'options':_0x2a22f4[_0x1a1348(0x126)]||{},'new_data':_0x5ef296,'deleted_data':null,'existing_data':_0x5ef296};}static[a0_0x39ad50(0x138)](_0x37591e,_0x5ce846,_0xc2f626=null,_0x51ab7c={}){const _0x5a00ad=a0_0x39ad50;return{'requestData':_0x37591e,'oldData':_0x5ce846,'newData':_0xc2f626,'tableName':_0x51ab7c[_0x5a00ad(0x11c)]||'','operation':'ADJUST','user_id':_0x51ab7c[_0x5a00ad(0x133)]||_0x5a00ad(0x131),'timestamp':new Date()[_0x5a00ad(0x123)](),'record_id':_0x37591e?.['id']||_0x5ce846?.['id']||null,'options':_0x51ab7c['options']||{},'new_data':_0xc2f626,'deleted_data':null,'existing_data':_0x5ce846};}static['extractRecordIdFromWhere'](_0x3afacb){const _0xa76cc0=a0_0x39ad50;if(!_0x3afacb||!_0x3afacb['where'])return null;if(Array['isArray'](_0x3afacb['where'])){const _0x4cb220=_0x3afacb[_0xa76cc0(0x12f)][_0xa76cc0(0x122)](_0x39adda=>_0x39adda['key']==='id');return _0x4cb220?_0x4cb220['value']:null;}if(_0x3afacb[_0xa76cc0(0x12f)]['conditions']&&Array[_0xa76cc0(0x12e)](_0x3afacb['where'][_0xa76cc0(0x10e)])){const _0x1f42c7=_0x3afacb['where'][_0xa76cc0(0x10e)][_0xa76cc0(0x122)](_0x18365d=>_0x18365d['key']==='id');return _0x1f42c7?_0x1f42c7[_0xa76cc0(0x124)]:null;}return null;}static['buildOnBeforeContext'](_0x50416b,_0x1a4ad9,_0x1aee9f=null,_0xd45a63={}){const _0x2c4e58=a0_0x39ad50,_0x34a430={'RISjP':_0x2c4e58(0x117),'kovqM':'adjust'};switch(_0x50416b['toLowerCase']()){case'insert':return this['buildInsertContext'](_0x1a4ad9,null,_0xd45a63);case'update':return this[_0x2c4e58(0x10c)](_0x1a4ad9,_0x1aee9f,null,_0xd45a63);case'delete':return this[_0x2c4e58(0x135)](_0x1a4ad9,_0x1aee9f,_0xd45a63);case _0x34a430[_0x2c4e58(0x11d)]:return this['buildFirstContext'](_0x1a4ad9,null,_0xd45a63);case _0x34a430[_0x2c4e58(0x12d)]:return this['buildAdjustContext'](_0x1a4ad9,_0x1aee9f,null,_0xd45a63);case'workflow':return this[_0x2c4e58(0x136)](_0x1a4ad9,_0x1aee9f,null,_0xd45a63);default:throw new Error('Unknown\x20operation:\x20'+_0x50416b);}}static['buildOnAfterContext'](_0x2810fc,_0x27177d,_0x138a84=null,_0x6de297=null,_0x22c689={}){const _0x5f52c1=a0_0x39ad50,_0x10df71={'rZIJA':'insert','kUKmz':'adjust'};switch(_0x2810fc[_0x5f52c1(0x119)]()){case _0x10df71[_0x5f52c1(0x11a)]:return this['buildInsertContext'](_0x27177d,_0x6de297,_0x22c689);case'update':return this['buildUpdateContext'](_0x27177d,_0x138a84,_0x6de297,_0x22c689);case'delete':return this[_0x5f52c1(0x135)](_0x27177d,_0x138a84,_0x22c689);case'first':return this['buildFirstContext'](_0x27177d,_0x6de297,_0x22c689);case _0x10df71['kUKmz']:return this[_0x5f52c1(0x138)](_0x27177d,_0x138a84,_0x6de297,_0x22c689);case _0x5f52c1(0x13b):return this[_0x5f52c1(0x136)](_0x27177d,_0x138a84,_0x6de297,_0x22c689);default:throw new Error('Unknown\x20operation:\x20'+_0x2810fc);}}static['buildWorkflowContext'](_0x5e5bfb,_0x1eb07d,_0xf94d71=null,_0x5041a5={}){const _0x4ddd5a=a0_0x39ad50,_0x5bd19a={'lvNts':_0x4ddd5a(0x10b),'TAKeQ':_0x4ddd5a(0x11e)},_0x117458=_0x5041a5['statusField']||_0x5bd19a[_0x4ddd5a(0x115)],_0x510604=_0x1eb07d?_0x1eb07d[_0x117458]:'',_0x451dd8=_0x5e5bfb[_0x4ddd5a(0x10b)]||_0x5041a5['newStatus']||'';return{'requestData':_0x5e5bfb,'oldData':_0x1eb07d,'newData':_0xf94d71,'oldStatus':_0x510604,'newStatus':_0x451dd8,'statusField':_0x117458,'remarks':_0x5e5bfb['remarks']||'','tableName':_0x5041a5['tableName']||'','operation':_0x5bd19a[_0x4ddd5a(0x12b)],'user_id':_0x5041a5[_0x4ddd5a(0x133)]||_0x5e5bfb['updated_by']||_0x4ddd5a(0x131),'timestamp':new Date()['toISOString'](),'record_id':_0x5e5bfb['id']||_0x5e5bfb[_0x5041a5[_0x4ddd5a(0x110)]]||null,'options':_0x5041a5['options']||{},'new_data':_0xf94d71,'deleted_data':null,'existing_data':_0x1eb07d};}static['buildCompositeInsertBeforeContext'](_0x4f6b59,_0x4997d5,_0xcd2444={}){const _0x3274b0=a0_0x39ad50,_0xa4e4d={'LFHfe':'system'};return{'requestData':_0x4f6b59,'oldData':null,'newData':null,'detailItems':_0x4997d5||[],'detailTable':_0xcd2444[_0x3274b0(0x120)]||'','foreignKey':_0xcd2444[_0x3274b0(0x11b)]||'','tableName':_0xcd2444['tableName']||'','operation':_0x3274b0(0x10a),'user_id':_0xcd2444['user_id']||_0xa4e4d[_0x3274b0(0x111)],'timestamp':new Date()[_0x3274b0(0x123)](),'record_id':null,'options':_0xcd2444[_0x3274b0(0x126)]||{}};}static['buildCompositeInsertAfterContext'](_0x41c006,_0x223119,_0x225517,_0x64a3f1={}){const _0x1441f1=a0_0x39ad50,_0x348e2f={'yvShK':'COMPOSITE_INSERT','FonjK':_0x1441f1(0x131)};return{'requestData':_0x41c006,'oldData':null,'newData':_0x223119,'insertedItems':_0x225517||[],'detailTable':_0x64a3f1[_0x1441f1(0x120)]||'','foreignKey':_0x64a3f1['foreignKey']||'','tableName':_0x64a3f1['tableName']||'','operation':_0x348e2f['yvShK'],'user_id':_0x64a3f1['user_id']||_0x348e2f[_0x1441f1(0x10d)],'timestamp':new Date()['toISOString'](),'record_id':_0x223119?_0x223119[_0x64a3f1[_0x1441f1(0x110)]]||_0x223119['id']||null:null,'options':_0x64a3f1['options']||{}};}static[a0_0x39ad50(0x125)](_0x291554,_0x1a615d,_0x29ed42,_0xc26953={}){const _0x177ce6=a0_0x39ad50,_0x5266fd={'JzkQD':'COMPOSITE_UPDATE','StJeU':'system'};return{'requestData':_0x291554,'oldData':_0x1a615d,'newData':null,'detailOperations':_0x29ed42||{'insert':[],'update':[],'delete':[]},'detailTable':_0xc26953[_0x177ce6(0x120)]||'','foreignKey':_0xc26953['foreignKey']||'','tableName':_0xc26953[_0x177ce6(0x11c)]||'','operation':_0x5266fd[_0x177ce6(0x129)],'user_id':_0xc26953['user_id']||_0x5266fd[_0x177ce6(0x134)],'timestamp':new Date()['toISOString'](),'record_id':_0x291554?_0x291554[_0xc26953[_0x177ce6(0x110)]]||_0x291554['id']||null:null,'options':_0xc26953[_0x177ce6(0x126)]||{}};}static['buildCompositeUpdateAfterContext'](_0x528073,_0x464108,_0x415f3e,_0x4f9fd3,_0x33d76e={}){const _0x2adc05=a0_0x39ad50,_0x421278={'bHJwM':function(_0x57c0e9,_0x3071d7){return _0x57c0e9||_0x3071d7;},'LNxlk':_0x2adc05(0x118),'TtRKy':'system'};return{'requestData':_0x528073,'oldData':_0x464108,'newData':_0x415f3e,'detailResults':_0x421278['bHJwM'](_0x4f9fd3,{'inserted':[],'updated':[],'deleted':[]}),'detailTable':_0x33d76e[_0x2adc05(0x120)]||'','foreignKey':_0x33d76e[_0x2adc05(0x11b)]||'','tableName':_0x33d76e[_0x2adc05(0x11c)]||'','operation':_0x421278['LNxlk'],'user_id':_0x33d76e[_0x2adc05(0x133)]||_0x421278['TtRKy'],'timestamp':new Date()['toISOString'](),'record_id':_0x415f3e?_0x415f3e[_0x33d76e[_0x2adc05(0x110)]]||_0x415f3e['id']||null:null,'options':_0x33d76e[_0x2adc05(0x126)]||{}};}}module[a0_0x39ad50(0x11f)]=ContextBuilder;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const a0_0x2e1d39=a0_0x180e;(function(_0x50008f,_0x5d55b7){const _0x43c1ec=a0_0x180e,_0x5b5b88=_0x50008f();while(!![]){try{const _0x3bd7cf=parseInt(_0x43c1ec(0x105))/0x1+-parseInt(_0x43c1ec(0x118))/0x2+-parseInt(_0x43c1ec(0xf5))/0x3+parseInt(_0x43c1ec(0x113))/0x4*(-parseInt(_0x43c1ec(0xf6))/0x5)+parseInt(_0x43c1ec(0x119))/0x6*(parseInt(_0x43c1ec(0xf3))/0x7)+parseInt(_0x43c1ec(0xec))/0x8*(-parseInt(_0x43c1ec(0x10d))/0x9)+parseInt(_0x43c1ec(0x102))/0xa*(parseInt(_0x43c1ec(0xe1))/0xb);if(_0x3bd7cf===_0x5d55b7)break;else _0x5b5b88['push'](_0x5b5b88['shift']());}catch(_0x3261bd){_0x5b5b88['push'](_0x5b5b88['shift']());}}}(a0_0x280b,0xa9941));class HttpError extends Error{constructor(_0x29eadf,_0x49817d){const _0x4e7abe=a0_0x180e,_0x49eb7c={'SBAIN':'HttpError'};super(_0x49817d),this[_0x4e7abe(0xeb)]=_0x29eadf,this[_0x4e7abe(0xf0)]=_0x49eb7c[_0x4e7abe(0x117)];}}const PLACEHOLDER_REGEX=/(?<!:):([a-zA-Z_][a-zA-Z0-9_]*)/g,VALID_DIALECTS=new Set([a0_0x2e1d39(0x115),'mysql','oracle']);function substitutePlaceholders(_0x3272b5,_0x4ec063,_0xeb44f2=a0_0x2e1d39(0x115)){const _0x5405c0=a0_0x2e1d39,_0x3969a5={'EgPak':function(_0xba85d1,_0x5aa0a5){return _0xba85d1||_0x5aa0a5;},'nGzIC':function(_0x5ec35f,_0x32cf93){return _0x5ec35f===_0x32cf93;},'Vzpov':_0x5405c0(0x115)};if(!VALID_DIALECTS['has'](_0xeb44f2))throw new HttpError(0x1f4,_0x5405c0(0xe0)+_0xeb44f2+_0x5405c0(0x114));const _0x9521d5=[],_0x46b9b6=new Map();PLACEHOLDER_REGEX['lastIndex']=0x0;let _0x5e77be;while((_0x5e77be=PLACEHOLDER_REGEX['exec'](_0x3272b5))!==null){const _0x39e63e=_0x5e77be[0x1];!_0x46b9b6[_0x5405c0(0xf8)](_0x39e63e)&&(_0x9521d5[_0x5405c0(0xe5)](_0x39e63e),_0x46b9b6[_0x5405c0(0x10f)](_0x39e63e,_0x9521d5['length']));}for(const _0x41427e of _0x9521d5){if(!Object['prototype'][_0x5405c0(0xe6)]['call'](_0x3969a5['EgPak'](_0x4ec063,{}),_0x41427e))throw new HttpError(0x190,_0x5405c0(0xfc)+_0x41427e+'\x27');}PLACEHOLDER_REGEX['lastIndex']=0x0;if(_0x3969a5['nGzIC'](_0xeb44f2,'mysql')){const _0x157547=[],_0x52466b=_0x3272b5['replace'](PLACEHOLDER_REGEX,(_0x3030b7,_0x3f4ffd)=>{return _0x157547['push'](_0x4ec063[_0x3f4ffd]),'?';});return{'sql':_0x52466b,'params':_0x157547};}const _0x14c6aa=_0xeb44f2===_0x3969a5[_0x5405c0(0x106)]?'$':':',_0x1cee01=_0x3272b5[_0x5405c0(0x10a)](PLACEHOLDER_REGEX,(_0x429171,_0x59c7c9)=>''+_0x14c6aa+_0x46b9b6[_0x5405c0(0x116)](_0x59c7c9)),_0x1fc2d3=_0x9521d5[_0x5405c0(0xee)](_0x31d328=>_0x4ec063[_0x31d328]);return{'sql':_0x1cee01,'params':_0x1fc2d3};}function isTypeValid(_0x3d0f7f,_0x558cc5){const _0x4ac104=a0_0x2e1d39,_0x53c588={'TcZmL':_0x4ac104(0xfa),'ZRKeS':function(_0x3e793d,_0x31eb7f){return _0x3e793d===_0x31eb7f;},'uOlWF':'number','JOoJQ':function(_0x3c588a,_0x35b485){return _0x3c588a===_0x35b485;},'TDmwu':function(_0x39697e,_0x69b5ac){return _0x39697e===_0x69b5ac;},'ENsfV':_0x4ac104(0xe2),'wAgnI':function(_0x259c1d,_0x32e493){return _0x259c1d===_0x32e493;}};switch(_0x558cc5){case _0x53c588[_0x4ac104(0x100)]:return _0x53c588[_0x4ac104(0xfd)](typeof _0x3d0f7f,'string');case _0x53c588['uOlWF']:return _0x53c588['JOoJQ'](typeof _0x3d0f7f,_0x4ac104(0xf1))&&!Number['isNaN'](_0x3d0f7f);case'boolean':return _0x53c588[_0x4ac104(0x108)](typeof _0x3d0f7f,_0x53c588[_0x4ac104(0xe4)]);case _0x4ac104(0x112):if(_0x3d0f7f instanceof Date)return!Number[_0x4ac104(0xe8)](_0x3d0f7f[_0x4ac104(0x110)]());if(_0x53c588[_0x4ac104(0xf2)](typeof _0x3d0f7f,_0x53c588[_0x4ac104(0x100)])){const _0x398a3f=new Date(_0x3d0f7f);return!Number[_0x4ac104(0xe8)](_0x398a3f['getTime']());}return![];default:return![];}}function validateAndApplyParams(_0x30c6f3,_0x1e7786){const _0x4b6956=a0_0x2e1d39,_0x1697eb={'nVMvP':function(_0x4f02a4,_0x240d4d){return _0x4f02a4!==_0x240d4d;},'zoqPo':'object','qiBIp':function(_0x5aafa3,_0x34b1b1){return _0x5aafa3!==_0x34b1b1;},'EvfAd':function(_0x45e79b,_0x2a5a5f){return _0x45e79b!==_0x2a5a5f;},'SOKFq':function(_0x4f95d8,_0x33be77){return _0x4f95d8===_0x33be77;}},_0x477be3={};if(!_0x30c6f3||_0x1697eb['nVMvP'](typeof _0x30c6f3,_0x1697eb['zoqPo']))return _0x477be3;const _0x55e3db=_0x1e7786&&typeof _0x1e7786===_0x1697eb['zoqPo']?_0x1e7786:{};for(const _0x5e1f28 of Object['keys'](_0x30c6f3)){const _0x1c0372=_0x30c6f3[_0x5e1f28],_0x2fb175=Object['prototype']['hasOwnProperty'][_0x4b6956(0x101)](_0x55e3db,_0x5e1f28)&&_0x1697eb['qiBIp'](_0x55e3db[_0x5e1f28],undefined)&&_0x1697eb[_0x4b6956(0xea)](_0x55e3db[_0x5e1f28],null);if(!_0x2fb175){if(_0x1c0372&&_0x1697eb[_0x4b6956(0xe9)](_0x1c0372[_0x4b6956(0xf7)],!![]))throw new HttpError(0x190,_0x4b6956(0xf4)+_0x5e1f28+'\x27');_0x1c0372&&Object[_0x4b6956(0x111)][_0x4b6956(0xe6)][_0x4b6956(0x101)](_0x1c0372,_0x4b6956(0x103))&&(_0x477be3[_0x5e1f28]=_0x1c0372['default']);continue;}const _0x7f3479=_0x55e3db[_0x5e1f28];if(!isTypeValid(_0x7f3479,_0x1c0372&&_0x1c0372['type']))throw new HttpError(0x190,_0x4b6956(0x10c)+_0x5e1f28+'\x27\x20has\x20invalid\x20type,\x20expected\x20'+(_0x1c0372&&_0x1c0372[_0x4b6956(0xe3)]));_0x477be3[_0x5e1f28]=_0x7f3479;}return _0x477be3;}function filterWidgets(_0x55767f,_0xedb0c){const _0x2741f4=a0_0x2e1d39,_0x35f0b5={'SQKYL':function(_0x171a10,_0x1b2833){return _0x171a10===_0x1b2833;},'Ofgoy':_0x2741f4(0xfb)},_0x2041bc=Array['isArray'](_0x55767f)?_0x55767f:[];if(_0xedb0c===undefined||_0x35f0b5[_0x2741f4(0xff)](_0xedb0c,null))return new Set(_0x2041bc);if(!Array['isArray'](_0xedb0c))throw new HttpError(0x190,_0x35f0b5[_0x2741f4(0x107)]);const _0x12cedc=new Set(_0x2041bc);for(const _0x1cf4c1 of _0xedb0c){if(!_0x12cedc[_0x2741f4(0xf8)](_0x1cf4c1))throw new HttpError(0x190,_0x2741f4(0xe7)+_0x1cf4c1+'\x27');}return new Set(_0xedb0c);}function a0_0x280b(){const _0x30df05=['CMvWBgfJzq','BgvUz3rO','ugfYyw0GjW','mJuYt0z5sMXj','CeDsC04','C2v0','z2v0vgLTzq','ChjVDg90ExbL','zgf0zq','odK4mtjnzvDABuG','jY4GrxHWzwn0zwqGB25Lig9MoIbWB3n0z3jLCYWGBxLZCwWSig9YywnSzq','Cg9ZDgDYzxm','z2v0','u0jbsu4','mtm4mJu4mgDlwKzeqq','mtu1mtzyzhf3suS','vw5RBM93BIbKAwfSzwn0oIaN','otLuA1jez2G','yM9VBgvHBG','DhLWzq','ru5ZzLy','ChvZAa','AgfZt3DUuhjVCgvYDhK','vw5RBM93BIb3AwrNzxqGAwq6icC','Axnoyu4','u09lrNe','rxzMqwq','C3rHDhvZ','mtaWndmYBNHHEK5P','AxnbCNjHEq','BwfW','A2v5CW','BMfTzq','BNvTyMvY','D0fNBKK','mtmWouD3DgDHEG','twLZC2LUzYbYzxf1AxjLzcbWyxjHBtOGjW','mZaXotu2ow1uq1ftuG','nJvyCKTIq3q','CMvXDwLYzwq','AgfZ','seToshC','C3rYAw5N','rMLLBgqGj3DPzgDLDhmNig11C3qGyMuGyw4GyxjYyxKGB2yGD2LKz2v0igLKCW','vw5IB3vUzcbWBgfJzwHVBgrLCJOGjZO','wLjlzvm','reTOq1O','u1flwuW','vgnABuW','y2fSBa','mJu5nteXmgfTBvDWEq','zgvMyxvSDa','EvH6Dey','mJe2nJi2vhntDwfb','vNPWB3y','t2zNB3K','verTD3u','q0Pfsu8'];a0_0x280b=function(){return _0x30df05;};return a0_0x280b();}function collapseRows(_0x4f33cf){const _0x33dc3f=a0_0x2e1d39,_0x4006dc={'cfMYM':function(_0x5e42f,_0x78b7fd){return _0x5e42f!==_0x78b7fd;}};if(!Array['isArray'](_0x4f33cf))return[];if(_0x4006dc['cfMYM'](_0x4f33cf[_0x33dc3f(0x10b)],0x1))return _0x4f33cf;const _0xf0821=_0x4f33cf[0x0],_0x3a8c73=Object[_0x33dc3f(0xef)](_0xf0821);if(_0x3a8c73['length']===0x1)return _0xf0821[_0x3a8c73[0x0]];return _0xf0821;}function stringifyNumericDeep(_0x3d3df2){const _0x9c8b26=a0_0x2e1d39,_0x29e0b3={'jedey':function(_0x5681c8,_0x4dffbf){return _0x5681c8===_0x4dffbf;},'iXoUe':function(_0x4a085a,_0x51f291){return _0x4a085a(_0x51f291);},'qmkhC':'object','yXztF':function(_0x51039a,_0x30a3d3){return _0x51039a instanceof _0x30a3d3;},'DKhCZ':function(_0x1b33b3,_0x1f0e91){return _0x1b33b3(_0x1f0e91);}};if(_0x3d3df2===null||_0x29e0b3['jedey'](_0x3d3df2,undefined))return _0x3d3df2;if(typeof _0x3d3df2==='number')return _0x29e0b3['iXoUe'](String,_0x3d3df2);if(typeof _0x3d3df2!==_0x29e0b3['qmkhC'])return _0x3d3df2;if(_0x29e0b3[_0x9c8b26(0x104)](_0x3d3df2,Date))return _0x3d3df2;if(Array['isArray'](_0x3d3df2)){for(let _0x25fb43=0x0;_0x25fb43<_0x3d3df2[_0x9c8b26(0x10b)];_0x25fb43++){_0x3d3df2[_0x25fb43]=stringifyNumericDeep(_0x3d3df2[_0x25fb43]);}return _0x3d3df2;}for(const _0x41c958 of Object['keys'](_0x3d3df2)){_0x3d3df2[_0x41c958]=_0x29e0b3[_0x9c8b26(0xfe)](stringifyNumericDeep,_0x3d3df2[_0x41c958]);}return _0x3d3df2;}function lowercaseKeysDeep(_0x2747bd){const _0x3e6827=a0_0x2e1d39,_0x5dc458={'pGRsN':'object','CJEIO':function(_0x4db3ba,_0x3104b4){return _0x4db3ba instanceof _0x3104b4;},'HKNHw':function(_0x44bcbd,_0xf45de){return _0x44bcbd(_0xf45de);}};if(_0x2747bd===null||typeof _0x2747bd!==_0x5dc458[_0x3e6827(0x10e)])return _0x2747bd;if(_0x5dc458[_0x3e6827(0x109)](_0x2747bd,Date))return _0x2747bd;if(Array[_0x3e6827(0xed)](_0x2747bd))return _0x2747bd['map'](_0x4213fc=>lowercaseKeysDeep(_0x4213fc));const _0x2f8259={};for(const _0x5e6c49 of Object['keys'](_0x2747bd)){_0x2f8259[_0x5e6c49['toLowerCase']()]=_0x5dc458[_0x3e6827(0xf9)](lowercaseKeysDeep,_0x2747bd[_0x5e6c49]);}return _0x2f8259;}function a0_0x180e(_0xe03f1,_0x5176fd){_0xe03f1=_0xe03f1-0xe0;const _0x280b9d=a0_0x280b();let _0x180e07=_0x280b9d[_0xe03f1];if(a0_0x180e['PPpzjh']===undefined){var _0x4c0915=function(_0x3a0c3c){const _0x28e963='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4bddc3='',_0x489b60='';for(let _0x408384=0x0,_0x4de9dd,_0x52d0e3,_0x3f75b8=0x0;_0x52d0e3=_0x3a0c3c['charAt'](_0x3f75b8++);~_0x52d0e3&&(_0x4de9dd=_0x408384%0x4?_0x4de9dd*0x40+_0x52d0e3:_0x52d0e3,_0x408384++%0x4)?_0x4bddc3+=String['fromCharCode'](0xff&_0x4de9dd>>(-0x2*_0x408384&0x6)):0x0){_0x52d0e3=_0x28e963['indexOf'](_0x52d0e3);}for(let _0x22cdca=0x0,_0x1d03a9=_0x4bddc3['length'];_0x22cdca<_0x1d03a9;_0x22cdca++){_0x489b60+='%'+('00'+_0x4bddc3['charCodeAt'](_0x22cdca)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x489b60);};a0_0x180e['UfGIEg']=_0x4c0915,a0_0x180e['HBPUHp']={},a0_0x180e['PPpzjh']=!![];}const _0x4368fe=_0x280b9d[0x0],_0x5444ab=_0xe03f1+_0x4368fe,_0x3af77d=a0_0x180e['HBPUHp'][_0x5444ab];return!_0x3af77d?(_0x180e07=a0_0x180e['UfGIEg'](_0x180e07),a0_0x180e['HBPUHp'][_0x5444ab]=_0x180e07):_0x180e07=_0x3af77d,_0x180e07;}module['exports']={'HttpError':HttpError,'substitutePlaceholders':substitutePlaceholders,'validateAndApplyParams':validateAndApplyParams,'filterWidgets':filterWidgets,'collapseRows':collapseRows,'stringifyNumericDeep':stringifyNumericDeep,'lowercaseKeysDeep':lowercaseKeysDeep};
|
|
1
|
+
'use strict';const a0_0x53ccb9=a0_0x5289;function a0_0x5289(_0x3dc111,_0x20bf28){_0x3dc111=_0x3dc111-0xde;const _0x3a0dca=a0_0x3a0d();let _0x528917=_0x3a0dca[_0x3dc111];if(a0_0x5289['QqaXPU']===undefined){var _0x551441=function(_0x1d2be7){const _0x275a93='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1f93be='',_0x21d1b0='';for(let _0x2cfca8=0x0,_0x18b841,_0xcc5f7c,_0x3f6561=0x0;_0xcc5f7c=_0x1d2be7['charAt'](_0x3f6561++);~_0xcc5f7c&&(_0x18b841=_0x2cfca8%0x4?_0x18b841*0x40+_0xcc5f7c:_0xcc5f7c,_0x2cfca8++%0x4)?_0x1f93be+=String['fromCharCode'](0xff&_0x18b841>>(-0x2*_0x2cfca8&0x6)):0x0){_0xcc5f7c=_0x275a93['indexOf'](_0xcc5f7c);}for(let _0x23d440=0x0,_0x2082e8=_0x1f93be['length'];_0x23d440<_0x2082e8;_0x23d440++){_0x21d1b0+='%'+('00'+_0x1f93be['charCodeAt'](_0x23d440)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x21d1b0);};a0_0x5289['ZQybwv']=_0x551441,a0_0x5289['yJvIif']={},a0_0x5289['QqaXPU']=!![];}const _0x31b8cf=_0x3a0dca[0x0],_0xd77cbc=_0x3dc111+_0x31b8cf,_0x5bb892=a0_0x5289['yJvIif'][_0xd77cbc];return!_0x5bb892?(_0x528917=a0_0x5289['ZQybwv'](_0x528917),a0_0x5289['yJvIif'][_0xd77cbc]=_0x528917):_0x528917=_0x5bb892,_0x528917;}(function(_0x242027,_0x30d2a5){const _0x2a745c=a0_0x5289,_0x5890c1=_0x242027();while(!![]){try{const _0x900847=-parseInt(_0x2a745c(0xdf))/0x1*(-parseInt(_0x2a745c(0xe2))/0x2)+-parseInt(_0x2a745c(0xde))/0x3*(-parseInt(_0x2a745c(0x106))/0x4)+-parseInt(_0x2a745c(0xf4))/0x5*(-parseInt(_0x2a745c(0x100))/0x6)+parseInt(_0x2a745c(0x104))/0x7*(-parseInt(_0x2a745c(0x107))/0x8)+-parseInt(_0x2a745c(0x10a))/0x9*(-parseInt(_0x2a745c(0x10c))/0xa)+-parseInt(_0x2a745c(0x10e))/0xb+parseInt(_0x2a745c(0xfa))/0xc*(parseInt(_0x2a745c(0xfc))/0xd);if(_0x900847===_0x30d2a5)break;else _0x5890c1['push'](_0x5890c1['shift']());}catch(_0x224afc){_0x5890c1['push'](_0x5890c1['shift']());}}}(a0_0x3a0d,0x33646));class HttpError extends Error{constructor(_0x598f97,_0x40827f){const _0x30bf13=a0_0x5289;super(_0x40827f),this[_0x30bf13(0xea)]=_0x598f97,this[_0x30bf13(0xeb)]=_0x30bf13(0xe9);}}const PLACEHOLDER_REGEX=/(?<!:):([a-zA-Z_][a-zA-Z0-9_]*)/g,VALID_DIALECTS=new Set([a0_0x53ccb9(0xfb),a0_0x53ccb9(0x101),a0_0x53ccb9(0xee)]);function substitutePlaceholders(_0x340929,_0x42bb58,_0x3c8c07='postgres'){const _0x5856a0=a0_0x53ccb9,_0x2457ad={'AlaPz':function(_0x27aaf5,_0x273941){return _0x27aaf5!==_0x273941;},'rOOkY':function(_0xe7fc33,_0x3deada){return _0xe7fc33||_0x3deada;},'MUCno':function(_0x4fc94c,_0x3aba05){return _0x4fc94c===_0x3aba05;}};if(!VALID_DIALECTS['has'](_0x3c8c07))throw new HttpError(0x1f4,'Unknown\x20dialect:\x20\x27'+_0x3c8c07+'\x27.\x20Expected\x20one\x20of:\x20postgres,\x20mysql,\x20oracle');const _0x10d39f=[],_0x551f78=new Map();PLACEHOLDER_REGEX[_0x5856a0(0xe8)]=0x0;let _0x51c358;while(_0x2457ad[_0x5856a0(0xf8)](_0x51c358=PLACEHOLDER_REGEX[_0x5856a0(0xe0)](_0x340929),null)){const _0x50a01b=_0x51c358[0x1];!_0x551f78['has'](_0x50a01b)&&(_0x10d39f['push'](_0x50a01b),_0x551f78['set'](_0x50a01b,_0x10d39f['length']));}for(const _0x398c11 of _0x10d39f){if(!Object[_0x5856a0(0xfe)][_0x5856a0(0xf3)][_0x5856a0(0xef)](_0x2457ad['rOOkY'](_0x42bb58,{}),_0x398c11))throw new HttpError(0x190,_0x5856a0(0xf1)+_0x398c11+'\x27');}PLACEHOLDER_REGEX[_0x5856a0(0xe8)]=0x0;if(_0x2457ad['MUCno'](_0x3c8c07,'mysql')){const _0x3ea205=[],_0x352c4f=_0x340929['replace'](PLACEHOLDER_REGEX,(_0x17048b,_0x2d900b)=>{return _0x3ea205['push'](_0x42bb58[_0x2d900b]),'?';});return{'sql':_0x352c4f,'params':_0x3ea205};}const _0x4f49fd=_0x2457ad[_0x5856a0(0xf5)](_0x3c8c07,_0x5856a0(0xfb))?'$':':',_0x365245=_0x340929[_0x5856a0(0xf9)](PLACEHOLDER_REGEX,(_0x4a0252,_0x2e579a)=>''+_0x4f49fd+_0x551f78['get'](_0x2e579a)),_0x1ce25a=_0x10d39f['map'](_0x3324b2=>_0x42bb58[_0x3324b2]);return{'sql':_0x365245,'params':_0x1ce25a};}function isTypeValid(_0x29d66d,_0x286115){const _0x5a60ec=a0_0x53ccb9,_0x1f8b72={'ZTnPI':function(_0x5146a1,_0x478d21){return _0x5146a1===_0x478d21;},'QtHDY':_0x5a60ec(0x10d),'pigzM':_0x5a60ec(0xff),'TXoLV':_0x5a60ec(0xe1)};switch(_0x286115){case'string':return _0x1f8b72[_0x5a60ec(0xfd)](typeof _0x29d66d,'string');case'number':return typeof _0x29d66d===_0x1f8b72[_0x5a60ec(0xe3)]&&!Number['isNaN'](_0x29d66d);case _0x1f8b72['pigzM']:return typeof _0x29d66d==='boolean';case _0x5a60ec(0xf7):if(_0x29d66d instanceof Date)return!Number['isNaN'](_0x29d66d['getTime']());if(_0x1f8b72[_0x5a60ec(0xfd)](typeof _0x29d66d,_0x1f8b72[_0x5a60ec(0x103)])){const _0x133241=new Date(_0x29d66d);return!Number[_0x5a60ec(0xed)](_0x133241['getTime']());}return![];default:return![];}}function validateAndApplyParams(_0x5425ef,_0x8c70c8){const _0x4e936d=a0_0x53ccb9,_0x48a2ab={'ZcrBT':function(_0x554916,_0x3f7f91){return _0x554916!==_0x3f7f91;},'oXiBj':_0x4e936d(0xf2),'VziSF':function(_0x3f70f3,_0x396fe6){return _0x3f70f3!==_0x396fe6;},'wzVzw':function(_0x5508da,_0x2b9875){return _0x5508da===_0x2b9875;}},_0x5f4316={};if(!_0x5425ef||_0x48a2ab['ZcrBT'](typeof _0x5425ef,_0x48a2ab['oXiBj']))return _0x5f4316;const _0x515d44=_0x8c70c8&&typeof _0x8c70c8==='object'?_0x8c70c8:{};for(const _0x311c91 of Object[_0x4e936d(0xec)](_0x5425ef)){const _0x167a30=_0x5425ef[_0x311c91],_0x51ec64=Object[_0x4e936d(0xfe)]['hasOwnProperty'][_0x4e936d(0xef)](_0x515d44,_0x311c91)&&_0x48a2ab[_0x4e936d(0x10f)](_0x515d44[_0x311c91],undefined)&&_0x515d44[_0x311c91]!==null;if(!_0x51ec64){if(_0x167a30&&_0x48a2ab['wzVzw'](_0x167a30['required'],!![]))throw new HttpError(0x190,_0x4e936d(0x10b)+_0x311c91+'\x27');_0x167a30&&Object['prototype']['hasOwnProperty'][_0x4e936d(0xef)](_0x167a30,'default')&&(_0x5f4316[_0x311c91]=_0x167a30['default']);continue;}const _0x29fb76=_0x515d44[_0x311c91];if(!isTypeValid(_0x29fb76,_0x167a30&&_0x167a30[_0x4e936d(0xe4)]))throw new HttpError(0x190,'Param\x20\x27'+_0x311c91+'\x27\x20has\x20invalid\x20type,\x20expected\x20'+(_0x167a30&&_0x167a30['type']));_0x5f4316[_0x311c91]=_0x29fb76;}return _0x5f4316;}function filterWidgets(_0x4c42be,_0x4055b3){const _0x27373d=a0_0x53ccb9,_0x147263={'ssdSY':function(_0x1b41a6,_0x34f37e){return _0x1b41a6===_0x34f37e;}},_0x54c147=Array['isArray'](_0x4c42be)?_0x4c42be:[];if(_0x147263[_0x27373d(0x102)](_0x4055b3,undefined)||_0x4055b3===null)return new Set(_0x54c147);if(!Array['isArray'](_0x4055b3))throw new HttpError(0x190,'Field\x20\x27widgets\x27\x20must\x20be\x20an\x20array\x20of\x20widget\x20ids');const _0x11d805=new Set(_0x54c147);for(const _0x511f70 of _0x4055b3){if(!_0x11d805['has'](_0x511f70))throw new HttpError(0x190,'Unknown\x20widget\x20id:\x20\x27'+_0x511f70+'\x27');}return new Set(_0x4055b3);}function a0_0x3a0d(){const _0x41df45=['nte2CK95rxDX','Cg9ZDgDYzxm','ndq5ndfSz2vSzNC','wLrUueK','ChjVDg90ExbL','yM9VBgvHBG','oda2nde4wKX1u09L','BxLZCwW','C3nKu1K','vfHVtfy','mteZnZG3oeLorK96yG','u2DAwhC','nfzACMr1CG','oefQy3P5zG','BgvUz3rO','r0nIyLm','mJC0ndm3EwzztffJ','twLZC2LUzYbYzxf1AxjLzcbWyxjHBtOGjW','odbqtKX4DgC','BNvTyMvY','mZC5mta5nw9OCeTTrG','vNPPu0y','mJa0mJeZr0XgzMP0','ogLTs3niEq','zxHLyW','C3rYAw5N','mZa2ntHWuxzttKi','uxrirfK','DhLWzq','r0TPue4','ALvPAw8','uNPPBMe','BgfZDeLUzgv4','shr0CevYCM9Y','C3rHDhvZ','BMfTzq','A2v5CW','Axnoyu4','B3jHy2XL','y2fSBa','A0DMCwq','vw5IB3vUzcbWBgfJzwHVBgrLCJOGjZO','B2jQzwn0','AgfZt3DUuhjVCgvYDhK','nunAu2jYuq','tvvdBM8','AxnbCNjHEq','zgf0zq','qwXHuhO','CMvWBgfJzq'];a0_0x3a0d=function(){return _0x41df45;};return a0_0x3a0d();}function collapseRows(_0x3f552e){const _0x7c0ec7=a0_0x53ccb9,_0x2a2d82={'GCbbS':function(_0x4c1d09,_0x673604){return _0x4c1d09===_0x673604;}};if(!Array[_0x7c0ec7(0xf6)](_0x3f552e))return[];if(_0x3f552e['length']!==0x1)return _0x3f552e;const _0x5c0cee=_0x3f552e[0x0],_0x17600f=Object[_0x7c0ec7(0xec)](_0x5c0cee);if(_0x2a2d82[_0x7c0ec7(0x109)](_0x17600f['length'],0x1))return _0x5c0cee[_0x17600f[0x0]];return _0x5c0cee;}function stringifyNumericDeep(_0x38888c){const _0x5e500d=a0_0x53ccb9,_0x5469c5={'SgZXw':function(_0x25fd47,_0xb9a00a){return _0x25fd47===_0xb9a00a;},'kGfqd':function(_0xec8a2d,_0x4be4d0){return _0xec8a2d(_0x4be4d0);},'Rzina':function(_0x4858a6,_0x4b5baa){return _0x4858a6!==_0x4b5baa;},'EdQea':_0x5e500d(0xf2),'aCbcp':function(_0x1f04af,_0x485a4a){return _0x1f04af instanceof _0x485a4a;},'jUiio':function(_0x4f2ed8,_0x5f5090){return _0x4f2ed8(_0x5f5090);}};if(_0x38888c===null||_0x5469c5['SgZXw'](_0x38888c,undefined))return _0x38888c;if(_0x5469c5[_0x5e500d(0x105)](typeof _0x38888c,_0x5e500d(0x10d)))return _0x5469c5[_0x5e500d(0xf0)](String,_0x38888c);if(_0x5469c5[_0x5e500d(0xe7)](typeof _0x38888c,_0x5469c5['EdQea']))return _0x38888c;if(_0x5469c5['aCbcp'](_0x38888c,Date))return _0x38888c;if(Array['isArray'](_0x38888c)){for(let _0x239246=0x0;_0x239246<_0x38888c[_0x5e500d(0x108)];_0x239246++){_0x38888c[_0x239246]=_0x5469c5[_0x5e500d(0xe6)](stringifyNumericDeep,_0x38888c[_0x239246]);}return _0x38888c;}for(const _0x135f9e of Object['keys'](_0x38888c)){_0x38888c[_0x135f9e]=stringifyNumericDeep(_0x38888c[_0x135f9e]);}return _0x38888c;}function lowercaseKeysDeep(_0x8feb85){const _0x5779da=a0_0x53ccb9,_0xd2fb28={'cQvxi':_0x5779da(0xf2),'GKiPN':function(_0x420886,_0xc6ae0){return _0x420886 instanceof _0xc6ae0;}};if(_0x8feb85===null||typeof _0x8feb85!==_0xd2fb28['cQvxi'])return _0x8feb85;if(_0xd2fb28[_0x5779da(0xe5)](_0x8feb85,Date))return _0x8feb85;if(Array[_0x5779da(0xf6)](_0x8feb85))return _0x8feb85['map'](_0x5d7145=>lowercaseKeysDeep(_0x5d7145));const _0x1fcf9f={};for(const _0x4f3942 of Object['keys'](_0x8feb85)){_0x1fcf9f[_0x4f3942['toLowerCase']()]=lowercaseKeysDeep(_0x8feb85[_0x4f3942]);}return _0x1fcf9f;}module['exports']={'HttpError':HttpError,'substitutePlaceholders':substitutePlaceholders,'validateAndApplyParams':validateAndApplyParams,'filterWidgets':filterWidgets,'collapseRows':collapseRows,'stringifyNumericDeep':stringifyNumericDeep,'lowercaseKeysDeep':lowercaseKeysDeep};
|
package/src/utils/dateHelper.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a0_0x5dd7(_0x3812dc,_0x3e2729){_0x3812dc=_0x3812dc-0x17e;const _0x403215=a0_0x4032();let _0x5dd757=_0x403215[_0x3812dc];if(a0_0x5dd7['ZkJKmf']===undefined){var _0x1ed2fa=function(_0x33a471){const _0x2c8f23='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1fc454='',_0x5d0782='';for(let _0x16cc5f=0x0,_0x36a447,_0x424b17,_0x1f47c6=0x0;_0x424b17=_0x33a471['charAt'](_0x1f47c6++);~_0x424b17&&(_0x36a447=_0x16cc5f%0x4?_0x36a447*0x40+_0x424b17:_0x424b17,_0x16cc5f++%0x4)?_0x1fc454+=String['fromCharCode'](0xff&_0x36a447>>(-0x2*_0x16cc5f&0x6)):0x0){_0x424b17=_0x2c8f23['indexOf'](_0x424b17);}for(let _0x47394a=0x0,_0x3435b7=_0x1fc454['length'];_0x47394a<_0x3435b7;_0x47394a++){_0x5d0782+='%'+('00'+_0x1fc454['charCodeAt'](_0x47394a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5d0782);};a0_0x5dd7['HcEhoJ']=_0x1ed2fa,a0_0x5dd7['ruKctc']={},a0_0x5dd7['ZkJKmf']=!![];}const _0x1e7232=_0x403215[0x0],_0x482016=_0x3812dc+_0x1e7232,_0x42b9ec=a0_0x5dd7['ruKctc'][_0x482016];return!_0x42b9ec?(_0x5dd757=a0_0x5dd7['HcEhoJ'](_0x5dd757),a0_0x5dd7['ruKctc'][_0x482016]=_0x5dd757):_0x5dd757=_0x42b9ec,_0x5dd757;}const a0_0x37eb53=a0_0x5dd7;function a0_0x4032(){const _0x147e29=['mJe2BhbsrfrM','igPHBq','ndyYmtGYy2n6u1LM','nZa5nu1psLDkzG','z2v0rNvSBfLLyxi','mtC4mJm1DwT2tuTh','mtuZodbpDgvvBKe','ndj1A3b2Agu','zxHWB3j0CW','mJrdq2fNrgS','CM91BMq','mJK3ndG3C2Lvwef4','z2v0rgf0zq','ote3mde0uMvJANfI','C3bSAxq','C01Vt3u','AujprLu','CgfKu3rHCNq','rKvsvKy','mte2mta3oeDAAfL4sa','z2v0twLUDxrLCW','mtKXmJqWCM1XCgD1'];a0_0x4032=function(){return _0x147e29;};return a0_0x4032();}(function(_0x5a78e0,_0x312f4c){const _0x1080f3=a0_0x5dd7,_0x20d1c7=_0x5a78e0();while(!![]){try{const _0x24fdf4=parseInt(_0x1080f3(0x18e))/0x1+-parseInt(_0x1080f3(0x190))/0x2+parseInt(_0x1080f3(0x180))/0x3+parseInt(_0x1080f3(0x18c))/0x4*(parseInt(_0x1080f3(0x188))/0x5)+parseInt(_0x1080f3(0x18a))/0x6*(-parseInt(_0x1080f3(0x185))/0x7)+parseInt(_0x1080f3(0x182))/0x8*(-parseInt(_0x1080f3(0x183))/0x9)+parseInt(_0x1080f3(0x189))/0xa*(parseInt(_0x1080f3(0x186))/0xb);if(_0x24fdf4===_0x312f4c)break;else _0x20d1c7['push'](_0x20d1c7['shift']());}catch(_0x1099f0){_0x20d1c7['push'](_0x20d1c7['shift']());}}}(a0_0x4032,0x60adc));function formatDate(_0x12f66b){const _0x59fa78=a0_0x5dd7,_0x219416={'iBOFU':'Invalid\x20Date','vqWyL':function(_0x3a21a0,_0x3a5a6e){return _0x3a21a0(_0x3a5a6e);},'FERVF':function(_0xf56f07,_0x45f613){return _0xf56f07+_0x45f613;},'xdkIQ':function(_0x236f53,_0x2474b1){return _0x236f53(_0x2474b1);},'huizb':function(_0x3f8e36,_0x102e7f){return _0x3f8e36(_0x102e7f);}};if(!_0x12f66b||!(_0x12f66b instanceof Date))return _0x219416[_0x59fa78(0x193)];const _0x3bb350=_0x12f66b[_0x59fa78(0x187)](),_0x302927=_0x219416['vqWyL'](String,_0x219416[_0x59fa78(0x17f)](_0x12f66b['getMonth'](),0x1))[_0x59fa78(0x17e)](0x2,'0'),_0x23c644=_0x219416['xdkIQ'](String,_0x12f66b[_0x59fa78(0x18f)]())['padStart'](0x2,'0'),_0x41a178=String(_0x12f66b['getHours']())['padStart'](0x2,'0'),_0x8dde36=String(_0x12f66b[_0x59fa78(0x181)]())[_0x59fa78(0x17e)](0x2,'0'),_0x407d90=_0x219416['huizb'](String,_0x12f66b['getSeconds']())['padStart'](0x2,'0');return _0x3bb350+'-'+_0x302927+'-'+_0x23c644+'\x20'+_0x41a178+':'+_0x8dde36+':'+_0x407d90;}function formatDuration(_0x5b4d47){const _0x3a0545=a0_0x5dd7,_0x324fd4={'sMoOu':function(_0x504d74,_0x5b5145){return _0x504d74<_0x5b5145;},'uNFsU':function(_0x1afea2,_0x163aa7){return _0x1afea2/_0x163aa7;},'qLdJL':function(_0x26ea3d,_0xb87277){return _0x26ea3d<_0xb87277;},'gbTCU':function(_0x5290f1,_0x5bcf8e){return _0x5290f1<_0x5bcf8e;}},_0xcea5eb='3|1|4|2|0'[_0x3a0545(0x191)]('|');let _0x36d14f=0x0;while(!![]){switch(_0xcea5eb[_0x36d14f++]){case'0':return Math[_0x3a0545(0x18d)](_0x5b4d47/0x5265c00)+'\x20hari';case'1':if(_0x324fd4[_0x3a0545(0x192)](_0x5b4d47,0xea60))return Math[_0x3a0545(0x18d)](_0x324fd4['uNFsU'](_0x5b4d47,0x3e8))+'\x20detik';continue;case'2':if(_0x324fd4['qLdJL'](_0x5b4d47,0x5265c00))return Math[_0x3a0545(0x18d)](_0x5b4d47/0x36ee80)+_0x3a0545(0x184);continue;case'3':if(_0x5b4d47<0x3e8)return _0x5b4d47+'ms';continue;case'4':if(_0x324fd4['gbTCU'](_0x5b4d47,0x36ee80))return Math[_0x3a0545(0x18d)](_0x5b4d47/0xea60)+'\x20menit';continue;}break;}}module[a0_0x37eb53(0x18b)]={'formatDate':formatDate,'formatDuration':formatDuration};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a0_0x5b1fe9=a0_0x3610;function a0_0x3bbe(){const _0x5dbb4d=['mJuXmJG3mKHACunJrG','zM9YBwf0rgf0zq','zgf0zq','DgLTzq','zxjYB3i','nZaXmZGWExLUrNvp','C3bSAxq','mtiYntK5mZziuwXbsMO','sw52ywXPzcb0Aw1LihzHBhvLoIa','z2v0rgf0zq','zM9YBwf0vgLTzq','zhvWEhO','ntyYotmWou1OBurtwa','C3rYAw5N','rwjpueO','mta2odG2nMLhtevnAq','wgzUwgq','z2v0rNvSBfLLyxi','CgfKu3rHCNq','mMvfCKDHCq','z2v0tw9UDgG','D2fYBG','zM9YBwf0','mtCXnJu1txnizNDX','mti1ndu3nK5MyLvHwG','zM9YBwf0vgLTzxn0yw1W','yw1SALa','BgvUz3rO'];a0_0x3bbe=function(){return _0x5dbb4d;};return a0_0x3bbe();}(function(_0x592626,_0x333199){const _0x165d73=a0_0x3610,_0x52da93=_0x592626();while(!![]){try{const _0x36f007=parseInt(_0x165d73(0x111))/0x1*(parseInt(_0x165d73(0x115))/0x2)+-parseInt(_0x165d73(0xfe))/0x3+-parseInt(_0x165d73(0x107))/0x4+parseInt(_0x165d73(0xfd))/0x5+-parseInt(_0x165d73(0x102))/0x6+-parseInt(_0x165d73(0x10e))/0x7+parseInt(_0x165d73(0x109))/0x8;if(_0x36f007===_0x333199)break;else _0x52da93['push'](_0x52da93['shift']());}catch(_0x3382d5){_0x52da93['push'](_0x52da93['shift']());}}}(a0_0x3bbe,0xc7fd1));function a0_0x3610(_0xfd3d46,_0x1f6811){_0xfd3d46=_0xfd3d46-0xfa;const _0x3bbe8f=a0_0x3bbe();let _0x361098=_0x3bbe8f[_0xfd3d46];if(a0_0x3610['CiWqfQ']===undefined){var _0x33cad9=function(_0x238381){const _0x117362='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x15fb20='',_0x4fb152='';for(let _0x11794e=0x0,_0x2effd7,_0x510a01,_0x4891ff=0x0;_0x510a01=_0x238381['charAt'](_0x4891ff++);~_0x510a01&&(_0x2effd7=_0x11794e%0x4?_0x2effd7*0x40+_0x510a01:_0x510a01,_0x11794e++%0x4)?_0x15fb20+=String['fromCharCode'](0xff&_0x2effd7>>(-0x2*_0x11794e&0x6)):0x0){_0x510a01=_0x117362['indexOf'](_0x510a01);}for(let _0x1a3504=0x0,_0x42a7ea=_0x15fb20['length'];_0x1a3504<_0x42a7ea;_0x1a3504++){_0x4fb152+='%'+('00'+_0x15fb20['charCodeAt'](_0x1a3504)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4fb152);};a0_0x3610['NchAeJ']=_0x33cad9,a0_0x3610['gFRCUW']={},a0_0x3610['CiWqfQ']=!![];}const _0x3087b2=_0x3bbe8f[0x0],_0x1b5652=_0xfd3d46+_0x3087b2,_0x77d1d2=a0_0x3610['gFRCUW'][_0x1b5652];return!_0x77d1d2?(_0x361098=a0_0x3610['NchAeJ'](_0x361098),a0_0x3610['gFRCUW'][_0x1b5652]=_0x361098):_0x361098=_0x77d1d2,_0x361098;}class DateTimeFormatter{static[a0_0x5b1fe9(0xfc)](_0x14e253,_0x4ced4a,_0x329642){const _0x5e6bc7=a0_0x5b1fe9,_0x5b2d74={'zgeFQ':function(_0x1ee52e,_0x22221c){return _0x1ee52e===_0x22221c;},'dupxz':_0x5e6bc7(0x105)};if(!_0x14e253)return null;try{if(_0x5b2d74['zgeFQ'](_0x329642,_0x5e6bc7(0x104)))return this['formatDate'](_0x14e253,_0x4ced4a);else{if(_0x5b2d74['zgeFQ'](_0x329642,'timestamp'))return this['formatTimestamp'](_0x14e253,_0x4ced4a);else{if(_0x329642===_0x5b2d74[_0x5e6bc7(0x10d)])return this[_0x5e6bc7(0x10c)](_0x14e253,_0x4ced4a);}}return _0x14e253;}catch(_0x848836){return console[_0x5e6bc7(0x106)]('Error\x20formatting\x20datetime:\x20'+_0x848836['message']),_0x14e253;}}static[a0_0x5b1fe9(0x103)](_0x5001d9,_0x161e94){const _0x4d5ab5=a0_0x5b1fe9,_0x4d70b8={'amljP':function(_0x388e11,_0x389449){return _0x388e11(_0x389449);}},_0x441261=new Date(_0x5001d9);if(_0x4d70b8[_0x4d5ab5(0x100)](isNaN,_0x441261['getTime']()))return console[_0x4d5ab5(0xfb)]('Invalid\x20date\x20value:\x20'+_0x5001d9),_0x5001d9;const _0x3deb87=_0x4d70b8['amljP'](String,_0x441261['getDate']())['padStart'](0x2,'0'),_0x387207=_0x4d70b8['amljP'](String,_0x441261[_0x4d5ab5(0xfa)]()+0x1)['padStart'](0x2,'0'),_0x520e0e=_0x441261[_0x4d5ab5(0x113)](),_0x5aec1e={'dd/MM/yyyy':_0x3deb87+'/'+_0x387207+'/'+_0x520e0e,'dd-MM-yyyy':_0x3deb87+'-'+_0x387207+'-'+_0x520e0e,'MM/dd/yyyy':_0x387207+'/'+_0x3deb87+'/'+_0x520e0e,'yyyy/MM/dd':_0x520e0e+'/'+_0x387207+'/'+_0x3deb87,'yyyy-MM-dd':_0x520e0e+'-'+_0x387207+'-'+_0x3deb87};return _0x5aec1e[_0x161e94]||_0x520e0e+'-'+_0x387207+'-'+_0x3deb87;}static[a0_0x5b1fe9(0xff)](_0x3d8202,_0x3240d2){const _0x3443c3=a0_0x5b1fe9,_0x538c31={'EbOPJ':function(_0x567825,_0x4fc44b){return _0x567825(_0x4fc44b);},'vwKeI':function(_0x120843,_0x28bad6){return _0x120843+_0x28bad6;}},_0x5c4c0e=new Date(_0x3d8202);if(isNaN(_0x5c4c0e['getTime']()))return console[_0x3443c3(0xfb)]('Invalid\x20timestamp\x20value:\x20'+_0x3d8202),_0x3d8202;const _0x207aed=String(_0x5c4c0e[_0x3443c3(0x10b)]())['padStart'](0x2,'0'),_0x3fda46=_0x538c31[_0x3443c3(0x110)](String,_0x538c31['vwKeI'](_0x5c4c0e[_0x3443c3(0xfa)](),0x1))['padStart'](0x2,'0'),_0x24e28d=_0x5c4c0e[_0x3443c3(0x113)](),_0x32c528=String(_0x5c4c0e['getHours']())['padStart'](0x2,'0'),_0x3ce901=_0x538c31['EbOPJ'](String,_0x5c4c0e['getMinutes']())[_0x3443c3(0x114)](0x2,'0'),_0x2141eb=String(_0x5c4c0e['getSeconds']())[_0x3443c3(0x114)](0x2,'0'),_0x3a8db3=_0x3240d2['split']('\x20');if(_0x3a8db3[_0x3443c3(0x101)]!==0x2)return _0x24e28d+'-'+_0x3fda46+'-'+_0x207aed+'\x20'+_0x32c528+':'+_0x3ce901+':'+_0x2141eb;const _0xec9f5c=_0x3a8db3[0x0],_0x578ace=_0x3a8db3[0x1],_0x1087e1={'dd/MM/yyyy':_0x207aed+'/'+_0x3fda46+'/'+_0x24e28d,'dd-MM-yyyy':_0x207aed+'-'+_0x3fda46+'-'+_0x24e28d,'MM/dd/yyyy':_0x3fda46+'/'+_0x207aed+'/'+_0x24e28d,'yyyy/MM/dd':_0x24e28d+'/'+_0x3fda46+'/'+_0x207aed,'yyyy-MM-dd':_0x24e28d+'-'+_0x3fda46+'-'+_0x207aed},_0x822590={'HH:mm':_0x32c528+':'+_0x3ce901,'HH:mm:ss':_0x32c528+':'+_0x3ce901+':'+_0x2141eb,'hh:mm':_0x32c528+':'+_0x3ce901},_0xbef107=_0x1087e1[_0xec9f5c]||_0x24e28d+'-'+_0x3fda46+'-'+_0x207aed,_0x5091aa=_0x822590[_0x578ace]||_0x32c528+':'+_0x3ce901+':'+_0x2141eb;return _0xbef107+'\x20'+_0x5091aa;}static['formatTime'](_0x541d14,_0x4c7bc5){const _0x5a43f2=a0_0x5b1fe9,_0xd5d8f={'sJRXT':function(_0x58eebd,_0x3b6498){return _0x58eebd!==_0x3b6498;},'XfnXd':function(_0x5bf95c,_0x168ac5){return _0x5bf95c<_0x168ac5;}};if(_0xd5d8f['sJRXT'](typeof _0x541d14,_0x5a43f2(0x10f)))return _0x541d14;const _0x374fe9=_0x541d14[_0x5a43f2(0x108)](':');if(_0xd5d8f[_0x5a43f2(0x112)](_0x374fe9[_0x5a43f2(0x101)],0x2))return console[_0x5a43f2(0xfb)](_0x5a43f2(0x10a)+_0x541d14),_0x541d14;const _0x2f7df4=_0x374fe9[0x0][_0x5a43f2(0x114)](0x2,'0'),_0x309ccb=_0x374fe9[0x1]['padStart'](0x2,'0'),_0x1f19d8=_0x374fe9[0x2]?_0x374fe9[0x2]['split']('.')[0x0][_0x5a43f2(0x114)](0x2,'0'):'00',_0x2f169a={'HH:mm':_0x2f7df4+':'+_0x309ccb,'HH:mm:ss':_0x2f7df4+':'+_0x309ccb+':'+_0x1f19d8,'hh:mm':_0x2f7df4+':'+_0x309ccb};return _0x2f169a[_0x4c7bc5]||_0x2f7df4+':'+_0x309ccb+':'+_0x1f19d8;}}module['exports']=DateTimeFormatter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a0_0x153b(){const _0x391a8c=['rxjYB3iGCgfYC2LUzYbKyxrLDgLTztOG','B3jKzxi','EwvHCG','mtuXmfDUr2TbCG','mZG5mJiXDLHzr01o','Bw9UDgG','nda5mdC5s21RB0Lq','mtyWnJu1mLjnDMnqDa','s1DVqxa','zgf0zq','oeDUBfPLuG','mtjkuKrovLe','zgf5','sw52ywXPzcb0Aw1LC3rHBxaGzM9YBwf0oIa','oJaW','mtu1mdm1mtD3t25JDe8','Ee9ND2i','zxjYB3i','C3bSAxq','seG6Bw06C3m','zM9YrwfJAa','ExL5Es1nts1Kza','D2fYBG','CgfYC2veyxrL','CgfYC2vuAw1L','odK4oty2DuTnvgPh','ExL5Es1nts1KzcbisdPTBtPZCW','Bwf0y2G','mJu2mdiWnvP6sMXuBq','BwvZC2fNzq','mtj5uez0CvG','mty5nZq3nu9wr1zlyG'];a0_0x153b=function(){return _0x391a8c;};return a0_0x153b();}function a0_0x3de0(_0x5b38fa,_0x5108a6){_0x5b38fa=_0x5b38fa-0xc9;const _0x153b56=a0_0x153b();let _0x3de0f5=_0x153b56[_0x5b38fa];if(a0_0x3de0['zvgNKu']===undefined){var _0x5e65d5=function(_0x549f9b){const _0x31c8f6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x546b56='',_0x7258bd='';for(let _0x146bd8=0x0,_0x228e25,_0xa371c6,_0x15603a=0x0;_0xa371c6=_0x549f9b['charAt'](_0x15603a++);~_0xa371c6&&(_0x228e25=_0x146bd8%0x4?_0x228e25*0x40+_0xa371c6:_0xa371c6,_0x146bd8++%0x4)?_0x546b56+=String['fromCharCode'](0xff&_0x228e25>>(-0x2*_0x146bd8&0x6)):0x0){_0xa371c6=_0x31c8f6['indexOf'](_0xa371c6);}for(let _0x172330=0x0,_0x1642f2=_0x546b56['length'];_0x172330<_0x1642f2;_0x172330++){_0x7258bd+='%'+('00'+_0x546b56['charCodeAt'](_0x172330)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x7258bd);};a0_0x3de0['EfANAS']=_0x5e65d5,a0_0x3de0['XcnFMc']={},a0_0x3de0['zvgNKu']=!![];}const _0x117c77=_0x153b56[0x0],_0x2ee802=_0x5b38fa+_0x117c77,_0x256532=a0_0x3de0['XcnFMc'][_0x2ee802];return!_0x256532?(_0x3de0f5=a0_0x3de0['EfANAS'](_0x3de0f5),a0_0x3de0['XcnFMc'][_0x2ee802]=_0x3de0f5):_0x3de0f5=_0x256532,_0x3de0f5;}const a0_0x2f2357=a0_0x3de0;(function(_0xb10a32,_0x12487a){const _0x578bb8=a0_0x3de0,_0xfad890=_0xb10a32();while(!![]){try{const _0x5b99af=parseInt(_0x578bb8(0xdb))/0x1+parseInt(_0x578bb8(0xd5))/0x2*(parseInt(_0x578bb8(0xe7))/0x3)+parseInt(_0x578bb8(0xe3))/0x4+parseInt(_0x578bb8(0xd8))/0x5*(parseInt(_0x578bb8(0xda))/0x6)+parseInt(_0x578bb8(0xe0))/0x7*(-parseInt(_0x578bb8(0xe6))/0x8)+parseInt(_0x578bb8(0xcb))/0x9+-parseInt(_0x578bb8(0xdf))/0xa*(parseInt(_0x578bb8(0xe2))/0xb);if(_0x5b99af===_0x12487a)break;else _0xfad890['push'](_0xfad890['shift']());}catch(_0x4a5198){_0xfad890['push'](_0xfad890['shift']());}}}(a0_0x153b,0xed736));class DateTimeParser{static['parse'](_0x4e97b5,_0x3938aa,_0x71da80){const _0x211141=a0_0x3de0,_0x482f92={'EDyLR':function(_0x5e4d9d,_0x272862){return _0x5e4d9d===_0x272862;},'aRFPg':_0x211141(0xe5)};if(!_0x4e97b5||_0x482f92['EDyLR'](_0x4e97b5,''))return null;try{if(_0x71da80===_0x482f92['aRFPg'])return this['parseDate'](_0x4e97b5,_0x3938aa);else{if(_0x71da80==='timestamp')return this['parseTimestamp'](_0x4e97b5,_0x3938aa);else{if(_0x71da80==='time')return this[_0x211141(0xd4)](_0x4e97b5,_0x3938aa);}}return _0x4e97b5;}catch(_0x14f367){return console[_0x211141(0xcd)](_0x211141(0xdc)+_0x14f367[_0x211141(0xd9)]),null;}}static[a0_0x2f2357(0xd3)](_0xfe5bd1,_0x361142){const _0x141808=a0_0x2f2357,_0x39e568={'HlDxG':function(_0x2ab45d,_0x51b7be){return _0x2ab45d+_0x51b7be;},'KWoAp':function(_0x245e0d,_0x28ea7b){return _0x245e0d===_0x28ea7b;},'VYALr':_0x141808(0xde),'XYOzC':'day'};if(!_0x361142||_0x39e568[_0x141808(0xe4)](_0x361142,_0x141808(0xd1)))return _0xfe5bd1;const _0x436e31={'dd/MM/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x141808(0xe8),'month',_0x39e568['VYALr']]},'dd-MM-yyyy':{'pattern':/^(\d{2})-(\d{2})-(\d{4})$/,'order':[_0x39e568['XYOzC'],_0x141808(0xe1),'year']},'MM/dd/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':['month',_0x39e568['XYOzC'],_0x141808(0xde)]},'yyyy/MM/dd':{'pattern':/^(\d{4})\/(\d{2})\/(\d{2})$/,'order':['year',_0x141808(0xe1),_0x141808(0xe8)]}},_0x1389ab=_0x436e31[_0x361142];if(!_0x1389ab)return console['warn']('Unknown\x20date\x20format:\x20'+_0x361142+',\x20returning\x20null'),null;const _0x33d774=_0xfe5bd1['match'](_0x1389ab['pattern']);if(!_0x33d774)return console[_0x141808(0xd2)]('Date\x20value\x20\x22'+_0xfe5bd1+'\x22\x20doesn\x27t\x20match\x20format\x20\x22'+_0x361142+'\x22'),null;const _0x11989a={'day':null,'month':null,'year':null};return _0x1389ab[_0x141808(0xdd)][_0x141808(0xd0)]((_0x1acecf,_0x4af1df)=>{_0x11989a[_0x1acecf]=_0x33d774[_0x39e568['HlDxG'](_0x4af1df,0x1)];}),_0x11989a[_0x141808(0xde)]+'-'+_0x11989a['month']+'-'+_0x11989a[_0x141808(0xe8)];}static['parseTimestamp'](_0x4f93af,_0x15cc5b){const _0x460fd2=a0_0x2f2357,_0x12d3b0={'xOgwb':function(_0x3ada55,_0x3c960){return _0x3ada55===_0x3c960;},'nwCIP':function(_0x106dab,_0x3446d9){return _0x106dab===_0x3446d9;}};if(!_0x15cc5b||_0x12d3b0[_0x460fd2(0xcc)](_0x15cc5b,_0x460fd2(0xd6)))return _0x4f93af;const _0x1625a3=_0x4f93af['split']('\x20');if(_0x1625a3['length']!==0x2)return console[_0x460fd2(0xd2)](_0x460fd2(0xc9)+_0x4f93af),null;const [_0x2ca370,_0x57f643]=_0x1625a3,_0x3dfc31=_0x15cc5b[_0x460fd2(0xce)]('\x20')[0x0],_0x28f5e1=this['parseDate'](_0x2ca370,_0x3dfc31);if(!_0x28f5e1)return null;const _0x12f4aa=_0x12d3b0['nwCIP'](_0x57f643['split'](':')['length'],0x2)?_0x57f643+':00':_0x57f643;return _0x28f5e1+'\x20'+_0x12f4aa;}static['parseTime'](_0xa1323c,_0x40cf0b){const _0x51e9b0=a0_0x2f2357,_0x27fc37={'ZBroq':_0x51e9b0(0xcf),'VyXeB':'HH:mm'};if(!_0x40cf0b||_0x40cf0b===_0x27fc37['ZBroq'])return _0xa1323c;if(_0x40cf0b===_0x27fc37['VyXeB']){if(_0xa1323c[_0x51e9b0(0xd7)](/^\d{2}:\d{2}$/))return _0xa1323c+_0x51e9b0(0xca);}return _0xa1323c;}}module['exports']=DateTimeParser;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const a0_0x1bc111=a0_0x441c;(function(_0x2e7599,_0x4fa046){const _0x36193e=a0_0x441c,_0x4505a0=_0x2e7599();while(!![]){try{const _0x5e5b8a=parseInt(_0x36193e(0x159))/0x1*(parseInt(_0x36193e(0x15d))/0x2)+parseInt(_0x36193e(0x188))/0x3*(parseInt(_0x36193e(0x176))/0x4)+-parseInt(_0x36193e(0x184))/0x5+-parseInt(_0x36193e(0x16f))/0x6+parseInt(_0x36193e(0x15a))/0x7*(-parseInt(_0x36193e(0x17c))/0x8)+parseInt(_0x36193e(0x177))/0x9+parseInt(_0x36193e(0x178))/0xa;if(_0x5e5b8a===_0x4fa046)break;else _0x4505a0['push'](_0x4505a0['shift']());}catch(_0x2da326){_0x4505a0['push'](_0x4505a0['shift']());}}}(a0_0x1288,0xc5701));const readline=require('node:readline'),DB_NOT_EXISTS_CODES={'postgresql':[a0_0x1bc111(0x155)],'mysql':[a0_0x1bc111(0x182),a0_0x1bc111(0x179)]},PRIVILEGE_DENIED_CODES={'postgresql':['42501'],'mysql':['ER_DBACCESS_DENIED_ERROR','ER_SPECIFIC_ACCESS_DENIED_ERROR','1044',a0_0x1bc111(0x161)]},SUPPORTED_DB_TYPES=new Set([a0_0x1bc111(0x172),a0_0x1bc111(0x17d)]);function isDbNotExistsError(_0x8914b2,_0x29e7c0){const _0x1801d0=a0_0x1bc111,_0x39f019={'Rtfug':function(_0x248bba,_0x35cf57){return _0x248bba(_0x35cf57);},'Jiewv':function(_0x2aea25,_0x296fc9){return _0x2aea25(_0x296fc9);}};if(!_0x29e7c0)return![];const _0xaddfbb=DB_NOT_EXISTS_CODES[_0x8914b2];if(!_0xaddfbb)return![];if(_0x29e7c0['code']&&_0xaddfbb[_0x1801d0(0x174)](_0x39f019[_0x1801d0(0x14f)](String,_0x29e7c0[_0x1801d0(0x14c)])))return!![];if(_0x29e7c0[_0x1801d0(0x185)]!==undefined&&_0xaddfbb[_0x1801d0(0x174)](_0x39f019[_0x1801d0(0x175)](String,_0x29e7c0[_0x1801d0(0x185)])))return!![];return![];}function isPrivilegeDeniedError(_0x9b437f,_0x52f3fe){const _0x5d7730=a0_0x1bc111;if(!_0x52f3fe)return![];const _0x4ebee9=PRIVILEGE_DENIED_CODES[_0x9b437f];if(!_0x4ebee9)return![];if(_0x52f3fe['code']&&_0x4ebee9['includes'](String(_0x52f3fe[_0x5d7730(0x14c)])))return!![];if(_0x52f3fe['errno']!==undefined&&_0x4ebee9[_0x5d7730(0x174)](String(_0x52f3fe['errno'])))return!![];return![];}function escapeIdentifier(_0x49aa6b,_0x194c0d){const _0x272326=a0_0x1bc111,_0x360c6e={'rHaQd':function(_0x5ab843,_0x50fb7c){return _0x5ab843===_0x50fb7c;},'QAXnC':'postgresql','sQNGU':function(_0x29b274,_0x370224){return _0x29b274+_0x370224;},'oXMur':function(_0x3386d0,_0xaed2b8){return _0x3386d0===_0xaed2b8;},'VwaJx':'mysql','QQEJD':function(_0x6d59a5,_0x54f272){return _0x6d59a5+_0x54f272;}},_0xd93df7=String(_0x194c0d);if(_0x360c6e['rHaQd'](_0x49aa6b,_0x360c6e[_0x272326(0x154)]))return _0x360c6e[_0x272326(0x17b)]('\x22',_0xd93df7[_0x272326(0x15e)](/"/g,'\x22\x22'))+'\x22';if(_0x360c6e[_0x272326(0x158)](_0x49aa6b,_0x360c6e[_0x272326(0x16a)]))return _0x360c6e[_0x272326(0x17b)](_0x360c6e[_0x272326(0x153)]('`',_0xd93df7[_0x272326(0x15e)](/`/g,'``')),'`');throw new Error(_0x272326(0x150)+_0x49aa6b+'\x27');}function isInteractive(){const _0xf54155=a0_0x1bc111,_0x23e9d1={'OQQue':function(_0x765194,_0x5ef8fd){return _0x765194(_0x5ef8fd);}};return Boolean(process['stdin'][_0xf54155(0x16c)])&&_0x23e9d1['OQQue'](Boolean,process['stdout'][_0xf54155(0x16c)]);}function promptYesNo(_0x234ad0){const _0x252611={'bZgSV':function(_0x14f8dd,_0x20c909){return _0x14f8dd===_0x20c909;}};return new Promise(_0x10898d=>{const _0x15197b=a0_0x441c,_0x3d6428={'jxANa':function(_0x1a02e2,_0x13a8b8){return _0x252611['bZgSV'](_0x1a02e2,_0x13a8b8);}},_0x599c61=readline[_0x15197b(0x157)]({'input':process['stdin'],'output':process[_0x15197b(0x151)]});_0x599c61['question'](_0x234ad0,_0x14279e=>{const _0x10accd=_0x15197b;_0x599c61['close']();const _0x1ebafe=String(_0x14279e||'')[_0x10accd(0x181)]()[_0x10accd(0x15c)]();_0x10898d(_0x3d6428['jxANa'](_0x1ebafe,'y')||_0x3d6428[_0x10accd(0x187)](_0x1ebafe,_0x10accd(0x160)));});});}async function createPostgresDatabase(_0x4d82f2,_0x5a5c42){const _0x1940a6=a0_0x1bc111,_0x250ebd={'Evqik':function(_0x3fa4e4,_0x966b3a){return _0x3fa4e4(_0x966b3a);},'yqvCI':'postgresql'},{Client:_0x476231}=_0x250ebd[_0x1940a6(0x14d)](require,'pg'),_0x2347eb=new _0x476231({'host':_0x4d82f2['host'],'port':_0x4d82f2[_0x1940a6(0x17f)],'user':_0x4d82f2['user'],'password':_0x4d82f2['password'],'database':'postgres'});await _0x2347eb['connect']();try{const _0x2fedb2=escapeIdentifier(_0x250ebd['yqvCI'],_0x5a5c42);await _0x2347eb['query'](_0x1940a6(0x14a)+_0x2fedb2);}finally{try{await _0x2347eb[_0x1940a6(0x183)]();}catch(_0x5a7d35){}}}async function createMysqlDatabase(_0x6cc2bc,_0x5f0f0c){const _0x2757c2=a0_0x1bc111,_0x3fb68b={'wTSnC':_0x2757c2(0x166)},_0xb49ddf=require(_0x3fb68b['wTSnC']),_0x5b2176=await _0xb49ddf[_0x2757c2(0x15f)]({'host':_0x6cc2bc[_0x2757c2(0x170)],'port':_0x6cc2bc['port'],'user':_0x6cc2bc['user'],'password':_0x6cc2bc['password']});try{const _0x5ceb4e=escapeIdentifier(_0x2757c2(0x17d),_0x5f0f0c);await _0x5b2176['query'](_0x2757c2(0x14a)+_0x5ceb4e+_0x2757c2(0x17a));}finally{try{await _0x5b2176[_0x2757c2(0x183)]();}catch(_0x198abe){}}}function a0_0x1288(){const _0x5f5c0a=['DxnLCIbKzwnSAw5Lza','BxLZCwWYl3bYB21PC2u','qK1is0G','jYbZzwnHCMeGBwfUDwfSlG','uhrevu4','vNDHsNG','vM5PAxm','AxnuvfK','rxjYB3i6ieDHz2fSig1LBwj1yxqGzgf0ywjHC2uGjW','qKLvq3a','otm3nJuXmM1pBfzQCa','Ag9ZDa','zgf0ywjHC2u','Cg9ZDgDYzxnXBa','q3jLyxrPBMCGzgf0ywjHC2uGjW','Aw5JBhvKzxm','sMLLD3y','otj5tgrkC0O','mtaWodu3mdzSzfzpzKO','mJy2ntq1odbZtgjJrvO','mta0oq','ieniqvjbq1rfuIbtrvqGDxrMog1Incbdt0Xmqvrfihv0zJHTyJrFDw5Py29Kzv9JAq','C1for1u','mZmWngPLyNPYBq','BxLZCwW','zNzjzeO','Cg9YDa','jZOG','DhjPBq','rvjFqKfex0rcx0vsuK9s','zw5K','nJi3nZqWmfLtyMnYzW','zxjYBM8','DxnLCG','ANHbtMe','nZaYmdzPBuL6vLu','jY4UlG','q1jfqvrfierbvefcqvnfia','shvIDw5NAsbHzg1PBMLZDhjHDg9YigrHDgfIyxnLihvUDhvRig1LBwj1yxqGzgf0ywjHC2uGjW','y29Kzq','rxzXAwS','wKP6wNG','uNrMDwC','zxnJyxbLswrLBNrPzMLLCJOGDw5ZDxbWB3j0zwqGzgjuExbLicC','C3rKB3v0','Ee1UyLa','uvffsKq','uufyBKm','m0qWmda','u0vmrunuide','y3jLyxrLsw50zxjMywnL','B1HnDxi','mtj5rLPgDNG','mJq1mdDjr0ftvKW','qxbHA2fOigLUz2LUig1LBwj1yxqGzgf0ywjHC2uGyMfYDt8GkhKVtIK6ia','Dg9mB3DLCKnHC2u','mti0nZuYswDpqKne','CMvWBgfJzq','y3jLyxrLq29UBMvJDgLVBG','EwvZ','mtiYnW','Bg9N','vw50DwSGBwvTyNvHDcbKyxrHyMfZzsbZzwnHCMeGB3rVBwf0AxmGCgfKysbTB2rLig5VBI1PBNrLCMfRDgLMlcb0yw1IywHRyw4GzMXHzYaTlwf1Dg8Ty3jLyxrLlwrIlG','jYb0AwrHAYbKAxrLBxvRyw4GCgfKysa'];a0_0x1288=function(){return _0x5f5c0a;};return a0_0x1288();}async function testConnection(_0x53757b,_0x576161){const _0x140e41=a0_0x1bc111,_0x21c44a={'PtDUN':function(_0x56b4f9,_0x54a957){return _0x56b4f9===_0x54a957;},'BMHKH':function(_0x165fc9,_0x217a31){return _0x165fc9(_0x217a31);},'fvIdJ':_0x140e41(0x156),'gMBRS':'mysql','ZJzZx':'mysql2/promise'};if(_0x21c44a[_0x140e41(0x169)](_0x53757b,'postgresql')){const {Client:_0x5be812}=_0x21c44a[_0x140e41(0x167)](require,'pg'),_0x449315=new _0x5be812({'host':_0x576161[_0x140e41(0x170)],'port':_0x576161['port'],'user':_0x576161['user'],'password':_0x576161['password'],'database':_0x576161['database']});await _0x449315['connect']();try{await _0x449315['query'](_0x21c44a[_0x140e41(0x17e)]);}finally{try{await _0x449315[_0x140e41(0x183)]();}catch(_0x13472b){}}return;}if(_0x53757b===_0x21c44a['gMBRS']){const _0x4230c2=require(_0x21c44a[_0x140e41(0x14e)]),_0x262813=await _0x4230c2[_0x140e41(0x15f)]({'host':_0x576161[_0x140e41(0x170)],'port':_0x576161[_0x140e41(0x17f)],'user':_0x576161[_0x140e41(0x186)],'password':_0x576161['password'],'database':_0x576161['database']});try{await _0x262813['query'](_0x21c44a[_0x140e41(0x17e)]);}finally{try{await _0x262813[_0x140e41(0x183)]();}catch(_0x3fad2b){}}return;}throw new Error('testConnection:\x20unsupported\x20dbType\x20\x27'+_0x53757b+'\x27');}async function handleMissingDatabase(_0x585c44){const _0x5266ea=a0_0x1bc111,_0x317846={'BIUCp':function(_0x4b91cf,_0x1fb652){return _0x4b91cf(_0x1fb652);},'gGevl':_0x5266ea(0x165),'ChWXo':'postgresql','Vniis':function(_0x111c75,_0x5c04b1,_0x5888b7){return _0x111c75(_0x5c04b1,_0x5888b7);},'xMnbP':'privilege\x20denied'},{dbType:_0x2a8368,error:_0x40c627,connectionConfig:_0x11e4f0,autoCreate:_0xbfba44,commandHint:_0x5ea189}=_0x585c44||{};if(!SUPPORTED_DB_TYPES['has'](_0x2a8368))return{'handled':![]};if(!isDbNotExistsError(_0x2a8368,_0x40c627))return{'handled':![]};const _0x3437df=_0x11e4f0&&_0x11e4f0[_0x5266ea(0x171)];if(!_0x3437df)return{'handled':![]};const _0x4f199b=isInteractive();let _0x4ecb16=![];if(_0xbfba44===!![])_0x4ecb16=!![];else{if(_0x4f199b)console[_0x5266ea(0x162)](''),console['log']('Database\x20\x27'+_0x3437df+_0x5266ea(0x164)+_0x2a8368+'\x20server.'),_0x4ecb16=await _0x317846[_0x5266ea(0x16e)](promptYesNo,_0x5266ea(0x15b));else return{'handled':!![],'created':![],'reason':'non-interactive','hint':_0x5266ea(0x163)};}if(!_0x4ecb16)return{'handled':!![],'created':![],'reason':_0x317846['gGevl']};console[_0x5266ea(0x162)](''),console[_0x5266ea(0x162)](_0x5266ea(0x173)+_0x3437df+_0x5266ea(0x189));try{_0x2a8368===_0x317846['ChWXo']?await _0x317846[_0x5266ea(0x16b)](createPostgresDatabase,_0x11e4f0,_0x3437df):await _0x317846['Vniis'](createMysqlDatabase,_0x11e4f0,_0x3437df);}catch(_0x57cfa8){if(isPrivilegeDeniedError(_0x2a8368,_0x57cfa8))return console['log']('Error:\x20User\x20\x27'+_0x11e4f0['user']+'\x27\x20tidak\x20memiliki\x20privilege\x20untuk\x20membuat\x20database.'),console[_0x5266ea(0x162)](_0x5266ea(0x14b)+_0x3437df+_0x5266ea(0x168)),{'handled':!![],'created':![],'reason':_0x317846[_0x5266ea(0x152)],'error':_0x57cfa8};return console['log'](_0x5266ea(0x16d)+_0x3437df+_0x5266ea(0x180)+_0x57cfa8['message']),{'handled':!![],'created':![],'reason':'create\x20failed','error':_0x57cfa8};}return console[_0x5266ea(0x162)]('[OK]\x20Database\x20\x27'+_0x3437df+'\x27\x20berhasil\x20dibuat.'),_0x5ea189&&(console[_0x5266ea(0x162)](''),console[_0x5266ea(0x162)]('Silakan\x20jalankan\x20kembali\x20perintah:'),console['log']('\x20\x20'+_0x5ea189)),{'handled':!![],'created':!![],'dbName':_0x3437df};}function a0_0x441c(_0x27b22e,_0x3d61eb){_0x27b22e=_0x27b22e-0x14a;const _0x1288b2=a0_0x1288();let _0x441ccc=_0x1288b2[_0x27b22e];if(a0_0x441c['YwrPFN']===undefined){var _0xfc3887=function(_0x57651f){const _0x3a317e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x216a33='',_0x1a0117='';for(let _0x539e90=0x0,_0x4cbd90,_0x2fc913,_0x5e85a4=0x0;_0x2fc913=_0x57651f['charAt'](_0x5e85a4++);~_0x2fc913&&(_0x4cbd90=_0x539e90%0x4?_0x4cbd90*0x40+_0x2fc913:_0x2fc913,_0x539e90++%0x4)?_0x216a33+=String['fromCharCode'](0xff&_0x4cbd90>>(-0x2*_0x539e90&0x6)):0x0){_0x2fc913=_0x3a317e['indexOf'](_0x2fc913);}for(let _0x59238d=0x0,_0x504d9c=_0x216a33['length'];_0x59238d<_0x504d9c;_0x59238d++){_0x1a0117+='%'+('00'+_0x216a33['charCodeAt'](_0x59238d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1a0117);};a0_0x441c['lXzWYO']=_0xfc3887,a0_0x441c['qpBLDj']={},a0_0x441c['YwrPFN']=!![];}const _0x5afefc=_0x1288b2[0x0],_0x39c2cb=_0x27b22e+_0x5afefc,_0x17b2d8=a0_0x441c['qpBLDj'][_0x39c2cb];return!_0x17b2d8?(_0x441ccc=a0_0x441c['lXzWYO'](_0x441ccc),a0_0x441c['qpBLDj'][_0x39c2cb]=_0x441ccc):_0x441ccc=_0x17b2d8,_0x441ccc;}module['exports']={'handleMissingDatabase':handleMissingDatabase,'isDbNotExistsError':isDbNotExistsError,'isPrivilegeDeniedError':isPrivilegeDeniedError,'escapeIdentifier':escapeIdentifier,'testConnection':testConnection,'SUPPORTED_DB_TYPES':SUPPORTED_DB_TYPES};
|
|
1
|
+
'use strict';const a0_0x591069=a0_0xd66f;(function(_0x162d23,_0x4ad197){const _0x191acc=a0_0xd66f,_0x1d2339=_0x162d23();while(!![]){try{const _0x51df24=parseInt(_0x191acc(0x21f))/0x1*(-parseInt(_0x191acc(0x208))/0x2)+-parseInt(_0x191acc(0x22e))/0x3+-parseInt(_0x191acc(0x22f))/0x4+parseInt(_0x191acc(0x223))/0x5*(parseInt(_0x191acc(0x212))/0x6)+-parseInt(_0x191acc(0x1fe))/0x7+parseInt(_0x191acc(0x1f3))/0x8*(parseInt(_0x191acc(0x22a))/0x9)+-parseInt(_0x191acc(0x22b))/0xa*(-parseInt(_0x191acc(0x222))/0xb);if(_0x51df24===_0x4ad197)break;else _0x1d2339['push'](_0x1d2339['shift']());}catch(_0xc762a4){_0x1d2339['push'](_0x1d2339['shift']());}}}(a0_0x1183,0x7d462));function a0_0x1183(){const _0xaae186=['mty2otK2nxbRt01hzW','mZiYndG4ofHbu0T3EG','wuvICuG','jYbTyw51ywXSEs4','CMvWBgfJzq','jYbJCMvHDgvKihn1y2nLC3nMDwXSEs4','ndi1mde','ugXLyxnLignVBNrHy3qGDgHLigrHDgfIyxnLigfKBwLUAxn0CMf0B3iGDg8Gy3jLyxrLihrOzsbKyxrHyMfZzsaN','DgvZDenVBM5Ly3rPB246ihvUC3vWCg9YDgvKigrIvhLWzsaN','C3rKAw4','jYbKB2vZig5VDcbOyxzLihbYAxzPBgvNzsb0BYbJCMvHDguGysbKyxrHyMfZzs4','rxjYB3i6iezHAwXLzcb0BYbJCMvHDguGzgf0ywjHC2uGjW','AgfZ','mJu1ndGWofvOwwXkAq','Dwf3qw4','mta0oq','zw5K','BxLZCwWYl3bYB21PC2u','BxLZCwW','wfP1z3K','ihnLCNzLCI4','y0nLzuu','AxnuvfK','zgf0ywjHC2u','mZe4nZK3nvH0CLbSvG','zxjYBM8','y29UBMvJDa','DxnLCIbKzwnSAw5Lza','EhPIDNq','rgf0ywjHC2uGjW','q1jfqvrfierbvefcqvnfia','sKzYDgW','DunczNi','Cg9qBwy','mta4nJe1nKX4r256sG','Cg9ZDgDYzxm','A0Dzwwu','tfvnAM4','EwvZ','y3jLyxrLsw50zxjMywnL','Cg9ZDgDYzxnXBa','CxvLCNK','Ag9ZDa','Aw5JBhvKzxm','mtHcs2fnDMW','ChjPDMLSzwDLigrLBMLLza','y3jLyxrLq29UBMvJDgLVBG','ugXLyxnLihjLlxj1BIb0AguGy29TBwfUzdO','wvzSv2G','Cg9YDa','BM9KztPYzwfKBgLUzq','Bg9N','y3jLyxrLigzHAwXLza','zxnJyxbLswrLBNrPzMLLCJOGDw5ZDxbWB3j0zwqGzgjuExbLicC','DxnLCG','C3rKB3v0','CxvLC3rPB24','muDhuMfvqG','jZOG','CgfZC3DVCMq','mtiXmevQsfPYwq','mte1mduZnuvcBxvtsW','yNHAtg8','q3jLyxrPBMCGzgf0ywjHC2uGjW','y29Kzq','mtiYnW','t3nIA3C','rvjFqKfex0rcx0vsuK9s','ouD4A2fgtq','mty5ntmWvw9Sww9q','u0vmrunuide','jYb3yxmGBM90igzVDw5Kig9UihrOzsa'];a0_0x1183=function(){return _0xaae186;};return a0_0x1183();}const readline=require(a0_0x591069(0x218)),DB_NOT_EXISTS_CODES={'postgresql':['3D000'],'mysql':[a0_0x591069(0x229),a0_0x591069(0x1f5)]},PRIVILEGE_DENIED_CODES={'postgresql':[a0_0x591069(0x1ec)],'mysql':['ER_DBACCESS_DENIED_ERROR','ER_SPECIFIC_ACCESS_DENIED_ERROR','1044',a0_0x591069(0x227)]},SUPPORTED_DB_TYPES=new Set(['postgresql','mysql']);function isDbNotExistsError(_0x32e4e1,_0x46c6e5){const _0x4c250b=a0_0x591069,_0x52efc7={'lwDcG':function(_0x266c99,_0x284ca3){return _0x266c99!==_0x284ca3;}};if(!_0x46c6e5)return![];const _0x278462=DB_NOT_EXISTS_CODES[_0x32e4e1];if(!_0x278462)return![];if(_0x46c6e5['code']&&_0x278462['includes'](String(_0x46c6e5[_0x4c250b(0x226)])))return!![];if(_0x52efc7['lwDcG'](_0x46c6e5['errno'],undefined)&&_0x278462['includes'](String(_0x46c6e5[_0x4c250b(0x1ff)])))return!![];return![];}function isPrivilegeDeniedError(_0x4be14e,_0x5f4f41){const _0x20bd2f=a0_0x591069,_0x284d95={'YEbqH':function(_0x128514,_0x40c848){return _0x128514(_0x40c848);}};if(!_0x5f4f41)return![];const _0x4bb5d2=PRIVILEGE_DENIED_CODES[_0x4be14e];if(!_0x4bb5d2)return![];if(_0x5f4f41['code']&&_0x4bb5d2['includes'](String(_0x5f4f41[_0x20bd2f(0x226)])))return!![];if(_0x5f4f41['errno']!==undefined&&_0x4bb5d2[_0x20bd2f(0x211)](_0x284d95[_0x20bd2f(0x1e8)](String,_0x5f4f41[_0x20bd2f(0x1ff)])))return!![];return![];}function escapeIdentifier(_0x229d26,_0x4ca918){const _0xd6c9d0=a0_0x591069,_0x5c2e5d={'Osbkw':function(_0x4a0e26,_0x537934){return _0x4a0e26(_0x537934);},'Zqpvn':function(_0xd31517,_0x54fa9b){return _0xd31517===_0x54fa9b;},'bxZLo':_0xd6c9d0(0x20e),'odbRQ':function(_0x4da7d9,_0x1bf2d8){return _0x4da7d9+_0x1bf2d8;},'YVlWh':'mysql','uawAn':function(_0x39ec06,_0x1d8a3b){return _0x39ec06+_0x1d8a3b;}},_0x4f5511=_0x5c2e5d[_0xd6c9d0(0x228)](String,_0x4ca918);if(_0x5c2e5d['Zqpvn'](_0x229d26,_0x5c2e5d[_0xd6c9d0(0x224)]))return _0x5c2e5d['odbRQ'](_0x5c2e5d['odbRQ']('\x22',_0x4f5511['replace'](/"/g,'\x22\x22')),'\x22');if(_0x229d26===_0x5c2e5d[_0xd6c9d0(0x216)])return _0x5c2e5d[_0xd6c9d0(0x1f4)]('`',_0x4f5511[_0xd6c9d0(0x1ea)](/`/g,'``'))+'`';throw new Error(_0xd6c9d0(0x21b)+_0x229d26+'\x27');}function isInteractive(){const _0x21101c=a0_0x591069,_0x4327f9={'xzbvt':function(_0x2729b1,_0x238a3d){return _0x2729b1(_0x238a3d);}};return Boolean(process[_0x21101c(0x1ef)][_0x21101c(0x1fc)])&&_0x4327f9[_0x21101c(0x202)](Boolean,process['stdout']['isTTY']);}function a0_0xd66f(_0x3d4bf3,_0x21572e){_0x3d4bf3=_0x3d4bf3-0x1e8;const _0x11832b=a0_0x1183();let _0xd66fca=_0x11832b[_0x3d4bf3];if(a0_0xd66f['bSFTLN']===undefined){var _0x2bbc83=function(_0x594e0d){const _0x4fb731='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x115302='',_0x3bc6c7='';for(let _0x2a9921=0x0,_0x1a24d6,_0x5dae4d,_0x1105f7=0x0;_0x5dae4d=_0x594e0d['charAt'](_0x1105f7++);~_0x5dae4d&&(_0x1a24d6=_0x2a9921%0x4?_0x1a24d6*0x40+_0x5dae4d:_0x5dae4d,_0x2a9921++%0x4)?_0x115302+=String['fromCharCode'](0xff&_0x1a24d6>>(-0x2*_0x2a9921&0x6)):0x0){_0x5dae4d=_0x4fb731['indexOf'](_0x5dae4d);}for(let _0x441b5c=0x0,_0x196542=_0x115302['length'];_0x441b5c<_0x196542;_0x441b5c++){_0x3bc6c7+='%'+('00'+_0x115302['charCodeAt'](_0x441b5c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3bc6c7);};a0_0xd66f['uRqULD']=_0x2bbc83,a0_0xd66f['XDXXfd']={},a0_0xd66f['bSFTLN']=!![];}const _0x3c6b35=_0x11832b[0x0],_0x562091=_0x3d4bf3+_0x3c6b35,_0x1eb2f8=a0_0xd66f['XDXXfd'][_0x562091];return!_0x1eb2f8?(_0xd66fca=a0_0xd66f['uRqULD'](_0xd66fca),a0_0xd66f['XDXXfd'][_0x562091]=_0xd66fca):_0xd66fca=_0x1eb2f8,_0xd66fca;}function promptYesNo(_0x12da99){const _0x55cf6e=a0_0x591069,_0x164b4c={'cCeeE':function(_0xa0cd5e,_0x269a0f){return _0xa0cd5e(_0x269a0f);},'YyqPw':function(_0x38b42d,_0x1fda35){return _0x38b42d(_0x1fda35);},'kGYYe':function(_0x49ed6b,_0x4c7fde){return _0x49ed6b===_0x4c7fde;},'JFrtl':_0x55cf6e(0x20c)};return new Promise(_0x30412f=>{const _0x1f2ae1=_0x55cf6e,_0x17140e=readline[_0x1f2ae1(0x20d)]({'input':process[_0x1f2ae1(0x1ef)],'output':process[_0x1f2ae1(0x21d)]});_0x17140e[_0x1f2ae1(0x21e)](_0x12da99,_0x565a1a=>{const _0x4fae0e=_0x1f2ae1;_0x17140e['close']();const _0x104841=_0x164b4c[_0x4fae0e(0x1fb)](String,_0x565a1a||'')['trim']()['toLowerCase']();_0x164b4c['YyqPw'](_0x30412f,_0x164b4c[_0x4fae0e(0x20a)](_0x104841,'y')||_0x104841===_0x164b4c[_0x4fae0e(0x205)]);});});}async function createPostgresDatabase(_0x3c1a1a,_0x1945d8){const _0x292d6f=a0_0x591069,_0x10192a={'uCBfr':_0x292d6f(0x20e)},{Client:_0x3f3e73}=require('pg'),_0x1333eb=new _0x3f3e73({'host':_0x3c1a1a[_0x292d6f(0x210)],'port':_0x3c1a1a[_0x292d6f(0x217)],'user':_0x3c1a1a['user'],'password':_0x3c1a1a['password'],'database':_0x292d6f(0x209)});await _0x1333eb['connect']();try{const _0x26b4b3=escapeIdentifier(_0x10192a[_0x292d6f(0x206)],_0x1945d8);await _0x1333eb[_0x292d6f(0x20f)]('CREATE\x20DATABASE\x20'+_0x26b4b3);}finally{try{await _0x1333eb['end']();}catch(_0x3b8460){}}}async function createMysqlDatabase(_0x13a77d,_0x348926){const _0x1fbc24=a0_0x591069,_0x529c15={'poPmf':function(_0x2eccf0,_0x22f814,_0x17f19a){return _0x2eccf0(_0x22f814,_0x17f19a);}},_0x347961=require(_0x1fbc24(0x1f7)),_0x63be81=await _0x347961[_0x1fbc24(0x214)]({'host':_0x13a77d['host'],'port':_0x13a77d[_0x1fbc24(0x217)],'user':_0x13a77d[_0x1fbc24(0x21c)],'password':_0x13a77d['password']});try{const _0x1848e5=_0x529c15[_0x1fbc24(0x207)](escapeIdentifier,'mysql',_0x348926);await _0x63be81[_0x1fbc24(0x20f)](_0x1fbc24(0x204)+_0x1848e5+'\x20CHARACTER\x20SET\x20utf8mb4\x20COLLATE\x20utf8mb4_unicode_ci');}finally{try{await _0x63be81['end']();}catch(_0xf24050){}}}async function testConnection(_0x473e4e,_0x4ae5ee){const _0x169412=a0_0x591069,_0x15d023={'bRKNO':_0x169412(0x20e),'LUMjn':function(_0x3bdea2,_0x281b5f){return _0x3bdea2(_0x281b5f);},'tdHmW':_0x169412(0x22c),'iytFu':function(_0x1416e5,_0xc403e5){return _0x1416e5===_0xc403e5;},'OYvMm':_0x169412(0x1f8)};if(_0x473e4e===_0x15d023['bRKNO']){const {Client:_0x5f0d63}=_0x15d023[_0x169412(0x20b)](require,'pg'),_0x24860d=new _0x5f0d63({'host':_0x4ae5ee['host'],'port':_0x4ae5ee['port'],'user':_0x4ae5ee[_0x169412(0x21c)],'password':_0x4ae5ee[_0x169412(0x221)],'database':_0x4ae5ee['database']});await _0x24860d[_0x169412(0x200)]();try{await _0x24860d['query'](_0x15d023['tdHmW']);}finally{try{await _0x24860d[_0x169412(0x1f6)]();}catch(_0x3a7ed1){}}return;}if(_0x15d023['iytFu'](_0x473e4e,_0x15d023['OYvMm'])){const _0x3d5886=require(_0x169412(0x1f7)),_0x4e44ce=await _0x3d5886['createConnection']({'host':_0x4ae5ee[_0x169412(0x210)],'port':_0x4ae5ee['port'],'user':_0x4ae5ee[_0x169412(0x21c)],'password':_0x4ae5ee['password'],'database':_0x4ae5ee[_0x169412(0x1fd)]});try{await _0x4e44ce['query']('SELECT\x201');}finally{try{await _0x4e44ce[_0x169412(0x1f6)]();}catch(_0x579ed9){}}return;}throw new Error(_0x169412(0x1ee)+_0x473e4e+'\x27');}async function handleMissingDatabase(_0xd42e48){const _0x3d3160=a0_0x591069,_0x2e58d0={'JndPS':function(_0x4e5223,_0x1e53d3){return _0x4e5223===_0x1e53d3;},'XZugy':'Do\x20you\x20want\x20to\x20create\x20a\x20new\x20database?\x20(y/N):\x20','bkfEn':function(_0x1899bb,_0x3f9639,_0x461b63){return _0x1899bb(_0x3f9639,_0x461b63);}},{dbType:_0x3c5c6a,error:_0x56ba8c,connectionConfig:_0x1383db,autoCreate:_0x5c8d7f,commandHint:_0x1de338}=_0xd42e48||{};if(!SUPPORTED_DB_TYPES[_0x3d3160(0x1f2)](_0x3c5c6a))return{'handled':![]};if(!isDbNotExistsError(_0x3c5c6a,_0x56ba8c))return{'handled':![]};const _0x1f3d3d=_0x1383db&&_0x1383db[_0x3d3160(0x1fd)];if(!_0x1f3d3d)return{'handled':![]};const _0x2dfc70=isInteractive();let _0x319354=![];if(_0x2e58d0['JndPS'](_0x5c8d7f,!![]))_0x319354=!![];else{if(_0x2dfc70)console[_0x3d3160(0x219)](''),console['log'](_0x3d3160(0x203)+_0x1f3d3d+_0x3d3160(0x22d)+_0x3c5c6a+_0x3d3160(0x1fa)),_0x319354=await promptYesNo(_0x2e58d0[_0x3d3160(0x1f9)]);else return{'handled':!![],'created':![],'reason':'non-interactive','hint':'To\x20create\x20the\x20database\x20automatically\x20in\x20non-interactive\x20mode,\x20add\x20the\x20--auto-create-db\x20flag.'};}if(!_0x319354)return{'handled':!![],'created':![],'reason':_0x3d3160(0x201)};console['log'](''),console['log'](_0x3d3160(0x225)+_0x1f3d3d+'\x27...');try{_0x3c5c6a===_0x3d3160(0x20e)?await createPostgresDatabase(_0x1383db,_0x1f3d3d):await _0x2e58d0['bkfEn'](createMysqlDatabase,_0x1383db,_0x1f3d3d);}catch(_0x588862){if(_0x2e58d0['bkfEn'](isPrivilegeDeniedError,_0x3c5c6a,_0x588862))return console[_0x3d3160(0x219)]('Error:\x20User\x20\x27'+_0x1383db['user']+_0x3d3160(0x1f0)),console[_0x3d3160(0x219)](_0x3d3160(0x1ed)+_0x1f3d3d+_0x3d3160(0x1e9)),{'handled':!![],'created':![],'reason':_0x3d3160(0x213),'error':_0x588862};return console[_0x3d3160(0x219)](_0x3d3160(0x1f1)+_0x1f3d3d+_0x3d3160(0x220)+_0x588862['message']),{'handled':!![],'created':![],'reason':_0x3d3160(0x21a),'error':_0x588862};}return console['log']('[OK]\x20Database\x20\x27'+_0x1f3d3d+_0x3d3160(0x1eb)),_0x1de338&&(console[_0x3d3160(0x219)](''),console[_0x3d3160(0x219)](_0x3d3160(0x215)),console['log']('\x20\x20'+_0x1de338)),{'handled':!![],'created':!![],'dbName':_0x1f3d3d};}module['exports']={'handleMissingDatabase':handleMissingDatabase,'isDbNotExistsError':isDbNotExistsError,'isPrivilegeDeniedError':isPrivilegeDeniedError,'escapeIdentifier':escapeIdentifier,'testConnection':testConnection,'SUPPORTED_DB_TYPES':SUPPORTED_DB_TYPES};
|
package/src/utils/db-mysql.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x1995c5=a0_0x446b;function a0_0x97b4(){const _0x5dac49=['Aw5PDgLHBgL6zvbVB2W','DxrMog1Ina','DhjHBNnHy3rPB25FzxjYB3i','mtbyDerbDLC','txLtuuWGy29UBMvJDgLVBIb0zxn0igDHz2fSoIa','nZy1nde0nMrOD0veyW','BxLZCwXFDhjHBNnHy3rPB25Fy29UBMvJDgLVBL9YzwXLyxnLx2vYCM9Y','rgL5vui','nJCXnZK1DvL6wgHn','Ag9ZDa','y29Kzq','q2XVC2LUzYbnEvnrtcbJB25Uzwn0Aw9UihbVB2WUlI4','DgvZDenVBM5Ly3rPB24','DNnOt1O','mtm3mZy4ogDoshzsDW','u0vmrunuideGyxmGDgvZDf9JB25Uzwn0Aw9U','nJG2ndi1m0vbwwD2AW','CgfYyw1Z','kZaWoJaW','mteZodu2m0fjBMPQBa','BwvZC2fNzq','ywzMzwn0zwrsB3DZ','y29TBwL0','C3fSx2vYCM9Y','BxLZCwXFy29UBMvJDgLVBL9JAgvJA19LCNjVCG','vhjHBNnHy3rPB24GzMfPBgvKoIa','AMzsDhG','rNvAtxq','DgrKzu8','nKDjr2nNrq','x2fSBenVBM5Ly3rPB25Z','CxvLCNK','mZmWnG','uLL3Bhy','CfPqzK8','vhjHBNnHy3rPB24Gy29TBwL0DgvKicG','CMvSzwfZzq','BxLZCwWTCg9VBa','rxjYB3iGCMvSzwfZAw5Nie15u1fmihrYyw5Zywn0Aw9UignVBM5Ly3rPB246ia','z2v0q29UBMvJDgLVBG','DxnLCG','mZjtz2DSB2W','BxLZCwXFy29UBMvJDgLVBL90zxn0x2zHAwXLza','Cg9VBa','n0Lnt0TMCa','zMfRwu4','zw52','C3vIC3rYAw5N','vxnjwuu','DfnwA3K','Aw5Zzxj0swq','CM9SBgjHy2TFzxjYB3i','BgvUz3rO','te5oyMG','r2TVt1i','zgvIDwC','x3nODxrKB3DUuMvNAxn0zxjLza','zw5K','BxLZCwXFy29UBMvJDgLVBL9YzwXLyxnLx2vYCM9Y','zxHWB3j0CW','DhjHBNnHy3rPB25Fy29TCgXLDgu','rejFse9tva','rejFue9ptf9nqvG','ww5tD0q','zxjYBM8','txLtuuWGu1fmievYCM9YoIa','rejFueftu1DpuKq','CM9VDa','ChvZAa','txLtuuWGy29UBMvJDgLVBIbWB29SignSB3nLza','y29UzMLN','rxjYB3iGC2fHDcbTzw1IDwf0ie15u1fmignVBM5Ly3rPB24GCg9VBdOG','x2nVBM5Ly3rPB25rDwv1zq','BxLZCwW','z2v0ug9VBfn0yxrPC3rPy3m','mZjTv0fOquG','BxLZCwXFCg9VBf9JBg9Zzwq','rejFue9sva','DgHuBLO','CM9SBgjHy2S','zKvzC1C','sKn1z1i','ntqYodi5C21YueT5','zxHLy3v0zvf1zxj5','y29UBMvJDgLVBKXPBwL0','z1HItK0','BxLZCwXFCg9VBf9LCNjVCG','mtCZodiZnZjPrhzxEgq','BLPnzui','lI9SB2DNzxi','AxnbCNjHEq','y2XVC2vqB29S'];a0_0x97b4=function(){return _0x5dac49;};return a0_0x97b4();}(function(_0x442c3e,_0x42b1ae){const _0x25971c=a0_0x446b,_0x8900f6=_0x442c3e();while(!![]){try{const _0x41f10f=parseInt(_0x25971c(0xb2))/0x1+parseInt(_0x25971c(0xd9))/0x2*(-parseInt(_0x25971c(0xcf))/0x3)+-parseInt(_0x25971c(0xab))/0x4*(-parseInt(_0x25971c(0xc4))/0x5)+-parseInt(_0x25971c(0xc1))/0x6*(parseInt(_0x25971c(0xe8))/0x7)+parseInt(_0x25971c(0xe5))/0x8*(parseInt(_0x25971c(0xca))/0x9)+-parseInt(_0x25971c(0xbf))/0xa*(parseInt(_0x25971c(0xcc))/0xb)+parseInt(_0x25971c(0xb7))/0xc;if(_0x41f10f===_0x42b1ae)break;else _0x8900f6['push'](_0x8900f6['shift']());}catch(_0xe2a581){_0x8900f6['push'](_0x8900f6['shift']());}}}(a0_0x97b4,0x9be13));function a0_0x446b(_0x46dd74,_0x269226){_0x46dd74=_0x46dd74-0x9e;const _0x97b487=a0_0x97b4();let _0x446b67=_0x97b487[_0x46dd74];if(a0_0x446b['MbRBpr']===undefined){var _0xa4df69=function(_0x8068b6){const _0x6aeff8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x53734e='',_0x1fc13d='';for(let _0x3edcae=0x0,_0x288e0b,_0x28aaec,_0xc9492b=0x0;_0x28aaec=_0x8068b6['charAt'](_0xc9492b++);~_0x28aaec&&(_0x288e0b=_0x3edcae%0x4?_0x288e0b*0x40+_0x28aaec:_0x28aaec,_0x3edcae++%0x4)?_0x53734e+=String['fromCharCode'](0xff&_0x288e0b>>(-0x2*_0x3edcae&0x6)):0x0){_0x28aaec=_0x6aeff8['indexOf'](_0x28aaec);}for(let _0x44cb27=0x0,_0x17c2ff=_0x53734e['length'];_0x44cb27<_0x17c2ff;_0x44cb27++){_0x1fc13d+='%'+('00'+_0x53734e['charCodeAt'](_0x44cb27)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1fc13d);};a0_0x446b['cvtxDi']=_0xa4df69,a0_0x446b['zinJkQ']={},a0_0x446b['MbRBpr']=!![];}const _0x2f2c43=_0x97b487[0x0],_0xf80a61=_0x46dd74+_0x2f2c43,_0x2fc561=a0_0x446b['zinJkQ'][_0xf80a61];return!_0x2fc561?(_0x446b67=a0_0x446b['cvtxDi'](_0x446b67),a0_0x446b['zinJkQ'][_0xf80a61]=_0x446b67):_0x446b67=_0x2fc561,_0x446b67;}const mysql=require('mysql2/promise'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x1995c5(0xb9));class MysqlDatabase{constructor(){const _0x5a9d35=a0_0x1995c5,_0x5e886c={'eZAuW':function(_0x9f3627,_0x9b9641){return _0x9f3627(_0x9b9641);},'FuZMt':_0x5a9d35(0xce),'tddeO':_0x5a9d35(0xbd),'vshOZ':function(_0x20f787,_0x7f8f05){return _0x20f787(_0x7f8f05);},'fEYsW':_0x5a9d35(0xa9)};this['pool']=null,this[_0x5a9d35(0xa6)]={'host':process['env'][_0x5a9d35(0xf9)]||'localhost','port':parseInt(process['env'][_0x5a9d35(0xad)]||_0x5a9d35(0xdc)),'user':process[_0x5a9d35(0xea)]['DB_USER']||_0x5a9d35(0xa3),'password':process['env'][_0x5a9d35(0xa2)]||'','database':process['env']['DB_NAME']||'test','waitForConnections':!![],'connectionLimit':_0x5e886c['eZAuW'](parseInt,process[_0x5a9d35(0xea)][_0x5a9d35(0x9e)])||0xa,'queueLimit':0x0,'dateStrings':!![],'supportBigNumbers':!![],'bigNumberStrings':!![],'timezone':_0x5e886c[_0x5a9d35(0xd7)],'charset':_0x5e886c[_0x5a9d35(0xd8)]},_0x5e886c[_0x5a9d35(0xc9)](logDatabaseConfig,{'host':this[_0x5a9d35(0xa6)][_0x5a9d35(0xc5)],'port':this[_0x5a9d35(0xa6)]['port'],'database':this[_0x5a9d35(0xa6)]['database'],'type':_0x5e886c[_0x5a9d35(0xb0)],'user':this['config'][_0x5a9d35(0xe4)],'connectionLimit':this[_0x5a9d35(0xa6)][_0x5a9d35(0xb4)]});}async['initializePool'](){const _0x3e98de=a0_0x1995c5,_0x12301c={'Yniso':'MySQL\x20connection\x20pool\x20sudah\x20ada','bTedy':function(_0x790bb1,_0x3863bd){return _0x790bb1(_0x3863bd);},'thTnZ':_0x3e98de(0xb6)};try{if(this[_0x3e98de(0xe7)]){logger[_0x3e98de(0xf3)]({'event':'mysql_pool_exists'},_0x12301c['Yniso']);return;}this[_0x3e98de(0xe7)]=mysql['createPool'](this[_0x3e98de(0xa6)]),await this[_0x3e98de(0xc8)](),!this[_0x3e98de(0xf4)]&&(_0x12301c['bTedy'](require,'./shutdown-coordinator')['register'](_0x3e98de(0xe1),()=>this[_0x3e98de(0xbb)](),{'order':0x32}),this['_shutdownRegistered']=!![]);}catch(_0x111487){logError(_0x111487,{'event':_0x12301c[_0x3e98de(0xae)]},_0x3e98de(0xa7)+_0x111487[_0x3e98de(0xd0)]);throw _0x111487;}}async['testConnection'](){const _0x5b9864=a0_0x1995c5,_0x2abc88={'mUflP':'mysql_connection_test_start','YXkYV':'Testing\x20MySQL\x20database\x20connection...','rpRwP':_0x5b9864(0xe6),'nZMeB':'mysql_test_connection_release_error'};let _0x85edf7;try{logger[_0x5b9864(0xf3)]({'event':_0x2abc88['mUflP']},_0x2abc88['YXkYV']),_0x85edf7=await this['pool']['getConnection'](),await _0x85edf7['execute'](_0x5b9864(0xcb));}catch(_0x291f3b){logError(_0x291f3b,{'event':_0x2abc88['rpRwP']},_0x5b9864(0xc0)+_0x291f3b['message']);throw _0x291f3b;}finally{if(_0x85edf7)try{_0x85edf7[_0x5b9864(0xe0)]();}catch(_0x469e8c){logError(_0x469e8c,{'event':_0x2abc88[_0x5b9864(0xb8)]},'Error\x20releasing\x20test\x20connection:\x20'+_0x469e8c['message']);}}}async[a0_0x1995c5(0xb3)](_0x2020b1,_0x3b2749=[]){const _0x59a626=a0_0x1995c5,_0x3a944d={'YnSwD':function(_0x35921d){return _0x35921d();},'tSVky':_0x59a626(0xd3),'XZwjj':'mysql','sSILI':function(_0x4c42e8,_0x465e21,_0xe424ab,_0x4a8585){return _0x4c42e8(_0x465e21,_0xe424ab,_0x4a8585);},'jfRtx':_0x59a626(0xf6)};let _0x23de64;const _0x7649d=startQueryTimer();try{!this['pool']&&await this[_0x59a626(0xbc)]();_0x23de64=await this['pool'][_0x59a626(0xe3)]();const [_0x3f844a,_0x4ad1a6]=await _0x23de64['execute'](_0x2020b1,_0x3b2749),_0x363a67=_0x3a944d[_0x59a626(0x9f)](_0x7649d),_0x44b383=Array[_0x59a626(0xba)](_0x3f844a),_0x34fda6=_0x44b383?_0x3f844a['length']:_0x3f844a[_0x59a626(0xd1)];return logQuery(_0x2020b1,_0x3b2749,{'duration':_0x363a67,'rowsAffected':_0x34fda6,'dbType':'mysql'}),_0x44b383?_0x3f844a:{'rowsAffected':_0x3f844a[_0x59a626(0xd1)],'insertId':_0x3f844a['insertId'],'changedRows':_0x3f844a['changedRows']};}catch(_0x2502bb){const _0x995375=_0x3a944d[_0x59a626(0x9f)](_0x7649d);logError(_0x2502bb,{'event':_0x3a944d[_0x59a626(0xed)],'query':_0x2020b1[_0x59a626(0xeb)](0x0,0x1f4),'paramCount':_0x3b2749['length'],'durationMs':_0x995375,'code':_0x2502bb[_0x59a626(0xc6)],'errno':_0x2502bb[_0x59a626(0xa0)],'dbType':_0x3a944d['XZwjj']},_0x59a626(0xa1)+_0x2502bb['message']);throw _0x2502bb;}finally{if(_0x23de64)try{_0x23de64['release']();}catch(_0x5c1d8b){_0x3a944d['sSILI'](logError,_0x5c1d8b,{'event':_0x3a944d[_0x59a626(0xd6)]},'Error\x20releasing\x20MySQL\x20connection:\x20'+_0x5c1d8b['message']);}}}async['executeTransaction'](_0x4bd37c){const _0x7f1e54=a0_0x1995c5,_0x378a81={'uUhON':function(_0x5d689c){return _0x5d689c();},'LNNbh':function(_0x506188,_0x143252){return _0x506188>_0x143252;},'AALVe':function(_0x558c4a,_0x2be922,_0xa69766,_0x238d58){return _0x558c4a(_0x2be922,_0xa69766,_0x238d58);},'uUMIb':'mysql','MwLbX':_0x7f1e54(0xf8),'dFyLb':_0x7f1e54(0xbe),'HimnB':'rollback','DiyUB':function(_0x331991,_0x58e2e0,_0x2a92c7,_0xde976f){return _0x331991(_0x58e2e0,_0x2a92c7,_0xde976f);},'GkoOR':_0x7f1e54(0xef),'hNjWh':_0x7f1e54(0xc2)};let _0x3be2b5;const _0x54558f=startQueryTimer();try{!this[_0x7f1e54(0xe7)]&&await this[_0x7f1e54(0xbc)]();_0x3be2b5=await this[_0x7f1e54(0xe7)][_0x7f1e54(0xe3)](),logTransaction('start',_0x4bd37c['length']),await _0x3be2b5['beginTransaction']();const _0xfbdb16=[];for(const _0x40e926 of _0x4bd37c){const _0x2142d9=_0x378a81['uUhON'](startQueryTimer),_0x1e50ca=_0x40e926[_0x7f1e54(0xcd)]||[],[_0x13e5fe,_0x394dd1]=_0x378a81[_0x7f1e54(0xf1)](_0x1e50ca[_0x7f1e54(0xf0)],0x0)?await _0x3be2b5['execute'](_0x40e926['sql'],_0x1e50ca):await _0x3be2b5[_0x7f1e54(0xdb)](_0x40e926['sql']),_0x52b6d6=_0x2142d9(),_0xe59a7d=Array['isArray'](_0x13e5fe),_0x144cfe=_0xe59a7d?_0x13e5fe[_0x7f1e54(0xf0)]:_0x13e5fe['affectedRows'];_0x378a81['AALVe'](logQuery,_0x40e926['sql'],_0x40e926[_0x7f1e54(0xcd)]||[],{'duration':_0x52b6d6,'rowsAffected':_0x144cfe,'dbType':_0x378a81['uUMIb']}),_0xe59a7d?_0xfbdb16['push'](_0x13e5fe):_0xfbdb16[_0x7f1e54(0xa4)]({'rowsAffected':_0x13e5fe['affectedRows'],'insertId':_0x13e5fe[_0x7f1e54(0xee)],'changedRows':_0x13e5fe['changedRows']});}await _0x3be2b5[_0x7f1e54(0xd2)]();const _0x262685=_0x378a81['uUhON'](_0x54558f);return logTransaction('commit',_0x4bd37c['length']),logger['info']({'event':_0x378a81['MwLbX'],'queryCount':_0x4bd37c[_0x7f1e54(0xf0)],'totalDurationMs':_0x262685,'dbType':'mysql'},_0x7f1e54(0xdf)+_0x262685+'ms,\x20'+_0x4bd37c['length']+'\x20queries)'),_0xfbdb16;}catch(_0x58bcf1){const _0x114e49=_0x378a81['uUhON'](_0x54558f);_0x378a81['AALVe'](logError,_0x58bcf1,{'event':_0x378a81['dFyLb'],'queryCount':_0x4bd37c['length'],'totalDurationMs':_0x114e49,'code':_0x58bcf1[_0x7f1e54(0xc6)],'errno':_0x58bcf1[_0x7f1e54(0xa0)],'dbType':'mysql'},_0x7f1e54(0xd5)+_0x58bcf1['message']);if(_0x3be2b5)try{await _0x3be2b5[_0x7f1e54(0xaf)](),logTransaction(_0x378a81['HimnB'],_0x4bd37c[_0x7f1e54(0xf0)]);}catch(_0x57908e){_0x378a81[_0x7f1e54(0xc3)](logError,_0x57908e,{'event':_0x378a81[_0x7f1e54(0xf2)],'dbType':'mysql'},'Error\x20rolling\x20back\x20MySQL\x20transaction:\x20'+_0x57908e['message']);}throw _0x58bcf1;}finally{if(_0x3be2b5)try{_0x3be2b5[_0x7f1e54(0xe0)]();}catch(_0xbe39fb){logError(_0xbe39fb,{'event':_0x378a81['hNjWh']},_0x7f1e54(0xe2)+_0xbe39fb['message']);}}}async['getConnection'](){const _0x22d76f=a0_0x1995c5;return!this['pool']&&await this['initializePool'](),await this[_0x22d76f(0xe7)]['getConnection']();}async['closePool'](){const _0x793d30=a0_0x1995c5,_0x57ad99={'qeXXR':'mysql_pool_closing','GzeJs':_0x793d30(0xac),'pZPfO':_0x793d30(0xa5),'fakYN':function(_0x1542ae,_0x2a99e8,_0x237560,_0xcb623f){return _0x1542ae(_0x2a99e8,_0x237560,_0xcb623f);},'sLpFW':'mysql_pool_close_error'};try{this[_0x793d30(0xe7)]&&(logger['info']({'event':_0x57ad99['qeXXR']},_0x793d30(0xc7)),await this[_0x793d30(0xe7)][_0x793d30(0xf5)](),this[_0x793d30(0xe7)]=null,logger['info']({'event':_0x57ad99['GzeJs']},_0x57ad99[_0x793d30(0xde)]));}catch(_0x594dc5){_0x57ad99[_0x793d30(0xe9)](logError,_0x594dc5,{'event':_0x57ad99['sLpFW']},'Error\x20closing\x20MySQL\x20connection\x20pool:\x20'+_0x594dc5[_0x793d30(0xd0)]);throw _0x594dc5;}}async['checkConnection'](){const _0x52f75b=a0_0x1995c5,_0x597520={'PBbNS':'SELECT\x201','UsIYE':function(_0x2a7bc4,_0x47be06,_0x40a631,_0x3cb07a){return _0x2a7bc4(_0x47be06,_0x40a631,_0x3cb07a);},'RYwlv':_0x52f75b(0xd4)};let _0x4d1e8e;try{return!this['pool']&&await this[_0x52f75b(0xbc)](),_0x4d1e8e=await this['pool'][_0x52f75b(0xe3)](),await _0x4d1e8e['execute'](_0x597520['PBbNS']),!![];}catch(_0x552649){return _0x597520[_0x52f75b(0xec)](logError,_0x552649,{'event':_0x597520[_0x52f75b(0xdd)]},'Error\x20checking\x20MySQL\x20connection:\x20'+_0x552649['message']),![];}finally{if(_0x4d1e8e)try{_0x4d1e8e[_0x52f75b(0xe0)]();}catch(_0x3b985b){}}}[a0_0x1995c5(0xaa)](){const _0x16ea85=a0_0x1995c5,_0x399e51={'JCugR':'Pool\x20not\x20initialized','gXbNM':'Active'};if(!this[_0x16ea85(0xe7)]||!this[_0x16ea85(0xe7)]['pool'])return{'status':_0x399e51[_0x16ea85(0xb1)]};const _0x2676c2=this[_0x16ea85(0xe7)]['pool'];return{'connectionsInUse':_0x2676c2['_allConnections']?_0x2676c2[_0x16ea85(0xda)]['length']-_0x2676c2['_freeConnections'][_0x16ea85(0xf0)]:0x0,'connectionsOpen':_0x2676c2[_0x16ea85(0xda)]?_0x2676c2['_allConnections'][_0x16ea85(0xf0)]:0x0,'connectionLimit':this['config'][_0x16ea85(0xb4)],'queueLength':_0x2676c2[_0x16ea85(0xa8)]?_0x2676c2['_connectionQueue'][_0x16ea85(0xf0)]:0x0,'status':_0x399e51[_0x16ea85(0xb5)]};}}const mysqlDb=new MysqlDatabase();module[a0_0x1995c5(0xf7)]=mysqlDb;
|
|
1
|
+
function a0_0x15db(_0x1ad549,_0x374b47){_0x1ad549=_0x1ad549-0x15c;const _0x330afc=a0_0x330a();let _0x15dbc9=_0x330afc[_0x1ad549];if(a0_0x15db['MTiIWf']===undefined){var _0x72f67a=function(_0x358ce4){const _0x3c95ea='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x835402='',_0x23d1ae='';for(let _0x3cee71=0x0,_0x5c6643,_0xe6867b,_0x331601=0x0;_0xe6867b=_0x358ce4['charAt'](_0x331601++);~_0xe6867b&&(_0x5c6643=_0x3cee71%0x4?_0x5c6643*0x40+_0xe6867b:_0xe6867b,_0x3cee71++%0x4)?_0x835402+=String['fromCharCode'](0xff&_0x5c6643>>(-0x2*_0x3cee71&0x6)):0x0){_0xe6867b=_0x3c95ea['indexOf'](_0xe6867b);}for(let _0x146ffe=0x0,_0x3ff1bd=_0x835402['length'];_0x146ffe<_0x3ff1bd;_0x146ffe++){_0x23d1ae+='%'+('00'+_0x835402['charCodeAt'](_0x146ffe)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x23d1ae);};a0_0x15db['ZtgMnf']=_0x72f67a,a0_0x15db['PoqsDr']={},a0_0x15db['MTiIWf']=!![];}const _0x4d568e=_0x330afc[0x0],_0x53c08b=_0x1ad549+_0x4d568e,_0x75dce2=a0_0x15db['PoqsDr'][_0x53c08b];return!_0x75dce2?(_0x15dbc9=a0_0x15db['ZtgMnf'](_0x15dbc9),a0_0x15db['PoqsDr'][_0x53c08b]=_0x15dbc9):_0x15dbc9=_0x75dce2,_0x15dbc9;}const a0_0x3524c1=a0_0x15db;(function(_0x6766e3,_0x3f5a00){const _0x396721=a0_0x15db,_0x4b9e13=_0x6766e3();while(!![]){try{const _0xab5934=parseInt(_0x396721(0x166))/0x1+-parseInt(_0x396721(0x177))/0x2+parseInt(_0x396721(0x175))/0x3*(-parseInt(_0x396721(0x1a7))/0x4)+-parseInt(_0x396721(0x184))/0x5+-parseInt(_0x396721(0x19c))/0x6*(-parseInt(_0x396721(0x1a6))/0x7)+parseInt(_0x396721(0x164))/0x8*(-parseInt(_0x396721(0x1ac))/0x9)+parseInt(_0x396721(0x16e))/0xa*(parseInt(_0x396721(0x190))/0xb);if(_0xab5934===_0x3f5a00)break;else _0x4b9e13['push'](_0x4b9e13['shift']());}catch(_0x46be66){_0x4b9e13['push'](_0x4b9e13['shift']());}}}(a0_0x330a,0xaf49b));const mysql=require('mysql2/promise'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x3524c1(0x181));class MysqlDatabase{constructor(){const _0x22e073=a0_0x3524c1,_0x5db85c={'GtyRz':function(_0x33d789,_0xd9994){return _0x33d789(_0xd9994);},'gRmhz':_0x22e073(0x18e),'RkBCv':function(_0x1e7a28,_0x208209){return _0x1e7a28(_0x208209);},'LwBiB':'mysql'};this[_0x22e073(0x188)]=null,this[_0x22e073(0x195)]={'host':process['env']['DB_HOST']||'localhost','port':_0x5db85c[_0x22e073(0x165)](parseInt,process[_0x22e073(0x1ae)]['DB_PORT']||_0x5db85c[_0x22e073(0x15c)]),'user':process['env']['DB_USER']||_0x22e073(0x16c),'password':process['env'][_0x22e073(0x197)]||'','database':process['env']['DB_NAME']||'test','waitForConnections':!![],'connectionLimit':parseInt(process['env'][_0x22e073(0x1b3)])||0xa,'queueLimit':0x0,'dateStrings':!![],'supportBigNumbers':!![],'bigNumberStrings':!![],'timezone':_0x22e073(0x19e),'charset':_0x22e073(0x16f)},_0x5db85c['RkBCv'](logDatabaseConfig,{'host':this['config'][_0x22e073(0x167)],'port':this['config'][_0x22e073(0x194)],'database':this['config'][_0x22e073(0x17f)],'type':_0x5db85c['LwBiB'],'user':this[_0x22e073(0x195)][_0x22e073(0x168)],'connectionLimit':this[_0x22e073(0x195)]['connectionLimit']});}async['initializePool'](){const _0x5be194=a0_0x3524c1,_0x311d8a={'jjaEp':'mysql_pool_exists','pezvm':_0x5be194(0x16a),'avxdJ':function(_0x22850d,_0x2935eb){return _0x22850d(_0x2935eb);},'kcHYB':_0x5be194(0x186),'yqfcK':'mysql-pool','jZoTN':_0x5be194(0x161)};try{if(this[_0x5be194(0x188)]){logger[_0x5be194(0x18f)]({'event':_0x311d8a['jjaEp']},_0x311d8a['pezvm']);return;}this['pool']=mysql[_0x5be194(0x1a5)](this[_0x5be194(0x195)]),await this[_0x5be194(0x192)](),!this['_shutdownRegistered']&&(_0x311d8a['avxdJ'](require,_0x311d8a['kcHYB'])['register'](_0x311d8a['yqfcK'],()=>this[_0x5be194(0x171)](),{'order':0x32}),this[_0x5be194(0x160)]=!![]);}catch(_0x397809){logError(_0x397809,{'event':_0x311d8a[_0x5be194(0x15d)]},_0x5be194(0x16b)+_0x397809[_0x5be194(0x1af)]);throw _0x397809;}}async['testConnection'](){const _0x387e02=a0_0x3524c1,_0x39d753={'GDGke':'SELECT\x201\x20as\x20test_connection','KgnrR':_0x387e02(0x169),'ttVLv':function(_0x3f400f,_0x23e342,_0x2bb3e4,_0x5eff7f){return _0x3f400f(_0x23e342,_0x2bb3e4,_0x5eff7f);}};let _0x549412;try{logger[_0x387e02(0x18f)]({'event':'mysql_connection_test_start'},_0x387e02(0x191)),_0x549412=await this[_0x387e02(0x188)][_0x387e02(0x185)](),await _0x549412['execute'](_0x39d753['GDGke']);}catch(_0x41db5d){logError(_0x41db5d,{'event':_0x39d753[_0x387e02(0x187)]},'MySQL\x20connection\x20test\x20gagal:\x20'+_0x41db5d[_0x387e02(0x1af)]);throw _0x41db5d;}finally{if(_0x549412)try{_0x549412['release']();}catch(_0x50e88f){_0x39d753['ttVLv'](logError,_0x50e88f,{'event':'mysql_test_connection_release_error'},'Error\x20releasing\x20test\x20connection:\x20'+_0x50e88f['message']);}}}async['executeQuery'](_0x26b915,_0x2ab5=[]){const _0x5b0761=a0_0x3524c1,_0xa5ea6e={'kooLr':function(_0x9f2855,_0xc9a8cc,_0x38592f,_0x407b16){return _0x9f2855(_0xc9a8cc,_0x38592f,_0x407b16);},'OPRsn':_0x5b0761(0x15e),'iWYtv':_0x5b0761(0x176)};let _0x2c0ce8;const _0x25094d=startQueryTimer();try{!this['pool']&&await this['initializePool']();_0x2c0ce8=await this['pool'][_0x5b0761(0x185)]();const [_0x378a94,_0x1a843d]=await _0x2c0ce8[_0x5b0761(0x17e)](_0x26b915,_0x2ab5),_0x3a45f3=_0x25094d(),_0x76d451=Array[_0x5b0761(0x193)](_0x378a94),_0x572c67=_0x76d451?_0x378a94[_0x5b0761(0x1a9)]:_0x378a94['affectedRows'];return _0xa5ea6e[_0x5b0761(0x19f)](logQuery,_0x26b915,_0x2ab5,{'duration':_0x3a45f3,'rowsAffected':_0x572c67,'dbType':_0xa5ea6e['OPRsn']}),_0x76d451?_0x378a94:{'rowsAffected':_0x378a94[_0x5b0761(0x1a4)],'insertId':_0x378a94[_0x5b0761(0x1b0)],'changedRows':_0x378a94['changedRows']};}catch(_0x4d37de){const _0x4c7d80=_0x25094d();_0xa5ea6e['kooLr'](logError,_0x4d37de,{'event':_0xa5ea6e['iWYtv'],'query':_0x26b915[_0x5b0761(0x180)](0x0,0x1f4),'paramCount':_0x2ab5['length'],'durationMs':_0x4c7d80,'code':_0x4d37de['code'],'errno':_0x4d37de[_0x5b0761(0x1b4)],'dbType':_0xa5ea6e[_0x5b0761(0x17d)]},_0x5b0761(0x163)+_0x4d37de[_0x5b0761(0x1af)]);throw _0x4d37de;}finally{if(_0x2c0ce8)try{_0x2c0ce8[_0x5b0761(0x18d)]();}catch(_0xe5422c){logError(_0xe5422c,{'event':'mysql_connection_release_error'},_0x5b0761(0x1a0)+_0xe5422c['message']);}}}async['executeTransaction'](_0x48ec9f){const _0x57b7f3=a0_0x3524c1,_0x4c7908={'qLEsk':_0x57b7f3(0x17b),'vNwNB':function(_0xd3cb91){return _0xd3cb91();},'lfmWc':function(_0x18d9ac){return _0x18d9ac();},'DLDIQ':function(_0x53a29d,_0x6af390,_0x9e7430,_0x278634){return _0x53a29d(_0x6af390,_0x9e7430,_0x278634);},'vovXI':_0x57b7f3(0x15e),'gEtlV':_0x57b7f3(0x198),'FtTWU':function(_0xfea31b,_0x5c27a9,_0x18b6a9,_0x1690e9){return _0xfea31b(_0x5c27a9,_0x18b6a9,_0x1690e9);},'GvZfd':function(_0x206f6a,_0xd6d07f,_0x5778b1){return _0x206f6a(_0xd6d07f,_0x5778b1);},'hhalb':_0x57b7f3(0x182),'JKOYI':'mysql_transaction_connection_release_error'};let _0x161287;const _0x5b94ed=startQueryTimer();try{!this[_0x57b7f3(0x188)]&&await this['initializePool']();_0x161287=await this[_0x57b7f3(0x188)]['getConnection'](),logTransaction(_0x4c7908[_0x57b7f3(0x199)],_0x48ec9f[_0x57b7f3(0x1a9)]),await _0x161287['beginTransaction']();const _0x3e3112=[];for(const _0x53076f of _0x48ec9f){const _0x522826=_0x4c7908['vNwNB'](startQueryTimer),_0x25d3e9=_0x53076f['params']||[],[_0x5962e4,_0x42efcc]=_0x25d3e9[_0x57b7f3(0x1a9)]>0x0?await _0x161287[_0x57b7f3(0x17e)](_0x53076f[_0x57b7f3(0x1b8)],_0x25d3e9):await _0x161287[_0x57b7f3(0x19a)](_0x53076f['sql']),_0x3f8160=_0x4c7908[_0x57b7f3(0x173)](_0x522826),_0x5a0d50=Array['isArray'](_0x5962e4),_0x585f28=_0x5a0d50?_0x5962e4['length']:_0x5962e4[_0x57b7f3(0x1a4)];_0x4c7908['DLDIQ'](logQuery,_0x53076f[_0x57b7f3(0x1b8)],_0x53076f[_0x57b7f3(0x183)]||[],{'duration':_0x3f8160,'rowsAffected':_0x585f28,'dbType':_0x4c7908[_0x57b7f3(0x1b6)]}),_0x5a0d50?_0x3e3112[_0x57b7f3(0x19b)](_0x5962e4):_0x3e3112['push']({'rowsAffected':_0x5962e4[_0x57b7f3(0x1a4)],'insertId':_0x5962e4['insertId'],'changedRows':_0x5962e4[_0x57b7f3(0x18a)]});}await _0x161287[_0x57b7f3(0x198)]();const _0x279169=_0x5b94ed();return logTransaction(_0x4c7908[_0x57b7f3(0x1a1)],_0x48ec9f['length']),logger['info']({'event':_0x57b7f3(0x1a2),'queryCount':_0x48ec9f[_0x57b7f3(0x1a9)],'totalDurationMs':_0x279169,'dbType':_0x4c7908['vovXI']},_0x57b7f3(0x15f)+_0x279169+_0x57b7f3(0x17a)+_0x48ec9f[_0x57b7f3(0x1a9)]+_0x57b7f3(0x1aa)),_0x3e3112;}catch(_0x2e995b){const _0x595314=_0x5b94ed();_0x4c7908['FtTWU'](logError,_0x2e995b,{'event':'transaction_error','queryCount':_0x48ec9f[_0x57b7f3(0x1a9)],'totalDurationMs':_0x595314,'code':_0x2e995b['code'],'errno':_0x2e995b['errno'],'dbType':_0x57b7f3(0x15e)},_0x57b7f3(0x18c)+_0x2e995b[_0x57b7f3(0x1af)]);if(_0x161287)try{await _0x161287[_0x57b7f3(0x182)](),_0x4c7908[_0x57b7f3(0x1a8)](logTransaction,_0x4c7908[_0x57b7f3(0x1b1)],_0x48ec9f[_0x57b7f3(0x1a9)]);}catch(_0xeb49a1){_0x4c7908['DLDIQ'](logError,_0xeb49a1,{'event':_0x57b7f3(0x19d),'dbType':'mysql'},_0x57b7f3(0x174)+_0xeb49a1['message']);}throw _0x2e995b;}finally{if(_0x161287)try{_0x161287[_0x57b7f3(0x18d)]();}catch(_0x2b3d06){logError(_0x2b3d06,{'event':_0x4c7908[_0x57b7f3(0x178)]},'Error\x20releasing\x20MySQL\x20transaction\x20connection:\x20'+_0x2b3d06['message']);}}}async[a0_0x3524c1(0x185)](){const _0x1572ee=a0_0x3524c1;return!this['pool']&&await this[_0x1572ee(0x196)](),await this['pool']['getConnection']();}async['closePool'](){const _0x4d42ab=a0_0x3524c1,_0x40ebdc={'xaDrZ':_0x4d42ab(0x1ad),'uuGJo':'MySQL\x20connection\x20pool\x20closed'};try{this[_0x4d42ab(0x188)]&&(logger['info']({'event':_0x4d42ab(0x16d)},_0x40ebdc[_0x4d42ab(0x1ab)]),await this['pool']['end'](),this['pool']=null,logger[_0x4d42ab(0x1b2)]({'event':'mysql_pool_closed'},_0x40ebdc['uuGJo']));}catch(_0x59de88){logError(_0x59de88,{'event':_0x4d42ab(0x1b7)},_0x4d42ab(0x1b5)+_0x59de88[_0x4d42ab(0x1af)]);throw _0x59de88;}}async['checkConnection'](){const _0x244b0b=a0_0x3524c1,_0x1fd355={'QFkKt':'SELECT\x201','kgDfo':function(_0x12f382,_0x46219,_0x22d11d,_0x3558ac){return _0x12f382(_0x46219,_0x22d11d,_0x3558ac);}};let _0x1f8f42;try{return!this['pool']&&await this['initializePool'](),_0x1f8f42=await this['pool']['getConnection'](),await _0x1f8f42[_0x244b0b(0x17e)](_0x1fd355['QFkKt']),!![];}catch(_0x4b310a){return _0x1fd355[_0x244b0b(0x1a3)](logError,_0x4b310a,{'event':'mysql_connection_check_error'},_0x244b0b(0x179)+_0x4b310a[_0x244b0b(0x1af)]),![];}finally{if(_0x1f8f42)try{_0x1f8f42[_0x244b0b(0x18d)]();}catch(_0xb44af3){}}}['getPoolStatistics'](){const _0x1b6604=a0_0x3524c1,_0x3eb585={'FYjnx':'Pool\x20not\x20initialized','RZlxf':function(_0x25afa8,_0x330051){return _0x25afa8-_0x330051;},'fAAYn':'Active'};if(!this[_0x1b6604(0x188)]||!this['pool'][_0x1b6604(0x188)])return{'status':_0x3eb585[_0x1b6604(0x162)]};const _0x267ccc=this['pool']['pool'];return{'connectionsInUse':_0x267ccc['_allConnections']?_0x3eb585[_0x1b6604(0x172)](_0x267ccc['_allConnections']['length'],_0x267ccc['_freeConnections']['length']):0x0,'connectionsOpen':_0x267ccc['_allConnections']?_0x267ccc['_allConnections']['length']:0x0,'connectionLimit':this['config'][_0x1b6604(0x17c)],'queueLength':_0x267ccc[_0x1b6604(0x170)]?_0x267ccc[_0x1b6604(0x170)]['length']:0x0,'status':_0x3eb585[_0x1b6604(0x189)]};}}const mysqlDb=new MysqlDatabase();module[a0_0x3524c1(0x18b)]=mysqlDb;function a0_0x330a(){const _0x5c36f9=['ChvZAa','mJK2mde4nerXsfLMBG','CM9SBgjHy2TFzxjYB3i','kZaWoJaW','A29Vthi','rxjYB3iGCMvSzwfZAw5Nie15u1fmignVBM5Ly3rPB246ia','z0v0Bfy','DhjHBNnHy3rPB25Fy29TCgXLDgu','A2DezM8','ywzMzwn0zwrsB3DZ','y3jLyxrLug9VBa','n0XKwxDYAa','otKWofPJq0TgwG','r3zAzMq','BgvUz3rO','ihf1zxjPzxmP','EgfeCLO','mteZnZmZqM1XA2Pz','q2XVC2LUzYbnEvnrtcbJB25Uzwn0Aw9UihbVB2WUlI4','zw52','BwvZC2fNzq','Aw5Zzxj0swq','AgHHBgi','Aw5MBW','rejFue9ptf9nqvG','zxjYBM8','rxjYB3iGy2XVC2LUzYbnEvnrtcbJB25Uzwn0Aw9UihbVB2W6ia','DM92weK','BxLZCwXFCg9VBf9JBg9Zzv9LCNjVCG','C3fS','z1jTAhO','ALPVve4','BxLZCwW','vhjHBNnHy3rPB24Gy29TBwL0DgvKicG','x3nODxrKB3DUuMvNAxn0zxjLza','BxLZCwXFCg9VBf9LCNjVCG','rLLQBNG','txLtuuWGu1fmievYCM9YoIa','odHhu3vTqxe','r3r5uNO','ndaYnZyYEM52uvLm','Ag9ZDa','DxnLCG','BxLZCwXFy29UBMvJDgLVBL90zxn0x2zHAwXLza','txLtuuWGy29UBMvJDgLVBIbWB29Sihn1zgfOigfKyq','rxjYB3iGC2fHDcbTzw1IDwf0ie15u1fmignVBM5Ly3rPB24GCg9VBdOG','CM9VDa','BxLZCwXFCg9VBf9JBg9ZAw5N','ntG1nJe0mfDWDxDPyq','DxrMog1Ina','x2nVBM5Ly3rPB25rDwv1zq','y2XVC2vqB29S','uLPSEgy','BgzTv2m','rxjYB3iGCM9SBgLUzYbIywnRie15u1fmihrYyw5Zywn0Aw9UoIa','mZe1DNHcvg1d','C3fSx2vYCM9Y','mtuXmdK3ng9bDur1tq','sKTpwuK','rxjYB3iGy2HLy2TPBMCGtxLtuuWGy29UBMvJDgLVBJOG','BxmSia','C3rHCNq','y29UBMvJDgLVBKXPBwL0','t1bsC24','zxHLy3v0zq','zgf0ywjHC2u','C3vIC3rYAw5N','lI9SB2DNzxi','CM9SBgjHy2S','CgfYyw1Z','mZKWmJa1mhr1D0vdta','z2v0q29UBMvJDgLVBG','lI9ZAhv0zg93BI1JB29YzgLUyxrVCG','s2DUCLi','Cg9VBa','zKfbww4','y2HHBMDLzfjVD3m','zxHWB3j0CW','vhjHBNnHy3rPB24GzMfPBgvKoIa','CMvSzwfZzq','mZmWnG','zgvIDwC','mZnpANHdtLG','vgvZDgLUzYbnEvnrtcbKyxrHyMfZzsbJB25Uzwn0Aw9UlI4U','DgvZDenVBM5Ly3rPB24','AxnbCNjHEq','Cg9YDa','y29UzMLN','Aw5PDgLHBgL6zvbVB2W','rejFueftu1DpuKq','y29TBwL0','CuXfC2S','CxvLCNK'];a0_0x330a=function(){return _0x5c36f9;};return a0_0x330a();}
|
package/src/utils/db-oracle.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x10e6da=a0_0x574e;function a0_0x574e(_0x75ca28,_0x18f36a){_0x75ca28=_0x75ca28-0x83;const _0x4e9dcb=a0_0x4e9d();let _0x574e72=_0x4e9dcb[_0x75ca28];if(a0_0x574e['bRLLBN']===undefined){var _0x520a2a=function(_0x1b8699){const _0x37673d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x50a363='',_0x621a8f='';for(let _0x4cd188=0x0,_0x390aee,_0x45fd11,_0x4528e7=0x0;_0x45fd11=_0x1b8699['charAt'](_0x4528e7++);~_0x45fd11&&(_0x390aee=_0x4cd188%0x4?_0x390aee*0x40+_0x45fd11:_0x45fd11,_0x4cd188++%0x4)?_0x50a363+=String['fromCharCode'](0xff&_0x390aee>>(-0x2*_0x4cd188&0x6)):0x0){_0x45fd11=_0x37673d['indexOf'](_0x45fd11);}for(let _0x4f2f3a=0x0,_0x4b9496=_0x50a363['length'];_0x4f2f3a<_0x4b9496;_0x4f2f3a++){_0x621a8f+='%'+('00'+_0x50a363['charCodeAt'](_0x4f2f3a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x621a8f);};a0_0x574e['qZQMBU']=_0x520a2a,a0_0x574e['DxPfYZ']={},a0_0x574e['bRLLBN']=!![];}const _0x3b0061=_0x4e9dcb[0x0],_0x1a695c=_0x75ca28+_0x3b0061,_0x10134d=a0_0x574e['DxPfYZ'][_0x1a695c];return!_0x10134d?(_0x574e72=a0_0x574e['qZQMBU'](_0x574e72),a0_0x574e['DxPfYZ'][_0x1a695c]=_0x574e72):_0x574e72=_0x10134d,_0x574e72;}(function(_0x1c4184,_0x30558d){const _0x4d05d8=a0_0x574e,_0x44c5e8=_0x1c4184();while(!![]){try{const _0x4ea410=parseInt(_0x4d05d8(0xcc))/0x1+parseInt(_0x4d05d8(0xd6))/0x2+parseInt(_0x4d05d8(0x8f))/0x3*(-parseInt(_0x4d05d8(0xc5))/0x4)+-parseInt(_0x4d05d8(0x8d))/0x5*(parseInt(_0x4d05d8(0x89))/0x6)+-parseInt(_0x4d05d8(0xa2))/0x7+-parseInt(_0x4d05d8(0xdf))/0x8*(parseInt(_0x4d05d8(0xae))/0x9)+parseInt(_0x4d05d8(0x8e))/0xa*(parseInt(_0x4d05d8(0xc9))/0xb);if(_0x4ea410===_0x30558d)break;else _0x44c5e8['push'](_0x44c5e8['shift']());}catch(_0x479b9b){_0x44c5e8['push'](_0x44c5e8['shift']());}}}(a0_0x4e9d,0xf09db));const oracledb=require('oracledb'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x10e6da(0x8a));function a0_0x4e9d(){const _0x429673=['yxv0B0nVBw1PDa','t3jHy2XLienVBM5Ly3rPB24Gu3rYAw5NoIa','zxHLy3v0zvrYyw5Zywn0Aw9U','B3jHy2XLx2nVBM5Ly3rPB25Fy2XVC2vFzxjYB3i','Cg9VBfrPBwvVDxq','ug9VBcbUB3qGAw5PDgLHBgL6zwq','zgvIDwC','EwjJrem','mJq0nJu1nNDWvK5csa','qwn0AxzL','rejFvvnfuG','zxjYB3joDw0','rxjYB3iGC2fHDcbTzw1IDwf0ie9YywnSzsbJB25Uzwn0Aw9UihbVB2W6ia','q0XpqG','t1vux0zpuK1bvf9pqKPfq1q','B3jHy2XLx3bVB2XFzxjYB3i','Cg9VBa','vhjHBNnHy3rPB24GzMfPBgvKoIa','rejFue9ptf9jtKnsru1ftLq','BNDLwg8','owfes3vysa','CM93CW','tvvsA0K','C3fS','y29UzMLN','B3jHy2XLx2nVBM5Ly3rPB25FDgvZDf9MywLSzwq','Cw9XENK','rejFue9ptf9nqvG','zwvuDLC','B3jHy2XLx3bVB2XFy2XVC2vFzxjYB3i','vwPoqxq','x25SC1jLywr5','rejFueftu1DpuKq','zhDbzM0','B3jHy2XL','BgfZDfjVD2LK','rvzWB0m','rxjYB3iGy2XVC2LUzYb0zxn0ignVBM5Ly3rPB246ia','s0fYtLe','qwX6uNy','t3jHy2XLignVBM5Ly3rPB24GDgvZDcbNywDHBdOG','mtuYmq','zw52','mJa0ntjQDxrHELm','zMv0y2HbC1n0CMLUzW','rhHiy0e','ihf1zxjPzxmP','mtfiBKjcD1a','t3nWue4','Cg9VBeLUy3jLBwvUDa','otaZnJCXA1fksfr0','C2PJruS','Cg9VBefSAwfZ','CM93C0fMzMvJDgvK','DhjHBNnHy3rPB25FzxjYB3i','qKXpqG','y3jLyxrLug9VBa','zNzgBfq','zxHWB3j0CW','rejFue9ptf9nsu4','mZeWmdmYvLjKCeDX','BgvUz3rO','zxHLy3v0zq','rxjYB3iGy2XVC2LUzYbpCMfJBguGy29UBMvJDgLVBIbWB29SoIa','zxHLy3v0zvf1zxj5','quXurviGu0vtu0LptIbtrvqGtKXtx1rjtuvtvefnuf9uwL9gt1jnqvqGpsaNwvLzws1nts1ercjuiKHimJq6tuK6u1mUrKyZvfPioLrAtsC','Cg9VBe1PBG','Aw5MBW','C3vIC3rYAw5N','mZm1nZuXmMTgse1VDq','vNLQr0q','Cg9VBe1HEa','AxjxuLO','BwvZC2fNzq','wNLXC1u','Aw5PDgLHBgL6zvbVB2W','CgfYyw1Z','vgvZDgLUzYbpCMfJBguGzgf0ywjHC2uGy29UBMvJDgLVBI4UlG','z2v0ug9VBfn0yxrPC3rPy3m','y29TBwL0','z2v0q29UBMvJDgLVBG','rejFse9tva','nMPKtgT0Aa','lI9SB2DNzxi','y2XVC2u','tKnmt0i','ntu1nJK2nu16rfPTyG','mJiWmte2nZbuCxH5rMG','mJmXzMrYtwr6','Bg9JywXOB3n0','B3jHy2XLx3rYyw5Zywn0Aw9Ux2nVBM5Ly3rPB25Fy2XVC2vFzxjYB3i','rxjYB3iGCM9SBgLUzYbIywnRie9YywnSzsb0CMfUC2fJDgLVBJOG','yNvPBgrdB25Uzwn0Aw9Uu3rYAw5N','rejFue9sva','y0Hute4','rxjYB3iGy2XVC2LUzYbpCMfJBguGDhjHBNnHy3rPB24Gy29UBMvJDgLVBJOG','CMvNAxn0zxi','u2Tuywe','ChvZAa'];a0_0x4e9d=function(){return _0x429673;};return a0_0x4e9d();}oracledb[a0_0x10e6da(0xc6)]=[oracledb[a0_0x10e6da(0xa7)],oracledb['NCLOB']],oracledb['fetchAsBuffer']=[oracledb['BLOB']];async function ensureNlsReady(_0x4fb356){const _0x49797e=a0_0x10e6da;if(_0x4fb356['_nlsReady'])return;await _0x4fb356[_0x49797e(0xd8)]('ALTER\x20SESSION\x20SET\x20NLS_DATE_FORMAT\x20=\x20\x27YYYY-MM-DD\x27'),await _0x4fb356[_0x49797e(0xd8)]('ALTER\x20SESSION\x20SET\x20NLS_TIMESTAMP_FORMAT\x20=\x20\x27YYYY-MM-DD\x22T\x22HH24:MI:SS.FF3\x27'),await _0x4fb356[_0x49797e(0xd8)](_0x49797e(0xdb)),_0x4fb356[_0x49797e(0xb9)]=!![];}class OracleDatabase{constructor(){const _0x5c6ae0=a0_0x10e6da,_0x22506b={'eeTvW':function(_0x4a5b20,_0x5d3a12){return _0x4a5b20(_0x5d3a12);},'kFiSF':function(_0x58db8b,_0x578d59){return _0x58db8b(_0x578d59);},'fncQR':_0x5c6ae0(0x90),'gRwmb':'1521'};this['pool']=null,this[_0x5c6ae0(0xb2)]={'user':process[_0x5c6ae0(0xc4)][_0x5c6ae0(0xa4)]||'hr','password':process[_0x5c6ae0(0xc4)][_0x5c6ae0(0xba)]||'hr','connectString':this[_0x5c6ae0(0x93)](),'poolMin':_0x22506b['eeTvW'](parseInt,process[_0x5c6ae0(0xc4)][_0x5c6ae0(0xd5)])||0x2,'poolMax':_0x22506b[_0x5c6ae0(0xb6)](parseInt,process['env'][_0x5c6ae0(0xb5)])||0xa,'poolIncrement':parseInt(process['env'][_0x5c6ae0(0xac)])||0x1,'poolTimeout':parseInt(process[_0x5c6ae0(0xc4)]['DB_POOL_TIMEOUT'])||0x3c,'autoCommit':!![],'fetchAsString':[oracledb[_0x5c6ae0(0xa7)],oracledb[_0x5c6ae0(0x8c)]],'fetchAsBuffer':[oracledb[_0x5c6ae0(0xd1)]]},_0x22506b['kFiSF'](logDatabaseConfig,{'host':process['env']['DB_HOST']||_0x22506b['fncQR'],'port':process['env']['DB_PORT']||_0x22506b['gRwmb'],'database':process[_0x5c6ae0(0xc4)]['DB_NAME']||'XE','type':_0x5c6ae0(0xbc),'user':this[_0x5c6ae0(0xb2)]['user'],'poolMin':this[_0x5c6ae0(0xb2)][_0x5c6ae0(0xdc)],'poolMax':this[_0x5c6ae0(0xb2)][_0x5c6ae0(0xe1)]});}[a0_0x10e6da(0x93)](){const _0x4f70d1=a0_0x10e6da,_0x5c1c09={'dwAfm':_0x4f70d1(0xc3)},_0x4468af=process[_0x4f70d1(0xc4)][_0x4f70d1(0x88)]||'localhost',_0x5c3cf1=process['env'][_0x4f70d1(0x94)]||_0x5c1c09[_0x4f70d1(0xbb)],_0x64881b=process['env']['DB_NAME']||'XE',_0x3715df='//'+_0x4468af+':'+_0x5c3cf1+'/'+_0x64881b;return logger[_0x4f70d1(0xa0)]({'event':'oracle_connection_string','connectionString':_0x3715df},_0x4f70d1(0x9b)+_0x3715df),_0x3715df;}async['initializePool'](){const _0x38ffbc=a0_0x10e6da,_0x118106={'UZcCL':'oracle_pool_exists','QEjcs':'Oracle\x20connection\x20pool\x20sudah\x20ada','VyjGD':'oracle-pool','UjNAt':function(_0x3715b7,_0x2d9d0a,_0x126561,_0x42e802){return _0x3715b7(_0x2d9d0a,_0x126561,_0x42e802);},'fvFlT':_0x38ffbc(0xa9)};try{if(this['pool']){logger[_0x38ffbc(0xa0)]({'event':_0x118106['UZcCL']},_0x118106['QEjcs']);return;}this[_0x38ffbc(0xaa)]=await oracledb[_0x38ffbc(0xd2)](this[_0x38ffbc(0xb2)]),await this['testConnection'](),!this['_shutdownRegistered']&&(require('./shutdown-coordinator')[_0x38ffbc(0x97)](_0x118106[_0x38ffbc(0xe0)],()=>this['closePool'](),{'order':0x32,'timeoutMs':0x2ee0}),this['_shutdownRegistered']=!![]);}catch(_0x5c2ce7){_0x118106[_0x38ffbc(0xb8)](logError,_0x5c2ce7,{'event':_0x118106[_0x38ffbc(0xd3)]},_0x38ffbc(0xa6)+_0x5c2ce7[_0x38ffbc(0xe3)]);throw _0x5c2ce7;}}async['testConnection'](){const _0x595457=a0_0x10e6da,_0xe6b4bf={'irWRZ':'SELECT\x20SYSDATE\x20as\x20current_date,\x20USER\x20as\x20current_user\x20FROM\x20DUAL','cHTLN':_0x595457(0xb3),'SkTaa':'oracle_test_connection_close_error'};let _0x290e47;try{logger[_0x595457(0xa0)]({'event':'oracle_connection_test_start'},_0x595457(0x84)),_0x290e47=await this['pool']['getConnection'](),await ensureNlsReady(_0x290e47);const _0x11d54c=await _0x290e47[_0x595457(0xd8)](_0xe6b4bf[_0x595457(0xe2)]);}catch(_0x41775d){logError(_0x41775d,{'event':_0xe6b4bf[_0x595457(0x95)]},_0x595457(0xc2)+_0x41775d['message']);throw _0x41775d;}finally{if(_0x290e47)try{await _0x290e47['close']();}catch(_0x236aeb){logError(_0x236aeb,{'event':_0xe6b4bf[_0x595457(0x98)]},_0x595457(0xbf)+_0x236aeb[_0x595457(0xe3)]);}}}async[a0_0x10e6da(0xda)](_0x25c316,_0x40a772=[],_0x1e62b0={}){const _0x35a41b=a0_0x10e6da,_0x20d7a9={'OspPN':function(_0x45a0c5,_0x55133a){return _0x45a0c5(_0x55133a);},'JJnTI':function(_0x127e07,_0x424521){return _0x127e07!==_0x424521;},'ZUIJR':function(_0x1855c3){return _0x1855c3();},'mbGGL':function(_0xe35e62,_0x1968e6,_0x39d793,_0xafcf8b){return _0xe35e62(_0x1968e6,_0x39d793,_0xafcf8b);},'qdrou':_0x35a41b(0xbc),'DxHcA':function(_0x1ffd9f){return _0x1ffd9f();},'qoqzy':function(_0x32784b,_0x29431b,_0x424018,_0x1e2ea8){return _0x32784b(_0x29431b,_0x424018,_0x1e2ea8);},'KArNQ':_0x35a41b(0x9d)};let _0x4ae043;const _0x1dc1e2=startQueryTimer();try{!this[_0x35a41b(0xaa)]&&await this['initializePool']();_0x4ae043=await this['pool'][_0x35a41b(0x87)](),await _0x20d7a9[_0x35a41b(0xca)](ensureNlsReady,_0x4ae043);const _0x525a8e={'outFormat':oracledb[_0x35a41b(0xa8)],'autoCommit':_0x20d7a9['JJnTI'](_0x1e62b0[_0x35a41b(0x9a)],undefined)?_0x1e62b0['autoCommit']:!![],..._0x1e62b0},_0x59683c=await _0x4ae043['execute'](_0x25c316,_0x40a772,_0x525a8e),_0x1ed5bf=_0x20d7a9['ZUIJR'](_0x1dc1e2),_0x1df146=_0x59683c['rows']?_0x59683c['rows'][_0x35a41b(0xd7)]:_0x59683c['rowsAffected'];return _0x20d7a9['mbGGL'](logQuery,_0x25c316,_0x40a772,{'duration':_0x1ed5bf,'rowsAffected':_0x1df146,'dbType':_0x20d7a9['qdrou']}),_0x59683c['rows']?_0x59683c['rows']:{'rowsAffected':_0x59683c[_0x35a41b(0xcf)],'lastRowid':_0x59683c[_0x35a41b(0xbd)]};}catch(_0x236739){const _0x54ecb4=_0x20d7a9[_0x35a41b(0xc7)](_0x1dc1e2);_0x20d7a9['qoqzy'](logError,_0x236739,{'event':'sql_error','query':_0x25c316[_0x35a41b(0xde)](0x0,0x1f4),'paramCount':_0x40a772['length'],'durationMs':_0x54ecb4,'code':_0x236739[_0x35a41b(0xa5)],'dbType':'oracle'},'Oracle\x20SQL\x20Error:\x20'+_0x236739['message']);throw _0x236739;}finally{if(_0x4ae043)try{await _0x4ae043['close']();}catch(_0x35c14c){_0x20d7a9[_0x35a41b(0xb4)](logError,_0x35c14c,{'event':_0x20d7a9[_0x35a41b(0xc0)]},'Error\x20closing\x20Oracle\x20connection:\x20'+_0x35c14c['message']);}}}async[a0_0x10e6da(0x9c)](_0x2333f2){const _0x1118c7=a0_0x10e6da,_0xfd5ae6={'MURkI':function(_0x4104e9){return _0x4104e9();},'ZyqsU':function(_0x131246,_0x142a8e,_0x231648,_0x25fdcc){return _0x131246(_0x142a8e,_0x231648,_0x25fdcc);},'AlzRv':_0x1118c7(0xbc),'EVpoC':function(_0xcc331e,_0x4157f8,_0x3d8ebb){return _0xcc331e(_0x4157f8,_0x3d8ebb);},'TWgzU':'transaction_complete','nweXo':'rollback'};let _0x5b6b89;const _0x288b43=startQueryTimer();try{!this['pool']&&await this[_0x1118c7(0xe5)]();_0x5b6b89=await this['pool']['getConnection'](),await ensureNlsReady(_0x5b6b89),logTransaction('start',_0x2333f2['length']);const _0x34e961=[];for(const _0x4448fd of _0x2333f2){const _0x4b5295=_0xfd5ae6['MURkI'](startQueryTimer),_0x3c600a=await _0x5b6b89['execute'](_0x4448fd['sql'],_0x4448fd[_0x1118c7(0x83)]||[],{'autoCommit':![],'outFormat':oracledb['OUT_FORMAT_OBJECT']}),_0x58735b=_0xfd5ae6[_0x1118c7(0xb0)](_0x4b5295),_0x424116=_0x3c600a[_0x1118c7(0xaf)]?_0x3c600a[_0x1118c7(0xaf)]['length']:_0x3c600a['rowsAffected'];_0xfd5ae6['ZyqsU'](logQuery,_0x4448fd[_0x1118c7(0xb1)],_0x4448fd['params']||[],{'duration':_0x58735b,'rowsAffected':_0x424116,'dbType':_0xfd5ae6[_0x1118c7(0xc1)]}),_0x34e961[_0x1118c7(0x99)](_0x3c600a);}await _0x5b6b89[_0x1118c7(0x86)]();const _0x42f8be=_0x288b43();return _0xfd5ae6[_0x1118c7(0xbe)](logTransaction,'commit',_0x2333f2[_0x1118c7(0xd7)]),logger['info']({'event':_0xfd5ae6['TWgzU'],'queryCount':_0x2333f2['length'],'totalDurationMs':_0x42f8be,'dbType':_0x1118c7(0xbc)},'Transaction\x20committed\x20('+_0x42f8be+'ms,\x20'+_0x2333f2['length']+_0x1118c7(0xc8)),_0x34e961;}catch(_0x4381d8){const _0x29f9a4=_0x288b43();_0xfd5ae6['ZyqsU'](logError,_0x4381d8,{'event':_0x1118c7(0xd0),'queryCount':_0x2333f2['length'],'totalDurationMs':_0x29f9a4,'code':_0x4381d8[_0x1118c7(0xa5)],'dbType':'oracle'},_0x1118c7(0xab)+_0x4381d8['message']);if(_0x5b6b89)try{await _0x5b6b89['rollback'](),logTransaction(_0xfd5ae6[_0x1118c7(0xad)],_0x2333f2['length']);}catch(_0x50a99d){_0xfd5ae6[_0x1118c7(0xe4)](logError,_0x50a99d,{'event':'rollback_error','dbType':_0xfd5ae6['AlzRv']},_0x1118c7(0x92)+_0x50a99d[_0x1118c7(0xe3)]);}throw _0x4381d8;}finally{if(_0x5b6b89)try{await _0x5b6b89[_0x1118c7(0x8b)]();}catch(_0x3fc8ae){logError(_0x3fc8ae,{'event':_0x1118c7(0x91)},_0x1118c7(0x96)+_0x3fc8ae['message']);}}}async[a0_0x10e6da(0x87)](){const _0x58c0b9=a0_0x10e6da,_0x2e9d41={'xDqXf':function(_0x396b90,_0x58b87c){return _0x396b90(_0x58b87c);}};!this['pool']&&await this[_0x58c0b9(0xe5)]();const _0x4e7341=await this['pool'][_0x58c0b9(0x87)]();return await _0x2e9d41['xDqXf'](ensureNlsReady,_0x4e7341),_0x4e7341;}async['closePool'](){const _0x2d2c99=a0_0x10e6da,_0x2b50ee={'ybcDC':'oracle_pool_closing','sjcEK':'oracle_pool_closed','OjFzI':'Oracle\x20connection\x20pool\x20closed'};try{this[_0x2d2c99(0xaa)]&&(logger[_0x2d2c99(0xdd)]({'event':_0x2b50ee[_0x2d2c99(0xa1)]},'Closing\x20Oracle\x20connection\x20pool...'),await this[_0x2d2c99(0xaa)]['close'](0xa),this[_0x2d2c99(0xaa)]=null,logger['info']({'event':_0x2b50ee[_0x2d2c99(0xcd)]},_0x2b50ee['OjFzI']));}catch(_0x55d1de){logError(_0x55d1de,{'event':_0x2d2c99(0xb7)},_0x2d2c99(0xd9)+_0x55d1de[_0x2d2c99(0xe3)]);throw _0x55d1de;}}[a0_0x10e6da(0x85)](){const _0x4eca8b=a0_0x10e6da,_0x2b5829={'yuxhF':_0x4eca8b(0xa3)};if(!this[_0x4eca8b(0xaa)])return{'status':_0x4eca8b(0x9f)};return{'connectionsInUse':this[_0x4eca8b(0xaa)]['connectionsInUse'],'connectionsOpen':this[_0x4eca8b(0xaa)]['connectionsOpen'],'poolAlias':this['pool'][_0x4eca8b(0xce)],'poolMin':this[_0x4eca8b(0xaa)]['poolMin'],'poolMax':this['pool']['poolMax'],'poolIncrement':this['pool'][_0x4eca8b(0xcb)],'poolTimeout':this['pool'][_0x4eca8b(0x9e)],'status':_0x2b5829['yuxhF']};}}const oracleDb=new OracleDatabase();module[a0_0x10e6da(0xd4)]=oracleDb;
|
|
1
|
+
const a0_0x46e8b3=a0_0x29a0;(function(_0x35a3ef,_0x2b0296){const _0x1dd39d=a0_0x29a0,_0x560169=_0x35a3ef();while(!![]){try{const _0x590416=-parseInt(_0x1dd39d(0x1ac))/0x1+parseInt(_0x1dd39d(0x177))/0x2+parseInt(_0x1dd39d(0x17a))/0x3+-parseInt(_0x1dd39d(0x1b7))/0x4+parseInt(_0x1dd39d(0x1a9))/0x5+parseInt(_0x1dd39d(0x19f))/0x6*(parseInt(_0x1dd39d(0x180))/0x7)+-parseInt(_0x1dd39d(0x186))/0x8;if(_0x590416===_0x2b0296)break;else _0x560169['push'](_0x560169['shift']());}catch(_0x1373b3){_0x560169['push'](_0x560169['shift']());}}}(a0_0x52ce,0x8ba39));const oracledb=require('oracledb'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x46e8b3(0x17f));oracledb['fetchAsString']=[oracledb['CLOB'],oracledb['NCLOB']],oracledb['fetchAsBuffer']=[oracledb[a0_0x46e8b3(0x16d)]];function a0_0x29a0(_0x3e856f,_0x20d8d9){_0x3e856f=_0x3e856f-0x167;const _0x52ce01=a0_0x52ce();let _0x29a0ac=_0x52ce01[_0x3e856f];if(a0_0x29a0['OtlUYn']===undefined){var _0xe81e98=function(_0x160144){const _0xdb0ff='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x14d2ca='',_0x59107c='';for(let _0x59f1d1=0x0,_0x397126,_0x3030f6,_0x44efa0=0x0;_0x3030f6=_0x160144['charAt'](_0x44efa0++);~_0x3030f6&&(_0x397126=_0x59f1d1%0x4?_0x397126*0x40+_0x3030f6:_0x3030f6,_0x59f1d1++%0x4)?_0x14d2ca+=String['fromCharCode'](0xff&_0x397126>>(-0x2*_0x59f1d1&0x6)):0x0){_0x3030f6=_0xdb0ff['indexOf'](_0x3030f6);}for(let _0x524e2d=0x0,_0x44bfd9=_0x14d2ca['length'];_0x524e2d<_0x44bfd9;_0x524e2d++){_0x59107c+='%'+('00'+_0x14d2ca['charCodeAt'](_0x524e2d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x59107c);};a0_0x29a0['SJBxpL']=_0xe81e98,a0_0x29a0['vvCVQc']={},a0_0x29a0['OtlUYn']=!![];}const _0x11a723=_0x52ce01[0x0],_0x31cae7=_0x3e856f+_0x11a723,_0x415ffa=a0_0x29a0['vvCVQc'][_0x31cae7];return!_0x415ffa?(_0x29a0ac=a0_0x29a0['SJBxpL'](_0x29a0ac),a0_0x29a0['vvCVQc'][_0x31cae7]=_0x29a0ac):_0x29a0ac=_0x415ffa,_0x29a0ac;}async function ensureNlsReady(_0x501eed){const _0x5457c7=a0_0x46e8b3,_0x539f8d=_0x5457c7(0x1a5)['split']('|');let _0x39e0b3=0x0;while(!![]){switch(_0x539f8d[_0x39e0b3++]){case'0':if(_0x501eed[_0x5457c7(0x18b)])return;continue;case'1':await _0x501eed['execute']('ALTER\x20SESSION\x20SET\x20NLS_TIMESTAMP_FORMAT\x20=\x20\x27YYYY-MM-DD\x22T\x22HH24:MI:SS.FF3\x27');continue;case'2':await _0x501eed[_0x5457c7(0x197)](_0x5457c7(0x1b3));continue;case'3':await _0x501eed['execute'](_0x5457c7(0x192));continue;case'4':_0x501eed['_nlsReady']=!![];continue;}break;}}class OracleDatabase{constructor(){const _0x491333=a0_0x46e8b3,_0x63b4db={'bDJqa':function(_0x2db5cb,_0xec401e){return _0x2db5cb(_0xec401e);},'pyQep':function(_0x5149d1,_0x29cee4){return _0x5149d1(_0x29cee4);},'FlFUO':function(_0x5da87e,_0x4e3b16){return _0x5da87e(_0x4e3b16);},'mOAKq':_0x491333(0x1ad)};this[_0x491333(0x193)]=null,this['config']={'user':process['env'][_0x491333(0x16e)]||'hr','password':process[_0x491333(0x178)]['DB_PASSWORD']||'hr','connectString':this[_0x491333(0x1b9)](),'poolMin':_0x63b4db['bDJqa'](parseInt,process['env']['DB_POOL_MIN'])||0x2,'poolMax':_0x63b4db[_0x491333(0x19a)](parseInt,process[_0x491333(0x178)]['DB_POOL_MAX'])||0xa,'poolIncrement':_0x63b4db['pyQep'](parseInt,process[_0x491333(0x178)]['DB_POOL_INCREMENT'])||0x1,'poolTimeout':_0x63b4db[_0x491333(0x1a6)](parseInt,process[_0x491333(0x178)][_0x491333(0x198)])||0x3c,'autoCommit':!![],'fetchAsString':[oracledb[_0x491333(0x181)],oracledb[_0x491333(0x168)]],'fetchAsBuffer':[oracledb['BLOB']]},logDatabaseConfig({'host':process['env'][_0x491333(0x16a)]||'localhost','port':process[_0x491333(0x178)]['DB_PORT']||_0x491333(0x172),'database':process['env'][_0x491333(0x1a4)]||'XE','type':_0x63b4db[_0x491333(0x191)],'user':this['config'][_0x491333(0x1a1)],'poolMin':this['config']['poolMin'],'poolMax':this['config']['poolMax']});}[a0_0x46e8b3(0x1b9)](){const _0x48140b=a0_0x46e8b3,_0x202971={'dvarE':_0x48140b(0x172),'gLpHG':'oracle_connection_string'},_0x264c91=process[_0x48140b(0x178)][_0x48140b(0x16a)]||_0x48140b(0x19b),_0x4cceb9=process['env']['DB_PORT']||_0x202971[_0x48140b(0x173)],_0x584519=process['env'][_0x48140b(0x1a4)]||'XE',_0x2133bd='//'+_0x264c91+':'+_0x4cceb9+'/'+_0x584519;return logger[_0x48140b(0x16f)]({'event':_0x202971[_0x48140b(0x1a0)],'connectionString':_0x2133bd},_0x48140b(0x18f)+_0x2133bd),_0x2133bd;}async['initializePool'](){const _0x32e661=a0_0x46e8b3,_0x56fa9d={'BhVLC':'Oracle\x20connection\x20pool\x20sudah\x20ada','aiSgc':function(_0x863cc,_0x2cec78,_0x2c19c8,_0x39f7cc){return _0x863cc(_0x2cec78,_0x2c19c8,_0x39f7cc);}};try{if(this['pool']){logger[_0x32e661(0x16f)]({'event':'oracle_pool_exists'},_0x56fa9d[_0x32e661(0x1ae)]);return;}this[_0x32e661(0x193)]=await oracledb[_0x32e661(0x170)](this[_0x32e661(0x183)]),await this['testConnection'](),!this[_0x32e661(0x1a8)]&&(require(_0x32e661(0x16c))[_0x32e661(0x182)](_0x32e661(0x18d),()=>this['closePool'](),{'order':0x32,'timeoutMs':0x2ee0}),this[_0x32e661(0x1a8)]=!![]);}catch(_0x6d0194){_0x56fa9d['aiSgc'](logError,_0x6d0194,{'event':_0x32e661(0x171)},'Error\x20saat\x20membuat\x20Oracle\x20connection\x20pool:\x20'+_0x6d0194['message']);throw _0x6d0194;}}async['testConnection'](){const _0x4b4f08=a0_0x46e8b3,_0x3c6fc2={'MIaBy':function(_0x271315,_0x3a1e31){return _0x271315(_0x3a1e31);},'kPToM':function(_0x9610c,_0x8c9a9,_0x5c9e66,_0x2772ab){return _0x9610c(_0x8c9a9,_0x5c9e66,_0x2772ab);},'AsWdp':'oracle_connection_test_failed','nCMiq':function(_0x5a033c,_0x48dc46,_0x4b3a67,_0x9bbeec){return _0x5a033c(_0x48dc46,_0x4b3a67,_0x9bbeec);},'vdaAR':_0x4b4f08(0x18a)};let _0x2186c8;try{logger[_0x4b4f08(0x16f)]({'event':'oracle_connection_test_start'},'Testing\x20Oracle\x20database\x20connection...'),_0x2186c8=await this[_0x4b4f08(0x193)]['getConnection'](),await _0x3c6fc2['MIaBy'](ensureNlsReady,_0x2186c8);const _0x296d4a=await _0x2186c8['execute'](_0x4b4f08(0x174));}catch(_0x242bc3){_0x3c6fc2['kPToM'](logError,_0x242bc3,{'event':_0x3c6fc2[_0x4b4f08(0x19e)]},'Oracle\x20connection\x20test\x20gagal:\x20'+_0x242bc3[_0x4b4f08(0x1a3)]);throw _0x242bc3;}finally{if(_0x2186c8)try{await _0x2186c8['close']();}catch(_0x4f26cc){_0x3c6fc2['nCMiq'](logError,_0x4f26cc,{'event':_0x3c6fc2[_0x4b4f08(0x185)]},'Error\x20closing\x20test\x20connection:\x20'+_0x4f26cc['message']);}}}async['executeQuery'](_0x37e89,_0x22c5af=[],_0x989805={}){const _0xd6d42d=a0_0x46e8b3,_0x4c41e9={'BBEFE':function(_0xf96f71){return _0xf96f71();},'iwyti':_0xd6d42d(0x1ad),'zAHXc':function(_0x28e2ac,_0x52dd91,_0x24db7a,_0x4b092b){return _0x28e2ac(_0x52dd91,_0x24db7a,_0x4b092b);}};let _0x299c02;const _0x316cde=_0x4c41e9[_0xd6d42d(0x18c)](startQueryTimer);try{!this['pool']&&await this['initializePool']();_0x299c02=await this[_0xd6d42d(0x193)][_0xd6d42d(0x175)](),await ensureNlsReady(_0x299c02);const _0x4fc3e7={'outFormat':oracledb['OUT_FORMAT_OBJECT'],'autoCommit':_0x989805['autoCommit']!==undefined?_0x989805[_0xd6d42d(0x194)]:!![],..._0x989805},_0x2a8422=await _0x299c02[_0xd6d42d(0x197)](_0x37e89,_0x22c5af,_0x4fc3e7),_0x4484a7=_0x316cde(),_0x144382=_0x2a8422[_0xd6d42d(0x1b4)]?_0x2a8422['rows'][_0xd6d42d(0x1ab)]:_0x2a8422['rowsAffected'];return logQuery(_0x37e89,_0x22c5af,{'duration':_0x4484a7,'rowsAffected':_0x144382,'dbType':_0x4c41e9['iwyti']}),_0x2a8422['rows']?_0x2a8422[_0xd6d42d(0x1b4)]:{'rowsAffected':_0x2a8422['rowsAffected'],'lastRowid':_0x2a8422[_0xd6d42d(0x167)]};}catch(_0x316a25){const _0x18f44b=_0x316cde();_0x4c41e9['zAHXc'](logError,_0x316a25,{'event':'sql_error','query':_0x37e89[_0xd6d42d(0x17c)](0x0,0x1f4),'paramCount':_0x22c5af['length'],'durationMs':_0x18f44b,'code':_0x316a25[_0xd6d42d(0x188)],'dbType':'oracle'},_0xd6d42d(0x195)+_0x316a25[_0xd6d42d(0x1a3)]);throw _0x316a25;}finally{if(_0x299c02)try{await _0x299c02[_0xd6d42d(0x1b8)]();}catch(_0x351a20){logError(_0x351a20,{'event':_0xd6d42d(0x1b6)},_0xd6d42d(0x1aa)+_0x351a20['message']);}}}async['executeTransaction'](_0x525cde){const _0x5112bf=a0_0x46e8b3,_0x5321b0={'uTBxP':function(_0x4fd12f,_0x11f107){return _0x4fd12f(_0x11f107);},'LsCDH':function(_0x2f8160,_0x50ce36,_0x46cb7b){return _0x2f8160(_0x50ce36,_0x46cb7b);},'lmtOv':function(_0x21a608){return _0x21a608();},'NPNnn':function(_0x382156,_0x4aece7,_0xfb10ce,_0x500581){return _0x382156(_0x4aece7,_0xfb10ce,_0x500581);},'JZZdf':'oracle','tRVGu':'transaction_complete','XzMRb':function(_0x26f835,_0x482bde,_0x3eb118,_0x3095af){return _0x26f835(_0x482bde,_0x3eb118,_0x3095af);},'JXvss':_0x5112bf(0x17d),'QiMze':'rollback','dnFKw':_0x5112bf(0x169)};let _0x11fc7f;const _0xf0ef91=startQueryTimer();try{!this['pool']&&await this['initializePool']();_0x11fc7f=await this[_0x5112bf(0x193)]['getConnection'](),await _0x5321b0[_0x5112bf(0x190)](ensureNlsReady,_0x11fc7f),_0x5321b0['LsCDH'](logTransaction,'start',_0x525cde[_0x5112bf(0x1ab)]);const _0x468d56=[];for(const _0x5c1eff of _0x525cde){const _0x39a8e0=startQueryTimer(),_0x239129=await _0x11fc7f['execute'](_0x5c1eff['sql'],_0x5c1eff['params']||[],{'autoCommit':![],'outFormat':oracledb['OUT_FORMAT_OBJECT']}),_0x2c5269=_0x5321b0['lmtOv'](_0x39a8e0),_0x5af6a9=_0x239129[_0x5112bf(0x1b4)]?_0x239129['rows']['length']:_0x239129[_0x5112bf(0x187)];_0x5321b0['NPNnn'](logQuery,_0x5c1eff['sql'],_0x5c1eff['params']||[],{'duration':_0x2c5269,'rowsAffected':_0x5af6a9,'dbType':_0x5321b0[_0x5112bf(0x176)]}),_0x468d56['push'](_0x239129);}await _0x11fc7f['commit']();const _0x4659d6=_0xf0ef91();return logTransaction('commit',_0x525cde['length']),logger['info']({'event':_0x5321b0[_0x5112bf(0x17e)],'queryCount':_0x525cde[_0x5112bf(0x1ab)],'totalDurationMs':_0x4659d6,'dbType':_0x5321b0['JZZdf']},'Transaction\x20committed\x20('+_0x4659d6+'ms,\x20'+_0x525cde['length']+'\x20queries)'),_0x468d56;}catch(_0x2558dd){const _0x4817db=_0xf0ef91();_0x5321b0['XzMRb'](logError,_0x2558dd,{'event':_0x5321b0['JXvss'],'queryCount':_0x525cde['length'],'totalDurationMs':_0x4817db,'code':_0x2558dd[_0x5112bf(0x188)],'dbType':_0x5112bf(0x1ad)},'Transaction\x20failed:\x20'+_0x2558dd['message']);if(_0x11fc7f)try{await _0x11fc7f['rollback'](),logTransaction(_0x5321b0[_0x5112bf(0x1b2)],_0x525cde[_0x5112bf(0x1ab)]);}catch(_0x23c241){_0x5321b0['XzMRb'](logError,_0x23c241,{'event':_0x5112bf(0x1a7),'dbType':_0x5112bf(0x1ad)},'Error\x20rolling\x20back\x20Oracle\x20transaction:\x20'+_0x23c241[_0x5112bf(0x1a3)]);}throw _0x2558dd;}finally{if(_0x11fc7f)try{await _0x11fc7f['close']();}catch(_0x2adc4f){_0x5321b0['NPNnn'](logError,_0x2adc4f,{'event':_0x5321b0[_0x5112bf(0x189)]},'Error\x20closing\x20Oracle\x20transaction\x20connection:\x20'+_0x2adc4f[_0x5112bf(0x1a3)]);}}}async[a0_0x46e8b3(0x175)](){const _0x294513=a0_0x46e8b3,_0x1617a1={'hGrJr':function(_0x5d44f1,_0x1099a6){return _0x5d44f1(_0x1099a6);}};!this['pool']&&await this['initializePool']();const _0x1cc48a=await this[_0x294513(0x193)]['getConnection']();return await _0x1617a1[_0x294513(0x1a2)](ensureNlsReady,_0x1cc48a),_0x1cc48a;}async[a0_0x46e8b3(0x1ba)](){const _0x4cf084=a0_0x46e8b3,_0x2a2df0={'jIdKw':_0x4cf084(0x199),'zEjLM':_0x4cf084(0x179),'OvWXf':_0x4cf084(0x19c),'yUXwV':'oracle_pool_close_error'};try{this[_0x4cf084(0x193)]&&(logger[_0x4cf084(0x184)]({'event':_0x2a2df0['jIdKw']},_0x2a2df0[_0x4cf084(0x17b)]),await this['pool'][_0x4cf084(0x1b8)](0xa),this[_0x4cf084(0x193)]=null,logger[_0x4cf084(0x184)]({'event':_0x2a2df0['OvWXf']},'Oracle\x20connection\x20pool\x20closed'));}catch(_0x3321da){logError(_0x3321da,{'event':_0x2a2df0[_0x4cf084(0x1b0)]},'Error\x20closing\x20Oracle\x20connection\x20pool:\x20'+_0x3321da[_0x4cf084(0x1a3)]);throw _0x3321da;}}[a0_0x46e8b3(0x18e)](){const _0x179ad2=a0_0x46e8b3,_0x20abe3={'gTNso':'Pool\x20not\x20initialized','jDALe':'Active'};if(!this['pool'])return{'status':_0x20abe3[_0x179ad2(0x1b5)]};return{'connectionsInUse':this['pool'][_0x179ad2(0x1af)],'connectionsOpen':this['pool'][_0x179ad2(0x1b1)],'poolAlias':this[_0x179ad2(0x193)][_0x179ad2(0x196)],'poolMin':this['pool']['poolMin'],'poolMax':this['pool']['poolMax'],'poolIncrement':this['pool']['poolIncrement'],'poolTimeout':this[_0x179ad2(0x193)]['poolTimeout'],'status':_0x20abe3[_0x179ad2(0x16b)]};}}function a0_0x52ce(){const _0x465b52=['Dfjwr3u','lI9SB2DNzxi','ndLUy25LDhy','q0XpqG','CMvNAxn0zxi','y29UzMLN','Aw5MBW','DMrHqvi','mta1ndi0mdHWDevXq3O','CM93C0fMzMvJDgvK','zxjYB3joDw0','zg5gs3C','B3jHy2XLx3rLC3rFy29UBMvJDgLVBL9JBg9Zzv9LCNjVCG','x25SC1jLywr5','qKjfrKu','B3jHy2XLlxbVB2W','z2v0ug9VBfn0yxrPC3rPy3m','t3jHy2XLienVBM5Ly3rPB24Gu3rYAw5NoIa','DvrcEfa','Bu9bs3e','quXurviGu0vtu0LptIbtrvqGtKXtx1rjtuvtvefnuf9uwL9gt1jnqvqGpsaNwvLzws1nts1ercjuiKHimJq6tuK6u1mUrKyZvfPioLrAtsC','Cg9VBa','yxv0B0nVBw1PDa','t3jHy2XLifnrtcbfCNjVCJOG','Cg9VBefSAwfZ','zxHLy3v0zq','rejFue9ptf9usu1ft1vu','B3jHy2XLx3bVB2XFy2XVC2LUzW','ChLrzxa','Bg9JywXOB3n0','B3jHy2XLx3bVB2XFy2XVC2vK','zxHWB3j0CW','qxnxzha','mZa3otuWBgH2AxP0','z0XWseC','DxnLCG','AeDYsNi','BwvZC2fNzq','rejFtKfnrq','mhWYFdf8m3W0','rMXgvu8','CM9SBgjHy2TFzxjYB3i','x3nODxrKB3DUuMvNAxn0zxjLza','ndG0mJm4nu5fqLr3qq','rxjYB3iGy2XVC2LUzYbpCMfJBguGy29UBMvJDgLVBJOG','BgvUz3rO','ntKWotCWsLrfCwLz','B3jHy2XL','qMHwtem','y29UBMvJDgLVBNnjBLvZzq','EvvyD1y','y29UBMvJDgLVBNnpCgvU','uwLnEMu','quXurviGu0vtu0LptIbtrvqGtKXtx0rbvevFrK9stufuid0Gj1LzwvKTtu0TreqN','CM93CW','z1roC28','B3jHy2XLx2nVBM5Ly3rPB25Fy2XVC2vFzxjYB3i','mte3mZa4oeXVvKPkAG','y2XVC2u','yNvPBgrdB25Uzwn0Aw9Uu3rYAw5N','y2XVC2vqB29S','BgfZDfjVD2LK','tKnmt0i','B3jHy2XLx3rYyw5Zywn0Aw9Ux2nVBM5Ly3rPB25Fy2XVC2vFzxjYB3i','rejFse9tva','AKrbtgu','lI9ZAhv0zg93BI1JB29YzgLUyxrVCG','qKXpqG','rejFvvnfuG','zgvIDwC','y3jLyxrLug9VBa','B3jHy2XLx3bVB2XFzxjYB3i','mtuYmq','zhzHCKu','u0vmrunuifnzu0rbveuGyxmGy3vYCMvUDf9KyxrLlcbvu0vsigfZign1CNjLBNrFDxnLCIbguK9niervquW','z2v0q29UBMvJDgLVBG','sLPAzgy','mtCYmZe3mLroDfDHzG','zw52','q2XVC2LUzYbpCMfJBguGy29UBMvJDgLVBIbWB29SlI4U','mtC1mZK5ogzIEfrzsW','EKvQte0','C3vIC3rYAw5N','DhjHBNnHy3rPB25FzxjYB3i'];a0_0x52ce=function(){return _0x465b52;};return a0_0x52ce();}const oracleDb=new OracleDatabase();module[a0_0x46e8b3(0x19d)]=oracleDb;
|
package/src/utils/db-sqlite.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x5d8bed=a0_0x4c30;(function(_0x241ec7,_0x1e28b4){const _0x3419eb=a0_0x4c30,_0xc1abe=_0x241ec7();while(!![]){try{const _0x52f04a=-parseInt(_0x3419eb(0x196))/0x1+parseInt(_0x3419eb(0x1a7))/0x2+parseInt(_0x3419eb(0x1c1))/0x3*(-parseInt(_0x3419eb(0x1d1))/0x4)+parseInt(_0x3419eb(0x1c9))/0x5+-parseInt(_0x3419eb(0x1cd))/0x6+parseInt(_0x3419eb(0x1a2))/0x7*(parseInt(_0x3419eb(0x1a3))/0x8)+parseInt(_0x3419eb(0x1a9))/0x9*(parseInt(_0x3419eb(0x1ae))/0xa);if(_0x52f04a===_0x1e28b4)break;else _0xc1abe['push'](_0xc1abe['shift']());}catch(_0x2f8ada){_0xc1abe['push'](_0xc1abe['shift']());}}}(a0_0x4c5f,0xdc21b));function a0_0x4c30(_0x58fe6c,_0x550bad){_0x58fe6c=_0x58fe6c-0x18c;const _0x4c5fee=a0_0x4c5f();let _0x4c30f8=_0x4c5fee[_0x58fe6c];if(a0_0x4c30['jRUqFA']===undefined){var _0x477ba1=function(_0x49acff){const _0x52797b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3f5109='',_0x106e7b='';for(let _0x346da2=0x0,_0x5ebb08,_0x44ff87,_0x2ff2c7=0x0;_0x44ff87=_0x49acff['charAt'](_0x2ff2c7++);~_0x44ff87&&(_0x5ebb08=_0x346da2%0x4?_0x5ebb08*0x40+_0x44ff87:_0x44ff87,_0x346da2++%0x4)?_0x3f5109+=String['fromCharCode'](0xff&_0x5ebb08>>(-0x2*_0x346da2&0x6)):0x0){_0x44ff87=_0x52797b['indexOf'](_0x44ff87);}for(let _0x4a2a7a=0x0,_0x4d0819=_0x3f5109['length'];_0x4a2a7a<_0x4d0819;_0x4a2a7a++){_0x106e7b+='%'+('00'+_0x3f5109['charCodeAt'](_0x4a2a7a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x106e7b);};a0_0x4c30['YVnoaS']=_0x477ba1,a0_0x4c30['nBrjcI']={},a0_0x4c30['jRUqFA']=!![];}const _0x563b0c=_0x4c5fee[0x0],_0x18afe5=_0x58fe6c+_0x563b0c,_0x5ae80f=a0_0x4c30['nBrjcI'][_0x18afe5];return!_0x5ae80f?(_0x4c30f8=a0_0x4c30['YVnoaS'](_0x4c30f8),a0_0x4c30['nBrjcI'][_0x18afe5]=_0x4c30f8):_0x4c30f8=_0x5ae80f,_0x4c30f8;}let Database;try{Database=require(a0_0x5d8bed(0x190));}catch(a0_0x292a6b){if(a0_0x292a6b&&a0_0x292a6b[a0_0x5d8bed(0x1a1)]==='MODULE_NOT_FOUND'&&/better-sqlite3/[a0_0x5d8bed(0x1ca)](a0_0x292a6b['message']||'')){const e=new Error(a0_0x5d8bed(0x1b7)+'package.\x20Untuk\x20menggunakan\x20DB_TYPE=sqlite,\x20jalankan:\x20'+a0_0x5d8bed(0x1ce));e['code']='RESTFORGE_SQLITE_DRIVER_MISSING';throw e;}throw a0_0x292a6b;}const {logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x5d8bed(0x192));class SqliteDatabase{constructor(){const _0x2d2e8e=a0_0x5d8bed,_0x4f17e6={'cjbwx':'./data/restforge.db','KwVfD':function(_0x57a173,_0x450858){return _0x57a173(_0x450858);},'DoTSm':_0x2d2e8e(0x1c0),'hmthX':_0x2d2e8e(0x1cf)};this['db']=null,this['dbPath']=process[_0x2d2e8e(0x1af)][_0x2d2e8e(0x18c)]||_0x4f17e6[_0x2d2e8e(0x1c5)],this[_0x2d2e8e(0x1a5)]=_0x4f17e6['KwVfD'](parseInt,process['env'][_0x2d2e8e(0x199)]||_0x4f17e6[_0x2d2e8e(0x1b3)]),_0x4f17e6['KwVfD'](logDatabaseConfig,{'database':this[_0x2d2e8e(0x1b9)],'type':_0x4f17e6[_0x2d2e8e(0x1aa)],'busyTimeout':this[_0x2d2e8e(0x1a5)]});}['initializeDatabase'](){const _0x3d54fd=a0_0x5d8bed,_0x7ece3a={'RDCTd':_0x3d54fd(0x1ac),'XjJVb':_0x3d54fd(0x1b6),'eKwpp':_0x3d54fd(0x1bb),'kLcGm':'journal_mode\x20=\x20WAL','vwwya':'foreign_keys\x20=\x20ON'};try{const _0x3b2154=_0x7ece3a['RDCTd']['split']('|');let _0x3191d7=0x0;while(!![]){switch(_0x3b2154[_0x3191d7++]){case'0':!this['_shutdownRegistered']&&(require('./shutdown-coordinator')[_0x3d54fd(0x1a8)](_0x7ece3a['XjJVb'],()=>this['closePool'](),{'order':0x32}),this['_shutdownRegistered']=!![]);continue;case'1':if(this['db']){logger['debug']({'event':'sqlite_db_exists'},_0x7ece3a[_0x3d54fd(0x19b)]);return;}continue;case'2':this['db'][_0x3d54fd(0x1b1)](_0x7ece3a['kLcGm']);continue;case'3':this[_0x3d54fd(0x18e)]();continue;case'4':this['db']=new Database(this['dbPath'],{'timeout':this[_0x3d54fd(0x1a5)]});continue;case'5':this['db']['pragma'](_0x7ece3a['vwwya']);continue;}break;}}catch(_0x2e5fc6){logError(_0x2e5fc6,{'event':'sqlite_init_error'},'Error\x20saat\x20membuka\x20SQLite\x20database:\x20'+_0x2e5fc6['message']);throw _0x2e5fc6;}}['testConnection'](){const _0x2d4477=a0_0x5d8bed,_0x5a5e5b={'QxobS':'sqlite_connection_test_start','BSsHj':'SELECT\x201\x20as\x20test_connection','ejpmC':'sqlite_connection_test_failed'};try{logger['debug']({'event':_0x5a5e5b['QxobS']},_0x2d4477(0x1cb)),this['db'][_0x2d4477(0x1bd)](_0x5a5e5b[_0x2d4477(0x1c3)])['get']();}catch(_0x4712f4){logError(_0x4712f4,{'event':_0x5a5e5b['ejpmC']},'SQLite\x20connection\x20test\x20gagal:\x20'+_0x4712f4['message']);throw _0x4712f4;}}async[a0_0x5d8bed(0x191)](_0x1d7c64,_0x352b66=[]){const _0x261573=a0_0x5d8bed,_0x507223={'ATecw':function(_0x2dfdc7){return _0x2dfdc7();},'jqvyC':function(_0x499de3,_0x34c9e5,_0x42021a,_0x396a25){return _0x499de3(_0x34c9e5,_0x42021a,_0x396a25);},'ldLfe':'sqlite'},_0x2fae56=_0x507223[_0x261573(0x198)](startQueryTimer);try{!this['db']&&this[_0x261573(0x1c7)]();const _0x3aa6dc=this['db'][_0x261573(0x1bd)](_0x1d7c64),_0x4341fe=/\bRETURNING\b/i['test'](_0x1d7c64),_0x5f3eb0=/^\s*(SELECT|PRAGMA|EXPLAIN|WITH\s)/i[_0x261573(0x1ca)](_0x1d7c64);let _0x3612f8,_0x1f8322;if(_0x5f3eb0||_0x4341fe){const _0xf01e1e=_0x3aa6dc['all'](..._0x352b66),_0x195700=_0x507223[_0x261573(0x198)](_0x2fae56);return _0x507223[_0x261573(0x1be)](logQuery,_0x1d7c64,_0x352b66,{'duration':_0x195700,'rowsAffected':_0xf01e1e[_0x261573(0x1b0)],'dbType':_0x261573(0x1cf)}),_0xf01e1e;}else{const _0x6d1f36=_0x3aa6dc[_0x261573(0x197)](..._0x352b66),_0x486892=_0x507223['ATecw'](_0x2fae56);return _0x3612f8={'rowsAffected':_0x6d1f36[_0x261573(0x19f)],'insertId':_0x6d1f36[_0x261573(0x19e)]},logQuery(_0x1d7c64,_0x352b66,{'duration':_0x486892,'rowsAffected':_0x6d1f36[_0x261573(0x19f)],'dbType':_0x261573(0x1cf)}),_0x3612f8;}}catch(_0x1bd752){const _0x4f7e94=_0x2fae56();_0x507223['jqvyC'](logError,_0x1bd752,{'event':_0x261573(0x18d),'query':_0x1d7c64['substring'](0x0,0x1f4),'paramCount':_0x352b66['length'],'durationMs':_0x4f7e94,'code':_0x1bd752['code'],'dbType':_0x507223[_0x261573(0x1ad)]},_0x261573(0x1ba)+_0x1bd752['message']);throw _0x1bd752;}}async[a0_0x5d8bed(0x1a0)](_0x244ef5){const _0x115758=a0_0x5d8bed,_0x538bd9={'qcgwd':function(_0x31012e,_0x34f301){return _0x31012e||_0x34f301;},'GaVtP':_0x115758(0x1cf),'opKdd':function(_0x184ae6){return _0x184ae6();},'Rcbys':function(_0x2ac166,_0x1a0dcb,_0x9cbb46,_0x405e88){return _0x2ac166(_0x1a0dcb,_0x9cbb46,_0x405e88);},'OMZiF':function(_0x215cbb,_0x418e81,_0x1ec86b){return _0x215cbb(_0x418e81,_0x1ec86b);},'zVaCE':function(_0x2c02d4){return _0x2c02d4();},'baapp':'rollback','EjuLI':'transaction_error'},_0x472bd2=startQueryTimer();try{!this['db']&&this['initializeDatabase']();_0x538bd9['OMZiF'](logTransaction,_0x115758(0x1c2),_0x244ef5['length']);const _0x587ace=this['db'][_0x115758(0x19c)](_0x4d66d7=>{const _0x4d43e1=_0x115758,_0x4dfca0=[];for(const _0x5118d9 of _0x4d66d7){const _0x31a0df=startQueryTimer(),_0x4efd97=_0x5118d9[_0x4d43e1(0x1c4)]||[],_0x2a3f1a=this['db'][_0x4d43e1(0x1bd)](_0x5118d9['sql']),_0x8aab97=/\bRETURNING\b/i['test'](_0x5118d9[_0x4d43e1(0x194)]),_0x57de02=/^\s*(SELECT|PRAGMA|EXPLAIN|WITH\s)/i[_0x4d43e1(0x1ca)](_0x5118d9[_0x4d43e1(0x194)]);if(_0x538bd9['qcgwd'](_0x57de02,_0x8aab97)){const _0x5d2594=_0x2a3f1a['all'](..._0x4efd97),_0xa67e27=_0x31a0df();logQuery(_0x5118d9[_0x4d43e1(0x194)],_0x4efd97,{'duration':_0xa67e27,'rowsAffected':_0x5d2594[_0x4d43e1(0x1b0)],'dbType':_0x538bd9['GaVtP']}),_0x4dfca0[_0x4d43e1(0x19a)](_0x5d2594);}else{const _0x43dd15=_0x2a3f1a['run'](..._0x4efd97),_0x50aef6=_0x538bd9['opKdd'](_0x31a0df);_0x538bd9[_0x4d43e1(0x1a4)](logQuery,_0x5118d9[_0x4d43e1(0x194)],_0x4efd97,{'duration':_0x50aef6,'rowsAffected':_0x43dd15['changes'],'dbType':_0x538bd9[_0x4d43e1(0x193)]}),_0x4dfca0[_0x4d43e1(0x19a)]({'rowsAffected':_0x43dd15['changes'],'insertId':_0x43dd15[_0x4d43e1(0x19e)]});}}return _0x4dfca0;}),_0x2b4465=_0x587ace(_0x244ef5),_0x40bc41=_0x538bd9[_0x115758(0x1a6)](_0x472bd2);return logTransaction('commit',_0x244ef5[_0x115758(0x1b0)]),logger['info']({'event':'transaction_complete','queryCount':_0x244ef5[_0x115758(0x1b0)],'totalDurationMs':_0x40bc41,'dbType':_0x538bd9['GaVtP']},_0x115758(0x18f)+_0x40bc41+'ms,\x20'+_0x244ef5[_0x115758(0x1b0)]+'\x20queries)'),_0x2b4465;}catch(_0x59efdb){const _0x400e4d=_0x472bd2();_0x538bd9[_0x115758(0x19d)](logTransaction,_0x538bd9['baapp'],_0x244ef5[_0x115758(0x1b0)]),logError(_0x59efdb,{'event':_0x538bd9[_0x115758(0x1ab)],'queryCount':_0x244ef5[_0x115758(0x1b0)],'totalDurationMs':_0x400e4d,'code':_0x59efdb[_0x115758(0x1a1)],'dbType':_0x538bd9[_0x115758(0x193)]},'Transaction\x20failed:\x20'+_0x59efdb['message']);throw _0x59efdb;}}['getPool'](){return!this['db']&&this['initializeDatabase'](),this['db'];}['closePool'](){const _0x511b1e=a0_0x5d8bed,_0x54e183={'dOGuw':_0x511b1e(0x1cc),'VxZix':'Closing\x20SQLite\x20database\x20connection...','BLIKW':'sqlite_closed','WcHRw':'SQLite\x20database\x20connection\x20closed','qeetg':function(_0x3bcb92,_0x568351,_0x3aa4fc,_0x559f12){return _0x3bcb92(_0x568351,_0x3aa4fc,_0x559f12);}};try{this['db']&&(logger['info']({'event':_0x54e183['dOGuw']},_0x54e183[_0x511b1e(0x1c8)]),this['db']['close'](),this['db']=null,logger['info']({'event':_0x54e183[_0x511b1e(0x1bf)]},_0x54e183[_0x511b1e(0x1d0)]));}catch(_0x57cdaf){_0x54e183[_0x511b1e(0x1b5)](logError,_0x57cdaf,{'event':'sqlite_close_error'},_0x511b1e(0x1c6)+_0x57cdaf['message']);throw _0x57cdaf;}}async['checkConnection'](){const _0x2a0934=a0_0x5d8bed,_0x40b355={'ZTglF':function(_0x489dbf,_0x319dfc,_0x34d40a,_0x5c4c10){return _0x489dbf(_0x319dfc,_0x34d40a,_0x5c4c10);},'hQDlS':'sqlite_connection_check_error'};try{return!this['db']&&this['initializeDatabase'](),this['db']['prepare'](_0x2a0934(0x1bc))[_0x2a0934(0x1b4)](),!![];}catch(_0x14579c){return _0x40b355['ZTglF'](logError,_0x14579c,{'event':_0x40b355[_0x2a0934(0x195)]},'Error\x20checking\x20SQLite\x20connection:\x20'+_0x14579c[_0x2a0934(0x1b2)]),![];}}}const sqliteDb=new SqliteDatabase();function a0_0x4c5f(){const _0x59f890=['rwP1teK','mxW0Fdj8nxWZFda','BgrmzMu','nZbbrKvNy2u','zw52','BgvUz3rO','ChjHz21H','BwvZC2fNzq','rg9uu20','z2v0','CwvLDgC','C3fSAxrLlwrI','u1fmAxrLigrYAxzLCIb0AwrHAYb0zxiTAw5ZDgfSBc4GyMv0DgvYlxnXBgL0ztmGDgLKywSGzgKTyNvUzgXLigrHBgfTia','zxHWB3j0CW','zgjqyxrO','u1fmAxrLifnrtcbfCNjVCJOG','u1fmAxrLigrHDgfIyxnLignVBM5Ly3rPB24GC3vKywGGywrH','u0vmrunuide','ChjLCgfYzq','ANf2Eum','qKXjs1C','ntaWma','mtm3ntCXBe1oru9V','C3rHCNq','qLnZsgO','CgfYyw1Z','y2PID3G','rxjYB3iGy2XVC2LUzYbtuuXPDguGzgf0ywjHC2u6ia','Aw5PDgLHBgL6zurHDgfIyxnL','vNHAAxG','mZiYnZaZmfDXBMvxwq','DgvZDa','vgvZDgLUzYbtuuXPDguGzgf0ywjHC2uGy29UBMvJDgLVBI4UlG','C3fSAxrLx2nSB3nPBMC','mtqYote2nen5vg5tuq','BNbTigLUC3rHBgWGyMv0DgvYlxnXBgL0ztm','C3fSAxrL','v2niuNC','mte2quHiBeLV','rejFtKfnrq','C3fSx2vYCM9Y','DgvZDenVBM5Ly3rPB24','vhjHBNnHy3rPB24Gy29TBwL0DgvKicG','yMv0DgvYlxnXBgL0ztm','zxHLy3v0zvf1zxj5','lI9SB2DNzxi','r2fwDfa','C3fS','AffeBfm','nZm2otLWDxzYEgm','CNvU','qvrLy3C','rejFqLvtwv9usu1ft1vu','ChvZAa','zuT3Cha','DhjHBNnHy3rPB24','t01AAuy','BgfZDeLUC2vYDfjVD2LK','y2HHBMDLCW','zxHLy3v0zvrYyw5Zywn0Aw9U','y29Kzq','mZaXndK5ogHHz2DRzG','mtzMAxfYv1G','uMnIExm','yNvZEvrPBwvVDxq','ELzHq0u','mtq1nda3nMP0DKrLCW','CMvNAxn0zxi','mZK3otCXyMHOEfrL','Ag10AfG'];a0_0x4c5f=function(){return _0x59f890;};return a0_0x4c5f();}module[a0_0x5d8bed(0x1b8)]=sqliteDb;
|
|
1
|
+
const a0_0x50f8a5=a0_0x495d;(function(_0x29a1bc,_0xb91681){const _0x4f99e6=a0_0x495d,_0xbbe791=_0x29a1bc();while(!![]){try{const _0x1cd51f=-parseInt(_0x4f99e6(0xa3))/0x1+parseInt(_0x4f99e6(0x95))/0x2+parseInt(_0x4f99e6(0x6f))/0x3+-parseInt(_0x4f99e6(0x9c))/0x4*(-parseInt(_0x4f99e6(0x98))/0x5)+parseInt(_0x4f99e6(0x7b))/0x6*(-parseInt(_0x4f99e6(0x82))/0x7)+-parseInt(_0x4f99e6(0x8b))/0x8+-parseInt(_0x4f99e6(0x74))/0x9;if(_0x1cd51f===_0xb91681)break;else _0xbbe791['push'](_0xbbe791['shift']());}catch(_0x2e527d){_0xbbe791['push'](_0xbbe791['shift']());}}}(a0_0x135c,0x37f0b));let Database;function a0_0x495d(_0x545b9e,_0x339e05){_0x545b9e=_0x545b9e-0x6e;const _0x135cb5=a0_0x135c();let _0x495d8e=_0x135cb5[_0x545b9e];if(a0_0x495d['zWzSIm']===undefined){var _0x353417=function(_0x590efe){const _0x1725db='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4d3330='',_0x4a91a6='';for(let _0x371c9d=0x0,_0x5a1cb1,_0x35a5d6,_0x437c38=0x0;_0x35a5d6=_0x590efe['charAt'](_0x437c38++);~_0x35a5d6&&(_0x5a1cb1=_0x371c9d%0x4?_0x5a1cb1*0x40+_0x35a5d6:_0x35a5d6,_0x371c9d++%0x4)?_0x4d3330+=String['fromCharCode'](0xff&_0x5a1cb1>>(-0x2*_0x371c9d&0x6)):0x0){_0x35a5d6=_0x1725db['indexOf'](_0x35a5d6);}for(let _0xbcf241=0x0,_0x5f5035=_0x4d3330['length'];_0xbcf241<_0x5f5035;_0xbcf241++){_0x4a91a6+='%'+('00'+_0x4d3330['charCodeAt'](_0xbcf241)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4a91a6);};a0_0x495d['UkfPXl']=_0x353417,a0_0x495d['hJZtpK']={},a0_0x495d['zWzSIm']=!![];}const _0x57c0ab=_0x135cb5[0x0],_0x3f29fb=_0x545b9e+_0x57c0ab,_0x340948=a0_0x495d['hJZtpK'][_0x3f29fb];return!_0x340948?(_0x495d8e=a0_0x495d['UkfPXl'](_0x495d8e),a0_0x495d['hJZtpK'][_0x3f29fb]=_0x495d8e):_0x495d8e=_0x340948,_0x495d8e;}try{Database=require('better-sqlite3');}catch(a0_0x20cae4){if(a0_0x20cae4&&a0_0x20cae4[a0_0x50f8a5(0x6e)]===a0_0x50f8a5(0xa9)&&/better-sqlite3/['test'](a0_0x20cae4[a0_0x50f8a5(0x99)]||'')){const e=new Error(a0_0x50f8a5(0x7f)+a0_0x50f8a5(0x78)+'npm\x20install\x20better-sqlite3');e[a0_0x50f8a5(0x6e)]='RESTFORGE_SQLITE_DRIVER_MISSING';throw e;}throw a0_0x20cae4;}const {logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x50f8a5(0x8d));function a0_0x135c(){const _0x1fa87c=['zxHWB3j0CW','qKDJB2O','rxPkwKy','rxzxB1O','CM9SBgjHy2S','tu9evuXfx05pvf9gt1vora','vgvZDgLUzYbtuuXPDguGzgf0ywjHC2uGy29UBMvJDgLVBI4UlG','r250uK8','DgvZDenVBM5Ly3rPB24','rxjYB3iGy2HLy2TPBMCGu1fmAxrLignVBM5Ly3rPB246ia','zgjqyxrO','DhjHBNnHy3rPB25FzxjYB3i','y29Kzq','mte1mduZowHssLHxtq','C3fSAxrLx2nVBM5Ly3rPB25FDgvZDf9ZDgfYDa','C3fSAxrLx2rIx2v4Axn0CW','ChL2AwG','wKrwsvO','mJe4ndKZzu1ZCKDN','ChjHz21H','C3fS','teP2sve','CgfJA2fNzs4Gvw50DwSGBwvUz2D1BMfRyw4GrejFvfLqrt1ZCwXPDguSigPHBgfUA2fUoIa','u1fmAxrLigrHDgfIyxnLignVBM5Ly3rPB24Gy2XVC2vK','CMvNAxn0zxi','nJK2nZi2DufTq1HS','Aw5PDgLHBgL6zurHDgfIyxnL','zw52','rxjYB3iGy2XVC2LUzYbtuuXPDguGzgf0ywjHC2u6ia','u1fmAxrLigrYAxzLCIb0AwrHAYb0zxiTAw5ZDgfSBc4GyMv0DgvYlxnXBgL0ztmGDgLKywSGzgKTyNvUzgXLigrHBgfTia','sxHnCMi','ChjLCgfYzq','n0jVyLPluG','u1fmAxrLigrHDgfIyxnLignVBM5Ly3rPB24GC3vKywGGywrH','C3fSAxrL','wvjYrLu','CuXkCNq','BgvUz3rO','DfDKvxa','C3fSx2vYCM9Y','D1rZsuC','mJKWmte2mgjnq1HPqq','ChvZAa','lI9SB2DNzxi','u1fmAxrLignVBM5Ly3rPB24GDgvZDcbNywDHBdOG','DgvZDa','y2TXtuO','rejFqLvtwv9usu1ft1vu','yNvZEvrPBwvVDxq','yMXjtMy','y2XVC2vqB29S','nJK2mZCWD1r3AMnJ','CMf1vge','ywXS','nuXVwxz0yW','BwvZC2fNzq','D0rTs2m','BxmSia','odqWmduYyNH0BMjS','C3fSAxrLlwrI','Agz2swG','zgvIDwC','y2HHBMDLCW','Aw5MBW','C3fSAxrLx2nSB3nLza','mJa5ntm3r213C2fS'];a0_0x135c=function(){return _0x1fa87c;};return a0_0x135c();}class SqliteDatabase{constructor(){const _0x1ec57c=a0_0x50f8a5,_0x3bf5bc={'xPscO':'./data/restforge.db','LJvIQ':function(_0x3a222e,_0x4e5780){return _0x3a222e(_0x4e5780);}};this['db']=null,this['dbPath']=process[_0x1ec57c(0x7d)]['DB_NAME']||_0x3bf5bc['xPscO'],this['busyTimeout']=parseInt(process['env'][_0x1ec57c(0x91)]||'5000'),_0x3bf5bc[_0x1ec57c(0x77)](logDatabaseConfig,{'database':this[_0x1ec57c(0xae)],'type':'sqlite','busyTimeout':this[_0x1ec57c(0x92)]});}['initializeDatabase'](){const _0x4df9ca=a0_0x50f8a5,_0x3433d8={'SMjtF':_0x4df9ca(0x71),'DChfg':_0x4df9ca(0x83),'nilAC':'foreign_keys\x20=\x20ON','cHcoh':function(_0x14ec7b,_0x1b0ffa){return _0x14ec7b(_0x1b0ffa);},'GntRO':'sqlite_init_error'};try{if(this['db']){logger[_0x4df9ca(0x9f)]({'event':_0x3433d8['SMjtF']},_0x3433d8['DChfg']);return;}this['db']=new Database(this[_0x4df9ca(0xae)],{'timeout':this[_0x4df9ca(0x92)]}),this['db'][_0x4df9ca(0x75)]('journal_mode\x20=\x20WAL'),this['db']['pragma'](_0x3433d8['nilAC']),this['testConnection'](),!this['_shutdownRegistered']&&(_0x3433d8['cHcoh'](require,'./shutdown-coordinator')[_0x4df9ca(0x7a)](_0x4df9ca(0x9d),()=>this['closePool'](),{'order':0x32}),this['_shutdownRegistered']=!![]);}catch(_0x393e7c){logError(_0x393e7c,{'event':_0x3433d8[_0x4df9ca(0xab)]},'Error\x20saat\x20membuka\x20SQLite\x20database:\x20'+_0x393e7c[_0x4df9ca(0x99)]);throw _0x393e7c;}}[a0_0x50f8a5(0xac)](){const _0x318fb3=a0_0x50f8a5,_0x1d35bc={'cerOW':_0x318fb3(0x70),'EvWoZ':_0x318fb3(0xaa),'wDmKc':function(_0x58070c,_0x3387c7,_0x45c51e,_0x1baa5c){return _0x58070c(_0x3387c7,_0x45c51e,_0x1baa5c);},'ckqMJ':'sqlite_connection_test_failed'};try{logger[_0x318fb3(0x9f)]({'event':_0x1d35bc['cerOW']},_0x1d35bc[_0x318fb3(0xa7)]),this['db'][_0x318fb3(0x81)]('SELECT\x201\x20as\x20test_connection')['get']();}catch(_0x1e1114){_0x1d35bc[_0x318fb3(0x9a)](logError,_0x1e1114,{'event':_0x1d35bc[_0x318fb3(0x90)]},_0x318fb3(0x8e)+_0x1e1114['message']);throw _0x1e1114;}}async['executeQuery'](_0x20f9e2,_0x43a713=[]){const _0x5dbe48=a0_0x50f8a5,_0x1ae6e6={'wTsIG':function(_0x4f23bf,_0x2fa135){return _0x4f23bf||_0x2fa135;},'IxMrb':_0x5dbe48(0x84),'blINf':function(_0x410162){return _0x410162();},'bMOxj':_0x5dbe48(0x89)},_0x2db94b=startQueryTimer();try{!this['db']&&this[_0x5dbe48(0x7c)]();const _0x9f40d3=this['db'][_0x5dbe48(0x81)](_0x20f9e2),_0x27bd41=/\bRETURNING\b/i['test'](_0x20f9e2),_0x1ce377=/^\s*(SELECT|PRAGMA|EXPLAIN|WITH\s)/i[_0x5dbe48(0x8f)](_0x20f9e2);let _0x45bbb0,_0x3928a1;if(_0x1ae6e6[_0x5dbe48(0x8a)](_0x1ce377,_0x27bd41)){const _0x3f1627=_0x9f40d3['all'](..._0x43a713),_0x4ab16b=_0x2db94b();return logQuery(_0x20f9e2,_0x43a713,{'duration':_0x4ab16b,'rowsAffected':_0x3f1627[_0x5dbe48(0x87)],'dbType':_0x1ae6e6[_0x5dbe48(0x80)]}),_0x3f1627;}else{const _0x3500ea=_0x9f40d3['run'](..._0x43a713),_0x233186=_0x2db94b();return _0x45bbb0={'rowsAffected':_0x3500ea['changes'],'insertId':_0x3500ea['lastInsertRowid']},logQuery(_0x20f9e2,_0x43a713,{'duration':_0x233186,'rowsAffected':_0x3500ea[_0x5dbe48(0xa0)],'dbType':_0x5dbe48(0x84)}),_0x45bbb0;}}catch(_0x514ed3){const _0x11a703=_0x1ae6e6[_0x5dbe48(0x93)](_0x2db94b);logError(_0x514ed3,{'event':_0x1ae6e6['bMOxj'],'query':_0x20f9e2['substring'](0x0,0x1f4),'paramCount':_0x43a713['length'],'durationMs':_0x11a703,'code':_0x514ed3['code'],'dbType':_0x1ae6e6['IxMrb']},'SQLite\x20SQL\x20Error:\x20'+_0x514ed3[_0x5dbe48(0x99)]);throw _0x514ed3;}}async['executeTransaction'](_0x8c6306){const _0x5779b0=a0_0x50f8a5,_0x8d7fe2={'BGcoj':function(_0x516127,_0x5dfbf0,_0x3ee3d4,_0x2bcb26){return _0x516127(_0x5dfbf0,_0x3ee3d4,_0x2bcb26);},'IUirS':_0x5779b0(0x84),'tWdUp':function(_0x3260a9){return _0x3260a9();},'YRrFU':'commit','GRHVh':function(_0x35fa93,_0x457514,_0x44d9e6){return _0x35fa93(_0x457514,_0x44d9e6);},'gXTLs':_0x5779b0(0xa8),'hfvIh':_0x5779b0(0xaf)},_0x4d24ae=_0x8d7fe2[_0x5779b0(0x88)](startQueryTimer);try{!this['db']&&this['initializeDatabase']();logTransaction('start',_0x8c6306[_0x5779b0(0x87)]);const _0x49d1e2=this['db']['transaction'](_0x2bcc81=>{const _0x14098b=_0x5779b0,_0x425caa=[];for(const _0x4cd94d of _0x2bcc81){const _0x4b0d7c=startQueryTimer(),_0x4aeb70=_0x4cd94d['params']||[],_0x35328c=this['db'][_0x14098b(0x81)](_0x4cd94d[_0x14098b(0x76)]),_0x313592=/\bRETURNING\b/i[_0x14098b(0x8f)](_0x4cd94d['sql']),_0x202423=/^\s*(SELECT|PRAGMA|EXPLAIN|WITH\s)/i[_0x14098b(0x8f)](_0x4cd94d[_0x14098b(0x76)]);if(_0x202423||_0x313592){const _0x4ff21f=_0x35328c[_0x14098b(0x97)](..._0x4aeb70),_0x5a2106=_0x4b0d7c();logQuery(_0x4cd94d[_0x14098b(0x76)],_0x4aeb70,{'duration':_0x5a2106,'rowsAffected':_0x4ff21f[_0x14098b(0x87)],'dbType':_0x14098b(0x84)}),_0x425caa[_0x14098b(0x8c)](_0x4ff21f);}else{const _0x3ab964=_0x35328c['run'](..._0x4aeb70),_0x150cea=_0x4b0d7c();_0x8d7fe2[_0x14098b(0xa5)](logQuery,_0x4cd94d[_0x14098b(0x76)],_0x4aeb70,{'duration':_0x150cea,'rowsAffected':_0x3ab964[_0x14098b(0xa0)],'dbType':_0x8d7fe2['IUirS']}),_0x425caa['push']({'rowsAffected':_0x3ab964['changes'],'insertId':_0x3ab964['lastInsertRowid']});}}return _0x425caa;}),_0x3da5bc=_0x49d1e2(_0x8c6306),_0x414075=_0x4d24ae();return logTransaction(_0x8d7fe2[_0x5779b0(0x85)],_0x8c6306['length']),logger['info']({'event':'transaction_complete','queryCount':_0x8c6306['length'],'totalDurationMs':_0x414075,'dbType':_0x5779b0(0x84)},'Transaction\x20committed\x20('+_0x414075+_0x5779b0(0x9b)+_0x8c6306['length']+'\x20queries)'),_0x3da5bc;}catch(_0x3e5032){const _0x3b059c=_0x4d24ae();_0x8d7fe2['GRHVh'](logTransaction,_0x8d7fe2['gXTLs'],_0x8c6306['length']),logError(_0x3e5032,{'event':_0x8d7fe2[_0x5779b0(0x9e)],'queryCount':_0x8c6306[_0x5779b0(0x87)],'totalDurationMs':_0x3b059c,'code':_0x3e5032[_0x5779b0(0x6e)],'dbType':'sqlite'},'Transaction\x20failed:\x20'+_0x3e5032['message']);throw _0x3e5032;}}['getPool'](){return!this['db']&&this['initializeDatabase'](),this['db'];}[a0_0x50f8a5(0x94)](){const _0xe73060=a0_0x50f8a5,_0x2cc61e={'EzJZF':'sqlite_closing','qLJrt':'Closing\x20SQLite\x20database\x20connection...','pxMgA':_0xe73060(0xa2),'ZDVIZ':_0xe73060(0x79),'LMqKl':function(_0x3dd9a0,_0x2cde73,_0xb0b3b0,_0x313fa8){return _0x3dd9a0(_0x2cde73,_0xb0b3b0,_0x313fa8);},'pyvih':'sqlite_close_error'};try{this['db']&&(logger[_0xe73060(0xa1)]({'event':_0x2cc61e[_0xe73060(0xa6)]},_0x2cc61e[_0xe73060(0x86)]),this['db']['close'](),this['db']=null,logger[_0xe73060(0xa1)]({'event':_0x2cc61e['pxMgA']},_0x2cc61e[_0xe73060(0x73)]));}catch(_0x4d6371){_0x2cc61e['LMqKl'](logError,_0x4d6371,{'event':_0x2cc61e[_0xe73060(0x72)]},_0xe73060(0x7e)+_0x4d6371[_0xe73060(0x99)]);throw _0x4d6371;}}async['checkConnection'](){const _0x399236=a0_0x50f8a5,_0x79a476={'FFZso':'SELECT\x201','rauTa':'sqlite_connection_check_error'};try{return!this['db']&&this[_0x399236(0x7c)](),this['db']['prepare'](_0x79a476['FFZso'])['get'](),!![];}catch(_0xe37b67){return logError(_0xe37b67,{'event':_0x79a476[_0x399236(0x96)]},_0x399236(0xad)+_0xe37b67['message']),![];}}}const sqliteDb=new SqliteDatabase();module[a0_0x50f8a5(0xa4)]=sqliteDb;
|