@restforgejs/platform 4.2.8 → 4.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SECURITY.md +83 -4
- package/bin/sdf-tools.exe +0 -0
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/dashboard/create.js +4 -1
- package/generators/cli/endpoint/create.js +1 -1
- package/generators/cli/key/generate.js +2 -1
- package/generators/cli/key/revoke.js +2 -1
- package/generators/cli/payload/diff.js +3 -2
- package/generators/cli/payload/generate.js +3 -2
- package/generators/cli/payload/sync.js +3 -2
- package/generators/cli/payload/validate.js +3 -2
- package/generators/cli/processor/create.js +14 -3
- package/generators/cli/project/delete.js +2 -1
- package/generators/cli/query/validate.js +3 -2
- package/generators/cli/schema/apply.js +3 -2
- package/generators/cli/schema/describe.js +3 -2
- package/generators/cli/schema/diff.js +3 -2
- package/generators/cli/schema/introspect.js +3 -2
- package/generators/cli/schema/list.js +3 -2
- package/generators/cli/schema/migrate.js +3 -2
- package/generators/lib/migration/audit-table-runner.js +213 -215
- package/generators/lib/payload/payload-runner.js +1 -1
- package/generators/lib/templates/dashboard-catalog.js +1 -437
- package/generators/lib/templates/db-connection-env.js +1 -212
- package/generators/lib/templates/dbschema-catalog.js +1 -489
- package/generators/lib/templates/field-validation-catalog.js +1 -531
- package/generators/lib/templates/mysql-template.js +1 -3863
- package/generators/lib/templates/oracle-template.js +1 -3915
- package/generators/lib/templates/postgres-template.js +1 -5838
- package/generators/lib/templates/query-declarative-catalog.js +1 -199
- package/generators/lib/templates/sqlite-template.js +1 -3440
- package/generators/lib/utils/env-manager.js +6 -0
- package/generators/lib/utils/path-validator.js +71 -0
- package/generators/lib/validators/payload-validator.js +1 -2
- package/integrity-manifest.json +28 -10
- package/package.json +11 -3
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
- package/generators/metadata/global.json +0 -58
- package/generators/metadata/test-mysql-workbench.json +0 -118
- package/generators/metadata/test-mysql.json +0 -56
- package/generators/metadata/test-oracle-workbench.json +0 -118
- package/generators/metadata/test-oracle.json +0 -56
- package/generators/metadata/test-pg-workbench.json +0 -118
- package/generators/metadata/test-pg.json +0 -56
- package/generators/scripts/obfuscate-source.js +0 -356
- package/generators/scripts/validate-catalog.js +0 -430
- package/generators/scripts/validate-dbschema-catalog.js +0 -708
- package/generators/tests/baseline/mysql/mini_inventory_item/src/models/mini-inventory/item.js +0 -944
- package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
- package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory.js +0 -336
- package/generators/tests/baseline/oracle/mini_inventory_item/src/models/mini-inventory/item.js +0 -1002
- package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
- package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory.js +0 -336
- package/generators/tests/baseline/postgres/mini_inventory_item/src/models/mini-inventory/item.js +0 -1333
- package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory/item.js +0 -1173
- package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory.js +0 -496
- package/generators/tests/fixtures/payloads/custom-sensitive.json +0 -27
- package/generators/tests/fixtures/payloads/dynamic-search-optout.json +0 -23
- package/generators/tests/fixtures/payloads/login-with-password.json +0 -22
- package/generators/tests/fixtures/payloads/order-process.json +0 -52
- package/generators/tests/fixtures/payloads/with-inline-sql.json +0 -26
- package/generators/tests/integration-tahap4b/README.md +0 -145
- package/generators/tests/integration-tahap4b/run-concurrent.js +0 -77
- package/generators/tests/integration-tahap4b/seed.sql +0 -53
- package/generators/tests/integration-tahap4b/verify.sql +0 -110
- package/generators/tests/unit/cli/create-dashboard.test.js +0 -505
- package/generators/tests/unit/cli/create-processor.test.js +0 -319
- package/generators/tests/unit/cli/dispatch-dashboard.test.js +0 -149
- package/generators/tests/unit/lib/dashboard-generator.test.js +0 -895
- package/generators/tests/unit/lib/dashboard-validator.test.js +0 -354
- package/generators/tests/unit/lib/dbschema-kit/apply-executor.test.js +0 -437
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-introspect.test.js +0 -393
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-generate-ddl.test.js +0 -104
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-init.test.js +0 -119
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-list.test.js +0 -48
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-migrate.test.js +0 -175
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-validate.test.js +0 -102
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-models.test.js +0 -43
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/all-schemas-listing.js +0 -84
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/connection-error.js +0 -13
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/empty.js +0 -12
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/multi-schema.js +0 -124
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/single-schema-inventory.js +0 -64
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/two-tables.js +0 -66
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/connection-error.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/partial.js +0 -29
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/rollback.js +0 -26
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/success.js +0 -43
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/audit/events.js +0 -18
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/inventory/products.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/users.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/connection.test.js +0 -112
- package/generators/tests/unit/lib/dbschema-kit/ddl-generator.test.js +0 -205
- package/generators/tests/unit/lib/dbschema-kit/define-model.test.js +0 -56
- package/generators/tests/unit/lib/dbschema-kit/dialect/index.test.js +0 -46
- package/generators/tests/unit/lib/dbschema-kit/dialect/mysql.test.js +0 -126
- package/generators/tests/unit/lib/dbschema-kit/dialect/oracle.test.js +0 -126
- package/generators/tests/unit/lib/dbschema-kit/dialect/postgres.test.js +0 -131
- package/generators/tests/unit/lib/dbschema-kit/dialect/sqlite.test.js +0 -126
- package/generators/tests/unit/lib/dbschema-kit/driver-loader.test.js +0 -93
- package/generators/tests/unit/lib/dbschema-kit/emitters/create-index.test.js +0 -173
- package/generators/tests/unit/lib/dbschema-kit/emitters/create-table.test.js +0 -376
- package/generators/tests/unit/lib/dbschema-kit/emitters/drop-table.test.js +0 -78
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/invalid-dialect.env +0 -6
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-dialect.env +0 -5
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-host.env +0 -5
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/oracle-valid.env +0 -6
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/postgres-valid.env +0 -7
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/sqlite-valid.env +0 -2
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/category.js +0 -11
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/item_product.js +0 -11
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound.js +0 -24
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound_item.js +0 -28
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/supplier.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/warehouse.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-invalid/orphan.js +0 -17
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/category.js +0 -11
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/item_product.js +0 -11
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/supplier.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/warehouse.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound.js +0 -24
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound_item.js +0 -28
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/audit/events.js +0 -18
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/inventory/products.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/public/users.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/extra/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/master/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/bar.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/foo.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/empty-folder/README.md +0 -1
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-export/plain.js +0 -3
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-schema/bad.js +0 -6
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/legacy-pattern/legacy.js +0 -12
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/audit/products.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/inventory/products.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/a/products.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/b/products.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/nested-deep/a/b/c/deep_table.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/.hidden/ignored.js +0 -7
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/supplier.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound_item.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/item_product.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-single/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/integration.test.js +0 -217
- package/generators/tests/unit/lib/dbschema-kit/introspect-mapper.test.js +0 -403
- package/generators/tests/unit/lib/dbschema-kit/ir-builder.test.js +0 -390
- package/generators/tests/unit/lib/dbschema-kit/loader.test.js +0 -128
- package/generators/tests/unit/lib/dbschema-kit/naming.test.js +0 -170
- package/generators/tests/unit/lib/dbschema-kit/parser/shorthand-parser.test.js +0 -237
- package/generators/tests/unit/lib/dbschema-kit/schema-printer.test.js +0 -251
- package/generators/tests/unit/lib/dbschema-kit/statement-modifier.test.js +0 -105
- package/generators/tests/unit/lib/dbschema-kit/statement-splitter.test.js +0 -165
- package/generators/tests/unit/lib/dbschema-kit/topological-sort.test.js +0 -135
- package/generators/tests/unit/lib/dbschema-kit/validator/check-compatibility-validator.test.js +0 -373
- package/generators/tests/unit/lib/dbschema-kit/validator/circular-relation-validator.test.js +0 -454
- package/generators/tests/unit/lib/dbschema-kit/validator/cross-model-validator.test.js +0 -512
- package/generators/tests/unit/lib/dbschema-kit/validator/enhanced-validate-integration.test.js +0 -390
- package/generators/tests/unit/lib/dbschema-kit/validator/naming-convention-validator.test.js +0 -306
- package/generators/tests/unit/lib/dbschema-kit/validator/schema-validator.test.js +0 -443
- package/generators/tests/unit/lib/dbschema-kit/validator/type-compatibility-validator.test.js +0 -440
- package/generators/tests/unit/lib/dbschema-kit/validator/validator-reporter.test.js +0 -172
- package/generators/tests/unit/lib/metadata-manager-dashboard.test.js +0 -256
- package/generators/tests/unit/lib/payload-validator-fieldpolicy.test.js +0 -240
- package/generators/tests/unit/lib/processor-validation-generator.test.js +0 -300
- package/generators/tests/unit/lib/sensitive-field-masker.test.js +0 -170
- package/generators/tests/unit/lib/sql-table-extractor.test.js +0 -119
- package/scripts/generate-integrity-manifest.js +0 -124
- package/scripts/snapshot-cli-contracts.js +0 -194
- package/scripts/verify-publish.js +0 -56
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x236640=a0_0x5c76;(function(_0x56b338,_0x47f6bc){const _0x3e1a10=a0_0x5c76,_0x3a8c5f=_0x56b338();while(!![]){try{const _0x5bd18c=-parseInt(_0x3e1a10(0x117))/0x1+-parseInt(_0x3e1a10(0xdc))/0x2+parseInt(_0x3e1a10(0xfd))/0x3*(-parseInt(_0x3e1a10(0xcc))/0x4)+parseInt(_0x3e1a10(0xf6))/0x5*(-parseInt(_0x3e1a10(0x10a))/0x6)+-parseInt(_0x3e1a10(0x111))/0x7*(parseInt(_0x3e1a10(0xd3))/0x8)+-parseInt(_0x3e1a10(0xd0))/0x9*(-parseInt(_0x3e1a10(0x113))/0xa)+parseInt(_0x3e1a10(0xc5))/0xb;if(_0x5bd18c===_0x47f6bc)break;else _0x3a8c5f['push'](_0x3a8c5f['shift']());}catch(_0x54c3f2){_0x3a8c5f['push'](_0x3a8c5f['shift']());}}}(a0_0x2c37,0xbece9));const oracledb=require('oracledb'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x236640(0xee));function a0_0x5c76(_0x382db0,_0x478933){_0x382db0=_0x382db0-0xbe;const _0x2c37e1=a0_0x2c37();let _0x5c7678=_0x2c37e1[_0x382db0];if(a0_0x5c76['YyOVwP']===undefined){var _0x113b73=function(_0x349780){const _0x988071='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x56f291='',_0x526400='';for(let _0x15e631=0x0,_0x57a606,_0x47c20c,_0x4d7f84=0x0;_0x47c20c=_0x349780['charAt'](_0x4d7f84++);~_0x47c20c&&(_0x57a606=_0x15e631%0x4?_0x57a606*0x40+_0x47c20c:_0x47c20c,_0x15e631++%0x4)?_0x56f291+=String['fromCharCode'](0xff&_0x57a606>>(-0x2*_0x15e631&0x6)):0x0){_0x47c20c=_0x988071['indexOf'](_0x47c20c);}for(let _0x1b1c8a=0x0,_0x3f279f=_0x56f291['length'];_0x1b1c8a<_0x3f279f;_0x1b1c8a++){_0x526400+='%'+('00'+_0x56f291['charCodeAt'](_0x1b1c8a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x526400);};a0_0x5c76['ADJOjC']=_0x113b73,a0_0x5c76['QHAoOU']={},a0_0x5c76['YyOVwP']=!![];}const _0x4165d9=_0x2c37e1[0x0],_0xd2b406=_0x382db0+_0x4165d9,_0x2d7d38=a0_0x5c76['QHAoOU'][_0xd2b406];return!_0x2d7d38?(_0x5c7678=a0_0x5c76['ADJOjC'](_0x5c7678),a0_0x5c76['QHAoOU'][_0xd2b406]=_0x5c7678):_0x5c7678=_0x2d7d38,_0x5c7678;}oracledb['fetchAsString']=[oracledb[a0_0x236640(0xdf)],oracledb[a0_0x236640(0xd2)]],oracledb['fetchAsBuffer']=[oracledb['BLOB']];function a0_0x2c37(){const _0x555efd=['CgfYyw1Z','Aw5MBW','q29UC2K','rejFue9sva','t3jHy2XLihrYyw5Zywn0Aw9UigzHAwXLzdOG','yxv0B0nVBw1PDa','mZa0neLAseDJEa','zxHLy3v0zq','t3rAAxi','B3jHy2XLx3nODxrKB3DUx2vYCM9Y','mJi4nMngsfLLEq','teL1yxO','tKnmt0i','mti0nta1nMDMuwTPvW','quXurviGu0vtu0LptIbtrvqGtKXtx1rjtuvtvefnuf9uwL9gt1jnqvqGpsaNwvLzws1nts1ercjuiKHimJq6tuK6u1mUrKyZvfPioLrAtsC','quXurviGu0vtu0LptIbtrvqGtKXtx0rbvevFrK9stufuid0Gj1LzwvKTtu0TreqN','rxjYB3iGzhvYAw5Nie9YywnSzsbWB29SihnODxrKB3DUoIa','B3jHy2XLx3bVB2XFy3jLyxrLza','B3jHy2XLx3bVB2XFy2XVC2vK','B3jHy2XLx3rLC3rFy29UBMvJDgLVBL9JBg9Zzv9LCNjVCG','zxHLy3v0zvrYyw5Zywn0Aw9U','sMPOwwK','ndC5mtm0rKDTAwjz','rejFueftu1DpuKq','BgfZDfjVD2LK','q0XpqG','rejFvvnfuG','t3jHy2XLignVBM5Ly3rPB24GDgvZDcbNywDHBdOG','mtuYmq','BwvZC2fNzq','B3jHy2XLx3bVB2XFzxjYB3i','q3jLyxrPBMCGt3jHy2XLignVBM5Ly3rPB24GCg9VBc4UlG','Aw5PDgLHBgL6zvbVB2W','z2v0ug9VBfn0yxrPC3rPy3m','C0XcA3q','t3jHy2XLienVBM5Ly3rPB24Gu3rYAw5NoIa','BgvUz3rO','CM93C0fMzMvJDgvK','CMHKtue','rvn6v1C','lI9SB2DNzxi','DgTptvi','B3jHy2XLx3rYyw5Zywn0Aw9Ux2nVBM5Ly3rPB25Fy2XVC2vFzxjYB3i','y2XVC2vqB29S','B3jHy2XL','ihf1zxjPzxmP','B3jHy2XLx2nVBM5Ly3rPB25FDgvZDf9ZDwnJzxnZ','DgvZDenVBM5Ly3rPB24','odaZmdK1BwXbuLjX','yxPOA2S','B3jHy2XLx3nODxrKB3DU','z2v0q29UBMvJDgLVBG','B3jHy2XLx3bVB2XFzxHPC3rZ','zxHLy3v0zvf1zxj5','qwLrAvC','mtuWoxLjr013sq','AM1zrxq','Cg9VBe1PBG','B3jHy2XLx2nVBM5Ly3rPB25FDgvZDf9MywLSzwq','C3vIC3rYAw5N','EwPZv3m','DxnLCG','CM93CW','y2XVC2u','rxjYB3iGy2XVC2LUzYbpCMfJBguGDhjHBNnHy3rPB24Gy29UBMvJDgLVBJOG','Cg9VBfrPBwvVDxq','vgvZDgLUzYbpCMfJBguGzgf0ywjHC2uGy29UBMvJDgLVBI4UlG','zxjYB3joDw0','ndjwrMfAqMe','y29UzMLN','rxjYB3iGCM9SBgLUzYbIywnRie9YywnSzsb0CMfUC2fJDgLVBJOG','rejFse9tva','vMrUtK8','rxjYB3iGy2XVC2LUzYbpCMfJBguGy29UBMvJDgLVBJOG','t3jHy2XLignVBM5Ly3rPB24GCg9VBcbZDwrHAcbHzge','mtrquu5js24','zuvNufC','nJa4mJb4AMvXyMe','zw52','rxjYB3iGy2XVC2LUzYbpCMfJBguGy29UBMvJDgLVBIbWB29SoIa','uur1Ewe','nte1mZK5qMnNB3nu','y29TBwL0','B3jHy2XLx2nVBM5Ly3rPB25FDgvZDf9ZDgfYDa','Cg9VBa','wuHpvvO','zgvIDwC','DMDkqNy','u0Lhvevstq','mtK5mta2otn2DhfwDgK'];a0_0x2c37=function(){return _0x555efd;};return a0_0x2c37();}async function ensureNlsReady(_0x7126c2){const _0x4055b9=a0_0x236640;if(_0x7126c2['_nlsReady'])return;await _0x7126c2[_0x4055b9(0xcd)](_0x4055b9(0xd5)),await _0x7126c2['execute']('ALTER\x20SESSION\x20SET\x20NLS_TIMESTAMP_FORMAT\x20=\x20\x27YYYY-MM-DD\x22T\x22HH24:MI:SS.FF3\x27'),await _0x7126c2['execute'](_0x4055b9(0xd4)),_0x7126c2['_nlsReady']=!![];}class OracleDatabase{constructor(){const _0x2ac40b=a0_0x236640,_0x3ead9e={'TieCn':function(_0x348739,_0x33f3a4){return _0x348739(_0x33f3a4);},'tWAVH':function(_0x4081ff,_0x53fc14){return _0x4081ff(_0x53fc14);},'nPXgF':'localhost','zwkrC':_0x2ac40b(0xf2)};this['pool']=null,this[_0x2ac40b(0x10b)]={'user':process['env'][_0x2ac40b(0xe0)]||'hr','password':process['env'][_0x2ac40b(0xdd)]||'hr','connectString':this['buildConnectionString'](),'poolMin':_0x3ead9e['TieCn'](parseInt,process['env']['DB_POOL_MIN'])||0x2,'poolMax':parseInt(process[_0x2ac40b(0x114)]['DB_POOL_MAX'])||0xa,'poolIncrement':_0x3ead9e['tWAVH'](parseInt,process['env']['DB_POOL_INCREMENT'])||0x1,'poolTimeout':parseInt(process[_0x2ac40b(0x114)]['DB_POOL_TIMEOUT'])||0x3c,'autoCommit':!![],'fetchAsString':[oracledb[_0x2ac40b(0xdf)],oracledb[_0x2ac40b(0xd2)]],'fetchAsBuffer':[oracledb['BLOB']]},_0x3ead9e['tWAVH'](logDatabaseConfig,{'host':process['env'][_0x2ac40b(0x10d)]||_0x3ead9e['nPXgF'],'port':process[_0x2ac40b(0x114)]['DB_PORT']||_0x2ac40b(0xe2),'database':process['env']['DB_NAME']||'XE','type':_0x3ead9e['zwkrC'],'user':this['config'][_0x2ac40b(0x103)],'poolMin':this[_0x2ac40b(0x10b)][_0x2ac40b(0xff)],'poolMax':this[_0x2ac40b(0x10b)]['poolMax']});}['buildConnectionString'](){const _0x104261=a0_0x236640,_0x382f90={'uURIq':_0x104261(0xe2)},_0x3905d2=process[_0x104261(0x114)][_0x104261(0x10d)]||'localhost',_0xb51352=process[_0x104261(0x114)][_0x104261(0xc9)]||_0x382f90['uURIq'],_0x1e059e=process[_0x104261(0x114)]['DB_NAME']||'XE',_0x6b4d68='//'+_0x3905d2+':'+_0xb51352+'/'+_0x1e059e;return logger[_0x104261(0xc2)]({'event':'oracle_connection_string','connectionString':_0x6b4d68},_0x104261(0xe9)+_0x6b4d68),_0x6b4d68;}async[a0_0x236640(0xe6)](){const _0x258ed4=a0_0x236640,_0x1d5dd5={'jfyrj':'oracle_pool_creating','LIuaz':_0x258ed4(0xe5),'fJRcK':_0x258ed4(0x110),'PCakZ':function(_0x4df0b2,_0x4ee9b1,_0x1bb863,_0x184855){return _0x4df0b2(_0x4ee9b1,_0x1bb863,_0x184855);},'uHqct':_0x258ed4(0xe4)};try{const _0x4a07bf='2|0|4|1|3'['split']('|');let _0xdc77b2=0x0;while(!![]){switch(_0x4a07bf[_0xdc77b2++]){case'0':logger[_0x258ed4(0xc7)]({'event':_0x1d5dd5['jfyrj']},_0x1d5dd5[_0x258ed4(0xd1)]);continue;case'1':logger[_0x258ed4(0xc7)]({'event':_0x258ed4(0xd7)},'Oracle\x20connection\x20pool\x20created\x20successfully');continue;case'2':if(this[_0x258ed4(0xc0)]){logger['debug']({'event':_0x258ed4(0xfa)},_0x1d5dd5['fJRcK']);return;}continue;case'3':await this['testConnection']();continue;case'4':this['pool']=await oracledb['createPool'](this[_0x258ed4(0x10b)]);continue;}break;}}catch(_0xe3c4a){_0x1d5dd5['PCakZ'](logError,_0xe3c4a,{'event':_0x1d5dd5['uHqct']},'Error\x20saat\x20membuat\x20Oracle\x20connection\x20pool:\x20'+_0xe3c4a['message']);throw _0xe3c4a;}}async[a0_0x236640(0xf5)](){const _0x5c3597=a0_0x236640,_0x9442e0={'sLBkt':_0x5c3597(0xbf),'axKkr':_0x5c3597(0xf4),'VdnNO':function(_0x403881,_0x36b28d,_0x288f4f,_0xc6e73f){return _0x403881(_0x36b28d,_0x288f4f,_0xc6e73f);},'eEgPW':function(_0x1d6eb3,_0x58d152,_0xac528a,_0x280413){return _0x1d6eb3(_0x58d152,_0xac528a,_0x280413);}};let _0x37ff10;try{logger['debug']({'event':_0x9442e0[_0x5c3597(0xe8)]},_0x5c3597(0x108)),_0x37ff10=await this[_0x5c3597(0xc0)][_0x5c3597(0xf9)](),await ensureNlsReady(_0x37ff10);const _0x335f55=await _0x37ff10[_0x5c3597(0xcd)]('SELECT\x20SYSDATE\x20as\x20current_date,\x20USER\x20as\x20current_user\x20FROM\x20DUAL');logger[_0x5c3597(0xc7)]({'event':_0x9442e0['axKkr'],'currentDate':_0x335f55['rows'][0x0][0x0],'currentUser':_0x335f55[_0x5c3597(0x104)][0x0][0x1]},'Oracle\x20connection\x20test\x20berhasil\x20-\x20User:\x20'+_0x335f55['rows'][0x0][0x1]);}catch(_0x1f1245){_0x9442e0[_0x5c3597(0x10e)](logError,_0x1f1245,{'event':_0x5c3597(0x100)},_0x5c3597(0xe1)+_0x1f1245['message']);throw _0x1f1245;}finally{if(_0x37ff10)try{await _0x37ff10['close']();}catch(_0x49ad1c){_0x9442e0[_0x5c3597(0x112)](logError,_0x49ad1c,{'event':_0x5c3597(0xd9)},'Error\x20closing\x20test\x20connection:\x20'+_0x49ad1c['message']);}}}async[a0_0x236640(0xfb)](_0x43acf0,_0x2c1e0f=[],_0x3447d2={}){const _0x3d27f3=a0_0x236640,_0x5eced5={'ESzWW':function(_0x339b16){return _0x339b16();},'tkOMR':_0x3d27f3(0xf2),'NtjYn':function(_0x31e3f0){return _0x31e3f0();},'Consi':function(_0x8a2c0,_0x2f9dd6,_0xb6c954,_0x4a8688){return _0x8a2c0(_0x2f9dd6,_0xb6c954,_0x4a8688);},'azhkk':'sql_error'};let _0x3f717a;const _0x3b1104=_0x5eced5[_0x3d27f3(0xed)](startQueryTimer);try{!this[_0x3d27f3(0xc0)]&&await this[_0x3d27f3(0xe6)]();_0x3f717a=await this[_0x3d27f3(0xc0)]['getConnection'](),await ensureNlsReady(_0x3f717a);const _0x4942d8={'outFormat':oracledb['OUT_FORMAT_OBJECT'],'autoCommit':_0x3447d2[_0x3d27f3(0xcb)]!==undefined?_0x3447d2[_0x3d27f3(0xcb)]:!![],..._0x3447d2},_0x5dde65=await _0x3f717a[_0x3d27f3(0xcd)](_0x43acf0,_0x2c1e0f,_0x4942d8),_0x3d3732=_0x5eced5['ESzWW'](_0x3b1104),_0x28a11c=_0x5dde65[_0x3d27f3(0x104)]?_0x5dde65[_0x3d27f3(0x104)][_0x3d27f3(0xea)]:_0x5dde65[_0x3d27f3(0xeb)];return logQuery(_0x43acf0,_0x2c1e0f,{'duration':_0x3d3732,'rowsAffected':_0x28a11c,'dbType':_0x5eced5[_0x3d27f3(0xef)]}),_0x5dde65[_0x3d27f3(0x104)]?_0x5dde65[_0x3d27f3(0x104)]:{'rowsAffected':_0x5dde65[_0x3d27f3(0xeb)],'lastRowid':_0x5dde65[_0x3d27f3(0xde)]};}catch(_0x465e18){const _0x22ab62=_0x5eced5['NtjYn'](_0x3b1104);_0x5eced5[_0x3d27f3(0xc8)](logError,_0x465e18,{'event':_0x5eced5[_0x3d27f3(0xf7)],'query':_0x43acf0[_0x3d27f3(0x101)](0x0,0x1f4),'paramCount':_0x2c1e0f['length'],'durationMs':_0x22ab62,'code':_0x465e18['errorNum'],'dbType':_0x5eced5['tkOMR']},'Oracle\x20SQL\x20Error:\x20'+_0x465e18[_0x3d27f3(0xe3)]);throw _0x465e18;}finally{if(_0x3f717a)try{await _0x3f717a[_0x3d27f3(0x105)]();}catch(_0x1898e4){_0x5eced5['Consi'](logError,_0x1898e4,{'event':'oracle_connection_close_error'},_0x3d27f3(0x10f)+_0x1898e4['message']);}}}async[a0_0x236640(0xda)](_0x2a27c0){const _0x38e66b=a0_0x236640,_0x42b6e2={'OtZir':function(_0x40dc0f){return _0x40dc0f();},'griIQ':function(_0x3b0db1,_0x430f87,_0xf11bc9,_0x2067c3){return _0x3b0db1(_0x430f87,_0xf11bc9,_0x2067c3);},'AiQiW':_0x38e66b(0xf2),'JjhYi':'transaction_complete','DvoBu':function(_0x112255,_0x2db84e,_0x29e84c){return _0x112255(_0x2db84e,_0x29e84c);},'vgJBv':'rollback','hZxyC':_0x38e66b(0xf0)};let _0x1d1922;const _0x3c00ac=_0x42b6e2[_0x38e66b(0xce)](startQueryTimer);try{!this[_0x38e66b(0xc0)]&&await this['initializePool']();_0x1d1922=await this['pool'][_0x38e66b(0xf9)](),await ensureNlsReady(_0x1d1922),logTransaction('start',_0x2a27c0['length']);const _0x4601ee=[];for(const _0x238428 of _0x2a27c0){const _0x4a3cbd=_0x42b6e2[_0x38e66b(0xce)](startQueryTimer),_0x1c2675=await _0x1d1922['execute'](_0x238428['sql'],_0x238428['params']||[],{'autoCommit':![],'outFormat':oracledb['OUT_FORMAT_OBJECT']}),_0x45d059=_0x4a3cbd(),_0x4b3923=_0x1c2675['rows']?_0x1c2675[_0x38e66b(0x104)]['length']:_0x1c2675[_0x38e66b(0xeb)];_0x42b6e2['griIQ'](logQuery,_0x238428['sql'],_0x238428[_0x38e66b(0xc6)]||[],{'duration':_0x45d059,'rowsAffected':_0x4b3923,'dbType':_0x42b6e2[_0x38e66b(0xfc)]}),_0x4601ee['push'](_0x1c2675);}await _0x1d1922[_0x38e66b(0xbe)]();const _0x238e41=_0x42b6e2['OtZir'](_0x3c00ac);return logTransaction(_0x38e66b(0xbe),_0x2a27c0[_0x38e66b(0xea)]),logger['info']({'event':_0x42b6e2[_0x38e66b(0xdb)],'queryCount':_0x2a27c0[_0x38e66b(0xea)],'totalDurationMs':_0x238e41,'dbType':_0x42b6e2['AiQiW']},'Oracle\x20transaction\x20committed\x20('+_0x238e41+'ms,\x20'+_0x2a27c0[_0x38e66b(0xea)]+_0x38e66b(0xf3)),_0x4601ee;}catch(_0x8e1336){const _0x572c2a=_0x3c00ac();_0x42b6e2['griIQ'](logError,_0x8e1336,{'event':'transaction_error','queryCount':_0x2a27c0['length'],'totalDurationMs':_0x572c2a,'code':_0x8e1336[_0x38e66b(0x109)],'dbType':_0x42b6e2['AiQiW']},_0x38e66b(0xca)+_0x8e1336[_0x38e66b(0xe3)]);if(_0x1d1922)try{await _0x1d1922['rollback'](),_0x42b6e2['DvoBu'](logTransaction,_0x42b6e2[_0x38e66b(0xc3)],_0x2a27c0['length']);}catch(_0x2286fd){logError(_0x2286fd,{'event':'rollback_error','dbType':_0x42b6e2[_0x38e66b(0xfc)]},_0x38e66b(0x10c)+_0x2286fd[_0x38e66b(0xe3)]);}throw _0x8e1336;}finally{if(_0x1d1922)try{await _0x1d1922[_0x38e66b(0x105)]();}catch(_0x219bd5){logError(_0x219bd5,{'event':_0x42b6e2['hZxyC']},_0x38e66b(0x106)+_0x219bd5['message']);}}}async['closePool'](){const _0x2f30b7=a0_0x236640,_0x1b991f={'YHOUZ':function(_0x37c78a,_0xfde834,_0x13b18c,_0x20f715){return _0x37c78a(_0xfde834,_0x13b18c,_0x20f715);}};try{this['pool']&&(logger[_0x2f30b7(0xc7)]({'event':'oracle_pool_closing'},'Closing\x20Oracle\x20connection\x20pool...'),await this[_0x2f30b7(0xc0)][_0x2f30b7(0x105)](0xa),this[_0x2f30b7(0xc0)]=null,logger['info']({'event':_0x2f30b7(0xd8)},'Oracle\x20connection\x20pool\x20closed'));}catch(_0x557325){_0x1b991f[_0x2f30b7(0xc1)](logError,_0x557325,{'event':'oracle_pool_close_error'},_0x2f30b7(0x115)+_0x557325[_0x2f30b7(0xe3)]);throw _0x557325;}}[a0_0x236640(0xe7)](){const _0x6fdbb7=a0_0x236640;if(!this['pool'])return{'status':'Pool\x20not\x20initialized'};return{'connectionsInUse':this['pool']['connectionsInUse'],'connectionsOpen':this['pool']['connectionsOpen'],'poolAlias':this['pool']['poolAlias'],'poolMin':this['pool'][_0x6fdbb7(0xff)],'poolMax':this[_0x6fdbb7(0xc0)]['poolMax'],'poolIncrement':this[_0x6fdbb7(0xc0)]['poolIncrement'],'poolTimeout':this['pool'][_0x6fdbb7(0x107)],'status':'Active'};}}const oracleDb=new OracleDatabase();process['on']('SIGINT',async()=>{const _0x55684f=a0_0x236640,_0x538971={'IIbAk':'Received\x20SIGINT,\x20closing\x20Oracle\x20connection\x20pool...','rhdMA':function(_0x384a7d,_0x5ddd71,_0x53ed3e,_0x198991){return _0x384a7d(_0x5ddd71,_0x53ed3e,_0x198991);}};logger[_0x55684f(0xc7)]({'event':_0x55684f(0xf8),'signal':'SIGINT'},_0x538971['IIbAk']);try{await oracleDb[_0x55684f(0xf1)](),process['exit'](0x0);}catch(_0x1e9675){_0x538971[_0x55684f(0xec)](logError,_0x1e9675,{'event':_0x55684f(0xcf),'signal':'SIGINT'},_0x55684f(0xd6)+_0x1e9675['message']),process['exit'](0x1);}}),process['on'](a0_0x236640(0xc4),async()=>{const _0x46c6c2=a0_0x236640,_0x437764={'yjsWs':_0x46c6c2(0xf8),'QDuya':'Received\x20SIGTERM,\x20closing\x20Oracle\x20connection\x20pool...','jmYEt':'SIGTERM'};logger['info']({'event':_0x437764[_0x46c6c2(0x102)],'signal':'SIGTERM'},_0x437764[_0x46c6c2(0x116)]);try{await oracleDb['closePool'](),process['exit'](0x0);}catch(_0x46251c){logError(_0x46251c,{'event':'oracle_shutdown_error','signal':_0x437764[_0x46c6c2(0xfe)]},_0x46c6c2(0xd6)+_0x46251c['message']),process['exit'](0x1);}}),module['exports']=oracleDb;
|
|
1
|
+
function a0_0x35a5(_0x553783,_0x4b16ff){_0x553783=_0x553783-0x1dc;const _0x393aaf=a0_0x393a();let _0x35a506=_0x393aaf[_0x553783];if(a0_0x35a5['qaeiAM']===undefined){var _0x4088fe=function(_0x52b502){const _0x279cbe='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4040dd='',_0x104c1e='';for(let _0x3a4aaf=0x0,_0x4431de,_0x1322d3,_0xb3618f=0x0;_0x1322d3=_0x52b502['charAt'](_0xb3618f++);~_0x1322d3&&(_0x4431de=_0x3a4aaf%0x4?_0x4431de*0x40+_0x1322d3:_0x1322d3,_0x3a4aaf++%0x4)?_0x4040dd+=String['fromCharCode'](0xff&_0x4431de>>(-0x2*_0x3a4aaf&0x6)):0x0){_0x1322d3=_0x279cbe['indexOf'](_0x1322d3);}for(let _0x1c40bd=0x0,_0x1a8a15=_0x4040dd['length'];_0x1c40bd<_0x1a8a15;_0x1c40bd++){_0x104c1e+='%'+('00'+_0x4040dd['charCodeAt'](_0x1c40bd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x104c1e);};a0_0x35a5['TNRdrB']=_0x4088fe,a0_0x35a5['LQbXJp']={},a0_0x35a5['qaeiAM']=!![];}const _0x15c28f=_0x393aaf[0x0],_0x1a663b=_0x553783+_0x15c28f,_0x37dfc5=a0_0x35a5['LQbXJp'][_0x1a663b];return!_0x37dfc5?(_0x35a506=a0_0x35a5['TNRdrB'](_0x35a506),a0_0x35a5['LQbXJp'][_0x1a663b]=_0x35a506):_0x35a506=_0x37dfc5,_0x35a506;}const a0_0x150ce8=a0_0x35a5;(function(_0x3d4eac,_0x20fc3a){const _0x453bfd=a0_0x35a5,_0x22f289=_0x3d4eac();while(!![]){try{const _0xe5174a=-parseInt(_0x453bfd(0x233))/0x1+parseInt(_0x453bfd(0x1e4))/0x2*(-parseInt(_0x453bfd(0x237))/0x3)+-parseInt(_0x453bfd(0x24a))/0x4*(-parseInt(_0x453bfd(0x214))/0x5)+parseInt(_0x453bfd(0x1ef))/0x6*(parseInt(_0x453bfd(0x1fc))/0x7)+parseInt(_0x453bfd(0x24c))/0x8*(-parseInt(_0x453bfd(0x235))/0x9)+-parseInt(_0x453bfd(0x200))/0xa+parseInt(_0x453bfd(0x21e))/0xb*(parseInt(_0x453bfd(0x1e8))/0xc);if(_0xe5174a===_0x20fc3a)break;else _0x22f289['push'](_0x22f289['shift']());}catch(_0x3d5e55){_0x22f289['push'](_0x22f289['shift']());}}}(a0_0x393a,0x984ef));const oracledb=require(a0_0x150ce8(0x22a)),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x150ce8(0x239));function a0_0x393a(){const _0x352175=['y29UBMvJDgLVBNnjBLvZzq','t3jHy2XLignVBM5Ly3rPB24GCg9VBcbJBg9Zzwq','mtvcEwfqrNq','zxHPDa','y29UzMLN','y29TBwL0','q2XVC2LUzYbpCMfJBguGy29UBMvJDgLVBIbWB29SlI4U','CgfYyw1Z','ihf1zxjPzxmP','quXurviGu0vtu0LptIbtrvqGtKXtx0rbvevFrK9stufuid0Gj1LzwvKTtu0TreqN','qwDPu0G','B3jHy2XLx3bVB2XFy2XVC2vK','mJKWndC4nZzkCeLcvva','y29UBMvJDgLVBNnpCgvU','CM93CW','Bufwzxa','uhPtuva','B3jHy2XLx3bVB2XFzxjYB3i','tKnmt0i','quXurviGu0vtu0LptIbtrvqGtKXtx1rjtuvtvefnuf9gt1jnqvqGpsaNwvLzws1nts1ercjuiKHimJq6tuK6u1mUrKyZjW','rejFue9ptf9jtKnsru1ftLq','vgvZDgLUzYbpCMfJBguGzgf0ywjHC2uGy29UBMvJDgLVBI4UlG','weLLwKu','Cenjvum','B3jHy2XLzgi','quXurviGu0vtu0LptIbtrvqGtKXtx1rjtuvtvefnuf9uwL9gt1jnqvqGpsaNwvLzws1nts1ercjuiKHimJq6tuK6u1mUrKyZvfPioLrAtsC','uMvJzwL2zwqGu0Lhsu5ulcbJBg9ZAw5Nie9YywnSzsbJB25Uzwn0Aw9UihbVB2WUlI4','Cg9VBe1HEa','zNPqANi','B3jHy2XLx3rYyw5Zywn0Aw9Ux2nVBM5Ly3rPB25Fy2XVC2vFzxjYB3i','B3jHy2XLx3rLC3rFy29UBMvJDgLVBL9JBg9Zzv9LCNjVCG','AMfIsfq','B3jHy2XLx2nVBM5Ly3rPB25FDgvZDf9MywLSzwq','nZq2mJK5uNvQzwTJ','rxjYB3iGy2XVC2LUzYbpCMfJBguGy29UBMvJDgLVBJOG','mZK2owPlC2TwEq','Aw5MBW','ndG5meL1zKnnCG','zxHLy3v0zq','lI9SB2DNzxi','qu9QrxK','rejFvvnfuG','rxjYB3iGCM9SBgLUzYbIywnRie9YywnSzsb0CMfUC2fJDgLVBJOG','zw52','y3jLyxrLug9VBa','BgvUz3rO','z2v0q29UBMvJDgLVBG','t1vux0zpuK1bvf9pqKPfq1q','B3jHy2XLx3nODxrKB3DUx2vYCM9Y','C3bSAxq','yNvPBgrdB25Uzwn0Aw9Uu3rYAw5N','t3jHy2XLihrYyw5Zywn0Aw9UignVBw1PDhrLzcaO','zMv0y2HbC0j1zMzLCG','rxjYB3iGy2XVC2LUzYbpCMfJBguGy29UBMvJDgLVBIbWB29SoIa','DKDRvw0','t09isfK','ody1odH0uK9hA3e','DfvgtKG','mtK4ndHOtgnnzue','DxnLCG','zgvIDwC','DgvZDenVBM5Ly3rPB24','zMv0y2HbC1n0CMLUzW','Cg9VBefSAwfZ','y2XVC2u','Bg9JywXOB3n0','q0XpqG','Cg9VBe1PBG','CfLurxm','ntGYEfvfu1zd','B3jHy2XLx3bVB2XFy3jLyxrPBMC','DhjHBNnHy3rPB25Fy29TCgXLDgu','Cg9VBa','mtjQtLjhvMm','DhjHBNnHy3rPB25FzxjYB3i','CM93C0fMzMvJDgvK','sNnrwva','rejFue9ptf9usu1ft1vu','C3fS','Aw5PDgLHBgL6zvbVB2W','nJa5mdbftLnvwvG','BgfZDfjVD2LK','u1D6DMS','yxv0B0nVBw1PDa','AxHrCMW','rejFueftu1DpuKq','BwvZC2fNzq','B3jHy2XLx3bVB2XFy2XVC2vFzxjYB3i','B3jHy2XLx3bVB2XFzxHPC3rZ','zwjhBLi','y2XVC2vqB29S','ChvZAa','DKTYEui','ntq2wwntChvf','t3jHy2XLignVBM5Ly3rPB24GCg9VBcbZDwrHAcbHzge','BxmSia','Awvcru0','ntu4nZuYmez0A0zKBa','uffXrfm','B3jHy2XL','B3jHy2XLx3bVB2XFy2XVC2LUzW','B3jHy2XLx3nODxrKB3DU','rejFtKfnrq','B3jHy2XLx3bVB2XFy3jLyxrLza','sw5dD1C','uKP0C2C','rejFue9ptf9nsu4','B3jHy2XLx2nVBM5Ly3rPB25FDgvZDf9ZDwnJzxnZ','t3jHy2XLifnrtcbfCNjVCJOG','u0Lhsu5u','rxjYB3iGC2fHDcbTzw1IDwf0ie9YywnSzsbJB25Uzwn0Aw9UihbVB2W6ia','zxHWB3j0CW','uMvJzwL2zwqGu0LhvevstsWGy2XVC2LUzYbpCMfJBguGy29UBMvJDgLVBIbWB29SlI4U','CM9SBgjHy2S','u0Lhvevstq'];a0_0x393a=function(){return _0x352175;};return a0_0x393a();}oracledb[a0_0x150ce8(0x1dd)]=[oracledb['CLOB'],oracledb['NCLOB']],oracledb[a0_0x150ce8(0x246)]=[oracledb['BLOB']];async function ensureNlsReady(_0x552282){const _0x3d6764=a0_0x150ce8;if(_0x552282['_nlsReady'])return;await _0x552282['execute'](_0x3d6764(0x21b)),await _0x552282['execute'](_0x3d6764(0x225)),await _0x552282['execute'](_0x3d6764(0x22b)),_0x552282['_nlsReady']=!![];}class OracleDatabase{constructor(){const _0x46aae3=a0_0x150ce8,_0x4ad1a7={'SVZxT':function(_0x5cc10a,_0x164588){return _0x5cc10a(_0x164588);},'pYTEs':'localhost','ebGnR':'1521'};this[_0x46aae3(0x1e7)]=null,this['config']={'user':process[_0x46aae3(0x23d)][_0x46aae3(0x23b)]||'hr','password':process['env'][_0x46aae3(0x1f4)]||'hr','connectString':this[_0x46aae3(0x244)](),'poolMin':parseInt(process[_0x46aae3(0x23d)][_0x46aae3(0x209)])||0x2,'poolMax':parseInt(process[_0x46aae3(0x23d)]['DB_POOL_MAX'])||0xa,'poolIncrement':_0x4ad1a7['SVZxT'](parseInt,process['env'][_0x46aae3(0x226)])||0x1,'poolTimeout':parseInt(process['env'][_0x46aae3(0x1ec)])||0x3c,'autoCommit':!![],'fetchAsString':[oracledb[_0x46aae3(0x1e1)],oracledb[_0x46aae3(0x224)]],'fetchAsBuffer':[oracledb['BLOB']]},logDatabaseConfig({'host':process[_0x46aae3(0x23d)]['DB_HOST']||_0x4ad1a7[_0x46aae3(0x1e3)],'port':process['env']['DB_PORT']||_0x4ad1a7[_0x46aae3(0x1f8)],'database':process['env'][_0x46aae3(0x205)]||'XE','type':'oracle','user':this['config'][_0x46aae3(0x24d)],'poolMin':this['config'][_0x46aae3(0x1e2)],'poolMax':this['config']['poolMax']});}[a0_0x150ce8(0x244)](){const _0x3fc710=a0_0x150ce8,_0x4ce41e={'YgITA':_0x3fc710(0x1e0),'PrUTO':'1521','HTbSt':'oracle_connection_string'},_0x21ef4c=process['env']['DB_HOST']||_0x4ce41e['YgITA'],_0x199774=process['env']['DB_PORT']||_0x4ce41e['PrUTO'],_0x415088=process[_0x3fc710(0x23d)]['DB_NAME']||'XE',_0x4c8206='//'+_0x21ef4c+':'+_0x199774+'/'+_0x415088;return logger['debug']({'event':_0x4ce41e['HTbSt'],'connectionString':_0x4c8206},'Oracle\x20Connection\x20String:\x20'+_0x4c8206),_0x4c8206;}async[a0_0x150ce8(0x1ee)](){const _0x44970e=a0_0x150ce8,_0x26e5e9={'LwVki':'4|0|1|3|2','ieBEM':'Creating\x20Oracle\x20connection\x20pool...','xJcdo':_0x44970e(0x206)};try{const _0x43bd0d=_0x26e5e9['LwVki'][_0x44970e(0x243)]('|');let _0x1d6dff=0x0;while(!![]){switch(_0x43bd0d[_0x1d6dff++]){case'0':logger[_0x44970e(0x236)]({'event':_0x44970e(0x1e5)},_0x26e5e9[_0x44970e(0x1ff)]);continue;case'1':this[_0x44970e(0x1e7)]=await oracledb[_0x44970e(0x23e)](this[_0x44970e(0x216)]);continue;case'2':await this[_0x44970e(0x1dc)]();continue;case'3':logger['info']({'event':_0x26e5e9['xJcdo']},'Oracle\x20connection\x20pool\x20created\x20successfully');continue;case'4':if(this['pool']){logger['debug']({'event':_0x44970e(0x1f7)},_0x44970e(0x1fd));return;}continue;}break;}}catch(_0x481eaa){logError(_0x481eaa,{'event':_0x44970e(0x223)},_0x44970e(0x20d)+_0x481eaa['message']);throw _0x481eaa;}}async['testConnection'](){const _0x1896d0=a0_0x150ce8,_0x345a65={'kWyLY':'oracle_connection_test_start','mAVep':_0x1896d0(0x227),'XIeZE':function(_0x960ad5,_0x105152){return _0x960ad5(_0x105152);},'PiXDx':'SELECT\x20SYSDATE\x20as\x20current_date,\x20USER\x20as\x20current_user\x20FROM\x20DUAL','jabHT':_0x1896d0(0x20a),'RJtsg':function(_0x270834,_0x78e719,_0x15d0e8,_0x4a3897){return _0x270834(_0x78e719,_0x15d0e8,_0x4a3897);},'AOjEy':function(_0x30aad5,_0x285e6b,_0x218c6a,_0xf3a29f){return _0x30aad5(_0x285e6b,_0x218c6a,_0xf3a29f);}};let _0x18edcd;try{logger[_0x1896d0(0x24e)]({'event':_0x345a65['kWyLY']},_0x345a65[_0x1896d0(0x221)]),_0x18edcd=await this['pool'][_0x1896d0(0x240)](),await _0x345a65[_0x1896d0(0x228)](ensureNlsReady,_0x18edcd);const _0x51eb45=await _0x18edcd['execute'](_0x345a65['PiXDx']);logger['info']({'event':_0x345a65[_0x1896d0(0x231)],'currentDate':_0x51eb45['rows'][0x0][0x0],'currentUser':_0x51eb45['rows'][0x0][0x1]},'Oracle\x20connection\x20test\x20berhasil\x20-\x20User:\x20'+_0x51eb45[_0x1896d0(0x220)][0x0][0x1]);}catch(_0xaf7c46){_0x345a65[_0x1896d0(0x208)](logError,_0xaf7c46,{'event':_0x1896d0(0x232)},'Oracle\x20connection\x20test\x20gagal:\x20'+_0xaf7c46['message']);throw _0xaf7c46;}finally{if(_0x18edcd)try{await _0x18edcd[_0x1896d0(0x1df)]();}catch(_0x14e12f){_0x345a65[_0x1896d0(0x23a)](logError,_0x14e12f,{'event':_0x1896d0(0x230)},'Error\x20closing\x20test\x20connection:\x20'+_0x14e12f[_0x1896d0(0x1f5)]);}}}async['executeQuery'](_0x2a4c0a,_0x2d706c=[],_0xffcd39={}){const _0x25f18d=a0_0x150ce8,_0x2234fe={'NyiaN':function(_0x3fb1d5,_0x433b76){return _0x3fb1d5!==_0x433b76;},'AgiSH':_0x25f18d(0x202),'noCmw':'sql_error'};let _0x5e70a4;const _0x2e4c02=startQueryTimer();try{!this[_0x25f18d(0x1e7)]&&await this['initializePool']();_0x5e70a4=await this[_0x25f18d(0x1e7)][_0x25f18d(0x240)](),await ensureNlsReady(_0x5e70a4);const _0x1541a2={'outFormat':oracledb[_0x25f18d(0x241)],'autoCommit':_0x2234fe['NyiaN'](_0xffcd39['autoCommit'],undefined)?_0xffcd39[_0x25f18d(0x1f2)]:!![],..._0xffcd39},_0x4ecff0=await _0x5e70a4[_0x25f18d(0x238)](_0x2a4c0a,_0x2d706c,_0x1541a2),_0x5f3bd7=_0x2e4c02(),_0x2b7c8f=_0x4ecff0['rows']?_0x4ecff0[_0x25f18d(0x220)]['length']:_0x4ecff0['rowsAffected'];return logQuery(_0x2a4c0a,_0x2d706c,{'duration':_0x5f3bd7,'rowsAffected':_0x2b7c8f,'dbType':_0x2234fe[_0x25f18d(0x21c)]}),_0x4ecff0['rows']?_0x4ecff0['rows']:{'rowsAffected':_0x4ecff0[_0x25f18d(0x1ea)],'lastRowid':_0x4ecff0[_0x25f18d(0x1f0)]};}catch(_0x46d2a9){const _0x35f280=_0x2e4c02();logError(_0x46d2a9,{'event':_0x2234fe['noCmw'],'query':_0x2a4c0a['substring'](0x0,0x1f4),'paramCount':_0x2d706c[_0x25f18d(0x23f)],'durationMs':_0x35f280,'code':_0x46d2a9['errorNum'],'dbType':'oracle'},_0x25f18d(0x20b)+_0x46d2a9[_0x25f18d(0x1f5)]);throw _0x46d2a9;}finally{if(_0x5e70a4)try{await _0x5e70a4['close']();}catch(_0x139b5e){logError(_0x139b5e,{'event':'oracle_connection_close_error'},_0x25f18d(0x234)+_0x139b5e['message']);}}}async['executeTransaction'](_0x3cfe94){const _0x3ce5aa=a0_0x150ce8,_0x1c0d80={'InCwW':function(_0x12755f){return _0x12755f();},'PzSQP':function(_0x29fc59,_0x13ccb2){return _0x29fc59(_0x13ccb2);},'HNcdM':function(_0xc86c0f,_0x5e820a,_0x4a6114){return _0xc86c0f(_0x5e820a,_0x4a6114);},'pCIUC':function(_0x48c930){return _0x48c930();},'IKSGu':function(_0xeaf7a2,_0x4bd7ef,_0x3343f4,_0x5bf60d){return _0xeaf7a2(_0x4bd7ef,_0x3343f4,_0x5bf60d);},'vKryB':function(_0x43f6d5,_0x5b81d7,_0x158597){return _0x43f6d5(_0x5b81d7,_0x158597);},'QsMru':'commit','jzOrv':_0x3ce5aa(0x1e9),'BBzGC':_0x3ce5aa(0x202),'kfIkJ':'rollback','JsQYP':'rollback_error','ixQrl':_0x3ce5aa(0x22f)};let _0x1773de;const _0x4eb9d9=_0x1c0d80[_0x3ce5aa(0x207)](startQueryTimer);try{!this['pool']&&await this['initializePool']();_0x1773de=await this['pool']['getConnection'](),await _0x1c0d80[_0x3ce5aa(0x222)](ensureNlsReady,_0x1773de),_0x1c0d80['HNcdM'](logTransaction,'start',_0x3cfe94['length']);const _0x537d2a=[];for(const _0x58051c of _0x3cfe94){const _0x15c019=_0x1c0d80['pCIUC'](startQueryTimer),_0x2fa653=await _0x1773de[_0x3ce5aa(0x238)](_0x58051c[_0x3ce5aa(0x1ed)],_0x58051c['params']||[],{'autoCommit':![],'outFormat':oracledb[_0x3ce5aa(0x241)]}),_0x3ec686=_0x15c019(),_0x2b34db=_0x2fa653[_0x3ce5aa(0x220)]?_0x2fa653[_0x3ce5aa(0x220)][_0x3ce5aa(0x23f)]:_0x2fa653[_0x3ce5aa(0x1ea)];_0x1c0d80['IKSGu'](logQuery,_0x58051c['sql'],_0x58051c[_0x3ce5aa(0x219)]||[],{'duration':_0x3ec686,'rowsAffected':_0x2b34db,'dbType':_0x3ce5aa(0x202)}),_0x537d2a[_0x3ce5aa(0x1fa)](_0x2fa653);}await _0x1773de[_0x3ce5aa(0x217)]();const _0x5171f4=_0x1c0d80[_0x3ce5aa(0x229)](_0x4eb9d9);return _0x1c0d80[_0x3ce5aa(0x1fb)](logTransaction,_0x1c0d80['QsMru'],_0x3cfe94[_0x3ce5aa(0x23f)]),logger[_0x3ce5aa(0x236)]({'event':_0x3ce5aa(0x1e6),'queryCount':_0x3cfe94['length'],'totalDurationMs':_0x5171f4,'dbType':'oracle'},_0x3ce5aa(0x245)+_0x5171f4+_0x3ce5aa(0x1fe)+_0x3cfe94['length']+_0x3ce5aa(0x21a)),_0x537d2a;}catch(_0x57fb69){const _0x485792=_0x4eb9d9();logError(_0x57fb69,{'event':_0x1c0d80['jzOrv'],'queryCount':_0x3cfe94['length'],'totalDurationMs':_0x485792,'code':_0x57fb69['errorNum'],'dbType':_0x1c0d80['BBzGC']},'Oracle\x20transaction\x20failed:\x20'+_0x57fb69[_0x3ce5aa(0x1f5)]);if(_0x1773de)try{await _0x1773de[_0x3ce5aa(0x210)](),logTransaction(_0x1c0d80['kfIkJ'],_0x3cfe94['length']);}catch(_0x590c34){logError(_0x590c34,{'event':_0x1c0d80[_0x3ce5aa(0x1eb)],'dbType':_0x3ce5aa(0x202)},_0x3ce5aa(0x23c)+_0x590c34['message']);}throw _0x57fb69;}finally{if(_0x1773de)try{await _0x1773de['close']();}catch(_0x172607){logError(_0x172607,{'event':_0x1c0d80[_0x3ce5aa(0x1f3)]},'Error\x20closing\x20Oracle\x20transaction\x20connection:\x20'+_0x172607[_0x3ce5aa(0x1f5)]);}}}async[a0_0x150ce8(0x1f9)](){const _0x2327c3=a0_0x150ce8,_0x376d75={'ybyCP':_0x2327c3(0x203),'vGkUm':_0x2327c3(0x218),'SWzvk':_0x2327c3(0x21d),'tUFNH':_0x2327c3(0x213)};try{this['pool']&&(logger['info']({'event':_0x376d75['ybyCP']},_0x376d75[_0x2327c3(0x248)]),await this['pool']['close'](0xa),this['pool']=null,logger[_0x2327c3(0x236)]({'event':_0x376d75[_0x2327c3(0x1f1)]},_0x376d75[_0x2327c3(0x24b)]));}catch(_0x3d8af1){logError(_0x3d8af1,{'event':_0x2327c3(0x1f6)},_0x2327c3(0x247)+_0x3d8af1['message']);throw _0x3d8af1;}}['getPoolStatistics'](){const _0x27acfa=a0_0x150ce8;if(!this[_0x27acfa(0x1e7)])return{'status':'Pool\x20not\x20initialized'};return{'connectionsInUse':this['pool'][_0x27acfa(0x212)],'connectionsOpen':this[_0x27acfa(0x1e7)][_0x27acfa(0x21f)],'poolAlias':this[_0x27acfa(0x1e7)][_0x27acfa(0x1de)],'poolMin':this['pool']['poolMin'],'poolMax':this[_0x27acfa(0x1e7)][_0x27acfa(0x22d)],'poolIncrement':this[_0x27acfa(0x1e7)]['poolIncrement'],'poolTimeout':this['pool']['poolTimeout'],'status':'Active'};}}const oracleDb=new OracleDatabase();process['on'](a0_0x150ce8(0x20c),async()=>{const _0x4bc4e1=a0_0x150ce8,_0x30237c={'wUnhP':'oracle_shutdown','tIvwd':_0x4bc4e1(0x20c),'gIReR':_0x4bc4e1(0x22c)};logger[_0x4bc4e1(0x236)]({'event':_0x30237c['wUnhP'],'signal':_0x30237c['tIvwd']},_0x30237c['gIReR']);try{await oracleDb['closePool'](),process[_0x4bc4e1(0x215)](0x0);}catch(_0x240e71){logError(_0x240e71,{'event':_0x4bc4e1(0x242),'signal':_0x4bc4e1(0x20c)},'Error\x20during\x20Oracle\x20pool\x20shutdown:\x20'+_0x240e71[_0x4bc4e1(0x1f5)]),process[_0x4bc4e1(0x215)](0x1);}}),process['on']('SIGTERM',async()=>{const _0x50792f=a0_0x150ce8,_0x3ffd66={'OnNon':_0x50792f(0x204),'fzPjr':_0x50792f(0x211),'OOHHY':_0x50792f(0x20f),'PQqDS':function(_0x48d84c,_0x2925fa,_0x3ca370,_0x49c754){return _0x48d84c(_0x2925fa,_0x3ca370,_0x49c754);}};logger['info']({'event':_0x3ffd66['OnNon'],'signal':_0x3ffd66[_0x50792f(0x22e)]},_0x3ffd66[_0x50792f(0x249)]);try{await oracleDb[_0x50792f(0x1f9)](),process[_0x50792f(0x215)](0x0);}catch(_0x346a8e){_0x3ffd66[_0x50792f(0x201)](logError,_0x346a8e,{'event':'oracle_shutdown_error','signal':'SIGTERM'},'Error\x20during\x20Oracle\x20pool\x20shutdown:\x20'+_0x346a8e['message']),process[_0x50792f(0x215)](0x1);}}),module[a0_0x150ce8(0x20e)]=oracleDb;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x16bb(){const _0x1dd501=['CLPdCKS','BgfZDeLUC2vYDfjVD2LK','zxHLy3v0zvrYyw5Zywn0Aw9U','zxHWB3j0CW','DhjHBNnHy3rPB25Fy29TCgXLDgu','nezsEuftzW','BwvZC2fNzq','rejFqLvtwv9usu1ft1vu','vhjHBNnHy3rPB24GzMfPBgvKoIa','z2v0','ywXS','oda4mJyZtwjtCNrM','y2XVC2vqB29S','mJGZnti4uLzRtvvQ','lI9SB2DNzxi','u0Lhsu5u','C3fSAxrLx2nSB3nLza','y2HLy2TdB25Uzwn0Aw9U','y29Kzq','DgvZDa','zgvIDwC','zw52','zxHPDa','lI9KyxrHl3jLC3rMB3jNzs5KyG','u2rWqNy','C3fSAxrLx2LUAxrFzxjYB3i','uMvJzwL2zwqGu0Lhsu5ulcbJBg9ZAw5NifnrtgL0zsbKyxrHyMfZzs4UlG','C3fSAxrLx2nSB3nPBMC','C3fSAxrL','C3bSAxq','BgvUz3rO','DgvZDenVBM5Ly3rPB24','D3flqKW','DhjHBNnHy3rPB25FzxjYB3i','weHJv00','mZq4nZy0yurfEMTl','mJeZnZuYmhjiAwnWqG','u1fmAxrLigrHDgfIyxnLignVBM5Ly3rPB24GC3vKywGGywrH','ChvZAa','rejFtKfnrq','ndKXnde4mfDRC0H6tW','C3fSAxrLx3nODxrKB3DU','mtaWmMjvy0DdwG','Aw5PDgLHBgL6zurHDgfIyxnL','nZe0n1bstxjjzq','CNvU','ChjHz21H','u0Lhvevstq','BLb1uhi','C3fS','suXbB3O','rxjYB3iGzhvYAw5NifnrtgL0zsbZAhv0zg93BJOG','C3rHCNq','y2HHBMDLCW','C3fSx2vYCM9Y','DhjHBNnHy3rPB24','wMTdzNy','zM9YzwLNBL9RzxLZid0Gt04','vgvZDgLUzYbtuuXPDguGzgf0ywjHC2uGy29UBMvJDgLVBI4UlG','C3fSAxrLx3nODxrKB3DUx2vYCM9Y','Aw5MBW','u0vmrunuide','rxjYB3iGy2XVC2LUzYbtuuXPDguGzgf0ywjHC2u6ia','ChjLCgfYzq','C3vIC3rYAw5N','C0rnt0u','ndqYnta4ofbSC2zOBW','rxjYB3iGC2fHDcbTzw1IDwTHifnrtgL0zsbKyxrHyMfZztOG','suDMuLe','uMvJzwL2zwqGu0LhvevstsWGy2XVC2LUzYbtuuXPDguGzgf0ywjHC2uUlI4','C3fSAxrLx2nVBM5Ly3rPB25Fy2HLy2TFzxjYB3i'];a0_0x16bb=function(){return _0x1dd501;};return a0_0x16bb();}const a0_0x17957f=a0_0x3234;(function(_0x20558e,_0xb3974d){const _0x1a019b=a0_0x3234,_0x5c4624=_0x20558e();while(!![]){try{const _0x2ce79c=parseInt(_0x1a019b(0x150))/0x1*(parseInt(_0x1a019b(0x158))/0x2)+parseInt(_0x1a019b(0x156))/0x3+-parseInt(_0x1a019b(0x16e))/0x4+-parseInt(_0x1a019b(0x16f))/0x5+-parseInt(_0x1a019b(0x175))/0x6*(-parseInt(_0x1a019b(0x177))/0x7)+parseInt(_0x1a019b(0x146))/0x8+-parseInt(_0x1a019b(0x173))/0x9;if(_0x2ce79c===_0xb3974d)break;else _0x5c4624['push'](_0x5c4624['shift']());}catch(_0x104558){_0x5c4624['push'](_0x5c4624['shift']());}}}(a0_0x16bb,0x79ecd));const Database=require('better-sqlite3'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x17957f(0x159));class SqliteDatabase{constructor(){const _0x435367=a0_0x17957f,_0x2c3629={'XHcWM':_0x435367(0x162),'SdpBv':'5000','fbdsO':function(_0x4bd31c,_0x11ee62){return _0x4bd31c(_0x11ee62);},'ELoNh':'sqlite'};this['db']=null,this['dbPath']=process[_0x435367(0x160)][_0x435367(0x172)]||_0x2c3629[_0x435367(0x16d)],this['busyTimeout']=parseInt(process['env'][_0x435367(0x152)]||_0x2c3629[_0x435367(0x163)]),_0x2c3629['fbdsO'](logDatabaseConfig,{'database':this['dbPath'],'type':_0x2c3629['ELoNh'],'busyTimeout':this['busyTimeout']});}[a0_0x17957f(0x176)](){const _0x2e847a=a0_0x17957f,_0x332760={'ILAoz':'1|3|4|2|0','sDMOE':'sqlite_db_exists','gGxda':_0x2e847a(0x170),'tKCGu':'journal_mode\x20=\x20WAL','vLoRc':function(_0x35e46b,_0x5dbd30,_0x1ce00d,_0x36a709){return _0x35e46b(_0x5dbd30,_0x1ce00d,_0x36a709);}};try{const _0x47fbe3=_0x332760[_0x2e847a(0x17d)][_0x2e847a(0x168)]('|');let _0x2f0adb=0x0;while(!![]){switch(_0x47fbe3[_0x2f0adb++]){case'0':this[_0x2e847a(0x16a)]();continue;case'1':if(this['db']){logger['debug']({'event':_0x332760[_0x2e847a(0x145)]},_0x332760['gGxda']);return;}continue;case'2':this['db'][_0x2e847a(0x179)](_0x2e847a(0x184));continue;case'3':this['db']=new Database(this['dbPath'],{'timeout':this['busyTimeout']});continue;case'4':this['db']['pragma'](_0x332760['tKCGu']);continue;}break;}}catch(_0x2ede95){_0x332760['vLoRc'](logError,_0x2ede95,{'event':_0x2e847a(0x164)},_0x2e847a(0x147)+_0x2ede95[_0x2e847a(0x151)]);throw _0x2ede95;}}[a0_0x17957f(0x16a)](){const _0x5f042e=a0_0x17957f,_0x2636a9={'aGvLk':'SELECT\x201\x20as\x20test_connection'};try{logger[_0x5f042e(0x15f)]({'event':'sqlite_connection_test_start'},_0x5f042e(0x185)),this['db']['prepare'](_0x2636a9['aGvLk'])[_0x5f042e(0x154)]();}catch(_0x5be4c7){logError(_0x5be4c7,{'event':'sqlite_connection_test_failed'},'SQLite\x20connection\x20test\x20gagal:\x20'+_0x5be4c7['message']);throw _0x5be4c7;}}async['executeQuery'](_0x21707e,_0x51a407=[]){const _0x2811dd=a0_0x17957f,_0x7a1423={'QzPmy':function(_0x57e79c){return _0x57e79c();},'IGfRQ':function(_0x3f5370,_0x5e644e,_0x476582,_0x18294){return _0x3f5370(_0x5e644e,_0x476582,_0x18294);},'RHwOk':'sqlite','lRPcd':function(_0x1bbf1d,_0x340eec,_0x5ca043,_0x951361){return _0x1bbf1d(_0x340eec,_0x5ca043,_0x951361);}},_0x3c4c0a=_0x7a1423['QzPmy'](startQueryTimer);try{!this['db']&&this['initializeDatabase']();const _0x399ed6=this['db']['prepare'](_0x21707e),_0x29fe3b=/\bRETURNING\b/i[_0x2811dd(0x15e)](_0x21707e),_0x3d675b=/^\s*(SELECT|PRAGMA|EXPLAIN|WITH\s)/i[_0x2811dd(0x15e)](_0x21707e);let _0x14bb33,_0x5d73c0;if(_0x3d675b||_0x29fe3b){const _0x256e42=_0x399ed6[_0x2811dd(0x155)](..._0x51a407),_0x38acf7=_0x3c4c0a();return _0x7a1423[_0x2811dd(0x148)](logQuery,_0x21707e,_0x51a407,{'duration':_0x38acf7,'rowsAffected':_0x256e42['length'],'dbType':_0x7a1423['RHwOk']}),_0x256e42;}else{const _0x125a13=_0x399ed6[_0x2811dd(0x178)](..._0x51a407),_0x4c364a=_0x3c4c0a();return _0x14bb33={'rowsAffected':_0x125a13['changes'],'insertId':_0x125a13[_0x2811dd(0x14c)]},_0x7a1423[_0x2811dd(0x148)](logQuery,_0x21707e,_0x51a407,{'duration':_0x4c364a,'rowsAffected':_0x125a13['changes'],'dbType':_0x7a1423['RHwOk']}),_0x14bb33;}}catch(_0x2a2f7a){const _0x667491=_0x3c4c0a();_0x7a1423['lRPcd'](logError,_0x2a2f7a,{'event':_0x2811dd(0x181),'query':_0x21707e[_0x2811dd(0x144)](0x0,0x1f4),'paramCount':_0x51a407['length'],'durationMs':_0x667491,'code':_0x2a2f7a['code'],'dbType':_0x7a1423['RHwOk']},'SQLite\x20SQL\x20Error:\x20'+_0x2a2f7a[_0x2811dd(0x151)]);throw _0x2a2f7a;}}async[a0_0x17957f(0x14d)](_0x3e1728){const _0x3bd9e4=a0_0x17957f,_0x406e9e={'rZCrK':function(_0x5649fc){return _0x5649fc();},'wEVsv':function(_0x464649,_0x1a9805,_0x369302,_0x1c0437){return _0x464649(_0x1a9805,_0x369302,_0x1c0437);},'nPuPr':function(_0x57cfae){return _0x57cfae();},'ZkCfv':function(_0x5841a4,_0x4e26fb,_0x261acf){return _0x5841a4(_0x4e26fb,_0x261acf);},'zspNC':function(_0x48f316){return _0x48f316();},'GTJOp':'commit','TBJSv':_0x3bd9e4(0x14f),'MwOoC':function(_0x55e3d9){return _0x55e3d9();},'rxAtG':function(_0x4d2bf2,_0x1dc489,_0x3974e1){return _0x4d2bf2(_0x1dc489,_0x3974e1);},'Vamlp':function(_0x4e807a,_0x4c908f,_0x543de5,_0x3fcaa8){return _0x4e807a(_0x4c908f,_0x543de5,_0x3fcaa8);}},_0x283d75=_0x406e9e[_0x3bd9e4(0x17b)](startQueryTimer);try{!this['db']&&this['initializeDatabase']();_0x406e9e[_0x3bd9e4(0x183)](logTransaction,_0x3bd9e4(0x17f),_0x3e1728['length']);const _0x34847f=this['db'][_0x3bd9e4(0x182)](_0x4096bb=>{const _0x5d830f=_0x3bd9e4,_0x206c33=[];for(const _0x3c3092 of _0x4096bb){const _0x309985=startQueryTimer(),_0x5064ee=_0x3c3092['params']||[],_0x58ab3d=this['db']['prepare'](_0x3c3092['sql']),_0x1f0b7e=/\bRETURNING\b/i['test'](_0x3c3092['sql']),_0x16e6e9=/^\s*(SELECT|PRAGMA|EXPLAIN|WITH\s)/i[_0x5d830f(0x15e)](_0x3c3092['sql']);if(_0x16e6e9||_0x1f0b7e){const _0x1ed7ea=_0x58ab3d['all'](..._0x5064ee),_0x52d5eb=_0x406e9e[_0x5d830f(0x14b)](_0x309985);_0x406e9e['wEVsv'](logQuery,_0x3c3092['sql'],_0x5064ee,{'duration':_0x52d5eb,'rowsAffected':_0x1ed7ea[_0x5d830f(0x169)],'dbType':'sqlite'}),_0x206c33[_0x5d830f(0x171)](_0x1ed7ea);}else{const _0x319c8a=_0x58ab3d['run'](..._0x5064ee),_0x3e97a7=_0x309985();logQuery(_0x3c3092[_0x5d830f(0x17c)],_0x5064ee,{'duration':_0x3e97a7,'rowsAffected':_0x319c8a[_0x5d830f(0x180)],'dbType':_0x5d830f(0x167)}),_0x206c33[_0x5d830f(0x171)]({'rowsAffected':_0x319c8a['changes'],'insertId':_0x319c8a['lastInsertRowid']});}}return _0x206c33;}),_0x46fd20=_0x34847f(_0x3e1728),_0x401e4b=_0x406e9e['zspNC'](_0x283d75);return _0x406e9e['ZkCfv'](logTransaction,_0x406e9e['GTJOp'],_0x3e1728['length']),logger[_0x3bd9e4(0x140)]({'event':_0x406e9e['TBJSv'],'queryCount':_0x3e1728['length'],'totalDurationMs':_0x401e4b,'dbType':'sqlite'},'Transaction\x20committed\x20('+_0x401e4b+'ms,\x20'+_0x3e1728[_0x3bd9e4(0x169)]+'\x20queries)'),_0x46fd20;}catch(_0x17f69b){const _0x543732=_0x406e9e['MwOoC'](_0x283d75);_0x406e9e['rxAtG'](logTransaction,'rollback',_0x3e1728['length']),_0x406e9e['Vamlp'](logError,_0x17f69b,{'event':_0x3bd9e4(0x16c),'queryCount':_0x3e1728['length'],'totalDurationMs':_0x543732,'code':_0x17f69b[_0x3bd9e4(0x15d)],'dbType':_0x3bd9e4(0x167)},_0x3bd9e4(0x153)+_0x17f69b['message']);throw _0x17f69b;}}['getPool'](){const _0x5292f0=a0_0x17957f;return!this['db']&&this[_0x5292f0(0x176)](),this['db'];}[a0_0x17957f(0x157)](){const _0x4416a8=a0_0x17957f,_0x244119={'ZnKVH':function(_0xa02f0a,_0x26edaa,_0x47465b,_0x432ac9){return _0xa02f0a(_0x26edaa,_0x47465b,_0x432ac9);}};try{this['db']&&(logger[_0x4416a8(0x140)]({'event':_0x4416a8(0x166)},'Closing\x20SQLite\x20database\x20connection...'),this['db']['close'](),this['db']=null,logger[_0x4416a8(0x140)]({'event':_0x4416a8(0x15b)},'SQLite\x20database\x20connection\x20closed'));}catch(_0x39e600){_0x244119['ZnKVH'](logError,_0x39e600,{'event':'sqlite_close_error'},_0x4416a8(0x142)+_0x39e600[_0x4416a8(0x151)]);throw _0x39e600;}}async[a0_0x17957f(0x15c)](){const _0x303e84=a0_0x17957f,_0x3cb072={'QXADw':function(_0x4b2612,_0x54d0c4,_0x29026c,_0x148afb){return _0x4b2612(_0x54d0c4,_0x29026c,_0x148afb);},'HPdCV':_0x303e84(0x14a)};try{return!this['db']&&this['initializeDatabase'](),this['db'][_0x303e84(0x143)](_0x303e84(0x141))[_0x303e84(0x154)](),!![];}catch(_0xebae0a){return _0x3cb072['QXADw'](logError,_0xebae0a,{'event':_0x3cb072['HPdCV']},'Error\x20checking\x20SQLite\x20connection:\x20'+_0xebae0a['message']),![];}}}const sqliteDb=new SqliteDatabase();function a0_0x3234(_0x4a69d5,_0xa28aa7){_0x4a69d5=_0x4a69d5-0x140;const _0x16bbf6=a0_0x16bb();let _0x323479=_0x16bbf6[_0x4a69d5];if(a0_0x3234['DfPqew']===undefined){var _0x1f53ef=function(_0x291d92){const _0x339071='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x59121c='',_0x5cd644='';for(let _0x4cdc99=0x0,_0x3b5e6f,_0x31eb1c,_0x310858=0x0;_0x31eb1c=_0x291d92['charAt'](_0x310858++);~_0x31eb1c&&(_0x3b5e6f=_0x4cdc99%0x4?_0x3b5e6f*0x40+_0x31eb1c:_0x31eb1c,_0x4cdc99++%0x4)?_0x59121c+=String['fromCharCode'](0xff&_0x3b5e6f>>(-0x2*_0x4cdc99&0x6)):0x0){_0x31eb1c=_0x339071['indexOf'](_0x31eb1c);}for(let _0x8d9f3=0x0,_0x10f24a=_0x59121c['length'];_0x8d9f3<_0x10f24a;_0x8d9f3++){_0x5cd644+='%'+('00'+_0x59121c['charCodeAt'](_0x8d9f3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5cd644);};a0_0x3234['EiWIOd']=_0x1f53ef,a0_0x3234['FtEnaj']={},a0_0x3234['DfPqew']=!![];}const _0x29251c=_0x16bbf6[0x0],_0x12986c=_0x4a69d5+_0x29251c,_0x566e7c=a0_0x3234['FtEnaj'][_0x12986c];return!_0x566e7c?(_0x323479=a0_0x3234['EiWIOd'](_0x323479),a0_0x3234['FtEnaj'][_0x12986c]=_0x323479):_0x323479=_0x566e7c,_0x323479;}process['on']('SIGINT',()=>{const _0x4723f3=a0_0x17957f,_0xbbc69c={'qFLkE':_0x4723f3(0x15a),'wqKBL':_0x4723f3(0x165),'fjUOY':function(_0x2691a2,_0x414f5a,_0x5ef2a7,_0x966e0b){return _0x2691a2(_0x414f5a,_0x5ef2a7,_0x966e0b);}};logger['info']({'event':_0x4723f3(0x174),'signal':_0xbbc69c['qFLkE']},_0xbbc69c[_0x4723f3(0x16b)]);try{sqliteDb['closePool'](),process['exit'](0x0);}catch(_0x2c76b2){_0xbbc69c['fjUOY'](logError,_0x2c76b2,{'event':'sqlite_shutdown_error','signal':'SIGINT'},'Error\x20during\x20SQLite\x20shutdown:\x20'+_0x2c76b2[_0x4723f3(0x151)]),process[_0x4723f3(0x161)](0x1);}}),process['on']('SIGTERM',()=>{const _0x2fdb2c=a0_0x17957f,_0x2db2da={'mUUkb':_0x2fdb2c(0x174),'yuWWD':function(_0x19c885,_0x195f9c,_0x3d716d,_0x59e696){return _0x19c885(_0x195f9c,_0x3d716d,_0x59e696);},'cJiHv':_0x2fdb2c(0x186),'drpcs':'SIGTERM'};logger[_0x2fdb2c(0x140)]({'event':_0x2db2da['mUUkb'],'signal':_0x2fdb2c(0x17a)},_0x2fdb2c(0x149));try{sqliteDb['closePool'](),process[_0x2fdb2c(0x161)](0x0);}catch(_0x253453){_0x2db2da['yuWWD'](logError,_0x253453,{'event':_0x2db2da['cJiHv'],'signal':_0x2db2da['drpcs']},_0x2fdb2c(0x17e)+_0x253453['message']),process['exit'](0x1);}}),module[a0_0x17957f(0x14e)]=sqliteDb;
|
|
1
|
+
const a0_0x452c97=a0_0x13f4;(function(_0x8f84a0,_0x22c8f5){const _0x11b33f=a0_0x13f4,_0x32f21e=_0x8f84a0();while(!![]){try{const _0x54948b=parseInt(_0x11b33f(0x9f))/0x1*(parseInt(_0x11b33f(0xac))/0x2)+-parseInt(_0x11b33f(0xaa))/0x3*(-parseInt(_0x11b33f(0x7d))/0x4)+parseInt(_0x11b33f(0x74))/0x5*(parseInt(_0x11b33f(0x6f))/0x6)+-parseInt(_0x11b33f(0x77))/0x7+parseInt(_0x11b33f(0x92))/0x8+parseInt(_0x11b33f(0x82))/0x9+parseInt(_0x11b33f(0xb3))/0xa*(-parseInt(_0x11b33f(0x8c))/0xb);if(_0x54948b===_0x22c8f5)break;else _0x32f21e['push'](_0x32f21e['shift']());}catch(_0x26a6b9){_0x32f21e['push'](_0x32f21e['shift']());}}}(a0_0x13cb,0x9de6b));const Database=require(a0_0x452c97(0x91)),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x452c97(0x6c));function a0_0x13f4(_0x4823d4,_0x313f0e){_0x4823d4=_0x4823d4-0x6a;const _0x13cbff=a0_0x13cb();let _0x13f42a=_0x13cbff[_0x4823d4];if(a0_0x13f4['OEQqmf']===undefined){var _0x2aee03=function(_0x212617){const _0x12c3fd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x56ee62='',_0x48040a='';for(let _0x5d6f95=0x0,_0x419245,_0x136a0a,_0x5e02af=0x0;_0x136a0a=_0x212617['charAt'](_0x5e02af++);~_0x136a0a&&(_0x419245=_0x5d6f95%0x4?_0x419245*0x40+_0x136a0a:_0x136a0a,_0x5d6f95++%0x4)?_0x56ee62+=String['fromCharCode'](0xff&_0x419245>>(-0x2*_0x5d6f95&0x6)):0x0){_0x136a0a=_0x12c3fd['indexOf'](_0x136a0a);}for(let _0x16822d=0x0,_0x3d09c6=_0x56ee62['length'];_0x16822d<_0x3d09c6;_0x16822d++){_0x48040a+='%'+('00'+_0x56ee62['charCodeAt'](_0x16822d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x48040a);};a0_0x13f4['VNZlXj']=_0x2aee03,a0_0x13f4['QPNxxI']={},a0_0x13f4['OEQqmf']=!![];}const _0x18c163=_0x13cbff[0x0],_0x41bdca=_0x4823d4+_0x18c163,_0x569635=a0_0x13f4['QPNxxI'][_0x41bdca];return!_0x569635?(_0x13f42a=a0_0x13f4['VNZlXj'](_0x13f42a),a0_0x13f4['QPNxxI'][_0x41bdca]=_0x13f42a):_0x13f42a=_0x569635,_0x13f42a;}class SqliteDatabase{constructor(){const _0xe3898d=a0_0x452c97,_0x5f5ae1={'MSdnr':function(_0x293412,_0x191351){return _0x293412(_0x191351);},'GXgXE':_0xe3898d(0x8e)};this['db']=null,this[_0xe3898d(0xa2)]=process['env']['DB_NAME']||_0xe3898d(0x79),this['busyTimeout']=_0x5f5ae1[_0xe3898d(0x98)](parseInt,process[_0xe3898d(0x7f)][_0xe3898d(0x6b)]||_0xe3898d(0x9a)),logDatabaseConfig({'database':this['dbPath'],'type':_0x5f5ae1[_0xe3898d(0xb5)],'busyTimeout':this['busyTimeout']});}[a0_0x452c97(0xa8)](){const _0x33e626=a0_0x452c97,_0x42d560={'tUhrI':'0|4|1|3|2','FFjQk':_0x33e626(0x9e),'rlWCh':function(_0x37d57d,_0x157388,_0x511189,_0x347f42){return _0x37d57d(_0x157388,_0x511189,_0x347f42);},'SlYtf':_0x33e626(0xb4)};try{const _0x4c0146=_0x42d560['tUhrI']['split']('|');let _0x14f85a=0x0;while(!![]){switch(_0x4c0146[_0x14f85a++]){case'0':if(this['db']){logger['debug']({'event':_0x42d560[_0x33e626(0x71)]},_0x33e626(0x9c));return;}continue;case'1':this['db'][_0x33e626(0xa1)](_0x33e626(0x8a));continue;case'2':this['testConnection']();continue;case'3':this['db']['pragma']('foreign_keys\x20=\x20ON');continue;case'4':this['db']=new Database(this[_0x33e626(0xa2)],{'timeout':this[_0x33e626(0x93)]});continue;}break;}}catch(_0x435bf6){_0x42d560[_0x33e626(0x9d)](logError,_0x435bf6,{'event':_0x42d560['SlYtf']},'Error\x20saat\x20membuka\x20SQLite\x20database:\x20'+_0x435bf6[_0x33e626(0x83)]);throw _0x435bf6;}}['testConnection'](){const _0x254067=a0_0x452c97,_0xf7b169={'mfOEN':function(_0x4b0b2f,_0xc74407,_0x473ca5,_0xba8760){return _0x4b0b2f(_0xc74407,_0x473ca5,_0xba8760);},'PSGpT':'sqlite_connection_test_failed'};try{logger[_0x254067(0x99)]({'event':'sqlite_connection_test_start'},'Testing\x20SQLite\x20database\x20connection...'),this['db']['prepare']('SELECT\x201\x20as\x20test_connection')[_0x254067(0x8f)]();}catch(_0x376e0c){_0xf7b169[_0x254067(0xae)](logError,_0x376e0c,{'event':_0xf7b169[_0x254067(0xaf)]},_0x254067(0x6d)+_0x376e0c[_0x254067(0x83)]);throw _0x376e0c;}}async['executeQuery'](_0x1a9723,_0x48e6e9=[]){const _0x21f134=a0_0x452c97,_0x51cf38={'gUxcw':function(_0x2f03d7){return _0x2f03d7();},'QlsnE':function(_0x857ecc,_0x26577c){return _0x857ecc||_0x26577c;},'pvkmD':function(_0x4e005c){return _0x4e005c();},'hIjYZ':function(_0xf1efcb){return _0xf1efcb();},'vFUPB':function(_0x118e9c,_0x37ed27,_0x304c39,_0x5ecbbf){return _0x118e9c(_0x37ed27,_0x304c39,_0x5ecbbf);},'DLwgF':'sql_error','oOZkC':'sqlite'},_0x3bf810=_0x51cf38[_0x21f134(0x76)](startQueryTimer);try{!this['db']&&this[_0x21f134(0xa8)]();const _0x45a498=this['db']['prepare'](_0x1a9723),_0x121795=/\bRETURNING\b/i['test'](_0x1a9723),_0x491221=/^\s*(SELECT|PRAGMA|EXPLAIN|WITH\s)/i['test'](_0x1a9723);let _0x172895,_0x30a201;if(_0x51cf38['QlsnE'](_0x491221,_0x121795)){const _0x3509d1=_0x45a498[_0x21f134(0x7a)](..._0x48e6e9),_0x146448=_0x51cf38[_0x21f134(0x73)](_0x3bf810);return logQuery(_0x1a9723,_0x48e6e9,{'duration':_0x146448,'rowsAffected':_0x3509d1['length'],'dbType':'sqlite'}),_0x3509d1;}else{const _0x182dbf=_0x45a498[_0x21f134(0x7c)](..._0x48e6e9),_0x1ef960=_0x3bf810();return _0x172895={'rowsAffected':_0x182dbf['changes'],'insertId':_0x182dbf[_0x21f134(0xa3)]},logQuery(_0x1a9723,_0x48e6e9,{'duration':_0x1ef960,'rowsAffected':_0x182dbf[_0x21f134(0x87)],'dbType':_0x21f134(0x8e)}),_0x172895;}}catch(_0x2ba432){const _0x501251=_0x51cf38['hIjYZ'](_0x3bf810);_0x51cf38[_0x21f134(0x7b)](logError,_0x2ba432,{'event':_0x51cf38['DLwgF'],'query':_0x1a9723[_0x21f134(0x86)](0x0,0x1f4),'paramCount':_0x48e6e9[_0x21f134(0x89)],'durationMs':_0x501251,'code':_0x2ba432[_0x21f134(0xb0)],'dbType':_0x51cf38['oOZkC']},'SQLite\x20SQL\x20Error:\x20'+_0x2ba432[_0x21f134(0x83)]);throw _0x2ba432;}}async['executeTransaction'](_0x2bee7e){const _0x2e75b2=a0_0x452c97,_0x106847={'jsbwP':function(_0x1b399c){return _0x1b399c();},'LztPT':function(_0x5c6f95,_0x14a9c5,_0x522d17,_0x592dd1){return _0x5c6f95(_0x14a9c5,_0x522d17,_0x592dd1);},'BVRJd':'sqlite','beHHT':function(_0x4d7f6f,_0x5f0163){return _0x4d7f6f(_0x5f0163);},'yyzSH':'transaction_complete','XFOhC':_0x2e75b2(0x6a),'AXmRu':'transaction_error'},_0x1d42fd=_0x106847['jsbwP'](startQueryTimer);try{!this['db']&&this['initializeDatabase']();logTransaction('start',_0x2bee7e[_0x2e75b2(0x89)]);const _0xde5403=this['db']['transaction'](_0x5aeeac=>{const _0x4fa378=_0x2e75b2,_0x5dd770=[];for(const _0x38139f of _0x5aeeac){const _0x4c1c64=startQueryTimer(),_0x5a679d=_0x38139f['params']||[],_0x1201a4=this['db']['prepare'](_0x38139f[_0x4fa378(0xb7)]),_0x8e4151=/\bRETURNING\b/i['test'](_0x38139f['sql']),_0x51f5fc=/^\s*(SELECT|PRAGMA|EXPLAIN|WITH\s)/i[_0x4fa378(0x94)](_0x38139f[_0x4fa378(0xb7)]);if(_0x51f5fc||_0x8e4151){const _0x3b182b=_0x1201a4[_0x4fa378(0x7a)](..._0x5a679d),_0x48720f=_0x106847['jsbwP'](_0x4c1c64);_0x106847[_0x4fa378(0xa6)](logQuery,_0x38139f[_0x4fa378(0xb7)],_0x5a679d,{'duration':_0x48720f,'rowsAffected':_0x3b182b['length'],'dbType':_0x106847[_0x4fa378(0x72)]}),_0x5dd770[_0x4fa378(0x96)](_0x3b182b);}else{const _0x384d70=_0x1201a4['run'](..._0x5a679d),_0x1d17f6=_0x106847['jsbwP'](_0x4c1c64);logQuery(_0x38139f[_0x4fa378(0xb7)],_0x5a679d,{'duration':_0x1d17f6,'rowsAffected':_0x384d70[_0x4fa378(0x87)],'dbType':_0x106847['BVRJd']}),_0x5dd770[_0x4fa378(0x96)]({'rowsAffected':_0x384d70['changes'],'insertId':_0x384d70['lastInsertRowid']});}}return _0x5dd770;}),_0xc44b38=_0x106847[_0x2e75b2(0x95)](_0xde5403,_0x2bee7e),_0x60b256=_0x1d42fd();return logTransaction('commit',_0x2bee7e['length']),logger[_0x2e75b2(0x75)]({'event':_0x106847[_0x2e75b2(0xa0)],'queryCount':_0x2bee7e['length'],'totalDurationMs':_0x60b256,'dbType':_0x2e75b2(0x8e)},_0x2e75b2(0x80)+_0x60b256+_0x2e75b2(0xb2)+_0x2bee7e['length']+'\x20queries)'),_0xc44b38;}catch(_0x9693df){const _0x252cfb=_0x1d42fd();logTransaction(_0x106847[_0x2e75b2(0x97)],_0x2bee7e[_0x2e75b2(0x89)]),_0x106847['LztPT'](logError,_0x9693df,{'event':_0x106847['AXmRu'],'queryCount':_0x2bee7e[_0x2e75b2(0x89)],'totalDurationMs':_0x252cfb,'code':_0x9693df['code'],'dbType':_0x106847['BVRJd']},_0x2e75b2(0xab)+_0x9693df[_0x2e75b2(0x83)]);throw _0x9693df;}}['getPool'](){const _0x3fcb00=a0_0x452c97;return!this['db']&&this[_0x3fcb00(0xa8)](),this['db'];}['closePool'](){const _0x748ada=a0_0x452c97,_0xb52fb={'gUPrc':'sqlite_closed','ZSJGV':_0x748ada(0x7e)};try{this['db']&&(logger['info']({'event':_0x748ada(0x85)},_0x748ada(0xb6)),this['db'][_0x748ada(0x6e)](),this['db']=null,logger[_0x748ada(0x75)]({'event':_0xb52fb[_0x748ada(0x84)]},_0xb52fb[_0x748ada(0xb1)]));}catch(_0x468d6b){logError(_0x468d6b,{'event':'sqlite_close_error'},_0x748ada(0x88)+_0x468d6b['message']);throw _0x468d6b;}}async[a0_0x452c97(0x90)](){const _0xbebd7b=a0_0x452c97,_0x168638={'IWSYV':_0xbebd7b(0x78),'ALhSh':'sqlite_connection_check_error'};try{return!this['db']&&this[_0xbebd7b(0xa8)](),this['db']['prepare'](_0x168638[_0xbebd7b(0xa7)])[_0xbebd7b(0x8f)](),!![];}catch(_0x44d8e3){return logError(_0x44d8e3,{'event':_0x168638['ALhSh']},'Error\x20checking\x20SQLite\x20connection:\x20'+_0x44d8e3['message']),![];}}}function a0_0x13cb(){const _0x30e921=['u1fmAxrLigrHDgfIyxnLignVBM5Ly3rPB24Gy2XVC2vK','zw52','vhjHBNnHy3rPB24Gy29TBwL0DgvKicG','zxHPDa','mtGXmti0mufRzMr3rG','BwvZC2fNzq','z1vqCMm','C3fSAxrLx2nSB3nPBMC','C3vIC3rYAw5N','y2HHBMDLCW','rxjYB3iGy2XVC2LUzYbtuuXPDguGzgf0ywjHC2u6ia','BgvUz3rO','AM91CM5HBf9TB2rLid0Gv0fm','rxjYB3iGzhvYAw5NifnrtgL0zsbZAhv0zg93BJOG','nJi2mtjPzenJB1i','u0Lhvevstq','C3fSAxrL','z2v0','y2HLy2TdB25Uzwn0Aw9U','yMv0DgvYlxnXBgL0ztm','mtq3mZi5nMPOqw1urq','yNvZEvrPBwvVDxq','DgvZDa','yMvisfq','ChvZAa','wezpAem','tvnKBNi','zgvIDwC','ntaWma','rNbZtM8','u1fmAxrLigrHDgfIyxnLignVBM5Ly3rPB24GC3vKywGGywrH','CMXxq2G','C3fSAxrLx2rIx2v4Axn0CW','mte3mdmYovjXuhnUDG','ExL6u0G','ChjHz21H','zgjqyxrO','BgfZDeLUC2vYDfjVD2LK','zLzzt1C','C3fSAxrLx3nODxrKB3DU','thP0ufq','svDtwvy','Aw5PDgLHBgL6zurHDgfIyxnL','zxHWB3j0CW','m01YChLkwa','vhjHBNnHy3rPB24GzMfPBgvKoIa','mMXbDhnhza','wKnmEu4','Bwzpru4','ufnhCfq','y29Kzq','wLnkr1y','BxmSia','mZuZmerdtu1YBG','C3fSAxrLx2LUAxrFzxjYB3i','r1HNweu','q2XVC2LUzYbtuuXPDguGzgf0ywjHC2uGy29UBMvJDgLVBI4UlG','C3fS','CM9SBgjHy2S','rejFqLvtwv9usu1ft1vu','lI9SB2DNzxi','u1fmAxrLignVBM5Ly3rPB24GDgvZDcbNywDHBdOG','y2XVC2u','mtGYotq2rvL5v3fw','uMvJzwL2zwqGu0Lhsu5ulcbJBg9ZAw5NifnrtgL0zsbKyxrHyMfZzs4UlG','rKzQuwS','qLzssMq','ChzRBuq','mti1ENnSBhHk','Aw5MBW','z1v4y3C','ndiYmZGZnvvOzvPbuW','u0vmrunuide','lI9KyxrHl3jLC3rMB3jNzs5KyG','ywXS','DKzvuei','CNvU','mZC2ntCXnLPSsLPABW'];a0_0x13cb=function(){return _0x30e921;};return a0_0x13cb();}const sqliteDb=new SqliteDatabase();process['on']('SIGINT',()=>{const _0x50a0b9=a0_0x452c97,_0x4db79d={'cEqDp':'sqlite_shutdown_error'};logger[_0x50a0b9(0x75)]({'event':_0x50a0b9(0xa5),'signal':'SIGINT'},_0x50a0b9(0x70));try{sqliteDb['closePool'](),process[_0x50a0b9(0x81)](0x0);}catch(_0x2ff9e8){logError(_0x2ff9e8,{'event':_0x4db79d['cEqDp'],'signal':'SIGINT'},_0x50a0b9(0x8b)+_0x2ff9e8['message']),process[_0x50a0b9(0x81)](0x1);}}),process['on'](a0_0x452c97(0x8d),()=>{const _0x5b88fa=a0_0x452c97,_0x4d4b6f={'FpsNo':'sqlite_shutdown','fVYOW':function(_0x360576,_0x374221,_0x13a5d5,_0x57ad15){return _0x360576(_0x374221,_0x13a5d5,_0x57ad15);},'ZCLyN':'sqlite_shutdown_error'};logger['info']({'event':_0x4d4b6f[_0x5b88fa(0x9b)],'signal':'SIGTERM'},'Received\x20SIGTERM,\x20closing\x20SQLite\x20database...');try{sqliteDb['closePool'](),process[_0x5b88fa(0x81)](0x0);}catch(_0x3a2e13){_0x4d4b6f[_0x5b88fa(0xa4)](logError,_0x3a2e13,{'event':_0x4d4b6f[_0x5b88fa(0xad)],'signal':_0x5b88fa(0x8d)},_0x5b88fa(0x8b)+_0x3a2e13['message']),process['exit'](0x1);}}),module[a0_0x452c97(0xa9)]=sqliteDb;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0xa5c7a8=a0_0x419f;function a0_0x419f(_0x39e2bb,_0x286b6d){_0x39e2bb=_0x39e2bb-0x18f;const _0x4885c5=a0_0x4885();let _0x419fd2=_0x4885c5[_0x39e2bb];if(a0_0x419f['zReFzZ']===undefined){var _0x29f1d4=function(_0x210aae){const _0x16dd47='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x18ada7='',_0x5e8719='';for(let _0x4b34e0=0x0,_0x3738ac,_0x5840c2,_0x225699=0x0;_0x5840c2=_0x210aae['charAt'](_0x225699++);~_0x5840c2&&(_0x3738ac=_0x4b34e0%0x4?_0x3738ac*0x40+_0x5840c2:_0x5840c2,_0x4b34e0++%0x4)?_0x18ada7+=String['fromCharCode'](0xff&_0x3738ac>>(-0x2*_0x4b34e0&0x6)):0x0){_0x5840c2=_0x16dd47['indexOf'](_0x5840c2);}for(let _0x2b4612=0x0,_0x56fdb6=_0x18ada7['length'];_0x2b4612<_0x56fdb6;_0x2b4612++){_0x5e8719+='%'+('00'+_0x18ada7['charCodeAt'](_0x2b4612)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5e8719);};a0_0x419f['tJlxOK']=_0x29f1d4,a0_0x419f['cWsMAR']={},a0_0x419f['zReFzZ']=!![];}const _0x42f6da=_0x4885c5[0x0],_0x35ad63=_0x39e2bb+_0x42f6da,_0xd7aa2b=a0_0x419f['cWsMAR'][_0x35ad63];return!_0xd7aa2b?(_0x419fd2=a0_0x419f['tJlxOK'](_0x419fd2),a0_0x419f['cWsMAR'][_0x35ad63]=_0x419fd2):_0x419fd2=_0xd7aa2b,_0x419fd2;}(function(_0x22865c,_0x425144){const _0x39348d=a0_0x419f,_0x4102ac=_0x22865c();while(!![]){try{const _0x55d743=parseInt(_0x39348d(0x1b0))/0x1+-parseInt(_0x39348d(0x1de))/0x2*(-parseInt(_0x39348d(0x1e6))/0x3)+-parseInt(_0x39348d(0x1cd))/0x4+-parseInt(_0x39348d(0x1b7))/0x5*(parseInt(_0x39348d(0x1e3))/0x6)+-parseInt(_0x39348d(0x1b2))/0x7+-parseInt(_0x39348d(0x1df))/0x8+-parseInt(_0x39348d(0x1ee))/0x9*(-parseInt(_0x39348d(0x1bd))/0xa);if(_0x55d743===_0x425144)break;else _0x4102ac['push'](_0x4102ac['shift']());}catch(_0x3fc7bd){_0x4102ac['push'](_0x4102ac['shift']());}}}(a0_0x4885,0x188f1));const ExcelJS=require('exceljs'),{logger}=require('./logger');function a0_0x4885(){const _0x524a60=['BNvTrM10','C3rYzwfTAw5N','z2vUzxjHDgvtAw1WBgu','rxHJzwWGz2vUzxjHDgvKicHZAw1WBguGBwv0Ag9Kkq','Bwf0y2G','zLn5Bu8','yxv0B0zPBhrLCG','u2H5zui','vLLrwxa','ywXPz25Tzw50','rKzgrKzgrKy','A2v5CW','z2vUzxjHDgu','s090qMm','q25wq3i','DMLLD3m','z2v0q2vSBa','DhLWzq','reqVtu0VwvLzwq','sufzAfK','revkz1i','yxbWBhLdzwXSrM9YBwf0DgLUzW','zgf0zq','iLjWiciJlcmJma','sfbzEMi','C2XPy2u','mteWndm4uKPbruDm','svfkwgi','mJu4mtm5suPtsMXv','q3DyExC','CgvYy2vUDgfNzq','z2vUzxjHDgvtDhjLyw1PBMC','zM9YrwfJAa','nZu2ntq1t3jWvNPK','C2LTCgXL','ywrKuM93','BwfW','rwXrrNq','Cgf0DgvYBG','otyXmhzZu3HdBq','z2v0vvrdtw9UDgG','yxbWBhLsB3DgB3jTyxr0Aw5N','sw52ywXPzcbJB2X1Bw5ZoIa','y2vPBa','Dg9vChbLCKnHC2u','Dg9mB3DLCKnHC2u','AuDMwLC','whfIs2S','zNn4u1e','ChvZAa','DMfSDwu','rgf0yq','y2DLtfC','yvP2C3e','Bw0VzgqVExL5Eq','mtu2nJqWqLLHtezq','BgvUz3rO','BwLKzgXL','z2v0vvrdrNvSBfLLyxi','tKDnrMu','CgfKu3rHCNq','y2H1BMTtAxPL','rxfgyNC','q0jKC08','D3jPDgvgAwXL','zNjVEMvU','Aw5MBW','C1rsv1u','Dgv4Da','C3rYAw5N','C3r5Bgu','zMLSDgvY','mtq2ntr1z3LrC2S','mJuWmJa4v29TA2f0','rxHJzwWGz2vUzxjHDgLVBIbZDgfYDgvK','zM9UDa','y2vUDgvY','nLvOwvHSta','zM9YBwf0sgvHzgvY','wejHEKq','owvXzxzJCG','BNvTyMvY','zMLSBa','AM9PBG','y29TBwL0','Au13C1a','z2v0uM93','rxHJzwWGz2vUzxjHDgvKicHZDhjLyw1PBMCGBwv0Ag9Kkq','mJeYnhDoteDwuW','tM94uLe','AhbdEfG','iYWJiZaUmda','rwvZtg0','rvHqt1jux0nivu5lx1njwKu','zgqVBw0VExL5Eq','y0f1q04','CMvWBgfJzq'];a0_0x4885=function(){return _0x524a60;};return a0_0x4885();}class ExcelGenerator{constructor(){const _0xd6993d=a0_0x419f,_0x2b2613={'iuLfB':function(_0x481b6c,_0x529ee1,_0x4257be){return _0x481b6c(_0x529ee1,_0x4257be);}};this['chunkSize']=_0x2b2613['iuLfB'](parseInt,process['env'][_0xd6993d(0x192)],0xa)||0x3e8;}async[a0_0xa5c7a8(0x1a2)](_0x33a70a){const _0x5ebec7=a0_0xa5c7a8,_0x2f505e={'fSymO':'auto'},{data:_0x179352,columns:_0x123167,columnFormats:_0x318177,fieldLabels:_0x3dc56f,filePath:_0x531e9d,onProgress:_0x20961a}=_0x33a70a;logger[_0x5ebec7(0x1d8)]({'event':'excel_generation_start','rows':_0x179352[_0x5ebec7(0x1ce)],'columns':_0x123167?.[_0x5ebec7(0x1ce)]||_0x2f505e[_0x5ebec7(0x19b)],'columnFormats':_0x318177?Object[_0x5ebec7(0x1a1)](_0x318177):null,'fieldLabels':_0x3dc56f?Object[_0x5ebec7(0x1a1)](_0x3dc56f):null,'streaming':_0x179352[_0x5ebec7(0x1ce)]>this[_0x5ebec7(0x1d3)]},_0x5ebec7(0x1e0));if(_0x179352[_0x5ebec7(0x1ce)]<=this['chunkSize'])return await this['generateSimple'](_0x179352,_0x123167,_0x318177,_0x3dc56f,_0x531e9d,_0x20961a);return await this[_0x5ebec7(0x1b5)](_0x179352,_0x123167,_0x318177,_0x3dc56f,_0x531e9d,_0x20961a);}async[a0_0xa5c7a8(0x198)](_0x482fc2,_0x1f65c2,_0x37e3a2,_0x3dad5f,_0x4d274d,_0x13fb7f){const _0xed42f7=a0_0xa5c7a8,_0x28236d={'dfcDc':_0xed42f7(0x1ac),'CSKZp':'Data','FhPzX':'FFFFFFFF','cXJLN':_0xed42f7(0x1bc),'zaivl':'FF4472C4','hpCxX':_0xed42f7(0x1d7),'FUqOW':'excel_generation_complete','AFgiF':_0xed42f7(0x199)},_0xc37214=new ExcelJS['Workbook'](),_0x44e11a=_0xc37214['addWorksheet'](_0x28236d['CSKZp']),_0x355373=_0x1f65c2||(_0x482fc2[_0xed42f7(0x1ce)]>0x0?Object['keys'](_0x482fc2[0x0]):[]);_0x44e11a['columns']=_0x355373['map'](_0x14a4ef=>{const _0x29c339=_0xed42f7,_0x167abe={'header':this[_0x29c339(0x1e4)](_0x14a4ef,_0x3dad5f),'key':_0x14a4ef,'width':0x14};if(_0x37e3a2&&_0x37e3a2[_0x14a4ef]){const _0x48c8a7=_0x37e3a2[_0x14a4ef];if(_0x48c8a7['type']&&_0x48c8a7['type']['toLowerCase']()!==_0x28236d['dfcDc']){const _0x6afd5=this['getExcelFormat'](_0x48c8a7);_0x6afd5&&(_0x167abe[_0x29c339(0x1dc)]={'numFmt':_0x6afd5});}}return _0x167abe;}),_0x44e11a[_0xed42f7(0x1ec)](0x1)[_0xed42f7(0x1e1)]={'bold':!![],'color':{'argb':_0x28236d['FhPzX']}},_0x44e11a['getRow'](0x1)[_0xed42f7(0x1e8)]={'type':_0x28236d['cXJLN'],'pattern':'solid','fgColor':{'argb':_0x28236d['zaivl']}},_0x44e11a['getRow'](0x1)['alignment']={'vertical':_0xed42f7(0x1cf),'horizontal':_0xed42f7(0x1e2)};const _0x11e32f=_0x37e3a2?this['preprocessTextColumns'](_0x482fc2,_0x355373,_0x37e3a2):_0x482fc2;return _0x44e11a['addRows'](_0x11e32f),_0x37e3a2&&this[_0xed42f7(0x1ab)](_0x44e11a,_0x355373,_0x37e3a2,_0x482fc2[_0xed42f7(0x1ce)]),_0x13fb7f&&await _0x13fb7f(0x32),_0x44e11a[_0xed42f7(0x19c)]={'from':{'row':0x1,'column':0x1},'to':{'row':0x1,'column':_0x355373['length']}},_0x44e11a[_0xed42f7(0x1a5)]=[{'state':_0x28236d[_0xed42f7(0x18f)],'xSplit':0x0,'ySplit':0x1}],await _0xc37214['xlsx'][_0xed42f7(0x1d6)](_0x4d274d),_0x13fb7f&&await _0x13fb7f(0x64),logger[_0xed42f7(0x1d8)]({'event':_0x28236d['FUqOW'],'method':_0xed42f7(0x1b8),'rows':_0x482fc2['length']},_0x28236d['AFgiF']),_0x4d274d;}async['generateStreaming'](_0x5839f8,_0x58d6a7,_0x1a2340,_0x101db8,_0x2769c0,_0x4d6634){const _0x5c09c0=a0_0xa5c7a8,_0x2886b1={'Bphxw':_0x5c09c0(0x1ac),'qkyyC':_0x5c09c0(0x1a0),'iaBjH':'pattern','iuolR':'solid','BdgTi':'FF4472C4','djlDo':_0x5c09c0(0x1e2),'ShyeB':function(_0x1dcea6,_0x1f0c33){return _0x1dcea6*_0x1f0c33;},'ieWXp':function(_0xaa1101,_0x20c893){return _0xaa1101/_0x20c893;},'sTRWU':function(_0x192903,_0x30112b){return _0x192903(_0x30112b);},'jKoBH':'excel_chunk_processed','NGMFe':_0x5c09c0(0x197),'bXhJZ':function(_0x239f84,_0x25a82f){return _0x239f84/_0x25a82f;},'ElQFt':_0x5c09c0(0x1ed)},_0x8489ec=new ExcelJS['stream']['xlsx']['WorkbookWriter']({'filename':_0x2769c0,'useStyles':!![],'useSharedStrings':!![]}),_0x2af572=_0x8489ec['addWorksheet'](_0x5c09c0(0x1c9)),_0x47cf97=_0x58d6a7||(_0x5839f8[_0x5c09c0(0x1ce)]>0x0?Object[_0x5c09c0(0x1a1)](_0x5839f8[0x0]):[]),_0x3d99d5={};_0x47cf97[_0x5c09c0(0x1b6)]((_0x4d0ef2,_0x25858)=>{_0x3d99d5[_0x4d0ef2]=_0x25858+0x1;}),_0x2af572['columns']=_0x47cf97[_0x5c09c0(0x1ba)](_0x87980c=>{const _0x4aea11=_0x5c09c0,_0x4df13d={'header':this['formatHeader'](_0x87980c,_0x101db8),'key':_0x87980c,'width':0x14};if(_0x1a2340&&_0x1a2340[_0x87980c]){const _0xeb8494=_0x1a2340[_0x87980c];if(_0xeb8494[_0x4aea11(0x1a7)]&&_0xeb8494[_0x4aea11(0x1a7)][_0x4aea11(0x1c3)]()!==_0x2886b1['Bphxw']){const _0x15dfd6=this['getExcelFormat'](_0xeb8494);_0x15dfd6&&(_0x4df13d['style']={'numFmt':_0x15dfd6});}}return _0x4df13d;});const _0x53bbc2=_0x2af572['getRow'](0x1);_0x53bbc2[_0x5c09c0(0x1e1)]={'bold':!![],'color':{'argb':_0x2886b1['qkyyC']}},_0x53bbc2['fill']={'type':_0x2886b1['iaBjH'],'pattern':_0x2886b1['iuolR'],'fgColor':{'argb':_0x2886b1['BdgTi']}},_0x53bbc2[_0x5c09c0(0x19f)]={'vertical':_0x5c09c0(0x1cf),'horizontal':_0x2886b1['djlDo']},_0x53bbc2[_0x5c09c0(0x1ea)]();const _0x27f924=_0x5839f8['length'];let _0x50548c=0x0;for(let _0x131bea=0x0;_0x131bea<_0x27f924;_0x131bea+=this[_0x5c09c0(0x1d3)]){const _0x4aa9e1=_0x5839f8[_0x5c09c0(0x1af)](_0x131bea,_0x131bea+this[_0x5c09c0(0x1d3)]);for(const _0x5e61bb of _0x4aa9e1){const _0x15be9f=_0x1a2340?this['preprocessTextRow'](_0x5e61bb,_0x47cf97,_0x1a2340):_0x5e61bb,_0x835c6=_0x2af572[_0x5c09c0(0x1b9)](_0x15be9f);_0x1a2340&&this[_0x5c09c0(0x1bf)](_0x835c6,_0x15be9f,_0x47cf97,_0x1a2340),_0x835c6['commit'](),_0x50548c++;}if(_0x4d6634){const _0x2cacdb=Math['round'](_0x2886b1[_0x5c09c0(0x19d)](_0x2886b1['ieWXp'](_0x50548c,_0x27f924),0x64));await _0x2886b1[_0x5c09c0(0x1d9)](_0x4d6634,_0x2cacdb);}logger['debug']({'event':_0x2886b1['jKoBH'],'processed':_0x50548c,'total':_0x27f924},'Processed\x20'+_0x50548c+'/'+_0x27f924+'\x20rows');}return _0x2af572[_0x5c09c0(0x1ea)](),await _0x8489ec[_0x5c09c0(0x1ea)](),logger[_0x5c09c0(0x1d8)]({'event':'excel_generation_complete','method':_0x2886b1[_0x5c09c0(0x1d1)],'rows':_0x27f924,'chunks':Math[_0x5c09c0(0x1c1)](_0x2886b1['bXhJZ'](_0x27f924,this[_0x5c09c0(0x1d3)]))},_0x2886b1[_0x5c09c0(0x1bb)]),_0x2769c0;}['formatHeader'](_0x1ae3d8,_0x2399f9){const _0x3fafbf=a0_0xa5c7a8,_0x31b409={'eIIPG':function(_0x55e236,_0x53bb42){return _0x55e236(_0x53bb42);}};if(_0x2399f9&&_0x2399f9[_0x1ae3d8])return _0x2399f9[_0x1ae3d8];return _0x31b409['eIIPG'](String,_0x1ae3d8)[_0x3fafbf(0x1c2)]();}['validateColumns'](_0x36f73e,_0x4e6678){const _0x412d80=a0_0xa5c7a8,_0x542c0a={'CqRAe':function(_0x16cff2,_0x3e4717){return _0x16cff2===_0x3e4717;}};if(!_0x4e6678||_0x4e6678['length']===0x0)return!![];if(_0x542c0a['CqRAe'](_0x36f73e['length'],0x0))return!![];const _0x1ed8fb=Object['keys'](_0x36f73e[0x0]),_0x14adf0=_0x4e6678[_0x412d80(0x1dd)](_0x3de3a2=>!_0x1ed8fb['includes'](_0x3de3a2));if(_0x14adf0[_0x412d80(0x1ce)]>0x0)throw new Error(_0x412d80(0x1c0)+_0x14adf0[_0x412d80(0x1e9)](',\x20'));return!![];}['getExcelFormat'](_0x422e82){const _0x5d1e17=a0_0xa5c7a8,_0x5e1de2={'IAYhY':function(_0x3e1aa8,_0x4267af){return _0x3e1aa8||_0x4267af;},'GAOVb':function(_0x582052,_0x3d7bea){return _0x582052||_0x3d7bea;},'iMwsP':_0x5d1e17(0x1ad),'jGfxl':_0x5d1e17(0x1b4),'cAuCN':'0.00%'};if(!_0x422e82||!_0x422e82[_0x5d1e17(0x1a7)])return null;const {type:_0x2705e6,format:_0x52cb3f}=_0x422e82;switch(_0x2705e6['toLowerCase']()){case _0x5d1e17(0x1ac):return _0x52cb3f?_0x52cb3f[_0x5d1e17(0x1c3)]():_0x5d1e17(0x193);case'number':return _0x5e1de2[_0x5d1e17(0x1a9)](_0x52cb3f,_0x5d1e17(0x190));case'currency':return _0x5e1de2['GAOVb'](_0x52cb3f,_0x5e1de2[_0x5d1e17(0x1eb)]);case _0x5e1de2['jGfxl']:return _0x52cb3f||_0x5e1de2[_0x5d1e17(0x194)];case _0x5d1e17(0x1da):return'@';default:return null;}}['applyCellFormatting'](_0x3be72a,_0x2baa31,_0x4b93c7,_0x4f13d0){const _0x4c06a1=a0_0xa5c7a8,_0x550a0b={'hGLCm':function(_0x2368a2,_0x3f7544){return _0x2368a2+_0x3f7544;},'EesLm':function(_0x3830d8,_0x48c3fe){return _0x3830d8+_0x48c3fe;}};if(!_0x4b93c7)return;_0x2baa31[_0x4c06a1(0x1b6)]((_0x5882f3,_0x50721b)=>{const _0x560bd2=_0x4c06a1,_0x6c9347=_0x4b93c7[_0x5882f3];if(!_0x6c9347)return;const _0x43016c=_0x550a0b['hGLCm'](_0x50721b,0x1);for(let _0x23ec1b=0x2;_0x23ec1b<=_0x550a0b[_0x560bd2(0x191)](_0x4f13d0,0x1);_0x23ec1b++){const _0x29fa4a=_0x3be72a[_0x560bd2(0x1a6)](_0x23ec1b,_0x43016c);this['formatCell'](_0x29fa4a,_0x6c9347);}});}['applyRowFormatting'](_0x2c3f3a,_0x25f4ce,_0x4edbae,_0xa01d4a){const _0x3d5569=a0_0xa5c7a8;if(!_0xa01d4a)return;_0x4edbae[_0x3d5569(0x1b6)]((_0x79666c,_0x59a76a)=>{const _0x51bf2b=_0xa01d4a[_0x79666c];if(!_0x51bf2b)return;const _0x5231b0=_0x2c3f3a['getCell'](_0x59a76a+0x1);this['formatCell'](_0x5231b0,_0x51bf2b);});}['formatCell'](_0x2d2b74,_0x569565){const _0x148da5=a0_0xa5c7a8,_0x59857f={'XqbKk':function(_0x4f1f15,_0x716c69){return _0x4f1f15===_0x716c69;},'KSNre':'date','SeoEm':_0x148da5(0x1e7),'gmrlr':'currency','EqFbw':function(_0x1d4df2,_0x4604bc){return _0x1d4df2===_0x4604bc;},'XBazD':_0x148da5(0x1da),'XiYIG':function(_0x4229e4,_0x16faf1){return _0x4229e4(_0x16faf1);},'cgeLW':_0x148da5(0x1cf)};if(!_0x569565||!_0x569565['type'])return;const {type:_0x2fc0ab,format:_0x4ec05d}=_0x569565;if(_0x59857f[_0x148da5(0x1c5)](_0x2fc0ab[_0x148da5(0x1c3)](),_0x59857f['KSNre'])&&_0x2d2b74['value']){const _0x5c1bd3=this['formatDateString'](_0x2d2b74[_0x148da5(0x1c8)],_0x4ec05d);_0x5c1bd3&&(_0x2d2b74['value']=_0x5c1bd3);return;}if((_0x59857f['XqbKk'](_0x2fc0ab[_0x148da5(0x1c3)](),_0x59857f['SeoEm'])||_0x59857f[_0x148da5(0x1c5)](_0x2fc0ab['toLowerCase'](),_0x59857f['gmrlr'])||_0x2fc0ab['toLowerCase']()==='percentage')&&_0x2d2b74[_0x148da5(0x1c8)]){const _0x3f5982=this['parseNumber'](_0x2d2b74['value']);if(_0x3f5982!==null){_0x2d2b74['value']=_0x3f5982;const _0x368325=this['getExcelFormat'](_0x569565);_0x368325&&(_0x2d2b74['numFmt']=_0x368325);}}_0x59857f[_0x148da5(0x1d4)](_0x2fc0ab[_0x148da5(0x1c3)](),_0x59857f[_0x148da5(0x1e5)])&&_0x2d2b74[_0x148da5(0x1c8)]&&(_0x2d2b74[_0x148da5(0x196)]='@',typeof _0x2d2b74[_0x148da5(0x1c8)]!=='string'&&(_0x2d2b74['value']=_0x59857f['XiYIG'](String,_0x2d2b74['value'])),_0x2d2b74['alignment']={'horizontal':'left','vertical':_0x59857f[_0x148da5(0x1ca)]});}['formatDateString'](_0xcfdd8b,_0x1119d5){const _0x4b85f2=a0_0xa5c7a8,_0x3e223a={'DEJgR':function(_0x413795,_0x13678f){return _0x413795+_0x13678f;},'fsxSQ':function(_0xf9fb12,_0x38afba,_0x1c89ec){return _0xf9fb12(_0x38afba,_0x1c89ec);},'CnVCr':function(_0x1aad68,_0x3bc660,_0x2d7239){return _0x1aad68(_0x3bc660,_0x2d7239);},'KOtBc':function(_0x22a74f,_0x439d4d,_0x4a3451){return _0x22a74f(_0x439d4d,_0x4a3451);},'ALolX':_0x4b85f2(0x1e7),'NoxRQ':function(_0x2b09e3,_0x26eae1){return _0x2b09e3(_0x26eae1);},'eWVRL':function(_0x4f8ea9,_0x3fd602){return _0x4f8ea9||_0x3fd602;},'hSTzk':function(_0x2d908a,_0x1aac6d){return _0x2d908a(_0x1aac6d);},'HPYzb':_0x4b85f2(0x193),'CwXyw':function(_0x4165b9,_0x6a759a){return _0x4165b9===_0x6a759a;},'BWqSs':'yyyy-mm-dd','IQJXb':function(_0x4735f4,_0x1bc55f){return _0x4735f4===_0x1bc55f;}};if(!_0xcfdd8b)return null;let _0x126b1d,_0x1439b3,_0x3354a2;if(_0xcfdd8b instanceof Date)_0x126b1d=_0xcfdd8b[_0x4b85f2(0x1d0)](),_0x1439b3=_0x3e223a[_0x4b85f2(0x1aa)](_0xcfdd8b['getUTCMonth'](),0x1),_0x3354a2=_0xcfdd8b['getUTCDate']();else{if(typeof _0xcfdd8b===_0x4b85f2(0x1db)){const _0xbb6fc5=_0xcfdd8b['match'](/^(\d{4})-(\d{2})-(\d{2})/);if(_0xbb6fc5)_0x126b1d=parseInt(_0xbb6fc5[0x1],0xa),_0x1439b3=parseInt(_0xbb6fc5[0x2],0xa),_0x3354a2=_0x3e223a[_0x4b85f2(0x1c6)](parseInt,_0xbb6fc5[0x3],0xa);else{const _0x5a74d0=_0xcfdd8b[_0x4b85f2(0x19a)](/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/);if(_0x5a74d0)_0x3354a2=parseInt(_0x5a74d0[0x1],0xa),_0x1439b3=parseInt(_0x5a74d0[0x2],0xa),_0x126b1d=_0x3e223a['fsxSQ'](parseInt,_0x5a74d0[0x3],0xa);else{const _0x215b63=_0xcfdd8b[_0x4b85f2(0x19a)](/^(\d{4})-(\d{1,2})-(\d{1,2})$/);_0x215b63&&(_0x126b1d=_0x3e223a[_0x4b85f2(0x1a4)](parseInt,_0x215b63[0x1],0xa),_0x1439b3=_0x3e223a['KOtBc'](parseInt,_0x215b63[0x2],0xa),_0x3354a2=_0x3e223a[_0x4b85f2(0x1a3)](parseInt,_0x215b63[0x3],0xa));}}}else{if(typeof _0xcfdd8b===_0x3e223a['ALolX']){const _0x460cae=new Date(_0xcfdd8b);!_0x3e223a[_0x4b85f2(0x1ef)](isNaN,_0x460cae['getTime']())&&(_0x126b1d=_0x460cae[_0x4b85f2(0x1d0)](),_0x1439b3=_0x460cae[_0x4b85f2(0x1be)]()+0x1,_0x3354a2=_0x460cae['getUTCDate']());}}}if(_0x3e223a['eWVRL'](!_0x126b1d,!_0x1439b3)||!_0x3354a2)return null;const _0x5f13c4=String(_0x3354a2)['padStart'](0x2,'0'),_0x37a605=String(_0x1439b3)[_0x4b85f2(0x1d2)](0x2,'0'),_0x1923eb=_0x3e223a['hSTzk'](String,_0x126b1d),_0x5c7483=(_0x1119d5||_0x4b85f2(0x1a8))[_0x4b85f2(0x1c3)]();if(_0x5c7483===_0x3e223a[_0x4b85f2(0x1ae)])return _0x5f13c4+'/'+_0x37a605+'/'+_0x1923eb;else{if(_0x5c7483===_0x4b85f2(0x1cc))return _0x37a605+'/'+_0x5f13c4+'/'+_0x1923eb;else{if(_0x3e223a[_0x4b85f2(0x1b3)](_0x5c7483,_0x3e223a['BWqSs']))return _0x1923eb+'-'+_0x37a605+'-'+_0x5f13c4;else{if(_0x5c7483==='dd-mm-yyyy')return _0x5f13c4+'-'+_0x37a605+'-'+_0x1923eb;else return _0x3e223a[_0x4b85f2(0x1b1)](_0x5c7483,'yyyy/mm/dd')?_0x1923eb+'/'+_0x37a605+'/'+_0x5f13c4:_0x5f13c4+'/'+_0x37a605+'/'+_0x1923eb;}}}}['parseNumber'](_0x4ce05d){const _0x2ff6c2=a0_0xa5c7a8,_0x333e1f={'oSZOM':'number','iGfZW':_0x2ff6c2(0x1db),'oMZOZ':function(_0x563d3b,_0x856b90){return _0x563d3b(_0x856b90);}};if(typeof _0x4ce05d===_0x333e1f['oSZOM'])return _0x4ce05d;if(typeof _0x4ce05d===_0x333e1f[_0x2ff6c2(0x1c4)]){const _0x3945aa=_0x4ce05d[_0x2ff6c2(0x195)](/[^\d.-]/g,''),_0x148d06=parseFloat(_0x3945aa);if(!_0x333e1f['oMZOZ'](isNaN,_0x148d06))return _0x148d06;}return null;}['preprocessTextColumns'](_0x50d0ac,_0x797f43,_0xb2a617){const _0x122b37=a0_0xa5c7a8,_0x3b5015={'aZvsq':function(_0x5baf3b,_0xc131da){return _0x5baf3b===_0xc131da;},'xiKGq':_0x122b37(0x1da),'rcvPw':function(_0x3e83aa,_0x5f29db){return _0x3e83aa+_0x5f29db;},'ZacUB':function(_0x4f8869,_0x26e185){return _0x4f8869(_0x26e185);}};if(!_0xb2a617)return _0x50d0ac;const _0x4f178b=[];_0x797f43['forEach'](_0x2b617c=>{const _0x4bb5c1=_0x122b37,_0x29b2e3=_0xb2a617[_0x2b617c];_0x29b2e3&&_0x29b2e3['type']&&_0x3b5015[_0x4bb5c1(0x1cb)](_0x29b2e3['type'][_0x4bb5c1(0x1c3)](),_0x3b5015['xiKGq'])&&_0x4f178b[_0x4bb5c1(0x1c7)](_0x2b617c);});if(_0x3b5015[_0x122b37(0x1cb)](_0x4f178b[_0x122b37(0x1ce)],0x0))return _0x50d0ac;return _0x50d0ac['map'](_0x5a3797=>{const _0x2d5b4f={'EKTnT':function(_0x41a5fe,_0x1c446a){return _0x3b5015['rcvPw'](_0x41a5fe,_0x1c446a);},'NXvHQ':function(_0x434a29,_0x2d0bf8){return _0x3b5015['ZacUB'](_0x434a29,_0x2d0bf8);}},_0x4d743d={..._0x5a3797};return _0x4f178b['forEach'](_0x31b451=>{_0x4d743d[_0x31b451]!==null&&_0x4d743d[_0x31b451]!==undefined&&(_0x4d743d[_0x31b451]=_0x2d5b4f['EKTnT']('\x27',_0x2d5b4f['NXvHQ'](String,_0x4d743d[_0x31b451])));}),_0x4d743d;});}['preprocessTextRow'](_0x1f12f2,_0x3db912,_0x11c41e){const _0x58068c=a0_0xa5c7a8,_0x3f4512={'CBdsO':function(_0x1dbb11,_0x4dfd3b){return _0x1dbb11===_0x4dfd3b;},'Gijyh':function(_0x1eb8b2,_0x57ee64){return _0x1eb8b2+_0x57ee64;},'VYQYp':function(_0x3ae628,_0x5ca11f){return _0x3ae628(_0x5ca11f);}};if(!_0x11c41e)return _0x1f12f2;const _0x4e6b23=[];_0x3db912['forEach'](_0x4dca46=>{const _0x399287=a0_0x419f,_0x5be924=_0x11c41e[_0x4dca46];_0x5be924&&_0x5be924[_0x399287(0x1a7)]&&_0x3f4512['CBdsO'](_0x5be924[_0x399287(0x1a7)]['toLowerCase'](),_0x399287(0x1da))&&_0x4e6b23[_0x399287(0x1c7)](_0x4dca46);});if(_0x3f4512[_0x58068c(0x1d5)](_0x4e6b23['length'],0x0))return _0x1f12f2;const _0x5c40f0={..._0x1f12f2};return _0x4e6b23[_0x58068c(0x1b6)](_0x2ac73b=>{const _0x239c6c=_0x58068c;_0x5c40f0[_0x2ac73b]!==null&&_0x5c40f0[_0x2ac73b]!==undefined&&(_0x5c40f0[_0x2ac73b]=_0x3f4512['Gijyh']('\x27',_0x3f4512[_0x239c6c(0x19e)](String,_0x5c40f0[_0x2ac73b])));}),_0x5c40f0;}}module['exports']=ExcelGenerator;
|
|
1
|
+
const a0_0x596c59=a0_0x5139;function a0_0x5139(_0x3f6782,_0x1db541){_0x3f6782=_0x3f6782-0x1c5;const _0x1e67c8=a0_0x1e67();let _0x5139e0=_0x1e67c8[_0x3f6782];if(a0_0x5139['KjsrgD']===undefined){var _0x3c5199=function(_0x9b10c5){const _0x54b32a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x242f8d='',_0x2a1511='';for(let _0x338eef=0x0,_0x59efc7,_0x358222,_0x422a61=0x0;_0x358222=_0x9b10c5['charAt'](_0x422a61++);~_0x358222&&(_0x59efc7=_0x338eef%0x4?_0x59efc7*0x40+_0x358222:_0x358222,_0x338eef++%0x4)?_0x242f8d+=String['fromCharCode'](0xff&_0x59efc7>>(-0x2*_0x338eef&0x6)):0x0){_0x358222=_0x54b32a['indexOf'](_0x358222);}for(let _0xf6bbea=0x0,_0x1690c9=_0x242f8d['length'];_0xf6bbea<_0x1690c9;_0xf6bbea++){_0x2a1511+='%'+('00'+_0x242f8d['charCodeAt'](_0xf6bbea)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2a1511);};a0_0x5139['IDXUjB']=_0x3c5199,a0_0x5139['VQmgLp']={},a0_0x5139['KjsrgD']=!![];}const _0x3f3d5b=_0x1e67c8[0x0],_0x28fcef=_0x3f6782+_0x3f3d5b,_0x2bd5b8=a0_0x5139['VQmgLp'][_0x28fcef];return!_0x2bd5b8?(_0x5139e0=a0_0x5139['IDXUjB'](_0x5139e0),a0_0x5139['VQmgLp'][_0x28fcef]=_0x5139e0):_0x5139e0=_0x2bd5b8,_0x5139e0;}(function(_0x1f64fe,_0x3d7238){const _0x2945c6=a0_0x5139,_0x30b1e3=_0x1f64fe();while(!![]){try{const _0x5c60f9=-parseInt(_0x2945c6(0x1f9))/0x1*(parseInt(_0x2945c6(0x226))/0x2)+-parseInt(_0x2945c6(0x1da))/0x3*(parseInt(_0x2945c6(0x201))/0x4)+-parseInt(_0x2945c6(0x229))/0x5*(parseInt(_0x2945c6(0x20e))/0x6)+-parseInt(_0x2945c6(0x1ca))/0x7*(parseInt(_0x2945c6(0x22a))/0x8)+-parseInt(_0x2945c6(0x1fd))/0x9+parseInt(_0x2945c6(0x1ff))/0xa*(-parseInt(_0x2945c6(0x223))/0xb)+-parseInt(_0x2945c6(0x1ee))/0xc*(-parseInt(_0x2945c6(0x20f))/0xd);if(_0x5c60f9===_0x3d7238)break;else _0x30b1e3['push'](_0x30b1e3['shift']());}catch(_0x3ccadb){_0x30b1e3['push'](_0x30b1e3['shift']());}}}(a0_0x1e67,0x526a0));function a0_0x1e67(){const _0x428728=['C29SAwq','CM91BMq','z2v0vvrdtw9UDgG','u1nzrxC','ywrKv29YA3nOzwv0','v29YA2jVB2TxCML0zxi','s1LZBhG','zw52','CgvYy2vUDgfNzq','mtmZvwXAqLnq','z2v0vvrdrNvSBfLLyxi','A2v5CW','z2v0uM93','z2vUzxjHDgvtDhjLyw1PBMC','zM9YBwf0rgf0zvn0CMLUzW','t1fdD0S','ExL5Es1TBs1Kza','zMLSDgvY','yxv0B0zPBhrLCG','BKrXD2O','Dgv4Da','BNvTyMvY','C2XPy2u','iLjWiciJlcmJma','BLfrrhi','mJiZodu0C1z3y1fL','ALzmsxm','ywrKuM93','Dg9mB3DLCKnHC2u','CgfKu3rHCNq','y3rbDxK','DMfSDwu','C3rYAw5N','zK1Yz2y','ExL5Es9TBs9Kza','z2vUzxjHDgvtAw1WBgu','Aw5MBW','rKzgrKzgrKy','qu5AEum','zM9YrwfJAa','BgvUz3rO','txboAw0','zMLSBa','sxbusvu','z2noENi','mJGXmtm2mtjPA1LMDeW','q3LyDNK','AhbxwMC','CgDuExa','yxbWBhLdzwXSrM9YBwf0DgLUzW','ChvZAa','BwLKzgXL','ywrKuM93CW','CgfYC2voDw1Izxi','lI9SB2DNzxi','C2LTCgXL','nti3ouvzBNPpDW','EgXZEa','zM9UDa','z2v0rxHJzwXgB3jTyxq','ntuYmZm5owL5AfL1AW','v29YA2jVB2S','mtaXmtGXmeDhseTtqW','qvH1DKG','ogDpDK5nrq','zM9YBwf0sgvHzgvY','ChjLChjVy2vZC1rLEhrsB3C','rgf0yq','v3Hxugy','Bw0VzgqVExL5Eq','DhLWzq','zxHJzwXQCW','ELHqqLG','y29TBwL0','z2vUzxjHDgu','zM9YBwf0q2vSBa','tMzewvC','mtq0mtjTqLrcy3O','mtnhuwnvwwe','rNrPCK0','rxHJzwWGz2vUzxjHDgLVBIbZDgfYDgvK','z2v0q2vSBa','y2vPBa','z2v0vgLTzq','zgvIDwC','iYWJiZaUmda','BwfW','mc4Wmcu','ugnqrLG','y2H1BMTtAxPL','zxHJzwXFz2vUzxjHDgLVBL9ZDgfYDa','AM9PBG','uhjVy2vZC2vKia','y2vUDgvY','BgHQvuK','Dg9vChbLCKnHC2u','r29NrNK','zgqVBw0VExL5Eq','mtf4BwHgsue','Bwf0y2G','C3r5Bgu','mJi0q1vlv1zb','z0XOENu','vKDUEwW','ntGWwKzOwLbk','mte0mJaWzxvozxrm','zxHJzwXFy2H1BMTFChjVy2vZC2vK','sNzksNG','Cgf0DgvYBG','yM9Stu8','BNvTrM10','z2v0vvrdrgf0zq','y29SDw1UCW'];a0_0x1e67=function(){return _0x428728;};return a0_0x1e67();}const ExcelJS=require(a0_0x596c59(0x208)),{logger}=require(a0_0x596c59(0x1f7));class ExcelGenerator{constructor(){const _0x552673=a0_0x596c59;this['chunkSize']=parseInt(process[_0x552673(0x1c8)]['EXPORT_CHUNK_SIZE'],0xa)||0x3e8;}async[a0_0x596c59(0x20b)](_0x2c6639){const _0x1a85eb=a0_0x596c59,_0x204b94={'FtirM':_0x1a85eb(0x21b),'JvJJx':'auto'},{data:_0x3619a3,columns:_0x294aaf,columnFormats:_0x3d1f11,fieldLabels:_0x41bcd5,filePath:_0x3927bc,onProgress:_0x586902}=_0x2c6639;logger[_0x1a85eb(0x1e5)]({'event':_0x204b94[_0x1a85eb(0x210)],'rows':_0x3619a3[_0x1a85eb(0x1e9)],'columns':_0x294aaf?.['length']||_0x204b94[_0x1a85eb(0x22c)],'columnFormats':_0x3d1f11?Object[_0x1a85eb(0x1cc)](_0x3d1f11):null,'fieldLabels':_0x41bcd5?Object[_0x1a85eb(0x1cc)](_0x41bcd5):null,'streaming':_0x3619a3[_0x1a85eb(0x1e9)]>this['chunkSize']},_0x1a85eb(0x211));if(_0x3619a3[_0x1a85eb(0x1e9)]<=this['chunkSize'])return await this['generateSimple'](_0x3619a3,_0x294aaf,_0x3d1f11,_0x41bcd5,_0x3927bc,_0x586902);return await this[_0x1a85eb(0x1ce)](_0x3619a3,_0x294aaf,_0x3d1f11,_0x41bcd5,_0x3927bc,_0x586902);}async[a0_0x596c59(0x1e4)](_0x31236d,_0x405660,_0x5f2284,_0x389c93,_0x5c42c7,_0x55d9df){const _0xf252b7=a0_0x596c59,_0x84c6a7={'KYslx':function(_0x3fb377,_0x2ba6e0){return _0x3fb377!==_0x2ba6e0;},'kwwUX':'date','WzTqN':'center','zXPBX':function(_0x2fa90e,_0x4db389){return _0x2fa90e(_0x4db389);},'Nrbbe':'frozen','nDqwj':function(_0x55aa55,_0xae840){return _0x55aa55(_0xae840);}},_0x2081c8=new ExcelJS[(_0xf252b7(0x1fe))](),_0x31b4ee=_0x2081c8[_0xf252b7(0x1c5)](_0xf252b7(0x204)),_0x9d55d0=_0x405660||(_0x31236d[_0xf252b7(0x1e9)]>0x0?Object[_0xf252b7(0x1cc)](_0x31236d[0x0]):[]);_0x31b4ee[_0xf252b7(0x231)]=_0x9d55d0[_0xf252b7(0x217)](_0x464ab6=>{const _0x17bad8=_0xf252b7,_0x2f1106={'header':this[_0x17bad8(0x202)](_0x464ab6,_0x389c93),'key':_0x464ab6,'width':0x14};if(_0x5f2284&&_0x5f2284[_0x464ab6]){const _0x175b35=_0x5f2284[_0x464ab6];if(_0x175b35['type']&&_0x84c6a7[_0x17bad8(0x1c7)](_0x175b35['type'][_0x17bad8(0x1dd)](),_0x84c6a7['kwwUX'])){const _0x4746a9=this[_0x17bad8(0x1fc)](_0x175b35);_0x4746a9&&(_0x2f1106['style']={'numFmt':_0x4746a9});}}return _0x2f1106;}),_0x31b4ee[_0xf252b7(0x1cd)](0x1)[_0xf252b7(0x1fb)]={'bold':!![],'color':{'argb':_0xf252b7(0x1e6)}},_0x31b4ee['getRow'](0x1)[_0xf252b7(0x1eb)]={'type':_0xf252b7(0x22d),'pattern':_0xf252b7(0x232),'fgColor':{'argb':'FF4472C4'}},_0x31b4ee[_0xf252b7(0x1cd)](0x1)['alignment']={'vertical':_0xf252b7(0x1f4),'horizontal':_0x84c6a7['WzTqN']};const _0x400407=_0x5f2284?this['preprocessTextColumns'](_0x31236d,_0x9d55d0,_0x5f2284):_0x31236d;return _0x31b4ee[_0xf252b7(0x1f5)](_0x400407),_0x5f2284&&this['applyCellFormatting'](_0x31b4ee,_0x9d55d0,_0x5f2284,_0x31236d['length']),_0x55d9df&&await _0x84c6a7[_0xf252b7(0x209)](_0x55d9df,0x32),_0x31b4ee[_0xf252b7(0x1d3)]={'from':{'row':0x1,'column':0x1},'to':{'row':0x1,'column':_0x9d55d0[_0xf252b7(0x1e9)]}},_0x31b4ee['views']=[{'state':_0x84c6a7['Nrbbe'],'xSplit':0x0,'ySplit':0x1}],await _0x2081c8[_0xf252b7(0x1fa)]['writeFile'](_0x5c42c7),_0x55d9df&&await _0x84c6a7[_0xf252b7(0x1d4)](_0x55d9df,0x64),logger[_0xf252b7(0x1e5)]({'event':'excel_generation_complete','method':_0xf252b7(0x1f8),'rows':_0x31236d[_0xf252b7(0x1e9)]},'Excel\x20generated\x20(simple\x20method)'),_0x5c42c7;}async['generateStreaming'](_0x2ece69,_0x566311,_0x4b6ae3,_0x28b5ef,_0x369b32,_0x2e332b){const _0x3224d4=a0_0x596c59,_0x178206={'ZVhxy':function(_0x2285db,_0x1c35c3){return _0x2285db+_0x1c35c3;},'IpTIU':'Data','CIVYO':function(_0x16f629,_0x1a45e5){return _0x16f629>_0x1a45e5;},'NfDYW':'FFFFFFFF','ctAuy':'pattern','SoGng':'FF4472C4','CyXvy':_0x3224d4(0x22b),'AGPpK':'excel_generation_complete','wZocl':function(_0xcf2e54,_0x3bf797){return _0xcf2e54/_0x3bf797;},'GogFy':'Excel\x20generated\x20(streaming\x20method)'},_0xc8928e=new ExcelJS['stream']['xlsx'][(_0x3224d4(0x1c6))]({'filename':_0x369b32,'useStyles':!![],'useSharedStrings':!![]}),_0x48b49a=_0xc8928e['addWorksheet'](_0x178206[_0x3224d4(0x1ec)]),_0x2816ff=_0x566311||(_0x178206['CIVYO'](_0x2ece69['length'],0x0)?Object[_0x3224d4(0x1cc)](_0x2ece69[0x0]):[]),_0x3c1d75={};_0x2816ff['forEach']((_0x22a0a5,_0x804b68)=>{_0x3c1d75[_0x22a0a5]=_0x178206['ZVhxy'](_0x804b68,0x1);}),_0x48b49a['columns']=_0x2816ff['map'](_0x5669aa=>{const _0x5cfe9e=_0x3224d4,_0x4a5172={'header':this['formatHeader'](_0x5669aa,_0x28b5ef),'key':_0x5669aa,'width':0x14};if(_0x4b6ae3&&_0x4b6ae3[_0x5669aa]){const _0x45cb92=_0x4b6ae3[_0x5669aa];if(_0x45cb92[_0x5cfe9e(0x207)]&&_0x45cb92[_0x5cfe9e(0x207)][_0x5cfe9e(0x1dd)]()!=='date'){const _0xca9d5d=this[_0x5cfe9e(0x1fc)](_0x45cb92);_0xca9d5d&&(_0x4a5172[_0x5cfe9e(0x225)]={'numFmt':_0xca9d5d});}}return _0x4a5172;});const _0x2daee9=_0x48b49a[_0x3224d4(0x1cd)](0x1);_0x2daee9[_0x3224d4(0x1fb)]={'bold':!![],'color':{'argb':_0x178206[_0x3224d4(0x20d)]}},_0x2daee9[_0x3224d4(0x1eb)]={'type':_0x178206[_0x3224d4(0x1df)],'pattern':_0x3224d4(0x232),'fgColor':{'argb':_0x178206['SoGng']}},_0x2daee9['alignment']={'vertical':'middle','horizontal':_0x3224d4(0x21e)},_0x2daee9['commit']();const _0x25f0e4=_0x2ece69['length'];let _0x4bf030=0x0;for(let _0x113026=0x0;_0x113026<_0x25f0e4;_0x113026+=this['chunkSize']){const _0x155a13=_0x2ece69[_0x3224d4(0x1d7)](_0x113026,_0x113026+this['chunkSize']);for(const _0x1a8419 of _0x155a13){const _0xfcb35b=_0x4b6ae3?this['preprocessTextRow'](_0x1a8419,_0x2816ff,_0x4b6ae3):_0x1a8419,_0x184838=_0x48b49a[_0x3224d4(0x1dc)](_0xfcb35b);_0x4b6ae3&&this['applyRowFormatting'](_0x184838,_0xfcb35b,_0x2816ff,_0x4b6ae3),_0x184838['commit'](),_0x4bf030++;}if(_0x2e332b){const _0x8a32a6=Math[_0x3224d4(0x233)](_0x4bf030/_0x25f0e4*0x64);await _0x2e332b(_0x8a32a6);}logger[_0x3224d4(0x215)]({'event':_0x178206[_0x3224d4(0x1ef)],'processed':_0x4bf030,'total':_0x25f0e4},_0x3224d4(0x21d)+_0x4bf030+'/'+_0x25f0e4+'\x20rows');}return _0x48b49a['commit'](),await _0xc8928e[_0x3224d4(0x20a)](),logger['info']({'event':_0x178206['AGPpK'],'method':'streaming','rows':_0x25f0e4,'chunks':Math[_0x3224d4(0x213)](_0x178206['wZocl'](_0x25f0e4,this[_0x3224d4(0x21a)]))},_0x178206[_0x3224d4(0x221)]),_0x369b32;}[a0_0x596c59(0x202)](_0x21d405,_0x5a0ee8){const _0x4f3fa6=a0_0x596c59;if(_0x5a0ee8&&_0x5a0ee8[_0x21d405])return _0x5a0ee8[_0x21d405];return String(_0x21d405)[_0x4f3fa6(0x220)]();}['validateColumns'](_0x24caa3,_0x129438){const _0x1548cd=a0_0x596c59,_0x37a0ab={'bWCOk':function(_0x2c0e13,_0x2c36cd){return _0x2c0e13===_0x2c36cd;},'gSNan':function(_0x2824a1,_0xf57356){return _0x2824a1>_0xf57356;}};if(!_0x129438||_0x129438[_0x1548cd(0x1e9)]===0x0)return!![];if(_0x37a0ab['bWCOk'](_0x24caa3[_0x1548cd(0x1e9)],0x0))return!![];const _0x27f0a8=Object[_0x1548cd(0x1cc)](_0x24caa3[0x0]),_0x5cbafd=_0x129438[_0x1548cd(0x1d2)](_0x3f4750=>!_0x27f0a8['includes'](_0x3f4750));if(_0x37a0ab['gSNan'](_0x5cbafd['length'],0x0))throw new Error('Invalid\x20columns:\x20'+_0x5cbafd[_0x1548cd(0x21c)](',\x20'));return!![];}['getExcelFormat'](_0x413a79){const _0x189866=a0_0x596c59,_0x228aa8={'ANZyC':'date','hpWZg':_0x189866(0x222),'lhjUI':function(_0x584f1a,_0xaa4fe0){return _0x584f1a||_0xaa4fe0;},'qOZCz':_0x189866(0x1d8)};if(!_0x413a79||!_0x413a79[_0x189866(0x207)])return null;const {type:_0x50bfa2,format:_0x435836}=_0x413a79;switch(_0x50bfa2['toLowerCase']()){case _0x228aa8[_0x189866(0x1e7)]:return _0x435836?_0x435836['toLowerCase']():_0x228aa8[_0x189866(0x1f0)];case _0x189866(0x1d6):return _0x228aa8['lhjUI'](_0x435836,_0x189866(0x216));case'currency':return _0x228aa8['lhjUI'](_0x435836,_0x228aa8['qOZCz']);case _0x189866(0x1c9):return _0x228aa8[_0x189866(0x21f)](_0x435836,_0x189866(0x218));case'text':return'@';default:return null;}}[a0_0x596c59(0x1f2)](_0x81c1fa,_0x40643b,_0x20372c,_0x4fea30){const _0x3c5ced={'VGnyl':function(_0x4185e9,_0x3dba41){return _0x4185e9+_0x3dba41;}};if(!_0x20372c)return;_0x40643b['forEach']((_0x3ae669,_0x5cf33e)=>{const _0x56d57a=a0_0x5139,_0x5f59df=_0x20372c[_0x3ae669];if(!_0x5f59df)return;const _0x181c1e=_0x3c5ced[_0x56d57a(0x228)](_0x5cf33e,0x1);for(let _0x4ff2c1=0x2;_0x4ff2c1<=_0x4fea30+0x1;_0x4ff2c1++){const _0x455633=_0x81c1fa[_0x56d57a(0x212)](_0x4ff2c1,_0x181c1e);this['formatCell'](_0x455633,_0x5f59df);}});}['applyRowFormatting'](_0x15c1fd,_0x23eb39,_0x115a91,_0x5097d0){const _0x400040=a0_0x596c59;if(!_0x5097d0)return;_0x115a91[_0x400040(0x1e8)]((_0xa40c9d,_0x4536e5)=>{const _0x219fed=_0x400040,_0x2e878d=_0x5097d0[_0xa40c9d];if(!_0x2e878d)return;const _0x338493=_0x15c1fd[_0x219fed(0x212)](_0x4536e5+0x1);this['formatCell'](_0x338493,_0x2e878d);});}[a0_0x596c59(0x20c)](_0x51d711,_0x3680a2){const _0x592ff2=a0_0x596c59,_0x568b82={'juTKo':function(_0x33e104,_0x14874e){return _0x33e104===_0x14874e;},'iQrwd':function(_0x17fd3f,_0x16508b){return _0x17fd3f===_0x16508b;},'gcNzr':'currency','jVLIs':function(_0x2aa6d6,_0xe4c8c1){return _0x2aa6d6!==_0xe4c8c1;},'SSYEw':function(_0x267caa,_0x867cd8){return _0x267caa===_0x867cd8;},'pgTyp':_0x592ff2(0x1d5),'XZyCH':_0x592ff2(0x1e1),'tcQIP':'left','LAGCH':'middle'};if(!_0x3680a2||!_0x3680a2['type'])return;const {type:_0x43fdeb,format:_0x74a772}=_0x3680a2;if(_0x568b82['juTKo'](_0x43fdeb['toLowerCase'](),'date')&&_0x51d711['value']){const _0x4370b3=this[_0x592ff2(0x1cf)](_0x51d711['value'],_0x74a772);_0x4370b3&&(_0x51d711[_0x592ff2(0x1e0)]=_0x4370b3);return;}if((_0x568b82['iQrwd'](_0x43fdeb['toLowerCase'](),'number')||_0x43fdeb[_0x592ff2(0x1dd)]()===_0x568b82[_0x592ff2(0x1ed)]||_0x43fdeb[_0x592ff2(0x1dd)]()==='percentage')&&_0x51d711['value']){const _0x40e22b=this[_0x592ff2(0x1f6)](_0x51d711[_0x592ff2(0x1e0)]);if(_0x568b82[_0x592ff2(0x1db)](_0x40e22b,null)){_0x51d711['value']=_0x40e22b;const _0x440b50=this[_0x592ff2(0x1fc)](_0x3680a2);_0x440b50&&(_0x51d711['numFmt']=_0x440b50);}}_0x568b82[_0x592ff2(0x235)](_0x43fdeb['toLowerCase'](),_0x568b82[_0x592ff2(0x1f1)])&&_0x51d711['value']&&(_0x51d711[_0x592ff2(0x22f)]='@',_0x568b82[_0x592ff2(0x1db)](typeof _0x51d711[_0x592ff2(0x1e0)],_0x568b82['XZyCH'])&&(_0x51d711[_0x592ff2(0x1e0)]=String(_0x51d711['value'])),_0x51d711['alignment']={'horizontal':_0x568b82['tcQIP'],'vertical':_0x568b82['LAGCH']});}[a0_0x596c59(0x1cf)](_0x4efdcb,_0x156754){const _0x16208a=a0_0x596c59,_0x36dac7={'MpNim':function(_0x25311e,_0x5baa7e){return _0x25311e+_0x5baa7e;},'PwxMb':function(_0x1e4684,_0x11f727,_0x230505){return _0x1e4684(_0x11f727,_0x230505);},'gLhzu':function(_0x23a9f3,_0x421d63,_0x418f1c){return _0x23a9f3(_0x421d63,_0x418f1c);},'pkqYN':function(_0x92f757,_0x1b574d){return _0x92f757||_0x1b574d;},'ruGaj':function(_0x4576c2,_0x29d465){return _0x4576c2(_0x29d465);},'PcPFX':'DD/MM/YYYY','fMrgf':function(_0x37dc04,_0x33239d){return _0x37dc04===_0x33239d;},'nQQDr':'dd/mm/yyyy','gbzhh':_0x16208a(0x206),'gxsfT':_0x16208a(0x1d1)};if(!_0x4efdcb)return null;let _0x259c08,_0x29afc2,_0x1d7565;if(_0x4efdcb instanceof Date)_0x259c08=_0x4efdcb[_0x16208a(0x1cb)](),_0x29afc2=_0x36dac7[_0x16208a(0x1ea)](_0x4efdcb[_0x16208a(0x234)](),0x1),_0x1d7565=_0x4efdcb['getUTCDate']();else{if(typeof _0x4efdcb==='string'){const _0x5d244f=_0x4efdcb['match'](/^(\d{4})-(\d{2})-(\d{2})/);if(_0x5d244f)_0x259c08=parseInt(_0x5d244f[0x1],0xa),_0x29afc2=_0x36dac7['PwxMb'](parseInt,_0x5d244f[0x2],0xa),_0x1d7565=parseInt(_0x5d244f[0x3],0xa);else{const _0x54ccdb=_0x4efdcb['match'](/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/);if(_0x54ccdb)_0x1d7565=_0x36dac7[_0x16208a(0x227)](parseInt,_0x54ccdb[0x1],0xa),_0x29afc2=parseInt(_0x54ccdb[0x2],0xa),_0x259c08=parseInt(_0x54ccdb[0x3],0xa);else{const _0xa623b7=_0x4efdcb[_0x16208a(0x224)](/^(\d{4})-(\d{1,2})-(\d{1,2})$/);_0xa623b7&&(_0x259c08=parseInt(_0xa623b7[0x1],0xa),_0x29afc2=parseInt(_0xa623b7[0x2],0xa),_0x1d7565=_0x36dac7['PwxMb'](parseInt,_0xa623b7[0x3],0xa));}}}else{if(typeof _0x4efdcb==='number'){const _0x5a219b=new Date(_0x4efdcb);!isNaN(_0x5a219b[_0x16208a(0x214)]())&&(_0x259c08=_0x5a219b['getUTCFullYear'](),_0x29afc2=_0x5a219b['getUTCMonth']()+0x1,_0x1d7565=_0x5a219b[_0x16208a(0x230)]());}}}if(_0x36dac7['pkqYN'](!_0x259c08,!_0x29afc2)||!_0x1d7565)return null;const _0x35fa1e=String(_0x1d7565)[_0x16208a(0x1de)](0x2,'0'),_0x5dee92=_0x36dac7['ruGaj'](String,_0x29afc2)['padStart'](0x2,'0'),_0x58f0b7=_0x36dac7['ruGaj'](String,_0x259c08),_0xff4a13=(_0x156754||_0x36dac7[_0x16208a(0x219)])[_0x16208a(0x1dd)]();if(_0x36dac7[_0x16208a(0x1e2)](_0xff4a13,_0x36dac7[_0x16208a(0x1d9)]))return _0x35fa1e+'/'+_0x5dee92+'/'+_0x58f0b7;else{if(_0xff4a13===_0x36dac7['gbzhh'])return _0x5dee92+'/'+_0x35fa1e+'/'+_0x58f0b7;else{if(_0xff4a13===_0x36dac7['gxsfT'])return _0x58f0b7+'-'+_0x5dee92+'-'+_0x35fa1e;else{if(_0x36dac7['fMrgf'](_0xff4a13,'dd-mm-yyyy'))return _0x35fa1e+'-'+_0x5dee92+'-'+_0x58f0b7;else return _0x36dac7['fMrgf'](_0xff4a13,_0x16208a(0x1e3))?_0x58f0b7+'/'+_0x5dee92+'/'+_0x35fa1e:_0x35fa1e+'/'+_0x5dee92+'/'+_0x58f0b7;}}}}['parseNumber'](_0x4f99b6){const _0x1f1184=a0_0x596c59,_0xda5674={'LgFbs':function(_0x3f1083,_0x34df60){return _0x3f1083===_0x34df60;}};if(typeof _0x4f99b6===_0x1f1184(0x1d6))return _0x4f99b6;if(_0xda5674['LgFbs'](typeof _0x4f99b6,'string')){const _0x429cf6=_0x4f99b6['replace'](/[^\d.-]/g,''),_0x81a205=parseFloat(_0x429cf6);if(!isNaN(_0x81a205))return _0x81a205;}return null;}['preprocessTextColumns'](_0x5d768c,_0x4bbd72,_0xe2208d){const _0x492481=a0_0x596c59,_0xf1d169={'AXuvH':function(_0x4aba48,_0x3f22ca){return _0x4aba48===_0x3f22ca;},'EFpbi':'text','SDaMy':function(_0x58638e,_0x1d84ea){return _0x58638e!==_0x1d84ea;}};if(!_0xe2208d)return _0x5d768c;const _0x4ec46e=[];_0x4bbd72[_0x492481(0x1e8)](_0x252e99=>{const _0x39b707=_0x492481,_0x4b204f=_0xe2208d[_0x252e99];_0x4b204f&&_0x4b204f['type']&&_0xf1d169[_0x39b707(0x200)](_0x4b204f[_0x39b707(0x207)][_0x39b707(0x1dd)](),_0xf1d169['EFpbi'])&&_0x4ec46e[_0x39b707(0x1f3)](_0x252e99);});if(_0xf1d169['AXuvH'](_0x4ec46e['length'],0x0))return _0x5d768c;return _0x5d768c['map'](_0x111b0c=>{const _0xbc247f={'bolMO':function(_0xa807d7,_0xd2d92){return _0xf1d169['SDaMy'](_0xa807d7,_0xd2d92);}},_0x37fdc3={..._0x111b0c};return _0x4ec46e['forEach'](_0x48d755=>{const _0x3ce50e=a0_0x5139;_0xbc247f[_0x3ce50e(0x22e)](_0x37fdc3[_0x48d755],null)&&_0x37fdc3[_0x48d755]!==undefined&&(_0x37fdc3[_0x48d755]='\x27'+String(_0x37fdc3[_0x48d755]));}),_0x37fdc3;});}[a0_0x596c59(0x203)](_0x42aa28,_0xbd4f,_0x3188d2){const _0x4c37d5=a0_0x596c59,_0x29632c={'DNOne':function(_0x200c26,_0x4790df){return _0x200c26===_0x4790df;},'OQCwK':_0x4c37d5(0x1d5),'WxWPf':function(_0x885d1b,_0x52ead6){return _0x885d1b!==_0x52ead6;},'uaFPH':function(_0x427b84,_0x2be025){return _0x427b84(_0x2be025);}};if(!_0x3188d2)return _0x42aa28;const _0x5d517b=[];_0xbd4f[_0x4c37d5(0x1e8)](_0x3c12be=>{const _0x4cfbfe=_0x4c37d5,_0x50b029=_0x3188d2[_0x3c12be];_0x50b029&&_0x50b029[_0x4cfbfe(0x207)]&&_0x29632c['DNOne'](_0x50b029[_0x4cfbfe(0x207)]['toLowerCase'](),_0x29632c[_0x4cfbfe(0x1d0)])&&_0x5d517b['push'](_0x3c12be);});if(_0x5d517b['length']===0x0)return _0x42aa28;const _0x51a5df={..._0x42aa28};return _0x5d517b[_0x4c37d5(0x1e8)](_0x2c8929=>{const _0x1ffbec=_0x4c37d5;_0x29632c[_0x1ffbec(0x205)](_0x51a5df[_0x2c8929],null)&&_0x51a5df[_0x2c8929]!==undefined&&(_0x51a5df[_0x2c8929]='\x27'+_0x29632c['uaFPH'](String,_0x51a5df[_0x2c8929]));}),_0x51a5df;}}module['exports']=ExcelGenerator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a0_0x43db(_0x34e448,_0x46490e){_0x34e448=_0x34e448-0x155;const _0x1f64b2=a0_0x1f64();let _0x43db55=_0x1f64b2[_0x34e448];if(a0_0x43db['rWDVln']===undefined){var _0x420b91=function(_0x30e032){const _0x483f95='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e55d5='',_0x401a53='';for(let _0x539f59=0x0,_0x17e12b,_0x14b4ea,_0x1c2343=0x0;_0x14b4ea=_0x30e032['charAt'](_0x1c2343++);~_0x14b4ea&&(_0x17e12b=_0x539f59%0x4?_0x17e12b*0x40+_0x14b4ea:_0x14b4ea,_0x539f59++%0x4)?_0x2e55d5+=String['fromCharCode'](0xff&_0x17e12b>>(-0x2*_0x539f59&0x6)):0x0){_0x14b4ea=_0x483f95['indexOf'](_0x14b4ea);}for(let _0x3b5f5d=0x0,_0x1ae729=_0x2e55d5['length'];_0x3b5f5d<_0x1ae729;_0x3b5f5d++){_0x401a53+='%'+('00'+_0x2e55d5['charCodeAt'](_0x3b5f5d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x401a53);};a0_0x43db['gHldYv']=_0x420b91,a0_0x43db['lEbtLO']={},a0_0x43db['rWDVln']=!![];}const _0x30d554=_0x1f64b2[0x0],_0x578e1d=_0x34e448+_0x30d554,_0x4a54bb=a0_0x43db['lEbtLO'][_0x578e1d];return!_0x4a54bb?(_0x43db55=a0_0x43db['gHldYv'](_0x43db55),a0_0x43db['lEbtLO'][_0x578e1d]=_0x43db55):_0x43db55=_0x4a54bb,_0x43db55;}function a0_0x1f64(){const _0x1f0d6c=['mJm4nJuXmK1QBw9PCq','vgLgsuO','vwjwr2O','zMLSDgvY','B2jQzwn0','DhjPBq','rMfPBgvKihrVihbHCNnLiev4y2vSigzPBgu6ia','Dg9mB3DLCKnHC2u','m2v3Dxn1tq','BM9YBwfSAxPLq2vSBfzHBhvL','odHyCgTUu3u','mJy5mZi4shzjrNnj','tMnPt3O','CgfYC2vfEgnLBezPBgu','zKvPAMG','ChvZAa','BwvZC2fNzq','mZiWmdi5nLzoBuDoDG','mJa3odGWBeToENjV','AgfZ','lI9SB2DNzxi','CMLJAfrLEhq','ndaXndC3mgD2vgrpAG','z2v0tw9UDgG','EgXZEa','C3rYAw5N','AM9PBG','CgfKu3rHCNq','EMfhrgS','BgvUz3rO','z2v0rgf0zq','BwfW','rMfPBgvKihrVihbHCNnLiev4y2vSigzPBgu','mJa2mdjZtg9vvMW','CMvZDwX0','Bwf0y2G','jdfFjdi','nJC2nZDdDgTktKS','CMvWBgfJzq','ufPhBxq','AeDkzNG','BM9YBwfSAxPLsgvHzgvY','CMvHzezPBgu','zwfJAfjVDW','BeL4Bwe','n05qrKTAwG'];a0_0x1f64=function(){return _0x1f0d6c;};return a0_0x1f64();}const a0_0x251f42=a0_0x43db;(function(_0x42f7b5,_0x15ae1e){const _0x59b987=a0_0x43db,_0x53347b=_0x42f7b5();while(!![]){try{const _0x1dff81=parseInt(_0x59b987(0x157))/0x1*(parseInt(_0x59b987(0x170))/0x2)+parseInt(_0x59b987(0x174))/0x3*(parseInt(_0x59b987(0x159))/0x4)+-parseInt(_0x59b987(0x161))/0x5+-parseInt(_0x59b987(0x15a))/0x6*(-parseInt(_0x59b987(0x17c))/0x7)+-parseInt(_0x59b987(0x160))/0x8+-parseInt(_0x59b987(0x17d))/0x9+parseInt(_0x59b987(0x165))/0xa;if(_0x1dff81===_0x15ae1e)break;else _0x53347b['push'](_0x53347b['shift']());}catch(_0x202cb0){_0x53347b['push'](_0x53347b['shift']());}}}(a0_0x1f64,0x41221));const ExcelJS=require('exceljs'),{logger}=require(a0_0x251f42(0x163));class ExcelParser{async[a0_0x251f42(0x15c)](_0x3dfe98){const _0x4964a8=a0_0x251f42,_0x2aa2a8={'jRLmq':'Excel\x20file\x20parsed\x20successfully','TiFIJ':'excel_parse_error','xyUIF':_0x4964a8(0x16f)};try{const _0x12b928=new ExcelJS['Workbook']();await _0x12b928[_0x4964a8(0x167)][_0x4964a8(0x179)](_0x3dfe98);const _0x3e999d=_0x12b928['worksheets'][0x0];if(!_0x3e999d)throw new Error('No\x20worksheet\x20found\x20in\x20Excel\x20file');const _0x3ae844=[];let _0x59f4a1=[];return _0x3e999d[_0x4964a8(0x17a)]((_0xb80c8c,_0x5c67a0)=>{const _0x48b5b3=_0x4964a8,_0x2f111a=_0xb80c8c['values'];if(_0x5c67a0===0x1)_0x59f4a1=_0x2f111a['slice'](0x1)['map'](_0x1869d8=>this[_0x48b5b3(0x178)](_0x1869d8));else{const _0x20b9c6={};_0x59f4a1['forEach']((_0x3082e0,_0x5046f5)=>{const _0x3d902d=_0x2f111a[_0x5046f5+0x1];_0x20b9c6[_0x3082e0]=this['normalizeCellValue'](_0x3d902d);}),_0x3ae844[_0x48b5b3(0x15e)](_0x20b9c6);}}),logger['info']({'event':'excel_parsed','filePath':_0x3dfe98,'totalRows':_0x3ae844[_0x4964a8(0x16c)],'headers':_0x59f4a1['length']},_0x2aa2a8['jRLmq']),{'headers':_0x59f4a1,'rows':_0x3ae844,'totalRows':_0x3ae844[_0x4964a8(0x16c)]};}catch(_0x2633a4){logger['error']({'event':_0x2aa2a8[_0x4964a8(0x17e)],'filePath':_0x3dfe98,'error':_0x2633a4['message']},_0x2aa2a8['xyUIF']);throw new Error(_0x4964a8(0x155)+_0x2633a4[_0x4964a8(0x15f)]);}}[a0_0x251f42(0x178)](_0x595108){const _0x5a6553=a0_0x251f42,_0x448596={'UbVGj':function(_0x257db2,_0x581d26){return _0x257db2===_0x581d26;},'zaGDk':_0x5a6553(0x173)};if(_0x448596[_0x5a6553(0x17f)](_0x595108,null)||_0x595108===undefined)return'';let _0x26e258=String(_0x595108)['trim']();return _0x26e258=_0x26e258[_0x5a6553(0x175)](/\s+/g,'_')[_0x5a6553(0x175)](/([a-z])([A-Z])/g,_0x448596[_0x5a6553(0x16b)])['replace'](/([A-Z]+)([A-Z][a-z])/g,_0x448596['zaGDk'])[_0x5a6553(0x156)](),_0x26e258;}[a0_0x251f42(0x158)](_0x2556a2){const _0x2cdc05=a0_0x251f42,_0x246473={'fEijh':function(_0x4134fe,_0x39133f){return _0x4134fe===_0x39133f;},'haoid':function(_0x2630c1,_0xd50081){return _0x2630c1+_0xd50081;},'NciOz':function(_0x1b48c5,_0x404b81){return _0x1b48c5(_0x404b81);},'eEJrd':'object','hGJfx':function(_0x4d0e05,_0x49e9d9){return _0x4d0e05===_0x49e9d9;},'PZGmt':_0x2cdc05(0x168)};if(_0x246473[_0x2cdc05(0x15d)](_0x2556a2,null)||_0x2556a2===undefined)return null;if(_0x2556a2 instanceof Date){const _0x546b64=_0x2556a2['getFullYear'](),_0x54b259=String(_0x246473['haoid'](_0x2556a2[_0x2cdc05(0x166)](),0x1))[_0x2cdc05(0x16a)](0x2,'0'),_0x1106df=String(_0x2556a2[_0x2cdc05(0x16d)]())['padStart'](0x2,'0');return _0x546b64+'-'+_0x54b259+'-'+_0x1106df;}if(typeof _0x2556a2===_0x2cdc05(0x168)){const _0x2ae747=_0x2556a2[_0x2cdc05(0x172)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x2ae747){const _0xae1613=String(_0x2ae747[0x1])['padStart'](0x2,'0'),_0x555c80=_0x246473[_0x2cdc05(0x15b)](String,_0x2ae747[0x2])[_0x2cdc05(0x16a)](0x2,'0'),_0x1f1633=_0x2ae747[0x3];return _0x1f1633+'-'+_0x555c80+'-'+_0xae1613;}}if(_0x2556a2&&_0x246473[_0x2cdc05(0x15d)](typeof _0x2556a2,_0x2cdc05(0x181))&&_0x2556a2[_0x2cdc05(0x164)])return _0x2556a2[_0x2cdc05(0x164)][_0x2cdc05(0x16e)](_0x38ecac=>_0x38ecac['text'])[_0x2cdc05(0x169)]('');if(_0x2556a2&&typeof _0x2556a2===_0x246473['eEJrd']&&_0x2556a2['result']!==undefined)return this[_0x2cdc05(0x158)](_0x2556a2[_0x2cdc05(0x171)]);if(_0x246473[_0x2cdc05(0x177)](typeof _0x2556a2,_0x246473[_0x2cdc05(0x176)]))return _0x2556a2[_0x2cdc05(0x182)]();return _0x2556a2;}['validateExcelStructure'](_0x36ab09,_0x496e78){const _0x4ae786=a0_0x251f42,_0x4325b7={'lIxma':function(_0x5249de,_0x1449e9){return _0x5249de===_0x1449e9;}},_0x165896=new Set(_0x36ab09),_0x364947=new Set(_0x496e78),_0x47cd19=_0x496e78[_0x4ae786(0x180)](_0x24d64e=>!_0x165896[_0x4ae786(0x162)](_0x24d64e)),_0x130c48=_0x36ab09[_0x4ae786(0x180)](_0x10b027=>!_0x364947[_0x4ae786(0x162)](_0x10b027)),_0x53d636=_0x4325b7[_0x4ae786(0x17b)](_0x47cd19['length'],0x0);return{'valid':_0x53d636,'missingFields':_0x47cd19,'extraFields':_0x130c48};}}module['exports']=new ExcelParser();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x2c5d82=a0_0x1628;(function(_0x5a5f25,_0x60b3d5){const _0x2bc213=a0_0x1628,_0x4499e8=_0x5a5f25();while(!![]){try{const _0x4a6195=-parseInt(_0x2bc213(0xe3))/0x1+parseInt(_0x2bc213(0xe4))/0x2+parseInt(_0x2bc213(0xfe))/0x3*(parseInt(_0x2bc213(0x14f))/0x4)+parseInt(_0x2bc213(0x10a))/0x5*(-parseInt(_0x2bc213(0x110))/0x6)+parseInt(_0x2bc213(0x146))/0x7+-parseInt(_0x2bc213(0x128))/0x8*(-parseInt(_0x2bc213(0x15e))/0x9)+parseInt(_0x2bc213(0xd9))/0xa*(-parseInt(_0x2bc213(0x112))/0xb);if(_0x4a6195===_0x60b3d5)break;else _0x4499e8['push'](_0x4499e8['shift']());}catch(_0x4a1460){_0x4499e8['push'](_0x4499e8['shift']());}}}(a0_0x3621,0xbbe97));function a0_0x3621(){const _0x6f61bc=['iefticGkicaGifnftevdvca','y29Kzq','Aw5JBhvKzxm','C3vIC3rYAw5N','mJiWmZvzu3PSruy','zxHWB3j0rgLY','AM9Ix2LK','zxHJzwXFy29SDw1UC19MCM9Tx3jLCxvLC3q','zxHWB3j0x2PVyL9JCMvHDgvK','CMvWBgfJzq','zMfPBgvK','C3rYAw5N','A0PmBfi','BgvUz3rO','zMLSztO','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','nJvRtfHRywO','CvbIswy','CgfYyw1Z','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','zgvSzxrLsM9I','zMLSzw5HBwu','mZi5nde4yNnQueXn','Eur0ExC','mti1mdGXsgfhAMHf','zxHWB3j0x3bYB2nLC3nFzxjYB3i','zwTwA0G','zxHLy3v0zvf1zxj5','lI4VlI4Vy29Yzs91DgLSCY9KyG','Dg9mB3DLCKnHC2u','y29SDw1UrM9YBwf0CW','rxHWB3j0igPVyIbJCMvHDgvK','uKLuuKu','Dw5RBM93BL9VCgvYyxrVCG','rxHWB3j0igzPBguGBM90igzVDw5K','ChjVz3jLC3m','u3rHCNrPBMCGzxHWB3j0ignSzwfUDxa','B3jHy2XL','zxH1yMq','BwfW','z3rxyxC','zxHWB3j0x2nSzwfUDxbFC3rHCNq','zxjYB3i','rNjWsuS','zeTNwg4','CMvZB2X2zuv4Cg9YDff1zxj5','mJKZnKfcqu53zq','y3jLyxrLsM9I','lI4Vzgf0ywjHC2uVzgiTBxLZCwW','AM9PBG','CMfUzg9T','ru5pru5u','BuLque0','BwvZC2fNzq','Dg9ju09tDhjPBMC','AfjtsMm','C2fUAxrPEMvwywX1zq','y29UzgL0Aw9UCW','zMLSDgvY','CMvZB2X2zq','Dg9vChbLCKnHC2u','svmGtLvmta','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','CMvHzezPBgvtEw5J','zNDOBhO','ywXS','vxnPBMCG','A2v5CW','vvbqrviO','zxHJzwXFy29SDw1UC19MywXSyMfJAW','Bw9KDwXLtMfTzq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','v0Lusca','l2v4Cg9YDc1KB3DUBg9Hzd9QB2jFAwq9','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','zw52','nJy2otKWoejVCerRwa','t2H4t2q','y29TCgXLDgvK','rMfPBgvKihrVigzLDgnOigrHDge','vxnPBMCGyxv0BY1Nzw5LCMf0zwqGCxvLCNK','shDer2y','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','qvnd','nJiWzKv1z0D3','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','zxHWB3j0x3vZAw5Nx2f1Dg9FCxvLCNK','CM91BMq','AxnbCNjHEq','DhjPBq','Eejrshm','ywnJzxnZ','Aw5MBW','zw5KCg9PBNroyw1L','zxHWB3j0x2nVBxbSzxrLza','rMv0y2HPBMCGzgf0ysbMCM9TigrHDgfIyxnL','CgvUzgLUzW','v3Hwsxu','EvPeEuS','mty0nZLLr0vTtfO','zMLSzv9WyxrO','zgvMyxvSDa','CxnMvNK','zxHWB3j0x3vZAw5Nx2n1C3rVBv9XDwvYEq','C3rHCNrZv2L0Aa','z2v0qwXSsM9ICW','ie9sia','qvvMA0e','D2fYBG','rejFvfLqrq','zxHPC3rZu3LUyW','x2rHDge','lNHSC3G','ze9fz0m','z2vUzxjHDgvfEgnLBa','Dg9tDhjPBMC','uhjWDhy','ChjVBwLZzxm','y3jLyxrLzf9HDa','uwvbvwe','ieLoicG','u3npvgK','zxHWB3j0x2zHAwXLza','mtm3mfvKrMT4sa','rxHWB3j0ihbYB2nLC3nPBMCGzMfPBgvK','rLLpzwC','ChjVy2vZC0PVyG','rxHWB3j0ihnLCNzPy2uGAw5PDgLHBgL6zwq','z2v0sM9I','zw50CMLLCW','qLHpC3a','q3D0B0e','zxHWB3j0x3nLCNzPy2vFAw5PDf9LCNjVCG','mta1ndmWnM9RrhDQuq','mJy2nduYnK1fs1PtrG','rxHWB3j0igzHAwXLza','zxHWB3j0x3f1zxj5x2zPBgvFCMvZB2X2zq','z2vUzxjHDgvkB2jjza','lI4Vy2fJAgLUzY9YzwrPCY1OzwXWzxi','z2v0rMLSzvbHDgG','BMPZzue','zhDqy3m','cIaGicaGicaG','x2v4Cg9YDerPCG','zNzNy24','Dw5SAw5R','q0D5rwq','DxbKyxrLsM9I','tK9uieXjs0u','tg9HzgvKifnrtcbXDwvYEsbMCM9TigzPBguGka','ChjVy2vZC2LUzW','uKXhrwe','y29SDw1UCW','C3rHDhvZ','Cgf0Aa','iefticGkicaGia'];a0_0x3621=function(){return _0x6f61bc;};return a0_0x3621();}const {v7:uuidv7}=require('uuid'),path=require(a0_0x2c5d82(0xf8)),fs=require('fs')[a0_0x2c5d82(0x170)],fsSync=require('fs'),redisHelper=require(a0_0x2c5d82(0xe8)),{logger,logError}=require('../../core/utils/logger'),dbType=(process['env'][a0_0x2c5d82(0x168)]||'postgresql')[a0_0x2c5d82(0x117)]();let executeQuery;function a0_0x1628(_0x97af1a,_0x99e0bd){_0x97af1a=_0x97af1a-0xd9;const _0x36217b=a0_0x3621();let _0x16280d=_0x36217b[_0x97af1a];if(a0_0x1628['TCrIbm']===undefined){var _0x395f4d=function(_0x360754){const _0xd0e536='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3feece='',_0x1f2a00='';for(let _0x13a486=0x0,_0x4bf63a,_0x2f2038,_0x47c9db=0x0;_0x2f2038=_0x360754['charAt'](_0x47c9db++);~_0x2f2038&&(_0x4bf63a=_0x13a486%0x4?_0x4bf63a*0x40+_0x2f2038:_0x2f2038,_0x13a486++%0x4)?_0x3feece+=String['fromCharCode'](0xff&_0x4bf63a>>(-0x2*_0x13a486&0x6)):0x0){_0x2f2038=_0xd0e536['indexOf'](_0x2f2038);}for(let _0x533b2e=0x0,_0x505548=_0x3feece['length'];_0x533b2e<_0x505548;_0x533b2e++){_0x1f2a00+='%'+('00'+_0x3feece['charCodeAt'](_0x533b2e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f2a00);};a0_0x1628['HGDlyk']=_0x395f4d,a0_0x1628['kfRHOe']={},a0_0x1628['TCrIbm']=!![];}const _0x593d7a=_0x36217b[0x0],_0x2b771b=_0x97af1a+_0x593d7a,_0x2c06bc=a0_0x1628['kfRHOe'][_0x2b771b];return!_0x2c06bc?(_0x16280d=a0_0x1628['HGDlyk'](_0x16280d),a0_0x1628['kfRHOe'][_0x2b771b]=_0x16280d):_0x16280d=_0x2c06bc,_0x16280d;}if(dbType===a0_0x2c5d82(0x11f)){const oracleDb=require('../database/db-oracle');executeQuery=(_0x5a0f52,_0x349042)=>oracleDb[a0_0x2c5d82(0x115)](_0x5a0f52,_0x349042);}else{if(dbType==='mysql'){const mysqlDb=require(a0_0x2c5d82(0x12a));executeQuery=(_0x22d72b,_0x2c1003)=>mysqlDb[a0_0x2c5d82(0x115)](_0x22d72b,_0x2c1003);}else executeQuery=require(a0_0x2c5d82(0x116))['executeQuery'];}class ExportService{constructor(){const _0x18d4ba=a0_0x2c5d82;this[_0x18d4ba(0xed)]=null;}get[a0_0x2c5d82(0xff)](){const _0x378067=a0_0x2c5d82,_0x58cfe6={'SsOTi':_0x378067(0xdd),'exubd':function(_0x2276c7,_0x4e434e,_0x4aea4e,_0x589ae7){return _0x2276c7(_0x4e434e,_0x4aea4e,_0x589ae7);},'gtWaw':_0x378067(0xe2)};if(!this[_0x378067(0xed)]){const _0x1d9854=process['env'][_0x378067(0x141)]||_0x378067(0x160);this['_exportDir']=process[_0x378067(0x145)]['EXPORT_DIR']||path['join'](__dirname,'../../exports/'+_0x1d9854);try{!fsSync['existsSync'](this['_exportDir'])&&fsSync['mkdirSync'](this['_exportDir'],{'recursive':!![]}),logger[_0x378067(0x157)]({'event':'export_service_init','dir':this[_0x378067(0xed)]},_0x58cfe6[_0x378067(0x174)]);}catch(_0x159926){_0x58cfe6[_0x378067(0x120)](logError,_0x159926,{'event':_0x58cfe6[_0x378067(0x122)]},'Failed\x20to\x20initialize\x20export\x20service');}}return this[_0x378067(0xed)];}['resolveExportQuery'](_0x45868e,_0xa16253=null){const _0x39289d=a0_0x2c5d82,_0x4bf5c8={'YkWVo':'Invalid\x20file:\x20reference\x20-\x20path\x20is\x20empty','eVCzt':'utf8','rGhsT':'export_query_file_loaded','OhxOd':function(_0x2cf35e,_0xf88788){return _0x2cf35e===_0xf88788;},'dOEgC':_0x39289d(0x12d)};if(!_0x45868e||typeof _0x45868e!==_0x39289d(0x105))return _0x45868e;const _0xe8948=_0x45868e['trim']();if(!_0xe8948['startsWith']('file:'))return _0xe8948;const _0x5a573a=_0xe8948['replace'](/^file:/,'')['trim']();if(!_0x5a573a)throw new Error(_0x4bf5c8['YkWVo']);const _0x1098e2=_0xa16253||path['join'](process['cwd'](),'payload'),_0x51d369=path[_0x39289d(0x135)](_0x1098e2,_0x5a573a);logger['info']({'event':_0x39289d(0xe6),'relativePath':_0x5a573a,'baseDir':_0x1098e2,'absolutePath':_0x51d369},_0x39289d(0x14c)+_0x5a573a);if(!fsSync[_0x39289d(0x169)](_0x51d369))throw new Error(_0x39289d(0x144)+_0x51d369);try{const _0x25ae18=fsSync[_0x39289d(0x139)](_0x51d369,_0x4bf5c8['eVCzt']);if(!_0x25ae18||!_0x25ae18['trim']())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x51d369);return logger['info']({'event':_0x4bf5c8['rGhsT'],'file':_0x51d369,'queryLength':_0x25ae18['length']},_0x39289d(0xf3)+_0x25ae18['length']+'\x20chars)'),_0x25ae18['trim']();}catch(_0x24f8ff){if(_0x4bf5c8[_0x39289d(0x147)](_0x24f8ff[_0x39289d(0xfb)],_0x4bf5c8[_0x39289d(0x16c)]))throw new Error(_0x39289d(0x144)+_0x51d369);throw new Error('Failed\x20to\x20read\x20export\x20query\x20file:\x20'+_0x24f8ff[_0x39289d(0x12f)]);}}[a0_0x2c5d82(0xe7)](){const _0x468b95=a0_0x2c5d82,_0x3fa482={'yDtyw':function(_0x467157){return _0x467157();},'iIsiH':function(_0x2d3df3,_0x2070a3){return _0x2d3df3+_0x2070a3;}},_0x3e35fd=_0x468b95(0x10d),_0x81f87f=Date['now']()[_0x468b95(0x16e)](0x24),_0x8c00=_0x3fa482[_0x468b95(0x111)](uuidv7)[_0x468b95(0x103)](/-/g,'')[_0x468b95(0xfd)](0x0,0xc-_0x81f87f[_0x468b95(0x107)]),_0x27826b=_0x3fa482['iIsiH'](_0x81f87f,_0x8c00)['substring'](0x0,0xc);let _0x36b22a='';for(let _0x1cb1b6=0x0;_0x1cb1b6<0xc;_0x1cb1b6++){_0x27826b[_0x1cb1b6]?_0x36b22a+=_0x27826b[_0x1cb1b6]:_0x36b22a+=_0x3e35fd['charAt'](Math['floor'](Math[_0x468b95(0x12c)]()*_0x3e35fd[_0x468b95(0x107)]));}return _0x36b22a;}async[a0_0x2c5d82(0x129)](_0x1b1b2e){const _0x43518b=a0_0x2c5d82,_0x3403e3={'WFCLH':function(_0x49edef,_0x2be555,_0x374356,_0x3a8e35){return _0x49edef(_0x2be555,_0x374356,_0x3a8e35);},'cQqbD':_0x43518b(0x113),'BXOsp':_0x43518b(0xda),'yZDyK':_0x43518b(0x15b),'hqDjm':_0x43518b(0x102)},_0x100ab2=this['generateJobId'](),_0xcd80aa={'job_id':_0x100ab2,'status':_0x3403e3[_0x43518b(0x15d)],'progress':0x0,'created_at':new Date()[_0x43518b(0x130)](),'params':_0x1b1b2e,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x100ab2,_0xcd80aa),logger[_0x43518b(0x157)]({'event':_0x3403e3['hqDjm'],'jobId':_0x100ab2,'params':_0x1b1b2e},_0x43518b(0x119)),this[_0x43518b(0xdc)](_0x100ab2,_0x1b1b2e)['catch'](_0x3bb498=>{const _0x2260d5=_0x43518b;_0x3403e3['WFCLH'](logError,_0x3bb498,{'event':_0x3403e3['cQqbD'],'jobId':_0x100ab2},_0x3403e3[_0x2260d5(0xe0)]);}),{'job_id':_0x100ab2,'status':_0x3403e3['yZDyK']};}async['getJobStatus'](_0x5d5a90){const _0x6c90e9=a0_0x2c5d82,_0x826e0e={'HwDGf':function(_0xb0d1dd,_0x2eb375){return _0xb0d1dd===_0x2eb375;},'fgSsx':_0x6c90e9(0x148)},_0x39efa6=await redisHelper[_0x6c90e9(0xde)](_0x5d5a90);if(!_0x39efa6)return{'success':![],'error':'Job\x20not\x20found\x20or\x20expired'};return{'success':!![],'data':{'job_id':_0x39efa6[_0x6c90e9(0x100)],'status':_0x39efa6[_0x6c90e9(0xf7)],'progress':_0x39efa6[_0x6c90e9(0x11d)],'total_rows':_0x39efa6['total_rows'],'processed_rows':_0x39efa6['processed_rows'],'file_url':_0x826e0e[_0x6c90e9(0x14b)](_0x39efa6[_0x6c90e9(0xf7)],_0x826e0e['fgSsx'])?'/api/'+_0x39efa6[_0x6c90e9(0x10c)][_0x6c90e9(0x140)]+'/'+_0x39efa6[_0x6c90e9(0x10c)][_0x6c90e9(0x158)]+_0x6c90e9(0x143)+_0x5d5a90:null,'error':_0x39efa6[_0x6c90e9(0x124)]||null,'created_at':_0x39efa6[_0x6c90e9(0x171)],'completed_at':_0x39efa6['completed_at']||null}};}async['processJob'](_0x14cecd,_0x297207){const _0xa513ec=a0_0x2c5d82,_0x1410d2={'ZhMOO':'Export\x20completed\x20successfully','bXLlh':_0xa513ec(0xe5),'KVjxP':_0xa513ec(0x104)};try{await redisHelper['updateJob'](_0x14cecd,{'status':_0xa513ec(0xf4),'started_at':new Date()['toISOString']()}),logger[_0xa513ec(0x157)]({'event':'export_processing_start','jobId':_0x14cecd},'Export\x20processing\x20started');const _0x42ad96=await this['fetchData'](_0x297207);await redisHelper['updateJob'](_0x14cecd,{'total_rows':_0x42ad96['length']});const _0x3f09dc=await this['generateExcel'](_0x14cecd,_0x42ad96,_0x297207);await redisHelper[_0xa513ec(0xf1)](_0x14cecd,{'status':_0xa513ec(0x148),'progress':0x64,'file_path':_0x3f09dc,'completed_at':new Date()['toISOString']()}),logger[_0xa513ec(0x157)]({'event':_0xa513ec(0x159),'jobId':_0x14cecd,'rows':_0x42ad96['length']},_0x1410d2['ZhMOO']);}catch(_0x185bc4){logError(_0x185bc4,{'event':_0xa513ec(0x175),'jobId':_0x14cecd},_0x1410d2['bXLlh']),await redisHelper['updateJob'](_0x14cecd,{'status':_0x1410d2['KVjxP'],'error':_0x185bc4[_0xa513ec(0x12f)],'failed_at':new Date()[_0xa513ec(0x130)]()});}}async['fetchData'](_0x5b0d2b){const _0x313189=a0_0x2c5d82,_0x3fcfce={'PLnZl':function(_0x499f37,_0x32e241){return _0x499f37===_0x32e241;},'AUfkA':_0x313189(0x109),'tMTHc':_0x313189(0x16a),'zqzSR':_0x313189(0x108),'hXHKX':_0x313189(0x162),'CGyEd':'Using\x20custom\x20exportQuery','dwPcs':_0x313189(0x151),'cCDwH':_0x313189(0x14a),'XTnnB':_0x313189(0x13b),'njseA':function(_0x48d9c4,_0x3b9d6f){return _0x48d9c4>_0x3b9d6f;},'RITRE':_0x313189(0x15a),'kJLlR':_0x313189(0x11f),'LgKwb':'export_fetch_complete','hRSJc':'Data\x20fetched\x20successfully','UmWXC':function(_0x3d9b40,_0x3e0d16,_0x15b748,_0x531f29){return _0x3d9b40(_0x3e0d16,_0x15b748,_0x531f29);},'vcbAC':_0x313189(0x149)};try{const {tableName:_0x40b9f7,columns:_0x2f1401,exportQuery:_0x5b836e,where:_0x391f78,sort_columns:_0x5132e5}=_0x5b0d2b;if(!_0x40b9f7||!_0x2f1401||_0x3fcfce['PLnZl'](_0x2f1401['length'],0x0))throw new Error(_0x3fcfce[_0x313189(0x166)]);const _0x23a055=_0x40b9f7['replace'](/\./g,'_')+_0x3fcfce['tMTHc'];let _0x5e85a7;if(_0x5b836e&&_0x5b836e['trim']()){let _0x1f74a7=_0x5b836e;_0x5b836e[_0x313189(0x154)]()[_0x313189(0x163)](_0x3fcfce['zqzSR'])&&(_0x1f74a7=this[_0x313189(0x127)](_0x5b836e)),_0x5e85a7=_0x313189(0x142)+_0x23a055+_0x313189(0xf9)+_0x1f74a7+'\x0a)',logger[_0x313189(0x157)]({'event':_0x3fcfce['hXHKX'],'query':_0x1f74a7['substring'](0x0,0x64)},_0x3fcfce[_0x313189(0xf0)]);}else{const _0x5551f3=_0x2f1401[_0x313189(0x121)](_0x193b88=>_0x313189(0xec)+_0x193b88)['join'](',');_0x5e85a7=_0x313189(0x142)+_0x23a055+_0x313189(0xfa)+_0x5551f3+'\x0a\x20\x20\x20\x20FROM\x20'+_0x40b9f7+'\x0a)',logger[_0x313189(0x157)]({'event':_0x3fcfce[_0x313189(0xeb)],'tableName':_0x40b9f7,'columnCount':_0x2f1401[_0x313189(0x107)]},_0x3fcfce['cCDwH']);}const _0x28c7d6=!_0x2f1401||_0x2f1401['length']===0x0||_0x2f1401['length']===0x1&&(_0x2f1401[0x0]==='*'||_0x2f1401[0x0]['toLowerCase']()===_0x3fcfce['XTnnB']),_0xb93905=_0x28c7d6?'*':_0x2f1401['join'](',\x20');_0x5e85a7+='\x0aSELECT\x20'+_0xb93905+'\x0aFROM\x20'+_0x23a055;if(_0x391f78){const _0x49492d=this['buildWhereClause'](_0x391f78);_0x49492d&&(_0x5e85a7+='\x0aWHERE\x20'+_0x49492d);}if(_0x5132e5&&_0x3fcfce[_0x313189(0xea)](_0x5132e5['length'],0x0)){const _0x3585a2=this['buildOrderByClause'](_0x5132e5);_0x3585a2&&(_0x5e85a7+='\x0aORDER\x20BY\x20'+_0x3585a2);}logger[_0x313189(0x157)]({'event':'export_fetch_start','query':_0x5e85a7[_0x313189(0xfd)](0x0,0xc8)},_0x3fcfce[_0x313189(0x11a)]);const _0x2e4766=await executeQuery(_0x5e85a7);let _0x398657=_0x2e4766;return _0x3fcfce['PLnZl'](dbType,_0x3fcfce[_0x313189(0x106)])&&_0x2e4766&&_0x2e4766['length']>0x0&&(_0x398657=_0x2e4766[_0x313189(0x121)](_0x1e6618=>{const _0x272811=_0x313189,_0x5576cd={};for(const [_0x287066,_0x459408]of Object[_0x272811(0xdf)](_0x1e6618)){_0x5576cd[_0x287066[_0x272811(0x117)]()]=_0x459408;}return _0x5576cd;})),logger[_0x313189(0x157)]({'event':_0x3fcfce['LgKwb'],'rows':_0x398657[_0x313189(0x107)]},_0x3fcfce[_0x313189(0x131)]),_0x398657;}catch(_0x4e1ea7){_0x3fcfce['UmWXC'](logError,_0x4e1ea7,{'event':'export_fetch_error'},_0x3fcfce['vcbAC']);throw _0x4e1ea7;}}['sanitizeValue'](_0xf60def){const _0x548406=a0_0x2c5d82,_0x35b496={'xBQHs':function(_0x2458cb,_0x45d643){return _0x2458cb===_0x45d643;},'xmCUP':'string'};if(_0x35b496[_0x548406(0x155)](typeof _0xf60def,_0x35b496['xmCUP']))return _0xf60def['replace'](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array['isArray'](_0xf60def))return _0xf60def['map'](_0x43e54e=>this[_0x548406(0x132)](_0x43e54e));}return _0xf60def;}['buildWhereClause'](_0x5e5053){const _0x466a62=a0_0x2c5d82,_0x4db394={'fYRzp':function(_0x309e3f,_0x1eff2b){return _0x309e3f===_0x1eff2b;},'OiyyL':'string','CwtoA':function(_0x138ef9,_0x3db86f){return _0x138ef9===_0x3db86f;},'rUVqn':function(_0x59d684,_0x3d155f){return _0x59d684===_0x3d155f;},'qsfVy':'LIKE','kuBXv':_0x466a62(0x137),'FYOeg':_0x466a62(0x11b),'RLGEa':_0x466a62(0x165)};if(!_0x5e5053||!_0x5e5053[_0x466a62(0x133)]||_0x5e5053[_0x466a62(0x133)][_0x466a62(0x107)]===0x0)return'';const {logic:_0x2c06b1,conditions:_0x2c0ef3}=_0x5e5053,_0x2e4ef2=_0x2c06b1&&_0x2c06b1[_0x466a62(0x136)]()==='OR'?_0x4db394[_0x466a62(0xf5)]:'\x20AND\x20',_0x3ea47f=_0x2c0ef3[_0x466a62(0x121)](_0x3a74be=>{const _0x2034a2=_0x466a62,{key:_0x333d8e,operator:_0x105440,value:_0x43ab3f,sensitive:_0x5c1c69}=_0x3a74be;if(!_0x333d8e||!_0x105440)return logger[_0x2034a2(0x167)]({'event':'invalid_condition','condition':_0x3a74be},'Skipping\x20invalid\x20condition'),null;const _0x3d068e=this['sanitizeValue'](_0x43ab3f),_0x46b43d=_0x5c1c69!==undefined?_0x5c1c69:!![];let _0x2f568e=_0x333d8e,_0x15361b=_0x3d068e;!_0x46b43d&&(_0x2f568e=_0x2034a2(0x13e)+_0x333d8e+')',_0x4db394[_0x2034a2(0xe1)](typeof _0x43ab3f,_0x2034a2(0x105))&&(_0x15361b=_0x43ab3f[_0x2034a2(0x136)]()));const _0x53660b=_0x4db394['rUVqn'](typeof _0x15361b,_0x2034a2(0x105))?'\x27'+_0x15361b['replace'](/'/g,'\x27\x27')+'\x27':_0x15361b;switch(_0x105440['toUpperCase']()){case'=':case'!=':case'<>':return _0x2f568e+'\x20'+_0x105440+'\x20'+_0x53660b;case'>':case'<':case'>=':case'<=':const _0x2dab05=typeof _0x3d068e===_0x4db394['OiyyL']?'\x27'+_0x3d068e['replace'](/'/g,'\x27\x27')+'\x27':_0x3d068e;return _0x333d8e+'\x20'+_0x105440+'\x20'+_0x2dab05;case _0x4db394[_0x2034a2(0x161)]:case _0x2034a2(0xf2):return _0x2f568e+'\x20'+_0x105440+'\x20'+_0x53660b;case'IN':if(Array[_0x2034a2(0x153)](_0x3d068e)){let _0x52cabe;return!_0x46b43d?_0x52cabe=_0x3d068e[_0x2034a2(0x121)](_0x497ff6=>{const _0x25f6c6=_0x2034a2,_0x1deb7b=_0x4db394['fYRzp'](typeof _0x497ff6,_0x4db394['OiyyL'])?_0x497ff6[_0x25f6c6(0x136)]():_0x497ff6;return _0x4db394['fYRzp'](typeof _0x1deb7b,_0x25f6c6(0x105))?'\x27'+_0x1deb7b['replace'](/'/g,'\x27\x27')+'\x27':_0x1deb7b;})[_0x2034a2(0x12b)](',\x20'):_0x52cabe=_0x3d068e[_0x2034a2(0x121)](_0x2c8e5a=>typeof _0x2c8e5a===_0x2034a2(0x105)?'\x27'+_0x2c8e5a['replace'](/'/g,'\x27\x27')+'\x27':_0x2c8e5a)[_0x2034a2(0x12b)](',\x20'),_0x2f568e+'\x20IN\x20('+_0x52cabe+')';}return _0x2f568e+_0x2034a2(0x173)+_0x53660b+')';case _0x4db394['kuBXv']:return _0x333d8e+'\x20IS\x20NULL';case'IS\x20NOT\x20NULL':return _0x333d8e+'\x20IS\x20NOT\x20NULL';default:logger['warn']({'event':_0x4db394[_0x2034a2(0xdb)],'operator':_0x105440},_0x2034a2(0x138));return _0x2f568e+'\x20=\x20'+_0x53660b;}})['filter'](_0x102ade=>_0x102ade!==null);if(_0x3ea47f['length']===0x0)return'';return _0x3ea47f[_0x466a62(0x12b)](_0x2e4ef2);}['buildOrderByClause'](_0x5e299f){const _0x19147a={'VipHo':'invalid_order'};if(!_0x5e299f||_0x5e299f['length']===0x0)return'';const _0x1d1137=_0x5e299f['map'](_0x1f4907=>{const _0x385a48=a0_0x1628,{column:_0x3c5dc0,direction:_0x217b96}=_0x1f4907;if(!_0x3c5dc0)return logger['warn']({'event':_0x19147a['VipHo'],'item':_0x1f4907},'Skipping\x20invalid\x20order\x20clause'),null;const _0x3fbaa7=_0x217b96&&_0x217b96[_0x385a48(0x136)]()==='DESC'?'DESC':_0x385a48(0x14e);return _0x3c5dc0+'\x20'+_0x3fbaa7;})['filter'](_0x3aeb33=>_0x3aeb33!==null);if(_0x1d1137['length']===0x0)return'';return _0x1d1137['join'](',\x20');}async[a0_0x2c5d82(0x16d)](_0x25af7d,_0x4540f5,_0x5d62fb){const _0x27b8b5=a0_0x2c5d82,_0x6ec115={'QeAUa':function(_0x40b67e,_0x5eb26f){return _0x40b67e/_0x5eb26f;},'WxVIu':function(_0x568352,_0x2f7c63){return _0x568352(_0x2f7c63);},'iLQmc':function(_0x2df4df,_0x3953ae){return _0x2df4df===_0x3953ae;},'eguNx':function(_0x3cbdf6,_0x44b2b2){return _0x3cbdf6===_0x44b2b2;},'xlevi':'all','ekVkH':'excel_columns_select_all','XDPPR':function(_0x3d9cf9,_0x2c91db){return _0x3d9cf9>_0x2c91db;},'MIKxv':_0x27b8b5(0x13f),'dDspr':'excel_columns_from_query_result'},_0xdb3c70=_0x6ec115[_0x27b8b5(0x15c)](require,'./excel-generator'),_0x432b6a=new _0xdb3c70(),_0x75117c=_0x5d62fb['filename']?_0x5d62fb[_0x27b8b5(0x10f)]+'-'+_0x25af7d:'export-'+_0x25af7d,_0x5073ff=path['join'](this['exportDir'],_0x75117c+_0x27b8b5(0x16b));let _0x5453c9=_0x5d62fb[_0x27b8b5(0xf6)];const _0x4d843e=_0x5453c9&&_0x6ec115['iLQmc'](_0x5453c9[_0x27b8b5(0x107)],0x1)&&(_0x6ec115['eguNx'](_0x5453c9[0x0],'*')||_0x5453c9[0x0]['toLowerCase']()===_0x6ec115['xlevi']);if(_0x4540f5['length']>0x0){const _0x318278=Object[_0x27b8b5(0x13d)](_0x4540f5[0x0]);if(_0x4d843e)_0x5453c9=_0x318278,logger['info']({'event':_0x6ec115[_0x27b8b5(0x114)],'columns':_0x5453c9},'Using\x20all\x20'+_0x5453c9['length']+_0x27b8b5(0x150));else{if(_0x5453c9&&_0x5453c9['length']>0x0){const _0x2f329b=_0x5453c9[_0x27b8b5(0x134)](_0x77beab=>_0x318278[_0x27b8b5(0xfc)](_0x77beab));_0x6ec115['XDPPR'](_0x2f329b[_0x27b8b5(0x107)],0x0)?(_0x5453c9=_0x2f329b,logger['info']({'event':_0x27b8b5(0x101),'requestedColumns':_0x5d62fb['columns'],'validColumns':_0x5453c9},_0x27b8b5(0x13c)+_0x5453c9[_0x27b8b5(0x107)]+'\x20columns\x20from\x20request')):(_0x5453c9=_0x318278,logger[_0x27b8b5(0x167)]({'event':_0x6ec115['MIKxv'],'requestedColumns':_0x5d62fb[_0x27b8b5(0xf6)],'availableColumns':_0x318278},'Requested\x20columns\x20not\x20found\x20in\x20data,\x20using\x20all\x20'+_0x318278['length']+'\x20columns'));}else _0x5453c9=_0x318278,logger[_0x27b8b5(0x157)]({'event':_0x6ec115['dDspr'],'columns':_0x5453c9},_0x27b8b5(0x13c)+_0x5453c9[_0x27b8b5(0x107)]+'\x20columns\x20from\x20query\x20result');}}else logger[_0x27b8b5(0x157)]({'event':'excel_columns_from_config','columns':_0x5453c9},'Using\x20'+(_0x5453c9?.[_0x27b8b5(0x107)]||0x0)+'\x20columns\x20from\x20config\x20(no\x20data)');return await _0x432b6a['generate']({'data':_0x4540f5,'columns':_0x5453c9,'columnFormats':_0x5d62fb[_0x27b8b5(0x118)]||null,'fieldLabels':_0x5d62fb['fieldLabels']||null,'filePath':_0x5073ff,'onProgress':async _0x109e76=>{const _0x1e4ac2=_0x27b8b5;await redisHelper[_0x1e4ac2(0xf1)](_0x25af7d,{'progress':Math['round'](_0x109e76),'processed_rows':Math[_0x1e4ac2(0x152)](_0x6ec115[_0x1e4ac2(0x172)](_0x109e76,0x64)*_0x4540f5[_0x1e4ac2(0x107)])});}}),_0x5073ff;}async[a0_0x2c5d82(0xe9)](_0x2d8554){const _0x1b91d3=a0_0x2c5d82,_0x3ea86e={'fwhlz':function(_0x5d0325,_0x5cb48e){return _0x5d0325!==_0x5cb48e;},'mIPPM':_0x1b91d3(0x148),'dKgXn':_0x1b91d3(0x11c)},_0x591b90=await redisHelper['getJob'](_0x2d8554);if(!_0x591b90||_0x3ea86e[_0x1b91d3(0x13a)](_0x591b90[_0x1b91d3(0xf7)],_0x3ea86e[_0x1b91d3(0x12e)]))return null;try{return await fs[_0x1b91d3(0x156)](_0x591b90['file_path']),_0x591b90['file_path'];}catch(_0x294b71){return logError(_0x294b71,{'event':'export_file_not_found','jobId':_0x2d8554,'path':_0x591b90[_0x1b91d3(0x15f)]},_0x3ea86e[_0x1b91d3(0x126)]),null;}}async['cleanup'](){const _0x19003f=a0_0x2c5d82,_0x52c9b9={'Prptv':_0x19003f(0x123),'tpvRj':_0x19003f(0x11e),'FrpIK':function(_0x3ebfa0,_0x63a31){return _0x3ebfa0/_0x63a31;},'GoEVV':function(_0x4f56e7,_0x260432){return _0x4f56e7*_0x260432;},'fvgcn':function(_0x31eb5f,_0x425cad){return _0x31eb5f>_0x425cad;},'FpvFa':'export_file_deleted','qPbIf':'Export\x20file\x20deleted','hlrYb':'export_file_delete_error'};logger[_0x19003f(0x157)]({'event':_0x52c9b9[_0x19003f(0x16f)]},_0x52c9b9['tpvRj']);const _0x4166ce=await redisHelper[_0x19003f(0x164)]();let _0xcc882f=0x0;for(const _0x4eba24 of _0x4166ce){const _0x4fbbc1=new Date(_0x4eba24[_0x19003f(0x171)]),_0x43bb94=new Date(),_0x44bd24=_0x52c9b9[_0x19003f(0x125)](_0x43bb94-_0x4fbbc1,_0x52c9b9['GoEVV'](0x3e8*0x3c,0x3c));if(_0x52c9b9[_0x19003f(0xee)](_0x44bd24,0x1)){if(_0x4eba24[_0x19003f(0x15f)])try{await fs[_0x19003f(0xef)](_0x4eba24[_0x19003f(0x15f)]),logger['info']({'event':_0x52c9b9['FpvFa'],'path':_0x4eba24[_0x19003f(0x15f)]},_0x52c9b9[_0x19003f(0x10b)]);}catch(_0x2465de){logger['warn']({'event':_0x52c9b9['hlrYb'],'path':_0x4eba24[_0x19003f(0x15f)],'error':_0x2465de['message']},_0x19003f(0x14d));}await redisHelper[_0x19003f(0x10e)](_0x4eba24[_0x19003f(0x100)]),_0xcc882f++;}}return logger['info']({'event':'export_cleanup_complete','deleted':_0xcc882f},'Export\x20cleanup\x20completed'),_0xcc882f;}}module['exports']=new ExportService();
|
|
1
|
+
const a0_0x3617cc=a0_0x1788;(function(_0x112768,_0x425138){const _0x116c86=a0_0x1788,_0x6c921b=_0x112768();while(!![]){try{const _0x45226a=-parseInt(_0x116c86(0x1c7))/0x1+parseInt(_0x116c86(0x1f2))/0x2+parseInt(_0x116c86(0x210))/0x3+-parseInt(_0x116c86(0x242))/0x4*(parseInt(_0x116c86(0x1d4))/0x5)+-parseInt(_0x116c86(0x209))/0x6+-parseInt(_0x116c86(0x1db))/0x7*(-parseInt(_0x116c86(0x1f4))/0x8)+parseInt(_0x116c86(0x1d0))/0x9;if(_0x45226a===_0x425138)break;else _0x6c921b['push'](_0x6c921b['shift']());}catch(_0x4e8f79){_0x6c921b['push'](_0x6c921b['shift']());}}}(a0_0x4fa4,0xbdeb1));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')['promises'],fsSync=require('fs'),redisHelper=require(a0_0x3617cc(0x1e9)),{logger,logError}=require(a0_0x3617cc(0x21f)),dbType=(process[a0_0x3617cc(0x238)]['DB_TYPE']||'postgresql')[a0_0x3617cc(0x254)]();let executeQuery;function a0_0x4fa4(){const _0x1eee47=['y29UzgL0Aw9UCW','BMT5u2S','BNDNDK4','zxHJzwXFy29SDw1UC19MCM9Tx3jLCxvLC3q','mtC4mJq1nhjWsLPbua','id0G','ognmB2r0DG','wLLuvfy','CMvZB2X2zq','rxHWB3j0ihf1zxj5igzPBguGAxmGzw1WDhK6ia','CgfYyw1Z','tK9uieXjs0u','Dg9tDhjPBMC','zxHLy3v0zvf1zxj5','Dg90ywXFCM93CW','Dw5RBM93BL9VCgvYyxrVCG','BfvMtLq','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','B3jHy2XL','zMTvrgS','ignVBhvTBNmGzNjVBsbYzxf1zxn0','zMvzvg8','DxbKyxrLsM9I','zMLSzw5HBwu','ignVBhvTBNm','q3Htquu','mtKYnJeYy3HlqvHy','vgnyuuC','rgf0ysbMzxrJAgvKihn1y2nLC3nMDwXSEq','vvbqrviO','yvvewwK','Dg9ju09tDhjPBMC','z2v0rMLSzvbHDgG','mJKXmdKZm1DSwunQzG','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','vvL1seO','zuLoAeK','uMvXDwvZDgvKignVBhvTBNmGBM90igzVDw5KigLUigrHDgeSihvZAw5NigfSBca','Dg9vChbLCKnHC2u','zMXVB3i','Aw5MBW','z2v0sM9I','vfDJCuW','yNvPBgrpCMrLCKj5q2XHDxnL','EM9vEKG','zxHPC3rZu3LUyW','AeD1v0m','C3rHCNrZv2L0Aa','lI4VlI4Vy29Yzs91DgLSCY9SB2DNzxi','y29SDw1UCW','zxHWB3j0rgLY','C3vIC3rYAw5N','BwfW','u2TPChbPBMCGAw52ywXPzcbVCMrLCIbJBgf1C2u','svmGtK9uie5vteW','revtqW','l2v4Cg9YDc1KB3DUBg9Hzd9QB2jFAwq9','iefticGkicaGifnftevdvca','zxHJzwXFy29SDw1UC19MCM9Tx3f1zxj5x3jLC3vSDa','zMLLBgrmywjLBhm','DhjPBq','rNbrwgq','AxnbCNjHEq','yLnMBNK','v0Lusca','Aw52ywXPzf9VCMrLCG','zxHWB3j0x3f1zxj5x2zPBgvFBg9HzgvK','wufmBKK','A0vnzLe','zMLSDgvY','rvvoz3e','ve1TsMS','zMfLv2e','zw52','rxHWB3j0igzHAwXLza','zMLSztO','zMLSzv9WyxrO','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','zxHWB3j0x2zLDgnOx3n0yxj0','C3rYAw5N','zxHWB3j0x2zPBgvFzgvSzxrLza','x2v4Cg9YDerPCG','u2TPChbPBMCGAw52ywXPzcbJB25KAxrPB24','mtq4mty0ng9rtg9AqW','lI4Vzgf0ywjHC2uVzgiTB3jHy2XL','rxHWB3j0igzPBguGzgvSzxrLza','lNHSC3G','zxHWB3j0x2zLDgnOx2vYCM9Y','u1fruey','CKXsr0i','CMvWBgfJzq','wMT5sNe','tLrKz2O','lI4Vzgf0ywjHC2uVzgiTBxLZCwW','zMfPBgvK','C2fUAxrPEMvwywX1zq','wM1JsfK','yNvPBgrxAgvYzunSyxvZzq','AM9PBG','tu1xsKK','vxnPBMCG','Dg9mB3DLCKnHC2u','CKvIshC','Cgf5Bg9Hza','BwvZC2fNzq','z2vUzxjHDgu','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','mtuWmJa3ne1KBhbetq','zw50CMLLCW','C3rHDhvZ','y29TCgXLDgvKx2f0','CgvUzgLUzW','cIaGicbguK9nia','BgvUz3rO','CMvZB2X2zuv4Cg9YDff1zxj5','wNrbAvi','nZGYnda2meTxrNniwG','zxHJzwXFy29SDw1UC19MywXSyMfJAW','D2fYBG','lI9LEgnLBc1Nzw5LCMf0B3i','mJb6BuLnAgC','y29TCgXLDgvK','A2XirNu','rMfPBgvKihrVigzLDgnOigrHDge','rxHWB3j0igPVyIbJCMvHDgvK','z2vUzxjHDgvfEgnLBa','zxHWB3j0x3bYB2nLC3nPBMDFC3rHCNq','nZqZotKYow9lBejnvq','sLP5BgG','zxHWB3j0x3nLCNzPy2vFAw5PDf9LCNjVCG','C05srxe','CMvHzezPBgvtEw5J','sxP2DgG','ieLoicG','zxHWB3j0x2zLDgnOx2nVBxbSzxrL','zNPNzKe','C2v0sM9I','ChjVy2vZC0PVyG','wvrowhC','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','zxHWB3j0x2PVyL9JCMvHDgvK','lI4Vy2fJAgLUzY9YzwrPCY1OzwXWzxi','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','cK9srevsiejzia','ywXS','ENDvrfa'];a0_0x4fa4=function(){return _0x1eee47;};return a0_0x4fa4();}if(dbType===a0_0x3617cc(0x201)){const oracleDb=require(a0_0x3617cc(0x243));executeQuery=(_0x321f17,_0x573a2c)=>oracleDb[a0_0x3617cc(0x1fb)](_0x321f17,_0x573a2c);}else{if(dbType==='mysql'){const mysqlDb=require(a0_0x3617cc(0x24c));executeQuery=(_0x7fa2eb,_0x196822)=>mysqlDb[a0_0x3617cc(0x1fb)](_0x7fa2eb,_0x196822);}else executeQuery=require('../../core/utils/db')['executeQuery'];}function a0_0x1788(_0x2cd31c,_0x1317f7){_0x2cd31c=_0x2cd31c-0x1c5;const _0x4fa4cc=a0_0x4fa4();let _0x178811=_0x4fa4cc[_0x2cd31c];if(a0_0x1788['eCAKwT']===undefined){var _0x32b157=function(_0xa30612){const _0x4f5bcf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5af670='',_0x48bd4f='';for(let _0xe5e045=0x0,_0x4b8055,_0x121a2e,_0x28ac11=0x0;_0x121a2e=_0xa30612['charAt'](_0x28ac11++);~_0x121a2e&&(_0x4b8055=_0xe5e045%0x4?_0x4b8055*0x40+_0x121a2e:_0x121a2e,_0xe5e045++%0x4)?_0x5af670+=String['fromCharCode'](0xff&_0x4b8055>>(-0x2*_0xe5e045&0x6)):0x0){_0x121a2e=_0x4f5bcf['indexOf'](_0x121a2e);}for(let _0x3c2dbc=0x0,_0x4741e3=_0x5af670['length'];_0x3c2dbc<_0x4741e3;_0x3c2dbc++){_0x48bd4f+='%'+('00'+_0x5af670['charCodeAt'](_0x3c2dbc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x48bd4f);};a0_0x1788['oOZnxq']=_0x32b157,a0_0x1788['cmHcbn']={},a0_0x1788['eCAKwT']=!![];}const _0x229c82=_0x4fa4cc[0x0],_0x48072a=_0x2cd31c+_0x229c82,_0x1e4d53=a0_0x1788['cmHcbn'][_0x48072a];return!_0x1e4d53?(_0x178811=a0_0x1788['oOZnxq'](_0x178811),a0_0x1788['cmHcbn'][_0x48072a]=_0x178811):_0x178811=_0x1e4d53,_0x178811;}class ExportService{constructor(){this['_exportDir']=null;}get['exportDir'](){const _0xed68b1=a0_0x3617cc,_0x208eb2={'ldJvo':'default','laUaY':'export_service_init','ZYTTV':'Failed\x20to\x20initialize\x20export\x20service'};if(!this[_0xed68b1(0x240)]){const _0x4936eb=process[_0xed68b1(0x238)]['RESTFORGE_PROJECT_NAME']||_0x208eb2['ldJvo'];this[_0xed68b1(0x240)]=process['env']['EXPORT_DIR']||path[_0xed68b1(0x251)](__dirname,'../../exports/'+_0x4936eb);try{!fsSync[_0xed68b1(0x21c)](this['_exportDir'])&&fsSync['mkdirSync'](this['_exportDir'],{'recursive':!![]}),logger['info']({'event':_0x208eb2['laUaY'],'dir':this['_exportDir']},'Export\x20service\x20initialized');}catch(_0x4d1851){logError(_0x4d1851,{'event':_0xed68b1(0x1dd)},_0x208eb2[_0xed68b1(0x1f5)]);}}return this[_0xed68b1(0x240)];}['resolveExportQuery'](_0xabf56d,_0x563b70=null){const _0x41d5d9=a0_0x3617cc,_0x372dbb={'UOKfJ':_0x41d5d9(0x23e),'GBckZ':_0x41d5d9(0x256),'EUNgq':'export_query_file_resolve','zoUzH':'utf8','mJGaJ':'ENOENT'};if(!_0xabf56d||typeof _0xabf56d!==_0x372dbb['UOKfJ'])return _0xabf56d;const _0x1655e8=_0xabf56d['trim']();if(!_0x1655e8[_0x41d5d9(0x21e)](_0x41d5d9(0x23a)))return _0x1655e8;const _0x34d941=_0x1655e8['replace'](/^file:/,'')['trim']();if(!_0x34d941)throw new Error('Invalid\x20file:\x20reference\x20-\x20path\x20is\x20empty');const _0x18fb2b=_0x563b70||path[_0x41d5d9(0x251)](process['cwd'](),_0x372dbb['GBckZ']),_0x5394cf=path[_0x41d5d9(0x1f6)](_0x18fb2b,_0x34d941);logger['info']({'event':_0x372dbb[_0x41d5d9(0x235)],'relativePath':_0x34d941,'baseDir':_0x18fb2b,'absolutePath':_0x5394cf},_0x41d5d9(0x1c6)+_0x34d941);if(!fsSync['existsSync'](_0x5394cf))throw new Error(_0x41d5d9(0x1e7)+_0x5394cf);try{const _0x233511=fsSync[_0x41d5d9(0x1df)](_0x5394cf,_0x372dbb[_0x41d5d9(0x21b)]);if(!_0x233511||!_0x233511['trim']())throw new Error(_0x41d5d9(0x1f7)+_0x5394cf);return logger['info']({'event':_0x41d5d9(0x231),'file':_0x5394cf,'queryLength':_0x233511[_0x41d5d9(0x1cd)]},'Loaded\x20SQL\x20query\x20from\x20file\x20('+_0x233511[_0x41d5d9(0x1cd)]+'\x20chars)'),_0x233511[_0x41d5d9(0x22b)]();}catch(_0x2afb93){if(_0x2afb93['code']===_0x372dbb['mJGaJ'])throw new Error(_0x41d5d9(0x1e7)+_0x5394cf);throw new Error('Failed\x20to\x20read\x20export\x20query\x20file:\x20'+_0x2afb93[_0x41d5d9(0x257)]);}}['generateJobId'](){const _0x290fe3=a0_0x3617cc,_0x2566d8={'cdiiM':function(_0x31637e){return _0x31637e();},'CxSAE':function(_0x851b3e,_0x1af32b){return _0x851b3e+_0x1af32b;}},_0x2f5939=_0x290fe3(0x200),_0x3c7c5b=Date['now']()[_0x290fe3(0x1fa)](0x24),_0xe1ca9e=_0x2566d8['cdiiM'](uuidv7)[_0x290fe3(0x249)](/-/g,'')[_0x290fe3(0x222)](0x0,0xc-_0x3c7c5b[_0x290fe3(0x1cd)]),_0x125a83=_0x2566d8[_0x290fe3(0x208)](_0x3c7c5b,_0xe1ca9e)[_0x290fe3(0x222)](0x0,0xc);let _0x306f92='';for(let _0x1f5374=0x0;_0x1f5374<0xc;_0x1f5374++){_0x125a83[_0x1f5374]?_0x306f92+=_0x125a83[_0x1f5374]:_0x306f92+=_0x2f5939['charAt'](Math[_0x290fe3(0x216)](Math['random']()*_0x2f5939[_0x290fe3(0x1cd)]));}return _0x306f92;}async['createJob'](_0x10631c){const _0x16084c=a0_0x3617cc,_0x32378e={'kEMfQ':'pending'},_0x3caf06=this['generateJobId'](),_0x4edee8={'job_id':_0x3caf06,'status':_0x16084c(0x1cb),'progress':0x0,'created_at':new Date()[_0x16084c(0x20e)](),'params':_0x10631c,'total_rows':0x0,'processed_rows':0x0};return await redisHelper[_0x16084c(0x1e4)](_0x3caf06,_0x4edee8),logger['info']({'event':_0x16084c(0x1e8),'jobId':_0x3caf06,'params':_0x10631c},_0x16084c(0x1d8)),this[_0x16084c(0x1e5)](_0x3caf06,_0x10631c)['catch'](_0x5da7a8=>{logError(_0x5da7a8,{'event':'export_process_error','jobId':_0x3caf06},'Export\x20processing\x20failed');}),{'job_id':_0x3caf06,'status':_0x32378e[_0x16084c(0x233)]};}async['getJobStatus'](_0x143866){const _0x34e560=a0_0x3617cc,_0x1f1e95={'sNREq':'Job\x20not\x20found\x20or\x20expired','vWoLF':function(_0x4729de,_0x57a169){return _0x4729de===_0x57a169;}},_0xa1a893=await redisHelper['getJob'](_0x143866);if(!_0xa1a893)return{'success':![],'error':_0x1f1e95[_0x34e560(0x1de)]};return{'success':!![],'data':{'job_id':_0xa1a893['job_id'],'status':_0xa1a893['status'],'progress':_0xa1a893['progress'],'total_rows':_0xa1a893[_0x34e560(0x1fc)],'processed_rows':_0xa1a893['processed_rows'],'file_url':_0x1f1e95['vWoLF'](_0xa1a893[_0x34e560(0x1c9)],'completed')?'/api/'+_0xa1a893[_0x34e560(0x1f8)]['moduleName']+'/'+_0xa1a893['params']['endpointName']+_0x34e560(0x227)+_0x143866:null,'error':_0xa1a893['error']||null,'created_at':_0xa1a893['created_at'],'completed_at':_0xa1a893[_0x34e560(0x1ca)]||null}};}async[a0_0x3617cc(0x1e5)](_0x440a2f,_0x445347){const _0x368750=a0_0x3617cc,_0x226db3={'ZmcHY':'completed','FpQXd':'Export\x20completed\x20successfully','TWcqL':_0x368750(0x24d)};try{await redisHelper[_0x368750(0x205)](_0x440a2f,{'status':'processing','started_at':new Date()['toISOString']()}),logger[_0x368750(0x217)]({'event':_0x368750(0x1da),'jobId':_0x440a2f},'Export\x20processing\x20started');const _0x57b3b7=await this['fetchData'](_0x445347);await redisHelper['updateJob'](_0x440a2f,{'total_rows':_0x57b3b7['length']});const _0x2b0bf4=await this[_0x368750(0x1d9)](_0x440a2f,_0x57b3b7,_0x445347);await redisHelper['updateJob'](_0x440a2f,{'status':_0x226db3[_0x368750(0x24f)],'progress':0x64,'file_path':_0x2b0bf4,'completed_at':new Date()[_0x368750(0x20e)]()}),logger[_0x368750(0x217)]({'event':'export_completed','jobId':_0x440a2f,'rows':_0x57b3b7[_0x368750(0x1cd)]},_0x226db3[_0x368750(0x22c)]);}catch(_0x1167e8){logError(_0x1167e8,{'event':'export_failed','jobId':_0x440a2f},_0x368750(0x239)),await redisHelper['updateJob'](_0x440a2f,{'status':_0x226db3[_0x368750(0x219)],'error':_0x1167e8[_0x368750(0x257)],'failed_at':new Date()['toISOString']()});}}async['fetchData'](_0x38012b){const _0x2594e5=a0_0x3617cc,_0x165185={'MMWJI':function(_0x29cb27,_0x27ae48){return _0x29cb27||_0x27ae48;},'hGuWC':_0x2594e5(0x1ea),'klHFu':'_data','uCNFo':_0x2594e5(0x23a),'QWHvM':'Using\x20custom\x20exportQuery','TMmJk':'export_using_auto_query','aUDYi':function(_0x3f80ff,_0x321d1b){return _0x3f80ff===_0x321d1b;},'YTNXw':function(_0x15a0a4,_0x3afe29){return _0x15a0a4===_0x3afe29;},'LEkbd':function(_0x1309bf,_0x5787a2){return _0x1309bf>_0x5787a2;},'yXWtw':'Fetching\x20data\x20from\x20database','szRzt':function(_0x2732fd,_0x206f0d){return _0x2732fd(_0x206f0d);},'fzgfA':_0x2594e5(0x201),'YALnI':function(_0x2edf0b,_0x1ff20f){return _0x2edf0b>_0x1ff20f;},'JZylh':_0x2594e5(0x20b),'NaCwh':function(_0x5aaafe,_0x4f8e69,_0x55c994,_0x4e5ca7){return _0x5aaafe(_0x4f8e69,_0x55c994,_0x4e5ca7);},'sECYo':_0x2594e5(0x1d7)};try{const {tableName:_0x27af7b,columns:_0x4ac24c,exportQuery:_0x40616e,where:_0x56699a,sort_columns:_0x17a73a}=_0x38012b;if(_0x165185[_0x2594e5(0x252)](!_0x27af7b,!_0x4ac24c)||_0x4ac24c['length']===0x0)throw new Error(_0x165185[_0x2594e5(0x21d)]);const _0x49d1ff=_0x27af7b['replace'](/\./g,'_')+_0x165185[_0x2594e5(0x1d6)];let _0x5de8f2;if(_0x40616e&&_0x40616e[_0x2594e5(0x22b)]()){let _0x2c5392=_0x40616e;_0x40616e[_0x2594e5(0x22b)]()[_0x2594e5(0x21e)](_0x165185['uCNFo'])&&(_0x2c5392=this[_0x2594e5(0x1ce)](_0x40616e)),_0x5de8f2='WITH\x20'+_0x49d1ff+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0x2c5392+'\x0a)',logger[_0x2594e5(0x217)]({'event':'export_using_custom_query','query':_0x2c5392['substring'](0x0,0x64)},_0x165185['QWHvM']);}else{const _0x46bac5=_0x4ac24c[_0x2594e5(0x223)](_0x6219d5=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x6219d5)[_0x2594e5(0x251)](',');_0x5de8f2=_0x2594e5(0x22f)+_0x49d1ff+_0x2594e5(0x228)+_0x46bac5+_0x2594e5(0x1cc)+_0x27af7b+'\x0a)',logger['info']({'event':_0x165185[_0x2594e5(0x236)],'tableName':_0x27af7b,'columnCount':_0x4ac24c['length']},'Using\x20auto-generated\x20query');}const _0x14b338=!_0x4ac24c||_0x4ac24c['length']===0x0||_0x165185[_0x2594e5(0x20d)](_0x4ac24c[_0x2594e5(0x1cd)],0x1)&&(_0x165185[_0x2594e5(0x1e6)](_0x4ac24c[0x0],'*')||_0x4ac24c[0x0][_0x2594e5(0x254)]()==='all'),_0x10b17e=_0x14b338?'*':_0x4ac24c[_0x2594e5(0x251)](',\x20');_0x5de8f2+='\x0aSELECT\x20'+_0x10b17e+'\x0aFROM\x20'+_0x49d1ff;if(_0x56699a){const _0x2ef128=this[_0x2594e5(0x250)](_0x56699a);_0x2ef128&&(_0x5de8f2+='\x0aWHERE\x20'+_0x2ef128);}if(_0x17a73a&&_0x165185['LEkbd'](_0x17a73a['length'],0x0)){const _0x41dc0c=this[_0x2594e5(0x21a)](_0x17a73a);_0x41dc0c&&(_0x5de8f2+=_0x2594e5(0x1eb)+_0x41dc0c);}logger['info']({'event':_0x2594e5(0x23d),'query':_0x5de8f2['substring'](0x0,0xc8)},_0x165185['yXWtw']);const _0x5388bc=await _0x165185['szRzt'](executeQuery,_0x5de8f2);let _0x5160c3=_0x5388bc;return dbType===_0x165185[_0x2594e5(0x1e3)]&&_0x5388bc&&_0x165185[_0x2594e5(0x232)](_0x5388bc[_0x2594e5(0x1cd)],0x0)&&(_0x5160c3=_0x5388bc[_0x2594e5(0x223)](_0x46eed2=>{const _0x5516fc=_0x2594e5,_0x2a4dcd={};for(const [_0x18a024,_0x3fb81b]of Object[_0x5516fc(0x1c8)](_0x46eed2)){_0x2a4dcd[_0x18a024[_0x5516fc(0x254)]()]=_0x3fb81b;}return _0x2a4dcd;})),logger[_0x2594e5(0x217)]({'event':_0x2594e5(0x1e2),'rows':_0x5160c3['length']},_0x165185[_0x2594e5(0x1dc)]),_0x5160c3;}catch(_0x3e4186){_0x165185['NaCwh'](logError,_0x3e4186,{'event':_0x2594e5(0x246)},_0x165185['sECYo']);throw _0x3e4186;}}[a0_0x3617cc(0x24e)](_0x28a002){const _0x1c946f=a0_0x3617cc;if(typeof _0x28a002===_0x1c946f(0x23e))return _0x28a002['replace'](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')[_0x1c946f(0x22b)]();else{if(Array[_0x1c946f(0x22d)](_0x28a002))return _0x28a002['map'](_0x2f54aa=>this[_0x1c946f(0x24e)](_0x2f54aa));}return _0x28a002;}['buildWhereClause'](_0x510c62){const _0x9384bc=a0_0x3617cc,_0x583966={'eINhI':'string','rPOpy':function(_0x1341e8,_0x2349dc){return _0x1341e8||_0x2349dc;},'VNlTX':_0x9384bc(0x241),'bSfny':function(_0x50e831,_0x4c2f19){return _0x50e831!==_0x4c2f19;},'jFBUW':function(_0x2627f2,_0x3992a6){return _0x2627f2===_0x3992a6;},'NTdgj':function(_0x521408,_0xf6aa6d){return _0x521408===_0xf6aa6d;},'ZtAiR':_0x9384bc(0x1f9),'HHgWK':'IS\x20NULL','TcXQG':'\x20AND\x20'};if(!_0x510c62||!_0x510c62['conditions']||_0x510c62[_0x9384bc(0x1ee)][_0x9384bc(0x1cd)]===0x0)return'';const {logic:_0x59b094,conditions:_0x11d4f9}=_0x510c62,_0x3891ab=_0x59b094&&_0x583966[_0x9384bc(0x24b)](_0x59b094['toUpperCase'](),'OR')?'\x20OR\x20':_0x583966[_0x9384bc(0x20a)],_0xea6b78=_0x11d4f9[_0x9384bc(0x223)](_0x3b6bdd=>{const _0x4fe8cd=_0x9384bc,_0x3329f6={'KCDpd':_0x583966[_0x4fe8cd(0x213)]},{key:_0x2112e7,operator:_0x3fde07,value:_0x25e248,sensitive:_0x40de02}=_0x3b6bdd;if(_0x583966['rPOpy'](!_0x2112e7,!_0x3fde07))return logger[_0x4fe8cd(0x1d2)]({'event':'invalid_condition','condition':_0x3b6bdd},_0x583966['VNlTX']),null;const _0xa7a49a=this[_0x4fe8cd(0x24e)](_0x25e248),_0xea2f54=_0x583966[_0x4fe8cd(0x22e)](_0x40de02,undefined)?_0x40de02:!![];let _0x496abf=_0x2112e7,_0x3a898a=_0xa7a49a;!_0xea2f54&&(_0x496abf=_0x4fe8cd(0x20c)+_0x2112e7+')',_0x583966['jFBUW'](typeof _0x25e248,_0x4fe8cd(0x23e))&&(_0x3a898a=_0x25e248['toUpperCase']()));const _0x4474a8=typeof _0x3a898a===_0x583966['eINhI']?'\x27'+_0x3a898a['replace'](/'/g,'\x27\x27')+'\x27':_0x3a898a;switch(_0x3fde07['toUpperCase']()){case'=':case'!=':case'<>':return _0x496abf+'\x20'+_0x3fde07+'\x20'+_0x4474a8;case'>':case'<':case'>=':case'<=':const _0x183897=_0x583966[_0x4fe8cd(0x24b)](typeof _0xa7a49a,_0x4fe8cd(0x23e))?'\x27'+_0xa7a49a['replace'](/'/g,'\x27\x27')+'\x27':_0xa7a49a;return _0x2112e7+'\x20'+_0x3fde07+'\x20'+_0x183897;case'LIKE':case _0x583966[_0x4fe8cd(0x1cf)]:return _0x496abf+'\x20'+_0x3fde07+'\x20'+_0x4474a8;case'IN':if(Array[_0x4fe8cd(0x22d)](_0xa7a49a)){let _0x14e5dc;return!_0xea2f54?_0x14e5dc=_0xa7a49a[_0x4fe8cd(0x223)](_0x1e46e8=>{const _0x472080=typeof _0x1e46e8==='string'?_0x1e46e8['toUpperCase']():_0x1e46e8;return typeof _0x472080===_0x3329f6['KCDpd']?'\x27'+_0x472080['replace'](/'/g,'\x27\x27')+'\x27':_0x472080;})[_0x4fe8cd(0x251)](',\x20'):_0x14e5dc=_0xa7a49a[_0x4fe8cd(0x223)](_0x2dc9cf=>typeof _0x2dc9cf==='string'?'\x27'+_0x2dc9cf[_0x4fe8cd(0x249)](/'/g,'\x27\x27')+'\x27':_0x2dc9cf)[_0x4fe8cd(0x251)](',\x20'),_0x496abf+_0x4fe8cd(0x1e1)+_0x14e5dc+')';}return _0x496abf+_0x4fe8cd(0x1e1)+_0x4474a8+')';case _0x583966['HHgWK']:return _0x2112e7+'\x20IS\x20NULL';case _0x4fe8cd(0x225):return _0x2112e7+'\x20IS\x20NOT\x20NULL';default:logger['warn']({'event':_0x4fe8cd(0x1fd),'operator':_0x3fde07},'Unknown\x20operator,\x20using\x20=\x20as\x20default');return _0x496abf+_0x4fe8cd(0x1f3)+_0x4474a8;}})[_0x9384bc(0x234)](_0xc26c2b=>_0xc26c2b!==null);if(_0xea6b78[_0x9384bc(0x1cd)]===0x0)return'';return _0xea6b78[_0x9384bc(0x251)](_0x3891ab);}[a0_0x3617cc(0x21a)](_0x9e3832){const _0x274030=a0_0x3617cc,_0x17d09c={'faeWa':_0x274030(0x224),'XMOSN':function(_0x23608d,_0x484089){return _0x23608d===_0x484089;},'dyNup':'ASC','EmnGX':function(_0x275261,_0x2caee7){return _0x275261===_0x2caee7;}};if(!_0x9e3832||_0x9e3832[_0x274030(0x1cd)]===0x0)return'';const _0x5bed23=_0x9e3832[_0x274030(0x223)](_0x3ca79b=>{const _0x4df473=_0x274030,{column:_0x25537e,direction:_0x1e3c8d}=_0x3ca79b;if(!_0x25537e)return logger['warn']({'event':_0x4df473(0x230),'item':_0x3ca79b},_0x17d09c[_0x4df473(0x237)]),null;const _0x22992f=_0x1e3c8d&&_0x17d09c['XMOSN'](_0x1e3c8d[_0x4df473(0x215)](),'DESC')?_0x4df473(0x226):_0x17d09c['dyNup'];return _0x25537e+'\x20'+_0x22992f;})[_0x274030(0x234)](_0x4c8f21=>_0x4c8f21!==null);if(_0x17d09c['EmnGX'](_0x5bed23[_0x274030(0x1cd)],0x0))return'';return _0x5bed23[_0x274030(0x251)](',\x20');}async['generateExcel'](_0x116344,_0x38a2fe,_0xa1cfdf){const _0x50eb41=a0_0x3617cc,_0x29b86b={'rLRGB':function(_0x2fcf88,_0x2e228a){return _0x2fcf88*_0x2e228a;},'UYuHJ':function(_0x5d4e30,_0x39caec){return _0x5d4e30/_0x39caec;},'Izvth':_0x50eb41(0x1d3),'fkUDk':function(_0x49cf58,_0x1bc251){return _0x49cf58===_0x1bc251;},'nwgvN':function(_0xdb997d,_0x849650){return _0xdb997d>_0x849650;},'nkySk':_0x50eb41(0x1f1),'VCKWZ':_0x50eb41(0x1d1)},_0xef694f=require(_0x29b86b[_0x50eb41(0x1e0)]),_0x330544=new _0xef694f(),_0x3b75bb=_0xa1cfdf[_0x50eb41(0x206)]?_0xa1cfdf['filename']+'-'+_0x116344:'export-'+_0x116344,_0x3cb1ba=path[_0x50eb41(0x251)](this[_0x50eb41(0x221)],_0x3b75bb+_0x50eb41(0x245));let _0x2c7c83=_0xa1cfdf['columns'];const _0x3d4a31=_0x2c7c83&&_0x2c7c83['length']===0x1&&(_0x2c7c83[0x0]==='*'||_0x29b86b[_0x50eb41(0x202)](_0x2c7c83[0x0]['toLowerCase'](),_0x50eb41(0x1ec)));if(_0x29b86b[_0x50eb41(0x1f0)](_0x38a2fe['length'],0x0)){const _0x1abfde=Object['keys'](_0x38a2fe[0x0]);if(_0x3d4a31)_0x2c7c83=_0x1abfde,logger['info']({'event':_0x50eb41(0x23c),'columns':_0x2c7c83},'Using\x20all\x20'+_0x2c7c83['length']+_0x50eb41(0x211));else{if(_0x2c7c83&&_0x2c7c83['length']>0x0){const _0x37651f=_0x2c7c83['filter'](_0x562959=>_0x1abfde['includes'](_0x562959));_0x29b86b[_0x50eb41(0x1f0)](_0x37651f[_0x50eb41(0x1cd)],0x0)?(_0x2c7c83=_0x37651f,logger[_0x50eb41(0x217)]({'event':_0x29b86b[_0x50eb41(0x1ef)],'requestedColumns':_0xa1cfdf['columns'],'validColumns':_0x2c7c83},_0x50eb41(0x253)+_0x2c7c83[_0x50eb41(0x1cd)]+_0x50eb41(0x203))):(_0x2c7c83=_0x1abfde,logger['warn']({'event':_0x29b86b['VCKWZ'],'requestedColumns':_0xa1cfdf[_0x50eb41(0x220)],'availableColumns':_0x1abfde},_0x50eb41(0x214)+_0x1abfde['length']+_0x50eb41(0x207)));}else _0x2c7c83=_0x1abfde,logger['info']({'event':_0x50eb41(0x229),'columns':_0x2c7c83},'Using\x20'+_0x2c7c83['length']+_0x50eb41(0x1ff));}}else logger['info']({'event':'excel_columns_from_config','columns':_0x2c7c83},'Using\x20'+(_0x2c7c83?.[_0x50eb41(0x1cd)]||0x0)+'\x20columns\x20from\x20config\x20(no\x20data)');return await _0x330544[_0x50eb41(0x1c5)]({'data':_0x38a2fe,'columns':_0x2c7c83,'columnFormats':_0xa1cfdf['columnFormats']||null,'fieldLabels':_0xa1cfdf[_0x50eb41(0x22a)]||null,'filePath':_0x3cb1ba,'onProgress':async _0x4cd16e=>{const _0x2a2c0c=_0x50eb41;await redisHelper['updateJob'](_0x116344,{'progress':Math['round'](_0x4cd16e),'processed_rows':Math['round'](_0x29b86b[_0x2a2c0c(0x248)](_0x29b86b[_0x2a2c0c(0x212)](_0x4cd16e,0x64),_0x38a2fe['length']))});}}),_0x3cb1ba;}async[a0_0x3617cc(0x20f)](_0x47edd0){const _0x236c3f=a0_0x3617cc,_0x28699f={'JXDrJ':_0x236c3f(0x1d5),'feYTo':'export_file_not_found','SQQPF':'Export\x20file\x20not\x20found'},_0x14a82e=await redisHelper[_0x236c3f(0x218)](_0x47edd0);if(!_0x14a82e||_0x14a82e['status']!==_0x28699f['JXDrJ'])return null;try{return await fs['access'](_0x14a82e['file_path']),_0x14a82e['file_path'];}catch(_0x2cc06d){return logError(_0x2cc06d,{'event':_0x28699f[_0x236c3f(0x204)],'jobId':_0x47edd0,'path':_0x14a82e[_0x236c3f(0x23b)]},_0x28699f[_0x236c3f(0x247)]),null;}}async['cleanup'](){const _0x2b016c=a0_0x3617cc,_0x462d31={'TlCPX':'Starting\x20export\x20cleanup','lUfNT':function(_0x522b5f,_0x1c1e42){return _0x522b5f/_0x1c1e42;},'zwUDP':function(_0x3c5288,_0x36555f){return _0x3c5288*_0x36555f;},'lZsdu':function(_0xccd61d,_0x111039){return _0xccd61d*_0x111039;},'rEbHw':_0x2b016c(0x23f),'vKNFT':_0x2b016c(0x244),'ZkyJq':'export_file_delete_error'};logger[_0x2b016c(0x217)]({'event':'export_cleanup_start'},_0x462d31['TlCPX']);const _0x54a55a=await redisHelper['getAllJobs']();let _0x16f60b=0x0;for(const _0xf7168c of _0x54a55a){const _0x52b60f=new Date(_0xf7168c['created_at']),_0xc2db34=new Date(),_0xcb09eb=_0x462d31[_0x2b016c(0x1fe)](_0xc2db34-_0x52b60f,_0x462d31[_0x2b016c(0x1ed)](_0x462d31['lZsdu'](0x3e8,0x3c),0x3c));if(_0xcb09eb>0x1){if(_0xf7168c[_0x2b016c(0x23b)])try{await fs['unlink'](_0xf7168c[_0x2b016c(0x23b)]),logger['info']({'event':_0x462d31[_0x2b016c(0x255)],'path':_0xf7168c['file_path']},_0x462d31['vKNFT']);}catch(_0x2013c0){logger['warn']({'event':_0x462d31[_0x2b016c(0x24a)],'path':_0xf7168c['file_path'],'error':_0x2013c0['message']},'Failed\x20to\x20delete\x20export\x20file');}await redisHelper['deleteJob'](_0xf7168c['job_id']),_0x16f60b++;}}return logger['info']({'event':'export_cleanup_complete','deleted':_0x16f60b},'Export\x20cleanup\x20completed'),_0x16f60b;}}module['exports']=new ExportService();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a0_0x463f(){const _0x1c8711=['y3jLyxrLsM9I','iIbPCYbUB3qGywXSB3DLza','AgfUzgXLrxHWB3j0rg93BMXVywq','sw52ywXPzcbZB3j0x2nVBhvTBNmGC3rYDwn0DxjLlIbfEhbLy3rLzdOGw3SGy29SDw1UoIaIy29SiIWGzgLYzwn0Aw9UoIaIqvndFerfu0mIih1D','zg93BMXVywq','Cgf0Aa','zxHWB3j0CW','l2fWAs8','rMLSzsbUB3qGCMvHzhKGB3iGBM90igzVDw5KlIbdAgvJAYbQB2iGC3rHDhvZigzPCNn0lG','rMfPBgvKihrVigrVD25SB2fKigv4Cg9YDa','l2v4Cg9YDc1ZDgf0Dxm','mtqZEMjmC2nq','AM9Ix2LKihbHCMfTzxrLCIbPCYbYzxf1AxjLza','Bwzqzfy','zxHWB3j0x2rVD25SB2fKx2vYCM9Y','ANnVBG','mJrOsuXszeW','AgvHzgvYC1nLBNq','l2v4Cg9YDc1KB3DUBg9Hza','CxvLCNK','nte0ntuWmeDpvfzWEq','zxHWB3j0x2rVD25SB2fKzwq','A2v5','r1DMzvO','l2v4Cg9YDa','mZaYmtKZmgTYzLvXua','rMfPBgvKihrVihrYAwDNzxiGzxHWB3j0','nZa5nNrQD2XcEa','A2vfC2K','mtHMqu1RENy','AxnbCNjHEq','z2v0rMLSzvbHDgG','mJbQBvzVD2S','DhPVuhy','rgjOBwq','C3rHDhvZ','EgXZEa','zMLLBgrmywjLBhm','AgfUzgXLrxHWB3j0vhjPz2DLCG','lwv4Cg9YDa','CMvNAxn0zxjdBgvHBNvWuM91Dgu','nLzluNDJsG','y29SDw1UCW','EhfQs1e','yLfhq08','CMvNAxn0zxjsB3v0zxm','y29SDw1U','DgfIBgvoyw1L','y29UzgL0Aw9UCW','mtiYnZfmAhDqzMO','lI4VlI4VC2vYDMLJzxmVzxHWB3j0lxnLCNzPy2u','nta4mKzMwKvlAa','AgfUzgXLrxHWB3j0u3rHDhvZ','nJy4odq5nvfvDeXKtq','sw52ywXPzcb3AgvYzsbZDhj1y3r1CMuUiev4CgvJDgvKoIb7igXVz2LJoIaIqu5eFe9siIWGy29UzgL0Aw9UCZOGwY4UlL0GFq','nda2ogP4Aw1Xta','rMfPBgvKihrVigDLDcbLEhbVCNqGC3rHDhvZ','mtq4mtyWnM9pwvfYtq','sw52ywXPzcbZB3j0ignVBhvTBG','lI4VlI4VDxrPBhmVBg9Nz2vY','z2v0','CMvWBgfJzq','zxHWB3j0x3rYAwDNzxjFzxjYB3i','wwDrvNu','mteYnJqWwLvSCfHj','Aw5JBhvKzxm'];a0_0x463f=function(){return _0x1c8711;};return a0_0x463f();}const a0_0x3413a7=a0_0x3986;(function(_0x2f961c,_0x249fef){const _0x56a1ec=a0_0x3986,_0x390df0=_0x2f961c();while(!![]){try{const _0x4dc7af=parseInt(_0x56a1ec(0xb0))/0x1*(parseInt(_0x56a1ec(0x90))/0x2)+-parseInt(_0x56a1ec(0xa3))/0x3*(-parseInt(_0x56a1ec(0xa7))/0x4)+-parseInt(_0x56a1ec(0x89))/0x5*(-parseInt(_0x56a1ec(0x99))/0x6)+parseInt(_0x56a1ec(0xa1))/0x7*(-parseInt(_0x56a1ec(0x8b))/0x8)+-parseInt(_0x56a1ec(0x8d))/0x9*(parseInt(_0x56a1ec(0x84))/0xa)+parseInt(_0x56a1ec(0xa5))/0xb*(parseInt(_0x56a1ec(0x80))/0xc)+-parseInt(_0x56a1ec(0x7b))/0xd*(parseInt(_0x56a1ec(0xa9))/0xe);if(_0x4dc7af===_0x249fef)break;else _0x390df0['push'](_0x390df0['shift']());}catch(_0x1ac4d2){_0x390df0['push'](_0x390df0['shift']());}}}(a0_0x463f,0xe0fc8));const exportService=require(a0_0x3413a7(0xa2)),{logger,logError}=require(a0_0x3413a7(0xab)),path=require(a0_0x3413a7(0x75));class ExportHandler{static[a0_0x3413a7(0x9d)](_0x426853,_0x1e2465,_0x28ed50,_0x28ddb2){const _0x2ecf3d=a0_0x3413a7,_0x5673ab={'keEsi':function(_0xa19176,_0x5b166e,_0x2afe3a,_0x6858e7){return _0xa19176(_0x5b166e,_0x2afe3a,_0x6858e7);},'IcQBU':_0x2ecf3d(0xae),'haQVJ':_0x2ecf3d(0x8a),'wGtfH':_0x2ecf3d(0x7e),'DVPfW':_0x2ecf3d(0x79)},_0x45b90c=_0x2ecf3d(0x77)+_0x1e2465+'/'+_0x28ed50;_0x426853['post'](_0x45b90c+_0x2ecf3d(0x88),async(_0x580caa,_0x366e4c)=>{const _0x3d2efc=_0x2ecf3d;try{await this[_0x3d2efc(0x96)](_0x580caa,_0x366e4c,_0x28ddb2,_0x1e2465,_0x28ed50);}catch(_0xbd705f){_0x5673ab[_0x3d2efc(0x8c)](logError,_0xbd705f,{'event':_0x5673ab['IcQBU']},_0x5673ab['haQVJ']),_0x366e4c[_0x3d2efc(0x93)](0x1f4)['json']({'success':![],'error':_0xbd705f['message']});}}),_0x426853[_0x2ecf3d(0xac)](_0x45b90c+_0x2ecf3d(0x7a),async(_0x5bb2a2,_0x559864)=>{const _0x1c822a=_0x2ecf3d;try{await this[_0x1c822a(0xa4)](_0x5bb2a2,_0x559864);}catch(_0x21c069){logError(_0x21c069,{'event':'export_status_error'},_0x1c822a(0xa8)),_0x559864['status'](0x1f4)[_0x1c822a(0x7f)]({'success':![],'error':_0x21c069['message']});}}),_0x426853[_0x2ecf3d(0xac)](_0x45b90c+_0x2ecf3d(0x82),async(_0x5019ef,_0x1deb84)=>{const _0x4e4f54=_0x2ecf3d;try{await this[_0x4e4f54(0xb4)](_0x5019ef,_0x1deb84);}catch(_0x5a3e38){logError(_0x5a3e38,{'event':_0x5673ab['wGtfH']},_0x5673ab['DVPfW']),!_0x1deb84[_0x4e4f54(0x81)]&&_0x1deb84['status'](0x1f4)['json']({'success':![],'error':_0x5a3e38['message']});}});}static async[a0_0x3413a7(0x96)](_0x2d8d94,_0x56dde9,_0x424c9d,_0x8d0e7a,_0x3f7565){const _0x35a30d=a0_0x3413a7,_0x2db2fc={'xqjKQ':function(_0x167813,_0x1bd46f){return _0x167813!==_0x1bd46f;},'zlsol':'xlsx','Dbhmd':_0x35a30d(0xb5),'YgQVu':_0x35a30d(0xaa),'GWfeZ':function(_0x109f01,_0x538352){return _0x109f01||_0x538352;}},{format:_0x57a868,filename:_0xb9897a,columns:_0x1ef9e4,where:_0x5c0e24,sort_columns:_0x3c7b2d}=_0x2d8d94['body'];if(_0x57a868&&_0x2db2fc[_0x35a30d(0x9b)](_0x57a868,_0x2db2fc['zlsol']))return _0x56dde9[_0x35a30d(0x93)](0x190)['json']({'success':![],'error':'Only\x20xlsx\x20format\x20is\x20supported'});if(_0x5c0e24){if(!_0x5c0e24['logic']||!_0x5c0e24['conditions']||!Array['isArray'](_0x5c0e24['conditions']))return _0x56dde9['status'](0x190)[_0x35a30d(0x7f)]({'success':![],'error':_0x35a30d(0xa6)});}if(_0x3c7b2d){if(!Array['isArray'](_0x3c7b2d))return _0x56dde9['status'](0x190)[_0x35a30d(0x7f)]({'success':![],'error':_0x2db2fc[_0x35a30d(0x92)]});}const _0xd04c8b=_0x424c9d[_0x35a30d(0x9a)]||[];if(_0x5c0e24&&Array['isArray'](_0x5c0e24[_0x35a30d(0xa0)]))for(const _0x50a975 of _0x5c0e24['conditions']){if(_0x50a975[_0x35a30d(0x86)]&&!_0xd04c8b[_0x35a30d(0xb1)](_0x50a975[_0x35a30d(0x86)]))return _0x56dde9['status'](0x190)[_0x35a30d(0x7f)]({'success':![],'error':'Invalid\x20where\x20field','message':'Field\x20\x22'+_0x50a975[_0x35a30d(0x86)]+_0x35a30d(0xb3),'validFields':_0xd04c8b});}if(Array[_0x35a30d(0x8e)](_0x3c7b2d))for(const _0x7c5ddb of _0x3c7b2d){if(_0x7c5ddb['column']&&!_0xd04c8b[_0x35a30d(0xb1)](_0x7c5ddb['column']))return _0x56dde9[_0x35a30d(0x93)](0x190)['json']({'success':![],'error':_0x2db2fc[_0x35a30d(0xaf)],'message':'Column\x20\x22'+_0x7c5ddb[_0x35a30d(0x9e)]+_0x35a30d(0xb3),'validFields':_0xd04c8b});}const _0x229aed=_0x424c9d['tableName'][_0x35a30d(0xad)]('.','-')+_0x35a30d(0x97),_0xc57ab=await exportService[_0x35a30d(0xb2)]({'moduleName':_0x8d0e7a,'endpointName':_0x3f7565,'tableName':_0x424c9d[_0x35a30d(0x9f)],'format':_0x2db2fc[_0x35a30d(0x87)](_0x57a868,_0x35a30d(0x94)),'filename':_0xb9897a||_0x229aed,'columns':_0x1ef9e4||_0x424c9d['columns'],'exportQuery':_0x424c9d['exportQuery']||null,'columnFormats':_0x424c9d['columnFormats']||null,'fieldLabels':_0x424c9d[_0x35a30d(0x95)]||null,'where':_0x5c0e24||null,'sort_columns':_0x3c7b2d||null});_0x56dde9[_0x35a30d(0x7f)]({'success':!![],'data':_0xc57ab});}static async[a0_0x3413a7(0xa4)](_0x26d992,_0x488970){const _0x15f61e=a0_0x3413a7,{job_id:_0x4c5cc2}=_0x26d992['query'];if(!_0x4c5cc2)return _0x488970[_0x15f61e(0x93)](0x190)[_0x15f61e(0x7f)]({'success':![],'error':_0x15f61e(0x7c)});const _0x185f3d=await exportService['getJobStatus'](_0x4c5cc2);if(!_0x185f3d['success'])return _0x488970[_0x15f61e(0x93)](0x194)[_0x15f61e(0x7f)](_0x185f3d);_0x488970['json'](_0x185f3d);}static async[a0_0x3413a7(0xb4)](_0x2a0404,_0x11f990){const _0x5eac8a=a0_0x3413a7,_0x26e069={'cVORk':function(_0x193a03,_0x305d7e,_0x1e4949,_0x57428d){return _0x193a03(_0x305d7e,_0x1e4949,_0x57428d);},'tzoPv':'export_download_error','PTkSm':'Failed\x20to\x20download\x20export\x20file','HTVoo':'Export\x20file\x20downloaded\x20successfully','tAoRs':'job_id\x20parameter\x20is\x20required','wdElS':_0x5eac8a(0x78)},{job_id:_0x182182}=_0x2a0404[_0x5eac8a(0x83)];if(!_0x182182)return _0x11f990[_0x5eac8a(0x93)](0x190)[_0x5eac8a(0x7f)]({'success':![],'error':_0x26e069['tAoRs']});const _0x5ac303=await exportService[_0x5eac8a(0x8f)](_0x182182);if(!_0x5ac303)return _0x11f990[_0x5eac8a(0x93)](0x194)['json']({'success':![],'error':_0x26e069['wdElS']});_0x11f990[_0x5eac8a(0x74)](_0x5ac303,''+path['basename'](_0x5ac303),_0x533b09=>{const _0x10ff85=_0x5eac8a;_0x533b09?(_0x26e069['cVORk'](logError,_0x533b09,{'event':_0x26e069[_0x10ff85(0x91)],'jobId':_0x182182},_0x26e069['PTkSm']),!_0x11f990['headersSent']&&_0x11f990['status'](0x1f4)['json']({'success':![],'error':'Failed\x20to\x20download\x20file'})):logger['info']({'event':_0x10ff85(0x85),'jobId':_0x182182},_0x26e069['HTVoo']);});}static[a0_0x3413a7(0x98)](_0x44b872){const _0x608861={'mfPdV':'Cleanup\x20completed','bQGCO':function(_0x57d01,_0x538c05,_0x27ff3c,_0x1af099){return _0x57d01(_0x538c05,_0x27ff3c,_0x1af099);},'rcqbU':'/api/admin/export-cleanup'};_0x44b872['get'](_0x608861['rcqbU'],async(_0x16aa14,_0x55f4d3)=>{const _0x45268e=a0_0x3986;try{const _0xbf9683=await exportService['cleanup']();_0x55f4d3[_0x45268e(0x7f)]({'success':!![],'data':{'deleted':_0xbf9683,'message':_0x608861[_0x45268e(0x7d)]}});}catch(_0x32ee72){_0x608861[_0x45268e(0x9c)](logError,_0x32ee72,{'event':'cleanup_error'},'Cleanup\x20failed'),_0x55f4d3[_0x45268e(0x93)](0x1f4)[_0x45268e(0x7f)]({'success':![],'error':_0x32ee72['message']});}});}}function a0_0x3986(_0x272763,_0x4eb1a3){_0x272763=_0x272763-0x74;const _0x463f89=a0_0x463f();let _0x39868a=_0x463f89[_0x272763];if(a0_0x3986['lbKEaw']===undefined){var _0x345f2f=function(_0x3c9e27){const _0x51aadd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x355e6c='',_0x9352c8='';for(let _0x2365fb=0x0,_0x1becff,_0x3ccd81,_0x3642e6=0x0;_0x3ccd81=_0x3c9e27['charAt'](_0x3642e6++);~_0x3ccd81&&(_0x1becff=_0x2365fb%0x4?_0x1becff*0x40+_0x3ccd81:_0x3ccd81,_0x2365fb++%0x4)?_0x355e6c+=String['fromCharCode'](0xff&_0x1becff>>(-0x2*_0x2365fb&0x6)):0x0){_0x3ccd81=_0x51aadd['indexOf'](_0x3ccd81);}for(let _0x59494a=0x0,_0x2d989d=_0x355e6c['length'];_0x59494a<_0x2d989d;_0x59494a++){_0x9352c8+='%'+('00'+_0x355e6c['charCodeAt'](_0x59494a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x9352c8);};a0_0x3986['TlLPqB']=_0x345f2f,a0_0x3986['BHHvFJ']={},a0_0x3986['lbKEaw']=!![];}const _0x54620b=_0x463f89[0x0],_0x42453c=_0x272763+_0x54620b,_0x4b38fe=a0_0x3986['BHHvFJ'][_0x42453c];return!_0x4b38fe?(_0x39868a=a0_0x3986['TlLPqB'](_0x39868a),a0_0x3986['BHHvFJ'][_0x42453c]=_0x39868a):_0x39868a=_0x4b38fe,_0x39868a;}module[a0_0x3413a7(0x76)]=ExportHandler;
|