@restforgejs/platform 5.1.6 → 5.1.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/restforge-hwinfo-linux +0 -0
- package/bin/restforge-hwinfo.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/fast-track.js +63 -43
- package/generators/cli/payload/generate.js +10 -2
- package/generators/cli/schema/apply.js +6 -1
- package/generators/cli/schema/diff.js +6 -1
- package/generators/cli/schema/introspect.js +32 -11
- package/generators/lib/data/db-executor.js +8 -8
- package/generators/lib/data/envelope.js +3 -3
- package/generators/lib/dbschema-kit/apply-engine.js +20 -0
- package/generators/lib/dbschema-kit/dialect/mysql.js +2 -0
- package/generators/lib/dbschema-kit/dialect/oracle.js +2 -0
- package/generators/lib/dbschema-kit/dialect/postgres.js +4 -0
- package/generators/lib/dbschema-kit/dialect/sqlite.js +5 -0
- package/generators/lib/dbschema-kit/diff-engine.js +22 -1
- package/generators/lib/dbschema-kit/diff-reporter.js +293 -272
- package/generators/lib/dbschema-kit/emitters/create-index.js +23 -1
- package/generators/lib/dbschema-kit/emitters/create-table.js +48 -0
- package/generators/lib/dbschema-kit/introspect-mapper.js +154 -2
- package/generators/lib/dbschema-kit/ir-builder.js +84 -1
- package/generators/lib/dbschema-kit/schema-printer.js +20 -0
- package/generators/lib/dbschema-kit/soft-delete-constants.js +111 -0
- package/generators/lib/dbschema-kit/validator/schema-validator.js +231 -0
- package/generators/lib/generators/processor-validation-generator.js +16 -16
- package/generators/lib/payload/payload-runner.js +711 -1
- package/generators/lib/payload/schema-diff.js +7 -0
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/generators/lib/utils/database-introspector.js +48 -0
- package/generators/lib/utils/env-manager.js +4 -4
- package/generators/lib/utils/file-utils.js +6 -6
- package/generators/lib/utils/payload-processor.js +18 -2
- package/generators/lib/validators/argument-validator.js +2 -2
- package/generators/lib/validators/dashboard-validator.js +35 -1
- package/generators/lib/validators/payload-validator.js +460 -33
- package/integrity-manifest.json +20 -20
- package/package.json +2 -1
- 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/soft-delete-dashboard-guard.js +1 -0
- package/src/utils/sql-table-extractor.js +1 -0
- 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/lib/utils/sql-table-extractor.js +0 -83
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x27433a=a0_0x1d47;(function(_0x421bde,_0x9e47a6){const _0x33a236=a0_0x1d47,_0x7ffafd=_0x421bde();while(!![]){try{const _0x46f03b=parseInt(_0x33a236(0x74))/0x1*(parseInt(_0x33a236(0xcf))/0x2)+-parseInt(_0x33a236(0xa8))/0x3*(-parseInt(_0x33a236(0xc6))/0x4)+-parseInt(_0x33a236(0xc0))/0x5+-parseInt(_0x33a236(0xc1))/0x6+parseInt(_0x33a236(0x96))/0x7*(parseInt(_0x33a236(0xb1))/0x8)+-parseInt(_0x33a236(0x8f))/0x9*(-parseInt(_0x33a236(0xb5))/0xa)+-parseInt(_0x33a236(0xb3))/0xb;if(_0x46f03b===_0x9e47a6)break;else _0x7ffafd['push'](_0x7ffafd['shift']());}catch(_0x24de2d){_0x7ffafd['push'](_0x7ffafd['shift']());}}}(a0_0x5991,0xe5b08));const oracledb=require('oracledb'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require('./logger');function a0_0x1d47(_0x18fbdd,_0x6aae90){_0x18fbdd=_0x18fbdd-0x71;const _0x599165=a0_0x5991();let _0x1d47ac=_0x599165[_0x18fbdd];if(a0_0x1d47['dMZKEO']===undefined){var _0x57b5a3=function(_0x200c65){const _0x4bd574='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2b0f8d='',_0x13a66a='';for(let _0x4e9e3a=0x0,_0x49e123,_0x2241d9,_0x118b82=0x0;_0x2241d9=_0x200c65['charAt'](_0x118b82++);~_0x2241d9&&(_0x49e123=_0x4e9e3a%0x4?_0x49e123*0x40+_0x2241d9:_0x2241d9,_0x4e9e3a++%0x4)?_0x2b0f8d+=String['fromCharCode'](0xff&_0x49e123>>(-0x2*_0x4e9e3a&0x6)):0x0){_0x2241d9=_0x4bd574['indexOf'](_0x2241d9);}for(let _0x122107=0x0,_0x56d14c=_0x2b0f8d['length'];_0x122107<_0x56d14c;_0x122107++){_0x13a66a+='%'+('00'+_0x2b0f8d['charCodeAt'](_0x122107)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x13a66a);};a0_0x1d47['OKMptk']=_0x57b5a3,a0_0x1d47['JruTRM']={},a0_0x1d47['dMZKEO']=!![];}const _0x31665d=_0x599165[0x0],_0x8f48b5=_0x18fbdd+_0x31665d,_0x5678da=a0_0x1d47['JruTRM'][_0x8f48b5];return!_0x5678da?(_0x1d47ac=a0_0x1d47['OKMptk'](_0x1d47ac),a0_0x1d47['JruTRM'][_0x8f48b5]=_0x1d47ac):_0x1d47ac=_0x5678da,_0x1d47ac;}oracledb[a0_0x27433a(0xae)]=[oracledb['CLOB'],oracledb['NCLOB']],oracledb['fetchAsBuffer']=[oracledb['BLOB']];async function ensureNlsReady(_0x57d20d){const _0x519be9=a0_0x27433a,_0x1d6efc={'KIbJN':_0x519be9(0x7c)},_0x1302c=_0x1d6efc[_0x519be9(0x75)]['split']('|');let _0x291c05=0x0;while(!![]){switch(_0x1302c[_0x291c05++]){case'0':_0x57d20d[_0x519be9(0x88)]=!![];continue;case'1':if(_0x57d20d['_nlsReady'])return;continue;case'2':await _0x57d20d['execute'](_0x519be9(0x83));continue;case'3':await _0x57d20d['execute'](_0x519be9(0x93));continue;case'4':await _0x57d20d['execute'](_0x519be9(0x7a));continue;}break;}}class OracleDatabase{constructor(){const _0x2f59d5=a0_0x27433a,_0x32387d={'QylSi':function(_0xc5a31f,_0x5d067c){return _0xc5a31f(_0x5d067c);},'bKwLX':'oracle'};this['pool']=null,this[_0x2f59d5(0x90)]={'user':process['env'][_0x2f59d5(0x9b)]||'hr','password':process['env'][_0x2f59d5(0xc8)]||'hr','connectString':this['buildConnectionString'](),'poolMin':parseInt(process[_0x2f59d5(0xb2)][_0x2f59d5(0x9e)])||0x2,'poolMax':_0x32387d['QylSi'](parseInt,process['env']['DB_POOL_MAX'])||0xa,'poolIncrement':parseInt(process['env']['DB_POOL_INCREMENT'])||0x1,'poolTimeout':parseInt(process[_0x2f59d5(0xb2)][_0x2f59d5(0x7f)])||0x3c,'autoCommit':!![],'fetchAsString':[oracledb['CLOB'],oracledb['NCLOB']],'fetchAsBuffer':[oracledb['BLOB']]},logDatabaseConfig({'host':process['env'][_0x2f59d5(0x7e)]||'localhost','port':process[_0x2f59d5(0xb2)]['DB_PORT']||_0x2f59d5(0xb6),'database':process[_0x2f59d5(0xb2)]['DB_NAME']||'XE','type':_0x32387d['bKwLX'],'user':this[_0x2f59d5(0x90)]['user'],'poolMin':this['config'][_0x2f59d5(0x8b)],'poolMax':this[_0x2f59d5(0x90)][_0x2f59d5(0x72)]});}['buildConnectionString'](){const _0x5e2f08=a0_0x27433a,_0x57c8fd={'UzSZX':_0x5e2f08(0x76),'UcpUR':_0x5e2f08(0xb6)},_0x2d2b60=process['env'][_0x5e2f08(0x7e)]||_0x57c8fd['UzSZX'],_0x409b6e=process['env']['DB_PORT']||_0x57c8fd[_0x5e2f08(0x9f)],_0x4fc919=process['env'][_0x5e2f08(0xbc)]||'XE',_0xc02343='//'+_0x2d2b60+':'+_0x409b6e+'/'+_0x4fc919;return logger['debug']({'event':'oracle_connection_string','connectionString':_0xc02343},_0x5e2f08(0xa4)+_0xc02343),_0xc02343;}async['initializePool'](){const _0x57a71d=a0_0x27433a,_0x22a541={'YHoAL':_0x57a71d(0xb0),'RpfBp':'oracle_pool_creating','tbEHG':function(_0x147f9c,_0x47da1c,_0x36cf75,_0x1cf8db){return _0x147f9c(_0x47da1c,_0x36cf75,_0x1cf8db);}};try{const _0x493246=_0x57a71d(0x8d)['split']('|');let _0x4606ae=0x0;while(!![]){switch(_0x493246[_0x4606ae++]){case'0':if(this[_0x57a71d(0xb7)]){logger[_0x57a71d(0xc3)]({'event':_0x22a541['YHoAL']},'Oracle\x20connection\x20pool\x20sudah\x20ada');return;}continue;case'1':logger['info']({'event':_0x22a541[_0x57a71d(0xaf)]},'Creating\x20Oracle\x20connection\x20pool...');continue;case'2':this[_0x57a71d(0xb7)]=await oracledb[_0x57a71d(0xc2)](this['config']);continue;case'3':logger[_0x57a71d(0x95)]({'event':'oracle_pool_created'},_0x57a71d(0x98));continue;case'4':await this['testConnection']();continue;}break;}}catch(_0x1688a2){_0x22a541[_0x57a71d(0xbb)](logError,_0x1688a2,{'event':'oracle_pool_error'},'Error\x20saat\x20membuat\x20Oracle\x20connection\x20pool:\x20'+_0x1688a2['message']);throw _0x1688a2;}}async['testConnection'](){const _0x484ed1=a0_0x27433a,_0x928c9f={'BvUBq':_0x484ed1(0xb8),'TSUfJ':function(_0x316d47,_0x5a6915,_0x3d0764,_0x53dbc8){return _0x316d47(_0x5a6915,_0x3d0764,_0x53dbc8);},'SZPMW':function(_0x5177b2,_0xd3e50,_0x279f9e,_0x3232d5){return _0x5177b2(_0xd3e50,_0x279f9e,_0x3232d5);}};let _0x2fdc2d;try{logger['debug']({'event':_0x928c9f[_0x484ed1(0x7d)]},'Testing\x20Oracle\x20database\x20connection...'),_0x2fdc2d=await this[_0x484ed1(0xb7)]['getConnection'](),await ensureNlsReady(_0x2fdc2d);const _0x98ae8a=await _0x2fdc2d[_0x484ed1(0x81)]('SELECT\x20SYSDATE\x20as\x20current_date,\x20USER\x20as\x20current_user\x20FROM\x20DUAL');logger['info']({'event':'oracle_connection_test_success','currentDate':_0x98ae8a[_0x484ed1(0x8a)][0x0][0x0],'currentUser':_0x98ae8a['rows'][0x0][0x1]},_0x484ed1(0xb9)+_0x98ae8a['rows'][0x0][0x1]);}catch(_0x4d0f51){_0x928c9f[_0x484ed1(0xab)](logError,_0x4d0f51,{'event':'oracle_connection_test_failed'},'Oracle\x20connection\x20test\x20gagal:\x20'+_0x4d0f51[_0x484ed1(0x85)]);throw _0x4d0f51;}finally{if(_0x2fdc2d)try{await _0x2fdc2d[_0x484ed1(0x94)]();}catch(_0x245c05){_0x928c9f[_0x484ed1(0xb4)](logError,_0x245c05,{'event':_0x484ed1(0xbe)},_0x484ed1(0x86)+_0x245c05[_0x484ed1(0x85)]);}}}async['executeQuery'](_0xddc864,_0x429c6a=[],_0x49e397={}){const _0x2beb32=a0_0x27433a,_0x51d4e1={'SgWMI':function(_0x1b188a){return _0x1b188a();},'mMkjw':function(_0x33ae35,_0x1d742a){return _0x33ae35(_0x1d742a);},'JwrwW':function(_0x4b3d6a,_0xb08a1){return _0x4b3d6a!==_0xb08a1;},'XfNBM':function(_0x1dfdb6,_0x43fe18,_0x29e5a8,_0x5f06ac){return _0x1dfdb6(_0x43fe18,_0x29e5a8,_0x5f06ac);},'hTpbM':'oracle'};let _0x433a65;const _0x44f917=_0x51d4e1['SgWMI'](startQueryTimer);try{!this['pool']&&await this[_0x2beb32(0xa7)]();_0x433a65=await this[_0x2beb32(0xb7)]['getConnection'](),await _0x51d4e1['mMkjw'](ensureNlsReady,_0x433a65);const _0x16d197={'outFormat':oracledb['OUT_FORMAT_OBJECT'],'autoCommit':_0x51d4e1['JwrwW'](_0x49e397['autoCommit'],undefined)?_0x49e397[_0x2beb32(0xbf)]:!![],..._0x49e397},_0x50fadd=await _0x433a65[_0x2beb32(0x81)](_0xddc864,_0x429c6a,_0x16d197),_0x2b7abe=_0x51d4e1['SgWMI'](_0x44f917),_0x66bbdf=_0x50fadd[_0x2beb32(0x8a)]?_0x50fadd['rows']['length']:_0x50fadd['rowsAffected'];return logQuery(_0xddc864,_0x429c6a,{'duration':_0x2b7abe,'rowsAffected':_0x66bbdf,'dbType':_0x2beb32(0xcd)}),_0x50fadd[_0x2beb32(0x8a)]?_0x50fadd[_0x2beb32(0x8a)]:{'rowsAffected':_0x50fadd['rowsAffected'],'lastRowid':_0x50fadd[_0x2beb32(0xa6)]};}catch(_0x16ce4f){const _0x4f0868=_0x44f917();_0x51d4e1[_0x2beb32(0x8e)](logError,_0x16ce4f,{'event':_0x2beb32(0xa5),'query':_0xddc864['substring'](0x0,0x1f4),'paramCount':_0x429c6a['length'],'durationMs':_0x4f0868,'code':_0x16ce4f['errorNum'],'dbType':_0x51d4e1['hTpbM']},_0x2beb32(0xcb)+_0x16ce4f[_0x2beb32(0x85)]);throw _0x16ce4f;}finally{if(_0x433a65)try{await _0x433a65[_0x2beb32(0x94)]();}catch(_0x3fafca){logError(_0x3fafca,{'event':'oracle_connection_close_error'},'Error\x20closing\x20Oracle\x20connection:\x20'+_0x3fafca[_0x2beb32(0x85)]);}}}async['executeTransaction'](_0x268a5a){const _0x57a440=a0_0x27433a,_0x5b4dc7={'NwAXx':function(_0x499d19){return _0x499d19();},'PTzYr':function(_0x176546,_0x42ac81){return _0x176546(_0x42ac81);},'zmWUZ':function(_0x472fd9,_0x3c824d,_0x107173){return _0x472fd9(_0x3c824d,_0x107173);},'sxKjF':function(_0x5862f5){return _0x5862f5();},'iuCzd':function(_0x10bdb4){return _0x10bdb4();},'MbccL':function(_0x2abb8e,_0x4b6b6d,_0x42219d,_0x5b1562){return _0x2abb8e(_0x4b6b6d,_0x42219d,_0x5b1562);},'IbDft':'oracle','JTZGU':function(_0x92ac51,_0x34ba13,_0x4d156c){return _0x92ac51(_0x34ba13,_0x4d156c);},'LlcBR':function(_0x3621d2,_0x2c77dd,_0xa8d942,_0x49c77c){return _0x3621d2(_0x2c77dd,_0xa8d942,_0x49c77c);},'FiiMA':'transaction_error','NZmZQ':function(_0x5459d6,_0x1b9ceb,_0x3b901c){return _0x5459d6(_0x1b9ceb,_0x3b901c);},'iHTtf':'rollback','ZrWcF':function(_0x2b3d0a,_0xb7178e,_0x13636f,_0x187bb){return _0x2b3d0a(_0xb7178e,_0x13636f,_0x187bb);},'mhssT':'rollback_error'};let _0x57a383;const _0x2b433f=_0x5b4dc7[_0x57a440(0xc9)](startQueryTimer);try{!this['pool']&&await this[_0x57a440(0xa7)]();_0x57a383=await this['pool'][_0x57a440(0x9a)](),await _0x5b4dc7[_0x57a440(0x73)](ensureNlsReady,_0x57a383),_0x5b4dc7['zmWUZ'](logTransaction,_0x57a440(0xbd),_0x268a5a[_0x57a440(0xca)]);const _0x587a33=[];for(const _0x498437 of _0x268a5a){const _0x1c0824=_0x5b4dc7[_0x57a440(0xad)](startQueryTimer),_0x167e33=await _0x57a383[_0x57a440(0x81)](_0x498437['sql'],_0x498437['params']||[],{'autoCommit':![],'outFormat':oracledb[_0x57a440(0xa2)]}),_0x3dd8b6=_0x5b4dc7[_0x57a440(0x9d)](_0x1c0824),_0x1e370d=_0x167e33[_0x57a440(0x8a)]?_0x167e33['rows']['length']:_0x167e33['rowsAffected'];_0x5b4dc7['MbccL'](logQuery,_0x498437['sql'],_0x498437['params']||[],{'duration':_0x3dd8b6,'rowsAffected':_0x1e370d,'dbType':_0x5b4dc7['IbDft']}),_0x587a33['push'](_0x167e33);}await _0x57a383['commit']();const _0x5f99b4=_0x5b4dc7[_0x57a440(0x9d)](_0x2b433f);return _0x5b4dc7['JTZGU'](logTransaction,'commit',_0x268a5a['length']),logger['info']({'event':'transaction_complete','queryCount':_0x268a5a[_0x57a440(0xca)],'totalDurationMs':_0x5f99b4,'dbType':'oracle'},_0x57a440(0xc7)+_0x5f99b4+'ms,\x20'+_0x268a5a['length']+_0x57a440(0x78)),_0x587a33;}catch(_0x33d258){const _0x53695e=_0x5b4dc7['NwAXx'](_0x2b433f);_0x5b4dc7[_0x57a440(0xaa)](logError,_0x33d258,{'event':_0x5b4dc7['FiiMA'],'queryCount':_0x268a5a[_0x57a440(0xca)],'totalDurationMs':_0x53695e,'code':_0x33d258['errorNum'],'dbType':_0x5b4dc7['IbDft']},'Oracle\x20transaction\x20failed:\x20'+_0x33d258[_0x57a440(0x85)]);if(_0x57a383)try{await _0x57a383['rollback'](),_0x5b4dc7[_0x57a440(0xa0)](logTransaction,_0x5b4dc7[_0x57a440(0x80)],_0x268a5a['length']);}catch(_0x3179a0){_0x5b4dc7['ZrWcF'](logError,_0x3179a0,{'event':_0x5b4dc7['mhssT'],'dbType':'oracle'},_0x57a440(0x9c)+_0x3179a0['message']);}throw _0x33d258;}finally{if(_0x57a383)try{await _0x57a383[_0x57a440(0x94)]();}catch(_0x7cd9d){_0x5b4dc7['LlcBR'](logError,_0x7cd9d,{'event':'oracle_transaction_connection_close_error'},'Error\x20closing\x20Oracle\x20transaction\x20connection:\x20'+_0x7cd9d[_0x57a440(0x85)]);}}}async[a0_0x27433a(0xba)](){const _0x36539a=a0_0x27433a,_0x558d90={'mdDXN':_0x36539a(0x92),'kYgcs':function(_0x51debb,_0x575e1d,_0x341d4d,_0x89a8bb){return _0x51debb(_0x575e1d,_0x341d4d,_0x89a8bb);},'IoicG':_0x36539a(0x89)};try{this['pool']&&(logger['info']({'event':'oracle_pool_closing'},_0x36539a(0xc4)),await this['pool'][_0x36539a(0x94)](0xa),this['pool']=null,logger[_0x36539a(0x95)]({'event':_0x558d90['mdDXN']},_0x36539a(0xd0)));}catch(_0x36d336){_0x558d90[_0x36539a(0x77)](logError,_0x36d336,{'event':_0x558d90[_0x36539a(0x91)]},'Error\x20closing\x20Oracle\x20connection\x20pool:\x20'+_0x36d336['message']);throw _0x36d336;}}[a0_0x27433a(0x99)](){const _0x58b5f7=a0_0x27433a;if(!this[_0x58b5f7(0xb7)])return{'status':_0x58b5f7(0xce)};return{'connectionsInUse':this[_0x58b5f7(0xb7)][_0x58b5f7(0xa1)],'connectionsOpen':this[_0x58b5f7(0xb7)]['connectionsOpen'],'poolAlias':this['pool'][_0x58b5f7(0x84)],'poolMin':this['pool']['poolMin'],'poolMax':this['pool']['poolMax'],'poolIncrement':this['pool']['poolIncrement'],'poolTimeout':this['pool'][_0x58b5f7(0xac)],'status':'Active'};}}function a0_0x5991(){const _0x453d8e=['mhWXFdj8m3W0','wgzoqK0','mJG4EfvqDeTU','y29UzMLN','sw9Py0C','B3jHy2XLx3bVB2XFy2XVC2vK','quXurviGu0vtu0LptIbtrvqGtKXtx1rjtuvtvefnuf9uwL9gt1jnqvqGpsaNwvLzws1nts1ercjuiKHimJq6tuK6u1mUrKyZvfPioLrAtsC','y2XVC2u','Aw5MBW','otiZmdi5munxsvnrBW','u0Lhsu5u','t3jHy2XLignVBM5Ly3rPB24GCg9VBcbJCMvHDgvKihn1y2nLC3nMDwXSEq','z2v0ug9VBfn0yxrPC3rPy3m','z2v0q29UBMvJDgLVBG','rejFvvnfuG','rxjYB3iGCM9SBgLUzYbIywnRie9YywnSzsb0CMfUC2fJDgLVBJOG','AxvdEMq','rejFue9ptf9nsu4','vwnWvvi','tLPTwLe','y29UBMvJDgLVBNnjBLvZzq','t1vux0zpuK1bvf9pqKPfq1q','zxHWB3j0CW','t3jHy2XLienVBM5Ly3rPB24Gu3rYAw5NoIa','C3fSx2vYCM9Y','BgfZDfjVD2LK','Aw5PDgLHBgL6zvbVB2W','mJGYDNzwqw5I','wvrIyxO','tgXJqLi','vfnvzKO','Cg9VBfrPBwvVDxq','C3HlAKy','zMv0y2HbC1n0CMLUzW','uNbMqNa','B3jHy2XLx3bVB2XFzxHPC3rZ','oenIr2rvqW','zw52','mJiXntm5ndv5DLvqre4','u1PqtvC','mJa4mtiWyuDRzvfp','mtuYmq','Cg9VBa','B3jHy2XLx2nVBM5Ly3rPB25FDgvZDf9ZDgfYDa','t3jHy2XLignVBM5Ly3rPB24GDgvZDcbIzxjOyxnPBcaTifvZzxi6ia','y2XVC2vqB29S','DgjfseC','rejFtKfnrq','C3rHCNq','B3jHy2XLx3rLC3rFy29UBMvJDgLVBL9JBg9Zzv9LCNjVCG','yxv0B0nVBw1PDa','mJCXmJqZnurnEhr6AG','mJK2nZy0mMDYBe5Wsq','y3jLyxrLug9VBa','zgvIDwC','q2XVC2LUzYbpCMfJBguGy29UBMvJDgLVBIbWB29SlI4U','rhrMtxi','mJG2ndHKzMz6uwy','t3jHy2XLihrYyw5Zywn0Aw9UignVBw1PDhrLzcaO','rejFueftu1DpuKq','tNDbwhG','BgvUz3rO','t3jHy2XLifnrtcbfCNjVCJOG','zxHPDa','B3jHy2XL','ug9VBcbUB3qGAw5PDgLHBgL6zwq','nfPzu2XyqW','t3jHy2XLignVBM5Ly3rPB24GCg9VBcbJBg9Zzwq','rxjYB3iGzhvYAw5Nie9YywnSzsbWB29SihnODxrKB3DUoIa','Cg9VBe1HEa','ufr6wxi','nJy3mdm2BuzWvhzh','s0LIsK4','Bg9JywXOB3n0','A1LNy3m','ihf1zxjPzxmP','quzxBxa','quXurviGu0vtu0LptIbtrvqGtKXtx0rbvevFrK9stufuid0Gj1LzwvKTtu0TreqN','q2PIBem','mxW0Fdj8m3WW','qNzvqNe','rejFse9tva','rejFue9ptf9usu1ft1vu','AuHuDgy','zxHLy3v0zq','DNrOwMW','quXurviGu0vtu0LptIbtrvqGtKXtx1rjtuvtvefnuf9gt1jnqvqGpsaNwvLzws1nts1ercjuiKHimJq6tuK6u1mUrKyZjW','Cg9VBefSAwfZ','BwvZC2fNzq','rxjYB3iGy2XVC2LUzYb0zxn0ignVBM5Ly3rPB246ia','B3jHy2XLx3nODxrKB3DU','x25SC1jLywr5','B3jHy2XLx3bVB2XFy2XVC2vFzxjYB3i','CM93CW','Cg9VBe1PBG','u0Lhvevstq'];a0_0x5991=function(){return _0x453d8e;};return a0_0x5991();}const oracleDb=new OracleDatabase();process['on'](a0_0x27433a(0x97),async()=>{const _0x39f8f0=a0_0x27433a,_0x1ba392={'fEjAq':'oracle_shutdown','vthZl':'Received\x20SIGINT,\x20closing\x20Oracle\x20connection\x20pool...','CjblC':function(_0xbdbcf2,_0x55b444,_0x7bf6a0,_0x413105){return _0xbdbcf2(_0x55b444,_0x7bf6a0,_0x413105);},'AFWmp':'SIGINT'};logger['info']({'event':_0x1ba392['fEjAq'],'signal':'SIGINT'},_0x1ba392[_0x39f8f0(0x82)]);try{await oracleDb['closePool'](),process[_0x39f8f0(0xcc)](0x0);}catch(_0x239d57){_0x1ba392[_0x39f8f0(0x7b)](logError,_0x239d57,{'event':'oracle_shutdown_error','signal':_0x1ba392[_0x39f8f0(0x79)]},'Error\x20during\x20Oracle\x20pool\x20shutdown:\x20'+_0x239d57['message']),process[_0x39f8f0(0xcc)](0x1);}}),process['on'](a0_0x27433a(0x8c),async()=>{const _0x5e8e7e=a0_0x27433a,_0x1efc65={'DtfMr':'Received\x20SIGTERM,\x20closing\x20Oracle\x20connection\x20pool...','ohJDI':'oracle_shutdown_error','YTbaz':'SIGTERM'};logger['info']({'event':_0x5e8e7e(0x87),'signal':'SIGTERM'},_0x1efc65[_0x5e8e7e(0xc5)]);try{await oracleDb[_0x5e8e7e(0xba)](),process[_0x5e8e7e(0xcc)](0x0);}catch(_0x62637a){logError(_0x62637a,{'event':_0x1efc65['ohJDI'],'signal':_0x1efc65[_0x5e8e7e(0xa9)]},_0x5e8e7e(0x71)+_0x62637a['message']),process['exit'](0x1);}}),module[a0_0x27433a(0xa3)]=oracleDb;
|
|
1
|
+
const a0_0x2c057d=a0_0x5c52;function a0_0x5c52(_0x1c55cb,_0x343675){_0x1c55cb=_0x1c55cb-0x1d2;const _0x596d35=a0_0x596d();let _0x5c522f=_0x596d35[_0x1c55cb];if(a0_0x5c52['glyCoX']===undefined){var _0x5428a9=function(_0x47abfe){const _0x1a15bb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xec94d9='',_0x3b0abd='';for(let _0x1ce1ea=0x0,_0x2f588b,_0x116a36,_0x521386=0x0;_0x116a36=_0x47abfe['charAt'](_0x521386++);~_0x116a36&&(_0x2f588b=_0x1ce1ea%0x4?_0x2f588b*0x40+_0x116a36:_0x116a36,_0x1ce1ea++%0x4)?_0xec94d9+=String['fromCharCode'](0xff&_0x2f588b>>(-0x2*_0x1ce1ea&0x6)):0x0){_0x116a36=_0x1a15bb['indexOf'](_0x116a36);}for(let _0x267f92=0x0,_0x4be407=_0xec94d9['length'];_0x267f92<_0x4be407;_0x267f92++){_0x3b0abd+='%'+('00'+_0xec94d9['charCodeAt'](_0x267f92)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3b0abd);};a0_0x5c52['mXBSqb']=_0x5428a9,a0_0x5c52['iEepso']={},a0_0x5c52['glyCoX']=!![];}const _0x5689b4=_0x596d35[0x0],_0x47ce7f=_0x1c55cb+_0x5689b4,_0xd81f4a=a0_0x5c52['iEepso'][_0x47ce7f];return!_0xd81f4a?(_0x5c522f=a0_0x5c52['mXBSqb'](_0x5c522f),a0_0x5c52['iEepso'][_0x47ce7f]=_0x5c522f):_0x5c522f=_0xd81f4a,_0x5c522f;}function a0_0x596d(){const _0x311a55=['x25SC1jLywr5','DNjnv1e','C3rHCNq','z2v0ug9VBfn0yxrPC3rPy3m','A2f6BfO','C3vIC3rYAw5N','B0P4vLi','DxnLCG','DgvZDenVBM5Ly3rPB24','t3jHy2XLifnrtcbfCNjVCJOG','CM9SBgjHy2TFzxjYB3i','u0Lhvevstq','mtuYmq','q0XpqG','mJrQsxLVrw0','rxjYB3iGCM9SBgLUzYbIywnRie9YywnSzsb0CMfUC2fJDgLVBJOG','C3bSAxq','zxjYB3joDw0','mtmZodm1odvKELrHA08','B3jHy2XLx3bVB2XFy2XVC2LUzW','wwfxzMi','y29TBwL0','B3jHy2XL','rejFue9ptf9nqvG','BwvZC2fNzq','t3jHy2XLignVBM5Ly3rPB24GDgvZDcbNywDHBdOG','rxjYB3iGy2XVC2LUzYbpCMfJBguGy29UBMvJDgLVBIbWB29SoIa','rejFue9sva','rxjYB3iGzhvYAw5Nie9YywnSzsbWB29SihnODxrKB3DUoIa','CM9SBgjHy2S','t3jHy2XLienVBM5Ly3rPB24Gu3rYAw5NoIa','BgvUz3rO','t1vux0zpuK1bvf9pqKPfq1q','D0HfBKm','odmZnZK5tgz4z2fy','zgvIDwC','uMvJzwL2zwqGu0LhvevstsWGy2XVC2LUzYbpCMfJBguGy29UBMvJDgLVBIbWB29SlI4U','oda4mdq0oeH3AgXcvW','quXurviGu0vtu0LptIbtrvqGtKXtx0rbvevFrK9stufuid0Gj1LzwvKTtu0TreqN','rejFtKfnrq','ihf1zxjPzxmP','De5bCuS','Cg9VBe1PBG','rxjYB3iGy2XVC2LUzYb0zxn0ignVBM5Ly3rPB246ia','B3jHy2XLx2nVBM5Ly3rPB25FC3rYAw5N','Bg9JywXOB3n0','AuXVzgq','B3jHy2XLx2nVBM5Ly3rPB25Fy2XVC2vFzxjYB3i','y29UBMvJDgLVBNnpCgvU','mZG3mdeZmMjgD1zTwa','mJi2mtq3nLHAtuX4EG','B3jHy2XLx3bVB2XFzxjYB3i','nte2CxriBuXn','wgr3vMe','CM93C0fMzMvJDgvK','zfjNA2W','zxHLy3v0zvf1zxj5','yxv0B0nVBw1PDa','lI9SB2DNzxi','uMvJzwL2zwqGu0Lhsu5ulcbJBg9ZAw5Nie9YywnSzsbJB25Uzwn0Aw9UihbVB2WUlI4','zxHLy3v0zq','z2v0q29UBMvJDgLVBG','mhWYFdn8nhWX','zMv0y2HbC0j1zMzLCG','B3jHy2XLx3bVB2XFy2XVC2vK','vgvZDgLUzYbpCMfJBguGzgf0ywjHC2uGy29UBMvJDgLVBI4UlG','B3jHy2XLx3bVB2XFy3jLyxrLza','y29UzMLN','DxLvq3C','y2XVC2vqB29S','Cg9VBfrPBwvVDxq','B3jHy2XLx3bVB2XFzxHPC3rZ','q2XVC2LUzYbpCMfJBguGy29UBMvJDgLVBIbWB29SlI4U','y2XVC2u','B3jHy2XLx2nVBM5Ly3rPB25FDgvZDf9MywLSzwq','DhjHBNnHy3rPB25Fy29TCgXLDgu','CM93CW','B3jHy2XLx3rLC3rFy29UBMvJDgLVBL9JBg9Zzv9LCNjVCG','Aw5MBW','rejFse9tva','yNvPBgrdB25Uzwn0Aw9Uu3rYAw5N','q3jLyxrPBMCGt3jHy2XLignVBM5Ly3rPB24GCg9VBc4UlG','zxHPDa','B3jHy2XLx3nODxrKB3DU','rxjYB3iGy2XVC2LUzYbpCMfJBguGDhjHBNnHy3rPB24Gy29UBMvJDgLVBJOG','ntGXndeWEKDds3j5','Aw5PDgLHBgL6zvbVB2W','C3fS','tKnmt0i','ufD6Chu','B3jHy2XLx3bVB2XFy3jLyxrPBMC','Cg9VBa','zw52','mxWZFdb8nhWY','mtqXntD3u1P1AhO','Avbrr1a','Bg9yDMW'];a0_0x596d=function(){return _0x311a55;};return a0_0x596d();}(function(_0x3af82b,_0x1e9012){const _0x3082a0=a0_0x5c52,_0x1f7496=_0x3af82b();while(!![]){try{const _0x3911fe=parseInt(_0x3082a0(0x1d2))/0x1+-parseInt(_0x3082a0(0x1e2))/0x2+-parseInt(_0x3082a0(0x20e))/0x3*(parseInt(_0x3082a0(0x1e4))/0x4)+parseInt(_0x3082a0(0x205))/0x5*(-parseInt(_0x3082a0(0x21f))/0x6)+-parseInt(_0x3082a0(0x1e1))/0x7+parseInt(_0x3082a0(0x1d5))/0x8+parseInt(_0x3082a0(0x223))/0x9;if(_0x3911fe===_0x1e9012)break;else _0x1f7496['push'](_0x1f7496['shift']());}catch(_0x48b5b9){_0x1f7496['push'](_0x1f7496['shift']());}}}(a0_0x596d,0x8bff3));const oracledb=require('oracledb'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x2c057d(0x1ea));oracledb['fetchAsString']=[oracledb[a0_0x2c057d(0x21e)],oracledb[a0_0x2c057d(0x208)]],oracledb[a0_0x2c057d(0x1ef)]=[oracledb['BLOB']];async function ensureNlsReady(_0xa4f4da){const _0x27480d=a0_0x2c057d,_0x154ab1={'wHEnC':_0x27480d(0x20d)},_0x4929f7=_0x154ab1[_0x27480d(0x232)][_0x27480d(0x221)]('|');let _0x58f3de=0x0;while(!![]){switch(_0x4929f7[_0x58f3de++]){case'0':await _0xa4f4da[_0x27480d(0x1ec)]('ALTER\x20SESSION\x20SET\x20NLS_TIMESTAMP_FORMAT\x20=\x20\x27YYYY-MM-DD\x22T\x22HH24:MI:SS.FF3\x27');continue;case'1':if(_0xa4f4da['_nlsReady'])return;continue;case'2':_0xa4f4da[_0x27480d(0x211)]=!![];continue;case'3':await _0xa4f4da['execute'](_0x27480d(0x1d6));continue;case'4':await _0xa4f4da['execute']('ALTER\x20SESSION\x20SET\x20NLS_TIMESTAMP_TZ_FORMAT\x20=\x20\x27YYYY-MM-DD\x22T\x22HH24:MI:SS.FF3TZH:TZM\x27');continue;}break;}}class OracleDatabase{constructor(){const _0x53fa03=a0_0x2c057d,_0x342315={'loXvl':function(_0x10e027,_0x1c96c9){return _0x10e027(_0x1c96c9);},'iPQGP':function(_0x54ccdd,_0x127de5){return _0x54ccdd(_0x127de5);},'oJxVR':'1521'};this[_0x53fa03(0x20b)]=null,this['config']={'user':process['env']['DB_USER']||'hr','password':process[_0x53fa03(0x20c)]['DB_PASSWORD']||'hr','connectString':this['buildConnectionString'](),'poolMin':parseInt(process['env']['DB_POOL_MIN'])||0x2,'poolMax':_0x342315[_0x53fa03(0x210)](parseInt,process['env'][_0x53fa03(0x228)])||0xa,'poolIncrement':_0x342315['iPQGP'](parseInt,process[_0x53fa03(0x20c)]['DB_POOL_INCREMENT'])||0x1,'poolTimeout':parseInt(process[_0x53fa03(0x20c)]['DB_POOL_TIMEOUT'])||0x3c,'autoCommit':!![],'fetchAsString':[oracledb['CLOB'],oracledb['NCLOB']],'fetchAsBuffer':[oracledb['BLOB']]},_0x342315[_0x53fa03(0x20f)](logDatabaseConfig,{'host':process['env'][_0x53fa03(0x1ff)]||_0x53fa03(0x1dd),'port':process['env']['DB_PORT']||_0x342315[_0x53fa03(0x217)],'database':process['env'][_0x53fa03(0x1d7)]||'XE','type':'oracle','user':this['config'][_0x53fa03(0x218)],'poolMin':this['config'][_0x53fa03(0x1da)],'poolMax':this[_0x53fa03(0x1f3)]['poolMax']});}[a0_0x2c057d(0x200)](){const _0x30b7c5=a0_0x2c057d,_0x3d2cbf={'bnaNj':_0x30b7c5(0x1dd),'cWEZL':_0x30b7c5(0x21d),'ZHdIb':_0x30b7c5(0x1dc)},_0x4cceb5=process['env']['DB_HOST']||_0x3d2cbf['bnaNj'],_0x1eccde=process['env'][_0x30b7c5(0x22c)]||_0x3d2cbf['cWEZL'],_0xb4f48=process[_0x30b7c5(0x20c)][_0x30b7c5(0x1d7)]||'XE',_0x25acc3='//'+_0x4cceb5+':'+_0x1eccde+'/'+_0xb4f48;return logger[_0x30b7c5(0x1d3)]({'event':_0x3d2cbf['ZHdIb'],'connectionString':_0x25acc3},_0x30b7c5(0x22f)+_0x25acc3),_0x25acc3;}async['initializePool'](){const _0x4c6aa9=a0_0x2c057d,_0x293a44={'WAOLA':_0x4c6aa9(0x1ee),'iWriB':_0x4c6aa9(0x1f7),'iLodd':'Oracle\x20connection\x20pool\x20sudah\x20ada','vrMWQ':_0x4c6aa9(0x201),'zwRPW':_0x4c6aa9(0x1f2),'znpqy':'Oracle\x20connection\x20pool\x20created\x20successfully'};try{const _0x240d32=_0x293a44['WAOLA']['split']('|');let _0x262afc=0x0;while(!![]){switch(_0x240d32[_0x262afc++]){case'0':if(this[_0x4c6aa9(0x20b)]){logger[_0x4c6aa9(0x1d3)]({'event':_0x293a44['iWriB']},_0x293a44[_0x4c6aa9(0x1de)]);return;}continue;case'1':await this[_0x4c6aa9(0x219)]();continue;case'2':logger[_0x4c6aa9(0x1fe)]({'event':_0x4c6aa9(0x20a)},_0x293a44[_0x4c6aa9(0x212)]);continue;case'3':this['pool']=await oracledb['createPool'](this[_0x4c6aa9(0x1f3)]);continue;case'4':logger[_0x4c6aa9(0x1fe)]({'event':_0x293a44['zwRPW']},_0x293a44['znpqy']);continue;}break;}}catch(_0x50acf9){logError(_0x50acf9,{'event':_0x4c6aa9(0x1e3)},'Error\x20saat\x20membuat\x20Oracle\x20connection\x20pool:\x20'+_0x50acf9[_0x4c6aa9(0x229)]);throw _0x50acf9;}}async['testConnection'](){const _0x148b88=a0_0x2c057d,_0x16a7e4={'dRgkl':function(_0x13e3d0,_0x8babb1){return _0x13e3d0(_0x8babb1);},'PWzpu':function(_0x1bc693,_0x1df5ef,_0x25b2fc,_0x1fefde){return _0x1bc693(_0x1df5ef,_0x25b2fc,_0x1fefde);},'YaWfb':_0x148b88(0x1fa)};let _0x2e7eb0;try{logger['debug']({'event':'oracle_connection_test_start'},_0x148b88(0x1f1)),_0x2e7eb0=await this[_0x148b88(0x20b)]['getConnection'](),await _0x16a7e4[_0x148b88(0x1e7)](ensureNlsReady,_0x2e7eb0);const _0xa7c10f=await _0x2e7eb0['execute']('SELECT\x20SYSDATE\x20as\x20current_date,\x20USER\x20as\x20current_user\x20FROM\x20DUAL');logger['info']({'event':'oracle_connection_test_success','currentDate':_0xa7c10f[_0x148b88(0x1fc)][0x0][0x0],'currentUser':_0xa7c10f[_0x148b88(0x1fc)][0x0][0x1]},'Oracle\x20connection\x20test\x20berhasil\x20-\x20User:\x20'+_0xa7c10f[_0x148b88(0x1fc)][0x0][0x1]);}catch(_0x5991f3){_0x16a7e4['PWzpu'](logError,_0x5991f3,{'event':_0x16a7e4[_0x148b88(0x225)]},_0x148b88(0x22a)+_0x5991f3['message']);throw _0x5991f3;}finally{if(_0x2e7eb0)try{await _0x2e7eb0['close']();}catch(_0xa65d4b){_0x16a7e4[_0x148b88(0x209)](logError,_0xa65d4b,{'event':_0x148b88(0x1fd)},_0x148b88(0x1db)+_0xa65d4b['message']);}}}async[a0_0x2c057d(0x1e8)](_0x53e31d,_0x5cb297=[],_0x1c0b61={}){const _0x253464=a0_0x2c057d,_0x21bf9a={'WLgSu':function(_0x4148c4,_0x5abb24){return _0x4148c4(_0x5abb24);},'oZJaX':'oracle','MqLzw':'sql_error','qraXY':function(_0xa663cc,_0x4a5f1e,_0x55afd6,_0x512eb5){return _0xa663cc(_0x4a5f1e,_0x55afd6,_0x512eb5);}};let _0x3d2daf;const _0x575681=startQueryTimer();try{!this[_0x253464(0x20b)]&&await this[_0x253464(0x206)]();_0x3d2daf=await this[_0x253464(0x20b)][_0x253464(0x1ed)](),await _0x21bf9a['WLgSu'](ensureNlsReady,_0x3d2daf);const _0x4d1e71={'outFormat':oracledb[_0x253464(0x231)],'autoCommit':_0x1c0b61[_0x253464(0x1e9)]!==undefined?_0x1c0b61[_0x253464(0x1e9)]:!![],..._0x1c0b61},_0xc0af46=await _0x3d2daf['execute'](_0x53e31d,_0x5cb297,_0x4d1e71),_0x5772a9=_0x575681(),_0x1bb3bf=_0xc0af46[_0x253464(0x1fc)]?_0xc0af46[_0x253464(0x1fc)][_0x253464(0x230)]:_0xc0af46['rowsAffected'];return logQuery(_0x53e31d,_0x5cb297,{'duration':_0x5772a9,'rowsAffected':_0x1bb3bf,'dbType':_0x21bf9a['oZJaX']}),_0xc0af46['rows']?_0xc0af46[_0x253464(0x1fc)]:{'rowsAffected':_0xc0af46['rowsAffected'],'lastRowid':_0xc0af46['lastRowid']};}catch(_0x574df4){const _0x5b24b1=_0x575681();logError(_0x574df4,{'event':_0x21bf9a['MqLzw'],'query':_0x53e31d[_0x253464(0x216)](0x0,0x1f4),'paramCount':_0x5cb297[_0x253464(0x230)],'durationMs':_0x5b24b1,'code':_0x574df4[_0x253464(0x222)],'dbType':_0x253464(0x227)},_0x253464(0x21a)+_0x574df4[_0x253464(0x229)]);throw _0x574df4;}finally{if(_0x3d2daf)try{await _0x3d2daf[_0x253464(0x1f9)]();}catch(_0x5ca980){_0x21bf9a['qraXY'](logError,_0x5ca980,{'event':_0x253464(0x1df)},'Error\x20closing\x20Oracle\x20connection:\x20'+_0x5ca980[_0x253464(0x229)]);}}}async['executeTransaction'](_0x15a3dd){const _0x113e68=a0_0x2c057d,_0x423354={'tNAqK':function(_0xed0e8e,_0x30e5a7,_0x28d5bc){return _0xed0e8e(_0x30e5a7,_0x28d5bc);},'Mdvrn':function(_0x265d32,_0x3ff0b3,_0x2a9bc8,_0x56edaf){return _0x265d32(_0x3ff0b3,_0x2a9bc8,_0x56edaf);},'QGzMF':_0x113e68(0x226),'uyANf':'transaction_error','gfbMR':function(_0x2a4bac,_0x4a641f,_0x3e38f9,_0x3a7674){return _0x2a4bac(_0x4a641f,_0x3e38f9,_0x3a7674);},'NWbZQ':'oracle','LsuFw':function(_0xcc48e6,_0x5178d0,_0x5c00c4,_0x8e3873){return _0xcc48e6(_0x5178d0,_0x5c00c4,_0x8e3873);}};let _0x1fe62f;const _0x3f89d0=startQueryTimer();try{!this['pool']&&await this['initializePool']();_0x1fe62f=await this[_0x113e68(0x20b)]['getConnection'](),await ensureNlsReady(_0x1fe62f),_0x423354['tNAqK'](logTransaction,_0x113e68(0x213),_0x15a3dd[_0x113e68(0x230)]);const _0x1b498b=[];for(const _0x26b34d of _0x15a3dd){const _0x3070de=startQueryTimer(),_0x53318a=await _0x1fe62f[_0x113e68(0x1ec)](_0x26b34d['sql'],_0x26b34d['params']||[],{'autoCommit':![],'outFormat':oracledb[_0x113e68(0x231)]}),_0x2c3700=_0x3070de(),_0x3ae06=_0x53318a['rows']?_0x53318a['rows']['length']:_0x53318a[_0x113e68(0x1e6)];_0x423354['Mdvrn'](logQuery,_0x26b34d[_0x113e68(0x207)],_0x26b34d['params']||[],{'duration':_0x2c3700,'rowsAffected':_0x3ae06,'dbType':_0x113e68(0x227)}),_0x1b498b['push'](_0x53318a);}await _0x1fe62f[_0x113e68(0x226)]();const _0x5a6882=_0x3f89d0();return logTransaction(_0x423354['QGzMF'],_0x15a3dd['length']),logger[_0x113e68(0x1fe)]({'event':_0x113e68(0x1fb),'queryCount':_0x15a3dd['length'],'totalDurationMs':_0x5a6882,'dbType':_0x113e68(0x227)},'Oracle\x20transaction\x20committed\x20('+_0x5a6882+'ms,\x20'+_0x15a3dd[_0x113e68(0x230)]+_0x113e68(0x1d8)),_0x1b498b;}catch(_0x1e8992){const _0x24e54d=_0x3f89d0();logError(_0x1e8992,{'event':_0x423354['uyANf'],'queryCount':_0x15a3dd[_0x113e68(0x230)],'totalDurationMs':_0x24e54d,'code':_0x1e8992[_0x113e68(0x222)],'dbType':_0x113e68(0x227)},'Oracle\x20transaction\x20failed:\x20'+_0x1e8992['message']);if(_0x1fe62f)try{await _0x1fe62f[_0x113e68(0x22e)](),_0x423354[_0x113e68(0x1d9)](logTransaction,_0x113e68(0x22e),_0x15a3dd['length']);}catch(_0x2444e5){_0x423354['gfbMR'](logError,_0x2444e5,{'event':_0x113e68(0x21b),'dbType':_0x423354['NWbZQ']},_0x113e68(0x220)+_0x2444e5['message']);}throw _0x1e8992;}finally{if(_0x1fe62f)try{await _0x1fe62f[_0x113e68(0x1f9)]();}catch(_0x20d323){_0x423354['LsuFw'](logError,_0x20d323,{'event':'oracle_transaction_connection_close_error'},_0x113e68(0x204)+_0x20d323['message']);}}}async[a0_0x2c057d(0x1f5)](){const _0x38ade5=a0_0x2c057d,_0x4437d1={'kazlZ':_0x38ade5(0x224),'MhLkO':_0x38ade5(0x1f8),'XdwVa':_0x38ade5(0x1f0),'YrjTJ':'Oracle\x20connection\x20pool\x20closed','clsKg':function(_0x1654f3,_0x5dad77,_0x1c993f,_0x21867d){return _0x1654f3(_0x5dad77,_0x1c993f,_0x21867d);},'pDRox':'oracle_pool_close_error'};try{this[_0x38ade5(0x20b)]&&(logger['info']({'event':_0x4437d1[_0x38ade5(0x215)]},_0x4437d1['MhLkO']),await this['pool']['close'](0xa),this[_0x38ade5(0x20b)]=null,logger[_0x38ade5(0x1fe)]({'event':_0x4437d1[_0x38ade5(0x1e5)]},_0x4437d1['YrjTJ']));}catch(_0x782536){_0x4437d1['clsKg'](logError,_0x782536,{'event':_0x4437d1['pDRox']},_0x38ade5(0x22b)+_0x782536[_0x38ade5(0x229)]);throw _0x782536;}}[a0_0x2c057d(0x214)](){const _0x48fff0=a0_0x2c057d,_0x5cc4b6={'KGpls':'Active'};if(!this['pool'])return{'status':'Pool\x20not\x20initialized'};return{'connectionsInUse':this[_0x48fff0(0x20b)]['connectionsInUse'],'connectionsOpen':this['pool'][_0x48fff0(0x1e0)],'poolAlias':this['pool']['poolAlias'],'poolMin':this['pool'][_0x48fff0(0x1da)],'poolMax':this['pool']['poolMax'],'poolIncrement':this[_0x48fff0(0x20b)]['poolIncrement'],'poolTimeout':this[_0x48fff0(0x20b)][_0x48fff0(0x1f6)],'status':_0x5cc4b6['KGpls']};}}const oracleDb=new OracleDatabase();process['on']('SIGINT',async()=>{const _0x34d8fa=a0_0x2c057d,_0x482fed={'Yithd':function(_0x41f39c,_0x297a7f,_0xdf865f,_0x4f2db4){return _0x41f39c(_0x297a7f,_0xdf865f,_0x4f2db4);},'uyUCw':'oracle_shutdown_error'};logger[_0x34d8fa(0x1fe)]({'event':'oracle_shutdown','signal':'SIGINT'},_0x34d8fa(0x1eb));try{await oracleDb['closePool'](),process[_0x34d8fa(0x202)](0x0);}catch(_0x9e5504){_0x482fed['Yithd'](logError,_0x9e5504,{'event':_0x482fed[_0x34d8fa(0x1f4)],'signal':'SIGINT'},_0x34d8fa(0x22d)+_0x9e5504[_0x34d8fa(0x229)]),process[_0x34d8fa(0x202)](0x1);}}),process['on'](a0_0x2c057d(0x21c),async()=>{const _0x2c4d5c=a0_0x2c057d,_0x3149af={'NtEfV':_0x2c4d5c(0x21c),'snIXr':function(_0x173cc9,_0x288235,_0x56ed29,_0x55cc12){return _0x173cc9(_0x288235,_0x56ed29,_0x55cc12);},'JIEbB':'oracle_shutdown_error'};logger['info']({'event':_0x2c4d5c(0x203),'signal':_0x3149af['NtEfV']},_0x2c4d5c(0x1d4));try{await oracleDb['closePool'](),process['exit'](0x0);}catch(_0x537dea){_0x3149af['snIXr'](logError,_0x537dea,{'event':_0x3149af['JIEbB'],'signal':'SIGTERM'},'Error\x20during\x20Oracle\x20pool\x20shutdown:\x20'+_0x537dea[_0x2c4d5c(0x229)]),process['exit'](0x1);}}),module['exports']=oracleDb;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x4b32(){const _0x323e96=['C3fSAxrLx3nODxrKB3DU','zM9YzwLNBL9RzxLZid0Gt04','C3fSx2vYCM9Y','nde5otG1C09ft0nv','AM91CM5HBf9TB2rLid0Gv0fm','uMvJzwL2zwqGu0LhvevstsWGy2XVC2LUzYbtuuXPDguGzgf0ywjHC2uUlI4','mwrtuwzNDG','DefbD3K','suTkwu0','Aw5MBW','zw52','DgvZDenVBM5Ly3rPB24','y2HHBMDLCW','Aw5PDgLHBgL6zurHDgfIyxnL','EfjJquC','C3fS','zgvIDwC','vhjHBNnHy3rPB24GzMfPBgvKoIa','qw1LELa','CNvU','ywXS','y29TBwL0','yNvZEvrPBwvVDxq','zxHPDa','lI9KyxrHl3jLC3rMB3jNzs5KyG','qMnyyNi','mZvgv0DwqNO','zxzervK','u1jJrhy','C3fSAxrLx2nSB3nPBMC','BwvZC2fNzq','ntiWmZu0AxvkB01M','C3fSAxrL','rKH6DgW','odCZmJbPy1zHr0m','rxjYB3iGy2XVC2LUzYbtuuXPDguGzgf0ywjHC2u6ia','s0j4u1C','wuf6y04','zxHLy3v0zvrYyw5Zywn0Aw9U','y2XVC2vqB29S','tffpCKK','mZm4otKZovrYyK9urG','ntKXmde1wevsvvzp','DhjHBNnHy3rPB25FzxjYB3i','C3fSAxrLx3nODxrKB3DUx2vYCM9Y','y29Kzq','BgfZDeLUC2vYDfjVD2LK','ntaWma','CxnyAeO','BvLxCwm','u0vmrunuideGyxmGDgvZDf9JB25Uzwn0Aw9U','C3fSAxrLx2nVBM5Ly3rPB25Fy2HLy2TFzxjYB3i','rhDwB24','ChvZAa','C3vIC3rYAw5N','u0Lhvevstq','Bvvys1O','ihf1zxjPzxmP','u0Lhsu5u','DgvZDa','z2v0ug9VBa','z2v0','C3fSAxrLx2rIx2v4Axn0CW','mtCWotyWnfD6rxnYBa','sgHMC2q','zgjqyxrO','tNHPtvm','mZe2ndiYyuP5rhnW','u1fmAxrLigrHDgfIyxnLignVBM5Ly3rPB24GC3vKywGGywrH','oejzvfnhua','BgvUz3rO'];a0_0x4b32=function(){return _0x323e96;};return a0_0x4b32();}const a0_0x33bcd6=a0_0x2417;function a0_0x2417(_0x9989a8,_0x2521e0){_0x9989a8=_0x9989a8-0x179;const _0x4b32b2=a0_0x4b32();let _0x2417b0=_0x4b32b2[_0x9989a8];if(a0_0x2417['ZkkCQL']===undefined){var _0x4e9d27=function(_0x4a0319){const _0xd7f67='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5509ba='',_0x1f37db='';for(let _0x39a41f=0x0,_0x26b39f,_0x360457,_0x38dbbd=0x0;_0x360457=_0x4a0319['charAt'](_0x38dbbd++);~_0x360457&&(_0x26b39f=_0x39a41f%0x4?_0x26b39f*0x40+_0x360457:_0x360457,_0x39a41f++%0x4)?_0x5509ba+=String['fromCharCode'](0xff&_0x26b39f>>(-0x2*_0x39a41f&0x6)):0x0){_0x360457=_0xd7f67['indexOf'](_0x360457);}for(let _0x2f8740=0x0,_0x128e1b=_0x5509ba['length'];_0x2f8740<_0x128e1b;_0x2f8740++){_0x1f37db+='%'+('00'+_0x5509ba['charCodeAt'](_0x2f8740)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f37db);};a0_0x2417['BHRgIm']=_0x4e9d27,a0_0x2417['yXlSfN']={},a0_0x2417['ZkkCQL']=!![];}const _0x530035=_0x4b32b2[0x0],_0x27498b=_0x9989a8+_0x530035,_0x5e9ec0=a0_0x2417['yXlSfN'][_0x27498b];return!_0x5e9ec0?(_0x2417b0=a0_0x2417['BHRgIm'](_0x2417b0),a0_0x2417['yXlSfN'][_0x27498b]=_0x2417b0):_0x2417b0=_0x5e9ec0,_0x2417b0;}(function(_0x17e2d2,_0x25767f){const _0x3357e1=a0_0x2417,_0x100fc8=_0x17e2d2();while(!![]){try{const _0x9bd08e=parseInt(_0x3357e1(0x184))/0x1*(-parseInt(_0x3357e1(0x19d))/0x2)+parseInt(_0x3357e1(0x1a8))/0x3+-parseInt(_0x3357e1(0x1bd))/0x4+parseInt(_0x3357e1(0x198))/0x5*(parseInt(_0x3357e1(0x17a))/0x6)+-parseInt(_0x3357e1(0x1a7))/0x7*(-parseInt(_0x3357e1(0x17c))/0x8)+parseInt(_0x3357e1(0x181))/0x9+-parseInt(_0x3357e1(0x1a0))/0xa;if(_0x9bd08e===_0x25767f)break;else _0x100fc8['push'](_0x100fc8['shift']());}catch(_0x28d57a){_0x100fc8['push'](_0x100fc8['shift']());}}}(a0_0x4b32,0x61d9c));const Database=require('better-sqlite3'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require('./logger');class SqliteDatabase{constructor(){const _0x28502f=a0_0x2417,_0x2526b5={'YInKK':_0x28502f(0x196),'PFRmV':function(_0x16490b,_0x338249){return _0x16490b(_0x338249);},'BcXbr':_0x28502f(0x1ad)};this['db']=null,this['dbPath']=process[_0x28502f(0x188)]['DB_NAME']||_0x2526b5['YInKK'],this['busyTimeout']=_0x2526b5['PFRmV'](parseInt,process[_0x28502f(0x188)]['DB_BUSY_TIMEOUT']||_0x2526b5[_0x28502f(0x197)]),logDatabaseConfig({'database':this['dbPath'],'type':_0x28502f(0x19e),'busyTimeout':this[_0x28502f(0x194)]});}['initializeDatabase'](){const _0x477795=a0_0x2417,_0x5ae31a={'Hhfsd':_0x477795(0x17b)};try{if(this['db']){logger[_0x477795(0x18e)]({'event':_0x477795(0x1bc)},_0x5ae31a[_0x477795(0x1be)]);return;}this['db']=new Database(this[_0x477795(0x1bf)],{'timeout':this[_0x477795(0x194)]}),this['db']['pragma'](_0x477795(0x182)),this['db']['pragma'](_0x477795(0x17f)),this['testConnection']();}catch(_0x23da7f){logError(_0x23da7f,{'event':'sqlite_init_error'},'Error\x20saat\x20membuka\x20SQLite\x20database:\x20'+_0x23da7f['message']);throw _0x23da7f;}}[a0_0x33bcd6(0x189)](){const _0x2393e9=a0_0x33bcd6,_0x39369f={'SmYYy':'Testing\x20SQLite\x20database\x20connection...','dYHaR':_0x2393e9(0x1b0),'WMsIT':function(_0x333e25,_0x56ab91,_0x20c51e,_0x59dd12){return _0x333e25(_0x56ab91,_0x20c51e,_0x59dd12);},'xRcAG':'sqlite_connection_test_failed'};try{logger['debug']({'event':'sqlite_connection_test_start'},_0x39369f['SmYYy']),this['db']['prepare'](_0x39369f['dYHaR'])['get']();}catch(_0x5e74ab){_0x39369f['WMsIT'](logError,_0x5e74ab,{'event':_0x39369f[_0x2393e9(0x18c)]},'SQLite\x20connection\x20test\x20gagal:\x20'+_0x5e74ab['message']);throw _0x5e74ab;}}async['executeQuery'](_0x5f56c4,_0x5e7c33=[]){const _0x70de17=a0_0x33bcd6,_0x159cae={'KBxSW':function(_0x2bbb5f){return _0x2bbb5f();},'ESNuF':function(_0x589e01,_0x1cac6f){return _0x589e01||_0x1cac6f;},'yWVHN':'sqlite','yVOnq':function(_0x36ee55,_0x179430,_0x6b22ab,_0x2f2e3f){return _0x36ee55(_0x179430,_0x6b22ab,_0x2f2e3f);},'owUHV':_0x70de17(0x180)},_0xbc866c=_0x159cae[_0x70de17(0x1a2)](startQueryTimer);try{!this['db']&&this[_0x70de17(0x18b)]();const _0x224d1f=this['db']['prepare'](_0x5f56c4),_0x18a838=/\bRETURNING\b/i[_0x70de17(0x1b9)](_0x5f56c4),_0x437bf2=/^\s*(SELECT|PRAGMA|EXPLAIN|WITH\s)/i[_0x70de17(0x1b9)](_0x5f56c4);let _0x22d33e,_0x5e9059;if(_0x159cae['ESNuF'](_0x437bf2,_0x18a838)){const _0x43b23a=_0x224d1f['all'](..._0x5e7c33),_0x580153=_0xbc866c();return logQuery(_0x5f56c4,_0x5e7c33,{'duration':_0x580153,'rowsAffected':_0x43b23a['length'],'dbType':_0x159cae['yWVHN']}),_0x43b23a;}else{const _0x32fd46=_0x224d1f['run'](..._0x5e7c33),_0x9b77c4=_0xbc866c();return _0x22d33e={'rowsAffected':_0x32fd46['changes'],'insertId':_0x32fd46['lastInsertRowid']},logQuery(_0x5f56c4,_0x5e7c33,{'duration':_0x9b77c4,'rowsAffected':_0x32fd46[_0x70de17(0x18a)],'dbType':_0x159cae['yWVHN']}),_0x22d33e;}}catch(_0x4f9af0){const _0x4dae77=_0x159cae[_0x70de17(0x1a2)](_0xbc866c);_0x159cae['yVOnq'](logError,_0x4f9af0,{'event':_0x159cae['owUHV'],'query':_0x5f56c4[_0x70de17(0x1b4)](0x0,0x1f4),'paramCount':_0x5e7c33['length'],'durationMs':_0x4dae77,'code':_0x4f9af0[_0x70de17(0x1ab)],'dbType':_0x70de17(0x19e)},'SQLite\x20SQL\x20Error:\x20'+_0x4f9af0[_0x70de17(0x19c)]);throw _0x4f9af0;}}async[a0_0x33bcd6(0x1a4)](_0x41451a){const _0x1c8165=a0_0x33bcd6,_0xe64d20={'xjClK':function(_0x122412,_0x3b31ec){return _0x122412||_0x3b31ec;},'cbeiV':function(_0x45c721){return _0x45c721();},'NxiMS':function(_0x59bdfe){return _0x59bdfe();},'tCTBz':function(_0x1c5c2b){return _0x1c5c2b();},'mUXKZ':function(_0x33a9b7,_0x4f8c9f,_0x4f6580){return _0x33a9b7(_0x4f8c9f,_0x4f6580);},'UAFLR':function(_0x41336b,_0x43d41d){return _0x41336b(_0x43d41d);},'AmezP':function(_0x48490d){return _0x48490d();},'LQOrI':_0x1c8165(0x193),'qsXhJ':'transaction_complete','FHztl':_0x1c8165(0x19e),'vwCgF':function(_0x154f49){return _0x154f49();},'yqBue':'rollback','IKJYM':function(_0x486943,_0x5e0115,_0x4ef297,_0x2a9bb8){return _0x486943(_0x5e0115,_0x4ef297,_0x2a9bb8);}},_0x395872=_0xe64d20['tCTBz'](startQueryTimer);try{!this['db']&&this['initializeDatabase']();_0xe64d20[_0x1c8165(0x1b6)](logTransaction,'start',_0x41451a[_0x1c8165(0x17d)]);const _0x198a4d=this['db']['transaction'](_0xed73e8=>{const _0x14071e=_0x1c8165,_0x573c52=[];for(const _0x2e0e3b of _0xed73e8){const _0xf1741b=startQueryTimer(),_0x49c7a1=_0x2e0e3b['params']||[],_0x497f4e=this['db']['prepare'](_0x2e0e3b[_0x14071e(0x18d)]),_0x159a0d=/\bRETURNING\b/i[_0x14071e(0x1b9)](_0x2e0e3b['sql']),_0x3bccda=/^\s*(SELECT|PRAGMA|EXPLAIN|WITH\s)/i[_0x14071e(0x1b9)](_0x2e0e3b['sql']);if(_0xe64d20['xjClK'](_0x3bccda,_0x159a0d)){const _0x39a5e9=_0x497f4e[_0x14071e(0x192)](..._0x49c7a1),_0x29579c=_0xe64d20['cbeiV'](_0xf1741b);logQuery(_0x2e0e3b[_0x14071e(0x18d)],_0x49c7a1,{'duration':_0x29579c,'rowsAffected':_0x39a5e9[_0x14071e(0x17d)],'dbType':_0x14071e(0x19e)}),_0x573c52[_0x14071e(0x1b3)](_0x39a5e9);}else{const _0x3f8a00=_0x497f4e[_0x14071e(0x191)](..._0x49c7a1),_0x4b4544=_0xe64d20[_0x14071e(0x179)](_0xf1741b);logQuery(_0x2e0e3b[_0x14071e(0x18d)],_0x49c7a1,{'duration':_0x4b4544,'rowsAffected':_0x3f8a00[_0x14071e(0x18a)],'dbType':_0x14071e(0x19e)}),_0x573c52['push']({'rowsAffected':_0x3f8a00[_0x14071e(0x18a)],'insertId':_0x3f8a00[_0x14071e(0x1ac)]});}}return _0x573c52;}),_0x431450=_0xe64d20['UAFLR'](_0x198a4d,_0x41451a),_0x43283e=_0xe64d20[_0x1c8165(0x190)](_0x395872);return _0xe64d20['mUXKZ'](logTransaction,_0xe64d20[_0x1c8165(0x1a6)],_0x41451a['length']),logger[_0x1c8165(0x187)]({'event':_0xe64d20[_0x1c8165(0x1ae)],'queryCount':_0x41451a[_0x1c8165(0x17d)],'totalDurationMs':_0x43283e,'dbType':_0xe64d20['FHztl']},'Transaction\x20committed\x20('+_0x43283e+'ms,\x20'+_0x41451a['length']+_0x1c8165(0x1b7)),_0x431450;}catch(_0x2b7aad){const _0x44e393=_0xe64d20['vwCgF'](_0x395872);logTransaction(_0xe64d20['yqBue'],_0x41451a['length']),_0xe64d20[_0x1c8165(0x186)](logError,_0x2b7aad,{'event':_0x1c8165(0x1a9),'queryCount':_0x41451a['length'],'totalDurationMs':_0x44e393,'code':_0x2b7aad[_0x1c8165(0x1ab)],'dbType':_0xe64d20[_0x1c8165(0x19f)]},_0x1c8165(0x18f)+_0x2b7aad[_0x1c8165(0x19c)]);throw _0x2b7aad;}}[a0_0x33bcd6(0x1ba)](){return!this['db']&&this['initializeDatabase'](),this['db'];}['closePool'](){const _0x543576=a0_0x33bcd6,_0x5a093a={'YAzcN':'sqlite_closed','DwVon':'SQLite\x20database\x20connection\x20closed','evDEY':'sqlite_close_error'};try{this['db']&&(logger['info']({'event':_0x543576(0x19b)},'Closing\x20SQLite\x20database\x20connection...'),this['db']['close'](),this['db']=null,logger[_0x543576(0x187)]({'event':_0x5a093a[_0x543576(0x1a3)]},_0x5a093a[_0x543576(0x1b2)]));}catch(_0x46a391){logError(_0x46a391,{'event':_0x5a093a[_0x543576(0x199)]},_0x543576(0x1a1)+_0x46a391['message']);throw _0x46a391;}}async['checkConnection'](){const _0x2b7416=a0_0x33bcd6,_0x1446de={'SRcDv':'SELECT\x201'};try{return!this['db']&&this[_0x2b7416(0x18b)](),this['db']['prepare'](_0x1446de[_0x2b7416(0x19a)])[_0x2b7416(0x1bb)](),!![];}catch(_0x27db50){return logError(_0x27db50,{'event':_0x2b7416(0x1b1)},'Error\x20checking\x20SQLite\x20connection:\x20'+_0x27db50[_0x2b7416(0x19c)]),![];}}}const sqliteDb=new SqliteDatabase();process['on'](a0_0x33bcd6(0x1b8),()=>{const _0x157771=a0_0x33bcd6,_0xbb314f={'tAAwy':'Received\x20SIGINT,\x20closing\x20SQLite\x20database...'};logger['info']({'event':'sqlite_shutdown','signal':_0x157771(0x1b8)},_0xbb314f[_0x157771(0x185)]);try{sqliteDb[_0x157771(0x1a5)](),process['exit'](0x0);}catch(_0x2b2196){logError(_0x2b2196,{'event':_0x157771(0x1aa),'signal':_0x157771(0x1b8)},'Error\x20during\x20SQLite\x20shutdown:\x20'+_0x2b2196['message']),process[_0x157771(0x195)](0x1);}}),process['on'](a0_0x33bcd6(0x1b5),()=>{const _0x27ba22=a0_0x33bcd6,_0x18b5be={'mYWqc':'SIGTERM'};logger[_0x27ba22(0x187)]({'event':_0x27ba22(0x17e),'signal':_0x18b5be[_0x27ba22(0x1af)]},_0x27ba22(0x183));try{sqliteDb['closePool'](),process[_0x27ba22(0x195)](0x0);}catch(_0xd500ec){logError(_0xd500ec,{'event':_0x27ba22(0x1aa),'signal':_0x18b5be[_0x27ba22(0x1af)]},'Error\x20during\x20SQLite\x20shutdown:\x20'+_0xd500ec['message']),process[_0x27ba22(0x195)](0x1);}}),module['exports']=sqliteDb;
|
|
1
|
+
const a0_0x36de9c=a0_0x1df4;(function(_0x342fd9,_0x5144ba){const _0x36eed6=a0_0x1df4,_0x16c697=_0x342fd9();while(!![]){try{const _0x29ed68=-parseInt(_0x36eed6(0x174))/0x1+-parseInt(_0x36eed6(0x16d))/0x2+-parseInt(_0x36eed6(0x17b))/0x3+parseInt(_0x36eed6(0x17e))/0x4+-parseInt(_0x36eed6(0x1a3))/0x5+-parseInt(_0x36eed6(0x15e))/0x6+-parseInt(_0x36eed6(0x15d))/0x7*(-parseInt(_0x36eed6(0x1a0))/0x8);if(_0x29ed68===_0x5144ba)break;else _0x16c697['push'](_0x16c697['shift']());}catch(_0x3ecf51){_0x16c697['push'](_0x16c697['shift']());}}}(a0_0x114d,0x7e5ea));const Database=require(a0_0x36de9c(0x181)),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require('./logger');function a0_0x1df4(_0x11db71,_0x3494e7){_0x11db71=_0x11db71-0x159;const _0x114d9a=a0_0x114d();let _0x1df493=_0x114d9a[_0x11db71];if(a0_0x1df4['UAUwiF']===undefined){var _0x4c2017=function(_0x2fd700){const _0x14056f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b66df='',_0x312941='';for(let _0x3d2337=0x0,_0x333eef,_0x26ea93,_0x5d78fc=0x0;_0x26ea93=_0x2fd700['charAt'](_0x5d78fc++);~_0x26ea93&&(_0x333eef=_0x3d2337%0x4?_0x333eef*0x40+_0x26ea93:_0x26ea93,_0x3d2337++%0x4)?_0x4b66df+=String['fromCharCode'](0xff&_0x333eef>>(-0x2*_0x3d2337&0x6)):0x0){_0x26ea93=_0x14056f['indexOf'](_0x26ea93);}for(let _0x42e609=0x0,_0x4c61e1=_0x4b66df['length'];_0x42e609<_0x4c61e1;_0x42e609++){_0x312941+='%'+('00'+_0x4b66df['charCodeAt'](_0x42e609)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x312941);};a0_0x1df4['iInbtX']=_0x4c2017,a0_0x1df4['fhXeXh']={},a0_0x1df4['UAUwiF']=!![];}const _0x1f6acd=_0x114d9a[0x0],_0x5c75af=_0x11db71+_0x1f6acd,_0x555354=a0_0x1df4['fhXeXh'][_0x5c75af];return!_0x555354?(_0x1df493=a0_0x1df4['iInbtX'](_0x1df493),a0_0x1df4['fhXeXh'][_0x5c75af]=_0x1df493):_0x1df493=_0x555354,_0x1df493;}class SqliteDatabase{constructor(){const _0x43398b=a0_0x36de9c,_0x283dad={'wGSDc':function(_0x103b80,_0x109a36){return _0x103b80(_0x109a36);},'zZODp':_0x43398b(0x164),'Iopcu':_0x43398b(0x19c)};this['db']=null,this[_0x43398b(0x17f)]=process['env']['DB_NAME']||'./data/restforge.db',this['busyTimeout']=_0x283dad['wGSDc'](parseInt,process[_0x43398b(0x190)]['DB_BUSY_TIMEOUT']||_0x283dad['zZODp']),logDatabaseConfig({'database':this[_0x43398b(0x17f)],'type':_0x283dad['Iopcu'],'busyTimeout':this[_0x43398b(0x161)]});}['initializeDatabase'](){const _0x514fde=a0_0x36de9c,_0x3ec768={'DCycC':'SQLite\x20database\x20connection\x20sudah\x20ada','jvVoo':_0x514fde(0x171),'HpqiP':_0x514fde(0x170)};try{if(this['db']){logger[_0x514fde(0x18d)]({'event':_0x514fde(0x199)},_0x3ec768[_0x514fde(0x194)]);return;}this['db']=new Database(this[_0x514fde(0x17f)],{'timeout':this['busyTimeout']}),this['db']['pragma']('journal_mode\x20=\x20WAL'),this['db'][_0x514fde(0x182)](_0x3ec768['jvVoo']),this['testConnection']();}catch(_0x3fd9a9){logError(_0x3fd9a9,{'event':_0x3ec768['HpqiP']},_0x514fde(0x196)+_0x3fd9a9['message']);throw _0x3fd9a9;}}[a0_0x36de9c(0x163)](){const _0x12eee7=a0_0x36de9c,_0x4c8c76={'lxOts':'sqlite_connection_test_failed'};try{logger['debug']({'event':_0x12eee7(0x16a)},'Testing\x20SQLite\x20database\x20connection...'),this['db'][_0x12eee7(0x19b)]('SELECT\x201\x20as\x20test_connection')[_0x12eee7(0x17c)]();}catch(_0x20b87f){logError(_0x20b87f,{'event':_0x4c8c76['lxOts']},_0x12eee7(0x162)+_0x20b87f[_0x12eee7(0x19a)]);throw _0x20b87f;}}async[a0_0x36de9c(0x18b)](_0x1bc40c,_0x1a169b=[]){const _0x26de73=a0_0x36de9c,_0x35d154={'lpwUx':function(_0x26ce6d){return _0x26ce6d();},'eGexZ':'sqlite','zeYOP':'sql_error'},_0x4503db=startQueryTimer();try{!this['db']&&this[_0x26de73(0x193)]();const _0x40317e=this['db'][_0x26de73(0x19b)](_0x1bc40c),_0x5a48ae=/\bRETURNING\b/i['test'](_0x1bc40c),_0x49bbb9=/^\s*(SELECT|PRAGMA|EXPLAIN|WITH\s)/i['test'](_0x1bc40c);let _0x40f745,_0x1a491f;if(_0x49bbb9||_0x5a48ae){const _0x5cfe29=_0x40317e[_0x26de73(0x15a)](..._0x1a169b),_0xeb885f=_0x35d154['lpwUx'](_0x4503db);return logQuery(_0x1bc40c,_0x1a169b,{'duration':_0xeb885f,'rowsAffected':_0x5cfe29[_0x26de73(0x192)],'dbType':_0x35d154[_0x26de73(0x189)]}),_0x5cfe29;}else{const _0x296d03=_0x40317e['run'](..._0x1a169b),_0x3b52b6=_0x4503db();return _0x40f745={'rowsAffected':_0x296d03[_0x26de73(0x184)],'insertId':_0x296d03['lastInsertRowid']},logQuery(_0x1bc40c,_0x1a169b,{'duration':_0x3b52b6,'rowsAffected':_0x296d03[_0x26de73(0x184)],'dbType':_0x35d154['eGexZ']}),_0x40f745;}}catch(_0x5390ea){const _0x1612da=_0x4503db();logError(_0x5390ea,{'event':_0x35d154[_0x26de73(0x15b)],'query':_0x1bc40c['substring'](0x0,0x1f4),'paramCount':_0x1a169b['length'],'durationMs':_0x1612da,'code':_0x5390ea['code'],'dbType':_0x35d154[_0x26de73(0x189)]},_0x26de73(0x18f)+_0x5390ea['message']);throw _0x5390ea;}}async['executeTransaction'](_0x2b35e0){const _0x13c79a=a0_0x36de9c,_0x40ebc6={'ZEBai':_0x13c79a(0x19c),'pFSgb':function(_0x12ae89){return _0x12ae89();},'msBrr':_0x13c79a(0x179),'zPjWM':'transaction_complete','yKyQv':'rollback','jzjjU':function(_0x44f67f,_0x190aa3,_0x5345d9,_0x174d68){return _0x44f67f(_0x190aa3,_0x5345d9,_0x174d68);}},_0x427e9b=startQueryTimer();try{!this['db']&&this['initializeDatabase']();logTransaction(_0x40ebc6[_0x13c79a(0x198)],_0x2b35e0['length']);const _0x36db69=this['db']['transaction'](_0x3f1cd4=>{const _0x3840fb=_0x13c79a,_0xa09323=[];for(const _0x130bcb of _0x3f1cd4){const _0x2f26b5=startQueryTimer(),_0x132d5c=_0x130bcb['params']||[],_0x45587d=this['db']['prepare'](_0x130bcb['sql']),_0x124abd=/\bRETURNING\b/i['test'](_0x130bcb['sql']),_0x3d985a=/^\s*(SELECT|PRAGMA|EXPLAIN|WITH\s)/i['test'](_0x130bcb['sql']);if(_0x3d985a||_0x124abd){const _0x503fc7=_0x45587d[_0x3840fb(0x15a)](..._0x132d5c),_0x54f49f=_0x2f26b5();logQuery(_0x130bcb['sql'],_0x132d5c,{'duration':_0x54f49f,'rowsAffected':_0x503fc7['length'],'dbType':_0x40ebc6[_0x3840fb(0x18e)]}),_0xa09323['push'](_0x503fc7);}else{const _0x13da6c=_0x45587d[_0x3840fb(0x172)](..._0x132d5c),_0x5afb1f=_0x40ebc6['pFSgb'](_0x2f26b5);logQuery(_0x130bcb[_0x3840fb(0x178)],_0x132d5c,{'duration':_0x5afb1f,'rowsAffected':_0x13da6c[_0x3840fb(0x184)],'dbType':_0x40ebc6[_0x3840fb(0x18e)]}),_0xa09323['push']({'rowsAffected':_0x13da6c['changes'],'insertId':_0x13da6c[_0x3840fb(0x191)]});}}return _0xa09323;}),_0x3aab71=_0x36db69(_0x2b35e0),_0x28d5db=_0x427e9b();return logTransaction(_0x13c79a(0x19d),_0x2b35e0['length']),logger[_0x13c79a(0x18c)]({'event':_0x40ebc6[_0x13c79a(0x15f)],'queryCount':_0x2b35e0[_0x13c79a(0x192)],'totalDurationMs':_0x28d5db,'dbType':'sqlite'},'Transaction\x20committed\x20('+_0x28d5db+'ms,\x20'+_0x2b35e0['length']+_0x13c79a(0x19e)),_0x3aab71;}catch(_0x1e0af2){const _0x316783=_0x40ebc6[_0x13c79a(0x180)](_0x427e9b);logTransaction(_0x40ebc6[_0x13c79a(0x1a4)],_0x2b35e0['length']),_0x40ebc6[_0x13c79a(0x159)](logError,_0x1e0af2,{'event':_0x13c79a(0x16b),'queryCount':_0x2b35e0['length'],'totalDurationMs':_0x316783,'code':_0x1e0af2[_0x13c79a(0x166)],'dbType':_0x40ebc6['ZEBai']},'Transaction\x20failed:\x20'+_0x1e0af2['message']);throw _0x1e0af2;}}[a0_0x36de9c(0x186)](){return!this['db']&&this['initializeDatabase'](),this['db'];}['closePool'](){const _0x39b580=a0_0x36de9c,_0x42fcad={'nAVOx':_0x39b580(0x195),'pRqAP':_0x39b580(0x177),'vIYlL':_0x39b580(0x19f),'dDUEx':'sqlite_close_error'};try{this['db']&&(logger['info']({'event':_0x42fcad['nAVOx']},_0x39b580(0x15c)),this['db']['close'](),this['db']=null,logger['info']({'event':_0x42fcad[_0x39b580(0x16c)]},_0x42fcad[_0x39b580(0x176)]));}catch(_0x2c45be){logError(_0x2c45be,{'event':_0x42fcad[_0x39b580(0x167)]},_0x39b580(0x1a2)+_0x2c45be[_0x39b580(0x19a)]);throw _0x2c45be;}}async[a0_0x36de9c(0x185)](){const _0x1fd51a=a0_0x36de9c,_0xf6c660={'dMTkJ':'SELECT\x201','XpSEH':function(_0xb6f7b2,_0x212884,_0x4b5b7f,_0x166c0e){return _0xb6f7b2(_0x212884,_0x4b5b7f,_0x166c0e);},'szvzz':_0x1fd51a(0x188)};try{return!this['db']&&this[_0x1fd51a(0x193)](),this['db']['prepare'](_0xf6c660[_0x1fd51a(0x183)])[_0x1fd51a(0x17c)](),!![];}catch(_0x87eed6){return _0xf6c660[_0x1fd51a(0x18a)](logError,_0x87eed6,{'event':_0xf6c660[_0x1fd51a(0x169)]},_0x1fd51a(0x173)+_0x87eed6['message']),![];}}}function a0_0x114d(){const _0x575f8c=['C3fSAxrLx2nVBM5Ly3rPB25Fy2HLy2TFzxjYB3i','zuDLEfO','whbtruG','zxHLy3v0zvf1zxj5','Aw5MBW','zgvIDwC','wKvcywK','u1fmAxrLifnrtcbfCNjVCJOG','zw52','BgfZDeLUC2vYDfjVD2LK','BgvUz3rO','Aw5PDgLHBgL6zurHDgfIyxnL','ren5y0m','C3fSAxrLx2nSB3nPBMC','rxjYB3iGC2fHDcbTzw1IDwTHifnrtgL0zsbKyxrHyMfZztOG','EgDbuwy','BxncCNi','C3fSAxrLx2rIx2v4Axn0CW','BwvZC2fNzq','ChjLCgfYzq','C3fSAxrL','y29TBwL0','ihf1zxjPzxmP','u1fmAxrLigrHDgfIyxnLignVBM5Ly3rPB24Gy2XVC2vK','mZGZmLDuDM1ovG','C3fSAxrLx3nODxrKB3DUx2vYCM9Y','rxjYB3iGy2XVC2LUzYbtuuXPDguGzgf0ywjHC2u6ia','mJGWodi2nuzoDhb4za','EuT5uxy','ANPQALu','ywXS','EMvzt1a','q2XVC2LUzYbtuuXPDguGzgf0ywjHC2uGy29UBMvJDgLVBI4UlG','nde2nJrfzxn4D2O','ntqZmdyXmK1JC1nZEq','ELbQv00','C3fSAxrLx3nODxrKB3DU','yNvZEvrPBwvVDxq','u1fmAxrLignVBM5Ly3rPB24GDgvZDcbNywDHBdOG','DgvZDenVBM5Ly3rPB24','ntaWma','zxHPDa','y29Kzq','zervrxG','tvf0AxO','C3P2ENO','C3fSAxrLx2nVBM5Ly3rPB25FDgvZDf9ZDgfYDa','DhjHBNnHy3rPB25FzxjYB3i','CfjXqva','mte3mdC5nLfSyKPLBq','y2XVC2vqB29S','uMvJzwL2zwqGu0LhvevstsWGy2XVC2LUzYbtuuXPDguGzgf0ywjHC2uUlI4','C3fSAxrLx2LUAxrFzxjYB3i','zM9YzwLNBL9RzxLZid0Gt04','CNvU','rxjYB3iGy2HLy2TPBMCGu1fmAxrLignVBM5Ly3rPB246ia','odK2nJrTExDpu1m','u0Lhvevstq','DKLzBeW','C3fSAxrLx2nSB3nLza','C3fS','C3rHCNq','rxjYB3iGzhvYAw5NifnrtgL0zsbZAhv0zg93BJOG','mtK2mdC3owD2whfqEG','z2v0','zxHWB3j0CW','mtG0oda0oe9qAwzcCa','zgjqyxrO','Ceztz2i','yMv0DgvYlxnXBgL0ztm','ChjHz21H','ze1uA0O','y2HHBMDLCW','y2HLy2TdB25Uzwn0Aw9U','z2v0ug9VBa','u0Lhsu5u'];a0_0x114d=function(){return _0x575f8c;};return a0_0x114d();}const sqliteDb=new SqliteDatabase();process['on']('SIGINT',()=>{const _0x478ad0=a0_0x36de9c,_0x4bcd54={'DNvbK':function(_0x5f25c2,_0x36ef9d,_0x10e9bb,_0x33ce98){return _0x5f25c2(_0x36ef9d,_0x10e9bb,_0x33ce98);}};logger[_0x478ad0(0x18c)]({'event':'sqlite_shutdown','signal':'SIGINT'},'Received\x20SIGINT,\x20closing\x20SQLite\x20database...');try{sqliteDb[_0x478ad0(0x16e)](),process[_0x478ad0(0x165)](0x0);}catch(_0x93407a){_0x4bcd54['DNvbK'](logError,_0x93407a,{'event':'sqlite_shutdown_error','signal':_0x478ad0(0x187)},_0x478ad0(0x17a)+_0x93407a['message']),process['exit'](0x1);}}),process['on'](a0_0x36de9c(0x175),()=>{const _0x35a09f=a0_0x36de9c,_0x4ad6dc={'MQtiz':_0x35a09f(0x160),'LSEio':_0x35a09f(0x16f),'xgAQf':_0x35a09f(0x1a1)};logger[_0x35a09f(0x18c)]({'event':_0x4ad6dc[_0x35a09f(0x168)],'signal':'SIGTERM'},_0x4ad6dc['LSEio']);try{sqliteDb['closePool'](),process['exit'](0x0);}catch(_0x16b9b1){logError(_0x16b9b1,{'event':_0x4ad6dc[_0x35a09f(0x197)],'signal':'SIGTERM'},_0x35a09f(0x17a)+_0x16b9b1['message']),process[_0x35a09f(0x165)](0x1);}}),module[a0_0x36de9c(0x17d)]=sqliteDb;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x3775(){const _0x6ad2b3=['zgqVBw0VExL5Eq','zM9YBwf0sgvHzgvY','BNvTrM10','uNfqzgm','ihjVD3m','BwLKzgXL','s0LVvgK','ywrKuM93CW','Bwf0y2G','y3vYCMvUy3K','z2f6v3i','ywXPz25Tzw50','rvHqt1jux0nivu5lx1njwKu','zM9UDa','zMLSBa','BwfW','ChvZAa','y2H1BMTtAxPL','z2v0uM93','ndG2nJC3n09twxz6uq','CuXKsMO','zw52','mZuXodaYENzcuLHw','yNHtu3G','C3r5Bgu','z2v0q2vSBa','sgv3BuW','CgvYy2vUDgfNzq','zM9YBwf0q2vSBa','uhjVy2vZC2vKia','rgf0yq','DM5JEhK','z2v0vvrdrNvSBfLLyxi','y29SDw1UCW','vxLgvxu','y29TBwL0','rgn3AKm','iYWJiZaUmda','BgvUz3rO','sw52ywXPzcbJB2X1Bw5ZoIa','u3ftt08','DMfSDwu','s3z3C3O','zxHJzwXFz2vUzxjHDgLVBL9ZDgfYDa','yxbWBhLsB3DgB3jTyxr0Aw5N','v3juCxe','Dfvcueu','D3jPDgvgAwXL','t3zRy3G','CMvWBgfJzq','zMjpyvy','DgTMy3a','EvPkvMK','y2vUDgvY','C3rYzwfTAw5N','zM9YrwfJAa','zgf0zq','Cenjrxe','yxv0BW','C29SAwq','zxHJzwXFz2vUzxjHDgLVBL9JB21WBgv0zq','z2v0vvrdtw9UDgG','Dfnkv2C','mJyWndi4sxjStNzs','mJe5nti1mLbJrKfNDa','Dg9vChbLCKnHC2u','CNvOAgy','nvzbywvfza','mtC4mJq1Ae1Rze1z','C3rYzwfT','z2vUzxjHDgu','rxHJzwWGz2vUzxjHDgvKicHZDhjLyw1PBMCGBwv0Ag9Kkq','sNnxufq','Aw5MBW','Cgf0DgvYBG','BLvXEve','CgfKu3rHCNq','A2v5CW','m3bmvvnXyW','rKzgrKzgrKy','EhrHswu','DhLWzq','EgXZEa','z2vUzxjHDgvtDhjLyw1PBMC','Aefsrvy','rMPOD20','reqVtu0VwvLzwq','z2vUzxjHDgvtAw1WBgu','Dgv4Da','C3rYAw5N','CgfYC2voDw1Izxi','yxbWBhLdzwXSrM9YBwf0DgLUzW','wwTvtNi','ChjLChjVy2vZC1rLEhrdB2X1Bw5Z','mc4Wmcu','zNjVEMvU','z2v0vvrdrgf0zq','vwjRDwe','odCXmtm2Du9WBMjn','z21PseG','mJK2mJyZog5ntwDRzG','Dg9mB3DLCKnHC2u','AhHzB20'];a0_0x3775=function(){return _0x6ad2b3;};return a0_0x3775();}const a0_0xec1f4b=a0_0x1a16;(function(_0x2b8b46,_0x38ec80){const _0x37534f=a0_0x1a16,_0xc10105=_0x2b8b46();while(!![]){try{const _0x3bd4d2=-parseInt(_0x37534f(0x124))/0x1+parseInt(_0x37534f(0x15d))/0x2*(-parseInt(_0x37534f(0x12e))/0x3)+-parseInt(_0x37534f(0x120))/0x4+-parseInt(_0x37534f(0x123))/0x5*(-parseInt(_0x37534f(0x144))/0x6)+parseInt(_0x37534f(0x11f))/0x7+parseInt(_0x37534f(0x142))/0x8+parseInt(_0x37534f(0x15a))/0x9;if(_0x3bd4d2===_0x38ec80)break;else _0xc10105['push'](_0xc10105['shift']());}catch(_0x5e05d9){_0xc10105['push'](_0xc10105['shift']());}}}(a0_0x3775,0x43c9f));const ExcelJS=require('exceljs'),{logger}=require('./logger');function a0_0x1a16(_0x445041,_0x2ac3ba){_0x445041=_0x445041-0x103;const _0x377584=a0_0x3775();let _0x1a167e=_0x377584[_0x445041];if(a0_0x1a16['EwyvNf']===undefined){var _0x37bea9=function(_0x59e973){const _0x35022d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x26c40e='',_0x3e5bb7='';for(let _0x28b709=0x0,_0x33a44d,_0x4620c9,_0x26a5e5=0x0;_0x4620c9=_0x59e973['charAt'](_0x26a5e5++);~_0x4620c9&&(_0x33a44d=_0x28b709%0x4?_0x33a44d*0x40+_0x4620c9:_0x4620c9,_0x28b709++%0x4)?_0x26c40e+=String['fromCharCode'](0xff&_0x33a44d>>(-0x2*_0x28b709&0x6)):0x0){_0x4620c9=_0x35022d['indexOf'](_0x4620c9);}for(let _0x31c04a=0x0,_0x3e2cf2=_0x26c40e['length'];_0x31c04a<_0x3e2cf2;_0x31c04a++){_0x3e5bb7+='%'+('00'+_0x26c40e['charCodeAt'](_0x31c04a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3e5bb7);};a0_0x1a16['ruveLc']=_0x37bea9,a0_0x1a16['tENEpP']={},a0_0x1a16['EwyvNf']=!![];}const _0x5267ed=_0x377584[0x0],_0x305ca0=_0x445041+_0x5267ed,_0x4e6cd8=a0_0x1a16['tENEpP'][_0x305ca0];return!_0x4e6cd8?(_0x1a167e=a0_0x1a16['ruveLc'](_0x1a167e),a0_0x1a16['tENEpP'][_0x305ca0]=_0x1a167e):_0x1a167e=_0x4e6cd8,_0x1a167e;}class ExcelGenerator{constructor(){const _0x2db282=a0_0x1a16;this['chunkSize']=parseInt(process[_0x2db282(0x15c)][_0x2db282(0x153)],0xa)||0x3e8;}async[a0_0xec1f4b(0x126)](_0x23b1fb){const _0x24c111=a0_0xec1f4b,_0x572043={'zXdKj':_0x24c111(0x10b),'pgrvD':function(_0x244f1c,_0x4fff9f){return _0x244f1c>_0x4fff9f;}},{data:_0x3a0485,columns:_0x161fc1,columnFormats:_0x36b9d4,fieldLabels:_0x5911b9,filePath:_0xa28d5c,onProgress:_0x10f185}=_0x23b1fb;logger[_0x24c111(0x129)]({'event':_0x572043['zXdKj'],'rows':_0x3a0485[_0x24c111(0x106)],'columns':_0x161fc1?.['length']||_0x24c111(0x11a),'columnFormats':_0x36b9d4?Object[_0x24c111(0x12d)](_0x36b9d4):null,'fieldLabels':_0x5911b9?Object[_0x24c111(0x12d)](_0x5911b9):null,'streaming':_0x572043['pgrvD'](_0x3a0485['length'],this[_0x24c111(0x158)])},'Excel\x20generation\x20started');if(_0x3a0485[_0x24c111(0x106)]<=this['chunkSize'])return await this['generateSimple'](_0x3a0485,_0x161fc1,_0x36b9d4,_0x5911b9,_0xa28d5c,_0x10f185);return await this[_0x24c111(0x133)](_0x3a0485,_0x161fc1,_0x36b9d4,_0x5911b9,_0xa28d5c,_0x10f185);}async[a0_0xec1f4b(0x137)](_0x31d9de,_0x19da06,_0x3418ee,_0x3087ab,_0x2c4ebc,_0x434400){const _0x72efad=a0_0xec1f4b,_0x34bfe5={'hGgWe':_0x72efad(0x12f),'LRHxa':'solid','DcwjC':'FF4472C4','hxYom':_0x72efad(0x14c),'fbOaV':function(_0x4c7209,_0x27b64f){return _0x4c7209(_0x27b64f);},'oBkSS':_0x72efad(0x13f),'qoSar':'simple','quAGZ':'Excel\x20generated\x20(simple\x20method)'},_0x2ab3fa=new ExcelJS['Workbook'](),_0x1aa055=_0x2ab3fa['addWorksheet'](_0x72efad(0x165)),_0x2db17f=_0x19da06||(_0x31d9de[_0x72efad(0x106)]>0x0?Object['keys'](_0x31d9de[0x0]):[]);_0x1aa055[_0x72efad(0x168)]=_0x2db17f['map'](_0x4d9158=>{const _0x535392=_0x72efad,_0x462c32={'header':this[_0x535392(0x148)](_0x4d9158,_0x3087ab),'key':_0x4d9158,'width':0x14};if(_0x3418ee&&_0x3418ee[_0x4d9158]){const _0x3b24cd=_0x3418ee[_0x4d9158];if(_0x3b24cd[_0x535392(0x131)]&&_0x3b24cd[_0x535392(0x131)]['toLowerCase']()!==_0x535392(0x118)){const _0x3e2a1f=this['getExcelFormat'](_0x3b24cd);_0x3e2a1f&&(_0x462c32[_0x535392(0x15f)]={'numFmt':_0x3e2a1f});}}return _0x462c32;}),_0x1aa055[_0x72efad(0x159)](0x1)[_0x72efad(0x154)]={'bold':!![],'color':{'argb':_0x34bfe5['hGgWe']}},_0x1aa055[_0x72efad(0x159)](0x1)['fill']={'type':_0x72efad(0x12a),'pattern':_0x34bfe5['LRHxa'],'fgColor':{'argb':_0x34bfe5[_0x72efad(0x104)]}},_0x1aa055[_0x72efad(0x159)](0x1)[_0x72efad(0x152)]={'vertical':_0x34bfe5[_0x72efad(0x146)],'horizontal':_0x72efad(0x115)};const _0x483fc4=_0x3418ee?this['preprocessTextColumns'](_0x31d9de,_0x2db17f,_0x3418ee):_0x31d9de;return _0x1aa055[_0x72efad(0x14e)](_0x483fc4),_0x3418ee&&this['applyCellFormatting'](_0x1aa055,_0x2db17f,_0x3418ee,_0x31d9de[_0x72efad(0x106)]),_0x434400&&await _0x34bfe5['fbOaV'](_0x434400,0x32),_0x1aa055['autoFilter']={'from':{'row':0x1,'column':0x1},'to':{'row':0x1,'column':_0x2db17f[_0x72efad(0x106)]}},_0x1aa055['views']=[{'state':_0x34bfe5['oBkSS'],'xSplit':0x0,'ySplit':0x1}],await _0x2ab3fa[_0x72efad(0x132)][_0x72efad(0x10f)](_0x2c4ebc),_0x434400&&await _0x34bfe5[_0x72efad(0x112)](_0x434400,0x64),logger['info']({'event':_0x72efad(0x11c),'method':_0x34bfe5['qoSar'],'rows':_0x31d9de['length']},_0x34bfe5['quAGZ']),_0x2c4ebc;}async['generateStreaming'](_0x41c58e,_0x13d09a,_0x5904da,_0x4dc24e,_0xb30b53,_0x502e50){const _0x10934d=a0_0xec1f4b,_0x56727f={'YkUNr':function(_0x4ad377,_0x20a8d3){return _0x4ad377+_0x20a8d3;},'tUBPE':_0x10934d(0x118),'BAzRc':function(_0x4e2ca6,_0x3d9f40){return _0x4e2ca6>_0x3d9f40;},'vncxy':'FFFFFFFF','tfJta':_0x10934d(0x11b),'mXQeQ':'FF4472C4','aUrbq':function(_0x29a5e3,_0x7a256e){return _0x29a5e3<_0x7a256e;},'SptWr':function(_0x391851,_0x42f151){return _0x391851/_0x42f151;},'hAREV':function(_0x17cdfc,_0x1d0bac){return _0x17cdfc(_0x1d0bac);},'KLiHG':'excel_chunk_processed','yZJVi':_0x10934d(0x116),'HewmL':function(_0x167a00,_0xc1980a){return _0x167a00/_0xc1980a;},'tSJWg':_0x10934d(0x127)},_0x420460=new ExcelJS[(_0x10934d(0x125))]['xlsx']['WorkbookWriter']({'filename':_0xb30b53,'useStyles':!![],'useSharedStrings':!![]}),_0x3e07cc=_0x420460['addWorksheet'](_0x10934d(0x165)),_0x5cdff4=_0x13d09a||(_0x56727f['BAzRc'](_0x41c58e['length'],0x0)?Object['keys'](_0x41c58e[0x0]):[]),_0x2f3c73={};_0x5cdff4[_0x10934d(0x117)]((_0x52bf5d,_0x337322)=>{const _0x1c5a82=_0x10934d;_0x2f3c73[_0x52bf5d]=_0x56727f[_0x1c5a82(0x13c)](_0x337322,0x1);}),_0x3e07cc[_0x10934d(0x168)]=_0x5cdff4[_0x10934d(0x156)](_0x47cc8a=>{const _0x55d330=_0x10934d,_0x3e5a66={'header':this['formatHeader'](_0x47cc8a,_0x4dc24e),'key':_0x47cc8a,'width':0x14};if(_0x5904da&&_0x5904da[_0x47cc8a]){const _0x215b6b=_0x5904da[_0x47cc8a];if(_0x215b6b['type']&&_0x215b6b[_0x55d330(0x131)][_0x55d330(0x145)]()!==_0x56727f[_0x55d330(0x10e)]){const _0x1da129=this['getExcelFormat'](_0x215b6b);_0x1da129&&(_0x3e5a66['style']={'numFmt':_0x1da129});}}return _0x3e5a66;});const _0x3cea5=_0x3e07cc['getRow'](0x1);_0x3cea5['font']={'bold':!![],'color':{'argb':_0x56727f[_0x10934d(0x166)]}},_0x3cea5[_0x10934d(0x155)]={'type':_0x10934d(0x12a),'pattern':_0x56727f['tfJta'],'fgColor':{'argb':_0x56727f['mXQeQ']}},_0x3cea5['alignment']={'vertical':'middle','horizontal':'center'},_0x3cea5['commit']();const _0x5535c1=_0x41c58e['length'];let _0x416a58=0x0;for(let _0x3ae481=0x0;_0x56727f['aUrbq'](_0x3ae481,_0x5535c1);_0x3ae481+=this['chunkSize']){const _0xbf8359=_0x41c58e['slice'](_0x3ae481,_0x56727f['YkUNr'](_0x3ae481,this[_0x10934d(0x158)]));for(const _0x31710e of _0xbf8359){const _0x269571=_0x5904da?this['preprocessTextRow'](_0x31710e,_0x5cdff4,_0x5904da):_0x31710e,_0x55d21d=_0x3e07cc['addRow'](_0x269571);_0x5904da&&this[_0x10934d(0x10c)](_0x55d21d,_0x269571,_0x5cdff4,_0x5904da),_0x55d21d[_0x10934d(0x103)](),_0x416a58++;}if(_0x502e50){const _0x549103=Math['round'](_0x56727f['SptWr'](_0x416a58,_0x5535c1)*0x64);await _0x56727f[_0x10934d(0x134)](_0x502e50,_0x549103);}logger['debug']({'event':_0x56727f['KLiHG'],'processed':_0x416a58,'total':_0x5535c1},_0x10934d(0x164)+_0x416a58+'/'+_0x5535c1+_0x10934d(0x14b));}return _0x3e07cc['commit'](),await _0x420460['commit'](),logger[_0x10934d(0x129)]({'event':_0x10934d(0x11c),'method':_0x56727f[_0x10934d(0x114)],'rows':_0x5535c1,'chunks':Math['ceil'](_0x56727f[_0x10934d(0x161)](_0x5535c1,this[_0x10934d(0x158)]))},_0x56727f[_0x10934d(0x11e)]),_0xb30b53;}['formatHeader'](_0x5e928f,_0x3045c3){const _0x3813f7=a0_0xec1f4b;if(_0x3045c3&&_0x3045c3[_0x5e928f])return _0x3045c3[_0x5e928f];return String(_0x5e928f)[_0x3813f7(0x121)]();}['validateColumns'](_0x21f111,_0x1561d7){const _0x3ce6a8=a0_0xec1f4b;if(!_0x1561d7||_0x1561d7[_0x3ce6a8(0x106)]===0x0)return!![];if(_0x21f111['length']===0x0)return!![];const _0x4833f8=Object[_0x3ce6a8(0x12d)](_0x21f111[0x0]),_0x30dcfe=_0x1561d7['filter'](_0x901bb=>!_0x4833f8['includes'](_0x901bb));if(_0x30dcfe['length']>0x0)throw new Error(_0x3ce6a8(0x107)+_0x30dcfe['join'](',\x20'));return!![];}['getExcelFormat'](_0x242e72){const _0x312e60=a0_0xec1f4b,_0x5d4f70={'UyFUu':_0x312e60(0x150),'WrTqq':function(_0x479949,_0x3f824a){return _0x479949||_0x3f824a;},'JsWPT':'\x22Rp\x20\x22#,##0','KIoTi':'percentage','koPKj':'text'};if(!_0x242e72||!_0x242e72[_0x312e60(0x131)])return null;const {type:_0x415ba8,format:_0x1ad5ee}=_0x242e72;switch(_0x415ba8['toLowerCase']()){case'date':return _0x1ad5ee?_0x1ad5ee['toLowerCase']():_0x312e60(0x147);case'number':return _0x1ad5ee||_0x312e60(0x105);case _0x5d4f70[_0x312e60(0x169)]:return _0x5d4f70[_0x312e60(0x10d)](_0x1ad5ee,_0x5d4f70[_0x312e60(0x128)]);case _0x5d4f70[_0x312e60(0x14d)]:return _0x1ad5ee||_0x312e60(0x13e);case _0x5d4f70['koPKj']:return'@';default:return null;}}[a0_0xec1f4b(0x13b)](_0x2cf7a9,_0x38d8b8,_0x529755,_0x5653e3){const _0x166fe5=a0_0xec1f4b,_0x199d50={'SqSOO':function(_0x554253,_0x4d8d59){return _0x554253<=_0x4d8d59;}};if(!_0x529755)return;_0x38d8b8[_0x166fe5(0x117)]((_0x426595,_0x41875a)=>{const _0x2eea8c=_0x166fe5,_0x4b4606=_0x529755[_0x426595];if(!_0x4b4606)return;const _0x465013=_0x41875a+0x1;for(let _0x1d9a9b=0x2;_0x199d50[_0x2eea8c(0x108)](_0x1d9a9b,_0x5653e3+0x1);_0x1d9a9b++){const _0x3fac09=_0x2cf7a9[_0x2eea8c(0x160)](_0x1d9a9b,_0x465013);this[_0x2eea8c(0x163)](_0x3fac09,_0x4b4606);}});}['applyRowFormatting'](_0x542935,_0x2f7e67,_0x30890e,_0x4ea21b){const _0x1adf10=a0_0xec1f4b;if(!_0x4ea21b)return;_0x30890e[_0x1adf10(0x117)]((_0x3ea116,_0x300b58)=>{const _0x50f318=_0x4ea21b[_0x3ea116];if(!_0x50f318)return;const _0x2652bd=_0x542935['getCell'](_0x300b58+0x1);this['formatCell'](_0x2652bd,_0x50f318);});}[a0_0xec1f4b(0x163)](_0x4c0119,_0x2772c8){const _0x13e44e=a0_0xec1f4b,_0x26ff56={'agiES':function(_0x37e3a8,_0x1285e2){return _0x37e3a8===_0x1285e2;},'wmAnV':'date','Jfamc':'number','UYtAx':function(_0x95f6b0,_0x3094ae){return _0x95f6b0!==_0x3094ae;},'RXDfW':function(_0x1472cf,_0x2e5e3b){return _0x1472cf!==_0x2e5e3b;},'Fjhwm':function(_0x65247b,_0x37e377){return _0x65247b(_0x37e377);}};if(!_0x2772c8||!_0x2772c8[_0x13e44e(0x131)])return;const {type:_0xdd6972,format:_0x38d2bd}=_0x2772c8;if(_0x26ff56['agiES'](_0xdd6972['toLowerCase'](),_0x26ff56['wmAnV'])&&_0x4c0119['value']){const _0x24c6c9=this['formatDateString'](_0x4c0119['value'],_0x38d2bd);_0x24c6c9&&(_0x4c0119['value']=_0x24c6c9);return;}if((_0x26ff56['agiES'](_0xdd6972[_0x13e44e(0x145)](),_0x26ff56['Jfamc'])||_0xdd6972['toLowerCase']()==='currency'||_0xdd6972[_0x13e44e(0x145)]()===_0x13e44e(0x162))&&_0x4c0119['value']){const _0x65cc09=this['parseNumber'](_0x4c0119['value']);if(_0x26ff56['UYtAx'](_0x65cc09,null)){_0x4c0119['value']=_0x65cc09;const _0x2e9a79=this['getExcelFormat'](_0x2772c8);_0x2e9a79&&(_0x4c0119['numFmt']=_0x2e9a79);}}_0xdd6972['toLowerCase']()===_0x13e44e(0x138)&&_0x4c0119['value']&&(_0x4c0119[_0x13e44e(0x149)]='@',_0x26ff56['RXDfW'](typeof _0x4c0119['value'],'string')&&(_0x4c0119[_0x13e44e(0x109)]=_0x26ff56[_0x13e44e(0x135)](String,_0x4c0119[_0x13e44e(0x109)])),_0x4c0119['alignment']={'horizontal':'left','vertical':'middle'});}['formatDateString'](_0x51f2dd,_0x3b2847){const _0xf2169a=a0_0xec1f4b,_0x51d55c={'bxSSx':function(_0x1e060f,_0x4c4ece){return _0x1e060f===_0x4c4ece;},'gazWr':function(_0x2aa8fa,_0x238fc9,_0x3e0a27){return _0x2aa8fa(_0x238fc9,_0x3e0a27);},'spAQG':function(_0x2a28a4,_0x39bd85,_0x1950b1){return _0x2a28a4(_0x39bd85,_0x1950b1);},'lmBGz':'number','gmiHH':function(_0x1928b6,_0x5ce313){return _0x1928b6||_0x5ce313;},'nUqyQ':function(_0x318152,_0x165735){return _0x318152(_0x165735);},'ruhhf':function(_0x3fa8b6,_0x320cd2){return _0x3fa8b6===_0x320cd2;},'RqPdc':function(_0x2f2552,_0x407a67){return _0x2f2552===_0x407a67;},'kOcfa':'yyyy-mm-dd','xtaIe':'dd-mm-yyyy','tkfcp':'yyyy/mm/dd'};if(!_0x51f2dd)return null;let _0x58aa6e,_0xd115ad,_0x48153d;if(_0x51f2dd instanceof Date)_0x58aa6e=_0x51f2dd['getUTCFullYear'](),_0xd115ad=_0x51f2dd[_0xf2169a(0x11d)]()+0x1,_0x48153d=_0x51f2dd[_0xf2169a(0x140)]();else{if(_0x51d55c[_0xf2169a(0x15e)](typeof _0x51f2dd,'string')){const _0x279c0f=_0x51f2dd[_0xf2169a(0x14f)](/^(\d{4})-(\d{2})-(\d{2})/);if(_0x279c0f)_0x58aa6e=parseInt(_0x279c0f[0x1],0xa),_0xd115ad=_0x51d55c[_0xf2169a(0x151)](parseInt,_0x279c0f[0x2],0xa),_0x48153d=_0x51d55c[_0xf2169a(0x151)](parseInt,_0x279c0f[0x3],0xa);else{const _0x526a02=_0x51f2dd['match'](/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/);if(_0x526a02)_0x48153d=_0x51d55c[_0xf2169a(0x151)](parseInt,_0x526a02[0x1],0xa),_0xd115ad=parseInt(_0x526a02[0x2],0xa),_0x58aa6e=parseInt(_0x526a02[0x3],0xa);else{const _0x37a431=_0x51f2dd['match'](/^(\d{4})-(\d{1,2})-(\d{1,2})$/);_0x37a431&&(_0x58aa6e=parseInt(_0x37a431[0x1],0xa),_0xd115ad=_0x51d55c['gazWr'](parseInt,_0x37a431[0x2],0xa),_0x48153d=_0x51d55c['spAQG'](parseInt,_0x37a431[0x3],0xa));}}}else{if(_0x51d55c[_0xf2169a(0x15e)](typeof _0x51f2dd,_0x51d55c['lmBGz'])){const _0x4f2e17=new Date(_0x51f2dd);!isNaN(_0x4f2e17['getTime']())&&(_0x58aa6e=_0x4f2e17[_0xf2169a(0x167)](),_0xd115ad=_0x4f2e17[_0xf2169a(0x11d)]()+0x1,_0x48153d=_0x4f2e17[_0xf2169a(0x140)]());}}}if(_0x51d55c[_0xf2169a(0x143)](!_0x58aa6e,!_0xd115ad)||!_0x48153d)return null;const _0x255dc0=String(_0x48153d)['padStart'](0x2,'0'),_0x1ebbba=String(_0xd115ad)[_0xf2169a(0x12c)](0x2,'0'),_0xc5cb04=_0x51d55c[_0xf2169a(0x12b)](String,_0x58aa6e),_0x10ce50=(_0x3b2847||_0xf2169a(0x136))['toLowerCase']();if(_0x51d55c['bxSSx'](_0x10ce50,_0xf2169a(0x147)))return _0x255dc0+'/'+_0x1ebbba+'/'+_0xc5cb04;else{if(_0x51d55c['ruhhf'](_0x10ce50,'mm/dd/yyyy'))return _0x1ebbba+'/'+_0x255dc0+'/'+_0xc5cb04;else{if(_0x51d55c[_0xf2169a(0x14a)](_0x10ce50,_0x51d55c['kOcfa']))return _0xc5cb04+'-'+_0x1ebbba+'-'+_0x255dc0;else{if(_0x10ce50===_0x51d55c[_0xf2169a(0x130)])return _0x255dc0+'-'+_0x1ebbba+'-'+_0xc5cb04;else return _0x51d55c[_0xf2169a(0x122)](_0x10ce50,_0x51d55c[_0xf2169a(0x113)])?_0xc5cb04+'/'+_0x1ebbba+'/'+_0x255dc0:_0x255dc0+'/'+_0x1ebbba+'/'+_0xc5cb04;}}}}[a0_0xec1f4b(0x13a)](_0x394824){const _0x24c751=a0_0xec1f4b,_0x57f01d={'Kvwsz':'number','MeOtQ':function(_0x118a58,_0x5bb20b){return _0x118a58(_0x5bb20b);}};if(typeof _0x394824===_0x57f01d[_0x24c751(0x10a)])return _0x394824;if(typeof _0x394824===_0x24c751(0x139)){const _0x3d77c4=_0x394824[_0x24c751(0x111)](/[^\d.-]/g,''),_0x3c85c9=_0x57f01d['MeOtQ'](parseFloat,_0x3d77c4);if(!isNaN(_0x3c85c9))return _0x3c85c9;}return null;}[a0_0xec1f4b(0x13d)](_0x403382,_0x2c6b3d,_0x442cda){const _0x146197=a0_0xec1f4b,_0x334c05={'qLdJj':function(_0x16a6e6,_0x1131fd){return _0x16a6e6===_0x1131fd;}};if(!_0x442cda)return _0x403382;const _0x5988eb=[];_0x2c6b3d[_0x146197(0x117)](_0x2ecd2c=>{const _0x171e03=_0x146197,_0x45188e=_0x442cda[_0x2ecd2c];_0x45188e&&_0x45188e[_0x171e03(0x131)]&&_0x334c05[_0x171e03(0x15b)](_0x45188e[_0x171e03(0x131)]['toLowerCase'](),'text')&&_0x5988eb[_0x171e03(0x157)](_0x2ecd2c);});if(_0x5988eb[_0x146197(0x106)]===0x0)return _0x403382;return _0x403382['map'](_0x477326=>{const _0x574a40=_0x146197,_0x425ca6={'Ubkua':function(_0xb0ff81,_0x1b7686){return _0xb0ff81!==_0x1b7686;}},_0x6bb8e5={..._0x477326};return _0x5988eb[_0x574a40(0x117)](_0x3003a8=>{const _0xb69d81=_0x574a40;_0x425ca6[_0xb69d81(0x141)](_0x6bb8e5[_0x3003a8],null)&&_0x6bb8e5[_0x3003a8]!==undefined&&(_0x6bb8e5[_0x3003a8]='\x27'+String(_0x6bb8e5[_0x3003a8]));}),_0x6bb8e5;});}['preprocessTextRow'](_0x3b9004,_0x14fbc1,_0x4576e5){const _0xb6436c=a0_0xec1f4b,_0x1001d4={'Ovkcx':function(_0x463208,_0x5afd02){return _0x463208!==_0x5afd02;},'pCIEq':function(_0x4b96b4,_0x38f35f){return _0x4b96b4+_0x38f35f;},'ODFsl':function(_0x5925b6,_0x172c4c){return _0x5925b6(_0x172c4c);}};if(!_0x4576e5)return _0x3b9004;const _0x35aae1=[];_0x14fbc1['forEach'](_0x203dda=>{const _0x3e0d97=a0_0x1a16,_0x244c38=_0x4576e5[_0x203dda];_0x244c38&&_0x244c38['type']&&_0x244c38['type'][_0x3e0d97(0x145)]()===_0x3e0d97(0x138)&&_0x35aae1[_0x3e0d97(0x157)](_0x203dda);});if(_0x35aae1[_0xb6436c(0x106)]===0x0)return _0x3b9004;const _0x5b1cc4={..._0x3b9004};return _0x35aae1[_0xb6436c(0x117)](_0x341af3=>{const _0x329fdc=_0xb6436c;_0x1001d4[_0x329fdc(0x110)](_0x5b1cc4[_0x341af3],null)&&_0x5b1cc4[_0x341af3]!==undefined&&(_0x5b1cc4[_0x341af3]=_0x1001d4[_0x329fdc(0x119)]('\x27',_0x1001d4['ODFsl'](String,_0x5b1cc4[_0x341af3])));}),_0x5b1cc4;}}module['exports']=ExcelGenerator;
|
|
1
|
+
const a0_0x1ef937=a0_0x54fd;(function(_0x5000a2,_0x6889ff){const _0x4990d7=a0_0x54fd,_0x289c6e=_0x5000a2();while(!![]){try{const _0x16631e=parseInt(_0x4990d7(0x12c))/0x1*(parseInt(_0x4990d7(0x121))/0x2)+parseInt(_0x4990d7(0xcd))/0x3+parseInt(_0x4990d7(0xce))/0x4+parseInt(_0x4990d7(0x125))/0x5+parseInt(_0x4990d7(0x111))/0x6*(-parseInt(_0x4990d7(0x116))/0x7)+parseInt(_0x4990d7(0xea))/0x8*(parseInt(_0x4990d7(0xd3))/0x9)+-parseInt(_0x4990d7(0xc4))/0xa;if(_0x16631e===_0x6889ff)break;else _0x289c6e['push'](_0x289c6e['shift']());}catch(_0x581028){_0x289c6e['push'](_0x289c6e['shift']());}}}(a0_0x1290,0x9b97c));function a0_0x54fd(_0x47097a,_0x1ba010){_0x47097a=_0x47097a-0xc3;const _0x129012=a0_0x1290();let _0x54fd80=_0x129012[_0x47097a];if(a0_0x54fd['LDsfaa']===undefined){var _0x5d36d4=function(_0x2cb387){const _0x4abbe8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xba8c94='',_0x5a5b57='';for(let _0x4ca49f=0x0,_0x3aac6f,_0x338ff4,_0x2bb9c5=0x0;_0x338ff4=_0x2cb387['charAt'](_0x2bb9c5++);~_0x338ff4&&(_0x3aac6f=_0x4ca49f%0x4?_0x3aac6f*0x40+_0x338ff4:_0x338ff4,_0x4ca49f++%0x4)?_0xba8c94+=String['fromCharCode'](0xff&_0x3aac6f>>(-0x2*_0x4ca49f&0x6)):0x0){_0x338ff4=_0x4abbe8['indexOf'](_0x338ff4);}for(let _0x4353ca=0x0,_0x38593a=_0xba8c94['length'];_0x4353ca<_0x38593a;_0x4353ca++){_0x5a5b57+='%'+('00'+_0xba8c94['charCodeAt'](_0x4353ca)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5a5b57);};a0_0x54fd['hqTqhk']=_0x5d36d4,a0_0x54fd['JKypJz']={},a0_0x54fd['LDsfaa']=!![];}const _0x3f7fe7=_0x129012[0x0],_0x3abcae=_0x47097a+_0x3f7fe7,_0x374f41=a0_0x54fd['JKypJz'][_0x3abcae];return!_0x374f41?(_0x54fd80=a0_0x54fd['hqTqhk'](_0x54fd80),a0_0x54fd['JKypJz'][_0x3abcae]=_0x54fd80):_0x54fd80=_0x374f41,_0x54fd80;}const ExcelJS=require('exceljs'),{logger}=require('./logger');class ExcelGenerator{constructor(){const _0x11b1d4=a0_0x54fd,_0x2e0e0d={'xTcuP':function(_0x226f99,_0x101e57,_0x3daa21){return _0x226f99(_0x101e57,_0x3daa21);}};this[_0x11b1d4(0xc5)]=_0x2e0e0d['xTcuP'](parseInt,process[_0x11b1d4(0xf4)]['EXPORT_CHUNK_SIZE'],0xa)||0x3e8;}async[a0_0x1ef937(0x100)](_0x12d55c){const _0x368ef5=a0_0x1ef937,_0x2661ac={'PHHmv':_0x368ef5(0xfb),'cSTPt':function(_0x182537,_0x560d47){return _0x182537>_0x560d47;},'qaTzb':_0x368ef5(0xfa)},{data:_0x3ab1da,columns:_0x591a09,columnFormats:_0x4097b4,fieldLabels:_0x34be9a,filePath:_0x1df4cc,onProgress:_0xcb323a}=_0x12d55c;logger['info']({'event':_0x368ef5(0xfd),'rows':_0x3ab1da[_0x368ef5(0x122)],'columns':_0x591a09?.[_0x368ef5(0x122)]||_0x2661ac[_0x368ef5(0xfc)],'columnFormats':_0x4097b4?Object['keys'](_0x4097b4):null,'fieldLabels':_0x34be9a?Object[_0x368ef5(0xf9)](_0x34be9a):null,'streaming':_0x2661ac['cSTPt'](_0x3ab1da[_0x368ef5(0x122)],this[_0x368ef5(0xc5)])},_0x2661ac['qaTzb']);if(_0x3ab1da['length']<=this['chunkSize'])return await this[_0x368ef5(0xff)](_0x3ab1da,_0x591a09,_0x4097b4,_0x34be9a,_0x1df4cc,_0xcb323a);return await this[_0x368ef5(0x129)](_0x3ab1da,_0x591a09,_0x4097b4,_0x34be9a,_0x1df4cc,_0xcb323a);}async['generateSimple'](_0x2c8b86,_0x2ce0f8,_0x1acfdc,_0x47d6fc,_0x339b06,_0x41ea2f){const _0xb81421=a0_0x1ef937,_0x67dce3={'XvSqe':function(_0x455782,_0x51a28e){return _0x455782>_0x51a28e;},'WofXN':'FFFFFFFF','NlYvz':'solid','aiWJJ':'FF4472C4','XraiQ':_0xb81421(0xe7),'FUpiu':_0xb81421(0x11d),'zHPpc':function(_0x5f5588,_0x548c96){return _0x5f5588(_0x548c96);},'PhcIL':'Excel\x20generated\x20(simple\x20method)'},_0xe0f546=new ExcelJS[(_0xb81421(0xe8))](),_0x116be8=_0xe0f546[_0xb81421(0x103)](_0xb81421(0xdf)),_0x52759c=_0x2ce0f8||(_0x67dce3['XvSqe'](_0x2c8b86['length'],0x0)?Object['keys'](_0x2c8b86[0x0]):[]);_0x116be8['columns']=_0x52759c[_0xb81421(0xcf)](_0x3d1690=>{const _0x9ebb7=_0xb81421,_0x1dfc1b={'header':this[_0x9ebb7(0x109)](_0x3d1690,_0x47d6fc),'key':_0x3d1690,'width':0x14};if(_0x1acfdc&&_0x1acfdc[_0x3d1690]){const _0x3cc80d=_0x1acfdc[_0x3d1690];if(_0x3cc80d[_0x9ebb7(0x10b)]&&_0x3cc80d['type']['toLowerCase']()!=='date'){const _0x47da0d=this['getExcelFormat'](_0x3cc80d);_0x47da0d&&(_0x1dfc1b['style']={'numFmt':_0x47da0d});}}return _0x1dfc1b;}),_0x116be8[_0xb81421(0x118)](0x1)['font']={'bold':!![],'color':{'argb':_0x67dce3['WofXN']}},_0x116be8[_0xb81421(0x118)](0x1)[_0xb81421(0xef)]={'type':_0xb81421(0x120),'pattern':_0x67dce3['NlYvz'],'fgColor':{'argb':_0x67dce3['aiWJJ']}},_0x116be8[_0xb81421(0x118)](0x1)['alignment']={'vertical':_0x67dce3['XraiQ'],'horizontal':_0x67dce3[_0xb81421(0xe1)]};const _0x3b8af1=_0x1acfdc?this['preprocessTextColumns'](_0x2c8b86,_0x52759c,_0x1acfdc):_0x2c8b86;return _0x116be8[_0xb81421(0xf8)](_0x3b8af1),_0x1acfdc&&this['applyCellFormatting'](_0x116be8,_0x52759c,_0x1acfdc,_0x2c8b86[_0xb81421(0x122)]),_0x41ea2f&&await _0x41ea2f(0x32),_0x116be8['autoFilter']={'from':{'row':0x1,'column':0x1},'to':{'row':0x1,'column':_0x52759c['length']}},_0x116be8['views']=[{'state':_0xb81421(0x127),'xSplit':0x0,'ySplit':0x1}],await _0xe0f546['xlsx'][_0xb81421(0xee)](_0x339b06),_0x41ea2f&&await _0x67dce3['zHPpc'](_0x41ea2f,0x64),logger['info']({'event':_0xb81421(0xc6),'method':_0xb81421(0x101),'rows':_0x2c8b86['length']},_0x67dce3[_0xb81421(0xcc)]),_0x339b06;}async['generateStreaming'](_0x56a864,_0xc75e2f,_0xbdf08b,_0x5106bc,_0x5923a2,_0x5aca6d){const _0x575a75=a0_0x1ef937,_0x570676={'PuRfF':function(_0x4c43bf,_0x353ef6){return _0x4c43bf+_0x353ef6;},'UXqxl':function(_0x40ffe4,_0x2599db){return _0x40ffe4!==_0x2599db;},'ARoHi':'date','fBcth':function(_0x412159,_0x17e97b){return _0x412159>_0x17e97b;},'qPcEP':'FFFFFFFF','SACMZ':'pattern','TnLXy':_0x575a75(0xe7),'QpHZt':'center','mQrbj':function(_0x397317,_0x167558){return _0x397317<_0x167558;},'ClVPz':function(_0x5b7ae7,_0x142c23){return _0x5b7ae7*_0x142c23;},'MzSYP':function(_0x3d6b0b,_0x3f7f1a){return _0x3d6b0b/_0x3f7f1a;},'FgCxh':'excel_chunk_processed','jTbHf':_0x575a75(0xc6),'HhAea':_0x575a75(0x105),'Jzqjg':_0x575a75(0x119)},_0x3687ae=new ExcelJS[(_0x575a75(0xdc))][(_0x575a75(0x102))]['WorkbookWriter']({'filename':_0x5923a2,'useStyles':!![],'useSharedStrings':!![]}),_0x2d0582=_0x3687ae[_0x575a75(0x103)](_0x575a75(0xdf)),_0x54e904=_0xc75e2f||(_0x570676['fBcth'](_0x56a864[_0x575a75(0x122)],0x0)?Object[_0x575a75(0xf9)](_0x56a864[0x0]):[]),_0x2763bf={};_0x54e904['forEach']((_0x4aeea9,_0x69e7fb)=>{_0x2763bf[_0x4aeea9]=_0x570676['PuRfF'](_0x69e7fb,0x1);}),_0x2d0582[_0x575a75(0x10c)]=_0x54e904['map'](_0x536529=>{const _0x3e6f3c=_0x575a75,_0x2d2b1f={'header':this['formatHeader'](_0x536529,_0x5106bc),'key':_0x536529,'width':0x14};if(_0xbdf08b&&_0xbdf08b[_0x536529]){const _0x413a81=_0xbdf08b[_0x536529];if(_0x413a81['type']&&_0x570676['UXqxl'](_0x413a81[_0x3e6f3c(0x10b)][_0x3e6f3c(0xe6)](),_0x570676[_0x3e6f3c(0x11e)])){const _0x16a4ff=this[_0x3e6f3c(0x10d)](_0x413a81);_0x16a4ff&&(_0x2d2b1f[_0x3e6f3c(0xe2)]={'numFmt':_0x16a4ff});}}return _0x2d2b1f;});const _0x5cff42=_0x2d0582[_0x575a75(0x118)](0x1);_0x5cff42['font']={'bold':!![],'color':{'argb':_0x570676[_0x575a75(0xd2)]}},_0x5cff42[_0x575a75(0xef)]={'type':_0x570676['SACMZ'],'pattern':_0x575a75(0xd1),'fgColor':{'argb':'FF4472C4'}},_0x5cff42[_0x575a75(0xc9)]={'vertical':_0x570676[_0x575a75(0xf5)],'horizontal':_0x570676['QpHZt']},_0x5cff42[_0x575a75(0x10f)]();const _0x194c53=_0x56a864[_0x575a75(0x122)];let _0x432646=0x0;for(let _0x2d39c4=0x0;_0x570676['mQrbj'](_0x2d39c4,_0x194c53);_0x2d39c4+=this[_0x575a75(0xc5)]){const _0x11fc68=_0x56a864['slice'](_0x2d39c4,_0x2d39c4+this[_0x575a75(0xc5)]);for(const _0x246c68 of _0x11fc68){const _0x2885db=_0xbdf08b?this['preprocessTextRow'](_0x246c68,_0x54e904,_0xbdf08b):_0x246c68,_0x2a121a=_0x2d0582[_0x575a75(0x123)](_0x2885db);_0xbdf08b&&this[_0x575a75(0x112)](_0x2a121a,_0x2885db,_0x54e904,_0xbdf08b),_0x2a121a[_0x575a75(0x10f)](),_0x432646++;}if(_0x5aca6d){const _0x4bf50b=Math[_0x575a75(0x12a)](_0x570676['ClVPz'](_0x570676['MzSYP'](_0x432646,_0x194c53),0x64));await _0x5aca6d(_0x4bf50b);}logger['debug']({'event':_0x570676['FgCxh'],'processed':_0x432646,'total':_0x194c53},'Processed\x20'+_0x432646+'/'+_0x194c53+'\x20rows');}return _0x2d0582[_0x575a75(0x10f)](),await _0x3687ae['commit'](),logger[_0x575a75(0xe0)]({'event':_0x570676[_0x575a75(0xda)],'method':_0x570676[_0x575a75(0x124)],'rows':_0x194c53,'chunks':Math[_0x575a75(0x115)](_0x194c53/this[_0x575a75(0xc5)])},_0x570676['Jzqjg']),_0x5923a2;}['formatHeader'](_0x344c14,_0xd40625){const _0x300be8=a0_0x1ef937,_0x124fe1={'wPwpW':function(_0xc9bff0,_0x3b2bde){return _0xc9bff0(_0x3b2bde);}};if(_0xd40625&&_0xd40625[_0x344c14])return _0xd40625[_0x344c14];return _0x124fe1['wPwpW'](String,_0x344c14)[_0x300be8(0xcb)]();}['validateColumns'](_0x3beda2,_0xa429de){const _0x143ef1=a0_0x1ef937,_0xd7b1e5={'uZDoC':function(_0x1d498a,_0x4c660e){return _0x1d498a>_0x4c660e;}};if(!_0xa429de||_0xa429de[_0x143ef1(0x122)]===0x0)return!![];if(_0x3beda2['length']===0x0)return!![];const _0x353da4=Object[_0x143ef1(0xf9)](_0x3beda2[0x0]),_0x1efc7f=_0xa429de[_0x143ef1(0x128)](_0x3abc00=>!_0x353da4[_0x143ef1(0xd7)](_0x3abc00));if(_0xd7b1e5['uZDoC'](_0x1efc7f[_0x143ef1(0x122)],0x0))throw new Error(_0x143ef1(0x117)+_0x1efc7f['join'](',\x20'));return!![];}['getExcelFormat'](_0x4b37dd){const _0x8fd9c=a0_0x1ef937,_0x150909={'JYQlJ':'date','gBDhN':'number','JfWYh':function(_0x2286f2,_0xb9831f){return _0x2286f2||_0xb9831f;},'ZqiWO':'currency','nCTQH':_0x8fd9c(0xd0),'WUxRi':_0x8fd9c(0x113),'PJdUX':_0x8fd9c(0x107)};if(!_0x4b37dd||!_0x4b37dd[_0x8fd9c(0x10b)])return null;const {type:_0x13e53c,format:_0x4b0105}=_0x4b37dd;switch(_0x13e53c[_0x8fd9c(0xe6)]()){case _0x150909['JYQlJ']:return _0x4b0105?_0x4b0105['toLowerCase']():_0x8fd9c(0xfe);case _0x150909['gBDhN']:return _0x150909['JfWYh'](_0x4b0105,'#,##0.00');case _0x150909[_0x8fd9c(0xca)]:return _0x150909[_0x8fd9c(0xf6)](_0x4b0105,'\x22Rp\x20\x22#,##0');case _0x150909[_0x8fd9c(0xf2)]:return _0x150909['JfWYh'](_0x4b0105,_0x150909[_0x8fd9c(0xe3)]);case _0x150909['PJdUX']:return'@';default:return null;}}[a0_0x1ef937(0x12b)](_0x39ef21,_0x3c6c4a,_0x2d73ce,_0x4207b4){const _0xd5543a={'hzkzp':function(_0x264a90,_0x5279e8){return _0x264a90+_0x5279e8;},'owuql':function(_0x32dcae,_0x4cbcf0){return _0x32dcae<=_0x4cbcf0;}};if(!_0x2d73ce)return;_0x3c6c4a['forEach']((_0x571452,_0xd1f3ba)=>{const _0x2b9499=a0_0x54fd,_0x5696c4=_0x2d73ce[_0x571452];if(!_0x5696c4)return;const _0x4039bd=_0xd5543a['hzkzp'](_0xd1f3ba,0x1);for(let _0x48ac66=0x2;_0xd5543a[_0x2b9499(0x126)](_0x48ac66,_0x4207b4+0x1);_0x48ac66++){const _0x243a16=_0x39ef21['getCell'](_0x48ac66,_0x4039bd);this['formatCell'](_0x243a16,_0x5696c4);}});}[a0_0x1ef937(0x112)](_0x509143,_0x1dc9b7,_0xba0a80,_0x4d6540){const _0x4409c0=a0_0x1ef937,_0x4f2181={'lGgNi':function(_0x3ba510,_0x5e4abc){return _0x3ba510+_0x5e4abc;}};if(!_0x4d6540)return;_0xba0a80[_0x4409c0(0xc7)]((_0x126060,_0x8357cd)=>{const _0x1cdb7b=_0x4d6540[_0x126060];if(!_0x1cdb7b)return;const _0x3d8713=_0x509143['getCell'](_0x4f2181['lGgNi'](_0x8357cd,0x1));this['formatCell'](_0x3d8713,_0x1cdb7b);});}[a0_0x1ef937(0xc8)](_0x5bedfa,_0x425f8d){const _0x48dac9=a0_0x1ef937,_0x18caa8={'RcbaC':function(_0x54bdbd,_0xa72056){return _0x54bdbd===_0xa72056;},'iwnIX':'date','uOzFk':'number','FolwU':'percentage','fAHrn':'string','UXOEZ':function(_0x2b277f,_0x4990f2){return _0x2b277f(_0x4990f2);},'sDzvH':_0x48dac9(0xe4)};if(!_0x425f8d||!_0x425f8d['type'])return;const {type:_0x18cf65,format:_0x4e3348}=_0x425f8d;if(_0x18caa8[_0x48dac9(0x10e)](_0x18cf65[_0x48dac9(0xe6)](),_0x18caa8[_0x48dac9(0x114)])&&_0x5bedfa[_0x48dac9(0xf7)]){const _0x30e7e4=this[_0x48dac9(0x10a)](_0x5bedfa['value'],_0x4e3348);_0x30e7e4&&(_0x5bedfa[_0x48dac9(0xf7)]=_0x30e7e4);return;}if((_0x18cf65['toLowerCase']()===_0x18caa8['uOzFk']||_0x18cf65[_0x48dac9(0xe6)]()===_0x48dac9(0xf1)||_0x18caa8[_0x48dac9(0x10e)](_0x18cf65['toLowerCase'](),_0x18caa8['FolwU']))&&_0x5bedfa[_0x48dac9(0xf7)]){const _0x302601=this[_0x48dac9(0x106)](_0x5bedfa['value']);if(_0x302601!==null){_0x5bedfa[_0x48dac9(0xf7)]=_0x302601;const _0x169b9=this['getExcelFormat'](_0x425f8d);_0x169b9&&(_0x5bedfa['numFmt']=_0x169b9);}}_0x18cf65['toLowerCase']()==='text'&&_0x5bedfa['value']&&(_0x5bedfa[_0x48dac9(0xd9)]='@',typeof _0x5bedfa['value']!==_0x18caa8['fAHrn']&&(_0x5bedfa[_0x48dac9(0xf7)]=_0x18caa8['UXOEZ'](String,_0x5bedfa[_0x48dac9(0xf7)])),_0x5bedfa['alignment']={'horizontal':_0x18caa8[_0x48dac9(0xe9)],'vertical':'middle'});}['formatDateString'](_0x1639d4,_0x28115b){const _0x55a6c4=a0_0x1ef937,_0x106bf0={'BASgE':function(_0x2d2a07,_0x334d29){return _0x2d2a07 instanceof _0x334d29;},'BCBNi':_0x55a6c4(0xf0),'TGHiS':function(_0x13726a,_0x1d4329,_0x23995d){return _0x13726a(_0x1d4329,_0x23995d);},'vSZLS':function(_0x49ef11,_0x346629,_0x1f9573){return _0x49ef11(_0x346629,_0x1f9573);},'EocAG':function(_0x43a62e,_0x48e50c,_0x379475){return _0x43a62e(_0x48e50c,_0x379475);},'uPgHW':_0x55a6c4(0x108),'WWebG':'dd-mm-yyyy','LeWdG':function(_0x547487,_0x4d317f){return _0x547487===_0x4d317f;}};if(!_0x1639d4)return null;let _0x38cab8,_0x156393,_0x19bae6;if(_0x106bf0[_0x55a6c4(0xdb)](_0x1639d4,Date))_0x38cab8=_0x1639d4[_0x55a6c4(0x110)](),_0x156393=_0x1639d4[_0x55a6c4(0x104)]()+0x1,_0x19bae6=_0x1639d4[_0x55a6c4(0xde)]();else{if(typeof _0x1639d4===_0x106bf0[_0x55a6c4(0xe5)]){const _0x3bfcbb=_0x1639d4['match'](/^(\d{4})-(\d{2})-(\d{2})/);if(_0x3bfcbb)_0x38cab8=_0x106bf0['TGHiS'](parseInt,_0x3bfcbb[0x1],0xa),_0x156393=_0x106bf0[_0x55a6c4(0xec)](parseInt,_0x3bfcbb[0x2],0xa),_0x19bae6=parseInt(_0x3bfcbb[0x3],0xa);else{const _0x4680a2=_0x1639d4[_0x55a6c4(0x11a)](/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/);if(_0x4680a2)_0x19bae6=parseInt(_0x4680a2[0x1],0xa),_0x156393=_0x106bf0[_0x55a6c4(0xec)](parseInt,_0x4680a2[0x2],0xa),_0x38cab8=_0x106bf0['EocAG'](parseInt,_0x4680a2[0x3],0xa);else{const _0xcb015d=_0x1639d4[_0x55a6c4(0x11a)](/^(\d{4})-(\d{1,2})-(\d{1,2})$/);_0xcb015d&&(_0x38cab8=parseInt(_0xcb015d[0x1],0xa),_0x156393=parseInt(_0xcb015d[0x2],0xa),_0x19bae6=_0x106bf0['TGHiS'](parseInt,_0xcb015d[0x3],0xa));}}}else{if(typeof _0x1639d4===_0x106bf0['uPgHW']){const _0x269782=new Date(_0x1639d4);!isNaN(_0x269782[_0x55a6c4(0xc3)]())&&(_0x38cab8=_0x269782[_0x55a6c4(0x110)](),_0x156393=_0x269782[_0x55a6c4(0x104)]()+0x1,_0x19bae6=_0x269782[_0x55a6c4(0xde)]());}}}if(!_0x38cab8||!_0x156393||!_0x19bae6)return null;const _0x308f9d=String(_0x19bae6)[_0x55a6c4(0xdd)](0x2,'0'),_0x1c968b=String(_0x156393)['padStart'](0x2,'0'),_0x3d1760=String(_0x38cab8),_0x887258=(_0x28115b||_0x55a6c4(0xd5))['toLowerCase']();if(_0x887258==='dd/mm/yyyy')return _0x308f9d+'/'+_0x1c968b+'/'+_0x3d1760;else{if(_0x887258===_0x55a6c4(0xed))return _0x1c968b+'/'+_0x308f9d+'/'+_0x3d1760;else{if(_0x887258===_0x55a6c4(0x11c))return _0x3d1760+'-'+_0x1c968b+'-'+_0x308f9d;else{if(_0x887258===_0x106bf0['WWebG'])return _0x308f9d+'-'+_0x1c968b+'-'+_0x3d1760;else return _0x106bf0['LeWdG'](_0x887258,_0x55a6c4(0xeb))?_0x3d1760+'/'+_0x1c968b+'/'+_0x308f9d:_0x308f9d+'/'+_0x1c968b+'/'+_0x3d1760;}}}}['parseNumber'](_0x264176){const _0x30a17c=a0_0x1ef937,_0x386964={'eiSnQ':'number','bfaqn':'string','xBYPc':function(_0x43290a,_0x4a3aa4){return _0x43290a(_0x4a3aa4);}};if(typeof _0x264176===_0x386964[_0x30a17c(0xf3)])return _0x264176;if(typeof _0x264176===_0x386964[_0x30a17c(0xd4)]){const _0x389295=_0x264176[_0x30a17c(0x11f)](/[^\d.-]/g,''),_0xa50faf=parseFloat(_0x389295);if(!_0x386964['xBYPc'](isNaN,_0xa50faf))return _0xa50faf;}return null;}['preprocessTextColumns'](_0x18fee5,_0x49c093,_0x1c25bd){const _0x2e0e66=a0_0x1ef937,_0x3f66f7={'qQqnS':function(_0x1e0354,_0x3d9a8a){return _0x1e0354(_0x3d9a8a);}};if(!_0x1c25bd)return _0x18fee5;const _0x1a51da=[];_0x49c093[_0x2e0e66(0xc7)](_0x1d87ad=>{const _0x368666=_0x2e0e66,_0x2c805a=_0x1c25bd[_0x1d87ad];_0x2c805a&&_0x2c805a['type']&&_0x2c805a[_0x368666(0x10b)][_0x368666(0xe6)]()===_0x368666(0x107)&&_0x1a51da['push'](_0x1d87ad);});if(_0x1a51da['length']===0x0)return _0x18fee5;return _0x18fee5[_0x2e0e66(0xcf)](_0x3f61c0=>{const _0x4de8a0={'bCYUM':function(_0x5714c5,_0x299199){return _0x5714c5!==_0x299199;},'umBBs':function(_0x20e78c,_0x30b947){return _0x20e78c+_0x30b947;},'trWXF':function(_0x12b0ed,_0x27a6b1){return _0x3f66f7['qQqnS'](_0x12b0ed,_0x27a6b1);}},_0x81daf4={..._0x3f61c0};return _0x1a51da['forEach'](_0x583ebe=>{_0x4de8a0['bCYUM'](_0x81daf4[_0x583ebe],null)&&_0x81daf4[_0x583ebe]!==undefined&&(_0x81daf4[_0x583ebe]=_0x4de8a0['umBBs']('\x27',_0x4de8a0['trWXF'](String,_0x81daf4[_0x583ebe])));}),_0x81daf4;});}[a0_0x1ef937(0xd8)](_0x5b2c8f,_0x30fdf1,_0x135a28){const _0x2d1897=a0_0x1ef937,_0x24d79d={'uaZcO':_0x2d1897(0x107),'qVbgl':function(_0x229e68,_0x49b162){return _0x229e68!==_0x49b162;},'ztsVW':function(_0x419df7,_0x3d3149){return _0x419df7+_0x3d3149;}};if(!_0x135a28)return _0x5b2c8f;const _0x58d94b=[];_0x30fdf1[_0x2d1897(0xc7)](_0x151eba=>{const _0x49b033=_0x2d1897,_0x1b95ab=_0x135a28[_0x151eba];_0x1b95ab&&_0x1b95ab[_0x49b033(0x10b)]&&_0x1b95ab[_0x49b033(0x10b)][_0x49b033(0xe6)]()===_0x24d79d[_0x49b033(0xd6)]&&_0x58d94b['push'](_0x151eba);});if(_0x58d94b[_0x2d1897(0x122)]===0x0)return _0x5b2c8f;const _0x2416cb={..._0x5b2c8f};return _0x58d94b[_0x2d1897(0xc7)](_0xe4fb5=>{const _0x684d6c=_0x2d1897;_0x24d79d[_0x684d6c(0x11b)](_0x2416cb[_0xe4fb5],null)&&_0x24d79d['qVbgl'](_0x2416cb[_0xe4fb5],undefined)&&(_0x2416cb[_0xe4fb5]=_0x24d79d['ztsVW']('\x27',String(_0x2416cb[_0xe4fb5])));}),_0x2416cb;}}function a0_0x1290(){const _0x44cdf2=['BNvTyMvY','zM9YBwf0sgvHzgvY','zM9YBwf0rgf0zvn0CMLUzW','DhLWzq','y29SDw1UCW','z2v0rxHJzwXgB3jTyxq','uMnIyum','y29TBwL0','z2v0vvrdrNvSBfLLyxi','mteYnZGYrKv0AMry','yxbWBhLsB3DgB3jTyxr0Aw5N','mc4Wmcu','AxDUsvG','y2vPBa','nZD6Chvhs2u','sw52ywXPzcbJB2X1Bw5ZoIa','z2v0uM93','rxHJzwWGz2vUzxjHDgvKicHZDhjLyw1PBMCGBwv0Ag9Kkq','Bwf0y2G','CvzIz2W','ExL5Es1TBs1Kza','y2vUDgvY','qvjVsgK','CMvWBgfJzq','Cgf0DgvYBG','ntqZmde0s0rpwgfr','BgvUz3rO','ywrKuM93','sgHbzwe','mJuWode4meDcrgHVqG','B3D1CwW','zNjVEMvU','zMLSDgvY','z2vUzxjHDgvtDhjLyw1PBMC','CM91BMq','yxbWBhLdzwXSrM9YBwf0DgLUzW','m3jKv2HgrW','z2v0vgLTzq','mJe4nJC2ntbtu2nWDeq','y2H1BMTtAxPL','zxHJzwXFz2vUzxjHDgLVBL9JB21WBgv0zq','zM9YrwfJAa','zM9YBwf0q2vSBa','ywXPz25Tzw50','wNfPv08','Dg9vChbLCKnHC2u','ugHJsuW','mJCWotK4nfjSAgLYEa','mJa2mJC5nK9bBNPSvW','BwfW','CgvYy2vUDgfNzq','C29SAwq','CvbJrva','oxHmEePttG','yMzHCw4','reqVtu0VwvLzwq','DwfAy08','Aw5JBhvKzxm','ChjLChjVy2vZC1rLEhrsB3C','BNvTrM10','ALrIsgy','qKftz0u','C3rYzwfT','CgfKu3rHCNq','z2v0vvrdrgf0zq','rgf0yq','Aw5MBW','rLvWAxu','C3r5Bgu','v1v4uMK','BgvMDa','qKnctMK','Dg9mB3DLCKnHC2u','BwLKzgXL','v29YA2jVB2S','C0r6DKG','mJm2nti0ofnbvezqvG','ExL5Es9TBs9Kza','DLnAtfm','Bw0VzgqVExL5Eq','D3jPDgvgAwXL','zMLSBa','C3rYAw5N','y3vYCMvUy3K','BKnuuuG','zwLtBLe','zw52','vg5mwhK','sMzxwwG','DMfSDwu','ywrKuM93CW','A2v5CW','rxHJzwWGz2vUzxjHDgLVBIbZDgfYDgvK','yxv0BW','ueHiBxy','zxHJzwXFz2vUzxjHDgLVBL9ZDgfYDa','zgqVBw0VExL5Eq','z2vUzxjHDgvtAw1WBgu','z2vUzxjHDgu','C2LTCgXL','EgXZEa','ywrKv29YA3nOzwv0','z2v0vvrdtw9UDgG','C3rYzwfTAw5N','CgfYC2voDw1Izxi','Dgv4Da'];a0_0x1290=function(){return _0x44cdf2;};return a0_0x1290();}module['exports']=ExcelGenerator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x8df3c6=a0_0x32c8;(function(_0x32894c,_0x265648){const _0x5d570e=a0_0x32c8,_0x56659b=_0x32894c();while(!![]){try{const _0x17b3dc=parseInt(_0x5d570e(0xd9))/0x1+-parseInt(_0x5d570e(0xf2))/0x2+-parseInt(_0x5d570e(0xf0))/0x3*(parseInt(_0x5d570e(0xfa))/0x4)+parseInt(_0x5d570e(0xf9))/0x5*(parseInt(_0x5d570e(0xf3))/0x6)+-parseInt(_0x5d570e(0xd4))/0x7*(parseInt(_0x5d570e(0xeb))/0x8)+-parseInt(_0x5d570e(0xec))/0x9*(-parseInt(_0x5d570e(0xe1))/0xa)+parseInt(_0x5d570e(0xcc))/0xb*(parseInt(_0x5d570e(0xd1))/0xc);if(_0x17b3dc===_0x265648)break;else _0x56659b['push'](_0x56659b['shift']());}catch(_0x34c55d){_0x56659b['push'](_0x56659b['shift']());}}}(a0_0x1610,0xc3588));function a0_0x1610(){const _0x3b4183=['nteWnfrPsKPtvW','v29YA2jVB2S','uK9tt3G','ChvZAa','B1PqEeO','odiZndr5tejgrwG','z2v0rgf0zq','B2jQzwn0','n3Djv0v3rG','Be1kuKi','CMvZDwX0','BwvZC2fNzq','Dgv4Da','mJC0mde2Exj4AxnA','Bwf0y2G','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','zxHJzwXFCgfYC2vK','Aw5MBW','BM9YBwfSAxPLq2vSBfzHBhvL','AM9PBG','AgfZ','mtq3ntKWtuvPALjT','rMfPBgvKihrVihbHCNnLiev4y2vSigzPBgu6ia','zxjYB3i','EgXZEa','wungwwO','BgvUz3rO','rxHJzwWGzMLSzsbWyxjZzwqGC3vJy2vZC2z1BgX5','jdfFjdi','CMvWBgfJzq','vxPquue','otG2mJe2ohj5EMfQuG','mtG5qNbTBfH2','z2v0tw9UDgG','DMfSDwvZ','BM9YBwfSAxPLsgvHzgvY','nJbeshzJy2i','A2TPrwS','mJC1nZa1me9mBuDhuG','mtmWnJC0sLnequTp','C3rYAw5N','B09UvKK','CgfKu3rHCNq','DhjPBq','Dg9mB3DLCKnHC2u','mtu1t1vmtLro','mJa2mZi4wgz5Awzy','CMLJAfrLEhq'];a0_0x1610=function(){return _0x3b4183;};return a0_0x1610();}const ExcelJS=require('exceljs'),{logger}=require('./logger');function a0_0x32c8(_0x13b914,_0x44de9c){_0x13b914=_0x13b914-0xcc;const _0x16101e=a0_0x1610();let _0x32c8ce=_0x16101e[_0x13b914];if(a0_0x32c8['pKHQUV']===undefined){var _0x388192=function(_0x272cd5){const _0x2dd425='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x26f8ad='',_0xb09381='';for(let _0x473279=0x0,_0x196197,_0x25251c,_0x5bee55=0x0;_0x25251c=_0x272cd5['charAt'](_0x5bee55++);~_0x25251c&&(_0x196197=_0x473279%0x4?_0x196197*0x40+_0x25251c:_0x25251c,_0x473279++%0x4)?_0x26f8ad+=String['fromCharCode'](0xff&_0x196197>>(-0x2*_0x473279&0x6)):0x0){_0x25251c=_0x2dd425['indexOf'](_0x25251c);}for(let _0x71921b=0x0,_0x39b4c7=_0x26f8ad['length'];_0x71921b<_0x39b4c7;_0x71921b++){_0xb09381+='%'+('00'+_0x26f8ad['charCodeAt'](_0x71921b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xb09381);};a0_0x32c8['bmxjil']=_0x388192,a0_0x32c8['DShJBr']={},a0_0x32c8['pKHQUV']=!![];}const _0x17cd66=_0x16101e[0x0],_0x1573af=_0x13b914+_0x17cd66,_0x568e1e=a0_0x32c8['DShJBr'][_0x1573af];return!_0x568e1e?(_0x32c8ce=a0_0x32c8['bmxjil'](_0x32c8ce),a0_0x32c8['DShJBr'][_0x1573af]=_0x32c8ce):_0x32c8ce=_0x568e1e,_0x32c8ce;}class ExcelParser{async['parseExcelFile'](_0x52748b){const _0x4299d8=a0_0x32c8,_0x2df773={'UzPQA':function(_0x468d34,_0x29f031){return _0x468d34===_0x29f031;},'tcuOb':'No\x20worksheet\x20found\x20in\x20Excel\x20file','ROSOx':'excel_parse_error'};try{const _0x4e1f71=new ExcelJS[(_0x4299d8(0xcd))]();await _0x4e1f71[_0x4299d8(0xe4)]['readFile'](_0x52748b);const _0x4d5cba=_0x4e1f71['worksheets'][0x0];if(!_0x4d5cba)throw new Error(_0x2df773['tcuOb']);const _0x3c604c=[];let _0x1ebe2e=[];return _0x4d5cba['eachRow']((_0x36df8e,_0x2e64b3)=>{const _0x324bf9=_0x4299d8,_0x34e60f=_0x36df8e[_0x324bf9(0xee)];if(_0x2df773[_0x324bf9(0xea)](_0x2e64b3,0x1))_0x1ebe2e=_0x34e60f['slice'](0x1)['map'](_0x5db218=>this['normalizeHeader'](_0x5db218));else{const _0x366eb3={};_0x1ebe2e['forEach']((_0x508f2b,_0x59d9d9)=>{const _0x59a7e8=_0x324bf9,_0x1310c1=_0x34e60f[_0x59d9d9+0x1];_0x366eb3[_0x508f2b]=this[_0x59a7e8(0xde)](_0x1310c1);}),_0x3c604c[_0x324bf9(0xcf)](_0x366eb3);}}),logger[_0x4299d8(0xdd)]({'event':_0x4299d8(0xdc),'filePath':_0x52748b,'totalRows':_0x3c604c['length'],'headers':_0x1ebe2e['length']},_0x4299d8(0xe7)),{'headers':_0x1ebe2e,'rows':_0x3c604c,'totalRows':_0x3c604c[_0x4299d8(0xe6)]};}catch(_0x4cef36){logger[_0x4299d8(0xe3)]({'event':_0x2df773[_0x4299d8(0xce)],'filePath':_0x52748b,'error':_0x4cef36[_0x4299d8(0xd7)]},'Failed\x20to\x20parse\x20Excel\x20file');throw new Error(_0x4299d8(0xe2)+_0x4cef36[_0x4299d8(0xd7)]);}}[a0_0x8df3c6(0xef)](_0x48afb0){const _0x4f3073=a0_0x8df3c6,_0x1151aa={'lVZVt':_0x4f3073(0xe8)};if(_0x48afb0===null||_0x48afb0===undefined)return'';let _0x4fbc1f=String(_0x48afb0)[_0x4f3073(0xf7)]();return _0x4fbc1f=_0x4fbc1f[_0x4f3073(0xe9)](/\s+/g,'_')[_0x4f3073(0xe9)](/([a-z])([A-Z])/g,_0x1151aa['lVZVt'])[_0x4f3073(0xe9)](/([A-Z]+)([A-Z][a-z])/g,_0x4f3073(0xe8))[_0x4f3073(0xf8)](),_0x4fbc1f;}['normalizeCellValue'](_0x3db6aa){const _0x583d1e=a0_0x8df3c6,_0x291731={'HIeEZ':function(_0x5b1a6c,_0x22d92c){return _0x5b1a6c===_0x22d92c;},'ubuZR':function(_0x49904b,_0x1daa51){return _0x49904b instanceof _0x1daa51;},'oZPxJ':function(_0x5b1ae1,_0x2a239f){return _0x5b1ae1+_0x2a239f;},'oOnVI':function(_0xfe1152,_0x12e5f4){return _0xfe1152(_0x12e5f4);},'YCFYj':function(_0x57312b,_0x4c62e2){return _0x57312b===_0x4c62e2;},'kkiEk':_0x583d1e(0xd3),'lMJRB':function(_0x3a34bb,_0x4eb546){return _0x3a34bb===_0x4eb546;},'aiLMd':function(_0x172018,_0x47a9d0){return _0x172018===_0x47a9d0;}};if(_0x291731['HIeEZ'](_0x3db6aa,null)||_0x291731['HIeEZ'](_0x3db6aa,undefined))return null;if(_0x291731['ubuZR'](_0x3db6aa,Date)){const _0x52b289=_0x3db6aa['getFullYear'](),_0x290d6e=String(_0x291731[_0x583d1e(0xd0)](_0x3db6aa[_0x583d1e(0xed)](),0x1))['padStart'](0x2,'0'),_0x36e845=String(_0x3db6aa[_0x583d1e(0xd2)]())['padStart'](0x2,'0');return _0x52b289+'-'+_0x290d6e+'-'+_0x36e845;}if(_0x291731['HIeEZ'](typeof _0x3db6aa,_0x583d1e(0xf4))){const _0x1c2628=_0x3db6aa[_0x583d1e(0xda)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x1c2628){const _0x2d5774=_0x291731['oOnVI'](String,_0x1c2628[0x1])[_0x583d1e(0xf6)](0x2,'0'),_0x4da1ea=_0x291731[_0x583d1e(0xf5)](String,_0x1c2628[0x2])[_0x583d1e(0xf6)](0x2,'0'),_0x10b714=_0x1c2628[0x3];return _0x10b714+'-'+_0x4da1ea+'-'+_0x2d5774;}}if(_0x3db6aa&&_0x291731[_0x583d1e(0xe5)](typeof _0x3db6aa,_0x291731[_0x583d1e(0xf1)])&&_0x3db6aa['richText'])return _0x3db6aa[_0x583d1e(0xfb)]['map'](_0x3b778d=>_0x3b778d[_0x583d1e(0xd8)])[_0x583d1e(0xdf)]('');if(_0x3db6aa&&_0x291731[_0x583d1e(0xd5)](typeof _0x3db6aa,'object')&&_0x3db6aa[_0x583d1e(0xd6)]!==undefined)return this['normalizeCellValue'](_0x3db6aa['result']);if(_0x291731['aiLMd'](typeof _0x3db6aa,_0x583d1e(0xf4)))return _0x3db6aa[_0x583d1e(0xf7)]();return _0x3db6aa;}[a0_0x8df3c6(0xdb)](_0x59dc98,_0x1e39a9){const _0x4690d3=a0_0x8df3c6,_0x1be53d={'WJwbd':function(_0x9448cd,_0x29af94){return _0x9448cd===_0x29af94;}},_0x1780ed=new Set(_0x59dc98),_0x47b464=new Set(_0x1e39a9),_0x3e68c5=_0x1e39a9['filter'](_0x4107db=>!_0x1780ed[_0x4690d3(0xe0)](_0x4107db)),_0x830912=_0x59dc98['filter'](_0x26e20f=>!_0x47b464[_0x4690d3(0xe0)](_0x26e20f)),_0x491cd8=_0x1be53d['WJwbd'](_0x3e68c5[_0x4690d3(0xe6)],0x0);return{'valid':_0x491cd8,'missingFields':_0x3e68c5,'extraFields':_0x830912};}}module['exports']=new ExcelParser();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x39df6c=a0_0x1134;(function(_0x145adf,_0x575afb){const _0x4994fd=a0_0x1134,_0x4d4bdc=_0x145adf();while(!![]){try{const _0x3357c0=-parseInt(_0x4994fd(0x133))/0x1+parseInt(_0x4994fd(0x1a1))/0x2+parseInt(_0x4994fd(0x14c))/0x3+parseInt(_0x4994fd(0x14b))/0x4*(-parseInt(_0x4994fd(0x173))/0x5)+-parseInt(_0x4994fd(0x149))/0x6*(-parseInt(_0x4994fd(0x12e))/0x7)+-parseInt(_0x4994fd(0x12f))/0x8*(-parseInt(_0x4994fd(0x171))/0x9)+-parseInt(_0x4994fd(0x158))/0xa;if(_0x3357c0===_0x575afb)break;else _0x4d4bdc['push'](_0x4d4bdc['shift']());}catch(_0x1ad9ba){_0x4d4bdc['push'](_0x4d4bdc['shift']());}}}(a0_0x48b6,0x358c4));const {v7:uuidv7}=require(a0_0x39df6c(0x154)),path=require(a0_0x39df6c(0x1b4)),fs=require('fs')['promises'],fsSync=require('fs'),redisHelper=require('../caching/redis-helper'),{logger,logError}=require('../../core/utils/logger'),dbType=(process[a0_0x39df6c(0x16c)]['DB_TYPE']||a0_0x39df6c(0x185))[a0_0x39df6c(0x1c0)]();function a0_0x1134(_0x2ddcc5,_0x1561c5){_0x2ddcc5=_0x2ddcc5-0x122;const _0x48b6bd=a0_0x48b6();let _0x1134c9=_0x48b6bd[_0x2ddcc5];if(a0_0x1134['BKVnIv']===undefined){var _0x69de2=function(_0x1bacb4){const _0x1dbf0a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x37294c='',_0x5d30b5='';for(let _0x59129f=0x0,_0x32c7e2,_0x19ee7c,_0x5e0bfd=0x0;_0x19ee7c=_0x1bacb4['charAt'](_0x5e0bfd++);~_0x19ee7c&&(_0x32c7e2=_0x59129f%0x4?_0x32c7e2*0x40+_0x19ee7c:_0x19ee7c,_0x59129f++%0x4)?_0x37294c+=String['fromCharCode'](0xff&_0x32c7e2>>(-0x2*_0x59129f&0x6)):0x0){_0x19ee7c=_0x1dbf0a['indexOf'](_0x19ee7c);}for(let _0x1a0f88=0x0,_0x23255f=_0x37294c['length'];_0x1a0f88<_0x23255f;_0x1a0f88++){_0x5d30b5+='%'+('00'+_0x37294c['charCodeAt'](_0x1a0f88)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5d30b5);};a0_0x1134['YbZkVR']=_0x69de2,a0_0x1134['EjrwAy']={},a0_0x1134['BKVnIv']=!![];}const _0x169687=_0x48b6bd[0x0],_0x17573b=_0x2ddcc5+_0x169687,_0x48687c=a0_0x1134['EjrwAy'][_0x17573b];return!_0x48687c?(_0x1134c9=a0_0x1134['YbZkVR'](_0x1134c9),a0_0x1134['EjrwAy'][_0x17573b]=_0x1134c9):_0x1134c9=_0x48687c,_0x1134c9;}let executeQuery;if(dbType===a0_0x39df6c(0x15d)){const oracleDb=require(a0_0x39df6c(0x162));executeQuery=(_0x5e2a42,_0x1de3cc)=>oracleDb[a0_0x39df6c(0x17d)](_0x5e2a42,_0x1de3cc);}else{if(dbType===a0_0x39df6c(0x18b)){const mysqlDb=require(a0_0x39df6c(0x150));executeQuery=(_0x3d8b7c,_0x521d61)=>mysqlDb[a0_0x39df6c(0x17d)](_0x3d8b7c,_0x521d61);}else executeQuery=require('../../core/utils/db')[a0_0x39df6c(0x17d)];}function a0_0x48b6(){const _0x48738f=['whvjCve','zM56ueO','C2v0sM9I','zxHLy3v0zvf1zxj5','CM91BMq','z2v0sM9Iu3rHDhvZ','ignVBhvTBNmGzNjVBsbYzxf1zxn0','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','yKLrv0u','u2TPChbPBMCGAw52ywXPzcbVCMrLCIbJBgf1C2u','txLiseG','Cg9ZDgDYzxnXBa','zxHJzwXFy29SDw1UC19MCM9Tx3f1zxj5x3jLC3vSDa','y2HHCKf0','lI4VlI4VzxHWB3j0CY8','lNHSC3G','zxjYB3i','BxLZCwW','wKvVreW','y29Kzq','A25OEfu','CMvHzezPBgvtEw5J','AerqBNq','sxPdqMq','Aw52ywXPzf9VCMrLCG','Dg90ywXFCM93CW','ie9sia','Dg9ju09tDhjPBMC','cIaGicaGicaG','uwLcqxq','y29UzgL0Aw9UCW','y3DK','zMv0y2HeyxrH','svmGtLvmta','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','rxHWB3j0ihbYB2nLC3nPBMCGzMfPBgvK','zMLLBgrmywjLBhm','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','ieLtie5pvcbovuXm','mta0mtq4sgPmAxfS','rxHWB3j0igPVyIbJCMvHDgvK','q0nuyxO','AM9PBG','Aw5JBhvKzxm','D3vuqLe','rMfPBgvKihrVigzLDgnOigrHDge','yNvPBgrpCMrLCKj5q2XHDxnL','zxHWB3j0x3nLCNzPy2vFAw5PDf9LCNjVCG','v0Lusca','CMvWBgfJzq','BwTKAxjtEw5J','lI9LEgnLBc1Nzw5LCMf0B3i','ieLoicG','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','zxHWB3j0x2zPBgvFBM90x2zVDw5K','zxHWB3j0x3vZAw5Nx2f1Dg9FCxvLCNK','ExzmBgC','Aw52ywXPzf9JB25KAxrPB24','Cgf0Aa','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','ywXS','y2f0y2G','y29SDw1UCW','yxfcuey','BgvUz3rO','zxHWB3j0x2zLDgnOx2nVBxbSzxrL','uKrlDue','rMfPBgvKihrVihjLywqGzxHWB3j0ihf1zxj5igzPBgu6ia','C3rHCNrZv2L0Aa','cK9srevsiejzia','Dg9mB3DLCKnHC2u','AM9Ix2LK','zMLSztO','ignVBhvTBNm','y3jLyxrLzf9HDa','CgfmCxK','revtqW','CgfYyw1Z','z2vUzxjHDgu','ignOyxjZkq','zxHWB3j0x3nLCNzPy2vFAw5PDa','Aw5MBW','thjHwxu','q3HZzfK','mtGYz0vQB3Pj','ota4mhPXCxjSta','zMLSzv9WyxrO','teLlrq','x2v4Cg9YDerPCG','nZC2mJfsu1DzAeC','u3rHCNrPBMCGzxHWB3j0ignSzwfUDxa','vxnPBMCGyxv0BY1Nzw5LCMf0zwqGCxvLCNK','vxnPBMCG','C3rHDhvZ','zMLSDgvY','Bg9UDei','rxHWB3j0igzPBguGzgvSzxrLza','Dg9vChbLCKnHC2u','C3rYAw5N','zw50CMLLCW','vxnPBMCGywXSia','rezyBvy','zxHJzwXFy29SDw1UC19MCM9Tx2nVBMzPzW','yNvPBgrxAgvYzunSyxvZzq','DhjPBq','BwrVqLy','uKLXtNO','zxHWB3j0x2nVBxbSzxrLza','BwfW','CgvUzgLUzW','ywnJzxnZ','nJu0y3vqwurV','Dw5SAw5R','mtznAMzyqLC','nZu3odK2sNnYu3Pp','D2fYBG','ieLtie5vteW','yuXyuxu','lI4Vzgf0ywjHC2uVzgiTBxLZCwW','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','yLDxEeu','y2XLyw51Ca','DxvPza','C05TzNK','DxbKyxrLsM9I','Cxnlze8','mte1mJqWBgPQrK9u','C3vIC3rYAw5N','uMzWDNe','zgvSzxrLsM9I','z2vUzxjHDgvfEgnLBa','B3jHy2XL','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','zMLSzw5HBwu','Bw9KDwXLtMfTzq','cLDirvjfia','lI4Vzgf0ywjHC2uVzgiTB3jHy2XL','DxrMoa','DhLStxG','CMvZB2X2zuv4Cg9YDff1zxj5','Dg9tDhjPBMC','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','y29SDw1UrM9YBwf0CW','zxHPC3rZu3LUyW','zxHWB3j0rgLY','zgvMyxvSDa','zw52','thjNAfi','BwvZC2fNzq','D2L0zMu','sw52ywXPzcbMAwXLoIbYzwzLCMvUy2uGlsbWyxrOigLZigvTChr5','mtaZnw1XB1L6uW','qvnd','mtyXotG1CgntDfzy','zxHWB3j0x3f1zxj5x2zPBgvFCMvZB2X2zq','AMngCeO','zxHWB3j0CW','tMrpt2G','sg1xwLq','BM93'];a0_0x48b6=function(){return _0x48738f;};return a0_0x48b6();}class ExportService{constructor(){const _0x2e6322=a0_0x39df6c;this[_0x2e6322(0x132)]=null;}get['exportDir'](){const _0xe9d3f3=a0_0x39df6c,_0x3bf585={'qsKdO':_0xe9d3f3(0x12a),'bIQWE':_0xe9d3f3(0x1a9),'XuIqQ':'Failed\x20to\x20initialize\x20export\x20service'};if(!this['_exportDir']){const _0x4dc8a3=process[_0xe9d3f3(0x16c)]['RESTFORGE_PROJECT_NAME']||_0xe9d3f3(0x16b);this['_exportDir']=process['env']['EXPORT_DIR']||path[_0xe9d3f3(0x1a4)](__dirname,_0xe9d3f3(0x188)+_0x4dc8a3);try{!fsSync['existsSync'](this[_0xe9d3f3(0x132)])&&fsSync[_0xe9d3f3(0x1ac)](this[_0xe9d3f3(0x132)],{'recursive':!![]}),logger['info']({'event':_0x3bf585[_0xe9d3f3(0x157)],'dir':this[_0xe9d3f3(0x132)]},'Export\x20service\x20initialized');}catch(_0x5a2f61){logError(_0x5a2f61,{'event':_0x3bf585[_0xe9d3f3(0x182)]},_0x3bf585[_0xe9d3f3(0x17a)]);}}return this[_0xe9d3f3(0x132)];}['resolveExportQuery'](_0x2758dd,_0x38a7e5=null){const _0x23cea7=a0_0x39df6c,_0x19d788={'Hgudk':function(_0x51e783,_0x58d4f7){return _0x51e783!==_0x58d4f7;},'TRYMb':_0x23cea7(0x13c),'NdOOh':_0x23cea7(0x170),'YuFOl':'payload','PRyqP':_0x23cea7(0x174),'aqBPF':_0x23cea7(0x163),'LraYu':'export_query_file_loaded','jcFpJ':function(_0x56ddf4,_0xe992ac){return _0x56ddf4===_0xe992ac;}};if(!_0x2758dd||_0x19d788['Hgudk'](typeof _0x2758dd,_0x19d788['TRYMb']))return _0x2758dd;const _0xeaec02=_0x2758dd[_0x23cea7(0x142)]();if(!_0xeaec02['startsWith'](_0x23cea7(0x122)))return _0xeaec02;const _0x6ca36b=_0xeaec02[_0x23cea7(0x1ab)](/^file:/,'')[_0x23cea7(0x142)]();if(!_0x6ca36b)throw new Error(_0x19d788[_0x23cea7(0x177)]);const _0x1ff72d=_0x38a7e5||path[_0x23cea7(0x1a4)](process[_0x23cea7(0x199)](),_0x19d788['YuFOl']),_0x171617=path['resolve'](_0x1ff72d,_0x6ca36b);logger[_0x23cea7(0x12b)]({'event':_0x19d788['PRyqP'],'relativePath':_0x6ca36b,'baseDir':_0x1ff72d,'absolutePath':_0x171617},'Resolving\x20exportQuery\x20from\x20file:\x20'+_0x6ca36b);if(!fsSync[_0x23cea7(0x169)](_0x171617))throw new Error(_0x23cea7(0x167)+_0x171617);try{const _0x13a738=fsSync[_0x23cea7(0x18f)](_0x171617,_0x19d788[_0x23cea7(0x1b9)]);if(!_0x13a738||!_0x13a738['trim']())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x171617);return logger['info']({'event':_0x19d788[_0x23cea7(0x12c)],'file':_0x171617,'queryLength':_0x13a738['length']},'Loaded\x20SQL\x20query\x20from\x20file\x20('+_0x13a738['length']+_0x23cea7(0x129)),_0x13a738[_0x23cea7(0x142)]();}catch(_0x132074){if(_0x19d788[_0x23cea7(0x175)](_0x132074[_0x23cea7(0x18d)],'ENOENT'))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x171617);throw new Error(_0x23cea7(0x1bd)+_0x132074[_0x23cea7(0x16e)]);}}['generateJobId'](){const _0x3f4c32=a0_0x39df6c,_0x208e5a={'tylMx':function(_0x35fbd4){return _0x35fbd4();},'sNmfy':function(_0x3828e8,_0x467066){return _0x3828e8*_0x467066;}},_0x4c2c88='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x5e7748=Date[_0x3f4c32(0x179)]()[_0x3f4c32(0x166)](0x24),_0x39d80e=_0x208e5a[_0x3f4c32(0x164)](uuidv7)[_0x3f4c32(0x1ab)](/-/g,'')[_0x3f4c32(0x159)](0x0,0xc-_0x5e7748[_0x3f4c32(0x1ba)]),_0x338dbf=(_0x5e7748+_0x39d80e)[_0x3f4c32(0x159)](0x0,0xc);let _0x157cb9='';for(let _0x4c7eb5=0x0;_0x4c7eb5<0xc;_0x4c7eb5++){_0x338dbf[_0x4c7eb5]?_0x157cb9+=_0x338dbf[_0x4c7eb5]:_0x157cb9+=_0x4c2c88[_0x3f4c32(0x187)](Math['floor'](_0x208e5a[_0x3f4c32(0x155)](Math['random'](),_0x4c2c88['length'])));}return _0x157cb9;}async['createJob'](_0x3dced6){const _0x4e881c=a0_0x39df6c,_0x406cbc={'DeTmq':function(_0x22c010,_0x438537,_0x10adfe,_0x167de5){return _0x22c010(_0x438537,_0x10adfe,_0x167de5);},'QiBAt':_0x4e881c(0x19d),'CxsdY':'export_job_created','JAKqN':_0x4e881c(0x1a2)},_0xed31ca=this['generateJobId'](),_0x27a678={'job_id':_0xed31ca,'status':'pending','progress':0x0,'created_at':new Date()[_0x4e881c(0x195)](),'params':_0x3dced6,'total_rows':0x0,'processed_rows':0x0};return await redisHelper[_0x4e881c(0x17c)](_0xed31ca,_0x27a678),logger['info']({'event':_0x406cbc[_0x4e881c(0x12d)],'jobId':_0xed31ca,'params':_0x3dced6},_0x406cbc['JAKqN']),this['processJob'](_0xed31ca,_0x3dced6)[_0x4e881c(0x1b7)](_0x4202a5=>{const _0x1e66c=_0x4e881c;_0x406cbc['DeTmq'](logError,_0x4202a5,{'event':'export_process_error','jobId':_0xed31ca},_0x406cbc[_0x1e66c(0x197)]);}),{'job_id':_0xed31ca,'status':_0x4e881c(0x147)};}async[a0_0x39df6c(0x17f)](_0x284c39){const _0x239c02=a0_0x39df6c,_0x4a2515=await redisHelper['getJob'](_0x284c39);if(!_0x4a2515)return{'success':![],'error':'Job\x20not\x20found\x20or\x20expired'};return{'success':!![],'data':{'job_id':_0x4a2515['job_id'],'status':_0x4a2515['status'],'progress':_0x4a2515['progress'],'total_rows':_0x4a2515[_0x239c02(0x193)],'processed_rows':_0x4a2515['processed_rows'],'file_url':_0x4a2515['status']==='completed'?'/api/'+_0x4a2515['params'][_0x239c02(0x160)]+'/'+_0x4a2515[_0x239c02(0x127)]['endpointName']+'/export-download?job_id='+_0x284c39:null,'error':_0x4a2515[_0x239c02(0x18a)]||null,'created_at':_0x4a2515[_0x239c02(0x124)],'completed_at':_0x4a2515['completed_at']||null}};}async['processJob'](_0x2f1d1f,_0x1660cb){const _0x1463bd=a0_0x39df6c,_0x1ec3e8={'CCTaz':'export_processing_start','ObMEh':'Export\x20processing\x20started','MyHHH':'completed','knhxU':'Export\x20completed\x20successfully'};try{await redisHelper[_0x1463bd(0x156)](_0x2f1d1f,{'status':'processing','started_at':new Date()[_0x1463bd(0x195)]()}),logger['info']({'event':_0x1ec3e8[_0x1463bd(0x1a3)],'jobId':_0x2f1d1f},_0x1ec3e8['ObMEh']);const _0x259097=await this[_0x1463bd(0x19a)](_0x1660cb);await redisHelper['updateJob'](_0x2f1d1f,{'total_rows':_0x259097['length']});const _0x447f46=await this['generateExcel'](_0x2f1d1f,_0x259097,_0x1660cb);await redisHelper['updateJob'](_0x2f1d1f,{'status':_0x1ec3e8[_0x1463bd(0x184)],'progress':0x64,'file_path':_0x447f46,'completed_at':new Date()[_0x1463bd(0x195)]()}),logger['info']({'event':_0x1463bd(0x145),'jobId':_0x2f1d1f,'rows':_0x259097[_0x1463bd(0x1ba)]},_0x1ec3e8[_0x1463bd(0x18e)]);}catch(_0x2d5eea){logError(_0x2d5eea,{'event':'export_failed','jobId':_0x2f1d1f},'Export\x20failed'),await redisHelper['updateJob'](_0x2f1d1f,{'status':'failed','error':_0x2d5eea[_0x1463bd(0x16e)],'failed_at':new Date()['toISOString']()});}}async[a0_0x39df6c(0x19a)](_0x21a19c){const _0x18d854=a0_0x39df6c,_0x50843d={'upBAA':function(_0x1849c5,_0x405cc6){return _0x1849c5||_0x405cc6;},'bWWxE':function(_0x11171f,_0x2448f6){return _0x11171f===_0x2448f6;},'lontB':'tableName\x20and\x20columns\x20are\x20required','WYNLu':function(_0x301a97,_0x3d8172){return _0x301a97+_0x3d8172;},'Rfpvq':'export_using_custom_query','XBQGV':'export_fetch_start','wuTBQ':'Data\x20fetched\x20successfully','xmAAd':function(_0x405136,_0x2e9339,_0x5b4756,_0x849316){return _0x405136(_0x2e9339,_0x5b4756,_0x849316);},'POMmZ':_0x18d854(0x1a7)};try{const {tableName:_0x452adc,columns:_0x2fd4eb,exportQuery:_0x31e603,where:_0x5566a3,sort_columns:_0x4096c7}=_0x21a19c;if(_0x50843d['upBAA'](!_0x452adc,!_0x2fd4eb)||_0x50843d['bWWxE'](_0x2fd4eb['length'],0x0))throw new Error(_0x50843d[_0x18d854(0x139)]);const _0xa71c4c=_0x50843d['WYNLu'](_0x452adc['replace'](/\./g,'_'),'_data');let _0x505891;if(_0x31e603&&_0x31e603['trim']()){let _0xd2b4d0=_0x31e603;_0x31e603[_0x18d854(0x142)]()[_0x18d854(0x1be)]('file:')&&(_0xd2b4d0=this[_0x18d854(0x165)](_0x31e603)),_0x505891=_0x18d854(0x1aa)+_0xa71c4c+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0xd2b4d0+'\x0a)',logger['info']({'event':_0x50843d[_0x18d854(0x15a)],'query':_0xd2b4d0['substring'](0x0,0x64)},_0x18d854(0x19f));}else{const _0x32a119=_0x2fd4eb['map'](_0x2aca0e=>_0x18d854(0x196)+_0x2aca0e)['join'](',');_0x505891='WITH\x20'+_0xa71c4c+'\x20AS\x20(\x0a\x20\x20\x20\x20SELECT\x20'+_0x32a119+'\x0a\x20\x20\x20\x20FROM\x20'+_0x452adc+'\x0a)',logger[_0x18d854(0x12b)]({'event':_0x18d854(0x1b1),'tableName':_0x452adc,'columnCount':_0x2fd4eb[_0x18d854(0x1ba)]},_0x18d854(0x135));}const _0x465e2b=!_0x2fd4eb||_0x50843d[_0x18d854(0x152)](_0x2fd4eb[_0x18d854(0x1ba)],0x0)||_0x50843d['bWWxE'](_0x2fd4eb[_0x18d854(0x1ba)],0x1)&&(_0x50843d[_0x18d854(0x152)](_0x2fd4eb[0x0],'*')||_0x2fd4eb[0x0][_0x18d854(0x1c0)]()==='all'),_0x44f6a0=_0x465e2b?'*':_0x2fd4eb['join'](',\x20');_0x505891+='\x0aSELECT\x20'+_0x44f6a0+'\x0aFROM\x20'+_0xa71c4c;if(_0x5566a3){const _0x599b87=this[_0x18d854(0x141)](_0x5566a3);_0x599b87&&(_0x505891+=_0x18d854(0x161)+_0x599b87);}if(_0x4096c7&&_0x4096c7[_0x18d854(0x1ba)]>0x0){const _0x4cef8d=this['buildOrderByClause'](_0x4096c7);_0x4cef8d&&(_0x505891+=_0x18d854(0x1bf)+_0x4cef8d);}logger[_0x18d854(0x12b)]({'event':_0x50843d['XBQGV'],'query':_0x505891['substring'](0x0,0xc8)},'Fetching\x20data\x20from\x20database');const _0x527665=await executeQuery(_0x505891);let _0xcd4092=_0x527665;return _0x50843d['bWWxE'](dbType,'oracle')&&_0x527665&&_0x527665['length']>0x0&&(_0xcd4092=_0x527665[_0x18d854(0x146)](_0x2fe9c2=>{const _0x56c9d9=_0x18d854,_0x5027eb={};for(const [_0x2c5f25,_0x4106b0]of Object[_0x56c9d9(0x13d)](_0x2fe9c2)){_0x5027eb[_0x2c5f25['toLowerCase']()]=_0x4106b0;}return _0x5027eb;})),logger[_0x18d854(0x12b)]({'event':_0x18d854(0x1bb),'rows':_0xcd4092[_0x18d854(0x1ba)]},_0x50843d[_0x18d854(0x1a6)]),_0xcd4092;}catch(_0x221d6a){_0x50843d['xmAAd'](logError,_0x221d6a,{'event':'export_fetch_error'},_0x50843d['POMmZ']);throw _0x221d6a;}}['sanitizeValue'](_0x4ca92e){const _0xb878f9=a0_0x39df6c,_0x1e6a73={'HmWZT':_0xb878f9(0x13c)};if(typeof _0x4ca92e===_0x1e6a73[_0xb878f9(0x178)])return _0x4ca92e['replace'](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')[_0xb878f9(0x142)]();else{if(Array['isArray'](_0x4ca92e))return _0x4ca92e['map'](_0x2184f3=>this['sanitizeValue'](_0x2184f3));}return _0x4ca92e;}['buildWhereClause'](_0x44f401){const _0x297442=a0_0x39df6c,_0x527ba3={'RIqNz':function(_0x1a19be,_0x6843b1){return _0x1a19be===_0x6843b1;},'TZsca':_0x297442(0x13c),'RDKuA':function(_0x5f0798,_0x19e837){return _0x5f0798===_0x19e837;},'hDPnt':_0x297442(0x1b3),'DgpPM':function(_0x3f0438,_0x1cbe02){return _0x3f0438!==_0x1cbe02;},'witfe':'IS\x20NOT\x20NULL','tRlDz':_0x297442(0x1af),'IzCBd':function(_0x1e7182,_0x311894){return _0x1e7182===_0x311894;},'LRbDf':_0x297442(0x194)};if(!_0x44f401||!_0x44f401[_0x297442(0x198)]||_0x527ba3[_0x297442(0x191)](_0x44f401[_0x297442(0x198)][_0x297442(0x1ba)],0x0))return'';const {logic:_0x3b9870,conditions:_0x272b8b}=_0x44f401,_0x3e2a5d=_0x3b9870&&_0x527ba3[_0x297442(0x144)](_0x3b9870['toUpperCase'](),'OR')?_0x527ba3['LRbDf']:'\x20AND\x20',_0x1e9361=_0x272b8b['map'](_0x10279b=>{const _0xf2cd7=_0x297442,{key:_0x347719,operator:_0x2f114c,value:_0x1c14c0,sensitive:_0x2969fe}=_0x10279b;if(!_0x347719||!_0x2f114c)return logger[_0xf2cd7(0x14d)]({'event':_0x527ba3[_0xf2cd7(0x190)],'condition':_0x10279b},'Skipping\x20invalid\x20condition'),null;const _0x321d5f=this['sanitizeValue'](_0x1c14c0),_0x379292=_0x527ba3['DgpPM'](_0x2969fe,undefined)?_0x2969fe:!![];let _0x499150=_0x347719,_0x19bef0=_0x321d5f;!_0x379292&&(_0x499150='UPPER('+_0x347719+')',typeof _0x1c14c0==='string'&&(_0x19bef0=_0x1c14c0[_0xf2cd7(0x13b)]()));const _0xdc79d8=_0x527ba3[_0xf2cd7(0x1bc)](typeof _0x19bef0,'string')?'\x27'+_0x19bef0['replace'](/'/g,'\x27\x27')+'\x27':_0x19bef0;switch(_0x2f114c['toUpperCase']()){case'=':case'!=':case'<>':return _0x499150+'\x20'+_0x2f114c+'\x20'+_0xdc79d8;case'>':case'<':case'>=':case'<=':const _0x24592f=typeof _0x321d5f===_0x527ba3['TZsca']?'\x27'+_0x321d5f[_0xf2cd7(0x1ab)](/'/g,'\x27\x27')+'\x27':_0x321d5f;return _0x347719+'\x20'+_0x2f114c+'\x20'+_0x24592f;case _0xf2cd7(0x131):case'NOT\x20LIKE':return _0x499150+'\x20'+_0x2f114c+'\x20'+_0xdc79d8;case'IN':if(Array['isArray'](_0x321d5f)){let _0x478d63;return!_0x379292?_0x478d63=_0x321d5f[_0xf2cd7(0x146)](_0x36862c=>{const _0x54de68=_0xf2cd7,_0x209989=_0x527ba3[_0x54de68(0x144)](typeof _0x36862c,_0x527ba3['TZsca'])?_0x36862c[_0x54de68(0x13b)]():_0x36862c;return _0x527ba3[_0x54de68(0x1bc)](typeof _0x209989,'string')?'\x27'+_0x209989['replace'](/'/g,'\x27\x27')+'\x27':_0x209989;})['join'](',\x20'):_0x478d63=_0x321d5f[_0xf2cd7(0x146)](_0x5cb1e8=>typeof _0x5cb1e8===_0xf2cd7(0x13c)?'\x27'+_0x5cb1e8['replace'](/'/g,'\x27\x27')+'\x27':_0x5cb1e8)[_0xf2cd7(0x1a4)](',\x20'),_0x499150+'\x20IN\x20('+_0x478d63+')';}return _0x499150+_0xf2cd7(0x1ae)+_0xdc79d8+')';case _0xf2cd7(0x19b):return _0x347719+_0xf2cd7(0x14e);case _0x527ba3[_0xf2cd7(0x16f)]:return _0x347719+_0xf2cd7(0x1a0);default:logger[_0xf2cd7(0x14d)]({'event':'unknown_operator','operator':_0x2f114c},_0x527ba3['tRlDz']);return _0x499150+'\x20=\x20'+_0xdc79d8;}})[_0x297442(0x138)](_0x360137=>_0x360137!==null);if(_0x1e9361['length']===0x0)return'';return _0x1e9361['join'](_0x3e2a5d);}[a0_0x39df6c(0x1a8)](_0x2d6612){const _0x2aa2f9=a0_0x39df6c,_0x14e934={'iEiEn':_0x2aa2f9(0x192),'yvLlg':_0x2aa2f9(0x183),'zSuZY':function(_0x999c5f,_0x28e9cf){return _0x999c5f===_0x28e9cf;}};if(!_0x2d6612||_0x2d6612[_0x2aa2f9(0x1ba)]===0x0)return'';const _0x4bffe7=_0x2d6612['map'](_0x2a3192=>{const _0x930a6e=_0x2aa2f9,{column:_0xce159f,direction:_0xfaef11}=_0x2a3192;if(!_0xce159f)return logger['warn']({'event':_0x14e934['iEiEn'],'item':_0x2a3192},_0x14e934[_0x930a6e(0x1b2)]),null;const _0x4dc749=_0xfaef11&&_0x14e934['zSuZY'](_0xfaef11['toUpperCase'](),_0x930a6e(0x126))?_0x930a6e(0x126):_0x930a6e(0x172);return _0xce159f+'\x20'+_0x4dc749;})[_0x2aa2f9(0x138)](_0x25ce42=>_0x25ce42!==null);if(_0x4bffe7[_0x2aa2f9(0x1ba)]===0x0)return'';return _0x4bffe7['join'](',\x20');}async[a0_0x39df6c(0x15c)](_0x4f0ce6,_0x5f4c3b,_0x1d0727){const _0x1f4a31=a0_0x39df6c,_0x3ed6f3={'oTXJp':function(_0x2acdc1,_0x40dd7d){return _0x2acdc1/_0x40dd7d;},'ZEoDL':function(_0x423690,_0x2bc68c){return _0x423690(_0x2bc68c);},'KJhMC':function(_0x32af94,_0x2395bc){return _0x32af94===_0x2395bc;},'fnzPJ':function(_0x3efe40,_0x31b64f){return _0x3efe40===_0x31b64f;},'LrghR':function(_0x296d55,_0x43de80){return _0x296d55>_0x43de80;},'mdoBV':function(_0xd61f8d,_0x581115){return _0xd61f8d>_0x581115;},'BbZhn':'excel_columns_from_request','bweYH':_0x1f4a31(0x140)},_0x4ae079=_0x3ed6f3[_0x1f4a31(0x18c)](require,_0x1f4a31(0x1ad)),_0x366220=new _0x4ae079(),_0x2d9265=_0x1d0727['filename']?_0x1d0727[_0x1f4a31(0x15f)]+'-'+_0x4f0ce6:'export-'+_0x4f0ce6,_0x2479e9=path['join'](this[_0x1f4a31(0x16a)],_0x2d9265+_0x1f4a31(0x189));let _0x2e79e2=_0x1d0727[_0x1f4a31(0x1b8)];const _0xc5c7be=_0x2e79e2&&_0x2e79e2['length']===0x1&&(_0x3ed6f3['KJhMC'](_0x2e79e2[0x0],'*')||_0x3ed6f3[_0x1f4a31(0x17b)](_0x2e79e2[0x0]['toLowerCase'](),_0x1f4a31(0x1b6)));if(_0x3ed6f3[_0x1f4a31(0x16d)](_0x5f4c3b['length'],0x0)){const _0x2890f5=Object['keys'](_0x5f4c3b[0x0]);if(_0xc5c7be)_0x2e79e2=_0x2890f5,logger[_0x1f4a31(0x12b)]({'event':_0x1f4a31(0x1b5),'columns':_0x2e79e2},_0x1f4a31(0x13e)+_0x2e79e2[_0x1f4a31(0x1ba)]+_0x1f4a31(0x151));else{if(_0x2e79e2&&_0x3ed6f3[_0x1f4a31(0x143)](_0x2e79e2[_0x1f4a31(0x1ba)],0x0)){const _0x263a13=_0x2e79e2['filter'](_0x411ae0=>_0x2890f5[_0x1f4a31(0x1a5)](_0x411ae0));_0x263a13[_0x1f4a31(0x1ba)]>0x0?(_0x2e79e2=_0x263a13,logger['info']({'event':_0x3ed6f3['BbZhn'],'requestedColumns':_0x1d0727['columns'],'validColumns':_0x2e79e2},_0x1f4a31(0x136)+_0x2e79e2['length']+_0x1f4a31(0x180))):(_0x2e79e2=_0x2890f5,logger['warn']({'event':'excel_columns_fallback','requestedColumns':_0x1d0727[_0x1f4a31(0x1b8)],'availableColumns':_0x2890f5},'Requested\x20columns\x20not\x20found\x20in\x20data,\x20using\x20all\x20'+_0x2890f5[_0x1f4a31(0x1ba)]+_0x1f4a31(0x123)));}else _0x2e79e2=_0x2890f5,logger['info']({'event':_0x1f4a31(0x186),'columns':_0x2e79e2},_0x1f4a31(0x136)+_0x2e79e2['length']+_0x1f4a31(0x181));}}else logger[_0x1f4a31(0x12b)]({'event':_0x3ed6f3['bweYH'],'columns':_0x2e79e2},_0x1f4a31(0x136)+(_0x2e79e2?.[_0x1f4a31(0x1ba)]||0x0)+_0x1f4a31(0x15e));return await _0x366220[_0x1f4a31(0x128)]({'data':_0x5f4c3b,'columns':_0x2e79e2,'columnFormats':_0x1d0727[_0x1f4a31(0x168)]||null,'fieldLabels':_0x1d0727[_0x1f4a31(0x19e)]||null,'filePath':_0x2479e9,'onProgress':async _0x161ac4=>{const _0x539ddf=_0x1f4a31;await redisHelper[_0x539ddf(0x156)](_0x4f0ce6,{'progress':Math[_0x539ddf(0x17e)](_0x161ac4),'processed_rows':Math[_0x539ddf(0x17e)](_0x3ed6f3['oTXJp'](_0x161ac4,0x64)*_0x5f4c3b['length'])});}}),_0x2479e9;}async['getFilePath'](_0x448268){const _0xf8ad99=a0_0x39df6c,_0x3e2ad3={'BpYAc':function(_0x3c2ad9,_0x36f56b,_0x4954a6,_0x20d342){return _0x3c2ad9(_0x36f56b,_0x4954a6,_0x20d342);},'paLqy':'Export\x20file\x20not\x20found'},_0x3f5d30=await redisHelper['getJob'](_0x448268);if(!_0x3f5d30||_0x3f5d30[_0xf8ad99(0x137)]!=='completed')return null;try{return await fs[_0xf8ad99(0x148)](_0x3f5d30[_0xf8ad99(0x130)]),_0x3f5d30['file_path'];}catch(_0x4840f2){return _0x3e2ad3['BpYAc'](logError,_0x4840f2,{'event':_0xf8ad99(0x1b0),'jobId':_0x448268,'path':_0x3f5d30[_0xf8ad99(0x130)]},_0x3e2ad3[_0xf8ad99(0x125)]),null;}}async[a0_0x39df6c(0x153)](){const _0xa27de5=a0_0x39df6c,_0x45d551={'DFXmV':_0xa27de5(0x134),'aLXQu':function(_0x3c75ba,_0xd4a86f){return _0x3c75ba/_0xd4a86f;},'eBsCz':'export_file_deleted','FaUOh':'export_file_delete_error','UfGEF':_0xa27de5(0x19c),'lkNLd':'export_cleanup_complete'};logger['info']({'event':'export_cleanup_start'},_0x45d551[_0xa27de5(0x13f)]);const _0x522269=await redisHelper['getAllJobs']();let _0x24e9a2=0x0;for(const _0xf73f46 of _0x522269){const _0x5aa26f=new Date(_0xf73f46[_0xa27de5(0x124)]),_0x317be1=new Date(),_0x5f45e7=_0x45d551[_0xa27de5(0x14f)](_0x317be1-_0x5aa26f,0x3e8*0x3c*0x3c);if(_0x5f45e7>0x1){if(_0xf73f46['file_path'])try{await fs[_0xa27de5(0x14a)](_0xf73f46[_0xa27de5(0x130)]),logger[_0xa27de5(0x12b)]({'event':_0x45d551['eBsCz'],'path':_0xf73f46['file_path']},_0xa27de5(0x13a));}catch(_0x10e078){logger[_0xa27de5(0x14d)]({'event':_0x45d551['FaUOh'],'path':_0xf73f46[_0xa27de5(0x130)],'error':_0x10e078['message']},_0x45d551['UfGEF']);}await redisHelper[_0xa27de5(0x15b)](_0xf73f46[_0xa27de5(0x1c1)]),_0x24e9a2++;}}return logger[_0xa27de5(0x12b)]({'event':_0x45d551['lkNLd'],'deleted':_0x24e9a2},'Export\x20cleanup\x20completed'),_0x24e9a2;}}module[a0_0x39df6c(0x176)]=new ExportService();
|
|
1
|
+
const a0_0x1beddb=a0_0x42d9;(function(_0xbed403,_0x265b42){const _0x3908a2=a0_0x42d9,_0x5de0b2=_0xbed403();while(!![]){try{const _0x107f16=parseInt(_0x3908a2(0x149))/0x1+-parseInt(_0x3908a2(0x178))/0x2+-parseInt(_0x3908a2(0x163))/0x3+parseInt(_0x3908a2(0x138))/0x4*(-parseInt(_0x3908a2(0x141))/0x5)+-parseInt(_0x3908a2(0x19d))/0x6*(parseInt(_0x3908a2(0x195))/0x7)+parseInt(_0x3908a2(0x157))/0x8+parseInt(_0x3908a2(0x1aa))/0x9*(parseInt(_0x3908a2(0x15e))/0xa);if(_0x107f16===_0x265b42)break;else _0x5de0b2['push'](_0x5de0b2['shift']());}catch(_0x159a3c){_0x5de0b2['push'](_0x5de0b2['shift']());}}}(a0_0x3741,0x200ee));const {v7:uuidv7}=require('uuid'),path=require(a0_0x1beddb(0x188)),fs=require('fs')[a0_0x1beddb(0x13b)],fsSync=require('fs'),redisHelper=require(a0_0x1beddb(0x15f)),{logger,logError}=require('../../core/utils/logger'),dbType=(process[a0_0x1beddb(0x1a0)][a0_0x1beddb(0x196)]||a0_0x1beddb(0x1a3))['toLowerCase']();function a0_0x3741(){const _0x40723d=['zxHPC3rZu3LUyW','CM9RD2q','zervDw0','C3rHCNrZv2L0Aa','zxHWB3j0x3bYB2nLC3nPBMDFC3rHCNq','zMLSzv9WyxrO','DvzUDu0','quHUzgK','rgjsC3K','revtqW','ieforca','vxnPBMCGywXSia','rxHWB3j0igzPBguGzgvSzxrLza','y2HHCKf0','tNHHsgW','yLLKreG','BwvZC2fNzq','Cgf5Bg9Hza','tNf2s04','zxHWB3j0lq','vxnPBMCG','lI9LEgnLBc1Nzw5LCMf0B3i','DhjPBq','wMXAC3u','Aw52ywXPzf9JB25KAxrPB24','CMvHzezPBgvtEw5J','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','zxHWB3j0x3vZAw5Nx2f1Dg9FCxvLCNK','DxbKyxrLsM9I','zxHWB3j0x3f1zxj5x2zPBgvFBg9HzgvK','mtCWmZjMruHgtMu','q1vxAgu','BgvUz3rO','ChjVBwLZzxm','svmGtK9uie5vteW','thjTvKG','CM91BMq','zKXwtwi','ignOyxjZkq','mtbsugPMvK8','y29SDw1UCW','sw52ywXPzcbMAwXLoIbYzwzLCMvUy2uGlsbWyxrOigLZigvTChr5','B3zdBuK','BwfW','vvbqrviO','AxnbCNjHEq','cK9srevsiejzia','mJu3otuWqMjKvvPr','tg9HzgvKifnrtcbXDwvYEsbMCM9TigzPBguGka','CMvZB2X2zq','Bef0yvq','zxHWB3j0x3vZAw5Nx2n1C3rVBv9XDwvYEq','yNvPBgrpCMrLCKj5q2XHDxnL','ieLoicG','ignVBhvTBNm','z2v0qwXSsM9ICW','CgfYyw1Z','yKHUqNy','ALvfu1y','x2v4Cg9YDerPCG','yNvPBgrxAgvYzunSyxvZzq','nZa1nJe2AfzUsxLw','Cvbut2C','C3DRuNK','y29TCgXLDgvK','zMLLBgrmywjLBhm','vxnPBMCGyxv0BY1Nzw5LCMf0zwqGCxvLCNK','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','mtbwAK9htNu','lI4Vy2fJAgLUzY9YzwrPCY1OzwXWzxi','CMvZB2X2zuv4Cg9YDff1zxj5','rvHqt1jux0rjuG','wKDKzNK','ntGYnZq3B3PstuXJ','D2fYBG','tLPUqNi','ie9sia','rxHWB3j0igzHAwXLza','zxHWB3j0x2nSzwfUDxbFC3rHCNq','DxrMoa','rMfPBgvKihrVihjLywqGzxHWB3j0ihf1zxj5igzPBgu6ia','zMfPBgvK','rxHWB3j0ignSzwfUDxaGy29TCgXLDgvK','BM93','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','wLbvDve','zxHWB3j0x3bYB2nLC3nFzxjYB3i','B3jHy2XL','zxHWB3j0x3nLCNzPy2vFAw5PDa','iefticGkicaGia','yK1WA1a','z2v0sM9I','ignVBhvTBNmGzNjVBsbYzxf1zxn0','rfLAB28','nda2nteYEM9Sywjy','ugTPDxi','u3rHCNrPBMCGzxHWB3j0ignSzwfUDxa','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','AM9Ix2LK','Dw5RBM93BL9VCgvYyxrVCG','v0Lusca','u1zcqKy','Dg9ju09tDhjPBMC','Dg9mB3DLCKnHC2u','zxHJzwXFy29SDw1UC19MywXSyMfJAW','zxHWB3j0rgLY','rgf0ysbMzxrJAgvKihn1y2nLC3nMDwXSEq','ChjVy2vZC2vKx3jVD3m','y29UzgL0Aw9UCW','v0fmAw8','Cgf0Aa','cLnftevdvca','Dg9vChbLCKnHC2u','sfLWwvK','zgvMyxvSDa','zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','B2PhrLy','rxHWB3j0ihf1zxj5igzPBguGAxmGzw1WDhK6ia','zxHWB3j0x2zPBgvFBM90x2zVDw5K','C2fUAxrPEMvwywX1zq','zxHJzwXFy29SDw1UC19MCM9Tx2nVBMzPzW','y29Kzq','A2v5CW','ndjnEvziy3m','rejFvfLqrq','rxHWB3j0ihbYB2nLC3nPBMCGzMfPBgvK','CxHhBhu','rLPmwLa','Dg90ywXFCM93CW','zxHWB3j0x2zPBgvFzgvSzxrLza','svmGtLvmta','ndeYnZrer2f6wxu','zgXzq1i','C3vIC3rYAw5N','zw52','zMv0y2HeyxrH','BxLZCwW','Cg9ZDgDYzxnXBa','zxHWB3j0CW','rxHWB3j0igPVyIbJCMvHDgvK','z2vUzxjHDgu','Aw5MBW','zxHLy3v0zvf1zxj5','t1LxD1q','mJa5mJa3n3rUDuvqqW','y29SDw1UrM9YBwf0CW','AM9PBG','zMLSDgvY','z2v0sM9Iu3rHDhvZ','zxHJzwXFy29SDw1UC19MCM9Tx3f1zxj5x3jLC3vSDa','ChjVz3jLC3m','rxHWB3j0ihnLCNzPy2uGAw5PDgLHBgL6zwq','ChjVy2vZC0PVyG','zxHWB3j0x2zLDgnOx2vYCM9Y','rxHWB3j0ignVBxbSzxrLzcbZDwnJzxnZzNvSBhK','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','CgvUzgLUzW','CMvWBgfJzq','C2v0sM9I','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','C3rYAw5N','z2vUzxjHDgvfEgnLBa','zxHWB3j0x2nVBxbSzxrLza','y3DyCvK'];a0_0x3741=function(){return _0x40723d;};return a0_0x3741();}let executeQuery;if(dbType==='oracle'){const oracleDb=require('../database/db-oracle');executeQuery=(_0x279b28,_0x523672)=>oracleDb[a0_0x1beddb(0x1a8)](_0x279b28,_0x523672);}else{if(dbType===a0_0x1beddb(0x1a2)){const mysqlDb=require('../database/db-mysql');executeQuery=(_0x279046,_0x57f328)=>mysqlDb['executeQuery'](_0x279046,_0x57f328);}else executeQuery=require('../../core/utils/db')[a0_0x1beddb(0x1a8)];}function a0_0x42d9(_0x4b86cc,_0x274c28){_0x4b86cc=_0x4b86cc-0x111;const _0x3741e3=a0_0x3741();let _0x42d9ad=_0x3741e3[_0x4b86cc];if(a0_0x42d9['VIEFoK']===undefined){var _0x12bd42=function(_0x40bf43){const _0x5a5da5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x38dc1f='',_0x5f18f8='';for(let _0x4874a8=0x0,_0xb54953,_0x529f45,_0x4aec1d=0x0;_0x529f45=_0x40bf43['charAt'](_0x4aec1d++);~_0x529f45&&(_0xb54953=_0x4874a8%0x4?_0xb54953*0x40+_0x529f45:_0x529f45,_0x4874a8++%0x4)?_0x38dc1f+=String['fromCharCode'](0xff&_0xb54953>>(-0x2*_0x4874a8&0x6)):0x0){_0x529f45=_0x5a5da5['indexOf'](_0x529f45);}for(let _0x474450=0x0,_0x2c0a7c=_0x38dc1f['length'];_0x474450<_0x2c0a7c;_0x474450++){_0x5f18f8+='%'+('00'+_0x38dc1f['charCodeAt'](_0x474450)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5f18f8);};a0_0x42d9['yEHkpN']=_0x12bd42,a0_0x42d9['kzxcUM']={},a0_0x42d9['VIEFoK']=!![];}const _0x243c11=_0x3741e3[0x0],_0x19512d=_0x4b86cc+_0x243c11,_0x50d056=a0_0x42d9['kzxcUM'][_0x19512d];return!_0x50d056?(_0x42d9ad=a0_0x42d9['yEHkpN'](_0x42d9ad),a0_0x42d9['kzxcUM'][_0x19512d]=_0x42d9ad):_0x42d9ad=_0x50d056,_0x42d9ad;}class ExportService{constructor(){this['_exportDir']=null;}get[a0_0x1beddb(0x183)](){const _0x51419b=a0_0x1beddb,_0x310acc={'ZCjEq':_0x51419b(0x18c),'vrIRH':function(_0x548857,_0x544f64,_0x1c26f6,_0x6649e8){return _0x548857(_0x544f64,_0x1c26f6,_0x6649e8);},'kgExb':'Failed\x20to\x20initialize\x20export\x20service'};if(!this['_exportDir']){const _0x3fcc3d=process['env']['RESTFORGE_PROJECT_NAME']||_0x310acc['ZCjEq'];this[_0x51419b(0x155)]=process[_0x51419b(0x1a0)][_0x51419b(0x161)]||path[_0x51419b(0x1ac)](__dirname,'../../exports/'+_0x3fcc3d);try{!fsSync[_0x51419b(0x11a)](this[_0x51419b(0x155)])&&fsSync['mkdirSync'](this[_0x51419b(0x155)],{'recursive':!![]}),logger[_0x51419b(0x1a7)]({'event':_0x51419b(0x172),'dir':this['_exportDir']},_0x51419b(0x1b1));}catch(_0x203967){_0x310acc['vrIRH'](logError,_0x203967,{'event':'export_service_init_error'},_0x310acc['kgExb']);}}return this['_exportDir'];}[a0_0x1beddb(0x160)](_0x3a48ec,_0x463026=null){const _0x21ffc4=a0_0x1beddb,_0x4162b7={'ywRxx':function(_0x5ab6f8,_0x290c97){return _0x5ab6f8!==_0x290c97;},'NxaHl':'file:','Pkiur':_0x21ffc4(0x143),'dDUum':_0x21ffc4(0x169),'OYWwT':_0x21ffc4(0x137),'otfCw':function(_0x293e5c,_0x3c645d){return _0x293e5c===_0x3c645d;},'qxGlu':'ENOENT'};if(!_0x3a48ec||_0x4162b7['ywRxx'](typeof _0x3a48ec,'string'))return _0x3a48ec;const _0x52a69e=_0x3a48ec['trim']();if(!_0x52a69e[_0x21ffc4(0x11d)](_0x4162b7[_0x21ffc4(0x128)]))return _0x52a69e;const _0x54d074=_0x52a69e[_0x21ffc4(0x113)](/^file:/,'')['trim']();if(!_0x54d074)throw new Error(_0x4162b7[_0x21ffc4(0x179)]);const _0x3b6468=_0x463026||path['join'](process['cwd'](),_0x21ffc4(0x12b)),_0x49288f=path[_0x21ffc4(0x14b)](_0x3b6468,_0x54d074);logger['info']({'event':'export_query_file_resolve','relativePath':_0x54d074,'baseDir':_0x3b6468,'absolutePath':_0x49288f},_0x21ffc4(0x16e)+_0x54d074);if(!fsSync['existsSync'](_0x49288f))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x49288f);try{const _0x2b0729=fsSync[_0x21ffc4(0x133)](_0x49288f,_0x4162b7[_0x21ffc4(0x11c)]);if(!_0x2b0729||!_0x2b0729[_0x21ffc4(0x130)]())throw new Error(_0x21ffc4(0x18f)+_0x49288f);return logger['info']({'event':_0x4162b7[_0x21ffc4(0x1a9)],'file':_0x49288f,'queryLength':_0x2b0729['length']},_0x21ffc4(0x14a)+_0x2b0729['length']+_0x21ffc4(0x140)),_0x2b0729[_0x21ffc4(0x130)]();}catch(_0x531f71){if(_0x4162b7['otfCw'](_0x531f71[_0x21ffc4(0x193)],_0x4162b7[_0x21ffc4(0x198)]))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x49288f);throw new Error(_0x21ffc4(0x16a)+_0x531f71[_0x21ffc4(0x12a)]);}}['generateJobId'](){const _0x146d76=a0_0x1beddb,_0x40819c={'ZGdfy':'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789','rokwd':function(_0x578dcf,_0x22621c){return _0x578dcf-_0x22621c;},'bMpkP':function(_0xba4bc9,_0x46da0e){return _0xba4bc9<_0x46da0e;}},_0x50e9a4=_0x40819c[_0x146d76(0x162)],_0x31879b=Date[_0x146d76(0x16d)]()['toString'](0x24),_0x18ac77=uuidv7()['replace'](/-/g,'')['substring'](0x0,_0x40819c[_0x146d76(0x11b)](0xc,_0x31879b['length'])),_0x90eeac=(_0x31879b+_0x18ac77)['substring'](0x0,0xc);let _0x199301='';for(let _0x20b8f7=0x0;_0x40819c[_0x146d76(0x174)](_0x20b8f7,0xc);_0x20b8f7++){_0x90eeac[_0x20b8f7]?_0x199301+=_0x90eeac[_0x20b8f7]:_0x199301+=_0x50e9a4[_0x146d76(0x127)](Math['floor'](Math['random']()*_0x50e9a4['length']));}return _0x199301;}async['createJob'](_0x1d6b3c){const _0x44552a=a0_0x1beddb,_0x4d6f2a={'fRfgM':_0x44552a(0x112),'fLVMb':'export_job_created','aWjin':_0x44552a(0x1a5)},_0x357422=this['generateJobId'](),_0x15127f={'job_id':_0x357422,'status':_0x4d6f2a['fRfgM'],'progress':0x0,'created_at':new Date()[_0x44552a(0x180)](),'params':_0x1d6b3c,'total_rows':0x0,'processed_rows':0x0};return await redisHelper[_0x44552a(0x114)](_0x357422,_0x15127f),logger['info']({'event':_0x4d6f2a[_0x44552a(0x13f)],'jobId':_0x357422,'params':_0x1d6b3c},_0x4d6f2a['aWjin']),this[_0x44552a(0x1b2)](_0x357422,_0x1d6b3c)['catch'](_0x57107f=>{const _0xe2e044=_0x44552a;logError(_0x57107f,{'event':_0xe2e044(0x170),'jobId':_0x357422},_0xe2e044(0x197));}),{'job_id':_0x357422,'status':'pending'};}async[a0_0x1beddb(0x1ae)](_0xfcf295){const _0x33d61c=a0_0x1beddb,_0x2a9e56={'bYdDH':_0x33d61c(0x115),'iZNUN':function(_0x37588b,_0x5a14e4){return _0x37588b===_0x5a14e4;},'bHnBv':'completed'},_0xdaed1f=await redisHelper['getJob'](_0xfcf295);if(!_0xdaed1f)return{'success':![],'error':_0x2a9e56[_0x33d61c(0x129)]};return{'success':!![],'data':{'job_id':_0xdaed1f[_0x33d61c(0x17c)],'status':_0xdaed1f['status'],'progress':_0xdaed1f[_0x33d61c(0x1b0)],'total_rows':_0xdaed1f[_0x33d61c(0x19a)],'processed_rows':_0xdaed1f[_0x33d61c(0x185)],'file_url':_0x2a9e56['iZNUN'](_0xdaed1f['status'],_0x2a9e56[_0x33d61c(0x153)])?'/api/'+_0xdaed1f[_0x33d61c(0x152)]['moduleName']+'/'+_0xdaed1f['params']['endpointName']+'/export-download?job_id='+_0xfcf295:null,'error':_0xdaed1f['error']||null,'created_at':_0xdaed1f['created_at'],'completed_at':_0xdaed1f['completed_at']||null}};}async[a0_0x1beddb(0x1b2)](_0x29aec6,_0x36638f){const _0x3bb8b3=a0_0x1beddb,_0xafe88b={'qPTOg':_0x3bb8b3(0x11e),'gxVbd':'Export\x20processing\x20started','BrxBq':_0x3bb8b3(0x1b4),'uVnuM':_0x3bb8b3(0x167),'XFVyI':_0x3bb8b3(0x16b)};try{await redisHelper['updateJob'](_0x29aec6,{'status':'processing','started_at':new Date()[_0x3bb8b3(0x180)]()}),logger['info']({'event':_0xafe88b[_0x3bb8b3(0x158)],'jobId':_0x29aec6},_0xafe88b['gxVbd']);const _0x25c800=await this['fetchData'](_0x36638f);await redisHelper[_0x3bb8b3(0x136)](_0x29aec6,{'total_rows':_0x25c800[_0x3bb8b3(0x13a)]});const _0x380bee=await this['generateExcel'](_0x29aec6,_0x25c800,_0x36638f);await redisHelper['updateJob'](_0x29aec6,{'status':_0x3bb8b3(0x15a),'progress':0x64,'file_path':_0x380bee,'completed_at':new Date()[_0x3bb8b3(0x180)]()}),logger['info']({'event':_0x3bb8b3(0x118),'jobId':_0x29aec6,'rows':_0x25c800['length']},_0xafe88b['BrxBq']);}catch(_0x3dc897){logError(_0x3dc897,{'event':'export_failed','jobId':_0x29aec6},_0xafe88b[_0x3bb8b3(0x120)]),await redisHelper[_0x3bb8b3(0x136)](_0x29aec6,{'status':_0xafe88b['XFVyI'],'error':_0x3dc897[_0x3bb8b3(0x12a)],'failed_at':new Date()[_0x3bb8b3(0x180)]()});}}async[a0_0x1beddb(0x1a1)](_0x4dd4f4){const _0x3665cf=a0_0x1beddb,_0x4654b1={'NZnBr':function(_0x3ab973,_0x547c6c){return _0x3ab973===_0x547c6c;},'ZlZsu':function(_0x36276f,_0x55bab5){return _0x36276f+_0x55bab5;},'eKtzN':'_data','GCccw':'file:','DYZoo':_0x3665cf(0x14d),'plFIC':'Using\x20custom\x20exportQuery','hUwVb':_0x3665cf(0x135),'CgzbE':_0x3665cf(0x15c),'AHndi':'all','cwXqY':function(_0x14b946,_0x4639f3){return _0x14b946>_0x4639f3;},'ovCmI':'export_fetch_complete','NqvKN':_0x3665cf(0x184),'MGUoN':_0x3665cf(0x1b3)};try{const {tableName:_0x28a0ac,columns:_0x45f788,exportQuery:_0x4a8499,where:_0x2c2c7f,sort_columns:_0x1a8105}=_0x4dd4f4;if(!_0x28a0ac||!_0x45f788||_0x4654b1[_0x3665cf(0x165)](_0x45f788['length'],0x0))throw new Error('tableName\x20and\x20columns\x20are\x20required');const _0x525e9a=_0x4654b1[_0x3665cf(0x131)](_0x28a0ac['replace'](/\./g,'_'),_0x4654b1['eKtzN']);let _0x5b2907;if(_0x4a8499&&_0x4a8499['trim']()){let _0x59a5c7=_0x4a8499;_0x4a8499['trim']()['startsWith'](_0x4654b1['GCccw'])&&(_0x59a5c7=this[_0x3665cf(0x160)](_0x4a8499)),_0x5b2907=_0x3665cf(0x17e)+_0x525e9a+_0x3665cf(0x173)+_0x59a5c7+'\x0a)',logger['info']({'event':_0x4654b1[_0x3665cf(0x177)],'query':_0x59a5c7['substring'](0x0,0x64)},_0x4654b1['plFIC']);}else{const _0x2a4249=_0x45f788['map'](_0x156ec3=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x156ec3)['join'](',');_0x5b2907=_0x3665cf(0x17e)+_0x525e9a+'\x20AS\x20(\x0a\x20\x20\x20\x20SELECT\x20'+_0x2a4249+'\x0a\x20\x20\x20\x20FROM\x20'+_0x28a0ac+'\x0a)',logger['info']({'event':_0x4654b1['hUwVb'],'tableName':_0x28a0ac,'columnCount':_0x45f788['length']},_0x4654b1['CgzbE']);}const _0x37fa5e=!_0x45f788||_0x45f788[_0x3665cf(0x13a)]===0x0||_0x4654b1[_0x3665cf(0x165)](_0x45f788['length'],0x1)&&(_0x45f788[0x0]==='*'||_0x45f788[0x0]['toLowerCase']()===_0x4654b1[_0x3665cf(0x121)]),_0x16cbfa=_0x37fa5e?'*':_0x45f788[_0x3665cf(0x1ac)](',\x20');_0x5b2907+=_0x3665cf(0x189)+_0x16cbfa+'\x0aFROM\x20'+_0x525e9a;if(_0x2c2c7f){const _0x124e41=this['buildWhereClause'](_0x2c2c7f);_0x124e41&&(_0x5b2907+='\x0aWHERE\x20'+_0x124e41);}if(_0x1a8105&&_0x1a8105[_0x3665cf(0x13a)]>0x0){const _0x4e1244=this[_0x3665cf(0x14e)](_0x1a8105);_0x4e1244&&(_0x5b2907+=_0x3665cf(0x148)+_0x4e1244);}logger['info']({'event':'export_fetch_start','query':_0x5b2907[_0x3665cf(0x19f)](0x0,0xc8)},'Fetching\x20data\x20from\x20database');const _0x39c8ed=await executeQuery(_0x5b2907);let _0x92ed59=_0x39c8ed;return dbType===_0x3665cf(0x171)&&_0x39c8ed&&_0x4654b1[_0x3665cf(0x119)](_0x39c8ed[_0x3665cf(0x13a)],0x0)&&(_0x92ed59=_0x39c8ed['map'](_0xbc7088=>{const _0x4f82fa=_0x3665cf,_0x50814e={};for(const [_0x136146,_0x4f8f97]of Object['entries'](_0xbc7088)){_0x50814e[_0x136146[_0x4f82fa(0x181)]()]=_0x4f8f97;}return _0x50814e;})),logger['info']({'event':_0x4654b1[_0x3665cf(0x144)],'rows':_0x92ed59['length']},_0x4654b1[_0x3665cf(0x12c)]),_0x92ed59;}catch(_0x4ede79){logError(_0x4ede79,{'event':_0x4654b1['MGUoN']},'Failed\x20to\x20fetch\x20data');throw _0x4ede79;}}['sanitizeValue'](_0x27de80){const _0x3c7c7c=a0_0x1beddb,_0x28a2ef={'HYpYY':'string'};if(typeof _0x27de80===_0x28a2ef[_0x3c7c7c(0x18b)])return _0x27de80[_0x3c7c7c(0x113)](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')[_0x3c7c7c(0x130)]();else{if(Array[_0x3c7c7c(0x147)](_0x27de80))return _0x27de80[_0x3c7c7c(0x145)](_0x3cda86=>this['sanitizeValue'](_0x3cda86));}return _0x27de80;}[a0_0x1beddb(0x156)](_0x3b94ab){const _0x258b22=a0_0x1beddb,_0x2cf00a={'LrmVH':function(_0x15d08c,_0x3acf58){return _0x15d08c===_0x3acf58;},'ojGFV':'string','AYpeI':function(_0x31228d,_0x2a7499){return _0x31228d||_0x2a7499;},'lAtaT':'Skipping\x20invalid\x20condition','QYhMr':function(_0x3048dc,_0x5d2953){return _0x3048dc!==_0x5d2953;},'ZPUuQ':function(_0x35d004,_0x4b5f31){return _0x35d004===_0x4b5f31;},'GyAiA':function(_0x121e52,_0x27415a){return _0x121e52===_0x27415a;},'CwoVA':'LIKE','euagK':_0x258b22(0x13c),'Shxcm':function(_0x3e6a98,_0x12398d){return _0x3e6a98===_0x12398d;}};if(!_0x3b94ab||!_0x3b94ab['conditions']||_0x2cf00a['GyAiA'](_0x3b94ab[_0x258b22(0x186)]['length'],0x0))return'';const {logic:_0x2ff566,conditions:_0x224530}=_0x3b94ab,_0x3914c1=_0x2ff566&&_0x2cf00a['Shxcm'](_0x2ff566['toUpperCase'](),'OR')?_0x258b22(0x166):_0x258b22(0x124),_0x2f4ffd=_0x224530[_0x258b22(0x145)](_0x2e1be7=>{const _0x4930f5=_0x258b22,{key:_0xda7e87,operator:_0x10f32e,value:_0x3aa8b3,sensitive:_0x1eae12}=_0x2e1be7;if(_0x2cf00a['AYpeI'](!_0xda7e87,!_0x10f32e))return logger[_0x4930f5(0x164)]({'event':_0x4930f5(0x132),'condition':_0x2e1be7},_0x2cf00a[_0x4930f5(0x14c)]),null;const _0x612df=this[_0x4930f5(0x191)](_0x3aa8b3),_0x11e6a7=_0x2cf00a['QYhMr'](_0x1eae12,undefined)?_0x1eae12:!![];let _0x54e81e=_0xda7e87,_0x2d0a24=_0x612df;!_0x11e6a7&&(_0x54e81e=_0x4930f5(0x146)+_0xda7e87+')',_0x2cf00a[_0x4930f5(0x13d)](typeof _0x3aa8b3,_0x2cf00a[_0x4930f5(0x18e)])&&(_0x2d0a24=_0x3aa8b3['toUpperCase']()));const _0x2c89c9=_0x2cf00a[_0x4930f5(0x16f)](typeof _0x2d0a24,_0x2cf00a['ojGFV'])?'\x27'+_0x2d0a24[_0x4930f5(0x113)](/'/g,'\x27\x27')+'\x27':_0x2d0a24;switch(_0x10f32e[_0x4930f5(0x18a)]()){case'=':case'!=':case'<>':return _0x54e81e+'\x20'+_0x10f32e+'\x20'+_0x2c89c9;case'>':case'<':case'>=':case'<=':const _0x4e3d04=_0x2cf00a['GyAiA'](typeof _0x612df,_0x4930f5(0x116))?'\x27'+_0x612df['replace'](/'/g,'\x27\x27')+'\x27':_0x612df;return _0xda7e87+'\x20'+_0x10f32e+'\x20'+_0x4e3d04;case _0x2cf00a['CwoVA']:case'NOT\x20LIKE':return _0x54e81e+'\x20'+_0x10f32e+'\x20'+_0x2c89c9;case'IN':if(Array['isArray'](_0x612df)){let _0x44bad5;return!_0x11e6a7?_0x44bad5=_0x612df['map'](_0x448f6b=>{const _0x471ef5=_0x4930f5,_0xae086=_0x2cf00a['LrmVH'](typeof _0x448f6b,_0x2cf00a['ojGFV'])?_0x448f6b[_0x471ef5(0x18a)]():_0x448f6b;return typeof _0xae086===_0x2cf00a[_0x471ef5(0x18e)]?'\x27'+_0xae086[_0x471ef5(0x113)](/'/g,'\x27\x27')+'\x27':_0xae086;})[_0x4930f5(0x1ac)](',\x20'):_0x44bad5=_0x612df['map'](_0x5989a5=>typeof _0x5989a5==='string'?'\x27'+_0x5989a5['replace'](/'/g,'\x27\x27')+'\x27':_0x5989a5)[_0x4930f5(0x1ac)](',\x20'),_0x54e81e+_0x4930f5(0x14f)+_0x44bad5+')';}return _0x54e81e+'\x20IN\x20('+_0x2c89c9+')';case _0x4930f5(0x19c):return _0xda7e87+'\x20IS\x20NULL';case _0x2cf00a['euagK']:return _0xda7e87+'\x20IS\x20NOT\x20NULL';default:logger['warn']({'event':_0x4930f5(0x17d),'operator':_0x10f32e},_0x4930f5(0x15d));return _0x54e81e+'\x20=\x20'+_0x2c89c9;}})[_0x258b22(0x1ad)](_0x8c417c=>_0x8c417c!==null);if(_0x2f4ffd['length']===0x0)return'';return _0x2f4ffd['join'](_0x3914c1);}['buildOrderByClause'](_0x54557e){const _0xab963b=a0_0x1beddb,_0x33ea92={'niQuW':'Skipping\x20invalid\x20order\x20clause','VaFFi':function(_0x10d39d,_0x2f3cf5){return _0x10d39d===_0x2f3cf5;},'dlYCR':'DESC','djjcS':'ASC'};if(!_0x54557e||_0x54557e['length']===0x0)return'';const _0x54ae0e=_0x54557e[_0xab963b(0x145)](_0x623fcd=>{const _0x47d7b8=_0xab963b,{column:_0x2011ad,direction:_0x1e4388}=_0x623fcd;if(!_0x2011ad)return logger[_0x47d7b8(0x164)]({'event':'invalid_order','item':_0x623fcd},_0x33ea92['niQuW']),null;const _0x1eef88=_0x1e4388&&_0x33ea92['VaFFi'](_0x1e4388['toUpperCase'](),_0x47d7b8(0x123))?_0x33ea92[_0x47d7b8(0x19e)]:_0x33ea92['djjcS'];return _0x2011ad+'\x20'+_0x1eef88;})[_0xab963b(0x1ad)](_0x30c43b=>_0x30c43b!==null);if(_0x54ae0e[_0xab963b(0x13a)]===0x0)return'';return _0x54ae0e['join'](',\x20');}async[a0_0x1beddb(0x117)](_0x4a1d4a,_0x46e39c,_0x24ea56){const _0x24d125=a0_0x1beddb,_0x107d1a={'WALio':function(_0x3678f1,_0x52102){return _0x3678f1/_0x52102;},'swkRy':function(_0x1dd246,_0x125d64){return _0x1dd246===_0x125d64;},'jUESV':function(_0x32eb1b,_0x399641){return _0x32eb1b>_0x399641;},'DbRsy':'excel_columns_select_all','FZLZP':function(_0x23ea90,_0x3e66c1){return _0x23ea90>_0x3e66c1;},'IItvl':'excel_columns_from_request'},_0x21a1b2=require(_0x24d125(0x12f)),_0x336c52=new _0x21a1b2(),_0xddde87=_0x24ea56['filename']?_0x24ea56['filename']+'-'+_0x4a1d4a:_0x24d125(0x12d)+_0x4a1d4a,_0x377953=path[_0x24d125(0x1ac)](this['exportDir'],_0xddde87+'.xlsx');let _0x372744=_0x24ea56[_0x24d125(0x142)];const _0x405b0d=_0x372744&&_0x107d1a['swkRy'](_0x372744['length'],0x1)&&(_0x107d1a[_0x24d125(0x159)](_0x372744[0x0],'*')||_0x372744[0x0]['toLowerCase']()==='all');if(_0x107d1a[_0x24d125(0x154)](_0x46e39c[_0x24d125(0x13a)],0x0)){const _0x43743a=Object[_0x24d125(0x194)](_0x46e39c[0x0]);if(_0x405b0d)_0x372744=_0x43743a,logger[_0x24d125(0x1a7)]({'event':_0x107d1a[_0x24d125(0x122)],'columns':_0x372744},_0x24d125(0x125)+_0x372744['length']+'\x20columns\x20(wildcard\x20requested)');else{if(_0x372744&&_0x372744[_0x24d125(0x13a)]>0x0){const _0x1c5992=_0x372744['filter'](_0x9a1e9f=>_0x43743a['includes'](_0x9a1e9f));_0x107d1a[_0x24d125(0x199)](_0x1c5992['length'],0x0)?(_0x372744=_0x1c5992,logger[_0x24d125(0x1a7)]({'event':_0x107d1a['IItvl'],'requestedColumns':_0x24ea56['columns'],'validColumns':_0x372744},_0x24d125(0x12e)+_0x372744[_0x24d125(0x13a)]+_0x24d125(0x176))):(_0x372744=_0x43743a,logger[_0x24d125(0x164)]({'event':_0x24d125(0x182),'requestedColumns':_0x24ea56[_0x24d125(0x142)],'availableColumns':_0x43743a},'Requested\x20columns\x20not\x20found\x20in\x20data,\x20using\x20all\x20'+_0x43743a[_0x24d125(0x13a)]+_0x24d125(0x150)));}else _0x372744=_0x43743a,logger[_0x24d125(0x1a7)]({'event':_0x24d125(0x1af),'columns':_0x372744},'Using\x20'+_0x372744[_0x24d125(0x13a)]+'\x20columns\x20from\x20query\x20result');}}else logger['info']({'event':_0x24d125(0x192),'columns':_0x372744},_0x24d125(0x12e)+(_0x372744?.['length']||0x0)+_0x24d125(0x111));return await _0x336c52[_0x24d125(0x1a6)]({'data':_0x46e39c,'columns':_0x372744,'columnFormats':_0x24ea56[_0x24d125(0x1ab)]||null,'fieldLabels':_0x24ea56[_0x24d125(0x15b)]||null,'filePath':_0x377953,'onProgress':async _0x44ca28=>{const _0x2232cb=_0x24d125;await redisHelper['updateJob'](_0x4a1d4a,{'progress':Math[_0x2232cb(0x13e)](_0x44ca28),'processed_rows':Math['round'](_0x107d1a[_0x2232cb(0x187)](_0x44ca28,0x64)*_0x46e39c[_0x2232cb(0x13a)])});}}),_0x377953;}async['getFilePath'](_0x402bff){const _0x295584=a0_0x1beddb,_0x2ec47e={'CUWhe':function(_0x4da9ed,_0x1218f5,_0x4ff79a,_0x3aaed6){return _0x4da9ed(_0x1218f5,_0x4ff79a,_0x3aaed6);},'UTfFM':'Export\x20file\x20not\x20found'},_0x4bfd7a=await redisHelper[_0x295584(0x175)](_0x402bff);if(!_0x4bfd7a||_0x4bfd7a['status']!=='completed')return null;try{return await fs['access'](_0x4bfd7a[_0x295584(0x11f)]),_0x4bfd7a[_0x295584(0x11f)];}catch(_0x4811c7){return _0x2ec47e[_0x295584(0x139)](logError,_0x4811c7,{'event':_0x295584(0x190),'jobId':_0x402bff,'path':_0x4bfd7a[_0x295584(0x11f)]},_0x2ec47e['UTfFM']),null;}}async['cleanup'](){const _0x54ec78=a0_0x1beddb,_0x159eb1={'UNupD':function(_0x3bbdf9,_0xfc539b){return _0x3bbdf9-_0xfc539b;},'SVBBF':_0x54ec78(0x19b),'BHBph':_0x54ec78(0x126),'BSUIX':_0x54ec78(0x18d),'ZViCF':_0x54ec78(0x17b)};logger[_0x54ec78(0x1a7)]({'event':_0x54ec78(0x168)},_0x54ec78(0x17a));const _0x4dafc9=await redisHelper[_0x54ec78(0x151)]();let _0x48e99c=0x0;for(const _0x5e8241 of _0x4dafc9){const _0xf21b74=new Date(_0x5e8241['created_at']),_0x2fad83=new Date(),_0x4ee4e9=_0x159eb1['UNupD'](_0x2fad83,_0xf21b74)/(0x3e8*0x3c*0x3c);if(_0x4ee4e9>0x1){if(_0x5e8241[_0x54ec78(0x11f)])try{await fs['unlink'](_0x5e8241['file_path']),logger[_0x54ec78(0x1a7)]({'event':_0x159eb1[_0x54ec78(0x17f)],'path':_0x5e8241['file_path']},_0x159eb1['BHBph']);}catch(_0x5713bf){logger['warn']({'event':_0x159eb1['BSUIX'],'path':_0x5e8241['file_path'],'error':_0x5713bf[_0x54ec78(0x12a)]},_0x54ec78(0x134));}await redisHelper['deleteJob'](_0x5e8241['job_id']),_0x48e99c++;}}return logger[_0x54ec78(0x1a7)]({'event':_0x159eb1['ZViCF'],'deleted':_0x48e99c},_0x54ec78(0x16c)),_0x48e99c;}}module[a0_0x1beddb(0x1a4)]=new ExportService();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x1da7c1=a0_0x2790;function a0_0x5675(){const _0x52c694=['mtK2ndmWtePZDuTe','C3rHDhvZ','rg9Jufq','rMfPBgvKihrVigrVD25SB2fKigzPBgu','CxvLCNK','mtm5nZy2mMnsAu16wG','n3bWCKf3vG','mtqZrMnrqM5x','ntC0nZe2t294wNfP','t1HIAuS','nwr0teHYtG','AxnbCNjHEq','mZa3nJa4wNrvtvvN','mZqWnJK2og5eA1jRsq','Aw5JBhvKzxm','ANnVBG','sw52ywXPzcbZB3j0x2nVBhvTBNmGC3rYDwn0DxjLlIbfEhbLy3rLzdOGw3SGy29SDw1UoIaIy29SiIWGzgLYzwn0Aw9UoIaIqvndFerfu0mIih1D','rMfPBgvKihrVigrVD25SB2fKigv4Cg9YDcbMAwXL','t25SEsb4Bhn4igzVCM1HDcbPCYbZDxbWB3j0zwq','iIbPCYbUB3qGywXSB3DLza','y2XLyw51Cf9LCNjVCG','lwv4Cg9YDa','zxHWB3j0x3rYAwDNzxjFzxjYB3i','zMLLBgrmywjLBhm','l2v4Cg9YDc1ZDgf0Dxm','BwvZC2fNzq','y3jLyxrLsM9I','AgfUzgXLrxHWB3j0vhjPz2DLCG','CMvNAxn0zxjsB3v0zxm','AgfUzgXLrxHWB3j0u3rHDhvZ','u05ty0q','mwHhzgf3tq','AgfUzgXLrxHWB3j0rg93BMXVywq','mtq3mdK2owX6t1zYAG','A2v5','EgXZEa','zxHWB3j0x2rVD25SB2fKzwq','u1fcDNu','nZC2ndK5uuTVrMTR','mtqZBhjewLzk','z2v0','y29UzgL0Aw9UCW','Egv5Dui','zxHWB3j0x3n0yxr1C19LCNjVCG','Bg9NAwm','Aw5MBW','rMfPBgvKihrVihrYAwDNzxiGzxHWB3j0','q2XLyw51CcbJB21WBgv0zwq','zMP1CKy','y29SDw1UrM9YBwf0CW','nfnAvercsq'];a0_0x5675=function(){return _0x52c694;};return a0_0x5675();}function a0_0x2790(_0x114d7e,_0x159d87){_0x114d7e=_0x114d7e-0x152;const _0x56753b=a0_0x5675();let _0x27902d=_0x56753b[_0x114d7e];if(a0_0x2790['nUTuAK']===undefined){var _0x5ab9bb=function(_0x47d36f){const _0x150ccd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x29c808='',_0x167124='';for(let _0x1319ee=0x0,_0x598b0,_0x3a2f22,_0x193d78=0x0;_0x3a2f22=_0x47d36f['charAt'](_0x193d78++);~_0x3a2f22&&(_0x598b0=_0x1319ee%0x4?_0x598b0*0x40+_0x3a2f22:_0x3a2f22,_0x1319ee++%0x4)?_0x29c808+=String['fromCharCode'](0xff&_0x598b0>>(-0x2*_0x1319ee&0x6)):0x0){_0x3a2f22=_0x150ccd['indexOf'](_0x3a2f22);}for(let _0x3399c8=0x0,_0x5f2f56=_0x29c808['length'];_0x3399c8<_0x5f2f56;_0x3399c8++){_0x167124+='%'+('00'+_0x29c808['charCodeAt'](_0x3399c8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x167124);};a0_0x2790['kiSJoM']=_0x5ab9bb,a0_0x2790['Jalfbf']={},a0_0x2790['nUTuAK']=!![];}const _0x362fa9=_0x56753b[0x0],_0x35c3f9=_0x114d7e+_0x362fa9,_0x29bd3e=a0_0x2790['Jalfbf'][_0x35c3f9];return!_0x29bd3e?(_0x27902d=a0_0x2790['kiSJoM'](_0x27902d),a0_0x2790['Jalfbf'][_0x35c3f9]=_0x27902d):_0x27902d=_0x29bd3e,_0x27902d;}(function(_0x570019,_0x2e881e){const _0x1d7d40=a0_0x2790,_0x4c419f=_0x570019();while(!![]){try{const _0x2b4f05=-parseInt(_0x1d7d40(0x15b))/0x1*(-parseInt(_0x1d7d40(0x174))/0x2)+-parseInt(_0x1d7d40(0x162))/0x3*(parseInt(_0x1d7d40(0x16e))/0x4)+parseInt(_0x1d7d40(0x179))/0x5*(-parseInt(_0x1d7d40(0x17c))/0x6)+parseInt(_0x1d7d40(0x175))/0x7*(-parseInt(_0x1d7d40(0x17b))/0x8)+-parseInt(_0x1d7d40(0x15d))/0x9+parseInt(_0x1d7d40(0x16f))/0xa*(parseInt(_0x1d7d40(0x163))/0xb)+parseInt(_0x1d7d40(0x177))/0xc*(parseInt(_0x1d7d40(0x176))/0xd);if(_0x2b4f05===_0x2e881e)break;else _0x4c419f['push'](_0x4c419f['shift']());}catch(_0x2ee679){_0x4c419f['push'](_0x4c419f['shift']());}}}(a0_0x5675,0x6e76c));const exportService=require('../../services/export-service'),{logger,logError}=require('../../utils/logger'),path=require('path');class ExportHandler{static[a0_0x1da7c1(0x158)](_0x37752d,_0x245022,_0x8246ea,_0x154704){const _0x482d3b=a0_0x1da7c1,_0x314296={'mAhAc':function(_0x29dc45,_0x5cb8d1,_0x1ec2ce,_0x199519){return _0x29dc45(_0x5cb8d1,_0x1ec2ce,_0x199519);},'xeyuB':_0x482d3b(0x167),'OVJfj':function(_0x4039c5,_0x387879,_0x4b69fc,_0x579523){return _0x4039c5(_0x387879,_0x4b69fc,_0x579523);},'VOtNp':'Failed\x20to\x20download\x20export'},_0x3872a2='/api/'+_0x245022+'/'+_0x8246ea;_0x37752d['post'](_0x3872a2+'/export',async(_0x2890aa,_0x428853)=>{const _0x1c1791=_0x482d3b;try{await this[_0x1c1791(0x157)](_0x2890aa,_0x428853,_0x154704,_0x245022,_0x8246ea);}catch(_0x25fba2){logError(_0x25fba2,{'event':_0x1c1791(0x152)},_0x1c1791(0x16a)),_0x428853['status'](0x1f4)[_0x1c1791(0x17e)]({'success':![],'error':_0x25fba2['message']});}}),_0x37752d['get'](_0x3872a2+_0x482d3b(0x154),async(_0x4dc928,_0x1740ae)=>{const _0x3647=_0x482d3b;try{await this[_0x3647(0x159)](_0x4dc928,_0x1740ae);}catch(_0x181450){_0x314296['mAhAc'](logError,_0x181450,{'event':_0x314296[_0x3647(0x166)]},'Failed\x20to\x20get\x20export\x20status'),_0x1740ae[_0x3647(0x170)](0x1f4)[_0x3647(0x17e)]({'success':![],'error':_0x181450['message']});}}),_0x37752d[_0x482d3b(0x164)](_0x3872a2+'/export-download',async(_0x3a8f54,_0x47abb2)=>{const _0x534584=_0x482d3b;try{await this['handleExportDownload'](_0x3a8f54,_0x47abb2);}catch(_0x42a68d){_0x314296['OVJfj'](logError,_0x42a68d,{'event':'export_download_error'},_0x314296['VOtNp']),!_0x47abb2['headersSent']&&_0x47abb2['status'](0x1f4)['json']({'success':![],'error':_0x42a68d[_0x534584(0x155)]});}});}static async[a0_0x1da7c1(0x157)](_0x432f96,_0x1a75c7,_0x293542,_0x338595,_0x255ddd){const _0x33ff3d=a0_0x1da7c1,_0x19fd9d={'tEeYZ':function(_0x2cb8dd,_0x5d0a28){return _0x2cb8dd!==_0x5d0a28;},'DocPT':_0x33ff3d(0x181),'AxLtI':'Invalid\x20where\x20structure.\x20Expected:\x20{\x20logic:\x20\x22AND|OR\x22,\x20conditions:\x20[...]\x20}','fjurF':'Invalid\x20sort\x20column','EBoIN':_0x33ff3d(0x184),'NwDZc':function(_0x11cfed,_0x4924a9){return _0x11cfed||_0x4924a9;}},{format:_0x3142d0,filename:_0x3e025d,columns:_0x5cb83c,where:_0x3a0f1d,sort_columns:_0x3eb5ae}=_0x432f96['body'];if(_0x3142d0&&_0x19fd9d['tEeYZ'](_0x3142d0,_0x33ff3d(0x15f)))return _0x1a75c7['status'](0x190)[_0x33ff3d(0x17e)]({'success':![],'error':_0x19fd9d[_0x33ff3d(0x171)]});if(_0x3a0f1d){if(!_0x3a0f1d[_0x33ff3d(0x168)]||!_0x3a0f1d['conditions']||!Array[_0x33ff3d(0x17a)](_0x3a0f1d['conditions']))return _0x1a75c7[_0x33ff3d(0x170)](0x190)[_0x33ff3d(0x17e)]({'success':![],'error':_0x19fd9d['AxLtI']});}if(_0x3eb5ae){if(!Array[_0x33ff3d(0x17a)](_0x3eb5ae))return _0x1a75c7[_0x33ff3d(0x170)](0x190)['json']({'success':![],'error':_0x33ff3d(0x17f)});}const _0x3fce2a=_0x293542['columns']||[];if(_0x3a0f1d&&Array[_0x33ff3d(0x17a)](_0x3a0f1d[_0x33ff3d(0x165)]))for(const _0x39eb3e of _0x3a0f1d['conditions']){if(_0x39eb3e['key']&&!_0x3fce2a[_0x33ff3d(0x17d)](_0x39eb3e[_0x33ff3d(0x15e)]))return _0x1a75c7['status'](0x190)[_0x33ff3d(0x17e)]({'success':![],'error':'Invalid\x20where\x20field','message':'Field\x20\x22'+_0x39eb3e[_0x33ff3d(0x15e)]+_0x33ff3d(0x182),'validFields':_0x3fce2a});}if(Array[_0x33ff3d(0x17a)](_0x3eb5ae))for(const _0x33d027 of _0x3eb5ae){if(_0x33d027['column']&&!_0x3fce2a[_0x33ff3d(0x17d)](_0x33d027['column']))return _0x1a75c7[_0x33ff3d(0x170)](0x190)['json']({'success':![],'error':_0x19fd9d[_0x33ff3d(0x16c)],'message':'Column\x20\x22'+_0x33d027['column']+'\x22\x20is\x20not\x20allowed','validFields':_0x3fce2a});}const _0x511407=_0x293542['tableName']['replace']('.','-')+_0x19fd9d['EBoIN'],_0x2efa50=await exportService[_0x33ff3d(0x156)]({'moduleName':_0x338595,'endpointName':_0x255ddd,'tableName':_0x293542['tableName'],'format':_0x3142d0||_0x33ff3d(0x15f),'filename':_0x3e025d||_0x511407,'columns':_0x5cb83c||_0x293542['columns'],'exportQuery':_0x293542['exportQuery']||null,'columnFormats':_0x293542[_0x33ff3d(0x16d)]||null,'fieldLabels':_0x293542[_0x33ff3d(0x153)]||null,'where':_0x19fd9d['NwDZc'](_0x3a0f1d,null),'sort_columns':_0x3eb5ae||null});_0x1a75c7['json']({'success':!![],'data':_0x2efa50});}static async[a0_0x1da7c1(0x159)](_0x4f5368,_0x53eba4){const _0x166c89=a0_0x1da7c1,_0x14f31e={'mUYvH':'job_id\x20parameter\x20is\x20required'},{job_id:_0xfa799f}=_0x4f5368[_0x166c89(0x173)];if(!_0xfa799f)return _0x53eba4[_0x166c89(0x170)](0x190)['json']({'success':![],'error':_0x14f31e['mUYvH']});const _0x1fc235=await exportService['getJobStatus'](_0xfa799f);if(!_0x1fc235['success'])return _0x53eba4[_0x166c89(0x170)](0x194)['json'](_0x1fc235);_0x53eba4['json'](_0x1fc235);}static async[a0_0x1da7c1(0x15c)](_0x253298,_0x49345b){const _0x277bbf=a0_0x1da7c1,_0x3899a9={'cLyZM':function(_0x32b974,_0x4c0662,_0x3a9091,_0x3753a6){return _0x32b974(_0x4c0662,_0x3a9091,_0x3753a6);},'SQBvu':_0x277bbf(0x172),'kxBnL':'Export\x20file\x20downloaded\x20successfully','OXbiK':'File\x20not\x20ready\x20or\x20not\x20found.\x20Check\x20job\x20status\x20first.'},{job_id:_0x1193d9}=_0x253298[_0x277bbf(0x173)];if(!_0x1193d9)return _0x49345b[_0x277bbf(0x170)](0x190)['json']({'success':![],'error':'job_id\x20parameter\x20is\x20required'});const _0x3a6cce=await exportService['getFilePath'](_0x1193d9);if(!_0x3a6cce)return _0x49345b['status'](0x194)['json']({'success':![],'error':_0x3899a9[_0x277bbf(0x178)]});_0x49345b['download'](_0x3a6cce,''+path['basename'](_0x3a6cce),_0x5109e2=>{const _0xdeeb90=_0x277bbf;_0x5109e2?(_0x3899a9['cLyZM'](logError,_0x5109e2,{'event':'export_download_error','jobId':_0x1193d9},_0xdeeb90(0x180)),!_0x49345b['headersSent']&&_0x49345b[_0xdeeb90(0x170)](0x1f4)[_0xdeeb90(0x17e)]({'success':![],'error':_0x3899a9[_0xdeeb90(0x161)]})):logger[_0xdeeb90(0x169)]({'event':_0xdeeb90(0x160),'jobId':_0x1193d9},_0x3899a9['kxBnL']);});}static['registerCleanupRoute'](_0x1d4939){const _0x56e482=a0_0x1da7c1,_0x309d92={'SNScD':_0x56e482(0x16b),'OCGPH':_0x56e482(0x183)};_0x1d4939[_0x56e482(0x164)]('/api/admin/export-cleanup',async(_0xa7c3ab,_0xde34a3)=>{const _0x56bf02=_0x56e482;try{const _0x4dd5e7=await exportService['cleanup']();_0xde34a3['json']({'success':!![],'data':{'deleted':_0x4dd5e7,'message':_0x309d92[_0x56bf02(0x15a)]}});}catch(_0x50c232){logError(_0x50c232,{'event':_0x309d92['OCGPH']},'Cleanup\x20failed'),_0xde34a3[_0x56bf02(0x170)](0x1f4)['json']({'success':![],'error':_0x50c232[_0x56bf02(0x155)]});}});}}module['exports']=ExportHandler;
|