@restforgejs/platform 5.0.3 → 5.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/dashboard/create.js +1 -1
- package/generators/cli/endpoint/create.js +1 -1
- package/generators/cli/processor/create.js +1 -1
- package/generators/lib/dbschema-kit/apply-executor.js +15 -1
- package/generators/lib/dbschema-kit/connection.js +17 -2
- package/generators/lib/dbschema-kit/dialect/mysql.js +2 -0
- package/generators/lib/dbschema-kit/dialect/oracle.js +2 -0
- package/generators/lib/dbschema-kit/dialect/postgres.js +3 -0
- package/generators/lib/dbschema-kit/dialect/sqlite.js +2 -0
- package/generators/lib/dbschema-kit/emitters/alter-table.js +7 -0
- package/generators/lib/dbschema-kit/emitters/create-table.js +31 -3
- package/generators/lib/dbschema-kit/statement-modifier.js +12 -2
- package/generators/lib/payload/payload-runner.js +44 -2
- package/generators/lib/payload/schema-diff.js +31 -1
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/generators/lib/utils/database-introspector.js +421 -7
- package/generators/lib/validators/argument-validator.js +2 -2
- package/integrity-manifest.json +18 -18
- package/package.json +4 -2
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x33dda7=a0_0x1fe1;(function(_0x41e424,_0x40ae2d){const _0x10d295=a0_0x1fe1,_0x57d5d0=_0x41e424();while(!![]){try{const _0x505745=parseInt(_0x10d295(0x134))/0x1*(parseInt(_0x10d295(0x127))/0x2)+parseInt(_0x10d295(0x14e))/0x3*(-parseInt(_0x10d295(0x15f))/0x4)+-parseInt(_0x10d295(0x153))/0x5*(-parseInt(_0x10d295(0x16a))/0x6)+parseInt(_0x10d295(0x15d))/0x7+parseInt(_0x10d295(0x122))/0x8*(-parseInt(_0x10d295(0x168))/0x9)+-parseInt(_0x10d295(0x116))/0xa+-parseInt(_0x10d295(0x163))/0xb;if(_0x505745===_0x40ae2d)break;else _0x57d5d0['push'](_0x57d5d0['shift']());}catch(_0x19b352){_0x57d5d0['push'](_0x57d5d0['shift']());}}}(a0_0x5127,0x2f5c5));const redisClient=require(a0_0x33dda7(0x148)),{logger}=require(a0_0x33dda7(0x160)),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0xd79f29=a0_0x33dda7;this['_prefix']=null,this['_enabled']=null,this[_0xd79f29(0x117)]=null,this[_0xd79f29(0x166)]=null,this[_0xd79f29(0x14c)]=null,this['_strategy']=null,this[_0xd79f29(0x13e)]=null,this[_0xd79f29(0x123)]=![];}[a0_0x33dda7(0x15a)](){const _0x285a4a=a0_0x33dda7,_0x16ad21={'MOzbc':_0x285a4a(0x13b),'JFaHY':'true','OtFCg':function(_0xd5209a,_0x332750,_0x16df5d){return _0xd5209a(_0x332750,_0x16df5d);},'fLgit':_0x285a4a(0x16b)};this['_prefix']=_0x16ad21['MOzbc'],this['_enabled']=process['env']['LOCK_DISTRIBUTED_ENABLED']===_0x16ad21['JFaHY'],this[_0x285a4a(0x117)]=parseInt(process['env']['LOCK_DISTRIBUTED_TTL'],0xa)||0xa,this['_retryCount']=parseInt(process['env'][_0x285a4a(0x12b)],0xa)||0x3,this['_retryDelay']=_0x16ad21['OtFCg'](parseInt,process['env']['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64,this[_0x285a4a(0x141)]=process['env']['LOCK_DISTRIBUTED_STRATEGY']||_0x285a4a(0x12d),this[_0x285a4a(0x13e)]=_0x285a4a(0x144)+process['pid'],this['_initialized']=!![],logger[_0x285a4a(0x15b)]({'event':_0x16ad21['fLgit'],'enabled':this[_0x285a4a(0x157)],'strategy':this['_strategy'],'ttl':this[_0x285a4a(0x117)],'retryCount':this[_0x285a4a(0x166)],'retryDelay':this[_0x285a4a(0x14c)],'workerId':this[_0x285a4a(0x13e)]},_0x285a4a(0x155)+this['_enabled']+_0x285a4a(0x14a)+this[_0x285a4a(0x141)]);}[a0_0x33dda7(0x14f)](){const _0x2a4da4=a0_0x33dda7;!this['_initialized']&&this[_0x2a4da4(0x15a)]();}get['prefix'](){const _0x3fa677=a0_0x33dda7;return this['_ensureInitialized'](),this[_0x3fa677(0x120)];}get['enabled'](){const _0x232a6b=a0_0x33dda7;return this[_0x232a6b(0x14f)](),this[_0x232a6b(0x157)];}get[a0_0x33dda7(0x11c)](){const _0x165cbc=a0_0x33dda7;return this[_0x165cbc(0x14f)](),this['_defaultTTL'];}get[a0_0x33dda7(0x140)](){const _0x374ad0=a0_0x33dda7;return this[_0x374ad0(0x14f)](),this['_retryCount'];}get['retryDelay'](){const _0x5167c7=a0_0x33dda7;return this[_0x5167c7(0x14f)](),this['_retryDelay'];}get['strategy'](){const _0x28a276=a0_0x33dda7;return this['_ensureInitialized'](),this[_0x28a276(0x141)];}get['workerId'](){return this['_ensureInitialized'](),this['_workerId'];}['buildLockKey'](_0x2170d4){const _0x34046b=a0_0x33dda7,{module:_0x12a1be,endpoint:_0x49187b,lockType:_0x5b6360,recordId:_0x612ab}=_0x2170d4;if(_0x612ab)return''+this['prefix']+_0x12a1be+':'+_0x49187b+':'+_0x612ab+':'+_0x5b6360;return''+this[_0x34046b(0x12e)]+_0x12a1be+':'+_0x49187b+':'+_0x5b6360;}['generateLockValue'](){const _0x66b239=a0_0x33dda7;return this[_0x66b239(0x124)]+':'+uuidv4()+':'+Date['now']();}async[a0_0x33dda7(0x152)](_0x22f3b3){const _0x35936d=a0_0x33dda7,_0x3e2446={'KXmVP':_0x35936d(0x12a),'lPVsK':function(_0x1fb3fb,_0x1d11fe){return _0x1fb3fb<_0x1d11fe;},'uASee':_0x35936d(0x132),'iWPga':'read_lock_waiting','aRJam':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','KDVCR':_0x35936d(0x115),'fXnZx':_0x35936d(0x150)};if(!this[_0x35936d(0x138)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x200cb2=this['buildLockKey']({..._0x22f3b3,'lockType':_0x3e2446[_0x35936d(0x154)]}),_0x6fcf70=this[_0x35936d(0x121)]({..._0x22f3b3,'lockType':'read'}),_0x1ee7d1=this[_0x35936d(0x159)]();try{const _0x49d096=redisClient['getClient']();for(let _0x4bc8a8=0x0;_0x3e2446[_0x35936d(0x143)](_0x4bc8a8,this['retryCount']);_0x4bc8a8++){const _0x3f1d2c=await _0x49d096['get'](_0x200cb2);if(!_0x3f1d2c){await _0x49d096['incr'](_0x6fcf70),await _0x49d096['expire'](_0x6fcf70,this[_0x35936d(0x11c)]);const _0x4d359c=_0x6fcf70+':'+_0x1ee7d1;return await _0x49d096[_0x35936d(0x13a)](_0x4d359c,this['defaultTTL'],_0x1ee7d1),logger[_0x35936d(0x15e)]({'event':_0x35936d(0x11b),'key':_0x6fcf70,'value':_0x1ee7d1},_0x3e2446['uASee']),{'success':!![],'lockValue':_0x1ee7d1,'lockKey':_0x4d359c};}logger['debug']({'event':_0x3e2446['iWPga'],'writeKey':_0x200cb2,'attempt':_0x4bc8a8},_0x3e2446[_0x35936d(0x145)]),await this[_0x35936d(0x11e)](this['retryDelay']*Math[_0x35936d(0x133)](0x2,_0x4bc8a8));}return logger['warn']({'event':_0x3e2446[_0x35936d(0x135)],'key':_0x6fcf70},_0x3e2446[_0x35936d(0x14d)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x40f037){return logger['error']({'event':'read_lock_error','error':_0x40f037['message']},_0x35936d(0x137)),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x33dda7(0x11a)](_0x878322){const _0x17c5e9=a0_0x33dda7,_0x1bb7a9={'RxbZx':function(_0x25a8ae,_0x65aea3){return _0x25a8ae===_0x65aea3;},'acfYW':function(_0x1b7f3d,_0x2f6b8d){return _0x1b7f3d===_0x2f6b8d;},'GjKEq':'WRITE\x20lock\x20rejected\x20-\x20record\x20busy','dEEVo':function(_0x43b720,_0x247f77){return _0x43b720(_0x247f77);},'fVVtf':function(_0x30f57e,_0x169d97){return _0x30f57e===_0x169d97;},'gvXiX':_0x17c5e9(0x136)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x18c770=this['buildLockKey']({..._0x878322,'lockType':'write'}),_0x2009d4=this[_0x17c5e9(0x121)]({..._0x878322,'lockType':_0x17c5e9(0x167)}),_0x3f1c3a=this['generateLockValue']();try{const _0x554842=redisClient['getClient']();if(_0x1bb7a9[_0x17c5e9(0x12f)](this['strategy'],_0x17c5e9(0x118))){const _0x918e49=await _0x554842[_0x17c5e9(0x14b)](_0x18c770,_0x3f1c3a,'EX',this['defaultTTL'],'NX');if(_0x1bb7a9['acfYW'](_0x918e49,'OK'))return logger[_0x17c5e9(0x15e)]({'event':_0x17c5e9(0x15c),'key':_0x18c770,'value':_0x3f1c3a,'strategy':'reject'},'WRITE\x20lock\x20acquired\x20(reject\x20mode)'),{'success':!![],'lockValue':_0x3f1c3a,'lockKey':_0x18c770};return logger['debug']({'event':_0x17c5e9(0x12c),'key':_0x18c770},_0x1bb7a9['GjKEq']),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x429605=0x0;_0x429605<this['retryCount'];_0x429605++){const [_0x497d93,_0x552a09]=await Promise['all']([_0x554842[_0x17c5e9(0x149)](_0x2009d4),_0x554842['get'](_0x18c770)]);if(!_0x552a09&&(!_0x497d93||_0x1bb7a9[_0x17c5e9(0x142)](_0x1bb7a9['dEEVo'](parseInt,_0x497d93),0x0))){const _0x617c5=await _0x554842['set'](_0x18c770,_0x3f1c3a,'EX',this[_0x17c5e9(0x11c)],'NX');if(_0x1bb7a9[_0x17c5e9(0x130)](_0x617c5,'OK'))return logger['debug']({'event':_0x17c5e9(0x15c),'key':_0x18c770,'value':_0x3f1c3a,'strategy':'retry'},'WRITE\x20lock\x20acquired\x20(retry\x20mode)'),{'success':!![],'lockValue':_0x3f1c3a,'lockKey':_0x18c770};}logger[_0x17c5e9(0x15e)]({'event':_0x17c5e9(0x169),'writeKey':_0x18c770,'readCount':_0x497d93,'attempt':_0x429605},'Waiting\x20for\x20locks\x20to\x20release'),await this['sleep'](this[_0x17c5e9(0x158)]*Math['pow'](0x2,_0x429605));}return logger[_0x17c5e9(0x147)]({'event':'write_lock_timeout','key':_0x18c770},_0x17c5e9(0x162)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x198cab){return logger['error']({'event':_0x1bb7a9[_0x17c5e9(0x11d)],'error':_0x198cab[_0x17c5e9(0x125)]},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x33dda7(0x151)](_0x476788,_0x354af7){const _0x36f677=a0_0x33dda7,_0x2928e6={'afPuD':_0x36f677(0x165),'XLoMn':_0x36f677(0x13c),'prwzY':'write_lock_released','vqIih':_0x36f677(0x114),'gYufi':'Cannot\x20release\x20lock\x20-\x20not\x20owner','IhZXU':'Lock\x20release\x20error'};if(!this['enabled']||!_0x476788)return!![];try{const _0x3c134c=redisClient['getClient']();if(_0x476788['includes'](_0x2928e6['afPuD'])){await _0x3c134c['del'](_0x476788);const _0x980f5a=_0x476788[_0x36f677(0x156)](0x0,_0x476788['lastIndexOf'](':')),_0x2674e3=await _0x3c134c['get'](_0x980f5a);return _0x2674e3&&parseInt(_0x2674e3)>0x0&&await _0x3c134c[_0x36f677(0x13d)](_0x980f5a),logger[_0x36f677(0x15e)]({'event':_0x2928e6[_0x36f677(0x11f)],'key':_0x476788},_0x36f677(0x131)),!![];}const _0x29070b='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22del\x22,\x20KEYS[1])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x2548e9=await _0x3c134c[_0x36f677(0x13f)](_0x29070b,0x1,_0x476788,_0x354af7);if(_0x2548e9===0x1)return logger['debug']({'event':_0x2928e6['prwzY'],'key':_0x476788},'WRITE\x20lock\x20released'),!![];return logger['warn']({'event':_0x2928e6['vqIih'],'key':_0x476788},_0x2928e6[_0x36f677(0x126)]),![];}catch(_0x501f50){return logger[_0x36f677(0x139)]({'event':'lock_release_error','key':_0x476788,'error':_0x501f50['message']},_0x2928e6['IhZXU']),![];}}async['extendLock'](_0x309b59,_0x1a52d6,_0x10c437=null){const _0x35860a=a0_0x33dda7,_0x44976d={'tqIlM':function(_0x5921ba,_0x50233f){return _0x5921ba===_0x50233f;},'pxrml':_0x35860a(0x161),'RoJyO':'Lock\x20TTL\x20extended','nqQkD':'Lock\x20extend\x20error'};if(!this['enabled']||!_0x309b59)return!![];try{const _0x1ff237=redisClient[_0x35860a(0x119)](),_0x53d7e9='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22expire\x22,\x20KEYS[1],\x20ARGV[2])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x4f4fdc=await _0x1ff237['eval'](_0x53d7e9,0x1,_0x309b59,_0x1a52d6,_0x10c437||this['defaultTTL']);if(_0x44976d['tqIlM'](_0x4f4fdc,0x1))return logger[_0x35860a(0x15e)]({'event':_0x44976d[_0x35860a(0x164)],'key':_0x309b59,'ttl':_0x10c437||this['defaultTTL']},_0x44976d['RoJyO']),!![];return![];}catch(_0x23caa3){return logger[_0x35860a(0x139)]({'event':'lock_extend_error','key':_0x309b59,'error':_0x23caa3[_0x35860a(0x125)]},_0x44976d['nqQkD']),![];}}[a0_0x33dda7(0x129)](){return this['enabled'];}['sleep'](_0x17e445){return new Promise(_0x4d175b=>setTimeout(_0x4d175b,_0x17e445));}async[a0_0x33dda7(0x128)](_0x7fe435){const _0x598ed6=a0_0x33dda7,_0x25b089={'lxxbK':function(_0x4ec4a7,_0x231175){return _0x4ec4a7(_0x231175);}};if(!this['enabled'])return{'enabled':![]};try{const _0x56067b=redisClient['getClient'](),_0x3dce00=this['buildLockKey']({..._0x7fe435,'lockType':'write'}),_0x3f0004=this['buildLockKey']({..._0x7fe435,'lockType':_0x598ed6(0x167)}),[_0x12dc8a,_0x49465c]=await Promise[_0x598ed6(0x146)]([_0x56067b[_0x598ed6(0x149)](_0x3dce00),_0x56067b[_0x598ed6(0x149)](_0x3f0004)]);return{'enabled':!![],'writeLock':_0x12dc8a||null,'readCount':_0x25b089['lxxbK'](parseInt,_0x49465c)||0x0,'writeKey':_0x3dce00,'readKey':_0x3f0004};}catch(_0x53ff9b){return{'enabled':!![],'error':_0x53ff9b[_0x598ed6(0x125)]};}}}function a0_0x5127(){const _0x3058cc=['D29YA2vYswq','BwvZC2fNzq','z1L1zMK','offpwMD6qq','z2v0tg9JA0LUzM8','AxnfBMfIBgvK','D3jPDgu','te9ds19esvnuuKLcvvrfrf9srvrswq','D3jPDgvFBg9JA19YzwPLy3rLza','CMv0CNK','ChjLzML4','uNHIwNG','zLzwDgy','uKvbrcbSB2nRihjLBgvHC2vK','uKvbrcbSB2nRigfJCxvPCMvK','Cg93','nJKXntDJC1fHCNi','s0rwq1i','D3jPDgvFBg9JA19LCNjVCG','uKvbrcbSB2nRigvYCM9Y','zw5HyMXLza','zxjYB3i','C2v0zxG','CMy6Bg9JAZO','CMvHzf9SB2nRx3jLBgvHC2vK','zgvJCG','x3DVCMTLCKLK','zxzHBa','CMv0CNLdB3vUDa','x3n0CMf0zwD5','ywnMwvC','BfbwC0S','D29YA2vYlq','yvjkyw0','ywXS','D2fYBG','lI9YzwrPCY1JBgLLBNq','z2v0','lcbZDhjHDgvNEtOG','C2v0','x3jLDhj5rgvSyxK','zLHUwNG','mZaZmZLgz2rHqMW','x2vUC3vYzuLUAxrPywXPEMvK','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','CMvSzwfZzuXVy2S','ywnXDwLYzvjLywrmB2nR','odm1nda1D2vLBNf0','s1HTvLa','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','C3vIC3rYAw5N','x2vUywjSzwq','CMv0CNLezwXHEq','z2vUzxjHDgvmB2nRvMfSDwu','x2LUAxrdB25MAwC','Aw5MBW','D3jPDgvFBg9JA19Hy3f1AxjLza','mtGXmdKZnxvsBfjowq','zgvIDwC','nhv4yLLUEq','lI9SB2DNzxi','Bg9JA19LEhrLBMrLza','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','nJGXntyWzLjstMzU','ChHYBwW','oNjLywq6','x3jLDhj5q291BNq','CMvHza','mtaZnwfHrhHZrq','D3jPDgvFBg9JA193ywL0Aw5N','nKfSBerxwq','Bg9JA19JB25MAwDFAw5PDa','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','CMvHzf9SB2nRx3rPBwvVDxq','mJK4ndy3mgHjv3LMCG','x2rLzMf1BhruveW','CMvQzwn0','z2v0q2XPzw50','ywnXDwLYzvDYAxrLtg9JAW','CMvHzf9SB2nRx2fJCxvPCMvK','zgvMyxvSDfruta','z3zyAvG','C2XLzxa','weXVtw4','x3bYzwzPEa','yNvPBgrmB2nRs2v5','otu5mLH5vhHira','x2LUAxrPywXPEMvK'];a0_0x5127=function(){return _0x3058cc;};return a0_0x5127();}function a0_0x1fe1(_0x44a975,_0x40994d){_0x44a975=_0x44a975-0x114;const _0x512764=a0_0x5127();let _0x1fe1f1=_0x512764[_0x44a975];if(a0_0x1fe1['ZoccLZ']===undefined){var _0x3cace4=function(_0x5dfffd){const _0x385bdf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x59232c='',_0x34d470='';for(let _0x3b70c8=0x0,_0x54405,_0x2c6f08,_0x377a76=0x0;_0x2c6f08=_0x5dfffd['charAt'](_0x377a76++);~_0x2c6f08&&(_0x54405=_0x3b70c8%0x4?_0x54405*0x40+_0x2c6f08:_0x2c6f08,_0x3b70c8++%0x4)?_0x59232c+=String['fromCharCode'](0xff&_0x54405>>(-0x2*_0x3b70c8&0x6)):0x0){_0x2c6f08=_0x385bdf['indexOf'](_0x2c6f08);}for(let _0x18c720=0x0,_0x24d3fe=_0x59232c['length'];_0x18c720<_0x24d3fe;_0x18c720++){_0x34d470+='%'+('00'+_0x59232c['charCodeAt'](_0x18c720)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x34d470);};a0_0x1fe1['dvOnCw']=_0x3cace4,a0_0x1fe1['LWBezu']={},a0_0x1fe1['ZoccLZ']=!![];}const _0x67ed8a=_0x512764[0x0],_0x11fafd=_0x44a975+_0x67ed8a,_0x44cf5f=a0_0x1fe1['LWBezu'][_0x11fafd];return!_0x44cf5f?(_0x1fe1f1=a0_0x1fe1['dvOnCw'](_0x1fe1f1),a0_0x1fe1['LWBezu'][_0x11fafd]=_0x1fe1f1):_0x1fe1f1=_0x44cf5f,_0x1fe1f1;}module['exports']=new LockManager();
|
|
1
|
+
const a0_0x1cb7d7=a0_0x730f;function a0_0x730f(_0x39eb5a,_0x42c14f){_0x39eb5a=_0x39eb5a-0x65;const _0xec10d1=a0_0xec10();let _0x730f69=_0xec10d1[_0x39eb5a];if(a0_0x730f['SXdKJe']===undefined){var _0x5dcbb1=function(_0x4e0fc4){const _0x53300='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x7c4252='',_0x4e8621='';for(let _0x17474b=0x0,_0x228fbd,_0x3405da,_0x384900=0x0;_0x3405da=_0x4e0fc4['charAt'](_0x384900++);~_0x3405da&&(_0x228fbd=_0x17474b%0x4?_0x228fbd*0x40+_0x3405da:_0x3405da,_0x17474b++%0x4)?_0x7c4252+=String['fromCharCode'](0xff&_0x228fbd>>(-0x2*_0x17474b&0x6)):0x0){_0x3405da=_0x53300['indexOf'](_0x3405da);}for(let _0x105116=0x0,_0x1fce67=_0x7c4252['length'];_0x105116<_0x1fce67;_0x105116++){_0x4e8621+='%'+('00'+_0x7c4252['charCodeAt'](_0x105116)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4e8621);};a0_0x730f['qyaZAO']=_0x5dcbb1,a0_0x730f['jZDrWp']={},a0_0x730f['SXdKJe']=!![];}const _0x14c62d=_0xec10d1[0x0],_0x400bd8=_0x39eb5a+_0x14c62d,_0x3409c1=a0_0x730f['jZDrWp'][_0x400bd8];return!_0x3409c1?(_0x730f69=a0_0x730f['qyaZAO'](_0x730f69),a0_0x730f['jZDrWp'][_0x400bd8]=_0x730f69):_0x730f69=_0x3409c1,_0x730f69;}(function(_0x3616e9,_0x569212){const _0x4f4961=a0_0x730f,_0x3e7230=_0x3616e9();while(!![]){try{const _0x12fb7f=parseInt(_0x4f4961(0x83))/0x1*(-parseInt(_0x4f4961(0xc0))/0x2)+parseInt(_0x4f4961(0x66))/0x3+parseInt(_0x4f4961(0x79))/0x4+-parseInt(_0x4f4961(0x85))/0x5*(parseInt(_0x4f4961(0x6a))/0x6)+-parseInt(_0x4f4961(0x9b))/0x7+parseInt(_0x4f4961(0x78))/0x8+parseInt(_0x4f4961(0xc1))/0x9*(parseInt(_0x4f4961(0x9e))/0xa);if(_0x12fb7f===_0x569212)break;else _0x3e7230['push'](_0x3e7230['shift']());}catch(_0x4f0316){_0x3e7230['push'](_0x3e7230['shift']());}}}(a0_0xec10,0xd50f4));const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x249d15=a0_0x730f,_0x4c7f7a=_0x249d15(0x8a)[_0x249d15(0xb3)]('|');let _0x552900=0x0;while(!![]){switch(_0x4c7f7a[_0x552900++]){case'0':this['_initialized']=![];continue;case'1':this['_retryCount']=null;continue;case'2':this['_prefix']=null;continue;case'3':this['_retryDelay']=null;continue;case'4':this['_strategy']=null;continue;case'5':this['_defaultTTL']=null;continue;case'6':this[_0x249d15(0x87)]=null;continue;case'7':this['_workerId']=null;continue;}break;}}['_initConfig'](){const _0x1cf662=a0_0x730f,_0x2f15e8={'wZlFj':_0x1cf662(0x90),'HpCjP':function(_0x21ab75,_0x3053ea){return _0x21ab75===_0x3053ea;},'gnpZQ':'rf:lock:','UJcRm':_0x1cf662(0xbc)},_0x2f037d=_0x2f15e8['wZlFj'][_0x1cf662(0xb3)]('|');let _0x9683a9=0x0;while(!![]){switch(_0x2f037d[_0x9683a9++]){case'0':this['_enabled']=_0x2f15e8['HpCjP'](process[_0x1cf662(0xa3)][_0x1cf662(0xb5)],_0x1cf662(0xab));continue;case'1':this[_0x1cf662(0xbd)]=!![];continue;case'2':this['_workerId']='worker-'+process[_0x1cf662(0xa8)];continue;case'3':this[_0x1cf662(0xa2)]=_0x2f15e8['gnpZQ'];continue;case'4':this['_retryCount']=parseInt(process[_0x1cf662(0xa3)]['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3;continue;case'5':logger['info']({'event':'lock_config_init','enabled':this['_enabled'],'strategy':this['_strategy'],'ttl':this[_0x1cf662(0x93)],'retryCount':this[_0x1cf662(0x84)],'retryDelay':this['_retryDelay'],'workerId':this['_workerId']},_0x1cf662(0x96)+this[_0x1cf662(0x87)]+_0x1cf662(0xaa)+this['_strategy']);continue;case'6':this['_retryDelay']=parseInt(process['env']['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64;continue;case'7':this['_strategy']=process[_0x1cf662(0xa3)]['LOCK_DISTRIBUTED_STRATEGY']||_0x2f15e8['UJcRm'];continue;case'8':this['_defaultTTL']=parseInt(process['env'][_0x1cf662(0x75)],0xa)||0xa;continue;}break;}}['_ensureInitialized'](){const _0x59d4ef=a0_0x730f;!this[_0x59d4ef(0xbd)]&&this['_initConfig']();}get['prefix'](){const _0x312e2d=a0_0x730f;return this[_0x312e2d(0xaf)](),this[_0x312e2d(0xa2)];}get['enabled'](){const _0x3026b9=a0_0x730f;return this[_0x3026b9(0xaf)](),this[_0x3026b9(0x87)];}get[a0_0x1cb7d7(0xb6)](){const _0x28133c=a0_0x1cb7d7;return this[_0x28133c(0xaf)](),this['_defaultTTL'];}get['retryCount'](){const _0x56f6fd=a0_0x1cb7d7;return this['_ensureInitialized'](),this[_0x56f6fd(0x84)];}get[a0_0x1cb7d7(0x74)](){const _0x1965a4=a0_0x1cb7d7;return this[_0x1965a4(0xaf)](),this['_retryDelay'];}get['strategy'](){const _0x7a8271=a0_0x1cb7d7;return this[_0x7a8271(0xaf)](),this['_strategy'];}get[a0_0x1cb7d7(0xa1)](){const _0x403089=a0_0x1cb7d7;return this[_0x403089(0xaf)](),this[_0x403089(0x71)];}[a0_0x1cb7d7(0x9c)](_0x5b8376){const _0x101b7a=a0_0x1cb7d7,{module:_0xccc1de,endpoint:_0x508fdf,lockType:_0x530932,recordId:_0x3dcd93}=_0x5b8376;if(_0x3dcd93)return''+this[_0x101b7a(0x77)]+_0xccc1de+':'+_0x508fdf+':'+_0x3dcd93+':'+_0x530932;return''+this['prefix']+_0xccc1de+':'+_0x508fdf+':'+_0x530932;}['generateLockValue'](){const _0x4d63f3=a0_0x1cb7d7,_0x5563b8={'EpqdO':function(_0x5bbd4c){return _0x5bbd4c();}};return this['workerId']+':'+_0x5563b8[_0x4d63f3(0x69)](uuidv4)+':'+Date[_0x4d63f3(0x81)]();}async['acquireReadLock'](_0x308fcb){const _0x481cc6=a0_0x1cb7d7,_0x4bfece={'EwiOs':'READ\x20lock\x20acquired','zTWof':_0x481cc6(0x70),'KEcpB':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','yDznS':function(_0x231e7e,_0xee963f){return _0x231e7e*_0xee963f;},'waEmt':_0x481cc6(0x7c),'rVjvR':'READ\x20lock\x20acquire\x20timeout','ZAigZ':_0x481cc6(0xb7)};if(!this[_0x481cc6(0xb4)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x5a5ac0=this[_0x481cc6(0x9c)]({..._0x308fcb,'lockType':_0x481cc6(0x6e)}),_0x31ee54=this[_0x481cc6(0x9c)]({..._0x308fcb,'lockType':'read'}),_0x163bd4=this[_0x481cc6(0x6b)]();try{const _0x3c0c47=redisClient[_0x481cc6(0xac)]();for(let _0x18712a=0x0;_0x18712a<this[_0x481cc6(0x91)];_0x18712a++){const _0x582c2f=await _0x3c0c47[_0x481cc6(0x97)](_0x5a5ac0);if(!_0x582c2f){await _0x3c0c47['incr'](_0x31ee54),await _0x3c0c47['expire'](_0x31ee54,this[_0x481cc6(0xb6)]);const _0x12ed1f=_0x31ee54+':'+_0x163bd4;return await _0x3c0c47[_0x481cc6(0x89)](_0x12ed1f,this[_0x481cc6(0xb6)],_0x163bd4),logger['debug']({'event':'read_lock_acquired','key':_0x31ee54,'value':_0x163bd4},_0x4bfece[_0x481cc6(0x7f)]),{'success':!![],'lockValue':_0x163bd4,'lockKey':_0x12ed1f};}logger[_0x481cc6(0x8b)]({'event':_0x4bfece[_0x481cc6(0x92)],'writeKey':_0x5a5ac0,'attempt':_0x18712a},_0x4bfece['KEcpB']),await this[_0x481cc6(0x7d)](_0x4bfece[_0x481cc6(0xad)](this[_0x481cc6(0x74)],Math['pow'](0x2,_0x18712a)));}return logger['warn']({'event':_0x4bfece[_0x481cc6(0x98)],'key':_0x31ee54},_0x4bfece['rVjvR']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x5bfad9){return logger[_0x481cc6(0x7e)]({'event':_0x4bfece[_0x481cc6(0xae)],'error':_0x5bfad9[_0x481cc6(0x8c)]},'READ\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x7033c0){const _0x7e6219=a0_0x1cb7d7,_0x41572f={'LBTGo':function(_0x309129,_0x2ad6b5){return _0x309129===_0x2ad6b5;},'tOUbo':_0x7e6219(0x76),'HhWEE':_0x7e6219(0x9a),'ZajMY':function(_0x1c9973,_0x18af34){return _0x1c9973<_0x18af34;},'SiKNX':function(_0x5566e4,_0x55e1bc){return _0x5566e4(_0x55e1bc);},'BHwxP':'WRITE\x20lock\x20acquired\x20(retry\x20mode)','blTyI':_0x7e6219(0x8f),'TKemI':'write_lock_timeout','UIyFE':'write_lock_error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x57d4d7=this['buildLockKey']({..._0x7033c0,'lockType':'write'}),_0x18d582=this[_0x7e6219(0x9c)]({..._0x7033c0,'lockType':_0x7e6219(0x82)}),_0x387aff=this['generateLockValue']();try{const _0x61a400=redisClient['getClient']();if(_0x41572f[_0x7e6219(0x6d)](this[_0x7e6219(0x86)],'reject')){const _0x443842=await _0x61a400[_0x7e6219(0x80)](_0x57d4d7,_0x387aff,'EX',this['defaultTTL'],'NX');if(_0x443842==='OK')return logger['debug']({'event':_0x41572f['tOUbo'],'key':_0x57d4d7,'value':_0x387aff,'strategy':'reject'},_0x41572f[_0x7e6219(0x94)]),{'success':!![],'lockValue':_0x387aff,'lockKey':_0x57d4d7};return logger[_0x7e6219(0x8b)]({'event':_0x7e6219(0xa6),'key':_0x57d4d7},_0x7e6219(0xba)),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x552798=0x0;_0x41572f['ZajMY'](_0x552798,this[_0x7e6219(0x91)]);_0x552798++){const [_0x2e7269,_0x310409]=await Promise['all']([_0x61a400[_0x7e6219(0x97)](_0x18d582),_0x61a400[_0x7e6219(0x97)](_0x57d4d7)]);if(!_0x310409&&(!_0x2e7269||_0x41572f['SiKNX'](parseInt,_0x2e7269)===0x0)){const _0x5dbaf8=await _0x61a400[_0x7e6219(0x80)](_0x57d4d7,_0x387aff,'EX',this['defaultTTL'],'NX');if(_0x41572f['LBTGo'](_0x5dbaf8,'OK'))return logger['debug']({'event':_0x41572f[_0x7e6219(0xbb)],'key':_0x57d4d7,'value':_0x387aff,'strategy':'retry'},_0x41572f[_0x7e6219(0xb8)]),{'success':!![],'lockValue':_0x387aff,'lockKey':_0x57d4d7};}logger['debug']({'event':_0x41572f[_0x7e6219(0xa5)],'writeKey':_0x57d4d7,'readCount':_0x2e7269,'attempt':_0x552798},_0x7e6219(0xa7)),await this[_0x7e6219(0x7d)](this[_0x7e6219(0x74)]*Math['pow'](0x2,_0x552798));}return logger[_0x7e6219(0x6f)]({'event':_0x41572f['TKemI'],'key':_0x57d4d7},_0x7e6219(0xbf)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x2746fa){return logger['error']({'event':_0x41572f[_0x7e6219(0x65)],'error':_0x2746fa[_0x7e6219(0x8c)]},_0x7e6219(0x88)),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x5b1337,_0x5ac27a){const _0xbab14=a0_0x1cb7d7,_0x196894={'TAyCR':function(_0x2ed9b8,_0x597696){return _0x2ed9b8>_0x597696;},'rrmmp':function(_0x5fe029,_0x2f86b2){return _0x5fe029===_0x2f86b2;},'kFhIf':_0xbab14(0xb9),'fKRLu':_0xbab14(0xa9),'dbFrw':'Lock\x20release\x20error'};if(!this[_0xbab14(0xb4)]||!_0x5b1337)return!![];try{const _0x4ec254=redisClient[_0xbab14(0xac)]();if(_0x5b1337[_0xbab14(0x9f)](':read:')){await _0x4ec254[_0xbab14(0x68)](_0x5b1337);const _0x3174f4=_0x5b1337['substring'](0x0,_0x5b1337['lastIndexOf'](':')),_0xe0cc6b=await _0x4ec254[_0xbab14(0x97)](_0x3174f4);return _0xe0cc6b&&_0x196894[_0xbab14(0xb2)](parseInt(_0xe0cc6b),0x0)&&await _0x4ec254['decr'](_0x3174f4),logger[_0xbab14(0x8b)]({'event':'read_lock_released','key':_0x5b1337},_0xbab14(0x95)),!![];}const _0x39928a=_0xbab14(0x73),_0x2ff2ba=await _0x4ec254['eval'](_0x39928a,0x1,_0x5b1337,_0x5ac27a);if(_0x196894['rrmmp'](_0x2ff2ba,0x1))return logger[_0xbab14(0x8b)]({'event':_0xbab14(0x9d),'key':_0x5b1337},_0x196894[_0xbab14(0xbe)]),!![];return logger[_0xbab14(0x6f)]({'event':'lock_release_not_owner','key':_0x5b1337},_0x196894[_0xbab14(0x7b)]),![];}catch(_0xeb41df){return logger['error']({'event':_0xbab14(0x67),'key':_0x5b1337,'error':_0xeb41df[_0xbab14(0x8c)]},_0x196894[_0xbab14(0x7a)]),![];}}async[a0_0x1cb7d7(0x99)](_0x6f48d7,_0x4dee75,_0x43e59a=null){const _0x50583f=a0_0x1cb7d7,_0x5ccf78={'XkHgA':_0x50583f(0x6c),'iRlAM':_0x50583f(0xb0),'xdTXi':'Lock\x20extend\x20error'};if(!this['enabled']||!_0x6f48d7)return!![];try{const _0x485eea=redisClient['getClient'](),_0x2fee32='\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',_0x150cd4=await _0x485eea[_0x50583f(0xa0)](_0x2fee32,0x1,_0x6f48d7,_0x4dee75,_0x43e59a||this['defaultTTL']);if(_0x150cd4===0x1)return logger['debug']({'event':_0x5ccf78['XkHgA'],'key':_0x6f48d7,'ttl':_0x43e59a||this['defaultTTL']},_0x5ccf78[_0x50583f(0x8d)]),!![];return![];}catch(_0x4bc3a3){return logger[_0x50583f(0x7e)]({'event':'lock_extend_error','key':_0x6f48d7,'error':_0x4bc3a3['message']},_0x5ccf78[_0x50583f(0x72)]),![];}}['isEnabled'](){return this['enabled'];}['sleep'](_0x2cd321){return new Promise(_0x4a3943=>setTimeout(_0x4a3943,_0x2cd321));}async['getLockInfo'](_0x3f2937){const _0x271c04=a0_0x1cb7d7,_0x115dbd={'OrlvZ':'read'};if(!this[_0x271c04(0xb4)])return{'enabled':![]};try{const _0x76f946=redisClient[_0x271c04(0xac)](),_0xc3fd86=this['buildLockKey']({..._0x3f2937,'lockType':'write'}),_0x294d12=this[_0x271c04(0x9c)]({..._0x3f2937,'lockType':_0x115dbd[_0x271c04(0x8e)]}),[_0x8dc43a,_0x2a4dbc]=await Promise[_0x271c04(0xb1)]([_0x76f946['get'](_0xc3fd86),_0x76f946['get'](_0x294d12)]);return{'enabled':!![],'writeLock':_0x8dc43a||null,'readCount':parseInt(_0x2a4dbc)||0x0,'writeKey':_0xc3fd86,'readKey':_0x294d12};}catch(_0x2eeec2){return{'enabled':!![],'error':_0x2eeec2['message']};}}}module[a0_0x1cb7d7(0xa4)]=new LockManager();function a0_0xec10(){const _0xa50f88=['mZCWn1rouuLdva','x3jLDhj5q291BNq','mtG0nJq5me5WBvLRyW','C3rYyxrLz3K','x2vUywjSzwq','v1jjveuGBg9JAYbLCNjVCG','C2v0zxG','mNW2Fdv8mxWZFdr8n3WW','zgvIDwC','BwvZC2fNzq','AvjSqu0','t3jSDLO','D3jPDgvFBg9JA193ywL0Aw5N','m3WWFdH8nhW2FdD8mNWXFdu','CMv0CNLdB3vUDa','ELrxB2y','x2rLzMf1BhruveW','sgHxruu','uKvbrcbSB2nRihjLBgvHC2vK','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','z2v0','D2ffBxq','zxH0zw5Ktg9JAW','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','mta4mJy4ntHwuxjUt08','yNvPBgrmB2nRs2v5','D3jPDgvFBg9JA19YzwXLyxnLza','mZe5nZCYmhvJCNLzqG','Aw5JBhvKzxm','zxzHBa','D29YA2vYswq','x3bYzwzPEa','zw52','zxHWB3j0CW','yMXuEuK','D3jPDgvFBg9JA19YzwPLy3rLza','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','CgLK','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','lcbZDhjHDgvNEtOG','Dhj1zq','z2v0q2XPzw50','Eur6BLm','wKfPz1O','x2vUC3vYzuLUAxrPywXPEMvK','tg9JAYbuveWGzxH0zw5Kzwq','ywXS','vef5q1i','C3bSAxq','zw5HyMXLza','te9ds19esvnuuKLcvvrfrf9ftKfcteve','zgvMyxvSDfruta','CMvHzf9SB2nRx2vYCM9Y','qKH3Efa','v1jjveuGBg9JAYbYzwXLyxnLza','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','De9vyM8','CMv0CNK','x2LUAxrPywXPEMvK','A0zOswy','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','mtaYrwT2uxzL','ndvRyKvNzfC','vuL5rKu','odKXndHbAhD4t2m','Bg9JA19YzwXLyxnLx2vYCM9Y','zgvS','rxbXze8','mtHju2Xpvxe','z2vUzxjHDgvmB2nRvMfSDwu','Bg9JA19LEhrLBMrLza','tejur28','D3jPDgu','D2fYBG','CMvHzf9SB2nRx3DHAxrPBMC','x3DVCMTLCKLK','EgruwgK','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','CMv0CNLezwXHEq','te9ds19esvnuuKLcvvrfrf9uveW','D3jPDgvFBg9JA19Hy3f1AxjLza','ChjLzML4','oty4mZC0nfrdre5myq','mZuWote3mLvKwe55tW','zgjgCNC','zKTsthu','CMvHzf9SB2nRx3rPBwvVDxq','C2XLzxa','zxjYB3i','rxDPt3m','C2v0','BM93','CMvHza'];a0_0xec10=function(){return _0xa50f88;};return a0_0xec10();}
|
package/src/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x257325=a0_0x209b;(function(_0x24fa6c,_0x140019){const _0x110522=a0_0x209b,_0x2fcbc9=_0x24fa6c();while(!![]){try{const _0x58f195=parseInt(_0x110522(0x1bd))/0x1*(-parseInt(_0x110522(0x127))/0x2)+parseInt(_0x110522(0x12e))/0x3+-parseInt(_0x110522(0x197))/0x4+-parseInt(_0x110522(0x16b))/0x5*(parseInt(_0x110522(0x13b))/0x6)+-parseInt(_0x110522(0x1ad))/0x7+parseInt(_0x110522(0x1ab))/0x8+parseInt(_0x110522(0x1b4))/0x9;if(_0x58f195===_0x140019)break;else _0x2fcbc9['push'](_0x2fcbc9['shift']());}catch(_0x34f4c1){_0x2fcbc9['push'](_0x2fcbc9['shift']());}}}(a0_0x1e14,0xf1d66));const pino=require(a0_0x257325(0x11e)),fs=require('fs'),path=require(a0_0x257325(0x1cf));let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel=a0_0x257325(0x1b5),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;function a0_0x209b(_0x6c6a11,_0x4ba28e){_0x6c6a11=_0x6c6a11-0x11e;const _0x1e1488=a0_0x1e14();let _0x209b59=_0x1e1488[_0x6c6a11];if(a0_0x209b['nAffaz']===undefined){var _0x2d3da1=function(_0x38f02b){const _0x3f050a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x111720='',_0x29fb9b='';for(let _0x4451ad=0x0,_0x1892bb,_0x65ec5b,_0x43709e=0x0;_0x65ec5b=_0x38f02b['charAt'](_0x43709e++);~_0x65ec5b&&(_0x1892bb=_0x4451ad%0x4?_0x1892bb*0x40+_0x65ec5b:_0x65ec5b,_0x4451ad++%0x4)?_0x111720+=String['fromCharCode'](0xff&_0x1892bb>>(-0x2*_0x4451ad&0x6)):0x0){_0x65ec5b=_0x3f050a['indexOf'](_0x65ec5b);}for(let _0x35994a=0x0,_0x672fd3=_0x111720['length'];_0x35994a<_0x672fd3;_0x35994a++){_0x29fb9b+='%'+('00'+_0x111720['charCodeAt'](_0x35994a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x29fb9b);};a0_0x209b['apTZIa']=_0x2d3da1,a0_0x209b['bfHLCD']={},a0_0x209b['nAffaz']=!![];}const _0x42f4d6=_0x1e1488[0x0],_0x4da024=_0x6c6a11+_0x42f4d6,_0x3f29cc=a0_0x209b['bfHLCD'][_0x4da024];return!_0x3f29cc?(_0x209b59=a0_0x209b['apTZIa'](_0x209b59),a0_0x209b['bfHLCD'][_0x4da024]=_0x209b59):_0x209b59=_0x3f29cc,_0x209b59;}const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':a0_0x257325(0x15c),'hideObject':!![]},isDevelopment=process['env'][a0_0x257325(0x164)]!=='production',logLevel=process[a0_0x257325(0x18f)][a0_0x257325(0x1c7)]||'info';function a0_0x1e14(){const _0x5b0bac=['BxmP','Cg9YDa','yxbPA2v5','mtu2mZLIDfPsCwW','uLHpuhq','rgf0ywjHC2u6ia','ic0G','Dg9Rzw4','Dw5JyxvNAhrfEgnLChrPB24','tM9Kzs5QCW','y29UBMvJDgLVBG','D2fYBG','Ew9AB0u','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','y2HPBgq','rermx0rst1a','nJznBxLREwq','BwvZC2fNzq','C3rHDhvZq29Kzq','tvjHs1i','ENLcs04','Dhj1zq','B2H2DMO','C2vYDMvYx3n0yxj0Aw5N','zfzXBxi','BwfW','yLbYuKm','wezTwKq','CgLK','zxHPDa','zfb2Axu','B0Dbt1G','DxjS','zxHWB3j0CW','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','uhHzvLm','vfjbtLnbq1rjt05Fq09ntuLu','zgv2zwXVCg1LBNq','DhjPBq','rKfuquW6ia','w09lxsbqCM9Qzwn0igXVywrLzdOG','vMLwvMu','DhLWzq','C2vftuG','Ahr0Cf9LCNjVCG','qu9kDhq','w1jfrefdvevexq','Ahr0Cf9Yzxf1zxn0','q1jjveLdquW','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','zw52AxjVBM1LBNq','B2jQzwn0','yxbPs2v5','y3z2','revuDuC','zgjFCxvLCNK','ve9uu2G','tK9erv9ftLy','BwvTB3j5vxnHz2u','DgvZDa','Ec1Yzxf1zxn0lwLK','Dg9ju09tDhjPBMC','AxPuCeu','Ag9ZDa','ntyWnZuWEevSqKvf','revmrvrf','w1jfrefdveveoMHHC2HD','CgLU','yxDADeC','uefNEei','z2v0','Bwf4','y3jLzgL0x2nHCMq','CMvWzwf0','BhjTwfq','qNDQwem','uhjVy2vZCYbxyxjUAw5NoIa','sMrnAhq','CgfYyw1Z','sfruuca','y29UzMLNrMLSzq','zhvYyxrPB25nCW','zgf0ywjHC2u','Bwf0y2G','AgvHBhrOq2HLy2S','tuTKAwq','CxvLCNK','ChDK','iokvKqRILzeGiefqssblzxKGicaGidOG','C29Tzq','AM9PBG','Aw5MBW','q05oqM0','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','vhjHBNnHy3rPB24G','vvbeqvrf','CMvZDgzVCMDL','CeHdD2q','C2vYDMLJzuLUzM8','C3rHDhvZ','zw52','C3fSx3f1zxj5','CgfKrw5K','z2HpzMi','Dxb0Aw1L','Dg9gAxHLza','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','reDrEwK','mZm1odi4ohnKwhD1BG','rermx0fmvevs','wxvsqK0','y29Kzq','DfHtEKK','y3jLzgL0y2fYza','yM9KEq','B0vuA2i','Bg9N','uhLIAwO','CM93C0fMzMvJDgvK','D2fWBgi','AK54t1a','AvfRrwy','B0DeqNC','CMvZB2X2zq','sLL2y1C','tI9b','tMjrDw0','zxjYB3i','mtqYmtq4mdbWCwH5t0G','Bwv0Ag9K','nZG1ode1ogPYvxPdtG','zMLSzv9SB2DNAw5Nx2vUywjSzwq','AgvHzgvYCW','z1vpyvm','vu5ltK9xtG','yMfZzvvYBa','C3rYAw5N','mJK3mdq2mdHTvg1xyNy','zgvIDwC','qunusvzf','EhD6z1y','yxbWlMXVzW','ywnJzxnZx3rVA2vU','yxbPx2TLEq','CgfZC3DK','C3rHCNrZv2L0Aa','m3zSBhveBG','Cg9ZDgDYzxnXBa','zw1Twxu','C2vYDMvYx3jLywr5','tK9uiefdveLwrq','Dw5Oyw5KBgvKuMvQzwn0Aw9U','BMfTzq','u2fiB0G','Cxr0DLO','iokvKqRILzeGienVBMzPzYaGicaGidOG','te9hx0XfvKvm','C3rHy2S','rfjpua','zgvMyxvSDa','BgvUz3rO','zMf0ywW','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','D3jPDgu','Cgf0Aa','C3rKu2vYAwfSAxPLCNm','qxnry20','quXurvi','CgLUBW','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','rxjYB3i','te9hx0rjuG','lI9SB2DZlW','u1rbuLqGvfjbtLnbq1rjt04','u0vmrunu','CMvMCMvZAf90B2TLBG','Au1XC1a','ntK3ndyYuLjQugPc','u0rYBuW','A09KD08','zgf0ywjHC2vFy29UzMLN'];a0_0x1e14=function(){return _0x5b0bac;};return a0_0x1e14();}let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x257325(0x18b),'version':process[a0_0x257325(0x18f)]['APP_VERSION']||'1.0.5','env':process['env'][a0_0x257325(0x164)]||a0_0x257325(0x150)},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':['req.headers.authorization',a0_0x257325(0x1cd),'password',a0_0x257325(0x132),a0_0x257325(0x15f),'DB_PASSWORD','JWT_SECRET'],'censor':a0_0x257325(0x159)},'serializers':{'req':_0x17ab17=>({'id':_0x17ab17['id'],'method':_0x17ab17[a0_0x257325(0x1ac)],'url':_0x17ab17[a0_0x257325(0x14b)],'path':_0x17ab17['path'],'remoteAddress':_0x17ab17['ip']||_0x17ab17['connection']?.['remoteAddress']}),'res':_0x3d9c87=>({'statusCode':_0x3d9c87['statusCode'],'headers':_0x3d9c87['getHeaders']?.()}),'err':pino[a0_0x257325(0x1d0)]['err']}});function initFileLogging(){const _0x59039a=a0_0x257325,_0xb1dc4f={'MKdid':function(_0x2d070d,_0x579ba9){return _0x2d070d===_0x579ba9;},'CNNBm':_0x59039a(0x140),'MRaKR':_0x59039a(0x1ca),'TQAPg':'restforge','seEMH':'debug','awZtG':function(_0x583c26,_0x566663){return _0x583c26!==_0x566663;},'aDuCI':function(_0x2390cb,_0x49c025){return _0x2390cb(_0x49c025);},'XFmZD':'app.log','SaHoH':function(_0x3d2d12,_0x47a661,_0x143a44){return _0x3d2d12(_0x47a661,_0x143a44);}};if(fileLoggingInitialized)return;logToFile=_0xb1dc4f[_0x59039a(0x180)](process['env']['LOG_TO_FILE'],_0xb1dc4f[_0x59039a(0x187)]);const _0x4fd4b7=process[_0x59039a(0x18f)]['RESTFORGE_PROJECT_NAME']||_0xb1dc4f[_0x59039a(0x13e)];logDir=process[_0x59039a(0x18f)][_0x59039a(0x121)]||_0x59039a(0x122)+_0x4fd4b7,serviceName=process[_0x59039a(0x18f)]['SERVICE_NAME']||_0xb1dc4f['TQAPg'],sqlLogEnabled=process['env']['SQL_LOG_ENABLED']==='true',sqlLogLevel=process['env']['SQL_LOG_LEVEL']||_0xb1dc4f[_0x59039a(0x156)],sqlLogParams=_0xb1dc4f[_0x59039a(0x16f)](process[_0x59039a(0x18f)]['SQL_LOG_PARAMS'],'false'),sqlLogSlowThreshold=_0xb1dc4f['aDuCI'](parseInt,process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x13f34f=path[_0x59039a(0x1a6)](process['cwd'](),logDir);try{!fs['existsSync'](_0x13f34f)&&fs['mkdirSync'](_0x13f34f,{'recursive':!![]});}catch(_0x2c188b){console[_0x59039a(0x1aa)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x13f34f+':',_0x2c188b['message']),fileLoggingInitialized=!![];return;}const _0x160f55=path[_0x59039a(0x185)](_0x13f34f,_0xb1dc4f[_0x59039a(0x146)]),_0x310623=path['join'](_0x13f34f,'error.log');try{appLogStream=fs['createWriteStream'](_0x160f55,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x310623,{'flags':'a'}),fileLoggingInitialized=!![];const _0x9aadb4={'event':_0x59039a(0x1ae),'logDir':_0x13f34f,'files':[_0x59039a(0x1b8),'error.log']},_0x575803='File\x20logging\x20enabled:\x20'+_0x13f34f;logger['info'](_0x9aadb4,_0x575803),_0xb1dc4f[_0x59039a(0x1c4)](writeToFileLog,{..._0x9aadb4,'level':'info','msg':_0x575803,'time':new Date()[_0x59039a(0x168)]()},'info');}catch(_0x29a5af){console[_0x59039a(0x1aa)](_0x59039a(0x188),_0x29a5af[_0x59039a(0x13c)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x383f48,_0x142340){const _0x3fed9b=a0_0x257325,_0x592cec={'oETkb':function(_0x5a367d,_0x44b0b8){return _0x5a367d||_0x44b0b8;},'YVOib':function(_0xcca45d,_0x326104){return _0xcca45d===_0x326104;}};if(_0x592cec[_0x3fed9b(0x19e)](!logToFile,!appLogStream))return;const _0x2cdea1={'service':serviceName,..._0x383f48},_0x1469e6=JSON['stringify'](_0x2cdea1)+'\x0a';appLogStream[_0x3fed9b(0x1ce)](_0x1469e6),(_0x142340===_0x3fed9b(0x1aa)||_0x592cec['YVOib'](_0x142340,'fatal'))&&(errorLogStream&&errorLogStream[_0x3fed9b(0x1ce)](_0x1469e6));}const createRequestLogger=(_0x3a2381={})=>{const _0x5dc750=a0_0x257325;return logger[_0x5dc750(0x139)](_0x3a2381);},logServerStart=_0x28531d=>{const _0x43ce80=a0_0x257325,_0x28c64a={'kOdwO':function(_0x346c05,_0x5a31f0){return _0x346c05-_0x5a31f0;},'ViVVe':function(_0x2c48bf,_0x4305e8){return _0x2c48bf/_0x4305e8;},'tXSzI':_0x43ce80(0x1a8),'DGQyi':function(_0x3207ec,_0x554dbc){return _0x3207ec(_0x554dbc);},'vwBcJ':'Default','ghOfb':_0x43ce80(0x1c1),'waplb':_0x43ce80(0x142)},_0x39383f=_0x43ce80(0x195),_0x190b0d=Math[_0x43ce80(0x172)](0x0,_0x28c64a[_0x43ce80(0x129)](0x37,_0x39383f[_0x43ce80(0x1cb)])),_0x5dc53f=Math['floor'](_0x28c64a[_0x43ce80(0x154)](_0x190b0d,0x2)),_0x5eb452=_0x28c64a[_0x43ce80(0x129)](_0x190b0d,_0x5dc53f),_0x5ccf85='║'+'\x20'['repeat'](_0x5dc53f)+_0x39383f+'\x20'[_0x43ce80(0x174)](_0x5eb452)+'║',_0x58ff04=_0x43ce80(0x138)+_0x5ccf85+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x28531d[_0x43ce80(0x15d)]||_0x43ce80(0x134))['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x28531d['project']||_0x28c64a[_0x43ce80(0x19b)])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+_0x28c64a[_0x43ce80(0x196)](String,_0x28531d['port']||0xbb8)['padEnd'](0x26)+_0x43ce80(0x1c6)+(_0x28531d[_0x43ce80(0x17b)]||_0x28c64a['vwBcJ'])[_0x43ce80(0x191)](0x26)+_0x43ce80(0x183)+(_0x28531d['apiKey']?_0x43ce80(0x1b6):_0x28c64a[_0x43ce80(0x192)])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x43ce80(0x19f)](_0x58ff04);const _0x30eef0={'event':_0x28c64a[_0x43ce80(0x1a2)],'project':_0x28531d['project'],'port':_0x28531d[_0x43ce80(0x12c)],'config':_0x28531d[_0x43ce80(0x17b)],'apiKeyEnabled':!!_0x28531d['apiKey']};logger[_0x43ce80(0x186)](_0x30eef0),writeToFileLog({..._0x30eef0,'level':'info','msg':'Server\x20starting:\x20'+_0x28531d['project']+'\x20on\x20port\x20'+_0x28531d['port'],'time':new Date()['toISOString']()},_0x43ce80(0x186));},logServerReady=_0x54e8e2=>{const _0x2169a2=a0_0x257325,_0x594570={'kgDZg':_0x2169a2(0x1c0),'CAAqW':'info'},_0x433376={'event':_0x594570['kgDZg'],'port':_0x54e8e2[_0x2169a2(0x12c)],'module':_0x54e8e2['module'],'healthCheck':_0x54e8e2['healthCheck'],'serviceInfo':_0x54e8e2['serviceInfo'],'baseUrl':_0x54e8e2[_0x2169a2(0x1b2)]},_0xb48da='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x54e8e2[_0x2169a2(0x12c)];logger['info'](_0x433376,_0xb48da),writeToFileLog({..._0x433376,'level':'info','msg':_0xb48da,'time':new Date()[_0x2169a2(0x168)]()},_0x594570['CAAqW']),_0x54e8e2['healthCheck']&&logger[_0x2169a2(0x186)]('\x20\x20Health:\x20'+_0x54e8e2[_0x2169a2(0x17f)]),_0x54e8e2[_0x2169a2(0x18d)]&&logger['info']('\x20\x20Info:\x20\x20\x20'+_0x54e8e2[_0x2169a2(0x18d)]),_0x54e8e2['baseUrl']&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0x54e8e2[_0x2169a2(0x1b2)]);},logProjectLoaded=(_0x3f4669,_0x53b979)=>{const _0x290f80=a0_0x257325,_0x21861d={'event':'project_loaded','project':_0x3f4669,'path':_0x53b979},_0x3a9aa3=_0x290f80(0x153)+_0x3f4669;logger['info'](_0x21861d,_0x3a9aa3),writeToFileLog({..._0x21861d,'level':_0x290f80(0x186),'msg':_0x3a9aa3,'time':new Date()['toISOString']()},_0x290f80(0x186));},logEndpointRegistered=(_0x1d8e34,_0x76c9dc)=>{const _0x7c61e0=a0_0x257325,_0x431ec3={'YuRBM':'debug'},_0x507ec0={'event':'endpoint_registered','endpoint':_0x1d8e34,'route':_0x76c9dc},_0x2a03e5='\x20\x20→\x20'+_0x1d8e34+':\x20'+_0x76c9dc;logger['debug'](_0x507ec0,_0x2a03e5),writeToFileLog({..._0x507ec0,'level':_0x431ec3['YuRBM'],'msg':_0x2a03e5,'time':new Date()['toISOString']()},_0x431ec3[_0x7c61e0(0x199)]);},logDatabaseConfig=_0x5039e0=>{const _0x3f0ca7=a0_0x257325,_0x4ebefe={'zyBKN':_0x3f0ca7(0x12a),'Wrwez':function(_0x2eda9d,_0x5cfddc,_0x3ba572){return _0x2eda9d(_0x5cfddc,_0x3ba572);},'dVqmr':'debug'},_0x7400cf={'event':_0x4ebefe[_0x3f0ca7(0x13f)],'host':_0x5039e0[_0x3f0ca7(0x16a)],'port':_0x5039e0['port'],'database':_0x5039e0[_0x3f0ca7(0x17d)],'type':_0x5039e0[_0x3f0ca7(0x155)],'user':_0x5039e0['user']},_0x511d9b=_0x3f0ca7(0x130)+_0x5039e0['type']+'://'+_0x5039e0['host']+':'+_0x5039e0['port']+'/'+_0x5039e0['database'];logger[_0x3f0ca7(0x1b5)](_0x7400cf,_0x511d9b),_0x4ebefe['Wrwez'](writeToFileLog,{..._0x7400cf,'level':_0x4ebefe[_0x3f0ca7(0x143)],'msg':_0x511d9b,'time':new Date()[_0x3f0ca7(0x168)]()},_0x3f0ca7(0x1b5));},logRequest=(_0x37e379,_0x21789f,_0xe374d3)=>{const _0x5e3a1f=a0_0x257325,_0x11188a={'PAgxB':function(_0x515e9a,_0x417f27,_0x3bbfc4){return _0x515e9a(_0x417f27,_0x3bbfc4);}},_0x516cdd={'event':_0x5e3a1f(0x15a),'method':_0x37e379['method'],'path':_0x37e379[_0x5e3a1f(0x1cf)],'statusCode':_0x21789f['statusCode'],'durationMs':_0xe374d3,'ip':_0x37e379['ip']},_0x410c8d=_0x37e379['method']+'\x20'+_0x37e379[_0x5e3a1f(0x1cf)]+_0x5e3a1f(0x131)+_0x21789f[_0x5e3a1f(0x13d)]+'\x20('+_0xe374d3+_0x5e3a1f(0x12b);let _0xa26ec0=_0x5e3a1f(0x186);if(_0x21789f[_0x5e3a1f(0x13d)]>=0x1f4)_0xa26ec0=_0x5e3a1f(0x1aa),logger['error'](_0x516cdd,_0x410c8d);else _0x21789f[_0x5e3a1f(0x13d)]>=0x190?(_0xa26ec0=_0x5e3a1f(0x136),logger[_0x5e3a1f(0x136)](_0x516cdd,_0x410c8d)):logger[_0x5e3a1f(0x186)](_0x516cdd,_0x410c8d);_0x11188a[_0x5e3a1f(0x170)](writeToFileLog,{..._0x516cdd,'level':_0xa26ec0,'msg':_0x410c8d,'time':new Date()['toISOString']()},_0xa26ec0);},SENSITIVE_PARAM_PATTERNS=['password',a0_0x257325(0x1bb),a0_0x257325(0x182),a0_0x257325(0x132),'access_token',a0_0x257325(0x125),'secret','api_secret','apikey','api_key','credential','credentials',a0_0x257325(0x16e),'otp','private_key','privatekey'],redactSensitiveParams=(_0x2813cf,_0x491a18)=>{const _0x17ee93=a0_0x257325,_0x2230f9={'AsQcm':_0x17ee93(0x159),'AwlEo':function(_0x4cb808,_0x3f3d6e){return _0x4cb808===_0x3f3d6e;},'kcNlK':_0x17ee93(0x1b3),'uMKVq':'[REDACTED:token]'};if(!_0x2813cf||_0x2813cf[_0x17ee93(0x1cb)]===0x0)return _0x2813cf;const _0x5a2941=_0x491a18['toLowerCase'](),_0x2f3344=_0x5a2941[_0x17ee93(0x17e)](/\(([^)]+)\)\s*values/i);let _0x43495e=[];_0x2f3344&&(_0x43495e=_0x2f3344[0x1]['split'](',')[_0x17ee93(0x144)](_0x116901=>_0x116901['trim']()['toLowerCase']()));const _0x482002=_0x5a2941['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x482002){const _0x530c66=_0x482002[0x1],_0x57b4ac=_0x530c66['match'](/(\w+)\s*=/g);_0x57b4ac&&(_0x43495e=_0x57b4ac['map'](_0x256d05=>_0x256d05['replace'](/\s*=/,'')[_0x17ee93(0x151)]()['toLowerCase']()));}return _0x2813cf[_0x17ee93(0x144)]((_0x783cc5,_0x2ea8fc)=>{const _0x101fb5=_0x17ee93;if(_0x43495e[_0x2ea8fc]){const _0x2ee924=_0x43495e[_0x2ea8fc],_0x29fb9c=SENSITIVE_PARAM_PATTERNS[_0x101fb5(0x184)](_0x1ffdd7=>_0x2ee924['includes'](_0x1ffdd7));if(_0x29fb9c)return _0x2230f9[_0x101fb5(0x1d1)];}if(_0x2230f9['AwlEo'](typeof _0x783cc5,_0x2230f9['kcNlK'])&&_0x783cc5[_0x101fb5(0x1cb)]>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x101fb5(0x166)](_0x783cc5)&&_0x783cc5['includes']('.'))return _0x2230f9['uMKVq'];if(/^[a-fA-F0-9]{32,}$/['test'](_0x783cc5))return _0x101fb5(0x16d);}return _0x783cc5;});},parseQueryMetadata=_0x13ab42=>{const _0x46d17d=a0_0x257325,_0x18d866={'OQbRU':_0x46d17d(0x124),'emmYu':'INSERT','ZgoAK':'DELETE','ohvvj':'BEGIN','SDrmL':'COMMIT','fuECP':'ROLLBACK','xwzgV':'TRANSACTION_ROLLBACK'},_0x498a00=_0x13ab42['trim'](),_0x3755b2=_0x498a00['toUpperCase']();let _0x3e46a1=_0x46d17d(0x1b1),_0x5d614e=null;if(_0x3755b2[_0x46d17d(0x1bc)](_0x18d866['OQbRU'])){_0x3e46a1=_0x46d17d(0x124);const _0x309fa6=_0x498a00[_0x46d17d(0x17e)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5d614e=_0x309fa6?_0x309fa6[0x1]:null;}else{if(_0x3755b2[_0x46d17d(0x1bc)](_0x18d866[_0x46d17d(0x1bf)])){_0x3e46a1=_0x18d866['emmYu'];const _0x1f7d72=_0x498a00['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5d614e=_0x1f7d72?_0x1f7d72[0x1]:null;}else{if(_0x3755b2['startsWith']('UPDATE')){_0x3e46a1=_0x46d17d(0x18a);const _0x38c345=_0x498a00['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5d614e=_0x38c345?_0x38c345[0x1]:null;}else{if(_0x3755b2['startsWith'](_0x18d866['ZgoAK'])){_0x3e46a1=_0x46d17d(0x16c);const _0x4bd238=_0x498a00[_0x46d17d(0x17e)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5d614e=_0x4bd238?_0x4bd238[0x1]:null;}else{if(_0x3755b2['startsWith'](_0x18d866[_0x46d17d(0x141)])||_0x3755b2['startsWith'](_0x46d17d(0x123)))_0x3e46a1='TRANSACTION_BEGIN';else{if(_0x3755b2[_0x46d17d(0x1bc)](_0x18d866[_0x46d17d(0x128)]))_0x3e46a1=_0x46d17d(0x14f);else{if(_0x3755b2[_0x46d17d(0x1bc)](_0x18d866['fuECP']))_0x3e46a1=_0x18d866[_0x46d17d(0x1b7)];else{if(_0x3755b2[_0x46d17d(0x1bc)]('CREATE'))_0x3e46a1='DDL_CREATE';else{if(_0x3755b2['startsWith'](_0x46d17d(0x1d2)))_0x3e46a1=_0x46d17d(0x198);else _0x3755b2[_0x46d17d(0x1bc)](_0x46d17d(0x1c9))&&(_0x3e46a1=_0x46d17d(0x13a));}}}}}}}}return{'type':_0x3e46a1,'table':_0x5d614e};},startQueryTimer=()=>{const _0x44816c={'RXOPt':function(_0x21346f,_0x2be673){return _0x21346f/_0x2be673;}},_0x5c3771=process['hrtime']();return()=>{const _0x43c2ef=a0_0x209b,[_0x39f84f,_0x181ef0]=process['hrtime'](_0x5c3771);return parseFloat((_0x39f84f*0x3e8+_0x44816c[_0x43c2ef(0x12f)](_0x181ef0,0xf4240))[_0x43c2ef(0x194)](0x2));};},logQuery=(_0x39f91f,_0xe16c7a=[],_0x3eca11={})=>{const _0x1f36db=a0_0x257325,_0x2502f8={'DzGHq':'DB\x20Query','iMqsP':_0x1f36db(0x190),'hNVaQ':function(_0x2c6e42,_0x58bbe0,_0x112df3){return _0x2c6e42(_0x58bbe0,_0x112df3);},'cXqYs':function(_0x4b4be6,_0x298db9){return _0x4b4be6!==_0x298db9;},'izTpE':'unknown','oGAOX':function(_0x235266,_0x1f9eb3){return _0x235266!==_0x1f9eb3;},'dPviu':function(_0x1f9299,_0x281891){return _0x1f9299>_0x281891;},'JdMht':function(_0x3311c8,_0x548f3f,_0x34847b){return _0x3311c8(_0x548f3f,_0x34847b);}};if(!sqlLogEnabled){logger[_0x1f36db(0x1b5)]({'event':_0x1f36db(0x162),'query':_0x39f91f['substring'](0x0,0xc8),'paramCount':_0xe16c7a['length']},_0x2502f8['DzGHq']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x1f36db(0x1be)}=_0x3eca11,{type:_0x2c384c,table:_0x3c69ee}=parseQueryMetadata(_0x39f91f),_0x10b266={'event':_0x2502f8[_0x1f36db(0x126)],'queryType':_0x2c384c,'table':_0x3c69ee,'query':_0x39f91f,'paramCount':_0xe16c7a[_0x1f36db(0x1cb)],'dbType':dbType};sqlLogParams&&_0xe16c7a[_0x1f36db(0x1cb)]>0x0&&(_0x10b266[_0x1f36db(0x179)]=_0x2502f8['hNVaQ'](redactSensitiveParams,_0xe16c7a,_0x39f91f));_0x2502f8['cXqYs'](duration,null)&&(_0x10b266[_0x1f36db(0x17c)]=duration,_0x10b266['isSlow']=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x10b266[_0x1f36db(0x1a1)]=rowsAffected);const _0x25b1b1=_0x3c69ee||_0x2502f8[_0x1f36db(0x169)];let _0x3ddc97='['+_0x2c384c+']\x20'+_0x25b1b1;_0x2502f8[_0x1f36db(0x14a)](duration,null)&&(_0x3ddc97+='\x20('+duration+_0x1f36db(0x12b));const _0x550db3=_0x2502f8['cXqYs'](duration,null)&&_0x2502f8[_0x1f36db(0x149)](duration,sqlLogSlowThreshold);let _0x55462f=_0x1f36db(0x1b5);if(_0x550db3)_0x3ddc97+='\x20[SLOW]',_0x55462f=_0x1f36db(0x136),logger['warn'](_0x10b266,_0x3ddc97);else sqlLogLevel==='info'?(_0x55462f=_0x1f36db(0x186),logger['info'](_0x10b266,_0x3ddc97)):logger['debug'](_0x10b266,_0x3ddc97);_0x2502f8[_0x1f36db(0x178)](writeToFileLog,{..._0x10b266,'level':_0x55462f,'msg':_0x3ddc97,'time':new Date()[_0x1f36db(0x168)]()},_0x55462f);},logTransaction=(_0x553420,_0x2ccc6b)=>{const _0x3e549b=a0_0x257325,_0x544b30={'bPrRC':'db_transaction','zCTHy':function(_0x5e7f56,_0x2c5763,_0x46d00b){return _0x5e7f56(_0x2c5763,_0x46d00b);},'RSGwT':_0x3e549b(0x1b5)},_0x342040={'event':_0x544b30[_0x3e549b(0x145)],'status':_0x553420,'queryCount':_0x2ccc6b},_0x412e73=_0x3e549b(0x189)+_0x553420;logger['debug'](_0x342040,_0x412e73),_0x544b30['zCTHy'](writeToFileLog,{..._0x342040,'level':_0x544b30['RSGwT'],'msg':_0x412e73,'time':new Date()['toISOString']()},_0x3e549b(0x1b5));},redactObject=_0x5bf7a1=>{const _0x38413e=a0_0x257325,_0x24266d={'ehXjs':function(_0xa58a67,_0x18f076){return _0xa58a67!==_0x18f076;},'lCtoS':_0x38413e(0x15e),'qttvZ':'passwd','EXPLZ':_0x38413e(0x182),'JYvcW':'token','yoZoE':'secret','cPnDO':_0x38413e(0x19c),'lrmXT':_0x38413e(0x173),'ayTdn':_0x38413e(0x160),'jNxOP':'ssn','MGCAV':_0x38413e(0x16e),'lkdlY':'private_key','SLKCH':_0x38413e(0x125),'BwjXC':_0x38413e(0x1b9),'iQkEf':_0x38413e(0x159),'AOJtt':function(_0x1a1ade,_0x1e3208){return _0x1a1ade===_0x1e3208;},'tyiYt':function(_0x18e42c,_0x545dee){return _0x18e42c(_0x545dee);}};if(!_0x5bf7a1||_0x24266d['ehXjs'](typeof _0x5bf7a1,_0x24266d['lCtoS']))return _0x5bf7a1;const _0x16379a=['password',_0x24266d[_0x38413e(0x1c5)],_0x24266d['EXPLZ'],_0x24266d[_0x38413e(0x1a7)],_0x24266d[_0x38413e(0x137)],_0x38413e(0x12d),_0x38413e(0x1ba),'authorization',_0x24266d['cPnDO'],_0x24266d[_0x38413e(0x175)],_0x24266d['ayTdn'],_0x24266d[_0x38413e(0x1a3)],_0x24266d['MGCAV'],_0x24266d['lkdlY'],'privatekey',_0x24266d['SLKCH'],_0x24266d[_0x38413e(0x176)]],_0x469f92=Array['isArray'](_0x5bf7a1)?[..._0x5bf7a1]:{..._0x5bf7a1};for(const _0xdabd4a of Object['keys'](_0x469f92)){const _0x803cc5=_0xdabd4a['toLowerCase']();if(_0x16379a[_0x38413e(0x184)](_0x261b4e=>_0x803cc5['includes'](_0x261b4e)))_0x469f92[_0xdabd4a]=_0x24266d[_0x38413e(0x1a4)];else _0x24266d[_0x38413e(0x158)](typeof _0x469f92[_0xdabd4a],'object')&&_0x24266d['ehXjs'](_0x469f92[_0xdabd4a],null)&&(_0x469f92[_0xdabd4a]=_0x24266d['tyiYt'](redactObject,_0x469f92[_0xdabd4a]));}return _0x469f92;},logError=(_0x4eebdc,_0x3a067a={},_0x37e0ed=null)=>{const _0x1d80ab=a0_0x257325,_0x22a8aa={'wgatq':_0x1d80ab(0x1aa),'NbQum':_0x1d80ab(0x120),'Pybij':function(_0x2edc38,_0x14f078,_0x2e3f7f){return _0x2edc38(_0x14f078,_0x2e3f7f);}},_0x3f0faa={'event':_0x22a8aa['wgatq'],'errorName':_0x4eebdc['name']||_0x22a8aa[_0x1d80ab(0x1a9)],'errorMessage':_0x4eebdc[_0x1d80ab(0x13c)],'errorCode':_0x4eebdc[_0x1d80ab(0x19a)]||null,'stack':_0x4eebdc[_0x1d80ab(0x1c8)],..._0x3a067a},_0x3b4bb7=_0x37e0ed||'Error:\x20'+_0x4eebdc['message'];logger[_0x1d80ab(0x1aa)](_0x3f0faa,_0x3b4bb7),_0x22a8aa[_0x1d80ab(0x1a0)](writeToFileLog,{..._0x3f0faa,'level':_0x22a8aa['wgatq'],'msg':_0x3b4bb7,'time':new Date()['toISOString']()},_0x1d80ab(0x1aa));},logFatalError=(_0x473813,_0x10e81e={},_0x498975=null)=>{const _0x888312=a0_0x257325,_0x1a129={'TOTSh':'fatal_error'},_0x3bb7b2={'event':_0x1a129[_0x888312(0x163)],'errorName':_0x473813['name']||'Error','errorMessage':_0x473813['message'],'errorCode':_0x473813['code']||null,'stack':_0x473813['stack'],'severity':_0x888312(0x15b),..._0x10e81e},_0xe4f885=_0x498975||_0x888312(0x152)+_0x473813[_0x888312(0x13c)];logger[_0x888312(0x1cc)](_0x3bb7b2,_0xe4f885),writeToFileLog({..._0x3bb7b2,'level':'fatal','msg':_0xe4f885,'time':new Date()['toISOString']()},_0x888312(0x1aa));},logHttpError=(_0x358588,_0x4f64f9,_0x1eb2b3={})=>{const _0x4a9437=a0_0x257325,_0x11b24f={'oGDBw':_0x4a9437(0x157),'cWGHE':_0x4a9437(0x120),'JUXvW':'user-agent','wAYJU':function(_0x17542a,_0x162649){return _0x17542a>=_0x162649;},'QaJXi':'warn','pHCwd':function(_0x269909,_0x5daf91){return _0x269909>=_0x5daf91;}},_0x398cb4={'event':_0x11b24f[_0x4a9437(0x1a5)],'errorName':_0x358588['name']||_0x11b24f['cWGHE'],'errorMessage':_0x358588[_0x4a9437(0x13c)],'errorCode':_0x358588[_0x4a9437(0x19a)]||_0x358588['statusCode']||0x1f4,'stack':_0x358588['stack'],'method':_0x4f64f9?.['method'],'url':_0x4f64f9?.[_0x4a9437(0x14b)]||_0x4f64f9?.['originalUrl'],'path':_0x4f64f9?.['path'],'ip':_0x4f64f9?.['ip']||_0x4f64f9?.[_0x4a9437(0x135)]?.['remoteAddress'],'userAgent':_0x4f64f9?.[_0x4a9437(0x171)]?.(_0x11b24f['JUXvW']),'requestId':_0x4f64f9?.['id']||_0x4f64f9?.['headers']?.[_0x4a9437(0x167)],'body':_0x4f64f9?.['body']?redactObject(_0x4f64f9[_0x4a9437(0x19d)]):undefined,'query':_0x4f64f9?.[_0x4a9437(0x181)],..._0x1eb2b3},_0x4af8e9=_0x358588['statusCode']||_0x358588['status']||0x1f4,_0x4c0c8e=_0x4a9437(0x17a)+_0x4af8e9+':\x20'+_0x358588[_0x4a9437(0x13c)];_0x11b24f['wAYJU'](_0x4af8e9,0x1f4)?logger[_0x4a9437(0x1aa)](_0x398cb4,_0x4c0c8e):logger[_0x4a9437(0x136)](_0x398cb4,_0x4c0c8e),writeToFileLog({..._0x398cb4,'level':_0x4af8e9>=0x1f4?'error':_0x11b24f['QaJXi'],'msg':_0x4c0c8e,'time':new Date()[_0x4a9437(0x168)]()},_0x11b24f[_0x4a9437(0x18c)](_0x4af8e9,0x1f4)?_0x4a9437(0x1aa):'warn');},logUncaughtError=(_0x29de3a,_0x2ca0c9)=>{const _0x7bb848=a0_0x257325,_0x15707f={'SpRwE':'Error','uVtgD':_0x7bb848(0x15b),'gUOaS':_0x7bb848(0x1cc)},_0x3f6a29={'event':_0x29de3a,'errorName':_0x2ca0c9?.['name']||_0x15707f['SpRwE'],'errorMessage':_0x2ca0c9?.[_0x7bb848(0x13c)]||String(_0x2ca0c9),'errorCode':_0x2ca0c9?.[_0x7bb848(0x19a)]||null,'stack':_0x2ca0c9?.['stack'],'severity':_0x15707f['uVtgD'],'processId':process[_0x7bb848(0x147)],'memoryUsage':process[_0x7bb848(0x165)](),'uptime':process[_0x7bb848(0x193)]()},_0x2277cf='['+_0x29de3a['toUpperCase']()+']\x20'+(_0x2ca0c9?.['message']||_0x2ca0c9);logger['fatal'](_0x3f6a29,_0x2277cf),writeToFileLog({..._0x3f6a29,'level':_0x15707f[_0x7bb848(0x1b0)],'msg':_0x2277cf,'time':new Date()[_0x7bb848(0x168)]()},_0x7bb848(0x1aa));},setupGlobalErrorHandlers=()=>{const _0x2763f9=a0_0x257325,_0x5f1154={'QzeXE':function(_0x1eff71,_0xf75d89,_0x52cb36){return _0x1eff71(_0xf75d89,_0x52cb36);},'YRKfU':'uncaughtException','DETuG':function(_0x1a2ce9,_0xc523ec,_0x2d64df){return _0x1a2ce9(_0xc523ec,_0x2d64df);},'PxYVS':function(_0xa9ea1a,_0x1e7e2f){return _0xa9ea1a(_0x1e7e2f);},'HUJZe':'unhandledRejection','lQqZb':'warning','mtZJn':'info'};process['on'](_0x2763f9(0x133),_0x275ca0=>{const _0x154418=_0x2763f9;_0x5f1154['QzeXE'](logUncaughtError,_0x5f1154['YRKfU'],_0x275ca0),_0x5f1154[_0x154418(0x161)](setTimeout,()=>{const _0x16b3ae=_0x154418;process[_0x16b3ae(0x148)](0x1);},0x3e8);}),process['on'](_0x2763f9(0x1c2),(_0x5020f6,_0x3b3a0e)=>{const _0x2ed322=_0x2763f9,_0x7b3422=_0x5020f6 instanceof Error?_0x5020f6:new Error(_0x5f1154[_0x2ed322(0x14e)](String,_0x5020f6));logUncaughtError(_0x5f1154['HUJZe'],_0x7b3422);}),process['on'](_0x5f1154['lQqZb'],_0x8dc67a=>{const _0x15523d=_0x2763f9;logger['warn']({'event':'process_warning','name':_0x8dc67a[_0x15523d(0x1c3)],'message':_0x8dc67a[_0x15523d(0x13c)],'stack':_0x8dc67a['stack']},_0x15523d(0x177)+_0x8dc67a[_0x15523d(0x13c)]);});const _0x56a22c={'event':_0x2763f9(0x11f)},_0x521df7=_0x2763f9(0x14d);logger['info'](_0x56a22c,_0x521df7),_0x5f1154['QzeXE'](writeToFileLog,{..._0x56a22c,'level':_0x2763f9(0x186),'msg':_0x521df7,'time':new Date()[_0x2763f9(0x168)]()},_0x5f1154['mtZJn']);},createErrorHandlerMiddleware=()=>{const _0x11b389={'JPmjA':function(_0x220f95,_0xf5b73){return _0x220f95>=_0xf5b73;}};return(_0x335a5b,_0xacd83b,_0x1dba1e,_0x2c93d8)=>{const _0x327e38=a0_0x209b;logHttpError(_0x335a5b,_0xacd83b);const _0x5a3173=_0x335a5b['statusCode']||_0x335a5b[_0x327e38(0x18e)]||0x1f4;_0x1dba1e['status'](_0x5a3173)['json']({'success':![],'error':_0x11b389['JPmjA'](_0x5a3173,0x1f4)?'Internal\x20server\x20error':_0x335a5b['message'],'requestId':_0xacd83b['id']||_0xacd83b[_0x327e38(0x1af)]?.[_0x327e38(0x167)]||null});};};module[a0_0x257325(0x14c)]={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
|
|
1
|
+
const a0_0x3d5fbd=a0_0xfd83;(function(_0x18104b,_0xf0a785){const _0x1ef72f=a0_0xfd83,_0x1ba5dd=_0x18104b();while(!![]){try{const _0xb6d152=parseInt(_0x1ef72f(0x233))/0x1+-parseInt(_0x1ef72f(0x1cb))/0x2+parseInt(_0x1ef72f(0x1f2))/0x3+-parseInt(_0x1ef72f(0x267))/0x4+-parseInt(_0x1ef72f(0x1cf))/0x5+-parseInt(_0x1ef72f(0x238))/0x6*(-parseInt(_0x1ef72f(0x1f4))/0x7)+-parseInt(_0x1ef72f(0x25a))/0x8*(-parseInt(_0x1ef72f(0x251))/0x9);if(_0xb6d152===_0xf0a785)break;else _0x1ba5dd['push'](_0x1ba5dd['shift']());}catch(_0x472244){_0x1ba5dd['push'](_0x1ba5dd['shift']());}}}(a0_0x2507,0x6be33));const pino=require(a0_0x3d5fbd(0x231)),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName=a0_0x3d5fbd(0x205),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;function a0_0x2507(){const _0x1f291b=['DxnLCI1Hz2vUDa','ChjVAMvJDa','Ec1Yzxf1zxn0lwLK','icbizwfSDgG6ia','zKv0DLa','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','vhrhDva','lI9SB2DZlW','Ahj0Aw1L','uhjVy2vZCYbxyxjUAw5NoIa','CMvMCMvZAf90B2TLBG','ChjVAMvJDf9SB2fKzwq','Dg9mB3DLCKnHC2u','C3rHy2S','rxjYB3i','D2fYBG','zgvIDwC','CgLU','B3jPz2LUywXvCMW','zgjFCxvLCNK','Bwf4','uwDjzMy','te9hx0rjuG','ChDK','C3rYAw5NAwz5','CgLUBW','vunzBgK','mte5mZC0wfvIC1n1','rff0tMG','BwfW','v0jODNy','CgfKrw5K','nZm4ndyYvxLeC2vh','Dg9Rzw4','teLSr0m','zxjYB3iUBg9N','Bg9N','vfjbtLnbq1rjt05Fq09ntuLu','icdIHPiG','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','y2HPBgq','DMDJELO','sfjcCMy','C3rYAw5N','DuznDwO','zxHPDa','yKr2z08','AxntBg93','qvbqx1zfuLnjt04','iokvKqRILzeGifbYB2PLy3qGicaGidOG','A2v5CW','yxbPs2v5','iokvKqRILzeGifbVCNqGicaGicaGidOG','BwTKAxjtEw5J','y3jLyxrLv3jPDgvtDhjLyw0','rgvMyxvSDa','D3rtBhm','ouLny0TKvq','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','u2vYDMvYihn0yxj0Aw5NoIa','CMvWzwf0','E21Zz30','AM9PBG','rKfyuNm','BwvTB3j5vxnHz2u','Aw5MBW','mJm2odq3mLfVqvnXyG','Bw9KDwXL','CxzMCe0','C2vJCMv0','CMvTB3rLqwrKCMvZCW','ChjPDMf0zwTLEq','CgfZC3DK','zw5KCg9PBNrFCMvNAxn0zxjLza','yMfZzvvYBa','zw52AxjVBM1LBNq','vhjHBNnHy3rPB24G','DhjPBq','Dxb0Aw1L','mtaXodmYne1Uue9Xta','ywnJzxnZx3rVA2vU','C29Tzq','C3rHDhvZq29Kzq','DxnLCG','C3rHCNrZv2L0Aa','AgvHBhrOq2HLy2S','zeLlueq','yxPsBMq','DxjS','u0vmrunu','u1rbuLqGvfjbtLnbq1rjt04','revmrvrf','qMPxEw4','w09lxsbqCM9Qzwn0igXVywrLzdOG','CgfZC3DVCMq','w1jfrefdveveoNrVA2vUxq','sLDux1nfq1jfva','Dw5Oyw5KBgvKuMvQzwn0Aw9U','y3jLzgvUDgLHBhm','ChjPDMf0zv9RzxK','y29Kzq','zxHWB3j0CW','CgLUBY1WCMv0DhK','tI9b','tufYyxG','iokvKqRILzeGiefqssblzxKGicaGidOG','qunusvzf','nZe3mZa2thv3qNrL','zMXVB3i','rKfuquW6ia','BwvZC2fNzq','mZe1mtG5me1TC2reDG','C2vYDMvYx3n0yxj0Aw5N','Bwv0Ag9K','BMfTzq','Cg9YDa','Cgf0Aa','y29UBMvJDgLVBG','zhvYyxrPB25nCW','zMf0ywXFzxjYB3i','zxjYB3i','Ag9ZDa','zgjFDhjHBNnHy3rPB24','BwXXD1G','zxjY','yxbPx2TLEq','y1L6tNu','AgvHzgvYCW','yxzequW','z1fQAxa','BgvUz3rO','yxbPx3nLy3jLDa','Dg9vChbLCKnHC2u','C3fSx3f1zxj5','y0XIAfq','wLz4yuW','CM93C0fMzMvJDgvK','vu5ltK9xtG','BxmP','ChjVy2vZC193yxjUAw5N','zunMr3G','Cg9ZDgDYzxnXBa','ugHlvNu','yxbPA2v5','vKfjBuW','zgf0ywjHC2u','mtiYnty0mvnXvNjrEG','z3LzsMK','ndLnAgfpvxq','t0PevLm','rwvpAMq','ANnVBG','tK9uiefdveLwrq','zxHPC3rZu3LUyW','CMvWBgfJzq','C2vYDMLJzuLUzM8','tM9Kzs5QCW','iokvKqRILzeGienVBMzPzYaGicaGidOG','reiGuxvLCNK','zMf0ywW','C0Dzs3G','Aw5JBhvKzxm','C3rKvgLTzuz1BMn0Aw9UCW','wxPTBxO','Dw5JyxvNAhrfEgnLChrPB24','CMvZDgzVCMDL','Bwf0y2G','sfruuca','EwTSywm','D3jPDgu','Dg9ju09tDhjPBMC','C3bSAxq','DhLWzq','uxfjExy','shbfuuC','CfvIrfK','DgvZDa','y3jLzgvUDgLHBa','ms4WlJu','Dg9gAxHLza','C3rHDhvZ','rhL5r2q','zw52','rejFueftu1DpuKq'];a0_0x2507=function(){return _0x1f291b;};return a0_0x2507();}const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':a0_0x3d5fbd(0x255),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env']['NODE_ENV']!=='production',logLevel=process[a0_0x3d5fbd(0x216)]['LOG_LEVEL']||a0_0x3d5fbd(0x259);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x3d5fbd(0x1c6),'options':prettyPrintOptions}:undefined,'base':{'service':a0_0x3d5fbd(0x205),'version':process[a0_0x3d5fbd(0x216)][a0_0x3d5fbd(0x248)]||a0_0x3d5fbd(0x212),'env':process[a0_0x3d5fbd(0x216)]['NODE_ENV']||'development'},'timestamp':pino[a0_0x3d5fbd(0x202)]['isoTime'],'redact':{'paths':['req.headers.authorization',a0_0x3d5fbd(0x252),a0_0x3d5fbd(0x276),'token','apiKey',a0_0x3d5fbd(0x217),a0_0x3d5fbd(0x278)],'censor':'[REDACTED]'},'serializers':{'req':_0x414e6e=>({'id':_0x414e6e['id'],'method':_0x414e6e['method'],'url':_0x414e6e[a0_0x3d5fbd(0x270)],'path':_0x414e6e[a0_0x3d5fbd(0x1d4)],'remoteAddress':_0x414e6e['ip']||_0x414e6e['connection']?.['remoteAddress']}),'res':_0x228ae8=>({'statusCode':_0x228ae8['statusCode'],'headers':_0x228ae8['getHeaders']?.()}),'err':pino['stdSerializers'][a0_0x3d5fbd(0x1dc)]}});function initFileLogging(){const _0x476f60=a0_0x3d5fbd,_0x41dffb={'HRBrf':function(_0x205cb9,_0xba4cd9){return _0x205cb9===_0xba4cd9;},'SGctT':'default','eCfGx':function(_0x573dae,_0x5d21c5){return _0x573dae===_0x5d21c5;},'OSsxm':function(_0x515702,_0xc9a277){return _0x515702(_0xc9a277);},'aLkFS':'app.log','XCjRX':function(_0x52344c,_0x454aca,_0x2ef5ee){return _0x52344c(_0x454aca,_0x2ef5ee);}};if(fileLoggingInitialized)return;logToFile=_0x41dffb[_0x476f60(0x242)](process[_0x476f60(0x216)]['LOG_TO_FILE'],'true');const _0x35a3f3=process[_0x476f60(0x216)][_0x476f60(0x23f)]||_0x41dffb['SGctT'];logDir=process['env'][_0x476f60(0x22e)]||_0x476f60(0x21f)+_0x35a3f3,serviceName=process[_0x476f60(0x216)]['SERVICE_NAME']||_0x476f60(0x205),sqlLogEnabled=_0x41dffb[_0x476f60(0x1ec)](process[_0x476f60(0x216)]['SQL_LOG_ENABLED'],'true'),sqlLogLevel=process['env']['SQL_LOG_LEVEL']||'debug',sqlLogParams=process['env']['SQL_LOG_PARAMS']!=='false',sqlLogSlowThreshold=_0x41dffb['OSsxm'](parseInt,process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x55260d=path['resolve'](process['cwd'](),logDir);try{!fs[_0x476f60(0x1f9)](_0x55260d)&&fs[_0x476f60(0x24d)](_0x55260d,{'recursive':!![]});}catch(_0x1b5346){console[_0x476f60(0x1d8)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x55260d+':',_0x1b5346[_0x476f60(0x1ce)]),fileLoggingInitialized=!![];return;}const _0x21fedd=path[_0x476f60(0x256)](_0x55260d,_0x41dffb['aLkFS']),_0x26af89=path['join'](_0x55260d,_0x476f60(0x23b));try{appLogStream=fs[_0x476f60(0x24e)](_0x21fedd,{'flags':'a'}),errorLogStream=fs[_0x476f60(0x24e)](_0x26af89,{'flags':'a'}),fileLoggingInitialized=!![];const _0x39ba4d={'event':'file_logging_enabled','logDir':_0x55260d,'files':['app.log',_0x476f60(0x23b)]},_0x13ad06='File\x20logging\x20enabled:\x20'+_0x55260d;logger[_0x476f60(0x259)](_0x39ba4d,_0x13ad06),_0x41dffb['XCjRX'](writeToFileLog,{..._0x39ba4d,'level':_0x476f60(0x259),'msg':_0x13ad06,'time':new Date()['toISOString']()},_0x476f60(0x259));}catch(_0xbdc72a){console['error'](_0x476f60(0x21d),_0xbdc72a[_0x476f60(0x1ce)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x5ed4cf,_0x3e12d6){const _0x23ea92=a0_0x3d5fbd,_0x2d7e83={'Yzmmz':function(_0xe5f8d8,_0x3ce2ef){return _0xe5f8d8||_0x3ce2ef;}};if(_0x2d7e83[_0x23ea92(0x203)](!logToFile,!appLogStream))return;const _0xcd2e2d={'service':serviceName,..._0x5ed4cf},_0x260a41=JSON[_0x23ea92(0x230)](_0xcd2e2d)+'\x0a';appLogStream[_0x23ea92(0x209)](_0x260a41),(_0x3e12d6===_0x23ea92(0x1d8)||_0x3e12d6===_0x23ea92(0x1ff))&&(errorLogStream&&errorLogStream[_0x23ea92(0x209)](_0x260a41));}const createRequestLogger=(_0x7e0630={})=>{const _0x1e8b71=a0_0x3d5fbd;return logger[_0x1e8b71(0x240)](_0x7e0630);},logServerStart=_0x4a5a0b=>{const _0x5e7e75=a0_0x3d5fbd,_0x2b911f={'FAXRs':function(_0x2b9e21,_0x1d5b94){return _0x2b9e21-_0x1d5b94;},'bZqGe':function(_0x14efdb,_0x2ee4b5){return _0x14efdb/_0x2ee4b5;},'dIKPD':function(_0x375341,_0x3798c5){return _0x375341-_0x3798c5;},'RPPPV':_0x5e7e75(0x1c7),'fltYi':_0x5e7e75(0x24f),'MArax':_0x5e7e75(0x1ca),'BjWyn':_0x5e7e75(0x1f8),'kfYYm':_0x5e7e75(0x1d0),'ktaKH':'info'},_0x5c0c95='RESTFORGE\x20RUNTIME\x20SERVER',_0x59ba0d=Math[_0x5e7e75(0x22c)](0x0,_0x2b911f[_0x5e7e75(0x257)](0x37,_0x5c0c95['length'])),_0x276d22=Math[_0x5e7e75(0x1cc)](_0x2b911f['bZqGe'](_0x59ba0d,0x2)),_0x5143b1=_0x2b911f[_0x5e7e75(0x26e)](_0x59ba0d,_0x276d22),_0x1fb9be='║'+'\x20'[_0x5e7e75(0x254)](_0x276d22)+_0x5c0c95+'\x20'[_0x5e7e75(0x254)](_0x5143b1)+'║',_0x49224a='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x1fb9be+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x4a5a0b[_0x5e7e75(0x263)]||_0x5e7e75(0x1fc))[_0x5e7e75(0x237)](0x26)+_0x5e7e75(0x249)+(_0x4a5a0b['project']||_0x2b911f['RPPPV'])[_0x5e7e75(0x237)](0x26)+_0x5e7e75(0x24c)+String(_0x4a5a0b[_0x5e7e75(0x1d3)]||0xbb8)[_0x5e7e75(0x237)](0x26)+_0x5e7e75(0x1fd)+(_0x4a5a0b['configFile']||_0x2b911f['fltYi'])[_0x5e7e75(0x237)](0x26)+_0x5e7e75(0x1c9)+(_0x4a5a0b[_0x5e7e75(0x24b)]?_0x2b911f[_0x5e7e75(0x1c8)]:_0x2b911f[_0x5e7e75(0x274)])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x5e7e75(0x23c)](_0x49224a);const _0x540439={'event':_0x2b911f['kfYYm'],'project':_0x4a5a0b[_0x5e7e75(0x219)],'port':_0x4a5a0b[_0x5e7e75(0x1d3)],'config':_0x4a5a0b['configFile'],'apiKeyEnabled':!!_0x4a5a0b[_0x5e7e75(0x24b)]};logger['info'](_0x540439),writeToFileLog({..._0x540439,'level':'info','msg':_0x5e7e75(0x253)+_0x4a5a0b[_0x5e7e75(0x219)]+'\x20on\x20port\x20'+_0x4a5a0b[_0x5e7e75(0x1d3)],'time':new Date()['toISOString']()},_0x2b911f['ktaKH']);},logServerReady=_0x25ba5e=>{const _0x4b9a89=a0_0x3d5fbd,_0x3f945e={'DyyGd':function(_0x2f51fb,_0x529d59,_0x36276e){return _0x2f51fb(_0x529d59,_0x36276e);},'nqKMg':'info'},_0x487102={'event':'server_ready','port':_0x25ba5e[_0x4b9a89(0x1d3)],'module':_0x25ba5e[_0x4b9a89(0x25b)],'healthCheck':_0x25ba5e[_0x4b9a89(0x26d)],'serviceInfo':_0x25ba5e[_0x4b9a89(0x1fb)],'baseUrl':_0x25ba5e[_0x4b9a89(0x262)]},_0x236801='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x25ba5e[_0x4b9a89(0x1d3)];logger[_0x4b9a89(0x259)](_0x487102,_0x236801),_0x3f945e[_0x4b9a89(0x215)](writeToFileLog,{..._0x487102,'level':_0x4b9a89(0x259),'msg':_0x236801,'time':new Date()[_0x4b9a89(0x20a)]()},_0x3f945e['nqKMg']),_0x25ba5e['healthCheck']&&logger['info'](_0x4b9a89(0x21b)+_0x25ba5e[_0x4b9a89(0x26d)]),_0x25ba5e['serviceInfo']&&logger['info']('\x20\x20Info:\x20\x20\x20'+_0x25ba5e['serviceInfo']),_0x25ba5e[_0x4b9a89(0x262)]&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0x25ba5e['baseUrl']);},logProjectLoaded=(_0x1edea5,_0x187e98)=>{const _0x5caf44=a0_0x3d5fbd,_0x1a62c5={'event':_0x5caf44(0x223),'project':_0x1edea5,'path':_0x187e98},_0x488df5=_0x5caf44(0x275)+_0x1edea5;logger['info'](_0x1a62c5,_0x488df5),writeToFileLog({..._0x1a62c5,'level':'info','msg':_0x488df5,'time':new Date()[_0x5caf44(0x20a)]()},'info');},logEndpointRegistered=(_0x53f547,_0x196737)=>{const _0x4c258d=a0_0x3d5fbd,_0x597b38={'QgIff':function(_0x133226,_0x3584e2,_0x118987){return _0x133226(_0x3584e2,_0x118987);},'blDnQ':'debug'},_0x301149={'event':_0x4c258d(0x261),'endpoint':_0x53f547,'route':_0x196737},_0x138242=_0x4c258d(0x23e)+_0x53f547+':\x20'+_0x196737;logger[_0x4c258d(0x228)](_0x301149,_0x138242),_0x597b38[_0x4c258d(0x22d)](writeToFileLog,{..._0x301149,'level':_0x597b38['blDnQ'],'msg':_0x138242,'time':new Date()[_0x4c258d(0x20a)]()},_0x4c258d(0x228));},logDatabaseConfig=_0x5c657a=>{const _0x3a1446=a0_0x3d5fbd,_0x3e4443={'myFJf':'database_config','HpEQG':'debug'},_0xd36590={'event':_0x3e4443['myFJf'],'host':_0x5c657a['host'],'port':_0x5c657a['port'],'database':_0x5c657a['database'],'type':_0x5c657a[_0x3a1446(0x20c)],'user':_0x5c657a[_0x3a1446(0x26b)]},_0x6af57d='Database:\x20'+_0x5c657a['type']+'://'+_0x5c657a[_0x3a1446(0x1d9)]+':'+_0x5c657a['port']+'/'+_0x5c657a[_0x3a1446(0x1f1)];logger['debug'](_0xd36590,_0x6af57d),writeToFileLog({..._0xd36590,'level':'debug','msg':_0x6af57d,'time':new Date()[_0x3a1446(0x20a)]()},_0x3e4443[_0x3a1446(0x20e)]);},logRequest=(_0x127455,_0x5eb303,_0x146dea)=>{const _0x4b1606=a0_0x3d5fbd,_0x597c5={'VAImL':function(_0x175709,_0x2d3198){return _0x175709>=_0x2d3198;}},_0x3984cd={'event':'http_request','method':_0x127455[_0x4b1606(0x1d1)],'path':_0x127455[_0x4b1606(0x1d4)],'statusCode':_0x5eb303[_0x4b1606(0x26a)],'durationMs':_0x146dea,'ip':_0x127455['ip']},_0x55d316=_0x127455['method']+'\x20'+_0x127455['path']+'\x20-\x20'+_0x5eb303[_0x4b1606(0x26a)]+'\x20('+_0x146dea+_0x4b1606(0x1ea);let _0x5ac40c='info';if(_0x5eb303['statusCode']>=0x1f4)_0x5ac40c='error',logger[_0x4b1606(0x1d8)](_0x3984cd,_0x55d316);else _0x597c5[_0x4b1606(0x1f0)](_0x5eb303[_0x4b1606(0x26a)],0x190)?(_0x5ac40c='warn',logger['warn'](_0x3984cd,_0x55d316)):logger['info'](_0x3984cd,_0x55d316);writeToFileLog({..._0x3984cd,'level':_0x5ac40c,'msg':_0x55d316,'time':new Date()['toISOString']()},_0x5ac40c);},SENSITIVE_PARAM_PATTERNS=['password',a0_0x3d5fbd(0x260),a0_0x3d5fbd(0x22f),'token',a0_0x3d5fbd(0x268),'refresh_token','secret',a0_0x3d5fbd(0x1e3),a0_0x3d5fbd(0x1ef),a0_0x3d5fbd(0x1dd),a0_0x3d5fbd(0x211),a0_0x3d5fbd(0x27a),a0_0x3d5fbd(0x229),'otp',a0_0x3d5fbd(0x27b),a0_0x3d5fbd(0x25f)],redactSensitiveParams=(_0x17a950,_0x31b8ce)=>{const _0x111d62=a0_0x3d5fbd,_0x33e827={'ZVxaL':function(_0x2e5fa1,_0x249676){return _0x2e5fa1>_0x249676;}};if(!_0x17a950||_0x17a950[_0x111d62(0x1e2)]===0x0)return _0x17a950;const _0x1f393b=_0x31b8ce[_0x111d62(0x224)](),_0x1292cb=_0x1f393b['match'](/\(([^)]+)\)\s*values/i);let _0x50a850=[];_0x1292cb&&(_0x50a850=_0x1292cb[0x1][_0x111d62(0x20b)](',')[_0x111d62(0x235)](_0x29e9c1=>_0x29e9c1[_0x111d62(0x265)]()['toLowerCase']()));const _0x125411=_0x1f393b[_0x111d62(0x206)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x125411){const _0x1c1277=_0x125411[0x1],_0x3a64d1=_0x1c1277['match'](/(\w+)\s*=/g);_0x3a64d1&&(_0x50a850=_0x3a64d1[_0x111d62(0x235)](_0x344ab6=>_0x344ab6[_0x111d62(0x1fa)](/\s*=/,'')['trim']()[_0x111d62(0x224)]()));}return _0x17a950['map']((_0xc8e685,_0x242ace)=>{const _0x1d5e75=_0x111d62;if(_0x50a850[_0x242ace]){const _0x4862a1=_0x50a850[_0x242ace],_0x3fe324=SENSITIVE_PARAM_PATTERNS['some'](_0xe43267=>_0x4862a1[_0x1d5e75(0x201)](_0xe43267));if(_0x3fe324)return'[REDACTED]';}if(typeof _0xc8e685===_0x1d5e75(0x243)&&_0x33e827[_0x1d5e75(0x1e7)](_0xc8e685['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0xc8e685)&&_0xc8e685[_0x1d5e75(0x201)]('.'))return _0x1d5e75(0x277);if(/^[a-fA-F0-9]{32,}$/[_0x1d5e75(0x210)](_0xc8e685))return'[REDACTED:hash]';}return _0xc8e685;});},parseQueryMetadata=_0x1731bf=>{const _0x43d65e=a0_0x3d5fbd,_0x16c4ff={'fEtvP':'INSERT','EeOjd':'UPDATE','OJDVS':_0x43d65e(0x273),'wrTMK':'BEGIN','QqIyv':_0x43d65e(0x272),'svtPZ':'TRANSACTION_BEGIN','WrmoY':'COMMIT','NapIX':'ROLLBACK','HfOVy':'TRANSACTION_ROLLBACK','PhKVu':'CREATE','yklac':'ALTER','FphLy':'DDL_ALTER','eIPAH':'DDL_DROP'},_0x46eb78=_0x1731bf['trim'](),_0x3e1e2c=_0x46eb78['toUpperCase']();let _0x255038=_0x43d65e(0x1e9),_0x50b69f=null;if(_0x3e1e2c[_0x43d65e(0x26c)](_0x43d65e(0x271))){_0x255038=_0x43d65e(0x271);const _0x34e244=_0x46eb78['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x50b69f=_0x34e244?_0x34e244[0x1]:null;}else{if(_0x3e1e2c[_0x43d65e(0x26c)]('INSERT')){_0x255038=_0x16c4ff[_0x43d65e(0x21c)];const _0x976bcd=_0x46eb78['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x50b69f=_0x976bcd?_0x976bcd[0x1]:null;}else{if(_0x3e1e2c['startsWith'](_0x16c4ff[_0x43d65e(0x1f6)])){_0x255038=_0x16c4ff['EeOjd'];const _0x45c264=_0x46eb78[_0x43d65e(0x206)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x50b69f=_0x45c264?_0x45c264[0x1]:null;}else{if(_0x3e1e2c[_0x43d65e(0x26c)](_0x16c4ff[_0x43d65e(0x1f5)])){_0x255038=_0x43d65e(0x273);const _0x141e1e=_0x46eb78[_0x43d65e(0x206)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x50b69f=_0x141e1e?_0x141e1e[0x1]:null;}else{if(_0x3e1e2c['startsWith'](_0x16c4ff['wrTMK'])||_0x3e1e2c['startsWith'](_0x16c4ff[_0x43d65e(0x20d)]))_0x255038=_0x16c4ff['svtPZ'];else{if(_0x3e1e2c[_0x43d65e(0x26c)](_0x16c4ff['WrmoY']))_0x255038=_0x43d65e(0x23d);else{if(_0x3e1e2c['startsWith'](_0x16c4ff['NapIX']))_0x255038=_0x16c4ff['HfOVy'];else{if(_0x3e1e2c['startsWith'](_0x16c4ff[_0x43d65e(0x1ee)]))_0x255038='DDL_CREATE';else{if(_0x3e1e2c[_0x43d65e(0x26c)](_0x16c4ff[_0x43d65e(0x208)]))_0x255038=_0x16c4ff['FphLy'];else _0x3e1e2c['startsWith']('DROP')&&(_0x255038=_0x16c4ff['eIPAH']);}}}}}}}}return{'type':_0x255038,'table':_0x50b69f};},startQueryTimer=()=>{const _0x5c5980=a0_0x3d5fbd,_0x596bff={'ciHpt':function(_0x3f6433,_0x51b111){return _0x3f6433*_0x51b111;},'JKnNt':function(_0x3cb352,_0x52396f){return _0x3cb352/_0x52396f;}},_0x1079fa=process[_0x5c5980(0x220)]();return()=>{const _0xa87c9b=_0x5c5980,[_0x20d390,_0x483881]=process['hrtime'](_0x1079fa);return parseFloat((_0x596bff['ciHpt'](_0x20d390,0x3e8)+_0x596bff['JKnNt'](_0x483881,0xf4240))[_0xa87c9b(0x213)](0x2));};},logQuery=(_0x2bda20,_0x29c5e9=[],_0x11dc12={})=>{const _0x5a4554=a0_0x3d5fbd,_0x375659={'BzlJm':_0x5a4554(0x22b),'sGYKx':_0x5a4554(0x1fe),'vgczZ':function(_0x507d35,_0x364b68){return _0x507d35(_0x364b68);},'TtGuP':_0x5a4554(0x1e5),'WBhvv':function(_0x157a38,_0x1751f6){return _0x157a38>_0x1751f6;},'dXROk':function(_0x4bc5ff,_0x22252e){return _0x4bc5ff!==_0x22252e;},'wlkgJ':function(_0x5a7fe6,_0x4df087){return _0x5a7fe6>_0x4df087;},'LIlGC':function(_0xe8973a,_0x1e681d){return _0xe8973a>_0x1e681d;},'qvfpM':_0x5a4554(0x227),'uFEiK':'info','SFHxp':function(_0x5b7120,_0x487e4a,_0x1ecddc){return _0x5b7120(_0x487e4a,_0x1ecddc);}};if(!sqlLogEnabled){logger['debug']({'event':_0x375659['BzlJm'],'query':_0x2bda20['substring'](0x0,0xc8),'paramCount':_0x29c5e9['length']},_0x375659[_0x5a4554(0x200)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x5a4554(0x1ed)}=_0x11dc12,{type:_0x3f7af5,table:_0x139b33}=_0x375659[_0x5a4554(0x241)](parseQueryMetadata,_0x2bda20),_0x52834b={'event':_0x375659[_0x5a4554(0x21e)],'queryType':_0x3f7af5,'table':_0x139b33,'query':_0x2bda20,'paramCount':_0x29c5e9['length'],'dbType':dbType};sqlLogParams&&_0x375659[_0x5a4554(0x236)](_0x29c5e9['length'],0x0)&&(_0x52834b['params']=redactSensitiveParams(_0x29c5e9,_0x2bda20));_0x375659['dXROk'](duration,null)&&(_0x52834b[_0x5a4554(0x1d6)]=duration,_0x52834b[_0x5a4554(0x247)]=_0x375659['wlkgJ'](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x52834b[_0x5a4554(0x1e8)]=rowsAffected);const _0x3c6271=_0x139b33||'unknown';let _0x3826fe='['+_0x3f7af5+']\x20'+_0x3c6271;duration!==null&&(_0x3826fe+='\x20('+duration+'ms)');const _0xf334e1=duration!==null&&_0x375659[_0x5a4554(0x23a)](duration,sqlLogSlowThreshold);let _0x55e000='debug';if(_0xf334e1)_0x3826fe+='\x20[SLOW]',_0x55e000=_0x375659[_0x5a4554(0x25c)],logger[_0x5a4554(0x227)](_0x52834b,_0x3826fe);else sqlLogLevel===_0x375659['uFEiK']?(_0x55e000=_0x5a4554(0x259),logger['info'](_0x52834b,_0x3826fe)):logger[_0x5a4554(0x228)](_0x52834b,_0x3826fe);_0x375659['SFHxp'](writeToFileLog,{..._0x52834b,'level':_0x55e000,'msg':_0x3826fe,'time':new Date()[_0x5a4554(0x20a)]()},_0x55e000);},logTransaction=(_0x1ba8c1,_0x4f85a1)=>{const _0x4fc209=a0_0x3d5fbd,_0x1e5acd={'event':_0x4fc209(0x1da),'status':_0x1ba8c1,'queryCount':_0x4f85a1},_0x441243=_0x4fc209(0x264)+_0x1ba8c1;logger[_0x4fc209(0x228)](_0x1e5acd,_0x441243),writeToFileLog({..._0x1e5acd,'level':_0x4fc209(0x228),'msg':_0x441243,'time':new Date()[_0x4fc209(0x20a)]()},_0x4fc209(0x228));},redactObject=_0x191bd7=>{const _0x4a9632=a0_0x3d5fbd,_0x388f5d={'azRnd':function(_0x16329d,_0x11a796){return _0x16329d!==_0x11a796;},'UvumQ':_0x4a9632(0x260),'kqXQh':_0x4a9632(0x239),'YqopO':_0x4a9632(0x25d),'psksD':'authorization','cLbhT':'creditcard','uFMuj':'credit_card','mSEzP':'ssn','DQtNh':_0x4a9632(0x229),'pUbDY':_0x4a9632(0x25f),'NeFBG':'[REDACTED]','zGlsf':function(_0x5bfcc1,_0x4f276a){return _0x5bfcc1===_0x4f276a;},'oPZOk':function(_0x1fe2f7,_0x4922e5){return _0x1fe2f7!==_0x4922e5;}};if(!_0x191bd7||_0x388f5d[_0x4a9632(0x26f)](typeof _0x191bd7,'object'))return _0x191bd7;const _0x1d2fe7=[_0x4a9632(0x276),_0x388f5d['UvumQ'],_0x4a9632(0x22f),_0x388f5d['kqXQh'],_0x388f5d['YqopO'],'apikey',_0x4a9632(0x1dd),_0x388f5d['psksD'],_0x388f5d[_0x4a9632(0x1e6)],_0x388f5d[_0x4a9632(0x244)],'cvv',_0x388f5d['mSEzP'],_0x388f5d[_0x4a9632(0x234)],'private_key',_0x388f5d[_0x4a9632(0x20f)],_0x4a9632(0x222),'access_token'],_0x2f99f1=Array['isArray'](_0x191bd7)?[..._0x191bd7]:{..._0x191bd7};for(const _0x7dd48 of Object[_0x4a9632(0x24a)](_0x2f99f1)){const _0x211abb=_0x7dd48[_0x4a9632(0x224)]();if(_0x1d2fe7[_0x4a9632(0x269)](_0x547258=>_0x211abb['includes'](_0x547258)))_0x2f99f1[_0x7dd48]=_0x388f5d['NeFBG'];else _0x388f5d['zGlsf'](typeof _0x2f99f1[_0x7dd48],'object')&&_0x388f5d['oPZOk'](_0x2f99f1[_0x7dd48],null)&&(_0x2f99f1[_0x7dd48]=redactObject(_0x2f99f1[_0x7dd48]));}return _0x2f99f1;},logError=(_0x3ed443,_0x1a0391={},_0x5df7c0=null)=>{const _0x46b5b0=a0_0x3d5fbd,_0x1e0d47={'QiMjh':function(_0x725904,_0x48dcbf,_0xeb71e4){return _0x725904(_0x48dcbf,_0xeb71e4);},'MBYdG':'error'},_0x57c3c3={'event':'error','errorName':_0x3ed443[_0x46b5b0(0x1d2)]||_0x46b5b0(0x226),'errorMessage':_0x3ed443[_0x46b5b0(0x1ce)],'errorCode':_0x3ed443[_0x46b5b0(0x27c)]||null,'stack':_0x3ed443[_0x46b5b0(0x225)],..._0x1a0391},_0x114085=_0x5df7c0||'Error:\x20'+_0x3ed443['message'];logger['error'](_0x57c3c3,_0x114085),_0x1e0d47['QiMjh'](writeToFileLog,{..._0x57c3c3,'level':_0x1e0d47['MBYdG'],'msg':_0x114085,'time':new Date()['toISOString']()},'error');},logFatalError=(_0x26f51d,_0x100371={},_0x51bf7e=null)=>{const _0x4497d6=a0_0x3d5fbd,_0x5e57da={'YVmyM':_0x4497d6(0x1d7),'avDAL':'CRITICAL','BXkPR':_0x4497d6(0x1d8)},_0x4fd1b5={'event':_0x5e57da['YVmyM'],'errorName':_0x26f51d[_0x4497d6(0x1d2)]||_0x4497d6(0x226),'errorMessage':_0x26f51d['message'],'errorCode':_0x26f51d['code']||null,'stack':_0x26f51d['stack'],'severity':_0x5e57da[_0x4497d6(0x1e0)],..._0x100371},_0x437677=_0x51bf7e||_0x4497d6(0x1cd)+_0x26f51d[_0x4497d6(0x1ce)];logger['fatal'](_0x4fd1b5,_0x437677),writeToFileLog({..._0x4fd1b5,'level':'fatal','msg':_0x437677,'time':new Date()[_0x4497d6(0x20a)]()},_0x5e57da['BXkPR']);},logHttpError=(_0x553f30,_0x4c690c,_0x1e413d={})=>{const _0x59c40d=a0_0x3d5fbd,_0x3f97db={'UCYli':_0x59c40d(0x218),'OZPXE':'x-request-id','iruxK':function(_0x6f28b8,_0xe53b9){return _0x6f28b8>=_0xe53b9;},'izepv':'error'},_0x341556={'event':'http_error','errorName':_0x553f30['name']||'Error','errorMessage':_0x553f30['message'],'errorCode':_0x553f30[_0x59c40d(0x27c)]||_0x553f30['statusCode']||0x1f4,'stack':_0x553f30['stack'],'method':_0x4c690c?.[_0x59c40d(0x1d1)],'url':_0x4c690c?.[_0x59c40d(0x270)]||_0x4c690c?.[_0x59c40d(0x22a)],'path':_0x4c690c?.['path'],'ip':_0x4c690c?.['ip']||_0x4c690c?.[_0x59c40d(0x1d5)]?.[_0x59c40d(0x25e)],'userAgent':_0x4c690c?.['get']?.(_0x3f97db[_0x59c40d(0x232)]),'requestId':_0x4c690c?.['id']||_0x4c690c?.[_0x59c40d(0x1df)]?.[_0x3f97db['OZPXE']],'body':_0x4c690c?.['body']?redactObject(_0x4c690c['body']):undefined,'query':_0x4c690c?.['query'],..._0x1e413d},_0x44a4fa=_0x553f30[_0x59c40d(0x26a)]||_0x553f30[_0x59c40d(0x214)]||0x1f4,_0x36e2bd=_0x59c40d(0x207)+_0x44a4fa+':\x20'+_0x553f30['message'];_0x44a4fa>=0x1f4?logger[_0x59c40d(0x1d8)](_0x341556,_0x36e2bd):logger[_0x59c40d(0x227)](_0x341556,_0x36e2bd),writeToFileLog({..._0x341556,'level':_0x3f97db['iruxK'](_0x44a4fa,0x1f4)?_0x3f97db['izepv']:'warn','msg':_0x36e2bd,'time':new Date()['toISOString']()},_0x44a4fa>=0x1f4?_0x3f97db['izepv']:'warn');},logUncaughtError=(_0xa38b23,_0x2c820c)=>{const _0x2ca8e5=a0_0x3d5fbd,_0x3daf47={'iVATj':function(_0x326de4,_0x378951){return _0x326de4(_0x378951);},'TILLu':'CRITICAL','gTiCQ':'fatal'},_0x4fd997={'event':_0xa38b23,'errorName':_0x2c820c?.['name']||_0x2ca8e5(0x226),'errorMessage':_0x2c820c?.[_0x2ca8e5(0x1ce)]||_0x3daf47['iVATj'](String,_0x2c820c),'errorCode':_0x2c820c?.[_0x2ca8e5(0x27c)]||null,'stack':_0x2c820c?.['stack'],'severity':_0x3daf47['TILLu'],'processId':process['pid'],'memoryUsage':process[_0x2ca8e5(0x258)](),'uptime':process[_0x2ca8e5(0x266)]()},_0x2159a0='['+_0xa38b23[_0x2ca8e5(0x1e4)]()+']\x20'+(_0x2c820c?.[_0x2ca8e5(0x1ce)]||_0x2c820c);logger[_0x2ca8e5(0x1ff)](_0x4fd997,_0x2159a0),writeToFileLog({..._0x4fd997,'level':_0x3daf47['gTiCQ'],'msg':_0x2159a0,'time':new Date()[_0x2ca8e5(0x20a)]()},_0x2ca8e5(0x1d8));},setupGlobalErrorHandlers=()=>{const _0x314001=a0_0x3d5fbd,_0x4012ef={'YAbDu':function(_0x26f192,_0x449093){return _0x26f192 instanceof _0x449093;},'gQjip':_0x314001(0x279),'hlqjf':_0x314001(0x204),'iWdlh':'warning','cYzNu':'global_error_handlers_setup','mlqwX':function(_0x550330,_0x349e78,_0x520559){return _0x550330(_0x349e78,_0x520559);}};process['on'](_0x4012ef['hlqjf'],_0x3c791c=>{const _0x22a9d0=_0x314001;logUncaughtError(_0x22a9d0(0x204),_0x3c791c),setTimeout(()=>{const _0x551d85=_0x22a9d0;process[_0x551d85(0x245)](0x1);},0x3e8);}),process['on'](_0x4012ef[_0x314001(0x1e1)],(_0x597066,_0x1ed9cc)=>{const _0x390c40=_0x314001,_0x2889fa=_0x4012ef['YAbDu'](_0x597066,Error)?_0x597066:new Error(String(_0x597066));logUncaughtError(_0x4012ef[_0x390c40(0x1e1)],_0x2889fa);}),process['on'](_0x4012ef['iWdlh'],_0x2c6c2d=>{const _0x3c7e9b=_0x314001;logger[_0x3c7e9b(0x227)]({'event':_0x3c7e9b(0x1eb),'name':_0x2c6c2d[_0x3c7e9b(0x1d2)],'message':_0x2c6c2d[_0x3c7e9b(0x1ce)],'stack':_0x2c6c2d[_0x3c7e9b(0x225)]},_0x3c7e9b(0x221)+_0x2c6c2d['message']);});const _0x55ef46={'event':_0x4012ef[_0x314001(0x1de)]},_0xbb8ad2='Global\x20error\x20handlers\x20initialized';logger['info'](_0x55ef46,_0xbb8ad2),_0x4012ef[_0x314001(0x1db)](writeToFileLog,{..._0x55ef46,'level':_0x314001(0x259),'msg':_0xbb8ad2,'time':new Date()['toISOString']()},'info');},createErrorHandlerMiddleware=()=>{const _0x3bab9b=a0_0x3d5fbd,_0x2e2f4d={'bDvgO':function(_0x9f788e,_0x35a3e3,_0x4bce6e){return _0x9f788e(_0x35a3e3,_0x4bce6e);},'gyYJi':function(_0x5ee7c1,_0x5042ca){return _0x5ee7c1>=_0x5042ca;},'wtSls':'Internal\x20server\x20error','vlwNs':_0x3bab9b(0x21a)};return(_0x6c0f4f,_0x381479,_0x24f7f9,_0x7dec5d)=>{const _0x3bc63c=_0x3bab9b;_0x2e2f4d[_0x3bc63c(0x246)](logHttpError,_0x6c0f4f,_0x381479);const _0x1075ca=_0x6c0f4f[_0x3bc63c(0x26a)]||_0x6c0f4f[_0x3bc63c(0x214)]||0x1f4;_0x24f7f9['status'](_0x1075ca)[_0x3bc63c(0x1f7)]({'success':![],'error':_0x2e2f4d[_0x3bc63c(0x1f3)](_0x1075ca,0x1f4)?_0x2e2f4d[_0x3bc63c(0x250)]:_0x6c0f4f['message'],'requestId':_0x381479['id']||_0x381479[_0x3bc63c(0x1df)]?.[_0x2e2f4d['vlwNs']]||null});};};function a0_0xfd83(_0x155321,_0x1fa88b){_0x155321=_0x155321-0x1c5;const _0x250774=a0_0x2507();let _0xfd8329=_0x250774[_0x155321];if(a0_0xfd83['kGvXNq']===undefined){var _0x43bea8=function(_0x43bd3){const _0x2c70c9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5ca100='',_0x52288b='';for(let _0x114bd2=0x0,_0x22ae94,_0x4813b1,_0x319d7d=0x0;_0x4813b1=_0x43bd3['charAt'](_0x319d7d++);~_0x4813b1&&(_0x22ae94=_0x114bd2%0x4?_0x22ae94*0x40+_0x4813b1:_0x4813b1,_0x114bd2++%0x4)?_0x5ca100+=String['fromCharCode'](0xff&_0x22ae94>>(-0x2*_0x114bd2&0x6)):0x0){_0x4813b1=_0x2c70c9['indexOf'](_0x4813b1);}for(let _0x868210=0x0,_0x301ff7=_0x5ca100['length'];_0x868210<_0x301ff7;_0x868210++){_0x52288b+='%'+('00'+_0x5ca100['charCodeAt'](_0x868210)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x52288b);};a0_0xfd83['JaXmrX']=_0x43bea8,a0_0xfd83['YaOwPg']={},a0_0xfd83['kGvXNq']=!![];}const _0x1b3729=_0x250774[0x0],_0x1ce2bd=_0x155321+_0x1b3729,_0x879258=a0_0xfd83['YaOwPg'][_0x1ce2bd];return!_0x879258?(_0xfd8329=a0_0xfd83['JaXmrX'](_0xfd8329),a0_0xfd83['YaOwPg'][_0x1ce2bd]=_0xfd8329):_0xfd8329=_0x879258,_0xfd8329;}module[a0_0x3d5fbd(0x1c5)]={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x393e84=a0_0x18df;function a0_0x18df(_0x23b4f8,_0x3b8452){_0x23b4f8=_0x23b4f8-0xfb;const _0x7616f=a0_0x7616();let _0x18df47=_0x7616f[_0x23b4f8];if(a0_0x18df['WcwdEx']===undefined){var _0x14d7e8=function(_0x251d05){const _0x146efa='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x909283='',_0x45369f='';for(let _0xf4e506=0x0,_0x53c0cd,_0x4ba89b,_0x2c8801=0x0;_0x4ba89b=_0x251d05['charAt'](_0x2c8801++);~_0x4ba89b&&(_0x53c0cd=_0xf4e506%0x4?_0x53c0cd*0x40+_0x4ba89b:_0x4ba89b,_0xf4e506++%0x4)?_0x909283+=String['fromCharCode'](0xff&_0x53c0cd>>(-0x2*_0xf4e506&0x6)):0x0){_0x4ba89b=_0x146efa['indexOf'](_0x4ba89b);}for(let _0x2876e3=0x0,_0x286569=_0x909283['length'];_0x2876e3<_0x286569;_0x2876e3++){_0x45369f+='%'+('00'+_0x909283['charCodeAt'](_0x2876e3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x45369f);};a0_0x18df['QjOttL']=_0x14d7e8,a0_0x18df['XocNCb']={},a0_0x18df['WcwdEx']=!![];}const _0x49d8a4=_0x7616f[0x0],_0x597bec=_0x23b4f8+_0x49d8a4,_0x589256=a0_0x18df['XocNCb'][_0x597bec];return!_0x589256?(_0x18df47=a0_0x18df['QjOttL'](_0x18df47),a0_0x18df['XocNCb'][_0x597bec]=_0x18df47):_0x18df47=_0x589256,_0x18df47;}function a0_0x7616(){const _0x1dbd73=['wKXUvxe','ywrK','BgvUz3rO','zg9LqKi','BxLZCwW','y2XLyxi','lI9KyI1VCMfJBgu','DhjPBq','zgvIDwC','AgfZ','A2v5CW','mJf5CLjnBNG','Cg9ZDgDYzxnXBa','otLhtvjAuxq','mtyXnta4Bxnyz0Tc','mtmYnZi1vK1wzMfY','Bg9VA3vWq2fJAgu','ChvZAa','AM1Ht0i','rffYEvC','mZy5nda4nNPqEe5zAa','mJH3twziswO','u0vmrunuia','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','Bg9HzeXVB2T1CfrHyMXL','DMfSAwrHDgvmB29RDxbwywX1zxm','iezst00G','Dg9mB3DLCKnHC2u','v0DHwe4','Dg9vChbLCKnHC2u','zw52','CMvZB2X2zuXVB2T1CfzHBhvL','B3jHy2XL','C2v0','tg9VA3vWignHy2HLignSzwfYzwq','z2v0','zxHWB3j0CW','nteXnJuZy0nNwu9z','nK9VD0fUvG','C2XPy2u','zw50CMLLCW','mJiWnZq0ofPVAMD2CG','zxHLy3v0zvf1zxj5','z2v0rgLZDgLUy3rwywX1zxm','mteYmZyWzffqDNbl','mZK1mdz4y3HZrgi'];a0_0x7616=function(){return _0x1dbd73;};return a0_0x7616();}(function(_0x4499fe,_0xdb9bf1){const _0x179806=a0_0x18df,_0x229410=_0x4499fe();while(!![]){try{const _0x4345ae=-parseInt(_0x179806(0x110))/0x1*(-parseInt(_0x179806(0x109))/0x2)+parseInt(_0x179806(0x108))/0x3+parseInt(_0x179806(0x126))/0x4*(-parseInt(_0x179806(0x120))/0x5)+parseInt(_0x179806(0x11f))/0x6*(-parseInt(_0x179806(0x11c))/0x7)+-parseInt(_0x179806(0x10c))/0x8+parseInt(_0x179806(0x125))/0x9+parseInt(_0x179806(0x10f))/0xa*(parseInt(_0x179806(0x11e))/0xb);if(_0x4345ae===_0xdb9bf1)break;else _0x229410['push'](_0x229410['shift']());}catch(_0x14ee3f){_0x229410['push'](_0x229410['shift']());}}}(a0_0x7616,0x3f063));const dbType=(process[a0_0x393e84(0x101)]['DB_TYPE']||a0_0x393e84(0x11d))['toLowerCase']();let executeQuery;if(dbType===a0_0x393e84(0x103)){const oracleDb=require(a0_0x393e84(0x117));executeQuery=(_0x3159b9,_0x243d12)=>oracleDb['executeQuery'](_0x3159b9,_0x243d12);}else{if(dbType===a0_0x393e84(0x115)){const mysqlDb=require('./db-mysql');executeQuery=(_0x3bd9f2,_0x59885b)=>mysqlDb[a0_0x393e84(0x10d)](_0x3bd9f2,_0x59885b);}else executeQuery=require('./db')['executeQuery'];}const {logger}=require('./logger');class LookupResolver{constructor(){this['lookupCache']=new Map();}['clearCache'](){const _0x5834d8=a0_0x393e84;this[_0x5834d8(0x121)][_0x5834d8(0x116)](),logger[_0x5834d8(0x119)]({'event':_0x5834d8(0x128)},_0x5834d8(0x105));}async[a0_0x393e84(0xfb)](_0x5c8a46,_0x297f01,_0x3e2169){const _0x574077=a0_0x393e84,_0x320101={'ZZHET':function(_0x41cca4,_0x3ce08b){return _0x41cca4!==_0x3ce08b;},'DQryW':function(_0x1c8ca4,_0x49d2d7){return _0x1c8ca4(_0x49d2d7);}},_0x421e0f=_0x5c8a46+':'+_0x297f01+':'+_0x3e2169;if(this[_0x574077(0x121)]['has'](_0x421e0f))return this[_0x574077(0x121)][_0x574077(0x106)](_0x421e0f);try{const _0xb49a29=_0x574077(0x127)+_0x3e2169+',\x20'+_0x297f01+_0x574077(0xfd)+_0x5c8a46,_0x430cf2=await _0x320101[_0x574077(0x124)](executeQuery,_0xb49a29),_0x255dfb=new Map();return _0x430cf2['forEach'](_0x5d4bc5=>{const _0x253089=_0x574077,_0x3d3315=_0x5d4bc5[_0x297f01]!==undefined?_0x5d4bc5[_0x297f01]:_0x5d4bc5[_0x297f01[_0x253089(0x100)]()],_0x4b182f=_0x5d4bc5[_0x3e2169]!==undefined?_0x5d4bc5[_0x3e2169]:_0x5d4bc5[_0x3e2169['toUpperCase']()];_0x320101['ZZHET'](_0x3d3315,null)&&_0x3d3315!==undefined&&(_0x255dfb[_0x253089(0x104)](_0x320101['DQryW'](String,_0x3d3315)[_0x253089(0xfe)]()['trim'](),_0x4b182f),_0x255dfb[_0x253089(0x104)](String(_0x3d3315)[_0x253089(0x118)](),_0x4b182f));}),this['lookupCache'][_0x574077(0x104)](_0x421e0f,_0x255dfb),logger['info']({'event':'lookup_table_loaded','table':_0x5c8a46,'column':_0x297f01,'count':_0x430cf2[_0x574077(0x113)]},'Lookup\x20table\x20loaded:\x20'+_0x5c8a46),_0x255dfb;}catch(_0x312db5){logger['error']({'event':'lookup_table_load_error','table':_0x5c8a46,'error':_0x312db5['message']},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x5c8a46);throw _0x312db5;}}[a0_0x393e84(0x102)](_0x441a01,_0x2b7923){const _0x1861c4=a0_0x393e84,_0x2089ae={'Qtgve':function(_0x13c39c,_0x5b85df){return _0x13c39c===_0x5b85df;}};if(_0x441a01===null||_0x441a01===undefined||_0x2089ae['Qtgve'](_0x441a01,''))return null;const _0xb02d6=String(_0x441a01)['trim']();if(_0x2b7923[_0x1861c4(0x11a)](_0xb02d6))return _0x2b7923['get'](_0xb02d6);const _0x366917=_0xb02d6['toLowerCase']();if(_0x2b7923['has'](_0x366917))return _0x2b7923[_0x1861c4(0x106)](_0x366917);return null;}async['processLookupFields'](_0x39bb1b,_0x58868a){const _0x3a657a=a0_0x393e84,_0xba181b={'ZLnUq':function(_0xd5a828,_0x1fdb26){return _0xd5a828===_0x1fdb26;},'jmaOB':function(_0x1c6889,_0x5ab34a){return _0x1c6889!==_0x5ab34a;},'zHAjI':'Lookup\x20fields\x20processed'};if(!_0x58868a||Object['keys'](_0x58868a)['length']===0x0)return{'processedRows':_0x39bb1b,'errors':[]};const _0xfa604c=[],_0x5427df=new Map();for(const [_0x30d7b4,_0xbe24e7]of Object['entries'](_0x58868a)){const {lookupTable:_0x1d50ae,lookupColumn:_0x3a3ad2,lookupIdColumn:_0x38bab8}=_0xbe24e7,_0xa27bbd=_0x1d50ae+':'+_0x3a3ad2+':'+_0x38bab8;if(!_0x5427df[_0x3a657a(0x11a)](_0xa27bbd)){const _0x598bb4=await this['loadLookupTable'](_0x1d50ae,_0x3a3ad2,_0x38bab8);_0x5427df[_0x3a657a(0x104)](_0xa27bbd,_0x598bb4);}}const _0x5e6f76=_0x39bb1b['map']((_0x5b3ca6,_0x3241d9)=>{const _0x3a3825=_0x3a657a,_0x266826={..._0x5b3ca6};for(const [_0x22d6d6,_0x17656c]of Object[_0x3a3825(0x10b)](_0x58868a)){const {lookupTable:_0x198bb7,lookupColumn:_0x14db4b,lookupIdColumn:_0x4ea3d8,targetField:_0x1df2f8,required:_0xf0e7f8}=_0x17656c,_0x581da9=_0x198bb7+':'+_0x14db4b+':'+_0x4ea3d8,_0x2f8ce4=_0x5427df[_0x3a3825(0x106)](_0x581da9),_0x5f11da=_0x5b3ca6[_0x22d6d6];if((_0x5f11da===null||_0x5f11da===undefined||_0xba181b[_0x3a3825(0x111)](_0x5f11da,''))&&!_0xf0e7f8){_0x266826[_0x1df2f8]=null;continue;}const _0x2b5ded=this['resolveLookupValue'](_0x5f11da,_0x2f8ce4);_0xba181b[_0x3a3825(0x123)](_0x2b5ded,null)?_0x266826[_0x1df2f8]=_0x2b5ded:(_0xf0e7f8&&_0xfa604c[_0x3a3825(0x122)]({'rowIndex':_0x3241d9,'field':_0x22d6d6,'value':_0x5f11da,'targetField':_0x1df2f8,'lookupTable':_0x198bb7,'message':'Value\x20\x22'+_0x5f11da+'\x22\x20not\x20found\x20in\x20'+_0x198bb7}),_0x266826[_0x1df2f8]=null);}return _0x266826;});return logger['info']({'event':'lookup_fields_processed','totalRows':_0x39bb1b[_0x3a657a(0x113)],'errorCount':_0xfa604c[_0x3a657a(0x113)],'lookupFieldCount':Object['keys'](_0x58868a)['length']},_0xba181b['zHAjI']),{'processedRows':_0x5e6f76,'errors':_0xfa604c};}[a0_0x393e84(0x10e)](_0x2fbc2c,_0x34ae8a){const _0xd0df20={'WGaXN':function(_0x1097cd,_0x2c657a){return _0x1097cd!==_0x2c657a;}},_0x46a7d0=new Set();return _0x2fbc2c['forEach'](_0x22964d=>{const _0x21e3f8=a0_0x18df,_0x44cdf4=_0x22964d[_0x34ae8a];_0xd0df20['WGaXN'](_0x44cdf4,null)&&_0xd0df20['WGaXN'](_0x44cdf4,undefined)&&_0xd0df20[_0x21e3f8(0xff)](_0x44cdf4,'')&&_0x46a7d0[_0x21e3f8(0x112)](String(_0x44cdf4)[_0x21e3f8(0x118)]());}),Array['from'](_0x46a7d0);}async[a0_0x393e84(0xfc)](_0x12e508,_0x1b47f9){const _0x13e5a8=a0_0x393e84,_0x3a4f13={'doeBB':function(_0x51eec7,_0x106751){return _0x51eec7===_0x106751;}};if(!_0x1b47f9||Object[_0x13e5a8(0x11b)](_0x1b47f9)[_0x13e5a8(0x113)]===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x54093b=[],_0x4f4b85={};for(const [_0x54a2fd,_0x1c9a94]of Object['entries'](_0x1b47f9)){const {lookupTable:_0x4d28db,lookupColumn:_0x51e00f,lookupIdColumn:_0x40507a,required:_0x2e3fa1}=_0x1c9a94,_0x50793c=this['getDistinctValues'](_0x12e508,_0x54a2fd),_0x41157d=await this['loadLookupTable'](_0x4d28db,_0x51e00f,_0x40507a),_0x3d2a5c=[],_0x116be3=[];_0x50793c['forEach'](_0x34e7b3=>{const _0x314957=_0x13e5a8,_0x1acbdb=this[_0x314957(0x102)](_0x34e7b3,_0x41157d);_0x1acbdb!==null?_0x116be3[_0x314957(0x122)](_0x34e7b3):_0x3d2a5c[_0x314957(0x122)](_0x34e7b3);});if(_0x3d2a5c['length']>0x0&&_0x2e3fa1){_0x54093b[_0x13e5a8(0x122)]({'field':_0x54a2fd,'lookupTable':_0x4d28db,'invalidValues':_0x3d2a5c,'message':_0x3d2a5c[_0x13e5a8(0x113)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0x4d28db});const _0x19b82a=[];_0x41157d['forEach']((_0x281f3e,_0xd8d901)=>{const _0x2f4618=_0x13e5a8;if(_0x3a4f13[_0x2f4618(0x114)](_0xd8d901,_0xd8d901['toLowerCase']()))return;_0x19b82a[_0x2f4618(0x122)](_0xd8d901);}),_0x4f4b85[_0x54a2fd]={'invalidValues':_0x3d2a5c,'availableValues':_0x19b82a[_0x13e5a8(0x10a)](0x0,0x32)};}}return{'valid':_0x54093b['length']===0x0,'errors':_0x54093b,'suggestions':_0x4f4b85};}}module[a0_0x393e84(0x107)]=new LookupResolver();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x5d7744=a0_0x24a9;(function(_0x337153,_0xa9e645){const _0x451b78=a0_0x24a9,_0x3c0c51=_0x337153();while(!![]){try{const _0x5eacd6=-parseInt(_0x451b78(0x17f))/0x1+-parseInt(_0x451b78(0x18a))/0x2+-parseInt(_0x451b78(0x16b))/0x3+-parseInt(_0x451b78(0x174))/0x4+-parseInt(_0x451b78(0x167))/0x5*(parseInt(_0x451b78(0x178))/0x6)+-parseInt(_0x451b78(0x18e))/0x7+-parseInt(_0x451b78(0x172))/0x8*(-parseInt(_0x451b78(0x175))/0x9);if(_0x5eacd6===_0xa9e645)break;else _0x3c0c51['push'](_0x3c0c51['shift']());}catch(_0x7d1ef2){_0x3c0c51['push'](_0x3c0c51['shift']());}}}(a0_0x7775,0x3f8ce));const fs=require('fs')['promises'],path=require(a0_0x5d7744(0x185)),{logger}=require(a0_0x5d7744(0x189));class PayloadLoader{constructor(){const _0x3b2c43=a0_0x5d7744;this[_0x3b2c43(0x181)]=path[_0x3b2c43(0x184)](__dirname,'../../payload'),this[_0x3b2c43(0x16d)]=new Map();}async[a0_0x5d7744(0x183)](_0x490033,_0x64a773){const _0x27e7a6=a0_0x5d7744,_0x341697={'YSItL':'utf8','QrBfH':_0x27e7a6(0x169)},_0x19365d=_0x490033+':'+_0x64a773;if(this['cache'][_0x27e7a6(0x173)](_0x19365d))return this['cache']['get'](_0x19365d);const _0x5c10f6=path['join'](this[_0x27e7a6(0x181)],_0x490033+'_'+_0x64a773+'.json');try{const _0xc92eae=await fs['readFile'](_0x5c10f6,_0x341697['YSItL']),_0x7e30d7=JSON['parse'](_0xc92eae);return this[_0x27e7a6(0x16d)]['set'](_0x19365d,_0x7e30d7),logger['debug']({'event':_0x27e7a6(0x18d),'project':_0x490033,'resource':_0x64a773},'Payload\x20loaded\x20successfully'),_0x7e30d7;}catch(_0x25ed95){logger[_0x27e7a6(0x17e)]({'event':_0x341697[_0x27e7a6(0x18b)],'project':_0x490033,'resource':_0x64a773,'error':_0x25ed95['message']},_0x27e7a6(0x179));throw new Error(_0x27e7a6(0x17c)+_0x490033+'_'+_0x64a773);}}async[a0_0x5d7744(0x18c)](_0x2fbfa8){const _0x40c719=a0_0x5d7744,_0x343415={'khVWo':_0x40c719(0x17d)},_0x395c84=_0x40c719(0x180)+_0x2fbfa8;if(this['cache'][_0x40c719(0x173)](_0x395c84))return this[_0x40c719(0x16d)]['get'](_0x395c84);const _0x5ce545=path[_0x40c719(0x184)](this[_0x40c719(0x181)],_0x2fbfa8+_0x40c719(0x170));try{const _0x373cea=await fs['readFile'](_0x5ce545,'utf8'),_0x52d981=JSON[_0x40c719(0x171)](_0x373cea);return this['cache'][_0x40c719(0x168)](_0x395c84,_0x52d981),logger['debug']({'event':_0x40c719(0x18d),'payloadName':_0x2fbfa8},_0x343415[_0x40c719(0x16f)]),_0x52d981;}catch(_0x679a65){logger[_0x40c719(0x17e)]({'event':_0x40c719(0x169),'payloadName':_0x2fbfa8,'error':_0x679a65['message']},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error(_0x40c719(0x17c)+_0x2fbfa8);}}['isActionEnabled'](_0x414d35,_0x4e90a3){const _0x221fe5=a0_0x5d7744,_0x38d529={'MAUhm':function(_0x5b10bd,_0x3adfab){return _0x5b10bd===_0x3adfab;}};return _0x414d35['action']&&_0x38d529[_0x221fe5(0x188)](_0x414d35['action'][_0x4e90a3],!![]);}[a0_0x5d7744(0x186)](_0x2ed5e0){const _0xe7c6ab=a0_0x5d7744;return{'columns':_0x2ed5e0[_0xe7c6ab(0x16e)]||[],'filename':_0x2ed5e0['tableName'][_0xe7c6ab(0x176)]('.','-')+'-export','datatablesQuery':_0x2ed5e0[_0xe7c6ab(0x16c)]||null,'columnFormats':_0x2ed5e0[_0xe7c6ab(0x187)]||null,'fieldLabels':_0x2ed5e0['fieldLabels']||null};}[a0_0x5d7744(0x17b)](){const _0x6a2f11=a0_0x5d7744,_0x5afa8b={'exDHN':_0x6a2f11(0x17a)};this['cache']['clear'](),logger['info']({'event':_0x5afa8b[_0x6a2f11(0x16a)]},_0x6a2f11(0x177));}}function a0_0x24a9(_0x1a9c23,_0xb53871){_0x1a9c23=_0x1a9c23-0x167;const _0x7775fb=a0_0x7775();let _0x24a957=_0x7775fb[_0x1a9c23];if(a0_0x24a9['yZACgY']===undefined){var _0x4aa39f=function(_0x2e2559){const _0x26e461='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3219a9='',_0x43ceb6='';for(let _0x14d2fd=0x0,_0x1ebfaf,_0x5d8efe,_0x19f763=0x0;_0x5d8efe=_0x2e2559['charAt'](_0x19f763++);~_0x5d8efe&&(_0x1ebfaf=_0x14d2fd%0x4?_0x1ebfaf*0x40+_0x5d8efe:_0x5d8efe,_0x14d2fd++%0x4)?_0x3219a9+=String['fromCharCode'](0xff&_0x1ebfaf>>(-0x2*_0x14d2fd&0x6)):0x0){_0x5d8efe=_0x26e461['indexOf'](_0x5d8efe);}for(let _0x2af2f7=0x0,_0x4f2035=_0x3219a9['length'];_0x2af2f7<_0x4f2035;_0x2af2f7++){_0x43ceb6+='%'+('00'+_0x3219a9['charCodeAt'](_0x2af2f7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x43ceb6);};a0_0x24a9['IIAoGN']=_0x4aa39f,a0_0x24a9['QgECbh']={},a0_0x24a9['yZACgY']=!![];}const _0x1139e4=_0x7775fb[0x0],_0xa6cfff=_0x1a9c23+_0x1139e4,_0x109137=a0_0x24a9['QgECbh'][_0xa6cfff];return!_0x109137?(_0x24a957=a0_0x24a9['IIAoGN'](_0x24a957),a0_0x24a9['QgECbh'][_0xa6cfff]=_0x24a957):_0x24a957=_0x109137,_0x24a957;}module[a0_0x5d7744(0x182)]=new PayloadLoader();function a0_0x7775(){const _0x3016da=['tufvAg0','lI9SB2DNzxi','mtK1nJGWBKjft3Hw','uxjczKG','Bg9HzfbHEwXVywrcEu5HBwu','Cgf5Bg9Hzf9SB2fKzwq','mtqYmJC2nhfSwhjmsG','nwTgs1LMzG','C2v0','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','zxHese4','mti5mZeYnM9LBwrkva','zgf0yxrHyMXLC1f1zxj5','y2fJAgu','zMLLBgroyw1L','A2Hwv28','lMPZB24','CgfYC2u','mJK2EgnLuMHR','AgfZ','mtaZmdyYnhznzhHVuq','ndq5odaYBLPZz0zS','CMvWBgfJzq','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','mtu1otyYmMPKCenzBG','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','y2XLyxjdywnOzq','ugf5Bg9HzcbUB3qGzM91BMq6ia','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','zxjYB3i','mZm5mtu3u2vvAxne','Cgf5Bg9HzdO','Cgf5Bg9HzerPCG','zxHWB3j0CW','Bg9HzfbHEwXVywq','AM9PBG','Cgf0Aa','z2v0rxHWB3j0q29UzMLN','y29SDw1UrM9YBwf0CW'];a0_0x7775=function(){return _0x3016da;};return a0_0x7775();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x7c4045,_0x24e812){var _0x4afb79=a0_0x4b9d,_0x1a4d5c=_0x7c4045();while(!![]){try{var _0x4a3f93=-parseInt(_0x4afb79(0x88))/0x1+parseInt(_0x4afb79(0x83))/0x2*(parseInt(_0x4afb79(0x8a))/0x3)+parseInt(_0x4afb79(0x82))/0x4*(parseInt(_0x4afb79(0x84))/0x5)+-parseInt(_0x4afb79(0x89))/0x6*(-parseInt(_0x4afb79(0x86))/0x7)+parseInt(_0x4afb79(0x80))/0x8+-parseInt(_0x4afb79(0x85))/0x9+-parseInt(_0x4afb79(0x81))/0xa*(-parseInt(_0x4afb79(0x8b))/0xb);if(_0x4a3f93===_0x24e812)break;else _0x1a4d5c['push'](_0x1a4d5c['shift']());}catch(_0x1ea403){_0x1a4d5c['push'](_0x1a4d5c['shift']());}}}(a0_0xdb34,0x3872e));function a0_0x4b9d(_0x3ec2f3,_0x1d9778){_0x3ec2f3=_0x3ec2f3-0x80;var _0xdb3456=a0_0xdb34();var _0x4b9dbe=_0xdb3456[_0x3ec2f3];if(a0_0x4b9d['BdDBsj']===undefined){var _0x313145=function(_0x41ca39){var _0x3331f5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0xff786f='',_0x39f958='';for(var _0x52f249=0x0,_0x592149,_0x512f0b,_0x23a8dc=0x0;_0x512f0b=_0x41ca39['charAt'](_0x23a8dc++);~_0x512f0b&&(_0x592149=_0x52f249%0x4?_0x592149*0x40+_0x512f0b:_0x512f0b,_0x52f249++%0x4)?_0xff786f+=String['fromCharCode'](0xff&_0x592149>>(-0x2*_0x52f249&0x6)):0x0){_0x512f0b=_0x3331f5['indexOf'](_0x512f0b);}for(var _0x304297=0x0,_0x3d63b4=_0xff786f['length'];_0x304297<_0x3d63b4;_0x304297++){_0x39f958+='%'+('00'+_0xff786f['charCodeAt'](_0x304297)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x39f958);};a0_0x4b9d['kTQIxC']=_0x313145,a0_0x4b9d['YEJorR']={},a0_0x4b9d['BdDBsj']=!![];}var _0x2e24b=_0xdb3456[0x0],_0x58a022=_0x3ec2f3+_0x2e24b,_0x1d88aa=a0_0x4b9d['YEJorR'][_0x58a022];return!_0x1d88aa?(_0x4b9dbe=a0_0x4b9d['kTQIxC'](_0x4b9dbe),a0_0x4b9d['YEJorR'][_0x58a022]=_0x4b9dbe):_0x4b9dbe=_0x1d88aa,_0x4b9dbe;}function createResponse(_0x19f2b7,_0x297dc2,_0x314b7b=null){var _0x15edee=a0_0x4b9d;return{'success':!![],'statusCode':_0x19f2b7,'message':_0x297dc2,'data':_0x314b7b,'timestamp':new Date()[_0x15edee(0x87)]()};}function createError(_0x66232c,_0x7eab1e,_0x362fd9=null){var _0x4da401=a0_0x4b9d;return{'success':![],'statusCode':_0x66232c,'message':_0x7eab1e,'data':_0x362fd9,'timestamp':new Date()[_0x4da401(0x87)]()};}function createValidationError(_0x57ebad,_0x163c00){var _0x397169=a0_0x4b9d;return{'success':![],'statusCode':0x190,'message':_0x57ebad,'data':{'errors':_0x163c00},'timestamp':new Date()[_0x397169(0x87)]()};}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};function a0_0xdb34(){var _0x390aa9=['mtaYmdK4nhfjDKvTBG','mZa4mZmWANzSDNf2','mtmXmJC2A1Lvr1zp','mty1nJe0BMH4zuXN','mtvVBeHzBvy','mtmXodu0nujHt3rqvG','n2LUs3bIzG','Dg9ju09tDhjPBMC','nZy5nZrpugDfAgK','nJG5odm4EK9pq0jx','m0rJwxLkvq','mtf4ufzAzNm'];a0_0xdb34=function(){return _0x390aa9;};return a0_0xdb34();}
|
package/src/utils/rabbitmq.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x4afae5=a0_0xb6d0;(function(_0x1f95ca,_0x4207d8){const _0x1d9bca=a0_0xb6d0,_0x1e60f4=_0x1f95ca();while(!![]){try{const _0x53e8ee=parseInt(_0x1d9bca(0x80))/0x1*(-parseInt(_0x1d9bca(0x74))/0x2)+parseInt(_0x1d9bca(0x79))/0x3*(parseInt(_0x1d9bca(0x87))/0x4)+-parseInt(_0x1d9bca(0xa2))/0x5+parseInt(_0x1d9bca(0x76))/0x6+parseInt(_0x1d9bca(0x9a))/0x7*(parseInt(_0x1d9bca(0x72))/0x8)+-parseInt(_0x1d9bca(0x99))/0x9*(parseInt(_0x1d9bca(0x9d))/0xa)+parseInt(_0x1d9bca(0x8a))/0xb;if(_0x53e8ee===_0x4207d8)break;else _0x1e60f4['push'](_0x1e60f4['shift']());}catch(_0x37f11a){_0x1e60f4['push'](_0x1e60f4['shift']());}}}(a0_0xcaa0,0xa3023),require('dotenv')['config']());const amqp=require(a0_0x4afae5(0x88)),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process['env'][a0_0x4afae5(0x7b)],EXCHANGE=process[a0_0x4afae5(0x95)][a0_0x4afae5(0x9f)],ROUTING_KEY=process['env'][a0_0x4afae5(0x89)],QUEUE=process[a0_0x4afae5(0x95)]['RABBITMQ_QUEUE'];function a0_0xcaa0(){const _0x3f816b=['yuDqtgC','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','mZy1nenJqLjyEa','otK4oxzzv0X0wG','y29UBMvJDa','zxHPDa','mty0odbuy2flq20','uxvLDwuG','uKfcqKLutvfFrvHdsefor0u','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','zxjYB3i','nJu5nZe1vfjpEuHw','CxvLDwu','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','zxHWB3j0CW','mJG3mLnOuwDksW','xsbfuLjpuJOGuxvLDwuG','nMzSse5xzG','y2XVC2u','nZq5ndyWruL0ChHi','Aw5JBhvKzxm','Aw5LCxvPDMfSzw50igfYzW','mtGYndKZq0f0q3Lw','z3LHCMu','uKfcqKLutvfFvvjm','CMv0CNKTzxHJAgfUz2u','xsbszxrYEsbXDwv1zsa','yMLUzff1zxvL','tLnfrfO','mJiXnJu3AMD3qKni','zM91BMq','Bg9N','xsbfEgnOyw5Nzsa','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','xsbsywjIAxrnusbJB25Uzwn0Aw9UignSB3nLza','mtjWwMPOy2m','yw1XCgXPyG','uKfcqKLutvfFuK9vveLor19lrvK','mtq0ntm4nZLus09XsuS','y3jLyxrLq2HHBM5LBa','ignYzwf0zwq','ihDPDgGGreXy','zgLYzwn0','uwzxtwy','BwvZC2fNzq','yxnZzxj0uxvLDwu','xsbgywLSzwqGDg8Gy29UBMvJDcb0BYbsywjIAxrnutOG','zLLoCeW','y09zCK0','zw52','B1LprLq'];a0_0xcaa0=function(){return _0x3f816b;};return a0_0xcaa0();}async function createConnection(){const _0x1f7265=a0_0x4afae5,_0x492c20={'NSEDZ':function(_0x39e329,_0xf2e8e2){return _0x39e329(_0xf2e8e2);},'vrZyQ':function(_0x146119,_0x4e86ce){return _0x146119(_0x4e86ce);}};try{const _0x51f6c7=await amqp[_0x1f7265(0x9b)](RABBITMQ_URL);return console[_0x1f7265(0x82)]('['+_0x492c20[_0x1f7265(0x7f)](formatDate,new Date())+_0x1f7265(0x84)),_0x51f6c7;}catch(_0x5bcf52){console[_0x1f7265(0xa1)]('['+_0x492c20['vrZyQ'](formatDate,new Date())+_0x1f7265(0x92)+_0x5bcf52[_0x1f7265(0x90)]);throw _0x5bcf52;}}function a0_0xb6d0(_0x2111ad,_0x53d8d6){_0x2111ad=_0x2111ad-0x71;const _0xcaa0dc=a0_0xcaa0();let _0xb6d06a=_0xcaa0dc[_0x2111ad];if(a0_0xb6d0['XQJJlF']===undefined){var _0x508ff5=function(_0x33ec33){const _0x36f083='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3f7e4e='',_0xdae313='';for(let _0x2a1e9f=0x0,_0x273678,_0x208361,_0x45064b=0x0;_0x208361=_0x33ec33['charAt'](_0x45064b++);~_0x208361&&(_0x273678=_0x2a1e9f%0x4?_0x273678*0x40+_0x208361:_0x208361,_0x2a1e9f++%0x4)?_0x3f7e4e+=String['fromCharCode'](0xff&_0x273678>>(-0x2*_0x2a1e9f&0x6)):0x0){_0x208361=_0x36f083['indexOf'](_0x208361);}for(let _0x26274a=0x0,_0x212dc7=_0x3f7e4e['length'];_0x26274a<_0x212dc7;_0x26274a++){_0xdae313+='%'+('00'+_0x3f7e4e['charCodeAt'](_0x26274a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xdae313);};a0_0xb6d0['boPCgC']=_0x508ff5,a0_0xb6d0['zTiuuY']={},a0_0xb6d0['XQJJlF']=!![];}const _0x8a66a3=_0xcaa0dc[0x0],_0x3c3a72=_0x2111ad+_0x8a66a3,_0xea601f=a0_0xb6d0['zTiuuY'][_0x3c3a72];return!_0xea601f?(_0xb6d06a=a0_0xb6d0['boPCgC'](_0xb6d06a),a0_0xb6d0['zTiuuY'][_0x3c3a72]=_0xb6d06a):_0xb6d06a=_0xea601f,_0xb6d06a;}async function createChannel(_0x2262ff){const _0x1e1f3a=a0_0x4afae5,_0xcc126e={'bAOzC':function(_0x5c3894,_0x45fb58){return _0x5c3894(_0x45fb58);}};try{const _0x57bfbd=await _0x2262ff[_0x1e1f3a(0x8b)]();return console[_0x1e1f3a(0x82)]('['+_0xcc126e['bAOzC'](formatDate,new Date())+_0x1e1f3a(0x98)),_0x57bfbd;}catch(_0x4a1b3d){console['error']('['+formatDate(new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x4a1b3d[_0x1e1f3a(0x90)]);throw _0x4a1b3d;}}async function setupInfrastructure(_0x2529d4){const _0x2ec3ec=a0_0x4afae5,_0x2c8564={'UPjID':_0x2ec3ec(0x8e),'fYNpL':function(_0x592b62,_0x2eb6b1){return _0x592b62(_0x2eb6b1);},'mmYyl':function(_0x430306,_0x2daaac){return _0x430306(_0x2daaac);},'gyare':function(_0x26bedb,_0x3c2b40){return _0x26bedb(_0x3c2b40);},'QfWMf':_0x2ec3ec(0x7c),'CqQhq':function(_0x32d815,_0x9a2f21){return _0x32d815(_0x9a2f21);},'oYOFT':function(_0x4e2dbb,_0x375328){return _0x4e2dbb(_0x375328);},'aGPLg':function(_0x227cf7,_0x548d5b){return _0x227cf7===_0x548d5b;},'lFSoU':_0x2ec3ec(0x81),'golDn':_0x2ec3ec(0x78)};try{await _0x2529d4['assertExchange'](_0x2ec3ec(0x7c),_0x2c8564['UPjID'],{'durable':!![],'autoDelete':![]}),console[_0x2ec3ec(0x82)]('['+_0x2c8564[_0x2ec3ec(0x93)](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x51398e){console['error']('['+_0x2c8564['mmYyl'](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x51398e['message']);throw _0x51398e;}try{await _0x2529d4['assertExchange'](EXCHANGE,_0x2ec3ec(0x8e),{'durable':!![],'autoDelete':![]}),console[_0x2ec3ec(0x82)]('['+formatDate(new Date())+_0x2ec3ec(0x83)+EXCHANGE+'\x20created/ready');}catch(_0x20e346){console['error']('['+_0x2c8564[_0x2ec3ec(0x7a)](formatDate,new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x20e346['message']);throw _0x20e346;}const _0x3ccc1a=ROUTING_KEY+'_retry';try{const _0x39f919={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x2529d4['assertQueue'](_0x3ccc1a,_0x39f919),console[_0x2ec3ec(0x82)]('['+_0x2c8564['mmYyl'](formatDate,new Date())+_0x2ec3ec(0x7d)+_0x3ccc1a+'\x20created/ready'),await _0x2529d4['bindQueue'](_0x3ccc1a,_0x2c8564[_0x2ec3ec(0x8f)],ROUTING_KEY),console[_0x2ec3ec(0x82)]('['+_0x2c8564['CqQhq'](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+_0x2ec3ec(0x8c));}catch(_0x37eee3){console[_0x2ec3ec(0xa1)]('['+_0x2c8564[_0x2ec3ec(0x96)](formatDate,new Date())+_0x2ec3ec(0xa0),_0x37eee3[_0x2ec3ec(0x90)]);throw _0x37eee3;}try{const _0x4e16f6={'durable':!![],'arguments':{'x-dead-letter-exchange':'retry-exchange','x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x4f1de6=await _0x2529d4[_0x2ec3ec(0x91)](QUEUE,_0x4e16f6);console[_0x2ec3ec(0x82)]('['+_0x2c8564['gyare'](formatDate,new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x2c8564[_0x2ec3ec(0x97)](_0x4f1de6[_0x2ec3ec(0xa3)],QUEUE)?'created/ready':_0x2c8564['lFSoU'])+_0x2ec3ec(0x8d)),await _0x2529d4[_0x2ec3ec(0x7e)](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x2ec3ec(0x82)]('['+_0x2c8564['gyare'](formatDate,new Date())+']\x20Binding\x20'+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0x2ef7ad){if(_0x2ef7ad[_0x2ec3ec(0x90)][_0x2ec3ec(0x77)]('inequivalent\x20arg')&&_0x2ef7ad[_0x2ec3ec(0x90)]['includes']('x-dead-letter-routing-key'))console[_0x2ec3ec(0xa1)]('\x0a['+_0x2c8564['mmYyl'](formatDate,new Date())+_0x2ec3ec(0x73)+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console['error'](_0x2ec3ec(0x9e)+QUEUE+_0x2ec3ec(0xa4)),console[_0x2ec3ec(0xa1)]('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process[_0x2ec3ec(0x9c)](0x1);else{console[_0x2ec3ec(0xa1)]('['+formatDate(new Date())+_0x2ec3ec(0x85)+QUEUE+':',_0x2ef7ad['message']);throw _0x2ef7ad;}}}catch(_0x3b5382){if(!_0x3b5382[_0x2ec3ec(0x90)]['includes'](_0x2c8564['golDn'])){console[_0x2ec3ec(0xa1)]('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x3b5382[_0x2ec3ec(0x90)]);throw _0x3b5382;}process['exit'](0x1);}}async function closeConnection(_0x50800f){const _0x57a29c=a0_0x4afae5,_0x5f132c={'cOYrM':function(_0x1ce346,_0x5099c2){return _0x1ce346(_0x5099c2);}};if(_0x50800f)try{await _0x50800f[_0x57a29c(0x75)](),console['log']('['+_0x5f132c['cOYrM'](formatDate,new Date())+_0x57a29c(0x86));}catch(_0x165669){console['error']('['+_0x5f132c[_0x57a29c(0x94)](formatDate,new Date())+']\x20Failed\x20to\x20close\x20RabbitMQ\x20connection:\x20'+_0x165669[_0x57a29c(0x90)]);}}module[a0_0x4afae5(0x71)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x194580=a0_0x5879;function a0_0x3372(){const _0x5ca146=['rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','z2v0q2XPzw50','mta1mdyWCxvIs2Hp','CMvKAxnFzxjYB3i','mta4nZi2ow5hyMLysG','CgLUzW','otLRwgHyyKO','nti0ndm3nufXthrvDq','y29UBMvJDa','nhDfB3jAvq','zxHWB3j0CW','mZu4otu2mhPQq1zwrG','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','zw52','ue9orW','mZu3odK4mgvuEwvYqG','zxjYB3i','AxndB25Uzwn0zwq','t2DYAu8','Aw9YzwrPCW','uKvesvnFse9tva','CMvKAxnFy29UBMvJDgvK','nZi1mZqYsKfhA09n','D2fYBG','ng1pAxnxua','mZG3mtm0m09St0rksq','lI9SB2DNzxi','BwvZC2fNzq','y2XPzw50','qw94Efa','zgLZy29UBMvJDa'];a0_0x3372=function(){return _0x5ca146;};return a0_0x3372();}(function(_0xffd52a,_0x3863b9){const _0x57365d=a0_0x5879,_0x318fc7=_0xffd52a();while(!![]){try{const _0x3288ff=parseInt(_0x57365d(0x8c))/0x1*(-parseInt(_0x57365d(0x9a))/0x2)+parseInt(_0x57365d(0x87))/0x3*(parseInt(_0x57365d(0x9c))/0x4)+-parseInt(_0x57365d(0x8a))/0x5+parseInt(_0x57365d(0x85))/0x6+-parseInt(_0x57365d(0x9d))/0x7+-parseInt(_0x57365d(0x8e))/0x8+parseInt(_0x57365d(0x89))/0x9*(parseInt(_0x57365d(0x93))/0xa);if(_0x3288ff===_0x3863b9)break;else _0x318fc7['push'](_0x318fc7['shift']());}catch(_0x32d1d4){_0x318fc7['push'](_0x318fc7['shift']());}}}(a0_0x3372,0xc7194));const Redis=require(a0_0x194580(0x97)),{logger}=require(a0_0x194580(0x9e));function a0_0x5879(_0x59942f,_0x5ca26b){_0x59942f=_0x59942f-0x80;const _0x3372d2=a0_0x3372();let _0x58795f=_0x3372d2[_0x59942f];if(a0_0x5879['TZIdjK']===undefined){var _0x2a72f2=function(_0xdc7116){const _0x2868ac='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3448e9='',_0x5d86a1='';for(let _0x22475a=0x0,_0x42dd09,_0x1fe82d,_0x40aaea=0x0;_0x1fe82d=_0xdc7116['charAt'](_0x40aaea++);~_0x1fe82d&&(_0x42dd09=_0x22475a%0x4?_0x42dd09*0x40+_0x1fe82d:_0x1fe82d,_0x22475a++%0x4)?_0x3448e9+=String['fromCharCode'](0xff&_0x42dd09>>(-0x2*_0x22475a&0x6)):0x0){_0x1fe82d=_0x2868ac['indexOf'](_0x1fe82d);}for(let _0x167689=0x0,_0x3d5513=_0x3448e9['length'];_0x167689<_0x3d5513;_0x167689++){_0x5d86a1+='%'+('00'+_0x3448e9['charCodeAt'](_0x167689)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5d86a1);};a0_0x5879['BVlfOr']=_0x2a72f2,a0_0x5879['nWRLXU']={},a0_0x5879['TZIdjK']=!![];}const _0x560b90=_0x3372d2[0x0],_0x46fa2a=_0x59942f+_0x560b90,_0x41df2e=a0_0x5879['nWRLXU'][_0x46fa2a];return!_0x41df2e?(_0x58795f=a0_0x5879['BVlfOr'](_0x58795f),a0_0x5879['nWRLXU'][_0x46fa2a]=_0x58795f):_0x58795f=_0x41df2e,_0x58795f;}class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}['connect'](){const _0x40c260=a0_0x194580,_0x3c08fb={'AZCku':_0x40c260(0x99),'EogiE':_0x40c260(0x86),'AoxxP':'localhost','iuDBG':function(_0x5ebc67,_0x451eb7,_0xc4a18){return _0x5ebc67(_0x451eb7,_0xc4a18);},'AeyDB':_0x40c260(0x94),'weUsb':'close','OgriO':'redis_init_error','pGzIe':_0x40c260(0x83)};if(this['client'])return this[_0x40c260(0x80)];try{return this['client']=new Redis({'host':process[_0x40c260(0x91)][_0x40c260(0x98)]||_0x3c08fb[_0x40c260(0x81)],'port':_0x3c08fb['iuDBG'](parseInt,process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x40c260(0x91)]['REDIS_PASSWORD']||undefined,'db':parseInt(process['env']['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x48d2bb){const _0x1caa78=Math['min'](_0x48d2bb*0x32,0x7d0);return _0x1caa78;}}),this[_0x40c260(0x80)]['on'](_0x40c260(0x8b),()=>{const _0x1b6b75=_0x40c260;this['isConnected']=!![],logger['info']({'event':_0x3c08fb['AZCku']},_0x1b6b75(0x90));}),this[_0x40c260(0x80)]['on'](_0x3c08fb['AeyDB'],_0x285b96=>{const _0x151cfa=_0x40c260;this[_0x151cfa(0x95)]=![],logger[_0x151cfa(0x94)]({'event':_0x3c08fb['EogiE'],'error':_0x285b96[_0x151cfa(0x9f)]},_0x151cfa(0x8f)+_0x285b96[_0x151cfa(0x9f)]);}),this['client']['on'](_0x3c08fb['weUsb'],()=>{const _0x47255d=_0x40c260;this['isConnected']=![],logger[_0x47255d(0x9b)]({'event':'redis_disconnected'},'Redis\x20connection\x20closed');}),this[_0x40c260(0x80)];}catch(_0x76255){logger['error']({'event':_0x3c08fb[_0x40c260(0x96)],'error':_0x76255['message']},_0x3c08fb['pGzIe']);throw _0x76255;}}[a0_0x194580(0x84)](){const _0x491d21=a0_0x194580;return!this[_0x491d21(0x80)]&&this[_0x491d21(0x8b)](),this[_0x491d21(0x80)];}async[a0_0x194580(0x88)](_0x2ad0b0=0x1388){const _0xee6542=a0_0x194580;try{const _0x30811f=this[_0xee6542(0x84)](),_0x2bef11=await Promise['race']([_0x30811f['ping'](),new Promise((_0x4b803f,_0x3ef936)=>setTimeout(()=>_0x3ef936(new Error('Redis\x20PING\x20timeout')),_0x2ad0b0))]);return _0x2bef11===_0xee6542(0x92);}catch(_0x298dcb){return![];}}async['disconnect'](){this['client']&&(await this['client']['quit'](),this['client']=null,this['isConnected']=![]);}['forceDisconnect'](){const _0x468cab=a0_0x194580;this['client']&&(this[_0x468cab(0x80)][_0x468cab(0x82)](),this[_0x468cab(0x80)]=null,this['isConnected']=![]);}}module[a0_0x194580(0x8d)]=new RedisClient();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x13ddff=a0_0x45ed;function a0_0xe4df(){const _0x393028=['z2v0qwXSsM9ICW','DeLJyue','C3rYAw5NAwz5','zxDmAeC','uffmDxy','mJGYndm4AKndzgDt','odiYotm0ohLms1j1zG','odi0nJzduMLyzw0','zgvSzxrLsM9I','mJa4nJeXnuzPseTIvG','oe5gBuT3tW','zgvS','z2v0','mNvdD1nUtG','ChvZAa','zgvMyxvSDa','BwvZC2fNzq','n1DxB1zfva','z2v0q2XPzw50','nfbJBerZwq','oMv4Cg9YDdO','x3bYzwzPEa','CMvKAxnFz2v0ywXSx2vYCM9Y','lI9YzwrPCY1JBgLLBNq','ndq5odC1ohbAyvnIvG','CMvKAxnFzgvSzxrLx2vYCM9Y','CgfYC2u','mtGZnJKZmgLzwxbwDG','mtqXmZC2ngz1z1nwvq','EKX1D0m','mtb4qvr0yKC'];a0_0xe4df=function(){return _0x393028;};return a0_0xe4df();}(function(_0x464c42,_0xaa9051){const _0x1c1f03=a0_0x45ed,_0x458051=_0x464c42();while(!![]){try{const _0x2c2395=parseInt(_0x1c1f03(0x152))/0x1+-parseInt(_0x1c1f03(0x139))/0x2*(parseInt(_0x1c1f03(0x150))/0x3)+parseInt(_0x1c1f03(0x13f))/0x4*(parseInt(_0x1c1f03(0x154))/0x5)+-parseInt(_0x1c1f03(0x147))/0x6*(parseInt(_0x1c1f03(0x13d))/0x7)+-parseInt(_0x1c1f03(0x136))/0x8*(parseInt(_0x1c1f03(0x144))/0x9)+-parseInt(_0x1c1f03(0x14a))/0xa*(-parseInt(_0x1c1f03(0x148))/0xb)+parseInt(_0x1c1f03(0x151))/0xc;if(_0x2c2395===_0xaa9051)break;else _0x458051['push'](_0x458051['shift']());}catch(_0x2fe89f){_0x458051['push'](_0x458051['shift']());}}}(a0_0xe4df,0x65085));const redisClient=require(a0_0x13ddff(0x143)),{logger}=require('./logger');function a0_0x45ed(_0x3fcbb0,_0x494a52){_0x3fcbb0=_0x3fcbb0-0x136;const _0xe4dfbe=a0_0xe4df();let _0x45edd3=_0xe4dfbe[_0x3fcbb0];if(a0_0x45ed['pjEJlZ']===undefined){var _0x4d3c4e=function(_0x5eeae2){const _0x237e91='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b9ced='',_0x5486a8='';for(let _0x4bb6ed=0x0,_0x168ded,_0x1c7766,_0x4d9d13=0x0;_0x1c7766=_0x5eeae2['charAt'](_0x4d9d13++);~_0x1c7766&&(_0x168ded=_0x4bb6ed%0x4?_0x168ded*0x40+_0x1c7766:_0x1c7766,_0x4bb6ed++%0x4)?_0x4b9ced+=String['fromCharCode'](0xff&_0x168ded>>(-0x2*_0x4bb6ed&0x6)):0x0){_0x1c7766=_0x237e91['indexOf'](_0x1c7766);}for(let _0x476468=0x0,_0x362088=_0x4b9ced['length'];_0x476468<_0x362088;_0x476468++){_0x5486a8+='%'+('00'+_0x4b9ced['charCodeAt'](_0x476468)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5486a8);};a0_0x45ed['aZHwib']=_0x4d3c4e,a0_0x45ed['caAoNx']={},a0_0x45ed['pjEJlZ']=!![];}const _0x2c14c8=_0xe4dfbe[0x0],_0x1f6a7d=_0x3fcbb0+_0x2c14c8,_0x2eedd2=a0_0x45ed['caAoNx'][_0x1f6a7d];return!_0x2eedd2?(_0x45edd3=a0_0x45ed['aZHwib'](_0x45edd3),a0_0x45ed['caAoNx'][_0x1f6a7d]=_0x45edd3):_0x45edd3=_0x2eedd2,_0x45edd3;}class RedisHelper{constructor(){this['_prefix']=null,this['ttl']=parseInt(process['env']['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get['prefix'](){const _0x3a449d=a0_0x13ddff,_0x5725c3={'SYwSU':_0x3a449d(0x13b)};if(!this['_prefix']){const _0x139c79=process['env']['RESTFORGE_PROJECT_NAME']||_0x5725c3['SYwSU'];this[_0x3a449d(0x141)]='restforge:'+_0x139c79+_0x3a449d(0x140);}return this['_prefix'];}async['setJob'](_0x4367bd,_0x4a81ce){const _0x498792=a0_0x13ddff;try{const _0x4a19b0=redisClient[_0x498792(0x13e)](),_0x2828ca=''+this['prefix']+_0x4367bd;return await _0x4a19b0['setex'](_0x2828ca,this['ttl'],JSON[_0x498792(0x14d)](_0x4a81ce)),!![];}catch(_0x593040){return logger['error']({'event':'redis_set_error','jobId':_0x4367bd,'error':_0x593040[_0x498792(0x13c)]},'Failed\x20to\x20set\x20job\x20in\x20Redis'),![];}}async['getJob'](_0x5afe10){const _0x424c78=a0_0x13ddff,_0x729862={'zLuwC':'redis_get_error','ewLhG':'Failed\x20to\x20get\x20job\x20from\x20Redis'};try{const _0x383707=redisClient['getClient'](),_0x17aeac=''+this['prefix']+_0x5afe10,_0x1384c8=await _0x383707[_0x424c78(0x138)](_0x17aeac);return _0x1384c8?JSON[_0x424c78(0x146)](_0x1384c8):null;}catch(_0x2d8804){return logger['error']({'event':_0x729862[_0x424c78(0x149)],'jobId':_0x5afe10,'error':_0x2d8804['message']},_0x729862[_0x424c78(0x14e)]),null;}}async['updateJob'](_0x26d810,_0x26a1ee){const _0x1a91ba=await this['getJob'](_0x26d810);if(!_0x1a91ba)return![];const _0x356987={..._0x1a91ba,..._0x26a1ee};return await this['setJob'](_0x26d810,_0x356987);}async[a0_0x13ddff(0x153)](_0x5ca947){const _0x23af89=a0_0x13ddff,_0x394dc3={'wGdAV':_0x23af89(0x145),'PQLuv':'Failed\x20to\x20delete\x20job\x20from\x20Redis'};try{const _0x6eda8f=redisClient['getClient'](),_0x413414=''+this['prefix']+_0x5ca947;return await _0x6eda8f[_0x23af89(0x137)](_0x413414),!![];}catch(_0x4f1bbb){return logger['error']({'event':_0x394dc3['wGdAV'],'jobId':_0x5ca947,'error':_0x4f1bbb['message']},_0x394dc3[_0x23af89(0x14f)]),![];}}async[a0_0x13ddff(0x14b)](){const _0x427d09=a0_0x13ddff,_0x586218={'tIcaA':_0x427d09(0x142)};try{const _0x86d02b=redisClient['getClient'](),_0x32c739=await _0x86d02b['keys'](this['prefix']+'*'),_0x1007d8=[];for(const _0x51411e of _0x32c739){const _0x4d3bc3=await _0x86d02b['get'](_0x51411e);_0x4d3bc3&&_0x1007d8[_0x427d09(0x13a)](JSON[_0x427d09(0x146)](_0x4d3bc3));}return _0x1007d8;}catch(_0x44cb65){return logger['error']({'event':_0x586218[_0x427d09(0x14c)],'error':_0x44cb65[_0x427d09(0x13c)]},'Failed\x20to\x20get\x20all\x20jobs'),[];}}}module['exports']=new RedisHelper();
|