@restforgejs/platform 5.3.7 → 5.3.9
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 +193 -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 +1 -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_0x554c48=a0_0x1008;(function(_0x556fbf,_0x3da1f0){const _0xffeb85=a0_0x1008,_0x49507f=_0x556fbf();while(!![]){try{const _0x239eae=-parseInt(_0xffeb85(0x163))/0x1+parseInt(_0xffeb85(0x15f))/0x2+-parseInt(_0xffeb85(0x175))/0x3*(-parseInt(_0xffeb85(0x179))/0x4)+-parseInt(_0xffeb85(0x1ac))/0x5+parseInt(_0xffeb85(0x169))/0x6*(parseInt(_0xffeb85(0x159))/0x7)+parseInt(_0xffeb85(0x158))/0x8+parseInt(_0xffeb85(0x16f))/0x9*(-parseInt(_0xffeb85(0x19c))/0xa);if(_0x239eae===_0x3da1f0)break;else _0x49507f['push'](_0x49507f['shift']());}catch(_0x44cdd6){_0x49507f['push'](_0x49507f['shift']());}}}(a0_0x5337,0x3261f));function a0_0x5337(){const _0x2ace4f=['D29YA2vYlq','ndaZme50sLzpuG','DgXnsvy','D3jPDgvFBg9JA190Aw1LB3v0','tu9PBLe','x2vUywjSzwq','zw52','Dhj1zq','AxnfBMfIBgvK','Cg93','C3rYyxrLz3K','x2LUAxrdB25MAwC','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','yNvPBgrmB2nRs2v5','uKvbrcbSB2nRigfJCxvPCMvK','C2v0','BM5MtMm','ote3mJa1rxnKt2fk','su5LvLG','D3jPDgvFBg9JA19LCNjVCG','x2LUAxrPywXPEMvK','Aw5JCG','zgvIDwC','v1nvwwq','mZqXmZzUwwDNwKm','otK3nJu0v1rctfzw','tg9JAYbuveWGzxH0zw5Kzwq','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','uMX2tuu','CgLK','CMv0CNLezwXHEq','ntuXntq0C0zmwfrd','Cw9sy2S','Bg9JA19LEhrLBMrLza','CMvHzf9SB2nRx3DHAxrPBMC','nty2nxDJqLfzBG','v1jjveuGBg9JAYbLCNjVCG','CMvSzwfZzuXVy2S','CMvHzf9SB2nRx3rPBwvVDxq','CMvHzf9SB2nRx3jLBgvHC2vK','x3bYzwzPEa','mtj0tffuAM0','zgvMyxvSDfruta','D3jPDgvFBg9JA19YzwPLy3rLza','Bg9JA19JB25MAwDFAw5PDa','CMjhrK8','z2v0tg9JA0LUzM8','mtaYntfRswvfr2S','Bg9JA19LEhrLBMrFzxjYB3i','x3DVCMTLCKLK','C2XLzxa','CMvHza','ChjLzML4','m3nztKLmrW','ywnXDwLYzvDYAxrLtg9JAW','y1bzCw4','x3n0CMf0zwD5','mte1nZyYogfXDuvMEG','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','vvb5q3a','Aw5MBW','EKL4CK0','C3vIC3rYAw5N','ywnXDwLYzvjLywrmB2nR','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','D3jPDgvFBg9JA19Hy3f1AxjLza','C2v0zxG','tg9JAYbYzwXLyxnLigvYCM9Y','x2vUC3vYzuLUAxrPywXPEMvK','z2v0q2XPzw50','x3jLDhj5q291BNq','zw5HyMXLza','D2fYBG','zxzHBa','z2vUzxjHDgvmB2nRvMfSDwu','te9ds19esvnuuKLcvvrfrf9ftKfcteve','r1HOEg0','z2v0','CMv0CNK','zxjYB3i','BwvZC2fNzq','vNP0rNK','CMv0CNLdB3vUDa','B0TAwgS','BgfZDeLUzgv4t2y','x2rLzMf1BhruveW','CMy6Bg9JAZO','D29YA2vYswq','x3jLDhj5rgvSyxK','ywXS'];a0_0x5337=function(){return _0x2ace4f;};return a0_0x5337();}const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');function a0_0x1008(_0x584c72,_0x5ba024){_0x584c72=_0x584c72-0x155;const _0x53376d=a0_0x5337();let _0x10084b=_0x53376d[_0x584c72];if(a0_0x1008['ZhWFMN']===undefined){var _0x2fa7b4=function(_0x440edc){const _0x2023ef='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5b6f1d='',_0x463e49='';for(let _0x4a7b0c=0x0,_0x25e9b6,_0x560064,_0x191128=0x0;_0x560064=_0x440edc['charAt'](_0x191128++);~_0x560064&&(_0x25e9b6=_0x4a7b0c%0x4?_0x25e9b6*0x40+_0x560064:_0x560064,_0x4a7b0c++%0x4)?_0x5b6f1d+=String['fromCharCode'](0xff&_0x25e9b6>>(-0x2*_0x4a7b0c&0x6)):0x0){_0x560064=_0x2023ef['indexOf'](_0x560064);}for(let _0x4dba78=0x0,_0x396187=_0x5b6f1d['length'];_0x4dba78<_0x396187;_0x4dba78++){_0x463e49+='%'+('00'+_0x5b6f1d['charCodeAt'](_0x4dba78)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x463e49);};a0_0x1008['JGhSRg']=_0x2fa7b4,a0_0x1008['kEPngk']={},a0_0x1008['ZhWFMN']=!![];}const _0x1b9cbb=_0x53376d[0x0],_0x3f8ac3=_0x584c72+_0x1b9cbb,_0x29c3f7=a0_0x1008['kEPngk'][_0x3f8ac3];return!_0x29c3f7?(_0x10084b=a0_0x1008['JGhSRg'](_0x10084b),a0_0x1008['kEPngk'][_0x3f8ac3]=_0x10084b):_0x10084b=_0x29c3f7,_0x10084b;}class LockManager{constructor(){const _0x2957a3=a0_0x1008;this[_0x2957a3(0x168)]=null,this[_0x2957a3(0x1a0)]=null,this[_0x2957a3(0x196)]=null,this[_0x2957a3(0x187)]=null,this['_retryDelay']=null,this['_strategy']=null,this[_0x2957a3(0x171)]=null,this[_0x2957a3(0x1af)]=![];}[a0_0x554c48(0x1a6)](){const _0x46d25d=a0_0x554c48,_0xd59fc0={'nnfNc':_0x46d25d(0x197),'INeVX':function(_0x2017f6,_0x63b9b0,_0x207676){return _0x2017f6(_0x63b9b0,_0x207676);}};this[_0x46d25d(0x168)]=_0xd59fc0[_0x46d25d(0x1ab)],this['_enabled']=process['env'][_0x46d25d(0x18c)]===_0x46d25d(0x1a2),this[_0x46d25d(0x196)]=parseInt(process[_0x46d25d(0x1a1)]['LOCK_DISTRIBUTED_TTL'],0xa)||0xa,this['_retryCount']=_0xd59fc0[_0x46d25d(0x1ad)](parseInt,process[_0x46d25d(0x1a1)]['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3,this[_0x46d25d(0x199)]=_0xd59fc0[_0x46d25d(0x1ad)](parseInt,process['env']['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64,this[_0x46d25d(0x178)]=process['env']['LOCK_DISTRIBUTED_STRATEGY']||_0x46d25d(0x18f),this[_0x46d25d(0x171)]=_0x46d25d(0x19b)+process[_0x46d25d(0x15d)],this['_initialized']=!![],logger[_0x46d25d(0x17d)]({'event':_0x46d25d(0x16c),'enabled':this['_enabled'],'strategy':this[_0x46d25d(0x178)],'ttl':this[_0x46d25d(0x196)],'retryCount':this['_retryCount'],'retryDelay':this[_0x46d25d(0x199)],'workerId':this[_0x46d25d(0x171)]},_0x46d25d(0x1a7)+this[_0x46d25d(0x1a0)]+',\x20strategy:\x20'+this['_strategy']);}[a0_0x554c48(0x185)](){const _0x22a53d=a0_0x554c48;!this[_0x22a53d(0x1af)]&&this['_initConfig']();}get[a0_0x554c48(0x174)](){const _0x36f207=a0_0x554c48;return this['_ensureInitialized'](),this[_0x36f207(0x168)];}get[a0_0x554c48(0x188)](){return this['_ensureInitialized'](),this['_enabled'];}get[a0_0x554c48(0x16a)](){const _0x6e3cef=a0_0x554c48;return this[_0x6e3cef(0x185)](),this['_defaultTTL'];}get[a0_0x554c48(0x193)](){const _0x1a481c=a0_0x554c48;return this[_0x1a481c(0x185)](),this[_0x1a481c(0x187)];}get[a0_0x554c48(0x15e)](){const _0x59a110=a0_0x554c48;return this[_0x59a110(0x185)](),this['_retryDelay'];}get['strategy'](){const _0x335e26=a0_0x554c48;return this[_0x335e26(0x185)](),this[_0x335e26(0x178)];}get[a0_0x554c48(0x198)](){return this['_ensureInitialized'](),this['_workerId'];}[a0_0x554c48(0x1a8)](_0x3fa7d1){const {module:_0x3821fa,endpoint:_0x25e623,lockType:_0x58d11c,recordId:_0x2af50a}=_0x3fa7d1;if(_0x2af50a)return''+this['prefix']+_0x3821fa+':'+_0x25e623+':'+_0x2af50a+':'+_0x58d11c;return''+this['prefix']+_0x3821fa+':'+_0x25e623+':'+_0x58d11c;}['generateLockValue'](){const _0x35e669=a0_0x554c48,_0x52cf68={'xNhTY':function(_0xaf1403){return _0xaf1403();}};return this[_0x35e669(0x198)]+':'+_0x52cf68['xNhTY'](uuidv4)+':'+Date['now']();}async[a0_0x554c48(0x180)](_0x5aafed){const _0xf391b=a0_0x554c48,_0x3da218={'UPyCp':'read_lock_acquired','TeeRm':_0xf391b(0x1a9),'eNOfK':_0xf391b(0x162),'QZukG':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','WSUYd':_0xf391b(0x166),'XaIjb':'READ\x20lock\x20error'};if(!this[_0xf391b(0x188)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x2d4306=this[_0xf391b(0x1a8)]({..._0x5aafed,'lockType':'write'}),_0x4146e6=this[_0xf391b(0x1a8)]({..._0x5aafed,'lockType':_0xf391b(0x173)}),_0x1b87a6=this[_0xf391b(0x18b)]();try{const _0x12344d=redisClient[_0xf391b(0x186)]();for(let _0x5d6f44=0x0;_0x5d6f44<this[_0xf391b(0x193)];_0x5d6f44++){const _0x474959=await _0x12344d['get'](_0x2d4306);if(!_0x474959){await _0x12344d[_0xf391b(0x155)](_0x4146e6),await _0x12344d['expire'](_0x4146e6,this[_0xf391b(0x16a)]);const _0x3f221c=_0x4146e6+':'+_0x1b87a6;return await _0x12344d[_0xf391b(0x183)](_0x3f221c,this['defaultTTL'],_0x1b87a6),logger['debug']({'event':_0x3da218[_0xf391b(0x17c)],'key':_0x4146e6,'value':_0x1b87a6},_0x3da218['TeeRm']),{'success':!![],'lockValue':_0x1b87a6,'lockKey':_0x3f221c};}logger['debug']({'event':_0x3da218['eNOfK'],'writeKey':_0x2d4306,'attempt':_0x5d6f44},_0x3da218['QZukG']),await this[_0xf391b(0x172)](this[_0xf391b(0x15e)]*Math['pow'](0x2,_0x5d6f44));}return logger[_0xf391b(0x189)]({'event':_0x3da218[_0xf391b(0x157)],'key':_0x4146e6},_0xf391b(0x17b)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x2acd64){return logger[_0xf391b(0x190)]({'event':'read_lock_error','error':_0x2acd64['message']},_0x3da218['XaIjb']),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x554c48(0x176)](_0x137000){const _0x194b50=a0_0x554c48,_0x232754={'cPYqn':_0x194b50(0x173),'zIxrM':function(_0x464536,_0x8c242a){return _0x464536===_0x8c242a;},'ftUeE':'reject','TsRll':_0x194b50(0x182),'MOinQ':_0x194b50(0x16b),'tlMIV':_0x194b50(0x181),'GXhxm':function(_0x260add,_0x540aac){return _0x260add<_0x540aac;},'RlvME':function(_0x3f5ddc,_0x3dc83a){return _0x3f5ddc===_0x3dc83a;},'MxoZC':_0x194b50(0x15b),'WrSxl':'Waiting\x20for\x20locks\x20to\x20release','oKZXk':function(_0x5a74e3,_0x5da00e){return _0x5a74e3*_0x5da00e;},'VztFy':_0x194b50(0x19e)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x23f0cb=this['buildLockKey']({..._0x137000,'lockType':'write'}),_0x35896e=this[_0x194b50(0x1a8)]({..._0x137000,'lockType':_0x232754[_0x194b50(0x177)]}),_0x1f357a=this[_0x194b50(0x18b)]();try{const _0x6bcb83=redisClient[_0x194b50(0x186)]();if(_0x232754['zIxrM'](this[_0x194b50(0x1a5)],_0x232754['ftUeE'])){const _0x34a9ea=await _0x6bcb83[_0x194b50(0x1aa)](_0x23f0cb,_0x1f357a,'EX',this[_0x194b50(0x16a)],'NX');if(_0x232754[_0x194b50(0x17e)](_0x34a9ea,'OK'))return logger['debug']({'event':_0x232754['TsRll'],'key':_0x23f0cb,'value':_0x1f357a,'strategy':_0x232754['ftUeE']},_0x194b50(0x17a)),{'success':!![],'lockValue':_0x1f357a,'lockKey':_0x23f0cb};return logger[_0x194b50(0x156)]({'event':_0x232754[_0x194b50(0x19f)],'key':_0x23f0cb},_0x232754[_0x194b50(0x19d)]),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x256ab9=0x0;_0x232754[_0x194b50(0x18d)](_0x256ab9,this['retryCount']);_0x256ab9++){const [_0x26a5e4,_0x4b327a]=await Promise['all']([_0x6bcb83['get'](_0x35896e),_0x6bcb83[_0x194b50(0x18e)](_0x23f0cb)]);if(!_0x4b327a&&(!_0x26a5e4||_0x232754[_0x194b50(0x15c)](parseInt(_0x26a5e4),0x0))){const _0x592763=await _0x6bcb83[_0x194b50(0x1aa)](_0x23f0cb,_0x1f357a,'EX',this['defaultTTL'],'NX');if(_0x592763==='OK')return logger[_0x194b50(0x156)]({'event':_0x194b50(0x182),'key':_0x23f0cb,'value':_0x1f357a,'strategy':'retry'},_0x232754['MxoZC']),{'success':!![],'lockValue':_0x1f357a,'lockKey':_0x23f0cb};}logger['debug']({'event':'write_lock_waiting','writeKey':_0x23f0cb,'readCount':_0x26a5e4,'attempt':_0x256ab9},_0x232754['WrSxl']),await this['sleep'](_0x232754[_0x194b50(0x194)](this['retryDelay'],Math[_0x194b50(0x1a4)](0x2,_0x256ab9)));}return logger[_0x194b50(0x189)]({'event':_0x232754[_0x194b50(0x192)],'key':_0x23f0cb},'WRITE\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x42c7fc){return logger[_0x194b50(0x190)]({'event':_0x194b50(0x1ae),'error':_0x42c7fc[_0x194b50(0x191)]},_0x194b50(0x164)),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x554c48(0x165)](_0x19e0d6,_0x45ea17){const _0x16a6ff=a0_0x554c48,_0x10588f={'SOzix':':read:','jyiLC':function(_0x42bb45,_0x3bed26){return _0x42bb45(_0x3bed26);},'rbGFO':function(_0x5c3f65,_0x26fe0f){return _0x5c3f65===_0x26fe0f;},'gWaqG':_0x16a6ff(0x184)};if(!this['enabled']||!_0x19e0d6)return!![];try{const _0x9ed276=redisClient[_0x16a6ff(0x186)]();if(_0x19e0d6['includes'](_0x10588f['SOzix'])){await _0x9ed276['del'](_0x19e0d6);const _0x5b92cd=_0x19e0d6[_0x16a6ff(0x17f)](0x0,_0x19e0d6[_0x16a6ff(0x195)](':')),_0x3fbef9=await _0x9ed276[_0x16a6ff(0x18e)](_0x5b92cd);return _0x3fbef9&&_0x10588f['jyiLC'](parseInt,_0x3fbef9)>0x0&&await _0x9ed276['decr'](_0x5b92cd),logger[_0x16a6ff(0x156)]({'event':_0x16a6ff(0x167),'key':_0x19e0d6},'READ\x20lock\x20released'),!![];}const _0x3469ed='\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',_0x2aed88=await _0x9ed276[_0x16a6ff(0x18a)](_0x3469ed,0x1,_0x19e0d6,_0x45ea17);if(_0x10588f[_0x16a6ff(0x16d)](_0x2aed88,0x1))return logger['debug']({'event':'write_lock_released','key':_0x19e0d6},'WRITE\x20lock\x20released'),!![];return logger['warn']({'event':'lock_release_not_owner','key':_0x19e0d6},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0x105e0a){return logger[_0x16a6ff(0x190)]({'event':'lock_release_error','key':_0x19e0d6,'error':_0x105e0a[_0x16a6ff(0x191)]},_0x10588f['gWaqG']),![];}}async['extendLock'](_0x2c8da5,_0xb562cc,_0x23e851=null){const _0x43df5d=a0_0x554c48,_0x3bcb42={'hmLuj':_0x43df5d(0x161),'tMLUn':_0x43df5d(0x15a)};if(!this[_0x43df5d(0x188)]||!_0x2c8da5)return!![];try{const _0x468e58=redisClient['getClient'](),_0x2a4e43='\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(\x22expire\x22,\x20KEYS[1],\x20ARGV[2])\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',_0x28576b=await _0x468e58['eval'](_0x2a4e43,0x1,_0x2c8da5,_0xb562cc,_0x23e851||this['defaultTTL']);if(_0x28576b===0x1)return logger[_0x43df5d(0x156)]({'event':_0x3bcb42['hmLuj'],'key':_0x2c8da5,'ttl':_0x23e851||this['defaultTTL']},_0x3bcb42['tMLUn']),!![];return![];}catch(_0x49bd85){return logger[_0x43df5d(0x190)]({'event':_0x43df5d(0x170),'key':_0x2c8da5,'error':_0x49bd85[_0x43df5d(0x191)]},'Lock\x20extend\x20error'),![];}}[a0_0x554c48(0x1a3)](){const _0x4d327e=a0_0x554c48;return this[_0x4d327e(0x188)];}[a0_0x554c48(0x172)](_0x283088){return new Promise(_0x4653da=>setTimeout(_0x4653da,_0x283088));}async[a0_0x554c48(0x16e)](_0x700383){const _0x4f4fe8=a0_0x554c48,_0x351499={'CFgTC':'read','PESUe':function(_0x5db433,_0xc5dad0){return _0x5db433||_0xc5dad0;},'qoRck':function(_0xf629a6,_0x2d25b3){return _0xf629a6(_0x2d25b3);}};if(!this[_0x4f4fe8(0x188)])return{'enabled':![]};try{const _0x5a0af9=redisClient['getClient'](),_0x4db37f=this['buildLockKey']({..._0x700383,'lockType':'write'}),_0x35245d=this[_0x4f4fe8(0x1a8)]({..._0x700383,'lockType':_0x351499['CFgTC']}),[_0x7db269,_0x4a4049]=await Promise[_0x4f4fe8(0x19a)]([_0x5a0af9['get'](_0x4db37f),_0x5a0af9[_0x4f4fe8(0x18e)](_0x35245d)]);return{'enabled':!![],'writeLock':_0x351499['PESUe'](_0x7db269,null),'readCount':_0x351499[_0x4f4fe8(0x160)](parseInt,_0x4a4049)||0x0,'writeKey':_0x4db37f,'readKey':_0x35245d};}catch(_0x16ffba){return{'enabled':!![],'error':_0x16ffba['message']};}}}module['exports']=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_0x1a7c8f=a0_0x2426;(function(_0x35be85,_0x4b3710){const _0x2e9f97=a0_0x2426,_0x245a3e=_0x35be85();while(!![]){try{const _0x2c9382=parseInt(_0x2e9f97(0x122))/0x1*(parseInt(_0x2e9f97(0x158))/0x2)+parseInt(_0x2e9f97(0x15f))/0x3*(parseInt(_0x2e9f97(0xf5))/0x4)+-parseInt(_0x2e9f97(0x114))/0x5+parseInt(_0x2e9f97(0x13a))/0x6*(-parseInt(_0x2e9f97(0x155))/0x7)+parseInt(_0x2e9f97(0x110))/0x8+parseInt(_0x2e9f97(0xe3))/0x9*(parseInt(_0x2e9f97(0x137))/0xa)+-parseInt(_0x2e9f97(0x166))/0xb;if(_0x2c9382===_0x4b3710)break;else _0x245a3e['push'](_0x245a3e['shift']());}catch(_0x302473){_0x245a3e['push'](_0x245a3e['shift']());}}}(a0_0x1e80,0xd563b));function a0_0x2426(_0x1e6b97,_0x9bbf9a){_0x1e6b97=_0x1e6b97-0xb7;const _0x1e80ce=a0_0x1e80();let _0x242691=_0x1e80ce[_0x1e6b97];if(a0_0x2426['CxlnbP']===undefined){var _0xc034c5=function(_0x229ef1){const _0x4d9958='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x29cef5='',_0x47615f='';for(let _0x291206=0x0,_0x3ab846,_0xa925cc,_0x5301c2=0x0;_0xa925cc=_0x229ef1['charAt'](_0x5301c2++);~_0xa925cc&&(_0x3ab846=_0x291206%0x4?_0x3ab846*0x40+_0xa925cc:_0xa925cc,_0x291206++%0x4)?_0x29cef5+=String['fromCharCode'](0xff&_0x3ab846>>(-0x2*_0x291206&0x6)):0x0){_0xa925cc=_0x4d9958['indexOf'](_0xa925cc);}for(let _0x7619ab=0x0,_0x2583f9=_0x29cef5['length'];_0x7619ab<_0x2583f9;_0x7619ab++){_0x47615f+='%'+('00'+_0x29cef5['charCodeAt'](_0x7619ab)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x47615f);};a0_0x2426['wHZKik']=_0xc034c5,a0_0x2426['pZyNzq']={},a0_0x2426['CxlnbP']=!![];}const _0x500330=_0x1e80ce[0x0],_0x4936a3=_0x1e6b97+_0x500330,_0x12b368=a0_0x2426['pZyNzq'][_0x4936a3];return!_0x12b368?(_0x242691=a0_0x2426['wHZKik'](_0x242691),a0_0x2426['pZyNzq'][_0x4936a3]=_0x242691):_0x242691=_0x12b368,_0x242691;}const pino=require('pino'),fs=require('fs'),path=require('path');let logToFile=![],logDir=a0_0x1a7c8f(0xfd),serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x1a7c8f(0x11a),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0x1a7c8f(0x103),'customColors':a0_0x1a7c8f(0x126),'hideObject':!![]},isDevelopment=process[a0_0x1a7c8f(0xe2)][a0_0x1a7c8f(0x160)]!=='production',logLevel=process['env']['LOG_LEVEL']||'info';function a0_0x1e80(){const _0x3a2e8d=['w09lxsbqCM9Qzwn0igXVywrLzdOG','C3rHDhvZq29Kzq','BwfW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','CMvZDgzVCMDL','CgLUBY1WCMv0DhK','CxvLCNK','BwvTB3j5vxnHz2u','Dg9vChbLCKnHC2u','CMvMCMvZAf90B2TLBG','Ag9ZDa','q1jjveLdquW','zgjFDhjHBNnHy3rPB24','z2v0sgvHzgvYCW','y3jLzgL0x2nHCMq','DxjS','mtCXntqYotbtwhPouNa','vNfTC2m','u1fmx0Xpr19mrvzfta','mZq3nfP6CvP2BG','C2vYDMLJzuLUzM8','y29UzMLNrMLSzq','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','z25vCgu','Bg9N','zMXVB3i','sw50zxjUywWGC2vYDMvYigvYCM9Y','zgjFCxvLCNK','CMvTB3rLqwrKCMvZCW','y29Kzq','y3jLzgvUDgLHBa','lI9SB2DZlW','CgfZC3DK','CMvWzwf0','Cg9YDa','v2HJrNC','C3rHy2S','C3rHCNrZv2L0Aa','CgfKrw5K','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','sNr5yNG','ENLJvxu','ChjVy2vZC193yxjUAw5N','BxmP','t2T2vuq','C3vIC3rYAw5N','oda3ofjoteT0Bq','Dw5JyxvNAhrfEgnLChrPB24','C3rKu2vYAwfSAxPLCNm','mJzqBfrzr04','u1fmx0Xpr19ftKfcteve','yxbWlMXVzW','z2DgC0K','zgvMyxvSDa','zMf0ywXFzxjYB3i','rxjYB3i','nJa1mZfbt0vVEMe','tK9erv9ftLy','C3rYAw5NAwz5','AxnVvgLTzq','sLDux1nfq1jfva','Dw5RBM93BG','v2Tequ0','nZu3mZq3ohvcsNjrrq','vvbeqvrf','qvbqx1zfuLnjt04','Ahr0Cf9LCNjVCG','rfjfrfC','B3rvuvC','sfruuca','AgvHzgvYCW','shr6Bgq','BwvZC2fNzq','Dg9Rzw4','D2fYBG','rKfuquW6ia','vND0wue','AuvAze8','rgf0ywjHC2u6ia','su5trvju','ENzqBeC','tfnHD1a','zgvIDwC','icbvuKW6icaGia','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','yxbPs2v5','rermx0nsrufurq','u2vYDMvYihn0yxj0Aw5NoIa','yxv0Ag9YAxPHDgLVBG','yxbPA2v5','D2fYBMLUzW','z2v0','yxbPx2TLEq','AvHOqxO','Chnry0e','iokvKqRILzeGifbYB2PLy3qGicaGidOG','zxHPC3rZu3LUyW','te9hx1rpx0zjteu','tNLTz24','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','ChjVAMvJDf9SB2fKzwq','w1jfrefdvevexq','t01wruq','qKvhsu4','vu5ltK9xtG','EKLUq1u','Dvz3quy','zgf0ywjHC2u','Dxb0Aw1L','BgvUz3rO','revmrvrf','t1jdvwq','icdIHPiG','v3v1s0e','Avrntxa','zxjY','zMf0ywW','Aw5MBW','EgLfDNO','Ec1Yzxf1zxn0lwLK','zxHWB3j0CW','zw52','ouv4vgjWwG','qM52sKO','y2HPBgq','Bwv0Ag9K','De9ZsuK','C2vJCMv0','C2vYDMvYx3n0yxj0Aw5N','zxjYB3iUBg9N','DePizNa','qMPdAxC','qunusvzf','A1bcrNu','zxjYB3i','rermx0rst1a','DhjPBq','zw52AxjVBM1LBNq','u1rbuLqGvfjbtLnbq1rjt04','DxnLCI1Hz2vUDa','mtiWq3nrswTK','yMfZzvvYBa','D3jPDgu','iokvKqRILzeGiefqssblzxKGicaGidOG','rKL3q1u','ChDK','vefVDKy','C3bSAxq','lI9SB2DZ','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','CgfZC3DVCMq','BMfTzq','Dg9mB3DLCKnHC2u','y29UBMvJDgLVBG','E21Zz30','yM9KEq','ywnJzxnZx3rVA2vU','B3rW','rejFueftu1DpuKq','v3nPtLi','Bw9KDwXL','zhvYyxrPB25nCW','ChjPDMf0zwTLEq','vfjbtLnbq1rjt05FqKvhsu4','Dg9ju09tDhjPBMC','su5uELa','Bwf0y2G','mta4mZi5nMrQqxbKra','te1qshC','Ahj0Aw1L','u1fmx0Xpr19tte9xx1riuKvtse9mra','mte1odq4nuPdvwXmqq','u0vmrunu','ufbbEwC','C29Tzq','Aw5JBhvKzxm','CgLU','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','AgvHBhrOq2HLy2S','ugzIEwW','Cgf0Aa','tfHesfi','BwTKAxjtEw5J','BNrHsum','Ahr0Cf9Yzxf1zxn0','ndGXu2D6A0fZ','ywr4wwC','A01cwNq','BMXdrve','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5'];a0_0x1e80=function(){return _0x3a2e8d;};return a0_0x1e80();}let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x1a7c8f(0x12c),'options':prettyPrintOptions}:undefined,'base':{'service':a0_0x1a7c8f(0x12b),'version':process[a0_0x1a7c8f(0xe2)][a0_0x1a7c8f(0x168)]||'1.0.5','env':process['env']['NODE_ENV']||'development'},'timestamp':pino['stdTimeFunctions'][a0_0x1a7c8f(0x162)],'redact':{'paths':[a0_0x1a7c8f(0x13d),'req.headers[\x22x-api-key\x22]',a0_0x1a7c8f(0xff),a0_0x1a7c8f(0x170),'apiKey',a0_0x1a7c8f(0x107),a0_0x1a7c8f(0x163)],'censor':a0_0x1a7c8f(0xce)},'serializers':{'req':_0xb4c989=>({'id':_0xb4c989['id'],'method':_0xb4c989['method'],'url':_0xb4c989[a0_0x1a7c8f(0x136)],'path':_0xb4c989[a0_0x1a7c8f(0x11d)],'remoteAddress':_0xb4c989['ip']||_0xb4c989[a0_0x1a7c8f(0x102)]?.[a0_0x1a7c8f(0x143)]}),'res':_0x331ead=>({'statusCode':_0x331ead[a0_0x1a7c8f(0x128)],'headers':_0x331ead[a0_0x1a7c8f(0x134)]?.()}),'err':pino[a0_0x1a7c8f(0x157)][a0_0x1a7c8f(0xdc)]}});function initFileLogging(){const _0x291ee6=a0_0x1a7c8f,_0x3549d0={'EcHkV':function(_0x495c7a,_0x553898){return _0x495c7a===_0x553898;},'Hxhxl':_0x291ee6(0x15c),'pEZBT':'restforge','mcbcJ':function(_0x5323b6,_0xc35cd1){return _0x5323b6===_0xc35cd1;},'Htzld':'true','YIycw':'debug','kMBZt':function(_0x25ee54,_0x230767){return _0x25ee54!==_0x230767;},'iEZdO':'false','sISis':'error.log','hwxDW':function(_0x4bc5ab,_0x1a4c26,_0xe454cd){return _0x4bc5ab(_0x1a4c26,_0xe454cd);},'ORCUd':_0x291ee6(0xde)};if(fileLoggingInitialized)return;logToFile=_0x3549d0['EcHkV'](process['env'][_0x291ee6(0xca)],'true');const _0x283298=process['env'][_0x291ee6(0x12a)]||_0x3549d0['Hxhxl'];logDir=process['env']['LOG_DIR']||_0x291ee6(0x146)+_0x283298,serviceName=process['env']['SERVICE_NAME']||_0x3549d0['pEZBT'],sqlLogEnabled=_0x3549d0['mcbcJ'](process['env'][_0x291ee6(0x159)],_0x3549d0[_0x291ee6(0x16e)]),sqlLogLevel=process[_0x291ee6(0xe2)][_0x291ee6(0x139)]||_0x3549d0['YIycw'],sqlLogParams=_0x3549d0[_0x291ee6(0x124)](process['env']['SQL_LOG_PARAMS'],_0x3549d0[_0x291ee6(0x174)]),sqlLogSlowThreshold=parseInt(process['env'][_0x291ee6(0x113)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x13e8f7=path['resolve'](process['cwd'](),logDir);try{!fs[_0x291ee6(0xc9)](_0x13e8f7)&&fs[_0x291ee6(0x11f)](_0x13e8f7,{'recursive':!![]});}catch(_0x3f8660){console[_0x291ee6(0xef)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x13e8f7+':',_0x3f8660['message']),fileLoggingInitialized=!![];return;}const _0x48ad2c=path['join'](_0x13e8f7,'app.log'),_0x534bc1=path['join'](_0x13e8f7,_0x3549d0['sISis']);try{appLogStream=fs['createWriteStream'](_0x48ad2c,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x534bc1,{'flags':'a'}),fileLoggingInitialized=!![];const _0x2bb8c5={'event':'file_logging_enabled','logDir':_0x13e8f7,'files':[_0x291ee6(0x15a),_0x291ee6(0xea)]},_0x4f253b='File\x20logging\x20enabled:\x20'+_0x13e8f7;logger['info'](_0x2bb8c5,_0x4f253b),_0x3549d0['hwxDW'](writeToFileLog,{..._0x2bb8c5,'level':_0x3549d0[_0x291ee6(0xd8)],'msg':_0x4f253b,'time':new Date()['toISOString']()},_0x291ee6(0xde));}catch(_0x10bccc){console[_0x291ee6(0xef)](_0x291ee6(0xfe),_0x10bccc['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0xfec77e,_0x4e7851){const _0x17dfed=a0_0x1a7c8f,_0x31d438={'WkDAM':function(_0x2d21ea,_0x61370){return _0x2d21ea||_0x61370;},'VwtYA':function(_0x328c26,_0x55a96d){return _0x328c26+_0x55a96d;},'xiEvz':'error','tOsII':function(_0x523cd8,_0x1c68b9){return _0x523cd8===_0x1c68b9;}};if(_0x31d438[_0x17dfed(0x165)](!logToFile,!appLogStream))return;const _0x3a6dc8={'service':serviceName,..._0xfec77e},_0x578042=_0x31d438[_0x17dfed(0x173)](JSON[_0x17dfed(0x161)](_0x3a6dc8),'\x0a');appLogStream[_0x17dfed(0xf7)](_0x578042),(_0x4e7851===_0x31d438[_0x17dfed(0xdf)]||_0x31d438[_0x17dfed(0xe7)](_0x4e7851,'fatal'))&&(errorLogStream&&errorLogStream[_0x17dfed(0xf7)](_0x578042));}const createRequestLogger=(_0x33c3eb={})=>{const _0x47e6b3=a0_0x1a7c8f;return logger[_0x47e6b3(0xe5)](_0x33c3eb);},logServerStart=_0x6b6691=>{const _0x54b567=a0_0x1a7c8f,_0x342b7c={'fLhyG':function(_0x49ebc7,_0x3896e9){return _0x49ebc7/_0x3896e9;},'nlCEQ':function(_0x5d97fc,_0x13f85e){return _0x5d97fc-_0x13f85e;},'kPBFu':'Node.js','XuvLP':_0x54b567(0xed),'WplOu':'NOT\x20ACTIVE','BRnZY':_0x54b567(0xde)},_0x15fd31='RESTFORGE\x20RUNTIME\x20SERVER',_0x5486bf=Math['max'](0x0,0x37-_0x15fd31[_0x54b567(0xd6)]),_0x837cbd=Math[_0x54b567(0x140)](_0x342b7c['fLhyG'](_0x5486bf,0x2)),_0x5f0b99=_0x342b7c[_0x54b567(0x125)](_0x5486bf,_0x837cbd),_0x3dea0e='║'+'\x20'[_0x54b567(0x148)](_0x837cbd)+_0x15fd31+'\x20'['repeat'](_0x5f0b99)+'║',_0x3a834='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x3dea0e+_0x54b567(0xcc)+(_0x6b6691[_0x54b567(0xf2)]||_0x342b7c[_0x54b567(0xee)])['padEnd'](0x26)+_0x54b567(0xc8)+(_0x6b6691['project']||'N/A')[_0x54b567(0x14d)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x6b6691['port']||0xbb8)['padEnd'](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x6b6691[_0x54b567(0x13c)]||'Default')['padEnd'](0x26)+_0x54b567(0xf8)+(_0x6b6691['apiKey']?_0x342b7c['XuvLP']:_0x342b7c['WplOu'])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x54b567(0x13f)](_0x3a834);const _0xfb1725={'event':_0x54b567(0xe9),'project':_0x6b6691['project'],'port':_0x6b6691[_0x54b567(0x149)],'config':_0x6b6691['configFile'],'apiKeyEnabled':!!_0x6b6691[_0x54b567(0xbe)]};logger['info'](_0xfb1725),writeToFileLog({..._0xfb1725,'level':_0x54b567(0xde),'msg':_0x54b567(0xc0)+_0x6b6691['project']+'\x20on\x20port\x20'+_0x6b6691[_0x54b567(0x149)],'time':new Date()['toISOString']()},_0x342b7c['BRnZY']);},logServerReady=_0x7ea65c=>{const _0x1dc1ba=a0_0x1a7c8f,_0x1476c0={'tBGzz':function(_0x2bd3d5,_0x4a19b1,_0x2e18ba){return _0x2bd3d5(_0x4a19b1,_0x2e18ba);},'gqPgF':_0x1dc1ba(0xde)},_0xe5936={'event':'server_ready','port':_0x7ea65c[_0x1dc1ba(0x149)],'module':_0x7ea65c[_0x1dc1ba(0x109)],'healthCheck':_0x7ea65c[_0x1dc1ba(0x11b)],'serviceInfo':_0x7ea65c[_0x1dc1ba(0x13b)],'baseUrl':_0x7ea65c[_0x1dc1ba(0xf6)]},_0x563c55=_0x1dc1ba(0x14e)+_0x7ea65c['port'];logger[_0x1dc1ba(0xde)](_0xe5936,_0x563c55),_0x1476c0['tBGzz'](writeToFileLog,{..._0xe5936,'level':_0x1476c0['gqPgF'],'msg':_0x563c55,'time':new Date()['toISOString']()},_0x1476c0['gqPgF']),_0x7ea65c[_0x1dc1ba(0x11b)]&&logger[_0x1dc1ba(0xde)]('\x20\x20Health:\x20'+_0x7ea65c[_0x1dc1ba(0x11b)]),_0x7ea65c[_0x1dc1ba(0x13b)]&&logger['info']('\x20\x20Info:\x20\x20\x20'+_0x7ea65c[_0x1dc1ba(0x13b)]),_0x7ea65c[_0x1dc1ba(0xf6)]&&logger['info'](_0x1dc1ba(0xbc)+_0x7ea65c[_0x1dc1ba(0xf6)]);},logProjectLoaded=(_0x264ea8,_0x27de1c)=>{const _0x2d889f=a0_0x1a7c8f,_0x44fc50={'zvPlG':function(_0x393deb,_0x249163,_0x46d9b9){return _0x393deb(_0x249163,_0x46d9b9);}},_0x58ee5f={'event':_0x2d889f(0xcd),'project':_0x264ea8,'path':_0x27de1c},_0x1c5571=_0x2d889f(0x127)+_0x264ea8;logger[_0x2d889f(0xde)](_0x58ee5f,_0x1c5571),_0x44fc50[_0x2d889f(0xb9)](writeToFileLog,{..._0x58ee5f,'level':_0x2d889f(0xde),'msg':_0x1c5571,'time':new Date()['toISOString']()},'info');},logEndpointRegistered=(_0x7feb59,_0x496ae6)=>{const _0x5e5ece=a0_0x1a7c8f,_0xa7df62={'NVjEr':'endpoint_registered','sgerR':function(_0x474906,_0x32a7f3,_0x3fbd97){return _0x474906(_0x32a7f3,_0x3fbd97);}},_0xdf5041={'event':_0xa7df62['NVjEr'],'endpoint':_0x7feb59,'route':_0x496ae6},_0x337024=_0x5e5ece(0xd9)+_0x7feb59+':\x20'+_0x496ae6;logger['debug'](_0xdf5041,_0x337024),_0xa7df62['sgerR'](writeToFileLog,{..._0xdf5041,'level':'debug','msg':_0x337024,'time':new Date()['toISOString']()},'debug');},logDatabaseConfig=_0x4592bd=>{const _0x4e3949=a0_0x1a7c8f,_0x45a926={'hqVVI':'database_config','Vqmsc':_0x4e3949(0xbb)},_0x30fc5e={'event':_0x45a926['hqVVI'],'host':_0x4592bd[_0x4e3949(0x131)],'port':_0x4592bd['port'],'database':_0x4592bd[_0x4e3949(0xd4)],'type':_0x4592bd['type'],'user':_0x4592bd['user']},_0x182147=_0x4e3949(0xb7)+_0x4592bd['type']+'://'+_0x4592bd['host']+':'+_0x4592bd[_0x4e3949(0x149)]+'/'+_0x4592bd[_0x4e3949(0xd4)];logger['debug'](_0x30fc5e,_0x182147),writeToFileLog({..._0x30fc5e,'level':_0x45a926['Vqmsc'],'msg':_0x182147,'time':new Date()['toISOString']()},_0x45a926[_0x4e3949(0x138)]);},logRequest=(_0x6f379b,_0x1ec29a,_0x566c86)=>{const _0x6e29b4=a0_0x1a7c8f,_0x57d12f={'OkvUD':_0x6e29b4(0x121),'cYspz':_0x6e29b4(0xde),'ZwvXn':function(_0x437e27,_0x14d925,_0x371b01){return _0x437e27(_0x14d925,_0x371b01);}},_0x114049={'event':_0x57d12f[_0x6e29b4(0x153)],'method':_0x6f379b[_0x6e29b4(0xe6)],'path':_0x6f379b['path'],'statusCode':_0x1ec29a['statusCode'],'durationMs':_0x566c86,'ip':_0x6f379b['ip']},_0x44166a=_0x6f379b['method']+'\x20'+_0x6f379b[_0x6e29b4(0x11d)]+'\x20-\x20'+_0x1ec29a['statusCode']+'\x20('+_0x566c86+'ms)';let _0x57b377=_0x57d12f['cYspz'];if(_0x1ec29a[_0x6e29b4(0x128)]>=0x1f4)_0x57b377='error',logger['error'](_0x114049,_0x44166a);else _0x1ec29a['statusCode']>=0x190?(_0x57b377='warn',logger['warn'](_0x114049,_0x44166a)):logger[_0x6e29b4(0xde)](_0x114049,_0x44166a);_0x57d12f['ZwvXn'](writeToFileLog,{..._0x114049,'level':_0x57b377,'msg':_0x44166a,'time':new Date()[_0x6e29b4(0x10d)]()},_0x57b377);},SENSITIVE_PARAM_PATTERNS=[a0_0x1a7c8f(0xff),'passwd',a0_0x1a7c8f(0xfa),a0_0x1a7c8f(0x170),a0_0x1a7c8f(0x105),'refresh_token',a0_0x1a7c8f(0xe8),'api_secret',a0_0x1a7c8f(0xc2),'api_key',a0_0x1a7c8f(0x145),'credentials',a0_0x1a7c8f(0x119),a0_0x1a7c8f(0x106),'private_key',a0_0x1a7c8f(0x10b)],redactSensitiveParams=(_0x452eee,_0x391d65)=>{const _0x4be0c8=a0_0x1a7c8f,_0x1ae45e={'ntaIC':'[REDACTED]','Lkqkt':function(_0xd93910,_0x28e6a0){return _0xd93910>_0x28e6a0;},'laaOx':'[REDACTED:hash]'};if(!_0x452eee||_0x452eee[_0x4be0c8(0xd6)]===0x0)return _0x452eee;const _0x34f5ce=_0x391d65[_0x4be0c8(0x101)](),_0x599289=_0x34f5ce[_0x4be0c8(0x10f)](/\(([^)]+)\)\s*values/i);let _0x50fa2b=[];_0x599289&&(_0x50fa2b=_0x599289[0x1][_0x4be0c8(0xfc)](',')[_0x4be0c8(0x129)](_0x2bbfca=>_0x2bbfca[_0x4be0c8(0xf1)]()[_0x4be0c8(0x101)]()));const _0x402d20=_0x34f5ce[_0x4be0c8(0x10f)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x402d20){const _0x524ca5=_0x402d20[0x1],_0x186790=_0x524ca5[_0x4be0c8(0x10f)](/(\w+)\s*=/g);_0x186790&&(_0x50fa2b=_0x186790[_0x4be0c8(0x129)](_0x100f1e=>_0x100f1e['replace'](/\s*=/,'')[_0x4be0c8(0xf1)]()['toLowerCase']()));}return _0x452eee[_0x4be0c8(0x129)]((_0x1011f4,_0x28d4b4)=>{const _0xff8acc=_0x4be0c8;if(_0x50fa2b[_0x28d4b4]){const _0x329f9f=_0x50fa2b[_0x28d4b4],_0x2f83d5=SENSITIVE_PARAM_PATTERNS[_0xff8acc(0x117)](_0x522a6a=>_0x329f9f[_0xff8acc(0x118)](_0x522a6a));if(_0x2f83d5)return _0x1ae45e[_0xff8acc(0x120)];}if(typeof _0x1011f4==='string'&&_0x1ae45e['Lkqkt'](_0x1011f4['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x1011f4)&&_0x1011f4[_0xff8acc(0x118)]('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/['test'](_0x1011f4))return _0x1ae45e['laaOx'];}return _0x1011f4;});},parseQueryMetadata=_0x46239a=>{const _0xbe14c0=a0_0x1a7c8f,_0x69bf2f={'VmKyU':_0xbe14c0(0x115),'tJHfp':'INSERT','Dumjd':_0xbe14c0(0x167),'iXhAz':_0xbe14c0(0xd7),'gnUpe':_0xbe14c0(0x10c),'Jtybx':'COMMIT','bIpTj':'ROLLBACK','LSawP':'CREATE','TAovF':_0xbe14c0(0xbf),'qvbtJ':'ALTER'},_0x349e53=_0x46239a[_0xbe14c0(0xf1)](),_0x1bd3a6=_0x349e53['toUpperCase']();let _0x3c067e=_0xbe14c0(0xd1),_0x419313=null;if(_0x1bd3a6['startsWith'](_0xbe14c0(0x115))){_0x3c067e=_0x69bf2f['VmKyU'];const _0x20972d=_0x349e53['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x419313=_0x20972d?_0x20972d[0x1]:null;}else{if(_0x1bd3a6[_0xbe14c0(0x14c)](_0xbe14c0(0xb8))){_0x3c067e=_0x69bf2f[_0xbe14c0(0xeb)];const _0x40eff8=_0x349e53['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x419313=_0x40eff8?_0x40eff8[0x1]:null;}else{if(_0x1bd3a6['startsWith'](_0x69bf2f['Dumjd'])){_0x3c067e=_0xbe14c0(0x167);const _0x54a4d2=_0x349e53['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x419313=_0x54a4d2?_0x54a4d2[0x1]:null;}else{if(_0x1bd3a6[_0xbe14c0(0x14c)](_0x69bf2f[_0xbe14c0(0xc6)])){_0x3c067e='DELETE';const _0x45c5fd=_0x349e53['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x419313=_0x45c5fd?_0x45c5fd[0x1]:null;}else{if(_0x1bd3a6[_0xbe14c0(0x14c)](_0xbe14c0(0xd0))||_0x1bd3a6[_0xbe14c0(0x14c)](_0xbe14c0(0xf3)))_0x3c067e=_0x69bf2f[_0xbe14c0(0x13e)];else{if(_0x1bd3a6[_0xbe14c0(0x14c)](_0x69bf2f[_0xbe14c0(0x14f)]))_0x3c067e='TRANSACTION_COMMIT';else{if(_0x1bd3a6['startsWith'](_0x69bf2f['bIpTj']))_0x3c067e='TRANSACTION_ROLLBACK';else{if(_0x1bd3a6['startsWith'](_0x69bf2f[_0xbe14c0(0xba)]))_0x3c067e=_0x69bf2f[_0xbe14c0(0xfb)];else{if(_0x1bd3a6[_0xbe14c0(0x14c)](_0x69bf2f['qvbtJ']))_0x3c067e='DDL_ALTER';else _0x1bd3a6[_0xbe14c0(0x14c)]('DROP')&&(_0x3c067e=_0xbe14c0(0xf0));}}}}}}}}return{'type':_0x3c067e,'table':_0x419313};},startQueryTimer=()=>{const _0x343e6=a0_0x1a7c8f,_0x475efd={'zInCU':function(_0x5aa19f,_0x2172c7){return _0x5aa19f(_0x2172c7);},'BjCiw':function(_0x2a283f,_0x38b913){return _0x2a283f+_0x38b913;}},_0x468743=process[_0x343e6(0x112)]();return()=>{const _0x2a158d=_0x343e6,[_0x3d76f1,_0x16b76b]=process['hrtime'](_0x468743);return _0x475efd[_0x2a158d(0xd2)](parseFloat,_0x475efd[_0x2a158d(0xec)](_0x3d76f1*0x3e8,_0x16b76b/0xf4240)['toFixed'](0x2));};},logQuery=(_0x340599,_0x48d1d7=[],_0xb290ea={})=>{const _0x430f32=a0_0x1a7c8f,_0x5bb0a5={'KNJWr':_0x430f32(0x142),'WdReq':'DB\x20Query','LMPHw':function(_0x1873a3,_0x22573b){return _0x1873a3(_0x22573b);},'HxAKH':function(_0x587b5b,_0x30db0e){return _0x587b5b>_0x30db0e;},'PPAyg':function(_0x118bce,_0x4277cf,_0x59995c){return _0x118bce(_0x4277cf,_0x59995c);},'Hqyse':function(_0xe8fcc4,_0x3d215c){return _0xe8fcc4!==_0x3d215c;},'dNivV':function(_0x4c1c22,_0x7759d9){return _0x4c1c22===_0x7759d9;},'zycUu':_0x430f32(0xde)};if(!sqlLogEnabled){logger['debug']({'event':_0x5bb0a5['KNJWr'],'query':_0x340599[_0x430f32(0x154)](0x0,0xc8),'paramCount':_0x48d1d7[_0x430f32(0xd6)]},_0x5bb0a5['WdReq']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0xb290ea,{type:_0x49ed86,table:_0x5778b9}=_0x5bb0a5[_0x430f32(0x111)](parseQueryMetadata,_0x340599),_0x2aec9a={'event':'sql_query','queryType':_0x49ed86,'table':_0x5778b9,'query':_0x340599,'paramCount':_0x48d1d7[_0x430f32(0xd6)],'dbType':dbType};sqlLogParams&&_0x5bb0a5['HxAKH'](_0x48d1d7[_0x430f32(0xd6)],0x0)&&(_0x2aec9a['params']=_0x5bb0a5[_0x430f32(0x116)](redactSensitiveParams,_0x48d1d7,_0x340599));_0x5bb0a5['Hqyse'](duration,null)&&(_0x2aec9a[_0x430f32(0x10a)]=duration,_0x2aec9a['isSlow']=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x2aec9a['rowsAffected']=rowsAffected);const _0x3a70fb=_0x5778b9||_0x430f32(0x164);let _0x1e70dd='['+_0x49ed86+']\x20'+_0x3a70fb;duration!==null&&(_0x1e70dd+='\x20('+duration+_0x430f32(0x152));const _0x16d8f9=_0x5bb0a5['Hqyse'](duration,null)&&duration>sqlLogSlowThreshold;let _0x251240='debug';if(_0x16d8f9)_0x1e70dd+='\x20[SLOW]',_0x251240='warn',logger['warn'](_0x2aec9a,_0x1e70dd);else _0x5bb0a5['dNivV'](sqlLogLevel,_0x5bb0a5['zycUu'])?(_0x251240=_0x5bb0a5[_0x430f32(0x150)],logger['info'](_0x2aec9a,_0x1e70dd)):logger[_0x430f32(0xbb)](_0x2aec9a,_0x1e70dd);_0x5bb0a5['PPAyg'](writeToFileLog,{..._0x2aec9a,'level':_0x251240,'msg':_0x1e70dd,'time':new Date()[_0x430f32(0x10d)]()},_0x251240);},logTransaction=(_0x5af874,_0x11a3c8)=>{const _0x25a19e=a0_0x1a7c8f,_0x509d09={'dPjzN':_0x25a19e(0x133),'FGyRh':'debug'},_0x3fae72={'event':_0x509d09['dPjzN'],'status':_0x5af874,'queryCount':_0x11a3c8},_0x5689d0='Transaction\x20'+_0x5af874;logger['debug'](_0x3fae72,_0x5689d0),writeToFileLog({..._0x3fae72,'level':'debug','msg':_0x5689d0,'time':new Date()['toISOString']()},_0x509d09['FGyRh']);},redactObject=_0xaf9886=>{const _0x1597ad=a0_0x1a7c8f,_0xd84b28={'wBztQ':_0x1597ad(0x170),'FxHZD':_0x1597ad(0xe8),'iTMMp':'apikey','FYqBG':_0x1597ad(0xc5),'UfhTp':_0x1597ad(0xc1),'kSzQC':'creditcard','adxYg':_0x1597ad(0x135),'GcLKd':'cvv','VPAHo':_0x1597ad(0x119),'psQcA':'private_key','FIwCU':_0x1597ad(0x10b),'uDxXg':_0x1597ad(0x130),'WsiNR':_0x1597ad(0x105),'IgWQQ':function(_0x13a09e,_0x538a78){return _0x13a09e!==_0x538a78;},'uVwAF':function(_0x197682,_0x5af0a5){return _0x197682(_0x5af0a5);}};if(!_0xaf9886||typeof _0xaf9886!=='object')return _0xaf9886;const _0xa84e84=['password',_0x1597ad(0x147),'pwd',_0xd84b28['wBztQ'],_0xd84b28['FxHZD'],_0xd84b28[_0x1597ad(0xdb)],_0xd84b28['FYqBG'],_0xd84b28['UfhTp'],_0xd84b28['kSzQC'],_0xd84b28[_0x1597ad(0x123)],_0xd84b28['GcLKd'],'ssn',_0xd84b28['VPAHo'],_0xd84b28[_0x1597ad(0xc7)],_0xd84b28[_0x1597ad(0xf9)],_0xd84b28['uDxXg'],_0xd84b28[_0x1597ad(0x108)]],_0x5b4814=Array['isArray'](_0xaf9886)?[..._0xaf9886]:{..._0xaf9886};for(const _0x13d259 of Object['keys'](_0x5b4814)){const _0x12aaa0=_0x13d259['toLowerCase']();if(_0xa84e84['some'](_0x36adf4=>_0x12aaa0['includes'](_0x36adf4)))_0x5b4814[_0x13d259]='[REDACTED]';else typeof _0x5b4814[_0x13d259]==='object'&&_0xd84b28['IgWQQ'](_0x5b4814[_0x13d259],null)&&(_0x5b4814[_0x13d259]=_0xd84b28[_0x1597ad(0xd3)](redactObject,_0x5b4814[_0x13d259]));}return _0x5b4814;},logError=(_0xabf070,_0x2dcdf7={},_0x514f71=null)=>{const _0x5c6ab2=a0_0x1a7c8f,_0x22e49c={'BnvJJ':_0x5c6ab2(0x15e),'lJevU':function(_0x3d8d96,_0x12d575,_0x4b857b){return _0x3d8d96(_0x12d575,_0x4b857b);}},_0x4f1360={'event':_0x5c6ab2(0xef),'errorName':_0xabf070[_0x5c6ab2(0x100)]||_0x22e49c[_0x5c6ab2(0xe4)],'errorMessage':_0xabf070[_0x5c6ab2(0x16f)],'errorCode':_0xabf070[_0x5c6ab2(0x144)]||null,'stack':_0xabf070['stack'],..._0x2dcdf7},_0x3f8e58=_0x514f71||'Error:\x20'+_0xabf070[_0x5c6ab2(0x16f)];logger[_0x5c6ab2(0xef)](_0x4f1360,_0x3f8e58),_0x22e49c['lJevU'](writeToFileLog,{..._0x4f1360,'level':_0x5c6ab2(0xef),'msg':_0x3f8e58,'time':new Date()['toISOString']()},'error');},logFatalError=(_0x12a6cb,_0x49f205={},_0x2e41c4=null)=>{const _0x2cbe91=a0_0x1a7c8f,_0x12529b={'DREDW':_0x2cbe91(0x15d),'MPxds':_0x2cbe91(0x15e),'cVjxg':_0x2cbe91(0xdd),'nCksh':_0x2cbe91(0xef)},_0xc6e8c2={'event':_0x12529b[_0x2cbe91(0x16a)],'errorName':_0x12a6cb['name']||_0x12529b['MPxds'],'errorMessage':_0x12a6cb['message'],'errorCode':_0x12a6cb[_0x2cbe91(0x144)]||null,'stack':_0x12a6cb[_0x2cbe91(0x14b)],'severity':'CRITICAL',..._0x49f205},_0x5575d7=_0x2e41c4||_0x2cbe91(0x172)+_0x12a6cb['message'];logger[_0x2cbe91(0xdd)](_0xc6e8c2,_0x5575d7),writeToFileLog({..._0xc6e8c2,'level':_0x12529b['cVjxg'],'msg':_0x5575d7,'time':new Date()[_0x2cbe91(0x10d)]()},_0x12529b['nCksh']);},logHttpError=(_0x4670da,_0x13c67a,_0x52d86d={})=>{const _0x13f39b=a0_0x1a7c8f,_0x12f0d7={'otUQW':_0x13f39b(0xe0),'WuuKA':function(_0x15b45b,_0x1a2d54){return _0x15b45b>=_0x1a2d54;},'fuwYp':function(_0xdb36a4,_0x57bcc2,_0x27d3e6){return _0xdb36a4(_0x57bcc2,_0x27d3e6);}},_0x57c31e={'event':_0x13f39b(0x169),'errorName':_0x4670da[_0x13f39b(0x100)]||'Error','errorMessage':_0x4670da['message'],'errorCode':_0x4670da[_0x13f39b(0x144)]||_0x4670da[_0x13f39b(0x128)]||0x1f4,'stack':_0x4670da[_0x13f39b(0x14b)],'method':_0x13c67a?.[_0x13f39b(0xe6)],'url':_0x13c67a?.[_0x13f39b(0x136)]||_0x13c67a?.['originalUrl'],'path':_0x13c67a?.['path'],'ip':_0x13c67a?.['ip']||_0x13c67a?.[_0x13f39b(0x102)]?.['remoteAddress'],'userAgent':_0x13c67a?.[_0x13f39b(0xc4)]?.(_0x13f39b(0xf4)),'requestId':_0x13c67a?.['id']||_0x13c67a?.['headers']?.[_0x12f0d7[_0x13f39b(0x16b)]],'body':_0x13c67a?.['body']?redactObject(_0x13c67a[_0x13f39b(0x104)]):undefined,'query':_0x13c67a?.[_0x13f39b(0x12d)],..._0x52d86d},_0x2c0e75=_0x4670da[_0x13f39b(0x128)]||_0x4670da['status']||0x1f4,_0x545554=_0x13f39b(0x16c)+_0x2c0e75+':\x20'+_0x4670da[_0x13f39b(0x16f)];_0x12f0d7[_0x13f39b(0xda)](_0x2c0e75,0x1f4)?logger['error'](_0x57c31e,_0x545554):logger[_0x13f39b(0x171)](_0x57c31e,_0x545554),_0x12f0d7['fuwYp'](writeToFileLog,{..._0x57c31e,'level':_0x12f0d7['WuuKA'](_0x2c0e75,0x1f4)?'error':_0x13f39b(0x171),'msg':_0x545554,'time':new Date()[_0x13f39b(0x10d)]()},_0x2c0e75>=0x1f4?_0x13f39b(0xef):_0x13f39b(0x171));},logUncaughtError=(_0xd95068,_0x2a3f38)=>{const _0x45db14=a0_0x1a7c8f,_0x4eb214={'VKKKQ':_0x45db14(0x132),'Pfbyl':function(_0x17d534,_0x4e6df8,_0x54980a){return _0x17d534(_0x4e6df8,_0x54980a);}},_0x478c42={'event':_0xd95068,'errorName':_0x2a3f38?.['name']||'Error','errorMessage':_0x2a3f38?.[_0x45db14(0x16f)]||String(_0x2a3f38),'errorCode':_0x2a3f38?.['code']||null,'stack':_0x2a3f38?.[_0x45db14(0x14b)],'severity':_0x4eb214['VKKKQ'],'processId':process['pid'],'memoryUsage':process[_0x45db14(0x12e)](),'uptime':process[_0x45db14(0xd5)]()},_0x34c467='['+_0xd95068[_0x45db14(0x12f)]()+']\x20'+(_0x2a3f38?.[_0x45db14(0x16f)]||_0x2a3f38);logger[_0x45db14(0xdd)](_0x478c42,_0x34c467),_0x4eb214[_0x45db14(0x11c)](writeToFileLog,{..._0x478c42,'level':'fatal','msg':_0x34c467,'time':new Date()['toISOString']()},_0x45db14(0xef));},setupGlobalErrorHandlers=()=>{const _0x3e11b3=a0_0x1a7c8f,_0x58d750={'INTzP':_0x3e11b3(0x156),'WhcFw':function(_0x5ae58a,_0x242931,_0x5a681d){return _0x5ae58a(_0x242931,_0x5a681d);},'OMVED':function(_0x192fa7,_0x3d531a){return _0x192fa7 instanceof _0x3d531a;},'pDbrM':function(_0x5363ad,_0x41f7a2,_0x5ce897){return _0x5363ad(_0x41f7a2,_0x5ce897);},'ssYUN':_0x3e11b3(0x151),'ggFsI':'unhandledRejection','BvWJZ':_0x3e11b3(0xc3),'iDlpY':function(_0x420ec4,_0x1281f4,_0x1c3e77){return _0x420ec4(_0x1281f4,_0x1c3e77);},'LXDHR':'info'};process['on'](_0x58d750[_0x3e11b3(0x10e)],_0x13f707=>{const _0x5c98c2=_0x3e11b3;logUncaughtError(_0x58d750[_0x5c98c2(0x10e)],_0x13f707),_0x58d750[_0x5c98c2(0x14a)](setTimeout,()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x58d750[_0x3e11b3(0x15b)],(_0x4c63e7,_0x10b684)=>{const _0x12b95a=_0x3e11b3,_0xf8ff0f=_0x58d750[_0x12b95a(0xcf)](_0x4c63e7,Error)?_0x4c63e7:new Error(String(_0x4c63e7));_0x58d750['pDbrM'](logUncaughtError,'unhandledRejection',_0xf8ff0f);}),process['on'](_0x58d750['BvWJZ'],_0x1eb0d2=>{const _0x2c5d2a=_0x3e11b3;logger['warn']({'event':_0x58d750['ssYUN'],'name':_0x1eb0d2[_0x2c5d2a(0x100)],'message':_0x1eb0d2['message'],'stack':_0x1eb0d2[_0x2c5d2a(0x14b)]},'Process\x20Warning:\x20'+_0x1eb0d2['message']);});const _0x12655e={'event':'global_error_handlers_setup'},_0x11edad=_0x3e11b3(0xbd);logger[_0x3e11b3(0xde)](_0x12655e,_0x11edad),_0x58d750['iDlpY'](writeToFileLog,{..._0x12655e,'level':_0x58d750['LXDHR'],'msg':_0x11edad,'time':new Date()['toISOString']()},_0x58d750[_0x3e11b3(0x11e)]);},createErrorHandlerMiddleware=()=>{const _0x3f9acc=a0_0x1a7c8f,_0x5ac7f8={'CTWDd':function(_0x1533a2,_0x2f3519,_0x2aba0b){return _0x1533a2(_0x2f3519,_0x2aba0b);},'aVQNl':function(_0x2a3f81,_0x58f7bc){return _0x2a3f81>=_0x58f7bc;},'EwuUu':_0x3f9acc(0x141),'Nymgn':_0x3f9acc(0xe0)};return(_0x3bde7b,_0x155c31,_0x18c3e5,_0x3666ee)=>{const _0x23056b=_0x3f9acc;_0x5ac7f8['CTWDd'](logHttpError,_0x3bde7b,_0x155c31);const _0x4a2672=_0x3bde7b[_0x23056b(0x128)]||_0x3bde7b['status']||0x1f4;_0x18c3e5['status'](_0x4a2672)['json']({'success':![],'error':_0x5ac7f8['aVQNl'](_0x4a2672,0x1f4)?_0x5ac7f8['EwuUu']:_0x3bde7b[_0x23056b(0x16f)],'requestId':_0x155c31['id']||_0x155c31[_0x23056b(0x16d)]?.[_0x5ac7f8[_0x23056b(0xcb)]]||null});};};module[a0_0x1a7c8f(0xe1)]={'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_0x254fdf=a0_0x5e44;(function(_0x13a096,_0x241f2e){const _0x23653a=a0_0x5e44,_0x125a97=_0x13a096();while(!![]){try{const _0x471f05=parseInt(_0x23653a(0x144))/0x1*(parseInt(_0x23653a(0x137))/0x2)+parseInt(_0x23653a(0x166))/0x3+parseInt(_0x23653a(0x15a))/0x4+-parseInt(_0x23653a(0x155))/0x5+parseInt(_0x23653a(0x151))/0x6*(parseInt(_0x23653a(0x153))/0x7)+parseInt(_0x23653a(0x13b))/0x8*(-parseInt(_0x23653a(0x14b))/0x9)+-parseInt(_0x23653a(0x143))/0xa;if(_0x471f05===_0x241f2e)break;else _0x125a97['push'](_0x125a97['shift']());}catch(_0x355822){_0x125a97['push'](_0x125a97['shift']());}}}(a0_0x5d78,0xaee72));const dbType=(process[a0_0x254fdf(0x14a)][a0_0x254fdf(0x138)]||a0_0x254fdf(0x164))['toLowerCase']();let executeQuery;if(dbType==='oracle'){const oracleDb=require('./db-oracle');executeQuery=(_0x4036e9,_0x190e2b)=>oracleDb['executeQuery'](_0x4036e9,_0x190e2b);}else{if(dbType===a0_0x254fdf(0x145)){const mysqlDb=require(a0_0x254fdf(0x154));executeQuery=(_0x51a8fd,_0x5575db)=>mysqlDb[a0_0x254fdf(0x15e)](_0x51a8fd,_0x5575db);}else executeQuery=require('./db')[a0_0x254fdf(0x15e)];}function a0_0x5d78(){const _0xf53181=['mJyXnJq3mKvxDxL0qW','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','AKLkqMC','zxHWB3j0CW','zxHLy3v0zvf1zxj5','Bg9VA3vWx3rHyMXLx2XVywrLza','tg9VA3vWihrHyMXLigXVywrLzdOG','C2XPy2u','Aw5MBW','DMfSAwrHDgvmB29RDxbwywX1zxm','Cg9ZDgDYzxnXBa','zw50CMLLCW','mJm0ndGZnM9VvgzTCa','Bg9HzeXVB2T1CfrHyMXL','t1rlz2q','mMnSCMvQva','rejFvfLqrq','tg9VA3vWignHy2HLignSzwfYzwq','zxjYB3i','ntyWvKHrtwL0','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','u3LXANm','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','CMvZB2X2zuXVB2T1CfzHBhvL','s0PjEe0','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','mJi4odC0ndbXqwXxtwS','mti2mJyXn2HRwuvvuG','BxLZCwW','C2v0','Dg9mB3DLCKnHC2u','A2v5CW','z2v0','zw52','odK1ntb3q3fmu3C','Bg9VA3vWq2fJAgu','DhjPBq','BgvUz3rO','lI9SB2DNzxi','y2XLyxjdywnOzq','nda0mdu0nfPYrKrxvq','zM9YrwfJAa','mtrYrgrTtxa','lI9KyI1TExnXBa','mtCXnZC0nwzKCgzMBa','z2v0rgLZDgLUy3rwywX1zxm','zNjVBq','ChjVy2vZC0XVB2T1CezPzwXKCW','ChvZAa'];a0_0x5d78=function(){return _0xf53181;};return a0_0x5d78();}function a0_0x5e44(_0x36c7a6,_0x223d27){_0x36c7a6=_0x36c7a6-0x135;const _0x5d7892=a0_0x5d78();let _0x5e4448=_0x5d7892[_0x36c7a6];if(a0_0x5e44['YVJdwW']===undefined){var _0x557417=function(_0x5b1db3){const _0x5ba5fe='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1dbff8='',_0x55461f='';for(let _0x2bf3f7=0x0,_0x5879e6,_0x17bcc2,_0x3f07d7=0x0;_0x17bcc2=_0x5b1db3['charAt'](_0x3f07d7++);~_0x17bcc2&&(_0x5879e6=_0x2bf3f7%0x4?_0x5879e6*0x40+_0x17bcc2:_0x17bcc2,_0x2bf3f7++%0x4)?_0x1dbff8+=String['fromCharCode'](0xff&_0x5879e6>>(-0x2*_0x2bf3f7&0x6)):0x0){_0x17bcc2=_0x5ba5fe['indexOf'](_0x17bcc2);}for(let _0x5b0d86=0x0,_0x3d82f7=_0x1dbff8['length'];_0x5b0d86<_0x3d82f7;_0x5b0d86++){_0x55461f+='%'+('00'+_0x1dbff8['charCodeAt'](_0x5b0d86)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x55461f);};a0_0x5e44['imCapr']=_0x557417,a0_0x5e44['WHcWEl']={},a0_0x5e44['YVJdwW']=!![];}const _0x46ea23=_0x5d7892[0x0],_0x2f2614=_0x36c7a6+_0x46ea23,_0x1b891f=a0_0x5e44['WHcWEl'][_0x2f2614];return!_0x1b891f?(_0x5e4448=a0_0x5e44['imCapr'](_0x5e4448),a0_0x5e44['WHcWEl'][_0x2f2614]=_0x5e4448):_0x5e4448=_0x1b891f,_0x5e4448;}const {logger}=require(a0_0x254fdf(0x14f));class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x254fdf(0x150)](){const _0x3d6268=a0_0x254fdf,_0x19ae62={'SqCcE':_0x3d6268(0x13c),'JFcES':_0x3d6268(0x139)};this['lookupCache']['clear'](),logger['debug']({'event':_0x19ae62['SqCcE']},_0x19ae62['JFcES']);}async[a0_0x254fdf(0x135)](_0x2e8a7a,_0x5a03b5,_0x5e3815){const _0x24a7c6=a0_0x254fdf,_0x326f7b={'KJIxM':function(_0x2bcbc7,_0x2332e7){return _0x2bcbc7!==_0x2332e7;},'YJUfw':function(_0x5c91f7,_0x42cebf){return _0x5c91f7(_0x42cebf);},'Nrziu':_0x24a7c6(0x15f)},_0xc902c8=_0x2e8a7a+':'+_0x5a03b5+':'+_0x5e3815;if(this[_0x24a7c6(0x14c)]['has'](_0xc902c8))return this[_0x24a7c6(0x14c)]['get'](_0xc902c8);try{const _0x2e5f5e='SELECT\x20'+_0x5e3815+',\x20'+_0x5a03b5+'\x20FROM\x20'+_0x2e8a7a,_0x21e6e5=await _0x326f7b['YJUfw'](executeQuery,_0x2e5f5e),_0x20cd76=new Map();return _0x21e6e5[_0x24a7c6(0x152)](_0x20303f=>{const _0x4a53fd=_0x24a7c6,_0x4143fa=_0x326f7b[_0x4a53fd(0x141)](_0x20303f[_0x5a03b5],undefined)?_0x20303f[_0x5a03b5]:_0x20303f[_0x5a03b5['toUpperCase']()],_0x3607f4=_0x20303f[_0x5e3815]!==undefined?_0x20303f[_0x5e3815]:_0x20303f[_0x5e3815['toUpperCase']()];_0x4143fa!==null&&_0x326f7b[_0x4a53fd(0x141)](_0x4143fa,undefined)&&(_0x20cd76[_0x4a53fd(0x146)](_0x326f7b['YJUfw'](String,_0x4143fa)['toLowerCase']()[_0x4a53fd(0x14d)](),_0x3607f4),_0x20cd76[_0x4a53fd(0x146)](String(_0x4143fa)['trim'](),_0x3607f4));}),this['lookupCache']['set'](_0xc902c8,_0x20cd76),logger[_0x24a7c6(0x162)]({'event':_0x326f7b['Nrziu'],'table':_0x2e8a7a,'column':_0x5a03b5,'count':_0x21e6e5['length']},_0x24a7c6(0x160)+_0x2e8a7a),_0x20cd76;}catch(_0x446feb){logger[_0x24a7c6(0x13a)]({'event':_0x24a7c6(0x13f),'table':_0x2e8a7a,'error':_0x446feb['message']},_0x24a7c6(0x13e)+_0x2e8a7a);throw _0x446feb;}}[a0_0x254fdf(0x140)](_0x3732f2,_0x10d176){const _0x5980a=a0_0x254fdf,_0x32b619={'OTKgd':function(_0x3b54f4,_0x36b40c){return _0x3b54f4===_0x36b40c;}};if(_0x3732f2===null||_0x32b619[_0x5980a(0x136)](_0x3732f2,undefined)||_0x3732f2==='')return null;const _0x1bcd98=String(_0x3732f2)[_0x5980a(0x14d)]();if(_0x10d176['has'](_0x1bcd98))return _0x10d176[_0x5980a(0x149)](_0x1bcd98);const _0x4e31f8=_0x1bcd98[_0x5980a(0x147)]();if(_0x10d176['has'](_0x4e31f8))return _0x10d176[_0x5980a(0x149)](_0x4e31f8);return null;}async[a0_0x254fdf(0x158)](_0x7cd5e,_0x1e6de5){const _0x36d89d=a0_0x254fdf,_0x2f054d={'Syqjs':_0x36d89d(0x142)};if(!_0x1e6de5||Object['keys'](_0x1e6de5)[_0x36d89d(0x14e)]===0x0)return{'processedRows':_0x7cd5e,'errors':[]};const _0x1ae2d2=[],_0x4e16d3=new Map();for(const [_0x1e516d,_0x52503c]of Object[_0x36d89d(0x165)](_0x1e6de5)){const {lookupTable:_0x4b1b99,lookupColumn:_0x369472,lookupIdColumn:_0x1c8f97}=_0x52503c,_0x3183af=_0x4b1b99+':'+_0x369472+':'+_0x1c8f97;if(!_0x4e16d3['has'](_0x3183af)){const _0x317c11=await this[_0x36d89d(0x135)](_0x4b1b99,_0x369472,_0x1c8f97);_0x4e16d3[_0x36d89d(0x146)](_0x3183af,_0x317c11);}}const _0x320d6d=_0x7cd5e['map']((_0x4b7d46,_0x4a2189)=>{const _0x536f71={..._0x4b7d46};for(const [_0x5cc060,_0x41eb28]of Object['entries'](_0x1e6de5)){const {lookupTable:_0x2c9bc3,lookupColumn:_0x547bd7,lookupIdColumn:_0xaf1e79,targetField:_0x5e1ddc,required:_0xebc0a2}=_0x41eb28,_0x1312ed=_0x2c9bc3+':'+_0x547bd7+':'+_0xaf1e79,_0x523c50=_0x4e16d3['get'](_0x1312ed),_0x3481fc=_0x4b7d46[_0x5cc060];if((_0x3481fc===null||_0x3481fc===undefined||_0x3481fc==='')&&!_0xebc0a2){_0x536f71[_0x5e1ddc]=null;continue;}const _0x451c83=this['resolveLookupValue'](_0x3481fc,_0x523c50);_0x451c83!==null?_0x536f71[_0x5e1ddc]=_0x451c83:(_0xebc0a2&&_0x1ae2d2['push']({'rowIndex':_0x4a2189,'field':_0x5cc060,'value':_0x3481fc,'targetField':_0x5e1ddc,'lookupTable':_0x2c9bc3,'message':'Value\x20\x22'+_0x3481fc+'\x22\x20not\x20found\x20in\x20'+_0x2c9bc3}),_0x536f71[_0x5e1ddc]=null);}return _0x536f71;});return logger[_0x36d89d(0x162)]({'event':_0x2f054d[_0x36d89d(0x13d)],'totalRows':_0x7cd5e['length'],'errorCount':_0x1ae2d2['length'],'lookupFieldCount':Object[_0x36d89d(0x148)](_0x1e6de5)['length']},'Lookup\x20fields\x20processed'),{'processedRows':_0x320d6d,'errors':_0x1ae2d2};}[a0_0x254fdf(0x156)](_0x2ecf96,_0x1727b2){const _0x1418f3=a0_0x254fdf,_0xde2a1e={'vrLbA':function(_0x3ae231,_0x124d73){return _0x3ae231!==_0x124d73;}},_0x2b0d55=new Set();return _0x2ecf96['forEach'](_0x63f2a1=>{const _0x11bfcc=_0x63f2a1[_0x1727b2];_0x11bfcc!==null&&_0x11bfcc!==undefined&&_0xde2a1e['vrLbA'](_0x11bfcc,'')&&_0x2b0d55['add'](String(_0x11bfcc)['trim']());}),Array[_0x1418f3(0x157)](_0x2b0d55);}async[a0_0x254fdf(0x163)](_0x2d61e2,_0x24272c){const _0x125d71=a0_0x254fdf,_0x391b2f={'nccpS':function(_0x2ba303,_0xc5395f){return _0x2ba303!==_0xc5395f;},'ZheYh':function(_0x570b3b,_0xe667b5){return _0x570b3b>_0xe667b5;},'jIJBg':function(_0x104d56,_0x2b2a9b){return _0x104d56===_0x2b2a9b;}};if(!_0x24272c||Object['keys'](_0x24272c)['length']===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x29e181=[],_0x5a4d71={};for(const [_0x411e75,_0x26e4a5]of Object[_0x125d71(0x165)](_0x24272c)){const {lookupTable:_0x25bbc1,lookupColumn:_0x21a3fd,lookupIdColumn:_0x3f4545,required:_0x557eab}=_0x26e4a5,_0x2c20ff=this['getDistinctValues'](_0x2d61e2,_0x411e75),_0x49b18a=await this['loadLookupTable'](_0x25bbc1,_0x21a3fd,_0x3f4545),_0x26e6ab=[],_0xda4043=[];_0x2c20ff[_0x125d71(0x152)](_0x3f62a0=>{const _0x3c0553=_0x125d71,_0xd88f01=this[_0x3c0553(0x140)](_0x3f62a0,_0x49b18a);_0x391b2f['nccpS'](_0xd88f01,null)?_0xda4043['push'](_0x3f62a0):_0x26e6ab['push'](_0x3f62a0);});if(_0x391b2f['ZheYh'](_0x26e6ab['length'],0x0)&&_0x557eab){_0x29e181[_0x125d71(0x159)]({'field':_0x411e75,'lookupTable':_0x25bbc1,'invalidValues':_0x26e6ab,'message':_0x26e6ab[_0x125d71(0x14e)]+_0x125d71(0x15b)+_0x25bbc1});const _0x155662=[];_0x49b18a[_0x125d71(0x152)]((_0x330788,_0x40ee9c)=>{const _0x10bb0a=_0x125d71;if(_0x40ee9c===_0x40ee9c[_0x10bb0a(0x147)]())return;_0x155662[_0x10bb0a(0x159)](_0x40ee9c);}),_0x5a4d71[_0x411e75]={'invalidValues':_0x26e6ab,'availableValues':_0x155662[_0x125d71(0x161)](0x0,0x32)};}}return{'valid':_0x391b2f[_0x125d71(0x15c)](_0x29e181[_0x125d71(0x14e)],0x0),'errors':_0x29e181,'suggestions':_0x5a4d71};}}module[a0_0x254fdf(0x15d)]=new LookupResolver();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a0_0x1e2149=a0_0x4983;(function(_0x1643ad,_0x4bcd9b){const _0x5aaab7=a0_0x4983,_0x5aae6d=_0x1643ad();while(!![]){try{const _0xfafd34=parseInt(_0x5aaab7(0xbb))/0x1*(parseInt(_0x5aaab7(0xc8))/0x2)+parseInt(_0x5aaab7(0xc1))/0x3+-parseInt(_0x5aaab7(0xd5))/0x4+parseInt(_0x5aaab7(0xc5))/0x5*(parseInt(_0x5aaab7(0xbe))/0x6)+-parseInt(_0x5aaab7(0xdc))/0x7*(-parseInt(_0x5aaab7(0xc2))/0x8)+-parseInt(_0x5aaab7(0xc0))/0x9*(parseInt(_0x5aaab7(0xdb))/0xa)+-parseInt(_0x5aaab7(0xc4))/0xb;if(_0xfafd34===_0x4bcd9b)break;else _0x5aae6d['push'](_0x5aae6d['shift']());}catch(_0x5325b6){_0x5aae6d['push'](_0x5aae6d['shift']());}}}(a0_0x505b,0xf296f));const fs=require('fs')['promises'],path=require('path'),{logger}=require('./logger');function a0_0x505b(){const _0x483b3a=['Cgf5Bg9HzerPCG','zgf0yxrHyMXLC1f1zxj5','y2XLyxi','mJKXodDuBvfxCMC','zMLLBgroyw1L','zMLLBgrmywjLBhm','mJC4oda2mLnRBKjerG','ywn0Aw9U','mtq3nJGXzLvfCeP6','mtm0nta1A1HAqM9v','nZuYs1n2zffh','AxP4EuC','otyYodu2nhvoEvvrua','mJbUDefuwem','lI4VlI4VCgf5Bg9Hza','lMPZB24','mtH4v0DhAvu','y2fJAgu','DgfIBgvoyw1L','zgvIDwC','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','C2v0','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','sffmCK8','CgfYC2u','y29SDw1UrM9YBwf0CW','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','AgfZ','mtG5mZy0ngfiwKL4CG','CfbWEKu','Cgf5Bg9Hzf9SB2fKzwq','Aw5MBW','wLDRsLm','Bg9HzfbHEwXVywrcEu5HBwu','otqWt3bXEuDy','mti3otGXv2Plq09y','rgXcrva','AM9PBG','y2XLyxjdywnOzq','Cgf5Bg9Hzf9SB2fKx2vYCM9Y'];a0_0x505b=function(){return _0x483b3a;};return a0_0x505b();}class PayloadLoader{constructor(){const _0x4e37fd=a0_0x4983,_0x11c2cb={'HQLrO':_0x4e37fd(0xc6)};this[_0x4e37fd(0xe1)]=path[_0x4e37fd(0xde)](__dirname,_0x11c2cb[_0x4e37fd(0xcf)]),this['cache']=new Map();}async['loadPayload'](_0x1baf6f,_0x3927c9){const _0xb972ee=a0_0x4983,_0x571bfb={'Wyary':'utf8','ZWkJS':_0xb972ee(0xd7),'izxyG':_0xb972ee(0xce),'pPpzE':_0xb972ee(0xd2)},_0x261e5d=_0x1baf6f+':'+_0x3927c9;if(this[_0xb972ee(0xc9)][_0xb972ee(0xd4)](_0x261e5d))return this[_0xb972ee(0xc9)]['get'](_0x261e5d);const _0x18f431=path[_0xb972ee(0xde)](this['payloadDir'],_0x1baf6f+'_'+_0x3927c9+'.json');try{const _0x240056=await fs['readFile'](_0x18f431,_0x571bfb['Wyary']),_0x40e159=JSON[_0xb972ee(0xd0)](_0x240056);return this['cache']['set'](_0x261e5d,_0x40e159),logger['debug']({'event':_0x571bfb[_0xb972ee(0xd9)],'project':_0x1baf6f,'resource':_0x3927c9},_0x571bfb[_0xb972ee(0xc3)]),_0x40e159;}catch(_0xbda1df){logger['error']({'event':'payload_load_error','project':_0x1baf6f,'resource':_0x3927c9,'error':_0xbda1df['message']},_0x571bfb[_0xb972ee(0xd6)]);throw new Error('Payload\x20not\x20found:\x20'+_0x1baf6f+'_'+_0x3927c9);}}async[a0_0x1e2149(0xda)](_0x289228){const _0xf7af16=a0_0x1e2149,_0x346044={'LJJFd':_0xf7af16(0xd7),'ByTRr':_0xf7af16(0xd3),'vrhES':_0xf7af16(0xcc)},_0x1d727b='payload:'+_0x289228;if(this[_0xf7af16(0xc9)]['has'](_0x1d727b))return this['cache']['get'](_0x1d727b);const _0x5567e2=path[_0xf7af16(0xde)](this[_0xf7af16(0xe1)],_0x289228+_0xf7af16(0xc7));try{const _0x2f4a1a=await fs['readFile'](_0x5567e2,'utf8'),_0x50e08c=JSON[_0xf7af16(0xd0)](_0x2f4a1a);return this[_0xf7af16(0xc9)][_0xf7af16(0xcd)](_0x1d727b,_0x50e08c),logger[_0xf7af16(0xcb)]({'event':_0x346044['LJJFd'],'payloadName':_0x289228},_0x346044['ByTRr']),_0x50e08c;}catch(_0xfabb95){logger['error']({'event':_0xf7af16(0xe0),'payloadName':_0x289228,'error':_0xfabb95['message']},_0x346044['vrhES']);throw new Error('Payload\x20not\x20found:\x20'+_0x289228);}}['isActionEnabled'](_0x1e1ca0,_0x1ebcd1){const _0x5d5c24=a0_0x1e2149,_0x4fa5ef={'DlBEP':function(_0x1c0e78,_0x273ba4){return _0x1c0e78===_0x273ba4;}};return _0x1e1ca0[_0x5d5c24(0xbf)]&&_0x4fa5ef[_0x5d5c24(0xdd)](_0x1e1ca0[_0x5d5c24(0xbf)][_0x1ebcd1],!![]);}['getExportConfig'](_0x460ac3){const _0x56df94=a0_0x1e2149;return{'columns':_0x460ac3[_0x56df94(0xbc)]||[],'filename':_0x460ac3[_0x56df94(0xca)]['replace']('.','-')+'-export','datatablesQuery':_0x460ac3[_0x56df94(0xe2)]||null,'columnFormats':_0x460ac3[_0x56df94(0xd1)]||null,'fieldLabels':_0x460ac3[_0x56df94(0xbd)]||null};}[a0_0x1e2149(0xdf)](){const _0x368dc7=a0_0x1e2149;this['cache'][_0x368dc7(0xba)](),logger[_0x368dc7(0xd8)]({'event':'payload_cache_cleared'},'Payload\x20cache\x20cleared');}}function a0_0x4983(_0x6f94b7,_0x5863e4){_0x6f94b7=_0x6f94b7-0xba;const _0x505b4b=a0_0x505b();let _0x498308=_0x505b4b[_0x6f94b7];if(a0_0x4983['RwxEaN']===undefined){var _0x277e28=function(_0x279306){const _0x1615a1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x40cca7='',_0x18154e='';for(let _0x30188d=0x0,_0xbb3b07,_0x29f0c8,_0x413ffb=0x0;_0x29f0c8=_0x279306['charAt'](_0x413ffb++);~_0x29f0c8&&(_0xbb3b07=_0x30188d%0x4?_0xbb3b07*0x40+_0x29f0c8:_0x29f0c8,_0x30188d++%0x4)?_0x40cca7+=String['fromCharCode'](0xff&_0xbb3b07>>(-0x2*_0x30188d&0x6)):0x0){_0x29f0c8=_0x1615a1['indexOf'](_0x29f0c8);}for(let _0x2db6b3=0x0,_0x625230=_0x40cca7['length'];_0x2db6b3<_0x625230;_0x2db6b3++){_0x18154e+='%'+('00'+_0x40cca7['charCodeAt'](_0x2db6b3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x18154e);};a0_0x4983['kwopVf']=_0x277e28,a0_0x4983['bXDKOO']={},a0_0x4983['RwxEaN']=!![];}const _0x56b322=_0x505b4b[0x0],_0x25da23=_0x6f94b7+_0x56b322,_0x58cf0b=a0_0x4983['bXDKOO'][_0x25da23];return!_0x58cf0b?(_0x498308=a0_0x4983['kwopVf'](_0x498308),a0_0x4983['bXDKOO'][_0x25da23]=_0x498308):_0x498308=_0x58cf0b,_0x498308;}module['exports']=new PayloadLoader();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x54968e,_0xc1f16e){var _0x378a90=a0_0x5300,_0x119502=_0x54968e();while(!![]){try{var _0x4f8deb=parseInt(_0x378a90(0x1f4))/0x1+parseInt(_0x378a90(0x1f0))/0x2+parseInt(_0x378a90(0x1ee))/0x3+-parseInt(_0x378a90(0x1f3))/0x4+-parseInt(_0x378a90(0x1f1))/0x5+parseInt(_0x378a90(0x1f5))/0x6+-parseInt(_0x378a90(0x1f2))/0x7*(-parseInt(_0x378a90(0x1ef))/0x8);if(_0x4f8deb===_0xc1f16e)break;else _0x119502['push'](_0x119502['shift']());}catch(_0x1ac098){_0x119502['push'](_0x119502['shift']());}}}(a0_0x1cb0,0xdb15b));function a0_0x1cb0(){var _0x185762=['otyZntjWwuv4ww4','mtuZotm0nwXSuvfjBa','mJKZndy4seXMCw92','nJG0mZq4mhPyzvHiBa','mZqXmdu4C3Psy1zH','otiWnta4t3LND3rW','Dg9ju09tDhjPBMC','ntiZmZC5ngHTyNP5yG','mtiWCvjMquLU'];a0_0x1cb0=function(){return _0x185762;};return a0_0x1cb0();}function createResponse(_0x8eb186,_0x4a7a37,_0x3a7a58=null){var _0x4e3a3c=a0_0x5300;return{'success':!![],'statusCode':_0x8eb186,'message':_0x4a7a37,'data':_0x3a7a58,'timestamp':new Date()[_0x4e3a3c(0x1ed)]()};}function a0_0x5300(_0x5eb6ee,_0x3560fb){_0x5eb6ee=_0x5eb6ee-0x1ed;var _0x1cb07b=a0_0x1cb0();var _0x53008b=_0x1cb07b[_0x5eb6ee];if(a0_0x5300['ymSWOT']===undefined){var _0x51a7fe=function(_0x5be331){var _0x5049ef='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x466b81='',_0x4bab05='';for(var _0x5d993b=0x0,_0x13717a,_0x26434e,_0x57636a=0x0;_0x26434e=_0x5be331['charAt'](_0x57636a++);~_0x26434e&&(_0x13717a=_0x5d993b%0x4?_0x13717a*0x40+_0x26434e:_0x26434e,_0x5d993b++%0x4)?_0x466b81+=String['fromCharCode'](0xff&_0x13717a>>(-0x2*_0x5d993b&0x6)):0x0){_0x26434e=_0x5049ef['indexOf'](_0x26434e);}for(var _0x4958f1=0x0,_0xfc6546=_0x466b81['length'];_0x4958f1<_0xfc6546;_0x4958f1++){_0x4bab05+='%'+('00'+_0x466b81['charCodeAt'](_0x4958f1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4bab05);};a0_0x5300['flaUAS']=_0x51a7fe,a0_0x5300['nhZqrp']={},a0_0x5300['ymSWOT']=!![];}var _0x454829=_0x1cb07b[0x0],_0x5de39c=_0x5eb6ee+_0x454829,_0x5bcd7e=a0_0x5300['nhZqrp'][_0x5de39c];return!_0x5bcd7e?(_0x53008b=a0_0x5300['flaUAS'](_0x53008b),a0_0x5300['nhZqrp'][_0x5de39c]=_0x53008b):_0x53008b=_0x5bcd7e,_0x53008b;}function createError(_0x17c812,_0x3e25ba,_0xaa0e94=null){return{'success':![],'statusCode':_0x17c812,'message':_0x3e25ba,'data':_0xaa0e94,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x5dff78,_0x1bc98f){return{'success':![],'statusCode':0x190,'message':_0x5dff78,'data':{'errors':_0x1bc98f},'timestamp':new Date()['toISOString']()};}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
|
package/src/utils/rabbitmq.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x5dba8d=a0_0x390c;(function(_0x58b9c1,_0xec39a7){const _0x24fdc7=a0_0x390c,_0x569ccc=_0x58b9c1();while(!![]){try{const _0x2eaf3d=-parseInt(_0x24fdc7(0x1e5))/0x1+-parseInt(_0x24fdc7(0x1dd))/0x2*(-parseInt(_0x24fdc7(0x1de))/0x3)+-parseInt(_0x24fdc7(0x1e0))/0x4+-parseInt(_0x24fdc7(0x1f1))/0x5*(-parseInt(_0x24fdc7(0x1d9))/0x6)+parseInt(_0x24fdc7(0x1f8))/0x7+-parseInt(_0x24fdc7(0x200))/0x8*(-parseInt(_0x24fdc7(0x1fa))/0x9)+parseInt(_0x24fdc7(0x1fb))/0xa*(-parseInt(_0x24fdc7(0x201))/0xb);if(_0x2eaf3d===_0xec39a7)break;else _0x569ccc['push'](_0x569ccc['shift']());}catch(_0x45f82b){_0x569ccc['push'](_0x569ccc['shift']());}}}(a0_0x48cb,0xe61bc),require('dotenv')[a0_0x5dba8d(0x1f7)]());const amqp=require('amqplib'),{formatDate}=require(a0_0x5dba8d(0x1f2)),RABBITMQ_URL=process['env'][a0_0x5dba8d(0x1ed)],EXCHANGE=process['env']['RABBITMQ_EXCHANGE'],ROUTING_KEY=process['env'][a0_0x5dba8d(0x1f5)],QUEUE=process['env'][a0_0x5dba8d(0x206)];async function createConnection(){const _0x337a24=a0_0x5dba8d;try{const _0x3b75fc=await amqp['connect'](RABBITMQ_URL);return console['log']('['+formatDate(new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x3b75fc;}catch(_0x5361c6){console[_0x337a24(0x1e7)]('['+formatDate(new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x5361c6['message']);throw _0x5361c6;}}async function createChannel(_0x182a18){const _0x2b7499=a0_0x5dba8d,_0x329578={'AHWaR':function(_0x5b8b4f,_0x2c04fd){return _0x5b8b4f(_0x2c04fd);},'pleKH':function(_0x9bae0c,_0x4b8793){return _0x9bae0c(_0x4b8793);}};try{const _0xace54b=await _0x182a18['createChannel']();return console['log']('['+_0x329578['AHWaR'](formatDate,new Date())+_0x2b7499(0x1ff)),_0xace54b;}catch(_0xd2e33f){console['error']('['+_0x329578[_0x2b7499(0x1e4)](formatDate,new Date())+_0x2b7499(0x1dc)+_0xd2e33f[_0x2b7499(0x203)]);throw _0xd2e33f;}}function a0_0x390c(_0x5067d1,_0x262663){_0x5067d1=_0x5067d1-0x1d9;const _0x48cbf0=a0_0x48cb();let _0x390ca5=_0x48cbf0[_0x5067d1];if(a0_0x390c['RGbPQY']===undefined){var _0x26f7ae=function(_0x4f8d81){const _0x390d73='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x444d25='',_0x54d858='';for(let _0x1df11e=0x0,_0x10bd30,_0x336947,_0x2eb2a9=0x0;_0x336947=_0x4f8d81['charAt'](_0x2eb2a9++);~_0x336947&&(_0x10bd30=_0x1df11e%0x4?_0x10bd30*0x40+_0x336947:_0x336947,_0x1df11e++%0x4)?_0x444d25+=String['fromCharCode'](0xff&_0x10bd30>>(-0x2*_0x1df11e&0x6)):0x0){_0x336947=_0x390d73['indexOf'](_0x336947);}for(let _0x4cba97=0x0,_0x327f18=_0x444d25['length'];_0x4cba97<_0x327f18;_0x4cba97++){_0x54d858+='%'+('00'+_0x444d25['charCodeAt'](_0x4cba97)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x54d858);};a0_0x390c['LgAgxK']=_0x26f7ae,a0_0x390c['RcBJVP']={},a0_0x390c['RGbPQY']=!![];}const _0x259601=_0x48cbf0[0x0],_0x48da94=_0x5067d1+_0x259601,_0x22db42=a0_0x390c['RcBJVP'][_0x48da94];return!_0x22db42?(_0x390ca5=a0_0x390c['LgAgxK'](_0x390ca5),a0_0x390c['RcBJVP'][_0x48da94]=_0x390ca5):_0x390ca5=_0x22db42,_0x390ca5;}function a0_0x48cb(){const _0x2ac0ae=['ksbJCMvHDgvK','uKfcqKLutvfFvvjm','Ew5eCfu','zxHPDa','CMv0CNKTzxHJAgfUz2u','mtG2otyZnwrHCfHpDW','lI9KyxrLsgvSCgvY','zgLYzwn0','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','uKfcqKLutvfFuK9vveLor19lrvK','y3jLyxrLzc9YzwfKEq','y29UzMLN','mti2nZmXnZHmDvbmDgW','xsbfEgnOyw5Nzsa','mZeXnfjst1nPrq','mJG0mdi4meXTrfvUyq','tenArwS','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','t2j1yui','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','nZqZmM5iuuLAza','nZDzu29Yz1O','xsbszxrYEsbXDwv1zsa','BwvZC2fNzq','ic0+ia','CxvLDwu','uKfcqKLutvfFuvvfvuu','mtjrENDwDNi','qK5wzxm','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','mZC1mdaWnezQzLfSBG','m0DIENzfBG','Aw5LCxvPDMfSzw50igfYzW','ndu4nty4nePNqLbhza','A3n0yuy','Bg9N','yMLUzff1zxvL','CgXLs0G','nJC3nJaZDMffqw1l','yxnZzxj0uxvLDwu','zxjYB3i','ignYzwf0zwqVCMvHzhK','sency3C','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','zxHWB3j0CW'];a0_0x48cb=function(){return _0x2ac0ae;};return a0_0x48cb();}async function setupInfrastructure(_0x41e838){const _0x46af7f=a0_0x5dba8d,_0x5686f6={'HCBcw':_0x46af7f(0x1f0),'BNVes':'direct','ObuaB':function(_0x1a2581,_0x104bb3){return _0x1a2581(_0x104bb3);},'LCZEk':_0x46af7f(0x1f6),'kstaF':'found','TtwFO':function(_0x308cb3,_0x405938){return _0x308cb3(_0x405938);},'ynDpU':'x-dead-letter-routing-key','FtExM':'inequivalent\x20arg'};try{await _0x41e838['assertExchange'](_0x5686f6[_0x46af7f(0x1e9)],_0x5686f6[_0x46af7f(0x1da)],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x5686f6['ObuaB'](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x176be5){console[_0x46af7f(0x1e7)]('['+_0x5686f6[_0x46af7f(0x1fe)](formatDate,new Date())+_0x46af7f(0x1fd),_0x176be5[_0x46af7f(0x203)]);throw _0x176be5;}try{await _0x41e838['assertExchange'](EXCHANGE,_0x46af7f(0x1f3),{'durable':!![],'autoDelete':![]}),console[_0x46af7f(0x1e2)]('['+_0x5686f6[_0x46af7f(0x1fe)](formatDate,new Date())+_0x46af7f(0x1f9)+EXCHANGE+_0x46af7f(0x1e8));}catch(_0x477293){console[_0x46af7f(0x1e7)]('['+_0x5686f6[_0x46af7f(0x1fe)](formatDate,new Date())+_0x46af7f(0x1f4)+EXCHANGE+':',_0x477293['message']);throw _0x477293;}const _0xc3796b=ROUTING_KEY+'_retry';try{const _0x570868={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x41e838[_0x46af7f(0x1e6)](_0xc3796b,_0x570868),console['log']('['+formatDate(new Date())+_0x46af7f(0x202)+_0xc3796b+_0x46af7f(0x1e8)),await _0x41e838['bindQueue'](_0xc3796b,_0x46af7f(0x1f0),ROUTING_KEY),console['log']('['+formatDate(new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+'\x20created');}catch(_0x84621b){console['error']('['+_0x5686f6['ObuaB'](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x84621b['message']);throw _0x84621b;}try{const _0x106835={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x5686f6['HCBcw'],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x3133c5=await _0x41e838[_0x46af7f(0x1e6)](QUEUE,_0x106835);console['log']('['+formatDate(new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x3133c5[_0x46af7f(0x205)]===QUEUE?_0x5686f6[_0x46af7f(0x1fc)]:_0x5686f6[_0x46af7f(0x1e1)])+'\x20with\x20DLX'),await _0x41e838[_0x46af7f(0x1e3)](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+_0x5686f6['TtwFO'](formatDate,new Date())+']\x20Binding\x20'+EXCHANGE+_0x46af7f(0x204)+QUEUE+'\x20('+ROUTING_KEY+_0x46af7f(0x1ec));}catch(_0x2a0bde){if(_0x2a0bde['message']['includes'](_0x46af7f(0x1df))&&_0x2a0bde[_0x46af7f(0x203)]['includes'](_0x5686f6[_0x46af7f(0x1ee)]))console[_0x46af7f(0x1e7)]('\x0a['+formatDate(new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console['error']('Queue\x20'+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console['error']('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process['exit'](0x1);else{console['error']('['+_0x5686f6[_0x46af7f(0x1fe)](formatDate,new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x2a0bde['message']);throw _0x2a0bde;}}}catch(_0x3ff3ff){if(!_0x3ff3ff['message']['includes'](_0x5686f6['FtExM'])){console[_0x46af7f(0x1e7)]('['+formatDate(new Date())+_0x46af7f(0x1db),_0x3ff3ff['message']);throw _0x3ff3ff;}process[_0x46af7f(0x1ef)](0x1);}}async function closeConnection(_0xa501d0){const _0x4617d9=a0_0x5dba8d;if(_0xa501d0)try{await _0xa501d0['close'](),console[_0x4617d9(0x1e2)]('['+formatDate(new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x22e82e){console[_0x4617d9(0x1e7)]('['+formatDate(new Date())+_0x4617d9(0x1ea)+_0x22e82e[_0x4617d9(0x203)]);}}module[a0_0x5dba8d(0x1eb)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a0_0x5bc1(){const _0x13b7cf=['CgLUzW','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','nxDZD0fcwG','mtjIv2HRzwS','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','CMfJzq','y29UBMvJDa','mZCYmJC0merRD0vizq','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','nZyZmdbbB21vvKu','mJKXmJi3otD6AuvhyM4','rgDfAKu','Aw9YzwrPCW','mta5odqWnZDbzvbeA08','CMvKAxnFzxjYB3i','oevfteT0ra','BwvZC2fNzq','m3v2s0rovG','mMDTq2z1Ba','z2v0q2XPzw50','lI9SB2DNzxi','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','mZG5odGYnxnNtvzxyG','y2XPzw50','zxjYB3i','whPJshy','zw52','nJqWotuXoePWsNHPtq','y2XVC2u','zM9Yy2veAxnJB25Uzwn0','odGWmde4ww1PEu15','A3nWqKO','zgLZy29UBMvJDa','CMvKAxnFy29UBMvJDgvK'];a0_0x5bc1=function(){return _0x13b7cf;};return a0_0x5bc1();}const a0_0x35fc64=a0_0x53a5;(function(_0x4adc3f,_0x4cac73){const _0x1a6855=a0_0x53a5,_0x4fec6e=_0x4adc3f();while(!![]){try{const _0x5b0b5d=parseInt(_0x1a6855(0xb9))/0x1*(-parseInt(_0x1a6855(0xcf))/0x2)+-parseInt(_0x1a6855(0xce))/0x3*(-parseInt(_0x1a6855(0xc6))/0x4)+parseInt(_0x1a6855(0xbf))/0x5*(parseInt(_0x1a6855(0xb6))/0x6)+-parseInt(_0x1a6855(0xb1))/0x7+parseInt(_0x1a6855(0xcc))/0x8*(-parseInt(_0x1a6855(0xca))/0x9)+-parseInt(_0x1a6855(0xc4))/0xa+parseInt(_0x1a6855(0xc7))/0xb*(parseInt(_0x1a6855(0xc0))/0xc);if(_0x5b0b5d===_0x4cac73)break;else _0x4fec6e['push'](_0x4fec6e['shift']());}catch(_0x357701){_0x4fec6e['push'](_0x4fec6e['shift']());}}}(a0_0x5bc1,0xac26f));function a0_0x53a5(_0x300e6b,_0x33f174){_0x300e6b=_0x300e6b-0xae;const _0x5bc18d=a0_0x5bc1();let _0x53a506=_0x5bc18d[_0x300e6b];if(a0_0x53a5['srKwqC']===undefined){var _0x271054=function(_0x22ec14){const _0xf5ac46='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xf7da2b='',_0xca17e3='';for(let _0x25e374=0x0,_0x3abb5c,_0x1401c8,_0xa283d8=0x0;_0x1401c8=_0x22ec14['charAt'](_0xa283d8++);~_0x1401c8&&(_0x3abb5c=_0x25e374%0x4?_0x3abb5c*0x40+_0x1401c8:_0x1401c8,_0x25e374++%0x4)?_0xf7da2b+=String['fromCharCode'](0xff&_0x3abb5c>>(-0x2*_0x25e374&0x6)):0x0){_0x1401c8=_0xf5ac46['indexOf'](_0x1401c8);}for(let _0x1b218e=0x0,_0x47b1fd=_0xf7da2b['length'];_0x1b218e<_0x47b1fd;_0x1b218e++){_0xca17e3+='%'+('00'+_0xf7da2b['charCodeAt'](_0x1b218e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xca17e3);};a0_0x53a5['IfRENz']=_0x271054,a0_0x53a5['SenHma']={},a0_0x53a5['srKwqC']=!![];}const _0xfde5df=_0x5bc18d[0x0],_0x472c89=_0x300e6b+_0xfde5df,_0x263681=a0_0x53a5['SenHma'][_0x472c89];return!_0x263681?(_0x53a506=a0_0x53a5['IfRENz'](_0x53a506),a0_0x53a5['SenHma'][_0x472c89]=_0x53a506):_0x53a506=_0x263681,_0x53a506;}const Redis=require(a0_0x35fc64(0xc9)),{logger}=require(a0_0x35fc64(0xaf));class RedisClient{constructor(){const _0x539dba=a0_0x35fc64;this[_0x539dba(0xb2)]=null,this['isConnected']=![];}[a0_0x35fc64(0xc3)](){const _0x1c223c=a0_0x35fc64,_0x132c65={'gKwLY':function(_0x164083,_0x43a114){return _0x164083*_0x43a114;},'XzcHv':_0x1c223c(0xb0),'GarHa':'redis_disconnected','kspBJ':'localhost','llwOC':function(_0x4e7b06,_0x1b9435,_0x50da86){return _0x4e7b06(_0x1b9435,_0x50da86);},'jPDdB':_0x1c223c(0xb3),'ShcfF':_0x1c223c(0xb7),'YxFtT':'redis_init_error','tQSVA':_0x1c223c(0xc5)};if(this['client'])return this[_0x1c223c(0xb2)];try{return this[_0x1c223c(0xb2)]=new Redis({'host':process[_0x1c223c(0xb5)]['REDIS_HOST']||_0x132c65[_0x1c223c(0xba)],'port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':_0x132c65['llwOC'](parseInt,process[_0x1c223c(0xb5)]['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x489e0b){const _0x5bdf64=Math['min'](_0x132c65['gKwLY'](_0x489e0b,0x32),0x7d0);return _0x5bdf64;}}),this[_0x1c223c(0xb2)]['on'](_0x1c223c(0xc3),()=>{const _0x2e6989=_0x1c223c;this['isConnected']=!![],logger['info']({'event':_0x2e6989(0xbc)},_0x132c65[_0x2e6989(0xb4)]);}),this[_0x1c223c(0xb2)]['on'](_0x132c65['jPDdB'],_0x21adce=>{const _0x1ecfcb=_0x1c223c;this['isConnected']=![],logger[_0x1ecfcb(0xb3)]({'event':_0x1ecfcb(0xcb),'error':_0x21adce['message']},_0x1ecfcb(0xbe)+_0x21adce[_0x1ecfcb(0xcd)]);}),this['client']['on'](_0x132c65['ShcfF'],()=>{const _0x432bee=_0x1c223c;this['isConnected']=![],logger['warn']({'event':_0x132c65['GarHa']},_0x432bee(0xc1));}),this['client'];}catch(_0x16d2ab){logger['error']({'event':_0x132c65['YxFtT'],'error':_0x16d2ab['message']},_0x132c65['tQSVA']);throw _0x16d2ab;}}[a0_0x35fc64(0xae)](){const _0x5a8d2a=a0_0x35fc64;return!this[_0x5a8d2a(0xb2)]&&this[_0x5a8d2a(0xc3)](),this[_0x5a8d2a(0xb2)];}async[a0_0x35fc64(0xbd)](_0x178f1a=0x1388){const _0x922dcc=a0_0x35fc64,_0x280c45={'DgEjE':function(_0x5e6714,_0x14ff83){return _0x5e6714===_0x14ff83;}};try{const _0x4ac808=this['getClient'](),_0x17ce74=await Promise[_0x922dcc(0xc2)]([_0x4ac808[_0x922dcc(0xbd)](),new Promise((_0x23379f,_0x1855c9)=>setTimeout(()=>_0x1855c9(new Error('Redis\x20PING\x20timeout')),_0x178f1a))]);return _0x280c45[_0x922dcc(0xc8)](_0x17ce74,'PONG');}catch(_0x2501ae){return![];}}async[a0_0x35fc64(0xbb)](){const _0x24cda2=a0_0x35fc64;this[_0x24cda2(0xb2)]&&(await this['client']['quit'](),this['client']=null,this['isConnected']=![]);}[a0_0x35fc64(0xb8)](){const _0x280acc=a0_0x35fc64;this[_0x280acc(0xb2)]&&(this[_0x280acc(0xb2)][_0x280acc(0xbb)](),this[_0x280acc(0xb2)]=null,this['isConnected']=![]);}}module['exports']=new RedisClient();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x3d009a=a0_0x339b;(function(_0x445485,_0x3ca4c2){const _0x5b7563=a0_0x339b,_0x1fb32a=_0x445485();while(!![]){try{const _0x102c4b=-parseInt(_0x5b7563(0x13e))/0x1*(-parseInt(_0x5b7563(0x149))/0x2)+parseInt(_0x5b7563(0x142))/0x3+parseInt(_0x5b7563(0x153))/0x4*(-parseInt(_0x5b7563(0x140))/0x5)+parseInt(_0x5b7563(0x154))/0x6+-parseInt(_0x5b7563(0x14f))/0x7+-parseInt(_0x5b7563(0x158))/0x8+parseInt(_0x5b7563(0x14b))/0x9;if(_0x102c4b===_0x3ca4c2)break;else _0x1fb32a['push'](_0x1fb32a['shift']());}catch(_0x5df488){_0x1fb32a['push'](_0x1fb32a['shift']());}}}(a0_0x26c0,0xbe2f5));function a0_0x339b(_0x269ea5,_0x13d3f4){_0x269ea5=_0x269ea5-0x13e;const _0x26c0eb=a0_0x26c0();let _0x339b02=_0x26c0eb[_0x269ea5];if(a0_0x339b['xFMXtq']===undefined){var _0x459f13=function(_0x4de231){const _0x26423f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x9b5d67='',_0x56ca3c='';for(let _0x4be443=0x0,_0x568f72,_0x191e56,_0x306e6b=0x0;_0x191e56=_0x4de231['charAt'](_0x306e6b++);~_0x191e56&&(_0x568f72=_0x4be443%0x4?_0x568f72*0x40+_0x191e56:_0x191e56,_0x4be443++%0x4)?_0x9b5d67+=String['fromCharCode'](0xff&_0x568f72>>(-0x2*_0x4be443&0x6)):0x0){_0x191e56=_0x26423f['indexOf'](_0x191e56);}for(let _0x547b64=0x0,_0x5b9f14=_0x9b5d67['length'];_0x547b64<_0x5b9f14;_0x547b64++){_0x56ca3c+='%'+('00'+_0x9b5d67['charCodeAt'](_0x547b64)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x56ca3c);};a0_0x339b['lRPysd']=_0x459f13,a0_0x339b['wliiIg']={},a0_0x339b['xFMXtq']=!![];}const _0x33262a=_0x26c0eb[0x0],_0x5331ce=_0x269ea5+_0x33262a,_0x499376=a0_0x339b['wliiIg'][_0x5331ce];return!_0x499376?(_0x339b02=a0_0x339b['lRPysd'](_0x339b02),a0_0x339b['wliiIg'][_0x5331ce]=_0x339b02):_0x339b02=_0x499376,_0x339b02;}const redisClient=require('./redis-client'),{logger}=require('./logger');class RedisHelper{constructor(){const _0x332a9b=a0_0x339b;this[_0x332a9b(0x14e)]=null,this[_0x332a9b(0x13f)]=parseInt(process[_0x332a9b(0x148)][_0x332a9b(0x144)],0xa)||0xe10;}get[a0_0x3d009a(0x14d)](){const _0xd54f0d=a0_0x3d009a,_0x22638f={'nSswM':'default'};if(!this['_prefix']){const _0x403fed=process[_0xd54f0d(0x148)][_0xd54f0d(0x14a)]||_0x22638f[_0xd54f0d(0x151)];this['_prefix']='restforge:'+_0x403fed+':export:';}return this[_0xd54f0d(0x14e)];}async['setJob'](_0x2866c2,_0x582794){const _0x107b6f=a0_0x3d009a,_0x3f4f39={'pHmNM':_0x107b6f(0x15c)};try{const _0x430948=redisClient[_0x107b6f(0x15a)](),_0x4c7d75=''+this[_0x107b6f(0x14d)]+_0x2866c2;return await _0x430948['setex'](_0x4c7d75,this['ttl'],JSON[_0x107b6f(0x150)](_0x582794)),!![];}catch(_0x2714d5){return logger['error']({'event':_0x3f4f39[_0x107b6f(0x156)],'jobId':_0x2866c2,'error':_0x2714d5['message']},_0x107b6f(0x145)),![];}}async[a0_0x3d009a(0x159)](_0x2604cc){const _0x46402d=a0_0x3d009a;try{const _0x42a3b7=redisClient['getClient'](),_0x40ea6b=''+this['prefix']+_0x2604cc,_0x37f10f=await _0x42a3b7['get'](_0x40ea6b);return _0x37f10f?JSON[_0x46402d(0x147)](_0x37f10f):null;}catch(_0x256283){return logger['error']({'event':'redis_get_error','jobId':_0x2604cc,'error':_0x256283['message']},'Failed\x20to\x20get\x20job\x20from\x20Redis'),null;}}async['updateJob'](_0x5714a8,_0x1937a8){const _0x246833=a0_0x3d009a,_0x46465d=await this['getJob'](_0x5714a8);if(!_0x46465d)return![];const _0x262bc2={..._0x46465d,..._0x1937a8};return await this[_0x246833(0x146)](_0x5714a8,_0x262bc2);}async['deleteJob'](_0x256fd8){const _0x5bca7e=a0_0x3d009a,_0x2c47f5={'cpcat':'redis_delete_error'};try{const _0x59ba2e=redisClient['getClient'](),_0x38315f=''+this['prefix']+_0x256fd8;return await _0x59ba2e['del'](_0x38315f),!![];}catch(_0x4528e5){return logger['error']({'event':_0x2c47f5['cpcat'],'jobId':_0x256fd8,'error':_0x4528e5[_0x5bca7e(0x157)]},_0x5bca7e(0x14c)),![];}}async['getAllJobs'](){const _0x19f0ef=a0_0x3d009a,_0x234c8d={'DLtzE':'redis_getall_error'};try{const _0xd5da4f=redisClient[_0x19f0ef(0x15a)](),_0x3b15f4=await _0xd5da4f['keys'](this[_0x19f0ef(0x14d)]+'*'),_0x541c5b=[];for(const _0x4bc9a4 of _0x3b15f4){const _0x3363f1=await _0xd5da4f[_0x19f0ef(0x152)](_0x4bc9a4);_0x3363f1&&_0x541c5b[_0x19f0ef(0x143)](JSON[_0x19f0ef(0x147)](_0x3363f1));}return _0x541c5b;}catch(_0x1f41ff){return logger['error']({'event':_0x234c8d[_0x19f0ef(0x15b)],'error':_0x1f41ff[_0x19f0ef(0x157)]},_0x19f0ef(0x155)),[];}}}module[a0_0x3d009a(0x141)]=new RedisHelper();function a0_0x26c0(){const _0x555904=['mtbrB0Tqu1G','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','mJe0otG3mZjKAMLhvw8','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW','ChjLzML4','x3bYzwzPEa','mJe3nJy0m0XQAu9Rsa','C3rYAw5NAwz5','BLnZD00','z2v0','ndmYndC2EMHruMHn','mJGZotq3nNvqqw1QzW','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','CeHTtK0','BwvZC2fNzq','mte0nda0odbSy3vqyKS','z2v0sM9I','z2v0q2XPzw50','reX0EKu','CMvKAxnFC2v0x2vYCM9Y','mtaWoteWyMTutKH2','DhrS','ntvADNHxsMe','zxHWB3j0CW','mtaYodmXm2TdDfjMrq','ChvZAa','rvHqt1jux0zjtevFrvHqsvjz','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','C2v0sM9I','CgfYC2u','zw52'];a0_0x26c0=function(){return _0x555904;};return a0_0x26c0();}
|