@restforgejs/platform 5.2.12 → 5.2.16
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/bin/drift-check-linux +0 -0
- package/bin/sdf-tools-linux +0 -0
- package/bin/sdf-tools.exe +0 -0
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/fast-track.js +8 -9
- package/generators/cli/project/auth.js +209 -0
- package/generators/lib/auth/component-generator.js +58 -0
- package/generators/lib/auth/dependency-checker.js +102 -0
- package/generators/lib/auth/env-injector.js +81 -0
- package/generators/lib/auth/migrate-runner.js +111 -0
- package/generators/lib/auth/prefix.js +22 -0
- package/generators/lib/auth/processor-generator.js +55 -0
- package/generators/lib/auth/sdf-generator.js +102 -0
- package/generators/lib/auth/template-renderer.js +29 -0
- package/generators/lib/auth/templates/processor/login.js.tmpl +152 -0
- package/generators/lib/auth/templates/processor/logout.js.tmpl +58 -0
- package/generators/lib/auth/templates/processor/me.js.tmpl +64 -0
- package/generators/lib/auth/templates/processor/refresh.js.tmpl +134 -0
- package/generators/lib/auth/templates/processor/register.js.tmpl +77 -0
- package/generators/lib/auth/templates/processor/reset-password.js.tmpl +106 -0
- package/generators/lib/auth/templates/rfx_auth-middleware.js.tmpl +79 -0
- package/generators/lib/auth/templates/rfx_auth.js.tmpl +104 -0
- package/generators/lib/dbschema-kit/schema-printer.js +10 -1
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/integrity-manifest.json +18 -18
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/soft-delete-dashboard-guard.js +1 -1
- package/src/utils/sql-table-extractor.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x1fb6(_0x522127,_0x1a7df4){_0x522127=_0x522127-0x1d8;const _0x5a1699=a0_0x5a16();let _0x1fb674=_0x5a1699[_0x522127];if(a0_0x1fb6['coFuhe']===undefined){var _0x48fb45=function(_0x32d0e6){const _0x1062d9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4682b4='',_0x438577='';for(let _0x193086=0x0,_0x3fc0c4,_0x1d7a8e,_0x213116=0x0;_0x1d7a8e=_0x32d0e6['charAt'](_0x213116++);~_0x1d7a8e&&(_0x3fc0c4=_0x193086%0x4?_0x3fc0c4*0x40+_0x1d7a8e:_0x1d7a8e,_0x193086++%0x4)?_0x4682b4+=String['fromCharCode'](0xff&_0x3fc0c4>>(-0x2*_0x193086&0x6)):0x0){_0x1d7a8e=_0x1062d9['indexOf'](_0x1d7a8e);}for(let _0x5e9f8c=0x0,_0x29246e=_0x4682b4['length'];_0x5e9f8c<_0x29246e;_0x5e9f8c++){_0x438577+='%'+('00'+_0x4682b4['charCodeAt'](_0x5e9f8c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x438577);};a0_0x1fb6['lEVdjw']=_0x48fb45,a0_0x1fb6['opBrkc']={},a0_0x1fb6['coFuhe']=!![];}const _0x5ebd87=_0x5a1699[0x0],_0x1f40bc=_0x522127+_0x5ebd87,_0x142793=a0_0x1fb6['opBrkc'][_0x1f40bc];return!_0x142793?(_0x1fb674=a0_0x1fb6['lEVdjw'](_0x1fb674),a0_0x1fb6['opBrkc'][_0x1f40bc]=_0x1fb674):_0x1fb674=_0x142793,_0x1fb674;}const a0_0x29028c=a0_0x1fb6;(function(_0x25646d,_0x1bd853){const _0x5e8590=a0_0x1fb6,_0x572c1f=_0x25646d();while(!![]){try{const _0x4a145b=-parseInt(_0x5e8590(0x1f5))/0x1*(-parseInt(_0x5e8590(0x208))/0x2)+parseInt(_0x5e8590(0x21f))/0x3+-parseInt(_0x5e8590(0x1ef))/0x4*(-parseInt(_0x5e8590(0x222))/0x5)+parseInt(_0x5e8590(0x21d))/0x6+parseInt(_0x5e8590(0x204))/0x7+parseInt(_0x5e8590(0x205))/0x8+-parseInt(_0x5e8590(0x20b))/0x9*(parseInt(_0x5e8590(0x20c))/0xa);if(_0x4a145b===_0x1bd853)break;else _0x572c1f['push'](_0x572c1f['shift']());}catch(_0x12834d){_0x572c1f['push'](_0x572c1f['shift']());}}}(a0_0x5a16,0x19210));const redisClient=require(a0_0x29028c(0x217)),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');function a0_0x5a16(){const _0x1a69e9=['mtK4oty2wwDMEe9l','Bg9JA19LEhrLBMrLza','uKvbrcbSB2nRigvYCM9Y','nJbyAKDUrhy','zxHWAxjL','BK1vtwO','CMv0CNLdB3vUDa','ywnXDwLYzvDYAxrLtg9JAW','x2LUAxrPywXPEMvK','Cg93','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','D29YA2vYswq','x3jLDhj5rgvSyxK','wu9fqwu','x3n0CMf0zwD5','D2fYBG','D3jPDgu','x2vUC3vYzuLUAxrPywXPEMvK','r2LeAhe','ywXS','sg5Ktgy','D3jPDgvFBg9JA193ywL0Aw5N','v05MCwy','zxzHBa','r3fqCxG','sNjSCwy','Bg9JA19YzwXLyxnLx2vYCM9Y','ChjLzML4','z2v0q2XPzw50','C2v0zxG','z2v0','x3jLDhj5q291BNq','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','s2XUzMO','r0Htt0m','x2vUywjSzwq','zxjYB3i','mtyXmZjTAKLwAxu','CMv0CNLezwXHEq','C2v0','x3DVCMTLCKLK','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','CMvHza','nda0mLzuv0vLtG','te9ds19esvnuuKLcvvrfrf9ftKfcteve','zgvMyxvSDfruta','BwvZC2fNzq','C3rYyxrLz3K','Bg9JA19JB25MAwDFAw5PDa','y3LUv0u','CMvHzf9SB2nRx3jLBgvHC2vK','qwfXExi','C3vIC3rYAw5N','uKnxyvu','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','zgvIDwC','tg9JAYbLEhrLBMqGzxjYB3i','x2rLzMf1BhruveW','otyYotq4uLzfwgfx','mZqYmdGWAwPbA2zo','tg9JAYbuveWGzxH0zw5Kzwq','yNvPBgrmB2nRs2v5','odjxBw9Py0i','C2XLzxa','CKzmrwm','mJeWmda3ohz4svLQrq','mJbKEw9vAeW','vffIq1m','D3jPDgvFBg9JA190Aw1LB3v0','Aw5JBhvKzxm','C2zgDLy','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','uKvbrcbSB2nRihjLBgvHC2vK','zw52','zgvS','D3jPDgvFBg9JA19YzwPLy3rLza','CMvHzf9SB2nRx3rPBwvVDxq','lI9YzwrPCY1JBgLLBNq','x2LUAxrdB25MAwC','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','zw5HyMXLza','D3jPDgvFBg9JA19Hy3f1AxjLza','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','nJuZmdG4EfDhuhrY','CMvHzf9SB2nRx3DHAxrPBMC'];a0_0x5a16=function(){return _0x1a69e9;};return a0_0x5a16();}class LockManager{constructor(){const _0x143bf1=a0_0x29028c;this['_prefix']=null,this['_enabled']=null,this['_defaultTTL']=null,this['_retryCount']=null,this['_retryDelay']=null,this[_0x143bf1(0x1d8)]=null,this[_0x143bf1(0x1f2)]=null,this[_0x143bf1(0x227)]=![];}[a0_0x29028c(0x218)](){const _0xfb20c5=a0_0x29028c,_0x8a6880={'mTwDm':function(_0x4e88e7,_0x51d8d7,_0x4c7ada){return _0x4e88e7(_0x51d8d7,_0x4c7ada);},'RCWaU':_0xfb20c5(0x1fa)};this['_prefix']='rf:lock:',this['_enabled']=process[_0xfb20c5(0x213)][_0xfb20c5(0x1f6)]==='true',this[_0xfb20c5(0x203)]=parseInt(process[_0xfb20c5(0x213)]['LOCK_DISTRIBUTED_TTL'],0xa)||0xa,this['_retryCount']=_0x8a6880['mTwDm'](parseInt,process[_0xfb20c5(0x213)]['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3,this['_retryDelay']=parseInt(process[_0xfb20c5(0x213)]['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64,this['_strategy']=process['env'][_0xfb20c5(0x21c)]||'retry',this[_0xfb20c5(0x1f2)]='worker-'+process['pid'],this[_0xfb20c5(0x227)]=!![],logger['info']({'event':_0x8a6880[_0xfb20c5(0x1ff)],'enabled':this['_enabled'],'strategy':this[_0xfb20c5(0x1d8)],'ttl':this['_defaultTTL'],'retryCount':this[_0xfb20c5(0x1e9)],'retryDelay':this['_retryDelay'],'workerId':this['_workerId']},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this[_0xfb20c5(0x1ed)]+',\x20strategy:\x20'+this['_strategy']);}['_ensureInitialized'](){const _0x378df8=a0_0x29028c;!this[_0x378df8(0x227)]&&this['_initConfig']();}get[a0_0x29028c(0x1e5)](){const _0xac65f0=a0_0x29028c;return this[_0xac65f0(0x1db)](),this['_prefix'];}get['enabled'](){const _0x1e12cb=a0_0x29028c;return this[_0x1e12cb(0x1db)](),this[_0x1e12cb(0x1ed)];}get[a0_0x29028c(0x1f7)](){const _0xeeb5b9=a0_0x29028c;return this['_ensureInitialized'](),this[_0xeeb5b9(0x203)];}get['retryCount'](){const _0x389f9e=a0_0x29028c;return this[_0x389f9e(0x1db)](),this['_retryCount'];}get['retryDelay'](){const _0x316c0f=a0_0x29028c;return this['_ensureInitialized'](),this[_0x316c0f(0x22b)];}get[a0_0x29028c(0x1f9)](){const _0x400b15=a0_0x29028c;return this[_0x400b15(0x1db)](),this['_strategy'];}get[a0_0x29028c(0x22a)](){const _0x1d0547=a0_0x29028c;return this['_ensureInitialized'](),this[_0x1d0547(0x1f2)];}['buildLockKey'](_0x588225){const _0x57d8ed=a0_0x29028c,{module:_0x2a0e16,endpoint:_0x480465,lockType:_0x685c53,recordId:_0x4976f6}=_0x588225;if(_0x4976f6)return''+this[_0x57d8ed(0x1e5)]+_0x2a0e16+':'+_0x480465+':'+_0x4976f6+':'+_0x685c53;return''+this['prefix']+_0x2a0e16+':'+_0x480465+':'+_0x685c53;}['generateLockValue'](){return this['workerId']+':'+uuidv4()+':'+Date['now']();}async['acquireReadLock'](_0x10bbc4){const _0x4c608e=a0_0x29028c,_0x2fc165={'sfFvV':_0x4c608e(0x1da),'rFLEc':function(_0x30f4e6,_0x649911){return _0x30f4e6<_0x649911;},'YOEAe':'read_lock_acquired','cynWE':_0x4c608e(0x216),'LVULe':'READ\x20lock\x20acquire\x20timeout','brroa':_0x4c608e(0x221)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x3a8536=this[_0x4c608e(0x207)]({..._0x10bbc4,'lockType':_0x2fc165[_0x4c608e(0x210)]}),_0x10a8a1=this[_0x4c608e(0x207)]({..._0x10bbc4,'lockType':_0x4c608e(0x1f4)}),_0x3b22b0=this['generateLockValue']();try{const _0x3e200a=redisClient[_0x4c608e(0x1e6)]();for(let _0x275938=0x0;_0x2fc165[_0x4c608e(0x20a)](_0x275938,this[_0x4c608e(0x225)]);_0x275938++){const _0x488256=await _0x3e200a['get'](_0x3a8536);if(!_0x488256){await _0x3e200a['incr'](_0x10a8a1),await _0x3e200a[_0x4c608e(0x223)](_0x10a8a1,this[_0x4c608e(0x1f7)]);const _0x394218=_0x10a8a1+':'+_0x3b22b0;return await _0x3e200a[_0x4c608e(0x1e7)](_0x394218,this['defaultTTL'],_0x3b22b0),logger[_0x4c608e(0x201)]({'event':_0x2fc165[_0x4c608e(0x22c)],'key':_0x10a8a1,'value':_0x3b22b0},'READ\x20lock\x20acquired'),{'success':!![],'lockValue':_0x3b22b0,'lockKey':_0x394218};}logger['debug']({'event':_0x4c608e(0x21e),'writeKey':_0x3a8536,'attempt':_0x275938},_0x4c608e(0x1ea)),await this['sleep'](this['retryDelay']*Math[_0x4c608e(0x228)](0x2,_0x275938));}return logger['warn']({'event':_0x2fc165[_0x4c608e(0x1fb)],'key':_0x10a8a1},_0x2fc165['LVULe']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x209bd8){return logger['error']({'event':'read_lock_error','error':_0x209bd8[_0x4c608e(0x1f8)]},_0x2fc165['brroa']),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x29028c(0x226)](_0x1d1d38){const _0x4285c6=a0_0x29028c,_0x2858b6={'WNfqf':_0x4285c6(0x1f4),'fHVlm':_0x4285c6(0x21b),'vhRib':'reject','JItMw':'WRITE\x20lock\x20acquired\x20(reject\x20mode)','oSyzF':_0x4285c6(0x200),'XpOyG':function(_0xd82918,_0x2148d6){return _0xd82918===_0x2148d6;},'GHSOC':_0x4285c6(0x219),'GqPqx':'Waiting\x20for\x20locks\x20to\x20release','HndLf':_0x4285c6(0x20e),'ytuCr':'write_lock_error'};if(!this[_0x4285c6(0x21a)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x5f0ff0=this['buildLockKey']({..._0x1d1d38,'lockType':_0x4285c6(0x1da)}),_0x4d784f=this[_0x4285c6(0x207)]({..._0x1d1d38,'lockType':_0x2858b6[_0x4285c6(0x1e0)]}),_0x4221ca=this['generateLockValue']();try{const _0x1e8117=redisClient[_0x4285c6(0x1e6)]();if(this['strategy']==='reject'){const _0x9bf771=await _0x1e8117[_0x4285c6(0x1f1)](_0x5f0ff0,_0x4221ca,'EX',this[_0x4285c6(0x1f7)],'NX');if(_0x9bf771==='OK')return logger['debug']({'event':_0x2858b6['fHVlm'],'key':_0x5f0ff0,'value':_0x4221ca,'strategy':_0x2858b6['vhRib']},_0x2858b6['JItMw']),{'success':!![],'lockValue':_0x4221ca,'lockKey':_0x5f0ff0};return logger[_0x4285c6(0x201)]({'event':_0x4285c6(0x215),'key':_0x5f0ff0},_0x2858b6['oSyzF']),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x439dad=0x0;_0x439dad<this['retryCount'];_0x439dad++){const [_0x3478eb,_0x189ef4]=await Promise[_0x4285c6(0x1dd)]([_0x1e8117[_0x4285c6(0x1e8)](_0x4d784f),_0x1e8117['get'](_0x5f0ff0)]);if(!_0x189ef4&&(!_0x3478eb||parseInt(_0x3478eb)===0x0)){const _0x17e95b=await _0x1e8117[_0x4285c6(0x1f1)](_0x5f0ff0,_0x4221ca,'EX',this[_0x4285c6(0x1f7)],'NX');if(_0x2858b6['XpOyG'](_0x17e95b,'OK'))return logger['debug']({'event':_0x4285c6(0x21b),'key':_0x5f0ff0,'value':_0x4221ca,'strategy':'retry'},_0x2858b6[_0x4285c6(0x1ec)]),{'success':!![],'lockValue':_0x4221ca,'lockKey':_0x5f0ff0};}logger['debug']({'event':_0x4285c6(0x1df),'writeKey':_0x5f0ff0,'readCount':_0x3478eb,'attempt':_0x439dad},_0x2858b6[_0x4285c6(0x1e2)]),await this[_0x4285c6(0x209)](this[_0x4285c6(0x1f0)]*Math['pow'](0x2,_0x439dad));}return logger['warn']({'event':_0x2858b6[_0x4285c6(0x1de)],'key':_0x5f0ff0},'WRITE\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x5a89ba){return logger['error']({'event':_0x2858b6['ytuCr'],'error':_0x5a89ba['message']},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x2b5e11,_0x2e1b3d){const _0x2d326=a0_0x29028c,_0x502b34={'Klnfj':function(_0x14197e,_0x530996){return _0x14197e(_0x530996);},'rklvp':_0x2d326(0x212),'CWnCa':_0x2d326(0x229),'GiDhq':'Lock\x20release\x20error'};if(!this['enabled']||!_0x2b5e11)return!![];try{const _0x46548f=redisClient['getClient']();if(_0x2b5e11[_0x2d326(0x20f)](':read:')){await _0x46548f[_0x2d326(0x214)](_0x2b5e11);const _0x50a005=_0x2b5e11[_0x2d326(0x1fe)](0x0,_0x2b5e11['lastIndexOf'](':')),_0x2c69da=await _0x46548f['get'](_0x50a005);return _0x2c69da&&_0x502b34[_0x2d326(0x1eb)](parseInt,_0x2c69da)>0x0&&await _0x46548f['decr'](_0x50a005),logger['debug']({'event':_0x2d326(0x1fc),'key':_0x2b5e11},_0x502b34['rklvp']),!![];}const _0x58c922=_0x2d326(0x211),_0x422456=await _0x46548f[_0x2d326(0x1e1)](_0x58c922,0x1,_0x2b5e11,_0x2e1b3d);if(_0x422456===0x1)return logger['debug']({'event':'write_lock_released','key':_0x2b5e11},'WRITE\x20lock\x20released'),!![];return logger[_0x2d326(0x1d9)]({'event':_0x2d326(0x1f3),'key':_0x2b5e11},_0x502b34['CWnCa']),![];}catch(_0x177abc){return logger[_0x2d326(0x1ee)]({'event':_0x2d326(0x1e4),'key':_0x2b5e11,'error':_0x177abc['message']},_0x502b34[_0x2d326(0x1dc)]),![];}}async['extendLock'](_0x4948d5,_0x149c24,_0x55d9c0=null){const _0x3d900f=a0_0x29028c,_0x1cc263={'rWcvp':function(_0x406c81,_0x2580ab){return _0x406c81===_0x2580ab;},'gqUMc':_0x3d900f(0x220),'Aaqyr':'lock_extend_error','DlaNd':_0x3d900f(0x202)};if(!this['enabled']||!_0x4948d5)return!![];try{const _0x2a538b=redisClient['getClient'](),_0x2b9d91='\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',_0x188ea7=await _0x2a538b[_0x3d900f(0x1e1)](_0x2b9d91,0x1,_0x4948d5,_0x149c24,_0x55d9c0||this['defaultTTL']);if(_0x1cc263['rWcvp'](_0x188ea7,0x1))return logger['debug']({'event':_0x1cc263['gqUMc'],'key':_0x4948d5,'ttl':_0x55d9c0||this[_0x3d900f(0x1f7)]},_0x3d900f(0x206)),!![];return![];}catch(_0x57749d){return logger[_0x3d900f(0x1ee)]({'event':_0x1cc263[_0x3d900f(0x1fd)],'key':_0x4948d5,'error':_0x57749d[_0x3d900f(0x1f8)]},_0x1cc263['DlaNd']),![];}}['isEnabled'](){return this['enabled'];}[a0_0x29028c(0x209)](_0xc87621){return new Promise(_0x53137d=>setTimeout(_0x53137d,_0xc87621));}async['getLockInfo'](_0x399951){const _0x285172=a0_0x29028c,_0x5da814={'nMUMj':'write','Jrlqf':_0x285172(0x1f4),'TQbCS':function(_0x50ac1f,_0x323975){return _0x50ac1f||_0x323975;},'gWjpw':function(_0x35ff0e,_0x1372a0){return _0x35ff0e(_0x1372a0);}};if(!this['enabled'])return{'enabled':![]};try{const _0x35260a=redisClient[_0x285172(0x1e6)](),_0x249b79=this[_0x285172(0x207)]({..._0x399951,'lockType':_0x5da814[_0x285172(0x224)]}),_0x49d215=this[_0x285172(0x207)]({..._0x399951,'lockType':_0x5da814[_0x285172(0x1e3)]}),[_0x3858ec,_0xf9439b]=await Promise[_0x285172(0x1dd)]([_0x35260a['get'](_0x249b79),_0x35260a[_0x285172(0x1e8)](_0x49d215)]);return{'enabled':!![],'writeLock':_0x5da814[_0x285172(0x20d)](_0x3858ec,null),'readCount':_0x5da814['gWjpw'](parseInt,_0xf9439b)||0x0,'writeKey':_0x249b79,'readKey':_0x49d215};}catch(_0x5e050a){return{'enabled':!![],'error':_0x5e050a['message']};}}}module['exports']=new LockManager();
|
|
1
|
+
function a0_0xa73d(_0x3f84f1,_0x142ca1){_0x3f84f1=_0x3f84f1-0x66;const _0x15908a=a0_0x1590();let _0xa73d19=_0x15908a[_0x3f84f1];if(a0_0xa73d['JmIsiz']===undefined){var _0x312773=function(_0x42eff0){const _0x1b4ab8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x593b23='',_0x345447='';for(let _0x2b1c28=0x0,_0x5eef65,_0x1942a0,_0x59e2ff=0x0;_0x1942a0=_0x42eff0['charAt'](_0x59e2ff++);~_0x1942a0&&(_0x5eef65=_0x2b1c28%0x4?_0x5eef65*0x40+_0x1942a0:_0x1942a0,_0x2b1c28++%0x4)?_0x593b23+=String['fromCharCode'](0xff&_0x5eef65>>(-0x2*_0x2b1c28&0x6)):0x0){_0x1942a0=_0x1b4ab8['indexOf'](_0x1942a0);}for(let _0x2cb08a=0x0,_0x3c7f89=_0x593b23['length'];_0x2cb08a<_0x3c7f89;_0x2cb08a++){_0x345447+='%'+('00'+_0x593b23['charCodeAt'](_0x2cb08a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x345447);};a0_0xa73d['ZdsUSa']=_0x312773,a0_0xa73d['LTZVWa']={},a0_0xa73d['JmIsiz']=!![];}const _0x56f2bf=_0x15908a[0x0],_0x2cc7da=_0x3f84f1+_0x56f2bf,_0x594f29=a0_0xa73d['LTZVWa'][_0x2cc7da];return!_0x594f29?(_0xa73d19=a0_0xa73d['ZdsUSa'](_0xa73d19),a0_0xa73d['LTZVWa'][_0x2cc7da]=_0xa73d19):_0xa73d19=_0x594f29,_0xa73d19;}const a0_0x4d6783=a0_0xa73d;(function(_0x2ea2c6,_0x4ec4e1){const _0x47a3ff=a0_0xa73d,_0x439b51=_0x2ea2c6();while(!![]){try{const _0x504144=-parseInt(_0x47a3ff(0xa5))/0x1+-parseInt(_0x47a3ff(0x7b))/0x2*(-parseInt(_0x47a3ff(0xb5))/0x3)+-parseInt(_0x47a3ff(0x69))/0x4*(-parseInt(_0x47a3ff(0x6c))/0x5)+parseInt(_0x47a3ff(0x72))/0x6+parseInt(_0x47a3ff(0x7a))/0x7*(parseInt(_0x47a3ff(0x74))/0x8)+parseInt(_0x47a3ff(0xb7))/0x9*(-parseInt(_0x47a3ff(0x87))/0xa)+parseInt(_0x47a3ff(0x68))/0xb;if(_0x504144===_0x4ec4e1)break;else _0x439b51['push'](_0x439b51['shift']());}catch(_0x44f544){_0x439b51['push'](_0x439b51['shift']());}}}(a0_0x1590,0x9ef7b));function a0_0x1590(){const _0x3754c5=['Bg9JA19LEhrLBMrLza','mJG3mdCZzfviDfbp','zgvMyxvSDfruta','z2v0tg9JA0LUzM8','mte1ntm0mw9vswLVrW','mJm3odq3mNbLtLnkCa','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','zxzHBa','mtbpDgTRvuG','yvvPrgy','AfHLEeK','x3DVCMTLCKLK','A0feC0W','t1DQzwS','ndKXmteYuhryAKro','D3jPDgvFBg9JA193ywL0Aw5N','mtu4mdbyzeDUA3C','ChjLzML4','B1bPsLa','BwvZC2fNzq','EMjvrfy','x3bYzwzPEa','mJy1m2nYEfbSrW','mtHYsLnxAe8','D3jPDgvFBg9JA190Aw1LB3v0','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','x2LUAxrPywXPEMvK','CMvSzwfZzuXVy2S','yxnyAw0','svDeteC','D29YA2vYswq','lcbZDhjHDgvNEtOG','Cg93','zgvIDwC','zufNwLy','mJKWy3Dbq3PJ','BM93','zxjYB3i','tg9JAYbYzwXLyxnLigvYCM9Y','ywXS','EKPWAge','yNvPBgrmB2nRs2v5','x2rLzMf1BhruveW','CMv0CNLdB3vUDa','C2v0','CMvHzf9SB2nRx3jLBgvHC2vK','lI9YzwrPCY1JBgLLBNq','x3jLDhj5rgvSyxK','zxHWAxjL','D3jPDgu','D29YA2vYlq','D3jPDgvFBg9JA19Hy3f1AxjLza','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','D3zLtMC','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','sNnjEwq','CMv0CNK','x2vUywjSzwq','x3jLDhj5q291BNq','zw5HyMXLza','AK1vswC','ze1TDLq','x2vUC3vYzuLUAxrPywXPEMvK','z2v0q2XPzw50','CMvHza','ody0mZCZrMTQzeLZ','CMv0CNLezwXHEq','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','te9ds19esvnuuKLcvvrfrf9uveW','zw52','CMvQzwn0','CMvHzf9SB2nRx2fJCxvPCMvK','x3n0CMf0zwD5','z2v0','y3nvBK8','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','CxrmtgO','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','zxHWB3j0CW','z2f1AK8','uKvbrcbSB2nRigfJCxvPCMvK','mta1mJKXEw9ovxr5'];a0_0x1590=function(){return _0x3754c5;};return a0_0x1590();}const redisClient=require(a0_0x4d6783(0x92)),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x11bf75=a0_0x4d6783;this[_0x11bf75(0x79)]=null,this['_enabled']=null,this['_defaultTTL']=null,this['_retryCount']=null,this[_0x11bf75(0x93)]=null,this[_0x11bf75(0xac)]=null,this[_0x11bf75(0x6f)]=null,this[_0x11bf75(0x7e)]=![];}['_initConfig'](){const _0x4fa8c9=a0_0x4d6783,_0x2f0101={'gaujO':'lock_config_init','QWVwg':function(_0x59daee,_0x2d337a,_0x37408d){return _0x59daee(_0x2d337a,_0x37408d);},'IWDLG':'true','VSfRy':'rf:lock:'},_0x2fff5e='8|5|3|6|4|7|1|0|2'['split']('|');let _0x2dadac=0x0;while(!![]){switch(_0x2fff5e[_0x2dadac++]){case'0':this[_0x4fa8c9(0x7e)]=!![];continue;case'1':this['_workerId']=_0x4fa8c9(0x96)+process['pid'];continue;case'2':logger['info']({'event':_0x2f0101[_0x4fa8c9(0xb3)],'enabled':this[_0x4fa8c9(0x9d)],'strategy':this['_strategy'],'ttl':this[_0x4fa8c9(0x8e)],'retryCount':this[_0x4fa8c9(0x9e)],'retryDelay':this['_retryDelay'],'workerId':this[_0x4fa8c9(0x6f)]},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+_0x4fa8c9(0x83)+this['_strategy']);continue;case'3':this['_defaultTTL']=parseInt(process['env'][_0x4fa8c9(0xa8)],0xa)||0xa;continue;case'4':this[_0x4fa8c9(0x93)]=_0x2f0101['QWVwg'](parseInt,process['env'][_0x4fa8c9(0xaf)],0xa)||0x64;continue;case'5':this['_enabled']=process['env']['LOCK_DISTRIBUTED_ENABLED']===_0x2f0101[_0x4fa8c9(0x81)];continue;case'6':this[_0x4fa8c9(0x9e)]=parseInt(process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3;continue;case'7':this[_0x4fa8c9(0xac)]=process[_0x4fa8c9(0xa9)][_0x4fa8c9(0x9a)]||'retry';continue;case'8':this[_0x4fa8c9(0x79)]=_0x2f0101['VSfRy'];continue;}break;}}[a0_0x4d6783(0xa2)](){const _0x476112=a0_0x4d6783;!this[_0x476112(0x7e)]&&this['_initConfig']();}get[a0_0x4d6783(0x75)](){return this['_ensureInitialized'](),this['_prefix'];}get[a0_0x4d6783(0x9f)](){return this['_ensureInitialized'](),this['_enabled'];}get['defaultTTL'](){const _0x176004=a0_0x4d6783;return this['_ensureInitialized'](),this[_0x176004(0x8e)];}get[a0_0x4d6783(0x8f)](){const _0x51e766=a0_0x4d6783;return this[_0x51e766(0xa2)](),this['_retryCount'];}get[a0_0x4d6783(0xa6)](){const _0x2e36e6=a0_0x4d6783;return this['_ensureInitialized'](),this[_0x2e36e6(0x93)];}get['strategy'](){const _0x55b286=a0_0x4d6783;return this['_ensureInitialized'](),this[_0x55b286(0xac)];}get['workerId'](){const _0x13fd4c=a0_0x4d6783;return this[_0x13fd4c(0xa2)](),this[_0x13fd4c(0x6f)];}[a0_0x4d6783(0x8d)](_0xb32ebc){const {module:_0x37e299,endpoint:_0x270f7f,lockType:_0x27a7cb,recordId:_0x16297c}=_0xb32ebc;if(_0x16297c)return''+this['prefix']+_0x37e299+':'+_0x270f7f+':'+_0x16297c+':'+_0x27a7cb;return''+this['prefix']+_0x37e299+':'+_0x270f7f+':'+_0x27a7cb;}['generateLockValue'](){const _0x5a3ec3=a0_0x4d6783,_0x31d520={'oPiJP':function(_0x24514f){return _0x24514f();}};return this[_0x5a3ec3(0x82)]+':'+_0x31d520[_0x5a3ec3(0x76)](uuidv4)+':'+Date[_0x5a3ec3(0x88)]();}async['acquireReadLock'](_0x613e01){const _0x1513d4=a0_0x4d6783,_0x5f2591={'dqrfd':_0x1513d4(0x95),'eAgZV':_0x1513d4(0xa4),'LVPgr':function(_0x61edb1,_0x26809f){return _0x61edb1<_0x26809f;},'wveNg':_0x1513d4(0xb4),'jMUIg':_0x1513d4(0xb1),'uOUUu':function(_0x4730c7,_0x3df17c){return _0x4730c7*_0x3df17c;},'rcCXo':_0x1513d4(0x98),'aUiDf':'read_lock_error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x3c3b98=this['buildLockKey']({..._0x613e01,'lockType':_0x5f2591['dqrfd']}),_0x2fdea2=this[_0x1513d4(0x8d)]({..._0x613e01,'lockType':_0x5f2591[_0x1513d4(0x86)]}),_0x21351=this['generateLockValue']();try{const _0x2921b8=redisClient[_0x1513d4(0xa3)]();for(let _0x3e1c3a=0x0;_0x5f2591['LVPgr'](_0x3e1c3a,this['retryCount']);_0x3e1c3a++){const _0x22c9f6=await _0x2921b8['get'](_0x3c3b98);if(!_0x22c9f6){await _0x2921b8['incr'](_0x2fdea2),await _0x2921b8[_0x1513d4(0x94)](_0x2fdea2,this['defaultTTL']);const _0x5f4828=_0x2fdea2+':'+_0x21351;return await _0x2921b8['setex'](_0x5f4828,this['defaultTTL'],_0x21351),logger[_0x1513d4(0x85)]({'event':_0x1513d4(0xab),'key':_0x2fdea2,'value':_0x21351},_0x5f2591[_0x1513d4(0x99)]),{'success':!![],'lockValue':_0x21351,'lockKey':_0x5f4828};}logger[_0x1513d4(0x85)]({'event':'read_lock_waiting','writeKey':_0x3c3b98,'attempt':_0x3e1c3a},_0x5f2591[_0x1513d4(0xa0)]),await this['sleep'](_0x5f2591['uOUUu'](this[_0x1513d4(0xa6)],Math[_0x1513d4(0x84)](0x2,_0x3e1c3a)));}return logger['warn']({'event':'read_lock_timeout','key':_0x2fdea2},_0x5f2591['rcCXo']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x5b4218){return logger['error']({'event':_0x5f2591[_0x1513d4(0x6d)],'error':_0x5b4218[_0x1513d4(0x77)]},'READ\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x1c7fbb){const _0x1a7e2e=a0_0x4d6783,_0x18e3ca={'kADsL':_0x1a7e2e(0x95),'zbUDV':'reject','zJpha':function(_0x435485,_0x1592da){return _0x435485===_0x1592da;},'asXim':'WRITE\x20lock\x20acquired\x20(reject\x20mode)','qtLLj':'WRITE\x20lock\x20rejected\x20-\x20record\x20busy','urJol':function(_0x31dd17,_0x238ab7){return _0x31dd17(_0x238ab7);},'dMmvT':'WRITE\x20lock\x20acquired\x20(retry\x20mode)','hXexI':_0x1a7e2e(0xa7),'VjAak':'write_lock_error'};if(!this[_0x1a7e2e(0x9f)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x1574e4=this[_0x1a7e2e(0x8d)]({..._0x1c7fbb,'lockType':_0x18e3ca[_0x1a7e2e(0x70)]}),_0x35042f=this['buildLockKey']({..._0x1c7fbb,'lockType':_0x1a7e2e(0xa4)}),_0x4e1907=this['generateLockValue']();try{const _0x56cc8a=redisClient[_0x1a7e2e(0xa3)]();if(this['strategy']===_0x18e3ca[_0x1a7e2e(0x78)]){const _0x31ae81=await _0x56cc8a[_0x1a7e2e(0x90)](_0x1574e4,_0x4e1907,'EX',this['defaultTTL'],'NX');if(_0x18e3ca[_0x1a7e2e(0x8c)](_0x31ae81,'OK'))return logger[_0x1a7e2e(0x85)]({'event':_0x1a7e2e(0x97),'key':_0x1574e4,'value':_0x4e1907,'strategy':_0x1a7e2e(0xaa)},_0x18e3ca[_0x1a7e2e(0x80)]),{'success':!![],'lockValue':_0x4e1907,'lockKey':_0x1574e4};return logger['debug']({'event':'write_lock_rejected','key':_0x1574e4},_0x18e3ca[_0x1a7e2e(0xb0)]),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x4e428b=0x0;_0x4e428b<this[_0x1a7e2e(0x8f)];_0x4e428b++){const [_0x16fbfc,_0x3398ba]=await Promise[_0x1a7e2e(0x8b)]([_0x56cc8a[_0x1a7e2e(0xad)](_0x35042f),_0x56cc8a['get'](_0x1574e4)]);if(!_0x3398ba&&(!_0x16fbfc||_0x18e3ca['urJol'](parseInt,_0x16fbfc)===0x0)){const _0x4dba46=await _0x56cc8a['set'](_0x1574e4,_0x4e1907,'EX',this['defaultTTL'],'NX');if(_0x18e3ca[_0x1a7e2e(0x8c)](_0x4dba46,'OK'))return logger['debug']({'event':'write_lock_acquired','key':_0x1574e4,'value':_0x4e1907,'strategy':_0x1a7e2e(0x9c)},_0x18e3ca[_0x1a7e2e(0xa1)]),{'success':!![],'lockValue':_0x4e1907,'lockKey':_0x1574e4};}logger['debug']({'event':_0x1a7e2e(0x73),'writeKey':_0x1574e4,'readCount':_0x16fbfc,'attempt':_0x4e428b},_0x1a7e2e(0x6a)),await this['sleep'](this['retryDelay']*Math['pow'](0x2,_0x4e428b));}return logger['warn']({'event':_0x1a7e2e(0x7c),'key':_0x1574e4},_0x18e3ca[_0x1a7e2e(0x6e)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x41832b){return logger[_0x1a7e2e(0x89)]({'event':_0x18e3ca['VjAak'],'error':_0x41832b[_0x1a7e2e(0x77)]},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x4d6783(0x7f)](_0x5e3ac1,_0x4be6b7){const _0x21fea0=a0_0x4d6783,_0x1c9dd3={'yRaAY':function(_0x318797,_0x5007e5){return _0x318797(_0x5007e5);},'zMCNb':_0x21fea0(0x91),'OWjek':'READ\x20lock\x20released','DeeUP':'WRITE\x20lock\x20released','rLSSr':'lock_release_not_owner'};if(!this['enabled']||!_0x5e3ac1)return!![];try{const _0xb79db9=redisClient['getClient']();if(_0x5e3ac1['includes'](':read:')){await _0xb79db9['del'](_0x5e3ac1);const _0x272f10=_0x5e3ac1['substring'](0x0,_0x5e3ac1['lastIndexOf'](':')),_0x2504d4=await _0xb79db9['get'](_0x272f10);return _0x2504d4&&_0x1c9dd3['yRaAY'](parseInt,_0x2504d4)>0x0&&await _0xb79db9['decr'](_0x272f10),logger[_0x21fea0(0x85)]({'event':_0x1c9dd3['zMCNb'],'key':_0x5e3ac1},_0x1c9dd3[_0x21fea0(0x71)]),!![];}const _0x215c9b='\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',_0x35b1d8=await _0xb79db9[_0x21fea0(0x6b)](_0x215c9b,0x1,_0x5e3ac1,_0x4be6b7);if(_0x35b1d8===0x1)return logger['debug']({'event':'write_lock_released','key':_0x5e3ac1},_0x1c9dd3['DeeUP']),!![];return logger['warn']({'event':_0x1c9dd3['rLSSr'],'key':_0x5e3ac1},_0x21fea0(0x7d)),![];}catch(_0x3920ac){return logger[_0x21fea0(0x89)]({'event':'lock_release_error','key':_0x5e3ac1,'error':_0x3920ac[_0x21fea0(0x77)]},_0x21fea0(0x8a)),![];}}async['extendLock'](_0xa1fc20,_0x2a3feb,_0x34a3c3=null){const _0x4402ec=a0_0x4d6783,_0x39f21d={'cvnYy':'Lock\x20TTL\x20extended'};if(!this[_0x4402ec(0x9f)]||!_0xa1fc20)return!![];try{const _0x32c312=redisClient['getClient'](),_0x346502='\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',_0x38ba35=await _0x32c312[_0x4402ec(0x6b)](_0x346502,0x1,_0xa1fc20,_0x2a3feb,_0x34a3c3||this[_0x4402ec(0x66)]);if(_0x38ba35===0x1)return logger[_0x4402ec(0x85)]({'event':_0x4402ec(0xb6),'key':_0xa1fc20,'ttl':_0x34a3c3||this['defaultTTL']},_0x39f21d['cvnYy']),!![];return![];}catch(_0x4ff8dd){return logger['error']({'event':'lock_extend_error','key':_0xa1fc20,'error':_0x4ff8dd[_0x4402ec(0x77)]},'Lock\x20extend\x20error'),![];}}['isEnabled'](){const _0x371c88=a0_0x4d6783;return this[_0x371c88(0x9f)];}['sleep'](_0x220f52){return new Promise(_0x5b85ff=>setTimeout(_0x5b85ff,_0x220f52));}async[a0_0x4d6783(0x67)](_0x7d65de){const _0x5065b9=a0_0x4d6783,_0x247f9d={'YjZJI':'read','csUnO':function(_0x211782,_0x153ff6){return _0x211782||_0x153ff6;},'JsIyd':function(_0x5c3508,_0x4f878b){return _0x5c3508(_0x4f878b);}};if(!this[_0x5065b9(0x9f)])return{'enabled':![]};try{const _0x1d5fa4=redisClient[_0x5065b9(0xa3)](),_0x3974db=this['buildLockKey']({..._0x7d65de,'lockType':'write'}),_0x37b72d=this[_0x5065b9(0x8d)]({..._0x7d65de,'lockType':_0x247f9d['YjZJI']}),[_0x520b3f,_0x483fa6]=await Promise[_0x5065b9(0x8b)]([_0x1d5fa4[_0x5065b9(0xad)](_0x3974db),_0x1d5fa4[_0x5065b9(0xad)](_0x37b72d)]);return{'enabled':!![],'writeLock':_0x247f9d[_0x5065b9(0xae)](_0x520b3f,null),'readCount':_0x247f9d[_0x5065b9(0x9b)](parseInt,_0x483fa6)||0x0,'writeKey':_0x3974db,'readKey':_0x37b72d};}catch(_0x242768){return{'enabled':!![],'error':_0x242768[_0x5065b9(0x77)]};}}}module[a0_0x4d6783(0xb2)]=new LockManager();
|
package/src/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x22da(_0x519345,_0x113fa8){_0x519345=_0x519345-0xcd;const _0x12bf42=a0_0x12bf();let _0x22da7a=_0x12bf42[_0x519345];if(a0_0x22da['yONNLf']===undefined){var _0x327958=function(_0xbf7113){const _0xe55a31='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x360b75='',_0x8e2429='';for(let _0x17f336=0x0,_0x5124b5,_0x2f067b,_0x4b2dd6=0x0;_0x2f067b=_0xbf7113['charAt'](_0x4b2dd6++);~_0x2f067b&&(_0x5124b5=_0x17f336%0x4?_0x5124b5*0x40+_0x2f067b:_0x2f067b,_0x17f336++%0x4)?_0x360b75+=String['fromCharCode'](0xff&_0x5124b5>>(-0x2*_0x17f336&0x6)):0x0){_0x2f067b=_0xe55a31['indexOf'](_0x2f067b);}for(let _0x518e1c=0x0,_0x4c776d=_0x360b75['length'];_0x518e1c<_0x4c776d;_0x518e1c++){_0x8e2429+='%'+('00'+_0x360b75['charCodeAt'](_0x518e1c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x8e2429);};a0_0x22da['pTMKLJ']=_0x327958,a0_0x22da['lADOuy']={},a0_0x22da['yONNLf']=!![];}const _0x1a3245=_0x12bf42[0x0],_0x4cc158=_0x519345+_0x1a3245,_0x3987b5=a0_0x22da['lADOuy'][_0x4cc158];return!_0x3987b5?(_0x22da7a=a0_0x22da['pTMKLJ'](_0x22da7a),a0_0x22da['lADOuy'][_0x4cc158]=_0x22da7a):_0x22da7a=_0x3987b5,_0x22da7a;}const a0_0x1f1287=a0_0x22da;(function(_0x8bd2a1,_0x169c89){const _0x21cdbe=a0_0x22da,_0x165c6b=_0x8bd2a1();while(!![]){try{const _0x17636f=parseInt(_0x21cdbe(0x176))/0x1*(parseInt(_0x21cdbe(0x10b))/0x2)+parseInt(_0x21cdbe(0x15a))/0x3+-parseInt(_0x21cdbe(0x14c))/0x4+-parseInt(_0x21cdbe(0x156))/0x5*(parseInt(_0x21cdbe(0xe0))/0x6)+-parseInt(_0x21cdbe(0x125))/0x7*(parseInt(_0x21cdbe(0x137))/0x8)+-parseInt(_0x21cdbe(0x16b))/0x9+parseInt(_0x21cdbe(0x16a))/0xa;if(_0x17636f===_0x169c89)break;else _0x165c6b['push'](_0x165c6b['shift']());}catch(_0x492363){_0x165c6b['push'](_0x165c6b['shift']());}}}(a0_0x12bf,0x1be6c));const pino=require('pino'),fs=require('fs'),path=require(a0_0x1f1287(0xfb));let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel=a0_0x1f1287(0x153),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;function a0_0x12bf(){const _0x3b17ac=['CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','sxvkB3G','A1P5CNO','zhHru24','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','CgfKrw5K','Eu96Egu','reiGuxvLCNK','CMvWzwf0','uwHztva','Dw5RBM93BG','Dw5Oyw5KBgvKuMvQzwn0Aw9U','CMvMCMvZAf90B2TLBG','C3rKu2vYAwfSAxPLCNm','A256tg4','Ahr0Cf9LCNjVCG','quXurvi','ChjVzhvJDgLVBG','Ag9ZDa','Cg9YDa','CgLU','mtiWuNPxrurd','DxnLCI1Hz2vUDa','Dg9vChbLCKnHC2u','DxjS','zxjYB3i','w1jfrefdvevexq','Dg5OwvK','D2fYBMLUzW','Bwf4','y3jLzgL0x2nHCMq','Ec1Yzxf1zxn0lwLK','C3rHDhvZq29Kzq','q09ntuLu','zgjFDhjHBNnHy3rPB24','E21Zz30','ALfMz1y','Cg9ZDgDYzxnXBa','Ahj0Aw1L','ChjPDMf0zv9RzxK','zuvqqM4','rw1PBMW','suXRz2S','BLLnBgy','tujJCLm','Ew9lAvi','revmrvrf','u0vmrunu','Cgf0Aa','CuDTrKi','vfjbtLnbq1rjt05FqKvhsu4','ChjVAMvJDa','C3rYAw5NAwz5','yxHQDMO','B3rW','C2vYDMvYx3n0yxj0Aw5N','CMHptNK','y3DK','wLHnuNG','yKnMBwq','vMXryMO','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','zw5KCg9PBNrFCMvNAxn0zxjLza','u1fmx0Xpr19ftKfcteve','mtK1mZG2u2j5s1Dn','vu5ltK9xtG','Cxn4tem','u1fmx0Xpr19tte9xx1riuKvtse9mra','A2v5CW','tK9erv9ftLy','yxbWlMXVzW','DhLWzq','C3nU','vNLIzLe','qKD3rgG','u293r2y','uMvnwui','CMvZDgzVCMDL','zMXVB3i','Dxb0Aw1L','ywnJzxnZx3rVA2vU','wKnxu3K','y1fRsgC','C3fSx3f1zxj5','ue5Sr0q','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','Dg9Rzw4','y29UBMvJDgLVBG','yLbXC3C','CgfZC3DVCMq','ntG2mtK0zhjtsNjM','sw50zxjUywWGC2vYDMvYigvYCM9Y','AgvHzgvYCW','z2v0sgvHzgvYCW','y29Kzq','DxnLCG','uK9mtejbq0S','zxjYB3iUBg9N','ANnVBG','BMfTzq','vvr6uLC','BKrtDK0','zLDUAuq','C3rHy2S','iokvKqRILzeGifbVCNqGicaGicaGidOG','w09lxsbqCM9Qzwn0igXVywrLzdOG','CNL3CMO','Dg9mB3DLCKnHC2u','ofjHy0rwyW','tM9Kzs5QCW','CgfZC3DK','yM9KEq','vhjHBNnHy3rPB24G','C3rHDhvZ','zgf0ywjHC2vFy29UzMLN','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','w1jfrefdveveoMHHC2HD','qwvJCKe','vfjbtLnbq1rjt05Fq09ntuLu','zw52AxjVBM1LBNq','C3bSAxq','C29Tzq','Bwf0y2G','qMnQwNm','Dw5JyxvNAhrfEgnLChrPB24','CM93C0fMzMvJDgvK','suLYtvG','u1fmx0Xpr19qqvjbtvm','Aw1wtMK','nteWotq0DM5UEw9y','tI9b','qKrIsKG','sLDux1nfq1jfva','BwfW','zMf0ywXFzxjYB3i','Aw5MBW','zgvIDwC','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','ChDK','mtG5mtbwr21xC3G','Ahr0Cf9Yzxf1zxn0','sfruuca','CMvTB3rLqwrKCMvZCW','mZqXndq1CxjJCwPx','BwvTB3j5vxnHz2u','te9hx1rpx0zjteu','q1jfqvrf','Dhj1zq','swTqCK0','Dg9ju09tDhjPBMC','y3z2','w1jfrefdveveoNrVA2vUxq','zMLSzv9SB2DNAw5Nx2vUywjSzwq','icdIHPiG','y3jLyxrLv3jPDgvtDhjLyw0','B2jQzwn0','yxv0Ag9YAxPHDgLVBG','DhjPBq','icbvuKW6icaGia','mZm1mJC4mfHlsgPAvG','mtmWodq1nLHhC1PfEG','zw5oqwy','twrJqM4','rxjYB3i','tvDLCLK','DgvZDa','ms4WlJu','BwvZC2fNzq','yxbPs2v5','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','C3rHCNrZv2L0Aa','muXvve52Dq','C2vJCMv0','s0zpvuG','zw52','AM9PBG','C2vYDMvYx3jLywr5','yxbPx2TLEq','iokvKqRILzeGifbYB2PLy3qGicaGidOG','Bwv0Ag9K','D2fYBG','ALncEuK','BgvUz3rO','zxHPC3rZu3LUyW','zMf0ywW','C2vYDMLJzuLUzM8','qxLsrgK','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','u1LtoKHioK1noNnZ','zgjFCxvLCNK'];a0_0x12bf=function(){return _0x3b17ac;};return a0_0x12bf();}const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x1f1287(0x187),'ignore':a0_0x1f1287(0x186),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0x1f1287(0xee),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env'][a0_0x1f1287(0x110)]!==a0_0x1f1287(0xdc),logLevel=process[a0_0x1f1287(0x179)]['LOG_LEVEL']||a0_0x1f1287(0x152);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env']['APP_VERSION']||a0_0x1f1287(0x171),'env':process[a0_0x1f1287(0x179)][a0_0x1f1287(0x110)]||'development'},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':[a0_0x1f1287(0x189),a0_0x1f1287(0x154),a0_0x1f1287(0x124),a0_0x1f1287(0x121),'apiKey','DB_PASSWORD',a0_0x1f1287(0x14f)],'censor':a0_0x1f1287(0xe5)},'serializers':{'req':_0x28d356=>({'id':_0x28d356['id'],'method':_0x28d356[a0_0x1f1287(0x17e)],'url':_0x28d356['url'],'path':_0x28d356[a0_0x1f1287(0xfb)],'remoteAddress':_0x28d356['ip']||_0x28d356[a0_0x1f1287(0x122)]?.[a0_0x1f1287(0x159)]}),'res':_0x47745f=>({'statusCode':_0x47745f[a0_0x1f1287(0xeb)],'headers':_0x47745f[a0_0x1f1287(0x128)]?.()}),'err':pino[a0_0x1f1287(0xd8)]['err']}});function initFileLogging(){const _0x2beacb=a0_0x1f1287,_0x785e8e={'Ovvyz':function(_0x5319cc,_0x3d31e8){return _0x5319cc===_0x3d31e8;},'IIrMX':'true','lZgSx':_0x2beacb(0x118),'vQWMJ':_0x2beacb(0x153),'rhONy':function(_0x2f598f,_0x3ab68b){return _0x2f598f(_0x3ab68b);},'TBdel':_0x2beacb(0x111),'imVNi':_0x2beacb(0x12c),'VybfQ':_0x2beacb(0x163),'IuJox':function(_0x867963,_0x23b00b,_0x2d1dd){return _0x867963(_0x23b00b,_0x2d1dd);},'qERwA':'info'};if(fileLoggingInitialized)return;logToFile=_0x785e8e['Ovvyz'](process['env'][_0x2beacb(0x15c)],_0x785e8e[_0x2beacb(0x149)]);const _0xf4e39f=process[_0x2beacb(0x179)][_0x2beacb(0x13e)]||'default';logDir=process[_0x2beacb(0x179)]['LOG_DIR']||'./logs/'+_0xf4e39f,serviceName=process['env']['SERVICE_NAME']||_0x785e8e['lZgSx'],sqlLogEnabled=_0x785e8e['Ovvyz'](process['env'][_0x2beacb(0x10a)],_0x2beacb(0x15e)),sqlLogLevel=process['env']['SQL_LOG_LEVEL']||_0x785e8e['vQWMJ'],sqlLogParams=process['env'][_0x2beacb(0x14a)]!=='false',sqlLogSlowThreshold=_0x785e8e[_0x2beacb(0x103)](parseInt,process['env'][_0x2beacb(0x10e)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x56a20d=path['resolve'](process[_0x2beacb(0x104)](),logDir);try{!fs[_0x2beacb(0x182)](_0x56a20d)&&fs['mkdirSync'](_0x56a20d,{'recursive':!![]});}catch(_0x4e4336){console[_0x2beacb(0xe4)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x56a20d+':',_0x4e4336[_0x2beacb(0x172)]),fileLoggingInitialized=!![];return;}const _0x5e6a60=path[_0x2beacb(0x17a)](_0x56a20d,_0x785e8e['TBdel']),_0x1e12cd=path['join'](_0x56a20d,_0x785e8e[_0x2beacb(0x14b)]);try{appLogStream=fs[_0x2beacb(0x165)](_0x5e6a60,{'flags':'a'}),errorLogStream=fs[_0x2beacb(0x165)](_0x1e12cd,{'flags':'a'}),fileLoggingInitialized=!![];const _0x1a6c9b={'event':_0x785e8e[_0x2beacb(0x114)],'logDir':_0x56a20d,'files':[_0x785e8e['TBdel'],_0x785e8e[_0x2beacb(0x14b)]]},_0x535153='File\x20logging\x20enabled:\x20'+_0x56a20d;logger['info'](_0x1a6c9b,_0x535153),_0x785e8e[_0x2beacb(0x18a)](writeToFileLog,{..._0x1a6c9b,'level':'info','msg':_0x535153,'time':new Date()['toISOString']()},_0x785e8e['qERwA']);}catch(_0x51d83d){console[_0x2beacb(0xe4)](_0x2beacb(0x174),_0x51d83d['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x3450ca,_0x34cdae){const _0x137e02=a0_0x1f1287,_0x497e1e={'IcAcM':function(_0x348c06,_0x3103c7){return _0x348c06||_0x3103c7;},'tnhYY':function(_0x1842e3,_0x1303cb){return _0x1842e3+_0x1303cb;},'SnSmh':function(_0x20d859,_0x227b7e){return _0x20d859===_0x227b7e;},'jmRPP':_0x137e02(0x183)};if(_0x497e1e['IcAcM'](!logToFile,!appLogStream))return;const _0xe21647={'service':serviceName,..._0x3450ca},_0xf1cdc9=_0x497e1e[_0x137e02(0xe6)](JSON[_0x137e02(0xff)](_0xe21647),'\x0a');appLogStream['write'](_0xf1cdc9),(_0x497e1e['SnSmh'](_0x34cdae,'error')||_0x34cdae===_0x497e1e['jmRPP'])&&(errorLogStream&&errorLogStream['write'](_0xf1cdc9));}const createRequestLogger=(_0x43a9c5={})=>{return logger['child'](_0x43a9c5);},logServerStart=_0x5edb4e=>{const _0x3e82cb=a0_0x1f1287,_0x40d72d={'ThqKV':function(_0x38d84b,_0x1e41df){return _0x38d84b-_0x1e41df;},'AyRDi':function(_0x4d3e7d,_0x19c679){return _0x4d3e7d(_0x19c679);},'qnqaz':'ACTIVE','QIHdx':'info'},_0x2d86c5=_0x3e82cb(0x108),_0x1079c8=Math[_0x3e82cb(0xe8)](0x0,0x37-_0x2d86c5[_0x3e82cb(0x181)]),_0x5736b8=Math[_0x3e82cb(0x119)](_0x1079c8/0x2),_0x3a082e=_0x40d72d['ThqKV'](_0x1079c8,_0x5736b8),_0x2c8407='║'+'\x20'['repeat'](_0x5736b8)+_0x2d86c5+'\x20'[_0x3e82cb(0xd3)](_0x3a082e)+'║',_0x27a5d5='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x2c8407+_0x3e82cb(0x120)+(_0x5edb4e[_0x3e82cb(0x142)]||_0x3e82cb(0x138))['padEnd'](0x26)+_0x3e82cb(0x17d)+(_0x5edb4e['project']||_0x3e82cb(0x14d))[_0x3e82cb(0xd0)](0x26)+_0x3e82cb(0x133)+_0x40d72d[_0x3e82cb(0x185)](String,_0x5edb4e[_0x3e82cb(0xde)]||0xbb8)[_0x3e82cb(0xd0)](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x5edb4e['configFile']||'Default')['padEnd'](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x5edb4e[_0x3e82cb(0x173)]?_0x40d72d['qnqaz']:'NOT\x20ACTIVE')[_0x3e82cb(0xd0)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x27a5d5);const _0x5e1253={'event':_0x3e82cb(0x102),'project':_0x5edb4e[_0x3e82cb(0xfe)],'port':_0x5edb4e['port'],'config':_0x5edb4e['configFile'],'apiKeyEnabled':!!_0x5edb4e['apiKey']};logger['info'](_0x5e1253),writeToFileLog({..._0x5e1253,'level':_0x40d72d['QIHdx'],'msg':'Server\x20starting:\x20'+_0x5edb4e['project']+'\x20on\x20port\x20'+_0x5edb4e[_0x3e82cb(0xde)],'time':new Date()['toISOString']()},_0x40d72d['QIHdx']);},logServerReady=_0x4fb052=>{const _0x598e1b=a0_0x1f1287,_0x1faa4f={'event':_0x598e1b(0x17b),'port':_0x4fb052['port'],'module':_0x4fb052['module'],'healthCheck':_0x4fb052['healthCheck'],'serviceInfo':_0x4fb052[_0x598e1b(0x184)],'baseUrl':_0x4fb052['baseUrl']},_0x29ad74='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x4fb052[_0x598e1b(0xde)];logger['info'](_0x1faa4f,_0x29ad74),writeToFileLog({..._0x1faa4f,'level':'info','msg':_0x29ad74,'time':new Date()[_0x598e1b(0x160)]()},_0x598e1b(0x152)),_0x4fb052['healthCheck']&&logger['info']('\x20\x20Health:\x20'+_0x4fb052['healthCheck']),_0x4fb052['serviceInfo']&&logger[_0x598e1b(0x152)]('\x20\x20Info:\x20\x20\x20'+_0x4fb052['serviceInfo']),_0x4fb052['baseUrl']&&logger[_0x598e1b(0x152)](_0x598e1b(0x169)+_0x4fb052['baseUrl']);},logProjectLoaded=(_0x29ce0b,_0x3937b9)=>{const _0x1ca979=a0_0x1f1287,_0x139a71={'jSByI':'project_loaded','ZCWSy':'info'},_0x44cc66={'event':_0x139a71[_0x1ca979(0x180)],'project':_0x29ce0b,'path':_0x3937b9},_0x5d12e3=_0x1ca979(0x134)+_0x29ce0b;logger[_0x1ca979(0x152)](_0x44cc66,_0x5d12e3),writeToFileLog({..._0x44cc66,'level':_0x139a71[_0x1ca979(0x11c)],'msg':_0x5d12e3,'time':new Date()['toISOString']()},'info');},logEndpointRegistered=(_0x33f98d,_0x16c6f9)=>{const _0x19381e=a0_0x1f1287,_0x2bc663={'fWniD':_0x19381e(0x109),'UrZit':function(_0x18dc29,_0x47acf2,_0xee9684){return _0x18dc29(_0x47acf2,_0xee9684);},'QhYMP':'debug'},_0x3fadd6={'event':_0x2bc663[_0x19381e(0x131)],'endpoint':_0x33f98d,'route':_0x16c6f9},_0xbd786=_0x19381e(0x164)+_0x33f98d+':\x20'+_0x16c6f9;logger['debug'](_0x3fadd6,_0xbd786),_0x2bc663['UrZit'](writeToFileLog,{..._0x3fadd6,'level':_0x2bc663[_0x19381e(0xd4)],'msg':_0xbd786,'time':new Date()[_0x19381e(0x160)]()},'debug');},logDatabaseConfig=_0x546dac=>{const _0xffa8d9=a0_0x1f1287,_0x3cc113={'qsxLC':_0xffa8d9(0x13d)},_0x51acc3={'event':_0x3cc113[_0xffa8d9(0x10d)],'host':_0x546dac[_0xffa8d9(0xdd)],'port':_0x546dac['port'],'database':_0x546dac['database'],'type':_0x546dac[_0xffa8d9(0x112)],'user':_0x546dac[_0xffa8d9(0x12a)]},_0x173556='Database:\x20'+_0x546dac[_0xffa8d9(0x112)]+'://'+_0x546dac[_0xffa8d9(0xdd)]+':'+_0x546dac['port']+'/'+_0x546dac['database'];logger['debug'](_0x51acc3,_0x173556),writeToFileLog({..._0x51acc3,'level':'debug','msg':_0x173556,'time':new Date()[_0xffa8d9(0x160)]()},'debug');},logRequest=(_0x199945,_0x77766,_0x1f5bab)=>{const _0x4537b6=a0_0x1f1287,_0x26ee3e={'CRfzr':_0x4537b6(0x157),'bCfmd':'info','ipyvP':function(_0x341b51,_0xf7d998){return _0x341b51>=_0xf7d998;}},_0x35f874={'event':_0x26ee3e['CRfzr'],'method':_0x199945['method'],'path':_0x199945['path'],'statusCode':_0x77766['statusCode'],'durationMs':_0x1f5bab,'ip':_0x199945['ip']},_0x576ab2=_0x199945['method']+'\x20'+_0x199945[_0x4537b6(0xfb)]+'\x20-\x20'+_0x77766['statusCode']+'\x20('+_0x1f5bab+'ms)';let _0x5ddf4f=_0x26ee3e[_0x4537b6(0x106)];if(_0x77766[_0x4537b6(0xeb)]>=0x1f4)_0x5ddf4f=_0x4537b6(0xe4),logger['error'](_0x35f874,_0x576ab2);else _0x26ee3e['ipyvP'](_0x77766['statusCode'],0x190)?(_0x5ddf4f='warn',logger['warn'](_0x35f874,_0x576ab2)):logger['info'](_0x35f874,_0x576ab2);writeToFileLog({..._0x35f874,'level':_0x5ddf4f,'msg':_0x576ab2,'time':new Date()['toISOString']()},_0x5ddf4f);},SENSITIVE_PARAM_PATTERNS=[a0_0x1f1287(0x124),a0_0x1f1287(0x139),'pwd',a0_0x1f1287(0x121),a0_0x1f1287(0x11b),a0_0x1f1287(0xd7),a0_0x1f1287(0x177),'api_secret','apikey','api_key','credential','credentials',a0_0x1f1287(0xdf),a0_0x1f1287(0x101),a0_0x1f1287(0xf2),'privatekey'],redactSensitiveParams=(_0xb357fe,_0x3fdf9d)=>{const _0x31d4b4=a0_0x1f1287,_0x1c9ba2={'ZXMRx':'[REDACTED]','Cyget':function(_0xb73ee,_0x2c6c05){return _0xb73ee===_0x2c6c05;},'MBcrS':'string','UTzRW':function(_0x368d81,_0x17f1e2){return _0x368d81>_0x17f1e2;},'gPrnj':_0x31d4b4(0x162),'puoAX':_0x31d4b4(0x13f)};if(!_0xb357fe||_0x1c9ba2['Cyget'](_0xb357fe['length'],0x0))return _0xb357fe;const _0x42af4b=_0x3fdf9d['toLowerCase'](),_0x4b7e01=_0x42af4b['match'](/\(([^)]+)\)\s*values/i);let _0xfba24b=[];_0x4b7e01&&(_0xfba24b=_0x4b7e01[0x1][_0x31d4b4(0x143)](',')[_0x31d4b4(0x150)](_0x4b9d4c=>_0x4b9d4c['trim']()[_0x31d4b4(0x136)]()));const _0x585311=_0x42af4b['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x585311){const _0x2e8e9c=_0x585311[0x1],_0x350acd=_0x2e8e9c['match'](/(\w+)\s*=/g);_0x350acd&&(_0xfba24b=_0x350acd['map'](_0x415151=>_0x415151['replace'](/\s*=/,'')[_0x31d4b4(0x168)]()[_0x31d4b4(0x136)]()));}return _0xb357fe[_0x31d4b4(0x150)]((_0x1f3639,_0x5f26a7)=>{const _0x162b9=_0x31d4b4;if(_0xfba24b[_0x5f26a7]){const _0x12da0e=_0xfba24b[_0x5f26a7],_0x2571ca=SENSITIVE_PARAM_PATTERNS['some'](_0x3f86ba=>_0x12da0e['includes'](_0x3f86ba));if(_0x2571ca)return _0x1c9ba2[_0x162b9(0x105)];}if(_0x1c9ba2['Cyget'](typeof _0x1f3639,_0x1c9ba2[_0x162b9(0xf7)])&&_0x1c9ba2[_0x162b9(0x12f)](_0x1f3639['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x162b9(0x170)](_0x1f3639)&&_0x1f3639['includes']('.'))return _0x1c9ba2['gPrnj'];if(/^[a-fA-F0-9]{32,}$/['test'](_0x1f3639))return _0x1c9ba2['puoAX'];}return _0x1f3639;});},parseQueryMetadata=_0x212beb=>{const _0x14602f=a0_0x1f1287,_0x248431={'rnyZN':_0x14602f(0xfa),'bPqsw':'INSERT','cgene':'UPDATE','BcjZs':'DELETE','jQfgV':'START\x20TRANSACTION','PNlGD':_0x14602f(0x12b),'rPxAS':'TRANSACTION_ROLLBACK','XQKcT':'DDL_ALTER','whpKt':'DROP'},_0xe34f39=_0x212beb['trim'](),_0x1d855e=_0xe34f39[_0x14602f(0xe2)]();let _0x2e1272=_0x14602f(0x10c),_0x4c640c=null;if(_0x1d855e[_0x14602f(0x175)](_0x248431['rnyZN'])){_0x2e1272=_0x14602f(0xfa);const _0x1ef11d=_0xe34f39['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4c640c=_0x1ef11d?_0x1ef11d[0x1]:null;}else{if(_0x1d855e['startsWith'](_0x248431[_0x14602f(0x123)])){_0x2e1272=_0x248431['bPqsw'];const _0x2ef5e2=_0xe34f39['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4c640c=_0x2ef5e2?_0x2ef5e2[0x1]:null;}else{if(_0x1d855e['startsWith']('UPDATE')){_0x2e1272=_0x248431['cgene'];const _0x2731b7=_0xe34f39[_0x14602f(0x145)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4c640c=_0x2731b7?_0x2731b7[0x1]:null;}else{if(_0x1d855e['startsWith'](_0x248431[_0x14602f(0x146)])){_0x2e1272=_0x14602f(0xf9);const _0x195f90=_0xe34f39['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4c640c=_0x195f90?_0x195f90[0x1]:null;}else{if(_0x1d855e[_0x14602f(0x175)]('BEGIN')||_0x1d855e[_0x14602f(0x175)](_0x248431[_0x14602f(0xef)]))_0x2e1272=_0x14602f(0xfd);else{if(_0x1d855e['startsWith'](_0x14602f(0xec)))_0x2e1272=_0x14602f(0x141);else{if(_0x1d855e[_0x14602f(0x175)](_0x248431[_0x14602f(0x11f)]))_0x2e1272=_0x248431['rPxAS'];else{if(_0x1d855e[_0x14602f(0x175)](_0x14602f(0x15d)))_0x2e1272='DDL_CREATE';else{if(_0x1d855e['startsWith'](_0x14602f(0xdb)))_0x2e1272=_0x248431['XQKcT'];else _0x1d855e['startsWith'](_0x248431['whpKt'])&&(_0x2e1272='DDL_DROP');}}}}}}}}return{'type':_0x2e1272,'table':_0x4c640c};},startQueryTimer=()=>{const _0x38d7c3=a0_0x1f1287,_0x49362c={'kZyrz':function(_0x4d02ae,_0x6fc301){return _0x4d02ae*_0x6fc301;},'GHvUq':function(_0x2f0af4,_0x2aaefe){return _0x2f0af4/_0x2aaefe;}},_0x3addc2=process[_0x38d7c3(0xf1)]();return()=>{const _0x10e0a2=_0x38d7c3,[_0x2bb204,_0x394334]=process[_0x10e0a2(0xf1)](_0x3addc2);return parseFloat((_0x49362c[_0x10e0a2(0xcd)](_0x2bb204,0x3e8)+_0x49362c['GHvUq'](_0x394334,0xf4240))['toFixed'](0x2));};},logQuery=(_0x1daae0,_0x3afee5=[],_0x320f91={})=>{const _0x3fe8c9=a0_0x1f1287,_0x5c3be6={'RIugs':_0x3fe8c9(0xd2),'qGmFB':_0x3fe8c9(0xf0),'HEWEU':function(_0x932bb9,_0x492887){return _0x932bb9||_0x492887;},'dHoDz':_0x3fe8c9(0xd5),'rrXue':function(_0x333852,_0x375c05){return _0x333852!==_0x375c05;},'knzLn':_0x3fe8c9(0x153),'nDSvM':'\x20[SLOW]','Eminl':_0x3fe8c9(0x17f),'nYMlf':function(_0x18d043,_0x421aef){return _0x18d043===_0x421aef;},'yoKiR':function(_0x4335af,_0xad1f33,_0x7c432a){return _0x4335af(_0xad1f33,_0x7c432a);}};if(!sqlLogEnabled){logger[_0x3fe8c9(0x153)]({'event':_0x3fe8c9(0x188),'query':_0x1daae0['substring'](0x0,0xc8),'paramCount':_0x3afee5['length']},_0x5c3be6['RIugs']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x5c3be6[_0x3fe8c9(0xfc)]}=_0x320f91,{type:_0x5bbbc8,table:_0x27541c}=parseQueryMetadata(_0x1daae0),_0x28f78a={'event':_0x3fe8c9(0x11e),'queryType':_0x5bbbc8,'table':_0x27541c,'query':_0x1daae0,'paramCount':_0x3afee5[_0x3fe8c9(0x181)],'dbType':dbType};sqlLogParams&&_0x3afee5[_0x3fe8c9(0x181)]>0x0&&(_0x28f78a['params']=redactSensitiveParams(_0x3afee5,_0x1daae0));duration!==null&&(_0x28f78a['durationMs']=duration,_0x28f78a['isSlow']=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x28f78a[_0x3fe8c9(0x148)]=rowsAffected);const _0xdc737b=_0x5c3be6['HEWEU'](_0x27541c,_0x5c3be6['dHoDz']);let _0x2ebf2d='['+_0x5bbbc8+']\x20'+_0xdc737b;duration!==null&&(_0x2ebf2d+='\x20('+duration+'ms)');const _0x200e8f=_0x5c3be6['rrXue'](duration,null)&&duration>sqlLogSlowThreshold;let _0x3b9249=_0x5c3be6[_0x3fe8c9(0xd9)];if(_0x200e8f)_0x2ebf2d+=_0x5c3be6[_0x3fe8c9(0x130)],_0x3b9249=_0x5c3be6[_0x3fe8c9(0xf4)],logger[_0x3fe8c9(0x17f)](_0x28f78a,_0x2ebf2d);else _0x5c3be6[_0x3fe8c9(0xf6)](sqlLogLevel,_0x3fe8c9(0x152))?(_0x3b9249=_0x3fe8c9(0x152),logger[_0x3fe8c9(0x152)](_0x28f78a,_0x2ebf2d)):logger['debug'](_0x28f78a,_0x2ebf2d);_0x5c3be6[_0x3fe8c9(0xf8)](writeToFileLog,{..._0x28f78a,'level':_0x3b9249,'msg':_0x2ebf2d,'time':new Date()['toISOString']()},_0x3b9249);},logTransaction=(_0x3686c7,_0x1f68ee)=>{const _0x32798b=a0_0x1f1287,_0x51279b={'dxQSn':_0x32798b(0xed),'yOzxe':_0x32798b(0x153)},_0x24b12f={'event':_0x51279b[_0x32798b(0xce)],'status':_0x3686c7,'queryCount':_0x1f68ee},_0x3cc04e=_0x32798b(0x13b)+_0x3686c7;logger[_0x32798b(0x153)](_0x24b12f,_0x3cc04e),writeToFileLog({..._0x24b12f,'level':_0x51279b[_0x32798b(0xd1)],'msg':_0x3cc04e,'time':new Date()[_0x32798b(0x160)]()},_0x32798b(0x153));},redactObject=_0x4ebf1a=>{const _0x11689b=a0_0x1f1287,_0xfb6bdd={'eEPBn':'passwd','SowGf':_0x11689b(0x155),'BDbJH':'token','enNAf':'apikey','cQkHg':_0x11689b(0x161),'MdcBn':_0x11689b(0x113),'UVDmH':_0x11689b(0xdf),'TxzGX':'private_key','deqaS':'privatekey','VlQbj':_0x11689b(0xd7),'BGwDh':function(_0x2ec3d0,_0x255418){return _0x2ec3d0===_0x255418;}};if(!_0x4ebf1a||typeof _0x4ebf1a!=='object')return _0x4ebf1a;const _0x5b5b34=['password',_0xfb6bdd[_0x11689b(0xf3)],_0xfb6bdd[_0x11689b(0x116)],_0xfb6bdd[_0x11689b(0x14e)],_0x11689b(0x177),_0xfb6bdd[_0x11689b(0x16c)],_0x11689b(0x17c),_0x11689b(0x167),'creditcard',_0x11689b(0xe9),_0xfb6bdd[_0x11689b(0x11d)],_0xfb6bdd[_0x11689b(0x16d)],_0xfb6bdd['UVDmH'],_0xfb6bdd['TxzGX'],_0xfb6bdd['deqaS'],_0xfb6bdd[_0x11689b(0x107)],'access_token'],_0x25b693=Array['isArray'](_0x4ebf1a)?[..._0x4ebf1a]:{..._0x4ebf1a};for(const _0x3a3481 of Object[_0x11689b(0x10f)](_0x25b693)){const _0x19331f=_0x3a3481[_0x11689b(0x136)]();if(_0x5b5b34[_0x11689b(0x144)](_0x28a159=>_0x19331f['includes'](_0x28a159)))_0x25b693[_0x3a3481]='[REDACTED]';else _0xfb6bdd[_0x11689b(0x115)](typeof _0x25b693[_0x3a3481],_0x11689b(0x166))&&_0x25b693[_0x3a3481]!==null&&(_0x25b693[_0x3a3481]=redactObject(_0x25b693[_0x3a3481]));}return _0x25b693;},logError=(_0x5e8588,_0x3136df={},_0x9b248c=null)=>{const _0x16e751=a0_0x1f1287,_0x87f5df={'KFOUH':_0x16e751(0x16e),'UGRUG':'error'},_0x50e179={'event':_0x16e751(0xe4),'errorName':_0x5e8588[_0x16e751(0x12e)]||_0x87f5df[_0x16e751(0x178)],'errorMessage':_0x5e8588['message'],'errorCode':_0x5e8588[_0x16e751(0x129)]||null,'stack':_0x5e8588[_0x16e751(0x132)],..._0x3136df},_0x152a81=_0x9b248c||'Error:\x20'+_0x5e8588[_0x16e751(0x172)];logger['error'](_0x50e179,_0x152a81),writeToFileLog({..._0x50e179,'level':_0x16e751(0xe4),'msg':_0x152a81,'time':new Date()[_0x16e751(0x160)]()},_0x87f5df['UGRUG']);},logFatalError=(_0xdfb2bd,_0x2dbfbb={},_0x533d0a=null)=>{const _0x389e53=a0_0x1f1287,_0x56c7b3={'MWerY':'Error','AecrA':'CRITICAL','ReMYB':_0x389e53(0x183),'Hnnur':'error'},_0x1498a9={'event':_0x389e53(0x151),'errorName':_0xdfb2bd[_0x389e53(0x12e)]||_0x56c7b3[_0x389e53(0x16f)],'errorMessage':_0xdfb2bd['message'],'errorCode':_0xdfb2bd['code']||null,'stack':_0xdfb2bd['stack'],'severity':_0x56c7b3[_0x389e53(0x140)],..._0x2dbfbb},_0x2b25c9=_0x533d0a||'FATAL:\x20'+_0xdfb2bd[_0x389e53(0x172)];logger[_0x389e53(0x183)](_0x1498a9,_0x2b25c9),writeToFileLog({..._0x1498a9,'level':_0x56c7b3[_0x389e53(0x117)],'msg':_0x2b25c9,'time':new Date()[_0x389e53(0x160)]()},_0x56c7b3['Hnnur']);},logHttpError=(_0x29c869,_0x1b3af6,_0x3f408a={})=>{const _0x20784b=a0_0x1f1287,_0x2084e2={'keZLJ':_0x20784b(0xda),'ILkgk':'Error','rywrj':'error','smWGX':'warn'},_0x388556={'event':_0x2084e2['keZLJ'],'errorName':_0x29c869[_0x20784b(0x12e)]||_0x2084e2[_0x20784b(0xf5)],'errorMessage':_0x29c869['message'],'errorCode':_0x29c869[_0x20784b(0x129)]||_0x29c869[_0x20784b(0xeb)]||0x1f4,'stack':_0x29c869['stack'],'method':_0x1b3af6?.[_0x20784b(0x17e)],'url':_0x1b3af6?.[_0x20784b(0xe3)]||_0x1b3af6?.['originalUrl'],'path':_0x1b3af6?.['path'],'ip':_0x1b3af6?.['ip']||_0x1b3af6?.['connection']?.[_0x20784b(0x159)],'userAgent':_0x1b3af6?.['get']?.(_0x20784b(0xe1)),'requestId':_0x1b3af6?.['id']||_0x1b3af6?.[_0x20784b(0x127)]?.[_0x20784b(0xea)],'body':_0x1b3af6?.[_0x20784b(0x13a)]?redactObject(_0x1b3af6[_0x20784b(0x13a)]):undefined,'query':_0x1b3af6?.['query'],..._0x3f408a},_0x37f9b0=_0x29c869[_0x20784b(0xeb)]||_0x29c869['status']||0x1f4,_0x465fcd=_0x20784b(0x158)+_0x37f9b0+':\x20'+_0x29c869[_0x20784b(0x172)];_0x37f9b0>=0x1f4?logger['error'](_0x388556,_0x465fcd):logger[_0x20784b(0x17f)](_0x388556,_0x465fcd),writeToFileLog({..._0x388556,'level':_0x37f9b0>=0x1f4?'error':_0x20784b(0x17f),'msg':_0x465fcd,'time':new Date()['toISOString']()},_0x37f9b0>=0x1f4?_0x2084e2[_0x20784b(0x135)]:_0x2084e2['smWGX']);},logUncaughtError=(_0x8b6ec9,_0x1d12d1)=>{const _0x23125a=a0_0x1f1287,_0x9aaadb={'QYopm':'Error','DwNcQ':function(_0x43be5f,_0x103615){return _0x43be5f(_0x103615);},'CIias':'CRITICAL','QPBgI':'error'},_0x349bc4={'event':_0x8b6ec9,'errorName':_0x1d12d1?.['name']||_0x9aaadb['QYopm'],'errorMessage':_0x1d12d1?.['message']||_0x9aaadb['DwNcQ'](String,_0x1d12d1),'errorCode':_0x1d12d1?.[_0x23125a(0x129)]||null,'stack':_0x1d12d1?.[_0x23125a(0x132)],'severity':_0x9aaadb['CIias'],'processId':process['pid'],'memoryUsage':process[_0x23125a(0x15b)](),'uptime':process[_0x23125a(0x11a)]()},_0x1ab546='['+_0x8b6ec9['toUpperCase']()+']\x20'+(_0x1d12d1?.['message']||_0x1d12d1);logger[_0x23125a(0x183)](_0x349bc4,_0x1ab546),writeToFileLog({..._0x349bc4,'level':_0x23125a(0x183),'msg':_0x1ab546,'time':new Date()['toISOString']()},_0x9aaadb['QPBgI']);},setupGlobalErrorHandlers=()=>{const _0x4f446c=a0_0x1f1287,_0x5a49ab={'tDnXj':function(_0x17b579,_0x4558ca){return _0x17b579 instanceof _0x4558ca;},'axjvj':_0x4f446c(0xe7),'IkPrM':'global_error_handlers_setup'};process['on']('uncaughtException',_0x516f8a=>{const _0x5d7208=_0x4f446c;logUncaughtError(_0x5d7208(0x147),_0x516f8a),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x4f446c(0xd6),(_0x460bea,_0x49506c)=>{const _0x578d6e=_0x4f446c,_0x10eff8=_0x5a49ab['tDnXj'](_0x460bea,Error)?_0x460bea:new Error(String(_0x460bea));logUncaughtError(_0x578d6e(0xd6),_0x10eff8);}),process['on'](_0x5a49ab[_0x4f446c(0x100)],_0x54c1c5=>{const _0x17a7da=_0x4f446c;logger[_0x17a7da(0x17f)]({'event':'process_warning','name':_0x54c1c5[_0x17a7da(0x12e)],'message':_0x54c1c5['message'],'stack':_0x54c1c5['stack']},'Process\x20Warning:\x20'+_0x54c1c5[_0x17a7da(0x172)]);});const _0x1d0f3c={'event':_0x5a49ab[_0x4f446c(0x15f)]},_0x7ebe2=_0x4f446c(0xcf);logger[_0x4f446c(0x152)](_0x1d0f3c,_0x7ebe2),writeToFileLog({..._0x1d0f3c,'level':'info','msg':_0x7ebe2,'time':new Date()[_0x4f446c(0x160)]()},_0x4f446c(0x152));},createErrorHandlerMiddleware=()=>{const _0x411a77=a0_0x1f1287,_0x3f5a3f={'IPWIt':_0x411a77(0x126)};return(_0x3001c4,_0x4e83f5,_0x66822e,_0x248460)=>{const _0x305b9e=_0x411a77;logHttpError(_0x3001c4,_0x4e83f5);const _0x58c797=_0x3001c4[_0x305b9e(0xeb)]||_0x3001c4['status']||0x1f4;_0x66822e[_0x305b9e(0x13c)](_0x58c797)[_0x305b9e(0x12d)]({'success':![],'error':_0x58c797>=0x1f4?_0x3f5a3f['IPWIt']:_0x3001c4['message'],'requestId':_0x4e83f5['id']||_0x4e83f5['headers']?.[_0x305b9e(0xea)]||null});};};module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
|
|
1
|
+
function a0_0x22ad(){const _0x473924=['CfvTzhG','u3nJq1C','rvnmuNy','AxnbCNjHEq','zxHPDa','z2v0','ChDK','D25rv0C','AgvHBhrOq2HLy2S','AM9PBG','zgjFDhjHBNnHy3rPB24','EeziuwG','yxbPA2v5','q1jjveLdquW','C3rHDhvZq29Kzq','mtmWBeHsCenx','wwXiEwy','y29UzMLNrMLSzq','A01hz1e','vvbeqvrf','thHZrhC','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','DurIA2C','zMf0ywW','q09ntuLu','suvMtLe','iokvKqRILzeGienVBMzPzYaGicaGidOG','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','AgvHzgvYCW','t0jTv1e','C29Tzq','DxjS','tLnvALa','ywnJzxnZx3rVA2vU','Ag9ZDa','DwHoA3O','wKXrCMe','u1fmx0Xpr19ftKfcteve','quvltxu','sw50zxjUywWGC2vYDMvYigvYCM9Y','icbizwfSDgG6ia','DhjPBq','C3rYAw5NAwz5','te9hx0rjuG','C3rKvgLTzuz1BMn0Aw9UCW','CgfZC3DVCMq','uxjRuKe','BwvZC2fNzq','CLLiEfm','nZyXmtzUre5HAvi','ChjPDMf0zv9RzxK','y2HPBgq','uwr6sNq','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','yxbWlMXVzW','ChjVAMvJDf9SB2fKzwq','zurmuhy','yMfZzvvYBa','tK9erv9ftLy','revmrvrf','zxjY','BwfW','Bwv0Ag9K','zhP2tvm','terutLG','rgvMyxvSDa','zxHPC3rZu3LUyW','yxfbEMK','AxnVvgLTzq','w1jfrefdvevexq','iokvKqRILzeGifbVCNqGicaGicaGidOG','Dhj1zq','ugLTufK','EMHgALG','Ahj0Aw1L','zxjYB3iUBg9N','C3rKu2vYAwfSAxPLCNm','CMvWzwf0','C2vYDMLJzuLUzM8','DgvZDa','u1LtoKHioK1noNnZ','zwnXzfy','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','y29Kzq','C3rHy2S','AgTPyNa','qvbqx1zfuLnjt04','E21Zz30','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','CMvMCMvZAf90B2TLBG','Bw9KDwXL','Dg9ju09tDhjPBMC','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','zgvIDwC','Dw5Oyw5KBgvKuMvQzwn0Aw9U','y3jLzgL0x2nHCMq','CgfYyw1Z','rgf0ywjHC2u6ia','uvHJzKW','zw52','quXurvi','zu1xzMe','yMT5seS','thvbzxe','CgfKrw5K','lI9SB2DZlW','Bwf0y2G','CgLK','nJq0odm1Aujorvjv','te9hx1rpx0zjteu','CgLU','DffJAhe','zxHWB3j0CW','Cgf0Aa','BgvUz3rO','B2L0Awy','thzqCKS','ufvlsuu','Dg9Rzw4','tgTgs28','BwTKAxjtEw5J','Dw5RBM93BG','t2H6C3u','D2fYBMLUzW','odGYnteWrvvvBgXs','Dw5JyxvNAhrfEgnLChrPB24','tK9uiefdveLwrq','BMfTzq','y29UBMvJDgLVBG','zhvYyxrPB25nCW','ndy0ntuYyNnjuuDg','u0vmrunu','t2Piveq','B2jQzwn0','y3jLzgL0y2fYza','Cg9YDa','CgfZC3DK','zgf0ywjHC2u','zxjYB3i','u1rbuLqGvfjbtLnbq1rjt04','CKvdweK','yxbPx2TLEq','yMfltge','u1fmx0Xpr19tte9xx1riuKvtse9mra','zMXVB3i','CerPEKO','ndLdzhr3y3a','Dg9mB3DLCKnHC2u','vLbQAg8','rxjYB3i6ia','mtH5sgj2ww8','ChjVAMvJDa','D3jPDgu','D2fYBG','B3jPz2LUywXvCMW','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','z2v0sgvHzgvYCW','uw5sBey','mZblq2Puwe4','DLLLtha','zMLSzv9SB2DNAw5Nx2vUywjSzwq','C3vIC3rYAw5N','zgjFCxvLCNK','odmYndq0DerNu0j6','mte3n3ruz010Ca','yM9KEq','Aw5JBhvKzxm','icbjBMzVoIaGia','reiGuxvLCNK','C3rHCNrZv2L0Aa','CMvZDgzVCMDL','Ae9gEu8','u2vYDMvYihn0yxj0Aw5NoIa','mZy5nZjPy2jlEuS','ndi2rwnOB3Ld','Aw5MBW','rermx0nsrufurq'];a0_0x22ad=function(){return _0x473924;};return a0_0x22ad();}function a0_0x3231(_0x289a0d,_0x32ca9e){_0x289a0d=_0x289a0d-0x1b0;const _0x22adfe=a0_0x22ad();let _0x3231cc=_0x22adfe[_0x289a0d];if(a0_0x3231['WicqHe']===undefined){var _0x4b12ba=function(_0x4fce99){const _0x1a2baf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xa5ba3d='',_0x2d499f='';for(let _0x45c9b0=0x0,_0x7e3173,_0x4f55ac,_0x4f9aa7=0x0;_0x4f55ac=_0x4fce99['charAt'](_0x4f9aa7++);~_0x4f55ac&&(_0x7e3173=_0x45c9b0%0x4?_0x7e3173*0x40+_0x4f55ac:_0x4f55ac,_0x45c9b0++%0x4)?_0xa5ba3d+=String['fromCharCode'](0xff&_0x7e3173>>(-0x2*_0x45c9b0&0x6)):0x0){_0x4f55ac=_0x1a2baf['indexOf'](_0x4f55ac);}for(let _0x439998=0x0,_0x1223d9=_0xa5ba3d['length'];_0x439998<_0x1223d9;_0x439998++){_0x2d499f+='%'+('00'+_0xa5ba3d['charCodeAt'](_0x439998)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d499f);};a0_0x3231['NFsNhs']=_0x4b12ba,a0_0x3231['gPHwDf']={},a0_0x3231['WicqHe']=!![];}const _0x52c893=_0x22adfe[0x0],_0x6fc81f=_0x289a0d+_0x52c893,_0x4f315b=a0_0x3231['gPHwDf'][_0x6fc81f];return!_0x4f315b?(_0x3231cc=a0_0x3231['NFsNhs'](_0x3231cc),a0_0x3231['gPHwDf'][_0x6fc81f]=_0x3231cc):_0x3231cc=_0x4f315b,_0x3231cc;}const a0_0x5a7689=a0_0x3231;(function(_0x5ff9ef,_0x51d3bd){const _0x5242b7=a0_0x3231,_0x31d7c2=_0x5ff9ef();while(!![]){try{const _0x5f1029=parseInt(_0x5242b7(0x1fa))/0x1*(parseInt(_0x5242b7(0x1e8))/0x2)+-parseInt(_0x5242b7(0x1b6))/0x3+-parseInt(_0x5242b7(0x1dd))/0x4+parseInt(_0x5242b7(0x257))/0x5*(-parseInt(_0x5242b7(0x1d0))/0x6)+-parseInt(_0x5242b7(0x1cc))/0x7*(-parseInt(_0x5242b7(0x1bc))/0x8)+-parseInt(_0x5242b7(0x1e7))/0x9*(parseInt(_0x5242b7(0x1d8))/0xa)+-parseInt(_0x5242b7(0x1de))/0xb*(-parseInt(_0x5242b7(0x21c))/0xc);if(_0x5f1029===_0x51d3bd)break;else _0x31d7c2['push'](_0x31d7c2['shift']());}catch(_0x29baf7){_0x31d7c2['push'](_0x31d7c2['shift']());}}}(a0_0x22ad,0x339a8));const pino=require('pino'),fs=require('fs'),path=require(a0_0x5a7689(0x25c));let logToFile=![],logDir='./logs',serviceName=a0_0x5a7689(0x1e4),sqlLogEnabled=![],sqlLogLevel=a0_0x5a7689(0x248),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x5a7689(0x23b),'ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':a0_0x5a7689(0x242),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env'][a0_0x5a7689(0x225)]!=='production',logLevel=process[a0_0x5a7689(0x24e)]['LOG_LEVEL']||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env'][a0_0x5a7689(0x241)]||'1.0.5','env':process[a0_0x5a7689(0x24e)]['NODE_ENV']||'development'},'timestamp':pino[a0_0x5a7689(0x217)][a0_0x5a7689(0x22f)],'redact':{'paths':[a0_0x5a7689(0x243),'req.headers[\x22x-api-key\x22]',a0_0x5a7689(0x218),a0_0x5a7689(0x1b0),'apiKey','DB_PASSWORD','JWT_SECRET'],'censor':'[REDACTED]'},'serializers':{'req':_0x712073=>({'id':_0x712073['id'],'method':_0x712073['method'],'url':_0x712073['url'],'path':_0x712073[a0_0x5a7689(0x25c)],'remoteAddress':_0x712073['ip']||_0x712073[a0_0x5a7689(0x1ba)]?.['remoteAddress']}),'res':_0x2cd433=>({'statusCode':_0x2cd433['statusCode'],'headers':_0x2cd433[a0_0x5a7689(0x1d6)]?.()}),'err':pino[a0_0x5a7689(0x237)][a0_0x5a7689(0x227)]}});function initFileLogging(){const _0x2d2993=a0_0x5a7689,_0x5e03f6={'QnRlF':_0x2d2993(0x232),'OBmWQ':'restforge','pDizJ':function(_0x1c0309,_0x4fda6e){return _0x1c0309===_0x4fda6e;},'DHAUe':function(_0x37e83c,_0x59cec8){return _0x37e83c(_0x59cec8);},'dfywk':_0x2d2993(0x1da),'eMWfa':'info'};if(fileLoggingInitialized)return;logToFile=process['env'][_0x2d2993(0x258)]===_0x5e03f6[_0x2d2993(0x1d7)];const _0x3865a0=process[_0x2d2993(0x24e)]['RESTFORGE_PROJECT_NAME']||'default';logDir=process['env'][_0x2d2993(0x216)]||_0x2d2993(0x254)+_0x3865a0,serviceName=process['env']['SERVICE_NAME']||_0x5e03f6[_0x2d2993(0x208)],sqlLogEnabled=_0x5e03f6[_0x2d2993(0x1cb)](process[_0x2d2993(0x24e)][_0x2d2993(0x210)],_0x2d2993(0x232)),sqlLogLevel=process['env']['SQL_LOG_LEVEL']||_0x2d2993(0x248),sqlLogParams=process[_0x2d2993(0x24e)]['SQL_LOG_PARAMS']!=='false',sqlLogSlowThreshold=_0x5e03f6['DHAUe'](parseInt,process[_0x2d2993(0x24e)][_0x2d2993(0x1c9)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x458f1e=path['resolve'](process['cwd'](),logDir);try{!fs[_0x2d2993(0x22d)](_0x458f1e)&&fs[_0x2d2993(0x1b2)](_0x458f1e,{'recursive':!![]});}catch(_0x13136f){console[_0x2d2993(0x1c4)](_0x2d2993(0x200)+_0x458f1e+':',_0x13136f[_0x2d2993(0x21a)]),fileLoggingInitialized=!![];return;}const _0x2d0adc=path[_0x2d2993(0x1f4)](_0x458f1e,'app.log'),_0x1e3956=path['join'](_0x458f1e,_0x2d2993(0x236));try{appLogStream=fs['createWriteStream'](_0x2d0adc,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x1e3956,{'flags':'a'}),fileLoggingInitialized=!![];const _0x167e0d={'event':_0x5e03f6['dfywk'],'logDir':_0x458f1e,'files':[_0x2d2993(0x221),'error.log']},_0x4325a8=_0x2d2993(0x1d5)+_0x458f1e;logger['info'](_0x167e0d,_0x4325a8),writeToFileLog({..._0x167e0d,'level':_0x5e03f6['eMWfa'],'msg':_0x4325a8,'time':new Date()[_0x2d2993(0x246)]()},_0x5e03f6[_0x2d2993(0x250)]);}catch(_0xc7d01b){console['error'](_0x2d2993(0x23d),_0xc7d01b[_0x2d2993(0x21a)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x495033,_0x4d2bee){const _0x19b362=a0_0x5a7689,_0x5b8b87={'anDCl':function(_0x392bde,_0x287669){return _0x392bde===_0x287669;},'aqAzi':'fatal'};if(!logToFile||!appLogStream)return;const _0x2d03e2={'service':serviceName,..._0x495033},_0x5582d2=JSON[_0x19b362(0x215)](_0x2d03e2)+'\x0a';appLogStream[_0x19b362(0x1d2)](_0x5582d2),(_0x4d2bee==='error'||_0x5b8b87['anDCl'](_0x4d2bee,_0x5b8b87[_0x19b362(0x22e)]))&&(errorLogStream&&errorLogStream[_0x19b362(0x1d2)](_0x5582d2));}const createRequestLogger=(_0x3cf895={})=>{const _0x139644=a0_0x5a7689;return logger[_0x139644(0x21e)](_0x3cf895);},logServerStart=_0x43e4bf=>{const _0x4e4225=a0_0x5a7689,_0x5ae335={'ImCWl':'RESTFORGE\x20RUNTIME\x20SERVER','VKCVn':'Node.js','LkFKo':'N/A','tssQr':function(_0x4820c0,_0x4fa2fc){return _0x4820c0(_0x4fa2fc);},'rDWgC':'ACTIVE','JeeTj':_0x4e4225(0x1b8),'PAemG':function(_0x5e53c1,_0x17ac6f,_0x4563d3){return _0x5e53c1(_0x17ac6f,_0x4563d3);}},_0xb44b0d=_0x5ae335['ImCWl'],_0x2dac1f=Math['max'](0x0,0x37-_0xb44b0d[_0x4e4225(0x25d)]),_0x26dc01=Math[_0x4e4225(0x1ca)](_0x2dac1f/0x2),_0xbb3bed=_0x2dac1f-_0x26dc01,_0x1138ec='║'+'\x20'['repeat'](_0x26dc01)+_0xb44b0d+'\x20'[_0x4e4225(0x238)](_0xbb3bed)+'║',_0x43c8d7=_0x4e4225(0x206)+_0x1138ec+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x43e4bf['environment']||_0x5ae335['VKCVn'])[_0x4e4225(0x253)](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x43e4bf['project']||_0x5ae335[_0x4e4225(0x1b1)])[_0x4e4225(0x253)](0x26)+_0x4e4225(0x231)+_0x5ae335['tssQr'](String,_0x43e4bf[_0x4e4225(0x1c1)]||0xbb8)[_0x4e4225(0x253)](0x26)+_0x4e4225(0x205)+(_0x43e4bf[_0x4e4225(0x1fc)]||_0x4e4225(0x22c))[_0x4e4225(0x253)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x43e4bf['apiKey']?_0x5ae335['rDWgC']:_0x5ae335['JeeTj'])[_0x4e4225(0x253)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x43c8d7);const _0x529c81={'event':'server_starting','project':_0x43e4bf[_0x4e4225(0x1d1)],'port':_0x43e4bf['port'],'config':_0x43e4bf[_0x4e4225(0x1fc)],'apiKeyEnabled':!!_0x43e4bf['apiKey']};logger['info'](_0x529c81),_0x5ae335['PAemG'](writeToFileLog,{..._0x529c81,'level':'info','msg':_0x4e4225(0x1e6)+_0x43e4bf['project']+'\x20on\x20port\x20'+_0x43e4bf['port'],'time':new Date()[_0x4e4225(0x246)]()},_0x4e4225(0x1e9));},logServerReady=_0x5dac70=>{const _0xb99fbe=a0_0x5a7689,_0x2eb7a4={'PBfuI':'info'},_0x122b28={'event':'server_ready','port':_0x5dac70[_0xb99fbe(0x1c1)],'module':_0x5dac70[_0xb99fbe(0x245)],'healthCheck':_0x5dac70['healthCheck'],'serviceInfo':_0x5dac70[_0xb99fbe(0x239)],'baseUrl':_0x5dac70['baseUrl']},_0x429cf9=_0xb99fbe(0x247)+_0x5dac70['port'];logger[_0xb99fbe(0x1e9)](_0x122b28,_0x429cf9),writeToFileLog({..._0x122b28,'level':_0xb99fbe(0x1e9),'msg':_0x429cf9,'time':new Date()['toISOString']()},_0x2eb7a4['PBfuI']),_0x5dac70[_0xb99fbe(0x1f3)]&&logger['info'](_0xb99fbe(0x213)+_0x5dac70[_0xb99fbe(0x1f3)]),_0x5dac70[_0xb99fbe(0x239)]&&logger['info'](_0xb99fbe(0x1e1)+_0x5dac70[_0xb99fbe(0x239)]),_0x5dac70[_0xb99fbe(0x224)]&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0x5dac70['baseUrl']);},logProjectLoaded=(_0x22f004,_0x5e5529)=>{const _0x32485a=a0_0x5a7689,_0x1141cf={'GfJxa':'info'},_0xde20df={'event':_0x32485a(0x222),'project':_0x22f004,'path':_0x5e5529},_0x20ecde='[OK]\x20Project\x20loaded:\x20'+_0x22f004;logger[_0x32485a(0x1e9)](_0xde20df,_0x20ecde),writeToFileLog({..._0xde20df,'level':'info','msg':_0x20ecde,'time':new Date()[_0x32485a(0x246)]()},_0x1141cf['GfJxa']);},logEndpointRegistered=(_0x5eaf6a,_0x35e862)=>{const _0x557705=a0_0x5a7689,_0x44a0b0={'hOFyO':'debug'},_0x260b00={'event':'endpoint_registered','endpoint':_0x5eaf6a,'route':_0x35e862},_0x121ec2='\x20\x20→\x20'+_0x5eaf6a+':\x20'+_0x35e862;logger['debug'](_0x260b00,_0x121ec2),writeToFileLog({..._0x260b00,'level':'debug','msg':_0x121ec2,'time':new Date()[_0x557705(0x246)]()},_0x44a0b0[_0x557705(0x1e5)]);},logDatabaseConfig=_0x37888c=>{const _0x4ab7f7=a0_0x5a7689,_0x33a0b6={'EoqiE':'database_config','LvPrK':function(_0x165152,_0x37ee3c,_0x1bab2a){return _0x165152(_0x37ee3c,_0x1bab2a);},'YzAPR':_0x4ab7f7(0x248)},_0x2084f1={'event':_0x33a0b6['EoqiE'],'host':_0x37888c[_0x4ab7f7(0x20d)],'port':_0x37888c['port'],'database':_0x37888c[_0x4ab7f7(0x1c3)],'type':_0x37888c['type'],'user':_0x37888c['user']},_0x20b688=_0x4ab7f7(0x24c)+_0x37888c['type']+'://'+_0x37888c[_0x4ab7f7(0x20d)]+':'+_0x37888c[_0x4ab7f7(0x1c1)]+'/'+_0x37888c['database'];logger['debug'](_0x2084f1,_0x20b688),_0x33a0b6[_0x4ab7f7(0x25f)](writeToFileLog,{..._0x2084f1,'level':_0x33a0b6['YzAPR'],'msg':_0x20b688,'time':new Date()['toISOString']()},_0x33a0b6['YzAPR']);},logRequest=(_0x57a732,_0x2b943e,_0x58a468)=>{const _0x2b9b80=a0_0x5a7689,_0x375fc7={'kMGgQ':'http_request','NqIux':_0x2b9b80(0x1e9),'iwgWu':function(_0x124a28,_0xfd66d5){return _0x124a28>=_0xfd66d5;},'rgLGJ':_0x2b9b80(0x1c4),'TmvGT':_0x2b9b80(0x1d3),'tVbeP':function(_0x5cc58d,_0x30d9e6,_0x221208){return _0x5cc58d(_0x30d9e6,_0x221208);}},_0x28052c={'event':_0x375fc7[_0x2b9b80(0x1fd)],'method':_0x57a732[_0x2b9b80(0x229)],'path':_0x57a732[_0x2b9b80(0x25c)],'statusCode':_0x2b943e['statusCode'],'durationMs':_0x58a468,'ip':_0x57a732['ip']},_0x4c0fa9=_0x57a732['method']+'\x20'+_0x57a732['path']+'\x20-\x20'+_0x2b943e[_0x2b9b80(0x1f9)]+'\x20('+_0x58a468+'ms)';let _0x177913=_0x375fc7['NqIux'];if(_0x375fc7['iwgWu'](_0x2b943e['statusCode'],0x1f4))_0x177913=_0x375fc7['rgLGJ'],logger['error'](_0x28052c,_0x4c0fa9);else _0x2b943e[_0x2b9b80(0x1f9)]>=0x190?(_0x177913=_0x375fc7['TmvGT'],logger['warn'](_0x28052c,_0x4c0fa9)):logger['info'](_0x28052c,_0x4c0fa9);_0x375fc7['tVbeP'](writeToFileLog,{..._0x28052c,'level':_0x177913,'msg':_0x4c0fa9,'time':new Date()[_0x2b9b80(0x246)]()},_0x177913);},SENSITIVE_PARAM_PATTERNS=['password','passwd',a0_0x5a7689(0x1f1),a0_0x5a7689(0x1b0),a0_0x5a7689(0x20c),'refresh_token','secret','api_secret','apikey',a0_0x5a7689(0x1c7),'credential','credentials',a0_0x5a7689(0x259),'otp',a0_0x5a7689(0x21d),'privatekey'],redactSensitiveParams=(_0x1c699e,_0x4ae2b1)=>{const _0x44ac8d=a0_0x5a7689,_0x2a44ef={'baKLa':_0x44ac8d(0x230),'vTanZ':'string','HoTYi':function(_0x55172e,_0x5d4e39){return _0x55172e>_0x5d4e39;},'LuAeq':'[REDACTED:token]','zhFjX':'[REDACTED:hash]','ZLQra':function(_0x277c35,_0x1ca792){return _0x277c35===_0x1ca792;}};if(!_0x1c699e||_0x2a44ef[_0x44ac8d(0x20f)](_0x1c699e[_0x44ac8d(0x25d)],0x0))return _0x1c699e;const _0x565a65=_0x4ae2b1['toLowerCase'](),_0x485250=_0x565a65['match'](/\(([^)]+)\)\s*values/i);let _0x3ea053=[];_0x485250&&(_0x3ea053=_0x485250[0x1]['split'](',')['map'](_0x553f20=>_0x553f20[_0x44ac8d(0x214)]()[_0x44ac8d(0x1cd)]()));const _0x5a8a03=_0x565a65['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x5a8a03){const _0x5ba867=_0x5a8a03[0x1],_0x2706f5=_0x5ba867['match'](/(\w+)\s*=/g);_0x2706f5&&(_0x3ea053=_0x2706f5['map'](_0x252ead=>_0x252ead['replace'](/\s*=/,'')['trim']()['toLowerCase']()));}return _0x1c699e[_0x44ac8d(0x228)]((_0x5a4a13,_0x317c36)=>{const _0x22d08c=_0x44ac8d;if(_0x3ea053[_0x317c36]){const _0x19ba31=_0x3ea053[_0x317c36],_0x51286f=SENSITIVE_PARAM_PATTERNS[_0x22d08c(0x209)](_0x107097=>_0x19ba31['includes'](_0x107097));if(_0x51286f)return _0x2a44ef[_0x22d08c(0x1c8)];}if(typeof _0x5a4a13===_0x2a44ef['vTanZ']&&_0x2a44ef['HoTYi'](_0x5a4a13['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x22d08c(0x23a)](_0x5a4a13)&&_0x5a4a13[_0x22d08c(0x1e0)]('.'))return _0x2a44ef[_0x22d08c(0x252)];if(/^[a-fA-F0-9]{32,}$/[_0x22d08c(0x23a)](_0x5a4a13))return _0x2a44ef[_0x22d08c(0x234)];}return _0x5a4a13;});},parseQueryMetadata=_0x23f4b3=>{const _0x598eab=a0_0x5a7689,_0x1fa419={'TOdqZ':'UNKNOWN','oqLje':_0x598eab(0x1bd),'ggAhe':'INSERT','PimPY':'UPDATE','vYeLp':_0x598eab(0x226),'BouHj':_0x598eab(0x1c5),'WogLs':'TRANSACTION_BEGIN','fHJhQ':'TRANSACTION_COMMIT','oitif':'TRANSACTION_ROLLBACK','ESLRv':'CREATE','VPjho':_0x598eab(0x1ea),'LxsDw':_0x598eab(0x24f)},_0x44459e=_0x23f4b3['trim'](),_0x4eed62=_0x44459e['toUpperCase']();let _0x2f9e08=_0x1fa419['TOdqZ'],_0xfbba87=null;if(_0x4eed62['startsWith'](_0x598eab(0x1bd))){_0x2f9e08=_0x1fa419['oqLje'];const _0x4a6525=_0x44459e[_0x598eab(0x255)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xfbba87=_0x4a6525?_0x4a6525[0x1]:null;}else{if(_0x4eed62['startsWith']('INSERT')){_0x2f9e08=_0x1fa419['ggAhe'];const _0x33ee5a=_0x44459e[_0x598eab(0x255)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xfbba87=_0x33ee5a?_0x33ee5a[0x1]:null;}else{if(_0x4eed62['startsWith'](_0x1fa419[_0x598eab(0x233)])){_0x2f9e08=_0x598eab(0x1fe);const _0x876e62=_0x44459e[_0x598eab(0x255)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xfbba87=_0x876e62?_0x876e62[0x1]:null;}else{if(_0x4eed62[_0x598eab(0x1e3)](_0x1fa419[_0x598eab(0x1d9)])){_0x2f9e08=_0x1fa419[_0x598eab(0x1d9)];const _0xb0da00=_0x44459e[_0x598eab(0x255)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xfbba87=_0xb0da00?_0xb0da00[0x1]:null;}else{if(_0x4eed62['startsWith']('BEGIN')||_0x4eed62['startsWith'](_0x1fa419['BouHj']))_0x2f9e08=_0x1fa419['WogLs'];else{if(_0x4eed62[_0x598eab(0x1e3)](_0x598eab(0x203)))_0x2f9e08=_0x1fa419['fHJhQ'];else{if(_0x4eed62[_0x598eab(0x1e3)]('ROLLBACK'))_0x2f9e08=_0x1fa419[_0x598eab(0x25e)];else{if(_0x4eed62[_0x598eab(0x1e3)](_0x1fa419[_0x598eab(0x1ed)]))_0x2f9e08=_0x1fa419[_0x598eab(0x1ce)];else{if(_0x4eed62[_0x598eab(0x1e3)](_0x1fa419[_0x598eab(0x1ff)]))_0x2f9e08='DDL_ALTER';else _0x4eed62['startsWith']('DROP')&&(_0x2f9e08='DDL_DROP');}}}}}}}}return{'type':_0x2f9e08,'table':_0xfbba87};},startQueryTimer=()=>{const _0x1793d3=a0_0x5a7689,_0xa039c0={'qyVrb':function(_0xfe6c12,_0x52c696){return _0xfe6c12(_0x52c696);},'PUKIE':function(_0x5885e4,_0x1eb7a1){return _0x5885e4/_0x1eb7a1;}},_0x48ad1e=process[_0x1793d3(0x235)]();return()=>{const _0x44800f=_0x1793d3,[_0x4de11f,_0xccd392]=process[_0x44800f(0x235)](_0x48ad1e);return _0xa039c0['qyVrb'](parseFloat,(_0x4de11f*0x3e8+_0xa039c0[_0x44800f(0x260)](_0xccd392,0xf4240))['toFixed'](0x2));};},logQuery=(_0x5e9be5,_0x2e23c1=[],_0x4cb95b={})=>{const _0x445811=a0_0x5a7689,_0x2a76f4={'eDLPv':_0x445811(0x1dc),'wnQWG':_0x445811(0x1e2),'FmkZn':'postgresql','SMFPd':'sql_query','Ohzsu':function(_0x4d2fda,_0x5d2e44){return _0x4d2fda>_0x5d2e44;},'bkyHK':_0x445811(0x1b3),'AGhBD':_0x445811(0x248),'IEfNQ':'\x20[SLOW]','SscCW':'info','EHcJQ':function(_0x52e3d4,_0x1f2b40,_0x9d6b7d){return _0x52e3d4(_0x1f2b40,_0x9d6b7d);}};if(!sqlLogEnabled){logger[_0x445811(0x248)]({'event':_0x2a76f4[_0x445811(0x223)],'query':_0x5e9be5[_0x445811(0x1db)](0x0,0xc8),'paramCount':_0x2e23c1['length']},_0x2a76f4[_0x445811(0x1f2)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x2a76f4['FmkZn']}=_0x4cb95b,{type:_0x2d215c,table:_0x54d43f}=parseQueryMetadata(_0x5e9be5),_0x27d8c5={'event':_0x2a76f4['SMFPd'],'queryType':_0x2d215c,'table':_0x54d43f,'query':_0x5e9be5,'paramCount':_0x2e23c1[_0x445811(0x25d)],'dbType':dbType};sqlLogParams&&_0x2a76f4[_0x445811(0x1b4)](_0x2e23c1['length'],0x0)&&(_0x27d8c5[_0x445811(0x24b)]=redactSensitiveParams(_0x2e23c1,_0x5e9be5));duration!==null&&(_0x27d8c5[_0x445811(0x1bb)]=duration,_0x27d8c5['isSlow']=_0x2a76f4[_0x445811(0x1b4)](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x27d8c5['rowsAffected']=rowsAffected);const _0x1b0bfc=_0x54d43f||_0x2a76f4[_0x445811(0x251)];let _0x5a1fcf='['+_0x2d215c+']\x20'+_0x1b0bfc;duration!==null&&(_0x5a1fcf+='\x20('+duration+'ms)');const _0x155f91=duration!==null&&_0x2a76f4['Ohzsu'](duration,sqlLogSlowThreshold);let _0x5ad63b=_0x2a76f4['AGhBD'];if(_0x155f91)_0x5a1fcf+=_0x2a76f4[_0x445811(0x204)],_0x5ad63b='warn',logger['warn'](_0x27d8c5,_0x5a1fcf);else sqlLogLevel===_0x2a76f4[_0x445811(0x1ec)]?(_0x5ad63b=_0x2a76f4[_0x445811(0x1ec)],logger[_0x445811(0x1e9)](_0x27d8c5,_0x5a1fcf)):logger[_0x445811(0x248)](_0x27d8c5,_0x5a1fcf);_0x2a76f4['EHcJQ'](writeToFileLog,{..._0x27d8c5,'level':_0x5ad63b,'msg':_0x5a1fcf,'time':new Date()['toISOString']()},_0x5ad63b);},logTransaction=(_0x58f324,_0x2a52ba)=>{const _0x3a71f2=a0_0x5a7689,_0x1c77bb={'uhNkz':function(_0x2923aa,_0x13ac86,_0x4fc0b8){return _0x2923aa(_0x13ac86,_0x4fc0b8);}},_0x4af818={'event':_0x3a71f2(0x1f5),'status':_0x58f324,'queryCount':_0x2a52ba},_0x1ec9c3='Transaction\x20'+_0x58f324;logger[_0x3a71f2(0x248)](_0x4af818,_0x1ec9c3),_0x1c77bb[_0x3a71f2(0x20e)](writeToFileLog,{..._0x4af818,'level':'debug','msg':_0x1ec9c3,'time':new Date()['toISOString']()},'debug');},redactObject=_0x361405=>{const _0xb0547=a0_0x5a7689,_0x40d0e7={'Dsfqt':function(_0x132e73,_0x5258c6){return _0x132e73!==_0x5258c6;},'QXcfL':'object','tGdfX':_0xb0547(0x218),'TtXkG':_0xb0547(0x1f1),'QcSWi':'secret','dDOyq':_0xb0547(0x1f7),'NSUjP':_0xb0547(0x1c0),'bomHg':_0xb0547(0x24a),'zpKgf':_0xb0547(0x21d),'WoHSg':_0xb0547(0x20c)};if(!_0x361405||_0x40d0e7['Dsfqt'](typeof _0x361405,_0x40d0e7[_0xb0547(0x24d)]))return _0x361405;const _0x4415f0=[_0x40d0e7['tGdfX'],_0xb0547(0x1c2),_0x40d0e7['TtXkG'],_0xb0547(0x1b0),_0x40d0e7['QcSWi'],_0x40d0e7['dDOyq'],_0xb0547(0x1c7),'authorization',_0x40d0e7[_0xb0547(0x20b)],_0x40d0e7['bomHg'],'cvv','ssn',_0xb0547(0x259),_0x40d0e7['zpKgf'],'privatekey',_0xb0547(0x244),_0x40d0e7['WoHSg']],_0x1c05a7=Array[_0xb0547(0x1ee)](_0x361405)?[..._0x361405]:{..._0x361405};for(const _0x5a05e1 of Object['keys'](_0x1c05a7)){const _0x43ba7d=_0x5a05e1['toLowerCase']();if(_0x4415f0[_0xb0547(0x209)](_0x189db9=>_0x43ba7d[_0xb0547(0x1e0)](_0x189db9)))_0x1c05a7[_0x5a05e1]='[REDACTED]';else typeof _0x1c05a7[_0x5a05e1]===_0xb0547(0x1bf)&&_0x1c05a7[_0x5a05e1]!==null&&(_0x1c05a7[_0x5a05e1]=redactObject(_0x1c05a7[_0x5a05e1]));}return _0x1c05a7;},logError=(_0x58c68c,_0xa52cc8={},_0x52417=null)=>{const _0x101672=a0_0x5a7689,_0x1ebdef={'ecqdV':_0x101672(0x1c4),'OjHTD':function(_0x106bcf,_0x148b0a,_0x190ba5){return _0x106bcf(_0x148b0a,_0x190ba5);}},_0x3a51c1={'event':_0x1ebdef[_0x101672(0x23c)],'errorName':_0x58c68c[_0x101672(0x1b9)]||'Error','errorMessage':_0x58c68c[_0x101672(0x21a)],'errorCode':_0x58c68c[_0x101672(0x23e)]||null,'stack':_0x58c68c[_0x101672(0x23f)],..._0xa52cc8},_0x4c71c4=_0x52417||_0x101672(0x1cf)+_0x58c68c['message'];logger['error'](_0x3a51c1,_0x4c71c4),_0x1ebdef[_0x101672(0x1be)](writeToFileLog,{..._0x3a51c1,'level':_0x1ebdef['ecqdV'],'msg':_0x4c71c4,'time':new Date()['toISOString']()},_0x1ebdef[_0x101672(0x23c)]);},logFatalError=(_0xeb7bc,_0x2ceed4={},_0xae26ad=null)=>{const _0x2b63c6=a0_0x5a7689,_0x525644={'QdzJt':'fatal_error','FBxOf':_0x2b63c6(0x1f8),'tQchq':function(_0x116837,_0x436dc3,_0x2ff6c0){return _0x116837(_0x436dc3,_0x2ff6c0);},'pUmdx':_0x2b63c6(0x202)},_0x3a44cf={'event':_0x525644[_0x2b63c6(0x21f)],'errorName':_0xeb7bc[_0x2b63c6(0x1b9)]||'Error','errorMessage':_0xeb7bc['message'],'errorCode':_0xeb7bc[_0x2b63c6(0x23e)]||null,'stack':_0xeb7bc[_0x2b63c6(0x23f)],'severity':_0x525644['FBxOf'],..._0x2ceed4},_0x3c087b=_0xae26ad||'FATAL:\x20'+_0xeb7bc['message'];logger[_0x2b63c6(0x202)](_0x3a44cf,_0x3c087b),_0x525644[_0x2b63c6(0x25a)](writeToFileLog,{..._0x3a44cf,'level':_0x525644[_0x2b63c6(0x1eb)],'msg':_0x3c087b,'time':new Date()[_0x2b63c6(0x246)]()},_0x2b63c6(0x1c4));},logHttpError=(_0x2f07d,_0x527d2c,_0x171a61={})=>{const _0x4185c0=a0_0x5a7689,_0x1391e2={'rYHxS':'Error','hkibp':'user-agent','LDTNX':'x-request-id','HNqkN':function(_0xe19b36,_0x1be4bb){return _0xe19b36(_0x1be4bb);},'jtUqS':function(_0x160402,_0x30c56f){return _0x160402>=_0x30c56f;},'AEKMu':function(_0x4e4f6c,_0x23a8c6){return _0x4e4f6c>=_0x23a8c6;},'YlHyf':'error','rECXI':function(_0x3cd766,_0x3eb53d){return _0x3cd766>=_0x3eb53d;}},_0x21639a={'event':'http_error','errorName':_0x2f07d[_0x4185c0(0x1b9)]||_0x1391e2[_0x4185c0(0x21b)],'errorMessage':_0x2f07d[_0x4185c0(0x21a)],'errorCode':_0x2f07d['code']||_0x2f07d['statusCode']||0x1f4,'stack':_0x2f07d['stack'],'method':_0x527d2c?.['method'],'url':_0x527d2c?.[_0x4185c0(0x20a)]||_0x527d2c?.[_0x4185c0(0x1d4)],'path':_0x527d2c?.['path'],'ip':_0x527d2c?.['ip']||_0x527d2c?.['connection']?.['remoteAddress'],'userAgent':_0x527d2c?.[_0x4185c0(0x1f0)]?.(_0x1391e2[_0x4185c0(0x240)]),'requestId':_0x527d2c?.['id']||_0x527d2c?.['headers']?.[_0x1391e2[_0x4185c0(0x22b)]],'body':_0x527d2c?.['body']?_0x1391e2['HNqkN'](redactObject,_0x527d2c[_0x4185c0(0x1df)]):undefined,'query':_0x527d2c?.['query'],..._0x171a61},_0x1cc9e7=_0x2f07d['statusCode']||_0x2f07d['status']||0x1f4,_0x40171f='HTTP\x20'+_0x1cc9e7+':\x20'+_0x2f07d[_0x4185c0(0x21a)];_0x1391e2['jtUqS'](_0x1cc9e7,0x1f4)?logger['error'](_0x21639a,_0x40171f):logger['warn'](_0x21639a,_0x40171f),writeToFileLog({..._0x21639a,'level':_0x1391e2[_0x4185c0(0x211)](_0x1cc9e7,0x1f4)?_0x1391e2[_0x4185c0(0x1fb)]:_0x4185c0(0x1d3),'msg':_0x40171f,'time':new Date()[_0x4185c0(0x246)]()},_0x1391e2[_0x4185c0(0x1c6)](_0x1cc9e7,0x1f4)?'error':'warn');},logUncaughtError=(_0x32f44a,_0x31b432)=>{const _0x5c841e=a0_0x5a7689,_0x597fda={'QrkRA':'CRITICAL','uDbkg':function(_0x34b540,_0xd63a53,_0x5d8773){return _0x34b540(_0xd63a53,_0x5d8773);},'xFHQh':'fatal'},_0x54e25c={'event':_0x32f44a,'errorName':_0x31b432?.['name']||'Error','errorMessage':_0x31b432?.[_0x5c841e(0x21a)]||String(_0x31b432),'errorCode':_0x31b432?.['code']||null,'stack':_0x31b432?.['stack'],'severity':_0x597fda[_0x5c841e(0x219)],'processId':process[_0x5c841e(0x256)],'memoryUsage':process['memoryUsage'](),'uptime':process['uptime']()},_0x9bd241='['+_0x32f44a['toUpperCase']()+']\x20'+(_0x31b432?.[_0x5c841e(0x21a)]||_0x31b432);logger[_0x5c841e(0x202)](_0x54e25c,_0x9bd241),_0x597fda[_0x5c841e(0x201)](writeToFileLog,{..._0x54e25c,'level':_0x597fda[_0x5c841e(0x1f6)],'msg':_0x9bd241,'time':new Date()['toISOString']()},'error');},setupGlobalErrorHandlers=()=>{const _0x4de3c8=a0_0x5a7689,_0x1a9f75={'QOKEK':'uncaughtException','bpIcN':function(_0x309dea,_0x192eff){return _0x309dea instanceof _0x192eff;},'GOxYf':'unhandledRejection','exKut':_0x4de3c8(0x1b5),'dzvMS':'Global\x20error\x20handlers\x20initialized','RsHzi':function(_0x336136,_0x490916,_0x88be86){return _0x336136(_0x490916,_0x88be86);},'LiCdH':'info'};process['on'](_0x4de3c8(0x1b7),_0x144d8a=>{logUncaughtError(_0x1a9f75['QOKEK'],_0x144d8a),setTimeout(()=>{const _0x469c59=a0_0x3231;process[_0x469c59(0x1ef)](0x1);},0x3e8);}),process['on'](_0x1a9f75['GOxYf'],(_0x49867f,_0x4e3488)=>{const _0x2627e0=_0x4de3c8,_0x4b9dad=_0x1a9f75['bpIcN'](_0x49867f,Error)?_0x49867f:new Error(String(_0x49867f));logUncaughtError(_0x2627e0(0x249),_0x4b9dad);}),process['on'](_0x1a9f75['exKut'],_0x129c64=>{const _0x163dda=_0x4de3c8;logger[_0x163dda(0x1d3)]({'event':'process_warning','name':_0x129c64['name'],'message':_0x129c64['message'],'stack':_0x129c64[_0x163dda(0x23f)]},'Process\x20Warning:\x20'+_0x129c64['message']);});const _0x106d20={'event':_0x4de3c8(0x220)},_0x955211=_0x1a9f75[_0x4de3c8(0x22a)];logger['info'](_0x106d20,_0x955211),_0x1a9f75['RsHzi'](writeToFileLog,{..._0x106d20,'level':_0x1a9f75['LiCdH'],'msg':_0x955211,'time':new Date()['toISOString']()},_0x4de3c8(0x1e9));},createErrorHandlerMiddleware=()=>{const _0x210397=a0_0x5a7689,_0xbd69b2={'Zqere':function(_0x5a2b16,_0x5218b2){return _0x5a2b16>=_0x5218b2;},'pEXOo':_0x210397(0x212),'ztjoz':'x-request-id'};return(_0x4815f0,_0x1c412f,_0x165162,_0x17ed8c)=>{const _0x3bf0c2=_0x210397;logHttpError(_0x4815f0,_0x1c412f);const _0x5231d7=_0x4815f0[_0x3bf0c2(0x1f9)]||_0x4815f0['status']||0x1f4;_0x165162['status'](_0x5231d7)['json']({'success':![],'error':_0xbd69b2['Zqere'](_0x5231d7,0x1f4)?_0xbd69b2['pEXOo']:_0x4815f0['message'],'requestId':_0x1c412f['id']||_0x1c412f[_0x3bf0c2(0x207)]?.[_0xbd69b2['ztjoz']]||null});};};module[a0_0x5a7689(0x25b)]={'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
|
-
|
|
1
|
+
const a0_0x21a2d4=a0_0x289d;(function(_0x2842c5,_0x15da9e){const _0x2e2bd2=a0_0x289d,_0x5c7fce=_0x2842c5();while(!![]){try{const _0x1d01b2=-parseInt(_0x2e2bd2(0xb3))/0x1*(parseInt(_0x2e2bd2(0x9e))/0x2)+-parseInt(_0x2e2bd2(0xa5))/0x3*(parseInt(_0x2e2bd2(0xa7))/0x4)+parseInt(_0x2e2bd2(0xa6))/0x5*(parseInt(_0x2e2bd2(0xbb))/0x6)+parseInt(_0x2e2bd2(0xbe))/0x7*(-parseInt(_0x2e2bd2(0x9a))/0x8)+-parseInt(_0x2e2bd2(0x9f))/0x9+parseInt(_0x2e2bd2(0xc6))/0xa+parseInt(_0x2e2bd2(0xac))/0xb;if(_0x1d01b2===_0x15da9e)break;else _0x5c7fce['push'](_0x5c7fce['shift']());}catch(_0x1d6b2e){_0x5c7fce['push'](_0x5c7fce['shift']());}}}(a0_0x3b32,0x318ef));const dbType=(process['env'][a0_0x21a2d4(0xb4)]||'postgresql')[a0_0x21a2d4(0xa2)]();let executeQuery;function a0_0x3b32(){const _0x329e0a=['CMvZB2X2zuXVB2T1CfzHBhvL','mwfLrxHesW','rejFvfLqrq','s1DTtKW','Bg9VA3vWx3rHyMXLx2XVywrLza','lI9KyI1TExnXBa','lI9KyI1VCMfJBgu','BxLZCwW','zxHLy3v0zvf1zxj5','mZKXnZiYr1zlvNzN','zxHWB3j0CW','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq','mtrhu3fsv2S','C2v0','iezst00G','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','ChvZAa','zgvIDwC','BwfW','DhjPBq','odu3oduWBxzhDKn4','DMfSAwrHDgvmB29RDxbwywX1zxm','A2v5CW','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','B3jHy2XL','C2XPy2u','zw50CMLLCW','z2v0rgLZDgLUy3rwywX1zxm','twXTuxq','Bg9VA3vWq2fJAgu','nJq4otq0vgfkCgDR','uLnSrKi','AgfZ','r2nvBNK','ndy3mtiYvvDcyxfw','mZmYmde5mhHIwfnAEa','Aw5MBW','BgvUz3rO','Dg9mB3DLCKnHC2u','y2XLyxjdywnOzq','z2v0','nZi1mwDpq1jNsq','nwvkEgjpBG','ndeYDeDoAKvN','yLP2u00','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','zM9YrwfJAa','CvPzC3a','mte3mJeZndDAC0XbD0e','vMfSDwuGiG','uLvAsva','ChjVy2vZC0XVB2T1CezPzwXKCW','Bg9HzeXVB2T1CfrHyMXL','u0vmrunuia'];a0_0x3b32=function(){return _0x329e0a;};return a0_0x3b32();}if(dbType===a0_0x21a2d4(0x94)){const oracleDb=require(a0_0x21a2d4(0xb8));executeQuery=(_0x4ada61,_0x14d6ac)=>oracleDb['executeQuery'](_0x4ada61,_0x14d6ac);}else{if(dbType===a0_0x21a2d4(0xb9)){const mysqlDb=require(a0_0x21a2d4(0xb7));executeQuery=(_0x517689,_0x54e8be)=>mysqlDb[a0_0x21a2d4(0xba)](_0x517689,_0x54e8be);}else executeQuery=require('./db')['executeQuery'];}const {logger}=require('./logger');class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x21a2d4(0xa3)](){const _0x56e92b=a0_0x21a2d4,_0x53b1d4={'taeEt':'lookup_cache_cleared'};this['lookupCache']['clear'](),logger[_0x56e92b(0xc3)]({'event':_0x53b1d4['taeEt']},'Lookup\x20cache\x20cleared');}async['loadLookupTable'](_0x15294c,_0x5e9975,_0x5510d3){const _0x42ff37=a0_0x21a2d4,_0x26edd2={'Qbgor':function(_0x5d0bfd,_0x49b859){return _0x5d0bfd!==_0x49b859;},'EAuUo':function(_0x20bf5e,_0x5dcc6c){return _0x20bf5e!==_0x5dcc6c;},'KWmNL':function(_0x18587f,_0x23e6cf){return _0x18587f(_0x23e6cf);},'RUZIP':_0x42ff37(0xb6)},_0x566def=_0x15294c+':'+_0x5e9975+':'+_0x5510d3;if(this[_0x42ff37(0x99)]['has'](_0x566def))return this[_0x42ff37(0x99)][_0x42ff37(0xa4)](_0x566def);try{const _0x494a58=_0x42ff37(0xb1)+_0x5510d3+',\x20'+_0x5e9975+_0x42ff37(0xc0)+_0x15294c,_0x168cb3=await executeQuery(_0x494a58),_0x59c943=new Map();return _0x168cb3['forEach'](_0x4b2da5=>{const _0x4068e3=_0x42ff37,_0x25b54d=_0x26edd2['Qbgor'](_0x4b2da5[_0x5e9975],undefined)?_0x4b2da5[_0x5e9975]:_0x4b2da5[_0x5e9975['toUpperCase']()],_0xaea06b=_0x26edd2['Qbgor'](_0x4b2da5[_0x5510d3],undefined)?_0x4b2da5[_0x5510d3]:_0x4b2da5[_0x5510d3['toUpperCase']()];_0x26edd2['EAuUo'](_0x25b54d,null)&&_0x25b54d!==undefined&&(_0x59c943[_0x4068e3(0xbf)](_0x26edd2[_0x4068e3(0xb5)](String,_0x25b54d)['toLowerCase']()['trim'](),_0xaea06b),_0x59c943[_0x4068e3(0xbf)](_0x26edd2[_0x4068e3(0xb5)](String,_0x25b54d)[_0x4068e3(0xc5)](),_0xaea06b));}),this[_0x42ff37(0x99)][_0x42ff37(0xbf)](_0x566def,_0x59c943),logger[_0x42ff37(0xa0)]({'event':_0x26edd2[_0x42ff37(0xae)],'table':_0x15294c,'column':_0x5e9975,'count':_0x168cb3['length']},'Lookup\x20table\x20loaded:\x20'+_0x15294c),_0x59c943;}catch(_0xb48f3b){logger['error']({'event':_0x42ff37(0xa9),'table':_0x15294c,'error':_0xb48f3b['message']},_0x42ff37(0x93)+_0x15294c);throw _0xb48f3b;}}[a0_0x21a2d4(0xb2)](_0x62c21c,_0x1b5762){const _0x474291=a0_0x21a2d4,_0x5890b2={'RSlFB':function(_0x84f5f7,_0xeb8cfd){return _0x84f5f7===_0xeb8cfd;},'MlmQt':function(_0x2cb340,_0x218927){return _0x2cb340(_0x218927);}};if(_0x5890b2['RSlFB'](_0x62c21c,null)||_0x5890b2[_0x474291(0x9b)](_0x62c21c,undefined)||_0x5890b2[_0x474291(0x9b)](_0x62c21c,''))return null;const _0x55d9b7=_0x5890b2[_0x474291(0x98)](String,_0x62c21c)[_0x474291(0xc5)]();if(_0x1b5762[_0x474291(0x9c)](_0x55d9b7))return _0x1b5762[_0x474291(0xa4)](_0x55d9b7);const _0xc973df=_0x55d9b7[_0x474291(0xa2)]();if(_0x1b5762[_0x474291(0x9c)](_0xc973df))return _0x1b5762['get'](_0xc973df);return null;}async[a0_0x21a2d4(0xaf)](_0x2a73dc,_0x41cddc){const _0x495a5d=a0_0x21a2d4,_0xdd2bb8={'qZYsp':function(_0x32130b,_0x237c1c){return _0x32130b===_0x237c1c;}};if(!_0x41cddc||_0xdd2bb8[_0x495a5d(0xab)](Object[_0x495a5d(0x92)](_0x41cddc)[_0x495a5d(0xa1)],0x0))return{'processedRows':_0x2a73dc,'errors':[]};const _0x2405bf=[],_0x1afedb=new Map();for(const [_0x28a448,_0x5a23ab]of Object[_0x495a5d(0x96)](_0x41cddc)){const {lookupTable:_0x54852a,lookupColumn:_0x2654c8,lookupIdColumn:_0x5f9460}=_0x5a23ab,_0xbdd74d=_0x54852a+':'+_0x2654c8+':'+_0x5f9460;if(!_0x1afedb['has'](_0xbdd74d)){const _0x516cda=await this[_0x495a5d(0xb0)](_0x54852a,_0x2654c8,_0x5f9460);_0x1afedb[_0x495a5d(0xbf)](_0xbdd74d,_0x516cda);}}const _0x23062c=_0x2a73dc[_0x495a5d(0xc4)]((_0x38b3fa,_0x4deadf)=>{const _0x153768=_0x495a5d,_0x14feaa={..._0x38b3fa};for(const [_0x294dfc,_0x1b80b8]of Object['entries'](_0x41cddc)){const {lookupTable:_0x1f2e96,lookupColumn:_0x304dc8,lookupIdColumn:_0x4160e2,targetField:_0x2839b4,required:_0x43c5a6}=_0x1b80b8,_0x5ed7bf=_0x1f2e96+':'+_0x304dc8+':'+_0x4160e2,_0x4a075d=_0x1afedb[_0x153768(0xa4)](_0x5ed7bf),_0x43e0cb=_0x38b3fa[_0x294dfc];if((_0xdd2bb8['qZYsp'](_0x43e0cb,null)||_0x43e0cb===undefined||_0x43e0cb==='')&&!_0x43c5a6){_0x14feaa[_0x2839b4]=null;continue;}const _0x5cba3a=this[_0x153768(0xb2)](_0x43e0cb,_0x4a075d);_0x5cba3a!==null?_0x14feaa[_0x2839b4]=_0x5cba3a:(_0x43c5a6&&_0x2405bf[_0x153768(0xc2)]({'rowIndex':_0x4deadf,'field':_0x294dfc,'value':_0x43e0cb,'targetField':_0x2839b4,'lookupTable':_0x1f2e96,'message':_0x153768(0xad)+_0x43e0cb+'\x22\x20not\x20found\x20in\x20'+_0x1f2e96}),_0x14feaa[_0x2839b4]=null);}return _0x14feaa;});return logger['info']({'event':_0x495a5d(0xc1),'totalRows':_0x2a73dc[_0x495a5d(0xa1)],'errorCount':_0x2405bf['length'],'lookupFieldCount':Object['keys'](_0x41cddc)[_0x495a5d(0xa1)]},_0x495a5d(0xbd)),{'processedRows':_0x23062c,'errors':_0x2405bf};}['getDistinctValues'](_0x5357b3,_0x444ed0){const _0x18b24e=a0_0x21a2d4,_0xec2246={'nYIke':function(_0x587313,_0x39f55d){return _0x587313!==_0x39f55d;},'AhXHX':function(_0x84309b,_0x1287e9){return _0x84309b!==_0x1287e9;}},_0x34e455=new Set();return _0x5357b3[_0x18b24e(0xaa)](_0x117ca3=>{const _0x19a3d1=_0x117ca3[_0x444ed0];_0x19a3d1!==null&&_0xec2246['nYIke'](_0x19a3d1,undefined)&&_0xec2246['AhXHX'](_0x19a3d1,'')&&_0x34e455['add'](String(_0x19a3d1)['trim']());}),Array['from'](_0x34e455);}async[a0_0x21a2d4(0x91)](_0x56525e,_0x498ff7){const _0xb47ebf=a0_0x21a2d4,_0x2d3ade={'bZvSM':function(_0x13713a,_0x34157d){return _0x13713a!==_0x34157d;},'GcUny':function(_0x5e49b4,_0x2087d2){return _0x5e49b4===_0x2087d2;}};if(!_0x498ff7||Object[_0xb47ebf(0x92)](_0x498ff7)['length']===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x363ac8=[],_0x4b9746={};for(const [_0x3472a1,_0x3172f0]of Object['entries'](_0x498ff7)){const {lookupTable:_0xcd9402,lookupColumn:_0x5257ef,lookupIdColumn:_0x4da850,required:_0x8ca8ce}=_0x3172f0,_0x1ac390=this[_0xb47ebf(0x97)](_0x56525e,_0x3472a1),_0xdaf11e=await this['loadLookupTable'](_0xcd9402,_0x5257ef,_0x4da850),_0x1741a5=[],_0x348701=[];_0x1ac390[_0xb47ebf(0xaa)](_0x3f09ab=>{const _0x4cf420=_0xb47ebf,_0x471784=this[_0x4cf420(0xb2)](_0x3f09ab,_0xdaf11e);_0x2d3ade[_0x4cf420(0xa8)](_0x471784,null)?_0x348701['push'](_0x3f09ab):_0x1741a5['push'](_0x3f09ab);});if(_0x1741a5['length']>0x0&&_0x8ca8ce){_0x363ac8[_0xb47ebf(0xc2)]({'field':_0x3472a1,'lookupTable':_0xcd9402,'invalidValues':_0x1741a5,'message':_0x1741a5[_0xb47ebf(0xa1)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0xcd9402});const _0x456686=[];_0xdaf11e['forEach']((_0x5d522d,_0x4d68e0)=>{const _0x48c55=_0xb47ebf;if(_0x2d3ade[_0x48c55(0x9d)](_0x4d68e0,_0x4d68e0['toLowerCase']()))return;_0x456686[_0x48c55(0xc2)](_0x4d68e0);}),_0x4b9746[_0x3472a1]={'invalidValues':_0x1741a5,'availableValues':_0x456686[_0xb47ebf(0x95)](0x0,0x32)};}}return{'valid':_0x2d3ade['GcUny'](_0x363ac8['length'],0x0),'errors':_0x363ac8,'suggestions':_0x4b9746};}}function a0_0x289d(_0x1ea9a7,_0x4b9681){_0x1ea9a7=_0x1ea9a7-0x91;const _0x3b323f=a0_0x3b32();let _0x289dff=_0x3b323f[_0x1ea9a7];if(a0_0x289d['PXZQTb']===undefined){var _0x1a30bc=function(_0x48941b){const _0x3a039c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e06ae='',_0x24d86e='';for(let _0x37dce0=0x0,_0x1e1028,_0x4b6b36,_0x39e8e7=0x0;_0x4b6b36=_0x48941b['charAt'](_0x39e8e7++);~_0x4b6b36&&(_0x1e1028=_0x37dce0%0x4?_0x1e1028*0x40+_0x4b6b36:_0x4b6b36,_0x37dce0++%0x4)?_0x2e06ae+=String['fromCharCode'](0xff&_0x1e1028>>(-0x2*_0x37dce0&0x6)):0x0){_0x4b6b36=_0x3a039c['indexOf'](_0x4b6b36);}for(let _0x48ab62=0x0,_0x4640b6=_0x2e06ae['length'];_0x48ab62<_0x4640b6;_0x48ab62++){_0x24d86e+='%'+('00'+_0x2e06ae['charCodeAt'](_0x48ab62)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x24d86e);};a0_0x289d['AIoOqB']=_0x1a30bc,a0_0x289d['EyILHa']={},a0_0x289d['PXZQTb']=!![];}const _0x53709a=_0x3b323f[0x0],_0x1fa56e=_0x1ea9a7+_0x53709a,_0x33ad52=a0_0x289d['EyILHa'][_0x1fa56e];return!_0x33ad52?(_0x289dff=a0_0x289d['AIoOqB'](_0x289dff),a0_0x289d['EyILHa'][_0x1fa56e]=_0x289dff):_0x289dff=_0x33ad52,_0x289dff;}module[a0_0x21a2d4(0xbc)]=new LookupResolver();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a0_0x33aa(){const _0x6cbab6=['CMvHzezPBgu','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','AM9PBG','mJe2qwTPq25m','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','mJG4mdj2CuzysvO','mte2nZL2sKHTDgW','Bg9HzfbHEwXVywq','qK1rrMG','lI9SB2DNzxi','nKrXtfjZBq','mty5ntuYnuT4y0XXtW','DxrMoa','Cgf5Bg9Hzf9SB2fKzwq','mtzhu0z6q04','CgfYC2u','zgvIDwC','n0z6s21Zza','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','zxjYB3i','mtq3mZi2nw1pCvDgEG','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','ywn0Aw9U','CMvWBgfJzq','ChjVBwLZzxm','mty4mtq2vKHduu5l','mZuWndu5mwHJsgf4rq','C2v0','lMPZB24','y2fJAgu','mtG0mvnushDxrq','z2v0','mte4ndHPq3rtDhC','lI4VlI4VCgf5Bg9Hza','zxHWB3j0CW','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','mtbkuvHNr1y','zgf0yxrHyMXLC1f1zxj5'];a0_0x33aa=function(){return _0x6cbab6;};return a0_0x33aa();}const a0_0x5af18d=a0_0x2e30;(function(_0x376e48,_0x310866){const _0x3892b8=a0_0x2e30,_0x590498=_0x376e48();while(!![]){try{const _0x5e73c5=-parseInt(_0x3892b8(0xc3))/0x1*(-parseInt(_0x3892b8(0xb7))/0x2)+parseInt(_0x3892b8(0xb8))/0x3*(-parseInt(_0x3892b8(0xc0))/0x4)+parseInt(_0x3892b8(0xc6))/0x5*(-parseInt(_0x3892b8(0xbc))/0x6)+parseInt(_0x3892b8(0xd0))/0x7*(parseInt(_0x3892b8(0xd2))/0x8)+-parseInt(_0x3892b8(0xcc))/0x9*(parseInt(_0x3892b8(0xd6))/0xa)+parseInt(_0x3892b8(0xcb))/0xb*(parseInt(_0x3892b8(0xb5))/0xc)+parseInt(_0x3892b8(0xbd))/0xd;if(_0x5e73c5===_0x310866)break;else _0x590498['push'](_0x590498['shift']());}catch(_0x2034b5){_0x590498['push'](_0x590498['shift']());}}}(a0_0x33aa,0x2fea3));const fs=require('fs')[a0_0x5af18d(0xca)],path=require('path'),{logger}=require(a0_0x5af18d(0xbb));function a0_0x2e30(_0x3eeb2d,_0x2db0c2){_0x3eeb2d=_0x3eeb2d-0xb1;const _0x33aa1f=a0_0x33aa();let _0x2e300d=_0x33aa1f[_0x3eeb2d];if(a0_0x2e30['aaGKXm']===undefined){var _0x41b61c=function(_0xebadbd){const _0x49244d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4fd77b='',_0xfd3b73='';for(let _0x3d7ea1=0x0,_0x2418a8,_0x38fd78,_0x288e88=0x0;_0x38fd78=_0xebadbd['charAt'](_0x288e88++);~_0x38fd78&&(_0x2418a8=_0x3d7ea1%0x4?_0x2418a8*0x40+_0x38fd78:_0x38fd78,_0x3d7ea1++%0x4)?_0x4fd77b+=String['fromCharCode'](0xff&_0x2418a8>>(-0x2*_0x3d7ea1&0x6)):0x0){_0x38fd78=_0x49244d['indexOf'](_0x38fd78);}for(let _0xab62bf=0x0,_0xacf75f=_0x4fd77b['length'];_0xab62bf<_0xacf75f;_0xab62bf++){_0xfd3b73+='%'+('00'+_0x4fd77b['charCodeAt'](_0xab62bf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xfd3b73);};a0_0x2e30['VZrPPo']=_0x41b61c,a0_0x2e30['ZgiUDT']={},a0_0x2e30['aaGKXm']=!![];}const _0x1ff55f=_0x33aa1f[0x0],_0x8753b9=_0x3eeb2d+_0x1ff55f,_0x4553f2=a0_0x2e30['ZgiUDT'][_0x8753b9];return!_0x4553f2?(_0x2e300d=a0_0x2e30['VZrPPo'](_0x2e300d),a0_0x2e30['ZgiUDT'][_0x8753b9]=_0x2e300d):_0x2e300d=_0x4553f2,_0x2e300d;}class PayloadLoader{constructor(){const _0x294676=a0_0x5af18d;this['payloadDir']=path['join'](__dirname,_0x294676(0xd3)),this['cache']=new Map();}async[a0_0x5af18d(0xb9)](_0x58586e,_0x15d2ea){const _0x4dc426=a0_0x5af18d,_0x3fbcd9={'ovkcM':_0x4dc426(0xbe),'MagQt':_0x4dc426(0xbf),'RlUDs':_0x4dc426(0xb3)},_0x52661f=_0x58586e+':'+_0x15d2ea;if(this['cache']['has'](_0x52661f))return this[_0x4dc426(0xcf)][_0x4dc426(0xd1)](_0x52661f);const _0x40c982=path[_0x4dc426(0xb4)](this['payloadDir'],_0x58586e+'_'+_0x15d2ea+'.json');try{const _0x14dc0c=await fs['readFile'](_0x40c982,_0x3fbcd9['ovkcM']),_0x4df801=JSON[_0x4dc426(0xc1)](_0x14dc0c);return this[_0x4dc426(0xcf)][_0x4dc426(0xcd)](_0x52661f,_0x4df801),logger[_0x4dc426(0xc2)]({'event':_0x3fbcd9['MagQt'],'project':_0x58586e,'resource':_0x15d2ea},_0x4dc426(0xd5)),_0x4df801;}catch(_0x430bc6){logger[_0x4dc426(0xc5)]({'event':'payload_load_error','project':_0x58586e,'resource':_0x15d2ea,'error':_0x430bc6['message']},_0x3fbcd9['RlUDs']);throw new Error('Payload\x20not\x20found:\x20'+_0x58586e+'_'+_0x15d2ea);}}async['loadPayloadByName'](_0x5e77e2){const _0x317abc=a0_0x5af18d,_0x3c13ac={'YhsTk':_0x317abc(0xbe),'DaThe':'payload_load_error'},_0x47b885='payload:'+_0x5e77e2;if(this[_0x317abc(0xcf)]['has'](_0x47b885))return this[_0x317abc(0xcf)]['get'](_0x47b885);const _0x4d4910=path['join'](this['payloadDir'],_0x5e77e2+_0x317abc(0xce));try{const _0x2aa43d=await fs[_0x317abc(0xb2)](_0x4d4910,_0x3c13ac['YhsTk']),_0x31155b=JSON[_0x317abc(0xc1)](_0x2aa43d);return this[_0x317abc(0xcf)]['set'](_0x47b885,_0x31155b),logger[_0x317abc(0xc2)]({'event':_0x317abc(0xbf),'payloadName':_0x5e77e2},_0x317abc(0xc4)),_0x31155b;}catch(_0x54c838){logger['error']({'event':_0x3c13ac['DaThe'],'payloadName':_0x5e77e2,'error':_0x54c838['message']},_0x317abc(0xc7));throw new Error('Payload\x20not\x20found:\x20'+_0x5e77e2);}}['isActionEnabled'](_0x1d1759,_0x3be3fa){const _0x36574c=a0_0x5af18d;return _0x1d1759[_0x36574c(0xc8)]&&_0x1d1759[_0x36574c(0xc8)][_0x3be3fa]===!![];}['getExportConfig'](_0x147e3d){const _0x27d039=a0_0x5af18d;return{'columns':_0x147e3d['fieldName']||[],'filename':_0x147e3d['tableName'][_0x27d039(0xc9)]('.','-')+'-export','datatablesQuery':_0x147e3d[_0x27d039(0xb1)]||null,'columnFormats':_0x147e3d['columnFormats']||null,'fieldLabels':_0x147e3d['fieldLabels']||null};}['clearCache'](){const _0x5ce255=a0_0x5af18d,_0x45efba={'BMQFh':'Payload\x20cache\x20cleared'};this['cache']['clear'](),logger['info']({'event':_0x5ce255(0xb6)},_0x45efba[_0x5ce255(0xba)]);}}module[a0_0x5af18d(0xd4)]=new PayloadLoader();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';function
|
|
1
|
+
'use strict';var a0_0x1f7e3a=a0_0x2642;function a0_0x2642(_0x4ad090,_0x5e18ac){_0x4ad090=_0x4ad090-0xab;var _0x1ccb98=a0_0x1ccb();var _0x2642fd=_0x1ccb98[_0x4ad090];if(a0_0x2642['iCWnmj']===undefined){var _0x36cefd=function(_0x5bd020){var _0x4d9164='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x3f5ff2='',_0x1de707='';for(var _0x4cde6b=0x0,_0x12329c,_0x417531,_0x4cb634=0x0;_0x417531=_0x5bd020['charAt'](_0x4cb634++);~_0x417531&&(_0x12329c=_0x4cde6b%0x4?_0x12329c*0x40+_0x417531:_0x417531,_0x4cde6b++%0x4)?_0x3f5ff2+=String['fromCharCode'](0xff&_0x12329c>>(-0x2*_0x4cde6b&0x6)):0x0){_0x417531=_0x4d9164['indexOf'](_0x417531);}for(var _0x40428e=0x0,_0x5947f9=_0x3f5ff2['length'];_0x40428e<_0x5947f9;_0x40428e++){_0x1de707+='%'+('00'+_0x3f5ff2['charCodeAt'](_0x40428e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1de707);};a0_0x2642['GEhWLo']=_0x36cefd,a0_0x2642['JZIHOp']={},a0_0x2642['iCWnmj']=!![];}var _0x657b8d=_0x1ccb98[0x0],_0x4d3629=_0x4ad090+_0x657b8d,_0x406b70=a0_0x2642['JZIHOp'][_0x4d3629];return!_0x406b70?(_0x2642fd=a0_0x2642['GEhWLo'](_0x2642fd),a0_0x2642['JZIHOp'][_0x4d3629]=_0x2642fd):_0x2642fd=_0x406b70,_0x2642fd;}function a0_0x1ccb(){var _0x128442=['mZKXmdC0uuDTB1nZ','mte2mJy3mZbtuLPtug4','ody3mZa2zffhrePX','mZa3ndeYmfr4tNDTyq','zxHWB3j0CW','mtC2zK5HuhDy','mteYug94wLvq','mZCWmJyWsvvit214','mtu5mZvNr3bZueu','mZbcD0H3qNe','mte2mJG5tw9ls1HH','Dg9ju09tDhjPBMC'];a0_0x1ccb=function(){return _0x128442;};return a0_0x1ccb();}(function(_0x27e50e,_0x57a17b){var _0xaf2046=a0_0x2642,_0x515bcb=_0x27e50e();while(!![]){try{var _0xdf706c=-parseInt(_0xaf2046(0xb5))/0x1+parseInt(_0xaf2046(0xb2))/0x2*(-parseInt(_0xaf2046(0xb3))/0x3)+-parseInt(_0xaf2046(0xae))/0x4*(-parseInt(_0xaf2046(0xb1))/0x5)+-parseInt(_0xaf2046(0xab))/0x6+-parseInt(_0xaf2046(0xac))/0x7+-parseInt(_0xaf2046(0xaf))/0x8*(-parseInt(_0xaf2046(0xb0))/0x9)+parseInt(_0xaf2046(0xb6))/0xa;if(_0xdf706c===_0x57a17b)break;else _0x515bcb['push'](_0x515bcb['shift']());}catch(_0x579534){_0x515bcb['push'](_0x515bcb['shift']());}}}(a0_0x1ccb,0x4ec47));function createResponse(_0x5443b1,_0x5794dd,_0x1aedf7=null){var _0x34383d=a0_0x2642;return{'success':!![],'statusCode':_0x5443b1,'message':_0x5794dd,'data':_0x1aedf7,'timestamp':new Date()[_0x34383d(0xb4)]()};}function createError(_0x3acf3c,_0x4f2941,_0x458649=null){return{'success':![],'statusCode':_0x3acf3c,'message':_0x4f2941,'data':_0x458649,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x352440,_0x45c466){var _0x4429bb=a0_0x2642;return{'success':![],'statusCode':0x190,'message':_0x352440,'data':{'errors':_0x45c466},'timestamp':new Date()[_0x4429bb(0xb4)]()};}module[a0_0x1f7e3a(0xad)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
|
package/src/utils/rabbitmq.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x56cda3=a0_0x3f01;(function(_0x335918,_0x32e9f5){const _0x9e5cd8=a0_0x3f01,_0xdaa332=_0x335918();while(!![]){try{const _0x1ef4b7=-parseInt(_0x9e5cd8(0x1ed))/0x1*(parseInt(_0x9e5cd8(0x1e0))/0x2)+parseInt(_0x9e5cd8(0x1fa))/0x3*(-parseInt(_0x9e5cd8(0x207))/0x4)+-parseInt(_0x9e5cd8(0x1e4))/0x5*(parseInt(_0x9e5cd8(0x1e8))/0x6)+parseInt(_0x9e5cd8(0x1e7))/0x7*(parseInt(_0x9e5cd8(0x1e6))/0x8)+-parseInt(_0x9e5cd8(0x1e3))/0x9+parseInt(_0x9e5cd8(0x1f4))/0xa*(-parseInt(_0x9e5cd8(0x1e5))/0xb)+parseInt(_0x9e5cd8(0x206))/0xc;if(_0x1ef4b7===_0x32e9f5)break;else _0xdaa332['push'](_0xdaa332['shift']());}catch(_0x359699){_0xdaa332['push'](_0xdaa332['shift']());}}}(a0_0x2141,0x37d97),require(a0_0x56cda3(0x1ee))[a0_0x56cda3(0x1f1)]());const amqp=require(a0_0x56cda3(0x1e2)),{formatDate}=require(a0_0x56cda3(0x1f7)),RABBITMQ_URL=process[a0_0x56cda3(0x1f2)]['RABBITMQ_URL'],EXCHANGE=process['env']['RABBITMQ_EXCHANGE'],ROUTING_KEY=process[a0_0x56cda3(0x1f2)][a0_0x56cda3(0x1fd)],QUEUE=process[a0_0x56cda3(0x1f2)][a0_0x56cda3(0x200)];async function createConnection(){const _0xd0b47d=a0_0x56cda3,_0x1dfd1e={'dRWuS':function(_0x4132cd,_0x71406a){return _0x4132cd(_0x71406a);}};try{const _0x2cbb66=await amqp[_0xd0b47d(0x1df)](RABBITMQ_URL);return console[_0xd0b47d(0x1eb)]('['+formatDate(new Date())+_0xd0b47d(0x1f0)),_0x2cbb66;}catch(_0x30bd92){console['error']('['+_0x1dfd1e['dRWuS'](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x30bd92[_0xd0b47d(0x1e1)]);throw _0x30bd92;}}async function createChannel(_0x24643b){const _0x3df6b1=a0_0x56cda3,_0x146878={'GoVQO':function(_0x2835a4,_0x485f8d){return _0x2835a4(_0x485f8d);}};try{const _0x103fe1=await _0x24643b[_0x3df6b1(0x1ef)]();return console['log']('['+_0x146878['GoVQO'](formatDate,new Date())+_0x3df6b1(0x1ec)),_0x103fe1;}catch(_0x4c86b8){console[_0x3df6b1(0x1de)]('['+formatDate(new Date())+_0x3df6b1(0x1ea)+_0x4c86b8[_0x3df6b1(0x1e1)]);throw _0x4c86b8;}}function a0_0x3f01(_0x4c7c1d,_0x3f4ba4){_0x4c7c1d=_0x4c7c1d-0x1dc;const _0x214169=a0_0x2141();let _0x3f0137=_0x214169[_0x4c7c1d];if(a0_0x3f01['hFrtVH']===undefined){var _0x4e199f=function(_0x35bffc){const _0x10985a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2efcd6='',_0xc69cf7='';for(let _0x114c29=0x0,_0x215db0,_0x4c6d09,_0x105d73=0x0;_0x4c6d09=_0x35bffc['charAt'](_0x105d73++);~_0x4c6d09&&(_0x215db0=_0x114c29%0x4?_0x215db0*0x40+_0x4c6d09:_0x4c6d09,_0x114c29++%0x4)?_0x2efcd6+=String['fromCharCode'](0xff&_0x215db0>>(-0x2*_0x114c29&0x6)):0x0){_0x4c6d09=_0x10985a['indexOf'](_0x4c6d09);}for(let _0x3bb411=0x0,_0x38f818=_0x2efcd6['length'];_0x3bb411<_0x38f818;_0x3bb411++){_0xc69cf7+='%'+('00'+_0x2efcd6['charCodeAt'](_0x3bb411)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xc69cf7);};a0_0x3f01['OshNOS']=_0x4e199f,a0_0x3f01['yNtRMU']={},a0_0x3f01['hFrtVH']=!![];}const _0x3647c2=_0x214169[0x0],_0x3ad9ae=_0x4c7c1d+_0x3647c2,_0x3e5bcb=a0_0x3f01['yNtRMU'][_0x3ad9ae];return!_0x3e5bcb?(_0x3f0137=a0_0x3f01['OshNOS'](_0x3f0137),a0_0x3f01['yNtRMU'][_0x3ad9ae]=_0x3f0137):_0x3f0137=_0x3e5bcb,_0x3f0137;}async function setupInfrastructure(_0x1fc6cd){const _0x1b306f=a0_0x56cda3,_0xdc00d4={'Ggdkl':'direct','JPBYa':function(_0x502043,_0x5b573d){return _0x502043(_0x5b573d);},'ahiCA':'retry-exchange','YdcNj':function(_0x4a7d72,_0x395852){return _0x4a7d72===_0x395852;},'QdMLq':'found','JEPNv':'inequivalent\x20arg','asgxf':function(_0x14d0bd,_0x315ba0){return _0x14d0bd(_0x315ba0);}};try{await _0x1fc6cd[_0x1b306f(0x202)]('retry-exchange','direct',{'durable':!![],'autoDelete':![]}),console[_0x1b306f(0x1eb)]('['+formatDate(new Date())+_0x1b306f(0x204));}catch(_0x1914bc){console['error']('['+formatDate(new Date())+_0x1b306f(0x1fb),_0x1914bc['message']);throw _0x1914bc;}try{await _0x1fc6cd['assertExchange'](EXCHANGE,_0xdc00d4[_0x1b306f(0x203)],{'durable':!![],'autoDelete':![]}),console['log']('['+_0xdc00d4[_0x1b306f(0x205)](formatDate,new Date())+']\x20Exchange\x20'+EXCHANGE+'\x20created/ready');}catch(_0x22724b){console['error']('['+formatDate(new Date())+_0x1b306f(0x1dc)+EXCHANGE+':',_0x22724b[_0x1b306f(0x1e1)]);throw _0x22724b;}const _0x5c9082=ROUTING_KEY+'_retry';try{const _0x2f56ab={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x1fc6cd['assertQueue'](_0x5c9082,_0x2f56ab),console[_0x1b306f(0x1eb)]('['+_0xdc00d4[_0x1b306f(0x205)](formatDate,new Date())+_0x1b306f(0x1f6)+_0x5c9082+'\x20created/ready'),await _0x1fc6cd['bindQueue'](_0x5c9082,_0xdc00d4[_0x1b306f(0x1f5)],ROUTING_KEY),console['log']('['+_0xdc00d4['JPBYa'](formatDate,new Date())+_0x1b306f(0x1fc)+ROUTING_KEY+_0x1b306f(0x1f9));}catch(_0x2fea0a){console[_0x1b306f(0x1de)]('['+formatDate(new Date())+_0x1b306f(0x201),_0x2fea0a['message']);throw _0x2fea0a;}try{const _0x55f691={'durable':!![],'arguments':{'x-dead-letter-exchange':_0xdc00d4['ahiCA'],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x3327d6=await _0x1fc6cd['assertQueue'](QUEUE,_0x55f691);console['log']('['+formatDate(new Date())+_0x1b306f(0x20a)+QUEUE+'\x20'+(_0xdc00d4['YdcNj'](_0x3327d6['queue'],QUEUE)?_0x1b306f(0x1ff):_0xdc00d4[_0x1b306f(0x1dd)])+'\x20with\x20DLX'),await _0x1fc6cd['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x1b306f(0x1eb)]('['+formatDate(new Date())+']\x20Binding\x20'+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+_0x1b306f(0x1f8));}catch(_0x4defdc){if(_0x4defdc['message']['includes'](_0xdc00d4['JEPNv'])&&_0x4defdc['message']['includes']('x-dead-letter-routing-key'))console['error']('\x0a['+_0xdc00d4['asgxf'](formatDate,new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x1b306f(0x1de)]('Queue\x20'+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console['error']('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process['exit'](0x1);else{console[_0x1b306f(0x1de)]('['+formatDate(new Date())+_0x1b306f(0x209)+QUEUE+':',_0x4defdc[_0x1b306f(0x1e1)]);throw _0x4defdc;}}}catch(_0x5965a3){if(!_0x5965a3[_0x1b306f(0x1e1)]['includes'](_0xdc00d4['JEPNv'])){console['error']('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x5965a3['message']);throw _0x5965a3;}process[_0x1b306f(0x208)](0x1);}}async function closeConnection(_0xc0b0e0){const _0x294825=a0_0x56cda3;if(_0xc0b0e0)try{await _0xc0b0e0[_0x294825(0x1fe)](),console['log']('['+formatDate(new Date())+_0x294825(0x1e9));}catch(_0x53bfcc){console[_0x294825(0x1de)]('['+formatDate(new Date())+']\x20Failed\x20to\x20close\x20RabbitMQ\x20connection:\x20'+_0x53bfcc['message']);}}function a0_0x2141(){const _0xefcd5b=['sLbcwwe','ndm2odC1nMn2AK96AW','mJbOq3PyvxG','zxHPDa','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','xsbrDwv1zsa','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','uwrnthe','zxjYB3i','y29UBMvJDa','nZC2q3Lvv01S','BwvZC2fNzq','yw1XCgXPyG','mtaXndi0nM9yBurnrG','nxLYqKzXra','mJGWntiYqNnUzxrN','mtuZnJiZmMjWuwXRrW','n0DKverVrG','mZa2mtjlrMTpwM0','xsbsywjIAxrnusbJB25Uzwn0Aw9UignSB3nLza','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','Bg9N','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','mZyXu0fJsvPM','zg90zw52','y3jLyxrLq2HHBM5LBa','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r','y29UzMLN','zw52','zxHWB3j0CW','mJbWqLzMC1K','ywHPq0e','xsbszxrYEsbXDwv1zsa','lI9KyxrLsgvSCgvY','ksbJCMvHDgvK','ignYzwf0zwq','mteWnZLUu2fTteu','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','xsbszxrYEsbIAw5KAw5NigzVCIa','uKfcqKLutvfFuK9vveLor19lrvK','y2XVC2u','y3jLyxrLzc9YzwfKEq','uKfcqKLutvfFuvvfvuu','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','yxnZzxj0rxHJAgfUz2u','r2DKA2W','xsbszxrYEsbLEgnOyw5NzsbJCMvHDgvKl3jLywr5'];a0_0x2141=function(){return _0xefcd5b;};return a0_0x2141();}module[a0_0x56cda3(0x1f3)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a0_0x5b421c=a0_0x2680;function a0_0x2680(_0x57fa81,_0x33a47d){_0x57fa81=_0x57fa81-0x18b;const _0x4d3ff2=a0_0x4d3f();let _0x26803c=_0x4d3ff2[_0x57fa81];if(a0_0x2680['DvRQZL']===undefined){var _0x1cd13b=function(_0x45249b){const _0x3b63d5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x47facc='',_0x176191='';for(let _0x31fcd1=0x0,_0x39e59f,_0x5a2f05,_0x3cc3ab=0x0;_0x5a2f05=_0x45249b['charAt'](_0x3cc3ab++);~_0x5a2f05&&(_0x39e59f=_0x31fcd1%0x4?_0x39e59f*0x40+_0x5a2f05:_0x5a2f05,_0x31fcd1++%0x4)?_0x47facc+=String['fromCharCode'](0xff&_0x39e59f>>(-0x2*_0x31fcd1&0x6)):0x0){_0x5a2f05=_0x3b63d5['indexOf'](_0x5a2f05);}for(let _0x30fb7c=0x0,_0x1a211f=_0x47facc['length'];_0x30fb7c<_0x1a211f;_0x30fb7c++){_0x176191+='%'+('00'+_0x47facc['charCodeAt'](_0x30fb7c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x176191);};a0_0x2680['ZlbjNh']=_0x1cd13b,a0_0x2680['ivUVCO']={},a0_0x2680['DvRQZL']=!![];}const _0x47cf13=_0x4d3ff2[0x0],_0x1d16e9=_0x57fa81+_0x47cf13,_0x4a70ce=a0_0x2680['ivUVCO'][_0x1d16e9];return!_0x4a70ce?(_0x26803c=a0_0x2680['ZlbjNh'](_0x26803c),a0_0x2680['ivUVCO'][_0x1d16e9]=_0x26803c):_0x26803c=_0x4a70ce,_0x26803c;}function a0_0x4d3f(){const _0x28a03e=['zxHWB3j0CW','ndG0zhvIrwXA','CgLUzW','BwLU','ndC2mdiWBgvdD0nd','AxndB25Uzwn0zwq','zM9Yy2veAxnJB25Uzwn0','CMvKAxnFy29UBMvJDgvK','nti4ndn6rNPnzMO','uKvesvnFueftu1DpuKq','CMfJzq','nJvLzhLYDfa','D2fYBG','mtaWmZKZmJH5uLrks2u','CMvKAxnFzgLZy29UBMvJDgvK','y2XPzw50','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','zxjYB3i','odmWyKfHCLbJ','zgLZy29UBMvJDa','y29UBMvJDa','qvPwueu','CMrJrwS','mtGXntq3mxHfwuv5Ba','zw52','mtyZmZC3CvrQqwLK','CMvKAxnFAw5PDf9LCNjVCG','yuPXA08','mKfNtLzvCW','mtaWmK9LtLHhsG','ue9orW','nZm4mty4rMnOvu1m','BwvZC2fNzq','nteYotG2wef2yK1V'];a0_0x4d3f=function(){return _0x28a03e;};return a0_0x4d3f();}(function(_0xb446cd,_0x660f3e){const _0x43fdd0=a0_0x2680,_0x562587=_0xb446cd();while(!![]){try{const _0x1d64f2=parseInt(_0x43fdd0(0x1a1))/0x1*(parseInt(_0x43fdd0(0x1a6))/0x2)+parseInt(_0x43fdd0(0x19c))/0x3+-parseInt(_0x43fdd0(0x1ab))/0x4*(parseInt(_0x43fdd0(0x190))/0x5)+parseInt(_0x43fdd0(0x1a2))/0x6*(parseInt(_0x43fdd0(0x18d))/0x7)+-parseInt(_0x43fdd0(0x192))/0x8+parseInt(_0x43fdd0(0x19e))/0x9*(-parseInt(_0x43fdd0(0x197))/0xa)+-parseInt(_0x43fdd0(0x1a8))/0xb*(-parseInt(_0x43fdd0(0x1a4))/0xc);if(_0x1d64f2===_0x660f3e)break;else _0x562587['push'](_0x562587['shift']());}catch(_0x35d6f4){_0x562587['push'](_0x562587['shift']());}}}(a0_0x4d3f,0xbda3a));const Redis=require('ioredis'),{logger}=require('./logger');class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}['connect'](){const _0x455007=a0_0x2680,_0x3513f6={'rdcEk':_0x455007(0x18c),'YABiy':'redis_error','StbPw':_0x455007(0x193),'iFQtH':_0x455007(0x195),'gDRHX':'localhost','AZVPE':function(_0x44a258,_0x23262d,_0x36d6a0){return _0x44a258(_0x23262d,_0x36d6a0);},'DwOlh':_0x455007(0x199),'aJqkO':'error'};if(this[_0x455007(0x194)])return this['client'];try{return this['client']=new Redis({'host':process['env']['REDIS_HOST']||_0x3513f6['gDRHX'],'port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x455007(0x19d)][_0x455007(0x18e)]||undefined,'db':_0x3513f6[_0x455007(0x19a)](parseInt,process[_0x455007(0x19d)]['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x384147){const _0x172a34=_0x455007,_0x53d210=Math[_0x172a34(0x1aa)](_0x384147*0x32,0x7d0);return _0x53d210;}}),this['client']['on'](_0x3513f6['DwOlh'],()=>{const _0xc22557=_0x455007;this[_0xc22557(0x1ac)]=!![],logger['info']({'event':_0x3513f6[_0xc22557(0x19b)]},'Redis\x20connected\x20successfully');}),this['client']['on'](_0x3513f6[_0x455007(0x1a0)],_0x3dcfb3=>{const _0x1b4e34=_0x455007;this['isConnected']=![],logger[_0x1b4e34(0x196)]({'event':_0x3513f6['YABiy'],'error':_0x3dcfb3['message']},'Redis\x20connection\x20error:\x20'+_0x3dcfb3[_0x1b4e34(0x1a5)]);}),this[_0x455007(0x194)]['on']('close',()=>{const _0x1cb054=_0x455007;this['isConnected']=![],logger[_0x1cb054(0x191)]({'event':_0x3513f6['StbPw']},_0x3513f6['iFQtH']);}),this[_0x455007(0x194)];}catch(_0x1bab11){logger['error']({'event':_0x455007(0x19f),'error':_0x1bab11[_0x455007(0x1a5)]},'Failed\x20to\x20initialize\x20Redis');throw _0x1bab11;}}['getClient'](){const _0xe047b6=a0_0x2680;return!this[_0xe047b6(0x194)]&&this['connect'](),this[_0xe047b6(0x194)];}async['ping'](_0x894f0=0x1388){const _0x4f7228=a0_0x2680,_0x5de1f6={'wMADn':_0x4f7228(0x1a3)};try{const _0x5d2d12=this['getClient'](),_0x29ab29=await Promise[_0x4f7228(0x18f)]([_0x5d2d12[_0x4f7228(0x1a9)](),new Promise((_0x289e2c,_0x1cfd93)=>setTimeout(()=>_0x1cfd93(new Error('Redis\x20PING\x20timeout')),_0x894f0))]);return _0x29ab29===_0x5de1f6['wMADn'];}catch(_0x39f1e0){return![];}}async[a0_0x5b421c(0x198)](){this['client']&&(await this['client']['quit'](),this['client']=null,this['isConnected']=![]);}[a0_0x5b421c(0x18b)](){const _0x5ca67c=a0_0x5b421c;this['client']&&(this['client']['disconnect'](),this[_0x5ca67c(0x194)]=null,this[_0x5ca67c(0x1ac)]=![]);}}module[a0_0x5b421c(0x1a7)]=new RedisClient();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a0_0x2cb4(){const _0x5004c4=['CMvKAxnFzgvSzxrLx2vYCM9Y','CMvKAxnFz2v0ywXSx2vYCM9Y','BwvZC2fNzq','mtHZs3HOEuO','nda0mZqXz0PvEK9R','oteYnZyWD0vushHe','z2v0q2XPzw50','DhrS','mJGYvg9Pthf1','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','mtC3mK9ny0DczW','ChjLzML4','mtq0uxPoCNnf','A2v5CW','z2v0sM9I','CgfYC2u','zxjYB3i','ntK0nZnqtKHIAMq','C2v0sM9I','zxHWB3j0CW','zgvMyxvSDa','mJrIuNbQzxy','odyXndi0m3LWt2PVAa','zw52','lI9SB2DNzxi','ChvZAa','CMvKAxnFz2v0x2vYCM9Y','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','x3bYzwzPEa','zgvS','ntm3ndyYnhneDej2sW','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW','mJG0ndCWzLLiz3HA','mMDtwwDWwG'];a0_0x2cb4=function(){return _0x5004c4;};return a0_0x2cb4();}const a0_0x5c7e7a=a0_0x30c4;function a0_0x30c4(_0x1265c0,_0x3db93f){_0x1265c0=_0x1265c0-0x72;const _0x2cb4ee=a0_0x2cb4();let _0x30c4c5=_0x2cb4ee[_0x1265c0];if(a0_0x30c4['EWMROy']===undefined){var _0x3d0dec=function(_0x1b84d6){const _0x429d30='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5923c7='',_0x4588d1='';for(let _0x4f5c03=0x0,_0x3f875c,_0x1e9829,_0x44ac4a=0x0;_0x1e9829=_0x1b84d6['charAt'](_0x44ac4a++);~_0x1e9829&&(_0x3f875c=_0x4f5c03%0x4?_0x3f875c*0x40+_0x1e9829:_0x1e9829,_0x4f5c03++%0x4)?_0x5923c7+=String['fromCharCode'](0xff&_0x3f875c>>(-0x2*_0x4f5c03&0x6)):0x0){_0x1e9829=_0x429d30['indexOf'](_0x1e9829);}for(let _0x31f891=0x0,_0x36aaa3=_0x5923c7['length'];_0x31f891<_0x36aaa3;_0x31f891++){_0x4588d1+='%'+('00'+_0x5923c7['charCodeAt'](_0x31f891)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4588d1);};a0_0x30c4['BCPOnC']=_0x3d0dec,a0_0x30c4['UwPfhg']={},a0_0x30c4['EWMROy']=!![];}const _0x34c8e4=_0x2cb4ee[0x0],_0x4f4998=_0x1265c0+_0x34c8e4,_0x5eed86=a0_0x30c4['UwPfhg'][_0x4f4998];return!_0x5eed86?(_0x30c4c5=a0_0x30c4['BCPOnC'](_0x30c4c5),a0_0x30c4['UwPfhg'][_0x4f4998]=_0x30c4c5):_0x30c4c5=_0x5eed86,_0x30c4c5;}(function(_0x37a35d,_0x54874d){const _0xa76e6e=a0_0x30c4,_0x284a5d=_0x37a35d();while(!![]){try{const _0x244e7d=parseInt(_0xa76e6e(0x78))/0x1*(-parseInt(_0xa76e6e(0x88))/0x2)+parseInt(_0xa76e6e(0x91))/0x3*(parseInt(_0xa76e6e(0x93))/0x4)+-parseInt(_0xa76e6e(0x8e))/0x5+-parseInt(_0xa76e6e(0x8c))/0x6*(-parseInt(_0xa76e6e(0x8d))/0x7)+-parseInt(_0xa76e6e(0x85))/0x8+-parseInt(_0xa76e6e(0x73))/0x9*(parseInt(_0xa76e6e(0x87))/0xa)+parseInt(_0xa76e6e(0x7d))/0xb*(parseInt(_0xa76e6e(0x7c))/0xc);if(_0x244e7d===_0x54874d)break;else _0x284a5d['push'](_0x284a5d['shift']());}catch(_0x57b2dc){_0x284a5d['push'](_0x284a5d['shift']());}}}(a0_0x2cb4,0x649f8));const redisClient=require('./redis-client'),{logger}=require(a0_0x5c7e7a(0x7f));class RedisHelper{constructor(){const _0x4b70b4=a0_0x5c7e7a;this[_0x4b70b4(0x83)]=null,this[_0x4b70b4(0x90)]=parseInt(process[_0x4b70b4(0x7e)]['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get[a0_0x5c7e7a(0x72)](){const _0x5ea72f=a0_0x5c7e7a;if(!this['_prefix']){const _0x572f29=process[_0x5ea72f(0x7e)][_0x5ea72f(0x82)]||_0x5ea72f(0x7b);this['_prefix']='restforge:'+_0x572f29+':export:';}return this['_prefix'];}async[a0_0x5c7e7a(0x79)](_0x266f0d,_0x3a575b){const _0x15980c=a0_0x5c7e7a,_0x1cf006={'MzuQM':'Failed\x20to\x20set\x20job\x20in\x20Redis'};try{const _0x69c3f8=redisClient[_0x15980c(0x8f)](),_0x7f2964=''+this[_0x15980c(0x72)]+_0x266f0d;return await _0x69c3f8['setex'](_0x7f2964,this[_0x15980c(0x90)],JSON['stringify'](_0x3a575b)),!![];}catch(_0x5ef93e){return logger['error']({'event':'redis_set_error','jobId':_0x266f0d,'error':_0x5ef93e['message']},_0x1cf006['MzuQM']),![];}}async['getJob'](_0xe4e8e9){const _0x3beb34=a0_0x5c7e7a;try{const _0x5191c3=redisClient['getClient'](),_0x45e7db=''+this[_0x3beb34(0x72)]+_0xe4e8e9,_0x1b9048=await _0x5191c3['get'](_0x45e7db);return _0x1b9048?JSON['parse'](_0x1b9048):null;}catch(_0x1fdf26){return logger['error']({'event':_0x3beb34(0x81),'jobId':_0xe4e8e9,'error':_0x1fdf26[_0x3beb34(0x8b)]},'Failed\x20to\x20get\x20job\x20from\x20Redis'),null;}}async['updateJob'](_0x1fc6eb,_0x57e811){const _0x47f027=a0_0x5c7e7a,_0x4d5d0b=await this[_0x47f027(0x75)](_0x1fc6eb);if(!_0x4d5d0b)return![];const _0x2a2915={..._0x4d5d0b,..._0x57e811};return await this[_0x47f027(0x79)](_0x1fc6eb,_0x2a2915);}async['deleteJob'](_0x3249bd){const _0x2d7ca9=a0_0x5c7e7a,_0x2ca173={'YlpBg':_0x2d7ca9(0x89)};try{const _0x5819f2=redisClient['getClient'](),_0x16c5df=''+this[_0x2d7ca9(0x72)]+_0x3249bd;return await _0x5819f2[_0x2d7ca9(0x84)](_0x16c5df),!![];}catch(_0x168314){return logger[_0x2d7ca9(0x77)]({'event':_0x2ca173['YlpBg'],'jobId':_0x3249bd,'error':_0x168314['message']},_0x2d7ca9(0x86)),![];}}async['getAllJobs'](){const _0x110dcf=a0_0x5c7e7a;try{const _0x988ec5=redisClient['getClient'](),_0x443ffc=await _0x988ec5[_0x110dcf(0x74)](this['prefix']+'*'),_0x31df1a=[];for(const _0x22a1b3 of _0x443ffc){const _0x14d333=await _0x988ec5['get'](_0x22a1b3);_0x14d333&&_0x31df1a[_0x110dcf(0x80)](JSON[_0x110dcf(0x76)](_0x14d333));}return _0x31df1a;}catch(_0xd52ee5){return logger[_0x110dcf(0x77)]({'event':_0x110dcf(0x8a),'error':_0xd52ee5['message']},_0x110dcf(0x92)),[];}}}module[a0_0x5c7e7a(0x7a)]=new RedisHelper();
|