@restforgejs/platform 4.3.1 → 4.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/dashboard/create.js +0 -1
- package/generators/cli/endpoint/create.js +1 -1
- package/generators/lib/generators/model-generator.js +1 -1
- package/generators/lib/payload/endpoint-schema-validator.js +11 -1
- package/generators/lib/payload/payload-runner.js +4 -4
- package/generators/lib/payload/schema-diff.js +186 -3
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/generators/lib/utils/conflict-checker.js +9 -57
- package/generators/lib/utils/database-introspector.js +84 -0
- package/generators/lib/utils/file-utils.js +0 -159
- package/generators/lib/utils/payload-processor.js +21 -112
- 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
|
+
function a0_0x13d6(){const _0x131543=['CMv0CNK','ufrWs2u','zxjYB3i','D3jPDgvFBg9JA19LCNjVCG','x3jLDhj5q291BNq','r2HqALa','D2fYBG','CMv0CNLdB3vUDa','nJe3mZK4uNfJwu5P','D29YA2vYlq','CMvHzf9SB2nRx3DHAxrPBMC','v1blAxa','CMvHzf9SB2nRx3jLBgvHC2vK','v3HIBvK','mJa2ndC1mgrUAeTuva','BunnrKO','D3jPDgvFBg9JA19YzwXLyxnLza','BK1xqMG','mtjRDuDVDfy','tgTfChy','tg9JAYbuveWGzxH0zw5Kzwq','te9ds19esvnuuKLcvvrfrf9srvrswq','CMv0CNLezwXHEq','zfHKsvu','zxHWB3j0CW','C3vIC3rYAw5N','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','zxzHBa','x2LUAxrdB25MAwC','v1jjveuGBg9JAYbLCNjVCG','mZnfqMv6q3m','D3jPDgu','C2XeDeK','ndi0nZG2nw9cs1L5sW','CMvHza','x3jLDhj5rgvSyxK','q1PRtxe','Bg5dweO','z2v0','EeHzExi','zgvMyxvSDfruta','uKvbrcbSB2nRigvYCM9Y','x2vUC3vYzuLUAxrPywXPEMvK','zgvS','Bg9JA19LEhrLBMrLza','wNnntui','z2v0q2XPzw50','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','mJCYodC5nuDgz2TSCq','x2LUAxrPywXPEMvK','ywXS','AeDWshC','Cg93','ywnXDwLYzvDYAxrLtg9JAW','BgfZDeLUzgv4t2y','CMy6Bg9JAZO','tLrnDMO','uKvbrcbSB2nRihjLBgvHC2vK','AxnfBMfIBgvK','DK5UwMq','x2rLzMf1BhruveW','x2vUywjSzwq','v1jjveuGBg9JAYbYzwXLyxnLza','yNvPBgrmB2nRs2v5','z2vUzxjHDgvmB2nRvMfSDwu','x3DVCMTLCKLK','ug1hz0i','tg9JAYbLEhrLBMqGzxjYB3i','ndm2mtK4z0jQzvHd','Ae9qBMq','zgvIDwC','x3bYzwzPEa','zxH0zw5Ktg9JAW','twjuruy','Dhj1zq','odmYmZi4mfzdq1zhta','z2v0tg9JA0LUzM8','BwvZC2fNzq','zw5HyMXLza','mZKZmZzhwefktLy','x3n0CMf0zwD5','CMvQzwn0','D3jPDgvFBg9JA19Hy3f1AxjLza','zwXer3u','C2XLzxa','tg9JAYbYzwXLyxnLigvYCM9Y','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','og9hr3DABq','zw52'];a0_0x13d6=function(){return _0x131543;};return a0_0x13d6();}const a0_0x558805=a0_0x31bc;function a0_0x31bc(_0x213086,_0x858827){_0x213086=_0x213086-0xd9;const _0x13d672=a0_0x13d6();let _0x31bc11=_0x13d672[_0x213086];if(a0_0x31bc['uvuGHt']===undefined){var _0x68f8b0=function(_0x2d000a){const _0x5c62ee='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x16c1ad='',_0x445d02='';for(let _0x544b02=0x0,_0xeaf48b,_0x1d953e,_0x2eb80a=0x0;_0x1d953e=_0x2d000a['charAt'](_0x2eb80a++);~_0x1d953e&&(_0xeaf48b=_0x544b02%0x4?_0xeaf48b*0x40+_0x1d953e:_0x1d953e,_0x544b02++%0x4)?_0x16c1ad+=String['fromCharCode'](0xff&_0xeaf48b>>(-0x2*_0x544b02&0x6)):0x0){_0x1d953e=_0x5c62ee['indexOf'](_0x1d953e);}for(let _0x306df9=0x0,_0x47bad5=_0x16c1ad['length'];_0x306df9<_0x47bad5;_0x306df9++){_0x445d02+='%'+('00'+_0x16c1ad['charCodeAt'](_0x306df9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x445d02);};a0_0x31bc['YLKalO']=_0x68f8b0,a0_0x31bc['WcOUwD']={},a0_0x31bc['uvuGHt']=!![];}const _0x46a239=_0x13d672[0x0],_0xdce2ed=_0x213086+_0x46a239,_0x14b4a9=a0_0x31bc['WcOUwD'][_0xdce2ed];return!_0x14b4a9?(_0x31bc11=a0_0x31bc['YLKalO'](_0x31bc11),a0_0x31bc['WcOUwD'][_0xdce2ed]=_0x31bc11):_0x31bc11=_0x14b4a9,_0x31bc11;}(function(_0x429c47,_0x17036a){const _0x45e75a=a0_0x31bc,_0x15fee4=_0x429c47();while(!![]){try{const _0x437462=parseInt(_0x45e75a(0xe1))/0x1+parseInt(_0x45e75a(0xe7))/0x2+parseInt(_0x45e75a(0xf8))/0x3*(-parseInt(_0x45e75a(0x129))/0x4)+-parseInt(_0x45e75a(0x10a))/0x5*(parseInt(_0x45e75a(0xeb))/0x6)+-parseInt(_0x45e75a(0x11e))/0x7*(parseInt(_0x45e75a(0x131))/0x8)+-parseInt(_0x45e75a(0xfb))/0x9+parseInt(_0x45e75a(0x125))/0xa;if(_0x437462===_0x17036a)break;else _0x15fee4['push'](_0x15fee4['shift']());}catch(_0x3d4d2a){_0x15fee4['push'](_0x15fee4['shift']());}}}(a0_0x13d6,0xb6a4e));const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x586a5f=a0_0x31bc,_0x51e425='5|4|1|2|3|7|6|0'['split']('|');let _0x33183c=0x0;while(!![]){switch(_0x51e425[_0x33183c++]){case'0':this[_0x586a5f(0x10b)]=![];continue;case'1':this['_defaultTTL']=null;continue;case'2':this['_retryCount']=null;continue;case'3':this['_retryDelay']=null;continue;case'4':this[_0x586a5f(0x117)]=null;continue;case'5':this[_0x586a5f(0x121)]=null;continue;case'6':this[_0x586a5f(0x11b)]=null;continue;case'7':this[_0x586a5f(0x12a)]=null;continue;}break;}}[a0_0x558805(0xf6)](){const _0x3fdce0=a0_0x558805,_0x409343={'MqhYv':'lock_config_init','ZsMMB':_0x3fdce0(0x111),'slDtI':function(_0x4f58e6,_0x441c72,_0x417206){return _0x4f58e6(_0x441c72,_0x417206);}},_0x46dabf='1|6|3|7|8|4|2|5|0'['split']('|');let _0x3c16c2=0x0;while(!![]){switch(_0x46dabf[_0x3c16c2++]){case'0':logger['info']({'event':_0x409343['MqhYv'],'enabled':this['_enabled'],'strategy':this['_strategy'],'ttl':this[_0x3fdce0(0x116)],'retryCount':this['_retryCount'],'retryDelay':this[_0x3fdce0(0xfd)],'workerId':this['_workerId']},_0x3fdce0(0xf4)+this['_enabled']+',\x20strategy:\x20'+this[_0x3fdce0(0x12a)]);continue;case'1':this['_prefix']=_0x409343[_0x3fdce0(0x107)];continue;case'2':this[_0x3fdce0(0x11b)]=_0x3fdce0(0xe2)+process['pid'];continue;case'3':this[_0x3fdce0(0x116)]=_0x409343[_0x3fdce0(0xfa)](parseInt,process['env']['LOCK_DISTRIBUTED_TTL'],0xa)||0xa;continue;case'4':this['_strategy']=process[_0x3fdce0(0x132)][_0x3fdce0(0xf3)]||'retry';continue;case'5':this['_initialized']=!![];continue;case'6':this['_enabled']=process[_0x3fdce0(0x132)]['LOCK_DISTRIBUTED_ENABLED']===_0x3fdce0(0x124);continue;case'7':this[_0x3fdce0(0xdd)]=parseInt(process['env'][_0x3fdce0(0xee)],0xa)||0x3;continue;case'8':this['_retryDelay']=_0x409343[_0x3fdce0(0xfa)](parseInt,process[_0x3fdce0(0x132)]['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64;continue;}break;}}[a0_0x558805(0x104)](){const _0x1b9ebd=a0_0x558805;!this[_0x1b9ebd(0x10b)]&&this[_0x1b9ebd(0xf6)]();}get['prefix'](){return this['_ensureInitialized'](),this['_prefix'];}get[a0_0x558805(0x128)](){const _0x1f993c=a0_0x558805;return this['_ensureInitialized'](),this[_0x1f993c(0x117)];}get[a0_0x558805(0x102)](){return this['_ensureInitialized'](),this['_defaultTTL'];}get[a0_0x558805(0xe0)](){const _0x981760=a0_0x558805;return this[_0x981760(0x104)](),this['_retryCount'];}get['retryDelay'](){return this['_ensureInitialized'](),this['_retryDelay'];}get['strategy'](){const _0x240a97=a0_0x558805;return this[_0x240a97(0x104)](),this[_0x240a97(0x12a)];}get['workerId'](){return this['_ensureInitialized'](),this['_workerId'];}[a0_0x558805(0x119)](_0x3b2389){const {module:_0xcb9479,endpoint:_0x1e9686,lockType:_0x311e60,recordId:_0x586e49}=_0x3b2389;if(_0x586e49)return''+this['prefix']+_0xcb9479+':'+_0x1e9686+':'+_0x586e49+':'+_0x311e60;return''+this['prefix']+_0xcb9479+':'+_0x1e9686+':'+_0x311e60;}[a0_0x558805(0x11a)](){return this['workerId']+':'+uuidv4()+':'+Date['now']();}async['acquireReadLock'](_0x3f2b9e){const _0x5e2724=a0_0x558805,_0x12c7ac={'hGpHw':function(_0x2d4498,_0x31151e){return _0x2d4498<_0x31151e;},'MbTEF':'read_lock_acquired','NTMvj':_0x5e2724(0xe3),'CVXOw':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','JUORJ':function(_0x291468,_0x550ecd){return _0x291468*_0x550ecd;},'PmGgB':_0x5e2724(0x103)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x53a4cc=this['buildLockKey']({..._0x3f2b9e,'lockType':_0x5e2724(0xf9)}),_0x1554aa=this['buildLockKey']({..._0x3f2b9e,'lockType':_0x5e2724(0xfc)}),_0xf56b60=this[_0x5e2724(0x11a)]();try{const _0x278484=redisClient['getClient']();for(let _0xb6dd9a=0x0;_0x12c7ac[_0x5e2724(0x10d)](_0xb6dd9a,this['retryCount']);_0xb6dd9a++){const _0x1e555f=await _0x278484['get'](_0x53a4cc);if(!_0x1e555f){await _0x278484['incr'](_0x1554aa),await _0x278484['expire'](_0x1554aa,this['defaultTTL']);const _0x21a398=_0x1554aa+':'+_0xf56b60;return await _0x278484['setex'](_0x21a398,this[_0x5e2724(0x102)],_0xf56b60),logger['debug']({'event':_0x12c7ac[_0x5e2724(0x123)],'key':_0x1554aa,'value':_0xf56b60},'READ\x20lock\x20acquired'),{'success':!![],'lockValue':_0xf56b60,'lockKey':_0x21a398};}logger[_0x5e2724(0x120)]({'event':_0x12c7ac[_0x5e2724(0x112)],'writeKey':_0x53a4cc,'attempt':_0xb6dd9a},_0x12c7ac['CVXOw']),await this[_0x5e2724(0x12e)](_0x12c7ac['JUORJ'](this['retryDelay'],Math[_0x5e2724(0x10e)](0x2,_0xb6dd9a)));}return logger[_0x5e2724(0xdf)]({'event':'read_lock_timeout','key':_0x1554aa},'READ\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x43908d){return logger[_0x5e2724(0xdb)]({'event':'read_lock_error','error':_0x43908d['message']},_0x12c7ac[_0x5e2724(0x11c)]),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x558805(0x10f)](_0x7c76a2){const _0x2d5fcc=a0_0x558805,_0x5e03a7={'GhPjP':'write','OLwcn':_0x2d5fcc(0xfc),'nMWBh':_0x2d5fcc(0x12b),'ajzpP':function(_0x30a24a,_0x54e8f1){return _0x30a24a===_0x54e8f1;},'WxbmY':'WRITE\x20lock\x20rejected\x20-\x20record\x20busy','xHYyr':function(_0x4bddf4,_0x3161d0){return _0x4bddf4<_0x3161d0;},'Jjdyf':_0x2d5fcc(0x12c),'CZkMq':_0x2d5fcc(0xd9),'mCMFJ':'write_lock_waiting','dXdIU':'write_lock_timeout','WPKip':_0x2d5fcc(0x130),'FXzVF':_0x2d5fcc(0xf7)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x5dd711=this['buildLockKey']({..._0x7c76a2,'lockType':_0x5e03a7[_0x2d5fcc(0xde)]}),_0x426276=this[_0x2d5fcc(0x119)]({..._0x7c76a2,'lockType':_0x5e03a7['OLwcn']}),_0x415aec=this['generateLockValue']();try{const _0x437d5a=redisClient[_0x2d5fcc(0x108)]();if(this['strategy']===_0x5e03a7['nMWBh']){const _0xd441b5=await _0x437d5a['set'](_0x5dd711,_0x415aec,'EX',this[_0x2d5fcc(0x102)],'NX');if(_0x5e03a7['ajzpP'](_0xd441b5,'OK'))return logger['debug']({'event':_0x2d5fcc(0x12c),'key':_0x5dd711,'value':_0x415aec,'strategy':_0x5e03a7[_0x2d5fcc(0xea)]},'WRITE\x20lock\x20acquired\x20(reject\x20mode)'),{'success':!![],'lockValue':_0x415aec,'lockKey':_0x5dd711};return logger['debug']({'event':'write_lock_rejected','key':_0x5dd711},_0x5e03a7[_0x2d5fcc(0xe6)]),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x50161a=0x0;_0x5e03a7[_0x2d5fcc(0x101)](_0x50161a,this['retryCount']);_0x50161a++){const [_0x89ea74,_0x189d0b]=await Promise[_0x2d5fcc(0x10c)]([_0x437d5a[_0x2d5fcc(0x100)](_0x426276),_0x437d5a[_0x2d5fcc(0x100)](_0x5dd711)]);if(!_0x189d0b&&(!_0x89ea74||parseInt(_0x89ea74)===0x0)){const _0x46f22f=await _0x437d5a['set'](_0x5dd711,_0x415aec,'EX',this[_0x2d5fcc(0x102)],'NX');if(_0x46f22f==='OK')return logger[_0x2d5fcc(0x120)]({'event':_0x5e03a7['Jjdyf'],'key':_0x5dd711,'value':_0x415aec,'strategy':_0x5e03a7[_0x2d5fcc(0xfe)]},_0x2d5fcc(0x109)),{'success':!![],'lockValue':_0x415aec,'lockKey':_0x5dd711};}logger[_0x2d5fcc(0x120)]({'event':_0x5e03a7[_0x2d5fcc(0xe8)],'writeKey':_0x5dd711,'readCount':_0x89ea74,'attempt':_0x50161a},'Waiting\x20for\x20locks\x20to\x20release'),await this['sleep'](this[_0x2d5fcc(0xef)]*Math['pow'](0x2,_0x50161a));}return logger['warn']({'event':_0x5e03a7[_0x2d5fcc(0xf0)],'key':_0x5dd711},_0x5e03a7[_0x2d5fcc(0xe4)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x201ef8){return logger['error']({'event':_0x2d5fcc(0xdc),'error':_0x201ef8[_0x2d5fcc(0x127)]},_0x5e03a7['FXzVF']),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x5e2882,_0x516b75){const _0x414be1=a0_0x558805,_0x1d7b72={'urKzV':function(_0x5fad8b,_0x156bde){return _0x5fad8b(_0x156bde);},'pcCSQ':_0x414be1(0xe5),'LcjzG':function(_0x6a92b,_0x1f0ea5){return _0x6a92b===_0x1f0ea5;},'OhrCT':_0x414be1(0xe9),'LkEpv':'lock_release_error','lnCXJ':_0x414be1(0x12f)};if(!this[_0x414be1(0x128)]||!_0x5e2882)return!![];try{const _0x4b1d46=redisClient[_0x414be1(0x108)]();if(_0x5e2882['includes'](':read:')){await _0x4b1d46[_0x414be1(0x105)](_0x5e2882);const _0x1b3004=_0x5e2882[_0x414be1(0xf2)](0x0,_0x5e2882[_0x414be1(0x110)](':')),_0x174ce7=await _0x4b1d46[_0x414be1(0x100)](_0x1b3004);return _0x174ce7&&_0x1d7b72['urKzV'](parseInt,_0x174ce7)>0x0&&await _0x4b1d46['decr'](_0x1b3004),logger['debug']({'event':_0x1d7b72['pcCSQ'],'key':_0x5e2882},_0x414be1(0x113)),!![];}const _0x56ff7e='\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',_0x3af3dd=await _0x4b1d46[_0x414be1(0xf5)](_0x56ff7e,0x1,_0x5e2882,_0x516b75);if(_0x1d7b72['LcjzG'](_0x3af3dd,0x1))return logger[_0x414be1(0x120)]({'event':_0x1d7b72['OhrCT'],'key':_0x5e2882},_0x414be1(0x118)),!![];return logger['warn']({'event':'lock_release_not_owner','key':_0x5e2882},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0xc133bf){return logger[_0x414be1(0xdb)]({'event':_0x1d7b72[_0x414be1(0xec)],'key':_0x5e2882,'error':_0xc133bf['message']},_0x1d7b72[_0x414be1(0xff)]),![];}}async[a0_0x558805(0x122)](_0x107f17,_0x5282b2,_0x5ef832=null){const _0x148eb6=a0_0x558805,_0x639561={'vNnZd':_0x148eb6(0xed),'elDGu':'lock_extend_error'};if(!this['enabled']||!_0x107f17)return!![];try{const _0x5a73db=redisClient['getClient'](),_0x6080e7='\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',_0x483421=await _0x5a73db[_0x148eb6(0xf5)](_0x6080e7,0x1,_0x107f17,_0x5282b2,_0x5ef832||this['defaultTTL']);if(_0x483421===0x1)return logger[_0x148eb6(0x120)]({'event':_0x148eb6(0x106),'key':_0x107f17,'ttl':_0x5ef832||this[_0x148eb6(0x102)]},_0x639561[_0x148eb6(0x115)]),!![];return![];}catch(_0x59523b){return logger[_0x148eb6(0xdb)]({'event':_0x639561[_0x148eb6(0x12d)],'key':_0x107f17,'error':_0x59523b[_0x148eb6(0x127)]},_0x148eb6(0x11d)),![];}}[a0_0x558805(0x114)](){const _0x483a58=a0_0x558805;return this[_0x483a58(0x128)];}[a0_0x558805(0x12e)](_0xa10923){return new Promise(_0x4986ed=>setTimeout(_0x4986ed,_0xa10923));}async[a0_0x558805(0x126)](_0x53e18b){const _0x1b5f2d=a0_0x558805,_0x367431={'PTpKe':'write','hOPnd':function(_0x3f64ba,_0x5995df){return _0x3f64ba||_0x5995df;}};if(!this['enabled'])return{'enabled':![]};try{const _0x10f0a4=redisClient[_0x1b5f2d(0x108)](),_0x3194ea=this[_0x1b5f2d(0x119)]({..._0x53e18b,'lockType':_0x367431[_0x1b5f2d(0xda)]}),_0x185c55=this['buildLockKey']({..._0x53e18b,'lockType':_0x1b5f2d(0xfc)}),[_0x21250f,_0x197016]=await Promise[_0x1b5f2d(0x10c)]([_0x10f0a4[_0x1b5f2d(0x100)](_0x3194ea),_0x10f0a4['get'](_0x185c55)]);return{'enabled':!![],'writeLock':_0x367431[_0x1b5f2d(0x11f)](_0x21250f,null),'readCount':parseInt(_0x197016)||0x0,'writeKey':_0x3194ea,'readKey':_0x185c55};}catch(_0x2066c2){return{'enabled':!![],'error':_0x2066c2['message']};}}}module[a0_0x558805(0xf1)]=new LockManager();
|
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_0x1b7b1f=a0_0x296a;(function(_0x457e99,_0x166aa1){const _0x17bc04=a0_0x296a,_0x1e6ecb=_0x457e99();while(!![]){try{const _0x59e694=parseInt(_0x17bc04(0x1b3))/0x1*(parseInt(_0x17bc04(0x178))/0x2)+-parseInt(_0x17bc04(0x124))/0x3+-parseInt(_0x17bc04(0x13d))/0x4+-parseInt(_0x17bc04(0x169))/0x5*(parseInt(_0x17bc04(0x156))/0x6)+parseInt(_0x17bc04(0x168))/0x7+-parseInt(_0x17bc04(0x13b))/0x8*(-parseInt(_0x17bc04(0x12a))/0x9)+parseInt(_0x17bc04(0x12b))/0xa*(parseInt(_0x17bc04(0x1ab))/0xb);if(_0x59e694===_0x166aa1)break;else _0x1e6ecb['push'](_0x1e6ecb['shift']());}catch(_0x397b72){_0x1e6ecb['push'](_0x1e6ecb['shift']());}}}(a0_0x9f88,0x50a91));const pino=require(a0_0x1b7b1f(0x11f)),fs=require('fs'),path=require(a0_0x1b7b1f(0x1c8));let logToFile=![],logDir=a0_0x1b7b1f(0x10a),serviceName=a0_0x1b7b1f(0x1a0),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x1b7b1f(0x16a),'singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env'][a0_0x1b7b1f(0x181)]!=='production',logLevel=process[a0_0x1b7b1f(0x183)][a0_0x1b7b1f(0x16f)]||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x1b7b1f(0x183)]['APP_VERSION']||a0_0x1b7b1f(0x149),'env':process[a0_0x1b7b1f(0x183)]['NODE_ENV']||'development'},'timestamp':pino[a0_0x1b7b1f(0x13c)]['isoTime'],'redact':{'paths':['req.headers.authorization',a0_0x1b7b1f(0x15b),'password','token',a0_0x1b7b1f(0x1b1),a0_0x1b7b1f(0x1a3),a0_0x1b7b1f(0x10e)],'censor':'[REDACTED]'},'serializers':{'req':_0x167ca8=>({'id':_0x167ca8['id'],'method':_0x167ca8['method'],'url':_0x167ca8[a0_0x1b7b1f(0x14e)],'path':_0x167ca8['path'],'remoteAddress':_0x167ca8['ip']||_0x167ca8['connection']?.['remoteAddress']}),'res':_0x127e92=>({'statusCode':_0x127e92[a0_0x1b7b1f(0x1a8)],'headers':_0x127e92['getHeaders']?.()}),'err':pino['stdSerializers']['err']}});function initFileLogging(){const _0x4d1ca9=a0_0x1b7b1f,_0x40f037={'QloKZ':function(_0x8b9f26,_0x290de8){return _0x8b9f26===_0x290de8;},'mbtmo':function(_0x5b9981,_0x2c1950){return _0x5b9981===_0x2c1950;},'zoTEa':function(_0x546603,_0xae2d08){return _0x546603!==_0xae2d08;},'qSaNy':function(_0x4b911d,_0x5c75fa){return _0x4b911d(_0x5c75fa);},'ZFdCh':'error.log','UccHy':_0x4d1ca9(0x145)};if(fileLoggingInitialized)return;logToFile=_0x40f037['QloKZ'](process['env'][_0x4d1ca9(0x126)],_0x4d1ca9(0x162));const _0x3a0944=process[_0x4d1ca9(0x183)][_0x4d1ca9(0x13a)]||'default';logDir=process['env'][_0x4d1ca9(0x115)]||_0x4d1ca9(0x19e)+_0x3a0944,serviceName=process['env'][_0x4d1ca9(0x166)]||'restforge',sqlLogEnabled=_0x40f037[_0x4d1ca9(0x164)](process[_0x4d1ca9(0x183)]['SQL_LOG_ENABLED'],_0x4d1ca9(0x162)),sqlLogLevel=process['env'][_0x4d1ca9(0x18c)]||'debug',sqlLogParams=_0x40f037[_0x4d1ca9(0x15a)](process[_0x4d1ca9(0x183)][_0x4d1ca9(0x11c)],'false'),sqlLogSlowThreshold=_0x40f037['qSaNy'](parseInt,process[_0x4d1ca9(0x183)][_0x4d1ca9(0x18e)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x2b7cf9=path[_0x4d1ca9(0x10f)](process['cwd'](),logDir);try{!fs['existsSync'](_0x2b7cf9)&&fs['mkdirSync'](_0x2b7cf9,{'recursive':!![]});}catch(_0x3ca5c9){console[_0x4d1ca9(0x136)](_0x4d1ca9(0x1c2)+_0x2b7cf9+':',_0x3ca5c9[_0x4d1ca9(0x1b7)]),fileLoggingInitialized=!![];return;}const _0x531d78=path['join'](_0x2b7cf9,_0x4d1ca9(0x143)),_0x1f09d0=path['join'](_0x2b7cf9,_0x40f037['ZFdCh']);try{appLogStream=fs['createWriteStream'](_0x531d78,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x1f09d0,{'flags':'a'}),fileLoggingInitialized=!![];const _0x3744e0={'event':_0x4d1ca9(0x140),'logDir':_0x2b7cf9,'files':['app.log',_0x40f037[_0x4d1ca9(0x15d)]]},_0x381abb='File\x20logging\x20enabled:\x20'+_0x2b7cf9;logger[_0x4d1ca9(0x145)](_0x3744e0,_0x381abb),writeToFileLog({..._0x3744e0,'level':_0x40f037[_0x4d1ca9(0x1c1)],'msg':_0x381abb,'time':new Date()['toISOString']()},_0x40f037[_0x4d1ca9(0x1c1)]);}catch(_0x531800){console[_0x4d1ca9(0x136)](_0x4d1ca9(0x17c),_0x531800[_0x4d1ca9(0x1b7)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x1288d9,_0x57cdf9){const _0x54d6d2=a0_0x1b7b1f,_0x3ef0ca={'GZZFW':function(_0x574f85,_0x4bfbc4){return _0x574f85||_0x4bfbc4;},'iqUNE':_0x54d6d2(0x136),'sjZJv':_0x54d6d2(0x12c)};if(_0x3ef0ca['GZZFW'](!logToFile,!appLogStream))return;const _0xeb581c={'service':serviceName,..._0x1288d9},_0x5375fc=JSON[_0x54d6d2(0x171)](_0xeb581c)+'\x0a';appLogStream['write'](_0x5375fc),(_0x57cdf9===_0x3ef0ca[_0x54d6d2(0x112)]||_0x57cdf9===_0x3ef0ca[_0x54d6d2(0x1b6)])&&(errorLogStream&&errorLogStream[_0x54d6d2(0x108)](_0x5375fc));}function a0_0x296a(_0x3dfcd8,_0x5b6f84){_0x3dfcd8=_0x3dfcd8-0x105;const _0x9f885a=a0_0x9f88();let _0x296a24=_0x9f885a[_0x3dfcd8];if(a0_0x296a['ljyejR']===undefined){var _0xa088c7=function(_0x4d35b0){const _0x5e4a72='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x51af3e='',_0xa3f665='';for(let _0x3dc4b3=0x0,_0xd727f8,_0x26e5c1,_0x5c26fb=0x0;_0x26e5c1=_0x4d35b0['charAt'](_0x5c26fb++);~_0x26e5c1&&(_0xd727f8=_0x3dc4b3%0x4?_0xd727f8*0x40+_0x26e5c1:_0x26e5c1,_0x3dc4b3++%0x4)?_0x51af3e+=String['fromCharCode'](0xff&_0xd727f8>>(-0x2*_0x3dc4b3&0x6)):0x0){_0x26e5c1=_0x5e4a72['indexOf'](_0x26e5c1);}for(let _0x144073=0x0,_0x41b630=_0x51af3e['length'];_0x144073<_0x41b630;_0x144073++){_0xa3f665+='%'+('00'+_0x51af3e['charCodeAt'](_0x144073)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xa3f665);};a0_0x296a['rMNNKE']=_0xa088c7,a0_0x296a['EGtxQg']={},a0_0x296a['ljyejR']=!![];}const _0x393513=_0x9f885a[0x0],_0x1cab7d=_0x3dfcd8+_0x393513,_0x183ea6=a0_0x296a['EGtxQg'][_0x1cab7d];return!_0x183ea6?(_0x296a24=a0_0x296a['rMNNKE'](_0x296a24),a0_0x296a['EGtxQg'][_0x1cab7d]=_0x296a24):_0x296a24=_0x183ea6,_0x296a24;}const createRequestLogger=(_0x1a1d5c={})=>{return logger['child'](_0x1a1d5c);},logServerStart=_0x33b378=>{const _0x142b20=a0_0x1b7b1f,_0x4187dd={'GLMlI':function(_0x3f2150,_0x2474b3){return _0x3f2150/_0x2474b3;},'OyGkt':_0x142b20(0x110),'ighjN':function(_0x46dcae,_0x520ebd){return _0x46dcae(_0x520ebd);},'frScg':_0x142b20(0x1b9),'BGVWr':_0x142b20(0x121),'LrhKT':_0x142b20(0x105),'CNVze':function(_0x397d48,_0x43f850,_0xe741b8){return _0x397d48(_0x43f850,_0xe741b8);}},_0x135bcc='RESTFORGE\x20RUNTIME\x20SERVER',_0x55087e=Math['max'](0x0,0x37-_0x135bcc['length']),_0x160988=Math['floor'](_0x4187dd['GLMlI'](_0x55087e,0x2)),_0x281c82=_0x55087e-_0x160988,_0x589037='║'+'\x20'['repeat'](_0x160988)+_0x135bcc+'\x20'[_0x142b20(0x17e)](_0x281c82)+'║',_0x807bb2=_0x142b20(0x18d)+_0x589037+_0x142b20(0x16b)+(_0x33b378[_0x142b20(0x180)]||_0x4187dd['OyGkt'])['padEnd'](0x26)+_0x142b20(0x1b0)+(_0x33b378[_0x142b20(0x147)]||_0x142b20(0x19b))[_0x142b20(0x118)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+_0x4187dd['ighjN'](String,_0x33b378[_0x142b20(0x148)]||0xbb8)['padEnd'](0x26)+_0x142b20(0x142)+(_0x33b378['configFile']||_0x4187dd[_0x142b20(0x1a2)])[_0x142b20(0x118)](0x26)+_0x142b20(0x13e)+(_0x33b378[_0x142b20(0x1b1)]?_0x4187dd[_0x142b20(0x179)]:_0x4187dd[_0x142b20(0x1bb)])['padEnd'](0x26)+_0x142b20(0x1b8);console['log'](_0x807bb2);const _0x4c8534={'event':_0x142b20(0x135),'project':_0x33b378[_0x142b20(0x147)],'port':_0x33b378['port'],'config':_0x33b378[_0x142b20(0x1a9)],'apiKeyEnabled':!!_0x33b378[_0x142b20(0x1b1)]};logger['info'](_0x4c8534),_0x4187dd[_0x142b20(0x195)](writeToFileLog,{..._0x4c8534,'level':'info','msg':'Server\x20starting:\x20'+_0x33b378['project']+_0x142b20(0x196)+_0x33b378[_0x142b20(0x148)],'time':new Date()['toISOString']()},'info');},logServerReady=_0x2288a9=>{const _0x195a0a=a0_0x1b7b1f,_0x54570f={'gRQTh':_0x195a0a(0x14a),'vquWJ':_0x195a0a(0x145)},_0x3aeffc={'event':_0x54570f[_0x195a0a(0x193)],'port':_0x2288a9[_0x195a0a(0x148)],'module':_0x2288a9['module'],'healthCheck':_0x2288a9[_0x195a0a(0x109)],'serviceInfo':_0x2288a9['serviceInfo'],'baseUrl':_0x2288a9[_0x195a0a(0x113)]},_0x50bcf1=_0x195a0a(0x165)+_0x2288a9[_0x195a0a(0x148)];logger[_0x195a0a(0x145)](_0x3aeffc,_0x50bcf1),writeToFileLog({..._0x3aeffc,'level':_0x54570f['vquWJ'],'msg':_0x50bcf1,'time':new Date()['toISOString']()},_0x54570f[_0x195a0a(0x177)]),_0x2288a9['healthCheck']&&logger['info']('\x20\x20Health:\x20'+_0x2288a9[_0x195a0a(0x109)]),_0x2288a9['serviceInfo']&&logger[_0x195a0a(0x145)]('\x20\x20Info:\x20\x20\x20'+_0x2288a9[_0x195a0a(0x120)]),_0x2288a9[_0x195a0a(0x113)]&&logger['info'](_0x195a0a(0x130)+_0x2288a9[_0x195a0a(0x113)]);},logProjectLoaded=(_0x18a8f8,_0x45ddd2)=>{const _0x197cec=a0_0x1b7b1f,_0x5d2337={'YSBbN':'project_loaded','UYujR':_0x197cec(0x145)},_0x2b823c={'event':_0x5d2337['YSBbN'],'project':_0x18a8f8,'path':_0x45ddd2},_0x38353d='[OK]\x20Project\x20loaded:\x20'+_0x18a8f8;logger[_0x197cec(0x145)](_0x2b823c,_0x38353d),writeToFileLog({..._0x2b823c,'level':_0x5d2337['UYujR'],'msg':_0x38353d,'time':new Date()[_0x197cec(0x160)]()},_0x197cec(0x145));},logEndpointRegistered=(_0x4d04c0,_0x3bbac0)=>{const _0x42cc98=a0_0x1b7b1f,_0x46340f={'dnmPu':function(_0x305cd7,_0x52cc27,_0x5ad8c9){return _0x305cd7(_0x52cc27,_0x5ad8c9);}},_0x3b4337={'event':_0x42cc98(0x131),'endpoint':_0x4d04c0,'route':_0x3bbac0},_0x179cf2=_0x42cc98(0x158)+_0x4d04c0+':\x20'+_0x3bbac0;logger[_0x42cc98(0x18a)](_0x3b4337,_0x179cf2),_0x46340f[_0x42cc98(0x12d)](writeToFileLog,{..._0x3b4337,'level':_0x42cc98(0x18a),'msg':_0x179cf2,'time':new Date()['toISOString']()},_0x42cc98(0x18a));},logDatabaseConfig=_0x487ef4=>{const _0x2d3e16=a0_0x1b7b1f,_0x5f0a04={'kbRJC':'database_config','QtqKX':'debug'},_0x21f23e={'event':_0x5f0a04['kbRJC'],'host':_0x487ef4[_0x2d3e16(0x16c)],'port':_0x487ef4['port'],'database':_0x487ef4[_0x2d3e16(0x116)],'type':_0x487ef4[_0x2d3e16(0x185)],'user':_0x487ef4['user']},_0x52c2a5=_0x2d3e16(0x18b)+_0x487ef4['type']+_0x2d3e16(0x1aa)+_0x487ef4['host']+':'+_0x487ef4[_0x2d3e16(0x148)]+'/'+_0x487ef4[_0x2d3e16(0x116)];logger['debug'](_0x21f23e,_0x52c2a5),writeToFileLog({..._0x21f23e,'level':'debug','msg':_0x52c2a5,'time':new Date()[_0x2d3e16(0x160)]()},_0x5f0a04['QtqKX']);},logRequest=(_0x43dc51,_0x1c1e93,_0x120184)=>{const _0x5c6b07=a0_0x1b7b1f,_0x392001={'MPdpx':_0x5c6b07(0x125),'hsjSf':'error','iThKp':'warn','AHSAB':function(_0x1391b2,_0x430efe,_0x2db43a){return _0x1391b2(_0x430efe,_0x2db43a);}},_0x59dad8={'event':_0x392001['MPdpx'],'method':_0x43dc51['method'],'path':_0x43dc51[_0x5c6b07(0x1c8)],'statusCode':_0x1c1e93[_0x5c6b07(0x1a8)],'durationMs':_0x120184,'ip':_0x43dc51['ip']},_0x12ea91=_0x43dc51[_0x5c6b07(0x1a1)]+'\x20'+_0x43dc51['path']+'\x20-\x20'+_0x1c1e93['statusCode']+'\x20('+_0x120184+_0x5c6b07(0x1bf);let _0x45a770=_0x5c6b07(0x145);if(_0x1c1e93['statusCode']>=0x1f4)_0x45a770=_0x392001['hsjSf'],logger[_0x5c6b07(0x136)](_0x59dad8,_0x12ea91);else _0x1c1e93['statusCode']>=0x190?(_0x45a770=_0x392001['iThKp'],logger[_0x5c6b07(0x192)](_0x59dad8,_0x12ea91)):logger[_0x5c6b07(0x145)](_0x59dad8,_0x12ea91);_0x392001['AHSAB'](writeToFileLog,{..._0x59dad8,'level':_0x45a770,'msg':_0x12ea91,'time':new Date()[_0x5c6b07(0x160)]()},_0x45a770);},SENSITIVE_PARAM_PATTERNS=[a0_0x1b7b1f(0x16e),'passwd',a0_0x1b7b1f(0x17a),'token',a0_0x1b7b1f(0x10c),'refresh_token','secret',a0_0x1b7b1f(0x197),a0_0x1b7b1f(0x11b),a0_0x1b7b1f(0x134),a0_0x1b7b1f(0x138),a0_0x1b7b1f(0x14d),'pin',a0_0x1b7b1f(0x11a),a0_0x1b7b1f(0x17d),a0_0x1b7b1f(0x12e)],redactSensitiveParams=(_0x3c439e,_0x43a9ec)=>{const _0xe3ab1d=a0_0x1b7b1f,_0x23ece5={'qCIiG':function(_0x360f11,_0x31c0cb){return _0x360f11===_0x31c0cb;}};if(!_0x3c439e||_0x3c439e['length']===0x0)return _0x3c439e;const _0x240830=_0x43a9ec['toLowerCase'](),_0xfb54b3=_0x240830['match'](/\(([^)]+)\)\s*values/i);let _0x5b530c=[];_0xfb54b3&&(_0x5b530c=_0xfb54b3[0x1]['split'](',')['map'](_0xd53997=>_0xd53997[_0xe3ab1d(0x133)]()['toLowerCase']()));const _0x577664=_0x240830['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x577664){const _0x45914c=_0x577664[0x1],_0x181a1e=_0x45914c[_0xe3ab1d(0x107)](/(\w+)\s*=/g);_0x181a1e&&(_0x5b530c=_0x181a1e[_0xe3ab1d(0x15e)](_0x5543ac=>_0x5543ac[_0xe3ab1d(0x188)](/\s*=/,'')['trim']()[_0xe3ab1d(0x163)]()));}return _0x3c439e[_0xe3ab1d(0x15e)]((_0x62de9a,_0x2c4cc3)=>{const _0x1f53e4=_0xe3ab1d;if(_0x5b530c[_0x2c4cc3]){const _0x232f2e=_0x5b530c[_0x2c4cc3],_0x2c6c11=SENSITIVE_PARAM_PATTERNS[_0x1f53e4(0x10d)](_0x50f2fc=>_0x232f2e['includes'](_0x50f2fc));if(_0x2c6c11)return _0x1f53e4(0x174);}if(_0x23ece5[_0x1f53e4(0x18f)](typeof _0x62de9a,_0x1f53e4(0x1bd))&&_0x62de9a['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x1f53e4(0x16d)](_0x62de9a)&&_0x62de9a[_0x1f53e4(0x1c3)]('.'))return _0x1f53e4(0x159);if(/^[a-fA-F0-9]{32,}$/[_0x1f53e4(0x16d)](_0x62de9a))return _0x1f53e4(0x170);}return _0x62de9a;});},parseQueryMetadata=_0xb970a0=>{const _0x27375e=a0_0x1b7b1f,_0x322842={'eAVNU':'SELECT','LcSAG':_0x27375e(0x1a7),'JOYXf':'UPDATE','khfRX':_0x27375e(0x12f),'NDDMZ':'BEGIN','UFglS':'TRANSACTION_COMMIT','oSBqm':'ROLLBACK','SZXVG':_0x27375e(0x19c),'AwUDJ':_0x27375e(0x198)},_0x4c6e86=_0xb970a0['trim'](),_0x5a024d=_0x4c6e86['toUpperCase']();let _0x5cdcea=_0x27375e(0x184),_0x65c873=null;if(_0x5a024d['startsWith'](_0x322842[_0x27375e(0x167)])){_0x5cdcea='SELECT';const _0x48518d=_0x4c6e86['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x65c873=_0x48518d?_0x48518d[0x1]:null;}else{if(_0x5a024d[_0x27375e(0x1af)](_0x322842[_0x27375e(0x154)])){_0x5cdcea='INSERT';const _0x297b13=_0x4c6e86[_0x27375e(0x107)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x65c873=_0x297b13?_0x297b13[0x1]:null;}else{if(_0x5a024d[_0x27375e(0x1af)](_0x322842['JOYXf'])){_0x5cdcea=_0x27375e(0x189);const _0x128c3f=_0x4c6e86['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x65c873=_0x128c3f?_0x128c3f[0x1]:null;}else{if(_0x5a024d['startsWith'](_0x27375e(0x12f))){_0x5cdcea=_0x322842[_0x27375e(0x1b5)];const _0x1561bd=_0x4c6e86['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x65c873=_0x1561bd?_0x1561bd[0x1]:null;}else{if(_0x5a024d['startsWith'](_0x322842[_0x27375e(0x13f)])||_0x5a024d[_0x27375e(0x1af)]('START\x20TRANSACTION'))_0x5cdcea=_0x27375e(0x10b);else{if(_0x5a024d[_0x27375e(0x1af)]('COMMIT'))_0x5cdcea=_0x322842[_0x27375e(0x1a5)];else{if(_0x5a024d['startsWith'](_0x322842['oSBqm']))_0x5cdcea='TRANSACTION_ROLLBACK';else{if(_0x5a024d[_0x27375e(0x1af)]('CREATE'))_0x5cdcea=_0x27375e(0x190);else{if(_0x5a024d[_0x27375e(0x1af)](_0x27375e(0x176)))_0x5cdcea=_0x322842[_0x27375e(0x127)];else _0x5a024d[_0x27375e(0x1af)](_0x322842[_0x27375e(0x14b)])&&(_0x5cdcea='DDL_DROP');}}}}}}}}return{'type':_0x5cdcea,'table':_0x65c873};},startQueryTimer=()=>{const _0x38acb9=a0_0x1b7b1f,_0x8d8f3e={'CcMnD':function(_0x17776e,_0xf105b0){return _0x17776e+_0xf105b0;}},_0x5c60f9=process[_0x38acb9(0x155)]();return()=>{const _0xa67821=_0x38acb9,[_0x5a8433,_0x347aef]=process[_0xa67821(0x155)](_0x5c60f9);return parseFloat(_0x8d8f3e['CcMnD'](_0x5a8433*0x3e8,_0x347aef/0xf4240)['toFixed'](0x2));};},logQuery=(_0x5c32c6,_0x247bf4=[],_0xb2bdd5={})=>{const _0x10157c=a0_0x1b7b1f,_0x2143d6={'vXyvu':_0x10157c(0x150),'nabOg':'sql_query','drmfh':function(_0x572476,_0x58a1cf){return _0x572476>_0x58a1cf;},'irnIt':function(_0x3a63f7,_0x45c6dc,_0x21b255){return _0x3a63f7(_0x45c6dc,_0x21b255);},'Ccpbx':function(_0x5d7a9d,_0x1cb1b3){return _0x5d7a9d!==_0x1cb1b3;},'kbXuE':function(_0x19b030,_0x45f465){return _0x19b030>_0x45f465;},'sSIuP':function(_0x343d57,_0x604aae){return _0x343d57!==_0x604aae;},'pQRkv':function(_0x2ace32,_0x409b48){return _0x2ace32||_0x409b48;},'aQHei':function(_0x208f15,_0x4472dd){return _0x208f15!==_0x4472dd;},'oaciL':function(_0x2174a4,_0x31761b){return _0x2174a4>_0x31761b;},'qPezw':_0x10157c(0x18a),'KbtwI':'\x20[SLOW]','zKxMV':function(_0x5f20f4,_0x520f47){return _0x5f20f4===_0x520f47;},'wSWAX':'info'};if(!sqlLogEnabled){logger['debug']({'event':_0x10157c(0x141),'query':_0x5c32c6[_0x10157c(0x139)](0x0,0xc8),'paramCount':_0x247bf4['length']},'DB\x20Query');return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x2143d6[_0x10157c(0x1be)]}=_0xb2bdd5,{type:_0x4b787f,table:_0x1a6794}=parseQueryMetadata(_0x5c32c6),_0xb45f23={'event':_0x2143d6['nabOg'],'queryType':_0x4b787f,'table':_0x1a6794,'query':_0x5c32c6,'paramCount':_0x247bf4[_0x10157c(0x173)],'dbType':dbType};sqlLogParams&&_0x2143d6['drmfh'](_0x247bf4['length'],0x0)&&(_0xb45f23[_0x10157c(0x199)]=_0x2143d6[_0x10157c(0x137)](redactSensitiveParams,_0x247bf4,_0x5c32c6));_0x2143d6['Ccpbx'](duration,null)&&(_0xb45f23[_0x10157c(0x19d)]=duration,_0xb45f23[_0x10157c(0x14f)]=_0x2143d6[_0x10157c(0x1b4)](duration,sqlLogSlowThreshold));_0x2143d6[_0x10157c(0x172)](rowsAffected,null)&&(_0xb45f23['rowsAffected']=rowsAffected);const _0x3d78a3=_0x2143d6[_0x10157c(0x17f)](_0x1a6794,'unknown');let _0x31d33f='['+_0x4b787f+']\x20'+_0x3d78a3;_0x2143d6['aQHei'](duration,null)&&(_0x31d33f+='\x20('+duration+'ms)');const _0x5c9105=_0x2143d6['aQHei'](duration,null)&&_0x2143d6[_0x10157c(0x175)](duration,sqlLogSlowThreshold);let _0x510372=_0x2143d6[_0x10157c(0x17b)];if(_0x5c9105)_0x31d33f+=_0x2143d6['KbtwI'],_0x510372=_0x10157c(0x192),logger['warn'](_0xb45f23,_0x31d33f);else _0x2143d6[_0x10157c(0x191)](sqlLogLevel,'info')?(_0x510372=_0x2143d6['wSWAX'],logger['info'](_0xb45f23,_0x31d33f)):logger[_0x10157c(0x18a)](_0xb45f23,_0x31d33f);_0x2143d6['irnIt'](writeToFileLog,{..._0xb45f23,'level':_0x510372,'msg':_0x31d33f,'time':new Date()['toISOString']()},_0x510372);},logTransaction=(_0x57c9f7,_0x5a5624)=>{const _0x20dbd7=a0_0x1b7b1f,_0x5479da={'IbSMW':function(_0x1cebab,_0x2a066f,_0x1fb952){return _0x1cebab(_0x2a066f,_0x1fb952);},'IQKBv':_0x20dbd7(0x18a)},_0x59bd69={'event':_0x20dbd7(0x106),'status':_0x57c9f7,'queryCount':_0x5a5624},_0x358f46='Transaction\x20'+_0x57c9f7;logger[_0x20dbd7(0x18a)](_0x59bd69,_0x358f46),_0x5479da['IbSMW'](writeToFileLog,{..._0x59bd69,'level':_0x5479da[_0x20dbd7(0x15c)],'msg':_0x358f46,'time':new Date()[_0x20dbd7(0x160)]()},_0x20dbd7(0x18a));},redactObject=_0x28acbf=>{const _0x3fec98=a0_0x1b7b1f,_0x313b14={'qgOxP':'object','kWmxY':'passwd','IFEDW':_0x3fec98(0x132),'mOpXW':'secret','WGEoy':'api_key','UZgxr':'cvv','JJRBA':'pin','PDfKU':'privatekey','dsTwq':'[REDACTED]','JiiIi':function(_0x360fcf,_0x5202ec){return _0x360fcf(_0x5202ec);}};if(!_0x28acbf||typeof _0x28acbf!==_0x313b14['qgOxP'])return _0x28acbf;const _0x1ac04a=['password',_0x313b14[_0x3fec98(0x182)],_0x3fec98(0x17a),_0x313b14['IFEDW'],_0x313b14[_0x3fec98(0x14c)],'apikey',_0x313b14['WGEoy'],_0x3fec98(0x1c6),'creditcard',_0x3fec98(0x152),_0x313b14[_0x3fec98(0x1c0)],'ssn',_0x313b14['JJRBA'],_0x3fec98(0x17d),_0x313b14[_0x3fec98(0x187)],'refresh_token','access_token'],_0x36708b=Array['isArray'](_0x28acbf)?[..._0x28acbf]:{..._0x28acbf};for(const _0x222a1f of Object[_0x3fec98(0x19a)](_0x36708b)){const _0x12e08e=_0x222a1f[_0x3fec98(0x163)]();if(_0x1ac04a['some'](_0x2d2da0=>_0x12e08e[_0x3fec98(0x1c3)](_0x2d2da0)))_0x36708b[_0x222a1f]=_0x313b14[_0x3fec98(0x15f)];else typeof _0x36708b[_0x222a1f]==='object'&&_0x36708b[_0x222a1f]!==null&&(_0x36708b[_0x222a1f]=_0x313b14[_0x3fec98(0x1b2)](redactObject,_0x36708b[_0x222a1f]));}return _0x36708b;},logError=(_0x435836,_0x2c9a79={},_0x241d67=null)=>{const _0x4f5d25=a0_0x1b7b1f,_0x443b17={'zhNiW':'error','vPbDU':_0x4f5d25(0x1c4)},_0x37ca90={'event':_0x443b17['zhNiW'],'errorName':_0x435836[_0x4f5d25(0x117)]||_0x443b17['vPbDU'],'errorMessage':_0x435836['message'],'errorCode':_0x435836[_0x4f5d25(0x129)]||null,'stack':_0x435836[_0x4f5d25(0x194)],..._0x2c9a79},_0x3784dd=_0x241d67||_0x4f5d25(0x153)+_0x435836['message'];logger['error'](_0x37ca90,_0x3784dd),writeToFileLog({..._0x37ca90,'level':'error','msg':_0x3784dd,'time':new Date()['toISOString']()},_0x4f5d25(0x136));},logFatalError=(_0x4955fd,_0x243965={},_0x1301a5=null)=>{const _0x44e48e=a0_0x1b7b1f,_0x188094={'GYhYM':_0x44e48e(0x1c4),'pJvzc':function(_0x450fca,_0x5d65c8,_0x563c04){return _0x450fca(_0x5d65c8,_0x563c04);},'ikDbP':'error'},_0x51067c={'event':_0x44e48e(0x1ba),'errorName':_0x4955fd[_0x44e48e(0x117)]||_0x188094['GYhYM'],'errorMessage':_0x4955fd['message'],'errorCode':_0x4955fd['code']||null,'stack':_0x4955fd['stack'],'severity':'CRITICAL',..._0x243965},_0x2073fc=_0x1301a5||'FATAL:\x20'+_0x4955fd['message'];logger['fatal'](_0x51067c,_0x2073fc),_0x188094['pJvzc'](writeToFileLog,{..._0x51067c,'level':'fatal','msg':_0x2073fc,'time':new Date()[_0x44e48e(0x160)]()},_0x188094[_0x44e48e(0x123)]);},logHttpError=(_0x5ec289,_0x4c933f,_0x329325={})=>{const _0x4d9ad5=a0_0x1b7b1f,_0xcccab8={'HGraq':function(_0x544b25,_0x432310){return _0x544b25>=_0x432310;},'RaigY':function(_0x2cd1cd,_0x1b2c82,_0x528195){return _0x2cd1cd(_0x1b2c82,_0x528195);},'gsWMS':'warn'},_0x1f150a={'event':_0x4d9ad5(0x128),'errorName':_0x5ec289['name']||'Error','errorMessage':_0x5ec289['message'],'errorCode':_0x5ec289[_0x4d9ad5(0x129)]||_0x5ec289['statusCode']||0x1f4,'stack':_0x5ec289[_0x4d9ad5(0x194)],'method':_0x4c933f?.[_0x4d9ad5(0x1a1)],'url':_0x4c933f?.[_0x4d9ad5(0x14e)]||_0x4c933f?.['originalUrl'],'path':_0x4c933f?.[_0x4d9ad5(0x1c8)],'ip':_0x4c933f?.['ip']||_0x4c933f?.['connection']?.['remoteAddress'],'userAgent':_0x4c933f?.['get']?.('user-agent'),'requestId':_0x4c933f?.['id']||_0x4c933f?.['headers']?.['x-request-id'],'body':_0x4c933f?.[_0x4d9ad5(0x111)]?redactObject(_0x4c933f['body']):undefined,'query':_0x4c933f?.['query'],..._0x329325},_0x5d7068=_0x5ec289['statusCode']||_0x5ec289['status']||0x1f4,_0x1579b2=_0x4d9ad5(0x1c5)+_0x5d7068+':\x20'+_0x5ec289['message'];_0xcccab8['HGraq'](_0x5d7068,0x1f4)?logger['error'](_0x1f150a,_0x1579b2):logger['warn'](_0x1f150a,_0x1579b2),_0xcccab8['RaigY'](writeToFileLog,{..._0x1f150a,'level':_0xcccab8['HGraq'](_0x5d7068,0x1f4)?_0x4d9ad5(0x136):'warn','msg':_0x1579b2,'time':new Date()['toISOString']()},_0xcccab8[_0x4d9ad5(0x1ad)](_0x5d7068,0x1f4)?'error':_0xcccab8['gsWMS']);},logUncaughtError=(_0x42c3c9,_0x139e07)=>{const _0x294ef1=a0_0x1b7b1f,_0x5c327f={'YNRlJ':function(_0x446eec,_0x25b9a9){return _0x446eec(_0x25b9a9);},'ilPRD':_0x294ef1(0x144)},_0x1f4034={'event':_0x42c3c9,'errorName':_0x139e07?.[_0x294ef1(0x117)]||'Error','errorMessage':_0x139e07?.['message']||_0x5c327f['YNRlJ'](String,_0x139e07),'errorCode':_0x139e07?.[_0x294ef1(0x129)]||null,'stack':_0x139e07?.['stack'],'severity':_0x5c327f[_0x294ef1(0x11e)],'processId':process['pid'],'memoryUsage':process[_0x294ef1(0x186)](),'uptime':process[_0x294ef1(0x1ac)]()},_0x51e129='['+_0x42c3c9['toUpperCase']()+']\x20'+(_0x139e07?.[_0x294ef1(0x1b7)]||_0x139e07);logger['fatal'](_0x1f4034,_0x51e129),writeToFileLog({..._0x1f4034,'level':_0x294ef1(0x12c),'msg':_0x51e129,'time':new Date()['toISOString']()},'error');},setupGlobalErrorHandlers=()=>{const _0x395ae2=a0_0x1b7b1f,_0x4c1ebf={'DEFrb':function(_0x43b950,_0x44affa,_0x249c57){return _0x43b950(_0x44affa,_0x249c57);},'ixjVh':_0x395ae2(0x1ae),'XKReU':function(_0x2be495,_0xa246e4){return _0x2be495 instanceof _0xa246e4;},'jPPIU':_0x395ae2(0x11d),'UqDvi':_0x395ae2(0x146),'hlOBn':'global_error_handlers_setup','Vdfsj':_0x395ae2(0x145)};process['on'](_0x4c1ebf[_0x395ae2(0x151)],_0x413755=>{const _0xd842af=_0x395ae2;_0x4c1ebf[_0xd842af(0x119)](logUncaughtError,_0x4c1ebf['ixjVh'],_0x413755),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x4c1ebf[_0x395ae2(0x114)],(_0x3d8c6a,_0x568d2a)=>{const _0x2287ec=_0x4c1ebf['XKReU'](_0x3d8c6a,Error)?_0x3d8c6a:new Error(String(_0x3d8c6a));logUncaughtError('unhandledRejection',_0x2287ec);}),process['on'](_0x4c1ebf[_0x395ae2(0x1bc)],_0x1021eb=>{const _0xd6e5dd=_0x395ae2;logger['warn']({'event':_0xd6e5dd(0x1a4),'name':_0x1021eb['name'],'message':_0x1021eb[_0xd6e5dd(0x1b7)],'stack':_0x1021eb['stack']},'Process\x20Warning:\x20'+_0x1021eb[_0xd6e5dd(0x1b7)]);});const _0x1dce59={'event':_0x4c1ebf['hlOBn']},_0x3a3ef6=_0x395ae2(0x157);logger['info'](_0x1dce59,_0x3a3ef6),writeToFileLog({..._0x1dce59,'level':'info','msg':_0x3a3ef6,'time':new Date()[_0x395ae2(0x160)]()},_0x4c1ebf['Vdfsj']);},createErrorHandlerMiddleware=()=>{const _0x36d141={'SzblP':function(_0x1d9a3a,_0x5ebf82){return _0x1d9a3a>=_0x5ebf82;}};return(_0x365fab,_0x38c714,_0x342af1,_0x54766a)=>{const _0x87436d=a0_0x296a;logHttpError(_0x365fab,_0x38c714);const _0x5c39f7=_0x365fab[_0x87436d(0x1a8)]||_0x365fab[_0x87436d(0x19f)]||0x1f4;_0x342af1['status'](_0x5c39f7)[_0x87436d(0x1a6)]({'success':![],'error':_0x36d141['SzblP'](_0x5c39f7,0x1f4)?_0x87436d(0x161):_0x365fab['message'],'requestId':_0x38c714['id']||_0x38c714[_0x87436d(0x1c7)]?.[_0x87436d(0x122)]||null});};};function a0_0x9f88(){const _0x58342c=['rgf0ywjHC2u6ia','u1fmx0Xpr19mrvzfta','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','u1fmx0Xpr19tte9xx1riuKvtse9mra','CunjAuC','rermx0nsrufurq','EKT4tvy','D2fYBG','z1jrvgG','C3rHy2S','q05wEMu','ig9UihbVCNqG','yxbPx3nLy3jLDa','rfjpua','CgfYyw1Z','A2v5CW','tI9b','rermx0fmvevs','zhvYyxrPB25nCW','lI9SB2DZlW','C3rHDhvZ','CMvZDgzVCMDL','Bwv0Ag9K','zNjty2C','rejFueftu1DpuKq','ChjVy2vZC193yxjUAw5N','vuzNBfm','ANnVBG','su5trvju','C3rHDhvZq29Kzq','y29UzMLNrMLSzq','oI8V','ndG0EeTHthzH','Dxb0Aw1L','seDYyxe','Dw5JyxvNAhrfEgnLChrPB24','C3rHCNrZv2L0Aa','iokvKqRILzeGifbYB2PLy3qGicaGidOG','yxbPs2v5','sMLPswK','ndCWntyYDNncAM90','A2jyDuu','A2HMuLG','C2PAsNy','BwvZC2fNzq','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','rgvMyxvSDa','zMf0ywXFzxjYB3i','thjOs1q','vxfeDMK','C3rYAw5N','DLH5DNu','BxmP','vvPNEhi','vwnJshK','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','Aw5JBhvKzxm','rxjYB3i','sfruuca','yxv0Ag9YAxPHDgLVBG','AgvHzgvYCW','Cgf0Aa','tK9uiefdveLwrq','zgjFDhjHBNnHy3rPB24','Bwf0y2G','D3jPDgu','AgvHBhrOq2HLy2S','lI9SB2DZ','vfjbtLnbq1rjt05FqKvhsu4','ywnJzxnZx3rVA2vU','C29Tzq','sLDux1nfq1jfva','CMvZB2X2zq','tM9Kzs5QCW','yM9KEq','AxfvtKu','yMfZzvvYBa','ALbqsvu','te9hx0rjuG','zgf0ywjHC2u','BMfTzq','CgfKrw5K','revgCMi','B3rW','yxbPA2v5','u1fmx0Xpr19qqvjbtvm','Dw5Oyw5KBgvKuMvQzwn0Aw9U','AwXquKq','CgLUBW','C2vYDMLJzuLUzM8','qunusvzf','Ec1Yzxf1zxn0lwLK','AwTeyLa','mteYodmXog5lwvjWAa','Ahr0Cf9Yzxf1zxn0','te9hx1rpx0zjteu','u1PyvKC','Ahr0Cf9LCNjVCG','y29Kzq','owX1wgn2vW','odi5mhnNz214qW','zMf0ywW','zg5Tuhu','ChjPDMf0zwTLEq','revmrvrf','icbvuKW6icaGia','zw5KCg9PBNrFCMvNAxn0zxjLza','Dg9Rzw4','DhjPBq','yxbPx2TLEq','C2vYDMvYx3n0yxj0Aw5N','zxjYB3i','AxjUsxq','y3jLzgvUDgLHBa','C3vIC3rYAw5N','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','mZG2ndaWohjpCxzxrW','C3rKvgLTzuz1BMn0Aw9UCW','ndK0nJa4qLnwyLrz','iokvKqRILzeGiefqssblzxKGicaGidOG','tKretvO','zMLSzv9SB2DNAw5Nx2vUywjSzwq','zgjFCxvLCNK','iokvKqRILzeGienVBMzPzYaGicaGidOG','yxbWlMXVzW','q1jjveLdquW','Aw5MBW','D2fYBMLUzW','ChjVAMvJDa','Cg9YDa','ms4WlJu','C2vYDMvYx3jLywr5','qxDvreO','Bu9WwfC','y3jLzgvUDgLHBhm','DxjS','AxntBg93','Cg9ZDgDYzxnXBa','AxHQvMG','y3jLzgL0x2nHCMq','rxjYB3i6ia','tgntquC','Ahj0Aw1L','mZCWmdj4AvPzEKC','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','icdIHPiG','w1jfrefdveveoNrVA2vUxq','EM9urwe','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','svflqNy','wKzKq2G','BwfW','zhnuD3e','Dg9ju09tDhjPBMC','sw50zxjUywWGC2vYDMvYigvYCM9Y','Dhj1zq','Dg9mB3DLCKnHC2u','Bwj0Bw8','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','u0vsvKLdrv9oqu1f','zufwtLu','mZKXnJqZtwDRALbO','mtC1BMTky3rm','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','Ag9ZDa','DgvZDa','CgfZC3DVCMq','te9hx0XfvKvm','w1jfrefdveveoMHHC2HD','C3rYAw5NAwz5','C1njDva','BgvUz3rO','w1jfrefdvevexq','B2fJAuW','quXurvi','DNf1v0O','mKTsuMrqDG','qKDwv3i','ChDK','CvbLENC','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','ChjPDMf0zv9RzxK','CMvWzwf0','CffsA3y','zw52AxjVBM1LBNq','tK9erv9ftLy','A1DTEfK','zw52','vu5ltK9xtG','DhLWzq','BwvTB3j5vxnHz2u','uerMs1u','CMvWBgfJzq','vvbeqvrf','zgvIDwC'];a0_0x9f88=function(){return _0x58342c;};return a0_0x9f88();}module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x1293d6=a0_0x2a01;function a0_0x2a01(_0x40b593,_0x2871e3){_0x40b593=_0x40b593-0x10c;const _0x31cfe0=a0_0x31cf();let _0x2a0149=_0x31cfe0[_0x40b593];if(a0_0x2a01['WsPhqe']===undefined){var _0x52c5d5=function(_0x2f52e3){const _0x4c79c3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2133e0='',_0x1932fe='';for(let _0x13e88d=0x0,_0x468811,_0x510589,_0x28ff46=0x0;_0x510589=_0x2f52e3['charAt'](_0x28ff46++);~_0x510589&&(_0x468811=_0x13e88d%0x4?_0x468811*0x40+_0x510589:_0x510589,_0x13e88d++%0x4)?_0x2133e0+=String['fromCharCode'](0xff&_0x468811>>(-0x2*_0x13e88d&0x6)):0x0){_0x510589=_0x4c79c3['indexOf'](_0x510589);}for(let _0x294ec7=0x0,_0x554988=_0x2133e0['length'];_0x294ec7<_0x554988;_0x294ec7++){_0x1932fe+='%'+('00'+_0x2133e0['charCodeAt'](_0x294ec7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1932fe);};a0_0x2a01['RSHdOy']=_0x52c5d5,a0_0x2a01['tkmxwA']={},a0_0x2a01['WsPhqe']=!![];}const _0x127454=_0x31cfe0[0x0],_0x56a49b=_0x40b593+_0x127454,_0x1d6fb9=a0_0x2a01['tkmxwA'][_0x56a49b];return!_0x1d6fb9?(_0x2a0149=a0_0x2a01['RSHdOy'](_0x2a0149),a0_0x2a01['tkmxwA'][_0x56a49b]=_0x2a0149):_0x2a0149=_0x1d6fb9,_0x2a0149;}(function(_0xb842db,_0x4ab75b){const _0x103d9e=a0_0x2a01,_0x595764=_0xb842db();while(!![]){try{const _0x551c41=parseInt(_0x103d9e(0x118))/0x1+parseInt(_0x103d9e(0x113))/0x2+-parseInt(_0x103d9e(0x114))/0x3*(parseInt(_0x103d9e(0x121))/0x4)+parseInt(_0x103d9e(0x11b))/0x5*(-parseInt(_0x103d9e(0x12c))/0x6)+-parseInt(_0x103d9e(0x11e))/0x7+parseInt(_0x103d9e(0x11f))/0x8*(parseInt(_0x103d9e(0x129))/0x9)+parseInt(_0x103d9e(0x112))/0xa;if(_0x551c41===_0x4ab75b)break;else _0x595764['push'](_0x595764['shift']());}catch(_0x101ed){_0x595764['push'](_0x595764['shift']());}}}(a0_0x31cf,0x2b00a));const dbType=(process['env'][a0_0x1293d6(0x123)]||a0_0x1293d6(0x116))[a0_0x1293d6(0x11d)]();let executeQuery;if(dbType==='oracle'){const oracleDb=require(a0_0x1293d6(0x127));executeQuery=(_0x19251f,_0x311b14)=>oracleDb['executeQuery'](_0x19251f,_0x311b14);}else{if(dbType===a0_0x1293d6(0x137)){const mysqlDb=require(a0_0x1293d6(0x12e));executeQuery=(_0x1d5d13,_0x59c97e)=>mysqlDb['executeQuery'](_0x1d5d13,_0x59c97e);}else executeQuery=require('./db')['executeQuery'];}function a0_0x31cf(){const _0xfce07b=['AgfZ','z2v0','BwvZC2fNzq','lI9KyI1VCMfJBgu','y2XLyxjdywnOzq','mJK2mJCXsLDmExn5','u0vmrunuia','BgvUz3rO','nNPxAMPLBq','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','lI9KyI1TExnXBa','DhjPBq','zM9YrwfJAa','Bff4D28','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','C2v0','CuTnBKC','BxLZCwW','u0vgCLO','vNjdAwO','Bg9HzeXVB2T1CfrHyMXL','iIbUB3qGzM91BMqGAw4G','q2nPz0S','A2v5CW','CxndC0K','Bg9VA3vWq2fJAgu','ntu5mtqWuLHkuhbq','nJu1mJm4yuDxvevJ','nti3mZCZrenyDevw','ChvZAa','Cg9ZDgDYzxnXBa','iezst00G','mJy1mtHRAMLVv1q','CMvZB2X2zuXVB2T1CfzHBhvL','Dxzdzwi','mZaYntG1ufPjsvjn','vMfSDwuGiG','Dg9mB3DLCKnHC2u','mJeZnJy4AgLkrgHh','ohffDvD4sW','Aw5MBW','nfDLAMnTsW','A2rbzMK','rejFvfLqrq'];a0_0x31cf=function(){return _0xfce07b;};return a0_0x31cf();}const {logger}=require('./logger');class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x1293d6(0x128)](){const _0x306389=a0_0x1293d6,_0x39f57d={'CcigK':'lookup_cache_cleared'};this[_0x306389(0x111)]['clear'](),logger['debug']({'event':_0x39f57d[_0x306389(0x10e)]},'Lookup\x20cache\x20cleared');}async[a0_0x1293d6(0x10c)](_0x4a68ce,_0x1ab3fe,_0x10bd1f){const _0x32783d=a0_0x1293d6,_0x2abe76={'qsCsI':function(_0x16097e,_0x8f5c16){return _0x16097e!==_0x8f5c16;},'uvCeb':function(_0x3fb110,_0xdcef42){return _0x3fb110(_0xdcef42);},'qKMnG':function(_0x58570c,_0x3d0a73){return _0x58570c(_0x3d0a73);},'uedYv':'lookup_table_loaded'},_0x123fb4=_0x4a68ce+':'+_0x1ab3fe+':'+_0x10bd1f;if(this['lookupCache'][_0x32783d(0x124)](_0x123fb4))return this[_0x32783d(0x111)]['get'](_0x123fb4);try{const _0xf79ba=_0x32783d(0x12a)+_0x10bd1f+',\x20'+_0x1ab3fe+_0x32783d(0x117)+_0x4a68ce,_0x1bb41b=await _0x2abe76[_0x32783d(0x136)](executeQuery,_0xf79ba),_0x190e0b=new Map();return _0x1bb41b[_0x32783d(0x130)](_0x366099=>{const _0x290d9a=_0x32783d,_0x5b8d22=_0x2abe76[_0x290d9a(0x110)](_0x366099[_0x1ab3fe],undefined)?_0x366099[_0x1ab3fe]:_0x366099[_0x1ab3fe['toUpperCase']()],_0x67289b=_0x2abe76['qsCsI'](_0x366099[_0x10bd1f],undefined)?_0x366099[_0x10bd1f]:_0x366099[_0x10bd1f['toUpperCase']()];_0x5b8d22!==null&&_0x2abe76['qsCsI'](_0x5b8d22,undefined)&&(_0x190e0b['set'](_0x2abe76[_0x290d9a(0x11a)](String,_0x5b8d22)[_0x290d9a(0x11d)]()[_0x290d9a(0x12f)](),_0x67289b),_0x190e0b[_0x290d9a(0x135)](_0x2abe76['uvCeb'](String,_0x5b8d22)['trim'](),_0x67289b));}),this[_0x32783d(0x111)]['set'](_0x123fb4,_0x190e0b),logger[_0x32783d(0x120)]({'event':_0x2abe76['uedYv'],'table':_0x4a68ce,'column':_0x1ab3fe,'count':_0x1bb41b['length']},'Lookup\x20table\x20loaded:\x20'+_0x4a68ce),_0x190e0b;}catch(_0x181e32){logger['error']({'event':_0x32783d(0x134),'table':_0x4a68ce,'error':_0x181e32[_0x32783d(0x126)]},_0x32783d(0x132)+_0x4a68ce);throw _0x181e32;}}[a0_0x1293d6(0x119)](_0x10dc16,_0x3a7096){const _0x325e12=a0_0x1293d6;if(_0x10dc16===null||_0x10dc16===undefined||_0x10dc16==='')return null;const _0x491504=String(_0x10dc16)['trim']();if(_0x3a7096[_0x325e12(0x124)](_0x491504))return _0x3a7096[_0x325e12(0x125)](_0x491504);const _0x11c0de=_0x491504[_0x325e12(0x11d)]();if(_0x3a7096['has'](_0x11c0de))return _0x3a7096['get'](_0x11c0de);return null;}async['processLookupFields'](_0x2186ed,_0xc7f266){const _0x28e214=a0_0x1293d6,_0x37786f={'lQxwo':function(_0x153cd1,_0x5a4496){return _0x153cd1===_0x5a4496;},'Venyh':function(_0x2c9acb,_0x22476a){return _0x2c9acb===_0x22476a;},'ZnSsm':_0x28e214(0x12d),'VrCij':'Lookup\x20fields\x20processed'};if(!_0xc7f266||_0x37786f['Venyh'](Object['keys'](_0xc7f266)[_0x28e214(0x12b)],0x0))return{'processedRows':_0x2186ed,'errors':[]};const _0x4874df=[],_0x4d64ee=new Map();for(const [_0x4ad43a,_0x15b9c4]of Object['entries'](_0xc7f266)){const {lookupTable:_0xc4010f,lookupColumn:_0x492a25,lookupIdColumn:_0x4ef82e}=_0x15b9c4,_0x52c687=_0xc4010f+':'+_0x492a25+':'+_0x4ef82e;if(!_0x4d64ee[_0x28e214(0x124)](_0x52c687)){const _0x412f09=await this[_0x28e214(0x10c)](_0xc4010f,_0x492a25,_0x4ef82e);_0x4d64ee['set'](_0x52c687,_0x412f09);}}const _0x43a997=_0x2186ed['map']((_0x52a72c,_0x1e183b)=>{const _0xcdb6c3=_0x28e214,_0x30b87b={..._0x52a72c};for(const [_0x20cdf4,_0x5ac710]of Object['entries'](_0xc7f266)){const {lookupTable:_0x4ee054,lookupColumn:_0x271bb7,lookupIdColumn:_0x2a2720,targetField:_0x1a97b1,required:_0x4b5cf0}=_0x5ac710,_0xed9b12=_0x4ee054+':'+_0x271bb7+':'+_0x2a2720,_0x3eacab=_0x4d64ee[_0xcdb6c3(0x125)](_0xed9b12),_0x144aaf=_0x52a72c[_0x20cdf4];if((_0x144aaf===null||_0x144aaf===undefined||_0x37786f[_0xcdb6c3(0x131)](_0x144aaf,''))&&!_0x4b5cf0){_0x30b87b[_0x1a97b1]=null;continue;}const _0x3544ea=this['resolveLookupValue'](_0x144aaf,_0x3eacab);_0x3544ea!==null?_0x30b87b[_0x1a97b1]=_0x3544ea:(_0x4b5cf0&&_0x4874df['push']({'rowIndex':_0x1e183b,'field':_0x20cdf4,'value':_0x144aaf,'targetField':_0x1a97b1,'lookupTable':_0x4ee054,'message':_0xcdb6c3(0x11c)+_0x144aaf+_0xcdb6c3(0x10d)+_0x4ee054}),_0x30b87b[_0x1a97b1]=null);}return _0x30b87b;});return logger['info']({'event':_0x37786f['ZnSsm'],'totalRows':_0x2186ed['length'],'errorCount':_0x4874df['length'],'lookupFieldCount':Object['keys'](_0xc7f266)[_0x28e214(0x12b)]},_0x37786f[_0x28e214(0x139)]),{'processedRows':_0x43a997,'errors':_0x4874df};}['getDistinctValues'](_0x50e6f8,_0x37cc8f){const _0x41c34b={'kdAfi':function(_0x3364eb,_0x424304){return _0x3364eb!==_0x424304;},'IxlcM':function(_0x231c74,_0x4f1b10){return _0x231c74!==_0x4f1b10;},'SEFrZ':function(_0x17648f,_0x355c0c){return _0x17648f(_0x355c0c);}},_0x4b9cf2=new Set();return _0x50e6f8['forEach'](_0x4b3798=>{const _0x966d67=a0_0x2a01,_0xe96cc2=_0x4b3798[_0x37cc8f];_0x41c34b[_0x966d67(0x122)](_0xe96cc2,null)&&_0x41c34b['IxlcM'](_0xe96cc2,undefined)&&_0xe96cc2!==''&&_0x4b9cf2['add'](_0x41c34b[_0x966d67(0x138)](String,_0xe96cc2)[_0x966d67(0x12f)]());}),Array['from'](_0x4b9cf2);}async['validateLookupValues'](_0x2172d6,_0x18b41d){const _0x3f4467=a0_0x1293d6,_0x3b4cc1={'WcAYS':function(_0x2b6a53,_0x176388){return _0x2b6a53===_0x176388;}};if(!_0x18b41d||Object[_0x3f4467(0x10f)](_0x18b41d)[_0x3f4467(0x12b)]===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x3fb6fa=[],_0x4b5811={};for(const [_0x254a63,_0x3f96d3]of Object['entries'](_0x18b41d)){const {lookupTable:_0x3f911b,lookupColumn:_0x1b2196,lookupIdColumn:_0x5619fc,required:_0x507168}=_0x3f96d3,_0x129e03=this['getDistinctValues'](_0x2172d6,_0x254a63),_0x1d2c12=await this[_0x3f4467(0x10c)](_0x3f911b,_0x1b2196,_0x5619fc),_0x5384c7=[],_0x9d1f88=[];_0x129e03['forEach'](_0x3dd2ab=>{const _0x4d3790=_0x3f4467,_0x551741=this[_0x4d3790(0x119)](_0x3dd2ab,_0x1d2c12);_0x551741!==null?_0x9d1f88[_0x4d3790(0x115)](_0x3dd2ab):_0x5384c7['push'](_0x3dd2ab);});if(_0x5384c7[_0x3f4467(0x12b)]>0x0&&_0x507168){_0x3fb6fa[_0x3f4467(0x115)]({'field':_0x254a63,'lookupTable':_0x3f911b,'invalidValues':_0x5384c7,'message':_0x5384c7[_0x3f4467(0x12b)]+_0x3f4467(0x133)+_0x3f911b});const _0x4dbb48=[];_0x1d2c12['forEach']((_0xe043f1,_0x2eecca)=>{const _0x3485ab=_0x3f4467;if(_0x3b4cc1['WcAYS'](_0x2eecca,_0x2eecca['toLowerCase']()))return;_0x4dbb48[_0x3485ab(0x115)](_0x2eecca);}),_0x4b5811[_0x254a63]={'invalidValues':_0x5384c7,'availableValues':_0x4dbb48['slice'](0x0,0x32)};}}return{'valid':_0x3fb6fa['length']===0x0,'errors':_0x3fb6fa,'suggestions':_0x4b5811};}}module['exports']=new LookupResolver();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x4df584=a0_0xca8f;(function(_0x594f4f,_0x21cde9){const _0x50eab8=a0_0xca8f,_0x345635=_0x594f4f();while(!![]){try{const _0x3aba20=parseInt(_0x50eab8(0xe2))/0x1+parseInt(_0x50eab8(0xe1))/0x2*(parseInt(_0x50eab8(0xef))/0x3)+parseInt(_0x50eab8(0xed))/0x4+-parseInt(_0x50eab8(0xe3))/0x5*(-parseInt(_0x50eab8(0xe8))/0x6)+-parseInt(_0x50eab8(0xd7))/0x7+-parseInt(_0x50eab8(0xe0))/0x8*(-parseInt(_0x50eab8(0xd8))/0x9)+-parseInt(_0x50eab8(0xda))/0xa*(parseInt(_0x50eab8(0xd9))/0xb);if(_0x3aba20===_0x21cde9)break;else _0x345635['push'](_0x345635['shift']());}catch(_0x4cb4f5){_0x345635['push'](_0x345635['shift']());}}}(a0_0x3af6,0x79b4c));const fs=require('fs')['promises'],path=require('path'),{logger}=require('./logger');function a0_0x3af6(){const _0x149be3=['nZC4nZaWwwHkwu51','EuXSAe4','ntDqwvr5EKm','lMPZB24','CgfYC2u','CMvHzezPBgu','DxrMoa','zMLLBgroyw1L','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','z2v0','y2fJAgu','C2v0','Bg9HzfbHEwXVywq','Cw5owxe','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','yKfPEuG','rfLJqvm','mJGZndi3mKLRAK1suW','ovjVAu95yq','mta5mZK1odHyvvLzrKi','mJbgAeH0zMC','z2v0rxHWB3j0q29UzMLN','ywn0Aw9U','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','AgfZ','zgf0yxrHyMXLC1f1zxj5','nJq4mtGWohHrqvjItW','otm4odz6vwn3u24','mtuYnZK4tKz2vLbf','mta1mZuWnu1SrLzQyW','zxjYB3i','DgfIBgvoyw1L','Bg9HzfbHEwXVywrcEu5HBwu','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','mJreDw9YAw8','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','AM9PBG','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','zMLLBgrmywjLBhm'];a0_0x3af6=function(){return _0x149be3;};return a0_0x3af6();}function a0_0xca8f(_0x197ae2,_0x4abf64){_0x197ae2=_0x197ae2-0xd1;const _0x3af6cc=a0_0x3af6();let _0xca8fe9=_0x3af6cc[_0x197ae2];if(a0_0xca8f['HEUaQe']===undefined){var _0x370d95=function(_0x24ad94){const _0x3ee88e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x29ec46='',_0x38dd14='';for(let _0x185a81=0x0,_0x14a7b8,_0x11dd1d,_0x5863ab=0x0;_0x11dd1d=_0x24ad94['charAt'](_0x5863ab++);~_0x11dd1d&&(_0x14a7b8=_0x185a81%0x4?_0x14a7b8*0x40+_0x11dd1d:_0x11dd1d,_0x185a81++%0x4)?_0x29ec46+=String['fromCharCode'](0xff&_0x14a7b8>>(-0x2*_0x185a81&0x6)):0x0){_0x11dd1d=_0x3ee88e['indexOf'](_0x11dd1d);}for(let _0x19ff2f=0x0,_0x4cfb0d=_0x29ec46['length'];_0x19ff2f<_0x4cfb0d;_0x19ff2f++){_0x38dd14+='%'+('00'+_0x29ec46['charCodeAt'](_0x19ff2f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x38dd14);};a0_0xca8f['PlImtn']=_0x370d95,a0_0xca8f['eQltFG']={},a0_0xca8f['HEUaQe']=!![];}const _0x9ac11a=_0x3af6cc[0x0],_0x254abf=_0x197ae2+_0x9ac11a,_0x3b839f=a0_0xca8f['eQltFG'][_0x254abf];return!_0x3b839f?(_0xca8fe9=a0_0xca8f['PlImtn'](_0xca8fe9),a0_0xca8f['eQltFG'][_0x254abf]=_0xca8fe9):_0xca8fe9=_0x3b839f,_0xca8fe9;}class PayloadLoader{constructor(){const _0x2e0f27=a0_0xca8f,_0x3f5c45={'yLlhN':'../../payload'};this['payloadDir']=path[_0x2e0f27(0xea)](__dirname,_0x3f5c45[_0x2e0f27(0xee)]),this[_0x2e0f27(0xf7)]=new Map();}async[a0_0x4df584(0xd2)](_0x3dddcc,_0x57903e){const _0x4ec802=a0_0x4df584,_0x519824={'qnNYq':'payload_loaded','EZCVd':_0x4ec802(0xeb)},_0x4ec9e2=_0x3dddcc+':'+_0x57903e;if(this[_0x4ec802(0xf7)][_0x4ec802(0xde)](_0x4ec9e2))return this[_0x4ec802(0xf7)]['get'](_0x4ec9e2);const _0x2c5432=path['join'](this['payloadDir'],_0x3dddcc+'_'+_0x57903e+_0x4ec802(0xf0));try{const _0x7b103=await fs['readFile'](_0x2c5432,'utf8'),_0x3f2046=JSON[_0x4ec802(0xf1)](_0x7b103);return this[_0x4ec802(0xf7)]['set'](_0x4ec9e2,_0x3f2046),logger['debug']({'event':_0x519824[_0x4ec802(0xd3)],'project':_0x3dddcc,'resource':_0x57903e},_0x4ec802(0xd4)),_0x3f2046;}catch(_0x48d564){logger[_0x4ec802(0xe4)]({'event':_0x519824['EZCVd'],'project':_0x3dddcc,'resource':_0x57903e,'error':_0x48d564['message']},_0x4ec802(0xdd));throw new Error('Payload\x20not\x20found:\x20'+_0x3dddcc+'_'+_0x57903e);}}async[a0_0x4df584(0xe6)](_0x260f3a){const _0x2ff1d7=a0_0x4df584,_0x4d1992={'cMVXU':_0x2ff1d7(0xe7)},_0x55153d='payload:'+_0x260f3a;if(this['cache'][_0x2ff1d7(0xde)](_0x55153d))return this['cache'][_0x2ff1d7(0xf6)](_0x55153d);const _0x50aaff=path[_0x2ff1d7(0xea)](this['payloadDir'],_0x260f3a+'.json');try{const _0x2b8df5=await fs[_0x2ff1d7(0xf2)](_0x50aaff,_0x2ff1d7(0xf3)),_0x5ec4c9=JSON['parse'](_0x2b8df5);return this[_0x2ff1d7(0xf7)][_0x2ff1d7(0xd1)](_0x55153d,_0x5ec4c9),logger['debug']({'event':'payload_loaded','payloadName':_0x260f3a},_0x4d1992['cMVXU']),_0x5ec4c9;}catch(_0x189712){logger[_0x2ff1d7(0xe4)]({'event':_0x2ff1d7(0xeb),'payloadName':_0x260f3a,'error':_0x189712['message']},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error('Payload\x20not\x20found:\x20'+_0x260f3a);}}['isActionEnabled'](_0x2a7ddc,_0x2c8fca){const _0x12b196=a0_0x4df584,_0x5cf383={'DYcAS':function(_0xc99240,_0x253c43){return _0xc99240===_0x253c43;}};return _0x2a7ddc['action']&&_0x5cf383[_0x12b196(0xd6)](_0x2a7ddc[_0x12b196(0xdc)][_0x2c8fca],!![]);}[a0_0x4df584(0xdb)](_0x2812ec){const _0x5217d1=a0_0x4df584;return{'columns':_0x2812ec[_0x5217d1(0xf4)]||[],'filename':_0x2812ec[_0x5217d1(0xe5)]['replace']('.','-')+'-export','datatablesQuery':_0x2812ec[_0x5217d1(0xdf)]||null,'columnFormats':_0x2812ec['columnFormats']||null,'fieldLabels':_0x2812ec[_0x5217d1(0xec)]||null};}['clearCache'](){const _0x9cd597=a0_0x4df584,_0x52e0a2={'bAiyH':_0x9cd597(0xe9),'ORqfV':_0x9cd597(0xf5)};this['cache']['clear'](),logger['info']({'event':_0x52e0a2[_0x9cd597(0xd5)]},_0x52e0a2['ORqfV']);}}module['exports']=new PayloadLoader();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';var a0_0x17bc74=a0_0x3571;(function(_0x20d37c,_0x405941){var _0x3221d2=a0_0x3571,_0x2bf9e0=_0x20d37c();while(!![]){try{var _0x22062f=parseInt(_0x3221d2(0x19a))/0x1*(-parseInt(_0x3221d2(0x19e))/0x2)+parseInt(_0x3221d2(0x19b))/0x3*(parseInt(_0x3221d2(0x19c))/0x4)+parseInt(_0x3221d2(0x1a4))/0x5*(parseInt(_0x3221d2(0x1a2))/0x6)+-parseInt(_0x3221d2(0x19d))/0x7+-parseInt(_0x3221d2(0x199))/0x8*(parseInt(_0x3221d2(0x198))/0x9)+parseInt(_0x3221d2(0x19f))/0xa+parseInt(_0x3221d2(0x1a1))/0xb;if(_0x22062f===_0x405941)break;else _0x2bf9e0['push'](_0x2bf9e0['shift']());}catch(_0x294c50){_0x2bf9e0['push'](_0x2bf9e0['shift']());}}}(a0_0x2611,0xdd837));function a0_0x3571(_0x383511,_0x1632ed){_0x383511=_0x383511-0x198;var _0x2611c9=a0_0x2611();var _0x3571aa=_0x2611c9[_0x383511];if(a0_0x3571['tXexLI']===undefined){var _0xf9485=function(_0x3c0d38){var _0x42eaed='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x3681b4='',_0x38c015='';for(var _0x31fdbe=0x0,_0x331d73,_0x4e6206,_0x516a7d=0x0;_0x4e6206=_0x3c0d38['charAt'](_0x516a7d++);~_0x4e6206&&(_0x331d73=_0x31fdbe%0x4?_0x331d73*0x40+_0x4e6206:_0x4e6206,_0x31fdbe++%0x4)?_0x3681b4+=String['fromCharCode'](0xff&_0x331d73>>(-0x2*_0x31fdbe&0x6)):0x0){_0x4e6206=_0x42eaed['indexOf'](_0x4e6206);}for(var _0xce3ee3=0x0,_0x5682d6=_0x3681b4['length'];_0xce3ee3<_0x5682d6;_0xce3ee3++){_0x38c015+='%'+('00'+_0x3681b4['charCodeAt'](_0xce3ee3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x38c015);};a0_0x3571['SAAxSb']=_0xf9485,a0_0x3571['VJeShM']={},a0_0x3571['tXexLI']=!![];}var _0x53bad9=_0x2611c9[0x0],_0x4fbc70=_0x383511+_0x53bad9,_0xd5bb7f=a0_0x3571['VJeShM'][_0x4fbc70];return!_0xd5bb7f?(_0x3571aa=a0_0x3571['SAAxSb'](_0x3571aa),a0_0x3571['VJeShM'][_0x4fbc70]=_0x3571aa):_0x3571aa=_0xd5bb7f,_0x3571aa;}function createResponse(_0xe5e6df,_0x23efb0,_0x45500d=null){var _0x55d2c1=a0_0x3571;return{'success':!![],'statusCode':_0xe5e6df,'message':_0x23efb0,'data':_0x45500d,'timestamp':new Date()[_0x55d2c1(0x1a3)]()};}function createError(_0x1aaabd,_0x51e252,_0x4e107d=null){var _0x3ddd07=a0_0x3571;return{'success':![],'statusCode':_0x1aaabd,'message':_0x51e252,'data':_0x4e107d,'timestamp':new Date()[_0x3ddd07(0x1a3)]()};}function createValidationError(_0x124c10,_0x56dfe8){return{'success':![],'statusCode':0x190,'message':_0x124c10,'data':{'errors':_0x56dfe8},'timestamp':new Date()['toISOString']()};}function a0_0x2611(){var _0x556cfe=['nJqXne1bEenyuG','Dg9ju09tDhjPBMC','nduWnuvRwgPIzG','nZq5ndy2BeHhuxvh','oenKzNvWDW','mti3mJqYn2PTrgzIAq','ntu3odeXAwTVAuLr','mtj5BeTQt1G','otq0nZyWnKLltNPRCq','mKTcD0fLsq','mtu2odC0mhj3B3njzq','zxHWB3j0CW','mJeYodmWnJrbr2TrzNm'];a0_0x2611=function(){return _0x556cfe;};return a0_0x2611();}module[a0_0x17bc74(0x1a0)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
|
package/src/utils/rabbitmq.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x5962f1=a0_0x13d3;function a0_0x3b07(){const _0x18fcd7=['nZe0mJC4B3vkzfnH','odm3nti0oej2C1bKEa','BwvZC2fNzq','BLvYy0G','mtm2nZu0mJrZEufKEg4','zw52','zgLYzwn0','xsbszxrYEsbXDwv1zsa','xsbrDwv1zsa','zg90zw52','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r','zxHWB3j0CW','CxvLDwu','uKfcqKLutvfFuK9vveLor19lrvK','xsbcAw5KAw5Nia','Aw5LCxvPDMfSzw50igfYzW','mZu0nZuYmxvSu1ntrW','mtbWse1zAhm','zxjYB3i','ndvHrKDUzeW','rxnXv1e','zM91BMq','Bg9N','yw1XCgXPyG','yMLUzff1zxvL','uKfcqKLutvfFvvjm','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','ndy0mdm2oe5nzvresW','wLvOrhC','Aw5JBhvKzxm','m0nLCuHwwa','x3jLDhj5','uKfcqKLutvfFuvvfvuu','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','ndmYmZK2yK9XCwnw','yNPRBeq','mJq4mtmYofrSsKP5Ea','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','zxHPDa','xsbfEgnOyw5Nzsa','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','xsbszxrYEsbIAw5KAw5NigzVCIa'];a0_0x3b07=function(){return _0x18fcd7;};return a0_0x3b07();}(function(_0x9ac943,_0x27561d){const _0xea6799=a0_0x13d3,_0xc7beb7=_0x9ac943();while(!![]){try{const _0x2abf4e=parseInt(_0xea6799(0xe4))/0x1+-parseInt(_0xea6799(0xde))/0x2+-parseInt(_0xea6799(0xd7))/0x3*(parseInt(_0xea6799(0xd4))/0x4)+parseInt(_0xea6799(0xcc))/0x5*(-parseInt(_0xea6799(0xdc))/0x6)+parseInt(_0xea6799(0xe5))/0x7+parseInt(_0xea6799(0xbd))/0x8+-parseInt(_0xea6799(0xc9))/0x9*(-parseInt(_0xea6799(0xca))/0xa);if(_0x2abf4e===_0x27561d)break;else _0xc7beb7['push'](_0xc7beb7['shift']());}catch(_0x24715f){_0xc7beb7['push'](_0xc7beb7['shift']());}}}(a0_0x3b07,0xeb97d),require(a0_0x5962f1(0xc2))['config']());const amqp=require(a0_0x5962f1(0xd0)),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process['env'][a0_0x5962f1(0xd2)],EXCHANGE=process[a0_0x5962f1(0xbe)]['RABBITMQ_EXCHANGE'],ROUTING_KEY=process[a0_0x5962f1(0xbe)][a0_0x5962f1(0xc6)],QUEUE=process['env'][a0_0x5962f1(0xd9)];async function createConnection(){const _0x215fb2=a0_0x5962f1,_0x280cdc={'bzklD':function(_0x7dde92,_0x1f0c1b){return _0x7dde92(_0x1f0c1b);}};try{const _0x2d0fd2=await amqp['connect'](RABBITMQ_URL);return console['log']('['+formatDate(new Date())+_0x215fb2(0xc3)),_0x2d0fd2;}catch(_0x5a69e3){console[_0x215fb2(0xcb)]('['+_0x280cdc[_0x215fb2(0xdd)](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x5a69e3[_0x215fb2(0xe6)]);throw _0x5a69e3;}}function a0_0x13d3(_0x3ece01,_0x427cb4){_0x3ece01=_0x3ece01-0xbd;const _0x3b0742=a0_0x3b07();let _0x13d32d=_0x3b0742[_0x3ece01];if(a0_0x13d3['YRFdhb']===undefined){var _0x3ded85=function(_0x509340){const _0x1e787a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x19d18c='',_0x257b78='';for(let _0x52dc71=0x0,_0x1702b8,_0x455859,_0x2eb082=0x0;_0x455859=_0x509340['charAt'](_0x2eb082++);~_0x455859&&(_0x1702b8=_0x52dc71%0x4?_0x1702b8*0x40+_0x455859:_0x455859,_0x52dc71++%0x4)?_0x19d18c+=String['fromCharCode'](0xff&_0x1702b8>>(-0x2*_0x52dc71&0x6)):0x0){_0x455859=_0x1e787a['indexOf'](_0x455859);}for(let _0x39a453=0x0,_0x375b31=_0x19d18c['length'];_0x39a453<_0x375b31;_0x39a453++){_0x257b78+='%'+('00'+_0x19d18c['charCodeAt'](_0x39a453)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x257b78);};a0_0x13d3['exPUBf']=_0x3ded85,a0_0x13d3['TaEyep']={},a0_0x13d3['YRFdhb']=!![];}const _0x23b0aa=_0x3b0742[0x0],_0x4a9a43=_0x3ece01+_0x23b0aa,_0x5521b6=a0_0x13d3['TaEyep'][_0x4a9a43];return!_0x5521b6?(_0x13d32d=a0_0x13d3['exPUBf'](_0x13d32d),a0_0x13d3['TaEyep'][_0x4a9a43]=_0x13d32d):_0x13d32d=_0x5521b6,_0x13d32d;}async function createChannel(_0x2269d7){const _0x22bf39=a0_0x5962f1,_0xdc8b48={'ZUhDw':function(_0x4ef092,_0x2802ab){return _0x4ef092(_0x2802ab);}};try{const _0x18ca80=await _0x2269d7['createChannel']();return console[_0x22bf39(0xcf)]('['+formatDate(new Date())+_0x22bf39(0xd3)),_0x18ca80;}catch(_0x5baf38){console['error']('['+_0xdc8b48[_0x22bf39(0xd5)](formatDate,new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x5baf38[_0x22bf39(0xe6)]);throw _0x5baf38;}}async function setupInfrastructure(_0x3d0a4a){const _0x589188=a0_0x5962f1,_0x13fa3c={'nUrcH':function(_0x5346b2,_0x492a1f){return _0x5346b2(_0x492a1f);},'EsqWQ':'retry-exchange'};try{await _0x3d0a4a['assertExchange']('retry-exchange','direct',{'durable':!![],'autoDelete':![]}),console[_0x589188(0xcf)]('['+formatDate(new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x1f8dc0){console[_0x589188(0xcb)]('['+_0x13fa3c[_0x589188(0xe7)](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x1f8dc0[_0x589188(0xe6)]);throw _0x1f8dc0;}try{await _0x3d0a4a['assertExchange'](EXCHANGE,_0x589188(0xbf),{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+_0x589188(0xe1)+EXCHANGE+'\x20created/ready');}catch(_0x34016d){console[_0x589188(0xcb)]('['+formatDate(new Date())+_0x589188(0xdf)+EXCHANGE+':',_0x34016d[_0x589188(0xe6)]);throw _0x34016d;}const _0x591845=ROUTING_KEY+_0x589188(0xd8);try{const _0x363cbe={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x3d0a4a['assertQueue'](_0x591845,_0x363cbe),console[_0x589188(0xcf)]('['+_0x13fa3c[_0x589188(0xe7)](formatDate,new Date())+_0x589188(0xc0)+_0x591845+'\x20created/ready'),await _0x3d0a4a[_0x589188(0xd1)](_0x591845,_0x13fa3c['EsqWQ'],ROUTING_KEY),console[_0x589188(0xcf)]('['+formatDate(new Date())+_0x589188(0xe3)+ROUTING_KEY+'\x20created');}catch(_0x5d6611){console[_0x589188(0xcb)]('['+_0x13fa3c['nUrcH'](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x5d6611['message']);throw _0x5d6611;}try{const _0x37e033={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x13fa3c[_0x589188(0xcd)],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x288be8=await _0x3d0a4a['assertQueue'](QUEUE,_0x37e033);console[_0x589188(0xcf)]('['+formatDate(new Date())+_0x589188(0xc1)+QUEUE+'\x20'+(_0x288be8[_0x589188(0xc5)]===QUEUE?'created/ready':_0x589188(0xce))+'\x20with\x20DLX'),await _0x3d0a4a['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x589188(0xcf)]('['+_0x13fa3c['nUrcH'](formatDate,new Date())+_0x589188(0xc7)+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0x49a028){if(_0x49a028['message']['includes']('inequivalent\x20arg')&&_0x49a028['message'][_0x589188(0xd6)](_0x589188(0xdb)))console[_0x589188(0xcb)]('\x0a['+formatDate(new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x589188(0xcb)]('Queue\x20'+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console[_0x589188(0xcb)]('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process[_0x589188(0xe0)](0x1);else{console[_0x589188(0xcb)]('['+formatDate(new Date())+_0x589188(0xda)+QUEUE+':',_0x49a028[_0x589188(0xe6)]);throw _0x49a028;}}}catch(_0x5eab9d){if(!_0x5eab9d['message']['includes'](_0x589188(0xc8))){console[_0x589188(0xcb)]('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x5eab9d[_0x589188(0xe6)]);throw _0x5eab9d;}process['exit'](0x1);}}async function closeConnection(_0xd80f04){const _0x326328=a0_0x5962f1;if(_0xd80f04)try{await _0xd80f04['close'](),console[_0x326328(0xcf)]('['+formatDate(new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x12f334){console[_0x326328(0xcb)]('['+formatDate(new Date())+_0x326328(0xe2)+_0x12f334['message']);}}module[a0_0x5962f1(0xc4)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x35b808=a0_0xef60;function a0_0xef60(_0x1548f9,_0x4e47c8){_0x1548f9=_0x1548f9-0x191;const _0x3a67bd=a0_0x3a67();let _0xef6043=_0x3a67bd[_0x1548f9];if(a0_0xef60['ZYDDEE']===undefined){var _0x1a1d70=function(_0x57d9a5){const _0xbad079='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x53ccc2='',_0x436693='';for(let _0x3ab1ae=0x0,_0x4c6393,_0x828218,_0x2d4b73=0x0;_0x828218=_0x57d9a5['charAt'](_0x2d4b73++);~_0x828218&&(_0x4c6393=_0x3ab1ae%0x4?_0x4c6393*0x40+_0x828218:_0x828218,_0x3ab1ae++%0x4)?_0x53ccc2+=String['fromCharCode'](0xff&_0x4c6393>>(-0x2*_0x3ab1ae&0x6)):0x0){_0x828218=_0xbad079['indexOf'](_0x828218);}for(let _0x4f04cc=0x0,_0x30e300=_0x53ccc2['length'];_0x4f04cc<_0x30e300;_0x4f04cc++){_0x436693+='%'+('00'+_0x53ccc2['charCodeAt'](_0x4f04cc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x436693);};a0_0xef60['UqpjHv']=_0x1a1d70,a0_0xef60['qwlIeq']={},a0_0xef60['ZYDDEE']=!![];}const _0x59e522=_0x3a67bd[0x0],_0x5a4fb6=_0x1548f9+_0x59e522,_0x27070e=a0_0xef60['qwlIeq'][_0x5a4fb6];return!_0x27070e?(_0xef6043=a0_0xef60['UqpjHv'](_0xef6043),a0_0xef60['qwlIeq'][_0x5a4fb6]=_0xef6043):_0xef6043=_0x27070e,_0xef6043;}function a0_0x3a67(){const _0x585ece=['r1Dyt0S','ndm3nJG4CvbNDujT','zw52','uMvKAxmGueLorYb0Aw1LB3v0','CMvKAxnFy29UBMvJDgvK','BwLU','zM9Yy2veAxnJB25Uzwn0','mte3nJK4mxjkEeHODa','CMvKAxnFAw5PDf9LCNjVCG','mte3mZeYnKDnt3fpuW','CMfJzq','uKvesvnFrei','wejvA20','mtGWntiWnvLhwNz5yG','mJiWndmYmgHkEM1qwq','Aw5MBW','z2v0q2XPzw50','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','reXLC1y','y2XPzw50','Bg9JywXOB3n0','BwvZC2fNzq','mtGWBLLTCKv0','mtaZmLP0t2nZvG','y29UBMvJDa','AxndB25Uzwn0zwq','ntC3nZHwBLnbD1m','Aw9YzwrPCW','D2fYBG','CMvKAxnFzxjYB3i','zxjYB3i','ndD0BwTWr2G','mtq5mZHWvMP3BMS','zxHWB3j0CW'];a0_0x3a67=function(){return _0x585ece;};return a0_0x3a67();}(function(_0x115545,_0x4f49d5){const _0x825b41=a0_0xef60,_0xc9659=_0x115545();while(!![]){try{const _0x51bfd7=-parseInt(_0x825b41(0x1ab))/0x1*(parseInt(_0x825b41(0x1ac))/0x2)+parseInt(_0x825b41(0x193))/0x3+parseInt(_0x825b41(0x19a))/0x4+parseInt(_0x825b41(0x199))/0x5+-parseInt(_0x825b41(0x195))/0x6+-parseInt(_0x825b41(0x1a6))/0x7*(parseInt(_0x825b41(0x1a3))/0x8)+parseInt(_0x825b41(0x1af))/0x9*(parseInt(_0x825b41(0x1a2))/0xa);if(_0x51bfd7===_0x4f49d5)break;else _0xc9659['push'](_0xc9659['shift']());}catch(_0x3eff14){_0xc9659['push'](_0xc9659['shift']());}}}(a0_0x3a67,0x8acae));const Redis=require(a0_0x35b808(0x1a7)),{logger}=require('./logger');class RedisClient{constructor(){const _0x31ad7d=a0_0x35b808;this['client']=null,this[_0x31ad7d(0x1a5)]=![];}[a0_0x35b808(0x1a4)](){const _0x19518b=a0_0x35b808,_0x2a3a32={'QqlWM':'Redis\x20connected\x20successfully','zmfkF':_0x19518b(0x1a9),'GWXOK':'redis_disconnected','DLesV':'Redis\x20connection\x20closed','kbSVo':_0x19518b(0x1a0),'QTSBW':_0x19518b(0x1a4),'bOGRq':'error','syaIk':'close','XBUkm':'Failed\x20to\x20initialize\x20Redis'};if(this[_0x19518b(0x19f)])return this['client'];try{return this['client']=new Redis({'host':process['env']['REDIS_HOST']||_0x2a3a32['kbSVo'],'port':parseInt(process[_0x19518b(0x1b0)]['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x19518b(0x1b0)]['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0x19518b(0x1b0)][_0x19518b(0x197)],0xa)||0x0,'retryStrategy'(_0x76b221){const _0x4f5c4d=_0x19518b,_0x1b55bb=Math[_0x4f5c4d(0x191)](_0x76b221*0x32,0x7d0);return _0x1b55bb;}}),this[_0x19518b(0x19f)]['on'](_0x2a3a32['QTSBW'],()=>{const _0x26632c=_0x19518b;this['isConnected']=!![],logger[_0x26632c(0x19b)]({'event':_0x26632c(0x1b2)},_0x2a3a32['QqlWM']);}),this['client']['on'](_0x2a3a32['bOGRq'],_0x4c44b0=>{const _0x1ee92f=_0x19518b;this['isConnected']=![],logger['error']({'event':_0x2a3a32['zmfkF'],'error':_0x4c44b0[_0x1ee92f(0x1a1)]},_0x1ee92f(0x19d)+_0x4c44b0[_0x1ee92f(0x1a1)]);}),this['client']['on'](_0x2a3a32['syaIk'],()=>{const _0x2a58e5=_0x19518b;this['isConnected']=![],logger[_0x2a58e5(0x1a8)]({'event':_0x2a3a32[_0x2a58e5(0x1ae)]},_0x2a3a32[_0x2a58e5(0x19e)]);}),this[_0x19518b(0x19f)];}catch(_0x4a73ad){logger[_0x19518b(0x1aa)]({'event':_0x19518b(0x194),'error':_0x4a73ad[_0x19518b(0x1a1)]},_0x2a3a32[_0x19518b(0x198)]);throw _0x4a73ad;}}[a0_0x35b808(0x19c)](){return!this['client']&&this['connect'](),this['client'];}async['ping'](_0x4a6467=0x1388){const _0x23a91f=a0_0x35b808,_0x50a075={'EsJGd':function(_0x5cc7b2,_0x1789b3){return _0x5cc7b2===_0x1789b3;},'EzkRu':'PONG'};try{const _0x41fb33=this[_0x23a91f(0x19c)](),_0x443235=await Promise[_0x23a91f(0x196)]([_0x41fb33['ping'](),new Promise((_0x3d5922,_0x842cc8)=>setTimeout(()=>_0x842cc8(new Error(_0x23a91f(0x1b1))),_0x4a6467))]);return _0x50a075['EsJGd'](_0x443235,_0x50a075['EzkRu']);}catch(_0xeb44b1){return![];}}async['disconnect'](){const _0x21e574=a0_0x35b808;this[_0x21e574(0x19f)]&&(await this['client']['quit'](),this['client']=null,this[_0x21e574(0x1a5)]=![]);}[a0_0x35b808(0x192)](){const _0x208838=a0_0x35b808;this[_0x208838(0x19f)]&&(this[_0x208838(0x19f)]['disconnect'](),this[_0x208838(0x19f)]=null,this['isConnected']=![]);}}module[a0_0x35b808(0x1ad)]=new RedisClient();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x3c32d3=a0_0x2a8a;function a0_0x2a8a(_0x51c189,_0x21e39b){_0x51c189=_0x51c189-0xfe;const _0xa7d33b=a0_0xa7d3();let _0x2a8a73=_0xa7d33b[_0x51c189];if(a0_0x2a8a['GeDvNB']===undefined){var _0x3005af=function(_0x60b173){const _0x2db3b2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4dcacf='',_0x1ee2f8='';for(let _0x459b48=0x0,_0x85acd3,_0x35d4c4,_0x48b0e9=0x0;_0x35d4c4=_0x60b173['charAt'](_0x48b0e9++);~_0x35d4c4&&(_0x85acd3=_0x459b48%0x4?_0x85acd3*0x40+_0x35d4c4:_0x35d4c4,_0x459b48++%0x4)?_0x4dcacf+=String['fromCharCode'](0xff&_0x85acd3>>(-0x2*_0x459b48&0x6)):0x0){_0x35d4c4=_0x2db3b2['indexOf'](_0x35d4c4);}for(let _0x22a3a1=0x0,_0x3aee2c=_0x4dcacf['length'];_0x22a3a1<_0x3aee2c;_0x22a3a1++){_0x1ee2f8+='%'+('00'+_0x4dcacf['charCodeAt'](_0x22a3a1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1ee2f8);};a0_0x2a8a['rmuiRi']=_0x3005af,a0_0x2a8a['FVoZOi']={},a0_0x2a8a['GeDvNB']=!![];}const _0x3a0ab8=_0xa7d33b[0x0],_0x3508b3=_0x51c189+_0x3a0ab8,_0x314c34=a0_0x2a8a['FVoZOi'][_0x3508b3];return!_0x314c34?(_0x2a8a73=a0_0x2a8a['rmuiRi'](_0x2a8a73),a0_0x2a8a['FVoZOi'][_0x3508b3]=_0x2a8a73):_0x2a8a73=_0x314c34,_0x2a8a73;}(function(_0x3f9825,_0x5c833a){const _0x4800b6=a0_0x2a8a,_0x85928e=_0x3f9825();while(!![]){try{const _0xeafb0c=parseInt(_0x4800b6(0x10f))/0x1*(-parseInt(_0x4800b6(0x111))/0x2)+parseInt(_0x4800b6(0x109))/0x3*(parseInt(_0x4800b6(0x11c))/0x4)+-parseInt(_0x4800b6(0x101))/0x5*(-parseInt(_0x4800b6(0x10d))/0x6)+parseInt(_0x4800b6(0xfe))/0x7+-parseInt(_0x4800b6(0xff))/0x8*(-parseInt(_0x4800b6(0x114))/0x9)+-parseInt(_0x4800b6(0x105))/0xa+-parseInt(_0x4800b6(0x102))/0xb;if(_0xeafb0c===_0x5c833a)break;else _0x85928e['push'](_0x85928e['shift']());}catch(_0xf55827){_0x85928e['push'](_0x85928e['shift']());}}}(a0_0xa7d3,0xd98c3));const redisClient=require(a0_0x3c32d3(0x100)),{logger}=require(a0_0x3c32d3(0x106));function a0_0xa7d3(){const _0x2fc435=['CgfYC2u','oMv4Cg9YDdO','zxHWB3j0CW','mtG3ognQvMz2Ea','zxjYB3i','mte3otrsyMPhBwu','zgvSzxrLsM9I','mJjuEej1Bwi','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','DxbKyxrLsM9I','mtqWmty1mu5qqKfNAW','DhrS','ChvZAa','z2v0q2XPzw50','x3bYzwzPEa','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','ChjLzML4','wgrorvC','nJe1ndaYofnHAeLmAa','zw52','ntG4ntG4n3znsgj1tW','ntzPEeHZu3q','lI9YzwrPCY1JBgLLBNq','mty5ndvADNrrr1G','mJa4ntK2mZbZt3LJDg4','z2v0sM9I','z2v0qwXSsM9ICW','mtyXmZeZotbxtLv0wM8','lI9SB2DNzxi','C3rYAw5NAwz5','BwvZC2fNzq','m1rzww9Wrq'];a0_0xa7d3=function(){return _0x2fc435;};return a0_0xa7d3();}class RedisHelper{constructor(){const _0x4b710c=a0_0x3c32d3;this[_0x4b710c(0x118)]=null,this[_0x4b710c(0x115)]=parseInt(process['env']['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get[a0_0x3c32d3(0x11a)](){const _0x5545e9=a0_0x3c32d3,_0x99b123={'vGqFK':'default'};if(!this['_prefix']){const _0x30b45f=process[_0x5545e9(0x11d)][_0x5545e9(0x112)]||_0x99b123['vGqFK'];this[_0x5545e9(0x118)]='restforge:'+_0x30b45f+_0x5545e9(0x10b);}return this['_prefix'];}async['setJob'](_0x3067e2,_0x17c582){const _0x3fa5eb=a0_0x3c32d3,_0x101c5f={'GTtPb':'redis_set_error'};try{const _0x3ccb86=redisClient['getClient'](),_0x1a554f=''+this['prefix']+_0x3067e2;return await _0x3ccb86['setex'](_0x1a554f,this[_0x3fa5eb(0x115)],JSON[_0x3fa5eb(0x107)](_0x17c582)),!![];}catch(_0x470d52){return logger[_0x3fa5eb(0x10e)]({'event':_0x101c5f['GTtPb'],'jobId':_0x3067e2,'error':_0x470d52[_0x3fa5eb(0x108)]},_0x3fa5eb(0x119)),![];}}async[a0_0x3c32d3(0x103)](_0x4a4cb5){const _0x36e9d4=a0_0x3c32d3;try{const _0x40319f=redisClient[_0x36e9d4(0x117)](),_0xde9978=''+this['prefix']+_0x4a4cb5,_0x160afc=await _0x40319f['get'](_0xde9978);return _0x160afc?JSON[_0x36e9d4(0x10a)](_0x160afc):null;}catch(_0x5509da){return logger['error']({'event':'redis_get_error','jobId':_0x4a4cb5,'error':_0x5509da['message']},'Failed\x20to\x20get\x20job\x20from\x20Redis'),null;}}async[a0_0x3c32d3(0x113)](_0x4d39fb,_0x3fdf75){const _0x31bb87=await this['getJob'](_0x4d39fb);if(!_0x31bb87)return![];const _0x411850={..._0x31bb87,..._0x3fdf75};return await this['setJob'](_0x4d39fb,_0x411850);}async[a0_0x3c32d3(0x110)](_0x2d00ac){const _0x2105ae=a0_0x3c32d3,_0x1121c1={'ekSyR':'redis_delete_error','wJIbN':'Failed\x20to\x20delete\x20job\x20from\x20Redis'};try{const _0x150751=redisClient['getClient'](),_0x538d25=''+this['prefix']+_0x2d00ac;return await _0x150751['del'](_0x538d25),!![];}catch(_0x148539){return logger['error']({'event':_0x1121c1['ekSyR'],'jobId':_0x2d00ac,'error':_0x148539[_0x2105ae(0x108)]},_0x1121c1['wJIbN']),![];}}async[a0_0x3c32d3(0x104)](){const _0x163fb3=a0_0x3c32d3,_0x52c446={'mCMLr':'redis_getall_error','XdNEW':'Failed\x20to\x20get\x20all\x20jobs'};try{const _0x3b7e3e=redisClient['getClient'](),_0x34af44=await _0x3b7e3e['keys'](this[_0x163fb3(0x11a)]+'*'),_0x56b789=[];for(const _0x451d8f of _0x34af44){const _0x2ea6cc=await _0x3b7e3e['get'](_0x451d8f);_0x2ea6cc&&_0x56b789[_0x163fb3(0x116)](JSON[_0x163fb3(0x10a)](_0x2ea6cc));}return _0x56b789;}catch(_0x2a7a8a){return logger['error']({'event':_0x52c446['mCMLr'],'error':_0x2a7a8a['message']},_0x52c446[_0x163fb3(0x11b)]),[];}}}module[a0_0x3c32d3(0x10c)]=new RedisHelper();
|