@restforgejs/platform 5.3.6 → 5.3.9
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/cli/designer.js +1 -1
- package/generators/cli/fast-track.js +272 -53
- package/generators/cli/init.js +37 -3
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/integrity-manifest.json +18 -18
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/soft-delete-dashboard-guard.js +1 -1
- package/src/utils/sql-table-extractor.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x1b2f16=a0_0x1aa9;(function(_0x31b63f,_0xbec962){const _0x44a3f8=a0_0x1aa9,_0xef286e=_0x31b63f();while(!![]){try{const _0x144eea=-parseInt(_0x44a3f8(0x162))/0x1+-parseInt(_0x44a3f8(0x119))/0x2+-parseInt(_0x44a3f8(0x120))/0x3+-parseInt(_0x44a3f8(0x161))/0x4*(-parseInt(_0x44a3f8(0x15e))/0x5)+parseInt(_0x44a3f8(0x14c))/0x6*(-parseInt(_0x44a3f8(0x11a))/0x7)+-parseInt(_0x44a3f8(0x15b))/0x8*(parseInt(_0x44a3f8(0x141))/0x9)+parseInt(_0x44a3f8(0x125))/0xa;if(_0x144eea===_0xbec962)break;else _0xef286e['push'](_0xef286e['shift']());}catch(_0x2c4f55){_0xef286e['push'](_0xef286e['shift']());}}}(a0_0x5134,0x85f71));function a0_0x5134(){const _0x5f2c70=['Aw5JBhvKzxm','zujiCwi','x2vUC3vYzuLUAxrPywXPEMvK','v1jjveuGBg9JAYbLCNjVCG','zxzHBa','CMvQzwn0','ywXS','x2LUAxrdB25MAwC','odqZntm4BgHhwK9f','n2X6wgrlwa','C2v0zxG','tg9JAYbYzwXLyxnLigvYCM9Y','CMvHzf9SB2nRx3jLBgvHC2vK','EfvvueO','zgP1Ave','mJa4mJyXoe5ju3jQva','D3jPDgvFBg9JA193ywL0Aw5N','CMvSzwfZzuXVy2S','sMrVywK','y2fIDui','mZaWnZiWmZbJDK9KzgC','C3rYyxrLz3K','x3jLDhj5rgvSyxK','D2PLzuG','zxjYB3i','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','z2vUzxjHDgvmB2nRvMfSDwu','D3jPDgu','vwrUuLe','sMvlse4','zxHWB3j0CW','D29YA2vYswq','CMvHzf9SB2nRx3DHAxrPBMC','lcbZDhjHDgvNEtOG','x2LUAxrPywXPEMvK','uKvbrcbSB2nRigvYCM9Y','uKvbrcbSB2nRihjLBgvHC2vK','BwvZC2fNzq','CMvHzf9SB2nRx2fJCxvPCMvK','x2vUywjSzwq','DxvPza','C2v0','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','D29YA2vYlq','lI9SB2DNzxi','yNvPBgrmB2nRs2v5','zw5HyMXLza','mZC2odC5nxrit0nhwa','CurOu1m','zgvMyxvSDfruta','x3DVCMTLCKLK','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','z2v0q2XPzw50','D3jPDgvFBg9JA19YzwPLy3rLza','CMvHzf9SB2nRx2vYCM9Y','CMv0CNLdB3vUDa','z2v0','BgfZDeLUzgv4t2y','mtC1mdeZnfDyyMPtBG','Cg93','ChjLzML4','x3jLDhj5q291BNq','CMvHza','zgvIDwC','x3n0CMf0zwD5','rKfxCwq','tg9JAYbuveWGzxH0zw5Kzwq','sM1Lyva','BM93','q29jtKC','C2XLzxa','C3bSAxq','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','og1ItNrotW','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzxHWAxjLiIWGs0vzu1SXxsWGqvjhvLSYxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','CMv0CNLezwXHEq','mtbwuNLWuuK','zwTRy3G','te9ds19esvnuuKLcvvrfrf9srvrswq','ndu5oty4wM5yCeLe','odyYmdq3tenZB2r5','Dhj1zq','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','x2rLzMf1BhruveW','CuHtywy','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','AMHVqLe','txv1u3O','D2fYBG','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq'];a0_0x5134=function(){return _0x5f2c70;};return a0_0x5134();}const redisClient=require('./redis-client'),{logger}=require(a0_0x1b2f16(0x13e)),{v4:uuidv4}=require(a0_0x1b2f16(0x13a));class LockManager{constructor(){const _0x5e4f72=a0_0x1b2f16,_0x5e22ea='4|2|1|3|7|5|6|0'[_0x5e4f72(0x159)]('|');let _0x1977b6=0x0;while(!![]){switch(_0x5e22ea[_0x1977b6++]){case'0':this[_0x5e4f72(0x134)]=![];continue;case'1':this[_0x5e4f72(0x10a)]=null;continue;case'2':this['_enabled']=null;continue;case'3':this['_retryCount']=null;continue;case'4':this['_prefix']=null;continue;case'5':this[_0x5e4f72(0x152)]=null;continue;case'6':this[_0x5e4f72(0x144)]=null;continue;case'7':this[_0x5e4f72(0x127)]=null;continue;}break;}}[a0_0x1b2f16(0x118)](){const _0x4636b7=a0_0x1b2f16,_0x33c6d1={'ekkcx':function(_0x5e48f4,_0x8a1fc7,_0x4b1e55){return _0x5e48f4(_0x8a1fc7,_0x4b1e55);},'jhoBQ':'retry'};this['_prefix']='rf:lock:',this['_enabled']=process['env']['LOCK_DISTRIBUTED_ENABLED']===_0x4636b7(0x163),this['_defaultTTL']=parseInt(process['env']['LOCK_DISTRIBUTED_TTL'],0xa)||0xa,this[_0x4636b7(0x14f)]=parseInt(process['env'][_0x4636b7(0x160)],0xa)||0x3,this[_0x4636b7(0x127)]=_0x33c6d1[_0x4636b7(0x15f)](parseInt,process['env']['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64,this[_0x4636b7(0x152)]=process['env'][_0x4636b7(0x12a)]||_0x33c6d1[_0x4636b7(0x10d)],this['_workerId']=_0x4636b7(0x13d)+process['pid'],this[_0x4636b7(0x134)]=!![],logger['info']({'event':'lock_config_init','enabled':this[_0x4636b7(0x139)],'strategy':this['_strategy'],'ttl':this['_defaultTTL'],'retryCount':this[_0x4636b7(0x14f)],'retryDelay':this[_0x4636b7(0x127)],'workerId':this[_0x4636b7(0x144)]},_0x4636b7(0x15a)+this[_0x4636b7(0x139)]+_0x4636b7(0x133)+this[_0x4636b7(0x152)]);}['_ensureInitialized'](){const _0x599441=a0_0x1b2f16;!this['_initialized']&&this[_0x599441(0x118)]();}get[a0_0x1b2f16(0x14e)](){const _0x56f663=a0_0x1b2f16;return this[_0x56f663(0x113)](),this['_prefix'];}get['enabled'](){const _0x1b7855=a0_0x1b2f16;return this[_0x1b7855(0x113)](),this[_0x1b7855(0x139)];}get['defaultTTL'](){const _0x3ff798=a0_0x1b2f16;return this[_0x3ff798(0x113)](),this['_defaultTTL'];}get[a0_0x1b2f16(0x149)](){return this['_ensureInitialized'](),this['_retryCount'];}get[a0_0x1b2f16(0x15d)](){const _0x148852=a0_0x1b2f16;return this[_0x148852(0x113)](),this['_retryDelay'];}get[a0_0x1b2f16(0x126)](){return this['_ensureInitialized'](),this['_strategy'];}get[a0_0x1b2f16(0x131)](){const _0x41fca4=a0_0x1b2f16;return this[_0x41fca4(0x113)](),this[_0x41fca4(0x144)];}[a0_0x1b2f16(0x13f)](_0x127f82){const {module:_0x185a5f,endpoint:_0x4781ce,lockType:_0x33ec7f,recordId:_0x20ecca}=_0x127f82;if(_0x20ecca)return''+this['prefix']+_0x185a5f+':'+_0x4781ce+':'+_0x20ecca+':'+_0x33ec7f;return''+this['prefix']+_0x185a5f+':'+_0x4781ce+':'+_0x33ec7f;}['generateLockValue'](){const _0x37eff6=a0_0x1b2f16,_0x5734aa={'OQAVG':function(_0x51120e){return _0x51120e();}};return this[_0x37eff6(0x131)]+':'+_0x5734aa['OQAVG'](uuidv4)+':'+Date[_0x37eff6(0x156)]();}async['acquireReadLock'](_0x2580d3){const _0x45e9a3=a0_0x1b2f16,_0x5cb5b1={'nbeMH':function(_0x46d78e,_0x49494a){return _0x46d78e<_0x49494a;},'PojCm':_0x45e9a3(0x132),'wjeeH':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','yQTXI':'read_lock_timeout','UdnRQ':_0x45e9a3(0x148)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x4a8265=this['buildLockKey']({..._0x2580d3,'lockType':'write'}),_0x57301b=this['buildLockKey']({..._0x2580d3,'lockType':_0x45e9a3(0x150)}),_0x44407f=this[_0x45e9a3(0x12c)]();try{const _0x19d94b=redisClient[_0x45e9a3(0x146)]();for(let _0x34c47f=0x0;_0x5cb5b1['nbeMH'](_0x34c47f,this[_0x45e9a3(0x149)]);_0x34c47f++){const _0x371fa7=await _0x19d94b['get'](_0x4a8265);if(!_0x371fa7){await _0x19d94b['incr'](_0x57301b),await _0x19d94b['expire'](_0x57301b,this[_0x45e9a3(0x143)]);const _0x280499=_0x57301b+':'+_0x44407f;return await _0x19d94b[_0x45e9a3(0x11b)](_0x280499,this['defaultTTL'],_0x44407f),logger['debug']({'event':_0x45e9a3(0x138),'key':_0x57301b,'value':_0x44407f},'READ\x20lock\x20acquired'),{'success':!![],'lockValue':_0x44407f,'lockKey':_0x280499};}logger[_0x45e9a3(0x151)]({'event':_0x5cb5b1['PojCm'],'writeKey':_0x4a8265,'attempt':_0x34c47f},_0x5cb5b1[_0x45e9a3(0x128)]),await this['sleep'](this[_0x45e9a3(0x15d)]*Math[_0x45e9a3(0x14d)](0x2,_0x34c47f));}return logger['warn']({'event':_0x5cb5b1['yQTXI'],'key':_0x57301b},_0x45e9a3(0x13c)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x2c5fc3){return logger[_0x45e9a3(0x129)]({'event':_0x5cb5b1[_0x45e9a3(0x12e)],'error':_0x2c5fc3['message']},_0x45e9a3(0x135)),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x156993){const _0x34eff3=a0_0x1b2f16,_0x57b28d={'LkURu':function(_0x308e6b,_0x52a784){return _0x308e6b===_0x52a784;},'djuiQ':'reject','uvzgz':function(_0x57e3a3,_0x3766e3){return _0x57e3a3===_0x3766e3;},'cVJSn':'WRITE\x20lock\x20acquired\x20(reject\x20mode)','NZZmb':_0x34eff3(0x147),'qHSaf':function(_0x46aa12,_0x58ab70){return _0x46aa12(_0x58ab70);},'MuuSz':function(_0x58f6fb,_0x15b7d0){return _0x58f6fb===_0x15b7d0;},'cabuB':'write_lock_acquired','qDhSS':'retry','CoING':_0x34eff3(0x109),'eBHqb':_0x34eff3(0x110),'FAWqd':'write_lock_timeout','xUUPJ':'WRITE\x20lock\x20acquire\x20timeout','xJiLX':_0x34eff3(0x114)};if(!this[_0x34eff3(0x140)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x4b6ee3=this[_0x34eff3(0x13f)]({..._0x156993,'lockType':_0x34eff3(0x12d)}),_0x395ba1=this['buildLockKey']({..._0x156993,'lockType':'read'}),_0x10d3fb=this['generateLockValue']();try{const _0x26f236=redisClient[_0x34eff3(0x146)]();if(_0x57b28d['LkURu'](this[_0x34eff3(0x126)],_0x57b28d[_0x34eff3(0x11f)])){const _0x5bf305=await _0x26f236['set'](_0x4b6ee3,_0x10d3fb,'EX',this['defaultTTL'],'NX');if(_0x57b28d['uvzgz'](_0x5bf305,'OK'))return logger['debug']({'event':'write_lock_acquired','key':_0x4b6ee3,'value':_0x10d3fb,'strategy':_0x34eff3(0x116)},_0x57b28d['cVJSn']),{'success':!![],'lockValue':_0x10d3fb,'lockKey':_0x4b6ee3};return logger[_0x34eff3(0x151)]({'event':_0x57b28d['NZZmb'],'key':_0x4b6ee3},'WRITE\x20lock\x20rejected\x20-\x20record\x20busy'),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x19756d=0x0;_0x19756d<this[_0x34eff3(0x149)];_0x19756d++){const [_0x3fd89a,_0x40191e]=await Promise[_0x34eff3(0x117)]([_0x26f236[_0x34eff3(0x14a)](_0x395ba1),_0x26f236['get'](_0x4b6ee3)]);if(!_0x40191e&&(!_0x3fd89a||_0x57b28d['uvzgz'](_0x57b28d[_0x34eff3(0x10b)](parseInt,_0x3fd89a),0x0))){const _0x3aa6ef=await _0x26f236[_0x34eff3(0x13b)](_0x4b6ee3,_0x10d3fb,'EX',this[_0x34eff3(0x143)],'NX');if(_0x57b28d[_0x34eff3(0x10e)](_0x3aa6ef,'OK'))return logger[_0x34eff3(0x151)]({'event':_0x57b28d[_0x34eff3(0x124)],'key':_0x4b6ee3,'value':_0x10d3fb,'strategy':_0x57b28d[_0x34eff3(0x142)]},_0x57b28d[_0x34eff3(0x157)]),{'success':!![],'lockValue':_0x10d3fb,'lockKey':_0x4b6ee3};}logger['debug']({'event':_0x34eff3(0x121),'writeKey':_0x4b6ee3,'readCount':_0x3fd89a,'attempt':_0x19756d},_0x57b28d[_0x34eff3(0x112)]),await this[_0x34eff3(0x158)](this['retryDelay']*Math[_0x34eff3(0x14d)](0x2,_0x19756d));}return logger[_0x34eff3(0x10f)]({'event':_0x57b28d[_0x34eff3(0x153)],'key':_0x4b6ee3},_0x57b28d[_0x34eff3(0x11e)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x4d9ef2){return logger[_0x34eff3(0x129)]({'event':'write_lock_error','error':_0x4d9ef2[_0x34eff3(0x137)]},_0x57b28d['xJiLX']),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x1b2f16(0x122)](_0x2f94d3,_0xd80683){const _0x46ba5f=a0_0x1b2f16,_0x55b7d1={'sqaia':':read:','KENSw':function(_0x4f7a59,_0x158a89){return _0x4f7a59>_0x158a89;},'wTPEi':function(_0x28d642,_0x56936b){return _0x28d642(_0x56936b);},'JmeaP':_0x46ba5f(0x11d),'oBYnK':function(_0x14d446,_0x65a038){return _0x14d446===_0x65a038;},'GXVrM':'write_lock_released','Jdoai':'WRITE\x20lock\x20released','cZMnD':_0x46ba5f(0x11c)};if(!this['enabled']||!_0x2f94d3)return!![];try{const _0xd0ed2c=redisClient[_0x46ba5f(0x146)]();if(_0x2f94d3[_0x46ba5f(0x111)](_0x55b7d1['sqaia'])){await _0xd0ed2c['del'](_0x2f94d3);const _0x3b5628=_0x2f94d3['substring'](0x0,_0x2f94d3[_0x46ba5f(0x14b)](':')),_0x1ca49d=await _0xd0ed2c[_0x46ba5f(0x14a)](_0x3b5628);return _0x1ca49d&&_0x55b7d1['KENSw'](_0x55b7d1['wTPEi'](parseInt,_0x1ca49d),0x0)&&await _0xd0ed2c['decr'](_0x3b5628),logger[_0x46ba5f(0x151)]({'event':_0x55b7d1[_0x46ba5f(0x155)],'key':_0x2f94d3},_0x46ba5f(0x136)),!![];}const _0x2d4bfc=_0x46ba5f(0x10c),_0x38db61=await _0xd0ed2c[_0x46ba5f(0x115)](_0x2d4bfc,0x1,_0x2f94d3,_0xd80683);if(_0x55b7d1['oBYnK'](_0x38db61,0x1))return logger['debug']({'event':_0x55b7d1['GXVrM'],'key':_0x2f94d3},_0x55b7d1[_0x46ba5f(0x123)]),!![];return logger[_0x46ba5f(0x10f)]({'event':_0x46ba5f(0x12b),'key':_0x2f94d3},_0x46ba5f(0x145)),![];}catch(_0x5bc235){return logger[_0x46ba5f(0x129)]({'event':'lock_release_error','key':_0x2f94d3,'error':_0x5bc235[_0x46ba5f(0x137)]},_0x55b7d1['cZMnD']),![];}}async['extendLock'](_0x25cd8f,_0x30ac68,_0x4dd892=null){const _0x41e4d0=a0_0x1b2f16,_0x4f1ce7={'NkfLs':'lock_extended','IPPXS':_0x41e4d0(0x154),'JeKHN':'lock_extend_error','zsAdb':'Lock\x20extend\x20error'};if(!this['enabled']||!_0x25cd8f)return!![];try{const _0x1a597c=redisClient['getClient'](),_0x64414e=_0x41e4d0(0x15c),_0x1fb2a3=await _0x1a597c['eval'](_0x64414e,0x1,_0x25cd8f,_0x30ac68,_0x4dd892||this[_0x41e4d0(0x143)]);if(_0x1fb2a3===0x1)return logger['debug']({'event':_0x4f1ce7['NkfLs'],'key':_0x25cd8f,'ttl':_0x4dd892||this[_0x41e4d0(0x143)]},_0x4f1ce7['IPPXS']),!![];return![];}catch(_0x2811cd){return logger['error']({'event':_0x4f1ce7[_0x41e4d0(0x12f)],'key':_0x25cd8f,'error':_0x2811cd[_0x41e4d0(0x137)]},_0x4f1ce7['zsAdb']),![];}}['isEnabled'](){const _0x96d481=a0_0x1b2f16;return this[_0x96d481(0x140)];}[a0_0x1b2f16(0x158)](_0x38bba2){return new Promise(_0x5f3cdc=>setTimeout(_0x5f3cdc,_0x38bba2));}async['getLockInfo'](_0x1e211c){const _0x428c9c=a0_0x1b2f16,_0x26e5b8={'OxkDh':function(_0x5673b2,_0x482d17){return _0x5673b2||_0x482d17;},'qHiko':function(_0x518114,_0x43b1ba){return _0x518114(_0x43b1ba);}};if(!this['enabled'])return{'enabled':![]};try{const _0x3f433c=redisClient['getClient'](),_0x2fc02c=this[_0x428c9c(0x13f)]({..._0x1e211c,'lockType':_0x428c9c(0x12d)}),_0x194924=this['buildLockKey']({..._0x1e211c,'lockType':_0x428c9c(0x150)}),[_0x114e4f,_0xda817f]=await Promise['all']([_0x3f433c[_0x428c9c(0x14a)](_0x2fc02c),_0x3f433c[_0x428c9c(0x14a)](_0x194924)]);return{'enabled':!![],'writeLock':_0x26e5b8['OxkDh'](_0x114e4f,null),'readCount':_0x26e5b8['qHiko'](parseInt,_0xda817f)||0x0,'writeKey':_0x2fc02c,'readKey':_0x194924};}catch(_0x112fed){return{'enabled':!![],'error':_0x112fed['message']};}}}function a0_0x1aa9(_0x1ed0c2,_0x32d936){_0x1ed0c2=_0x1ed0c2-0x109;const _0x51341b=a0_0x5134();let _0x1aa98b=_0x51341b[_0x1ed0c2];if(a0_0x1aa9['mxZZJz']===undefined){var _0x38858e=function(_0x281469){const _0x15499d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x17d68a='',_0x36de5a='';for(let _0x537574=0x0,_0x558157,_0x9c6402,_0x55e860=0x0;_0x9c6402=_0x281469['charAt'](_0x55e860++);~_0x9c6402&&(_0x558157=_0x537574%0x4?_0x558157*0x40+_0x9c6402:_0x9c6402,_0x537574++%0x4)?_0x17d68a+=String['fromCharCode'](0xff&_0x558157>>(-0x2*_0x537574&0x6)):0x0){_0x9c6402=_0x15499d['indexOf'](_0x9c6402);}for(let _0x2fbe87=0x0,_0x329550=_0x17d68a['length'];_0x2fbe87<_0x329550;_0x2fbe87++){_0x36de5a+='%'+('00'+_0x17d68a['charCodeAt'](_0x2fbe87)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x36de5a);};a0_0x1aa9['qQHTap']=_0x38858e,a0_0x1aa9['apNdKk']={},a0_0x1aa9['mxZZJz']=!![];}const _0x50bb8e=_0x51341b[0x0],_0xeef73d=_0x1ed0c2+_0x50bb8e,_0x267ccc=a0_0x1aa9['apNdKk'][_0xeef73d];return!_0x267ccc?(_0x1aa98b=a0_0x1aa9['qQHTap'](_0x1aa98b),a0_0x1aa9['apNdKk'][_0xeef73d]=_0x1aa98b):_0x1aa98b=_0x267ccc,_0x1aa98b;}module[a0_0x1b2f16(0x130)]=new LockManager();
|
|
1
|
+
const a0_0x554c48=a0_0x1008;(function(_0x556fbf,_0x3da1f0){const _0xffeb85=a0_0x1008,_0x49507f=_0x556fbf();while(!![]){try{const _0x239eae=-parseInt(_0xffeb85(0x163))/0x1+parseInt(_0xffeb85(0x15f))/0x2+-parseInt(_0xffeb85(0x175))/0x3*(-parseInt(_0xffeb85(0x179))/0x4)+-parseInt(_0xffeb85(0x1ac))/0x5+parseInt(_0xffeb85(0x169))/0x6*(parseInt(_0xffeb85(0x159))/0x7)+parseInt(_0xffeb85(0x158))/0x8+parseInt(_0xffeb85(0x16f))/0x9*(-parseInt(_0xffeb85(0x19c))/0xa);if(_0x239eae===_0x3da1f0)break;else _0x49507f['push'](_0x49507f['shift']());}catch(_0x44cdd6){_0x49507f['push'](_0x49507f['shift']());}}}(a0_0x5337,0x3261f));function a0_0x5337(){const _0x2ace4f=['D29YA2vYlq','ndaZme50sLzpuG','DgXnsvy','D3jPDgvFBg9JA190Aw1LB3v0','tu9PBLe','x2vUywjSzwq','zw52','Dhj1zq','AxnfBMfIBgvK','Cg93','C3rYyxrLz3K','x2LUAxrdB25MAwC','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','yNvPBgrmB2nRs2v5','uKvbrcbSB2nRigfJCxvPCMvK','C2v0','BM5MtMm','ote3mJa1rxnKt2fk','su5LvLG','D3jPDgvFBg9JA19LCNjVCG','x2LUAxrPywXPEMvK','Aw5JCG','zgvIDwC','v1nvwwq','mZqXmZzUwwDNwKm','otK3nJu0v1rctfzw','tg9JAYbuveWGzxH0zw5Kzwq','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','uMX2tuu','CgLK','CMv0CNLezwXHEq','ntuXntq0C0zmwfrd','Cw9sy2S','Bg9JA19LEhrLBMrLza','CMvHzf9SB2nRx3DHAxrPBMC','nty2nxDJqLfzBG','v1jjveuGBg9JAYbLCNjVCG','CMvSzwfZzuXVy2S','CMvHzf9SB2nRx3rPBwvVDxq','CMvHzf9SB2nRx3jLBgvHC2vK','x3bYzwzPEa','mtj0tffuAM0','zgvMyxvSDfruta','D3jPDgvFBg9JA19YzwPLy3rLza','Bg9JA19JB25MAwDFAw5PDa','CMjhrK8','z2v0tg9JA0LUzM8','mtaYntfRswvfr2S','Bg9JA19LEhrLBMrFzxjYB3i','x3DVCMTLCKLK','C2XLzxa','CMvHza','ChjLzML4','m3nztKLmrW','ywnXDwLYzvDYAxrLtg9JAW','y1bzCw4','x3n0CMf0zwD5','mte1nZyYogfXDuvMEG','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','vvb5q3a','Aw5MBW','EKL4CK0','C3vIC3rYAw5N','ywnXDwLYzvjLywrmB2nR','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','D3jPDgvFBg9JA19Hy3f1AxjLza','C2v0zxG','tg9JAYbYzwXLyxnLigvYCM9Y','x2vUC3vYzuLUAxrPywXPEMvK','z2v0q2XPzw50','x3jLDhj5q291BNq','zw5HyMXLza','D2fYBG','zxzHBa','z2vUzxjHDgvmB2nRvMfSDwu','te9ds19esvnuuKLcvvrfrf9ftKfcteve','r1HOEg0','z2v0','CMv0CNK','zxjYB3i','BwvZC2fNzq','vNP0rNK','CMv0CNLdB3vUDa','B0TAwgS','BgfZDeLUzgv4t2y','x2rLzMf1BhruveW','CMy6Bg9JAZO','D29YA2vYswq','x3jLDhj5rgvSyxK','ywXS'];a0_0x5337=function(){return _0x2ace4f;};return a0_0x5337();}const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');function a0_0x1008(_0x584c72,_0x5ba024){_0x584c72=_0x584c72-0x155;const _0x53376d=a0_0x5337();let _0x10084b=_0x53376d[_0x584c72];if(a0_0x1008['ZhWFMN']===undefined){var _0x2fa7b4=function(_0x440edc){const _0x2023ef='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5b6f1d='',_0x463e49='';for(let _0x4a7b0c=0x0,_0x25e9b6,_0x560064,_0x191128=0x0;_0x560064=_0x440edc['charAt'](_0x191128++);~_0x560064&&(_0x25e9b6=_0x4a7b0c%0x4?_0x25e9b6*0x40+_0x560064:_0x560064,_0x4a7b0c++%0x4)?_0x5b6f1d+=String['fromCharCode'](0xff&_0x25e9b6>>(-0x2*_0x4a7b0c&0x6)):0x0){_0x560064=_0x2023ef['indexOf'](_0x560064);}for(let _0x4dba78=0x0,_0x396187=_0x5b6f1d['length'];_0x4dba78<_0x396187;_0x4dba78++){_0x463e49+='%'+('00'+_0x5b6f1d['charCodeAt'](_0x4dba78)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x463e49);};a0_0x1008['JGhSRg']=_0x2fa7b4,a0_0x1008['kEPngk']={},a0_0x1008['ZhWFMN']=!![];}const _0x1b9cbb=_0x53376d[0x0],_0x3f8ac3=_0x584c72+_0x1b9cbb,_0x29c3f7=a0_0x1008['kEPngk'][_0x3f8ac3];return!_0x29c3f7?(_0x10084b=a0_0x1008['JGhSRg'](_0x10084b),a0_0x1008['kEPngk'][_0x3f8ac3]=_0x10084b):_0x10084b=_0x29c3f7,_0x10084b;}class LockManager{constructor(){const _0x2957a3=a0_0x1008;this[_0x2957a3(0x168)]=null,this[_0x2957a3(0x1a0)]=null,this[_0x2957a3(0x196)]=null,this[_0x2957a3(0x187)]=null,this['_retryDelay']=null,this['_strategy']=null,this[_0x2957a3(0x171)]=null,this[_0x2957a3(0x1af)]=![];}[a0_0x554c48(0x1a6)](){const _0x46d25d=a0_0x554c48,_0xd59fc0={'nnfNc':_0x46d25d(0x197),'INeVX':function(_0x2017f6,_0x63b9b0,_0x207676){return _0x2017f6(_0x63b9b0,_0x207676);}};this[_0x46d25d(0x168)]=_0xd59fc0[_0x46d25d(0x1ab)],this['_enabled']=process['env'][_0x46d25d(0x18c)]===_0x46d25d(0x1a2),this[_0x46d25d(0x196)]=parseInt(process[_0x46d25d(0x1a1)]['LOCK_DISTRIBUTED_TTL'],0xa)||0xa,this['_retryCount']=_0xd59fc0[_0x46d25d(0x1ad)](parseInt,process[_0x46d25d(0x1a1)]['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3,this[_0x46d25d(0x199)]=_0xd59fc0[_0x46d25d(0x1ad)](parseInt,process['env']['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64,this[_0x46d25d(0x178)]=process['env']['LOCK_DISTRIBUTED_STRATEGY']||_0x46d25d(0x18f),this[_0x46d25d(0x171)]=_0x46d25d(0x19b)+process[_0x46d25d(0x15d)],this['_initialized']=!![],logger[_0x46d25d(0x17d)]({'event':_0x46d25d(0x16c),'enabled':this['_enabled'],'strategy':this[_0x46d25d(0x178)],'ttl':this[_0x46d25d(0x196)],'retryCount':this['_retryCount'],'retryDelay':this[_0x46d25d(0x199)],'workerId':this[_0x46d25d(0x171)]},_0x46d25d(0x1a7)+this[_0x46d25d(0x1a0)]+',\x20strategy:\x20'+this['_strategy']);}[a0_0x554c48(0x185)](){const _0x22a53d=a0_0x554c48;!this[_0x22a53d(0x1af)]&&this['_initConfig']();}get[a0_0x554c48(0x174)](){const _0x36f207=a0_0x554c48;return this['_ensureInitialized'](),this[_0x36f207(0x168)];}get[a0_0x554c48(0x188)](){return this['_ensureInitialized'](),this['_enabled'];}get[a0_0x554c48(0x16a)](){const _0x6e3cef=a0_0x554c48;return this[_0x6e3cef(0x185)](),this['_defaultTTL'];}get[a0_0x554c48(0x193)](){const _0x1a481c=a0_0x554c48;return this[_0x1a481c(0x185)](),this[_0x1a481c(0x187)];}get[a0_0x554c48(0x15e)](){const _0x59a110=a0_0x554c48;return this[_0x59a110(0x185)](),this['_retryDelay'];}get['strategy'](){const _0x335e26=a0_0x554c48;return this[_0x335e26(0x185)](),this[_0x335e26(0x178)];}get[a0_0x554c48(0x198)](){return this['_ensureInitialized'](),this['_workerId'];}[a0_0x554c48(0x1a8)](_0x3fa7d1){const {module:_0x3821fa,endpoint:_0x25e623,lockType:_0x58d11c,recordId:_0x2af50a}=_0x3fa7d1;if(_0x2af50a)return''+this['prefix']+_0x3821fa+':'+_0x25e623+':'+_0x2af50a+':'+_0x58d11c;return''+this['prefix']+_0x3821fa+':'+_0x25e623+':'+_0x58d11c;}['generateLockValue'](){const _0x35e669=a0_0x554c48,_0x52cf68={'xNhTY':function(_0xaf1403){return _0xaf1403();}};return this[_0x35e669(0x198)]+':'+_0x52cf68['xNhTY'](uuidv4)+':'+Date['now']();}async[a0_0x554c48(0x180)](_0x5aafed){const _0xf391b=a0_0x554c48,_0x3da218={'UPyCp':'read_lock_acquired','TeeRm':_0xf391b(0x1a9),'eNOfK':_0xf391b(0x162),'QZukG':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','WSUYd':_0xf391b(0x166),'XaIjb':'READ\x20lock\x20error'};if(!this[_0xf391b(0x188)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x2d4306=this[_0xf391b(0x1a8)]({..._0x5aafed,'lockType':'write'}),_0x4146e6=this[_0xf391b(0x1a8)]({..._0x5aafed,'lockType':_0xf391b(0x173)}),_0x1b87a6=this[_0xf391b(0x18b)]();try{const _0x12344d=redisClient[_0xf391b(0x186)]();for(let _0x5d6f44=0x0;_0x5d6f44<this[_0xf391b(0x193)];_0x5d6f44++){const _0x474959=await _0x12344d['get'](_0x2d4306);if(!_0x474959){await _0x12344d[_0xf391b(0x155)](_0x4146e6),await _0x12344d['expire'](_0x4146e6,this[_0xf391b(0x16a)]);const _0x3f221c=_0x4146e6+':'+_0x1b87a6;return await _0x12344d[_0xf391b(0x183)](_0x3f221c,this['defaultTTL'],_0x1b87a6),logger['debug']({'event':_0x3da218[_0xf391b(0x17c)],'key':_0x4146e6,'value':_0x1b87a6},_0x3da218['TeeRm']),{'success':!![],'lockValue':_0x1b87a6,'lockKey':_0x3f221c};}logger['debug']({'event':_0x3da218['eNOfK'],'writeKey':_0x2d4306,'attempt':_0x5d6f44},_0x3da218['QZukG']),await this[_0xf391b(0x172)](this[_0xf391b(0x15e)]*Math['pow'](0x2,_0x5d6f44));}return logger[_0xf391b(0x189)]({'event':_0x3da218[_0xf391b(0x157)],'key':_0x4146e6},_0xf391b(0x17b)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x2acd64){return logger[_0xf391b(0x190)]({'event':'read_lock_error','error':_0x2acd64['message']},_0x3da218['XaIjb']),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x554c48(0x176)](_0x137000){const _0x194b50=a0_0x554c48,_0x232754={'cPYqn':_0x194b50(0x173),'zIxrM':function(_0x464536,_0x8c242a){return _0x464536===_0x8c242a;},'ftUeE':'reject','TsRll':_0x194b50(0x182),'MOinQ':_0x194b50(0x16b),'tlMIV':_0x194b50(0x181),'GXhxm':function(_0x260add,_0x540aac){return _0x260add<_0x540aac;},'RlvME':function(_0x3f5ddc,_0x3dc83a){return _0x3f5ddc===_0x3dc83a;},'MxoZC':_0x194b50(0x15b),'WrSxl':'Waiting\x20for\x20locks\x20to\x20release','oKZXk':function(_0x5a74e3,_0x5da00e){return _0x5a74e3*_0x5da00e;},'VztFy':_0x194b50(0x19e)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x23f0cb=this['buildLockKey']({..._0x137000,'lockType':'write'}),_0x35896e=this[_0x194b50(0x1a8)]({..._0x137000,'lockType':_0x232754[_0x194b50(0x177)]}),_0x1f357a=this[_0x194b50(0x18b)]();try{const _0x6bcb83=redisClient[_0x194b50(0x186)]();if(_0x232754['zIxrM'](this[_0x194b50(0x1a5)],_0x232754['ftUeE'])){const _0x34a9ea=await _0x6bcb83[_0x194b50(0x1aa)](_0x23f0cb,_0x1f357a,'EX',this[_0x194b50(0x16a)],'NX');if(_0x232754[_0x194b50(0x17e)](_0x34a9ea,'OK'))return logger['debug']({'event':_0x232754['TsRll'],'key':_0x23f0cb,'value':_0x1f357a,'strategy':_0x232754['ftUeE']},_0x194b50(0x17a)),{'success':!![],'lockValue':_0x1f357a,'lockKey':_0x23f0cb};return logger[_0x194b50(0x156)]({'event':_0x232754[_0x194b50(0x19f)],'key':_0x23f0cb},_0x232754[_0x194b50(0x19d)]),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x256ab9=0x0;_0x232754[_0x194b50(0x18d)](_0x256ab9,this['retryCount']);_0x256ab9++){const [_0x26a5e4,_0x4b327a]=await Promise['all']([_0x6bcb83['get'](_0x35896e),_0x6bcb83[_0x194b50(0x18e)](_0x23f0cb)]);if(!_0x4b327a&&(!_0x26a5e4||_0x232754[_0x194b50(0x15c)](parseInt(_0x26a5e4),0x0))){const _0x592763=await _0x6bcb83[_0x194b50(0x1aa)](_0x23f0cb,_0x1f357a,'EX',this['defaultTTL'],'NX');if(_0x592763==='OK')return logger[_0x194b50(0x156)]({'event':_0x194b50(0x182),'key':_0x23f0cb,'value':_0x1f357a,'strategy':'retry'},_0x232754['MxoZC']),{'success':!![],'lockValue':_0x1f357a,'lockKey':_0x23f0cb};}logger['debug']({'event':'write_lock_waiting','writeKey':_0x23f0cb,'readCount':_0x26a5e4,'attempt':_0x256ab9},_0x232754['WrSxl']),await this['sleep'](_0x232754[_0x194b50(0x194)](this['retryDelay'],Math[_0x194b50(0x1a4)](0x2,_0x256ab9)));}return logger[_0x194b50(0x189)]({'event':_0x232754[_0x194b50(0x192)],'key':_0x23f0cb},'WRITE\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x42c7fc){return logger[_0x194b50(0x190)]({'event':_0x194b50(0x1ae),'error':_0x42c7fc[_0x194b50(0x191)]},_0x194b50(0x164)),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x554c48(0x165)](_0x19e0d6,_0x45ea17){const _0x16a6ff=a0_0x554c48,_0x10588f={'SOzix':':read:','jyiLC':function(_0x42bb45,_0x3bed26){return _0x42bb45(_0x3bed26);},'rbGFO':function(_0x5c3f65,_0x26fe0f){return _0x5c3f65===_0x26fe0f;},'gWaqG':_0x16a6ff(0x184)};if(!this['enabled']||!_0x19e0d6)return!![];try{const _0x9ed276=redisClient[_0x16a6ff(0x186)]();if(_0x19e0d6['includes'](_0x10588f['SOzix'])){await _0x9ed276['del'](_0x19e0d6);const _0x5b92cd=_0x19e0d6[_0x16a6ff(0x17f)](0x0,_0x19e0d6[_0x16a6ff(0x195)](':')),_0x3fbef9=await _0x9ed276[_0x16a6ff(0x18e)](_0x5b92cd);return _0x3fbef9&&_0x10588f['jyiLC'](parseInt,_0x3fbef9)>0x0&&await _0x9ed276['decr'](_0x5b92cd),logger[_0x16a6ff(0x156)]({'event':_0x16a6ff(0x167),'key':_0x19e0d6},'READ\x20lock\x20released'),!![];}const _0x3469ed='\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',_0x2aed88=await _0x9ed276[_0x16a6ff(0x18a)](_0x3469ed,0x1,_0x19e0d6,_0x45ea17);if(_0x10588f[_0x16a6ff(0x16d)](_0x2aed88,0x1))return logger['debug']({'event':'write_lock_released','key':_0x19e0d6},'WRITE\x20lock\x20released'),!![];return logger['warn']({'event':'lock_release_not_owner','key':_0x19e0d6},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0x105e0a){return logger[_0x16a6ff(0x190)]({'event':'lock_release_error','key':_0x19e0d6,'error':_0x105e0a[_0x16a6ff(0x191)]},_0x10588f['gWaqG']),![];}}async['extendLock'](_0x2c8da5,_0xb562cc,_0x23e851=null){const _0x43df5d=a0_0x554c48,_0x3bcb42={'hmLuj':_0x43df5d(0x161),'tMLUn':_0x43df5d(0x15a)};if(!this[_0x43df5d(0x188)]||!_0x2c8da5)return!![];try{const _0x468e58=redisClient['getClient'](),_0x2a4e43='\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',_0x28576b=await _0x468e58['eval'](_0x2a4e43,0x1,_0x2c8da5,_0xb562cc,_0x23e851||this['defaultTTL']);if(_0x28576b===0x1)return logger[_0x43df5d(0x156)]({'event':_0x3bcb42['hmLuj'],'key':_0x2c8da5,'ttl':_0x23e851||this['defaultTTL']},_0x3bcb42['tMLUn']),!![];return![];}catch(_0x49bd85){return logger[_0x43df5d(0x190)]({'event':_0x43df5d(0x170),'key':_0x2c8da5,'error':_0x49bd85[_0x43df5d(0x191)]},'Lock\x20extend\x20error'),![];}}[a0_0x554c48(0x1a3)](){const _0x4d327e=a0_0x554c48;return this[_0x4d327e(0x188)];}[a0_0x554c48(0x172)](_0x283088){return new Promise(_0x4653da=>setTimeout(_0x4653da,_0x283088));}async[a0_0x554c48(0x16e)](_0x700383){const _0x4f4fe8=a0_0x554c48,_0x351499={'CFgTC':'read','PESUe':function(_0x5db433,_0xc5dad0){return _0x5db433||_0xc5dad0;},'qoRck':function(_0xf629a6,_0x2d25b3){return _0xf629a6(_0x2d25b3);}};if(!this[_0x4f4fe8(0x188)])return{'enabled':![]};try{const _0x5a0af9=redisClient['getClient'](),_0x4db37f=this['buildLockKey']({..._0x700383,'lockType':'write'}),_0x35245d=this[_0x4f4fe8(0x1a8)]({..._0x700383,'lockType':_0x351499['CFgTC']}),[_0x7db269,_0x4a4049]=await Promise[_0x4f4fe8(0x19a)]([_0x5a0af9['get'](_0x4db37f),_0x5a0af9[_0x4f4fe8(0x18e)](_0x35245d)]);return{'enabled':!![],'writeLock':_0x351499['PESUe'](_0x7db269,null),'readCount':_0x351499[_0x4f4fe8(0x160)](parseInt,_0x4a4049)||0x0,'writeKey':_0x4db37f,'readKey':_0x35245d};}catch(_0x16ffba){return{'enabled':!![],'error':_0x16ffba['message']};}}}module['exports']=new LockManager();
|
package/src/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x121ea4=a0_0x57a8;function a0_0x3e4d(){const _0x5b00ae=['odaWnZa4y1vQBKP1','C2vYDMvYx3n0yxj0Aw5N','zgjFDhjHBNnHy3rPB24','y3jLzgL0y2fYza','DhLWzq','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','ueP2su4','zgvIDwC','yKHPEgu','zxjY','sw50zxjUywWGC2vYDMvYigvYCM9Y','C3rKu2vYAwfSAxPLCNm','zxHWB3j0CW','icbjBMzVoIaGia','BgjIu1O','yxv0Ag9YAxPHDgLVBG','v0vRzfi','CMvMCMvZAf90B2TLBG','C3rKvgLTzuz1BMn0Aw9UCW','Ag9ZDa','EgDZrKS','svr6Dvy','icbvuKW6icaGia','t0PpzMS','y29UBMvJDgLVBG','C3rYAw5N','Dw5JyxvNAhrfEgnLChrPB24','BwvZC2fNzq','te9hx0rjuG','reiGuxvLCNK','CwvVDue','y29UzMLNrMLSzq','CgfYyw1Z','Aw5JBhvKzxm','revmrvrf','ChjPDMf0zv9RzxK','C3rHDhvZ','mZeYmdKYmvvsrNLuvG','q09ntuLu','yNrXvhy','zxHPDa','tK9erv9ftLy','u2vYDMvYihn0yxj0Aw5NoIa','BMfTzq','y3jLzgvUDgLHBhm','Bwf4','u1fmx0Xpr19tte9xx1riuKvtse9mra','BgvUz3rO','ugrxAgy','y3jLzgL0x2nHCMq','wuvmt3m','AxnbCNjHEq','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','C3rHy2S','Dg9mB3DLCKnHC2u','Cg9YDa','Dhj1zq','z25lzhq','rermx0rst1a','CMvZB2X2zq','D0jtv3a','yMfZzvvYBa','Cgf0Aa','vwfMC2e','s0LxAwS','mLLXz1jLCq','C3rHCNrZv2L0Aa','CMvTB3rLqwrKCMvZCW','CgLUBW','w1jfrefdveveoMHHC2HD','rKfuquW6ia','AgvHBhrOq2HLy2S','y3jLyxrLv3jPDgvtDhjLyw0','EgfRDMS','Ewnfz0K','C3bSAxq','zgf0ywjHC2u','CgfZC3DVCMq','zMf0ywW','zMLSzv9SB2DNAw5Nx2vUywjSzwq','ywnJzxnZx3rVA2vU','u0vmrunu','Ahr0Cf9Yzxf1zxn0','AxntBg93','Bw9KDwXL','yxbWlMXVzW','Denwt0K','CNzjr0K','vgT2BMO','C3vIC3rYAw5N','CxvLCNK','oI8V','BwfW','Ec1Yzxf1zxn0lwLK','A3L2yvG','ChjVy2vZC193yxjUAw5N','qwHizuS','CMvZDgzVCMDL','zw52AxjVBM1LBNq','CgLU','zxjYB3i','zMXVB3i','q1jfu2m','C2vYDMLJzuLUzM8','Cg9ZDgDYzxnXBa','ntG5mti2nhH2DgLMuG','ChjPDMf0zwTLEq','iokvKqRILzeGifbVCNqGicaGicaGidOG','B3rW','Dxb0Aw1L','nJi5odq3CMnvwMTv','q1jjveLdquW','Bwf0y2G','ChjVAMvJDf9SB2fKzwq','yxbPA2v5','vwHbsMy','shv5vfy','uvzuCwi','w09lxsbqCM9Qzwn0igXVywrLzdOG','ChDK','D2fYBMLUzW','C3rHDhvZq29Kzq','y21HDxi','su5trvju','vMLYC2u','AMTJq2y','qvbqx1zfuLnjt04','A3rtvMG','C3nU','CgfKrw5K','D3jPDgu','DhjPBq','D2fYBG','Dg9Rzw4','B2jQzwn0','uhjVy2vZCYbxyxjUAw5NoIa','Bwv0Ag9K','Dg9ju09tDhjPBMC','zgf0ywjHC2vFy29UzMLN','nJe4nJyYmxPJqujzsG','w1jfrefdvevexq','svzmrem','Cg1IrNC','swHbBhi','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','zMfSC2u','wgDjtxK','C3zTEMq','qKvhsu4','DxjS','yKzOBvu','Dw5Oyw5KBgvKuMvQzwn0Aw9U','wufnzLi','vvbeqvrf','yM9KEq','rxjYB3i6ia','Dg9gAxHLza','yxbPx2TLEq','rMvpq3i','C2vJCMv0','zgjFCxvLCNK','D29WyLi','Aw5MBW','rermx0nsrufurq','BwTKAxjtEw5J','iokvKqRILzeGifbYB2PLy3qGicaGidOG','BevZC00','CMvWBgfJzq','ifTtte9xxq','Ahr0Cf9LCNjVCG','BenOtha','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','q09MDNm','ndG5nJG2nwD1rKreuW','rejFueftu1DpuKq','ntC3ndy3nMHAy2vvAq','vfjbtLnbq1rjt05FuK9mtejbq0S','qLvwBM4','Dg9vChbLCKnHC2u','CM93C0fMzMvJDgvK','CgLK','zgv2zwXVCg1LBNq','u1LtoKHioK1noNnZ','zMf0ywXFzxjYB3i','EKD0vuy','AM9PBG','uNjzv1m','DgvZDa','ChjVAMvJDa','zw52','rxjYB3i','u1rbuLqGvfjbtLnbq1rjt04','y29Kzq','wfn1u1u','tM9Kzs5QCW','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','ig9UihbVCNqG','rxHwq0G','Bvf6ugW'];a0_0x3e4d=function(){return _0x5b00ae;};return a0_0x3e4d();}(function(_0x5d259b,_0x3f97fb){const _0x1b3467=a0_0x57a8,_0x328a74=_0x5d259b();while(!![]){try{const _0x6cb5b3=-parseInt(_0x1b3467(0x117))/0x1*(parseInt(_0x1b3467(0x1b1))/0x2)+parseInt(_0x1b3467(0x195))/0x3+-parseInt(_0x1b3467(0x170))/0x4+parseInt(_0x1b3467(0x156))/0x5+parseInt(_0x1b3467(0x158))/0x6+-parseInt(_0x1b3467(0x134))/0x7+-parseInt(_0x1b3467(0x112))/0x8;if(_0x6cb5b3===_0x3f97fb)break;else _0x328a74['push'](_0x328a74['shift']());}catch(_0x5603cd){_0x328a74['push'](_0x328a74['shift']());}}}(a0_0x3e4d,0x81db3));const pino=require(a0_0x121ea4(0x1b4)),fs=require('fs'),path=require(a0_0x121ea4(0x1ae));let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x121ea4(0x15f),'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_0x121ea4(0x139),'hideObject':!![]},isDevelopment=process[a0_0x121ea4(0x166)][a0_0x121ea4(0x199)]!=='production',logLevel=process['env']['LOG_LEVEL']||a0_0x121ea4(0x14b);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x121ea4(0x10a),'version':process[a0_0x121ea4(0x166)][a0_0x121ea4(0x127)]||'1.0.5','env':process[a0_0x121ea4(0x166)]['NODE_ENV']||a0_0x121ea4(0x15e)},'timestamp':pino[a0_0x121ea4(0x182)]['isoTime'],'redact':{'paths':[a0_0x121ea4(0x154),'req.headers[\x22x-api-key\x22]','password',a0_0x121ea4(0x12e),'apiKey',a0_0x121ea4(0x157),'JWT_SECRET'],'censor':a0_0x121ea4(0x135)},'serializers':{'req':_0x59d2b1=>({'id':_0x59d2b1['id'],'method':_0x59d2b1['method'],'url':_0x59d2b1[a0_0x121ea4(0x13e)],'path':_0x59d2b1[a0_0x121ea4(0x1ae)],'remoteAddress':_0x59d2b1['ip']||_0x59d2b1[a0_0x121ea4(0x188)]?.[a0_0x121ea4(0x1b3)]}),'res':_0x351f06=>({'statusCode':_0x351f06['statusCode'],'headers':_0x351f06['getHeaders']?.()}),'err':pino[a0_0x121ea4(0x17b)][a0_0x121ea4(0x179)]}});function initFileLogging(){const _0x715bc2=a0_0x121ea4,_0x22eba5={'ycEgI':_0x715bc2(0x1a8),'QVTqb':function(_0x3e7c4c,_0x333026){return _0x3e7c4c===_0x333026;},'SDAqj':'debug','NDyUr':'app.log','kudtv':'error.log','wopbR':_0x715bc2(0x1bf),'KIWik':function(_0x50942d,_0x43c70f,_0x5e1166){return _0x50942d(_0x43c70f,_0x5e1166);},'GmwWY':_0x715bc2(0x14b)};if(fileLoggingInitialized)return;logToFile=process['env']['LOG_TO_FILE']===_0x22eba5['ycEgI'];const _0x54457a=process['env']['RESTFORGE_PROJECT_NAME']||'default';logDir=process[_0x715bc2(0x166)][_0x715bc2(0x18c)]||'./logs/'+_0x54457a,serviceName=process[_0x715bc2(0x166)]['SERVICE_NAME']||'restforge',sqlLogEnabled=_0x22eba5[_0x715bc2(0x11e)](process[_0x715bc2(0x166)]['SQL_LOG_ENABLED'],_0x22eba5[_0x715bc2(0x1ba)]),sqlLogLevel=process['env']['SQL_LOG_LEVEL']||_0x22eba5['SDAqj'],sqlLogParams=process[_0x715bc2(0x166)]['SQL_LOG_PARAMS']!==_0x715bc2(0x13a),sqlLogSlowThreshold=parseInt(process[_0x715bc2(0x166)][_0x715bc2(0x19e)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x51b8c9=path[_0x715bc2(0x1ab)](process['cwd'](),logDir);try{!fs['existsSync'](_0x51b8c9)&&fs[_0x715bc2(0x14d)](_0x51b8c9,{'recursive':!![]});}catch(_0x6ff546){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x51b8c9+':',_0x6ff546[_0x715bc2(0x18b)]),fileLoggingInitialized=!![];return;}const _0x266ca8=path['join'](_0x51b8c9,_0x22eba5['NDyUr']),_0x6dcfa1=path[_0x715bc2(0x162)](_0x51b8c9,_0x22eba5['kudtv']);try{appLogStream=fs[_0x715bc2(0x1b8)](_0x266ca8,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x6dcfa1,{'flags':'a'}),fileLoggingInitialized=!![];const _0x4b7803={'event':_0x22eba5[_0x715bc2(0x14a)],'logDir':_0x51b8c9,'files':[_0x715bc2(0xfe),_0x22eba5['kudtv']]},_0x4f02ed='File\x20logging\x20enabled:\x20'+_0x51b8c9;logger[_0x715bc2(0x14b)](_0x4b7803,_0x4f02ed),_0x22eba5[_0x715bc2(0x1b0)](writeToFileLog,{..._0x4b7803,'level':'info','msg':_0x4f02ed,'time':new Date()[_0x715bc2(0x132)]()},_0x22eba5['GmwWY']);}catch(_0xbb2a67){console[_0x715bc2(0x10d)]('Failed\x20to\x20create\x20log\x20streams:',_0xbb2a67[_0x715bc2(0x18b)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x1e4bad,_0x273772){const _0x3326fc=a0_0x121ea4,_0xfa6e99={'XgIMy':function(_0x574088,_0x24b12d){return _0x574088===_0x24b12d;},'Ohmed':'error','bGTBq':function(_0x5b8c75,_0x2bda5c){return _0x5b8c75===_0x2bda5c;}};if(!logToFile||!appLogStream)return;const _0x54f87a={'service':serviceName,..._0x1e4bad},_0x670a01=JSON['stringify'](_0x54f87a)+'\x0a';appLogStream[_0x3326fc(0x12b)](_0x670a01),(_0xfa6e99[_0x3326fc(0x13b)](_0x273772,_0xfa6e99['Ohmed'])||_0xfa6e99['bGTBq'](_0x273772,_0x3326fc(0x1be)))&&(errorLogStream&&errorLogStream[_0x3326fc(0x12b)](_0x670a01));}function a0_0x57a8(_0x43350e,_0x36f36d){_0x43350e=_0x43350e-0xfe;const _0x3e4d10=a0_0x3e4d();let _0x57a85d=_0x3e4d10[_0x43350e];if(a0_0x57a8['skSxeT']===undefined){var _0x34b8d2=function(_0x22b341){const _0x90513d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3f4063='',_0x380635='';for(let _0x3c4ed9=0x0,_0x3ca0e0,_0x11d123,_0x503ec0=0x0;_0x11d123=_0x22b341['charAt'](_0x503ec0++);~_0x11d123&&(_0x3ca0e0=_0x3c4ed9%0x4?_0x3ca0e0*0x40+_0x11d123:_0x11d123,_0x3c4ed9++%0x4)?_0x3f4063+=String['fromCharCode'](0xff&_0x3ca0e0>>(-0x2*_0x3c4ed9&0x6)):0x0){_0x11d123=_0x90513d['indexOf'](_0x11d123);}for(let _0x4c15e9=0x0,_0x234570=_0x3f4063['length'];_0x4c15e9<_0x234570;_0x4c15e9++){_0x380635+='%'+('00'+_0x3f4063['charCodeAt'](_0x4c15e9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x380635);};a0_0x57a8['RTrmGi']=_0x34b8d2,a0_0x57a8['AWpQOU']={},a0_0x57a8['skSxeT']=!![];}const _0x21df47=_0x3e4d10[0x0],_0x289b52=_0x43350e+_0x21df47,_0x3b56c6=a0_0x57a8['AWpQOU'][_0x289b52];return!_0x3b56c6?(_0x57a85d=a0_0x57a8['RTrmGi'](_0x57a85d),a0_0x57a8['AWpQOU'][_0x289b52]=_0x57a85d):_0x57a85d=_0x3b56c6,_0x57a85d;}const createRequestLogger=(_0x3b4068={})=>{return logger['child'](_0x3b4068);},logServerStart=_0x361f25=>{const _0x2a5c7b=a0_0x121ea4,_0x5c450b={'PdWhf':'RESTFORGE\x20RUNTIME\x20SERVER','nDSxE':function(_0x380ad8,_0x569d96){return _0x380ad8/_0x569d96;},'JGuVJ':'N/A','qbGGr':'Default','COfvs':_0x2a5c7b(0x14b)},_0x513eb0=_0x5c450b[_0x2a5c7b(0x1a0)],_0x2d12c0=Math[_0x2a5c7b(0x19d)](0x0,0x37-_0x513eb0['length']),_0x47757e=Math[_0x2a5c7b(0x10e)](_0x5c450b['nDSxE'](_0x2d12c0,0x2)),_0x39ac41=_0x2d12c0-_0x47757e,_0x167f53='║'+'\x20'['repeat'](_0x47757e)+_0x513eb0+'\x20'['repeat'](_0x39ac41)+'║',_0x19ecc2='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x167f53+_0x2a5c7b(0x175)+(_0x361f25[_0x2a5c7b(0x10b)]||_0x2a5c7b(0x16b))['padEnd'](0x26)+_0x2a5c7b(0x14e)+(_0x361f25[_0x2a5c7b(0x165)]||_0x5c450b['JGuVJ'])[_0x2a5c7b(0x12a)](0x26)+_0x2a5c7b(0x114)+String(_0x361f25[_0x2a5c7b(0x1a7)]||0xbb8)[_0x2a5c7b(0x12a)](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x361f25['configFile']||_0x5c450b['qbGGr'])[_0x2a5c7b(0x12a)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x361f25['apiKey']?'ACTIVE':'NOT\x20ACTIVE')[_0x2a5c7b(0x12a)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x19ecc2);const _0x2ee52c={'event':_0x2a5c7b(0x171),'project':_0x361f25[_0x2a5c7b(0x165)],'port':_0x361f25[_0x2a5c7b(0x1a7)],'config':_0x361f25[_0x2a5c7b(0x18f)],'apiKeyEnabled':!!_0x361f25['apiKey']};logger[_0x2a5c7b(0x14b)](_0x2ee52c),writeToFileLog({..._0x2ee52c,'level':_0x5c450b['COfvs'],'msg':_0x2a5c7b(0x19a)+_0x361f25[_0x2a5c7b(0x165)]+_0x2a5c7b(0x16d)+_0x361f25['port'],'time':new Date()[_0x2a5c7b(0x132)]()},_0x5c450b[_0x2a5c7b(0x155)]);},logServerReady=_0x588aba=>{const _0x328a1e=a0_0x121ea4,_0x58b9fa={'LKJNt':'server_ready','Edgoe':function(_0x2ef764,_0x25e90c,_0x14e996){return _0x2ef764(_0x25e90c,_0x14e996);},'gnKdt':'info'},_0xf58175={'event':_0x58b9fa['LKJNt'],'port':_0x588aba[_0x328a1e(0x1a7)],'module':_0x588aba[_0x328a1e(0x1c4)],'healthCheck':_0x588aba['healthCheck'],'serviceInfo':_0x588aba['serviceInfo'],'baseUrl':_0x588aba[_0x328a1e(0x1ad)]},_0x5ef9ca=_0x328a1e(0x1a4)+_0x588aba[_0x328a1e(0x1a7)];logger['info'](_0xf58175,_0x5ef9ca),_0x58b9fa['Edgoe'](writeToFileLog,{..._0xf58175,'level':_0x58b9fa[_0x328a1e(0x1a9)],'msg':_0x5ef9ca,'time':new Date()['toISOString']()},_0x58b9fa[_0x328a1e(0x1a9)]),_0x588aba['healthCheck']&&logger['info']('\x20\x20Health:\x20'+_0x588aba[_0x328a1e(0x1b7)]),_0x588aba[_0x328a1e(0x110)]&&logger[_0x328a1e(0x14b)](_0x328a1e(0x17d)+_0x588aba[_0x328a1e(0x110)]),_0x588aba['baseUrl']&&logger[_0x328a1e(0x14b)](_0x328a1e(0x186)+_0x588aba[_0x328a1e(0x1ad)]);},logProjectLoaded=(_0x522cf3,_0x35683a)=>{const _0x4a36f3=a0_0x121ea4,_0x10fb5f={'btqTv':_0x4a36f3(0x14b)},_0x21248c={'event':_0x4a36f3(0x11a),'project':_0x522cf3,'path':_0x35683a},_0x4443e6=_0x4a36f3(0x11f)+_0x522cf3;logger[_0x4a36f3(0x14b)](_0x21248c,_0x4443e6),writeToFileLog({..._0x21248c,'level':'info','msg':_0x4443e6,'time':new Date()['toISOString']()},_0x10fb5f[_0x4a36f3(0x197)]);},logEndpointRegistered=(_0x474d25,_0x2b6cad)=>{const _0xecbbcb=a0_0x121ea4,_0x3ab7ec={'tuYAA':'endpoint_registered','IwhvQ':function(_0x55431f,_0x44d01e,_0xdfe998){return _0x55431f(_0x44d01e,_0xdfe998);},'dTKme':_0xecbbcb(0x177)},_0x4a439c={'event':_0x3ab7ec['tuYAA'],'endpoint':_0x474d25,'route':_0x2b6cad},_0x486579='\x20\x20→\x20'+_0x474d25+':\x20'+_0x2b6cad;logger['debug'](_0x4a439c,_0x486579),_0x3ab7ec['IwhvQ'](writeToFileLog,{..._0x4a439c,'level':_0xecbbcb(0x177),'msg':_0x486579,'time':new Date()[_0xecbbcb(0x132)]()},_0x3ab7ec['dTKme']);},logDatabaseConfig=_0x513853=>{const _0x5173b1=a0_0x121ea4,_0x40b3e5={'bJMkJ':_0x5173b1(0x133),'lEssM':function(_0x16b57f,_0x51e9e5,_0x4fcdf5){return _0x16b57f(_0x51e9e5,_0x4fcdf5);},'FqWBo':'debug'},_0x23e34d={'event':_0x40b3e5['bJMkJ'],'host':_0x513853[_0x5173b1(0x183)],'port':_0x513853['port'],'database':_0x513853[_0x5173b1(0x1bc)],'type':_0x513853['type'],'user':_0x513853['user']},_0x150db5='Database:\x20'+_0x513853[_0x5173b1(0x174)]+_0x5173b1(0x104)+_0x513853['host']+':'+_0x513853[_0x5173b1(0x1a7)]+'/'+_0x513853[_0x5173b1(0x1bc)];logger[_0x5173b1(0x177)](_0x23e34d,_0x150db5),_0x40b3e5[_0x5173b1(0x14f)](writeToFileLog,{..._0x23e34d,'level':'debug','msg':_0x150db5,'time':new Date()['toISOString']()},_0x40b3e5['FqWBo']);},logRequest=(_0x43d75b,_0x5ca714,_0x5aecda)=>{const _0x559c40=a0_0x121ea4,_0x2d4683={'xgsFK':_0x559c40(0x14b),'YAMfR':function(_0x4bdf7c,_0x3d3356){return _0x4bdf7c>=_0x3d3356;},'lbbSZ':_0x559c40(0x10d),'AhHeK':'warn'},_0x49260a={'event':_0x559c40(0x1c2),'method':_0x43d75b[_0x559c40(0x131)],'path':_0x43d75b[_0x559c40(0x1ae)],'statusCode':_0x5ca714['statusCode'],'durationMs':_0x5aecda,'ip':_0x43d75b['ip']},_0x5e013f=_0x43d75b['method']+'\x20'+_0x43d75b['path']+'\x20-\x20'+_0x5ca714[_0x559c40(0x122)]+'\x20('+_0x5aecda+'ms)';let _0x5eb8f4=_0x2d4683[_0x559c40(0x184)];if(_0x2d4683['YAMfR'](_0x5ca714['statusCode'],0x1f4))_0x5eb8f4=_0x2d4683[_0x559c40(0x17e)],logger[_0x559c40(0x10d)](_0x49260a,_0x5e013f);else _0x2d4683[_0x559c40(0x141)](_0x5ca714[_0x559c40(0x122)],0x190)?(_0x5eb8f4=_0x2d4683[_0x559c40(0x109)],logger['warn'](_0x49260a,_0x5e013f)):logger[_0x559c40(0x14b)](_0x49260a,_0x5e013f);writeToFileLog({..._0x49260a,'level':_0x5eb8f4,'msg':_0x5e013f,'time':new Date()[_0x559c40(0x132)]()},_0x5eb8f4);},SENSITIVE_PARAM_PATTERNS=[a0_0x121ea4(0x1bd),'passwd',a0_0x121ea4(0x120),a0_0x121ea4(0x12e),'access_token','refresh_token',a0_0x121ea4(0x148),'api_secret',a0_0x121ea4(0x11b),a0_0x121ea4(0x146),'credential',a0_0x121ea4(0x19c),a0_0x121ea4(0x10c),a0_0x121ea4(0x115),'private_key','privatekey'],redactSensitiveParams=(_0x51b986,_0x5f2bc7)=>{const _0x4c6845=a0_0x121ea4,_0x419989={'gJhsX':_0x4c6845(0x135),'BUVnn':function(_0x211345,_0x3e298b){return _0x211345>_0x3e298b;},'Tkvnj':function(_0x271103,_0x5dafc4){return _0x271103===_0x5dafc4;}};if(!_0x51b986||_0x419989[_0x4c6845(0x101)](_0x51b986['length'],0x0))return _0x51b986;const _0x5ba269=_0x5f2bc7[_0x4c6845(0x1a6)](),_0x34bd99=_0x5ba269['match'](/\(([^)]+)\)\s*values/i);let _0x39f7a0=[];_0x34bd99&&(_0x39f7a0=_0x34bd99[0x1][_0x4c6845(0x1bb)](',')['map'](_0xa4db2=>_0xa4db2[_0x4c6845(0x12c)]()['toLowerCase']()));const _0xf46142=_0x5ba269[_0x4c6845(0x119)](/set\s+(.+?)(?:\s+where|$)/i);if(_0xf46142){const _0x51e7b6=_0xf46142[0x1],_0x36240d=_0x51e7b6['match'](/(\w+)\s*=/g);_0x36240d&&(_0x39f7a0=_0x36240d[_0x4c6845(0x105)](_0x5e6c47=>_0x5e6c47[_0x4c6845(0x150)](/\s*=/,'')['trim']()['toLowerCase']()));}return _0x51b986['map']((_0x2ac7cc,_0x314495)=>{const _0x20109e=_0x4c6845;if(_0x39f7a0[_0x314495]){const _0x2e0368=_0x39f7a0[_0x314495],_0x48148b=SENSITIVE_PARAM_PATTERNS['some'](_0x196706=>_0x2e0368['includes'](_0x196706));if(_0x48148b)return _0x419989['gJhsX'];}if(typeof _0x2ac7cc===_0x20109e(0x189)&&_0x419989[_0x20109e(0x15a)](_0x2ac7cc[_0x20109e(0x19f)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x20109e(0x164)](_0x2ac7cc)&&_0x2ac7cc['includes']('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/[_0x20109e(0x164)](_0x2ac7cc))return _0x20109e(0x1b5);}return _0x2ac7cc;});},parseQueryMetadata=_0x69f7b7=>{const _0x22f8d2=a0_0x121ea4,_0xddf53c={'HuyTV':_0x22f8d2(0x1c1),'qeouA':_0x22f8d2(0x124),'svmzd':'UPDATE','YELOs':_0x22f8d2(0x192),'KTgtL':_0x22f8d2(0x168),'BXcUw':'TRANSACTION_BEGIN','weJgG':_0x22f8d2(0x196),'BvkEP':_0x22f8d2(0x159),'RxDeh':'CREATE','bHixe':_0x22f8d2(0x1aa)},_0x149c18=_0x69f7b7[_0x22f8d2(0x12c)](),_0x3ccd07=_0x149c18['toUpperCase']();let _0x4340c6='UNKNOWN',_0x3318d1=null;if(_0x3ccd07['startsWith'](_0xddf53c['HuyTV'])){_0x4340c6=_0xddf53c[_0x22f8d2(0x11d)];const _0x22fcba=_0x149c18[_0x22f8d2(0x119)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3318d1=_0x22fcba?_0x22fcba[0x1]:null;}else{if(_0x3ccd07[_0x22f8d2(0x1b2)]('INSERT')){_0x4340c6=_0xddf53c[_0x22f8d2(0x18e)];const _0x1d44f8=_0x149c18[_0x22f8d2(0x119)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3318d1=_0x1d44f8?_0x1d44f8[0x1]:null;}else{if(_0x3ccd07['startsWith'](_0x22f8d2(0x142))){_0x4340c6=_0xddf53c[_0x22f8d2(0x13c)];const _0x36553c=_0x149c18['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3318d1=_0x36553c?_0x36553c[0x1]:null;}else{if(_0x3ccd07[_0x22f8d2(0x1b2)](_0xddf53c[_0x22f8d2(0x1a2)])){_0x4340c6=_0x22f8d2(0x192);const _0x1b7252=_0x149c18['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3318d1=_0x1b7252?_0x1b7252[0x1]:null;}else{if(_0x3ccd07[_0x22f8d2(0x1b2)](_0x22f8d2(0x13d))||_0x3ccd07['startsWith'](_0xddf53c['KTgtL']))_0x4340c6=_0xddf53c['BXcUw'];else{if(_0x3ccd07[_0x22f8d2(0x1b2)](_0xddf53c['weJgG']))_0x4340c6='TRANSACTION_COMMIT';else{if(_0x3ccd07[_0x22f8d2(0x1b2)]('ROLLBACK'))_0x4340c6=_0xddf53c['BvkEP'];else{if(_0x3ccd07[_0x22f8d2(0x1b2)](_0xddf53c['RxDeh']))_0x4340c6=_0x22f8d2(0x14c);else{if(_0x3ccd07['startsWith']('ALTER'))_0x4340c6='DDL_ALTER';else _0x3ccd07[_0x22f8d2(0x1b2)]('DROP')&&(_0x4340c6=_0xddf53c[_0x22f8d2(0x178)]);}}}}}}}}return{'type':_0x4340c6,'table':_0x3318d1};},startQueryTimer=()=>{const _0x50631e={'CRESc':function(_0x110fce,_0xc45094){return _0x110fce(_0xc45094);},'jkcCf':function(_0x397703,_0x2240c5){return _0x397703+_0x2240c5;}},_0x4e6756=process['hrtime']();return()=>{const _0x2f4a31=a0_0x57a8,[_0x31f9f9,_0x1a28ec]=process['hrtime'](_0x4e6756);return _0x50631e[_0x2f4a31(0x10f)](parseFloat,_0x50631e[_0x2f4a31(0x126)](_0x31f9f9*0x3e8,_0x1a28ec/0xf4240)[_0x2f4a31(0x145)](0x2));};},logQuery=(_0x2a814f,_0x5f3396=[],_0x4af2b2={})=>{const _0x85897d=a0_0x121ea4,_0x1fa9ee={'PJvIN':_0x85897d(0x149),'dSjSL':function(_0x32b42,_0x17a797){return _0x32b42(_0x17a797);},'RrYWS':'sql_query','AmGvi':function(_0x179f31,_0x189c18){return _0x179f31>_0x189c18;},'oyRTa':function(_0xae49e9,_0x10c87d){return _0xae49e9!==_0x10c87d;},'HPiIY':function(_0x2e8fb4,_0x368768){return _0x2e8fb4>_0x368768;},'OJOfk':function(_0x171a00,_0xfa9082){return _0x171a00||_0xfa9082;},'TElAf':'unknown','ExVCH':_0x85897d(0x151),'QYiyS':'info','FeOCr':function(_0x1b5b40,_0x5493f9,_0x2bd53d){return _0x1b5b40(_0x5493f9,_0x2bd53d);}};if(!sqlLogEnabled){logger[_0x85897d(0x177)]({'event':_0x1fa9ee[_0x85897d(0x176)],'query':_0x2a814f[_0x85897d(0x102)](0x0,0xc8),'paramCount':_0x5f3396[_0x85897d(0x19f)]},_0x85897d(0x18d));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x85897d(0x111)}=_0x4af2b2,{type:_0x58d3da,table:_0x3eeb28}=_0x1fa9ee['dSjSL'](parseQueryMetadata,_0x2a814f),_0x472ad3={'event':_0x1fa9ee[_0x85897d(0x163)],'queryType':_0x58d3da,'table':_0x3eeb28,'query':_0x2a814f,'paramCount':_0x5f3396[_0x85897d(0x19f)],'dbType':dbType};sqlLogParams&&_0x1fa9ee['AmGvi'](_0x5f3396[_0x85897d(0x19f)],0x0)&&(_0x472ad3[_0x85897d(0x190)]=redactSensitiveParams(_0x5f3396,_0x2a814f));_0x1fa9ee['oyRTa'](duration,null)&&(_0x472ad3['durationMs']=duration,_0x472ad3[_0x85897d(0x1c3)]=_0x1fa9ee['HPiIY'](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x472ad3[_0x85897d(0x15c)]=rowsAffected);const _0xe81bae=_0x1fa9ee[_0x85897d(0x187)](_0x3eeb28,_0x1fa9ee['TElAf']);let _0xb1cf95='['+_0x58d3da+']\x20'+_0xe81bae;duration!==null&&(_0xb1cf95+='\x20('+duration+'ms)');const _0x341518=duration!==null&&duration>sqlLogSlowThreshold;let _0x5b6f7c=_0x85897d(0x177);if(_0x341518)_0xb1cf95+=_0x1fa9ee[_0x85897d(0x16e)],_0x5b6f7c='warn',logger['warn'](_0x472ad3,_0xb1cf95);else sqlLogLevel===_0x85897d(0x14b)?(_0x5b6f7c=_0x1fa9ee['QYiyS'],logger['info'](_0x472ad3,_0xb1cf95)):logger['debug'](_0x472ad3,_0xb1cf95);_0x1fa9ee[_0x85897d(0x147)](writeToFileLog,{..._0x472ad3,'level':_0x5b6f7c,'msg':_0xb1cf95,'time':new Date()[_0x85897d(0x132)]()},_0x5b6f7c);},logTransaction=(_0x5e3e84,_0x28491f)=>{const _0x4f1fc4=a0_0x121ea4,_0x2bc135={'olGfO':_0x4f1fc4(0x177)},_0x57391b={'event':_0x4f1fc4(0x172),'status':_0x5e3e84,'queryCount':_0x28491f},_0xf52ade='Transaction\x20'+_0x5e3e84;logger[_0x4f1fc4(0x177)](_0x57391b,_0xf52ade),writeToFileLog({..._0x57391b,'level':_0x2bc135['olGfO'],'msg':_0xf52ade,'time':new Date()[_0x4f1fc4(0x132)]()},'debug');},redactObject=_0x2f52f9=>{const _0x2abf36=a0_0x121ea4,_0x3afb14={'cmaur':function(_0x27bf59,_0x21730c){return _0x27bf59!==_0x21730c;},'xLafv':_0x2abf36(0x1bd),'nRcTI':'passwd','tCVOI':'token','LbZFF':'secret','kyvaX':'apikey','BJxKC':_0x2abf36(0x173),'bGbvW':_0x2abf36(0x129),'caYhP':_0x2abf36(0x193),'Virse':_0x2abf36(0x181),'INLAD':'[REDACTED]','OxSja':_0x2abf36(0x12f),'Uafsa':function(_0x5aeeaf,_0x47a903){return _0x5aeeaf(_0x47a903);}};if(!_0x2f52f9||_0x3afb14[_0x2abf36(0x123)](typeof _0x2f52f9,_0x2abf36(0x12f)))return _0x2f52f9;const _0x286aa9=[_0x3afb14['xLafv'],_0x3afb14['nRcTI'],'pwd',_0x3afb14[_0x2abf36(0xff)],_0x3afb14['LbZFF'],_0x3afb14[_0x2abf36(0x107)],_0x2abf36(0x146),_0x2abf36(0x17f),_0x3afb14['BJxKC'],_0x2abf36(0x1a1),'cvv',_0x3afb14['bGbvW'],'pin',_0x3afb14['caYhP'],_0x2abf36(0x113),_0x3afb14[_0x2abf36(0x125)],_0x2abf36(0x1c0)],_0x6d692e=Array[_0x2abf36(0x1a3)](_0x2f52f9)?[..._0x2f52f9]:{..._0x2f52f9};for(const _0x56f890 of Object['keys'](_0x6d692e)){const _0x2d36ed=_0x56f890['toLowerCase']();if(_0x286aa9['some'](_0x44b5f1=>_0x2d36ed[_0x2abf36(0x191)](_0x44b5f1)))_0x6d692e[_0x56f890]=_0x3afb14['INLAD'];else typeof _0x6d692e[_0x56f890]===_0x3afb14['OxSja']&&_0x6d692e[_0x56f890]!==null&&(_0x6d692e[_0x56f890]=_0x3afb14[_0x2abf36(0x1af)](redactObject,_0x6d692e[_0x56f890]));}return _0x6d692e;},logError=(_0x9e3e8b,_0xcdb6e0={},_0x530311=null)=>{const _0x2ac2ab=a0_0x121ea4,_0x50461c={'oNhHs':function(_0x1f93cc,_0x2d3187,_0x332fcd){return _0x1f93cc(_0x2d3187,_0x332fcd);},'mowoC':_0x2ac2ab(0x10d)},_0x4e0f8c={'event':_0x2ac2ab(0x10d),'errorName':_0x9e3e8b['name']||_0x2ac2ab(0x167),'errorMessage':_0x9e3e8b['message'],'errorCode':_0x9e3e8b[_0x2ac2ab(0x169)]||null,'stack':_0x9e3e8b[_0x2ac2ab(0x1a5)],..._0xcdb6e0},_0x3fdf48=_0x530311||_0x2ac2ab(0x144)+_0x9e3e8b['message'];logger[_0x2ac2ab(0x10d)](_0x4e0f8c,_0x3fdf48),_0x50461c['oNhHs'](writeToFileLog,{..._0x4e0f8c,'level':'error','msg':_0x3fdf48,'time':new Date()['toISOString']()},_0x50461c['mowoC']);},logFatalError=(_0x2cb99a,_0x190727={},_0xb01acb=null)=>{const _0x4c078f=a0_0x121ea4,_0x518801={'rvIGI':_0x4c078f(0x160),'GaMpr':'Error','DeLJv':_0x4c078f(0x118),'wBSWp':function(_0x40bfb2,_0x4b0687,_0x66dd9f){return _0x40bfb2(_0x4b0687,_0x66dd9f);},'fLeEq':_0x4c078f(0x10d)},_0x4544f8={'event':_0x518801[_0x4c078f(0x100)],'errorName':_0x2cb99a['name']||_0x518801['GaMpr'],'errorMessage':_0x2cb99a['message'],'errorCode':_0x2cb99a[_0x4c078f(0x169)]||null,'stack':_0x2cb99a['stack'],'severity':_0x518801['DeLJv'],..._0x190727},_0x350053=_0xb01acb||_0x4c078f(0x1b6)+_0x2cb99a[_0x4c078f(0x18b)];logger['fatal'](_0x4544f8,_0x350053),_0x518801[_0x4c078f(0x1ac)](writeToFileLog,{..._0x4544f8,'level':'fatal','msg':_0x350053,'time':new Date()['toISOString']()},_0x518801['fLeEq']);},logHttpError=(_0x3f4023,_0x230a20,_0x4e0ecb={})=>{const _0x4ec0b9=a0_0x121ea4,_0x194156={'vREaj':_0x4ec0b9(0x152),'yLLZV':'user-agent','JJlTC':'x-request-id','MiIUR':function(_0x38a5a6,_0x100fdb){return _0x38a5a6(_0x100fdb);},'xakvk':function(_0x9a1402,_0x1f650c){return _0x9a1402>=_0x1f650c;},'FIBsd':function(_0x2ecce0,_0x33d3ca,_0x3a8bfe){return _0x2ecce0(_0x33d3ca,_0x3a8bfe);},'IVLDC':_0x4ec0b9(0x10d),'IhAlr':'warn','mQzPl':function(_0x1d0781,_0x24c863){return _0x1d0781>=_0x24c863;}},_0xf09c8a={'event':_0x194156['vREaj'],'errorName':_0x3f4023['name']||'Error','errorMessage':_0x3f4023[_0x4ec0b9(0x18b)],'errorCode':_0x3f4023['code']||_0x3f4023[_0x4ec0b9(0x122)]||0x1f4,'stack':_0x3f4023[_0x4ec0b9(0x1a5)],'method':_0x230a20?.['method'],'url':_0x230a20?.[_0x4ec0b9(0x13e)]||_0x230a20?.['originalUrl'],'path':_0x230a20?.['path'],'ip':_0x230a20?.['ip']||_0x230a20?.['connection']?.['remoteAddress'],'userAgent':_0x230a20?.['get']?.(_0x194156['yLLZV']),'requestId':_0x230a20?.['id']||_0x230a20?.['headers']?.[_0x194156['JJlTC']],'body':_0x230a20?.[_0x4ec0b9(0x143)]?_0x194156['MiIUR'](redactObject,_0x230a20['body']):undefined,'query':_0x230a20?.[_0x4ec0b9(0x103)],..._0x4e0ecb},_0x153c13=_0x3f4023['statusCode']||_0x3f4023[_0x4ec0b9(0x194)]||0x1f4,_0xad6e0c='HTTP\x20'+_0x153c13+':\x20'+_0x3f4023['message'];_0x194156[_0x4ec0b9(0x1b9)](_0x153c13,0x1f4)?logger[_0x4ec0b9(0x10d)](_0xf09c8a,_0xad6e0c):logger[_0x4ec0b9(0x12d)](_0xf09c8a,_0xad6e0c),_0x194156['FIBsd'](writeToFileLog,{..._0xf09c8a,'level':_0x153c13>=0x1f4?_0x194156['IVLDC']:_0x194156[_0x4ec0b9(0x138)],'msg':_0xad6e0c,'time':new Date()[_0x4ec0b9(0x132)]()},_0x194156[_0x4ec0b9(0x16f)](_0x153c13,0x1f4)?_0x194156[_0x4ec0b9(0x136)]:'warn');},logUncaughtError=(_0x48cc37,_0x19473e)=>{const _0x52b73b=a0_0x121ea4,_0x4e3eae={'lChLp':_0x52b73b(0x167),'wOxwf':function(_0x56fda5,_0x3705d2){return _0x56fda5(_0x3705d2);}},_0x5ef4f9={'event':_0x48cc37,'errorName':_0x19473e?.[_0x52b73b(0x19b)]||_0x4e3eae[_0x52b73b(0x153)],'errorMessage':_0x19473e?.['message']||_0x4e3eae['wOxwf'](String,_0x19473e),'errorCode':_0x19473e?.['code']||null,'stack':_0x19473e?.[_0x52b73b(0x1a5)],'severity':_0x52b73b(0x118),'processId':process[_0x52b73b(0x15d)],'memoryUsage':process['memoryUsage'](),'uptime':process[_0x52b73b(0x116)]()},_0x5e6c7a='['+_0x48cc37[_0x52b73b(0x15b)]()+']\x20'+(_0x19473e?.['message']||_0x19473e);logger['fatal'](_0x5ef4f9,_0x5e6c7a),writeToFileLog({..._0x5ef4f9,'level':_0x52b73b(0x1be),'msg':_0x5e6c7a,'time':new Date()[_0x52b73b(0x132)]()},_0x52b73b(0x10d));},setupGlobalErrorHandlers=()=>{const _0x88ec5a=a0_0x121ea4,_0x2d2dc6={'ktSVh':_0x88ec5a(0x18a),'pmbFw':function(_0xe1f91c,_0x17cbe4,_0x2a236e){return _0xe1f91c(_0x17cbe4,_0x2a236e);},'XSuSU':_0x88ec5a(0x140),'zGtUF':_0x88ec5a(0x121),'ITzuV':'Global\x20error\x20handlers\x20initialized','WEkdR':function(_0x190151,_0x404c40,_0x57df1e){return _0x190151(_0x404c40,_0x57df1e);},'bFhmU':'info'};process['on'](_0x2d2dc6[_0x88ec5a(0x128)],_0x331859=>{const _0x22f394=_0x88ec5a;logUncaughtError(_0x2d2dc6[_0x22f394(0x128)],_0x331859),_0x2d2dc6[_0x22f394(0x137)](setTimeout,()=>{const _0x415817=_0x22f394;process[_0x415817(0x198)](0x1);},0x3e8);}),process['on'](_0x88ec5a(0x140),(_0xcac2c4,_0x5dff91)=>{const _0x50b7d7=_0x88ec5a,_0x4ab195=_0xcac2c4 instanceof Error?_0xcac2c4:new Error(String(_0xcac2c4));_0x2d2dc6[_0x50b7d7(0x137)](logUncaughtError,_0x2d2dc6[_0x50b7d7(0x16a)],_0x4ab195);}),process['on'](_0x2d2dc6[_0x88ec5a(0x161)],_0x7ae380=>{const _0x2a76e4=_0x88ec5a;logger[_0x2a76e4(0x12d)]({'event':_0x2a76e4(0x108),'name':_0x7ae380['name'],'message':_0x7ae380['message'],'stack':_0x7ae380[_0x2a76e4(0x1a5)]},_0x2a76e4(0x130)+_0x7ae380[_0x2a76e4(0x18b)]);});const _0x106bfd={'event':_0x88ec5a(0x16c)},_0x31f4a3=_0x2d2dc6[_0x88ec5a(0x185)];logger[_0x88ec5a(0x14b)](_0x106bfd,_0x31f4a3),_0x2d2dc6[_0x88ec5a(0x180)](writeToFileLog,{..._0x106bfd,'level':_0x2d2dc6[_0x88ec5a(0x13f)],'msg':_0x31f4a3,'time':new Date()['toISOString']()},_0x88ec5a(0x14b));},createErrorHandlerMiddleware=()=>{const _0x377a48=a0_0x121ea4,_0x20fbe8={'UhAJf':_0x377a48(0x106)};return(_0x324c1f,_0x554c35,_0x3d5c8f,_0x143b88)=>{const _0x25c3ef=_0x377a48;logHttpError(_0x324c1f,_0x554c35);const _0x5502f2=_0x324c1f['statusCode']||_0x324c1f[_0x25c3ef(0x194)]||0x1f4;_0x3d5c8f[_0x25c3ef(0x194)](_0x5502f2)['json']({'success':![],'error':_0x5502f2>=0x1f4?_0x25c3ef(0x17a):_0x324c1f['message'],'requestId':_0x554c35['id']||_0x554c35['headers']?.[_0x20fbe8[_0x25c3ef(0x11c)]]||null});};};module[a0_0x121ea4(0x17c)]={'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_0x1a7c8f=a0_0x2426;(function(_0x35be85,_0x4b3710){const _0x2e9f97=a0_0x2426,_0x245a3e=_0x35be85();while(!![]){try{const _0x2c9382=parseInt(_0x2e9f97(0x122))/0x1*(parseInt(_0x2e9f97(0x158))/0x2)+parseInt(_0x2e9f97(0x15f))/0x3*(parseInt(_0x2e9f97(0xf5))/0x4)+-parseInt(_0x2e9f97(0x114))/0x5+parseInt(_0x2e9f97(0x13a))/0x6*(-parseInt(_0x2e9f97(0x155))/0x7)+parseInt(_0x2e9f97(0x110))/0x8+parseInt(_0x2e9f97(0xe3))/0x9*(parseInt(_0x2e9f97(0x137))/0xa)+-parseInt(_0x2e9f97(0x166))/0xb;if(_0x2c9382===_0x4b3710)break;else _0x245a3e['push'](_0x245a3e['shift']());}catch(_0x302473){_0x245a3e['push'](_0x245a3e['shift']());}}}(a0_0x1e80,0xd563b));function a0_0x2426(_0x1e6b97,_0x9bbf9a){_0x1e6b97=_0x1e6b97-0xb7;const _0x1e80ce=a0_0x1e80();let _0x242691=_0x1e80ce[_0x1e6b97];if(a0_0x2426['CxlnbP']===undefined){var _0xc034c5=function(_0x229ef1){const _0x4d9958='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x29cef5='',_0x47615f='';for(let _0x291206=0x0,_0x3ab846,_0xa925cc,_0x5301c2=0x0;_0xa925cc=_0x229ef1['charAt'](_0x5301c2++);~_0xa925cc&&(_0x3ab846=_0x291206%0x4?_0x3ab846*0x40+_0xa925cc:_0xa925cc,_0x291206++%0x4)?_0x29cef5+=String['fromCharCode'](0xff&_0x3ab846>>(-0x2*_0x291206&0x6)):0x0){_0xa925cc=_0x4d9958['indexOf'](_0xa925cc);}for(let _0x7619ab=0x0,_0x2583f9=_0x29cef5['length'];_0x7619ab<_0x2583f9;_0x7619ab++){_0x47615f+='%'+('00'+_0x29cef5['charCodeAt'](_0x7619ab)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x47615f);};a0_0x2426['wHZKik']=_0xc034c5,a0_0x2426['pZyNzq']={},a0_0x2426['CxlnbP']=!![];}const _0x500330=_0x1e80ce[0x0],_0x4936a3=_0x1e6b97+_0x500330,_0x12b368=a0_0x2426['pZyNzq'][_0x4936a3];return!_0x12b368?(_0x242691=a0_0x2426['wHZKik'](_0x242691),a0_0x2426['pZyNzq'][_0x4936a3]=_0x242691):_0x242691=_0x12b368,_0x242691;}const pino=require('pino'),fs=require('fs'),path=require('path');let logToFile=![],logDir=a0_0x1a7c8f(0xfd),serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x1a7c8f(0x11a),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0x1a7c8f(0x103),'customColors':a0_0x1a7c8f(0x126),'hideObject':!![]},isDevelopment=process[a0_0x1a7c8f(0xe2)][a0_0x1a7c8f(0x160)]!=='production',logLevel=process['env']['LOG_LEVEL']||'info';function a0_0x1e80(){const _0x3a2e8d=['w09lxsbqCM9Qzwn0igXVywrLzdOG','C3rHDhvZq29Kzq','BwfW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','CMvZDgzVCMDL','CgLUBY1WCMv0DhK','CxvLCNK','BwvTB3j5vxnHz2u','Dg9vChbLCKnHC2u','CMvMCMvZAf90B2TLBG','Ag9ZDa','q1jjveLdquW','zgjFDhjHBNnHy3rPB24','z2v0sgvHzgvYCW','y3jLzgL0x2nHCMq','DxjS','mtCXntqYotbtwhPouNa','vNfTC2m','u1fmx0Xpr19mrvzfta','mZq3nfP6CvP2BG','C2vYDMLJzuLUzM8','y29UzMLNrMLSzq','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','z25vCgu','Bg9N','zMXVB3i','sw50zxjUywWGC2vYDMvYigvYCM9Y','zgjFCxvLCNK','CMvTB3rLqwrKCMvZCW','y29Kzq','y3jLzgvUDgLHBa','lI9SB2DZlW','CgfZC3DK','CMvWzwf0','Cg9YDa','v2HJrNC','C3rHy2S','C3rHCNrZv2L0Aa','CgfKrw5K','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','sNr5yNG','ENLJvxu','ChjVy2vZC193yxjUAw5N','BxmP','t2T2vuq','C3vIC3rYAw5N','oda3ofjoteT0Bq','Dw5JyxvNAhrfEgnLChrPB24','C3rKu2vYAwfSAxPLCNm','mJzqBfrzr04','u1fmx0Xpr19ftKfcteve','yxbWlMXVzW','z2DgC0K','zgvMyxvSDa','zMf0ywXFzxjYB3i','rxjYB3i','nJa1mZfbt0vVEMe','tK9erv9ftLy','C3rYAw5NAwz5','AxnVvgLTzq','sLDux1nfq1jfva','Dw5RBM93BG','v2Tequ0','nZu3mZq3ohvcsNjrrq','vvbeqvrf','qvbqx1zfuLnjt04','Ahr0Cf9LCNjVCG','rfjfrfC','B3rvuvC','sfruuca','AgvHzgvYCW','shr6Bgq','BwvZC2fNzq','Dg9Rzw4','D2fYBG','rKfuquW6ia','vND0wue','AuvAze8','rgf0ywjHC2u6ia','su5trvju','ENzqBeC','tfnHD1a','zgvIDwC','icbvuKW6icaGia','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','yxbPs2v5','rermx0nsrufurq','u2vYDMvYihn0yxj0Aw5NoIa','yxv0Ag9YAxPHDgLVBG','yxbPA2v5','D2fYBMLUzW','z2v0','yxbPx2TLEq','AvHOqxO','Chnry0e','iokvKqRILzeGifbYB2PLy3qGicaGidOG','zxHPC3rZu3LUyW','te9hx1rpx0zjteu','tNLTz24','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','ChjVAMvJDf9SB2fKzwq','w1jfrefdvevexq','t01wruq','qKvhsu4','vu5ltK9xtG','EKLUq1u','Dvz3quy','zgf0ywjHC2u','Dxb0Aw1L','BgvUz3rO','revmrvrf','t1jdvwq','icdIHPiG','v3v1s0e','Avrntxa','zxjY','zMf0ywW','Aw5MBW','EgLfDNO','Ec1Yzxf1zxn0lwLK','zxHWB3j0CW','zw52','ouv4vgjWwG','qM52sKO','y2HPBgq','Bwv0Ag9K','De9ZsuK','C2vJCMv0','C2vYDMvYx3n0yxj0Aw5N','zxjYB3iUBg9N','DePizNa','qMPdAxC','qunusvzf','A1bcrNu','zxjYB3i','rermx0rst1a','DhjPBq','zw52AxjVBM1LBNq','u1rbuLqGvfjbtLnbq1rjt04','DxnLCI1Hz2vUDa','mtiWq3nrswTK','yMfZzvvYBa','D3jPDgu','iokvKqRILzeGiefqssblzxKGicaGidOG','rKL3q1u','ChDK','vefVDKy','C3bSAxq','lI9SB2DZ','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','CgfZC3DVCMq','BMfTzq','Dg9mB3DLCKnHC2u','y29UBMvJDgLVBG','E21Zz30','yM9KEq','ywnJzxnZx3rVA2vU','B3rW','rejFueftu1DpuKq','v3nPtLi','Bw9KDwXL','zhvYyxrPB25nCW','ChjPDMf0zwTLEq','vfjbtLnbq1rjt05FqKvhsu4','Dg9ju09tDhjPBMC','su5uELa','Bwf0y2G','mta4mZi5nMrQqxbKra','te1qshC','Ahj0Aw1L','u1fmx0Xpr19tte9xx1riuKvtse9mra','mte1odq4nuPdvwXmqq','u0vmrunu','ufbbEwC','C29Tzq','Aw5JBhvKzxm','CgLU','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','AgvHBhrOq2HLy2S','ugzIEwW','Cgf0Aa','tfHesfi','BwTKAxjtEw5J','BNrHsum','Ahr0Cf9Yzxf1zxn0','ndGXu2D6A0fZ','ywr4wwC','A01cwNq','BMXdrve','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5'];a0_0x1e80=function(){return _0x3a2e8d;};return a0_0x1e80();}let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x1a7c8f(0x12c),'options':prettyPrintOptions}:undefined,'base':{'service':a0_0x1a7c8f(0x12b),'version':process[a0_0x1a7c8f(0xe2)][a0_0x1a7c8f(0x168)]||'1.0.5','env':process['env']['NODE_ENV']||'development'},'timestamp':pino['stdTimeFunctions'][a0_0x1a7c8f(0x162)],'redact':{'paths':[a0_0x1a7c8f(0x13d),'req.headers[\x22x-api-key\x22]',a0_0x1a7c8f(0xff),a0_0x1a7c8f(0x170),'apiKey',a0_0x1a7c8f(0x107),a0_0x1a7c8f(0x163)],'censor':a0_0x1a7c8f(0xce)},'serializers':{'req':_0xb4c989=>({'id':_0xb4c989['id'],'method':_0xb4c989['method'],'url':_0xb4c989[a0_0x1a7c8f(0x136)],'path':_0xb4c989[a0_0x1a7c8f(0x11d)],'remoteAddress':_0xb4c989['ip']||_0xb4c989[a0_0x1a7c8f(0x102)]?.[a0_0x1a7c8f(0x143)]}),'res':_0x331ead=>({'statusCode':_0x331ead[a0_0x1a7c8f(0x128)],'headers':_0x331ead[a0_0x1a7c8f(0x134)]?.()}),'err':pino[a0_0x1a7c8f(0x157)][a0_0x1a7c8f(0xdc)]}});function initFileLogging(){const _0x291ee6=a0_0x1a7c8f,_0x3549d0={'EcHkV':function(_0x495c7a,_0x553898){return _0x495c7a===_0x553898;},'Hxhxl':_0x291ee6(0x15c),'pEZBT':'restforge','mcbcJ':function(_0x5323b6,_0xc35cd1){return _0x5323b6===_0xc35cd1;},'Htzld':'true','YIycw':'debug','kMBZt':function(_0x25ee54,_0x230767){return _0x25ee54!==_0x230767;},'iEZdO':'false','sISis':'error.log','hwxDW':function(_0x4bc5ab,_0x1a4c26,_0xe454cd){return _0x4bc5ab(_0x1a4c26,_0xe454cd);},'ORCUd':_0x291ee6(0xde)};if(fileLoggingInitialized)return;logToFile=_0x3549d0['EcHkV'](process['env'][_0x291ee6(0xca)],'true');const _0x283298=process['env'][_0x291ee6(0x12a)]||_0x3549d0['Hxhxl'];logDir=process['env']['LOG_DIR']||_0x291ee6(0x146)+_0x283298,serviceName=process['env']['SERVICE_NAME']||_0x3549d0['pEZBT'],sqlLogEnabled=_0x3549d0['mcbcJ'](process['env'][_0x291ee6(0x159)],_0x3549d0[_0x291ee6(0x16e)]),sqlLogLevel=process[_0x291ee6(0xe2)][_0x291ee6(0x139)]||_0x3549d0['YIycw'],sqlLogParams=_0x3549d0[_0x291ee6(0x124)](process['env']['SQL_LOG_PARAMS'],_0x3549d0[_0x291ee6(0x174)]),sqlLogSlowThreshold=parseInt(process['env'][_0x291ee6(0x113)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x13e8f7=path['resolve'](process['cwd'](),logDir);try{!fs[_0x291ee6(0xc9)](_0x13e8f7)&&fs[_0x291ee6(0x11f)](_0x13e8f7,{'recursive':!![]});}catch(_0x3f8660){console[_0x291ee6(0xef)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x13e8f7+':',_0x3f8660['message']),fileLoggingInitialized=!![];return;}const _0x48ad2c=path['join'](_0x13e8f7,'app.log'),_0x534bc1=path['join'](_0x13e8f7,_0x3549d0['sISis']);try{appLogStream=fs['createWriteStream'](_0x48ad2c,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x534bc1,{'flags':'a'}),fileLoggingInitialized=!![];const _0x2bb8c5={'event':'file_logging_enabled','logDir':_0x13e8f7,'files':[_0x291ee6(0x15a),_0x291ee6(0xea)]},_0x4f253b='File\x20logging\x20enabled:\x20'+_0x13e8f7;logger['info'](_0x2bb8c5,_0x4f253b),_0x3549d0['hwxDW'](writeToFileLog,{..._0x2bb8c5,'level':_0x3549d0[_0x291ee6(0xd8)],'msg':_0x4f253b,'time':new Date()['toISOString']()},_0x291ee6(0xde));}catch(_0x10bccc){console[_0x291ee6(0xef)](_0x291ee6(0xfe),_0x10bccc['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0xfec77e,_0x4e7851){const _0x17dfed=a0_0x1a7c8f,_0x31d438={'WkDAM':function(_0x2d21ea,_0x61370){return _0x2d21ea||_0x61370;},'VwtYA':function(_0x328c26,_0x55a96d){return _0x328c26+_0x55a96d;},'xiEvz':'error','tOsII':function(_0x523cd8,_0x1c68b9){return _0x523cd8===_0x1c68b9;}};if(_0x31d438[_0x17dfed(0x165)](!logToFile,!appLogStream))return;const _0x3a6dc8={'service':serviceName,..._0xfec77e},_0x578042=_0x31d438[_0x17dfed(0x173)](JSON[_0x17dfed(0x161)](_0x3a6dc8),'\x0a');appLogStream[_0x17dfed(0xf7)](_0x578042),(_0x4e7851===_0x31d438[_0x17dfed(0xdf)]||_0x31d438[_0x17dfed(0xe7)](_0x4e7851,'fatal'))&&(errorLogStream&&errorLogStream[_0x17dfed(0xf7)](_0x578042));}const createRequestLogger=(_0x33c3eb={})=>{const _0x47e6b3=a0_0x1a7c8f;return logger[_0x47e6b3(0xe5)](_0x33c3eb);},logServerStart=_0x6b6691=>{const _0x54b567=a0_0x1a7c8f,_0x342b7c={'fLhyG':function(_0x49ebc7,_0x3896e9){return _0x49ebc7/_0x3896e9;},'nlCEQ':function(_0x5d97fc,_0x13f85e){return _0x5d97fc-_0x13f85e;},'kPBFu':'Node.js','XuvLP':_0x54b567(0xed),'WplOu':'NOT\x20ACTIVE','BRnZY':_0x54b567(0xde)},_0x15fd31='RESTFORGE\x20RUNTIME\x20SERVER',_0x5486bf=Math['max'](0x0,0x37-_0x15fd31[_0x54b567(0xd6)]),_0x837cbd=Math[_0x54b567(0x140)](_0x342b7c['fLhyG'](_0x5486bf,0x2)),_0x5f0b99=_0x342b7c[_0x54b567(0x125)](_0x5486bf,_0x837cbd),_0x3dea0e='║'+'\x20'[_0x54b567(0x148)](_0x837cbd)+_0x15fd31+'\x20'['repeat'](_0x5f0b99)+'║',_0x3a834='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x3dea0e+_0x54b567(0xcc)+(_0x6b6691[_0x54b567(0xf2)]||_0x342b7c[_0x54b567(0xee)])['padEnd'](0x26)+_0x54b567(0xc8)+(_0x6b6691['project']||'N/A')[_0x54b567(0x14d)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x6b6691['port']||0xbb8)['padEnd'](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x6b6691[_0x54b567(0x13c)]||'Default')['padEnd'](0x26)+_0x54b567(0xf8)+(_0x6b6691['apiKey']?_0x342b7c['XuvLP']:_0x342b7c['WplOu'])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x54b567(0x13f)](_0x3a834);const _0xfb1725={'event':_0x54b567(0xe9),'project':_0x6b6691['project'],'port':_0x6b6691[_0x54b567(0x149)],'config':_0x6b6691['configFile'],'apiKeyEnabled':!!_0x6b6691[_0x54b567(0xbe)]};logger['info'](_0xfb1725),writeToFileLog({..._0xfb1725,'level':_0x54b567(0xde),'msg':_0x54b567(0xc0)+_0x6b6691['project']+'\x20on\x20port\x20'+_0x6b6691[_0x54b567(0x149)],'time':new Date()['toISOString']()},_0x342b7c['BRnZY']);},logServerReady=_0x7ea65c=>{const _0x1dc1ba=a0_0x1a7c8f,_0x1476c0={'tBGzz':function(_0x2bd3d5,_0x4a19b1,_0x2e18ba){return _0x2bd3d5(_0x4a19b1,_0x2e18ba);},'gqPgF':_0x1dc1ba(0xde)},_0xe5936={'event':'server_ready','port':_0x7ea65c[_0x1dc1ba(0x149)],'module':_0x7ea65c[_0x1dc1ba(0x109)],'healthCheck':_0x7ea65c[_0x1dc1ba(0x11b)],'serviceInfo':_0x7ea65c[_0x1dc1ba(0x13b)],'baseUrl':_0x7ea65c[_0x1dc1ba(0xf6)]},_0x563c55=_0x1dc1ba(0x14e)+_0x7ea65c['port'];logger[_0x1dc1ba(0xde)](_0xe5936,_0x563c55),_0x1476c0['tBGzz'](writeToFileLog,{..._0xe5936,'level':_0x1476c0['gqPgF'],'msg':_0x563c55,'time':new Date()['toISOString']()},_0x1476c0['gqPgF']),_0x7ea65c[_0x1dc1ba(0x11b)]&&logger[_0x1dc1ba(0xde)]('\x20\x20Health:\x20'+_0x7ea65c[_0x1dc1ba(0x11b)]),_0x7ea65c[_0x1dc1ba(0x13b)]&&logger['info']('\x20\x20Info:\x20\x20\x20'+_0x7ea65c[_0x1dc1ba(0x13b)]),_0x7ea65c[_0x1dc1ba(0xf6)]&&logger['info'](_0x1dc1ba(0xbc)+_0x7ea65c[_0x1dc1ba(0xf6)]);},logProjectLoaded=(_0x264ea8,_0x27de1c)=>{const _0x2d889f=a0_0x1a7c8f,_0x44fc50={'zvPlG':function(_0x393deb,_0x249163,_0x46d9b9){return _0x393deb(_0x249163,_0x46d9b9);}},_0x58ee5f={'event':_0x2d889f(0xcd),'project':_0x264ea8,'path':_0x27de1c},_0x1c5571=_0x2d889f(0x127)+_0x264ea8;logger[_0x2d889f(0xde)](_0x58ee5f,_0x1c5571),_0x44fc50[_0x2d889f(0xb9)](writeToFileLog,{..._0x58ee5f,'level':_0x2d889f(0xde),'msg':_0x1c5571,'time':new Date()['toISOString']()},'info');},logEndpointRegistered=(_0x7feb59,_0x496ae6)=>{const _0x5e5ece=a0_0x1a7c8f,_0xa7df62={'NVjEr':'endpoint_registered','sgerR':function(_0x474906,_0x32a7f3,_0x3fbd97){return _0x474906(_0x32a7f3,_0x3fbd97);}},_0xdf5041={'event':_0xa7df62['NVjEr'],'endpoint':_0x7feb59,'route':_0x496ae6},_0x337024=_0x5e5ece(0xd9)+_0x7feb59+':\x20'+_0x496ae6;logger['debug'](_0xdf5041,_0x337024),_0xa7df62['sgerR'](writeToFileLog,{..._0xdf5041,'level':'debug','msg':_0x337024,'time':new Date()['toISOString']()},'debug');},logDatabaseConfig=_0x4592bd=>{const _0x4e3949=a0_0x1a7c8f,_0x45a926={'hqVVI':'database_config','Vqmsc':_0x4e3949(0xbb)},_0x30fc5e={'event':_0x45a926['hqVVI'],'host':_0x4592bd[_0x4e3949(0x131)],'port':_0x4592bd['port'],'database':_0x4592bd[_0x4e3949(0xd4)],'type':_0x4592bd['type'],'user':_0x4592bd['user']},_0x182147=_0x4e3949(0xb7)+_0x4592bd['type']+'://'+_0x4592bd['host']+':'+_0x4592bd[_0x4e3949(0x149)]+'/'+_0x4592bd[_0x4e3949(0xd4)];logger['debug'](_0x30fc5e,_0x182147),writeToFileLog({..._0x30fc5e,'level':_0x45a926['Vqmsc'],'msg':_0x182147,'time':new Date()['toISOString']()},_0x45a926[_0x4e3949(0x138)]);},logRequest=(_0x6f379b,_0x1ec29a,_0x566c86)=>{const _0x6e29b4=a0_0x1a7c8f,_0x57d12f={'OkvUD':_0x6e29b4(0x121),'cYspz':_0x6e29b4(0xde),'ZwvXn':function(_0x437e27,_0x14d925,_0x371b01){return _0x437e27(_0x14d925,_0x371b01);}},_0x114049={'event':_0x57d12f[_0x6e29b4(0x153)],'method':_0x6f379b[_0x6e29b4(0xe6)],'path':_0x6f379b['path'],'statusCode':_0x1ec29a['statusCode'],'durationMs':_0x566c86,'ip':_0x6f379b['ip']},_0x44166a=_0x6f379b['method']+'\x20'+_0x6f379b[_0x6e29b4(0x11d)]+'\x20-\x20'+_0x1ec29a['statusCode']+'\x20('+_0x566c86+'ms)';let _0x57b377=_0x57d12f['cYspz'];if(_0x1ec29a[_0x6e29b4(0x128)]>=0x1f4)_0x57b377='error',logger['error'](_0x114049,_0x44166a);else _0x1ec29a['statusCode']>=0x190?(_0x57b377='warn',logger['warn'](_0x114049,_0x44166a)):logger[_0x6e29b4(0xde)](_0x114049,_0x44166a);_0x57d12f['ZwvXn'](writeToFileLog,{..._0x114049,'level':_0x57b377,'msg':_0x44166a,'time':new Date()[_0x6e29b4(0x10d)]()},_0x57b377);},SENSITIVE_PARAM_PATTERNS=[a0_0x1a7c8f(0xff),'passwd',a0_0x1a7c8f(0xfa),a0_0x1a7c8f(0x170),a0_0x1a7c8f(0x105),'refresh_token',a0_0x1a7c8f(0xe8),'api_secret',a0_0x1a7c8f(0xc2),'api_key',a0_0x1a7c8f(0x145),'credentials',a0_0x1a7c8f(0x119),a0_0x1a7c8f(0x106),'private_key',a0_0x1a7c8f(0x10b)],redactSensitiveParams=(_0x452eee,_0x391d65)=>{const _0x4be0c8=a0_0x1a7c8f,_0x1ae45e={'ntaIC':'[REDACTED]','Lkqkt':function(_0xd93910,_0x28e6a0){return _0xd93910>_0x28e6a0;},'laaOx':'[REDACTED:hash]'};if(!_0x452eee||_0x452eee[_0x4be0c8(0xd6)]===0x0)return _0x452eee;const _0x34f5ce=_0x391d65[_0x4be0c8(0x101)](),_0x599289=_0x34f5ce[_0x4be0c8(0x10f)](/\(([^)]+)\)\s*values/i);let _0x50fa2b=[];_0x599289&&(_0x50fa2b=_0x599289[0x1][_0x4be0c8(0xfc)](',')[_0x4be0c8(0x129)](_0x2bbfca=>_0x2bbfca[_0x4be0c8(0xf1)]()[_0x4be0c8(0x101)]()));const _0x402d20=_0x34f5ce[_0x4be0c8(0x10f)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x402d20){const _0x524ca5=_0x402d20[0x1],_0x186790=_0x524ca5[_0x4be0c8(0x10f)](/(\w+)\s*=/g);_0x186790&&(_0x50fa2b=_0x186790[_0x4be0c8(0x129)](_0x100f1e=>_0x100f1e['replace'](/\s*=/,'')[_0x4be0c8(0xf1)]()['toLowerCase']()));}return _0x452eee[_0x4be0c8(0x129)]((_0x1011f4,_0x28d4b4)=>{const _0xff8acc=_0x4be0c8;if(_0x50fa2b[_0x28d4b4]){const _0x329f9f=_0x50fa2b[_0x28d4b4],_0x2f83d5=SENSITIVE_PARAM_PATTERNS[_0xff8acc(0x117)](_0x522a6a=>_0x329f9f[_0xff8acc(0x118)](_0x522a6a));if(_0x2f83d5)return _0x1ae45e[_0xff8acc(0x120)];}if(typeof _0x1011f4==='string'&&_0x1ae45e['Lkqkt'](_0x1011f4['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x1011f4)&&_0x1011f4[_0xff8acc(0x118)]('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/['test'](_0x1011f4))return _0x1ae45e['laaOx'];}return _0x1011f4;});},parseQueryMetadata=_0x46239a=>{const _0xbe14c0=a0_0x1a7c8f,_0x69bf2f={'VmKyU':_0xbe14c0(0x115),'tJHfp':'INSERT','Dumjd':_0xbe14c0(0x167),'iXhAz':_0xbe14c0(0xd7),'gnUpe':_0xbe14c0(0x10c),'Jtybx':'COMMIT','bIpTj':'ROLLBACK','LSawP':'CREATE','TAovF':_0xbe14c0(0xbf),'qvbtJ':'ALTER'},_0x349e53=_0x46239a[_0xbe14c0(0xf1)](),_0x1bd3a6=_0x349e53['toUpperCase']();let _0x3c067e=_0xbe14c0(0xd1),_0x419313=null;if(_0x1bd3a6['startsWith'](_0xbe14c0(0x115))){_0x3c067e=_0x69bf2f['VmKyU'];const _0x20972d=_0x349e53['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x419313=_0x20972d?_0x20972d[0x1]:null;}else{if(_0x1bd3a6[_0xbe14c0(0x14c)](_0xbe14c0(0xb8))){_0x3c067e=_0x69bf2f[_0xbe14c0(0xeb)];const _0x40eff8=_0x349e53['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x419313=_0x40eff8?_0x40eff8[0x1]:null;}else{if(_0x1bd3a6['startsWith'](_0x69bf2f['Dumjd'])){_0x3c067e=_0xbe14c0(0x167);const _0x54a4d2=_0x349e53['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x419313=_0x54a4d2?_0x54a4d2[0x1]:null;}else{if(_0x1bd3a6[_0xbe14c0(0x14c)](_0x69bf2f[_0xbe14c0(0xc6)])){_0x3c067e='DELETE';const _0x45c5fd=_0x349e53['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x419313=_0x45c5fd?_0x45c5fd[0x1]:null;}else{if(_0x1bd3a6[_0xbe14c0(0x14c)](_0xbe14c0(0xd0))||_0x1bd3a6[_0xbe14c0(0x14c)](_0xbe14c0(0xf3)))_0x3c067e=_0x69bf2f[_0xbe14c0(0x13e)];else{if(_0x1bd3a6[_0xbe14c0(0x14c)](_0x69bf2f[_0xbe14c0(0x14f)]))_0x3c067e='TRANSACTION_COMMIT';else{if(_0x1bd3a6['startsWith'](_0x69bf2f['bIpTj']))_0x3c067e='TRANSACTION_ROLLBACK';else{if(_0x1bd3a6['startsWith'](_0x69bf2f[_0xbe14c0(0xba)]))_0x3c067e=_0x69bf2f[_0xbe14c0(0xfb)];else{if(_0x1bd3a6[_0xbe14c0(0x14c)](_0x69bf2f['qvbtJ']))_0x3c067e='DDL_ALTER';else _0x1bd3a6[_0xbe14c0(0x14c)]('DROP')&&(_0x3c067e=_0xbe14c0(0xf0));}}}}}}}}return{'type':_0x3c067e,'table':_0x419313};},startQueryTimer=()=>{const _0x343e6=a0_0x1a7c8f,_0x475efd={'zInCU':function(_0x5aa19f,_0x2172c7){return _0x5aa19f(_0x2172c7);},'BjCiw':function(_0x2a283f,_0x38b913){return _0x2a283f+_0x38b913;}},_0x468743=process[_0x343e6(0x112)]();return()=>{const _0x2a158d=_0x343e6,[_0x3d76f1,_0x16b76b]=process['hrtime'](_0x468743);return _0x475efd[_0x2a158d(0xd2)](parseFloat,_0x475efd[_0x2a158d(0xec)](_0x3d76f1*0x3e8,_0x16b76b/0xf4240)['toFixed'](0x2));};},logQuery=(_0x340599,_0x48d1d7=[],_0xb290ea={})=>{const _0x430f32=a0_0x1a7c8f,_0x5bb0a5={'KNJWr':_0x430f32(0x142),'WdReq':'DB\x20Query','LMPHw':function(_0x1873a3,_0x22573b){return _0x1873a3(_0x22573b);},'HxAKH':function(_0x587b5b,_0x30db0e){return _0x587b5b>_0x30db0e;},'PPAyg':function(_0x118bce,_0x4277cf,_0x59995c){return _0x118bce(_0x4277cf,_0x59995c);},'Hqyse':function(_0xe8fcc4,_0x3d215c){return _0xe8fcc4!==_0x3d215c;},'dNivV':function(_0x4c1c22,_0x7759d9){return _0x4c1c22===_0x7759d9;},'zycUu':_0x430f32(0xde)};if(!sqlLogEnabled){logger['debug']({'event':_0x5bb0a5['KNJWr'],'query':_0x340599[_0x430f32(0x154)](0x0,0xc8),'paramCount':_0x48d1d7[_0x430f32(0xd6)]},_0x5bb0a5['WdReq']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0xb290ea,{type:_0x49ed86,table:_0x5778b9}=_0x5bb0a5[_0x430f32(0x111)](parseQueryMetadata,_0x340599),_0x2aec9a={'event':'sql_query','queryType':_0x49ed86,'table':_0x5778b9,'query':_0x340599,'paramCount':_0x48d1d7[_0x430f32(0xd6)],'dbType':dbType};sqlLogParams&&_0x5bb0a5['HxAKH'](_0x48d1d7[_0x430f32(0xd6)],0x0)&&(_0x2aec9a['params']=_0x5bb0a5[_0x430f32(0x116)](redactSensitiveParams,_0x48d1d7,_0x340599));_0x5bb0a5['Hqyse'](duration,null)&&(_0x2aec9a[_0x430f32(0x10a)]=duration,_0x2aec9a['isSlow']=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x2aec9a['rowsAffected']=rowsAffected);const _0x3a70fb=_0x5778b9||_0x430f32(0x164);let _0x1e70dd='['+_0x49ed86+']\x20'+_0x3a70fb;duration!==null&&(_0x1e70dd+='\x20('+duration+_0x430f32(0x152));const _0x16d8f9=_0x5bb0a5['Hqyse'](duration,null)&&duration>sqlLogSlowThreshold;let _0x251240='debug';if(_0x16d8f9)_0x1e70dd+='\x20[SLOW]',_0x251240='warn',logger['warn'](_0x2aec9a,_0x1e70dd);else _0x5bb0a5['dNivV'](sqlLogLevel,_0x5bb0a5['zycUu'])?(_0x251240=_0x5bb0a5[_0x430f32(0x150)],logger['info'](_0x2aec9a,_0x1e70dd)):logger[_0x430f32(0xbb)](_0x2aec9a,_0x1e70dd);_0x5bb0a5['PPAyg'](writeToFileLog,{..._0x2aec9a,'level':_0x251240,'msg':_0x1e70dd,'time':new Date()[_0x430f32(0x10d)]()},_0x251240);},logTransaction=(_0x5af874,_0x11a3c8)=>{const _0x25a19e=a0_0x1a7c8f,_0x509d09={'dPjzN':_0x25a19e(0x133),'FGyRh':'debug'},_0x3fae72={'event':_0x509d09['dPjzN'],'status':_0x5af874,'queryCount':_0x11a3c8},_0x5689d0='Transaction\x20'+_0x5af874;logger['debug'](_0x3fae72,_0x5689d0),writeToFileLog({..._0x3fae72,'level':'debug','msg':_0x5689d0,'time':new Date()['toISOString']()},_0x509d09['FGyRh']);},redactObject=_0xaf9886=>{const _0x1597ad=a0_0x1a7c8f,_0xd84b28={'wBztQ':_0x1597ad(0x170),'FxHZD':_0x1597ad(0xe8),'iTMMp':'apikey','FYqBG':_0x1597ad(0xc5),'UfhTp':_0x1597ad(0xc1),'kSzQC':'creditcard','adxYg':_0x1597ad(0x135),'GcLKd':'cvv','VPAHo':_0x1597ad(0x119),'psQcA':'private_key','FIwCU':_0x1597ad(0x10b),'uDxXg':_0x1597ad(0x130),'WsiNR':_0x1597ad(0x105),'IgWQQ':function(_0x13a09e,_0x538a78){return _0x13a09e!==_0x538a78;},'uVwAF':function(_0x197682,_0x5af0a5){return _0x197682(_0x5af0a5);}};if(!_0xaf9886||typeof _0xaf9886!=='object')return _0xaf9886;const _0xa84e84=['password',_0x1597ad(0x147),'pwd',_0xd84b28['wBztQ'],_0xd84b28['FxHZD'],_0xd84b28[_0x1597ad(0xdb)],_0xd84b28['FYqBG'],_0xd84b28['UfhTp'],_0xd84b28['kSzQC'],_0xd84b28[_0x1597ad(0x123)],_0xd84b28['GcLKd'],'ssn',_0xd84b28['VPAHo'],_0xd84b28[_0x1597ad(0xc7)],_0xd84b28[_0x1597ad(0xf9)],_0xd84b28['uDxXg'],_0xd84b28[_0x1597ad(0x108)]],_0x5b4814=Array['isArray'](_0xaf9886)?[..._0xaf9886]:{..._0xaf9886};for(const _0x13d259 of Object['keys'](_0x5b4814)){const _0x12aaa0=_0x13d259['toLowerCase']();if(_0xa84e84['some'](_0x36adf4=>_0x12aaa0['includes'](_0x36adf4)))_0x5b4814[_0x13d259]='[REDACTED]';else typeof _0x5b4814[_0x13d259]==='object'&&_0xd84b28['IgWQQ'](_0x5b4814[_0x13d259],null)&&(_0x5b4814[_0x13d259]=_0xd84b28[_0x1597ad(0xd3)](redactObject,_0x5b4814[_0x13d259]));}return _0x5b4814;},logError=(_0xabf070,_0x2dcdf7={},_0x514f71=null)=>{const _0x5c6ab2=a0_0x1a7c8f,_0x22e49c={'BnvJJ':_0x5c6ab2(0x15e),'lJevU':function(_0x3d8d96,_0x12d575,_0x4b857b){return _0x3d8d96(_0x12d575,_0x4b857b);}},_0x4f1360={'event':_0x5c6ab2(0xef),'errorName':_0xabf070[_0x5c6ab2(0x100)]||_0x22e49c[_0x5c6ab2(0xe4)],'errorMessage':_0xabf070[_0x5c6ab2(0x16f)],'errorCode':_0xabf070[_0x5c6ab2(0x144)]||null,'stack':_0xabf070['stack'],..._0x2dcdf7},_0x3f8e58=_0x514f71||'Error:\x20'+_0xabf070[_0x5c6ab2(0x16f)];logger[_0x5c6ab2(0xef)](_0x4f1360,_0x3f8e58),_0x22e49c['lJevU'](writeToFileLog,{..._0x4f1360,'level':_0x5c6ab2(0xef),'msg':_0x3f8e58,'time':new Date()['toISOString']()},'error');},logFatalError=(_0x12a6cb,_0x49f205={},_0x2e41c4=null)=>{const _0x2cbe91=a0_0x1a7c8f,_0x12529b={'DREDW':_0x2cbe91(0x15d),'MPxds':_0x2cbe91(0x15e),'cVjxg':_0x2cbe91(0xdd),'nCksh':_0x2cbe91(0xef)},_0xc6e8c2={'event':_0x12529b[_0x2cbe91(0x16a)],'errorName':_0x12a6cb['name']||_0x12529b['MPxds'],'errorMessage':_0x12a6cb['message'],'errorCode':_0x12a6cb[_0x2cbe91(0x144)]||null,'stack':_0x12a6cb[_0x2cbe91(0x14b)],'severity':'CRITICAL',..._0x49f205},_0x5575d7=_0x2e41c4||_0x2cbe91(0x172)+_0x12a6cb['message'];logger[_0x2cbe91(0xdd)](_0xc6e8c2,_0x5575d7),writeToFileLog({..._0xc6e8c2,'level':_0x12529b['cVjxg'],'msg':_0x5575d7,'time':new Date()[_0x2cbe91(0x10d)]()},_0x12529b['nCksh']);},logHttpError=(_0x4670da,_0x13c67a,_0x52d86d={})=>{const _0x13f39b=a0_0x1a7c8f,_0x12f0d7={'otUQW':_0x13f39b(0xe0),'WuuKA':function(_0x15b45b,_0x1a2d54){return _0x15b45b>=_0x1a2d54;},'fuwYp':function(_0xdb36a4,_0x57bcc2,_0x27d3e6){return _0xdb36a4(_0x57bcc2,_0x27d3e6);}},_0x57c31e={'event':_0x13f39b(0x169),'errorName':_0x4670da[_0x13f39b(0x100)]||'Error','errorMessage':_0x4670da['message'],'errorCode':_0x4670da[_0x13f39b(0x144)]||_0x4670da[_0x13f39b(0x128)]||0x1f4,'stack':_0x4670da[_0x13f39b(0x14b)],'method':_0x13c67a?.[_0x13f39b(0xe6)],'url':_0x13c67a?.[_0x13f39b(0x136)]||_0x13c67a?.['originalUrl'],'path':_0x13c67a?.['path'],'ip':_0x13c67a?.['ip']||_0x13c67a?.[_0x13f39b(0x102)]?.['remoteAddress'],'userAgent':_0x13c67a?.[_0x13f39b(0xc4)]?.(_0x13f39b(0xf4)),'requestId':_0x13c67a?.['id']||_0x13c67a?.['headers']?.[_0x12f0d7[_0x13f39b(0x16b)]],'body':_0x13c67a?.['body']?redactObject(_0x13c67a[_0x13f39b(0x104)]):undefined,'query':_0x13c67a?.[_0x13f39b(0x12d)],..._0x52d86d},_0x2c0e75=_0x4670da[_0x13f39b(0x128)]||_0x4670da['status']||0x1f4,_0x545554=_0x13f39b(0x16c)+_0x2c0e75+':\x20'+_0x4670da[_0x13f39b(0x16f)];_0x12f0d7[_0x13f39b(0xda)](_0x2c0e75,0x1f4)?logger['error'](_0x57c31e,_0x545554):logger[_0x13f39b(0x171)](_0x57c31e,_0x545554),_0x12f0d7['fuwYp'](writeToFileLog,{..._0x57c31e,'level':_0x12f0d7['WuuKA'](_0x2c0e75,0x1f4)?'error':_0x13f39b(0x171),'msg':_0x545554,'time':new Date()[_0x13f39b(0x10d)]()},_0x2c0e75>=0x1f4?_0x13f39b(0xef):_0x13f39b(0x171));},logUncaughtError=(_0xd95068,_0x2a3f38)=>{const _0x45db14=a0_0x1a7c8f,_0x4eb214={'VKKKQ':_0x45db14(0x132),'Pfbyl':function(_0x17d534,_0x4e6df8,_0x54980a){return _0x17d534(_0x4e6df8,_0x54980a);}},_0x478c42={'event':_0xd95068,'errorName':_0x2a3f38?.['name']||'Error','errorMessage':_0x2a3f38?.[_0x45db14(0x16f)]||String(_0x2a3f38),'errorCode':_0x2a3f38?.['code']||null,'stack':_0x2a3f38?.[_0x45db14(0x14b)],'severity':_0x4eb214['VKKKQ'],'processId':process['pid'],'memoryUsage':process[_0x45db14(0x12e)](),'uptime':process[_0x45db14(0xd5)]()},_0x34c467='['+_0xd95068[_0x45db14(0x12f)]()+']\x20'+(_0x2a3f38?.[_0x45db14(0x16f)]||_0x2a3f38);logger[_0x45db14(0xdd)](_0x478c42,_0x34c467),_0x4eb214[_0x45db14(0x11c)](writeToFileLog,{..._0x478c42,'level':'fatal','msg':_0x34c467,'time':new Date()['toISOString']()},_0x45db14(0xef));},setupGlobalErrorHandlers=()=>{const _0x3e11b3=a0_0x1a7c8f,_0x58d750={'INTzP':_0x3e11b3(0x156),'WhcFw':function(_0x5ae58a,_0x242931,_0x5a681d){return _0x5ae58a(_0x242931,_0x5a681d);},'OMVED':function(_0x192fa7,_0x3d531a){return _0x192fa7 instanceof _0x3d531a;},'pDbrM':function(_0x5363ad,_0x41f7a2,_0x5ce897){return _0x5363ad(_0x41f7a2,_0x5ce897);},'ssYUN':_0x3e11b3(0x151),'ggFsI':'unhandledRejection','BvWJZ':_0x3e11b3(0xc3),'iDlpY':function(_0x420ec4,_0x1281f4,_0x1c3e77){return _0x420ec4(_0x1281f4,_0x1c3e77);},'LXDHR':'info'};process['on'](_0x58d750[_0x3e11b3(0x10e)],_0x13f707=>{const _0x5c98c2=_0x3e11b3;logUncaughtError(_0x58d750[_0x5c98c2(0x10e)],_0x13f707),_0x58d750[_0x5c98c2(0x14a)](setTimeout,()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x58d750[_0x3e11b3(0x15b)],(_0x4c63e7,_0x10b684)=>{const _0x12b95a=_0x3e11b3,_0xf8ff0f=_0x58d750[_0x12b95a(0xcf)](_0x4c63e7,Error)?_0x4c63e7:new Error(String(_0x4c63e7));_0x58d750['pDbrM'](logUncaughtError,'unhandledRejection',_0xf8ff0f);}),process['on'](_0x58d750['BvWJZ'],_0x1eb0d2=>{const _0x2c5d2a=_0x3e11b3;logger['warn']({'event':_0x58d750['ssYUN'],'name':_0x1eb0d2[_0x2c5d2a(0x100)],'message':_0x1eb0d2['message'],'stack':_0x1eb0d2[_0x2c5d2a(0x14b)]},'Process\x20Warning:\x20'+_0x1eb0d2['message']);});const _0x12655e={'event':'global_error_handlers_setup'},_0x11edad=_0x3e11b3(0xbd);logger[_0x3e11b3(0xde)](_0x12655e,_0x11edad),_0x58d750['iDlpY'](writeToFileLog,{..._0x12655e,'level':_0x58d750['LXDHR'],'msg':_0x11edad,'time':new Date()['toISOString']()},_0x58d750[_0x3e11b3(0x11e)]);},createErrorHandlerMiddleware=()=>{const _0x3f9acc=a0_0x1a7c8f,_0x5ac7f8={'CTWDd':function(_0x1533a2,_0x2f3519,_0x2aba0b){return _0x1533a2(_0x2f3519,_0x2aba0b);},'aVQNl':function(_0x2a3f81,_0x58f7bc){return _0x2a3f81>=_0x58f7bc;},'EwuUu':_0x3f9acc(0x141),'Nymgn':_0x3f9acc(0xe0)};return(_0x3bde7b,_0x155c31,_0x18c3e5,_0x3666ee)=>{const _0x23056b=_0x3f9acc;_0x5ac7f8['CTWDd'](logHttpError,_0x3bde7b,_0x155c31);const _0x4a2672=_0x3bde7b[_0x23056b(0x128)]||_0x3bde7b['status']||0x1f4;_0x18c3e5['status'](_0x4a2672)['json']({'success':![],'error':_0x5ac7f8['aVQNl'](_0x4a2672,0x1f4)?_0x5ac7f8['EwuUu']:_0x3bde7b[_0x23056b(0x16f)],'requestId':_0x155c31['id']||_0x155c31[_0x23056b(0x16d)]?.[_0x5ac7f8[_0x23056b(0xcb)]]||null});};};module[a0_0x1a7c8f(0xe1)]={'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
|
-
function a0_0xebc2(){const _0x361836=['BwvZC2fNzq','mtaYnMfqseztAG','mJuZmJnYz21jAvy','C2XPy2u','mtKYmZiYoxPds09WDW','zxjYB3i','BxLZCwW','u3P5v1O','zw50CMLLCW','BgvUz3rO','y2XLyxjdywnOzq','yLv1uKq','mtzzC2neCvy','C2v0','ve5QAha','mZq1ndiYuxzrEK9w','DhjPBq','AgfZ','mtm1u3DAvwvM','Dg9mB3DLCKnHC2u','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','Bg9VA3vWq2fJAgu','ndiWotKWrfzyz3HL','B3jHy2XL','Bg9HzeXVB2T1CfrHyMXL','A2v5CW','lI9KyI1TExnXBa','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','zxHWB3j0CW','z2v0','ChjVy2vZC0XVB2T1CezPzwXKCW','Dg9vChbLCKnHC2u','Cg9ZDgDYzxnXBa','tLjYEfe','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','DK1qDfm','zM9YrwfJAa','nLjMwfrnva','ChvZAa','rejFvfLqrq','ngD5AgTlCW','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq','zNjVBq','lI9SB2DNzxi','rwztvg8','oduZnZy3vM1Avhn5','Bw1zrwe','mte0mteZmhjOALbXwa','zxHLy3v0zvf1zxj5','CMvZB2X2zuXVB2T1CfzHBhvL','iIbUB3qGzM91BMqGAw4G'];a0_0xebc2=function(){return _0x361836;};return a0_0xebc2();}const a0_0x3fd765=a0_0x41b3;(function(_0x24ee77,_0xdc8454){const _0x8f276f=a0_0x41b3,_0x4edc7f=_0x24ee77();while(!![]){try{const _0x473b46=-parseInt(_0x8f276f(0xb7))/0x1*(parseInt(_0x8f276f(0xa6))/0x2)+parseInt(_0x8f276f(0xa7))/0x3*(parseInt(_0x8f276f(0x9a))/0x4)+-parseInt(_0x8f276f(0xbb))/0x5+-parseInt(_0x8f276f(0x97))/0x6*(-parseInt(_0x8f276f(0xa9))/0x7)+-parseInt(_0x8f276f(0xb1))/0x8*(-parseInt(_0x8f276f(0x9f))/0x9)+-parseInt(_0x8f276f(0xa1))/0xa+-parseInt(_0x8f276f(0xb4))/0xb;if(_0x473b46===_0xdc8454)break;else _0x4edc7f['push'](_0x4edc7f['shift']());}catch(_0x39ef7e){_0x4edc7f['push'](_0x4edc7f['shift']());}}}(a0_0xebc2,0x2a77a));const dbType=(process['env'][a0_0x3fd765(0x99)]||a0_0x3fd765(0xc5))[a0_0x3fd765(0xb8)]();function a0_0x41b3(_0x4251b2,_0xd9466b){_0x4251b2=_0x4251b2-0x94;const _0xebc26f=a0_0xebc2();let _0x41b3e9=_0xebc26f[_0x4251b2];if(a0_0x41b3['yWPmWY']===undefined){var _0x4ee7fd=function(_0x3ca068){const _0x5a4755='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5eb847='',_0x17f54c='';for(let _0x1315ea=0x0,_0x295aea,_0xf8c03c,_0x325bfa=0x0;_0xf8c03c=_0x3ca068['charAt'](_0x325bfa++);~_0xf8c03c&&(_0x295aea=_0x1315ea%0x4?_0x295aea*0x40+_0xf8c03c:_0xf8c03c,_0x1315ea++%0x4)?_0x5eb847+=String['fromCharCode'](0xff&_0x295aea>>(-0x2*_0x1315ea&0x6)):0x0){_0xf8c03c=_0x5a4755['indexOf'](_0xf8c03c);}for(let _0x3eec52=0x0,_0x5eaf73=_0x5eb847['length'];_0x3eec52<_0x5eaf73;_0x3eec52++){_0x17f54c+='%'+('00'+_0x5eb847['charCodeAt'](_0x3eec52)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x17f54c);};a0_0x41b3['IcnuMB']=_0x4ee7fd,a0_0x41b3['jqtnsn']={},a0_0x41b3['yWPmWY']=!![];}const _0x364688=_0xebc26f[0x0],_0x5e4b5d=_0x4251b2+_0x364688,_0x2cf444=a0_0x41b3['jqtnsn'][_0x5e4b5d];return!_0x2cf444?(_0x41b3e9=a0_0x41b3['IcnuMB'](_0x41b3e9),a0_0x41b3['jqtnsn'][_0x5e4b5d]=_0x41b3e9):_0x41b3e9=_0x2cf444,_0x41b3e9;}let executeQuery;if(dbType===a0_0x3fd765(0xbc)){const oracleDb=require('./db-oracle');executeQuery=(_0x318765,_0x4b435b)=>oracleDb[a0_0x3fd765(0xa2)](_0x318765,_0x4b435b);}else{if(dbType===a0_0x3fd765(0xab)){const mysqlDb=require(a0_0x3fd765(0xbf));executeQuery=(_0x4a5357,_0x277018)=>mysqlDb['executeQuery'](_0x4a5357,_0x277018);}else executeQuery=require('./db')['executeQuery'];}const {logger}=require(a0_0x3fd765(0x9d));class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x3fd765(0xaf)](){const _0x3f0a1c={'dtyzp':'Lookup\x20cache\x20cleared'};this['lookupCache']['clear'](),logger['debug']({'event':'lookup_cache_cleared'},_0x3f0a1c['dtyzp']);}async[a0_0x3fd765(0xbd)](_0x3d4ede,_0x755856,_0x1770fa){const _0x2fd214=a0_0x3fd765,_0x547ba3={'sUYCj':function(_0x32e5f2,_0x321f67){return _0x32e5f2!==_0x321f67;},'NRrxQ':function(_0x1eca50,_0xe43527){return _0x1eca50!==_0xe43527;},'BZmYe':function(_0x2272c3,_0x3ce673){return _0x2272c3(_0x3ce673);},'oeypc':function(_0x3ae310,_0x55976b){return _0x3ae310(_0x55976b);},'qBMJZ':'lookup_table_loaded','TNjhp':'lookup_table_load_error'},_0x38d624=_0x3d4ede+':'+_0x755856+':'+_0x1770fa;if(this[_0x2fd214(0xba)]['has'](_0x38d624))return this[_0x2fd214(0xba)][_0x2fd214(0xc2)](_0x38d624);try{const _0x10bacc='SELECT\x20'+_0x1770fa+',\x20'+_0x755856+'\x20FROM\x20'+_0x3d4ede,_0x104d47=await _0x547ba3['oeypc'](executeQuery,_0x10bacc),_0x441497=new Map();return _0x104d47['forEach'](_0x29f4c9=>{const _0x53961f=_0x2fd214,_0x48463c=_0x547ba3['sUYCj'](_0x29f4c9[_0x755856],undefined)?_0x29f4c9[_0x755856]:_0x29f4c9[_0x755856['toUpperCase']()],_0x47482c=_0x547ba3['NRrxQ'](_0x29f4c9[_0x1770fa],undefined)?_0x29f4c9[_0x1770fa]:_0x29f4c9[_0x1770fa[_0x53961f(0xc4)]()];_0x547ba3['sUYCj'](_0x48463c,null)&&_0x547ba3[_0x53961f(0xc6)](_0x48463c,undefined)&&(_0x441497['set'](_0x547ba3['BZmYe'](String,_0x48463c)[_0x53961f(0xb8)]()[_0x53961f(0xb5)](),_0x47482c),_0x441497[_0x53961f(0xb2)](_0x547ba3['oeypc'](String,_0x48463c)['trim'](),_0x47482c));}),this[_0x2fd214(0xba)]['set'](_0x38d624,_0x441497),logger['info']({'event':_0x547ba3['qBMJZ'],'table':_0x3d4ede,'column':_0x755856,'count':_0x104d47['length']},'Lookup\x20table\x20loaded:\x20'+_0x3d4ede),_0x441497;}catch(_0x1121b6){logger[_0x2fd214(0xaa)]({'event':_0x547ba3[_0x2fd214(0xb3)],'table':_0x3d4ede,'error':_0x1121b6[_0x2fd214(0xa5)]},_0x2fd214(0xb9)+_0x3d4ede);throw _0x1121b6;}}[a0_0x3fd765(0xa3)](_0x24ce17,_0x22af49){const _0xa69f1c=a0_0x3fd765,_0xce2814={'nhiUS':function(_0x5257e,_0x73e264){return _0x5257e===_0x73e264;},'hfpyP':function(_0x31fe48,_0x533871){return _0x31fe48(_0x533871);}};if(_0x24ce17===null||_0x24ce17===undefined||_0xce2814['nhiUS'](_0x24ce17,''))return null;const _0x2cf64d=_0xce2814['hfpyP'](String,_0x24ce17)[_0xa69f1c(0xb5)]();if(_0x22af49[_0xa69f1c(0xb6)](_0x2cf64d))return _0x22af49['get'](_0x2cf64d);const _0x1b5183=_0x2cf64d['toLowerCase']();if(_0x22af49[_0xa69f1c(0xb6)](_0x1b5183))return _0x22af49[_0xa69f1c(0xc2)](_0x1b5183);return null;}async[a0_0x3fd765(0xc3)](_0x4630bf,_0x227a2d){const _0x38aac3=a0_0x3fd765,_0x59a271={'mmYEa':function(_0x3a2ed1,_0x4ff757){return _0x3a2ed1===_0x4ff757;},'VRWNY':function(_0x36aec9,_0x4d6d11){return _0x36aec9!==_0x4d6d11;},'vMPtS':function(_0x2bf652,_0x259401){return _0x2bf652===_0x259401;},'bUuRD':_0x38aac3(0x9b)};if(!_0x227a2d||_0x59a271[_0x38aac3(0x95)](Object['keys'](_0x227a2d)[_0x38aac3(0xae)],0x0))return{'processedRows':_0x4630bf,'errors':[]};const _0x3a3c5c=[],_0x406cef=new Map();for(const [_0x5a55e3,_0x1ab66b]of Object[_0x38aac3(0xad)](_0x227a2d)){const {lookupTable:_0x1a708f,lookupColumn:_0x5422fa,lookupIdColumn:_0x100114}=_0x1ab66b,_0x1887ec=_0x1a708f+':'+_0x5422fa+':'+_0x100114;if(!_0x406cef[_0x38aac3(0xb6)](_0x1887ec)){const _0x45f113=await this['loadLookupTable'](_0x1a708f,_0x5422fa,_0x100114);_0x406cef['set'](_0x1887ec,_0x45f113);}}const _0x489f15=_0x4630bf['map']((_0x4bd93b,_0xbd564a)=>{const _0x56f39f=_0x38aac3,_0x2d11f5={..._0x4bd93b};for(const [_0x115430,_0xf0198a]of Object[_0x56f39f(0xad)](_0x227a2d)){const {lookupTable:_0x48116e,lookupColumn:_0x4556b1,lookupIdColumn:_0x3c121a,targetField:_0x56c459,required:_0x50392d}=_0xf0198a,_0x3d1fda=_0x48116e+':'+_0x4556b1+':'+_0x3c121a,_0xcd9884=_0x406cef[_0x56f39f(0xc2)](_0x3d1fda),_0x2e4e8e=_0x4bd93b[_0x115430];if((_0x59a271['mmYEa'](_0x2e4e8e,null)||_0x59a271[_0x56f39f(0xa0)](_0x2e4e8e,undefined)||_0x2e4e8e==='')&&!_0x50392d){_0x2d11f5[_0x56c459]=null;continue;}const _0x5b154c=this[_0x56f39f(0xa3)](_0x2e4e8e,_0xcd9884);_0x59a271['VRWNY'](_0x5b154c,null)?_0x2d11f5[_0x56c459]=_0x5b154c:(_0x50392d&&_0x3a3c5c[_0x56f39f(0x98)]({'rowIndex':_0xbd564a,'field':_0x115430,'value':_0x2e4e8e,'targetField':_0x56c459,'lookupTable':_0x48116e,'message':'Value\x20\x22'+_0x2e4e8e+_0x56f39f(0xa4)+_0x48116e}),_0x2d11f5[_0x56c459]=null);}return _0x2d11f5;});return logger['info']({'event':_0x38aac3(0x94),'totalRows':_0x4630bf[_0x38aac3(0xae)],'errorCount':_0x3a3c5c[_0x38aac3(0xae)],'lookupFieldCount':Object[_0x38aac3(0xbe)](_0x227a2d)['length']},_0x59a271[_0x38aac3(0xb0)]),{'processedRows':_0x489f15,'errors':_0x3a3c5c};}['getDistinctValues'](_0xbb1adb,_0x434abe){const _0x4b3650=a0_0x3fd765,_0x1b4dde={'LVMQw':function(_0x3ed424,_0x151351){return _0x3ed424!==_0x151351;},'xCSfp':function(_0x236a5a,_0x3c5b69){return _0x236a5a(_0x3c5b69);}},_0x596ec5=new Set();return _0xbb1adb[_0x4b3650(0x96)](_0x143b8c=>{const _0x308d4c=_0x4b3650,_0x4d7570=_0x143b8c[_0x434abe];_0x1b4dde['LVMQw'](_0x4d7570,null)&&_0x4d7570!==undefined&&_0x4d7570!==''&&_0x596ec5['add'](_0x1b4dde['xCSfp'](String,_0x4d7570)[_0x308d4c(0xb5)]());}),Array[_0x4b3650(0x9c)](_0x596ec5);}async['validateLookupValues'](_0x15cafc,_0x31f1b1){const _0x57476e=a0_0x3fd765,_0x469649={'EfSTo':function(_0x57f9fc,_0x5b7f08){return _0x57f9fc!==_0x5b7f08;},'SzyWZ':function(_0x28f9d2,_0xdeeea0){return _0x28f9d2===_0xdeeea0;}};if(!_0x31f1b1||_0x469649[_0x57476e(0xac)](Object[_0x57476e(0xbe)](_0x31f1b1)[_0x57476e(0xae)],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x32e6dd=[],_0x3881a9={};for(const [_0x2b78ea,_0x26e45e]of Object['entries'](_0x31f1b1)){const {lookupTable:_0x58027c,lookupColumn:_0x3aef89,lookupIdColumn:_0x5b3055,required:_0xa4e0a}=_0x26e45e,_0x97b356=this['getDistinctValues'](_0x15cafc,_0x2b78ea),_0x26f7df=await this['loadLookupTable'](_0x58027c,_0x3aef89,_0x5b3055),_0x471868=[],_0x41aa53=[];_0x97b356[_0x57476e(0x96)](_0xc05e88=>{const _0x20fe1e=_0x57476e,_0x5f256a=this['resolveLookupValue'](_0xc05e88,_0x26f7df);_0x469649[_0x20fe1e(0x9e)](_0x5f256a,null)?_0x41aa53['push'](_0xc05e88):_0x471868['push'](_0xc05e88);});if(_0x471868[_0x57476e(0xae)]>0x0&&_0xa4e0a){_0x32e6dd[_0x57476e(0x98)]({'field':_0x2b78ea,'lookupTable':_0x58027c,'invalidValues':_0x471868,'message':_0x471868['length']+_0x57476e(0xc0)+_0x58027c});const _0x3d4352=[];_0x26f7df[_0x57476e(0x96)]((_0x3aebc1,_0x59c07c)=>{const _0x367881=_0x57476e;if(_0x469649[_0x367881(0xac)](_0x59c07c,_0x59c07c[_0x367881(0xb8)]()))return;_0x3d4352[_0x367881(0x98)](_0x59c07c);}),_0x3881a9[_0x2b78ea]={'invalidValues':_0x471868,'availableValues':_0x3d4352[_0x57476e(0xa8)](0x0,0x32)};}}return{'valid':_0x469649[_0x57476e(0xac)](_0x32e6dd[_0x57476e(0xae)],0x0),'errors':_0x32e6dd,'suggestions':_0x3881a9};}}module[a0_0x3fd765(0xc1)]=new LookupResolver();
|
|
1
|
+
const a0_0x254fdf=a0_0x5e44;(function(_0x13a096,_0x241f2e){const _0x23653a=a0_0x5e44,_0x125a97=_0x13a096();while(!![]){try{const _0x471f05=parseInt(_0x23653a(0x144))/0x1*(parseInt(_0x23653a(0x137))/0x2)+parseInt(_0x23653a(0x166))/0x3+parseInt(_0x23653a(0x15a))/0x4+-parseInt(_0x23653a(0x155))/0x5+parseInt(_0x23653a(0x151))/0x6*(parseInt(_0x23653a(0x153))/0x7)+parseInt(_0x23653a(0x13b))/0x8*(-parseInt(_0x23653a(0x14b))/0x9)+-parseInt(_0x23653a(0x143))/0xa;if(_0x471f05===_0x241f2e)break;else _0x125a97['push'](_0x125a97['shift']());}catch(_0x355822){_0x125a97['push'](_0x125a97['shift']());}}}(a0_0x5d78,0xaee72));const dbType=(process[a0_0x254fdf(0x14a)][a0_0x254fdf(0x138)]||a0_0x254fdf(0x164))['toLowerCase']();let executeQuery;if(dbType==='oracle'){const oracleDb=require('./db-oracle');executeQuery=(_0x4036e9,_0x190e2b)=>oracleDb['executeQuery'](_0x4036e9,_0x190e2b);}else{if(dbType===a0_0x254fdf(0x145)){const mysqlDb=require(a0_0x254fdf(0x154));executeQuery=(_0x51a8fd,_0x5575db)=>mysqlDb[a0_0x254fdf(0x15e)](_0x51a8fd,_0x5575db);}else executeQuery=require('./db')[a0_0x254fdf(0x15e)];}function a0_0x5d78(){const _0xf53181=['mJyXnJq3mKvxDxL0qW','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','AKLkqMC','zxHWB3j0CW','zxHLy3v0zvf1zxj5','Bg9VA3vWx3rHyMXLx2XVywrLza','tg9VA3vWihrHyMXLigXVywrLzdOG','C2XPy2u','Aw5MBW','DMfSAwrHDgvmB29RDxbwywX1zxm','Cg9ZDgDYzxnXBa','zw50CMLLCW','mJm0ndGZnM9VvgzTCa','Bg9HzeXVB2T1CfrHyMXL','t1rlz2q','mMnSCMvQva','rejFvfLqrq','tg9VA3vWignHy2HLignSzwfYzwq','zxjYB3i','ntyWvKHrtwL0','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','u3LXANm','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','CMvZB2X2zuXVB2T1CfzHBhvL','s0PjEe0','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','mJi4odC0ndbXqwXxtwS','mti2mJyXn2HRwuvvuG','BxLZCwW','C2v0','Dg9mB3DLCKnHC2u','A2v5CW','z2v0','zw52','odK1ntb3q3fmu3C','Bg9VA3vWq2fJAgu','DhjPBq','BgvUz3rO','lI9SB2DNzxi','y2XLyxjdywnOzq','nda0mdu0nfPYrKrxvq','zM9YrwfJAa','mtrYrgrTtxa','lI9KyI1TExnXBa','mtCXnZC0nwzKCgzMBa','z2v0rgLZDgLUy3rwywX1zxm','zNjVBq','ChjVy2vZC0XVB2T1CezPzwXKCW','ChvZAa'];a0_0x5d78=function(){return _0xf53181;};return a0_0x5d78();}function a0_0x5e44(_0x36c7a6,_0x223d27){_0x36c7a6=_0x36c7a6-0x135;const _0x5d7892=a0_0x5d78();let _0x5e4448=_0x5d7892[_0x36c7a6];if(a0_0x5e44['YVJdwW']===undefined){var _0x557417=function(_0x5b1db3){const _0x5ba5fe='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1dbff8='',_0x55461f='';for(let _0x2bf3f7=0x0,_0x5879e6,_0x17bcc2,_0x3f07d7=0x0;_0x17bcc2=_0x5b1db3['charAt'](_0x3f07d7++);~_0x17bcc2&&(_0x5879e6=_0x2bf3f7%0x4?_0x5879e6*0x40+_0x17bcc2:_0x17bcc2,_0x2bf3f7++%0x4)?_0x1dbff8+=String['fromCharCode'](0xff&_0x5879e6>>(-0x2*_0x2bf3f7&0x6)):0x0){_0x17bcc2=_0x5ba5fe['indexOf'](_0x17bcc2);}for(let _0x5b0d86=0x0,_0x3d82f7=_0x1dbff8['length'];_0x5b0d86<_0x3d82f7;_0x5b0d86++){_0x55461f+='%'+('00'+_0x1dbff8['charCodeAt'](_0x5b0d86)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x55461f);};a0_0x5e44['imCapr']=_0x557417,a0_0x5e44['WHcWEl']={},a0_0x5e44['YVJdwW']=!![];}const _0x46ea23=_0x5d7892[0x0],_0x2f2614=_0x36c7a6+_0x46ea23,_0x1b891f=a0_0x5e44['WHcWEl'][_0x2f2614];return!_0x1b891f?(_0x5e4448=a0_0x5e44['imCapr'](_0x5e4448),a0_0x5e44['WHcWEl'][_0x2f2614]=_0x5e4448):_0x5e4448=_0x1b891f,_0x5e4448;}const {logger}=require(a0_0x254fdf(0x14f));class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x254fdf(0x150)](){const _0x3d6268=a0_0x254fdf,_0x19ae62={'SqCcE':_0x3d6268(0x13c),'JFcES':_0x3d6268(0x139)};this['lookupCache']['clear'](),logger['debug']({'event':_0x19ae62['SqCcE']},_0x19ae62['JFcES']);}async[a0_0x254fdf(0x135)](_0x2e8a7a,_0x5a03b5,_0x5e3815){const _0x24a7c6=a0_0x254fdf,_0x326f7b={'KJIxM':function(_0x2bcbc7,_0x2332e7){return _0x2bcbc7!==_0x2332e7;},'YJUfw':function(_0x5c91f7,_0x42cebf){return _0x5c91f7(_0x42cebf);},'Nrziu':_0x24a7c6(0x15f)},_0xc902c8=_0x2e8a7a+':'+_0x5a03b5+':'+_0x5e3815;if(this[_0x24a7c6(0x14c)]['has'](_0xc902c8))return this[_0x24a7c6(0x14c)]['get'](_0xc902c8);try{const _0x2e5f5e='SELECT\x20'+_0x5e3815+',\x20'+_0x5a03b5+'\x20FROM\x20'+_0x2e8a7a,_0x21e6e5=await _0x326f7b['YJUfw'](executeQuery,_0x2e5f5e),_0x20cd76=new Map();return _0x21e6e5[_0x24a7c6(0x152)](_0x20303f=>{const _0x4a53fd=_0x24a7c6,_0x4143fa=_0x326f7b[_0x4a53fd(0x141)](_0x20303f[_0x5a03b5],undefined)?_0x20303f[_0x5a03b5]:_0x20303f[_0x5a03b5['toUpperCase']()],_0x3607f4=_0x20303f[_0x5e3815]!==undefined?_0x20303f[_0x5e3815]:_0x20303f[_0x5e3815['toUpperCase']()];_0x4143fa!==null&&_0x326f7b[_0x4a53fd(0x141)](_0x4143fa,undefined)&&(_0x20cd76[_0x4a53fd(0x146)](_0x326f7b['YJUfw'](String,_0x4143fa)['toLowerCase']()[_0x4a53fd(0x14d)](),_0x3607f4),_0x20cd76[_0x4a53fd(0x146)](String(_0x4143fa)['trim'](),_0x3607f4));}),this['lookupCache']['set'](_0xc902c8,_0x20cd76),logger[_0x24a7c6(0x162)]({'event':_0x326f7b['Nrziu'],'table':_0x2e8a7a,'column':_0x5a03b5,'count':_0x21e6e5['length']},_0x24a7c6(0x160)+_0x2e8a7a),_0x20cd76;}catch(_0x446feb){logger[_0x24a7c6(0x13a)]({'event':_0x24a7c6(0x13f),'table':_0x2e8a7a,'error':_0x446feb['message']},_0x24a7c6(0x13e)+_0x2e8a7a);throw _0x446feb;}}[a0_0x254fdf(0x140)](_0x3732f2,_0x10d176){const _0x5980a=a0_0x254fdf,_0x32b619={'OTKgd':function(_0x3b54f4,_0x36b40c){return _0x3b54f4===_0x36b40c;}};if(_0x3732f2===null||_0x32b619[_0x5980a(0x136)](_0x3732f2,undefined)||_0x3732f2==='')return null;const _0x1bcd98=String(_0x3732f2)[_0x5980a(0x14d)]();if(_0x10d176['has'](_0x1bcd98))return _0x10d176[_0x5980a(0x149)](_0x1bcd98);const _0x4e31f8=_0x1bcd98[_0x5980a(0x147)]();if(_0x10d176['has'](_0x4e31f8))return _0x10d176[_0x5980a(0x149)](_0x4e31f8);return null;}async[a0_0x254fdf(0x158)](_0x7cd5e,_0x1e6de5){const _0x36d89d=a0_0x254fdf,_0x2f054d={'Syqjs':_0x36d89d(0x142)};if(!_0x1e6de5||Object['keys'](_0x1e6de5)[_0x36d89d(0x14e)]===0x0)return{'processedRows':_0x7cd5e,'errors':[]};const _0x1ae2d2=[],_0x4e16d3=new Map();for(const [_0x1e516d,_0x52503c]of Object[_0x36d89d(0x165)](_0x1e6de5)){const {lookupTable:_0x4b1b99,lookupColumn:_0x369472,lookupIdColumn:_0x1c8f97}=_0x52503c,_0x3183af=_0x4b1b99+':'+_0x369472+':'+_0x1c8f97;if(!_0x4e16d3['has'](_0x3183af)){const _0x317c11=await this[_0x36d89d(0x135)](_0x4b1b99,_0x369472,_0x1c8f97);_0x4e16d3[_0x36d89d(0x146)](_0x3183af,_0x317c11);}}const _0x320d6d=_0x7cd5e['map']((_0x4b7d46,_0x4a2189)=>{const _0x536f71={..._0x4b7d46};for(const [_0x5cc060,_0x41eb28]of Object['entries'](_0x1e6de5)){const {lookupTable:_0x2c9bc3,lookupColumn:_0x547bd7,lookupIdColumn:_0xaf1e79,targetField:_0x5e1ddc,required:_0xebc0a2}=_0x41eb28,_0x1312ed=_0x2c9bc3+':'+_0x547bd7+':'+_0xaf1e79,_0x523c50=_0x4e16d3['get'](_0x1312ed),_0x3481fc=_0x4b7d46[_0x5cc060];if((_0x3481fc===null||_0x3481fc===undefined||_0x3481fc==='')&&!_0xebc0a2){_0x536f71[_0x5e1ddc]=null;continue;}const _0x451c83=this['resolveLookupValue'](_0x3481fc,_0x523c50);_0x451c83!==null?_0x536f71[_0x5e1ddc]=_0x451c83:(_0xebc0a2&&_0x1ae2d2['push']({'rowIndex':_0x4a2189,'field':_0x5cc060,'value':_0x3481fc,'targetField':_0x5e1ddc,'lookupTable':_0x2c9bc3,'message':'Value\x20\x22'+_0x3481fc+'\x22\x20not\x20found\x20in\x20'+_0x2c9bc3}),_0x536f71[_0x5e1ddc]=null);}return _0x536f71;});return logger[_0x36d89d(0x162)]({'event':_0x2f054d[_0x36d89d(0x13d)],'totalRows':_0x7cd5e['length'],'errorCount':_0x1ae2d2['length'],'lookupFieldCount':Object[_0x36d89d(0x148)](_0x1e6de5)['length']},'Lookup\x20fields\x20processed'),{'processedRows':_0x320d6d,'errors':_0x1ae2d2};}[a0_0x254fdf(0x156)](_0x2ecf96,_0x1727b2){const _0x1418f3=a0_0x254fdf,_0xde2a1e={'vrLbA':function(_0x3ae231,_0x124d73){return _0x3ae231!==_0x124d73;}},_0x2b0d55=new Set();return _0x2ecf96['forEach'](_0x63f2a1=>{const _0x11bfcc=_0x63f2a1[_0x1727b2];_0x11bfcc!==null&&_0x11bfcc!==undefined&&_0xde2a1e['vrLbA'](_0x11bfcc,'')&&_0x2b0d55['add'](String(_0x11bfcc)['trim']());}),Array[_0x1418f3(0x157)](_0x2b0d55);}async[a0_0x254fdf(0x163)](_0x2d61e2,_0x24272c){const _0x125d71=a0_0x254fdf,_0x391b2f={'nccpS':function(_0x2ba303,_0xc5395f){return _0x2ba303!==_0xc5395f;},'ZheYh':function(_0x570b3b,_0xe667b5){return _0x570b3b>_0xe667b5;},'jIJBg':function(_0x104d56,_0x2b2a9b){return _0x104d56===_0x2b2a9b;}};if(!_0x24272c||Object['keys'](_0x24272c)['length']===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x29e181=[],_0x5a4d71={};for(const [_0x411e75,_0x26e4a5]of Object[_0x125d71(0x165)](_0x24272c)){const {lookupTable:_0x25bbc1,lookupColumn:_0x21a3fd,lookupIdColumn:_0x3f4545,required:_0x557eab}=_0x26e4a5,_0x2c20ff=this['getDistinctValues'](_0x2d61e2,_0x411e75),_0x49b18a=await this['loadLookupTable'](_0x25bbc1,_0x21a3fd,_0x3f4545),_0x26e6ab=[],_0xda4043=[];_0x2c20ff[_0x125d71(0x152)](_0x3f62a0=>{const _0x3c0553=_0x125d71,_0xd88f01=this[_0x3c0553(0x140)](_0x3f62a0,_0x49b18a);_0x391b2f['nccpS'](_0xd88f01,null)?_0xda4043['push'](_0x3f62a0):_0x26e6ab['push'](_0x3f62a0);});if(_0x391b2f['ZheYh'](_0x26e6ab['length'],0x0)&&_0x557eab){_0x29e181[_0x125d71(0x159)]({'field':_0x411e75,'lookupTable':_0x25bbc1,'invalidValues':_0x26e6ab,'message':_0x26e6ab[_0x125d71(0x14e)]+_0x125d71(0x15b)+_0x25bbc1});const _0x155662=[];_0x49b18a[_0x125d71(0x152)]((_0x330788,_0x40ee9c)=>{const _0x10bb0a=_0x125d71;if(_0x40ee9c===_0x40ee9c[_0x10bb0a(0x147)]())return;_0x155662[_0x10bb0a(0x159)](_0x40ee9c);}),_0x5a4d71[_0x411e75]={'invalidValues':_0x26e6ab,'availableValues':_0x155662[_0x125d71(0x161)](0x0,0x32)};}}return{'valid':_0x391b2f[_0x125d71(0x15c)](_0x29e181[_0x125d71(0x14e)],0x0),'errors':_0x29e181,'suggestions':_0x5a4d71};}}module[a0_0x254fdf(0x15d)]=new LookupResolver();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a0_0x1e2149=a0_0x4983;(function(_0x1643ad,_0x4bcd9b){const _0x5aaab7=a0_0x4983,_0x5aae6d=_0x1643ad();while(!![]){try{const _0xfafd34=parseInt(_0x5aaab7(0xbb))/0x1*(parseInt(_0x5aaab7(0xc8))/0x2)+parseInt(_0x5aaab7(0xc1))/0x3+-parseInt(_0x5aaab7(0xd5))/0x4+parseInt(_0x5aaab7(0xc5))/0x5*(parseInt(_0x5aaab7(0xbe))/0x6)+-parseInt(_0x5aaab7(0xdc))/0x7*(-parseInt(_0x5aaab7(0xc2))/0x8)+-parseInt(_0x5aaab7(0xc0))/0x9*(parseInt(_0x5aaab7(0xdb))/0xa)+-parseInt(_0x5aaab7(0xc4))/0xb;if(_0xfafd34===_0x4bcd9b)break;else _0x5aae6d['push'](_0x5aae6d['shift']());}catch(_0x5325b6){_0x5aae6d['push'](_0x5aae6d['shift']());}}}(a0_0x505b,0xf296f));const fs=require('fs')['promises'],path=require('path'),{logger}=require('./logger');function a0_0x505b(){const _0x483b3a=['Cgf5Bg9HzerPCG','zgf0yxrHyMXLC1f1zxj5','y2XLyxi','mJKXodDuBvfxCMC','zMLLBgroyw1L','zMLLBgrmywjLBhm','mJC4oda2mLnRBKjerG','ywn0Aw9U','mtq3nJGXzLvfCeP6','mtm0nta1A1HAqM9v','nZuYs1n2zffh','AxP4EuC','otyYodu2nhvoEvvrua','mJbUDefuwem','lI4VlI4VCgf5Bg9Hza','lMPZB24','mtH4v0DhAvu','y2fJAgu','DgfIBgvoyw1L','zgvIDwC','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','C2v0','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','sffmCK8','CgfYC2u','y29SDw1UrM9YBwf0CW','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','AgfZ','mtG5mZy0ngfiwKL4CG','CfbWEKu','Cgf5Bg9Hzf9SB2fKzwq','Aw5MBW','wLDRsLm','Bg9HzfbHEwXVywrcEu5HBwu','otqWt3bXEuDy','mti3otGXv2Plq09y','rgXcrva','AM9PBG','y2XLyxjdywnOzq','Cgf5Bg9Hzf9SB2fKx2vYCM9Y'];a0_0x505b=function(){return _0x483b3a;};return a0_0x505b();}class PayloadLoader{constructor(){const _0x4e37fd=a0_0x4983,_0x11c2cb={'HQLrO':_0x4e37fd(0xc6)};this[_0x4e37fd(0xe1)]=path[_0x4e37fd(0xde)](__dirname,_0x11c2cb[_0x4e37fd(0xcf)]),this['cache']=new Map();}async['loadPayload'](_0x1baf6f,_0x3927c9){const _0xb972ee=a0_0x4983,_0x571bfb={'Wyary':'utf8','ZWkJS':_0xb972ee(0xd7),'izxyG':_0xb972ee(0xce),'pPpzE':_0xb972ee(0xd2)},_0x261e5d=_0x1baf6f+':'+_0x3927c9;if(this[_0xb972ee(0xc9)][_0xb972ee(0xd4)](_0x261e5d))return this[_0xb972ee(0xc9)]['get'](_0x261e5d);const _0x18f431=path[_0xb972ee(0xde)](this['payloadDir'],_0x1baf6f+'_'+_0x3927c9+'.json');try{const _0x240056=await fs['readFile'](_0x18f431,_0x571bfb['Wyary']),_0x40e159=JSON[_0xb972ee(0xd0)](_0x240056);return this['cache']['set'](_0x261e5d,_0x40e159),logger['debug']({'event':_0x571bfb[_0xb972ee(0xd9)],'project':_0x1baf6f,'resource':_0x3927c9},_0x571bfb[_0xb972ee(0xc3)]),_0x40e159;}catch(_0xbda1df){logger['error']({'event':'payload_load_error','project':_0x1baf6f,'resource':_0x3927c9,'error':_0xbda1df['message']},_0x571bfb[_0xb972ee(0xd6)]);throw new Error('Payload\x20not\x20found:\x20'+_0x1baf6f+'_'+_0x3927c9);}}async[a0_0x1e2149(0xda)](_0x289228){const _0xf7af16=a0_0x1e2149,_0x346044={'LJJFd':_0xf7af16(0xd7),'ByTRr':_0xf7af16(0xd3),'vrhES':_0xf7af16(0xcc)},_0x1d727b='payload:'+_0x289228;if(this[_0xf7af16(0xc9)]['has'](_0x1d727b))return this['cache']['get'](_0x1d727b);const _0x5567e2=path[_0xf7af16(0xde)](this[_0xf7af16(0xe1)],_0x289228+_0xf7af16(0xc7));try{const _0x2f4a1a=await fs['readFile'](_0x5567e2,'utf8'),_0x50e08c=JSON[_0xf7af16(0xd0)](_0x2f4a1a);return this[_0xf7af16(0xc9)][_0xf7af16(0xcd)](_0x1d727b,_0x50e08c),logger[_0xf7af16(0xcb)]({'event':_0x346044['LJJFd'],'payloadName':_0x289228},_0x346044['ByTRr']),_0x50e08c;}catch(_0xfabb95){logger['error']({'event':_0xf7af16(0xe0),'payloadName':_0x289228,'error':_0xfabb95['message']},_0x346044['vrhES']);throw new Error('Payload\x20not\x20found:\x20'+_0x289228);}}['isActionEnabled'](_0x1e1ca0,_0x1ebcd1){const _0x5d5c24=a0_0x1e2149,_0x4fa5ef={'DlBEP':function(_0x1c0e78,_0x273ba4){return _0x1c0e78===_0x273ba4;}};return _0x1e1ca0[_0x5d5c24(0xbf)]&&_0x4fa5ef[_0x5d5c24(0xdd)](_0x1e1ca0[_0x5d5c24(0xbf)][_0x1ebcd1],!![]);}['getExportConfig'](_0x460ac3){const _0x56df94=a0_0x1e2149;return{'columns':_0x460ac3[_0x56df94(0xbc)]||[],'filename':_0x460ac3[_0x56df94(0xca)]['replace']('.','-')+'-export','datatablesQuery':_0x460ac3[_0x56df94(0xe2)]||null,'columnFormats':_0x460ac3[_0x56df94(0xd1)]||null,'fieldLabels':_0x460ac3[_0x56df94(0xbd)]||null};}[a0_0x1e2149(0xdf)](){const _0x368dc7=a0_0x1e2149;this['cache'][_0x368dc7(0xba)](),logger[_0x368dc7(0xd8)]({'event':'payload_cache_cleared'},'Payload\x20cache\x20cleared');}}function a0_0x4983(_0x6f94b7,_0x5863e4){_0x6f94b7=_0x6f94b7-0xba;const _0x505b4b=a0_0x505b();let _0x498308=_0x505b4b[_0x6f94b7];if(a0_0x4983['RwxEaN']===undefined){var _0x277e28=function(_0x279306){const _0x1615a1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x40cca7='',_0x18154e='';for(let _0x30188d=0x0,_0xbb3b07,_0x29f0c8,_0x413ffb=0x0;_0x29f0c8=_0x279306['charAt'](_0x413ffb++);~_0x29f0c8&&(_0xbb3b07=_0x30188d%0x4?_0xbb3b07*0x40+_0x29f0c8:_0x29f0c8,_0x30188d++%0x4)?_0x40cca7+=String['fromCharCode'](0xff&_0xbb3b07>>(-0x2*_0x30188d&0x6)):0x0){_0x29f0c8=_0x1615a1['indexOf'](_0x29f0c8);}for(let _0x2db6b3=0x0,_0x625230=_0x40cca7['length'];_0x2db6b3<_0x625230;_0x2db6b3++){_0x18154e+='%'+('00'+_0x40cca7['charCodeAt'](_0x2db6b3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x18154e);};a0_0x4983['kwopVf']=_0x277e28,a0_0x4983['bXDKOO']={},a0_0x4983['RwxEaN']=!![];}const _0x56b322=_0x505b4b[0x0],_0x25da23=_0x6f94b7+_0x56b322,_0x58cf0b=a0_0x4983['bXDKOO'][_0x25da23];return!_0x58cf0b?(_0x498308=a0_0x4983['kwopVf'](_0x498308),a0_0x4983['bXDKOO'][_0x25da23]=_0x498308):_0x498308=_0x58cf0b,_0x498308;}module['exports']=new PayloadLoader();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';(function(_0x54968e,_0xc1f16e){var _0x378a90=a0_0x5300,_0x119502=_0x54968e();while(!![]){try{var _0x4f8deb=parseInt(_0x378a90(0x1f4))/0x1+parseInt(_0x378a90(0x1f0))/0x2+parseInt(_0x378a90(0x1ee))/0x3+-parseInt(_0x378a90(0x1f3))/0x4+-parseInt(_0x378a90(0x1f1))/0x5+parseInt(_0x378a90(0x1f5))/0x6+-parseInt(_0x378a90(0x1f2))/0x7*(-parseInt(_0x378a90(0x1ef))/0x8);if(_0x4f8deb===_0xc1f16e)break;else _0x119502['push'](_0x119502['shift']());}catch(_0x1ac098){_0x119502['push'](_0x119502['shift']());}}}(a0_0x1cb0,0xdb15b));function a0_0x1cb0(){var _0x185762=['otyZntjWwuv4ww4','mtuZotm0nwXSuvfjBa','mJKZndy4seXMCw92','nJG0mZq4mhPyzvHiBa','mZqXmdu4C3Psy1zH','otiWnta4t3LND3rW','Dg9ju09tDhjPBMC','ntiZmZC5ngHTyNP5yG','mtiWCvjMquLU'];a0_0x1cb0=function(){return _0x185762;};return a0_0x1cb0();}function createResponse(_0x8eb186,_0x4a7a37,_0x3a7a58=null){var _0x4e3a3c=a0_0x5300;return{'success':!![],'statusCode':_0x8eb186,'message':_0x4a7a37,'data':_0x3a7a58,'timestamp':new Date()[_0x4e3a3c(0x1ed)]()};}function a0_0x5300(_0x5eb6ee,_0x3560fb){_0x5eb6ee=_0x5eb6ee-0x1ed;var _0x1cb07b=a0_0x1cb0();var _0x53008b=_0x1cb07b[_0x5eb6ee];if(a0_0x5300['ymSWOT']===undefined){var _0x51a7fe=function(_0x5be331){var _0x5049ef='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x466b81='',_0x4bab05='';for(var _0x5d993b=0x0,_0x13717a,_0x26434e,_0x57636a=0x0;_0x26434e=_0x5be331['charAt'](_0x57636a++);~_0x26434e&&(_0x13717a=_0x5d993b%0x4?_0x13717a*0x40+_0x26434e:_0x26434e,_0x5d993b++%0x4)?_0x466b81+=String['fromCharCode'](0xff&_0x13717a>>(-0x2*_0x5d993b&0x6)):0x0){_0x26434e=_0x5049ef['indexOf'](_0x26434e);}for(var _0x4958f1=0x0,_0xfc6546=_0x466b81['length'];_0x4958f1<_0xfc6546;_0x4958f1++){_0x4bab05+='%'+('00'+_0x466b81['charCodeAt'](_0x4958f1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4bab05);};a0_0x5300['flaUAS']=_0x51a7fe,a0_0x5300['nhZqrp']={},a0_0x5300['ymSWOT']=!![];}var _0x454829=_0x1cb07b[0x0],_0x5de39c=_0x5eb6ee+_0x454829,_0x5bcd7e=a0_0x5300['nhZqrp'][_0x5de39c];return!_0x5bcd7e?(_0x53008b=a0_0x5300['flaUAS'](_0x53008b),a0_0x5300['nhZqrp'][_0x5de39c]=_0x53008b):_0x53008b=_0x5bcd7e,_0x53008b;}function createError(_0x17c812,_0x3e25ba,_0xaa0e94=null){return{'success':![],'statusCode':_0x17c812,'message':_0x3e25ba,'data':_0xaa0e94,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x5dff78,_0x1bc98f){return{'success':![],'statusCode':0x190,'message':_0x5dff78,'data':{'errors':_0x1bc98f},'timestamp':new Date()['toISOString']()};}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
|
package/src/utils/rabbitmq.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a0_0x5dba8d=a0_0x390c;(function(_0x58b9c1,_0xec39a7){const _0x24fdc7=a0_0x390c,_0x569ccc=_0x58b9c1();while(!![]){try{const _0x2eaf3d=-parseInt(_0x24fdc7(0x1e5))/0x1+-parseInt(_0x24fdc7(0x1dd))/0x2*(-parseInt(_0x24fdc7(0x1de))/0x3)+-parseInt(_0x24fdc7(0x1e0))/0x4+-parseInt(_0x24fdc7(0x1f1))/0x5*(-parseInt(_0x24fdc7(0x1d9))/0x6)+parseInt(_0x24fdc7(0x1f8))/0x7+-parseInt(_0x24fdc7(0x200))/0x8*(-parseInt(_0x24fdc7(0x1fa))/0x9)+parseInt(_0x24fdc7(0x1fb))/0xa*(-parseInt(_0x24fdc7(0x201))/0xb);if(_0x2eaf3d===_0xec39a7)break;else _0x569ccc['push'](_0x569ccc['shift']());}catch(_0x45f82b){_0x569ccc['push'](_0x569ccc['shift']());}}}(a0_0x48cb,0xe61bc),require('dotenv')[a0_0x5dba8d(0x1f7)]());const amqp=require('amqplib'),{formatDate}=require(a0_0x5dba8d(0x1f2)),RABBITMQ_URL=process['env'][a0_0x5dba8d(0x1ed)],EXCHANGE=process['env']['RABBITMQ_EXCHANGE'],ROUTING_KEY=process['env'][a0_0x5dba8d(0x1f5)],QUEUE=process['env'][a0_0x5dba8d(0x206)];async function createConnection(){const _0x337a24=a0_0x5dba8d;try{const _0x3b75fc=await amqp['connect'](RABBITMQ_URL);return console['log']('['+formatDate(new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x3b75fc;}catch(_0x5361c6){console[_0x337a24(0x1e7)]('['+formatDate(new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x5361c6['message']);throw _0x5361c6;}}async function createChannel(_0x182a18){const _0x2b7499=a0_0x5dba8d,_0x329578={'AHWaR':function(_0x5b8b4f,_0x2c04fd){return _0x5b8b4f(_0x2c04fd);},'pleKH':function(_0x9bae0c,_0x4b8793){return _0x9bae0c(_0x4b8793);}};try{const _0xace54b=await _0x182a18['createChannel']();return console['log']('['+_0x329578['AHWaR'](formatDate,new Date())+_0x2b7499(0x1ff)),_0xace54b;}catch(_0xd2e33f){console['error']('['+_0x329578[_0x2b7499(0x1e4)](formatDate,new Date())+_0x2b7499(0x1dc)+_0xd2e33f[_0x2b7499(0x203)]);throw _0xd2e33f;}}function a0_0x390c(_0x5067d1,_0x262663){_0x5067d1=_0x5067d1-0x1d9;const _0x48cbf0=a0_0x48cb();let _0x390ca5=_0x48cbf0[_0x5067d1];if(a0_0x390c['RGbPQY']===undefined){var _0x26f7ae=function(_0x4f8d81){const _0x390d73='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x444d25='',_0x54d858='';for(let _0x1df11e=0x0,_0x10bd30,_0x336947,_0x2eb2a9=0x0;_0x336947=_0x4f8d81['charAt'](_0x2eb2a9++);~_0x336947&&(_0x10bd30=_0x1df11e%0x4?_0x10bd30*0x40+_0x336947:_0x336947,_0x1df11e++%0x4)?_0x444d25+=String['fromCharCode'](0xff&_0x10bd30>>(-0x2*_0x1df11e&0x6)):0x0){_0x336947=_0x390d73['indexOf'](_0x336947);}for(let _0x4cba97=0x0,_0x327f18=_0x444d25['length'];_0x4cba97<_0x327f18;_0x4cba97++){_0x54d858+='%'+('00'+_0x444d25['charCodeAt'](_0x4cba97)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x54d858);};a0_0x390c['LgAgxK']=_0x26f7ae,a0_0x390c['RcBJVP']={},a0_0x390c['RGbPQY']=!![];}const _0x259601=_0x48cbf0[0x0],_0x48da94=_0x5067d1+_0x259601,_0x22db42=a0_0x390c['RcBJVP'][_0x48da94];return!_0x22db42?(_0x390ca5=a0_0x390c['LgAgxK'](_0x390ca5),a0_0x390c['RcBJVP'][_0x48da94]=_0x390ca5):_0x390ca5=_0x22db42,_0x390ca5;}function a0_0x48cb(){const _0x2ac0ae=['ksbJCMvHDgvK','uKfcqKLutvfFvvjm','Ew5eCfu','zxHPDa','CMv0CNKTzxHJAgfUz2u','mtG2otyZnwrHCfHpDW','lI9KyxrLsgvSCgvY','zgLYzwn0','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','uKfcqKLutvfFuK9vveLor19lrvK','y3jLyxrLzc9YzwfKEq','y29UzMLN','mti2nZmXnZHmDvbmDgW','xsbfEgnOyw5Nzsa','mZeXnfjst1nPrq','mJG0mdi4meXTrfvUyq','tenArwS','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','t2j1yui','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','nZqZmM5iuuLAza','nZDzu29Yz1O','xsbszxrYEsbXDwv1zsa','BwvZC2fNzq','ic0+ia','CxvLDwu','uKfcqKLutvfFuvvfvuu','mtjrENDwDNi','qK5wzxm','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','mZC1mdaWnezQzLfSBG','m0DIENzfBG','Aw5LCxvPDMfSzw50igfYzW','ndu4nty4nePNqLbhza','A3n0yuy','Bg9N','yMLUzff1zxvL','CgXLs0G','nJC3nJaZDMffqw1l','yxnZzxj0uxvLDwu','zxjYB3i','ignYzwf0zwqVCMvHzhK','sency3C','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','zxHWB3j0CW'];a0_0x48cb=function(){return _0x2ac0ae;};return a0_0x48cb();}async function setupInfrastructure(_0x41e838){const _0x46af7f=a0_0x5dba8d,_0x5686f6={'HCBcw':_0x46af7f(0x1f0),'BNVes':'direct','ObuaB':function(_0x1a2581,_0x104bb3){return _0x1a2581(_0x104bb3);},'LCZEk':_0x46af7f(0x1f6),'kstaF':'found','TtwFO':function(_0x308cb3,_0x405938){return _0x308cb3(_0x405938);},'ynDpU':'x-dead-letter-routing-key','FtExM':'inequivalent\x20arg'};try{await _0x41e838['assertExchange'](_0x5686f6[_0x46af7f(0x1e9)],_0x5686f6[_0x46af7f(0x1da)],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x5686f6['ObuaB'](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x176be5){console[_0x46af7f(0x1e7)]('['+_0x5686f6[_0x46af7f(0x1fe)](formatDate,new Date())+_0x46af7f(0x1fd),_0x176be5[_0x46af7f(0x203)]);throw _0x176be5;}try{await _0x41e838['assertExchange'](EXCHANGE,_0x46af7f(0x1f3),{'durable':!![],'autoDelete':![]}),console[_0x46af7f(0x1e2)]('['+_0x5686f6[_0x46af7f(0x1fe)](formatDate,new Date())+_0x46af7f(0x1f9)+EXCHANGE+_0x46af7f(0x1e8));}catch(_0x477293){console[_0x46af7f(0x1e7)]('['+_0x5686f6[_0x46af7f(0x1fe)](formatDate,new Date())+_0x46af7f(0x1f4)+EXCHANGE+':',_0x477293['message']);throw _0x477293;}const _0xc3796b=ROUTING_KEY+'_retry';try{const _0x570868={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x41e838[_0x46af7f(0x1e6)](_0xc3796b,_0x570868),console['log']('['+formatDate(new Date())+_0x46af7f(0x202)+_0xc3796b+_0x46af7f(0x1e8)),await _0x41e838['bindQueue'](_0xc3796b,_0x46af7f(0x1f0),ROUTING_KEY),console['log']('['+formatDate(new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+'\x20created');}catch(_0x84621b){console['error']('['+_0x5686f6['ObuaB'](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x84621b['message']);throw _0x84621b;}try{const _0x106835={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x5686f6['HCBcw'],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x3133c5=await _0x41e838[_0x46af7f(0x1e6)](QUEUE,_0x106835);console['log']('['+formatDate(new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x3133c5[_0x46af7f(0x205)]===QUEUE?_0x5686f6[_0x46af7f(0x1fc)]:_0x5686f6[_0x46af7f(0x1e1)])+'\x20with\x20DLX'),await _0x41e838[_0x46af7f(0x1e3)](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+_0x5686f6['TtwFO'](formatDate,new Date())+']\x20Binding\x20'+EXCHANGE+_0x46af7f(0x204)+QUEUE+'\x20('+ROUTING_KEY+_0x46af7f(0x1ec));}catch(_0x2a0bde){if(_0x2a0bde['message']['includes'](_0x46af7f(0x1df))&&_0x2a0bde[_0x46af7f(0x203)]['includes'](_0x5686f6[_0x46af7f(0x1ee)]))console[_0x46af7f(0x1e7)]('\x0a['+formatDate(new Date())+']\x20ERROR:\x20Queue\x20'+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['error']('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process['exit'](0x1);else{console['error']('['+_0x5686f6[_0x46af7f(0x1fe)](formatDate,new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x2a0bde['message']);throw _0x2a0bde;}}}catch(_0x3ff3ff){if(!_0x3ff3ff['message']['includes'](_0x5686f6['FtExM'])){console[_0x46af7f(0x1e7)]('['+formatDate(new Date())+_0x46af7f(0x1db),_0x3ff3ff['message']);throw _0x3ff3ff;}process[_0x46af7f(0x1ef)](0x1);}}async function closeConnection(_0xa501d0){const _0x4617d9=a0_0x5dba8d;if(_0xa501d0)try{await _0xa501d0['close'](),console[_0x4617d9(0x1e2)]('['+formatDate(new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x22e82e){console[_0x4617d9(0x1e7)]('['+formatDate(new Date())+_0x4617d9(0x1ea)+_0x22e82e[_0x4617d9(0x203)]);}}module[a0_0x5dba8d(0x1eb)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a0_0x5bc1(){const _0x13b7cf=['CgLUzW','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','nxDZD0fcwG','mtjIv2HRzwS','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','CMfJzq','y29UBMvJDa','mZCYmJC0merRD0vizq','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','nZyZmdbbB21vvKu','mJKXmJi3otD6AuvhyM4','rgDfAKu','Aw9YzwrPCW','mta5odqWnZDbzvbeA08','CMvKAxnFzxjYB3i','oevfteT0ra','BwvZC2fNzq','m3v2s0rovG','mMDTq2z1Ba','z2v0q2XPzw50','lI9SB2DNzxi','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','mZG5odGYnxnNtvzxyG','y2XPzw50','zxjYB3i','whPJshy','zw52','nJqWotuXoePWsNHPtq','y2XVC2u','zM9Yy2veAxnJB25Uzwn0','odGWmde4ww1PEu15','A3nWqKO','zgLZy29UBMvJDa','CMvKAxnFy29UBMvJDgvK'];a0_0x5bc1=function(){return _0x13b7cf;};return a0_0x5bc1();}const a0_0x35fc64=a0_0x53a5;(function(_0x4adc3f,_0x4cac73){const _0x1a6855=a0_0x53a5,_0x4fec6e=_0x4adc3f();while(!![]){try{const _0x5b0b5d=parseInt(_0x1a6855(0xb9))/0x1*(-parseInt(_0x1a6855(0xcf))/0x2)+-parseInt(_0x1a6855(0xce))/0x3*(-parseInt(_0x1a6855(0xc6))/0x4)+parseInt(_0x1a6855(0xbf))/0x5*(parseInt(_0x1a6855(0xb6))/0x6)+-parseInt(_0x1a6855(0xb1))/0x7+parseInt(_0x1a6855(0xcc))/0x8*(-parseInt(_0x1a6855(0xca))/0x9)+-parseInt(_0x1a6855(0xc4))/0xa+parseInt(_0x1a6855(0xc7))/0xb*(parseInt(_0x1a6855(0xc0))/0xc);if(_0x5b0b5d===_0x4cac73)break;else _0x4fec6e['push'](_0x4fec6e['shift']());}catch(_0x357701){_0x4fec6e['push'](_0x4fec6e['shift']());}}}(a0_0x5bc1,0xac26f));function a0_0x53a5(_0x300e6b,_0x33f174){_0x300e6b=_0x300e6b-0xae;const _0x5bc18d=a0_0x5bc1();let _0x53a506=_0x5bc18d[_0x300e6b];if(a0_0x53a5['srKwqC']===undefined){var _0x271054=function(_0x22ec14){const _0xf5ac46='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xf7da2b='',_0xca17e3='';for(let _0x25e374=0x0,_0x3abb5c,_0x1401c8,_0xa283d8=0x0;_0x1401c8=_0x22ec14['charAt'](_0xa283d8++);~_0x1401c8&&(_0x3abb5c=_0x25e374%0x4?_0x3abb5c*0x40+_0x1401c8:_0x1401c8,_0x25e374++%0x4)?_0xf7da2b+=String['fromCharCode'](0xff&_0x3abb5c>>(-0x2*_0x25e374&0x6)):0x0){_0x1401c8=_0xf5ac46['indexOf'](_0x1401c8);}for(let _0x1b218e=0x0,_0x47b1fd=_0xf7da2b['length'];_0x1b218e<_0x47b1fd;_0x1b218e++){_0xca17e3+='%'+('00'+_0xf7da2b['charCodeAt'](_0x1b218e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xca17e3);};a0_0x53a5['IfRENz']=_0x271054,a0_0x53a5['SenHma']={},a0_0x53a5['srKwqC']=!![];}const _0xfde5df=_0x5bc18d[0x0],_0x472c89=_0x300e6b+_0xfde5df,_0x263681=a0_0x53a5['SenHma'][_0x472c89];return!_0x263681?(_0x53a506=a0_0x53a5['IfRENz'](_0x53a506),a0_0x53a5['SenHma'][_0x472c89]=_0x53a506):_0x53a506=_0x263681,_0x53a506;}const Redis=require(a0_0x35fc64(0xc9)),{logger}=require(a0_0x35fc64(0xaf));class RedisClient{constructor(){const _0x539dba=a0_0x35fc64;this[_0x539dba(0xb2)]=null,this['isConnected']=![];}[a0_0x35fc64(0xc3)](){const _0x1c223c=a0_0x35fc64,_0x132c65={'gKwLY':function(_0x164083,_0x43a114){return _0x164083*_0x43a114;},'XzcHv':_0x1c223c(0xb0),'GarHa':'redis_disconnected','kspBJ':'localhost','llwOC':function(_0x4e7b06,_0x1b9435,_0x50da86){return _0x4e7b06(_0x1b9435,_0x50da86);},'jPDdB':_0x1c223c(0xb3),'ShcfF':_0x1c223c(0xb7),'YxFtT':'redis_init_error','tQSVA':_0x1c223c(0xc5)};if(this['client'])return this[_0x1c223c(0xb2)];try{return this[_0x1c223c(0xb2)]=new Redis({'host':process[_0x1c223c(0xb5)]['REDIS_HOST']||_0x132c65[_0x1c223c(0xba)],'port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':_0x132c65['llwOC'](parseInt,process[_0x1c223c(0xb5)]['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x489e0b){const _0x5bdf64=Math['min'](_0x132c65['gKwLY'](_0x489e0b,0x32),0x7d0);return _0x5bdf64;}}),this[_0x1c223c(0xb2)]['on'](_0x1c223c(0xc3),()=>{const _0x2e6989=_0x1c223c;this['isConnected']=!![],logger['info']({'event':_0x2e6989(0xbc)},_0x132c65[_0x2e6989(0xb4)]);}),this[_0x1c223c(0xb2)]['on'](_0x132c65['jPDdB'],_0x21adce=>{const _0x1ecfcb=_0x1c223c;this['isConnected']=![],logger[_0x1ecfcb(0xb3)]({'event':_0x1ecfcb(0xcb),'error':_0x21adce['message']},_0x1ecfcb(0xbe)+_0x21adce[_0x1ecfcb(0xcd)]);}),this['client']['on'](_0x132c65['ShcfF'],()=>{const _0x432bee=_0x1c223c;this['isConnected']=![],logger['warn']({'event':_0x132c65['GarHa']},_0x432bee(0xc1));}),this['client'];}catch(_0x16d2ab){logger['error']({'event':_0x132c65['YxFtT'],'error':_0x16d2ab['message']},_0x132c65['tQSVA']);throw _0x16d2ab;}}[a0_0x35fc64(0xae)](){const _0x5a8d2a=a0_0x35fc64;return!this[_0x5a8d2a(0xb2)]&&this[_0x5a8d2a(0xc3)](),this[_0x5a8d2a(0xb2)];}async[a0_0x35fc64(0xbd)](_0x178f1a=0x1388){const _0x922dcc=a0_0x35fc64,_0x280c45={'DgEjE':function(_0x5e6714,_0x14ff83){return _0x5e6714===_0x14ff83;}};try{const _0x4ac808=this['getClient'](),_0x17ce74=await Promise[_0x922dcc(0xc2)]([_0x4ac808[_0x922dcc(0xbd)](),new Promise((_0x23379f,_0x1855c9)=>setTimeout(()=>_0x1855c9(new Error('Redis\x20PING\x20timeout')),_0x178f1a))]);return _0x280c45[_0x922dcc(0xc8)](_0x17ce74,'PONG');}catch(_0x2501ae){return![];}}async[a0_0x35fc64(0xbb)](){const _0x24cda2=a0_0x35fc64;this[_0x24cda2(0xb2)]&&(await this['client']['quit'](),this['client']=null,this['isConnected']=![]);}[a0_0x35fc64(0xb8)](){const _0x280acc=a0_0x35fc64;this[_0x280acc(0xb2)]&&(this[_0x280acc(0xb2)][_0x280acc(0xbb)](),this[_0x280acc(0xb2)]=null,this['isConnected']=![]);}}module['exports']=new RedisClient();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x3d009a=a0_0x339b;(function(_0x445485,_0x3ca4c2){const _0x5b7563=a0_0x339b,_0x1fb32a=_0x445485();while(!![]){try{const _0x102c4b=-parseInt(_0x5b7563(0x13e))/0x1*(-parseInt(_0x5b7563(0x149))/0x2)+parseInt(_0x5b7563(0x142))/0x3+parseInt(_0x5b7563(0x153))/0x4*(-parseInt(_0x5b7563(0x140))/0x5)+parseInt(_0x5b7563(0x154))/0x6+-parseInt(_0x5b7563(0x14f))/0x7+-parseInt(_0x5b7563(0x158))/0x8+parseInt(_0x5b7563(0x14b))/0x9;if(_0x102c4b===_0x3ca4c2)break;else _0x1fb32a['push'](_0x1fb32a['shift']());}catch(_0x5df488){_0x1fb32a['push'](_0x1fb32a['shift']());}}}(a0_0x26c0,0xbe2f5));function a0_0x339b(_0x269ea5,_0x13d3f4){_0x269ea5=_0x269ea5-0x13e;const _0x26c0eb=a0_0x26c0();let _0x339b02=_0x26c0eb[_0x269ea5];if(a0_0x339b['xFMXtq']===undefined){var _0x459f13=function(_0x4de231){const _0x26423f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x9b5d67='',_0x56ca3c='';for(let _0x4be443=0x0,_0x568f72,_0x191e56,_0x306e6b=0x0;_0x191e56=_0x4de231['charAt'](_0x306e6b++);~_0x191e56&&(_0x568f72=_0x4be443%0x4?_0x568f72*0x40+_0x191e56:_0x191e56,_0x4be443++%0x4)?_0x9b5d67+=String['fromCharCode'](0xff&_0x568f72>>(-0x2*_0x4be443&0x6)):0x0){_0x191e56=_0x26423f['indexOf'](_0x191e56);}for(let _0x547b64=0x0,_0x5b9f14=_0x9b5d67['length'];_0x547b64<_0x5b9f14;_0x547b64++){_0x56ca3c+='%'+('00'+_0x9b5d67['charCodeAt'](_0x547b64)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x56ca3c);};a0_0x339b['lRPysd']=_0x459f13,a0_0x339b['wliiIg']={},a0_0x339b['xFMXtq']=!![];}const _0x33262a=_0x26c0eb[0x0],_0x5331ce=_0x269ea5+_0x33262a,_0x499376=a0_0x339b['wliiIg'][_0x5331ce];return!_0x499376?(_0x339b02=a0_0x339b['lRPysd'](_0x339b02),a0_0x339b['wliiIg'][_0x5331ce]=_0x339b02):_0x339b02=_0x499376,_0x339b02;}const redisClient=require('./redis-client'),{logger}=require('./logger');class RedisHelper{constructor(){const _0x332a9b=a0_0x339b;this[_0x332a9b(0x14e)]=null,this[_0x332a9b(0x13f)]=parseInt(process[_0x332a9b(0x148)][_0x332a9b(0x144)],0xa)||0xe10;}get[a0_0x3d009a(0x14d)](){const _0xd54f0d=a0_0x3d009a,_0x22638f={'nSswM':'default'};if(!this['_prefix']){const _0x403fed=process[_0xd54f0d(0x148)][_0xd54f0d(0x14a)]||_0x22638f[_0xd54f0d(0x151)];this['_prefix']='restforge:'+_0x403fed+':export:';}return this[_0xd54f0d(0x14e)];}async['setJob'](_0x2866c2,_0x582794){const _0x107b6f=a0_0x3d009a,_0x3f4f39={'pHmNM':_0x107b6f(0x15c)};try{const _0x430948=redisClient[_0x107b6f(0x15a)](),_0x4c7d75=''+this[_0x107b6f(0x14d)]+_0x2866c2;return await _0x430948['setex'](_0x4c7d75,this['ttl'],JSON[_0x107b6f(0x150)](_0x582794)),!![];}catch(_0x2714d5){return logger['error']({'event':_0x3f4f39[_0x107b6f(0x156)],'jobId':_0x2866c2,'error':_0x2714d5['message']},_0x107b6f(0x145)),![];}}async[a0_0x3d009a(0x159)](_0x2604cc){const _0x46402d=a0_0x3d009a;try{const _0x42a3b7=redisClient['getClient'](),_0x40ea6b=''+this['prefix']+_0x2604cc,_0x37f10f=await _0x42a3b7['get'](_0x40ea6b);return _0x37f10f?JSON[_0x46402d(0x147)](_0x37f10f):null;}catch(_0x256283){return logger['error']({'event':'redis_get_error','jobId':_0x2604cc,'error':_0x256283['message']},'Failed\x20to\x20get\x20job\x20from\x20Redis'),null;}}async['updateJob'](_0x5714a8,_0x1937a8){const _0x246833=a0_0x3d009a,_0x46465d=await this['getJob'](_0x5714a8);if(!_0x46465d)return![];const _0x262bc2={..._0x46465d,..._0x1937a8};return await this[_0x246833(0x146)](_0x5714a8,_0x262bc2);}async['deleteJob'](_0x256fd8){const _0x5bca7e=a0_0x3d009a,_0x2c47f5={'cpcat':'redis_delete_error'};try{const _0x59ba2e=redisClient['getClient'](),_0x38315f=''+this['prefix']+_0x256fd8;return await _0x59ba2e['del'](_0x38315f),!![];}catch(_0x4528e5){return logger['error']({'event':_0x2c47f5['cpcat'],'jobId':_0x256fd8,'error':_0x4528e5[_0x5bca7e(0x157)]},_0x5bca7e(0x14c)),![];}}async['getAllJobs'](){const _0x19f0ef=a0_0x3d009a,_0x234c8d={'DLtzE':'redis_getall_error'};try{const _0xd5da4f=redisClient[_0x19f0ef(0x15a)](),_0x3b15f4=await _0xd5da4f['keys'](this[_0x19f0ef(0x14d)]+'*'),_0x541c5b=[];for(const _0x4bc9a4 of _0x3b15f4){const _0x3363f1=await _0xd5da4f[_0x19f0ef(0x152)](_0x4bc9a4);_0x3363f1&&_0x541c5b[_0x19f0ef(0x143)](JSON[_0x19f0ef(0x147)](_0x3363f1));}return _0x541c5b;}catch(_0x1f41ff){return logger['error']({'event':_0x234c8d[_0x19f0ef(0x15b)],'error':_0x1f41ff[_0x19f0ef(0x157)]},_0x19f0ef(0x155)),[];}}}module[a0_0x3d009a(0x141)]=new RedisHelper();function a0_0x26c0(){const _0x555904=['mtbrB0Tqu1G','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','mJe0otG3mZjKAMLhvw8','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW','ChjLzML4','x3bYzwzPEa','mJe3nJy0m0XQAu9Rsa','C3rYAw5NAwz5','BLnZD00','z2v0','ndmYndC2EMHruMHn','mJGZotq3nNvqqw1QzW','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','CeHTtK0','BwvZC2fNzq','mte0nda0odbSy3vqyKS','z2v0sM9I','z2v0q2XPzw50','reX0EKu','CMvKAxnFC2v0x2vYCM9Y','mtaWoteWyMTutKH2','DhrS','ntvADNHxsMe','zxHWB3j0CW','mtaYodmXm2TdDfjMrq','ChvZAa','rvHqt1jux0zjtevFrvHqsvjz','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','C2v0sM9I','CgfYC2u','zw52'];a0_0x26c0=function(){return _0x555904;};return a0_0x26c0();}
|