@restforgejs/platform 5.1.4 → 5.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/data/pull.js +16 -7
- package/generators/cli/data/push.js +17 -7
- package/generators/cli/fast-track.js +63 -43
- package/generators/cli/init.js +347 -97
- package/generators/lib/data/data-scope.js +138 -0
- package/generators/lib/data/envelope.js +25 -9
- package/generators/lib/data/pull-runner.js +44 -37
- package/generators/lib/data/push-runner.js +64 -46
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/integrity-manifest.json +18 -18
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x338d(_0x4d6e10,_0x37970d){_0x4d6e10=_0x4d6e10-0x14b;const _0x2c489d=a0_0x2c48();let _0x338deb=_0x2c489d[_0x4d6e10];if(a0_0x338d['HUnSEy']===undefined){var _0x51d1ba=function(_0x507c9b){const _0x2e45c5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3eb5da='',_0x53f5fd='';for(let _0x1cb85b=0x0,_0x33fc8c,_0x490210,_0x590071=0x0;_0x490210=_0x507c9b['charAt'](_0x590071++);~_0x490210&&(_0x33fc8c=_0x1cb85b%0x4?_0x33fc8c*0x40+_0x490210:_0x490210,_0x1cb85b++%0x4)?_0x3eb5da+=String['fromCharCode'](0xff&_0x33fc8c>>(-0x2*_0x1cb85b&0x6)):0x0){_0x490210=_0x2e45c5['indexOf'](_0x490210);}for(let _0x2b68a9=0x0,_0x17c2ed=_0x3eb5da['length'];_0x2b68a9<_0x17c2ed;_0x2b68a9++){_0x53f5fd+='%'+('00'+_0x3eb5da['charCodeAt'](_0x2b68a9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x53f5fd);};a0_0x338d['wbocNV']=_0x51d1ba,a0_0x338d['GsDMeK']={},a0_0x338d['HUnSEy']=!![];}const _0x2483a4=_0x2c489d[0x0],_0x383a27=_0x4d6e10+_0x2483a4,_0x3aeab9=a0_0x338d['GsDMeK'][_0x383a27];return!_0x3aeab9?(_0x338deb=a0_0x338d['wbocNV'](_0x338deb),a0_0x338d['GsDMeK'][_0x383a27]=_0x338deb):_0x338deb=_0x3aeab9,_0x338deb;}const a0_0x1d7cff=a0_0x338d;(function(_0x3cacb4,_0x2584ee){const _0x364893=a0_0x338d,_0x41c42a=_0x3cacb4();while(!![]){try{const _0x5a2f5a=-parseInt(_0x364893(0x18d))/0x1*(parseInt(_0x364893(0x183))/0x2)+-parseInt(_0x364893(0x188))/0x3+parseInt(_0x364893(0x18f))/0x4+parseInt(_0x364893(0x1a4))/0x5*(-parseInt(_0x364893(0x19f))/0x6)+-parseInt(_0x364893(0x1a6))/0x7+-parseInt(_0x364893(0x167))/0x8*(-parseInt(_0x364893(0x15b))/0x9)+parseInt(_0x364893(0x17e))/0xa;if(_0x5a2f5a===_0x2584ee)break;else _0x41c42a['push'](_0x41c42a['shift']());}catch(_0x4e7bd0){_0x41c42a['push'](_0x41c42a['shift']());}}}(a0_0x2c48,0xf2331));function a0_0x2c48(){const _0x4a6896=['x3bYzwzPEa','tg9JAYbYzwXLyxnLigvYCM9Y','zgvJCG','C3rYyxrLz3K','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','ntC4mdq3ohP1r3vrwa','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','CMv0CNLdB3vUDa','AxnfBMfIBgvK','x3DVCMTLCKLK','mtbWCxPeBgC','zuvXuK4','nZa5otm0ngXXqvnYzW','DxvPza','Bg9JA19JB25MAwDFAw5PDa','EKLQuNy','D3jPDgvFBg9JA19YzwPLy3rLza','x3jLDhj5rgvSyxK','CwLKzK0','vLDhyMC','zgvIDwC','AerZvM8','ANDLBxy','CMvHza','Dhj1zq','ywXS','uxvtr1G','D3jPDgvFBg9JA19YzwXLyxnLza','CKnorNK','D3jPDgvFBg9JA19Hy3f1AxjLza','y0Dnyu0','CMvHzf9SB2nRx2fJCxvPCMvK','te9ds19esvnuuKLcvvrfrf9srvrswq','nJi0ntK0nNbVwLzADa','D2fYBG','BwvZC2fNzq','CMvQzwn0','ChjLzML4','x2rLzMf1BhruveW','Bg9JA19YzwXLyxnLx2vYCM9Y','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','z2v0q2XPzw50','D3jPDgvFBg9JA190Aw1LB3v0','D3jPDgvFBg9JA193ywL0Aw5N','zgvMyxvSDfruta','oe9bAe1ABW','zxzHBa','D3jPDgu','Bg9JA19LEhrLBMrLza','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','zxH0zw5Ktg9JAW','vfPAqNC','uKPgv3a','zxHWB3j0CW','tg9JAYbLEhrLBMqGzxjYB3i','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','C2XLzxa','te9ds19esvnuuKLcvvrfrf9ftKfcteve','Aw5JCG','AeDMEgS','CMv0CNLezwXHEq','x3jLDhj5q291BNq','x2vUywjSzwq','zgvS','z2v0tg9JA0LUzM8','rw5LC1e','lI9SB2DNzxi','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','mJu5mJe1mdbXuhfqzxK','v0rXsuC','x3n0CMf0zwD5','zw5HyMXLza','te9ds19esvnuuKLcvvrfrf9uveW','oduWmdrxzvLUqLG','DgjSy0e','CMvSzwfZzuXVy2S','CgLK','B0Dmr00','mJa4nZe2q3niuM9U','x2LUAxrdB25MAwC','D3jPDgvFBg9JA19LCNjVCG','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','AwTpC3G','nxrutxLrDa','zxjYB3i','mZCXnJaYmhnWs0zVqG','Aw5MBW','x2LUAxrPywXPEMvK','yNvPBgrmB2nRs2v5','v1jjveuGBg9JAYbYzwXLyxnLza','CMy6Bg9JAZO','lcbZDhjHDgvNEtOG','ywnXDwLYzvjLywrmB2nR','zw52','z2v0','x2vUC3vYzuLUAxrPywXPEMvK'];a0_0x2c48=function(){return _0x4a6896;};return a0_0x2c48();}const redisClient=require('./redis-client'),{logger}=require(a0_0x1d7cff(0x17c)),{v4:uuidv4}=require(a0_0x1d7cff(0x1a7));class LockManager{constructor(){const _0x436c12=a0_0x1d7cff;this['_prefix']=null,this['_enabled']=null,this['_defaultTTL']=null,this[_0x436c12(0x177)]=null,this[_0x436c12(0x14b)]=null,this[_0x436c12(0x180)]=null,this[_0x436c12(0x1a3)]=null,this[_0x436c12(0x191)]=![];}[a0_0x1d7cff(0x189)](){const _0x5e5190=a0_0x1d7cff,_0xfda724={'oGLGM':function(_0x2af5cc,_0x1acd39){return _0x2af5cc===_0x1acd39;},'qidfM':_0x5e5190(0x152),'jwemv':'retry'};this[_0x5e5190(0x19a)]=_0x5e5190(0x194),this['_enabled']=_0xfda724[_0x5e5190(0x187)](process['env'][_0x5e5190(0x173)],_0xfda724[_0x5e5190(0x14c)]),this[_0x5e5190(0x160)]=parseInt(process[_0x5e5190(0x197)][_0x5e5190(0x182)],0xa)||0xa,this['_retryCount']=parseInt(process[_0x5e5190(0x197)][_0x5e5190(0x15a)],0xa)||0x3,this['_retryDelay']=parseInt(process[_0x5e5190(0x197)][_0x5e5190(0x1a0)],0xa)||0x64,this[_0x5e5190(0x180)]=process['env']['LOCK_DISTRIBUTED_STRATEGY']||_0xfda724[_0x5e5190(0x150)],this['_workerId']='worker-'+process[_0x5e5190(0x186)],this['_initialized']=!![],logger[_0x5e5190(0x190)]({'event':_0x5e5190(0x1a8),'enabled':this[_0x5e5190(0x178)],'strategy':this['_strategy'],'ttl':this['_defaultTTL'],'retryCount':this['_retryCount'],'retryDelay':this[_0x5e5190(0x14b)],'workerId':this['_workerId']},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+_0x5e5190(0x195)+this['_strategy']);}[a0_0x1d7cff(0x199)](){!this['_initialized']&&this['_initConfig']();}get['prefix'](){const _0x3cc75e=a0_0x1d7cff;return this['_ensureInitialized'](),this[_0x3cc75e(0x19a)];}get[a0_0x1d7cff(0x181)](){return this['_ensureInitialized'](),this['_enabled'];}get['defaultTTL'](){const _0x337d4d=a0_0x1d7cff;return this['_ensureInitialized'](),this[_0x337d4d(0x160)];}get['retryCount'](){return this['_ensureInitialized'](),this['_retryCount'];}get[a0_0x1d7cff(0x176)](){const _0x3d8310=a0_0x1d7cff;return this['_ensureInitialized'](),this[_0x3d8310(0x14b)];}get[a0_0x1d7cff(0x19d)](){return this['_ensureInitialized'](),this['_strategy'];}get['workerId'](){const _0x21e9bf=a0_0x1d7cff;return this['_ensureInitialized'](),this[_0x21e9bf(0x1a3)];}[a0_0x1d7cff(0x192)](_0x19ba2c){const _0x43ebab=a0_0x1d7cff,{module:_0xa6b14c,endpoint:_0x357943,lockType:_0x3f8162,recordId:_0x39db6b}=_0x19ba2c;if(_0x39db6b)return''+this[_0x43ebab(0x15f)]+_0xa6b14c+':'+_0x357943+':'+_0x39db6b+':'+_0x3f8162;return''+this['prefix']+_0xa6b14c+':'+_0x357943+':'+_0x3f8162;}['generateLockValue'](){return this['workerId']+':'+uuidv4()+':'+Date['now']();}async[a0_0x1d7cff(0x196)](_0x336e16){const _0x3214da=a0_0x1d7cff,_0xc0e065={'cEUWz':_0x3214da(0x151),'EnesQ':function(_0x4cc3bf,_0x16c0ed){return _0x4cc3bf<_0x16c0ed;},'RJFWp':_0x3214da(0x159),'hDsVo':'read_lock_waiting','QHfhM':_0x3214da(0x18b)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x2d835d=this['buildLockKey']({..._0x336e16,'lockType':_0x3214da(0x169)}),_0x96ad4d=this[_0x3214da(0x192)]({..._0x336e16,'lockType':_0xc0e065['cEUWz']}),_0xad6802=this['generateLockValue']();try{const _0x47f5c0=redisClient[_0x3214da(0x163)]();for(let _0x1558de=0x0;_0xc0e065[_0x3214da(0x17b)](_0x1558de,this[_0x3214da(0x1a1)]);_0x1558de++){const _0x366a42=await _0x47f5c0[_0x3214da(0x198)](_0x2d835d);if(!_0x366a42){await _0x47f5c0[_0x3214da(0x174)](_0x96ad4d),await _0x47f5c0['expire'](_0x96ad4d,this[_0x3214da(0x166)]);const _0x45fe42=_0x96ad4d+':'+_0xad6802;return await _0x47f5c0['setex'](_0x45fe42,this[_0x3214da(0x166)],_0xad6802),logger[_0x3214da(0x14e)]({'event':_0xc0e065[_0x3214da(0x16e)],'key':_0x96ad4d,'value':_0xad6802},'READ\x20lock\x20acquired'),{'success':!![],'lockValue':_0xad6802,'lockKey':_0x45fe42};}logger[_0x3214da(0x14e)]({'event':_0xc0e065[_0x3214da(0x14f)],'writeKey':_0x2d835d,'attempt':_0x1558de},_0x3214da(0x171)),await this[_0x3214da(0x172)](this['retryDelay']*Math['pow'](0x2,_0x1558de));}return logger[_0x3214da(0x15c)]({'event':'read_lock_timeout','key':_0x96ad4d},_0xc0e065['QHfhM']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x42f4ef){return logger['error']({'event':'read_lock_error','error':_0x42f4ef['message']},'READ\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x260060){const _0x25c6df=a0_0x1d7cff,_0x23ec25={'tblcA':'write','WDqIG':'read','TZZBw':function(_0x4dcef9,_0x5953fd){return _0x4dcef9===_0x5953fd;},'CztCD':'WRITE\x20lock\x20acquired\x20(reject\x20mode)','XNeyc':function(_0x5aea6c,_0x75f212){return _0x5aea6c<_0x75f212;},'ikOsx':function(_0x1f804f,_0x40f2e5){return _0x1f804f===_0x40f2e5;},'rCNFy':'retry','WpzKT':_0x25c6df(0x17d),'QuSGX':_0x25c6df(0x18a)};if(!this[_0x25c6df(0x181)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x43b159=this['buildLockKey']({..._0x260060,'lockType':_0x23ec25[_0x25c6df(0x184)]}),_0x61c7ab=this[_0x25c6df(0x192)]({..._0x260060,'lockType':_0x23ec25[_0x25c6df(0x17f)]}),_0x348b28=this['generateLockValue']();try{const _0x5a10c8=redisClient['getClient']();if(_0x23ec25['TZZBw'](this[_0x25c6df(0x19d)],_0x25c6df(0x15e))){const _0x1598f3=await _0x5a10c8['set'](_0x43b159,_0x348b28,'EX',this['defaultTTL'],'NX');if(_0x23ec25['TZZBw'](_0x1598f3,'OK'))return logger['debug']({'event':_0x25c6df(0x157),'key':_0x43b159,'value':_0x348b28,'strategy':_0x25c6df(0x15e)},_0x23ec25['CztCD']),{'success':!![],'lockValue':_0x348b28,'lockKey':_0x43b159};return logger['debug']({'event':_0x25c6df(0x1aa),'key':_0x43b159},'WRITE\x20lock\x20rejected\x20-\x20record\x20busy'),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x43a64e=0x0;_0x23ec25['XNeyc'](_0x43a64e,this['retryCount']);_0x43a64e++){const [_0x56e7cb,_0xa65798]=await Promise['all']([_0x5a10c8['get'](_0x61c7ab),_0x5a10c8[_0x25c6df(0x198)](_0x43b159)]);if(!_0xa65798&&(!_0x56e7cb||_0x23ec25[_0x25c6df(0x16d)](parseInt(_0x56e7cb),0x0))){const _0x359142=await _0x5a10c8['set'](_0x43b159,_0x348b28,'EX',this['defaultTTL'],'NX');if(_0x23ec25[_0x25c6df(0x18c)](_0x359142,'OK'))return logger[_0x25c6df(0x14e)]({'event':'write_lock_acquired','key':_0x43b159,'value':_0x348b28,'strategy':_0x23ec25[_0x25c6df(0x156)]},_0x23ec25['WpzKT']),{'success':!![],'lockValue':_0x348b28,'lockKey':_0x43b159};}logger[_0x25c6df(0x14e)]({'event':_0x25c6df(0x165),'writeKey':_0x43b159,'readCount':_0x56e7cb,'attempt':_0x43a64e},'Waiting\x20for\x20locks\x20to\x20release'),await this[_0x25c6df(0x172)](this[_0x25c6df(0x176)]*Math['pow'](0x2,_0x43a64e));}return logger['warn']({'event':_0x25c6df(0x164),'key':_0x43b159},_0x25c6df(0x19e)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x4cc7b9){return logger[_0x25c6df(0x18e)]({'event':_0x23ec25[_0x25c6df(0x154)],'error':_0x4cc7b9[_0x25c6df(0x15d)]},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x1d7cff(0x185)](_0x4f20b7,_0x452029){const _0x4888c1=a0_0x1d7cff,_0x11be30={'zIjRv':function(_0x2993cf,_0x244179){return _0x2993cf>_0x244179;},'nXeuQ':function(_0x51fdf8,_0x4ebca8){return _0x51fdf8===_0x4ebca8;},'YDVcL':_0x4888c1(0x155),'EMyuJ':_0x4888c1(0x162)};if(!this['enabled']||!_0x4f20b7)return!![];try{const _0x4be754=redisClient['getClient']();if(_0x4f20b7['includes'](':read:')){await _0x4be754[_0x4888c1(0x179)](_0x4f20b7);const _0x365152=_0x4f20b7['substring'](0x0,_0x4f20b7['lastIndexOf'](':')),_0x427f91=await _0x4be754[_0x4888c1(0x198)](_0x365152);return _0x427f91&&_0x11be30[_0x4888c1(0x1a9)](parseInt(_0x427f91),0x0)&&await _0x4be754[_0x4888c1(0x19c)](_0x365152),logger[_0x4888c1(0x14e)]({'event':'read_lock_released','key':_0x4f20b7},'READ\x20lock\x20released'),!![];}const _0x280a81=_0x4888c1(0x16b),_0x18b560=await _0x4be754['eval'](_0x280a81,0x1,_0x4f20b7,_0x452029);if(_0x11be30['nXeuQ'](_0x18b560,0x1))return logger['debug']({'event':_0x11be30['YDVcL'],'key':_0x4f20b7},_0x4888c1(0x193)),!![];return logger[_0x4888c1(0x15c)]({'event':'lock_release_not_owner','key':_0x4f20b7},_0x11be30['EMyuJ']),![];}catch(_0x48a7fb){return logger['error']({'event':_0x4888c1(0x161),'key':_0x4f20b7,'error':_0x48a7fb[_0x4888c1(0x15d)]},_0x4888c1(0x19b)),![];}}async[a0_0x1d7cff(0x16c)](_0x138639,_0xc71462,_0x467bb5=null){const _0x56ff98=a0_0x1d7cff,_0x3d049d={'eEqRN':function(_0x23f553,_0x2ca3f5){return _0x23f553===_0x2ca3f5;},'VWGbg':_0x56ff98(0x16a),'hGfxk':'lock_extend_error'};if(!this['enabled']||!_0x138639)return!![];try{const _0x498376=redisClient[_0x56ff98(0x163)](),_0x576a62='\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',_0x17edc2=await _0x498376[_0x56ff98(0x168)](_0x576a62,0x1,_0x138639,_0xc71462,_0x467bb5||this['defaultTTL']);if(_0x3d049d[_0x56ff98(0x1a5)](_0x17edc2,0x1))return logger[_0x56ff98(0x14e)]({'event':_0x3d049d[_0x56ff98(0x14d)],'key':_0x138639,'ttl':_0x467bb5||this['defaultTTL']},'Lock\x20TTL\x20extended'),!![];return![];}catch(_0x33229d){return logger[_0x56ff98(0x18e)]({'event':_0x3d049d[_0x56ff98(0x175)],'key':_0x138639,'error':_0x33229d['message']},_0x56ff98(0x170)),![];}}[a0_0x1d7cff(0x1a2)](){const _0x1473d0=a0_0x1d7cff;return this[_0x1473d0(0x181)];}[a0_0x1d7cff(0x172)](_0x10952f){return new Promise(_0x2acf90=>setTimeout(_0x2acf90,_0x10952f));}async[a0_0x1d7cff(0x17a)](_0x402c67){const _0x2d6743=a0_0x1d7cff,_0x284b26={'cGMaM':_0x2d6743(0x151),'qkdsK':function(_0x154883,_0x363a3e){return _0x154883(_0x363a3e);}};if(!this[_0x2d6743(0x181)])return{'enabled':![]};try{const _0x2ae206=redisClient[_0x2d6743(0x163)](),_0x3cacdd=this[_0x2d6743(0x192)]({..._0x402c67,'lockType':'write'}),_0xdd515f=this[_0x2d6743(0x192)]({..._0x402c67,'lockType':_0x284b26[_0x2d6743(0x158)]}),[_0xad77d5,_0x3c0c1d]=await Promise[_0x2d6743(0x153)]([_0x2ae206[_0x2d6743(0x198)](_0x3cacdd),_0x2ae206[_0x2d6743(0x198)](_0xdd515f)]);return{'enabled':!![],'writeLock':_0xad77d5||null,'readCount':_0x284b26['qkdsK'](parseInt,_0x3c0c1d)||0x0,'writeKey':_0x3cacdd,'readKey':_0xdd515f};}catch(_0x818400){return{'enabled':!![],'error':_0x818400['message']};}}}module[a0_0x1d7cff(0x16f)]=new LockManager();
|
|
1
|
+
function a0_0x4a29(_0x391968,_0x237662){_0x391968=_0x391968-0x1dc;const _0x4bcd12=a0_0x4bcd();let _0x4a2960=_0x4bcd12[_0x391968];if(a0_0x4a29['WtSscA']===undefined){var _0x15cc5b=function(_0x8b403d){const _0x482d6d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2a2bc0='',_0x2fca0f='';for(let _0x24ac9d=0x0,_0x44b523,_0x57459e,_0x5d92d3=0x0;_0x57459e=_0x8b403d['charAt'](_0x5d92d3++);~_0x57459e&&(_0x44b523=_0x24ac9d%0x4?_0x44b523*0x40+_0x57459e:_0x57459e,_0x24ac9d++%0x4)?_0x2a2bc0+=String['fromCharCode'](0xff&_0x44b523>>(-0x2*_0x24ac9d&0x6)):0x0){_0x57459e=_0x482d6d['indexOf'](_0x57459e);}for(let _0x59279e=0x0,_0x54d187=_0x2a2bc0['length'];_0x59279e<_0x54d187;_0x59279e++){_0x2fca0f+='%'+('00'+_0x2a2bc0['charCodeAt'](_0x59279e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2fca0f);};a0_0x4a29['sGfrNc']=_0x15cc5b,a0_0x4a29['VuCvhj']={},a0_0x4a29['WtSscA']=!![];}const _0x21d601=_0x4bcd12[0x0],_0x283a65=_0x391968+_0x21d601,_0x39f7a4=a0_0x4a29['VuCvhj'][_0x283a65];return!_0x39f7a4?(_0x4a2960=a0_0x4a29['sGfrNc'](_0x4a2960),a0_0x4a29['VuCvhj'][_0x283a65]=_0x4a2960):_0x4a2960=_0x39f7a4,_0x4a2960;}const a0_0x8ea4dc=a0_0x4a29;(function(_0x1ed246,_0x45766e){const _0x3cb126=a0_0x4a29,_0x2acb3c=_0x1ed246();while(!![]){try{const _0x31fa83=parseInt(_0x3cb126(0x226))/0x1*(-parseInt(_0x3cb126(0x22c))/0x2)+-parseInt(_0x3cb126(0x1e2))/0x3*(parseInt(_0x3cb126(0x21a))/0x4)+parseInt(_0x3cb126(0x221))/0x5+-parseInt(_0x3cb126(0x216))/0x6+parseInt(_0x3cb126(0x22b))/0x7+-parseInt(_0x3cb126(0x215))/0x8*(parseInt(_0x3cb126(0x20f))/0x9)+parseInt(_0x3cb126(0x1f8))/0xa;if(_0x31fa83===_0x45766e)break;else _0x2acb3c['push'](_0x2acb3c['shift']());}catch(_0x548239){_0x2acb3c['push'](_0x2acb3c['shift']());}}}(a0_0x4bcd,0x721d9));const redisClient=require(a0_0x8ea4dc(0x1df)),{logger}=require(a0_0x8ea4dc(0x224)),{v4:uuidv4}=require(a0_0x8ea4dc(0x209));class LockManager{constructor(){const _0x2cf802=a0_0x8ea4dc,_0x24b445='0|1|6|3|7|4|2|5'['split']('|');let _0x345ee9=0x0;while(!![]){switch(_0x24b445[_0x345ee9++]){case'0':this[_0x2cf802(0x1dd)]=null;continue;case'1':this['_enabled']=null;continue;case'2':this['_workerId']=null;continue;case'3':this['_retryCount']=null;continue;case'4':this['_strategy']=null;continue;case'5':this[_0x2cf802(0x1f0)]=![];continue;case'6':this['_defaultTTL']=null;continue;case'7':this['_retryDelay']=null;continue;}break;}}['_initConfig'](){const _0x4b0ba3=a0_0x8ea4dc,_0x50b91d={'vulmf':function(_0x1d428f,_0x2ecfaa){return _0x1d428f===_0x2ecfaa;},'VxbiA':'true','lMtdq':function(_0x5cfb43,_0x146f29,_0xcb08e7){return _0x5cfb43(_0x146f29,_0xcb08e7);},'vtahA':function(_0x37ab2b,_0x296912,_0x146298){return _0x37ab2b(_0x296912,_0x146298);},'ELVBe':_0x4b0ba3(0x208)};this[_0x4b0ba3(0x1dd)]=_0x4b0ba3(0x22a),this['_enabled']=_0x50b91d['vulmf'](process['env']['LOCK_DISTRIBUTED_ENABLED'],_0x50b91d['VxbiA']),this[_0x4b0ba3(0x229)]=_0x50b91d[_0x4b0ba3(0x218)](parseInt,process[_0x4b0ba3(0x1ea)][_0x4b0ba3(0x1e4)],0xa)||0xa,this[_0x4b0ba3(0x21e)]=_0x50b91d[_0x4b0ba3(0x20b)](parseInt,process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3,this[_0x4b0ba3(0x1fe)]=parseInt(process['env'][_0x4b0ba3(0x1de)],0xa)||0x64,this['_strategy']=process[_0x4b0ba3(0x1ea)][_0x4b0ba3(0x1ec)]||_0x50b91d[_0x4b0ba3(0x200)],this['_workerId']='worker-'+process[_0x4b0ba3(0x1ef)],this[_0x4b0ba3(0x1f0)]=!![],logger['info']({'event':_0x4b0ba3(0x20e),'enabled':this['_enabled'],'strategy':this[_0x4b0ba3(0x206)],'ttl':this['_defaultTTL'],'retryCount':this[_0x4b0ba3(0x21e)],'retryDelay':this['_retryDelay'],'workerId':this['_workerId']},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+_0x4b0ba3(0x1fc)+this['_strategy']);}['_ensureInitialized'](){const _0x4413ab=a0_0x8ea4dc;!this[_0x4413ab(0x1f0)]&&this['_initConfig']();}get['prefix'](){return this['_ensureInitialized'](),this['_prefix'];}get[a0_0x8ea4dc(0x1f6)](){const _0x1f4679=a0_0x8ea4dc;return this[_0x1f4679(0x1fa)](),this[_0x1f4679(0x20a)];}get['defaultTTL'](){return this['_ensureInitialized'](),this['_defaultTTL'];}get['retryCount'](){const _0x18ae49=a0_0x8ea4dc;return this[_0x18ae49(0x1fa)](),this['_retryCount'];}get[a0_0x8ea4dc(0x22e)](){const _0x4eedac=a0_0x8ea4dc;return this['_ensureInitialized'](),this[_0x4eedac(0x1fe)];}get['strategy'](){return this['_ensureInitialized'](),this['_strategy'];}get[a0_0x8ea4dc(0x21b)](){const _0x3bf591=a0_0x8ea4dc;return this[_0x3bf591(0x1fa)](),this[_0x3bf591(0x205)];}['buildLockKey'](_0x5bbd4d){const _0xc3a222=a0_0x8ea4dc,{module:_0x3e0c3f,endpoint:_0x2cd0f6,lockType:_0x245cf7,recordId:_0x69003}=_0x5bbd4d;if(_0x69003)return''+this['prefix']+_0x3e0c3f+':'+_0x2cd0f6+':'+_0x69003+':'+_0x245cf7;return''+this[_0xc3a222(0x20c)]+_0x3e0c3f+':'+_0x2cd0f6+':'+_0x245cf7;}[a0_0x8ea4dc(0x1f1)](){const _0x22b99b=a0_0x8ea4dc;return this['workerId']+':'+uuidv4()+':'+Date[_0x22b99b(0x213)]();}async[a0_0x8ea4dc(0x227)](_0xb935e5){const _0x43616e=a0_0x8ea4dc,_0x19c9ae={'jSgCr':'read','CFQqm':function(_0xe65893,_0x16d83c){return _0xe65893<_0x16d83c;},'coMTa':'read_lock_acquired','cgjge':'READ\x20lock\x20acquired','nnNWV':_0x43616e(0x225),'cVJyt':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','NOrzi':_0x43616e(0x1e3),'UcuLk':'read_lock_error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x511a67=this[_0x43616e(0x1e0)]({..._0xb935e5,'lockType':'write'}),_0x101d12=this[_0x43616e(0x1e0)]({..._0xb935e5,'lockType':_0x19c9ae['jSgCr']}),_0x5bd094=this[_0x43616e(0x1f1)]();try{const _0x55aaa9=redisClient['getClient']();for(let _0x39f8fc=0x0;_0x19c9ae['CFQqm'](_0x39f8fc,this['retryCount']);_0x39f8fc++){const _0x3fa434=await _0x55aaa9[_0x43616e(0x1f4)](_0x511a67);if(!_0x3fa434){await _0x55aaa9['incr'](_0x101d12),await _0x55aaa9['expire'](_0x101d12,this[_0x43616e(0x1e9)]);const _0x35fbae=_0x101d12+':'+_0x5bd094;return await _0x55aaa9['setex'](_0x35fbae,this[_0x43616e(0x1e9)],_0x5bd094),logger[_0x43616e(0x223)]({'event':_0x19c9ae['coMTa'],'key':_0x101d12,'value':_0x5bd094},_0x19c9ae['cgjge']),{'success':!![],'lockValue':_0x5bd094,'lockKey':_0x35fbae};}logger['debug']({'event':_0x19c9ae['nnNWV'],'writeKey':_0x511a67,'attempt':_0x39f8fc},_0x19c9ae['cVJyt']),await this[_0x43616e(0x1f9)](this[_0x43616e(0x22e)]*Math['pow'](0x2,_0x39f8fc));}return logger['warn']({'event':_0x19c9ae['NOrzi'],'key':_0x101d12},_0x43616e(0x1e7)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x40734d){return logger['error']({'event':_0x19c9ae['UcuLk'],'error':_0x40734d[_0x43616e(0x207)]},'READ\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x8ea4dc(0x1dc)](_0x23a143){const _0x22228b=a0_0x8ea4dc,_0x42a72d={'bqERP':'write','ySqgV':'read','bwuIo':function(_0x34d255,_0x5a2d35){return _0x34d255===_0x5a2d35;},'eZUET':'write_lock_acquired','aqada':'reject','ctiRc':_0x22228b(0x222),'dZruV':'write_lock_rejected','zMuSw':function(_0x4c09ef,_0x507cb6){return _0x4c09ef(_0x507cb6);},'ddsgK':_0x22228b(0x208),'nYPrv':_0x22228b(0x1fd),'KuHVv':'Waiting\x20for\x20locks\x20to\x20release','DuuqZ':function(_0xf0bea7,_0x43c2f1){return _0xf0bea7*_0x43c2f1;}};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x40b5ea=this['buildLockKey']({..._0x23a143,'lockType':_0x42a72d['bqERP']}),_0x2e9544=this['buildLockKey']({..._0x23a143,'lockType':_0x42a72d[_0x22228b(0x1f7)]}),_0x11a4b5=this[_0x22228b(0x1f1)]();try{const _0x1486af=redisClient[_0x22228b(0x1f2)]();if(this['strategy']===_0x22228b(0x219)){const _0x28f4fa=await _0x1486af['set'](_0x40b5ea,_0x11a4b5,'EX',this[_0x22228b(0x1e9)],'NX');if(_0x42a72d['bwuIo'](_0x28f4fa,'OK'))return logger['debug']({'event':_0x42a72d[_0x22228b(0x1ed)],'key':_0x40b5ea,'value':_0x11a4b5,'strategy':_0x42a72d['aqada']},_0x42a72d[_0x22228b(0x1f3)]),{'success':!![],'lockValue':_0x11a4b5,'lockKey':_0x40b5ea};return logger[_0x22228b(0x223)]({'event':_0x42a72d['dZruV'],'key':_0x40b5ea},_0x22228b(0x20d)),{'success':![],'lockValue':null,'lockKey':null};}for(let _0xd5560a=0x0;_0xd5560a<this['retryCount'];_0xd5560a++){const [_0x413570,_0x3dab3d]=await Promise['all']([_0x1486af[_0x22228b(0x1f4)](_0x2e9544),_0x1486af['get'](_0x40b5ea)]);if(!_0x3dab3d&&(!_0x413570||_0x42a72d[_0x22228b(0x1eb)](parseInt,_0x413570)===0x0)){const _0x2f7785=await _0x1486af['set'](_0x40b5ea,_0x11a4b5,'EX',this[_0x22228b(0x1e9)],'NX');if(_0x2f7785==='OK')return logger['debug']({'event':_0x42a72d['eZUET'],'key':_0x40b5ea,'value':_0x11a4b5,'strategy':_0x42a72d['ddsgK']},_0x42a72d[_0x22228b(0x1e5)]),{'success':!![],'lockValue':_0x11a4b5,'lockKey':_0x40b5ea};}logger['debug']({'event':'write_lock_waiting','writeKey':_0x40b5ea,'readCount':_0x413570,'attempt':_0xd5560a},_0x42a72d[_0x22228b(0x1e8)]),await this[_0x22228b(0x1f9)](_0x42a72d[_0x22228b(0x1e1)](this[_0x22228b(0x22e)],Math['pow'](0x2,_0xd5560a)));}return logger['warn']({'event':'write_lock_timeout','key':_0x40b5ea},_0x22228b(0x214)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x38e37e){return logger[_0x22228b(0x1e6)]({'event':_0x22228b(0x201),'error':_0x38e37e[_0x22228b(0x207)]},_0x22228b(0x22d)),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x44a584,_0x5df27c){const _0x1f70bf=a0_0x8ea4dc,_0x5207ed={'rFgKh':':read:','LbcQH':function(_0x4c2ac7,_0x3abd0c){return _0x4c2ac7===_0x3abd0c;},'oOSJZ':'write_lock_released'};if(!this[_0x1f70bf(0x1f6)]||!_0x44a584)return!![];try{const _0x4c7c9e=redisClient[_0x1f70bf(0x1f2)]();if(_0x44a584[_0x1f70bf(0x210)](_0x5207ed['rFgKh'])){await _0x4c7c9e[_0x1f70bf(0x21c)](_0x44a584);const _0x3c4d94=_0x44a584[_0x1f70bf(0x211)](0x0,_0x44a584[_0x1f70bf(0x1f5)](':')),_0x36dcdc=await _0x4c7c9e['get'](_0x3c4d94);return _0x36dcdc&&parseInt(_0x36dcdc)>0x0&&await _0x4c7c9e['decr'](_0x3c4d94),logger[_0x1f70bf(0x223)]({'event':'read_lock_released','key':_0x44a584},_0x1f70bf(0x217)),!![];}const _0x4b4add=_0x1f70bf(0x202),_0x5aeea8=await _0x4c7c9e['eval'](_0x4b4add,0x1,_0x44a584,_0x5df27c);if(_0x5207ed['LbcQH'](_0x5aeea8,0x1))return logger[_0x1f70bf(0x223)]({'event':_0x5207ed['oOSJZ'],'key':_0x44a584},_0x1f70bf(0x1ee)),!![];return logger[_0x1f70bf(0x1fb)]({'event':_0x1f70bf(0x203),'key':_0x44a584},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0x1f0b1c){return logger[_0x1f70bf(0x1e6)]({'event':_0x1f70bf(0x1ff),'key':_0x44a584,'error':_0x1f0b1c[_0x1f70bf(0x207)]},_0x1f70bf(0x220)),![];}}async['extendLock'](_0x12df37,_0x295364,_0x391d78=null){const _0x1a6dd8=a0_0x8ea4dc,_0x4887cf={'iHdyp':function(_0x52dab5,_0x18ec16){return _0x52dab5===_0x18ec16;}};if(!this[_0x1a6dd8(0x1f6)]||!_0x12df37)return!![];try{const _0x43e1ce=redisClient['getClient'](),_0x1dfcda='\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',_0x51a9a=await _0x43e1ce['eval'](_0x1dfcda,0x1,_0x12df37,_0x295364,_0x391d78||this['defaultTTL']);if(_0x4887cf['iHdyp'](_0x51a9a,0x1))return logger[_0x1a6dd8(0x223)]({'event':_0x1a6dd8(0x21d),'key':_0x12df37,'ttl':_0x391d78||this['defaultTTL']},_0x1a6dd8(0x21f)),!![];return![];}catch(_0xe8d169){return logger[_0x1a6dd8(0x1e6)]({'event':'lock_extend_error','key':_0x12df37,'error':_0xe8d169['message']},'Lock\x20extend\x20error'),![];}}['isEnabled'](){const _0x48b61f=a0_0x8ea4dc;return this[_0x48b61f(0x1f6)];}[a0_0x8ea4dc(0x1f9)](_0x1092f3){return new Promise(_0x576e5c=>setTimeout(_0x576e5c,_0x1092f3));}async['getLockInfo'](_0x38a4ee){const _0x7ced1e=a0_0x8ea4dc,_0xaa0fc2={'qMDEY':'write','zvzNj':'read','ziLtx':function(_0x3c02a9,_0x25030b){return _0x3c02a9||_0x25030b;},'ZEjUV':function(_0x5421f7,_0x1db388){return _0x5421f7(_0x1db388);}};if(!this['enabled'])return{'enabled':![]};try{const _0x1e53bd=redisClient[_0x7ced1e(0x1f2)](),_0x4d3ab0=this[_0x7ced1e(0x1e0)]({..._0x38a4ee,'lockType':_0xaa0fc2['qMDEY']}),_0x1fbc7b=this['buildLockKey']({..._0x38a4ee,'lockType':_0xaa0fc2[_0x7ced1e(0x204)]}),[_0x236c38,_0x44cd23]=await Promise['all']([_0x1e53bd['get'](_0x4d3ab0),_0x1e53bd[_0x7ced1e(0x1f4)](_0x1fbc7b)]);return{'enabled':!![],'writeLock':_0xaa0fc2[_0x7ced1e(0x228)](_0x236c38,null),'readCount':_0xaa0fc2[_0x7ced1e(0x212)](parseInt,_0x44cd23)||0x0,'writeKey':_0x4d3ab0,'readKey':_0x1fbc7b};}catch(_0x58333e){return{'enabled':!![],'error':_0x58333e['message']};}}}module['exports']=new LockManager();function a0_0x4bcd(){const _0x15eb2f=['x3jLDhj5q291BNq','tg9JAYbuveWGzxH0zw5Kzwq','tg9JAYbYzwXLyxnLigvYCM9Y','mtC4nZa5nwHpA21wsW','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','zgvIDwC','lI9SB2DNzxi','CMvHzf9SB2nRx3DHAxrPBMC','nZyYntq0B1PmCgjl','ywnXDwLYzvjLywrmB2nR','EMLmDhG','x2rLzMf1BhruveW','CMy6Bg9JAZO','mJeXnte5mhPoC011Aa','mLHqAfPtDW','v1jjveuGBg9JAYbLCNjVCG','CMv0CNLezwXHEq','ywnXDwLYzvDYAxrLtg9JAW','x3bYzwzPEa','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','lI9YzwrPCY1JBgLLBNq','yNvPBgrmB2nRs2v5','rhv1CvO','mtm3mtqYm1PfyvDdqW','CMvHzf9SB2nRx3rPBwvVDxq','te9ds19esvnuuKLcvvrfrf9uveW','BLLqCNy','zxjYB3i','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','s3vivNy','zgvMyxvSDfruta','zw52','EK11u3C','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','zvPvrvq','v1jjveuGBg9JAYbYzwXLyxnLza','CgLK','x2LUAxrPywXPEMvK','z2vUzxjHDgvmB2nRvMfSDwu','z2v0q2XPzw50','y3rPuMm','z2v0','BgfZDeLUzgv4t2y','zw5HyMXLza','EvnXz1y','mJq5nZy2mtboruzluu0','C2XLzxa','x2vUC3vYzuLUAxrPywXPEMvK','D2fYBG','lcbZDhjHDgvNEtOG','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','x3jLDhj5rgvSyxK','Bg9JA19YzwXLyxnLx2vYCM9Y','ruXwqMu','D3jPDgvFBg9JA19LCNjVCG','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','ENz6tMO','x3DVCMTLCKLK','x3n0CMf0zwD5','BwvZC2fNzq','CMv0CNK','DxvPza','x2vUywjSzwq','DNrHAee','ChjLzML4','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','Bg9JA19JB25MAwDFAw5PDa','ndvJEKf0whq','Aw5JBhvKzxm','C3vIC3rYAw5N','wKvQvvy','BM93','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','ndKXntuYtePgqLnw','ndiZndCYmMHxtvbKCW','uKvbrcbSB2nRihjLBgvHC2vK','Be10zhe','CMvQzwn0','oerkDhfrDa','D29YA2vYswq','zgvS','Bg9JA19LEhrLBMrLza'];a0_0x4bcd=function(){return _0x15eb2f;};return a0_0x4bcd();}
|
package/src/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x3a7d81=a0_0x4042;(function(_0x1df0dc,_0x3738fa){const _0x5a24f1=a0_0x4042,_0x3effc0=_0x1df0dc();while(!![]){try{const _0x47f6d6=-parseInt(_0x5a24f1(0x1fa))/0x1*(parseInt(_0x5a24f1(0x232))/0x2)+-parseInt(_0x5a24f1(0x263))/0x3+-parseInt(_0x5a24f1(0x265))/0x4+parseInt(_0x5a24f1(0x21b))/0x5+-parseInt(_0x5a24f1(0x28f))/0x6+parseInt(_0x5a24f1(0x1ef))/0x7+parseInt(_0x5a24f1(0x26f))/0x8*(parseInt(_0x5a24f1(0x20d))/0x9);if(_0x47f6d6===_0x3738fa)break;else _0x3effc0['push'](_0x3effc0['shift']());}catch(_0x5b3cf3){_0x3effc0['push'](_0x3effc0['shift']());}}}(a0_0x48ca,0x1c20e));const pino=require('pino'),fs=require('fs'),path=require(a0_0x3a7d81(0x275));let logToFile=![],logDir='./logs',serviceName=a0_0x3a7d81(0x27b),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','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':'{msg}','customColors':a0_0x3a7d81(0x28b),'hideObject':!![]},isDevelopment=process['env'][a0_0x3a7d81(0x26a)]!==a0_0x3a7d81(0x28d),logLevel=process[a0_0x3a7d81(0x2a5)]['LOG_LEVEL']||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x3a7d81(0x27b),'version':process[a0_0x3a7d81(0x2a5)]['APP_VERSION']||'1.0.5','env':process[a0_0x3a7d81(0x2a5)][a0_0x3a7d81(0x26a)]||'development'},'timestamp':pino[a0_0x3a7d81(0x257)][a0_0x3a7d81(0x21a)],'redact':{'paths':[a0_0x3a7d81(0x279),a0_0x3a7d81(0x29f),a0_0x3a7d81(0x278),'token',a0_0x3a7d81(0x261),a0_0x3a7d81(0x282),'JWT_SECRET'],'censor':'[REDACTED]'},'serializers':{'req':_0xbeb216=>({'id':_0xbeb216['id'],'method':_0xbeb216['method'],'url':_0xbeb216[a0_0x3a7d81(0x25f)],'path':_0xbeb216[a0_0x3a7d81(0x275)],'remoteAddress':_0xbeb216['ip']||_0xbeb216['connection']?.['remoteAddress']}),'res':_0xc15408=>({'statusCode':_0xc15408[a0_0x3a7d81(0x260)],'headers':_0xc15408[a0_0x3a7d81(0x1f2)]?.()}),'err':pino[a0_0x3a7d81(0x213)][a0_0x3a7d81(0x293)]}});function initFileLogging(){const _0x10eb64=a0_0x3a7d81,_0x1cf54c={'ZuWVz':'default','HgLTJ':_0x10eb64(0x2a2),'lQYWE':function(_0x238a16,_0x122931){return _0x238a16!==_0x122931;},'CouRm':function(_0x410595,_0x362688){return _0x410595(_0x362688);},'QlwfD':_0x10eb64(0x280),'TkYhJ':'error.log','GCYnC':_0x10eb64(0x203)};if(fileLoggingInitialized)return;logToFile=process['env']['LOG_TO_FILE']===_0x10eb64(0x20e);const _0x1ae443=process[_0x10eb64(0x2a5)][_0x10eb64(0x216)]||_0x1cf54c['ZuWVz'];logDir=process['env'][_0x10eb64(0x27c)]||_0x10eb64(0x24b)+_0x1ae443,serviceName=process['env']['SERVICE_NAME']||'restforge',sqlLogEnabled=process[_0x10eb64(0x2a5)][_0x10eb64(0x22f)]===_0x10eb64(0x20e),sqlLogLevel=process[_0x10eb64(0x2a5)][_0x10eb64(0x22e)]||_0x1cf54c[_0x10eb64(0x1f0)],sqlLogParams=_0x1cf54c['lQYWE'](process[_0x10eb64(0x2a5)]['SQL_LOG_PARAMS'],'false'),sqlLogSlowThreshold=_0x1cf54c[_0x10eb64(0x2a3)](parseInt,process[_0x10eb64(0x2a5)][_0x10eb64(0x272)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x2a4ec8=path[_0x10eb64(0x21e)](process['cwd'](),logDir);try{!fs[_0x10eb64(0x27a)](_0x2a4ec8)&&fs[_0x10eb64(0x28a)](_0x2a4ec8,{'recursive':!![]});}catch(_0x372c18){console[_0x10eb64(0x259)](_0x10eb64(0x266)+_0x2a4ec8+':',_0x372c18['message']),fileLoggingInitialized=!![];return;}const _0x5dd9ac=path[_0x10eb64(0x28e)](_0x2a4ec8,_0x1cf54c[_0x10eb64(0x24d)]),_0x408859=path[_0x10eb64(0x28e)](_0x2a4ec8,_0x1cf54c['TkYhJ']);try{appLogStream=fs[_0x10eb64(0x251)](_0x5dd9ac,{'flags':'a'}),errorLogStream=fs[_0x10eb64(0x251)](_0x408859,{'flags':'a'}),fileLoggingInitialized=!![];const _0x17f01e={'event':_0x10eb64(0x252),'logDir':_0x2a4ec8,'files':[_0x1cf54c[_0x10eb64(0x24d)],_0x1cf54c[_0x10eb64(0x258)]]},_0x7931c6=_0x10eb64(0x2a9)+_0x2a4ec8;logger[_0x10eb64(0x203)](_0x17f01e,_0x7931c6),writeToFileLog({..._0x17f01e,'level':_0x1cf54c['GCYnC'],'msg':_0x7931c6,'time':new Date()[_0x10eb64(0x1f8)]()},_0x1cf54c['GCYnC']);}catch(_0x5a4d2e){console['error'](_0x10eb64(0x215),_0x5a4d2e['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x13e04a,_0x4e9c51){const _0x135736=a0_0x3a7d81,_0x407a7b={'vAjjC':function(_0x331492,_0x3e9db4){return _0x331492||_0x3e9db4;},'pTQCA':function(_0x4d3af1,_0x10545b){return _0x4d3af1+_0x10545b;},'AZMSR':function(_0x3f2e40,_0x27828d){return _0x3f2e40===_0x27828d;}};if(_0x407a7b['vAjjC'](!logToFile,!appLogStream))return;const _0x59950b={'service':serviceName,..._0x13e04a},_0x12db9e=_0x407a7b[_0x135736(0x270)](JSON['stringify'](_0x59950b),'\x0a');appLogStream[_0x135736(0x202)](_0x12db9e),(_0x407a7b[_0x135736(0x283)](_0x4e9c51,'error')||_0x4e9c51==='fatal')&&(errorLogStream&&errorLogStream[_0x135736(0x202)](_0x12db9e));}const createRequestLogger=(_0x21ceae={})=>{const _0x227830=a0_0x3a7d81;return logger[_0x227830(0x248)](_0x21ceae);},logServerStart=_0x4af416=>{const _0x3ed56b=a0_0x3a7d81,_0x201905={'cgOmu':_0x3ed56b(0x284),'tsRmX':_0x3ed56b(0x21c),'NDiSa':'N/A','KvMie':'ACTIVE','Sbwsf':_0x3ed56b(0x203)},_0x334b65=_0x201905[_0x3ed56b(0x247)],_0x40e81e=Math[_0x3ed56b(0x204)](0x0,0x37-_0x334b65[_0x3ed56b(0x243)]),_0x188a60=Math['floor'](_0x40e81e/0x2),_0x14dda3=_0x40e81e-_0x188a60,_0x3b75d4='║'+'\x20'['repeat'](_0x188a60)+_0x334b65+'\x20'['repeat'](_0x14dda3)+'║',_0x649d14=_0x3ed56b(0x231)+_0x3b75d4+_0x3ed56b(0x1f5)+(_0x4af416[_0x3ed56b(0x25b)]||_0x201905['tsRmX'])[_0x3ed56b(0x256)](0x26)+_0x3ed56b(0x29e)+(_0x4af416[_0x3ed56b(0x271)]||_0x201905['NDiSa'])[_0x3ed56b(0x256)](0x26)+_0x3ed56b(0x298)+String(_0x4af416[_0x3ed56b(0x241)]||0xbb8)['padEnd'](0x26)+_0x3ed56b(0x239)+(_0x4af416['configFile']||_0x3ed56b(0x2ac))[_0x3ed56b(0x256)](0x26)+_0x3ed56b(0x23e)+(_0x4af416[_0x3ed56b(0x261)]?_0x201905['KvMie']:'NOT\x20ACTIVE')['padEnd'](0x26)+_0x3ed56b(0x225);console['log'](_0x649d14);const _0x4765af={'event':'server_starting','project':_0x4af416[_0x3ed56b(0x271)],'port':_0x4af416['port'],'config':_0x4af416['configFile'],'apiKeyEnabled':!!_0x4af416['apiKey']};logger[_0x3ed56b(0x203)](_0x4765af),writeToFileLog({..._0x4765af,'level':_0x3ed56b(0x203),'msg':'Server\x20starting:\x20'+_0x4af416['project']+'\x20on\x20port\x20'+_0x4af416['port'],'time':new Date()[_0x3ed56b(0x1f8)]()},_0x201905['Sbwsf']);},logServerReady=_0x7aa829=>{const _0x25b358=a0_0x3a7d81,_0xc74fc9={'RoBKX':_0x25b358(0x2ad)},_0x386b08={'event':_0xc74fc9[_0x25b358(0x222)],'port':_0x7aa829['port'],'module':_0x7aa829['module'],'healthCheck':_0x7aa829['healthCheck'],'serviceInfo':_0x7aa829[_0x25b358(0x285)],'baseUrl':_0x7aa829['baseUrl']},_0x4d72eb='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x7aa829['port'];logger['info'](_0x386b08,_0x4d72eb),writeToFileLog({..._0x386b08,'level':_0x25b358(0x203),'msg':_0x4d72eb,'time':new Date()[_0x25b358(0x1f8)]()},_0x25b358(0x203)),_0x7aa829[_0x25b358(0x228)]&&logger['info']('\x20\x20Health:\x20'+_0x7aa829[_0x25b358(0x228)]),_0x7aa829['serviceInfo']&&logger[_0x25b358(0x203)]('\x20\x20Info:\x20\x20\x20'+_0x7aa829['serviceInfo']),_0x7aa829['baseUrl']&&logger[_0x25b358(0x203)]('\x20\x20URL:\x20\x20\x20\x20'+_0x7aa829['baseUrl']);},logProjectLoaded=(_0x1b7787,_0x415193)=>{const _0x5bd080=a0_0x3a7d81,_0x51fbe2={'RcoPv':_0x5bd080(0x203)},_0x4b9690={'event':'project_loaded','project':_0x1b7787,'path':_0x415193},_0x1a4cd0=_0x5bd080(0x234)+_0x1b7787;logger[_0x5bd080(0x203)](_0x4b9690,_0x1a4cd0),writeToFileLog({..._0x4b9690,'level':'info','msg':_0x1a4cd0,'time':new Date()['toISOString']()},_0x51fbe2['RcoPv']);},logEndpointRegistered=(_0x45e0d2,_0x1eef40)=>{const _0x400096=a0_0x3a7d81,_0x1b19b8={'event':_0x400096(0x24e),'endpoint':_0x45e0d2,'route':_0x1eef40},_0x29496d='\x20\x20→\x20'+_0x45e0d2+':\x20'+_0x1eef40;logger['debug'](_0x1b19b8,_0x29496d),writeToFileLog({..._0x1b19b8,'level':'debug','msg':_0x29496d,'time':new Date()[_0x400096(0x1f8)]()},'debug');},logDatabaseConfig=_0x5674c8=>{const _0x432d64=a0_0x3a7d81,_0x12821e={'QloKW':'database_config','qHxZB':'debug'},_0x49303c={'event':_0x12821e[_0x432d64(0x287)],'host':_0x5674c8[_0x432d64(0x297)],'port':_0x5674c8[_0x432d64(0x241)],'database':_0x5674c8['database'],'type':_0x5674c8[_0x432d64(0x274)],'user':_0x5674c8['user']},_0x233182=_0x432d64(0x291)+_0x5674c8[_0x432d64(0x274)]+_0x432d64(0x25c)+_0x5674c8[_0x432d64(0x297)]+':'+_0x5674c8[_0x432d64(0x241)]+'/'+_0x5674c8[_0x432d64(0x288)];logger['debug'](_0x49303c,_0x233182),writeToFileLog({..._0x49303c,'level':'debug','msg':_0x233182,'time':new Date()[_0x432d64(0x1f8)]()},_0x12821e['qHxZB']);},logRequest=(_0x2a1985,_0x53fa2c,_0x23da15)=>{const _0x3c0010=a0_0x3a7d81,_0x12d33f={'rOcut':'http_request','FYVks':_0x3c0010(0x203),'uXZeM':function(_0x477839,_0x201102){return _0x477839>=_0x201102;},'bcQHc':_0x3c0010(0x259),'QoqeR':function(_0x4aa2b2,_0x558f20){return _0x4aa2b2>=_0x558f20;},'GXilL':'warn'},_0xea32f0={'event':_0x12d33f[_0x3c0010(0x208)],'method':_0x2a1985[_0x3c0010(0x1f1)],'path':_0x2a1985['path'],'statusCode':_0x53fa2c[_0x3c0010(0x260)],'durationMs':_0x23da15,'ip':_0x2a1985['ip']},_0x2d9826=_0x2a1985['method']+'\x20'+_0x2a1985[_0x3c0010(0x275)]+_0x3c0010(0x224)+_0x53fa2c['statusCode']+'\x20('+_0x23da15+'ms)';let _0x33f3e7=_0x12d33f['FYVks'];if(_0x12d33f['uXZeM'](_0x53fa2c['statusCode'],0x1f4))_0x33f3e7=_0x12d33f[_0x3c0010(0x201)],logger['error'](_0xea32f0,_0x2d9826);else _0x12d33f[_0x3c0010(0x238)](_0x53fa2c['statusCode'],0x190)?(_0x33f3e7=_0x12d33f['GXilL'],logger['warn'](_0xea32f0,_0x2d9826)):logger['info'](_0xea32f0,_0x2d9826);writeToFileLog({..._0xea32f0,'level':_0x33f3e7,'msg':_0x2d9826,'time':new Date()['toISOString']()},_0x33f3e7);},SENSITIVE_PARAM_PATTERNS=[a0_0x3a7d81(0x278),a0_0x3a7d81(0x29d),a0_0x3a7d81(0x26d),a0_0x3a7d81(0x25e),'access_token','refresh_token','secret','api_secret',a0_0x3a7d81(0x1f6),'api_key','credential','credentials','pin',a0_0x3a7d81(0x26c),'private_key',a0_0x3a7d81(0x1fb)],redactSensitiveParams=(_0x1627f9,_0x38b7bd)=>{const _0x3f7995=a0_0x3a7d81,_0x55020a={'RLGpd':function(_0x167303,_0x1795a4){return _0x167303===_0x1795a4;},'xTiLX':_0x3f7995(0x296),'XZoHh':function(_0x55e0e4,_0x5ceac8){return _0x55e0e4>_0x5ceac8;},'jhHwO':'[REDACTED:hash]','jFaew':function(_0x16cbb6,_0x178f56){return _0x16cbb6===_0x178f56;}};if(!_0x1627f9||_0x55020a['jFaew'](_0x1627f9['length'],0x0))return _0x1627f9;const _0x41ce21=_0x38b7bd[_0x3f7995(0x21d)](),_0x4dbf25=_0x41ce21[_0x3f7995(0x264)](/\(([^)]+)\)\s*values/i);let _0x10dc7e=[];_0x4dbf25&&(_0x10dc7e=_0x4dbf25[0x1]['split'](',')['map'](_0xb6dabf=>_0xb6dabf[_0x3f7995(0x2aa)]()['toLowerCase']()));const _0x3dcc5f=_0x41ce21[_0x3f7995(0x264)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x3dcc5f){const _0xec2f38=_0x3dcc5f[0x1],_0x395e52=_0xec2f38[_0x3f7995(0x264)](/(\w+)\s*=/g);_0x395e52&&(_0x10dc7e=_0x395e52['map'](_0x23966a=>_0x23966a['replace'](/\s*=/,'')[_0x3f7995(0x2aa)]()[_0x3f7995(0x21d)]()));}return _0x1627f9['map']((_0x5a41e7,_0x503a07)=>{const _0x114a39=_0x3f7995;if(_0x10dc7e[_0x503a07]){const _0x231dc2=_0x10dc7e[_0x503a07],_0x15b586=SENSITIVE_PARAM_PATTERNS[_0x114a39(0x2a4)](_0x50bb49=>_0x231dc2[_0x114a39(0x212)](_0x50bb49));if(_0x15b586)return'[REDACTED]';}if(_0x55020a['RLGpd'](typeof _0x5a41e7,_0x55020a[_0x114a39(0x269)])&&_0x55020a['XZoHh'](_0x5a41e7['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x114a39(0x25a)](_0x5a41e7)&&_0x5a41e7['includes']('.'))return _0x114a39(0x2ae);if(/^[a-fA-F0-9]{32,}$/['test'](_0x5a41e7))return _0x55020a[_0x114a39(0x200)];}return _0x5a41e7;});},parseQueryMetadata=_0x3a3091=>{const _0x1e7add=a0_0x3a7d81,_0x2ba153={'mATXW':_0x1e7add(0x2b0),'abJAP':_0x1e7add(0x254),'CGwKy':'INSERT','GKPHr':_0x1e7add(0x1f9),'cfDXl':'DELETE','ZlSTd':_0x1e7add(0x295),'CGMAm':_0x1e7add(0x20b),'XJRby':_0x1e7add(0x206),'gijAq':_0x1e7add(0x27d),'Flgvv':_0x1e7add(0x2a8),'YRdbg':_0x1e7add(0x289),'CzxLq':'DROP'},_0x3e563e=_0x3a3091[_0x1e7add(0x2aa)](),_0x37c3aa=_0x3e563e['toUpperCase']();let _0x2d166e=_0x2ba153[_0x1e7add(0x1fc)],_0x3a645d=null;if(_0x37c3aa[_0x1e7add(0x236)](_0x2ba153['abJAP'])){_0x2d166e=_0x1e7add(0x254);const _0x10cdf1=_0x3e563e[_0x1e7add(0x264)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a645d=_0x10cdf1?_0x10cdf1[0x1]:null;}else{if(_0x37c3aa['startsWith'](_0x2ba153[_0x1e7add(0x219)])){_0x2d166e=_0x2ba153[_0x1e7add(0x219)];const _0x5dc3f6=_0x3e563e[_0x1e7add(0x264)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a645d=_0x5dc3f6?_0x5dc3f6[0x1]:null;}else{if(_0x37c3aa[_0x1e7add(0x236)](_0x2ba153['GKPHr'])){_0x2d166e=_0x2ba153[_0x1e7add(0x2a6)];const _0x5c4d19=_0x3e563e['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a645d=_0x5c4d19?_0x5c4d19[0x1]:null;}else{if(_0x37c3aa[_0x1e7add(0x236)](_0x2ba153['cfDXl'])){_0x2d166e=_0x2ba153['cfDXl'];const _0x35af49=_0x3e563e[_0x1e7add(0x264)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a645d=_0x35af49?_0x35af49[0x1]:null;}else{if(_0x37c3aa[_0x1e7add(0x236)](_0x2ba153[_0x1e7add(0x1f7)])||_0x37c3aa['startsWith'](_0x2ba153['CGMAm']))_0x2d166e=_0x1e7add(0x214);else{if(_0x37c3aa['startsWith'](_0x1e7add(0x210)))_0x2d166e=_0x1e7add(0x286);else{if(_0x37c3aa['startsWith']('ROLLBACK'))_0x2d166e=_0x2ba153[_0x1e7add(0x242)];else{if(_0x37c3aa[_0x1e7add(0x236)]('CREATE'))_0x2d166e=_0x2ba153[_0x1e7add(0x230)];else{if(_0x37c3aa[_0x1e7add(0x236)](_0x2ba153[_0x1e7add(0x21f)]))_0x2d166e=_0x2ba153['YRdbg'];else _0x37c3aa['startsWith'](_0x2ba153[_0x1e7add(0x25d)])&&(_0x2d166e=_0x1e7add(0x290));}}}}}}}}return{'type':_0x2d166e,'table':_0x3a645d};},startQueryTimer=()=>{const _0x265df3={'DXmlM':function(_0x42a834,_0x131a3a){return _0x42a834+_0x131a3a;},'myBUt':function(_0x1bc4a7,_0x570194){return _0x1bc4a7/_0x570194;}},_0x23a9e1=process['hrtime']();return()=>{const _0x37fabd=a0_0x4042,[_0x588e74,_0x2407a2]=process[_0x37fabd(0x23c)](_0x23a9e1);return parseFloat(_0x265df3['DXmlM'](_0x588e74*0x3e8,_0x265df3[_0x37fabd(0x262)](_0x2407a2,0xf4240))['toFixed'](0x2));};},logQuery=(_0x1b1af6,_0x4c5ea8=[],_0x4b656b={})=>{const _0x50e0f4=a0_0x3a7d81,_0x5a6d64={'rDGgz':'db_query','nNPsg':'postgresql','XknUq':function(_0x2034f9,_0x275193){return _0x2034f9(_0x275193);},'RpShA':function(_0x23597e,_0x40f74f,_0x2853f9){return _0x23597e(_0x40f74f,_0x2853f9);},'AYEWn':function(_0x300897,_0x4664c3){return _0x300897>_0x4664c3;},'qvZDH':function(_0x7bb1c,_0x1ffa30){return _0x7bb1c||_0x1ffa30;},'aoYfr':function(_0x766697,_0x2b1887){return _0x766697!==_0x2b1887;},'PJFvi':_0x50e0f4(0x20f),'EXOYj':_0x50e0f4(0x203)};if(!sqlLogEnabled){logger[_0x50e0f4(0x2a2)]({'event':_0x5a6d64['rDGgz'],'query':_0x1b1af6[_0x50e0f4(0x1ed)](0x0,0xc8),'paramCount':_0x4c5ea8[_0x50e0f4(0x243)]},'DB\x20Query');return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x5a6d64[_0x50e0f4(0x221)]}=_0x4b656b,{type:_0xbce4c4,table:_0xe9c3f3}=_0x5a6d64['XknUq'](parseQueryMetadata,_0x1b1af6),_0x2dfa1a={'event':_0x50e0f4(0x273),'queryType':_0xbce4c4,'table':_0xe9c3f3,'query':_0x1b1af6,'paramCount':_0x4c5ea8['length'],'dbType':dbType};sqlLogParams&&_0x4c5ea8['length']>0x0&&(_0x2dfa1a[_0x50e0f4(0x29a)]=_0x5a6d64[_0x50e0f4(0x27f)](redactSensitiveParams,_0x4c5ea8,_0x1b1af6));duration!==null&&(_0x2dfa1a['durationMs']=duration,_0x2dfa1a[_0x50e0f4(0x205)]=_0x5a6d64['AYEWn'](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x2dfa1a[_0x50e0f4(0x20c)]=rowsAffected);const _0x7b9346=_0x5a6d64['qvZDH'](_0xe9c3f3,'unknown');let _0x3593a9='['+_0xbce4c4+']\x20'+_0x7b9346;duration!==null&&(_0x3593a9+='\x20('+duration+'ms)');const _0x3d6ff9=_0x5a6d64[_0x50e0f4(0x207)](duration,null)&&_0x5a6d64['AYEWn'](duration,sqlLogSlowThreshold);let _0x2d0d39='debug';if(_0x3d6ff9)_0x3593a9+=_0x50e0f4(0x229),_0x2d0d39=_0x5a6d64[_0x50e0f4(0x24f)],logger['warn'](_0x2dfa1a,_0x3593a9);else sqlLogLevel===_0x5a6d64[_0x50e0f4(0x255)]?(_0x2d0d39=_0x50e0f4(0x203),logger[_0x50e0f4(0x203)](_0x2dfa1a,_0x3593a9)):logger[_0x50e0f4(0x2a2)](_0x2dfa1a,_0x3593a9);_0x5a6d64['RpShA'](writeToFileLog,{..._0x2dfa1a,'level':_0x2d0d39,'msg':_0x3593a9,'time':new Date()['toISOString']()},_0x2d0d39);},logTransaction=(_0x37cafe,_0x5efa9d)=>{const _0x5ba178=a0_0x3a7d81,_0x5e356b={'MOtzo':function(_0x146d4e,_0x1fe51f,_0x41c5de){return _0x146d4e(_0x1fe51f,_0x41c5de);},'FJQCx':_0x5ba178(0x2a2)},_0x4bca3c={'event':_0x5ba178(0x1ee),'status':_0x37cafe,'queryCount':_0x5efa9d},_0x74812b='Transaction\x20'+_0x37cafe;logger[_0x5ba178(0x2a2)](_0x4bca3c,_0x74812b),_0x5e356b['MOtzo'](writeToFileLog,{..._0x4bca3c,'level':_0x5e356b['FJQCx'],'msg':_0x74812b,'time':new Date()[_0x5ba178(0x1f8)]()},'debug');},redactObject=_0x442b89=>{const _0x2e8487=a0_0x3a7d81,_0xb6a91f={'Vjcxs':function(_0x219ca8,_0x4a24c5){return _0x219ca8!==_0x4a24c5;},'pIiln':'object','WpPbn':'pwd','nAWsp':'token','tdCJT':'apikey','ItjXA':'authorization','MEIwv':'credit_card','FtTCl':_0x2e8487(0x268),'xLpwk':_0x2e8487(0x276),'DgJib':_0x2e8487(0x246),'XnkPE':function(_0x107f5e,_0x46cdce){return _0x107f5e===_0x46cdce;},'DrGdl':function(_0x16116f,_0x5c3e7a){return _0x16116f(_0x5c3e7a);}};if(!_0x442b89||_0xb6a91f['Vjcxs'](typeof _0x442b89,_0xb6a91f[_0x2e8487(0x1f3)]))return _0x442b89;const _0x30cd71=['password',_0x2e8487(0x29d),_0xb6a91f[_0x2e8487(0x244)],_0xb6a91f['nAWsp'],_0x2e8487(0x2a1),_0xb6a91f['tdCJT'],'api_key',_0xb6a91f['ItjXA'],_0x2e8487(0x2a0),_0xb6a91f[_0x2e8487(0x250)],_0x2e8487(0x249),'ssn',_0x2e8487(0x227),_0xb6a91f[_0x2e8487(0x1fe)],'privatekey',_0xb6a91f[_0x2e8487(0x211)],_0x2e8487(0x277)],_0x1a57de=Array[_0x2e8487(0x240)](_0x442b89)?[..._0x442b89]:{..._0x442b89};for(const _0x1e72e2 of Object[_0x2e8487(0x28c)](_0x1a57de)){const _0x148a53=_0x1e72e2[_0x2e8487(0x21d)]();if(_0x30cd71['some'](_0x4b4f28=>_0x148a53[_0x2e8487(0x212)](_0x4b4f28)))_0x1a57de[_0x1e72e2]=_0xb6a91f[_0x2e8487(0x26e)];else _0xb6a91f[_0x2e8487(0x2af)](typeof _0x1a57de[_0x1e72e2],_0x2e8487(0x22b))&&_0x1a57de[_0x1e72e2]!==null&&(_0x1a57de[_0x1e72e2]=_0xb6a91f[_0x2e8487(0x1f4)](redactObject,_0x1a57de[_0x1e72e2]));}return _0x1a57de;},logError=(_0x1af1d2,_0x52dec7={},_0x17e832=null)=>{const _0x23b139=a0_0x3a7d81,_0x5f225b={'zNlsH':_0x23b139(0x259)},_0xd5c66c={'event':_0x5f225b[_0x23b139(0x209)],'errorName':_0x1af1d2[_0x23b139(0x2a7)]||'Error','errorMessage':_0x1af1d2['message'],'errorCode':_0x1af1d2['code']||null,'stack':_0x1af1d2[_0x23b139(0x217)],..._0x52dec7},_0x2911b2=_0x17e832||'Error:\x20'+_0x1af1d2['message'];logger['error'](_0xd5c66c,_0x2911b2),writeToFileLog({..._0xd5c66c,'level':_0x5f225b['zNlsH'],'msg':_0x2911b2,'time':new Date()[_0x23b139(0x1f8)]()},'error');},logFatalError=(_0x2a9430,_0x591390={},_0x5a19d1=null)=>{const _0x2fcfc1=a0_0x3a7d81,_0x3cee5d={'UzJGC':'Error','LDaKW':'CRITICAL','kuZfe':function(_0x26a90e,_0x5b4e2f,_0x2942e0){return _0x26a90e(_0x5b4e2f,_0x2942e0);},'lPrdP':'error'},_0x296df1={'event':'fatal_error','errorName':_0x2a9430['name']||_0x3cee5d[_0x2fcfc1(0x220)],'errorMessage':_0x2a9430['message'],'errorCode':_0x2a9430[_0x2fcfc1(0x22c)]||null,'stack':_0x2a9430['stack'],'severity':_0x3cee5d[_0x2fcfc1(0x24a)],..._0x591390},_0x23fa00=_0x5a19d1||_0x2fcfc1(0x292)+_0x2a9430[_0x2fcfc1(0x267)];logger[_0x2fcfc1(0x22d)](_0x296df1,_0x23fa00),_0x3cee5d['kuZfe'](writeToFileLog,{..._0x296df1,'level':_0x2fcfc1(0x22d),'msg':_0x23fa00,'time':new Date()['toISOString']()},_0x3cee5d['lPrdP']);},logHttpError=(_0x25c9b4,_0x5f0408,_0x3baeb3={})=>{const _0x2557c9=a0_0x3a7d81,_0x3376da={'zBbVN':_0x2557c9(0x23b),'XUdTz':_0x2557c9(0x29c),'kFvBS':function(_0x2a94dd,_0x587442){return _0x2a94dd(_0x587442);},'lMhOE':function(_0x93d952,_0x3fac0a,_0x1bf752){return _0x93d952(_0x3fac0a,_0x1bf752);},'aIasA':function(_0x4977bb,_0x1c8852){return _0x4977bb>=_0x1c8852;},'mIThX':'warn'},_0x21cb31={'event':'http_error','errorName':_0x25c9b4['name']||_0x2557c9(0x2ab),'errorMessage':_0x25c9b4['message'],'errorCode':_0x25c9b4[_0x2557c9(0x22c)]||_0x25c9b4['statusCode']||0x1f4,'stack':_0x25c9b4[_0x2557c9(0x217)],'method':_0x5f0408?.[_0x2557c9(0x1f1)],'url':_0x5f0408?.[_0x2557c9(0x25f)]||_0x5f0408?.[_0x2557c9(0x253)],'path':_0x5f0408?.['path'],'ip':_0x5f0408?.['ip']||_0x5f0408?.[_0x2557c9(0x23f)]?.[_0x2557c9(0x27e)],'userAgent':_0x5f0408?.['get']?.(_0x3376da[_0x2557c9(0x22a)]),'requestId':_0x5f0408?.['id']||_0x5f0408?.[_0x2557c9(0x245)]?.[_0x3376da[_0x2557c9(0x223)]],'body':_0x5f0408?.[_0x2557c9(0x24c)]?_0x3376da['kFvBS'](redactObject,_0x5f0408[_0x2557c9(0x24c)]):undefined,'query':_0x5f0408?.['query'],..._0x3baeb3},_0x55a848=_0x25c9b4['statusCode']||_0x25c9b4[_0x2557c9(0x218)]||0x1f4,_0x582efc=_0x2557c9(0x26b)+_0x55a848+':\x20'+_0x25c9b4[_0x2557c9(0x267)];_0x55a848>=0x1f4?logger[_0x2557c9(0x259)](_0x21cb31,_0x582efc):logger['warn'](_0x21cb31,_0x582efc),_0x3376da[_0x2557c9(0x233)](writeToFileLog,{..._0x21cb31,'level':_0x3376da['aIasA'](_0x55a848,0x1f4)?_0x2557c9(0x259):_0x3376da[_0x2557c9(0x1ff)],'msg':_0x582efc,'time':new Date()['toISOString']()},_0x55a848>=0x1f4?_0x2557c9(0x259):_0x2557c9(0x20f));},logUncaughtError=(_0x535ca5,_0x4fa7af)=>{const _0x5e7d7e=a0_0x3a7d81,_0x5765a6={'RmuTA':'CRITICAL','WYNFi':'fatal','Vzfrb':_0x5e7d7e(0x259)},_0x376f3f={'event':_0x535ca5,'errorName':_0x4fa7af?.[_0x5e7d7e(0x2a7)]||_0x5e7d7e(0x2ab),'errorMessage':_0x4fa7af?.['message']||String(_0x4fa7af),'errorCode':_0x4fa7af?.['code']||null,'stack':_0x4fa7af?.['stack'],'severity':_0x5765a6['RmuTA'],'processId':process['pid'],'memoryUsage':process[_0x5e7d7e(0x226)](),'uptime':process['uptime']()},_0x53d442='['+_0x535ca5['toUpperCase']()+']\x20'+(_0x4fa7af?.['message']||_0x4fa7af);logger[_0x5e7d7e(0x22d)](_0x376f3f,_0x53d442),writeToFileLog({..._0x376f3f,'level':_0x5765a6['WYNFi'],'msg':_0x53d442,'time':new Date()['toISOString']()},_0x5765a6['Vzfrb']);},setupGlobalErrorHandlers=()=>{const _0x202a1c=a0_0x3a7d81,_0x3b14d2={'NQwmc':function(_0x2cc304,_0x482e74,_0x1b7239){return _0x2cc304(_0x482e74,_0x1b7239);},'eAbYK':function(_0x4c732e,_0x48cc8a){return _0x4c732e instanceof _0x48cc8a;},'dVRpL':function(_0x344d71,_0x55d384){return _0x344d71(_0x55d384);},'TCFPi':function(_0x3629d9,_0x382bb9,_0x47c5e9){return _0x3629d9(_0x382bb9,_0x47c5e9);},'eHSLt':'uncaughtException','kJOgj':'unhandledRejection','fqsbL':_0x202a1c(0x235)};process['on'](_0x3b14d2[_0x202a1c(0x281)],_0x3239b0=>{const _0x5e1d24=_0x202a1c;_0x3b14d2[_0x5e1d24(0x1fd)](logUncaughtError,'uncaughtException',_0x3239b0),_0x3b14d2[_0x5e1d24(0x1fd)](setTimeout,()=>{const _0x918806=_0x5e1d24;process[_0x918806(0x23a)](0x1);},0x3e8);}),process['on'](_0x3b14d2['kJOgj'],(_0x4ba87a,_0x2fbf36)=>{const _0x2af3c9=_0x202a1c,_0x58b73a=_0x3b14d2['eAbYK'](_0x4ba87a,Error)?_0x4ba87a:new Error(_0x3b14d2['dVRpL'](String,_0x4ba87a));_0x3b14d2[_0x2af3c9(0x294)](logUncaughtError,'unhandledRejection',_0x58b73a);}),process['on'](_0x202a1c(0x29b),_0x281c1f=>{const _0xa88c04=_0x202a1c;logger['warn']({'event':'process_warning','name':_0x281c1f[_0xa88c04(0x2a7)],'message':_0x281c1f[_0xa88c04(0x267)],'stack':_0x281c1f['stack']},'Process\x20Warning:\x20'+_0x281c1f['message']);});const _0x39b56a={'event':_0x3b14d2[_0x202a1c(0x23d)]},_0x3de00f=_0x202a1c(0x299);logger['info'](_0x39b56a,_0x3de00f),writeToFileLog({..._0x39b56a,'level':_0x202a1c(0x203),'msg':_0x3de00f,'time':new Date()[_0x202a1c(0x1f8)]()},_0x202a1c(0x203));},createErrorHandlerMiddleware=()=>{const _0x6d85ab=a0_0x3a7d81,_0x5ac8f7={'OLkQX':function(_0x4e04d3,_0x23255f,_0x54475e){return _0x4e04d3(_0x23255f,_0x54475e);},'UVXoX':_0x6d85ab(0x29c)};return(_0x2677b2,_0x41e292,_0x5a79ac,_0xd94b28)=>{const _0x177de8=_0x6d85ab;_0x5ac8f7['OLkQX'](logHttpError,_0x2677b2,_0x41e292);const _0x211f29=_0x2677b2['statusCode']||_0x2677b2['status']||0x1f4;_0x5a79ac['status'](_0x211f29)['json']({'success':![],'error':_0x211f29>=0x1f4?_0x177de8(0x20a):_0x2677b2['message'],'requestId':_0x41e292['id']||_0x41e292[_0x177de8(0x245)]?.[_0x5ac8f7['UVXoX']]||null});};};module[a0_0x3a7d81(0x237)]={'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}};function a0_0x4042(_0x3ecbfd,_0x17e70e){_0x3ecbfd=_0x3ecbfd-0x1ed;const _0x48ca4a=a0_0x48ca();let _0x40423c=_0x48ca4a[_0x3ecbfd];if(a0_0x4042['qjIGUu']===undefined){var _0x12f715=function(_0x2131b4){const _0x2d1f01='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4fcfff='',_0x55e8f0='';for(let _0x45b89b=0x0,_0x24b475,_0x129b7c,_0x741d67=0x0;_0x129b7c=_0x2131b4['charAt'](_0x741d67++);~_0x129b7c&&(_0x24b475=_0x45b89b%0x4?_0x24b475*0x40+_0x129b7c:_0x129b7c,_0x45b89b++%0x4)?_0x4fcfff+=String['fromCharCode'](0xff&_0x24b475>>(-0x2*_0x45b89b&0x6)):0x0){_0x129b7c=_0x2d1f01['indexOf'](_0x129b7c);}for(let _0x9a0a6f=0x0,_0x3a1e0b=_0x4fcfff['length'];_0x9a0a6f<_0x3a1e0b;_0x9a0a6f++){_0x55e8f0+='%'+('00'+_0x4fcfff['charCodeAt'](_0x9a0a6f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x55e8f0);};a0_0x4042['jVlugj']=_0x12f715,a0_0x4042['fROylV']={},a0_0x4042['qjIGUu']=!![];}const _0x17a62f=_0x48ca4a[0x0],_0x506a45=_0x3ecbfd+_0x17a62f,_0x3fa585=a0_0x4042['fROylV'][_0x506a45];return!_0x3fa585?(_0x40423c=a0_0x4042['jVlugj'](_0x40423c),a0_0x4042['fROylV'][_0x506a45]=_0x40423c):_0x40423c=_0x3fa585,_0x40423c;}function a0_0x48ca(){const _0x55d460=['CMvMCMvZAf90B2TLBG','ywnJzxnZx3rVA2vU','CgfZC3DVCMq','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','zxHPC3rZu3LUyW','CMvZDgzVCMDL','te9hx0rjuG','rermx0nsrufurq','CMvTB3rLqwrKCMvZCW','uNbtAee','yxbWlMXVzW','zuHtthq','rejFueftu1DpuKq','qvPnu1i','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','C2vYDMLJzuLUzM8','vfjbtLnbq1rjt05Fq09ntuLu','uwXVs1C','zgf0ywjHC2u','rermx0fmvevs','BwTKAxjtEw5J','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','A2v5CW','ChjVzhvJDgLVBG','AM9PBG','nJmYodiWrMH0AKrN','rermx0rst1a','rgf0ywjHC2u6ia','rKfuquW6ia','zxjY','vengugK','qKvhsu4','C3rYAw5N','Ag9ZDa','iokvKqRILzeGifbVCNqGicaGicaGidOG','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','CgfYyw1Z','D2fYBMLUzW','Ec1Yzxf1zxn0lwLK','CgfZC3DK','iokvKqRILzeGifbYB2PLy3qGicaGidOG','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','y3jLzgL0y2fYza','C2vJCMv0','zgvIDwC','q291uM0','C29Tzq','zw52','r0Tqshi','BMfTzq','quXurvi','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','DhjPBq','rxjYB3i','rgvMyxvSDa','C2vYDMvYx3jLywr5','w1jfrefdveveoNrVA2vUxq','wg5Rueu','vu5ltK9xtG','C3vIC3rYAw5N','zgjFDhjHBNnHy3rPB24','mZG4nduXvMXqswDv','sgDmveO','Bwv0Ag9K','z2v0sgvHzgvYCW','CeLPBg4','rhjhzgW','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','yxbPA2v5','wMXtvgq','Dg9ju09tDhjPBMC','vvbeqvrf','mti3BxPdEhLm','ChjPDMf0zwTLEq','BufuwfC','tLf3Bwm','rNruq2W','BuLuAfG','AMHiD08','yMnrsgm','D3jPDgu','Aw5MBW','Bwf4','AxntBg93','vfjbtLnbq1rjt05FuK9mtejbq0S','yw9zzNi','CK9JDxq','EK5SC0G','sw50zxjUywWGC2vYDMvYigvYCM9Y','u1rbuLqGvfjbtLnbq1rjt04','CM93C0fMzMvJDgvK','nZCYntmZquH2tvzO','Dhj1zq','D2fYBG','q09ntuLu','EeXWD2S','Aw5JBhvKzxm','C3rKu2vYAwfSAxPLCNm','vfjbtLnbq1rjt05FqKvhsu4','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','C3rHy2S','C3rHDhvZ','q0D3s3K','AxnVvgLTzq','ndu1mZmWwhbRru1j','tM9Kzs5QCW','Dg9mB3DLCKnHC2u','CMvZB2X2zq','rMXNDNy','vxPkr0m','BK5qC2C','uM9cs1G','wfvKvhO','ic0G','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','BwvTB3j5vxnHz2u','CgLU','AgvHBhrOq2HLy2S','ifTtte9xxq','EKjIvK4','B2jQzwn0','y29Kzq','zMf0ywW','u1fmx0Xpr19mrvzfta','u1fmx0Xpr19ftKfcteve','z2LQqxe','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','mta3og16zuf5Aa','Be1Ot0u','w09lxsbqCM9Qzwn0igXVywrLzdOG','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','C3rHCNrZv2L0Aa','zxHWB3j0CW','uw9Xzvi','iokvKqRILzeGienVBMzPzYaGicaGidOG','zxHPDa','DxnLCI1Hz2vUDa','Ahj0Aw1L','zNfZyKW','iokvKqRILzeGiefqssblzxKGicaGidOG','y29UBMvJDgLVBG','AxnbCNjHEq','Cg9YDa','wePsyNK','BgvUz3rO','v3bqyM4','AgvHzgvYCW','w1jfrefdvevexq','y2DpBxu','y2HPBgq','y3z2','terHs1C','lI9SB2DZlW','yM9KEq','uwX3zKq','zw5KCg9PBNrFCMvNAxn0zxjLza','uePgDMK','tuvjD3y','y3jLyxrLv3jPDgvtDhjLyw0','zMLSzv9SB2DNAw5Nx2vUywjSzwq','B3jPz2LUywXvCMW','u0vmrunu','rvHpwwO','CgfKrw5K','C3rKvgLTzuz1BMn0Aw9UCW','vgTzAeO','zxjYB3i','DgvZDa','zw52AxjVBM1LBNq','oI8V','q3P4the','Dg9Rzw4','DxjS','C3rHDhvZq29Kzq','yxbPs2v5','BxLcvxq','ndKZmZm4weDyrwD6','Bwf0y2G','odmXotKYCvvHruvU','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','BwvZC2fNzq','ChjPDMf0zv9RzxK','EfrPtfG','tK9erv9ftLy','sfruuca','B3rW','ChDK','rgDkAwi','ndHozvbtqLm','Cfrrq0e','ChjVAMvJDa','u1fmx0Xpr19tte9xx1riuKvtse9mra','C3fSx3f1zxj5','DhLWzq','Cgf0Aa'];a0_0x48ca=function(){return _0x55d460;};return a0_0x48ca();}
|
|
1
|
+
const a0_0x3a0fef=a0_0x10b9;(function(_0x172ac4,_0x27ef14){const _0x118e94=a0_0x10b9,_0x31d9a5=_0x172ac4();while(!![]){try{const _0x1bf160=parseInt(_0x118e94(0x1ee))/0x1*(-parseInt(_0x118e94(0x1ad))/0x2)+-parseInt(_0x118e94(0x161))/0x3+parseInt(_0x118e94(0x1b6))/0x4+parseInt(_0x118e94(0x1c6))/0x5+parseInt(_0x118e94(0x20e))/0x6+parseInt(_0x118e94(0x1ae))/0x7*(-parseInt(_0x118e94(0x158))/0x8)+parseInt(_0x118e94(0x1bc))/0x9;if(_0x1bf160===_0x27ef14)break;else _0x31d9a5['push'](_0x31d9a5['shift']());}catch(_0x508c53){_0x31d9a5['push'](_0x31d9a5['shift']());}}}(a0_0x2356,0xb2a04));const pino=require('pino'),fs=require('fs'),path=require(a0_0x3a0fef(0x1d5));function a0_0x10b9(_0x25111b,_0x1d0469){_0x25111b=_0x25111b-0x150;const _0x235617=a0_0x2356();let _0x10b9eb=_0x235617[_0x25111b];if(a0_0x10b9['YpSAUC']===undefined){var _0x5f3a08=function(_0x34480b){const _0x75552f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x89c117='',_0x20b3af='';for(let _0x4ae069=0x0,_0x1cf575,_0x58ea75,_0x3133b1=0x0;_0x58ea75=_0x34480b['charAt'](_0x3133b1++);~_0x58ea75&&(_0x1cf575=_0x4ae069%0x4?_0x1cf575*0x40+_0x58ea75:_0x58ea75,_0x4ae069++%0x4)?_0x89c117+=String['fromCharCode'](0xff&_0x1cf575>>(-0x2*_0x4ae069&0x6)):0x0){_0x58ea75=_0x75552f['indexOf'](_0x58ea75);}for(let _0x8d3836=0x0,_0x28a0dc=_0x89c117['length'];_0x8d3836<_0x28a0dc;_0x8d3836++){_0x20b3af+='%'+('00'+_0x89c117['charCodeAt'](_0x8d3836)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x20b3af);};a0_0x10b9['sZgghd']=_0x5f3a08,a0_0x10b9['AwocPX']={},a0_0x10b9['YpSAUC']=!![];}const _0x8d7fee=_0x235617[0x0],_0x5e4d14=_0x25111b+_0x8d7fee,_0x323b85=a0_0x10b9['AwocPX'][_0x5e4d14];return!_0x323b85?(_0x10b9eb=a0_0x10b9['sZgghd'](_0x10b9eb),a0_0x10b9['AwocPX'][_0x5e4d14]=_0x10b9eb):_0x10b9eb=_0x323b85,_0x10b9eb;}function a0_0x2356(){const _0x11594b=['qLDVs1u','AvbLAei','BMfTzq','ms4WlJu','CMvZDgzVCMDL','Dg9mB3DLCKnHC2u','qwTdwxO','te9hx0rjuG','vvbeqvrf','uhjeBKi','C3rHDhvZq29Kzq','CMvWzwf0','zMfSC2u','BxmP','DxnLCG','yxbPs2v5','y29UBMvJDgLVBG','C3rYAw5N','CgfZC3DK','z25ku3G','Bwv0Ag9K','zMXVB3i','Dg9Rzw4','y2HPBgq','zgv2zwXVCg1LBNq','s1Lfr2C','C29Tzq','CgfYyw1Z','DxjS','Dg9vChbLCKnHC2u','DhHYrfu','u1fmx0Xpr19mrvzfta','zhvYyxrPB25nCW','reiGuxvLCNK','sLz6uum','zxHWB3j0CW','CgfKrw5K','zw52','rMrNDeq','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','su5trvju','AxnVvgLTzq','AvHHtuy','AgvHBhrOq2HLy2S','Bg5JDK8','zKn0vw0','uMj2uNy','C3fSx3f1zxj5','zgvIDwC','B3rW','Dfzpz3y','zxjYB3iUBg9N','yM9KEq','y3jLyxrLv3jPDgvtDhjLyw0','zgjFCxvLCNK','C3bSAxq','BgvUz3rO','w1jfrefdveveoNrVA2vUxq','tMDgtxy','rejFueftu1DpuKq','u1fmx0Xpr19qqvjbtvm','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','yxbPA2v5','C3rHDhvZ','CgLUBY1WCMv0DhK','zMXbz0O','zgf0ywjHC2u','BwfW','mJG0mta3ofn1EgvMyG','mtaYnZK5owruz2foBW','CxvLCNK','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','ChjVy2vZC193yxjUAw5N','Ec1Yzxf1zxn0lwLK','CMvTB3rLqwrKCMvZCW','zMf0ywW','vhjHBNnHy3rPB24G','mJeWmtaWogn2r0ritG','zgvMyxvSDa','w1jfrefdvevexq','w09lxsbqCM9Qzwn0igXVywrLzdOG','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','vfjbtLnbq1rjt05FqKvhsu4','mJCZmZC4mdzrrNDjC3q','AgvHzgvYCW','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','CMvZB2X2zq','DLnVEwC','BMvlvxy','Ahr0Cf9Yzxf1zxn0','Aw5MBW','u1fmx0Xpr19ftKfcteve','y29Kzq','mteYnZaWmgn4zxfjBW','AvzhAvO','yxbPx2TLEq','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','ANnVBG','y29UzMLNrMLSzq','wfPtzKy','qKvhsu4','z2v0sgvHzgvYCW','ChjVAMvJDa','tgzHsNC','q29VquC','revmrvrf','rermx0nsrufurq','y3jLzgL0x2nHCMq','Cgf0Aa','z2v0','rermx0rst1a','AM9PBG','B2jQzwn0','rermx0fmvevs','yxv0Ag9YAxPHDgLVBG','DhjPBq','C3nU','DgvZDa','ChDK','y3jLzgL0y2fYza','reLHAxC','rKfuquW6ia','zw5KCg9PBNrFCMvNAxn0zxjLza','zgf0ywjHC2vFy29UzMLN','Ag9ZDa','ChjVAMvJDf9SB2fKzwq','yxbPx3nLy3jLDa','ENPXs2K','yxbWlMXVzW','shr3v2G','zxjYB3i','zM5gEKG','Dw5JyxvNAhrfEgnLChrPB24','mwDwzMzHEG','ChjVzhvJDgLVBG','iokvKqRILzeGifbYB2PLy3qGicaGidOG','vfjbtLnbq1rjt05Fq09ntuLu','yMfZzvvYBa','uvziBMS','icbjBMzVoIaGia','CMvWBgfJzq','uhjVy2vZCYbxyxjUAw5NoIa','CgfZC3DVCMq','rhbmBKO','Dg9gAxHLza','B211wwu','te9hx0XfvKvm','txngr2K','C2vYDMLJzuLUzM8','DxnLCI1Hz2vUDa','C3rHCNrZv2L0Aa','Dw5RBM93BG','C2vJCMv0','rgvMyxvSDa','tuzpyKO','uwLht3C','D2fYBG','vufpwuK','q1jfqvrf','Bwf0y2G','rwvJuxm','vfjbtLnbq1rjt05FuK9mtejbq0S','ywnJzxnZx3rVA2vU','Dw5Oyw5KBgvKuMvQzwn0Aw9U','BwvZC2fNzq','mtq5oti4mezTwMLyvq','u0vsvKLdrv9oqu1f','Dhj1zq','C3rHy2S','rgf0ywjHC2u6ia','rfjpua','icbizwfSDgG6ia','Ahj0Aw1L','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','ntzRzNzkAxq','BwTKAxjtEw5J','D1PyDue','C3rKu2vYAwfSAxPLCNm','sMnyCNm','s1vdtee','Dg9ju09tDhjPBMC','quXurvi','uvvyB1y','mJu3mZyYoeD1we5ktW','zNzwyue','Cg9YDa','CgLU','iokvKqRILzeGienVBMzPzYaGicaGidOG','Aw5JBhvKzxm','vwLPy04','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK'];a0_0x2356=function(){return _0x11594b;};return a0_0x2356();}let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','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':'{msg}','customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env']['NODE_ENV']!==a0_0x3a0fef(0x1ef),logLevel=process[a0_0x3a0fef(0x18e)][a0_0x3a0fef(0x1fb)]||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x3a0fef(0x1a9),'options':prettyPrintOptions}:undefined,'base':{'service':a0_0x3a0fef(0x16d),'version':process['env']['APP_VERSION']||a0_0x3a0fef(0x16c),'env':process[a0_0x3a0fef(0x18e)]['NODE_ENV']||a0_0x3a0fef(0x181)},'timestamp':pino['stdTimeFunctions'][a0_0x3a0fef(0x192)],'redact':{'paths':['req.headers.authorization',a0_0x3a0fef(0x190),a0_0x3a0fef(0x1f7),a0_0x3a0fef(0x17f),a0_0x3a0fef(0x178),a0_0x3a0fef(0x1a4),'JWT_SECRET'],'censor':'[REDACTED]'},'serializers':{'req':_0x50d7b6=>({'id':_0x50d7b6['id'],'method':_0x50d7b6['method'],'url':_0x50d7b6[a0_0x3a0fef(0x185)],'path':_0x50d7b6['path'],'remoteAddress':_0x50d7b6['ip']||_0x50d7b6[a0_0x3a0fef(0x179)]?.['remoteAddress']}),'res':_0x17d9f3=>({'statusCode':_0x17d9f3['statusCode'],'headers':_0x17d9f3[a0_0x3a0fef(0x1ce)]?.()}),'err':pino[a0_0x3a0fef(0x15b)]['err']}});function initFileLogging(){const _0x97beb2=a0_0x3a0fef,_0x3deae2={'RsaqA':_0x97beb2(0x151),'HSrAB':function(_0xc663f6,_0x5c15b3){return _0xc663f6===_0x5c15b3;},'rQJkQ':function(_0x125b47,_0x39f64b){return _0x125b47!==_0x39f64b;},'QeDGZ':_0x97beb2(0x175),'OhpPD':_0x97beb2(0x1e9),'rJDBd':_0x97beb2(0x19c),'PuuEF':function(_0x2b90af,_0x849e3d,_0x1249a1){return _0x2b90af(_0x849e3d,_0x1249a1);},'JVzQC':'info'};if(fileLoggingInitialized)return;logToFile=process['env']['LOG_TO_FILE']===_0x3deae2['RsaqA'];const _0x2c66cc=process[_0x97beb2(0x18e)][_0x97beb2(0x1b0)]||_0x97beb2(0x1b7);logDir=process['env'][_0x97beb2(0x170)]||'./logs/'+_0x2c66cc,serviceName=process[_0x97beb2(0x18e)][_0x97beb2(0x150)]||'restforge',sqlLogEnabled=_0x3deae2['HSrAB'](process['env'][_0x97beb2(0x1c4)],_0x3deae2['RsaqA']),sqlLogLevel=process[_0x97beb2(0x18e)][_0x97beb2(0x188)]||_0x97beb2(0x199),sqlLogParams=_0x3deae2['rQJkQ'](process[_0x97beb2(0x18e)][_0x97beb2(0x1a5)],_0x3deae2['QeDGZ']),sqlLogSlowThreshold=parseInt(process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x262ed7=path[_0x97beb2(0x1bf)](process['cwd'](),logDir);try{!fs['existsSync'](_0x262ed7)&&fs[_0x97beb2(0x159)](_0x262ed7,{'recursive':!![]});}catch(_0x32c6a0){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x262ed7+':',_0x32c6a0['message']),fileLoggingInitialized=!![];return;}const _0x3ebaa5=path[_0x97beb2(0x1d8)](_0x262ed7,_0x3deae2['OhpPD']),_0x3b81da=path[_0x97beb2(0x1d8)](_0x262ed7,_0x3deae2['rJDBd']);try{appLogStream=fs[_0x97beb2(0x19e)](_0x3ebaa5,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x3b81da,{'flags':'a'}),fileLoggingInitialized=!![];const _0x23c66f={'event':'file_logging_enabled','logDir':_0x262ed7,'files':['app.log','error.log']},_0x40222e='File\x20logging\x20enabled:\x20'+_0x262ed7;logger[_0x97beb2(0x1c3)](_0x23c66f,_0x40222e),_0x3deae2['PuuEF'](writeToFileLog,{..._0x23c66f,'level':_0x3deae2[_0x97beb2(0x18b)],'msg':_0x40222e,'time':new Date()[_0x97beb2(0x15e)]()},'info');}catch(_0x1aebb1){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x1aebb1[_0x97beb2(0x20d)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x331285,_0x80db45){const _0x334b68=a0_0x3a0fef,_0x4f208e={'XZSfF':function(_0x23aae2,_0x41a27e){return _0x23aae2||_0x41a27e;}};if(_0x4f208e[_0x334b68(0x1cc)](!logToFile,!appLogStream))return;const _0x9f8a14={'service':serviceName,..._0x331285},_0x116360=JSON['stringify'](_0x9f8a14)+'\x0a';appLogStream['write'](_0x116360),(_0x80db45===_0x334b68(0x1eb)||_0x80db45===_0x334b68(0x1b4))&&(errorLogStream&&errorLogStream['write'](_0x116360));}const createRequestLogger=(_0x32b3a5={})=>{const _0x3e9be6=a0_0x3a0fef;return logger[_0x3e9be6(0x180)](_0x32b3a5);},logServerStart=_0xf79349=>{const _0x2a901d=a0_0x3a0fef,_0x4e79f8={'Mqval':function(_0x58df61,_0x46ef72){return _0x58df61-_0x46ef72;},'cUDHS':function(_0x39c42a,_0x1ac39f){return _0x39c42a/_0x1ac39f;},'oXELS':'Node.js','wZXuA':_0x2a901d(0x202),'lVxhh':'ACTIVE','sPeGr':'NOT\x20ACTIVE','LjMHj':'server_starting','lWnwM':function(_0x445a8f,_0x332239,_0x277b04){return _0x445a8f(_0x332239,_0x277b04);},'FcQFP':'info'},_0x46129d=_0x2a901d(0x1be),_0x1add54=Math['max'](0x0,_0x4e79f8['Mqval'](0x37,_0x46129d[_0x2a901d(0x1a1)])),_0xc6cf6a=Math[_0x2a901d(0x17e)](_0x4e79f8['cUDHS'](_0x1add54,0x2)),_0x3ea1d9=_0x1add54-_0xc6cf6a,_0x5b5f7f='║'+'\x20'['repeat'](_0xc6cf6a)+_0x46129d+'\x20'[_0x2a901d(0x174)](_0x3ea1d9)+'║',_0x231dc6=_0x2a901d(0x1c9)+_0x5b5f7f+_0x2a901d(0x1a6)+(_0xf79349['environment']||_0x4e79f8['oXELS'])[_0x2a901d(0x18d)](0x26)+_0x2a901d(0x1f0)+(_0xf79349['project']||'N/A')[_0x2a901d(0x18d)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0xf79349[_0x2a901d(0x163)]||0xbb8)[_0x2a901d(0x18d)](0x26)+_0x2a901d(0x165)+(_0xf79349[_0x2a901d(0x1cb)]||_0x4e79f8[_0x2a901d(0x15a)])[_0x2a901d(0x18d)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0xf79349[_0x2a901d(0x178)]?_0x4e79f8['lVxhh']:_0x4e79f8['sPeGr'])[_0x2a901d(0x18d)](0x26)+_0x2a901d(0x1ba);console['log'](_0x231dc6);const _0xc73145={'event':_0x4e79f8['LjMHj'],'project':_0xf79349[_0x2a901d(0x1cf)],'port':_0xf79349['port'],'config':_0xf79349['configFile'],'apiKeyEnabled':!!_0xf79349['apiKey']};logger['info'](_0xc73145),_0x4e79f8['lWnwM'](writeToFileLog,{..._0xc73145,'level':_0x4e79f8['FcQFP'],'msg':'Server\x20starting:\x20'+_0xf79349['project']+'\x20on\x20port\x20'+_0xf79349[_0x2a901d(0x163)],'time':new Date()[_0x2a901d(0x15e)]()},_0x2a901d(0x1c3));},logServerReady=_0x3546e0=>{const _0x13f976=a0_0x3a0fef,_0x23ccbe={'GPkbL':'server_ready','vSoyg':'info'},_0x558477={'event':_0x23ccbe['GPkbL'],'port':_0x3546e0[_0x13f976(0x163)],'module':_0x3546e0['module'],'healthCheck':_0x3546e0['healthCheck'],'serviceInfo':_0x3546e0[_0x13f976(0x1fd)],'baseUrl':_0x3546e0[_0x13f976(0x1f2)]},_0xfbc438='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x3546e0[_0x13f976(0x163)];logger[_0x13f976(0x1c3)](_0x558477,_0xfbc438),writeToFileLog({..._0x558477,'level':_0x23ccbe[_0x13f976(0x1c0)],'msg':_0xfbc438,'time':new Date()[_0x13f976(0x15e)]()},_0x23ccbe['vSoyg']),_0x3546e0[_0x13f976(0x194)]&&logger['info'](_0x13f976(0x155)+_0x3546e0[_0x13f976(0x194)]),_0x3546e0[_0x13f976(0x1fd)]&&logger['info'](_0x13f976(0x1f4)+_0x3546e0[_0x13f976(0x1fd)]),_0x3546e0[_0x13f976(0x1f2)]&&logger[_0x13f976(0x1c3)]('\x20\x20URL:\x20\x20\x20\x20'+_0x3546e0['baseUrl']);},logProjectLoaded=(_0x216b6a,_0x547d6a)=>{const _0x220f7a=a0_0x3a0fef,_0xd4caaa={'event':_0x220f7a(0x1e6),'project':_0x216b6a,'path':_0x547d6a},_0x562415=_0x220f7a(0x1b9)+_0x216b6a;logger[_0x220f7a(0x1c3)](_0xd4caaa,_0x562415),writeToFileLog({..._0xd4caaa,'level':_0x220f7a(0x1c3),'msg':_0x562415,'time':new Date()['toISOString']()},'info');},logEndpointRegistered=(_0x5ef44b,_0x4514d5)=>{const _0x10a007=a0_0x3a0fef,_0x3ce4ae={'UiicN':function(_0x31bac5,_0x58ad9b,_0x1e522b){return _0x31bac5(_0x58ad9b,_0x1e522b);},'tVOgv':_0x10a007(0x199)},_0x553326={'event':_0x10a007(0x1e3),'endpoint':_0x5ef44b,'route':_0x4514d5},_0x5d4b9a='\x20\x20→\x20'+_0x5ef44b+':\x20'+_0x4514d5;logger[_0x10a007(0x199)](_0x553326,_0x5d4b9a),_0x3ce4ae[_0x10a007(0x167)](writeToFileLog,{..._0x553326,'level':_0x10a007(0x199),'msg':_0x5d4b9a,'time':new Date()[_0x10a007(0x15e)]()},_0x3ce4ae[_0x10a007(0x19b)]);},logDatabaseConfig=_0x370299=>{const _0x4c609c=a0_0x3a0fef,_0x201d80={'CooAG':_0x4c609c(0x199)},_0x307aa5={'event':_0x4c609c(0x1e4),'host':_0x370299[_0x4c609c(0x1e5)],'port':_0x370299['port'],'database':_0x370299['database'],'type':_0x370299['type'],'user':_0x370299[_0x4c609c(0x177)]},_0x46a235=_0x4c609c(0x153)+_0x370299['type']+'://'+_0x370299[_0x4c609c(0x1e5)]+':'+_0x370299[_0x4c609c(0x163)]+'/'+_0x370299[_0x4c609c(0x1ab)];logger['debug'](_0x307aa5,_0x46a235),writeToFileLog({..._0x307aa5,'level':_0x201d80['CooAG'],'msg':_0x46a235,'time':new Date()['toISOString']()},_0x201d80[_0x4c609c(0x1d1)]);},logRequest=(_0x4ca6fd,_0x475933,_0x1da2f1)=>{const _0xd68eef=a0_0x3a0fef,_0x1fae99={'QVHnk':_0xd68eef(0x1c2),'lncvO':_0xd68eef(0x1c3),'MsFGi':function(_0xaa0613,_0x2bceb7){return _0xaa0613>=_0x2bceb7;},'EecQs':'error','DpLnJ':function(_0x173457,_0x18c3f6){return _0x173457>=_0x18c3f6;},'QybbD':'warn'},_0x5a13d0={'event':_0x1fae99[_0xd68eef(0x1f3)],'method':_0x4ca6fd[_0xd68eef(0x17d)],'path':_0x4ca6fd['path'],'statusCode':_0x475933['statusCode'],'durationMs':_0x1da2f1,'ip':_0x4ca6fd['ip']},_0x29c3d0=_0x4ca6fd['method']+'\x20'+_0x4ca6fd[_0xd68eef(0x1d5)]+'\x20-\x20'+_0x475933[_0xd68eef(0x173)]+'\x20('+_0x1da2f1+'ms)';let _0x1a1e1a=_0x1fae99[_0xd68eef(0x195)];if(_0x1fae99[_0xd68eef(0x1fc)](_0x475933[_0xd68eef(0x173)],0x1f4))_0x1a1e1a=_0x1fae99[_0xd68eef(0x209)],logger['error'](_0x5a13d0,_0x29c3d0);else _0x1fae99[_0xd68eef(0x1f8)](_0x475933['statusCode'],0x190)?(_0x1a1e1a=_0x1fae99['QybbD'],logger[_0xd68eef(0x205)](_0x5a13d0,_0x29c3d0)):logger['info'](_0x5a13d0,_0x29c3d0);writeToFileLog({..._0x5a13d0,'level':_0x1a1e1a,'msg':_0x29c3d0,'time':new Date()['toISOString']()},_0x1a1e1a);},SENSITIVE_PARAM_PATTERNS=['password','passwd',a0_0x3a0fef(0x1df),'token',a0_0x3a0fef(0x20b),'refresh_token',a0_0x3a0fef(0x201),a0_0x3a0fef(0x1e7),a0_0x3a0fef(0x1a7),a0_0x3a0fef(0x1c8),'credential','credentials','pin',a0_0x3a0fef(0x19a),'private_key','privatekey'],redactSensitiveParams=(_0x996b3a,_0x13ffee)=>{const _0x5779b4=a0_0x3a0fef,_0x5f1046={'YQONS':'[REDACTED]','iPehB':_0x5779b4(0x17a),'fmoXN':_0x5779b4(0x1a2),'afuXA':'[REDACTED:hash]','VoitX':function(_0x2143b5,_0x935a18){return _0x2143b5===_0x935a18;}};if(!_0x996b3a||_0x5f1046['VoitX'](_0x996b3a['length'],0x0))return _0x996b3a;const _0xe138db=_0x13ffee[_0x5779b4(0x16e)](),_0xce3bd6=_0xe138db[_0x5779b4(0x208)](/\(([^)]+)\)\s*values/i);let _0xbbd62c=[];_0xce3bd6&&(_0xbbd62c=_0xce3bd6[0x1][_0x5779b4(0x1a0)](',')[_0x5779b4(0x1ac)](_0x176440=>_0x176440[_0x5779b4(0x1dc)]()['toLowerCase']()));const _0x50ac23=_0xe138db[_0x5779b4(0x208)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x50ac23){const _0x530587=_0x50ac23[0x1],_0x612543=_0x530587[_0x5779b4(0x208)](/(\w+)\s*=/g);_0x612543&&(_0xbbd62c=_0x612543['map'](_0xfceae4=>_0xfceae4[_0x5779b4(0x1f5)](/\s*=/,'')['trim']()[_0x5779b4(0x16e)]()));}return _0x996b3a[_0x5779b4(0x1ac)]((_0x169045,_0xfe4d7a)=>{const _0x2df46a=_0x5779b4;if(_0xbbd62c[_0xfe4d7a]){const _0xe26b34=_0xbbd62c[_0xfe4d7a],_0x409d02=SENSITIVE_PARAM_PATTERNS[_0x2df46a(0x183)](_0x54452e=>_0xe26b34['includes'](_0x54452e));if(_0x409d02)return _0x5f1046['YQONS'];}if(typeof _0x169045===_0x5f1046[_0x2df46a(0x16a)]&&_0x169045[_0x2df46a(0x1a1)]>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x2df46a(0x1de)](_0x169045)&&_0x169045[_0x2df46a(0x166)]('.'))return _0x5f1046['fmoXN'];if(/^[a-fA-F0-9]{32,}$/[_0x2df46a(0x1de)](_0x169045))return _0x5f1046['afuXA'];}return _0x169045;});},parseQueryMetadata=_0x267f97=>{const _0xa36976=a0_0x3a0fef,_0x5b4ba5={'QUXoV':'SELECT','gQDTT':'INSERT','MFObJ':_0xa36976(0x171),'jjFFH':'DELETE','KYEGg':_0xa36976(0x1cd),'SSrBe':'START\x20TRANSACTION','KUCLA':_0xa36976(0x1bb),'ADqTZ':_0xa36976(0x1f1),'sgSOb':_0xa36976(0x207),'flAgJ':_0xa36976(0x15f),'gjRTY':_0xa36976(0x1da),'dfFFH':_0xa36976(0x154)},_0x3303a2=_0x267f97['trim'](),_0xcdc83c=_0x3303a2[_0xa36976(0x186)]();let _0x4008f9='UNKNOWN',_0x1f41ee=null;if(_0xcdc83c[_0xa36976(0x1ff)](_0x5b4ba5[_0xa36976(0x160)])){_0x4008f9=_0x5b4ba5[_0xa36976(0x160)];const _0x5b1028=_0x3303a2[_0xa36976(0x208)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1f41ee=_0x5b1028?_0x5b1028[0x1]:null;}else{if(_0xcdc83c['startsWith'](_0x5b4ba5['gQDTT'])){_0x4008f9=_0xa36976(0x191);const _0x1b2866=_0x3303a2['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1f41ee=_0x1b2866?_0x1b2866[0x1]:null;}else{if(_0xcdc83c[_0xa36976(0x1ff)](_0x5b4ba5['MFObJ'])){_0x4008f9=_0x5b4ba5[_0xa36976(0x203)];const _0x54aacd=_0x3303a2['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1f41ee=_0x54aacd?_0x54aacd[0x1]:null;}else{if(_0xcdc83c['startsWith'](_0xa36976(0x1d2))){_0x4008f9=_0x5b4ba5['jjFFH'];const _0x59496=_0x3303a2[_0xa36976(0x208)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1f41ee=_0x59496?_0x59496[0x1]:null;}else{if(_0xcdc83c['startsWith'](_0x5b4ba5[_0xa36976(0x182)])||_0xcdc83c[_0xa36976(0x1ff)](_0x5b4ba5['SSrBe']))_0x4008f9=_0x5b4ba5[_0xa36976(0x15d)];else{if(_0xcdc83c[_0xa36976(0x1ff)]('COMMIT'))_0x4008f9=_0x5b4ba5['ADqTZ'];else{if(_0xcdc83c[_0xa36976(0x1ff)]('ROLLBACK'))_0x4008f9=_0xa36976(0x20a);else{if(_0xcdc83c['startsWith'](_0x5b4ba5['sgSOb']))_0x4008f9=_0xa36976(0x1d3);else{if(_0xcdc83c[_0xa36976(0x1ff)](_0x5b4ba5[_0xa36976(0x1aa)]))_0x4008f9=_0x5b4ba5['gjRTY'];else _0xcdc83c['startsWith'](_0x5b4ba5['dfFFH'])&&(_0x4008f9=_0xa36976(0x1d7));}}}}}}}}return{'type':_0x4008f9,'table':_0x1f41ee};},startQueryTimer=()=>{const _0x5b0c23={'URMCb':function(_0x1ae3fb,_0x168813){return _0x1ae3fb(_0x168813);},'txrDU':function(_0x483f27,_0x94f7bd){return _0x483f27+_0x94f7bd;},'uMfWQ':function(_0x171be3,_0x2d9127){return _0x171be3*_0x2d9127;}},_0x202550=process['hrtime']();return()=>{const _0x5ce7cc=a0_0x10b9,[_0x3fa842,_0x5966f5]=process[_0x5ce7cc(0x156)](_0x202550);return _0x5b0c23['URMCb'](parseFloat,_0x5b0c23[_0x5ce7cc(0x187)](_0x5b0c23['uMfWQ'](_0x3fa842,0x3e8),_0x5966f5/0xf4240)[_0x5ce7cc(0x1f9)](0x2));};},logQuery=(_0x38e722,_0x28f708=[],_0x16874d={})=>{const _0x4cc86d=a0_0x3a0fef,_0x4625d0={'SxuVu':function(_0xb56930,_0x9394a6){return _0xb56930>_0x9394a6;},'UAOYI':function(_0x35a6d2,_0x3471db,_0x58e4d2){return _0x35a6d2(_0x3471db,_0x58e4d2);},'HwXVB':function(_0x400976,_0x45b629){return _0x400976>_0x45b629;},'Mzhwr':_0x4cc86d(0x200),'NgFMv':function(_0xf440ff,_0x22b2be){return _0xf440ff!==_0x22b2be;},'xiUlP':_0x4cc86d(0x199),'BWoKU':'\x20[SLOW]','DjizH':'warn','neKUv':'info','FdgtD':function(_0x153d6a,_0x54df6c,_0x2175f1){return _0x153d6a(_0x54df6c,_0x2175f1);}};if(!sqlLogEnabled){logger['debug']({'event':_0x4cc86d(0x19f),'query':_0x38e722['substring'](0x0,0xc8),'paramCount':_0x28f708['length']},_0x4cc86d(0x18a));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x16874d,{type:_0xc60707,table:_0x947d5}=parseQueryMetadata(_0x38e722),_0xd55b17={'event':_0x4cc86d(0x198),'queryType':_0xc60707,'table':_0x947d5,'query':_0x38e722,'paramCount':_0x28f708[_0x4cc86d(0x1a1)],'dbType':dbType};sqlLogParams&&_0x4625d0['SxuVu'](_0x28f708[_0x4cc86d(0x1a1)],0x0)&&(_0xd55b17[_0x4cc86d(0x184)]=_0x4625d0[_0x4cc86d(0x206)](redactSensitiveParams,_0x28f708,_0x38e722));duration!==null&&(_0xd55b17[_0x4cc86d(0x189)]=duration,_0xd55b17['isSlow']=_0x4625d0['HwXVB'](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0xd55b17['rowsAffected']=rowsAffected);const _0x52e328=_0x947d5||_0x4625d0['Mzhwr'];let _0x1de643='['+_0xc60707+']\x20'+_0x52e328;_0x4625d0[_0x4cc86d(0x1a3)](duration,null)&&(_0x1de643+='\x20('+duration+_0x4cc86d(0x176));const _0x5782da=duration!==null&&duration>sqlLogSlowThreshold;let _0x19af1a=_0x4625d0['xiUlP'];if(_0x5782da)_0x1de643+=_0x4625d0[_0x4cc86d(0x169)],_0x19af1a=_0x4625d0['DjizH'],logger['warn'](_0xd55b17,_0x1de643);else sqlLogLevel==='info'?(_0x19af1a=_0x4625d0[_0x4cc86d(0x1c1)],logger['info'](_0xd55b17,_0x1de643)):logger['debug'](_0xd55b17,_0x1de643);_0x4625d0[_0x4cc86d(0x18f)](writeToFileLog,{..._0xd55b17,'level':_0x19af1a,'msg':_0x1de643,'time':new Date()['toISOString']()},_0x19af1a);},logTransaction=(_0x205b58,_0x2a4d26)=>{const _0xb449c6=a0_0x3a0fef,_0x232cb0={'LuCIk':_0xb449c6(0x199)},_0x4adbc9={'event':'db_transaction','status':_0x205b58,'queryCount':_0x2a4d26},_0x4e3c32=_0xb449c6(0x1b5)+_0x205b58;logger['debug'](_0x4adbc9,_0x4e3c32),writeToFileLog({..._0x4adbc9,'level':'debug','msg':_0x4e3c32,'time':new Date()[_0xb449c6(0x15e)]()},_0x232cb0['LuCIk']);},redactObject=_0x388801=>{const _0x177007=a0_0x3a0fef,_0x21d38f={'LfaJw':_0x177007(0x1d9),'fnFzH':'pwd','HtwWh':_0x177007(0x201),'RbvRv':_0x177007(0x1c8),'gmWZl':_0x177007(0x1db),'uDyfW':_0x177007(0x1d4),'hApvL':_0x177007(0x1dd),'PrDnB':'privatekey','AkCYz':_0x177007(0x20b),'XKIZL':_0x177007(0x1b8),'iXaMF':function(_0xb137c1,_0x577ff6){return _0xb137c1===_0x577ff6;},'TLzVI':function(_0x350083,_0x3d197a){return _0x350083(_0x3d197a);}};if(!_0x388801||typeof _0x388801!==_0x21d38f[_0x177007(0x1d0)])return _0x388801;const _0x30653a=['password',_0x177007(0x17b),_0x21d38f[_0x177007(0x1ec)],'token',_0x21d38f[_0x177007(0x1ea)],'apikey',_0x21d38f[_0x177007(0x197)],_0x21d38f['gmWZl'],_0x177007(0x1e0),_0x21d38f['uDyfW'],'cvv',_0x21d38f['hApvL'],_0x177007(0x164),'private_key',_0x21d38f[_0x177007(0x172)],'refresh_token',_0x21d38f[_0x177007(0x16f)]],_0x4951f2=Array['isArray'](_0x388801)?[..._0x388801]:{..._0x388801};for(const _0x33c8e4 of Object['keys'](_0x4951f2)){const _0x93dce3=_0x33c8e4[_0x177007(0x16e)]();if(_0x30653a[_0x177007(0x183)](_0x256462=>_0x93dce3[_0x177007(0x166)](_0x256462)))_0x4951f2[_0x33c8e4]=_0x21d38f['XKIZL'];else _0x21d38f[_0x177007(0x193)](typeof _0x4951f2[_0x33c8e4],_0x21d38f['LfaJw'])&&_0x4951f2[_0x33c8e4]!==null&&(_0x4951f2[_0x33c8e4]=_0x21d38f['TLzVI'](redactObject,_0x4951f2[_0x33c8e4]));}return _0x4951f2;},logError=(_0x4675d3,_0x3f7858={},_0xab639=null)=>{const _0x3ae75e=a0_0x3a0fef,_0x5199c5={'fCtUm':_0x3ae75e(0x1eb),'fvVaA':function(_0x1df53c,_0x2448ec,_0x115545){return _0x1df53c(_0x2448ec,_0x115545);}},_0x366a00={'event':_0x5199c5[_0x3ae75e(0x196)],'errorName':_0x4675d3[_0x3ae75e(0x16b)]||'Error','errorMessage':_0x4675d3['message'],'errorCode':_0x4675d3['code']||null,'stack':_0x4675d3['stack'],..._0x3f7858},_0x22e266=_0xab639||'Error:\x20'+_0x4675d3['message'];logger[_0x3ae75e(0x1eb)](_0x366a00,_0x22e266),_0x5199c5[_0x3ae75e(0x162)](writeToFileLog,{..._0x366a00,'level':_0x5199c5[_0x3ae75e(0x196)],'msg':_0x22e266,'time':new Date()[_0x3ae75e(0x15e)]()},_0x5199c5[_0x3ae75e(0x196)]);},logFatalError=(_0x433cfb,_0x408443={},_0x28b8a3=null)=>{const _0x3850a2=a0_0x3a0fef,_0x438fea={'xcukj':'fatal_error','FCeIf':'Error','gnJSx':'CRITICAL','QiGOw':function(_0x4f6f4d,_0x6f72fb,_0x3ee5f7){return _0x4f6f4d(_0x6f72fb,_0x3ee5f7);},'nWkIw':'error'},_0x1651c1={'event':_0x438fea['xcukj'],'errorName':_0x433cfb['name']||_0x438fea['FCeIf'],'errorMessage':_0x433cfb['message'],'errorCode':_0x433cfb[_0x3850a2(0x1c5)]||null,'stack':_0x433cfb['stack'],'severity':_0x438fea[_0x3850a2(0x17c)],..._0x408443},_0x1adc42=_0x28b8a3||_0x3850a2(0x1e2)+_0x433cfb['message'];logger[_0x3850a2(0x1b4)](_0x1651c1,_0x1adc42),_0x438fea[_0x3850a2(0x204)](writeToFileLog,{..._0x1651c1,'level':_0x3850a2(0x1b4),'msg':_0x1adc42,'time':new Date()[_0x3850a2(0x15e)]()},_0x438fea['nWkIw']);},logHttpError=(_0x1a208c,_0x12f956,_0x117aff={})=>{const _0xa6cde7=a0_0x3a0fef,_0x42b1f9={'zzqKi':'Error','sAHVg':_0xa6cde7(0x1b2),'QXYMw':function(_0x2dfbed,_0x17896c){return _0x2dfbed>=_0x17896c;},'PFlaQ':function(_0x158a43,_0x5a291a,_0xedad06){return _0x158a43(_0x5a291a,_0xedad06);}},_0x1d5d8a={'event':'http_error','errorName':_0x1a208c['name']||_0x42b1f9[_0xa6cde7(0x1e8)],'errorMessage':_0x1a208c[_0xa6cde7(0x20d)],'errorCode':_0x1a208c[_0xa6cde7(0x1c5)]||_0x1a208c[_0xa6cde7(0x173)]||0x1f4,'stack':_0x1a208c[_0xa6cde7(0x152)],'method':_0x12f956?.['method'],'url':_0x12f956?.[_0xa6cde7(0x185)]||_0x12f956?.['originalUrl'],'path':_0x12f956?.[_0xa6cde7(0x1d5)],'ip':_0x12f956?.['ip']||_0x12f956?.[_0xa6cde7(0x179)]?.[_0xa6cde7(0x1b3)],'userAgent':_0x12f956?.[_0xa6cde7(0x1d6)]?.(_0xa6cde7(0x1fe)),'requestId':_0x12f956?.['id']||_0x12f956?.[_0xa6cde7(0x1bd)]?.[_0x42b1f9['sAHVg']],'body':_0x12f956?.[_0xa6cde7(0x19d)]?redactObject(_0x12f956[_0xa6cde7(0x19d)]):undefined,'query':_0x12f956?.[_0xa6cde7(0x1af)],..._0x117aff},_0x23cdfc=_0x1a208c[_0xa6cde7(0x173)]||_0x1a208c[_0xa6cde7(0x1a8)]||0x1f4,_0x11db43='HTTP\x20'+_0x23cdfc+':\x20'+_0x1a208c['message'];_0x42b1f9['QXYMw'](_0x23cdfc,0x1f4)?logger[_0xa6cde7(0x1eb)](_0x1d5d8a,_0x11db43):logger['warn'](_0x1d5d8a,_0x11db43),_0x42b1f9['PFlaQ'](writeToFileLog,{..._0x1d5d8a,'level':_0x23cdfc>=0x1f4?_0xa6cde7(0x1eb):_0xa6cde7(0x205),'msg':_0x11db43,'time':new Date()['toISOString']()},_0x23cdfc>=0x1f4?_0xa6cde7(0x1eb):_0xa6cde7(0x205));},logUncaughtError=(_0x430c04,_0x13afd3)=>{const _0x4da763=a0_0x3a0fef,_0x3bae60={'KxnfS':'Error','cqhxE':function(_0x147115,_0x1d06d9,_0x444320){return _0x147115(_0x1d06d9,_0x444320);},'THjpv':_0x4da763(0x1b4),'NxTRt':_0x4da763(0x1eb)},_0x115e3c={'event':_0x430c04,'errorName':_0x13afd3?.[_0x4da763(0x16b)]||_0x3bae60['KxnfS'],'errorMessage':_0x13afd3?.['message']||String(_0x13afd3),'errorCode':_0x13afd3?.[_0x4da763(0x1c5)]||null,'stack':_0x13afd3?.['stack'],'severity':'CRITICAL','processId':process['pid'],'memoryUsage':process['memoryUsage'](),'uptime':process['uptime']()},_0x40d3cd='['+_0x430c04['toUpperCase']()+']\x20'+(_0x13afd3?.[_0x4da763(0x20d)]||_0x13afd3);logger[_0x4da763(0x1b4)](_0x115e3c,_0x40d3cd),_0x3bae60['cqhxE'](writeToFileLog,{..._0x115e3c,'level':_0x3bae60['THjpv'],'msg':_0x40d3cd,'time':new Date()[_0x4da763(0x15e)]()},_0x3bae60['NxTRt']);},setupGlobalErrorHandlers=()=>{const _0x21d9f6=a0_0x3a0fef,_0x4385e6={'iVGiZ':function(_0x596187,_0x490594,_0x25bc8c){return _0x596187(_0x490594,_0x25bc8c);},'JcXrs':function(_0x2b4e98,_0x176f78){return _0x2b4e98 instanceof _0x176f78;},'fzUjA':_0x21d9f6(0x1ed),'PECrR':'warning','FxnMq':_0x21d9f6(0x168),'omuYe':function(_0x22fd39,_0x484dc1,_0x41efcd){return _0x22fd39(_0x484dc1,_0x41efcd);},'DIaiw':_0x21d9f6(0x1c3)};process['on'](_0x4385e6['fzUjA'],_0x2dac1a=>{const _0x1a6992=_0x21d9f6;_0x4385e6[_0x1a6992(0x1c7)](logUncaughtError,'uncaughtException',_0x2dac1a),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x21d9f6(0x20c),(_0x45ee09,_0x55010a)=>{const _0x3e37c4=_0x21d9f6,_0x5ea07e=_0x4385e6[_0x3e37c4(0x15c)](_0x45ee09,Error)?_0x45ee09:new Error(String(_0x45ee09));logUncaughtError('unhandledRejection',_0x5ea07e);}),process['on'](_0x4385e6['PECrR'],_0x3ceb63=>{const _0x21a271=_0x21d9f6;logger[_0x21a271(0x205)]({'event':_0x21a271(0x1b1),'name':_0x3ceb63['name'],'message':_0x3ceb63['message'],'stack':_0x3ceb63[_0x21a271(0x152)]},_0x21a271(0x1f6)+_0x3ceb63['message']);});const _0x1b4592={'event':_0x21d9f6(0x157)},_0x3bb842=_0x4385e6['FxnMq'];logger[_0x21d9f6(0x1c3)](_0x1b4592,_0x3bb842),_0x4385e6[_0x21d9f6(0x1fa)](writeToFileLog,{..._0x1b4592,'level':_0x4385e6[_0x21d9f6(0x1e1)],'msg':_0x3bb842,'time':new Date()['toISOString']()},_0x21d9f6(0x1c3));},createErrorHandlerMiddleware=()=>{return(_0x5f052a,_0x4529cb,_0x35b227,_0x15d653)=>{const _0x7c4d08=a0_0x10b9;logHttpError(_0x5f052a,_0x4529cb);const _0x9a88ef=_0x5f052a[_0x7c4d08(0x173)]||_0x5f052a[_0x7c4d08(0x1a8)]||0x1f4;_0x35b227['status'](_0x9a88ef)[_0x7c4d08(0x1ca)]({'success':![],'error':_0x9a88ef>=0x1f4?'Internal\x20server\x20error':_0x5f052a[_0x7c4d08(0x20d)],'requestId':_0x4529cb['id']||_0x4529cb['headers']?.[_0x7c4d08(0x1b2)]||null});};};module[a0_0x3a0fef(0x18c)]={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x18d008=a0_0x515a;(function(_0x2ae52d,_0x1207ca){const _0x4b8381=a0_0x515a,_0x3a411a=_0x2ae52d();while(!![]){try{const _0x28173d=parseInt(_0x4b8381(0x101))/0x1*(-parseInt(_0x4b8381(0x117))/0x2)+parseInt(_0x4b8381(0x112))/0x3+-parseInt(_0x4b8381(0x102))/0x4*(-parseInt(_0x4b8381(0x111))/0x5)+parseInt(_0x4b8381(0x104))/0x6*(parseInt(_0x4b8381(0x120))/0x7)+-parseInt(_0x4b8381(0x11a))/0x8+-parseInt(_0x4b8381(0x10f))/0x9*(-parseInt(_0x4b8381(0x108))/0xa)+-parseInt(_0x4b8381(0x10d))/0xb;if(_0x28173d===_0x1207ca)break;else _0x3a411a['push'](_0x3a411a['shift']());}catch(_0x5c5f6e){_0x3a411a['push'](_0x3a411a['shift']());}}}(a0_0x3404,0x64eee));const dbType=(process['env']['DB_TYPE']||'postgresql')['toLowerCase']();function a0_0x515a(_0x34364b,_0x686443){_0x34364b=_0x34364b-0xfc;const _0x340432=a0_0x3404();let _0x515a72=_0x340432[_0x34364b];if(a0_0x515a['ouCZnv']===undefined){var _0x24c06e=function(_0x24341b){const _0x235650='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4c3baf='',_0x5bcaae='';for(let _0x384057=0x0,_0x470878,_0x22464d,_0x1fdb0f=0x0;_0x22464d=_0x24341b['charAt'](_0x1fdb0f++);~_0x22464d&&(_0x470878=_0x384057%0x4?_0x470878*0x40+_0x22464d:_0x22464d,_0x384057++%0x4)?_0x4c3baf+=String['fromCharCode'](0xff&_0x470878>>(-0x2*_0x384057&0x6)):0x0){_0x22464d=_0x235650['indexOf'](_0x22464d);}for(let _0x15d039=0x0,_0x488fdf=_0x4c3baf['length'];_0x15d039<_0x488fdf;_0x15d039++){_0x5bcaae+='%'+('00'+_0x4c3baf['charCodeAt'](_0x15d039)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5bcaae);};a0_0x515a['Fstlqp']=_0x24c06e,a0_0x515a['qbQgBq']={},a0_0x515a['ouCZnv']=!![];}const _0x330b57=_0x340432[0x0],_0x1d278d=_0x34364b+_0x330b57,_0x151d65=a0_0x515a['qbQgBq'][_0x1d278d];return!_0x151d65?(_0x515a72=a0_0x515a['Fstlqp'](_0x515a72),a0_0x515a['qbQgBq'][_0x1d278d]=_0x515a72):_0x515a72=_0x151d65,_0x515a72;}let executeQuery;if(dbType==='oracle'){const oracleDb=require('./db-oracle');executeQuery=(_0x32b820,_0x3f2bb4)=>oracleDb[a0_0x18d008(0xfd)](_0x32b820,_0x3f2bb4);}else{if(dbType==='mysql'){const mysqlDb=require('./db-mysql');executeQuery=(_0x45f25a,_0x218a62)=>mysqlDb[a0_0x18d008(0xfd)](_0x45f25a,_0x218a62);}else executeQuery=require('./db')[a0_0x18d008(0xfd)];}function a0_0x3404(){const _0x5bba96=['mZuZmdqZmNHdBhnLyq','Aw5MBW','iIbUB3qGzM91BMqGAw4G','rwX2tMO','iezst00G','y2XLyxjdywnOzq','nte2ndK0m0v6sxLwBa','Bg9VA3vWx3rHyMXLx2XVywrLza','ChvZAa','z2v0','rvzoD2S','CMvZB2X2zuXVB2T1CfzHBhvL','Dg9mB3DLCKnHC2u','BgvUz3rO','zxHLy3v0zvf1zxj5','u0vmrunuia','BwvZC2fNzq','BwfW','ndi0mgzurwjzta','mJeWodqZnNzouejkCW','DhjPBq','nLbRz2zpAG','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','q1DwBxe','C2v0','mtbfu3vvteO','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','z2v0rgLZDgLUy3rwywX1zxm','Bg9HzeXVB2T1CfrHyMXL','zxHWB3j0CW','mZa4mJa3ovLmzenjtq','AgfZ','mtGZndm2mKXdyLfuwa','Dg9vChbLCKnHC2u','nwDtvMn2Aa','mtGXmZC3wLnksxv5','Bg9VA3vWq2fJAgu','A2v5CW','vMfSDwuGiG','zxjYB3i','mtG2AxrvAKjx','zM9YrwfJAa','y2XLyxi'];a0_0x3404=function(){return _0x5bba96;};return a0_0x3404();}const {logger}=require('./logger');class LookupResolver{constructor(){const _0x4dc978=a0_0x18d008;this[_0x4dc978(0x113)]=new Map();}[a0_0x18d008(0x11f)](){const _0x181dc3=a0_0x18d008,_0x3d15f3={'vPBUq':'lookup_cache_cleared'};this[_0x181dc3(0x113)][_0x181dc3(0x119)](),logger['debug']({'event':_0x3d15f3['vPBUq']},'Lookup\x20cache\x20cleared');}async['loadLookupTable'](_0x22c25f,_0x4f4909,_0x28ab63){const _0x26b0bf=a0_0x18d008,_0x11b455={'CWVmq':function(_0x46c8aa,_0x18e5ba){return _0x46c8aa!==_0x18e5ba;},'EVNwk':function(_0x4ac4f9,_0x579879){return _0x4ac4f9(_0x579879);}},_0x148c07=_0x22c25f+':'+_0x4f4909+':'+_0x28ab63;if(this[_0x26b0bf(0x113)]['has'](_0x148c07))return this[_0x26b0bf(0x113)]['get'](_0x148c07);try{const _0xb98eb6=_0x26b0bf(0xfe)+_0x28ab63+',\x20'+_0x4f4909+_0x26b0bf(0x11e)+_0x22c25f,_0x1c5975=await executeQuery(_0xb98eb6),_0x31b01b=new Map();return _0x1c5975[_0x26b0bf(0x118)](_0x8f5f74=>{const _0x6303d3=_0x26b0bf,_0x30de80=_0x8f5f74[_0x4f4909]!==undefined?_0x8f5f74[_0x4f4909]:_0x8f5f74[_0x4f4909['toUpperCase']()],_0x12a00e=_0x11b455[_0x6303d3(0x106)](_0x8f5f74[_0x28ab63],undefined)?_0x8f5f74[_0x28ab63]:_0x8f5f74[_0x28ab63[_0x6303d3(0x110)]()];_0x30de80!==null&&_0x11b455[_0x6303d3(0x106)](_0x30de80,undefined)&&(_0x31b01b[_0x6303d3(0x107)](_0x11b455[_0x6303d3(0x124)](String,_0x30de80)[_0x6303d3(0x126)]()['trim'](),_0x12a00e),_0x31b01b[_0x6303d3(0x107)](String(_0x30de80)[_0x6303d3(0x103)](),_0x12a00e));}),this['lookupCache'][_0x26b0bf(0x107)](_0x148c07,_0x31b01b),logger[_0x26b0bf(0x11b)]({'event':_0x26b0bf(0x121),'table':_0x22c25f,'column':_0x4f4909,'count':_0x1c5975[_0x26b0bf(0xfc)]},'Lookup\x20table\x20loaded:\x20'+_0x22c25f),_0x31b01b;}catch(_0x11b37e){logger[_0x26b0bf(0x116)]({'event':'lookup_table_load_error','table':_0x22c25f,'error':_0x11b37e[_0x26b0bf(0xff)]},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x22c25f);throw _0x11b37e;}}['resolveLookupValue'](_0x3ac9a9,_0x565067){const _0xb05fd5=a0_0x18d008,_0x49369e={'sZSOY':function(_0x4fd7d6,_0x23337b){return _0x4fd7d6===_0x23337b;},'mmzix':function(_0x376809,_0x3e2767){return _0x376809===_0x3e2767;},'CTrqt':function(_0x2633a8,_0x34a103){return _0x2633a8(_0x34a103);}};if(_0x3ac9a9===null||_0x49369e['sZSOY'](_0x3ac9a9,undefined)||_0x49369e['mmzix'](_0x3ac9a9,''))return null;const _0x103cbd=_0x49369e['CTrqt'](String,_0x3ac9a9)[_0xb05fd5(0x103)]();if(_0x565067[_0xb05fd5(0x10e)](_0x103cbd))return _0x565067[_0xb05fd5(0x123)](_0x103cbd);const _0x39c446=_0x103cbd[_0xb05fd5(0x126)]();if(_0x565067['has'](_0x39c446))return _0x565067['get'](_0x39c446);return null;}async['processLookupFields'](_0x10615a,_0x48a901){const _0xe884e5=a0_0x18d008,_0x307d97={'UDFMn':function(_0x1dcb59,_0x12491c){return _0x1dcb59!==_0x12491c;},'FfDUK':function(_0x52340b,_0x4fc2f6){return _0x52340b===_0x4fc2f6;},'ElvNj':'Lookup\x20fields\x20processed'};if(!_0x48a901||_0x307d97['FfDUK'](Object['keys'](_0x48a901)[_0xe884e5(0xfc)],0x0))return{'processedRows':_0x10615a,'errors':[]};const _0x1438e6=[],_0x276865=new Map();for(const [_0x221b20,_0x305b36]of Object['entries'](_0x48a901)){const {lookupTable:_0x594570,lookupColumn:_0x123cf2,lookupIdColumn:_0x1a3eac}=_0x305b36,_0x42ed1a=_0x594570+':'+_0x123cf2+':'+_0x1a3eac;if(!_0x276865['has'](_0x42ed1a)){const _0x47e115=await this[_0xe884e5(0x10b)](_0x594570,_0x123cf2,_0x1a3eac);_0x276865[_0xe884e5(0x107)](_0x42ed1a,_0x47e115);}}const _0x94d3ea=_0x10615a[_0xe884e5(0x100)]((_0x591614,_0x4abe3a)=>{const _0x2c7bb4=_0xe884e5,_0x59c13d={..._0x591614};for(const [_0x459da1,_0x282822]of Object['entries'](_0x48a901)){const {lookupTable:_0x24438c,lookupColumn:_0x32f974,lookupIdColumn:_0x43f5f7,targetField:_0x4df695,required:_0xa951ca}=_0x282822,_0x5a46b7=_0x24438c+':'+_0x32f974+':'+_0x43f5f7,_0x44f2f3=_0x276865['get'](_0x5a46b7),_0x37007c=_0x591614[_0x459da1];if((_0x37007c===null||_0x37007c===undefined||_0x37007c==='')&&!_0xa951ca){_0x59c13d[_0x4df695]=null;continue;}const _0x181c94=this[_0x2c7bb4(0x125)](_0x37007c,_0x44f2f3);_0x307d97['UDFMn'](_0x181c94,null)?_0x59c13d[_0x4df695]=_0x181c94:(_0xa951ca&&_0x1438e6[_0x2c7bb4(0x122)]({'rowIndex':_0x4abe3a,'field':_0x459da1,'value':_0x37007c,'targetField':_0x4df695,'lookupTable':_0x24438c,'message':_0x2c7bb4(0x115)+_0x37007c+_0x2c7bb4(0x11c)+_0x24438c}),_0x59c13d[_0x4df695]=null);}return _0x59c13d;});return logger['info']({'event':_0xe884e5(0x105),'totalRows':_0x10615a['length'],'errorCount':_0x1438e6['length'],'lookupFieldCount':Object[_0xe884e5(0x114)](_0x48a901)[_0xe884e5(0xfc)]},_0x307d97[_0xe884e5(0x11d)]),{'processedRows':_0x94d3ea,'errors':_0x1438e6};}[a0_0x18d008(0x10a)](_0x4eb22d,_0x4176a0){const _0x1d1337=a0_0x18d008,_0x373445=new Set();return _0x4eb22d[_0x1d1337(0x118)](_0x596eea=>{const _0x37f9db=_0x1d1337,_0x3202f7=_0x596eea[_0x4176a0];_0x3202f7!==null&&_0x3202f7!==undefined&&_0x3202f7!==''&&_0x373445['add'](String(_0x3202f7)[_0x37f9db(0x103)]());}),Array['from'](_0x373445);}async['validateLookupValues'](_0x58f653,_0x4abc3c){const _0x32fff2=a0_0x18d008,_0x825dfe={'bAdxf':function(_0x3bf3f2,_0xaf6db0){return _0x3bf3f2===_0xaf6db0;}};if(!_0x4abc3c||Object['keys'](_0x4abc3c)[_0x32fff2(0xfc)]===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x13e8e0=[],_0x48403b={};for(const [_0x1a9a62,_0x24f2fa]of Object['entries'](_0x4abc3c)){const {lookupTable:_0x551366,lookupColumn:_0x26b509,lookupIdColumn:_0x34db1e,required:_0x414d67}=_0x24f2fa,_0x43ce31=this[_0x32fff2(0x10a)](_0x58f653,_0x1a9a62),_0x2f4b0a=await this[_0x32fff2(0x10b)](_0x551366,_0x26b509,_0x34db1e),_0x41db0b=[],_0x151f7e=[];_0x43ce31[_0x32fff2(0x118)](_0x3e1546=>{const _0x26f5e0=_0x32fff2,_0x5951c5=this['resolveLookupValue'](_0x3e1546,_0x2f4b0a);_0x5951c5!==null?_0x151f7e['push'](_0x3e1546):_0x41db0b[_0x26f5e0(0x122)](_0x3e1546);});if(_0x41db0b['length']>0x0&&_0x414d67){_0x13e8e0['push']({'field':_0x1a9a62,'lookupTable':_0x551366,'invalidValues':_0x41db0b,'message':_0x41db0b[_0x32fff2(0xfc)]+_0x32fff2(0x109)+_0x551366});const _0x533abd=[];_0x2f4b0a[_0x32fff2(0x118)]((_0x357978,_0x118be8)=>{const _0x3d3431=_0x32fff2;if(_0x825dfe['bAdxf'](_0x118be8,_0x118be8['toLowerCase']()))return;_0x533abd[_0x3d3431(0x122)](_0x118be8);}),_0x48403b[_0x1a9a62]={'invalidValues':_0x41db0b,'availableValues':_0x533abd['slice'](0x0,0x32)};}}return{'valid':_0x13e8e0['length']===0x0,'errors':_0x13e8e0,'suggestions':_0x48403b};}}module[a0_0x18d008(0x10c)]=new LookupResolver();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a0_0x59a4(){const _0x5a9bc1=['zgf0yxrHyMXLC1f1zxj5','lwv4Cg9YDa','odbUwfb2te0','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','DxrMoa','rfPOy0u','CMvHzezPBgu','y2XLyxjdywnOzq','CgfYC2u','EufQzKW','DgfIBgvoyw1L','mtCWmJC1n2HswgfhtG','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','mJi0odKYnLPouKPsBW','ndy4nJm4yK1NtuHw','mJC3mdmZnKnTCvLRDq','Aw5MBW','zgvIDwC','BwvZC2fNzq','ugf5Bg9HzcbUB3qGzM91BMq6ia','s3fnrKC','oufpze95BG','AgfZ','Cgf5Bg9HzerPCG','Cgf0Aa','mZiXnZmWqu5luu12','oteWndCYnefbBMn1BW','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','Cgf5Bg9Hzf9SB2fKzwq','AM9PBG','zMLLBgroyw1L','y2fJAgu','C2v0','CMvWBgfJzq','mti0nZiWCgnsCfDg'];a0_0x59a4=function(){return _0x5a9bc1;};return a0_0x59a4();}const a0_0xd86b06=a0_0x43b6;function a0_0x43b6(_0x2c93fc,_0x4129f4){_0x2c93fc=_0x2c93fc-0x183;const _0x59a481=a0_0x59a4();let _0x43b69d=_0x59a481[_0x2c93fc];if(a0_0x43b6['FQDJCa']===undefined){var _0x467aec=function(_0x45c981){const _0x3cce53='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xe6b606='',_0x53e0a0='';for(let _0x51d08c=0x0,_0x546e7e,_0x5119dd,_0x1f0561=0x0;_0x5119dd=_0x45c981['charAt'](_0x1f0561++);~_0x5119dd&&(_0x546e7e=_0x51d08c%0x4?_0x546e7e*0x40+_0x5119dd:_0x5119dd,_0x51d08c++%0x4)?_0xe6b606+=String['fromCharCode'](0xff&_0x546e7e>>(-0x2*_0x51d08c&0x6)):0x0){_0x5119dd=_0x3cce53['indexOf'](_0x5119dd);}for(let _0xd2e6e7=0x0,_0x45b920=_0xe6b606['length'];_0xd2e6e7<_0x45b920;_0xd2e6e7++){_0x53e0a0+='%'+('00'+_0xe6b606['charCodeAt'](_0xd2e6e7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x53e0a0);};a0_0x43b6['ayKkrF']=_0x467aec,a0_0x43b6['jQYqvB']={},a0_0x43b6['FQDJCa']=!![];}const _0x1ffd4e=_0x59a481[0x0],_0x5e2468=_0x2c93fc+_0x1ffd4e,_0x371f94=a0_0x43b6['jQYqvB'][_0x5e2468];return!_0x371f94?(_0x43b69d=a0_0x43b6['ayKkrF'](_0x43b69d),a0_0x43b6['jQYqvB'][_0x5e2468]=_0x43b69d):_0x43b69d=_0x371f94,_0x43b69d;}(function(_0x23e668,_0x1aad53){const _0x5f36f2=a0_0x43b6,_0x4f62f0=_0x23e668();while(!![]){try{const _0x2c931f=-parseInt(_0x5f36f2(0x190))/0x1+-parseInt(_0x5f36f2(0x19b))/0x2*(parseInt(_0x5f36f2(0x197))/0x3)+parseInt(_0x5f36f2(0x184))/0x4*(parseInt(_0x5f36f2(0x1a4))/0x5)+parseInt(_0x5f36f2(0x18f))/0x6+-parseInt(_0x5f36f2(0x18d))/0x7+-parseInt(_0x5f36f2(0x191))/0x8+parseInt(_0x5f36f2(0x19c))/0x9;if(_0x2c931f===_0x1aad53)break;else _0x4f62f0['push'](_0x4f62f0['shift']());}catch(_0x3bc36e){_0x4f62f0['push'](_0x4f62f0['shift']());}}}(a0_0x59a4,0x541f1));const fs=require('fs')['promises'],path=require(a0_0xd86b06(0x19a)),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x649864=a0_0xd86b06,_0x51a4b6={'GvCgz':'../../payload'};this[_0x649864(0x199)]=path['join'](__dirname,_0x51a4b6['GvCgz']),this['cache']=new Map();}async['loadPayload'](_0x477378,_0x3dd1f9){const _0x153275=a0_0xd86b06,_0x37967e=_0x477378+':'+_0x3dd1f9;if(this[_0x153275(0x1a1)][_0x153275(0x198)](_0x37967e))return this[_0x153275(0x1a1)]['get'](_0x37967e);const _0x3ffb34=path[_0x153275(0x19f)](this['payloadDir'],_0x477378+'_'+_0x3dd1f9+'.json');try{const _0xc723b6=await fs['readFile'](_0x3ffb34,'utf8'),_0x10c84f=JSON[_0x153275(0x18a)](_0xc723b6);return this[_0x153275(0x1a1)][_0x153275(0x1a2)](_0x37967e,_0x10c84f),logger['debug']({'event':_0x153275(0x19e),'project':_0x477378,'resource':_0x3dd1f9},'Payload\x20loaded\x20successfully'),_0x10c84f;}catch(_0x3a1d16){logger['error']({'event':_0x153275(0x18e),'project':_0x477378,'resource':_0x3dd1f9,'error':_0x3a1d16[_0x153275(0x194)]},_0x153275(0x185));throw new Error(_0x153275(0x195)+_0x477378+'_'+_0x3dd1f9);}}async['loadPayloadByName'](_0x2b3475){const _0x3f5f6b=a0_0xd86b06,_0x276a4a={'DZhcE':_0x3f5f6b(0x19e),'yAjfL':'Payload\x20loaded\x20successfully\x20by\x20name'},_0x4293b3='payload:'+_0x2b3475;if(this['cache'][_0x3f5f6b(0x198)](_0x4293b3))return this['cache']['get'](_0x4293b3);const _0x3db120=path['join'](this[_0x3f5f6b(0x199)],_0x2b3475+'.json');try{const _0x524d6b=await fs[_0x3f5f6b(0x188)](_0x3db120,_0x3f5f6b(0x186)),_0x2a4d5d=JSON[_0x3f5f6b(0x18a)](_0x524d6b);return this['cache']['set'](_0x4293b3,_0x2a4d5d),logger[_0x3f5f6b(0x193)]({'event':_0x276a4a[_0x3f5f6b(0x187)],'payloadName':_0x2b3475},_0x276a4a[_0x3f5f6b(0x18b)]),_0x2a4d5d;}catch(_0x22abbc){logger['error']({'event':'payload_load_error','payloadName':_0x2b3475,'error':_0x22abbc[_0x3f5f6b(0x194)]},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error(_0x3f5f6b(0x195)+_0x2b3475);}}['isActionEnabled'](_0x487842,_0x5c79a0){return _0x487842['action']&&_0x487842['action'][_0x5c79a0]===!![];}['getExportConfig'](_0xc120e4){const _0x2c9a57=a0_0xd86b06;return{'columns':_0xc120e4[_0x2c9a57(0x1a0)]||[],'filename':_0xc120e4[_0x2c9a57(0x18c)][_0x2c9a57(0x1a3)]('.','-')+_0x2c9a57(0x183),'datatablesQuery':_0xc120e4[_0x2c9a57(0x1a5)]||null,'columnFormats':_0xc120e4['columnFormats']||null,'fieldLabels':_0xc120e4['fieldLabels']||null};}[a0_0xd86b06(0x189)](){const _0x5c8b93=a0_0xd86b06,_0x56bfbb={'uXyxW':_0x5c8b93(0x19d),'KqMFG':'Payload\x20cache\x20cleared'};this[_0x5c8b93(0x1a1)]['clear'](),logger[_0x5c8b93(0x192)]({'event':_0x56bfbb['uXyxW']},_0x56bfbb[_0x5c8b93(0x196)]);}}module['exports']=new PayloadLoader();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';function a0_0x1578(){var _0x4f7b10=['nduWs2LuBfbi','zxHWB3j0CW','mJaXmKHnq3DRvG','mJyXody4ohfWtKH1vG','Dg9ju09tDhjPBMC','mtC2DND2q0Lm','ntmXmdKYmgT6DNzICG','nJGZmJG2ogrJt3vNDW','odC4wfLjEg5v','ntC4nJe5zMXeChDU','mtq3nZj3r2jPsK4','oti2nJu2wNjruvfs'];a0_0x1578=function(){return _0x4f7b10;};return a0_0x1578();}var a0_0x4ade46=a0_0x10e6;(function(_0x342978,_0x288072){var _0x560525=a0_0x10e6,_0x2c0768=_0x342978();while(!![]){try{var _0x2c5bda=parseInt(_0x560525(0x16a))/0x1*(-parseInt(_0x560525(0x164))/0x2)+-parseInt(_0x560525(0x165))/0x3+-parseInt(_0x560525(0x161))/0x4+-parseInt(_0x560525(0x162))/0x5*(parseInt(_0x560525(0x16c))/0x6)+parseInt(_0x560525(0x169))/0x7+parseInt(_0x560525(0x167))/0x8*(parseInt(_0x560525(0x16b))/0x9)+parseInt(_0x560525(0x168))/0xa;if(_0x2c5bda===_0x288072)break;else _0x2c0768['push'](_0x2c0768['shift']());}catch(_0x54cffe){_0x2c0768['push'](_0x2c0768['shift']());}}}(a0_0x1578,0xade12));function a0_0x10e6(_0xea0388,_0x2fed22){_0xea0388=_0xea0388-0x161;var _0x1578ff=a0_0x1578();var _0x10e66d=_0x1578ff[_0xea0388];if(a0_0x10e6['VvKFHZ']===undefined){var _0x5cae94=function(_0x357f74){var _0x4ae1f7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x4d4c4c='',_0x3c55dd='';for(var _0x4626cd=0x0,_0x3345f9,_0x3d0fca,_0x1484a9=0x0;_0x3d0fca=_0x357f74['charAt'](_0x1484a9++);~_0x3d0fca&&(_0x3345f9=_0x4626cd%0x4?_0x3345f9*0x40+_0x3d0fca:_0x3d0fca,_0x4626cd++%0x4)?_0x4d4c4c+=String['fromCharCode'](0xff&_0x3345f9>>(-0x2*_0x4626cd&0x6)):0x0){_0x3d0fca=_0x4ae1f7['indexOf'](_0x3d0fca);}for(var _0x1b812f=0x0,_0x367f0a=_0x4d4c4c['length'];_0x1b812f<_0x367f0a;_0x1b812f++){_0x3c55dd+='%'+('00'+_0x4d4c4c['charCodeAt'](_0x1b812f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3c55dd);};a0_0x10e6['YbgEzb']=_0x5cae94,a0_0x10e6['NPEKRt']={},a0_0x10e6['VvKFHZ']=!![];}var _0x12e890=_0x1578ff[0x0],_0x5b87ef=_0xea0388+_0x12e890,_0x265a7b=a0_0x10e6['NPEKRt'][_0x5b87ef];return!_0x265a7b?(_0x10e66d=a0_0x10e6['YbgEzb'](_0x10e66d),a0_0x10e6['NPEKRt'][_0x5b87ef]=_0x10e66d):_0x10e66d=_0x265a7b,_0x10e66d;}function createResponse(_0x388690,_0xda3547,_0x40afc3=null){return{'success':!![],'statusCode':_0x388690,'message':_0xda3547,'data':_0x40afc3,'timestamp':new Date()['toISOString']()};}function createError(_0x294002,_0x5e9c77,_0x14e739=null){var _0xf0e0a=a0_0x10e6;return{'success':![],'statusCode':_0x294002,'message':_0x5e9c77,'data':_0x14e739,'timestamp':new Date()[_0xf0e0a(0x166)]()};}function createValidationError(_0xa7cea6,_0x5c88e0){return{'success':![],'statusCode':0x190,'message':_0xa7cea6,'data':{'errors':_0x5c88e0},'timestamp':new Date()['toISOString']()};}module[a0_0x4ade46(0x163)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
|
package/src/utils/rabbitmq.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a0_0x176102=a0_0x2f5a;function a0_0x2f5a(_0x48d43f,_0x274009){_0x48d43f=_0x48d43f-0x85;const _0x23bb08=a0_0x23bb();let _0x2f5a48=_0x23bb08[_0x48d43f];if(a0_0x2f5a['NcPCBu']===undefined){var _0x172574=function(_0x3e1c3b){const _0x45b6de='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1ada8f='',_0x2fa78f='';for(let _0x208b90=0x0,_0x373ac9,_0x511251,_0x2fa7be=0x0;_0x511251=_0x3e1c3b['charAt'](_0x2fa7be++);~_0x511251&&(_0x373ac9=_0x208b90%0x4?_0x373ac9*0x40+_0x511251:_0x511251,_0x208b90++%0x4)?_0x1ada8f+=String['fromCharCode'](0xff&_0x373ac9>>(-0x2*_0x208b90&0x6)):0x0){_0x511251=_0x45b6de['indexOf'](_0x511251);}for(let _0x1a9b86=0x0,_0x963480=_0x1ada8f['length'];_0x1a9b86<_0x963480;_0x1a9b86++){_0x2fa78f+='%'+('00'+_0x1ada8f['charCodeAt'](_0x1a9b86)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2fa78f);};a0_0x2f5a['faIBbl']=_0x172574,a0_0x2f5a['jgwQio']={},a0_0x2f5a['NcPCBu']=!![];}const _0x26f6fb=_0x23bb08[0x0],_0x188434=_0x48d43f+_0x26f6fb,_0x4ed541=a0_0x2f5a['jgwQio'][_0x188434];return!_0x4ed541?(_0x2f5a48=a0_0x2f5a['faIBbl'](_0x2f5a48),a0_0x2f5a['jgwQio'][_0x188434]=_0x2f5a48):_0x2f5a48=_0x4ed541,_0x2f5a48;}(function(_0x16091c,_0x1d790f){const _0xfc2eed=a0_0x2f5a,_0x39fa77=_0x16091c();while(!![]){try{const _0xcc9082=-parseInt(_0xfc2eed(0xb6))/0x1+parseInt(_0xfc2eed(0xaa))/0x2+parseInt(_0xfc2eed(0xa5))/0x3*(parseInt(_0xfc2eed(0xae))/0x4)+parseInt(_0xfc2eed(0x99))/0x5*(parseInt(_0xfc2eed(0x90))/0x6)+parseInt(_0xfc2eed(0xac))/0x7+-parseInt(_0xfc2eed(0xb8))/0x8*(parseInt(_0xfc2eed(0x96))/0x9)+-parseInt(_0xfc2eed(0xb7))/0xa*(parseInt(_0xfc2eed(0xad))/0xb);if(_0xcc9082===_0x1d790f)break;else _0x39fa77['push'](_0x39fa77['shift']());}catch(_0x412b37){_0x39fa77['push'](_0x39fa77['shift']());}}}(a0_0x23bb,0xe2bd6),require(a0_0x176102(0x97))['config']());const amqp=require('amqplib'),{formatDate}=require(a0_0x176102(0x98)),RABBITMQ_URL=process[a0_0x176102(0x8c)]['RABBITMQ_URL'],EXCHANGE=process['env'][a0_0x176102(0x93)],ROUTING_KEY=process[a0_0x176102(0x8c)][a0_0x176102(0xab)],QUEUE=process[a0_0x176102(0x8c)]['RABBITMQ_QUEUE'];async function createConnection(){const _0x12fb86=a0_0x176102,_0x5ce19a={'WbBGT':function(_0x56a9ca,_0x48f396){return _0x56a9ca(_0x48f396);}};try{const _0x5f51f2=await amqp['connect'](RABBITMQ_URL);return console[_0x12fb86(0xa8)]('['+formatDate(new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x5f51f2;}catch(_0x4f3315){console['error']('['+_0x5ce19a['WbBGT'](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x4f3315['message']);throw _0x4f3315;}}function a0_0x23bb(){const _0x4ed1d4=['zxjYB3i','zw52','Aw5LCxvPDMfSzw50igfYzW','y2XVC2u','zwDWB0q','mJu5mZG2DhLNBNHU','rvLNveO','ksbJCMvHDgvK','uKfcqKLutvfFrvHdsefor0u','tLDVB2W','yMLUzff1zxvL','otqXng5crxjcsW','zg90zw52','lI9KyxrLsgvSCgvY','nJvXDxPqzvO','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','Aw5JBhvKzxm','y3jLyxrLzc9YzwfKEq','yxnZzxj0rxHJAgfUz2u','zxHPDa','Dwr4s1e','zM91BMq','m1rbDgDntq','ignYzwf0zwq','xsbfEgnOyw5Nzsa','Bg9N','xsbszxrYEsbIAw5KAw5NigzVCIa','mtG4mty0mLb3s0rcuq','uKfcqKLutvfFuK9vveLor19lrvK','mte5mZaZodDuEeLhz20','ndrdrfzuwxC','mJi2ndK0nfn0r2zjvW','uxvLDwuG','ignYzwf0zwqVCMvHzhK','qMLzDgK','xsbfuLjpuJOGuxvLDwuG','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG','BwvZC2fNzq','odG0otG1r2vzv3ns','mJyWntG3mef3CwPzDG','nZaXnMHjq09Pyq','yvfPAuC','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','CMv0CNKTzxHJAgfUz2u','Cw96A3a','zxHWB3j0CW','zgLYzwn0'];a0_0x23bb=function(){return _0x4ed1d4;};return a0_0x23bb();}async function createChannel(_0x3e25b7){const _0x40e620=a0_0x176102,_0x30499f={'udxKQ':function(_0x2fc64f,_0x1e75ca){return _0x2fc64f(_0x1e75ca);}};try{const _0x102711=await _0x3e25b7['createChannel']();return console[_0x40e620(0xa8)]('['+formatDate(new Date())+_0x40e620(0x9b)),_0x102711;}catch(_0xc1ce8c){console['error']('['+_0x30499f[_0x40e620(0xa3)](formatDate,new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0xc1ce8c['message']);throw _0xc1ce8c;}}async function setupInfrastructure(_0x2b6ee2){const _0x3ae512=a0_0x176102,_0x30a3af={'egpoD':_0x3ae512(0x87),'qozkp':function(_0x5c3bf9,_0x479054){return _0x5c3bf9(_0x479054);},'NWool':function(_0x47c2e3,_0xeea273){return _0x47c2e3(_0xeea273);},'BiYti':function(_0x1412ee,_0x359b84){return _0x1412ee(_0x359b84);},'wdkAH':function(_0x1f4d69,_0x1f0a4d){return _0x1f4d69===_0x1f0a4d;},'BjqYe':_0x3ae512(0xa0),'EYgTJ':'inequivalent\x20arg'};try{await _0x2b6ee2[_0x3ae512(0xa1)](_0x30a3af[_0x3ae512(0x8f)],_0x3ae512(0x8a),{'durable':!![],'autoDelete':![]}),console[_0x3ae512(0xa8)]('['+_0x30a3af[_0x3ae512(0x88)](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x361b95){console[_0x3ae512(0x8b)]('['+_0x30a3af[_0x3ae512(0x88)](formatDate,new Date())+_0x3ae512(0xb3),_0x361b95['message']);throw _0x361b95;}try{await _0x2b6ee2['assertExchange'](EXCHANGE,'direct',{'durable':!![],'autoDelete':![]}),console[_0x3ae512(0xa8)]('['+_0x30a3af[_0x3ae512(0x88)](formatDate,new Date())+_0x3ae512(0xa7)+EXCHANGE+_0x3ae512(0xb0));}catch(_0x3eb3e7){console[_0x3ae512(0x8b)]('['+_0x30a3af[_0x3ae512(0x94)](formatDate,new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x3eb3e7[_0x3ae512(0xb5)]);throw _0x3eb3e7;}const _0x499e5f=ROUTING_KEY+'_retry';try{const _0x13938e={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x2b6ee2['assertQueue'](_0x499e5f,_0x13938e),console[_0x3ae512(0xa8)]('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0x499e5f+'\x20created/ready'),await _0x2b6ee2[_0x3ae512(0x95)](_0x499e5f,_0x30a3af['egpoD'],ROUTING_KEY),console[_0x3ae512(0xa8)]('['+formatDate(new Date())+_0x3ae512(0xa9)+ROUTING_KEY+_0x3ae512(0xa6));}catch(_0x2a1029){console[_0x3ae512(0x8b)]('['+_0x30a3af[_0x3ae512(0x94)](formatDate,new Date())+_0x3ae512(0x86),_0x2a1029[_0x3ae512(0xb5)]);throw _0x2a1029;}try{const _0x16db30={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x30a3af[_0x3ae512(0x8f)],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x3ea7a5=await _0x2b6ee2['assertQueue'](QUEUE,_0x16db30);console[_0x3ae512(0xa8)]('['+_0x30a3af[_0x3ae512(0xb1)](formatDate,new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x30a3af['wdkAH'](_0x3ea7a5['queue'],QUEUE)?_0x30a3af['BjqYe']:_0x3ae512(0xa4))+'\x20with\x20DLX'),await _0x2b6ee2['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x3ae512(0xa8)]('['+formatDate(new Date())+']\x20Binding\x20'+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+_0x3ae512(0x92));}catch(_0x5366b9){if(_0x5366b9['message'][_0x3ae512(0x9f)](_0x3ae512(0x8d))&&_0x5366b9[_0x3ae512(0xb5)][_0x3ae512(0x9f)]('x-dead-letter-routing-key'))console['error']('\x0a['+formatDate(new Date())+_0x3ae512(0xb2)+QUEUE+_0x3ae512(0x9d)),console[_0x3ae512(0x8b)](_0x3ae512(0xaf)+QUEUE+_0x3ae512(0x9e)),console[_0x3ae512(0x8b)](_0x3ae512(0xb4)),process['exit'](0x1);else{console['error']('['+formatDate(new Date())+_0x3ae512(0x9c)+QUEUE+':',_0x5366b9[_0x3ae512(0xb5)]);throw _0x5366b9;}}}catch(_0x2db2fa){if(!_0x2db2fa[_0x3ae512(0xb5)][_0x3ae512(0x9f)](_0x30a3af[_0x3ae512(0x91)])){console[_0x3ae512(0x8b)]('['+formatDate(new Date())+_0x3ae512(0x9a),_0x2db2fa['message']);throw _0x2db2fa;}process[_0x3ae512(0xa2)](0x1);}}async function closeConnection(_0x1a0794){const _0x597790=a0_0x176102,_0x24bc21={'aQiiG':function(_0x57643c,_0x3e97b0){return _0x57643c(_0x3e97b0);}};if(_0x1a0794)try{await _0x1a0794[_0x597790(0x8e)](),console['log']('['+_0x24bc21[_0x597790(0x85)](formatDate,new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x327bd8){console['error']('['+_0x24bc21['aQiiG'](formatDate,new Date())+']\x20Failed\x20to\x20close\x20RabbitMQ\x20connection:\x20'+_0x327bd8['message']);}}module[a0_0x176102(0x89)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x5af08f=a0_0x1430;(function(_0xda6784,_0x104dab){const _0x176518=a0_0x1430,_0x3b6f6b=_0xda6784();while(!![]){try{const _0x514ec8=parseInt(_0x176518(0x151))/0x1*(-parseInt(_0x176518(0x14c))/0x2)+-parseInt(_0x176518(0x13e))/0x3*(-parseInt(_0x176518(0x159))/0x4)+parseInt(_0x176518(0x145))/0x5*(-parseInt(_0x176518(0x138))/0x6)+parseInt(_0x176518(0x13a))/0x7+-parseInt(_0x176518(0x15a))/0x8*(parseInt(_0x176518(0x143))/0x9)+parseInt(_0x176518(0x139))/0xa*(parseInt(_0x176518(0x13d))/0xb)+parseInt(_0x176518(0x13f))/0xc;if(_0x514ec8===_0x104dab)break;else _0x3b6f6b['push'](_0x3b6f6b['shift']());}catch(_0x3e3873){_0x3b6f6b['push'](_0x3b6f6b['shift']());}}}(a0_0x3181,0x687cd));const Redis=require(a0_0x5af08f(0x14e)),{logger}=require(a0_0x5af08f(0x149));class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}[a0_0x5af08f(0x154)](){const _0x1fff53=a0_0x5af08f,_0x365fe5={'KoAHv':'redis_connected','pSAZC':'Redis\x20connected\x20successfully','slIwA':function(_0x5c2c15,_0x418a9a,_0x349703){return _0x5c2c15(_0x418a9a,_0x349703);},'CUeTu':'connect','ftWdk':'close','YXqHe':'redis_init_error'};if(this['client'])return this['client'];try{return this['client']=new Redis({'host':process['env'][_0x1fff53(0x14a)]||'localhost','port':parseInt(process[_0x1fff53(0x156)]['REDIS_PORT'],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':_0x365fe5[_0x1fff53(0x144)](parseInt,process[_0x1fff53(0x156)][_0x1fff53(0x14f)],0xa)||0x0,'retryStrategy'(_0x4180af){const _0x5fbcff=_0x1fff53,_0xadffdf=Math[_0x5fbcff(0x146)](_0x4180af*0x32,0x7d0);return _0xadffdf;}}),this['client']['on'](_0x365fe5['CUeTu'],()=>{const _0x5cd1c0=_0x1fff53;this[_0x5cd1c0(0x150)]=!![],logger[_0x5cd1c0(0x155)]({'event':_0x365fe5['KoAHv']},_0x365fe5['pSAZC']);}),this['client']['on']('error',_0x4ea4f0=>{const _0x2267fb=_0x1fff53;this['isConnected']=![],logger[_0x2267fb(0x141)]({'event':'redis_error','error':_0x4ea4f0[_0x2267fb(0x152)]},_0x2267fb(0x13c)+_0x4ea4f0[_0x2267fb(0x152)]);}),this['client']['on'](_0x365fe5['ftWdk'],()=>{const _0x44e705=_0x1fff53;this[_0x44e705(0x150)]=![],logger[_0x44e705(0x157)]({'event':'redis_disconnected'},'Redis\x20connection\x20closed');}),this['client'];}catch(_0x4cbcb3){logger['error']({'event':_0x365fe5['YXqHe'],'error':_0x4cbcb3['message']},_0x1fff53(0x140));throw _0x4cbcb3;}}['getClient'](){const _0x1ac4c7=a0_0x5af08f;return!this[_0x1ac4c7(0x147)]&&this[_0x1ac4c7(0x154)](),this[_0x1ac4c7(0x147)];}async['ping'](_0x145382=0x1388){const _0x4285e3=a0_0x5af08f,_0xa8ae2f={'jVvVy':_0x4285e3(0x148)};try{const _0x532452=this[_0x4285e3(0x14b)](),_0x32e75c=await Promise['race']([_0x532452[_0x4285e3(0x14d)](),new Promise((_0x3d0714,_0x110411)=>setTimeout(()=>_0x110411(new Error(_0x4285e3(0x142))),_0x145382))]);return _0x32e75c===_0xa8ae2f[_0x4285e3(0x158)];}catch(_0x348f48){return![];}}async[a0_0x5af08f(0x13b)](){const _0x1c2be6=a0_0x5af08f;this[_0x1c2be6(0x147)]&&(await this['client']['quit'](),this[_0x1c2be6(0x147)]=null,this[_0x1c2be6(0x150)]=![]);}[a0_0x5af08f(0x153)](){const _0x461816=a0_0x5af08f;this[_0x461816(0x147)]&&(this[_0x461816(0x147)]['disconnect'](),this['client']=null,this[_0x461816(0x150)]=![]);}}module['exports']=new RedisClient();function a0_0x1430(_0x316b4a,_0x4f6064){_0x316b4a=_0x316b4a-0x138;const _0x318133=a0_0x3181();let _0x14308c=_0x318133[_0x316b4a];if(a0_0x1430['UuRlVR']===undefined){var _0x1216aa=function(_0x42f67a){const _0x738dc7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3e6bab='',_0x4daba4='';for(let _0x792716=0x0,_0x1ff5c5,_0x41273d,_0x1cfb9d=0x0;_0x41273d=_0x42f67a['charAt'](_0x1cfb9d++);~_0x41273d&&(_0x1ff5c5=_0x792716%0x4?_0x1ff5c5*0x40+_0x41273d:_0x41273d,_0x792716++%0x4)?_0x3e6bab+=String['fromCharCode'](0xff&_0x1ff5c5>>(-0x2*_0x792716&0x6)):0x0){_0x41273d=_0x738dc7['indexOf'](_0x41273d);}for(let _0x53efe6=0x0,_0x19a4dc=_0x3e6bab['length'];_0x53efe6<_0x19a4dc;_0x53efe6++){_0x4daba4+='%'+('00'+_0x3e6bab['charCodeAt'](_0x53efe6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4daba4);};a0_0x1430['ZJyMIf']=_0x1216aa,a0_0x1430['JZYzTq']={},a0_0x1430['UuRlVR']=!![];}const _0x121633=_0x318133[0x0],_0x17f480=_0x316b4a+_0x121633,_0x43eaff=a0_0x1430['JZYzTq'][_0x17f480];return!_0x43eaff?(_0x14308c=a0_0x1430['ZJyMIf'](_0x14308c),a0_0x1430['JZYzTq'][_0x17f480]=_0x14308c):_0x14308c=_0x43eaff,_0x14308c;}function a0_0x3181(){const _0x3dda58=['uKvesvnFse9tva','z2v0q2XPzw50','mti3mtK4sLHTrujr','CgLUzW','Aw9YzwrPCW','uKvesvnFrei','AxndB25Uzwn0zwq','mtbgELP2AKG','BwvZC2fNzq','zM9Yy2veAxnJB25Uzwn0','y29UBMvJDa','Aw5MBW','zw52','D2fYBG','ALz2vNK','mteXntK2C0Pgt1vH','odiWntuYCeToA3z0','mti4mdKYofr2CuHxCa','mtb5wvHkzMe','ntGYndy0neLHuuTfEG','zgLZy29UBMvJDa','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','mJm4mta2meDjvunssG','mZnnt0Lpu24','nJu0otm4ngHvDKffuW','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','zxjYB3i','uMvKAxmGueLorYb0Aw1LB3v0','mZzUCejlB08','C2XjD0e','mtb2BvfLr0S','BwLU','y2XPzw50','ue9orW','lI9SB2DNzxi'];a0_0x3181=function(){return _0x3dda58;};return a0_0x3181();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a0_0x4c33(){const _0x28bbc3=['zxHWB3j0CW','DxbKyxrLsM9I','zgvMyxvSDa','A2v5CW','CMvKAxnFC2v0x2vYCM9Y','BwvZC2fNzq','x3bYzwzPEa','mJi0mZyWohvXthnuBq','CMvZDgzVCMDLoG','CMvKAxnFz2v0ywXSx2vYCM9Y','ChjLzML4','nJmXmZGZoun4yMftAq','C3rYAw5NAwz5','rMfPBgvKihrVigDLDcbQB2iGzNjVBsbszwrPCW','rvHqt1jux0zjtevFrvHqsvjz','C2v0sM9I','C2v0zxG','zw52','sLPcAhK','m1nWwvr6Ea','ndu0mZqZt0rQzhf1','mJbmrNDpqxK','CMvKAxnFz2v0x2vYCM9Y','mtiWnZC1CvnJu3f1','oMv4Cg9YDdO','nJa2mJuYmg5myNH4vW','mty1ndaXneXnEfrPCa','z2v0q2XPzw50','otu5nJyYoeDzt3fjzq','DMnbBuu'];a0_0x4c33=function(){return _0x28bbc3;};return a0_0x4c33();}const a0_0x30d7dc=a0_0x561c;(function(_0x1badd0,_0xda161d){const _0x4be095=a0_0x561c,_0x29057a=_0x1badd0();while(!![]){try{const _0x3b759e=parseInt(_0x4be095(0x6e))/0x1+-parseInt(_0x4be095(0x74))/0x2*(parseInt(_0x4be095(0x8b))/0x3)+-parseInt(_0x4be095(0x6f))/0x4*(parseInt(_0x4be095(0x71))/0x5)+parseInt(_0x4be095(0x73))/0x6+parseInt(_0x4be095(0x83))/0x7+parseInt(_0x4be095(0x7f))/0x8+-parseInt(_0x4be095(0x76))/0x9;if(_0x3b759e===_0xda161d)break;else _0x29057a['push'](_0x29057a['shift']());}catch(_0x3cdde1){_0x29057a['push'](_0x29057a['shift']());}}}(a0_0x4c33,0x9a91d));function a0_0x561c(_0x204032,_0x4b1fe5){_0x204032=_0x204032-0x6e;const _0x4c33c5=a0_0x4c33();let _0x561cb9=_0x4c33c5[_0x204032];if(a0_0x561c['UdqjuY']===undefined){var _0x406ba9=function(_0x542818){const _0x4f8858='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5ecd1a='',_0x5aa44f='';for(let _0x4dca6a=0x0,_0x1d2c06,_0x1fe669,_0x268ac0=0x0;_0x1fe669=_0x542818['charAt'](_0x268ac0++);~_0x1fe669&&(_0x1d2c06=_0x4dca6a%0x4?_0x1d2c06*0x40+_0x1fe669:_0x1fe669,_0x4dca6a++%0x4)?_0x5ecd1a+=String['fromCharCode'](0xff&_0x1d2c06>>(-0x2*_0x4dca6a&0x6)):0x0){_0x1fe669=_0x4f8858['indexOf'](_0x1fe669);}for(let _0x3e62a1=0x0,_0x53adf2=_0x5ecd1a['length'];_0x3e62a1<_0x53adf2;_0x3e62a1++){_0x5aa44f+='%'+('00'+_0x5ecd1a['charCodeAt'](_0x3e62a1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5aa44f);};a0_0x561c['yHbnvP']=_0x406ba9,a0_0x561c['ySxKLb']={},a0_0x561c['UdqjuY']=!![];}const _0x139e34=_0x4c33c5[0x0],_0x1e174a=_0x204032+_0x139e34,_0x19150e=a0_0x561c['ySxKLb'][_0x1e174a];return!_0x19150e?(_0x561cb9=a0_0x561c['yHbnvP'](_0x561cb9),a0_0x561c['ySxKLb'][_0x1e174a]=_0x561cb9):_0x561cb9=_0x19150e,_0x561cb9;}const redisClient=require('./redis-client'),{logger}=require('./logger');class RedisHelper{constructor(){const _0x1809db=a0_0x561c;this[_0x1809db(0x7e)]=null,this['ttl']=parseInt(process[_0x1809db(0x89)][_0x1809db(0x86)],0xa)||0xe10;}get['prefix'](){const _0x5b9871=a0_0x561c;if(!this['_prefix']){const _0x2ba0d7=process['env']['RESTFORGE_PROJECT_NAME']||_0x5b9871(0x7a);this[_0x5b9871(0x7e)]=_0x5b9871(0x80)+_0x2ba0d7+_0x5b9871(0x72);}return this[_0x5b9871(0x7e)];}async['setJob'](_0x59ac50,_0x42a0ba){const _0x5ae16f=a0_0x561c,_0x346a5d={'ZvbmD':_0x5ae16f(0x7c),'XdBYY':'Failed\x20to\x20set\x20job\x20in\x20Redis'};try{const _0x36bc6a=redisClient[_0x5ae16f(0x75)](),_0x321f84=''+this[_0x5ae16f(0x82)]+_0x59ac50;return await _0x36bc6a[_0x5ae16f(0x88)](_0x321f84,this['ttl'],JSON[_0x5ae16f(0x84)](_0x42a0ba)),!![];}catch(_0x395d5b){return logger['error']({'event':_0x346a5d['ZvbmD'],'jobId':_0x59ac50,'error':_0x395d5b['message']},_0x346a5d['XdBYY']),![];}}async['getJob'](_0xc0ed34){const _0x24c65e=a0_0x561c,_0x52f3a7={'JZBhy':_0x24c65e(0x70)};try{const _0x586929=redisClient['getClient'](),_0x540c9d=''+this[_0x24c65e(0x82)]+_0xc0ed34,_0x4ea020=await _0x586929['get'](_0x540c9d);return _0x4ea020?JSON['parse'](_0x4ea020):null;}catch(_0x4a23f9){return logger['error']({'event':_0x52f3a7[_0x24c65e(0x8a)],'jobId':_0xc0ed34,'error':_0x4a23f9['message']},_0x24c65e(0x85)),null;}}async[a0_0x30d7dc(0x79)](_0x4194e0,_0x289f81){const _0x4c8305=a0_0x30d7dc,_0x3202f8=await this['getJob'](_0x4194e0);if(!_0x3202f8)return![];const _0x428943={..._0x3202f8,..._0x289f81};return await this[_0x4c8305(0x87)](_0x4194e0,_0x428943);}async['deleteJob'](_0x2a2f97){const _0x53a98c=a0_0x30d7dc,_0x11c010={'XoMXH':'redis_delete_error','vcAmE':'Failed\x20to\x20delete\x20job\x20from\x20Redis'};try{const _0x2d1613=redisClient['getClient'](),_0x1ba236=''+this[_0x53a98c(0x82)]+_0x2a2f97;return await _0x2d1613['del'](_0x1ba236),!![];}catch(_0x39dcc6){return logger['error']({'event':_0x11c010['XoMXH'],'jobId':_0x2a2f97,'error':_0x39dcc6[_0x53a98c(0x7d)]},_0x11c010[_0x53a98c(0x77)]),![];}}async['getAllJobs'](){const _0xd4e310=a0_0x30d7dc,_0x37841d={'hhubs':_0xd4e310(0x81)};try{const _0x2ee57d=redisClient[_0xd4e310(0x75)](),_0x6e15a9=await _0x2ee57d[_0xd4e310(0x7b)](this[_0xd4e310(0x82)]+'*'),_0x280b2f=[];for(const _0x429f05 of _0x6e15a9){const _0x5be326=await _0x2ee57d['get'](_0x429f05);_0x5be326&&_0x280b2f['push'](JSON['parse'](_0x5be326));}return _0x280b2f;}catch(_0x5b83d5){return logger['error']({'event':_0x37841d['hhubs'],'error':_0x5b83d5['message']},'Failed\x20to\x20get\x20all\x20jobs'),[];}}}module[a0_0x30d7dc(0x78)]=new RedisHelper();
|