@restforgejs/platform 5.3.7 → 5.3.10
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/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/cli/designer.js +1 -1
- package/generators/cli/fast-track.js +230 -45
- package/generators/cli/init.js +37 -3
- 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/integrity-manifest.json +18 -18
- 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 -1
- package/src/utils/sql-table-extractor.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x1834cf=a0_0x1a31;(function(_0xb57c1a,_0x4bbfd1){const _0x1a3f99=a0_0x1a31,_0x6bd0d5=_0xb57c1a();while(!![]){try{const _0x30eeae=-parseInt(_0x1a3f99(0x13a))/0x1*(-parseInt(_0x1a3f99(0x165))/0x2)+parseInt(_0x1a3f99(0x18a))/0x3*(parseInt(_0x1a3f99(0x16d))/0x4)+-parseInt(_0x1a3f99(0x185))/0x5+-parseInt(_0x1a3f99(0x182))/0x6*(-parseInt(_0x1a3f99(0x16f))/0x7)+parseInt(_0x1a3f99(0x15e))/0x8*(-parseInt(_0x1a3f99(0x14d))/0x9)+-parseInt(_0x1a3f99(0x15d))/0xa+-parseInt(_0x1a3f99(0x17f))/0xb;if(_0x30eeae===_0x4bbfd1)break;else _0x6bd0d5['push'](_0x6bd0d5['shift']());}catch(_0x3a61a){_0x6bd0d5['push'](_0x6bd0d5['shift']());}}}(a0_0x33f3,0xba67f));const redisClient=require(a0_0x1834cf(0x136)),{logger}=require(a0_0x1834cf(0x13f)),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x6ec259=a0_0x1834cf,_0x58fbd8={'dfFIh':'4|1|6|0|5|3|2|7'},_0x132b5f=_0x58fbd8['dfFIh']['split']('|');let _0x2d54c1=0x0;while(!![]){switch(_0x132b5f[_0x2d54c1++]){case'0':this[_0x6ec259(0x15c)]=null;continue;case'1':this['_enabled']=null;continue;case'2':this['_workerId']=null;continue;case'3':this['_strategy']=null;continue;case'4':this[_0x6ec259(0x159)]=null;continue;case'5':this['_retryDelay']=null;continue;case'6':this[_0x6ec259(0x15b)]=null;continue;case'7':this[_0x6ec259(0x167)]=![];continue;}break;}}[a0_0x1834cf(0x180)](){const _0x54452a=a0_0x1834cf,_0x142b91={'aphey':'rf:lock:','sQWWD':function(_0x418fca,_0x5082f5,_0x1c8dc5){return _0x418fca(_0x5082f5,_0x1c8dc5);},'kSddJ':function(_0x2efdad,_0x2ea569,_0x15a93d){return _0x2efdad(_0x2ea569,_0x15a93d);}};this[_0x54452a(0x159)]=_0x142b91[_0x54452a(0x18b)],this[_0x54452a(0x13c)]=process[_0x54452a(0x158)][_0x54452a(0x178)]===_0x54452a(0x161),this[_0x54452a(0x15b)]=_0x142b91['sQWWD'](parseInt,process['env'][_0x54452a(0x17d)],0xa)||0xa,this['_retryCount']=_0x142b91['kSddJ'](parseInt,process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3,this[_0x54452a(0x17a)]=parseInt(process[_0x54452a(0x158)]['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64,this['_strategy']=process['env']['LOCK_DISTRIBUTED_STRATEGY']||'retry',this[_0x54452a(0x138)]='worker-'+process[_0x54452a(0x169)],this[_0x54452a(0x167)]=!![],logger[_0x54452a(0x183)]({'event':'lock_config_init','enabled':this['_enabled'],'strategy':this['_strategy'],'ttl':this[_0x54452a(0x15b)],'retryCount':this[_0x54452a(0x15c)],'retryDelay':this[_0x54452a(0x17a)],'workerId':this[_0x54452a(0x138)]},_0x54452a(0x18c)+this[_0x54452a(0x13c)]+_0x54452a(0x142)+this[_0x54452a(0x186)]);}['_ensureInitialized'](){!this['_initialized']&&this['_initConfig']();}get[a0_0x1834cf(0x189)](){const _0xa4ab78=a0_0x1834cf;return this[_0xa4ab78(0x151)](),this[_0xa4ab78(0x159)];}get['enabled'](){const _0x45b22b=a0_0x1834cf;return this['_ensureInitialized'](),this[_0x45b22b(0x13c)];}get[a0_0x1834cf(0x137)](){const _0x559437=a0_0x1834cf;return this['_ensureInitialized'](),this[_0x559437(0x15b)];}get[a0_0x1834cf(0x160)](){return this['_ensureInitialized'](),this['_retryCount'];}get['retryDelay'](){const _0x2b228f=a0_0x1834cf;return this['_ensureInitialized'](),this[_0x2b228f(0x17a)];}get[a0_0x1834cf(0x176)](){const _0x8a8aee=a0_0x1834cf;return this[_0x8a8aee(0x151)](),this[_0x8a8aee(0x186)];}get[a0_0x1834cf(0x179)](){const _0x238cbe=a0_0x1834cf;return this['_ensureInitialized'](),this[_0x238cbe(0x138)];}['buildLockKey'](_0x3a7900){const _0x35e824=a0_0x1834cf,{module:_0x55b3ed,endpoint:_0x4e4c82,lockType:_0x2d920c,recordId:_0x30131f}=_0x3a7900;if(_0x30131f)return''+this[_0x35e824(0x189)]+_0x55b3ed+':'+_0x4e4c82+':'+_0x30131f+':'+_0x2d920c;return''+this[_0x35e824(0x189)]+_0x55b3ed+':'+_0x4e4c82+':'+_0x2d920c;}['generateLockValue'](){const _0xb502ab=a0_0x1834cf;return this[_0xb502ab(0x179)]+':'+uuidv4()+':'+Date[_0xb502ab(0x172)]();}async[a0_0x1834cf(0x174)](_0x105d3c){const _0x142e06=a0_0x1834cf,_0x2f05b0={'xfSzF':'read_lock_acquired','JTFcF':_0x142e06(0x141),'UnhyC':_0x142e06(0x14c),'azVXd':'read_lock_timeout','TpDof':'READ\x20lock\x20acquire\x20timeout','Ndxad':'read_lock_error','RWKCE':'READ\x20lock\x20error'};if(!this[_0x142e06(0x15f)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x2e96ce=this[_0x142e06(0x156)]({..._0x105d3c,'lockType':'write'}),_0x27112=this[_0x142e06(0x156)]({..._0x105d3c,'lockType':'read'}),_0x2e7fea=this[_0x142e06(0x17c)]();try{const _0x52f49c=redisClient[_0x142e06(0x177)]();for(let _0x164e23=0x0;_0x164e23<this[_0x142e06(0x160)];_0x164e23++){const _0x40dfde=await _0x52f49c[_0x142e06(0x13e)](_0x2e96ce);if(!_0x40dfde){await _0x52f49c[_0x142e06(0x168)](_0x27112),await _0x52f49c['expire'](_0x27112,this[_0x142e06(0x137)]);const _0x394191=_0x27112+':'+_0x2e7fea;return await _0x52f49c[_0x142e06(0x16c)](_0x394191,this['defaultTTL'],_0x2e7fea),logger[_0x142e06(0x187)]({'event':_0x2f05b0['xfSzF'],'key':_0x27112,'value':_0x2e7fea},_0x142e06(0x171)),{'success':!![],'lockValue':_0x2e7fea,'lockKey':_0x394191};}logger['debug']({'event':_0x2f05b0['JTFcF'],'writeKey':_0x2e96ce,'attempt':_0x164e23},_0x2f05b0[_0x142e06(0x157)]),await this[_0x142e06(0x145)](this[_0x142e06(0x14b)]*Math[_0x142e06(0x175)](0x2,_0x164e23));}return logger[_0x142e06(0x139)]({'event':_0x2f05b0['azVXd'],'key':_0x27112},_0x2f05b0['TpDof']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x4d5f9f){return logger[_0x142e06(0x149)]({'event':_0x2f05b0['Ndxad'],'error':_0x4d5f9f[_0x142e06(0x184)]},_0x2f05b0['RWKCE']),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x59cf39){const _0x1a31d5=a0_0x1834cf,_0x623d9c={'IlSem':'write','YwBtN':_0x1a31d5(0x16b),'tfrUS':function(_0x24b9b6,_0x18f5c5){return _0x24b9b6===_0x18f5c5;},'fBLiX':_0x1a31d5(0x162),'yokdl':_0x1a31d5(0x14f),'HVeYb':_0x1a31d5(0x147),'NghRo':function(_0xd82c79,_0x797556){return _0xd82c79===_0x797556;},'OWYGO':'retry','seoFM':_0x1a31d5(0x143),'tItpy':function(_0x3cadd7,_0x52871e){return _0x3cadd7*_0x52871e;},'OOTDF':_0x1a31d5(0x152)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x3e8df4=this['buildLockKey']({..._0x59cf39,'lockType':_0x623d9c[_0x1a31d5(0x166)]}),_0x56be73=this['buildLockKey']({..._0x59cf39,'lockType':_0x623d9c['YwBtN']}),_0x40a92a=this['generateLockValue']();try{const _0x39b66a=redisClient[_0x1a31d5(0x177)]();if(this['strategy']===_0x1a31d5(0x14f)){const _0x2a8652=await _0x39b66a['set'](_0x3e8df4,_0x40a92a,'EX',this[_0x1a31d5(0x137)],'NX');if(_0x623d9c[_0x1a31d5(0x16e)](_0x2a8652,'OK'))return logger[_0x1a31d5(0x187)]({'event':_0x623d9c['fBLiX'],'key':_0x3e8df4,'value':_0x40a92a,'strategy':_0x623d9c[_0x1a31d5(0x181)]},_0x1a31d5(0x150)),{'success':!![],'lockValue':_0x40a92a,'lockKey':_0x3e8df4};return logger['debug']({'event':_0x1a31d5(0x188),'key':_0x3e8df4},_0x623d9c[_0x1a31d5(0x134)]),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x5949e7=0x0;_0x5949e7<this[_0x1a31d5(0x160)];_0x5949e7++){const [_0x133057,_0xf73014]=await Promise['all']([_0x39b66a[_0x1a31d5(0x13e)](_0x56be73),_0x39b66a['get'](_0x3e8df4)]);if(!_0xf73014&&(!_0x133057||_0x623d9c[_0x1a31d5(0x16e)](parseInt(_0x133057),0x0))){const _0x569d6d=await _0x39b66a['set'](_0x3e8df4,_0x40a92a,'EX',this[_0x1a31d5(0x137)],'NX');if(_0x623d9c['NghRo'](_0x569d6d,'OK'))return logger[_0x1a31d5(0x187)]({'event':_0x1a31d5(0x162),'key':_0x3e8df4,'value':_0x40a92a,'strategy':_0x623d9c['OWYGO']},_0x1a31d5(0x146)),{'success':!![],'lockValue':_0x40a92a,'lockKey':_0x3e8df4};}logger['debug']({'event':_0x1a31d5(0x173),'writeKey':_0x3e8df4,'readCount':_0x133057,'attempt':_0x5949e7},_0x623d9c['seoFM']),await this['sleep'](_0x623d9c[_0x1a31d5(0x13b)](this[_0x1a31d5(0x14b)],Math['pow'](0x2,_0x5949e7)));}return logger[_0x1a31d5(0x139)]({'event':_0x623d9c[_0x1a31d5(0x153)],'key':_0x3e8df4},_0x1a31d5(0x135)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x21ec87){return logger['error']({'event':_0x1a31d5(0x133),'error':_0x21ec87['message']},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x1834cf(0x17b)](_0xca308a,_0x1e92eb){const _0x315b67=a0_0x1834cf,_0x90b0fa={'naZOi':':read:','rqXLV':'read_lock_released','qwTZV':function(_0x33c888,_0xfe727e){return _0x33c888===_0xfe727e;},'GofVA':'WRITE\x20lock\x20released','Owmgc':_0x315b67(0x148),'KUCsb':_0x315b67(0x154),'xUTBB':_0x315b67(0x170)};if(!this['enabled']||!_0xca308a)return!![];try{const _0xf46375=redisClient['getClient']();if(_0xca308a[_0x315b67(0x17e)](_0x90b0fa[_0x315b67(0x144)])){await _0xf46375['del'](_0xca308a);const _0x327606=_0xca308a['substring'](0x0,_0xca308a['lastIndexOf'](':')),_0x14fff0=await _0xf46375['get'](_0x327606);return _0x14fff0&&parseInt(_0x14fff0)>0x0&&await _0xf46375[_0x315b67(0x15a)](_0x327606),logger[_0x315b67(0x187)]({'event':_0x90b0fa['rqXLV'],'key':_0xca308a},'READ\x20lock\x20released'),!![];}const _0xb4beb6='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22del\x22,\x20KEYS[1])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x2276d8=await _0xf46375['eval'](_0xb4beb6,0x1,_0xca308a,_0x1e92eb);if(_0x90b0fa[_0x315b67(0x14e)](_0x2276d8,0x1))return logger[_0x315b67(0x187)]({'event':'write_lock_released','key':_0xca308a},_0x90b0fa[_0x315b67(0x163)]),!![];return logger[_0x315b67(0x139)]({'event':_0x90b0fa['Owmgc'],'key':_0xca308a},_0x90b0fa['KUCsb']),![];}catch(_0x11ba28){return logger['error']({'event':'lock_release_error','key':_0xca308a,'error':_0x11ba28[_0x315b67(0x184)]},_0x90b0fa[_0x315b67(0x155)]),![];}}async['extendLock'](_0x22baa7,_0x5b3b57,_0x2db277=null){const _0x1f7ca0=a0_0x1834cf,_0x58812e={'MSKxB':function(_0x38bb45,_0x286deb){return _0x38bb45===_0x286deb;},'FvIta':'lock_extended','XGARO':_0x1f7ca0(0x13d),'qmduO':_0x1f7ca0(0x18d)};if(!this[_0x1f7ca0(0x15f)]||!_0x22baa7)return!![];try{const _0x1ffc54=redisClient['getClient'](),_0x5cf0c8=_0x1f7ca0(0x16a),_0x3997c7=await _0x1ffc54['eval'](_0x5cf0c8,0x1,_0x22baa7,_0x5b3b57,_0x2db277||this[_0x1f7ca0(0x137)]);if(_0x58812e['MSKxB'](_0x3997c7,0x1))return logger['debug']({'event':_0x58812e[_0x1f7ca0(0x132)],'key':_0x22baa7,'ttl':_0x2db277||this[_0x1f7ca0(0x137)]},_0x58812e[_0x1f7ca0(0x164)]),!![];return![];}catch(_0x1856b0){return logger['error']({'event':'lock_extend_error','key':_0x22baa7,'error':_0x1856b0[_0x1f7ca0(0x184)]},_0x58812e['qmduO']),![];}}['isEnabled'](){return this['enabled'];}['sleep'](_0x2e36d7){return new Promise(_0x50a81b=>setTimeout(_0x50a81b,_0x2e36d7));}async['getLockInfo'](_0x598581){const _0x975c2c=a0_0x1834cf,_0x13f29b={'NZpZI':function(_0x410167,_0x19987b){return _0x410167(_0x19987b);}};if(!this['enabled'])return{'enabled':![]};try{const _0x30c623=redisClient['getClient'](),_0x43973c=this['buildLockKey']({..._0x598581,'lockType':_0x975c2c(0x14a)}),_0x146a48=this['buildLockKey']({..._0x598581,'lockType':'read'}),[_0x318229,_0x165a4a]=await Promise['all']([_0x30c623[_0x975c2c(0x13e)](_0x43973c),_0x30c623[_0x975c2c(0x13e)](_0x146a48)]);return{'enabled':!![],'writeLock':_0x318229||null,'readCount':_0x13f29b[_0x975c2c(0x140)](parseInt,_0x165a4a)||0x0,'writeKey':_0x43973c,'readKey':_0x146a48};}catch(_0x388892){return{'enabled':!![],'error':_0x388892['message']};}}}function a0_0x1a31(_0x4a5ad7,_0x2f22dc){_0x4a5ad7=_0x4a5ad7-0x132;const _0x33f38a=a0_0x33f3();let _0x1a314b=_0x33f38a[_0x4a5ad7];if(a0_0x1a31['HEJgaH']===undefined){var _0x141368=function(_0xd1e4b0){const _0x14a894='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x244e65='',_0x5e7b5a='';for(let _0x27c37e=0x0,_0x42d05a,_0x122088,_0xc444=0x0;_0x122088=_0xd1e4b0['charAt'](_0xc444++);~_0x122088&&(_0x42d05a=_0x27c37e%0x4?_0x42d05a*0x40+_0x122088:_0x122088,_0x27c37e++%0x4)?_0x244e65+=String['fromCharCode'](0xff&_0x42d05a>>(-0x2*_0x27c37e&0x6)):0x0){_0x122088=_0x14a894['indexOf'](_0x122088);}for(let _0x55ed77=0x0,_0x5ce992=_0x244e65['length'];_0x55ed77<_0x5ce992;_0x55ed77++){_0x5e7b5a+='%'+('00'+_0x244e65['charCodeAt'](_0x55ed77)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5e7b5a);};a0_0x1a31['oyMlvu']=_0x141368,a0_0x1a31['yPSWDS']={},a0_0x1a31['HEJgaH']=!![];}const _0x1182aa=_0x33f38a[0x0],_0x93c0cf=_0x4a5ad7+_0x1182aa,_0x5ad8bb=a0_0x1a31['yPSWDS'][_0x93c0cf];return!_0x5ad8bb?(_0x1a314b=a0_0x1a31['oyMlvu'](_0x1a314b),a0_0x1a31['yPSWDS'][_0x93c0cf]=_0x1a314b):_0x1a314b=_0x5ad8bb,_0x1a314b;}module['exports']=new LockManager();function a0_0x33f3(){const _0x246b86=['v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','mtyZmtC5CxLTwMLI','CxDuwLy','CMvQzwn0','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','x2vUC3vYzuLUAxrPywXPEMvK','D3jPDgvFBg9JA190Aw1LB3v0','t09urey','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','EfvuqKi','yNvPBgrmB2nRs2v5','vw5OEum','zw52','x3bYzwzPEa','zgvJCG','x2rLzMf1BhruveW','x3jLDhj5q291BNq','mJCWotG1mgzNwvv5sW','odbIsKvdzwG','zw5HyMXLza','CMv0CNLdB3vUDa','Dhj1zq','D3jPDgvFBg9JA19Hy3f1AxjLza','r29MvKe','weDbuK8','mtm0mZzVz2XKruS','swXtzw0','x2LUAxrPywXPEMvK','Aw5JCG','CgLK','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzxHWAxjLiIWGs0vzu1SXxsWGqvjhvLSYxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','CMvHza','C2v0zxG','mJaZmJblqNncsge','DgzYvvm','mZmYnZuYzhjmueHN','tg9JAYbYzwXLyxnLigvYCM9Y','uKvbrcbSB2nRigfJCxvPCMvK','BM93','D3jPDgvFBg9JA193ywL0Aw5N','ywnXDwLYzvjLywrmB2nR','Cg93','C3rYyxrLz3K','z2v0q2XPzw50','te9ds19esvnuuKLcvvrfrf9ftKfcteve','D29YA2vYswq','x3jLDhj5rgvSyxK','CMvSzwfZzuXVy2S','z2vUzxjHDgvmB2nRvMfSDwu','te9ds19esvnuuKLcvvrfrf9uveW','Aw5JBhvKzxm','odCYnZm2n0TbDKLHzG','x2LUAxrdB25MAwC','Ew9RzgW','nJzUB3jkree','Aw5MBW','BwvZC2fNzq','mJCYndG1CMPIzhzM','x3n0CMf0zwD5','zgvIDwC','D3jPDgvFBg9JA19YzwPLy3rLza','ChjLzML4','ntm3reTxshjm','yxbOzxK','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','tg9JAYbLEhrLBMqGzxjYB3i','rNzjDge','D3jPDgvFBg9JA19LCNjVCG','sfzLwwi','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','lI9YzwrPCY1JBgLLBNq','zgvMyxvSDfruta','x3DVCMTLCKLK','D2fYBG','otrlB0jiwhy','DeL0ChK','x2vUywjSzwq','tg9JAYbuveWGzxH0zw5Kzwq','z2v0','lI9SB2DNzxi','tLPWwKK','CMvHzf9SB2nRx3DHAxrPBMC','lcbZDhjHDgvNEtOG','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','BMfAt2K','C2XLzxa','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','zxjYB3i','D3jPDgu','CMv0CNLezwXHEq'];a0_0x33f3=function(){return _0x246b86;};return a0_0x33f3();}
|
|
1
|
+
const a0_0x3910e4=a0_0x2dbd;(function(_0x1368d0,_0x5c56f0){const _0x1d80d1=a0_0x2dbd,_0x47180b=_0x1368d0();while(!![]){try{const _0x172054=parseInt(_0x1d80d1(0xb5))/0x1+-parseInt(_0x1d80d1(0x9f))/0x2+-parseInt(_0x1d80d1(0x6c))/0x3+-parseInt(_0x1d80d1(0x6a))/0x4+-parseInt(_0x1d80d1(0xa1))/0x5+parseInt(_0x1d80d1(0x89))/0x6+parseInt(_0x1d80d1(0x7b))/0x7;if(_0x172054===_0x5c56f0)break;else _0x47180b['push'](_0x47180b['shift']());}catch(_0xe6e20f){_0x47180b['push'](_0x47180b['shift']());}}}(a0_0x32a1,0xd0de0));function a0_0x32a1(){const _0x74c37=['CMv0CNK','D3jPDgvFBg9JA19YzwXLyxnLza','ndu0mZqXweDSwhP3','zxHWB3j0CW','BgfZDeLUzgv4t2y','v1jjveuGBg9JAYbYzwXLyxnLza','CMv0CNLezwXHEq','ywnXDwLYzvjLywrmB2nR','zxjYB3i','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','te9ds19esvnuuKLcvvrfrf9uveW','wKjxsM8','x3bYzwzPEa','D3jPDgvFBg9JA193ywL0Aw5N','D2fYBG','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','qKzoExi','nhW2Fdj8m3W3Fdv8mxWW','Du5lB2y','ywnXDwLYzvDYAxrLtg9JAW','x3n0CMf0zwD5','vKTZuMS','CMvHzf9SB2nRx3rPBwvVDxq','Aw5JBhvKzxm','C2v0zxG','ndu0nduZnNPIDfL4zG','rLf0DKm','mtm1odGXmufdt0XWrq','x2LUAxrPywXPEMvK','C2XLzxa','C3bSAxq','x3jLDhj5q291BNq','zgvMyxvSDfruta','yNvPBgrmB2nRs2v5','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','wLD6D0G','D29YA2vYlq','x2vUywjSzwq','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','CMvQzwn0','D29YA2vYswq','mtG2mZyYmZnRBM9bAwi','Cg93','AxnfBMfIBgvK','ywXS','rfLcvNK','D3jPDgu','zgvIDwC','zgvJCG','BM93','wunUyKW','Aw5MBW','z2v0','CMvHza','z2v0q2XPzw50','mtyWmdKYnNjvqM5yzq','uenADey','CMvHzf9SB2nRx2fJCxvPCMvK','tfnltee','z2vUzxjHDgvmB2nRvMfSDwu','zxH0zw5Ktg9JAW','CMv0CNLdB3vUDa','C3rYyxrLz3K','Bg9JA19LEhrLBMrFzxjYB3i','BwvZC2fNzq','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','x2LUAxrdB25MAwC','C2v0','x3DVCMTLCKLK','Evfhufu','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','oNjLywq6','te9ds19esvnuuKLcvvrfrf9ftKfcteve','x2rLzMf1BhruveW','zw52','te9ds19esvnuuKLcvvrfrf9srvrswq','u1vxzKW','mtG0mtuZoeTOrenlua','zxzHBa','ota2mdvwuxLgChe','AKzrAw4','zgvS','D3jPDgvFBg9JA190Aw1LB3v0','C3vIC3rYAw5N','D3jPDgvFBg9JA19Hy3f1AxjLza','Agn0ufq','lcbZDhjHDgvNEtOG','zwjUwLO','mNW2FdD8ohW1Fdb8m3WXFdq','zw5HyMXLza','BNHjDvm','Bg9JA19JB25MAwDFAw5PDa','x2vUC3vYzuLUAxrPywXPEMvK','x3jLDhj5rgvSyxK','sKjnEuu','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzxHWAxjLiIWGs0vzu1SXxsWGqvjhvLSYxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica'];a0_0x32a1=function(){return _0x74c37;};return a0_0x32a1();}function a0_0x2dbd(_0x22bac3,_0x390e11){_0x22bac3=_0x22bac3-0x69;const _0x32a129=a0_0x32a1();let _0x2dbd10=_0x32a129[_0x22bac3];if(a0_0x2dbd['zamCgB']===undefined){var _0x522fae=function(_0x2a3eae){const _0x37bd02='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xcad92b='',_0x31dc51='';for(let _0x13370b=0x0,_0x57cb8a,_0x7ff639,_0x4b46c7=0x0;_0x7ff639=_0x2a3eae['charAt'](_0x4b46c7++);~_0x7ff639&&(_0x57cb8a=_0x13370b%0x4?_0x57cb8a*0x40+_0x7ff639:_0x7ff639,_0x13370b++%0x4)?_0xcad92b+=String['fromCharCode'](0xff&_0x57cb8a>>(-0x2*_0x13370b&0x6)):0x0){_0x7ff639=_0x37bd02['indexOf'](_0x7ff639);}for(let _0x4bf172=0x0,_0x48af0d=_0xcad92b['length'];_0x4bf172<_0x48af0d;_0x4bf172++){_0x31dc51+='%'+('00'+_0xcad92b['charCodeAt'](_0x4bf172)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x31dc51);};a0_0x2dbd['OFqozt']=_0x522fae,a0_0x2dbd['ghFbHi']={},a0_0x2dbd['zamCgB']=!![];}const _0x36506d=_0x32a129[0x0],_0x1b9da2=_0x22bac3+_0x36506d,_0x5ae1b8=a0_0x2dbd['ghFbHi'][_0x1b9da2];return!_0x5ae1b8?(_0x2dbd10=a0_0x2dbd['OFqozt'](_0x2dbd10),a0_0x2dbd['ghFbHi'][_0x1b9da2]=_0x2dbd10):_0x2dbd10=_0x5ae1b8,_0x2dbd10;}const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x57a09e=a0_0x2dbd,_0x57b4f2=_0x57a09e(0xc5)[_0x57a09e(0x6f)]('|');let _0x1daad3=0x0;while(!![]){switch(_0x57b4f2[_0x1daad3++]){case'0':this[_0x57a09e(0x6d)]=![];continue;case'1':this[_0x57a09e(0x96)]=null;continue;case'2':this['_defaultTTL']=null;continue;case'3':this['_retryCount']=null;continue;case'4':this['_prefix']=null;continue;case'5':this[_0x57a09e(0xc8)]=null;continue;case'6':this['_enabled']=null;continue;case'7':this[_0x57a09e(0xaf)]=null;continue;}break;}}['_initConfig'](){const _0x38d6b9=a0_0x2dbd,_0x4866bd={'YPLJd':_0x38d6b9(0xad),'JBMyE':function(_0x430b49,_0x2fc5ad,_0x14319d){return _0x430b49(_0x2fc5ad,_0x14319d);},'fYuDM':function(_0x2f1196,_0xa3771b){return _0x2f1196===_0xa3771b;}},_0x4343f9=_0x38d6b9(0xaa)['split']('|');let _0x3d4d7c=0x0;while(!![]){switch(_0x4343f9[_0x3d4d7c++]){case'0':this[_0x38d6b9(0xc8)]=process['env']['LOCK_DISTRIBUTED_STRATEGY']||_0x38d6b9(0xb3);continue;case'1':this['_initialized']=!![];continue;case'2':this['_prefix']='rf:lock:';continue;case'3':this[_0x38d6b9(0x96)]=_0x38d6b9(0x75)+process['pid'];continue;case'4':logger[_0x38d6b9(0x85)]({'event':_0x4866bd['YPLJd'],'enabled':this[_0x38d6b9(0x76)],'strategy':this[_0x38d6b9(0xc8)],'ttl':this[_0x38d6b9(0x9b)],'retryCount':this[_0x38d6b9(0x70)],'retryDelay':this['_retryDelay'],'workerId':this['_workerId']},_0x38d6b9(0x73)+this[_0x38d6b9(0x76)]+_0x38d6b9(0xa8)+this[_0x38d6b9(0xc8)]);continue;case'5':this[_0x38d6b9(0xaf)]=_0x4866bd[_0x38d6b9(0xb0)](parseInt,process[_0x38d6b9(0x9c)][_0x38d6b9(0xb1)],0xa)||0x64;continue;case'6':this[_0x38d6b9(0x76)]=_0x4866bd['fYuDM'](process['env'][_0x38d6b9(0x9a)],'true');continue;case'7':this[_0x38d6b9(0x9b)]=parseInt(process[_0x38d6b9(0x9c)][_0x38d6b9(0xbd)],0xa)||0xa;continue;case'8':this['_retryCount']=parseInt(process['env'][_0x38d6b9(0x9d)],0xa)||0x3;continue;}break;}}['_ensureInitialized'](){const _0x20e678=a0_0x2dbd;!this['_initialized']&&this[_0x20e678(0x94)]();}get['prefix'](){const _0x4e89b7=a0_0x2dbd;return this['_ensureInitialized'](),this[_0x4e89b7(0xbf)];}get['enabled'](){return this['_ensureInitialized'](),this['_enabled'];}get[a0_0x3910e4(0x71)](){const _0x56b559=a0_0x3910e4;return this['_ensureInitialized'](),this[_0x56b559(0x9b)];}get['retryCount'](){const _0x3affe0=a0_0x3910e4;return this[_0x3affe0(0xae)](),this['_retryCount'];}get[a0_0x3910e4(0xb9)](){const _0x1cc6e0=a0_0x3910e4;return this[_0x1cc6e0(0xae)](),this['_retryDelay'];}get[a0_0x3910e4(0x90)](){const _0x4fe41e=a0_0x3910e4;return this[_0x4fe41e(0xae)](),this['_strategy'];}get[a0_0x3910e4(0x7a)](){return this['_ensureInitialized'](),this['_workerId'];}['buildLockKey'](_0x2a4d7b){const {module:_0x3adc58,endpoint:_0x390adc,lockType:_0x1ea230,recordId:_0x537df4}=_0x2a4d7b;if(_0x537df4)return''+this['prefix']+_0x3adc58+':'+_0x390adc+':'+_0x537df4+':'+_0x1ea230;return''+this['prefix']+_0x3adc58+':'+_0x390adc+':'+_0x1ea230;}['generateLockValue'](){const _0x5bae09=a0_0x3910e4;return this[_0x5bae09(0x7a)]+':'+uuidv4()+':'+Date[_0x5bae09(0x83)]();}async[a0_0x3910e4(0xba)](_0xbd76ac){const _0x37d1b3=a0_0x3910e4,_0x7a2d8f={'PCZtF':'read','cXryx':_0x37d1b3(0x8b),'Youau':'READ\x20lock\x20acquired','lCTjc':'read_lock_waiting','WSLko':_0x37d1b3(0xca),'sZlTe':'READ\x20lock\x20error'};if(!this[_0x37d1b3(0xab)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x37f32e=this['buildLockKey']({..._0xbd76ac,'lockType':'write'}),_0x55ce74=this[_0x37d1b3(0x72)]({..._0xbd76ac,'lockType':_0x7a2d8f[_0x37d1b3(0x8a)]}),_0x3f7561=this[_0x37d1b3(0x8d)]();try{const _0x2c8731=redisClient[_0x37d1b3(0x88)]();for(let _0x4d8ce5=0x0;_0x4d8ce5<this['retryCount'];_0x4d8ce5++){const _0x25b1e6=await _0x2c8731['get'](_0x37f32e);if(!_0x25b1e6){await _0x2c8731['incr'](_0x55ce74),await _0x2c8731['expire'](_0x55ce74,this[_0x37d1b3(0x71)]);const _0x2e2c46=_0x55ce74+':'+_0x3f7561;return await _0x2c8731[_0x37d1b3(0x69)](_0x2e2c46,this['defaultTTL'],_0x3f7561),logger['debug']({'event':_0x7a2d8f['cXryx'],'key':_0x55ce74,'value':_0x3f7561},_0x7a2d8f['Youau']),{'success':!![],'lockValue':_0x3f7561,'lockKey':_0x2e2c46};}logger[_0x37d1b3(0x81)]({'event':_0x7a2d8f['lCTjc'],'writeKey':_0x37f32e,'attempt':_0x4d8ce5},'Waiting\x20for\x20WRITE\x20lock\x20to\x20release'),await this[_0x37d1b3(0x6e)](this[_0x37d1b3(0xb9)]*Math[_0x37d1b3(0x7c)](0x2,_0x4d8ce5));}return logger[_0x37d1b3(0xc1)]({'event':_0x7a2d8f['WSLko'],'key':_0x55ce74},_0x37d1b3(0xc3)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x4b742e){return logger[_0x37d1b3(0xbb)]({'event':'read_lock_error','error':_0x4b742e[_0x37d1b3(0x92)]},_0x7a2d8f['sZlTe']),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x3910e4(0xc7)](_0x424891){const _0x554601=a0_0x3910e4,_0xd99529={'nxIuS':function(_0x132823,_0x7643ac){return _0x132823===_0x7643ac;},'ZBWJo':function(_0x277b54,_0x294869){return _0x277b54===_0x294869;},'DYBVy':'reject','YCnbL':_0x554601(0xc2),'FxrVs':_0x554601(0x77),'jFQin':function(_0x275fb9,_0x12e2d1){return _0x275fb9<_0x12e2d1;},'BFNyr':_0x554601(0xa6),'ebnZZ':'Waiting\x20for\x20locks\x20to\x20release','SUWfL':_0x554601(0xa4),'ZWzwH':'write_lock_error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x4d87c3=this[_0x554601(0x72)]({..._0x424891,'lockType':'write'}),_0x55f7a0=this['buildLockKey']({..._0x424891,'lockType':_0x554601(0x87)}),_0x54fe9f=this[_0x554601(0x8d)]();try{const _0x1cc1e9=redisClient[_0x554601(0x88)]();if(_0xd99529[_0x554601(0xac)](this[_0x554601(0x90)],_0x554601(0x79))){const _0x1a6123=await _0x1cc1e9[_0x554601(0x95)](_0x4d87c3,_0x54fe9f,'EX',this[_0x554601(0x71)],'NX');if(_0xd99529[_0x554601(0xbe)](_0x1a6123,'OK'))return logger[_0x554601(0x81)]({'event':'write_lock_acquired','key':_0x4d87c3,'value':_0x54fe9f,'strategy':_0xd99529[_0x554601(0x7f)]},_0xd99529[_0x554601(0x84)]),{'success':!![],'lockValue':_0x54fe9f,'lockKey':_0x4d87c3};return logger['debug']({'event':'write_lock_rejected','key':_0x4d87c3},_0xd99529['FxrVs']),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x335e8d=0x0;_0xd99529[_0x554601(0xa2)](_0x335e8d,this[_0x554601(0x8f)]);_0x335e8d++){const [_0x29a9e6,_0x4d0d12]=await Promise[_0x554601(0x7e)]([_0x1cc1e9[_0x554601(0x86)](_0x55f7a0),_0x1cc1e9['get'](_0x4d87c3)]);if(!_0x4d0d12&&(!_0x29a9e6||_0xd99529['nxIuS'](parseInt(_0x29a9e6),0x0))){const _0x37bfcf=await _0x1cc1e9['set'](_0x4d87c3,_0x54fe9f,'EX',this[_0x554601(0x71)],'NX');if(_0xd99529['ZBWJo'](_0x37bfcf,'OK'))return logger['debug']({'event':_0xd99529[_0x554601(0xc4)],'key':_0x4d87c3,'value':_0x54fe9f,'strategy':'retry'},_0x554601(0xbc)),{'success':!![],'lockValue':_0x54fe9f,'lockKey':_0x4d87c3};}logger['debug']({'event':_0x554601(0xc0),'writeKey':_0x4d87c3,'readCount':_0x29a9e6,'attempt':_0x335e8d},_0xd99529[_0x554601(0xa9)]),await this[_0x554601(0x6e)](this[_0x554601(0xb9)]*Math[_0x554601(0x7c)](0x2,_0x335e8d));}return logger[_0x554601(0xc1)]({'event':_0xd99529[_0x554601(0x9e)],'key':_0x4d87c3},_0x554601(0x93)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x1af865){return logger[_0x554601(0xbb)]({'event':_0xd99529[_0x554601(0x74)],'error':_0x1af865[_0x554601(0x92)]},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x2d091d,_0xafdec6){const _0xceb7c4=a0_0x3910e4,_0x4a8476={'hctPT':function(_0x4de8ca,_0x152d5a){return _0x4de8ca>_0x152d5a;},'yQGPU':'read_lock_released','TFszA':_0xceb7c4(0xb4),'LSKLA':_0xceb7c4(0xb8),'iMZow':_0xceb7c4(0x98)};if(!this['enabled']||!_0x2d091d)return!![];try{const _0x19f436=redisClient['getClient']();if(_0x2d091d[_0xceb7c4(0xcb)](_0xceb7c4(0x99))){await _0x19f436[_0xceb7c4(0xa3)](_0x2d091d);const _0x252714=_0x2d091d[_0xceb7c4(0xa5)](0x0,_0x2d091d[_0xceb7c4(0xb7)](':')),_0x398953=await _0x19f436[_0xceb7c4(0x86)](_0x252714);return _0x398953&&_0x4a8476[_0xceb7c4(0xa7)](parseInt(_0x398953),0x0)&&await _0x19f436[_0xceb7c4(0x82)](_0x252714),logger['debug']({'event':_0x4a8476[_0xceb7c4(0x97)],'key':_0x2d091d},'READ\x20lock\x20released'),!![];}const _0x122a6c=_0xceb7c4(0x78),_0x5852d1=await _0x19f436[_0xceb7c4(0xa0)](_0x122a6c,0x1,_0x2d091d,_0xafdec6);if(_0x5852d1===0x1)return logger[_0xceb7c4(0x81)]({'event':_0x4a8476['TFszA'],'key':_0x2d091d},_0x4a8476[_0xceb7c4(0x8c)]),!![];return logger['warn']({'event':_0x4a8476['iMZow'],'key':_0x2d091d},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0x46418e){return logger['error']({'event':'lock_release_error','key':_0x2d091d,'error':_0x46418e[_0xceb7c4(0x92)]},'Lock\x20release\x20error'),![];}}async[a0_0x3910e4(0x8e)](_0x11b074,_0x3bf95e,_0x278122=null){const _0x1103c5=a0_0x3910e4,_0x4d9ab5={'XHidi':function(_0x2dae3d,_0x1a339c){return _0x2dae3d===_0x1a339c;},'FQtvC':'Lock\x20TTL\x20extended','uNKof':_0x1103c5(0x91),'VKsRk':'Lock\x20extend\x20error'};if(!this[_0x1103c5(0xab)]||!_0x11b074)return!![];try{const _0x3f478a=redisClient[_0x1103c5(0x88)](),_0x2dfbdf=_0x1103c5(0xb2),_0x3260ed=await _0x3f478a['eval'](_0x2dfbdf,0x1,_0x11b074,_0x3bf95e,_0x278122||this['defaultTTL']);if(_0x4d9ab5['XHidi'](_0x3260ed,0x1))return logger[_0x1103c5(0x81)]({'event':'lock_extended','key':_0x11b074,'ttl':_0x278122||this[_0x1103c5(0x71)]},_0x4d9ab5[_0x1103c5(0x6b)]),!![];return![];}catch(_0xeed5b9){return logger['error']({'event':_0x4d9ab5[_0x1103c5(0xc6)],'key':_0x11b074,'error':_0xeed5b9[_0x1103c5(0x92)]},_0x4d9ab5[_0x1103c5(0xc9)]),![];}}[a0_0x3910e4(0x7d)](){const _0x4b7d75=a0_0x3910e4;return this[_0x4b7d75(0xab)];}['sleep'](_0x2fc44d){return new Promise(_0x4b1a58=>setTimeout(_0x4b1a58,_0x2fc44d));}async['getLockInfo'](_0xdc2d8){const _0xf2b8da=a0_0x3910e4,_0x3463f5={'gmalu':_0xf2b8da(0x80),'WprzP':function(_0x3af339,_0xf34abd){return _0x3af339||_0xf34abd;}};if(!this['enabled'])return{'enabled':![]};try{const _0x595fa4=redisClient['getClient'](),_0x4188d6=this[_0xf2b8da(0x72)]({..._0xdc2d8,'lockType':_0x3463f5['gmalu']}),_0x4d7e89=this[_0xf2b8da(0x72)]({..._0xdc2d8,'lockType':'read'}),[_0x38dfe8,_0x37129e]=await Promise['all']([_0x595fa4[_0xf2b8da(0x86)](_0x4188d6),_0x595fa4[_0xf2b8da(0x86)](_0x4d7e89)]);return{'enabled':!![],'writeLock':_0x3463f5['WprzP'](_0x38dfe8,null),'readCount':parseInt(_0x37129e)||0x0,'writeKey':_0x4188d6,'readKey':_0x4d7e89};}catch(_0x53b0eb){return{'enabled':!![],'error':_0x53b0eb[_0xf2b8da(0x92)]};}}}module[a0_0x3910e4(0xb6)]=new LockManager();
|
package/src/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x2cb5eb=a0_0x343d;(function(_0x2191af,_0x1b115e){const _0x1972eb=a0_0x343d,_0x32eede=_0x2191af();while(!![]){try{const _0x43c5d6=-parseInt(_0x1972eb(0x12a))/0x1+-parseInt(_0x1972eb(0x186))/0x2+parseInt(_0x1972eb(0x18c))/0x3+-parseInt(_0x1972eb(0x13b))/0x4*(-parseInt(_0x1972eb(0x190))/0x5)+-parseInt(_0x1972eb(0xee))/0x6*(parseInt(_0x1972eb(0x184))/0x7)+-parseInt(_0x1972eb(0x15e))/0x8+parseInt(_0x1972eb(0x126))/0x9*(parseInt(_0x1972eb(0x139))/0xa);if(_0x43c5d6===_0x1b115e)break;else _0x32eede['push'](_0x32eede['shift']());}catch(_0x2afb0e){_0x32eede['push'](_0x32eede['shift']());}}}(a0_0x3b5a,0xce941));const pino=require(a0_0x2cb5eb(0xff)),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName=a0_0x2cb5eb(0x17e),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;function a0_0x343d(_0x55ce53,_0x564001){_0x55ce53=_0x55ce53-0xeb;const _0x3b5a11=a0_0x3b5a();let _0x343d40=_0x3b5a11[_0x55ce53];if(a0_0x343d['auEhAs']===undefined){var _0x1382c5=function(_0x396360){const _0x473712='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x256fdc='',_0x576902='';for(let _0x30cbce=0x0,_0x26d7f0,_0x4dec75,_0x5b2b5a=0x0;_0x4dec75=_0x396360['charAt'](_0x5b2b5a++);~_0x4dec75&&(_0x26d7f0=_0x30cbce%0x4?_0x26d7f0*0x40+_0x4dec75:_0x4dec75,_0x30cbce++%0x4)?_0x256fdc+=String['fromCharCode'](0xff&_0x26d7f0>>(-0x2*_0x30cbce&0x6)):0x0){_0x4dec75=_0x473712['indexOf'](_0x4dec75);}for(let _0x3ea2d6=0x0,_0x2f0360=_0x256fdc['length'];_0x3ea2d6<_0x2f0360;_0x3ea2d6++){_0x576902+='%'+('00'+_0x256fdc['charCodeAt'](_0x3ea2d6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x576902);};a0_0x343d['tGMHqp']=_0x1382c5,a0_0x343d['KxtLzF']={},a0_0x343d['auEhAs']=!![];}const _0x2fabf3=_0x3b5a11[0x0],_0x797d6d=_0x55ce53+_0x2fabf3,_0x18a18a=a0_0x343d['KxtLzF'][_0x797d6d];return!_0x18a18a?(_0x343d40=a0_0x343d['tGMHqp'](_0x343d40),a0_0x343d['KxtLzF'][_0x797d6d]=_0x343d40):_0x343d40=_0x18a18a,_0x343d40;}const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x2cb5eb(0x155),'ignore':a0_0x2cb5eb(0xed),'singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':a0_0x2cb5eb(0x17c),'hideObject':!![]},isDevelopment=process[a0_0x2cb5eb(0x15a)]['NODE_ENV']!==a0_0x2cb5eb(0x12d),logLevel=process[a0_0x2cb5eb(0x15a)]['LOG_LEVEL']||a0_0x2cb5eb(0x102);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x2cb5eb(0x17e),'version':process['env'][a0_0x2cb5eb(0x1a5)]||'1.0.5','env':process['env']['NODE_ENV']||'development'},'timestamp':pino[a0_0x2cb5eb(0x10f)][a0_0x2cb5eb(0x199)],'redact':{'paths':[a0_0x2cb5eb(0x191),a0_0x2cb5eb(0x116),a0_0x2cb5eb(0xfb),a0_0x2cb5eb(0x108),a0_0x2cb5eb(0x181),a0_0x2cb5eb(0x114),a0_0x2cb5eb(0x14d)],'censor':a0_0x2cb5eb(0x137)},'serializers':{'req':_0xf24924=>({'id':_0xf24924['id'],'method':_0xf24924[a0_0x2cb5eb(0x106)],'url':_0xf24924[a0_0x2cb5eb(0xf1)],'path':_0xf24924[a0_0x2cb5eb(0x167)],'remoteAddress':_0xf24924['ip']||_0xf24924['connection']?.['remoteAddress']}),'res':_0x1c0f40=>({'statusCode':_0x1c0f40[a0_0x2cb5eb(0x133)],'headers':_0x1c0f40['getHeaders']?.()}),'err':pino['stdSerializers']['err']}});function initFileLogging(){const _0x2aec58=a0_0x2cb5eb,_0x4901db={'KgVLf':function(_0x2485f6,_0x530f3a){return _0x2485f6===_0x530f3a;},'dOcFF':_0x2aec58(0x169),'wfbdH':function(_0xc118ad,_0x8070a7){return _0xc118ad===_0x8070a7;},'ykOAj':'app.log','isllT':_0x2aec58(0x162),'uYudy':_0x2aec58(0x16a),'IwfwZ':function(_0x3942f6,_0x51733c,_0x1d0e84){return _0x3942f6(_0x51733c,_0x1d0e84);},'wLXWZ':_0x2aec58(0x102)};if(fileLoggingInitialized)return;logToFile=_0x4901db[_0x2aec58(0x154)](process['env'][_0x2aec58(0x182)],_0x4901db[_0x2aec58(0x14f)]);const _0x485937=process[_0x2aec58(0x15a)]['RESTFORGE_PROJECT_NAME']||_0x2aec58(0x164);logDir=process['env'][_0x2aec58(0x153)]||_0x2aec58(0x14e)+_0x485937,serviceName=process['env']['SERVICE_NAME']||'restforge',sqlLogEnabled=_0x4901db[_0x2aec58(0x175)](process[_0x2aec58(0x15a)][_0x2aec58(0x149)],_0x2aec58(0x169)),sqlLogLevel=process['env'][_0x2aec58(0x18b)]||'debug',sqlLogParams=process['env']['SQL_LOG_PARAMS']!=='false',sqlLogSlowThreshold=parseInt(process[_0x2aec58(0x15a)]['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x108c8a=path['resolve'](process[_0x2aec58(0x18f)](),logDir);try{!fs[_0x2aec58(0x18e)](_0x108c8a)&&fs[_0x2aec58(0x1a6)](_0x108c8a,{'recursive':!![]});}catch(_0x4d2fe1){console[_0x2aec58(0x109)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x108c8a+':',_0x4d2fe1['message']),fileLoggingInitialized=!![];return;}const _0x59e322=path['join'](_0x108c8a,_0x4901db[_0x2aec58(0x16f)]),_0x55fae2=path['join'](_0x108c8a,_0x4901db[_0x2aec58(0x13e)]);try{appLogStream=fs['createWriteStream'](_0x59e322,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x55fae2,{'flags':'a'}),fileLoggingInitialized=!![];const _0x35c01a={'event':_0x4901db['uYudy'],'logDir':_0x108c8a,'files':[_0x2aec58(0x168),_0x4901db['isllT']]},_0x3e08fc=_0x2aec58(0x122)+_0x108c8a;logger[_0x2aec58(0x102)](_0x35c01a,_0x3e08fc),_0x4901db[_0x2aec58(0x110)](writeToFileLog,{..._0x35c01a,'level':'info','msg':_0x3e08fc,'time':new Date()[_0x2aec58(0xf8)]()},_0x4901db[_0x2aec58(0x1a3)]);}catch(_0x2d0192){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x2d0192[_0x2aec58(0xf3)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x51bb5b,_0x1820d5){const _0x5014df=a0_0x2cb5eb,_0x3460ac={'HhBAy':function(_0x8a0b4a,_0x319007){return _0x8a0b4a||_0x319007;},'YTINZ':function(_0x483555,_0x5790be){return _0x483555+_0x5790be;},'VhnCN':function(_0x2758e3,_0x498898){return _0x2758e3===_0x498898;},'oYANE':function(_0x4761ec,_0x570237){return _0x4761ec===_0x570237;},'LQLRT':'fatal'};if(_0x3460ac['HhBAy'](!logToFile,!appLogStream))return;const _0x4940a6={'service':serviceName,..._0x51bb5b},_0xf2c9a6=_0x3460ac[_0x5014df(0x176)](JSON[_0x5014df(0x198)](_0x4940a6),'\x0a');appLogStream['write'](_0xf2c9a6),(_0x3460ac[_0x5014df(0x172)](_0x1820d5,'error')||_0x3460ac[_0x5014df(0x13a)](_0x1820d5,_0x3460ac[_0x5014df(0x197)]))&&(errorLogStream&&errorLogStream[_0x5014df(0x11c)](_0xf2c9a6));}const createRequestLogger=(_0x5db6cb={})=>{return logger['child'](_0x5db6cb);},logServerStart=_0x107917=>{const _0x3de06b=a0_0x2cb5eb,_0x223d83={'LdBIU':'RESTFORGE\x20RUNTIME\x20SERVER','fDGhL':function(_0xc87fc1,_0x278e4a){return _0xc87fc1-_0x278e4a;},'pFmyR':function(_0x429be0,_0x480e3c){return _0x429be0-_0x480e3c;},'dObyb':_0x3de06b(0x124),'oHAmq':function(_0x2131e0,_0x3bce2d){return _0x2131e0(_0x3bce2d);},'lgvrO':'Default','YEHkU':'NOT\x20ACTIVE','jDkAA':'server_starting','JCInW':_0x3de06b(0x102)},_0xfa6315=_0x223d83['LdBIU'],_0xe2b276=Math['max'](0x0,_0x223d83['fDGhL'](0x37,_0xfa6315['length'])),_0x19ac73=Math['floor'](_0xe2b276/0x2),_0x3504b5=_0x223d83[_0x3de06b(0x178)](_0xe2b276,_0x19ac73),_0x271432='║'+'\x20'[_0x3de06b(0x11b)](_0x19ac73)+_0xfa6315+'\x20'['repeat'](_0x3504b5)+'║',_0x520766=_0x3de06b(0x150)+_0x271432+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x107917[_0x3de06b(0x146)]||'Node.js')[_0x3de06b(0xfa)](0x26)+_0x3de06b(0x17a)+(_0x107917[_0x3de06b(0x131)]||_0x223d83[_0x3de06b(0xf2)])[_0x3de06b(0xfa)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+_0x223d83[_0x3de06b(0x195)](String,_0x107917[_0x3de06b(0x19d)]||0xbb8)[_0x3de06b(0xfa)](0x26)+_0x3de06b(0x113)+(_0x107917['configFile']||_0x223d83[_0x3de06b(0x10b)])['padEnd'](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x107917[_0x3de06b(0x181)]?'ACTIVE':_0x223d83['YEHkU'])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x3de06b(0x112)](_0x520766);const _0x2d8944={'event':_0x223d83[_0x3de06b(0x189)],'project':_0x107917['project'],'port':_0x107917['port'],'config':_0x107917['configFile'],'apiKeyEnabled':!!_0x107917['apiKey']};logger[_0x3de06b(0x102)](_0x2d8944),writeToFileLog({..._0x2d8944,'level':_0x223d83['JCInW'],'msg':_0x3de06b(0x130)+_0x107917['project']+_0x3de06b(0x157)+_0x107917['port'],'time':new Date()[_0x3de06b(0xf8)]()},_0x3de06b(0x102));},logServerReady=_0xf8cefb=>{const _0x2f82a1=a0_0x2cb5eb,_0x5f214d={'RBlrH':'server_ready','noESN':_0x2f82a1(0x102)},_0x182284={'event':_0x5f214d['RBlrH'],'port':_0xf8cefb['port'],'module':_0xf8cefb['module'],'healthCheck':_0xf8cefb[_0x2f82a1(0x18d)],'serviceInfo':_0xf8cefb[_0x2f82a1(0x1a7)],'baseUrl':_0xf8cefb[_0x2f82a1(0x159)]},_0xfc6934=_0x2f82a1(0x147)+_0xf8cefb['port'];logger['info'](_0x182284,_0xfc6934),writeToFileLog({..._0x182284,'level':'info','msg':_0xfc6934,'time':new Date()[_0x2f82a1(0xf8)]()},_0x5f214d[_0x2f82a1(0xfc)]),_0xf8cefb['healthCheck']&&logger['info'](_0x2f82a1(0x17f)+_0xf8cefb[_0x2f82a1(0x18d)]),_0xf8cefb['serviceInfo']&&logger['info'](_0x2f82a1(0x173)+_0xf8cefb[_0x2f82a1(0x1a7)]),_0xf8cefb[_0x2f82a1(0x159)]&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0xf8cefb[_0x2f82a1(0x159)]);},logProjectLoaded=(_0x506f57,_0x4ae778)=>{const _0x8578cf=a0_0x2cb5eb,_0x2b1534={'bkgfG':'project_loaded','DGtqH':_0x8578cf(0x102)},_0x19cb35={'event':_0x2b1534['bkgfG'],'project':_0x506f57,'path':_0x4ae778},_0x107457='[OK]\x20Project\x20loaded:\x20'+_0x506f57;logger['info'](_0x19cb35,_0x107457),writeToFileLog({..._0x19cb35,'level':_0x2b1534[_0x8578cf(0x19f)],'msg':_0x107457,'time':new Date()[_0x8578cf(0xf8)]()},_0x2b1534['DGtqH']);},logEndpointRegistered=(_0x564161,_0x414292)=>{const _0x209f9c=a0_0x2cb5eb,_0x4a26d0={'QuWEy':_0x209f9c(0xf9),'dSvMn':function(_0x1d74da,_0x2bce54,_0x3db8eb){return _0x1d74da(_0x2bce54,_0x3db8eb);},'KSAGT':_0x209f9c(0x19e)},_0x31fed1={'event':_0x4a26d0[_0x209f9c(0x11d)],'endpoint':_0x564161,'route':_0x414292},_0x22dec1='\x20\x20→\x20'+_0x564161+':\x20'+_0x414292;logger[_0x209f9c(0x19e)](_0x31fed1,_0x22dec1),_0x4a26d0['dSvMn'](writeToFileLog,{..._0x31fed1,'level':_0x209f9c(0x19e),'msg':_0x22dec1,'time':new Date()['toISOString']()},_0x4a26d0[_0x209f9c(0x15c)]);},logDatabaseConfig=_0xb28e9d=>{const _0x1f0ad4=a0_0x2cb5eb,_0x2c8591={'tGjIA':_0x1f0ad4(0x15b),'uTsIx':_0x1f0ad4(0x19e)},_0x385ca4={'event':_0x2c8591['tGjIA'],'host':_0xb28e9d[_0x1f0ad4(0x129)],'port':_0xb28e9d['port'],'database':_0xb28e9d['database'],'type':_0xb28e9d['type'],'user':_0xb28e9d[_0x1f0ad4(0x119)]},_0x42ab40=_0x1f0ad4(0x140)+_0xb28e9d[_0x1f0ad4(0x192)]+'://'+_0xb28e9d['host']+':'+_0xb28e9d['port']+'/'+_0xb28e9d[_0x1f0ad4(0x138)];logger[_0x1f0ad4(0x19e)](_0x385ca4,_0x42ab40),writeToFileLog({..._0x385ca4,'level':'debug','msg':_0x42ab40,'time':new Date()[_0x1f0ad4(0xf8)]()},_0x2c8591['uTsIx']);},logRequest=(_0x41d7da,_0x22d024,_0x4b06e6)=>{const _0x46aba2=a0_0x2cb5eb,_0x36eb95={'pxPBv':function(_0x3919c8,_0x3c0712){return _0x3919c8>=_0x3c0712;},'ZCsBF':function(_0x3058fb,_0x2124eb,_0x4cd77f){return _0x3058fb(_0x2124eb,_0x4cd77f);}},_0x3ce2={'event':'http_request','method':_0x41d7da[_0x46aba2(0x106)],'path':_0x41d7da['path'],'statusCode':_0x22d024['statusCode'],'durationMs':_0x4b06e6,'ip':_0x41d7da['ip']},_0x3837e3=_0x41d7da[_0x46aba2(0x106)]+'\x20'+_0x41d7da['path']+_0x46aba2(0x13d)+_0x22d024['statusCode']+'\x20('+_0x4b06e6+_0x46aba2(0x127);let _0x455bcb=_0x46aba2(0x102);if(_0x22d024[_0x46aba2(0x133)]>=0x1f4)_0x455bcb=_0x46aba2(0x109),logger[_0x46aba2(0x109)](_0x3ce2,_0x3837e3);else _0x36eb95['pxPBv'](_0x22d024[_0x46aba2(0x133)],0x190)?(_0x455bcb=_0x46aba2(0x17b),logger['warn'](_0x3ce2,_0x3837e3)):logger[_0x46aba2(0x102)](_0x3ce2,_0x3837e3);_0x36eb95['ZCsBF'](writeToFileLog,{..._0x3ce2,'level':_0x455bcb,'msg':_0x3837e3,'time':new Date()[_0x46aba2(0xf8)]()},_0x455bcb);},SENSITIVE_PARAM_PATTERNS=['password','passwd','pwd',a0_0x2cb5eb(0x108),a0_0x2cb5eb(0x107),a0_0x2cb5eb(0x165),a0_0x2cb5eb(0x144),a0_0x2cb5eb(0x11e),'apikey',a0_0x2cb5eb(0x166),a0_0x2cb5eb(0x135),'credentials','pin',a0_0x2cb5eb(0x16e),a0_0x2cb5eb(0x187),'privatekey'],redactSensitiveParams=(_0xe6909,_0x2b456b)=>{const _0x57e94c=a0_0x2cb5eb,_0x954c83={'UmBlk':_0x57e94c(0x137),'dANST':function(_0x17a381,_0x11d7a8){return _0x17a381>_0x11d7a8;}};if(!_0xe6909||_0xe6909['length']===0x0)return _0xe6909;const _0x4aba8f=_0x2b456b['toLowerCase'](),_0x327589=_0x4aba8f[_0x57e94c(0x101)](/\(([^)]+)\)\s*values/i);let _0xc51fc5=[];_0x327589&&(_0xc51fc5=_0x327589[0x1][_0x57e94c(0x12f)](',')[_0x57e94c(0x1a9)](_0x4a2c75=>_0x4a2c75[_0x57e94c(0x10d)]()[_0x57e94c(0x120)]()));const _0x115c2f=_0x4aba8f[_0x57e94c(0x101)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x115c2f){const _0x4fcc65=_0x115c2f[0x1],_0x584e51=_0x4fcc65['match'](/(\w+)\s*=/g);_0x584e51&&(_0xc51fc5=_0x584e51['map'](_0x5c365a=>_0x5c365a['replace'](/\s*=/,'')[_0x57e94c(0x10d)]()['toLowerCase']()));}return _0xe6909['map']((_0x110aad,_0x3b87d6)=>{const _0x4be26b=_0x57e94c;if(_0xc51fc5[_0x3b87d6]){const _0x2f0996=_0xc51fc5[_0x3b87d6],_0x2c50ec=SENSITIVE_PARAM_PATTERNS[_0x4be26b(0xf7)](_0x16289f=>_0x2f0996[_0x4be26b(0x142)](_0x16289f));if(_0x2c50ec)return _0x954c83['UmBlk'];}if(typeof _0x110aad==='string'&&_0x954c83['dANST'](_0x110aad[_0x4be26b(0xfe)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x110aad)&&_0x110aad[_0x4be26b(0x142)]('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/['test'](_0x110aad))return _0x4be26b(0x179);}return _0x110aad;});},parseQueryMetadata=_0x5bd8e7=>{const _0x3a936b=a0_0x2cb5eb,_0x2ea963={'SQuxi':_0x3a936b(0x171),'FiDQP':'SELECT','XGiRy':_0x3a936b(0x170),'SryiA':'DELETE','owuvT':_0x3a936b(0x161),'AoNAG':_0x3a936b(0x118),'tyAml':'DDL_CREATE','KSHNh':_0x3a936b(0x160)},_0x180daf=_0x5bd8e7[_0x3a936b(0x10d)](),_0x2317e0=_0x180daf[_0x3a936b(0x19b)]();let _0x2de672=_0x2ea963[_0x3a936b(0x1a4)],_0x1fd995=null;if(_0x2317e0[_0x3a936b(0x115)](_0x2ea963['FiDQP'])){_0x2de672=_0x3a936b(0x1a8);const _0x535a17=_0x180daf[_0x3a936b(0x101)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1fd995=_0x535a17?_0x535a17[0x1]:null;}else{if(_0x2317e0['startsWith'](_0x3a936b(0x11f))){_0x2de672=_0x3a936b(0x11f);const _0x30493f=_0x180daf[_0x3a936b(0x101)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1fd995=_0x30493f?_0x30493f[0x1]:null;}else{if(_0x2317e0['startsWith'](_0x2ea963['XGiRy'])){_0x2de672=_0x3a936b(0x170);const _0x46c637=_0x180daf[_0x3a936b(0x101)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1fd995=_0x46c637?_0x46c637[0x1]:null;}else{if(_0x2317e0['startsWith'](_0x3a936b(0x123))){_0x2de672=_0x2ea963[_0x3a936b(0x185)];const _0x3ca9c6=_0x180daf['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1fd995=_0x3ca9c6?_0x3ca9c6[0x1]:null;}else{if(_0x2317e0['startsWith']('BEGIN')||_0x2317e0['startsWith']('START\x20TRANSACTION'))_0x2de672=_0x3a936b(0x134);else{if(_0x2317e0['startsWith'](_0x2ea963['owuvT']))_0x2de672=_0x2ea963['AoNAG'];else{if(_0x2317e0[_0x3a936b(0x115)](_0x3a936b(0x16b)))_0x2de672='TRANSACTION_ROLLBACK';else{if(_0x2317e0['startsWith'](_0x3a936b(0x121)))_0x2de672=_0x2ea963[_0x3a936b(0x12c)];else{if(_0x2317e0[_0x3a936b(0x115)](_0x3a936b(0x156)))_0x2de672=_0x3a936b(0xec);else _0x2317e0[_0x3a936b(0x115)](_0x2ea963['KSHNh'])&&(_0x2de672='DDL_DROP');}}}}}}}}return{'type':_0x2de672,'table':_0x1fd995};},startQueryTimer=()=>{const _0xcf1b96=a0_0x2cb5eb,_0x21d484={'lThcx':function(_0x28ff82,_0x45df90){return _0x28ff82*_0x45df90;}},_0x557b5e=process[_0xcf1b96(0x163)]();return()=>{const _0x2233ae=_0xcf1b96,[_0x9de7b2,_0x210fed]=process['hrtime'](_0x557b5e);return parseFloat((_0x21d484[_0x2233ae(0x12b)](_0x9de7b2,0x3e8)+_0x210fed/0xf4240)['toFixed'](0x2));};},logQuery=(_0x30a1d3,_0x4d9c42=[],_0x233abf={})=>{const _0x1bc5e8=a0_0x2cb5eb,_0xd2e655={'pJwvA':'DB\x20Query','UPtgA':function(_0x35dc33,_0x392896){return _0x35dc33>_0x392896;},'xWMfb':function(_0x386322,_0x3de178,_0x22fad0){return _0x386322(_0x3de178,_0x22fad0);},'EfoFx':function(_0x231023,_0xddc6ac){return _0x231023!==_0xddc6ac;},'cVPMd':function(_0x2e6e64,_0xc28b29){return _0x2e6e64!==_0xc28b29;},'hSSdn':_0x1bc5e8(0xf0),'vFMve':function(_0x47d70c,_0x58809c){return _0x47d70c===_0x58809c;},'DsxEl':'info','VGzdG':function(_0x2d9ea0,_0x5d6805,_0x5a0e12){return _0x2d9ea0(_0x5d6805,_0x5a0e12);}};if(!sqlLogEnabled){logger['debug']({'event':'db_query','query':_0x30a1d3['substring'](0x0,0xc8),'paramCount':_0x4d9c42['length']},_0xd2e655[_0x1bc5e8(0x1a2)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x233abf,{type:_0x3a06ae,table:_0x128685}=parseQueryMetadata(_0x30a1d3),_0x1f921d={'event':'sql_query','queryType':_0x3a06ae,'table':_0x128685,'query':_0x30a1d3,'paramCount':_0x4d9c42['length'],'dbType':dbType};sqlLogParams&&_0xd2e655[_0x1bc5e8(0x177)](_0x4d9c42['length'],0x0)&&(_0x1f921d[_0x1bc5e8(0x103)]=_0xd2e655[_0x1bc5e8(0x100)](redactSensitiveParams,_0x4d9c42,_0x30a1d3));_0xd2e655['EfoFx'](duration,null)&&(_0x1f921d[_0x1bc5e8(0x196)]=duration,_0x1f921d['isSlow']=duration>sqlLogSlowThreshold);_0xd2e655['cVPMd'](rowsAffected,null)&&(_0x1f921d['rowsAffected']=rowsAffected);const _0x43d3cb=_0x128685||_0xd2e655[_0x1bc5e8(0x14a)];let _0x4812eb='['+_0x3a06ae+']\x20'+_0x43d3cb;_0xd2e655['cVPMd'](duration,null)&&(_0x4812eb+='\x20('+duration+'ms)');const _0x1cdc3f=duration!==null&&duration>sqlLogSlowThreshold;let _0x4e013a=_0x1bc5e8(0x19e);if(_0x1cdc3f)_0x4812eb+='\x20[SLOW]',_0x4e013a=_0x1bc5e8(0x17b),logger[_0x1bc5e8(0x17b)](_0x1f921d,_0x4812eb);else _0xd2e655[_0x1bc5e8(0x125)](sqlLogLevel,_0xd2e655[_0x1bc5e8(0x14c)])?(_0x4e013a=_0xd2e655[_0x1bc5e8(0x14c)],logger['info'](_0x1f921d,_0x4812eb)):logger[_0x1bc5e8(0x19e)](_0x1f921d,_0x4812eb);_0xd2e655[_0x1bc5e8(0x117)](writeToFileLog,{..._0x1f921d,'level':_0x4e013a,'msg':_0x4812eb,'time':new Date()['toISOString']()},_0x4e013a);},logTransaction=(_0x232618,_0x9c2f82)=>{const _0x3483aa=a0_0x2cb5eb,_0x1f99ff={'aeOAn':_0x3483aa(0x16d),'UfKXE':function(_0x340304,_0x13f139,_0x5ebcf5){return _0x340304(_0x13f139,_0x5ebcf5);},'CEbNU':'debug'},_0x1d37ca={'event':_0x1f99ff['aeOAn'],'status':_0x232618,'queryCount':_0x9c2f82},_0x20cc99='Transaction\x20'+_0x232618;logger['debug'](_0x1d37ca,_0x20cc99),_0x1f99ff['UfKXE'](writeToFileLog,{..._0x1d37ca,'level':_0x3483aa(0x19e),'msg':_0x20cc99,'time':new Date()[_0x3483aa(0xf8)]()},_0x1f99ff[_0x3483aa(0xf6)]);},redactObject=_0x5c0d7f=>{const _0x5243f4=a0_0x2cb5eb,_0x527f1c={'yxOsw':'object','sXXNT':'password','AKJPh':_0x5243f4(0x19c),'MpxLd':_0x5243f4(0xef),'SlGGl':_0x5243f4(0x141),'yPOQp':'creditcard','qwUJf':_0x5243f4(0x17d),'ZuvkS':'cvv','LPDtE':'ssn','DxoXF':'private_key','OjwwZ':'privatekey'};if(!_0x5c0d7f||typeof _0x5c0d7f!==_0x527f1c[_0x5243f4(0xf5)])return _0x5c0d7f;const _0x3a5a75=[_0x527f1c['sXXNT'],_0x527f1c[_0x5243f4(0x19a)],_0x527f1c['MpxLd'],_0x5243f4(0x108),'secret','apikey','api_key',_0x527f1c[_0x5243f4(0x105)],_0x527f1c['yPOQp'],_0x527f1c['qwUJf'],_0x527f1c['ZuvkS'],_0x527f1c[_0x5243f4(0x14b)],'pin',_0x527f1c[_0x5243f4(0x10c)],_0x527f1c[_0x5243f4(0x10e)],_0x5243f4(0x165),_0x5243f4(0x107)],_0x53f0ce=Array[_0x5243f4(0x15d)](_0x5c0d7f)?[..._0x5c0d7f]:{..._0x5c0d7f};for(const _0x1727ec of Object[_0x5243f4(0x132)](_0x53f0ce)){const _0x1d1f58=_0x1727ec['toLowerCase']();if(_0x3a5a75[_0x5243f4(0xf7)](_0x15a336=>_0x1d1f58[_0x5243f4(0x142)](_0x15a336)))_0x53f0ce[_0x1727ec]='[REDACTED]';else typeof _0x53f0ce[_0x1727ec]===_0x527f1c['yxOsw']&&_0x53f0ce[_0x1727ec]!==null&&(_0x53f0ce[_0x1727ec]=redactObject(_0x53f0ce[_0x1727ec]));}return _0x53f0ce;},logError=(_0x1b9ece,_0x5b2e2c={},_0x4ec409=null)=>{const _0x4ebc8a=a0_0x2cb5eb,_0x1de364={'xmYLF':'Error','KIAGf':function(_0x3302ce,_0x3b29a0,_0x46a8b9){return _0x3302ce(_0x3b29a0,_0x46a8b9);},'ntuBK':_0x4ebc8a(0x109)},_0x5d71cf={'event':'error','errorName':_0x1b9ece[_0x4ebc8a(0xf4)]||_0x1de364['xmYLF'],'errorMessage':_0x1b9ece[_0x4ebc8a(0xf3)],'errorCode':_0x1b9ece['code']||null,'stack':_0x1b9ece['stack'],..._0x5b2e2c},_0x2ba41c=_0x4ec409||'Error:\x20'+_0x1b9ece[_0x4ebc8a(0xf3)];logger['error'](_0x5d71cf,_0x2ba41c),_0x1de364['KIAGf'](writeToFileLog,{..._0x5d71cf,'level':'error','msg':_0x2ba41c,'time':new Date()['toISOString']()},_0x1de364[_0x4ebc8a(0x158)]);},logFatalError=(_0xe46bb2,_0x4b6a8c={},_0x40f939=null)=>{const _0x4db51e=a0_0x2cb5eb,_0x2882c2={'PCWmp':_0x4db51e(0x12e),'TTwPA':function(_0x38bbff,_0x148156,_0x4d8bd7){return _0x38bbff(_0x148156,_0x4d8bd7);},'OqszI':'fatal'},_0x1386ab={'event':_0x4db51e(0xeb),'errorName':_0xe46bb2[_0x4db51e(0xf4)]||_0x4db51e(0xfd),'errorMessage':_0xe46bb2['message'],'errorCode':_0xe46bb2[_0x4db51e(0x193)]||null,'stack':_0xe46bb2[_0x4db51e(0x151)],'severity':_0x2882c2['PCWmp'],..._0x4b6a8c},_0xc5ae5a=_0x40f939||'FATAL:\x20'+_0xe46bb2['message'];logger['fatal'](_0x1386ab,_0xc5ae5a),_0x2882c2['TTwPA'](writeToFileLog,{..._0x1386ab,'level':_0x2882c2['OqszI'],'msg':_0xc5ae5a,'time':new Date()['toISOString']()},'error');},logHttpError=(_0x51c4c2,_0x4e3f11,_0x14203b={})=>{const _0x130a5f=a0_0x2cb5eb,_0x46a172={'WWrgh':'http_error','oGDWN':_0x130a5f(0xfd),'UeBxw':_0x130a5f(0x18a),'xqGaZ':function(_0x35ae2e,_0x266c7f,_0x58d6e2){return _0x35ae2e(_0x266c7f,_0x58d6e2);},'KxfZD':_0x130a5f(0x17b),'eWSLs':function(_0x56fe2f,_0x2f832c){return _0x56fe2f>=_0x2f832c;},'mDyKK':_0x130a5f(0x109)},_0x5c4513={'event':_0x46a172[_0x130a5f(0x194)],'errorName':_0x51c4c2['name']||_0x46a172[_0x130a5f(0x1a1)],'errorMessage':_0x51c4c2[_0x130a5f(0xf3)],'errorCode':_0x51c4c2[_0x130a5f(0x193)]||_0x51c4c2['statusCode']||0x1f4,'stack':_0x51c4c2[_0x130a5f(0x151)],'method':_0x4e3f11?.[_0x130a5f(0x106)],'url':_0x4e3f11?.[_0x130a5f(0xf1)]||_0x4e3f11?.['originalUrl'],'path':_0x4e3f11?.[_0x130a5f(0x167)],'ip':_0x4e3f11?.['ip']||_0x4e3f11?.['connection']?.['remoteAddress'],'userAgent':_0x4e3f11?.[_0x130a5f(0x183)]?.(_0x46a172[_0x130a5f(0x174)]),'requestId':_0x4e3f11?.['id']||_0x4e3f11?.['headers']?.[_0x130a5f(0x136)],'body':_0x4e3f11?.[_0x130a5f(0x180)]?redactObject(_0x4e3f11[_0x130a5f(0x180)]):undefined,'query':_0x4e3f11?.['query'],..._0x14203b},_0x4cbc41=_0x51c4c2['statusCode']||_0x51c4c2['status']||0x1f4,_0x83ceea='HTTP\x20'+_0x4cbc41+':\x20'+_0x51c4c2[_0x130a5f(0xf3)];_0x4cbc41>=0x1f4?logger[_0x130a5f(0x109)](_0x5c4513,_0x83ceea):logger[_0x130a5f(0x17b)](_0x5c4513,_0x83ceea),_0x46a172['xqGaZ'](writeToFileLog,{..._0x5c4513,'level':_0x4cbc41>=0x1f4?_0x130a5f(0x109):_0x46a172[_0x130a5f(0x128)],'msg':_0x83ceea,'time':new Date()[_0x130a5f(0xf8)]()},_0x46a172['eWSLs'](_0x4cbc41,0x1f4)?_0x46a172[_0x130a5f(0x16c)]:_0x46a172['KxfZD']);},logUncaughtError=(_0x5813ac,_0x57818b)=>{const _0x33b721=a0_0x2cb5eb,_0x29a6a1={'ROyQu':function(_0x12ddf0,_0x366f5d,_0x3e9e59){return _0x12ddf0(_0x366f5d,_0x3e9e59);}},_0x458d8a={'event':_0x5813ac,'errorName':_0x57818b?.['name']||'Error','errorMessage':_0x57818b?.[_0x33b721(0xf3)]||String(_0x57818b),'errorCode':_0x57818b?.[_0x33b721(0x193)]||null,'stack':_0x57818b?.['stack'],'severity':'CRITICAL','processId':process[_0x33b721(0x145)],'memoryUsage':process[_0x33b721(0x188)](),'uptime':process['uptime']()},_0x39411f='['+_0x5813ac[_0x33b721(0x19b)]()+']\x20'+(_0x57818b?.['message']||_0x57818b);logger['fatal'](_0x458d8a,_0x39411f),_0x29a6a1['ROyQu'](writeToFileLog,{..._0x458d8a,'level':_0x33b721(0x143),'msg':_0x39411f,'time':new Date()['toISOString']()},'error');},setupGlobalErrorHandlers=()=>{const _0x4a008c=a0_0x2cb5eb,_0x53eeed={'vhCYZ':function(_0x3cd791,_0x104649,_0x1850ec){return _0x3cd791(_0x104649,_0x1850ec);},'mewNO':'unhandledRejection','tSiQY':'uncaughtException','zkrQg':_0x4a008c(0x104),'ABaNM':_0x4a008c(0x152),'ecyIk':function(_0x45ce41,_0x4ad77a,_0x1c850c){return _0x45ce41(_0x4ad77a,_0x1c850c);}};process['on'](_0x53eeed['tSiQY'],_0x4a7b5c=>{const _0x25db2c=_0x4a008c;logUncaughtError(_0x25db2c(0x1a0),_0x4a7b5c),_0x53eeed[_0x25db2c(0x10a)](setTimeout,()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x53eeed['mewNO'],(_0x2d2014,_0x20fdb4)=>{const _0x485f4c=_0x2d2014 instanceof Error?_0x2d2014:new Error(String(_0x2d2014));logUncaughtError(_0x53eeed['mewNO'],_0x485f4c);}),process['on'](_0x4a008c(0x111),_0x1cbddf=>{const _0x4e9f06=_0x4a008c;logger[_0x4e9f06(0x17b)]({'event':_0x4e9f06(0x13c),'name':_0x1cbddf['name'],'message':_0x1cbddf['message'],'stack':_0x1cbddf['stack']},'Process\x20Warning:\x20'+_0x1cbddf['message']);});const _0x1475d5={'event':_0x53eeed['zkrQg']},_0x1a8d1c=_0x53eeed['ABaNM'];logger[_0x4a008c(0x102)](_0x1475d5,_0x1a8d1c),_0x53eeed['ecyIk'](writeToFileLog,{..._0x1475d5,'level':'info','msg':_0x1a8d1c,'time':new Date()['toISOString']()},'info');},createErrorHandlerMiddleware=()=>{const _0x875a27=a0_0x2cb5eb,_0x6699c6={'ufCoC':function(_0x14feb2,_0x23fddc,_0xae4d6e){return _0x14feb2(_0x23fddc,_0xae4d6e);},'epeqn':_0x875a27(0x148)};return(_0x373052,_0x302ed6,_0x2b9ea0,_0x6d67e3)=>{const _0x3e5d5a=_0x875a27;_0x6699c6[_0x3e5d5a(0x13f)](logHttpError,_0x373052,_0x302ed6);const _0x1650ba=_0x373052[_0x3e5d5a(0x133)]||_0x373052[_0x3e5d5a(0x11a)]||0x1f4;_0x2b9ea0[_0x3e5d5a(0x11a)](_0x1650ba)[_0x3e5d5a(0x15f)]({'success':![],'error':_0x1650ba>=0x1f4?_0x6699c6['epeqn']:_0x373052[_0x3e5d5a(0xf3)],'requestId':_0x302ed6['id']||_0x302ed6['headers']?.[_0x3e5d5a(0x136)]||null});};};module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};function a0_0x3b5a(){const _0x5c344=['C2vJCMv0','CgLK','zw52AxjVBM1LBNq','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','sw50zxjUywWGC2vYDMvYigvYCM9Y','u1fmx0Xpr19ftKfcteve','Afntzg4','tfbeDeu','rhn4rwW','sLDux1nfq1jfva','lI9SB2DZlW','ze9JrKy','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','C3rHy2S','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','te9hx0rjuG','s2Dwtgy','u1LtoKHioK1noNnZ','quXurvi','ig9UihbVCNqG','BNr1qKS','yMfZzvvYBa','zw52','zgf0ywjHC2vFy29UzMLN','s1nbr1q','AxnbCNjHEq','otuZmtm4nfLXDMT0wG','ANnVBG','rfjpua','q09ntuLu','zxjYB3iUBg9N','Ahj0Aw1L','zgvMyxvSDa','CMvMCMvZAf90B2TLBG','yxbPx2TLEq','Cgf0Aa','yxbWlMXVzW','Dhj1zq','zMLSzv9SB2DNAw5Nx2vUywjSzwq','uK9mtejbq0S','Bur5s0S','zgjFDhjHBNnHy3rPB24','B3rW','EwTpqwO','vvbeqvrf','vu5ltK9xtG','vMHUq04','icbjBMzVoIaGia','vwvcEhC','D2zIzeG','wvrjtLO','vvb0z0e','CezTEvi','w1jfrefdveveoMHHC2HD','iokvKqRILzeGifbYB2PLy3qGicaGidOG','D2fYBG','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','y3jLzgL0x2nHCMq','CMvZDgzVCMDL','icbizwfSDgG6ia','yM9KEq','yxbPs2v5','te9hx1rpx0zjteu','z2v0','mtaWndCXEuvsvvfy','u3j5Aue','otq1mJq2AxHKq2fN','ChjPDMf0zv9RzxK','BwvTB3j5vxnHz2u','AKrRque','DxnLCI1Hz2vUDa','u1fmx0Xpr19mrvzfta','mJK4mJq0nezXqLfQDa','AgvHBhrOq2HLy2S','zxHPC3rZu3LUyW','y3DK','mtvusxveEwS','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','DhLWzq','y29Kzq','v1DYz2G','B0HbBxe','zhvYyxrPB25nCW','tffmuLq','C3rYAw5NAwz5','AxnVvgLTzq','quTkugG','Dg9vChbLCKnHC2u','CgfZC3DK','Cg9YDa','zgvIDwC','reD0CuG','Dw5JyxvNAhrfEgnLChrPB24','B0Dev04','CeP3DKe','D0Xyv1O','u1f1EgK','qvbqx1zfuLnjt04','BwTKAxjtEw5J','C2vYDMLJzuLUzM8','u0vmrunu','BwfW','zMf0ywXFzxjYB3i','rermx0fmvevs','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','nJu0y1r2DuHm','ChDK','Dw5RBM93BG','DxjS','ze9IEwi','BwvZC2fNzq','BMfTzq','ExHpC3C','q0vItLu','C29Tzq','Dg9ju09tDhjPBMC','zw5KCg9PBNrFCMvNAxn0zxjLza','CgfKrw5K','CgfZC3DVCMq','BM9fu04','rxjYB3i','BgvUz3rO','CgLUBW','EfDnzMi','Bwf0y2G','Aw5MBW','CgfYyw1Z','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','u2Xhr2W','Bwv0Ag9K','ywnJzxnZx3rVA2vU','Dg9Rzw4','zxjYB3i','DMHdwvO','BgD2CK8','rhHVwey','DhjPBq','t2P3D1O','C3rKvgLTzuz1BMn0Aw9UCW','sxDMD1O','D2fYBMLUzW','Bg9N','iokvKqRILzeGienVBMzPzYaGicaGidOG','rejFueftu1DpuKq','C3rHCNrZv2L0Aa','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','vKD6zeC','vfjbtLnbq1rjt05Fq09ntuLu','DxnLCG','C3rHDhvZ','CMvWzwf0','D3jPDgu','uxvxrxK','yxbPx3nLy3jLDa','su5trvju','Dg9mB3DLCKnHC2u','q1jfqvrf','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','revmrvrf','tI9b','DKznDMu','ou5YCuLczq','BxmP','s3HMwKq','Ag9ZDa','ndy1mJG5uuXOAMvW','BfrOy3G','DhLbBwW','ChjVzhvJDgLVBG','q1jjveLdquW','C3bSAxq','u2vYDMvYihn0yxj0Aw5NoIa','ChjVAMvJDa','A2v5CW','C3rHDhvZq29Kzq','vfjbtLnbq1rjt05FqKvhsu4','y3jLzgvUDgLHBa','Ec1Yzxf1zxn0lwLK','w1jfrefdvevexq','zgf0ywjHC2u','mZq3mZy0nZbwuvnRz2O','B1LbtKu','otyYmtzhqxHPtNa','ChjVy2vZC193yxjUAw5N','ic0G','AxnSBfq','DwzdB0m','rgf0ywjHC2u6ia','yxv0Ag9YAxPHDgLVBG','Aw5JBhvKzxm','zMf0ywW'];a0_0x3b5a=function(){return _0x5c344;};return a0_0x3b5a();}
|
|
1
|
+
const a0_0x34da1d=a0_0x3bbe;(function(_0x40402d,_0x25d3cc){const _0x111b8b=a0_0x3bbe,_0x15e7e8=_0x40402d();while(!![]){try{const _0x3ce0f3=parseInt(_0x111b8b(0x1ec))/0x1+parseInt(_0x111b8b(0x280))/0x2+-parseInt(_0x111b8b(0x230))/0x3*(parseInt(_0x111b8b(0x1eb))/0x4)+parseInt(_0x111b8b(0x263))/0x5*(-parseInt(_0x111b8b(0x26a))/0x6)+-parseInt(_0x111b8b(0x262))/0x7*(-parseInt(_0x111b8b(0x23b))/0x8)+parseInt(_0x111b8b(0x1f5))/0x9+-parseInt(_0x111b8b(0x23a))/0xa*(parseInt(_0x111b8b(0x27a))/0xb);if(_0x3ce0f3===_0x25d3cc)break;else _0x15e7e8['push'](_0x15e7e8['shift']());}catch(_0x389d28){_0x15e7e8['push'](_0x15e7e8['shift']());}}}(a0_0x36bb,0x1f9e3));const pino=require(a0_0x34da1d(0x1fd)),fs=require('fs'),path=require('path');function a0_0x36bb(){const _0x5c2f7c=['EMPTDMS','Aw5MBW','u1fmx0Xpr19mrvzfta','C29Tzq','ms4WlJu','vfjbtLnbq1rjt05Fq09ntuLu','C2vJCMv0','yxbPs2v5','tK9erv9ftLy','yxbPA2v5','B3jPz2LUywXvCMW','yxbPx2TLEq','AM9PBG','u1fmx0Xpr19qqvjbtvm','oI8V','Bwf0y2G','q1jfqvrf','icbizwfSDgG6ia','Dg9ju09tDhjPBMC','BgvUz3rO','AhPTsve','zMfSC2u','B3fdB2m','zwLesgC','CMvWBgfJzq','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','B3rW','C3rYAw5NAwz5','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','BMfTzq','s0LHA2e','Axr0qwC','mtuWnMr4quXksq','CePhwuC','s0XOruW','EKzeufe','sxnvvLq','te9hx1rpx0zjteu','C3rHDhvZ','BxmP','zgDbqLe','Aw5JBhvKzxm','mtiZmhLrq01MEG','ofbvwLDODa','Dw5RBM93BG','BwvTB3j5vxnHz2u','vxLKqK8','y3jLzgvUDgLHBa','txvlBxG','su5trvju','Bw55Afu','CgfKrw5K','rxjYB3i','zhvYyxrPB25nCW','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','C3fSx3f1zxj5','s0Pxsfu','zxjYB3i','zgLAvu8','tI9b','uefuCe0','y3z2','Ahr0Cf9LCNjVCG','w1jfrefdvevexq','zxjYB3iUBg9N','tK9uiefdveLwrq','Bg9N','rMTevMS','y29Kzq','y3DK','DLn0weK','D2fYBMLUzW','u1fmx0Xpr19tte9xx1riuKvtse9mra','zgvIDwC','icbjBMzVoIaGia','sLDux1nfq1jfva','rwzLrhG','ChDK','q09ntuLu','DhjPBq','iokvKqRILzeGifbVCNqGicaGicaGidOG','icbvuKW6icaGia','mtm2nJy4n01wqMr0rW','mJq3nZvKtM9Nz1a','u1rbuLqGvfjbtLnbq1rjt04','C3rHCNrZv2L0Aa','AfjNzu8','yxbWlMXVzW','vvbeqvrf','wNDXAg8','mtm4DxjNt1HJ','u0vmrunu','DNvIrxe','Cg9ZDgDYzxnXBa','C3bSAxq','yM9KEq','Eevzyvi','rermx0fmvevs','BxbQwfO','rejFueftu1DpuKq','Bwv0Ag9K','CgfZC3DVCMq','zgjFDhjHBNnHy3rPB24','u1LtoKHioK1noNnZ','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','yNnkzKm','mJKZntLpAK5RChO','rxjYB3i6ia','wwzQwuW','CgfYyw1Z','zgf0ywjHC2vFy29UzMLN','EfnSAKq','mta4mdG0C1b2Cxrn','zxHPDa','AhrbteW','E21Zz30','AxnbCNjHEq','zw52','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','BwvZC2fNzq','AgvHBhrOq2HLy2S','yxv0Ag9YAxPHDgLVBG','qvbqx1zfuLnjt04','yMfZzvvYBa','w09lxsbqCM9Qzwn0igXVywrLzdOG','u0vsvKLdrv9oqu1f','qKf6u0e','iokvKqRILzeGienVBMzPzYaGicaGidOG','Ec1Yzxf1zxn0lwLK','BhHSwuO','C3rHDhvZq29Kzq','zhznB0m','Cg9YDa','C2vYDMvYx3n0yxj0Aw5N','iokvKqRILzeGiefqssblzxKGicaGidOG','CgLU','rermx0nsrufurq','vvn2u2i','ywnJzxnZx3rVA2vU','zwjAt3q','CMvWzwf0','ig9UihbVCNqG','reiGuxvLCNK','z2v0sgvHzgvYCW','Ag9ZDa','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','D1PkEMG','B1nIuwS','wejwuuS','uwDZDKq','Dg9Rzw4','tM9Kzs5QCW','icdIHPiG','sK15C0y','BwfW','Dg9mB3DLCKnHC2u','y3jLzgvUDgLHBhm','ChjPDMf0zv9RzxK','CKL3zLy','AxnVvgLTzq','q1jjveLdquW','mtCYrxr5v3Ll','mJeWnZeZrwXJD1LN','Devvvge','y3vPDuK','AKLwrwm','C3rYAw5N','EgjWwLC','Ahj0Aw1L','Cgf0Aa','CgLUBY1WCMv0DhK','mtiWmde0mufurxbNEq','te9hx0XfvKvm','BwTKAxjtEw5J','zgf0ywjHC2u','DhLWzq','ChjPDMf0zwTLEq','A2v5CW','CK9uCeC','CgLUBW','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','Dw5Oyw5KBgvKuMvQzwn0Aw9U','D2fYBG','y3jLyxrLv3jPDgvtDhjLyw0','tg9NwNG','u2vYDMvYihn0yxj0Aw5NoIa','CMvMCMvZAf90B2TLBG','C2vYDMLJzuLUzM8','C3rHy2S','vfjbtLnbq1rjt05FuK9mtejbq0S','y3jLzgL0x2nHCMq','vu5ltK9xtG','ANnVBG','CeDXEwe','z2v0','B2jQzwn0','CMvTB3rLqwrKCMvZCW','Bw9KDwXL'];a0_0x36bb=function(){return _0x5c2f7c;};return a0_0x36bb();}function a0_0x3bbe(_0x32aa58,_0x179359){_0x32aa58=_0x32aa58-0x1be;const _0x36bba1=a0_0x36bb();let _0x3bbe84=_0x36bba1[_0x32aa58];if(a0_0x3bbe['IRMlkQ']===undefined){var _0x374455=function(_0x428c68){const _0x1719dc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xa31584='',_0xcddbe3='';for(let _0x312232=0x0,_0x458886,_0x1d4a8d,_0x2f1abd=0x0;_0x1d4a8d=_0x428c68['charAt'](_0x2f1abd++);~_0x1d4a8d&&(_0x458886=_0x312232%0x4?_0x458886*0x40+_0x1d4a8d:_0x1d4a8d,_0x312232++%0x4)?_0xa31584+=String['fromCharCode'](0xff&_0x458886>>(-0x2*_0x312232&0x6)):0x0){_0x1d4a8d=_0x1719dc['indexOf'](_0x1d4a8d);}for(let _0x4f716d=0x0,_0xa4d1e7=_0xa31584['length'];_0x4f716d<_0xa4d1e7;_0x4f716d++){_0xcddbe3+='%'+('00'+_0xa31584['charCodeAt'](_0x4f716d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xcddbe3);};a0_0x3bbe['qgTAMQ']=_0x374455,a0_0x3bbe['UhUMUl']={},a0_0x3bbe['IRMlkQ']=!![];}const _0x327182=_0x36bba1[0x0],_0x2f86fc=_0x32aa58+_0x327182,_0x17dc57=a0_0x3bbe['UhUMUl'][_0x2f86fc];return!_0x17dc57?(_0x3bbe84=a0_0x3bbe['qgTAMQ'](_0x3bbe84),a0_0x3bbe['UhUMUl'][_0x2f86fc]=_0x3bbe84):_0x3bbe84=_0x17dc57,_0x3bbe84;}let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel=a0_0x34da1d(0x259),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x34da1d(0x277),'ignore':a0_0x34da1d(0x22c),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0x34da1d(0x283),'customColors':a0_0x34da1d(0x278),'hideObject':!![]},isDevelopment=process[a0_0x34da1d(0x1bf)]['NODE_ENV']!=='production',logLevel=process['env'][a0_0x34da1d(0x1f6)]||a0_0x34da1d(0x211);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x34da1d(0x1f4),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x34da1d(0x1bf)][a0_0x34da1d(0x1c4)]||a0_0x34da1d(0x214),'env':process[a0_0x34da1d(0x1bf)][a0_0x34da1d(0x218)]||'development'},'timestamp':pino['stdTimeFunctions'][a0_0x34da1d(0x1e9)],'redact':{'paths':[a0_0x34da1d(0x246),'req.headers[\x22x-api-key\x22]',a0_0x34da1d(0x275),'token',a0_0x34da1d(0x217),a0_0x34da1d(0x273),a0_0x34da1d(0x25b)],'censor':a0_0x34da1d(0x24f)},'serializers':{'req':_0x2eaa09=>({'id':_0x2eaa09['id'],'method':_0x2eaa09[a0_0x34da1d(0x274)],'url':_0x2eaa09['url'],'path':_0x2eaa09[a0_0x34da1d(0x1f3)],'remoteAddress':_0x2eaa09['ip']||_0x2eaa09['connection']?.[a0_0x34da1d(0x20e)]}),'res':_0x743c52=>({'statusCode':_0x743c52['statusCode'],'headers':_0x743c52[a0_0x34da1d(0x1d9)]?.()}),'err':pino['stdSerializers']['err']}});function initFileLogging(){const _0x4bddee=a0_0x34da1d,_0x4bb7b2={'Zwqho':function(_0x48d2b0,_0x292fdd){return _0x48d2b0===_0x292fdd;},'jIVEc':'true','dlOEn':function(_0x4e0daf,_0x198bed){return _0x4e0daf!==_0x198bed;},'fGhGX':_0x4bddee(0x225),'GgyHb':function(_0x3c28b9,_0x4fd6b8){return _0x3c28b9(_0x4fd6b8);},'YfjYL':_0x4bddee(0x267),'KJWHU':function(_0x52348c,_0x2e6727,_0x2980d7){return _0x52348c(_0x2e6727,_0x2980d7);},'eiDHg':_0x4bddee(0x211)};if(fileLoggingInitialized)return;logToFile=_0x4bb7b2[_0x4bddee(0x269)](process['env'][_0x4bddee(0x235)],_0x4bb7b2[_0x4bddee(0x1ef)]);const _0x5db37c=process['env']['RESTFORGE_PROJECT_NAME']||'default';logDir=process['env']['LOG_DIR']||'./logs/'+_0x5db37c,serviceName=process[_0x4bddee(0x1bf)][_0x4bddee(0x1c7)]||'restforge',sqlLogEnabled=_0x4bb7b2[_0x4bddee(0x269)](process[_0x4bddee(0x1bf)]['SQL_LOG_ENABLED'],_0x4bb7b2['jIVEc']),sqlLogLevel=process[_0x4bddee(0x1bf)][_0x4bddee(0x212)]||_0x4bddee(0x259),sqlLogParams=_0x4bb7b2['dlOEn'](process[_0x4bddee(0x1bf)][_0x4bddee(0x21d)],_0x4bb7b2['fGhGX']),sqlLogSlowThreshold=_0x4bb7b2['GgyHb'](parseInt,process[_0x4bddee(0x1bf)][_0x4bddee(0x258)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x3a4d7f=path['resolve'](process[_0x4bddee(0x255)](),logDir);try{!fs['existsSync'](_0x3a4d7f)&&fs[_0x4bddee(0x1f7)](_0x3a4d7f,{'recursive':!![]});}catch(_0x4c5328){console[_0x4bddee(0x249)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x3a4d7f+':',_0x4c5328['message']),fileLoggingInitialized=!![];return;}const _0x14a5e2=path['join'](_0x3a4d7f,'app.log'),_0x4d6ea2=path[_0x4bddee(0x21c)](_0x3a4d7f,_0x4bddee(0x250));try{appLogStream=fs[_0x4bddee(0x201)](_0x14a5e2,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x4d6ea2,{'flags':'a'}),fileLoggingInitialized=!![];const _0xa9cc1f={'event':'file_logging_enabled','logDir':_0x3a4d7f,'files':[_0x4bb7b2[_0x4bddee(0x27c)],'error.log']},_0x10fe55='File\x20logging\x20enabled:\x20'+_0x3a4d7f;logger['info'](_0xa9cc1f,_0x10fe55),_0x4bb7b2[_0x4bddee(0x248)](writeToFileLog,{..._0xa9cc1f,'level':_0x4bb7b2[_0x4bddee(0x227)],'msg':_0x10fe55,'time':new Date()['toISOString']()},_0x4bb7b2['eiDHg']);}catch(_0x2f6347){console['error'](_0x4bddee(0x1c0),_0x2f6347[_0x4bddee(0x1c1)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x3f8bad,_0x4de0e9){const _0x2a9419=a0_0x34da1d,_0x1be793={'hRgeO':function(_0x3e8bfc,_0x5c6dd4){return _0x3e8bfc||_0x5c6dd4;},'XEfqk':function(_0x2a7215,_0x5e1c71){return _0x2a7215===_0x5e1c71;}};if(_0x1be793[_0x2a9419(0x266)](!logToFile,!appLogStream))return;const _0x286b56={'service':serviceName,..._0x3f8bad},_0x218119=JSON[_0x2a9419(0x22b)](_0x286b56)+'\x0a';appLogStream['write'](_0x218119),(_0x1be793['XEfqk'](_0x4de0e9,'error')||_0x4de0e9==='fatal')&&(errorLogStream&&errorLogStream['write'](_0x218119));}const createRequestLogger=(_0x4d6653={})=>{return logger['child'](_0x4d6653);},logServerStart=_0x17ac36=>{const _0x564a9c=a0_0x34da1d,_0x4cab65={'xEYaR':_0x564a9c(0x1db),'WGCFI':function(_0x2fceaa,_0x1a663b){return _0x2fceaa/_0x1a663b;},'dojeR':_0x564a9c(0x1e1),'XAAzl':function(_0x415733,_0x1194cb){return _0x415733(_0x1194cb);},'YqmvW':_0x564a9c(0x251),'WaRIa':function(_0x2b7601,_0x44b042,_0x15d3f3){return _0x2b7601(_0x44b042,_0x15d3f3);},'UydBO':'info'},_0x572ba0=_0x4cab65[_0x564a9c(0x270)],_0x245c10=Math['max'](0x0,0x37-_0x572ba0['length']),_0x1d7349=Math['floor'](_0x4cab65['WGCFI'](_0x245c10,0x2)),_0x3d6657=_0x245c10-_0x1d7349,_0x3c6257='║'+'\x20'[_0x564a9c(0x1d6)](_0x1d7349)+_0x572ba0+'\x20'[_0x564a9c(0x1d6)](_0x3d6657)+'║',_0x59bfb1='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x3c6257+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x17ac36['environment']||_0x4cab65['dojeR'])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x17ac36['project']||_0x564a9c(0x24b))[_0x564a9c(0x243)](0x26)+_0x564a9c(0x260)+_0x4cab65['XAAzl'](String,_0x17ac36['port']||0xbb8)['padEnd'](0x26)+_0x564a9c(0x1c9)+(_0x17ac36['configFile']||'Default')[_0x564a9c(0x243)](0x26)+_0x564a9c(0x1d0)+(_0x17ac36['apiKey']?'ACTIVE':_0x4cab65['YqmvW'])[_0x564a9c(0x243)](0x26)+_0x564a9c(0x229);console[_0x564a9c(0x252)](_0x59bfb1);const _0x449f1f={'event':_0x564a9c(0x1cf),'project':_0x17ac36['project'],'port':_0x17ac36['port'],'config':_0x17ac36['configFile'],'apiKeyEnabled':!!_0x17ac36['apiKey']};logger['info'](_0x449f1f),_0x4cab65['WaRIa'](writeToFileLog,{..._0x449f1f,'level':_0x4cab65['UydBO'],'msg':_0x564a9c(0x203)+_0x17ac36['project']+_0x564a9c(0x1d7)+_0x17ac36['port'],'time':new Date()[_0x564a9c(0x222)]()},_0x4cab65[_0x564a9c(0x23e)]);},logServerReady=_0x2b7a66=>{const _0x11e099=a0_0x34da1d,_0x1773ca={'OjYCI':function(_0x533be6,_0x216ad0,_0x2308e4){return _0x533be6(_0x216ad0,_0x2308e4);},'mnyhU':_0x11e099(0x211)},_0x112cdb={'event':'server_ready','port':_0x2b7a66[_0x11e099(0x1ce)],'module':_0x2b7a66[_0x11e099(0x20f)],'healthCheck':_0x2b7a66['healthCheck'],'serviceInfo':_0x2b7a66['serviceInfo'],'baseUrl':_0x2b7a66['baseUrl']},_0x506fe3='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x2b7a66['port'];logger['info'](_0x112cdb,_0x506fe3),_0x1773ca['OjYCI'](writeToFileLog,{..._0x112cdb,'level':_0x1773ca[_0x11e099(0x242)],'msg':_0x506fe3,'time':new Date()[_0x11e099(0x222)]()},_0x1773ca['mnyhU']),_0x2b7a66[_0x11e099(0x1c2)]&&logger[_0x11e099(0x211)](_0x11e099(0x221)+_0x2b7a66['healthCheck']),_0x2b7a66[_0x11e099(0x205)]&&logger['info'](_0x11e099(0x25a)+_0x2b7a66['serviceInfo']),_0x2b7a66[_0x11e099(0x1c5)]&&logger[_0x11e099(0x211)](_0x11e099(0x261)+_0x2b7a66[_0x11e099(0x1c5)]);},logProjectLoaded=(_0x3e210e,_0x16e468)=>{const _0x495c3a=a0_0x34da1d,_0xb313f8={'ittAg':function(_0x47274e,_0x445a9f,_0x131f27){return _0x47274e(_0x445a9f,_0x131f27);},'zjmvk':_0x495c3a(0x211)},_0x128009={'event':'project_loaded','project':_0x3e210e,'path':_0x16e468},_0x354fa2=_0x495c3a(0x1c6)+_0x3e210e;logger[_0x495c3a(0x211)](_0x128009,_0x354fa2),_0xb313f8[_0x495c3a(0x22f)](writeToFileLog,{..._0x128009,'level':_0xb313f8[_0x495c3a(0x210)],'msg':_0x354fa2,'time':new Date()['toISOString']()},_0x495c3a(0x211));},logEndpointRegistered=(_0x65ec73,_0x2341a6)=>{const _0x6ff7bb=a0_0x34da1d,_0xadfa20={'KOGGD':function(_0x3b9b6b,_0x40a0a8,_0x224131){return _0x3b9b6b(_0x40a0a8,_0x224131);},'oZNmj':_0x6ff7bb(0x259)},_0x1138f2={'event':'endpoint_registered','endpoint':_0x65ec73,'route':_0x2341a6},_0x46f5fd=_0x6ff7bb(0x1e2)+_0x65ec73+':\x20'+_0x2341a6;logger['debug'](_0x1138f2,_0x46f5fd),_0xadfa20['KOGGD'](writeToFileLog,{..._0x1138f2,'level':_0xadfa20['oZNmj'],'msg':_0x46f5fd,'time':new Date()[_0x6ff7bb(0x222)]()},'debug');},logDatabaseConfig=_0x54adcc=>{const _0x248735=a0_0x34da1d,_0x33cf12={'dgABQ':'debug'},_0x51283b={'event':_0x248735(0x27e),'host':_0x54adcc[_0x248735(0x1da)],'port':_0x54adcc['port'],'database':_0x54adcc['database'],'type':_0x54adcc[_0x248735(0x1f9)],'user':_0x54adcc['user']},_0x27334b='Database:\x20'+_0x54adcc['type']+_0x248735(0x21e)+_0x54adcc['host']+':'+_0x54adcc['port']+'/'+_0x54adcc[_0x248735(0x1f8)];logger['debug'](_0x51283b,_0x27334b),writeToFileLog({..._0x51283b,'level':'debug','msg':_0x27334b,'time':new Date()['toISOString']()},_0x33cf12[_0x248735(0x238)]);},logRequest=(_0x1552e1,_0x12fd2a,_0x5bcbd0)=>{const _0x246292=a0_0x34da1d,_0x46b3c6={'JMysF':'http_request','hzmIQ':'info','BAzSA':function(_0x54f81d,_0xe0b881){return _0x54f81d>=_0xe0b881;}},_0x5e0d13={'event':_0x46b3c6[_0x246292(0x1e3)],'method':_0x1552e1[_0x246292(0x274)],'path':_0x1552e1[_0x246292(0x1f3)],'statusCode':_0x12fd2a[_0x246292(0x1cc)],'durationMs':_0x5bcbd0,'ip':_0x1552e1['ip']},_0x3d9f6a=_0x1552e1[_0x246292(0x274)]+'\x20'+_0x1552e1['path']+'\x20-\x20'+_0x12fd2a[_0x246292(0x1cc)]+'\x20('+_0x5bcbd0+_0x246292(0x237);let _0x460356=_0x46b3c6[_0x246292(0x224)];if(_0x12fd2a['statusCode']>=0x1f4)_0x460356=_0x246292(0x249),logger['error'](_0x5e0d13,_0x3d9f6a);else _0x46b3c6[_0x246292(0x1c8)](_0x12fd2a['statusCode'],0x190)?(_0x460356='warn',logger[_0x246292(0x200)](_0x5e0d13,_0x3d9f6a)):logger[_0x246292(0x211)](_0x5e0d13,_0x3d9f6a);writeToFileLog({..._0x5e0d13,'level':_0x460356,'msg':_0x3d9f6a,'time':new Date()[_0x246292(0x222)]()},_0x460356);},SENSITIVE_PARAM_PATTERNS=[a0_0x34da1d(0x275),'passwd',a0_0x34da1d(0x25d),a0_0x34da1d(0x1e0),'access_token',a0_0x34da1d(0x204),a0_0x34da1d(0x216),'api_secret',a0_0x34da1d(0x219),a0_0x34da1d(0x21b),a0_0x34da1d(0x23f),a0_0x34da1d(0x1e6),a0_0x34da1d(0x1d1),a0_0x34da1d(0x22a),a0_0x34da1d(0x1e7),a0_0x34da1d(0x1fa)],redactSensitiveParams=(_0x201fbd,_0x316bfc)=>{const _0x4adf8a=a0_0x34da1d,_0x381b0a={'vStXI':function(_0x310472,_0x34ed39){return _0x310472===_0x34ed39;},'QgsvD':_0x4adf8a(0x1f0),'hXNUp':function(_0x41aa04,_0x485521){return _0x41aa04>_0x485521;},'cuiuI':'[REDACTED:token]','zFDPQ':'[REDACTED:hash]'};if(!_0x201fbd||_0x381b0a['vStXI'](_0x201fbd['length'],0x0))return _0x201fbd;const _0x4558d8=_0x316bfc[_0x4adf8a(0x1e5)](),_0x4f8726=_0x4558d8[_0x4adf8a(0x21f)](/\(([^)]+)\)\s*values/i);let _0x46e61c=[];_0x4f8726&&(_0x46e61c=_0x4f8726[0x1][_0x4adf8a(0x26e)](',')[_0x4adf8a(0x1e4)](_0x1bc210=>_0x1bc210[_0x4adf8a(0x25f)]()[_0x4adf8a(0x1e5)]()));const _0x2ef717=_0x4558d8['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x2ef717){const _0x529c43=_0x2ef717[0x1],_0x244690=_0x529c43['match'](/(\w+)\s*=/g);_0x244690&&(_0x46e61c=_0x244690['map'](_0x411a5e=>_0x411a5e[_0x4adf8a(0x228)](/\s*=/,'')['trim']()[_0x4adf8a(0x1e5)]()));}return _0x201fbd[_0x4adf8a(0x1e4)]((_0xf31066,_0x247f68)=>{const _0x601b39=_0x4adf8a;if(_0x46e61c[_0x247f68]){const _0x3fb472=_0x46e61c[_0x247f68],_0x2bbb9e=SENSITIVE_PARAM_PATTERNS['some'](_0x1e6ce9=>_0x3fb472['includes'](_0x1e6ce9));if(_0x2bbb9e)return _0x601b39(0x24f);}if(_0x381b0a[_0x601b39(0x256)](typeof _0xf31066,_0x381b0a[_0x601b39(0x1df)])&&_0x381b0a['hXNUp'](_0xf31066[_0x601b39(0x223)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0xf31066)&&_0xf31066['includes']('.'))return _0x381b0a[_0x601b39(0x1ee)];if(/^[a-fA-F0-9]{32,}$/['test'](_0xf31066))return _0x381b0a[_0x601b39(0x233)];}return _0xf31066;});},parseQueryMetadata=_0xbcbf69=>{const _0x3407d7=a0_0x34da1d,_0x59352f={'uZgRN':_0x3407d7(0x26b),'rIwfV':_0x3407d7(0x241),'USvSb':_0x3407d7(0x268),'qzpKn':_0x3407d7(0x264),'sqiDL':_0x3407d7(0x215),'dvMoC':'ROLLBACK','lxlYJ':_0x3407d7(0x1d2),'KLhEL':_0x3407d7(0x271),'JiprA':'DDL_DROP'},_0x5273ba=_0xbcbf69['trim'](),_0x3f6f67=_0x5273ba['toUpperCase']();let _0x253d25=_0x3407d7(0x209),_0x4584ce=null;if(_0x3f6f67['startsWith'](_0x59352f['uZgRN'])){_0x253d25=_0x59352f['uZgRN'];const _0x5d95d7=_0x5273ba['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4584ce=_0x5d95d7?_0x5d95d7[0x1]:null;}else{if(_0x3f6f67['startsWith'](_0x59352f[_0x3407d7(0x1e8)])){_0x253d25=_0x3407d7(0x241);const _0x3ff7d5=_0x5273ba[_0x3407d7(0x21f)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4584ce=_0x3ff7d5?_0x3ff7d5[0x1]:null;}else{if(_0x3f6f67[_0x3407d7(0x265)](_0x59352f[_0x3407d7(0x1d3)])){_0x253d25='UPDATE';const _0x47a1c0=_0x5273ba[_0x3407d7(0x21f)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4584ce=_0x47a1c0?_0x47a1c0[0x1]:null;}else{if(_0x3f6f67[_0x3407d7(0x265)]('DELETE')){_0x253d25='DELETE';const _0x19288d=_0x5273ba['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4584ce=_0x19288d?_0x19288d[0x1]:null;}else{if(_0x3f6f67['startsWith']('BEGIN')||_0x3f6f67['startsWith'](_0x59352f['qzpKn']))_0x253d25='TRANSACTION_BEGIN';else{if(_0x3f6f67[_0x3407d7(0x265)](_0x3407d7(0x25e)))_0x253d25=_0x59352f['sqiDL'];else{if(_0x3f6f67['startsWith'](_0x59352f[_0x3407d7(0x1cd)]))_0x253d25=_0x3407d7(0x207);else{if(_0x3f6f67[_0x3407d7(0x265)](_0x3407d7(0x220)))_0x253d25=_0x59352f[_0x3407d7(0x1cb)];else{if(_0x3f6f67[_0x3407d7(0x265)]('ALTER'))_0x253d25=_0x59352f[_0x3407d7(0x232)];else _0x3f6f67['startsWith']('DROP')&&(_0x253d25=_0x59352f['JiprA']);}}}}}}}}return{'type':_0x253d25,'table':_0x4584ce};},startQueryTimer=()=>{const _0x69c77e=a0_0x34da1d,_0x1a2d52={'RUQVk':function(_0x432a3c,_0xc447be){return _0x432a3c(_0xc447be);},'xbpZW':function(_0x486ab9,_0xe5bc80){return _0x486ab9*_0xe5bc80;}},_0x353bf0=process[_0x69c77e(0x1f2)]();return()=>{const _0x203200=_0x69c77e,[_0x3b9db2,_0x3fcde3]=process['hrtime'](_0x353bf0);return _0x1a2d52['RUQVk'](parseFloat,(_0x1a2d52[_0x203200(0x1f1)](_0x3b9db2,0x3e8)+_0x3fcde3/0xf4240)['toFixed'](0x2));};},logQuery=(_0x39f6f2,_0x46c9f1=[],_0x349a8c={})=>{const _0x25203f=a0_0x34da1d,_0x1bc54c={'tZtvH':_0x25203f(0x1d8),'lKafO':_0x25203f(0x26d),'hZmct':function(_0xee15c2,_0x5d9583){return _0xee15c2>_0x5d9583;},'IsUVT':function(_0x2e9151,_0x567e16){return _0x2e9151!==_0x567e16;},'oqCoc':'debug','EfeDx':'\x20[SLOW]','lsIQN':function(_0x347296,_0x5e7279){return _0x347296===_0x5e7279;}};if(!sqlLogEnabled){logger['debug']({'event':'db_query','query':_0x39f6f2['substring'](0x0,0xc8),'paramCount':_0x46c9f1['length']},_0x1bc54c['tZtvH']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x1bc54c['lKafO']}=_0x349a8c,{type:_0x25878e,table:_0x426bef}=parseQueryMetadata(_0x39f6f2),_0x2d702c={'event':_0x25203f(0x247),'queryType':_0x25878e,'table':_0x426bef,'query':_0x39f6f2,'paramCount':_0x46c9f1[_0x25203f(0x223)],'dbType':dbType};sqlLogParams&&_0x46c9f1[_0x25203f(0x223)]>0x0&&(_0x2d702c[_0x25203f(0x27d)]=redactSensitiveParams(_0x46c9f1,_0x39f6f2));duration!==null&&(_0x2d702c[_0x25203f(0x245)]=duration,_0x2d702c['isSlow']=_0x1bc54c['hZmct'](duration,sqlLogSlowThreshold));_0x1bc54c[_0x25203f(0x234)](rowsAffected,null)&&(_0x2d702c['rowsAffected']=rowsAffected);const _0x32299a=_0x426bef||_0x25203f(0x23c);let _0x28d1fc='['+_0x25878e+']\x20'+_0x32299a;duration!==null&&(_0x28d1fc+='\x20('+duration+_0x25203f(0x237));const _0x3edad8=_0x1bc54c[_0x25203f(0x234)](duration,null)&&duration>sqlLogSlowThreshold;let _0x578a79=_0x1bc54c[_0x25203f(0x226)];if(_0x3edad8)_0x28d1fc+=_0x1bc54c[_0x25203f(0x25c)],_0x578a79=_0x25203f(0x200),logger['warn'](_0x2d702c,_0x28d1fc);else _0x1bc54c['lsIQN'](sqlLogLevel,'info')?(_0x578a79=_0x25203f(0x211),logger[_0x25203f(0x211)](_0x2d702c,_0x28d1fc)):logger[_0x25203f(0x259)](_0x2d702c,_0x28d1fc);writeToFileLog({..._0x2d702c,'level':_0x578a79,'msg':_0x28d1fc,'time':new Date()['toISOString']()},_0x578a79);},logTransaction=(_0x498f0d,_0xb24227)=>{const _0x380c25=a0_0x34da1d,_0x1a2c61={'WHeND':'debug'},_0x1890e5={'event':_0x380c25(0x276),'status':_0x498f0d,'queryCount':_0xb24227},_0x2048df='Transaction\x20'+_0x498f0d;logger['debug'](_0x1890e5,_0x2048df),writeToFileLog({..._0x1890e5,'level':_0x1a2c61['WHeND'],'msg':_0x2048df,'time':new Date()['toISOString']()},'debug');},redactObject=_0x1aa31f=>{const _0x3dfc2c=a0_0x34da1d,_0x2836b8={'bsJfC':function(_0x2cb0af,_0x21b68f){return _0x2cb0af!==_0x21b68f;},'diZUO':_0x3dfc2c(0x20d),'ebZOt':'password','tEUTa':'passwd','htALL':_0x3dfc2c(0x25d),'fPIle':_0x3dfc2c(0x1e0),'LogZx':_0x3dfc2c(0x21b),'ppSUo':_0x3dfc2c(0x24d),'qErwz':'ssn','DcwdY':'pin','NNiTi':'privatekey','rDKBH':'refresh_token'};if(!_0x1aa31f||_0x2836b8[_0x3dfc2c(0x279)](typeof _0x1aa31f,_0x2836b8[_0x3dfc2c(0x24a)]))return _0x1aa31f;const _0x2bb1ea=[_0x2836b8[_0x3dfc2c(0x1d5)],_0x2836b8[_0x3dfc2c(0x1ed)],_0x2836b8[_0x3dfc2c(0x282)],_0x2836b8['fPIle'],_0x3dfc2c(0x216),_0x3dfc2c(0x219),_0x2836b8[_0x3dfc2c(0x202)],_0x3dfc2c(0x1c3),'creditcard',_0x3dfc2c(0x208),_0x2836b8['ppSUo'],_0x2836b8['qErwz'],_0x2836b8['DcwdY'],_0x3dfc2c(0x1e7),_0x2836b8['NNiTi'],_0x2836b8['rDKBH'],_0x3dfc2c(0x1d4)],_0x1d6ef0=Array[_0x3dfc2c(0x1be)](_0x1aa31f)?[..._0x1aa31f]:{..._0x1aa31f};for(const _0x3baaa5 of Object[_0x3dfc2c(0x1fb)](_0x1d6ef0)){const _0x2f9358=_0x3baaa5['toLowerCase']();if(_0x2bb1ea[_0x3dfc2c(0x213)](_0x1ba869=>_0x2f9358[_0x3dfc2c(0x239)](_0x1ba869)))_0x1d6ef0[_0x3baaa5]=_0x3dfc2c(0x24f);else typeof _0x1d6ef0[_0x3baaa5]==='object'&&_0x2836b8['bsJfC'](_0x1d6ef0[_0x3baaa5],null)&&(_0x1d6ef0[_0x3baaa5]=redactObject(_0x1d6ef0[_0x3baaa5]));}return _0x1d6ef0;},logError=(_0xf434c3,_0x9ac847={},_0x1aad26=null)=>{const _0x356ad5=a0_0x34da1d,_0x5d9b69={'pJGYG':_0x356ad5(0x249)},_0x3586d6={'event':_0x356ad5(0x249),'errorName':_0xf434c3[_0x356ad5(0x22d)]||'Error','errorMessage':_0xf434c3['message'],'errorCode':_0xf434c3['code']||null,'stack':_0xf434c3[_0x356ad5(0x206)],..._0x9ac847},_0x2db409=_0x1aad26||_0x356ad5(0x27b)+_0xf434c3['message'];logger[_0x356ad5(0x249)](_0x3586d6,_0x2db409),writeToFileLog({..._0x3586d6,'level':_0x356ad5(0x249),'msg':_0x2db409,'time':new Date()['toISOString']()},_0x5d9b69[_0x356ad5(0x231)]);},logFatalError=(_0x1e1aa9,_0x4cad8e={},_0x2ab8a6=null)=>{const _0x4e8060=a0_0x34da1d,_0x4fffe4={'vubEq':'fatal_error','fDXwH':_0x4e8060(0x244),'sRjDW':_0x4e8060(0x1ea),'rOTpG':function(_0x2952da,_0x4d4d9f,_0x187e03){return _0x2952da(_0x4d4d9f,_0x187e03);},'KIaka':'fatal','mpjXZ':'error'},_0xadaa17={'event':_0x4fffe4[_0x4e8060(0x26c)],'errorName':_0x1e1aa9['name']||_0x4fffe4['fDXwH'],'errorMessage':_0x1e1aa9[_0x4e8060(0x1c1)],'errorCode':_0x1e1aa9[_0x4e8060(0x254)]||null,'stack':_0x1e1aa9['stack'],'severity':_0x4fffe4['sRjDW'],..._0x4cad8e},_0xbf79fd=_0x2ab8a6||'FATAL:\x20'+_0x1e1aa9['message'];logger['fatal'](_0xadaa17,_0xbf79fd),_0x4fffe4[_0x4e8060(0x1fc)](writeToFileLog,{..._0xadaa17,'level':_0x4fffe4[_0x4e8060(0x22e)],'msg':_0xbf79fd,'time':new Date()['toISOString']()},_0x4fffe4[_0x4e8060(0x272)]);},logHttpError=(_0x434374,_0x4e403f,_0x30699a={})=>{const _0x42abc9=a0_0x34da1d,_0xdaa942={'CYHNh':_0x42abc9(0x24e),'PATpM':'error','pGqya':'warn'},_0x441ca3={'event':_0xdaa942['CYHNh'],'errorName':_0x434374[_0x42abc9(0x22d)]||'Error','errorMessage':_0x434374['message'],'errorCode':_0x434374['code']||_0x434374[_0x42abc9(0x1cc)]||0x1f4,'stack':_0x434374[_0x42abc9(0x206)],'method':_0x4e403f?.['method'],'url':_0x4e403f?.['url']||_0x4e403f?.[_0x42abc9(0x21a)],'path':_0x4e403f?.['path'],'ip':_0x4e403f?.['ip']||_0x4e403f?.['connection']?.[_0x42abc9(0x20e)],'userAgent':_0x4e403f?.[_0x42abc9(0x20c)]?.('user-agent'),'requestId':_0x4e403f?.['id']||_0x4e403f?.['headers']?.[_0x42abc9(0x1ca)],'body':_0x4e403f?.['body']?redactObject(_0x4e403f[_0x42abc9(0x26f)]):undefined,'query':_0x4e403f?.['query'],..._0x30699a},_0x446fa9=_0x434374['statusCode']||_0x434374[_0x42abc9(0x236)]||0x1f4,_0x17bb9a='HTTP\x20'+_0x446fa9+':\x20'+_0x434374['message'];_0x446fa9>=0x1f4?logger['error'](_0x441ca3,_0x17bb9a):logger['warn'](_0x441ca3,_0x17bb9a),writeToFileLog({..._0x441ca3,'level':_0x446fa9>=0x1f4?_0xdaa942[_0x42abc9(0x24c)]:_0x42abc9(0x200),'msg':_0x17bb9a,'time':new Date()['toISOString']()},_0x446fa9>=0x1f4?_0xdaa942['PATpM']:_0xdaa942[_0x42abc9(0x20b)]);},logUncaughtError=(_0x29d910,_0x108280)=>{const _0x3b6fe9=a0_0x34da1d,_0x967905={'MuKmx':function(_0x576a95,_0x1dd2ed){return _0x576a95(_0x1dd2ed);},'YpVEn':'CRITICAL','oSbQk':function(_0x4ec9a8,_0x3b6818,_0x4f303f){return _0x4ec9a8(_0x3b6818,_0x4f303f);},'FkDVk':'fatal','VbzUm':_0x3b6fe9(0x249)},_0x566091={'event':_0x29d910,'errorName':_0x108280?.['name']||_0x3b6fe9(0x244),'errorMessage':_0x108280?.['message']||_0x967905[_0x3b6fe9(0x240)](String,_0x108280),'errorCode':_0x108280?.['code']||null,'stack':_0x108280?.['stack'],'severity':_0x967905['YpVEn'],'processId':process['pid'],'memoryUsage':process[_0x3b6fe9(0x23d)](),'uptime':process['uptime']()},_0x1c8a87='['+_0x29d910['toUpperCase']()+']\x20'+(_0x108280?.[_0x3b6fe9(0x1c1)]||_0x108280);logger['fatal'](_0x566091,_0x1c8a87),_0x967905[_0x3b6fe9(0x1dd)](writeToFileLog,{..._0x566091,'level':_0x967905[_0x3b6fe9(0x253)],'msg':_0x1c8a87,'time':new Date()[_0x3b6fe9(0x222)]()},_0x967905['VbzUm']);},setupGlobalErrorHandlers=()=>{const _0x3e0d49=a0_0x34da1d,_0x203ad8={'LNWVE':function(_0x208d58,_0x1290c9,_0x21c3ce){return _0x208d58(_0x1290c9,_0x21c3ce);},'NSoKT':'uncaughtException','VnzUb':function(_0x46869c,_0x88fbdc,_0x4b51d7){return _0x46869c(_0x88fbdc,_0x4b51d7);},'xSljD':function(_0x377454,_0x5276ac,_0x7aa1c6){return _0x377454(_0x5276ac,_0x7aa1c6);},'wZJzh':_0x3e0d49(0x1ff)};process['on'](_0x203ad8['NSoKT'],_0x4d570a=>{_0x203ad8['LNWVE'](logUncaughtError,_0x203ad8['NSoKT'],_0x4d570a),_0x203ad8['VnzUb'](setTimeout,()=>{const _0x4e6105=a0_0x3bbe;process[_0x4e6105(0x281)](0x1);},0x3e8);}),process['on'](_0x203ad8['wZJzh'],(_0x34217c,_0x448d11)=>{const _0x1a725e=_0x3e0d49,_0x2dfc7e=_0x34217c instanceof Error?_0x34217c:new Error(String(_0x34217c));_0x203ad8[_0x1a725e(0x27f)](logUncaughtError,_0x203ad8[_0x1a725e(0x1dc)],_0x2dfc7e);}),process['on'](_0x3e0d49(0x257),_0xefd543=>{const _0x20f32f=_0x3e0d49;logger[_0x20f32f(0x200)]({'event':'process_warning','name':_0xefd543[_0x20f32f(0x22d)],'message':_0xefd543[_0x20f32f(0x1c1)],'stack':_0xefd543[_0x20f32f(0x206)]},'Process\x20Warning:\x20'+_0xefd543[_0x20f32f(0x1c1)]);});const _0x438768={'event':'global_error_handlers_setup'},_0x38540f=_0x3e0d49(0x1fe);logger['info'](_0x438768,_0x38540f),writeToFileLog({..._0x438768,'level':_0x3e0d49(0x211),'msg':_0x38540f,'time':new Date()[_0x3e0d49(0x222)]()},_0x3e0d49(0x211));},createErrorHandlerMiddleware=()=>{const _0x2210ad=a0_0x34da1d,_0x15d6e1={'LYcgs':function(_0x5f1fcf,_0x4cb138){return _0x5f1fcf>=_0x4cb138;},'XBVQK':'Internal\x20server\x20error','dcyIM':_0x2210ad(0x1ca)};return(_0x3503b8,_0x3d1570,_0x1bc491,_0x26930b)=>{const _0x106bc8=_0x2210ad;logHttpError(_0x3503b8,_0x3d1570);const _0x4bb468=_0x3503b8['statusCode']||_0x3503b8['status']||0x1f4;_0x1bc491['status'](_0x4bb468)[_0x106bc8(0x20a)]({'success':![],'error':_0x15d6e1['LYcgs'](_0x4bb468,0x1f4)?_0x15d6e1[_0x106bc8(0x1de)]:_0x3503b8['message'],'requestId':_0x3d1570['id']||_0x3d1570['headers']?.[_0x15d6e1['dcyIM']]||null});};};module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x99821b=a0_0x39f1;(function(_0x3aae49,_0xa11e56){const _0x4af3ac=a0_0x39f1,_0xf39509=_0x3aae49();while(!![]){try{const _0x454e37=-parseInt(_0x4af3ac(0x141))/0x1*(-parseInt(_0x4af3ac(0x14f))/0x2)+parseInt(_0x4af3ac(0x14b))/0x3+parseInt(_0x4af3ac(0x150))/0x4+-parseInt(_0x4af3ac(0x135))/0x5+parseInt(_0x4af3ac(0x15e))/0x6*(-parseInt(_0x4af3ac(0x13b))/0x7)+parseInt(_0x4af3ac(0x137))/0x8+-parseInt(_0x4af3ac(0x146))/0x9;if(_0x454e37===_0xa11e56)break;else _0xf39509['push'](_0xf39509['shift']());}catch(_0x2dd1a4){_0xf39509['push'](_0xf39509['shift']());}}}(a0_0x51d5,0x7b93e));const dbType=(process[a0_0x99821b(0x139)][a0_0x99821b(0x15f)]||'postgresql')['toLowerCase']();function a0_0x39f1(_0x3c0954,_0x385688){_0x3c0954=_0x3c0954-0x130;const _0x51d5c6=a0_0x51d5();let _0x39f112=_0x51d5c6[_0x3c0954];if(a0_0x39f1['cVobnP']===undefined){var _0x56153d=function(_0x11d370){const _0x131cf3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xa320ea='',_0x1f6015='';for(let _0x3bb354=0x0,_0x22a4fb,_0x20200a,_0x2772e9=0x0;_0x20200a=_0x11d370['charAt'](_0x2772e9++);~_0x20200a&&(_0x22a4fb=_0x3bb354%0x4?_0x22a4fb*0x40+_0x20200a:_0x20200a,_0x3bb354++%0x4)?_0xa320ea+=String['fromCharCode'](0xff&_0x22a4fb>>(-0x2*_0x3bb354&0x6)):0x0){_0x20200a=_0x131cf3['indexOf'](_0x20200a);}for(let _0x20fd1e=0x0,_0x467344=_0xa320ea['length'];_0x20fd1e<_0x467344;_0x20fd1e++){_0x1f6015+='%'+('00'+_0xa320ea['charCodeAt'](_0x20fd1e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f6015);};a0_0x39f1['uQbQZC']=_0x56153d,a0_0x39f1['BujfDh']={},a0_0x39f1['cVobnP']=!![];}const _0x3e3ce3=_0x51d5c6[0x0],_0x24864a=_0x3c0954+_0x3e3ce3,_0x24c8af=a0_0x39f1['BujfDh'][_0x24864a];return!_0x24c8af?(_0x39f112=a0_0x39f1['uQbQZC'](_0x39f112),a0_0x39f1['BujfDh'][_0x24864a]=_0x39f112):_0x39f112=_0x24c8af,_0x39f112;}let executeQuery;if(dbType==='oracle'){const oracleDb=require(a0_0x99821b(0x13e));executeQuery=(_0x250f3b,_0x4840ee)=>oracleDb[a0_0x99821b(0x15d)](_0x250f3b,_0x4840ee);}else{if(dbType==='mysql'){const mysqlDb=require(a0_0x99821b(0x152));executeQuery=(_0x836a55,_0x3566e7)=>mysqlDb['executeQuery'](_0x836a55,_0x3566e7);}else executeQuery=require('./db')['executeQuery'];}function a0_0x51d5(){const _0x34e26f=['ndq5mJi2ouXAA0jIwa','CMvZB2X2zuXVB2T1CfzHBhvL','y2XLyxjdywnOzq','vMfSDwuGiG','C2XPy2u','mZu4nZuYEhrxugHK','ywrK','Dg9vChbLCKnHC2u','vNDnDeG','mtuYodrjC2HRA2S','mtK5nJaZmMjADu9HuW','BgvUz3rO','lI9KyI1TExnXBa','C2v0','ChjVy2vZC0XVB2T1CezPzwXKCW','tKfxy1u','zM9YrwfJAa','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq','AgfZ','u0vmrunuia','tg9VA3vWignHy2HLignSzwfYzwq','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','zNjVBq','zxHLy3v0zvf1zxj5','mZi5nZe5ohH4v3DHEG','rejFvfLqrq','Bg9HzeXVB2T1CfrHyMXL','BLHUBfu','tMvPu2e','lI9SB2DNzxi','DhjPBq','z2v0rgLZDgLUy3rwywX1zxm','yKPiCKC','BwvZC2fNzq','Bg9VA3vWq2fJAgu','nZC4ntyWzg9jC1vn','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','mZKWnJaWmfzIzfjmuW','A2v5CW','zw52','ChvZAa','n3nMywncvq','y2XLyxi','Aw5MBW','lI9KyI1VCMfJBgu','z2v0','z2XYr24','nZLMsuLJyMW','vKjWvxq','zgvIDwC','A0j0wMK','sMXxy3G'];a0_0x51d5=function(){return _0x34e26f;};return a0_0x51d5();}const {logger}=require(a0_0x99821b(0x163));class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x99821b(0x148)](){const _0x19b6db=a0_0x99821b,_0x418eb6={'NeiSa':'lookup_cache_cleared'};this[_0x19b6db(0x134)][_0x19b6db(0x13c)](),logger[_0x19b6db(0x143)]({'event':_0x418eb6[_0x19b6db(0x162)]},_0x19b6db(0x15a));}async[a0_0x99821b(0x160)](_0x184bcc,_0x228e44,_0x199c7b){const _0x2478a8=a0_0x99821b,_0x63619f={'glrGn':function(_0x38af38,_0x8607e8){return _0x38af38!==_0x8607e8;},'JlWcx':function(_0x271513,_0x2bf422){return _0x271513(_0x2bf422);}},_0x49c31c=_0x184bcc+':'+_0x228e44+':'+_0x199c7b;if(this[_0x2478a8(0x134)]['has'](_0x49c31c))return this[_0x2478a8(0x134)][_0x2478a8(0x13f)](_0x49c31c);try{const _0x27ec18=_0x2478a8(0x159)+_0x199c7b+',\x20'+_0x228e44+'\x20FROM\x20'+_0x184bcc,_0x2269df=await executeQuery(_0x27ec18),_0x27089e=new Map();return _0x2269df[_0x2478a8(0x156)](_0x4c414b=>{const _0x665669=_0x2478a8,_0x3c7e28=_0x4c414b[_0x228e44]!==undefined?_0x4c414b[_0x228e44]:_0x4c414b[_0x228e44[_0x665669(0x14d)]()],_0x63140f=_0x63619f['glrGn'](_0x4c414b[_0x199c7b],undefined)?_0x4c414b[_0x199c7b]:_0x4c414b[_0x199c7b[_0x665669(0x14d)]()];_0x63619f['glrGn'](_0x3c7e28,null)&&_0x63619f[_0x665669(0x140)](_0x3c7e28,undefined)&&(_0x27089e[_0x665669(0x153)](_0x63619f[_0x665669(0x145)](String,_0x3c7e28)['toLowerCase']()[_0x665669(0x130)](),_0x63140f),_0x27089e['set'](String(_0x3c7e28)[_0x665669(0x130)](),_0x63140f));}),this['lookupCache'][_0x2478a8(0x153)](_0x49c31c,_0x27089e),logger[_0x2478a8(0x13d)]({'event':'lookup_table_loaded','table':_0x184bcc,'column':_0x228e44,'count':_0x2269df['length']},'Lookup\x20table\x20loaded:\x20'+_0x184bcc),_0x27089e;}catch(_0xaf7af8){logger['error']({'event':_0x2478a8(0x136),'table':_0x184bcc,'error':_0xaf7af8[_0x2478a8(0x133)]},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x184bcc);throw _0xaf7af8;}}['resolveLookupValue'](_0x28612c,_0x54b270){const _0x318373=a0_0x99821b;if(_0x28612c===null||_0x28612c===undefined||_0x28612c==='')return null;const _0x1847e8=String(_0x28612c)[_0x318373(0x130)]();if(_0x54b270[_0x318373(0x158)](_0x1847e8))return _0x54b270[_0x318373(0x13f)](_0x1847e8);const _0x2ce691=_0x1847e8['toLowerCase']();if(_0x54b270['has'](_0x2ce691))return _0x54b270['get'](_0x2ce691);return null;}async[a0_0x99821b(0x154)](_0x116b77,_0x2ffae7){const _0x1d1626=a0_0x99821b,_0x3ec064={'NAWcU':function(_0x2cdcfc,_0x14c995){return _0x2cdcfc===_0x14c995;},'LBBmZ':function(_0x30f692,_0x354d94){return _0x30f692===_0x354d94;},'BuzZj':function(_0x2fd77a,_0x5ae4ce){return _0x2fd77a!==_0x5ae4ce;},'VwMtH':_0x1d1626(0x157)};if(!_0x2ffae7||Object['keys'](_0x2ffae7)[_0x1d1626(0x151)]===0x0)return{'processedRows':_0x116b77,'errors':[]};const _0x2bc941=[],_0x4ea937=new Map();for(const [_0x5300d7,_0x350c1a]of Object['entries'](_0x2ffae7)){const {lookupTable:_0x106bee,lookupColumn:_0x29cda5,lookupIdColumn:_0x5f1919}=_0x350c1a,_0x23b201=_0x106bee+':'+_0x29cda5+':'+_0x5f1919;if(!_0x4ea937['has'](_0x23b201)){const _0x24999c=await this['loadLookupTable'](_0x106bee,_0x29cda5,_0x5f1919);_0x4ea937[_0x1d1626(0x153)](_0x23b201,_0x24999c);}}const _0x3b3d85=_0x116b77['map']((_0x368da3,_0x29f954)=>{const _0x16e38c=_0x1d1626,_0x588bc1={..._0x368da3};for(const [_0x44823b,_0x144b2a]of Object['entries'](_0x2ffae7)){const {lookupTable:_0x349497,lookupColumn:_0x57ec30,lookupIdColumn:_0x116348,targetField:_0x5af259,required:_0x1f5254}=_0x144b2a,_0x200456=_0x349497+':'+_0x57ec30+':'+_0x116348,_0x124d22=_0x4ea937['get'](_0x200456),_0x3596f0=_0x368da3[_0x44823b];if((_0x3ec064[_0x16e38c(0x155)](_0x3596f0,null)||_0x3ec064['LBBmZ'](_0x3596f0,undefined)||_0x3ec064['NAWcU'](_0x3596f0,''))&&!_0x1f5254){_0x588bc1[_0x5af259]=null;continue;}const _0x501165=this[_0x16e38c(0x147)](_0x3596f0,_0x124d22);_0x3ec064['BuzZj'](_0x501165,null)?_0x588bc1[_0x5af259]=_0x501165:(_0x1f5254&&_0x2bc941['push']({'rowIndex':_0x29f954,'field':_0x44823b,'value':_0x3596f0,'targetField':_0x5af259,'lookupTable':_0x349497,'message':_0x16e38c(0x149)+_0x3596f0+'\x22\x20not\x20found\x20in\x20'+_0x349497}),_0x588bc1[_0x5af259]=null);}return _0x588bc1;});return logger['info']({'event':_0x1d1626(0x15b),'totalRows':_0x116b77['length'],'errorCount':_0x2bc941[_0x1d1626(0x151)],'lookupFieldCount':Object['keys'](_0x2ffae7)[_0x1d1626(0x151)]},_0x3ec064[_0x1d1626(0x14e)]),{'processedRows':_0x3b3d85,'errors':_0x2bc941};}[a0_0x99821b(0x131)](_0x4e9819,_0x317af7){const _0x9f1971=a0_0x99821b,_0x2174bf={'bJHrG':function(_0xca08a3,_0x8cd8e){return _0xca08a3!==_0x8cd8e;},'VBpUt':function(_0x45ade2,_0x9ccde){return _0x45ade2!==_0x9ccde;},'PGCZO':function(_0x5eb937,_0x38a6eb){return _0x5eb937(_0x38a6eb);}},_0x3cddad=new Set();return _0x4e9819[_0x9f1971(0x156)](_0x459a6b=>{const _0xcb6b00=_0x9f1971,_0x6ef3ba=_0x459a6b[_0x317af7];_0x6ef3ba!==null&&_0x2174bf[_0xcb6b00(0x132)](_0x6ef3ba,undefined)&&_0x2174bf[_0xcb6b00(0x142)](_0x6ef3ba,'')&&_0x3cddad[_0xcb6b00(0x14c)](_0x2174bf['PGCZO'](String,_0x6ef3ba)[_0xcb6b00(0x130)]());}),Array[_0x9f1971(0x15c)](_0x3cddad);}async['validateLookupValues'](_0x3d7eb9,_0x31919f){const _0xba47cb=a0_0x99821b,_0xf7f55b={'nXnlU':function(_0x2d453c,_0x51a753){return _0x2d453c===_0x51a753;},'kBtZi':function(_0x579711,_0x51682a){return _0x579711>_0x51682a;}};if(!_0x31919f||_0xf7f55b['nXnlU'](Object[_0xba47cb(0x138)](_0x31919f)[_0xba47cb(0x151)],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x29b9a0=[],_0x318f2c={};for(const [_0x101c39,_0x36169a]of Object['entries'](_0x31919f)){const {lookupTable:_0x29eb95,lookupColumn:_0x1c50c1,lookupIdColumn:_0x18e42e,required:_0x4b32cf}=_0x36169a,_0x57f0b6=this['getDistinctValues'](_0x3d7eb9,_0x101c39),_0x5936d9=await this['loadLookupTable'](_0x29eb95,_0x1c50c1,_0x18e42e),_0x564935=[],_0x63e55e=[];_0x57f0b6[_0xba47cb(0x156)](_0x115c79=>{const _0x446eb5=_0xba47cb,_0x30b05b=this['resolveLookupValue'](_0x115c79,_0x5936d9);_0x30b05b!==null?_0x63e55e['push'](_0x115c79):_0x564935[_0x446eb5(0x13a)](_0x115c79);});if(_0xf7f55b[_0xba47cb(0x144)](_0x564935[_0xba47cb(0x151)],0x0)&&_0x4b32cf){_0x29b9a0[_0xba47cb(0x13a)]({'field':_0x101c39,'lookupTable':_0x29eb95,'invalidValues':_0x564935,'message':_0x564935[_0xba47cb(0x151)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0x29eb95});const _0x376e9e=[];_0x5936d9['forEach']((_0x4be1fc,_0xcbe9bd)=>{const _0x5b36cd=_0xba47cb;if(_0xcbe9bd===_0xcbe9bd['toLowerCase']())return;_0x376e9e[_0x5b36cd(0x13a)](_0xcbe9bd);}),_0x318f2c[_0x101c39]={'invalidValues':_0x564935,'availableValues':_0x376e9e[_0xba47cb(0x14a)](0x0,0x32)};}}return{'valid':_0xf7f55b[_0xba47cb(0x161)](_0x29b9a0['length'],0x0),'errors':_0x29b9a0,'suggestions':_0x318f2c};}}module['exports']=new LookupResolver();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a0_0x9b9e39=a0_0x1616;function a0_0x1616(_0x5a2127,_0x32693b){_0x5a2127=_0x5a2127-0x13f;const _0x3dc95d=a0_0x3dc9();let _0x1616eb=_0x3dc95d[_0x5a2127];if(a0_0x1616['vbhECx']===undefined){var _0x28ebe7=function(_0x122cde){const _0x5b4dfe='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e05a9='',_0x91c72a='';for(let _0xbbbc74=0x0,_0x42d3a9,_0x557a6d,_0x852ee4=0x0;_0x557a6d=_0x122cde['charAt'](_0x852ee4++);~_0x557a6d&&(_0x42d3a9=_0xbbbc74%0x4?_0x42d3a9*0x40+_0x557a6d:_0x557a6d,_0xbbbc74++%0x4)?_0x2e05a9+=String['fromCharCode'](0xff&_0x42d3a9>>(-0x2*_0xbbbc74&0x6)):0x0){_0x557a6d=_0x5b4dfe['indexOf'](_0x557a6d);}for(let _0x332d1c=0x0,_0x3e6def=_0x2e05a9['length'];_0x332d1c<_0x3e6def;_0x332d1c++){_0x91c72a+='%'+('00'+_0x2e05a9['charCodeAt'](_0x332d1c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x91c72a);};a0_0x1616['rzoshu']=_0x28ebe7,a0_0x1616['QDwRsI']={},a0_0x1616['vbhECx']=!![];}const _0x3192d3=_0x3dc95d[0x0],_0x48e1cd=_0x5a2127+_0x3192d3,_0x3b849a=a0_0x1616['QDwRsI'][_0x48e1cd];return!_0x3b849a?(_0x1616eb=a0_0x1616['rzoshu'](_0x1616eb),a0_0x1616['QDwRsI'][_0x48e1cd]=_0x1616eb):_0x1616eb=_0x3b849a,_0x1616eb;}function a0_0x3dc9(){const _0x5d8a2a=['y2XLyxjdywnOzq','mtCXotHzzLjWzgK','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','ndqWmgzSAezYEa','CMvHzezPBgu','zMLLBgroyw1L','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','odD0AwD5z2C','y29SDw1UrM9YBwf0CW','lMPZB24','zMLLBgrmywjLBhm','mtGZntq0DLrLCg9Y','DgfIBgvoyw1L','sMfmA2S','CMPdwMK','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','AgfZ','nZi0odC0nhP5tK5NuG','CgfYC2u','BwvZC2fNzq','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','mJmWodC4mMvsEK1UAq','y2fJAgu','Axnby3rPB25fBMfIBgvK','Cgf0Aa','Bufjuw8','zgvIDwC','DxrMoa','lI4VlI4VCgf5Bg9Hza','ugf5Bg9HzcbUB3qGzM91BMq6ia','zxHWB3j0CW','AM9PBG','lwv4Cg9YDa','DgvAsMy','mtm3odvvvxzqBLe','mZa5mgvhDhPWCG','zgf0yxrHyMXLC1f1zxj5','Cgf5Bg9Hzf9SB2fKzwq','mtG2otuYzg9OBvHX','ywn0Aw9U','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK'];a0_0x3dc9=function(){return _0x5d8a2a;};return a0_0x3dc9();}(function(_0x86dcdc,_0x2398d7){const _0x5b91bd=a0_0x1616,_0x739762=_0x86dcdc();while(!![]){try{const _0x4ef64f=-parseInt(_0x5b91bd(0x143))/0x1+-parseInt(_0x5b91bd(0x14b))/0x2*(-parseInt(_0x5b91bd(0x151))/0x3)+parseInt(_0x5b91bd(0x155))/0x4+-parseInt(_0x5b91bd(0x14d))/0x5*(parseInt(_0x5b91bd(0x144))/0x6)+-parseInt(_0x5b91bd(0x15f))/0x7+-parseInt(_0x5b91bd(0x147))/0x8+parseInt(_0x5b91bd(0x15b))/0x9;if(_0x4ef64f===_0x2398d7)break;else _0x739762['push'](_0x739762['shift']());}catch(_0x26c8e5){_0x739762['push'](_0x739762['shift']());}}}(a0_0x3dc9,0x447ad));const fs=require('fs')['promises'],path=require(a0_0x9b9e39(0x162)),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x5a7bd3=a0_0x9b9e39;this['payloadDir']=path[_0x5a7bd3(0x140)](__dirname,_0x5a7bd3(0x166)),this['cache']=new Map();}async['loadPayload'](_0x57e956,_0x30f40b){const _0x580ee6=a0_0x9b9e39,_0x5c398e={'JaLkk':_0x580ee6(0x165),'dAnOC':_0x580ee6(0x14c),'rjCZi':'Failed\x20to\x20load\x20payload'},_0x21cfa5=_0x57e956+':'+_0x30f40b;if(this['cache']['has'](_0x21cfa5))return this['cache']['get'](_0x21cfa5);const _0x3b3fea=path['join'](this['payloadDir'],_0x57e956+'_'+_0x30f40b+_0x580ee6(0x153));try{const _0x97a3a6=await fs['readFile'](_0x3b3fea,_0x5c398e[_0x580ee6(0x157)]),_0x37e647=JSON[_0x580ee6(0x15c)](_0x97a3a6);return this[_0x580ee6(0x160)]['set'](_0x21cfa5,_0x37e647),logger[_0x580ee6(0x164)]({'event':_0x580ee6(0x146),'project':_0x57e956,'resource':_0x30f40b},_0x580ee6(0x159)),_0x37e647;}catch(_0x47054a){logger['error']({'event':_0x5c398e['dAnOC'],'project':_0x57e956,'resource':_0x30f40b,'error':_0x47054a[_0x580ee6(0x15d)]},_0x5c398e[_0x580ee6(0x158)]);throw new Error('Payload\x20not\x20found:\x20'+_0x57e956+'_'+_0x30f40b);}}async['loadPayloadByName'](_0x1e1c64){const _0x35b4d3=a0_0x9b9e39,_0x167980={'rjdqk':_0x35b4d3(0x146),'teZJf':'payload_load_error','mAIQo':_0x35b4d3(0x150)},_0x326ef6='payload:'+_0x1e1c64;if(this['cache'][_0x35b4d3(0x15a)](_0x326ef6))return this['cache']['get'](_0x326ef6);const _0x584d2c=path['join'](this['payloadDir'],_0x1e1c64+_0x35b4d3(0x153));try{const _0x5daf9a=await fs[_0x35b4d3(0x14e)](_0x584d2c,'utf8'),_0x27b4f7=JSON['parse'](_0x5daf9a);return this['cache']['set'](_0x326ef6,_0x27b4f7),logger['debug']({'event':_0x167980['rjdqk'],'payloadName':_0x1e1c64},'Payload\x20loaded\x20successfully\x20by\x20name'),_0x27b4f7;}catch(_0x2b8f99){logger['error']({'event':_0x167980[_0x35b4d3(0x142)],'payloadName':_0x1e1c64,'error':_0x2b8f99['message']},_0x167980[_0x35b4d3(0x163)]);throw new Error(_0x35b4d3(0x167)+_0x1e1c64);}}[a0_0x9b9e39(0x161)](_0x2503ea,_0x440a8d){const _0x33e682=a0_0x9b9e39,_0x2af634={'PwMzv':function(_0x4651c3,_0x45653b){return _0x4651c3===_0x45653b;}};return _0x2503ea['action']&&_0x2af634['PwMzv'](_0x2503ea[_0x33e682(0x148)][_0x440a8d],!![]);}['getExportConfig'](_0xbe538b){const _0x718bf6=a0_0x9b9e39;return{'columns':_0xbe538b[_0x718bf6(0x14f)]||[],'filename':_0xbe538b[_0x718bf6(0x156)]['replace']('.','-')+_0x718bf6(0x141),'datatablesQuery':_0xbe538b[_0x718bf6(0x145)]||null,'columnFormats':_0xbe538b[_0x718bf6(0x152)]||null,'fieldLabels':_0xbe538b[_0x718bf6(0x154)]||null};}[a0_0x9b9e39(0x14a)](){const _0x315ead=a0_0x9b9e39;this[_0x315ead(0x160)]['clear'](),logger['info']({'event':_0x315ead(0x149)},_0x315ead(0x15e));}}module[a0_0x9b9e39(0x13f)]=new PayloadLoader();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';function a0_0x2036(_0x5907aa,_0x5d4b6b){_0x5907aa=_0x5907aa-0x74;var _0x578d6f=a0_0x578d();var _0x203616=_0x578d6f[_0x5907aa];if(a0_0x2036['lDlrFP']===undefined){var _0x2a01f8=function(_0xc6ada0){var _0x119cea='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x28fd57='',_0x2d550c='';for(var _0x38269f=0x0,_0xd70e5c,_0x359e61,_0x3893b3=0x0;_0x359e61=_0xc6ada0['charAt'](_0x3893b3++);~_0x359e61&&(_0xd70e5c=_0x38269f%0x4?_0xd70e5c*0x40+_0x359e61:_0x359e61,_0x38269f++%0x4)?_0x28fd57+=String['fromCharCode'](0xff&_0xd70e5c>>(-0x2*_0x38269f&0x6)):0x0){_0x359e61=_0x119cea['indexOf'](_0x359e61);}for(var _0x55e590=0x0,_0x11dd30=_0x28fd57['length'];_0x55e590<_0x11dd30;_0x55e590++){_0x2d550c+='%'+('00'+_0x28fd57['charCodeAt'](_0x55e590)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d550c);};a0_0x2036['bUMgmb']=_0x2a01f8,a0_0x2036['fjqmuM']={},a0_0x2036['lDlrFP']=!![];}var _0xb48745=_0x578d6f[0x0],_0x2a0e0e=_0x5907aa+_0xb48745,_0x567139=a0_0x2036['fjqmuM'][_0x2a0e0e];return!_0x567139?(_0x203616=a0_0x2036['bUMgmb'](_0x203616),a0_0x2036['fjqmuM'][_0x2a0e0e]=_0x203616):_0x203616=_0x567139,_0x203616;}function a0_0x578d(){var _0x2f3a98=['Dg9ju09tDhjPBMC','mtm0mhfbDfv5sW','ndG1otqXohnuDMHhtG','ndC2odbhB1vWr00','mtaZnde5mdzNsMTrq3C','mJe5nZG2ohn5ALvpra','mJa3mLDOs3jurG','mtq5mda0A3Lgr3jV','nwjXv0H6Da','mZu2nte1neztu3fHtG','nZe3ndm1terWtMz1'];a0_0x578d=function(){return _0x2f3a98;};return a0_0x578d();}(function(_0x4a359b,_0x167b0b){var _0x2d29a4=a0_0x2036,_0x5b06a3=_0x4a359b();while(!![]){try{var _0x517005=-parseInt(_0x2d29a4(0x7c))/0x1+-parseInt(_0x2d29a4(0x7b))/0x2+parseInt(_0x2d29a4(0x74))/0x3+parseInt(_0x2d29a4(0x77))/0x4+-parseInt(_0x2d29a4(0x7a))/0x5*(-parseInt(_0x2d29a4(0x76))/0x6)+parseInt(_0x2d29a4(0x78))/0x7*(parseInt(_0x2d29a4(0x75))/0x8)+-parseInt(_0x2d29a4(0x79))/0x9*(parseInt(_0x2d29a4(0x7e))/0xa);if(_0x517005===_0x167b0b)break;else _0x5b06a3['push'](_0x5b06a3['shift']());}catch(_0x10a4fd){_0x5b06a3['push'](_0x5b06a3['shift']());}}}(a0_0x578d,0xe5248));function createResponse(_0x5668a2,_0x52da95,_0x5192e8=null){var _0x44c0e9=a0_0x2036;return{'success':!![],'statusCode':_0x5668a2,'message':_0x52da95,'data':_0x5192e8,'timestamp':new Date()[_0x44c0e9(0x7d)]()};}function createError(_0x15dae4,_0x28205d,_0x328022=null){return{'success':![],'statusCode':_0x15dae4,'message':_0x28205d,'data':_0x328022,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x46fdb8,_0x39648e){var _0x5c47f2=a0_0x2036;return{'success':![],'statusCode':0x190,'message':_0x46fdb8,'data':{'errors':_0x39648e},'timestamp':new Date()[_0x5c47f2(0x7d)]()};}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
|
package/src/utils/rabbitmq.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a0_0x5b3a(_0x112027,_0x495922){_0x112027=_0x112027-0x66;const _0x518913=a0_0x5189();let _0x5b3a40=_0x518913[_0x112027];if(a0_0x5b3a['fLZHQK']===undefined){var _0x185d28=function(_0xa0484e){const _0x585f71='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3ca09e='',_0x324c3a='';for(let _0x30e7ae=0x0,_0x5f3577,_0x27f9c0,_0x47d465=0x0;_0x27f9c0=_0xa0484e['charAt'](_0x47d465++);~_0x27f9c0&&(_0x5f3577=_0x30e7ae%0x4?_0x5f3577*0x40+_0x27f9c0:_0x27f9c0,_0x30e7ae++%0x4)?_0x3ca09e+=String['fromCharCode'](0xff&_0x5f3577>>(-0x2*_0x30e7ae&0x6)):0x0){_0x27f9c0=_0x585f71['indexOf'](_0x27f9c0);}for(let _0xeaf969=0x0,_0x27c6f3=_0x3ca09e['length'];_0xeaf969<_0x27c6f3;_0xeaf969++){_0x324c3a+='%'+('00'+_0x3ca09e['charCodeAt'](_0xeaf969)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x324c3a);};a0_0x5b3a['hwUsRl']=_0x185d28,a0_0x5b3a['mbljJM']={},a0_0x5b3a['fLZHQK']=!![];}const _0x3c6774=_0x518913[0x0],_0x10dae4=_0x112027+_0x3c6774,_0x153021=a0_0x5b3a['mbljJM'][_0x10dae4];return!_0x153021?(_0x5b3a40=a0_0x5b3a['hwUsRl'](_0x5b3a40),a0_0x5b3a['mbljJM'][_0x10dae4]=_0x5b3a40):_0x5b3a40=_0x153021,_0x5b3a40;}const a0_0x19cb35=a0_0x5b3a;(function(_0x29a00f,_0x36c50e){const _0x4ef8d0=a0_0x5b3a,_0x271bb1=_0x29a00f();while(!![]){try{const _0x444041=-parseInt(_0x4ef8d0(0x83))/0x1+-parseInt(_0x4ef8d0(0x8a))/0x2+parseInt(_0x4ef8d0(0x6e))/0x3*(parseInt(_0x4ef8d0(0x6c))/0x4)+parseInt(_0x4ef8d0(0x70))/0x5+-parseInt(_0x4ef8d0(0x7b))/0x6+-parseInt(_0x4ef8d0(0x79))/0x7*(-parseInt(_0x4ef8d0(0x7f))/0x8)+parseInt(_0x4ef8d0(0x7d))/0x9;if(_0x444041===_0x36c50e)break;else _0x271bb1['push'](_0x271bb1['shift']());}catch(_0x336369){_0x271bb1['push'](_0x271bb1['shift']());}}}(a0_0x5189,0x9895b),require(a0_0x19cb35(0x7c))['config']());const amqp=require(a0_0x19cb35(0x8c)),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process['env'][a0_0x19cb35(0x8d)],EXCHANGE=process['env'][a0_0x19cb35(0x71)],ROUTING_KEY=process['env']['RABBITMQ_ROUTING_KEY'],QUEUE=process['env'][a0_0x19cb35(0x84)];async function createConnection(){const _0x36896b=a0_0x19cb35,_0x2483a8={'npbsD':function(_0x39c424,_0x5cdb38){return _0x39c424(_0x5cdb38);}};try{const _0x5d21f1=await amqp['connect'](RABBITMQ_URL);return console['log']('['+_0x2483a8[_0x36896b(0x89)](formatDate,new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x5d21f1;}catch(_0x5b08fc){console[_0x36896b(0x8b)]('['+formatDate(new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x5b08fc[_0x36896b(0x73)]);throw _0x5b08fc;}}function a0_0x5189(){const _0x376eff=['uKfcqKLutvfFrvHdsefor0u','uLvoA2C','BwvZC2fNzq','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','y3jLyxrLzc9YzwfKEq','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','txnQAMe','mZiYn05fuKvyuq','ignYzwf0zwq','ntq5ntyZngTvB2zxuW','zg90zw52','otyXmZK3mwz3Bw50zG','tMLYBMy','mtCZndrMref2Ce8','wg5nvMC','Aw5LCxvPDMfSzw50igfYzW','ignYzwf0zwqVCMvHzhK','otC4nJrwz3jvweu','uKfcqKLutvfFuvvfvuu','Bg9N','xsbfuLjpuJOGuxvLDwuG','CMv0CNKTzxHJAgfUz2u','D1juqu8','BNbIC0q','mJmWmdaZnMXXBvDutq','zxjYB3i','yw1XCgXPyG','uKfcqKLutvfFvvjm','u1znqLC','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG','zgLYzwn0','yxnZzxj0uxvLDwu','xsbrDwv1zsa','x3jLDhj5','vNPYBg8','y3jLyxrLq2HHBM5LBa','mJeXotz1DgTnB3y','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','mJGYDMTTv3fA','uxvLDwuG','mteXnte3nvHhthP5qG'];a0_0x5189=function(){return _0x376eff;};return a0_0x5189();}async function createChannel(_0x16dbda){const _0x2350de=a0_0x19cb35,_0x51e6eb={'npyya':function(_0x56686a,_0x301469){return _0x56686a(_0x301469);},'cbVQq':function(_0x36be53,_0x58ab95){return _0x36be53(_0x58ab95);}};try{const _0x2e4096=await _0x16dbda[_0x2350de(0x6b)]();return console['log']('['+_0x51e6eb['npyya'](formatDate,new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x2e4096;}catch(_0x194e6e){console['error']('['+_0x51e6eb['cbVQq'](formatDate,new Date())+_0x2350de(0x75)+_0x194e6e[_0x2350de(0x73)]);throw _0x194e6e;}}async function setupInfrastructure(_0xe8229e){const _0x3937f1=a0_0x19cb35,_0x26cb4b={'Vzrlo':'retry-exchange','uxpzm':_0x3937f1(0x66),'RUNkg':function(_0x42c774,_0x208949){return _0x42c774(_0x208949);},'Msjja':function(_0x1d22b5,_0xe3b922){return _0x1d22b5(_0xe3b922);},'XnMVg':_0x3937f1(0x76),'Nirnf':function(_0x4faaf6,_0x410fd2){return _0x4faaf6(_0x410fd2);},'JVhuy':_0x3937f1(0x77),'wRTAO':'inequivalent\x20arg','SVMBW':function(_0x222ba7,_0x2f22e6){return _0x222ba7(_0x2f22e6);}};try{await _0xe8229e['assertExchange'](_0x26cb4b[_0x3937f1(0x6a)],_0x26cb4b['uxpzm'],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x26cb4b['RUNkg'](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x425fe1){console['error']('['+_0x26cb4b[_0x3937f1(0x78)](formatDate,new Date())+_0x3937f1(0x74),_0x425fe1['message']);throw _0x425fe1;}try{await _0xe8229e['assertExchange'](EXCHANGE,'direct',{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+']\x20Exchange\x20'+EXCHANGE+_0x3937f1(0x82));}catch(_0x925c08){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x925c08[_0x3937f1(0x73)]);throw _0x925c08;}const _0x48c26c=ROUTING_KEY+_0x3937f1(0x69);try{const _0x210dd6={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0xe8229e['assertQueue'](_0x48c26c,_0x210dd6),console[_0x3937f1(0x85)]('['+_0x26cb4b[_0x3937f1(0x72)](formatDate,new Date())+']\x20Retry\x20queue\x20'+_0x48c26c+_0x3937f1(0x82)),await _0xe8229e['bindQueue'](_0x48c26c,_0x3937f1(0x87),ROUTING_KEY),console[_0x3937f1(0x85)]('['+_0x26cb4b['Msjja'](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+_0x3937f1(0x7a));}catch(_0x429f1c){console[_0x3937f1(0x8b)]('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x429f1c[_0x3937f1(0x73)]);throw _0x429f1c;}try{const _0x597aaf={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x26cb4b[_0x3937f1(0x6a)],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x349bbc=await _0xe8229e[_0x3937f1(0x67)](QUEUE,_0x597aaf);console['log']('['+_0x26cb4b['Msjja'](formatDate,new Date())+_0x3937f1(0x68)+QUEUE+'\x20'+(_0x349bbc['queue']===QUEUE?_0x26cb4b[_0x3937f1(0x80)]:'found')+'\x20with\x20DLX'),await _0xe8229e['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+_0x26cb4b[_0x3937f1(0x7e)](formatDate,new Date())+']\x20Binding\x20'+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0xc35f9){if(_0xc35f9['message']['includes'](_0x3937f1(0x81))&&_0xc35f9['message']['includes'](_0x26cb4b['JVhuy']))console[_0x3937f1(0x8b)]('\x0a['+formatDate(new Date())+_0x3937f1(0x86)+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console['error'](_0x3937f1(0x6f)+QUEUE+_0x3937f1(0x6d)),console['error'](_0x3937f1(0x8f)),process['exit'](0x1);else{console[_0x3937f1(0x8b)]('['+formatDate(new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0xc35f9['message']);throw _0xc35f9;}}}catch(_0x3ae25d){if(!_0x3ae25d['message']['includes'](_0x26cb4b[_0x3937f1(0x88)])){console[_0x3937f1(0x8b)]('['+_0x26cb4b[_0x3937f1(0x8e)](formatDate,new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x3ae25d[_0x3937f1(0x73)]);throw _0x3ae25d;}process['exit'](0x1);}}async function closeConnection(_0x1f0a83){const _0x1df7ff=a0_0x19cb35;if(_0x1f0a83)try{await _0x1f0a83['close'](),console['log']('['+formatDate(new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x4f40b8){console[_0x1df7ff(0x8b)]('['+formatDate(new Date())+']\x20Failed\x20to\x20close\x20RabbitMQ\x20connection:\x20'+_0x4f40b8['message']);}}module['exports']={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a0_0x3ecc(_0x1328b4,_0x2690a2){_0x1328b4=_0x1328b4-0xb1;const _0x56386e=a0_0x5638();let _0x3ecca1=_0x56386e[_0x1328b4];if(a0_0x3ecc['JeQgMX']===undefined){var _0x4b6dbb=function(_0x2f465a){const _0x2a916a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xf120bc='',_0x54b5f9='';for(let _0x93890e=0x0,_0x1779dc,_0x239f0f,_0x3f759e=0x0;_0x239f0f=_0x2f465a['charAt'](_0x3f759e++);~_0x239f0f&&(_0x1779dc=_0x93890e%0x4?_0x1779dc*0x40+_0x239f0f:_0x239f0f,_0x93890e++%0x4)?_0xf120bc+=String['fromCharCode'](0xff&_0x1779dc>>(-0x2*_0x93890e&0x6)):0x0){_0x239f0f=_0x2a916a['indexOf'](_0x239f0f);}for(let _0x25b2ba=0x0,_0x1f4bcc=_0xf120bc['length'];_0x25b2ba<_0x1f4bcc;_0x25b2ba++){_0x54b5f9+='%'+('00'+_0xf120bc['charCodeAt'](_0x25b2ba)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x54b5f9);};a0_0x3ecc['raeGdE']=_0x4b6dbb,a0_0x3ecc['lDKDxV']={},a0_0x3ecc['JeQgMX']=!![];}const _0x1afe86=_0x56386e[0x0],_0x47d5c0=_0x1328b4+_0x1afe86,_0x20ad7c=a0_0x3ecc['lDKDxV'][_0x47d5c0];return!_0x20ad7c?(_0x3ecca1=a0_0x3ecc['raeGdE'](_0x3ecca1),a0_0x3ecc['lDKDxV'][_0x47d5c0]=_0x3ecca1):_0x3ecca1=_0x20ad7c,_0x3ecca1;}const a0_0x58ce42=a0_0x3ecc;(function(_0xdf0b24,_0x148d86){const _0x5b3539=a0_0x3ecc,_0x217075=_0xdf0b24();while(!![]){try{const _0x49aee8=parseInt(_0x5b3539(0xcc))/0x1*(-parseInt(_0x5b3539(0xba))/0x2)+parseInt(_0x5b3539(0xbf))/0x3+parseInt(_0x5b3539(0xbd))/0x4*(parseInt(_0x5b3539(0xcd))/0x5)+-parseInt(_0x5b3539(0xb7))/0x6*(parseInt(_0x5b3539(0xc8))/0x7)+parseInt(_0x5b3539(0xc2))/0x8*(-parseInt(_0x5b3539(0xb3))/0x9)+-parseInt(_0x5b3539(0xc9))/0xa+-parseInt(_0x5b3539(0xbc))/0xb*(-parseInt(_0x5b3539(0xbe))/0xc);if(_0x49aee8===_0x148d86)break;else _0x217075['push'](_0x217075['shift']());}catch(_0x1fb07b){_0x217075['push'](_0x217075['shift']());}}}(a0_0x5638,0xb24dc));const Redis=require('ioredis'),{logger}=require('./logger');function a0_0x5638(){const _0x2c1633=['BwLU','nJy3mdG4qMXqs0HL','nta1otmWqM55CK1I','y2XVC2u','CMfJzq','zM9Yy2veAxnJB25Uzwn0','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','BwvZC2fNzq','zgLZy29UBMvJDa','nJmWovv4vvjZyq','CMvKAxnFzxjYB3i','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','uKvesvnFse9tva','nJqXnfrfsuLxtq','zw52','y2XPzw50','ngjUAKnUwa','y29UBMvJDa','mZmYmdeWogvlyLPSAG','mJbeAKTWB1K','mty4vgjgvM9K','mtC5nZKWmfPxD0HpCW','uMvKAxmGueLorYb0Aw1LB3v0','uKvesvnFue9sva','nZyYnevYq1zbtW','DfbhA2S','zxjYB3i','A1HMDxe','z2v0q2XPzw50','AxndB25Uzwn0zwq','odqWn1rbDunJDa','mtmXndm5mJbcv2f4z00','zxHWB3j0CW'];a0_0x5638=function(){return _0x2c1633;};return a0_0x5638();}class RedisClient{constructor(){const _0x308334=a0_0x3ecc;this['client']=null,this[_0x308334(0xc7)]=![];}[a0_0x58ce42(0xbb)](){const _0x2605d0=a0_0x58ce42,_0x4a026b={'dzHOj':'redis_connected','QQsSq':'Redis\x20connected\x20successfully','oakZn':_0x2605d0(0xb4),'BjKpY':_0x2605d0(0xd1),'kXfuq':'localhost','UsTlY':_0x2605d0(0xbb),'tPGkk':_0x2605d0(0xce),'lsykg':'Failed\x20to\x20initialize\x20Redis'};if(this['client'])return this[_0x2605d0(0xb9)];try{return this['client']=new Redis({'host':process['env'][_0x2605d0(0xb6)]||_0x4a026b[_0x2605d0(0xc5)],'port':parseInt(process[_0x2605d0(0xb8)][_0x2605d0(0xc1)],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':parseInt(process['env']['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x40781f){const _0xae781b=_0x2605d0,_0xedbb28=Math[_0xae781b(0xcb)](_0x40781f*0x32,0x7d0);return _0xedbb28;}}),this[_0x2605d0(0xb9)]['on'](_0x4a026b['UsTlY'],()=>{this['isConnected']=!![],logger['info']({'event':_0x4a026b['dzHOj']},_0x4a026b['QQsSq']);}),this[_0x2605d0(0xb9)]['on']('error',_0x87eab7=>{const _0x247067=_0x2605d0;this['isConnected']=![],logger['error']({'event':_0x4a026b['oakZn'],'error':_0x87eab7['message']},_0x247067(0xb5)+_0x87eab7[_0x247067(0xb1)]);}),this[_0x2605d0(0xb9)]['on'](_0x4a026b[_0x2605d0(0xc3)],()=>{const _0xfc073f=_0x2605d0;this[_0xfc073f(0xc7)]=![],logger['warn']({'event':'redis_disconnected'},_0x4a026b['BjKpY']);}),this[_0x2605d0(0xb9)];}catch(_0x328973){logger[_0x2605d0(0xc4)]({'event':'redis_init_error','error':_0x328973['message']},_0x4a026b['lsykg']);throw _0x328973;}}[a0_0x58ce42(0xc6)](){const _0x4a882a=a0_0x58ce42;return!this['client']&&this['connect'](),this[_0x4a882a(0xb9)];}async['ping'](_0x57064f=0x1388){const _0x5152d8=a0_0x58ce42,_0x4047f9={'TEbUE':'PONG'};try{const _0x1f41d2=this[_0x5152d8(0xc6)](),_0x53af8a=await Promise[_0x5152d8(0xcf)]([_0x1f41d2['ping'](),new Promise((_0x494dbd,_0x38c158)=>setTimeout(()=>_0x38c158(new Error(_0x5152d8(0xc0))),_0x57064f))]);return _0x53af8a===_0x4047f9['TEbUE'];}catch(_0x3ca7a4){return![];}}async[a0_0x58ce42(0xb2)](){const _0x2b3513=a0_0x58ce42;this[_0x2b3513(0xb9)]&&(await this[_0x2b3513(0xb9)]['quit'](),this['client']=null,this[_0x2b3513(0xc7)]=![]);}[a0_0x58ce42(0xd0)](){const _0x3ccc44=a0_0x58ce42;this['client']&&(this['client'][_0x3ccc44(0xb2)](),this[_0x3ccc44(0xb9)]=null,this[_0x3ccc44(0xc7)]=![]);}}module[a0_0x58ce42(0xca)]=new RedisClient();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x2b3248=a0_0x5c11;(function(_0x4dfb5c,_0xb7ec59){const _0x5060b4=a0_0x5c11,_0x32e185=_0x4dfb5c();while(!![]){try{const _0x444ac5=-parseInt(_0x5060b4(0x105))/0x1*(parseInt(_0x5060b4(0x112))/0x2)+-parseInt(_0x5060b4(0x103))/0x3+parseInt(_0x5060b4(0x11a))/0x4*(parseInt(_0x5060b4(0x100))/0x5)+parseInt(_0x5060b4(0x107))/0x6+-parseInt(_0x5060b4(0x10d))/0x7*(parseInt(_0x5060b4(0x113))/0x8)+parseInt(_0x5060b4(0xf9))/0x9+-parseInt(_0x5060b4(0x10c))/0xa*(parseInt(_0x5060b4(0x10f))/0xb);if(_0x444ac5===_0xb7ec59)break;else _0x32e185['push'](_0x32e185['shift']());}catch(_0x4a9fa0){_0x32e185['push'](_0x32e185['shift']());}}}(a0_0x2d44,0x61d14));const redisClient=require('./redis-client'),{logger}=require('./logger');class RedisHelper{constructor(){const _0x1f8e3e={'CcxGX':function(_0x1f1156,_0x4bfe1b,_0x5acd1f){return _0x1f1156(_0x4bfe1b,_0x5acd1f);}};this['_prefix']=null,this['ttl']=_0x1f8e3e['CcxGX'](parseInt,process['env']['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get['prefix'](){const _0x289cff=a0_0x5c11,_0xf9b97f={'tmDSZ':_0x289cff(0x115)};if(!this[_0x289cff(0x106)]){const _0x25ff10=process['env'][_0x289cff(0x119)]||_0xf9b97f[_0x289cff(0x108)];this[_0x289cff(0x106)]=_0x289cff(0xfb)+_0x25ff10+_0x289cff(0x111);}return this[_0x289cff(0x106)];}async[a0_0x2b3248(0x116)](_0x5e571b,_0x4205cb){const _0x5254dd=a0_0x2b3248,_0x2b854b={'QxYFc':_0x5254dd(0xfc)};try{const _0x5cc51d=redisClient[_0x5254dd(0x114)](),_0x49a858=''+this[_0x5254dd(0xfd)]+_0x5e571b;return await _0x5cc51d['setex'](_0x49a858,this[_0x5254dd(0x118)],JSON['stringify'](_0x4205cb)),!![];}catch(_0x38ff62){return logger[_0x5254dd(0x10e)]({'event':_0x2b854b['QxYFc'],'jobId':_0x5e571b,'error':_0x38ff62[_0x5254dd(0x109)]},_0x5254dd(0x10b)),![];}}async[a0_0x2b3248(0x117)](_0x567b5e){const _0x1dc48e=a0_0x2b3248;try{const _0x4cbb96=redisClient['getClient'](),_0x54df76=''+this['prefix']+_0x567b5e,_0x31168f=await _0x4cbb96['get'](_0x54df76);return _0x31168f?JSON[_0x1dc48e(0xfa)](_0x31168f):null;}catch(_0x2ab399){return logger[_0x1dc48e(0x10e)]({'event':'redis_get_error','jobId':_0x567b5e,'error':_0x2ab399[_0x1dc48e(0x109)]},'Failed\x20to\x20get\x20job\x20from\x20Redis'),null;}}async['updateJob'](_0x149b7c,_0x28cf8d){const _0x4ca701=a0_0x2b3248,_0x495d22=await this[_0x4ca701(0x117)](_0x149b7c);if(!_0x495d22)return![];const _0xfc613f={..._0x495d22,..._0x28cf8d};return await this['setJob'](_0x149b7c,_0xfc613f);}async[a0_0x2b3248(0x110)](_0x3b7595){const _0x1aaf5a=a0_0x2b3248,_0x257e9c={'MHzxX':'redis_delete_error'};try{const _0x5c2382=redisClient['getClient'](),_0x4b11b2=''+this[_0x1aaf5a(0xfd)]+_0x3b7595;return await _0x5c2382[_0x1aaf5a(0x104)](_0x4b11b2),!![];}catch(_0x367e4d){return logger['error']({'event':_0x257e9c['MHzxX'],'jobId':_0x3b7595,'error':_0x367e4d['message']},_0x1aaf5a(0xff)),![];}}async[a0_0x2b3248(0xfe)](){const _0x25ee0d=a0_0x2b3248,_0x5655cf={'vdUOL':'Failed\x20to\x20get\x20all\x20jobs'};try{const _0x46b890=redisClient['getClient'](),_0x9bd89d=await _0x46b890['keys'](this['prefix']+'*'),_0x41a6cc=[];for(const _0x9bb1 of _0x9bd89d){const _0x43cce7=await _0x46b890['get'](_0x9bb1);_0x43cce7&&_0x41a6cc['push'](JSON['parse'](_0x43cce7));}return _0x41a6cc;}catch(_0x2cbf56){return logger[_0x25ee0d(0x10e)]({'event':_0x25ee0d(0x10a),'error':_0x2cbf56[_0x25ee0d(0x109)]},_0x5655cf[_0x25ee0d(0x101)]),[];}}}function a0_0x5c11(_0x16f133,_0x3f6ed2){_0x16f133=_0x16f133-0xf9;const _0x2d441c=a0_0x2d44();let _0x5c116e=_0x2d441c[_0x16f133];if(a0_0x5c11['KBXmlN']===undefined){var _0x2efde0=function(_0x13ab35){const _0x25692b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x208b95='',_0x1da790='';for(let _0x1b0440=0x0,_0x30ba20,_0x5915b9,_0x3df8d8=0x0;_0x5915b9=_0x13ab35['charAt'](_0x3df8d8++);~_0x5915b9&&(_0x30ba20=_0x1b0440%0x4?_0x30ba20*0x40+_0x5915b9:_0x5915b9,_0x1b0440++%0x4)?_0x208b95+=String['fromCharCode'](0xff&_0x30ba20>>(-0x2*_0x1b0440&0x6)):0x0){_0x5915b9=_0x25692b['indexOf'](_0x5915b9);}for(let _0x37cdf5=0x0,_0xc31780=_0x208b95['length'];_0x37cdf5<_0xc31780;_0x37cdf5++){_0x1da790+='%'+('00'+_0x208b95['charCodeAt'](_0x37cdf5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1da790);};a0_0x5c11['sLvPho']=_0x2efde0,a0_0x5c11['pXGSoa']={},a0_0x5c11['KBXmlN']=!![];}const _0x41c452=_0x2d441c[0x0],_0x243fed=_0x16f133+_0x41c452,_0x280899=a0_0x5c11['pXGSoa'][_0x243fed];return!_0x280899?(_0x5c116e=a0_0x5c11['sLvPho'](_0x5c116e),a0_0x5c11['pXGSoa'][_0x243fed]=_0x5c116e):_0x5c116e=_0x280899,_0x5c116e;}module[a0_0x2b3248(0x102)]=new RedisHelper();function a0_0x2d44(){const _0x464d4d=['mJC1sKDLy0nX','zgvSzxrLsM9I','oMv4Cg9YDdO','nJa4nJb1BKvsuKu','mte1mZmXmNHMqvjyyG','z2v0q2XPzw50','zgvMyxvSDa','C2v0sM9I','z2v0sM9I','DhrS','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','otaZodGWqwDxEMzR','mteZntqZmuD3BxbZCG','CgfYC2u','CMvZDgzVCMDLoG','CMvKAxnFC2v0x2vYCM9Y','ChjLzML4','z2v0qwXSsM9ICW','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW','mtvLBvL5AMO','DMrvt0W','zxHWB3j0CW','mZy4nZu0vhrts3rM','zgvS','mtbmwvjLCMO','x3bYzwzPEa','ndy3mte3ngHYCfvXzG','Dg1eu1O','BwvZC2fNzq','CMvKAxnFz2v0ywXSx2vYCM9Y','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','mtm1nJbYt0vmBM4','mZvzuK5LB2i','zxjYB3i'];a0_0x2d44=function(){return _0x464d4d;};return a0_0x2d44();}
|