@restforgejs/platform 4.3.1 → 4.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/lib/payload/payload-runner.js +1 -1
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/integrity-manifest.json +18 -18
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x1fae(){const _0x56ee86=['nLP4zMLOuW','Dhj1zq','x3DVCMTLCKLK','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','Bg9JA19LEhrLBMrLza','Bg9JA19LEhrLBMrFzxjYB3i','mtC1ndi0mLffELvgDW','Bg9JA19YzwXLyxnLx2vYCM9Y','veTuvxu','C3rYyxrLz3K','zgvMyxvSDfruta','nZG5mdmWshDTz2Lc','lcbZDhjHDgvNEtOG','tfb4uum','v1jjveuGBg9JAYbLCNjVCG','zxHWAxjL','zw52','s1vky2y','uKvbrcbSB2nRigvYCM9Y','x2vUC3vYzuLUAxrPywXPEMvK','CMv0CNLdB3vUDa','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','lI9YzwrPCY1JBgLLBNq','Cg93','z2v0','ChjLzML4','CMvHzf9SB2nRx3jLBgvHC2vK','mJDJCgnTtuS','zxzet0e','tg9JAYbuveWGzxH0zw5Kzwq','x2rLzMf1BhruveW','v1jjveuGBg9JAYbYzwXLyxnLza','CNDuvNm','zgvS','zxHWB3j0CW','D25VvMS','D3jPDgvFBg9JA19YzwXLyxnLza','z2v0tg9JA0LUzM8','zw5HyMXLza','D3jPDgvFBg9JA19YzwPLy3rLza','te9ds19esvnuuKLcvvrfrf9uveW','mu1Wz3nMDG','zufMq0G','x2LUAxrPywXPEMvK','mJa2mZu0nezTBufcua','mZi3nJbyzLnnv2y','ywnXDwLYzvDYAxrLtg9JAW','CMvHzf9SB2nRx2fJCxvPCMvK','D3jPDgvFBg9JA19Hy3f1AxjLza','Aw5JBhvKzxm','BgfZDeLUzgv4t2y','D2fYBG','ndaYotaXmfnOAxjqqq','mJKXnte2ounlwhbwyW','x3bYzwzPEa','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','C3vIC3rYAw5N','x3jLDhj5q291BNq','x3n0CMf0zwD5','CMvHzf9SB2nRx2vYCM9Y','DxvPza','CMv0CNLezwXHEq','uwvUB3q','CgLK','Bg9JA19JB25MAwDFAw5PDa','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','CMv0CNK','D29YA2vYswq','zxjYB3i','z2v0q2XPzw50','ywnXDwLYzvjLywrmB2nR','zxH0zw5Ktg9JAW','yNvPBgrmB2nRs2v5','DvbbAhi','x2vUywjSzwq','EfjTqwK','C3bSAxq','AxnfBMfIBgvK','D3jPDgu','oNjLywq6','zxzHBa','C2XLzxa','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','mZiWotmZovfVsNjOBG','nfjyCxfNzq','CMvHza','zgvIDwC','CMvQzwn0','x3jLDhj5rgvSyxK','tg9JAYbLEhrLBMqGzxjYB3i'];a0_0x1fae=function(){return _0x56ee86;};return a0_0x1fae();}const a0_0x21291f=a0_0x1a47;(function(_0x148177,_0x190c31){const _0x5a58b0=a0_0x1a47,_0x12ddad=_0x148177();while(!![]){try{const _0x1a5582=parseInt(_0x5a58b0(0x156))/0x1*(-parseInt(_0x5a58b0(0x133))/0x2)+-parseInt(_0x5a58b0(0x162))/0x3*(-parseInt(_0x5a58b0(0x181))/0x4)+-parseInt(_0x5a58b0(0x161))/0x5+parseInt(_0x5a58b0(0x12d))/0x6*(parseInt(_0x5a58b0(0x180))/0x7)+-parseInt(_0x5a58b0(0x159))/0x8*(-parseInt(_0x5a58b0(0x148))/0x9)+-parseInt(_0x5a58b0(0x15a))/0xa+parseInt(_0x5a58b0(0x138))/0xb;if(_0x1a5582===_0x190c31)break;else _0x12ddad['push'](_0x12ddad['shift']());}catch(_0x54b859){_0x12ddad['push'](_0x12ddad['shift']());}}}(a0_0x1fae,0x8fef8));function a0_0x1a47(_0x5a14de,_0x5a4f46){_0x5a14de=_0x5a14de-0x12c;const _0x1fae66=a0_0x1fae();let _0x1a47f3=_0x1fae66[_0x5a14de];if(a0_0x1a47['VUcOXa']===undefined){var _0x41e3aa=function(_0x52cad3){const _0x1a1473='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1575db='',_0x43c10f='';for(let _0x40ab79=0x0,_0x5e9d4f,_0x3ce062,_0x527b3a=0x0;_0x3ce062=_0x52cad3['charAt'](_0x527b3a++);~_0x3ce062&&(_0x5e9d4f=_0x40ab79%0x4?_0x5e9d4f*0x40+_0x3ce062:_0x3ce062,_0x40ab79++%0x4)?_0x1575db+=String['fromCharCode'](0xff&_0x5e9d4f>>(-0x2*_0x40ab79&0x6)):0x0){_0x3ce062=_0x1a1473['indexOf'](_0x3ce062);}for(let _0x34d06a=0x0,_0x59b026=_0x1575db['length'];_0x34d06a<_0x59b026;_0x34d06a++){_0x43c10f+='%'+('00'+_0x1575db['charCodeAt'](_0x34d06a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x43c10f);};a0_0x1a47['YSojXr']=_0x41e3aa,a0_0x1a47['gVmkap']={},a0_0x1a47['VUcOXa']=!![];}const _0x4b3552=_0x1fae66[0x0],_0x4510eb=_0x5a14de+_0x4b3552,_0x2afb0f=a0_0x1a47['gVmkap'][_0x4510eb];return!_0x2afb0f?(_0x1a47f3=a0_0x1a47['YSojXr'](_0x1a47f3),a0_0x1a47['gVmkap'][_0x4510eb]=_0x1a47f3):_0x1a47f3=_0x2afb0f,_0x1a47f3;}const redisClient=require(a0_0x21291f(0x143)),{logger}=require('./logger'),{v4:uuidv4}=require(a0_0x21291f(0x169));class LockManager{constructor(){const _0x52160b=a0_0x21291f,_0x1a9cef={'rwTVs':'0|2|1|4|6|7|3|5'},_0x4a4aef=_0x1a9cef[_0x52160b(0x14d)][_0x52160b(0x179)]('|');let _0x400629=0x0;while(!![]){switch(_0x4a4aef[_0x400629++]){case'0':this[_0x52160b(0x163)]=null;continue;case'1':this[_0x52160b(0x14b)]=null;continue;case'2':this['_enabled']=null;continue;case'3':this['_workerId']=null;continue;case'4':this[_0x52160b(0x166)]=null;continue;case'5':this[_0x52160b(0x158)]=![];continue;case'6':this['_retryDelay']=null;continue;case'7':this[_0x52160b(0x167)]=null;continue;}break;}}['_initConfig'](){const _0x170f43=a0_0x21291f,_0x12c195={'hDoUS':'rf:lock:','DtOrk':_0x170f43(0x12e),'LSASG':function(_0x3824ee,_0x4cf402,_0x538ae4){return _0x3824ee(_0x4cf402,_0x538ae4);}};this[_0x170f43(0x163)]=_0x12c195['hDoUS'],this[_0x170f43(0x177)]=process[_0x170f43(0x13d)]['LOCK_DISTRIBUTED_ENABLED']===_0x12c195['DtOrk'],this[_0x170f43(0x14b)]=_0x12c195['LSASG'](parseInt,process['env'][_0x170f43(0x155)],0xa)||0xa,this[_0x170f43(0x166)]=parseInt(process[_0x170f43(0x13d)]['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3,this[_0x170f43(0x185)]=_0x12c195['LSASG'](parseInt,process[_0x170f43(0x13d)]['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64,this['_strategy']=process['env'][_0x170f43(0x17f)]||_0x170f43(0x16f),this[_0x170f43(0x12f)]='worker-'+process[_0x170f43(0x16c)],this['_initialized']=!![],logger['info']({'event':_0x170f43(0x16d),'enabled':this[_0x170f43(0x177)],'strategy':this['_strategy'],'ttl':this['_defaultTTL'],'retryCount':this[_0x170f43(0x166)],'retryDelay':this[_0x170f43(0x185)],'workerId':this['_workerId']},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this[_0x170f43(0x177)]+_0x170f43(0x139)+this[_0x170f43(0x167)]);}[a0_0x21291f(0x140)](){const _0x28e21e=a0_0x21291f;!this[_0x28e21e(0x158)]&&this['_initConfig']();}get['prefix'](){const _0x369b43=a0_0x21291f;return this['_ensureInitialized'](),this[_0x369b43(0x163)];}get['enabled'](){const _0xcc13f7=a0_0x21291f;return this[_0xcc13f7(0x140)](),this['_enabled'];}get['defaultTTL'](){const _0x23e080=a0_0x21291f;return this[_0x23e080(0x140)](),this['_defaultTTL'];}get['retryCount'](){const _0x5d1282=a0_0x21291f;return this['_ensureInitialized'](),this[_0x5d1282(0x166)];}get[a0_0x21291f(0x16a)](){const _0x111aa1=a0_0x21291f;return this[_0x111aa1(0x140)](),this[_0x111aa1(0x185)];}get[a0_0x21291f(0x136)](){return this['_ensureInitialized'](),this['_strategy'];}get['workerId'](){return this['_ensureInitialized'](),this['_workerId'];}['buildLockKey'](_0x4743aa){const _0x1dac01=a0_0x21291f,{module:_0x48b053,endpoint:_0x20f0e0,lockType:_0x2e8215,recordId:_0x4b8d10}=_0x4743aa;if(_0x4b8d10)return''+this['prefix']+_0x48b053+':'+_0x20f0e0+':'+_0x4b8d10+':'+_0x2e8215;return''+this[_0x1dac01(0x146)]+_0x48b053+':'+_0x20f0e0+':'+_0x2e8215;}['generateLockValue'](){const _0x43239b=a0_0x21291f,_0x2fb4ae={'IhUmq':function(_0x468b35){return _0x468b35();}};return this[_0x43239b(0x170)]+':'+_0x2fb4ae['IhUmq'](uuidv4)+':'+Date['now']();}async[a0_0x21291f(0x173)](_0x18becf){const _0x5a5e05=a0_0x21291f,_0x214328={'wnoVk':function(_0x40f488,_0x434f56){return _0x40f488<_0x434f56;},'CKxDR':_0x5a5e05(0x15c),'iTILA':'READ\x20lock\x20acquired','Qenot':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','dYSdz':'read_lock_timeout','fulAF':_0x5a5e05(0x13f)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x27bb52=this['buildLockKey']({..._0x18becf,'lockType':'write'}),_0x53fd05=this['buildLockKey']({..._0x18becf,'lockType':_0x5a5e05(0x182)}),_0x2821ef=this['generateLockValue']();try{const _0x2d37f9=redisClient[_0x5a5e05(0x172)]();for(let _0x366ecb=0x0;_0x214328[_0x5a5e05(0x150)](_0x366ecb,this[_0x5a5e05(0x141)]);_0x366ecb++){const _0x1ebcc7=await _0x2d37f9['get'](_0x27bb52);if(!_0x1ebcc7){await _0x2d37f9['incr'](_0x53fd05),await _0x2d37f9[_0x5a5e05(0x13c)](_0x53fd05,this['defaultTTL']);const _0x5712cb=_0x53fd05+':'+_0x2821ef;return await _0x2d37f9['setex'](_0x5712cb,this[_0x5a5e05(0x137)],_0x2821ef),logger['debug']({'event':_0x214328['CKxDR'],'key':_0x53fd05,'value':_0x2821ef},_0x214328['iTILA']),{'success':!![],'lockValue':_0x2821ef,'lockKey':_0x5712cb};}logger['debug']({'event':'read_lock_waiting','writeKey':_0x27bb52,'attempt':_0x366ecb},_0x214328[_0x5a5e05(0x16b)]),await this['sleep'](this['retryDelay']*Math[_0x5a5e05(0x144)](0x2,_0x366ecb));}return logger['warn']({'event':_0x214328['dYSdz'],'key':_0x53fd05},_0x5a5e05(0x16e)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x3120ff){return logger['error']({'event':_0x5a5e05(0x168),'error':_0x3120ff['message']},_0x214328['fulAF']),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x21291f(0x15b)](_0x4e6a10){const _0x118f3c=a0_0x21291f,_0x3c3e9d={'nRrBn':'write_lock_acquired','KUJcf':_0x118f3c(0x142),'evDOA':_0x118f3c(0x154),'JYOpD':function(_0x3dbf26,_0x1e9fec){return _0x3dbf26===_0x1e9fec;},'LPxQC':_0x118f3c(0x164),'CwuvP':'write_lock_error','xRmAi':_0x118f3c(0x13b)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0xe86f39=this['buildLockKey']({..._0x4e6a10,'lockType':_0x118f3c(0x17b)}),_0x336a15=this[_0x118f3c(0x175)]({..._0x4e6a10,'lockType':'read'}),_0x4320f8=this['generateLockValue']();try{const _0x4571a7=redisClient[_0x118f3c(0x172)]();if(this['strategy']===_0x118f3c(0x184)){const _0x55a268=await _0x4571a7['set'](_0xe86f39,_0x4320f8,'EX',this[_0x118f3c(0x137)],'NX');if(_0x55a268==='OK')return logger['debug']({'event':_0x3c3e9d['nRrBn'],'key':_0xe86f39,'value':_0x4320f8,'strategy':_0x118f3c(0x184)},_0x3c3e9d[_0x118f3c(0x13e)]),{'success':!![],'lockValue':_0x4320f8,'lockKey':_0xe86f39};return logger[_0x118f3c(0x183)]({'event':_0x3c3e9d[_0x118f3c(0x149)],'key':_0xe86f39},'WRITE\x20lock\x20rejected\x20-\x20record\x20busy'),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x53a89d=0x0;_0x53a89d<this[_0x118f3c(0x141)];_0x53a89d++){const [_0x91da0a,_0x2854fa]=await Promise['all']([_0x4571a7[_0x118f3c(0x145)](_0x336a15),_0x4571a7[_0x118f3c(0x145)](_0xe86f39)]);if(!_0x2854fa&&(!_0x91da0a||parseInt(_0x91da0a)===0x0)){const _0x6735c6=await _0x4571a7['set'](_0xe86f39,_0x4320f8,'EX',this[_0x118f3c(0x137)],'NX');if(_0x3c3e9d['JYOpD'](_0x6735c6,'OK'))return logger['debug']({'event':_0x118f3c(0x15d),'key':_0xe86f39,'value':_0x4320f8,'strategy':'retry'},_0x3c3e9d[_0x118f3c(0x13a)]),{'success':!![],'lockValue':_0x4320f8,'lockKey':_0xe86f39};}logger['debug']({'event':'write_lock_waiting','writeKey':_0xe86f39,'readCount':_0x91da0a,'attempt':_0x53a89d},'Waiting\x20for\x20locks\x20to\x20release'),await this[_0x118f3c(0x17e)](this[_0x118f3c(0x16a)]*Math['pow'](0x2,_0x53a89d));}return logger[_0x118f3c(0x160)]({'event':'write_lock_timeout','key':_0xe86f39},_0x118f3c(0x130)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0xc081d9){return logger['error']({'event':_0x3c3e9d['CwuvP'],'error':_0xc081d9['message']},_0x3c3e9d[_0x118f3c(0x178)]),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x54182c,_0x5bdac5){const _0xe8863c=a0_0x21291f,_0x54d6b4={'mANPA':function(_0x58e957,_0x458701){return _0x58e957(_0x458701);},'WIijH':_0xe8863c(0x147),'uPAhr':function(_0x371b88,_0x1a9fbb){return _0x371b88===_0x1a9fbb;},'ZNuNx':_0xe8863c(0x14c),'pfldc':'lock_release_not_owner','CxwjZ':'Lock\x20release\x20error'};if(!this['enabled']||!_0x54182c)return!![];try{const _0x53a614=redisClient['getClient']();if(_0x54182c[_0xe8863c(0x15e)](_0xe8863c(0x17c))){await _0x53a614[_0xe8863c(0x14e)](_0x54182c);const _0x5f0ef3=_0x54182c[_0xe8863c(0x165)](0x0,_0x54182c[_0xe8863c(0x15f)](':')),_0x504042=await _0x53a614['get'](_0x5f0ef3);return _0x504042&&_0x54d6b4['mANPA'](parseInt,_0x504042)>0x0&&await _0x53a614['decr'](_0x5f0ef3),logger['debug']({'event':_0x54d6b4['WIijH'],'key':_0x54182c},'READ\x20lock\x20released'),!![];}const _0xefb15='\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',_0x3d6657=await _0x53a614['eval'](_0xefb15,0x1,_0x54182c,_0x5bdac5);if(_0x54d6b4[_0xe8863c(0x176)](_0x3d6657,0x1))return logger['debug']({'event':_0xe8863c(0x151),'key':_0x54182c},_0x54d6b4['ZNuNx']),!![];return logger['warn']({'event':_0x54d6b4['pfldc'],'key':_0x54182c},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0x310872){return logger[_0xe8863c(0x171)]({'event':_0xe8863c(0x134),'key':_0x54182c,'error':_0x310872['message']},_0x54d6b4['CxwjZ']),![];}}async[a0_0x21291f(0x174)](_0x2e5580,_0x2f11dc,_0x114ee4=null){const _0x5924ab=a0_0x21291f,_0x6fe960={'TKTUu':function(_0x2f884e,_0x9287d6){return _0x2f884e===_0x9287d6;},'YBkJT':_0x5924ab(0x14a),'uowFN':_0x5924ab(0x132),'BVlVX':_0x5924ab(0x12c)};if(!this[_0x5924ab(0x153)]||!_0x2e5580)return!![];try{const _0x36ddfa=redisClient['getClient'](),_0x30d8b4='\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',_0x46dea3=await _0x36ddfa[_0x5924ab(0x17d)](_0x30d8b4,0x1,_0x2e5580,_0x2f11dc,_0x114ee4||this[_0x5924ab(0x137)]);if(_0x6fe960[_0x5924ab(0x135)](_0x46dea3,0x1))return logger[_0x5924ab(0x183)]({'event':_0x5924ab(0x131),'key':_0x2e5580,'ttl':_0x114ee4||this[_0x5924ab(0x137)]},_0x6fe960['YBkJT']),!![];return![];}catch(_0x43d516){return logger['error']({'event':_0x6fe960['uowFN'],'key':_0x2e5580,'error':_0x43d516['message']},_0x6fe960['BVlVX']),![];}}[a0_0x21291f(0x17a)](){const _0xbce554=a0_0x21291f;return this[_0xbce554(0x153)];}[a0_0x21291f(0x17e)](_0x4ec993){return new Promise(_0x256e3f=>setTimeout(_0x256e3f,_0x4ec993));}async[a0_0x21291f(0x152)](_0x571b05){const _0x1f2abf=a0_0x21291f,_0x5d2fc6={'eAfCH':function(_0x29fc2c,_0x3235a2){return _0x29fc2c(_0x3235a2);}};if(!this[_0x1f2abf(0x153)])return{'enabled':![]};try{const _0x411e03=redisClient['getClient'](),_0x44c658=this[_0x1f2abf(0x175)]({..._0x571b05,'lockType':_0x1f2abf(0x17b)}),_0x404004=this[_0x1f2abf(0x175)]({..._0x571b05,'lockType':_0x1f2abf(0x182)}),[_0xa0f49,_0x3e8d7b]=await Promise['all']([_0x411e03['get'](_0x44c658),_0x411e03['get'](_0x404004)]);return{'enabled':!![],'writeLock':_0xa0f49||null,'readCount':_0x5d2fc6[_0x1f2abf(0x157)](parseInt,_0x3e8d7b)||0x0,'writeKey':_0x44c658,'readKey':_0x404004};}catch(_0x5abc3e){return{'enabled':!![],'error':_0x5abc3e['message']};}}}module[a0_0x21291f(0x14f)]=new LockManager();
|
|
1
|
+
const a0_0x261e05=a0_0x1f5e;(function(_0x4d6fd4,_0x1ac103){const _0x30c30a=a0_0x1f5e,_0x31b85e=_0x4d6fd4();while(!![]){try{const _0x1741b0=parseInt(_0x30c30a(0x17a))/0x1+-parseInt(_0x30c30a(0x154))/0x2+parseInt(_0x30c30a(0x166))/0x3+-parseInt(_0x30c30a(0x167))/0x4*(parseInt(_0x30c30a(0x139))/0x5)+parseInt(_0x30c30a(0x15b))/0x6+-parseInt(_0x30c30a(0x16f))/0x7+-parseInt(_0x30c30a(0x178))/0x8;if(_0x1741b0===_0x1ac103)break;else _0x31b85e['push'](_0x31b85e['shift']());}catch(_0x3e474f){_0x31b85e['push'](_0x31b85e['shift']());}}}(a0_0x4d06,0xa2c31));const redisClient=require('./redis-client'),{logger}=require(a0_0x261e05(0x131)),{v4:uuidv4}=require(a0_0x261e05(0x169));function a0_0x1f5e(_0x11d916,_0x4c966c){_0x11d916=_0x11d916-0x124;const _0x4d0648=a0_0x4d06();let _0x1f5e0b=_0x4d0648[_0x11d916];if(a0_0x1f5e['VBTjOe']===undefined){var _0x4ce606=function(_0x141edb){const _0x364b54='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x305f6a='',_0x5149e8='';for(let _0x2c8d38=0x0,_0x592edc,_0x1eef34,_0x30ae88=0x0;_0x1eef34=_0x141edb['charAt'](_0x30ae88++);~_0x1eef34&&(_0x592edc=_0x2c8d38%0x4?_0x592edc*0x40+_0x1eef34:_0x1eef34,_0x2c8d38++%0x4)?_0x305f6a+=String['fromCharCode'](0xff&_0x592edc>>(-0x2*_0x2c8d38&0x6)):0x0){_0x1eef34=_0x364b54['indexOf'](_0x1eef34);}for(let _0x543d3f=0x0,_0x212031=_0x305f6a['length'];_0x543d3f<_0x212031;_0x543d3f++){_0x5149e8+='%'+('00'+_0x305f6a['charCodeAt'](_0x543d3f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5149e8);};a0_0x1f5e['OiTHRp']=_0x4ce606,a0_0x1f5e['QjhCKb']={},a0_0x1f5e['VBTjOe']=!![];}const _0x5280c9=_0x4d0648[0x0],_0x536fd2=_0x11d916+_0x5280c9,_0x358a36=a0_0x1f5e['QjhCKb'][_0x536fd2];return!_0x358a36?(_0x1f5e0b=a0_0x1f5e['OiTHRp'](_0x1f5e0b),a0_0x1f5e['QjhCKb'][_0x536fd2]=_0x1f5e0b):_0x1f5e0b=_0x358a36,_0x1f5e0b;}class LockManager{constructor(){const _0x305b0e=a0_0x261e05;this[_0x305b0e(0x124)]=null,this[_0x305b0e(0x138)]=null,this['_defaultTTL']=null,this['_retryCount']=null,this['_retryDelay']=null,this['_strategy']=null,this[_0x305b0e(0x16b)]=null,this['_initialized']=![];}[a0_0x261e05(0x146)](){const _0x4d7051=a0_0x261e05,_0x2d4ec6={'NxxzC':'4|2|7|3|6|1|8|0|5','spNpL':'true','KrgLd':_0x4d7051(0x16d),'BKuFQ':'lock_config_init'},_0x249f41=_0x2d4ec6[_0x4d7051(0x15a)]['split']('|');let _0x9ff8cb=0x0;while(!![]){switch(_0x249f41[_0x9ff8cb++]){case'0':this[_0x4d7051(0x15e)]=!![];continue;case'1':this['_strategy']=process['env'][_0x4d7051(0x128)]||'retry';continue;case'2':this[_0x4d7051(0x138)]=process['env']['LOCK_DISTRIBUTED_ENABLED']===_0x2d4ec6['spNpL'];continue;case'3':this[_0x4d7051(0x16c)]=parseInt(process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3;continue;case'4':this[_0x4d7051(0x124)]=_0x2d4ec6['KrgLd'];continue;case'5':logger[_0x4d7051(0x14b)]({'event':_0x2d4ec6[_0x4d7051(0x158)],'enabled':this[_0x4d7051(0x138)],'strategy':this[_0x4d7051(0x172)],'ttl':this['_defaultTTL'],'retryCount':this[_0x4d7051(0x16c)],'retryDelay':this[_0x4d7051(0x163)],'workerId':this[_0x4d7051(0x16b)]},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+_0x4d7051(0x12d)+this[_0x4d7051(0x172)]);continue;case'6':this[_0x4d7051(0x163)]=parseInt(process['env'][_0x4d7051(0x16e)],0xa)||0x64;continue;case'7':this[_0x4d7051(0x174)]=parseInt(process[_0x4d7051(0x14a)]['LOCK_DISTRIBUTED_TTL'],0xa)||0xa;continue;case'8':this['_workerId']='worker-'+process[_0x4d7051(0x13b)];continue;}break;}}['_ensureInitialized'](){const _0x2e1a80=a0_0x261e05;!this['_initialized']&&this[_0x2e1a80(0x146)]();}get[a0_0x261e05(0x15f)](){return this['_ensureInitialized'](),this['_prefix'];}get['enabled'](){return this['_ensureInitialized'](),this['_enabled'];}get['defaultTTL'](){const _0x42566c=a0_0x261e05;return this[_0x42566c(0x179)](),this[_0x42566c(0x174)];}get[a0_0x261e05(0x130)](){return this['_ensureInitialized'](),this['_retryCount'];}get[a0_0x261e05(0x14e)](){const _0xd81a28=a0_0x261e05;return this[_0xd81a28(0x179)](),this[_0xd81a28(0x163)];}get[a0_0x261e05(0x15d)](){const _0x396a20=a0_0x261e05;return this[_0x396a20(0x179)](),this['_strategy'];}get['workerId'](){const _0x182baa=a0_0x261e05;return this[_0x182baa(0x179)](),this['_workerId'];}['buildLockKey'](_0x5809bd){const _0x2b9e25=a0_0x261e05,{module:_0x4bc7c7,endpoint:_0x43c225,lockType:_0x15652b,recordId:_0x52b9d1}=_0x5809bd;if(_0x52b9d1)return''+this[_0x2b9e25(0x15f)]+_0x4bc7c7+':'+_0x43c225+':'+_0x52b9d1+':'+_0x15652b;return''+this[_0x2b9e25(0x15f)]+_0x4bc7c7+':'+_0x43c225+':'+_0x15652b;}[a0_0x261e05(0x14f)](){const _0xa441db=a0_0x261e05;return this[_0xa441db(0x161)]+':'+uuidv4()+':'+Date['now']();}async['acquireReadLock'](_0x3f8c1d){const _0x91f3b1=a0_0x261e05,_0x25186e={'euxJe':'write','ncCgO':'read','IdAwb':function(_0x225efb,_0x515f23){return _0x225efb<_0x515f23;},'XUrFX':function(_0x5cee42,_0x418c12){return _0x5cee42*_0x418c12;},'LaGTR':_0x91f3b1(0x148),'SeLzj':'READ\x20lock\x20error'};if(!this[_0x91f3b1(0x132)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x12105a=this[_0x91f3b1(0x173)]({..._0x3f8c1d,'lockType':_0x25186e['euxJe']}),_0x9105fc=this['buildLockKey']({..._0x3f8c1d,'lockType':_0x25186e['ncCgO']}),_0x53aa6a=this['generateLockValue']();try{const _0x4f5abc=redisClient['getClient']();for(let _0x42be1b=0x0;_0x25186e[_0x91f3b1(0x12c)](_0x42be1b,this['retryCount']);_0x42be1b++){const _0x47af44=await _0x4f5abc['get'](_0x12105a);if(!_0x47af44){await _0x4f5abc[_0x91f3b1(0x12e)](_0x9105fc),await _0x4f5abc[_0x91f3b1(0x170)](_0x9105fc,this[_0x91f3b1(0x127)]);const _0x13b2c7=_0x9105fc+':'+_0x53aa6a;return await _0x4f5abc['setex'](_0x13b2c7,this[_0x91f3b1(0x127)],_0x53aa6a),logger[_0x91f3b1(0x153)]({'event':_0x91f3b1(0x145),'key':_0x9105fc,'value':_0x53aa6a},_0x91f3b1(0x175)),{'success':!![],'lockValue':_0x53aa6a,'lockKey':_0x13b2c7};}logger[_0x91f3b1(0x153)]({'event':'read_lock_waiting','writeKey':_0x12105a,'attempt':_0x42be1b},'Waiting\x20for\x20WRITE\x20lock\x20to\x20release'),await this['sleep'](_0x25186e[_0x91f3b1(0x133)](this[_0x91f3b1(0x14e)],Math[_0x91f3b1(0x13d)](0x2,_0x42be1b)));}return logger[_0x91f3b1(0x13f)]({'event':_0x91f3b1(0x160),'key':_0x9105fc},_0x25186e[_0x91f3b1(0x135)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x388078){return logger['error']({'event':'read_lock_error','error':_0x388078['message']},_0x25186e['SeLzj']),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x5a78d1){const _0x464975=a0_0x261e05,_0x55a1a0={'KxZoH':_0x464975(0x171),'icEJK':'reject','hQZeJ':'WRITE\x20lock\x20acquired\x20(reject\x20mode)','vABHx':_0x464975(0x159),'LPMJs':'WRITE\x20lock\x20rejected\x20-\x20record\x20busy','LtLwd':function(_0x4bf10c,_0x1c01e8){return _0x4bf10c===_0x1c01e8;},'gVrei':_0x464975(0x176),'FJrbg':'write_lock_waiting','IZekD':function(_0x30401f,_0x295830){return _0x30401f*_0x295830;},'PigDL':'write_lock_error'};if(!this[_0x464975(0x132)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x36b6ad=this[_0x464975(0x173)]({..._0x5a78d1,'lockType':_0x55a1a0['KxZoH']}),_0x127704=this[_0x464975(0x173)]({..._0x5a78d1,'lockType':'read'}),_0xcf4915=this['generateLockValue']();try{const _0x22b7a5=redisClient['getClient']();if(this[_0x464975(0x15d)]===_0x464975(0x156)){const _0x4d7d0f=await _0x22b7a5['set'](_0x36b6ad,_0xcf4915,'EX',this[_0x464975(0x127)],'NX');if(_0x4d7d0f==='OK')return logger[_0x464975(0x153)]({'event':'write_lock_acquired','key':_0x36b6ad,'value':_0xcf4915,'strategy':_0x55a1a0[_0x464975(0x147)]},_0x55a1a0['hQZeJ']),{'success':!![],'lockValue':_0xcf4915,'lockKey':_0x36b6ad};return logger[_0x464975(0x153)]({'event':_0x55a1a0[_0x464975(0x12a)],'key':_0x36b6ad},_0x55a1a0[_0x464975(0x152)]),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x132740=0x0;_0x132740<this[_0x464975(0x130)];_0x132740++){const [_0x32140a,_0x9cd71e]=await Promise['all']([_0x22b7a5[_0x464975(0x13c)](_0x127704),_0x22b7a5[_0x464975(0x13c)](_0x36b6ad)]);if(!_0x9cd71e&&(!_0x32140a||_0x55a1a0['LtLwd'](parseInt(_0x32140a),0x0))){const _0x56486c=await _0x22b7a5[_0x464975(0x141)](_0x36b6ad,_0xcf4915,'EX',this['defaultTTL'],'NX');if(_0x56486c==='OK')return logger[_0x464975(0x153)]({'event':'write_lock_acquired','key':_0x36b6ad,'value':_0xcf4915,'strategy':_0x55a1a0['gVrei']},_0x464975(0x13a)),{'success':!![],'lockValue':_0xcf4915,'lockKey':_0x36b6ad};}logger['debug']({'event':_0x55a1a0['FJrbg'],'writeKey':_0x36b6ad,'readCount':_0x32140a,'attempt':_0x132740},_0x464975(0x16a)),await this['sleep'](_0x55a1a0['IZekD'](this[_0x464975(0x14e)],Math[_0x464975(0x13d)](0x2,_0x132740)));}return logger['warn']({'event':_0x464975(0x165),'key':_0x36b6ad},'WRITE\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x555124){return logger[_0x464975(0x14c)]({'event':_0x55a1a0['PigDL'],'error':_0x555124['message']},_0x464975(0x177)),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x261e05(0x168)](_0x3445cc,_0x1ada98){const _0x58f0ce=a0_0x261e05,_0x404938={'RZHKs':function(_0x536d03,_0x401045){return _0x536d03>_0x401045;},'PDckL':_0x58f0ce(0x142),'jvMWg':'Cannot\x20release\x20lock\x20-\x20not\x20owner'};if(!this[_0x58f0ce(0x132)]||!_0x3445cc)return!![];try{const _0x39eb2e=redisClient[_0x58f0ce(0x136)]();if(_0x3445cc[_0x58f0ce(0x15c)](':read:')){await _0x39eb2e[_0x58f0ce(0x162)](_0x3445cc);const _0x537449=_0x3445cc['substring'](0x0,_0x3445cc['lastIndexOf'](':')),_0x4cb2a2=await _0x39eb2e[_0x58f0ce(0x13c)](_0x537449);return _0x4cb2a2&&_0x404938[_0x58f0ce(0x12f)](parseInt(_0x4cb2a2),0x0)&&await _0x39eb2e[_0x58f0ce(0x137)](_0x537449),logger['debug']({'event':_0x58f0ce(0x157),'key':_0x3445cc},'READ\x20lock\x20released'),!![];}const _0x50a65d=_0x58f0ce(0x12b),_0x16d097=await _0x39eb2e['eval'](_0x50a65d,0x1,_0x3445cc,_0x1ada98);if(_0x16d097===0x1)return logger['debug']({'event':_0x58f0ce(0x149),'key':_0x3445cc},'WRITE\x20lock\x20released'),!![];return logger['warn']({'event':_0x404938['PDckL'],'key':_0x3445cc},_0x404938['jvMWg']),![];}catch(_0x184cea){return logger[_0x58f0ce(0x14c)]({'event':'lock_release_error','key':_0x3445cc,'error':_0x184cea[_0x58f0ce(0x14d)]},_0x58f0ce(0x126)),![];}}async[a0_0x261e05(0x13e)](_0x2fdb54,_0x4f9704,_0x351b40=null){const _0x38b63d=a0_0x261e05,_0x1e8bd9={'RgPCl':function(_0xcf84a0,_0x5ceff7){return _0xcf84a0===_0x5ceff7;},'UJWbf':'lock_extended'};if(!this[_0x38b63d(0x132)]||!_0x2fdb54)return!![];try{const _0x3b3f32=redisClient['getClient'](),_0x6d42a1=_0x38b63d(0x143),_0xc949c0=await _0x3b3f32[_0x38b63d(0x140)](_0x6d42a1,0x1,_0x2fdb54,_0x4f9704,_0x351b40||this[_0x38b63d(0x127)]);if(_0x1e8bd9['RgPCl'](_0xc949c0,0x1))return logger['debug']({'event':_0x1e8bd9['UJWbf'],'key':_0x2fdb54,'ttl':_0x351b40||this[_0x38b63d(0x127)]},_0x38b63d(0x129)),!![];return![];}catch(_0x95adde){return logger[_0x38b63d(0x14c)]({'event':_0x38b63d(0x151),'key':_0x2fdb54,'error':_0x95adde[_0x38b63d(0x14d)]},'Lock\x20extend\x20error'),![];}}[a0_0x261e05(0x125)](){const _0x3875b3=a0_0x261e05;return this[_0x3875b3(0x132)];}[a0_0x261e05(0x144)](_0xd27853){return new Promise(_0x507542=>setTimeout(_0x507542,_0xd27853));}async['getLockInfo'](_0x42bba7){const _0x5c7fbb=a0_0x261e05,_0x3e5c8f={'OVqiN':'write','LyjQY':function(_0x2ba4a1,_0x3a01d3){return _0x2ba4a1||_0x3a01d3;}};if(!this['enabled'])return{'enabled':![]};try{const _0xced578=redisClient[_0x5c7fbb(0x136)](),_0x468f05=this[_0x5c7fbb(0x173)]({..._0x42bba7,'lockType':_0x3e5c8f[_0x5c7fbb(0x164)]}),_0x179941=this['buildLockKey']({..._0x42bba7,'lockType':'read'}),[_0x23e4b7,_0x3affb0]=await Promise[_0x5c7fbb(0x150)]([_0xced578[_0x5c7fbb(0x13c)](_0x468f05),_0xced578['get'](_0x179941)]);return{'enabled':!![],'writeLock':_0x3e5c8f[_0x5c7fbb(0x155)](_0x23e4b7,null),'readCount':parseInt(_0x3affb0)||0x0,'writeKey':_0x468f05,'readKey':_0x179941};}catch(_0x49c22b){return{'enabled':!![],'error':_0x49c22b['message']};}}}module[a0_0x261e05(0x134)]=new LockManager();function a0_0x4d06(){const _0xcc014b=['ywXS','Bg9JA19LEhrLBMrFzxjYB3i','tfbnsNm','zgvIDwC','ndiXmZG4v0fpBNbb','thLQuvK','CMvQzwn0','CMvHzf9SB2nRx3jLBgvHC2vK','qKT1rLe','D3jPDgvFBg9JA19YzwPLy3rLza','tNH4EKm','ndK2otC1oejZtLLvva','Aw5JBhvKzxm','C3rYyxrLz3K','x2LUAxrPywXPEMvK','ChjLzML4','CMvHzf9SB2nRx3rPBwvVDxq','D29YA2vYswq','zgvS','x3jLDhj5rgvSyxK','t1zXAu4','D3jPDgvFBg9JA190Aw1LB3v0','mtyXntGWm1P5z3PHsq','ndy0odrtuwL5Dwi','CMvSzwfZzuXVy2S','DxvPza','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','x3DVCMTLCKLK','x3jLDhj5q291BNq','CMy6Bg9JAZO','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','ndeWntiYDu54BufV','zxHWAxjL','D3jPDgu','x3n0CMf0zwD5','yNvPBgrmB2nRs2v5','x2rLzMf1BhruveW','uKvbrcbSB2nRigfJCxvPCMvK','CMv0CNK','v1jjveuGBg9JAYbLCNjVCG','mteXnZm0nJrTrejlvg8','x2vUC3vYzuLUAxrPywXPEMvK','mteXnJG3nwfLzurOvW','x3bYzwzPEa','AxnfBMfIBgvK','tg9JAYbYzwXLyxnLigvYCM9Y','zgvMyxvSDfruta','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','tg9JAYbuveWGzxH0zw5Kzwq','DKfcshG','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','swrbD2i','lcbZDhjHDgvNEtOG','Aw5JCG','uLPis3m','CMv0CNLdB3vUDa','lI9SB2DNzxi','zw5HyMXLza','wfvYrLG','zxHWB3j0CW','tgfhvfi','z2v0q2XPzw50','zgvJCG','x2vUywjSzwq','nJvotKD5ruS','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','CgLK','z2v0','Cg93','zxH0zw5Ktg9JAW','D2fYBG','zxzHBa','C2v0','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzxHWAxjLiIWGs0vzu1SXxsWGqvjhvLSYxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','C2XLzxa','CMvHzf9SB2nRx2fJCxvPCMvK','x2LUAxrdB25MAwC','AwnfsKS','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','D3jPDgvFBg9JA19YzwXLyxnLza','zw52','Aw5MBW','zxjYB3i','BwvZC2fNzq','CMv0CNLezwXHEq','z2vUzxjHDgvmB2nRvMfSDwu'];a0_0x4d06=function(){return _0xcc014b;};return a0_0x4d06();}
|
package/src/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x4e16(_0x39a212,_0xebe7dc){_0x39a212=_0x39a212-0x11c;const _0x533c9a=a0_0x533c();let _0x4e1621=_0x533c9a[_0x39a212];if(a0_0x4e16['vROGcf']===undefined){var _0x14a564=function(_0x5c043f){const _0x11ac67='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x82c3fb='',_0x36a6cf='';for(let _0x251818=0x0,_0x3c9966,_0x5cc994,_0x59c39b=0x0;_0x5cc994=_0x5c043f['charAt'](_0x59c39b++);~_0x5cc994&&(_0x3c9966=_0x251818%0x4?_0x3c9966*0x40+_0x5cc994:_0x5cc994,_0x251818++%0x4)?_0x82c3fb+=String['fromCharCode'](0xff&_0x3c9966>>(-0x2*_0x251818&0x6)):0x0){_0x5cc994=_0x11ac67['indexOf'](_0x5cc994);}for(let _0x471346=0x0,_0x3c0416=_0x82c3fb['length'];_0x471346<_0x3c0416;_0x471346++){_0x36a6cf+='%'+('00'+_0x82c3fb['charCodeAt'](_0x471346)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x36a6cf);};a0_0x4e16['DTABVN']=_0x14a564,a0_0x4e16['xIIHcK']={},a0_0x4e16['vROGcf']=!![];}const _0x419c06=_0x533c9a[0x0],_0x598a51=_0x39a212+_0x419c06,_0x47240b=a0_0x4e16['xIIHcK'][_0x598a51];return!_0x47240b?(_0x4e1621=a0_0x4e16['DTABVN'](_0x4e1621),a0_0x4e16['xIIHcK'][_0x598a51]=_0x4e1621):_0x4e1621=_0x47240b,_0x4e1621;}const a0_0x129db8=a0_0x4e16;(function(_0x419c5d,_0x4ba978){const _0x1668f8=a0_0x4e16,_0x1bdcab=_0x419c5d();while(!![]){try{const _0x1a23d1=parseInt(_0x1668f8(0x17f))/0x1+-parseInt(_0x1668f8(0x166))/0x2*(parseInt(_0x1668f8(0x1e0))/0x3)+-parseInt(_0x1668f8(0x162))/0x4+-parseInt(_0x1668f8(0x19c))/0x5+parseInt(_0x1668f8(0x1c9))/0x6+-parseInt(_0x1668f8(0x128))/0x7+-parseInt(_0x1668f8(0x1bd))/0x8*(-parseInt(_0x1668f8(0x1ab))/0x9);if(_0x1a23d1===_0x4ba978)break;else _0x1bdcab['push'](_0x1bdcab['shift']());}catch(_0x4ccb57){_0x1bdcab['push'](_0x1bdcab['shift']());}}}(a0_0x533c,0xd4bcc));function a0_0x533c(){const _0x3b31d3=['C3rYAw5NAwz5','s3HWtve','ifTtte9xxq','wvnSC2m','rfjpua','iokvKqRILzeGifbVCNqGicaGicaGidOG','yxbPx3nLy3jLDa','mtjwC2PysfG','A0PKv1q','iokvKqRILzeGienVBMzPzYaGicaGidOG','qwv6txa','u0vmrunu','CgfKrw5K','y3z2','DhjPBq','C29Tzq','z2v0sgvHzgvYCW','uNPWvNu','C3rHDhvZ','CMvMCMvZAf90B2TLBG','mta1ndGZn0rTtwf4Dq','tK9erv9ftLy','CMvZB2X2zq','BwvZC2fNzq','ve9gy08','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','rgvMyxvSDa','ChHLteC','y3jLzgvUDgLHBhm','vu5ltK9xtG','y3jLzgvUDgLHBa','zgv2zwXVCg1LBNq','CMvTB3rLqwrKCMvZCW','ChjVy2vZC193yxjUAw5N','C3rHCNrZv2L0Aa','Aw5MBW','revPv0W','BMfTzq','vfrvrvm','Aw5JBhvKzxm','AuzrqLi','zMfSC2u','vfjbtLnbq1rjt05FqKvhsu4','r09QrNu','ruTfvvu','zMXVB3i','A2v5CW','Cgf0Aa','Ec1Yzxf1zxn0lwLK','Dhj1zq','vfjbtLnbq1rjt05Fq09ntuLu','w1jfrefdveveoMHHC2HD','te9hx0rjuG','ChjPDMf0zv9RzxK','ANnVBG','z1juAg8','zMXVB2u','zw52','CMvWzwf0','rxjYB3i','DwHvwxu','wvDSAwi','iokvKqRILzeGiefqssblzxKGicaGidOG','Bwf0y2G','reiGuxvLCNK','u1fmx0Xpr19qqvjbtvm','Dg9Rzw4','D3jPDgu','C3rKu2vYAwfSAxPLCNm','zgjFDhjHBNnHy3rPB24','ChjVAMvJDa','rhbhuLi','u1fmx0Xpr19tte9xx1riuKvtse9mra','tKvIyKG','icdIHPiG','uK9mtejbq0S','y3jLzgL0x2nHCMq','shLbAuS','nJyXnZK5mKDfwu1rEG','icbizwfSDgG6ia','wgzoBMS','tK9uiefdveLwrq','ntG1ntGYCfHlA3jR','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','BwvTB3j5vxnHz2u','CePmsw8','Bwv0Ag9K','zgf0ywjHC2u','qvvszMC','Dxb0Aw1L','Bg9N','y29Kzq','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','y29UBMvJDgLVBG','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','vvbeqvrf','DgvZDa','DxjS','Bw9KDwXL','vvPbyxy','uw9ituG','CxvLCNK','yxPYA3K','ywnJzxnZx3rVA2vU','C2vYDMLJzuLUzM8','CMvZDgzVCMDL','yNbMAfu','mti1mdGYmuHqrenurG','D2fYBG','u1DRu2m','vhjHBNnHy3rPB24G','BwfW','ufbXCue','ChjPDMf0zwTLEq','zw52AxjVBM1LBNq','v01PwLK','uwreweO','A3rZyvm','yxbPx2TLEq','qKvhsu4','te9hx1rpx0zjteu','AM9PBG','quXurvi','y1nJCNO','Bfnyyuy','rgf0ywjHC2u6ia','BgvUz3rO','Dg9vChbLCKnHC2u','tM9Kzs5QCW','AgvHBhrOq2HLy2S','CMvWBgfJzq','qvbqx1zfuLnjt04','sfruuca','rermx0rst1a','DxLeB0q','revmrvrf','nta4odK1nxHrEK1SCq','qwzmBge','zgvMyxvSDa','thfqy2m','EhDQu1C','zxjYB3iUBg9N','Bwf4','yxbPA2v5','ChDK','y3jLyxrLv3jPDgvtDhjLyw0','Ag9ZDa','yxbWlMXVzW','Dg9mB3DLCKnHC2u','y29UzMLNrMLSzq','qu9Nwuy','mtaXmta5ntf0zNLQyMe','yxbPs2v5','zgvIDwC','D2fYBMLUzW','ALbyDvy','C3fSx3f1zxj5','t05RsK4','yKLSDK4','BfzPv2K','iokvKqRILzeGifbYB2PLy3qGicaGidOG','thLRtMq','lI9SB2DZlW','Dg9ju09tDhjPBMC','w1jfrefdvevexq','uhjVy2vZCYbxyxjUAw5NoIa','CgLUBY1WCMv0DhK','zfzHt3q','DhLWzq','mJr1AenirfO','su5trvju','Dw5JyxvNAhrfEgnLChrPB24','rKfuquW6ia','icbvuKW6icaGia','zxjYB3i','t2vJqLq','zgf0ywjHC2vFy29UzMLN','AxntBg93','t0rws04','C3rHDhvZq29Kzq','B2jQzwn0','mtq2nJi2ofreAurTva','Cg9YDa','CgfZC3DVCMq','zMf0ywW','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','C3rHy2S','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','C2vJCMv0','Ahj0Aw1L','icbjBMzVoIaGia','qunusvzf','s1HIrfe','yMfZzvvYBa','CM93C0fMzMvJDgvK'];a0_0x533c=function(){return _0x3b31d3;};return a0_0x533c();}const pino=require('pino'),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName=a0_0x129db8(0x17d),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x129db8(0x1ce),'singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env']['NODE_ENV']!=='production',logLevel=process[a0_0x129db8(0x14d)]['LOG_LEVEL']||a0_0x129db8(0x137);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x129db8(0x1ba),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env'][a0_0x129db8(0x197)]||'1.0.5','env':process['env'][a0_0x129db8(0x129)]||a0_0x129db8(0x133)},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':['req.headers.authorization','req.headers[\x22x-api-key\x22]',a0_0x129db8(0x1cb),a0_0x129db8(0x156),a0_0x129db8(0x1ac),'DB_PASSWORD','JWT_SECRET'],'censor':a0_0x129db8(0x1b8)},'serializers':{'req':_0x293fee=>({'id':_0x293fee['id'],'method':_0x293fee[a0_0x129db8(0x16a)],'url':_0x293fee['url'],'path':_0x293fee[a0_0x129db8(0x143)],'remoteAddress':_0x293fee['ip']||_0x293fee[a0_0x129db8(0x171)]?.[a0_0x129db8(0x134)]}),'res':_0x23971d=>({'statusCode':_0x23971d['statusCode'],'headers':_0x23971d[a0_0x129db8(0x124)]?.()}),'err':pino[a0_0x129db8(0x158)]['err']}});function initFileLogging(){const _0x5e7cac=a0_0x129db8,_0x29cef3={'GOjFu':_0x5e7cac(0x145),'kfTxH':_0x5e7cac(0x1ad),'pqNmW':function(_0x46d443,_0x488606){return _0x46d443!==_0x488606;},'OecBT':function(_0x2942fe,_0x17b2db){return _0x2942fe(_0x17b2db);},'xwjSW':_0x5e7cac(0x1a1)};if(fileLoggingInitialized)return;logToFile=process[_0x5e7cac(0x14d)][_0x5e7cac(0x18c)]==='true';const _0x5cd93f=process['env']['RESTFORGE_PROJECT_NAME']||_0x5e7cac(0x19e);logDir=process['env'][_0x5e7cac(0x148)]||_0x5e7cac(0x1b6)+_0x5cd93f,serviceName=process['env']['SERVICE_NAME']||'restforge',sqlLogEnabled=process[_0x5e7cac(0x14d)]['SQL_LOG_ENABLED']===_0x29cef3[_0x5e7cac(0x13f)],sqlLogLevel=process[_0x5e7cac(0x14d)]['SQL_LOG_LEVEL']||_0x29cef3['kfTxH'],sqlLogParams=_0x29cef3['pqNmW'](process['env'][_0x5e7cac(0x155)],_0x5e7cac(0x13d)),sqlLogSlowThreshold=_0x29cef3[_0x5e7cac(0x1c3)](parseInt,process[_0x5e7cac(0x14d)][_0x5e7cac(0x15c)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x1c3409=path[_0x5e7cac(0x12a)](process['cwd'](),logDir);try{!fs['existsSync'](_0x1c3409)&&fs['mkdirSync'](_0x1c3409,{'recursive':!![]});}catch(_0x1c875d){console['error'](_0x5e7cac(0x1d1)+_0x1c3409+':',_0x1c875d[_0x5e7cac(0x12b)]),fileLoggingInitialized=!![];return;}const _0x4f6d10=path[_0x5e7cac(0x18d)](_0x1c3409,_0x5e7cac(0x1a7)),_0x5ade40=path['join'](_0x1c3409,_0x5e7cac(0x1a1));try{appLogStream=fs['createWriteStream'](_0x4f6d10,{'flags':'a'}),errorLogStream=fs[_0x5e7cac(0x1a5)](_0x5ade40,{'flags':'a'}),fileLoggingInitialized=!![];const _0x3b6b79={'event':'file_logging_enabled','logDir':_0x1c3409,'files':[_0x5e7cac(0x1a7),_0x29cef3[_0x5e7cac(0x1a0)]]},_0x2e1994=_0x5e7cac(0x1cf)+_0x1c3409;logger[_0x5e7cac(0x137)](_0x3b6b79,_0x2e1994),writeToFileLog({..._0x3b6b79,'level':_0x5e7cac(0x137),'msg':_0x2e1994,'time':new Date()[_0x5e7cac(0x1b7)]()},_0x5e7cac(0x137));}catch(_0x368ab0){console[_0x5e7cac(0x1c2)](_0x5e7cac(0x1cd),_0x368ab0[_0x5e7cac(0x12b)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x1ca062,_0x5147cf){const _0x51b5b9=a0_0x129db8,_0x1fbba1={'azrky':function(_0x407090,_0x50cfa9){return _0x407090||_0x50cfa9;},'KXbDQ':function(_0x269600,_0xc41ff6){return _0x269600+_0xc41ff6;}};if(_0x1fbba1[_0x51b5b9(0x17a)](!logToFile,!appLogStream))return;const _0x11cb7b={'service':serviceName,..._0x1ca062},_0x4e6733=_0x1fbba1[_0x51b5b9(0x1d6)](JSON[_0x51b5b9(0x1d9)](_0x11cb7b),'\x0a');appLogStream[_0x51b5b9(0x157)](_0x4e6733),(_0x5147cf==='error'||_0x5147cf==='fatal')&&(errorLogStream&&errorLogStream['write'](_0x4e6733));}const createRequestLogger=(_0x1564c0={})=>{return logger['child'](_0x1564c0);},logServerStart=_0x1218e2=>{const _0x17e6d6=a0_0x129db8,_0x239c8a={'ScSxn':function(_0x19ef0,_0x48c272){return _0x19ef0/_0x48c272;},'CnXJS':function(_0xbf7d30,_0x3f5f05){return _0xbf7d30-_0x3f5f05;},'OPoPO':'N/A','NOgjF':function(_0x29c15f,_0x41689b){return _0x29c15f(_0x41689b);},'uhUYu':_0x17e6d6(0x12e),'fdwJZ':_0x17e6d6(0x1d5),'UKgBE':'server_starting','OYTty':_0x17e6d6(0x137)},_0x223c78='RESTFORGE\x20RUNTIME\x20SERVER',_0x18e28d=Math[_0x17e6d6(0x1a2)](0x0,0x37-_0x223c78[_0x17e6d6(0x192)]),_0x2c053c=Math[_0x17e6d6(0x141)](_0x239c8a['ScSxn'](_0x18e28d,0x2)),_0x2c9601=_0x239c8a['CnXJS'](_0x18e28d,_0x2c053c),_0x25335f='║'+'\x20'['repeat'](_0x2c053c)+_0x223c78+'\x20'[_0x17e6d6(0x14e)](_0x2c9601)+'║',_0x11a2ca=_0x17e6d6(0x172)+_0x25335f+_0x17e6d6(0x12d)+(_0x1218e2[_0x17e6d6(0x186)]||_0x17e6d6(0x194))[_0x17e6d6(0x120)](0x26)+_0x17e6d6(0x1b4)+(_0x1218e2[_0x17e6d6(0x15a)]||_0x239c8a['OPoPO'])[_0x17e6d6(0x120)](0x26)+_0x17e6d6(0x1de)+_0x239c8a['NOgjF'](String,_0x1218e2['port']||0xbb8)['padEnd'](0x26)+_0x17e6d6(0x11d)+(_0x1218e2[_0x17e6d6(0x1a9)]||_0x239c8a[_0x17e6d6(0x150)])['padEnd'](0x26)+_0x17e6d6(0x152)+(_0x1218e2['apiKey']?_0x239c8a['fdwJZ']:_0x17e6d6(0x165))['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x17e6d6(0x16e)](_0x11a2ca);const _0xca368e={'event':_0x239c8a['UKgBE'],'project':_0x1218e2['project'],'port':_0x1218e2['port'],'config':_0x1218e2[_0x17e6d6(0x1a9)],'apiKeyEnabled':!!_0x1218e2['apiKey']};logger[_0x17e6d6(0x137)](_0xca368e),writeToFileLog({..._0xca368e,'level':_0x239c8a['OYTty'],'msg':'Server\x20starting:\x20'+_0x1218e2['project']+'\x20on\x20port\x20'+_0x1218e2['port'],'time':new Date()[_0x17e6d6(0x1b7)]()},_0x17e6d6(0x137));},logServerReady=_0x3c568d=>{const _0x6b698d=a0_0x129db8,_0x58247f={'LqPcc':'server_ready','ktsaS':'info'},_0x156eef={'event':_0x58247f[_0x6b698d(0x19f)],'port':_0x3c568d[_0x6b698d(0x1ca)],'module':_0x3c568d[_0x6b698d(0x176)],'healthCheck':_0x3c568d[_0x6b698d(0x195)],'serviceInfo':_0x3c568d[_0x6b698d(0x17c)],'baseUrl':_0x3c568d['baseUrl']},_0x2138d8=_0x6b698d(0x170)+_0x3c568d[_0x6b698d(0x1ca)];logger[_0x6b698d(0x137)](_0x156eef,_0x2138d8),writeToFileLog({..._0x156eef,'level':_0x58247f['ktsaS'],'msg':_0x2138d8,'time':new Date()['toISOString']()},_0x58247f[_0x6b698d(0x189)]),_0x3c568d['healthCheck']&&logger['info'](_0x6b698d(0x163)+_0x3c568d['healthCheck']),_0x3c568d[_0x6b698d(0x17c)]&&logger[_0x6b698d(0x137)](_0x6b698d(0x1d4)+_0x3c568d[_0x6b698d(0x17c)]),_0x3c568d[_0x6b698d(0x1d7)]&&logger['info'](_0x6b698d(0x1c1)+_0x3c568d[_0x6b698d(0x1d7)]);},logProjectLoaded=(_0x47a2ed,_0x1117c0)=>{const _0x1e1b0f=a0_0x129db8,_0x49420a={'oHVNw':'project_loaded','kJdWT':'info'},_0x5c24d3={'event':_0x49420a['oHVNw'],'project':_0x47a2ed,'path':_0x1117c0},_0x1fc4f9='[OK]\x20Project\x20loaded:\x20'+_0x47a2ed;logger['info'](_0x5c24d3,_0x1fc4f9),writeToFileLog({..._0x5c24d3,'level':_0x49420a[_0x1e1b0f(0x11c)],'msg':_0x1fc4f9,'time':new Date()['toISOString']()},'info');},logEndpointRegistered=(_0xca971d,_0x13bff7)=>{const _0x3b05d6=a0_0x129db8,_0x26c8c0={'pxeLG':'endpoint_registered','bIlvN':_0x3b05d6(0x1ad)},_0x1f134c={'event':_0x26c8c0[_0x3b05d6(0x12f)],'endpoint':_0xca971d,'route':_0x13bff7},_0x5b5442=_0x3b05d6(0x15e)+_0xca971d+':\x20'+_0x13bff7;logger[_0x3b05d6(0x1ad)](_0x1f134c,_0x5b5442),writeToFileLog({..._0x1f134c,'level':_0x26c8c0['bIlvN'],'msg':_0x5b5442,'time':new Date()['toISOString']()},_0x26c8c0[_0x3b05d6(0x1b2)]);},logDatabaseConfig=_0x19f4df=>{const _0x8f4da2=a0_0x129db8,_0x4ae363={'SHPzI':_0x8f4da2(0x1c4),'jPXuV':function(_0x160e43,_0x47a296,_0x1333c7){return _0x160e43(_0x47a296,_0x1333c7);}},_0x188b83={'event':_0x4ae363['SHPzI'],'host':_0x19f4df[_0x8f4da2(0x1a6)],'port':_0x19f4df['port'],'database':_0x19f4df[_0x8f4da2(0x16b)],'type':_0x19f4df[_0x8f4da2(0x1bc)],'user':_0x19f4df['user']},_0x2f6667=_0x8f4da2(0x191)+_0x19f4df['type']+'://'+_0x19f4df['host']+':'+_0x19f4df['port']+'/'+_0x19f4df[_0x8f4da2(0x16b)];logger['debug'](_0x188b83,_0x2f6667),_0x4ae363[_0x8f4da2(0x1af)](writeToFileLog,{..._0x188b83,'level':'debug','msg':_0x2f6667,'time':new Date()['toISOString']()},'debug');},logRequest=(_0x16399a,_0x203dd9,_0x3a779c)=>{const _0x19e8ad=a0_0x129db8,_0x8ef59a={'UwZLZ':function(_0x5ac5e9,_0x426be3){return _0x5ac5e9>=_0x426be3;},'baznj':function(_0x90e023,_0x345e30,_0x238480){return _0x90e023(_0x345e30,_0x238480);}},_0x154b98={'event':'http_request','method':_0x16399a[_0x19e8ad(0x16a)],'path':_0x16399a[_0x19e8ad(0x143)],'statusCode':_0x203dd9[_0x19e8ad(0x1c7)],'durationMs':_0x3a779c,'ip':_0x16399a['ip']},_0x5978c8=_0x16399a['method']+'\x20'+_0x16399a[_0x19e8ad(0x143)]+'\x20-\x20'+_0x203dd9[_0x19e8ad(0x1c7)]+'\x20('+_0x3a779c+'ms)';let _0x530681=_0x19e8ad(0x137);if(_0x8ef59a['UwZLZ'](_0x203dd9['statusCode'],0x1f4))_0x530681='error',logger[_0x19e8ad(0x1c2)](_0x154b98,_0x5978c8);else _0x203dd9[_0x19e8ad(0x1c7)]>=0x190?(_0x530681=_0x19e8ad(0x180),logger[_0x19e8ad(0x180)](_0x154b98,_0x5978c8)):logger['info'](_0x154b98,_0x5978c8);_0x8ef59a['baznj'](writeToFileLog,{..._0x154b98,'level':_0x530681,'msg':_0x5978c8,'time':new Date()['toISOString']()},_0x530681);},SENSITIVE_PARAM_PATTERNS=['password','passwd',a0_0x129db8(0x1a4),'token',a0_0x129db8(0x17b),a0_0x129db8(0x127),a0_0x129db8(0x1d2),a0_0x129db8(0x1df),a0_0x129db8(0x1a3),'api_key',a0_0x129db8(0x132),a0_0x129db8(0x130),'pin','otp','private_key',a0_0x129db8(0x185)],redactSensitiveParams=(_0x570cef,_0xd932f6)=>{const _0x198d82=a0_0x129db8,_0xe818e0={'lViWi':'string'};if(!_0x570cef||_0x570cef[_0x198d82(0x192)]===0x0)return _0x570cef;const _0x3439b6=_0xd932f6[_0x198d82(0x1a8)](),_0x53901d=_0x3439b6[_0x198d82(0x153)](/\(([^)]+)\)\s*values/i);let _0x11afa2=[];_0x53901d&&(_0x11afa2=_0x53901d[0x1]['split'](',')[_0x198d82(0x183)](_0x5cb032=>_0x5cb032['trim']()['toLowerCase']()));const _0x3d7b1d=_0x3439b6[_0x198d82(0x153)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x3d7b1d){const _0x26a993=_0x3d7b1d[0x1],_0x10e13d=_0x26a993[_0x198d82(0x153)](/(\w+)\s*=/g);_0x10e13d&&(_0x11afa2=_0x10e13d[_0x198d82(0x183)](_0x459d5c=>_0x459d5c[_0x198d82(0x196)](/\s*=/,'')['trim']()['toLowerCase']()));}return _0x570cef[_0x198d82(0x183)]((_0x3c46ae,_0x2c012d)=>{const _0x4df266=_0x198d82;if(_0x11afa2[_0x2c012d]){const _0x3c3d06=_0x11afa2[_0x2c012d],_0x4054f7=SENSITIVE_PARAM_PATTERNS['some'](_0x55cea6=>_0x3c3d06[_0x4df266(0x13b)](_0x55cea6));if(_0x4054f7)return _0x4df266(0x1b8);}if(typeof _0x3c46ae===_0xe818e0[_0x4df266(0x1b3)]&&_0x3c46ae['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x4df266(0x174)](_0x3c46ae)&&_0x3c46ae[_0x4df266(0x13b)]('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/['test'](_0x3c46ae))return _0x4df266(0x147);}return _0x3c46ae;});},parseQueryMetadata=_0x25b35f=>{const _0x304c6b=a0_0x129db8,_0x32d08e={'ODVKN':_0x304c6b(0x131),'AfLla':_0x304c6b(0x11f),'EMAmR':'INSERT','qphim':'UPDATE','AezMp':_0x304c6b(0x19b),'lpCFm':_0x304c6b(0x18b),'QAQNa':'START\x20TRANSACTION','SftgK':'COMMIT','dVaOt':_0x304c6b(0x15f),'QoHMH':'CREATE','ocIKH':_0x304c6b(0x1dd)},_0x13a883=_0x25b35f[_0x304c6b(0x122)](),_0xab4993=_0x13a883['toUpperCase']();let _0x40b747=_0x32d08e[_0x304c6b(0x1c6)],_0x2a7c7b=null;if(_0xab4993[_0x304c6b(0x136)](_0x32d08e[_0x304c6b(0x19d)])){_0x40b747=_0x304c6b(0x11f);const _0x13ee14=_0x13a883['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2a7c7b=_0x13ee14?_0x13ee14[0x1]:null;}else{if(_0xab4993[_0x304c6b(0x136)](_0x32d08e['EMAmR'])){_0x40b747=_0x304c6b(0x1be);const _0x4abcbf=_0x13a883['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2a7c7b=_0x4abcbf?_0x4abcbf[0x1]:null;}else{if(_0xab4993[_0x304c6b(0x136)](_0x304c6b(0x173))){_0x40b747=_0x32d08e['qphim'];const _0x23b004=_0x13a883['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2a7c7b=_0x23b004?_0x23b004[0x1]:null;}else{if(_0xab4993['startsWith'](_0x32d08e[_0x304c6b(0x11e)])){_0x40b747=_0x32d08e['AezMp'];const _0x228b87=_0x13a883['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2a7c7b=_0x228b87?_0x228b87[0x1]:null;}else{if(_0xab4993['startsWith'](_0x32d08e['lpCFm'])||_0xab4993['startsWith'](_0x32d08e['QAQNa']))_0x40b747=_0x304c6b(0x13e);else{if(_0xab4993[_0x304c6b(0x136)](_0x32d08e['SftgK']))_0x40b747=_0x304c6b(0x146);else{if(_0xab4993[_0x304c6b(0x136)](_0x32d08e[_0x304c6b(0x1bb)]))_0x40b747='TRANSACTION_ROLLBACK';else{if(_0xab4993['startsWith'](_0x32d08e[_0x304c6b(0x178)]))_0x40b747='DDL_CREATE';else{if(_0xab4993['startsWith'](_0x304c6b(0x18e)))_0x40b747='DDL_ALTER';else _0xab4993['startsWith'](_0x32d08e['ocIKH'])&&(_0x40b747=_0x304c6b(0x199));}}}}}}}}return{'type':_0x40b747,'table':_0x2a7c7b};},startQueryTimer=()=>{const _0x519d87=process['hrtime']();return()=>{const _0x5d4225=a0_0x4e16,[_0x3517c3,_0x4ac95c]=process[_0x5d4225(0x1d3)](_0x519d87);return parseFloat((_0x3517c3*0x3e8+_0x4ac95c/0xf4240)['toFixed'](0x2));};},logQuery=(_0x3edf9a,_0x2859d5=[],_0x260256={})=>{const _0x314e11=a0_0x129db8,_0x2de000={'FTEGj':'db_query','VsIdy':function(_0x1f0831,_0x56a0f8){return _0x1f0831(_0x56a0f8);},'HGPIZ':_0x314e11(0x1b0),'WMiZY':function(_0x53110a,_0x727776){return _0x53110a!==_0x727776;},'LykNd':function(_0x963323,_0x3eff35){return _0x963323>_0x3eff35;},'DEiWL':'debug','DpGRR':'warn','NRenZ':function(_0x28c346,_0x16cbef){return _0x28c346===_0x16cbef;},'gplRY':function(_0x2772ca,_0x3e05b5,_0x5d8256){return _0x2772ca(_0x3e05b5,_0x5d8256);}};if(!sqlLogEnabled){logger['debug']({'event':_0x2de000['FTEGj'],'query':_0x3edf9a['substring'](0x0,0xc8),'paramCount':_0x2859d5[_0x314e11(0x192)]},_0x314e11(0x154));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x260256,{type:_0x257249,table:_0x42f13d}=_0x2de000['VsIdy'](parseQueryMetadata,_0x3edf9a),_0x375b8d={'event':_0x2de000['HGPIZ'],'queryType':_0x257249,'table':_0x42f13d,'query':_0x3edf9a,'paramCount':_0x2859d5[_0x314e11(0x192)],'dbType':dbType};sqlLogParams&&_0x2859d5['length']>0x0&&(_0x375b8d['params']=redactSensitiveParams(_0x2859d5,_0x3edf9a));duration!==null&&(_0x375b8d['durationMs']=duration,_0x375b8d[_0x314e11(0x1c5)]=duration>sqlLogSlowThreshold);_0x2de000[_0x314e11(0x187)](rowsAffected,null)&&(_0x375b8d[_0x314e11(0x1d8)]=rowsAffected);const _0x402941=_0x42f13d||'unknown';let _0x3216bf='['+_0x257249+']\x20'+_0x402941;duration!==null&&(_0x3216bf+='\x20('+duration+'ms)');const _0x933496=duration!==null&&_0x2de000[_0x314e11(0x1b5)](duration,sqlLogSlowThreshold);let _0x4c43c9=_0x2de000[_0x314e11(0x138)];if(_0x933496)_0x3216bf+=_0x314e11(0x1db),_0x4c43c9=_0x2de000[_0x314e11(0x15b)],logger['warn'](_0x375b8d,_0x3216bf);else _0x2de000['NRenZ'](sqlLogLevel,'info')?(_0x4c43c9='info',logger[_0x314e11(0x137)](_0x375b8d,_0x3216bf)):logger[_0x314e11(0x1ad)](_0x375b8d,_0x3216bf);_0x2de000['gplRY'](writeToFileLog,{..._0x375b8d,'level':_0x4c43c9,'msg':_0x3216bf,'time':new Date()['toISOString']()},_0x4c43c9);},logTransaction=(_0x447c50,_0x480ec3)=>{const _0x953e4f=a0_0x129db8,_0x3837fd={'event':_0x953e4f(0x159),'status':_0x447c50,'queryCount':_0x480ec3},_0x1037b2=_0x953e4f(0x182)+_0x447c50;logger['debug'](_0x3837fd,_0x1037b2),writeToFileLog({..._0x3837fd,'level':_0x953e4f(0x1ad),'msg':_0x1037b2,'time':new Date()['toISOString']()},_0x953e4f(0x1ad));},redactObject=_0x45865f=>{const _0x5b03f6=a0_0x129db8,_0x17da73={'QtlxO':'object','oywpz':_0x5b03f6(0x1cb),'AURfg':'passwd','VWVrA':_0x5b03f6(0x1a4),'sQOUt':'token','IOark':_0x5b03f6(0x18a),'NEbbH':'authorization','cScrz':'creditcard','flooe':_0x5b03f6(0x160),'QdDXJ':_0x5b03f6(0x149),'gRTho':_0x5b03f6(0x185),'Ahplf':'refresh_token','iFQBR':'access_token','QPKnq':'[REDACTED]','uyDoD':function(_0x5bce93,_0x401790){return _0x5bce93!==_0x401790;}};if(!_0x45865f||typeof _0x45865f!==_0x17da73['QtlxO'])return _0x45865f;const _0x411a35=[_0x17da73['oywpz'],_0x17da73[_0x5b03f6(0x16c)],_0x17da73['VWVrA'],_0x17da73['sQOUt'],'secret','apikey',_0x17da73['IOark'],_0x17da73[_0x5b03f6(0x15d)],_0x17da73[_0x5b03f6(0x18f)],_0x17da73[_0x5b03f6(0x14c)],_0x5b03f6(0x121),'ssn','pin',_0x17da73[_0x5b03f6(0x188)],_0x17da73[_0x5b03f6(0x14b)],_0x17da73['Ahplf'],_0x17da73[_0x5b03f6(0x13c)]],_0x57f046=Array['isArray'](_0x45865f)?[..._0x45865f]:{..._0x45865f};for(const _0x637e7e of Object[_0x5b03f6(0x142)](_0x57f046)){const _0x16f490=_0x637e7e[_0x5b03f6(0x1a8)]();if(_0x411a35[_0x5b03f6(0x123)](_0x154afa=>_0x16f490[_0x5b03f6(0x13b)](_0x154afa)))_0x57f046[_0x637e7e]=_0x17da73['QPKnq'];else typeof _0x57f046[_0x637e7e]===_0x5b03f6(0x1c8)&&_0x17da73[_0x5b03f6(0x19a)](_0x57f046[_0x637e7e],null)&&(_0x57f046[_0x637e7e]=redactObject(_0x57f046[_0x637e7e]));}return _0x57f046;},logError=(_0x31576d,_0x3f16f3={},_0xf2573d=null)=>{const _0x3466e7=a0_0x129db8,_0x379975={'YWlib':_0x3466e7(0x1c2)},_0x226b66={'event':_0x379975[_0x3466e7(0x151)],'errorName':_0x31576d['name']||_0x3466e7(0x14f),'errorMessage':_0x31576d['message'],'errorCode':_0x31576d['code']||null,'stack':_0x31576d[_0x3466e7(0x1d0)],..._0x3f16f3},_0x1b0a6f=_0xf2573d||'Error:\x20'+_0x31576d['message'];logger['error'](_0x226b66,_0x1b0a6f),writeToFileLog({..._0x226b66,'level':_0x379975['YWlib'],'msg':_0x1b0a6f,'time':new Date()[_0x3466e7(0x1b7)]()},_0x379975[_0x3466e7(0x151)]);},logFatalError=(_0x193390,_0x24449a={},_0x7dfe71=null)=>{const _0x36a7fd=a0_0x129db8,_0x3fdb79={'TOFcO':'fatal_error','ABQBm':_0x36a7fd(0x14f),'lSXaF':'CRITICAL','hLNcD':'error'},_0x24237f={'event':_0x3fdb79[_0x36a7fd(0x12c)],'errorName':_0x193390[_0x36a7fd(0x139)]||_0x3fdb79['ABQBm'],'errorMessage':_0x193390['message'],'errorCode':_0x193390['code']||null,'stack':_0x193390[_0x36a7fd(0x1d0)],'severity':_0x3fdb79[_0x36a7fd(0x190)],..._0x24449a},_0x14868b=_0x7dfe71||_0x36a7fd(0x1c0)+_0x193390[_0x36a7fd(0x12b)];logger['fatal'](_0x24237f,_0x14868b),writeToFileLog({..._0x24237f,'level':'fatal','msg':_0x14868b,'time':new Date()[_0x36a7fd(0x1b7)]()},_0x3fdb79['hLNcD']);},logHttpError=(_0x579194,_0x5d726f,_0x5d2614={})=>{const _0x3974df=a0_0x129db8,_0x53a63a={'nzsSB':_0x3974df(0x14f),'VkOeE':'user-agent','rpiwB':_0x3974df(0x144),'zHHLF':function(_0x1f3aae,_0x107ba9){return _0x1f3aae>=_0x107ba9;},'BPZGL':function(_0x4e88bd,_0x3e1488,_0x49e46b){return _0x4e88bd(_0x3e1488,_0x49e46b);},'ONkJN':'warn','PPqqA':function(_0x4a755a,_0x247593){return _0x4a755a>=_0x247593;},'pJLIo':'error'},_0x45b225={'event':'http_error','errorName':_0x579194['name']||_0x53a63a['nzsSB'],'errorMessage':_0x579194[_0x3974df(0x12b)],'errorCode':_0x579194[_0x3974df(0x16f)]||_0x579194[_0x3974df(0x1c7)]||0x1f4,'stack':_0x579194[_0x3974df(0x1d0)],'method':_0x5d726f?.['method'],'url':_0x5d726f?.[_0x3974df(0x175)]||_0x5d726f?.['originalUrl'],'path':_0x5d726f?.['path'],'ip':_0x5d726f?.['ip']||_0x5d726f?.[_0x3974df(0x171)]?.['remoteAddress'],'userAgent':_0x5d726f?.['get']?.(_0x53a63a['VkOeE']),'requestId':_0x5d726f?.['id']||_0x5d726f?.['headers']?.[_0x53a63a['rpiwB']],'body':_0x5d726f?.['body']?redactObject(_0x5d726f['body']):undefined,'query':_0x5d726f?.[_0x3974df(0x179)],..._0x5d2614},_0x3e9f08=_0x579194[_0x3974df(0x1c7)]||_0x579194[_0x3974df(0x126)]||0x1f4,_0x3ebbfa=_0x3974df(0x198)+_0x3e9f08+':\x20'+_0x579194['message'];_0x53a63a['zHHLF'](_0x3e9f08,0x1f4)?logger[_0x3974df(0x1c2)](_0x45b225,_0x3ebbfa):logger[_0x3974df(0x180)](_0x45b225,_0x3ebbfa),_0x53a63a['BPZGL'](writeToFileLog,{..._0x45b225,'level':_0x3e9f08>=0x1f4?'error':_0x53a63a[_0x3974df(0x1b1)],'msg':_0x3ebbfa,'time':new Date()['toISOString']()},_0x53a63a[_0x3974df(0x184)](_0x3e9f08,0x1f4)?_0x53a63a[_0x3974df(0x169)]:_0x3974df(0x180));},logUncaughtError=(_0x588fa7,_0x1b22ee)=>{const _0x436033=a0_0x129db8,_0x22c5d8={'CsloU':'Error','UZAav':function(_0x47bd6c,_0x3b9c8f){return _0x47bd6c(_0x3b9c8f);},'DQJPJ':function(_0x33299b,_0x37b4ba,_0x8f45ef){return _0x33299b(_0x37b4ba,_0x8f45ef);},'XfNnk':_0x436033(0x1c2)},_0x47c98b={'event':_0x588fa7,'errorName':_0x1b22ee?.[_0x436033(0x139)]||_0x22c5d8['CsloU'],'errorMessage':_0x1b22ee?.[_0x436033(0x12b)]||_0x22c5d8[_0x436033(0x177)](String,_0x1b22ee),'errorCode':_0x1b22ee?.[_0x436033(0x16f)]||null,'stack':_0x1b22ee?.[_0x436033(0x1d0)],'severity':'CRITICAL','processId':process['pid'],'memoryUsage':process[_0x436033(0x168)](),'uptime':process[_0x436033(0x16d)]()},_0x58bed1='['+_0x588fa7[_0x436033(0x193)]()+']\x20'+(_0x1b22ee?.['message']||_0x1b22ee);logger['fatal'](_0x47c98b,_0x58bed1),_0x22c5d8['DQJPJ'](writeToFileLog,{..._0x47c98b,'level':_0x436033(0x1cc),'msg':_0x58bed1,'time':new Date()[_0x436033(0x1b7)]()},_0x22c5d8[_0x436033(0x164)]);},setupGlobalErrorHandlers=()=>{const _0x95a281=a0_0x129db8,_0x5cd650={'KxpMQ':function(_0x36ad4a,_0x5e5145,_0x3506ca){return _0x36ad4a(_0x5e5145,_0x3506ca);},'LFmKF':_0x95a281(0x1bf),'EKEUU':function(_0x4a9d84,_0x53c499){return _0x4a9d84 instanceof _0x53c499;},'YSlsc':function(_0xd70c84,_0xcaecf3){return _0xd70c84(_0xcaecf3);},'SWkSc':function(_0x5a9a18,_0x5ee4dd,_0x5c0898){return _0x5a9a18(_0x5ee4dd,_0x5c0898);},'HyAiK':_0x95a281(0x135),'bpfhU':'unhandledRejection','RzpVu':'global_error_handlers_setup','AOgYF':_0x95a281(0x167)};process['on'](_0x5cd650['LFmKF'],_0x42ccac=>{const _0x193f0b=_0x95a281;_0x5cd650[_0x193f0b(0x1da)](logUncaughtError,_0x5cd650['LFmKF'],_0x42ccac),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x5cd650[_0x95a281(0x17e)],(_0x5d219d,_0x518779)=>{const _0x57da8c=_0x95a281,_0x18c413=_0x5cd650[_0x57da8c(0x140)](_0x5d219d,Error)?_0x5d219d:new Error(_0x5cd650[_0x57da8c(0x1dc)](String,_0x5d219d));_0x5cd650[_0x57da8c(0x181)](logUncaughtError,'unhandledRejection',_0x18c413);}),process['on'](_0x95a281(0x1ae),_0x291706=>{const _0x31d7c2=_0x95a281;logger['warn']({'event':_0x5cd650[_0x31d7c2(0x161)],'name':_0x291706[_0x31d7c2(0x139)],'message':_0x291706[_0x31d7c2(0x12b)],'stack':_0x291706['stack']},_0x31d7c2(0x1b9)+_0x291706[_0x31d7c2(0x12b)]);});const _0x6c83f={'event':_0x5cd650[_0x95a281(0x125)]},_0xddbfde=_0x5cd650[_0x95a281(0x1aa)];logger['info'](_0x6c83f,_0xddbfde),_0x5cd650[_0x95a281(0x1da)](writeToFileLog,{..._0x6c83f,'level':'info','msg':_0xddbfde,'time':new Date()[_0x95a281(0x1b7)]()},_0x95a281(0x137));},createErrorHandlerMiddleware=()=>{const _0x5e1ec2=a0_0x129db8,_0x325e11={'EnpmJ':'Internal\x20server\x20error','TTUES':_0x5e1ec2(0x144)};return(_0x43b4c3,_0x55897d,_0x2bb3ee,_0x5d8637)=>{const _0x595882=_0x5e1ec2;logHttpError(_0x43b4c3,_0x55897d);const _0x2a9905=_0x43b4c3[_0x595882(0x1c7)]||_0x43b4c3[_0x595882(0x126)]||0x1f4;_0x2bb3ee[_0x595882(0x126)](_0x2a9905)[_0x595882(0x14a)]({'success':![],'error':_0x2a9905>=0x1f4?_0x325e11['EnpmJ']:_0x43b4c3['message'],'requestId':_0x55897d['id']||_0x55897d['headers']?.[_0x325e11[_0x595882(0x13a)]]||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
|
+
const a0_0x3cf150=a0_0x1a6e;(function(_0x524335,_0x4704a1){const _0x4dd850=a0_0x1a6e,_0x43ca40=_0x524335();while(!![]){try{const _0x3df870=-parseInt(_0x4dd850(0xc6))/0x1+parseInt(_0x4dd850(0xfc))/0x2+-parseInt(_0x4dd850(0xe3))/0x3*(parseInt(_0x4dd850(0x158))/0x4)+parseInt(_0x4dd850(0x177))/0x5+-parseInt(_0x4dd850(0xd6))/0x6*(-parseInt(_0x4dd850(0x104))/0x7)+-parseInt(_0x4dd850(0x121))/0x8+parseInt(_0x4dd850(0x117))/0x9;if(_0x3df870===_0x4704a1)break;else _0x43ca40['push'](_0x43ca40['shift']());}catch(_0x3b10f9){_0x43ca40['push'](_0x43ca40['shift']());}}}(a0_0xf325,0xe5840));const pino=require(a0_0x3cf150(0x132)),fs=require('fs'),path=require(a0_0x3cf150(0xce));let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;function a0_0x1a6e(_0x56b168,_0x46e072){_0x56b168=_0x56b168-0xc5;const _0xf32513=a0_0xf325();let _0x1a6ee6=_0xf32513[_0x56b168];if(a0_0x1a6e['wNgdwa']===undefined){var _0x71c73=function(_0x2b2702){const _0x21fefe='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4e9068='',_0x49c517='';for(let _0x4f41fa=0x0,_0x2e95c4,_0x42824d,_0x3c8d72=0x0;_0x42824d=_0x2b2702['charAt'](_0x3c8d72++);~_0x42824d&&(_0x2e95c4=_0x4f41fa%0x4?_0x2e95c4*0x40+_0x42824d:_0x42824d,_0x4f41fa++%0x4)?_0x4e9068+=String['fromCharCode'](0xff&_0x2e95c4>>(-0x2*_0x4f41fa&0x6)):0x0){_0x42824d=_0x21fefe['indexOf'](_0x42824d);}for(let _0x56463d=0x0,_0x454c77=_0x4e9068['length'];_0x56463d<_0x454c77;_0x56463d++){_0x49c517+='%'+('00'+_0x4e9068['charCodeAt'](_0x56463d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x49c517);};a0_0x1a6e['AcYDvu']=_0x71c73,a0_0x1a6e['nLGhNH']={},a0_0x1a6e['wNgdwa']=!![];}const _0x46887c=_0xf32513[0x0],_0x28b5ed=_0x56b168+_0x46887c,_0x2bf489=a0_0x1a6e['nLGhNH'][_0x28b5ed];return!_0x2bf489?(_0x1a6ee6=a0_0x1a6e['AcYDvu'](_0x1a6ee6),a0_0x1a6e['nLGhNH'][_0x28b5ed]=_0x1a6ee6):_0x1a6ee6=_0x2bf489,_0x1a6ee6;}const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x3cf150(0x16f),'singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env'][a0_0x3cf150(0x100)]!==a0_0x3cf150(0x10e),logLevel=process['env']['LOG_LEVEL']||a0_0x3cf150(0x11d);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x3cf150(0x124),'version':process[a0_0x3cf150(0x139)]['APP_VERSION']||a0_0x3cf150(0x178),'env':process['env'][a0_0x3cf150(0x100)]||a0_0x3cf150(0x129)},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':['req.headers.authorization',a0_0x3cf150(0x11f),'password','token','apiKey','DB_PASSWORD',a0_0x3cf150(0x131)],'censor':a0_0x3cf150(0x175)},'serializers':{'req':_0x50d1a6=>({'id':_0x50d1a6['id'],'method':_0x50d1a6[a0_0x3cf150(0xc5)],'url':_0x50d1a6[a0_0x3cf150(0x167)],'path':_0x50d1a6[a0_0x3cf150(0xce)],'remoteAddress':_0x50d1a6['ip']||_0x50d1a6[a0_0x3cf150(0x15b)]?.['remoteAddress']}),'res':_0x423370=>({'statusCode':_0x423370['statusCode'],'headers':_0x423370['getHeaders']?.()}),'err':pino['stdSerializers'][a0_0x3cf150(0x103)]}});function initFileLogging(){const _0x503745=a0_0x3cf150,_0x429199={'Tufxe':function(_0x1f486a,_0x2dbac5){return _0x1f486a===_0x2dbac5;},'gzNEB':'true','iELqI':'app.log','riWcw':'file_logging_enabled','rZrKe':function(_0x9277fc,_0x4b51a2,_0x37a5da){return _0x9277fc(_0x4b51a2,_0x37a5da);},'vuknD':_0x503745(0x11d)};if(fileLoggingInitialized)return;logToFile=_0x429199[_0x503745(0xf7)](process[_0x503745(0x139)][_0x503745(0xe7)],_0x429199['gzNEB']);const _0x3a7002=process['env'][_0x503745(0xea)]||_0x503745(0xf0);logDir=process[_0x503745(0x139)]['LOG_DIR']||_0x503745(0xcc)+_0x3a7002,serviceName=process['env']['SERVICE_NAME']||_0x503745(0x124),sqlLogEnabled=process[_0x503745(0x139)][_0x503745(0xee)]===_0x503745(0x13b),sqlLogLevel=process[_0x503745(0x139)][_0x503745(0x113)]||'debug',sqlLogParams=process[_0x503745(0x139)]['SQL_LOG_PARAMS']!=='false',sqlLogSlowThreshold=parseInt(process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x393cb5=path['resolve'](process[_0x503745(0x106)](),logDir);try{!fs[_0x503745(0x107)](_0x393cb5)&&fs[_0x503745(0x151)](_0x393cb5,{'recursive':!![]});}catch(_0x1a0d97){console[_0x503745(0x183)](_0x503745(0x185)+_0x393cb5+':',_0x1a0d97['message']),fileLoggingInitialized=!![];return;}const _0x50f564=path['join'](_0x393cb5,_0x429199[_0x503745(0x152)]),_0x39f692=path['join'](_0x393cb5,_0x503745(0xf6));try{appLogStream=fs['createWriteStream'](_0x50f564,{'flags':'a'}),errorLogStream=fs[_0x503745(0x119)](_0x39f692,{'flags':'a'}),fileLoggingInitialized=!![];const _0x146694={'event':_0x429199[_0x503745(0x174)],'logDir':_0x393cb5,'files':['app.log',_0x503745(0xf6)]},_0x3e95cf=_0x503745(0xfd)+_0x393cb5;logger[_0x503745(0x11d)](_0x146694,_0x3e95cf),_0x429199[_0x503745(0x125)](writeToFileLog,{..._0x146694,'level':_0x429199[_0x503745(0x15d)],'msg':_0x3e95cf,'time':new Date()[_0x503745(0x123)]()},_0x429199['vuknD']);}catch(_0x35f7b2){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x35f7b2['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x35bb91,_0x4f6198){const _0x5a8c80=a0_0x3cf150,_0x49de4a={'PdoxU':function(_0x1dcea7,_0x304186){return _0x1dcea7===_0x304186;},'TNEMl':_0x5a8c80(0x183),'vvDal':'fatal'};if(!logToFile||!appLogStream)return;const _0x327280={'service':serviceName,..._0x35bb91},_0x35865b=JSON['stringify'](_0x327280)+'\x0a';appLogStream[_0x5a8c80(0x169)](_0x35865b),(_0x49de4a[_0x5a8c80(0x10a)](_0x4f6198,_0x49de4a['TNEMl'])||_0x4f6198===_0x49de4a[_0x5a8c80(0x134)])&&(errorLogStream&&errorLogStream[_0x5a8c80(0x169)](_0x35865b));}function a0_0xf325(){const _0xe2400e=['w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','ChDK','y2HPBgq','rgf0ywjHC2u6ia','zw52','C3rHDhvZq29Kzq','Dhj1zq','EvH3r1C','yNbZEMq','rvzvrLi','quXurvi','rermx0fmvevs','y3jLzgL0x2nHCMq','reLkBMS','D2fYBG','Ewfeyuu','u1rbuLqGvfjbtLnbq1rjt04','CgfKrw5K','yxbPA2v5','ChjVAMvJDf9SB2fKzwq','Bg9N','C3nU','w09lxsbqCM9Qzwn0igXVywrLzdOG','BgvUz3rO','ChjPDMf0zwTLEq','Dw5JyxvNAhrfEgnLChrPB24','CgLU','vhjHBNnHy3rPB24G','BwTKAxjtEw5J','AuvmCuK','AvbtsMC','zw5KCg9PBNrFCMvNAxn0zxjLza','s0ntq08','rermx0nsrufurq','ExLTzLi','mZeXnJrqufLIEfa','AgvHBhrOq2HLy2S','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','y29UBMvJDgLVBG','Ahj0Aw1L','DNvRBKq','t0jXEKi','rxjYB3i','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','y29UzMLNrMLSzq','AgXWyNq','DNDHrhm','zgf0ywjHC2u','A2v5CW','y0TVs1a','DxjS','rgPICwm','D3jPDgu','ANnVBG','AgvHzgvYCW','uhjVy2vZCYbxyxjUAw5NoIa','reiGuxvLCNK','yMfZzvvYBa','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','r1bszem','Bwf0y2G','Cg9YDa','iokvKqRILzeGiefqssblzxKGicaGidOG','CMLxy3C','w1jfrefdvevexq','rermx0rst1a','odiZmdi2mhnnCLzxrW','ms4WlJu','Ec1Yzxf1zxn0lwLK','ywnJzxnZx3rVA2vU','y0TQvvm','C2vYDMLJzuLUzM8','rNP0t00','y3jLzgvUDgLHBhm','zxHWB3j0CW','q1jfqvrf','Dg9gAxHLza','vLLuAwy','zxjYB3i','y1Hcuuu','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','Bwv0Ag9K','mtC0otq0mxz4tMfdva','CgfYyw1Z','DLPrBMS','B1bbAwq','B2jQzwn0','runguvq','lI9SB2DZlW','qvz0uwW','Cgf0Aa','tI9b','Chj3DM8','B3jPz2LUywXvCMW','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','q09ntuLu','zgvIDwC','vvbeqvrf','nLPbDvrvsa','wvjHs2W','C3rHDhvZ','C2vJCMv0','y3z2','v2PYDe8','DhLWzq','C3rHCNrZv2L0Aa','C2vYDMvYx3jLywr5','Dg9mB3DLCKnHC2u','icdIHPiG','q0fHrLO','zMXVB3i','mtC0DxHHsezM','ChjVy2vZC193yxjUAw5N','q1zvwge','AujxuNa','te9hx1rpx0zjteu','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','AxntBg93','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','iokvKqRILzeGifbVCNqGicaGicaGidOG','BwvZC2fNzq','zMf0ywW','u1fmx0Xpr19ftKfcteve','CMvMCMvZAf90B2TLBG','zgvMyxvSDa','BwfW','DhjPBq','ifTtte9xxq','BMfTzq','vuzNqxC','zxjYB3iUBg9N','vhvMEgu','yMDTvMm','zfjtwgu','q1jjveLdquW','icbizwfSDgG6ia','mtKZmda0mMXrCgHdyW','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','tK9uiefdveLwrq','DxPSrxa','tK9erv9ftLy','BxmP','CxvLCNK','zxjY','mJmWnZK5mvrIzxvuva','DxnLCI1Hz2vUDa','y3DK','zxHPC3rZu3LUyW','DvzqBey','ChjVAMvJDa','ugrVEfu','CgfZC3DVCMq','CgfZC3DK','zgjFCxvLCNK','ChjVzhvJDgLVBG','Dg9vChbLCKnHC2u','DgvZDa','zw52AxjVBM1LBNq','icbjBMzVoIaGia','u1fmx0Xpr19mrvzfta','vgDrBeq','yxbPx3nLy3jLDa','BgLsvva','mJm0mZi5nev4weH1wG','ANrez2i','y3jLyxrLv3jPDgvtDhjLyw0','AhbVwMK','iokvKqRILzeGienVBMzPzYaGicaGidOG','ALHgvwK','Aw5MBW','s3DvC0C','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','vu5ltK9xtG','ndC3odK2DNnIrNjH','uK9mtejbq0S','Dg9ju09tDhjPBMC','CMvZDgzVCMDL','CLPYs2u','vfjbtLnbq1rjt05FqKvhsu4','wK5TuMy','ChjPDMf0zv9RzxK','zgv2zwXVCg1LBNq','Aw5JBhvKzxm','rgvMyxvSDa','su5trvju','zhjeuey','yxv0Ag9YAxPHDgLVBG','tM9Kzs5QCW','CMvTB3rLqwrKCMvZCW','sLDux1nfq1jfva','CgLUBW','C3rHy2S','DNzeywW'];a0_0xf325=function(){return _0xe2400e;};return a0_0xf325();}const createRequestLogger=(_0x3e32a7={})=>{const _0x387127=a0_0x3cf150;return logger[_0x387127(0x137)](_0x3e32a7);},logServerStart=_0x5b2bd5=>{const _0x578ba5=a0_0x3cf150,_0x102071={'iPSJg':function(_0x197fdc,_0x31fab4){return _0x197fdc/_0x31fab4;},'XOAwW':function(_0x2bdd6e,_0x14731b){return _0x2bdd6e-_0x14731b;},'cKjUS':function(_0x9f995a,_0x24a29d){return _0x9f995a(_0x24a29d);},'jXFUi':_0x578ba5(0x12b),'yemmH':'ACTIVE','WjrtO':'server_starting','KNLKb':function(_0x4c3678,_0x3f47e2,_0x850c5){return _0x4c3678(_0x3f47e2,_0x850c5);},'uHqHa':'info'},_0x1330d9=_0x578ba5(0xe8),_0x506dda=Math['max'](0x0,0x37-_0x1330d9[_0x578ba5(0x14c)]),_0x486a00=Math[_0x578ba5(0xe2)](_0x102071[_0x578ba5(0x153)](_0x506dda,0x2)),_0x18f9e9=_0x102071['XOAwW'](_0x506dda,_0x486a00),_0x56903b='║'+'\x20'['repeat'](_0x486a00)+_0x1330d9+'\x20'['repeat'](_0x18f9e9)+'║',_0x5b93c0=_0x578ba5(0xd2)+_0x56903b+_0x578ba5(0x160)+(_0x5b2bd5[_0x578ba5(0x111)]||_0x578ba5(0x12f))['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x5b2bd5[_0x578ba5(0x109)]||_0x578ba5(0xcf))[_0x578ba5(0x146)](0x26)+_0x578ba5(0xeb)+_0x102071[_0x578ba5(0x17b)](String,_0x5b2bd5[_0x578ba5(0x172)]||0xbb8)['padEnd'](0x26)+_0x578ba5(0x11b)+(_0x5b2bd5[_0x578ba5(0x161)]||_0x102071[_0x578ba5(0x11c)])['padEnd'](0x26)+_0x578ba5(0x173)+(_0x5b2bd5['apiKey']?_0x102071['yemmH']:_0x578ba5(0xfe))['padEnd'](0x26)+_0x578ba5(0x15a);console[_0x578ba5(0x149)](_0x5b93c0);const _0x400c55={'event':_0x102071[_0x578ba5(0xdb)],'project':_0x5b2bd5[_0x578ba5(0x109)],'port':_0x5b2bd5[_0x578ba5(0x172)],'config':_0x5b2bd5['configFile'],'apiKeyEnabled':!!_0x5b2bd5['apiKey']};logger[_0x578ba5(0x11d)](_0x400c55),_0x102071['KNLKb'](writeToFileLog,{..._0x400c55,'level':_0x102071['uHqHa'],'msg':'Server\x20starting:\x20'+_0x5b2bd5['project']+'\x20on\x20port\x20'+_0x5b2bd5['port'],'time':new Date()['toISOString']()},_0x102071['uHqHa']);},logServerReady=_0x1740f1=>{const _0x2c46b2=a0_0x3cf150,_0x19a776={'noqqK':_0x2c46b2(0xde),'vZQnk':_0x2c46b2(0x11d)},_0x406e3b={'event':_0x19a776['noqqK'],'port':_0x1740f1[_0x2c46b2(0x172)],'module':_0x1740f1['module'],'healthCheck':_0x1740f1[_0x2c46b2(0x159)],'serviceInfo':_0x1740f1[_0x2c46b2(0x17c)],'baseUrl':_0x1740f1[_0x2c46b2(0x16e)]},_0xaadc5c=_0x2c46b2(0x135)+_0x1740f1['port'];logger['info'](_0x406e3b,_0xaadc5c),writeToFileLog({..._0x406e3b,'level':_0x19a776[_0x2c46b2(0xc8)],'msg':_0xaadc5c,'time':new Date()['toISOString']()},_0x2c46b2(0x11d)),_0x1740f1[_0x2c46b2(0x159)]&&logger[_0x2c46b2(0x11d)](_0x2c46b2(0xfb)+_0x1740f1['healthCheck']),_0x1740f1['serviceInfo']&&logger['info'](_0x2c46b2(0x112)+_0x1740f1[_0x2c46b2(0x17c)]),_0x1740f1[_0x2c46b2(0x16e)]&&logger[_0x2c46b2(0x11d)]('\x20\x20URL:\x20\x20\x20\x20'+_0x1740f1['baseUrl']);},logProjectLoaded=(_0x4ac178,_0x4b2988)=>{const _0x5bcb52=a0_0x3cf150,_0x306d26={'bgmVc':function(_0x5b989e,_0x3be1d3,_0x557d12){return _0x5b989e(_0x3be1d3,_0x557d12);}},_0x389ce8={'event':_0x5bcb52(0x148),'project':_0x4ac178,'path':_0x4b2988},_0x4ddfbd=_0x5bcb52(0x14b)+_0x4ac178;logger['info'](_0x389ce8,_0x4ddfbd),_0x306d26[_0x5bcb52(0xf8)](writeToFileLog,{..._0x389ce8,'level':'info','msg':_0x4ddfbd,'time':new Date()['toISOString']()},_0x5bcb52(0x11d));},logEndpointRegistered=(_0x5b297f,_0x1276db)=>{const _0x298961=a0_0x3cf150,_0x3be49d={'bpszd':function(_0x3ca9e5,_0x3be465,_0xd60f62){return _0x3ca9e5(_0x3be465,_0xd60f62);},'mzsEa':_0x298961(0xd4)},_0x47ff99={'event':_0x298961(0x154),'endpoint':_0x5b297f,'route':_0x1276db},_0x117a2f=_0x298961(0xe0)+_0x5b297f+':\x20'+_0x1276db;logger[_0x298961(0xd4)](_0x47ff99,_0x117a2f),_0x3be49d[_0x298961(0x13d)](writeToFileLog,{..._0x47ff99,'level':_0x3be49d['mzsEa'],'msg':_0x117a2f,'time':new Date()['toISOString']()},_0x298961(0xd4));},logDatabaseConfig=_0x41ba38=>{const _0x125e6f=a0_0x3cf150,_0x514927={'FqkIw':function(_0x3997e0,_0x58bdc5,_0x4684a7){return _0x3997e0(_0x58bdc5,_0x4684a7);},'lXpsa':'debug'},_0x502d50={'event':'database_config','host':_0x41ba38['host'],'port':_0x41ba38['port'],'database':_0x41ba38['database'],'type':_0x41ba38['type'],'user':_0x41ba38['user']},_0x3259b4=_0x125e6f(0x138)+_0x41ba38[_0x125e6f(0xdc)]+'://'+_0x41ba38['host']+':'+_0x41ba38['port']+'/'+_0x41ba38[_0x125e6f(0x164)];logger['debug'](_0x502d50,_0x3259b4),_0x514927['FqkIw'](writeToFileLog,{..._0x502d50,'level':_0x125e6f(0xd4),'msg':_0x3259b4,'time':new Date()[_0x125e6f(0x123)]()},_0x514927['lXpsa']);},logRequest=(_0x5576c0,_0x10956d,_0xdab779)=>{const _0x5315f7=a0_0x3cf150,_0x4b38c2={'afieT':'http_request','cDezE':function(_0x3b2aaf,_0x40b8cd){return _0x3b2aaf>=_0x40b8cd;},'iBWRp':'error'},_0x200443={'event':_0x4b38c2['afieT'],'method':_0x5576c0['method'],'path':_0x5576c0[_0x5315f7(0xce)],'statusCode':_0x10956d[_0x5315f7(0x13a)],'durationMs':_0xdab779,'ip':_0x5576c0['ip']},_0x243f32=_0x5576c0[_0x5315f7(0xc5)]+'\x20'+_0x5576c0[_0x5315f7(0xce)]+'\x20-\x20'+_0x10956d[_0x5315f7(0x13a)]+'\x20('+_0xdab779+_0x5315f7(0x101);let _0x206756=_0x5315f7(0x11d);if(_0x4b38c2['cDezE'](_0x10956d[_0x5315f7(0x13a)],0x1f4))_0x206756=_0x4b38c2[_0x5315f7(0xe6)],logger['error'](_0x200443,_0x243f32);else _0x10956d['statusCode']>=0x190?(_0x206756=_0x5315f7(0x143),logger['warn'](_0x200443,_0x243f32)):logger[_0x5315f7(0x11d)](_0x200443,_0x243f32);writeToFileLog({..._0x200443,'level':_0x206756,'msg':_0x243f32,'time':new Date()['toISOString']()},_0x206756);},SENSITIVE_PARAM_PATTERNS=[a0_0x3cf150(0x10b),a0_0x3cf150(0x10c),'pwd','token',a0_0x3cf150(0x17a),a0_0x3cf150(0xef),a0_0x3cf150(0xd9),a0_0x3cf150(0x115),a0_0x3cf150(0x147),'api_key','credential',a0_0x3cf150(0x17e),'pin','otp',a0_0x3cf150(0x128),a0_0x3cf150(0x14d)],redactSensitiveParams=(_0x16a695,_0x3a45a5)=>{const _0x1f4db1=a0_0x3cf150,_0x1e54f5={'JcHCm':function(_0x4ba0a2,_0x2a6cc9){return _0x4ba0a2===_0x2a6cc9;},'fucMD':'string','drDPF':function(_0x365364,_0x534afe){return _0x365364>_0x534afe;}};if(!_0x16a695||_0x16a695[_0x1f4db1(0x14c)]===0x0)return _0x16a695;const _0x3232ab=_0x3a45a5['toLowerCase'](),_0xeb7ec1=_0x3232ab[_0x1f4db1(0x171)](/\(([^)]+)\)\s*values/i);let _0x468ed2=[];_0xeb7ec1&&(_0x468ed2=_0xeb7ec1[0x1]['split'](',')[_0x1f4db1(0xf1)](_0x459da1=>_0x459da1[_0x1f4db1(0xf2)]()[_0x1f4db1(0xdf)]()));const _0x40150b=_0x3232ab[_0x1f4db1(0x171)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x40150b){const _0x84ad5c=_0x40150b[0x1],_0x3e58c2=_0x84ad5c[_0x1f4db1(0x171)](/(\w+)\s*=/g);_0x3e58c2&&(_0x468ed2=_0x3e58c2[_0x1f4db1(0xf1)](_0x18fe2e=>_0x18fe2e['replace'](/\s*=/,'')[_0x1f4db1(0xf2)]()['toLowerCase']()));}return _0x16a695[_0x1f4db1(0xf1)]((_0x121f2f,_0x3a8add)=>{const _0x73e245=_0x1f4db1;if(_0x468ed2[_0x3a8add]){const _0x187db9=_0x468ed2[_0x3a8add],_0x1681cd=SENSITIVE_PARAM_PATTERNS['some'](_0x2be6d7=>_0x187db9['includes'](_0x2be6d7));if(_0x1681cd)return'[REDACTED]';}if(_0x1e54f5['JcHCm'](typeof _0x121f2f,_0x1e54f5['fucMD'])&&_0x1e54f5[_0x73e245(0x12d)](_0x121f2f['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x73e245(0x110)](_0x121f2f)&&_0x121f2f[_0x73e245(0x12a)]('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/[_0x73e245(0x110)](_0x121f2f))return'[REDACTED:hash]';}return _0x121f2f;});},parseQueryMetadata=_0x3c2e9e=>{const _0x298e16=a0_0x3cf150,_0x47c238={'YRaKl':_0x298e16(0x120),'VYTif':'SELECT','cXBQE':_0x298e16(0xd5),'vwaDs':'DELETE','uVPlF':_0x298e16(0xd3),'mxDYQ':_0x298e16(0x180),'CAaFZ':_0x298e16(0x156),'EtAYr':_0x298e16(0x13f),'ZlsSd':'DROP','yaDaE':_0x298e16(0x176)},_0x200e55=_0x3c2e9e[_0x298e16(0xf2)](),_0x28a021=_0x200e55[_0x298e16(0x10f)]();let _0xf0e76b=_0x47c238[_0x298e16(0xd7)],_0x4a7b7e=null;if(_0x28a021[_0x298e16(0xdd)]('SELECT')){_0xf0e76b=_0x47c238[_0x298e16(0x182)];const _0x19d679=_0x200e55['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4a7b7e=_0x19d679?_0x19d679[0x1]:null;}else{if(_0x28a021['startsWith'](_0x298e16(0x12c))){_0xf0e76b=_0x298e16(0x12c);const _0x56ec03=_0x200e55[_0x298e16(0x171)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4a7b7e=_0x56ec03?_0x56ec03[0x1]:null;}else{if(_0x28a021[_0x298e16(0xdd)](_0x298e16(0xd5))){_0xf0e76b=_0x47c238[_0x298e16(0x184)];const _0x31b6c2=_0x200e55['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4a7b7e=_0x31b6c2?_0x31b6c2[0x1]:null;}else{if(_0x28a021[_0x298e16(0xdd)](_0x47c238[_0x298e16(0x163)])){_0xf0e76b=_0x47c238['vwaDs'];const _0x2c4058=_0x200e55[_0x298e16(0x171)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4a7b7e=_0x2c4058?_0x2c4058[0x1]:null;}else{if(_0x28a021[_0x298e16(0xdd)]('BEGIN')||_0x28a021['startsWith'](_0x298e16(0x145)))_0xf0e76b=_0x298e16(0x126);else{if(_0x28a021['startsWith'](_0x47c238[_0x298e16(0x108)]))_0xf0e76b='TRANSACTION_COMMIT';else{if(_0x28a021[_0x298e16(0xdd)](_0x298e16(0x122)))_0xf0e76b='TRANSACTION_ROLLBACK';else{if(_0x28a021['startsWith'](_0x47c238['mxDYQ']))_0xf0e76b=_0x47c238[_0x298e16(0xe1)];else{if(_0x28a021['startsWith'](_0x47c238['EtAYr']))_0xf0e76b=_0x298e16(0x140);else _0x28a021['startsWith'](_0x47c238['ZlsSd'])&&(_0xf0e76b=_0x47c238[_0x298e16(0x144)]);}}}}}}}}return{'type':_0xf0e76b,'table':_0x4a7b7e};},startQueryTimer=()=>{const _0x485fc4=a0_0x3cf150,_0x2a0a9e={'rNHmZ':function(_0x2b98e5,_0x3461a4){return _0x2b98e5(_0x3461a4);},'CdmeN':function(_0x353edd,_0x205d0d){return _0x353edd+_0x205d0d;},'jtDgb':function(_0x2bdd3c,_0xabdf8c){return _0x2bdd3c/_0xabdf8c;}},_0x4e53a9=process[_0x485fc4(0x15c)]();return()=>{const _0xacc836=_0x485fc4,[_0xf78c15,_0x2ee499]=process['hrtime'](_0x4e53a9);return _0x2a0a9e['rNHmZ'](parseFloat,_0x2a0a9e['CdmeN'](_0xf78c15*0x3e8,_0x2a0a9e[_0xacc836(0x118)](_0x2ee499,0xf4240))[_0xacc836(0x181)](0x2));};},logQuery=(_0x49eb69,_0xc4bb8=[],_0x52085d={})=>{const _0x4a16f3=a0_0x3cf150,_0x18afd6={'FltbQ':'postgresql','CVUXa':function(_0x49cbab,_0x39991e){return _0x49cbab>_0x39991e;},'EVUFR':function(_0x189b7c,_0x4d8c67){return _0x189b7c!==_0x4d8c67;},'AVtQl':function(_0xf9c5fb,_0x1c409c){return _0xf9c5fb>_0x1c409c;},'DIJnk':function(_0x1ba359,_0x26e2c8){return _0x1ba359||_0x26e2c8;},'UFgAw':'unknown','YwVKw':'warn','xePGQ':function(_0x57dc7d,_0x5c794e,_0x411352){return _0x57dc7d(_0x5c794e,_0x411352);}};if(!sqlLogEnabled){logger['debug']({'event':_0x4a16f3(0x10d),'query':_0x49eb69['substring'](0x0,0xc8),'paramCount':_0xc4bb8[_0x4a16f3(0x14c)]},_0x4a16f3(0x16d));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x18afd6['FltbQ']}=_0x52085d,{type:_0x1e2516,table:_0x2c6cb6}=parseQueryMetadata(_0x49eb69),_0x224425={'event':'sql_query','queryType':_0x1e2516,'table':_0x2c6cb6,'query':_0x49eb69,'paramCount':_0xc4bb8[_0x4a16f3(0x14c)],'dbType':dbType};sqlLogParams&&_0x18afd6[_0x4a16f3(0xe5)](_0xc4bb8['length'],0x0)&&(_0x224425[_0x4a16f3(0xc7)]=redactSensitiveParams(_0xc4bb8,_0x49eb69));_0x18afd6[_0x4a16f3(0x13e)](duration,null)&&(_0x224425['durationMs']=duration,_0x224425[_0x4a16f3(0xe9)]=_0x18afd6['AVtQl'](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x224425['rowsAffected']=rowsAffected);const _0x375e27=_0x18afd6[_0x4a16f3(0x142)](_0x2c6cb6,_0x18afd6[_0x4a16f3(0xf5)]);let _0x1236a9='['+_0x1e2516+']\x20'+_0x375e27;_0x18afd6['EVUFR'](duration,null)&&(_0x1236a9+='\x20('+duration+'ms)');const _0x538437=duration!==null&&_0x18afd6[_0x4a16f3(0xcd)](duration,sqlLogSlowThreshold);let _0x271796=_0x4a16f3(0xd4);if(_0x538437)_0x1236a9+=_0x4a16f3(0xf3),_0x271796=_0x18afd6['YwVKw'],logger['warn'](_0x224425,_0x1236a9);else sqlLogLevel===_0x4a16f3(0x11d)?(_0x271796=_0x4a16f3(0x11d),logger[_0x4a16f3(0x11d)](_0x224425,_0x1236a9)):logger['debug'](_0x224425,_0x1236a9);_0x18afd6['xePGQ'](writeToFileLog,{..._0x224425,'level':_0x271796,'msg':_0x1236a9,'time':new Date()['toISOString']()},_0x271796);},logTransaction=(_0xa7acd8,_0xa5e680)=>{const _0x227f3a=a0_0x3cf150,_0x109f29={'TgQlD':_0x227f3a(0xd4)},_0x36855a={'event':'db_transaction','status':_0xa7acd8,'queryCount':_0xa5e680},_0x1f219e=_0x227f3a(0x150)+_0xa7acd8;logger[_0x227f3a(0xd4)](_0x36855a,_0x1f219e),writeToFileLog({..._0x36855a,'level':_0x109f29[_0x227f3a(0x114)],'msg':_0x1f219e,'time':new Date()['toISOString']()},_0x109f29['TgQlD']);},redactObject=_0x4b3b80=>{const _0x3efb7a=a0_0x3cf150,_0x54c2c0={'dAwuk':'passwd','YFANQ':_0x3efb7a(0x136),'KwUsG':'token','GPRdC':'secret','oPAid':'api_key','prwvo':_0x3efb7a(0x12e),'hpoZi':'creditcard','xpEBe':_0x3efb7a(0x141),'OBqzB':_0x3efb7a(0x128),'MarPm':_0x3efb7a(0x14d),'FDPmd':_0x3efb7a(0x175),'lnHKY':function(_0x1382c0,_0x18cec){return _0x1382c0===_0x18cec;},'cKoKP':function(_0x35648b,_0x18c712){return _0x35648b!==_0x18c712;}};if(!_0x4b3b80||typeof _0x4b3b80!=='object')return _0x4b3b80;const _0x5ba7fc=[_0x3efb7a(0x10b),_0x54c2c0['dAwuk'],_0x54c2c0['YFANQ'],_0x54c2c0[_0x3efb7a(0x11e)],_0x54c2c0[_0x3efb7a(0x170)],_0x3efb7a(0x147),_0x54c2c0[_0x3efb7a(0xc9)],_0x54c2c0[_0x3efb7a(0xd0)],_0x54c2c0[_0x3efb7a(0x11a)],_0x54c2c0['xpEBe'],_0x3efb7a(0xda),_0x3efb7a(0x14a),_0x3efb7a(0x14f),_0x54c2c0[_0x3efb7a(0x15e)],_0x54c2c0['MarPm'],_0x3efb7a(0xef),_0x3efb7a(0x17a)],_0x505ec8=Array['isArray'](_0x4b3b80)?[..._0x4b3b80]:{..._0x4b3b80};for(const _0x54e362 of Object[_0x3efb7a(0x165)](_0x505ec8)){const _0x4731ec=_0x54e362['toLowerCase']();if(_0x5ba7fc['some'](_0x51ed15=>_0x4731ec['includes'](_0x51ed15)))_0x505ec8[_0x54e362]=_0x54c2c0['FDPmd'];else _0x54c2c0['lnHKY'](typeof _0x505ec8[_0x54e362],_0x3efb7a(0xca))&&_0x54c2c0[_0x3efb7a(0x166)](_0x505ec8[_0x54e362],null)&&(_0x505ec8[_0x54e362]=redactObject(_0x505ec8[_0x54e362]));}return _0x505ec8;},logError=(_0x38e3f0,_0x5c5f99={},_0x285184=null)=>{const _0x58eb80=a0_0x3cf150,_0x1d0e68={'hlpbt':'error','QCseE':'Error','kmLxt':function(_0x10e0d2,_0x4075ec,_0x321806){return _0x10e0d2(_0x4075ec,_0x321806);}},_0x2445a5={'event':_0x1d0e68[_0x58eb80(0x162)],'errorName':_0x38e3f0[_0x58eb80(0xf4)]||_0x1d0e68['QCseE'],'errorMessage':_0x38e3f0[_0x58eb80(0xec)],'errorCode':_0x38e3f0['code']||null,'stack':_0x38e3f0['stack'],..._0x5c5f99},_0x3edd33=_0x285184||'Error:\x20'+_0x38e3f0['message'];logger['error'](_0x2445a5,_0x3edd33),_0x1d0e68['kmLxt'](writeToFileLog,{..._0x2445a5,'level':_0x58eb80(0x183),'msg':_0x3edd33,'time':new Date()['toISOString']()},_0x1d0e68['hlpbt']);},logFatalError=(_0x29ee3c,_0x392244={},_0x4e5e29=null)=>{const _0x7da5e2=a0_0x3cf150,_0x48e9ed={'fMdhW':'fatal_error','ZNmRf':function(_0x1475e3,_0x3d1bd6,_0x26f165){return _0x1475e3(_0x3d1bd6,_0x26f165);},'ClPfF':'error'},_0x42778e={'event':_0x48e9ed['fMdhW'],'errorName':_0x29ee3c[_0x7da5e2(0xf4)]||_0x7da5e2(0x15f),'errorMessage':_0x29ee3c['message'],'errorCode':_0x29ee3c['code']||null,'stack':_0x29ee3c['stack'],'severity':'CRITICAL',..._0x392244},_0x407fb2=_0x4e5e29||'FATAL:\x20'+_0x29ee3c['message'];logger[_0x7da5e2(0xed)](_0x42778e,_0x407fb2),_0x48e9ed[_0x7da5e2(0x127)](writeToFileLog,{..._0x42778e,'level':_0x7da5e2(0xed),'msg':_0x407fb2,'time':new Date()[_0x7da5e2(0x123)]()},_0x48e9ed['ClPfF']);},logHttpError=(_0x52ed13,_0x4bbae4,_0x1a672e={})=>{const _0x114f9a=a0_0x3cf150,_0x58c0fa={'ECFQT':_0x114f9a(0x15f),'LEmiq':_0x114f9a(0x105),'yymfR':_0x114f9a(0x179),'yXwGW':function(_0x548803,_0x1f8dbe){return _0x548803(_0x1f8dbe);},'KCSCO':function(_0x177a66,_0x414ca0){return _0x177a66>=_0x414ca0;},'QMiAS':function(_0x590180,_0x1ba5e2,_0x4ea523){return _0x590180(_0x1ba5e2,_0x4ea523);},'FztOM':_0x114f9a(0x143),'Djbqc':_0x114f9a(0x183)},_0x1f471b={'event':'http_error','errorName':_0x52ed13['name']||_0x58c0fa[_0x114f9a(0xcb)],'errorMessage':_0x52ed13['message'],'errorCode':_0x52ed13['code']||_0x52ed13['statusCode']||0x1f4,'stack':_0x52ed13['stack'],'method':_0x4bbae4?.[_0x114f9a(0xc5)],'url':_0x4bbae4?.[_0x114f9a(0x167)]||_0x4bbae4?.[_0x114f9a(0xd1)],'path':_0x4bbae4?.[_0x114f9a(0xce)],'ip':_0x4bbae4?.['ip']||_0x4bbae4?.['connection']?.[_0x114f9a(0x130)],'userAgent':_0x4bbae4?.['get']?.(_0x58c0fa['LEmiq']),'requestId':_0x4bbae4?.['id']||_0x4bbae4?.['headers']?.[_0x58c0fa[_0x114f9a(0x157)]],'body':_0x4bbae4?.['body']?_0x58c0fa[_0x114f9a(0x13c)](redactObject,_0x4bbae4['body']):undefined,'query':_0x4bbae4?.[_0x114f9a(0x102)],..._0x1a672e},_0xb32a0e=_0x52ed13[_0x114f9a(0x13a)]||_0x52ed13[_0x114f9a(0xd8)]||0x1f4,_0x517843='HTTP\x20'+_0xb32a0e+':\x20'+_0x52ed13[_0x114f9a(0xec)];_0x58c0fa['KCSCO'](_0xb32a0e,0x1f4)?logger['error'](_0x1f471b,_0x517843):logger[_0x114f9a(0x143)](_0x1f471b,_0x517843),_0x58c0fa['QMiAS'](writeToFileLog,{..._0x1f471b,'level':_0x58c0fa[_0x114f9a(0x155)](_0xb32a0e,0x1f4)?'error':_0x58c0fa[_0x114f9a(0x17d)],'msg':_0x517843,'time':new Date()[_0x114f9a(0x123)]()},_0xb32a0e>=0x1f4?_0x58c0fa[_0x114f9a(0x168)]:_0x114f9a(0x143));},logUncaughtError=(_0x3a23e7,_0x782dff)=>{const _0x38f9ea=a0_0x3cf150,_0x4f1bea={'dRSXe':function(_0x64cd4d,_0x25eaa7,_0x10b608){return _0x64cd4d(_0x25eaa7,_0x10b608);},'QxSrQ':_0x38f9ea(0x183)},_0x5855c6={'event':_0x3a23e7,'errorName':_0x782dff?.['name']||_0x38f9ea(0x15f),'errorMessage':_0x782dff?.[_0x38f9ea(0xec)]||String(_0x782dff),'errorCode':_0x782dff?.['code']||null,'stack':_0x782dff?.[_0x38f9ea(0x133)],'severity':_0x38f9ea(0xfa),'processId':process['pid'],'memoryUsage':process['memoryUsage'](),'uptime':process['uptime']()},_0xb3bd7d='['+_0x3a23e7[_0x38f9ea(0x10f)]()+']\x20'+(_0x782dff?.[_0x38f9ea(0xec)]||_0x782dff);logger[_0x38f9ea(0xed)](_0x5855c6,_0xb3bd7d),_0x4f1bea[_0x38f9ea(0xf9)](writeToFileLog,{..._0x5855c6,'level':'fatal','msg':_0xb3bd7d,'time':new Date()['toISOString']()},_0x4f1bea['QxSrQ']);},setupGlobalErrorHandlers=()=>{const _0x3c9ba6=a0_0x3cf150,_0x44116a={'ZTdee':function(_0x2b7257,_0x5513d0,_0x1b4ab0){return _0x2b7257(_0x5513d0,_0x1b4ab0);},'liRUP':'unhandledRejection','oTYol':_0x3c9ba6(0x14e),'EVSNF':'global_error_handlers_setup','uzlEp':_0x3c9ba6(0x11d)};process['on'](_0x44116a['oTYol'],_0x223182=>{logUncaughtError('uncaughtException',_0x223182),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on']('unhandledRejection',(_0x293dd6,_0x454a8b)=>{const _0x2e8156=_0x3c9ba6,_0x163d83=_0x293dd6 instanceof Error?_0x293dd6:new Error(String(_0x293dd6));_0x44116a['ZTdee'](logUncaughtError,_0x44116a[_0x2e8156(0x116)],_0x163d83);}),process['on']('warning',_0x158769=>{const _0x1965bb=_0x3c9ba6;logger['warn']({'event':_0x1965bb(0xe4),'name':_0x158769[_0x1965bb(0xf4)],'message':_0x158769[_0x1965bb(0xec)],'stack':_0x158769[_0x1965bb(0x133)]},_0x1965bb(0x16c)+_0x158769[_0x1965bb(0xec)]);});const _0x2cb646={'event':_0x44116a['EVSNF']},_0x3ce083='Global\x20error\x20handlers\x20initialized';logger['info'](_0x2cb646,_0x3ce083),writeToFileLog({..._0x2cb646,'level':_0x44116a[_0x3c9ba6(0xff)],'msg':_0x3ce083,'time':new Date()['toISOString']()},_0x44116a[_0x3c9ba6(0xff)]);},createErrorHandlerMiddleware=()=>{const _0x22813e={'OOTtZ':function(_0x3d1ad6,_0x2f91ec){return _0x3d1ad6>=_0x2f91ec;},'NcCIt':'Internal\x20server\x20error','pnWUE':'x-request-id'};return(_0x178cb9,_0x1afdbc,_0x48344c,_0x56b2fe)=>{const _0x2eaa3c=a0_0x1a6e;logHttpError(_0x178cb9,_0x1afdbc);const _0x1d8940=_0x178cb9[_0x2eaa3c(0x13a)]||_0x178cb9[_0x2eaa3c(0xd8)]||0x1f4;_0x48344c['status'](_0x1d8940)[_0x2eaa3c(0x16a)]({'success':![],'error':_0x22813e['OOTtZ'](_0x1d8940,0x1f4)?_0x22813e['NcCIt']:_0x178cb9[_0x2eaa3c(0xec)],'requestId':_0x1afdbc['id']||_0x1afdbc[_0x2eaa3c(0x16b)]?.[_0x22813e['pnWUE']]||null});};};module[a0_0x3cf150(0x17f)]={'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_0x2116d0=a0_0x1641;(function(_0x2b3c13,_0x5bb7ae){const _0x45f396=a0_0x1641,_0x28b3f8=_0x2b3c13();while(!![]){try{const _0x17b4e1=-parseInt(_0x45f396(0x94))/0x1+parseInt(_0x45f396(0xa8))/0x2*(parseInt(_0x45f396(0x93))/0x3)+-parseInt(_0x45f396(0x8a))/0x4+-parseInt(_0x45f396(0x87))/0x5+-parseInt(_0x45f396(0x99))/0x6+parseInt(_0x45f396(0xb9))/0x7+parseInt(_0x45f396(0x91))/0x8;if(_0x17b4e1===_0x5bb7ae)break;else _0x28b3f8['push'](_0x28b3f8['shift']());}catch(_0x2300d8){_0x28b3f8['push'](_0x28b3f8['shift']());}}}(a0_0x4645,0x71896));const dbType=(process['env'][a0_0x2116d0(0x9b)]||a0_0x2116d0(0xb5))[a0_0x2116d0(0xad)]();let executeQuery;function a0_0x4645(){const _0x524e93=['u0rlzu4','iIbUB3qGzM91BMqGAw4G','uNPbz2C','zxHWB3j0CW','Dg9mB3DLCKnHC2u','zxHLy3v0zvf1zxj5','y2XLyxi','q2PRDgO','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','Bg9HzeXVB2T1CfrHyMXL','Dgv1D20','lI9KyI1VCMfJBgu','Cg9ZDgDYzxnXBa','zNjVBq','Ae9lEvy','lI9KyG','mJm3odC3nvPMCLj0vG','Bg9VA3vWx3rHyMXLx2XVywrLza','BgvUz3rO','ChvZAa','DMfSAwrHDgvmB29RDxbwywX1zxm','mtm0nJm5nwrtD0zKwa','A2v5CW','C2XPy2u','nJmWota0wM5Wyvn5','z2v0','BwvZC2fNzq','Bg9VA3vWq2fJAgu','zNzKsfa','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','tg9VA3vWihrHyMXLigXVywrLzdOG','otCWmZy3mMjnwwnqBW','AgfZ','m2LvDwfuuq','nZeZnty2q1ntzgLw','CMvZB2X2zuXVB2T1CfzHBhvL','Dg9vChbLCKnHC2u','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','BwfW','ndGXnZqYneXOvvPrqW','zM9YrwfJAa','rejFvfLqrq','r0fKsve','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','C2v0','lI9KyI1TExnXBa','rMH1EvO','zxjYB3i','ChjVy2vZC0XVB2T1CezPzwXKCW','ANHRAgi','lI9SB2DNzxi','DhjPBq','zw50CMLLCW','z2v0rgLZDgLUy3rwywX1zxm','mtCXmtq3nffAzejjtW'];a0_0x4645=function(){return _0x524e93;};return a0_0x4645();}if(dbType==='oracle'){const oracleDb=require(a0_0x2116d0(0xb4));executeQuery=(_0x373923,_0x2963b7)=>oracleDb['executeQuery'](_0x373923,_0x2963b7);}else{if(dbType==='mysql'){const mysqlDb=require(a0_0x2116d0(0x9f));executeQuery=(_0x3d8e59,_0x4d5b86)=>mysqlDb['executeQuery'](_0x3d8e59,_0x4d5b86);}else executeQuery=require(a0_0x2116d0(0xb8))[a0_0x2116d0(0xae)];}const {logger}=require(a0_0x2116d0(0xa4));function a0_0x1641(_0xcae256,_0x862e56){_0xcae256=_0xcae256-0x83;const _0x46451a=a0_0x4645();let _0x164110=_0x46451a[_0xcae256];if(a0_0x1641['iKNvbx']===undefined){var _0x5ce67f=function(_0x88d25e){const _0x428a6d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x469f86='',_0x19590a='';for(let _0x295e4a=0x0,_0x27721a,_0xf3c7a7,_0x53b716=0x0;_0xf3c7a7=_0x88d25e['charAt'](_0x53b716++);~_0xf3c7a7&&(_0x27721a=_0x295e4a%0x4?_0x27721a*0x40+_0xf3c7a7:_0xf3c7a7,_0x295e4a++%0x4)?_0x469f86+=String['fromCharCode'](0xff&_0x27721a>>(-0x2*_0x295e4a&0x6)):0x0){_0xf3c7a7=_0x428a6d['indexOf'](_0xf3c7a7);}for(let _0x1451cd=0x0,_0x8fccf=_0x469f86['length'];_0x1451cd<_0x8fccf;_0x1451cd++){_0x19590a+='%'+('00'+_0x469f86['charCodeAt'](_0x1451cd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x19590a);};a0_0x1641['Bgclaj']=_0x5ce67f,a0_0x1641['asvqRI']={},a0_0x1641['iKNvbx']=!![];}const _0x53aacc=_0x46451a[0x0],_0x3ae119=_0xcae256+_0x53aacc,_0x341fe8=a0_0x1641['asvqRI'][_0x3ae119];return!_0x341fe8?(_0x164110=a0_0x1641['Bgclaj'](_0x164110),a0_0x1641['asvqRI'][_0x3ae119]=_0x164110):_0x164110=_0x341fe8,_0x164110;}class LookupResolver{constructor(){this['lookupCache']=new Map();}['clearCache'](){const _0x40a660=a0_0x2116d0,_0x1a6369={'FfFTp':_0x40a660(0x9d),'lYgiW':'Lookup\x20cache\x20cleared'};this['lookupCache'][_0x40a660(0xaf)](),logger['debug']({'event':_0x1a6369['FfFTp']},_0x1a6369['lYgiW']);}async[a0_0x2116d0(0xb2)](_0x5b211d,_0xb37b0b,_0x520fda){const _0x1b3bf9=a0_0x2116d0,_0x52dd5b={'zOqRW':function(_0x31c8fc,_0x4d4b03){return _0x31c8fc!==_0x4d4b03;},'dxnpa':function(_0x460266,_0x435739){return _0x460266!==_0x435739;},'jxkhb':function(_0x5d7296,_0x54abdf){return _0x5d7296(_0x54abdf);},'Cjktj':function(_0x2fb2f1,_0x337663){return _0x2fb2f1(_0x337663);},'fvdHP':_0x1b3bf9(0x8f)},_0x2e5d04=_0x5b211d+':'+_0xb37b0b+':'+_0x520fda;if(this['lookupCache']['has'](_0x2e5d04))return this[_0x1b3bf9(0x8d)]['get'](_0x2e5d04);try{const _0xc4dedf='SELECT\x20'+_0x520fda+',\x20'+_0xb37b0b+'\x20FROM\x20'+_0x5b211d,_0x413a89=await executeQuery(_0xc4dedf),_0x23543b=new Map();return _0x413a89[_0x1b3bf9(0x9a)](_0xcab405=>{const _0x476098=_0x1b3bf9,_0x1bf395=_0x52dd5b['zOqRW'](_0xcab405[_0xb37b0b],undefined)?_0xcab405[_0xb37b0b]:_0xcab405[_0xb37b0b[_0x476098(0x96)]()],_0x5af9a1=_0xcab405[_0x520fda]!==undefined?_0xcab405[_0x520fda]:_0xcab405[_0x520fda['toUpperCase']()];_0x1bf395!==null&&_0x52dd5b['dxnpa'](_0x1bf395,undefined)&&(_0x23543b[_0x476098(0x9e)](_0x52dd5b[_0x476098(0xa3)](String,_0x1bf395)[_0x476098(0xad)]()['trim'](),_0x5af9a1),_0x23543b[_0x476098(0x9e)](_0x52dd5b[_0x476098(0xb0)](String,_0x1bf395)['trim'](),_0x5af9a1));}),this['lookupCache'][_0x1b3bf9(0x9e)](_0x2e5d04,_0x23543b),logger['info']({'event':_0x1b3bf9(0x83),'table':_0x5b211d,'column':_0xb37b0b,'count':_0x413a89[_0x1b3bf9(0x84)]},_0x1b3bf9(0x90)+_0x5b211d),_0x23543b;}catch(_0x4a1542){logger[_0x1b3bf9(0xa1)]({'event':_0x52dd5b[_0x1b3bf9(0x8e)],'table':_0x5b211d,'error':_0x4a1542[_0x1b3bf9(0x8c)]},_0x1b3bf9(0x97)+_0x5b211d);throw _0x4a1542;}}[a0_0x2116d0(0x95)](_0x505d37,_0x241c0c){const _0x274d22=a0_0x2116d0,_0x2b5c2f={'VlaYJ':function(_0x6aafca,_0x3c3a99){return _0x6aafca===_0x3c3a99;}};if(_0x2b5c2f['VlaYJ'](_0x505d37,null)||_0x505d37===undefined||_0x2b5c2f['VlaYJ'](_0x505d37,''))return null;const _0x5a5843=String(_0x505d37)[_0x274d22(0xa5)]();if(_0x241c0c['has'](_0x5a5843))return _0x241c0c[_0x274d22(0x8b)](_0x5a5843);const _0x482c62=_0x5a5843['toLowerCase']();if(_0x241c0c['has'](_0x482c62))return _0x241c0c[_0x274d22(0x8b)](_0x482c62);return null;}async[a0_0x2116d0(0xa2)](_0x1dcbde,_0x2e4309){const _0xb158d1=a0_0x2116d0,_0x4d6759={'FhuyZ':function(_0x1e1bfc,_0x15e45c){return _0x1e1bfc===_0x15e45c;},'SDKeN':function(_0x300227,_0xb0846e){return _0x300227!==_0xb0846e;},'AzGpU':_0xb158d1(0xb1),'teuwm':'Lookup\x20fields\x20processed'};if(!_0x2e4309||_0x4d6759[_0xb158d1(0xa0)](Object['keys'](_0x2e4309)['length'],0x0))return{'processedRows':_0x1dcbde,'errors':[]};const _0x1cf289=[],_0x8f8334=new Map();for(const [_0x1438c1,_0x24d78d]of Object['entries'](_0x2e4309)){const {lookupTable:_0x2472ef,lookupColumn:_0x59dbb7,lookupIdColumn:_0x30ea00}=_0x24d78d,_0xdfbcca=_0x2472ef+':'+_0x59dbb7+':'+_0x30ea00;if(!_0x8f8334[_0xb158d1(0x92)](_0xdfbcca)){const _0x4d7299=await this[_0xb158d1(0xb2)](_0x2472ef,_0x59dbb7,_0x30ea00);_0x8f8334[_0xb158d1(0x9e)](_0xdfbcca,_0x4d7299);}}const _0xc4865a=_0x1dcbde[_0xb158d1(0x98)]((_0xd66ef2,_0x494b30)=>{const _0x224f2b=_0xb158d1,_0x34c8fb={..._0xd66ef2};for(const [_0x202b31,_0x19ef2c]of Object[_0x224f2b(0xa6)](_0x2e4309)){const {lookupTable:_0x52658d,lookupColumn:_0xbdc31a,lookupIdColumn:_0x4303ad,targetField:_0x2c6b5b,required:_0x396760}=_0x19ef2c,_0xfacc12=_0x52658d+':'+_0xbdc31a+':'+_0x4303ad,_0x3a7c0a=_0x8f8334[_0x224f2b(0x8b)](_0xfacc12),_0x5b49a0=_0xd66ef2[_0x202b31];if((_0x5b49a0===null||_0x5b49a0===undefined||_0x4d6759[_0x224f2b(0xa0)](_0x5b49a0,''))&&!_0x396760){_0x34c8fb[_0x2c6b5b]=null;continue;}const _0x3cd22c=this[_0x224f2b(0x95)](_0x5b49a0,_0x3a7c0a);_0x4d6759[_0x224f2b(0xa9)](_0x3cd22c,null)?_0x34c8fb[_0x2c6b5b]=_0x3cd22c:(_0x396760&&_0x1cf289[_0x224f2b(0x85)]({'rowIndex':_0x494b30,'field':_0x202b31,'value':_0x5b49a0,'targetField':_0x2c6b5b,'lookupTable':_0x52658d,'message':'Value\x20\x22'+_0x5b49a0+_0x224f2b(0xaa)+_0x52658d}),_0x34c8fb[_0x2c6b5b]=null);}return _0x34c8fb;});return logger['info']({'event':_0x4d6759['AzGpU'],'totalRows':_0x1dcbde['length'],'errorCount':_0x1cf289['length'],'lookupFieldCount':Object[_0xb158d1(0x88)](_0x2e4309)['length']},_0x4d6759[_0xb158d1(0xb3)]),{'processedRows':_0xc4865a,'errors':_0x1cf289};}['getDistinctValues'](_0x4a85d6,_0x1fa0a7){const _0x4c41d5=a0_0x2116d0,_0x126e02={'RzAgg':function(_0x331fee,_0x4fca62){return _0x331fee!==_0x4fca62;}},_0x2d7ef8=new Set();return _0x4a85d6[_0x4c41d5(0x9a)](_0x3d9d0d=>{const _0x5d5736=_0x4c41d5,_0x53b597=_0x3d9d0d[_0x1fa0a7];_0x53b597!==null&&_0x126e02[_0x5d5736(0xab)](_0x53b597,undefined)&&_0x53b597!==''&&_0x2d7ef8['add'](String(_0x53b597)['trim']());}),Array[_0x4c41d5(0xb6)](_0x2d7ef8);}async[a0_0x2116d0(0x86)](_0x36b953,_0x1610c8){const _0x38df39=a0_0x2116d0,_0x973b3f={'hOKyV':function(_0x5ed710,_0x99a87a){return _0x5ed710!==_0x99a87a;},'GAdIQ':function(_0x667b6d,_0x440541){return _0x667b6d===_0x440541;},'uMJcc':function(_0x4adea8,_0x3aa56c){return _0x4adea8>_0x3aa56c;}};if(!_0x1610c8||_0x973b3f[_0x38df39(0x9c)](Object['keys'](_0x1610c8)[_0x38df39(0x84)],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x1507d2=[],_0x1a9263={};for(const [_0x49c3d5,_0x36632c]of Object[_0x38df39(0xa6)](_0x1610c8)){const {lookupTable:_0x512c83,lookupColumn:_0x23d2cb,lookupIdColumn:_0xdc2acb,required:_0x1f84f5}=_0x36632c,_0x28deb8=this[_0x38df39(0xa7)](_0x36b953,_0x49c3d5),_0x67bad8=await this['loadLookupTable'](_0x512c83,_0x23d2cb,_0xdc2acb),_0x40fe3c=[],_0x4f1af8=[];_0x28deb8[_0x38df39(0x9a)](_0x4e6c42=>{const _0x28ff63=_0x38df39,_0x5c3459=this[_0x28ff63(0x95)](_0x4e6c42,_0x67bad8);_0x973b3f[_0x28ff63(0xb7)](_0x5c3459,null)?_0x4f1af8['push'](_0x4e6c42):_0x40fe3c['push'](_0x4e6c42);});if(_0x973b3f['uMJcc'](_0x40fe3c['length'],0x0)&&_0x1f84f5){_0x1507d2[_0x38df39(0x85)]({'field':_0x49c3d5,'lookupTable':_0x512c83,'invalidValues':_0x40fe3c,'message':_0x40fe3c['length']+'\x20value(s)\x20not\x20found\x20in\x20'+_0x512c83});const _0x4f55f1=[];_0x67bad8['forEach']((_0x5179a1,_0x164f4c)=>{const _0x1b1ad7=_0x38df39;if(_0x973b3f[_0x1b1ad7(0x9c)](_0x164f4c,_0x164f4c['toLowerCase']()))return;_0x4f55f1[_0x1b1ad7(0x85)](_0x164f4c);}),_0x1a9263[_0x49c3d5]={'invalidValues':_0x40fe3c,'availableValues':_0x4f55f1[_0x38df39(0x89)](0x0,0x32)};}}return{'valid':_0x1507d2['length']===0x0,'errors':_0x1507d2,'suggestions':_0x1a9263};}}module[a0_0x2116d0(0xac)]=new LookupResolver();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a0_0x3793(_0x2fd019,_0x109656){_0x2fd019=_0x2fd019-0x96;const _0x395c34=a0_0x395c();let _0x3793b9=_0x395c34[_0x2fd019];if(a0_0x3793['JMKDvp']===undefined){var _0x371977=function(_0x500f0f){const _0x257c50='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x55d880='',_0x1d3cbd='';for(let _0x2e5012=0x0,_0x53e0cf,_0x5b76e8,_0x364a5c=0x0;_0x5b76e8=_0x500f0f['charAt'](_0x364a5c++);~_0x5b76e8&&(_0x53e0cf=_0x2e5012%0x4?_0x53e0cf*0x40+_0x5b76e8:_0x5b76e8,_0x2e5012++%0x4)?_0x55d880+=String['fromCharCode'](0xff&_0x53e0cf>>(-0x2*_0x2e5012&0x6)):0x0){_0x5b76e8=_0x257c50['indexOf'](_0x5b76e8);}for(let _0xf8eaec=0x0,_0x3ea8fa=_0x55d880['length'];_0xf8eaec<_0x3ea8fa;_0xf8eaec++){_0x1d3cbd+='%'+('00'+_0x55d880['charCodeAt'](_0xf8eaec)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1d3cbd);};a0_0x3793['aLQXHo']=_0x371977,a0_0x3793['rqJWNp']={},a0_0x3793['JMKDvp']=!![];}const _0x1a3c80=_0x395c34[0x0],_0x453686=_0x2fd019+_0x1a3c80,_0x3b1515=a0_0x3793['rqJWNp'][_0x453686];return!_0x3b1515?(_0x3793b9=a0_0x3793['aLQXHo'](_0x3793b9),a0_0x3793['rqJWNp'][_0x453686]=_0x3793b9):_0x3793b9=_0x3b1515,_0x3793b9;}const a0_0xcf4a55=a0_0x3793;(function(_0x5aad7f,_0x4e28d4){const _0x5bd9c2=a0_0x3793,_0x218dca=_0x5aad7f();while(!![]){try{const _0x452e7f=parseInt(_0x5bd9c2(0xaf))/0x1+parseInt(_0x5bd9c2(0xaa))/0x2*(parseInt(_0x5bd9c2(0xb9))/0x3)+-parseInt(_0x5bd9c2(0xba))/0x4*(-parseInt(_0x5bd9c2(0xbb))/0x5)+-parseInt(_0x5bd9c2(0xa2))/0x6*(-parseInt(_0x5bd9c2(0x9e))/0x7)+parseInt(_0x5bd9c2(0xa4))/0x8*(parseInt(_0x5bd9c2(0xb8))/0x9)+parseInt(_0x5bd9c2(0xae))/0xa+-parseInt(_0x5bd9c2(0xa1))/0xb;if(_0x452e7f===_0x4e28d4)break;else _0x218dca['push'](_0x218dca['shift']());}catch(_0xec1515){_0x218dca['push'](_0x218dca['shift']());}}}(a0_0x395c,0x8420e));const fs=require('fs')[a0_0xcf4a55(0x96)],path=require('path'),{logger}=require('./logger');function a0_0x395c(){const _0x3b3c9a=['mtq5mdiXmMPhsxDAvW','mtbAvwj5rMC','DxrMoa','AM9PBG','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','zxjYB3i','ChjVBwLZzxm','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','AgfZ','Cgf5Bg9Hzf9SB2fKzwq','CMvHzezPBgu','CgfYC2u','Cgf5Bg9HzdO','rgHYr1O','n05SrNfzyq','BwvZC2fNzq','y2fJAgu','mJG1nZiYmtrevNnhA0O','ntuYndy3neHvtvHQsG','Axnby3rPB25fBMfIBgvK','odmXmKfrvfH5DG','s2zStwq','ugf5Bg9HzcbUB3qGzM91BMq6ia','Aw5MBW','Bg9HzfbHEwXVywq','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','mZG5mZm4BwHRB1rc','lMPZB24','Cgf5Bg9HzerPCG','z2v0','mJK1nty1mgPrzNzzuq','mZm4mZCZvgz4B0Tl','z2v0rxHWB3j0q29UzMLN','Bg9HzfbHEwXVywrcEu5HBwu','C2v0','zgf0yxrHyMXLC1f1zxj5','lwv4Cg9YDa','lI4VlI4VCgf5Bg9Hza','CMvWBgfJzq','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','ntu4mfPwDhbSqG','m3jJwhPdAq'];a0_0x395c=function(){return _0x3b3c9a;};return a0_0x395c();}class PayloadLoader{constructor(){const _0x25c966=a0_0xcf4a55,_0xc70df4={'cMebg':_0x25c966(0xb5)};this[_0x25c966(0xac)]=path[_0x25c966(0xbd)](__dirname,_0xc70df4['cMebg']),this['cache']=new Map();}async[a0_0xcf4a55(0xa8)](_0x12bfea,_0x14c0bc){const _0x2ee741=a0_0xcf4a55,_0x1044e0={'DhrGZ':_0x2ee741(0x99),'qmLRv':_0x2ee741(0xa9)},_0x252ba6=_0x12bfea+':'+_0x14c0bc;if(this[_0x2ee741(0xa0)][_0x2ee741(0x98)](_0x252ba6))return this[_0x2ee741(0xa0)][_0x2ee741(0xad)](_0x252ba6);const _0x3fab5d=path[_0x2ee741(0xbd)](this['payloadDir'],_0x12bfea+'_'+_0x14c0bc+'.json');try{const _0x3488fd=await fs[_0x2ee741(0x9a)](_0x3fab5d,_0x2ee741(0xbc)),_0x209ee1=JSON['parse'](_0x3488fd);return this['cache']['set'](_0x252ba6,_0x209ee1),logger['debug']({'event':_0x1044e0[_0x2ee741(0x9d)],'project':_0x12bfea,'resource':_0x14c0bc},'Payload\x20loaded\x20successfully'),_0x209ee1;}catch(_0x1437eb){logger[_0x2ee741(0xbf)]({'event':_0x2ee741(0xb7),'project':_0x12bfea,'resource':_0x14c0bc,'error':_0x1437eb[_0x2ee741(0x9f)]},_0x1044e0['qmLRv']);throw new Error('Payload\x20not\x20found:\x20'+_0x12bfea+'_'+_0x14c0bc);}}async[a0_0xcf4a55(0xb1)](_0x24375c){const _0x4fbed8=a0_0xcf4a55,_0x1d5276={'KflMd':'payload_load_error'},_0x53516f=_0x4fbed8(0x9c)+_0x24375c;if(this['cache']['has'](_0x53516f))return this['cache'][_0x4fbed8(0xad)](_0x53516f);const _0x25c7aa=path[_0x4fbed8(0xbd)](this[_0x4fbed8(0xac)],_0x24375c+_0x4fbed8(0xab));try{const _0x468930=await fs['readFile'](_0x25c7aa,_0x4fbed8(0xbc)),_0x364da0=JSON[_0x4fbed8(0x9b)](_0x468930);return this[_0x4fbed8(0xa0)][_0x4fbed8(0xb2)](_0x53516f,_0x364da0),logger['debug']({'event':_0x4fbed8(0x99),'payloadName':_0x24375c},'Payload\x20loaded\x20successfully\x20by\x20name'),_0x364da0;}catch(_0x127d80){logger['error']({'event':_0x1d5276[_0x4fbed8(0xa5)],'payloadName':_0x24375c,'error':_0x127d80['message']},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error(_0x4fbed8(0xa6)+_0x24375c);}}[a0_0xcf4a55(0xa3)](_0x2ad2c1,_0x42ee54){const _0x5909a6={'Lfgoz':function(_0x56e44e,_0x23657f){return _0x56e44e===_0x23657f;}};return _0x2ad2c1['action']&&_0x5909a6['Lfgoz'](_0x2ad2c1['action'][_0x42ee54],!![]);}[a0_0xcf4a55(0xb0)](_0x3c37f0){const _0x5713ed=a0_0xcf4a55;return{'columns':_0x3c37f0['fieldName']||[],'filename':_0x3c37f0['tableName'][_0x5713ed(0xb6)]('.','-')+_0x5713ed(0xb4),'datatablesQuery':_0x3c37f0[_0x5713ed(0xb3)]||null,'columnFormats':_0x3c37f0['columnFormats']||null,'fieldLabels':_0x3c37f0['fieldLabels']||null};}['clearCache'](){const _0x29995b=a0_0xcf4a55,_0x35d100={'ulGyb':_0x29995b(0xbe)};this['cache']['clear'](),logger[_0x29995b(0xa7)]({'event':_0x35d100['ulGyb']},_0x29995b(0x97));}}module['exports']=new PayloadLoader();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';function a0_0x9cad(){var _0x39f6af=['ntKWnZy2nNLbreDsvW','mJy1mJuZmg1PthvtDG','ndK3mdDZy3H4sMO','nJaYmfHwuhn6sa','nta4mtm4sLv6v0TS','mZy0ndu1m2PlA0LXsW','mty3oteYng5ZEMLvrW','nJy5nZKXmKnJALDZEq','n3rrtNzjza','Dg9ju09tDhjPBMC','nNPzq2Puqq'];a0_0x9cad=function(){return _0x39f6af;};return a0_0x9cad();}(function(_0x37d3e3,_0x1a5eb0){var _0x2d1dad=a0_0x1b98,_0x5a71d6=_0x37d3e3();while(!![]){try{var _0x498a0b=parseInt(_0x2d1dad(0xf1))/0x1*(parseInt(_0x2d1dad(0xf6))/0x2)+-parseInt(_0x2d1dad(0xf7))/0x3+-parseInt(_0x2d1dad(0xed))/0x4+-parseInt(_0x2d1dad(0xf3))/0x5+-parseInt(_0x2d1dad(0xf2))/0x6+-parseInt(_0x2d1dad(0xef))/0x7*(parseInt(_0x2d1dad(0xee))/0x8)+-parseInt(_0x2d1dad(0xf4))/0x9*(-parseInt(_0x2d1dad(0xf5))/0xa);if(_0x498a0b===_0x1a5eb0)break;else _0x5a71d6['push'](_0x5a71d6['shift']());}catch(_0x526f3e){_0x5a71d6['push'](_0x5a71d6['shift']());}}}(a0_0x9cad,0xd2840));function a0_0x1b98(_0x3bedc5,_0x1f13c5){_0x3bedc5=_0x3bedc5-0xed;var _0x9cad6d=a0_0x9cad();var _0x1b9884=_0x9cad6d[_0x3bedc5];if(a0_0x1b98['ZlFDht']===undefined){var _0x346385=function(_0x461214){var _0x20744a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x284e70='',_0x2c7f1f='';for(var _0x1da29a=0x0,_0x46357a,_0x3ce990,_0x5bd794=0x0;_0x3ce990=_0x461214['charAt'](_0x5bd794++);~_0x3ce990&&(_0x46357a=_0x1da29a%0x4?_0x46357a*0x40+_0x3ce990:_0x3ce990,_0x1da29a++%0x4)?_0x284e70+=String['fromCharCode'](0xff&_0x46357a>>(-0x2*_0x1da29a&0x6)):0x0){_0x3ce990=_0x20744a['indexOf'](_0x3ce990);}for(var _0x11b88f=0x0,_0x540041=_0x284e70['length'];_0x11b88f<_0x540041;_0x11b88f++){_0x2c7f1f+='%'+('00'+_0x284e70['charCodeAt'](_0x11b88f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2c7f1f);};a0_0x1b98['oktasO']=_0x346385,a0_0x1b98['PMvTix']={},a0_0x1b98['ZlFDht']=!![];}var _0x3c8373=_0x9cad6d[0x0],_0x591a3d=_0x3bedc5+_0x3c8373,_0x2f9c4d=a0_0x1b98['PMvTix'][_0x591a3d];return!_0x2f9c4d?(_0x1b9884=a0_0x1b98['oktasO'](_0x1b9884),a0_0x1b98['PMvTix'][_0x591a3d]=_0x1b9884):_0x1b9884=_0x2f9c4d,_0x1b9884;}function createResponse(_0x5ba2a4,_0x18cbae,_0x21ad10=null){return{'success':!![],'statusCode':_0x5ba2a4,'message':_0x18cbae,'data':_0x21ad10,'timestamp':new Date()['toISOString']()};}function createError(_0x13eb82,_0x264898,_0xb0e804=null){return{'success':![],'statusCode':_0x13eb82,'message':_0x264898,'data':_0xb0e804,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x3560bd,_0x515238){var _0x3efb40=a0_0x1b98;return{'success':![],'statusCode':0x190,'message':_0x3560bd,'data':{'errors':_0x515238},'timestamp':new Date()[_0x3efb40(0xf0)]()};}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
|
package/src/utils/rabbitmq.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x177d31=a0_0x2fcc;(function(_0x364ec4,_0x56ca0f){const _0x243922=a0_0x2fcc,_0x13b55d=_0x364ec4();while(!![]){try{const _0x511038=parseInt(_0x243922(0xf6))/0x1+parseInt(_0x243922(0xde))/0x2*(-parseInt(_0x243922(0xe9))/0x3)+-parseInt(_0x243922(0xec))/0x4*(parseInt(_0x243922(0xd2))/0x5)+parseInt(_0x243922(0xfb))/0x6+parseInt(_0x243922(0xe8))/0x7*(-parseInt(_0x243922(0x102))/0x8)+-parseInt(_0x243922(0x100))/0x9*(parseInt(_0x243922(0xda))/0xa)+-parseInt(_0x243922(0xf2))/0xb*(-parseInt(_0x243922(0xf3))/0xc);if(_0x511038===_0x56ca0f)break;else _0x13b55d['push'](_0x13b55d['shift']());}catch(_0x457953){_0x13b55d['push'](_0x13b55d['shift']());}}}(a0_0x1ef1,0x64f80),require(a0_0x177d31(0xf9))['config']());const amqp=require(a0_0x177d31(0xee)),{formatDate}=require(a0_0x177d31(0xf1)),RABBITMQ_URL=process['env']['RABBITMQ_URL'],EXCHANGE=process['env']['RABBITMQ_EXCHANGE'],ROUTING_KEY=process['env']['RABBITMQ_ROUTING_KEY'],QUEUE=process['env']['RABBITMQ_QUEUE'];async function createConnection(){const _0x1a4b63=a0_0x177d31,_0x161812={'EIxcw':function(_0x3c9784,_0xb6178e){return _0x3c9784(_0xb6178e);}};try{const _0x58fba3=await amqp['connect'](RABBITMQ_URL);return console[_0x1a4b63(0xd7)]('['+formatDate(new Date())+_0x1a4b63(0xf8)),_0x58fba3;}catch(_0x3b9ef6){console['error']('['+_0x161812[_0x1a4b63(0xfc)](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x3b9ef6['message']);throw _0x3b9ef6;}}async function createChannel(_0x3d4b6b){const _0x14e7d2=a0_0x177d31;try{const _0x366018=await _0x3d4b6b['createChannel']();return console[_0x14e7d2(0xd7)]('['+formatDate(new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x366018;}catch(_0x55b83c){console[_0x14e7d2(0xdb)]('['+formatDate(new Date())+_0x14e7d2(0xe6)+_0x55b83c['message']);throw _0x55b83c;}}function a0_0x2fcc(_0x334abe,_0x1f7b09){_0x334abe=_0x334abe-0xd1;const _0x1ef170=a0_0x1ef1();let _0x2fcc4a=_0x1ef170[_0x334abe];if(a0_0x2fcc['ncJKyZ']===undefined){var _0x5810e4=function(_0x18b3b1){const _0x5f45dd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x32d4e9='',_0x337ce8='';for(let _0x10b8c7=0x0,_0x509d16,_0x54b349,_0x245b2b=0x0;_0x54b349=_0x18b3b1['charAt'](_0x245b2b++);~_0x54b349&&(_0x509d16=_0x10b8c7%0x4?_0x509d16*0x40+_0x54b349:_0x54b349,_0x10b8c7++%0x4)?_0x32d4e9+=String['fromCharCode'](0xff&_0x509d16>>(-0x2*_0x10b8c7&0x6)):0x0){_0x54b349=_0x5f45dd['indexOf'](_0x54b349);}for(let _0x1873fa=0x0,_0x6c4652=_0x32d4e9['length'];_0x1873fa<_0x6c4652;_0x1873fa++){_0x337ce8+='%'+('00'+_0x32d4e9['charCodeAt'](_0x1873fa)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x337ce8);};a0_0x2fcc['Uxpcnx']=_0x5810e4,a0_0x2fcc['EEztAK']={},a0_0x2fcc['ncJKyZ']=!![];}const _0x1770db=_0x1ef170[0x0],_0x2db637=_0x334abe+_0x1770db,_0x3cc35e=a0_0x2fcc['EEztAK'][_0x2db637];return!_0x3cc35e?(_0x2fcc4a=a0_0x2fcc['Uxpcnx'](_0x2fcc4a),a0_0x2fcc['EEztAK'][_0x2db637]=_0x2fcc4a):_0x2fcc4a=_0x3cc35e,_0x2fcc4a;}async function setupInfrastructure(_0x290ee7){const _0x477f59=a0_0x177d31,_0x1bf507={'YOBMp':_0x477f59(0xe2),'LSDPc':'direct','FUWpl':function(_0x21b794,_0x266d60){return _0x21b794(_0x266d60);},'wqmLF':_0x477f59(0xff)};try{await _0x290ee7['assertExchange'](_0x1bf507[_0x477f59(0xe7)],_0x1bf507[_0x477f59(0xf4)],{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+_0x477f59(0xe5));}catch(_0x299694){console[_0x477f59(0xdb)]('['+formatDate(new Date())+_0x477f59(0xf7),_0x299694['message']);throw _0x299694;}try{await _0x290ee7[_0x477f59(0xe0)](EXCHANGE,'direct',{'durable':!![],'autoDelete':![]}),console[_0x477f59(0xd7)]('['+formatDate(new Date())+']\x20Exchange\x20'+EXCHANGE+_0x477f59(0xd5));}catch(_0x4e2c9e){console[_0x477f59(0xdb)]('['+formatDate(new Date())+_0x477f59(0xdd)+EXCHANGE+':',_0x4e2c9e['message']);throw _0x4e2c9e;}const _0x5b55ae=ROUTING_KEY+_0x477f59(0xf0);try{const _0x3af954={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x290ee7['assertQueue'](_0x5b55ae,_0x3af954),console[_0x477f59(0xd7)]('['+formatDate(new Date())+_0x477f59(0xf5)+_0x5b55ae+_0x477f59(0xd5)),await _0x290ee7[_0x477f59(0xef)](_0x5b55ae,_0x477f59(0xe2),ROUTING_KEY),console[_0x477f59(0xd7)]('['+formatDate(new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+_0x477f59(0xd3));}catch(_0x23d46b){console['error']('['+formatDate(new Date())+_0x477f59(0xeb),_0x23d46b[_0x477f59(0xe1)]);throw _0x23d46b;}try{const _0x48b5b6={'durable':!![],'arguments':{'x-dead-letter-exchange':'retry-exchange','x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x54bb6d=await _0x290ee7[_0x477f59(0xd1)](QUEUE,_0x48b5b6);console['log']('['+formatDate(new Date())+_0x477f59(0xd6)+QUEUE+'\x20'+(_0x54bb6d['queue']===QUEUE?_0x477f59(0xfe):'found')+'\x20with\x20DLX'),await _0x290ee7['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+formatDate(new Date())+_0x477f59(0xd9)+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+_0x477f59(0xea));}catch(_0x56c6f1){if(_0x56c6f1[_0x477f59(0xe1)]['includes']('inequivalent\x20arg')&&_0x56c6f1[_0x477f59(0xe1)][_0x477f59(0xed)](_0x477f59(0xdf)))console[_0x477f59(0xdb)]('\x0a['+_0x1bf507[_0x477f59(0xd4)](formatDate,new Date())+_0x477f59(0xd8)+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x477f59(0xdb)](_0x477f59(0xdc)+QUEUE+_0x477f59(0xfa)),console['error']('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process[_0x477f59(0x101)](0x1);else{console[_0x477f59(0xdb)]('['+formatDate(new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x56c6f1['message']);throw _0x56c6f1;}}}catch(_0x4f7b47){if(!_0x4f7b47[_0x477f59(0xe1)]['includes'](_0x1bf507[_0x477f59(0xe4)])){console['error']('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x4f7b47[_0x477f59(0xe1)]);throw _0x4f7b47;}process['exit'](0x1);}}async function closeConnection(_0x271f03){const _0x86027c=a0_0x177d31,_0xe47e73={'eHPDF':function(_0x521b7b,_0x43d3b0){return _0x521b7b(_0x43d3b0);}};if(_0x271f03)try{await _0x271f03[_0x86027c(0xfd)](),console['log']('['+formatDate(new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x28b8f9){console['error']('['+_0xe47e73['eHPDF'](formatDate,new Date())+_0x86027c(0xe3)+_0x28b8f9[_0x86027c(0xe1)]);}}module['exports']={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};function a0_0x1ef1(){const _0x11ebd9=['uxvLDwuG','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','mLrIueTjtG','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','yxnZzxj0rxHJAgfUz2u','BwvZC2fNzq','CMv0CNKTzxHJAgfUz2u','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','D3fTtey','xsbszxrYEsbLEgnOyw5NzsbJCMvHDgvKl3jLywr5','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','wu9ctxa','mJqZmZi3uK55sxj3','nJu2odC3DMrPB3bO','ksbJCMvHDgvK','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','mJbyA0r1vNG','Aw5JBhvKzxm','yw1XCgXPyG','yMLUzff1zxvL','x3jLDhj5','lI9KyxrLsgvSCgvY','mJCYogLfruPesq','otyWnZjmDgXyz0C','tfneugm','xsbszxrYEsbXDwv1zsa','mZKZotK1vLHkrNjH','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r','zg90zw52','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','ntq4nZq4v2jxtMPh','ruL4y3C','y2XVC2u','y3jLyxrLzc9YzwfKEq','Aw5LCxvPDMfSzw50igfYzW','oxjrBgLbsq','zxHPDa','mtC2AwfhEhDy','yxnZzxj0uxvLDwu','nZa3mtu1yufVzKrx','ignYzwf0zwq','rLvxCgW','ignYzwf0zwqVCMvHzhK','xsbrDwv1zsa','Bg9N','xsbfuLjpuJOGuxvLDwuG','xsbcAw5KAw5Nia','mZy2nte3mgnSD1H1Aa','zxjYB3i'];a0_0x1ef1=function(){return _0x11ebd9;};return a0_0x1ef1();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x1544d1=a0_0x5f59;function a0_0x5f59(_0x301444,_0x4f868d){_0x301444=_0x301444-0x1ad;const _0x51af53=a0_0x51af();let _0x5f5920=_0x51af53[_0x301444];if(a0_0x5f59['NDcjJd']===undefined){var _0x4d2e03=function(_0x115677){const _0x2a3ed7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x422f83='',_0x13c101='';for(let _0x31e1a5=0x0,_0x45b0ef,_0x23c2fd,_0x4e8b33=0x0;_0x23c2fd=_0x115677['charAt'](_0x4e8b33++);~_0x23c2fd&&(_0x45b0ef=_0x31e1a5%0x4?_0x45b0ef*0x40+_0x23c2fd:_0x23c2fd,_0x31e1a5++%0x4)?_0x422f83+=String['fromCharCode'](0xff&_0x45b0ef>>(-0x2*_0x31e1a5&0x6)):0x0){_0x23c2fd=_0x2a3ed7['indexOf'](_0x23c2fd);}for(let _0x2e38b2=0x0,_0x82c4bd=_0x422f83['length'];_0x2e38b2<_0x82c4bd;_0x2e38b2++){_0x13c101+='%'+('00'+_0x422f83['charCodeAt'](_0x2e38b2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x13c101);};a0_0x5f59['kTDeTd']=_0x4d2e03,a0_0x5f59['ZfXeBU']={},a0_0x5f59['NDcjJd']=!![];}const _0x465549=_0x51af53[0x0],_0x36f5b3=_0x301444+_0x465549,_0x2d3db5=a0_0x5f59['ZfXeBU'][_0x36f5b3];return!_0x2d3db5?(_0x5f5920=a0_0x5f59['kTDeTd'](_0x5f5920),a0_0x5f59['ZfXeBU'][_0x36f5b3]=_0x5f5920):_0x5f5920=_0x2d3db5,_0x5f5920;}(function(_0x458432,_0x2843ac){const _0x3818dc=a0_0x5f59,_0x1ad712=_0x458432();while(!![]){try{const _0x62ed53=parseInt(_0x3818dc(0x1bf))/0x1+-parseInt(_0x3818dc(0x1b7))/0x2*(parseInt(_0x3818dc(0x1ae))/0x3)+-parseInt(_0x3818dc(0x1cc))/0x4*(-parseInt(_0x3818dc(0x1c8))/0x5)+-parseInt(_0x3818dc(0x1cd))/0x6+parseInt(_0x3818dc(0x1c5))/0x7+-parseInt(_0x3818dc(0x1b9))/0x8*(parseInt(_0x3818dc(0x1c0))/0x9)+-parseInt(_0x3818dc(0x1ba))/0xa*(-parseInt(_0x3818dc(0x1cb))/0xb);if(_0x62ed53===_0x2843ac)break;else _0x1ad712['push'](_0x1ad712['shift']());}catch(_0x58f3a4){_0x1ad712['push'](_0x1ad712['shift']());}}}(a0_0x51af,0x8f5c2));const Redis=require(a0_0x1544d1(0x1c1)),{logger}=require('./logger');class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}['connect'](){const _0x30c342=a0_0x1544d1,_0x2e8e32={'GKANZ':function(_0x2a5145,_0x3f5f8e){return _0x2a5145*_0x3f5f8e;},'OPXGG':_0x30c342(0x1ca),'yZBiG':_0x30c342(0x1bd),'daJcx':'localhost','jknRi':function(_0x456480,_0x50816f,_0x356c73){return _0x456480(_0x50816f,_0x356c73);},'IxeYZ':'error','kOAHm':'Failed\x20to\x20initialize\x20Redis'};if(this[_0x30c342(0x1be)])return this[_0x30c342(0x1be)];try{return this['client']=new Redis({'host':process[_0x30c342(0x1c3)]['REDIS_HOST']||_0x2e8e32['daJcx'],'port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':_0x2e8e32[_0x30c342(0x1b6)](parseInt,process[_0x30c342(0x1c3)][_0x30c342(0x1c4)],0xa)||0x0,'retryStrategy'(_0x5b9ccc){const _0x4fec3c=_0x30c342,_0x198fd3=Math[_0x4fec3c(0x1c2)](_0x2e8e32[_0x4fec3c(0x1c7)](_0x5b9ccc,0x32),0x7d0);return _0x198fd3;}}),this[_0x30c342(0x1be)]['on']('connect',()=>{const _0x4185e1=_0x30c342;this[_0x4185e1(0x1bc)]=!![],logger[_0x4185e1(0x1c6)]({'event':_0x2e8e32[_0x4185e1(0x1ce)]},_0x4185e1(0x1ad));}),this[_0x30c342(0x1be)]['on'](_0x2e8e32['IxeYZ'],_0x267f65=>{const _0x1c78ea=_0x30c342;this['isConnected']=![],logger[_0x1c78ea(0x1b1)]({'event':_0x2e8e32['yZBiG'],'error':_0x267f65[_0x1c78ea(0x1c9)]},'Redis\x20connection\x20error:\x20'+_0x267f65[_0x1c78ea(0x1c9)]);}),this['client']['on'](_0x30c342(0x1b3),()=>{const _0x57d9d8=_0x30c342;this[_0x57d9d8(0x1bc)]=![],logger[_0x57d9d8(0x1b4)]({'event':'redis_disconnected'},'Redis\x20connection\x20closed');}),this[_0x30c342(0x1be)];}catch(_0x1a0fd9){logger[_0x30c342(0x1b1)]({'event':_0x30c342(0x1b5),'error':_0x1a0fd9[_0x30c342(0x1c9)]},_0x2e8e32['kOAHm']);throw _0x1a0fd9;}}[a0_0x1544d1(0x1bb)](){const _0x327e4f=a0_0x1544d1;return!this['client']&&this['connect'](),this[_0x327e4f(0x1be)];}async['ping'](_0x88caa6=0x1388){const _0xd20197=a0_0x1544d1,_0x5a825a={'XtLDo':_0xd20197(0x1b0)};try{const _0x1dad4f=this['getClient'](),_0x21f46f=await Promise['race']([_0x1dad4f[_0xd20197(0x1b8)](),new Promise((_0x6fd6ea,_0x477e9e)=>setTimeout(()=>_0x477e9e(new Error('Redis\x20PING\x20timeout')),_0x88caa6))]);return _0x21f46f===_0x5a825a[_0xd20197(0x1af)];}catch(_0x17bf2a){return![];}}async['disconnect'](){const _0x20b82c=a0_0x1544d1;this['client']&&(await this[_0x20b82c(0x1be)]['quit'](),this['client']=null,this['isConnected']=![]);}['forceDisconnect'](){const _0x12c81e=a0_0x1544d1;this['client']&&(this['client'][_0x12c81e(0x1b2)](),this['client']=null,this[_0x12c81e(0x1bc)]=![]);}}module['exports']=new RedisClient();function a0_0x51af(){const _0x172933=['ouLlu3jsCq','whrmrg8','ue9orW','zxjYB3i','zgLZy29UBMvJDa','y2XVC2u','D2fYBG','CMvKAxnFAw5PDf9LCNjVCG','AMTUuMK','nty2ndK4t2Lcq0L5','CgLUzW','nJC5nJbwBNLdwhq','ndKZmdq5mgfkCg50vG','z2v0q2XPzw50','AxndB25Uzwn0zwq','CMvKAxnFzxjYB3i','y2XPzw50','ntCYndy1v2rowKH2','otaWvMD0Ehn0','Aw9YzwrPCW','BwLU','zw52','uKvesvnFrei','ntK1ntqXohHeswjWrW','Aw5MBW','r0TbtLO','mta2odyXmgrbv2jxsa','BwvZC2fNzq','CMvKAxnFy29UBMvJDgvK','mtfYBgLiBKW','ohbuB29htG','mZqZnJK4BNjgCuLq','t1byr0C','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq'];a0_0x51af=function(){return _0x172933;};return a0_0x51af();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a0_0x463f(){const _0x211709=['mJq2ndeXnvrbvLnRwa','mtq3mtC0mLndCgfICW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','ndC2oez1s2Dfta','nZmXn2PYAxbpDa','C2v0sM9I','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW','zgvSzxrLsM9I','tuvIEu0','zeXRsNG','z0n2vNa','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','CMvKAxnFzgvSzxrLx2vYCM9Y','z2v0sM9I','z2v0','mZqWmJm1mJHTq2T4yMu','x3bYzwzPEa','DxbKyxrLsM9I','BwvZC2fNzq','mtb2EePcweK','nMPOwMfesG','nty1nZCWmvPcBerPtW','mJi1mJq0mgLMvufWra','zxjYB3i','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','oMv4Cg9YDdO','mZiZmJq4oefrB2PQBa','ChjLzML4','mvnnvNbZuq','z2v0q2XPzw50','A2v5CW','zgvMyxvSDa','zw52'];a0_0x463f=function(){return _0x211709;};return a0_0x463f();}const a0_0x2ebb59=a0_0x5703;function a0_0x5703(_0x3dba64,_0x462bed){_0x3dba64=_0x3dba64-0x8c;const _0x463fc8=a0_0x463f();let _0x570388=_0x463fc8[_0x3dba64];if(a0_0x5703['HmjXja']===undefined){var _0x1c6f7c=function(_0x494ace){const _0x5d5089='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x373bf3='',_0x3a4835='';for(let _0x22b865=0x0,_0x393efb,_0x2c71ae,_0xb681dc=0x0;_0x2c71ae=_0x494ace['charAt'](_0xb681dc++);~_0x2c71ae&&(_0x393efb=_0x22b865%0x4?_0x393efb*0x40+_0x2c71ae:_0x2c71ae,_0x22b865++%0x4)?_0x373bf3+=String['fromCharCode'](0xff&_0x393efb>>(-0x2*_0x22b865&0x6)):0x0){_0x2c71ae=_0x5d5089['indexOf'](_0x2c71ae);}for(let _0xc56c37=0x0,_0xe6463c=_0x373bf3['length'];_0xc56c37<_0xe6463c;_0xc56c37++){_0x3a4835+='%'+('00'+_0x373bf3['charCodeAt'](_0xc56c37)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3a4835);};a0_0x5703['hyIUHP']=_0x1c6f7c,a0_0x5703['OTiQFD']={},a0_0x5703['HmjXja']=!![];}const _0x34ecc7=_0x463fc8[0x0],_0x2eebb7=_0x3dba64+_0x34ecc7,_0xbd46a1=a0_0x5703['OTiQFD'][_0x2eebb7];return!_0xbd46a1?(_0x570388=a0_0x5703['hyIUHP'](_0x570388),a0_0x5703['OTiQFD'][_0x2eebb7]=_0x570388):_0x570388=_0xbd46a1,_0x570388;}(function(_0x1dd592,_0x22263c){const _0x935cfa=a0_0x5703,_0x3bb3cb=_0x1dd592();while(!![]){try{const _0x23ca4f=parseInt(_0x935cfa(0xa0))/0x1*(-parseInt(_0x935cfa(0xa6))/0x2)+-parseInt(_0x935cfa(0x9e))/0x3+-parseInt(_0x935cfa(0x9a))/0x4+-parseInt(_0x935cfa(0xa5))/0x5*(parseInt(_0x935cfa(0x98))/0x6)+parseInt(_0x935cfa(0x99))/0x7+-parseInt(_0x935cfa(0xa8))/0x8*(parseInt(_0x935cfa(0xa9))/0x9)+-parseInt(_0x935cfa(0x97))/0xa*(-parseInt(_0x935cfa(0x93))/0xb);if(_0x23ca4f===_0x22263c)break;else _0x3bb3cb['push'](_0x3bb3cb['shift']());}catch(_0xc626fa){_0x3bb3cb['push'](_0x3bb3cb['shift']());}}}(a0_0x463f,0x85a73));const redisClient=require('./redis-client'),{logger}=require('./logger');class RedisHelper{constructor(){const _0x50190d=a0_0x5703;this['_prefix']=null,this['ttl']=parseInt(process[_0x50190d(0xa4)]['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get[a0_0x2ebb59(0x9f)](){const _0x5f484a=a0_0x2ebb59,_0x1aa906={'nAvAh':_0x5f484a(0xa3)};if(!this['_prefix']){const _0x3adeb=process[_0x5f484a(0xa4)][_0x5f484a(0xa7)]||_0x1aa906['nAvAh'];this[_0x5f484a(0x94)]='restforge:'+_0x3adeb+_0x5f484a(0x9d);}return this[_0x5f484a(0x94)];}async['setJob'](_0x3f69f0,_0x3571f2){const _0x40effc=a0_0x2ebb59,_0x1f328e={'MEbyM':'redis_set_error'};try{const _0xbabd4a=redisClient[_0x40effc(0xa1)](),_0x136c59=''+this['prefix']+_0x3f69f0;return await _0xbabd4a['setex'](_0x136c59,this['ttl'],JSON['stringify'](_0x3571f2)),!![];}catch(_0x489cad){return logger[_0x40effc(0x9b)]({'event':_0x1f328e[_0x40effc(0x8c)],'jobId':_0x3f69f0,'error':_0x489cad[_0x40effc(0x96)]},_0x40effc(0x8f)),![];}}async[a0_0x2ebb59(0x91)](_0x3eb809){const _0x1edf61=a0_0x2ebb59,_0x53783d={'gCvVp':'redis_get_error'};try{const _0x2f7957=redisClient['getClient'](),_0x1a1d1a=''+this[_0x1edf61(0x9f)]+_0x3eb809,_0x597949=await _0x2f7957[_0x1edf61(0x92)](_0x1a1d1a);return _0x597949?JSON['parse'](_0x597949):null;}catch(_0x400204){return logger[_0x1edf61(0x9b)]({'event':_0x53783d[_0x1edf61(0x8e)],'jobId':_0x3eb809,'error':_0x400204['message']},'Failed\x20to\x20get\x20job\x20from\x20Redis'),null;}}async[a0_0x2ebb59(0x95)](_0x26d6d2,_0x55c285){const _0x4b88bf=a0_0x2ebb59,_0x24424f=await this[_0x4b88bf(0x91)](_0x26d6d2);if(!_0x24424f)return![];const _0x56aa7c={..._0x24424f,..._0x55c285};return await this[_0x4b88bf(0xaa)](_0x26d6d2,_0x56aa7c);}async[a0_0x2ebb59(0xac)](_0x948abc){const _0x58acce=a0_0x2ebb59,_0x8b1a00={'dLkJx':_0x58acce(0xab)};try{const _0x38bb48=redisClient[_0x58acce(0xa1)](),_0x2b3b3c=''+this[_0x58acce(0x9f)]+_0x948abc;return await _0x38bb48['del'](_0x2b3b3c),!![];}catch(_0x2ef7e4){return logger['error']({'event':_0x58acce(0x90),'jobId':_0x948abc,'error':_0x2ef7e4['message']},_0x8b1a00[_0x58acce(0x8d)]),![];}}async['getAllJobs'](){const _0x56bbf8=a0_0x2ebb59,_0x17ff8a={'mrNWM':_0x56bbf8(0x9c)};try{const _0x35f00e=redisClient['getClient'](),_0x382301=await _0x35f00e[_0x56bbf8(0xa2)](this['prefix']+'*'),_0x33a108=[];for(const _0x2a743c of _0x382301){const _0x5829d8=await _0x35f00e['get'](_0x2a743c);_0x5829d8&&_0x33a108['push'](JSON['parse'](_0x5829d8));}return _0x33a108;}catch(_0x45134e){return logger['error']({'event':'redis_getall_error','error':_0x45134e['message']},_0x17ff8a['mrNWM']),[];}}}module['exports']=new RedisHelper();
|