@restforgejs/platform 5.2.11 → 5.2.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/fast-track.js +151 -34
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/integrity-manifest.json +18 -18
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/soft-delete-dashboard-guard.js +1 -1
- package/src/utils/sql-table-extractor.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x2543ab=a0_0x4739;function a0_0x4739(_0x487bd0,_0x37301c){_0x487bd0=_0x487bd0-0xbb;const _0x1f0771=a0_0x1f07();let _0x473954=_0x1f0771[_0x487bd0];if(a0_0x4739['OhHVgQ']===undefined){var _0x306acc=function(_0x5e8bac){const _0x216d23='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x56730e='',_0x4390e0='';for(let _0x4689e9=0x0,_0x2f096a,_0x1a34f9,_0x38ef15=0x0;_0x1a34f9=_0x5e8bac['charAt'](_0x38ef15++);~_0x1a34f9&&(_0x2f096a=_0x4689e9%0x4?_0x2f096a*0x40+_0x1a34f9:_0x1a34f9,_0x4689e9++%0x4)?_0x56730e+=String['fromCharCode'](0xff&_0x2f096a>>(-0x2*_0x4689e9&0x6)):0x0){_0x1a34f9=_0x216d23['indexOf'](_0x1a34f9);}for(let _0x1bddbe=0x0,_0x275330=_0x56730e['length'];_0x1bddbe<_0x275330;_0x1bddbe++){_0x4390e0+='%'+('00'+_0x56730e['charCodeAt'](_0x1bddbe)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4390e0);};a0_0x4739['ffbuPb']=_0x306acc,a0_0x4739['PAtANi']={},a0_0x4739['OhHVgQ']=!![];}const _0x2cc4a1=_0x1f0771[0x0],_0x5c2b66=_0x487bd0+_0x2cc4a1,_0x3c5958=a0_0x4739['PAtANi'][_0x5c2b66];return!_0x3c5958?(_0x473954=a0_0x4739['ffbuPb'](_0x473954),a0_0x4739['PAtANi'][_0x5c2b66]=_0x473954):_0x473954=_0x3c5958,_0x473954;}function a0_0x1f07(){const _0x519b82=['zxjYB3i','uKvbrcbSB2nRihjLBgvHC2vK','tK1ZtMq','Bg9JA19JB25MAwDFAw5PDa','AxnfBMfIBgvK','C2v0','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','D2fYBG','x2vUywjSzwq','Bvveu1m','nZC4nhfyALH0DW','rxvWBw8','CMvHza','Bg9JA19LEhrLBMrLza','yu55z2O','z2vUzxjHDgvmB2nRvMfSDwu','nteWAePSvvfU','BwvZC2fNzq','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','x2LUAxrdB25MAwC','z2v0','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','x3bYzwzPEa','zxHWAxjL','C3vIC3rYAw5N','D3jPDgvFBg9JA19Hy3f1AxjLza','D29YA2vYlq','y2HOAfi','x3DVCMTLCKLK','D29YA2vYswq','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzxHWAxjLiIWGs0vzu1SXxsWGqvjhvLSYxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','zgvIDwC','z2v0q2XPzw50','uKvbrcbSB2nRigfJCxvPCMvK','C2v0zxG','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','otK3ndaXtgrKsevh','D3jPDgvFBg9JA19LCNjVCG','x3jLDhj5rgvSyxK','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','x3jLDhj5q291BNq','zw5HyMXLza','v0vKv0u','CMv0CNLezwXHEq','CMvSzwfZzuXVy2S','mta1nJCXoe1oreLPwG','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','zgvMyxvSDfruta','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','zgvJCG','mJyZmZjHyxjtBNu','x3n0CMf0zwD5','uKvbrcbSB2nRigvYCM9Y','CMv0CNLdB3vUDa','CMvQzwn0','ndq5nJGXmffJAMvOtW','CMvHzf9SB2nRx2fJCxvPCMvK','zfncvfq','nJy1n3LcBgDbyG','mtyYmdaYnfzwq2LWEG','rfHbENK','ChvJEfy','ndK1mZG3nMXrwwPLrW','D3jPDgvFBg9JA19YzwPLy3rLza','CMv0CNK','x2vUC3vYzuLUAxrPywXPEMvK','zw52','v1vyEge','EfjXy0C','yvDdwwO','zgvS','yvrHs2K','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','yNvPBgrmB2nRs2v5','sKX5sLy','lcbZDhjHDgvNEtOG','Bg9JA19LEhrLBMrFzxjYB3i','DxvPza','CMy6Bg9JAZO','C2XLzxa','ywnXDwLYzvjLywrmB2nR','mZzRuKXpwvO','x2rLzMf1BhruveW','zfjZtwq','veXbBxu','CMvHzf9SB2nRx3rPBwvVDxq','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','te9ds19esvnuuKLcvvrfrf9uveW','ywXS','CMvHzf9SB2nRx2vYCM9Y','zxzHBa','EKD2uvm','Cg93','x2LUAxrPywXPEMvK','tg9JAYbYzwXLyxnLigvYCM9Y','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','ywnXDwLYzvDYAxrLtg9JAW','C3rYyxrLz3K','oNjLywq6','BgfZDeLUzgv4t2y','D3jPDgu','Bg9JA19YzwXLyxnLx2vYCM9Y','zxH0zw5Ktg9JAW'];a0_0x1f07=function(){return _0x519b82;};return a0_0x1f07();}(function(_0x55c775,_0x1598d4){const _0x513fa1=a0_0x4739,_0x5aa21a=_0x55c775();while(!![]){try{const _0x22eeee=parseInt(_0x513fa1(0xf3))/0x1+-parseInt(_0x513fa1(0x101))/0x2+-parseInt(_0x513fa1(0xea))/0x3+-parseInt(_0x513fa1(0xf8))/0x4*(-parseInt(_0x513fa1(0xd6))/0x5)+parseInt(_0x513fa1(0x104))/0x6+-parseInt(_0x513fa1(0x100))/0x7*(-parseInt(_0x513fa1(0xd0))/0x8)+parseInt(_0x513fa1(0x117))/0x9*(-parseInt(_0x513fa1(0xfd))/0xa);if(_0x22eeee===_0x1598d4)break;else _0x5aa21a['push'](_0x5aa21a['shift']());}catch(_0x4d8575){_0x5aa21a['push'](_0x5aa21a['shift']());}}}(a0_0x1f07,0x8355e));const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require(a0_0x2543ab(0x113));class LockManager{constructor(){const _0x60da51=a0_0x2543ab;this['_prefix']=null,this['_enabled']=null,this[_0x60da51(0x118)]=null,this[_0x60da51(0xee)]=null,this['_retryDelay']=null,this[_0x60da51(0xf9)]=null,this['_workerId']=null,this[_0x60da51(0xbb)]=![];}[a0_0x2543ab(0xd9)](){const _0xfa7583=a0_0x2543ab,_0x12fd98={'kvNEV':'true','FGPzj':function(_0x2f59ed,_0x61e308,_0xa85c3){return _0x2f59ed(_0x61e308,_0xa85c3);},'hLCTg':_0xfa7583(0x114),'DXAzy':function(_0x5a87d0,_0x6e44a9,_0x542211){return _0x5a87d0(_0x6e44a9,_0x542211);},'qZtMY':_0xfa7583(0x106)},_0x206df9='4|0|6|1|5|7|2|8|3'['split']('|');let _0x5b8b3d=0x0;while(!![]){switch(_0x206df9[_0x5b8b3d++]){case'0':this[_0xfa7583(0xce)]=process[_0xfa7583(0x108)]['LOCK_DISTRIBUTED_ENABLED']===_0x12fd98['kvNEV'];continue;case'1':this['_retryCount']=_0x12fd98['FGPzj'](parseInt,process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3;continue;case'2':this[_0xfa7583(0xe2)]=_0xfa7583(0xe0)+process['pid'];continue;case'3':logger['info']({'event':_0xfa7583(0xc8),'enabled':this[_0xfa7583(0xce)],'strategy':this['_strategy'],'ttl':this['_defaultTTL'],'retryCount':this['_retryCount'],'retryDelay':this[_0xfa7583(0xec)],'workerId':this[_0xfa7583(0xe2)]},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this[_0xfa7583(0xce)]+_0xfa7583(0x111)+this['_strategy']);continue;case'4':this[_0xfa7583(0xdc)]=_0x12fd98['hLCTg'];continue;case'5':this[_0xfa7583(0xec)]=_0x12fd98[_0xfa7583(0x102)](parseInt,process['env'][_0xfa7583(0xf6)],0xa)||0x64;continue;case'6':this[_0xfa7583(0x118)]=parseInt(process[_0xfa7583(0x108)][_0xfa7583(0x11e)],0xa)||0xa;continue;case'7':this['_strategy']=process['env'][_0xfa7583(0xed)]||_0x12fd98['qZtMY'];continue;case'8':this['_initialized']=!![];continue;}break;}}['_ensureInitialized'](){const _0x2648c4=a0_0x2543ab;!this[_0x2648c4(0xbb)]&&this[_0x2648c4(0xd9)]();}get['prefix'](){const _0x223053=a0_0x2543ab;return this[_0x223053(0x107)](),this[_0x223053(0xdc)];}get[a0_0x2543ab(0xef)](){const _0x38dbcb=a0_0x2543ab;return this[_0x38dbcb(0x107)](),this['_enabled'];}get['defaultTTL'](){const _0x514ac3=a0_0x2543ab;return this[_0x514ac3(0x107)](),this[_0x514ac3(0x118)];}get[a0_0x2543ab(0xfb)](){const _0x56f383=a0_0x2543ab;return this['_ensureInitialized'](),this[_0x56f383(0xee)];}get['retryDelay'](){const _0xc90c85=a0_0x2543ab;return this[_0xc90c85(0x107)](),this['_retryDelay'];}get[a0_0x2543ab(0xbf)](){return this['_ensureInitialized'](),this['_strategy'];}get['workerId'](){return this['_ensureInitialized'](),this['_workerId'];}[a0_0x2543ab(0x10f)](_0x27ce2e){const {module:_0x4f38f6,endpoint:_0x21e0d8,lockType:_0x4b7504,recordId:_0x179667}=_0x27ce2e;if(_0x179667)return''+this['prefix']+_0x4f38f6+':'+_0x21e0d8+':'+_0x179667+':'+_0x4b7504;return''+this['prefix']+_0x4f38f6+':'+_0x21e0d8+':'+_0x4b7504;}['generateLockValue'](){const _0x3d8ccd=a0_0x2543ab;return this[_0x3d8ccd(0xe3)]+':'+uuidv4()+':'+Date['now']();}async[a0_0x2543ab(0x116)](_0x54d427){const _0x20900a=a0_0x2543ab,_0x25c4c2={'JNshw':_0x20900a(0xc2),'aWCYj':function(_0x8e3c0e,_0x3169e3){return _0x8e3c0e<_0x3169e3;},'chhhR':_0x20900a(0xfe),'XcCDJ':_0x20900a(0xe7),'nVKHS':'read_lock_waiting','WUXxa':_0x20900a(0xdb),'BCZXO':function(_0x5796f0,_0x4f2ea8){return _0x5796f0*_0x4f2ea8;},'WEdWE':_0x20900a(0x11b),'dmpvN':_0x20900a(0x10e),'aTaKi':_0x20900a(0xfa)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x269346=this['buildLockKey']({..._0x54d427,'lockType':_0x25c4c2['JNshw']}),_0x50bbc2=this['buildLockKey']({..._0x54d427,'lockType':'read'}),_0x42f1aa=this['generateLockValue']();try{const _0x18a8f2=redisClient[_0x20900a(0xe6)]();for(let _0x39e7d7=0x0;_0x25c4c2[_0x20900a(0x10b)](_0x39e7d7,this[_0x20900a(0xfb)]);_0x39e7d7++){const _0x1adb12=await _0x18a8f2['get'](_0x269346);if(!_0x1adb12){await _0x18a8f2['incr'](_0x50bbc2),await _0x18a8f2[_0x20900a(0xdd)](_0x50bbc2,this['defaultTTL']);const _0x10a153=_0x50bbc2+':'+_0x42f1aa;return await _0x18a8f2[_0x20900a(0xe8)](_0x10a153,this['defaultTTL'],_0x42f1aa),logger['debug']({'event':_0x25c4c2[_0x20900a(0xe1)],'key':_0x50bbc2,'value':_0x42f1aa},_0x25c4c2['XcCDJ']),{'success':!![],'lockValue':_0x42f1aa,'lockKey':_0x10a153};}logger[_0x20900a(0xe5)]({'event':_0x25c4c2['nVKHS'],'writeKey':_0x269346,'attempt':_0x39e7d7},_0x25c4c2[_0x20900a(0x109)]),await this[_0x20900a(0x115)](_0x25c4c2['BCZXO'](this[_0x20900a(0xf1)],Math[_0x20900a(0x123)](0x2,_0x39e7d7)));}return logger['warn']({'event':_0x25c4c2[_0x20900a(0xf0)],'key':_0x50bbc2},_0x25c4c2['dmpvN']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x4ad799){return logger[_0x20900a(0xc5)]({'event':_0x20900a(0x120),'error':_0x4ad799[_0x20900a(0xd7)]},_0x25c4c2[_0x20900a(0x10d)]),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x2543ab(0xbe)](_0xed78bb){const _0x45e11c=a0_0x2543ab,_0x1e7ef7={'aNygj':function(_0x5d1184,_0x323302){return _0x5d1184===_0x323302;},'pDwEI':_0x45e11c(0xdf),'dSBTT':_0x45e11c(0xf4),'zGvQS':_0x45e11c(0x105),'JciIF':_0x45e11c(0xcb),'pucxV':function(_0x390e71,_0xe111ef){return _0x390e71<_0xe111ef;},'NMsNd':function(_0x43e65f,_0x2c3f80){return _0x43e65f(_0x2c3f80);},'dRsMd':'write_lock_waiting','icEVA':function(_0x3ec8be,_0x39be0e){return _0x3ec8be*_0x39be0e;},'aEDFl':_0x45e11c(0xcc),'DdVjk':_0x45e11c(0xeb),'FKase':'WRITE\x20lock\x20error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x5e96a3=this['buildLockKey']({..._0xed78bb,'lockType':_0x45e11c(0xc2)}),_0x5751a0=this['buildLockKey']({..._0xed78bb,'lockType':'read'}),_0x317fee=this[_0x45e11c(0xd5)]();try{const _0x5a5cd3=redisClient['getClient']();if(this[_0x45e11c(0xbf)]==='reject'){const _0x359ebc=await _0x5a5cd3[_0x45e11c(0xca)](_0x5e96a3,_0x317fee,'EX',this[_0x45e11c(0xf5)],'NX');if(_0x1e7ef7[_0x45e11c(0xd4)](_0x359ebc,'OK'))return logger['debug']({'event':_0x1e7ef7['pDwEI'],'key':_0x5e96a3,'value':_0x317fee,'strategy':_0x45e11c(0xfc)},_0x1e7ef7[_0x45e11c(0xff)]),{'success':!![],'lockValue':_0x317fee,'lockKey':_0x5e96a3};return logger['debug']({'event':_0x1e7ef7[_0x45e11c(0x122)],'key':_0x5e96a3},_0x1e7ef7['JciIF']),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x2e8cf0=0x0;_0x1e7ef7[_0x45e11c(0x103)](_0x2e8cf0,this['retryCount']);_0x2e8cf0++){const [_0x316a4d,_0x1053bb]=await Promise[_0x45e11c(0x11f)]([_0x5a5cd3['get'](_0x5751a0),_0x5a5cd3['get'](_0x5e96a3)]);if(!_0x1053bb&&(!_0x316a4d||_0x1e7ef7[_0x45e11c(0xc7)](parseInt,_0x316a4d)===0x0)){const _0x3ff808=await _0x5a5cd3[_0x45e11c(0xca)](_0x5e96a3,_0x317fee,'EX',this['defaultTTL'],'NX');if(_0x3ff808==='OK')return logger[_0x45e11c(0xe5)]({'event':_0x45e11c(0xdf),'key':_0x5e96a3,'value':_0x317fee,'strategy':'retry'},_0x45e11c(0x11c)),{'success':!![],'lockValue':_0x317fee,'lockKey':_0x5e96a3};}logger['debug']({'event':_0x1e7ef7[_0x45e11c(0x119)],'writeKey':_0x5e96a3,'readCount':_0x316a4d,'attempt':_0x2e8cf0},_0x45e11c(0xbd)),await this['sleep'](_0x1e7ef7['icEVA'](this[_0x45e11c(0xf1)],Math[_0x45e11c(0x123)](0x2,_0x2e8cf0)));}return logger[_0x45e11c(0xcd)]({'event':'write_lock_timeout','key':_0x5e96a3},_0x1e7ef7['aEDFl']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x2e97cc){return logger['error']({'event':_0x1e7ef7['DdVjk'],'error':_0x2e97cc['message']},_0x1e7ef7['FKase']),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x2543ab(0xf2)](_0x33e520,_0x258207){const _0x26ce16=a0_0x2543ab,_0x2ed913={'Icvqu':'WRITE\x20lock\x20released','JLyJV':_0x26ce16(0x11d),'Eupmo':_0x26ce16(0xd8),'cyvrd':_0x26ce16(0xc3)};if(!this['enabled']||!_0x33e520)return!![];try{const _0x5c62ee=redisClient[_0x26ce16(0xe6)]();if(_0x33e520['includes'](_0x26ce16(0xc0))){await _0x5c62ee[_0x26ce16(0x10c)](_0x33e520);const _0x2bdf89=_0x33e520[_0x26ce16(0xde)](0x0,_0x33e520[_0x26ce16(0xc1)](':')),_0xc4fa36=await _0x5c62ee[_0x26ce16(0xda)](_0x2bdf89);return _0xc4fa36&&parseInt(_0xc4fa36)>0x0&&await _0x5c62ee[_0x26ce16(0xf7)](_0x2bdf89),logger['debug']({'event':'read_lock_released','key':_0x33e520},_0x26ce16(0xc6)),!![];}const _0x30772e=_0x26ce16(0xe9),_0x36a519=await _0x5c62ee[_0x26ce16(0x121)](_0x30772e,0x1,_0x33e520,_0x258207);if(_0x36a519===0x1)return logger[_0x26ce16(0xe5)]({'event':'write_lock_released','key':_0x33e520},_0x2ed913['Icvqu']),!![];return logger['warn']({'event':_0x2ed913[_0x26ce16(0x110)],'key':_0x33e520},_0x2ed913[_0x26ce16(0xd1)]),![];}catch(_0x52723f){return logger['error']({'event':_0x2ed913['cyvrd'],'key':_0x33e520,'error':_0x52723f[_0x26ce16(0xd7)]},_0x26ce16(0xbc)),![];}}async[a0_0x2543ab(0xc4)](_0x847d3f,_0x1fa5ad,_0x3936e9=null){const _0x326b84=a0_0x2543ab,_0x48489c={'GiMYO':_0x326b84(0xd3),'TLAmu':'Lock\x20extend\x20error'};if(!this[_0x326b84(0xef)]||!_0x847d3f)return!![];try{const _0x55b1b1=redisClient[_0x326b84(0xe6)](),_0x5603b1=_0x326b84(0xe4),_0x5b23f8=await _0x55b1b1[_0x326b84(0x121)](_0x5603b1,0x1,_0x847d3f,_0x1fa5ad,_0x3936e9||this[_0x326b84(0xf5)]);if(_0x5b23f8===0x1)return logger['debug']({'event':_0x48489c['GiMYO'],'key':_0x847d3f,'ttl':_0x3936e9||this[_0x326b84(0xf5)]},'Lock\x20TTL\x20extended'),!![];return![];}catch(_0x247af8){return logger['error']({'event':_0x326b84(0x112),'key':_0x847d3f,'error':_0x247af8[_0x326b84(0xd7)]},_0x48489c[_0x326b84(0x11a)]),![];}}[a0_0x2543ab(0xc9)](){return this['enabled'];}[a0_0x2543ab(0x115)](_0x57f122){return new Promise(_0x28b722=>setTimeout(_0x28b722,_0x57f122));}async['getLockInfo'](_0x12e0fc){const _0x42cdcc=a0_0x2543ab,_0x207eb2={'mUDSS':_0x42cdcc(0xd2),'xRqcG':function(_0x286d04,_0x56170e){return _0x286d04||_0x56170e;}};if(!this[_0x42cdcc(0xef)])return{'enabled':![]};try{const _0x58e33d=redisClient[_0x42cdcc(0xe6)](),_0x4cae92=this[_0x42cdcc(0x10f)]({..._0x12e0fc,'lockType':_0x42cdcc(0xc2)}),_0x3938d0=this[_0x42cdcc(0x10f)]({..._0x12e0fc,'lockType':_0x207eb2[_0x42cdcc(0xcf)]}),[_0x30195f,_0x213088]=await Promise[_0x42cdcc(0x11f)]([_0x58e33d['get'](_0x4cae92),_0x58e33d[_0x42cdcc(0xda)](_0x3938d0)]);return{'enabled':!![],'writeLock':_0x207eb2[_0x42cdcc(0x10a)](_0x30195f,null),'readCount':parseInt(_0x213088)||0x0,'writeKey':_0x4cae92,'readKey':_0x3938d0};}catch(_0x5a497a){return{'enabled':!![],'error':_0x5a497a['message']};}}}module['exports']=new LockManager();
|
|
1
|
+
const a0_0x8a01d0=a0_0x2038;(function(_0x30f12d,_0x1f5ae0){const _0x1e3be1=a0_0x2038,_0x440bd9=_0x30f12d();while(!![]){try{const _0x3ceda9=-parseInt(_0x1e3be1(0xf4))/0x1*(parseInt(_0x1e3be1(0x11f))/0x2)+-parseInt(_0x1e3be1(0xd6))/0x3*(parseInt(_0x1e3be1(0x114))/0x4)+parseInt(_0x1e3be1(0xe9))/0x5+parseInt(_0x1e3be1(0xcd))/0x6+-parseInt(_0x1e3be1(0xcc))/0x7*(parseInt(_0x1e3be1(0x119))/0x8)+parseInt(_0x1e3be1(0x100))/0x9+parseInt(_0x1e3be1(0xd0))/0xa;if(_0x3ceda9===_0x1f5ae0)break;else _0x440bd9['push'](_0x440bd9['shift']());}catch(_0x5b6a49){_0x440bd9['push'](_0x440bd9['shift']());}}}(a0_0x3df4,0x570a0));function a0_0x2038(_0x3941c3,_0x389ef3){_0x3941c3=_0x3941c3-0xcb;const _0x3df422=a0_0x3df4();let _0x20387e=_0x3df422[_0x3941c3];if(a0_0x2038['UJYPqT']===undefined){var _0x3dc1f4=function(_0x489c3f){const _0x2ed4a0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1e0c75='',_0x26ab88='';for(let _0x362dfa=0x0,_0x17b988,_0x49b0e5,_0x101b0d=0x0;_0x49b0e5=_0x489c3f['charAt'](_0x101b0d++);~_0x49b0e5&&(_0x17b988=_0x362dfa%0x4?_0x17b988*0x40+_0x49b0e5:_0x49b0e5,_0x362dfa++%0x4)?_0x1e0c75+=String['fromCharCode'](0xff&_0x17b988>>(-0x2*_0x362dfa&0x6)):0x0){_0x49b0e5=_0x2ed4a0['indexOf'](_0x49b0e5);}for(let _0x1cdc49=0x0,_0x21fa17=_0x1e0c75['length'];_0x1cdc49<_0x21fa17;_0x1cdc49++){_0x26ab88+='%'+('00'+_0x1e0c75['charCodeAt'](_0x1cdc49)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x26ab88);};a0_0x2038['gLVJtk']=_0x3dc1f4,a0_0x2038['BXWxIw']={},a0_0x2038['UJYPqT']=!![];}const _0x21e208=_0x3df422[0x0],_0x54e74d=_0x3941c3+_0x21e208,_0x5c8f79=a0_0x2038['BXWxIw'][_0x54e74d];return!_0x5c8f79?(_0x20387e=a0_0x2038['gLVJtk'](_0x20387e),a0_0x2038['BXWxIw'][_0x54e74d]=_0x20387e):_0x20387e=_0x5c8f79,_0x20387e;}function a0_0x3df4(){const _0x2d087e=['x3bYzwzPEa','x3jLDhj5rgvSyxK','D3jPDgu','mJHesgjpy2i','te11ue8','ChjLzML4','zw5HyMXLza','vMf3q3C','odi0uwT4sM1i','C2v0','D3jPDgvFBg9JA19Hy3f1AxjLza','m3W1Fdf8n3WYFdb8nhW2','uKvbrcbSB2nRigvYCM9Y','svz6zxa','mJbjB2fQvLC','BgfZDeLUzgv4t2y','CuH0vw8','mZqWmJDUAxL1Dge','mJm2mtaWmffKA2XAra','zgvIDwC','A0HSs2u','nJK0otGXme1xENzyCG','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','CMvHzf9SB2nRx3DHAxrPBMC','te9Vthe','tg9JAYbYzwXLyxnLigvYCM9Y','DNnJrLq','mJmWnJy3D1f1se9I','x2vUC3vYzuLUAxrPywXPEMvK','CgLK','CMvHzf9SB2nRx3jLBgvHC2vK','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','AxnfBMfIBgvK','CMvHza','sgHoANm','z2v0','D3jPDgvFBg9JA193ywL0Aw5N','zgvMyxvSDfruta','C2XLzxa','DuLJsgq','z2v0q2XPzw50','CMvHzf9SB2nRx2fJCxvPCMvK','D3jPDgvFBg9JA19YzwXLyxnLza','zw52','u01MDeS','CMv0CNLezwXHEq','mtq1mJmWmg5UAxDyEa','te9ds19esvnuuKLcvvrfrf9uveW','Bg9JA19LEhrLBMrLza','lI9YzwrPCY1JBgLLBNq','tKvvt0O','wgn1C0O','x3DVCMTLCKLK','zxH0zw5Ktg9JAW','Aw5JBhvKzxm','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','x2LUAxrdB25MAwC','mtqZm3DVsffivq','x3n0CMf0zwD5','ywnXDwLYzvDYAxrLtg9JAW','D3jPDgvFBg9JA19LCNjVCG','D2fYBG','zgvJCG','x3jLDhj5q291BNq','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','C2v0zxG','x2rLzMf1BhruveW','CMy6Bg9JAZO','Dhj1zq','mJC3mJyZA0jjt1jb','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','Bg9JA19JB25MAwDFAw5PDa','zgvS','z2vUzxjHDgvmB2nRvMfSDwu','vwTPt0m','lcbZDhjHDgvNEtOG','ywnXDwLYzvjLywrmB2nR','D3jPDgvFBg9JA190Aw1LB3v0','zxjYB3i','x2LUAxrPywXPEMvK','uKvbrcbSB2nRihjLBgvHC2vK','yNvPBgrmB2nRs2v5','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','D29YA2vYlq','rw5jwKG','x2vUywjSzwq'];a0_0x3df4=function(){return _0x2d087e;};return a0_0x3df4();}const redisClient=require(a0_0x8a01d0(0xec)),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x304e4b=a0_0x8a01d0,_0x4a594d=_0x304e4b(0x11c)['split']('|');let _0x38d605=0x0;while(!![]){switch(_0x4a594d[_0x38d605++]){case'0':this['_strategy']=null;continue;case'1':this[_0x304e4b(0xfd)]=null;continue;case'2':this[_0x304e4b(0x112)]=null;continue;case'3':this[_0x304e4b(0x111)]=null;continue;case'4':this[_0x304e4b(0xef)]=null;continue;case'5':this['_enabled']=null;continue;case'6':this['_initialized']=![];continue;case'7':this['_retryCount']=null;continue;}break;}}[a0_0x8a01d0(0xf3)](){const _0x142ca3=a0_0x8a01d0,_0x49c3de={'SMftK':_0x142ca3(0xfe),'mXCfU':function(_0x42f49f,_0x349dc9,_0x1e68db){return _0x42f49f(_0x349dc9,_0x1e68db);},'kHlKe':_0x142ca3(0x102)};this[_0x142ca3(0x111)]=_0x49c3de[_0x142ca3(0xe7)],this['_enabled']=process[_0x142ca3(0xe6)]['LOCK_DISTRIBUTED_ENABLED']===_0x142ca3(0xff),this['_defaultTTL']=parseInt(process[_0x142ca3(0xe6)][_0x142ca3(0xea)],0xa)||0xa,this['_retryCount']=parseInt(process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3,this[_0x142ca3(0x112)]=_0x49c3de['mXCfU'](parseInt,process['env'][_0x142ca3(0xf2)],0xa)||0x64,this['_strategy']=process[_0x142ca3(0xe6)]['LOCK_DISTRIBUTED_STRATEGY']||'retry',this['_workerId']=_0x142ca3(0x10e)+process[_0x142ca3(0xd8)],this['_initialized']=!![],logger['info']({'event':_0x49c3de[_0x142ca3(0xcf)],'enabled':this[_0x142ca3(0x110)],'strategy':this[_0x142ca3(0xf5)],'ttl':this['_defaultTTL'],'retryCount':this[_0x142ca3(0xfa)],'retryDelay':this['_retryDelay'],'workerId':this['_workerId']},_0x142ca3(0xd1)+this[_0x142ca3(0x110)]+_0x142ca3(0x106)+this['_strategy']);}[a0_0x8a01d0(0xd7)](){const _0x58eb5f=a0_0x8a01d0;!this[_0x58eb5f(0x10a)]&&this[_0x58eb5f(0xf3)]();}get['prefix'](){const _0x3c75eb=a0_0x8a01d0;return this[_0x3c75eb(0xd7)](),this[_0x3c75eb(0x111)];}get[a0_0x8a01d0(0x117)](){const _0x363196=a0_0x8a01d0;return this[_0x363196(0xd7)](),this[_0x363196(0x110)];}get['defaultTTL'](){return this['_ensureInitialized'](),this['_defaultTTL'];}get['retryCount'](){const _0x5572df=a0_0x8a01d0;return this[_0x5572df(0xd7)](),this['_retryCount'];}get[a0_0x8a01d0(0xe8)](){return this['_ensureInitialized'](),this['_retryDelay'];}get['strategy'](){const _0x272b7f=a0_0x8a01d0;return this['_ensureInitialized'](),this[_0x272b7f(0xf5)];}get['workerId'](){const _0x4b7086=a0_0x8a01d0;return this[_0x4b7086(0xd7)](),this[_0x4b7086(0xef)];}['buildLockKey'](_0x2e2ae5){const _0x55f168=a0_0x8a01d0,{module:_0x13f601,endpoint:_0x594b4d,lockType:_0x1ce4cd,recordId:_0x47d017}=_0x2e2ae5;if(_0x47d017)return''+this['prefix']+_0x13f601+':'+_0x594b4d+':'+_0x47d017+':'+_0x1ce4cd;return''+this[_0x55f168(0x116)]+_0x13f601+':'+_0x594b4d+':'+_0x1ce4cd;}[a0_0x8a01d0(0x104)](){const _0x5e6580={'uTlsK':function(_0x2c53e4){return _0x2c53e4();}};return this['workerId']+':'+_0x5e6580['uTlsK'](uuidv4)+':'+Date['now']();}async[a0_0x8a01d0(0x107)](_0x2dfd6c){const _0x4f5829=a0_0x8a01d0,_0x567b1f={'pRkZT':_0x4f5829(0x113),'UkiOC':_0x4f5829(0xdc),'zbTxh':function(_0x51a134,_0x58d687){return _0x51a134<_0x58d687;},'NEUOJ':'READ\x20lock\x20acquired','VawCw':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','qHtUo':function(_0x40ac89,_0x339e44){return _0x40ac89*_0x339e44;},'EnIZH':'read_lock_error'};if(!this[_0x4f5829(0x117)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x47ab0f=this[_0x4f5829(0x10c)]({..._0x2dfd6c,'lockType':_0x567b1f['pRkZT']}),_0x41149f=this['buildLockKey']({..._0x2dfd6c,'lockType':_0x567b1f[_0x4f5829(0x105)]}),_0x548b2b=this['generateLockValue']();try{const _0x20f2a3=redisClient['getClient']();for(let _0x241412=0x0;_0x567b1f['zbTxh'](_0x241412,this['retryCount']);_0x241412++){const _0x4601db=await _0x20f2a3['get'](_0x47ab0f);if(!_0x4601db){await _0x20f2a3['incr'](_0x41149f),await _0x20f2a3['expire'](_0x41149f,this[_0x4f5829(0xe0)]);const _0x1c6047=_0x41149f+':'+_0x548b2b;return await _0x20f2a3[_0x4f5829(0xfc)](_0x1c6047,this[_0x4f5829(0xe0)],_0x548b2b),logger[_0x4f5829(0xce)]({'event':_0x4f5829(0xe4),'key':_0x41149f,'value':_0x548b2b},_0x567b1f[_0x4f5829(0xed)]),{'success':!![],'lockValue':_0x548b2b,'lockKey':_0x1c6047};}logger[_0x4f5829(0xce)]({'event':_0x4f5829(0xd2),'writeKey':_0x47ab0f,'attempt':_0x241412},_0x567b1f[_0x4f5829(0x118)]),await this[_0x4f5829(0xe1)](_0x567b1f[_0x4f5829(0xcb)](this['retryDelay'],Math['pow'](0x2,_0x241412)));}return logger[_0x4f5829(0xf8)]({'event':'read_lock_timeout','key':_0x41149f},_0x4f5829(0xda)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x155d9f){return logger[_0x4f5829(0x109)]({'event':_0x567b1f[_0x4f5829(0x10f)],'error':_0x155d9f['message']},_0x4f5829(0x11d)),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x8a01d0(0xf6)](_0x1ff95f){const _0x21b8d9=a0_0x8a01d0,_0x3e109f={'OepyW':'write','vscFT':'reject','XcusJ':function(_0x1ea844,_0x1b8016){return _0x1ea844===_0x1b8016;},'mDaQl':_0x21b8d9(0x11b),'gtTZP':'WRITE\x20lock\x20acquired\x20(reject\x20mode)','HhNjs':'write_lock_rejected','yMRAG':'retry','LOoLq':'WRITE\x20lock\x20acquired\x20(retry\x20mode)','cmCSL':_0x21b8d9(0xdf),'mNGvF':'Waiting\x20for\x20locks\x20to\x20release','bfxjG':function(_0x1274e4,_0x25ef07){return _0x1274e4*_0x25ef07;}};if(!this[_0x21b8d9(0x117)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x496f0d=this['buildLockKey']({..._0x1ff95f,'lockType':_0x3e109f['OepyW']}),_0x475970=this[_0x21b8d9(0x10c)]({..._0x1ff95f,'lockType':'read'}),_0x5c2724=this[_0x21b8d9(0x104)]();try{const _0x246602=redisClient[_0x21b8d9(0xe3)]();if(this['strategy']===_0x3e109f[_0x21b8d9(0xd5)]){const _0x2535c9=await _0x246602[_0x21b8d9(0x11a)](_0x496f0d,_0x5c2724,'EX',this[_0x21b8d9(0xe0)],'NX');if(_0x3e109f[_0x21b8d9(0xee)](_0x2535c9,'OK'))return logger[_0x21b8d9(0xce)]({'event':_0x3e109f['mDaQl'],'key':_0x496f0d,'value':_0x5c2724,'strategy':_0x3e109f[_0x21b8d9(0xd5)]},_0x3e109f['gtTZP']),{'success':!![],'lockValue':_0x5c2724,'lockKey':_0x496f0d};return logger[_0x21b8d9(0xce)]({'event':_0x3e109f[_0x21b8d9(0xdd)],'key':_0x496f0d},'WRITE\x20lock\x20rejected\x20-\x20record\x20busy'),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x15f9dc=0x0;_0x15f9dc<this['retryCount'];_0x15f9dc++){const [_0x135b64,_0x25706b]=await Promise['all']([_0x246602[_0x21b8d9(0xde)](_0x475970),_0x246602[_0x21b8d9(0xde)](_0x496f0d)]);if(!_0x25706b&&(!_0x135b64||parseInt(_0x135b64)===0x0)){const _0x277add=await _0x246602[_0x21b8d9(0x11a)](_0x496f0d,_0x5c2724,'EX',this['defaultTTL'],'NX');if(_0x277add==='OK')return logger[_0x21b8d9(0xce)]({'event':'write_lock_acquired','key':_0x496f0d,'value':_0x5c2724,'strategy':_0x3e109f['yMRAG']},_0x3e109f[_0x21b8d9(0xd3)]),{'success':!![],'lockValue':_0x5c2724,'lockKey':_0x496f0d};}logger['debug']({'event':_0x3e109f['cmCSL'],'writeKey':_0x496f0d,'readCount':_0x135b64,'attempt':_0x15f9dc},_0x3e109f['mNGvF']),await this[_0x21b8d9(0xe1)](_0x3e109f['bfxjG'](this['retryDelay'],Math['pow'](0x2,_0x15f9dc)));}return logger[_0x21b8d9(0xf8)]({'event':_0x21b8d9(0x108),'key':_0x496f0d},_0x21b8d9(0xfb)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x29275e){return logger[_0x21b8d9(0x109)]({'event':_0x21b8d9(0xf7),'error':_0x29275e['message']},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x4544af,_0x2de8ef){const _0x1ea3e3=a0_0x8a01d0,_0x43e59a={'wGhEA':':read:','hnIEA':'Cannot\x20release\x20lock\x20-\x20not\x20owner','ocIcW':'lock_release_error'};if(!this['enabled']||!_0x4544af)return!![];try{const _0x2e5023=redisClient['getClient']();if(_0x4544af[_0x1ea3e3(0xf1)](_0x43e59a['wGhEA'])){await _0x2e5023[_0x1ea3e3(0x103)](_0x4544af);const _0x20f8bc=_0x4544af['substring'](0x0,_0x4544af[_0x1ea3e3(0x120)](':')),_0x1c8475=await _0x2e5023[_0x1ea3e3(0xde)](_0x20f8bc);return _0x1c8475&&parseInt(_0x1c8475)>0x0&&await _0x2e5023[_0x1ea3e3(0xf9)](_0x20f8bc),logger['debug']({'event':_0x1ea3e3(0xd9),'key':_0x4544af},_0x1ea3e3(0x10b)),!![];}const _0x51bf6b=_0x1ea3e3(0x101),_0x184660=await _0x2e5023['eval'](_0x51bf6b,0x1,_0x4544af,_0x2de8ef);if(_0x184660===0x1)return logger[_0x1ea3e3(0xce)]({'event':_0x1ea3e3(0xe5),'key':_0x4544af},'WRITE\x20lock\x20released'),!![];return logger['warn']({'event':_0x1ea3e3(0x10d),'key':_0x4544af},_0x43e59a['hnIEA']),![];}catch(_0x140271){return logger[_0x1ea3e3(0x109)]({'event':_0x43e59a['ocIcW'],'key':_0x4544af,'error':_0x140271['message']},_0x1ea3e3(0xd4)),![];}}async[a0_0x8a01d0(0xf0)](_0xa359ca,_0x27285a,_0x3303ff=null){const _0x2b4810=a0_0x8a01d0,_0x166d8c={'LMuPO':function(_0xe72d9a,_0x2bc4df){return _0xe72d9a===_0x2bc4df;},'uIcHd':_0x2b4810(0xeb),'WoRSC':'Lock\x20extend\x20error'};if(!this[_0x2b4810(0x117)]||!_0xa359ca)return!![];try{const _0x4d33ce=redisClient['getClient'](),_0xe65295='\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',_0x14fd12=await _0x4d33ce['eval'](_0xe65295,0x1,_0xa359ca,_0x27285a,_0x3303ff||this['defaultTTL']);if(_0x166d8c[_0x2b4810(0x115)](_0x14fd12,0x1))return logger[_0x2b4810(0xce)]({'event':_0x166d8c[_0x2b4810(0xe2)],'key':_0xa359ca,'ttl':_0x3303ff||this['defaultTTL']},'Lock\x20TTL\x20extended'),!![];return![];}catch(_0x43197f){return logger['error']({'event':'lock_extend_error','key':_0xa359ca,'error':_0x43197f['message']},_0x166d8c['WoRSC']),![];}}[a0_0x8a01d0(0xdb)](){return this['enabled'];}['sleep'](_0x3e63c6){return new Promise(_0x2e7f32=>setTimeout(_0x2e7f32,_0x3e63c6));}async['getLockInfo'](_0x4c5413){const _0x51b73b=a0_0x8a01d0,_0x4d7dae={'IVzep':function(_0xc3a984,_0x4b3f41){return _0xc3a984||_0x4b3f41;}};if(!this['enabled'])return{'enabled':![]};try{const _0x593788=redisClient['getClient'](),_0x1c4b23=this[_0x51b73b(0x10c)]({..._0x4c5413,'lockType':_0x51b73b(0x113)}),_0x5bfcc3=this[_0x51b73b(0x10c)]({..._0x4c5413,'lockType':'read'}),[_0x25920a,_0x4d97ee]=await Promise['all']([_0x593788['get'](_0x1c4b23),_0x593788[_0x51b73b(0xde)](_0x5bfcc3)]);return{'enabled':!![],'writeLock':_0x4d7dae[_0x51b73b(0x11e)](_0x25920a,null),'readCount':parseInt(_0x4d97ee)||0x0,'writeKey':_0x1c4b23,'readKey':_0x5bfcc3};}catch(_0x1f903b){return{'enabled':!![],'error':_0x1f903b['message']};}}}module['exports']=new LockManager();
|
package/src/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x86cace=a0_0x42d9;(function(_0x507672,_0x584223){const _0x4f16cd=a0_0x42d9,_0x265e6a=_0x507672();while(!![]){try{const _0x39d828=-parseInt(_0x4f16cd(0x24a))/0x1+-parseInt(_0x4f16cd(0x1bf))/0x2*(parseInt(_0x4f16cd(0x261))/0x3)+-parseInt(_0x4f16cd(0x1ba))/0x4+parseInt(_0x4f16cd(0x1d0))/0x5*(parseInt(_0x4f16cd(0x228))/0x6)+parseInt(_0x4f16cd(0x22c))/0x7*(parseInt(_0x4f16cd(0x25c))/0x8)+-parseInt(_0x4f16cd(0x262))/0x9+parseInt(_0x4f16cd(0x230))/0xa*(parseInt(_0x4f16cd(0x216))/0xb);if(_0x39d828===_0x584223)break;else _0x265e6a['push'](_0x265e6a['shift']());}catch(_0x466c14){_0x265e6a['push'](_0x265e6a['shift']());}}}(a0_0x28e2,0x8dad3));const pino=require(a0_0x86cace(0x241)),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName=a0_0x86cace(0x1bb),sqlLogEnabled=![],sqlLogLevel=a0_0x86cace(0x244),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x86cace(0x1ed),'ignore':a0_0x86cace(0x1e7),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0x86cace(0x26d),'customColors':a0_0x86cace(0x205),'hideObject':!![]},isDevelopment=process['env'][a0_0x86cace(0x218)]!=='production',logLevel=process['env'][a0_0x86cace(0x1d5)]||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x86cace(0x1bb),'version':process[a0_0x86cace(0x225)]['APP_VERSION']||a0_0x86cace(0x234),'env':process[a0_0x86cace(0x225)][a0_0x86cace(0x218)]||'development'},'timestamp':pino[a0_0x86cace(0x1db)]['isoTime'],'redact':{'paths':[a0_0x86cace(0x26e),a0_0x86cace(0x1f8),a0_0x86cace(0x268),'token','apiKey','DB_PASSWORD',a0_0x86cace(0x1f1)],'censor':'[REDACTED]'},'serializers':{'req':_0x1e32d8=>({'id':_0x1e32d8['id'],'method':_0x1e32d8[a0_0x86cace(0x276)],'url':_0x1e32d8[a0_0x86cace(0x1f4)],'path':_0x1e32d8[a0_0x86cace(0x217)],'remoteAddress':_0x1e32d8['ip']||_0x1e32d8[a0_0x86cace(0x245)]?.['remoteAddress']}),'res':_0x199f40=>({'statusCode':_0x199f40[a0_0x86cace(0x26a)],'headers':_0x199f40['getHeaders']?.()}),'err':pino[a0_0x86cace(0x21f)][a0_0x86cace(0x1b7)]}});function a0_0x28e2(){const _0xc26817=['EK5gAfu','Ahr0Cf9Yzxf1zxn0','y3z2','oeP1s2PNyG','te9hx0rjuG','rermx0rst1a','y3jLzgL0x2nHCMq','wLjVquG','mJq4odC2ngrws0nWyG','mti4ntq4ogDIu0PPua','yxbPA2v5','ywnJzxnZx3rVA2vU','D1LfzeK','A2rnzKm','DevJBxG','CgfZC3DVCMq','ANnVBG','C3rHDhvZq29Kzq','D3jPDgu','rKvfy1i','E21Zz30','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','tMTHAwC','C2vYDMvYx3n0yxj0Aw5N','y3jLzgvUDgLHBhm','u0vsvKLdrv9oqu1f','q1jjveLdquW','vfjbtLnbq1rjt05FuK9mtejbq0S','u0vmrunu','Bwv0Ag9K','rgnQAMu','BwvZC2fNzq','BgvUz3rO','zxjY','C29Tzq','DxnLCG','odmYotzuvwTIwK4','CMvZDgzVCMDL','vfjXAfq','CMvWBgfJzq','CMvZB2X2zq','mMreCgLMqW','u1fmx0Xpr19ftKfcteve','AgvHzgvYCW','q3b5r3G','Bg9N','uLb6tue','BxmP','AwX5seS','Dw5JyxvNAhrfEgnLChrPB24','ic0G','C3rHCNrZv2L0Aa','B2jQzwn0','C3nU','D3H2Ceu','CgfKrw5K','Cg9YDa','CxvLCNK','otviEgXpwKu','rermx0fmvevs','DhjPBq','zw52AxjVBM1LBNq','yMfZzvvYBa','te9hx0XfvKvm','icbjBMzVoIaGia','q09ntuLu','Aw5JBhvKzxm','EwLgCuu','DgXlDuu','C3rKvgLTzuz1BMn0Aw9UCW','w1jfrefdvevexq','Ag9ZDa','yxbWlMXVzW','Ahj0Aw1L','qKPcu0i','Dg9ju09tDhjPBMC','zuLvy3O','Dxb0Aw1L','icbvuKW6icaGia','oI8V','tfHVANe','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','vvbeqvrf','Bvrkv3C','lI9SB2DZlW','rfjpua','zxHWB3j0CW','u1LtoKHioK1noNnZ','Bw9KDwXL','ChjPDMf0zv9RzxK','yuTPu1q','sLDux1nfq1jfva','EMfZEem','yM9KEq','DxjS','CM93C0fMzMvJDgvK','B3jPz2LUywXvCMW','CMvMCMvZAf90B2TLBG','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','t0T2DMO','y3jLzgL0y2fYza','rKX3t0e','DgvZDa','C3rYAw5NAwz5','ig9UihbVCNqG','y29Kzq','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','qLreD0C','CMvWzwf0','AgvHBhrOq2HLy2S','C2HzqxC','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','ChjVAMvJDa','Dg9mB3DLCKnHC2u','D2Pfvwy','zxHPC3rZu3LUyW','C3rHy2S','y3nzwxe','ywjMwNi','ALDgu1i','uwT0qMS','Dejpz0i','zgjFCxvLCNK','D2fYBG','CMvTB3rLqwrKCMvZCW','rxjYB3i','wwnHC1q','Cg9ZDgDYzxnXBa','nZDrqMzYtNm','Cgf0Aa','tK9erv9ftLy','C3rYAw5N','rgvMyxvSDa','B1z3CeS','Ec1Yzxf1zxn0lwLK','BMLwyNG','zMf0ywW','C3rKu2vYAwfSAxPLCNm','vKfpzxe','vfjbtLnbq1rjt05Fq09ntuLu','Efr3ufe','Aw5MBW','wMvkrNC','zw52','C2vJCMv0','y3jLyxrLv3jPDgvtDhjLyw0','mJKYodeYv3nUterl','u1rbuLqGvfjbtLnbq1rjt04','uhjVy2vZCYbxyxjUAw5NoIa','D2DTDge','ndC2oti0tuzUtxzx','C2vYDMLJzuLUzM8','zxjYB3i','Dg9vChbLCKnHC2u','mJeYmdi2mgrquMXpqG','vMzLDwy','zMXVB3i','yxv0Ag9YAxPHDgLVBG','ms4WlJu','zgf0ywjHC2u','zhvYyxrPB25nCW','zxHPDa','iokvKqRILzeGienVBMzPzYaGicaGidOG','vvPsCMe','A2v5CW','z2Xwueu','BwfW','ChjPDMf0zwTLEq','DhLWzq','u1fmx0Xpr19qqvjbtvm','vfjbtLnbq1rjt05FqKvhsu4','CgLUBW','BeneBuO','zxjYB3iUBg9N','zgvIDwC','y29UBMvJDgLVBG','su5trvju','u3v1tgS','zgjFDhjHBNnHy3rPB24','ChjVy2vZC193yxjUAw5N','ota2mdaXCxzAAgD3','Bwf0y2G','icdIHPiG','Dhj1zq','CgLK','CMfJvwC','zMLSzv9SB2DNAw5Nx2vUywjSzwq','s0nnC0u','sunrqKO','C3rHDhvZ','BM9bB1G','te9hx1rpx0zjteu','CgfZC3DK','icbizwfSDgG6ia','C3vIC3rYAw5N'];a0_0x28e2=function(){return _0xc26817;};return a0_0x28e2();}function initFileLogging(){const _0x5eb635=a0_0x86cace,_0x4a25af={'lCDmJ':'restforge','ZeJFw':function(_0x376f14,_0x42ca65){return _0x376f14===_0x42ca65;},'lriiU':'debug','jWFSR':function(_0x51d20c,_0x2f1db6){return _0x51d20c!==_0x2f1db6;},'swBhx':'false','txvoe':function(_0x23d4d5,_0x333a39){return _0x23d4d5(_0x333a39);},'UZRra':'app.log','zasxC':'error.log'};if(fileLoggingInitialized)return;logToFile=process['env'][_0x5eb635(0x255)]===_0x5eb635(0x24d);const _0x2d4cb0=process['env']['RESTFORGE_PROJECT_NAME']||'default';logDir=process[_0x5eb635(0x225)][_0x5eb635(0x25d)]||_0x5eb635(0x1ea)+_0x2d4cb0,serviceName=process[_0x5eb635(0x225)][_0x5eb635(0x272)]||_0x4a25af[_0x5eb635(0x242)],sqlLogEnabled=_0x4a25af[_0x5eb635(0x224)](process[_0x5eb635(0x225)][_0x5eb635(0x1c0)],'true'),sqlLogLevel=process['env']['SQL_LOG_LEVEL']||_0x4a25af['lriiU'],sqlLogParams=_0x4a25af[_0x5eb635(0x20d)](process['env'][_0x5eb635(0x23f)],_0x4a25af['swBhx']),sqlLogSlowThreshold=_0x4a25af['txvoe'](parseInt,process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x5289c8=path[_0x5eb635(0x1be)](process['cwd'](),logDir);try{!fs[_0x5eb635(0x209)](_0x5289c8)&&fs['mkdirSync'](_0x5289c8,{'recursive':!![]});}catch(_0x4170ac){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x5289c8+':',_0x4170ac[_0x5eb635(0x1b5)]),fileLoggingInitialized=!![];return;}const _0x2e6089=path['join'](_0x5289c8,_0x4a25af[_0x5eb635(0x239)]),_0x8ed7c1=path['join'](_0x5289c8,_0x4a25af[_0x5eb635(0x1f2)]);try{appLogStream=fs['createWriteStream'](_0x2e6089,{'flags':'a'}),errorLogStream=fs[_0x5eb635(0x227)](_0x8ed7c1,{'flags':'a'}),fileLoggingInitialized=!![];const _0x37c9a8={'event':_0x5eb635(0x250),'logDir':_0x5289c8,'files':[_0x5eb635(0x1de),_0x5eb635(0x243)]},_0x21858e='File\x20logging\x20enabled:\x20'+_0x5289c8;logger[_0x5eb635(0x223)](_0x37c9a8,_0x21858e),writeToFileLog({..._0x37c9a8,'level':'info','msg':_0x21858e,'time':new Date()[_0x5eb635(0x1e1)]()},'info');}catch(_0x6a1988){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x6a1988['message']),fileLoggingInitialized=!![];}}function a0_0x42d9(_0x2e9dff,_0x40e8ff){_0x2e9dff=_0x2e9dff-0x1b4;const _0x28e2e4=a0_0x28e2();let _0x42d928=_0x28e2e4[_0x2e9dff];if(a0_0x42d9['OtaJvR']===undefined){var _0x587075=function(_0x34ad21){const _0x5cdfd7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xb6df5='',_0x324fea='';for(let _0x1c32d1=0x0,_0xf066c4,_0x14e6a5,_0x53c5b0=0x0;_0x14e6a5=_0x34ad21['charAt'](_0x53c5b0++);~_0x14e6a5&&(_0xf066c4=_0x1c32d1%0x4?_0xf066c4*0x40+_0x14e6a5:_0x14e6a5,_0x1c32d1++%0x4)?_0xb6df5+=String['fromCharCode'](0xff&_0xf066c4>>(-0x2*_0x1c32d1&0x6)):0x0){_0x14e6a5=_0x5cdfd7['indexOf'](_0x14e6a5);}for(let _0x5cd27c=0x0,_0x3f72b4=_0xb6df5['length'];_0x5cd27c<_0x3f72b4;_0x5cd27c++){_0x324fea+='%'+('00'+_0xb6df5['charCodeAt'](_0x5cd27c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x324fea);};a0_0x42d9['afKnHn']=_0x587075,a0_0x42d9['CorQuP']={},a0_0x42d9['OtaJvR']=!![];}const _0x5e3b43=_0x28e2e4[0x0],_0x4ca433=_0x2e9dff+_0x5e3b43,_0x23889b=a0_0x42d9['CorQuP'][_0x4ca433];return!_0x23889b?(_0x42d928=a0_0x42d9['afKnHn'](_0x42d928),a0_0x42d9['CorQuP'][_0x4ca433]=_0x42d928):_0x42d928=_0x23889b,_0x42d928;}function writeToFileLog(_0x4143c6,_0x3b7747){const _0x7e7714=a0_0x86cace,_0x276498={'wYEdI':function(_0x1738d5,_0x4d431b){return _0x1738d5||_0x4d431b;},'yFcMj':_0x7e7714(0x22e)};if(_0x276498[_0x7e7714(0x265)](!logToFile,!appLogStream))return;const _0x4784fe={'service':serviceName,..._0x4143c6},_0x1ef26b=JSON[_0x7e7714(0x1fd)](_0x4784fe)+'\x0a';appLogStream[_0x7e7714(0x26b)](_0x1ef26b),(_0x3b7747===_0x276498['yFcMj']||_0x3b7747===_0x7e7714(0x21e))&&(errorLogStream&&errorLogStream[_0x7e7714(0x26b)](_0x1ef26b));}const createRequestLogger=(_0x2b57d8={})=>{return logger['child'](_0x2b57d8);},logServerStart=_0x19461c=>{const _0x94b92d=a0_0x86cace,_0x4b1e68={'tzpmA':'RESTFORGE\x20RUNTIME\x20SERVER','KbDkL':function(_0x1338bc,_0x3ea3fa){return _0x1338bc-_0x3ea3fa;},'RGkaj':function(_0x203bcf,_0x4bf77a){return _0x203bcf-_0x4bf77a;},'nHnRE':'Node.js','qMdBA':'N/A','LXojq':_0x94b92d(0x21a),'yVqfd':'ACTIVE','niVbx':'NOT\x20ACTIVE','wjEUf':_0x94b92d(0x270),'VAOeq':function(_0x5e9f23,_0x621c79,_0xeab2dc){return _0x5e9f23(_0x621c79,_0xeab2dc);},'QNcxG':_0x94b92d(0x223)},_0xed38a4=_0x4b1e68['tzpmA'],_0x39faf6=Math['max'](0x0,_0x4b1e68['KbDkL'](0x37,_0xed38a4['length'])),_0x5a2a94=Math[_0x94b92d(0x232)](_0x39faf6/0x2),_0xc45ee=_0x4b1e68['RGkaj'](_0x39faf6,_0x5a2a94),_0x19c84d='║'+'\x20'[_0x94b92d(0x202)](_0x5a2a94)+_0xed38a4+'\x20'[_0x94b92d(0x202)](_0xc45ee)+'║',_0x20d48e='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x19c84d+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x19461c[_0x94b92d(0x1d3)]||_0x4b1e68['nHnRE'])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x19461c[_0x94b92d(0x206)]||_0x4b1e68['qMdBA'])[_0x94b92d(0x1cd)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x19461c['port']||0xbb8)[_0x94b92d(0x1cd)](0x26)+_0x94b92d(0x238)+(_0x19461c['configFile']||_0x4b1e68[_0x94b92d(0x1e6)])[_0x94b92d(0x1cd)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x19461c['apiKey']?_0x4b1e68['yVqfd']:_0x4b1e68[_0x94b92d(0x21d)])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x94b92d(0x1c3)](_0x20d48e);const _0x4bd219={'event':_0x4b1e68[_0x94b92d(0x208)],'project':_0x19461c['project'],'port':_0x19461c['port'],'config':_0x19461c['configFile'],'apiKeyEnabled':!!_0x19461c['apiKey']};logger[_0x94b92d(0x223)](_0x4bd219),_0x4b1e68[_0x94b92d(0x220)](writeToFileLog,{..._0x4bd219,'level':_0x94b92d(0x223),'msg':'Server\x20starting:\x20'+_0x19461c['project']+_0x94b92d(0x1fe)+_0x19461c['port'],'time':new Date()['toISOString']()},_0x4b1e68['QNcxG']);},logServerReady=_0x2cd003=>{const _0x33c06a=a0_0x86cace,_0x15aa9c={'HOgby':'server_ready'},_0x424e36={'event':_0x15aa9c['HOgby'],'port':_0x2cd003[_0x33c06a(0x1ce)],'module':_0x2cd003[_0x33c06a(0x1ee)],'healthCheck':_0x2cd003['healthCheck'],'serviceInfo':_0x2cd003[_0x33c06a(0x22d)],'baseUrl':_0x2cd003['baseUrl']},_0x34a5a6=_0x33c06a(0x200)+_0x2cd003[_0x33c06a(0x1ce)];logger['info'](_0x424e36,_0x34a5a6),writeToFileLog({..._0x424e36,'level':'info','msg':_0x34a5a6,'time':new Date()[_0x33c06a(0x1e1)]()},_0x33c06a(0x223)),_0x2cd003[_0x33c06a(0x203)]&&logger[_0x33c06a(0x223)](_0x33c06a(0x257)+_0x2cd003[_0x33c06a(0x203)]),_0x2cd003[_0x33c06a(0x22d)]&&logger['info'](_0x33c06a(0x1d6)+_0x2cd003['serviceInfo']),_0x2cd003[_0x33c06a(0x1d4)]&&logger[_0x33c06a(0x223)](_0x33c06a(0x1e4)+_0x2cd003['baseUrl']);},logProjectLoaded=(_0xefad2b,_0x3389e9)=>{const _0x1b4b68=a0_0x86cace,_0xe21c42={'Vfeuf':'project_loaded','BTDwG':_0x1b4b68(0x223)},_0x51738f={'event':_0xe21c42[_0x1b4b68(0x231)],'project':_0xefad2b,'path':_0x3389e9},_0x278c06='[OK]\x20Project\x20loaded:\x20'+_0xefad2b;logger[_0x1b4b68(0x223)](_0x51738f,_0x278c06),writeToFileLog({..._0x51738f,'level':_0xe21c42[_0x1b4b68(0x201)],'msg':_0x278c06,'time':new Date()['toISOString']()},_0xe21c42[_0x1b4b68(0x201)]);},logEndpointRegistered=(_0x23ae3b,_0x2bf9ec)=>{const _0xa7c45a=a0_0x86cace,_0x1803cc={'lAlyX':function(_0x5347e8,_0x42b5c1,_0x833db4){return _0x5347e8(_0x42b5c1,_0x833db4);},'CpyGx':_0xa7c45a(0x244)},_0x3f0d75={'event':'endpoint_registered','endpoint':_0x23ae3b,'route':_0x2bf9ec},_0x8f4103=_0xa7c45a(0x24c)+_0x23ae3b+':\x20'+_0x2bf9ec;logger['debug'](_0x3f0d75,_0x8f4103),_0x1803cc['lAlyX'](writeToFileLog,{..._0x3f0d75,'level':_0x1803cc[_0xa7c45a(0x1c2)],'msg':_0x8f4103,'time':new Date()['toISOString']()},_0xa7c45a(0x244));},logDatabaseConfig=_0x4b331d=>{const _0x240bfd=a0_0x86cace,_0x4f65cf={'PmBcr':'database_config','YcasT':_0x240bfd(0x244)},_0x447297={'event':_0x4f65cf['PmBcr'],'host':_0x4b331d[_0x240bfd(0x1dd)],'port':_0x4b331d['port'],'database':_0x4b331d[_0x240bfd(0x235)],'type':_0x4b331d[_0x240bfd(0x23e)],'user':_0x4b331d[_0x240bfd(0x1b9)]},_0x5b6c8d='Database:\x20'+_0x4b331d['type']+_0x240bfd(0x1e5)+_0x4b331d[_0x240bfd(0x1dd)]+':'+_0x4b331d['port']+'/'+_0x4b331d['database'];logger['debug'](_0x447297,_0x5b6c8d),writeToFileLog({..._0x447297,'level':_0x4f65cf[_0x240bfd(0x214)],'msg':_0x5b6c8d,'time':new Date()['toISOString']()},'debug');},logRequest=(_0x32f33d,_0x4f4b5e,_0x3e4814)=>{const _0x209a7c=a0_0x86cace,_0x6879f1={'dwlew':_0x209a7c(0x25a),'FYZOj':'info','RPzMA':_0x209a7c(0x22e),'csYYq':function(_0x234245,_0x589833){return _0x234245>=_0x589833;},'oVwpK':function(_0x39136b,_0xa70530,_0x1c7209){return _0x39136b(_0xa70530,_0x1c7209);}},_0x21cbe1={'event':_0x6879f1['dwlew'],'method':_0x32f33d['method'],'path':_0x32f33d[_0x209a7c(0x217)],'statusCode':_0x4f4b5e[_0x209a7c(0x26a)],'durationMs':_0x3e4814,'ip':_0x32f33d['ip']},_0x50a132=_0x32f33d[_0x209a7c(0x276)]+'\x20'+_0x32f33d['path']+_0x209a7c(0x1c8)+_0x4f4b5e['statusCode']+'\x20('+_0x3e4814+'ms)';let _0x4256ca=_0x6879f1['FYZOj'];if(_0x4f4b5e['statusCode']>=0x1f4)_0x4256ca=_0x6879f1[_0x209a7c(0x1c4)],logger['error'](_0x21cbe1,_0x50a132);else _0x6879f1[_0x209a7c(0x20b)](_0x4f4b5e[_0x209a7c(0x26a)],0x190)?(_0x4256ca='warn',logger['warn'](_0x21cbe1,_0x50a132)):logger[_0x209a7c(0x223)](_0x21cbe1,_0x50a132);_0x6879f1[_0x209a7c(0x21b)](writeToFileLog,{..._0x21cbe1,'level':_0x4256ca,'msg':_0x50a132,'time':new Date()[_0x209a7c(0x1e1)]()},_0x4256ca);},SENSITIVE_PARAM_PATTERNS=['password',a0_0x86cace(0x256),'pwd','token',a0_0x86cace(0x264),a0_0x86cace(0x1f7),'secret','api_secret','apikey','api_key','credential',a0_0x86cace(0x271),'pin','otp',a0_0x86cace(0x1ef),'privatekey'],redactSensitiveParams=(_0xded374,_0x23789c)=>{const _0x1e9cd9=a0_0x86cace,_0x278840={'shYAw':_0x1e9cd9(0x219),'xTwPQ':function(_0xc3abcf,_0x1a2791){return _0xc3abcf===_0x1a2791;}};if(!_0xded374||_0x278840[_0x1e9cd9(0x222)](_0xded374['length'],0x0))return _0xded374;const _0xcc4460=_0x23789c['toLowerCase'](),_0x205d79=_0xcc4460[_0x1e9cd9(0x24b)](/\(([^)]+)\)\s*values/i);let _0x2b3c91=[];_0x205d79&&(_0x2b3c91=_0x205d79[0x1]['split'](',')['map'](_0x216338=>_0x216338['trim']()[_0x1e9cd9(0x207)]()));const _0x43f25f=_0xcc4460['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x43f25f){const _0x16f4a1=_0x43f25f[0x1],_0x5ea6b6=_0x16f4a1['match'](/(\w+)\s*=/g);_0x5ea6b6&&(_0x2b3c91=_0x5ea6b6[_0x1e9cd9(0x23c)](_0xf37132=>_0xf37132[_0x1e9cd9(0x1bd)](/\s*=/,'')[_0x1e9cd9(0x1d2)]()[_0x1e9cd9(0x207)]()));}return _0xded374['map']((_0x4eda40,_0x160037)=>{const _0xd2283a=_0x1e9cd9;if(_0x2b3c91[_0x160037]){const _0x3accbc=_0x2b3c91[_0x160037],_0x5f2850=SENSITIVE_PARAM_PATTERNS[_0xd2283a(0x1b8)](_0x5bc6ee=>_0x3accbc['includes'](_0x5bc6ee));if(_0x5f2850)return'[REDACTED]';}if(typeof _0x4eda40===_0x278840[_0xd2283a(0x204)]&&_0x4eda40['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0xd2283a(0x1fc)](_0x4eda40)&&_0x4eda40[_0xd2283a(0x1d8)]('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/['test'](_0x4eda40))return'[REDACTED:hash]';}return _0x4eda40;});},parseQueryMetadata=_0x3eeb9d=>{const _0xea5428=a0_0x86cace,_0x7d92da={'MRezL':_0xea5428(0x275),'yjJgW':_0xea5428(0x246),'JygBf':'DELETE','qBbMn':_0xea5428(0x221),'racUg':'ROLLBACK','noAoX':_0xea5428(0x274),'ZRoAH':'ALTER'},_0x484314=_0x3eeb9d[_0xea5428(0x1d2)](),_0x5c49be=_0x484314[_0xea5428(0x22f)]();let _0x2a1994='UNKNOWN',_0x3eae6c=null;if(_0x5c49be[_0xea5428(0x1c9)]('SELECT')){_0x2a1994=_0x7d92da['MRezL'];const _0xb6f52a=_0x484314['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3eae6c=_0xb6f52a?_0xb6f52a[0x1]:null;}else{if(_0x5c49be['startsWith'](_0xea5428(0x246))){_0x2a1994=_0x7d92da['yjJgW'];const _0x2b646f=_0x484314[_0xea5428(0x24b)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3eae6c=_0x2b646f?_0x2b646f[0x1]:null;}else{if(_0x5c49be[_0xea5428(0x1c9)](_0xea5428(0x1e8))){_0x2a1994=_0xea5428(0x1e8);const _0x31a4bf=_0x484314['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3eae6c=_0x31a4bf?_0x31a4bf[0x1]:null;}else{if(_0x5c49be['startsWith'](_0x7d92da['JygBf'])){_0x2a1994=_0x7d92da['JygBf'];const _0x3f3a95=_0x484314['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3eae6c=_0x3f3a95?_0x3f3a95[0x1]:null;}else{if(_0x5c49be['startsWith']('BEGIN')||_0x5c49be['startsWith'](_0xea5428(0x229)))_0x2a1994=_0xea5428(0x240);else{if(_0x5c49be[_0xea5428(0x1c9)](_0xea5428(0x1d7)))_0x2a1994=_0x7d92da['qBbMn'];else{if(_0x5c49be['startsWith'](_0x7d92da[_0xea5428(0x24f)]))_0x2a1994=_0x7d92da[_0xea5428(0x254)];else{if(_0x5c49be[_0xea5428(0x1c9)]('CREATE'))_0x2a1994='DDL_CREATE';else{if(_0x5c49be[_0xea5428(0x1c9)](_0x7d92da[_0xea5428(0x260)]))_0x2a1994=_0xea5428(0x1d1);else _0x5c49be['startsWith'](_0xea5428(0x1eb))&&(_0x2a1994=_0xea5428(0x25e));}}}}}}}}return{'type':_0x2a1994,'table':_0x3eae6c};},startQueryTimer=()=>{const _0x9313e=a0_0x86cace,_0x15c1f2={'kYSFb':function(_0x419945,_0x5cd3d0){return _0x419945/_0x5cd3d0;}},_0x1406f6=process[_0x9313e(0x1df)]();return()=>{const _0x53dfb8=_0x9313e,[_0x1bbd48,_0x469ecd]=process[_0x53dfb8(0x1df)](_0x1406f6);return parseFloat((_0x1bbd48*0x3e8+_0x15c1f2['kYSFb'](_0x469ecd,0xf4240))['toFixed'](0x2));};},logQuery=(_0x28f84b,_0x1e7e40=[],_0x51d783={})=>{const _0x55998c=a0_0x86cace,_0x22bc43={'BZPIn':_0x55998c(0x210),'wgmta':'DB\x20Query','KCMsE':_0x55998c(0x215),'OKvvj':function(_0x41a327,_0x921636){return _0x41a327(_0x921636);},'QktBk':'sql_query','kdMfC':function(_0x23f9fa,_0x3739c0,_0x4c6171){return _0x23f9fa(_0x3739c0,_0x4c6171);},'glVPE':function(_0x3d4ace,_0x3f19d5){return _0x3d4ace!==_0x3f19d5;},'Nkaig':'unknown','ICQBJ':function(_0x1a1738,_0x1d54f8){return _0x1a1738!==_0x1d54f8;},'BLCmq':function(_0x39a33a,_0x1e96fc){return _0x39a33a>_0x1e96fc;},'dLqit':_0x55998c(0x244),'zBSKa':'\x20[SLOW]'};if(!sqlLogEnabled){logger['debug']({'event':_0x22bc43['BZPIn'],'query':_0x28f84b[_0x55998c(0x258)](0x0,0xc8),'paramCount':_0x1e7e40[_0x55998c(0x1b6)]},_0x22bc43[_0x55998c(0x22b)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x22bc43[_0x55998c(0x251)]}=_0x51d783,{type:_0x4c3159,table:_0x246854}=_0x22bc43[_0x55998c(0x1f9)](parseQueryMetadata,_0x28f84b),_0x5a4d77={'event':_0x22bc43[_0x55998c(0x20e)],'queryType':_0x4c3159,'table':_0x246854,'query':_0x28f84b,'paramCount':_0x1e7e40[_0x55998c(0x1b6)],'dbType':dbType};sqlLogParams&&_0x1e7e40['length']>0x0&&(_0x5a4d77['params']=_0x22bc43[_0x55998c(0x266)](redactSensitiveParams,_0x1e7e40,_0x28f84b));_0x22bc43[_0x55998c(0x23b)](duration,null)&&(_0x5a4d77[_0x55998c(0x236)]=duration,_0x5a4d77['isSlow']=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x5a4d77[_0x55998c(0x1f5)]=rowsAffected);const _0x562289=_0x246854||_0x22bc43[_0x55998c(0x26f)];let _0x4a0b26='['+_0x4c3159+']\x20'+_0x562289;_0x22bc43[_0x55998c(0x252)](duration,null)&&(_0x4a0b26+='\x20('+duration+_0x55998c(0x1c5));const _0x2a0dd7=duration!==null&&_0x22bc43['BLCmq'](duration,sqlLogSlowThreshold);let _0x408315=_0x22bc43['dLqit'];if(_0x2a0dd7)_0x4a0b26+=_0x22bc43['zBSKa'],_0x408315='warn',logger[_0x55998c(0x211)](_0x5a4d77,_0x4a0b26);else sqlLogLevel===_0x55998c(0x223)?(_0x408315='info',logger['info'](_0x5a4d77,_0x4a0b26)):logger['debug'](_0x5a4d77,_0x4a0b26);writeToFileLog({..._0x5a4d77,'level':_0x408315,'msg':_0x4a0b26,'time':new Date()[_0x55998c(0x1e1)]()},_0x408315);},logTransaction=(_0x4950ca,_0x5c383d)=>{const _0xef560=a0_0x86cace,_0x33422d={'SUwNk':_0xef560(0x248),'SuuLk':function(_0x537a92,_0x5c784b,_0x1f4957){return _0x537a92(_0x5c784b,_0x1f4957);},'abfZr':_0xef560(0x244)},_0x605d20={'event':_0x33422d['SUwNk'],'status':_0x4950ca,'queryCount':_0x5c383d},_0x591bcd='Transaction\x20'+_0x4950ca;logger[_0xef560(0x244)](_0x605d20,_0x591bcd),_0x33422d[_0xef560(0x247)](writeToFileLog,{..._0x605d20,'level':_0x33422d[_0xef560(0x20c)],'msg':_0x591bcd,'time':new Date()['toISOString']()},_0x33422d['abfZr']);},redactObject=_0x40f650=>{const _0x332317=a0_0x86cace,_0x46e3f3={'DeOkL':'passwd','wlFXP':_0x332317(0x263),'eIUcz':_0x332317(0x25f),'aKiST':_0x332317(0x25b),'FEEcR':'pin','tKCrl':_0x332317(0x23d),'TdFaN':'access_token','tlKuE':_0x332317(0x1dc),'mTJWw':function(_0x24ce26,_0x44eae4){return _0x24ce26!==_0x44eae4;},'NDEYK':function(_0x45ea8d,_0xd60477){return _0x45ea8d(_0xd60477);}};if(!_0x40f650||typeof _0x40f650!==_0x332317(0x1ca))return _0x40f650;const _0x1a7e12=['password',_0x46e3f3['DeOkL'],'pwd','token',_0x332317(0x226),_0x46e3f3['wlFXP'],'api_key',_0x332317(0x233),_0x332317(0x1fa),_0x46e3f3[_0x332317(0x1e2)],_0x46e3f3[_0x332317(0x1f0)],_0x332317(0x1cb),_0x46e3f3[_0x332317(0x26c)],'private_key',_0x46e3f3['tKCrl'],'refresh_token',_0x46e3f3['TdFaN']],_0x14a3b1=Array['isArray'](_0x40f650)?[..._0x40f650]:{..._0x40f650};for(const _0x15da56 of Object[_0x332317(0x23a)](_0x14a3b1)){const _0x460a27=_0x15da56[_0x332317(0x207)]();if(_0x1a7e12[_0x332317(0x1b8)](_0x9a84cf=>_0x460a27['includes'](_0x9a84cf)))_0x14a3b1[_0x15da56]=_0x46e3f3[_0x332317(0x1da)];else typeof _0x14a3b1[_0x15da56]===_0x332317(0x1ca)&&_0x46e3f3[_0x332317(0x1e9)](_0x14a3b1[_0x15da56],null)&&(_0x14a3b1[_0x15da56]=_0x46e3f3['NDEYK'](redactObject,_0x14a3b1[_0x15da56]));}return _0x14a3b1;},logError=(_0x5f4d03,_0x5771d4={},_0x257cd7=null)=>{const _0x52ad01=a0_0x86cace,_0xea70f8={'yiFqE':'Error','fMgEE':function(_0x1965c8,_0x2936a7,_0x12b60f){return _0x1965c8(_0x2936a7,_0x12b60f);},'AhwcX':_0x52ad01(0x22e)},_0xdd51b4={'event':_0x52ad01(0x22e),'errorName':_0x5f4d03['name']||_0xea70f8[_0x52ad01(0x1d9)],'errorMessage':_0x5f4d03[_0x52ad01(0x1b5)],'errorCode':_0x5f4d03[_0x52ad01(0x1ff)]||null,'stack':_0x5f4d03['stack'],..._0x5771d4},_0x484b1a=_0x257cd7||'Error:\x20'+_0x5f4d03['message'];logger['error'](_0xdd51b4,_0x484b1a),_0xea70f8['fMgEE'](writeToFileLog,{..._0xdd51b4,'level':'error','msg':_0x484b1a,'time':new Date()[_0x52ad01(0x1e1)]()},_0xea70f8['AhwcX']);},logFatalError=(_0x4c5767,_0x487d42={},_0x26935e=null)=>{const _0x2c16a7=a0_0x86cace,_0x4a3b6a={'yFJiX':_0x2c16a7(0x213),'TRqhT':'fatal','tEcmx':_0x2c16a7(0x22e)},_0x8a921e={'event':'fatal_error','errorName':_0x4c5767['name']||_0x4a3b6a['yFJiX'],'errorMessage':_0x4c5767['message'],'errorCode':_0x4c5767[_0x2c16a7(0x1ff)]||null,'stack':_0x4c5767[_0x2c16a7(0x20a)],'severity':_0x2c16a7(0x273),..._0x487d42},_0x1dd0aa=_0x26935e||'FATAL:\x20'+_0x4c5767[_0x2c16a7(0x1b5)];logger['fatal'](_0x8a921e,_0x1dd0aa),writeToFileLog({..._0x8a921e,'level':_0x4a3b6a[_0x2c16a7(0x1bc)],'msg':_0x1dd0aa,'time':new Date()[_0x2c16a7(0x1e1)]()},_0x4a3b6a[_0x2c16a7(0x267)]);},logHttpError=(_0x13d321,_0x1bdb29,_0xe47c2c={})=>{const _0x5f0d15=a0_0x86cace,_0x5b1cb9={'tBOgB':'Error','xYPXX':'x-request-id','BJBSB':function(_0x537238,_0xa2979d){return _0x537238>=_0xa2979d;},'wxvpE':'error'},_0x377830={'event':'http_error','errorName':_0x13d321['name']||_0x5b1cb9[_0x5f0d15(0x20f)],'errorMessage':_0x13d321['message'],'errorCode':_0x13d321[_0x5f0d15(0x1ff)]||_0x13d321[_0x5f0d15(0x26a)]||0x1f4,'stack':_0x13d321[_0x5f0d15(0x20a)],'method':_0x1bdb29?.[_0x5f0d15(0x276)],'url':_0x1bdb29?.[_0x5f0d15(0x1f4)]||_0x1bdb29?.[_0x5f0d15(0x1f6)],'path':_0x1bdb29?.['path'],'ip':_0x1bdb29?.['ip']||_0x1bdb29?.[_0x5f0d15(0x245)]?.[_0x5f0d15(0x212)],'userAgent':_0x1bdb29?.['get']?.('user-agent'),'requestId':_0x1bdb29?.['id']||_0x1bdb29?.[_0x5f0d15(0x1c1)]?.[_0x5b1cb9['xYPXX']],'body':_0x1bdb29?.[_0x5f0d15(0x1f3)]?redactObject(_0x1bdb29[_0x5f0d15(0x1f3)]):undefined,'query':_0x1bdb29?.[_0x5f0d15(0x1cf)],..._0xe47c2c},_0x2d9364=_0x13d321[_0x5f0d15(0x26a)]||_0x13d321[_0x5f0d15(0x253)]||0x1f4,_0x4b876a='HTTP\x20'+_0x2d9364+':\x20'+_0x13d321['message'];_0x5b1cb9['BJBSB'](_0x2d9364,0x1f4)?logger[_0x5f0d15(0x22e)](_0x377830,_0x4b876a):logger['warn'](_0x377830,_0x4b876a),writeToFileLog({..._0x377830,'level':_0x5b1cb9[_0x5f0d15(0x1e0)](_0x2d9364,0x1f4)?_0x5b1cb9[_0x5f0d15(0x1cc)]:'warn','msg':_0x4b876a,'time':new Date()[_0x5f0d15(0x1e1)]()},_0x2d9364>=0x1f4?_0x5b1cb9['wxvpE']:_0x5f0d15(0x211));},logUncaughtError=(_0x4f5dcb,_0x608a00)=>{const _0xea6f96=a0_0x86cace,_0x2e0541={'SpXpn':function(_0x3c5a4d,_0x1d8d20){return _0x3c5a4d(_0x1d8d20);}},_0x288578={'event':_0x4f5dcb,'errorName':_0x608a00?.['name']||'Error','errorMessage':_0x608a00?.[_0xea6f96(0x1b5)]||_0x2e0541['SpXpn'](String,_0x608a00),'errorCode':_0x608a00?.[_0xea6f96(0x1ff)]||null,'stack':_0x608a00?.['stack'],'severity':_0xea6f96(0x273),'processId':process[_0xea6f96(0x24e)],'memoryUsage':process['memoryUsage'](),'uptime':process[_0xea6f96(0x1e3)]()},_0x3c98e0='['+_0x4f5dcb[_0xea6f96(0x22f)]()+']\x20'+(_0x608a00?.[_0xea6f96(0x1b5)]||_0x608a00);logger[_0xea6f96(0x21e)](_0x288578,_0x3c98e0),writeToFileLog({..._0x288578,'level':_0xea6f96(0x21e),'msg':_0x3c98e0,'time':new Date()[_0xea6f96(0x1e1)]()},'error');},setupGlobalErrorHandlers=()=>{const _0x7df931=a0_0x86cace,_0x16eb8e={'GPbuy':function(_0x1ad111,_0x31396d){return _0x1ad111(_0x31396d);},'kFAZq':'unhandledRejection','zNFhU':_0x7df931(0x249),'kYQio':'warning','ilyHK':'global_error_handlers_setup','FLwOA':'Global\x20error\x20handlers\x20initialized'};process['on'](_0x7df931(0x1c7),_0xc6c773=>{logUncaughtError('uncaughtException',_0xc6c773),setTimeout(()=>{const _0x5c2467=a0_0x42d9;process[_0x5c2467(0x237)](0x1);},0x3e8);}),process['on']('unhandledRejection',(_0xd04575,_0x5b2676)=>{const _0x94e7e0=_0xd04575 instanceof Error?_0xd04575:new Error(_0x16eb8e['GPbuy'](String,_0xd04575));logUncaughtError(_0x16eb8e['kFAZq'],_0x94e7e0);}),process['on'](_0x16eb8e['kYQio'],_0xaf934a=>{const _0x15c73a=_0x7df931;logger['warn']({'event':_0x16eb8e[_0x15c73a(0x259)],'name':_0xaf934a['name'],'message':_0xaf934a['message'],'stack':_0xaf934a[_0x15c73a(0x20a)]},_0x15c73a(0x22a)+_0xaf934a[_0x15c73a(0x1b5)]);});const _0x2e9cce={'event':_0x16eb8e[_0x7df931(0x1c6)]},_0x52c57e=_0x16eb8e[_0x7df931(0x1fb)];logger['info'](_0x2e9cce,_0x52c57e),writeToFileLog({..._0x2e9cce,'level':_0x7df931(0x223),'msg':_0x52c57e,'time':new Date()['toISOString']()},_0x7df931(0x223));},createErrorHandlerMiddleware=()=>{const _0x42af1d=a0_0x86cace,_0x154fe9={'vZgWE':function(_0x28a2e6,_0x10836a,_0x4991ca){return _0x28a2e6(_0x10836a,_0x4991ca);},'ISyxt':function(_0x2accf7,_0x3466ee){return _0x2accf7>=_0x3466ee;},'Dcjje':'Internal\x20server\x20error','waMrL':_0x42af1d(0x21c)};return(_0x2d4e73,_0x5d1748,_0x5124eb,_0x7f3341)=>{const _0x5dc5f9=_0x42af1d;_0x154fe9['vZgWE'](logHttpError,_0x2d4e73,_0x5d1748);const _0x33690f=_0x2d4e73['statusCode']||_0x2d4e73[_0x5dc5f9(0x253)]||0x1f4;_0x5124eb[_0x5dc5f9(0x253)](_0x33690f)[_0x5dc5f9(0x269)]({'success':![],'error':_0x154fe9['ISyxt'](_0x33690f,0x1f4)?_0x154fe9[_0x5dc5f9(0x1b4)]:_0x2d4e73['message'],'requestId':_0x5d1748['id']||_0x5d1748['headers']?.[_0x154fe9['waMrL']]||null});};};module[a0_0x86cace(0x1ec)]={'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_0x261a(_0xc60f06,_0x29e58e){_0xc60f06=_0xc60f06-0x106;const _0x47ba85=a0_0x47ba();let _0x261ac5=_0x47ba85[_0xc60f06];if(a0_0x261a['zDUWSS']===undefined){var _0x315e4f=function(_0x4121e0){const _0xd9e40d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1e7ac1='',_0x43e40d='';for(let _0x520304=0x0,_0x4db0e1,_0x5b6431,_0x977010=0x0;_0x5b6431=_0x4121e0['charAt'](_0x977010++);~_0x5b6431&&(_0x4db0e1=_0x520304%0x4?_0x4db0e1*0x40+_0x5b6431:_0x5b6431,_0x520304++%0x4)?_0x1e7ac1+=String['fromCharCode'](0xff&_0x4db0e1>>(-0x2*_0x520304&0x6)):0x0){_0x5b6431=_0xd9e40d['indexOf'](_0x5b6431);}for(let _0x58a6ec=0x0,_0x1a2bf2=_0x1e7ac1['length'];_0x58a6ec<_0x1a2bf2;_0x58a6ec++){_0x43e40d+='%'+('00'+_0x1e7ac1['charCodeAt'](_0x58a6ec)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x43e40d);};a0_0x261a['mGxLag']=_0x315e4f,a0_0x261a['HAFHqK']={},a0_0x261a['zDUWSS']=!![];}const _0x179cd5=_0x47ba85[0x0],_0x40804a=_0xc60f06+_0x179cd5,_0x2c5fa9=a0_0x261a['HAFHqK'][_0x40804a];return!_0x2c5fa9?(_0x261ac5=a0_0x261a['mGxLag'](_0x261ac5),a0_0x261a['HAFHqK'][_0x40804a]=_0x261ac5):_0x261ac5=_0x2c5fa9,_0x261ac5;}const a0_0x3096f5=a0_0x261a;(function(_0x12a533,_0x59421d){const _0x4cd962=a0_0x261a,_0x2f5c13=_0x12a533();while(!![]){try{const _0x2ec9e6=-parseInt(_0x4cd962(0x177))/0x1+parseInt(_0x4cd962(0x140))/0x2+parseInt(_0x4cd962(0x189))/0x3+-parseInt(_0x4cd962(0x1b1))/0x4+-parseInt(_0x4cd962(0x1b6))/0x5+parseInt(_0x4cd962(0x142))/0x6+parseInt(_0x4cd962(0x172))/0x7;if(_0x2ec9e6===_0x59421d)break;else _0x2f5c13['push'](_0x2f5c13['shift']());}catch(_0x3310a4){_0x2f5c13['push'](_0x2f5c13['shift']());}}}(a0_0x47ba,0x8b0fc));const pino=require('pino'),fs=require('fs'),path=require(a0_0x3096f5(0x17d));let logToFile=![],logDir=a0_0x3096f5(0x187),serviceName=a0_0x3096f5(0x136),sqlLogEnabled=![],sqlLogLevel=a0_0x3096f5(0x12d),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x3096f5(0x12e),'singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':a0_0x3096f5(0x18e),'hideObject':!![]},isDevelopment=process[a0_0x3096f5(0x110)][a0_0x3096f5(0x1ca)]!==a0_0x3096f5(0x128),logLevel=process[a0_0x3096f5(0x110)]['LOG_LEVEL']||a0_0x3096f5(0x1b9);function a0_0x47ba(){const _0x49e4af=['CgLK','otu0odK2sKfuA2LY','AgvHBhrOq2HLy2S','mtK1mZCYmezSqwfQuq','rxjYB3i','Eu9KwMW','rxfNqxe','qKvhsu4','rermx0nsrufurq','C2vYDMvYx3jLywr5','DhLWzq','DenOzKm','C3rHy2S','u0vsvKLdrv9oqu1f','C3bSAxq','u1fmx0Xpr19qqvjbtvm','Bwv0Ag9K','zw5KCg9PBNrFCMvNAxn0zxjLza','D2fYBMLUzW','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','Ce9rDLa','rLLqrwG','uKHsC3K','Dg9mB3DLCKnHC2u','C3rKu2vYAwfSAxPLCNm','zxHPDa','uhjVy2vZCYbxyxjUAw5NoIa','BMfbz2W','te9hx0rjuG','ig9UihbVCNqG','C2rkAMW','zxjYB3i','u0vmrunu','ChjVAMvJDa','rermx0fmvevs','Bwf0y2G','y3jLzgvUDgLHBa','icbvuKW6icaGia','CgTgtNG','BwTKAxjtEw5J','q09ntuLu','zxHWB3j0CW','CwLYq3a','EwrJCgO','q2vIu3G','ANnVBG','Ag9ZDa','C3vIC3rYAw5N','zxjY','qunusvzf','Dg9ju09tDhjPBMC','nZCXnZu2m3z5sKLuwa','CxvrtMm','D2fYBG','C3rYAw5N','qMrcDva','odK1nJa5t09oCvPl','Cg9YDa','zgjFDhjHBNnHy3rPB24','CgfKrw5K','w1jfrefdvevexq','AxntBg93','Cgf0Aa','vMHswKq','AuTWufe','BejiBvG','u3HWBge','CujjtwS','C3rKvgLTzuz1BMn0Aw9UCW','zgv2zwXVCg1LBNq','qvbqx1zfuLnjt04','u2vYDMvYihn0yxj0Aw5NoIa','lI9SB2DZ','AKTPDeG','mJe0mZuWovfRwu9Yrq','BgvUz3rO','txPzCgm','vxfWB1G','tu9xyM0','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','yxbWlMXVzW','AuXZBNi','t3nkDg4','Dw5Oyw5KBgvKuMvQzwn0Aw9U','zLvOBfy','DhjPBq','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','DxnLCG','Dhj1zq','iokvKqRILzeGienVBMzPzYaGicaGidOG','CgLU','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','sMjxs1i','Dw5JyxvNAhrfEgnLChrPB24','oI8V','zMfSC2u','z2v0sgvHzgvYCW','rLbzDum','C2vYDMLJzuLUzM8','rejFueftu1DpuKq','C2vYDMvYx3n0yxj0Aw5N','Aw5JBhvKzxm','wKDxyMi','zxjYB3iUBg9N','C3rHDhvZ','yM9KEq','yLP5vfG','yxbPA2v5','revmrvrf','Bg9N','BuDhqKC','C3nU','BMfTzq','C3rHDhvZq29Kzq','mJe3odq5mMjTvxfxDG','AMrJwK0','CgfZC3DK','Dxb0Aw1L','yxbPx3nLy3jLDa','mZa1mti2merowxjUsW','y29Kzq','ChDK','Aw5MBW','Awj0BKO','ChjPDMf0zwTLEq','ic0G','u0vXrey','zMf0ywW','AxPUzve','zKjYr3u','DKnsz3i','q1jfqvrf','uLvmvLu','BwvZC2fNzq','zgf0ywjHC2vFy29UzMLN','C3rHCNrZv2L0Aa','q1jjveLdquW','w1jfrefdveveoMHHC2HD','D3bSBNe','tK9erv9ftLy','Bgvpzuq','Ahj0Aw1L','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','zvLyBuG','y3DK','rgT5DeK','vNjQCNy','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','C29Tzq','iokvKqRILzeGifbYB2PLy3qGicaGidOG','wLDxD3C','zw52','B2jQzwn0','uNLJrva','su5trvju','rfjpua','CMvTB3rLqwrKCMvZCW','ms4WlJu','B0jKvue','vfjbtLnbq1rjt05Fq09ntuLu','CKf3C3K','Dg9vChbLCKnHC2u','qKXOCMq','vfjbtLnbq1rjt05FuK9mtejbq0S','C3fSx3f1zxj5','rNHIu20','y3z2','DgvZDa','zgf0ywjHC2u','y29UzMLNrMLSzq','q1votKC','wfH5yue','tI9b','ifTtte9xxq','iokvKqRILzeGifbVCNqGicaGicaGidOG','ChjVzhvJDgLVBG','zMf0ywXFzxjYB3i','AM9PBG','q29HBg4','yvPKz0e','zgvIDwC','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','yMfZzvvYBa','AxnbCNjHEq','vKzczLe','u1fmx0Xpr19ftKfcteve','w1jfrefdveveoNrVA2vUxq','C0jJvKO','y3jLyxrLv3jPDgvtDhjLyw0','CMvZDgzVCMDL','Ahr0Cf9Yzxf1zxn0','y0rJzMO','DxjS','te9hx1rpx0zjteu','vvbeqvrf','ExnqDuq','u1fmx0Xpr19mrvzfta','ChjPDMf0zv9RzxK'];a0_0x47ba=function(){return _0x49e4af;};return a0_0x47ba();}let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env'][a0_0x3096f5(0x185)]||a0_0x3096f5(0x116),'env':process['env'][a0_0x3096f5(0x1ca)]||a0_0x3096f5(0x184)},'timestamp':pino[a0_0x3096f5(0x183)]['isoTime'],'redact':{'paths':[a0_0x3096f5(0x19a),'req.headers[\x22x-api-key\x22]','password','token','apiKey',a0_0x3096f5(0x1a2),'JWT_SECRET'],'censor':'[REDACTED]'},'serializers':{'req':_0xec587c=>({'id':_0xec587c['id'],'method':_0xec587c[a0_0x3096f5(0x14f)],'url':_0xec587c[a0_0x3096f5(0x139)],'path':_0xec587c[a0_0x3096f5(0x17d)],'remoteAddress':_0xec587c['ip']||_0xec587c['connection']?.['remoteAddress']}),'res':_0xe9d4c5=>({'statusCode':_0xe9d4c5['statusCode'],'headers':_0xe9d4c5[a0_0x3096f5(0x19f)]?.()}),'err':pino[a0_0x3096f5(0x157)][a0_0x3096f5(0x16f)]}});function initFileLogging(){const _0x44ebe4=a0_0x3096f5,_0x25fb1b={'sBcVJ':function(_0x435f73,_0x2806fb){return _0x435f73===_0x2806fb;},'DCBaW':'default','gHFJV':function(_0x412b89,_0x390a14){return _0x412b89===_0x390a14;},'RpIHP':_0x44ebe4(0x197),'VFBfQ':function(_0x555a66,_0x24fb17){return _0x555a66!==_0x24fb17;},'quQNc':function(_0x8f466,_0x41bcda){return _0x8f466(_0x41bcda);},'rAwsy':'error.log','xeQMc':function(_0xededeb,_0x5876b5,_0x5a9ad4){return _0xededeb(_0x5876b5,_0x5a9ad4);},'qirCp':_0x44ebe4(0x1b9)};if(fileLoggingInitialized)return;logToFile=_0x25fb1b[_0x44ebe4(0x134)](process['env'][_0x44ebe4(0x13a)],_0x44ebe4(0x197));const _0x32e056=process['env']['RESTFORGE_PROJECT_NAME']||_0x25fb1b['DCBaW'];logDir=process['env'][_0x44ebe4(0x15b)]||'./logs/'+_0x32e056,serviceName=process[_0x44ebe4(0x110)][_0x44ebe4(0x14c)]||'restforge',sqlLogEnabled=_0x25fb1b['gHFJV'](process['env'][_0x44ebe4(0x132)],_0x25fb1b['RpIHP']),sqlLogLevel=process['env'][_0x44ebe4(0x13d)]||_0x44ebe4(0x12d),sqlLogParams=_0x25fb1b[_0x44ebe4(0x131)](process['env'][_0x44ebe4(0x14e)],_0x44ebe4(0x19e)),sqlLogSlowThreshold=_0x25fb1b[_0x44ebe4(0x173)](parseInt,process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x523b7b=path['resolve'](process[_0x44ebe4(0x109)](),logDir);try{!fs['existsSync'](_0x523b7b)&&fs[_0x44ebe4(0x166)](_0x523b7b,{'recursive':!![]});}catch(_0x10db7b){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x523b7b+':',_0x10db7b[_0x44ebe4(0x1c4)]),fileLoggingInitialized=!![];return;}const _0xcab749=path[_0x44ebe4(0x12a)](_0x523b7b,_0x44ebe4(0x18f)),_0x5d6ceb=path['join'](_0x523b7b,_0x25fb1b[_0x44ebe4(0x119)]);try{appLogStream=fs[_0x44ebe4(0x135)](_0xcab749,{'flags':'a'}),errorLogStream=fs[_0x44ebe4(0x135)](_0x5d6ceb,{'flags':'a'}),fileLoggingInitialized=!![];const _0x2bd96d={'event':'file_logging_enabled','logDir':_0x523b7b,'files':[_0x44ebe4(0x18f),_0x44ebe4(0x1a6)]},_0x3c4b72='File\x20logging\x20enabled:\x20'+_0x523b7b;logger[_0x44ebe4(0x1b9)](_0x2bd96d,_0x3c4b72),_0x25fb1b['xeQMc'](writeToFileLog,{..._0x2bd96d,'level':'info','msg':_0x3c4b72,'time':new Date()['toISOString']()},_0x25fb1b[_0x44ebe4(0x169)]);}catch(_0x6b632a){console['error'](_0x44ebe4(0x195),_0x6b632a[_0x44ebe4(0x1c4)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x20d8e4,_0x359d62){const _0x1dced1=a0_0x3096f5,_0xd4452a={'oBdUA':function(_0x19ab8f,_0x3da419){return _0x19ab8f===_0x3da419;},'mGGBG':_0x1dced1(0x1be)};if(!logToFile||!appLogStream)return;const _0x8d866f={'service':serviceName,..._0x20d8e4},_0x12a280=JSON['stringify'](_0x8d866f)+'\x0a';appLogStream['write'](_0x12a280),(_0xd4452a[_0x1dced1(0x117)](_0x359d62,_0x1dced1(0x15e))||_0xd4452a['oBdUA'](_0x359d62,_0xd4452a[_0x1dced1(0x1ad)]))&&(errorLogStream&&errorLogStream['write'](_0x12a280));}const createRequestLogger=(_0x21217b={})=>{return logger['child'](_0x21217b);},logServerStart=_0x586edc=>{const _0x76b0c8=a0_0x3096f5,_0x1aa491={'JYiOI':'RESTFORGE\x20RUNTIME\x20SERVER','jdcZM':function(_0x1fa2e7,_0x4fa0aa){return _0x1fa2e7-_0x4fa0aa;},'wllER':'Node.js','cSRcY':'NOT\x20ACTIVE','aZdgA':function(_0x3c77d1,_0x356d2a,_0x2cf1c8){return _0x3c77d1(_0x356d2a,_0x2cf1c8);},'BdBuP':_0x76b0c8(0x1b9)},_0x170d0d=_0x1aa491['JYiOI'],_0x133b23=Math['max'](0x0,_0x1aa491[_0x76b0c8(0x1b2)](0x37,_0x170d0d['length'])),_0x162dc5=Math['floor'](_0x133b23/0x2),_0x58291b=_0x133b23-_0x162dc5,_0x3554d0='║'+'\x20'['repeat'](_0x162dc5)+_0x170d0d+'\x20'['repeat'](_0x58291b)+'║',_0x37f747='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x3554d0+_0x76b0c8(0x152)+(_0x586edc['environment']||_0x1aa491['wllER'])['padEnd'](0x26)+_0x76b0c8(0x10e)+(_0x586edc[_0x76b0c8(0x160)]||_0x76b0c8(0x125))[_0x76b0c8(0x17a)](0x26)+_0x76b0c8(0x127)+String(_0x586edc[_0x76b0c8(0x178)]||0xbb8)['padEnd'](0x26)+_0x76b0c8(0x198)+(_0x586edc[_0x76b0c8(0x122)]||'Default')['padEnd'](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x586edc['apiKey']?_0x76b0c8(0x170):_0x1aa491['cSRcY'])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x76b0c8(0x1ac)](_0x37f747);const _0x37015a={'event':_0x76b0c8(0x1a3),'project':_0x586edc['project'],'port':_0x586edc['port'],'config':_0x586edc[_0x76b0c8(0x122)],'apiKeyEnabled':!!_0x586edc['apiKey']};logger[_0x76b0c8(0x1b9)](_0x37015a),_0x1aa491[_0x76b0c8(0x12c)](writeToFileLog,{..._0x37015a,'level':_0x1aa491[_0x76b0c8(0x176)],'msg':_0x76b0c8(0x186)+_0x586edc['project']+_0x76b0c8(0x15c)+_0x586edc['port'],'time':new Date()[_0x76b0c8(0x171)]()},'info');},logServerReady=_0x517c69=>{const _0xce8764=a0_0x3096f5,_0x5d502c={'IaKpV':_0xce8764(0x1b9)},_0x441a8d={'event':_0xce8764(0x148),'port':_0x517c69['port'],'module':_0x517c69['module'],'healthCheck':_0x517c69['healthCheck'],'serviceInfo':_0x517c69['serviceInfo'],'baseUrl':_0x517c69[_0xce8764(0x12f)]},_0x63930b=_0xce8764(0x107)+_0x517c69['port'];logger['info'](_0x441a8d,_0x63930b),writeToFileLog({..._0x441a8d,'level':_0x5d502c['IaKpV'],'msg':_0x63930b,'time':new Date()['toISOString']()},_0x5d502c['IaKpV']),_0x517c69[_0xce8764(0x141)]&&logger['info']('\x20\x20Health:\x20'+_0x517c69['healthCheck']),_0x517c69['serviceInfo']&&logger[_0xce8764(0x1b9)]('\x20\x20Info:\x20\x20\x20'+_0x517c69[_0xce8764(0x1a1)]),_0x517c69['baseUrl']&&logger['info'](_0xce8764(0x164)+_0x517c69['baseUrl']);},logProjectLoaded=(_0x2b6fe8,_0x3c54be)=>{const _0x116be3=a0_0x3096f5,_0x4f9fef={'event':'project_loaded','project':_0x2b6fe8,'path':_0x3c54be},_0x38b196='[OK]\x20Project\x20loaded:\x20'+_0x2b6fe8;logger[_0x116be3(0x1b9)](_0x4f9fef,_0x38b196),writeToFileLog({..._0x4f9fef,'level':'info','msg':_0x38b196,'time':new Date()[_0x116be3(0x171)]()},'info');},logEndpointRegistered=(_0x31a4e1,_0x38be89)=>{const _0x5b1201=a0_0x3096f5,_0x5cd434={'eYXmH':_0x5b1201(0x150),'fBrGu':_0x5b1201(0x12d)},_0x3dd3cc={'event':_0x5cd434[_0x5b1201(0x108)],'endpoint':_0x31a4e1,'route':_0x38be89},_0x6c9787='\x20\x20→\x20'+_0x31a4e1+':\x20'+_0x38be89;logger[_0x5b1201(0x12d)](_0x3dd3cc,_0x6c9787),writeToFileLog({..._0x3dd3cc,'level':'debug','msg':_0x6c9787,'time':new Date()['toISOString']()},_0x5cd434[_0x5b1201(0x1c0)]);},logDatabaseConfig=_0x151a19=>{const _0x5d479d=a0_0x3096f5,_0x3f0ef0={'qBIMk':function(_0x50e5e3,_0x2d0381,_0xa69bf8){return _0x50e5e3(_0x2d0381,_0xa69bf8);},'FduMh':'debug'},_0x348019={'event':_0x5d479d(0x1c5),'host':_0x151a19['host'],'port':_0x151a19[_0x5d479d(0x178)],'database':_0x151a19[_0x5d479d(0x121)],'type':_0x151a19['type'],'user':_0x151a19[_0x5d479d(0x196)]},_0x565833='Database:\x20'+_0x151a19[_0x5d479d(0x149)]+_0x5d479d(0x19d)+_0x151a19[_0x5d479d(0x16d)]+':'+_0x151a19[_0x5d479d(0x178)]+'/'+_0x151a19['database'];logger['debug'](_0x348019,_0x565833),_0x3f0ef0[_0x5d479d(0x182)](writeToFileLog,{..._0x348019,'level':_0x5d479d(0x12d),'msg':_0x565833,'time':new Date()[_0x5d479d(0x171)]()},_0x3f0ef0['FduMh']);},logRequest=(_0x30e74c,_0x41f10b,_0x230b39)=>{const _0x37d731=a0_0x3096f5,_0x2c98aa={'leOeD':_0x37d731(0x137),'KcJcl':'info','MFnVw':function(_0x5dec24,_0x154daa){return _0x5dec24>=_0x154daa;},'RHRsy':'error','jTZjW':function(_0xb748a6,_0x2dabf0){return _0xb748a6>=_0x2dabf0;},'Sxpla':'warn'},_0x48d63b={'event':_0x2c98aa[_0x37d731(0x1cb)],'method':_0x30e74c[_0x37d731(0x14f)],'path':_0x30e74c['path'],'statusCode':_0x41f10b['statusCode'],'durationMs':_0x230b39,'ip':_0x30e74c['ip']},_0x10442b=_0x30e74c[_0x37d731(0x14f)]+'\x20'+_0x30e74c['path']+_0x37d731(0x1bc)+_0x41f10b['statusCode']+'\x20('+_0x230b39+'ms)';let _0x63ad16=_0x2c98aa['KcJcl'];if(_0x2c98aa['MFnVw'](_0x41f10b[_0x37d731(0x1b0)],0x1f4))_0x63ad16=_0x2c98aa[_0x37d731(0x155)],logger['error'](_0x48d63b,_0x10442b);else _0x2c98aa['jTZjW'](_0x41f10b[_0x37d731(0x1b0)],0x190)?(_0x63ad16=_0x2c98aa[_0x37d731(0x181)],logger['warn'](_0x48d63b,_0x10442b)):logger['info'](_0x48d63b,_0x10442b);writeToFileLog({..._0x48d63b,'level':_0x63ad16,'msg':_0x10442b,'time':new Date()['toISOString']()},_0x63ad16);},SENSITIVE_PARAM_PATTERNS=['password',a0_0x3096f5(0x1b3),a0_0x3096f5(0x1b8),'token','access_token','refresh_token','secret',a0_0x3096f5(0x1b5),'apikey','api_key',a0_0x3096f5(0x163),'credentials',a0_0x3096f5(0x199),'otp',a0_0x3096f5(0x13e),a0_0x3096f5(0x1bb)],redactSensitiveParams=(_0x58d113,_0x4d55fe)=>{const _0x70dc8=a0_0x3096f5,_0x2774b1={'qFvGx':_0x70dc8(0x17b),'cOyjc':_0x70dc8(0x175),'DmqGV':function(_0x38ad15,_0x296068){return _0x38ad15>_0x296068;},'qmIiA':function(_0x1cd5af,_0xe188d3){return _0x1cd5af===_0xe188d3;}};if(!_0x58d113||_0x2774b1['qmIiA'](_0x58d113['length'],0x0))return _0x58d113;const _0xb5e12e=_0x4d55fe['toLowerCase'](),_0x226061=_0xb5e12e['match'](/\(([^)]+)\)\s*values/i);let _0x4eeae6=[];_0x226061&&(_0x4eeae6=_0x226061[0x1][_0x70dc8(0x14d)](',')['map'](_0x574ef9=>_0x574ef9[_0x70dc8(0x194)]()[_0x70dc8(0x156)]()));const _0x4dc73f=_0xb5e12e['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x4dc73f){const _0xcbc4cd=_0x4dc73f[0x1],_0x1e4f08=_0xcbc4cd[_0x70dc8(0x162)](/(\w+)\s*=/g);_0x1e4f08&&(_0x4eeae6=_0x1e4f08['map'](_0x34741a=>_0x34741a['replace'](/\s*=/,'')['trim']()[_0x70dc8(0x156)]()));}return _0x58d113['map']((_0x2b9938,_0x37a737)=>{const _0x17ecb1=_0x70dc8;if(_0x4eeae6[_0x37a737]){const _0x40b3d1=_0x4eeae6[_0x37a737],_0x1793a4=SENSITIVE_PARAM_PATTERNS[_0x17ecb1(0x10d)](_0x1094bc=>_0x40b3d1['includes'](_0x1094bc));if(_0x1793a4)return _0x2774b1['qFvGx'];}if(typeof _0x2b9938===_0x2774b1['cOyjc']&&_0x2774b1['DmqGV'](_0x2b9938[_0x17ecb1(0x18a)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x2b9938)&&_0x2b9938['includes']('.'))return _0x17ecb1(0x133);if(/^[a-fA-F0-9]{32,}$/[_0x17ecb1(0x120)](_0x2b9938))return _0x17ecb1(0x1c8);}return _0x2b9938;});},parseQueryMetadata=_0x3f0756=>{const _0x43a7de=a0_0x3096f5,_0x147e49={'xVsyS':'UNKNOWN','JbWKR':_0x43a7de(0x15f),'RycEP':_0x43a7de(0x113),'QgmwO':_0x43a7de(0x13b),'sdJjl':_0x43a7de(0x1ab),'WcNMO':_0x43a7de(0x167),'jSaWv':'ROLLBACK','MOWbm':_0x43a7de(0x11c),'LreWo':_0x43a7de(0x1c2),'CebSx':_0x43a7de(0x147),'jKitH':'ALTER','tChfC':'DDL_DROP'},_0xbbacf4=_0x3f0756[_0x43a7de(0x194)](),_0x5d136e=_0xbbacf4[_0x43a7de(0x11a)]();let _0x83ee93=_0x147e49['xVsyS'],_0x25d5fa=null;if(_0x5d136e['startsWith']('SELECT')){_0x83ee93=_0x147e49[_0x43a7de(0x19b)];const _0x335dba=_0xbbacf4['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x25d5fa=_0x335dba?_0x335dba[0x1]:null;}else{if(_0x5d136e['startsWith'](_0x147e49['RycEP'])){_0x83ee93=_0x147e49[_0x43a7de(0x112)];const _0x545a8d=_0xbbacf4[_0x43a7de(0x162)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x25d5fa=_0x545a8d?_0x545a8d[0x1]:null;}else{if(_0x5d136e[_0x43a7de(0x1c6)](_0x43a7de(0x13b))){_0x83ee93=_0x147e49['QgmwO'];const _0x2f74a1=_0xbbacf4['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x25d5fa=_0x2f74a1?_0x2f74a1[0x1]:null;}else{if(_0x5d136e['startsWith'](_0x147e49[_0x43a7de(0x15d)])){_0x83ee93=_0x147e49[_0x43a7de(0x15d)];const _0x1af80c=_0xbbacf4['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x25d5fa=_0x1af80c?_0x1af80c[0x1]:null;}else{if(_0x5d136e['startsWith'](_0x43a7de(0x146))||_0x5d136e[_0x43a7de(0x1c6)]('START\x20TRANSACTION'))_0x83ee93='TRANSACTION_BEGIN';else{if(_0x5d136e[_0x43a7de(0x1c6)](_0x147e49['WcNMO']))_0x83ee93=_0x43a7de(0x118);else{if(_0x5d136e['startsWith'](_0x147e49['jSaWv']))_0x83ee93=_0x147e49[_0x43a7de(0x18d)];else{if(_0x5d136e['startsWith'](_0x147e49['LreWo']))_0x83ee93=_0x147e49[_0x43a7de(0x16b)];else{if(_0x5d136e[_0x43a7de(0x1c6)](_0x147e49[_0x43a7de(0x188)]))_0x83ee93=_0x43a7de(0x161);else _0x5d136e['startsWith'](_0x43a7de(0x114))&&(_0x83ee93=_0x147e49[_0x43a7de(0x14a)]);}}}}}}}}return{'type':_0x83ee93,'table':_0x25d5fa};},startQueryTimer=()=>{const _0x27f74b=a0_0x3096f5,_0x4bd05a={'iLsnr':function(_0x50a37a,_0x176e95){return _0x50a37a(_0x176e95);},'naAgl':function(_0x45f96b,_0x22bba9){return _0x45f96b+_0x22bba9;},'DkytI':function(_0x2e0c67,_0x39d891){return _0x2e0c67/_0x39d891;}},_0x6c673a=process[_0x27f74b(0x106)]();return()=>{const _0x4ce5a5=_0x27f74b,[_0x33e83c,_0x1cd647]=process[_0x4ce5a5(0x106)](_0x6c673a);return _0x4bd05a[_0x4ce5a5(0x190)](parseFloat,_0x4bd05a[_0x4ce5a5(0x15a)](_0x33e83c*0x3e8,_0x4bd05a[_0x4ce5a5(0x10a)](_0x1cd647,0xf4240))['toFixed'](0x2));};},logQuery=(_0x483ea2,_0x46d34c=[],_0x126c65={})=>{const _0x36a089=a0_0x3096f5,_0x4e1b03={'iKpPQ':function(_0x48c77a,_0x4b6975){return _0x48c77a>_0x4b6975;},'UqpoX':function(_0x5589d9,_0x4522e4){return _0x5589d9!==_0x4522e4;},'biPix':function(_0x39c4ff,_0x1468c6){return _0x39c4ff>_0x1468c6;},'wplnq':'unknown','caLIL':_0x36a089(0x12d),'dTWrk':_0x36a089(0x126),'OiBnQ':_0x36a089(0x174),'ysPuD':function(_0x1223e8,_0x43faa9){return _0x1223e8===_0x43faa9;},'ibtnJ':_0x36a089(0x1b9)};if(!sqlLogEnabled){logger[_0x36a089(0x12d)]({'event':'db_query','query':_0x483ea2[_0x36a089(0x16e)](0x0,0xc8),'paramCount':_0x46d34c['length']},'DB\x20Query');return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x126c65,{type:_0x122878,table:_0x5c61bd}=parseQueryMetadata(_0x483ea2),_0x4eb92f={'event':_0x36a089(0x11d),'queryType':_0x122878,'table':_0x5c61bd,'query':_0x483ea2,'paramCount':_0x46d34c[_0x36a089(0x18a)],'dbType':dbType};sqlLogParams&&_0x4e1b03[_0x36a089(0x17f)](_0x46d34c['length'],0x0)&&(_0x4eb92f['params']=redactSensitiveParams(_0x46d34c,_0x483ea2));_0x4e1b03[_0x36a089(0x18c)](duration,null)&&(_0x4eb92f['durationMs']=duration,_0x4eb92f[_0x36a089(0x17c)]=_0x4e1b03['biPix'](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x4eb92f['rowsAffected']=rowsAffected);const _0x8a32a5=_0x5c61bd||_0x4e1b03[_0x36a089(0x1c9)];let _0x238950='['+_0x122878+']\x20'+_0x8a32a5;_0x4e1b03[_0x36a089(0x18c)](duration,null)&&(_0x238950+='\x20('+duration+'ms)');const _0xb19098=duration!==null&&_0x4e1b03['biPix'](duration,sqlLogSlowThreshold);let _0x1817be=_0x4e1b03['caLIL'];if(_0xb19098)_0x238950+=_0x4e1b03['dTWrk'],_0x1817be=_0x4e1b03['OiBnQ'],logger['warn'](_0x4eb92f,_0x238950);else _0x4e1b03[_0x36a089(0x13c)](sqlLogLevel,_0x4e1b03[_0x36a089(0x1ba)])?(_0x1817be='info',logger[_0x36a089(0x1b9)](_0x4eb92f,_0x238950)):logger['debug'](_0x4eb92f,_0x238950);writeToFileLog({..._0x4eb92f,'level':_0x1817be,'msg':_0x238950,'time':new Date()['toISOString']()},_0x1817be);},logTransaction=(_0x11c026,_0x5adf5c)=>{const _0xbb7ecc=a0_0x3096f5,_0x50f679={'ydcpj':_0xbb7ecc(0x179),'lnYcv':'debug'},_0x31ee5d={'event':_0x50f679[_0xbb7ecc(0x16a)],'status':_0x11c026,'queryCount':_0x5adf5c},_0x3a0486='Transaction\x20'+_0x11c026;logger[_0xbb7ecc(0x12d)](_0x31ee5d,_0x3a0486),writeToFileLog({..._0x31ee5d,'level':_0x50f679['lnYcv'],'msg':_0x3a0486,'time':new Date()['toISOString']()},_0x50f679['lnYcv']);},redactObject=_0xded90d=>{const _0x34bb0d=a0_0x3096f5,_0x1818e0={'AUFgn':'password','hCdaz':'passwd','ZGWbb':'token','yOdZl':'secret','BLhrd':_0x34bb0d(0x1aa),'FYPEh':'authorization','VQJNe':_0x34bb0d(0x199),'cDcfj':'private_key','fUhlV':'refresh_token','twbUp':'[REDACTED]','SEqDF':'object'};if(!_0xded90d||typeof _0xded90d!==_0x34bb0d(0x111))return _0xded90d;const _0x4517c2=[_0x1818e0['AUFgn'],_0x1818e0['hCdaz'],'pwd',_0x1818e0[_0x34bb0d(0x1a5)],_0x1818e0[_0x34bb0d(0x144)],_0x1818e0[_0x34bb0d(0x11b)],'api_key',_0x1818e0[_0x34bb0d(0x154)],'creditcard','credit_card',_0x34bb0d(0x11f),_0x34bb0d(0x1ae),_0x1818e0['VQJNe'],_0x1818e0[_0x34bb0d(0x138)],'privatekey',_0x1818e0[_0x34bb0d(0x193)],'access_token'],_0x5e5fe3=Array[_0x34bb0d(0x130)](_0xded90d)?[..._0xded90d]:{..._0xded90d};for(const _0x297264 of Object['keys'](_0x5e5fe3)){const _0x38305f=_0x297264[_0x34bb0d(0x156)]();if(_0x4517c2['some'](_0x268c1b=>_0x38305f[_0x34bb0d(0x1a4)](_0x268c1b)))_0x5e5fe3[_0x297264]=_0x1818e0['twbUp'];else typeof _0x5e5fe3[_0x297264]===_0x1818e0[_0x34bb0d(0x1bd)]&&_0x5e5fe3[_0x297264]!==null&&(_0x5e5fe3[_0x297264]=redactObject(_0x5e5fe3[_0x297264]));}return _0x5e5fe3;},logError=(_0xc92ee0,_0x5595dd={},_0x26833e=null)=>{const _0x329959=a0_0x3096f5,_0x4c109a={'bZyTX':_0x329959(0x15e),'vCRgr':'Error'},_0x236eab={'event':_0x4c109a[_0x329959(0x1a9)],'errorName':_0xc92ee0[_0x329959(0x1af)]||_0x4c109a[_0x329959(0x1c1)],'errorMessage':_0xc92ee0['message'],'errorCode':_0xc92ee0['code']||null,'stack':_0xc92ee0['stack'],..._0x5595dd},_0x20fb9=_0x26833e||'Error:\x20'+_0xc92ee0['message'];logger['error'](_0x236eab,_0x20fb9),writeToFileLog({..._0x236eab,'level':'error','msg':_0x20fb9,'time':new Date()[_0x329959(0x171)]()},_0x4c109a[_0x329959(0x1a9)]);},logFatalError=(_0x27bcf0,_0x35628f={},_0x419a85=null)=>{const _0x55aaa6=a0_0x3096f5,_0x5ea884={'olAOl':_0x55aaa6(0x1c7),'zfCZs':function(_0x44b327,_0x26c31a,_0xe60448){return _0x44b327(_0x26c31a,_0xe60448);},'EqgAq':'error'},_0x4134c5={'event':_0x55aaa6(0x129),'errorName':_0x27bcf0['name']||'Error','errorMessage':_0x27bcf0['message'],'errorCode':_0x27bcf0[_0x55aaa6(0x1b7)]||null,'stack':_0x27bcf0[_0x55aaa6(0x14b)],'severity':_0x5ea884['olAOl'],..._0x35628f},_0x4b9d42=_0x419a85||'FATAL:\x20'+_0x27bcf0['message'];logger[_0x55aaa6(0x1be)](_0x4134c5,_0x4b9d42),_0x5ea884['zfCZs'](writeToFileLog,{..._0x4134c5,'level':'fatal','msg':_0x4b9d42,'time':new Date()[_0x55aaa6(0x171)]()},_0x5ea884[_0x55aaa6(0x145)]);},logHttpError=(_0x2fe8e4,_0x4a7814,_0x63d2e8={})=>{const _0x37a8a2=a0_0x3096f5,_0x4a7f2e={'MzYpc':'http_error','CUNNG':_0x37a8a2(0x143),'rYWSA':'user-agent','lBHmX':'x-request-id','RULVU':function(_0x24c6dc,_0x625cb0){return _0x24c6dc(_0x625cb0);},'Vrjrv':function(_0x3ef969,_0x340e93,_0x5b689b){return _0x3ef969(_0x340e93,_0x5b689b);},'XXyaA':'error','FPYuC':'warn'},_0x1f3793={'event':_0x4a7f2e[_0x37a8a2(0x18b)],'errorName':_0x2fe8e4['name']||_0x4a7f2e[_0x37a8a2(0x123)],'errorMessage':_0x2fe8e4[_0x37a8a2(0x1c4)],'errorCode':_0x2fe8e4[_0x37a8a2(0x1b7)]||_0x2fe8e4['statusCode']||0x1f4,'stack':_0x2fe8e4[_0x37a8a2(0x14b)],'method':_0x4a7814?.[_0x37a8a2(0x14f)],'url':_0x4a7814?.[_0x37a8a2(0x139)]||_0x4a7814?.['originalUrl'],'path':_0x4a7814?.[_0x37a8a2(0x17d)],'ip':_0x4a7814?.['ip']||_0x4a7814?.['connection']?.[_0x37a8a2(0x115)],'userAgent':_0x4a7814?.['get']?.(_0x4a7f2e['rYWSA']),'requestId':_0x4a7814?.['id']||_0x4a7814?.['headers']?.[_0x4a7f2e[_0x37a8a2(0x180)]],'body':_0x4a7814?.[_0x37a8a2(0x1a8)]?_0x4a7f2e[_0x37a8a2(0x1c3)](redactObject,_0x4a7814[_0x37a8a2(0x1a8)]):undefined,'query':_0x4a7814?.['query'],..._0x63d2e8},_0x15d856=_0x2fe8e4[_0x37a8a2(0x1b0)]||_0x2fe8e4[_0x37a8a2(0x1a7)]||0x1f4,_0x21246a='HTTP\x20'+_0x15d856+':\x20'+_0x2fe8e4['message'];_0x15d856>=0x1f4?logger['error'](_0x1f3793,_0x21246a):logger[_0x37a8a2(0x174)](_0x1f3793,_0x21246a),_0x4a7f2e[_0x37a8a2(0x10b)](writeToFileLog,{..._0x1f3793,'level':_0x15d856>=0x1f4?_0x4a7f2e['XXyaA']:_0x4a7f2e[_0x37a8a2(0x1a0)],'msg':_0x21246a,'time':new Date()['toISOString']()},_0x15d856>=0x1f4?_0x4a7f2e[_0x37a8a2(0x124)]:'warn');},logUncaughtError=(_0x2c0918,_0x53d56e)=>{const _0x456df9=a0_0x3096f5,_0x5767a8={'yEnrQ':function(_0x10d449,_0x2d4292){return _0x10d449(_0x2d4292);},'AIguf':_0x456df9(0x1c7),'cdwaI':function(_0x458117,_0xc75cdb,_0x4a1b96){return _0x458117(_0xc75cdb,_0x4a1b96);},'FxbSm':_0x456df9(0x15e)},_0xcab78f={'event':_0x2c0918,'errorName':_0x53d56e?.['name']||'Error','errorMessage':_0x53d56e?.['message']||_0x5767a8['yEnrQ'](String,_0x53d56e),'errorCode':_0x53d56e?.['code']||null,'stack':_0x53d56e?.[_0x456df9(0x14b)],'severity':_0x5767a8['AIguf'],'processId':process[_0x456df9(0x13f)],'memoryUsage':process['memoryUsage'](),'uptime':process[_0x456df9(0x1b4)]()},_0x3c67f8='['+_0x2c0918['toUpperCase']()+']\x20'+(_0x53d56e?.['message']||_0x53d56e);logger[_0x456df9(0x1be)](_0xcab78f,_0x3c67f8),_0x5767a8['cdwaI'](writeToFileLog,{..._0xcab78f,'level':_0x456df9(0x1be),'msg':_0x3c67f8,'time':new Date()['toISOString']()},_0x5767a8[_0x456df9(0x11e)]);},setupGlobalErrorHandlers=()=>{const _0x59bf8c=a0_0x3096f5,_0x2d1b80={'OsJtn':function(_0x4c0f0e,_0x42ea58,_0x35143e){return _0x4c0f0e(_0x42ea58,_0x35143e);},'eMEHm':function(_0x1c3a95,_0x1ca2a3){return _0x1c3a95 instanceof _0x1ca2a3;},'NYTIm':function(_0x198059,_0x1a5f1f){return _0x198059(_0x1a5f1f);},'izneQ':_0x59bf8c(0x192),'dhYYb':'process_warning','uJrwL':'uncaughtException','pkFNx':_0x59bf8c(0x151),'ZWWww':'global_error_handlers_setup','UugAr':function(_0x546e34,_0x49fe3a,_0x18c3e0){return _0x546e34(_0x49fe3a,_0x18c3e0);},'VhRZD':'info'};process['on'](_0x2d1b80['uJrwL'],_0x3aca06=>{const _0x2058ac=_0x59bf8c;logUncaughtError(_0x2058ac(0x19c),_0x3aca06),_0x2d1b80['OsJtn'](setTimeout,()=>{const _0x4b9578=_0x2058ac;process[_0x4b9578(0x158)](0x1);},0x3e8);}),process['on'](_0x2d1b80[_0x59bf8c(0x1bf)],(_0x5df95f,_0xaa07ea)=>{const _0x1112d0=_0x59bf8c,_0x4b71b5=_0x2d1b80['eMEHm'](_0x5df95f,Error)?_0x5df95f:new Error(_0x2d1b80['NYTIm'](String,_0x5df95f));_0x2d1b80[_0x1112d0(0x191)](logUncaughtError,_0x2d1b80['izneQ'],_0x4b71b5);}),process['on'](_0x2d1b80[_0x59bf8c(0x165)],_0x4b8389=>{const _0x2626f1=_0x59bf8c;logger['warn']({'event':_0x2d1b80['dhYYb'],'name':_0x4b8389['name'],'message':_0x4b8389['message'],'stack':_0x4b8389['stack']},_0x2626f1(0x159)+_0x4b8389['message']);});const _0x46834c={'event':_0x2d1b80[_0x59bf8c(0x10f)]},_0x1a3a77=_0x59bf8c(0x10c);logger[_0x59bf8c(0x1b9)](_0x46834c,_0x1a3a77),_0x2d1b80['UugAr'](writeToFileLog,{..._0x46834c,'level':_0x59bf8c(0x1b9),'msg':_0x1a3a77,'time':new Date()[_0x59bf8c(0x171)]()},_0x2d1b80[_0x59bf8c(0x17e)]);},createErrorHandlerMiddleware=()=>{const _0x205a40={'Coaln':function(_0x26d837,_0x3d2f6c,_0x45e3af){return _0x26d837(_0x3d2f6c,_0x45e3af);},'pOQvP':function(_0x707909,_0x23d4fe){return _0x707909>=_0x23d4fe;}};return(_0x5d8be8,_0x19305f,_0x177a0b,_0x3bab63)=>{const _0x478e69=a0_0x261a;_0x205a40[_0x478e69(0x12b)](logHttpError,_0x5d8be8,_0x19305f);const _0x53f6da=_0x5d8be8['statusCode']||_0x5d8be8['status']||0x1f4;_0x177a0b['status'](_0x53f6da)[_0x478e69(0x16c)]({'success':![],'error':_0x205a40[_0x478e69(0x153)](_0x53f6da,0x1f4)?'Internal\x20server\x20error':_0x5d8be8['message'],'requestId':_0x19305f['id']||_0x19305f['headers']?.['x-request-id']||null});};};module[a0_0x3096f5(0x168)]={'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_0x398dd7=a0_0x2d54;(function(_0x47650f,_0x592fa1){const _0x10f363=a0_0x2d54,_0x442617=_0x47650f();while(!![]){try{const _0xba9a99=parseInt(_0x10f363(0x123))/0x1*(-parseInt(_0x10f363(0x12e))/0x2)+-parseInt(_0x10f363(0x122))/0x3+-parseInt(_0x10f363(0x134))/0x4+-parseInt(_0x10f363(0x13a))/0x5*(-parseInt(_0x10f363(0x11e))/0x6)+parseInt(_0x10f363(0x120))/0x7*(parseInt(_0x10f363(0x137))/0x8)+parseInt(_0x10f363(0x145))/0x9*(-parseInt(_0x10f363(0x135))/0xa)+parseInt(_0x10f363(0x12f))/0xb;if(_0xba9a99===_0x592fa1)break;else _0x442617['push'](_0x442617['shift']());}catch(_0x524fcf){_0x442617['push'](_0x442617['shift']());}}}(a0_0x480c,0x6042c));function a0_0x480c(){const _0x152628=['BwfW','ywrK','Aw5MBW','zfzOrKi','mZa5mte0q0nRsMzZ','ChvZAa','ndu2nZK5EuHxEwrs','A2v5CW','mtyXmtmYn3b2zwvzrW','mK1nAgfQtG','zgvIDwC','iezst00G','BgvUz3rO','y2XLyxjdywnOzq','zM9YrwfJAa','v1DZCKq','DMfSAwrHDgvmB29RDxbwywX1zxm','BxLZCwW','zeP6B3G','C2v0','ntK3ndC0rfzrAhbN','mtKZnZC2mJjeBMHgtKW','yM1ir3O','Dg9vChbLCKnHC2u','lI9KyG','iIbUB3qGzM91BMqGAw4G','mJqXnZeZmNrzvxfHqq','mta5mJK0mhzQshPdBa','z2v0','ndbXDhbADgW','Bg9VA3vWx3rHyMXLx2XVywrLza','C2XPy2u','mtvwvwrZseK','Dg9mB3DLCKnHC2u','zw50CMLLCW','Bg9VA3vWq2fJAgu','AgfZ','CMvZB2X2zuXVB2T1CfzHBhvL','zxHLy3v0zvf1zxj5','qvHyv0C','DhjPBq','z2v0rgLZDgLUy3rwywX1zxm','ChjVy2vZC0XVB2T1CezPzwXKCW','ovLWy2DXsW','B3jHy2XL','DwXLsM0'];a0_0x480c=function(){return _0x152628;};return a0_0x480c();}const dbType=(process['env']['DB_TYPE']||'postgresql')['toLowerCase']();let executeQuery;if(dbType===a0_0x398dd7(0x146)){const oracleDb=require('./db-oracle');executeQuery=(_0x1c3cd6,_0x480d51)=>oracleDb[a0_0x398dd7(0x140)](_0x1c3cd6,_0x480d51);}else{if(dbType===a0_0x398dd7(0x12b)){const mysqlDb=require('./db-mysql');executeQuery=(_0x427561,_0x9b8072)=>mysqlDb['executeQuery'](_0x427561,_0x9b8072);}else executeQuery=require(a0_0x398dd7(0x132))['executeQuery'];}function a0_0x2d54(_0x5af3d4,_0x4b0ba6){_0x5af3d4=_0x5af3d4-0x119;const _0x480cc2=a0_0x480c();let _0x2d54c4=_0x480cc2[_0x5af3d4];if(a0_0x2d54['ObBAzt']===undefined){var _0x5cea07=function(_0x12f1ab){const _0x4df29e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x408423='',_0x1e6ed8='';for(let _0x168650=0x0,_0x59bca6,_0x32534a,_0x9bceae=0x0;_0x32534a=_0x12f1ab['charAt'](_0x9bceae++);~_0x32534a&&(_0x59bca6=_0x168650%0x4?_0x59bca6*0x40+_0x32534a:_0x32534a,_0x168650++%0x4)?_0x408423+=String['fromCharCode'](0xff&_0x59bca6>>(-0x2*_0x168650&0x6)):0x0){_0x32534a=_0x4df29e['indexOf'](_0x32534a);}for(let _0x26897a=0x0,_0x1ddfe3=_0x408423['length'];_0x26897a<_0x1ddfe3;_0x26897a++){_0x1e6ed8+='%'+('00'+_0x408423['charCodeAt'](_0x26897a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1e6ed8);};a0_0x2d54['SYOrlR']=_0x5cea07,a0_0x2d54['lLEiVF']={},a0_0x2d54['ObBAzt']=!![];}const _0x565d42=_0x480cc2[0x0],_0x34b20a=_0x5af3d4+_0x565d42,_0x5777c2=a0_0x2d54['lLEiVF'][_0x34b20a];return!_0x5777c2?(_0x2d54c4=a0_0x2d54['SYOrlR'](_0x2d54c4),a0_0x2d54['lLEiVF'][_0x34b20a]=_0x2d54c4):_0x2d54c4=_0x5777c2,_0x2d54c4;}const {logger}=require('./logger');class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x398dd7(0x127)](){const _0x11a0fd=a0_0x398dd7,_0x1ad264={'Xpusp':'lookup_cache_cleared','bmHGz':'Lookup\x20cache\x20cleared'};this[_0x11a0fd(0x13d)]['clear'](),logger[_0x11a0fd(0x124)]({'event':_0x1ad264['Xpusp']},_0x1ad264[_0x11a0fd(0x130)]);}async['loadLookupTable'](_0x2d9812,_0x2093d2,_0x57f452){const _0xcc4937=a0_0x398dd7,_0x5f5aed={'NdUrE':function(_0x30c646,_0x125de6){return _0x30c646(_0x125de6);}},_0x58d328=_0x2d9812+':'+_0x2093d2+':'+_0x57f452;if(this[_0xcc4937(0x13d)]['has'](_0x58d328))return this[_0xcc4937(0x13d)][_0xcc4937(0x136)](_0x58d328);try{const _0x196bce='SELECT\x20'+_0x57f452+',\x20'+_0x2093d2+_0xcc4937(0x125)+_0x2d9812,_0x23d9a4=await executeQuery(_0x196bce),_0x642b61=new Map();return _0x23d9a4[_0xcc4937(0x128)](_0x5c5c41=>{const _0xccbfe5=_0xcc4937,_0x3b8596=_0x5c5c41[_0x2093d2]!==undefined?_0x5c5c41[_0x2093d2]:_0x5c5c41[_0x2093d2[_0xccbfe5(0x131)]()],_0x4c508f=_0x5c5c41[_0x57f452]!==undefined?_0x5c5c41[_0x57f452]:_0x5c5c41[_0x57f452[_0xccbfe5(0x131)]()];_0x3b8596!==null&&_0x3b8596!==undefined&&(_0x642b61[_0xccbfe5(0x12d)](_0x5f5aed['NdUrE'](String,_0x3b8596)[_0xccbfe5(0x13b)]()[_0xccbfe5(0x142)](),_0x4c508f),_0x642b61[_0xccbfe5(0x12d)](String(_0x3b8596)[_0xccbfe5(0x142)](),_0x4c508f));}),this['lookupCache'][_0xcc4937(0x12d)](_0x58d328,_0x642b61),logger[_0xcc4937(0x11c)]({'event':_0xcc4937(0x138),'table':_0x2d9812,'column':_0x2093d2,'count':_0x23d9a4['length']},'Lookup\x20table\x20loaded:\x20'+_0x2d9812),_0x642b61;}catch(_0x651684){logger['error']({'event':'lookup_table_load_error','table':_0x2d9812,'error':_0x651684['message']},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x2d9812);throw _0x651684;}}['resolveLookupValue'](_0x19d5b5,_0x150b5b){const _0x1f5c85=a0_0x398dd7,_0x4de534={'BPJZj':function(_0x275fe9,_0x13a2d4){return _0x275fe9===_0x13a2d4;}};if(_0x4de534['BPJZj'](_0x19d5b5,null)||_0x19d5b5===undefined||_0x4de534['BPJZj'](_0x19d5b5,''))return null;const _0x47f159=String(_0x19d5b5)[_0x1f5c85(0x142)]();if(_0x150b5b[_0x1f5c85(0x13e)](_0x47f159))return _0x150b5b['get'](_0x47f159);const _0x389b5d=_0x47f159['toLowerCase']();if(_0x150b5b['has'](_0x389b5d))return _0x150b5b[_0x1f5c85(0x136)](_0x389b5d);return null;}async[a0_0x398dd7(0x144)](_0x4aa06e,_0x3090e7){const _0x2481af=a0_0x398dd7,_0x13e4f1={'dJzox':function(_0x5c6c22,_0x5e0ae8){return _0x5c6c22===_0x5e0ae8;},'ZBLfr':'lookup_fields_processed','dVhFB':'Lookup\x20fields\x20processed'};if(!_0x3090e7||Object['keys'](_0x3090e7)[_0x2481af(0x126)]===0x0)return{'processedRows':_0x4aa06e,'errors':[]};const _0x37856d=[],_0x5ee0de=new Map();for(const [_0x389d35,_0x5c773d]of Object['entries'](_0x3090e7)){const {lookupTable:_0x361bbd,lookupColumn:_0x5b7ac2,lookupIdColumn:_0x2337bd}=_0x5c773d,_0x2e2be9=_0x361bbd+':'+_0x5b7ac2+':'+_0x2337bd;if(!_0x5ee0de['has'](_0x2e2be9)){const _0x2392b8=await this['loadLookupTable'](_0x361bbd,_0x5b7ac2,_0x2337bd);_0x5ee0de[_0x2481af(0x12d)](_0x2e2be9,_0x2392b8);}}const _0x38f8b1=_0x4aa06e[_0x2481af(0x11a)]((_0x1d6284,_0x2dd6e7)=>{const _0x3e523e=_0x2481af,_0x1b46ae={..._0x1d6284};for(const [_0x3061bc,_0x30362c]of Object[_0x3e523e(0x13c)](_0x3090e7)){const {lookupTable:_0x28527e,lookupColumn:_0x194699,lookupIdColumn:_0x51b6c8,targetField:_0x4300e0,required:_0x216d4c}=_0x30362c,_0x233499=_0x28527e+':'+_0x194699+':'+_0x51b6c8,_0x4276bd=_0x5ee0de['get'](_0x233499),_0x251813=_0x1d6284[_0x3061bc];if((_0x251813===null||_0x13e4f1[_0x3e523e(0x12c)](_0x251813,undefined)||_0x13e4f1['dJzox'](_0x251813,''))&&!_0x216d4c){_0x1b46ae[_0x4300e0]=null;continue;}const _0x25d047=this[_0x3e523e(0x13f)](_0x251813,_0x4276bd);_0x25d047!==null?_0x1b46ae[_0x4300e0]=_0x25d047:(_0x216d4c&&_0x37856d[_0x3e523e(0x11f)]({'rowIndex':_0x2dd6e7,'field':_0x3061bc,'value':_0x251813,'targetField':_0x4300e0,'lookupTable':_0x28527e,'message':'Value\x20\x22'+_0x251813+_0x3e523e(0x133)+_0x28527e}),_0x1b46ae[_0x4300e0]=null);}return _0x1b46ae;});return logger[_0x2481af(0x11c)]({'event':_0x13e4f1['ZBLfr'],'totalRows':_0x4aa06e['length'],'errorCount':_0x37856d['length'],'lookupFieldCount':Object[_0x2481af(0x121)](_0x3090e7)[_0x2481af(0x126)]},_0x13e4f1[_0x2481af(0x11d)]),{'processedRows':_0x38f8b1,'errors':_0x37856d};}[a0_0x398dd7(0x143)](_0x24d369,_0x5136f7){const _0x43b63f={'AXXWG':function(_0x4dcf0e,_0x4bf16b){return _0x4dcf0e!==_0x4bf16b;},'WWsrD':function(_0x2ecf73,_0x397e81){return _0x2ecf73(_0x397e81);}},_0x373f45=new Set();return _0x24d369['forEach'](_0x1cc420=>{const _0x147cc1=a0_0x2d54,_0x570d35=_0x1cc420[_0x5136f7];_0x570d35!==null&&_0x43b63f[_0x147cc1(0x141)](_0x570d35,undefined)&&_0x570d35!==''&&_0x373f45[_0x147cc1(0x11b)](_0x43b63f[_0x147cc1(0x129)](String,_0x570d35)[_0x147cc1(0x142)]());}),Array['from'](_0x373f45);}async[a0_0x398dd7(0x12a)](_0x11750a,_0x4fbba0){const _0x511227=a0_0x398dd7,_0x2a299d={'fBhRo':function(_0xe42210,_0x8e8853){return _0xe42210===_0x8e8853;},'uleJm':function(_0x543773,_0x437297){return _0x543773>_0x437297;}};if(!_0x4fbba0||_0x2a299d['fBhRo'](Object[_0x511227(0x121)](_0x4fbba0)['length'],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x322dfc=[],_0x5a7f45={};for(const [_0x2de6dd,_0x413951]of Object['entries'](_0x4fbba0)){const {lookupTable:_0x34d671,lookupColumn:_0x555bc6,lookupIdColumn:_0x1d3adf,required:_0x1c0156}=_0x413951,_0x2ed9c4=this[_0x511227(0x143)](_0x11750a,_0x2de6dd),_0x1813ab=await this['loadLookupTable'](_0x34d671,_0x555bc6,_0x1d3adf),_0xe066d7=[],_0x249775=[];_0x2ed9c4['forEach'](_0x12c3a4=>{const _0x53874f=_0x511227,_0x5437cf=this['resolveLookupValue'](_0x12c3a4,_0x1813ab);_0x5437cf!==null?_0x249775[_0x53874f(0x11f)](_0x12c3a4):_0xe066d7[_0x53874f(0x11f)](_0x12c3a4);});if(_0x2a299d[_0x511227(0x119)](_0xe066d7[_0x511227(0x126)],0x0)&&_0x1c0156){_0x322dfc[_0x511227(0x11f)]({'field':_0x2de6dd,'lookupTable':_0x34d671,'invalidValues':_0xe066d7,'message':_0xe066d7['length']+'\x20value(s)\x20not\x20found\x20in\x20'+_0x34d671});const _0xb69cc9=[];_0x1813ab['forEach']((_0x1e3db2,_0x13bd7e)=>{const _0x1a57a2=_0x511227;if(_0x13bd7e===_0x13bd7e[_0x1a57a2(0x13b)]())return;_0xb69cc9['push'](_0x13bd7e);}),_0x5a7f45[_0x2de6dd]={'invalidValues':_0xe066d7,'availableValues':_0xb69cc9[_0x511227(0x139)](0x0,0x32)};}}return{'valid':_0x322dfc['length']===0x0,'errors':_0x322dfc,'suggestions':_0x5a7f45};}}module['exports']=new LookupResolver();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a0_0x4c3a(_0x480426,_0x36cdc9){_0x480426=_0x480426-0x1e6;const _0xd5a7f8=a0_0xd5a7();let _0x4c3abf=_0xd5a7f8[_0x480426];if(a0_0x4c3a['wQKcRj']===undefined){var _0xe39724=function(_0x309813){const _0x38257a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x79854='',_0x17107e='';for(let _0x2f36e9=0x0,_0x4ba9c1,_0x397cf4,_0x51d99e=0x0;_0x397cf4=_0x309813['charAt'](_0x51d99e++);~_0x397cf4&&(_0x4ba9c1=_0x2f36e9%0x4?_0x4ba9c1*0x40+_0x397cf4:_0x397cf4,_0x2f36e9++%0x4)?_0x79854+=String['fromCharCode'](0xff&_0x4ba9c1>>(-0x2*_0x2f36e9&0x6)):0x0){_0x397cf4=_0x38257a['indexOf'](_0x397cf4);}for(let _0x332d84=0x0,_0x3e6fc0=_0x79854['length'];_0x332d84<_0x3e6fc0;_0x332d84++){_0x17107e+='%'+('00'+_0x79854['charCodeAt'](_0x332d84)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x17107e);};a0_0x4c3a['CtnmEo']=_0xe39724,a0_0x4c3a['IhrhOA']={},a0_0x4c3a['wQKcRj']=!![];}const _0x559c3b=_0xd5a7f8[0x0],_0x305a4d=_0x480426+_0x559c3b,_0x490282=a0_0x4c3a['IhrhOA'][_0x305a4d];return!_0x490282?(_0x4c3abf=a0_0x4c3a['CtnmEo'](_0x4c3abf),a0_0x4c3a['IhrhOA'][_0x305a4d]=_0x4c3abf):_0x4c3abf=_0x490282,_0x4c3abf;}const a0_0x59e42e=a0_0x4c3a;(function(_0x1ce0a2,_0x52f7d1){const _0x2fff43=a0_0x4c3a,_0x515792=_0x1ce0a2();while(!![]){try{const _0x452cc2=parseInt(_0x2fff43(0x208))/0x1+-parseInt(_0x2fff43(0x20a))/0x2+-parseInt(_0x2fff43(0x210))/0x3*(-parseInt(_0x2fff43(0x1fc))/0x4)+parseInt(_0x2fff43(0x1f5))/0x5+parseInt(_0x2fff43(0x1f8))/0x6*(parseInt(_0x2fff43(0x20b))/0x7)+-parseInt(_0x2fff43(0x206))/0x8+-parseInt(_0x2fff43(0x1ff))/0x9;if(_0x452cc2===_0x52f7d1)break;else _0x515792['push'](_0x515792['shift']());}catch(_0x55fda5){_0x515792['push'](_0x515792['shift']());}}}(a0_0xd5a7,0x95a91));const fs=require('fs')[a0_0x59e42e(0x1f3)],path=require(a0_0x59e42e(0x1ed)),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x1e8f21=a0_0x59e42e;this['payloadDir']=path[_0x1e8f21(0x1f6)](__dirname,'../../payload'),this['cache']=new Map();}async[a0_0x59e42e(0x209)](_0x18b746,_0x29cc39){const _0x512bd3=a0_0x59e42e,_0x3c192f={'lOxQR':_0x512bd3(0x1ef),'eiRxK':_0x512bd3(0x1e6),'FIMDY':'payload_load_error','wWwMI':'Failed\x20to\x20load\x20payload'},_0x2f968a=_0x18b746+':'+_0x29cc39;if(this[_0x512bd3(0x207)]['has'](_0x2f968a))return this['cache']['get'](_0x2f968a);const _0x5bf3e9=path['join'](this['payloadDir'],_0x18b746+'_'+_0x29cc39+_0x512bd3(0x205));try{const _0x31d5f8=await fs[_0x512bd3(0x1fa)](_0x5bf3e9,_0x3c192f[_0x512bd3(0x211)]),_0x5a9319=JSON[_0x512bd3(0x1f1)](_0x31d5f8);return this['cache']['set'](_0x2f968a,_0x5a9319),logger['debug']({'event':_0x3c192f['eiRxK'],'project':_0x18b746,'resource':_0x29cc39},_0x512bd3(0x1fe)),_0x5a9319;}catch(_0x49a4c3){logger['error']({'event':_0x3c192f['FIMDY'],'project':_0x18b746,'resource':_0x29cc39,'error':_0x49a4c3[_0x512bd3(0x20e)]},_0x3c192f[_0x512bd3(0x1ee)]);throw new Error('Payload\x20not\x20found:\x20'+_0x18b746+'_'+_0x29cc39);}}async[a0_0x59e42e(0x201)](_0x592c48){const _0x17741c=a0_0x59e42e,_0x35344c={'Knjgv':'Payload\x20loaded\x20successfully\x20by\x20name','NzQIB':_0x17741c(0x1e9)},_0x568bf8=_0x17741c(0x1e8)+_0x592c48;if(this[_0x17741c(0x207)][_0x17741c(0x202)](_0x568bf8))return this[_0x17741c(0x207)][_0x17741c(0x1ec)](_0x568bf8);const _0x216478=path['join'](this['payloadDir'],_0x592c48+'.json');try{const _0x246dfb=await fs['readFile'](_0x216478,_0x17741c(0x1ef)),_0x53cd57=JSON['parse'](_0x246dfb);return this['cache'][_0x17741c(0x1f4)](_0x568bf8,_0x53cd57),logger[_0x17741c(0x1f2)]({'event':'payload_loaded','payloadName':_0x592c48},_0x35344c['Knjgv']),_0x53cd57;}catch(_0x22cd3a){logger['error']({'event':_0x17741c(0x20f),'payloadName':_0x592c48,'error':_0x22cd3a['message']},_0x35344c['NzQIB']);throw new Error(_0x17741c(0x1eb)+_0x592c48);}}[a0_0x59e42e(0x1fb)](_0x3b278c,_0x37f981){const _0x1df400=a0_0x59e42e;return _0x3b278c[_0x1df400(0x1ea)]&&_0x3b278c['action'][_0x37f981]===!![];}[a0_0x59e42e(0x1f7)](_0x36b3e6){const _0x32ab86=a0_0x59e42e;return{'columns':_0x36b3e6[_0x32ab86(0x1f9)]||[],'filename':_0x36b3e6['tableName'][_0x32ab86(0x20d)]('.','-')+_0x32ab86(0x200),'datatablesQuery':_0x36b3e6['datatablesQuery']||null,'columnFormats':_0x36b3e6['columnFormats']||null,'fieldLabels':_0x36b3e6['fieldLabels']||null};}[a0_0x59e42e(0x1fd)](){const _0xcc2f56=a0_0x59e42e,_0x1c5035={'xhIZL':_0xcc2f56(0x20c)};this['cache'][_0xcc2f56(0x1f0)](),logger['info']({'event':_0xcc2f56(0x1e7)},_0x1c5035[_0xcc2f56(0x204)]);}}function a0_0xd5a7(){const _0x3aa4d2=['nde2nZbMtLPhz3e','zMLLBgroyw1L','CMvHzezPBgu','Axnby3rPB25fBMfIBgvK','ntm2BgniCunj','y2XLyxjdywnOzq','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','mtu1ota0m2Xtyxr4Dq','lwv4Cg9YDa','Bg9HzfbHEwXVywrcEu5HBwu','AgfZ','zxHWB3j0CW','EgHjwKW','lMPZB24','ndyZndK0ng5iyw9MwG','y2fJAgu','nZKZmde2v1bpuMnq','Bg9HzfbHEwXVywq','mtK5mJe4ohbWuNDItW','nJaYvw9ts25R','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','CMvWBgfJzq','BwvZC2fNzq','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','mtCWntHdEgTyEMG','Be94uvi','Cgf5Bg9Hzf9SB2fKzwq','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','Cgf5Bg9HzdO','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','ywn0Aw9U','ugf5Bg9HzcbUB3qGzM91BMq6ia','z2v0','Cgf0Aa','D1D3tuK','DxrMoa','y2XLyxi','CgfYC2u','zgvIDwC','ChjVBwLZzxm','C2v0','mta0nZq0mhPpAhnksq','AM9PBG','z2v0rxHWB3j0q29UzMLN'];a0_0xd5a7=function(){return _0x3aa4d2;};return a0_0xd5a7();}module[a0_0x59e42e(0x203)]=new PayloadLoader();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x12831a,_0x491cab){var _0x571ea9=a0_0xa20c,_0x49c25c=_0x12831a();while(!![]){try{var _0x51b62a=-parseInt(_0x571ea9(0x1af))/0x1+parseInt(_0x571ea9(0x1a8))/0x2+-parseInt(_0x571ea9(0x1ab))/0x3+-parseInt(_0x571ea9(0x1ae))/0x4+-parseInt(_0x571ea9(0x1a7))/0x5+-parseInt(_0x571ea9(0x1ac))/0x6*(-parseInt(_0x571ea9(0x1aa))/0x7)+parseInt(_0x571ea9(0x1a9))/0x8;if(_0x51b62a===_0x491cab)break;else _0x49c25c['push'](_0x49c25c['shift']());}catch(_0x5187c7){_0x49c25c['push'](_0x49c25c['shift']());}}}(a0_0x18f1,0x8c17f));function createResponse(_0x4441fc,_0x3b4388,_0x549a0e=null){var _0x10b5b7=a0_0xa20c;return{'success':!![],'statusCode':_0x4441fc,'message':_0x3b4388,'data':_0x549a0e,'timestamp':new Date()[_0x10b5b7(0x1ad)]()};}function createError(_0x54dea0,_0x57d9fa,_0x19b2e2=null){var _0xc953d3=a0_0xa20c;return{'success':![],'statusCode':_0x54dea0,'message':_0x57d9fa,'data':_0x19b2e2,'timestamp':new Date()[_0xc953d3(0x1ad)]()};}function a0_0x18f1(){var _0x3bbadf=['odK1ntG0zK5pr0jt','mZC2mdu3mfL6uMH1ta','mJuZndy0A1HcCxDo','mtK1mda5nJHnDgnKr2C','mtG5nJnICLrMte0','nduXmty3q0DeqMzo','ndaYs1f4t0D2','Dg9ju09tDhjPBMC','mtq5ntC4nhnVBwv5sq'];a0_0x18f1=function(){return _0x3bbadf;};return a0_0x18f1();}function createValidationError(_0x3a0e3a,_0x222201){var _0x5db0e3=a0_0xa20c;return{'success':![],'statusCode':0x190,'message':_0x3a0e3a,'data':{'errors':_0x222201},'timestamp':new Date()[_0x5db0e3(0x1ad)]()};}function a0_0xa20c(_0x2dabf0,_0x416db4){_0x2dabf0=_0x2dabf0-0x1a7;var _0x18f1c4=a0_0x18f1();var _0xa20cda=_0x18f1c4[_0x2dabf0];if(a0_0xa20c['cDddyq']===undefined){var _0x1e5583=function(_0x3906b6){var _0xfa3470='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0xb93d8a='',_0x5888a='';for(var _0x36055b=0x0,_0x2e1216,_0x112e17,_0x4c7390=0x0;_0x112e17=_0x3906b6['charAt'](_0x4c7390++);~_0x112e17&&(_0x2e1216=_0x36055b%0x4?_0x2e1216*0x40+_0x112e17:_0x112e17,_0x36055b++%0x4)?_0xb93d8a+=String['fromCharCode'](0xff&_0x2e1216>>(-0x2*_0x36055b&0x6)):0x0){_0x112e17=_0xfa3470['indexOf'](_0x112e17);}for(var _0x77dede=0x0,_0x5c095a=_0xb93d8a['length'];_0x77dede<_0x5c095a;_0x77dede++){_0x5888a+='%'+('00'+_0xb93d8a['charCodeAt'](_0x77dede)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5888a);};a0_0xa20c['GJlQdD']=_0x1e5583,a0_0xa20c['uycuDv']={},a0_0xa20c['cDddyq']=!![];}var _0x57f220=_0x18f1c4[0x0],_0x572d0b=_0x2dabf0+_0x57f220,_0x46dbb5=a0_0xa20c['uycuDv'][_0x572d0b];return!_0x46dbb5?(_0xa20cda=a0_0xa20c['GJlQdD'](_0xa20cda),a0_0xa20c['uycuDv'][_0x572d0b]=_0xa20cda):_0xa20cda=_0x46dbb5,_0xa20cda;}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
|
package/src/utils/rabbitmq.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0xee44e5=a0_0x184e;(function(_0x5aaf70,_0x38ea73){const _0xb7fe9=a0_0x184e,_0x1710ee=_0x5aaf70();while(!![]){try{const _0x333042=parseInt(_0xb7fe9(0x7e))/0x1+parseInt(_0xb7fe9(0x77))/0x2+-parseInt(_0xb7fe9(0x73))/0x3*(parseInt(_0xb7fe9(0x7d))/0x4)+parseInt(_0xb7fe9(0x72))/0x5+parseInt(_0xb7fe9(0x70))/0x6*(-parseInt(_0xb7fe9(0x9f))/0x7)+parseInt(_0xb7fe9(0x7c))/0x8+-parseInt(_0xb7fe9(0x80))/0x9;if(_0x333042===_0x38ea73)break;else _0x1710ee['push'](_0x1710ee['shift']());}catch(_0x4950a7){_0x1710ee['push'](_0x1710ee['shift']());}}}(a0_0x4746,0x3b540),require('dotenv')[a0_0xee44e5(0x9e)]());function a0_0x4746(){const _0x287a33=['BwvZC2fNzq','lI9KyxrLsgvSCgvY','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','y3jLyxrLq2HHBM5LBa','Bg9N','yw1XCgXPyG','CMv0CNKTzxHJAgfUz2u','xsbszxrYEsbLEgnOyw5NzsbJCMvHDgvKl3jLywr5','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','ignYzwf0zwqVCMvHzhK','zxjYB3i','y3jLyxrLzc9YzwfKEq','y2XVC2u','C1DfseS','y29UzMLN','mteYqK1mtLjw','ksbJCMvHDgvK','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','uKfcqKLutvfFrvHdsefor0u','yxnZzxj0rxHJAgfUz2u','u0DUB2m','mtaYmdu0v2PQDwXu','ihDPDgGGreXy','mtiXntaXnvHzq3zKBa','nKLKsLPxra','y29UBMvJDa','xsbszxrYEsbXDwv1zsa','uKfcqKLutvfFuvvfvuu','ota1otm2DMXRufbH','A1fsBLm','xsbfEgnOyw5Nzsa','vMf0ELK','B3HPr3a','mtGYodC1mKLAAg14vq','nZa5mJC2DgzsyKv5','odqYodf5sgLKv1C','xsbrDwv1zsa','mti1mtuWnfnhqLf4tW','Aw5LCxvPDMfSzw50igfYzW','CxvLDwu','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','Aw5JBhvKzxm','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','yMLUzff1zxvL','zxHPDa','ic0+ia','D2rzt1a','zM91BMq','DNzIz1i','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','CvHKtwG','zw52'];a0_0x4746=function(){return _0x287a33;};return a0_0x4746();}const amqp=require(a0_0xee44e5(0x95)),{formatDate}=require(a0_0xee44e5(0x91)),RABBITMQ_URL=process['env']['RABBITMQ_URL'],EXCHANGE=process[a0_0xee44e5(0x8f)][a0_0xee44e5(0x6d)],ROUTING_KEY=process['env']['RABBITMQ_ROUTING_KEY'],QUEUE=process['env'][a0_0xee44e5(0x76)];async function createConnection(){const _0x1b6c2a=a0_0xee44e5,_0x1ca51b={'SGnoc':function(_0x31f04f,_0x4024c6){return _0x31f04f(_0x4024c6);},'sWEHK':function(_0x3e5c03,_0x1b18d1){return _0x3e5c03(_0x1b18d1);}};try{const _0x19a2d1=await amqp[_0x1b6c2a(0x74)](RABBITMQ_URL);return console['log']('['+_0x1ca51b[_0x1b6c2a(0x6f)](formatDate,new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x19a2d1;}catch(_0x116be3){console['error']('['+_0x1ca51b[_0x1b6c2a(0x9d)](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x116be3['message']);throw _0x116be3;}}async function createChannel(_0x54cc2c){const _0x57c7cf=a0_0xee44e5,_0x3d9e21={'LrZFD':function(_0x138358,_0x20d7f0){return _0x138358(_0x20d7f0);}};try{const _0x30a4e5=await _0x54cc2c[_0x57c7cf(0x93)]();return console[_0x57c7cf(0x94)]('['+formatDate(new Date())+_0x57c7cf(0x8d)),_0x30a4e5;}catch(_0x5b5651){console['error']('['+_0x3d9e21['LrZFD'](formatDate,new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x5b5651['message']);throw _0x5b5651;}}async function setupInfrastructure(_0x2be9eb){const _0x4152d4=a0_0xee44e5,_0xc4beeb={'wdYOP':'direct','oxiGp':function(_0x449584,_0x43d318){return _0x449584(_0x43d318);},'kQRnS':function(_0x415cdb,_0x37902c){return _0x415cdb(_0x37902c);},'unpEW':function(_0x4eba19,_0x146981){return _0x4eba19(_0x146981);},'SYgyC':function(_0x326e55,_0x108d69){return _0x326e55===_0x108d69;},'iBpSJ':_0x4152d4(0x9b),'qXdMh':_0x4152d4(0x8b),'VatzY':'inequivalent\x20arg','vvbgR':_0x4152d4(0x86),'WytPW':function(_0x42f3e8,_0x2b6b2a){return _0x42f3e8(_0x2b6b2a);}};try{await _0x2be9eb[_0x4152d4(0x6e)](_0x4152d4(0x96),_0xc4beeb[_0x4152d4(0x8a)],{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+_0x4152d4(0x97));}catch(_0x36102c){console['error']('['+_0xc4beeb['oxiGp'](formatDate,new Date())+_0x4152d4(0xa1),_0x36102c[_0x4152d4(0x90)]);throw _0x36102c;}try{await _0x2be9eb['assertExchange'](EXCHANGE,'direct',{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+_0x4152d4(0x79)+EXCHANGE+_0x4152d4(0x99));}catch(_0x7b6cb9){console['error']('['+_0xc4beeb[_0x4152d4(0x7b)](formatDate,new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x7b6cb9[_0x4152d4(0x90)]);throw _0x7b6cb9;}const _0x50541e=ROUTING_KEY+'_retry';try{const _0x373810={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x2be9eb['assertQueue'](_0x50541e,_0x373810),console['log']('['+_0xc4beeb['oxiGp'](formatDate,new Date())+_0x4152d4(0x75)+_0x50541e+_0x4152d4(0x99)),await _0x2be9eb[_0x4152d4(0x87)](_0x50541e,'retry-exchange',ROUTING_KEY),console['log']('['+_0xc4beeb[_0x4152d4(0x78)](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+'\x20created');}catch(_0x4f2eed){console['error']('['+_0xc4beeb['unpEW'](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x4f2eed['message']);throw _0x4f2eed;}try{const _0x2b4d3d={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x4152d4(0x96),'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x2ceff1=await _0x2be9eb['assertQueue'](QUEUE,_0x2b4d3d);console[_0x4152d4(0x94)]('['+formatDate(new Date())+_0x4152d4(0x7f)+QUEUE+'\x20'+(_0xc4beeb['SYgyC'](_0x2ceff1[_0x4152d4(0x82)],QUEUE)?_0xc4beeb['iBpSJ']:_0xc4beeb[_0x4152d4(0x8e)])+_0x4152d4(0x71)),await _0x2be9eb['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x4152d4(0x94)]('['+_0xc4beeb['oxiGp'](formatDate,new Date())+']\x20Binding\x20'+EXCHANGE+_0x4152d4(0x89)+QUEUE+'\x20('+ROUTING_KEY+_0x4152d4(0xa0));}catch(_0x5c7fd1){if(_0x5c7fd1['message']['includes'](_0xc4beeb[_0x4152d4(0x7a)])&&_0x5c7fd1[_0x4152d4(0x90)]['includes'](_0xc4beeb[_0x4152d4(0x8c)]))console['error']('\x0a['+formatDate(new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+_0x4152d4(0x98)),console['error']('Queue\x20'+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console[_0x4152d4(0x9a)]('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process[_0x4152d4(0x88)](0x1);else{console[_0x4152d4(0x9a)]('['+formatDate(new Date())+_0x4152d4(0x92)+QUEUE+':',_0x5c7fd1['message']);throw _0x5c7fd1;}}}catch(_0x346052){if(!_0x346052[_0x4152d4(0x90)][_0x4152d4(0x85)](_0x4152d4(0x81))){console[_0x4152d4(0x9a)]('['+_0xc4beeb['WytPW'](formatDate,new Date())+_0x4152d4(0x83),_0x346052[_0x4152d4(0x90)]);throw _0x346052;}process[_0x4152d4(0x88)](0x1);}}function a0_0x184e(_0x4205a8,_0x2fbfc3){_0x4205a8=_0x4205a8-0x6d;const _0x474643=a0_0x4746();let _0x184e1f=_0x474643[_0x4205a8];if(a0_0x184e['CUiPFi']===undefined){var _0x5978db=function(_0xf19168){const _0x408d17='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1e5865='',_0x5ad63c='';for(let _0x1ef25c=0x0,_0x5f0bf0,_0x17c14f,_0x40398e=0x0;_0x17c14f=_0xf19168['charAt'](_0x40398e++);~_0x17c14f&&(_0x5f0bf0=_0x1ef25c%0x4?_0x5f0bf0*0x40+_0x17c14f:_0x17c14f,_0x1ef25c++%0x4)?_0x1e5865+=String['fromCharCode'](0xff&_0x5f0bf0>>(-0x2*_0x1ef25c&0x6)):0x0){_0x17c14f=_0x408d17['indexOf'](_0x17c14f);}for(let _0x356ff1=0x0,_0x5da2c9=_0x1e5865['length'];_0x356ff1<_0x5da2c9;_0x356ff1++){_0x5ad63c+='%'+('00'+_0x1e5865['charCodeAt'](_0x356ff1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5ad63c);};a0_0x184e['CYZMZi']=_0x5978db,a0_0x184e['OYpUaF']={},a0_0x184e['CUiPFi']=!![];}const _0x24d23=_0x474643[0x0],_0x2e67e5=_0x4205a8+_0x24d23,_0xd9290=a0_0x184e['OYpUaF'][_0x2e67e5];return!_0xd9290?(_0x184e1f=a0_0x184e['CYZMZi'](_0x184e1f),a0_0x184e['OYpUaF'][_0x2e67e5]=_0x184e1f):_0x184e1f=_0xd9290,_0x184e1f;}async function closeConnection(_0xd58ea6){const _0x24fff8=a0_0xee44e5,_0x10a78c={'SJZEb':function(_0x16e63b,_0x2e0837){return _0x16e63b(_0x2e0837);}};if(_0xd58ea6)try{await _0xd58ea6[_0x24fff8(0x9c)](),console['log']('['+_0x10a78c['SJZEb'](formatDate,new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x3058f0){console[_0x24fff8(0x9a)]('['+formatDate(new Date())+_0x24fff8(0x84)+_0x3058f0[_0x24fff8(0x90)]);}}module['exports']={'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_0x1aff19=a0_0x25cf;(function(_0x2360c7,_0x3f1f9f){const _0x5f0157=a0_0x25cf,_0x2f2e03=_0x2360c7();while(!![]){try{const _0x31d1aa=parseInt(_0x5f0157(0x161))/0x1*(-parseInt(_0x5f0157(0x158))/0x2)+-parseInt(_0x5f0157(0x147))/0x3+-parseInt(_0x5f0157(0x15a))/0x4+parseInt(_0x5f0157(0x15f))/0x5*(parseInt(_0x5f0157(0x15c))/0x6)+-parseInt(_0x5f0157(0x163))/0x7*(-parseInt(_0x5f0157(0x169))/0x8)+parseInt(_0x5f0157(0x151))/0x9*(parseInt(_0x5f0157(0x150))/0xa)+parseInt(_0x5f0157(0x16a))/0xb;if(_0x31d1aa===_0x3f1f9f)break;else _0x2f2e03['push'](_0x2f2e03['shift']());}catch(_0x9871cb){_0x2f2e03['push'](_0x2f2e03['shift']());}}}(a0_0x3437,0x4de4b));const Redis=require('ioredis'),{logger}=require('./logger');class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}['connect'](){const _0x3e8f91=a0_0x25cf,_0x1c279b={'kNQmO':function(_0x5e9034,_0x403091){return _0x5e9034*_0x403091;},'CgCpR':_0x3e8f91(0x14f),'JXMFu':_0x3e8f91(0x15e),'NaAHk':'redis_error','dPfvx':_0x3e8f91(0x164),'ZpiSr':function(_0xf8b253,_0x128082,_0x3cec45){return _0xf8b253(_0x128082,_0x3cec45);},'oxDCj':function(_0x5f13b8,_0x37ff16,_0xa501b4){return _0x5f13b8(_0x37ff16,_0xa501b4);},'dcKCo':_0x3e8f91(0x144),'Ablgw':_0x3e8f91(0x168),'MJHlf':'redis_init_error'};if(this['client'])return this['client'];try{return this['client']=new Redis({'host':process['env'][_0x3e8f91(0x148)]||'localhost','port':_0x1c279b[_0x3e8f91(0x166)](parseInt,process[_0x3e8f91(0x14a)][_0x3e8f91(0x14d)],0xa)||0x18ec,'password':process['env'][_0x3e8f91(0x154)]||undefined,'db':_0x1c279b[_0x3e8f91(0x156)](parseInt,process[_0x3e8f91(0x14a)]['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x56286f){const _0x4ff3f3=_0x3e8f91,_0x2aff06=Math[_0x4ff3f3(0x16b)](_0x1c279b['kNQmO'](_0x56286f,0x32),0x7d0);return _0x2aff06;}}),this['client']['on'](_0x1c279b[_0x3e8f91(0x157)],()=>{const _0x29c90a=_0x3e8f91;this[_0x29c90a(0x14e)]=!![],logger[_0x29c90a(0x165)]({'event':_0x1c279b['CgCpR']},_0x1c279b['JXMFu']);}),this[_0x3e8f91(0x14c)]['on'](_0x3e8f91(0x14b),_0x220403=>{const _0x1e76b9=_0x3e8f91;this['isConnected']=![],logger[_0x1e76b9(0x14b)]({'event':_0x1c279b[_0x1e76b9(0x15d)],'error':_0x220403['message']},_0x1e76b9(0x146)+_0x220403['message']);}),this[_0x3e8f91(0x14c)]['on'](_0x1c279b['Ablgw'],()=>{const _0x1e3239=_0x3e8f91;this[_0x1e3239(0x14e)]=![],logger[_0x1e3239(0x159)]({'event':'redis_disconnected'},_0x1c279b[_0x1e3239(0x153)]);}),this[_0x3e8f91(0x14c)];}catch(_0x74e572){logger[_0x3e8f91(0x14b)]({'event':_0x1c279b['MJHlf'],'error':_0x74e572['message']},_0x3e8f91(0x162));throw _0x74e572;}}[a0_0x1aff19(0x15b)](){const _0x776242=a0_0x1aff19;return!this['client']&&this[_0x776242(0x144)](),this[_0x776242(0x14c)];}async[a0_0x1aff19(0x145)](_0x55d44f=0x1388){const _0x326122=a0_0x1aff19,_0x2887a3={'MTVYj':function(_0x44daee,_0x163be8){return _0x44daee===_0x163be8;}};try{const _0x3cec50=this['getClient'](),_0x4021af=await Promise[_0x326122(0x167)]([_0x3cec50['ping'](),new Promise((_0x36d2c2,_0x4ae504)=>setTimeout(()=>_0x4ae504(new Error(_0x326122(0x152))),_0x55d44f))]);return _0x2887a3['MTVYj'](_0x4021af,_0x326122(0x160));}catch(_0x59bda0){return![];}}async[a0_0x1aff19(0x149)](){const _0x368f0c=a0_0x1aff19;this['client']&&(await this[_0x368f0c(0x14c)]['quit'](),this['client']=null,this['isConnected']=![]);}['forceDisconnect'](){const _0x4943a0=a0_0x1aff19;this['client']&&(this[_0x4943a0(0x14c)][_0x4943a0(0x149)](),this[_0x4943a0(0x14c)]=null,this['isConnected']=![]);}}module[a0_0x1aff19(0x155)]=new RedisClient();function a0_0x25cf(_0x13dc2e,_0x46fc28){_0x13dc2e=_0x13dc2e-0x144;const _0x3437f9=a0_0x3437();let _0x25cf4c=_0x3437f9[_0x13dc2e];if(a0_0x25cf['ZjVXDE']===undefined){var _0x17f7c3=function(_0x149120){const _0x145d01='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x29ae90='',_0x3c0ee9='';for(let _0x9e07fa=0x0,_0xaa8c6,_0x42d7be,_0xe58a32=0x0;_0x42d7be=_0x149120['charAt'](_0xe58a32++);~_0x42d7be&&(_0xaa8c6=_0x9e07fa%0x4?_0xaa8c6*0x40+_0x42d7be:_0x42d7be,_0x9e07fa++%0x4)?_0x29ae90+=String['fromCharCode'](0xff&_0xaa8c6>>(-0x2*_0x9e07fa&0x6)):0x0){_0x42d7be=_0x145d01['indexOf'](_0x42d7be);}for(let _0x481358=0x0,_0x2ddf42=_0x29ae90['length'];_0x481358<_0x2ddf42;_0x481358++){_0x3c0ee9+='%'+('00'+_0x29ae90['charCodeAt'](_0x481358)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3c0ee9);};a0_0x25cf['nkGmmj']=_0x17f7c3,a0_0x25cf['pYiSeD']={},a0_0x25cf['ZjVXDE']=!![];}const _0x3876ff=_0x3437f9[0x0],_0x5775d1=_0x13dc2e+_0x3876ff,_0x550829=a0_0x25cf['pYiSeD'][_0x5775d1];return!_0x550829?(_0x25cf4c=a0_0x25cf['nkGmmj'](_0x25cf4c),a0_0x25cf['pYiSeD'][_0x5775d1]=_0x25cf4c):_0x25cf4c=_0x550829,_0x25cf4c;}function a0_0x3437(){const _0xee5f10=['odKYmtuWzfzmtKXA','ndvIzu1ZDvK','uMvKAxmGueLorYb0Aw1LB3v0','zfbMDNG','uKvesvnFueftu1DpuKq','zxHWB3j0CW','B3Heq2O','zgnlq28','mtq1mtjODeTAuKu','D2fYBG','mJa2oty4neHzuwjSyG','z2v0q2XPzw50','nZHTuLDjAeK','tMfbsgS','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','odyWntbuCe9pAvy','ue9orW','mZvhvNnVzue','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','nta0Auv1AK9J','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','Aw5MBW','wNbPu3i','CMfJzq','y2XVC2u','mZa5nJHuDg91zhK','nZe3mJq3m2zhsw1XzG','BwLU','y29UBMvJDa','CgLUzW','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','mtuZmdm4nenjz2TKwq','uKvesvnFse9tva','zgLZy29UBMvJDa','zw52','zxjYB3i','y2XPzw50','uKvesvnFue9sva','AxndB25Uzwn0zwq','CMvKAxnFy29UBMvJDgvK'];a0_0x3437=function(){return _0xee5f10;};return a0_0x3437();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x309284=a0_0x496e;function a0_0x496e(_0x589857,_0x26b502){_0x589857=_0x589857-0x1f2;const _0xbc9230=a0_0xbc92();let _0x496e2d=_0xbc9230[_0x589857];if(a0_0x496e['aoIXYQ']===undefined){var _0x29509e=function(_0x2fa76c){const _0xd24fab='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x37491c='',_0x14b376='';for(let _0xa1b852=0x0,_0x20e72e,_0x361699,_0x3b768c=0x0;_0x361699=_0x2fa76c['charAt'](_0x3b768c++);~_0x361699&&(_0x20e72e=_0xa1b852%0x4?_0x20e72e*0x40+_0x361699:_0x361699,_0xa1b852++%0x4)?_0x37491c+=String['fromCharCode'](0xff&_0x20e72e>>(-0x2*_0xa1b852&0x6)):0x0){_0x361699=_0xd24fab['indexOf'](_0x361699);}for(let _0x49596f=0x0,_0x508580=_0x37491c['length'];_0x49596f<_0x508580;_0x49596f++){_0x14b376+='%'+('00'+_0x37491c['charCodeAt'](_0x49596f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x14b376);};a0_0x496e['LqFAcB']=_0x29509e,a0_0x496e['iUMBmY']={},a0_0x496e['aoIXYQ']=!![];}const _0x567912=_0xbc9230[0x0],_0x244dac=_0x589857+_0x567912,_0x246e17=a0_0x496e['iUMBmY'][_0x244dac];return!_0x246e17?(_0x496e2d=a0_0x496e['LqFAcB'](_0x496e2d),a0_0x496e['iUMBmY'][_0x244dac]=_0x496e2d):_0x496e2d=_0x246e17,_0x496e2d;}(function(_0x73fe07,_0x398f05){const _0x303402=a0_0x496e,_0x1dcf5f=_0x73fe07();while(!![]){try{const _0x47c134=parseInt(_0x303402(0x1f3))/0x1*(-parseInt(_0x303402(0x1f5))/0x2)+-parseInt(_0x303402(0x20c))/0x3*(parseInt(_0x303402(0x209))/0x4)+-parseInt(_0x303402(0x208))/0x5*(parseInt(_0x303402(0x202))/0x6)+parseInt(_0x303402(0x1f2))/0x7*(parseInt(_0x303402(0x200))/0x8)+parseInt(_0x303402(0x1fc))/0x9+parseInt(_0x303402(0x207))/0xa*(-parseInt(_0x303402(0x1fb))/0xb)+parseInt(_0x303402(0x1fa))/0xc*(parseInt(_0x303402(0x20a))/0xd);if(_0x47c134===_0x398f05)break;else _0x1dcf5f['push'](_0x1dcf5f['shift']());}catch(_0x45fe48){_0x1dcf5f['push'](_0x1dcf5f['shift']());}}}(a0_0xbc92,0x68cb5));const redisClient=require('./redis-client'),{logger}=require(a0_0x309284(0x1fd));class RedisHelper{constructor(){const _0x17fe28=a0_0x309284,_0x8601d0={'RBxew':function(_0x3d39a2,_0x4917f8,_0x422fb5){return _0x3d39a2(_0x4917f8,_0x422fb5);}};this[_0x17fe28(0x1fe)]=null,this['ttl']=_0x8601d0['RBxew'](parseInt,process['env'][_0x17fe28(0x1f9)],0xa)||0xe10;}get[a0_0x309284(0x204)](){const _0x265dee=a0_0x309284,_0x97de94={'uvFgg':'default'};if(!this[_0x265dee(0x1fe)]){const _0x5851f1=process['env']['RESTFORGE_PROJECT_NAME']||_0x97de94['uvFgg'];this['_prefix']='restforge:'+_0x5851f1+':export:';}return this['_prefix'];}async[a0_0x309284(0x1f8)](_0x36fd0a,_0x5b9779){const _0x5f548a=a0_0x309284,_0x2e0aa3={'Lekze':'Failed\x20to\x20set\x20job\x20in\x20Redis'};try{const _0x567291=redisClient[_0x5f548a(0x20b)](),_0x3efb48=''+this['prefix']+_0x36fd0a;return await _0x567291['setex'](_0x3efb48,this['ttl'],JSON['stringify'](_0x5b9779)),!![];}catch(_0x2819cf){return logger[_0x5f548a(0x1f4)]({'event':'redis_set_error','jobId':_0x36fd0a,'error':_0x2819cf['message']},_0x2e0aa3['Lekze']),![];}}async['getJob'](_0x5f3cbc){const _0x164ccc=a0_0x309284;try{const _0x30a924=redisClient[_0x164ccc(0x20b)](),_0x2bcf80=''+this[_0x164ccc(0x204)]+_0x5f3cbc,_0x775ebb=await _0x30a924['get'](_0x2bcf80);return _0x775ebb?JSON['parse'](_0x775ebb):null;}catch(_0x14e709){return logger['error']({'event':_0x164ccc(0x203),'jobId':_0x5f3cbc,'error':_0x14e709['message']},'Failed\x20to\x20get\x20job\x20from\x20Redis'),null;}}async[a0_0x309284(0x1ff)](_0x22ee58,_0x55c754){const _0x100cac=await this['getJob'](_0x22ee58);if(!_0x100cac)return![];const _0x37ee96={..._0x100cac,..._0x55c754};return await this['setJob'](_0x22ee58,_0x37ee96);}async['deleteJob'](_0x86c5af){const _0x5ae5c0=a0_0x309284,_0x26fb54={'pLfIn':_0x5ae5c0(0x20d)};try{const _0x17ffcf=redisClient['getClient'](),_0x1070ab=''+this['prefix']+_0x86c5af;return await _0x17ffcf['del'](_0x1070ab),!![];}catch(_0x41781e){return logger['error']({'event':_0x26fb54['pLfIn'],'jobId':_0x86c5af,'error':_0x41781e['message']},'Failed\x20to\x20delete\x20job\x20from\x20Redis'),![];}}async[a0_0x309284(0x201)](){const _0x3912df=a0_0x309284,_0x287e06={'TqTpS':_0x3912df(0x1f7)};try{const _0x3a341a=redisClient[_0x3912df(0x20b)](),_0x392540=await _0x3a341a['keys'](this[_0x3912df(0x204)]+'*'),_0x2ae5b7=[];for(const _0x72ff66 of _0x392540){const _0x39d3c3=await _0x3a341a['get'](_0x72ff66);_0x39d3c3&&_0x2ae5b7[_0x3912df(0x205)](JSON[_0x3912df(0x206)](_0x39d3c3));}return _0x2ae5b7;}catch(_0x39d534){return logger[_0x3912df(0x1f4)]({'event':'redis_getall_error','error':_0x39d534['message']},_0x287e06['TqTpS']),[];}}}function a0_0xbc92(){const _0x1381c9=['CMvKAxnFzgvSzxrLx2vYCM9Y','n0PXrerQtG','mZuXmtC5uNveEePQ','zxjYB3i','mK51yKv2BW','zxHWB3j0CW','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','C2v0sM9I','rvHqt1jux0zjtevFrvHqsvjz','ntK4odbKrMDmwKu','ndrsEen5CwC','mZi2ntyWnuzKAerwrq','lI9SB2DNzxi','x3bYzwzPEa','DxbKyxrLsM9I','mJm0odaXnLnivNjIvq','z2v0qwXSsM9ICW','nJe1ntr6wwTftKu','CMvKAxnFz2v0x2vYCM9Y','ChjLzML4','ChvZAa','CgfYC2u','odG0nZCWywj5B2zR','mZi1wuPqBMrf','mJHguuT1ELm','mZeZm25VtxLKtq','z2v0q2XPzw50','mJq3nJjorMDrz2S'];a0_0xbc92=function(){return _0x1381c9;};return a0_0xbc92();}module[a0_0x309284(0x1f6)]=new RedisHelper();
|