@restforgejs/platform 4.1.0 → 4.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +5 -1
- package/README.md +30 -14
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/integrity-manifest.json +8 -8
- package/package.json +4 -4
- package/scripts/check-install.js +45 -45
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x5ce6(){const _0xb84f7d=['z2v0q2XPzw50','DLbcre8','zw5HyMXLza','DvzMAwe','DM56quu','C3vIC3rYAw5N','CMvQzwn0','CMvSzwfZzuXVy2S','ntb2AhPKq3i','otKYntLSBLbyAMe','x2vUC3vYzuLUAxrPywXPEMvK','x3bYzwzPEa','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','mJfdqNHuz0W','zgvIDwC','C2XLzxa','zgvMyxvSDfruta','x3jLDhj5q291BNq','D3jPDgvFBg9JA190Aw1LB3v0','ChjLzML4','wNLwyLa','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','x2vUywjSzwq','EvnRsKG','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','BenwvgC','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','oNjLywq6','Cg93','thrhr24','tg9JAYbuveWGzxH0zw5Kzwq','v1jjveuGBg9JAYbYzwXLyxnLza','nJeXotrTsvLyzxO','D3jPDgu','CMv0CNK','tg9JAYbYzwXLyxnLigvYCM9Y','v0rYuxK','zgvJCG','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','ndi3whfvAefM','C2v0zxG','nZm3odKYoxzvwgP5AG','mtm0mde3mMHIBNrrqq','x2LUAxrdB25MAwC','Bg9JA19LEhrLBMrFzxjYB3i','ogXdv1jgva','Aw5JCG','D2fYBG','mtjcs2vrA2S','mhW2FdD8mNW1Fdr8mxWZ','te9ds19esvnuuKLcvvrfrf9ftKfcteve','zxzHBa','ywnXDwLYzvDYAxrLtg9JAW','uKvbrcbSB2nRigfJCxvPCMvK','tg9JAYbLEhrLBMqGzxjYB3i','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','C2v0','s2jAuNG','zxjYB3i','C3rYyxrLz3K','C0XYquu','EvzMALa','DxPosLG','D3jPDgvFBg9JA19YzwXLyxnLza','yNvPBgrmB2nRs2v5','lcbZDhjHDgvNEtOG','x3DVCMTLCKLK','lI9SB2DNzxi','t0nrENC','BwvZC2fNzq','uuPODwq','CMvHza','Der1Bwq','u3jov2K','qvjMwwy','uKvbrcbSB2nRihjLBgvHC2vK','D3jPDgvFBg9JA19LCNjVCG','CMy6Bg9JAZO','rxvYwvq','rhzkzfe','lI9YzwrPCY1JBgLLBNq','CMv0CNLdB3vUDa','z2v0','zw52','BhbvA0K','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','D29YA2vYswq','mJK0odm1zMzAAMro','ChLSweW','x3jLDhj5rgvSyxK','ywXS','AxnfBMfIBgvK','ndCYnJm3ELfQuwrk','A3LKvuG','DKvZCgy','x2rLzMf1BhruveW','z2vUzxjHDgvmB2nRvMfSDwu','nZKXotblD25yrNi'];a0_0x5ce6=function(){return _0xb84f7d;};return a0_0x5ce6();}const a0_0xb8578a=a0_0x1fe3;(function(_0x366874,_0x42d22b){const _0xf3e2d8=a0_0x1fe3,_0x1c424d=_0x366874();while(!![]){try{const _0x24c3b8=parseInt(_0xf3e2d8(0x12f))/0x1+-parseInt(_0xf3e2d8(0x125))/0x2*(-parseInt(_0xf3e2d8(0x133))/0x3)+-parseInt(_0xf3e2d8(0xf4))/0x4*(-parseInt(_0xf3e2d8(0x11b))/0x5)+parseInt(_0xf3e2d8(0x147))/0x6*(parseInt(_0xf3e2d8(0x14e))/0x7)+-parseInt(_0xf3e2d8(0x154))/0x8*(parseInt(_0xf3e2d8(0x150))/0x9)+parseInt(_0xf3e2d8(0x12e))/0xa*(parseInt(_0xf3e2d8(0x120))/0xb)+-parseInt(_0xf3e2d8(0x151))/0xc;if(_0x24c3b8===_0x42d22b)break;else _0x1c424d['push'](_0x1c424d['shift']());}catch(_0x3c11f8){_0x1c424d['push'](_0x1c424d['shift']());}}}(a0_0x5ce6,0x6fff1));const redisClient=require(a0_0xb8578a(0x114)),{logger}=require(a0_0xb8578a(0x107)),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0xc41042=a0_0xb8578a,_0x5d7380={'ySkJH':_0xc41042(0xf5)},_0x11fc24=_0x5d7380[_0xc41042(0x13e)]['split']('|');let _0x2bd37a=0x0;while(!![]){switch(_0x11fc24[_0x2bd37a++]){case'0':this[_0xc41042(0x131)]=null;continue;case'1':this[_0xc41042(0x106)]=null;continue;case'2':this[_0xc41042(0x137)]=null;continue;case'3':this['_initialized']=![];continue;case'4':this['_strategy']=null;continue;case'5':this['_retryDelay']=null;continue;case'6':this[_0xc41042(0x13d)]=null;continue;case'7':this['_defaultTTL']=null;continue;}break;}}[a0_0xb8578a(0x152)](){const _0x4f3f14=a0_0xb8578a,_0x508d04={'uVfia':function(_0x34a5b8,_0x1bdf6a){return _0x34a5b8===_0x1bdf6a;},'SrNWi':function(_0x904090,_0xbf2392,_0x492079){return _0x904090(_0xbf2392,_0x492079);},'vnzAE':function(_0x5369e1,_0x2e2387,_0xab2885){return _0x5369e1(_0x2e2387,_0xab2885);},'DsGqk':function(_0x4d2c73,_0x5a9c36,_0x20a774){return _0x4d2c73(_0x5a9c36,_0x20a774);},'ORqtW':_0x4f3f14(0x149),'ZyVbP':'lock_config_init'};this[_0x4f3f14(0x131)]=_0x4f3f14(0x111),this[_0x4f3f14(0x13d)]=_0x508d04[_0x4f3f14(0x129)](process[_0x4f3f14(0x117)][_0x4f3f14(0xf6)],'true'),this['_defaultTTL']=_0x508d04[_0x4f3f14(0x10d)](parseInt,process[_0x4f3f14(0x117)]['LOCK_DISTRIBUTED_TTL'],0xa)||0xa,this[_0x4f3f14(0x137)]=_0x508d04[_0x4f3f14(0x12a)](parseInt,process[_0x4f3f14(0x117)]['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3,this['_retryDelay']=_0x508d04['DsGqk'](parseInt,process['env'][_0x4f3f14(0x132)],0xa)||0x64,this['_strategy']=process[_0x4f3f14(0x117)][_0x4f3f14(0x13b)]||_0x508d04['ORqtW'],this['_workerId']='worker-'+process['pid'],this['_initialized']=!![],logger['info']({'event':_0x508d04[_0x4f3f14(0x13a)],'enabled':this['_enabled'],'strategy':this['_strategy'],'ttl':this[_0x4f3f14(0x123)],'retryCount':this[_0x4f3f14(0x137)],'retryDelay':this[_0x4f3f14(0x11d)],'workerId':this[_0x4f3f14(0x106)]},_0x4f3f14(0x14d)+this[_0x4f3f14(0x13d)]+_0x4f3f14(0x105)+this['_strategy']);}['_ensureInitialized'](){const _0x5bb3c6=a0_0xb8578a;!this['_initialized']&&this[_0x5bb3c6(0x152)]();}get[a0_0xb8578a(0x139)](){const _0x18955e=a0_0xb8578a;return this[_0x18955e(0x130)](),this[_0x18955e(0x131)];}get['enabled'](){const _0x1beec5=a0_0xb8578a;return this[_0x1beec5(0x130)](),this['_enabled'];}get[a0_0xb8578a(0x136)](){const _0x4250ba=a0_0xb8578a;return this[_0x4250ba(0x130)](),this[_0x4250ba(0x123)];}get['retryCount'](){const _0x4a9f82=a0_0xb8578a;return this['_ensureInitialized'](),this[_0x4a9f82(0x137)];}get['retryDelay'](){const _0x524b0c=a0_0xb8578a;return this[_0x524b0c(0x130)](),this['_retryDelay'];}get['strategy'](){const _0x5bbfc2=a0_0xb8578a;return this[_0x5bbfc2(0x130)](),this['_strategy'];}get[a0_0xb8578a(0x11a)](){const _0x38662f=a0_0xb8578a;return this[_0x38662f(0x130)](),this['_workerId'];}[a0_0xb8578a(0x104)](_0x63189f){const _0x30562a=a0_0xb8578a,{module:_0x3d8ecc,endpoint:_0x2f1e6b,lockType:_0xcb0ed7,recordId:_0x7ff911}=_0x63189f;if(_0x7ff911)return''+this['prefix']+_0x3d8ecc+':'+_0x2f1e6b+':'+_0x7ff911+':'+_0xcb0ed7;return''+this[_0x30562a(0x139)]+_0x3d8ecc+':'+_0x2f1e6b+':'+_0xcb0ed7;}[a0_0xb8578a(0x124)](){const _0x1da936=a0_0xb8578a;return this[_0x1da936(0x11a)]+':'+uuidv4()+':'+Date['now']();}async['acquireReadLock'](_0x3c89f3){const _0x1706e6=a0_0xb8578a,_0x4e039e={'OCQzw':_0x1706e6(0x148),'kydUH':_0x1706e6(0x10b),'QJhud':'read_lock_acquired','WDrQy':'read_lock_waiting','vPBDO':function(_0x3b3ba0,_0x5f2909){return _0x3b3ba0*_0x5f2909;},'yVfjP':'read_lock_error','ruzND':'READ\x20lock\x20error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x248141=this['buildLockKey']({..._0x3c89f3,'lockType':_0x4e039e[_0x1706e6(0x108)]}),_0x23548c=this[_0x1706e6(0x104)]({..._0x3c89f3,'lockType':_0x4e039e[_0x1706e6(0x121)]}),_0x49bf22=this[_0x1706e6(0x124)]();try{const _0x722056=redisClient[_0x1706e6(0x126)]();for(let _0x5afa39=0x0;_0x5afa39<this[_0x1706e6(0x115)];_0x5afa39++){const _0x432adf=await _0x722056[_0x1706e6(0x116)](_0x248141);if(!_0x432adf){await _0x722056[_0x1706e6(0x155)](_0x23548c),await _0x722056['expire'](_0x23548c,this['defaultTTL']);const _0x3a6115=_0x23548c+':'+_0x49bf22;return await _0x722056[_0x1706e6(0x14f)](_0x3a6115,this[_0x1706e6(0x136)],_0x49bf22),logger['debug']({'event':_0x4e039e[_0x1706e6(0x10a)],'key':_0x23548c,'value':_0x49bf22},_0x1706e6(0xf9)),{'success':!![],'lockValue':_0x49bf22,'lockKey':_0x3a6115};}logger['debug']({'event':_0x4e039e[_0x1706e6(0x14b)],'writeKey':_0x248141,'attempt':_0x5afa39},'Waiting\x20for\x20WRITE\x20lock\x20to\x20release'),await this[_0x1706e6(0x135)](_0x4e039e[_0x1706e6(0x127)](this['retryDelay'],Math[_0x1706e6(0x143)](0x2,_0x5afa39)));}return logger['warn']({'event':'read_lock_timeout','key':_0x23548c},_0x1706e6(0x13c)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x409a0d){return logger['error']({'event':_0x4e039e[_0x1706e6(0x101)],'error':_0x409a0d['message']},_0x4e039e['ruzND']),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0xb8578a(0xf8)](_0xd79af5){const _0x44bc7e=a0_0xb8578a,_0x21da5a={'ARfYf':_0x44bc7e(0x148),'sLrAE':_0x44bc7e(0x10b),'LtGGn':'reject','bKiBY':function(_0x1a74af,_0x320688){return _0x1a74af===_0x320688;},'TTCNK':'write_lock_rejected','lCVTg':'WRITE\x20lock\x20rejected\x20-\x20record\x20busy','uVtLj':function(_0x1a24a0,_0x14c624){return _0x1a24a0<_0x14c624;},'mnVpE':function(_0x13cde3,_0x49210d){return _0x13cde3===_0x49210d;},'vxnYW':_0x44bc7e(0x149),'balGD':'write_lock_waiting','KbZRx':'Waiting\x20for\x20locks\x20to\x20release','EurYT':_0x44bc7e(0x138)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x42efd8=this[_0x44bc7e(0x104)]({..._0xd79af5,'lockType':_0x21da5a[_0x44bc7e(0x10e)]}),_0x2fef92=this[_0x44bc7e(0x104)]({..._0xd79af5,'lockType':_0x21da5a[_0x44bc7e(0x100)]}),_0x26d2f4=this[_0x44bc7e(0x124)]();try{const _0x2817cf=redisClient[_0x44bc7e(0x126)]();if(this[_0x44bc7e(0xff)]===_0x21da5a[_0x44bc7e(0x144)]){const _0x1dc8fc=await _0x2817cf[_0x44bc7e(0xfc)](_0x42efd8,_0x26d2f4,'EX',this['defaultTTL'],'NX');if(_0x21da5a['bKiBY'](_0x1dc8fc,'OK'))return logger[_0x44bc7e(0x134)]({'event':'write_lock_acquired','key':_0x42efd8,'value':_0x26d2f4,'strategy':_0x44bc7e(0x12c)},_0x44bc7e(0x141)),{'success':!![],'lockValue':_0x26d2f4,'lockKey':_0x42efd8};return logger['debug']({'event':_0x21da5a['TTCNK'],'key':_0x42efd8},_0x21da5a[_0x44bc7e(0x140)]),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x16a8e9=0x0;_0x21da5a['uVtLj'](_0x16a8e9,this['retryCount']);_0x16a8e9++){const [_0x57b1d0,_0x3a0610]=await Promise[_0x44bc7e(0x11e)]([_0x2817cf['get'](_0x2fef92),_0x2817cf['get'](_0x42efd8)]);if(!_0x3a0610&&(!_0x57b1d0||_0x21da5a['mnVpE'](parseInt(_0x57b1d0),0x0))){const _0x1a7532=await _0x2817cf['set'](_0x42efd8,_0x26d2f4,'EX',this[_0x44bc7e(0x136)],'NX');if(_0x1a7532==='OK')return logger[_0x44bc7e(0x134)]({'event':'write_lock_acquired','key':_0x42efd8,'value':_0x26d2f4,'strategy':_0x21da5a['vxnYW']},_0x44bc7e(0x119)),{'success':!![],'lockValue':_0x26d2f4,'lockKey':_0x42efd8};}logger['debug']({'event':_0x21da5a['balGD'],'writeKey':_0x42efd8,'readCount':_0x57b1d0,'attempt':_0x16a8e9},_0x21da5a[_0x44bc7e(0xfd)]),await this[_0x44bc7e(0x135)](this['retryDelay']*Math[_0x44bc7e(0x143)](0x2,_0x16a8e9));}return logger[_0x44bc7e(0x156)]({'event':_0x21da5a[_0x44bc7e(0x112)],'key':_0x42efd8},_0x44bc7e(0xfb)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x41b976){return logger[_0x44bc7e(0xfe)]({'event':_0x44bc7e(0x110),'error':_0x41b976[_0x44bc7e(0x109)]},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0xb8578a(0x12d)](_0x112d0e,_0xf1735d){const _0x3e744d=a0_0xb8578a,_0x24f79e={'lEIMH':_0x3e744d(0x142),'tDumd':function(_0x361fb6,_0x1cf2a6){return _0x361fb6>_0x1cf2a6;},'qzhks':function(_0x1f311e,_0x2a00b7){return _0x1f311e(_0x2a00b7);},'tUaKB':_0x3e744d(0x146),'lpUkI':'Cannot\x20release\x20lock\x20-\x20not\x20owner','DvJdQ':_0x3e744d(0x14a)};if(!this[_0x3e744d(0x128)]||!_0x112d0e)return!![];try{const _0x4e9473=redisClient['getClient']();if(_0x112d0e['includes'](_0x24f79e['lEIMH'])){await _0x4e9473['del'](_0x112d0e);const _0xda8e70=_0x112d0e[_0x3e744d(0x12b)](0x0,_0x112d0e['lastIndexOf'](':')),_0x1c7a08=await _0x4e9473[_0x3e744d(0x116)](_0xda8e70);return _0x1c7a08&&_0x24f79e[_0x3e744d(0x10c)](_0x24f79e['qzhks'](parseInt,_0x1c7a08),0x0)&&await _0x4e9473[_0x3e744d(0x14c)](_0xda8e70),logger['debug']({'event':'read_lock_released','key':_0x112d0e},_0x3e744d(0x10f)),!![];}const _0x5b6904=_0x3e744d(0x13f),_0x541050=await _0x4e9473[_0x3e744d(0xf7)](_0x5b6904,0x1,_0x112d0e,_0xf1735d);if(_0x541050===0x1)return logger[_0x3e744d(0x134)]({'event':_0x3e744d(0x103),'key':_0x112d0e},_0x24f79e['tUaKB']),!![];return logger[_0x3e744d(0x156)]({'event':'lock_release_not_owner','key':_0x112d0e},_0x24f79e[_0x3e744d(0x118)]),![];}catch(_0x7d257d){return logger['error']({'event':'lock_release_error','key':_0x112d0e,'error':_0x7d257d['message']},_0x24f79e[_0x3e744d(0x113)]),![];}}async['extendLock'](_0x4226cc,_0x13e287,_0x53d4fc=null){const _0x5b5c3b=a0_0xb8578a,_0x14c710={'uzNJX':function(_0xea007d,_0x1d4486){return _0xea007d===_0x1d4486;},'RxYpf':_0x5b5c3b(0x145),'vEspf':_0x5b5c3b(0xfa)};if(!this['enabled']||!_0x4226cc)return!![];try{const _0x47eee3=redisClient[_0x5b5c3b(0x126)](),_0x3e1908='\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',_0x504f78=await _0x47eee3[_0x5b5c3b(0xf7)](_0x3e1908,0x1,_0x4226cc,_0x13e287,_0x53d4fc||this[_0x5b5c3b(0x136)]);if(_0x14c710[_0x5b5c3b(0x102)](_0x504f78,0x1))return logger[_0x5b5c3b(0x134)]({'event':'lock_extended','key':_0x4226cc,'ttl':_0x53d4fc||this[_0x5b5c3b(0x136)]},_0x14c710['RxYpf']),!![];return![];}catch(_0x9a7e48){return logger['error']({'event':_0x5b5c3b(0x153),'key':_0x4226cc,'error':_0x9a7e48['message']},_0x14c710[_0x5b5c3b(0x122)]),![];}}[a0_0xb8578a(0x11f)](){const _0x403f8e=a0_0xb8578a;return this[_0x403f8e(0x128)];}[a0_0xb8578a(0x135)](_0x28c0bf){return new Promise(_0x45feee=>setTimeout(_0x45feee,_0x28c0bf));}async['getLockInfo'](_0x711dbe){const _0x1bb06c=a0_0xb8578a,_0x2e711f={'dyRIW':function(_0x4af3ca,_0x3a732c){return _0x4af3ca||_0x3a732c;},'pylXL':function(_0x2a9ebb,_0x4292f7){return _0x2a9ebb(_0x4292f7);}};if(!this[_0x1bb06c(0x128)])return{'enabled':![]};try{const _0x1c5ba6=redisClient['getClient'](),_0x4469e4=this[_0x1bb06c(0x104)]({..._0x711dbe,'lockType':'write'}),_0x408ef5=this['buildLockKey']({..._0x711dbe,'lockType':_0x1bb06c(0x10b)}),[_0x15b81f,_0x412b1c]=await Promise['all']([_0x1c5ba6[_0x1bb06c(0x116)](_0x4469e4),_0x1c5ba6['get'](_0x408ef5)]);return{'enabled':!![],'writeLock':_0x2e711f['dyRIW'](_0x15b81f,null),'readCount':_0x2e711f[_0x1bb06c(0x11c)](parseInt,_0x412b1c)||0x0,'writeKey':_0x4469e4,'readKey':_0x408ef5};}catch(_0x1c6b35){return{'enabled':!![],'error':_0x1c6b35['message']};}}}function a0_0x1fe3(_0xdf636d,_0x136c7c){_0xdf636d=_0xdf636d-0xf4;const _0x5ce63c=a0_0x5ce6();let _0x1fe328=_0x5ce63c[_0xdf636d];if(a0_0x1fe3['AxMsgu']===undefined){var _0x278427=function(_0x2070f6){const _0x463c51='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1edca6='',_0x22971b='';for(let _0x1495fe=0x0,_0x47d421,_0x538b3f,_0x36545d=0x0;_0x538b3f=_0x2070f6['charAt'](_0x36545d++);~_0x538b3f&&(_0x47d421=_0x1495fe%0x4?_0x47d421*0x40+_0x538b3f:_0x538b3f,_0x1495fe++%0x4)?_0x1edca6+=String['fromCharCode'](0xff&_0x47d421>>(-0x2*_0x1495fe&0x6)):0x0){_0x538b3f=_0x463c51['indexOf'](_0x538b3f);}for(let _0x52d56d=0x0,_0x5ee7ce=_0x1edca6['length'];_0x52d56d<_0x5ee7ce;_0x52d56d++){_0x22971b+='%'+('00'+_0x1edca6['charCodeAt'](_0x52d56d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x22971b);};a0_0x1fe3['DXseee']=_0x278427,a0_0x1fe3['VDfEiC']={},a0_0x1fe3['AxMsgu']=!![];}const _0x12b8a3=_0x5ce63c[0x0],_0x59b5f4=_0xdf636d+_0x12b8a3,_0xb7d54e=a0_0x1fe3['VDfEiC'][_0x59b5f4];return!_0xb7d54e?(_0x1fe328=a0_0x1fe3['DXseee'](_0x1fe328),a0_0x1fe3['VDfEiC'][_0x59b5f4]=_0x1fe328):_0x1fe328=_0xb7d54e,_0x1fe328;}module['exports']=new LockManager();
|
|
1
|
+
const a0_0x3e0bc5=a0_0x168c;(function(_0x5a8c8b,_0x49ae86){const _0x5eebfd=a0_0x168c,_0x5cd56d=_0x5a8c8b();while(!![]){try{const _0x77152d=parseInt(_0x5eebfd(0x112))/0x1+parseInt(_0x5eebfd(0xed))/0x2*(parseInt(_0x5eebfd(0xec))/0x3)+-parseInt(_0x5eebfd(0xe7))/0x4+-parseInt(_0x5eebfd(0xb8))/0x5*(-parseInt(_0x5eebfd(0xf2))/0x6)+-parseInt(_0x5eebfd(0xf9))/0x7*(-parseInt(_0x5eebfd(0xca))/0x8)+parseInt(_0x5eebfd(0xfb))/0x9+parseInt(_0x5eebfd(0xbb))/0xa*(-parseInt(_0x5eebfd(0x113))/0xb);if(_0x77152d===_0x49ae86)break;else _0x5cd56d['push'](_0x5cd56d['shift']());}catch(_0x27b5df){_0x5cd56d['push'](_0x5cd56d['shift']());}}}(a0_0x5da8,0x6f0a1));const redisClient=require('./redis-client'),{logger}=require(a0_0x3e0bc5(0xd5)),{v4:uuidv4}=require(a0_0x3e0bc5(0x100));function a0_0x5da8(){const _0xfba436=['zw52','zw5HyMXLza','Bg9JA19LEhrLBMrLza','CgLK','x3jLDhj5rgvSyxK','BM93','D3jPDgu','x2vUywjSzwq','mZu5mtC5rMXsrw9g','mtfMvM1pz3O','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','ndbZy2HTuLa','rxb6vKe','tg9JAYbYzwXLyxnLigvYCM9Y','mtG4mtK1ndbRuwDPrKq','x3n0CMf0zwD5','C2v0','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','x3DVCMTLCKLK','B2T5s1O','D3jPDgvFBg9JA190Aw1LB3v0','Cg93','te9ds19esvnuuKLcvvrfrf9ftKfcteve','C2XLzxa','rwj2DLi','AxnfBMfIBgvK','v1jjveuGBg9JAYbLCNjVCG','D3jPDgvFBg9JA19YzwPLy3rLza','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzxHWAxjLiIWGs0vzu1SXxsWGqvjhvLSYxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','og91CwDKrW','CgrytLK','zxjYB3i','D2fYBG','D3jPDgvFBg9JA193ywL0Aw5N','x2vUC3vYzuLUAxrPywXPEMvK','CMv0CNLdB3vUDa','Bg9JA19YzwXLyxnLx2vYCM9Y','Aw5JBhvKzxm','x2LUAxrPywXPEMvK','zgvMyxvSDfruta','lI9SB2DNzxi','BwHntuq','CMvHza','x3jLDhj5q291BNq','zxzHBa','zgvIDwC','z2v0tg9JA0LUzM8','CMv0CNK','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','Dhj1zq','rhvUvNK','AMrUENm','zxHWAxjL','zxv3rMK','CMvHzf9SB2nRx2vYCM9Y','C2v0zxG','n3W1Fdr8mhWZFdz8mxW4Fdi','CvrlqwW','nte3nZG0wwrtruv1','D3jPDgvFBg9JA19Hy3f1AxjLza','re55BLO','Aw5MBW','CMvHzf9SB2nRx3jLBgvHC2vK','mtu5zgvJqMnL','mtmWodjKt0LcwNG','D29YA2vYlq','CMv0CNLezwXHEq','BxHKwK0','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','ndC5nda2uxfABLPY','BwvZC2fNzq','tg9JAYbLEhrLBMqGzxjYB3i','zgvJCG','v1jjveuGBg9JAYbYzwXLyxnLza','zxHWB3j0CW','z2vUzxjHDgvmB2nRvMfSDwu','ntiZody2n1rZBMvsuG','CMvHzf9SB2nRx3DHAxrPBMC','mZm1ndK4nhPVDgHYtG','D3jPDgvFBg9JA19LCNjVCG','yNvPBgrmB2nRs2v5','ChjLzML4','z2v0q2XPzw50','DxvPza','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','CMvHzf9SB2nRx3rPBwvVDxq','CMvQzwn0','C3bSAxq','z2v0','C3vIC3rYAw5N','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','uKvbrcbSB2nRigfJCxvPCMvK','Aw5JCG'];a0_0x5da8=function(){return _0xfba436;};return a0_0x5da8();}class LockManager{constructor(){const _0x118f54=a0_0x3e0bc5;this['_prefix']=null,this[_0x118f54(0x111)]=null,this['_defaultTTL']=null,this['_retryCount']=null,this[_0x118f54(0x10e)]=null,this[_0x118f54(0xbc)]=null,this['_workerId']=null,this['_initialized']=![];}['_initConfig'](){const _0x4efbad=a0_0x3e0bc5,_0x4be8ec={'FPiYw':_0x4efbad(0xe5),'ybxvz':function(_0x3c88f5,_0xb47b50,_0x131e4d){return _0x3c88f5(_0xb47b50,_0x131e4d);},'EbvvR':'lock_config_init','qTKAl':function(_0x5d3939,_0x2e296f){return _0x5d3939===_0x2e296f;},'HqLSW':_0x4efbad(0xde),'mxdZM':_0x4efbad(0xdc),'EbIlW':'rf:lock:'},_0x1e2f65=_0x4be8ec['FPiYw'][_0x4efbad(0x104)]('|');let _0x2b7a74=0x0;while(!![]){switch(_0x1e2f65[_0x2b7a74++]){case'0':this['_retryCount']=_0x4be8ec['ybxvz'](parseInt,process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3;continue;case'1':this['_workerId']=_0x4efbad(0xee)+process[_0x4efbad(0x10d)];continue;case'2':logger[_0x4efbad(0xea)]({'event':_0x4be8ec[_0x4efbad(0xc5)],'enabled':this[_0x4efbad(0x111)],'strategy':this['_strategy'],'ttl':this['_defaultTTL'],'retryCount':this[_0x4efbad(0xd8)],'retryDelay':this[_0x4efbad(0x10e)],'workerId':this[_0x4efbad(0xbf)]},_0x4efbad(0xf1)+this['_enabled']+',\x20strategy:\x20'+this['_strategy']);continue;case'3':this['_retryDelay']=parseInt(process['env']['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64;continue;case'4':this['_defaultTTL']=parseInt(process[_0x4efbad(0x10a)]['LOCK_DISTRIBUTED_TTL'],0xa)||0xa;continue;case'5':this['_enabled']=_0x4be8ec[_0x4efbad(0xe6)](process[_0x4efbad(0x10a)][_0x4efbad(0xc3)],_0x4be8ec['HqLSW']);continue;case'6':this[_0x4efbad(0xbc)]=process[_0x4efbad(0x10a)]['LOCK_DISTRIBUTED_STRATEGY']||_0x4be8ec[_0x4efbad(0xf0)];continue;case'7':this['_prefix']=_0x4be8ec['EbIlW'];continue;case'8':this['_initialized']=!![];continue;}break;}}[a0_0x3e0bc5(0xcf)](){const _0x3c0411=a0_0x3e0bc5;!this[_0x3c0411(0xd3)]&&this['_initConfig']();}get[a0_0x3e0bc5(0xfe)](){return this['_ensureInitialized'](),this['_prefix'];}get[a0_0x3e0bc5(0x10b)](){const _0xd0959b=a0_0x3e0bc5;return this[_0xd0959b(0xcf)](),this[_0xd0959b(0x111)];}get['defaultTTL'](){const _0x3767d5=a0_0x3e0bc5;return this[_0x3767d5(0xcf)](),this['_defaultTTL'];}get['retryCount'](){const _0xd0ccfe=a0_0x3e0bc5;return this[_0xd0ccfe(0xcf)](),this[_0xd0ccfe(0xd8)];}get[a0_0x3e0bc5(0xef)](){const _0x5f11eb=a0_0x3e0bc5;return this['_ensureInitialized'](),this[_0x5f11eb(0x10e)];}get['strategy'](){return this['_ensureInitialized'](),this['_strategy'];}get['workerId'](){return this['_ensureInitialized'](),this['_workerId'];}['buildLockKey'](_0x527bd7){const _0x50d7b3=a0_0x3e0bc5,{module:_0xe4822c,endpoint:_0xd6bad4,lockType:_0x49e03e,recordId:_0x481a28}=_0x527bd7;if(_0x481a28)return''+this['prefix']+_0xe4822c+':'+_0xd6bad4+':'+_0x481a28+':'+_0x49e03e;return''+this[_0x50d7b3(0xfe)]+_0xe4822c+':'+_0xd6bad4+':'+_0x49e03e;}['generateLockValue'](){const _0x59bdcb=a0_0x3e0bc5;return this['workerId']+':'+uuidv4()+':'+Date[_0x59bdcb(0x10f)]();}async['acquireReadLock'](_0x40a6cb){const _0x325a15=a0_0x3e0bc5,_0xe437dc={'okyKZ':_0x325a15(0x110),'leYvi':'read_lock_acquired','bfGiT':_0x325a15(0x108),'MGbmY':_0x325a15(0xfa),'VpkQY':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','jdnzs':_0x325a15(0x102),'SQhyV':'READ\x20lock\x20acquire\x20timeout'};if(!this[_0x325a15(0x10b)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x41d48e=this['buildLockKey']({..._0x40a6cb,'lockType':_0xe437dc[_0x325a15(0xc0)]}),_0x1de3fa=this['buildLockKey']({..._0x40a6cb,'lockType':'read'}),_0x2bd98c=this['generateLockValue']();try{const _0x53f984=redisClient[_0x325a15(0xff)]();for(let _0x5abdb8=0x0;_0x5abdb8<this['retryCount'];_0x5abdb8++){const _0x100642=await _0x53f984['get'](_0x41d48e);if(!_0x100642){await _0x53f984[_0x325a15(0x109)](_0x1de3fa),await _0x53f984[_0x325a15(0xe1)](_0x1de3fa,this[_0x325a15(0xd4)]);const _0x409c4c=_0x1de3fa+':'+_0x2bd98c;return await _0x53f984[_0x325a15(0xe4)](_0x409c4c,this[_0x325a15(0xd4)],_0x2bd98c),logger['debug']({'event':_0xe437dc['leYvi'],'key':_0x1de3fa,'value':_0x2bd98c},_0xe437dc['bfGiT']),{'success':!![],'lockValue':_0x2bd98c,'lockKey':_0x409c4c};}logger[_0x325a15(0xda)]({'event':_0xe437dc['MGbmY'],'writeKey':_0x41d48e,'attempt':_0x5abdb8},_0xe437dc['VpkQY']),await this[_0x325a15(0xc4)](this['retryDelay']*Math['pow'](0x2,_0x5abdb8));}return logger['warn']({'event':_0xe437dc[_0x325a15(0xe0)],'key':_0x1de3fa},_0xe437dc['SQhyV']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0xcc6834){return logger['error']({'event':_0x325a15(0xe3),'error':_0xcc6834[_0x325a15(0xf3)]},'READ\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x178b92){const _0x22e4fc=a0_0x3e0bc5,_0x288cdb={'fUGjc':_0x22e4fc(0x110),'euwFi':function(_0x4024d0,_0x523fb7){return _0x4024d0===_0x523fb7;},'pdXNY':'reject','vfcwA':_0x22e4fc(0xe8),'DQbIh':_0x22e4fc(0xb7),'AiFGw':function(_0x500a4f,_0xeab23){return _0x500a4f<_0xeab23;},'DNynZ':'retry','DunVy':_0x22e4fc(0x107),'kBgTS':_0x22e4fc(0xce),'QOznw':_0x22e4fc(0xfc),'VJXYa':_0x22e4fc(0xc7)};if(!this[_0x22e4fc(0x10b)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x48f1a8=this['buildLockKey']({..._0x178b92,'lockType':_0x288cdb['fUGjc']}),_0x236102=this[_0x22e4fc(0xfd)]({..._0x178b92,'lockType':_0x22e4fc(0xd7)}),_0x2ad82f=this[_0x22e4fc(0xf8)]();try{const _0x1913ea=redisClient['getClient']();if(_0x288cdb[_0x22e4fc(0xe2)](this['strategy'],_0x288cdb[_0x22e4fc(0xcb)])){const _0x1b6ea1=await _0x1913ea['set'](_0x48f1a8,_0x2ad82f,'EX',this['defaultTTL'],'NX');if(_0x1b6ea1==='OK')return logger['debug']({'event':_0x288cdb['vfcwA'],'key':_0x48f1a8,'value':_0x2ad82f,'strategy':_0x22e4fc(0x103)},_0x288cdb['DQbIh']),{'success':!![],'lockValue':_0x2ad82f,'lockKey':_0x48f1a8};return logger['debug']({'event':_0x22e4fc(0xc8),'key':_0x48f1a8},_0x22e4fc(0x114)),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x3f84bf=0x0;_0x288cdb['AiFGw'](_0x3f84bf,this[_0x22e4fc(0xd0)]);_0x3f84bf++){const [_0x3897ed,_0x4e1c72]=await Promise['all']([_0x1913ea[_0x22e4fc(0x105)](_0x236102),_0x1913ea['get'](_0x48f1a8)]);if(!_0x4e1c72&&(!_0x3897ed||_0x288cdb['euwFi'](parseInt(_0x3897ed),0x0))){const _0xc47e39=await _0x1913ea[_0x22e4fc(0xbd)](_0x48f1a8,_0x2ad82f,'EX',this[_0x22e4fc(0xd4)],'NX');if(_0xc47e39==='OK')return logger[_0x22e4fc(0xda)]({'event':_0x288cdb['vfcwA'],'key':_0x48f1a8,'value':_0x2ad82f,'strategy':_0x288cdb[_0x22e4fc(0xe9)]},_0x288cdb[_0x22e4fc(0xdf)]),{'success':!![],'lockValue':_0x2ad82f,'lockKey':_0x48f1a8};}logger[_0x22e4fc(0xda)]({'event':_0x288cdb['kBgTS'],'writeKey':_0x48f1a8,'readCount':_0x3897ed,'attempt':_0x3f84bf},_0x22e4fc(0x101)),await this[_0x22e4fc(0xc4)](this['retryDelay']*Math[_0x22e4fc(0xc2)](0x2,_0x3f84bf));}return logger[_0x22e4fc(0xcd)]({'event':_0x22e4fc(0xc1),'key':_0x48f1a8},'WRITE\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x324cc6){return logger[_0x22e4fc(0xcc)]({'event':_0x288cdb['QOznw'],'error':_0x324cc6['message']},_0x288cdb['VJXYa']),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x2427ad,_0x46acb1){const _0x328654=a0_0x3e0bc5,_0x5e9589={'vHshX':function(_0x15eb75,_0x476023){return _0x15eb75>_0x476023;},'NKVhA':function(_0x127749,_0x1a9cf5){return _0x127749(_0x1a9cf5);},'SaGEO':_0x328654(0xeb),'Jrxmm':'READ\x20lock\x20released','EpzVA':_0x328654(0xf6),'qbdkq':_0x328654(0xd1),'mhMMD':_0x328654(0xba)};if(!this[_0x328654(0x10b)]||!_0x2427ad)return!![];try{const _0x4edc81=redisClient['getClient']();if(_0x2427ad[_0x328654(0xd2)](':read:')){await _0x4edc81['del'](_0x2427ad);const _0x521174=_0x2427ad[_0x328654(0x106)](0x0,_0x2427ad['lastIndexOf'](':')),_0x3a5b58=await _0x4edc81[_0x328654(0x105)](_0x521174);return _0x3a5b58&&_0x5e9589['vHshX'](_0x5e9589['NKVhA'](parseInt,_0x3a5b58),0x0)&&await _0x4edc81[_0x328654(0xf5)](_0x521174),logger[_0x328654(0xda)]({'event':_0x5e9589['SaGEO'],'key':_0x2427ad},_0x5e9589['Jrxmm']),!![];}const _0x4ca86d=_0x328654(0xdd),_0x342a73=await _0x4edc81['eval'](_0x4ca86d,0x1,_0x2427ad,_0x46acb1);if(_0x342a73===0x1)return logger[_0x328654(0xda)]({'event':'write_lock_released','key':_0x2427ad},_0x5e9589[_0x328654(0xb9)]),!![];return logger['warn']({'event':_0x328654(0xbe),'key':_0x2427ad},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0x2c46f4){return logger['error']({'event':_0x5e9589['qbdkq'],'key':_0x2427ad,'error':_0x2c46f4['message']},_0x5e9589[_0x328654(0xd6)]),![];}}async['extendLock'](_0x942eda,_0x449ec0,_0x294b42=null){const _0x56fa56=a0_0x3e0bc5,_0x5e9253={'DXUqj':'lock_extend_error','cbnyh':_0x56fa56(0xf4)};if(!this['enabled']||!_0x942eda)return!![];try{const _0x58bf8a=redisClient[_0x56fa56(0xff)](),_0xfcabb6=_0x56fa56(0xc9),_0x18e62d=await _0x58bf8a[_0x56fa56(0xd9)](_0xfcabb6,0x1,_0x942eda,_0x449ec0,_0x294b42||this['defaultTTL']);if(_0x18e62d===0x1)return logger[_0x56fa56(0xda)]({'event':_0x56fa56(0x10c),'key':_0x942eda,'ttl':_0x294b42||this[_0x56fa56(0xd4)]},'Lock\x20TTL\x20extended'),!![];return![];}catch(_0x1560ed){return logger['error']({'event':_0x5e9253['DXUqj'],'key':_0x942eda,'error':_0x1560ed['message']},_0x5e9253['cbnyh']),![];}}[a0_0x3e0bc5(0xc6)](){const _0x3cf042=a0_0x3e0bc5;return this[_0x3cf042(0x10b)];}[a0_0x3e0bc5(0xc4)](_0x10f6d6){return new Promise(_0x445ede=>setTimeout(_0x445ede,_0x10f6d6));}async[a0_0x3e0bc5(0xdb)](_0x2491e6){const _0x4cd72f=a0_0x3e0bc5,_0x2fa988={'GYLkX':'write'};if(!this[_0x4cd72f(0x10b)])return{'enabled':![]};try{const _0x143cca=redisClient['getClient'](),_0x58e68f=this[_0x4cd72f(0xfd)]({..._0x2491e6,'lockType':_0x2fa988['GYLkX']}),_0x231e57=this['buildLockKey']({..._0x2491e6,'lockType':'read'}),[_0x22192c,_0x44b735]=await Promise['all']([_0x143cca['get'](_0x58e68f),_0x143cca[_0x4cd72f(0x105)](_0x231e57)]);return{'enabled':!![],'writeLock':_0x22192c||null,'readCount':parseInt(_0x44b735)||0x0,'writeKey':_0x58e68f,'readKey':_0x231e57};}catch(_0x4e8adb){return{'enabled':!![],'error':_0x4e8adb['message']};}}}function a0_0x168c(_0x27aa61,_0x4cd42e){_0x27aa61=_0x27aa61-0xb7;const _0x5da81b=a0_0x5da8();let _0x168c28=_0x5da81b[_0x27aa61];if(a0_0x168c['TKGqKx']===undefined){var _0xdc1eca=function(_0x4e478e){const _0x188f96='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4f40ce='',_0x202f93='';for(let _0x3a5a07=0x0,_0x371c5e,_0x22ce67,_0x1b25fd=0x0;_0x22ce67=_0x4e478e['charAt'](_0x1b25fd++);~_0x22ce67&&(_0x371c5e=_0x3a5a07%0x4?_0x371c5e*0x40+_0x22ce67:_0x22ce67,_0x3a5a07++%0x4)?_0x4f40ce+=String['fromCharCode'](0xff&_0x371c5e>>(-0x2*_0x3a5a07&0x6)):0x0){_0x22ce67=_0x188f96['indexOf'](_0x22ce67);}for(let _0x3d2a8d=0x0,_0x5e55f2=_0x4f40ce['length'];_0x3d2a8d<_0x5e55f2;_0x3d2a8d++){_0x202f93+='%'+('00'+_0x4f40ce['charCodeAt'](_0x3d2a8d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x202f93);};a0_0x168c['ZTzKAw']=_0xdc1eca,a0_0x168c['KEYVDr']={},a0_0x168c['TKGqKx']=!![];}const _0x4d4237=_0x5da81b[0x0],_0x434b55=_0x27aa61+_0x4d4237,_0xd1502d=a0_0x168c['KEYVDr'][_0x434b55];return!_0xd1502d?(_0x168c28=a0_0x168c['ZTzKAw'](_0x168c28),a0_0x168c['KEYVDr'][_0x434b55]=_0x168c28):_0x168c28=_0xd1502d,_0x168c28;}module[a0_0x3e0bc5(0xf7)]=new LockManager();
|
package/src/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0xc69f3=a0_0x337a;function a0_0x5427(){const _0x2731a0=['uMP4zLm','z0Pcs1q','q1zgrfy','yMfZzvvYBa','rfjpua','Aw5MBW','yxbWlMXVzW','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','u0vmrunu','B3jPz2LUywXvCMW','ANPuzvG','y29Kzq','u25IqNK','y29UBMvJDgLVBG','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','ChjPDMf0zwTLEq','Ec1Yzxf1zxn0lwLK','Bw9KDwXL','Cej4CgO','sgDLyvu','tI9b','t2fkC2u','ntGYnZaXENzfsM9H','qujqsxy','w1jfrefdvevexq','DhLWzq','ig9UihbVCNqG','D2fYBG','icbvuKW6icaGia','C3rYAw5N','vvbeqvrf','Ahj0Aw1L','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','vNDrDfa','CMvWBgfJzq','mZqXvefrCeXx','tK9erv9ftLy','icbizwfSDgG6ia','qunusvzf','ic0G','mZaWndG0mePwDhjiEq','rgf0ywjHC2u6ia','zxjYB3iUBg9N','tMPYs2e','A2v5CW','w1jfrefdveveoNrVA2vUxq','CMvZDgzVCMDL','iokvKqRILzeGienVBMzPzYaGicaGidOG','mtaWmZGWtfLzEgjn','vvLnrK0','BxjNCve','y29UzMLNrMLSzq','y0LvELy','qNLir2i','C2vJCMv0','Cgf0Aa','Bwf0y2G','Ahr0Cf9Yzxf1zxn0','wNrWuMO','E21Zz30','iokvKqRILzeGifbVCNqGicaGicaGidOG','veLYEfm','C3rHDhvZq29Kzq','u01dBgy','ChjPDMf0zv9RzxK','rermx0rst1a','D0HTB28','icbjBMzVoIaGia','vu5ltK9xtG','Dxb0Aw1L','y3jLzgvUDgLHBa','C2vYDMLJzuLUzM8','zMP1wMW','u1rbuLqGvfjbtLnbq1rjt04','rxjYB3i','C3rHy2S','AxnVvgLTzq','u1fmx0Xpr19ftKfcteve','DvrrzMK','ywLqDvu','tuTlruG','q09ntuLu','CgfYyw1Z','qKvhsu4','ChjVzhvJDgLVBG','EKX0wMG','Aw5JBhvKzxm','y3z2','zxHPC3rZu3LUyW','yxbPA2v5','zw52AxjVBM1LBNq','CMvWzwf0','Dg9gAxHLza','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','zMfSC2u','BwTKAxjtEw5J','mtu1mJyXnNrVvKDmsq','u1LtoKHioK1noNnZ','BK1RCw4','lI9SB2DZlW','zgf0ywjHC2vFy29UzMLN','shr4AeC','CgLUBY1WCMv0DhK','Dhj1zq','yxbPs2v5','nw5nz01Stq','reiGuxvLCNK','vuTPEMG','uK9mtejbq0S','yxbPx2TLEq','zMLSzv9SB2DNAw5Nx2vUywjSzwq','yxLItM4','C2vYDMvYx3n0yxj0Aw5N','BwfW','zMf0ywW','t1n5zeC','ChjVAMvJDa','C3rHCNrZv2L0Aa','Dg9ju09tDhjPBMC','r2jxyxu','Ag9ZDa','AgvHBhrOq2HLy2S','t1zjCuG','C3vIC3rYAw5N','ovL4t1rguq','Bwv0Ag9K','zgvIDwC','ChjVy2vZC193yxjUAw5N','BMfTzq','tM9Kzs5QCW','zhvYyxrPB25nCW','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','tLjvCKO','su5trvju','C1fIzNa','uffswNi','vhLhsLq','yMfqtvG','yxjQAxm','rfnAt28','z3jKvMW','iokvKqRILzeGifbYB2PLy3qGicaGidOG','rhLlD3O','Cg9ZDgDYzxnXBa','Ahr0Cf9LCNjVCG','zw52','CgfZC3DVCMq','ChjVAMvJDf9SB2fKzwq','mti5odHADgLzA0q','C3rKu2vYAwfSAxPLCNm','yKv1Ewi','wwH5zMG','mJm0otyWyK1vBe1y','zxjYB3i','zxjY','ms4WlJu','DgvZDa','zgv2zwXVCg1LBNq','y3jLzgL0x2nHCMq','Bwf4','zxHPDa','CMvZB2X2zq','zMXVB3i','y3jLyxrLv3jPDgvtDhjLyw0','BwvZC2fNzq','vhjHBNnHy3rPB24G','vfjbtLnbq1rjt05Fq09ntuLu','DhjPBq','te9hx0rjuG','C3fSx3f1zxj5','yu1bD3a','DMLntvK','r3HHv1e','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','C3nU','CgfZC3DK','vuros3y','CMvTB3rLqwrKCMvZCW','Cg9YDa','DxjS','iokvKqRILzeGiefqssblzxKGicaGidOG','CgfKrw5K','EKnQwui','u2vYDMvYihn0yxj0Aw5NoIa','u1fmx0Xpr19qqvjbtvm','C2vYDMvYx3jLywr5','ChDK','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','ANnVBG','y1zbugW','zvrwwgy','zgjFDhjHBNnHy3rPB24','uhjVy2vZCYbxyxjUAw5NoIa','ugfzyxO','wuXwBwG','q1jjveLdquW','qxLqwg0','qvbqx1zfuLnjt04','te9hx1rpx0zjteu','ndv4y0rfC2u','rhn3C2O','C29Tzq','zgf0ywjHC2u','ywnJzxnZx3rVA2vU','Dg9mB3DLCKnHC2u','BgvUz3rO','uePqEKe','AgvHzgvYCW','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','Dg9vChbLCKnHC2u','vfjbtLnbq1rjt05FuK9mtejbq0S','Bg9N','oI8V','C3rHDhvZ','ndCYmZqXEMfHr29A','B2jQzwn0','oejHy0DNzW','wKPHy0u','z2v0sgvHzgvYCW'];a0_0x5427=function(){return _0x2731a0;};return a0_0x5427();}(function(_0x4b18d6,_0xf0a113){const _0x283dc9=a0_0x337a,_0x55e7ed=_0x4b18d6();while(!![]){try{const _0x37d756=parseInt(_0x283dc9(0x133))/0x1*(-parseInt(_0x283dc9(0x82))/0x2)+parseInt(_0x283dc9(0xc4))/0x3*(parseInt(_0x283dc9(0xc6))/0x4)+-parseInt(_0x283dc9(0xb5))/0x5*(parseInt(_0x283dc9(0xf9))/0x6)+-parseInt(_0x283dc9(0xdf))/0x7+-parseInt(_0x283dc9(0x12a))/0x8+parseInt(_0x283dc9(0x6a))/0x9*(-parseInt(_0x283dc9(0xf1))/0xa)+parseInt(_0x283dc9(0xec))/0xb*(parseInt(_0x283dc9(0x86))/0xc);if(_0x37d756===_0xf0a113)break;else _0x55e7ed['push'](_0x55e7ed['shift']());}catch(_0x322626){_0x55e7ed['push'](_0x55e7ed['shift']());}}}(a0_0x5427,0x27506));const pino=require('pino'),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;function a0_0x337a(_0x4a68b4,_0x4a5bd7){_0x4a68b4=_0x4a68b4-0x6a;const _0x542774=a0_0x5427();let _0x337a29=_0x542774[_0x4a68b4];if(a0_0x337a['XdFfIQ']===undefined){var _0x5e69b7=function(_0x43796f){const _0x52cf40='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1b8e1e='',_0x8a25ac='';for(let _0x10c9e7=0x0,_0x301eef,_0xe165b7,_0x23cdc9=0x0;_0xe165b7=_0x43796f['charAt'](_0x23cdc9++);~_0xe165b7&&(_0x301eef=_0x10c9e7%0x4?_0x301eef*0x40+_0xe165b7:_0xe165b7,_0x10c9e7++%0x4)?_0x1b8e1e+=String['fromCharCode'](0xff&_0x301eef>>(-0x2*_0x10c9e7&0x6)):0x0){_0xe165b7=_0x52cf40['indexOf'](_0xe165b7);}for(let _0x207e72=0x0,_0x5ec543=_0x1b8e1e['length'];_0x207e72<_0x5ec543;_0x207e72++){_0x8a25ac+='%'+('00'+_0x1b8e1e['charCodeAt'](_0x207e72)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x8a25ac);};a0_0x337a['mEevHK']=_0x5e69b7,a0_0x337a['KMFVQR']={},a0_0x337a['XdFfIQ']=!![];}const _0x3eaf44=_0x542774[0x0],_0x45914f=_0x4a68b4+_0x3eaf44,_0x47e027=a0_0x337a['KMFVQR'][_0x45914f];return!_0x47e027?(_0x337a29=a0_0x337a['mEevHK'](_0x337a29),a0_0x337a['KMFVQR'][_0x45914f]=_0x337a29):_0x337a29=_0x47e027,_0x337a29;}const prettyPrintOptions={'colorize':!![],'translateTime':a0_0xc69f3(0x12b),'ignore':a0_0xc69f3(0xa9),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0xc69f3(0x104),'customColors':a0_0xc69f3(0xd0),'hideObject':!![]},isDevelopment=process['env'][a0_0xc69f3(0xed)]!==a0_0xc69f3(0x11d),logLevel=process['env']['LOG_LEVEL']||a0_0xc69f3(0xce);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0xc69f3(0x130),'options':prettyPrintOptions}:undefined,'base':{'service':a0_0xc69f3(0xf7),'version':process['env'][a0_0xc69f3(0xb3)]||a0_0xc69f3(0x89),'env':process['env']['NODE_ENV']||a0_0xc69f3(0x8b)},'timestamp':pino['stdTimeFunctions'][a0_0xc69f3(0x115)],'redact':{'paths':['req.headers.authorization',a0_0xc69f3(0x9b),a0_0xc69f3(0x80),'token',a0_0xc69f3(0x132),'DB_PASSWORD','JWT_SECRET'],'censor':'[REDACTED]'},'serializers':{'req':_0x1ac3fc=>({'id':_0x1ac3fc['id'],'method':_0x1ac3fc['method'],'url':_0x1ac3fc['url'],'path':_0x1ac3fc['path'],'remoteAddress':_0x1ac3fc['ip']||_0x1ac3fc['connection']?.[a0_0xc69f3(0x9f)]}),'res':_0x4e52cd=>({'statusCode':_0x4e52cd['statusCode'],'headers':_0x4e52cd[a0_0xc69f3(0xc8)]?.()}),'err':pino[a0_0xc69f3(0x83)][a0_0xc69f3(0x88)]}});function initFileLogging(){const _0x41a49a=a0_0xc69f3,_0x3e9b01={'NLaIo':'true','CVFDV':'debug','ZbAfY':function(_0x453924,_0xd8e7a3){return _0x453924!==_0xd8e7a3;},'NRUrJ':_0x41a49a(0xcf),'kSshc':_0x41a49a(0xf3)};if(fileLoggingInitialized)return;logToFile=process[_0x41a49a(0x7f)][_0x41a49a(0xb4)]===_0x3e9b01['NLaIo'];const _0x44a7b6=process[_0x41a49a(0x7f)]['RESTFORGE_PROJECT_NAME']||'default';logDir=process['env'][_0x41a49a(0x96)]||_0x41a49a(0x12d)+_0x44a7b6,serviceName=process['env']['SERVICE_NAME']||_0x41a49a(0xf7),sqlLogEnabled=process[_0x41a49a(0x7f)][_0x41a49a(0x116)]===_0x41a49a(0x131),sqlLogLevel=process['env']['SQL_LOG_LEVEL']||_0x3e9b01[_0x41a49a(0xcb)],sqlLogParams=_0x3e9b01['ZbAfY'](process['env'][_0x41a49a(0xa6)],_0x41a49a(0x128)),sqlLogSlowThreshold=parseInt(process[_0x41a49a(0x7f)]['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x376659=path[_0x41a49a(0x8f)](process['cwd'](),logDir);try{!fs[_0x41a49a(0x121)](_0x376659)&&fs[_0x41a49a(0x129)](_0x376659,{'recursive':!![]});}catch(_0x417240){console[_0x41a49a(0x87)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x376659+':',_0x417240['message']),fileLoggingInitialized=!![];return;}const _0xe02f84=path['join'](_0x376659,_0x3e9b01[_0x41a49a(0x72)]),_0xc5cd77=path['join'](_0x376659,_0x41a49a(0xf3));try{appLogStream=fs['createWriteStream'](_0xe02f84,{'flags':'a'}),errorLogStream=fs[_0x41a49a(0x91)](_0xc5cd77,{'flags':'a'}),fileLoggingInitialized=!![];const _0xd15521={'event':_0x41a49a(0x138),'logDir':_0x376659,'files':[_0x3e9b01['NRUrJ'],_0x3e9b01['kSshc']]},_0xc6762a=_0x41a49a(0xe9)+_0x376659;logger[_0x41a49a(0xce)](_0xd15521,_0xc6762a),writeToFileLog({..._0xd15521,'level':_0x41a49a(0xce),'msg':_0xc6762a,'time':new Date()[_0x41a49a(0x140)]()},'info');}catch(_0x14ee1d){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x14ee1d[_0x41a49a(0x92)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x514618,_0x52c6b5){const _0x5bbe88=a0_0xc69f3,_0x84fccb={'grdVl':function(_0x2304db,_0x4e8c96){return _0x2304db===_0x4e8c96;},'arjis':_0x5bbe88(0x87)};if(!logToFile||!appLogStream)return;const _0x16b569={'service':serviceName,..._0x514618},_0x534542=JSON['stringify'](_0x16b569)+'\x0a';appLogStream['write'](_0x534542),(_0x84fccb[_0x5bbe88(0x7a)](_0x52c6b5,_0x84fccb[_0x5bbe88(0x78)])||_0x52c6b5===_0x5bbe88(0x13c))&&(errorLogStream&&errorLogStream['write'](_0x534542));}const createRequestLogger=(_0x142627={})=>{return logger['child'](_0x142627);},logServerStart=_0xd9ec84=>{const _0x219d23=a0_0xc69f3,_0x4ebcbc={'DyKwz':_0x219d23(0x126),'FEvPp':function(_0x30738f,_0x4ab698){return _0x30738f/_0x4ab698;},'LvOYx':'Default','baPMX':_0x219d23(0xef),'IDagv':'NOT\x20ACTIVE','DSZOo':_0x219d23(0xce)},_0x187574=_0x4ebcbc[_0x219d23(0x7c)],_0x555b54=Math[_0x219d23(0x8d)](0x0,0x37-_0x187574[_0x219d23(0xbb)]),_0x434cf6=Math[_0x219d23(0x90)](_0x4ebcbc['FEvPp'](_0x555b54,0x2)),_0x52d295=_0x555b54-_0x434cf6,_0x22434f='║'+'\x20'[_0x219d23(0x124)](_0x434cf6)+_0x187574+'\x20'['repeat'](_0x52d295)+'║',_0x375249=_0x219d23(0x127)+_0x22434f+_0x219d23(0xd7)+(_0xd9ec84[_0x219d23(0x123)]||_0x219d23(0x6f))['padEnd'](0x26)+_0x219d23(0x7b)+(_0xd9ec84[_0x219d23(0x13e)]||_0x219d23(0xdd))['padEnd'](0x26)+_0x219d23(0x105)+String(_0xd9ec84[_0x219d23(0xa0)]||0xbb8)[_0x219d23(0xa3)](0x26)+_0x219d23(0xf8)+(_0xd9ec84[_0x219d23(0xfc)]||_0x4ebcbc['LvOYx'])[_0x219d23(0xa3)](0x26)+_0x219d23(0xa2)+(_0xd9ec84['apiKey']?_0x4ebcbc[_0x219d23(0x77)]:_0x4ebcbc['IDagv'])[_0x219d23(0xa3)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x219d23(0xc1)](_0x375249);const _0x47904b={'event':_0x219d23(0x13a),'project':_0xd9ec84['project'],'port':_0xd9ec84['port'],'config':_0xd9ec84[_0x219d23(0xfc)],'apiKeyEnabled':!!_0xd9ec84['apiKey']};logger[_0x219d23(0xce)](_0x47904b),writeToFileLog({..._0x47904b,'level':_0x4ebcbc['DSZOo'],'msg':_0x219d23(0xa5)+_0xd9ec84[_0x219d23(0x13e)]+_0x219d23(0xe3)+_0xd9ec84[_0x219d23(0xa0)],'time':new Date()[_0x219d23(0x140)]()},_0x4ebcbc[_0x219d23(0x79)]);},logServerReady=_0x2cb42a=>{const _0x4f550b=a0_0xc69f3,_0x34f0ae={'sxDIv':_0x4f550b(0xa7)},_0x3f4b6f={'event':_0x34f0ae['sxDIv'],'port':_0x2cb42a[_0x4f550b(0xa0)],'module':_0x2cb42a[_0x4f550b(0xda)],'healthCheck':_0x2cb42a['healthCheck'],'serviceInfo':_0x2cb42a['serviceInfo'],'baseUrl':_0x2cb42a[_0x4f550b(0xcc)]},_0x16d8bc='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x2cb42a['port'];logger['info'](_0x3f4b6f,_0x16d8bc),writeToFileLog({..._0x3f4b6f,'level':'info','msg':_0x16d8bc,'time':new Date()[_0x4f550b(0x140)]()},_0x4f550b(0xce)),_0x2cb42a['healthCheck']&&logger['info'](_0x4f550b(0xee)+_0x2cb42a[_0x4f550b(0x143)]),_0x2cb42a[_0x4f550b(0x110)]&&logger[_0x4f550b(0xce)](_0x4f550b(0x10c)+_0x2cb42a['serviceInfo']),_0x2cb42a['baseUrl']&&logger[_0x4f550b(0xce)](_0x4f550b(0xe5)+_0x2cb42a['baseUrl']);},logProjectLoaded=(_0x49ecb1,_0x3ece07)=>{const _0x28e39a=a0_0xc69f3,_0x5ca0fc={'UOOll':_0x28e39a(0x81),'AyPXm':function(_0xf8fe7a,_0xbfa633,_0x10bac5){return _0xf8fe7a(_0xbfa633,_0x10bac5);},'PQRZr':'info'},_0x34672b={'event':_0x5ca0fc['UOOll'],'project':_0x49ecb1,'path':_0x3ece07},_0x2ab795='[OK]\x20Project\x20loaded:\x20'+_0x49ecb1;logger[_0x28e39a(0xce)](_0x34672b,_0x2ab795),_0x5ca0fc[_0x28e39a(0xb2)](writeToFileLog,{..._0x34672b,'level':_0x5ca0fc['PQRZr'],'msg':_0x2ab795,'time':new Date()[_0x28e39a(0x140)]()},_0x5ca0fc[_0x28e39a(0x75)]);},logEndpointRegistered=(_0x157a6b,_0x72aad5)=>{const _0x1b184d=a0_0xc69f3,_0x1a67b5={'qWHYZ':'debug'},_0x356963={'event':'endpoint_registered','endpoint':_0x157a6b,'route':_0x72aad5},_0x9bb17e='\x20\x20→\x20'+_0x157a6b+':\x20'+_0x72aad5;logger['debug'](_0x356963,_0x9bb17e),writeToFileLog({..._0x356963,'level':'debug','msg':_0x9bb17e,'time':new Date()[_0x1b184d(0x140)]()},_0x1a67b5['qWHYZ']);},logDatabaseConfig=_0x43715f=>{const _0x262a01=a0_0xc69f3,_0x40c9d9={'gFflE':_0x262a01(0x12e),'GQefw':function(_0x405bcb,_0x45a790,_0x20c32b){return _0x405bcb(_0x45a790,_0x20c32b);},'GxaWQ':_0x262a01(0x6c)},_0x3b3343={'event':_0x40c9d9['gFflE'],'host':_0x43715f[_0x262a01(0x142)],'port':_0x43715f[_0x262a01(0xa0)],'database':_0x43715f[_0x262a01(0xb8)],'type':_0x43715f['type'],'user':_0x43715f['user']},_0x1da5ba=_0x262a01(0xf2)+_0x43715f[_0x262a01(0xe2)]+_0x262a01(0xc2)+_0x43715f['host']+':'+_0x43715f['port']+'/'+_0x43715f['database'];logger['debug'](_0x3b3343,_0x1da5ba),_0x40c9d9['GQefw'](writeToFileLog,{..._0x3b3343,'level':_0x40c9d9[_0x262a01(0x9a)],'msg':_0x1da5ba,'time':new Date()['toISOString']()},_0x40c9d9['GxaWQ']);},logRequest=(_0x1b9ab4,_0xb3cb90,_0x3af855)=>{const _0x382466=a0_0xc69f3,_0x1bf294={'SlSPn':_0x382466(0x87),'aiPuU':function(_0x37ef3b,_0x1cccb5){return _0x37ef3b>=_0x1cccb5;},'hVwMF':_0x382466(0xe4),'wHmoo':function(_0x2262f9,_0x5a879a,_0x5cc192){return _0x2262f9(_0x5a879a,_0x5cc192);}},_0x5b97b1={'event':_0x382466(0x102),'method':_0x1b9ab4['method'],'path':_0x1b9ab4['path'],'statusCode':_0xb3cb90[_0x382466(0x107)],'durationMs':_0x3af855,'ip':_0x1b9ab4['ip']},_0x12b721=_0x1b9ab4[_0x382466(0x6b)]+'\x20'+_0x1b9ab4[_0x382466(0x100)]+_0x382466(0xf0)+_0xb3cb90['statusCode']+'\x20('+_0x3af855+'ms)';let _0x5c3338=_0x382466(0xce);if(_0xb3cb90[_0x382466(0x107)]>=0x1f4)_0x5c3338=_0x1bf294['SlSPn'],logger[_0x382466(0x87)](_0x5b97b1,_0x12b721);else _0x1bf294[_0x382466(0x118)](_0xb3cb90[_0x382466(0x107)],0x190)?(_0x5c3338=_0x1bf294['hVwMF'],logger[_0x382466(0xe4)](_0x5b97b1,_0x12b721)):logger['info'](_0x5b97b1,_0x12b721);_0x1bf294[_0x382466(0x10b)](writeToFileLog,{..._0x5b97b1,'level':_0x5c3338,'msg':_0x12b721,'time':new Date()[_0x382466(0x140)]()},_0x5c3338);},SENSITIVE_PARAM_PATTERNS=[a0_0xc69f3(0x80),a0_0xc69f3(0x9d),a0_0xc69f3(0xa8),'token',a0_0xc69f3(0xb9),'refresh_token',a0_0xc69f3(0xff),'api_secret',a0_0xc69f3(0x122),a0_0xc69f3(0x137),a0_0xc69f3(0x10f),'credentials','pin','otp','private_key',a0_0xc69f3(0xd8)],redactSensitiveParams=(_0x5bd144,_0x25a3a5)=>{const _0x42b0cc=a0_0xc69f3,_0x4f7c6e={'hANXR':function(_0x2e23e9,_0x2e6d92){return _0x2e23e9>_0x2e6d92;},'ABPIv':'[REDACTED:hash]'};if(!_0x5bd144||_0x5bd144['length']===0x0)return _0x5bd144;const _0x284593=_0x25a3a5[_0x42b0cc(0xba)](),_0xc07bf5=_0x284593['match'](/\(([^)]+)\)\s*values/i);let _0x41fd30=[];_0xc07bf5&&(_0x41fd30=_0xc07bf5[0x1]['split'](',')['map'](_0x3d0d63=>_0x3d0d63[_0x42b0cc(0x95)]()[_0x42b0cc(0xba)]()));const _0x120c87=_0x284593['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x120c87){const _0x11c323=_0x120c87[0x1],_0x50b334=_0x11c323['match'](/(\w+)\s*=/g);_0x50b334&&(_0x41fd30=_0x50b334['map'](_0x1a58c1=>_0x1a58c1[_0x42b0cc(0xeb)](/\s*=/,'')['trim']()[_0x42b0cc(0xba)]()));}return _0x5bd144[_0x42b0cc(0x13b)]((_0x168921,_0x5a954d)=>{const _0xa04d2=_0x42b0cc;if(_0x41fd30[_0x5a954d]){const _0x58439e=_0x41fd30[_0x5a954d],_0x39f8fb=SENSITIVE_PARAM_PATTERNS['some'](_0x26f786=>_0x58439e['includes'](_0x26f786));if(_0x39f8fb)return _0xa04d2(0xe1);}if(typeof _0x168921===_0xa04d2(0xe6)&&_0x4f7c6e['hANXR'](_0x168921['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0xa04d2(0x8a)](_0x168921)&&_0x168921[_0xa04d2(0x11f)]('.'))return _0xa04d2(0xf6);if(/^[a-fA-F0-9]{32,}$/[_0xa04d2(0x8a)](_0x168921))return _0x4f7c6e[_0xa04d2(0xe0)];}return _0x168921;});},parseQueryMetadata=_0x39e8d0=>{const _0xa8441a=a0_0xc69f3,_0x349060={'UKizh':_0xa8441a(0xd1),'zCjYB':'UPDATE','zLtZh':_0xa8441a(0x11c),'fjuZl':'TRANSACTION_BEGIN','uTQfi':_0xa8441a(0x136),'whaeW':'CREATE','Yhyfh':'DDL_CREATE','JKnkF':'ALTER','OSydG':'DDL_ALTER','Dswsj':_0xa8441a(0x10a)},_0x29db69=_0x39e8d0['trim'](),_0x239d2b=_0x29db69[_0xa8441a(0xbf)]();let _0xd2e29e=_0xa8441a(0x10d),_0x3fa322=null;if(_0x239d2b['startsWith']('SELECT')){_0xd2e29e=_0x349060[_0xa8441a(0x135)];const _0x342a0e=_0x29db69['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3fa322=_0x342a0e?_0x342a0e[0x1]:null;}else{if(_0x239d2b[_0xa8441a(0x13f)]('INSERT')){_0xd2e29e=_0xa8441a(0x73);const _0x42b5aa=_0x29db69['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3fa322=_0x42b5aa?_0x42b5aa[0x1]:null;}else{if(_0x239d2b['startsWith'](_0x349060[_0xa8441a(0xa4)])){_0xd2e29e=_0xa8441a(0xe7);const _0x34b14b=_0x29db69['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3fa322=_0x34b14b?_0x34b14b[0x1]:null;}else{if(_0x239d2b[_0xa8441a(0x13f)]('DELETE')){_0xd2e29e='DELETE';const _0x409186=_0x29db69[_0xa8441a(0x101)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3fa322=_0x409186?_0x409186[0x1]:null;}else{if(_0x239d2b[_0xa8441a(0x13f)](_0x349060[_0xa8441a(0x11e)])||_0x239d2b[_0xa8441a(0x13f)](_0xa8441a(0x112)))_0xd2e29e=_0x349060[_0xa8441a(0x111)];else{if(_0x239d2b['startsWith'](_0xa8441a(0x11a)))_0xd2e29e=_0xa8441a(0x94);else{if(_0x239d2b['startsWith'](_0x349060[_0xa8441a(0x117)]))_0xd2e29e=_0xa8441a(0xc0);else{if(_0x239d2b['startsWith'](_0x349060['whaeW']))_0xd2e29e=_0x349060[_0xa8441a(0x85)];else{if(_0x239d2b['startsWith'](_0x349060['JKnkF']))_0xd2e29e=_0x349060[_0xa8441a(0x13d)];else _0x239d2b[_0xa8441a(0x13f)](_0xa8441a(0xcd))&&(_0xd2e29e=_0x349060[_0xa8441a(0xb6)]);}}}}}}}}return{'type':_0xd2e29e,'table':_0x3fa322};},startQueryTimer=()=>{const _0x2f56f5=a0_0xc69f3,_0x82f25f={'NjrKa':function(_0x4832fc,_0x37cf1d){return _0x4832fc+_0x37cf1d;},'IXggG':function(_0x200f2c,_0x38f476){return _0x200f2c/_0x38f476;}},_0x5c3114=process[_0x2f56f5(0xe8)]();return()=>{const _0x51cd78=_0x2f56f5,[_0x5e1e60,_0x5a7861]=process[_0x51cd78(0xe8)](_0x5c3114);return parseFloat(_0x82f25f[_0x51cd78(0xf4)](_0x5e1e60*0x3e8,_0x82f25f['IXggG'](_0x5a7861,0xf4240))[_0x51cd78(0x125)](0x2));};},logQuery=(_0x4dd473,_0x3b60bb=[],_0x4add7f={})=>{const _0x5db08f=a0_0xc69f3,_0x4aafad={'clghv':'db_query','UDNKv':function(_0x2174ba,_0x197b29){return _0x2174ba(_0x197b29);},'empeI':function(_0x5c1b92,_0x4641e9){return _0x5c1b92>_0x4641e9;},'ZJacE':'unknown','jzTeX':function(_0x15c580,_0x4f651a){return _0x15c580!==_0x4f651a;},'SMClf':_0x5db08f(0xe4),'ByHGb':function(_0xb27521,_0x1e09f1){return _0xb27521===_0x1e09f1;},'eTVXf':_0x5db08f(0xce)};if(!sqlLogEnabled){logger['debug']({'event':_0x4aafad['clghv'],'query':_0x4dd473[_0x5db08f(0x145)](0x0,0xc8),'paramCount':_0x3b60bb['length']},_0x5db08f(0x134));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x5db08f(0x7d)}=_0x4add7f,{type:_0x2c91b8,table:_0x57ea22}=_0x4aafad[_0x5db08f(0x9e)](parseQueryMetadata,_0x4dd473),_0x1c2687={'event':_0x5db08f(0x97),'queryType':_0x2c91b8,'table':_0x57ea22,'query':_0x4dd473,'paramCount':_0x3b60bb[_0x5db08f(0xbb)],'dbType':dbType};sqlLogParams&&_0x4aafad['empeI'](_0x3b60bb[_0x5db08f(0xbb)],0x0)&&(_0x1c2687[_0x5db08f(0x11b)]=redactSensitiveParams(_0x3b60bb,_0x4dd473));duration!==null&&(_0x1c2687[_0x5db08f(0x70)]=duration,_0x1c2687['isSlow']=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x1c2687['rowsAffected']=rowsAffected);const _0x3e19d2=_0x57ea22||_0x4aafad[_0x5db08f(0xc7)];let _0x44ff7d='['+_0x2c91b8+']\x20'+_0x3e19d2;duration!==null&&(_0x44ff7d+='\x20('+duration+'ms)');const _0x340d67=_0x4aafad[_0x5db08f(0xd3)](duration,null)&&_0x4aafad['empeI'](duration,sqlLogSlowThreshold);let _0x489211='debug';if(_0x340d67)_0x44ff7d+='\x20[SLOW]',_0x489211=_0x4aafad[_0x5db08f(0x108)],logger[_0x5db08f(0xe4)](_0x1c2687,_0x44ff7d);else _0x4aafad[_0x5db08f(0xfe)](sqlLogLevel,_0x4aafad[_0x5db08f(0xac)])?(_0x489211=_0x4aafad[_0x5db08f(0xac)],logger['info'](_0x1c2687,_0x44ff7d)):logger[_0x5db08f(0x6c)](_0x1c2687,_0x44ff7d);writeToFileLog({..._0x1c2687,'level':_0x489211,'msg':_0x44ff7d,'time':new Date()[_0x5db08f(0x140)]()},_0x489211);},logTransaction=(_0x3e19c4,_0x2fb32c)=>{const _0x1bfa26=a0_0xc69f3,_0x551f17={'TIrxS':_0x1bfa26(0xad),'cBZwG':function(_0x4a9f6f,_0x577a45,_0x51785f){return _0x4a9f6f(_0x577a45,_0x51785f);},'HtxhG':'debug'},_0x3b9df8={'event':_0x551f17[_0x1bfa26(0x106)],'status':_0x3e19c4,'queryCount':_0x2fb32c},_0x52e5e8=_0x1bfa26(0x93)+_0x3e19c4;logger[_0x1bfa26(0x6c)](_0x3b9df8,_0x52e5e8),_0x551f17['cBZwG'](writeToFileLog,{..._0x3b9df8,'level':_0x551f17['HtxhG'],'msg':_0x52e5e8,'time':new Date()['toISOString']()},_0x551f17[_0x1bfa26(0x12f)]);},redactObject=_0x15e848=>{const _0x52d961=a0_0xc69f3,_0x435b2b={'dXaKn':function(_0x1c189f,_0x2da4db){return _0x1c189f!==_0x2da4db;},'KhNbP':_0x52d961(0xc5),'UYMFM':_0x52d961(0x80),'pBxpj':'passwd','bEuyb':_0x52d961(0xff),'ZLMoJ':_0x52d961(0x8c),'OVIqH':_0x52d961(0x120),'GbWau':_0x52d961(0x9c),'SnbBy':_0x52d961(0x109),'gjxTu':'refresh_token','cVAPl':'access_token','qPAsL':function(_0x5971ce,_0x399b21){return _0x5971ce===_0x399b21;}};if(!_0x15e848||_0x435b2b['dXaKn'](typeof _0x15e848,_0x435b2b['KhNbP']))return _0x15e848;const _0x3c058f=[_0x435b2b[_0x52d961(0xfa)],_0x435b2b[_0x52d961(0xdb)],'pwd','token',_0x435b2b[_0x52d961(0x84)],'apikey','api_key','authorization','creditcard',_0x435b2b['ZLMoJ'],_0x435b2b[_0x52d961(0x144)],_0x435b2b[_0x52d961(0x141)],'pin',_0x435b2b[_0x52d961(0xd5)],_0x52d961(0xd8),_0x435b2b['gjxTu'],_0x435b2b[_0x52d961(0xab)]],_0x46d60d=Array['isArray'](_0x15e848)?[..._0x15e848]:{..._0x15e848};for(const _0x397533 of Object[_0x52d961(0xf5)](_0x46d60d)){const _0x285a8e=_0x397533[_0x52d961(0xba)]();if(_0x3c058f[_0x52d961(0xb7)](_0x2f078c=>_0x285a8e['includes'](_0x2f078c)))_0x46d60d[_0x397533]=_0x52d961(0xe1);else _0x435b2b['qPAsL'](typeof _0x46d60d[_0x397533],_0x435b2b['KhNbP'])&&_0x435b2b['dXaKn'](_0x46d60d[_0x397533],null)&&(_0x46d60d[_0x397533]=redactObject(_0x46d60d[_0x397533]));}return _0x46d60d;},logError=(_0x46c874,_0x5318b1={},_0x433ff4=null)=>{const _0x4eb4a6=a0_0xc69f3,_0x38b3d8={'YLVmh':'error'},_0x4f3cc2={'event':'error','errorName':_0x46c874[_0x4eb4a6(0x6e)]||'Error','errorMessage':_0x46c874['message'],'errorCode':_0x46c874[_0x4eb4a6(0xd4)]||null,'stack':_0x46c874['stack'],..._0x5318b1},_0xc87ff1=_0x433ff4||'Error:\x20'+_0x46c874[_0x4eb4a6(0x92)];logger['error'](_0x4f3cc2,_0xc87ff1),writeToFileLog({..._0x4f3cc2,'level':_0x38b3d8[_0x4eb4a6(0xb0)],'msg':_0xc87ff1,'time':new Date()[_0x4eb4a6(0x140)]()},_0x38b3d8['YLVmh']);},logFatalError=(_0x5c892c,_0x5c1199={},_0x253d5f=null)=>{const _0x465486=a0_0xc69f3,_0x143c83={'thCJj':'fatal_error','aSBCk':'Error','qEkRQ':function(_0x384450,_0x3dfdc6,_0x7f96d){return _0x384450(_0x3dfdc6,_0x7f96d);},'nMkqn':_0x465486(0x13c),'mpYSn':_0x465486(0x87)},_0x1cfbb4={'event':_0x143c83['thCJj'],'errorName':_0x5c892c['name']||_0x143c83['aSBCk'],'errorMessage':_0x5c892c['message'],'errorCode':_0x5c892c[_0x465486(0xd4)]||null,'stack':_0x5c892c[_0x465486(0x114)],'severity':_0x465486(0xb1),..._0x5c1199},_0x2ae9b8=_0x253d5f||'FATAL:\x20'+_0x5c892c[_0x465486(0x92)];logger['fatal'](_0x1cfbb4,_0x2ae9b8),_0x143c83['qEkRQ'](writeToFileLog,{..._0x1cfbb4,'level':_0x143c83[_0x465486(0x12c)],'msg':_0x2ae9b8,'time':new Date()[_0x465486(0x140)]()},_0x143c83['mpYSn']);},logHttpError=(_0x4c3ed5,_0x519608,_0x11f363={})=>{const _0x946914=a0_0xc69f3,_0x4a5602={'MKKEH':_0x946914(0x7e),'oZLlo':'Error','sQbfp':_0x946914(0xd9),'gJBKT':function(_0x49a354,_0x31a8ba){return _0x49a354(_0x31a8ba);},'djVKX':function(_0xfeaccb,_0x438f9a){return _0xfeaccb>=_0x438f9a;},'jimSs':_0x946914(0x87),'viMMY':'warn'},_0xc71c4c={'event':_0x4a5602[_0x946914(0x119)],'errorName':_0x4c3ed5[_0x946914(0x6e)]||_0x4a5602['oZLlo'],'errorMessage':_0x4c3ed5['message'],'errorCode':_0x4c3ed5[_0x946914(0xd4)]||_0x4c3ed5[_0x946914(0x107)]||0x1f4,'stack':_0x4c3ed5['stack'],'method':_0x519608?.['method'],'url':_0x519608?.[_0x946914(0xa1)]||_0x519608?.[_0x946914(0xd2)],'path':_0x519608?.[_0x946914(0x100)],'ip':_0x519608?.['ip']||_0x519608?.[_0x946914(0xd6)]?.['remoteAddress'],'userAgent':_0x519608?.['get']?.('user-agent'),'requestId':_0x519608?.['id']||_0x519608?.['headers']?.[_0x4a5602[_0x946914(0x74)]],'body':_0x519608?.['body']?_0x4a5602[_0x946914(0xca)](redactObject,_0x519608['body']):undefined,'query':_0x519608?.['query'],..._0x11f363},_0x3d55da=_0x4c3ed5['statusCode']||_0x4c3ed5[_0x946914(0xc3)]||0x1f4,_0x1709a5='HTTP\x20'+_0x3d55da+':\x20'+_0x4c3ed5['message'];_0x4a5602['djVKX'](_0x3d55da,0x1f4)?logger['error'](_0xc71c4c,_0x1709a5):logger[_0x946914(0xe4)](_0xc71c4c,_0x1709a5),writeToFileLog({..._0xc71c4c,'level':_0x3d55da>=0x1f4?_0x4a5602['jimSs']:_0x4a5602[_0x946914(0x99)],'msg':_0x1709a5,'time':new Date()[_0x946914(0x140)]()},_0x3d55da>=0x1f4?'error':'warn');},logUncaughtError=(_0x1c4ff8,_0x1f1969)=>{const _0x73469e=a0_0xc69f3,_0x2c86cf={'HgeaU':function(_0x4a4d84,_0x272530){return _0x4a4d84(_0x272530);},'OrbEH':'CRITICAL','ZtpRj':function(_0x44954d,_0x26b02f,_0x12ed48){return _0x44954d(_0x26b02f,_0x12ed48);},'cIUzV':_0x73469e(0x13c)},_0x5e2ba0={'event':_0x1c4ff8,'errorName':_0x1f1969?.['name']||_0x73469e(0x113),'errorMessage':_0x1f1969?.['message']||_0x2c86cf[_0x73469e(0xdc)](String,_0x1f1969),'errorCode':_0x1f1969?.[_0x73469e(0xd4)]||null,'stack':_0x1f1969?.['stack'],'severity':_0x2c86cf['OrbEH'],'processId':process['pid'],'memoryUsage':process['memoryUsage'](),'uptime':process[_0x73469e(0x10e)]()},_0x3846ba='['+_0x1c4ff8[_0x73469e(0xbf)]()+']\x20'+(_0x1f1969?.['message']||_0x1f1969);logger['fatal'](_0x5e2ba0,_0x3846ba),_0x2c86cf[_0x73469e(0x103)](writeToFileLog,{..._0x5e2ba0,'level':_0x2c86cf[_0x73469e(0xfd)],'msg':_0x3846ba,'time':new Date()[_0x73469e(0x140)]()},'error');},setupGlobalErrorHandlers=()=>{const _0x52acb1=a0_0xc69f3,_0x54e74f={'aMAwp':function(_0x5a86ed,_0x2f3bf3,_0x3f8b46){return _0x5a86ed(_0x2f3bf3,_0x3f8b46);},'RjxfS':'uncaughtException','UYOlE':function(_0x12690e,_0x4887e9,_0x411fe6){return _0x12690e(_0x4887e9,_0x411fe6);},'KyrBx':function(_0x32587f,_0x4a30d9){return _0x32587f instanceof _0x4a30d9;},'AdCRl':function(_0x2e7078,_0x4980c0,_0x289e5d){return _0x2e7078(_0x4980c0,_0x289e5d);},'TyGJT':_0x52acb1(0x6d),'VwQtP':'unhandledRejection','OaJse':_0x52acb1(0xbe),'mrgqQ':function(_0x22ab4f,_0x4219cc,_0xc19ec4){return _0x22ab4f(_0x4219cc,_0xc19ec4);},'PaYaz':'info'};process['on']('uncaughtException',_0x57819a=>{const _0x4849bd=_0x52acb1;_0x54e74f[_0x4849bd(0x98)](logUncaughtError,_0x54e74f[_0x4849bd(0xc9)],_0x57819a),_0x54e74f['UYOlE'](setTimeout,()=>{const _0xb0aee3=_0x4849bd;process[_0xb0aee3(0x8e)](0x1);},0x3e8);}),process['on'](_0x54e74f[_0x52acb1(0xea)],(_0xbac36a,_0x282f3a)=>{const _0x4399d7=_0x54e74f['KyrBx'](_0xbac36a,Error)?_0xbac36a:new Error(String(_0xbac36a));_0x54e74f['AdCRl'](logUncaughtError,'unhandledRejection',_0x4399d7);}),process['on']('warning',_0x1e808b=>{const _0x52caf5=_0x52acb1;logger[_0x52caf5(0xe4)]({'event':_0x54e74f[_0x52caf5(0x76)],'name':_0x1e808b['name'],'message':_0x1e808b['message'],'stack':_0x1e808b['stack']},_0x52caf5(0xae)+_0x1e808b['message']);});const _0x32692b={'event':_0x54e74f[_0x52acb1(0xde)]},_0x40f021=_0x52acb1(0x71);logger['info'](_0x32692b,_0x40f021),_0x54e74f[_0x52acb1(0xfb)](writeToFileLog,{..._0x32692b,'level':_0x54e74f[_0x52acb1(0xaf)],'msg':_0x40f021,'time':new Date()[_0x52acb1(0x140)]()},_0x54e74f['PaYaz']);},createErrorHandlerMiddleware=()=>{const _0x12c02a={'PJPzA':function(_0xa07f34,_0x2277f6){return _0xa07f34>=_0x2277f6;},'aybNn':'Internal\x20server\x20error'};return(_0x49ba91,_0x4c497e,_0x46bc3a,_0x6b151c)=>{const _0x4733a4=a0_0x337a;logHttpError(_0x49ba91,_0x4c497e);const _0x4add2c=_0x49ba91[_0x4733a4(0x107)]||_0x49ba91['status']||0x1f4;_0x46bc3a['status'](_0x4add2c)[_0x4733a4(0xaa)]({'success':![],'error':_0x12c02a[_0x4733a4(0xbc)](_0x4add2c,0x1f4)?_0x12c02a[_0x4733a4(0x139)]:_0x49ba91['message'],'requestId':_0x4c497e['id']||_0x4c497e[_0x4733a4(0xbd)]?.[_0x4733a4(0xd9)]||null});};};module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
|
|
1
|
+
function a0_0x21a4(){const _0x4529b6=['CgLUBW','CgfKrw5K','CuPqtLO','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','tvbeDKS','tuj4DMK','yMfZzvvYBa','yxbWlMXVzW','CM93C0fMzMvJDgvK','Bwf0y2G','r3bcuhC','Dwf0BKi','C3vIC3rYAw5N','Bwf4','zMXVB3i','wvnNC2e','y3jLzgvUDgLHBhm','vu5ltK9xtG','vvbeqvrf','vhPvB2y','uwfftNO','zxHPC3rZu3LUyW','y2HPBgq','Cg9YDa','whDut0u','zgf0ywjHC2u','C3rHCNrZv2L0Aa','thHhA1K','BgvUz3rO','zxHWB3j0CW','reLNqM4','C29Tzq','u1jeuNm','C2vJCMv0','mJuWndyYnxPfwuLpuq','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','ChjPDMf0zv9RzxK','AgvHzgvYCW','vLrqBuW','zw5KCg9PBNrFCMvNAxn0zxjLza','DgvZDa','iokvKqRILzeGiefqssblzxKGicaGidOG','u0vsvKLdrv9oqu1f','C3rHDhvZ','zw52','C3rYAw5NAwz5','u1rbuLqGvfjbtLnbq1rjt04','C3rHDhvZq29Kzq','ChjVy2vZC193yxjUAw5N','zMf0ywXFzxjYB3i','ANftr2G','C3nU','CMvWzwf0','Cfvrs2O','y3jLyxrLv3jPDgvtDhjLyw0','Aw5MBW','nJe2nw91ywDOCW','Cxb3Efy','DxrZBw8','mte0mZq1n3ftsfnVzG','mJK4otq0BLHJDxDI','CMvZDgzVCMDL','quXurvi','te9hx1rpx0zjteu','Dg9ju09tDhjPBMC','rermx0fmvevs','lI9SB2DZlW','C29Qq3e','BxmP','u1fmx0Xpr19ftKfcteve','A2v5CW','revmrvrf','u2vYDMvYihn0yxj0Aw5NoIa','zgf0ywjHC2vFy29UzMLN','D3jPDgu','AM9PBG','Bwv0Ag9K','ChjVzhvJDgLVBG','zgv2zwXVCg1LBNq','Dw5RBM93BG','vurvueO','rKfuquW6ia','zwT6r2K','rermx0rst1a','mZaYmJG2DgnwBLD6','Ec1Yzxf1zxn0lwLK','Ag9ZDa','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','C3rYAw5N','DhjPBq','ic0G','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','zMH3zvC','yxbPx2TLEq','yxbPx3nLy3jLDa','Dg9Rzw4','Dg9mB3DLCKnHC2u','w09lxsbqCM9Qzwn0igXVywrLzdOG','qM5htLK','mtuYmJKYmgzWrxLUqG','tM9TseK','uLDdCeK','ChjVAMvJDa','DwjAALG','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','ChjPDMf0zwTLEq','Aw5JBhvKzxm','zfHtDu8','CMvTB3rLqwrKCMvZCW','rhPVChy','Ahr0Cf9LCNjVCG','zgvND0i','ote2mti0Bg92uNnK','ugDSD1u','sLDux1nfq1jfva','y3jLzgL0y2fYza','AMntqxa','svnjuw4','B05eEuy','mtC1mtjyDwD5BNy','te9hx0rjuG','w1jfrefdvevexq','ms4WlJu','zhvYyxrPB25nCW','DxnLCG','BwvZC2fNzq','CeXKwhK','vhjHBNnHy3rPB24G','tK9erv9ftLy','y3jLzgL0x2nHCMq','Cfbnvui','u1fmx0Xpr19mrvzfta','sKnms1y','yxbPA2v5','B2jQzwn0','C3rHy2S','icbjBMzVoIaGia','BwfW','yxbPs2v5','qvbqx1zfuLnjt04','y29UzMLNrMLSzq','ChDK','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','w1jfrefdveveoMHHC2HD','sw50zxjUywWGC2vYDMvYigvYCM9Y','reiGuxvLCNK','wejwDxm','DhLWzq','mtv5CeXwtfO','y29UBMvJDgLVBG','q1jjveLdquW','D2fYBG','BMfTzq','C3rKu2vYAwfSAxPLCNm','CgfZC3DVCMq','ANLIwuK','su5trvju','z2v0','Ahj0Aw1L','y29Kzq','BNvpwwO','CgLU','zMf0ywW','q09ntuLu','rxjYB3i','zxjYB3i','z2v0sgvHzgvYCW','CMvMCMvZAf90B2TLBG','Cgf0Aa','qvPevuW','qLjJqxC','zgjFDhjHBNnHy3rPB24','zgvIDwC','rfjpua','tgXZs0m','C2vYDMvYx3n0yxj0Aw5N','C2vYDMLJzuLUzM8','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','rgf0ywjHC2u6ia','zMLSzv9SB2DNAw5Nx2vUywjSzwq','AgvHBhrOq2HLy2S','Dg9vChbLCKnHC2u','CMvWBgfJzq','ALDUt2e','vvLiB0W','yM9KEq'];a0_0x21a4=function(){return _0x4529b6;};return a0_0x21a4();}const a0_0x34f8c3=a0_0x1fb1;(function(_0x2c2239,_0x513fb6){const _0x3c1e99=a0_0x1fb1,_0x3aba2a=_0x2c2239();while(!![]){try{const _0x31dd43=parseInt(_0x3c1e99(0x268))/0x1+parseInt(_0x3c1e99(0x280))/0x2+-parseInt(_0x3c1e99(0x24e))/0x3+parseInt(_0x3c1e99(0x1e2))/0x4*(-parseInt(_0x3c1e99(0x206))/0x5)+parseInt(_0x3c1e99(0x28f))/0x6+-parseInt(_0x3c1e99(0x267))/0x7+-parseInt(_0x3c1e99(0x1e9))/0x8*(-parseInt(_0x3c1e99(0x264))/0x9);if(_0x31dd43===_0x513fb6)break;else _0x3aba2a['push'](_0x3aba2a['shift']());}catch(_0x299f48){_0x3aba2a['push'](_0x3aba2a['shift']());}}}(a0_0x21a4,0x7e7a5));const pino=require(a0_0x34f8c3(0x22c)),fs=require('fs'),path=require(a0_0x34f8c3(0x21a));let logToFile=![],logDir='./logs',serviceName=a0_0x34f8c3(0x269),sqlLogEnabled=![],sqlLogLevel=a0_0x34f8c3(0x21e),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env'][a0_0x34f8c3(0x1f2)]!==a0_0x34f8c3(0x279),logLevel=process['env']['LOG_LEVEL']||a0_0x34f8c3(0x263);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x34f8c3(0x269),'version':process['env'][a0_0x34f8c3(0x1fd)]||a0_0x34f8c3(0x1ec),'env':process[a0_0x34f8c3(0x258)]['NODE_ENV']||a0_0x34f8c3(0x27a)},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':['req.headers.authorization',a0_0x34f8c3(0x24f),'password',a0_0x34f8c3(0x28b),a0_0x34f8c3(0x1fc),'DB_PASSWORD',a0_0x34f8c3(0x1e4)],'censor':a0_0x34f8c3(0x1eb)},'serializers':{'req':_0x139073=>({'id':_0x139073['id'],'method':_0x139073[a0_0x34f8c3(0x278)],'url':_0x139073['url'],'path':_0x139073['path'],'remoteAddress':_0x139073['ip']||_0x139073[a0_0x34f8c3(0x207)]?.[a0_0x34f8c3(0x298)]}),'res':_0x4a9e41=>({'statusCode':_0x4a9e41['statusCode'],'headers':_0x4a9e41[a0_0x34f8c3(0x218)]?.()}),'err':pino[a0_0x34f8c3(0x20b)]['err']}});function initFileLogging(){const _0x3c1c2c=a0_0x34f8c3,_0x570677={'PRELu':_0x3c1c2c(0x269),'fhweW':function(_0x43d483,_0x769f67){return _0x43d483===_0x769f67;},'YMFwN':'true','qJPNZ':function(_0x3afff0,_0x1fdb4e){return _0x3afff0!==_0x1fdb4e;},'UDUPJ':_0x3c1c2c(0x233),'LkffW':_0x3c1c2c(0x225),'lmXlI':function(_0x1f3467,_0x5e11f8,_0xbfe694){return _0x1f3467(_0x5e11f8,_0xbfe694);},'sojCq':'info'};if(fileLoggingInitialized)return;logToFile=process['env'][_0x3c1c2c(0x26b)]==='true';const _0x37f3ff=process['env'][_0x3c1c2c(0x283)]||'default';logDir=process['env'][_0x3c1c2c(0x1ea)]||_0x3c1c2c(0x26e)+_0x37f3ff,serviceName=process[_0x3c1c2c(0x258)][_0x3c1c2c(0x256)]||_0x570677['PRELu'],sqlLogEnabled=_0x570677[_0x3c1c2c(0x288)](process['env'][_0x3c1c2c(0x271)],_0x570677['YMFwN']),sqlLogLevel=process['env'][_0x3c1c2c(0x1f5)]||_0x3c1c2c(0x21e),sqlLogParams=_0x570677[_0x3c1c2c(0x22e)](process[_0x3c1c2c(0x258)]['SQL_LOG_PARAMS'],'false'),sqlLogSlowThreshold=parseInt(process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x481e02=path['resolve'](process['cwd'](),logDir);try{!fs[_0x3c1c2c(0x241)](_0x481e02)&&fs['mkdirSync'](_0x481e02,{'recursive':!![]});}catch(_0x21c5af){console[_0x3c1c2c(0x217)](_0x3c1c2c(0x223)+_0x481e02+':',_0x21c5af['message']),fileLoggingInitialized=!![];return;}const _0x58844c=path[_0x3c1c2c(0x277)](_0x481e02,_0x570677[_0x3c1c2c(0x27c)]),_0x41b55e=path['join'](_0x481e02,'error.log');try{appLogStream=fs[_0x3c1c2c(0x262)](_0x58844c,{'flags':'a'}),errorLogStream=fs[_0x3c1c2c(0x262)](_0x41b55e,{'flags':'a'}),fileLoggingInitialized=!![];const _0x494b5c={'event':_0x570677['LkffW'],'logDir':_0x481e02,'files':[_0x570677[_0x3c1c2c(0x27c)],'error.log']},_0x2fa4eb=_0x3c1c2c(0x287)+_0x481e02;logger['info'](_0x494b5c,_0x2fa4eb),_0x570677['lmXlI'](writeToFileLog,{..._0x494b5c,'level':_0x570677[_0x3c1c2c(0x26f)],'msg':_0x2fa4eb,'time':new Date()['toISOString']()},'info');}catch(_0x22977f){console[_0x3c1c2c(0x217)]('Failed\x20to\x20create\x20log\x20streams:',_0x22977f['message']),fileLoggingInitialized=!![];}}function a0_0x1fb1(_0xad57a0,_0x356703){_0xad57a0=_0xad57a0-0x1df;const _0x21a4cc=a0_0x21a4();let _0x1fb15a=_0x21a4cc[_0xad57a0];if(a0_0x1fb1['dlQrqo']===undefined){var _0x2efcce=function(_0x4f00ac){const _0x3ed77a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x340a0a='',_0x6a5528='';for(let _0xdc4219=0x0,_0x27e342,_0x4c78f2,_0x86cb3a=0x0;_0x4c78f2=_0x4f00ac['charAt'](_0x86cb3a++);~_0x4c78f2&&(_0x27e342=_0xdc4219%0x4?_0x27e342*0x40+_0x4c78f2:_0x4c78f2,_0xdc4219++%0x4)?_0x340a0a+=String['fromCharCode'](0xff&_0x27e342>>(-0x2*_0xdc4219&0x6)):0x0){_0x4c78f2=_0x3ed77a['indexOf'](_0x4c78f2);}for(let _0x1901cd=0x0,_0x1d6b2a=_0x340a0a['length'];_0x1901cd<_0x1d6b2a;_0x1901cd++){_0x6a5528+='%'+('00'+_0x340a0a['charCodeAt'](_0x1901cd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x6a5528);};a0_0x1fb1['ZEmsqW']=_0x2efcce,a0_0x1fb1['eCSnUq']={},a0_0x1fb1['dlQrqo']=!![];}const _0x5b2ce2=_0x21a4cc[0x0],_0x3c6bbc=_0xad57a0+_0x5b2ce2,_0x3601c2=a0_0x1fb1['eCSnUq'][_0x3c6bbc];return!_0x3601c2?(_0x1fb15a=a0_0x1fb1['ZEmsqW'](_0x1fb15a),a0_0x1fb1['eCSnUq'][_0x3c6bbc]=_0x1fb15a):_0x1fb15a=_0x3601c2,_0x1fb15a;}function writeToFileLog(_0x21a7ae,_0x2fec91){const _0x52ab3c=a0_0x34f8c3,_0x18c046={'QzqMz':function(_0xe2a749,_0x2ebe69){return _0xe2a749||_0x2ebe69;},'LxGkY':function(_0x1c2bfc,_0x18fb07){return _0x1c2bfc===_0x18fb07;},'loiGN':_0x52ab3c(0x214)};if(_0x18c046['QzqMz'](!logToFile,!appLogStream))return;const _0x5843e0={'service':serviceName,..._0x21a7ae},_0x3cb87c=JSON[_0x52ab3c(0x259)](_0x5843e0)+'\x0a';appLogStream[_0x52ab3c(0x276)](_0x3cb87c),(_0x18c046['LxGkY'](_0x2fec91,'error')||_0x18c046[_0x52ab3c(0x247)](_0x2fec91,_0x18c046['loiGN']))&&(errorLogStream&&errorLogStream[_0x52ab3c(0x276)](_0x3cb87c));}const createRequestLogger=(_0x3403cc={})=>{const _0x45da32=a0_0x34f8c3;return logger[_0x45da32(0x242)](_0x3403cc);},logServerStart=_0x410cd3=>{const _0x141f3e=a0_0x34f8c3,_0x51bc17={'HsgZs':'Node.js','hPcaa':function(_0x28dbf4,_0x5cbc86){return _0x28dbf4(_0x5cbc86);},'DEZtI':'Default'},_0x19a610=_0x141f3e(0x294),_0xba5f0f=Math[_0x141f3e(0x239)](0x0,0x37-_0x19a610['length']),_0x2a276b=Math[_0x141f3e(0x23a)](_0xba5f0f/0x2),_0x54b5c7=_0xba5f0f-_0x2a276b,_0x545e13='║'+'\x20'[_0x141f3e(0x260)](_0x2a276b)+_0x19a610+'\x20'['repeat'](_0x54b5c7)+'║',_0x12790f='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x545e13+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x410cd3['environment']||_0x51bc17['HsgZs'])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x410cd3[_0x141f3e(0x292)]||'N/A')[_0x141f3e(0x22d)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+_0x51bc17['hPcaa'](String,_0x410cd3['port']||0xbb8)[_0x141f3e(0x22d)](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x410cd3['configFile']||_0x51bc17['DEZtI'])[_0x141f3e(0x22d)](0x26)+_0x141f3e(0x255)+(_0x410cd3[_0x141f3e(0x1fc)]?'ACTIVE':'NOT\x20ACTIVE')['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x12790f);const _0x48f7d3={'event':_0x141f3e(0x221),'project':_0x410cd3['project'],'port':_0x410cd3['port'],'config':_0x410cd3[_0x141f3e(0x1fe)],'apiKeyEnabled':!!_0x410cd3[_0x141f3e(0x1fc)]};logger['info'](_0x48f7d3),writeToFileLog({..._0x48f7d3,'level':_0x141f3e(0x263),'msg':_0x141f3e(0x274)+_0x410cd3['project']+'\x20on\x20port\x20'+_0x410cd3[_0x141f3e(0x243)],'time':new Date()['toISOString']()},_0x141f3e(0x263));},logServerReady=_0x2fd809=>{const _0xa4e9f0=a0_0x34f8c3,_0x3b1f32={'DIgBn':'server_ready','JCLKV':_0xa4e9f0(0x263)},_0x4dcd95={'event':_0x3b1f32[_0xa4e9f0(0x24a)],'port':_0x2fd809[_0xa4e9f0(0x243)],'module':_0x2fd809['module'],'healthCheck':_0x2fd809['healthCheck'],'serviceInfo':_0x2fd809[_0xa4e9f0(0x222)],'baseUrl':_0x2fd809[_0xa4e9f0(0x232)]},_0x44493f='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x2fd809[_0xa4e9f0(0x243)];logger['info'](_0x4dcd95,_0x44493f),writeToFileLog({..._0x4dcd95,'level':_0x3b1f32[_0xa4e9f0(0x1f6)],'msg':_0x44493f,'time':new Date()[_0xa4e9f0(0x26c)]()},_0x3b1f32['JCLKV']),_0x2fd809[_0xa4e9f0(0x226)]&&logger[_0xa4e9f0(0x263)]('\x20\x20Health:\x20'+_0x2fd809[_0xa4e9f0(0x226)]),_0x2fd809[_0xa4e9f0(0x222)]&&logger[_0xa4e9f0(0x263)](_0xa4e9f0(0x1fa)+_0x2fd809[_0xa4e9f0(0x222)]),_0x2fd809[_0xa4e9f0(0x232)]&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0x2fd809['baseUrl']);},logProjectLoaded=(_0x338eba,_0x9249f0)=>{const _0x22137c=a0_0x34f8c3,_0x5d153c={'degwB':function(_0x9aac94,_0x2268ed,_0x1d31f7){return _0x9aac94(_0x2268ed,_0x1d31f7);},'tdtxS':'info'},_0x8fa06e={'event':'project_loaded','project':_0x338eba,'path':_0x9249f0},_0x2707aa=_0x22137c(0x28d)+_0x338eba;logger['info'](_0x8fa06e,_0x2707aa),_0x5d153c[_0x22137c(0x1e1)](writeToFileLog,{..._0x8fa06e,'level':_0x5d153c['tdtxS'],'msg':_0x2707aa,'time':new Date()[_0x22137c(0x26c)]()},_0x22137c(0x263));},logEndpointRegistered=(_0x30a619,_0x3e43e3)=>{const _0xd769e7=a0_0x34f8c3,_0x49d1f2={'ZUXlC':_0xd769e7(0x253),'CbpGj':function(_0x259984,_0x1cf706,_0xa97a24){return _0x259984(_0x1cf706,_0xa97a24);},'XwTOE':'debug'},_0x2ed990={'event':_0x49d1f2['ZUXlC'],'endpoint':_0x30a619,'route':_0x3e43e3},_0x4a7c8e='\x20\x20→\x20'+_0x30a619+':\x20'+_0x3e43e3;logger[_0xd769e7(0x21e)](_0x2ed990,_0x4a7c8e),_0x49d1f2['CbpGj'](writeToFileLog,{..._0x2ed990,'level':_0x49d1f2[_0xd769e7(0x244)],'msg':_0x4a7c8e,'time':new Date()[_0xd769e7(0x26c)]()},_0x49d1f2[_0xd769e7(0x244)]);},logDatabaseConfig=_0x5bf781=>{const _0x55f8db=a0_0x34f8c3,_0x283785={'BnGNY':_0x55f8db(0x275),'ytaxo':function(_0x408567,_0x5d0782,_0xa83fdd){return _0x408567(_0x5d0782,_0xa83fdd);}},_0x450a6c={'event':_0x283785[_0x55f8db(0x28e)],'host':_0x5bf781[_0x55f8db(0x282)],'port':_0x5bf781['port'],'database':_0x5bf781[_0x55f8db(0x245)],'type':_0x5bf781['type'],'user':_0x5bf781[_0x55f8db(0x1ee)]},_0x43df80=_0x55f8db(0x224)+_0x5bf781[_0x55f8db(0x205)]+'://'+_0x5bf781['host']+':'+_0x5bf781[_0x55f8db(0x243)]+'/'+_0x5bf781['database'];logger[_0x55f8db(0x21e)](_0x450a6c,_0x43df80),_0x283785['ytaxo'](writeToFileLog,{..._0x450a6c,'level':_0x55f8db(0x21e),'msg':_0x43df80,'time':new Date()['toISOString']()},_0x55f8db(0x21e));},logRequest=(_0x356983,_0x427417,_0x4165fa)=>{const _0x1eb1d2=a0_0x34f8c3,_0x48f187={'jyYiF':'info','ekzGi':function(_0x3158ad,_0x1bfe11){return _0x3158ad>=_0x1bfe11;},'MBxvi':_0x1eb1d2(0x209)},_0x52a5d4={'event':'http_request','method':_0x356983[_0x1eb1d2(0x278)],'path':_0x356983[_0x1eb1d2(0x21a)],'statusCode':_0x427417['statusCode'],'durationMs':_0x4165fa,'ip':_0x356983['ip']},_0x47f163=_0x356983['method']+'\x20'+_0x356983['path']+_0x1eb1d2(0x286)+_0x427417['statusCode']+'\x20('+_0x4165fa+_0x1eb1d2(0x270);let _0x2612ea=_0x48f187['jyYiF'];if(_0x48f187['ekzGi'](_0x427417['statusCode'],0x1f4))_0x2612ea='error',logger[_0x1eb1d2(0x217)](_0x52a5d4,_0x47f163);else _0x48f187[_0x1eb1d2(0x27e)](_0x427417[_0x1eb1d2(0x25b)],0x190)?(_0x2612ea=_0x48f187[_0x1eb1d2(0x231)],logger['warn'](_0x52a5d4,_0x47f163)):logger['info'](_0x52a5d4,_0x47f163);writeToFileLog({..._0x52a5d4,'level':_0x2612ea,'msg':_0x47f163,'time':new Date()[_0x1eb1d2(0x26c)]()},_0x2612ea);},SENSITIVE_PARAM_PATTERNS=[a0_0x34f8c3(0x20c),'passwd',a0_0x34f8c3(0x1ff),a0_0x34f8c3(0x28b),'access_token',a0_0x34f8c3(0x219),a0_0x34f8c3(0x24d),a0_0x34f8c3(0x28a),a0_0x34f8c3(0x1f7),a0_0x34f8c3(0x289),'credential',a0_0x34f8c3(0x23c),'pin','otp','private_key','privatekey'],redactSensitiveParams=(_0x3156f1,_0x1a822f)=>{const _0x5c1418=a0_0x34f8c3,_0x45f6a5={'orHXf':_0x5c1418(0x284),'COFDi':_0x5c1418(0x201)};if(!_0x3156f1||_0x3156f1[_0x5c1418(0x248)]===0x0)return _0x3156f1;const _0x4c7a92=_0x1a822f['toLowerCase'](),_0xa6465d=_0x4c7a92['match'](/\(([^)]+)\)\s*values/i);let _0x3cad43=[];_0xa6465d&&(_0x3cad43=_0xa6465d[0x1]['split'](',')[_0x5c1418(0x1fb)](_0x2f738f=>_0x2f738f[_0x5c1418(0x285)]()[_0x5c1418(0x28c)]()));const _0x1ce2a4=_0x4c7a92['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x1ce2a4){const _0x573201=_0x1ce2a4[0x1],_0x339747=_0x573201['match'](/(\w+)\s*=/g);_0x339747&&(_0x3cad43=_0x339747[_0x5c1418(0x1fb)](_0x371a51=>_0x371a51[_0x5c1418(0x228)](/\s*=/,'')[_0x5c1418(0x285)]()[_0x5c1418(0x28c)]()));}return _0x3156f1['map']((_0x3ac284,_0x559057)=>{const _0x2fc117=_0x5c1418;if(_0x3cad43[_0x559057]){const _0x3c0a1c=_0x3cad43[_0x559057],_0x5b321d=SENSITIVE_PARAM_PATTERNS[_0x2fc117(0x24b)](_0x134114=>_0x3c0a1c['includes'](_0x134114));if(_0x5b321d)return _0x2fc117(0x1eb);}if(typeof _0x3ac284===_0x45f6a5['orHXf']&&_0x3ac284[_0x2fc117(0x248)]>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x3ac284)&&_0x3ac284[_0x2fc117(0x296)]('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/[_0x2fc117(0x254)](_0x3ac284))return _0x45f6a5['COFDi'];}return _0x3ac284;});},parseQueryMetadata=_0x90cf3b=>{const _0x410419=a0_0x34f8c3,_0xefd1a3={'uatnB':_0x410419(0x23d),'UYHoL':_0x410419(0x20e),'oNDyF':'BEGIN','RWCpI':_0x410419(0x25a),'zOhAz':'TRANSACTION_BEGIN','UAhpi':_0x410419(0x215),'XBVus':'TRANSACTION_COMMIT','pLdXy':'ROLLBACK','TMazJ':'DDL_CREATE','YSgsa':_0x410419(0x26a),'fbpXV':_0x410419(0x26d),'MkCfn':_0x410419(0x27f)},_0x3183a0=_0x90cf3b['trim'](),_0x491145=_0x3183a0['toUpperCase']();let _0x457a32=_0xefd1a3[_0x410419(0x237)],_0x398833=null;if(_0x491145[_0x410419(0x246)]('SELECT')){_0x457a32='SELECT';const _0x5287aa=_0x3183a0[_0x410419(0x235)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x398833=_0x5287aa?_0x5287aa[0x1]:null;}else{if(_0x491145['startsWith'](_0xefd1a3[_0x410419(0x22a)])){_0x457a32=_0xefd1a3['UYHoL'];const _0x17da23=_0x3183a0['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x398833=_0x17da23?_0x17da23[0x1]:null;}else{if(_0x491145['startsWith']('UPDATE')){_0x457a32=_0x410419(0x23e);const _0x45ca34=_0x3183a0[_0x410419(0x235)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x398833=_0x45ca34?_0x45ca34[0x1]:null;}else{if(_0x491145['startsWith'](_0x410419(0x273))){_0x457a32='DELETE';const _0x49e3f3=_0x3183a0['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x398833=_0x49e3f3?_0x49e3f3[0x1]:null;}else{if(_0x491145['startsWith'](_0xefd1a3[_0x410419(0x1e8)])||_0x491145['startsWith'](_0xefd1a3[_0x410419(0x291)]))_0x457a32=_0xefd1a3['zOhAz'];else{if(_0x491145['startsWith'](_0xefd1a3['UAhpi']))_0x457a32=_0xefd1a3[_0x410419(0x204)];else{if(_0x491145[_0x410419(0x246)](_0xefd1a3[_0x410419(0x1f0)]))_0x457a32='TRANSACTION_ROLLBACK';else{if(_0x491145['startsWith']('CREATE'))_0x457a32=_0xefd1a3['TMazJ'];else{if(_0x491145['startsWith'](_0xefd1a3[_0x410419(0x23b)]))_0x457a32=_0xefd1a3['fbpXV'];else _0x491145[_0x410419(0x246)](_0x410419(0x21f))&&(_0x457a32=_0xefd1a3['MkCfn']);}}}}}}}}return{'type':_0x457a32,'table':_0x398833};},startQueryTimer=()=>{const _0x29be2e=a0_0x34f8c3,_0x4ca390={'VTPmL':function(_0x402abc,_0x56919c){return _0x402abc(_0x56919c);},'ubZjX':function(_0xee6f37,_0x321476){return _0xee6f37+_0x321476;},'iEgZC':function(_0x171e40,_0x5ce4ef){return _0x171e40/_0x5ce4ef;}},_0x2f6e43=process[_0x29be2e(0x210)]();return()=>{const _0x62897c=_0x29be2e,[_0x1815fc,_0x5b3055]=process['hrtime'](_0x2f6e43);return _0x4ca390[_0x62897c(0x252)](parseFloat,_0x4ca390[_0x62897c(0x293)](_0x1815fc*0x3e8,_0x4ca390['iEgZC'](_0x5b3055,0xf4240))['toFixed'](0x2));};},logQuery=(_0x3d577f,_0x292494=[],_0x9108e5={})=>{const _0x2b50b7=a0_0x34f8c3,_0x296223={'QaENz':_0x2b50b7(0x203),'MPDvK':'postgresql','keVci':function(_0x5daefa,_0x48dd75){return _0x5daefa(_0x48dd75);},'qpwxV':function(_0x43dbf4,_0xc34c28,_0x47e39c){return _0x43dbf4(_0xc34c28,_0x47e39c);},'bCcuM':function(_0x38b22a,_0x5221c4){return _0x38b22a!==_0x5221c4;},'TzUof':function(_0x2589e3,_0x30271e){return _0x2589e3>_0x30271e;},'RPpte':_0x2b50b7(0x21e),'TqNUU':'\x20[SLOW]','dXSuO':_0x2b50b7(0x209),'jWnOa':'info'};if(!sqlLogEnabled){logger['debug']({'event':'db_query','query':_0x3d577f[_0x2b50b7(0x238)](0x0,0xc8),'paramCount':_0x292494['length']},_0x296223[_0x2b50b7(0x240)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x296223[_0x2b50b7(0x230)]}=_0x9108e5,{type:_0x5144ef,table:_0x46ded4}=_0x296223['keVci'](parseQueryMetadata,_0x3d577f),_0x25026a={'event':'sql_query','queryType':_0x5144ef,'table':_0x46ded4,'query':_0x3d577f,'paramCount':_0x292494['length'],'dbType':dbType};sqlLogParams&&_0x292494['length']>0x0&&(_0x25026a['params']=_0x296223['qpwxV'](redactSensitiveParams,_0x292494,_0x3d577f));duration!==null&&(_0x25026a[_0x2b50b7(0x1ed)]=duration,_0x25026a['isSlow']=duration>sqlLogSlowThreshold);_0x296223['bCcuM'](rowsAffected,null)&&(_0x25026a[_0x2b50b7(0x234)]=rowsAffected);const _0x384e80=_0x46ded4||_0x2b50b7(0x27b);let _0x3a0a57='['+_0x5144ef+']\x20'+_0x384e80;_0x296223['bCcuM'](duration,null)&&(_0x3a0a57+='\x20('+duration+_0x2b50b7(0x270));const _0x56f0db=duration!==null&&_0x296223[_0x2b50b7(0x23f)](duration,sqlLogSlowThreshold);let _0x1f94d5=_0x296223['RPpte'];if(_0x56f0db)_0x3a0a57+=_0x296223['TqNUU'],_0x1f94d5=_0x296223[_0x2b50b7(0x297)],logger['warn'](_0x25026a,_0x3a0a57);else sqlLogLevel==='info'?(_0x1f94d5=_0x296223[_0x2b50b7(0x229)],logger['info'](_0x25026a,_0x3a0a57)):logger[_0x2b50b7(0x21e)](_0x25026a,_0x3a0a57);_0x296223[_0x2b50b7(0x265)](writeToFileLog,{..._0x25026a,'level':_0x1f94d5,'msg':_0x3a0a57,'time':new Date()['toISOString']()},_0x1f94d5);},logTransaction=(_0x2012db,_0x2be225)=>{const _0x4b79a5=a0_0x34f8c3,_0x2aa2de={'awrbN':function(_0x5338f3,_0xdb2261,_0x2d51b8){return _0x5338f3(_0xdb2261,_0x2d51b8);},'Dzopv':'debug'},_0x18b657={'event':_0x4b79a5(0x21d),'status':_0x2012db,'queryCount':_0x2be225},_0xd2899d=_0x4b79a5(0x1f1)+_0x2012db;logger[_0x4b79a5(0x21e)](_0x18b657,_0xd2899d),_0x2aa2de['awrbN'](writeToFileLog,{..._0x18b657,'level':_0x2aa2de[_0x4b79a5(0x1df)],'msg':_0xd2899d,'time':new Date()[_0x4b79a5(0x26c)]()},_0x4b79a5(0x21e));},redactObject=_0x2a508e=>{const _0x430fea=a0_0x34f8c3,_0x39f9e9={'NomHI':'object','YOgVm':'password','ISIQn':_0x430fea(0x24d),'VhqmK':'authorization','cOBLx':_0x430fea(0x1e5),'QLlhR':_0x430fea(0x1f3),'arFOa':'cvv','OSkbK':_0x430fea(0x25f),'GoEcM':_0x430fea(0x250),'ybCWn':_0x430fea(0x295),'jybYI':_0x430fea(0x219),'TrMKv':'access_token','pUQKj':function(_0x2b7642,_0x55e7ab){return _0x2b7642===_0x55e7ab;},'PglwU':function(_0x430ade,_0xc52271){return _0x430ade(_0xc52271);}};if(!_0x2a508e||typeof _0x2a508e!==_0x39f9e9[_0x430fea(0x290)])return _0x2a508e;const _0x1d86db=[_0x39f9e9['YOgVm'],'passwd',_0x430fea(0x1ff),'token',_0x39f9e9[_0x430fea(0x1e7)],'apikey','api_key',_0x39f9e9['VhqmK'],_0x39f9e9['cOBLx'],_0x39f9e9['QLlhR'],_0x39f9e9['arFOa'],_0x39f9e9['OSkbK'],_0x430fea(0x213),_0x39f9e9['GoEcM'],_0x39f9e9['ybCWn'],_0x39f9e9[_0x430fea(0x20d)],_0x39f9e9['TrMKv']],_0x1cd53c=Array['isArray'](_0x2a508e)?[..._0x2a508e]:{..._0x2a508e};for(const _0x3f72ed of Object[_0x430fea(0x272)](_0x1cd53c)){const _0x272b29=_0x3f72ed['toLowerCase']();if(_0x1d86db['some'](_0x16a08b=>_0x272b29[_0x430fea(0x296)](_0x16a08b)))_0x1cd53c[_0x3f72ed]='[REDACTED]';else _0x39f9e9[_0x430fea(0x261)](typeof _0x1cd53c[_0x3f72ed],_0x430fea(0x1f8))&&_0x1cd53c[_0x3f72ed]!==null&&(_0x1cd53c[_0x3f72ed]=_0x39f9e9[_0x430fea(0x1e3)](redactObject,_0x1cd53c[_0x3f72ed]));}return _0x1cd53c;},logError=(_0x4c1107,_0x5aa6db={},_0x52b346=null)=>{const _0x44a4d9=a0_0x34f8c3,_0x122e1d={'AZDUL':'error','jcSAp':function(_0x2dee59,_0x2d860a,_0x71707d){return _0x2dee59(_0x2d860a,_0x71707d);}},_0x5c6dc2={'event':_0x122e1d[_0x44a4d9(0x21b)],'errorName':_0x4c1107[_0x44a4d9(0x20a)]||'Error','errorMessage':_0x4c1107['message'],'errorCode':_0x4c1107['code']||null,'stack':_0x4c1107[_0x44a4d9(0x1f9)],..._0x5aa6db},_0x80cf30=_0x52b346||'Error:\x20'+_0x4c1107[_0x44a4d9(0x1ef)];logger['error'](_0x5c6dc2,_0x80cf30),_0x122e1d[_0x44a4d9(0x1e6)](writeToFileLog,{..._0x5c6dc2,'level':_0x122e1d[_0x44a4d9(0x21b)],'msg':_0x80cf30,'time':new Date()['toISOString']()},'error');},logFatalError=(_0x4628ed,_0x8fb05a={},_0x68b26e=null)=>{const _0x24d7bb=a0_0x34f8c3,_0x4d9fc9={'event':_0x24d7bb(0x25d),'errorName':_0x4628ed[_0x24d7bb(0x20a)]||'Error','errorMessage':_0x4628ed['message'],'errorCode':_0x4628ed[_0x24d7bb(0x211)]||null,'stack':_0x4628ed[_0x24d7bb(0x1f9)],'severity':'CRITICAL',..._0x8fb05a},_0xfc404a=_0x68b26e||_0x24d7bb(0x27d)+_0x4628ed[_0x24d7bb(0x1ef)];logger['fatal'](_0x4d9fc9,_0xfc404a),writeToFileLog({..._0x4d9fc9,'level':'fatal','msg':_0xfc404a,'time':new Date()[_0x24d7bb(0x26c)]()},'error');},logHttpError=(_0x2f0dd9,_0x1b7fec,_0x407f6e={})=>{const _0x4a7916=a0_0x34f8c3,_0x336842={'Ydkic':_0x4a7916(0x216),'utsmo':'user-agent','LlsKC':function(_0x5ad9d5,_0x262206){return _0x5ad9d5>=_0x262206;},'cSEhH':function(_0x210576,_0x10dd10,_0x4a0cc7){return _0x210576(_0x10dd10,_0x4a0cc7);},'GpBPw':_0x4a7916(0x209),'JVqON':function(_0x226d2e,_0x943a14){return _0x226d2e>=_0x943a14;},'BRcAw':'error'},_0x1a07d1={'event':_0x4a7916(0x1e0),'errorName':_0x2f0dd9[_0x4a7916(0x20a)]||_0x336842['Ydkic'],'errorMessage':_0x2f0dd9[_0x4a7916(0x1ef)],'errorCode':_0x2f0dd9[_0x4a7916(0x211)]||_0x2f0dd9['statusCode']||0x1f4,'stack':_0x2f0dd9['stack'],'method':_0x1b7fec?.[_0x4a7916(0x278)],'url':_0x1b7fec?.['url']||_0x1b7fec?.['originalUrl'],'path':_0x1b7fec?.['path'],'ip':_0x1b7fec?.['ip']||_0x1b7fec?.[_0x4a7916(0x207)]?.['remoteAddress'],'userAgent':_0x1b7fec?.[_0x4a7916(0x20f)]?.(_0x336842[_0x4a7916(0x266)]),'requestId':_0x1b7fec?.['id']||_0x1b7fec?.[_0x4a7916(0x251)]?.[_0x4a7916(0x281)],'body':_0x1b7fec?.[_0x4a7916(0x22b)]?redactObject(_0x1b7fec[_0x4a7916(0x22b)]):undefined,'query':_0x1b7fec?.['query'],..._0x407f6e},_0x364eda=_0x2f0dd9[_0x4a7916(0x25b)]||_0x2f0dd9[_0x4a7916(0x257)]||0x1f4,_0x490a18='HTTP\x20'+_0x364eda+':\x20'+_0x2f0dd9[_0x4a7916(0x1ef)];_0x336842[_0x4a7916(0x220)](_0x364eda,0x1f4)?logger['error'](_0x1a07d1,_0x490a18):logger[_0x4a7916(0x209)](_0x1a07d1,_0x490a18),_0x336842['cSEhH'](writeToFileLog,{..._0x1a07d1,'level':_0x336842['LlsKC'](_0x364eda,0x1f4)?'error':_0x336842['GpBPw'],'msg':_0x490a18,'time':new Date()['toISOString']()},_0x336842['JVqON'](_0x364eda,0x1f4)?_0x336842[_0x4a7916(0x21c)]:_0x336842[_0x4a7916(0x236)]);},logUncaughtError=(_0x3b03e0,_0x1ea006)=>{const _0x39112e=a0_0x34f8c3,_0xe8c59c={'event':_0x3b03e0,'errorName':_0x1ea006?.['name']||'Error','errorMessage':_0x1ea006?.[_0x39112e(0x1ef)]||String(_0x1ea006),'errorCode':_0x1ea006?.['code']||null,'stack':_0x1ea006?.['stack'],'severity':_0x39112e(0x208),'processId':process['pid'],'memoryUsage':process['memoryUsage'](),'uptime':process['uptime']()},_0x4b34d2='['+_0x3b03e0[_0x39112e(0x227)]()+']\x20'+(_0x1ea006?.['message']||_0x1ea006);logger[_0x39112e(0x214)](_0xe8c59c,_0x4b34d2),writeToFileLog({..._0xe8c59c,'level':'fatal','msg':_0x4b34d2,'time':new Date()[_0x39112e(0x26c)]()},_0x39112e(0x217));},setupGlobalErrorHandlers=()=>{const _0x24854b=a0_0x34f8c3,_0x3ce4c4={'leSkF':function(_0x4cd6ff,_0x370dc8,_0x4ada9f){return _0x4cd6ff(_0x370dc8,_0x4ada9f);},'nuOYj':function(_0x1f682d,_0x167edf){return _0x1f682d(_0x167edf);},'jqSGh':'unhandledRejection','dvqre':_0x24854b(0x25c),'SRDRs':'warning','NStiG':_0x24854b(0x22f),'HXrQZ':_0x24854b(0x263)};process['on']('uncaughtException',_0x4ef97a=>{_0x3ce4c4['leSkF'](logUncaughtError,'uncaughtException',_0x4ef97a),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x3ce4c4[_0x24854b(0x25e)],(_0x188272,_0xcc39d7)=>{const _0x50bd41=_0x24854b,_0xf2b378=_0x188272 instanceof Error?_0x188272:new Error(_0x3ce4c4[_0x50bd41(0x212)](String,_0x188272));_0x3ce4c4['leSkF'](logUncaughtError,_0x3ce4c4['jqSGh'],_0xf2b378);}),process['on'](_0x3ce4c4[_0x24854b(0x24c)],_0x1f8171=>{const _0x3347d8=_0x24854b;logger[_0x3347d8(0x209)]({'event':_0x3ce4c4['dvqre'],'name':_0x1f8171[_0x3347d8(0x20a)],'message':_0x1f8171['message'],'stack':_0x1f8171[_0x3347d8(0x1f9)]},'Process\x20Warning:\x20'+_0x1f8171[_0x3347d8(0x1ef)]);});const _0x3dbc97={'event':_0x24854b(0x200)},_0x1efc66=_0x3ce4c4['NStiG'];logger['info'](_0x3dbc97,_0x1efc66),writeToFileLog({..._0x3dbc97,'level':_0x3ce4c4['HXrQZ'],'msg':_0x1efc66,'time':new Date()['toISOString']()},_0x3ce4c4['HXrQZ']);},createErrorHandlerMiddleware=()=>{const _0x2f5039=a0_0x34f8c3,_0x112784={'pPMUB':function(_0x32fd69,_0x738a74){return _0x32fd69>=_0x738a74;},'uhoGV':_0x2f5039(0x202)};return(_0xfdc738,_0x2ca59b,_0x142faf,_0x1c00dd)=>{const _0x1e6c74=_0x2f5039;logHttpError(_0xfdc738,_0x2ca59b);const _0x31a11b=_0xfdc738['statusCode']||_0xfdc738['status']||0x1f4;_0x142faf[_0x1e6c74(0x257)](_0x31a11b)['json']({'success':![],'error':_0x112784[_0x1e6c74(0x1f4)](_0x31a11b,0x1f4)?_0x112784['uhoGV']:_0xfdc738['message'],'requestId':_0x2ca59b['id']||_0x2ca59b[_0x1e6c74(0x251)]?.[_0x1e6c74(0x281)]||null});};};module[a0_0x34f8c3(0x249)]={'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_0x3f5f56=a0_0x2639;function a0_0x2639(_0x1a545e,_0x48f212){_0x1a545e=_0x1a545e-0x107;const _0x286664=a0_0x2866();let _0x263918=_0x286664[_0x1a545e];if(a0_0x2639['tKoKbm']===undefined){var _0x13ce40=function(_0x3e8a4f){const _0xb919d9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f8c9f='',_0x2b9c89='';for(let _0x5df0db=0x0,_0x3f1b21,_0x3d8d5e,_0x306a91=0x0;_0x3d8d5e=_0x3e8a4f['charAt'](_0x306a91++);~_0x3d8d5e&&(_0x3f1b21=_0x5df0db%0x4?_0x3f1b21*0x40+_0x3d8d5e:_0x3d8d5e,_0x5df0db++%0x4)?_0x2f8c9f+=String['fromCharCode'](0xff&_0x3f1b21>>(-0x2*_0x5df0db&0x6)):0x0){_0x3d8d5e=_0xb919d9['indexOf'](_0x3d8d5e);}for(let _0x1492d0=0x0,_0x284ccc=_0x2f8c9f['length'];_0x1492d0<_0x284ccc;_0x1492d0++){_0x2b9c89+='%'+('00'+_0x2f8c9f['charCodeAt'](_0x1492d0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2b9c89);};a0_0x2639['cGQxeT']=_0x13ce40,a0_0x2639['dinglG']={},a0_0x2639['tKoKbm']=!![];}const _0x5c8c81=_0x286664[0x0],_0x1d8061=_0x1a545e+_0x5c8c81,_0x57a777=a0_0x2639['dinglG'][_0x1d8061];return!_0x57a777?(_0x263918=a0_0x2639['cGQxeT'](_0x263918),a0_0x2639['dinglG'][_0x1d8061]=_0x263918):_0x263918=_0x57a777,_0x263918;}(function(_0x2d755e,_0x2d321d){const _0x5efce4=a0_0x2639,_0x22a3f6=_0x2d755e();while(!![]){try{const _0x57ed7f=parseInt(_0x5efce4(0x109))/0x1+-parseInt(_0x5efce4(0x133))/0x2+-parseInt(_0x5efce4(0x117))/0x3+-parseInt(_0x5efce4(0x110))/0x4*(-parseInt(_0x5efce4(0x118))/0x5)+parseInt(_0x5efce4(0x123))/0x6+parseInt(_0x5efce4(0x119))/0x7+-parseInt(_0x5efce4(0x12d))/0x8*(parseInt(_0x5efce4(0x131))/0x9);if(_0x57ed7f===_0x2d321d)break;else _0x22a3f6['push'](_0x22a3f6['shift']());}catch(_0x35210f){_0x22a3f6['push'](_0x22a3f6['shift']());}}}(a0_0x2866,0xc0bbc));const dbType=(process['env']['DB_TYPE']||a0_0x3f5f56(0x10c))['toLowerCase']();let executeQuery;if(dbType===a0_0x3f5f56(0x138)){const oracleDb=require('./db-oracle');executeQuery=(_0xbda1ff,_0x5537b7)=>oracleDb[a0_0x3f5f56(0x107)](_0xbda1ff,_0x5537b7);}else{if(dbType===a0_0x3f5f56(0x12f)){const mysqlDb=require(a0_0x3f5f56(0x11a));executeQuery=(_0x14e88c,_0x23a267)=>mysqlDb[a0_0x3f5f56(0x107)](_0x14e88c,_0x23a267);}else executeQuery=require('./db')['executeQuery'];}const {logger}=require('./logger');class LookupResolver{constructor(){const _0x54f0d0=a0_0x3f5f56;this[_0x54f0d0(0x124)]=new Map();}[a0_0x3f5f56(0x10a)](){const _0x4f42c0=a0_0x3f5f56,_0x175b9f={'FUCeT':'lookup_cache_cleared','pnEzz':'Lookup\x20cache\x20cleared'};this[_0x4f42c0(0x124)]['clear'](),logger['debug']({'event':_0x175b9f[_0x4f42c0(0x12a)]},_0x175b9f[_0x4f42c0(0x112)]);}async[a0_0x3f5f56(0x11f)](_0x4c369a,_0x398f6a,_0x413f32){const _0x514bb5=a0_0x3f5f56,_0x21f6c0={'bSfkr':function(_0x27ee3d,_0x1034d9){return _0x27ee3d!==_0x1034d9;},'PRHpj':function(_0x3e405c,_0x55bf40){return _0x3e405c(_0x55bf40);},'WLYdG':function(_0x2e07b9,_0x1a2362){return _0x2e07b9(_0x1a2362);},'baxxM':_0x514bb5(0x129)},_0x4680bf=_0x4c369a+':'+_0x398f6a+':'+_0x413f32;if(this['lookupCache'][_0x514bb5(0x116)](_0x4680bf))return this[_0x514bb5(0x124)][_0x514bb5(0x11e)](_0x4680bf);try{const _0x512881=_0x514bb5(0x11b)+_0x413f32+',\x20'+_0x398f6a+'\x20FROM\x20'+_0x4c369a,_0x508f25=await _0x21f6c0[_0x514bb5(0x113)](executeQuery,_0x512881),_0x53f8a7=new Map();return _0x508f25['forEach'](_0x1b7378=>{const _0x5ebaad=_0x514bb5,_0x17c164=_0x1b7378[_0x398f6a]!==undefined?_0x1b7378[_0x398f6a]:_0x1b7378[_0x398f6a[_0x5ebaad(0x125)]()],_0x36c916=_0x1b7378[_0x413f32]!==undefined?_0x1b7378[_0x413f32]:_0x1b7378[_0x413f32['toUpperCase']()];_0x17c164!==null&&_0x21f6c0['bSfkr'](_0x17c164,undefined)&&(_0x53f8a7[_0x5ebaad(0x136)](_0x21f6c0[_0x5ebaad(0x111)](String,_0x17c164)[_0x5ebaad(0x10d)]()['trim'](),_0x36c916),_0x53f8a7[_0x5ebaad(0x136)](_0x21f6c0['PRHpj'](String,_0x17c164)[_0x5ebaad(0x114)](),_0x36c916));}),this['lookupCache']['set'](_0x4680bf,_0x53f8a7),logger['info']({'event':_0x21f6c0[_0x514bb5(0x130)],'table':_0x4c369a,'column':_0x398f6a,'count':_0x508f25[_0x514bb5(0x10f)]},'Lookup\x20table\x20loaded:\x20'+_0x4c369a),_0x53f8a7;}catch(_0x13732b){logger['error']({'event':'lookup_table_load_error','table':_0x4c369a,'error':_0x13732b[_0x514bb5(0x115)]},_0x514bb5(0x10e)+_0x4c369a);throw _0x13732b;}}['resolveLookupValue'](_0x10e780,_0x5b3106){const _0x2f7ea9=a0_0x3f5f56,_0x39f892={'Tokxp':function(_0x4d6b25,_0x2b5329){return _0x4d6b25===_0x2b5329;},'optqJ':function(_0x295164,_0x502773){return _0x295164(_0x502773);}};if(_0x39f892[_0x2f7ea9(0x121)](_0x10e780,null)||_0x10e780===undefined||_0x10e780==='')return null;const _0x164da2=_0x39f892['optqJ'](String,_0x10e780)['trim']();if(_0x5b3106['has'](_0x164da2))return _0x5b3106[_0x2f7ea9(0x11e)](_0x164da2);const _0x39d0af=_0x164da2[_0x2f7ea9(0x10d)]();if(_0x5b3106['has'](_0x39d0af))return _0x5b3106['get'](_0x39d0af);return null;}async[a0_0x3f5f56(0x12c)](_0x4d7f34,_0x5b1bf4){const _0x24b736=a0_0x3f5f56,_0x48183d={'uQPpH':function(_0x5c2654,_0x23b870){return _0x5c2654===_0x23b870;},'HHZBc':function(_0x5907d5,_0x34f64d){return _0x5907d5!==_0x34f64d;}};if(!_0x5b1bf4||Object[_0x24b736(0x135)](_0x5b1bf4)[_0x24b736(0x10f)]===0x0)return{'processedRows':_0x4d7f34,'errors':[]};const _0xc17f00=[],_0x34da5a=new Map();for(const [_0x177105,_0x242bc9]of Object[_0x24b736(0x132)](_0x5b1bf4)){const {lookupTable:_0x201b3c,lookupColumn:_0x3a3336,lookupIdColumn:_0x446a72}=_0x242bc9,_0x156499=_0x201b3c+':'+_0x3a3336+':'+_0x446a72;if(!_0x34da5a[_0x24b736(0x116)](_0x156499)){const _0x405f93=await this[_0x24b736(0x11f)](_0x201b3c,_0x3a3336,_0x446a72);_0x34da5a['set'](_0x156499,_0x405f93);}}const _0xeb02d5=_0x4d7f34[_0x24b736(0x134)]((_0x2111f9,_0x48512d)=>{const _0x5c2c32=_0x24b736,_0x1c58fc={..._0x2111f9};for(const [_0x55feca,_0xe7e0d8]of Object[_0x5c2c32(0x132)](_0x5b1bf4)){const {lookupTable:_0x3c0455,lookupColumn:_0x29ea35,lookupIdColumn:_0x1c6572,targetField:_0x5469c1,required:_0x3c6381}=_0xe7e0d8,_0x3522c6=_0x3c0455+':'+_0x29ea35+':'+_0x1c6572,_0x19eaee=_0x34da5a[_0x5c2c32(0x11e)](_0x3522c6),_0x375560=_0x2111f9[_0x55feca];if((_0x48183d[_0x5c2c32(0x10b)](_0x375560,null)||_0x375560===undefined||_0x375560==='')&&!_0x3c6381){_0x1c58fc[_0x5469c1]=null;continue;}const _0x3d20c0=this[_0x5c2c32(0x12e)](_0x375560,_0x19eaee);_0x48183d['HHZBc'](_0x3d20c0,null)?_0x1c58fc[_0x5469c1]=_0x3d20c0:(_0x3c6381&&_0xc17f00[_0x5c2c32(0x126)]({'rowIndex':_0x48512d,'field':_0x55feca,'value':_0x375560,'targetField':_0x5469c1,'lookupTable':_0x3c0455,'message':'Value\x20\x22'+_0x375560+'\x22\x20not\x20found\x20in\x20'+_0x3c0455}),_0x1c58fc[_0x5469c1]=null);}return _0x1c58fc;});return logger[_0x24b736(0x122)]({'event':'lookup_fields_processed','totalRows':_0x4d7f34[_0x24b736(0x10f)],'errorCount':_0xc17f00['length'],'lookupFieldCount':Object['keys'](_0x5b1bf4)[_0x24b736(0x10f)]},_0x24b736(0x11d)),{'processedRows':_0xeb02d5,'errors':_0xc17f00};}[a0_0x3f5f56(0x128)](_0x818310,_0x1adae5){const _0x39eacb=a0_0x3f5f56,_0x595dd3={'EpgxA':function(_0x498997,_0x346b7d){return _0x498997!==_0x346b7d;},'oPmsm':function(_0x5dd35c,_0xb22c0d){return _0x5dd35c!==_0xb22c0d;}},_0x3a36ae=new Set();return _0x818310[_0x39eacb(0x12b)](_0x3a610=>{const _0x4ba739=_0x39eacb,_0x5d939e=_0x3a610[_0x1adae5];_0x595dd3['EpgxA'](_0x5d939e,null)&&_0x595dd3['oPmsm'](_0x5d939e,undefined)&&_0x595dd3[_0x4ba739(0x137)](_0x5d939e,'')&&_0x3a36ae[_0x4ba739(0x108)](String(_0x5d939e)[_0x4ba739(0x114)]());}),Array[_0x39eacb(0x120)](_0x3a36ae);}async[a0_0x3f5f56(0x11c)](_0x4b3786,_0x10a8dc){const _0x28f5f7=a0_0x3f5f56,_0x5ed125={'xngac':function(_0x30cbf1,_0x5cedf0){return _0x30cbf1===_0x5cedf0;},'hHmQZ':function(_0x143708,_0x4f2bda){return _0x143708>_0x4f2bda;}};if(!_0x10a8dc||_0x5ed125['xngac'](Object['keys'](_0x10a8dc)[_0x28f5f7(0x10f)],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x3b516f=[],_0x5db465={};for(const [_0x38bfeb,_0x46e709]of Object[_0x28f5f7(0x132)](_0x10a8dc)){const {lookupTable:_0x1e9e7f,lookupColumn:_0x415ea1,lookupIdColumn:_0x3623da,required:_0xfce604}=_0x46e709,_0x286ba1=this[_0x28f5f7(0x128)](_0x4b3786,_0x38bfeb),_0x3ff6f1=await this[_0x28f5f7(0x11f)](_0x1e9e7f,_0x415ea1,_0x3623da),_0x43df80=[],_0x3f3dc0=[];_0x286ba1[_0x28f5f7(0x12b)](_0x55f694=>{const _0x4f4bab=this['resolveLookupValue'](_0x55f694,_0x3ff6f1);_0x4f4bab!==null?_0x3f3dc0['push'](_0x55f694):_0x43df80['push'](_0x55f694);});if(_0x5ed125[_0x28f5f7(0x127)](_0x43df80['length'],0x0)&&_0xfce604){_0x3b516f['push']({'field':_0x38bfeb,'lookupTable':_0x1e9e7f,'invalidValues':_0x43df80,'message':_0x43df80[_0x28f5f7(0x10f)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0x1e9e7f});const _0x4f6a5a=[];_0x3ff6f1[_0x28f5f7(0x12b)]((_0x3f738,_0x412307)=>{const _0x468e09=_0x28f5f7;if(_0x412307===_0x412307['toLowerCase']())return;_0x4f6a5a[_0x468e09(0x126)](_0x412307);}),_0x5db465[_0x38bfeb]={'invalidValues':_0x43df80,'availableValues':_0x4f6a5a['slice'](0x0,0x32)};}}return{'valid':_0x3b516f[_0x28f5f7(0x10f)]===0x0,'errors':_0x3b516f,'suggestions':_0x5db465};}}function a0_0x2866(){const _0x39b19c=['ChjVy2vZC0XVB2T1CezPzwXKCW','mte2ogTyEfnzEG','CMvZB2X2zuXVB2T1CfzHBhvL','BxLZCwW','yMf4Ee0','mtC3nJi0u29uvfPQ','zw50CMLLCW','mti1ntm4mg5UtxvhBa','BwfW','A2v5CW','C2v0','rxbNEee','B3jHy2XL','zxHLy3v0zvf1zxj5','ywrK','mtiWnJu0mvjfz3jZtq','y2XLyxjdywnOzq','DvfqCeG','Cg9ZDgDYzxnXBa','Dg9mB3DLCKnHC2u','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','BgvUz3rO','oti0ndC2veTXBwPJ','ufjiCgO','Cg5fENO','v0XzzeC','DhjPBq','BwvZC2fNzq','AgfZ','nJm2nJuXqM96zNDL','mJbZDwDYu3q','odC2nZu2m1j2weLPBG','lI9KyI1TExnXBa','u0vmrunuia','DMfSAwrHDgvmB29RDxbwywX1zxm','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq','z2v0','Bg9HzeXVB2T1CfrHyMXL','zNjVBq','vg9REha','Aw5MBW','nJC2mZyZoePZq0LNta','Bg9VA3vWq2fJAgu','Dg9vChbLCKnHC2u','ChvZAa','AeHTuvO','z2v0rgLZDgLUy3rwywX1zxm','Bg9VA3vWx3rHyMXLx2XVywrLza','rLvdzvq','zM9YrwfJAa'];a0_0x2866=function(){return _0x39b19c;};return a0_0x2866();}module['exports']=new LookupResolver();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x3dd83a=a0_0x3919;function a0_0x5102(){const _0x2fda21=['quv1y0W','zfjIC0m','mtGYmtv2vfvJv1q','zxjYB3i','mty1nJa0mNzTANjyyq','mtqWmZa2nMXeBxvNtG','z2v0rxHWB3j0q29UzMLN','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','Axnby3rPB25fBMfIBgvK','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','mJK5ndGWoevOtLbXwq','C2v0','Cgf5Bg9HzerPCG','mZbmvhfmBNu','zMLLBgrmywjLBhm','CMvWBgfJzq','ChjVBwLZzxm','CMvHzezPBgu','nZu0mZa0wwPnu0TM','lMPZB24','zLP1zxi','ufLyCwC','y2fJAgu','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','DKHMreu','nJjWtgvVC3a','zgvIDwC','lI9SB2DNzxi','y29SDw1UrM9YBwf0CW','Cgf5Bg9Hzf9SB2fKzwq','AM9PBG','ywn0Aw9U','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','mJu2mtq1meDAwe94uG','CgfYC2u','lI4VlI4VCgf5Bg9Hza','DxrMoa','Cgf5Bg9HzdO','nde4ndy1DeTZAg9L','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','mJDRDePbu00','y2XLyxi','zgf0yxrHyMXLC1f1zxj5'];a0_0x5102=function(){return _0x2fda21;};return a0_0x5102();}(function(_0x55e043,_0x119cec){const _0x4290fa=a0_0x3919,_0x61ab80=_0x55e043();while(!![]){try{const _0x7a49ea=-parseInt(_0x4290fa(0x201))/0x1*(-parseInt(_0x4290fa(0x1ed))/0x2)+parseInt(_0x4290fa(0x203))/0x3+parseInt(_0x4290fa(0x1e6))/0x4+-parseInt(_0x4290fa(0x1fa))/0x5*(parseInt(_0x4290fa(0x20c))/0x6)+-parseInt(_0x4290fa(0x204))/0x7+parseInt(_0x4290fa(0x209))/0x8+parseInt(_0x4290fa(0x1fc))/0x9*(-parseInt(_0x4290fa(0x1f5))/0xa);if(_0x7a49ea===_0x119cec)break;else _0x61ab80['push'](_0x61ab80['shift']());}catch(_0x3c83a6){_0x61ab80['push'](_0x61ab80['shift']());}}}(a0_0x5102,0x475ac));const fs=require('fs')[a0_0x3dd83a(0x1e4)],path=require('path'),{logger}=require(a0_0x3dd83a(0x1ef));class PayloadLoader{constructor(){const _0xeb61c4=a0_0x3dd83a,_0x26cc05={'dRbsC':_0xeb61c4(0x1f7)};this[_0xeb61c4(0x20b)]=path['join'](__dirname,_0x26cc05[_0xeb61c4(0x200)]),this[_0xeb61c4(0x1ea)]=new Map();}async['loadPayload'](_0x1807d5,_0x44ecb4){const _0x337a1a=a0_0x3dd83a,_0x30cfea={'LKUtY':_0x337a1a(0x1f8),'vHfDE':_0x337a1a(0x1f1)},_0x4a00a5=_0x1807d5+':'+_0x44ecb4;if(this[_0x337a1a(0x1ea)]['has'](_0x4a00a5))return this['cache']['get'](_0x4a00a5);const _0x29e694=path[_0x337a1a(0x1f2)](this['payloadDir'],_0x1807d5+'_'+_0x44ecb4+_0x337a1a(0x1e7));try{const _0x166119=await fs['readFile'](_0x29e694,_0x30cfea['LKUtY']),_0x7bcd8=JSON[_0x337a1a(0x1f6)](_0x166119);return this['cache'][_0x337a1a(0x20a)](_0x4a00a5,_0x7bcd8),logger['debug']({'event':_0x30cfea[_0x337a1a(0x1ec)],'project':_0x1807d5,'resource':_0x44ecb4},_0x337a1a(0x1f4)),_0x7bcd8;}catch(_0x3b5f13){logger[_0x337a1a(0x202)]({'event':_0x337a1a(0x1fb),'project':_0x1807d5,'resource':_0x44ecb4,'error':_0x3b5f13['message']},'Failed\x20to\x20load\x20payload');throw new Error('Payload\x20not\x20found:\x20'+_0x1807d5+'_'+_0x44ecb4);}}async['loadPayloadByName'](_0x536aeb){const _0xc83bd=a0_0x3dd83a,_0x7b863b={'fZuer':_0xc83bd(0x1f8),'MwuUS':'payload_loaded','AEucL':_0xc83bd(0x1eb),'dNmLo':_0xc83bd(0x208)},_0x11146e=_0xc83bd(0x1f9)+_0x536aeb;if(this['cache']['has'](_0x11146e))return this['cache']['get'](_0x11146e);const _0x9d567d=path['join'](this['payloadDir'],_0x536aeb+_0xc83bd(0x1e7));try{const _0x4176c6=await fs[_0xc83bd(0x1e5)](_0x9d567d,_0x7b863b[_0xc83bd(0x1e8)]),_0x19c765=JSON['parse'](_0x4176c6);return this[_0xc83bd(0x1ea)]['set'](_0x11146e,_0x19c765),logger[_0xc83bd(0x1ee)]({'event':_0x7b863b['MwuUS'],'payloadName':_0x536aeb},_0x7b863b[_0xc83bd(0x1ff)]),_0x19c765;}catch(_0x29bb98){logger[_0xc83bd(0x202)]({'event':_0xc83bd(0x1fb),'payloadName':_0x536aeb,'error':_0x29bb98['message']},_0x7b863b['dNmLo']);throw new Error('Payload\x20not\x20found:\x20'+_0x536aeb);}}[a0_0x3dd83a(0x207)](_0xebcc3f,_0x1c4695){const _0x130269=a0_0x3dd83a,_0x453eda={'PYXqg':function(_0x25f5be,_0x4b05e6){return _0x25f5be===_0x4b05e6;}};return _0xebcc3f['action']&&_0x453eda[_0x130269(0x1e9)](_0xebcc3f[_0x130269(0x1f3)][_0x1c4695],!![]);}[a0_0x3dd83a(0x205)](_0x349c04){const _0x432ebe=a0_0x3dd83a;return{'columns':_0x349c04['fieldName']||[],'filename':_0x349c04['tableName'][_0x432ebe(0x1e3)]('.','-')+'-export','datatablesQuery':_0x349c04[_0x432ebe(0x1fe)]||null,'columnFormats':_0x349c04[_0x432ebe(0x1f0)]||null,'fieldLabels':_0x349c04[_0x432ebe(0x1e2)]||null};}['clearCache'](){const _0x320339=a0_0x3dd83a,_0x1819dd={'kayKo':'payload_cache_cleared'};this['cache'][_0x320339(0x1fd)](),logger['info']({'event':_0x1819dd['kayKo']},_0x320339(0x206));}}function a0_0x3919(_0x2c57d2,_0x3e4982){_0x2c57d2=_0x2c57d2-0x1e2;const _0x510230=a0_0x5102();let _0x3919c2=_0x510230[_0x2c57d2];if(a0_0x3919['DDHpAP']===undefined){var _0x5f5337=function(_0x26e990){const _0x224296='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x27429f='',_0x6c14a4='';for(let _0x315f21=0x0,_0x185269,_0x1f3c74,_0xb5533a=0x0;_0x1f3c74=_0x26e990['charAt'](_0xb5533a++);~_0x1f3c74&&(_0x185269=_0x315f21%0x4?_0x185269*0x40+_0x1f3c74:_0x1f3c74,_0x315f21++%0x4)?_0x27429f+=String['fromCharCode'](0xff&_0x185269>>(-0x2*_0x315f21&0x6)):0x0){_0x1f3c74=_0x224296['indexOf'](_0x1f3c74);}for(let _0x32ccce=0x0,_0x2e8daa=_0x27429f['length'];_0x32ccce<_0x2e8daa;_0x32ccce++){_0x6c14a4+='%'+('00'+_0x27429f['charCodeAt'](_0x32ccce)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x6c14a4);};a0_0x3919['Ujbmuj']=_0x5f5337,a0_0x3919['zEwQJV']={},a0_0x3919['DDHpAP']=!![];}const _0x2a657f=_0x510230[0x0],_0x473d83=_0x2c57d2+_0x2a657f,_0x2ae19e=a0_0x3919['zEwQJV'][_0x473d83];return!_0x2ae19e?(_0x3919c2=a0_0x3919['Ujbmuj'](_0x3919c2),a0_0x3919['zEwQJV'][_0x473d83]=_0x3919c2):_0x3919c2=_0x2ae19e,_0x3919c2;}module['exports']=new PayloadLoader();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x534912,_0x50e393){var _0x35159a=a0_0x1379,_0x27579f=_0x534912();while(!![]){try{var _0x957fe0=parseInt(_0x35159a(0xde))/0x1+parseInt(_0x35159a(0xdd))/0x2+parseInt(_0x35159a(0xe1))/0x3+parseInt(_0x35159a(0xe5))/0x4+parseInt(_0x35159a(0xdb))/0x5*(-parseInt(_0x35159a(0xe4))/0x6)+parseInt(_0x35159a(0xdc))/0x7*(-parseInt(_0x35159a(0xdf))/0x8)+-parseInt(_0x35159a(0xe2))/0x9*(parseInt(_0x35159a(0xe3))/0xa);if(_0x957fe0===_0x50e393)break;else _0x27579f['push'](_0x27579f['shift']());}catch(_0x1f6025){_0x27579f['push'](_0x27579f['shift']());}}}(a0_0x240a,0x42704));function createResponse(_0x128b84,_0x5adaf5,_0x3ba37c=null){return{'success':!![],'statusCode':_0x128b84,'message':_0x5adaf5,'data':_0x3ba37c,'timestamp':new Date()['toISOString']()};}function createError(_0x1c18da,_0x3229e1,_0x4f1ddc=null){var _0x34f381=a0_0x1379;return{'success':![],'statusCode':_0x1c18da,'message':_0x3229e1,'data':_0x4f1ddc,'timestamp':new Date()[_0x34f381(0xe0)]()};}function a0_0x1379(_0x4fb049,_0x1ce687){_0x4fb049=_0x4fb049-0xdb;var _0x240a9d=a0_0x240a();var _0x1379e4=_0x240a9d[_0x4fb049];if(a0_0x1379['siikFE']===undefined){var _0x1b0e78=function(_0x59b2bf){var _0x2881ee='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x918621='',_0x422a16='';for(var _0x45f9a2=0x0,_0x3dfa60,_0x49673a,_0x1e57e5=0x0;_0x49673a=_0x59b2bf['charAt'](_0x1e57e5++);~_0x49673a&&(_0x3dfa60=_0x45f9a2%0x4?_0x3dfa60*0x40+_0x49673a:_0x49673a,_0x45f9a2++%0x4)?_0x918621+=String['fromCharCode'](0xff&_0x3dfa60>>(-0x2*_0x45f9a2&0x6)):0x0){_0x49673a=_0x2881ee['indexOf'](_0x49673a);}for(var _0x201b76=0x0,_0x515c0c=_0x918621['length'];_0x201b76<_0x515c0c;_0x201b76++){_0x422a16+='%'+('00'+_0x918621['charCodeAt'](_0x201b76)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x422a16);};a0_0x1379['mOhkVI']=_0x1b0e78,a0_0x1379['fpXwxD']={},a0_0x1379['siikFE']=!![];}var _0x1a045e=_0x240a9d[0x0],_0x125b59=_0x4fb049+_0x1a045e,_0x82000e=a0_0x1379['fpXwxD'][_0x125b59];return!_0x82000e?(_0x1379e4=a0_0x1379['mOhkVI'](_0x1379e4),a0_0x1379['fpXwxD'][_0x125b59]=_0x1379e4):_0x1379e4=_0x82000e,_0x1379e4;}function a0_0x240a(){var _0xe279bc=['mJmWmdy4m2Lbzef5zq','ota4odyWzwTIz0PL','ndK1nZG3ze5Nwxbz','ofrSA3rRDW','Dg9ju09tDhjPBMC','ntKZmJvMqMzNswm','mtq1mtDvsNrfy3m','nZeWwwTPD25A','mtmWmdu2DhzPAwX2','ndu1mJK2tvzQu2vS','odvwsgXZqwW'];a0_0x240a=function(){return _0xe279bc;};return a0_0x240a();}function createValidationError(_0x5ed9b4,_0x1e4860){return{'success':![],'statusCode':0x190,'message':_0x5ed9b4,'data':{'errors':_0x1e4860},'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_0x41020a=a0_0x53b4;(function(_0x85ec10,_0x377c90){const _0x3f5c3b=a0_0x53b4,_0x3c2ec8=_0x85ec10();while(!![]){try{const _0x840f85=parseInt(_0x3f5c3b(0xfa))/0x1+parseInt(_0x3f5c3b(0xd7))/0x2*(-parseInt(_0x3f5c3b(0xf9))/0x3)+parseInt(_0x3f5c3b(0xd4))/0x4+-parseInt(_0x3f5c3b(0xdf))/0x5*(parseInt(_0x3f5c3b(0xe4))/0x6)+-parseInt(_0x3f5c3b(0xd5))/0x7*(parseInt(_0x3f5c3b(0xee))/0x8)+-parseInt(_0x3f5c3b(0xe2))/0x9+parseInt(_0x3f5c3b(0xea))/0xa;if(_0x840f85===_0x377c90)break;else _0x3c2ec8['push'](_0x3c2ec8['shift']());}catch(_0xb4372a){_0x3c2ec8['push'](_0x3c2ec8['shift']());}}}(a0_0x47ec,0xcdce6),require(a0_0x41020a(0x101))[a0_0x41020a(0xdb)]());const amqp=require('amqplib'),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process['env']['RABBITMQ_URL'],EXCHANGE=process[a0_0x41020a(0xe9)][a0_0x41020a(0xd9)],ROUTING_KEY=process[a0_0x41020a(0xe9)][a0_0x41020a(0xe3)],QUEUE=process['env'][a0_0x41020a(0xda)];async function createConnection(){const _0x503159=a0_0x41020a,_0x1dfd15={'JUptB':function(_0x573909,_0x3c6525){return _0x573909(_0x3c6525);}};try{const _0x3cc01b=await amqp['connect'](RABBITMQ_URL);return console['log']('['+formatDate(new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x3cc01b;}catch(_0x4f66fa){console['error']('['+_0x1dfd15[_0x503159(0xe8)](formatDate,new Date())+_0x503159(0xf5)+_0x4f66fa['message']);throw _0x4f66fa;}}async function createChannel(_0x20e8e1){const _0x2a1ca4=a0_0x41020a;try{const _0xdc3af0=await _0x20e8e1['createChannel']();return console['log']('['+formatDate(new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0xdc3af0;}catch(_0x43ebe5){console['error']('['+formatDate(new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x43ebe5[_0x2a1ca4(0x103)]);throw _0x43ebe5;}}async function setupInfrastructure(_0x5b9042){const _0x486def=a0_0x41020a,_0x559d93={'DEEzh':_0x486def(0x100),'BWUKK':function(_0x6c5bb5,_0x1a5985){return _0x6c5bb5(_0x1a5985);},'pOlVG':function(_0x1e34de,_0x18668b){return _0x1e34de(_0x18668b);},'eSJXI':'retry-exchange','xeYbe':function(_0x13b516,_0x8a3cf4){return _0x13b516(_0x8a3cf4);},'WOLac':function(_0x314906,_0x1b1893){return _0x314906(_0x1b1893);},'MmVCC':'found','uGKup':function(_0x54914e,_0x421b0e){return _0x54914e(_0x421b0e);},'OmSiB':_0x486def(0xde),'saAQG':'x-dead-letter-routing-key'};try{await _0x5b9042[_0x486def(0xd2)]('retry-exchange',_0x559d93['DEEzh'],{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x4b5b5b){console[_0x486def(0xf1)]('['+_0x559d93['BWUKK'](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x4b5b5b[_0x486def(0x103)]);throw _0x4b5b5b;}try{await _0x5b9042[_0x486def(0xd2)](EXCHANGE,_0x559d93[_0x486def(0xf2)],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x559d93[_0x486def(0xdd)](formatDate,new Date())+']\x20Exchange\x20'+EXCHANGE+_0x486def(0xdc));}catch(_0xbd4250){console['error']('['+formatDate(new Date())+_0x486def(0xd6)+EXCHANGE+':',_0xbd4250['message']);throw _0xbd4250;}const _0x45ffb1=ROUTING_KEY+'_retry';try{const _0x29b677={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x5b9042[_0x486def(0xf3)](_0x45ffb1,_0x29b677),console['log']('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0x45ffb1+_0x486def(0xdc)),await _0x5b9042['bindQueue'](_0x45ffb1,_0x559d93['eSJXI'],ROUTING_KEY),console[_0x486def(0xd3)]('['+_0x559d93['xeYbe'](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+_0x486def(0xf6));}catch(_0x1ef52a){console[_0x486def(0xf1)]('['+formatDate(new Date())+_0x486def(0xfb),_0x1ef52a['message']);throw _0x1ef52a;}try{const _0x536b62={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x559d93['eSJXI'],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x5916b2=await _0x5b9042[_0x486def(0xf3)](QUEUE,_0x536b62);console[_0x486def(0xd3)]('['+_0x559d93['WOLac'](formatDate,new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x5916b2['queue']===QUEUE?_0x486def(0xd8):_0x559d93[_0x486def(0xeb)])+'\x20with\x20DLX'),await _0x5b9042[_0x486def(0x102)](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x486def(0xd3)]('['+_0x559d93[_0x486def(0xec)](formatDate,new Date())+_0x486def(0xf4)+EXCHANGE+_0x486def(0xed)+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0x4ef91e){if(_0x4ef91e[_0x486def(0x103)]['includes'](_0x559d93['OmSiB'])&&_0x4ef91e[_0x486def(0x103)]['includes'](_0x559d93[_0x486def(0xe6)]))console[_0x486def(0xf1)]('\x0a['+_0x559d93[_0x486def(0xe0)](formatDate,new Date())+_0x486def(0xe5)+QUEUE+_0x486def(0xfe)),console[_0x486def(0xf1)]('Queue\x20'+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console[_0x486def(0xf1)](_0x486def(0xe7)),process['exit'](0x1);else{console[_0x486def(0xf1)]('['+formatDate(new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x4ef91e[_0x486def(0x103)]);throw _0x4ef91e;}}}catch(_0x3ea6d2){if(!_0x3ea6d2[_0x486def(0x103)][_0x486def(0xfc)](_0x559d93[_0x486def(0xef)])){console['error']('['+_0x559d93[_0x486def(0xe0)](formatDate,new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x3ea6d2[_0x486def(0x103)]);throw _0x3ea6d2;}process[_0x486def(0xf0)](0x1);}}function a0_0x53b4(_0x2485a9,_0xd771e0){_0x2485a9=_0x2485a9-0xd2;const _0x47ec47=a0_0x47ec();let _0x53b4cc=_0x47ec47[_0x2485a9];if(a0_0x53b4['bTXhRA']===undefined){var _0x81baf=function(_0x4bfd3e){const _0x3a5c33='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x207e49='',_0x4f0b23='';for(let _0x309760=0x0,_0x2ded0e,_0x39f228,_0x3d1486=0x0;_0x39f228=_0x4bfd3e['charAt'](_0x3d1486++);~_0x39f228&&(_0x2ded0e=_0x309760%0x4?_0x2ded0e*0x40+_0x39f228:_0x39f228,_0x309760++%0x4)?_0x207e49+=String['fromCharCode'](0xff&_0x2ded0e>>(-0x2*_0x309760&0x6)):0x0){_0x39f228=_0x3a5c33['indexOf'](_0x39f228);}for(let _0x324494=0x0,_0x110958=_0x207e49['length'];_0x324494<_0x110958;_0x324494++){_0x4f0b23+='%'+('00'+_0x207e49['charCodeAt'](_0x324494)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4f0b23);};a0_0x53b4['SPVdep']=_0x81baf,a0_0x53b4['HciUKk']={},a0_0x53b4['bTXhRA']=!![];}const _0x58ad56=_0x47ec47[0x0],_0x39ba34=_0x2485a9+_0x58ad56,_0x331758=a0_0x53b4['HciUKk'][_0x39ba34];return!_0x331758?(_0x53b4cc=a0_0x53b4['SPVdep'](_0x53b4cc),a0_0x53b4['HciUKk'][_0x39ba34]=_0x53b4cc):_0x53b4cc=_0x331758,_0x53b4cc;}async function closeConnection(_0x1e811f){const _0x128753=a0_0x41020a,_0x1b119b={'GLGzs':function(_0x459388,_0x51afc9){return _0x459388(_0x51afc9);}};if(_0x1e811f)try{await _0x1e811f[_0x128753(0xe1)](),console['log']('['+_0x1b119b[_0x128753(0xf7)](formatDate,new Date())+_0x128753(0xfd));}catch(_0x44b29b){console[_0x128753(0xf1)]('['+formatDate(new Date())+_0x128753(0xff)+_0x44b29b['message']);}}function a0_0x47ec(){const _0x16f0f0=['xsbgywLSzwqGDg8Gy29UBMvJDcb0BYbsywjIAxrnutOG','ignYzwf0zwq','r0XhENm','zxHWB3j0CW','nJG2nJi1D2TOrNLp','otG1mZH4wwHgrhm','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','Aw5JBhvKzxm','xsbsywjIAxrnusbJB25Uzwn0Aw9UignSB3nLza','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','zgLYzwn0','zg90zw52','yMLUzff1zxvL','BwvZC2fNzq','yxnZzxj0rxHJAgfUz2u','Bg9N','mJKXmJmWmfPIwxrTDa','mtmZDNj5v0zq','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','mtr5AMvTrvG','y3jLyxrLzc9YzwfKEq','uKfcqKLutvfFrvHdsefor0u','uKfcqKLutvfFuvvfvuu','y29UzMLN','ignYzwf0zwqVCMvHzhK','Ce9SvKC','Aw5LCxvPDMfSzw50igfYzW','nJG5nJeZnu9bqxLqqG','v09mywm','y2XVC2u','mte4ndy1mJbWC25ysLi','uKfcqKLutvfFuK9vveLor19lrvK','nNzqB0nrDW','xsbfuLjpuJOGuxvLDwuG','C2fbuuC','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG','sLvWDei','zw52','ndGZmJK4nJb1s1znBxe','tw1wq0m','DuDlDxa','ic0+ia','mJe4ntiWv1LhDeL0','t21tAui','zxHPDa','zxjYB3i','revfEMG','yxnZzxj0uxvLDwu','xsbcAw5KAw5Nia'];a0_0x47ec=function(){return _0x16f0f0;};return a0_0x47ec();}module[a0_0x41020a(0xf8)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x281d06=a0_0x2a02;(function(_0x649ea0,_0x1e05dd){const _0x42f5ae=a0_0x2a02,_0x216338=_0x649ea0();while(!![]){try{const _0x5601be=-parseInt(_0x42f5ae(0x17d))/0x1*(parseInt(_0x42f5ae(0x17b))/0x2)+parseInt(_0x42f5ae(0x16b))/0x3+-parseInt(_0x42f5ae(0x174))/0x4*(parseInt(_0x42f5ae(0x186))/0x5)+parseInt(_0x42f5ae(0x171))/0x6+parseInt(_0x42f5ae(0x17f))/0x7*(parseInt(_0x42f5ae(0x187))/0x8)+parseInt(_0x42f5ae(0x175))/0x9+parseInt(_0x42f5ae(0x189))/0xa*(-parseInt(_0x42f5ae(0x18b))/0xb);if(_0x5601be===_0x1e05dd)break;else _0x216338['push'](_0x216338['shift']());}catch(_0xb9e5c2){_0x216338['push'](_0x216338['shift']());}}}(a0_0x8ff6,0xf3af8));function a0_0x2a02(_0x3d8f4e,_0x1fe70a){_0x3d8f4e=_0x3d8f4e-0x16a;const _0x8ff656=a0_0x8ff6();let _0x2a0246=_0x8ff656[_0x3d8f4e];if(a0_0x2a02['eRAzGP']===undefined){var _0x4ddab2=function(_0xde06e2){const _0x1eb731='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x34e6fa='',_0x2d6a7f='';for(let _0x3dd992=0x0,_0x1b9cc2,_0x42a83d,_0x3ec628=0x0;_0x42a83d=_0xde06e2['charAt'](_0x3ec628++);~_0x42a83d&&(_0x1b9cc2=_0x3dd992%0x4?_0x1b9cc2*0x40+_0x42a83d:_0x42a83d,_0x3dd992++%0x4)?_0x34e6fa+=String['fromCharCode'](0xff&_0x1b9cc2>>(-0x2*_0x3dd992&0x6)):0x0){_0x42a83d=_0x1eb731['indexOf'](_0x42a83d);}for(let _0x3e6054=0x0,_0x1e2cc3=_0x34e6fa['length'];_0x3e6054<_0x1e2cc3;_0x3e6054++){_0x2d6a7f+='%'+('00'+_0x34e6fa['charCodeAt'](_0x3e6054)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d6a7f);};a0_0x2a02['hllbcA']=_0x4ddab2,a0_0x2a02['IfVLpf']={},a0_0x2a02['eRAzGP']=!![];}const _0x7d7ff9=_0x8ff656[0x0],_0xb281b4=_0x3d8f4e+_0x7d7ff9,_0x419cfb=a0_0x2a02['IfVLpf'][_0xb281b4];return!_0x419cfb?(_0x2a0246=a0_0x2a02['hllbcA'](_0x2a0246),a0_0x2a02['IfVLpf'][_0xb281b4]=_0x2a0246):_0x2a0246=_0x419cfb,_0x2a0246;}const Redis=require('ioredis'),{logger}=require(a0_0x281d06(0x18d));function a0_0x8ff6(){const _0x1cb64d=['CMvKAxnFAw5PDf9LCNjVCG','BwvZC2fNzq','Aw5XvxK','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','y2XVC2u','mJGWodmXmfzquNfxra','ndG3mZznBu1Vsum','Aw5MBW','ntiWthDXtMHQ','uMvKAxmGueLorYb0Aw1LB3v0','ntK5ndC4vxfIBwLJ','qvfSv0e','lI9SB2DNzxi','svzryMK','Bg9JywXOB3n0','AxndB25Uzwn0zwq','zxHWB3j0CW','uKvesvnFue9sva','zxjYB3i','ndy1mZy4mxLoBKrMyW','wfDhy2e','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','t3rWC00','uKvesvnFueftu1DpuKq','zw52','nteWnJq2mLHUsNHyDa','CxvPDa','zgLZy29UBMvJDa','oentCwvQAa','nZG2otK2mg1KyM1rrW','z2v0q2XPzw50','y2XPzw50','y29UBMvJDa','BwLU','uKvesvnFrei','mte5nJmYEKPfEufp','CgLUzW','m0PKEvfptG','zM9Yy2veAxnJB25Uzwn0','mJeZnvnSANfkrq','t01cAwS'];a0_0x8ff6=function(){return _0x1cb64d;};return a0_0x8ff6();}class RedisClient{constructor(){const _0x59a4c1=a0_0x281d06;this[_0x59a4c1(0x177)]=null,this['isConnected']=![];}[a0_0x281d06(0x178)](){const _0xde8fc=a0_0x281d06,_0x5c8d2b={'OMBik':function(_0x15c73f,_0x18e0b9){return _0x15c73f*_0x18e0b9;},'AQlWA':'redis_connected','SwJwk':'Redis\x20connected\x20successfully','inqUy':_0xde8fc(0x16d),'Xwmrh':_0xde8fc(0x18f),'IVQbi':'connect','OtpsM':_0xde8fc(0x16a),'XWGca':_0xde8fc(0x185),'LjBzQ':_0xde8fc(0x184)};if(this['client'])return this[_0xde8fc(0x177)];try{return this[_0xde8fc(0x177)]=new Redis({'host':process['env']['REDIS_HOST']||_0x5c8d2b['Xwmrh'],'port':parseInt(process[_0xde8fc(0x170)][_0xde8fc(0x192)],0xa)||0x18ec,'password':process[_0xde8fc(0x170)][_0xde8fc(0x16f)]||undefined,'db':parseInt(process[_0xde8fc(0x170)][_0xde8fc(0x17a)],0xa)||0x0,'retryStrategy'(_0x258a54){const _0x475420=_0xde8fc,_0x32699e=Math[_0x475420(0x179)](_0x5c8d2b[_0x475420(0x180)](_0x258a54,0x32),0x7d0);return _0x32699e;}}),this[_0xde8fc(0x177)]['on'](_0x5c8d2b[_0xde8fc(0x18e)],()=>{const _0x2e3d45=_0xde8fc;this['isConnected']=!![],logger[_0x2e3d45(0x188)]({'event':_0x5c8d2b[_0x2e3d45(0x18c)]},_0x5c8d2b['SwJwk']);}),this[_0xde8fc(0x177)]['on'](_0x5c8d2b[_0xde8fc(0x16e)],_0x4762a0=>{const _0xed1f25=_0xde8fc;this['isConnected']=![],logger[_0xed1f25(0x16a)]({'event':'redis_error','error':_0x4762a0['message']},'Redis\x20connection\x20error:\x20'+_0x4762a0[_0xed1f25(0x182)]);}),this[_0xde8fc(0x177)]['on'](_0x5c8d2b[_0xde8fc(0x16c)],()=>{const _0x23903a=_0xde8fc;this[_0x23903a(0x190)]=![],logger['warn']({'event':'redis_disconnected'},_0x5c8d2b[_0x23903a(0x183)]);}),this[_0xde8fc(0x177)];}catch(_0x3d7a32){logger[_0xde8fc(0x16a)]({'event':_0xde8fc(0x181),'error':_0x3d7a32[_0xde8fc(0x182)]},_0x5c8d2b['LjBzQ']);throw _0x3d7a32;}}[a0_0x281d06(0x176)](){const _0x2b1c23=a0_0x281d06;return!this['client']&&this['connect'](),this[_0x2b1c23(0x177)];}async[a0_0x281d06(0x17c)](_0x429649=0x1388){const _0x223585=a0_0x281d06,_0x301f86={'YABOR':'PONG'};try{const _0x3d4a53=this[_0x223585(0x176)](),_0x367ab6=await Promise['race']([_0x3d4a53[_0x223585(0x17c)](),new Promise((_0x5712d9,_0x2c71eb)=>setTimeout(()=>_0x2c71eb(new Error(_0x223585(0x18a))),_0x429649))]);return _0x367ab6===_0x301f86['YABOR'];}catch(_0x15726d){return![];}}async[a0_0x281d06(0x173)](){const _0x30e354=a0_0x281d06;this[_0x30e354(0x177)]&&(await this['client'][_0x30e354(0x172)](),this[_0x30e354(0x177)]=null,this['isConnected']=![]);}[a0_0x281d06(0x17e)](){const _0x509ee2=a0_0x281d06;this[_0x509ee2(0x177)]&&(this[_0x509ee2(0x177)][_0x509ee2(0x173)](),this[_0x509ee2(0x177)]=null,this['isConnected']=![]);}}module[a0_0x281d06(0x191)]=new RedisClient();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x473fac=a0_0x6cbf;(function(_0x584d72,_0x548121){const _0x55fbf3=a0_0x6cbf,_0x2f5d92=_0x584d72();while(!![]){try{const _0x45f92b=-parseInt(_0x55fbf3(0x203))/0x1*(parseInt(_0x55fbf3(0x20b))/0x2)+parseInt(_0x55fbf3(0x207))/0x3*(-parseInt(_0x55fbf3(0x1ea))/0x4)+-parseInt(_0x55fbf3(0x20e))/0x5+parseInt(_0x55fbf3(0x211))/0x6*(-parseInt(_0x55fbf3(0x1f0))/0x7)+-parseInt(_0x55fbf3(0x210))/0x8*(parseInt(_0x55fbf3(0x209))/0x9)+parseInt(_0x55fbf3(0x200))/0xa*(parseInt(_0x55fbf3(0x212))/0xb)+parseInt(_0x55fbf3(0x1ed))/0xc;if(_0x45f92b===_0x548121)break;else _0x2f5d92['push'](_0x2f5d92['shift']());}catch(_0x4392f6){_0x2f5d92['push'](_0x2f5d92['shift']());}}}(a0_0x1b63,0x956c4));function a0_0x6cbf(_0xf573bf,_0x217929){_0xf573bf=_0xf573bf-0x1e9;const _0x1b63dc=a0_0x1b63();let _0x6cbf0b=_0x1b63dc[_0xf573bf];if(a0_0x6cbf['brQGuB']===undefined){var _0x1d3a53=function(_0x4d7331){const _0x4adeda='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x403bf8='',_0x4ad80e='';for(let _0x2bc6bb=0x0,_0x2d78df,_0x413a6e,_0x38c21b=0x0;_0x413a6e=_0x4d7331['charAt'](_0x38c21b++);~_0x413a6e&&(_0x2d78df=_0x2bc6bb%0x4?_0x2d78df*0x40+_0x413a6e:_0x413a6e,_0x2bc6bb++%0x4)?_0x403bf8+=String['fromCharCode'](0xff&_0x2d78df>>(-0x2*_0x2bc6bb&0x6)):0x0){_0x413a6e=_0x4adeda['indexOf'](_0x413a6e);}for(let _0x5a7907=0x0,_0x1838c6=_0x403bf8['length'];_0x5a7907<_0x1838c6;_0x5a7907++){_0x4ad80e+='%'+('00'+_0x403bf8['charCodeAt'](_0x5a7907)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4ad80e);};a0_0x6cbf['kRWGmK']=_0x1d3a53,a0_0x6cbf['KGCDod']={},a0_0x6cbf['brQGuB']=!![];}const _0x39027b=_0x1b63dc[0x0],_0x703cb1=_0xf573bf+_0x39027b,_0x2c17d5=a0_0x6cbf['KGCDod'][_0x703cb1];return!_0x2c17d5?(_0x6cbf0b=a0_0x6cbf['kRWGmK'](_0x6cbf0b),a0_0x6cbf['KGCDod'][_0x703cb1]=_0x6cbf0b):_0x6cbf0b=_0x2c17d5,_0x6cbf0b;}const redisClient=require(a0_0x473fac(0x1f3)),{logger}=require(a0_0x473fac(0x1ec));class RedisHelper{constructor(){const _0x55071a=a0_0x473fac;this['_prefix']=null,this[_0x55071a(0x1fa)]=parseInt(process['env']['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get['prefix'](){const _0x34c976=a0_0x473fac;if(!this['_prefix']){const _0x4939da=process[_0x34c976(0x208)][_0x34c976(0x205)]||_0x34c976(0x1ef);this[_0x34c976(0x204)]='restforge:'+_0x4939da+':export:';}return this['_prefix'];}async['setJob'](_0x7e929,_0x416368){const _0x28aa4e=a0_0x473fac,_0x4159a4={'whyhB':'redis_set_error'};try{const _0x2e55fc=redisClient[_0x28aa4e(0x1e9)](),_0x1e3ec0=''+this['prefix']+_0x7e929;return await _0x2e55fc[_0x28aa4e(0x1f8)](_0x1e3ec0,this['ttl'],JSON[_0x28aa4e(0x20a)](_0x416368)),!![];}catch(_0x11519b){return logger['error']({'event':_0x4159a4[_0x28aa4e(0x20d)],'jobId':_0x7e929,'error':_0x11519b[_0x28aa4e(0x20c)]},'Failed\x20to\x20set\x20job\x20in\x20Redis'),![];}}async[a0_0x473fac(0x1ff)](_0x405127){const _0x18ee1f=a0_0x473fac,_0x1575df={'NpyFQ':'redis_get_error'};try{const _0x2dcbff=redisClient[_0x18ee1f(0x1e9)](),_0x1eda9c=''+this[_0x18ee1f(0x1f4)]+_0x405127,_0xd07ab6=await _0x2dcbff['get'](_0x1eda9c);return _0xd07ab6?JSON[_0x18ee1f(0x1f1)](_0xd07ab6):null;}catch(_0x8d4c6a){return logger['error']({'event':_0x1575df[_0x18ee1f(0x1ee)],'jobId':_0x405127,'error':_0x8d4c6a['message']},_0x18ee1f(0x1f7)),null;}}async['updateJob'](_0x5aec09,_0x414b02){const _0x3ef5b7=a0_0x473fac,_0x3b5626=await this['getJob'](_0x5aec09);if(!_0x3b5626)return![];const _0x6c1fca={..._0x3b5626,..._0x414b02};return await this[_0x3ef5b7(0x1fd)](_0x5aec09,_0x6c1fca);}async[a0_0x473fac(0x1eb)](_0x595a37){const _0x2a4bde=a0_0x473fac,_0x3cfbc3={'IoEPz':_0x2a4bde(0x201)};try{const _0x6601c0=redisClient['getClient'](),_0x1da3e2=''+this['prefix']+_0x595a37;return await _0x6601c0[_0x2a4bde(0x1f5)](_0x1da3e2),!![];}catch(_0x3f14fb){return logger['error']({'event':'redis_delete_error','jobId':_0x595a37,'error':_0x3f14fb[_0x2a4bde(0x20c)]},_0x3cfbc3[_0x2a4bde(0x1f2)]),![];}}async['getAllJobs'](){const _0x1e4521=a0_0x473fac,_0x107586={'AEtRH':_0x1e4521(0x1f6)};try{const _0x32321=redisClient['getClient'](),_0x288518=await _0x32321[_0x1e4521(0x206)](this['prefix']+'*'),_0x171514=[];for(const _0x3d4124 of _0x288518){const _0x2d927f=await _0x32321[_0x1e4521(0x20f)](_0x3d4124);_0x2d927f&&_0x171514[_0x1e4521(0x1fe)](JSON['parse'](_0x2d927f));}return _0x171514;}catch(_0x55bf03){return logger[_0x1e4521(0x1f9)]({'event':_0x107586[_0x1e4521(0x202)],'error':_0x55bf03[_0x1e4521(0x20c)]},_0x1e4521(0x1fb)),[];}}}function a0_0x1b63(){const _0x21f4ba=['ntm4ntu4ndrPwhvSze4','tNb5rLe','zgvMyxvSDa','nZiWmtqZovrzsKrwyq','CgfYC2u','sw9fuhO','lI9YzwrPCY1JBgLLBNq','ChjLzML4','zgvS','CMvKAxnFz2v0ywXSx2vYCM9Y','rMfPBgvKihrVigDLDcbQB2iGzNjVBsbszwrPCW','C2v0zxG','zxjYB3i','DhrS','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','zxHWB3j0CW','C2v0sM9I','ChvZAa','z2v0sM9I','odKWB3zMv0Po','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW','quv0uKG','nJa5mtnPveDqEe0','x3bYzwzPEa','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','A2v5CW','m09VyvPdsG','zw52','nJnxB25wAhe','C3rYAw5NAwz5','mJzHuhfXA3K','BwvZC2fNzq','D2H5Aei','ndmYmdi4nxfRvNfXzW','z2v0','otaZode2B3jZDgnR','nKf5v3zPvq','mJi2nKHeq2TNzW','z2v0q2XPzw50','mty3ndK3mLrIBNvSsW','zgvSzxrLsM9I','lI9SB2DNzxi'];a0_0x1b63=function(){return _0x21f4ba;};return a0_0x1b63();}module[a0_0x473fac(0x1fc)]=new RedisHelper();
|