@restforgejs/platform 5.0.1 → 5.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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/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/migrate/migrate-runner.js +393 -393
- package/generators/lib/payload/payload-runner.js +64 -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 +417 -6
- 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_0x2e97b9=a0_0x2d6f;(function(_0x5590c2,_0x42393e){const _0x345e47=a0_0x2d6f,_0x4f7421=_0x5590c2();while(!![]){try{const _0x578f0f=-parseInt(_0x345e47(0x112))/0x1*(-parseInt(_0x345e47(0xf0))/0x2)+-parseInt(_0x345e47(0x108))/0x3*(parseInt(_0x345e47(0x10d))/0x4)+parseInt(_0x345e47(0x10a))/0x5+-parseInt(_0x345e47(0x120))/0x6+-parseInt(_0x345e47(0xd2))/0x7*(parseInt(_0x345e47(0x10f))/0x8)+-parseInt(_0x345e47(0xf4))/0x9+-parseInt(_0x345e47(0xd3))/0xa*(-parseInt(_0x345e47(0xcc))/0xb);if(_0x578f0f===_0x42393e)break;else _0x4f7421['push'](_0x4f7421['shift']());}catch(_0x355e02){_0x4f7421['push'](_0x4f7421['shift']());}}}(a0_0x1a3e,0xe720e));const redisClient=require(a0_0x2e97b9(0xe4)),{logger}=require('./logger'),{v4:uuidv4}=require(a0_0x2e97b9(0xd6));function a0_0x2d6f(_0x2a2b81,_0x4f45a7){_0x2a2b81=_0x2a2b81-0xc6;const _0x1a3e7e=a0_0x1a3e();let _0x2d6f41=_0x1a3e7e[_0x2a2b81];if(a0_0x2d6f['AnMLko']===undefined){var _0x5cbe95=function(_0x21de66){const _0x4d7c46='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x35bf88='',_0x259338='';for(let _0x5d7480=0x0,_0x4b065f,_0x1a7256,_0x9a3db9=0x0;_0x1a7256=_0x21de66['charAt'](_0x9a3db9++);~_0x1a7256&&(_0x4b065f=_0x5d7480%0x4?_0x4b065f*0x40+_0x1a7256:_0x1a7256,_0x5d7480++%0x4)?_0x35bf88+=String['fromCharCode'](0xff&_0x4b065f>>(-0x2*_0x5d7480&0x6)):0x0){_0x1a7256=_0x4d7c46['indexOf'](_0x1a7256);}for(let _0x2023bb=0x0,_0x7dbc5e=_0x35bf88['length'];_0x2023bb<_0x7dbc5e;_0x2023bb++){_0x259338+='%'+('00'+_0x35bf88['charCodeAt'](_0x2023bb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x259338);};a0_0x2d6f['CAjPsK']=_0x5cbe95,a0_0x2d6f['mbzAHX']={},a0_0x2d6f['AnMLko']=!![];}const _0x3a9876=_0x1a3e7e[0x0],_0x24b97e=_0x2a2b81+_0x3a9876,_0xa19ad9=a0_0x2d6f['mbzAHX'][_0x24b97e];return!_0xa19ad9?(_0x2d6f41=a0_0x2d6f['CAjPsK'](_0x2d6f41),a0_0x2d6f['mbzAHX'][_0x24b97e]=_0x2d6f41):_0x2d6f41=_0xa19ad9,_0x2d6f41;}class LockManager{constructor(){const _0x512c70=a0_0x2e97b9;this['_prefix']=null,this[_0x512c70(0x113)]=null,this['_defaultTTL']=null,this[_0x512c70(0xeb)]=null,this['_retryDelay']=null,this[_0x512c70(0xcf)]=null,this['_workerId']=null,this['_initialized']=![];}['_initConfig'](){const _0x1f8c87=a0_0x2e97b9,_0x4df070={'MVQCD':function(_0x784dfa,_0x155df1){return _0x784dfa===_0x155df1;},'AZQBl':_0x1f8c87(0xe7),'rFQvZ':_0x1f8c87(0xed)};this[_0x1f8c87(0x117)]='rf:lock:',this[_0x1f8c87(0x113)]=_0x4df070['MVQCD'](process[_0x1f8c87(0x111)]['LOCK_DISTRIBUTED_ENABLED'],_0x4df070[_0x1f8c87(0xde)]),this[_0x1f8c87(0xe1)]=parseInt(process[_0x1f8c87(0x111)][_0x1f8c87(0xc6)],0xa)||0xa,this[_0x1f8c87(0xeb)]=parseInt(process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3,this['_retryDelay']=parseInt(process[_0x1f8c87(0x111)]['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64,this[_0x1f8c87(0xcf)]=process['env']['LOCK_DISTRIBUTED_STRATEGY']||_0x1f8c87(0xcd),this[_0x1f8c87(0x114)]='worker-'+process['pid'],this['_initialized']=!![],logger['info']({'event':_0x4df070['rFQvZ'],'enabled':this['_enabled'],'strategy':this[_0x1f8c87(0xcf)],'ttl':this['_defaultTTL'],'retryCount':this[_0x1f8c87(0xeb)],'retryDelay':this[_0x1f8c87(0xf3)],'workerId':this[_0x1f8c87(0x114)]},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+',\x20strategy:\x20'+this[_0x1f8c87(0xcf)]);}['_ensureInitialized'](){const _0xe28e89=a0_0x2e97b9;!this[_0xe28e89(0x100)]&&this[_0xe28e89(0xfc)]();}get[a0_0x2e97b9(0xef)](){const _0x41ec8d=a0_0x2e97b9;return this[_0x41ec8d(0xce)](),this['_prefix'];}get['enabled'](){return this['_ensureInitialized'](),this['_enabled'];}get[a0_0x2e97b9(0x11d)](){const _0x14064e=a0_0x2e97b9;return this['_ensureInitialized'](),this[_0x14064e(0xe1)];}get[a0_0x2e97b9(0xc9)](){return this['_ensureInitialized'](),this['_retryCount'];}get['retryDelay'](){const _0xa422d9=a0_0x2e97b9;return this[_0xa422d9(0xce)](),this[_0xa422d9(0xf3)];}get['strategy'](){const _0x4f16e5=a0_0x2e97b9;return this[_0x4f16e5(0xce)](),this[_0x4f16e5(0xcf)];}get[a0_0x2e97b9(0xd9)](){return this['_ensureInitialized'](),this['_workerId'];}['buildLockKey'](_0x140a4d){const {module:_0x85f02a,endpoint:_0x392514,lockType:_0x5262b8,recordId:_0x460922}=_0x140a4d;if(_0x460922)return''+this['prefix']+_0x85f02a+':'+_0x392514+':'+_0x460922+':'+_0x5262b8;return''+this['prefix']+_0x85f02a+':'+_0x392514+':'+_0x5262b8;}[a0_0x2e97b9(0xd0)](){const _0x2804ce=a0_0x2e97b9,_0x2877f1={'pjsdS':function(_0x419111){return _0x419111();}};return this['workerId']+':'+_0x2877f1[_0x2804ce(0xdd)](uuidv4)+':'+Date[_0x2804ce(0xc8)]();}async[a0_0x2e97b9(0xfb)](_0x31f90a){const _0x42f097=a0_0x2e97b9,_0x4133f4={'jNCjO':'write','vKtFX':function(_0x144c0f,_0x589d8e){return _0x144c0f<_0x589d8e;},'bcKlj':'read_lock_acquired','tBOba':_0x42f097(0x104),'UZyhG':function(_0x19c16f,_0x12b964){return _0x19c16f*_0x12b964;},'hZRWV':'READ\x20lock\x20acquire\x20timeout','DqKgL':'READ\x20lock\x20error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x2d9371=this['buildLockKey']({..._0x31f90a,'lockType':_0x4133f4[_0x42f097(0xf9)]}),_0x411404=this['buildLockKey']({..._0x31f90a,'lockType':_0x42f097(0x101)}),_0x5ed73f=this['generateLockValue']();try{const _0x35db32=redisClient[_0x42f097(0xe5)]();for(let _0x4d4e03=0x0;_0x4133f4[_0x42f097(0xd5)](_0x4d4e03,this[_0x42f097(0xc9)]);_0x4d4e03++){const _0xac27b2=await _0x35db32[_0x42f097(0x115)](_0x2d9371);if(!_0xac27b2){await _0x35db32['incr'](_0x411404),await _0x35db32[_0x42f097(0xfe)](_0x411404,this['defaultTTL']);const _0x18f579=_0x411404+':'+_0x5ed73f;return await _0x35db32['setex'](_0x18f579,this['defaultTTL'],_0x5ed73f),logger['debug']({'event':_0x4133f4[_0x42f097(0x116)],'key':_0x411404,'value':_0x5ed73f},_0x4133f4['tBOba']),{'success':!![],'lockValue':_0x5ed73f,'lockKey':_0x18f579};}logger['debug']({'event':_0x42f097(0x121),'writeKey':_0x2d9371,'attempt':_0x4d4e03},'Waiting\x20for\x20WRITE\x20lock\x20to\x20release'),await this['sleep'](_0x4133f4[_0x42f097(0xf6)](this[_0x42f097(0x11f)],Math['pow'](0x2,_0x4d4e03)));}return logger[_0x42f097(0xf2)]({'event':_0x42f097(0xca),'key':_0x411404},_0x4133f4[_0x42f097(0x105)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x46e5ef){return logger[_0x42f097(0xf5)]({'event':_0x42f097(0x11c),'error':_0x46e5ef[_0x42f097(0xf8)]},_0x4133f4['DqKgL']),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x538bbd){const _0x146b00=a0_0x2e97b9,_0x218a18={'RyvSO':'write','LSpci':'write_lock_acquired','tlOHm':_0x146b00(0xd1),'yBuXI':function(_0x57c3b9,_0x5e03b5){return _0x57c3b9===_0x5e03b5;},'ywdmc':function(_0x37f458,_0x29f8d5){return _0x37f458(_0x29f8d5);},'elSZz':'WRITE\x20lock\x20acquired\x20(retry\x20mode)','fGIpO':'write_lock_waiting','meXwd':'Waiting\x20for\x20locks\x20to\x20release','XgJfC':function(_0x2094b7,_0x3af4cc){return _0x2094b7*_0x3af4cc;},'NwtVc':'WRITE\x20lock\x20acquire\x20timeout','ekgrv':_0x146b00(0x119)};if(!this[_0x146b00(0xd4)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x565653=this['buildLockKey']({..._0x538bbd,'lockType':_0x218a18['RyvSO']}),_0x403287=this[_0x146b00(0xf7)]({..._0x538bbd,'lockType':'read'}),_0x1d0c0b=this['generateLockValue']();try{const _0x48392e=redisClient['getClient']();if(this[_0x146b00(0xee)]==='reject'){const _0x4f61cd=await _0x48392e['set'](_0x565653,_0x1d0c0b,'EX',this['defaultTTL'],'NX');if(_0x4f61cd==='OK')return logger['debug']({'event':_0x218a18[_0x146b00(0xe6)],'key':_0x565653,'value':_0x1d0c0b,'strategy':'reject'},_0x146b00(0xe8)),{'success':!![],'lockValue':_0x1d0c0b,'lockKey':_0x565653};return logger['debug']({'event':_0x218a18['tlOHm'],'key':_0x565653},'WRITE\x20lock\x20rejected\x20-\x20record\x20busy'),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x553324=0x0;_0x553324<this['retryCount'];_0x553324++){const [_0x8273ca,_0xce2edd]=await Promise['all']([_0x48392e['get'](_0x403287),_0x48392e[_0x146b00(0x115)](_0x565653)]);if(!_0xce2edd&&(!_0x8273ca||_0x218a18['yBuXI'](_0x218a18[_0x146b00(0x110)](parseInt,_0x8273ca),0x0))){const _0x4f84f9=await _0x48392e['set'](_0x565653,_0x1d0c0b,'EX',this[_0x146b00(0x11d)],'NX');if(_0x4f84f9==='OK')return logger['debug']({'event':_0x146b00(0xe2),'key':_0x565653,'value':_0x1d0c0b,'strategy':'retry'},_0x218a18['elSZz']),{'success':!![],'lockValue':_0x1d0c0b,'lockKey':_0x565653};}logger[_0x146b00(0x102)]({'event':_0x218a18['fGIpO'],'writeKey':_0x565653,'readCount':_0x8273ca,'attempt':_0x553324},_0x218a18['meXwd']),await this[_0x146b00(0xe0)](_0x218a18[_0x146b00(0xf1)](this[_0x146b00(0x11f)],Math['pow'](0x2,_0x553324)));}return logger['warn']({'event':_0x146b00(0xd8),'key':_0x565653},_0x218a18[_0x146b00(0xcb)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x7ce516){return logger[_0x146b00(0xf5)]({'event':_0x218a18['ekgrv'],'error':_0x7ce516['message']},_0x146b00(0x10b)),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x15c7f3,_0x524424){const _0x290458=a0_0x2e97b9,_0x41f945={'WfPno':_0x290458(0xda),'kwkai':function(_0x45c4dc,_0x4d3899){return _0x45c4dc>_0x4d3899;},'DOCvk':_0x290458(0xd7),'GBmHt':_0x290458(0xec),'SCOpz':function(_0x2cdb9c,_0x2e09c8){return _0x2cdb9c===_0x2e09c8;},'dPBLs':_0x290458(0x10e),'Jwbne':'lock_release_not_owner','HmcMG':'Cannot\x20release\x20lock\x20-\x20not\x20owner','yNWbx':'lock_release_error','gNqEZ':'Lock\x20release\x20error'};if(!this['enabled']||!_0x15c7f3)return!![];try{const _0xcfce98=redisClient['getClient']();if(_0x15c7f3[_0x290458(0xdf)](_0x41f945[_0x290458(0x107)])){await _0xcfce98['del'](_0x15c7f3);const _0x4822f0=_0x15c7f3['substring'](0x0,_0x15c7f3['lastIndexOf'](':')),_0x2fac10=await _0xcfce98[_0x290458(0x115)](_0x4822f0);return _0x2fac10&&_0x41f945['kwkai'](parseInt(_0x2fac10),0x0)&&await _0xcfce98[_0x290458(0x118)](_0x4822f0),logger[_0x290458(0x102)]({'event':_0x41f945[_0x290458(0x103)],'key':_0x15c7f3},_0x41f945[_0x290458(0xdb)]),!![];}const _0x1189cf='\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',_0x48d1a2=await _0xcfce98[_0x290458(0xe3)](_0x1189cf,0x1,_0x15c7f3,_0x524424);if(_0x41f945['SCOpz'](_0x48d1a2,0x1))return logger['debug']({'event':_0x290458(0xfd),'key':_0x15c7f3},_0x41f945[_0x290458(0xfa)]),!![];return logger[_0x290458(0xf2)]({'event':_0x41f945['Jwbne'],'key':_0x15c7f3},_0x41f945['HmcMG']),![];}catch(_0x20ecdc){return logger['error']({'event':_0x41f945[_0x290458(0x106)],'key':_0x15c7f3,'error':_0x20ecdc[_0x290458(0xf8)]},_0x41f945['gNqEZ']),![];}}async[a0_0x2e97b9(0xdc)](_0x36b0aa,_0x3fc354,_0x62ca34=null){const _0x94e83d=a0_0x2e97b9,_0x4849bb={'gvasv':_0x94e83d(0x11e),'lensH':_0x94e83d(0x109)};if(!this[_0x94e83d(0xd4)]||!_0x36b0aa)return!![];try{const _0x3ca7b3=redisClient[_0x94e83d(0xe5)](),_0x23078c='\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',_0x4772b0=await _0x3ca7b3['eval'](_0x23078c,0x1,_0x36b0aa,_0x3fc354,_0x62ca34||this['defaultTTL']);if(_0x4772b0===0x1)return logger[_0x94e83d(0x102)]({'event':'lock_extended','key':_0x36b0aa,'ttl':_0x62ca34||this['defaultTTL']},_0x4849bb[_0x94e83d(0x11b)]),!![];return![];}catch(_0x56babc){return logger[_0x94e83d(0xf5)]({'event':'lock_extend_error','key':_0x36b0aa,'error':_0x56babc['message']},_0x4849bb[_0x94e83d(0xea)]),![];}}[a0_0x2e97b9(0x10c)](){const _0x1680cc=a0_0x2e97b9;return this[_0x1680cc(0xd4)];}[a0_0x2e97b9(0xe0)](_0x4d76bb){return new Promise(_0x4661aa=>setTimeout(_0x4661aa,_0x4d76bb));}async[a0_0x2e97b9(0xc7)](_0x4ac1fc){const _0x1d949b=a0_0x2e97b9,_0x32b71f={'jYFmD':_0x1d949b(0x11a),'orkkU':function(_0xe21d6b,_0xa11692){return _0xe21d6b||_0xa11692;}};if(!this[_0x1d949b(0xd4)])return{'enabled':![]};try{const _0x895a04=redisClient['getClient'](),_0x4d3bc6=this[_0x1d949b(0xf7)]({..._0x4ac1fc,'lockType':_0x32b71f['jYFmD']}),_0x4df25c=this[_0x1d949b(0xf7)]({..._0x4ac1fc,'lockType':'read'}),[_0x3470d1,_0x56f2f6]=await Promise['all']([_0x895a04['get'](_0x4d3bc6),_0x895a04['get'](_0x4df25c)]);return{'enabled':!![],'writeLock':_0x32b71f[_0x1d949b(0xff)](_0x3470d1,null),'readCount':parseInt(_0x56f2f6)||0x0,'writeKey':_0x4d3bc6,'readKey':_0x4df25c};}catch(_0x31e0bc){return{'enabled':!![],'error':_0x31e0bc[_0x1d949b(0xf8)]};}}}function a0_0x1a3e(){const _0x3880c5=['x3DVCMTLCKLK','z2v0','yMnlBgO','x3bYzwzPEa','zgvJCG','D3jPDgvFBg9JA19LCNjVCG','D3jPDgu','z3zHC3y','CMvHzf9SB2nRx2vYCM9Y','zgvMyxvSDfruta','tg9JAYbuveWGzxH0zw5Kzwq','CMv0CNLezwXHEq','ndmWmJCZohvuA25gtq','CMvHzf9SB2nRx3DHAxrPBMC','te9ds19esvnuuKLcvvrfrf9uveW','z2v0tg9JA0LUzM8','BM93','CMv0CNLdB3vUDa','CMvHzf9SB2nRx3rPBwvVDxq','tND0vMm','mta1mde3tuLXC2Lv','CMv0CNK','x2vUC3vYzuLUAxrPywXPEMvK','x3n0CMf0zwD5','z2vUzxjHDgvmB2nRvMfSDwu','D3jPDgvFBg9JA19YzwPLy3rLza','n0DZC01Suq','mJKZmhfHy0n3Da','zw5HyMXLza','DKT0rLG','DxvPza','CMvHzf9SB2nRx3jLBgvHC2vK','D3jPDgvFBg9JA190Aw1LB3v0','D29YA2vYswq','oNjLywq6','r0jTshq','zxH0zw5Ktg9JAW','CgPZzfm','qvPrqMW','Aw5JBhvKzxm','C2XLzxa','x2rLzMf1BhruveW','D3jPDgvFBg9JA19Hy3f1AxjLza','zxzHBa','lI9YzwrPCY1JBgLLBNq','z2v0q2XPzw50','tfnWy2K','Dhj1zq','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','zxHWB3j0CW','BgvUC0G','x3jLDhj5q291BNq','uKvbrcbSB2nRihjLBgvHC2vK','Bg9JA19JB25MAwDFAw5PDa','C3rYyxrLz3K','ChjLzML4','mKfkChztCq','wgDkzKm','D2fYBG','x3jLDhj5rgvSyxK','mtu0ndG4mtvQAKnUrg4','zxjYB3i','vvP5AeC','yNvPBgrmB2nRs2v5','BwvZC2fNzq','AK5dAK8','zfbcthm','ywnXDwLYzvjLywrmB2nR','x2LUAxrdB25MAwC','D3jPDgvFBg9JA19YzwXLyxnLza','zxHWAxjL','B3jRA1u','x2LUAxrPywXPEMvK','CMvHza','zgvIDwC','re9dDMS','uKvbrcbSB2nRigfJCxvPCMvK','AfPsv1y','Eu5xyNG','v2zqBM8','mtvSDe5euLK','tg9JAYbLEhrLBMqGzxjYB3i','mJe0mZa5mejhEvPAAa','v1jjveuGBg9JAYbLCNjVCG','AxnfBMfIBgvK','otq3ndm2yuj0C3jT','v1jjveuGBg9JAYbYzwXLyxnLza','mta1mJq3mNDPCKfrDW','ExDKBwm','zw52','mtq3mdmYnxzSwxbRzq','x2vUywjSzwq'];a0_0x1a3e=function(){return _0x3880c5;};return a0_0x1a3e();}module[a0_0x2e97b9(0xe9)]=new LockManager();
|
|
1
|
+
function a0_0xe44b(){const _0x3056c0=['CMvQzwn0','te9ds19esvnuuKLcvvrfrf9srvrswq','mtu0mtyWwuviwxjd','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','zw52','tg9JAYbYzwXLyxnLigvYCM9Y','D3jPDgvFBg9JA193ywL0Aw5N','x3DVCMTLCKLK','v1jjveuGBg9JAYbYzwXLyxnLza','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','vgLnEw8','odu0nePjAfDszW','CMvSzwfZzuXVy2S','tg9JAYbLEhrLBMqGzxjYB3i','te9ds19esvnuuKLcvvrfrf9uveW','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','x3n0CMf0zwD5','x2rLzMf1BhruveW','Dhj1zq','ne5Rq2ztuW','AxnfBMfIBgvK','x3jLDhj5rgvSyxK','wgD4ywu','mZG5nJa1nw90z2THBa','zxzHBa','q25Rqvy','D3jPDgu','D2fYBG','z2v0','D3jPDgvFBg9JA19Hy3f1AxjLza','CMv0CNLezwXHEq','Bez0y2i','C2v0zxG','CMv0CNK','tg9JAYbuveWGzxH0zw5Kzwq','Bg9JA19YzwXLyxnLx2vYCM9Y','CMy6Bg9JAZO','C0DTwu4','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','uKvbrcbSB2nRigfJCxvPCMvK','DevqC3O','rxrwvwy','zgvIDwC','yNvPBgrmB2nRs2v5','zxHWAxjL','rNrwqM4','C2XLzxa','mZi2nJK1wuXiD1jy','C3rYyxrLz3K','z2v0q2XPzw50','mZaYmevpzwHlAW','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','ywXS','C3brzey','zNbNCMm','zgvMyxvSDfruta','D29YA2vYswq','ywnXDwLYzvjLywrmB2nR','mta4mdG3mdzoDK9guhq','ndGXmdnJy3L2tK0','x2vUC3vYzuLUAxrPywXPEMvK','D3jPDgvFBg9JA19LCNjVCG','werPzvO','mZu4nZaXovnxswHZqq','CMvHza','C2rcu2O','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','vwLtD2S','x3bYzwzPEa','zxjYB3i','BwvZC2fNzq','CMv0CNLdB3vUDa','z2vUzxjHDgvmB2nRvMfSDwu','nZzdu1zpDhK','x2LUAxrPywXPEMvK','uMLvBvm','zw5HyMXLza','s3Ltqvu','uKvbrcbSB2nRigvYCM9Y','tfnWrMq','x3jLDhj5q291BNq','x2vUywjSzwq','D3jPDgvFBg9JA19YzwXLyxnLza','lcbZDhjHDgvNEtOG','rgfTtLG','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','nJe4mwj6sKjOzq','ChjLzML4','ywnXDwLYzvDYAxrLtg9JAW','CMvHzf9SB2nRx3jLBgvHC2vK','uKvbrcbSB2nRihjLBgvHC2vK'];a0_0xe44b=function(){return _0x3056c0;};return a0_0xe44b();}const a0_0x5b31f6=a0_0x2341;(function(_0x1870ee,_0x328079){const _0x22ef86=a0_0x2341,_0x45ebb4=_0x1870ee();while(!![]){try{const _0x559088=parseInt(_0x22ef86(0xfc))/0x1*(-parseInt(_0x22ef86(0xe0))/0x2)+parseInt(_0x22ef86(0x10c))/0x3+parseInt(_0x22ef86(0x116))/0x4*(-parseInt(_0x22ef86(0x12a))/0x5)+parseInt(_0x22ef86(0x107))/0x6+-parseInt(_0x22ef86(0x123))/0x7*(-parseInt(_0x22ef86(0x133))/0x8)+-parseInt(_0x22ef86(0xe4))/0x9+parseInt(_0x22ef86(0xff))/0xa*(-parseInt(_0x22ef86(0x108))/0xb);if(_0x559088===_0x328079)break;else _0x45ebb4['push'](_0x45ebb4['shift']());}catch(_0x4ae348){_0x45ebb4['push'](_0x45ebb4['shift']());}}}(a0_0xe44b,0xe74e5));const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x131d36=a0_0x2341;this[_0x131d36(0x111)]=null,this[_0x131d36(0x11e)]=null,this['_defaultTTL']=null,this['_retryCount']=null,this[_0x131d36(0xe2)]=null,this['_strategy']=null,this[_0x131d36(0x12f)]=null,this['_initialized']=![];}['_initConfig'](){const _0x271504=a0_0x2341,_0x468762={'spQdF':_0x271504(0xf1),'IYMtH':function(_0x5d3ff7,_0x4e87ed){return _0x5d3ff7===_0x4e87ed;},'EtVUf':function(_0x190e15,_0x2cccb0,_0x19857b){return _0x190e15(_0x2cccb0,_0x19857b);}};this[_0x271504(0x111)]=_0x468762[_0x271504(0x102)],this['_enabled']=_0x468762['IYMtH'](process[_0x271504(0x12c)]['LOCK_DISTRIBUTED_ENABLED'],_0x271504(0xdf)),this[_0x271504(0xde)]=_0x468762['EtVUf'](parseInt,process[_0x271504(0x12c)][_0x271504(0xdb)],0xa)||0xa,this[_0x271504(0x11d)]=_0x468762['EtVUf'](parseInt,process['env'][_0x271504(0x129)],0xa)||0x3,this[_0x271504(0xe2)]=_0x468762[_0x271504(0xf6)](parseInt,process['env'][_0x271504(0x100)],0xa)||0x64,this['_strategy']=process['env'][_0x271504(0xf3)]||_0x271504(0xee),this[_0x271504(0x12f)]='worker-'+process['pid'],this['_initialized']=!![],logger['info']({'event':'lock_config_init','enabled':this[_0x271504(0x11e)],'strategy':this[_0x271504(0xdd)],'ttl':this[_0x271504(0xde)],'retryCount':this['_retryCount'],'retryDelay':this['_retryDelay'],'workerId':this[_0x271504(0x12f)]},_0x271504(0x131)+this['_enabled']+_0x271504(0x120)+this[_0x271504(0xdd)]);}['_ensureInitialized'](){const _0x41f137=a0_0x2341;!this[_0x41f137(0x117)]&&this['_initConfig']();}get[a0_0x5b31f6(0x124)](){return this['_ensureInitialized'](),this['_prefix'];}get['enabled'](){const _0x50b8cd=a0_0x5b31f6;return this[_0x50b8cd(0x109)](),this[_0x50b8cd(0x11e)];}get['defaultTTL'](){const _0x436c5b=a0_0x5b31f6;return this[_0x436c5b(0x109)](),this['_defaultTTL'];}get[a0_0x5b31f6(0x114)](){const _0x5793d1=a0_0x5b31f6;return this[_0x5793d1(0x109)](),this['_retryCount'];}get['retryDelay'](){return this['_ensureInitialized'](),this['_retryDelay'];}get['strategy'](){return this['_ensureInitialized'](),this['_strategy'];}get[a0_0x5b31f6(0x105)](){const _0x16ac4a=a0_0x5b31f6;return this[_0x16ac4a(0x109)](),this[_0x16ac4a(0x12f)];}['buildLockKey'](_0x221f36){const _0x13fcc0=a0_0x5b31f6,{module:_0x15d80f,endpoint:_0x412f27,lockType:_0x37e4db,recordId:_0x14b982}=_0x221f36;if(_0x14b982)return''+this[_0x13fcc0(0x124)]+_0x15d80f+':'+_0x412f27+':'+_0x14b982+':'+_0x37e4db;return''+this['prefix']+_0x15d80f+':'+_0x412f27+':'+_0x37e4db;}['generateLockValue'](){const _0x599e6c=a0_0x5b31f6,_0x8325a0={'TiMyo':function(_0x3aa16d){return _0x3aa16d();}};return this['workerId']+':'+_0x8325a0[_0x599e6c(0x132)](uuidv4)+':'+Date['now']();}async[a0_0x5b31f6(0x106)](_0x3232c1){const _0x204cbf=a0_0x5b31f6,_0x26f984={'qisOP':_0x204cbf(0xe7),'HKHyj':'read','sGmYN':function(_0x325b25,_0x3726b2){return _0x325b25<_0x3726b2;},'fpgrc':'read_lock_acquired','Uvscq':'read_lock_waiting','Xgxae':'read_lock_timeout','LSpFd':'read_lock_error','lFtcb':_0x204cbf(0x11b)};if(!this[_0x204cbf(0x119)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x20dcdc=this[_0x204cbf(0xf8)]({..._0x3232c1,'lockType':_0x26f984['qisOP']}),_0x1b5848=this[_0x204cbf(0xf8)]({..._0x3232c1,'lockType':_0x26f984['HKHyj']}),_0x1883a4=this[_0x204cbf(0x115)]();try{const _0x468f18=redisClient['getClient']();for(let _0x39f827=0x0;_0x26f984[_0x204cbf(0xf2)](_0x39f827,this['retryCount']);_0x39f827++){const _0x5a50d8=await _0x468f18[_0x204cbf(0xe9)](_0x20dcdc);if(!_0x5a50d8){await _0x468f18['incr'](_0x1b5848),await _0x468f18[_0x204cbf(0xf9)](_0x1b5848,this['defaultTTL']);const _0x46fa49=_0x1b5848+':'+_0x1883a4;return await _0x468f18[_0x204cbf(0xed)](_0x46fa49,this[_0x204cbf(0x104)],_0x1883a4),logger[_0x204cbf(0xf7)]({'event':_0x26f984[_0x204cbf(0x103)],'key':_0x1b5848,'value':_0x1883a4},_0x204cbf(0xf4)),{'success':!![],'lockValue':_0x1883a4,'lockKey':_0x46fa49};}logger[_0x204cbf(0xf7)]({'event':_0x26f984['Uvscq'],'writeKey':_0x20dcdc,'attempt':_0x39f827},_0x204cbf(0x12b)),await this[_0x204cbf(0xfb)](this['retryDelay']*Math['pow'](0x2,_0x39f827));}return logger['warn']({'event':_0x26f984[_0x204cbf(0xe3)],'key':_0x1b5848},'READ\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x386aea){return logger[_0x204cbf(0x112)]({'event':_0x26f984[_0x204cbf(0x11c)],'error':_0x386aea[_0x204cbf(0x113)]},_0x26f984[_0x204cbf(0xec)]),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x5b31f6(0x125)](_0x34760f){const _0x381d9c=a0_0x5b31f6,_0x33892d={'BymQw':'write_lock_acquired','FtVBn':_0x381d9c(0xdc),'DamNX':function(_0x22f4b9,_0x20c792){return _0x22f4b9<_0x20c792;},'DxJsD':function(_0x520f85,_0x20f6e2){return _0x520f85===_0x20f6e2;},'HDEDk':function(_0x56f535,_0x51a849){return _0x56f535(_0x51a849);},'NYNNu':function(_0x1203c7,_0xa4a7ab){return _0x1203c7===_0xa4a7ab;},'RiUmS':'WRITE\x20lock\x20acquired\x20(retry\x20mode)','LtSfT':_0x381d9c(0x12e),'lqfVv':'WRITE\x20lock\x20acquire\x20timeout','XDieZ':'WRITE\x20lock\x20error'};if(!this[_0x381d9c(0x119)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x5d5453=this[_0x381d9c(0xf8)]({..._0x34760f,'lockType':'write'}),_0x866fc9=this[_0x381d9c(0xf8)]({..._0x34760f,'lockType':_0x381d9c(0x10d)}),_0xf140cd=this[_0x381d9c(0x115)]();try{const _0x18a392=redisClient['getClient']();if(this[_0x381d9c(0xfd)]===_0x381d9c(0x128)){const _0x68dc34=await _0x18a392['set'](_0x5d5453,_0xf140cd,'EX',this[_0x381d9c(0x104)],'NX');if(_0x68dc34==='OK')return logger[_0x381d9c(0xf7)]({'event':_0x33892d['BymQw'],'key':_0x5d5453,'value':_0xf140cd,'strategy':_0x381d9c(0x128)},'WRITE\x20lock\x20acquired\x20(reject\x20mode)'),{'success':!![],'lockValue':_0xf140cd,'lockKey':_0x5d5453};return logger['debug']({'event':'write_lock_rejected','key':_0x5d5453},_0x33892d[_0x381d9c(0xfa)]),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x31d167=0x0;_0x33892d[_0x381d9c(0x121)](_0x31d167,this['retryCount']);_0x31d167++){const [_0x3925ea,_0x20ac61]=await Promise[_0x381d9c(0x101)]([_0x18a392[_0x381d9c(0xe9)](_0x866fc9),_0x18a392[_0x381d9c(0xe9)](_0x5d5453)]);if(!_0x20ac61&&(!_0x3925ea||_0x33892d['DxJsD'](_0x33892d['HDEDk'](parseInt,_0x3925ea),0x0))){const _0x395f45=await _0x18a392['set'](_0x5d5453,_0xf140cd,'EX',this['defaultTTL'],'NX');if(_0x33892d['NYNNu'](_0x395f45,'OK'))return logger[_0x381d9c(0xf7)]({'event':_0x381d9c(0xea),'key':_0x5d5453,'value':_0xf140cd,'strategy':'retry'},_0x33892d[_0x381d9c(0x118)]),{'success':!![],'lockValue':_0xf140cd,'lockKey':_0x5d5453};}logger['debug']({'event':_0x33892d['LtSfT'],'writeKey':_0x5d5453,'readCount':_0x3925ea,'attempt':_0x31d167},'Waiting\x20for\x20locks\x20to\x20release'),await this[_0x381d9c(0xfb)](this[_0x381d9c(0xeb)]*Math['pow'](0x2,_0x31d167));}return logger[_0x381d9c(0xe8)]({'event':'write_lock_timeout','key':_0x5d5453},_0x33892d['lqfVv']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x3767eb){return logger['error']({'event':_0x381d9c(0x10a),'error':_0x3767eb[_0x381d9c(0x113)]},_0x33892d[_0x381d9c(0x10b)]),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x5b31f6(0x134)](_0x18eee7,_0x212bbc){const _0x414f96=a0_0x5b31f6,_0x2802a8={'sdBSj':':read:','YWiGE':function(_0x45ce88,_0x3b23f7){return _0x45ce88>_0x3b23f7;},'pevWP':function(_0x29b019,_0x564d54){return _0x29b019(_0x564d54);},'CnkAV':_0x414f96(0x127),'gXccz':_0x414f96(0x11f),'KySAU':_0x414f96(0x130)};if(!this[_0x414f96(0x119)]||!_0x18eee7)return!![];try{const _0x53c5a4=redisClient['getClient']();if(_0x18eee7['includes'](_0x2802a8[_0x414f96(0x10e)])){await _0x53c5a4['del'](_0x18eee7);const _0x3ce40d=_0x18eee7['substring'](0x0,_0x18eee7['lastIndexOf'](':')),_0x4783fa=await _0x53c5a4[_0x414f96(0xe9)](_0x3ce40d);return _0x4783fa&&_0x2802a8['YWiGE'](_0x2802a8['pevWP'](parseInt,_0x4783fa),0x0)&&await _0x53c5a4['decr'](_0x3ce40d),logger[_0x414f96(0xf7)]({'event':_0x414f96(0x126),'key':_0x18eee7},_0x2802a8[_0x414f96(0xe6)]),!![];}const _0x3f124a=_0x414f96(0x10f),_0xe03713=await _0x53c5a4[_0x414f96(0xe5)](_0x3f124a,0x1,_0x18eee7,_0x212bbc);if(_0xe03713===0x1)return logger[_0x414f96(0xf7)]({'event':_0x2802a8['gXccz'],'key':_0x18eee7},_0x2802a8[_0x414f96(0x11a)]),!![];return logger['warn']({'event':'lock_release_not_owner','key':_0x18eee7},_0x414f96(0x122)),![];}catch(_0x46df32){return logger[_0x414f96(0x112)]({'event':_0x414f96(0xf0),'key':_0x18eee7,'error':_0x46df32['message']},_0x414f96(0x12d)),![];}}async['extendLock'](_0x2c8bef,_0x1ec7db,_0x54569e=null){const _0x5c2b5b=a0_0x5b31f6,_0x53bfb4={'tEPsz':function(_0x387c20,_0x3d8fc4){return _0x387c20===_0x3d8fc4;},'cTjgH':_0x5c2b5b(0xef),'seSuW':_0x5c2b5b(0xda)};if(!this[_0x5c2b5b(0x119)]||!_0x2c8bef)return!![];try{const _0x43e79b=redisClient[_0x5c2b5b(0xfe)](),_0x2119fa='\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',_0x8e04cb=await _0x43e79b['eval'](_0x2119fa,0x1,_0x2c8bef,_0x1ec7db,_0x54569e||this['defaultTTL']);if(_0x53bfb4[_0x5c2b5b(0xf5)](_0x8e04cb,0x1))return logger['debug']({'event':'lock_extended','key':_0x2c8bef,'ttl':_0x54569e||this['defaultTTL']},_0x53bfb4['cTjgH']),!![];return![];}catch(_0x3f798f){return logger['error']({'event':'lock_extend_error','key':_0x2c8bef,'error':_0x3f798f[_0x5c2b5b(0x113)]},_0x53bfb4['seSuW']),![];}}[a0_0x5b31f6(0xe1)](){return this['enabled'];}['sleep'](_0xe294db){return new Promise(_0x6f2180=>setTimeout(_0x6f2180,_0xe294db));}async['getLockInfo'](_0x309e4d){const _0x38cf04=a0_0x5b31f6,_0x2fb31f={'OIsZU':'read','yyYjT':function(_0x50e1a5,_0x1872ab){return _0x50e1a5||_0x1872ab;},'UiSwk':function(_0x4f6848,_0x53ce54){return _0x4f6848(_0x53ce54);}};if(!this[_0x38cf04(0x119)])return{'enabled':![]};try{const _0x3a8ba0=redisClient['getClient'](),_0x4d693f=this[_0x38cf04(0xf8)]({..._0x309e4d,'lockType':_0x38cf04(0xe7)}),_0x427508=this['buildLockKey']({..._0x309e4d,'lockType':_0x2fb31f['OIsZU']}),[_0x5847cc,_0x12cb49]=await Promise['all']([_0x3a8ba0['get'](_0x4d693f),_0x3a8ba0['get'](_0x427508)]);return{'enabled':!![],'writeLock':_0x2fb31f['yyYjT'](_0x5847cc,null),'readCount':_0x2fb31f[_0x38cf04(0x110)](parseInt,_0x12cb49)||0x0,'writeKey':_0x4d693f,'readKey':_0x427508};}catch(_0x4aaed6){return{'enabled':!![],'error':_0x4aaed6[_0x38cf04(0x113)]};}}}function a0_0x2341(_0x272823,_0x1d792c){_0x272823=_0x272823-0xda;const _0xe44b9f=a0_0xe44b();let _0x234165=_0xe44b9f[_0x272823];if(a0_0x2341['nXsOZP']===undefined){var _0x51a4c0=function(_0x1a6fce){const _0x2069af='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x333176='',_0x5875e1='';for(let _0x246dbb=0x0,_0x177aff,_0xd7d1e9,_0x10e9b0=0x0;_0xd7d1e9=_0x1a6fce['charAt'](_0x10e9b0++);~_0xd7d1e9&&(_0x177aff=_0x246dbb%0x4?_0x177aff*0x40+_0xd7d1e9:_0xd7d1e9,_0x246dbb++%0x4)?_0x333176+=String['fromCharCode'](0xff&_0x177aff>>(-0x2*_0x246dbb&0x6)):0x0){_0xd7d1e9=_0x2069af['indexOf'](_0xd7d1e9);}for(let _0x28daab=0x0,_0x53707f=_0x333176['length'];_0x28daab<_0x53707f;_0x28daab++){_0x5875e1+='%'+('00'+_0x333176['charCodeAt'](_0x28daab)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5875e1);};a0_0x2341['MboTHC']=_0x51a4c0,a0_0x2341['DfvnoW']={},a0_0x2341['nXsOZP']=!![];}const _0xe4b395=_0xe44b9f[0x0],_0xee45f7=_0x272823+_0xe4b395,_0x23e82e=a0_0x2341['DfvnoW'][_0xee45f7];return!_0x23e82e?(_0x234165=a0_0x2341['MboTHC'](_0x234165),a0_0x2341['DfvnoW'][_0xee45f7]=_0x234165):_0x234165=_0x23e82e,_0x234165;}module['exports']=new LockManager();
|
package/src/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x3cd68b=a0_0x451c;(function(_0x18d3b2,_0x1766fd){const _0x4bf625=a0_0x451c,_0x3d70e3=_0x18d3b2();while(!![]){try{const _0x3b3bd3=-parseInt(_0x4bf625(0x230))/0x1*(parseInt(_0x4bf625(0x1bb))/0x2)+parseInt(_0x4bf625(0x1c4))/0x3*(-parseInt(_0x4bf625(0x1d3))/0x4)+parseInt(_0x4bf625(0x1f5))/0x5+parseInt(_0x4bf625(0x1a7))/0x6*(-parseInt(_0x4bf625(0x248))/0x7)+-parseInt(_0x4bf625(0x20b))/0x8*(-parseInt(_0x4bf625(0x1e0))/0x9)+-parseInt(_0x4bf625(0x247))/0xa*(-parseInt(_0x4bf625(0x1d7))/0xb)+parseInt(_0x4bf625(0x20a))/0xc*(-parseInt(_0x4bf625(0x259))/0xd);if(_0x3b3bd3===_0x1766fd)break;else _0x3d70e3['push'](_0x3d70e3['shift']());}catch(_0xaec2b4){_0x3d70e3['push'](_0x3d70e3['shift']());}}}(a0_0x3324,0xad568));function a0_0x451c(_0x448a18,_0xeebc9){_0x448a18=_0x448a18-0x1a7;const _0x33242f=a0_0x3324();let _0x451ccb=_0x33242f[_0x448a18];if(a0_0x451c['FDWnmj']===undefined){var _0xddbfa2=function(_0x34bfbc){const _0xf6cb8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2064c8='',_0x27b5aa='';for(let _0x5d186e=0x0,_0x33c4e6,_0x1cecbe,_0x20a7be=0x0;_0x1cecbe=_0x34bfbc['charAt'](_0x20a7be++);~_0x1cecbe&&(_0x33c4e6=_0x5d186e%0x4?_0x33c4e6*0x40+_0x1cecbe:_0x1cecbe,_0x5d186e++%0x4)?_0x2064c8+=String['fromCharCode'](0xff&_0x33c4e6>>(-0x2*_0x5d186e&0x6)):0x0){_0x1cecbe=_0xf6cb8['indexOf'](_0x1cecbe);}for(let _0x730def=0x0,_0x3b3f3c=_0x2064c8['length'];_0x730def<_0x3b3f3c;_0x730def++){_0x27b5aa+='%'+('00'+_0x2064c8['charCodeAt'](_0x730def)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x27b5aa);};a0_0x451c['mDrWwi']=_0xddbfa2,a0_0x451c['qgnaXf']={},a0_0x451c['FDWnmj']=!![];}const _0x1f7b19=_0x33242f[0x0],_0x16e690=_0x448a18+_0x1f7b19,_0x46017a=a0_0x451c['qgnaXf'][_0x16e690];return!_0x46017a?(_0x451ccb=a0_0x451c['mDrWwi'](_0x451ccb),a0_0x451c['qgnaXf'][_0x16e690]=_0x451ccb):_0x451ccb=_0x46017a,_0x451ccb;}const pino=require(a0_0x3cd68b(0x1f2)),fs=require('fs'),path=require(a0_0x3cd68b(0x1e9));function a0_0x3324(){const _0xe045dd=['Cgf0Aa','Aw5JBhvKzxm','CgfYyw1Z','ifTtte9xxq','CgLK','rgvMyxvSDa','D2fYBG','icbjBMzVoIaGia','y3jLzgvUDgLHBa','CgLUBW','s3vYq24','vfjbtLnbq1rjt05FqKvhsu4','ntK5mZG2nu5wAvb1AG','zxHWB3j0CW','uvrcBwq','ChjVzhvJDgLVBG','rejFueftu1DpuKq','Dg9Rzw4','zgvMyxvSDa','zgf0ywjHC2u','zgjFDhjHBNnHy3rPB24','ms4WlJu','z0HOyuO','CMvWBgfJzq','CMvMCMvZAf90B2TLBG','DgvZDa','C2vJCMv0','Bwf0y2G','Dg9vChbLCKnHC2u','Ec1Yzxf1zxn0lwLK','rKrhufq','C3vIC3rYAw5N','sfruuca','mZm2yM1Mtu5P','ntG4odi0vvzgBMrr','BgvUz3rO','AhnUExu','Ahj0Aw1L','ChjVy2vZC193yxjUAw5N','B2jQzwn0','tKPQC0i','CgLU','AgvHzgvYCW','Dg9ju09tDhjPBMC','vhrRD1m','C3rKvgLTzuz1BMn0Aw9UCW','CgfZC3DVCMq','rermx0rst1a','CgfKrw5K','zxHPC3rZu3LUyW','qunusvzf','q0Xvshy','zw52','zgf0ywjHC2vFy29UzMLN','yLfYzu4','ic0G','EuzlBKm','quXurvi','y29Kzq','Bwv0Ag9K','q1jjveLdquW','A0zzzxC','BwvZC2fNzq','zgv2zwXVCg1LBNq','te9hx0rjuG','ChjVAMvJDa','BNrUz0m','revmrvrf','AxntBg93','ChDK','zNHUyuS','nteZntvJtfLOC0m','ChjPDMf0zv9RzxK','Aw5MBW','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','vvbeqvrf','BMfTzq','DxnLCG','te9hx0XfvKvm','C3rYAw5N','E21Zz30','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','CxPqAhC','Dw5Oyw5KBgvKuMvQzwn0Aw9U','C2vYDMvYx3n0yxj0Aw5N','ANnVBG','tK9erv9ftLy','weDevKC','qvPSBw4','yxbPA2v5','C3rYAw5NAwz5','A2v5CW','EezWA1O','C3rHCNrZv2L0Aa','mtaWmJCWruPNDhDx','mta2mJm5ter1wKnq','w09lxsbqCM9Qzwn0igXVywrLzdOG','vLLVr1i','C29Tzq','iokvKqRILzeGienVBMzPzYaGicaGidOG','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','ufbNrMK','Dhj1zq','CgLUBY1WCMv0DhK','Cg9ZDgDYzxnXBa','C3rKu2vYAwfSAxPLCNm','Cg9YDa','tI9b','icbizwfSDgG6ia','ig9UihbVCNqG','yxv0Ag9YAxPHDgLVBG','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','mZm0mdiYz1fSEwHi','DLvqv1u','AwDYtfu','yMfZzvvYBa','C2vYDMLJzuLUzM8','v3PfBe0','y29UzMLNrMLSzq','s0XxD2u','ndm4shz1uNbK','q3Ljqva','sw50zxjUywWGC2vYDMvYigvYCM9Y','y3z2','vu5ltK9xtG','CxvLCNK','y3jLyxrLv3jPDgvtDhjLyw0','AM9PBG','zMf0ywW','w1jfrefdvevexq','DKLvue4','CMvWzwf0','u1fmx0Xpr19mrvzfta','veH0qxu','su5trvju','te9hx1rpx0zjteu','rgf0ywjHC2u6ia','u1fmx0Xpr19qqvjbtvm','A0DQuKy','w1jfrefdveveoNrVA2vUxq','mKP2qKXwqq','v0jluMG','C3rHDhvZq29Kzq','w1jfrefdveveoMHHC2HD','CMvZDgzVCMDL','whPUrLy','zgvIDwC','zKHmENC','tLvNA00','mZiXotiXBhLQs1z6','BxmP','EKLXzhC','sLDux1nfq1jfva','zxjYB3i','C3bSAxq','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','ChjPDMf0zwTLEq','EezOzue','CgfZC3DK','yxbWlMXVzW','y0DeDw4','AKHirNG','Dg9mB3DLCKnHC2u','CMvTB3rLqwrKCMvZCW','mtj3CgXotuK','r0rkEgG','yxbPs2v5','zw5KCg9PBNrFCMvNAxn0zxjLza','mtiZmKT5wKjQsW','zvPmB3u','zxjYB3iUBg9N','yMPSrxG','C3rHDhvZ','tK9uiefdveLwrq','yM9KEq','rvPzBNi','C3rHy2S','nZjYB0zZq24','rKfuquW6ia','D3jPDgu','iokvKqRILzeGifbYB2PLy3qGicaGidOG','rwfcCxq','y3jLzgL0y2fYza','vuzkq1C','DhjPBq','rxjYB3i'];a0_0x3324=function(){return _0xe045dd;};return a0_0x3324();}let logToFile=![],logDir='./logs',serviceName=a0_0x3cd68b(0x1bf),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':a0_0x3cd68b(0x239),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env'][a0_0x3cd68b(0x23f)]!==a0_0x3cd68b(0x1f8),logLevel=process[a0_0x3cd68b(0x21d)][a0_0x3cd68b(0x237)]||a0_0x3cd68b(0x232);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x3cd68b(0x250),'options':prettyPrintOptions}:undefined,'base':{'service':a0_0x3cd68b(0x1bf),'version':process['env']['APP_VERSION']||a0_0x3cd68b(0x1fe),'env':process[a0_0x3cd68b(0x21d)][a0_0x3cd68b(0x23f)]||a0_0x3cd68b(0x228)},'timestamp':pino[a0_0x3cd68b(0x216)]['isoTime'],'redact':{'paths':['req.headers.authorization','req.headers[\x22x-api-key\x22]','password',a0_0x3cd68b(0x1fa),a0_0x3cd68b(0x1d5),a0_0x3cd68b(0x1f9),a0_0x3cd68b(0x1c7)],'censor':'[REDACTED]'},'serializers':{'req':_0x2873df=>({'id':_0x2873df['id'],'method':_0x2873df[a0_0x3cd68b(0x224)],'url':_0x2873df['url'],'path':_0x2873df[a0_0x3cd68b(0x1e9)],'remoteAddress':_0x2873df['ip']||_0x2873df['connection']?.['remoteAddress']}),'res':_0x4a1f11=>({'statusCode':_0x4a1f11[a0_0x3cd68b(0x1bd)],'headers':_0x4a1f11['getHeaders']?.()}),'err':pino[a0_0x3cd68b(0x252)]['err']}});function initFileLogging(){const _0x50c008=a0_0x3cd68b,_0x12875b={'EZYnr':function(_0x2852e2,_0x12c9da){return _0x2852e2===_0x12c9da;},'hfsRX':_0x50c008(0x1fb),'GDJxh':function(_0x3d2eb2,_0x18cad8){return _0x3d2eb2===_0x18cad8;},'TtkwS':'true','CyIAP':_0x50c008(0x1c1),'cGDun':function(_0x4bce41,_0x58ddc1){return _0x4bce41!==_0x58ddc1;},'fxnaK':'false','nPumj':function(_0x9e379c,_0x503576){return _0x9e379c(_0x503576);},'DrWUT':'error.log','zIqdw':'file_logging_enabled','bjlEx':_0x50c008(0x232)};if(fileLoggingInitialized)return;logToFile=_0x12875b[_0x50c008(0x1de)](process['env'][_0x50c008(0x1b6)],_0x50c008(0x24f));const _0x3890b8=process[_0x50c008(0x21d)][_0x50c008(0x23a)]||_0x12875b['hfsRX'];logDir=process['env'][_0x50c008(0x229)]||'./logs/'+_0x3890b8,serviceName=process[_0x50c008(0x21d)]['SERVICE_NAME']||_0x50c008(0x1bf),sqlLogEnabled=_0x12875b[_0x50c008(0x1d4)](process['env']['SQL_LOG_ENABLED'],_0x12875b[_0x50c008(0x215)]),sqlLogLevel=process['env'][_0x50c008(0x1b3)]||_0x12875b[_0x50c008(0x1a8)],sqlLogParams=_0x12875b[_0x50c008(0x1cf)](process[_0x50c008(0x21d)][_0x50c008(0x1b8)],_0x12875b[_0x50c008(0x22f)]),sqlLogSlowThreshold=_0x12875b['nPumj'](parseInt,process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x525653=path['resolve'](process['cwd'](),logDir);try{!fs[_0x50c008(0x21a)](_0x525653)&&fs['mkdirSync'](_0x525653,{'recursive':!![]});}catch(_0xe10083){console['error'](_0x50c008(0x258)+_0x525653+':',_0xe10083['message']),fileLoggingInitialized=!![];return;}const _0x2b90b8=path[_0x50c008(0x1ae)](_0x525653,'app.log'),_0x2edca9=path[_0x50c008(0x1ae)](_0x525653,_0x12875b['DrWUT']);try{appLogStream=fs['createWriteStream'](_0x2b90b8,{'flags':'a'}),errorLogStream=fs[_0x50c008(0x1ad)](_0x2edca9,{'flags':'a'}),fileLoggingInitialized=!![];const _0x22dbaa={'event':_0x12875b[_0x50c008(0x1c6)],'logDir':_0x525653,'files':[_0x50c008(0x1ce),_0x50c008(0x1d9)]},_0x17b75c='File\x20logging\x20enabled:\x20'+_0x525653;logger['info'](_0x22dbaa,_0x17b75c),writeToFileLog({..._0x22dbaa,'level':_0x12875b[_0x50c008(0x1da)],'msg':_0x17b75c,'time':new Date()[_0x50c008(0x214)]()},_0x12875b['bjlEx']);}catch(_0x8c1ad2){console[_0x50c008(0x1c8)](_0x50c008(0x233),_0x8c1ad2['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x597cfa,_0x845e0b){const _0x2e64de=a0_0x3cd68b,_0x2712ae={'gHhaJ':function(_0x5a9af2,_0x4099a9){return _0x5a9af2===_0x4099a9;},'cHqls':'error'};if(!logToFile||!appLogStream)return;const _0x470f0e={'service':serviceName,..._0x597cfa},_0x381711=JSON[_0x2e64de(0x243)](_0x470f0e)+'\x0a';appLogStream[_0x2e64de(0x1e2)](_0x381711),(_0x2712ae['gHhaJ'](_0x845e0b,_0x2712ae['cHqls'])||_0x2712ae[_0x2e64de(0x1ff)](_0x845e0b,_0x2e64de(0x1af)))&&(errorLogStream&&errorLogStream['write'](_0x381711));}const createRequestLogger=(_0x15aada={})=>{return logger['child'](_0x15aada);},logServerStart=_0x2248f9=>{const _0x52e000=a0_0x3cd68b,_0x965759={'VbRMD':function(_0x2c5185,_0x471e92){return _0x2c5185-_0x471e92;},'xFpkZ':function(_0xc6010b,_0x4339ff){return _0xc6010b/_0x4339ff;},'fHLzw':'Node.js','zXBsw':_0x52e000(0x254),'QTBmd':function(_0x16e293,_0x4b16e6,_0x237115){return _0x16e293(_0x4b16e6,_0x237115);},'jHHFx':_0x52e000(0x232)},_0x55010f='RESTFORGE\x20RUNTIME\x20SERVER',_0x330c1c=Math['max'](0x0,_0x965759['VbRMD'](0x37,_0x55010f[_0x52e000(0x20c)])),_0x424e18=Math['floor'](_0x965759[_0x52e000(0x245)](_0x330c1c,0x2)),_0x1f689f=_0x330c1c-_0x424e18,_0x40366a='║'+'\x20'[_0x52e000(0x1b2)](_0x424e18)+_0x55010f+'\x20'['repeat'](_0x1f689f)+'║',_0x48638b=_0x52e000(0x1ca)+_0x40366a+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x2248f9['environment']||_0x965759[_0x52e000(0x1c2)])['padEnd'](0x26)+_0x52e000(0x1e3)+(_0x2248f9['project']||_0x965759['zXBsw'])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x2248f9['port']||0xbb8)['padEnd'](0x26)+_0x52e000(0x24c)+(_0x2248f9['configFile']||_0x52e000(0x1ee))[_0x52e000(0x219)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x2248f9[_0x52e000(0x1d5)]?_0x52e000(0x21b):_0x52e000(0x1dc))['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x48638b);const _0x530f8a={'event':_0x52e000(0x23d),'project':_0x2248f9[_0x52e000(0x22a)],'port':_0x2248f9[_0x52e000(0x253)],'config':_0x2248f9[_0x52e000(0x25f)],'apiKeyEnabled':!!_0x2248f9[_0x52e000(0x1d5)]};logger['info'](_0x530f8a),_0x965759[_0x52e000(0x1f7)](writeToFileLog,{..._0x530f8a,'level':_0x52e000(0x232),'msg':'Server\x20starting:\x20'+_0x2248f9['project']+_0x52e000(0x256)+_0x2248f9['port'],'time':new Date()['toISOString']()},_0x965759[_0x52e000(0x1d0)]);},logServerReady=_0x1b5032=>{const _0x1fe81c=a0_0x3cd68b,_0x5871f6={'xEgcY':_0x1fe81c(0x232)},_0x20a1b8={'event':'server_ready','port':_0x1b5032[_0x1fe81c(0x253)],'module':_0x1b5032['module'],'healthCheck':_0x1b5032['healthCheck'],'serviceInfo':_0x1b5032[_0x1fe81c(0x25d)],'baseUrl':_0x1b5032[_0x1fe81c(0x25c)]},_0x39ed37=_0x1fe81c(0x24d)+_0x1b5032[_0x1fe81c(0x253)];logger[_0x1fe81c(0x232)](_0x20a1b8,_0x39ed37),writeToFileLog({..._0x20a1b8,'level':'info','msg':_0x39ed37,'time':new Date()[_0x1fe81c(0x214)]()},_0x5871f6['xEgcY']),_0x1b5032['healthCheck']&&logger['info'](_0x1fe81c(0x255)+_0x1b5032['healthCheck']),_0x1b5032['serviceInfo']&&logger[_0x1fe81c(0x232)](_0x1fe81c(0x1f0)+_0x1b5032['serviceInfo']),_0x1b5032['baseUrl']&&logger[_0x1fe81c(0x232)]('\x20\x20URL:\x20\x20\x20\x20'+_0x1b5032['baseUrl']);},logProjectLoaded=(_0x14f2dd,_0x41a6cb)=>{const _0x3adfb4=a0_0x3cd68b,_0x581709={'kBSeN':'project_loaded','bBOMN':'info'},_0x59e255={'event':_0x581709['kBSeN'],'project':_0x14f2dd,'path':_0x41a6cb},_0x397043=_0x3adfb4(0x249)+_0x14f2dd;logger[_0x3adfb4(0x232)](_0x59e255,_0x397043),writeToFileLog({..._0x59e255,'level':_0x581709['bBOMN'],'msg':_0x397043,'time':new Date()[_0x3adfb4(0x214)]()},'info');},logEndpointRegistered=(_0x8f36d3,_0x110011)=>{const _0x528dd8=a0_0x3cd68b,_0x5da945={'eZLou':_0x528dd8(0x1c1)},_0x3866d1={'event':_0x528dd8(0x1d6),'endpoint':_0x8f36d3,'route':_0x110011},_0x4c5b82='\x20\x20→\x20'+_0x8f36d3+':\x20'+_0x110011;logger['debug'](_0x3866d1,_0x4c5b82),writeToFileLog({..._0x3866d1,'level':_0x5da945['eZLou'],'msg':_0x4c5b82,'time':new Date()[_0x528dd8(0x214)]()},_0x5da945[_0x528dd8(0x1d8)]);},logDatabaseConfig=_0x2c3522=>{const _0x3390a3=a0_0x3cd68b,_0x811332={'event':_0x3390a3(0x21e),'host':_0x2c3522['host'],'port':_0x2c3522['port'],'database':_0x2c3522[_0x3390a3(0x1fc)],'type':_0x2c3522['type'],'user':_0x2c3522[_0x3390a3(0x236)]},_0x7a4640=_0x3390a3(0x1b7)+_0x2c3522['type']+'://'+_0x2c3522['host']+':'+_0x2c3522[_0x3390a3(0x253)]+'/'+_0x2c3522[_0x3390a3(0x1fc)];logger[_0x3390a3(0x1c1)](_0x811332,_0x7a4640),writeToFileLog({..._0x811332,'level':'debug','msg':_0x7a4640,'time':new Date()[_0x3390a3(0x214)]()},'debug');},logRequest=(_0x26c4f8,_0x27d40d,_0x429d21)=>{const _0x45ef90=a0_0x3cd68b,_0x43678f={'VNmAe':'http_request','THtAu':function(_0x32bb11,_0x342df2){return _0x32bb11>=_0x342df2;}},_0x3c2ecd={'event':_0x43678f['VNmAe'],'method':_0x26c4f8['method'],'path':_0x26c4f8['path'],'statusCode':_0x27d40d['statusCode'],'durationMs':_0x429d21,'ip':_0x26c4f8['ip']},_0x1adf67=_0x26c4f8['method']+'\x20'+_0x26c4f8['path']+_0x45ef90(0x220)+_0x27d40d['statusCode']+'\x20('+_0x429d21+_0x45ef90(0x1c5);let _0x43e339=_0x45ef90(0x232);if(_0x27d40d[_0x45ef90(0x1bd)]>=0x1f4)_0x43e339='error',logger['error'](_0x3c2ecd,_0x1adf67);else _0x43678f[_0x45ef90(0x1b4)](_0x27d40d['statusCode'],0x190)?(_0x43e339=_0x45ef90(0x1ef),logger['warn'](_0x3c2ecd,_0x1adf67)):logger['info'](_0x3c2ecd,_0x1adf67);writeToFileLog({..._0x3c2ecd,'level':_0x43e339,'msg':_0x1adf67,'time':new Date()[_0x45ef90(0x214)]()},_0x43e339);},SENSITIVE_PARAM_PATTERNS=[a0_0x3cd68b(0x217),'passwd',a0_0x3cd68b(0x22e),a0_0x3cd68b(0x1fa),'access_token','refresh_token',a0_0x3cd68b(0x203),'api_secret',a0_0x3cd68b(0x242),'api_key',a0_0x3cd68b(0x1f1),'credentials',a0_0x3cd68b(0x212),'otp','private_key',a0_0x3cd68b(0x1cb)],redactSensitiveParams=(_0x4700c9,_0x408f86)=>{const _0x18c8ee=a0_0x3cd68b,_0x3e3518={'CLUHv':_0x18c8ee(0x1ba)};if(!_0x4700c9||_0x4700c9['length']===0x0)return _0x4700c9;const _0x428b41=_0x408f86['toLowerCase'](),_0x594ba8=_0x428b41['match'](/\(([^)]+)\)\s*values/i);let _0x28dfb5=[];_0x594ba8&&(_0x28dfb5=_0x594ba8[0x1][_0x18c8ee(0x1c9)](',')['map'](_0x54219c=>_0x54219c['trim']()['toLowerCase']()));const _0x13f2a7=_0x428b41[_0x18c8ee(0x204)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x13f2a7){const _0x5e8b8d=_0x13f2a7[0x1],_0x56b9ee=_0x5e8b8d[_0x18c8ee(0x204)](/(\w+)\s*=/g);_0x56b9ee&&(_0x28dfb5=_0x56b9ee['map'](_0x227022=>_0x227022[_0x18c8ee(0x200)](/\s*=/,'')['trim']()[_0x18c8ee(0x1d1)]()));}return _0x4700c9['map']((_0x11a899,_0x4c5731)=>{const _0x8a5970=_0x18c8ee;if(_0x28dfb5[_0x4c5731]){const _0x3eeaab=_0x28dfb5[_0x4c5731],_0x5e19fb=SENSITIVE_PARAM_PATTERNS['some'](_0x1ea907=>_0x3eeaab[_0x8a5970(0x1ea)](_0x1ea907));if(_0x5e19fb)return _0x8a5970(0x1b0);}if(typeof _0x11a899===_0x8a5970(0x238)&&_0x11a899['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x8a5970(0x202)](_0x11a899)&&_0x11a899['includes']('.'))return _0x3e3518[_0x8a5970(0x21c)];if(/^[a-fA-F0-9]{32,}$/[_0x8a5970(0x202)](_0x11a899))return _0x8a5970(0x1be);}return _0x11a899;});},parseQueryMetadata=_0x148ed8=>{const _0x40e6c7=a0_0x3cd68b,_0x2a1669={'wTHJc':_0x40e6c7(0x1ab),'EaBqt':'SELECT','WzElM':_0x40e6c7(0x1b5),'UFJCW':'BEGIN','FDGPT':_0x40e6c7(0x1f4),'vIUPN':'TRANSACTION_ROLLBACK','qzPhw':_0x40e6c7(0x222),'TlnmA':'DROP','bKcqo':_0x40e6c7(0x218)},_0x1362e4=_0x148ed8[_0x40e6c7(0x1e7)](),_0x2e730b=_0x1362e4['toUpperCase']();let _0x4a74e2=_0x2a1669['wTHJc'],_0x1cfadc=null;if(_0x2e730b['startsWith'](_0x2a1669[_0x40e6c7(0x1e4)])){_0x4a74e2=_0x2a1669['EaBqt'];const _0xe33955=_0x1362e4[_0x40e6c7(0x204)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1cfadc=_0xe33955?_0xe33955[0x1]:null;}else{if(_0x2e730b['startsWith'](_0x2a1669[_0x40e6c7(0x25e)])){_0x4a74e2=_0x2a1669['WzElM'];const _0x575322=_0x1362e4['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1cfadc=_0x575322?_0x575322[0x1]:null;}else{if(_0x2e730b[_0x40e6c7(0x246)](_0x40e6c7(0x234))){_0x4a74e2='UPDATE';const _0x2c7b93=_0x1362e4['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1cfadc=_0x2c7b93?_0x2c7b93[0x1]:null;}else{if(_0x2e730b[_0x40e6c7(0x246)]('DELETE')){_0x4a74e2=_0x40e6c7(0x22c);const _0x5383be=_0x1362e4['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1cfadc=_0x5383be?_0x5383be[0x1]:null;}else{if(_0x2e730b['startsWith'](_0x2a1669[_0x40e6c7(0x1e6)])||_0x2e730b[_0x40e6c7(0x246)]('START\x20TRANSACTION'))_0x4a74e2=_0x2a1669[_0x40e6c7(0x207)];else{if(_0x2e730b['startsWith']('COMMIT'))_0x4a74e2='TRANSACTION_COMMIT';else{if(_0x2e730b['startsWith']('ROLLBACK'))_0x4a74e2=_0x2a1669[_0x40e6c7(0x1b1)];else{if(_0x2e730b['startsWith']('CREATE'))_0x4a74e2='DDL_CREATE';else{if(_0x2e730b[_0x40e6c7(0x246)](_0x2a1669[_0x40e6c7(0x23b)]))_0x4a74e2='DDL_ALTER';else _0x2e730b['startsWith'](_0x2a1669['TlnmA'])&&(_0x4a74e2=_0x2a1669['bKcqo']);}}}}}}}}return{'type':_0x4a74e2,'table':_0x1cfadc};},startQueryTimer=()=>{const _0x2b9151=a0_0x3cd68b,_0x29035e={'igrLU':function(_0x317d9b,_0x1b3416){return _0x317d9b(_0x1b3416);},'XznFV':function(_0x34da8a,_0x2ba491){return _0x34da8a/_0x2ba491;}},_0x4ec1dd=process[_0x2b9151(0x20e)]();return()=>{const _0x3ed030=_0x2b9151,[_0x12bf7d,_0x57bae3]=process[_0x3ed030(0x20e)](_0x4ec1dd);return _0x29035e[_0x3ed030(0x25b)](parseFloat,(_0x12bf7d*0x3e8+_0x29035e[_0x3ed030(0x1c0)](_0x57bae3,0xf4240))['toFixed'](0x2));};},logQuery=(_0x2c26b5,_0x476e48=[],_0x1432db={})=>{const _0x3ea501=a0_0x3cd68b,_0x5cf3eb={'bQreN':'db_query','PPgFi':function(_0x4516e7,_0x2de93a){return _0x4516e7>_0x2de93a;},'kPosV':function(_0x4b3291,_0x2bc557,_0x415487){return _0x4b3291(_0x2bc557,_0x415487);},'WBKRh':function(_0x389fef,_0x52c9ac){return _0x389fef!==_0x52c9ac;},'XGDVG':_0x3ea501(0x1ec),'kFYew':'warn','Fwujd':function(_0xbd5957,_0x59b332){return _0xbd5957===_0x59b332;}};if(!sqlLogEnabled){logger['debug']({'event':_0x5cf3eb[_0x3ea501(0x21f)],'query':_0x2c26b5[_0x3ea501(0x208)](0x0,0xc8),'paramCount':_0x476e48[_0x3ea501(0x20c)]},'DB\x20Query');return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x3ea501(0x251)}=_0x1432db,{type:_0x146edf,table:_0x1833be}=parseQueryMetadata(_0x2c26b5),_0x10658f={'event':'sql_query','queryType':_0x146edf,'table':_0x1833be,'query':_0x2c26b5,'paramCount':_0x476e48[_0x3ea501(0x20c)],'dbType':dbType};sqlLogParams&&_0x5cf3eb[_0x3ea501(0x24e)](_0x476e48['length'],0x0)&&(_0x10658f[_0x3ea501(0x1eb)]=_0x5cf3eb['kPosV'](redactSensitiveParams,_0x476e48,_0x2c26b5));duration!==null&&(_0x10658f['durationMs']=duration,_0x10658f[_0x3ea501(0x22d)]=_0x5cf3eb[_0x3ea501(0x24e)](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x10658f['rowsAffected']=rowsAffected);const _0x17ef74=_0x1833be||'unknown';let _0x489858='['+_0x146edf+']\x20'+_0x17ef74;_0x5cf3eb[_0x3ea501(0x1bc)](duration,null)&&(_0x489858+='\x20('+duration+_0x3ea501(0x1c5));const _0x598e38=_0x5cf3eb[_0x3ea501(0x1bc)](duration,null)&&duration>sqlLogSlowThreshold;let _0x45137e='debug';if(_0x598e38)_0x489858+=_0x5cf3eb[_0x3ea501(0x240)],_0x45137e=_0x5cf3eb[_0x3ea501(0x226)],logger[_0x3ea501(0x1ef)](_0x10658f,_0x489858);else _0x5cf3eb['Fwujd'](sqlLogLevel,_0x3ea501(0x232))?(_0x45137e='info',logger['info'](_0x10658f,_0x489858)):logger[_0x3ea501(0x1c1)](_0x10658f,_0x489858);_0x5cf3eb['kPosV'](writeToFileLog,{..._0x10658f,'level':_0x45137e,'msg':_0x489858,'time':new Date()['toISOString']()},_0x45137e);},logTransaction=(_0x2e69da,_0x128d8d)=>{const _0x482c25=a0_0x3cd68b,_0xaff238={'yFKnC':function(_0xb38885,_0x31c35e,_0x550204){return _0xb38885(_0x31c35e,_0x550204);},'cmfUw':_0x482c25(0x1c1)},_0xdc6e6b={'event':_0x482c25(0x1fd),'status':_0x2e69da,'queryCount':_0x128d8d},_0x19ca80='Transaction\x20'+_0x2e69da;logger[_0x482c25(0x1c1)](_0xdc6e6b,_0x19ca80),_0xaff238[_0x482c25(0x221)](writeToFileLog,{..._0xdc6e6b,'level':_0xaff238['cmfUw'],'msg':_0x19ca80,'time':new Date()[_0x482c25(0x214)]()},_0x482c25(0x1c1));},redactObject=_0x297575=>{const _0x2e4e5c=a0_0x3cd68b,_0x4b9c20={'KurCn':_0x2e4e5c(0x210),'gWVrd':'password','ipepy':_0x2e4e5c(0x1fa),'fSptg':_0x2e4e5c(0x203),'NUgkM':'apikey','ntngC':_0x2e4e5c(0x1e5),'NJjsB':'credit_card','kGjRF':_0x2e4e5c(0x1aa),'moGey':'ssn','yVgjw':'access_token','NvrTM':function(_0x277d1d,_0x741f65){return _0x277d1d===_0x741f65;},'xFheA':function(_0x55741b,_0x31a675){return _0x55741b(_0x31a675);}};if(!_0x297575||typeof _0x297575!==_0x4b9c20['KurCn'])return _0x297575;const _0x102d0b=[_0x4b9c20['gWVrd'],_0x2e4e5c(0x1cd),'pwd',_0x4b9c20['ipepy'],_0x4b9c20['fSptg'],_0x4b9c20[_0x2e4e5c(0x1c3)],'api_key',_0x2e4e5c(0x257),_0x4b9c20[_0x2e4e5c(0x22b)],_0x4b9c20[_0x2e4e5c(0x211)],_0x4b9c20[_0x2e4e5c(0x1b9)],_0x4b9c20['moGey'],'pin',_0x2e4e5c(0x231),'privatekey',_0x2e4e5c(0x201),_0x4b9c20['yVgjw']],_0x581397=Array['isArray'](_0x297575)?[..._0x297575]:{..._0x297575};for(const _0x33ea9 of Object[_0x2e4e5c(0x244)](_0x581397)){const _0x1dad2f=_0x33ea9['toLowerCase']();if(_0x102d0b[_0x2e4e5c(0x24b)](_0x3755c3=>_0x1dad2f[_0x2e4e5c(0x1ea)](_0x3755c3)))_0x581397[_0x33ea9]=_0x2e4e5c(0x1b0);else _0x4b9c20['NvrTM'](typeof _0x581397[_0x33ea9],_0x4b9c20[_0x2e4e5c(0x1f3)])&&_0x581397[_0x33ea9]!==null&&(_0x581397[_0x33ea9]=_0x4b9c20[_0x2e4e5c(0x1cc)](redactObject,_0x581397[_0x33ea9]));}return _0x581397;},logError=(_0x5e5900,_0xd4c74f={},_0x46ec67=null)=>{const _0x1f398b=a0_0x3cd68b,_0x347259={'jBcEY':'Error','hsnyu':'error'},_0x15a068={'event':'error','errorName':_0x5e5900[_0x1f398b(0x235)]||_0x347259['jBcEY'],'errorMessage':_0x5e5900['message'],'errorCode':_0x5e5900[_0x1f398b(0x223)]||null,'stack':_0x5e5900['stack'],..._0xd4c74f},_0x7d9bbe=_0x46ec67||'Error:\x20'+_0x5e5900[_0x1f398b(0x227)];logger[_0x1f398b(0x1c8)](_0x15a068,_0x7d9bbe),writeToFileLog({..._0x15a068,'level':_0x347259[_0x1f398b(0x20d)],'msg':_0x7d9bbe,'time':new Date()[_0x1f398b(0x214)]()},'error');},logFatalError=(_0x58f17e,_0x1c85f1={},_0x1d0e6e=null)=>{const _0x436615=a0_0x3cd68b,_0x34a261={'VYoGR':'fatal_error','KLWwe':'Error','OFsoD':'CRITICAL','RzuNk':function(_0x1728d6,_0x28a38a,_0x3ceeeb){return _0x1728d6(_0x28a38a,_0x3ceeeb);},'mmGQQ':_0x436615(0x1af)},_0x143da2={'event':_0x34a261[_0x436615(0x24a)],'errorName':_0x58f17e['name']||_0x34a261[_0x436615(0x260)],'errorMessage':_0x58f17e['message'],'errorCode':_0x58f17e['code']||null,'stack':_0x58f17e['stack'],'severity':_0x34a261['OFsoD'],..._0x1c85f1},_0x28d3de=_0x1d0e6e||_0x436615(0x1e1)+_0x58f17e[_0x436615(0x227)];logger['fatal'](_0x143da2,_0x28d3de),_0x34a261['RzuNk'](writeToFileLog,{..._0x143da2,'level':_0x34a261['mmGQQ'],'msg':_0x28d3de,'time':new Date()['toISOString']()},_0x436615(0x1c8));},logHttpError=(_0xc44db4,_0xbb0b,_0x717f6d={})=>{const _0x3c3d9a=a0_0x3cd68b,_0x7e3096={'HxSXD':_0x3c3d9a(0x1e8),'dnqcB':function(_0x5a1b37,_0x3d390f){return _0x5a1b37(_0x3d390f);},'uXZcy':function(_0x2d2e1d,_0xdab222,_0x228f7a){return _0x2d2e1d(_0xdab222,_0x228f7a);},'smxsL':function(_0x56f30b,_0x41a8a4){return _0x56f30b>=_0x41a8a4;},'vNOst':'error','fpMhk':'warn'},_0x20ea2e={'event':'http_error','errorName':_0xc44db4['name']||_0x7e3096['HxSXD'],'errorMessage':_0xc44db4[_0x3c3d9a(0x227)],'errorCode':_0xc44db4['code']||_0xc44db4[_0x3c3d9a(0x1bd)]||0x1f4,'stack':_0xc44db4[_0x3c3d9a(0x1df)],'method':_0xbb0b?.['method'],'url':_0xbb0b?.['url']||_0xbb0b?.['originalUrl'],'path':_0xbb0b?.[_0x3c3d9a(0x1e9)],'ip':_0xbb0b?.['ip']||_0xbb0b?.['connection']?.[_0x3c3d9a(0x1d2)],'userAgent':_0xbb0b?.['get']?.('user-agent'),'requestId':_0xbb0b?.['id']||_0xbb0b?.['headers']?.[_0x3c3d9a(0x206)],'body':_0xbb0b?.[_0x3c3d9a(0x1dd)]?_0x7e3096['dnqcB'](redactObject,_0xbb0b['body']):undefined,'query':_0xbb0b?.[_0x3c3d9a(0x1ac)],..._0x717f6d},_0x2423f4=_0xc44db4[_0x3c3d9a(0x1bd)]||_0xc44db4[_0x3c3d9a(0x1db)]||0x1f4,_0x22f8f7=_0x3c3d9a(0x209)+_0x2423f4+':\x20'+_0xc44db4['message'];_0x2423f4>=0x1f4?logger['error'](_0x20ea2e,_0x22f8f7):logger['warn'](_0x20ea2e,_0x22f8f7),_0x7e3096['uXZcy'](writeToFileLog,{..._0x20ea2e,'level':_0x7e3096['smxsL'](_0x2423f4,0x1f4)?_0x7e3096['vNOst']:_0x3c3d9a(0x1ef),'msg':_0x22f8f7,'time':new Date()[_0x3c3d9a(0x214)]()},_0x7e3096['smxsL'](_0x2423f4,0x1f4)?_0x7e3096['vNOst']:_0x7e3096['fpMhk']);},logUncaughtError=(_0x476892,_0x320b5b)=>{const _0x3242f3=a0_0x3cd68b,_0x13348d={'FjISY':function(_0x567067,_0x36df84){return _0x567067(_0x36df84);},'UZWWD':_0x3242f3(0x225),'kiSnF':function(_0x44af78,_0x2210da,_0x44e83b){return _0x44af78(_0x2210da,_0x44e83b);},'jrHMm':'fatal','dCItm':_0x3242f3(0x1c8)},_0x13389a={'event':_0x476892,'errorName':_0x320b5b?.[_0x3242f3(0x235)]||'Error','errorMessage':_0x320b5b?.[_0x3242f3(0x227)]||_0x13348d['FjISY'](String,_0x320b5b),'errorCode':_0x320b5b?.[_0x3242f3(0x223)]||null,'stack':_0x320b5b?.['stack'],'severity':_0x13348d['UZWWD'],'processId':process[_0x3242f3(0x1ed)],'memoryUsage':process['memoryUsage'](),'uptime':process['uptime']()},_0x1279dd='['+_0x476892[_0x3242f3(0x205)]()+']\x20'+(_0x320b5b?.[_0x3242f3(0x227)]||_0x320b5b);logger[_0x3242f3(0x1af)](_0x13389a,_0x1279dd),_0x13348d['kiSnF'](writeToFileLog,{..._0x13389a,'level':_0x13348d['jrHMm'],'msg':_0x1279dd,'time':new Date()['toISOString']()},_0x13348d['dCItm']);},setupGlobalErrorHandlers=()=>{const _0x4d0f56=a0_0x3cd68b,_0x94afc0={'AZlmn':'uncaughtException','vUPWU':function(_0x4fcc2b,_0x16e8ac,_0x5d52ee){return _0x4fcc2b(_0x16e8ac,_0x5d52ee);},'okqkP':function(_0x5cde78,_0x1760ef){return _0x5cde78 instanceof _0x1760ef;},'eGTSJ':function(_0x1e6164,_0x2afa26){return _0x1e6164(_0x2afa26);},'ZDgFI':'unhandledRejection','dTcdS':'warning','otvxr':'global_error_handlers_setup'};process['on']('uncaughtException',_0x437803=>{const _0x3135ac=a0_0x451c;logUncaughtError(_0x94afc0[_0x3135ac(0x241)],_0x437803),_0x94afc0[_0x3135ac(0x25a)](setTimeout,()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x94afc0['ZDgFI'],(_0x397889,_0x2a60cc)=>{const _0x5d19ec=a0_0x451c,_0x2528c6=_0x94afc0['okqkP'](_0x397889,Error)?_0x397889:new Error(_0x94afc0['eGTSJ'](String,_0x397889));logUncaughtError(_0x5d19ec(0x23c),_0x2528c6);}),process['on'](_0x94afc0['dTcdS'],_0x45c477=>{const _0x4e4ec7=a0_0x451c;logger['warn']({'event':_0x4e4ec7(0x20f),'name':_0x45c477[_0x4e4ec7(0x235)],'message':_0x45c477[_0x4e4ec7(0x227)],'stack':_0x45c477['stack']},'Process\x20Warning:\x20'+_0x45c477[_0x4e4ec7(0x227)]);});const _0x59c348={'event':_0x94afc0['otvxr']},_0x350634='Global\x20error\x20handlers\x20initialized';logger[_0x4d0f56(0x232)](_0x59c348,_0x350634),writeToFileLog({..._0x59c348,'level':'info','msg':_0x350634,'time':new Date()['toISOString']()},_0x4d0f56(0x232));},createErrorHandlerMiddleware=()=>{const _0x11bccb={'evlhT':'x-request-id'};return(_0x14b17f,_0x121691,_0x24745c,_0x332587)=>{const _0x1138d8=a0_0x451c;logHttpError(_0x14b17f,_0x121691);const _0x4afd10=_0x14b17f[_0x1138d8(0x1bd)]||_0x14b17f['status']||0x1f4;_0x24745c[_0x1138d8(0x1db)](_0x4afd10)[_0x1138d8(0x23e)]({'success':![],'error':_0x4afd10>=0x1f4?_0x1138d8(0x1a9):_0x14b17f['message'],'requestId':_0x121691['id']||_0x121691[_0x1138d8(0x213)]?.[_0x11bccb['evlhT']]||null});};};module[a0_0x3cd68b(0x1f6)]={'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_0x2fb9cc=a0_0x23ee;(function(_0x2f2f76,_0x413609){const _0x21d579=a0_0x23ee,_0x4ea338=_0x2f2f76();while(!![]){try{const _0x10378e=parseInt(_0x21d579(0x11d))/0x1*(-parseInt(_0x21d579(0xdd))/0x2)+parseInt(_0x21d579(0xc7))/0x3*(parseInt(_0x21d579(0xe7))/0x4)+parseInt(_0x21d579(0xf8))/0x5+-parseInt(_0x21d579(0x143))/0x6*(-parseInt(_0x21d579(0xf4))/0x7)+-parseInt(_0x21d579(0x175))/0x8+parseInt(_0x21d579(0x124))/0x9*(-parseInt(_0x21d579(0xdf))/0xa)+parseInt(_0x21d579(0x173))/0xb;if(_0x10378e===_0x413609)break;else _0x4ea338['push'](_0x4ea338['shift']());}catch(_0x197410){_0x4ea338['push'](_0x4ea338['shift']());}}}(a0_0x2e48,0x3c11c));const pino=require(a0_0x2fb9cc(0xfd)),fs=require('fs'),path=require(a0_0x2fb9cc(0xee));function a0_0x23ee(_0x2ed2f2,_0x2b1350){_0x2ed2f2=_0x2ed2f2-0xc4;const _0x2e4824=a0_0x2e48();let _0x23ee5e=_0x2e4824[_0x2ed2f2];if(a0_0x23ee['NhhkHA']===undefined){var _0x2c4b4a=function(_0x588202){const _0x529415='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3fc7c7='',_0x5613fe='';for(let _0x1e16c3=0x0,_0x3b9b9d,_0x82dcd,_0x370947=0x0;_0x82dcd=_0x588202['charAt'](_0x370947++);~_0x82dcd&&(_0x3b9b9d=_0x1e16c3%0x4?_0x3b9b9d*0x40+_0x82dcd:_0x82dcd,_0x1e16c3++%0x4)?_0x3fc7c7+=String['fromCharCode'](0xff&_0x3b9b9d>>(-0x2*_0x1e16c3&0x6)):0x0){_0x82dcd=_0x529415['indexOf'](_0x82dcd);}for(let _0x164b8e=0x0,_0x163a59=_0x3fc7c7['length'];_0x164b8e<_0x163a59;_0x164b8e++){_0x5613fe+='%'+('00'+_0x3fc7c7['charCodeAt'](_0x164b8e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5613fe);};a0_0x23ee['NVsJsf']=_0x2c4b4a,a0_0x23ee['ZQqWZX']={},a0_0x23ee['NhhkHA']=!![];}const _0xa13bc3=_0x2e4824[0x0],_0x429708=_0x2ed2f2+_0xa13bc3,_0x90b8c4=a0_0x23ee['ZQqWZX'][_0x429708];return!_0x90b8c4?(_0x23ee5e=a0_0x23ee['NVsJsf'](_0x23ee5e),a0_0x23ee['ZQqWZX'][_0x429708]=_0x23ee5e):_0x23ee5e=_0x90b8c4,_0x23ee5e;}function a0_0x2e48(){const _0x398a00=['C3rHDhvZq29Kzq','iokvKqRILzeGiefqssblzxKGicaGidOG','vffOELi','zw52','y29Kzq','DxHVrwm','sLDux1nfq1jfva','sw50zxjUywWGC2vYDMvYigvYCM9Y','y3jLzgvUDgLHBa','CMvZB2X2zq','y3z2','v251zhi','C3vIC3rYAw5N','te9hx1rpx0zjteu','yNDqBKq','u1fmx0Xpr19mrvzfta','reiGuxvLCNK','te9hx0XfvKvm','CgLU','ugDuv3q','qunusvzf','zLD3B0K','zgjFCxvLCNK','icbizwfSDgG6ia','y29UzMLNrMLSzq','EKrKD1G','u0vmrunu','B3jPz2LUywXvCMW','nLfXz2HYAG','AxnVvgLTzq','yxv0Ag9YAxPHDgLVBG','q1jjveLdquW','y0TKBNi','yMfZzvvYBa','yLjTuKW','AxnbCNjHEq','rwfxqLm','sg5VvLO','u0vsvKLdrv9oqu1f','wwz0CvC','CM93C0fMzMvJDgvK','vfjbtLnbq1rjt05Fq09ntuLu','iokvKqRILzeGienVBMzPzYaGicaGidOG','BwvZC2fNzq','y29UBMvJDgLVBG','BK5JBhy','wxf2wKG','Dg9mB3DLCKnHC2u','zw52AxjVBM1LBNq','C29Tzq','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','wNHtq1e','u1rbuLqGvfjbtLnbq1rjt04','DvP0wfy','B3rW','yxbPx2TLEq','v2jjy1e','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','zxjY','CxnsChO','zxjYB3i','CMvZDgzVCMDL','tuLny28','qKvhsu4','BwfW','zMfSC2u','zxjYB3iUBg9N','zgf0ywjHC2u','w1jfrefdvevexq','Dg9ju09tDhjPBMC','Ec1Yzxf1zxn0lwLK','BhrivMK','rermx0rst1a','ChjPDMf0zv9RzxK','CMvMCMvZAf90B2TLBG','DLniAxG','ntKYmZq2n05svgDfwq','u1LtoKHioK1noNnZ','mZa2mJu2AgjZyvf1','qvf4zgm','Aw5JBhvKzxm','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','wgrAD1u','DhLWzq','zMf0ywW','icdIHPiG','vNvZAwK','C3rHCNrZv2L0Aa','C3rHy2S','Cg9YDa','vKvsq0O','odfiB1v1svu','Bwf0y2G','uuPLDMG','C3fSx3f1zxj5','sMLJyKG','ms4WlJu','tKDitw4','Dffozem','z3v5D3i','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','tK9uiefdveLwrq','DhjPBq','Bhbkv2y','zxHWB3j0CW','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','y3DK','ig9UihbVCNqG','Aw5MBW','w1jfrefdveveoMHHC2HD','r2r3qLm','AxntBg93','ugzyz1K','mM9NwNHzAa','wKjfu3K','mZbkB1jkqvG','C2vYDMvYx3jLywr5','r2z6y2C','C2vJCMv0','yMnmsLa','DgvZDa','Ahj0Aw1L','te9hx0rjuG','ndKXodHgBuvJqLO','z2v0sgvHzgvYCW','BwTKAxjtEw5J','rgvMyxvSDa','C2vYDMLJzuLUzM8','Dxb0Aw1L','vunUqxO','Cgf0Aa','Dg9vChbLCKnHC2u','vfjbtLnbq1rjt05FuK9mtejbq0S','AM9PBG','iokvKqRILzeGifbYB2PLy3qGicaGidOG','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','mta3nJm5t3rUuxrq','ChjPDMf0zwTLEq','rxjYB3i','uK9mtejbq0S','mJa3odu1txfSt2vu','Bwv0Ag9K','CgfZC3DVCMq','AhHTr0e','AgvHBhrOq2HLy2S','CgLUBW','CgfKrw5K','zhzoyKq','u1reruW','Ag9ZDa','v1DmCxK','uhjVy2vZCYbxyxjUAw5NoIa','yxbPs2v5','BfjUz0O','ywnJzxnZx3rVA2vU','quXurvi','DxnLCI1Hz2vUDa','ic0G','u1fJyM0','z21cu2y','zgvIDwC','revmrvrf','CMvWzwf0','ChjVy2vZC193yxjUAw5N','zgjFDhjHBNnHy3rPB24','BMfTzq','yxbWlMXVzW','C2vYDMvYx3n0yxj0Aw5N','yM9KEq','CMvWBgfJzq','tI9b','icbjBMzVoIaGia','u2vYDMvYihn0yxj0Aw5NoIa','D3jPDgu','B2jQzwn0','r3bAq20','swn6qu8','mZK1ndyXzM5vqurz','z3bAyw8','y3jLyxrLv3jPDgvtDhjLyw0','y2HPBgq','D2fYBG','zw5KCg9PBNrFCMvNAxn0zxjLza','zLbvse8','nZqZmdmXs2PQAujY','yxbPA2v5','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia'];a0_0x2e48=function(){return _0x398a00;};return a0_0x2e48();}let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x2fb9cc(0x174),'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_0x2fb9cc(0xd5),'hideObject':!![]},isDevelopment=process['env']['NODE_ENV']!=='production',logLevel=process['env'][a0_0x2fb9cc(0x138)]||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x2fb9cc(0x164),'version':process['env']['APP_VERSION']||a0_0x2fb9cc(0xcc),'env':process['env']['NODE_ENV']||'development'},'timestamp':pino['stdTimeFunctions'][a0_0x2fb9cc(0x144)],'redact':{'paths':[a0_0x2fb9cc(0x159),a0_0x2fb9cc(0x178),a0_0x2fb9cc(0xfa),'token',a0_0x2fb9cc(0x104),'DB_PASSWORD',a0_0x2fb9cc(0x12d)],'censor':a0_0x2fb9cc(0x16b)},'serializers':{'req':_0x338611=>({'id':_0x338611['id'],'method':_0x338611['method'],'url':_0x338611['url'],'path':_0x338611[a0_0x2fb9cc(0xee)],'remoteAddress':_0x338611['ip']||_0x338611[a0_0x2fb9cc(0x153)]?.['remoteAddress']}),'res':_0x545b63=>({'statusCode':_0x545b63[a0_0x2fb9cc(0x127)],'headers':_0x545b63[a0_0x2fb9cc(0xe8)]?.()}),'err':pino['stdSerializers'][a0_0x2fb9cc(0x161)]}});function initFileLogging(){const _0x2a81fb=a0_0x2fb9cc,_0x513d42={'ixCNz':'true','zDdwX':'default','mhFDf':_0x2a81fb(0x10c),'PgTWt':_0x2a81fb(0x168),'fKrun':_0x2a81fb(0x112),'GpZCm':_0x2a81fb(0x169),'IczAO':'info'};if(fileLoggingInitialized)return;logToFile=process[_0x2a81fb(0x12a)][_0x2a81fb(0x134)]===_0x513d42['ixCNz'];const _0x2ccd52=process['env'][_0x2a81fb(0xd0)]||_0x513d42[_0x2a81fb(0x140)];logDir=process[_0x2a81fb(0x12a)][_0x2a81fb(0xe6)]||'./logs/'+_0x2ccd52,serviceName=process[_0x2a81fb(0x12a)][_0x2a81fb(0x14d)]||'restforge',sqlLogEnabled=process[_0x2a81fb(0x12a)]['SQL_LOG_ENABLED']==='true',sqlLogLevel=process[_0x2a81fb(0x12a)][_0x2a81fb(0x136)]||_0x513d42['mhFDf'],sqlLogParams=process[_0x2a81fb(0x12a)]['SQL_LOG_PARAMS']!==_0x513d42[_0x2a81fb(0x13a)],sqlLogSlowThreshold=parseInt(process[_0x2a81fb(0x12a)]['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x17e3e0=path[_0x2a81fb(0x130)](process[_0x2a81fb(0xd6)](),logDir);try{!fs['existsSync'](_0x17e3e0)&&fs[_0x2a81fb(0xe9)](_0x17e3e0,{'recursive':!![]});}catch(_0x40ffd2){console[_0x2a81fb(0x163)](_0x2a81fb(0x126)+_0x17e3e0+':',_0x40ffd2[_0x2a81fb(0x152)]),fileLoggingInitialized=!![];return;}const _0x1a1735=path[_0x2a81fb(0xf1)](_0x17e3e0,_0x513d42['fKrun']),_0x2b2557=path['join'](_0x17e3e0,_0x513d42[_0x2a81fb(0x11b)]);try{appLogStream=fs[_0x2a81fb(0x11f)](_0x1a1735,{'flags':'a'}),errorLogStream=fs[_0x2a81fb(0x11f)](_0x2b2557,{'flags':'a'}),fileLoggingInitialized=!![];const _0x50a186={'event':'file_logging_enabled','logDir':_0x17e3e0,'files':['app.log','error.log']},_0x2b536d=_0x2a81fb(0xf3)+_0x17e3e0;logger['info'](_0x50a186,_0x2b536d),writeToFileLog({..._0x50a186,'level':_0x513d42[_0x2a81fb(0x11c)],'msg':_0x2b536d,'time':new Date()[_0x2a81fb(0x16c)]()},'info');}catch(_0x1f216a){console[_0x2a81fb(0x163)]('Failed\x20to\x20create\x20log\x20streams:',_0x1f216a[_0x2a81fb(0x152)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x36edf1,_0x405e37){const _0x2f9bbc=a0_0x2fb9cc,_0x354be6={'oVTAH':function(_0x3089fe,_0x4eb241){return _0x3089fe===_0x4eb241;}};if(!logToFile||!appLogStream)return;const _0x16005f={'service':serviceName,..._0x36edf1},_0x58c5ba=JSON['stringify'](_0x16005f)+'\x0a';appLogStream[_0x2f9bbc(0x119)](_0x58c5ba),(_0x354be6['oVTAH'](_0x405e37,_0x2f9bbc(0x163))||_0x354be6['oVTAH'](_0x405e37,'fatal'))&&(errorLogStream&&errorLogStream['write'](_0x58c5ba));}const createRequestLogger=(_0x1627d1={})=>{const _0x2c06f7=a0_0x2fb9cc;return logger[_0x2c06f7(0x120)](_0x1627d1);},logServerStart=_0x533613=>{const _0x4da7c0=a0_0x2fb9cc,_0x4c94c1={'SEMbx':_0x4da7c0(0x160),'ZBESy':function(_0x29290e,_0x11c226){return _0x29290e-_0x11c226;},'zPcZh':'Node.js','GBsju':_0x4da7c0(0x116),'NLZwU':function(_0x101d39,_0x11dbfc){return _0x101d39(_0x11dbfc);},'VERCJ':_0x4da7c0(0xea),'KTPZr':_0x4da7c0(0x113),'BXMNq':function(_0x3819e9,_0x490659,_0x4f47f5){return _0x3819e9(_0x490659,_0x4f47f5);},'hgEJz':'info'},_0x20fe3c=_0x4c94c1['SEMbx'],_0x57ad0a=Math['max'](0x0,0x37-_0x20fe3c['length']),_0x47fe69=Math['floor'](_0x57ad0a/0x2),_0x16dfcd=_0x4c94c1[_0x4da7c0(0xde)](_0x57ad0a,_0x47fe69),_0x221183='║'+'\x20'[_0x4da7c0(0x10e)](_0x47fe69)+_0x20fe3c+'\x20'[_0x4da7c0(0x10e)](_0x16dfcd)+'║',_0x579f86='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x221183+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x533613[_0x4da7c0(0x157)]||_0x4c94c1['zPcZh'])['padEnd'](0x26)+_0x4da7c0(0xf2)+(_0x533613['project']||_0x4c94c1['GBsju'])[_0x4da7c0(0xfe)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+_0x4c94c1['NLZwU'](String,_0x533613[_0x4da7c0(0xc5)]||0xbb8)['padEnd'](0x26)+_0x4da7c0(0x151)+(_0x533613['configFile']||_0x4c94c1[_0x4da7c0(0xc6)])['padEnd'](0x26)+_0x4da7c0(0x128)+(_0x533613[_0x4da7c0(0x104)]?_0x4da7c0(0x13b):_0x4da7c0(0xd1))[_0x4da7c0(0xfe)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x579f86);const _0x597c28={'event':_0x4c94c1['KTPZr'],'project':_0x533613['project'],'port':_0x533613['port'],'config':_0x533613[_0x4da7c0(0x13f)],'apiKeyEnabled':!!_0x533613[_0x4da7c0(0x104)]};logger['info'](_0x597c28),_0x4c94c1['BXMNq'](writeToFileLog,{..._0x597c28,'level':_0x4c94c1['hgEJz'],'msg':_0x4da7c0(0x118)+_0x533613['project']+_0x4da7c0(0xd7)+_0x533613[_0x4da7c0(0xc5)],'time':new Date()[_0x4da7c0(0x16c)]()},_0x4da7c0(0xd8));},logServerReady=_0x2a706c=>{const _0x53b7a1=a0_0x2fb9cc,_0x31426d={'hxmGA':_0x53b7a1(0xe0),'guywr':'info'},_0x44f1d2={'event':_0x31426d[_0x53b7a1(0xfb)],'port':_0x2a706c['port'],'module':_0x2a706c['module'],'healthCheck':_0x2a706c[_0x53b7a1(0xfc)],'serviceInfo':_0x2a706c[_0x53b7a1(0xeb)],'baseUrl':_0x2a706c[_0x53b7a1(0x148)]},_0x2cb9b8='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x2a706c[_0x53b7a1(0xc5)];logger['info'](_0x44f1d2,_0x2cb9b8),writeToFileLog({..._0x44f1d2,'level':_0x31426d['guywr'],'msg':_0x2cb9b8,'time':new Date()['toISOString']()},_0x31426d[_0x53b7a1(0xcf)]),_0x2a706c['healthCheck']&&logger['info'](_0x53b7a1(0x13e)+_0x2a706c[_0x53b7a1(0xfc)]),_0x2a706c['serviceInfo']&&logger[_0x53b7a1(0xd8)](_0x53b7a1(0x117)+_0x2a706c[_0x53b7a1(0xeb)]),_0x2a706c[_0x53b7a1(0x148)]&&logger[_0x53b7a1(0xd8)]('\x20\x20URL:\x20\x20\x20\x20'+_0x2a706c[_0x53b7a1(0x148)]);},logProjectLoaded=(_0x53f753,_0x86c697)=>{const _0x1ec7cb=a0_0x2fb9cc,_0x584c2d={'YqvZH':'project_loaded'},_0x2f47eb={'event':_0x584c2d[_0x1ec7cb(0x155)],'project':_0x53f753,'path':_0x86c697},_0xfe7487='[OK]\x20Project\x20loaded:\x20'+_0x53f753;logger[_0x1ec7cb(0xd8)](_0x2f47eb,_0xfe7487),writeToFileLog({..._0x2f47eb,'level':_0x1ec7cb(0xd8),'msg':_0xfe7487,'time':new Date()[_0x1ec7cb(0x16c)]()},'info');},logEndpointRegistered=(_0x45bca7,_0x12358b)=>{const _0x59ab79=a0_0x2fb9cc,_0x281a26={'gpZao':'debug'},_0x14e484={'event':_0x59ab79(0x122),'endpoint':_0x45bca7,'route':_0x12358b},_0x446446=_0x59ab79(0x17c)+_0x45bca7+':\x20'+_0x12358b;logger[_0x59ab79(0x10c)](_0x14e484,_0x446446),writeToFileLog({..._0x14e484,'level':_0x281a26[_0x59ab79(0x11e)],'msg':_0x446446,'time':new Date()[_0x59ab79(0x16c)]()},_0x281a26[_0x59ab79(0x11e)]);},logDatabaseConfig=_0x1b59d0=>{const _0x328c84=a0_0x2fb9cc,_0x3f84fa={'AQxdc':'database_config','bKaCm':function(_0x17d614,_0x5c5ca0,_0x4fe229){return _0x17d614(_0x5c5ca0,_0x4fe229);},'bwPnD':_0x328c84(0x10c)},_0x1aaa67={'event':_0x3f84fa[_0x328c84(0x176)],'host':_0x1b59d0[_0x328c84(0x101)],'port':_0x1b59d0['port'],'database':_0x1b59d0[_0x328c84(0x16a)],'type':_0x1b59d0[_0x328c84(0x17a)],'user':_0x1b59d0['user']},_0x1c307e='Database:\x20'+_0x1b59d0['type']+'://'+_0x1b59d0[_0x328c84(0x101)]+':'+_0x1b59d0['port']+'/'+_0x1b59d0[_0x328c84(0x16a)];logger[_0x328c84(0x10c)](_0x1aaa67,_0x1c307e),_0x3f84fa['bKaCm'](writeToFileLog,{..._0x1aaa67,'level':_0x3f84fa[_0x328c84(0x135)],'msg':_0x1c307e,'time':new Date()['toISOString']()},_0x328c84(0x10c));},logRequest=(_0x103d9d,_0x292ec2,_0x526803)=>{const _0x105006=a0_0x2fb9cc,_0x3bb029={'uxoEc':_0x105006(0xd8),'HnoVZ':function(_0x538e1c,_0x5769d8){return _0x538e1c>=_0x5769d8;},'rLIBW':_0x105006(0x121)},_0xa8780f={'event':'http_request','method':_0x103d9d[_0x105006(0xf9)],'path':_0x103d9d[_0x105006(0xee)],'statusCode':_0x292ec2['statusCode'],'durationMs':_0x526803,'ip':_0x103d9d['ip']},_0x13c971=_0x103d9d['method']+'\x20'+_0x103d9d[_0x105006(0xee)]+_0x105006(0x109)+_0x292ec2['statusCode']+'\x20('+_0x526803+'ms)';let _0xe2022b=_0x3bb029[_0x105006(0x12c)];if(_0x3bb029[_0x105006(0x14c)](_0x292ec2['statusCode'],0x1f4))_0xe2022b='error',logger[_0x105006(0x163)](_0xa8780f,_0x13c971);else _0x3bb029[_0x105006(0x14c)](_0x292ec2[_0x105006(0x127)],0x190)?(_0xe2022b=_0x3bb029['rLIBW'],logger[_0x105006(0x121)](_0xa8780f,_0x13c971)):logger['info'](_0xa8780f,_0x13c971);writeToFileLog({..._0xa8780f,'level':_0xe2022b,'msg':_0x13c971,'time':new Date()['toISOString']()},_0xe2022b);},SENSITIVE_PARAM_PATTERNS=[a0_0x2fb9cc(0xfa),'passwd','pwd','token','access_token',a0_0x2fb9cc(0x171),'secret','api_secret','apikey','api_key',a0_0x2fb9cc(0x12f),'credentials',a0_0x2fb9cc(0x139),a0_0x2fb9cc(0x15d),a0_0x2fb9cc(0x170),a0_0x2fb9cc(0xf5)],redactSensitiveParams=(_0x903ae9,_0x46626b)=>{const _0x23a8d2=a0_0x2fb9cc,_0x580341={'AzgKR':function(_0x3bd9da,_0x48fe36){return _0x3bd9da===_0x48fe36;},'bcLJP':'string','vSHix':'[REDACTED:token]','JicbH':_0x23a8d2(0xd9)};if(!_0x903ae9||_0x903ae9['length']===0x0)return _0x903ae9;const _0xab6fe=_0x46626b['toLowerCase'](),_0x576048=_0xab6fe['match'](/\(([^)]+)\)\s*values/i);let _0x4f1f53=[];_0x576048&&(_0x4f1f53=_0x576048[0x1]['split'](',')[_0x23a8d2(0x167)](_0x44c89c=>_0x44c89c[_0x23a8d2(0xd2)]()['toLowerCase']()));const _0x59ef39=_0xab6fe[_0x23a8d2(0xc8)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x59ef39){const _0x50c826=_0x59ef39[0x1],_0x1cd422=_0x50c826['match'](/(\w+)\s*=/g);_0x1cd422&&(_0x4f1f53=_0x1cd422['map'](_0x280d5e=>_0x280d5e[_0x23a8d2(0x115)](/\s*=/,'')['trim']()[_0x23a8d2(0x156)]()));}return _0x903ae9[_0x23a8d2(0x167)]((_0x38e10e,_0x32188c)=>{const _0x392ca8=_0x23a8d2;if(_0x4f1f53[_0x32188c]){const _0x2bbdf0=_0x4f1f53[_0x32188c],_0x28edf8=SENSITIVE_PARAM_PATTERNS['some'](_0x1eb807=>_0x2bbdf0['includes'](_0x1eb807));if(_0x28edf8)return'[REDACTED]';}if(_0x580341['AzgKR'](typeof _0x38e10e,_0x580341[_0x392ca8(0xe3)])&&_0x38e10e['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x392ca8(0xe4)](_0x38e10e)&&_0x38e10e['includes']('.'))return _0x580341[_0x392ca8(0x172)];if(/^[a-fA-F0-9]{32,}$/['test'](_0x38e10e))return _0x580341[_0x392ca8(0xcb)];}return _0x38e10e;});},parseQueryMetadata=_0x146d30=>{const _0x4c191b=a0_0x2fb9cc,_0x2bc510={'fPUHO':'INSERT','LgXEj':'UPDATE','GQKRu':_0x4c191b(0x10d),'tQNdC':_0x4c191b(0x166),'WbIcQ':_0x4c191b(0x15b),'cKdnr':'COMMIT','bRmRL':'CREATE','zRWzG':'DDL_CREATE','uZtXV':'DDL_ALTER'},_0x3a37a2=_0x146d30['trim'](),_0x466501=_0x3a37a2[_0x4c191b(0xef)]();let _0x57371c='UNKNOWN',_0x5186f6=null;if(_0x466501[_0x4c191b(0x17e)]('SELECT')){_0x57371c=_0x4c191b(0x141);const _0x1e72a2=_0x3a37a2['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5186f6=_0x1e72a2?_0x1e72a2[0x1]:null;}else{if(_0x466501['startsWith'](_0x2bc510[_0x4c191b(0x123)])){_0x57371c=_0x2bc510[_0x4c191b(0x123)];const _0x43e398=_0x3a37a2['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5186f6=_0x43e398?_0x43e398[0x1]:null;}else{if(_0x466501[_0x4c191b(0x17e)]('UPDATE')){_0x57371c=_0x2bc510['LgXEj'];const _0x3c9fbc=_0x3a37a2[_0x4c191b(0xc8)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5186f6=_0x3c9fbc?_0x3c9fbc[0x1]:null;}else{if(_0x466501['startsWith']('DELETE')){_0x57371c=_0x2bc510['GQKRu'];const _0x8b04ad=_0x3a37a2[_0x4c191b(0xc8)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5186f6=_0x8b04ad?_0x8b04ad[0x1]:null;}else{if(_0x466501['startsWith'](_0x2bc510[_0x4c191b(0xce)])||_0x466501['startsWith'](_0x2bc510[_0x4c191b(0x15f)]))_0x57371c='TRANSACTION_BEGIN';else{if(_0x466501[_0x4c191b(0x17e)](_0x2bc510[_0x4c191b(0x147)]))_0x57371c=_0x4c191b(0x150);else{if(_0x466501[_0x4c191b(0x17e)](_0x4c191b(0xf7)))_0x57371c=_0x4c191b(0xf0);else{if(_0x466501['startsWith'](_0x2bc510[_0x4c191b(0x149)]))_0x57371c=_0x2bc510['zRWzG'];else{if(_0x466501[_0x4c191b(0x17e)](_0x4c191b(0x107)))_0x57371c=_0x2bc510[_0x4c191b(0x15c)];else _0x466501[_0x4c191b(0x17e)]('DROP')&&(_0x57371c=_0x4c191b(0x16f));}}}}}}}}return{'type':_0x57371c,'table':_0x5186f6};},startQueryTimer=()=>{const _0x19eb43={'SQcbm':function(_0x581865,_0x1033c3){return _0x581865/_0x1033c3;}},_0x2c4ba6=process['hrtime']();return()=>{const _0x56ebd3=a0_0x23ee,[_0xff9e43,_0x5f423f]=process[_0x56ebd3(0xe5)](_0x2c4ba6);return parseFloat((_0xff9e43*0x3e8+_0x19eb43[_0x56ebd3(0x10a)](_0x5f423f,0xf4240))['toFixed'](0x2));};},logQuery=(_0x1793d5,_0x294c7d=[],_0x3f5b5d={})=>{const _0x5aa893=a0_0x2fb9cc,_0x200488={'Neewq':_0x5aa893(0x13d),'MIMco':_0x5aa893(0x137),'phcWg':function(_0x5a95b4,_0x1d7684){return _0x5a95b4!==_0x1d7684;},'TQhzR':function(_0x6229ed,_0x5a0fdb){return _0x6229ed>_0x5a0fdb;}};if(!sqlLogEnabled){logger[_0x5aa893(0x10c)]({'event':_0x200488['Neewq'],'query':_0x1793d5[_0x5aa893(0x133)](0x0,0xc8),'paramCount':_0x294c7d['length']},_0x200488[_0x5aa893(0x165)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x3f5b5d,{type:_0xeb796a,table:_0x312091}=parseQueryMetadata(_0x1793d5),_0x27fa12={'event':_0x5aa893(0xca),'queryType':_0xeb796a,'table':_0x312091,'query':_0x1793d5,'paramCount':_0x294c7d['length'],'dbType':dbType};sqlLogParams&&_0x294c7d['length']>0x0&&(_0x27fa12['params']=redactSensitiveParams(_0x294c7d,_0x1793d5));_0x200488['phcWg'](duration,null)&&(_0x27fa12['durationMs']=duration,_0x27fa12[_0x5aa893(0xdb)]=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x27fa12[_0x5aa893(0x14f)]=rowsAffected);const _0x9da3ce=_0x312091||'unknown';let _0x2e5769='['+_0xeb796a+']\x20'+_0x9da3ce;duration!==null&&(_0x2e5769+='\x20('+duration+'ms)');const _0x2ee78d=duration!==null&&_0x200488[_0x5aa893(0x129)](duration,sqlLogSlowThreshold);let _0x249222='debug';if(_0x2ee78d)_0x2e5769+='\x20[SLOW]',_0x249222=_0x5aa893(0x121),logger[_0x5aa893(0x121)](_0x27fa12,_0x2e5769);else sqlLogLevel==='info'?(_0x249222='info',logger[_0x5aa893(0xd8)](_0x27fa12,_0x2e5769)):logger[_0x5aa893(0x10c)](_0x27fa12,_0x2e5769);writeToFileLog({..._0x27fa12,'level':_0x249222,'msg':_0x2e5769,'time':new Date()['toISOString']()},_0x249222);},logTransaction=(_0x3fea3a,_0x5c8139)=>{const _0x168c83=a0_0x2fb9cc,_0x28a5f8={'GdwBS':function(_0x6111e5,_0x16e6c9,_0x3c1469){return _0x6111e5(_0x16e6c9,_0x3c1469);},'tuyfJ':'debug'},_0xce02e6={'event':_0x168c83(0x110),'status':_0x3fea3a,'queryCount':_0x5c8139},_0x2ba185='Transaction\x20'+_0x3fea3a;logger['debug'](_0xce02e6,_0x2ba185),_0x28a5f8[_0x168c83(0xda)](writeToFileLog,{..._0xce02e6,'level':_0x28a5f8['tuyfJ'],'msg':_0x2ba185,'time':new Date()['toISOString']()},_0x168c83(0x10c));},redactObject=_0x47dacd=>{const _0xbc9756=a0_0x2fb9cc,_0xc5d98d={'LJMZu':function(_0x43c677,_0x40a40c){return _0x43c677!==_0x40a40c;},'iROvy':_0xbc9756(0xfa),'obite':'token','ZwnOb':_0xbc9756(0xe2),'shRxv':_0xbc9756(0x125),'QJevh':_0xbc9756(0x15e),'CdjWk':'creditcard','WWLqy':'credit_card','CaDrY':'ssn','EaWBS':'pin','NGHMn':'privatekey','nNclv':'object'};if(!_0x47dacd||_0xc5d98d['LJMZu'](typeof _0x47dacd,_0xbc9756(0x11a)))return _0x47dacd;const _0x2b1787=[_0xc5d98d['iROvy'],'passwd','pwd',_0xc5d98d['obite'],_0xc5d98d['ZwnOb'],_0xc5d98d['shRxv'],_0xc5d98d[_0xbc9756(0xc9)],_0xbc9756(0x145),_0xc5d98d['CdjWk'],_0xc5d98d[_0xbc9756(0x102)],_0xbc9756(0x131),_0xc5d98d['CaDrY'],_0xc5d98d[_0xbc9756(0x14b)],'private_key',_0xc5d98d[_0xbc9756(0xcd)],'refresh_token',_0xbc9756(0x106)],_0x254090=Array[_0xbc9756(0x14a)](_0x47dacd)?[..._0x47dacd]:{..._0x47dacd};for(const _0x464818 of Object['keys'](_0x254090)){const _0x59daf8=_0x464818[_0xbc9756(0x156)]();if(_0x2b1787[_0xbc9756(0x158)](_0x4ad569=>_0x59daf8[_0xbc9756(0x177)](_0x4ad569)))_0x254090[_0x464818]='[REDACTED]';else typeof _0x254090[_0x464818]===_0xc5d98d[_0xbc9756(0x154)]&&_0x254090[_0x464818]!==null&&(_0x254090[_0x464818]=redactObject(_0x254090[_0x464818]));}return _0x254090;},logError=(_0x3050c7,_0x14308f={},_0x4de61b=null)=>{const _0x2178b3=a0_0x2fb9cc,_0x4fc3f0={'SjlzE':_0x2178b3(0x163),'LujVb':function(_0x5c96c0,_0x420901,_0x2f7153){return _0x5c96c0(_0x420901,_0x2f7153);}},_0x269404={'event':_0x4fc3f0['SjlzE'],'errorName':_0x3050c7[_0x2178b3(0x111)]||_0x2178b3(0xf6),'errorMessage':_0x3050c7[_0x2178b3(0x152)],'errorCode':_0x3050c7[_0x2178b3(0x12b)]||null,'stack':_0x3050c7[_0x2178b3(0xc4)],..._0x14308f},_0x1f79a7=_0x4de61b||'Error:\x20'+_0x3050c7[_0x2178b3(0x152)];logger['error'](_0x269404,_0x1f79a7),_0x4fc3f0['LujVb'](writeToFileLog,{..._0x269404,'level':_0x2178b3(0x163),'msg':_0x1f79a7,'time':new Date()['toISOString']()},_0x2178b3(0x163));},logFatalError=(_0x153a23,_0x2736ee={},_0x4bcba8=null)=>{const _0x146807=a0_0x2fb9cc,_0x1b137b={'dkvcz':'fatal_error','UCnAz':_0x146807(0x146),'bHrTi':'error'},_0x2e49da={'event':_0x1b137b['dkvcz'],'errorName':_0x153a23['name']||_0x146807(0xf6),'errorMessage':_0x153a23[_0x146807(0x152)],'errorCode':_0x153a23[_0x146807(0x12b)]||null,'stack':_0x153a23[_0x146807(0xc4)],'severity':_0x1b137b[_0x146807(0xed)],..._0x2736ee},_0x51f094=_0x4bcba8||'FATAL:\x20'+_0x153a23['message'];logger[_0x146807(0x17b)](_0x2e49da,_0x51f094),writeToFileLog({..._0x2e49da,'level':_0x146807(0x17b),'msg':_0x51f094,'time':new Date()[_0x146807(0x16c)]()},_0x1b137b['bHrTi']);},logHttpError=(_0x515365,_0x4de774,_0x4c8540={})=>{const _0x39be1a=a0_0x2fb9cc,_0x20cd22={'ZxSCQ':_0x39be1a(0xf6),'lRngJ':function(_0x25ba69,_0xdcce08){return _0x25ba69(_0xdcce08);},'Vusii':function(_0x31caf6,_0x4e13d3){return _0x31caf6>=_0x4e13d3;},'fWwoI':function(_0x2b82d9,_0x54b607){return _0x2b82d9>=_0x54b607;},'PfXgY':_0x39be1a(0x121),'ltHVi':'error'},_0xa292ae={'event':'http_error','errorName':_0x515365['name']||_0x20cd22[_0x39be1a(0x15a)],'errorMessage':_0x515365[_0x39be1a(0x152)],'errorCode':_0x515365[_0x39be1a(0x12b)]||_0x515365['statusCode']||0x1f4,'stack':_0x515365[_0x39be1a(0xc4)],'method':_0x4de774?.['method'],'url':_0x4de774?.['url']||_0x4de774?.[_0x39be1a(0x142)],'path':_0x4de774?.['path'],'ip':_0x4de774?.['ip']||_0x4de774?.[_0x39be1a(0x153)]?.['remoteAddress'],'userAgent':_0x4de774?.['get']?.(_0x39be1a(0x108)),'requestId':_0x4de774?.['id']||_0x4de774?.['headers']?.['x-request-id'],'body':_0x4de774?.['body']?_0x20cd22[_0x39be1a(0x105)](redactObject,_0x4de774[_0x39be1a(0x114)]):undefined,'query':_0x4de774?.['query'],..._0x4c8540},_0x1bddc2=_0x515365[_0x39be1a(0x127)]||_0x515365['status']||0x1f4,_0x1fea1='HTTP\x20'+_0x1bddc2+':\x20'+_0x515365[_0x39be1a(0x152)];_0x20cd22[_0x39be1a(0x17d)](_0x1bddc2,0x1f4)?logger['error'](_0xa292ae,_0x1fea1):logger['warn'](_0xa292ae,_0x1fea1),writeToFileLog({..._0xa292ae,'level':_0x20cd22['fWwoI'](_0x1bddc2,0x1f4)?'error':_0x20cd22['PfXgY'],'msg':_0x1fea1,'time':new Date()['toISOString']()},_0x20cd22[_0x39be1a(0x13c)](_0x1bddc2,0x1f4)?_0x20cd22[_0x39be1a(0x16e)]:_0x20cd22[_0x39be1a(0xdc)]);},logUncaughtError=(_0x128a57,_0x3d58d1)=>{const _0xb89ec=a0_0x2fb9cc,_0x37eb6e={'Wnudr':_0xb89ec(0xf6),'unFJO':_0xb89ec(0x146),'qsRpz':function(_0xf69f08,_0x12d0ce,_0x114da1){return _0xf69f08(_0x12d0ce,_0x114da1);}},_0x3005d0={'event':_0x128a57,'errorName':_0x3d58d1?.[_0xb89ec(0x111)]||_0x37eb6e[_0xb89ec(0x132)],'errorMessage':_0x3d58d1?.[_0xb89ec(0x152)]||String(_0x3d58d1),'errorCode':_0x3d58d1?.['code']||null,'stack':_0x3d58d1?.[_0xb89ec(0xc4)],'severity':_0x37eb6e['unFJO'],'processId':process['pid'],'memoryUsage':process['memoryUsage'](),'uptime':process[_0xb89ec(0xec)]()},_0x4b250b='['+_0x128a57[_0xb89ec(0xef)]()+']\x20'+(_0x3d58d1?.['message']||_0x3d58d1);logger[_0xb89ec(0x17b)](_0x3005d0,_0x4b250b),_0x37eb6e[_0xb89ec(0x162)](writeToFileLog,{..._0x3005d0,'level':_0xb89ec(0x17b),'msg':_0x4b250b,'time':new Date()[_0xb89ec(0x16c)]()},'error');},setupGlobalErrorHandlers=()=>{const _0x91def=a0_0x2fb9cc,_0x406e5d={'YftqW':'uncaughtException','sqMwT':function(_0xf9be72,_0x3d7166,_0x3f0fb5){return _0xf9be72(_0x3d7166,_0x3f0fb5);},'STDEL':function(_0x22b408,_0x5c621e,_0x3b1da7){return _0x22b408(_0x5c621e,_0x3b1da7);},'Gfzcg':'unhandledRejection','TruHz':_0x91def(0x10f),'gmBSf':'warning','uNrwx':'global_error_handlers_setup','lpJWf':'info'};process['on']('uncaughtException',_0x132dbc=>{const _0x528cbf=_0x91def;logUncaughtError(_0x406e5d[_0x528cbf(0x14e)],_0x132dbc),_0x406e5d['sqMwT'](setTimeout,()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x406e5d['Gfzcg'],(_0x502622,_0x393f37)=>{const _0x149b7c=_0x91def,_0x24cdc7=_0x502622 instanceof Error?_0x502622:new Error(String(_0x502622));_0x406e5d[_0x149b7c(0x100)](logUncaughtError,_0x406e5d[_0x149b7c(0xe1)],_0x24cdc7);}),process['on'](_0x406e5d[_0x91def(0x10b)],_0x57e2e7=>{const _0x281d0e=_0x91def;logger[_0x281d0e(0x121)]({'event':_0x406e5d['TruHz'],'name':_0x57e2e7[_0x281d0e(0x111)],'message':_0x57e2e7['message'],'stack':_0x57e2e7['stack']},_0x281d0e(0x103)+_0x57e2e7[_0x281d0e(0x152)]);});const _0x557e07={'event':_0x406e5d['uNrwx']},_0x3244a9='Global\x20error\x20handlers\x20initialized';logger[_0x91def(0xd8)](_0x557e07,_0x3244a9),writeToFileLog({..._0x557e07,'level':_0x406e5d['lpJWf'],'msg':_0x3244a9,'time':new Date()[_0x91def(0x16c)]()},_0x406e5d[_0x91def(0xd3)]);},createErrorHandlerMiddleware=()=>{const _0x22f59f=a0_0x2fb9cc,_0x9a071f={'dvNbD':function(_0x5556b3,_0x43ef36){return _0x5556b3>=_0x43ef36;},'XdZwU':_0x22f59f(0x12e)};return(_0x2a5b47,_0x49718c,_0x1ac253,_0x532485)=>{const _0x335f6e=_0x22f59f;logHttpError(_0x2a5b47,_0x49718c);const _0x426e67=_0x2a5b47['statusCode']||_0x2a5b47['status']||0x1f4;_0x1ac253['status'](_0x426e67)['json']({'success':![],'error':_0x9a071f[_0x335f6e(0xff)](_0x426e67,0x1f4)?_0x9a071f[_0x335f6e(0x179)]:_0x2a5b47[_0x335f6e(0x152)],'requestId':_0x49718c['id']||_0x49718c['headers']?.[_0x335f6e(0x16d)]||null});};};module[a0_0x2fb9cc(0xd4)]={'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_0x4feb94=a0_0x5102;function a0_0x5102(_0x14ec89,_0xa0b340){_0x14ec89=_0x14ec89-0x190;const _0x316f87=a0_0x316f();let _0x510267=_0x316f87[_0x14ec89];if(a0_0x5102['PnHgZY']===undefined){var _0x1dc066=function(_0x5a76cd){const _0x423b85='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5283f2='',_0x5ce559='';for(let _0x2d566c=0x0,_0x457e12,_0x5aa734,_0x3d2833=0x0;_0x5aa734=_0x5a76cd['charAt'](_0x3d2833++);~_0x5aa734&&(_0x457e12=_0x2d566c%0x4?_0x457e12*0x40+_0x5aa734:_0x5aa734,_0x2d566c++%0x4)?_0x5283f2+=String['fromCharCode'](0xff&_0x457e12>>(-0x2*_0x2d566c&0x6)):0x0){_0x5aa734=_0x423b85['indexOf'](_0x5aa734);}for(let _0x594c3c=0x0,_0x1ddc61=_0x5283f2['length'];_0x594c3c<_0x1ddc61;_0x594c3c++){_0x5ce559+='%'+('00'+_0x5283f2['charCodeAt'](_0x594c3c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5ce559);};a0_0x5102['bfktQx']=_0x1dc066,a0_0x5102['YdgoAJ']={},a0_0x5102['PnHgZY']=!![];}const _0x592ee3=_0x316f87[0x0],_0x1f6d64=_0x14ec89+_0x592ee3,_0x160ee5=a0_0x5102['YdgoAJ'][_0x1f6d64];return!_0x160ee5?(_0x510267=a0_0x5102['bfktQx'](_0x510267),a0_0x5102['YdgoAJ'][_0x1f6d64]=_0x510267):_0x510267=_0x160ee5,_0x510267;}(function(_0x47f9bb,_0x4bf619){const _0x50f4f6=a0_0x5102,_0x454f0b=_0x47f9bb();while(!![]){try{const _0x4409fd=parseInt(_0x50f4f6(0x1a2))/0x1+-parseInt(_0x50f4f6(0x1af))/0x2+parseInt(_0x50f4f6(0x1ba))/0x3*(-parseInt(_0x50f4f6(0x1b5))/0x4)+-parseInt(_0x50f4f6(0x1ac))/0x5*(parseInt(_0x50f4f6(0x192))/0x6)+-parseInt(_0x50f4f6(0x1b8))/0x7*(parseInt(_0x50f4f6(0x1bc))/0x8)+-parseInt(_0x50f4f6(0x1a6))/0x9+parseInt(_0x50f4f6(0x190))/0xa;if(_0x4409fd===_0x4bf619)break;else _0x454f0b['push'](_0x454f0b['shift']());}catch(_0x11ece3){_0x454f0b['push'](_0x454f0b['shift']());}}}(a0_0x316f,0xdf189));const dbType=(process['env'][a0_0x4feb94(0x199)]||a0_0x4feb94(0x1a0))['toLowerCase']();let executeQuery;function a0_0x316f(){const _0x54d871=['z1LiyMq','nZq3mdy0EffjAfbr','DhjPBq','BxLZCwW','Dg9mB3DLCKnHC2u','mta2nJm0nZbAuKP0z04','z2v0','Bg9VA3vWq2fJAgu','B3jHy2XL','ChvZAa','EvPwuxC','nJeYoduXnvDPy1nsEa','Evbzwxu','lI9SB2DNzxi','mJuYmZq3nfrpChDbsG','Avjdv1O','Ce1WzKO','C2XPy2u','zxHLy3v0zvf1zxj5','Bg9VA3vWx3rHyMXLx2XVywrLza','nty5mtiZnNPAC25QqG','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','tg9VA3vWignHy2HLignSzwfYzwq','ndy5nJnnugTUA3i','BwvZC2fNzq','m3vRBvPjCa','y2XLyxi','mZm2BK1hy05K','zM9YrwfJAa','ntu0mZu5ndbLzKDyALq','z2v0rgLZDgLUy3rwywX1zxm','nMnivwPvBq','BgvUz3rO','A2v5CW','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','u0vmrunuia','CMvZB2X2zuXVB2T1CfzHBhvL','AgfZ','rejFvfLqrq','rxzkBNC','r25As1y','s3P2ueu','rvLmzgO','ywrK','lI9KyG','Cg9ZDgDYzxnXBa'];a0_0x316f=function(){return _0x54d871;};return a0_0x316f();}if(dbType===a0_0x4feb94(0x1a9)){const oracleDb=require('./db-oracle');executeQuery=(_0x4de536,_0x2f95ef)=>oracleDb[a0_0x4feb94(0x1b3)](_0x4de536,_0x2f95ef);}else{if(dbType===a0_0x4feb94(0x1a4)){const mysqlDb=require('./db-mysql');executeQuery=(_0x5d8fb1,_0x2ba8d3)=>mysqlDb['executeQuery'](_0x5d8fb1,_0x2ba8d3);}else executeQuery=require(a0_0x4feb94(0x19f))['executeQuery'];}const {logger}=require(a0_0x4feb94(0x1ae));class LookupResolver{constructor(){const _0x52ef54=a0_0x4feb94;this[_0x52ef54(0x1a8)]=new Map();}['clearCache'](){const _0x7cb553=a0_0x4feb94;this[_0x7cb553(0x1a8)][_0x7cb553(0x1bb)](),logger['debug']({'event':_0x7cb553(0x195)},_0x7cb553(0x1b7));}async['loadLookupTable'](_0x18ad7a,_0x51d270,_0x4c1535){const _0xd67b55=a0_0x4feb94,_0x3ea717={'gYHbd':function(_0x450e24,_0x12f4e6){return _0x450e24!==_0x12f4e6;},'lHqXw':function(_0x189309,_0x55d754){return _0x189309!==_0x55d754;},'GnZKV':function(_0x38bd56,_0x15511d){return _0x38bd56(_0x15511d);}},_0x11c92f=_0x18ad7a+':'+_0x51d270+':'+_0x4c1535;if(this['lookupCache'][_0xd67b55(0x198)](_0x11c92f))return this[_0xd67b55(0x1a8)]['get'](_0x11c92f);try{const _0x794950=_0xd67b55(0x196)+_0x4c1535+',\x20'+_0x51d270+'\x20FROM\x20'+_0x18ad7a,_0x448732=await executeQuery(_0x794950),_0x2c15ec=new Map();return _0x448732[_0xd67b55(0x1bd)](_0x598394=>{const _0x18c07f=_0xd67b55,_0x4fe363=_0x3ea717['gYHbd'](_0x598394[_0x51d270],undefined)?_0x598394[_0x51d270]:_0x598394[_0x51d270['toUpperCase']()],_0xd915e=_0x598394[_0x4c1535]!==undefined?_0x598394[_0x4c1535]:_0x598394[_0x4c1535['toUpperCase']()];_0x3ea717[_0x18c07f(0x1a1)](_0x4fe363,null)&&_0x3ea717['lHqXw'](_0x4fe363,undefined)&&(_0x2c15ec['set'](String(_0x4fe363)[_0x18c07f(0x1a5)]()[_0x18c07f(0x1a3)](),_0xd915e),_0x2c15ec['set'](_0x3ea717[_0x18c07f(0x19b)](String,_0x4fe363)['trim'](),_0xd915e));}),this[_0xd67b55(0x1a8)]['set'](_0x11c92f,_0x2c15ec),logger['info']({'event':_0xd67b55(0x1b4),'table':_0x18ad7a,'column':_0x51d270,'count':_0x448732['length']},'Lookup\x20table\x20loaded:\x20'+_0x18ad7a),_0x2c15ec;}catch(_0x768619){logger['error']({'event':'lookup_table_load_error','table':_0x18ad7a,'error':_0x768619[_0xd67b55(0x1b9)]},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x18ad7a);throw _0x768619;}}[a0_0x4feb94(0x197)](_0x172af8,_0x523199){const _0x1c8893=a0_0x4feb94,_0x5f5a77={'iRCWZ':function(_0x188234,_0x30a3df){return _0x188234===_0x30a3df;},'EYLdj':function(_0xedfda3,_0x5f167c){return _0xedfda3(_0x5f167c);}};if(_0x5f5a77['iRCWZ'](_0x172af8,null)||_0x5f5a77['iRCWZ'](_0x172af8,undefined)||_0x5f5a77[_0x1c8893(0x1b0)](_0x172af8,''))return null;const _0x59a931=_0x5f5a77[_0x1c8893(0x19d)](String,_0x172af8)[_0x1c8893(0x1a3)]();if(_0x523199[_0x1c8893(0x198)](_0x59a931))return _0x523199[_0x1c8893(0x1a7)](_0x59a931);const _0x46fa2d=_0x59a931['toLowerCase']();if(_0x523199['has'](_0x46fa2d))return _0x523199['get'](_0x46fa2d);return null;}async['processLookupFields'](_0x40f7c1,_0x73df33){const _0x374337=a0_0x4feb94,_0x4d01b1={'yZVQw':function(_0x48bd8c,_0x1ca2c){return _0x48bd8c===_0x1ca2c;},'kWqvQ':function(_0xb5b6f4,_0x247ff2){return _0xb5b6f4!==_0x247ff2;},'KzvPE':function(_0xcecf9b,_0x58f81f){return _0xcecf9b===_0x58f81f;},'EvJnw':'Lookup\x20fields\x20processed'};if(!_0x73df33||_0x4d01b1[_0x374337(0x19c)](Object[_0x374337(0x194)](_0x73df33)['length'],0x0))return{'processedRows':_0x40f7c1,'errors':[]};const _0x5636b7=[],_0xa7ef41=new Map();for(const [_0x3b326e,_0x31ef38]of Object['entries'](_0x73df33)){const {lookupTable:_0x531ad8,lookupColumn:_0x347867,lookupIdColumn:_0xfb767b}=_0x31ef38,_0x38df6d=_0x531ad8+':'+_0x347867+':'+_0xfb767b;if(!_0xa7ef41['has'](_0x38df6d)){const _0x1e9b5b=await this['loadLookupTable'](_0x531ad8,_0x347867,_0xfb767b);_0xa7ef41['set'](_0x38df6d,_0x1e9b5b);}}const _0x2bbd88=_0x40f7c1['map']((_0x240138,_0x2b1948)=>{const _0x2cfdc6=_0x374337,_0x6d2880={..._0x240138};for(const [_0xb66b47,_0x362948]of Object['entries'](_0x73df33)){const {lookupTable:_0x4508b7,lookupColumn:_0x4ccf9a,lookupIdColumn:_0x1afbcb,targetField:_0x594b20,required:_0x3ce1ec}=_0x362948,_0x526c3d=_0x4508b7+':'+_0x4ccf9a+':'+_0x1afbcb,_0x5ac014=_0xa7ef41[_0x2cfdc6(0x1a7)](_0x526c3d),_0x1b1db2=_0x240138[_0xb66b47];if((_0x1b1db2===null||_0x4d01b1['yZVQw'](_0x1b1db2,undefined)||_0x4d01b1[_0x2cfdc6(0x1ab)](_0x1b1db2,''))&&!_0x3ce1ec){_0x6d2880[_0x594b20]=null;continue;}const _0x18bedd=this[_0x2cfdc6(0x197)](_0x1b1db2,_0x5ac014);_0x4d01b1['kWqvQ'](_0x18bedd,null)?_0x6d2880[_0x594b20]=_0x18bedd:(_0x3ce1ec&&_0x5636b7[_0x2cfdc6(0x1aa)]({'rowIndex':_0x2b1948,'field':_0xb66b47,'value':_0x1b1db2,'targetField':_0x594b20,'lookupTable':_0x4508b7,'message':'Value\x20\x22'+_0x1b1db2+'\x22\x20not\x20found\x20in\x20'+_0x4508b7}),_0x6d2880[_0x594b20]=null);}return _0x6d2880;});return logger['info']({'event':'lookup_fields_processed','totalRows':_0x40f7c1['length'],'errorCount':_0x5636b7[_0x374337(0x193)],'lookupFieldCount':Object[_0x374337(0x194)](_0x73df33)[_0x374337(0x193)]},_0x4d01b1[_0x374337(0x19a)]),{'processedRows':_0x2bbd88,'errors':_0x5636b7};}['getDistinctValues'](_0x5b71f0,_0x41a133){const _0x2529ae=a0_0x4feb94,_0x532b81={'pMpfJ':function(_0x48483b,_0x27e794){return _0x48483b!==_0x27e794;},'HjzTS':function(_0x4476f2,_0x32e4fb){return _0x4476f2!==_0x32e4fb;}},_0x8961cf=new Set();return _0x5b71f0[_0x2529ae(0x1bd)](_0x5bb0fa=>{const _0x49aa4d=_0x2529ae,_0x931a2e=_0x5bb0fa[_0x41a133];_0x532b81[_0x49aa4d(0x1b1)](_0x931a2e,null)&&_0x532b81['HjzTS'](_0x931a2e,undefined)&&_0x931a2e!==''&&_0x8961cf[_0x49aa4d(0x19e)](String(_0x931a2e)['trim']());}),Array['from'](_0x8961cf);}async['validateLookupValues'](_0x182329,_0x495de7){const _0x2fa894=a0_0x4feb94,_0x49b54d={'AHaVR':function(_0x16f566,_0x2436bc){return _0x16f566!==_0x2436bc;},'ARuDG':function(_0x3af36a,_0x33ed88){return _0x3af36a===_0x33ed88;},'yPYYu':function(_0x1ccfd7,_0x2015bd){return _0x1ccfd7===_0x2015bd;}};if(!_0x495de7||_0x49b54d['ARuDG'](Object['keys'](_0x495de7)['length'],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x57562a=[],_0x2111cb={};for(const [_0x256153,_0x4c3150]of Object['entries'](_0x495de7)){const {lookupTable:_0x56a61c,lookupColumn:_0x433053,lookupIdColumn:_0x589b27,required:_0x5776d8}=_0x4c3150,_0x310f13=this[_0x2fa894(0x191)](_0x182329,_0x256153),_0x427129=await this['loadLookupTable'](_0x56a61c,_0x433053,_0x589b27),_0x3f0fa2=[],_0xe2d851=[];_0x310f13['forEach'](_0x580dcc=>{const _0x970c45=_0x2fa894,_0x189b49=this[_0x970c45(0x197)](_0x580dcc,_0x427129);_0x49b54d['AHaVR'](_0x189b49,null)?_0xe2d851[_0x970c45(0x1aa)](_0x580dcc):_0x3f0fa2[_0x970c45(0x1aa)](_0x580dcc);});if(_0x3f0fa2['length']>0x0&&_0x5776d8){_0x57562a[_0x2fa894(0x1aa)]({'field':_0x256153,'lookupTable':_0x56a61c,'invalidValues':_0x3f0fa2,'message':_0x3f0fa2['length']+_0x2fa894(0x1b6)+_0x56a61c});const _0x131f3a=[];_0x427129[_0x2fa894(0x1bd)]((_0x3e333d,_0x2e90ed)=>{if(_0x2e90ed===_0x2e90ed['toLowerCase']())return;_0x131f3a['push'](_0x2e90ed);}),_0x2111cb[_0x256153]={'invalidValues':_0x3f0fa2,'availableValues':_0x131f3a[_0x2fa894(0x1b2)](0x0,0x32)};}}return{'valid':_0x49b54d[_0x2fa894(0x1ad)](_0x57562a['length'],0x0),'errors':_0x57562a,'suggestions':_0x2111cb};}}module['exports']=new LookupResolver();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x19f2de=a0_0x117e;(function(_0x49a70a,_0x16cbd0){const _0x721db4=a0_0x117e,_0x1a291f=_0x49a70a();while(!![]){try{const _0x411e17=parseInt(_0x721db4(0x17f))/0x1+-parseInt(_0x721db4(0x18a))/0x2*(-parseInt(_0x721db4(0x18e))/0x3)+-parseInt(_0x721db4(0x179))/0x4+-parseInt(_0x721db4(0x193))/0x5+-parseInt(_0x721db4(0x188))/0x6*(parseInt(_0x721db4(0x17e))/0x7)+parseInt(_0x721db4(0x191))/0x8+parseInt(_0x721db4(0x189))/0x9;if(_0x411e17===_0x16cbd0)break;else _0x1a291f['push'](_0x1a291f['shift']());}catch(_0x6fa82d){_0x1a291f['push'](_0x1a291f['shift']());}}}(a0_0xbbb5,0x31d28));const fs=require('fs')['promises'],path=require('path'),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x22c38e=a0_0x117e,_0x4c81d6={'VQouj':_0x22c38e(0x196)};this['payloadDir']=path[_0x22c38e(0x18d)](__dirname,_0x4c81d6[_0x22c38e(0x198)]),this[_0x22c38e(0x17a)]=new Map();}async[a0_0x19f2de(0x197)](_0x5892eb,_0x4d7b3b){const _0x2af56a=a0_0x19f2de,_0x50c4c4={'myZGc':'payload_loaded','AJRbX':_0x2af56a(0x178)},_0x412789=_0x5892eb+':'+_0x4d7b3b;if(this[_0x2af56a(0x17a)][_0x2af56a(0x199)](_0x412789))return this[_0x2af56a(0x17a)][_0x2af56a(0x18c)](_0x412789);const _0x206750=path['join'](this['payloadDir'],_0x5892eb+'_'+_0x4d7b3b+_0x2af56a(0x177));try{const _0x542fac=await fs[_0x2af56a(0x187)](_0x206750,'utf8'),_0x51a255=JSON[_0x2af56a(0x17b)](_0x542fac);return this['cache']['set'](_0x412789,_0x51a255),logger[_0x2af56a(0x175)]({'event':_0x50c4c4['myZGc'],'project':_0x5892eb,'resource':_0x4d7b3b},'Payload\x20loaded\x20successfully'),_0x51a255;}catch(_0x2633f3){logger['error']({'event':'payload_load_error','project':_0x5892eb,'resource':_0x4d7b3b,'error':_0x2633f3['message']},_0x50c4c4['AJRbX']);throw new Error('Payload\x20not\x20found:\x20'+_0x5892eb+'_'+_0x4d7b3b);}}async[a0_0x19f2de(0x176)](_0x4cce27){const _0x5c0933=a0_0x19f2de,_0x343bbf={'hBxPg':_0x5c0933(0x18f),'PuWGO':'Payload\x20loaded\x20successfully\x20by\x20name'},_0x1ca896=_0x5c0933(0x184)+_0x4cce27;if(this['cache']['has'](_0x1ca896))return this['cache'][_0x5c0933(0x18c)](_0x1ca896);const _0x37516=path[_0x5c0933(0x18d)](this['payloadDir'],_0x4cce27+_0x5c0933(0x177));try{const _0x1d0696=await fs[_0x5c0933(0x187)](_0x37516,_0x343bbf[_0x5c0933(0x17d)]),_0x1a7b56=JSON[_0x5c0933(0x17b)](_0x1d0696);return this[_0x5c0933(0x17a)]['set'](_0x1ca896,_0x1a7b56),logger[_0x5c0933(0x175)]({'event':_0x5c0933(0x192),'payloadName':_0x4cce27},_0x343bbf['PuWGO']),_0x1a7b56;}catch(_0x38c3ce){logger[_0x5c0933(0x17c)]({'event':_0x5c0933(0x182),'payloadName':_0x4cce27,'error':_0x38c3ce[_0x5c0933(0x18b)]},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error(_0x5c0933(0x185)+_0x4cce27);}}[a0_0x19f2de(0x195)](_0x2ab1c0,_0x425036){const _0xba3e8b=a0_0x19f2de,_0x4107b5={'OUeIB':function(_0x166a92,_0x959f71){return _0x166a92===_0x959f71;}};return _0x2ab1c0[_0xba3e8b(0x186)]&&_0x4107b5[_0xba3e8b(0x194)](_0x2ab1c0[_0xba3e8b(0x186)][_0x425036],!![]);}[a0_0x19f2de(0x174)](_0x3e5293){const _0x59f708=a0_0x19f2de;return{'columns':_0x3e5293['fieldName']||[],'filename':_0x3e5293[_0x59f708(0x180)]['replace']('.','-')+'-export','datatablesQuery':_0x3e5293[_0x59f708(0x190)]||null,'columnFormats':_0x3e5293['columnFormats']||null,'fieldLabels':_0x3e5293['fieldLabels']||null};}['clearCache'](){const _0x3c9483=a0_0x19f2de,_0x4e2ab9={'gZBlq':'payload_cache_cleared','Qyfsl':'Payload\x20cache\x20cleared'};this[_0x3c9483(0x17a)][_0x3c9483(0x19a)](),logger[_0x3c9483(0x183)]({'event':_0x4e2ab9[_0x3c9483(0x181)]},_0x4e2ab9['Qyfsl']);}}function a0_0xbbb5(){const _0x4c5fd7=['AM9PBG','m1zYrur3DW','DxrMoa','zgf0yxrHyMXLC1f1zxj5','mteWmZyYnhLwvezuAa','Cgf5Bg9Hzf9SB2fKzwq','mtC2nZuYmgnUAxbLEa','t1vLsui','Axnby3rPB25fBMfIBgvK','lI4VlI4VCgf5Bg9Hza','Bg9HzfbHEwXVywq','vLfVDwO','AgfZ','y2XLyxi','z2v0rxHWB3j0q29UzMLN','zgvIDwC','Bg9HzfbHEwXVywrcEu5HBwu','lMPZB24','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','mtmWmZi1mMfZrez5Dq','y2fJAgu','CgfYC2u','zxjYB3i','Aej4ugC','ndyXm3fWA3DIyq','mtu4oty1vfDzsM93','DgfIBgvoyw1L','z1PcBhe','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','Aw5MBW','Cgf5Bg9HzdO','ugf5Bg9HzcbUB3qGzM91BMq6ia','ywn0Aw9U','CMvHzezPBgu','mJiZmND3tNzbsW','ndi2mdy1ngnov2Lssa','nZe2ndi2yLHMEwDI','BwvZC2fNzq','z2v0'];a0_0xbbb5=function(){return _0x4c5fd7;};return a0_0xbbb5();}function a0_0x117e(_0x99bfcc,_0x4b5ba6){_0x99bfcc=_0x99bfcc-0x174;const _0xbbb5be=a0_0xbbb5();let _0x117ecb=_0xbbb5be[_0x99bfcc];if(a0_0x117e['aeUKHT']===undefined){var _0x507e5b=function(_0x132971){const _0xa926ba='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2053bb='',_0x1fb7b0='';for(let _0x482c67=0x0,_0xc6d68,_0x5f3ded,_0x55c0c4=0x0;_0x5f3ded=_0x132971['charAt'](_0x55c0c4++);~_0x5f3ded&&(_0xc6d68=_0x482c67%0x4?_0xc6d68*0x40+_0x5f3ded:_0x5f3ded,_0x482c67++%0x4)?_0x2053bb+=String['fromCharCode'](0xff&_0xc6d68>>(-0x2*_0x482c67&0x6)):0x0){_0x5f3ded=_0xa926ba['indexOf'](_0x5f3ded);}for(let _0x45d763=0x0,_0x2676f4=_0x2053bb['length'];_0x45d763<_0x2676f4;_0x45d763++){_0x1fb7b0+='%'+('00'+_0x2053bb['charCodeAt'](_0x45d763)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1fb7b0);};a0_0x117e['eyuOER']=_0x507e5b,a0_0x117e['fJFSqU']={},a0_0x117e['aeUKHT']=!![];}const _0x12d549=_0xbbb5be[0x0],_0x2dc39e=_0x99bfcc+_0x12d549,_0x128554=a0_0x117e['fJFSqU'][_0x2dc39e];return!_0x128554?(_0x117ecb=a0_0x117e['eyuOER'](_0x117ecb),a0_0x117e['fJFSqU'][_0x2dc39e]=_0x117ecb):_0x117ecb=_0x128554,_0x117ecb;}module['exports']=new PayloadLoader();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';(function(_0x249d25,_0x38be1b){var _0xd5b4fa=a0_0x550b,_0x1ac3c7=_0x249d25();while(!![]){try{var _0x1e7be7=-parseInt(_0xd5b4fa(0xfe))/0x1*(parseInt(_0xd5b4fa(0xf8))/0x2)+-parseInt(_0xd5b4fa(0xfc))/0x3*(-parseInt(_0xd5b4fa(0x100))/0x4)+parseInt(_0xd5b4fa(0xff))/0x5+parseInt(_0xd5b4fa(0xfb))/0x6+parseInt(_0xd5b4fa(0xf9))/0x7+parseInt(_0xd5b4fa(0xfd))/0x8+-parseInt(_0xd5b4fa(0xfa))/0x9;if(_0x1e7be7===_0x38be1b)break;else _0x1ac3c7['push'](_0x1ac3c7['shift']());}catch(_0x5f15ad){_0x1ac3c7['push'](_0x1ac3c7['shift']());}}}(a0_0x1b49,0x98723));function a0_0x1b49(){var _0x22802e=['mJa0mZmZmZLJDfvJzuO','nJu2mJCWnhjlwM9dDq','m05Nq3jLBG','nJiXodqXnKfjvKjuDW','mvrctvDdrG','mZm3mJK1zhfbBuf0','nda4mJC2ogHLu3zpEq','Dg9ju09tDhjPBMC','mtC5odq3me10DgDmza','ntG0mZuXnKzOvM1PzG'];a0_0x1b49=function(){return _0x22802e;};return a0_0x1b49();}function createResponse(_0x5c8f29,_0x368f95,_0x23eadd=null){return{'success':!![],'statusCode':_0x5c8f29,'message':_0x368f95,'data':_0x23eadd,'timestamp':new Date()['toISOString']()};}function createError(_0x54658f,_0x406472,_0x4317cb=null){var _0x517ff0=a0_0x550b;return{'success':![],'statusCode':_0x54658f,'message':_0x406472,'data':_0x4317cb,'timestamp':new Date()[_0x517ff0(0x101)]()};}function a0_0x550b(_0x1b8230,_0x410c71){_0x1b8230=_0x1b8230-0xf8;var _0x1b49ff=a0_0x1b49();var _0x550bd0=_0x1b49ff[_0x1b8230];if(a0_0x550b['kIVyzS']===undefined){var _0x101b36=function(_0x1f8f6b){var _0x4c8a55='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x270324='',_0x504e1e='';for(var _0x446c43=0x0,_0x460dd5,_0x3153b9,_0x26d85d=0x0;_0x3153b9=_0x1f8f6b['charAt'](_0x26d85d++);~_0x3153b9&&(_0x460dd5=_0x446c43%0x4?_0x460dd5*0x40+_0x3153b9:_0x3153b9,_0x446c43++%0x4)?_0x270324+=String['fromCharCode'](0xff&_0x460dd5>>(-0x2*_0x446c43&0x6)):0x0){_0x3153b9=_0x4c8a55['indexOf'](_0x3153b9);}for(var _0x24a8ee=0x0,_0x1491d7=_0x270324['length'];_0x24a8ee<_0x1491d7;_0x24a8ee++){_0x504e1e+='%'+('00'+_0x270324['charCodeAt'](_0x24a8ee)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x504e1e);};a0_0x550b['OWEyER']=_0x101b36,a0_0x550b['sqsLUV']={},a0_0x550b['kIVyzS']=!![];}var _0x56e61e=_0x1b49ff[0x0],_0x9e62af=_0x1b8230+_0x56e61e,_0x1ade31=a0_0x550b['sqsLUV'][_0x9e62af];return!_0x1ade31?(_0x550bd0=a0_0x550b['OWEyER'](_0x550bd0),a0_0x550b['sqsLUV'][_0x9e62af]=_0x550bd0):_0x550bd0=_0x1ade31,_0x550bd0;}function createValidationError(_0x10d053,_0x2913f3){return{'success':![],'statusCode':0x190,'message':_0x10d053,'data':{'errors':_0x2913f3},'timestamp':new Date()['toISOString']()};}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
|
package/src/utils/rabbitmq.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x30a316=a0_0x1935;function a0_0x1935(_0x1d6f9c,_0x3d613c){_0x1d6f9c=_0x1d6f9c-0x136;const _0xc10a3c=a0_0xc10a();let _0x1935b0=_0xc10a3c[_0x1d6f9c];if(a0_0x1935['ZvcjtB']===undefined){var _0x1882b4=function(_0x44b1a3){const _0x17b38e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x457280='',_0x1f9576='';for(let _0x53c939=0x0,_0x52b3ca,_0x166007,_0x457ca0=0x0;_0x166007=_0x44b1a3['charAt'](_0x457ca0++);~_0x166007&&(_0x52b3ca=_0x53c939%0x4?_0x52b3ca*0x40+_0x166007:_0x166007,_0x53c939++%0x4)?_0x457280+=String['fromCharCode'](0xff&_0x52b3ca>>(-0x2*_0x53c939&0x6)):0x0){_0x166007=_0x17b38e['indexOf'](_0x166007);}for(let _0x1f2bff=0x0,_0x18062b=_0x457280['length'];_0x1f2bff<_0x18062b;_0x1f2bff++){_0x1f9576+='%'+('00'+_0x457280['charCodeAt'](_0x1f2bff)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f9576);};a0_0x1935['bnpwBS']=_0x1882b4,a0_0x1935['oMIqVR']={},a0_0x1935['ZvcjtB']=!![];}const _0x4d92c7=_0xc10a3c[0x0],_0x3f3780=_0x1d6f9c+_0x4d92c7,_0x4d04d8=a0_0x1935['oMIqVR'][_0x3f3780];return!_0x4d04d8?(_0x1935b0=a0_0x1935['bnpwBS'](_0x1935b0),a0_0x1935['oMIqVR'][_0x3f3780]=_0x1935b0):_0x1935b0=_0x4d04d8,_0x1935b0;}(function(_0x509e3d,_0x174d5e){const _0x5101d3=a0_0x1935,_0x56512=_0x509e3d();while(!![]){try{const _0x237270=parseInt(_0x5101d3(0x140))/0x1+-parseInt(_0x5101d3(0x13d))/0x2*(parseInt(_0x5101d3(0x138))/0x3)+parseInt(_0x5101d3(0x15d))/0x4*(-parseInt(_0x5101d3(0x159))/0x5)+parseInt(_0x5101d3(0x141))/0x6*(parseInt(_0x5101d3(0x15f))/0x7)+-parseInt(_0x5101d3(0x155))/0x8+-parseInt(_0x5101d3(0x148))/0x9*(-parseInt(_0x5101d3(0x150))/0xa)+-parseInt(_0x5101d3(0x14a))/0xb;if(_0x237270===_0x174d5e)break;else _0x56512['push'](_0x56512['shift']());}catch(_0x340a78){_0x56512['push'](_0x56512['shift']());}}}(a0_0xc10a,0x5e691),require('dotenv')[a0_0x30a316(0x136)]());function a0_0xc10a(){const _0x553fdb=['otLNtfjyr0i','tMzHEvy','mJm4odmYD3v3qwry','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','uKfcqKLutvfFuvvfvuu','CxvLDwu','yxnZzxj0uxvLDwu','BwvZC2fNzq','mJu0nJmWyxvkEent','Bg9N','xsbszxrYEsbXDwv1zsa','ignYzwf0zwqVCMvHzhK','xsbszxrYEsbIAw5KAw5NigzVCIa','ndK3ndaWyvvKuw5K','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','uKfcqKLutvfFrvHdsefor0u','B0fTB3y','ndu2ndG1zKLeAw5r','z3nvCNu','yNnlCKS','Aw5JBhvKzxm','nhvMDxr3wq','xsbfuLjpuJOGuxvLDwuG','mJG5nZnHyND0A1K','zM91BMq','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','D2vHqvi','y29UzMLN','y29UBMvJDa','mtaXmdK5mw1OCMLoDa','yxnZzxj0rxHJAgfUz2u','AeH4y3O','zw52','yMLUzff1zxvL','mKvLteLwtq','CMv0CNKTzxHJAgfUz2u','zxHWB3j0CW','mJKXodeYAwXvq0Ti','ndC0DMDmuen6','zNnPC1i','DMfXsfK','xsbcAw5KAw5Nia','zxjYB3i','y2XVC2u','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa'];a0_0xc10a=function(){return _0x553fdb;};return a0_0xc10a();}const amqp=require('amqplib'),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process[a0_0x30a316(0x13b)]['RABBITMQ_URL'],EXCHANGE=process[a0_0x30a316(0x13b)][a0_0x30a316(0x157)],ROUTING_KEY=process['env']['RABBITMQ_ROUTING_KEY'],QUEUE=process[a0_0x30a316(0x13b)][a0_0x30a316(0x14c)];async function createConnection(){const _0x37c533=a0_0x30a316,_0xf2c620={'NKpVi':function(_0x855dd8,_0x4b4724){return _0x855dd8(_0x4b4724);}};try{const _0x58b399=await amqp[_0x37c533(0x137)](RABBITMQ_URL);return console['log']('['+formatDate(new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x58b399;}catch(_0x274203){console[_0x37c533(0x145)]('['+_0xf2c620['NKpVi'](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x274203['message']);throw _0x274203;}}async function createChannel(_0x4e68ee){const _0x5955a7=a0_0x30a316,_0x492ce8={'fsisR':function(_0x4b7f8a,_0x5a2f20){return _0x4b7f8a(_0x5a2f20);}};try{const _0x25504f=await _0x4e68ee['createChannel']();return console['log']('['+_0x492ce8[_0x5955a7(0x142)](formatDate,new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x25504f;}catch(_0x50982c){console[_0x5955a7(0x145)]('['+formatDate(new Date())+_0x5955a7(0x162)+_0x50982c[_0x5955a7(0x14f)]);throw _0x50982c;}}async function setupInfrastructure(_0x56620e){const _0x3e1a31=a0_0x30a316,_0x2a883c={'gsUru':'direct','NfayV':function(_0xa8f629,_0x116da6){return _0xa8f629(_0x116da6);},'hHxcz':function(_0x21b2d5,_0x1aa69a){return _0x21b2d5===_0x1aa69a;},'bsKrK':_0x3e1a31(0x160),'vaqHY':function(_0x517edf,_0x1e8170){return _0x517edf(_0x1e8170);},'oAmov':'inequivalent\x20arg','bWNAX':'x-dead-letter-routing-key'};try{await _0x56620e[_0x3e1a31(0x139)](_0x3e1a31(0x13e),_0x2a883c[_0x3e1a31(0x15a)],{'durable':!![],'autoDelete':![]}),console[_0x3e1a31(0x151)]('['+formatDate(new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x12cba9){console[_0x3e1a31(0x145)]('['+_0x2a883c[_0x3e1a31(0x149)](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x12cba9[_0x3e1a31(0x14f)]);throw _0x12cba9;}try{await _0x56620e['assertExchange'](EXCHANGE,_0x2a883c['gsUru'],{'durable':!![],'autoDelete':![]}),console[_0x3e1a31(0x151)]('['+formatDate(new Date())+']\x20Exchange\x20'+EXCHANGE+_0x3e1a31(0x153));}catch(_0x47e0a9){console['error']('['+formatDate(new Date())+_0x3e1a31(0x147)+EXCHANGE+':',_0x47e0a9[_0x3e1a31(0x14f)]);throw _0x47e0a9;}const _0x579e27=ROUTING_KEY+'_retry';try{const _0x308931={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x56620e[_0x3e1a31(0x14e)](_0x579e27,_0x308931),console[_0x3e1a31(0x151)]('['+_0x2a883c['NfayV'](formatDate,new Date())+_0x3e1a31(0x152)+_0x579e27+_0x3e1a31(0x153)),await _0x56620e['bindQueue'](_0x579e27,_0x3e1a31(0x13e),ROUTING_KEY),console['log']('['+formatDate(new Date())+_0x3e1a31(0x154)+ROUTING_KEY+'\x20created');}catch(_0x5910c0){console['error']('['+formatDate(new Date())+_0x3e1a31(0x161),_0x5910c0[_0x3e1a31(0x14f)]);throw _0x5910c0;}try{const _0x29394a={'durable':!![],'arguments':{'x-dead-letter-exchange':'retry-exchange','x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x2f9363=await _0x56620e['assertQueue'](QUEUE,_0x29394a);console['log']('['+_0x2a883c['NfayV'](formatDate,new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x2a883c[_0x3e1a31(0x13a)](_0x2f9363[_0x3e1a31(0x14d)],QUEUE)?'created/ready':_0x2a883c[_0x3e1a31(0x15b)])+'\x20with\x20DLX'),await _0x56620e[_0x3e1a31(0x13c)](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x3e1a31(0x151)]('['+_0x2a883c[_0x3e1a31(0x143)](formatDate,new Date())+_0x3e1a31(0x144)+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0x5acc5b){if(_0x5acc5b['message'][_0x3e1a31(0x15c)](_0x2a883c[_0x3e1a31(0x158)])&&_0x5acc5b[_0x3e1a31(0x14f)]['includes'](_0x2a883c['bWNAX']))console[_0x3e1a31(0x145)]('\x0a['+formatDate(new Date())+_0x3e1a31(0x15e)+QUEUE+_0x3e1a31(0x156)),console['error']('Queue\x20'+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console['error']('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process['exit'](0x1);else{console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x5acc5b[_0x3e1a31(0x14f)]);throw _0x5acc5b;}}}catch(_0xf1a2ea){if(!_0xf1a2ea[_0x3e1a31(0x14f)]['includes'](_0x2a883c[_0x3e1a31(0x158)])){console['error']('['+_0x2a883c['vaqHY'](formatDate,new Date())+_0x3e1a31(0x14b),_0xf1a2ea['message']);throw _0xf1a2ea;}process['exit'](0x1);}}async function closeConnection(_0x317e7d){const _0x651405=a0_0x30a316,_0x188315={'weaAR':function(_0x47419a,_0x430e14){return _0x47419a(_0x430e14);}};if(_0x317e7d)try{await _0x317e7d[_0x651405(0x146)](),console['log']('['+formatDate(new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x159a46){console[_0x651405(0x145)]('['+_0x188315[_0x651405(0x163)](formatDate,new Date())+']\x20Failed\x20to\x20close\x20RabbitMQ\x20connection:\x20'+_0x159a46['message']);}}module[a0_0x30a316(0x13f)]={'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_0x25bf1c=a0_0xf73b;function a0_0x91b1(){const _0x36ef26=['mJHzq3jprwq','z0r2BMS','zgLZy29UBMvJDa','DgrftwK','rwLWA2C','zxjYB3i','y29UBMvJDa','nJu1mJiWv3Pxyw1T','zxHWB3j0CW','otK1ntuZmerxqLP1sq','Aw9YzwrPCW','mJK3mdm2ohDlvgjuAG','mtmWotqYogD6qMXSEa','y2XPzw50','z2v0q2XPzw50','D2fYBG','mZbYD3fTsMW','y2XVC2u','ue9orW','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','CMvKAxnFy29UBMvJDgvK','zM9Yy2veAxnJB25Uzwn0','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','uMvKAxmGueLorYb0Aw1LB3v0','BwLU','BwvZC2fNzq','mJKYmteWmereDvjUtW','zw52','uKvesvnFse9tva','mZeXotK0owzOBvrxsq','ndq1mJa3vhbcr0Lb','AxndB25Uzwn0zwq'];a0_0x91b1=function(){return _0x36ef26;};return a0_0x91b1();}(function(_0x3537ae,_0x49d799){const _0x107d9a=a0_0xf73b,_0x4f8023=_0x3537ae();while(!![]){try{const _0x2b5311=parseInt(_0x107d9a(0x1ed))/0x1+-parseInt(_0x107d9a(0x1fb))/0x2+-parseInt(_0x107d9a(0x1fe))/0x3+-parseInt(_0x107d9a(0x201))/0x4*(-parseInt(_0x107d9a(0x208))/0x5)+parseInt(_0x107d9a(0x1f1))/0x6*(parseInt(_0x107d9a(0x1ff))/0x7)+-parseInt(_0x107d9a(0x1ec))/0x8+parseInt(_0x107d9a(0x20a))/0x9;if(_0x2b5311===_0x49d799)break;else _0x4f8023['push'](_0x4f8023['shift']());}catch(_0x9a38ed){_0x4f8023['push'](_0x4f8023['shift']());}}}(a0_0x91b1,0xbe34a));function a0_0xf73b(_0x4c5a1d,_0x576890){_0x4c5a1d=_0x4c5a1d-0x1ec;const _0x91b119=a0_0x91b1();let _0xf73b78=_0x91b119[_0x4c5a1d];if(a0_0xf73b['EIkiOw']===undefined){var _0x3ecc95=function(_0x42372a){const _0x3b39aa='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3e491e='',_0x47b124='';for(let _0x23e575=0x0,_0x305b16,_0x52fee6,_0x4695d9=0x0;_0x52fee6=_0x42372a['charAt'](_0x4695d9++);~_0x52fee6&&(_0x305b16=_0x23e575%0x4?_0x305b16*0x40+_0x52fee6:_0x52fee6,_0x23e575++%0x4)?_0x3e491e+=String['fromCharCode'](0xff&_0x305b16>>(-0x2*_0x23e575&0x6)):0x0){_0x52fee6=_0x3b39aa['indexOf'](_0x52fee6);}for(let _0x1c636b=0x0,_0x440921=_0x3e491e['length'];_0x1c636b<_0x440921;_0x1c636b++){_0x47b124+='%'+('00'+_0x3e491e['charCodeAt'](_0x1c636b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x47b124);};a0_0xf73b['HJAXbZ']=_0x3ecc95,a0_0xf73b['jvbhpe']={},a0_0xf73b['EIkiOw']=!![];}const _0x1a53c1=_0x91b119[0x0],_0x41d4ec=_0x4c5a1d+_0x1a53c1,_0x21603a=a0_0xf73b['jvbhpe'][_0x41d4ec];return!_0x21603a?(_0xf73b78=a0_0xf73b['HJAXbZ'](_0xf73b78),a0_0xf73b['jvbhpe'][_0x41d4ec]=_0xf73b78):_0xf73b78=_0x21603a,_0xf73b78;}const Redis=require(a0_0x25bf1c(0x20b)),{logger}=require('./logger');class RedisClient{constructor(){const _0x27eed6=a0_0x25bf1c;this['client']=null,this[_0x27eed6(0x200)]=![];}['connect'](){const _0x338721=a0_0x25bf1c,_0x269363={'tdEMi':function(_0x53aed3,_0x168274){return _0x53aed3*_0x168274;},'UlJke':_0x338721(0x1f5),'vqlni':'Redis\x20connected\x20successfully','gDvnk':'Redis\x20connection\x20closed','imOqZ':'localhost','Eipkg':function(_0x2e423d,_0x180c33,_0xc21792){return _0x2e423d(_0x180c33,_0xc21792);},'fJfOW':'connect','bnFqA':_0x338721(0x1f2)};if(this['client'])return this[_0x338721(0x1ee)];try{return this['client']=new Redis({'host':process[_0x338721(0x1fc)][_0x338721(0x1fd)]||_0x269363['imOqZ'],'port':_0x269363[_0x338721(0x205)](parseInt,process[_0x338721(0x1fc)]['REDIS_PORT'],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0x338721(0x1fc)]['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x31d4ba){const _0x414c04=_0x338721,_0x121e75=Math[_0x414c04(0x1f9)](_0x269363[_0x414c04(0x204)](_0x31d4ba,0x32),0x7d0);return _0x121e75;}}),this[_0x338721(0x1ee)]['on'](_0x269363['fJfOW'],()=>{const _0x386b6e=_0x338721;this[_0x386b6e(0x200)]=!![],logger['info']({'event':_0x269363['UlJke']},_0x269363['vqlni']);}),this['client']['on'](_0x338721(0x206),_0x86db15=>{const _0x1719c4=_0x338721;this[_0x1719c4(0x200)]=![],logger[_0x1719c4(0x206)]({'event':'redis_error','error':_0x86db15[_0x1719c4(0x1fa)]},_0x1719c4(0x1f7)+_0x86db15['message']);}),this['client']['on'](_0x269363['bnFqA'],()=>{const _0x4e6118=_0x338721;this[_0x4e6118(0x200)]=![],logger[_0x4e6118(0x1f0)]({'event':'redis_disconnected'},_0x269363[_0x4e6118(0x202)]);}),this[_0x338721(0x1ee)];}catch(_0x34e33f){logger['error']({'event':'redis_init_error','error':_0x34e33f[_0x338721(0x1fa)]},_0x338721(0x1f4));throw _0x34e33f;}}[a0_0x25bf1c(0x1ef)](){const _0x297475=a0_0x25bf1c;return!this['client']&&this[_0x297475(0x207)](),this['client'];}async['ping'](_0x14a4cc=0x1388){const _0x33b865=a0_0x25bf1c;try{const _0x5f0357=this['getClient'](),_0x53d089=await Promise['race']([_0x5f0357['ping'](),new Promise((_0x2ce7c7,_0x17c127)=>setTimeout(()=>_0x17c127(new Error(_0x33b865(0x1f8))),_0x14a4cc))]);return _0x53d089===_0x33b865(0x1f3);}catch(_0x48456e){return![];}}async['disconnect'](){const _0x3e0584=a0_0x25bf1c;this['client']&&(await this['client']['quit'](),this[_0x3e0584(0x1ee)]=null,this[_0x3e0584(0x200)]=![]);}[a0_0x25bf1c(0x1f6)](){const _0x12aa70=a0_0x25bf1c;this[_0x12aa70(0x1ee)]&&(this[_0x12aa70(0x1ee)][_0x12aa70(0x203)](),this[_0x12aa70(0x1ee)]=null,this[_0x12aa70(0x200)]=![]);}}module[a0_0x25bf1c(0x209)]=new RedisClient();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x2eb562=a0_0x93f2;(function(_0x1f914a,_0x3d3de9){const _0x35c7f9=a0_0x93f2,_0x120c2e=_0x1f914a();while(!![]){try{const _0x26902b=-parseInt(_0x35c7f9(0x13d))/0x1*(parseInt(_0x35c7f9(0x143))/0x2)+parseInt(_0x35c7f9(0x13e))/0x3*(-parseInt(_0x35c7f9(0x151))/0x4)+parseInt(_0x35c7f9(0x138))/0x5+-parseInt(_0x35c7f9(0x13c))/0x6+-parseInt(_0x35c7f9(0x146))/0x7*(parseInt(_0x35c7f9(0x13b))/0x8)+-parseInt(_0x35c7f9(0x152))/0x9+parseInt(_0x35c7f9(0x153))/0xa;if(_0x26902b===_0x3d3de9)break;else _0x120c2e['push'](_0x120c2e['shift']());}catch(_0x416890){_0x120c2e['push'](_0x120c2e['shift']());}}}(a0_0x227b,0x4fd15));const redisClient=require(a0_0x2eb562(0x144)),{logger}=require(a0_0x2eb562(0x130));function a0_0x93f2(_0x549e08,_0x176dc2){_0x549e08=_0x549e08-0x12f;const _0x227b11=a0_0x227b();let _0x93f27a=_0x227b11[_0x549e08];if(a0_0x93f2['znnXCF']===undefined){var _0x2e4468=function(_0x36f079){const _0x20e19b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xe3f5d7='',_0x2ee215='';for(let _0x525442=0x0,_0x3cef91,_0x35a479,_0x5c7eef=0x0;_0x35a479=_0x36f079['charAt'](_0x5c7eef++);~_0x35a479&&(_0x3cef91=_0x525442%0x4?_0x3cef91*0x40+_0x35a479:_0x35a479,_0x525442++%0x4)?_0xe3f5d7+=String['fromCharCode'](0xff&_0x3cef91>>(-0x2*_0x525442&0x6)):0x0){_0x35a479=_0x20e19b['indexOf'](_0x35a479);}for(let _0x328954=0x0,_0x57c5d7=_0xe3f5d7['length'];_0x328954<_0x57c5d7;_0x328954++){_0x2ee215+='%'+('00'+_0xe3f5d7['charCodeAt'](_0x328954)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2ee215);};a0_0x93f2['shIzGE']=_0x2e4468,a0_0x93f2['oyQxsa']={},a0_0x93f2['znnXCF']=!![];}const _0x534259=_0x227b11[0x0],_0x45fda4=_0x549e08+_0x534259,_0x560075=a0_0x93f2['oyQxsa'][_0x45fda4];return!_0x560075?(_0x93f27a=a0_0x93f2['shIzGE'](_0x93f27a),a0_0x93f2['oyQxsa'][_0x45fda4]=_0x93f27a):_0x93f27a=_0x560075,_0x93f27a;}class RedisHelper{constructor(){const _0x413b70=a0_0x2eb562,_0x37fd20={'HQYpJ':function(_0x2cfa14,_0x256d40,_0x4735fa){return _0x2cfa14(_0x256d40,_0x4735fa);}};this[_0x413b70(0x14d)]=null,this[_0x413b70(0x135)]=_0x37fd20[_0x413b70(0x12f)](parseInt,process[_0x413b70(0x134)]['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get['prefix'](){const _0x3fb7a4=a0_0x2eb562;if(!this[_0x3fb7a4(0x14d)]){const _0xad2b8f=process[_0x3fb7a4(0x134)]['RESTFORGE_PROJECT_NAME']||_0x3fb7a4(0x141);this['_prefix']=_0x3fb7a4(0x136)+_0xad2b8f+_0x3fb7a4(0x154);}return this['_prefix'];}async[a0_0x2eb562(0x150)](_0x408cb6,_0x424e94){const _0x336ed9=a0_0x2eb562,_0x41a6c6={'fDTVN':'Failed\x20to\x20set\x20job\x20in\x20Redis'};try{const _0x2d036c=redisClient['getClient'](),_0x38c28e=''+this[_0x336ed9(0x131)]+_0x408cb6;return await _0x2d036c[_0x336ed9(0x155)](_0x38c28e,this['ttl'],JSON['stringify'](_0x424e94)),!![];}catch(_0xd6ddd1){return logger[_0x336ed9(0x14a)]({'event':_0x336ed9(0x14e),'jobId':_0x408cb6,'error':_0xd6ddd1[_0x336ed9(0x14c)]},_0x41a6c6[_0x336ed9(0x148)]),![];}}async[a0_0x2eb562(0x139)](_0x165605){const _0x437e4c=a0_0x2eb562,_0x55d343={'nfIot':_0x437e4c(0x156),'eisKl':'Failed\x20to\x20get\x20job\x20from\x20Redis'};try{const _0x41811d=redisClient['getClient'](),_0xe5f05b=''+this[_0x437e4c(0x131)]+_0x165605,_0x5aeaae=await _0x41811d['get'](_0xe5f05b);return _0x5aeaae?JSON['parse'](_0x5aeaae):null;}catch(_0x4de38a){return logger['error']({'event':_0x55d343[_0x437e4c(0x142)],'jobId':_0x165605,'error':_0x4de38a[_0x437e4c(0x14c)]},_0x55d343[_0x437e4c(0x145)]),null;}}async[a0_0x2eb562(0x13f)](_0x226b6b,_0x21d0e5){const _0x3f3a89=await this['getJob'](_0x226b6b);if(!_0x3f3a89)return![];const _0x340ab4={..._0x3f3a89,..._0x21d0e5};return await this['setJob'](_0x226b6b,_0x340ab4);}async['deleteJob'](_0x14ee6d){const _0x3000e6=a0_0x2eb562;try{const _0x4bdee9=redisClient['getClient'](),_0x2f1b45=''+this[_0x3000e6(0x131)]+_0x14ee6d;return await _0x4bdee9[_0x3000e6(0x133)](_0x2f1b45),!![];}catch(_0xa9c71e){return logger[_0x3000e6(0x14a)]({'event':_0x3000e6(0x13a),'jobId':_0x14ee6d,'error':_0xa9c71e['message']},'Failed\x20to\x20delete\x20job\x20from\x20Redis'),![];}}async[a0_0x2eb562(0x149)](){const _0x26738d=a0_0x2eb562,_0x91fd62={'MSDqa':_0x26738d(0x147)};try{const _0x45f1b9=redisClient['getClient'](),_0x2dc684=await _0x45f1b9['keys'](this[_0x26738d(0x131)]+'*'),_0x51cb5b=[];for(const _0x1f08e3 of _0x2dc684){const _0x234b0d=await _0x45f1b9[_0x26738d(0x14f)](_0x1f08e3);_0x234b0d&&_0x51cb5b[_0x26738d(0x14b)](JSON[_0x26738d(0x132)](_0x234b0d));}return _0x51cb5b;}catch(_0x470b5a){return logger['error']({'event':'redis_getall_error','error':_0x470b5a['message']},_0x91fd62[_0x26738d(0x137)]),[];}}}module[a0_0x2eb562(0x140)]=new RedisHelper();function a0_0x227b(){const _0x31bf25=['oMv4Cg9YDdO','C2v0zxG','CMvKAxnFz2v0x2vYCM9Y','sffzCeO','lI9SB2DNzxi','ChjLzML4','CgfYC2u','zgvS','zw52','DhrS','CMvZDgzVCMDLoG','tvneCwe','mtC5nZKWChDYqxzl','z2v0sM9I','CMvKAxnFzgvSzxrLx2vYCM9Y','offNwMvMDa','mJi1ndCXmfPZB1HcBa','mvvzDfn0Bq','mtC0nduZCuvHwLHe','DxbKyxrLsM9I','zxHWB3j0CW','zgvMyxvSDa','BMzjB3q','odeYmJm0ue5Zr1bk','lI9YzwrPCY1JBgLLBNq','zwLZs2W','mJqXmtq3oxLNCwn6Ea','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','zKruvK4','z2v0qwXSsM9ICW','zxjYB3i','ChvZAa','BwvZC2fNzq','x3bYzwzPEa','CMvKAxnFC2v0x2vYCM9Y','z2v0','C2v0sM9I','mJruA2r4tgW','mZmZodKZn3zVzfLPwG','mJeZnZi3mZb3BfHiDfu'];a0_0x227b=function(){return _0x31bf25;};return a0_0x227b();}
|