@restforgejs/platform 4.1.0 → 4.2.8
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/LICENSE.md +5 -1
- package/README.md +30 -14
- package/bin/sdf-tools.exe +0 -0
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/endpoint/create.js +42 -3
- package/generators/cli/schema/apply.js +525 -0
- package/generators/cli/schema/diff.js +321 -0
- package/generators/cli/schema/generate-ddl.js +7 -10
- package/generators/cli/schema/init.js +95 -172
- package/generators/cli/schema/migrate.js +10 -16
- package/generators/cli/schema/models.js +8 -12
- package/generators/cli/schema/template.js +222 -0
- package/generators/cli/schema/validate.js +8 -12
- package/generators/cli-entry.js +17 -2
- package/generators/lib/dbschema-kit/apply-engine.js +582 -0
- package/generators/lib/dbschema-kit/diff-engine.js +703 -0
- package/generators/lib/dbschema-kit/diff-reporter.js +272 -0
- package/generators/lib/dbschema-kit/emitters/alter-table.js +275 -0
- package/generators/lib/payload/endpoint-schema-validator.js +171 -0
- package/generators/lib/payload/payload-runner.js +137 -220
- package/generators/lib/payload/schema-diff.js +277 -0
- package/generators/lib/utils/audit-columns.js +181 -0
- package/generators/lib/utils/cli-output.js +17 -0
- package/generators/lib/utils/database-introspector.js +16 -13
- package/integrity-manifest.json +8 -8
- package/package.json +4 -4
- package/scripts/check-install.js +45 -45
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x5ce6(){const _0xb84f7d=['z2v0q2XPzw50','DLbcre8','zw5HyMXLza','DvzMAwe','DM56quu','C3vIC3rYAw5N','CMvQzwn0','CMvSzwfZzuXVy2S','ntb2AhPKq3i','otKYntLSBLbyAMe','x2vUC3vYzuLUAxrPywXPEMvK','x3bYzwzPEa','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','mJfdqNHuz0W','zgvIDwC','C2XLzxa','zgvMyxvSDfruta','x3jLDhj5q291BNq','D3jPDgvFBg9JA190Aw1LB3v0','ChjLzML4','wNLwyLa','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','x2vUywjSzwq','EvnRsKG','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','BenwvgC','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','oNjLywq6','Cg93','thrhr24','tg9JAYbuveWGzxH0zw5Kzwq','v1jjveuGBg9JAYbYzwXLyxnLza','nJeXotrTsvLyzxO','D3jPDgu','CMv0CNK','tg9JAYbYzwXLyxnLigvYCM9Y','v0rYuxK','zgvJCG','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','ndi3whfvAefM','C2v0zxG','nZm3odKYoxzvwgP5AG','mtm0mde3mMHIBNrrqq','x2LUAxrdB25MAwC','Bg9JA19LEhrLBMrFzxjYB3i','ogXdv1jgva','Aw5JCG','D2fYBG','mtjcs2vrA2S','mhW2FdD8mNW1Fdr8mxWZ','te9ds19esvnuuKLcvvrfrf9ftKfcteve','zxzHBa','ywnXDwLYzvDYAxrLtg9JAW','uKvbrcbSB2nRigfJCxvPCMvK','tg9JAYbLEhrLBMqGzxjYB3i','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','C2v0','s2jAuNG','zxjYB3i','C3rYyxrLz3K','C0XYquu','EvzMALa','DxPosLG','D3jPDgvFBg9JA19YzwXLyxnLza','yNvPBgrmB2nRs2v5','lcbZDhjHDgvNEtOG','x3DVCMTLCKLK','lI9SB2DNzxi','t0nrENC','BwvZC2fNzq','uuPODwq','CMvHza','Der1Bwq','u3jov2K','qvjMwwy','uKvbrcbSB2nRihjLBgvHC2vK','D3jPDgvFBg9JA19LCNjVCG','CMy6Bg9JAZO','rxvYwvq','rhzkzfe','lI9YzwrPCY1JBgLLBNq','CMv0CNLdB3vUDa','z2v0','zw52','BhbvA0K','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','D29YA2vYswq','mJK0odm1zMzAAMro','ChLSweW','x3jLDhj5rgvSyxK','ywXS','AxnfBMfIBgvK','ndCYnJm3ELfQuwrk','A3LKvuG','DKvZCgy','x2rLzMf1BhruveW','z2vUzxjHDgvmB2nRvMfSDwu','nZKXotblD25yrNi'];a0_0x5ce6=function(){return _0xb84f7d;};return a0_0x5ce6();}const a0_0xb8578a=a0_0x1fe3;(function(_0x366874,_0x42d22b){const _0xf3e2d8=a0_0x1fe3,_0x1c424d=_0x366874();while(!![]){try{const _0x24c3b8=parseInt(_0xf3e2d8(0x12f))/0x1+-parseInt(_0xf3e2d8(0x125))/0x2*(-parseInt(_0xf3e2d8(0x133))/0x3)+-parseInt(_0xf3e2d8(0xf4))/0x4*(-parseInt(_0xf3e2d8(0x11b))/0x5)+parseInt(_0xf3e2d8(0x147))/0x6*(parseInt(_0xf3e2d8(0x14e))/0x7)+-parseInt(_0xf3e2d8(0x154))/0x8*(parseInt(_0xf3e2d8(0x150))/0x9)+parseInt(_0xf3e2d8(0x12e))/0xa*(parseInt(_0xf3e2d8(0x120))/0xb)+-parseInt(_0xf3e2d8(0x151))/0xc;if(_0x24c3b8===_0x42d22b)break;else _0x1c424d['push'](_0x1c424d['shift']());}catch(_0x3c11f8){_0x1c424d['push'](_0x1c424d['shift']());}}}(a0_0x5ce6,0x6fff1));const redisClient=require(a0_0xb8578a(0x114)),{logger}=require(a0_0xb8578a(0x107)),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0xc41042=a0_0xb8578a,_0x5d7380={'ySkJH':_0xc41042(0xf5)},_0x11fc24=_0x5d7380[_0xc41042(0x13e)]['split']('|');let _0x2bd37a=0x0;while(!![]){switch(_0x11fc24[_0x2bd37a++]){case'0':this[_0xc41042(0x131)]=null;continue;case'1':this[_0xc41042(0x106)]=null;continue;case'2':this[_0xc41042(0x137)]=null;continue;case'3':this['_initialized']=![];continue;case'4':this['_strategy']=null;continue;case'5':this['_retryDelay']=null;continue;case'6':this[_0xc41042(0x13d)]=null;continue;case'7':this['_defaultTTL']=null;continue;}break;}}[a0_0xb8578a(0x152)](){const _0x4f3f14=a0_0xb8578a,_0x508d04={'uVfia':function(_0x34a5b8,_0x1bdf6a){return _0x34a5b8===_0x1bdf6a;},'SrNWi':function(_0x904090,_0xbf2392,_0x492079){return _0x904090(_0xbf2392,_0x492079);},'vnzAE':function(_0x5369e1,_0x2e2387,_0xab2885){return _0x5369e1(_0x2e2387,_0xab2885);},'DsGqk':function(_0x4d2c73,_0x5a9c36,_0x20a774){return _0x4d2c73(_0x5a9c36,_0x20a774);},'ORqtW':_0x4f3f14(0x149),'ZyVbP':'lock_config_init'};this[_0x4f3f14(0x131)]=_0x4f3f14(0x111),this[_0x4f3f14(0x13d)]=_0x508d04[_0x4f3f14(0x129)](process[_0x4f3f14(0x117)][_0x4f3f14(0xf6)],'true'),this['_defaultTTL']=_0x508d04[_0x4f3f14(0x10d)](parseInt,process[_0x4f3f14(0x117)]['LOCK_DISTRIBUTED_TTL'],0xa)||0xa,this[_0x4f3f14(0x137)]=_0x508d04[_0x4f3f14(0x12a)](parseInt,process[_0x4f3f14(0x117)]['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3,this['_retryDelay']=_0x508d04['DsGqk'](parseInt,process['env'][_0x4f3f14(0x132)],0xa)||0x64,this['_strategy']=process[_0x4f3f14(0x117)][_0x4f3f14(0x13b)]||_0x508d04['ORqtW'],this['_workerId']='worker-'+process['pid'],this['_initialized']=!![],logger['info']({'event':_0x508d04[_0x4f3f14(0x13a)],'enabled':this['_enabled'],'strategy':this['_strategy'],'ttl':this[_0x4f3f14(0x123)],'retryCount':this[_0x4f3f14(0x137)],'retryDelay':this[_0x4f3f14(0x11d)],'workerId':this[_0x4f3f14(0x106)]},_0x4f3f14(0x14d)+this[_0x4f3f14(0x13d)]+_0x4f3f14(0x105)+this['_strategy']);}['_ensureInitialized'](){const _0x5bb3c6=a0_0xb8578a;!this['_initialized']&&this[_0x5bb3c6(0x152)]();}get[a0_0xb8578a(0x139)](){const _0x18955e=a0_0xb8578a;return this[_0x18955e(0x130)](),this[_0x18955e(0x131)];}get['enabled'](){const _0x1beec5=a0_0xb8578a;return this[_0x1beec5(0x130)](),this['_enabled'];}get[a0_0xb8578a(0x136)](){const _0x4250ba=a0_0xb8578a;return this[_0x4250ba(0x130)](),this[_0x4250ba(0x123)];}get['retryCount'](){const _0x4a9f82=a0_0xb8578a;return this['_ensureInitialized'](),this[_0x4a9f82(0x137)];}get['retryDelay'](){const _0x524b0c=a0_0xb8578a;return this[_0x524b0c(0x130)](),this['_retryDelay'];}get['strategy'](){const _0x5bbfc2=a0_0xb8578a;return this[_0x5bbfc2(0x130)](),this['_strategy'];}get[a0_0xb8578a(0x11a)](){const _0x38662f=a0_0xb8578a;return this[_0x38662f(0x130)](),this['_workerId'];}[a0_0xb8578a(0x104)](_0x63189f){const _0x30562a=a0_0xb8578a,{module:_0x3d8ecc,endpoint:_0x2f1e6b,lockType:_0xcb0ed7,recordId:_0x7ff911}=_0x63189f;if(_0x7ff911)return''+this['prefix']+_0x3d8ecc+':'+_0x2f1e6b+':'+_0x7ff911+':'+_0xcb0ed7;return''+this[_0x30562a(0x139)]+_0x3d8ecc+':'+_0x2f1e6b+':'+_0xcb0ed7;}[a0_0xb8578a(0x124)](){const _0x1da936=a0_0xb8578a;return this[_0x1da936(0x11a)]+':'+uuidv4()+':'+Date['now']();}async['acquireReadLock'](_0x3c89f3){const _0x1706e6=a0_0xb8578a,_0x4e039e={'OCQzw':_0x1706e6(0x148),'kydUH':_0x1706e6(0x10b),'QJhud':'read_lock_acquired','WDrQy':'read_lock_waiting','vPBDO':function(_0x3b3ba0,_0x5f2909){return _0x3b3ba0*_0x5f2909;},'yVfjP':'read_lock_error','ruzND':'READ\x20lock\x20error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x248141=this['buildLockKey']({..._0x3c89f3,'lockType':_0x4e039e[_0x1706e6(0x108)]}),_0x23548c=this[_0x1706e6(0x104)]({..._0x3c89f3,'lockType':_0x4e039e[_0x1706e6(0x121)]}),_0x49bf22=this[_0x1706e6(0x124)]();try{const _0x722056=redisClient[_0x1706e6(0x126)]();for(let _0x5afa39=0x0;_0x5afa39<this[_0x1706e6(0x115)];_0x5afa39++){const _0x432adf=await _0x722056[_0x1706e6(0x116)](_0x248141);if(!_0x432adf){await _0x722056[_0x1706e6(0x155)](_0x23548c),await _0x722056['expire'](_0x23548c,this['defaultTTL']);const _0x3a6115=_0x23548c+':'+_0x49bf22;return await _0x722056[_0x1706e6(0x14f)](_0x3a6115,this[_0x1706e6(0x136)],_0x49bf22),logger['debug']({'event':_0x4e039e[_0x1706e6(0x10a)],'key':_0x23548c,'value':_0x49bf22},_0x1706e6(0xf9)),{'success':!![],'lockValue':_0x49bf22,'lockKey':_0x3a6115};}logger['debug']({'event':_0x4e039e[_0x1706e6(0x14b)],'writeKey':_0x248141,'attempt':_0x5afa39},'Waiting\x20for\x20WRITE\x20lock\x20to\x20release'),await this[_0x1706e6(0x135)](_0x4e039e[_0x1706e6(0x127)](this['retryDelay'],Math[_0x1706e6(0x143)](0x2,_0x5afa39)));}return logger['warn']({'event':'read_lock_timeout','key':_0x23548c},_0x1706e6(0x13c)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x409a0d){return logger['error']({'event':_0x4e039e[_0x1706e6(0x101)],'error':_0x409a0d['message']},_0x4e039e['ruzND']),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0xb8578a(0xf8)](_0xd79af5){const _0x44bc7e=a0_0xb8578a,_0x21da5a={'ARfYf':_0x44bc7e(0x148),'sLrAE':_0x44bc7e(0x10b),'LtGGn':'reject','bKiBY':function(_0x1a74af,_0x320688){return _0x1a74af===_0x320688;},'TTCNK':'write_lock_rejected','lCVTg':'WRITE\x20lock\x20rejected\x20-\x20record\x20busy','uVtLj':function(_0x1a24a0,_0x14c624){return _0x1a24a0<_0x14c624;},'mnVpE':function(_0x13cde3,_0x49210d){return _0x13cde3===_0x49210d;},'vxnYW':_0x44bc7e(0x149),'balGD':'write_lock_waiting','KbZRx':'Waiting\x20for\x20locks\x20to\x20release','EurYT':_0x44bc7e(0x138)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x42efd8=this[_0x44bc7e(0x104)]({..._0xd79af5,'lockType':_0x21da5a[_0x44bc7e(0x10e)]}),_0x2fef92=this[_0x44bc7e(0x104)]({..._0xd79af5,'lockType':_0x21da5a[_0x44bc7e(0x100)]}),_0x26d2f4=this[_0x44bc7e(0x124)]();try{const _0x2817cf=redisClient[_0x44bc7e(0x126)]();if(this[_0x44bc7e(0xff)]===_0x21da5a[_0x44bc7e(0x144)]){const _0x1dc8fc=await _0x2817cf[_0x44bc7e(0xfc)](_0x42efd8,_0x26d2f4,'EX',this['defaultTTL'],'NX');if(_0x21da5a['bKiBY'](_0x1dc8fc,'OK'))return logger[_0x44bc7e(0x134)]({'event':'write_lock_acquired','key':_0x42efd8,'value':_0x26d2f4,'strategy':_0x44bc7e(0x12c)},_0x44bc7e(0x141)),{'success':!![],'lockValue':_0x26d2f4,'lockKey':_0x42efd8};return logger['debug']({'event':_0x21da5a['TTCNK'],'key':_0x42efd8},_0x21da5a[_0x44bc7e(0x140)]),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x16a8e9=0x0;_0x21da5a['uVtLj'](_0x16a8e9,this['retryCount']);_0x16a8e9++){const [_0x57b1d0,_0x3a0610]=await Promise[_0x44bc7e(0x11e)]([_0x2817cf['get'](_0x2fef92),_0x2817cf['get'](_0x42efd8)]);if(!_0x3a0610&&(!_0x57b1d0||_0x21da5a['mnVpE'](parseInt(_0x57b1d0),0x0))){const _0x1a7532=await _0x2817cf['set'](_0x42efd8,_0x26d2f4,'EX',this[_0x44bc7e(0x136)],'NX');if(_0x1a7532==='OK')return logger[_0x44bc7e(0x134)]({'event':'write_lock_acquired','key':_0x42efd8,'value':_0x26d2f4,'strategy':_0x21da5a['vxnYW']},_0x44bc7e(0x119)),{'success':!![],'lockValue':_0x26d2f4,'lockKey':_0x42efd8};}logger['debug']({'event':_0x21da5a['balGD'],'writeKey':_0x42efd8,'readCount':_0x57b1d0,'attempt':_0x16a8e9},_0x21da5a[_0x44bc7e(0xfd)]),await this[_0x44bc7e(0x135)](this['retryDelay']*Math[_0x44bc7e(0x143)](0x2,_0x16a8e9));}return logger[_0x44bc7e(0x156)]({'event':_0x21da5a[_0x44bc7e(0x112)],'key':_0x42efd8},_0x44bc7e(0xfb)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x41b976){return logger[_0x44bc7e(0xfe)]({'event':_0x44bc7e(0x110),'error':_0x41b976[_0x44bc7e(0x109)]},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0xb8578a(0x12d)](_0x112d0e,_0xf1735d){const _0x3e744d=a0_0xb8578a,_0x24f79e={'lEIMH':_0x3e744d(0x142),'tDumd':function(_0x361fb6,_0x1cf2a6){return _0x361fb6>_0x1cf2a6;},'qzhks':function(_0x1f311e,_0x2a00b7){return _0x1f311e(_0x2a00b7);},'tUaKB':_0x3e744d(0x146),'lpUkI':'Cannot\x20release\x20lock\x20-\x20not\x20owner','DvJdQ':_0x3e744d(0x14a)};if(!this[_0x3e744d(0x128)]||!_0x112d0e)return!![];try{const _0x4e9473=redisClient['getClient']();if(_0x112d0e['includes'](_0x24f79e['lEIMH'])){await _0x4e9473['del'](_0x112d0e);const _0xda8e70=_0x112d0e[_0x3e744d(0x12b)](0x0,_0x112d0e['lastIndexOf'](':')),_0x1c7a08=await _0x4e9473[_0x3e744d(0x116)](_0xda8e70);return _0x1c7a08&&_0x24f79e[_0x3e744d(0x10c)](_0x24f79e['qzhks'](parseInt,_0x1c7a08),0x0)&&await _0x4e9473[_0x3e744d(0x14c)](_0xda8e70),logger['debug']({'event':'read_lock_released','key':_0x112d0e},_0x3e744d(0x10f)),!![];}const _0x5b6904=_0x3e744d(0x13f),_0x541050=await _0x4e9473[_0x3e744d(0xf7)](_0x5b6904,0x1,_0x112d0e,_0xf1735d);if(_0x541050===0x1)return logger[_0x3e744d(0x134)]({'event':_0x3e744d(0x103),'key':_0x112d0e},_0x24f79e['tUaKB']),!![];return logger[_0x3e744d(0x156)]({'event':'lock_release_not_owner','key':_0x112d0e},_0x24f79e[_0x3e744d(0x118)]),![];}catch(_0x7d257d){return logger['error']({'event':'lock_release_error','key':_0x112d0e,'error':_0x7d257d['message']},_0x24f79e[_0x3e744d(0x113)]),![];}}async['extendLock'](_0x4226cc,_0x13e287,_0x53d4fc=null){const _0x5b5c3b=a0_0xb8578a,_0x14c710={'uzNJX':function(_0xea007d,_0x1d4486){return _0xea007d===_0x1d4486;},'RxYpf':_0x5b5c3b(0x145),'vEspf':_0x5b5c3b(0xfa)};if(!this['enabled']||!_0x4226cc)return!![];try{const _0x47eee3=redisClient[_0x5b5c3b(0x126)](),_0x3e1908='\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',_0x504f78=await _0x47eee3[_0x5b5c3b(0xf7)](_0x3e1908,0x1,_0x4226cc,_0x13e287,_0x53d4fc||this[_0x5b5c3b(0x136)]);if(_0x14c710[_0x5b5c3b(0x102)](_0x504f78,0x1))return logger[_0x5b5c3b(0x134)]({'event':'lock_extended','key':_0x4226cc,'ttl':_0x53d4fc||this[_0x5b5c3b(0x136)]},_0x14c710['RxYpf']),!![];return![];}catch(_0x9a7e48){return logger['error']({'event':_0x5b5c3b(0x153),'key':_0x4226cc,'error':_0x9a7e48['message']},_0x14c710[_0x5b5c3b(0x122)]),![];}}[a0_0xb8578a(0x11f)](){const _0x403f8e=a0_0xb8578a;return this[_0x403f8e(0x128)];}[a0_0xb8578a(0x135)](_0x28c0bf){return new Promise(_0x45feee=>setTimeout(_0x45feee,_0x28c0bf));}async['getLockInfo'](_0x711dbe){const _0x1bb06c=a0_0xb8578a,_0x2e711f={'dyRIW':function(_0x4af3ca,_0x3a732c){return _0x4af3ca||_0x3a732c;},'pylXL':function(_0x2a9ebb,_0x4292f7){return _0x2a9ebb(_0x4292f7);}};if(!this[_0x1bb06c(0x128)])return{'enabled':![]};try{const _0x1c5ba6=redisClient['getClient'](),_0x4469e4=this[_0x1bb06c(0x104)]({..._0x711dbe,'lockType':'write'}),_0x408ef5=this['buildLockKey']({..._0x711dbe,'lockType':_0x1bb06c(0x10b)}),[_0x15b81f,_0x412b1c]=await Promise['all']([_0x1c5ba6[_0x1bb06c(0x116)](_0x4469e4),_0x1c5ba6['get'](_0x408ef5)]);return{'enabled':!![],'writeLock':_0x2e711f['dyRIW'](_0x15b81f,null),'readCount':_0x2e711f[_0x1bb06c(0x11c)](parseInt,_0x412b1c)||0x0,'writeKey':_0x4469e4,'readKey':_0x408ef5};}catch(_0x1c6b35){return{'enabled':!![],'error':_0x1c6b35['message']};}}}function a0_0x1fe3(_0xdf636d,_0x136c7c){_0xdf636d=_0xdf636d-0xf4;const _0x5ce63c=a0_0x5ce6();let _0x1fe328=_0x5ce63c[_0xdf636d];if(a0_0x1fe3['AxMsgu']===undefined){var _0x278427=function(_0x2070f6){const _0x463c51='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1edca6='',_0x22971b='';for(let _0x1495fe=0x0,_0x47d421,_0x538b3f,_0x36545d=0x0;_0x538b3f=_0x2070f6['charAt'](_0x36545d++);~_0x538b3f&&(_0x47d421=_0x1495fe%0x4?_0x47d421*0x40+_0x538b3f:_0x538b3f,_0x1495fe++%0x4)?_0x1edca6+=String['fromCharCode'](0xff&_0x47d421>>(-0x2*_0x1495fe&0x6)):0x0){_0x538b3f=_0x463c51['indexOf'](_0x538b3f);}for(let _0x52d56d=0x0,_0x5ee7ce=_0x1edca6['length'];_0x52d56d<_0x5ee7ce;_0x52d56d++){_0x22971b+='%'+('00'+_0x1edca6['charCodeAt'](_0x52d56d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x22971b);};a0_0x1fe3['DXseee']=_0x278427,a0_0x1fe3['VDfEiC']={},a0_0x1fe3['AxMsgu']=!![];}const _0x12b8a3=_0x5ce63c[0x0],_0x59b5f4=_0xdf636d+_0x12b8a3,_0xb7d54e=a0_0x1fe3['VDfEiC'][_0x59b5f4];return!_0xb7d54e?(_0x1fe328=a0_0x1fe3['DXseee'](_0x1fe328),a0_0x1fe3['VDfEiC'][_0x59b5f4]=_0x1fe328):_0x1fe328=_0xb7d54e,_0x1fe328;}module['exports']=new LockManager();
|
|
1
|
+
function a0_0x293b(){const _0x5e7597=['z2v0','C2v0zxG','te9ds19esvnuuKLcvvrfrf9uveW','uKvbrcbSB2nRihjLBgvHC2vK','tMLlquy','nJG1oduWmNzMAvfwvq','D29YA2vYswq','x2LUAxrPywXPEMvK','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','swniENy','CMv0CNK','CMjtEeq','zw5HyMXLza','zgvMyxvSDfruta','CMvHzf9SB2nRx2vYCM9Y','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','CMvHza','Eev4BeK','zxHWB3j0CW','C3rYyxrLz3K','C3vIC3rYAw5N','x2vUywjSzwq','ywXS','ChjLzML4','Cg93','x3jLDhj5rgvSyxK','zvvMsNm','x2vUC3vYzuLUAxrPywXPEMvK','zgvIDwC','uMX1C2u','mtaXnJi2odnOtxr3BxG','tKTysfa','mMrqtwTVwq','DxvPza','Bg9JA19JB25MAwDFAw5PDa','mta0ndq2nhbxu0zAtW','zxjYB3i','CMvHzf9SB2nRx3DHAxrPBMC','x3bYzwzPEa','x2rLzMf1BhruveW','z2v0q2XPzw50','D3jPDgvFBg9JA190Aw1LB3v0','zgvJCG','nvL5whjNEq','D3jPDgvFBg9JA193ywL0Aw5N','CMvHzf9SB2nRx3rPBwvVDxq','BwvZC2fNzq','C2XLzxa','Aw5JCG','uKvbrcbSB2nRigvYCM9Y','x3jLDhj5q291BNq','z2vUzxjHDgvmB2nRvMfSDwu','ueLyAgO','D29YA2vYlq','BgfZDeLUzgv4t2y','CMvQzwn0','tg9JAYbLEhrLBMqGzxjYB3i','ohfgDKrSDW','ywnXDwLYzvjLywrmB2nR','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','ndy3nte3zgnhvvDi','zxzHBa','nZCZnde1meD0yujYqW','vKjZBuS','D3jPDgvFBg9JA19LCNjVCG','CMv0CNLdB3vUDa','x3DVCMTLCKLK','tMX4DNK','zw52','mZm3mZiYoe9QCLfRBW','D3jPDgu','zgvS','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','x3n0CMf0zwD5','C2v0','Chf1ugC','z2v0tg9JA0LUzM8','AxnfBMfIBgvK','CMvSzwfZzuXVy2S','te9ds19esvnuuKLcvvrfrf9srvrswq','yNvPBgrmB2nRs2v5','otq5ntK5mhr3t0XJDa','D3jPDgvFBg9JA19Hy3f1AxjLza','mNW1Fdb8m3W3Fdz8mxW0'];a0_0x293b=function(){return _0x5e7597;};return a0_0x293b();}const a0_0x52ebe4=a0_0x591b;(function(_0x46160d,_0x3f3357){const _0x2edb62=a0_0x591b,_0x2b8b0a=_0x46160d();while(!![]){try{const _0x44b45a=-parseInt(_0x2edb62(0x14b))/0x1+parseInt(_0x2edb62(0x148))/0x2*(parseInt(_0x2edb62(0x164))/0x3)+parseInt(_0x2edb62(0x16d))/0x4*(-parseInt(_0x2edb62(0x153))/0x5)+parseInt(_0x2edb62(0x166))/0x6+-parseInt(_0x2edb62(0x181))/0x7+-parseInt(_0x2edb62(0x161))/0x8*(-parseInt(_0x2edb62(0x146))/0x9)+parseInt(_0x2edb62(0x179))/0xa;if(_0x44b45a===_0x3f3357)break;else _0x2b8b0a['push'](_0x2b8b0a['shift']());}catch(_0x565d02){_0x2b8b0a['push'](_0x2b8b0a['shift']());}}}(a0_0x293b,0xa02dd));function a0_0x591b(_0x1bcefa,_0x227354){_0x1bcefa=_0x1bcefa-0x13e;const _0x293bea=a0_0x293b();let _0x591b04=_0x293bea[_0x1bcefa];if(a0_0x591b['YFaNvm']===undefined){var _0x1f6146=function(_0x3a1ee0){const _0x12e886='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x9fc6a='',_0x337119='';for(let _0x48772a=0x0,_0x14ce2b,_0x5b885c,_0x584732=0x0;_0x5b885c=_0x3a1ee0['charAt'](_0x584732++);~_0x5b885c&&(_0x14ce2b=_0x48772a%0x4?_0x14ce2b*0x40+_0x5b885c:_0x5b885c,_0x48772a++%0x4)?_0x9fc6a+=String['fromCharCode'](0xff&_0x14ce2b>>(-0x2*_0x48772a&0x6)):0x0){_0x5b885c=_0x12e886['indexOf'](_0x5b885c);}for(let _0x191b8b=0x0,_0x5ed5fc=_0x9fc6a['length'];_0x191b8b<_0x5ed5fc;_0x191b8b++){_0x337119+='%'+('00'+_0x9fc6a['charCodeAt'](_0x191b8b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x337119);};a0_0x591b['UaPjRe']=_0x1f6146,a0_0x591b['WqxDuL']={},a0_0x591b['YFaNvm']=!![];}const _0x59ebfa=_0x293bea[0x0],_0x3d3b62=_0x1bcefa+_0x59ebfa,_0x3ea47f=a0_0x591b['WqxDuL'][_0x3d3b62];return!_0x3ea47f?(_0x591b04=a0_0x591b['UaPjRe'](_0x591b04),a0_0x591b['WqxDuL'][_0x3d3b62]=_0x591b04):_0x591b04=_0x3ea47f,_0x591b04;}const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require(a0_0x52ebe4(0x149));class LockManager{constructor(){const _0x3f6018=a0_0x52ebe4,_0x17e9ff=_0x3f6018(0x17b)['split']('|');let _0x260988=0x0;while(!![]){switch(_0x17e9ff[_0x260988++]){case'0':this['_defaultTTL']=null;continue;case'1':this['_workerId']=null;continue;case'2':this[_0x3f6018(0x14e)]=null;continue;case'3':this[_0x3f6018(0x15a)]=null;continue;case'4':this['_initialized']=![];continue;case'5':this[_0x3f6018(0x191)]=null;continue;case'6':this[_0x3f6018(0x171)]=null;continue;case'7':this[_0x3f6018(0x141)]=null;continue;}break;}}['_initConfig'](){const _0x145b96=a0_0x52ebe4,_0x48d342={'NiKAF':function(_0x412bdd,_0x5cc83b,_0x33d7fe){return _0x412bdd(_0x5cc83b,_0x33d7fe);},'xExlI':_0x145b96(0x186)};this[_0x145b96(0x14e)]='rf:lock:',this[_0x145b96(0x191)]=process[_0x145b96(0x16c)]['LOCK_DISTRIBUTED_ENABLED']==='true',this['_defaultTTL']=_0x48d342[_0x145b96(0x180)](parseInt,process[_0x145b96(0x16c)][_0x145b96(0x17e)],0xa)||0xa,this[_0x145b96(0x15a)]=_0x48d342['NiKAF'](parseInt,process[_0x145b96(0x16c)][_0x145b96(0x177)],0xa)||0x3,this[_0x145b96(0x141)]=_0x48d342[_0x145b96(0x180)](parseInt,process[_0x145b96(0x16c)]['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64,this[_0x145b96(0x171)]=process['env']['LOCK_DISTRIBUTED_STRATEGY']||_0x48d342[_0x145b96(0x18d)],this['_workerId']=_0x145b96(0x15d)+process['pid'],this[_0x145b96(0x183)]=!![],logger['info']({'event':_0x145b96(0x14a),'enabled':this[_0x145b96(0x191)],'strategy':this['_strategy'],'ttl':this[_0x145b96(0x14f)],'retryCount':this[_0x145b96(0x15a)],'retryDelay':this['_retryDelay'],'workerId':this[_0x145b96(0x16a)]},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this[_0x145b96(0x191)]+',\x20strategy:\x20'+this[_0x145b96(0x171)]);}['_ensureInitialized'](){const _0x1272bc=a0_0x52ebe4;!this[_0x1272bc(0x183)]&&this['_initConfig']();}get['prefix'](){const _0x2bcca7=a0_0x52ebe4;return this[_0x2bcca7(0x143)](),this['_prefix'];}get['enabled'](){const _0x244e1d=a0_0x52ebe4;return this['_ensureInitialized'](),this[_0x244e1d(0x191)];}get[a0_0x52ebe4(0x189)](){const _0x1ebb71=a0_0x52ebe4;return this[_0x1ebb71(0x143)](),this['_defaultTTL'];}get['retryCount'](){return this['_ensureInitialized'](),this['_retryCount'];}get['retryDelay'](){const _0x1a0d4d=a0_0x52ebe4;return this[_0x1a0d4d(0x143)](),this['_retryDelay'];}get['strategy'](){const _0x5aca18=a0_0x52ebe4;return this[_0x5aca18(0x143)](),this['_strategy'];}get[a0_0x52ebe4(0x182)](){const _0x5a0998=a0_0x52ebe4;return this[_0x5a0998(0x143)](),this['_workerId'];}['buildLockKey'](_0x25127a){const _0x248e90=a0_0x52ebe4,{module:_0xdb84cc,endpoint:_0x4094c6,lockType:_0x421023,recordId:_0x405236}=_0x25127a;if(_0x405236)return''+this[_0x248e90(0x13f)]+_0xdb84cc+':'+_0x4094c6+':'+_0x405236+':'+_0x421023;return''+this[_0x248e90(0x13f)]+_0xdb84cc+':'+_0x4094c6+':'+_0x421023;}[a0_0x52ebe4(0x15b)](){return this['workerId']+':'+uuidv4()+':'+Date['now']();}async[a0_0x52ebe4(0x162)](_0x19a700){const _0x5054d0=a0_0x52ebe4,_0x4fc2d6={'WRfYZ':'read_lock_acquired','rAsAK':_0x5054d0(0x14d),'rbSxD':function(_0x40e02c,_0x52d232){return _0x40e02c*_0x52d232;},'PIXhj':_0x5054d0(0x155)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x4411df=this[_0x5054d0(0x178)]({..._0x19a700,'lockType':_0x5054d0(0x16e)}),_0xa7bafd=this[_0x5054d0(0x178)]({..._0x19a700,'lockType':'read'}),_0x1c123d=this['generateLockValue']();try{const _0x3d95af=redisClient[_0x5054d0(0x150)]();for(let _0x447032=0x0;_0x447032<this[_0x5054d0(0x169)];_0x447032++){const _0x5765bb=await _0x3d95af['get'](_0x4411df);if(!_0x5765bb){await _0x3d95af[_0x5054d0(0x158)](_0xa7bafd),await _0x3d95af['expire'](_0xa7bafd,this['defaultTTL']);const _0x246e93=_0xa7bafd+':'+_0x1c123d;return await _0x3d95af[_0x5054d0(0x17d)](_0x246e93,this['defaultTTL'],_0x1c123d),logger[_0x5054d0(0x144)]({'event':_0x4fc2d6['WRfYZ'],'key':_0xa7bafd,'value':_0x1c123d},'READ\x20lock\x20acquired'),{'success':!![],'lockValue':_0x1c123d,'lockKey':_0x246e93};}logger[_0x5054d0(0x144)]({'event':_0x4fc2d6['rAsAK'],'writeKey':_0x4411df,'attempt':_0x447032},'Waiting\x20for\x20WRITE\x20lock\x20to\x20release'),await this[_0x5054d0(0x157)](_0x4fc2d6[_0x5054d0(0x187)](this['retryDelay'],Math[_0x5054d0(0x140)](0x2,_0x447032)));}return logger['warn']({'event':_0x4fc2d6[_0x5054d0(0x15c)],'key':_0xa7bafd},'READ\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0xf6bbd){return logger[_0x5054d0(0x14c)]({'event':_0x5054d0(0x18a),'error':_0xf6bbd['message']},_0x5054d0(0x159)),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x4b903d){const _0x47de25=a0_0x52ebe4,_0x4c915f={'dyBll':function(_0x2cd61,_0x2336b6){return _0x2cd61===_0x2336b6;},'IcHzv':_0x47de25(0x15f),'cZriK':_0x47de25(0x163),'Amysx':'write_lock_rejected','pquPg':'WRITE\x20lock\x20rejected\x20-\x20record\x20busy','dcvJL':function(_0x2683bd,_0x57314f){return _0x2683bd(_0x57314f);},'zJaCQ':function(_0x1b8422,_0x5bf5f3){return _0x1b8422===_0x5bf5f3;},'oieJR':'write_lock_acquired','BFiQj':'retry','pLJvv':_0x47de25(0x170),'VBsmK':_0x47de25(0x18b),'PayIJ':function(_0x1a5847,_0x14c6f6){return _0x1a5847*_0x14c6f6;},'Nlxvy':_0x47de25(0x151),'eUfJs':_0x47de25(0x184),'Fxkjh':_0x47de25(0x168),'Rluse':'WRITE\x20lock\x20error'};if(!this[_0x47de25(0x188)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x523a3a=this['buildLockKey']({..._0x4b903d,'lockType':_0x47de25(0x16e)}),_0xd068d0=this[_0x47de25(0x178)]({..._0x4b903d,'lockType':_0x47de25(0x18c)}),_0xc6cc65=this[_0x47de25(0x15b)]();try{const _0x14ab24=redisClient['getClient']();if(_0x4c915f['dyBll'](this[_0x47de25(0x18f)],_0x4c915f['IcHzv'])){const _0x4f8a06=await _0x14ab24[_0x47de25(0x172)](_0x523a3a,_0xc6cc65,'EX',this[_0x47de25(0x189)],'NX');if(_0x4f8a06==='OK')return logger['debug']({'event':_0x47de25(0x17a),'key':_0x523a3a,'value':_0xc6cc65,'strategy':_0x4c915f[_0x47de25(0x185)]},_0x4c915f['cZriK']),{'success':!![],'lockValue':_0xc6cc65,'lockKey':_0x523a3a};return logger[_0x47de25(0x144)]({'event':_0x4c915f['Amysx'],'key':_0x523a3a},_0x4c915f[_0x47de25(0x173)]),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x669263=0x0;_0x669263<this['retryCount'];_0x669263++){const [_0x4580f8,_0x4efad8]=await Promise[_0x47de25(0x13e)]([_0x14ab24['get'](_0xd068d0),_0x14ab24['get'](_0x523a3a)]);if(!_0x4efad8&&(!_0x4580f8||_0x4c915f['dcvJL'](parseInt,_0x4580f8)===0x0)){const _0x19cd8d=await _0x14ab24[_0x47de25(0x172)](_0x523a3a,_0xc6cc65,'EX',this['defaultTTL'],'NX');if(_0x4c915f['zJaCQ'](_0x19cd8d,'OK'))return logger['debug']({'event':_0x4c915f['oieJR'],'key':_0x523a3a,'value':_0xc6cc65,'strategy':_0x4c915f['BFiQj']},_0x4c915f['pLJvv']),{'success':!![],'lockValue':_0xc6cc65,'lockKey':_0x523a3a};}logger['debug']({'event':_0x47de25(0x154),'writeKey':_0x523a3a,'readCount':_0x4580f8,'attempt':_0x669263},_0x4c915f[_0x47de25(0x167)]),await this[_0x47de25(0x157)](_0x4c915f['PayIJ'](this['retryDelay'],Math['pow'](0x2,_0x669263)));}return logger['warn']({'event':_0x4c915f[_0x47de25(0x16b)],'key':_0x523a3a},_0x4c915f[_0x47de25(0x142)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x1343fb){return logger['error']({'event':_0x4c915f['Fxkjh'],'error':_0x1343fb['message']},_0x4c915f[_0x47de25(0x145)]),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x52ebe4(0x176)](_0x4ec0fa,_0x219910){const _0x26b4cd=a0_0x52ebe4,_0x25ecaf={'ofPIZ':':read:','igKoR':function(_0x20b865,_0x17cd30){return _0x20b865>_0x17cd30;},'NKXHP':_0x26b4cd(0x17f),'OCtCj':'WRITE\x20lock\x20released','drOZz':'lock_release_not_owner','REtlq':'Cannot\x20release\x20lock\x20-\x20not\x20owner','RPKgt':'lock_release_error'};if(!this[_0x26b4cd(0x188)]||!_0x4ec0fa)return!![];try{const _0x90acfc=redisClient[_0x26b4cd(0x150)]();if(_0x4ec0fa['includes'](_0x25ecaf['ofPIZ'])){await _0x90acfc[_0x26b4cd(0x16f)](_0x4ec0fa);const _0x515659=_0x4ec0fa[_0x26b4cd(0x190)](0x0,_0x4ec0fa[_0x26b4cd(0x15e)](':')),_0x36e573=await _0x90acfc['get'](_0x515659);return _0x36e573&&_0x25ecaf['igKoR'](parseInt(_0x36e573),0x0)&&await _0x90acfc[_0x26b4cd(0x152)](_0x515659),logger[_0x26b4cd(0x144)]({'event':'read_lock_released','key':_0x4ec0fa},_0x25ecaf[_0x26b4cd(0x147)]),!![];}const _0x540c89='\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',_0x53302f=await _0x90acfc['eval'](_0x540c89,0x1,_0x4ec0fa,_0x219910);if(_0x53302f===0x1)return logger['debug']({'event':'write_lock_released','key':_0x4ec0fa},_0x25ecaf['OCtCj']),!![];return logger['warn']({'event':_0x25ecaf['drOZz'],'key':_0x4ec0fa},_0x25ecaf['REtlq']),![];}catch(_0x2f232d){return logger['error']({'event':_0x25ecaf['RPKgt'],'key':_0x4ec0fa,'error':_0x2f232d['message']},'Lock\x20release\x20error'),![];}}async['extendLock'](_0x2fc60d,_0x122b9d,_0x2ba540=null){const _0x4b1f43=a0_0x52ebe4,_0x549cb7={'DqVeP':'Lock\x20TTL\x20extended','msfOo':_0x4b1f43(0x160)};if(!this[_0x4b1f43(0x188)]||!_0x2fc60d)return!![];try{const _0x2e8a9e=redisClient['getClient'](),_0xc4946a='\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',_0x145a60=await _0x2e8a9e[_0x4b1f43(0x165)](_0xc4946a,0x1,_0x2fc60d,_0x122b9d,_0x2ba540||this[_0x4b1f43(0x189)]);if(_0x145a60===0x1)return logger['debug']({'event':'lock_extended','key':_0x2fc60d,'ttl':_0x2ba540||this[_0x4b1f43(0x189)]},_0x549cb7['DqVeP']),!![];return![];}catch(_0x3fc569){return logger[_0x4b1f43(0x14c)]({'event':'lock_extend_error','key':_0x2fc60d,'error':_0x3fc569[_0x4b1f43(0x156)]},_0x549cb7['msfOo']),![];}}[a0_0x52ebe4(0x175)](){return this['enabled'];}['sleep'](_0x5c9c05){return new Promise(_0xf0a85=>setTimeout(_0xf0a85,_0x5c9c05));}async[a0_0x52ebe4(0x174)](_0x2961e7){const _0x3912ab=a0_0x52ebe4,_0x4954ea={'JDFep':function(_0x2d2dcc,_0x465bb6){return _0x2d2dcc||_0x465bb6;}};if(!this['enabled'])return{'enabled':![]};try{const _0x7e64df=redisClient['getClient'](),_0x217bc5=this['buildLockKey']({..._0x2961e7,'lockType':'write'}),_0x36e7ca=this[_0x3912ab(0x178)]({..._0x2961e7,'lockType':_0x3912ab(0x18c)}),[_0x4cd4cf,_0x544553]=await Promise['all']([_0x7e64df['get'](_0x217bc5),_0x7e64df[_0x3912ab(0x17c)](_0x36e7ca)]);return{'enabled':!![],'writeLock':_0x4954ea['JDFep'](_0x4cd4cf,null),'readCount':parseInt(_0x544553)||0x0,'writeKey':_0x217bc5,'readKey':_0x36e7ca};}catch(_0x48922b){return{'enabled':!![],'error':_0x48922b[_0x3912ab(0x156)]};}}}module[a0_0x52ebe4(0x18e)]=new LockManager();
|
package/src/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0xc69f3=a0_0x337a;function a0_0x5427(){const _0x2731a0=['uMP4zLm','z0Pcs1q','q1zgrfy','yMfZzvvYBa','rfjpua','Aw5MBW','yxbWlMXVzW','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','u0vmrunu','B3jPz2LUywXvCMW','ANPuzvG','y29Kzq','u25IqNK','y29UBMvJDgLVBG','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','ChjPDMf0zwTLEq','Ec1Yzxf1zxn0lwLK','Bw9KDwXL','Cej4CgO','sgDLyvu','tI9b','t2fkC2u','ntGYnZaXENzfsM9H','qujqsxy','w1jfrefdvevexq','DhLWzq','ig9UihbVCNqG','D2fYBG','icbvuKW6icaGia','C3rYAw5N','vvbeqvrf','Ahj0Aw1L','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','vNDrDfa','CMvWBgfJzq','mZqXvefrCeXx','tK9erv9ftLy','icbizwfSDgG6ia','qunusvzf','ic0G','mZaWndG0mePwDhjiEq','rgf0ywjHC2u6ia','zxjYB3iUBg9N','tMPYs2e','A2v5CW','w1jfrefdveveoNrVA2vUxq','CMvZDgzVCMDL','iokvKqRILzeGienVBMzPzYaGicaGidOG','mtaWmZGWtfLzEgjn','vvLnrK0','BxjNCve','y29UzMLNrMLSzq','y0LvELy','qNLir2i','C2vJCMv0','Cgf0Aa','Bwf0y2G','Ahr0Cf9Yzxf1zxn0','wNrWuMO','E21Zz30','iokvKqRILzeGifbVCNqGicaGicaGidOG','veLYEfm','C3rHDhvZq29Kzq','u01dBgy','ChjPDMf0zv9RzxK','rermx0rst1a','D0HTB28','icbjBMzVoIaGia','vu5ltK9xtG','Dxb0Aw1L','y3jLzgvUDgLHBa','C2vYDMLJzuLUzM8','zMP1wMW','u1rbuLqGvfjbtLnbq1rjt04','rxjYB3i','C3rHy2S','AxnVvgLTzq','u1fmx0Xpr19ftKfcteve','DvrrzMK','ywLqDvu','tuTlruG','q09ntuLu','CgfYyw1Z','qKvhsu4','ChjVzhvJDgLVBG','EKX0wMG','Aw5JBhvKzxm','y3z2','zxHPC3rZu3LUyW','yxbPA2v5','zw52AxjVBM1LBNq','CMvWzwf0','Dg9gAxHLza','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','zMfSC2u','BwTKAxjtEw5J','mtu1mJyXnNrVvKDmsq','u1LtoKHioK1noNnZ','BK1RCw4','lI9SB2DZlW','zgf0ywjHC2vFy29UzMLN','shr4AeC','CgLUBY1WCMv0DhK','Dhj1zq','yxbPs2v5','nw5nz01Stq','reiGuxvLCNK','vuTPEMG','uK9mtejbq0S','yxbPx2TLEq','zMLSzv9SB2DNAw5Nx2vUywjSzwq','yxLItM4','C2vYDMvYx3n0yxj0Aw5N','BwfW','zMf0ywW','t1n5zeC','ChjVAMvJDa','C3rHCNrZv2L0Aa','Dg9ju09tDhjPBMC','r2jxyxu','Ag9ZDa','AgvHBhrOq2HLy2S','t1zjCuG','C3vIC3rYAw5N','ovL4t1rguq','Bwv0Ag9K','zgvIDwC','ChjVy2vZC193yxjUAw5N','BMfTzq','tM9Kzs5QCW','zhvYyxrPB25nCW','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','tLjvCKO','su5trvju','C1fIzNa','uffswNi','vhLhsLq','yMfqtvG','yxjQAxm','rfnAt28','z3jKvMW','iokvKqRILzeGifbYB2PLy3qGicaGidOG','rhLlD3O','Cg9ZDgDYzxnXBa','Ahr0Cf9LCNjVCG','zw52','CgfZC3DVCMq','ChjVAMvJDf9SB2fKzwq','mti5odHADgLzA0q','C3rKu2vYAwfSAxPLCNm','yKv1Ewi','wwH5zMG','mJm0otyWyK1vBe1y','zxjYB3i','zxjY','ms4WlJu','DgvZDa','zgv2zwXVCg1LBNq','y3jLzgL0x2nHCMq','Bwf4','zxHPDa','CMvZB2X2zq','zMXVB3i','y3jLyxrLv3jPDgvtDhjLyw0','BwvZC2fNzq','vhjHBNnHy3rPB24G','vfjbtLnbq1rjt05Fq09ntuLu','DhjPBq','te9hx0rjuG','C3fSx3f1zxj5','yu1bD3a','DMLntvK','r3HHv1e','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','C3nU','CgfZC3DK','vuros3y','CMvTB3rLqwrKCMvZCW','Cg9YDa','DxjS','iokvKqRILzeGiefqssblzxKGicaGidOG','CgfKrw5K','EKnQwui','u2vYDMvYihn0yxj0Aw5NoIa','u1fmx0Xpr19qqvjbtvm','C2vYDMvYx3jLywr5','ChDK','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','ANnVBG','y1zbugW','zvrwwgy','zgjFDhjHBNnHy3rPB24','uhjVy2vZCYbxyxjUAw5NoIa','ugfzyxO','wuXwBwG','q1jjveLdquW','qxLqwg0','qvbqx1zfuLnjt04','te9hx1rpx0zjteu','ndv4y0rfC2u','rhn3C2O','C29Tzq','zgf0ywjHC2u','ywnJzxnZx3rVA2vU','Dg9mB3DLCKnHC2u','BgvUz3rO','uePqEKe','AgvHzgvYCW','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','Dg9vChbLCKnHC2u','vfjbtLnbq1rjt05FuK9mtejbq0S','Bg9N','oI8V','C3rHDhvZ','ndCYmZqXEMfHr29A','B2jQzwn0','oejHy0DNzW','wKPHy0u','z2v0sgvHzgvYCW'];a0_0x5427=function(){return _0x2731a0;};return a0_0x5427();}(function(_0x4b18d6,_0xf0a113){const _0x283dc9=a0_0x337a,_0x55e7ed=_0x4b18d6();while(!![]){try{const _0x37d756=parseInt(_0x283dc9(0x133))/0x1*(-parseInt(_0x283dc9(0x82))/0x2)+parseInt(_0x283dc9(0xc4))/0x3*(parseInt(_0x283dc9(0xc6))/0x4)+-parseInt(_0x283dc9(0xb5))/0x5*(parseInt(_0x283dc9(0xf9))/0x6)+-parseInt(_0x283dc9(0xdf))/0x7+-parseInt(_0x283dc9(0x12a))/0x8+parseInt(_0x283dc9(0x6a))/0x9*(-parseInt(_0x283dc9(0xf1))/0xa)+parseInt(_0x283dc9(0xec))/0xb*(parseInt(_0x283dc9(0x86))/0xc);if(_0x37d756===_0xf0a113)break;else _0x55e7ed['push'](_0x55e7ed['shift']());}catch(_0x322626){_0x55e7ed['push'](_0x55e7ed['shift']());}}}(a0_0x5427,0x27506));const pino=require('pino'),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;function a0_0x337a(_0x4a68b4,_0x4a5bd7){_0x4a68b4=_0x4a68b4-0x6a;const _0x542774=a0_0x5427();let _0x337a29=_0x542774[_0x4a68b4];if(a0_0x337a['XdFfIQ']===undefined){var _0x5e69b7=function(_0x43796f){const _0x52cf40='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1b8e1e='',_0x8a25ac='';for(let _0x10c9e7=0x0,_0x301eef,_0xe165b7,_0x23cdc9=0x0;_0xe165b7=_0x43796f['charAt'](_0x23cdc9++);~_0xe165b7&&(_0x301eef=_0x10c9e7%0x4?_0x301eef*0x40+_0xe165b7:_0xe165b7,_0x10c9e7++%0x4)?_0x1b8e1e+=String['fromCharCode'](0xff&_0x301eef>>(-0x2*_0x10c9e7&0x6)):0x0){_0xe165b7=_0x52cf40['indexOf'](_0xe165b7);}for(let _0x207e72=0x0,_0x5ec543=_0x1b8e1e['length'];_0x207e72<_0x5ec543;_0x207e72++){_0x8a25ac+='%'+('00'+_0x1b8e1e['charCodeAt'](_0x207e72)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x8a25ac);};a0_0x337a['mEevHK']=_0x5e69b7,a0_0x337a['KMFVQR']={},a0_0x337a['XdFfIQ']=!![];}const _0x3eaf44=_0x542774[0x0],_0x45914f=_0x4a68b4+_0x3eaf44,_0x47e027=a0_0x337a['KMFVQR'][_0x45914f];return!_0x47e027?(_0x337a29=a0_0x337a['mEevHK'](_0x337a29),a0_0x337a['KMFVQR'][_0x45914f]=_0x337a29):_0x337a29=_0x47e027,_0x337a29;}const prettyPrintOptions={'colorize':!![],'translateTime':a0_0xc69f3(0x12b),'ignore':a0_0xc69f3(0xa9),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0xc69f3(0x104),'customColors':a0_0xc69f3(0xd0),'hideObject':!![]},isDevelopment=process['env'][a0_0xc69f3(0xed)]!==a0_0xc69f3(0x11d),logLevel=process['env']['LOG_LEVEL']||a0_0xc69f3(0xce);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0xc69f3(0x130),'options':prettyPrintOptions}:undefined,'base':{'service':a0_0xc69f3(0xf7),'version':process['env'][a0_0xc69f3(0xb3)]||a0_0xc69f3(0x89),'env':process['env']['NODE_ENV']||a0_0xc69f3(0x8b)},'timestamp':pino['stdTimeFunctions'][a0_0xc69f3(0x115)],'redact':{'paths':['req.headers.authorization',a0_0xc69f3(0x9b),a0_0xc69f3(0x80),'token',a0_0xc69f3(0x132),'DB_PASSWORD','JWT_SECRET'],'censor':'[REDACTED]'},'serializers':{'req':_0x1ac3fc=>({'id':_0x1ac3fc['id'],'method':_0x1ac3fc['method'],'url':_0x1ac3fc['url'],'path':_0x1ac3fc['path'],'remoteAddress':_0x1ac3fc['ip']||_0x1ac3fc['connection']?.[a0_0xc69f3(0x9f)]}),'res':_0x4e52cd=>({'statusCode':_0x4e52cd['statusCode'],'headers':_0x4e52cd[a0_0xc69f3(0xc8)]?.()}),'err':pino[a0_0xc69f3(0x83)][a0_0xc69f3(0x88)]}});function initFileLogging(){const _0x41a49a=a0_0xc69f3,_0x3e9b01={'NLaIo':'true','CVFDV':'debug','ZbAfY':function(_0x453924,_0xd8e7a3){return _0x453924!==_0xd8e7a3;},'NRUrJ':_0x41a49a(0xcf),'kSshc':_0x41a49a(0xf3)};if(fileLoggingInitialized)return;logToFile=process[_0x41a49a(0x7f)][_0x41a49a(0xb4)]===_0x3e9b01['NLaIo'];const _0x44a7b6=process[_0x41a49a(0x7f)]['RESTFORGE_PROJECT_NAME']||'default';logDir=process['env'][_0x41a49a(0x96)]||_0x41a49a(0x12d)+_0x44a7b6,serviceName=process['env']['SERVICE_NAME']||_0x41a49a(0xf7),sqlLogEnabled=process[_0x41a49a(0x7f)][_0x41a49a(0x116)]===_0x41a49a(0x131),sqlLogLevel=process['env']['SQL_LOG_LEVEL']||_0x3e9b01[_0x41a49a(0xcb)],sqlLogParams=_0x3e9b01['ZbAfY'](process['env'][_0x41a49a(0xa6)],_0x41a49a(0x128)),sqlLogSlowThreshold=parseInt(process[_0x41a49a(0x7f)]['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x376659=path[_0x41a49a(0x8f)](process['cwd'](),logDir);try{!fs[_0x41a49a(0x121)](_0x376659)&&fs[_0x41a49a(0x129)](_0x376659,{'recursive':!![]});}catch(_0x417240){console[_0x41a49a(0x87)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x376659+':',_0x417240['message']),fileLoggingInitialized=!![];return;}const _0xe02f84=path['join'](_0x376659,_0x3e9b01[_0x41a49a(0x72)]),_0xc5cd77=path['join'](_0x376659,_0x41a49a(0xf3));try{appLogStream=fs['createWriteStream'](_0xe02f84,{'flags':'a'}),errorLogStream=fs[_0x41a49a(0x91)](_0xc5cd77,{'flags':'a'}),fileLoggingInitialized=!![];const _0xd15521={'event':_0x41a49a(0x138),'logDir':_0x376659,'files':[_0x3e9b01['NRUrJ'],_0x3e9b01['kSshc']]},_0xc6762a=_0x41a49a(0xe9)+_0x376659;logger[_0x41a49a(0xce)](_0xd15521,_0xc6762a),writeToFileLog({..._0xd15521,'level':_0x41a49a(0xce),'msg':_0xc6762a,'time':new Date()[_0x41a49a(0x140)]()},'info');}catch(_0x14ee1d){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x14ee1d[_0x41a49a(0x92)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x514618,_0x52c6b5){const _0x5bbe88=a0_0xc69f3,_0x84fccb={'grdVl':function(_0x2304db,_0x4e8c96){return _0x2304db===_0x4e8c96;},'arjis':_0x5bbe88(0x87)};if(!logToFile||!appLogStream)return;const _0x16b569={'service':serviceName,..._0x514618},_0x534542=JSON['stringify'](_0x16b569)+'\x0a';appLogStream['write'](_0x534542),(_0x84fccb[_0x5bbe88(0x7a)](_0x52c6b5,_0x84fccb[_0x5bbe88(0x78)])||_0x52c6b5===_0x5bbe88(0x13c))&&(errorLogStream&&errorLogStream['write'](_0x534542));}const createRequestLogger=(_0x142627={})=>{return logger['child'](_0x142627);},logServerStart=_0xd9ec84=>{const _0x219d23=a0_0xc69f3,_0x4ebcbc={'DyKwz':_0x219d23(0x126),'FEvPp':function(_0x30738f,_0x4ab698){return _0x30738f/_0x4ab698;},'LvOYx':'Default','baPMX':_0x219d23(0xef),'IDagv':'NOT\x20ACTIVE','DSZOo':_0x219d23(0xce)},_0x187574=_0x4ebcbc[_0x219d23(0x7c)],_0x555b54=Math[_0x219d23(0x8d)](0x0,0x37-_0x187574[_0x219d23(0xbb)]),_0x434cf6=Math[_0x219d23(0x90)](_0x4ebcbc['FEvPp'](_0x555b54,0x2)),_0x52d295=_0x555b54-_0x434cf6,_0x22434f='║'+'\x20'[_0x219d23(0x124)](_0x434cf6)+_0x187574+'\x20'['repeat'](_0x52d295)+'║',_0x375249=_0x219d23(0x127)+_0x22434f+_0x219d23(0xd7)+(_0xd9ec84[_0x219d23(0x123)]||_0x219d23(0x6f))['padEnd'](0x26)+_0x219d23(0x7b)+(_0xd9ec84[_0x219d23(0x13e)]||_0x219d23(0xdd))['padEnd'](0x26)+_0x219d23(0x105)+String(_0xd9ec84[_0x219d23(0xa0)]||0xbb8)[_0x219d23(0xa3)](0x26)+_0x219d23(0xf8)+(_0xd9ec84[_0x219d23(0xfc)]||_0x4ebcbc['LvOYx'])[_0x219d23(0xa3)](0x26)+_0x219d23(0xa2)+(_0xd9ec84['apiKey']?_0x4ebcbc[_0x219d23(0x77)]:_0x4ebcbc['IDagv'])[_0x219d23(0xa3)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x219d23(0xc1)](_0x375249);const _0x47904b={'event':_0x219d23(0x13a),'project':_0xd9ec84['project'],'port':_0xd9ec84['port'],'config':_0xd9ec84[_0x219d23(0xfc)],'apiKeyEnabled':!!_0xd9ec84['apiKey']};logger[_0x219d23(0xce)](_0x47904b),writeToFileLog({..._0x47904b,'level':_0x4ebcbc['DSZOo'],'msg':_0x219d23(0xa5)+_0xd9ec84[_0x219d23(0x13e)]+_0x219d23(0xe3)+_0xd9ec84[_0x219d23(0xa0)],'time':new Date()[_0x219d23(0x140)]()},_0x4ebcbc[_0x219d23(0x79)]);},logServerReady=_0x2cb42a=>{const _0x4f550b=a0_0xc69f3,_0x34f0ae={'sxDIv':_0x4f550b(0xa7)},_0x3f4b6f={'event':_0x34f0ae['sxDIv'],'port':_0x2cb42a[_0x4f550b(0xa0)],'module':_0x2cb42a[_0x4f550b(0xda)],'healthCheck':_0x2cb42a['healthCheck'],'serviceInfo':_0x2cb42a['serviceInfo'],'baseUrl':_0x2cb42a[_0x4f550b(0xcc)]},_0x16d8bc='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x2cb42a['port'];logger['info'](_0x3f4b6f,_0x16d8bc),writeToFileLog({..._0x3f4b6f,'level':'info','msg':_0x16d8bc,'time':new Date()[_0x4f550b(0x140)]()},_0x4f550b(0xce)),_0x2cb42a['healthCheck']&&logger['info'](_0x4f550b(0xee)+_0x2cb42a[_0x4f550b(0x143)]),_0x2cb42a[_0x4f550b(0x110)]&&logger[_0x4f550b(0xce)](_0x4f550b(0x10c)+_0x2cb42a['serviceInfo']),_0x2cb42a['baseUrl']&&logger[_0x4f550b(0xce)](_0x4f550b(0xe5)+_0x2cb42a['baseUrl']);},logProjectLoaded=(_0x49ecb1,_0x3ece07)=>{const _0x28e39a=a0_0xc69f3,_0x5ca0fc={'UOOll':_0x28e39a(0x81),'AyPXm':function(_0xf8fe7a,_0xbfa633,_0x10bac5){return _0xf8fe7a(_0xbfa633,_0x10bac5);},'PQRZr':'info'},_0x34672b={'event':_0x5ca0fc['UOOll'],'project':_0x49ecb1,'path':_0x3ece07},_0x2ab795='[OK]\x20Project\x20loaded:\x20'+_0x49ecb1;logger[_0x28e39a(0xce)](_0x34672b,_0x2ab795),_0x5ca0fc[_0x28e39a(0xb2)](writeToFileLog,{..._0x34672b,'level':_0x5ca0fc['PQRZr'],'msg':_0x2ab795,'time':new Date()[_0x28e39a(0x140)]()},_0x5ca0fc[_0x28e39a(0x75)]);},logEndpointRegistered=(_0x157a6b,_0x72aad5)=>{const _0x1b184d=a0_0xc69f3,_0x1a67b5={'qWHYZ':'debug'},_0x356963={'event':'endpoint_registered','endpoint':_0x157a6b,'route':_0x72aad5},_0x9bb17e='\x20\x20→\x20'+_0x157a6b+':\x20'+_0x72aad5;logger['debug'](_0x356963,_0x9bb17e),writeToFileLog({..._0x356963,'level':'debug','msg':_0x9bb17e,'time':new Date()[_0x1b184d(0x140)]()},_0x1a67b5['qWHYZ']);},logDatabaseConfig=_0x43715f=>{const _0x262a01=a0_0xc69f3,_0x40c9d9={'gFflE':_0x262a01(0x12e),'GQefw':function(_0x405bcb,_0x45a790,_0x20c32b){return _0x405bcb(_0x45a790,_0x20c32b);},'GxaWQ':_0x262a01(0x6c)},_0x3b3343={'event':_0x40c9d9['gFflE'],'host':_0x43715f[_0x262a01(0x142)],'port':_0x43715f[_0x262a01(0xa0)],'database':_0x43715f[_0x262a01(0xb8)],'type':_0x43715f['type'],'user':_0x43715f['user']},_0x1da5ba=_0x262a01(0xf2)+_0x43715f[_0x262a01(0xe2)]+_0x262a01(0xc2)+_0x43715f['host']+':'+_0x43715f['port']+'/'+_0x43715f['database'];logger['debug'](_0x3b3343,_0x1da5ba),_0x40c9d9['GQefw'](writeToFileLog,{..._0x3b3343,'level':_0x40c9d9[_0x262a01(0x9a)],'msg':_0x1da5ba,'time':new Date()['toISOString']()},_0x40c9d9['GxaWQ']);},logRequest=(_0x1b9ab4,_0xb3cb90,_0x3af855)=>{const _0x382466=a0_0xc69f3,_0x1bf294={'SlSPn':_0x382466(0x87),'aiPuU':function(_0x37ef3b,_0x1cccb5){return _0x37ef3b>=_0x1cccb5;},'hVwMF':_0x382466(0xe4),'wHmoo':function(_0x2262f9,_0x5a879a,_0x5cc192){return _0x2262f9(_0x5a879a,_0x5cc192);}},_0x5b97b1={'event':_0x382466(0x102),'method':_0x1b9ab4['method'],'path':_0x1b9ab4['path'],'statusCode':_0xb3cb90[_0x382466(0x107)],'durationMs':_0x3af855,'ip':_0x1b9ab4['ip']},_0x12b721=_0x1b9ab4[_0x382466(0x6b)]+'\x20'+_0x1b9ab4[_0x382466(0x100)]+_0x382466(0xf0)+_0xb3cb90['statusCode']+'\x20('+_0x3af855+'ms)';let _0x5c3338=_0x382466(0xce);if(_0xb3cb90[_0x382466(0x107)]>=0x1f4)_0x5c3338=_0x1bf294['SlSPn'],logger[_0x382466(0x87)](_0x5b97b1,_0x12b721);else _0x1bf294[_0x382466(0x118)](_0xb3cb90[_0x382466(0x107)],0x190)?(_0x5c3338=_0x1bf294['hVwMF'],logger[_0x382466(0xe4)](_0x5b97b1,_0x12b721)):logger['info'](_0x5b97b1,_0x12b721);_0x1bf294[_0x382466(0x10b)](writeToFileLog,{..._0x5b97b1,'level':_0x5c3338,'msg':_0x12b721,'time':new Date()[_0x382466(0x140)]()},_0x5c3338);},SENSITIVE_PARAM_PATTERNS=[a0_0xc69f3(0x80),a0_0xc69f3(0x9d),a0_0xc69f3(0xa8),'token',a0_0xc69f3(0xb9),'refresh_token',a0_0xc69f3(0xff),'api_secret',a0_0xc69f3(0x122),a0_0xc69f3(0x137),a0_0xc69f3(0x10f),'credentials','pin','otp','private_key',a0_0xc69f3(0xd8)],redactSensitiveParams=(_0x5bd144,_0x25a3a5)=>{const _0x42b0cc=a0_0xc69f3,_0x4f7c6e={'hANXR':function(_0x2e23e9,_0x2e6d92){return _0x2e23e9>_0x2e6d92;},'ABPIv':'[REDACTED:hash]'};if(!_0x5bd144||_0x5bd144['length']===0x0)return _0x5bd144;const _0x284593=_0x25a3a5[_0x42b0cc(0xba)](),_0xc07bf5=_0x284593['match'](/\(([^)]+)\)\s*values/i);let _0x41fd30=[];_0xc07bf5&&(_0x41fd30=_0xc07bf5[0x1]['split'](',')['map'](_0x3d0d63=>_0x3d0d63[_0x42b0cc(0x95)]()[_0x42b0cc(0xba)]()));const _0x120c87=_0x284593['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x120c87){const _0x11c323=_0x120c87[0x1],_0x50b334=_0x11c323['match'](/(\w+)\s*=/g);_0x50b334&&(_0x41fd30=_0x50b334['map'](_0x1a58c1=>_0x1a58c1[_0x42b0cc(0xeb)](/\s*=/,'')['trim']()[_0x42b0cc(0xba)]()));}return _0x5bd144[_0x42b0cc(0x13b)]((_0x168921,_0x5a954d)=>{const _0xa04d2=_0x42b0cc;if(_0x41fd30[_0x5a954d]){const _0x58439e=_0x41fd30[_0x5a954d],_0x39f8fb=SENSITIVE_PARAM_PATTERNS['some'](_0x26f786=>_0x58439e['includes'](_0x26f786));if(_0x39f8fb)return _0xa04d2(0xe1);}if(typeof _0x168921===_0xa04d2(0xe6)&&_0x4f7c6e['hANXR'](_0x168921['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0xa04d2(0x8a)](_0x168921)&&_0x168921[_0xa04d2(0x11f)]('.'))return _0xa04d2(0xf6);if(/^[a-fA-F0-9]{32,}$/[_0xa04d2(0x8a)](_0x168921))return _0x4f7c6e[_0xa04d2(0xe0)];}return _0x168921;});},parseQueryMetadata=_0x39e8d0=>{const _0xa8441a=a0_0xc69f3,_0x349060={'UKizh':_0xa8441a(0xd1),'zCjYB':'UPDATE','zLtZh':_0xa8441a(0x11c),'fjuZl':'TRANSACTION_BEGIN','uTQfi':_0xa8441a(0x136),'whaeW':'CREATE','Yhyfh':'DDL_CREATE','JKnkF':'ALTER','OSydG':'DDL_ALTER','Dswsj':_0xa8441a(0x10a)},_0x29db69=_0x39e8d0['trim'](),_0x239d2b=_0x29db69[_0xa8441a(0xbf)]();let _0xd2e29e=_0xa8441a(0x10d),_0x3fa322=null;if(_0x239d2b['startsWith']('SELECT')){_0xd2e29e=_0x349060[_0xa8441a(0x135)];const _0x342a0e=_0x29db69['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3fa322=_0x342a0e?_0x342a0e[0x1]:null;}else{if(_0x239d2b[_0xa8441a(0x13f)]('INSERT')){_0xd2e29e=_0xa8441a(0x73);const _0x42b5aa=_0x29db69['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3fa322=_0x42b5aa?_0x42b5aa[0x1]:null;}else{if(_0x239d2b['startsWith'](_0x349060[_0xa8441a(0xa4)])){_0xd2e29e=_0xa8441a(0xe7);const _0x34b14b=_0x29db69['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3fa322=_0x34b14b?_0x34b14b[0x1]:null;}else{if(_0x239d2b[_0xa8441a(0x13f)]('DELETE')){_0xd2e29e='DELETE';const _0x409186=_0x29db69[_0xa8441a(0x101)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3fa322=_0x409186?_0x409186[0x1]:null;}else{if(_0x239d2b[_0xa8441a(0x13f)](_0x349060[_0xa8441a(0x11e)])||_0x239d2b[_0xa8441a(0x13f)](_0xa8441a(0x112)))_0xd2e29e=_0x349060[_0xa8441a(0x111)];else{if(_0x239d2b['startsWith'](_0xa8441a(0x11a)))_0xd2e29e=_0xa8441a(0x94);else{if(_0x239d2b['startsWith'](_0x349060[_0xa8441a(0x117)]))_0xd2e29e=_0xa8441a(0xc0);else{if(_0x239d2b['startsWith'](_0x349060['whaeW']))_0xd2e29e=_0x349060[_0xa8441a(0x85)];else{if(_0x239d2b['startsWith'](_0x349060['JKnkF']))_0xd2e29e=_0x349060[_0xa8441a(0x13d)];else _0x239d2b[_0xa8441a(0x13f)](_0xa8441a(0xcd))&&(_0xd2e29e=_0x349060[_0xa8441a(0xb6)]);}}}}}}}}return{'type':_0xd2e29e,'table':_0x3fa322};},startQueryTimer=()=>{const _0x2f56f5=a0_0xc69f3,_0x82f25f={'NjrKa':function(_0x4832fc,_0x37cf1d){return _0x4832fc+_0x37cf1d;},'IXggG':function(_0x200f2c,_0x38f476){return _0x200f2c/_0x38f476;}},_0x5c3114=process[_0x2f56f5(0xe8)]();return()=>{const _0x51cd78=_0x2f56f5,[_0x5e1e60,_0x5a7861]=process[_0x51cd78(0xe8)](_0x5c3114);return parseFloat(_0x82f25f[_0x51cd78(0xf4)](_0x5e1e60*0x3e8,_0x82f25f['IXggG'](_0x5a7861,0xf4240))[_0x51cd78(0x125)](0x2));};},logQuery=(_0x4dd473,_0x3b60bb=[],_0x4add7f={})=>{const _0x5db08f=a0_0xc69f3,_0x4aafad={'clghv':'db_query','UDNKv':function(_0x2174ba,_0x197b29){return _0x2174ba(_0x197b29);},'empeI':function(_0x5c1b92,_0x4641e9){return _0x5c1b92>_0x4641e9;},'ZJacE':'unknown','jzTeX':function(_0x15c580,_0x4f651a){return _0x15c580!==_0x4f651a;},'SMClf':_0x5db08f(0xe4),'ByHGb':function(_0xb27521,_0x1e09f1){return _0xb27521===_0x1e09f1;},'eTVXf':_0x5db08f(0xce)};if(!sqlLogEnabled){logger['debug']({'event':_0x4aafad['clghv'],'query':_0x4dd473[_0x5db08f(0x145)](0x0,0xc8),'paramCount':_0x3b60bb['length']},_0x5db08f(0x134));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x5db08f(0x7d)}=_0x4add7f,{type:_0x2c91b8,table:_0x57ea22}=_0x4aafad[_0x5db08f(0x9e)](parseQueryMetadata,_0x4dd473),_0x1c2687={'event':_0x5db08f(0x97),'queryType':_0x2c91b8,'table':_0x57ea22,'query':_0x4dd473,'paramCount':_0x3b60bb[_0x5db08f(0xbb)],'dbType':dbType};sqlLogParams&&_0x4aafad['empeI'](_0x3b60bb[_0x5db08f(0xbb)],0x0)&&(_0x1c2687[_0x5db08f(0x11b)]=redactSensitiveParams(_0x3b60bb,_0x4dd473));duration!==null&&(_0x1c2687[_0x5db08f(0x70)]=duration,_0x1c2687['isSlow']=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x1c2687['rowsAffected']=rowsAffected);const _0x3e19d2=_0x57ea22||_0x4aafad[_0x5db08f(0xc7)];let _0x44ff7d='['+_0x2c91b8+']\x20'+_0x3e19d2;duration!==null&&(_0x44ff7d+='\x20('+duration+'ms)');const _0x340d67=_0x4aafad[_0x5db08f(0xd3)](duration,null)&&_0x4aafad['empeI'](duration,sqlLogSlowThreshold);let _0x489211='debug';if(_0x340d67)_0x44ff7d+='\x20[SLOW]',_0x489211=_0x4aafad[_0x5db08f(0x108)],logger[_0x5db08f(0xe4)](_0x1c2687,_0x44ff7d);else _0x4aafad[_0x5db08f(0xfe)](sqlLogLevel,_0x4aafad[_0x5db08f(0xac)])?(_0x489211=_0x4aafad[_0x5db08f(0xac)],logger['info'](_0x1c2687,_0x44ff7d)):logger[_0x5db08f(0x6c)](_0x1c2687,_0x44ff7d);writeToFileLog({..._0x1c2687,'level':_0x489211,'msg':_0x44ff7d,'time':new Date()[_0x5db08f(0x140)]()},_0x489211);},logTransaction=(_0x3e19c4,_0x2fb32c)=>{const _0x1bfa26=a0_0xc69f3,_0x551f17={'TIrxS':_0x1bfa26(0xad),'cBZwG':function(_0x4a9f6f,_0x577a45,_0x51785f){return _0x4a9f6f(_0x577a45,_0x51785f);},'HtxhG':'debug'},_0x3b9df8={'event':_0x551f17[_0x1bfa26(0x106)],'status':_0x3e19c4,'queryCount':_0x2fb32c},_0x52e5e8=_0x1bfa26(0x93)+_0x3e19c4;logger[_0x1bfa26(0x6c)](_0x3b9df8,_0x52e5e8),_0x551f17['cBZwG'](writeToFileLog,{..._0x3b9df8,'level':_0x551f17['HtxhG'],'msg':_0x52e5e8,'time':new Date()['toISOString']()},_0x551f17[_0x1bfa26(0x12f)]);},redactObject=_0x15e848=>{const _0x52d961=a0_0xc69f3,_0x435b2b={'dXaKn':function(_0x1c189f,_0x2da4db){return _0x1c189f!==_0x2da4db;},'KhNbP':_0x52d961(0xc5),'UYMFM':_0x52d961(0x80),'pBxpj':'passwd','bEuyb':_0x52d961(0xff),'ZLMoJ':_0x52d961(0x8c),'OVIqH':_0x52d961(0x120),'GbWau':_0x52d961(0x9c),'SnbBy':_0x52d961(0x109),'gjxTu':'refresh_token','cVAPl':'access_token','qPAsL':function(_0x5971ce,_0x399b21){return _0x5971ce===_0x399b21;}};if(!_0x15e848||_0x435b2b['dXaKn'](typeof _0x15e848,_0x435b2b['KhNbP']))return _0x15e848;const _0x3c058f=[_0x435b2b[_0x52d961(0xfa)],_0x435b2b[_0x52d961(0xdb)],'pwd','token',_0x435b2b[_0x52d961(0x84)],'apikey','api_key','authorization','creditcard',_0x435b2b['ZLMoJ'],_0x435b2b[_0x52d961(0x144)],_0x435b2b[_0x52d961(0x141)],'pin',_0x435b2b[_0x52d961(0xd5)],_0x52d961(0xd8),_0x435b2b['gjxTu'],_0x435b2b[_0x52d961(0xab)]],_0x46d60d=Array['isArray'](_0x15e848)?[..._0x15e848]:{..._0x15e848};for(const _0x397533 of Object[_0x52d961(0xf5)](_0x46d60d)){const _0x285a8e=_0x397533[_0x52d961(0xba)]();if(_0x3c058f[_0x52d961(0xb7)](_0x2f078c=>_0x285a8e['includes'](_0x2f078c)))_0x46d60d[_0x397533]=_0x52d961(0xe1);else _0x435b2b['qPAsL'](typeof _0x46d60d[_0x397533],_0x435b2b['KhNbP'])&&_0x435b2b['dXaKn'](_0x46d60d[_0x397533],null)&&(_0x46d60d[_0x397533]=redactObject(_0x46d60d[_0x397533]));}return _0x46d60d;},logError=(_0x46c874,_0x5318b1={},_0x433ff4=null)=>{const _0x4eb4a6=a0_0xc69f3,_0x38b3d8={'YLVmh':'error'},_0x4f3cc2={'event':'error','errorName':_0x46c874[_0x4eb4a6(0x6e)]||'Error','errorMessage':_0x46c874['message'],'errorCode':_0x46c874[_0x4eb4a6(0xd4)]||null,'stack':_0x46c874['stack'],..._0x5318b1},_0xc87ff1=_0x433ff4||'Error:\x20'+_0x46c874[_0x4eb4a6(0x92)];logger['error'](_0x4f3cc2,_0xc87ff1),writeToFileLog({..._0x4f3cc2,'level':_0x38b3d8[_0x4eb4a6(0xb0)],'msg':_0xc87ff1,'time':new Date()[_0x4eb4a6(0x140)]()},_0x38b3d8['YLVmh']);},logFatalError=(_0x5c892c,_0x5c1199={},_0x253d5f=null)=>{const _0x465486=a0_0xc69f3,_0x143c83={'thCJj':'fatal_error','aSBCk':'Error','qEkRQ':function(_0x384450,_0x3dfdc6,_0x7f96d){return _0x384450(_0x3dfdc6,_0x7f96d);},'nMkqn':_0x465486(0x13c),'mpYSn':_0x465486(0x87)},_0x1cfbb4={'event':_0x143c83['thCJj'],'errorName':_0x5c892c['name']||_0x143c83['aSBCk'],'errorMessage':_0x5c892c['message'],'errorCode':_0x5c892c[_0x465486(0xd4)]||null,'stack':_0x5c892c[_0x465486(0x114)],'severity':_0x465486(0xb1),..._0x5c1199},_0x2ae9b8=_0x253d5f||'FATAL:\x20'+_0x5c892c[_0x465486(0x92)];logger['fatal'](_0x1cfbb4,_0x2ae9b8),_0x143c83['qEkRQ'](writeToFileLog,{..._0x1cfbb4,'level':_0x143c83[_0x465486(0x12c)],'msg':_0x2ae9b8,'time':new Date()[_0x465486(0x140)]()},_0x143c83['mpYSn']);},logHttpError=(_0x4c3ed5,_0x519608,_0x11f363={})=>{const _0x946914=a0_0xc69f3,_0x4a5602={'MKKEH':_0x946914(0x7e),'oZLlo':'Error','sQbfp':_0x946914(0xd9),'gJBKT':function(_0x49a354,_0x31a8ba){return _0x49a354(_0x31a8ba);},'djVKX':function(_0xfeaccb,_0x438f9a){return _0xfeaccb>=_0x438f9a;},'jimSs':_0x946914(0x87),'viMMY':'warn'},_0xc71c4c={'event':_0x4a5602[_0x946914(0x119)],'errorName':_0x4c3ed5[_0x946914(0x6e)]||_0x4a5602['oZLlo'],'errorMessage':_0x4c3ed5['message'],'errorCode':_0x4c3ed5[_0x946914(0xd4)]||_0x4c3ed5[_0x946914(0x107)]||0x1f4,'stack':_0x4c3ed5['stack'],'method':_0x519608?.['method'],'url':_0x519608?.[_0x946914(0xa1)]||_0x519608?.[_0x946914(0xd2)],'path':_0x519608?.[_0x946914(0x100)],'ip':_0x519608?.['ip']||_0x519608?.[_0x946914(0xd6)]?.['remoteAddress'],'userAgent':_0x519608?.['get']?.('user-agent'),'requestId':_0x519608?.['id']||_0x519608?.['headers']?.[_0x4a5602[_0x946914(0x74)]],'body':_0x519608?.['body']?_0x4a5602[_0x946914(0xca)](redactObject,_0x519608['body']):undefined,'query':_0x519608?.['query'],..._0x11f363},_0x3d55da=_0x4c3ed5['statusCode']||_0x4c3ed5[_0x946914(0xc3)]||0x1f4,_0x1709a5='HTTP\x20'+_0x3d55da+':\x20'+_0x4c3ed5['message'];_0x4a5602['djVKX'](_0x3d55da,0x1f4)?logger['error'](_0xc71c4c,_0x1709a5):logger[_0x946914(0xe4)](_0xc71c4c,_0x1709a5),writeToFileLog({..._0xc71c4c,'level':_0x3d55da>=0x1f4?_0x4a5602['jimSs']:_0x4a5602[_0x946914(0x99)],'msg':_0x1709a5,'time':new Date()[_0x946914(0x140)]()},_0x3d55da>=0x1f4?'error':'warn');},logUncaughtError=(_0x1c4ff8,_0x1f1969)=>{const _0x73469e=a0_0xc69f3,_0x2c86cf={'HgeaU':function(_0x4a4d84,_0x272530){return _0x4a4d84(_0x272530);},'OrbEH':'CRITICAL','ZtpRj':function(_0x44954d,_0x26b02f,_0x12ed48){return _0x44954d(_0x26b02f,_0x12ed48);},'cIUzV':_0x73469e(0x13c)},_0x5e2ba0={'event':_0x1c4ff8,'errorName':_0x1f1969?.['name']||_0x73469e(0x113),'errorMessage':_0x1f1969?.['message']||_0x2c86cf[_0x73469e(0xdc)](String,_0x1f1969),'errorCode':_0x1f1969?.[_0x73469e(0xd4)]||null,'stack':_0x1f1969?.['stack'],'severity':_0x2c86cf['OrbEH'],'processId':process['pid'],'memoryUsage':process['memoryUsage'](),'uptime':process[_0x73469e(0x10e)]()},_0x3846ba='['+_0x1c4ff8[_0x73469e(0xbf)]()+']\x20'+(_0x1f1969?.['message']||_0x1f1969);logger['fatal'](_0x5e2ba0,_0x3846ba),_0x2c86cf[_0x73469e(0x103)](writeToFileLog,{..._0x5e2ba0,'level':_0x2c86cf[_0x73469e(0xfd)],'msg':_0x3846ba,'time':new Date()[_0x73469e(0x140)]()},'error');},setupGlobalErrorHandlers=()=>{const _0x52acb1=a0_0xc69f3,_0x54e74f={'aMAwp':function(_0x5a86ed,_0x2f3bf3,_0x3f8b46){return _0x5a86ed(_0x2f3bf3,_0x3f8b46);},'RjxfS':'uncaughtException','UYOlE':function(_0x12690e,_0x4887e9,_0x411fe6){return _0x12690e(_0x4887e9,_0x411fe6);},'KyrBx':function(_0x32587f,_0x4a30d9){return _0x32587f instanceof _0x4a30d9;},'AdCRl':function(_0x2e7078,_0x4980c0,_0x289e5d){return _0x2e7078(_0x4980c0,_0x289e5d);},'TyGJT':_0x52acb1(0x6d),'VwQtP':'unhandledRejection','OaJse':_0x52acb1(0xbe),'mrgqQ':function(_0x22ab4f,_0x4219cc,_0xc19ec4){return _0x22ab4f(_0x4219cc,_0xc19ec4);},'PaYaz':'info'};process['on']('uncaughtException',_0x57819a=>{const _0x4849bd=_0x52acb1;_0x54e74f[_0x4849bd(0x98)](logUncaughtError,_0x54e74f[_0x4849bd(0xc9)],_0x57819a),_0x54e74f['UYOlE'](setTimeout,()=>{const _0xb0aee3=_0x4849bd;process[_0xb0aee3(0x8e)](0x1);},0x3e8);}),process['on'](_0x54e74f[_0x52acb1(0xea)],(_0xbac36a,_0x282f3a)=>{const _0x4399d7=_0x54e74f['KyrBx'](_0xbac36a,Error)?_0xbac36a:new Error(String(_0xbac36a));_0x54e74f['AdCRl'](logUncaughtError,'unhandledRejection',_0x4399d7);}),process['on']('warning',_0x1e808b=>{const _0x52caf5=_0x52acb1;logger[_0x52caf5(0xe4)]({'event':_0x54e74f[_0x52caf5(0x76)],'name':_0x1e808b['name'],'message':_0x1e808b['message'],'stack':_0x1e808b['stack']},_0x52caf5(0xae)+_0x1e808b['message']);});const _0x32692b={'event':_0x54e74f[_0x52acb1(0xde)]},_0x40f021=_0x52acb1(0x71);logger['info'](_0x32692b,_0x40f021),_0x54e74f[_0x52acb1(0xfb)](writeToFileLog,{..._0x32692b,'level':_0x54e74f[_0x52acb1(0xaf)],'msg':_0x40f021,'time':new Date()[_0x52acb1(0x140)]()},_0x54e74f['PaYaz']);},createErrorHandlerMiddleware=()=>{const _0x12c02a={'PJPzA':function(_0xa07f34,_0x2277f6){return _0xa07f34>=_0x2277f6;},'aybNn':'Internal\x20server\x20error'};return(_0x49ba91,_0x4c497e,_0x46bc3a,_0x6b151c)=>{const _0x4733a4=a0_0x337a;logHttpError(_0x49ba91,_0x4c497e);const _0x4add2c=_0x49ba91[_0x4733a4(0x107)]||_0x49ba91['status']||0x1f4;_0x46bc3a['status'](_0x4add2c)[_0x4733a4(0xaa)]({'success':![],'error':_0x12c02a[_0x4733a4(0xbc)](_0x4add2c,0x1f4)?_0x12c02a[_0x4733a4(0x139)]:_0x49ba91['message'],'requestId':_0x4c497e['id']||_0x4c497e[_0x4733a4(0xbd)]?.[_0x4733a4(0xd9)]||null});};};module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
|
|
1
|
+
const a0_0x26c466=a0_0x23fa;(function(_0xcb88ad,_0x387ebc){const _0x1d1c6c=a0_0x23fa,_0x16f5bc=_0xcb88ad();while(!![]){try{const _0xbe3e95=-parseInt(_0x1d1c6c(0x1d2))/0x1*(parseInt(_0x1d1c6c(0x22d))/0x2)+-parseInt(_0x1d1c6c(0x23f))/0x3*(parseInt(_0x1d1c6c(0x21d))/0x4)+parseInt(_0x1d1c6c(0x27e))/0x5*(-parseInt(_0x1d1c6c(0x235))/0x6)+-parseInt(_0x1d1c6c(0x1f0))/0x7*(-parseInt(_0x1d1c6c(0x263))/0x8)+-parseInt(_0x1d1c6c(0x22a))/0x9*(parseInt(_0x1d1c6c(0x23a))/0xa)+-parseInt(_0x1d1c6c(0x1e4))/0xb*(-parseInt(_0x1d1c6c(0x268))/0xc)+parseInt(_0x1d1c6c(0x25b))/0xd*(parseInt(_0x1d1c6c(0x249))/0xe);if(_0xbe3e95===_0x387ebc)break;else _0x16f5bc['push'](_0x16f5bc['shift']());}catch(_0x2f9c75){_0x16f5bc['push'](_0x16f5bc['shift']());}}}(a0_0x45c9,0x352bc));const pino=require(a0_0x26c466(0x277)),fs=require('fs'),path=require(a0_0x26c466(0x21e));let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x26c466(0x215),'ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':a0_0x26c466(0x252),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env'][a0_0x26c466(0x1ca)]!==a0_0x26c466(0x22f),logLevel=process['env'][a0_0x26c466(0x1f9)]||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x26c466(0x238)]['APP_VERSION']||'1.0.5','env':process[a0_0x26c466(0x238)][a0_0x26c466(0x1ca)]||'development'},'timestamp':pino[a0_0x26c466(0x236)]['isoTime'],'redact':{'paths':['req.headers.authorization','req.headers[\x22x-api-key\x22]',a0_0x26c466(0x1e3),a0_0x26c466(0x267),'apiKey','DB_PASSWORD',a0_0x26c466(0x1d3)],'censor':a0_0x26c466(0x257)},'serializers':{'req':_0x59c99c=>({'id':_0x59c99c['id'],'method':_0x59c99c[a0_0x26c466(0x217)],'url':_0x59c99c[a0_0x26c466(0x1f6)],'path':_0x59c99c['path'],'remoteAddress':_0x59c99c['ip']||_0x59c99c['connection']?.['remoteAddress']}),'res':_0x5615d9=>({'statusCode':_0x5615d9[a0_0x26c466(0x1db)],'headers':_0x5615d9['getHeaders']?.()}),'err':pino['stdSerializers']['err']}});function initFileLogging(){const _0x1eea99=a0_0x26c466,_0x386df6={'vgkcv':'true','iPGCN':'debug','gPxyu':'false','WdhaD':_0x1eea99(0x213),'GbFPl':_0x1eea99(0x1e1),'pklWd':'error.log','nVjQM':function(_0x20cbb6,_0x45194b,_0x2be05d){return _0x20cbb6(_0x45194b,_0x2be05d);},'WYCzJ':_0x1eea99(0x26c)};if(fileLoggingInitialized)return;logToFile=process['env'][_0x1eea99(0x207)]===_0x386df6[_0x1eea99(0x1d6)];const _0x3bde1f=process[_0x1eea99(0x238)]['RESTFORGE_PROJECT_NAME']||'default';logDir=process['env'][_0x1eea99(0x1f4)]||'./logs/'+_0x3bde1f,serviceName=process[_0x1eea99(0x238)]['SERVICE_NAME']||_0x1eea99(0x27f),sqlLogEnabled=process[_0x1eea99(0x238)][_0x1eea99(0x20a)]==='true',sqlLogLevel=process['env']['SQL_LOG_LEVEL']||_0x386df6[_0x1eea99(0x1ce)],sqlLogParams=process[_0x1eea99(0x238)]['SQL_LOG_PARAMS']!==_0x386df6['gPxyu'],sqlLogSlowThreshold=parseInt(process[_0x1eea99(0x238)]['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x1d7519=path['resolve'](process[_0x1eea99(0x21c)](),logDir);try{!fs['existsSync'](_0x1d7519)&&fs[_0x1eea99(0x241)](_0x1d7519,{'recursive':!![]});}catch(_0x4880b0){console['error'](_0x1eea99(0x24e)+_0x1d7519+':',_0x4880b0['message']),fileLoggingInitialized=!![];return;}const _0x21d4b6=path[_0x1eea99(0x20d)](_0x1d7519,_0x386df6[_0x1eea99(0x1cd)]),_0x1d989a=path['join'](_0x1d7519,_0x1eea99(0x262));try{appLogStream=fs[_0x1eea99(0x256)](_0x21d4b6,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x1d989a,{'flags':'a'}),fileLoggingInitialized=!![];const _0x40584b={'event':_0x386df6['GbFPl'],'logDir':_0x1d7519,'files':[_0x386df6['WdhaD'],_0x386df6[_0x1eea99(0x209)]]},_0x32fec9=_0x1eea99(0x24a)+_0x1d7519;logger[_0x1eea99(0x26c)](_0x40584b,_0x32fec9),_0x386df6['nVjQM'](writeToFileLog,{..._0x40584b,'level':_0x1eea99(0x26c),'msg':_0x32fec9,'time':new Date()['toISOString']()},_0x386df6['WYCzJ']);}catch(_0x2464b0){console['error'](_0x1eea99(0x211),_0x2464b0[_0x1eea99(0x1d8)]),fileLoggingInitialized=!![];}}function a0_0x45c9(){const _0x553871=['DuPdEwq','AM9PBG','icdIHPiG','Ahj0Aw1L','zw52AxjVBM1LBNq','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','tM9Kzs5QCW','yxbWlMXVzW','Dw5JyxvNAhrfEgnLChrPB24','u1LtoKHioK1noNnZ','rgvMyxvSDa','Bwv0Ag9K','BgvUz3rO','Ahr0Cf9LCNjVCG','vfjbtLnbq1rjt05FqKvhsu4','EMvXyMG','y3DK','nZe1mdbYze9YufO','Cgf0Aa','iokvKqRILzeGifbVCNqGicaGicaGidOG','DxnLCG','zxjYB3i','CgfZC3DK','C3fSx3f1zxj5','uMvnzvu','AgvHBhrOq2HLy2S','w1jfrefdveveoNrVA2vUxq','DgL0Dg4','vfjbtLnbq1rjt05FuK9mtejbq0S','iokvKqRILzeGienVBMzPzYaGicaGidOG','mtCWmdq2ow1wsg1vCG','thLACxq','zgjFDhjHBNnHy3rPB24','nhr5rfnoBG','C2vYDMvYx3n0yxj0Aw5N','ChjVzhvJDgLVBG','Bwf0y2G','DhjPBq','tK9uiefdveLwrq','qNjPwuq','B2fsree','mte2mdi3nhzQDwnyCG','C3rKvgLTzuz1BMn0Aw9UCW','y3jLzgL0y2fYza','zw52','iokvKqRILzeGifbYB2PLy3qGicaGidOG','mJbvC2PUwMy','D3jPDgu','AgvHzgvYCW','Ag9ZDa','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','ntDxww1TzKm','sfruuca','BwTKAxjtEw5J','y3jLzgL0x2nHCMq','su5trvju','C0HsvLi','y29Kzq','Ec1Yzxf1zxn0lwLK','Bg9N','AMrTCwi','ndCYmdq1me9Yz2X0DG','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','CgfKrw5K','AgnkvwW','ChjVy2vZC193yxjUAw5N','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','tvzsC0u','C2vJCMv0','D2fYBG','E21Zz30','zxHWB3j0CW','zgf0ywjHC2vFy29UzMLN','z2v0','y3jLyxrLv3jPDgvtDhjLyw0','w1jfrefdvevexq','zMf0ywW','v1Hmy0S','y2HPBgq','mJzYDMfeuwS','r2DOwK4','D2fYBMLUzW','Cg9YDa','Aw5JBhvKzxm','yxbPA2v5','Exjisgm','zxjYB3iUBg9N','odCWmteYzwnLrwnn','w09lxsbqCM9Qzwn0igXVywrLzdOG','Dxb0Aw1L','renXqM4','Dg9Rzw4','odrxtfnyt3O','ChjPDMf0zv9RzxK','y3jLzgvUDgLHBa','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','Aw5MBW','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','CMvWBgfJzq','AgfnqLO','uunyq1O','quXurvi','CMvWzwf0','rgf0ywjHC2u6ia','ANDAy3K','CuXzze8','revmrvrf','CgLUBW','EgPNtMO','DurnEue','BxmP','qKvhsu4','BgzfBgq','rKfuquW6ia','nurlA0LYsW','CMvZDgzVCMDL','C3vIC3rYAw5N','sw50zxjUywWGC2vYDMvYigvYCM9Y','yM9KEq','y3jLzgvUDgLHBhm','q1jfqvrf','tK9erv9ftLy','vKXuAMi','zw5KCg9PBNrFCMvNAxn0zxjLza','v2rOyuq','Avbhq04','AxntBg93','uM5tA0G','CxvLCNK','mtG4mtDLwxDYtvq','sLDux1nfq1jfva','B2jQzwn0','zu13uve','DMDRy3y','yxv0Ag9YAxPHDgLVBG','BwvZC2fNzq','DeXxqvu','Dg9ju09tDhjPBMC','C3rHDhvZq29Kzq','vfjbtLnbq1rjt05Fq09ntuLu','C3rHCNrZv2L0Aa','A2Dhr04','AxbrwKS','C3rHDhvZ','zMLSzv9SB2DNAw5Nx2vUywjSzwq','uKvQDM4','CgfZC3DVCMq','nJaYmtyYywjzvurq','yxbPs2v5','w1jfrefdveveoMHHC2HD','ELHSuu4','ChjPDMf0zwTLEq','u0vmrunu','y2Dnsuq','iokvKqRILzeGiefqssblzxKGicaGidOG','yKDAA00','DfvwthC','zKjAvhK','ChDK','n0z4zhLvCq','C3rHy2S','vKfsruq','C3rYAw5NAwz5','te9hx0rjuG','u1rbuLqGvfjbtLnbq1rjt04','DxjS','zgvIDwC','DgvZDa','te9hx0XfvKvm','BwvTB3j5vxnHz2u','CgLU','C29Tzq','zufwDeK','uNbyBMi','BwfW','ic0G','ANnVBG','Bffctuy','rxjYB3i','BMfTzq','twPKs1O','y29UBMvJDgLVBG','te9hx1rpx0zjteu','zgf0ywjHC2u','CgTSv2q','u1fmx0Xpr19ftKfcteve','ChjVAMvJDa'];a0_0x45c9=function(){return _0x553871;};return a0_0x45c9();}function a0_0x23fa(_0x1f67ce,_0x4e8ff7){_0x1f67ce=_0x1f67ce-0x1c6;const _0x45c90a=a0_0x45c9();let _0x23fa44=_0x45c90a[_0x1f67ce];if(a0_0x23fa['wVecUi']===undefined){var _0x3e42d2=function(_0x3227d0){const _0x568c8e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x350037='',_0x1fe605='';for(let _0x1932ba=0x0,_0xbc8e7d,_0x10615b,_0x16f839=0x0;_0x10615b=_0x3227d0['charAt'](_0x16f839++);~_0x10615b&&(_0xbc8e7d=_0x1932ba%0x4?_0xbc8e7d*0x40+_0x10615b:_0x10615b,_0x1932ba++%0x4)?_0x350037+=String['fromCharCode'](0xff&_0xbc8e7d>>(-0x2*_0x1932ba&0x6)):0x0){_0x10615b=_0x568c8e['indexOf'](_0x10615b);}for(let _0x63ba20=0x0,_0x179ad6=_0x350037['length'];_0x63ba20<_0x179ad6;_0x63ba20++){_0x1fe605+='%'+('00'+_0x350037['charCodeAt'](_0x63ba20)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1fe605);};a0_0x23fa['VsbZTI']=_0x3e42d2,a0_0x23fa['JDzyje']={},a0_0x23fa['wVecUi']=!![];}const _0x1167d4=_0x45c90a[0x0],_0x518418=_0x1f67ce+_0x1167d4,_0x5b191b=a0_0x23fa['JDzyje'][_0x518418];return!_0x5b191b?(_0x23fa44=a0_0x23fa['VsbZTI'](_0x23fa44),a0_0x23fa['JDzyje'][_0x518418]=_0x23fa44):_0x23fa44=_0x5b191b,_0x23fa44;}function writeToFileLog(_0xf57dff,_0x105e0a){const _0x22f707=a0_0x26c466,_0x2bf0cc={'lQBMF':function(_0x38fd9c,_0x480065){return _0x38fd9c||_0x480065;},'GXPzl':function(_0x387bac,_0x459e77){return _0x387bac===_0x459e77;},'lfEld':'error','wIfNC':function(_0x320a0a,_0x31042f){return _0x320a0a===_0x31042f;}};if(_0x2bf0cc[_0x22f707(0x202)](!logToFile,!appLogStream))return;const _0x21f147={'service':serviceName,..._0xf57dff},_0xdc8cc6=JSON[_0x22f707(0x1f3)](_0x21f147)+'\x0a';appLogStream['write'](_0xdc8cc6),(_0x2bf0cc['GXPzl'](_0x105e0a,_0x2bf0cc[_0x22f707(0x27c)])||_0x2bf0cc['wIfNC'](_0x105e0a,'fatal'))&&(errorLogStream&&errorLogStream[_0x22f707(0x23b)](_0xdc8cc6));}const createRequestLogger=(_0x48f446={})=>{const _0xd4fab7=a0_0x26c466;return logger[_0xd4fab7(0x25a)](_0x48f446);},logServerStart=_0x1ad23c=>{const _0x5e2ff4=a0_0x26c466,_0x37cea1={'uJCyd':_0x5e2ff4(0x26b),'hWgaA':function(_0x19754c,_0xa85b6){return _0x19754c/_0xa85b6;},'VARED':function(_0x23b93e,_0x519897){return _0x23b93e-_0x519897;},'jcUpd':'N/A','klMrQ':_0x5e2ff4(0x216),'olncC':_0x5e2ff4(0x22e)},_0x1f2f31=_0x37cea1[_0x5e2ff4(0x20c)],_0x5daaf0=Math['max'](0x0,0x37-_0x1f2f31['length']),_0x26c079=Math['floor'](_0x37cea1['hWgaA'](_0x5daaf0,0x2)),_0x107018=_0x37cea1[_0x5e2ff4(0x1f2)](_0x5daaf0,_0x26c079),_0x11538f='║'+'\x20'[_0x5e2ff4(0x272)](_0x26c079)+_0x1f2f31+'\x20'[_0x5e2ff4(0x272)](_0x107018)+'║',_0xb7df4d='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x11538f+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x1ad23c[_0x5e2ff4(0x210)]||_0x5e2ff4(0x212))['padEnd'](0x26)+_0x5e2ff4(0x239)+(_0x1ad23c[_0x5e2ff4(0x20b)]||_0x37cea1['jcUpd'])[_0x5e2ff4(0x24b)](0x26)+_0x5e2ff4(0x21f)+String(_0x1ad23c[_0x5e2ff4(0x25e)]||0xbb8)[_0x5e2ff4(0x24b)](0x26)+_0x5e2ff4(0x229)+(_0x1ad23c['configFile']||_0x37cea1['klMrQ'])[_0x5e2ff4(0x24b)](0x26)+_0x5e2ff4(0x1eb)+(_0x1ad23c[_0x5e2ff4(0x1e5)]?'ACTIVE':_0x5e2ff4(0x232))[_0x5e2ff4(0x24b)](0x26)+_0x5e2ff4(0x26d);console[_0x5e2ff4(0x247)](_0xb7df4d);const _0x565f20={'event':_0x37cea1['olncC'],'project':_0x1ad23c[_0x5e2ff4(0x20b)],'port':_0x1ad23c['port'],'config':_0x1ad23c['configFile'],'apiKeyEnabled':!!_0x1ad23c[_0x5e2ff4(0x1e5)]};logger[_0x5e2ff4(0x26c)](_0x565f20),writeToFileLog({..._0x565f20,'level':'info','msg':'Server\x20starting:\x20'+_0x1ad23c['project']+'\x20on\x20port\x20'+_0x1ad23c['port'],'time':new Date()['toISOString']()},_0x5e2ff4(0x26c));},logServerReady=_0x653488=>{const _0x489f47=a0_0x26c466,_0x486230={'haMBZ':'server_ready','GghZN':'info'},_0x305783={'event':_0x486230[_0x489f47(0x26f)],'port':_0x653488['port'],'module':_0x653488['module'],'healthCheck':_0x653488[_0x489f47(0x225)],'serviceInfo':_0x653488['serviceInfo'],'baseUrl':_0x653488['baseUrl']},_0x4237d9=_0x489f47(0x23e)+_0x653488['port'];logger[_0x489f47(0x26c)](_0x305783,_0x4237d9),writeToFileLog({..._0x305783,'level':_0x486230[_0x489f47(0x25c)],'msg':_0x4237d9,'time':new Date()[_0x489f47(0x1da)]()},_0x486230['GghZN']),_0x653488[_0x489f47(0x225)]&&logger[_0x489f47(0x26c)]('\x20\x20Health:\x20'+_0x653488[_0x489f47(0x225)]),_0x653488['serviceInfo']&&logger[_0x489f47(0x26c)]('\x20\x20Info:\x20\x20\x20'+_0x653488['serviceInfo']),_0x653488['baseUrl']&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0x653488['baseUrl']);},logProjectLoaded=(_0x57753f,_0xc60a6d)=>{const _0x148c09=a0_0x26c466,_0x5f0976={'Gqnsn':'project_loaded','tittn':_0x148c09(0x26c)},_0x3df54b={'event':_0x5f0976['Gqnsn'],'project':_0x57753f,'path':_0xc60a6d},_0x4d0305=_0x148c09(0x264)+_0x57753f;logger[_0x148c09(0x26c)](_0x3df54b,_0x4d0305),writeToFileLog({..._0x3df54b,'level':'info','msg':_0x4d0305,'time':new Date()[_0x148c09(0x1da)]()},_0x5f0976[_0x148c09(0x227)]);},logEndpointRegistered=(_0xb386e0,_0x2c8c2e)=>{const _0x384221=a0_0x26c466,_0x137971={'qLYdO':_0x384221(0x1cc),'wQHSC':'debug'},_0x199fa1={'event':_0x137971[_0x384221(0x275)],'endpoint':_0xb386e0,'route':_0x2c8c2e},_0x13687c=_0x384221(0x20e)+_0xb386e0+':\x20'+_0x2c8c2e;logger[_0x384221(0x1f7)](_0x199fa1,_0x13687c),writeToFileLog({..._0x199fa1,'level':_0x137971['wQHSC'],'msg':_0x13687c,'time':new Date()['toISOString']()},'debug');},logDatabaseConfig=_0x52c5a1=>{const _0x15e5e4=a0_0x26c466,_0x46c9a={'DTzqI':_0x15e5e4(0x254),'kgGGN':'debug'},_0x3b1eb2={'event':_0x46c9a['DTzqI'],'host':_0x52c5a1[_0x15e5e4(0x23d)],'port':_0x52c5a1['port'],'database':_0x52c5a1['database'],'type':_0x52c5a1['type'],'user':_0x52c5a1[_0x15e5e4(0x220)]},_0xf2abdf=_0x15e5e4(0x273)+_0x52c5a1['type']+'://'+_0x52c5a1[_0x15e5e4(0x23d)]+':'+_0x52c5a1[_0x15e5e4(0x25e)]+'/'+_0x52c5a1[_0x15e5e4(0x208)];logger[_0x15e5e4(0x1f7)](_0x3b1eb2,_0xf2abdf),writeToFileLog({..._0x3b1eb2,'level':'debug','msg':_0xf2abdf,'time':new Date()[_0x15e5e4(0x1da)]()},_0x46c9a[_0x15e5e4(0x1de)]);},logRequest=(_0xac83ff,_0x5b598a,_0x403f96)=>{const _0x18895e=a0_0x26c466,_0x4d4c77={'kEXyH':'http_request','GFTzd':function(_0x389052,_0xefc5b7){return _0x389052>=_0xefc5b7;},'eMwQQ':'error','oniBr':function(_0x857522,_0x10e6b9,_0x30fe5c){return _0x857522(_0x10e6b9,_0x30fe5c);}},_0x5ba05a={'event':_0x4d4c77['kEXyH'],'method':_0xac83ff['method'],'path':_0xac83ff['path'],'statusCode':_0x5b598a[_0x18895e(0x1db)],'durationMs':_0x403f96,'ip':_0xac83ff['ip']},_0x556be4=_0xac83ff[_0x18895e(0x217)]+'\x20'+_0xac83ff[_0x18895e(0x21e)]+_0x18895e(0x200)+_0x5b598a[_0x18895e(0x1db)]+'\x20('+_0x403f96+'ms)';let _0x2c2680=_0x18895e(0x26c);if(_0x4d4c77['GFTzd'](_0x5b598a[_0x18895e(0x1db)],0x1f4))_0x2c2680=_0x4d4c77[_0x18895e(0x1d5)],logger[_0x18895e(0x221)](_0x5ba05a,_0x556be4);else _0x5b598a['statusCode']>=0x190?(_0x2c2680='warn',logger['warn'](_0x5ba05a,_0x556be4)):logger['info'](_0x5ba05a,_0x556be4);_0x4d4c77['oniBr'](writeToFileLog,{..._0x5ba05a,'level':_0x2c2680,'msg':_0x556be4,'time':new Date()['toISOString']()},_0x2c2680);},SENSITIVE_PARAM_PATTERNS=[a0_0x26c466(0x1e3),a0_0x26c466(0x222),a0_0x26c466(0x1ef),a0_0x26c466(0x267),'access_token','refresh_token',a0_0x26c466(0x250),'api_secret','apikey','api_key',a0_0x26c466(0x26a),a0_0x26c466(0x1c8),a0_0x26c466(0x1fb),'otp',a0_0x26c466(0x269),'privatekey'],redactSensitiveParams=(_0x5a0ed9,_0x2ef030)=>{const _0xe264a1=a0_0x26c466,_0x508988={'Whkga':'string','ReMeU':function(_0x5c638c,_0x1a51a4){return _0x5c638c>_0x1a51a4;}};if(!_0x5a0ed9||_0x5a0ed9['length']===0x0)return _0x5a0ed9;const _0x4fa07c=_0x2ef030['toLowerCase'](),_0x389e9d=_0x4fa07c[_0xe264a1(0x230)](/\(([^)]+)\)\s*values/i);let _0x34288a=[];_0x389e9d&&(_0x34288a=_0x389e9d[0x1]['split'](',')[_0xe264a1(0x1ff)](_0x2c9594=>_0x2c9594['trim']()['toLowerCase']()));const _0x41936f=_0x4fa07c['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x41936f){const _0x243ba9=_0x41936f[0x1],_0xa5b0cc=_0x243ba9['match'](/(\w+)\s*=/g);_0xa5b0cc&&(_0x34288a=_0xa5b0cc[_0xe264a1(0x1ff)](_0x273ca0=>_0x273ca0[_0xe264a1(0x26e)](/\s*=/,'')[_0xe264a1(0x231)]()['toLowerCase']()));}return _0x5a0ed9[_0xe264a1(0x1ff)]((_0x1cb03c,_0x427954)=>{const _0x2ea27c=_0xe264a1;if(_0x34288a[_0x427954]){const _0xdfff22=_0x34288a[_0x427954],_0xfa2213=SENSITIVE_PARAM_PATTERNS[_0x2ea27c(0x1fc)](_0x26053b=>_0xdfff22[_0x2ea27c(0x25f)](_0x26053b));if(_0xfa2213)return _0x2ea27c(0x257);}if(typeof _0x1cb03c===_0x508988['Whkga']&&_0x508988[_0x2ea27c(0x224)](_0x1cb03c['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x2ea27c(0x1f8)](_0x1cb03c)&&_0x1cb03c[_0x2ea27c(0x25f)]('.'))return _0x2ea27c(0x226);if(/^[a-fA-F0-9]{32,}$/['test'](_0x1cb03c))return _0x2ea27c(0x1e6);}return _0x1cb03c;});},parseQueryMetadata=_0x249b57=>{const _0x1921de=a0_0x26c466,_0x1418a8={'LyZqt':'UNKNOWN','mtaqV':_0x1921de(0x1e9),'jdmqb':'UPDATE','fBZTy':_0x1921de(0x276),'hcJUl':_0x1921de(0x27b),'Mqzrw':_0x1921de(0x21a),'xjgNj':_0x1921de(0x1dc),'eAVtI':'ROLLBACK','GFbET':_0x1921de(0x1c9),'ULFjk':'DDL_CREATE','REjvn':_0x1921de(0x271),'TLXOE':'DDL_ALTER','xMQRw':'DROP'},_0x3f5ac8=_0x249b57[_0x1921de(0x231)](),_0x46f29d=_0x3f5ac8['toUpperCase']();let _0x5dfc72=_0x1418a8[_0x1921de(0x22b)],_0x2c8c8f=null;if(_0x46f29d['startsWith'](_0x1418a8['mtaqV'])){_0x5dfc72=_0x1418a8['mtaqV'];const _0x1b66d1=_0x3f5ac8['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2c8c8f=_0x1b66d1?_0x1b66d1[0x1]:null;}else{if(_0x46f29d['startsWith'](_0x1921de(0x243))){_0x5dfc72=_0x1921de(0x243);const _0xbb3a92=_0x3f5ac8['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2c8c8f=_0xbb3a92?_0xbb3a92[0x1]:null;}else{if(_0x46f29d['startsWith'](_0x1418a8[_0x1921de(0x248)])){_0x5dfc72=_0x1418a8[_0x1921de(0x248)];const _0x44ee73=_0x3f5ac8['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2c8c8f=_0x44ee73?_0x44ee73[0x1]:null;}else{if(_0x46f29d[_0x1921de(0x1dd)](_0x1418a8[_0x1921de(0x1ee)])){_0x5dfc72=_0x1418a8[_0x1921de(0x1ee)];const _0x2a187a=_0x3f5ac8['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2c8c8f=_0x2a187a?_0x2a187a[0x1]:null;}else{if(_0x46f29d['startsWith'](_0x1418a8[_0x1921de(0x24c)])||_0x46f29d['startsWith'](_0x1921de(0x1f5)))_0x5dfc72=_0x1418a8['Mqzrw'];else{if(_0x46f29d['startsWith']('COMMIT'))_0x5dfc72=_0x1418a8[_0x1921de(0x278)];else{if(_0x46f29d[_0x1921de(0x1dd)](_0x1418a8[_0x1921de(0x1fd)]))_0x5dfc72=_0x1921de(0x228);else{if(_0x46f29d['startsWith'](_0x1418a8['GFbET']))_0x5dfc72=_0x1418a8['ULFjk'];else{if(_0x46f29d['startsWith'](_0x1418a8[_0x1921de(0x1e2)]))_0x5dfc72=_0x1418a8['TLXOE'];else _0x46f29d[_0x1921de(0x1dd)](_0x1418a8['xMQRw'])&&(_0x5dfc72='DDL_DROP');}}}}}}}}return{'type':_0x5dfc72,'table':_0x2c8c8f};},startQueryTimer=()=>{const _0x47e967={'otsgb':function(_0x3fefe5,_0x30e9e8){return _0x3fefe5(_0x30e9e8);},'WXLcK':function(_0x3ec580,_0x4896c3){return _0x3ec580*_0x4896c3;}},_0x52032e=process['hrtime']();return()=>{const _0x21a1d2=a0_0x23fa,[_0x11b8b1,_0x4c6d4a]=process[_0x21a1d2(0x20f)](_0x52032e);return _0x47e967['otsgb'](parseFloat,(_0x47e967[_0x21a1d2(0x259)](_0x11b8b1,0x3e8)+_0x4c6d4a/0xf4240)['toFixed'](0x2));};},logQuery=(_0x1f815f,_0x359c2f=[],_0x3bdfe0={})=>{const _0x1ea7a8=a0_0x26c466,_0x2673ce={'jwZcy':function(_0x2061e4,_0x1a8572){return _0x2061e4>_0x1a8572;},'RnSkH':function(_0x329591,_0x9d3a4a,_0x4fe378){return _0x329591(_0x9d3a4a,_0x4fe378);},'zeqbh':function(_0x1fb33e,_0x3c3460){return _0x1fb33e!==_0x3c3460;},'zXlQN':function(_0x448fe4,_0x3489df){return _0x448fe4>_0x3489df;},'ByPDS':function(_0x49587a,_0x3dbedb){return _0x49587a||_0x3dbedb;},'oaRDA':_0x1ea7a8(0x1f7),'Xdkqc':'\x20[SLOW]','yrHHc':'warn','XZnxd':function(_0x4b0474,_0x439316){return _0x4b0474===_0x439316;},'VwraB':'info'};if(!sqlLogEnabled){logger[_0x1ea7a8(0x1f7)]({'event':'db_query','query':_0x1f815f[_0x1ea7a8(0x280)](0x0,0xc8),'paramCount':_0x359c2f[_0x1ea7a8(0x218)]},'DB\x20Query');return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x3bdfe0,{type:_0x30b064,table:_0x386537}=parseQueryMetadata(_0x1f815f),_0xd9491d={'event':_0x1ea7a8(0x223),'queryType':_0x30b064,'table':_0x386537,'query':_0x1f815f,'paramCount':_0x359c2f['length'],'dbType':dbType};sqlLogParams&&_0x2673ce[_0x1ea7a8(0x274)](_0x359c2f[_0x1ea7a8(0x218)],0x0)&&(_0xd9491d['params']=_0x2673ce[_0x1ea7a8(0x1d0)](redactSensitiveParams,_0x359c2f,_0x1f815f));_0x2673ce[_0x1ea7a8(0x21b)](duration,null)&&(_0xd9491d['durationMs']=duration,_0xd9491d[_0x1ea7a8(0x1cf)]=_0x2673ce[_0x1ea7a8(0x1e7)](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0xd9491d['rowsAffected']=rowsAffected);const _0x40232b=_0x2673ce['ByPDS'](_0x386537,'unknown');let _0x456a06='['+_0x30b064+']\x20'+_0x40232b;_0x2673ce[_0x1ea7a8(0x21b)](duration,null)&&(_0x456a06+='\x20('+duration+_0x1ea7a8(0x27a));const _0x10836d=duration!==null&&_0x2673ce['zXlQN'](duration,sqlLogSlowThreshold);let _0x4c8b33=_0x2673ce[_0x1ea7a8(0x234)];if(_0x10836d)_0x456a06+=_0x2673ce['Xdkqc'],_0x4c8b33=_0x2673ce[_0x1ea7a8(0x261)],logger[_0x1ea7a8(0x251)](_0xd9491d,_0x456a06);else _0x2673ce['XZnxd'](sqlLogLevel,_0x1ea7a8(0x26c))?(_0x4c8b33=_0x2673ce['VwraB'],logger[_0x1ea7a8(0x26c)](_0xd9491d,_0x456a06)):logger['debug'](_0xd9491d,_0x456a06);_0x2673ce['RnSkH'](writeToFileLog,{..._0xd9491d,'level':_0x4c8b33,'msg':_0x456a06,'time':new Date()['toISOString']()},_0x4c8b33);},logTransaction=(_0x3d73aa,_0x46f67f)=>{const _0x5abef5=a0_0x26c466,_0x2081e1={'event':_0x5abef5(0x22c),'status':_0x3d73aa,'queryCount':_0x46f67f},_0x2c2337='Transaction\x20'+_0x3d73aa;logger[_0x5abef5(0x1f7)](_0x2081e1,_0x2c2337),writeToFileLog({..._0x2081e1,'level':'debug','msg':_0x2c2337,'time':new Date()[_0x5abef5(0x1da)]()},_0x5abef5(0x1f7));},redactObject=_0x4ea49d=>{const _0x55ed0d=a0_0x26c466,_0x3d626d={'ipQZK':_0x55ed0d(0x1d4),'tUVLw':'password','bzLdb':_0x55ed0d(0x222),'yrdDS':'secret','MjdKZ':_0x55ed0d(0x1d7),'MVRsE':_0x55ed0d(0x237),'RgCSI':_0x55ed0d(0x242),'VLTjb':'cvv','PUcxl':'ssn','cgMID':'access_token','bytCv':function(_0x446cbc,_0x3afd2a){return _0x446cbc===_0x3afd2a;}};if(!_0x4ea49d||typeof _0x4ea49d!==_0x3d626d[_0x55ed0d(0x1df)])return _0x4ea49d;const _0x28d573=[_0x3d626d[_0x55ed0d(0x1ed)],_0x3d626d['bzLdb'],'pwd',_0x55ed0d(0x267),_0x3d626d['yrdDS'],_0x55ed0d(0x260),'api_key',_0x3d626d[_0x55ed0d(0x205)],_0x3d626d[_0x55ed0d(0x24f)],_0x3d626d['RgCSI'],_0x3d626d[_0x55ed0d(0x1cb)],_0x3d626d['PUcxl'],'pin','private_key',_0x55ed0d(0x1e8),'refresh_token',_0x3d626d[_0x55ed0d(0x1ea)]],_0x54aa8b=Array['isArray'](_0x4ea49d)?[..._0x4ea49d]:{..._0x4ea49d};for(const _0x4a3255 of Object['keys'](_0x54aa8b)){const _0x5ebc54=_0x4a3255['toLowerCase']();if(_0x28d573[_0x55ed0d(0x1fc)](_0x3b12ee=>_0x5ebc54['includes'](_0x3b12ee)))_0x54aa8b[_0x4a3255]=_0x55ed0d(0x257);else _0x3d626d['bytCv'](typeof _0x54aa8b[_0x4a3255],'object')&&_0x54aa8b[_0x4a3255]!==null&&(_0x54aa8b[_0x4a3255]=redactObject(_0x54aa8b[_0x4a3255]));}return _0x54aa8b;},logError=(_0x4648b7,_0x4900e3={},_0x1e4c8e=null)=>{const _0x5db4bf=a0_0x26c466,_0x48a656={'OFrRp':'error','MuPyk':_0x5db4bf(0x203),'WTDbq':function(_0x34ff71,_0x39d6d2,_0x22271f){return _0x34ff71(_0x39d6d2,_0x22271f);}},_0x3eac40={'event':_0x48a656['OFrRp'],'errorName':_0x4648b7[_0x5db4bf(0x204)]||_0x48a656['MuPyk'],'errorMessage':_0x4648b7['message'],'errorCode':_0x4648b7[_0x5db4bf(0x245)]||null,'stack':_0x4648b7[_0x5db4bf(0x1f1)],..._0x4900e3},_0x14f2a1=_0x1e4c8e||'Error:\x20'+_0x4648b7['message'];logger['error'](_0x3eac40,_0x14f2a1),_0x48a656['WTDbq'](writeToFileLog,{..._0x3eac40,'level':'error','msg':_0x14f2a1,'time':new Date()['toISOString']()},_0x48a656['OFrRp']);},logFatalError=(_0x2af8a4,_0x393a3c={},_0x390817=null)=>{const _0x224337=a0_0x26c466,_0x514cb7={'DCqBn':'fatal_error','zAylK':'Error','QCXCZ':_0x224337(0x258)},_0xeaa78e={'event':_0x514cb7[_0x224337(0x266)],'errorName':_0x2af8a4['name']||_0x514cb7['zAylK'],'errorMessage':_0x2af8a4['message'],'errorCode':_0x2af8a4[_0x224337(0x245)]||null,'stack':_0x2af8a4['stack'],'severity':'CRITICAL',..._0x393a3c},_0x2bf161=_0x390817||_0x224337(0x27d)+_0x2af8a4['message'];logger['fatal'](_0xeaa78e,_0x2bf161),writeToFileLog({..._0xeaa78e,'level':_0x514cb7[_0x224337(0x270)],'msg':_0x2bf161,'time':new Date()[_0x224337(0x1da)]()},'error');},logHttpError=(_0x5949fa,_0x1dc7e2,_0x269cc5={})=>{const _0x23f6c5=a0_0x26c466,_0x412eea={'VAkMf':_0x23f6c5(0x203),'VcQBR':'user-agent','TtCtI':_0x23f6c5(0x246),'vdcMS':function(_0x1d1d80,_0x285767){return _0x1d1d80>=_0x285767;},'bGZkM':function(_0x3ab4cd,_0x1f9acf,_0x15a7ef){return _0x3ab4cd(_0x1f9acf,_0x15a7ef);},'ZzjYS':'error'},_0x3cb8cc={'event':_0x23f6c5(0x219),'errorName':_0x5949fa[_0x23f6c5(0x204)]||_0x412eea['VAkMf'],'errorMessage':_0x5949fa[_0x23f6c5(0x1d8)],'errorCode':_0x5949fa[_0x23f6c5(0x245)]||_0x5949fa[_0x23f6c5(0x1db)]||0x1f4,'stack':_0x5949fa['stack'],'method':_0x1dc7e2?.[_0x23f6c5(0x217)],'url':_0x1dc7e2?.[_0x23f6c5(0x1f6)]||_0x1dc7e2?.['originalUrl'],'path':_0x1dc7e2?.['path'],'ip':_0x1dc7e2?.['ip']||_0x1dc7e2?.[_0x23f6c5(0x206)]?.['remoteAddress'],'userAgent':_0x1dc7e2?.[_0x23f6c5(0x255)]?.(_0x412eea['VcQBR']),'requestId':_0x1dc7e2?.['id']||_0x1dc7e2?.[_0x23f6c5(0x23c)]?.[_0x412eea['TtCtI']],'body':_0x1dc7e2?.['body']?redactObject(_0x1dc7e2[_0x23f6c5(0x1c7)]):undefined,'query':_0x1dc7e2?.[_0x23f6c5(0x1d1)],..._0x269cc5},_0x12b202=_0x5949fa[_0x23f6c5(0x1db)]||_0x5949fa[_0x23f6c5(0x1e0)]||0x1f4,_0x54b3a9=_0x23f6c5(0x240)+_0x12b202+':\x20'+_0x5949fa['message'];_0x412eea['vdcMS'](_0x12b202,0x1f4)?logger['error'](_0x3cb8cc,_0x54b3a9):logger[_0x23f6c5(0x251)](_0x3cb8cc,_0x54b3a9),_0x412eea[_0x23f6c5(0x1ec)](writeToFileLog,{..._0x3cb8cc,'level':_0x12b202>=0x1f4?_0x412eea['ZzjYS']:'warn','msg':_0x54b3a9,'time':new Date()['toISOString']()},_0x12b202>=0x1f4?_0x23f6c5(0x221):'warn');},logUncaughtError=(_0x253597,_0x3499d2)=>{const _0x277a59=a0_0x26c466,_0x1040aa={'sHRVR':_0x277a59(0x203),'BriYD':'CRITICAL','bmkRz':'error'},_0x4bcd23={'event':_0x253597,'errorName':_0x3499d2?.[_0x277a59(0x204)]||_0x1040aa[_0x277a59(0x244)],'errorMessage':_0x3499d2?.[_0x277a59(0x1d8)]||String(_0x3499d2),'errorCode':_0x3499d2?.['code']||null,'stack':_0x3499d2?.[_0x277a59(0x1f1)],'severity':_0x1040aa[_0x277a59(0x233)],'processId':process['pid'],'memoryUsage':process[_0x277a59(0x1fa)](),'uptime':process[_0x277a59(0x265)]()},_0x4daa0f='['+_0x253597['toUpperCase']()+']\x20'+(_0x3499d2?.[_0x277a59(0x1d8)]||_0x3499d2);logger[_0x277a59(0x258)](_0x4bcd23,_0x4daa0f),writeToFileLog({..._0x4bcd23,'level':'fatal','msg':_0x4daa0f,'time':new Date()['toISOString']()},_0x1040aa['bmkRz']);},setupGlobalErrorHandlers=()=>{const _0xd5c5c=a0_0x26c466,_0x5c5d84={'uDMyA':function(_0x530912,_0x28f3c2,_0xf7de2){return _0x530912(_0x28f3c2,_0xf7de2);},'inWcX':function(_0x1e4ae5,_0x36dd74){return _0x1e4ae5 instanceof _0x36dd74;},'tLWAU':_0xd5c5c(0x24d),'OpRtL':_0xd5c5c(0x25d),'Nlutr':'global_error_handlers_setup','RpXnb':'Global\x20error\x20handlers\x20initialized','nehWR':_0xd5c5c(0x26c)};process['on']('uncaughtException',_0x53a4a9=>{const _0xb3f589=_0xd5c5c;_0x5c5d84[_0xb3f589(0x279)](logUncaughtError,_0xb3f589(0x214),_0x53a4a9),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on']('unhandledRejection',(_0x140e50,_0x3dbb0f)=>{const _0x2c5e49=_0xd5c5c,_0x1f2424=_0x5c5d84['inWcX'](_0x140e50,Error)?_0x140e50:new Error(String(_0x140e50));_0x5c5d84[_0x2c5e49(0x279)](logUncaughtError,'unhandledRejection',_0x1f2424);}),process['on'](_0x5c5d84['OpRtL'],_0x5e9cf0=>{const _0x3e6183=_0xd5c5c;logger['warn']({'event':_0x5c5d84[_0x3e6183(0x1d9)],'name':_0x5e9cf0['name'],'message':_0x5e9cf0['message'],'stack':_0x5e9cf0[_0x3e6183(0x1f1)]},'Process\x20Warning:\x20'+_0x5e9cf0['message']);});const _0x136c34={'event':_0x5c5d84['Nlutr']},_0x533b49=_0x5c5d84[_0xd5c5c(0x1fe)];logger['info'](_0x136c34,_0x533b49),writeToFileLog({..._0x136c34,'level':_0x5c5d84['nehWR'],'msg':_0x533b49,'time':new Date()[_0xd5c5c(0x1da)]()},'info');},createErrorHandlerMiddleware=()=>{const _0xc87a78={'JxQrR':function(_0x1e1050,_0x22e269,_0x18c1fc){return _0x1e1050(_0x22e269,_0x18c1fc);}};return(_0x4832c2,_0x2d953b,_0x41c233,_0x5e601f)=>{const _0x241902=a0_0x23fa;_0xc87a78['JxQrR'](logHttpError,_0x4832c2,_0x2d953b);const _0x241d9d=_0x4832c2[_0x241902(0x1db)]||_0x4832c2[_0x241902(0x1e0)]||0x1f4;_0x41c233[_0x241902(0x1e0)](_0x241d9d)[_0x241902(0x201)]({'success':![],'error':_0x241d9d>=0x1f4?_0x241902(0x1c6):_0x4832c2['message'],'requestId':_0x2d953b['id']||_0x2d953b[_0x241902(0x23c)]?.[_0x241902(0x246)]||null});};};module[a0_0x26c466(0x253)]={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x4260d0=a0_0x101e;(function(_0x3b4c8f,_0x6cd6fa){const _0x333541=a0_0x101e,_0x197d2e=_0x3b4c8f();while(!![]){try{const _0x4fa131=parseInt(_0x333541(0xf9))/0x1*(-parseInt(_0x333541(0xfe))/0x2)+-parseInt(_0x333541(0x104))/0x3*(parseInt(_0x333541(0x118))/0x4)+-parseInt(_0x333541(0x113))/0x5*(parseInt(_0x333541(0x101))/0x6)+-parseInt(_0x333541(0xf3))/0x7*(-parseInt(_0x333541(0x106))/0x8)+-parseInt(_0x333541(0x112))/0x9*(-parseInt(_0x333541(0x111))/0xa)+parseInt(_0x333541(0x115))/0xb+parseInt(_0x333541(0x11a))/0xc;if(_0x4fa131===_0x6cd6fa)break;else _0x197d2e['push'](_0x197d2e['shift']());}catch(_0x3e5d1d){_0x197d2e['push'](_0x197d2e['shift']());}}}(a0_0x5e31,0x5c9ae));function a0_0x101e(_0xd86046,_0x12d4f9){_0xd86046=_0xd86046-0xf3;const _0x5e3138=a0_0x5e31();let _0x101e88=_0x5e3138[_0xd86046];if(a0_0x101e['EzmVvZ']===undefined){var _0x59da96=function(_0x1b11d6){const _0x37746e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x300ba2='',_0x177629='';for(let _0x436202=0x0,_0x315071,_0x1653b8,_0x4b9966=0x0;_0x1653b8=_0x1b11d6['charAt'](_0x4b9966++);~_0x1653b8&&(_0x315071=_0x436202%0x4?_0x315071*0x40+_0x1653b8:_0x1653b8,_0x436202++%0x4)?_0x300ba2+=String['fromCharCode'](0xff&_0x315071>>(-0x2*_0x436202&0x6)):0x0){_0x1653b8=_0x37746e['indexOf'](_0x1653b8);}for(let _0x3403fd=0x0,_0x4be3ce=_0x300ba2['length'];_0x3403fd<_0x4be3ce;_0x3403fd++){_0x177629+='%'+('00'+_0x300ba2['charCodeAt'](_0x3403fd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x177629);};a0_0x101e['FoiciX']=_0x59da96,a0_0x101e['tcpJlp']={},a0_0x101e['EzmVvZ']=!![];}const _0x4f1c28=_0x5e3138[0x0],_0x2d0039=_0xd86046+_0x4f1c28,_0x1f73d3=a0_0x101e['tcpJlp'][_0x2d0039];return!_0x1f73d3?(_0x101e88=a0_0x101e['FoiciX'](_0x101e88),a0_0x101e['tcpJlp'][_0x2d0039]=_0x101e88):_0x101e88=_0x1f73d3,_0x101e88;}const dbType=(process['env']['DB_TYPE']||a0_0x4260d0(0x103))[a0_0x4260d0(0x11f)]();function a0_0x5e31(){const _0x3903d1=['mtKZodqYmhrruu1xvW','y2XLyxjdywnOzq','DhjPBq','mti0DeTZs2P6','r1zMCKO','mtq5mZaXnM5eBgPnyG','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','Dg9vChbLCKnHC2u','iIbUB3qGzM91BMqGAw4G','z2v0','Dg9mB3DLCKnHC2u','lI9KyG','CMvZB2X2zuXVB2T1CfzHBhvL','Bg9VA3vWx3rHyMXLx2XVywrLza','nJG2yK5qr2fR','Cw1TueS','ywrK','BgvUz3rO','z2v0rgLZDgLUy3rwywX1zxm','vMfSDwuGiG','mtvoswHVwfe','zM9YrwfJAa','Bg9HzeXVB2T1CfrHyMXL','Bg9VA3vWq2fJAgu','iezst00G','mtiYnZHeyMD4zeG','zgvIDwC','y2XLyxi','ntKYoe9tyLHNDG','lI9KyI1VCMfJBgu','Cg9ZDgDYzxnXBa','nJy4mZD3tLbtsvu','CMPgs3u','mJKXnZzmr3Dywfe','tg9VA3vWignHy2HLignSzwfYzwq','AgfZ','B2zyr04','ChvZAa','uLfQz0S','rurlvMm','A2v5CW','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq','zxHLy3v0zvf1zxj5','zw50CMLLCW','ntGWAw9Hrg5U','odqXodzfuwzbseS','mtK1wxjsv091','whHIv0m'];a0_0x5e31=function(){return _0x3903d1;};return a0_0x5e31();}let executeQuery;if(dbType==='oracle'){const oracleDb=require(a0_0x4260d0(0x102));executeQuery=(_0x2a3feb,_0x1fb8dd)=>oracleDb[a0_0x4260d0(0x10f)](_0x2a3feb,_0x1fb8dd);}else{if(dbType==='mysql'){const mysqlDb=require('./db-mysql');executeQuery=(_0x4ebb21,_0x4e441d)=>mysqlDb['executeQuery'](_0x4ebb21,_0x4e441d);}else executeQuery=require(a0_0x4260d0(0x120))['executeQuery'];}const {logger}=require('./logger');class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x4260d0(0x116)](){const _0x58ad5a=a0_0x4260d0;this[_0x58ad5a(0xfc)][_0x58ad5a(0x100)](),logger[_0x58ad5a(0xff)]({'event':'lookup_cache_cleared'},_0x58ad5a(0x107));}async[a0_0x4260d0(0xfb)](_0x3012df,_0x2f415a,_0x2c3947){const _0x47760f=a0_0x4260d0,_0x3aefc9={'CkApx':function(_0x556982,_0x9990e6){return _0x556982!==_0x9990e6;},'mdMdy':function(_0x5af9e4,_0x41645c){return _0x5af9e4(_0x41645c);},'OBIki':_0x47760f(0x122)},_0x26f3dc=_0x3012df+':'+_0x2f415a+':'+_0x2c3947;if(this[_0x47760f(0xfc)]['has'](_0x26f3dc))return this['lookupCache']['get'](_0x26f3dc);try{const _0x29830d='SELECT\x20'+_0x2c3947+',\x20'+_0x2f415a+_0x47760f(0xfd)+_0x3012df,_0x47cb0f=await _0x3aefc9['mdMdy'](executeQuery,_0x29830d),_0x381b36=new Map();return _0x47cb0f['forEach'](_0x197c8b=>{const _0x19db99=_0x47760f,_0x58406a=_0x197c8b[_0x2f415a]!==undefined?_0x197c8b[_0x2f415a]:_0x197c8b[_0x2f415a[_0x19db99(0x11c)]()],_0x59886d=_0x197c8b[_0x2c3947]!==undefined?_0x197c8b[_0x2c3947]:_0x197c8b[_0x2c3947['toUpperCase']()];_0x58406a!==null&&_0x3aefc9['CkApx'](_0x58406a,undefined)&&(_0x381b36['set'](String(_0x58406a)['toLowerCase']()['trim'](),_0x59886d),_0x381b36['set'](String(_0x58406a)['trim'](),_0x59886d));}),this['lookupCache']['set'](_0x26f3dc,_0x381b36),logger['info']({'event':_0x3aefc9['OBIki'],'table':_0x3012df,'column':_0x2f415a,'count':_0x47cb0f['length']},'Lookup\x20table\x20loaded:\x20'+_0x3012df),_0x381b36;}catch(_0x4de24){logger['error']({'event':'lookup_table_load_error','table':_0x3012df,'error':_0x4de24['message']},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x3012df);throw _0x4de24;}}['resolveLookupValue'](_0x4ff026,_0x1272b3){const _0x14b0cc=a0_0x4260d0,_0x57623a={'XxbWC':function(_0xaaba,_0x3b699d){return _0xaaba===_0x3b699d;},'qmmPK':function(_0xe2267d,_0x33844a){return _0xe2267d(_0x33844a);}};if(_0x4ff026===null||_0x57623a[_0x14b0cc(0x114)](_0x4ff026,undefined)||_0x4ff026==='')return null;const _0xdbca5=_0x57623a[_0x14b0cc(0xf4)](String,_0x4ff026)[_0x14b0cc(0x117)]();if(_0x1272b3['has'](_0xdbca5))return _0x1272b3['get'](_0xdbca5);const _0x326493=_0xdbca5['toLowerCase']();if(_0x1272b3[_0x14b0cc(0x108)](_0x326493))return _0x1272b3['get'](_0x326493);return null;}async['processLookupFields'](_0x10d1ab,_0x10ccaf){const _0x52ea94=a0_0x4260d0,_0x1476a0={'ofXGN':function(_0x2aae5b,_0x42aa0b){return _0x2aae5b===_0x42aa0b;},'cTeVI':function(_0x205164,_0x36b5c7){return _0x205164!==_0x36b5c7;},'LqsNv':'lookup_fields_processed'};if(!_0x10ccaf||Object[_0x52ea94(0x10d)](_0x10ccaf)[_0x52ea94(0xf6)]===0x0)return{'processedRows':_0x10d1ab,'errors':[]};const _0x4223e6=[],_0x24c8f6=new Map();for(const [_0x5abfd8,_0x295a35]of Object[_0x52ea94(0x110)](_0x10ccaf)){const {lookupTable:_0x1a7040,lookupColumn:_0x264410,lookupIdColumn:_0x592bae}=_0x295a35,_0x3241e7=_0x1a7040+':'+_0x264410+':'+_0x592bae;if(!_0x24c8f6['has'](_0x3241e7)){const _0x31cb6a=await this[_0x52ea94(0xfb)](_0x1a7040,_0x264410,_0x592bae);_0x24c8f6['set'](_0x3241e7,_0x31cb6a);}}const _0x5d3ca0=_0x10d1ab['map']((_0x2c9113,_0x29bade)=>{const _0x29644=_0x52ea94,_0x1e653b={..._0x2c9113};for(const [_0x1fdbe5,_0x1da2c6]of Object[_0x29644(0x110)](_0x10ccaf)){const {lookupTable:_0x5c6c0f,lookupColumn:_0x2f7e1e,lookupIdColumn:_0x21ce67,targetField:_0x1891ad,required:_0x5e061e}=_0x1da2c6,_0x5489fc=_0x5c6c0f+':'+_0x2f7e1e+':'+_0x21ce67,_0xd50a48=_0x24c8f6[_0x29644(0x11e)](_0x5489fc),_0x155533=_0x2c9113[_0x1fdbe5];if((_0x1476a0[_0x29644(0x109)](_0x155533,null)||_0x155533===undefined||_0x155533==='')&&!_0x5e061e){_0x1e653b[_0x1891ad]=null;continue;}const _0x5f0a75=this[_0x29644(0x121)](_0x155533,_0xd50a48);_0x1476a0['cTeVI'](_0x5f0a75,null)?_0x1e653b[_0x1891ad]=_0x5f0a75:(_0x5e061e&&_0x4223e6[_0x29644(0x10a)]({'rowIndex':_0x29bade,'field':_0x1fdbe5,'value':_0x155533,'targetField':_0x1891ad,'lookupTable':_0x5c6c0f,'message':_0x29644(0xf8)+_0x155533+_0x29644(0x11d)+_0x5c6c0f}),_0x1e653b[_0x1891ad]=null);}return _0x1e653b;});return logger['info']({'event':_0x1476a0['LqsNv'],'totalRows':_0x10d1ab['length'],'errorCount':_0x4223e6['length'],'lookupFieldCount':Object['keys'](_0x10ccaf)['length']},_0x52ea94(0x10e)),{'processedRows':_0x5d3ca0,'errors':_0x4223e6};}[a0_0x4260d0(0xf7)](_0x5f1756,_0x5c53f3){const _0x5f48f7=a0_0x4260d0,_0x2bdc3b={'RQjgK':function(_0x5823fa,_0x5b6be4){return _0x5823fa!==_0x5b6be4;},'rjFKu':function(_0x866633,_0x3535b2){return _0x866633!==_0x3535b2;},'GVfrJ':function(_0x3d29d4,_0x3c1cff){return _0x3d29d4(_0x3c1cff);}},_0x1bca9e=new Set();return _0x5f1756[_0x5f48f7(0xfa)](_0x5c8fd4=>{const _0x57a466=_0x5f48f7,_0x32a9cb=_0x5c8fd4[_0x5c53f3];_0x2bdc3b[_0x57a466(0x10b)](_0x32a9cb,null)&&_0x2bdc3b[_0x57a466(0x105)](_0x32a9cb,undefined)&&_0x32a9cb!==''&&_0x1bca9e[_0x57a466(0xf5)](_0x2bdc3b[_0x57a466(0x119)](String,_0x32a9cb)[_0x57a466(0x117)]());}),Array['from'](_0x1bca9e);}async['validateLookupValues'](_0x5ab751,_0x500083){const _0x1136fa=a0_0x4260d0,_0x45291a={'ySSNy':function(_0x322c18,_0x5bc969){return _0x322c18!==_0x5bc969;},'EDKVc':function(_0x317535,_0x3666a2){return _0x317535===_0x3666a2;},'AzyYC':function(_0x3093b4,_0x5549cb){return _0x3093b4>_0x5549cb;}};if(!_0x500083||Object['keys'](_0x500083)['length']===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x20b9c2=[],_0x49de33={};for(const [_0x570550,_0x1b7779]of Object['entries'](_0x500083)){const {lookupTable:_0x2e6bb3,lookupColumn:_0x229e42,lookupIdColumn:_0x538bb8,required:_0x4b483d}=_0x1b7779,_0x6a4a48=this[_0x1136fa(0xf7)](_0x5ab751,_0x570550),_0x4365ee=await this[_0x1136fa(0xfb)](_0x2e6bb3,_0x229e42,_0x538bb8),_0x1ee683=[],_0xc300c6=[];_0x6a4a48['forEach'](_0x42777e=>{const _0x184c0d=_0x1136fa,_0x17ba5c=this[_0x184c0d(0x121)](_0x42777e,_0x4365ee);_0x45291a['ySSNy'](_0x17ba5c,null)?_0xc300c6['push'](_0x42777e):_0x1ee683[_0x184c0d(0x10a)](_0x42777e);});if(_0x45291a['AzyYC'](_0x1ee683['length'],0x0)&&_0x4b483d){_0x20b9c2['push']({'field':_0x570550,'lookupTable':_0x2e6bb3,'invalidValues':_0x1ee683,'message':_0x1ee683[_0x1136fa(0xf6)]+_0x1136fa(0x11b)+_0x2e6bb3});const _0x255fd5=[];_0x4365ee[_0x1136fa(0xfa)]((_0x288d70,_0x5e68f8)=>{const _0x20479a=_0x1136fa;if(_0x45291a[_0x20479a(0x10c)](_0x5e68f8,_0x5e68f8['toLowerCase']()))return;_0x255fd5['push'](_0x5e68f8);}),_0x49de33[_0x570550]={'invalidValues':_0x1ee683,'availableValues':_0x255fd5['slice'](0x0,0x32)};}}return{'valid':_0x45291a['EDKVc'](_0x20b9c2[_0x1136fa(0xf6)],0x0),'errors':_0x20b9c2,'suggestions':_0x49de33};}}module['exports']=new LookupResolver();
|
|
1
|
+
const a0_0x53c662=a0_0x55e3;function a0_0x4240(){const _0x1ecf39=['tg9VA3vWignHy2HLignSzwfYzwq','Bg9VA3vWq2fJAgu','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','zxHWB3j0CW','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq','AgfZ','ChvZAa','C2XPy2u','rNnlvxG','mtiYmtvMA2fdwwi','Bg9VA3vWx3rHyMXLx2XVywrLza','yMDwtwC','z2v0','mZK3mZm5nMnZD2zJrq','Cw1wyNC','zw50CMLLCW','BxLZCwW','mZbpquDVq1G','odi5mtaWm0zOBKHrAG','DhjPBq','lI9KyI1TExnXBa','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','iezst00G','mZHXA0Lksuu','Burzv3y','vKPHz2i','Bg9HzeXVB2T1CfrHyMXL','mtq0mtC2mZrSruzStNq','Dg9mB3DLCKnHC2u','zNjVBq','ofzisNPiDW','mtm1ntCZnu5ZEKTjBG','lI9SB2DNzxi','zxHLy3v0zvf1zxj5','ode2otzeCgTnsxi','m2PxtgfuCq','CMvZB2X2zuXVB2T1CfzHBhvL','zgvIDwC','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','DuPpu2W','ChjVy2vZC0XVB2T1CezPzwXKCW','mtHluenWtw8','D0T6u1O','zM9YrwfJAa','BwfW','y2XLyxi','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','DMfSAwrHDgvmB29RDxbwywX1zxm','lI9KyG','nJy4mLn4BgvOra','C2v0','tKXUDKe','BgvUz3rO','ndm1nZe5menxDxviDa'];a0_0x4240=function(){return _0x1ecf39;};return a0_0x4240();}(function(_0x108ec3,_0x4a1e9c){const _0xce746e=a0_0x55e3,_0x1956fa=_0x108ec3();while(!![]){try{const _0x9205e3=-parseInt(_0xce746e(0x1a7))/0x1*(-parseInt(_0xce746e(0x1b5))/0x2)+-parseInt(_0xce746e(0x18b))/0x3*(parseInt(_0xce746e(0x1ab))/0x4)+-parseInt(_0xce746e(0x187))/0x5*(-parseInt(_0xce746e(0x1af))/0x6)+-parseInt(_0xce746e(0x1b0))/0x7*(parseInt(_0xce746e(0x186))/0x8)+parseInt(_0xce746e(0x191))/0x9*(-parseInt(_0xce746e(0x19d))/0xa)+-parseInt(_0xce746e(0x183))/0xb+parseInt(_0xce746e(0x18a))/0xc*(parseInt(_0xce746e(0x199))/0xd);if(_0x9205e3===_0x4a1e9c)break;else _0x1956fa['push'](_0x1956fa['shift']());}catch(_0x5bef42){_0x1956fa['push'](_0x1956fa['shift']());}}}(a0_0x4240,0xb18b6));const dbType=(process['env']['DB_TYPE']||'postgresql')['toLowerCase']();let executeQuery;if(dbType==='oracle'){const oracleDb=require('./db-oracle');executeQuery=(_0x5ce357,_0x19c6de)=>oracleDb['executeQuery'](_0x5ce357,_0x19c6de);}else{if(dbType===a0_0x53c662(0x1ae)){const mysqlDb=require(a0_0x53c662(0x1b2));executeQuery=(_0x5ef826,_0x156bca)=>mysqlDb[a0_0x53c662(0x189)](_0x5ef826,_0x156bca);}else executeQuery=require(a0_0x53c662(0x198))['executeQuery'];}function a0_0x55e3(_0x13f2ce,_0x10858e){_0x13f2ce=_0x13f2ce-0x180;const _0x424066=a0_0x4240();let _0x55e347=_0x424066[_0x13f2ce];if(a0_0x55e3['sDfWLy']===undefined){var _0x4e73e9=function(_0x2fb8e1){const _0x279818='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x43830b='',_0x5c4db0='';for(let _0x572864=0x0,_0x49a808,_0x1da9a6,_0x4635ec=0x0;_0x1da9a6=_0x2fb8e1['charAt'](_0x4635ec++);~_0x1da9a6&&(_0x49a808=_0x572864%0x4?_0x49a808*0x40+_0x1da9a6:_0x1da9a6,_0x572864++%0x4)?_0x43830b+=String['fromCharCode'](0xff&_0x49a808>>(-0x2*_0x572864&0x6)):0x0){_0x1da9a6=_0x279818['indexOf'](_0x1da9a6);}for(let _0x56455e=0x0,_0xe41825=_0x43830b['length'];_0x56455e<_0xe41825;_0x56455e++){_0x5c4db0+='%'+('00'+_0x43830b['charCodeAt'](_0x56455e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5c4db0);};a0_0x55e3['BaTTEb']=_0x4e73e9,a0_0x55e3['HuZohP']={},a0_0x55e3['sDfWLy']=!![];}const _0x463c79=_0x424066[0x0],_0x4e4567=_0x13f2ce+_0x463c79,_0x3c04c9=a0_0x55e3['HuZohP'][_0x4e4567];return!_0x3c04c9?(_0x55e347=a0_0x55e3['BaTTEb'](_0x55e347),a0_0x55e3['HuZohP'][_0x4e4567]=_0x55e347):_0x55e347=_0x3c04c9,_0x55e347;}const {logger}=require(a0_0x53c662(0x188));class LookupResolver{constructor(){const _0x31aa0a=a0_0x53c662;this[_0x31aa0a(0x19f)]=new Map();}['clearCache'](){const _0xb12018=a0_0x53c662;this['lookupCache'][_0xb12018(0x195)](),logger[_0xb12018(0x18d)]({'event':_0xb12018(0x196)},_0xb12018(0x19e));}async[a0_0x53c662(0x182)](_0x4c9f9b,_0x14b521,_0x354aff){const _0xf4d948=a0_0x53c662,_0x343347={'NLnvA':function(_0x4d15e7,_0x548963){return _0x4d15e7!==_0x548963;},'FsKUx':function(_0x3fdcc7,_0x50af4c){return _0x3fdcc7!==_0x50af4c;},'umkHV':function(_0x5e9f2f,_0x124cab){return _0x5e9f2f(_0x124cab);},'bZVjp':_0xf4d948(0x1a8)},_0x558f84=_0x4c9f9b+':'+_0x14b521+':'+_0x354aff;if(this[_0xf4d948(0x19f)][_0xf4d948(0x1a3)](_0x558f84))return this['lookupCache']['get'](_0x558f84);try{const _0x1e9c77='SELECT\x20'+_0x354aff+',\x20'+_0x14b521+_0xf4d948(0x1b4)+_0x4c9f9b,_0x3fbd62=await _0x343347['umkHV'](executeQuery,_0x1e9c77),_0x4a16fe=new Map();return _0x3fbd62['forEach'](_0x25d8eb=>{const _0x2d5a9a=_0xf4d948,_0x2e668f=_0x343347[_0x2d5a9a(0x19b)](_0x25d8eb[_0x14b521],undefined)?_0x25d8eb[_0x14b521]:_0x25d8eb[_0x14b521['toUpperCase']()],_0x49aa91=_0x25d8eb[_0x354aff]!==undefined?_0x25d8eb[_0x354aff]:_0x25d8eb[_0x354aff['toUpperCase']()];_0x2e668f!==null&&_0x343347[_0x2d5a9a(0x1a6)](_0x2e668f,undefined)&&(_0x4a16fe[_0x2d5a9a(0x19a)](String(_0x2e668f)['toLowerCase']()[_0x2d5a9a(0x1b1)](),_0x49aa91),_0x4a16fe[_0x2d5a9a(0x19a)](String(_0x2e668f)['trim'](),_0x49aa91));}),this[_0xf4d948(0x19f)]['set'](_0x558f84,_0x4a16fe),logger['info']({'event':_0x343347['bZVjp'],'table':_0x4c9f9b,'column':_0x14b521,'count':_0x3fbd62['length']},'Lookup\x20table\x20loaded:\x20'+_0x4c9f9b),_0x4a16fe;}catch(_0xd5323e){logger['error']({'event':_0xf4d948(0x18e),'table':_0x4c9f9b,'error':_0xd5323e['message']},_0xf4d948(0x1b3)+_0x4c9f9b);throw _0xd5323e;}}[a0_0x53c662(0x18c)](_0x4200d1,_0x4b0a11){const _0x17e306=a0_0x53c662,_0x4bc42a={'zqxUw':function(_0x3dba1a,_0x297dc9){return _0x3dba1a===_0x297dc9;},'YfmWN':function(_0x1d8904,_0x1efc46){return _0x1d8904===_0x1efc46;}};if(_0x4bc42a['zqxUw'](_0x4200d1,null)||_0x4200d1===undefined||_0x4bc42a['YfmWN'](_0x4200d1,''))return null;const _0x51a41a=String(_0x4200d1)['trim']();if(_0x4b0a11[_0x17e306(0x1a3)](_0x51a41a))return _0x4b0a11['get'](_0x51a41a);const _0x116a52=_0x51a41a['toLowerCase']();if(_0x4b0a11['has'](_0x116a52))return _0x4b0a11['get'](_0x116a52);return null;}async[a0_0x53c662(0x190)](_0xfa2ce7,_0x56fb6a){const _0x45d570=a0_0x53c662,_0x26b540={'VJagb':function(_0x1d4e19,_0x293721){return _0x1d4e19===_0x293721;},'qmVbw':function(_0x27ce24,_0x288c95){return _0x27ce24===_0x288c95;},'YXkRj':function(_0x3f0ba6,_0x59a285){return _0x3f0ba6!==_0x59a285;}};if(!_0x56fb6a||_0x26b540[_0x45d570(0x1ac)](Object['keys'](_0x56fb6a)[_0x45d570(0x19c)],0x0))return{'processedRows':_0xfa2ce7,'errors':[]};const _0x3ffab1=[],_0x164064=new Map();for(const [_0x46472b,_0x88b366]of Object['entries'](_0x56fb6a)){const {lookupTable:_0x56758c,lookupColumn:_0x554ecb,lookupIdColumn:_0x5a4a59}=_0x88b366,_0x45d51a=_0x56758c+':'+_0x554ecb+':'+_0x5a4a59;if(!_0x164064['has'](_0x45d51a)){const _0x1e7104=await this[_0x45d570(0x182)](_0x56758c,_0x554ecb,_0x5a4a59);_0x164064[_0x45d570(0x19a)](_0x45d51a,_0x1e7104);}}const _0x3ff192=_0xfa2ce7[_0x45d570(0x194)]((_0x5c1ec4,_0x4647db)=>{const _0x3072ed=_0x45d570,_0x56d4ce={..._0x5c1ec4};for(const [_0xef0e20,_0x44f1ed]of Object[_0x3072ed(0x1ad)](_0x56fb6a)){const {lookupTable:_0x5833d1,lookupColumn:_0x556c25,lookupIdColumn:_0x55db71,targetField:_0xbcac10,required:_0x508c23}=_0x44f1ed,_0x4a46ff=_0x5833d1+':'+_0x556c25+':'+_0x55db71,_0x5a8bff=_0x164064[_0x3072ed(0x1aa)](_0x4a46ff),_0x5aec64=_0x5c1ec4[_0xef0e20];if((_0x5aec64===null||_0x26b540[_0x3072ed(0x181)](_0x5aec64,undefined)||_0x26b540[_0x3072ed(0x1ac)](_0x5aec64,''))&&!_0x508c23){_0x56d4ce[_0xbcac10]=null;continue;}const _0x13f8af=this[_0x3072ed(0x18c)](_0x5aec64,_0x5a8bff);_0x26b540['YXkRj'](_0x13f8af,null)?_0x56d4ce[_0xbcac10]=_0x13f8af:(_0x508c23&&_0x3ffab1['push']({'rowIndex':_0x4647db,'field':_0xef0e20,'value':_0x5aec64,'targetField':_0xbcac10,'lookupTable':_0x5833d1,'message':'Value\x20\x22'+_0x5aec64+'\x22\x20not\x20found\x20in\x20'+_0x5833d1}),_0x56d4ce[_0xbcac10]=null);}return _0x56d4ce;});return logger['info']({'event':'lookup_fields_processed','totalRows':_0xfa2ce7[_0x45d570(0x19c)],'errorCount':_0x3ffab1['length'],'lookupFieldCount':Object['keys'](_0x56fb6a)[_0x45d570(0x19c)]},_0x45d570(0x1a2)),{'processedRows':_0x3ff192,'errors':_0x3ffab1};}['getDistinctValues'](_0x1306b0,_0x3af4e3){const _0x3a62b0=a0_0x53c662,_0x5e5048={'mDYWv':function(_0x32d708,_0x333e87){return _0x32d708!==_0x333e87;},'MNKPq':function(_0xb934f1,_0x3510c6){return _0xb934f1!==_0x3510c6;},'bgVMg':function(_0x4cb245,_0x5813b3){return _0x4cb245!==_0x5813b3;},'uJOSl':function(_0x1df7dc,_0x40c533){return _0x1df7dc(_0x40c533);}},_0xdd7ebf=new Set();return _0x1306b0['forEach'](_0x53856f=>{const _0x45a292=a0_0x55e3,_0x5ecafb=_0x53856f[_0x3af4e3];_0x5e5048[_0x45a292(0x180)](_0x5ecafb,null)&&_0x5e5048['MNKPq'](_0x5ecafb,undefined)&&_0x5e5048[_0x45a292(0x1a9)](_0x5ecafb,'')&&_0xdd7ebf['add'](_0x5e5048[_0x45a292(0x18f)](String,_0x5ecafb)[_0x45a292(0x1b1)]());}),Array[_0x3a62b0(0x185)](_0xdd7ebf);}async[a0_0x53c662(0x197)](_0xef68a3,_0x2c03a8){const _0xc91e43=a0_0x53c662,_0xcc4a44={'wKzSZ':function(_0x3d1c27,_0x2d69a2){return _0x3d1c27!==_0x2d69a2;}};if(!_0x2c03a8||Object['keys'](_0x2c03a8)[_0xc91e43(0x19c)]===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x1f4642=[],_0x25459f={};for(const [_0x25e822,_0x17bb2f]of Object['entries'](_0x2c03a8)){const {lookupTable:_0x3080ff,lookupColumn:_0x4a84fd,lookupIdColumn:_0x1f66b7,required:_0x972b27}=_0x17bb2f,_0x55f883=this['getDistinctValues'](_0xef68a3,_0x25e822),_0x3cf463=await this[_0xc91e43(0x182)](_0x3080ff,_0x4a84fd,_0x1f66b7),_0x241e40=[],_0x36eff0=[];_0x55f883[_0xc91e43(0x193)](_0x3d9155=>{const _0x558060=_0xc91e43,_0xdfd432=this['resolveLookupValue'](_0x3d9155,_0x3cf463);_0xcc4a44[_0x558060(0x192)](_0xdfd432,null)?_0x36eff0['push'](_0x3d9155):_0x241e40[_0x558060(0x1a4)](_0x3d9155);});if(_0x241e40[_0xc91e43(0x19c)]>0x0&&_0x972b27){_0x1f4642[_0xc91e43(0x1a4)]({'field':_0x25e822,'lookupTable':_0x3080ff,'invalidValues':_0x241e40,'message':_0x241e40['length']+_0xc91e43(0x1a0)+_0x3080ff});const _0x3c2dfd=[];_0x3cf463['forEach']((_0x842d5e,_0x22c1dd)=>{const _0x1a4298=_0xc91e43;if(_0x22c1dd===_0x22c1dd[_0x1a4298(0x184)]())return;_0x3c2dfd[_0x1a4298(0x1a4)](_0x22c1dd);}),_0x25459f[_0x25e822]={'invalidValues':_0x241e40,'availableValues':_0x3c2dfd[_0xc91e43(0x1a5)](0x0,0x32)};}}return{'valid':_0x1f4642[_0xc91e43(0x19c)]===0x0,'errors':_0x1f4642,'suggestions':_0x25459f};}}module[a0_0x53c662(0x1a1)]=new LookupResolver();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x38641e=a0_0x5d07;(function(_0x1d64f1,_0x231257){const _0x554fa8=a0_0x5d07,_0x114051=_0x1d64f1();while(!![]){try{const _0x28c6fb=parseInt(_0x554fa8(0x89))/0x1*(parseInt(_0x554fa8(0x86))/0x2)+parseInt(_0x554fa8(0x9e))/0x3*(parseInt(_0x554fa8(0x9b))/0x4)+parseInt(_0x554fa8(0x9d))/0x5*(parseInt(_0x554fa8(0xac))/0x6)+-parseInt(_0x554fa8(0x83))/0x7*(-parseInt(_0x554fa8(0x94))/0x8)+-parseInt(_0x554fa8(0xa8))/0x9*(parseInt(_0x554fa8(0x98))/0xa)+-parseInt(_0x554fa8(0x93))/0xb+-parseInt(_0x554fa8(0x9a))/0xc;if(_0x28c6fb===_0x231257)break;else _0x114051['push'](_0x114051['shift']());}catch(_0x1527cb){_0x114051['push'](_0x114051['shift']());}}}(a0_0x1070,0xe5e2c));const fs=require('fs')['promises'],path=require(a0_0x38641e(0x88)),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x570f40=a0_0x38641e,_0xbc181a={'mNciP':'../../payload'};this['payloadDir']=path[_0x570f40(0xa0)](__dirname,_0xbc181a[_0x570f40(0xa4)]),this[_0x570f40(0x8c)]=new Map();}async['loadPayload'](_0xe25cb7,_0xd0ef84){const _0x202eaf=a0_0x38641e,_0x2bc900={'SLFmo':_0x202eaf(0x8a),'RpByJ':'Payload\x20loaded\x20successfully','ABhou':'payload_load_error','NSpQi':_0x202eaf(0x95)},_0x4b1e9b=_0xe25cb7+':'+_0xd0ef84;if(this['cache'][_0x202eaf(0x90)](_0x4b1e9b))return this['cache'][_0x202eaf(0x9c)](_0x4b1e9b);const _0x26076b=path[_0x202eaf(0xa0)](this['payloadDir'],_0xe25cb7+'_'+_0xd0ef84+_0x202eaf(0x97));try{const _0x213f71=await fs[_0x202eaf(0xab)](_0x26076b,_0x2bc900['SLFmo']),_0x79376d=JSON['parse'](_0x213f71);return this['cache']['set'](_0x4b1e9b,_0x79376d),logger[_0x202eaf(0xa5)]({'event':'payload_loaded','project':_0xe25cb7,'resource':_0xd0ef84},_0x2bc900['RpByJ']),_0x79376d;}catch(_0x540494){logger['error']({'event':_0x2bc900[_0x202eaf(0xad)],'project':_0xe25cb7,'resource':_0xd0ef84,'error':_0x540494['message']},_0x2bc900[_0x202eaf(0x8d)]);throw new Error(_0x202eaf(0xa7)+_0xe25cb7+'_'+_0xd0ef84);}}async[a0_0x38641e(0xa9)](_0x415b34){const _0x4730e2=a0_0x38641e,_0xd36cb1={'vdumG':_0x4730e2(0x8e),'Ctpxg':_0x4730e2(0x84),'aAiMB':_0x4730e2(0xaa),'TeLqO':_0x4730e2(0x87)},_0x2461cb='payload:'+_0x415b34;if(this[_0x4730e2(0x8c)][_0x4730e2(0x90)](_0x2461cb))return this[_0x4730e2(0x8c)][_0x4730e2(0x9c)](_0x2461cb);const _0x2f3129=path['join'](this['payloadDir'],_0x415b34+_0x4730e2(0x97));try{const _0x16cf43=await fs[_0x4730e2(0xab)](_0x2f3129,_0x4730e2(0x8a)),_0x4a7480=JSON['parse'](_0x16cf43);return this[_0x4730e2(0x8c)]['set'](_0x2461cb,_0x4a7480),logger['debug']({'event':_0xd36cb1['vdumG'],'payloadName':_0x415b34},_0xd36cb1['Ctpxg']),_0x4a7480;}catch(_0x201940){logger[_0x4730e2(0x8f)]({'event':_0xd36cb1['aAiMB'],'payloadName':_0x415b34,'error':_0x201940[_0x4730e2(0x91)]},_0xd36cb1[_0x4730e2(0xa2)]);throw new Error(_0x4730e2(0xa7)+_0x415b34);}}[a0_0x38641e(0x92)](_0x432e79,_0x35c018){const _0x490d8e=a0_0x38641e,_0x1be7cf={'ZxQHt':function(_0x4f1eda,_0x3645e8){return _0x4f1eda===_0x3645e8;}};return _0x432e79['action']&&_0x1be7cf[_0x490d8e(0xa1)](_0x432e79[_0x490d8e(0x96)][_0x35c018],!![]);}[a0_0x38641e(0x85)](_0x360529){const _0x5978ca=a0_0x38641e;return{'columns':_0x360529[_0x5978ca(0x8b)]||[],'filename':_0x360529['tableName'][_0x5978ca(0xa6)]('.','-')+'-export','datatablesQuery':_0x360529[_0x5978ca(0x9f)]||null,'columnFormats':_0x360529['columnFormats']||null,'fieldLabels':_0x360529['fieldLabels']||null};}[a0_0x38641e(0x99)](){const _0xe11f60=a0_0x38641e,_0x2a0aa2={'JCtwG':'Payload\x20cache\x20cleared'};this['cache']['clear'](),logger['info']({'event':'payload_cache_cleared'},_0x2a0aa2[_0xe11f60(0xa3)]);}}function a0_0x5d07(_0xaf3147,_0x545c69){_0xaf3147=_0xaf3147-0x83;const _0x107044=a0_0x1070();let _0x5d0745=_0x107044[_0xaf3147];if(a0_0x5d07['fsBFuZ']===undefined){var _0xb240e=function(_0x161ecd){const _0x260343='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x38def1='',_0x30d671='';for(let _0x3c9997=0x0,_0x99405f,_0x403bc8,_0x31c3a6=0x0;_0x403bc8=_0x161ecd['charAt'](_0x31c3a6++);~_0x403bc8&&(_0x99405f=_0x3c9997%0x4?_0x99405f*0x40+_0x403bc8:_0x403bc8,_0x3c9997++%0x4)?_0x38def1+=String['fromCharCode'](0xff&_0x99405f>>(-0x2*_0x3c9997&0x6)):0x0){_0x403bc8=_0x260343['indexOf'](_0x403bc8);}for(let _0x563d9e=0x0,_0xac3bed=_0x38def1['length'];_0x563d9e<_0xac3bed;_0x563d9e++){_0x30d671+='%'+('00'+_0x38def1['charCodeAt'](_0x563d9e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x30d671);};a0_0x5d07['IpRneM']=_0xb240e,a0_0x5d07['LUWWJY']={},a0_0x5d07['fsBFuZ']=!![];}const _0x204955=_0x107044[0x0],_0x415872=_0xaf3147+_0x204955,_0x5f3f60=a0_0x5d07['LUWWJY'][_0x415872];return!_0x5f3f60?(_0x5d0745=a0_0x5d07['IpRneM'](_0x5d0745),a0_0x5d07['LUWWJY'][_0x415872]=_0x5d0745):_0x5d0745=_0x5f3f60,_0x5d0745;}module[a0_0x38641e(0xae)]=new PayloadLoader();function a0_0x1070(){const _0xc1d0b9=['AgfZ','BwvZC2fNzq','Axnby3rPB25fBMfIBgvK','mtCZndq4uhPfz1fS','mtKYmta3mK95BgvryW','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','ywn0Aw9U','lMPZB24','nZi5nZaWrwnpz2rx','y2XLyxjdywnOzq','mJG5mdy3ntjzqvrKs3m','ndKXmty3mLPTv0Pcuq','z2v0','ndm0nZiYmhj4v1D6Aa','m2PkCxjzDW','zgf0yxrHyMXLC1f1zxj5','AM9PBG','wNHrshq','vgvmCu8','sKn0D0C','Bu5JAva','zgvIDwC','CMvWBgfJzq','ugf5Bg9HzcbUB3qGzM91BMq6ia','mte3wxzVEwvl','Bg9HzfbHEwXVywrcEu5HBwu','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','CMvHzezPBgu','nMzgzfnUCG','qujOB3u','zxHWB3j0CW','mZvLDvL3y1K','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','z2v0rxHWB3j0q29UzMLN','mtuWmM9HC05eAa','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','Cgf0Aa','mtm1nefpDKzyvW','DxrMoa','zMLLBgroyw1L','y2fJAgu','tLnWuwK','Cgf5Bg9Hzf9SB2fKzwq','zxjYB3i'];a0_0x1070=function(){return _0xc1d0b9;};return a0_0x1070();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x283051,_0x35929d){var _0x19ae30=a0_0x1dff,_0x3f14f6=_0x283051();while(!![]){try{var _0x4c738c=parseInt(_0x19ae30(0x138))/0x1*(-parseInt(_0x19ae30(0x137))/0x2)+parseInt(_0x19ae30(0x13a))/0x3*(parseInt(_0x19ae30(0x139))/0x4)+-parseInt(_0x19ae30(0x136))/0x5+-parseInt(_0x19ae30(0x13c))/0x6*(parseInt(_0x19ae30(0x13b))/0x7)+-parseInt(_0x19ae30(0x134))/0x8+parseInt(_0x19ae30(0x13d))/0x9+parseInt(_0x19ae30(0x133))/0xa;if(_0x4c738c===_0x35929d)break;else _0x3f14f6['push'](_0x3f14f6['shift']());}catch(_0x250c1b){_0x3f14f6['push'](_0x3f14f6['shift']());}}}(a0_0x3883,0x6b1cc));function a0_0x3883(){var _0x369fc7=['mtmZndyZnuz4q2rqyq','ngXKzNP2yG','mZm0nJi3v2DLthn6','oduXmZa4AhLLrfP2','m0rvC0jxCG','nZDnt0H0EwG','mZq5mtm0Ae5Rwhzx','mZa1nZiXow1LtvzIwG','mtCZnZyZotbMAuf0qMu','mJiWmtmYmeflufvcAq','Dg9ju09tDhjPBMC'];a0_0x3883=function(){return _0x369fc7;};return a0_0x3883();}function createResponse(_0x4e12f4,_0x26f2fd,_0x50b388=null){var _0x2aae40=a0_0x1dff;return{'success':!![],'statusCode':_0x4e12f4,'message':_0x26f2fd,'data':_0x50b388,'timestamp':new Date()[_0x2aae40(0x135)]()};}function createError(_0x2bb10d,_0x4a31d6,_0x2ecfa2=null){var _0x379ac2=a0_0x1dff;return{'success':![],'statusCode':_0x2bb10d,'message':_0x4a31d6,'data':_0x2ecfa2,'timestamp':new Date()[_0x379ac2(0x135)]()};}function a0_0x1dff(_0x5e7934,_0x2bb16e){_0x5e7934=_0x5e7934-0x133;var _0x38834c=a0_0x3883();var _0x1dffcb=_0x38834c[_0x5e7934];if(a0_0x1dff['IliVxR']===undefined){var _0x34d505=function(_0x5201b9){var _0x358bb0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x47e86b='',_0x2d0e15='';for(var _0x2da155=0x0,_0x26682d,_0x1d3f9c,_0x2e2565=0x0;_0x1d3f9c=_0x5201b9['charAt'](_0x2e2565++);~_0x1d3f9c&&(_0x26682d=_0x2da155%0x4?_0x26682d*0x40+_0x1d3f9c:_0x1d3f9c,_0x2da155++%0x4)?_0x47e86b+=String['fromCharCode'](0xff&_0x26682d>>(-0x2*_0x2da155&0x6)):0x0){_0x1d3f9c=_0x358bb0['indexOf'](_0x1d3f9c);}for(var _0x29b5a9=0x0,_0x15e2a7=_0x47e86b['length'];_0x29b5a9<_0x15e2a7;_0x29b5a9++){_0x2d0e15+='%'+('00'+_0x47e86b['charCodeAt'](_0x29b5a9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d0e15);};a0_0x1dff['FfwWWJ']=_0x34d505,a0_0x1dff['jeQJwr']={},a0_0x1dff['IliVxR']=!![];}var _0x79a35c=_0x38834c[0x0],_0x44553b=_0x5e7934+_0x79a35c,_0x4d6f14=a0_0x1dff['jeQJwr'][_0x44553b];return!_0x4d6f14?(_0x1dffcb=a0_0x1dff['FfwWWJ'](_0x1dffcb),a0_0x1dff['jeQJwr'][_0x44553b]=_0x1dffcb):_0x1dffcb=_0x4d6f14,_0x1dffcb;}function createValidationError(_0x5dd84e,_0x2bdf85){var _0xd629b2=a0_0x1dff;return{'success':![],'statusCode':0x190,'message':_0x5dd84e,'data':{'errors':_0x2bdf85},'timestamp':new Date()[_0xd629b2(0x135)]()};}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
|
package/src/utils/rabbitmq.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x3abd4e=a0_0x463e;(function(_0x41593b,_0x306b5a){const _0x2d6fc7=a0_0x463e,_0x16be47=_0x41593b();while(!![]){try{const _0x5d3962=-parseInt(_0x2d6fc7(0x10c))/0x1*(-parseInt(_0x2d6fc7(0x126))/0x2)+-parseInt(_0x2d6fc7(0x136))/0x3+-parseInt(_0x2d6fc7(0x12b))/0x4*(-parseInt(_0x2d6fc7(0x133))/0x5)+parseInt(_0x2d6fc7(0x139))/0x6*(-parseInt(_0x2d6fc7(0x135))/0x7)+parseInt(_0x2d6fc7(0x124))/0x8*(-parseInt(_0x2d6fc7(0x10a))/0x9)+-parseInt(_0x2d6fc7(0x115))/0xa*(parseInt(_0x2d6fc7(0x128))/0xb)+parseInt(_0x2d6fc7(0x10f))/0xc;if(_0x5d3962===_0x306b5a)break;else _0x16be47['push'](_0x16be47['shift']());}catch(_0x4eca49){_0x16be47['push'](_0x16be47['shift']());}}}(a0_0x36fa,0xeb3bc),require(a0_0x3abd4e(0x10e))['config']());const amqp=require(a0_0x3abd4e(0x122)),{formatDate}=require(a0_0x3abd4e(0x138)),RABBITMQ_URL=process['env'][a0_0x3abd4e(0x13c)],EXCHANGE=process[a0_0x3abd4e(0x134)]['RABBITMQ_EXCHANGE'],ROUTING_KEY=process[a0_0x3abd4e(0x134)]['RABBITMQ_ROUTING_KEY'],QUEUE=process[a0_0x3abd4e(0x134)]['RABBITMQ_QUEUE'];function a0_0x463e(_0x48d833,_0x36f534){_0x48d833=_0x48d833-0x109;const _0x36fabf=a0_0x36fa();let _0x463e7d=_0x36fabf[_0x48d833];if(a0_0x463e['wKURFX']===undefined){var _0x58fb5=function(_0x2f7751){const _0x491bde='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1a5851='',_0x5bdb06='';for(let _0x185bd0=0x0,_0x38c0ce,_0x5dbf28,_0xa93de0=0x0;_0x5dbf28=_0x2f7751['charAt'](_0xa93de0++);~_0x5dbf28&&(_0x38c0ce=_0x185bd0%0x4?_0x38c0ce*0x40+_0x5dbf28:_0x5dbf28,_0x185bd0++%0x4)?_0x1a5851+=String['fromCharCode'](0xff&_0x38c0ce>>(-0x2*_0x185bd0&0x6)):0x0){_0x5dbf28=_0x491bde['indexOf'](_0x5dbf28);}for(let _0x2f25fc=0x0,_0x110ae0=_0x1a5851['length'];_0x2f25fc<_0x110ae0;_0x2f25fc++){_0x5bdb06+='%'+('00'+_0x1a5851['charCodeAt'](_0x2f25fc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5bdb06);};a0_0x463e['QCSpGL']=_0x58fb5,a0_0x463e['cFfLHf']={},a0_0x463e['wKURFX']=!![];}const _0x7e3109=_0x36fabf[0x0],_0xca44a4=_0x48d833+_0x7e3109,_0x4528fa=a0_0x463e['cFfLHf'][_0xca44a4];return!_0x4528fa?(_0x463e7d=a0_0x463e['QCSpGL'](_0x463e7d),a0_0x463e['cFfLHf'][_0xca44a4]=_0x463e7d):_0x463e7d=_0x4528fa,_0x463e7d;}async function createConnection(){const _0x430379=a0_0x3abd4e,_0xe248b1={'idKmx':function(_0x39569b,_0x3dbd4b){return _0x39569b(_0x3dbd4b);}};try{const _0x17c45a=await amqp[_0x430379(0x11c)](RABBITMQ_URL);return console['log']('['+formatDate(new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x17c45a;}catch(_0x5f50ad){console[_0x430379(0x11b)]('['+_0xe248b1[_0x430379(0x117)](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x5f50ad[_0x430379(0x110)]);throw _0x5f50ad;}}async function createChannel(_0x5e0976){const _0x35a5f4=a0_0x3abd4e,_0x138587={'hfrex':function(_0x2b6684,_0x418cb0){return _0x2b6684(_0x418cb0);}};try{const _0x51163f=await _0x5e0976[_0x35a5f4(0x11a)]();return console['log']('['+_0x138587['hfrex'](formatDate,new Date())+_0x35a5f4(0x112)),_0x51163f;}catch(_0x30b0a3){console['error']('['+formatDate(new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x30b0a3[_0x35a5f4(0x110)]);throw _0x30b0a3;}}async function setupInfrastructure(_0x4c6bcc){const _0x1dff40=a0_0x3abd4e,_0x57f2da={'Waxay':function(_0x27934b,_0x552303){return _0x27934b(_0x552303);},'bIBWq':_0x1dff40(0x11d),'vwSna':'retry-exchange','hNMvB':function(_0x141b35,_0x40e544){return _0x141b35===_0x40e544;},'aEpwN':'x-dead-letter-routing-key','wjegy':function(_0x384104,_0xa412e7){return _0x384104(_0xa412e7);}};try{await _0x4c6bcc[_0x1dff40(0x13b)]('retry-exchange','direct',{'durable':!![],'autoDelete':![]}),console[_0x1dff40(0x118)]('['+_0x57f2da[_0x1dff40(0x13a)](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x2f2a95){console[_0x1dff40(0x11b)]('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x2f2a95['message']);throw _0x2f2a95;}try{await _0x4c6bcc[_0x1dff40(0x13b)](EXCHANGE,_0x57f2da['bIBWq'],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x57f2da[_0x1dff40(0x13a)](formatDate,new Date())+_0x1dff40(0x114)+EXCHANGE+'\x20created/ready');}catch(_0x455761){console['error']('['+_0x57f2da[_0x1dff40(0x13a)](formatDate,new Date())+_0x1dff40(0x12f)+EXCHANGE+':',_0x455761['message']);throw _0x455761;}const _0x1c5bd7=ROUTING_KEY+'_retry';try{const _0x13eb29={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x4c6bcc[_0x1dff40(0x113)](_0x1c5bd7,_0x13eb29),console['log']('['+_0x57f2da[_0x1dff40(0x13a)](formatDate,new Date())+_0x1dff40(0x131)+_0x1c5bd7+'\x20created/ready'),await _0x4c6bcc['bindQueue'](_0x1c5bd7,_0x57f2da[_0x1dff40(0x111)],ROUTING_KEY),console[_0x1dff40(0x118)]('['+formatDate(new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+'\x20created');}catch(_0x5b9ab3){console[_0x1dff40(0x11b)]('['+formatDate(new Date())+_0x1dff40(0x125),_0x5b9ab3[_0x1dff40(0x110)]);throw _0x5b9ab3;}try{const _0x4330cb={'durable':!![],'arguments':{'x-dead-letter-exchange':'retry-exchange','x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x3f9409=await _0x4c6bcc['assertQueue'](QUEUE,_0x4330cb);console[_0x1dff40(0x118)]('['+formatDate(new Date())+_0x1dff40(0x129)+QUEUE+'\x20'+(_0x57f2da[_0x1dff40(0x123)](_0x3f9409[_0x1dff40(0x130)],QUEUE)?_0x1dff40(0x127):_0x1dff40(0x12a))+_0x1dff40(0x121)),await _0x4c6bcc[_0x1dff40(0x10b)](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+formatDate(new Date())+']\x20Binding\x20'+EXCHANGE+_0x1dff40(0x11f)+QUEUE+'\x20('+ROUTING_KEY+_0x1dff40(0x10d));}catch(_0x185053){if(_0x185053['message'][_0x1dff40(0x137)]('inequivalent\x20arg')&&_0x185053[_0x1dff40(0x110)]['includes'](_0x57f2da['aEpwN']))console[_0x1dff40(0x11b)]('\x0a['+formatDate(new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x1dff40(0x11b)](_0x1dff40(0x11e)+QUEUE+_0x1dff40(0x116)),console[_0x1dff40(0x11b)](_0x1dff40(0x109)),process[_0x1dff40(0x12c)](0x1);else{console['error']('['+_0x57f2da['wjegy'](formatDate,new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x185053[_0x1dff40(0x110)]);throw _0x185053;}}}catch(_0x2826df){if(!_0x2826df[_0x1dff40(0x110)]['includes'](_0x1dff40(0x12d))){console[_0x1dff40(0x11b)]('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x2826df['message']);throw _0x2826df;}process['exit'](0x1);}}async function closeConnection(_0x48e827){const _0x596781=a0_0x3abd4e,_0x17cf25={'vZzXr':function(_0x232865,_0x21034e){return _0x232865(_0x21034e);}};if(_0x48e827)try{await _0x48e827[_0x596781(0x120)](),console['log']('['+_0x17cf25[_0x596781(0x12e)](formatDate,new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x2aed34){console[_0x596781(0x11b)]('['+_0x17cf25[_0x596781(0x12e)](formatDate,new Date())+_0x596781(0x119)+_0x2aed34[_0x596781(0x110)]);}}module[a0_0x3abd4e(0x132)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};function a0_0x36fa(){const _0x63ec13=['ndKWotm1oxfyt1zXvG','Aw5JBhvKzxm','lI9KyxrLsgvSCgvY','mtyWmtaYmLnjuLr4Aq','v2f4yxK','yxnZzxj0rxHJAgfUz2u','uKfcqKLutvfFvvjm','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG','nduZmta0muvkt0j0wG','yMLUzff1zxvL','ntu1nNLkwgjvuq','ksbJCMvHDgvK','zg90zw52','nti1nJq0ntjev0XmqMi','BwvZC2fNzq','DNDtBMe','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','yxnZzxj0uxvLDwu','xsbfEgnOyw5Nzsa','otbYAfLysLC','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','AwrlBxG','Bg9N','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','y3jLyxrLq2HHBM5LBa','zxjYB3i','y29UBMvJDa','zgLYzwn0','uxvLDwuG','ic0+ia','y2XVC2u','ihDPDgGGreXy','yw1XCgXPyG','Ae5nDKi','mtz4yNzTuM4','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','mJK2zeDPvLHN','y3jLyxrLzc9YzwfKEq','mtyZntC1nuDMB1Dota','xsbrDwv1zsa','zM91BMq','nhjWsvPjrW','zxHPDa','Aw5LCxvPDMfSzw50igfYzW','DLP6whi','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','CxvLDwu','xsbszxrYEsbXDwv1zsa','zxHWB3j0CW','mJCXntmYmerzyuLqBG','zw52','mJf1zuXcA3e'];a0_0x36fa=function(){return _0x63ec13;};return a0_0x36fa();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a0_0x3241(){const _0x43450e=['mtiWndmYnJbkCvD5ueu','mti4odvnCM5wqM8','mJmYnJH5DhHbwfi','y29UBMvJDa','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','nNrkAKrnqW','zgLZy29UBMvJDa','ndm0nZu0mgPpAw1YBq','sM5krLi','mtCZmZGYmJjhBNP3AMG','rvLev2C','CKTiz3G','DMfsvgK','mti0og5cBKjArW','uKvesvnFueftu1DpuKq','uKvesvnFrei','AxndB25Uzwn0zwq','BLLmrxq','uKvesvnFse9tva','CMvKAxnFAw5PDf9LCNjVCG','Aw9YzwrPCW','Bg9JywXOB3n0','CMfJzq','uMvKAxmGueLorYb0Aw1LB3v0','yMv3zhe','ndGWoejVBKPkzq','BwvZC2fNzq','zxjYB3i','zw52','mtC1ofb6rNfJBW','mJrdAMPwr3a','y2XPzw50','mtm1mtHiqvfLz3y','z2v0q2XPzw50','mJaYnJm2EMXjrwfU','Aw5MBW','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq'];a0_0x3241=function(){return _0x43450e;};return a0_0x3241();}function a0_0x525a(_0x2a6dbb,_0x366c66){_0x2a6dbb=_0x2a6dbb-0xef;const _0x3241be=a0_0x3241();let _0x525a4f=_0x3241be[_0x2a6dbb];if(a0_0x525a['yLlSFL']===undefined){var _0x520b3c=function(_0x224940){const _0x511eb8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x53572a='',_0x2f3761='';for(let _0x15ec8c=0x0,_0xa80c12,_0x1738bf,_0x4af088=0x0;_0x1738bf=_0x224940['charAt'](_0x4af088++);~_0x1738bf&&(_0xa80c12=_0x15ec8c%0x4?_0xa80c12*0x40+_0x1738bf:_0x1738bf,_0x15ec8c++%0x4)?_0x53572a+=String['fromCharCode'](0xff&_0xa80c12>>(-0x2*_0x15ec8c&0x6)):0x0){_0x1738bf=_0x511eb8['indexOf'](_0x1738bf);}for(let _0x3d9289=0x0,_0x261819=_0x53572a['length'];_0x3d9289<_0x261819;_0x3d9289++){_0x2f3761+='%'+('00'+_0x53572a['charCodeAt'](_0x3d9289)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2f3761);};a0_0x525a['byRPcu']=_0x520b3c,a0_0x525a['oBGrQm']={},a0_0x525a['yLlSFL']=!![];}const _0x1a3f53=_0x3241be[0x0],_0x423cd6=_0x2a6dbb+_0x1a3f53,_0x2e976b=a0_0x525a['oBGrQm'][_0x423cd6];return!_0x2e976b?(_0x525a4f=a0_0x525a['byRPcu'](_0x525a4f),a0_0x525a['oBGrQm'][_0x423cd6]=_0x525a4f):_0x525a4f=_0x2e976b,_0x525a4f;}const a0_0x27572a=a0_0x525a;(function(_0xc5d78a,_0x3fcfc0){const _0x1f4985=a0_0x525a,_0x189017=_0xc5d78a();while(!![]){try{const _0x20794c=-parseInt(_0x1f4985(0xff))/0x1*(parseInt(_0x1f4985(0xf7))/0x2)+parseInt(_0x1f4985(0xfb))/0x3*(-parseInt(_0x1f4985(0x107))/0x4)+parseInt(_0x1f4985(0x101))/0x5+parseInt(_0x1f4985(0xf2))/0x6*(-parseInt(_0x1f4985(0xfc))/0x7)+parseInt(_0x1f4985(0x113))/0x8*(parseInt(_0x1f4985(0xf5))/0x9)+-parseInt(_0x1f4985(0xfa))/0xa+-parseInt(_0x1f4985(0x103))/0xb*(-parseInt(_0x1f4985(0xf3))/0xc);if(_0x20794c===_0x3fcfc0)break;else _0x189017['push'](_0x189017['shift']());}catch(_0xa0960d){_0x189017['push'](_0x189017['shift']());}}}(a0_0x3241,0xc2ec8));const Redis=require(a0_0x27572a(0x10e)),{logger}=require('./logger');class RedisClient{constructor(){const _0x44f091=a0_0x27572a;this[_0x44f091(0xf4)]=null,this[_0x44f091(0x10a)]=![];}[a0_0x27572a(0xfd)](){const _0x36a938=a0_0x27572a,_0x328f2a={'EYDWg':function(_0x2942e5,_0x136a24){return _0x2942e5*_0x136a24;},'vaRTi':'redis_connected','rKHgx':_0x36a938(0xf9),'nYLEt':function(_0x492e35,_0x4401f6,_0x3d25b7){return _0x492e35(_0x4401f6,_0x3d25b7);},'bewdq':'error','dPeij':'Failed\x20to\x20initialize\x20Redis'};if(this['client'])return this['client'];try{return this[_0x36a938(0xf4)]=new Redis({'host':process[_0x36a938(0xf1)][_0x36a938(0x10c)]||_0x36a938(0x10f),'port':_0x328f2a[_0x36a938(0x10b)](parseInt,process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x36a938(0xf1)][_0x36a938(0x108)]||undefined,'db':parseInt(process['env'][_0x36a938(0x109)],0xa)||0x0,'retryStrategy'(_0xd49352){const _0x5ce1ed=_0x36a938,_0x299974=Math['min'](_0x328f2a[_0x5ce1ed(0x104)](_0xd49352,0x32),0x7d0);return _0x299974;}}),this['client']['on'](_0x36a938(0xfd),()=>{const _0x57126e=_0x36a938;this[_0x57126e(0x10a)]=!![],logger[_0x57126e(0xf8)]({'event':_0x328f2a[_0x57126e(0x106)]},_0x328f2a[_0x57126e(0x105)]);}),this['client']['on'](_0x328f2a[_0x36a938(0x112)],_0x2a5415=>{const _0xa126c7=_0x36a938;this[_0xa126c7(0x10a)]=![],logger['error']({'event':'redis_error','error':_0x2a5415[_0xa126c7(0xef)]},'Redis\x20connection\x20error:\x20'+_0x2a5415['message']);}),this[_0x36a938(0xf4)]['on']('close',()=>{const _0xedfcaf=_0x36a938;this['isConnected']=![],logger['warn']({'event':'redis_disconnected'},_0xedfcaf(0xfe));}),this['client'];}catch(_0x540210){logger[_0x36a938(0xf0)]({'event':_0x36a938(0x10d),'error':_0x540210['message']},_0x328f2a['dPeij']);throw _0x540210;}}[a0_0x27572a(0xf6)](){const _0x57661e=a0_0x27572a;return!this[_0x57661e(0xf4)]&&this['connect'](),this['client'];}async['ping'](_0x2b01c2=0x1388){const _0x165a3d=a0_0x27572a,_0x49c878={'JnJFR':function(_0x24cabd,_0x44462c){return _0x24cabd===_0x44462c;}};try{const _0x159bd5=this['getClient'](),_0x22219d=await Promise[_0x165a3d(0x110)]([_0x159bd5['ping'](),new Promise((_0x267b52,_0x1dc362)=>setTimeout(()=>_0x1dc362(new Error(_0x165a3d(0x111))),_0x2b01c2))]);return _0x49c878[_0x165a3d(0x102)](_0x22219d,'PONG');}catch(_0x982d01){return![];}}async[a0_0x27572a(0x100)](){this['client']&&(await this['client']['quit'](),this['client']=null,this['isConnected']=![]);}['forceDisconnect'](){const _0x1b3021=a0_0x27572a;this['client']&&(this[_0x1b3021(0xf4)][_0x1b3021(0x100)](),this[_0x1b3021(0xf4)]=null,this[_0x1b3021(0x10a)]=![]);}}module['exports']=new RedisClient();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x508686=a0_0x7e13;(function(_0x53ce80,_0x5b7d6c){const _0x38d50a=a0_0x7e13,_0x4e1a0b=_0x53ce80();while(!![]){try{const _0x4ae6e3=-parseInt(_0x38d50a(0x1a2))/0x1*(-parseInt(_0x38d50a(0x1b7))/0x2)+parseInt(_0x38d50a(0x19f))/0x3*(-parseInt(_0x38d50a(0x1b5))/0x4)+parseInt(_0x38d50a(0x1b9))/0x5+parseInt(_0x38d50a(0x1a3))/0x6+-parseInt(_0x38d50a(0x1b0))/0x7+-parseInt(_0x38d50a(0x1ae))/0x8+-parseInt(_0x38d50a(0x1b8))/0x9;if(_0x4ae6e3===_0x5b7d6c)break;else _0x4e1a0b['push'](_0x4e1a0b['shift']());}catch(_0x1aff65){_0x4e1a0b['push'](_0x4e1a0b['shift']());}}}(a0_0x2ec1,0x85628));const redisClient=require('./redis-client'),{logger}=require(a0_0x508686(0x1a9));class RedisHelper{constructor(){const _0x362488=a0_0x508686;this[_0x362488(0x1b2)]=null,this[_0x362488(0x1a0)]=parseInt(process[_0x362488(0x1af)]['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get[a0_0x508686(0x1ab)](){const _0x5886f6=a0_0x508686;if(!this[_0x5886f6(0x1b2)]){const _0x4bf27e=process[_0x5886f6(0x1af)]['RESTFORGE_PROJECT_NAME']||_0x5886f6(0x1a7);this['_prefix']=_0x5886f6(0x1ad)+_0x4bf27e+_0x5886f6(0x1a6);}return this['_prefix'];}async['setJob'](_0x36bc7c,_0x564b31){const _0x58090d=a0_0x508686,_0x38cc9a={'lgCGk':'redis_set_error'};try{const _0x25ebe0=redisClient[_0x58090d(0x19e)](),_0x41b78f=''+this['prefix']+_0x36bc7c;return await _0x25ebe0['setex'](_0x41b78f,this[_0x58090d(0x1a0)],JSON['stringify'](_0x564b31)),!![];}catch(_0x422e34){return logger['error']({'event':_0x38cc9a['lgCGk'],'jobId':_0x36bc7c,'error':_0x422e34['message']},'Failed\x20to\x20set\x20job\x20in\x20Redis'),![];}}async[a0_0x508686(0x1b1)](_0x48befc){const _0x289133=a0_0x508686,_0x255e00={'DrDjW':_0x289133(0x1a1),'HdfAQ':_0x289133(0x1b6)};try{const _0x55760f=redisClient[_0x289133(0x19e)](),_0x3b03b4=''+this[_0x289133(0x1ab)]+_0x48befc,_0x404d8c=await _0x55760f['get'](_0x3b03b4);return _0x404d8c?JSON[_0x289133(0x1a5)](_0x404d8c):null;}catch(_0x114ecb){return logger[_0x289133(0x1b3)]({'event':_0x255e00['DrDjW'],'jobId':_0x48befc,'error':_0x114ecb[_0x289133(0x1aa)]},_0x255e00['HdfAQ']),null;}}async['updateJob'](_0x41bae4,_0x178bc1){const _0x1b2d6a=await this['getJob'](_0x41bae4);if(!_0x1b2d6a)return![];const _0x44032a={..._0x1b2d6a,..._0x178bc1};return await this['setJob'](_0x41bae4,_0x44032a);}async['deleteJob'](_0x160722){const _0x40c60f=a0_0x508686,_0x5e390f={'IoEif':'redis_delete_error'};try{const _0x255b88=redisClient['getClient'](),_0x1a671e=''+this['prefix']+_0x160722;return await _0x255b88['del'](_0x1a671e),!![];}catch(_0x4fc5e2){return logger['error']({'event':_0x5e390f[_0x40c60f(0x1b4)],'jobId':_0x160722,'error':_0x4fc5e2[_0x40c60f(0x1aa)]},'Failed\x20to\x20delete\x20job\x20from\x20Redis'),![];}}async[a0_0x508686(0x19d)](){const _0x15e8e8=a0_0x508686,_0x41a228={'EszJR':_0x15e8e8(0x1a4)};try{const _0x1a62fa=redisClient[_0x15e8e8(0x19e)](),_0x56ae7e=await _0x1a62fa[_0x15e8e8(0x1ac)](this['prefix']+'*'),_0x53801b=[];for(const _0x2dab4f of _0x56ae7e){const _0x17f616=await _0x1a62fa['get'](_0x2dab4f);_0x17f616&&_0x53801b['push'](JSON['parse'](_0x17f616));}return _0x53801b;}catch(_0x4a1de3){return logger[_0x15e8e8(0x1b3)]({'event':_0x41a228[_0x15e8e8(0x1a8)],'error':_0x4a1de3[_0x15e8e8(0x1aa)]},'Failed\x20to\x20get\x20all\x20jobs'),[];}}}function a0_0x7e13(_0x410650,_0x13743e){_0x410650=_0x410650-0x19d;const _0x2ec1ea=a0_0x2ec1();let _0x7e1354=_0x2ec1ea[_0x410650];if(a0_0x7e13['mxbPXA']===undefined){var _0x278846=function(_0x2463be){const _0x29f567='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x58f371='',_0x127010='';for(let _0x11876f=0x0,_0x36c413,_0x2e0289,_0x5c155e=0x0;_0x2e0289=_0x2463be['charAt'](_0x5c155e++);~_0x2e0289&&(_0x36c413=_0x11876f%0x4?_0x36c413*0x40+_0x2e0289:_0x2e0289,_0x11876f++%0x4)?_0x58f371+=String['fromCharCode'](0xff&_0x36c413>>(-0x2*_0x11876f&0x6)):0x0){_0x2e0289=_0x29f567['indexOf'](_0x2e0289);}for(let _0x341727=0x0,_0x37a55b=_0x58f371['length'];_0x341727<_0x37a55b;_0x341727++){_0x127010+='%'+('00'+_0x58f371['charCodeAt'](_0x341727)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x127010);};a0_0x7e13['UwpfWK']=_0x278846,a0_0x7e13['sAQggM']={},a0_0x7e13['mxbPXA']=!![];}const _0x10c4ca=_0x2ec1ea[0x0],_0x486a33=_0x410650+_0x10c4ca,_0x175313=a0_0x7e13['sAQggM'][_0x486a33];return!_0x175313?(_0x7e1354=a0_0x7e13['UwpfWK'](_0x7e1354),a0_0x7e13['sAQggM'][_0x486a33]=_0x7e1354):_0x7e1354=_0x175313,_0x7e1354;}function a0_0x2ec1(){const _0x562206=['ndK3otG1nLrrwhbOBW','z2v0sM9I','x3bYzwzPEa','zxjYB3i','sw9fAwy','mtuZnJr3zK9kAxu','rMfPBgvKihrVigDLDcbQB2iGzNjVBsbszwrPCW','mZG1mtmYBhnozwjN','odaYnZm3zuLOEKzl','ndu4mZm2merhD0zOCq','z2v0qwXSsM9ICW','z2v0q2XPzw50','oxfTvwzsDG','DhrS','CMvKAxnFz2v0x2vYCM9Y','mwLNALLvCq','mtCXotG1ohH5v1rbta','CMvKAxnFz2v0ywXSx2vYCM9Y','CgfYC2u','oMv4Cg9YDdO','zgvMyxvSDa','rxn6sLi','lI9SB2DNzxi','BwvZC2fNzq','ChjLzML4','A2v5CW','CMvZDgzVCMDLoG','mJK5mZa0v0TRvgnz','zw52'];a0_0x2ec1=function(){return _0x562206;};return a0_0x2ec1();}module['exports']=new RedisHelper();
|