@restforgejs/platform 5.0.0 → 5.0.3
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/init.js +4 -104
- package/generators/cli/payload/migrate.js +1 -1
- package/generators/cli/schema/list.js +82 -18
- package/generators/cli/schema/migrate.js +23 -3
- package/generators/lib/dbschema-kit/diff-engine.js +715 -715
- package/generators/lib/migrate/field-type-resolver.js +9 -3
- package/generators/lib/migrate/migrate-runner.js +244 -38
- package/generators/lib/migrate/naming.js +9 -0
- package/generators/lib/payload/payload-runner.js +20 -0
- 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
|
-
const a0_0x2f8026=a0_0x372e;(function(_0xf62ac4,_0x267dda){const _0x41932d=a0_0x372e,_0x3e19d6=_0xf62ac4();while(!![]){try{const _0x9cd5e6=parseInt(_0x41932d(0x147))/0x1*(parseInt(_0x41932d(0x162))/0x2)+parseInt(_0x41932d(0x16d))/0x3*(parseInt(_0x41932d(0x186))/0x4)+parseInt(_0x41932d(0x14b))/0x5+parseInt(_0x41932d(0x166))/0x6*(parseInt(_0x41932d(0x174))/0x7)+parseInt(_0x41932d(0x17a))/0x8+parseInt(_0x41932d(0x159))/0x9*(parseInt(_0x41932d(0x182))/0xa)+parseInt(_0x41932d(0x155))/0xb*(-parseInt(_0x41932d(0x17b))/0xc);if(_0x9cd5e6===_0x267dda)break;else _0x3e19d6['push'](_0x3e19d6['shift']());}catch(_0x4cec29){_0x3e19d6['push'](_0x3e19d6['shift']());}}}(a0_0x5edd,0x28d93));function a0_0x5edd(){const _0x4e3775=['Cw9Izxe','ywXS','mtbpwwXhteK','D29YA2vYlq','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','x3jLDhj5q291BNq','nJG5mM1UtvbpBG','v1fYtgS','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','Bg9JA19LEhrLBMrFzxjYB3i','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','C2v0zxG','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','uKvbrcbSB2nRihjLBgvHC2vK','zxjYB3i','CwXetvi','v1jjveuGBg9JAYbYzwXLyxnLza','z2v0q2XPzw50','qvHzB2G','x2LUAxrdB25MAwC','te9ds19esvnuuKLcvvrfrf9srvrswq','CMv0CNK','C2v0','tg9JAYbYzwXLyxnLigvYCM9Y','lI9YzwrPCY1JBgLLBNq','zw5HyMXLza','x2rLzMf1BhruveW','CMvQzwn0','D29YA2vYswq','x3bYzwzPEa','svn1Dhm','nhWZFdv8mxW4Fdj8nNWWFdC','mJy2ofruAg5Kyq','CMv0CNLezwXHEq','C3rYyxrLz3K','z2v0','nJeXmtiWwvbRDKrR','CgLK','z2vUzxjHDgvmB2nRvMfSDwu','CMvHzf9SB2nRx3rPBwvVDxq','x2vUC3vYzuLUAxrPywXPEMvK','CMvHzf9SB2nRx3DHAxrPBMC','C3bSAxq','CMvHzf9SB2nRx2vYCM9Y','vvfvy3q','uuDNrM4','mtfOuNfHr2S','zgvMyxvSDfruta','v2vIC1i','zxHWAxjL','mJe2ndm0n1Dhrw96ra','BgfZDeLUzgv4t2y','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','ELf5uMm','x3n0CMf0zwD5','Bg9JA19LEhrLBMrLza','yNvPBgrmB2nRs2v5','DKDvALy','zhDfDLi','mtbHCu5kzey','zxH0zw5Ktg9JAW','BvHmBxK','BwvZC2fNzq','mZbWvwjWBfu','te9ds19esvnuuKLcvvrfrf9ftKfcteve','ChjLzML4','D1jUtuC','C3vIC3rYAw5N','uKvbrcbSB2nRigvYCM9Y','uujRvfO','ntaXrMD3tvPn','x2LUAxrPywXPEMvK','zvP0uey','Cg5YCva','D3jPDgvFBg9JA19YzwPLy3rLza','zgvIDwC','CMvHza','mJG0ota3C2jPyw5W','D2fYBG','D3jPDgvFBg9JA19YzwXLyxnLza','D3jPDgu','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','zw52','mtqXnZe4nfbpswv3yW','mta1mJu1mtj6BfDNtwC','Cg93','x3jLDhj5rgvSyxK','AxnfBMfIBgvK','C2XLzxa'];a0_0x5edd=function(){return _0x4e3775;};return a0_0x5edd();}const redisClient=require(a0_0x2f8026(0x13f)),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');function a0_0x372e(_0x41ce01,_0x1962dd){_0x41ce01=_0x41ce01-0x132;const _0x5edd07=a0_0x5edd();let _0x372e54=_0x5edd07[_0x41ce01];if(a0_0x372e['jhHcuw']===undefined){var _0x3d4177=function(_0x1a0687){const _0x26909b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f1e54='',_0x7ebaf6='';for(let _0x3328ab=0x0,_0x15dde2,_0x4df893,_0x7495b5=0x0;_0x4df893=_0x1a0687['charAt'](_0x7495b5++);~_0x4df893&&(_0x15dde2=_0x3328ab%0x4?_0x15dde2*0x40+_0x4df893:_0x4df893,_0x3328ab++%0x4)?_0x2f1e54+=String['fromCharCode'](0xff&_0x15dde2>>(-0x2*_0x3328ab&0x6)):0x0){_0x4df893=_0x26909b['indexOf'](_0x4df893);}for(let _0x10db60=0x0,_0x3ea58c=_0x2f1e54['length'];_0x10db60<_0x3ea58c;_0x10db60++){_0x7ebaf6+='%'+('00'+_0x2f1e54['charCodeAt'](_0x10db60)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x7ebaf6);};a0_0x372e['IQAFAM']=_0x3d4177,a0_0x372e['HmKStd']={},a0_0x372e['jhHcuw']=!![];}const _0x923cea=_0x5edd07[0x0],_0x25f4f1=_0x41ce01+_0x923cea,_0x43f34a=a0_0x372e['HmKStd'][_0x25f4f1];return!_0x43f34a?(_0x372e54=a0_0x372e['IQAFAM'](_0x372e54),a0_0x372e['HmKStd'][_0x25f4f1]=_0x372e54):_0x372e54=_0x43f34a,_0x372e54;}class LockManager{constructor(){const _0x21dd00=a0_0x2f8026,_0x2885c3={'lyFOH':'7|5|1|6|4|0|2|3'},_0x1503d9=_0x2885c3['lyFOH']['split']('|');let _0x231b92=0x0;while(!![]){switch(_0x1503d9[_0x231b92++]){case'0':this['_strategy']=null;continue;case'1':this[_0x21dd00(0x141)]=null;continue;case'2':this['_workerId']=null;continue;case'3':this[_0x21dd00(0x16e)]=![];continue;case'4':this['_retryDelay']=null;continue;case'5':this['_enabled']=null;continue;case'6':this['_retryCount']=null;continue;case'7':this[_0x21dd00(0x144)]=null;continue;}break;}}[a0_0x2f8026(0x13a)](){const _0x5f3c8e=a0_0x2f8026,_0x23d12a={'tHeDI':function(_0x3a8b6e,_0x1b3678,_0x54d4d2){return _0x3a8b6e(_0x1b3678,_0x54d4d2);},'dwEvR':_0x5f3c8e(0x13c),'xPpAJ':function(_0xdfdeba,_0x4d782f){return _0xdfdeba===_0x4d782f;},'pnrqP':'rf:lock:','qobeq':function(_0x33e8a8,_0x27b76a,_0x2db779){return _0x33e8a8(_0x27b76a,_0x2db779);}},_0x193c8c=_0x5f3c8e(0x146)[_0x5f3c8e(0x151)]('|');let _0x51bff9=0x0;while(!![]){switch(_0x193c8c[_0x51bff9++]){case'0':this[_0x5f3c8e(0x16e)]=!![];continue;case'1':this[_0x5f3c8e(0x185)]=_0x23d12a['tHeDI'](parseInt,process['env'][_0x5f3c8e(0x13b)],0xa)||0x3;continue;case'2':this[_0x5f3c8e(0x15d)]=process['env'][_0x5f3c8e(0x184)]||_0x23d12a[_0x5f3c8e(0x161)];continue;case'3':this['_enabled']=_0x23d12a['xPpAJ'](process[_0x5f3c8e(0x179)][_0x5f3c8e(0x167)],'true');continue;case'4':this[_0x5f3c8e(0x144)]=_0x23d12a[_0x5f3c8e(0x170)];continue;case'5':this['_defaultTTL']=_0x23d12a[_0x5f3c8e(0x180)](parseInt,process[_0x5f3c8e(0x179)]['LOCK_DISTRIBUTED_TTL'],0xa)||0xa;continue;case'6':this['_workerId']=_0x5f3c8e(0x183)+process[_0x5f3c8e(0x14c)];continue;case'7':logger['info']({'event':'lock_config_init','enabled':this['_enabled'],'strategy':this['_strategy'],'ttl':this['_defaultTTL'],'retryCount':this['_retryCount'],'retryDelay':this[_0x5f3c8e(0x17d)],'workerId':this['_workerId']},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+',\x20strategy:\x20'+this['_strategy']);continue;case'8':this['_retryDelay']=parseInt(process[_0x5f3c8e(0x179)][_0x5f3c8e(0x133)],0xa)||0x64;continue;}break;}}[a0_0x2f8026(0x14f)](){const _0x271c20=a0_0x2f8026;!this[_0x271c20(0x16e)]&&this['_initConfig']();}get[a0_0x2f8026(0x168)](){const _0xbc73ec=a0_0x2f8026;return this[_0xbc73ec(0x14f)](),this[_0xbc73ec(0x144)];}get[a0_0x2f8026(0x140)](){const _0x4a52b2=a0_0x2f8026;return this[_0x4a52b2(0x14f)](),this['_enabled'];}get['defaultTTL'](){return this['_ensureInitialized'](),this['_defaultTTL'];}get['retryCount'](){const _0x439f8f=a0_0x2f8026;return this[_0x439f8f(0x14f)](),this['_retryCount'];}get[a0_0x2f8026(0x148)](){const _0x535f19=a0_0x2f8026;return this[_0x535f19(0x14f)](),this['_retryDelay'];}get[a0_0x2f8026(0x149)](){const _0x378a64=a0_0x2f8026;return this[_0x378a64(0x14f)](),this['_strategy'];}get[a0_0x2f8026(0x143)](){const _0xf54ee1=a0_0x2f8026;return this[_0xf54ee1(0x14f)](),this['_workerId'];}['buildLockKey'](_0x4ca87d){const _0x51c0ed=a0_0x2f8026,{module:_0x37ae01,endpoint:_0x9ededf,lockType:_0x3e9425,recordId:_0x2074c6}=_0x4ca87d;if(_0x2074c6)return''+this[_0x51c0ed(0x168)]+_0x37ae01+':'+_0x9ededf+':'+_0x2074c6+':'+_0x3e9425;return''+this[_0x51c0ed(0x168)]+_0x37ae01+':'+_0x9ededf+':'+_0x3e9425;}['generateLockValue'](){return this['workerId']+':'+uuidv4()+':'+Date['now']();}async['acquireReadLock'](_0x194338){const _0x2e3df0=a0_0x2f8026,_0x172464={'QGgFn':function(_0x88b8c3,_0x344a2c){return _0x88b8c3<_0x344a2c;},'WebsR':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','AXYoh':function(_0x18aeb2,_0x26ba3c){return _0x18aeb2*_0x26ba3c;},'pHuWa':_0x2e3df0(0x152)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x3a8d74=this[_0x2e3df0(0x15f)]({..._0x194338,'lockType':_0x2e3df0(0x177)}),_0x528c7d=this['buildLockKey']({..._0x194338,'lockType':'read'}),_0x284b6e=this[_0x2e3df0(0x14d)]();try{const _0x445e03=redisClient['getClient']();for(let _0x5bda73=0x0;_0x172464[_0x2e3df0(0x154)](_0x5bda73,this['retryCount']);_0x5bda73++){const _0x22e300=await _0x445e03['get'](_0x3a8d74);if(!_0x22e300){await _0x445e03['incr'](_0x528c7d),await _0x445e03[_0x2e3df0(0x158)](_0x528c7d,this['defaultTTL']);const _0x1a59a2=_0x528c7d+':'+_0x284b6e;return await _0x445e03[_0x2e3df0(0x18b)](_0x1a59a2,this['defaultTTL'],_0x284b6e),logger['debug']({'event':'read_lock_acquired','key':_0x528c7d,'value':_0x284b6e},'READ\x20lock\x20acquired'),{'success':!![],'lockValue':_0x284b6e,'lockKey':_0x1a59a2};}logger[_0x2e3df0(0x172)]({'event':_0x2e3df0(0x150),'writeKey':_0x3a8d74,'attempt':_0x5bda73},_0x172464[_0x2e3df0(0x157)]),await this['sleep'](_0x172464[_0x2e3df0(0x139)](this['retryDelay'],Math[_0x2e3df0(0x17c)](0x2,_0x5bda73)));}return logger[_0x2e3df0(0x175)]({'event':_0x2e3df0(0x14e),'key':_0x528c7d},'READ\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x3751fd){return logger[_0x2e3df0(0x135)]({'event':_0x172464['pHuWa'],'error':_0x3751fd[_0x2e3df0(0x165)]},_0x2e3df0(0x16b)),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x15403a){const _0x370a81=a0_0x2f8026,_0x19373c={'YJMTl':_0x370a81(0x177),'PcFXO':'read','pXbtR':_0x370a81(0x142),'UQUct':'WRITE\x20lock\x20acquired\x20(reject\x20mode)','QjAXa':_0x370a81(0x171),'yjDjG':_0x370a81(0x15b),'qlDMR':function(_0x208d98,_0x19215f){return _0x208d98<_0x19215f;},'ISuts':'write_lock_acquired','YeZLJ':'retry','zQyRc':'Waiting\x20for\x20locks\x20to\x20release','twuKG':function(_0xaf88a5,_0x17a80e){return _0xaf88a5*_0x17a80e;},'eZtPF':'WRITE\x20lock\x20error'};if(!this[_0x370a81(0x140)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x2bd19d=this['buildLockKey']({..._0x15403a,'lockType':_0x19373c['YJMTl']}),_0x24068d=this['buildLockKey']({..._0x15403a,'lockType':_0x19373c['PcFXO']}),_0xf5d739=this[_0x370a81(0x14d)]();try{const _0x2ad5ae=redisClient['getClient']();if(this['strategy']===_0x19373c['pXbtR']){const _0x55b7cf=await _0x2ad5ae['set'](_0x2bd19d,_0xf5d739,'EX',this[_0x370a81(0x156)],'NX');if(_0x55b7cf==='OK')return logger['debug']({'event':'write_lock_acquired','key':_0x2bd19d,'value':_0xf5d739,'strategy':_0x19373c['pXbtR']},_0x19373c[_0x370a81(0x153)]),{'success':!![],'lockValue':_0xf5d739,'lockKey':_0x2bd19d};return logger['debug']({'event':_0x19373c['QjAXa'],'key':_0x2bd19d},_0x19373c['yjDjG']),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x2b09ca=0x0;_0x19373c[_0x370a81(0x136)](_0x2b09ca,this['retryCount']);_0x2b09ca++){const [_0x483289,_0x1c4f40]=await Promise['all']([_0x2ad5ae[_0x370a81(0x14a)](_0x24068d),_0x2ad5ae[_0x370a81(0x14a)](_0x2bd19d)]);if(!_0x1c4f40&&(!_0x483289||parseInt(_0x483289)===0x0)){const _0x12b19b=await _0x2ad5ae[_0x370a81(0x13d)](_0x2bd19d,_0xf5d739,'EX',this[_0x370a81(0x156)],'NX');if(_0x12b19b==='OK')return logger['debug']({'event':_0x19373c[_0x370a81(0x145)],'key':_0x2bd19d,'value':_0xf5d739,'strategy':_0x19373c['YeZLJ']},'WRITE\x20lock\x20acquired\x20(retry\x20mode)'),{'success':!![],'lockValue':_0xf5d739,'lockKey':_0x2bd19d};}logger['debug']({'event':'write_lock_waiting','writeKey':_0x2bd19d,'readCount':_0x483289,'attempt':_0x2b09ca},_0x19373c[_0x370a81(0x15c)]),await this['sleep'](_0x19373c['twuKG'](this[_0x370a81(0x148)],Math[_0x370a81(0x17c)](0x2,_0x2b09ca)));}return logger['warn']({'event':'write_lock_timeout','key':_0x2bd19d},_0x370a81(0x178)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x39f805){return logger['error']({'event':'write_lock_error','error':_0x39f805['message']},_0x19373c[_0x370a81(0x16f)]),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x2da8fe,_0xf61137){const _0x2110c1=a0_0x2f8026,_0xb79418={'sVAjq':function(_0x2ed628,_0x5981f0){return _0x2ed628===_0x5981f0;},'wRnMG':_0x2110c1(0x137),'vGUjV':_0x2110c1(0x188),'cjGDi':_0x2110c1(0x13e)};if(!this['enabled']||!_0x2da8fe)return!![];try{const _0xcae195=redisClient[_0x2110c1(0x138)]();if(_0x2da8fe['includes'](':read:')){await _0xcae195['del'](_0x2da8fe);const _0xda41a2=_0x2da8fe[_0x2110c1(0x16a)](0x0,_0x2da8fe[_0x2110c1(0x15a)](':')),_0x1347ce=await _0xcae195['get'](_0xda41a2);return _0x1347ce&&parseInt(_0x1347ce)>0x0&&await _0xcae195['decr'](_0xda41a2),logger['debug']({'event':'read_lock_released','key':_0x2da8fe},_0x2110c1(0x134)),!![];}const _0x3b497c=_0x2110c1(0x132),_0x35c620=await _0xcae195['eval'](_0x3b497c,0x1,_0x2da8fe,_0xf61137);if(_0xb79418['sVAjq'](_0x35c620,0x1))return logger['debug']({'event':_0x2110c1(0x176),'key':_0x2da8fe},_0xb79418[_0x2110c1(0x169)]),!![];return logger[_0x2110c1(0x175)]({'event':_0x2110c1(0x18a),'key':_0x2da8fe},_0xb79418[_0x2110c1(0x160)]),![];}catch(_0x2eebbd){return logger[_0x2110c1(0x135)]({'event':'lock_release_error','key':_0x2da8fe,'error':_0x2eebbd['message']},_0xb79418['cjGDi']),![];}}async[a0_0x2f8026(0x163)](_0x2d3ffb,_0x1f2b2e,_0x37312a=null){const _0x1f7ce4=a0_0x2f8026,_0x1e7001={'mXLmy':function(_0x4900d2,_0x3ed7d2){return _0x4900d2===_0x3ed7d2;},'QBkTZ':_0x1f7ce4(0x189)};if(!this['enabled']||!_0x2d3ffb)return!![];try{const _0x48e983=redisClient[_0x1f7ce4(0x138)](),_0x56ff3f='\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',_0x219d77=await _0x48e983['eval'](_0x56ff3f,0x1,_0x2d3ffb,_0x1f2b2e,_0x37312a||this[_0x1f7ce4(0x156)]);if(_0x1e7001[_0x1f7ce4(0x164)](_0x219d77,0x1))return logger[_0x1f7ce4(0x172)]({'event':_0x1f7ce4(0x15e),'key':_0x2d3ffb,'ttl':_0x37312a||this['defaultTTL']},'Lock\x20TTL\x20extended'),!![];return![];}catch(_0xb09dd3){return logger[_0x1f7ce4(0x135)]({'event':_0x1e7001[_0x1f7ce4(0x16c)],'key':_0x2d3ffb,'error':_0xb09dd3['message']},'Lock\x20extend\x20error'),![];}}[a0_0x2f8026(0x17e)](){const _0x14ba2d=a0_0x2f8026;return this[_0x14ba2d(0x140)];}[a0_0x2f8026(0x17f)](_0x213f65){return new Promise(_0x4340e7=>setTimeout(_0x4340e7,_0x213f65));}async['getLockInfo'](_0x251815){const _0x186955=a0_0x2f8026,_0x5b34e9={'WQrLk':function(_0x3c67fd,_0x20205f){return _0x3c67fd(_0x20205f);}};if(!this[_0x186955(0x140)])return{'enabled':![]};try{const _0x3e0e50=redisClient['getClient'](),_0x13b529=this['buildLockKey']({..._0x251815,'lockType':_0x186955(0x177)}),_0x2a6a14=this[_0x186955(0x15f)]({..._0x251815,'lockType':_0x186955(0x173)}),[_0x1ce6de,_0x4c892f]=await Promise[_0x186955(0x181)]([_0x3e0e50[_0x186955(0x14a)](_0x13b529),_0x3e0e50['get'](_0x2a6a14)]);return{'enabled':!![],'writeLock':_0x1ce6de||null,'readCount':_0x5b34e9[_0x186955(0x187)](parseInt,_0x4c892f)||0x0,'writeKey':_0x13b529,'readKey':_0x2a6a14};}catch(_0x287706){return{'enabled':!![],'error':_0x287706['message']};}}}module['exports']=new LockManager();
|
|
1
|
+
const a0_0x33dda7=a0_0x1fe1;(function(_0x41e424,_0x40ae2d){const _0x10d295=a0_0x1fe1,_0x57d5d0=_0x41e424();while(!![]){try{const _0x505745=parseInt(_0x10d295(0x134))/0x1*(parseInt(_0x10d295(0x127))/0x2)+parseInt(_0x10d295(0x14e))/0x3*(-parseInt(_0x10d295(0x15f))/0x4)+-parseInt(_0x10d295(0x153))/0x5*(-parseInt(_0x10d295(0x16a))/0x6)+parseInt(_0x10d295(0x15d))/0x7+parseInt(_0x10d295(0x122))/0x8*(-parseInt(_0x10d295(0x168))/0x9)+-parseInt(_0x10d295(0x116))/0xa+-parseInt(_0x10d295(0x163))/0xb;if(_0x505745===_0x40ae2d)break;else _0x57d5d0['push'](_0x57d5d0['shift']());}catch(_0x19b352){_0x57d5d0['push'](_0x57d5d0['shift']());}}}(a0_0x5127,0x2f5c5));const redisClient=require(a0_0x33dda7(0x148)),{logger}=require(a0_0x33dda7(0x160)),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0xd79f29=a0_0x33dda7;this['_prefix']=null,this['_enabled']=null,this[_0xd79f29(0x117)]=null,this[_0xd79f29(0x166)]=null,this[_0xd79f29(0x14c)]=null,this['_strategy']=null,this[_0xd79f29(0x13e)]=null,this[_0xd79f29(0x123)]=![];}[a0_0x33dda7(0x15a)](){const _0x285a4a=a0_0x33dda7,_0x16ad21={'MOzbc':_0x285a4a(0x13b),'JFaHY':'true','OtFCg':function(_0xd5209a,_0x332750,_0x16df5d){return _0xd5209a(_0x332750,_0x16df5d);},'fLgit':_0x285a4a(0x16b)};this['_prefix']=_0x16ad21['MOzbc'],this['_enabled']=process['env']['LOCK_DISTRIBUTED_ENABLED']===_0x16ad21['JFaHY'],this[_0x285a4a(0x117)]=parseInt(process['env']['LOCK_DISTRIBUTED_TTL'],0xa)||0xa,this['_retryCount']=parseInt(process['env'][_0x285a4a(0x12b)],0xa)||0x3,this['_retryDelay']=_0x16ad21['OtFCg'](parseInt,process['env']['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64,this[_0x285a4a(0x141)]=process['env']['LOCK_DISTRIBUTED_STRATEGY']||_0x285a4a(0x12d),this[_0x285a4a(0x13e)]=_0x285a4a(0x144)+process['pid'],this['_initialized']=!![],logger[_0x285a4a(0x15b)]({'event':_0x16ad21['fLgit'],'enabled':this[_0x285a4a(0x157)],'strategy':this['_strategy'],'ttl':this[_0x285a4a(0x117)],'retryCount':this[_0x285a4a(0x166)],'retryDelay':this[_0x285a4a(0x14c)],'workerId':this[_0x285a4a(0x13e)]},_0x285a4a(0x155)+this['_enabled']+_0x285a4a(0x14a)+this[_0x285a4a(0x141)]);}[a0_0x33dda7(0x14f)](){const _0x2a4da4=a0_0x33dda7;!this['_initialized']&&this[_0x2a4da4(0x15a)]();}get['prefix'](){const _0x3fa677=a0_0x33dda7;return this['_ensureInitialized'](),this[_0x3fa677(0x120)];}get['enabled'](){const _0x232a6b=a0_0x33dda7;return this[_0x232a6b(0x14f)](),this[_0x232a6b(0x157)];}get[a0_0x33dda7(0x11c)](){const _0x165cbc=a0_0x33dda7;return this[_0x165cbc(0x14f)](),this['_defaultTTL'];}get[a0_0x33dda7(0x140)](){const _0x374ad0=a0_0x33dda7;return this[_0x374ad0(0x14f)](),this['_retryCount'];}get['retryDelay'](){const _0x5167c7=a0_0x33dda7;return this[_0x5167c7(0x14f)](),this['_retryDelay'];}get['strategy'](){const _0x28a276=a0_0x33dda7;return this['_ensureInitialized'](),this[_0x28a276(0x141)];}get['workerId'](){return this['_ensureInitialized'](),this['_workerId'];}['buildLockKey'](_0x2170d4){const _0x34046b=a0_0x33dda7,{module:_0x12a1be,endpoint:_0x49187b,lockType:_0x5b6360,recordId:_0x612ab}=_0x2170d4;if(_0x612ab)return''+this['prefix']+_0x12a1be+':'+_0x49187b+':'+_0x612ab+':'+_0x5b6360;return''+this[_0x34046b(0x12e)]+_0x12a1be+':'+_0x49187b+':'+_0x5b6360;}['generateLockValue'](){const _0x66b239=a0_0x33dda7;return this[_0x66b239(0x124)]+':'+uuidv4()+':'+Date['now']();}async[a0_0x33dda7(0x152)](_0x22f3b3){const _0x35936d=a0_0x33dda7,_0x3e2446={'KXmVP':_0x35936d(0x12a),'lPVsK':function(_0x1fb3fb,_0x1d11fe){return _0x1fb3fb<_0x1d11fe;},'uASee':_0x35936d(0x132),'iWPga':'read_lock_waiting','aRJam':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','KDVCR':_0x35936d(0x115),'fXnZx':_0x35936d(0x150)};if(!this[_0x35936d(0x138)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x200cb2=this['buildLockKey']({..._0x22f3b3,'lockType':_0x3e2446[_0x35936d(0x154)]}),_0x6fcf70=this[_0x35936d(0x121)]({..._0x22f3b3,'lockType':'read'}),_0x1ee7d1=this[_0x35936d(0x159)]();try{const _0x49d096=redisClient['getClient']();for(let _0x4bc8a8=0x0;_0x3e2446[_0x35936d(0x143)](_0x4bc8a8,this['retryCount']);_0x4bc8a8++){const _0x3f1d2c=await _0x49d096['get'](_0x200cb2);if(!_0x3f1d2c){await _0x49d096['incr'](_0x6fcf70),await _0x49d096['expire'](_0x6fcf70,this[_0x35936d(0x11c)]);const _0x4d359c=_0x6fcf70+':'+_0x1ee7d1;return await _0x49d096[_0x35936d(0x13a)](_0x4d359c,this['defaultTTL'],_0x1ee7d1),logger[_0x35936d(0x15e)]({'event':_0x35936d(0x11b),'key':_0x6fcf70,'value':_0x1ee7d1},_0x3e2446['uASee']),{'success':!![],'lockValue':_0x1ee7d1,'lockKey':_0x4d359c};}logger['debug']({'event':_0x3e2446['iWPga'],'writeKey':_0x200cb2,'attempt':_0x4bc8a8},_0x3e2446[_0x35936d(0x145)]),await this[_0x35936d(0x11e)](this['retryDelay']*Math[_0x35936d(0x133)](0x2,_0x4bc8a8));}return logger['warn']({'event':_0x3e2446[_0x35936d(0x135)],'key':_0x6fcf70},_0x3e2446[_0x35936d(0x14d)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x40f037){return logger['error']({'event':'read_lock_error','error':_0x40f037['message']},_0x35936d(0x137)),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x33dda7(0x11a)](_0x878322){const _0x17c5e9=a0_0x33dda7,_0x1bb7a9={'RxbZx':function(_0x25a8ae,_0x65aea3){return _0x25a8ae===_0x65aea3;},'acfYW':function(_0x1b7f3d,_0x2f6b8d){return _0x1b7f3d===_0x2f6b8d;},'GjKEq':'WRITE\x20lock\x20rejected\x20-\x20record\x20busy','dEEVo':function(_0x43b720,_0x247f77){return _0x43b720(_0x247f77);},'fVVtf':function(_0x30f57e,_0x169d97){return _0x30f57e===_0x169d97;},'gvXiX':_0x17c5e9(0x136)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x18c770=this['buildLockKey']({..._0x878322,'lockType':'write'}),_0x2009d4=this[_0x17c5e9(0x121)]({..._0x878322,'lockType':_0x17c5e9(0x167)}),_0x3f1c3a=this['generateLockValue']();try{const _0x554842=redisClient['getClient']();if(_0x1bb7a9[_0x17c5e9(0x12f)](this['strategy'],_0x17c5e9(0x118))){const _0x918e49=await _0x554842[_0x17c5e9(0x14b)](_0x18c770,_0x3f1c3a,'EX',this['defaultTTL'],'NX');if(_0x1bb7a9['acfYW'](_0x918e49,'OK'))return logger[_0x17c5e9(0x15e)]({'event':_0x17c5e9(0x15c),'key':_0x18c770,'value':_0x3f1c3a,'strategy':'reject'},'WRITE\x20lock\x20acquired\x20(reject\x20mode)'),{'success':!![],'lockValue':_0x3f1c3a,'lockKey':_0x18c770};return logger['debug']({'event':_0x17c5e9(0x12c),'key':_0x18c770},_0x1bb7a9['GjKEq']),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x429605=0x0;_0x429605<this['retryCount'];_0x429605++){const [_0x497d93,_0x552a09]=await Promise['all']([_0x554842[_0x17c5e9(0x149)](_0x2009d4),_0x554842['get'](_0x18c770)]);if(!_0x552a09&&(!_0x497d93||_0x1bb7a9[_0x17c5e9(0x142)](_0x1bb7a9['dEEVo'](parseInt,_0x497d93),0x0))){const _0x617c5=await _0x554842['set'](_0x18c770,_0x3f1c3a,'EX',this[_0x17c5e9(0x11c)],'NX');if(_0x1bb7a9[_0x17c5e9(0x130)](_0x617c5,'OK'))return logger['debug']({'event':_0x17c5e9(0x15c),'key':_0x18c770,'value':_0x3f1c3a,'strategy':'retry'},'WRITE\x20lock\x20acquired\x20(retry\x20mode)'),{'success':!![],'lockValue':_0x3f1c3a,'lockKey':_0x18c770};}logger[_0x17c5e9(0x15e)]({'event':_0x17c5e9(0x169),'writeKey':_0x18c770,'readCount':_0x497d93,'attempt':_0x429605},'Waiting\x20for\x20locks\x20to\x20release'),await this['sleep'](this[_0x17c5e9(0x158)]*Math['pow'](0x2,_0x429605));}return logger[_0x17c5e9(0x147)]({'event':'write_lock_timeout','key':_0x18c770},_0x17c5e9(0x162)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x198cab){return logger['error']({'event':_0x1bb7a9[_0x17c5e9(0x11d)],'error':_0x198cab[_0x17c5e9(0x125)]},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x33dda7(0x151)](_0x476788,_0x354af7){const _0x36f677=a0_0x33dda7,_0x2928e6={'afPuD':_0x36f677(0x165),'XLoMn':_0x36f677(0x13c),'prwzY':'write_lock_released','vqIih':_0x36f677(0x114),'gYufi':'Cannot\x20release\x20lock\x20-\x20not\x20owner','IhZXU':'Lock\x20release\x20error'};if(!this['enabled']||!_0x476788)return!![];try{const _0x3c134c=redisClient['getClient']();if(_0x476788['includes'](_0x2928e6['afPuD'])){await _0x3c134c['del'](_0x476788);const _0x980f5a=_0x476788[_0x36f677(0x156)](0x0,_0x476788['lastIndexOf'](':')),_0x2674e3=await _0x3c134c['get'](_0x980f5a);return _0x2674e3&&parseInt(_0x2674e3)>0x0&&await _0x3c134c[_0x36f677(0x13d)](_0x980f5a),logger[_0x36f677(0x15e)]({'event':_0x2928e6[_0x36f677(0x11f)],'key':_0x476788},_0x36f677(0x131)),!![];}const _0x29070b='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22del\x22,\x20KEYS[1])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x2548e9=await _0x3c134c[_0x36f677(0x13f)](_0x29070b,0x1,_0x476788,_0x354af7);if(_0x2548e9===0x1)return logger['debug']({'event':_0x2928e6['prwzY'],'key':_0x476788},'WRITE\x20lock\x20released'),!![];return logger['warn']({'event':_0x2928e6['vqIih'],'key':_0x476788},_0x2928e6[_0x36f677(0x126)]),![];}catch(_0x501f50){return logger[_0x36f677(0x139)]({'event':'lock_release_error','key':_0x476788,'error':_0x501f50['message']},_0x2928e6['IhZXU']),![];}}async['extendLock'](_0x309b59,_0x1a52d6,_0x10c437=null){const _0x35860a=a0_0x33dda7,_0x44976d={'tqIlM':function(_0x5921ba,_0x50233f){return _0x5921ba===_0x50233f;},'pxrml':_0x35860a(0x161),'RoJyO':'Lock\x20TTL\x20extended','nqQkD':'Lock\x20extend\x20error'};if(!this['enabled']||!_0x309b59)return!![];try{const _0x1ff237=redisClient[_0x35860a(0x119)](),_0x53d7e9='\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',_0x4f4fdc=await _0x1ff237['eval'](_0x53d7e9,0x1,_0x309b59,_0x1a52d6,_0x10c437||this['defaultTTL']);if(_0x44976d['tqIlM'](_0x4f4fdc,0x1))return logger[_0x35860a(0x15e)]({'event':_0x44976d[_0x35860a(0x164)],'key':_0x309b59,'ttl':_0x10c437||this['defaultTTL']},_0x44976d['RoJyO']),!![];return![];}catch(_0x23caa3){return logger[_0x35860a(0x139)]({'event':'lock_extend_error','key':_0x309b59,'error':_0x23caa3[_0x35860a(0x125)]},_0x44976d['nqQkD']),![];}}[a0_0x33dda7(0x129)](){return this['enabled'];}['sleep'](_0x17e445){return new Promise(_0x4d175b=>setTimeout(_0x4d175b,_0x17e445));}async[a0_0x33dda7(0x128)](_0x7fe435){const _0x598ed6=a0_0x33dda7,_0x25b089={'lxxbK':function(_0x4ec4a7,_0x231175){return _0x4ec4a7(_0x231175);}};if(!this['enabled'])return{'enabled':![]};try{const _0x56067b=redisClient['getClient'](),_0x3dce00=this['buildLockKey']({..._0x7fe435,'lockType':'write'}),_0x3f0004=this['buildLockKey']({..._0x7fe435,'lockType':_0x598ed6(0x167)}),[_0x12dc8a,_0x49465c]=await Promise[_0x598ed6(0x146)]([_0x56067b[_0x598ed6(0x149)](_0x3dce00),_0x56067b[_0x598ed6(0x149)](_0x3f0004)]);return{'enabled':!![],'writeLock':_0x12dc8a||null,'readCount':_0x25b089['lxxbK'](parseInt,_0x49465c)||0x0,'writeKey':_0x3dce00,'readKey':_0x3f0004};}catch(_0x53ff9b){return{'enabled':!![],'error':_0x53ff9b[_0x598ed6(0x125)]};}}}function a0_0x5127(){const _0x3058cc=['D29YA2vYswq','BwvZC2fNzq','z1L1zMK','offpwMD6qq','z2v0tg9JA0LUzM8','AxnfBMfIBgvK','D3jPDgu','te9ds19esvnuuKLcvvrfrf9srvrswq','D3jPDgvFBg9JA19YzwPLy3rLza','CMv0CNK','ChjLzML4','uNHIwNG','zLzwDgy','uKvbrcbSB2nRihjLBgvHC2vK','uKvbrcbSB2nRigfJCxvPCMvK','Cg93','nJKXntDJC1fHCNi','s0rwq1i','D3jPDgvFBg9JA19LCNjVCG','uKvbrcbSB2nRigvYCM9Y','zw5HyMXLza','zxjYB3i','C2v0zxG','CMy6Bg9JAZO','CMvHzf9SB2nRx3jLBgvHC2vK','zgvJCG','x3DVCMTLCKLK','zxzHBa','CMv0CNLdB3vUDa','x3n0CMf0zwD5','ywnMwvC','BfbwC0S','D29YA2vYlq','yvjkyw0','ywXS','D2fYBG','lI9YzwrPCY1JBgLLBNq','z2v0','lcbZDhjHDgvNEtOG','C2v0','x3jLDhj5rgvSyxK','zLHUwNG','mZaZmZLgz2rHqMW','x2vUC3vYzuLUAxrPywXPEMvK','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','CMvSzwfZzuXVy2S','ywnXDwLYzvjLywrmB2nR','odm1nda1D2vLBNf0','s1HTvLa','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','C3vIC3rYAw5N','x2vUywjSzwq','CMv0CNLezwXHEq','z2vUzxjHDgvmB2nRvMfSDwu','x2LUAxrdB25MAwC','Aw5MBW','D3jPDgvFBg9JA19Hy3f1AxjLza','mtGXmdKZnxvsBfjowq','zgvIDwC','nhv4yLLUEq','lI9SB2DNzxi','Bg9JA19LEhrLBMrLza','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','nJGXntyWzLjstMzU','ChHYBwW','oNjLywq6','x3jLDhj5q291BNq','CMvHza','mtaZnwfHrhHZrq','D3jPDgvFBg9JA193ywL0Aw5N','nKfSBerxwq','Bg9JA19JB25MAwDFAw5PDa','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','CMvHzf9SB2nRx3rPBwvVDxq','mJK4ndy3mgHjv3LMCG','x2rLzMf1BhruveW','CMvQzwn0','z2v0q2XPzw50','ywnXDwLYzvDYAxrLtg9JAW','CMvHzf9SB2nRx2fJCxvPCMvK','zgvMyxvSDfruta','z3zyAvG','C2XLzxa','weXVtw4','x3bYzwzPEa','yNvPBgrmB2nRs2v5','otu5mLH5vhHira','x2LUAxrPywXPEMvK'];a0_0x5127=function(){return _0x3058cc;};return a0_0x5127();}function a0_0x1fe1(_0x44a975,_0x40994d){_0x44a975=_0x44a975-0x114;const _0x512764=a0_0x5127();let _0x1fe1f1=_0x512764[_0x44a975];if(a0_0x1fe1['ZoccLZ']===undefined){var _0x3cace4=function(_0x5dfffd){const _0x385bdf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x59232c='',_0x34d470='';for(let _0x3b70c8=0x0,_0x54405,_0x2c6f08,_0x377a76=0x0;_0x2c6f08=_0x5dfffd['charAt'](_0x377a76++);~_0x2c6f08&&(_0x54405=_0x3b70c8%0x4?_0x54405*0x40+_0x2c6f08:_0x2c6f08,_0x3b70c8++%0x4)?_0x59232c+=String['fromCharCode'](0xff&_0x54405>>(-0x2*_0x3b70c8&0x6)):0x0){_0x2c6f08=_0x385bdf['indexOf'](_0x2c6f08);}for(let _0x18c720=0x0,_0x24d3fe=_0x59232c['length'];_0x18c720<_0x24d3fe;_0x18c720++){_0x34d470+='%'+('00'+_0x59232c['charCodeAt'](_0x18c720)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x34d470);};a0_0x1fe1['dvOnCw']=_0x3cace4,a0_0x1fe1['LWBezu']={},a0_0x1fe1['ZoccLZ']=!![];}const _0x67ed8a=_0x512764[0x0],_0x11fafd=_0x44a975+_0x67ed8a,_0x44cf5f=a0_0x1fe1['LWBezu'][_0x11fafd];return!_0x44cf5f?(_0x1fe1f1=a0_0x1fe1['dvOnCw'](_0x1fe1f1),a0_0x1fe1['LWBezu'][_0x11fafd]=_0x1fe1f1):_0x1fe1f1=_0x44cf5f,_0x1fe1f1;}module['exports']=new LockManager();
|
package/src/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x5ba06d=a0_0x4524;(function(_0x4dc845,_0x474045){const _0x9fa8e7=a0_0x4524,_0xf6a16d=_0x4dc845();while(!![]){try{const _0x13f129=parseInt(_0x9fa8e7(0x1c9))/0x1*(-parseInt(_0x9fa8e7(0x240))/0x2)+-parseInt(_0x9fa8e7(0x206))/0x3+-parseInt(_0x9fa8e7(0x230))/0x4*(parseInt(_0x9fa8e7(0x202))/0x5)+parseInt(_0x9fa8e7(0x183))/0x6+-parseInt(_0x9fa8e7(0x23a))/0x7*(parseInt(_0x9fa8e7(0x236))/0x8)+parseInt(_0x9fa8e7(0x222))/0x9+parseInt(_0x9fa8e7(0x193))/0xa;if(_0x13f129===_0x474045)break;else _0xf6a16d['push'](_0xf6a16d['shift']());}catch(_0x31164e){_0xf6a16d['push'](_0xf6a16d['shift']());}}}(a0_0x35a2,0xd9002));const pino=require('pino'),fs=require('fs'),path=require('path');let logToFile=![],logDir=a0_0x5ba06d(0x1a2),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':a0_0x5ba06d(0x1c4),'hideObject':!![]},isDevelopment=process['env']['NODE_ENV']!=='production',logLevel=process[a0_0x5ba06d(0x1dd)]['LOG_LEVEL']||a0_0x5ba06d(0x1cc);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x5ba06d(0x1b6),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x5ba06d(0x1dd)]['APP_VERSION']||'1.0.5','env':process['env']['NODE_ENV']||'development'},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':[a0_0x5ba06d(0x1d1),a0_0x5ba06d(0x203),'password',a0_0x5ba06d(0x1a6),'apiKey','DB_PASSWORD','JWT_SECRET'],'censor':a0_0x5ba06d(0x21c)},'serializers':{'req':_0x1b44c9=>({'id':_0x1b44c9['id'],'method':_0x1b44c9['method'],'url':_0x1b44c9['url'],'path':_0x1b44c9['path'],'remoteAddress':_0x1b44c9['ip']||_0x1b44c9[a0_0x5ba06d(0x1be)]?.['remoteAddress']}),'res':_0x5e3252=>({'statusCode':_0x5e3252[a0_0x5ba06d(0x184)],'headers':_0x5e3252[a0_0x5ba06d(0x197)]?.()}),'err':pino['stdSerializers'][a0_0x5ba06d(0x19d)]}});function initFileLogging(){const _0x11f540=a0_0x5ba06d,_0x3b43c6={'VFZtI':function(_0xc29054,_0x42ec9d){return _0xc29054===_0x42ec9d;},'orOpW':'true','BvETD':_0x11f540(0x1fb),'eJaVz':'restforge','LzEle':_0x11f540(0x1bc),'Urosp':function(_0x1ffc7f,_0x3ca506){return _0x1ffc7f(_0x3ca506);},'fwiID':_0x11f540(0x21a),'mPQoE':_0x11f540(0x1e1),'Ngjga':function(_0x51c814,_0x285352,_0x396cb6){return _0x51c814(_0x285352,_0x396cb6);}};if(fileLoggingInitialized)return;logToFile=_0x3b43c6['VFZtI'](process['env']['LOG_TO_FILE'],_0x3b43c6[_0x11f540(0x209)]);const _0x2ec2ff=process['env'][_0x11f540(0x233)]||_0x3b43c6['BvETD'];logDir=process[_0x11f540(0x1dd)]['LOG_DIR']||'./logs/'+_0x2ec2ff,serviceName=process['env']['SERVICE_NAME']||_0x3b43c6[_0x11f540(0x1a4)],sqlLogEnabled=process[_0x11f540(0x1dd)]['SQL_LOG_ENABLED']==='true',sqlLogLevel=process[_0x11f540(0x1dd)]['SQL_LOG_LEVEL']||_0x11f540(0x231),sqlLogParams=process['env'][_0x11f540(0x1e6)]!==_0x3b43c6[_0x11f540(0x21b)],sqlLogSlowThreshold=_0x3b43c6[_0x11f540(0x23c)](parseInt,process['env'][_0x11f540(0x220)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x439fed=path['resolve'](process[_0x11f540(0x216)](),logDir);try{!fs['existsSync'](_0x439fed)&&fs[_0x11f540(0x1d4)](_0x439fed,{'recursive':!![]});}catch(_0x1dacfd){console[_0x11f540(0x215)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x439fed+':',_0x1dacfd['message']),fileLoggingInitialized=!![];return;}const _0x505db9=path[_0x11f540(0x194)](_0x439fed,_0x11f540(0x208)),_0x45b5fe=path['join'](_0x439fed,_0x11f540(0x1e1));try{appLogStream=fs[_0x11f540(0x1b4)](_0x505db9,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x45b5fe,{'flags':'a'}),fileLoggingInitialized=!![];const _0x21cf75={'event':_0x3b43c6[_0x11f540(0x1a3)],'logDir':_0x439fed,'files':['app.log',_0x3b43c6[_0x11f540(0x221)]]},_0x46fbfd='File\x20logging\x20enabled:\x20'+_0x439fed;logger['info'](_0x21cf75,_0x46fbfd),_0x3b43c6[_0x11f540(0x1cf)](writeToFileLog,{..._0x21cf75,'level':_0x11f540(0x1cc),'msg':_0x46fbfd,'time':new Date()[_0x11f540(0x242)]()},'info');}catch(_0x11c990){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x11c990['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x5c7f77,_0x38c784){const _0x360232=a0_0x5ba06d,_0x2a37b9={'ygQua':function(_0x5bf0f8,_0x29b193){return _0x5bf0f8||_0x29b193;},'Wwxcr':'error','FfyEN':function(_0x46e39f,_0x7e9859){return _0x46e39f===_0x7e9859;}};if(_0x2a37b9['ygQua'](!logToFile,!appLogStream))return;const _0x29f8b0={'service':serviceName,..._0x5c7f77},_0x4a3c6e=JSON['stringify'](_0x29f8b0)+'\x0a';appLogStream['write'](_0x4a3c6e),(_0x38c784===_0x2a37b9['Wwxcr']||_0x2a37b9[_0x360232(0x1ee)](_0x38c784,'fatal'))&&(errorLogStream&&errorLogStream[_0x360232(0x23b)](_0x4a3c6e));}function a0_0x35a2(){const _0x26b934=['q2TPtuC','zgDhquS','C2vYDMvYx3n0yxj0Aw5N','zgjFCxvLCNK','CgfKrw5K','vfL5Afi','mtq0mJa3mLrzqM5ABq','zgvIDwC','ChjVAMvJDa','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','Cgf0Aa','tK9uiefdveLwrq','ndm2ndbjueLeu3i','B0j0Axy','zMf0ywW','AxntBg93','ndKWtuTYr1zy','D3jPDgu','vxjVC3a','qwf6Cwq','vfjbtLnbq1rjt05Fq09ntuLu','yuHSAgq','mtu3mdG3ne1SALjMra','C3rHCNrZv2L0Aa','Dg9ju09tDhjPBMC','D1vgt1e','w1jfrefdveveoNrVA2vUxq','ode1nZC4r0HsD0DK','C3rHDhvZq29Kzq','BwvZC2fNzq','D3rtD0O','Bfr5teK','zMXVB3i','y3jLzgvUDgLHBa','icbizwfSDgG6ia','C2vYDMvYx3jLywr5','zw52AxjVBM1LBNq','BMfTzq','yxbPx3nLy3jLDa','B2jQzwn0','BxfAreu','Ec1Yzxf1zxn0lwLK','BwfW','mZa4ndi1nJb0swzWy00','AM9PBG','yxbPs2v5','CMvWzwf0','z2v0sgvHzgvYCW','iokvKqRILzeGifbVCNqGicaGicaGidOG','EK1br2m','sK1nv00','DgvZDa','zxHWB3j0CW','zxjY','rKfuquW6ia','C3fSx3f1zxj5','qvfczvK','DxnLCG','lI9SB2DZ','zNDPsuq','zuPHvNO','qKvhsu4','Dg9Rzw4','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','AgvHBhrOq2HLy2S','C3bPENq','zMf0ywXFzxjYB3i','y29Kzq','zhvYyxrPB25nCW','BgvUz3rO','u0vmrunu','sw50zxjUywWGC2vYDMvYigvYCM9Y','q1jjveLdquW','qunusvzf','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','CxryqM4','y3jLyxrLv3jPDgvtDhjLyw0','uejgqwG','CgLUBY1WCMv0DhK','Ahj0Aw1L','DMLwEMi','BwvTB3j5vxnHz2u','t25pAvG','y29UzMLNrMLSzq','zMfSC2u','DhjPBq','y29UBMvJDgLVBG','zhvYBvm','DhLWzq','quXurvi','Ahr0Cf9Yzxf1zxn0','yxbPx2TLEq','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','uhjVy2vZCYbxyxjUAw5NoIa','ywnJzxnZx3rVA2vU','vfjbtLnbq1rjt05FuK9mtejbq0S','wvHqCNC','mvLhver6Aq','y3jLzgL0x2nHCMq','zgf0ywjHC2u','Aw5MBW','rxjYB3i','zgjFDhjHBNnHy3rPB24','tMDQz2e','AgvHzgvYCW','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','yMfZzvvYBa','uwP4y2C','BwTKAxjtEw5J','tI9b','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','uKX4B1q','yxv0Ag9YAxPHDgLVBG','CMvWBgfJzq','q09ntuLu','y2HPBgq','zw5KCg9PBNrFCMvNAxn0zxjLza','zw52','zunmrum','AeXZB2u','z2v0','zxjYB3iUBg9N','Bfz4wxq','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','Ahr0Cf9LCNjVCG','rfjpua','u1fmx0Xpr19qqvjbtvm','sMnbwKm','D2fYBG','reiGuxvLCNK','iokvKqRILzeGiefqssblzxKGicaGidOG','Bwv0Ag9K','rgvMyxvSDa','DxnLCI1Hz2vUDa','rMz5ru4','y3jLzgvUDgLHBhm','ChjVy2vZC193yxjUAw5N','Ag9ZDa','sM1SyLe','CgfZC3DVCMq','r1nwyKO','Dw5JyxvNAhrfEgnLChrPB24','Bwf0y2G','ALLQB0K','Cg9ZDgDYzxnXBa','zxfJAxe','iokvKqRILzeGifbYB2PLy3qGicaGidOG','zgvMyxvSDa','rermx0rst1a','Bw9KDwXL','Aw5JBhvKzxm','vfjbtLnbq1rjt05FqKvhsu4','C3rHDhvZ','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','mtvhsM9bDwS','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','CKTOve4','rermx0nsrufurq','mZiZnZCWmM9RwxvUwG','yM9KEq','yxbWlMXVzW','B3jpCfC','ChjPDMf0zv9RzxK','icbjBMzVoIaGia','vLDiEwe','vKvhBLC','Dg9gAxHLza','Cg9YDa','vhvfELK','swP6wKy','Dg9mB3DLCKnHC2u','tM9Kzs5QCW','w09lxsbqCM9Qzwn0igXVywrLzdOG','zxjYB3i','y3DK','twTWyxe','t0HTCui','C3rHy2S','zMLSzv9SB2DNAw5Nx2vUywjSzwq','thPfBgu','w1jfrefdvevexq','ChDK','C3rYAw5N','uxHguMm','u1fmx0Xpr19tte9xx1riuKvtse9mra','BvbrB0u','odK3mdiXmgXbu3vSqG','CMvMCMvZAf90B2TLBG','sMf1r2G','wMzJDgS','C2vYDMLJzuLUzM8','yxbPA2v5','zKn3DfG','ChjVAMvJDf9SB2fKzwq'];a0_0x35a2=function(){return _0x26b934;};return a0_0x35a2();}const createRequestLogger=(_0x5f4866={})=>{const _0x393b69=a0_0x5ba06d;return logger[_0x393b69(0x1db)](_0x5f4866);},logServerStart=_0x51ebf=>{const _0x261161=a0_0x5ba06d,_0x15d0a9={'oBtiv':function(_0x3fb72d,_0x4e7bca){return _0x3fb72d-_0x4e7bca;},'jSvrv':function(_0x583358,_0x3e13b4){return _0x583358/_0x3e13b4;},'lVxYt':_0x261161(0x1ec),'CsTrx':_0x261161(0x1b1),'Aazqd':'info'},_0x644029=_0x261161(0x1d6),_0xec6165=Math['max'](0x0,_0x15d0a9[_0x261161(0x237)](0x37,_0x644029['length'])),_0x281ab2=Math[_0x261161(0x188)](_0x15d0a9['jSvrv'](_0xec6165,0x2)),_0x5db34d=_0xec6165-_0x281ab2,_0x581d18='║'+'\x20'['repeat'](_0x281ab2)+_0x644029+'\x20'[_0x261161(0x196)](_0x5db34d)+'║',_0x3b2bb5='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x581d18+_0x261161(0x201)+(_0x51ebf[_0x261161(0x18c)]||_0x261161(0x213))['padEnd'](0x26)+_0x261161(0x1fa)+(_0x51ebf['project']||_0x261161(0x1d5))['padEnd'](0x26)+_0x261161(0x198)+String(_0x51ebf[_0x261161(0x20f)]||0xbb8)[_0x261161(0x22e)](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x51ebf[_0x261161(0x1bb)]||_0x15d0a9[_0x261161(0x1e2)])[_0x261161(0x22e)](0x26)+_0x261161(0x1ea)+(_0x51ebf[_0x261161(0x195)]?_0x15d0a9['CsTrx']:_0x261161(0x235))[_0x261161(0x22e)](0x26)+_0x261161(0x1b2);console['log'](_0x3b2bb5);const _0x2a9877={'event':_0x261161(0x22c),'project':_0x51ebf[_0x261161(0x232)],'port':_0x51ebf[_0x261161(0x20f)],'config':_0x51ebf['configFile'],'apiKeyEnabled':!!_0x51ebf[_0x261161(0x195)]};logger[_0x261161(0x1cc)](_0x2a9877),writeToFileLog({..._0x2a9877,'level':_0x15d0a9[_0x261161(0x23d)],'msg':'Server\x20starting:\x20'+_0x51ebf['project']+'\x20on\x20port\x20'+_0x51ebf[_0x261161(0x20f)],'time':new Date()[_0x261161(0x242)]()},_0x261161(0x1cc));},logServerReady=_0xc69823=>{const _0x1abe92=a0_0x5ba06d,_0x458945={'JuMkl':_0x1abe92(0x18b),'spizt':function(_0x5cbaca,_0x155830,_0x1d7754){return _0x5cbaca(_0x155830,_0x1d7754);},'zAkLf':_0x1abe92(0x1cc)},_0x10e358={'event':_0x458945['JuMkl'],'port':_0xc69823[_0x1abe92(0x20f)],'module':_0xc69823[_0x1abe92(0x1fd)],'healthCheck':_0xc69823[_0x1abe92(0x1a8)],'serviceInfo':_0xc69823[_0x1abe92(0x226)],'baseUrl':_0xc69823[_0x1abe92(0x1d2)]},_0x3c7909='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0xc69823[_0x1abe92(0x20f)];logger['info'](_0x10e358,_0x3c7909),_0x458945[_0x1abe92(0x1a9)](writeToFileLog,{..._0x10e358,'level':_0x458945['zAkLf'],'msg':_0x3c7909,'time':new Date()['toISOString']()},_0x458945['zAkLf']),_0xc69823['healthCheck']&&logger[_0x1abe92(0x1cc)](_0x1abe92(0x18a)+_0xc69823['healthCheck']),_0xc69823['serviceInfo']&&logger[_0x1abe92(0x1cc)](_0x1abe92(0x20b)+_0xc69823[_0x1abe92(0x226)]),_0xc69823['baseUrl']&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0xc69823['baseUrl']);},logProjectLoaded=(_0x461023,_0xd42075)=>{const _0x3e7e92=a0_0x5ba06d,_0xb8e991={'Mkpaq':function(_0x108cb7,_0x2f7fb9,_0x190224){return _0x108cb7(_0x2f7fb9,_0x190224);},'CUeah':_0x3e7e92(0x1cc)},_0xf421f6={'event':_0x3e7e92(0x229),'project':_0x461023,'path':_0xd42075},_0x1c3001=_0x3e7e92(0x214)+_0x461023;logger['info'](_0xf421f6,_0x1c3001),_0xb8e991[_0x3e7e92(0x217)](writeToFileLog,{..._0xf421f6,'level':_0xb8e991['CUeah'],'msg':_0x1c3001,'time':new Date()[_0x3e7e92(0x242)]()},_0xb8e991['CUeah']);},logEndpointRegistered=(_0x51435a,_0x434421)=>{const _0x336a03=a0_0x5ba06d,_0x29a334={'GWfvd':function(_0x205008,_0x145464,_0x5a3775){return _0x205008(_0x145464,_0x5a3775);},'JcAZC':_0x336a03(0x231)},_0x5f11d3={'event':_0x336a03(0x1dc),'endpoint':_0x51435a,'route':_0x434421},_0x2c5392='\x20\x20→\x20'+_0x51435a+':\x20'+_0x434421;logger['debug'](_0x5f11d3,_0x2c5392),_0x29a334['GWfvd'](writeToFileLog,{..._0x5f11d3,'level':_0x29a334[_0x336a03(0x1e7)],'msg':_0x2c5392,'time':new Date()['toISOString']()},_0x29a334[_0x336a03(0x1e7)]);},logDatabaseConfig=_0x3e3117=>{const _0x212638=a0_0x5ba06d,_0x5023b6={'BDfPY':function(_0x791956,_0x45fc54,_0x59bc53){return _0x791956(_0x45fc54,_0x59bc53);}},_0x3a0824={'event':'database_config','host':_0x3e3117['host'],'port':_0x3e3117[_0x212638(0x20f)],'database':_0x3e3117[_0x212638(0x1cb)],'type':_0x3e3117[_0x212638(0x1c0)],'user':_0x3e3117[_0x212638(0x1a1)]},_0xfef726='Database:\x20'+_0x3e3117['type']+'://'+_0x3e3117[_0x212638(0x1f1)]+':'+_0x3e3117[_0x212638(0x20f)]+'/'+_0x3e3117[_0x212638(0x1cb)];logger['debug'](_0x3a0824,_0xfef726),_0x5023b6['BDfPY'](writeToFileLog,{..._0x3a0824,'level':_0x212638(0x231),'msg':_0xfef726,'time':new Date()[_0x212638(0x242)]()},_0x212638(0x231));},logRequest=(_0x26e58f,_0x1abb7d,_0xed8a86)=>{const _0x19e9f5=a0_0x5ba06d,_0x56d73c={'JmlbQ':_0x19e9f5(0x1c2),'aHlhd':'info','CkiMG':function(_0x12d3fb,_0x4302db){return _0x12d3fb>=_0x4302db;},'rfmRO':function(_0x36d5a7,_0x1c2242){return _0x36d5a7>=_0x1c2242;}},_0x262cf4={'event':_0x56d73c[_0x19e9f5(0x1f2)],'method':_0x26e58f[_0x19e9f5(0x1eb)],'path':_0x26e58f[_0x19e9f5(0x234)],'statusCode':_0x1abb7d['statusCode'],'durationMs':_0xed8a86,'ip':_0x26e58f['ip']},_0x4a0759=_0x26e58f['method']+'\x20'+_0x26e58f[_0x19e9f5(0x234)]+'\x20-\x20'+_0x1abb7d[_0x19e9f5(0x184)]+'\x20('+_0xed8a86+'ms)';let _0x5e34e2=_0x56d73c[_0x19e9f5(0x23f)];if(_0x56d73c[_0x19e9f5(0x22a)](_0x1abb7d[_0x19e9f5(0x184)],0x1f4))_0x5e34e2='error',logger['error'](_0x262cf4,_0x4a0759);else _0x56d73c['rfmRO'](_0x1abb7d['statusCode'],0x190)?(_0x5e34e2='warn',logger['warn'](_0x262cf4,_0x4a0759)):logger[_0x19e9f5(0x1cc)](_0x262cf4,_0x4a0759);writeToFileLog({..._0x262cf4,'level':_0x5e34e2,'msg':_0x4a0759,'time':new Date()[_0x19e9f5(0x242)]()},_0x5e34e2);},SENSITIVE_PARAM_PATTERNS=['password','passwd',a0_0x5ba06d(0x21d),a0_0x5ba06d(0x1a6),a0_0x5ba06d(0x1c6),'refresh_token','secret',a0_0x5ba06d(0x18e),a0_0x5ba06d(0x227),a0_0x5ba06d(0x1c3),a0_0x5ba06d(0x189),a0_0x5ba06d(0x1ef),'pin','otp',a0_0x5ba06d(0x20a),'privatekey'],redactSensitiveParams=(_0x1558fe,_0x608a0f)=>{const _0x482969=a0_0x5ba06d,_0x9193ab={'durmS':_0x482969(0x21c),'rKhTN':function(_0x2e314a,_0x2e7d41){return _0x2e314a===_0x2e7d41;},'TYyhR':'[REDACTED:hash]'};if(!_0x1558fe||_0x1558fe[_0x482969(0x1ad)]===0x0)return _0x1558fe;const _0x3e979c=_0x608a0f['toLowerCase'](),_0x4bfedf=_0x3e979c['match'](/\(([^)]+)\)\s*values/i);let _0x3ecca7=[];_0x4bfedf&&(_0x3ecca7=_0x4bfedf[0x1]['split'](',')['map'](_0xcc0270=>_0xcc0270['trim']()['toLowerCase']()));const _0x37438c=_0x3e979c['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x37438c){const _0x5f3484=_0x37438c[0x1],_0x205f59=_0x5f3484['match'](/(\w+)\s*=/g);_0x205f59&&(_0x3ecca7=_0x205f59['map'](_0x3277c4=>_0x3277c4[_0x482969(0x1d9)](/\s*=/,'')[_0x482969(0x1bd)]()['toLowerCase']()));}return _0x1558fe[_0x482969(0x192)]((_0x2450b6,_0x447db5)=>{const _0x147888=_0x482969;if(_0x3ecca7[_0x447db5]){const _0x4a93a8=_0x3ecca7[_0x447db5],_0x29641a=SENSITIVE_PARAM_PATTERNS['some'](_0x566930=>_0x4a93a8[_0x147888(0x1fe)](_0x566930));if(_0x29641a)return _0x9193ab[_0x147888(0x1bf)];}if(_0x9193ab[_0x147888(0x204)](typeof _0x2450b6,_0x147888(0x21e))&&_0x2450b6[_0x147888(0x1ad)]>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x147888(0x19b)](_0x2450b6)&&_0x2450b6[_0x147888(0x1fe)]('.'))return _0x147888(0x244);if(/^[a-fA-F0-9]{32,}$/['test'](_0x2450b6))return _0x9193ab[_0x147888(0x22f)];}return _0x2450b6;});},parseQueryMetadata=_0x386a7f=>{const _0x344a67=a0_0x5ba06d,_0x32b7b7={'JauGh':_0x344a67(0x1ae),'wtSwJ':'INSERT','fCwtX':'UPDATE','SsVIY':'DELETE','ZYFeV':'START\x20TRANSACTION','fdYvI':_0x344a67(0x1da),'xQpNw':_0x344a67(0x1c7),'zMAGc':'CREATE','IjzZF':_0x344a67(0x1c1),'wUFOQ':'DDL_ALTER'},_0xea1fd7=_0x386a7f['trim'](),_0x21d6f7=_0xea1fd7['toUpperCase']();let _0x2ffb34='UNKNOWN',_0x3a75fc=null;if(_0x21d6f7['startsWith'](_0x32b7b7['JauGh'])){_0x2ffb34=_0x32b7b7[_0x344a67(0x224)];const _0x163526=_0xea1fd7[_0x344a67(0x1f6)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a75fc=_0x163526?_0x163526[0x1]:null;}else{if(_0x21d6f7['startsWith'](_0x32b7b7['wtSwJ'])){_0x2ffb34=_0x32b7b7[_0x344a67(0x186)];const _0x1c74b7=_0xea1fd7['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a75fc=_0x1c74b7?_0x1c74b7[0x1]:null;}else{if(_0x21d6f7['startsWith']('UPDATE')){_0x2ffb34=_0x32b7b7[_0x344a67(0x228)];const _0x4d0602=_0xea1fd7['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a75fc=_0x4d0602?_0x4d0602[0x1]:null;}else{if(_0x21d6f7[_0x344a67(0x241)](_0x32b7b7['SsVIY'])){_0x2ffb34=_0x32b7b7['SsVIY'];const _0x4fe961=_0xea1fd7['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a75fc=_0x4fe961?_0x4fe961[0x1]:null;}else{if(_0x21d6f7['startsWith'](_0x344a67(0x1a5))||_0x21d6f7[_0x344a67(0x241)](_0x32b7b7['ZYFeV']))_0x2ffb34=_0x344a67(0x1ff);else{if(_0x21d6f7[_0x344a67(0x241)](_0x32b7b7['fdYvI']))_0x2ffb34=_0x344a67(0x23e);else{if(_0x21d6f7[_0x344a67(0x241)]('ROLLBACK'))_0x2ffb34=_0x32b7b7['xQpNw'];else{if(_0x21d6f7[_0x344a67(0x241)](_0x32b7b7[_0x344a67(0x199)]))_0x2ffb34=_0x344a67(0x205);else{if(_0x21d6f7['startsWith'](_0x32b7b7[_0x344a67(0x211)]))_0x2ffb34=_0x32b7b7[_0x344a67(0x243)];else _0x21d6f7[_0x344a67(0x241)](_0x344a67(0x1e5))&&(_0x2ffb34=_0x344a67(0x1fc));}}}}}}}}return{'type':_0x2ffb34,'table':_0x3a75fc};},startQueryTimer=()=>{const _0xf75765={'Qjxcg':function(_0x228a4e,_0x705dab){return _0x228a4e*_0x705dab;},'KJYcn':function(_0x5a6f1c,_0x1022a5){return _0x5a6f1c/_0x1022a5;}},_0x2bc926=process['hrtime']();return()=>{const _0x24bfef=a0_0x4524,[_0x39d50d,_0x428f59]=process[_0x24bfef(0x1b7)](_0x2bc926);return parseFloat((_0xf75765[_0x24bfef(0x1d3)](_0x39d50d,0x3e8)+_0xf75765['KJYcn'](_0x428f59,0xf4240))[_0x24bfef(0x20e)](0x2));};},logQuery=(_0x41a5a1,_0x3ae2bc=[],_0x36a7da={})=>{const _0x3c9bef=a0_0x5ba06d,_0x1e6975={'QZTqU':_0x3c9bef(0x22d),'aaXtN':_0x3c9bef(0x1f8),'RLxoT':function(_0x225c1f,_0x5d4491){return _0x225c1f>_0x5d4491;},'JKBEx':function(_0x31a5c5,_0x27f0bf){return _0x31a5c5||_0x27f0bf;},'suaIg':'unknown','OnOiX':function(_0x4e1465,_0x34360b){return _0x4e1465!==_0x34360b;},'Wpbys':function(_0x5b8f79,_0x6bf54e){return _0x5b8f79!==_0x6bf54e;},'AMvpE':'debug','owhjw':'\x20[SLOW]','PBFAh':function(_0x27d2b0,_0x367373){return _0x27d2b0===_0x367373;},'dgGAK':_0x3c9bef(0x1cc),'eCLEC':function(_0x3614e4,_0x37bd1e,_0x1e1ce5){return _0x3614e4(_0x37bd1e,_0x1e1ce5);}};if(!sqlLogEnabled){logger['debug']({'event':_0x1e6975['QZTqU'],'query':_0x41a5a1['substring'](0x0,0xc8),'paramCount':_0x3ae2bc['length']},_0x3c9bef(0x1e9));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x1e6975['aaXtN']}=_0x36a7da,{type:_0x5a99e2,table:_0x57ccb5}=parseQueryMetadata(_0x41a5a1),_0x2802da={'event':_0x3c9bef(0x19f),'queryType':_0x5a99e2,'table':_0x57ccb5,'query':_0x41a5a1,'paramCount':_0x3ae2bc['length'],'dbType':dbType};sqlLogParams&&_0x3ae2bc[_0x3c9bef(0x1ad)]>0x0&&(_0x2802da['params']=redactSensitiveParams(_0x3ae2bc,_0x41a5a1));duration!==null&&(_0x2802da[_0x3c9bef(0x1ac)]=duration,_0x2802da[_0x3c9bef(0x239)]=_0x1e6975[_0x3c9bef(0x1d7)](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x2802da['rowsAffected']=rowsAffected);const _0x31d01b=_0x1e6975['JKBEx'](_0x57ccb5,_0x1e6975['suaIg']);let _0x56d4e8='['+_0x5a99e2+']\x20'+_0x31d01b;_0x1e6975[_0x3c9bef(0x1ba)](duration,null)&&(_0x56d4e8+='\x20('+duration+'ms)');const _0x3458e6=_0x1e6975['Wpbys'](duration,null)&&_0x1e6975['RLxoT'](duration,sqlLogSlowThreshold);let _0x13df57=_0x1e6975['AMvpE'];if(_0x3458e6)_0x56d4e8+=_0x1e6975['owhjw'],_0x13df57=_0x3c9bef(0x1e8),logger['warn'](_0x2802da,_0x56d4e8);else _0x1e6975[_0x3c9bef(0x1b5)](sqlLogLevel,'info')?(_0x13df57=_0x1e6975[_0x3c9bef(0x22b)],logger[_0x3c9bef(0x1cc)](_0x2802da,_0x56d4e8)):logger[_0x3c9bef(0x231)](_0x2802da,_0x56d4e8);_0x1e6975[_0x3c9bef(0x1de)](writeToFileLog,{..._0x2802da,'level':_0x13df57,'msg':_0x56d4e8,'time':new Date()['toISOString']()},_0x13df57);},logTransaction=(_0x394552,_0x135570)=>{const _0x3c9e7a=a0_0x5ba06d,_0x5dc33b={'Zfctk':_0x3c9e7a(0x1ce),'yYLzu':'debug'},_0x2ac999={'event':_0x5dc33b[_0x3c9e7a(0x225)],'status':_0x394552,'queryCount':_0x135570},_0x56c3bc='Transaction\x20'+_0x394552;logger[_0x3c9e7a(0x231)](_0x2ac999,_0x56c3bc),writeToFileLog({..._0x2ac999,'level':_0x5dc33b['yYLzu'],'msg':_0x56c3bc,'time':new Date()['toISOString']()},_0x3c9e7a(0x231));},redactObject=_0x30dae3=>{const _0x1465d7=a0_0x5ba06d,_0x5b86c7={'aqEKH':function(_0x5d3266,_0x3c5ccd){return _0x5d3266!==_0x3c5ccd;},'OHmqB':'passwd','viVzb':_0x1465d7(0x21d),'eqciq':'token','ARRIZ':'creditcard','mqZDE':_0x1465d7(0x1ca),'allCr':'ssn','AQBeY':_0x1465d7(0x223)};if(!_0x30dae3||_0x5b86c7['aqEKH'](typeof _0x30dae3,'object'))return _0x30dae3;const _0x27e681=[_0x1465d7(0x1f3),_0x5b86c7[_0x1465d7(0x218)],_0x5b86c7[_0x1465d7(0x1b8)],_0x5b86c7[_0x1465d7(0x1f9)],'secret',_0x1465d7(0x227),_0x1465d7(0x1c3),_0x1465d7(0x1d8),_0x5b86c7['ARRIZ'],_0x5b86c7[_0x1465d7(0x190)],'cvv',_0x5b86c7['allCr'],'pin','private_key','privatekey',_0x5b86c7[_0x1465d7(0x1a0)],_0x1465d7(0x1c6)],_0x38ac71=Array['isArray'](_0x30dae3)?[..._0x30dae3]:{..._0x30dae3};for(const _0xe9bcea of Object['keys'](_0x38ac71)){const _0x430547=_0xe9bcea[_0x1465d7(0x212)]();if(_0x27e681['some'](_0x2e61d7=>_0x430547['includes'](_0x2e61d7)))_0x38ac71[_0xe9bcea]=_0x1465d7(0x21c);else typeof _0x38ac71[_0xe9bcea]===_0x1465d7(0x18f)&&_0x5b86c7['aqEKH'](_0x38ac71[_0xe9bcea],null)&&(_0x38ac71[_0xe9bcea]=redactObject(_0x38ac71[_0xe9bcea]));}return _0x38ac71;},logError=(_0x18ccdb,_0x3b6a6c={},_0x20f026=null)=>{const _0x26f480=a0_0x5ba06d,_0x5d4e32={'lTyLI':'error','MSxeI':function(_0x51aec3,_0x52bb90,_0x398693){return _0x51aec3(_0x52bb90,_0x398693);}},_0x3289b9={'event':_0x5d4e32['lTyLI'],'errorName':_0x18ccdb[_0x26f480(0x18d)]||_0x26f480(0x1cd),'errorMessage':_0x18ccdb[_0x26f480(0x185)],'errorCode':_0x18ccdb[_0x26f480(0x1ab)]||null,'stack':_0x18ccdb[_0x26f480(0x219)],..._0x3b6a6c},_0x8c363b=_0x20f026||'Error:\x20'+_0x18ccdb[_0x26f480(0x185)];logger['error'](_0x3289b9,_0x8c363b),_0x5d4e32['MSxeI'](writeToFileLog,{..._0x3289b9,'level':_0x5d4e32['lTyLI'],'msg':_0x8c363b,'time':new Date()[_0x26f480(0x242)]()},_0x5d4e32[_0x26f480(0x187)]);},logFatalError=(_0xc2dc73,_0xb75c9d={},_0x54ee9f=null)=>{const _0x3881ea=a0_0x5ba06d,_0x4f60ee={'pGzkP':_0x3881ea(0x1b0),'ASLYA':function(_0x36b968,_0x46bf43,_0x51389c){return _0x36b968(_0x46bf43,_0x51389c);}},_0x5a8ac6={'event':_0x3881ea(0x1aa),'errorName':_0xc2dc73['name']||'Error','errorMessage':_0xc2dc73['message'],'errorCode':_0xc2dc73['code']||null,'stack':_0xc2dc73['stack'],'severity':_0x4f60ee['pGzkP'],..._0xb75c9d},_0x9d21e5=_0x54ee9f||_0x3881ea(0x19e)+_0xc2dc73['message'];logger[_0x3881ea(0x238)](_0x5a8ac6,_0x9d21e5),_0x4f60ee['ASLYA'](writeToFileLog,{..._0x5a8ac6,'level':_0x3881ea(0x238),'msg':_0x9d21e5,'time':new Date()['toISOString']()},_0x3881ea(0x215));},logHttpError=(_0x312e3a,_0xbbbb8d,_0xac5d7c={})=>{const _0x757aaa=a0_0x5ba06d,_0x325619={'jYjoI':_0x757aaa(0x1cd),'VEGnW':_0x757aaa(0x191),'TuEzY':function(_0x43847c,_0x15429){return _0x43847c(_0x15429);},'JMMWM':function(_0x10bdf8,_0x507260){return _0x10bdf8>=_0x507260;},'WhYpK':'warn'},_0x2b73a4={'event':_0x757aaa(0x1e4),'errorName':_0x312e3a['name']||_0x325619[_0x757aaa(0x1f7)],'errorMessage':_0x312e3a['message'],'errorCode':_0x312e3a['code']||_0x312e3a['statusCode']||0x1f4,'stack':_0x312e3a[_0x757aaa(0x219)],'method':_0xbbbb8d?.['method'],'url':_0xbbbb8d?.['url']||_0xbbbb8d?.['originalUrl'],'path':_0xbbbb8d?.['path'],'ip':_0xbbbb8d?.['ip']||_0xbbbb8d?.[_0x757aaa(0x1be)]?.['remoteAddress'],'userAgent':_0xbbbb8d?.[_0x757aaa(0x1e0)]?.(_0x757aaa(0x1ed)),'requestId':_0xbbbb8d?.['id']||_0xbbbb8d?.[_0x757aaa(0x1d0)]?.[_0x325619[_0x757aaa(0x20d)]],'body':_0xbbbb8d?.['body']?_0x325619[_0x757aaa(0x210)](redactObject,_0xbbbb8d[_0x757aaa(0x207)]):undefined,'query':_0xbbbb8d?.['query'],..._0xac5d7c},_0xb1e81f=_0x312e3a[_0x757aaa(0x184)]||_0x312e3a['status']||0x1f4,_0x4e89a1='HTTP\x20'+_0xb1e81f+':\x20'+_0x312e3a[_0x757aaa(0x185)];_0xb1e81f>=0x1f4?logger['error'](_0x2b73a4,_0x4e89a1):logger[_0x757aaa(0x1e8)](_0x2b73a4,_0x4e89a1),writeToFileLog({..._0x2b73a4,'level':_0x325619['JMMWM'](_0xb1e81f,0x1f4)?_0x757aaa(0x215):_0x325619['WhYpK'],'msg':_0x4e89a1,'time':new Date()[_0x757aaa(0x242)]()},_0x325619[_0x757aaa(0x19a)](_0xb1e81f,0x1f4)?_0x757aaa(0x215):'warn');},logUncaughtError=(_0x5cf4b5,_0x5676a1)=>{const _0x2b1d5f=a0_0x5ba06d,_0x1db836={'VWHya':function(_0x1f3d04,_0x380c8e){return _0x1f3d04(_0x380c8e);},'QxFRc':_0x2b1d5f(0x1b0),'qtXBn':_0x2b1d5f(0x238),'evBvn':'error'},_0x265079={'event':_0x5cf4b5,'errorName':_0x5676a1?.[_0x2b1d5f(0x18d)]||'Error','errorMessage':_0x5676a1?.['message']||_0x1db836[_0x2b1d5f(0x20c)](String,_0x5676a1),'errorCode':_0x5676a1?.['code']||null,'stack':_0x5676a1?.[_0x2b1d5f(0x219)],'severity':_0x1db836[_0x2b1d5f(0x21f)],'processId':process['pid'],'memoryUsage':process[_0x2b1d5f(0x1b9)](),'uptime':process['uptime']()},_0x327729='['+_0x5cf4b5['toUpperCase']()+']\x20'+(_0x5676a1?.[_0x2b1d5f(0x185)]||_0x5676a1);logger['fatal'](_0x265079,_0x327729),writeToFileLog({..._0x265079,'level':_0x1db836[_0x2b1d5f(0x1b3)],'msg':_0x327729,'time':new Date()['toISOString']()},_0x1db836['evBvn']);},setupGlobalErrorHandlers=()=>{const _0x571a61=a0_0x5ba06d,_0x26ff69={'SzYqb':function(_0x3f3645,_0x3398c0,_0x5176c0){return _0x3f3645(_0x3398c0,_0x5176c0);},'GSVbJ':'unhandledRejection','cnqxg':'warning','vJmTM':_0x571a61(0x1e3),'BDDvK':'info'};process['on']('uncaughtException',_0x4348f7=>{const _0x4afa6e=_0x571a61;logUncaughtError(_0x4afa6e(0x1f5),_0x4348f7),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on']('unhandledRejection',(_0x302ee2,_0x53d9ed)=>{const _0x24dbc2=_0x571a61,_0x2c9873=_0x302ee2 instanceof Error?_0x302ee2:new Error(String(_0x302ee2));_0x26ff69['SzYqb'](logUncaughtError,_0x26ff69[_0x24dbc2(0x1f4)],_0x2c9873);}),process['on'](_0x26ff69['cnqxg'],_0x3d8901=>{const _0x3a1d74=_0x571a61;logger['warn']({'event':_0x3a1d74(0x1f0),'name':_0x3d8901[_0x3a1d74(0x18d)],'message':_0x3d8901[_0x3a1d74(0x185)],'stack':_0x3d8901[_0x3a1d74(0x219)]},_0x3a1d74(0x1c5)+_0x3d8901['message']);});const _0x2dc5e9={'event':_0x571a61(0x1a7)},_0x23bb61=_0x26ff69['vJmTM'];logger[_0x571a61(0x1cc)](_0x2dc5e9,_0x23bb61),writeToFileLog({..._0x2dc5e9,'level':_0x571a61(0x1cc),'msg':_0x23bb61,'time':new Date()['toISOString']()},_0x26ff69['BDDvK']);},createErrorHandlerMiddleware=()=>{const _0x1a2db3=a0_0x5ba06d,_0x1feaea={'YXPrw':function(_0x372d5d,_0x42186e,_0x48f82c){return _0x372d5d(_0x42186e,_0x48f82c);},'hLsoe':_0x1a2db3(0x1af),'yGsgD':_0x1a2db3(0x191)};return(_0x1c8330,_0x4edc09,_0x51635b,_0x536138)=>{const _0x1a2ed8=_0x1a2db3;_0x1feaea[_0x1a2ed8(0x1c8)](logHttpError,_0x1c8330,_0x4edc09);const _0xe344f3=_0x1c8330[_0x1a2ed8(0x184)]||_0x1c8330['status']||0x1f4;_0x51635b[_0x1a2ed8(0x200)](_0xe344f3)['json']({'success':![],'error':_0xe344f3>=0x1f4?_0x1feaea[_0x1a2ed8(0x1df)]:_0x1c8330[_0x1a2ed8(0x185)],'requestId':_0x4edc09['id']||_0x4edc09[_0x1a2ed8(0x1d0)]?.[_0x1feaea['yGsgD']]||null});};};function a0_0x4524(_0x29ff1d,_0x4a0cf6){_0x29ff1d=_0x29ff1d-0x183;const _0x35a208=a0_0x35a2();let _0x452471=_0x35a208[_0x29ff1d];if(a0_0x4524['ESOYiK']===undefined){var _0x128e35=function(_0x57c251){const _0x104c9c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x55c6e6='',_0x304341='';for(let _0xdfcba3=0x0,_0x5b1fa4,_0x4270e6,_0x66450=0x0;_0x4270e6=_0x57c251['charAt'](_0x66450++);~_0x4270e6&&(_0x5b1fa4=_0xdfcba3%0x4?_0x5b1fa4*0x40+_0x4270e6:_0x4270e6,_0xdfcba3++%0x4)?_0x55c6e6+=String['fromCharCode'](0xff&_0x5b1fa4>>(-0x2*_0xdfcba3&0x6)):0x0){_0x4270e6=_0x104c9c['indexOf'](_0x4270e6);}for(let _0x5abca9=0x0,_0x218ad9=_0x55c6e6['length'];_0x5abca9<_0x218ad9;_0x5abca9++){_0x304341+='%'+('00'+_0x55c6e6['charCodeAt'](_0x5abca9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x304341);};a0_0x4524['pigbnw']=_0x128e35,a0_0x4524['PIDeYU']={},a0_0x4524['ESOYiK']=!![];}const _0x3a1d01=_0x35a208[0x0],_0x21e56b=_0x29ff1d+_0x3a1d01,_0x82e7e5=a0_0x4524['PIDeYU'][_0x21e56b];return!_0x82e7e5?(_0x452471=a0_0x4524['pigbnw'](_0x452471),a0_0x4524['PIDeYU'][_0x21e56b]=_0x452471):_0x452471=_0x82e7e5,_0x452471;}module[a0_0x5ba06d(0x19c)]={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
|
|
1
|
+
const a0_0x257325=a0_0x209b;(function(_0x24fa6c,_0x140019){const _0x110522=a0_0x209b,_0x2fcbc9=_0x24fa6c();while(!![]){try{const _0x58f195=parseInt(_0x110522(0x1bd))/0x1*(-parseInt(_0x110522(0x127))/0x2)+parseInt(_0x110522(0x12e))/0x3+-parseInt(_0x110522(0x197))/0x4+-parseInt(_0x110522(0x16b))/0x5*(parseInt(_0x110522(0x13b))/0x6)+-parseInt(_0x110522(0x1ad))/0x7+parseInt(_0x110522(0x1ab))/0x8+parseInt(_0x110522(0x1b4))/0x9;if(_0x58f195===_0x140019)break;else _0x2fcbc9['push'](_0x2fcbc9['shift']());}catch(_0x34f4c1){_0x2fcbc9['push'](_0x2fcbc9['shift']());}}}(a0_0x1e14,0xf1d66));const pino=require(a0_0x257325(0x11e)),fs=require('fs'),path=require(a0_0x257325(0x1cf));let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel=a0_0x257325(0x1b5),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;function a0_0x209b(_0x6c6a11,_0x4ba28e){_0x6c6a11=_0x6c6a11-0x11e;const _0x1e1488=a0_0x1e14();let _0x209b59=_0x1e1488[_0x6c6a11];if(a0_0x209b['nAffaz']===undefined){var _0x2d3da1=function(_0x38f02b){const _0x3f050a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x111720='',_0x29fb9b='';for(let _0x4451ad=0x0,_0x1892bb,_0x65ec5b,_0x43709e=0x0;_0x65ec5b=_0x38f02b['charAt'](_0x43709e++);~_0x65ec5b&&(_0x1892bb=_0x4451ad%0x4?_0x1892bb*0x40+_0x65ec5b:_0x65ec5b,_0x4451ad++%0x4)?_0x111720+=String['fromCharCode'](0xff&_0x1892bb>>(-0x2*_0x4451ad&0x6)):0x0){_0x65ec5b=_0x3f050a['indexOf'](_0x65ec5b);}for(let _0x35994a=0x0,_0x672fd3=_0x111720['length'];_0x35994a<_0x672fd3;_0x35994a++){_0x29fb9b+='%'+('00'+_0x111720['charCodeAt'](_0x35994a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x29fb9b);};a0_0x209b['apTZIa']=_0x2d3da1,a0_0x209b['bfHLCD']={},a0_0x209b['nAffaz']=!![];}const _0x42f4d6=_0x1e1488[0x0],_0x4da024=_0x6c6a11+_0x42f4d6,_0x3f29cc=a0_0x209b['bfHLCD'][_0x4da024];return!_0x3f29cc?(_0x209b59=a0_0x209b['apTZIa'](_0x209b59),a0_0x209b['bfHLCD'][_0x4da024]=_0x209b59):_0x209b59=_0x3f29cc,_0x209b59;}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_0x257325(0x15c),'hideObject':!![]},isDevelopment=process['env'][a0_0x257325(0x164)]!=='production',logLevel=process[a0_0x257325(0x18f)][a0_0x257325(0x1c7)]||'info';function a0_0x1e14(){const _0x5b0bac=['BxmP','Cg9YDa','yxbPA2v5','mtu2mZLIDfPsCwW','uLHpuhq','rgf0ywjHC2u6ia','ic0G','Dg9Rzw4','Dw5JyxvNAhrfEgnLChrPB24','tM9Kzs5QCW','y29UBMvJDgLVBG','D2fYBG','Ew9AB0u','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','y2HPBgq','rermx0rst1a','nJznBxLREwq','BwvZC2fNzq','C3rHDhvZq29Kzq','tvjHs1i','ENLcs04','Dhj1zq','B2H2DMO','C2vYDMvYx3n0yxj0Aw5N','zfzXBxi','BwfW','yLbYuKm','wezTwKq','CgLK','zxHPDa','zfb2Axu','B0Dbt1G','DxjS','zxHWB3j0CW','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','uhHzvLm','vfjbtLnbq1rjt05Fq09ntuLu','zgv2zwXVCg1LBNq','DhjPBq','rKfuquW6ia','w09lxsbqCM9Qzwn0igXVywrLzdOG','vMLwvMu','DhLWzq','C2vftuG','Ahr0Cf9LCNjVCG','qu9kDhq','w1jfrefdvevexq','Ahr0Cf9Yzxf1zxn0','q1jjveLdquW','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','zw52AxjVBM1LBNq','B2jQzwn0','yxbPs2v5','y3z2','revuDuC','zgjFCxvLCNK','ve9uu2G','tK9erv9ftLy','BwvTB3j5vxnHz2u','DgvZDa','Ec1Yzxf1zxn0lwLK','Dg9ju09tDhjPBMC','AxPuCeu','Ag9ZDa','ntyWnZuWEevSqKvf','revmrvrf','w1jfrefdveveoMHHC2HD','CgLU','yxDADeC','uefNEei','z2v0','Bwf4','y3jLzgL0x2nHCMq','CMvWzwf0','BhjTwfq','qNDQwem','uhjVy2vZCYbxyxjUAw5NoIa','sMrnAhq','CgfYyw1Z','sfruuca','y29UzMLNrMLSzq','zhvYyxrPB25nCW','zgf0ywjHC2u','Bwf0y2G','AgvHBhrOq2HLy2S','tuTKAwq','CxvLCNK','ChDK','iokvKqRILzeGiefqssblzxKGicaGidOG','C29Tzq','AM9PBG','Aw5MBW','q05oqM0','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','vhjHBNnHy3rPB24G','vvbeqvrf','CMvZDgzVCMDL','CeHdD2q','C2vYDMLJzuLUzM8','C3rHDhvZ','zw52','C3fSx3f1zxj5','CgfKrw5K','z2HpzMi','Dxb0Aw1L','Dg9gAxHLza','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','reDrEwK','mZm1odi4ohnKwhD1BG','rermx0fmvevs','wxvsqK0','y29Kzq','DfHtEKK','y3jLzgL0y2fYza','yM9KEq','B0vuA2i','Bg9N','uhLIAwO','CM93C0fMzMvJDgvK','D2fWBgi','AK54t1a','AvfRrwy','B0DeqNC','CMvZB2X2zq','sLL2y1C','tI9b','tMjrDw0','zxjYB3i','mtqYmtq4mdbWCwH5t0G','Bwv0Ag9K','nZG1ode1ogPYvxPdtG','zMLSzv9SB2DNAw5Nx2vUywjSzwq','AgvHzgvYCW','z1vpyvm','vu5ltK9xtG','yMfZzvvYBa','C3rYAw5N','mJK3mdq2mdHTvg1xyNy','zgvIDwC','qunusvzf','EhD6z1y','yxbWlMXVzW','ywnJzxnZx3rVA2vU','yxbPx2TLEq','CgfZC3DK','C3rHCNrZv2L0Aa','m3zSBhveBG','Cg9ZDgDYzxnXBa','zw1Twxu','C2vYDMvYx3jLywr5','tK9uiefdveLwrq','Dw5Oyw5KBgvKuMvQzwn0Aw9U','BMfTzq','u2fiB0G','Cxr0DLO','iokvKqRILzeGienVBMzPzYaGicaGidOG','te9hx0XfvKvm','C3rHy2S','rfjpua','zgvMyxvSDa','BgvUz3rO','zMf0ywW','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','D3jPDgu','Cgf0Aa','C3rKu2vYAwfSAxPLCNm','qxnry20','quXurvi','CgLUBW','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','rxjYB3i','te9hx0rjuG','lI9SB2DZlW','u1rbuLqGvfjbtLnbq1rjt04','u0vmrunu','CMvMCMvZAf90B2TLBG','Au1XC1a','ntK3ndyYuLjQugPc','u0rYBuW','A09KD08','zgf0ywjHC2vFy29UzMLN'];a0_0x1e14=function(){return _0x5b0bac;};return a0_0x1e14();}let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x257325(0x18b),'version':process[a0_0x257325(0x18f)]['APP_VERSION']||'1.0.5','env':process['env'][a0_0x257325(0x164)]||a0_0x257325(0x150)},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':['req.headers.authorization',a0_0x257325(0x1cd),'password',a0_0x257325(0x132),a0_0x257325(0x15f),'DB_PASSWORD','JWT_SECRET'],'censor':a0_0x257325(0x159)},'serializers':{'req':_0x17ab17=>({'id':_0x17ab17['id'],'method':_0x17ab17[a0_0x257325(0x1ac)],'url':_0x17ab17[a0_0x257325(0x14b)],'path':_0x17ab17['path'],'remoteAddress':_0x17ab17['ip']||_0x17ab17['connection']?.['remoteAddress']}),'res':_0x3d9c87=>({'statusCode':_0x3d9c87['statusCode'],'headers':_0x3d9c87['getHeaders']?.()}),'err':pino[a0_0x257325(0x1d0)]['err']}});function initFileLogging(){const _0x59039a=a0_0x257325,_0xb1dc4f={'MKdid':function(_0x2d070d,_0x579ba9){return _0x2d070d===_0x579ba9;},'CNNBm':_0x59039a(0x140),'MRaKR':_0x59039a(0x1ca),'TQAPg':'restforge','seEMH':'debug','awZtG':function(_0x583c26,_0x566663){return _0x583c26!==_0x566663;},'aDuCI':function(_0x2390cb,_0x49c025){return _0x2390cb(_0x49c025);},'XFmZD':'app.log','SaHoH':function(_0x3d2d12,_0x47a661,_0x143a44){return _0x3d2d12(_0x47a661,_0x143a44);}};if(fileLoggingInitialized)return;logToFile=_0xb1dc4f[_0x59039a(0x180)](process['env']['LOG_TO_FILE'],_0xb1dc4f[_0x59039a(0x187)]);const _0x4fd4b7=process[_0x59039a(0x18f)]['RESTFORGE_PROJECT_NAME']||_0xb1dc4f[_0x59039a(0x13e)];logDir=process[_0x59039a(0x18f)][_0x59039a(0x121)]||_0x59039a(0x122)+_0x4fd4b7,serviceName=process[_0x59039a(0x18f)]['SERVICE_NAME']||_0xb1dc4f['TQAPg'],sqlLogEnabled=process['env']['SQL_LOG_ENABLED']==='true',sqlLogLevel=process['env']['SQL_LOG_LEVEL']||_0xb1dc4f[_0x59039a(0x156)],sqlLogParams=_0xb1dc4f[_0x59039a(0x16f)](process[_0x59039a(0x18f)]['SQL_LOG_PARAMS'],'false'),sqlLogSlowThreshold=_0xb1dc4f['aDuCI'](parseInt,process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x13f34f=path[_0x59039a(0x1a6)](process['cwd'](),logDir);try{!fs['existsSync'](_0x13f34f)&&fs['mkdirSync'](_0x13f34f,{'recursive':!![]});}catch(_0x2c188b){console[_0x59039a(0x1aa)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x13f34f+':',_0x2c188b['message']),fileLoggingInitialized=!![];return;}const _0x160f55=path[_0x59039a(0x185)](_0x13f34f,_0xb1dc4f[_0x59039a(0x146)]),_0x310623=path['join'](_0x13f34f,'error.log');try{appLogStream=fs['createWriteStream'](_0x160f55,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x310623,{'flags':'a'}),fileLoggingInitialized=!![];const _0x9aadb4={'event':_0x59039a(0x1ae),'logDir':_0x13f34f,'files':[_0x59039a(0x1b8),'error.log']},_0x575803='File\x20logging\x20enabled:\x20'+_0x13f34f;logger['info'](_0x9aadb4,_0x575803),_0xb1dc4f[_0x59039a(0x1c4)](writeToFileLog,{..._0x9aadb4,'level':'info','msg':_0x575803,'time':new Date()[_0x59039a(0x168)]()},'info');}catch(_0x29a5af){console[_0x59039a(0x1aa)](_0x59039a(0x188),_0x29a5af[_0x59039a(0x13c)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x383f48,_0x142340){const _0x3fed9b=a0_0x257325,_0x592cec={'oETkb':function(_0x5a367d,_0x44b0b8){return _0x5a367d||_0x44b0b8;},'YVOib':function(_0xcca45d,_0x326104){return _0xcca45d===_0x326104;}};if(_0x592cec[_0x3fed9b(0x19e)](!logToFile,!appLogStream))return;const _0x2cdea1={'service':serviceName,..._0x383f48},_0x1469e6=JSON['stringify'](_0x2cdea1)+'\x0a';appLogStream[_0x3fed9b(0x1ce)](_0x1469e6),(_0x142340===_0x3fed9b(0x1aa)||_0x592cec['YVOib'](_0x142340,'fatal'))&&(errorLogStream&&errorLogStream[_0x3fed9b(0x1ce)](_0x1469e6));}const createRequestLogger=(_0x3a2381={})=>{const _0x5dc750=a0_0x257325;return logger[_0x5dc750(0x139)](_0x3a2381);},logServerStart=_0x28531d=>{const _0x43ce80=a0_0x257325,_0x28c64a={'kOdwO':function(_0x346c05,_0x5a31f0){return _0x346c05-_0x5a31f0;},'ViVVe':function(_0x2c48bf,_0x4305e8){return _0x2c48bf/_0x4305e8;},'tXSzI':_0x43ce80(0x1a8),'DGQyi':function(_0x3207ec,_0x554dbc){return _0x3207ec(_0x554dbc);},'vwBcJ':'Default','ghOfb':_0x43ce80(0x1c1),'waplb':_0x43ce80(0x142)},_0x39383f=_0x43ce80(0x195),_0x190b0d=Math[_0x43ce80(0x172)](0x0,_0x28c64a[_0x43ce80(0x129)](0x37,_0x39383f[_0x43ce80(0x1cb)])),_0x5dc53f=Math['floor'](_0x28c64a[_0x43ce80(0x154)](_0x190b0d,0x2)),_0x5eb452=_0x28c64a[_0x43ce80(0x129)](_0x190b0d,_0x5dc53f),_0x5ccf85='║'+'\x20'['repeat'](_0x5dc53f)+_0x39383f+'\x20'[_0x43ce80(0x174)](_0x5eb452)+'║',_0x58ff04=_0x43ce80(0x138)+_0x5ccf85+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x28531d[_0x43ce80(0x15d)]||_0x43ce80(0x134))['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x28531d['project']||_0x28c64a[_0x43ce80(0x19b)])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+_0x28c64a[_0x43ce80(0x196)](String,_0x28531d['port']||0xbb8)['padEnd'](0x26)+_0x43ce80(0x1c6)+(_0x28531d[_0x43ce80(0x17b)]||_0x28c64a['vwBcJ'])[_0x43ce80(0x191)](0x26)+_0x43ce80(0x183)+(_0x28531d['apiKey']?_0x43ce80(0x1b6):_0x28c64a[_0x43ce80(0x192)])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x43ce80(0x19f)](_0x58ff04);const _0x30eef0={'event':_0x28c64a[_0x43ce80(0x1a2)],'project':_0x28531d['project'],'port':_0x28531d[_0x43ce80(0x12c)],'config':_0x28531d[_0x43ce80(0x17b)],'apiKeyEnabled':!!_0x28531d['apiKey']};logger[_0x43ce80(0x186)](_0x30eef0),writeToFileLog({..._0x30eef0,'level':'info','msg':'Server\x20starting:\x20'+_0x28531d['project']+'\x20on\x20port\x20'+_0x28531d['port'],'time':new Date()['toISOString']()},_0x43ce80(0x186));},logServerReady=_0x54e8e2=>{const _0x2169a2=a0_0x257325,_0x594570={'kgDZg':_0x2169a2(0x1c0),'CAAqW':'info'},_0x433376={'event':_0x594570['kgDZg'],'port':_0x54e8e2[_0x2169a2(0x12c)],'module':_0x54e8e2['module'],'healthCheck':_0x54e8e2['healthCheck'],'serviceInfo':_0x54e8e2['serviceInfo'],'baseUrl':_0x54e8e2[_0x2169a2(0x1b2)]},_0xb48da='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x54e8e2[_0x2169a2(0x12c)];logger['info'](_0x433376,_0xb48da),writeToFileLog({..._0x433376,'level':'info','msg':_0xb48da,'time':new Date()[_0x2169a2(0x168)]()},_0x594570['CAAqW']),_0x54e8e2['healthCheck']&&logger[_0x2169a2(0x186)]('\x20\x20Health:\x20'+_0x54e8e2[_0x2169a2(0x17f)]),_0x54e8e2[_0x2169a2(0x18d)]&&logger['info']('\x20\x20Info:\x20\x20\x20'+_0x54e8e2[_0x2169a2(0x18d)]),_0x54e8e2['baseUrl']&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0x54e8e2[_0x2169a2(0x1b2)]);},logProjectLoaded=(_0x3f4669,_0x53b979)=>{const _0x290f80=a0_0x257325,_0x21861d={'event':'project_loaded','project':_0x3f4669,'path':_0x53b979},_0x3a9aa3=_0x290f80(0x153)+_0x3f4669;logger['info'](_0x21861d,_0x3a9aa3),writeToFileLog({..._0x21861d,'level':_0x290f80(0x186),'msg':_0x3a9aa3,'time':new Date()['toISOString']()},_0x290f80(0x186));},logEndpointRegistered=(_0x1d8e34,_0x76c9dc)=>{const _0x7c61e0=a0_0x257325,_0x431ec3={'YuRBM':'debug'},_0x507ec0={'event':'endpoint_registered','endpoint':_0x1d8e34,'route':_0x76c9dc},_0x2a03e5='\x20\x20→\x20'+_0x1d8e34+':\x20'+_0x76c9dc;logger['debug'](_0x507ec0,_0x2a03e5),writeToFileLog({..._0x507ec0,'level':_0x431ec3['YuRBM'],'msg':_0x2a03e5,'time':new Date()['toISOString']()},_0x431ec3[_0x7c61e0(0x199)]);},logDatabaseConfig=_0x5039e0=>{const _0x3f0ca7=a0_0x257325,_0x4ebefe={'zyBKN':_0x3f0ca7(0x12a),'Wrwez':function(_0x2eda9d,_0x5cfddc,_0x3ba572){return _0x2eda9d(_0x5cfddc,_0x3ba572);},'dVqmr':'debug'},_0x7400cf={'event':_0x4ebefe[_0x3f0ca7(0x13f)],'host':_0x5039e0[_0x3f0ca7(0x16a)],'port':_0x5039e0['port'],'database':_0x5039e0[_0x3f0ca7(0x17d)],'type':_0x5039e0[_0x3f0ca7(0x155)],'user':_0x5039e0['user']},_0x511d9b=_0x3f0ca7(0x130)+_0x5039e0['type']+'://'+_0x5039e0['host']+':'+_0x5039e0['port']+'/'+_0x5039e0['database'];logger[_0x3f0ca7(0x1b5)](_0x7400cf,_0x511d9b),_0x4ebefe['Wrwez'](writeToFileLog,{..._0x7400cf,'level':_0x4ebefe[_0x3f0ca7(0x143)],'msg':_0x511d9b,'time':new Date()[_0x3f0ca7(0x168)]()},_0x3f0ca7(0x1b5));},logRequest=(_0x37e379,_0x21789f,_0xe374d3)=>{const _0x5e3a1f=a0_0x257325,_0x11188a={'PAgxB':function(_0x515e9a,_0x417f27,_0x3bbfc4){return _0x515e9a(_0x417f27,_0x3bbfc4);}},_0x516cdd={'event':_0x5e3a1f(0x15a),'method':_0x37e379['method'],'path':_0x37e379[_0x5e3a1f(0x1cf)],'statusCode':_0x21789f['statusCode'],'durationMs':_0xe374d3,'ip':_0x37e379['ip']},_0x410c8d=_0x37e379['method']+'\x20'+_0x37e379[_0x5e3a1f(0x1cf)]+_0x5e3a1f(0x131)+_0x21789f[_0x5e3a1f(0x13d)]+'\x20('+_0xe374d3+_0x5e3a1f(0x12b);let _0xa26ec0=_0x5e3a1f(0x186);if(_0x21789f[_0x5e3a1f(0x13d)]>=0x1f4)_0xa26ec0=_0x5e3a1f(0x1aa),logger['error'](_0x516cdd,_0x410c8d);else _0x21789f[_0x5e3a1f(0x13d)]>=0x190?(_0xa26ec0=_0x5e3a1f(0x136),logger[_0x5e3a1f(0x136)](_0x516cdd,_0x410c8d)):logger[_0x5e3a1f(0x186)](_0x516cdd,_0x410c8d);_0x11188a[_0x5e3a1f(0x170)](writeToFileLog,{..._0x516cdd,'level':_0xa26ec0,'msg':_0x410c8d,'time':new Date()['toISOString']()},_0xa26ec0);},SENSITIVE_PARAM_PATTERNS=['password',a0_0x257325(0x1bb),a0_0x257325(0x182),a0_0x257325(0x132),'access_token',a0_0x257325(0x125),'secret','api_secret','apikey','api_key','credential','credentials',a0_0x257325(0x16e),'otp','private_key','privatekey'],redactSensitiveParams=(_0x2813cf,_0x491a18)=>{const _0x17ee93=a0_0x257325,_0x2230f9={'AsQcm':_0x17ee93(0x159),'AwlEo':function(_0x4cb808,_0x3f3d6e){return _0x4cb808===_0x3f3d6e;},'kcNlK':_0x17ee93(0x1b3),'uMKVq':'[REDACTED:token]'};if(!_0x2813cf||_0x2813cf[_0x17ee93(0x1cb)]===0x0)return _0x2813cf;const _0x5a2941=_0x491a18['toLowerCase'](),_0x2f3344=_0x5a2941[_0x17ee93(0x17e)](/\(([^)]+)\)\s*values/i);let _0x43495e=[];_0x2f3344&&(_0x43495e=_0x2f3344[0x1]['split'](',')[_0x17ee93(0x144)](_0x116901=>_0x116901['trim']()['toLowerCase']()));const _0x482002=_0x5a2941['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x482002){const _0x530c66=_0x482002[0x1],_0x57b4ac=_0x530c66['match'](/(\w+)\s*=/g);_0x57b4ac&&(_0x43495e=_0x57b4ac['map'](_0x256d05=>_0x256d05['replace'](/\s*=/,'')[_0x17ee93(0x151)]()['toLowerCase']()));}return _0x2813cf[_0x17ee93(0x144)]((_0x783cc5,_0x2ea8fc)=>{const _0x101fb5=_0x17ee93;if(_0x43495e[_0x2ea8fc]){const _0x2ee924=_0x43495e[_0x2ea8fc],_0x29fb9c=SENSITIVE_PARAM_PATTERNS[_0x101fb5(0x184)](_0x1ffdd7=>_0x2ee924['includes'](_0x1ffdd7));if(_0x29fb9c)return _0x2230f9[_0x101fb5(0x1d1)];}if(_0x2230f9['AwlEo'](typeof _0x783cc5,_0x2230f9['kcNlK'])&&_0x783cc5[_0x101fb5(0x1cb)]>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x101fb5(0x166)](_0x783cc5)&&_0x783cc5['includes']('.'))return _0x2230f9['uMKVq'];if(/^[a-fA-F0-9]{32,}$/['test'](_0x783cc5))return _0x101fb5(0x16d);}return _0x783cc5;});},parseQueryMetadata=_0x13ab42=>{const _0x46d17d=a0_0x257325,_0x18d866={'OQbRU':_0x46d17d(0x124),'emmYu':'INSERT','ZgoAK':'DELETE','ohvvj':'BEGIN','SDrmL':'COMMIT','fuECP':'ROLLBACK','xwzgV':'TRANSACTION_ROLLBACK'},_0x498a00=_0x13ab42['trim'](),_0x3755b2=_0x498a00['toUpperCase']();let _0x3e46a1=_0x46d17d(0x1b1),_0x5d614e=null;if(_0x3755b2[_0x46d17d(0x1bc)](_0x18d866['OQbRU'])){_0x3e46a1=_0x46d17d(0x124);const _0x309fa6=_0x498a00[_0x46d17d(0x17e)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5d614e=_0x309fa6?_0x309fa6[0x1]:null;}else{if(_0x3755b2[_0x46d17d(0x1bc)](_0x18d866[_0x46d17d(0x1bf)])){_0x3e46a1=_0x18d866['emmYu'];const _0x1f7d72=_0x498a00['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5d614e=_0x1f7d72?_0x1f7d72[0x1]:null;}else{if(_0x3755b2['startsWith']('UPDATE')){_0x3e46a1=_0x46d17d(0x18a);const _0x38c345=_0x498a00['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5d614e=_0x38c345?_0x38c345[0x1]:null;}else{if(_0x3755b2['startsWith'](_0x18d866['ZgoAK'])){_0x3e46a1=_0x46d17d(0x16c);const _0x4bd238=_0x498a00[_0x46d17d(0x17e)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5d614e=_0x4bd238?_0x4bd238[0x1]:null;}else{if(_0x3755b2['startsWith'](_0x18d866[_0x46d17d(0x141)])||_0x3755b2['startsWith'](_0x46d17d(0x123)))_0x3e46a1='TRANSACTION_BEGIN';else{if(_0x3755b2[_0x46d17d(0x1bc)](_0x18d866[_0x46d17d(0x128)]))_0x3e46a1=_0x46d17d(0x14f);else{if(_0x3755b2[_0x46d17d(0x1bc)](_0x18d866['fuECP']))_0x3e46a1=_0x18d866[_0x46d17d(0x1b7)];else{if(_0x3755b2[_0x46d17d(0x1bc)]('CREATE'))_0x3e46a1='DDL_CREATE';else{if(_0x3755b2['startsWith'](_0x46d17d(0x1d2)))_0x3e46a1=_0x46d17d(0x198);else _0x3755b2[_0x46d17d(0x1bc)](_0x46d17d(0x1c9))&&(_0x3e46a1=_0x46d17d(0x13a));}}}}}}}}return{'type':_0x3e46a1,'table':_0x5d614e};},startQueryTimer=()=>{const _0x44816c={'RXOPt':function(_0x21346f,_0x2be673){return _0x21346f/_0x2be673;}},_0x5c3771=process['hrtime']();return()=>{const _0x43c2ef=a0_0x209b,[_0x39f84f,_0x181ef0]=process['hrtime'](_0x5c3771);return parseFloat((_0x39f84f*0x3e8+_0x44816c[_0x43c2ef(0x12f)](_0x181ef0,0xf4240))[_0x43c2ef(0x194)](0x2));};},logQuery=(_0x39f91f,_0xe16c7a=[],_0x3eca11={})=>{const _0x1f36db=a0_0x257325,_0x2502f8={'DzGHq':'DB\x20Query','iMqsP':_0x1f36db(0x190),'hNVaQ':function(_0x2c6e42,_0x58bbe0,_0x112df3){return _0x2c6e42(_0x58bbe0,_0x112df3);},'cXqYs':function(_0x4b4be6,_0x298db9){return _0x4b4be6!==_0x298db9;},'izTpE':'unknown','oGAOX':function(_0x235266,_0x1f9eb3){return _0x235266!==_0x1f9eb3;},'dPviu':function(_0x1f9299,_0x281891){return _0x1f9299>_0x281891;},'JdMht':function(_0x3311c8,_0x548f3f,_0x34847b){return _0x3311c8(_0x548f3f,_0x34847b);}};if(!sqlLogEnabled){logger[_0x1f36db(0x1b5)]({'event':_0x1f36db(0x162),'query':_0x39f91f['substring'](0x0,0xc8),'paramCount':_0xe16c7a['length']},_0x2502f8['DzGHq']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x1f36db(0x1be)}=_0x3eca11,{type:_0x2c384c,table:_0x3c69ee}=parseQueryMetadata(_0x39f91f),_0x10b266={'event':_0x2502f8[_0x1f36db(0x126)],'queryType':_0x2c384c,'table':_0x3c69ee,'query':_0x39f91f,'paramCount':_0xe16c7a[_0x1f36db(0x1cb)],'dbType':dbType};sqlLogParams&&_0xe16c7a[_0x1f36db(0x1cb)]>0x0&&(_0x10b266[_0x1f36db(0x179)]=_0x2502f8['hNVaQ'](redactSensitiveParams,_0xe16c7a,_0x39f91f));_0x2502f8['cXqYs'](duration,null)&&(_0x10b266[_0x1f36db(0x17c)]=duration,_0x10b266['isSlow']=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x10b266[_0x1f36db(0x1a1)]=rowsAffected);const _0x25b1b1=_0x3c69ee||_0x2502f8[_0x1f36db(0x169)];let _0x3ddc97='['+_0x2c384c+']\x20'+_0x25b1b1;_0x2502f8[_0x1f36db(0x14a)](duration,null)&&(_0x3ddc97+='\x20('+duration+_0x1f36db(0x12b));const _0x550db3=_0x2502f8['cXqYs'](duration,null)&&_0x2502f8[_0x1f36db(0x149)](duration,sqlLogSlowThreshold);let _0x55462f=_0x1f36db(0x1b5);if(_0x550db3)_0x3ddc97+='\x20[SLOW]',_0x55462f=_0x1f36db(0x136),logger['warn'](_0x10b266,_0x3ddc97);else sqlLogLevel==='info'?(_0x55462f=_0x1f36db(0x186),logger['info'](_0x10b266,_0x3ddc97)):logger['debug'](_0x10b266,_0x3ddc97);_0x2502f8[_0x1f36db(0x178)](writeToFileLog,{..._0x10b266,'level':_0x55462f,'msg':_0x3ddc97,'time':new Date()[_0x1f36db(0x168)]()},_0x55462f);},logTransaction=(_0x553420,_0x2ccc6b)=>{const _0x3e549b=a0_0x257325,_0x544b30={'bPrRC':'db_transaction','zCTHy':function(_0x5e7f56,_0x2c5763,_0x46d00b){return _0x5e7f56(_0x2c5763,_0x46d00b);},'RSGwT':_0x3e549b(0x1b5)},_0x342040={'event':_0x544b30[_0x3e549b(0x145)],'status':_0x553420,'queryCount':_0x2ccc6b},_0x412e73=_0x3e549b(0x189)+_0x553420;logger['debug'](_0x342040,_0x412e73),_0x544b30['zCTHy'](writeToFileLog,{..._0x342040,'level':_0x544b30['RSGwT'],'msg':_0x412e73,'time':new Date()['toISOString']()},_0x3e549b(0x1b5));},redactObject=_0x5bf7a1=>{const _0x38413e=a0_0x257325,_0x24266d={'ehXjs':function(_0xa58a67,_0x18f076){return _0xa58a67!==_0x18f076;},'lCtoS':_0x38413e(0x15e),'qttvZ':'passwd','EXPLZ':_0x38413e(0x182),'JYvcW':'token','yoZoE':'secret','cPnDO':_0x38413e(0x19c),'lrmXT':_0x38413e(0x173),'ayTdn':_0x38413e(0x160),'jNxOP':'ssn','MGCAV':_0x38413e(0x16e),'lkdlY':'private_key','SLKCH':_0x38413e(0x125),'BwjXC':_0x38413e(0x1b9),'iQkEf':_0x38413e(0x159),'AOJtt':function(_0x1a1ade,_0x1e3208){return _0x1a1ade===_0x1e3208;},'tyiYt':function(_0x18e42c,_0x545dee){return _0x18e42c(_0x545dee);}};if(!_0x5bf7a1||_0x24266d['ehXjs'](typeof _0x5bf7a1,_0x24266d['lCtoS']))return _0x5bf7a1;const _0x16379a=['password',_0x24266d[_0x38413e(0x1c5)],_0x24266d['EXPLZ'],_0x24266d[_0x38413e(0x1a7)],_0x24266d[_0x38413e(0x137)],_0x38413e(0x12d),_0x38413e(0x1ba),'authorization',_0x24266d['cPnDO'],_0x24266d[_0x38413e(0x175)],_0x24266d['ayTdn'],_0x24266d[_0x38413e(0x1a3)],_0x24266d['MGCAV'],_0x24266d['lkdlY'],'privatekey',_0x24266d['SLKCH'],_0x24266d[_0x38413e(0x176)]],_0x469f92=Array['isArray'](_0x5bf7a1)?[..._0x5bf7a1]:{..._0x5bf7a1};for(const _0xdabd4a of Object['keys'](_0x469f92)){const _0x803cc5=_0xdabd4a['toLowerCase']();if(_0x16379a[_0x38413e(0x184)](_0x261b4e=>_0x803cc5['includes'](_0x261b4e)))_0x469f92[_0xdabd4a]=_0x24266d[_0x38413e(0x1a4)];else _0x24266d[_0x38413e(0x158)](typeof _0x469f92[_0xdabd4a],'object')&&_0x24266d['ehXjs'](_0x469f92[_0xdabd4a],null)&&(_0x469f92[_0xdabd4a]=_0x24266d['tyiYt'](redactObject,_0x469f92[_0xdabd4a]));}return _0x469f92;},logError=(_0x4eebdc,_0x3a067a={},_0x37e0ed=null)=>{const _0x1d80ab=a0_0x257325,_0x22a8aa={'wgatq':_0x1d80ab(0x1aa),'NbQum':_0x1d80ab(0x120),'Pybij':function(_0x2edc38,_0x14f078,_0x2e3f7f){return _0x2edc38(_0x14f078,_0x2e3f7f);}},_0x3f0faa={'event':_0x22a8aa['wgatq'],'errorName':_0x4eebdc['name']||_0x22a8aa[_0x1d80ab(0x1a9)],'errorMessage':_0x4eebdc[_0x1d80ab(0x13c)],'errorCode':_0x4eebdc[_0x1d80ab(0x19a)]||null,'stack':_0x4eebdc[_0x1d80ab(0x1c8)],..._0x3a067a},_0x3b4bb7=_0x37e0ed||'Error:\x20'+_0x4eebdc['message'];logger[_0x1d80ab(0x1aa)](_0x3f0faa,_0x3b4bb7),_0x22a8aa[_0x1d80ab(0x1a0)](writeToFileLog,{..._0x3f0faa,'level':_0x22a8aa['wgatq'],'msg':_0x3b4bb7,'time':new Date()['toISOString']()},_0x1d80ab(0x1aa));},logFatalError=(_0x473813,_0x10e81e={},_0x498975=null)=>{const _0x888312=a0_0x257325,_0x1a129={'TOTSh':'fatal_error'},_0x3bb7b2={'event':_0x1a129[_0x888312(0x163)],'errorName':_0x473813['name']||'Error','errorMessage':_0x473813['message'],'errorCode':_0x473813['code']||null,'stack':_0x473813['stack'],'severity':_0x888312(0x15b),..._0x10e81e},_0xe4f885=_0x498975||_0x888312(0x152)+_0x473813[_0x888312(0x13c)];logger[_0x888312(0x1cc)](_0x3bb7b2,_0xe4f885),writeToFileLog({..._0x3bb7b2,'level':'fatal','msg':_0xe4f885,'time':new Date()['toISOString']()},_0x888312(0x1aa));},logHttpError=(_0x358588,_0x4f64f9,_0x1eb2b3={})=>{const _0x4a9437=a0_0x257325,_0x11b24f={'oGDBw':_0x4a9437(0x157),'cWGHE':_0x4a9437(0x120),'JUXvW':'user-agent','wAYJU':function(_0x17542a,_0x162649){return _0x17542a>=_0x162649;},'QaJXi':'warn','pHCwd':function(_0x269909,_0x5daf91){return _0x269909>=_0x5daf91;}},_0x398cb4={'event':_0x11b24f[_0x4a9437(0x1a5)],'errorName':_0x358588['name']||_0x11b24f['cWGHE'],'errorMessage':_0x358588[_0x4a9437(0x13c)],'errorCode':_0x358588[_0x4a9437(0x19a)]||_0x358588['statusCode']||0x1f4,'stack':_0x358588['stack'],'method':_0x4f64f9?.['method'],'url':_0x4f64f9?.[_0x4a9437(0x14b)]||_0x4f64f9?.['originalUrl'],'path':_0x4f64f9?.['path'],'ip':_0x4f64f9?.['ip']||_0x4f64f9?.[_0x4a9437(0x135)]?.['remoteAddress'],'userAgent':_0x4f64f9?.[_0x4a9437(0x171)]?.(_0x11b24f['JUXvW']),'requestId':_0x4f64f9?.['id']||_0x4f64f9?.['headers']?.[_0x4a9437(0x167)],'body':_0x4f64f9?.['body']?redactObject(_0x4f64f9[_0x4a9437(0x19d)]):undefined,'query':_0x4f64f9?.[_0x4a9437(0x181)],..._0x1eb2b3},_0x4af8e9=_0x358588['statusCode']||_0x358588['status']||0x1f4,_0x4c0c8e=_0x4a9437(0x17a)+_0x4af8e9+':\x20'+_0x358588[_0x4a9437(0x13c)];_0x11b24f['wAYJU'](_0x4af8e9,0x1f4)?logger[_0x4a9437(0x1aa)](_0x398cb4,_0x4c0c8e):logger[_0x4a9437(0x136)](_0x398cb4,_0x4c0c8e),writeToFileLog({..._0x398cb4,'level':_0x4af8e9>=0x1f4?'error':_0x11b24f['QaJXi'],'msg':_0x4c0c8e,'time':new Date()[_0x4a9437(0x168)]()},_0x11b24f[_0x4a9437(0x18c)](_0x4af8e9,0x1f4)?_0x4a9437(0x1aa):'warn');},logUncaughtError=(_0x29de3a,_0x2ca0c9)=>{const _0x7bb848=a0_0x257325,_0x15707f={'SpRwE':'Error','uVtgD':_0x7bb848(0x15b),'gUOaS':_0x7bb848(0x1cc)},_0x3f6a29={'event':_0x29de3a,'errorName':_0x2ca0c9?.['name']||_0x15707f['SpRwE'],'errorMessage':_0x2ca0c9?.[_0x7bb848(0x13c)]||String(_0x2ca0c9),'errorCode':_0x2ca0c9?.[_0x7bb848(0x19a)]||null,'stack':_0x2ca0c9?.['stack'],'severity':_0x15707f['uVtgD'],'processId':process[_0x7bb848(0x147)],'memoryUsage':process[_0x7bb848(0x165)](),'uptime':process[_0x7bb848(0x193)]()},_0x2277cf='['+_0x29de3a['toUpperCase']()+']\x20'+(_0x2ca0c9?.['message']||_0x2ca0c9);logger['fatal'](_0x3f6a29,_0x2277cf),writeToFileLog({..._0x3f6a29,'level':_0x15707f[_0x7bb848(0x1b0)],'msg':_0x2277cf,'time':new Date()[_0x7bb848(0x168)]()},_0x7bb848(0x1aa));},setupGlobalErrorHandlers=()=>{const _0x2763f9=a0_0x257325,_0x5f1154={'QzeXE':function(_0x1eff71,_0xf75d89,_0x52cb36){return _0x1eff71(_0xf75d89,_0x52cb36);},'YRKfU':'uncaughtException','DETuG':function(_0x1a2ce9,_0xc523ec,_0x2d64df){return _0x1a2ce9(_0xc523ec,_0x2d64df);},'PxYVS':function(_0xa9ea1a,_0x1e7e2f){return _0xa9ea1a(_0x1e7e2f);},'HUJZe':'unhandledRejection','lQqZb':'warning','mtZJn':'info'};process['on'](_0x2763f9(0x133),_0x275ca0=>{const _0x154418=_0x2763f9;_0x5f1154['QzeXE'](logUncaughtError,_0x5f1154['YRKfU'],_0x275ca0),_0x5f1154[_0x154418(0x161)](setTimeout,()=>{const _0x16b3ae=_0x154418;process[_0x16b3ae(0x148)](0x1);},0x3e8);}),process['on'](_0x2763f9(0x1c2),(_0x5020f6,_0x3b3a0e)=>{const _0x2ed322=_0x2763f9,_0x7b3422=_0x5020f6 instanceof Error?_0x5020f6:new Error(_0x5f1154[_0x2ed322(0x14e)](String,_0x5020f6));logUncaughtError(_0x5f1154['HUJZe'],_0x7b3422);}),process['on'](_0x5f1154['lQqZb'],_0x8dc67a=>{const _0x15523d=_0x2763f9;logger['warn']({'event':'process_warning','name':_0x8dc67a[_0x15523d(0x1c3)],'message':_0x8dc67a[_0x15523d(0x13c)],'stack':_0x8dc67a['stack']},_0x15523d(0x177)+_0x8dc67a[_0x15523d(0x13c)]);});const _0x56a22c={'event':_0x2763f9(0x11f)},_0x521df7=_0x2763f9(0x14d);logger['info'](_0x56a22c,_0x521df7),_0x5f1154['QzeXE'](writeToFileLog,{..._0x56a22c,'level':_0x2763f9(0x186),'msg':_0x521df7,'time':new Date()[_0x2763f9(0x168)]()},_0x5f1154['mtZJn']);},createErrorHandlerMiddleware=()=>{const _0x11b389={'JPmjA':function(_0x220f95,_0xf5b73){return _0x220f95>=_0xf5b73;}};return(_0x335a5b,_0xacd83b,_0x1dba1e,_0x2c93d8)=>{const _0x327e38=a0_0x209b;logHttpError(_0x335a5b,_0xacd83b);const _0x5a3173=_0x335a5b['statusCode']||_0x335a5b[_0x327e38(0x18e)]||0x1f4;_0x1dba1e['status'](_0x5a3173)['json']({'success':![],'error':_0x11b389['JPmjA'](_0x5a3173,0x1f4)?'Internal\x20server\x20error':_0x335a5b['message'],'requestId':_0xacd83b['id']||_0xacd83b[_0x327e38(0x1af)]?.[_0x327e38(0x167)]||null});};};module[a0_0x257325(0x14c)]={'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_0x762cd=a0_0x592a;(function(_0x5b0a88,_0x1e3557){const _0x3bb73a=a0_0x592a,_0x1627d7=_0x5b0a88();while(!![]){try{const _0x9c1c6c=-parseInt(_0x3bb73a(0x1c9))/0x1*(-parseInt(_0x3bb73a(0x1cf))/0x2)+parseInt(_0x3bb73a(0x1d3))/0x3*(-parseInt(_0x3bb73a(0x1fc))/0x4)+parseInt(_0x3bb73a(0x1e3))/0x5*(parseInt(_0x3bb73a(0x1e8))/0x6)+-parseInt(_0x3bb73a(0x1e5))/0x7+-parseInt(_0x3bb73a(0x1f6))/0x8*(parseInt(_0x3bb73a(0x1ca))/0x9)+-parseInt(_0x3bb73a(0x1d2))/0xa*(parseInt(_0x3bb73a(0x1ec))/0xb)+-parseInt(_0x3bb73a(0x1c8))/0xc*(-parseInt(_0x3bb73a(0x1e6))/0xd);if(_0x9c1c6c===_0x1e3557)break;else _0x1627d7['push'](_0x1627d7['shift']());}catch(_0x5f45e9){_0x1627d7['push'](_0x1627d7['shift']());}}}(a0_0x33e6,0x333c5));function a0_0x33e6(){const _0x2d0f3f=['BgvUz3rO','z2v0rgLZDgLUy3rwywX1zxm','iezst00G','zw52','ne1dsNLpyq','C2v0','zxHLy3v0zvf1zxj5','mtiWruTztLHS','ndK3CMTWvgvn','ovrNDxHzvq','tg9VA3vWignHy2HLignSzwfYzwq','D1LZyve','Aw5MBW','BxLZCwW','nJqYuurOr2Lv','Dg9vChbLCKnHC2u','ChvZAa','mZbUt3fLrfu','mtiZntC5nLDztKL1Aq','Bg9VA3vWq2fJAgu','ywXWA1G','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','Dg9mB3DLCKnHC2u','Bg9HzeXVB2T1CfrHyMXL','twjmr08','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','zNjVBq','B3jHy2XL','BwfW','vMfSDwuGiG','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq','s3LAyM4','y2XLyxi','lI9KyG','ndCWntG1Eu9HChfY','zgvIDwC','mJuZmdeYmKzHCvnmBG','mti1mdG5owzjvxrrra','AgfZ','mtjqyNbfzwu','iIbUB3qGzM91BMqGAw4G','lI9KyI1VCMfJBgu','v0LjrNe','nZuWnJCZCer3Benr','u0vmrunuia','zM9YrwfJAa','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','z2v0','CMvZB2X2zuXVB2T1CfzHBhvL','zw50CMLLCW','A2v5CW','BwvZC2fNzq','zuLmt0W','otC2mJy0wwTgEMzY','Bg9VA3vWx3rHyMXLx2XVywrLza'];a0_0x33e6=function(){return _0x2d0f3f;};return a0_0x33e6();}const dbType=(process[a0_0x762cd(0x1fb)]['DB_TYPE']||'postgresql')['toLowerCase']();let executeQuery;if(dbType===a0_0x762cd(0x1dc)){const oracleDb=require(a0_0x762cd(0x1ea));executeQuery=(_0x455c2a,_0x512729)=>oracleDb['executeQuery'](_0x455c2a,_0x512729);}else{if(dbType===a0_0x762cd(0x1ce)){const mysqlDb=require('./db-mysql');executeQuery=(_0x264c4b,_0x394961)=>mysqlDb[a0_0x762cd(0x1c7)](_0x264c4b,_0x394961);}else executeQuery=require(a0_0x762cd(0x1e2))['executeQuery'];}const {logger}=require('./logger');class LookupResolver{constructor(){const _0x4f3da8=a0_0x762cd;this[_0x4f3da8(0x1d4)]=new Map();}['clearCache'](){const _0x5d0682=a0_0x762cd,_0x51afa8={'alpkX':'lookup_cache_cleared'};this['lookupCache'][_0x5d0682(0x1e1)](),logger[_0x5d0682(0x1e4)]({'event':_0x51afa8[_0x5d0682(0x1d5)]},_0x5d0682(0x1cb));}async['loadLookupTable'](_0x115850,_0x55fbe5,_0x271abc){const _0x48b882=a0_0x762cd,_0x511716={'KyZbn':function(_0x951cec,_0xcfe476){return _0x951cec!==_0xcfe476;},'MbLGO':function(_0xda5e41,_0x451260){return _0xda5e41(_0x451260);},'sXfMu':function(_0x547c9a,_0x297261){return _0x547c9a(_0x297261);},'XRecK':_0x48b882(0x1da)},_0x4064d4=_0x115850+':'+_0x55fbe5+':'+_0x271abc;if(this[_0x48b882(0x1d4)][_0x48b882(0x1e7)](_0x4064d4))return this['lookupCache']['get'](_0x4064d4);try{const _0x1c3ae6=_0x48b882(0x1ed)+_0x271abc+',\x20'+_0x55fbe5+_0x48b882(0x1fa)+_0x115850,_0x399f5c=await _0x511716['sXfMu'](executeQuery,_0x1c3ae6),_0x3c5a43=new Map();return _0x399f5c[_0x48b882(0x1ee)](_0x21c86d=>{const _0x40af2b=_0x48b882,_0x4fcdf9=_0x21c86d[_0x55fbe5]!==undefined?_0x21c86d[_0x55fbe5]:_0x21c86d[_0x55fbe5[_0x40af2b(0x1d0)]()],_0xce24d7=_0x511716[_0x40af2b(0x1e0)](_0x21c86d[_0x271abc],undefined)?_0x21c86d[_0x271abc]:_0x21c86d[_0x271abc['toUpperCase']()];_0x511716['KyZbn'](_0x4fcdf9,null)&&_0x4fcdf9!==undefined&&(_0x3c5a43['set'](String(_0x4fcdf9)[_0x40af2b(0x1d7)]()['trim'](),_0xce24d7),_0x3c5a43['set'](_0x511716[_0x40af2b(0x1d9)](String,_0x4fcdf9)['trim'](),_0xce24d7));}),this['lookupCache'][_0x48b882(0x1c6)](_0x4064d4,_0x3c5a43),logger['info']({'event':_0x48b882(0x1f7),'table':_0x115850,'column':_0x55fbe5,'count':_0x399f5c[_0x48b882(0x1f8)]},'Lookup\x20table\x20loaded:\x20'+_0x115850),_0x3c5a43;}catch(_0x11ebb3){logger['error']({'event':_0x511716['XRecK'],'table':_0x115850,'error':_0x11ebb3[_0x48b882(0x1f4)]},_0x48b882(0x1ef)+_0x115850);throw _0x11ebb3;}}[a0_0x762cd(0x1f1)](_0x3ee2b5,_0x27fd8b){const _0x2b67d0=a0_0x762cd,_0x1b8043={'ZFCcK':function(_0x240feb,_0x5d0b3a){return _0x240feb===_0x5d0b3a;}};if(_0x1b8043['ZFCcK'](_0x3ee2b5,null)||_0x3ee2b5===undefined||_0x3ee2b5==='')return null;const _0x342c56=String(_0x3ee2b5)['trim']();if(_0x27fd8b['has'](_0x342c56))return _0x27fd8b[_0x2b67d0(0x1f0)](_0x342c56);const _0x1ad337=_0x342c56[_0x2b67d0(0x1d7)]();if(_0x27fd8b[_0x2b67d0(0x1e7)](_0x1ad337))return _0x27fd8b[_0x2b67d0(0x1f0)](_0x1ad337);return null;}async['processLookupFields'](_0x2db56e,_0x1dc24f){const _0x1afd42=a0_0x762cd,_0x136d80={'WIIFq':function(_0x483b29,_0x2bb258){return _0x483b29===_0x2bb258;},'xYuBJ':function(_0x122984,_0x1900ed){return _0x122984===_0x1900ed;},'wYsaQ':_0x1afd42(0x1d6)};if(!_0x1dc24f||Object[_0x1afd42(0x1f3)](_0x1dc24f)[_0x1afd42(0x1f8)]===0x0)return{'processedRows':_0x2db56e,'errors':[]};const _0x4c8278=[],_0x49b72b=new Map();for(const [_0x56746f,_0x19db1a]of Object[_0x1afd42(0x1f2)](_0x1dc24f)){const {lookupTable:_0x2d4814,lookupColumn:_0x3219dd,lookupIdColumn:_0x2856d9}=_0x19db1a,_0x52c2db=_0x2d4814+':'+_0x3219dd+':'+_0x2856d9;if(!_0x49b72b[_0x1afd42(0x1e7)](_0x52c2db)){const _0x2f3f18=await this['loadLookupTable'](_0x2d4814,_0x3219dd,_0x2856d9);_0x49b72b['set'](_0x52c2db,_0x2f3f18);}}const _0x1f85a0=_0x2db56e[_0x1afd42(0x1dd)]((_0x1c5e65,_0x1ccfd5)=>{const _0x2d46e6=_0x1afd42,_0x46e433={..._0x1c5e65};for(const [_0x78206b,_0x3b9e89]of Object[_0x2d46e6(0x1f2)](_0x1dc24f)){const {lookupTable:_0x467d4c,lookupColumn:_0x26a5f4,lookupIdColumn:_0x4c59cb,targetField:_0x3a62b7,required:_0x307e3a}=_0x3b9e89,_0x2a0ad6=_0x467d4c+':'+_0x26a5f4+':'+_0x4c59cb,_0x47aea8=_0x49b72b['get'](_0x2a0ad6),_0x18e837=_0x1c5e65[_0x78206b];if((_0x136d80[_0x2d46e6(0x1eb)](_0x18e837,null)||_0x18e837===undefined||_0x136d80['xYuBJ'](_0x18e837,''))&&!_0x307e3a){_0x46e433[_0x3a62b7]=null;continue;}const _0x13a787=this[_0x2d46e6(0x1f1)](_0x18e837,_0x47aea8);_0x13a787!==null?_0x46e433[_0x3a62b7]=_0x13a787:(_0x307e3a&&_0x4c8278['push']({'rowIndex':_0x1ccfd5,'field':_0x78206b,'value':_0x18e837,'targetField':_0x3a62b7,'lookupTable':_0x467d4c,'message':_0x2d46e6(0x1de)+_0x18e837+_0x2d46e6(0x1e9)+_0x467d4c}),_0x46e433[_0x3a62b7]=null);}return _0x46e433;});return logger[_0x1afd42(0x1cd)]({'event':_0x136d80[_0x1afd42(0x1cc)],'totalRows':_0x2db56e['length'],'errorCount':_0x4c8278['length'],'lookupFieldCount':Object[_0x1afd42(0x1f3)](_0x1dc24f)['length']},_0x1afd42(0x1df)),{'processedRows':_0x1f85a0,'errors':_0x4c8278};}[a0_0x762cd(0x1f9)](_0x5624d1,_0x4ea7c9){const _0x59acff=a0_0x762cd,_0x59642c={'njJyR':function(_0x12ff90,_0x425894){return _0x12ff90!==_0x425894;}},_0x11f60c=new Set();return _0x5624d1[_0x59acff(0x1ee)](_0x58b340=>{const _0x2b7651=_0x58b340[_0x4ea7c9];_0x2b7651!==null&&_0x59642c['njJyR'](_0x2b7651,undefined)&&_0x59642c['njJyR'](_0x2b7651,'')&&_0x11f60c['add'](String(_0x2b7651)['trim']());}),Array[_0x59acff(0x1db)](_0x11f60c);}async['validateLookupValues'](_0x480147,_0x3001f9){const _0x148375=a0_0x762cd,_0x25aaf2={'cJyjM':function(_0x3e957a,_0x23cca3){return _0x3e957a!==_0x23cca3;},'CCmCe':function(_0x17e304,_0x10b3f7){return _0x17e304===_0x10b3f7;},'eILOL':function(_0x4a4be8,_0x207abf){return _0x4a4be8>_0x207abf;}};if(!_0x3001f9||_0x25aaf2['CCmCe'](Object[_0x148375(0x1f3)](_0x3001f9)['length'],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x2a133a=[],_0x1a626d={};for(const [_0x53691d,_0x363e3f]of Object['entries'](_0x3001f9)){const {lookupTable:_0x2483b1,lookupColumn:_0x515233,lookupIdColumn:_0x3169bf,required:_0x91d5f4}=_0x363e3f,_0x2b0502=this['getDistinctValues'](_0x480147,_0x53691d),_0x1ac2bc=await this[_0x148375(0x1d8)](_0x2483b1,_0x515233,_0x3169bf),_0x139158=[],_0x2e6ba2=[];_0x2b0502[_0x148375(0x1ee)](_0xe1b8bf=>{const _0x41400c=this['resolveLookupValue'](_0xe1b8bf,_0x1ac2bc);_0x25aaf2['cJyjM'](_0x41400c,null)?_0x2e6ba2['push'](_0xe1b8bf):_0x139158['push'](_0xe1b8bf);});if(_0x25aaf2[_0x148375(0x1f5)](_0x139158['length'],0x0)&&_0x91d5f4){_0x2a133a['push']({'field':_0x53691d,'lookupTable':_0x2483b1,'invalidValues':_0x139158,'message':_0x139158[_0x148375(0x1f8)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0x2483b1});const _0x40e19a=[];_0x1ac2bc['forEach']((_0x257b81,_0x56b26f)=>{const _0x1559a3=_0x148375;if(_0x56b26f===_0x56b26f[_0x1559a3(0x1d7)]())return;_0x40e19a[_0x1559a3(0x1d1)](_0x56b26f);}),_0x1a626d[_0x53691d]={'invalidValues':_0x139158,'availableValues':_0x40e19a['slice'](0x0,0x32)};}}return{'valid':_0x2a133a[_0x148375(0x1f8)]===0x0,'errors':_0x2a133a,'suggestions':_0x1a626d};}}function a0_0x592a(_0x3a6662,_0x3c5787){_0x3a6662=_0x3a6662-0x1c6;const _0x33e62d=a0_0x33e6();let _0x592ac9=_0x33e62d[_0x3a6662];if(a0_0x592a['VWDfnL']===undefined){var _0x5d3b26=function(_0x36abc9){const _0x536505='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1fbdca='',_0x16a8c5='';for(let _0x55cb43=0x0,_0x4dbbfd,_0x48d3e1,_0x44c745=0x0;_0x48d3e1=_0x36abc9['charAt'](_0x44c745++);~_0x48d3e1&&(_0x4dbbfd=_0x55cb43%0x4?_0x4dbbfd*0x40+_0x48d3e1:_0x48d3e1,_0x55cb43++%0x4)?_0x1fbdca+=String['fromCharCode'](0xff&_0x4dbbfd>>(-0x2*_0x55cb43&0x6)):0x0){_0x48d3e1=_0x536505['indexOf'](_0x48d3e1);}for(let _0xf34ba8=0x0,_0x258eb1=_0x1fbdca['length'];_0xf34ba8<_0x258eb1;_0xf34ba8++){_0x16a8c5+='%'+('00'+_0x1fbdca['charCodeAt'](_0xf34ba8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x16a8c5);};a0_0x592a['WSrRjp']=_0x5d3b26,a0_0x592a['xBIfdZ']={},a0_0x592a['VWDfnL']=!![];}const _0x5a2481=_0x33e62d[0x0],_0x4a8a9c=_0x3a6662+_0x5a2481,_0x4ff63f=a0_0x592a['xBIfdZ'][_0x4a8a9c];return!_0x4ff63f?(_0x592ac9=a0_0x592a['WSrRjp'](_0x592ac9),a0_0x592a['xBIfdZ'][_0x4a8a9c]=_0x592ac9):_0x592ac9=_0x4ff63f,_0x592ac9;}module['exports']=new LookupResolver();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x132cf1=a0_0x4cfc;(function(_0x134852,_0x44edd8){const _0x48e9a6=a0_0x4cfc,_0x127427=_0x134852();while(!![]){try{const _0xe22e3e=-parseInt(_0x48e9a6(0x1f4))/0x1*(parseInt(_0x48e9a6(0x1ee))/0x2)+parseInt(_0x48e9a6(0x1ed))/0x3*(-parseInt(_0x48e9a6(0x1d4))/0x4)+-parseInt(_0x48e9a6(0x1d9))/0x5+parseInt(_0x48e9a6(0x1ef))/0x6*(parseInt(_0x48e9a6(0x1df))/0x7)+parseInt(_0x48e9a6(0x1ff))/0x8*(-parseInt(_0x48e9a6(0x1e7))/0x9)+parseInt(_0x48e9a6(0x1f8))/0xa+parseInt(_0x48e9a6(0x1e2))/0xb*(parseInt(_0x48e9a6(0x203))/0xc);if(_0xe22e3e===_0x44edd8)break;else _0x127427['push'](_0x127427['shift']());}catch(_0x2d097f){_0x127427['push'](_0x127427['shift']());}}}(a0_0x28b9,0xca524));const fs=require('fs')['promises'],path=require('path'),{logger}=require(a0_0x132cf1(0x1e0));function a0_0x28b9(){const _0x1c58fa=['y2XLyxi','mZq2nZq1u2rqzefn','lI9SB2DNzxi','ugf5Bg9HzcbUB3qGzM91BMq6ia','mtfOqwDeufe','y2fJAgu','ywn0Aw9U','BwvZC2fNzq','BLflwxm','oxjbzu5Xyq','lwv4Cg9YDa','DgfIBgvoyw1L','Bg9HzfbHEwXVywq','Cgf5Bg9HzdO','lI4VlI4VCgf5Bg9Hza','mZi2muznAufmua','mKXXB05rtW','mtiWqxDMz2rM','whzUCgW','wejhvxC','y29SDw1UrM9YBwf0CW','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','mti0nZGXmxfdr09Rva','zgvIDwC','C2v0','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','mJyZmJe3mfziqvjPwq','y2XLyxjdywnOzq','AgfZ','CgfYC2u','CMvHzezPBgu','DxrMoa','Axnby3rPB25fBMfIBgvK','oti4mJa4ogXJy3jhrq','z2f6C2y','zxjYB3i','zMLLBgroyw1L','ntqWmJmZmdrysuvjEfC','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','mZm1nK5QveD2uW','z2v0rxHWB3j0q29UzMLN','AM9PBG','Cgf5Bg9HzerPCG','z2v0','odaZntqZmgnIrgD5BW','wgrREfe','zxHWB3j0CW','lMPZB24','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5'];a0_0x28b9=function(){return _0x1c58fa;};return a0_0x28b9();}function a0_0x4cfc(_0x20caa3,_0x1dbc52){_0x20caa3=_0x20caa3-0x1d4;const _0x28b9c6=a0_0x28b9();let _0x4cfce9=_0x28b9c6[_0x20caa3];if(a0_0x4cfc['oXSQyi']===undefined){var _0x2da1ce=function(_0x4044f4){const _0xc4d162='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x447b29='',_0x43a36d='';for(let _0x170110=0x0,_0x16767d,_0x45fdd8,_0x11d141=0x0;_0x45fdd8=_0x4044f4['charAt'](_0x11d141++);~_0x45fdd8&&(_0x16767d=_0x170110%0x4?_0x16767d*0x40+_0x45fdd8:_0x45fdd8,_0x170110++%0x4)?_0x447b29+=String['fromCharCode'](0xff&_0x16767d>>(-0x2*_0x170110&0x6)):0x0){_0x45fdd8=_0xc4d162['indexOf'](_0x45fdd8);}for(let _0x14b2c6=0x0,_0x57ed05=_0x447b29['length'];_0x14b2c6<_0x57ed05;_0x14b2c6++){_0x43a36d+='%'+('00'+_0x447b29['charCodeAt'](_0x14b2c6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x43a36d);};a0_0x4cfc['qVEvCo']=_0x2da1ce,a0_0x4cfc['DQBPJJ']={},a0_0x4cfc['oXSQyi']=!![];}const _0x5a5f49=_0x28b9c6[0x0],_0x5efdbd=_0x20caa3+_0x5a5f49,_0x2f7872=a0_0x4cfc['DQBPJJ'][_0x5efdbd];return!_0x2f7872?(_0x4cfce9=a0_0x4cfc['qVEvCo'](_0x4cfce9),a0_0x4cfc['DQBPJJ'][_0x5efdbd]=_0x4cfce9):_0x4cfce9=_0x2f7872,_0x4cfce9;}class PayloadLoader{constructor(){const _0x2d17ae=a0_0x132cf1;this['payloadDir']=path[_0x2d17ae(0x1d6)](__dirname,_0x2d17ae(0x1ec)),this[_0x2d17ae(0x1e3)]=new Map();}async[a0_0x132cf1(0x1ea)](_0x342a96,_0x450a62){const _0x5497e9=a0_0x132cf1,_0x532bb8={'ocMDq':_0x5497e9(0x1fd),'Xvnpl':_0x5497e9(0x1dd),'gazsf':_0x5497e9(0x1f3)},_0x3e567a=_0x342a96+':'+_0x450a62;if(this['cache'][_0x5497e9(0x1fa)](_0x3e567a))return this[_0x5497e9(0x1e3)]['get'](_0x3e567a);const _0x3009e7=path[_0x5497e9(0x1d6)](this[_0x5497e9(0x1d7)],_0x342a96+'_'+_0x450a62+'.json');try{const _0x4ab1a1=await fs[_0x5497e9(0x1fc)](_0x3009e7,_0x532bb8['ocMDq']),_0x352845=JSON[_0x5497e9(0x1fb)](_0x4ab1a1);return this['cache'][_0x5497e9(0x1f6)](_0x3e567a,_0x352845),logger['debug']({'event':'payload_loaded','project':_0x342a96,'resource':_0x450a62},_0x532bb8[_0x5497e9(0x1f0)]),_0x352845;}catch(_0x4fe476){logger['error']({'event':_0x5497e9(0x204),'project':_0x342a96,'resource':_0x450a62,'error':_0x4fe476[_0x5497e9(0x1e5)]},_0x532bb8[_0x5497e9(0x200)]);throw new Error(_0x5497e9(0x1e1)+_0x342a96+'_'+_0x450a62);}}async['loadPayloadByName'](_0x1d1459){const _0x2d082c=a0_0x132cf1,_0x32f6e5={'XdkxQ':_0x2d082c(0x1fd),'XBGUw':'payload_loaded','nQKYs':'Payload\x20loaded\x20successfully\x20by\x20name'},_0x5b90fe=_0x2d082c(0x1eb)+_0x1d1459;if(this['cache'][_0x2d082c(0x1fa)](_0x5b90fe))return this[_0x2d082c(0x1e3)][_0x2d082c(0x1d8)](_0x5b90fe);const _0x40a3e5=path['join'](this[_0x2d082c(0x1d7)],_0x1d1459+_0x2d082c(0x1dc));try{const _0x293d09=await fs[_0x2d082c(0x1fc)](_0x40a3e5,_0x32f6e5[_0x2d082c(0x1da)]),_0x44d956=JSON['parse'](_0x293d09);return this['cache']['set'](_0x5b90fe,_0x44d956),logger[_0x2d082c(0x1f5)]({'event':_0x32f6e5[_0x2d082c(0x1f1)],'payloadName':_0x1d1459},_0x32f6e5[_0x2d082c(0x1e6)]),_0x44d956;}catch(_0x62c819){logger[_0x2d082c(0x201)]({'event':'payload_load_error','payloadName':_0x1d1459,'error':_0x62c819[_0x2d082c(0x1e5)]},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error('Payload\x20not\x20found:\x20'+_0x1d1459);}}[a0_0x132cf1(0x1fe)](_0x18c8ca,_0x3eef02){const _0x26bb2d=a0_0x132cf1;return _0x18c8ca['action']&&_0x18c8ca[_0x26bb2d(0x1e4)][_0x3eef02]===!![];}[a0_0x132cf1(0x1d5)](_0x330141){const _0x23bdc2=a0_0x132cf1;return{'columns':_0x330141[_0x23bdc2(0x202)]||[],'filename':_0x330141[_0x23bdc2(0x1e9)]['replace']('.','-')+_0x23bdc2(0x1e8),'datatablesQuery':_0x330141['datatablesQuery']||null,'columnFormats':_0x330141[_0x23bdc2(0x1f2)]||null,'fieldLabels':_0x330141['fieldLabels']||null};}[a0_0x132cf1(0x1f9)](){const _0x34028f=a0_0x132cf1;this[_0x34028f(0x1e3)][_0x34028f(0x1de)](),logger['info']({'event':_0x34028f(0x1f7)},'Payload\x20cache\x20cleared');}}module[a0_0x132cf1(0x1db)]=new PayloadLoader();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x2468e9,_0x364f17){var _0x580f22=a0_0x1095,_0x20428d=_0x2468e9();while(!![]){try{var _0x274382=-parseInt(_0x580f22(0x15e))/0x1+-parseInt(_0x580f22(0x163))/0x2+-parseInt(_0x580f22(0x164))/0x3+-parseInt(_0x580f22(0x161))/0x4*(-parseInt(_0x580f22(0x167))/0x5)+parseInt(_0x580f22(0x160))/0x6+-parseInt(_0x580f22(0x162))/0x7*(parseInt(_0x580f22(0x165))/0x8)+parseInt(_0x580f22(0x166))/0x9*(parseInt(_0x580f22(0x15f))/0xa);if(_0x274382===_0x364f17)break;else _0x20428d['push'](_0x20428d['shift']());}catch(_0x37f81a){_0x20428d['push'](_0x20428d['shift']());}}}(a0_0x4960,0x9b960));function a0_0x4960(){var _0x4b76fb=['nZeYu0LtDuLS','mJK4mtiWnZDNrxDrtMK','mJbltu1iExy','Dg9ju09tDhjPBMC','mtaZmteYnuz5vwfPra','mtbwsMXgruG','mZa4mta0oe52zer3ua','ndi0mZCYsvrmEMvy','ote0nJLJExnbzeC','mJa3mZKXmKjhu05iBG','mte0nJaYn2jzquLQBG'];a0_0x4960=function(){return _0x4b76fb;};return a0_0x4960();}function createResponse(_0x1a98b5,_0x16bdde,_0x46529c=null){var _0x5e4689=a0_0x1095;return{'success':!![],'statusCode':_0x1a98b5,'message':_0x16bdde,'data':_0x46529c,'timestamp':new Date()[_0x5e4689(0x168)]()};}function createError(_0x465b17,_0xdedb74,_0x4eb0e3=null){return{'success':![],'statusCode':_0x465b17,'message':_0xdedb74,'data':_0x4eb0e3,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x10c461,_0x688af7){return{'success':![],'statusCode':0x190,'message':_0x10c461,'data':{'errors':_0x688af7},'timestamp':new Date()['toISOString']()};}function a0_0x1095(_0x4033e7,_0x4d8b57){_0x4033e7=_0x4033e7-0x15e;var _0x4960a4=a0_0x4960();var _0x1095f6=_0x4960a4[_0x4033e7];if(a0_0x1095['tNbsyf']===undefined){var _0x2d7100=function(_0x2d549a){var _0x364c11='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x5ecf34='',_0x17e169='';for(var _0x2e16bc=0x0,_0x40ef6b,_0x44e25a,_0x25de95=0x0;_0x44e25a=_0x2d549a['charAt'](_0x25de95++);~_0x44e25a&&(_0x40ef6b=_0x2e16bc%0x4?_0x40ef6b*0x40+_0x44e25a:_0x44e25a,_0x2e16bc++%0x4)?_0x5ecf34+=String['fromCharCode'](0xff&_0x40ef6b>>(-0x2*_0x2e16bc&0x6)):0x0){_0x44e25a=_0x364c11['indexOf'](_0x44e25a);}for(var _0xfcdc5d=0x0,_0x5903d1=_0x5ecf34['length'];_0xfcdc5d<_0x5903d1;_0xfcdc5d++){_0x17e169+='%'+('00'+_0x5ecf34['charCodeAt'](_0xfcdc5d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x17e169);};a0_0x1095['QiadrM']=_0x2d7100,a0_0x1095['YDtxrB']={},a0_0x1095['tNbsyf']=!![];}var _0x1e734a=_0x4960a4[0x0],_0x4fa9a6=_0x4033e7+_0x1e734a,_0x1a9f1c=a0_0x1095['YDtxrB'][_0x4fa9a6];return!_0x1a9f1c?(_0x1095f6=a0_0x1095['QiadrM'](_0x1095f6),a0_0x1095['YDtxrB'][_0x4fa9a6]=_0x1095f6):_0x1095f6=_0x1a9f1c,_0x1095f6;}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
|
package/src/utils/rabbitmq.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x140442=a0_0x1bd1;(function(_0x40da5d,_0x3277e0){const _0x44e587=a0_0x1bd1,_0x3485e7=_0x40da5d();while(!![]){try{const _0x18d76e=parseInt(_0x44e587(0x178))/0x1+parseInt(_0x44e587(0x176))/0x2*(parseInt(_0x44e587(0x166))/0x3)+parseInt(_0x44e587(0x17f))/0x4*(-parseInt(_0x44e587(0x17b))/0x5)+-parseInt(_0x44e587(0x165))/0x6*(parseInt(_0x44e587(0x179))/0x7)+parseInt(_0x44e587(0x182))/0x8+parseInt(_0x44e587(0x168))/0x9*(parseInt(_0x44e587(0x16c))/0xa)+-parseInt(_0x44e587(0x188))/0xb;if(_0x18d76e===_0x3277e0)break;else _0x3485e7['push'](_0x3485e7['shift']());}catch(_0x3532f3){_0x3485e7['push'](_0x3485e7['shift']());}}}(a0_0x3504,0x3cf26),require(a0_0x140442(0x162))['config']());const amqp=require(a0_0x140442(0x184)),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process['env'][a0_0x140442(0x16a)],EXCHANGE=process['env'][a0_0x140442(0x18e)],ROUTING_KEY=process['env'][a0_0x140442(0x18b)],QUEUE=process['env']['RABBITMQ_QUEUE'];async function createConnection(){const _0x27669f=a0_0x140442,_0x531b33={'JhAUk':function(_0x3037be,_0x1c20c2){return _0x3037be(_0x1c20c2);},'UaLLu':function(_0x39ee66,_0x4a6d30){return _0x39ee66(_0x4a6d30);}};try{const _0x261e2b=await amqp['connect'](RABBITMQ_URL);return console['log']('['+_0x531b33['JhAUk'](formatDate,new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x261e2b;}catch(_0x30f162){console['error']('['+_0x531b33[_0x27669f(0x164)](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x30f162['message']);throw _0x30f162;}}async function createChannel(_0x1aa980){const _0x30e0a4=a0_0x140442,_0x347fe4={'RGFDs':function(_0x13dad5,_0x21c282){return _0x13dad5(_0x21c282);}};try{const _0x57d2ee=await _0x1aa980[_0x30e0a4(0x186)]();return console['log']('['+formatDate(new Date())+_0x30e0a4(0x171)),_0x57d2ee;}catch(_0x5b3686){console['error']('['+_0x347fe4['RGFDs'](formatDate,new Date())+_0x30e0a4(0x174)+_0x5b3686['message']);throw _0x5b3686;}}function a0_0x1bd1(_0x5340a9,_0x1aa508){_0x5340a9=_0x5340a9-0x162;const _0x350456=a0_0x3504();let _0x1bd10b=_0x350456[_0x5340a9];if(a0_0x1bd1['xgXMjE']===undefined){var _0x4d1baf=function(_0x4afcad){const _0x2e226c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5cfd03='',_0x52a798='';for(let _0x382d31=0x0,_0x141785,_0x487124,_0x2cb00d=0x0;_0x487124=_0x4afcad['charAt'](_0x2cb00d++);~_0x487124&&(_0x141785=_0x382d31%0x4?_0x141785*0x40+_0x487124:_0x487124,_0x382d31++%0x4)?_0x5cfd03+=String['fromCharCode'](0xff&_0x141785>>(-0x2*_0x382d31&0x6)):0x0){_0x487124=_0x2e226c['indexOf'](_0x487124);}for(let _0x353dae=0x0,_0x35ed96=_0x5cfd03['length'];_0x353dae<_0x35ed96;_0x353dae++){_0x52a798+='%'+('00'+_0x5cfd03['charCodeAt'](_0x353dae)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x52a798);};a0_0x1bd1['YJaigl']=_0x4d1baf,a0_0x1bd1['AOXzAR']={},a0_0x1bd1['xgXMjE']=!![];}const _0x449108=_0x350456[0x0],_0x48ee55=_0x5340a9+_0x449108,_0x3ed65c=a0_0x1bd1['AOXzAR'][_0x48ee55];return!_0x3ed65c?(_0x1bd10b=a0_0x1bd1['YJaigl'](_0x1bd10b),a0_0x1bd1['AOXzAR'][_0x48ee55]=_0x1bd10b):_0x1bd10b=_0x3ed65c,_0x1bd10b;}async function setupInfrastructure(_0x3a007e){const _0x535571=a0_0x140442,_0x5ce578={'mzYhF':_0x535571(0x190),'fNdXL':function(_0xf2799e,_0x12e572){return _0xf2799e(_0x12e572);},'kpYtL':function(_0x6804d5,_0x25e53b){return _0x6804d5(_0x25e53b);},'cdLdJ':function(_0x1f3486,_0x3b603d){return _0x1f3486(_0x3b603d);},'zLSRy':'created/ready','irYjt':_0x535571(0x163)};try{await _0x3a007e[_0x535571(0x170)](_0x535571(0x177),_0x5ce578[_0x535571(0x175)],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x5ce578['fNdXL'](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x5da7cf){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x5da7cf['message']);throw _0x5da7cf;}try{await _0x3a007e[_0x535571(0x170)](EXCHANGE,_0x5ce578['mzYhF'],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x5ce578[_0x535571(0x187)](formatDate,new Date())+_0x535571(0x16d)+EXCHANGE+'\x20created/ready');}catch(_0x1496a3){console[_0x535571(0x172)]('['+formatDate(new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x1496a3[_0x535571(0x191)]);throw _0x1496a3;}const _0x25829d=ROUTING_KEY+_0x535571(0x16e);try{const _0x30782c={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x3a007e[_0x535571(0x16f)](_0x25829d,_0x30782c),console[_0x535571(0x16b)]('['+_0x5ce578[_0x535571(0x187)](formatDate,new Date())+']\x20Retry\x20queue\x20'+_0x25829d+'\x20created/ready'),await _0x3a007e['bindQueue'](_0x25829d,_0x535571(0x177),ROUTING_KEY),console['log']('['+formatDate(new Date())+_0x535571(0x18f)+ROUTING_KEY+_0x535571(0x17c));}catch(_0x42b6ea){console[_0x535571(0x172)]('['+_0x5ce578['cdLdJ'](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x42b6ea['message']);throw _0x42b6ea;}try{const _0x204e61={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x535571(0x177),'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x1259f0=await _0x3a007e[_0x535571(0x16f)](QUEUE,_0x204e61);console['log']('['+formatDate(new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x1259f0[_0x535571(0x173)]===QUEUE?_0x5ce578['zLSRy']:'found')+_0x535571(0x17d)),await _0x3a007e[_0x535571(0x18d)](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+formatDate(new Date())+']\x20Binding\x20'+EXCHANGE+_0x535571(0x183)+QUEUE+'\x20('+ROUTING_KEY+_0x535571(0x17e));}catch(_0x3a4ecd){if(_0x3a4ecd['message'][_0x535571(0x18a)](_0x535571(0x163))&&_0x3a4ecd[_0x535571(0x191)]['includes'](_0x535571(0x185)))console['error']('\x0a['+formatDate(new Date())+_0x535571(0x181)+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console['error']('Queue\x20'+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console[_0x535571(0x172)](_0x535571(0x17a)),process['exit'](0x1);else{console['error']('['+formatDate(new Date())+_0x535571(0x189)+QUEUE+':',_0x3a4ecd['message']);throw _0x3a4ecd;}}}catch(_0x36b512){if(!_0x36b512[_0x535571(0x191)]['includes'](_0x5ce578['irYjt'])){console['error']('['+formatDate(new Date())+_0x535571(0x169),_0x36b512[_0x535571(0x191)]);throw _0x36b512;}process['exit'](0x1);}}async function closeConnection(_0x20c829){const _0x5abe1a=a0_0x140442,_0x4e8d6c={'xFvpE':function(_0x27ce91,_0x29f91e){return _0x27ce91(_0x29f91e);},'Tekye':function(_0xbe0604,_0xfbb607){return _0xbe0604(_0xfbb607);}};if(_0x20c829)try{await _0x20c829['close'](),console['log']('['+_0x4e8d6c['xFvpE'](formatDate,new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x16cde3){console[_0x5abe1a(0x172)]('['+_0x4e8d6c[_0x5abe1a(0x180)](formatDate,new Date())+_0x5abe1a(0x167)+_0x16cde3['message']);}}function a0_0x3504(){const _0x32414c=['BxPzAey','mLrNCxvzCq','CMv0CNKTzxHJAgfUz2u','mZeXnJKXEMTrBM1Z','n0nXzw1xDG','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG','mJi4odGWAgTlEhvg','ignYzwf0zwq','ihDPDgGGreXy','ksbJCMvHDgvK','mJbtq1brEge','vgvREwu','xsbfuLjpuJOGuxvLDwuG','mJeXmdG5nMLZB0HZsq','ic0+ia','yw1XCgXPyG','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','y3jLyxrLq2HHBM5LBa','A3bzDeW','nJq1mJGYsfzTBxfk','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','Aw5JBhvKzxm','uKfcqKLutvfFuK9vveLor19lrvK','zxHWB3j0CW','yMLUzff1zxvL','uKfcqKLutvfFrvHdsefor0u','xsbszxrYEsbIAw5KAw5NigzVCIa','zgLYzwn0','BwvZC2fNzq','zg90zw52','Aw5LCxvPDMfSzw50igfYzW','vwfmthu','mZG4nJG2BKDnDhHl','nJaYmtnKDvboDui','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','ntCWmZnkwNbMDwO','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','uKfcqKLutvfFvvjm','Bg9N','mtbIwuDIB1m','xsbfEgnOyw5Nzsa','x3jLDhj5','yxnZzxj0uxvLDwu','yxnZzxj0rxHJAgfUz2u','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','zxjYB3i','CxvLDwu','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia'];a0_0x3504=function(){return _0x32414c;};return a0_0x3504();}module[a0_0x140442(0x18c)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a0_0x43dd4c=a0_0x3795;function a0_0x3340(){const _0x902360=['BKPIDvm','CMvKAxnFAw5PDf9LCNjVCG','uMvKAxmGueLorYb0Aw1LB3v0','BwLU','uKvesvnFse9tva','mtmXnhjKAvLLtW','CxnVyKK','lI9SB2DNzxi','mtjeqNrdzhm','AxndB25Uzwn0zwq','DxzRugy','zxHWB3j0CW','nJu0ngnZD2jusW','mtaZmtm4ngXez2LOAq','zw52','AxjNCLe','zxjYB3i','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','y29UBMvJDa','mJaZmdu1AvPICLHz','zM9Yy2veAxnJB25Uzwn0','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','mZq2nZy2u01qDKjA','zgLZy29UBMvJDa','mJyYnJy0weroEuni','y2XVC2u','CgLUzW','BwvZC2fNzq','z2v0q2XPzw50','qMPHuw0','y2XPzw50','uKvesvnFrei','nuvkDfPZEq','Aw5MBW','ndC2ndy3mgXJvvvmvW','mJGXmJKYsevpsMTg'];a0_0x3340=function(){return _0x902360;};return a0_0x3340();}(function(_0x3e858e,_0x524033){const _0x2d236e=a0_0x3795,_0x146d90=_0x3e858e();while(!![]){try{const _0x348cf5=parseInt(_0x2d236e(0x110))/0x1+parseInt(_0x2d236e(0x11b))/0x2+-parseInt(_0x2d236e(0x10b))/0x3+parseInt(_0x2d236e(0x105))/0x4*(parseInt(_0x2d236e(0x118))/0x5)+-parseInt(_0x2d236e(0x100))/0x6*(parseInt(_0x2d236e(0x10e))/0x7)+-parseInt(_0x2d236e(0x104))/0x8*(-parseInt(_0x2d236e(0xfd))/0x9)+-parseInt(_0x2d236e(0x11a))/0xa;if(_0x348cf5===_0x524033)break;else _0x146d90['push'](_0x146d90['shift']());}catch(_0x29114a){_0x146d90['push'](_0x146d90['shift']());}}}(a0_0x3340,0x2188c));const Redis=require('ioredis'),{logger}=require(a0_0x43dd4c(0xff));function a0_0x3795(_0x30928f,_0x15d88e){_0x30928f=_0x30928f-0xf9;const _0x334040=a0_0x3340();let _0x3795fd=_0x334040[_0x30928f];if(a0_0x3795['UdzhcF']===undefined){var _0x46e878=function(_0xfb79b){const _0x45295e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5cbedf='',_0x4bf98c='';for(let _0x3cc837=0x0,_0x4cf9ec,_0x3f15af,_0x5295c6=0x0;_0x3f15af=_0xfb79b['charAt'](_0x5295c6++);~_0x3f15af&&(_0x4cf9ec=_0x3cc837%0x4?_0x4cf9ec*0x40+_0x3f15af:_0x3f15af,_0x3cc837++%0x4)?_0x5cbedf+=String['fromCharCode'](0xff&_0x4cf9ec>>(-0x2*_0x3cc837&0x6)):0x0){_0x3f15af=_0x45295e['indexOf'](_0x3f15af);}for(let _0x5b4a0c=0x0,_0x4f4fc2=_0x5cbedf['length'];_0x5b4a0c<_0x4f4fc2;_0x5b4a0c++){_0x4bf98c+='%'+('00'+_0x5cbedf['charCodeAt'](_0x5b4a0c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4bf98c);};a0_0x3795['XTsmfN']=_0x46e878,a0_0x3795['gYczpR']={},a0_0x3795['UdzhcF']=!![];}const _0xe926a4=_0x334040[0x0],_0x139e65=_0x30928f+_0xe926a4,_0x5ee64a=a0_0x3795['gYczpR'][_0x139e65];return!_0x5ee64a?(_0x3795fd=a0_0x3795['XTsmfN'](_0x3795fd),a0_0x3795['gYczpR'][_0x139e65]=_0x3795fd):_0x3795fd=_0x5ee64a,_0x3795fd;}class RedisClient{constructor(){const _0x259cd2=a0_0x43dd4c;this[_0x259cd2(0x116)]=null,this['isConnected']=![];}['connect'](){const _0x386478=a0_0x43dd4c,_0x99bcf3={'nJbuS':'redis_error','dxgKN':'redis_disconnected','irgrQ':_0x386478(0x109),'bUxXo':function(_0xa8160f,_0x3f9d87,_0x24593f){return _0xa8160f(_0x3f9d87,_0x24593f);},'qsobI':_0x386478(0x108),'rgCpY':_0x386478(0x111),'uvkPf':_0x386478(0xf9),'BjaQm':'Failed\x20to\x20initialize\x20Redis'};if(this['client'])return this['client'];try{return this['client']=new Redis({'host':process['env'][_0x386478(0xfc)]||'localhost','port':_0x99bcf3['bUxXo'](parseInt,process[_0x386478(0x106)]['REDIS_PORT'],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':parseInt(process['env'][_0x386478(0x117)],0xa)||0x0,'retryStrategy'(_0x1b8daf){const _0x425140=_0x386478,_0x34b5ef=Math[_0x425140(0xfb)](_0x1b8daf*0x32,0x7d0);return _0x34b5ef;}}),this['client']['on']('connect',()=>{const _0x41dd67=_0x386478;this['isConnected']=!![],logger[_0x41dd67(0x119)]({'event':'redis_connected'},_0x41dd67(0x10d));}),this[_0x386478(0x116)]['on'](_0x99bcf3[_0x386478(0xfe)],_0x41bfdd=>{const _0x16efd0=_0x386478;this['isConnected']=![],logger[_0x16efd0(0x108)]({'event':_0x99bcf3[_0x16efd0(0x11c)],'error':_0x41bfdd['message']},'Redis\x20connection\x20error:\x20'+_0x41bfdd['message']);}),this['client']['on'](_0x99bcf3['rgCpY'],()=>{const _0x3cf972=_0x386478;this[_0x3cf972(0x101)]=![],logger['warn']({'event':_0x99bcf3['dxgKN']},_0x99bcf3[_0x3cf972(0x107)]);}),this[_0x386478(0x116)];}catch(_0xc3a28f){logger[_0x386478(0x108)]({'event':_0x99bcf3[_0x386478(0x102)],'error':_0xc3a28f[_0x386478(0x113)]},_0x99bcf3[_0x386478(0x115)]);throw _0xc3a28f;}}['getClient'](){const _0xf34526=a0_0x43dd4c;return!this['client']&&this[_0xf34526(0x10a)](),this[_0xf34526(0x116)];}async['ping'](_0x4f1f64=0x1388){const _0x230f6a=a0_0x43dd4c,_0x33d537={'VAGUG':function(_0xf119b8,_0x4f0f5b){return _0xf119b8===_0x4f0f5b;}};try{const _0x4b0d10=this[_0x230f6a(0x114)](),_0x1b2851=await Promise['race']([_0x4b0d10[_0x230f6a(0x112)](),new Promise((_0xb75d1c,_0x43ee45)=>setTimeout(()=>_0x43ee45(new Error(_0x230f6a(0xfa))),_0x4f1f64))]);return _0x33d537['VAGUG'](_0x1b2851,'PONG');}catch(_0x458d30){return![];}}async[a0_0x43dd4c(0x10f)](){const _0x459f4e=a0_0x43dd4c;this['client']&&(await this[_0x459f4e(0x116)]['quit'](),this['client']=null,this['isConnected']=![]);}[a0_0x43dd4c(0x10c)](){const _0x194dad=a0_0x43dd4c;this['client']&&(this[_0x194dad(0x116)]['disconnect'](),this['client']=null,this[_0x194dad(0x101)]=![]);}}module[a0_0x43dd4c(0x103)]=new RedisClient();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x49df84=a0_0x56cd;(function(_0x550d61,_0x251fa8){const _0x59272b=a0_0x56cd,_0x1f14b5=_0x550d61();while(!![]){try{const _0x217f94=parseInt(_0x59272b(0x88))/0x1+parseInt(_0x59272b(0x81))/0x2+-parseInt(_0x59272b(0x97))/0x3*(-parseInt(_0x59272b(0x95))/0x4)+-parseInt(_0x59272b(0x7f))/0x5*(parseInt(_0x59272b(0x94))/0x6)+parseInt(_0x59272b(0x8f))/0x7+-parseInt(_0x59272b(0x8c))/0x8+parseInt(_0x59272b(0x82))/0x9*(-parseInt(_0x59272b(0x99))/0xa);if(_0x217f94===_0x251fa8)break;else _0x1f14b5['push'](_0x1f14b5['shift']());}catch(_0x22f9ac){_0x1f14b5['push'](_0x1f14b5['shift']());}}}(a0_0x2841,0x39aa0));function a0_0x56cd(_0x1989ef,_0x490d31){_0x1989ef=_0x1989ef-0x79;const _0x28412a=a0_0x2841();let _0x56cd40=_0x28412a[_0x1989ef];if(a0_0x56cd['GRKcZl']===undefined){var _0x13390a=function(_0x282f91){const _0xb51163='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x51fb00='',_0xe830bd='';for(let _0x232357=0x0,_0x4cbc97,_0x23e70e,_0x1b77d3=0x0;_0x23e70e=_0x282f91['charAt'](_0x1b77d3++);~_0x23e70e&&(_0x4cbc97=_0x232357%0x4?_0x4cbc97*0x40+_0x23e70e:_0x23e70e,_0x232357++%0x4)?_0x51fb00+=String['fromCharCode'](0xff&_0x4cbc97>>(-0x2*_0x232357&0x6)):0x0){_0x23e70e=_0xb51163['indexOf'](_0x23e70e);}for(let _0x26373b=0x0,_0x163dae=_0x51fb00['length'];_0x26373b<_0x163dae;_0x26373b++){_0xe830bd+='%'+('00'+_0x51fb00['charCodeAt'](_0x26373b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xe830bd);};a0_0x56cd['IsNOOe']=_0x13390a,a0_0x56cd['GAzSOx']={},a0_0x56cd['GRKcZl']=!![];}const _0x206973=_0x28412a[0x0],_0x7613bd=_0x1989ef+_0x206973,_0x25c8b8=a0_0x56cd['GAzSOx'][_0x7613bd];return!_0x25c8b8?(_0x56cd40=a0_0x56cd['IsNOOe'](_0x56cd40),a0_0x56cd['GAzSOx'][_0x7613bd]=_0x56cd40):_0x56cd40=_0x25c8b8,_0x56cd40;}const redisClient=require(a0_0x49df84(0x85)),{logger}=require('./logger');class RedisHelper{constructor(){const _0x5b24a8=a0_0x49df84,_0x126efe={'ckvOE':function(_0x4e30b0,_0x101b9d,_0x1c2cbf){return _0x4e30b0(_0x101b9d,_0x1c2cbf);}};this['_prefix']=null,this[_0x5b24a8(0x98)]=_0x126efe[_0x5b24a8(0x93)](parseInt,process[_0x5b24a8(0x90)][_0x5b24a8(0x79)],0xa)||0xe10;}get['prefix'](){const _0x5b8194=a0_0x49df84;if(!this[_0x5b8194(0x7e)]){const _0x5cb644=process['env'][_0x5b8194(0x80)]||'default';this['_prefix']=_0x5b8194(0x87)+_0x5cb644+_0x5b8194(0x91);}return this['_prefix'];}async['setJob'](_0x1e6324,_0x20dd51){const _0x9da53b=a0_0x49df84,_0x4dce95={'aWhZu':'redis_set_error'};try{const _0x21906d=redisClient['getClient'](),_0x475db8=''+this[_0x9da53b(0x86)]+_0x1e6324;return await _0x21906d[_0x9da53b(0x7b)](_0x475db8,this[_0x9da53b(0x98)],JSON[_0x9da53b(0x8d)](_0x20dd51)),!![];}catch(_0x5b4b2b){return logger['error']({'event':_0x4dce95['aWhZu'],'jobId':_0x1e6324,'error':_0x5b4b2b['message']},_0x9da53b(0x8b)),![];}}async['getJob'](_0x30895d){const _0x461bb4=a0_0x49df84,_0x270e57={'EOUuZ':'Failed\x20to\x20get\x20job\x20from\x20Redis'};try{const _0x2936ec=redisClient[_0x461bb4(0x89)](),_0x5ed04c=''+this[_0x461bb4(0x86)]+_0x30895d,_0x47213e=await _0x2936ec[_0x461bb4(0x7d)](_0x5ed04c);return _0x47213e?JSON['parse'](_0x47213e):null;}catch(_0xa99853){return logger['error']({'event':'redis_get_error','jobId':_0x30895d,'error':_0xa99853['message']},_0x270e57[_0x461bb4(0x84)]),null;}}async[a0_0x49df84(0x7c)](_0x432c15,_0x8d276f){const _0x5197f1=await this['getJob'](_0x432c15);if(!_0x5197f1)return![];const _0x11076d={..._0x5197f1,..._0x8d276f};return await this['setJob'](_0x432c15,_0x11076d);}async[a0_0x49df84(0x83)](_0x5a20ed){const _0x2b06ff=a0_0x49df84,_0x2b3fe9={'RzhIJ':'redis_delete_error'};try{const _0x1fa832=redisClient['getClient'](),_0x27a238=''+this['prefix']+_0x5a20ed;return await _0x1fa832['del'](_0x27a238),!![];}catch(_0x5d4ab1){return logger['error']({'event':_0x2b3fe9['RzhIJ'],'jobId':_0x5a20ed,'error':_0x5d4ab1[_0x2b06ff(0x8a)]},'Failed\x20to\x20delete\x20job\x20from\x20Redis'),![];}}async['getAllJobs'](){const _0x3d7bc9=a0_0x49df84,_0x38cf5a={'jGRzT':'redis_getall_error','yTcHE':_0x3d7bc9(0x92)};try{const _0x45687f=redisClient[_0x3d7bc9(0x89)](),_0x448753=await _0x45687f['keys'](this['prefix']+'*'),_0xdd6828=[];for(const _0x314f36 of _0x448753){const _0x13e526=await _0x45687f[_0x3d7bc9(0x7d)](_0x314f36);_0x13e526&&_0xdd6828[_0x3d7bc9(0x7a)](JSON['parse'](_0x13e526));}return _0xdd6828;}catch(_0x368074){return logger['error']({'event':_0x38cf5a[_0x3d7bc9(0x8e)],'error':_0x368074['message']},_0x38cf5a[_0x3d7bc9(0x96)]),[];}}}module['exports']=new RedisHelper();function a0_0x2841(){const _0x570cd9=['y2T2t0u','mtu2nMPgDgzsrW','mtC4ngPWDwDltG','EvrJseu','otzusu1SDfO','DhrS','mtaZnJbiz2vxAvy','rvHqt1jux0zjtevFrvHqsvjz','ChvZAa','C2v0zxG','DxbKyxrLsM9I','z2v0','x3bYzwzPEa','mJG4nuviyxj1wq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','odi3otaYEwH5zxjR','mZe3n2TxANPNrq','zgvSzxrLsM9I','ru9vDvO','lI9YzwrPCY1JBgLLBNq','ChjLzML4','CMvZDgzVCMDLoG','mZmZmdC5wK5xrLjP','z2v0q2XPzw50','BwvZC2fNzq','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','mZiZntCYmfPlCLncva','C3rYAw5NAwz5','AKDsELq','mJC2otyYmeXOEwvHuW','zw52','oMv4Cg9YDdO','rMfPBgvKihrVigDLDcbHBgWGAM9ICW'];a0_0x2841=function(){return _0x570cd9;};return a0_0x2841();}
|