@restforgejs/platform 5.3.9 → 5.3.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/cli/designer.js +1 -1
- package/generators/cli/fast-track.js +43 -6
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/integrity-manifest.json +18 -18
- package/package.json +2 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/soft-delete-dashboard-guard.js +1 -1
- package/src/utils/sql-table-extractor.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x554c48=a0_0x1008;(function(_0x556fbf,_0x3da1f0){const _0xffeb85=a0_0x1008,_0x49507f=_0x556fbf();while(!![]){try{const _0x239eae=-parseInt(_0xffeb85(0x163))/0x1+parseInt(_0xffeb85(0x15f))/0x2+-parseInt(_0xffeb85(0x175))/0x3*(-parseInt(_0xffeb85(0x179))/0x4)+-parseInt(_0xffeb85(0x1ac))/0x5+parseInt(_0xffeb85(0x169))/0x6*(parseInt(_0xffeb85(0x159))/0x7)+parseInt(_0xffeb85(0x158))/0x8+parseInt(_0xffeb85(0x16f))/0x9*(-parseInt(_0xffeb85(0x19c))/0xa);if(_0x239eae===_0x3da1f0)break;else _0x49507f['push'](_0x49507f['shift']());}catch(_0x44cdd6){_0x49507f['push'](_0x49507f['shift']());}}}(a0_0x5337,0x3261f));function a0_0x5337(){const _0x2ace4f=['D29YA2vYlq','ndaZme50sLzpuG','DgXnsvy','D3jPDgvFBg9JA190Aw1LB3v0','tu9PBLe','x2vUywjSzwq','zw52','Dhj1zq','AxnfBMfIBgvK','Cg93','C3rYyxrLz3K','x2LUAxrdB25MAwC','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','yNvPBgrmB2nRs2v5','uKvbrcbSB2nRigfJCxvPCMvK','C2v0','BM5MtMm','ote3mJa1rxnKt2fk','su5LvLG','D3jPDgvFBg9JA19LCNjVCG','x2LUAxrPywXPEMvK','Aw5JCG','zgvIDwC','v1nvwwq','mZqXmZzUwwDNwKm','otK3nJu0v1rctfzw','tg9JAYbuveWGzxH0zw5Kzwq','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','uMX2tuu','CgLK','CMv0CNLezwXHEq','ntuXntq0C0zmwfrd','Cw9sy2S','Bg9JA19LEhrLBMrLza','CMvHzf9SB2nRx3DHAxrPBMC','nty2nxDJqLfzBG','v1jjveuGBg9JAYbLCNjVCG','CMvSzwfZzuXVy2S','CMvHzf9SB2nRx3rPBwvVDxq','CMvHzf9SB2nRx3jLBgvHC2vK','x3bYzwzPEa','mtj0tffuAM0','zgvMyxvSDfruta','D3jPDgvFBg9JA19YzwPLy3rLza','Bg9JA19JB25MAwDFAw5PDa','CMjhrK8','z2v0tg9JA0LUzM8','mtaYntfRswvfr2S','Bg9JA19LEhrLBMrFzxjYB3i','x3DVCMTLCKLK','C2XLzxa','CMvHza','ChjLzML4','m3nztKLmrW','ywnXDwLYzvDYAxrLtg9JAW','y1bzCw4','x3n0CMf0zwD5','mte1nZyYogfXDuvMEG','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','vvb5q3a','Aw5MBW','EKL4CK0','C3vIC3rYAw5N','ywnXDwLYzvjLywrmB2nR','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','D3jPDgvFBg9JA19Hy3f1AxjLza','C2v0zxG','tg9JAYbYzwXLyxnLigvYCM9Y','x2vUC3vYzuLUAxrPywXPEMvK','z2v0q2XPzw50','x3jLDhj5q291BNq','zw5HyMXLza','D2fYBG','zxzHBa','z2vUzxjHDgvmB2nRvMfSDwu','te9ds19esvnuuKLcvvrfrf9ftKfcteve','r1HOEg0','z2v0','CMv0CNK','zxjYB3i','BwvZC2fNzq','vNP0rNK','CMv0CNLdB3vUDa','B0TAwgS','BgfZDeLUzgv4t2y','x2rLzMf1BhruveW','CMy6Bg9JAZO','D29YA2vYswq','x3jLDhj5rgvSyxK','ywXS'];a0_0x5337=function(){return _0x2ace4f;};return a0_0x5337();}const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');function a0_0x1008(_0x584c72,_0x5ba024){_0x584c72=_0x584c72-0x155;const _0x53376d=a0_0x5337();let _0x10084b=_0x53376d[_0x584c72];if(a0_0x1008['ZhWFMN']===undefined){var _0x2fa7b4=function(_0x440edc){const _0x2023ef='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5b6f1d='',_0x463e49='';for(let _0x4a7b0c=0x0,_0x25e9b6,_0x560064,_0x191128=0x0;_0x560064=_0x440edc['charAt'](_0x191128++);~_0x560064&&(_0x25e9b6=_0x4a7b0c%0x4?_0x25e9b6*0x40+_0x560064:_0x560064,_0x4a7b0c++%0x4)?_0x5b6f1d+=String['fromCharCode'](0xff&_0x25e9b6>>(-0x2*_0x4a7b0c&0x6)):0x0){_0x560064=_0x2023ef['indexOf'](_0x560064);}for(let _0x4dba78=0x0,_0x396187=_0x5b6f1d['length'];_0x4dba78<_0x396187;_0x4dba78++){_0x463e49+='%'+('00'+_0x5b6f1d['charCodeAt'](_0x4dba78)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x463e49);};a0_0x1008['JGhSRg']=_0x2fa7b4,a0_0x1008['kEPngk']={},a0_0x1008['ZhWFMN']=!![];}const _0x1b9cbb=_0x53376d[0x0],_0x3f8ac3=_0x584c72+_0x1b9cbb,_0x29c3f7=a0_0x1008['kEPngk'][_0x3f8ac3];return!_0x29c3f7?(_0x10084b=a0_0x1008['JGhSRg'](_0x10084b),a0_0x1008['kEPngk'][_0x3f8ac3]=_0x10084b):_0x10084b=_0x29c3f7,_0x10084b;}class LockManager{constructor(){const _0x2957a3=a0_0x1008;this[_0x2957a3(0x168)]=null,this[_0x2957a3(0x1a0)]=null,this[_0x2957a3(0x196)]=null,this[_0x2957a3(0x187)]=null,this['_retryDelay']=null,this['_strategy']=null,this[_0x2957a3(0x171)]=null,this[_0x2957a3(0x1af)]=![];}[a0_0x554c48(0x1a6)](){const _0x46d25d=a0_0x554c48,_0xd59fc0={'nnfNc':_0x46d25d(0x197),'INeVX':function(_0x2017f6,_0x63b9b0,_0x207676){return _0x2017f6(_0x63b9b0,_0x207676);}};this[_0x46d25d(0x168)]=_0xd59fc0[_0x46d25d(0x1ab)],this['_enabled']=process['env'][_0x46d25d(0x18c)]===_0x46d25d(0x1a2),this[_0x46d25d(0x196)]=parseInt(process[_0x46d25d(0x1a1)]['LOCK_DISTRIBUTED_TTL'],0xa)||0xa,this['_retryCount']=_0xd59fc0[_0x46d25d(0x1ad)](parseInt,process[_0x46d25d(0x1a1)]['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3,this[_0x46d25d(0x199)]=_0xd59fc0[_0x46d25d(0x1ad)](parseInt,process['env']['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64,this[_0x46d25d(0x178)]=process['env']['LOCK_DISTRIBUTED_STRATEGY']||_0x46d25d(0x18f),this[_0x46d25d(0x171)]=_0x46d25d(0x19b)+process[_0x46d25d(0x15d)],this['_initialized']=!![],logger[_0x46d25d(0x17d)]({'event':_0x46d25d(0x16c),'enabled':this['_enabled'],'strategy':this[_0x46d25d(0x178)],'ttl':this[_0x46d25d(0x196)],'retryCount':this['_retryCount'],'retryDelay':this[_0x46d25d(0x199)],'workerId':this[_0x46d25d(0x171)]},_0x46d25d(0x1a7)+this[_0x46d25d(0x1a0)]+',\x20strategy:\x20'+this['_strategy']);}[a0_0x554c48(0x185)](){const _0x22a53d=a0_0x554c48;!this[_0x22a53d(0x1af)]&&this['_initConfig']();}get[a0_0x554c48(0x174)](){const _0x36f207=a0_0x554c48;return this['_ensureInitialized'](),this[_0x36f207(0x168)];}get[a0_0x554c48(0x188)](){return this['_ensureInitialized'](),this['_enabled'];}get[a0_0x554c48(0x16a)](){const _0x6e3cef=a0_0x554c48;return this[_0x6e3cef(0x185)](),this['_defaultTTL'];}get[a0_0x554c48(0x193)](){const _0x1a481c=a0_0x554c48;return this[_0x1a481c(0x185)](),this[_0x1a481c(0x187)];}get[a0_0x554c48(0x15e)](){const _0x59a110=a0_0x554c48;return this[_0x59a110(0x185)](),this['_retryDelay'];}get['strategy'](){const _0x335e26=a0_0x554c48;return this[_0x335e26(0x185)](),this[_0x335e26(0x178)];}get[a0_0x554c48(0x198)](){return this['_ensureInitialized'](),this['_workerId'];}[a0_0x554c48(0x1a8)](_0x3fa7d1){const {module:_0x3821fa,endpoint:_0x25e623,lockType:_0x58d11c,recordId:_0x2af50a}=_0x3fa7d1;if(_0x2af50a)return''+this['prefix']+_0x3821fa+':'+_0x25e623+':'+_0x2af50a+':'+_0x58d11c;return''+this['prefix']+_0x3821fa+':'+_0x25e623+':'+_0x58d11c;}['generateLockValue'](){const _0x35e669=a0_0x554c48,_0x52cf68={'xNhTY':function(_0xaf1403){return _0xaf1403();}};return this[_0x35e669(0x198)]+':'+_0x52cf68['xNhTY'](uuidv4)+':'+Date['now']();}async[a0_0x554c48(0x180)](_0x5aafed){const _0xf391b=a0_0x554c48,_0x3da218={'UPyCp':'read_lock_acquired','TeeRm':_0xf391b(0x1a9),'eNOfK':_0xf391b(0x162),'QZukG':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','WSUYd':_0xf391b(0x166),'XaIjb':'READ\x20lock\x20error'};if(!this[_0xf391b(0x188)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x2d4306=this[_0xf391b(0x1a8)]({..._0x5aafed,'lockType':'write'}),_0x4146e6=this[_0xf391b(0x1a8)]({..._0x5aafed,'lockType':_0xf391b(0x173)}),_0x1b87a6=this[_0xf391b(0x18b)]();try{const _0x12344d=redisClient[_0xf391b(0x186)]();for(let _0x5d6f44=0x0;_0x5d6f44<this[_0xf391b(0x193)];_0x5d6f44++){const _0x474959=await _0x12344d['get'](_0x2d4306);if(!_0x474959){await _0x12344d[_0xf391b(0x155)](_0x4146e6),await _0x12344d['expire'](_0x4146e6,this[_0xf391b(0x16a)]);const _0x3f221c=_0x4146e6+':'+_0x1b87a6;return await _0x12344d[_0xf391b(0x183)](_0x3f221c,this['defaultTTL'],_0x1b87a6),logger['debug']({'event':_0x3da218[_0xf391b(0x17c)],'key':_0x4146e6,'value':_0x1b87a6},_0x3da218['TeeRm']),{'success':!![],'lockValue':_0x1b87a6,'lockKey':_0x3f221c};}logger['debug']({'event':_0x3da218['eNOfK'],'writeKey':_0x2d4306,'attempt':_0x5d6f44},_0x3da218['QZukG']),await this[_0xf391b(0x172)](this[_0xf391b(0x15e)]*Math['pow'](0x2,_0x5d6f44));}return logger[_0xf391b(0x189)]({'event':_0x3da218[_0xf391b(0x157)],'key':_0x4146e6},_0xf391b(0x17b)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x2acd64){return logger[_0xf391b(0x190)]({'event':'read_lock_error','error':_0x2acd64['message']},_0x3da218['XaIjb']),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x554c48(0x176)](_0x137000){const _0x194b50=a0_0x554c48,_0x232754={'cPYqn':_0x194b50(0x173),'zIxrM':function(_0x464536,_0x8c242a){return _0x464536===_0x8c242a;},'ftUeE':'reject','TsRll':_0x194b50(0x182),'MOinQ':_0x194b50(0x16b),'tlMIV':_0x194b50(0x181),'GXhxm':function(_0x260add,_0x540aac){return _0x260add<_0x540aac;},'RlvME':function(_0x3f5ddc,_0x3dc83a){return _0x3f5ddc===_0x3dc83a;},'MxoZC':_0x194b50(0x15b),'WrSxl':'Waiting\x20for\x20locks\x20to\x20release','oKZXk':function(_0x5a74e3,_0x5da00e){return _0x5a74e3*_0x5da00e;},'VztFy':_0x194b50(0x19e)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x23f0cb=this['buildLockKey']({..._0x137000,'lockType':'write'}),_0x35896e=this[_0x194b50(0x1a8)]({..._0x137000,'lockType':_0x232754[_0x194b50(0x177)]}),_0x1f357a=this[_0x194b50(0x18b)]();try{const _0x6bcb83=redisClient[_0x194b50(0x186)]();if(_0x232754['zIxrM'](this[_0x194b50(0x1a5)],_0x232754['ftUeE'])){const _0x34a9ea=await _0x6bcb83[_0x194b50(0x1aa)](_0x23f0cb,_0x1f357a,'EX',this[_0x194b50(0x16a)],'NX');if(_0x232754[_0x194b50(0x17e)](_0x34a9ea,'OK'))return logger['debug']({'event':_0x232754['TsRll'],'key':_0x23f0cb,'value':_0x1f357a,'strategy':_0x232754['ftUeE']},_0x194b50(0x17a)),{'success':!![],'lockValue':_0x1f357a,'lockKey':_0x23f0cb};return logger[_0x194b50(0x156)]({'event':_0x232754[_0x194b50(0x19f)],'key':_0x23f0cb},_0x232754[_0x194b50(0x19d)]),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x256ab9=0x0;_0x232754[_0x194b50(0x18d)](_0x256ab9,this['retryCount']);_0x256ab9++){const [_0x26a5e4,_0x4b327a]=await Promise['all']([_0x6bcb83['get'](_0x35896e),_0x6bcb83[_0x194b50(0x18e)](_0x23f0cb)]);if(!_0x4b327a&&(!_0x26a5e4||_0x232754[_0x194b50(0x15c)](parseInt(_0x26a5e4),0x0))){const _0x592763=await _0x6bcb83[_0x194b50(0x1aa)](_0x23f0cb,_0x1f357a,'EX',this['defaultTTL'],'NX');if(_0x592763==='OK')return logger[_0x194b50(0x156)]({'event':_0x194b50(0x182),'key':_0x23f0cb,'value':_0x1f357a,'strategy':'retry'},_0x232754['MxoZC']),{'success':!![],'lockValue':_0x1f357a,'lockKey':_0x23f0cb};}logger['debug']({'event':'write_lock_waiting','writeKey':_0x23f0cb,'readCount':_0x26a5e4,'attempt':_0x256ab9},_0x232754['WrSxl']),await this['sleep'](_0x232754[_0x194b50(0x194)](this['retryDelay'],Math[_0x194b50(0x1a4)](0x2,_0x256ab9)));}return logger[_0x194b50(0x189)]({'event':_0x232754[_0x194b50(0x192)],'key':_0x23f0cb},'WRITE\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x42c7fc){return logger[_0x194b50(0x190)]({'event':_0x194b50(0x1ae),'error':_0x42c7fc[_0x194b50(0x191)]},_0x194b50(0x164)),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x554c48(0x165)](_0x19e0d6,_0x45ea17){const _0x16a6ff=a0_0x554c48,_0x10588f={'SOzix':':read:','jyiLC':function(_0x42bb45,_0x3bed26){return _0x42bb45(_0x3bed26);},'rbGFO':function(_0x5c3f65,_0x26fe0f){return _0x5c3f65===_0x26fe0f;},'gWaqG':_0x16a6ff(0x184)};if(!this['enabled']||!_0x19e0d6)return!![];try{const _0x9ed276=redisClient[_0x16a6ff(0x186)]();if(_0x19e0d6['includes'](_0x10588f['SOzix'])){await _0x9ed276['del'](_0x19e0d6);const _0x5b92cd=_0x19e0d6[_0x16a6ff(0x17f)](0x0,_0x19e0d6[_0x16a6ff(0x195)](':')),_0x3fbef9=await _0x9ed276[_0x16a6ff(0x18e)](_0x5b92cd);return _0x3fbef9&&_0x10588f['jyiLC'](parseInt,_0x3fbef9)>0x0&&await _0x9ed276['decr'](_0x5b92cd),logger[_0x16a6ff(0x156)]({'event':_0x16a6ff(0x167),'key':_0x19e0d6},'READ\x20lock\x20released'),!![];}const _0x3469ed='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22del\x22,\x20KEYS[1])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x2aed88=await _0x9ed276[_0x16a6ff(0x18a)](_0x3469ed,0x1,_0x19e0d6,_0x45ea17);if(_0x10588f[_0x16a6ff(0x16d)](_0x2aed88,0x1))return logger['debug']({'event':'write_lock_released','key':_0x19e0d6},'WRITE\x20lock\x20released'),!![];return logger['warn']({'event':'lock_release_not_owner','key':_0x19e0d6},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0x105e0a){return logger[_0x16a6ff(0x190)]({'event':'lock_release_error','key':_0x19e0d6,'error':_0x105e0a[_0x16a6ff(0x191)]},_0x10588f['gWaqG']),![];}}async['extendLock'](_0x2c8da5,_0xb562cc,_0x23e851=null){const _0x43df5d=a0_0x554c48,_0x3bcb42={'hmLuj':_0x43df5d(0x161),'tMLUn':_0x43df5d(0x15a)};if(!this[_0x43df5d(0x188)]||!_0x2c8da5)return!![];try{const _0x468e58=redisClient['getClient'](),_0x2a4e43='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22expire\x22,\x20KEYS[1],\x20ARGV[2])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x28576b=await _0x468e58['eval'](_0x2a4e43,0x1,_0x2c8da5,_0xb562cc,_0x23e851||this['defaultTTL']);if(_0x28576b===0x1)return logger[_0x43df5d(0x156)]({'event':_0x3bcb42['hmLuj'],'key':_0x2c8da5,'ttl':_0x23e851||this['defaultTTL']},_0x3bcb42['tMLUn']),!![];return![];}catch(_0x49bd85){return logger[_0x43df5d(0x190)]({'event':_0x43df5d(0x170),'key':_0x2c8da5,'error':_0x49bd85[_0x43df5d(0x191)]},'Lock\x20extend\x20error'),![];}}[a0_0x554c48(0x1a3)](){const _0x4d327e=a0_0x554c48;return this[_0x4d327e(0x188)];}[a0_0x554c48(0x172)](_0x283088){return new Promise(_0x4653da=>setTimeout(_0x4653da,_0x283088));}async[a0_0x554c48(0x16e)](_0x700383){const _0x4f4fe8=a0_0x554c48,_0x351499={'CFgTC':'read','PESUe':function(_0x5db433,_0xc5dad0){return _0x5db433||_0xc5dad0;},'qoRck':function(_0xf629a6,_0x2d25b3){return _0xf629a6(_0x2d25b3);}};if(!this[_0x4f4fe8(0x188)])return{'enabled':![]};try{const _0x5a0af9=redisClient['getClient'](),_0x4db37f=this['buildLockKey']({..._0x700383,'lockType':'write'}),_0x35245d=this[_0x4f4fe8(0x1a8)]({..._0x700383,'lockType':_0x351499['CFgTC']}),[_0x7db269,_0x4a4049]=await Promise[_0x4f4fe8(0x19a)]([_0x5a0af9['get'](_0x4db37f),_0x5a0af9[_0x4f4fe8(0x18e)](_0x35245d)]);return{'enabled':!![],'writeLock':_0x351499['PESUe'](_0x7db269,null),'readCount':_0x351499[_0x4f4fe8(0x160)](parseInt,_0x4a4049)||0x0,'writeKey':_0x4db37f,'readKey':_0x35245d};}catch(_0x16ffba){return{'enabled':!![],'error':_0x16ffba['message']};}}}module['exports']=new LockManager();
|
|
1
|
+
const a0_0x3910e4=a0_0x2dbd;(function(_0x1368d0,_0x5c56f0){const _0x1d80d1=a0_0x2dbd,_0x47180b=_0x1368d0();while(!![]){try{const _0x172054=parseInt(_0x1d80d1(0xb5))/0x1+-parseInt(_0x1d80d1(0x9f))/0x2+-parseInt(_0x1d80d1(0x6c))/0x3+-parseInt(_0x1d80d1(0x6a))/0x4+-parseInt(_0x1d80d1(0xa1))/0x5+parseInt(_0x1d80d1(0x89))/0x6+parseInt(_0x1d80d1(0x7b))/0x7;if(_0x172054===_0x5c56f0)break;else _0x47180b['push'](_0x47180b['shift']());}catch(_0xe6e20f){_0x47180b['push'](_0x47180b['shift']());}}}(a0_0x32a1,0xd0de0));function a0_0x32a1(){const _0x74c37=['CMv0CNK','D3jPDgvFBg9JA19YzwXLyxnLza','ndu0mZqXweDSwhP3','zxHWB3j0CW','BgfZDeLUzgv4t2y','v1jjveuGBg9JAYbYzwXLyxnLza','CMv0CNLezwXHEq','ywnXDwLYzvjLywrmB2nR','zxjYB3i','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','te9ds19esvnuuKLcvvrfrf9uveW','wKjxsM8','x3bYzwzPEa','D3jPDgvFBg9JA193ywL0Aw5N','D2fYBG','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','qKzoExi','nhW2Fdj8m3W3Fdv8mxWW','Du5lB2y','ywnXDwLYzvDYAxrLtg9JAW','x3n0CMf0zwD5','vKTZuMS','CMvHzf9SB2nRx3rPBwvVDxq','Aw5JBhvKzxm','C2v0zxG','ndu0nduZnNPIDfL4zG','rLf0DKm','mtm1odGXmufdt0XWrq','x2LUAxrPywXPEMvK','C2XLzxa','C3bSAxq','x3jLDhj5q291BNq','zgvMyxvSDfruta','yNvPBgrmB2nRs2v5','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','wLD6D0G','D29YA2vYlq','x2vUywjSzwq','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','CMvQzwn0','D29YA2vYswq','mtG2mZyYmZnRBM9bAwi','Cg93','AxnfBMfIBgvK','ywXS','rfLcvNK','D3jPDgu','zgvIDwC','zgvJCG','BM93','wunUyKW','Aw5MBW','z2v0','CMvHza','z2v0q2XPzw50','mtyWmdKYnNjvqM5yzq','uenADey','CMvHzf9SB2nRx2fJCxvPCMvK','tfnltee','z2vUzxjHDgvmB2nRvMfSDwu','zxH0zw5Ktg9JAW','CMv0CNLdB3vUDa','C3rYyxrLz3K','Bg9JA19LEhrLBMrFzxjYB3i','BwvZC2fNzq','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','x2LUAxrdB25MAwC','C2v0','x3DVCMTLCKLK','Evfhufu','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','oNjLywq6','te9ds19esvnuuKLcvvrfrf9ftKfcteve','x2rLzMf1BhruveW','zw52','te9ds19esvnuuKLcvvrfrf9srvrswq','u1vxzKW','mtG0mtuZoeTOrenlua','zxzHBa','ota2mdvwuxLgChe','AKzrAw4','zgvS','D3jPDgvFBg9JA190Aw1LB3v0','C3vIC3rYAw5N','D3jPDgvFBg9JA19Hy3f1AxjLza','Agn0ufq','lcbZDhjHDgvNEtOG','zwjUwLO','mNW2FdD8ohW1Fdb8m3WXFdq','zw5HyMXLza','BNHjDvm','Bg9JA19JB25MAwDFAw5PDa','x2vUC3vYzuLUAxrPywXPEMvK','x3jLDhj5rgvSyxK','sKjnEuu','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzxHWAxjLiIWGs0vzu1SXxsWGqvjhvLSYxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica'];a0_0x32a1=function(){return _0x74c37;};return a0_0x32a1();}function a0_0x2dbd(_0x22bac3,_0x390e11){_0x22bac3=_0x22bac3-0x69;const _0x32a129=a0_0x32a1();let _0x2dbd10=_0x32a129[_0x22bac3];if(a0_0x2dbd['zamCgB']===undefined){var _0x522fae=function(_0x2a3eae){const _0x37bd02='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xcad92b='',_0x31dc51='';for(let _0x13370b=0x0,_0x57cb8a,_0x7ff639,_0x4b46c7=0x0;_0x7ff639=_0x2a3eae['charAt'](_0x4b46c7++);~_0x7ff639&&(_0x57cb8a=_0x13370b%0x4?_0x57cb8a*0x40+_0x7ff639:_0x7ff639,_0x13370b++%0x4)?_0xcad92b+=String['fromCharCode'](0xff&_0x57cb8a>>(-0x2*_0x13370b&0x6)):0x0){_0x7ff639=_0x37bd02['indexOf'](_0x7ff639);}for(let _0x4bf172=0x0,_0x48af0d=_0xcad92b['length'];_0x4bf172<_0x48af0d;_0x4bf172++){_0x31dc51+='%'+('00'+_0xcad92b['charCodeAt'](_0x4bf172)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x31dc51);};a0_0x2dbd['OFqozt']=_0x522fae,a0_0x2dbd['ghFbHi']={},a0_0x2dbd['zamCgB']=!![];}const _0x36506d=_0x32a129[0x0],_0x1b9da2=_0x22bac3+_0x36506d,_0x5ae1b8=a0_0x2dbd['ghFbHi'][_0x1b9da2];return!_0x5ae1b8?(_0x2dbd10=a0_0x2dbd['OFqozt'](_0x2dbd10),a0_0x2dbd['ghFbHi'][_0x1b9da2]=_0x2dbd10):_0x2dbd10=_0x5ae1b8,_0x2dbd10;}const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x57a09e=a0_0x2dbd,_0x57b4f2=_0x57a09e(0xc5)[_0x57a09e(0x6f)]('|');let _0x1daad3=0x0;while(!![]){switch(_0x57b4f2[_0x1daad3++]){case'0':this[_0x57a09e(0x6d)]=![];continue;case'1':this[_0x57a09e(0x96)]=null;continue;case'2':this['_defaultTTL']=null;continue;case'3':this['_retryCount']=null;continue;case'4':this['_prefix']=null;continue;case'5':this[_0x57a09e(0xc8)]=null;continue;case'6':this['_enabled']=null;continue;case'7':this[_0x57a09e(0xaf)]=null;continue;}break;}}['_initConfig'](){const _0x38d6b9=a0_0x2dbd,_0x4866bd={'YPLJd':_0x38d6b9(0xad),'JBMyE':function(_0x430b49,_0x2fc5ad,_0x14319d){return _0x430b49(_0x2fc5ad,_0x14319d);},'fYuDM':function(_0x2f1196,_0xa3771b){return _0x2f1196===_0xa3771b;}},_0x4343f9=_0x38d6b9(0xaa)['split']('|');let _0x3d4d7c=0x0;while(!![]){switch(_0x4343f9[_0x3d4d7c++]){case'0':this[_0x38d6b9(0xc8)]=process['env']['LOCK_DISTRIBUTED_STRATEGY']||_0x38d6b9(0xb3);continue;case'1':this['_initialized']=!![];continue;case'2':this['_prefix']='rf:lock:';continue;case'3':this[_0x38d6b9(0x96)]=_0x38d6b9(0x75)+process['pid'];continue;case'4':logger[_0x38d6b9(0x85)]({'event':_0x4866bd['YPLJd'],'enabled':this[_0x38d6b9(0x76)],'strategy':this[_0x38d6b9(0xc8)],'ttl':this[_0x38d6b9(0x9b)],'retryCount':this[_0x38d6b9(0x70)],'retryDelay':this['_retryDelay'],'workerId':this['_workerId']},_0x38d6b9(0x73)+this[_0x38d6b9(0x76)]+_0x38d6b9(0xa8)+this[_0x38d6b9(0xc8)]);continue;case'5':this[_0x38d6b9(0xaf)]=_0x4866bd[_0x38d6b9(0xb0)](parseInt,process[_0x38d6b9(0x9c)][_0x38d6b9(0xb1)],0xa)||0x64;continue;case'6':this[_0x38d6b9(0x76)]=_0x4866bd['fYuDM'](process['env'][_0x38d6b9(0x9a)],'true');continue;case'7':this[_0x38d6b9(0x9b)]=parseInt(process[_0x38d6b9(0x9c)][_0x38d6b9(0xbd)],0xa)||0xa;continue;case'8':this['_retryCount']=parseInt(process['env'][_0x38d6b9(0x9d)],0xa)||0x3;continue;}break;}}['_ensureInitialized'](){const _0x20e678=a0_0x2dbd;!this['_initialized']&&this[_0x20e678(0x94)]();}get['prefix'](){const _0x4e89b7=a0_0x2dbd;return this['_ensureInitialized'](),this[_0x4e89b7(0xbf)];}get['enabled'](){return this['_ensureInitialized'](),this['_enabled'];}get[a0_0x3910e4(0x71)](){const _0x56b559=a0_0x3910e4;return this['_ensureInitialized'](),this[_0x56b559(0x9b)];}get['retryCount'](){const _0x3affe0=a0_0x3910e4;return this[_0x3affe0(0xae)](),this['_retryCount'];}get[a0_0x3910e4(0xb9)](){const _0x1cc6e0=a0_0x3910e4;return this[_0x1cc6e0(0xae)](),this['_retryDelay'];}get[a0_0x3910e4(0x90)](){const _0x4fe41e=a0_0x3910e4;return this[_0x4fe41e(0xae)](),this['_strategy'];}get[a0_0x3910e4(0x7a)](){return this['_ensureInitialized'](),this['_workerId'];}['buildLockKey'](_0x2a4d7b){const {module:_0x3adc58,endpoint:_0x390adc,lockType:_0x1ea230,recordId:_0x537df4}=_0x2a4d7b;if(_0x537df4)return''+this['prefix']+_0x3adc58+':'+_0x390adc+':'+_0x537df4+':'+_0x1ea230;return''+this['prefix']+_0x3adc58+':'+_0x390adc+':'+_0x1ea230;}['generateLockValue'](){const _0x5bae09=a0_0x3910e4;return this[_0x5bae09(0x7a)]+':'+uuidv4()+':'+Date[_0x5bae09(0x83)]();}async[a0_0x3910e4(0xba)](_0xbd76ac){const _0x37d1b3=a0_0x3910e4,_0x7a2d8f={'PCZtF':'read','cXryx':_0x37d1b3(0x8b),'Youau':'READ\x20lock\x20acquired','lCTjc':'read_lock_waiting','WSLko':_0x37d1b3(0xca),'sZlTe':'READ\x20lock\x20error'};if(!this[_0x37d1b3(0xab)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x37f32e=this['buildLockKey']({..._0xbd76ac,'lockType':'write'}),_0x55ce74=this[_0x37d1b3(0x72)]({..._0xbd76ac,'lockType':_0x7a2d8f[_0x37d1b3(0x8a)]}),_0x3f7561=this[_0x37d1b3(0x8d)]();try{const _0x2c8731=redisClient[_0x37d1b3(0x88)]();for(let _0x4d8ce5=0x0;_0x4d8ce5<this['retryCount'];_0x4d8ce5++){const _0x25b1e6=await _0x2c8731['get'](_0x37f32e);if(!_0x25b1e6){await _0x2c8731['incr'](_0x55ce74),await _0x2c8731['expire'](_0x55ce74,this[_0x37d1b3(0x71)]);const _0x2e2c46=_0x55ce74+':'+_0x3f7561;return await _0x2c8731[_0x37d1b3(0x69)](_0x2e2c46,this['defaultTTL'],_0x3f7561),logger['debug']({'event':_0x7a2d8f['cXryx'],'key':_0x55ce74,'value':_0x3f7561},_0x7a2d8f['Youau']),{'success':!![],'lockValue':_0x3f7561,'lockKey':_0x2e2c46};}logger[_0x37d1b3(0x81)]({'event':_0x7a2d8f['lCTjc'],'writeKey':_0x37f32e,'attempt':_0x4d8ce5},'Waiting\x20for\x20WRITE\x20lock\x20to\x20release'),await this[_0x37d1b3(0x6e)](this[_0x37d1b3(0xb9)]*Math[_0x37d1b3(0x7c)](0x2,_0x4d8ce5));}return logger[_0x37d1b3(0xc1)]({'event':_0x7a2d8f['WSLko'],'key':_0x55ce74},_0x37d1b3(0xc3)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x4b742e){return logger[_0x37d1b3(0xbb)]({'event':'read_lock_error','error':_0x4b742e[_0x37d1b3(0x92)]},_0x7a2d8f['sZlTe']),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x3910e4(0xc7)](_0x424891){const _0x554601=a0_0x3910e4,_0xd99529={'nxIuS':function(_0x132823,_0x7643ac){return _0x132823===_0x7643ac;},'ZBWJo':function(_0x277b54,_0x294869){return _0x277b54===_0x294869;},'DYBVy':'reject','YCnbL':_0x554601(0xc2),'FxrVs':_0x554601(0x77),'jFQin':function(_0x275fb9,_0x12e2d1){return _0x275fb9<_0x12e2d1;},'BFNyr':_0x554601(0xa6),'ebnZZ':'Waiting\x20for\x20locks\x20to\x20release','SUWfL':_0x554601(0xa4),'ZWzwH':'write_lock_error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x4d87c3=this[_0x554601(0x72)]({..._0x424891,'lockType':'write'}),_0x55f7a0=this['buildLockKey']({..._0x424891,'lockType':_0x554601(0x87)}),_0x54fe9f=this[_0x554601(0x8d)]();try{const _0x1cc1e9=redisClient[_0x554601(0x88)]();if(_0xd99529[_0x554601(0xac)](this[_0x554601(0x90)],_0x554601(0x79))){const _0x1a6123=await _0x1cc1e9[_0x554601(0x95)](_0x4d87c3,_0x54fe9f,'EX',this[_0x554601(0x71)],'NX');if(_0xd99529[_0x554601(0xbe)](_0x1a6123,'OK'))return logger[_0x554601(0x81)]({'event':'write_lock_acquired','key':_0x4d87c3,'value':_0x54fe9f,'strategy':_0xd99529[_0x554601(0x7f)]},_0xd99529[_0x554601(0x84)]),{'success':!![],'lockValue':_0x54fe9f,'lockKey':_0x4d87c3};return logger['debug']({'event':'write_lock_rejected','key':_0x4d87c3},_0xd99529['FxrVs']),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x335e8d=0x0;_0xd99529[_0x554601(0xa2)](_0x335e8d,this[_0x554601(0x8f)]);_0x335e8d++){const [_0x29a9e6,_0x4d0d12]=await Promise[_0x554601(0x7e)]([_0x1cc1e9[_0x554601(0x86)](_0x55f7a0),_0x1cc1e9['get'](_0x4d87c3)]);if(!_0x4d0d12&&(!_0x29a9e6||_0xd99529['nxIuS'](parseInt(_0x29a9e6),0x0))){const _0x37bfcf=await _0x1cc1e9['set'](_0x4d87c3,_0x54fe9f,'EX',this[_0x554601(0x71)],'NX');if(_0xd99529['ZBWJo'](_0x37bfcf,'OK'))return logger['debug']({'event':_0xd99529[_0x554601(0xc4)],'key':_0x4d87c3,'value':_0x54fe9f,'strategy':'retry'},_0x554601(0xbc)),{'success':!![],'lockValue':_0x54fe9f,'lockKey':_0x4d87c3};}logger['debug']({'event':_0x554601(0xc0),'writeKey':_0x4d87c3,'readCount':_0x29a9e6,'attempt':_0x335e8d},_0xd99529[_0x554601(0xa9)]),await this[_0x554601(0x6e)](this[_0x554601(0xb9)]*Math[_0x554601(0x7c)](0x2,_0x335e8d));}return logger[_0x554601(0xc1)]({'event':_0xd99529[_0x554601(0x9e)],'key':_0x4d87c3},_0x554601(0x93)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x1af865){return logger[_0x554601(0xbb)]({'event':_0xd99529[_0x554601(0x74)],'error':_0x1af865[_0x554601(0x92)]},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x2d091d,_0xafdec6){const _0xceb7c4=a0_0x3910e4,_0x4a8476={'hctPT':function(_0x4de8ca,_0x152d5a){return _0x4de8ca>_0x152d5a;},'yQGPU':'read_lock_released','TFszA':_0xceb7c4(0xb4),'LSKLA':_0xceb7c4(0xb8),'iMZow':_0xceb7c4(0x98)};if(!this['enabled']||!_0x2d091d)return!![];try{const _0x19f436=redisClient['getClient']();if(_0x2d091d[_0xceb7c4(0xcb)](_0xceb7c4(0x99))){await _0x19f436[_0xceb7c4(0xa3)](_0x2d091d);const _0x252714=_0x2d091d[_0xceb7c4(0xa5)](0x0,_0x2d091d[_0xceb7c4(0xb7)](':')),_0x398953=await _0x19f436[_0xceb7c4(0x86)](_0x252714);return _0x398953&&_0x4a8476[_0xceb7c4(0xa7)](parseInt(_0x398953),0x0)&&await _0x19f436[_0xceb7c4(0x82)](_0x252714),logger['debug']({'event':_0x4a8476[_0xceb7c4(0x97)],'key':_0x2d091d},'READ\x20lock\x20released'),!![];}const _0x122a6c=_0xceb7c4(0x78),_0x5852d1=await _0x19f436[_0xceb7c4(0xa0)](_0x122a6c,0x1,_0x2d091d,_0xafdec6);if(_0x5852d1===0x1)return logger[_0xceb7c4(0x81)]({'event':_0x4a8476['TFszA'],'key':_0x2d091d},_0x4a8476[_0xceb7c4(0x8c)]),!![];return logger['warn']({'event':_0x4a8476['iMZow'],'key':_0x2d091d},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0x46418e){return logger['error']({'event':'lock_release_error','key':_0x2d091d,'error':_0x46418e[_0xceb7c4(0x92)]},'Lock\x20release\x20error'),![];}}async[a0_0x3910e4(0x8e)](_0x11b074,_0x3bf95e,_0x278122=null){const _0x1103c5=a0_0x3910e4,_0x4d9ab5={'XHidi':function(_0x2dae3d,_0x1a339c){return _0x2dae3d===_0x1a339c;},'FQtvC':'Lock\x20TTL\x20extended','uNKof':_0x1103c5(0x91),'VKsRk':'Lock\x20extend\x20error'};if(!this[_0x1103c5(0xab)]||!_0x11b074)return!![];try{const _0x3f478a=redisClient[_0x1103c5(0x88)](),_0x2dfbdf=_0x1103c5(0xb2),_0x3260ed=await _0x3f478a['eval'](_0x2dfbdf,0x1,_0x11b074,_0x3bf95e,_0x278122||this['defaultTTL']);if(_0x4d9ab5['XHidi'](_0x3260ed,0x1))return logger[_0x1103c5(0x81)]({'event':'lock_extended','key':_0x11b074,'ttl':_0x278122||this[_0x1103c5(0x71)]},_0x4d9ab5[_0x1103c5(0x6b)]),!![];return![];}catch(_0xeed5b9){return logger['error']({'event':_0x4d9ab5[_0x1103c5(0xc6)],'key':_0x11b074,'error':_0xeed5b9[_0x1103c5(0x92)]},_0x4d9ab5[_0x1103c5(0xc9)]),![];}}[a0_0x3910e4(0x7d)](){const _0x4b7d75=a0_0x3910e4;return this[_0x4b7d75(0xab)];}['sleep'](_0x2fc44d){return new Promise(_0x4b1a58=>setTimeout(_0x4b1a58,_0x2fc44d));}async['getLockInfo'](_0xdc2d8){const _0xf2b8da=a0_0x3910e4,_0x3463f5={'gmalu':_0xf2b8da(0x80),'WprzP':function(_0x3af339,_0xf34abd){return _0x3af339||_0xf34abd;}};if(!this['enabled'])return{'enabled':![]};try{const _0x595fa4=redisClient['getClient'](),_0x4188d6=this[_0xf2b8da(0x72)]({..._0xdc2d8,'lockType':_0x3463f5['gmalu']}),_0x4d7e89=this[_0xf2b8da(0x72)]({..._0xdc2d8,'lockType':'read'}),[_0x38dfe8,_0x37129e]=await Promise['all']([_0x595fa4[_0xf2b8da(0x86)](_0x4188d6),_0x595fa4[_0xf2b8da(0x86)](_0x4d7e89)]);return{'enabled':!![],'writeLock':_0x3463f5['WprzP'](_0x38dfe8,null),'readCount':parseInt(_0x37129e)||0x0,'writeKey':_0x4188d6,'readKey':_0x4d7e89};}catch(_0x53b0eb){return{'enabled':!![],'error':_0x53b0eb[_0xf2b8da(0x92)]};}}}module[a0_0x3910e4(0xb6)]=new LockManager();
|
package/src/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x1a7c8f=a0_0x2426;(function(_0x35be85,_0x4b3710){const _0x2e9f97=a0_0x2426,_0x245a3e=_0x35be85();while(!![]){try{const _0x2c9382=parseInt(_0x2e9f97(0x122))/0x1*(parseInt(_0x2e9f97(0x158))/0x2)+parseInt(_0x2e9f97(0x15f))/0x3*(parseInt(_0x2e9f97(0xf5))/0x4)+-parseInt(_0x2e9f97(0x114))/0x5+parseInt(_0x2e9f97(0x13a))/0x6*(-parseInt(_0x2e9f97(0x155))/0x7)+parseInt(_0x2e9f97(0x110))/0x8+parseInt(_0x2e9f97(0xe3))/0x9*(parseInt(_0x2e9f97(0x137))/0xa)+-parseInt(_0x2e9f97(0x166))/0xb;if(_0x2c9382===_0x4b3710)break;else _0x245a3e['push'](_0x245a3e['shift']());}catch(_0x302473){_0x245a3e['push'](_0x245a3e['shift']());}}}(a0_0x1e80,0xd563b));function a0_0x2426(_0x1e6b97,_0x9bbf9a){_0x1e6b97=_0x1e6b97-0xb7;const _0x1e80ce=a0_0x1e80();let _0x242691=_0x1e80ce[_0x1e6b97];if(a0_0x2426['CxlnbP']===undefined){var _0xc034c5=function(_0x229ef1){const _0x4d9958='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x29cef5='',_0x47615f='';for(let _0x291206=0x0,_0x3ab846,_0xa925cc,_0x5301c2=0x0;_0xa925cc=_0x229ef1['charAt'](_0x5301c2++);~_0xa925cc&&(_0x3ab846=_0x291206%0x4?_0x3ab846*0x40+_0xa925cc:_0xa925cc,_0x291206++%0x4)?_0x29cef5+=String['fromCharCode'](0xff&_0x3ab846>>(-0x2*_0x291206&0x6)):0x0){_0xa925cc=_0x4d9958['indexOf'](_0xa925cc);}for(let _0x7619ab=0x0,_0x2583f9=_0x29cef5['length'];_0x7619ab<_0x2583f9;_0x7619ab++){_0x47615f+='%'+('00'+_0x29cef5['charCodeAt'](_0x7619ab)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x47615f);};a0_0x2426['wHZKik']=_0xc034c5,a0_0x2426['pZyNzq']={},a0_0x2426['CxlnbP']=!![];}const _0x500330=_0x1e80ce[0x0],_0x4936a3=_0x1e6b97+_0x500330,_0x12b368=a0_0x2426['pZyNzq'][_0x4936a3];return!_0x12b368?(_0x242691=a0_0x2426['wHZKik'](_0x242691),a0_0x2426['pZyNzq'][_0x4936a3]=_0x242691):_0x242691=_0x12b368,_0x242691;}const pino=require('pino'),fs=require('fs'),path=require('path');let logToFile=![],logDir=a0_0x1a7c8f(0xfd),serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x1a7c8f(0x11a),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0x1a7c8f(0x103),'customColors':a0_0x1a7c8f(0x126),'hideObject':!![]},isDevelopment=process[a0_0x1a7c8f(0xe2)][a0_0x1a7c8f(0x160)]!=='production',logLevel=process['env']['LOG_LEVEL']||'info';function a0_0x1e80(){const _0x3a2e8d=['w09lxsbqCM9Qzwn0igXVywrLzdOG','C3rHDhvZq29Kzq','BwfW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','CMvZDgzVCMDL','CgLUBY1WCMv0DhK','CxvLCNK','BwvTB3j5vxnHz2u','Dg9vChbLCKnHC2u','CMvMCMvZAf90B2TLBG','Ag9ZDa','q1jjveLdquW','zgjFDhjHBNnHy3rPB24','z2v0sgvHzgvYCW','y3jLzgL0x2nHCMq','DxjS','mtCXntqYotbtwhPouNa','vNfTC2m','u1fmx0Xpr19mrvzfta','mZq3nfP6CvP2BG','C2vYDMLJzuLUzM8','y29UzMLNrMLSzq','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','z25vCgu','Bg9N','zMXVB3i','sw50zxjUywWGC2vYDMvYigvYCM9Y','zgjFCxvLCNK','CMvTB3rLqwrKCMvZCW','y29Kzq','y3jLzgvUDgLHBa','lI9SB2DZlW','CgfZC3DK','CMvWzwf0','Cg9YDa','v2HJrNC','C3rHy2S','C3rHCNrZv2L0Aa','CgfKrw5K','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','sNr5yNG','ENLJvxu','ChjVy2vZC193yxjUAw5N','BxmP','t2T2vuq','C3vIC3rYAw5N','oda3ofjoteT0Bq','Dw5JyxvNAhrfEgnLChrPB24','C3rKu2vYAwfSAxPLCNm','mJzqBfrzr04','u1fmx0Xpr19ftKfcteve','yxbWlMXVzW','z2DgC0K','zgvMyxvSDa','zMf0ywXFzxjYB3i','rxjYB3i','nJa1mZfbt0vVEMe','tK9erv9ftLy','C3rYAw5NAwz5','AxnVvgLTzq','sLDux1nfq1jfva','Dw5RBM93BG','v2Tequ0','nZu3mZq3ohvcsNjrrq','vvbeqvrf','qvbqx1zfuLnjt04','Ahr0Cf9LCNjVCG','rfjfrfC','B3rvuvC','sfruuca','AgvHzgvYCW','shr6Bgq','BwvZC2fNzq','Dg9Rzw4','D2fYBG','rKfuquW6ia','vND0wue','AuvAze8','rgf0ywjHC2u6ia','su5trvju','ENzqBeC','tfnHD1a','zgvIDwC','icbvuKW6icaGia','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','yxbPs2v5','rermx0nsrufurq','u2vYDMvYihn0yxj0Aw5NoIa','yxv0Ag9YAxPHDgLVBG','yxbPA2v5','D2fYBMLUzW','z2v0','yxbPx2TLEq','AvHOqxO','Chnry0e','iokvKqRILzeGifbYB2PLy3qGicaGidOG','zxHPC3rZu3LUyW','te9hx1rpx0zjteu','tNLTz24','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','ChjVAMvJDf9SB2fKzwq','w1jfrefdvevexq','t01wruq','qKvhsu4','vu5ltK9xtG','EKLUq1u','Dvz3quy','zgf0ywjHC2u','Dxb0Aw1L','BgvUz3rO','revmrvrf','t1jdvwq','icdIHPiG','v3v1s0e','Avrntxa','zxjY','zMf0ywW','Aw5MBW','EgLfDNO','Ec1Yzxf1zxn0lwLK','zxHWB3j0CW','zw52','ouv4vgjWwG','qM52sKO','y2HPBgq','Bwv0Ag9K','De9ZsuK','C2vJCMv0','C2vYDMvYx3n0yxj0Aw5N','zxjYB3iUBg9N','DePizNa','qMPdAxC','qunusvzf','A1bcrNu','zxjYB3i','rermx0rst1a','DhjPBq','zw52AxjVBM1LBNq','u1rbuLqGvfjbtLnbq1rjt04','DxnLCI1Hz2vUDa','mtiWq3nrswTK','yMfZzvvYBa','D3jPDgu','iokvKqRILzeGiefqssblzxKGicaGidOG','rKL3q1u','ChDK','vefVDKy','C3bSAxq','lI9SB2DZ','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','CgfZC3DVCMq','BMfTzq','Dg9mB3DLCKnHC2u','y29UBMvJDgLVBG','E21Zz30','yM9KEq','ywnJzxnZx3rVA2vU','B3rW','rejFueftu1DpuKq','v3nPtLi','Bw9KDwXL','zhvYyxrPB25nCW','ChjPDMf0zwTLEq','vfjbtLnbq1rjt05FqKvhsu4','Dg9ju09tDhjPBMC','su5uELa','Bwf0y2G','mta4mZi5nMrQqxbKra','te1qshC','Ahj0Aw1L','u1fmx0Xpr19tte9xx1riuKvtse9mra','mte1odq4nuPdvwXmqq','u0vmrunu','ufbbEwC','C29Tzq','Aw5JBhvKzxm','CgLU','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','AgvHBhrOq2HLy2S','ugzIEwW','Cgf0Aa','tfHesfi','BwTKAxjtEw5J','BNrHsum','Ahr0Cf9Yzxf1zxn0','ndGXu2D6A0fZ','ywr4wwC','A01cwNq','BMXdrve','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5'];a0_0x1e80=function(){return _0x3a2e8d;};return a0_0x1e80();}let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x1a7c8f(0x12c),'options':prettyPrintOptions}:undefined,'base':{'service':a0_0x1a7c8f(0x12b),'version':process[a0_0x1a7c8f(0xe2)][a0_0x1a7c8f(0x168)]||'1.0.5','env':process['env']['NODE_ENV']||'development'},'timestamp':pino['stdTimeFunctions'][a0_0x1a7c8f(0x162)],'redact':{'paths':[a0_0x1a7c8f(0x13d),'req.headers[\x22x-api-key\x22]',a0_0x1a7c8f(0xff),a0_0x1a7c8f(0x170),'apiKey',a0_0x1a7c8f(0x107),a0_0x1a7c8f(0x163)],'censor':a0_0x1a7c8f(0xce)},'serializers':{'req':_0xb4c989=>({'id':_0xb4c989['id'],'method':_0xb4c989['method'],'url':_0xb4c989[a0_0x1a7c8f(0x136)],'path':_0xb4c989[a0_0x1a7c8f(0x11d)],'remoteAddress':_0xb4c989['ip']||_0xb4c989[a0_0x1a7c8f(0x102)]?.[a0_0x1a7c8f(0x143)]}),'res':_0x331ead=>({'statusCode':_0x331ead[a0_0x1a7c8f(0x128)],'headers':_0x331ead[a0_0x1a7c8f(0x134)]?.()}),'err':pino[a0_0x1a7c8f(0x157)][a0_0x1a7c8f(0xdc)]}});function initFileLogging(){const _0x291ee6=a0_0x1a7c8f,_0x3549d0={'EcHkV':function(_0x495c7a,_0x553898){return _0x495c7a===_0x553898;},'Hxhxl':_0x291ee6(0x15c),'pEZBT':'restforge','mcbcJ':function(_0x5323b6,_0xc35cd1){return _0x5323b6===_0xc35cd1;},'Htzld':'true','YIycw':'debug','kMBZt':function(_0x25ee54,_0x230767){return _0x25ee54!==_0x230767;},'iEZdO':'false','sISis':'error.log','hwxDW':function(_0x4bc5ab,_0x1a4c26,_0xe454cd){return _0x4bc5ab(_0x1a4c26,_0xe454cd);},'ORCUd':_0x291ee6(0xde)};if(fileLoggingInitialized)return;logToFile=_0x3549d0['EcHkV'](process['env'][_0x291ee6(0xca)],'true');const _0x283298=process['env'][_0x291ee6(0x12a)]||_0x3549d0['Hxhxl'];logDir=process['env']['LOG_DIR']||_0x291ee6(0x146)+_0x283298,serviceName=process['env']['SERVICE_NAME']||_0x3549d0['pEZBT'],sqlLogEnabled=_0x3549d0['mcbcJ'](process['env'][_0x291ee6(0x159)],_0x3549d0[_0x291ee6(0x16e)]),sqlLogLevel=process[_0x291ee6(0xe2)][_0x291ee6(0x139)]||_0x3549d0['YIycw'],sqlLogParams=_0x3549d0[_0x291ee6(0x124)](process['env']['SQL_LOG_PARAMS'],_0x3549d0[_0x291ee6(0x174)]),sqlLogSlowThreshold=parseInt(process['env'][_0x291ee6(0x113)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x13e8f7=path['resolve'](process['cwd'](),logDir);try{!fs[_0x291ee6(0xc9)](_0x13e8f7)&&fs[_0x291ee6(0x11f)](_0x13e8f7,{'recursive':!![]});}catch(_0x3f8660){console[_0x291ee6(0xef)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x13e8f7+':',_0x3f8660['message']),fileLoggingInitialized=!![];return;}const _0x48ad2c=path['join'](_0x13e8f7,'app.log'),_0x534bc1=path['join'](_0x13e8f7,_0x3549d0['sISis']);try{appLogStream=fs['createWriteStream'](_0x48ad2c,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x534bc1,{'flags':'a'}),fileLoggingInitialized=!![];const _0x2bb8c5={'event':'file_logging_enabled','logDir':_0x13e8f7,'files':[_0x291ee6(0x15a),_0x291ee6(0xea)]},_0x4f253b='File\x20logging\x20enabled:\x20'+_0x13e8f7;logger['info'](_0x2bb8c5,_0x4f253b),_0x3549d0['hwxDW'](writeToFileLog,{..._0x2bb8c5,'level':_0x3549d0[_0x291ee6(0xd8)],'msg':_0x4f253b,'time':new Date()['toISOString']()},_0x291ee6(0xde));}catch(_0x10bccc){console[_0x291ee6(0xef)](_0x291ee6(0xfe),_0x10bccc['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0xfec77e,_0x4e7851){const _0x17dfed=a0_0x1a7c8f,_0x31d438={'WkDAM':function(_0x2d21ea,_0x61370){return _0x2d21ea||_0x61370;},'VwtYA':function(_0x328c26,_0x55a96d){return _0x328c26+_0x55a96d;},'xiEvz':'error','tOsII':function(_0x523cd8,_0x1c68b9){return _0x523cd8===_0x1c68b9;}};if(_0x31d438[_0x17dfed(0x165)](!logToFile,!appLogStream))return;const _0x3a6dc8={'service':serviceName,..._0xfec77e},_0x578042=_0x31d438[_0x17dfed(0x173)](JSON[_0x17dfed(0x161)](_0x3a6dc8),'\x0a');appLogStream[_0x17dfed(0xf7)](_0x578042),(_0x4e7851===_0x31d438[_0x17dfed(0xdf)]||_0x31d438[_0x17dfed(0xe7)](_0x4e7851,'fatal'))&&(errorLogStream&&errorLogStream[_0x17dfed(0xf7)](_0x578042));}const createRequestLogger=(_0x33c3eb={})=>{const _0x47e6b3=a0_0x1a7c8f;return logger[_0x47e6b3(0xe5)](_0x33c3eb);},logServerStart=_0x6b6691=>{const _0x54b567=a0_0x1a7c8f,_0x342b7c={'fLhyG':function(_0x49ebc7,_0x3896e9){return _0x49ebc7/_0x3896e9;},'nlCEQ':function(_0x5d97fc,_0x13f85e){return _0x5d97fc-_0x13f85e;},'kPBFu':'Node.js','XuvLP':_0x54b567(0xed),'WplOu':'NOT\x20ACTIVE','BRnZY':_0x54b567(0xde)},_0x15fd31='RESTFORGE\x20RUNTIME\x20SERVER',_0x5486bf=Math['max'](0x0,0x37-_0x15fd31[_0x54b567(0xd6)]),_0x837cbd=Math[_0x54b567(0x140)](_0x342b7c['fLhyG'](_0x5486bf,0x2)),_0x5f0b99=_0x342b7c[_0x54b567(0x125)](_0x5486bf,_0x837cbd),_0x3dea0e='║'+'\x20'[_0x54b567(0x148)](_0x837cbd)+_0x15fd31+'\x20'['repeat'](_0x5f0b99)+'║',_0x3a834='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x3dea0e+_0x54b567(0xcc)+(_0x6b6691[_0x54b567(0xf2)]||_0x342b7c[_0x54b567(0xee)])['padEnd'](0x26)+_0x54b567(0xc8)+(_0x6b6691['project']||'N/A')[_0x54b567(0x14d)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x6b6691['port']||0xbb8)['padEnd'](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x6b6691[_0x54b567(0x13c)]||'Default')['padEnd'](0x26)+_0x54b567(0xf8)+(_0x6b6691['apiKey']?_0x342b7c['XuvLP']:_0x342b7c['WplOu'])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x54b567(0x13f)](_0x3a834);const _0xfb1725={'event':_0x54b567(0xe9),'project':_0x6b6691['project'],'port':_0x6b6691[_0x54b567(0x149)],'config':_0x6b6691['configFile'],'apiKeyEnabled':!!_0x6b6691[_0x54b567(0xbe)]};logger['info'](_0xfb1725),writeToFileLog({..._0xfb1725,'level':_0x54b567(0xde),'msg':_0x54b567(0xc0)+_0x6b6691['project']+'\x20on\x20port\x20'+_0x6b6691[_0x54b567(0x149)],'time':new Date()['toISOString']()},_0x342b7c['BRnZY']);},logServerReady=_0x7ea65c=>{const _0x1dc1ba=a0_0x1a7c8f,_0x1476c0={'tBGzz':function(_0x2bd3d5,_0x4a19b1,_0x2e18ba){return _0x2bd3d5(_0x4a19b1,_0x2e18ba);},'gqPgF':_0x1dc1ba(0xde)},_0xe5936={'event':'server_ready','port':_0x7ea65c[_0x1dc1ba(0x149)],'module':_0x7ea65c[_0x1dc1ba(0x109)],'healthCheck':_0x7ea65c[_0x1dc1ba(0x11b)],'serviceInfo':_0x7ea65c[_0x1dc1ba(0x13b)],'baseUrl':_0x7ea65c[_0x1dc1ba(0xf6)]},_0x563c55=_0x1dc1ba(0x14e)+_0x7ea65c['port'];logger[_0x1dc1ba(0xde)](_0xe5936,_0x563c55),_0x1476c0['tBGzz'](writeToFileLog,{..._0xe5936,'level':_0x1476c0['gqPgF'],'msg':_0x563c55,'time':new Date()['toISOString']()},_0x1476c0['gqPgF']),_0x7ea65c[_0x1dc1ba(0x11b)]&&logger[_0x1dc1ba(0xde)]('\x20\x20Health:\x20'+_0x7ea65c[_0x1dc1ba(0x11b)]),_0x7ea65c[_0x1dc1ba(0x13b)]&&logger['info']('\x20\x20Info:\x20\x20\x20'+_0x7ea65c[_0x1dc1ba(0x13b)]),_0x7ea65c[_0x1dc1ba(0xf6)]&&logger['info'](_0x1dc1ba(0xbc)+_0x7ea65c[_0x1dc1ba(0xf6)]);},logProjectLoaded=(_0x264ea8,_0x27de1c)=>{const _0x2d889f=a0_0x1a7c8f,_0x44fc50={'zvPlG':function(_0x393deb,_0x249163,_0x46d9b9){return _0x393deb(_0x249163,_0x46d9b9);}},_0x58ee5f={'event':_0x2d889f(0xcd),'project':_0x264ea8,'path':_0x27de1c},_0x1c5571=_0x2d889f(0x127)+_0x264ea8;logger[_0x2d889f(0xde)](_0x58ee5f,_0x1c5571),_0x44fc50[_0x2d889f(0xb9)](writeToFileLog,{..._0x58ee5f,'level':_0x2d889f(0xde),'msg':_0x1c5571,'time':new Date()['toISOString']()},'info');},logEndpointRegistered=(_0x7feb59,_0x496ae6)=>{const _0x5e5ece=a0_0x1a7c8f,_0xa7df62={'NVjEr':'endpoint_registered','sgerR':function(_0x474906,_0x32a7f3,_0x3fbd97){return _0x474906(_0x32a7f3,_0x3fbd97);}},_0xdf5041={'event':_0xa7df62['NVjEr'],'endpoint':_0x7feb59,'route':_0x496ae6},_0x337024=_0x5e5ece(0xd9)+_0x7feb59+':\x20'+_0x496ae6;logger['debug'](_0xdf5041,_0x337024),_0xa7df62['sgerR'](writeToFileLog,{..._0xdf5041,'level':'debug','msg':_0x337024,'time':new Date()['toISOString']()},'debug');},logDatabaseConfig=_0x4592bd=>{const _0x4e3949=a0_0x1a7c8f,_0x45a926={'hqVVI':'database_config','Vqmsc':_0x4e3949(0xbb)},_0x30fc5e={'event':_0x45a926['hqVVI'],'host':_0x4592bd[_0x4e3949(0x131)],'port':_0x4592bd['port'],'database':_0x4592bd[_0x4e3949(0xd4)],'type':_0x4592bd['type'],'user':_0x4592bd['user']},_0x182147=_0x4e3949(0xb7)+_0x4592bd['type']+'://'+_0x4592bd['host']+':'+_0x4592bd[_0x4e3949(0x149)]+'/'+_0x4592bd[_0x4e3949(0xd4)];logger['debug'](_0x30fc5e,_0x182147),writeToFileLog({..._0x30fc5e,'level':_0x45a926['Vqmsc'],'msg':_0x182147,'time':new Date()['toISOString']()},_0x45a926[_0x4e3949(0x138)]);},logRequest=(_0x6f379b,_0x1ec29a,_0x566c86)=>{const _0x6e29b4=a0_0x1a7c8f,_0x57d12f={'OkvUD':_0x6e29b4(0x121),'cYspz':_0x6e29b4(0xde),'ZwvXn':function(_0x437e27,_0x14d925,_0x371b01){return _0x437e27(_0x14d925,_0x371b01);}},_0x114049={'event':_0x57d12f[_0x6e29b4(0x153)],'method':_0x6f379b[_0x6e29b4(0xe6)],'path':_0x6f379b['path'],'statusCode':_0x1ec29a['statusCode'],'durationMs':_0x566c86,'ip':_0x6f379b['ip']},_0x44166a=_0x6f379b['method']+'\x20'+_0x6f379b[_0x6e29b4(0x11d)]+'\x20-\x20'+_0x1ec29a['statusCode']+'\x20('+_0x566c86+'ms)';let _0x57b377=_0x57d12f['cYspz'];if(_0x1ec29a[_0x6e29b4(0x128)]>=0x1f4)_0x57b377='error',logger['error'](_0x114049,_0x44166a);else _0x1ec29a['statusCode']>=0x190?(_0x57b377='warn',logger['warn'](_0x114049,_0x44166a)):logger[_0x6e29b4(0xde)](_0x114049,_0x44166a);_0x57d12f['ZwvXn'](writeToFileLog,{..._0x114049,'level':_0x57b377,'msg':_0x44166a,'time':new Date()[_0x6e29b4(0x10d)]()},_0x57b377);},SENSITIVE_PARAM_PATTERNS=[a0_0x1a7c8f(0xff),'passwd',a0_0x1a7c8f(0xfa),a0_0x1a7c8f(0x170),a0_0x1a7c8f(0x105),'refresh_token',a0_0x1a7c8f(0xe8),'api_secret',a0_0x1a7c8f(0xc2),'api_key',a0_0x1a7c8f(0x145),'credentials',a0_0x1a7c8f(0x119),a0_0x1a7c8f(0x106),'private_key',a0_0x1a7c8f(0x10b)],redactSensitiveParams=(_0x452eee,_0x391d65)=>{const _0x4be0c8=a0_0x1a7c8f,_0x1ae45e={'ntaIC':'[REDACTED]','Lkqkt':function(_0xd93910,_0x28e6a0){return _0xd93910>_0x28e6a0;},'laaOx':'[REDACTED:hash]'};if(!_0x452eee||_0x452eee[_0x4be0c8(0xd6)]===0x0)return _0x452eee;const _0x34f5ce=_0x391d65[_0x4be0c8(0x101)](),_0x599289=_0x34f5ce[_0x4be0c8(0x10f)](/\(([^)]+)\)\s*values/i);let _0x50fa2b=[];_0x599289&&(_0x50fa2b=_0x599289[0x1][_0x4be0c8(0xfc)](',')[_0x4be0c8(0x129)](_0x2bbfca=>_0x2bbfca[_0x4be0c8(0xf1)]()[_0x4be0c8(0x101)]()));const _0x402d20=_0x34f5ce[_0x4be0c8(0x10f)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x402d20){const _0x524ca5=_0x402d20[0x1],_0x186790=_0x524ca5[_0x4be0c8(0x10f)](/(\w+)\s*=/g);_0x186790&&(_0x50fa2b=_0x186790[_0x4be0c8(0x129)](_0x100f1e=>_0x100f1e['replace'](/\s*=/,'')[_0x4be0c8(0xf1)]()['toLowerCase']()));}return _0x452eee[_0x4be0c8(0x129)]((_0x1011f4,_0x28d4b4)=>{const _0xff8acc=_0x4be0c8;if(_0x50fa2b[_0x28d4b4]){const _0x329f9f=_0x50fa2b[_0x28d4b4],_0x2f83d5=SENSITIVE_PARAM_PATTERNS[_0xff8acc(0x117)](_0x522a6a=>_0x329f9f[_0xff8acc(0x118)](_0x522a6a));if(_0x2f83d5)return _0x1ae45e[_0xff8acc(0x120)];}if(typeof _0x1011f4==='string'&&_0x1ae45e['Lkqkt'](_0x1011f4['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x1011f4)&&_0x1011f4[_0xff8acc(0x118)]('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/['test'](_0x1011f4))return _0x1ae45e['laaOx'];}return _0x1011f4;});},parseQueryMetadata=_0x46239a=>{const _0xbe14c0=a0_0x1a7c8f,_0x69bf2f={'VmKyU':_0xbe14c0(0x115),'tJHfp':'INSERT','Dumjd':_0xbe14c0(0x167),'iXhAz':_0xbe14c0(0xd7),'gnUpe':_0xbe14c0(0x10c),'Jtybx':'COMMIT','bIpTj':'ROLLBACK','LSawP':'CREATE','TAovF':_0xbe14c0(0xbf),'qvbtJ':'ALTER'},_0x349e53=_0x46239a[_0xbe14c0(0xf1)](),_0x1bd3a6=_0x349e53['toUpperCase']();let _0x3c067e=_0xbe14c0(0xd1),_0x419313=null;if(_0x1bd3a6['startsWith'](_0xbe14c0(0x115))){_0x3c067e=_0x69bf2f['VmKyU'];const _0x20972d=_0x349e53['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x419313=_0x20972d?_0x20972d[0x1]:null;}else{if(_0x1bd3a6[_0xbe14c0(0x14c)](_0xbe14c0(0xb8))){_0x3c067e=_0x69bf2f[_0xbe14c0(0xeb)];const _0x40eff8=_0x349e53['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x419313=_0x40eff8?_0x40eff8[0x1]:null;}else{if(_0x1bd3a6['startsWith'](_0x69bf2f['Dumjd'])){_0x3c067e=_0xbe14c0(0x167);const _0x54a4d2=_0x349e53['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x419313=_0x54a4d2?_0x54a4d2[0x1]:null;}else{if(_0x1bd3a6[_0xbe14c0(0x14c)](_0x69bf2f[_0xbe14c0(0xc6)])){_0x3c067e='DELETE';const _0x45c5fd=_0x349e53['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x419313=_0x45c5fd?_0x45c5fd[0x1]:null;}else{if(_0x1bd3a6[_0xbe14c0(0x14c)](_0xbe14c0(0xd0))||_0x1bd3a6[_0xbe14c0(0x14c)](_0xbe14c0(0xf3)))_0x3c067e=_0x69bf2f[_0xbe14c0(0x13e)];else{if(_0x1bd3a6[_0xbe14c0(0x14c)](_0x69bf2f[_0xbe14c0(0x14f)]))_0x3c067e='TRANSACTION_COMMIT';else{if(_0x1bd3a6['startsWith'](_0x69bf2f['bIpTj']))_0x3c067e='TRANSACTION_ROLLBACK';else{if(_0x1bd3a6['startsWith'](_0x69bf2f[_0xbe14c0(0xba)]))_0x3c067e=_0x69bf2f[_0xbe14c0(0xfb)];else{if(_0x1bd3a6[_0xbe14c0(0x14c)](_0x69bf2f['qvbtJ']))_0x3c067e='DDL_ALTER';else _0x1bd3a6[_0xbe14c0(0x14c)]('DROP')&&(_0x3c067e=_0xbe14c0(0xf0));}}}}}}}}return{'type':_0x3c067e,'table':_0x419313};},startQueryTimer=()=>{const _0x343e6=a0_0x1a7c8f,_0x475efd={'zInCU':function(_0x5aa19f,_0x2172c7){return _0x5aa19f(_0x2172c7);},'BjCiw':function(_0x2a283f,_0x38b913){return _0x2a283f+_0x38b913;}},_0x468743=process[_0x343e6(0x112)]();return()=>{const _0x2a158d=_0x343e6,[_0x3d76f1,_0x16b76b]=process['hrtime'](_0x468743);return _0x475efd[_0x2a158d(0xd2)](parseFloat,_0x475efd[_0x2a158d(0xec)](_0x3d76f1*0x3e8,_0x16b76b/0xf4240)['toFixed'](0x2));};},logQuery=(_0x340599,_0x48d1d7=[],_0xb290ea={})=>{const _0x430f32=a0_0x1a7c8f,_0x5bb0a5={'KNJWr':_0x430f32(0x142),'WdReq':'DB\x20Query','LMPHw':function(_0x1873a3,_0x22573b){return _0x1873a3(_0x22573b);},'HxAKH':function(_0x587b5b,_0x30db0e){return _0x587b5b>_0x30db0e;},'PPAyg':function(_0x118bce,_0x4277cf,_0x59995c){return _0x118bce(_0x4277cf,_0x59995c);},'Hqyse':function(_0xe8fcc4,_0x3d215c){return _0xe8fcc4!==_0x3d215c;},'dNivV':function(_0x4c1c22,_0x7759d9){return _0x4c1c22===_0x7759d9;},'zycUu':_0x430f32(0xde)};if(!sqlLogEnabled){logger['debug']({'event':_0x5bb0a5['KNJWr'],'query':_0x340599[_0x430f32(0x154)](0x0,0xc8),'paramCount':_0x48d1d7[_0x430f32(0xd6)]},_0x5bb0a5['WdReq']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0xb290ea,{type:_0x49ed86,table:_0x5778b9}=_0x5bb0a5[_0x430f32(0x111)](parseQueryMetadata,_0x340599),_0x2aec9a={'event':'sql_query','queryType':_0x49ed86,'table':_0x5778b9,'query':_0x340599,'paramCount':_0x48d1d7[_0x430f32(0xd6)],'dbType':dbType};sqlLogParams&&_0x5bb0a5['HxAKH'](_0x48d1d7[_0x430f32(0xd6)],0x0)&&(_0x2aec9a['params']=_0x5bb0a5[_0x430f32(0x116)](redactSensitiveParams,_0x48d1d7,_0x340599));_0x5bb0a5['Hqyse'](duration,null)&&(_0x2aec9a[_0x430f32(0x10a)]=duration,_0x2aec9a['isSlow']=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x2aec9a['rowsAffected']=rowsAffected);const _0x3a70fb=_0x5778b9||_0x430f32(0x164);let _0x1e70dd='['+_0x49ed86+']\x20'+_0x3a70fb;duration!==null&&(_0x1e70dd+='\x20('+duration+_0x430f32(0x152));const _0x16d8f9=_0x5bb0a5['Hqyse'](duration,null)&&duration>sqlLogSlowThreshold;let _0x251240='debug';if(_0x16d8f9)_0x1e70dd+='\x20[SLOW]',_0x251240='warn',logger['warn'](_0x2aec9a,_0x1e70dd);else _0x5bb0a5['dNivV'](sqlLogLevel,_0x5bb0a5['zycUu'])?(_0x251240=_0x5bb0a5[_0x430f32(0x150)],logger['info'](_0x2aec9a,_0x1e70dd)):logger[_0x430f32(0xbb)](_0x2aec9a,_0x1e70dd);_0x5bb0a5['PPAyg'](writeToFileLog,{..._0x2aec9a,'level':_0x251240,'msg':_0x1e70dd,'time':new Date()[_0x430f32(0x10d)]()},_0x251240);},logTransaction=(_0x5af874,_0x11a3c8)=>{const _0x25a19e=a0_0x1a7c8f,_0x509d09={'dPjzN':_0x25a19e(0x133),'FGyRh':'debug'},_0x3fae72={'event':_0x509d09['dPjzN'],'status':_0x5af874,'queryCount':_0x11a3c8},_0x5689d0='Transaction\x20'+_0x5af874;logger['debug'](_0x3fae72,_0x5689d0),writeToFileLog({..._0x3fae72,'level':'debug','msg':_0x5689d0,'time':new Date()['toISOString']()},_0x509d09['FGyRh']);},redactObject=_0xaf9886=>{const _0x1597ad=a0_0x1a7c8f,_0xd84b28={'wBztQ':_0x1597ad(0x170),'FxHZD':_0x1597ad(0xe8),'iTMMp':'apikey','FYqBG':_0x1597ad(0xc5),'UfhTp':_0x1597ad(0xc1),'kSzQC':'creditcard','adxYg':_0x1597ad(0x135),'GcLKd':'cvv','VPAHo':_0x1597ad(0x119),'psQcA':'private_key','FIwCU':_0x1597ad(0x10b),'uDxXg':_0x1597ad(0x130),'WsiNR':_0x1597ad(0x105),'IgWQQ':function(_0x13a09e,_0x538a78){return _0x13a09e!==_0x538a78;},'uVwAF':function(_0x197682,_0x5af0a5){return _0x197682(_0x5af0a5);}};if(!_0xaf9886||typeof _0xaf9886!=='object')return _0xaf9886;const _0xa84e84=['password',_0x1597ad(0x147),'pwd',_0xd84b28['wBztQ'],_0xd84b28['FxHZD'],_0xd84b28[_0x1597ad(0xdb)],_0xd84b28['FYqBG'],_0xd84b28['UfhTp'],_0xd84b28['kSzQC'],_0xd84b28[_0x1597ad(0x123)],_0xd84b28['GcLKd'],'ssn',_0xd84b28['VPAHo'],_0xd84b28[_0x1597ad(0xc7)],_0xd84b28[_0x1597ad(0xf9)],_0xd84b28['uDxXg'],_0xd84b28[_0x1597ad(0x108)]],_0x5b4814=Array['isArray'](_0xaf9886)?[..._0xaf9886]:{..._0xaf9886};for(const _0x13d259 of Object['keys'](_0x5b4814)){const _0x12aaa0=_0x13d259['toLowerCase']();if(_0xa84e84['some'](_0x36adf4=>_0x12aaa0['includes'](_0x36adf4)))_0x5b4814[_0x13d259]='[REDACTED]';else typeof _0x5b4814[_0x13d259]==='object'&&_0xd84b28['IgWQQ'](_0x5b4814[_0x13d259],null)&&(_0x5b4814[_0x13d259]=_0xd84b28[_0x1597ad(0xd3)](redactObject,_0x5b4814[_0x13d259]));}return _0x5b4814;},logError=(_0xabf070,_0x2dcdf7={},_0x514f71=null)=>{const _0x5c6ab2=a0_0x1a7c8f,_0x22e49c={'BnvJJ':_0x5c6ab2(0x15e),'lJevU':function(_0x3d8d96,_0x12d575,_0x4b857b){return _0x3d8d96(_0x12d575,_0x4b857b);}},_0x4f1360={'event':_0x5c6ab2(0xef),'errorName':_0xabf070[_0x5c6ab2(0x100)]||_0x22e49c[_0x5c6ab2(0xe4)],'errorMessage':_0xabf070[_0x5c6ab2(0x16f)],'errorCode':_0xabf070[_0x5c6ab2(0x144)]||null,'stack':_0xabf070['stack'],..._0x2dcdf7},_0x3f8e58=_0x514f71||'Error:\x20'+_0xabf070[_0x5c6ab2(0x16f)];logger[_0x5c6ab2(0xef)](_0x4f1360,_0x3f8e58),_0x22e49c['lJevU'](writeToFileLog,{..._0x4f1360,'level':_0x5c6ab2(0xef),'msg':_0x3f8e58,'time':new Date()['toISOString']()},'error');},logFatalError=(_0x12a6cb,_0x49f205={},_0x2e41c4=null)=>{const _0x2cbe91=a0_0x1a7c8f,_0x12529b={'DREDW':_0x2cbe91(0x15d),'MPxds':_0x2cbe91(0x15e),'cVjxg':_0x2cbe91(0xdd),'nCksh':_0x2cbe91(0xef)},_0xc6e8c2={'event':_0x12529b[_0x2cbe91(0x16a)],'errorName':_0x12a6cb['name']||_0x12529b['MPxds'],'errorMessage':_0x12a6cb['message'],'errorCode':_0x12a6cb[_0x2cbe91(0x144)]||null,'stack':_0x12a6cb[_0x2cbe91(0x14b)],'severity':'CRITICAL',..._0x49f205},_0x5575d7=_0x2e41c4||_0x2cbe91(0x172)+_0x12a6cb['message'];logger[_0x2cbe91(0xdd)](_0xc6e8c2,_0x5575d7),writeToFileLog({..._0xc6e8c2,'level':_0x12529b['cVjxg'],'msg':_0x5575d7,'time':new Date()[_0x2cbe91(0x10d)]()},_0x12529b['nCksh']);},logHttpError=(_0x4670da,_0x13c67a,_0x52d86d={})=>{const _0x13f39b=a0_0x1a7c8f,_0x12f0d7={'otUQW':_0x13f39b(0xe0),'WuuKA':function(_0x15b45b,_0x1a2d54){return _0x15b45b>=_0x1a2d54;},'fuwYp':function(_0xdb36a4,_0x57bcc2,_0x27d3e6){return _0xdb36a4(_0x57bcc2,_0x27d3e6);}},_0x57c31e={'event':_0x13f39b(0x169),'errorName':_0x4670da[_0x13f39b(0x100)]||'Error','errorMessage':_0x4670da['message'],'errorCode':_0x4670da[_0x13f39b(0x144)]||_0x4670da[_0x13f39b(0x128)]||0x1f4,'stack':_0x4670da[_0x13f39b(0x14b)],'method':_0x13c67a?.[_0x13f39b(0xe6)],'url':_0x13c67a?.[_0x13f39b(0x136)]||_0x13c67a?.['originalUrl'],'path':_0x13c67a?.['path'],'ip':_0x13c67a?.['ip']||_0x13c67a?.[_0x13f39b(0x102)]?.['remoteAddress'],'userAgent':_0x13c67a?.[_0x13f39b(0xc4)]?.(_0x13f39b(0xf4)),'requestId':_0x13c67a?.['id']||_0x13c67a?.['headers']?.[_0x12f0d7[_0x13f39b(0x16b)]],'body':_0x13c67a?.['body']?redactObject(_0x13c67a[_0x13f39b(0x104)]):undefined,'query':_0x13c67a?.[_0x13f39b(0x12d)],..._0x52d86d},_0x2c0e75=_0x4670da[_0x13f39b(0x128)]||_0x4670da['status']||0x1f4,_0x545554=_0x13f39b(0x16c)+_0x2c0e75+':\x20'+_0x4670da[_0x13f39b(0x16f)];_0x12f0d7[_0x13f39b(0xda)](_0x2c0e75,0x1f4)?logger['error'](_0x57c31e,_0x545554):logger[_0x13f39b(0x171)](_0x57c31e,_0x545554),_0x12f0d7['fuwYp'](writeToFileLog,{..._0x57c31e,'level':_0x12f0d7['WuuKA'](_0x2c0e75,0x1f4)?'error':_0x13f39b(0x171),'msg':_0x545554,'time':new Date()[_0x13f39b(0x10d)]()},_0x2c0e75>=0x1f4?_0x13f39b(0xef):_0x13f39b(0x171));},logUncaughtError=(_0xd95068,_0x2a3f38)=>{const _0x45db14=a0_0x1a7c8f,_0x4eb214={'VKKKQ':_0x45db14(0x132),'Pfbyl':function(_0x17d534,_0x4e6df8,_0x54980a){return _0x17d534(_0x4e6df8,_0x54980a);}},_0x478c42={'event':_0xd95068,'errorName':_0x2a3f38?.['name']||'Error','errorMessage':_0x2a3f38?.[_0x45db14(0x16f)]||String(_0x2a3f38),'errorCode':_0x2a3f38?.['code']||null,'stack':_0x2a3f38?.[_0x45db14(0x14b)],'severity':_0x4eb214['VKKKQ'],'processId':process['pid'],'memoryUsage':process[_0x45db14(0x12e)](),'uptime':process[_0x45db14(0xd5)]()},_0x34c467='['+_0xd95068[_0x45db14(0x12f)]()+']\x20'+(_0x2a3f38?.[_0x45db14(0x16f)]||_0x2a3f38);logger[_0x45db14(0xdd)](_0x478c42,_0x34c467),_0x4eb214[_0x45db14(0x11c)](writeToFileLog,{..._0x478c42,'level':'fatal','msg':_0x34c467,'time':new Date()['toISOString']()},_0x45db14(0xef));},setupGlobalErrorHandlers=()=>{const _0x3e11b3=a0_0x1a7c8f,_0x58d750={'INTzP':_0x3e11b3(0x156),'WhcFw':function(_0x5ae58a,_0x242931,_0x5a681d){return _0x5ae58a(_0x242931,_0x5a681d);},'OMVED':function(_0x192fa7,_0x3d531a){return _0x192fa7 instanceof _0x3d531a;},'pDbrM':function(_0x5363ad,_0x41f7a2,_0x5ce897){return _0x5363ad(_0x41f7a2,_0x5ce897);},'ssYUN':_0x3e11b3(0x151),'ggFsI':'unhandledRejection','BvWJZ':_0x3e11b3(0xc3),'iDlpY':function(_0x420ec4,_0x1281f4,_0x1c3e77){return _0x420ec4(_0x1281f4,_0x1c3e77);},'LXDHR':'info'};process['on'](_0x58d750[_0x3e11b3(0x10e)],_0x13f707=>{const _0x5c98c2=_0x3e11b3;logUncaughtError(_0x58d750[_0x5c98c2(0x10e)],_0x13f707),_0x58d750[_0x5c98c2(0x14a)](setTimeout,()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x58d750[_0x3e11b3(0x15b)],(_0x4c63e7,_0x10b684)=>{const _0x12b95a=_0x3e11b3,_0xf8ff0f=_0x58d750[_0x12b95a(0xcf)](_0x4c63e7,Error)?_0x4c63e7:new Error(String(_0x4c63e7));_0x58d750['pDbrM'](logUncaughtError,'unhandledRejection',_0xf8ff0f);}),process['on'](_0x58d750['BvWJZ'],_0x1eb0d2=>{const _0x2c5d2a=_0x3e11b3;logger['warn']({'event':_0x58d750['ssYUN'],'name':_0x1eb0d2[_0x2c5d2a(0x100)],'message':_0x1eb0d2['message'],'stack':_0x1eb0d2[_0x2c5d2a(0x14b)]},'Process\x20Warning:\x20'+_0x1eb0d2['message']);});const _0x12655e={'event':'global_error_handlers_setup'},_0x11edad=_0x3e11b3(0xbd);logger[_0x3e11b3(0xde)](_0x12655e,_0x11edad),_0x58d750['iDlpY'](writeToFileLog,{..._0x12655e,'level':_0x58d750['LXDHR'],'msg':_0x11edad,'time':new Date()['toISOString']()},_0x58d750[_0x3e11b3(0x11e)]);},createErrorHandlerMiddleware=()=>{const _0x3f9acc=a0_0x1a7c8f,_0x5ac7f8={'CTWDd':function(_0x1533a2,_0x2f3519,_0x2aba0b){return _0x1533a2(_0x2f3519,_0x2aba0b);},'aVQNl':function(_0x2a3f81,_0x58f7bc){return _0x2a3f81>=_0x58f7bc;},'EwuUu':_0x3f9acc(0x141),'Nymgn':_0x3f9acc(0xe0)};return(_0x3bde7b,_0x155c31,_0x18c3e5,_0x3666ee)=>{const _0x23056b=_0x3f9acc;_0x5ac7f8['CTWDd'](logHttpError,_0x3bde7b,_0x155c31);const _0x4a2672=_0x3bde7b[_0x23056b(0x128)]||_0x3bde7b['status']||0x1f4;_0x18c3e5['status'](_0x4a2672)['json']({'success':![],'error':_0x5ac7f8['aVQNl'](_0x4a2672,0x1f4)?_0x5ac7f8['EwuUu']:_0x3bde7b[_0x23056b(0x16f)],'requestId':_0x155c31['id']||_0x155c31[_0x23056b(0x16d)]?.[_0x5ac7f8[_0x23056b(0xcb)]]||null});};};module[a0_0x1a7c8f(0xe1)]={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
|
|
1
|
+
const a0_0x34da1d=a0_0x3bbe;(function(_0x40402d,_0x25d3cc){const _0x111b8b=a0_0x3bbe,_0x15e7e8=_0x40402d();while(!![]){try{const _0x3ce0f3=parseInt(_0x111b8b(0x1ec))/0x1+parseInt(_0x111b8b(0x280))/0x2+-parseInt(_0x111b8b(0x230))/0x3*(parseInt(_0x111b8b(0x1eb))/0x4)+parseInt(_0x111b8b(0x263))/0x5*(-parseInt(_0x111b8b(0x26a))/0x6)+-parseInt(_0x111b8b(0x262))/0x7*(-parseInt(_0x111b8b(0x23b))/0x8)+parseInt(_0x111b8b(0x1f5))/0x9+-parseInt(_0x111b8b(0x23a))/0xa*(parseInt(_0x111b8b(0x27a))/0xb);if(_0x3ce0f3===_0x25d3cc)break;else _0x15e7e8['push'](_0x15e7e8['shift']());}catch(_0x389d28){_0x15e7e8['push'](_0x15e7e8['shift']());}}}(a0_0x36bb,0x1f9e3));const pino=require(a0_0x34da1d(0x1fd)),fs=require('fs'),path=require('path');function a0_0x36bb(){const _0x5c2f7c=['EMPTDMS','Aw5MBW','u1fmx0Xpr19mrvzfta','C29Tzq','ms4WlJu','vfjbtLnbq1rjt05Fq09ntuLu','C2vJCMv0','yxbPs2v5','tK9erv9ftLy','yxbPA2v5','B3jPz2LUywXvCMW','yxbPx2TLEq','AM9PBG','u1fmx0Xpr19qqvjbtvm','oI8V','Bwf0y2G','q1jfqvrf','icbizwfSDgG6ia','Dg9ju09tDhjPBMC','BgvUz3rO','AhPTsve','zMfSC2u','B3fdB2m','zwLesgC','CMvWBgfJzq','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','B3rW','C3rYAw5NAwz5','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','BMfTzq','s0LHA2e','Axr0qwC','mtuWnMr4quXksq','CePhwuC','s0XOruW','EKzeufe','sxnvvLq','te9hx1rpx0zjteu','C3rHDhvZ','BxmP','zgDbqLe','Aw5JBhvKzxm','mtiZmhLrq01MEG','ofbvwLDODa','Dw5RBM93BG','BwvTB3j5vxnHz2u','vxLKqK8','y3jLzgvUDgLHBa','txvlBxG','su5trvju','Bw55Afu','CgfKrw5K','rxjYB3i','zhvYyxrPB25nCW','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','C3fSx3f1zxj5','s0Pxsfu','zxjYB3i','zgLAvu8','tI9b','uefuCe0','y3z2','Ahr0Cf9LCNjVCG','w1jfrefdvevexq','zxjYB3iUBg9N','tK9uiefdveLwrq','Bg9N','rMTevMS','y29Kzq','y3DK','DLn0weK','D2fYBMLUzW','u1fmx0Xpr19tte9xx1riuKvtse9mra','zgvIDwC','icbjBMzVoIaGia','sLDux1nfq1jfva','rwzLrhG','ChDK','q09ntuLu','DhjPBq','iokvKqRILzeGifbVCNqGicaGicaGidOG','icbvuKW6icaGia','mtm2nJy4n01wqMr0rW','mJq3nZvKtM9Nz1a','u1rbuLqGvfjbtLnbq1rjt04','C3rHCNrZv2L0Aa','AfjNzu8','yxbWlMXVzW','vvbeqvrf','wNDXAg8','mtm4DxjNt1HJ','u0vmrunu','DNvIrxe','Cg9ZDgDYzxnXBa','C3bSAxq','yM9KEq','Eevzyvi','rermx0fmvevs','BxbQwfO','rejFueftu1DpuKq','Bwv0Ag9K','CgfZC3DVCMq','zgjFDhjHBNnHy3rPB24','u1LtoKHioK1noNnZ','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','yNnkzKm','mJKZntLpAK5RChO','rxjYB3i6ia','wwzQwuW','CgfYyw1Z','zgf0ywjHC2vFy29UzMLN','EfnSAKq','mta4mdG0C1b2Cxrn','zxHPDa','AhrbteW','E21Zz30','AxnbCNjHEq','zw52','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','BwvZC2fNzq','AgvHBhrOq2HLy2S','yxv0Ag9YAxPHDgLVBG','qvbqx1zfuLnjt04','yMfZzvvYBa','w09lxsbqCM9Qzwn0igXVywrLzdOG','u0vsvKLdrv9oqu1f','qKf6u0e','iokvKqRILzeGienVBMzPzYaGicaGidOG','Ec1Yzxf1zxn0lwLK','BhHSwuO','C3rHDhvZq29Kzq','zhznB0m','Cg9YDa','C2vYDMvYx3n0yxj0Aw5N','iokvKqRILzeGiefqssblzxKGicaGidOG','CgLU','rermx0nsrufurq','vvn2u2i','ywnJzxnZx3rVA2vU','zwjAt3q','CMvWzwf0','ig9UihbVCNqG','reiGuxvLCNK','z2v0sgvHzgvYCW','Ag9ZDa','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','D1PkEMG','B1nIuwS','wejwuuS','uwDZDKq','Dg9Rzw4','tM9Kzs5QCW','icdIHPiG','sK15C0y','BwfW','Dg9mB3DLCKnHC2u','y3jLzgvUDgLHBhm','ChjPDMf0zv9RzxK','CKL3zLy','AxnVvgLTzq','q1jjveLdquW','mtCYrxr5v3Ll','mJeWnZeZrwXJD1LN','Devvvge','y3vPDuK','AKLwrwm','C3rYAw5N','EgjWwLC','Ahj0Aw1L','Cgf0Aa','CgLUBY1WCMv0DhK','mtiWmde0mufurxbNEq','te9hx0XfvKvm','BwTKAxjtEw5J','zgf0ywjHC2u','DhLWzq','ChjPDMf0zwTLEq','A2v5CW','CK9uCeC','CgLUBW','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','Dw5Oyw5KBgvKuMvQzwn0Aw9U','D2fYBG','y3jLyxrLv3jPDgvtDhjLyw0','tg9NwNG','u2vYDMvYihn0yxj0Aw5NoIa','CMvMCMvZAf90B2TLBG','C2vYDMLJzuLUzM8','C3rHy2S','vfjbtLnbq1rjt05FuK9mtejbq0S','y3jLzgL0x2nHCMq','vu5ltK9xtG','ANnVBG','CeDXEwe','z2v0','B2jQzwn0','CMvTB3rLqwrKCMvZCW','Bw9KDwXL'];a0_0x36bb=function(){return _0x5c2f7c;};return a0_0x36bb();}function a0_0x3bbe(_0x32aa58,_0x179359){_0x32aa58=_0x32aa58-0x1be;const _0x36bba1=a0_0x36bb();let _0x3bbe84=_0x36bba1[_0x32aa58];if(a0_0x3bbe['IRMlkQ']===undefined){var _0x374455=function(_0x428c68){const _0x1719dc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xa31584='',_0xcddbe3='';for(let _0x312232=0x0,_0x458886,_0x1d4a8d,_0x2f1abd=0x0;_0x1d4a8d=_0x428c68['charAt'](_0x2f1abd++);~_0x1d4a8d&&(_0x458886=_0x312232%0x4?_0x458886*0x40+_0x1d4a8d:_0x1d4a8d,_0x312232++%0x4)?_0xa31584+=String['fromCharCode'](0xff&_0x458886>>(-0x2*_0x312232&0x6)):0x0){_0x1d4a8d=_0x1719dc['indexOf'](_0x1d4a8d);}for(let _0x4f716d=0x0,_0xa4d1e7=_0xa31584['length'];_0x4f716d<_0xa4d1e7;_0x4f716d++){_0xcddbe3+='%'+('00'+_0xa31584['charCodeAt'](_0x4f716d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xcddbe3);};a0_0x3bbe['qgTAMQ']=_0x374455,a0_0x3bbe['UhUMUl']={},a0_0x3bbe['IRMlkQ']=!![];}const _0x327182=_0x36bba1[0x0],_0x2f86fc=_0x32aa58+_0x327182,_0x17dc57=a0_0x3bbe['UhUMUl'][_0x2f86fc];return!_0x17dc57?(_0x3bbe84=a0_0x3bbe['qgTAMQ'](_0x3bbe84),a0_0x3bbe['UhUMUl'][_0x2f86fc]=_0x3bbe84):_0x3bbe84=_0x17dc57,_0x3bbe84;}let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel=a0_0x34da1d(0x259),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x34da1d(0x277),'ignore':a0_0x34da1d(0x22c),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0x34da1d(0x283),'customColors':a0_0x34da1d(0x278),'hideObject':!![]},isDevelopment=process[a0_0x34da1d(0x1bf)]['NODE_ENV']!=='production',logLevel=process['env'][a0_0x34da1d(0x1f6)]||a0_0x34da1d(0x211);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x34da1d(0x1f4),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x34da1d(0x1bf)][a0_0x34da1d(0x1c4)]||a0_0x34da1d(0x214),'env':process[a0_0x34da1d(0x1bf)][a0_0x34da1d(0x218)]||'development'},'timestamp':pino['stdTimeFunctions'][a0_0x34da1d(0x1e9)],'redact':{'paths':[a0_0x34da1d(0x246),'req.headers[\x22x-api-key\x22]',a0_0x34da1d(0x275),'token',a0_0x34da1d(0x217),a0_0x34da1d(0x273),a0_0x34da1d(0x25b)],'censor':a0_0x34da1d(0x24f)},'serializers':{'req':_0x2eaa09=>({'id':_0x2eaa09['id'],'method':_0x2eaa09[a0_0x34da1d(0x274)],'url':_0x2eaa09['url'],'path':_0x2eaa09[a0_0x34da1d(0x1f3)],'remoteAddress':_0x2eaa09['ip']||_0x2eaa09['connection']?.[a0_0x34da1d(0x20e)]}),'res':_0x743c52=>({'statusCode':_0x743c52['statusCode'],'headers':_0x743c52[a0_0x34da1d(0x1d9)]?.()}),'err':pino['stdSerializers']['err']}});function initFileLogging(){const _0x4bddee=a0_0x34da1d,_0x4bb7b2={'Zwqho':function(_0x48d2b0,_0x292fdd){return _0x48d2b0===_0x292fdd;},'jIVEc':'true','dlOEn':function(_0x4e0daf,_0x198bed){return _0x4e0daf!==_0x198bed;},'fGhGX':_0x4bddee(0x225),'GgyHb':function(_0x3c28b9,_0x4fd6b8){return _0x3c28b9(_0x4fd6b8);},'YfjYL':_0x4bddee(0x267),'KJWHU':function(_0x52348c,_0x2e6727,_0x2980d7){return _0x52348c(_0x2e6727,_0x2980d7);},'eiDHg':_0x4bddee(0x211)};if(fileLoggingInitialized)return;logToFile=_0x4bb7b2[_0x4bddee(0x269)](process['env'][_0x4bddee(0x235)],_0x4bb7b2[_0x4bddee(0x1ef)]);const _0x5db37c=process['env']['RESTFORGE_PROJECT_NAME']||'default';logDir=process['env']['LOG_DIR']||'./logs/'+_0x5db37c,serviceName=process[_0x4bddee(0x1bf)][_0x4bddee(0x1c7)]||'restforge',sqlLogEnabled=_0x4bb7b2[_0x4bddee(0x269)](process[_0x4bddee(0x1bf)]['SQL_LOG_ENABLED'],_0x4bb7b2['jIVEc']),sqlLogLevel=process[_0x4bddee(0x1bf)][_0x4bddee(0x212)]||_0x4bddee(0x259),sqlLogParams=_0x4bb7b2['dlOEn'](process[_0x4bddee(0x1bf)][_0x4bddee(0x21d)],_0x4bb7b2['fGhGX']),sqlLogSlowThreshold=_0x4bb7b2['GgyHb'](parseInt,process[_0x4bddee(0x1bf)][_0x4bddee(0x258)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x3a4d7f=path['resolve'](process[_0x4bddee(0x255)](),logDir);try{!fs['existsSync'](_0x3a4d7f)&&fs[_0x4bddee(0x1f7)](_0x3a4d7f,{'recursive':!![]});}catch(_0x4c5328){console[_0x4bddee(0x249)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x3a4d7f+':',_0x4c5328['message']),fileLoggingInitialized=!![];return;}const _0x14a5e2=path['join'](_0x3a4d7f,'app.log'),_0x4d6ea2=path[_0x4bddee(0x21c)](_0x3a4d7f,_0x4bddee(0x250));try{appLogStream=fs[_0x4bddee(0x201)](_0x14a5e2,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x4d6ea2,{'flags':'a'}),fileLoggingInitialized=!![];const _0xa9cc1f={'event':'file_logging_enabled','logDir':_0x3a4d7f,'files':[_0x4bb7b2[_0x4bddee(0x27c)],'error.log']},_0x10fe55='File\x20logging\x20enabled:\x20'+_0x3a4d7f;logger['info'](_0xa9cc1f,_0x10fe55),_0x4bb7b2[_0x4bddee(0x248)](writeToFileLog,{..._0xa9cc1f,'level':_0x4bb7b2[_0x4bddee(0x227)],'msg':_0x10fe55,'time':new Date()['toISOString']()},_0x4bb7b2['eiDHg']);}catch(_0x2f6347){console['error'](_0x4bddee(0x1c0),_0x2f6347[_0x4bddee(0x1c1)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x3f8bad,_0x4de0e9){const _0x2a9419=a0_0x34da1d,_0x1be793={'hRgeO':function(_0x3e8bfc,_0x5c6dd4){return _0x3e8bfc||_0x5c6dd4;},'XEfqk':function(_0x2a7215,_0x5e1c71){return _0x2a7215===_0x5e1c71;}};if(_0x1be793[_0x2a9419(0x266)](!logToFile,!appLogStream))return;const _0x286b56={'service':serviceName,..._0x3f8bad},_0x218119=JSON[_0x2a9419(0x22b)](_0x286b56)+'\x0a';appLogStream['write'](_0x218119),(_0x1be793['XEfqk'](_0x4de0e9,'error')||_0x4de0e9==='fatal')&&(errorLogStream&&errorLogStream['write'](_0x218119));}const createRequestLogger=(_0x4d6653={})=>{return logger['child'](_0x4d6653);},logServerStart=_0x17ac36=>{const _0x564a9c=a0_0x34da1d,_0x4cab65={'xEYaR':_0x564a9c(0x1db),'WGCFI':function(_0x2fceaa,_0x1a663b){return _0x2fceaa/_0x1a663b;},'dojeR':_0x564a9c(0x1e1),'XAAzl':function(_0x415733,_0x1194cb){return _0x415733(_0x1194cb);},'YqmvW':_0x564a9c(0x251),'WaRIa':function(_0x2b7601,_0x44b042,_0x15d3f3){return _0x2b7601(_0x44b042,_0x15d3f3);},'UydBO':'info'},_0x572ba0=_0x4cab65[_0x564a9c(0x270)],_0x245c10=Math['max'](0x0,0x37-_0x572ba0['length']),_0x1d7349=Math['floor'](_0x4cab65['WGCFI'](_0x245c10,0x2)),_0x3d6657=_0x245c10-_0x1d7349,_0x3c6257='║'+'\x20'[_0x564a9c(0x1d6)](_0x1d7349)+_0x572ba0+'\x20'[_0x564a9c(0x1d6)](_0x3d6657)+'║',_0x59bfb1='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x3c6257+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x17ac36['environment']||_0x4cab65['dojeR'])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x17ac36['project']||_0x564a9c(0x24b))[_0x564a9c(0x243)](0x26)+_0x564a9c(0x260)+_0x4cab65['XAAzl'](String,_0x17ac36['port']||0xbb8)['padEnd'](0x26)+_0x564a9c(0x1c9)+(_0x17ac36['configFile']||'Default')[_0x564a9c(0x243)](0x26)+_0x564a9c(0x1d0)+(_0x17ac36['apiKey']?'ACTIVE':_0x4cab65['YqmvW'])[_0x564a9c(0x243)](0x26)+_0x564a9c(0x229);console[_0x564a9c(0x252)](_0x59bfb1);const _0x449f1f={'event':_0x564a9c(0x1cf),'project':_0x17ac36['project'],'port':_0x17ac36['port'],'config':_0x17ac36['configFile'],'apiKeyEnabled':!!_0x17ac36['apiKey']};logger['info'](_0x449f1f),_0x4cab65['WaRIa'](writeToFileLog,{..._0x449f1f,'level':_0x4cab65['UydBO'],'msg':_0x564a9c(0x203)+_0x17ac36['project']+_0x564a9c(0x1d7)+_0x17ac36['port'],'time':new Date()[_0x564a9c(0x222)]()},_0x4cab65[_0x564a9c(0x23e)]);},logServerReady=_0x2b7a66=>{const _0x11e099=a0_0x34da1d,_0x1773ca={'OjYCI':function(_0x533be6,_0x216ad0,_0x2308e4){return _0x533be6(_0x216ad0,_0x2308e4);},'mnyhU':_0x11e099(0x211)},_0x112cdb={'event':'server_ready','port':_0x2b7a66[_0x11e099(0x1ce)],'module':_0x2b7a66[_0x11e099(0x20f)],'healthCheck':_0x2b7a66['healthCheck'],'serviceInfo':_0x2b7a66['serviceInfo'],'baseUrl':_0x2b7a66['baseUrl']},_0x506fe3='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x2b7a66['port'];logger['info'](_0x112cdb,_0x506fe3),_0x1773ca['OjYCI'](writeToFileLog,{..._0x112cdb,'level':_0x1773ca[_0x11e099(0x242)],'msg':_0x506fe3,'time':new Date()[_0x11e099(0x222)]()},_0x1773ca['mnyhU']),_0x2b7a66[_0x11e099(0x1c2)]&&logger[_0x11e099(0x211)](_0x11e099(0x221)+_0x2b7a66['healthCheck']),_0x2b7a66[_0x11e099(0x205)]&&logger['info'](_0x11e099(0x25a)+_0x2b7a66['serviceInfo']),_0x2b7a66[_0x11e099(0x1c5)]&&logger[_0x11e099(0x211)](_0x11e099(0x261)+_0x2b7a66[_0x11e099(0x1c5)]);},logProjectLoaded=(_0x3e210e,_0x16e468)=>{const _0x495c3a=a0_0x34da1d,_0xb313f8={'ittAg':function(_0x47274e,_0x445a9f,_0x131f27){return _0x47274e(_0x445a9f,_0x131f27);},'zjmvk':_0x495c3a(0x211)},_0x128009={'event':'project_loaded','project':_0x3e210e,'path':_0x16e468},_0x354fa2=_0x495c3a(0x1c6)+_0x3e210e;logger[_0x495c3a(0x211)](_0x128009,_0x354fa2),_0xb313f8[_0x495c3a(0x22f)](writeToFileLog,{..._0x128009,'level':_0xb313f8[_0x495c3a(0x210)],'msg':_0x354fa2,'time':new Date()['toISOString']()},_0x495c3a(0x211));},logEndpointRegistered=(_0x65ec73,_0x2341a6)=>{const _0x6ff7bb=a0_0x34da1d,_0xadfa20={'KOGGD':function(_0x3b9b6b,_0x40a0a8,_0x224131){return _0x3b9b6b(_0x40a0a8,_0x224131);},'oZNmj':_0x6ff7bb(0x259)},_0x1138f2={'event':'endpoint_registered','endpoint':_0x65ec73,'route':_0x2341a6},_0x46f5fd=_0x6ff7bb(0x1e2)+_0x65ec73+':\x20'+_0x2341a6;logger['debug'](_0x1138f2,_0x46f5fd),_0xadfa20['KOGGD'](writeToFileLog,{..._0x1138f2,'level':_0xadfa20['oZNmj'],'msg':_0x46f5fd,'time':new Date()[_0x6ff7bb(0x222)]()},'debug');},logDatabaseConfig=_0x54adcc=>{const _0x248735=a0_0x34da1d,_0x33cf12={'dgABQ':'debug'},_0x51283b={'event':_0x248735(0x27e),'host':_0x54adcc[_0x248735(0x1da)],'port':_0x54adcc['port'],'database':_0x54adcc['database'],'type':_0x54adcc[_0x248735(0x1f9)],'user':_0x54adcc['user']},_0x27334b='Database:\x20'+_0x54adcc['type']+_0x248735(0x21e)+_0x54adcc['host']+':'+_0x54adcc['port']+'/'+_0x54adcc[_0x248735(0x1f8)];logger['debug'](_0x51283b,_0x27334b),writeToFileLog({..._0x51283b,'level':'debug','msg':_0x27334b,'time':new Date()['toISOString']()},_0x33cf12[_0x248735(0x238)]);},logRequest=(_0x1552e1,_0x12fd2a,_0x5bcbd0)=>{const _0x246292=a0_0x34da1d,_0x46b3c6={'JMysF':'http_request','hzmIQ':'info','BAzSA':function(_0x54f81d,_0xe0b881){return _0x54f81d>=_0xe0b881;}},_0x5e0d13={'event':_0x46b3c6[_0x246292(0x1e3)],'method':_0x1552e1[_0x246292(0x274)],'path':_0x1552e1[_0x246292(0x1f3)],'statusCode':_0x12fd2a[_0x246292(0x1cc)],'durationMs':_0x5bcbd0,'ip':_0x1552e1['ip']},_0x3d9f6a=_0x1552e1[_0x246292(0x274)]+'\x20'+_0x1552e1['path']+'\x20-\x20'+_0x12fd2a[_0x246292(0x1cc)]+'\x20('+_0x5bcbd0+_0x246292(0x237);let _0x460356=_0x46b3c6[_0x246292(0x224)];if(_0x12fd2a['statusCode']>=0x1f4)_0x460356=_0x246292(0x249),logger['error'](_0x5e0d13,_0x3d9f6a);else _0x46b3c6[_0x246292(0x1c8)](_0x12fd2a['statusCode'],0x190)?(_0x460356='warn',logger[_0x246292(0x200)](_0x5e0d13,_0x3d9f6a)):logger[_0x246292(0x211)](_0x5e0d13,_0x3d9f6a);writeToFileLog({..._0x5e0d13,'level':_0x460356,'msg':_0x3d9f6a,'time':new Date()[_0x246292(0x222)]()},_0x460356);},SENSITIVE_PARAM_PATTERNS=[a0_0x34da1d(0x275),'passwd',a0_0x34da1d(0x25d),a0_0x34da1d(0x1e0),'access_token',a0_0x34da1d(0x204),a0_0x34da1d(0x216),'api_secret',a0_0x34da1d(0x219),a0_0x34da1d(0x21b),a0_0x34da1d(0x23f),a0_0x34da1d(0x1e6),a0_0x34da1d(0x1d1),a0_0x34da1d(0x22a),a0_0x34da1d(0x1e7),a0_0x34da1d(0x1fa)],redactSensitiveParams=(_0x201fbd,_0x316bfc)=>{const _0x4adf8a=a0_0x34da1d,_0x381b0a={'vStXI':function(_0x310472,_0x34ed39){return _0x310472===_0x34ed39;},'QgsvD':_0x4adf8a(0x1f0),'hXNUp':function(_0x41aa04,_0x485521){return _0x41aa04>_0x485521;},'cuiuI':'[REDACTED:token]','zFDPQ':'[REDACTED:hash]'};if(!_0x201fbd||_0x381b0a['vStXI'](_0x201fbd['length'],0x0))return _0x201fbd;const _0x4558d8=_0x316bfc[_0x4adf8a(0x1e5)](),_0x4f8726=_0x4558d8[_0x4adf8a(0x21f)](/\(([^)]+)\)\s*values/i);let _0x46e61c=[];_0x4f8726&&(_0x46e61c=_0x4f8726[0x1][_0x4adf8a(0x26e)](',')[_0x4adf8a(0x1e4)](_0x1bc210=>_0x1bc210[_0x4adf8a(0x25f)]()[_0x4adf8a(0x1e5)]()));const _0x2ef717=_0x4558d8['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x2ef717){const _0x529c43=_0x2ef717[0x1],_0x244690=_0x529c43['match'](/(\w+)\s*=/g);_0x244690&&(_0x46e61c=_0x244690['map'](_0x411a5e=>_0x411a5e[_0x4adf8a(0x228)](/\s*=/,'')['trim']()[_0x4adf8a(0x1e5)]()));}return _0x201fbd[_0x4adf8a(0x1e4)]((_0xf31066,_0x247f68)=>{const _0x601b39=_0x4adf8a;if(_0x46e61c[_0x247f68]){const _0x3fb472=_0x46e61c[_0x247f68],_0x2bbb9e=SENSITIVE_PARAM_PATTERNS['some'](_0x1e6ce9=>_0x3fb472['includes'](_0x1e6ce9));if(_0x2bbb9e)return _0x601b39(0x24f);}if(_0x381b0a[_0x601b39(0x256)](typeof _0xf31066,_0x381b0a[_0x601b39(0x1df)])&&_0x381b0a['hXNUp'](_0xf31066[_0x601b39(0x223)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0xf31066)&&_0xf31066['includes']('.'))return _0x381b0a[_0x601b39(0x1ee)];if(/^[a-fA-F0-9]{32,}$/['test'](_0xf31066))return _0x381b0a[_0x601b39(0x233)];}return _0xf31066;});},parseQueryMetadata=_0xbcbf69=>{const _0x3407d7=a0_0x34da1d,_0x59352f={'uZgRN':_0x3407d7(0x26b),'rIwfV':_0x3407d7(0x241),'USvSb':_0x3407d7(0x268),'qzpKn':_0x3407d7(0x264),'sqiDL':_0x3407d7(0x215),'dvMoC':'ROLLBACK','lxlYJ':_0x3407d7(0x1d2),'KLhEL':_0x3407d7(0x271),'JiprA':'DDL_DROP'},_0x5273ba=_0xbcbf69['trim'](),_0x3f6f67=_0x5273ba['toUpperCase']();let _0x253d25=_0x3407d7(0x209),_0x4584ce=null;if(_0x3f6f67['startsWith'](_0x59352f['uZgRN'])){_0x253d25=_0x59352f['uZgRN'];const _0x5d95d7=_0x5273ba['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4584ce=_0x5d95d7?_0x5d95d7[0x1]:null;}else{if(_0x3f6f67['startsWith'](_0x59352f[_0x3407d7(0x1e8)])){_0x253d25=_0x3407d7(0x241);const _0x3ff7d5=_0x5273ba[_0x3407d7(0x21f)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4584ce=_0x3ff7d5?_0x3ff7d5[0x1]:null;}else{if(_0x3f6f67[_0x3407d7(0x265)](_0x59352f[_0x3407d7(0x1d3)])){_0x253d25='UPDATE';const _0x47a1c0=_0x5273ba[_0x3407d7(0x21f)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4584ce=_0x47a1c0?_0x47a1c0[0x1]:null;}else{if(_0x3f6f67[_0x3407d7(0x265)]('DELETE')){_0x253d25='DELETE';const _0x19288d=_0x5273ba['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4584ce=_0x19288d?_0x19288d[0x1]:null;}else{if(_0x3f6f67['startsWith']('BEGIN')||_0x3f6f67['startsWith'](_0x59352f['qzpKn']))_0x253d25='TRANSACTION_BEGIN';else{if(_0x3f6f67[_0x3407d7(0x265)](_0x3407d7(0x25e)))_0x253d25=_0x59352f['sqiDL'];else{if(_0x3f6f67['startsWith'](_0x59352f[_0x3407d7(0x1cd)]))_0x253d25=_0x3407d7(0x207);else{if(_0x3f6f67[_0x3407d7(0x265)](_0x3407d7(0x220)))_0x253d25=_0x59352f[_0x3407d7(0x1cb)];else{if(_0x3f6f67[_0x3407d7(0x265)]('ALTER'))_0x253d25=_0x59352f[_0x3407d7(0x232)];else _0x3f6f67['startsWith']('DROP')&&(_0x253d25=_0x59352f['JiprA']);}}}}}}}}return{'type':_0x253d25,'table':_0x4584ce};},startQueryTimer=()=>{const _0x69c77e=a0_0x34da1d,_0x1a2d52={'RUQVk':function(_0x432a3c,_0xc447be){return _0x432a3c(_0xc447be);},'xbpZW':function(_0x486ab9,_0xe5bc80){return _0x486ab9*_0xe5bc80;}},_0x353bf0=process[_0x69c77e(0x1f2)]();return()=>{const _0x203200=_0x69c77e,[_0x3b9db2,_0x3fcde3]=process['hrtime'](_0x353bf0);return _0x1a2d52['RUQVk'](parseFloat,(_0x1a2d52[_0x203200(0x1f1)](_0x3b9db2,0x3e8)+_0x3fcde3/0xf4240)['toFixed'](0x2));};},logQuery=(_0x39f6f2,_0x46c9f1=[],_0x349a8c={})=>{const _0x25203f=a0_0x34da1d,_0x1bc54c={'tZtvH':_0x25203f(0x1d8),'lKafO':_0x25203f(0x26d),'hZmct':function(_0xee15c2,_0x5d9583){return _0xee15c2>_0x5d9583;},'IsUVT':function(_0x2e9151,_0x567e16){return _0x2e9151!==_0x567e16;},'oqCoc':'debug','EfeDx':'\x20[SLOW]','lsIQN':function(_0x347296,_0x5e7279){return _0x347296===_0x5e7279;}};if(!sqlLogEnabled){logger['debug']({'event':'db_query','query':_0x39f6f2['substring'](0x0,0xc8),'paramCount':_0x46c9f1['length']},_0x1bc54c['tZtvH']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x1bc54c['lKafO']}=_0x349a8c,{type:_0x25878e,table:_0x426bef}=parseQueryMetadata(_0x39f6f2),_0x2d702c={'event':_0x25203f(0x247),'queryType':_0x25878e,'table':_0x426bef,'query':_0x39f6f2,'paramCount':_0x46c9f1[_0x25203f(0x223)],'dbType':dbType};sqlLogParams&&_0x46c9f1[_0x25203f(0x223)]>0x0&&(_0x2d702c[_0x25203f(0x27d)]=redactSensitiveParams(_0x46c9f1,_0x39f6f2));duration!==null&&(_0x2d702c[_0x25203f(0x245)]=duration,_0x2d702c['isSlow']=_0x1bc54c['hZmct'](duration,sqlLogSlowThreshold));_0x1bc54c[_0x25203f(0x234)](rowsAffected,null)&&(_0x2d702c['rowsAffected']=rowsAffected);const _0x32299a=_0x426bef||_0x25203f(0x23c);let _0x28d1fc='['+_0x25878e+']\x20'+_0x32299a;duration!==null&&(_0x28d1fc+='\x20('+duration+_0x25203f(0x237));const _0x3edad8=_0x1bc54c[_0x25203f(0x234)](duration,null)&&duration>sqlLogSlowThreshold;let _0x578a79=_0x1bc54c[_0x25203f(0x226)];if(_0x3edad8)_0x28d1fc+=_0x1bc54c[_0x25203f(0x25c)],_0x578a79=_0x25203f(0x200),logger['warn'](_0x2d702c,_0x28d1fc);else _0x1bc54c['lsIQN'](sqlLogLevel,'info')?(_0x578a79=_0x25203f(0x211),logger[_0x25203f(0x211)](_0x2d702c,_0x28d1fc)):logger[_0x25203f(0x259)](_0x2d702c,_0x28d1fc);writeToFileLog({..._0x2d702c,'level':_0x578a79,'msg':_0x28d1fc,'time':new Date()['toISOString']()},_0x578a79);},logTransaction=(_0x498f0d,_0xb24227)=>{const _0x380c25=a0_0x34da1d,_0x1a2c61={'WHeND':'debug'},_0x1890e5={'event':_0x380c25(0x276),'status':_0x498f0d,'queryCount':_0xb24227},_0x2048df='Transaction\x20'+_0x498f0d;logger['debug'](_0x1890e5,_0x2048df),writeToFileLog({..._0x1890e5,'level':_0x1a2c61['WHeND'],'msg':_0x2048df,'time':new Date()['toISOString']()},'debug');},redactObject=_0x1aa31f=>{const _0x3dfc2c=a0_0x34da1d,_0x2836b8={'bsJfC':function(_0x2cb0af,_0x21b68f){return _0x2cb0af!==_0x21b68f;},'diZUO':_0x3dfc2c(0x20d),'ebZOt':'password','tEUTa':'passwd','htALL':_0x3dfc2c(0x25d),'fPIle':_0x3dfc2c(0x1e0),'LogZx':_0x3dfc2c(0x21b),'ppSUo':_0x3dfc2c(0x24d),'qErwz':'ssn','DcwdY':'pin','NNiTi':'privatekey','rDKBH':'refresh_token'};if(!_0x1aa31f||_0x2836b8[_0x3dfc2c(0x279)](typeof _0x1aa31f,_0x2836b8[_0x3dfc2c(0x24a)]))return _0x1aa31f;const _0x2bb1ea=[_0x2836b8[_0x3dfc2c(0x1d5)],_0x2836b8[_0x3dfc2c(0x1ed)],_0x2836b8[_0x3dfc2c(0x282)],_0x2836b8['fPIle'],_0x3dfc2c(0x216),_0x3dfc2c(0x219),_0x2836b8[_0x3dfc2c(0x202)],_0x3dfc2c(0x1c3),'creditcard',_0x3dfc2c(0x208),_0x2836b8['ppSUo'],_0x2836b8['qErwz'],_0x2836b8['DcwdY'],_0x3dfc2c(0x1e7),_0x2836b8['NNiTi'],_0x2836b8['rDKBH'],_0x3dfc2c(0x1d4)],_0x1d6ef0=Array[_0x3dfc2c(0x1be)](_0x1aa31f)?[..._0x1aa31f]:{..._0x1aa31f};for(const _0x3baaa5 of Object[_0x3dfc2c(0x1fb)](_0x1d6ef0)){const _0x2f9358=_0x3baaa5['toLowerCase']();if(_0x2bb1ea[_0x3dfc2c(0x213)](_0x1ba869=>_0x2f9358[_0x3dfc2c(0x239)](_0x1ba869)))_0x1d6ef0[_0x3baaa5]=_0x3dfc2c(0x24f);else typeof _0x1d6ef0[_0x3baaa5]==='object'&&_0x2836b8['bsJfC'](_0x1d6ef0[_0x3baaa5],null)&&(_0x1d6ef0[_0x3baaa5]=redactObject(_0x1d6ef0[_0x3baaa5]));}return _0x1d6ef0;},logError=(_0xf434c3,_0x9ac847={},_0x1aad26=null)=>{const _0x356ad5=a0_0x34da1d,_0x5d9b69={'pJGYG':_0x356ad5(0x249)},_0x3586d6={'event':_0x356ad5(0x249),'errorName':_0xf434c3[_0x356ad5(0x22d)]||'Error','errorMessage':_0xf434c3['message'],'errorCode':_0xf434c3['code']||null,'stack':_0xf434c3[_0x356ad5(0x206)],..._0x9ac847},_0x2db409=_0x1aad26||_0x356ad5(0x27b)+_0xf434c3['message'];logger[_0x356ad5(0x249)](_0x3586d6,_0x2db409),writeToFileLog({..._0x3586d6,'level':_0x356ad5(0x249),'msg':_0x2db409,'time':new Date()['toISOString']()},_0x5d9b69[_0x356ad5(0x231)]);},logFatalError=(_0x1e1aa9,_0x4cad8e={},_0x2ab8a6=null)=>{const _0x4e8060=a0_0x34da1d,_0x4fffe4={'vubEq':'fatal_error','fDXwH':_0x4e8060(0x244),'sRjDW':_0x4e8060(0x1ea),'rOTpG':function(_0x2952da,_0x4d4d9f,_0x187e03){return _0x2952da(_0x4d4d9f,_0x187e03);},'KIaka':'fatal','mpjXZ':'error'},_0xadaa17={'event':_0x4fffe4[_0x4e8060(0x26c)],'errorName':_0x1e1aa9['name']||_0x4fffe4['fDXwH'],'errorMessage':_0x1e1aa9[_0x4e8060(0x1c1)],'errorCode':_0x1e1aa9[_0x4e8060(0x254)]||null,'stack':_0x1e1aa9['stack'],'severity':_0x4fffe4['sRjDW'],..._0x4cad8e},_0xbf79fd=_0x2ab8a6||'FATAL:\x20'+_0x1e1aa9['message'];logger['fatal'](_0xadaa17,_0xbf79fd),_0x4fffe4[_0x4e8060(0x1fc)](writeToFileLog,{..._0xadaa17,'level':_0x4fffe4[_0x4e8060(0x22e)],'msg':_0xbf79fd,'time':new Date()['toISOString']()},_0x4fffe4[_0x4e8060(0x272)]);},logHttpError=(_0x434374,_0x4e403f,_0x30699a={})=>{const _0x42abc9=a0_0x34da1d,_0xdaa942={'CYHNh':_0x42abc9(0x24e),'PATpM':'error','pGqya':'warn'},_0x441ca3={'event':_0xdaa942['CYHNh'],'errorName':_0x434374[_0x42abc9(0x22d)]||'Error','errorMessage':_0x434374['message'],'errorCode':_0x434374['code']||_0x434374[_0x42abc9(0x1cc)]||0x1f4,'stack':_0x434374[_0x42abc9(0x206)],'method':_0x4e403f?.['method'],'url':_0x4e403f?.['url']||_0x4e403f?.[_0x42abc9(0x21a)],'path':_0x4e403f?.['path'],'ip':_0x4e403f?.['ip']||_0x4e403f?.['connection']?.[_0x42abc9(0x20e)],'userAgent':_0x4e403f?.[_0x42abc9(0x20c)]?.('user-agent'),'requestId':_0x4e403f?.['id']||_0x4e403f?.['headers']?.[_0x42abc9(0x1ca)],'body':_0x4e403f?.['body']?redactObject(_0x4e403f[_0x42abc9(0x26f)]):undefined,'query':_0x4e403f?.['query'],..._0x30699a},_0x446fa9=_0x434374['statusCode']||_0x434374[_0x42abc9(0x236)]||0x1f4,_0x17bb9a='HTTP\x20'+_0x446fa9+':\x20'+_0x434374['message'];_0x446fa9>=0x1f4?logger['error'](_0x441ca3,_0x17bb9a):logger['warn'](_0x441ca3,_0x17bb9a),writeToFileLog({..._0x441ca3,'level':_0x446fa9>=0x1f4?_0xdaa942[_0x42abc9(0x24c)]:_0x42abc9(0x200),'msg':_0x17bb9a,'time':new Date()['toISOString']()},_0x446fa9>=0x1f4?_0xdaa942['PATpM']:_0xdaa942[_0x42abc9(0x20b)]);},logUncaughtError=(_0x29d910,_0x108280)=>{const _0x3b6fe9=a0_0x34da1d,_0x967905={'MuKmx':function(_0x576a95,_0x1dd2ed){return _0x576a95(_0x1dd2ed);},'YpVEn':'CRITICAL','oSbQk':function(_0x4ec9a8,_0x3b6818,_0x4f303f){return _0x4ec9a8(_0x3b6818,_0x4f303f);},'FkDVk':'fatal','VbzUm':_0x3b6fe9(0x249)},_0x566091={'event':_0x29d910,'errorName':_0x108280?.['name']||_0x3b6fe9(0x244),'errorMessage':_0x108280?.['message']||_0x967905[_0x3b6fe9(0x240)](String,_0x108280),'errorCode':_0x108280?.['code']||null,'stack':_0x108280?.['stack'],'severity':_0x967905['YpVEn'],'processId':process['pid'],'memoryUsage':process[_0x3b6fe9(0x23d)](),'uptime':process['uptime']()},_0x1c8a87='['+_0x29d910['toUpperCase']()+']\x20'+(_0x108280?.[_0x3b6fe9(0x1c1)]||_0x108280);logger['fatal'](_0x566091,_0x1c8a87),_0x967905[_0x3b6fe9(0x1dd)](writeToFileLog,{..._0x566091,'level':_0x967905[_0x3b6fe9(0x253)],'msg':_0x1c8a87,'time':new Date()[_0x3b6fe9(0x222)]()},_0x967905['VbzUm']);},setupGlobalErrorHandlers=()=>{const _0x3e0d49=a0_0x34da1d,_0x203ad8={'LNWVE':function(_0x208d58,_0x1290c9,_0x21c3ce){return _0x208d58(_0x1290c9,_0x21c3ce);},'NSoKT':'uncaughtException','VnzUb':function(_0x46869c,_0x88fbdc,_0x4b51d7){return _0x46869c(_0x88fbdc,_0x4b51d7);},'xSljD':function(_0x377454,_0x5276ac,_0x7aa1c6){return _0x377454(_0x5276ac,_0x7aa1c6);},'wZJzh':_0x3e0d49(0x1ff)};process['on'](_0x203ad8['NSoKT'],_0x4d570a=>{_0x203ad8['LNWVE'](logUncaughtError,_0x203ad8['NSoKT'],_0x4d570a),_0x203ad8['VnzUb'](setTimeout,()=>{const _0x4e6105=a0_0x3bbe;process[_0x4e6105(0x281)](0x1);},0x3e8);}),process['on'](_0x203ad8['wZJzh'],(_0x34217c,_0x448d11)=>{const _0x1a725e=_0x3e0d49,_0x2dfc7e=_0x34217c instanceof Error?_0x34217c:new Error(String(_0x34217c));_0x203ad8[_0x1a725e(0x27f)](logUncaughtError,_0x203ad8[_0x1a725e(0x1dc)],_0x2dfc7e);}),process['on'](_0x3e0d49(0x257),_0xefd543=>{const _0x20f32f=_0x3e0d49;logger[_0x20f32f(0x200)]({'event':'process_warning','name':_0xefd543[_0x20f32f(0x22d)],'message':_0xefd543[_0x20f32f(0x1c1)],'stack':_0xefd543[_0x20f32f(0x206)]},'Process\x20Warning:\x20'+_0xefd543[_0x20f32f(0x1c1)]);});const _0x438768={'event':'global_error_handlers_setup'},_0x38540f=_0x3e0d49(0x1fe);logger['info'](_0x438768,_0x38540f),writeToFileLog({..._0x438768,'level':_0x3e0d49(0x211),'msg':_0x38540f,'time':new Date()[_0x3e0d49(0x222)]()},_0x3e0d49(0x211));},createErrorHandlerMiddleware=()=>{const _0x2210ad=a0_0x34da1d,_0x15d6e1={'LYcgs':function(_0x5f1fcf,_0x4cb138){return _0x5f1fcf>=_0x4cb138;},'XBVQK':'Internal\x20server\x20error','dcyIM':_0x2210ad(0x1ca)};return(_0x3503b8,_0x3d1570,_0x1bc491,_0x26930b)=>{const _0x106bc8=_0x2210ad;logHttpError(_0x3503b8,_0x3d1570);const _0x4bb468=_0x3503b8['statusCode']||_0x3503b8['status']||0x1f4;_0x1bc491['status'](_0x4bb468)[_0x106bc8(0x20a)]({'success':![],'error':_0x15d6e1['LYcgs'](_0x4bb468,0x1f4)?_0x15d6e1[_0x106bc8(0x1de)]:_0x3503b8['message'],'requestId':_0x3d1570['id']||_0x3d1570['headers']?.[_0x15d6e1['dcyIM']]||null});};};module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x99821b=a0_0x39f1;(function(_0x3aae49,_0xa11e56){const _0x4af3ac=a0_0x39f1,_0xf39509=_0x3aae49();while(!![]){try{const _0x454e37=-parseInt(_0x4af3ac(0x141))/0x1*(-parseInt(_0x4af3ac(0x14f))/0x2)+parseInt(_0x4af3ac(0x14b))/0x3+parseInt(_0x4af3ac(0x150))/0x4+-parseInt(_0x4af3ac(0x135))/0x5+parseInt(_0x4af3ac(0x15e))/0x6*(-parseInt(_0x4af3ac(0x13b))/0x7)+parseInt(_0x4af3ac(0x137))/0x8+-parseInt(_0x4af3ac(0x146))/0x9;if(_0x454e37===_0xa11e56)break;else _0xf39509['push'](_0xf39509['shift']());}catch(_0x2dd1a4){_0xf39509['push'](_0xf39509['shift']());}}}(a0_0x51d5,0x7b93e));const dbType=(process[a0_0x99821b(0x139)][a0_0x99821b(0x15f)]||'postgresql')['toLowerCase']();function a0_0x39f1(_0x3c0954,_0x385688){_0x3c0954=_0x3c0954-0x130;const _0x51d5c6=a0_0x51d5();let _0x39f112=_0x51d5c6[_0x3c0954];if(a0_0x39f1['cVobnP']===undefined){var _0x56153d=function(_0x11d370){const _0x131cf3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xa320ea='',_0x1f6015='';for(let _0x3bb354=0x0,_0x22a4fb,_0x20200a,_0x2772e9=0x0;_0x20200a=_0x11d370['charAt'](_0x2772e9++);~_0x20200a&&(_0x22a4fb=_0x3bb354%0x4?_0x22a4fb*0x40+_0x20200a:_0x20200a,_0x3bb354++%0x4)?_0xa320ea+=String['fromCharCode'](0xff&_0x22a4fb>>(-0x2*_0x3bb354&0x6)):0x0){_0x20200a=_0x131cf3['indexOf'](_0x20200a);}for(let _0x20fd1e=0x0,_0x467344=_0xa320ea['length'];_0x20fd1e<_0x467344;_0x20fd1e++){_0x1f6015+='%'+('00'+_0xa320ea['charCodeAt'](_0x20fd1e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f6015);};a0_0x39f1['uQbQZC']=_0x56153d,a0_0x39f1['BujfDh']={},a0_0x39f1['cVobnP']=!![];}const _0x3e3ce3=_0x51d5c6[0x0],_0x24864a=_0x3c0954+_0x3e3ce3,_0x24c8af=a0_0x39f1['BujfDh'][_0x24864a];return!_0x24c8af?(_0x39f112=a0_0x39f1['uQbQZC'](_0x39f112),a0_0x39f1['BujfDh'][_0x24864a]=_0x39f112):_0x39f112=_0x24c8af,_0x39f112;}let executeQuery;if(dbType==='oracle'){const oracleDb=require(a0_0x99821b(0x13e));executeQuery=(_0x250f3b,_0x4840ee)=>oracleDb[a0_0x99821b(0x15d)](_0x250f3b,_0x4840ee);}else{if(dbType==='mysql'){const mysqlDb=require(a0_0x99821b(0x152));executeQuery=(_0x836a55,_0x3566e7)=>mysqlDb['executeQuery'](_0x836a55,_0x3566e7);}else executeQuery=require('./db')['executeQuery'];}function a0_0x51d5(){const _0x34e26f=['ndq5mJi2ouXAA0jIwa','CMvZB2X2zuXVB2T1CfzHBhvL','y2XLyxjdywnOzq','vMfSDwuGiG','C2XPy2u','mZu4nZuYEhrxugHK','ywrK','Dg9vChbLCKnHC2u','vNDnDeG','mtuYodrjC2HRA2S','mtK5nJaZmMjADu9HuW','BgvUz3rO','lI9KyI1TExnXBa','C2v0','ChjVy2vZC0XVB2T1CezPzwXKCW','tKfxy1u','zM9YrwfJAa','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq','AgfZ','u0vmrunuia','tg9VA3vWignHy2HLignSzwfYzwq','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','zNjVBq','zxHLy3v0zvf1zxj5','mZi5nZe5ohH4v3DHEG','rejFvfLqrq','Bg9HzeXVB2T1CfrHyMXL','BLHUBfu','tMvPu2e','lI9SB2DNzxi','DhjPBq','z2v0rgLZDgLUy3rwywX1zxm','yKPiCKC','BwvZC2fNzq','Bg9VA3vWq2fJAgu','nZC4ntyWzg9jC1vn','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','mZKWnJaWmfzIzfjmuW','A2v5CW','zw52','ChvZAa','n3nMywncvq','y2XLyxi','Aw5MBW','lI9KyI1VCMfJBgu','z2v0','z2XYr24','nZLMsuLJyMW','vKjWvxq','zgvIDwC','A0j0wMK','sMXxy3G'];a0_0x51d5=function(){return _0x34e26f;};return a0_0x51d5();}const {logger}=require(a0_0x99821b(0x163));class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x99821b(0x148)](){const _0x19b6db=a0_0x99821b,_0x418eb6={'NeiSa':'lookup_cache_cleared'};this[_0x19b6db(0x134)][_0x19b6db(0x13c)](),logger[_0x19b6db(0x143)]({'event':_0x418eb6[_0x19b6db(0x162)]},_0x19b6db(0x15a));}async[a0_0x99821b(0x160)](_0x184bcc,_0x228e44,_0x199c7b){const _0x2478a8=a0_0x99821b,_0x63619f={'glrGn':function(_0x38af38,_0x8607e8){return _0x38af38!==_0x8607e8;},'JlWcx':function(_0x271513,_0x2bf422){return _0x271513(_0x2bf422);}},_0x49c31c=_0x184bcc+':'+_0x228e44+':'+_0x199c7b;if(this[_0x2478a8(0x134)]['has'](_0x49c31c))return this[_0x2478a8(0x134)][_0x2478a8(0x13f)](_0x49c31c);try{const _0x27ec18=_0x2478a8(0x159)+_0x199c7b+',\x20'+_0x228e44+'\x20FROM\x20'+_0x184bcc,_0x2269df=await executeQuery(_0x27ec18),_0x27089e=new Map();return _0x2269df[_0x2478a8(0x156)](_0x4c414b=>{const _0x665669=_0x2478a8,_0x3c7e28=_0x4c414b[_0x228e44]!==undefined?_0x4c414b[_0x228e44]:_0x4c414b[_0x228e44[_0x665669(0x14d)]()],_0x63140f=_0x63619f['glrGn'](_0x4c414b[_0x199c7b],undefined)?_0x4c414b[_0x199c7b]:_0x4c414b[_0x199c7b[_0x665669(0x14d)]()];_0x63619f['glrGn'](_0x3c7e28,null)&&_0x63619f[_0x665669(0x140)](_0x3c7e28,undefined)&&(_0x27089e[_0x665669(0x153)](_0x63619f[_0x665669(0x145)](String,_0x3c7e28)['toLowerCase']()[_0x665669(0x130)](),_0x63140f),_0x27089e['set'](String(_0x3c7e28)[_0x665669(0x130)](),_0x63140f));}),this['lookupCache'][_0x2478a8(0x153)](_0x49c31c,_0x27089e),logger[_0x2478a8(0x13d)]({'event':'lookup_table_loaded','table':_0x184bcc,'column':_0x228e44,'count':_0x2269df['length']},'Lookup\x20table\x20loaded:\x20'+_0x184bcc),_0x27089e;}catch(_0xaf7af8){logger['error']({'event':_0x2478a8(0x136),'table':_0x184bcc,'error':_0xaf7af8[_0x2478a8(0x133)]},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x184bcc);throw _0xaf7af8;}}['resolveLookupValue'](_0x28612c,_0x54b270){const _0x318373=a0_0x99821b;if(_0x28612c===null||_0x28612c===undefined||_0x28612c==='')return null;const _0x1847e8=String(_0x28612c)[_0x318373(0x130)]();if(_0x54b270[_0x318373(0x158)](_0x1847e8))return _0x54b270[_0x318373(0x13f)](_0x1847e8);const _0x2ce691=_0x1847e8['toLowerCase']();if(_0x54b270['has'](_0x2ce691))return _0x54b270['get'](_0x2ce691);return null;}async[a0_0x99821b(0x154)](_0x116b77,_0x2ffae7){const _0x1d1626=a0_0x99821b,_0x3ec064={'NAWcU':function(_0x2cdcfc,_0x14c995){return _0x2cdcfc===_0x14c995;},'LBBmZ':function(_0x30f692,_0x354d94){return _0x30f692===_0x354d94;},'BuzZj':function(_0x2fd77a,_0x5ae4ce){return _0x2fd77a!==_0x5ae4ce;},'VwMtH':_0x1d1626(0x157)};if(!_0x2ffae7||Object['keys'](_0x2ffae7)[_0x1d1626(0x151)]===0x0)return{'processedRows':_0x116b77,'errors':[]};const _0x2bc941=[],_0x4ea937=new Map();for(const [_0x5300d7,_0x350c1a]of Object['entries'](_0x2ffae7)){const {lookupTable:_0x106bee,lookupColumn:_0x29cda5,lookupIdColumn:_0x5f1919}=_0x350c1a,_0x23b201=_0x106bee+':'+_0x29cda5+':'+_0x5f1919;if(!_0x4ea937['has'](_0x23b201)){const _0x24999c=await this['loadLookupTable'](_0x106bee,_0x29cda5,_0x5f1919);_0x4ea937[_0x1d1626(0x153)](_0x23b201,_0x24999c);}}const _0x3b3d85=_0x116b77['map']((_0x368da3,_0x29f954)=>{const _0x16e38c=_0x1d1626,_0x588bc1={..._0x368da3};for(const [_0x44823b,_0x144b2a]of Object['entries'](_0x2ffae7)){const {lookupTable:_0x349497,lookupColumn:_0x57ec30,lookupIdColumn:_0x116348,targetField:_0x5af259,required:_0x1f5254}=_0x144b2a,_0x200456=_0x349497+':'+_0x57ec30+':'+_0x116348,_0x124d22=_0x4ea937['get'](_0x200456),_0x3596f0=_0x368da3[_0x44823b];if((_0x3ec064[_0x16e38c(0x155)](_0x3596f0,null)||_0x3ec064['LBBmZ'](_0x3596f0,undefined)||_0x3ec064['NAWcU'](_0x3596f0,''))&&!_0x1f5254){_0x588bc1[_0x5af259]=null;continue;}const _0x501165=this[_0x16e38c(0x147)](_0x3596f0,_0x124d22);_0x3ec064['BuzZj'](_0x501165,null)?_0x588bc1[_0x5af259]=_0x501165:(_0x1f5254&&_0x2bc941['push']({'rowIndex':_0x29f954,'field':_0x44823b,'value':_0x3596f0,'targetField':_0x5af259,'lookupTable':_0x349497,'message':_0x16e38c(0x149)+_0x3596f0+'\x22\x20not\x20found\x20in\x20'+_0x349497}),_0x588bc1[_0x5af259]=null);}return _0x588bc1;});return logger['info']({'event':_0x1d1626(0x15b),'totalRows':_0x116b77['length'],'errorCount':_0x2bc941[_0x1d1626(0x151)],'lookupFieldCount':Object['keys'](_0x2ffae7)[_0x1d1626(0x151)]},_0x3ec064[_0x1d1626(0x14e)]),{'processedRows':_0x3b3d85,'errors':_0x2bc941};}[a0_0x99821b(0x131)](_0x4e9819,_0x317af7){const _0x9f1971=a0_0x99821b,_0x2174bf={'bJHrG':function(_0xca08a3,_0x8cd8e){return _0xca08a3!==_0x8cd8e;},'VBpUt':function(_0x45ade2,_0x9ccde){return _0x45ade2!==_0x9ccde;},'PGCZO':function(_0x5eb937,_0x38a6eb){return _0x5eb937(_0x38a6eb);}},_0x3cddad=new Set();return _0x4e9819[_0x9f1971(0x156)](_0x459a6b=>{const _0xcb6b00=_0x9f1971,_0x6ef3ba=_0x459a6b[_0x317af7];_0x6ef3ba!==null&&_0x2174bf[_0xcb6b00(0x132)](_0x6ef3ba,undefined)&&_0x2174bf[_0xcb6b00(0x142)](_0x6ef3ba,'')&&_0x3cddad[_0xcb6b00(0x14c)](_0x2174bf['PGCZO'](String,_0x6ef3ba)[_0xcb6b00(0x130)]());}),Array[_0x9f1971(0x15c)](_0x3cddad);}async['validateLookupValues'](_0x3d7eb9,_0x31919f){const _0xba47cb=a0_0x99821b,_0xf7f55b={'nXnlU':function(_0x2d453c,_0x51a753){return _0x2d453c===_0x51a753;},'kBtZi':function(_0x579711,_0x51682a){return _0x579711>_0x51682a;}};if(!_0x31919f||_0xf7f55b['nXnlU'](Object[_0xba47cb(0x138)](_0x31919f)[_0xba47cb(0x151)],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x29b9a0=[],_0x318f2c={};for(const [_0x101c39,_0x36169a]of Object['entries'](_0x31919f)){const {lookupTable:_0x29eb95,lookupColumn:_0x1c50c1,lookupIdColumn:_0x18e42e,required:_0x4b32cf}=_0x36169a,_0x57f0b6=this['getDistinctValues'](_0x3d7eb9,_0x101c39),_0x5936d9=await this['loadLookupTable'](_0x29eb95,_0x1c50c1,_0x18e42e),_0x564935=[],_0x63e55e=[];_0x57f0b6[_0xba47cb(0x156)](_0x115c79=>{const _0x446eb5=_0xba47cb,_0x30b05b=this['resolveLookupValue'](_0x115c79,_0x5936d9);_0x30b05b!==null?_0x63e55e['push'](_0x115c79):_0x564935[_0x446eb5(0x13a)](_0x115c79);});if(_0xf7f55b[_0xba47cb(0x144)](_0x564935[_0xba47cb(0x151)],0x0)&&_0x4b32cf){_0x29b9a0[_0xba47cb(0x13a)]({'field':_0x101c39,'lookupTable':_0x29eb95,'invalidValues':_0x564935,'message':_0x564935[_0xba47cb(0x151)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0x29eb95});const _0x376e9e=[];_0x5936d9['forEach']((_0x4be1fc,_0xcbe9bd)=>{const _0x5b36cd=_0xba47cb;if(_0xcbe9bd===_0xcbe9bd['toLowerCase']())return;_0x376e9e[_0x5b36cd(0x13a)](_0xcbe9bd);}),_0x318f2c[_0x101c39]={'invalidValues':_0x564935,'availableValues':_0x376e9e[_0xba47cb(0x14a)](0x0,0x32)};}}return{'valid':_0xf7f55b[_0xba47cb(0x161)](_0x29b9a0['length'],0x0),'errors':_0x29b9a0,'suggestions':_0x318f2c};}}module['exports']=new LookupResolver();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x9b9e39=a0_0x1616;function a0_0x1616(_0x5a2127,_0x32693b){_0x5a2127=_0x5a2127-0x13f;const _0x3dc95d=a0_0x3dc9();let _0x1616eb=_0x3dc95d[_0x5a2127];if(a0_0x1616['vbhECx']===undefined){var _0x28ebe7=function(_0x122cde){const _0x5b4dfe='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e05a9='',_0x91c72a='';for(let _0xbbbc74=0x0,_0x42d3a9,_0x557a6d,_0x852ee4=0x0;_0x557a6d=_0x122cde['charAt'](_0x852ee4++);~_0x557a6d&&(_0x42d3a9=_0xbbbc74%0x4?_0x42d3a9*0x40+_0x557a6d:_0x557a6d,_0xbbbc74++%0x4)?_0x2e05a9+=String['fromCharCode'](0xff&_0x42d3a9>>(-0x2*_0xbbbc74&0x6)):0x0){_0x557a6d=_0x5b4dfe['indexOf'](_0x557a6d);}for(let _0x332d1c=0x0,_0x3e6def=_0x2e05a9['length'];_0x332d1c<_0x3e6def;_0x332d1c++){_0x91c72a+='%'+('00'+_0x2e05a9['charCodeAt'](_0x332d1c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x91c72a);};a0_0x1616['rzoshu']=_0x28ebe7,a0_0x1616['QDwRsI']={},a0_0x1616['vbhECx']=!![];}const _0x3192d3=_0x3dc95d[0x0],_0x48e1cd=_0x5a2127+_0x3192d3,_0x3b849a=a0_0x1616['QDwRsI'][_0x48e1cd];return!_0x3b849a?(_0x1616eb=a0_0x1616['rzoshu'](_0x1616eb),a0_0x1616['QDwRsI'][_0x48e1cd]=_0x1616eb):_0x1616eb=_0x3b849a,_0x1616eb;}function a0_0x3dc9(){const _0x5d8a2a=['y2XLyxjdywnOzq','mtCXotHzzLjWzgK','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','ndqWmgzSAezYEa','CMvHzezPBgu','zMLLBgroyw1L','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','odD0AwD5z2C','y29SDw1UrM9YBwf0CW','lMPZB24','zMLLBgrmywjLBhm','mtGZntq0DLrLCg9Y','DgfIBgvoyw1L','sMfmA2S','CMPdwMK','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','AgfZ','nZi0odC0nhP5tK5NuG','CgfYC2u','BwvZC2fNzq','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','mJmWodC4mMvsEK1UAq','y2fJAgu','Axnby3rPB25fBMfIBgvK','Cgf0Aa','Bufjuw8','zgvIDwC','DxrMoa','lI4VlI4VCgf5Bg9Hza','ugf5Bg9HzcbUB3qGzM91BMq6ia','zxHWB3j0CW','AM9PBG','lwv4Cg9YDa','DgvAsMy','mtm3odvvvxzqBLe','mZa5mgvhDhPWCG','zgf0yxrHyMXLC1f1zxj5','Cgf5Bg9Hzf9SB2fKzwq','mtG2otuYzg9OBvHX','ywn0Aw9U','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK'];a0_0x3dc9=function(){return _0x5d8a2a;};return a0_0x3dc9();}(function(_0x86dcdc,_0x2398d7){const _0x5b91bd=a0_0x1616,_0x739762=_0x86dcdc();while(!![]){try{const _0x4ef64f=-parseInt(_0x5b91bd(0x143))/0x1+-parseInt(_0x5b91bd(0x14b))/0x2*(-parseInt(_0x5b91bd(0x151))/0x3)+parseInt(_0x5b91bd(0x155))/0x4+-parseInt(_0x5b91bd(0x14d))/0x5*(parseInt(_0x5b91bd(0x144))/0x6)+-parseInt(_0x5b91bd(0x15f))/0x7+-parseInt(_0x5b91bd(0x147))/0x8+parseInt(_0x5b91bd(0x15b))/0x9;if(_0x4ef64f===_0x2398d7)break;else _0x739762['push'](_0x739762['shift']());}catch(_0x26c8e5){_0x739762['push'](_0x739762['shift']());}}}(a0_0x3dc9,0x447ad));const fs=require('fs')['promises'],path=require(a0_0x9b9e39(0x162)),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x5a7bd3=a0_0x9b9e39;this['payloadDir']=path[_0x5a7bd3(0x140)](__dirname,_0x5a7bd3(0x166)),this['cache']=new Map();}async['loadPayload'](_0x57e956,_0x30f40b){const _0x580ee6=a0_0x9b9e39,_0x5c398e={'JaLkk':_0x580ee6(0x165),'dAnOC':_0x580ee6(0x14c),'rjCZi':'Failed\x20to\x20load\x20payload'},_0x21cfa5=_0x57e956+':'+_0x30f40b;if(this['cache']['has'](_0x21cfa5))return this['cache']['get'](_0x21cfa5);const _0x3b3fea=path['join'](this['payloadDir'],_0x57e956+'_'+_0x30f40b+_0x580ee6(0x153));try{const _0x97a3a6=await fs['readFile'](_0x3b3fea,_0x5c398e[_0x580ee6(0x157)]),_0x37e647=JSON[_0x580ee6(0x15c)](_0x97a3a6);return this[_0x580ee6(0x160)]['set'](_0x21cfa5,_0x37e647),logger[_0x580ee6(0x164)]({'event':_0x580ee6(0x146),'project':_0x57e956,'resource':_0x30f40b},_0x580ee6(0x159)),_0x37e647;}catch(_0x47054a){logger['error']({'event':_0x5c398e['dAnOC'],'project':_0x57e956,'resource':_0x30f40b,'error':_0x47054a[_0x580ee6(0x15d)]},_0x5c398e[_0x580ee6(0x158)]);throw new Error('Payload\x20not\x20found:\x20'+_0x57e956+'_'+_0x30f40b);}}async['loadPayloadByName'](_0x1e1c64){const _0x35b4d3=a0_0x9b9e39,_0x167980={'rjdqk':_0x35b4d3(0x146),'teZJf':'payload_load_error','mAIQo':_0x35b4d3(0x150)},_0x326ef6='payload:'+_0x1e1c64;if(this['cache'][_0x35b4d3(0x15a)](_0x326ef6))return this['cache']['get'](_0x326ef6);const _0x584d2c=path['join'](this['payloadDir'],_0x1e1c64+_0x35b4d3(0x153));try{const _0x5daf9a=await fs[_0x35b4d3(0x14e)](_0x584d2c,'utf8'),_0x27b4f7=JSON['parse'](_0x5daf9a);return this['cache']['set'](_0x326ef6,_0x27b4f7),logger['debug']({'event':_0x167980['rjdqk'],'payloadName':_0x1e1c64},'Payload\x20loaded\x20successfully\x20by\x20name'),_0x27b4f7;}catch(_0x2b8f99){logger['error']({'event':_0x167980[_0x35b4d3(0x142)],'payloadName':_0x1e1c64,'error':_0x2b8f99['message']},_0x167980[_0x35b4d3(0x163)]);throw new Error(_0x35b4d3(0x167)+_0x1e1c64);}}[a0_0x9b9e39(0x161)](_0x2503ea,_0x440a8d){const _0x33e682=a0_0x9b9e39,_0x2af634={'PwMzv':function(_0x4651c3,_0x45653b){return _0x4651c3===_0x45653b;}};return _0x2503ea['action']&&_0x2af634['PwMzv'](_0x2503ea[_0x33e682(0x148)][_0x440a8d],!![]);}['getExportConfig'](_0xbe538b){const _0x718bf6=a0_0x9b9e39;return{'columns':_0xbe538b[_0x718bf6(0x14f)]||[],'filename':_0xbe538b[_0x718bf6(0x156)]['replace']('.','-')+_0x718bf6(0x141),'datatablesQuery':_0xbe538b[_0x718bf6(0x145)]||null,'columnFormats':_0xbe538b[_0x718bf6(0x152)]||null,'fieldLabels':_0xbe538b[_0x718bf6(0x154)]||null};}[a0_0x9b9e39(0x14a)](){const _0x315ead=a0_0x9b9e39;this[_0x315ead(0x160)]['clear'](),logger['info']({'event':_0x315ead(0x149)},_0x315ead(0x15e));}}module[a0_0x9b9e39(0x13f)]=new PayloadLoader();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';function a0_0x2036(_0x5907aa,_0x5d4b6b){_0x5907aa=_0x5907aa-0x74;var _0x578d6f=a0_0x578d();var _0x203616=_0x578d6f[_0x5907aa];if(a0_0x2036['lDlrFP']===undefined){var _0x2a01f8=function(_0xc6ada0){var _0x119cea='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x28fd57='',_0x2d550c='';for(var _0x38269f=0x0,_0xd70e5c,_0x359e61,_0x3893b3=0x0;_0x359e61=_0xc6ada0['charAt'](_0x3893b3++);~_0x359e61&&(_0xd70e5c=_0x38269f%0x4?_0xd70e5c*0x40+_0x359e61:_0x359e61,_0x38269f++%0x4)?_0x28fd57+=String['fromCharCode'](0xff&_0xd70e5c>>(-0x2*_0x38269f&0x6)):0x0){_0x359e61=_0x119cea['indexOf'](_0x359e61);}for(var _0x55e590=0x0,_0x11dd30=_0x28fd57['length'];_0x55e590<_0x11dd30;_0x55e590++){_0x2d550c+='%'+('00'+_0x28fd57['charCodeAt'](_0x55e590)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d550c);};a0_0x2036['bUMgmb']=_0x2a01f8,a0_0x2036['fjqmuM']={},a0_0x2036['lDlrFP']=!![];}var _0xb48745=_0x578d6f[0x0],_0x2a0e0e=_0x5907aa+_0xb48745,_0x567139=a0_0x2036['fjqmuM'][_0x2a0e0e];return!_0x567139?(_0x203616=a0_0x2036['bUMgmb'](_0x203616),a0_0x2036['fjqmuM'][_0x2a0e0e]=_0x203616):_0x203616=_0x567139,_0x203616;}function a0_0x578d(){var _0x2f3a98=['Dg9ju09tDhjPBMC','mtm0mhfbDfv5sW','ndG1otqXohnuDMHhtG','ndC2odbhB1vWr00','mtaZnde5mdzNsMTrq3C','mJe5nZG2ohn5ALvpra','mJa3mLDOs3jurG','mtq5mda0A3Lgr3jV','nwjXv0H6Da','mZu2nte1neztu3fHtG','nZe3ndm1terWtMz1'];a0_0x578d=function(){return _0x2f3a98;};return a0_0x578d();}(function(_0x4a359b,_0x167b0b){var _0x2d29a4=a0_0x2036,_0x5b06a3=_0x4a359b();while(!![]){try{var _0x517005=-parseInt(_0x2d29a4(0x7c))/0x1+-parseInt(_0x2d29a4(0x7b))/0x2+parseInt(_0x2d29a4(0x74))/0x3+parseInt(_0x2d29a4(0x77))/0x4+-parseInt(_0x2d29a4(0x7a))/0x5*(-parseInt(_0x2d29a4(0x76))/0x6)+parseInt(_0x2d29a4(0x78))/0x7*(parseInt(_0x2d29a4(0x75))/0x8)+-parseInt(_0x2d29a4(0x79))/0x9*(parseInt(_0x2d29a4(0x7e))/0xa);if(_0x517005===_0x167b0b)break;else _0x5b06a3['push'](_0x5b06a3['shift']());}catch(_0x10a4fd){_0x5b06a3['push'](_0x5b06a3['shift']());}}}(a0_0x578d,0xe5248));function createResponse(_0x5668a2,_0x52da95,_0x5192e8=null){var _0x44c0e9=a0_0x2036;return{'success':!![],'statusCode':_0x5668a2,'message':_0x52da95,'data':_0x5192e8,'timestamp':new Date()[_0x44c0e9(0x7d)]()};}function createError(_0x15dae4,_0x28205d,_0x328022=null){return{'success':![],'statusCode':_0x15dae4,'message':_0x28205d,'data':_0x328022,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x46fdb8,_0x39648e){var _0x5c47f2=a0_0x2036;return{'success':![],'statusCode':0x190,'message':_0x46fdb8,'data':{'errors':_0x39648e},'timestamp':new Date()[_0x5c47f2(0x7d)]()};}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
|
package/src/utils/rabbitmq.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a0_0x5b3a(_0x112027,_0x495922){_0x112027=_0x112027-0x66;const _0x518913=a0_0x5189();let _0x5b3a40=_0x518913[_0x112027];if(a0_0x5b3a['fLZHQK']===undefined){var _0x185d28=function(_0xa0484e){const _0x585f71='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3ca09e='',_0x324c3a='';for(let _0x30e7ae=0x0,_0x5f3577,_0x27f9c0,_0x47d465=0x0;_0x27f9c0=_0xa0484e['charAt'](_0x47d465++);~_0x27f9c0&&(_0x5f3577=_0x30e7ae%0x4?_0x5f3577*0x40+_0x27f9c0:_0x27f9c0,_0x30e7ae++%0x4)?_0x3ca09e+=String['fromCharCode'](0xff&_0x5f3577>>(-0x2*_0x30e7ae&0x6)):0x0){_0x27f9c0=_0x585f71['indexOf'](_0x27f9c0);}for(let _0xeaf969=0x0,_0x27c6f3=_0x3ca09e['length'];_0xeaf969<_0x27c6f3;_0xeaf969++){_0x324c3a+='%'+('00'+_0x3ca09e['charCodeAt'](_0xeaf969)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x324c3a);};a0_0x5b3a['hwUsRl']=_0x185d28,a0_0x5b3a['mbljJM']={},a0_0x5b3a['fLZHQK']=!![];}const _0x3c6774=_0x518913[0x0],_0x10dae4=_0x112027+_0x3c6774,_0x153021=a0_0x5b3a['mbljJM'][_0x10dae4];return!_0x153021?(_0x5b3a40=a0_0x5b3a['hwUsRl'](_0x5b3a40),a0_0x5b3a['mbljJM'][_0x10dae4]=_0x5b3a40):_0x5b3a40=_0x153021,_0x5b3a40;}const a0_0x19cb35=a0_0x5b3a;(function(_0x29a00f,_0x36c50e){const _0x4ef8d0=a0_0x5b3a,_0x271bb1=_0x29a00f();while(!![]){try{const _0x444041=-parseInt(_0x4ef8d0(0x83))/0x1+-parseInt(_0x4ef8d0(0x8a))/0x2+parseInt(_0x4ef8d0(0x6e))/0x3*(parseInt(_0x4ef8d0(0x6c))/0x4)+parseInt(_0x4ef8d0(0x70))/0x5+-parseInt(_0x4ef8d0(0x7b))/0x6+-parseInt(_0x4ef8d0(0x79))/0x7*(-parseInt(_0x4ef8d0(0x7f))/0x8)+parseInt(_0x4ef8d0(0x7d))/0x9;if(_0x444041===_0x36c50e)break;else _0x271bb1['push'](_0x271bb1['shift']());}catch(_0x336369){_0x271bb1['push'](_0x271bb1['shift']());}}}(a0_0x5189,0x9895b),require(a0_0x19cb35(0x7c))['config']());const amqp=require(a0_0x19cb35(0x8c)),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process['env'][a0_0x19cb35(0x8d)],EXCHANGE=process['env'][a0_0x19cb35(0x71)],ROUTING_KEY=process['env']['RABBITMQ_ROUTING_KEY'],QUEUE=process['env'][a0_0x19cb35(0x84)];async function createConnection(){const _0x36896b=a0_0x19cb35,_0x2483a8={'npbsD':function(_0x39c424,_0x5cdb38){return _0x39c424(_0x5cdb38);}};try{const _0x5d21f1=await amqp['connect'](RABBITMQ_URL);return console['log']('['+_0x2483a8[_0x36896b(0x89)](formatDate,new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x5d21f1;}catch(_0x5b08fc){console[_0x36896b(0x8b)]('['+formatDate(new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x5b08fc[_0x36896b(0x73)]);throw _0x5b08fc;}}function a0_0x5189(){const _0x376eff=['uKfcqKLutvfFrvHdsefor0u','uLvoA2C','BwvZC2fNzq','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','y3jLyxrLzc9YzwfKEq','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','txnQAMe','mZiYn05fuKvyuq','ignYzwf0zwq','ntq5ntyZngTvB2zxuW','zg90zw52','otyXmZK3mwz3Bw50zG','tMLYBMy','mtCZndrMref2Ce8','wg5nvMC','Aw5LCxvPDMfSzw50igfYzW','ignYzwf0zwqVCMvHzhK','otC4nJrwz3jvweu','uKfcqKLutvfFuvvfvuu','Bg9N','xsbfuLjpuJOGuxvLDwuG','CMv0CNKTzxHJAgfUz2u','D1juqu8','BNbIC0q','mJmWmdaZnMXXBvDutq','zxjYB3i','yw1XCgXPyG','uKfcqKLutvfFvvjm','u1znqLC','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG','zgLYzwn0','yxnZzxj0uxvLDwu','xsbrDwv1zsa','x3jLDhj5','vNPYBg8','y3jLyxrLq2HHBM5LBa','mJeXotz1DgTnB3y','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','mJGYDMTTv3fA','uxvLDwuG','mteXnte3nvHhthP5qG'];a0_0x5189=function(){return _0x376eff;};return a0_0x5189();}async function createChannel(_0x16dbda){const _0x2350de=a0_0x19cb35,_0x51e6eb={'npyya':function(_0x56686a,_0x301469){return _0x56686a(_0x301469);},'cbVQq':function(_0x36be53,_0x58ab95){return _0x36be53(_0x58ab95);}};try{const _0x2e4096=await _0x16dbda[_0x2350de(0x6b)]();return console['log']('['+_0x51e6eb['npyya'](formatDate,new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x2e4096;}catch(_0x194e6e){console['error']('['+_0x51e6eb['cbVQq'](formatDate,new Date())+_0x2350de(0x75)+_0x194e6e[_0x2350de(0x73)]);throw _0x194e6e;}}async function setupInfrastructure(_0xe8229e){const _0x3937f1=a0_0x19cb35,_0x26cb4b={'Vzrlo':'retry-exchange','uxpzm':_0x3937f1(0x66),'RUNkg':function(_0x42c774,_0x208949){return _0x42c774(_0x208949);},'Msjja':function(_0x1d22b5,_0xe3b922){return _0x1d22b5(_0xe3b922);},'XnMVg':_0x3937f1(0x76),'Nirnf':function(_0x4faaf6,_0x410fd2){return _0x4faaf6(_0x410fd2);},'JVhuy':_0x3937f1(0x77),'wRTAO':'inequivalent\x20arg','SVMBW':function(_0x222ba7,_0x2f22e6){return _0x222ba7(_0x2f22e6);}};try{await _0xe8229e['assertExchange'](_0x26cb4b[_0x3937f1(0x6a)],_0x26cb4b['uxpzm'],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x26cb4b['RUNkg'](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x425fe1){console['error']('['+_0x26cb4b[_0x3937f1(0x78)](formatDate,new Date())+_0x3937f1(0x74),_0x425fe1['message']);throw _0x425fe1;}try{await _0xe8229e['assertExchange'](EXCHANGE,'direct',{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+']\x20Exchange\x20'+EXCHANGE+_0x3937f1(0x82));}catch(_0x925c08){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x925c08[_0x3937f1(0x73)]);throw _0x925c08;}const _0x48c26c=ROUTING_KEY+_0x3937f1(0x69);try{const _0x210dd6={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0xe8229e['assertQueue'](_0x48c26c,_0x210dd6),console[_0x3937f1(0x85)]('['+_0x26cb4b[_0x3937f1(0x72)](formatDate,new Date())+']\x20Retry\x20queue\x20'+_0x48c26c+_0x3937f1(0x82)),await _0xe8229e['bindQueue'](_0x48c26c,_0x3937f1(0x87),ROUTING_KEY),console[_0x3937f1(0x85)]('['+_0x26cb4b['Msjja'](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+_0x3937f1(0x7a));}catch(_0x429f1c){console[_0x3937f1(0x8b)]('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x429f1c[_0x3937f1(0x73)]);throw _0x429f1c;}try{const _0x597aaf={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x26cb4b[_0x3937f1(0x6a)],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x349bbc=await _0xe8229e[_0x3937f1(0x67)](QUEUE,_0x597aaf);console['log']('['+_0x26cb4b['Msjja'](formatDate,new Date())+_0x3937f1(0x68)+QUEUE+'\x20'+(_0x349bbc['queue']===QUEUE?_0x26cb4b[_0x3937f1(0x80)]:'found')+'\x20with\x20DLX'),await _0xe8229e['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+_0x26cb4b[_0x3937f1(0x7e)](formatDate,new Date())+']\x20Binding\x20'+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0xc35f9){if(_0xc35f9['message']['includes'](_0x3937f1(0x81))&&_0xc35f9['message']['includes'](_0x26cb4b['JVhuy']))console[_0x3937f1(0x8b)]('\x0a['+formatDate(new Date())+_0x3937f1(0x86)+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console['error'](_0x3937f1(0x6f)+QUEUE+_0x3937f1(0x6d)),console['error'](_0x3937f1(0x8f)),process['exit'](0x1);else{console[_0x3937f1(0x8b)]('['+formatDate(new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0xc35f9['message']);throw _0xc35f9;}}}catch(_0x3ae25d){if(!_0x3ae25d['message']['includes'](_0x26cb4b[_0x3937f1(0x88)])){console[_0x3937f1(0x8b)]('['+_0x26cb4b[_0x3937f1(0x8e)](formatDate,new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x3ae25d[_0x3937f1(0x73)]);throw _0x3ae25d;}process['exit'](0x1);}}async function closeConnection(_0x1f0a83){const _0x1df7ff=a0_0x19cb35;if(_0x1f0a83)try{await _0x1f0a83['close'](),console['log']('['+formatDate(new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x4f40b8){console[_0x1df7ff(0x8b)]('['+formatDate(new Date())+']\x20Failed\x20to\x20close\x20RabbitMQ\x20connection:\x20'+_0x4f40b8['message']);}}module['exports']={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a0_0x3ecc(_0x1328b4,_0x2690a2){_0x1328b4=_0x1328b4-0xb1;const _0x56386e=a0_0x5638();let _0x3ecca1=_0x56386e[_0x1328b4];if(a0_0x3ecc['JeQgMX']===undefined){var _0x4b6dbb=function(_0x2f465a){const _0x2a916a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xf120bc='',_0x54b5f9='';for(let _0x93890e=0x0,_0x1779dc,_0x239f0f,_0x3f759e=0x0;_0x239f0f=_0x2f465a['charAt'](_0x3f759e++);~_0x239f0f&&(_0x1779dc=_0x93890e%0x4?_0x1779dc*0x40+_0x239f0f:_0x239f0f,_0x93890e++%0x4)?_0xf120bc+=String['fromCharCode'](0xff&_0x1779dc>>(-0x2*_0x93890e&0x6)):0x0){_0x239f0f=_0x2a916a['indexOf'](_0x239f0f);}for(let _0x25b2ba=0x0,_0x1f4bcc=_0xf120bc['length'];_0x25b2ba<_0x1f4bcc;_0x25b2ba++){_0x54b5f9+='%'+('00'+_0xf120bc['charCodeAt'](_0x25b2ba)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x54b5f9);};a0_0x3ecc['raeGdE']=_0x4b6dbb,a0_0x3ecc['lDKDxV']={},a0_0x3ecc['JeQgMX']=!![];}const _0x1afe86=_0x56386e[0x0],_0x47d5c0=_0x1328b4+_0x1afe86,_0x20ad7c=a0_0x3ecc['lDKDxV'][_0x47d5c0];return!_0x20ad7c?(_0x3ecca1=a0_0x3ecc['raeGdE'](_0x3ecca1),a0_0x3ecc['lDKDxV'][_0x47d5c0]=_0x3ecca1):_0x3ecca1=_0x20ad7c,_0x3ecca1;}const a0_0x58ce42=a0_0x3ecc;(function(_0xdf0b24,_0x148d86){const _0x5b3539=a0_0x3ecc,_0x217075=_0xdf0b24();while(!![]){try{const _0x49aee8=parseInt(_0x5b3539(0xcc))/0x1*(-parseInt(_0x5b3539(0xba))/0x2)+parseInt(_0x5b3539(0xbf))/0x3+parseInt(_0x5b3539(0xbd))/0x4*(parseInt(_0x5b3539(0xcd))/0x5)+-parseInt(_0x5b3539(0xb7))/0x6*(parseInt(_0x5b3539(0xc8))/0x7)+parseInt(_0x5b3539(0xc2))/0x8*(-parseInt(_0x5b3539(0xb3))/0x9)+-parseInt(_0x5b3539(0xc9))/0xa+-parseInt(_0x5b3539(0xbc))/0xb*(-parseInt(_0x5b3539(0xbe))/0xc);if(_0x49aee8===_0x148d86)break;else _0x217075['push'](_0x217075['shift']());}catch(_0x1fb07b){_0x217075['push'](_0x217075['shift']());}}}(a0_0x5638,0xb24dc));const Redis=require('ioredis'),{logger}=require('./logger');function a0_0x5638(){const _0x2c1633=['BwLU','nJy3mdG4qMXqs0HL','nta1otmWqM55CK1I','y2XVC2u','CMfJzq','zM9Yy2veAxnJB25Uzwn0','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','BwvZC2fNzq','zgLZy29UBMvJDa','nJmWovv4vvjZyq','CMvKAxnFzxjYB3i','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','uKvesvnFse9tva','nJqXnfrfsuLxtq','zw52','y2XPzw50','ngjUAKnUwa','y29UBMvJDa','mZmYmdeWogvlyLPSAG','mJbeAKTWB1K','mty4vgjgvM9K','mtC5nZKWmfPxD0HpCW','uMvKAxmGueLorYb0Aw1LB3v0','uKvesvnFue9sva','nZyYnevYq1zbtW','DfbhA2S','zxjYB3i','A1HMDxe','z2v0q2XPzw50','AxndB25Uzwn0zwq','odqWn1rbDunJDa','mtmXndm5mJbcv2f4z00','zxHWB3j0CW'];a0_0x5638=function(){return _0x2c1633;};return a0_0x5638();}class RedisClient{constructor(){const _0x308334=a0_0x3ecc;this['client']=null,this[_0x308334(0xc7)]=![];}[a0_0x58ce42(0xbb)](){const _0x2605d0=a0_0x58ce42,_0x4a026b={'dzHOj':'redis_connected','QQsSq':'Redis\x20connected\x20successfully','oakZn':_0x2605d0(0xb4),'BjKpY':_0x2605d0(0xd1),'kXfuq':'localhost','UsTlY':_0x2605d0(0xbb),'tPGkk':_0x2605d0(0xce),'lsykg':'Failed\x20to\x20initialize\x20Redis'};if(this['client'])return this[_0x2605d0(0xb9)];try{return this['client']=new Redis({'host':process['env'][_0x2605d0(0xb6)]||_0x4a026b[_0x2605d0(0xc5)],'port':parseInt(process[_0x2605d0(0xb8)][_0x2605d0(0xc1)],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':parseInt(process['env']['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x40781f){const _0xae781b=_0x2605d0,_0xedbb28=Math[_0xae781b(0xcb)](_0x40781f*0x32,0x7d0);return _0xedbb28;}}),this[_0x2605d0(0xb9)]['on'](_0x4a026b['UsTlY'],()=>{this['isConnected']=!![],logger['info']({'event':_0x4a026b['dzHOj']},_0x4a026b['QQsSq']);}),this[_0x2605d0(0xb9)]['on']('error',_0x87eab7=>{const _0x247067=_0x2605d0;this['isConnected']=![],logger['error']({'event':_0x4a026b['oakZn'],'error':_0x87eab7['message']},_0x247067(0xb5)+_0x87eab7[_0x247067(0xb1)]);}),this[_0x2605d0(0xb9)]['on'](_0x4a026b[_0x2605d0(0xc3)],()=>{const _0xfc073f=_0x2605d0;this[_0xfc073f(0xc7)]=![],logger['warn']({'event':'redis_disconnected'},_0x4a026b['BjKpY']);}),this[_0x2605d0(0xb9)];}catch(_0x328973){logger[_0x2605d0(0xc4)]({'event':'redis_init_error','error':_0x328973['message']},_0x4a026b['lsykg']);throw _0x328973;}}[a0_0x58ce42(0xc6)](){const _0x4a882a=a0_0x58ce42;return!this['client']&&this['connect'](),this[_0x4a882a(0xb9)];}async['ping'](_0x57064f=0x1388){const _0x5152d8=a0_0x58ce42,_0x4047f9={'TEbUE':'PONG'};try{const _0x1f41d2=this[_0x5152d8(0xc6)](),_0x53af8a=await Promise[_0x5152d8(0xcf)]([_0x1f41d2['ping'](),new Promise((_0x494dbd,_0x38c158)=>setTimeout(()=>_0x38c158(new Error(_0x5152d8(0xc0))),_0x57064f))]);return _0x53af8a===_0x4047f9['TEbUE'];}catch(_0x3ca7a4){return![];}}async[a0_0x58ce42(0xb2)](){const _0x2b3513=a0_0x58ce42;this[_0x2b3513(0xb9)]&&(await this[_0x2b3513(0xb9)]['quit'](),this['client']=null,this[_0x2b3513(0xc7)]=![]);}[a0_0x58ce42(0xd0)](){const _0x3ccc44=a0_0x58ce42;this['client']&&(this['client'][_0x3ccc44(0xb2)](),this[_0x3ccc44(0xb9)]=null,this[_0x3ccc44(0xc7)]=![]);}}module[a0_0x58ce42(0xca)]=new RedisClient();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x2b3248=a0_0x5c11;(function(_0x4dfb5c,_0xb7ec59){const _0x5060b4=a0_0x5c11,_0x32e185=_0x4dfb5c();while(!![]){try{const _0x444ac5=-parseInt(_0x5060b4(0x105))/0x1*(parseInt(_0x5060b4(0x112))/0x2)+-parseInt(_0x5060b4(0x103))/0x3+parseInt(_0x5060b4(0x11a))/0x4*(parseInt(_0x5060b4(0x100))/0x5)+parseInt(_0x5060b4(0x107))/0x6+-parseInt(_0x5060b4(0x10d))/0x7*(parseInt(_0x5060b4(0x113))/0x8)+parseInt(_0x5060b4(0xf9))/0x9+-parseInt(_0x5060b4(0x10c))/0xa*(parseInt(_0x5060b4(0x10f))/0xb);if(_0x444ac5===_0xb7ec59)break;else _0x32e185['push'](_0x32e185['shift']());}catch(_0x4a9fa0){_0x32e185['push'](_0x32e185['shift']());}}}(a0_0x2d44,0x61d14));const redisClient=require('./redis-client'),{logger}=require('./logger');class RedisHelper{constructor(){const _0x1f8e3e={'CcxGX':function(_0x1f1156,_0x4bfe1b,_0x5acd1f){return _0x1f1156(_0x4bfe1b,_0x5acd1f);}};this['_prefix']=null,this['ttl']=_0x1f8e3e['CcxGX'](parseInt,process['env']['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get['prefix'](){const _0x289cff=a0_0x5c11,_0xf9b97f={'tmDSZ':_0x289cff(0x115)};if(!this[_0x289cff(0x106)]){const _0x25ff10=process['env'][_0x289cff(0x119)]||_0xf9b97f[_0x289cff(0x108)];this[_0x289cff(0x106)]=_0x289cff(0xfb)+_0x25ff10+_0x289cff(0x111);}return this[_0x289cff(0x106)];}async[a0_0x2b3248(0x116)](_0x5e571b,_0x4205cb){const _0x5254dd=a0_0x2b3248,_0x2b854b={'QxYFc':_0x5254dd(0xfc)};try{const _0x5cc51d=redisClient[_0x5254dd(0x114)](),_0x49a858=''+this[_0x5254dd(0xfd)]+_0x5e571b;return await _0x5cc51d['setex'](_0x49a858,this[_0x5254dd(0x118)],JSON['stringify'](_0x4205cb)),!![];}catch(_0x38ff62){return logger[_0x5254dd(0x10e)]({'event':_0x2b854b['QxYFc'],'jobId':_0x5e571b,'error':_0x38ff62[_0x5254dd(0x109)]},_0x5254dd(0x10b)),![];}}async[a0_0x2b3248(0x117)](_0x567b5e){const _0x1dc48e=a0_0x2b3248;try{const _0x4cbb96=redisClient['getClient'](),_0x54df76=''+this['prefix']+_0x567b5e,_0x31168f=await _0x4cbb96['get'](_0x54df76);return _0x31168f?JSON[_0x1dc48e(0xfa)](_0x31168f):null;}catch(_0x2ab399){return logger[_0x1dc48e(0x10e)]({'event':'redis_get_error','jobId':_0x567b5e,'error':_0x2ab399[_0x1dc48e(0x109)]},'Failed\x20to\x20get\x20job\x20from\x20Redis'),null;}}async['updateJob'](_0x149b7c,_0x28cf8d){const _0x4ca701=a0_0x2b3248,_0x495d22=await this[_0x4ca701(0x117)](_0x149b7c);if(!_0x495d22)return![];const _0xfc613f={..._0x495d22,..._0x28cf8d};return await this['setJob'](_0x149b7c,_0xfc613f);}async[a0_0x2b3248(0x110)](_0x3b7595){const _0x1aaf5a=a0_0x2b3248,_0x257e9c={'MHzxX':'redis_delete_error'};try{const _0x5c2382=redisClient['getClient'](),_0x4b11b2=''+this[_0x1aaf5a(0xfd)]+_0x3b7595;return await _0x5c2382[_0x1aaf5a(0x104)](_0x4b11b2),!![];}catch(_0x367e4d){return logger['error']({'event':_0x257e9c['MHzxX'],'jobId':_0x3b7595,'error':_0x367e4d['message']},_0x1aaf5a(0xff)),![];}}async[a0_0x2b3248(0xfe)](){const _0x25ee0d=a0_0x2b3248,_0x5655cf={'vdUOL':'Failed\x20to\x20get\x20all\x20jobs'};try{const _0x46b890=redisClient['getClient'](),_0x9bd89d=await _0x46b890['keys'](this['prefix']+'*'),_0x41a6cc=[];for(const _0x9bb1 of _0x9bd89d){const _0x43cce7=await _0x46b890['get'](_0x9bb1);_0x43cce7&&_0x41a6cc['push'](JSON['parse'](_0x43cce7));}return _0x41a6cc;}catch(_0x2cbf56){return logger[_0x25ee0d(0x10e)]({'event':_0x25ee0d(0x10a),'error':_0x2cbf56[_0x25ee0d(0x109)]},_0x5655cf[_0x25ee0d(0x101)]),[];}}}function a0_0x5c11(_0x16f133,_0x3f6ed2){_0x16f133=_0x16f133-0xf9;const _0x2d441c=a0_0x2d44();let _0x5c116e=_0x2d441c[_0x16f133];if(a0_0x5c11['KBXmlN']===undefined){var _0x2efde0=function(_0x13ab35){const _0x25692b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x208b95='',_0x1da790='';for(let _0x1b0440=0x0,_0x30ba20,_0x5915b9,_0x3df8d8=0x0;_0x5915b9=_0x13ab35['charAt'](_0x3df8d8++);~_0x5915b9&&(_0x30ba20=_0x1b0440%0x4?_0x30ba20*0x40+_0x5915b9:_0x5915b9,_0x1b0440++%0x4)?_0x208b95+=String['fromCharCode'](0xff&_0x30ba20>>(-0x2*_0x1b0440&0x6)):0x0){_0x5915b9=_0x25692b['indexOf'](_0x5915b9);}for(let _0x37cdf5=0x0,_0xc31780=_0x208b95['length'];_0x37cdf5<_0xc31780;_0x37cdf5++){_0x1da790+='%'+('00'+_0x208b95['charCodeAt'](_0x37cdf5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1da790);};a0_0x5c11['sLvPho']=_0x2efde0,a0_0x5c11['pXGSoa']={},a0_0x5c11['KBXmlN']=!![];}const _0x41c452=_0x2d441c[0x0],_0x243fed=_0x16f133+_0x41c452,_0x280899=a0_0x5c11['pXGSoa'][_0x243fed];return!_0x280899?(_0x5c116e=a0_0x5c11['sLvPho'](_0x5c116e),a0_0x5c11['pXGSoa'][_0x243fed]=_0x5c116e):_0x5c116e=_0x280899,_0x5c116e;}module[a0_0x2b3248(0x102)]=new RedisHelper();function a0_0x2d44(){const _0x464d4d=['mJC1sKDLy0nX','zgvSzxrLsM9I','oMv4Cg9YDdO','nJa4nJb1BKvsuKu','mte1mZmXmNHMqvjyyG','z2v0q2XPzw50','zgvMyxvSDa','C2v0sM9I','z2v0sM9I','DhrS','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','otaZodGWqwDxEMzR','mteZntqZmuD3BxbZCG','CgfYC2u','CMvZDgzVCMDLoG','CMvKAxnFC2v0x2vYCM9Y','ChjLzML4','z2v0qwXSsM9ICW','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW','mtvLBvL5AMO','DMrvt0W','zxHWB3j0CW','mZy4nZu0vhrts3rM','zgvS','mtbmwvjLCMO','x3bYzwzPEa','ndy3mte3ngHYCfvXzG','Dg1eu1O','BwvZC2fNzq','CMvKAxnFz2v0ywXSx2vYCM9Y','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','mtm1nJbYt0vmBM4','mZvzuK5LB2i','zxjYB3i'];a0_0x2d44=function(){return _0x464d4d;};return a0_0x2d44();}
|