@restforgejs/platform 5.0.9 → 5.1.4
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/data/pull.js +95 -0
- package/generators/cli/data/push.js +85 -0
- package/generators/cli/fast-track.js +950 -0
- package/generators/cli/payload/sync.js +18 -2
- package/generators/cli/schema/introspect.js +10 -10
- package/generators/lib/data/db-executor.js +440 -0
- package/generators/lib/data/dialect-kit.js +56 -0
- package/generators/lib/data/envelope.js +220 -0
- package/generators/lib/data/pull-runner.js +407 -0
- package/generators/lib/data/push-runner.js +382 -0
- package/generators/lib/data/sdf-reader.js +132 -0
- package/generators/lib/data/table-order.js +126 -0
- package/generators/lib/data/value-codec.js +188 -0
- package/generators/lib/migrate/field-type-resolver.js +18 -5
- package/generators/lib/payload/payload-runner.js +724 -39
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/integrity-manifest.json +18 -18
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x1cb7d7=a0_0x730f;function a0_0x730f(_0x39eb5a,_0x42c14f){_0x39eb5a=_0x39eb5a-0x65;const _0xec10d1=a0_0xec10();let _0x730f69=_0xec10d1[_0x39eb5a];if(a0_0x730f['SXdKJe']===undefined){var _0x5dcbb1=function(_0x4e0fc4){const _0x53300='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x7c4252='',_0x4e8621='';for(let _0x17474b=0x0,_0x228fbd,_0x3405da,_0x384900=0x0;_0x3405da=_0x4e0fc4['charAt'](_0x384900++);~_0x3405da&&(_0x228fbd=_0x17474b%0x4?_0x228fbd*0x40+_0x3405da:_0x3405da,_0x17474b++%0x4)?_0x7c4252+=String['fromCharCode'](0xff&_0x228fbd>>(-0x2*_0x17474b&0x6)):0x0){_0x3405da=_0x53300['indexOf'](_0x3405da);}for(let _0x105116=0x0,_0x1fce67=_0x7c4252['length'];_0x105116<_0x1fce67;_0x105116++){_0x4e8621+='%'+('00'+_0x7c4252['charCodeAt'](_0x105116)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4e8621);};a0_0x730f['qyaZAO']=_0x5dcbb1,a0_0x730f['jZDrWp']={},a0_0x730f['SXdKJe']=!![];}const _0x14c62d=_0xec10d1[0x0],_0x400bd8=_0x39eb5a+_0x14c62d,_0x3409c1=a0_0x730f['jZDrWp'][_0x400bd8];return!_0x3409c1?(_0x730f69=a0_0x730f['qyaZAO'](_0x730f69),a0_0x730f['jZDrWp'][_0x400bd8]=_0x730f69):_0x730f69=_0x3409c1,_0x730f69;}(function(_0x3616e9,_0x569212){const _0x4f4961=a0_0x730f,_0x3e7230=_0x3616e9();while(!![]){try{const _0x12fb7f=parseInt(_0x4f4961(0x83))/0x1*(-parseInt(_0x4f4961(0xc0))/0x2)+parseInt(_0x4f4961(0x66))/0x3+parseInt(_0x4f4961(0x79))/0x4+-parseInt(_0x4f4961(0x85))/0x5*(parseInt(_0x4f4961(0x6a))/0x6)+-parseInt(_0x4f4961(0x9b))/0x7+parseInt(_0x4f4961(0x78))/0x8+parseInt(_0x4f4961(0xc1))/0x9*(parseInt(_0x4f4961(0x9e))/0xa);if(_0x12fb7f===_0x569212)break;else _0x3e7230['push'](_0x3e7230['shift']());}catch(_0x4f0316){_0x3e7230['push'](_0x3e7230['shift']());}}}(a0_0xec10,0xd50f4));const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x249d15=a0_0x730f,_0x4c7f7a=_0x249d15(0x8a)[_0x249d15(0xb3)]('|');let _0x552900=0x0;while(!![]){switch(_0x4c7f7a[_0x552900++]){case'0':this['_initialized']=![];continue;case'1':this['_retryCount']=null;continue;case'2':this['_prefix']=null;continue;case'3':this['_retryDelay']=null;continue;case'4':this['_strategy']=null;continue;case'5':this['_defaultTTL']=null;continue;case'6':this[_0x249d15(0x87)]=null;continue;case'7':this['_workerId']=null;continue;}break;}}['_initConfig'](){const _0x1cf662=a0_0x730f,_0x2f15e8={'wZlFj':_0x1cf662(0x90),'HpCjP':function(_0x21ab75,_0x3053ea){return _0x21ab75===_0x3053ea;},'gnpZQ':'rf:lock:','UJcRm':_0x1cf662(0xbc)},_0x2f037d=_0x2f15e8['wZlFj'][_0x1cf662(0xb3)]('|');let _0x9683a9=0x0;while(!![]){switch(_0x2f037d[_0x9683a9++]){case'0':this['_enabled']=_0x2f15e8['HpCjP'](process[_0x1cf662(0xa3)][_0x1cf662(0xb5)],_0x1cf662(0xab));continue;case'1':this[_0x1cf662(0xbd)]=!![];continue;case'2':this['_workerId']='worker-'+process[_0x1cf662(0xa8)];continue;case'3':this[_0x1cf662(0xa2)]=_0x2f15e8['gnpZQ'];continue;case'4':this['_retryCount']=parseInt(process[_0x1cf662(0xa3)]['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3;continue;case'5':logger['info']({'event':'lock_config_init','enabled':this['_enabled'],'strategy':this['_strategy'],'ttl':this[_0x1cf662(0x93)],'retryCount':this[_0x1cf662(0x84)],'retryDelay':this['_retryDelay'],'workerId':this['_workerId']},_0x1cf662(0x96)+this[_0x1cf662(0x87)]+_0x1cf662(0xaa)+this['_strategy']);continue;case'6':this['_retryDelay']=parseInt(process['env']['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64;continue;case'7':this['_strategy']=process[_0x1cf662(0xa3)]['LOCK_DISTRIBUTED_STRATEGY']||_0x2f15e8['UJcRm'];continue;case'8':this['_defaultTTL']=parseInt(process['env'][_0x1cf662(0x75)],0xa)||0xa;continue;}break;}}['_ensureInitialized'](){const _0x59d4ef=a0_0x730f;!this[_0x59d4ef(0xbd)]&&this['_initConfig']();}get['prefix'](){const _0x312e2d=a0_0x730f;return this[_0x312e2d(0xaf)](),this[_0x312e2d(0xa2)];}get['enabled'](){const _0x3026b9=a0_0x730f;return this[_0x3026b9(0xaf)](),this[_0x3026b9(0x87)];}get[a0_0x1cb7d7(0xb6)](){const _0x28133c=a0_0x1cb7d7;return this[_0x28133c(0xaf)](),this['_defaultTTL'];}get['retryCount'](){const _0x56f6fd=a0_0x1cb7d7;return this['_ensureInitialized'](),this[_0x56f6fd(0x84)];}get[a0_0x1cb7d7(0x74)](){const _0x1965a4=a0_0x1cb7d7;return this[_0x1965a4(0xaf)](),this['_retryDelay'];}get['strategy'](){const _0x7a8271=a0_0x1cb7d7;return this[_0x7a8271(0xaf)](),this['_strategy'];}get[a0_0x1cb7d7(0xa1)](){const _0x403089=a0_0x1cb7d7;return this[_0x403089(0xaf)](),this[_0x403089(0x71)];}[a0_0x1cb7d7(0x9c)](_0x5b8376){const _0x101b7a=a0_0x1cb7d7,{module:_0xccc1de,endpoint:_0x508fdf,lockType:_0x530932,recordId:_0x3dcd93}=_0x5b8376;if(_0x3dcd93)return''+this[_0x101b7a(0x77)]+_0xccc1de+':'+_0x508fdf+':'+_0x3dcd93+':'+_0x530932;return''+this['prefix']+_0xccc1de+':'+_0x508fdf+':'+_0x530932;}['generateLockValue'](){const _0x4d63f3=a0_0x1cb7d7,_0x5563b8={'EpqdO':function(_0x5bbd4c){return _0x5bbd4c();}};return this['workerId']+':'+_0x5563b8[_0x4d63f3(0x69)](uuidv4)+':'+Date[_0x4d63f3(0x81)]();}async['acquireReadLock'](_0x308fcb){const _0x481cc6=a0_0x1cb7d7,_0x4bfece={'EwiOs':'READ\x20lock\x20acquired','zTWof':_0x481cc6(0x70),'KEcpB':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','yDznS':function(_0x231e7e,_0xee963f){return _0x231e7e*_0xee963f;},'waEmt':_0x481cc6(0x7c),'rVjvR':'READ\x20lock\x20acquire\x20timeout','ZAigZ':_0x481cc6(0xb7)};if(!this[_0x481cc6(0xb4)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x5a5ac0=this[_0x481cc6(0x9c)]({..._0x308fcb,'lockType':_0x481cc6(0x6e)}),_0x31ee54=this[_0x481cc6(0x9c)]({..._0x308fcb,'lockType':'read'}),_0x163bd4=this[_0x481cc6(0x6b)]();try{const _0x3c0c47=redisClient[_0x481cc6(0xac)]();for(let _0x18712a=0x0;_0x18712a<this[_0x481cc6(0x91)];_0x18712a++){const _0x582c2f=await _0x3c0c47[_0x481cc6(0x97)](_0x5a5ac0);if(!_0x582c2f){await _0x3c0c47['incr'](_0x31ee54),await _0x3c0c47['expire'](_0x31ee54,this[_0x481cc6(0xb6)]);const _0x12ed1f=_0x31ee54+':'+_0x163bd4;return await _0x3c0c47[_0x481cc6(0x89)](_0x12ed1f,this[_0x481cc6(0xb6)],_0x163bd4),logger['debug']({'event':'read_lock_acquired','key':_0x31ee54,'value':_0x163bd4},_0x4bfece[_0x481cc6(0x7f)]),{'success':!![],'lockValue':_0x163bd4,'lockKey':_0x12ed1f};}logger[_0x481cc6(0x8b)]({'event':_0x4bfece[_0x481cc6(0x92)],'writeKey':_0x5a5ac0,'attempt':_0x18712a},_0x4bfece['KEcpB']),await this[_0x481cc6(0x7d)](_0x4bfece[_0x481cc6(0xad)](this[_0x481cc6(0x74)],Math['pow'](0x2,_0x18712a)));}return logger['warn']({'event':_0x4bfece[_0x481cc6(0x98)],'key':_0x31ee54},_0x4bfece['rVjvR']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x5bfad9){return logger[_0x481cc6(0x7e)]({'event':_0x4bfece[_0x481cc6(0xae)],'error':_0x5bfad9[_0x481cc6(0x8c)]},'READ\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x7033c0){const _0x7e6219=a0_0x1cb7d7,_0x41572f={'LBTGo':function(_0x309129,_0x2ad6b5){return _0x309129===_0x2ad6b5;},'tOUbo':_0x7e6219(0x76),'HhWEE':_0x7e6219(0x9a),'ZajMY':function(_0x1c9973,_0x18af34){return _0x1c9973<_0x18af34;},'SiKNX':function(_0x5566e4,_0x55e1bc){return _0x5566e4(_0x55e1bc);},'BHwxP':'WRITE\x20lock\x20acquired\x20(retry\x20mode)','blTyI':_0x7e6219(0x8f),'TKemI':'write_lock_timeout','UIyFE':'write_lock_error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x57d4d7=this['buildLockKey']({..._0x7033c0,'lockType':'write'}),_0x18d582=this[_0x7e6219(0x9c)]({..._0x7033c0,'lockType':_0x7e6219(0x82)}),_0x387aff=this['generateLockValue']();try{const _0x61a400=redisClient['getClient']();if(_0x41572f[_0x7e6219(0x6d)](this[_0x7e6219(0x86)],'reject')){const _0x443842=await _0x61a400[_0x7e6219(0x80)](_0x57d4d7,_0x387aff,'EX',this['defaultTTL'],'NX');if(_0x443842==='OK')return logger['debug']({'event':_0x41572f['tOUbo'],'key':_0x57d4d7,'value':_0x387aff,'strategy':'reject'},_0x41572f[_0x7e6219(0x94)]),{'success':!![],'lockValue':_0x387aff,'lockKey':_0x57d4d7};return logger[_0x7e6219(0x8b)]({'event':_0x7e6219(0xa6),'key':_0x57d4d7},_0x7e6219(0xba)),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x552798=0x0;_0x41572f['ZajMY'](_0x552798,this[_0x7e6219(0x91)]);_0x552798++){const [_0x2e7269,_0x310409]=await Promise['all']([_0x61a400[_0x7e6219(0x97)](_0x18d582),_0x61a400[_0x7e6219(0x97)](_0x57d4d7)]);if(!_0x310409&&(!_0x2e7269||_0x41572f['SiKNX'](parseInt,_0x2e7269)===0x0)){const _0x5dbaf8=await _0x61a400[_0x7e6219(0x80)](_0x57d4d7,_0x387aff,'EX',this['defaultTTL'],'NX');if(_0x41572f['LBTGo'](_0x5dbaf8,'OK'))return logger['debug']({'event':_0x41572f[_0x7e6219(0xbb)],'key':_0x57d4d7,'value':_0x387aff,'strategy':'retry'},_0x41572f[_0x7e6219(0xb8)]),{'success':!![],'lockValue':_0x387aff,'lockKey':_0x57d4d7};}logger['debug']({'event':_0x41572f[_0x7e6219(0xa5)],'writeKey':_0x57d4d7,'readCount':_0x2e7269,'attempt':_0x552798},_0x7e6219(0xa7)),await this[_0x7e6219(0x7d)](this[_0x7e6219(0x74)]*Math['pow'](0x2,_0x552798));}return logger[_0x7e6219(0x6f)]({'event':_0x41572f['TKemI'],'key':_0x57d4d7},_0x7e6219(0xbf)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x2746fa){return logger['error']({'event':_0x41572f[_0x7e6219(0x65)],'error':_0x2746fa[_0x7e6219(0x8c)]},_0x7e6219(0x88)),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x5b1337,_0x5ac27a){const _0xbab14=a0_0x1cb7d7,_0x196894={'TAyCR':function(_0x2ed9b8,_0x597696){return _0x2ed9b8>_0x597696;},'rrmmp':function(_0x5fe029,_0x2f86b2){return _0x5fe029===_0x2f86b2;},'kFhIf':_0xbab14(0xb9),'fKRLu':_0xbab14(0xa9),'dbFrw':'Lock\x20release\x20error'};if(!this[_0xbab14(0xb4)]||!_0x5b1337)return!![];try{const _0x4ec254=redisClient[_0xbab14(0xac)]();if(_0x5b1337[_0xbab14(0x9f)](':read:')){await _0x4ec254[_0xbab14(0x68)](_0x5b1337);const _0x3174f4=_0x5b1337['substring'](0x0,_0x5b1337['lastIndexOf'](':')),_0xe0cc6b=await _0x4ec254[_0xbab14(0x97)](_0x3174f4);return _0xe0cc6b&&_0x196894[_0xbab14(0xb2)](parseInt(_0xe0cc6b),0x0)&&await _0x4ec254['decr'](_0x3174f4),logger[_0xbab14(0x8b)]({'event':'read_lock_released','key':_0x5b1337},_0xbab14(0x95)),!![];}const _0x39928a=_0xbab14(0x73),_0x2ff2ba=await _0x4ec254['eval'](_0x39928a,0x1,_0x5b1337,_0x5ac27a);if(_0x196894['rrmmp'](_0x2ff2ba,0x1))return logger[_0xbab14(0x8b)]({'event':_0xbab14(0x9d),'key':_0x5b1337},_0x196894[_0xbab14(0xbe)]),!![];return logger[_0xbab14(0x6f)]({'event':'lock_release_not_owner','key':_0x5b1337},_0x196894[_0xbab14(0x7b)]),![];}catch(_0xeb41df){return logger['error']({'event':_0xbab14(0x67),'key':_0x5b1337,'error':_0xeb41df[_0xbab14(0x8c)]},_0x196894[_0xbab14(0x7a)]),![];}}async[a0_0x1cb7d7(0x99)](_0x6f48d7,_0x4dee75,_0x43e59a=null){const _0x50583f=a0_0x1cb7d7,_0x5ccf78={'XkHgA':_0x50583f(0x6c),'iRlAM':_0x50583f(0xb0),'xdTXi':'Lock\x20extend\x20error'};if(!this['enabled']||!_0x6f48d7)return!![];try{const _0x485eea=redisClient['getClient'](),_0x2fee32='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22expire\x22,\x20KEYS[1],\x20ARGV[2])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x150cd4=await _0x485eea[_0x50583f(0xa0)](_0x2fee32,0x1,_0x6f48d7,_0x4dee75,_0x43e59a||this['defaultTTL']);if(_0x150cd4===0x1)return logger['debug']({'event':_0x5ccf78['XkHgA'],'key':_0x6f48d7,'ttl':_0x43e59a||this['defaultTTL']},_0x5ccf78[_0x50583f(0x8d)]),!![];return![];}catch(_0x4bc3a3){return logger[_0x50583f(0x7e)]({'event':'lock_extend_error','key':_0x6f48d7,'error':_0x4bc3a3['message']},_0x5ccf78[_0x50583f(0x72)]),![];}}['isEnabled'](){return this['enabled'];}['sleep'](_0x2cd321){return new Promise(_0x4a3943=>setTimeout(_0x4a3943,_0x2cd321));}async['getLockInfo'](_0x3f2937){const _0x271c04=a0_0x1cb7d7,_0x115dbd={'OrlvZ':'read'};if(!this[_0x271c04(0xb4)])return{'enabled':![]};try{const _0x76f946=redisClient[_0x271c04(0xac)](),_0xc3fd86=this['buildLockKey']({..._0x3f2937,'lockType':'write'}),_0x294d12=this[_0x271c04(0x9c)]({..._0x3f2937,'lockType':_0x115dbd[_0x271c04(0x8e)]}),[_0x8dc43a,_0x2a4dbc]=await Promise[_0x271c04(0xb1)]([_0x76f946['get'](_0xc3fd86),_0x76f946['get'](_0x294d12)]);return{'enabled':!![],'writeLock':_0x8dc43a||null,'readCount':parseInt(_0x2a4dbc)||0x0,'writeKey':_0xc3fd86,'readKey':_0x294d12};}catch(_0x2eeec2){return{'enabled':!![],'error':_0x2eeec2['message']};}}}module[a0_0x1cb7d7(0xa4)]=new LockManager();function a0_0xec10(){const _0xa50f88=['mZCWn1rouuLdva','x3jLDhj5q291BNq','mtG0nJq5me5WBvLRyW','C3rYyxrLz3K','x2vUywjSzwq','v1jjveuGBg9JAYbLCNjVCG','C2v0zxG','mNW2Fdv8mxWZFdr8n3WW','zgvIDwC','BwvZC2fNzq','AvjSqu0','t3jSDLO','D3jPDgvFBg9JA193ywL0Aw5N','m3WWFdH8nhW2FdD8mNWXFdu','CMv0CNLdB3vUDa','ELrxB2y','x2rLzMf1BhruveW','sgHxruu','uKvbrcbSB2nRihjLBgvHC2vK','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','z2v0','D2ffBxq','zxH0zw5Ktg9JAW','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','mta4mJy4ntHwuxjUt08','yNvPBgrmB2nRs2v5','D3jPDgvFBg9JA19YzwXLyxnLza','mZe5nZCYmhvJCNLzqG','Aw5JBhvKzxm','zxzHBa','D29YA2vYswq','x3bYzwzPEa','zw52','zxHWB3j0CW','yMXuEuK','D3jPDgvFBg9JA19YzwPLy3rLza','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','CgLK','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','lcbZDhjHDgvNEtOG','Dhj1zq','z2v0q2XPzw50','Eur6BLm','wKfPz1O','x2vUC3vYzuLUAxrPywXPEMvK','tg9JAYbuveWGzxH0zw5Kzwq','ywXS','vef5q1i','C3bSAxq','zw5HyMXLza','te9ds19esvnuuKLcvvrfrf9ftKfcteve','zgvMyxvSDfruta','CMvHzf9SB2nRx2vYCM9Y','qKH3Efa','v1jjveuGBg9JAYbYzwXLyxnLza','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','De9vyM8','CMv0CNK','x2LUAxrPywXPEMvK','A0zOswy','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','mtaYrwT2uxzL','ndvRyKvNzfC','vuL5rKu','odKXndHbAhD4t2m','Bg9JA19YzwXLyxnLx2vYCM9Y','zgvS','rxbXze8','mtHju2Xpvxe','z2vUzxjHDgvmB2nRvMfSDwu','Bg9JA19LEhrLBMrLza','tejur28','D3jPDgu','D2fYBG','CMvHzf9SB2nRx3DHAxrPBMC','x3DVCMTLCKLK','EgruwgK','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','CMv0CNLezwXHEq','te9ds19esvnuuKLcvvrfrf9uveW','D3jPDgvFBg9JA19Hy3f1AxjLza','ChjLzML4','oty4mZC0nfrdre5myq','mZuWote3mLvKwe55tW','zgjgCNC','zKTsthu','CMvHzf9SB2nRx3rPBwvVDxq','C2XLzxa','zxjYB3i','rxDPt3m','C2v0','BM93','CMvHza'];a0_0xec10=function(){return _0xa50f88;};return a0_0xec10();}
|
|
1
|
+
function a0_0x338d(_0x4d6e10,_0x37970d){_0x4d6e10=_0x4d6e10-0x14b;const _0x2c489d=a0_0x2c48();let _0x338deb=_0x2c489d[_0x4d6e10];if(a0_0x338d['HUnSEy']===undefined){var _0x51d1ba=function(_0x507c9b){const _0x2e45c5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3eb5da='',_0x53f5fd='';for(let _0x1cb85b=0x0,_0x33fc8c,_0x490210,_0x590071=0x0;_0x490210=_0x507c9b['charAt'](_0x590071++);~_0x490210&&(_0x33fc8c=_0x1cb85b%0x4?_0x33fc8c*0x40+_0x490210:_0x490210,_0x1cb85b++%0x4)?_0x3eb5da+=String['fromCharCode'](0xff&_0x33fc8c>>(-0x2*_0x1cb85b&0x6)):0x0){_0x490210=_0x2e45c5['indexOf'](_0x490210);}for(let _0x2b68a9=0x0,_0x17c2ed=_0x3eb5da['length'];_0x2b68a9<_0x17c2ed;_0x2b68a9++){_0x53f5fd+='%'+('00'+_0x3eb5da['charCodeAt'](_0x2b68a9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x53f5fd);};a0_0x338d['wbocNV']=_0x51d1ba,a0_0x338d['GsDMeK']={},a0_0x338d['HUnSEy']=!![];}const _0x2483a4=_0x2c489d[0x0],_0x383a27=_0x4d6e10+_0x2483a4,_0x3aeab9=a0_0x338d['GsDMeK'][_0x383a27];return!_0x3aeab9?(_0x338deb=a0_0x338d['wbocNV'](_0x338deb),a0_0x338d['GsDMeK'][_0x383a27]=_0x338deb):_0x338deb=_0x3aeab9,_0x338deb;}const a0_0x1d7cff=a0_0x338d;(function(_0x3cacb4,_0x2584ee){const _0x364893=a0_0x338d,_0x41c42a=_0x3cacb4();while(!![]){try{const _0x5a2f5a=-parseInt(_0x364893(0x18d))/0x1*(parseInt(_0x364893(0x183))/0x2)+-parseInt(_0x364893(0x188))/0x3+parseInt(_0x364893(0x18f))/0x4+parseInt(_0x364893(0x1a4))/0x5*(-parseInt(_0x364893(0x19f))/0x6)+-parseInt(_0x364893(0x1a6))/0x7+-parseInt(_0x364893(0x167))/0x8*(-parseInt(_0x364893(0x15b))/0x9)+parseInt(_0x364893(0x17e))/0xa;if(_0x5a2f5a===_0x2584ee)break;else _0x41c42a['push'](_0x41c42a['shift']());}catch(_0x4e7bd0){_0x41c42a['push'](_0x41c42a['shift']());}}}(a0_0x2c48,0xf2331));function a0_0x2c48(){const _0x4a6896=['x3bYzwzPEa','tg9JAYbYzwXLyxnLigvYCM9Y','zgvJCG','C3rYyxrLz3K','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','ntC4mdq3ohP1r3vrwa','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','CMv0CNLdB3vUDa','AxnfBMfIBgvK','x3DVCMTLCKLK','mtbWCxPeBgC','zuvXuK4','nZa5otm0ngXXqvnYzW','DxvPza','Bg9JA19JB25MAwDFAw5PDa','EKLQuNy','D3jPDgvFBg9JA19YzwPLy3rLza','x3jLDhj5rgvSyxK','CwLKzK0','vLDhyMC','zgvIDwC','AerZvM8','ANDLBxy','CMvHza','Dhj1zq','ywXS','uxvtr1G','D3jPDgvFBg9JA19YzwXLyxnLza','CKnorNK','D3jPDgvFBg9JA19Hy3f1AxjLza','y0Dnyu0','CMvHzf9SB2nRx2fJCxvPCMvK','te9ds19esvnuuKLcvvrfrf9srvrswq','nJi0ntK0nNbVwLzADa','D2fYBG','BwvZC2fNzq','CMvQzwn0','ChjLzML4','x2rLzMf1BhruveW','Bg9JA19YzwXLyxnLx2vYCM9Y','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','z2v0q2XPzw50','D3jPDgvFBg9JA190Aw1LB3v0','D3jPDgvFBg9JA193ywL0Aw5N','zgvMyxvSDfruta','oe9bAe1ABW','zxzHBa','D3jPDgu','Bg9JA19LEhrLBMrLza','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','zxH0zw5Ktg9JAW','vfPAqNC','uKPgv3a','zxHWB3j0CW','tg9JAYbLEhrLBMqGzxjYB3i','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','C2XLzxa','te9ds19esvnuuKLcvvrfrf9ftKfcteve','Aw5JCG','AeDMEgS','CMv0CNLezwXHEq','x3jLDhj5q291BNq','x2vUywjSzwq','zgvS','z2v0tg9JA0LUzM8','rw5LC1e','lI9SB2DNzxi','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','mJu5mJe1mdbXuhfqzxK','v0rXsuC','x3n0CMf0zwD5','zw5HyMXLza','te9ds19esvnuuKLcvvrfrf9uveW','oduWmdrxzvLUqLG','DgjSy0e','CMvSzwfZzuXVy2S','CgLK','B0Dmr00','mJa4nZe2q3niuM9U','x2LUAxrdB25MAwC','D3jPDgvFBg9JA19LCNjVCG','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','AwTpC3G','nxrutxLrDa','zxjYB3i','mZCXnJaYmhnWs0zVqG','Aw5MBW','x2LUAxrPywXPEMvK','yNvPBgrmB2nRs2v5','v1jjveuGBg9JAYbYzwXLyxnLza','CMy6Bg9JAZO','lcbZDhjHDgvNEtOG','ywnXDwLYzvjLywrmB2nR','zw52','z2v0','x2vUC3vYzuLUAxrPywXPEMvK'];a0_0x2c48=function(){return _0x4a6896;};return a0_0x2c48();}const redisClient=require('./redis-client'),{logger}=require(a0_0x1d7cff(0x17c)),{v4:uuidv4}=require(a0_0x1d7cff(0x1a7));class LockManager{constructor(){const _0x436c12=a0_0x1d7cff;this['_prefix']=null,this['_enabled']=null,this['_defaultTTL']=null,this[_0x436c12(0x177)]=null,this[_0x436c12(0x14b)]=null,this[_0x436c12(0x180)]=null,this[_0x436c12(0x1a3)]=null,this[_0x436c12(0x191)]=![];}[a0_0x1d7cff(0x189)](){const _0x5e5190=a0_0x1d7cff,_0xfda724={'oGLGM':function(_0x2af5cc,_0x1acd39){return _0x2af5cc===_0x1acd39;},'qidfM':_0x5e5190(0x152),'jwemv':'retry'};this[_0x5e5190(0x19a)]=_0x5e5190(0x194),this['_enabled']=_0xfda724[_0x5e5190(0x187)](process['env'][_0x5e5190(0x173)],_0xfda724[_0x5e5190(0x14c)]),this[_0x5e5190(0x160)]=parseInt(process[_0x5e5190(0x197)][_0x5e5190(0x182)],0xa)||0xa,this['_retryCount']=parseInt(process[_0x5e5190(0x197)][_0x5e5190(0x15a)],0xa)||0x3,this['_retryDelay']=parseInt(process[_0x5e5190(0x197)][_0x5e5190(0x1a0)],0xa)||0x64,this[_0x5e5190(0x180)]=process['env']['LOCK_DISTRIBUTED_STRATEGY']||_0xfda724[_0x5e5190(0x150)],this['_workerId']='worker-'+process[_0x5e5190(0x186)],this['_initialized']=!![],logger[_0x5e5190(0x190)]({'event':_0x5e5190(0x1a8),'enabled':this[_0x5e5190(0x178)],'strategy':this['_strategy'],'ttl':this['_defaultTTL'],'retryCount':this['_retryCount'],'retryDelay':this[_0x5e5190(0x14b)],'workerId':this['_workerId']},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+_0x5e5190(0x195)+this['_strategy']);}[a0_0x1d7cff(0x199)](){!this['_initialized']&&this['_initConfig']();}get['prefix'](){const _0x3cc75e=a0_0x1d7cff;return this['_ensureInitialized'](),this[_0x3cc75e(0x19a)];}get[a0_0x1d7cff(0x181)](){return this['_ensureInitialized'](),this['_enabled'];}get['defaultTTL'](){const _0x337d4d=a0_0x1d7cff;return this['_ensureInitialized'](),this[_0x337d4d(0x160)];}get['retryCount'](){return this['_ensureInitialized'](),this['_retryCount'];}get[a0_0x1d7cff(0x176)](){const _0x3d8310=a0_0x1d7cff;return this['_ensureInitialized'](),this[_0x3d8310(0x14b)];}get[a0_0x1d7cff(0x19d)](){return this['_ensureInitialized'](),this['_strategy'];}get['workerId'](){const _0x21e9bf=a0_0x1d7cff;return this['_ensureInitialized'](),this[_0x21e9bf(0x1a3)];}[a0_0x1d7cff(0x192)](_0x19ba2c){const _0x43ebab=a0_0x1d7cff,{module:_0xa6b14c,endpoint:_0x357943,lockType:_0x3f8162,recordId:_0x39db6b}=_0x19ba2c;if(_0x39db6b)return''+this[_0x43ebab(0x15f)]+_0xa6b14c+':'+_0x357943+':'+_0x39db6b+':'+_0x3f8162;return''+this['prefix']+_0xa6b14c+':'+_0x357943+':'+_0x3f8162;}['generateLockValue'](){return this['workerId']+':'+uuidv4()+':'+Date['now']();}async[a0_0x1d7cff(0x196)](_0x336e16){const _0x3214da=a0_0x1d7cff,_0xc0e065={'cEUWz':_0x3214da(0x151),'EnesQ':function(_0x4cc3bf,_0x16c0ed){return _0x4cc3bf<_0x16c0ed;},'RJFWp':_0x3214da(0x159),'hDsVo':'read_lock_waiting','QHfhM':_0x3214da(0x18b)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x2d835d=this['buildLockKey']({..._0x336e16,'lockType':_0x3214da(0x169)}),_0x96ad4d=this[_0x3214da(0x192)]({..._0x336e16,'lockType':_0xc0e065['cEUWz']}),_0xad6802=this['generateLockValue']();try{const _0x47f5c0=redisClient[_0x3214da(0x163)]();for(let _0x1558de=0x0;_0xc0e065[_0x3214da(0x17b)](_0x1558de,this[_0x3214da(0x1a1)]);_0x1558de++){const _0x366a42=await _0x47f5c0[_0x3214da(0x198)](_0x2d835d);if(!_0x366a42){await _0x47f5c0[_0x3214da(0x174)](_0x96ad4d),await _0x47f5c0['expire'](_0x96ad4d,this[_0x3214da(0x166)]);const _0x45fe42=_0x96ad4d+':'+_0xad6802;return await _0x47f5c0['setex'](_0x45fe42,this[_0x3214da(0x166)],_0xad6802),logger[_0x3214da(0x14e)]({'event':_0xc0e065[_0x3214da(0x16e)],'key':_0x96ad4d,'value':_0xad6802},'READ\x20lock\x20acquired'),{'success':!![],'lockValue':_0xad6802,'lockKey':_0x45fe42};}logger[_0x3214da(0x14e)]({'event':_0xc0e065[_0x3214da(0x14f)],'writeKey':_0x2d835d,'attempt':_0x1558de},_0x3214da(0x171)),await this[_0x3214da(0x172)](this['retryDelay']*Math['pow'](0x2,_0x1558de));}return logger[_0x3214da(0x15c)]({'event':'read_lock_timeout','key':_0x96ad4d},_0xc0e065['QHfhM']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x42f4ef){return logger['error']({'event':'read_lock_error','error':_0x42f4ef['message']},'READ\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x260060){const _0x25c6df=a0_0x1d7cff,_0x23ec25={'tblcA':'write','WDqIG':'read','TZZBw':function(_0x4dcef9,_0x5953fd){return _0x4dcef9===_0x5953fd;},'CztCD':'WRITE\x20lock\x20acquired\x20(reject\x20mode)','XNeyc':function(_0x5aea6c,_0x75f212){return _0x5aea6c<_0x75f212;},'ikOsx':function(_0x1f804f,_0x40f2e5){return _0x1f804f===_0x40f2e5;},'rCNFy':'retry','WpzKT':_0x25c6df(0x17d),'QuSGX':_0x25c6df(0x18a)};if(!this[_0x25c6df(0x181)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x43b159=this['buildLockKey']({..._0x260060,'lockType':_0x23ec25[_0x25c6df(0x184)]}),_0x61c7ab=this[_0x25c6df(0x192)]({..._0x260060,'lockType':_0x23ec25[_0x25c6df(0x17f)]}),_0x348b28=this['generateLockValue']();try{const _0x5a10c8=redisClient['getClient']();if(_0x23ec25['TZZBw'](this[_0x25c6df(0x19d)],_0x25c6df(0x15e))){const _0x1598f3=await _0x5a10c8['set'](_0x43b159,_0x348b28,'EX',this['defaultTTL'],'NX');if(_0x23ec25['TZZBw'](_0x1598f3,'OK'))return logger['debug']({'event':_0x25c6df(0x157),'key':_0x43b159,'value':_0x348b28,'strategy':_0x25c6df(0x15e)},_0x23ec25['CztCD']),{'success':!![],'lockValue':_0x348b28,'lockKey':_0x43b159};return logger['debug']({'event':_0x25c6df(0x1aa),'key':_0x43b159},'WRITE\x20lock\x20rejected\x20-\x20record\x20busy'),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x43a64e=0x0;_0x23ec25['XNeyc'](_0x43a64e,this['retryCount']);_0x43a64e++){const [_0x56e7cb,_0xa65798]=await Promise['all']([_0x5a10c8['get'](_0x61c7ab),_0x5a10c8[_0x25c6df(0x198)](_0x43b159)]);if(!_0xa65798&&(!_0x56e7cb||_0x23ec25[_0x25c6df(0x16d)](parseInt(_0x56e7cb),0x0))){const _0x359142=await _0x5a10c8['set'](_0x43b159,_0x348b28,'EX',this['defaultTTL'],'NX');if(_0x23ec25[_0x25c6df(0x18c)](_0x359142,'OK'))return logger[_0x25c6df(0x14e)]({'event':'write_lock_acquired','key':_0x43b159,'value':_0x348b28,'strategy':_0x23ec25[_0x25c6df(0x156)]},_0x23ec25['WpzKT']),{'success':!![],'lockValue':_0x348b28,'lockKey':_0x43b159};}logger[_0x25c6df(0x14e)]({'event':_0x25c6df(0x165),'writeKey':_0x43b159,'readCount':_0x56e7cb,'attempt':_0x43a64e},'Waiting\x20for\x20locks\x20to\x20release'),await this[_0x25c6df(0x172)](this[_0x25c6df(0x176)]*Math['pow'](0x2,_0x43a64e));}return logger['warn']({'event':_0x25c6df(0x164),'key':_0x43b159},_0x25c6df(0x19e)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x4cc7b9){return logger[_0x25c6df(0x18e)]({'event':_0x23ec25[_0x25c6df(0x154)],'error':_0x4cc7b9[_0x25c6df(0x15d)]},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x1d7cff(0x185)](_0x4f20b7,_0x452029){const _0x4888c1=a0_0x1d7cff,_0x11be30={'zIjRv':function(_0x2993cf,_0x244179){return _0x2993cf>_0x244179;},'nXeuQ':function(_0x51fdf8,_0x4ebca8){return _0x51fdf8===_0x4ebca8;},'YDVcL':_0x4888c1(0x155),'EMyuJ':_0x4888c1(0x162)};if(!this['enabled']||!_0x4f20b7)return!![];try{const _0x4be754=redisClient['getClient']();if(_0x4f20b7['includes'](':read:')){await _0x4be754[_0x4888c1(0x179)](_0x4f20b7);const _0x365152=_0x4f20b7['substring'](0x0,_0x4f20b7['lastIndexOf'](':')),_0x427f91=await _0x4be754[_0x4888c1(0x198)](_0x365152);return _0x427f91&&_0x11be30[_0x4888c1(0x1a9)](parseInt(_0x427f91),0x0)&&await _0x4be754[_0x4888c1(0x19c)](_0x365152),logger[_0x4888c1(0x14e)]({'event':'read_lock_released','key':_0x4f20b7},'READ\x20lock\x20released'),!![];}const _0x280a81=_0x4888c1(0x16b),_0x18b560=await _0x4be754['eval'](_0x280a81,0x1,_0x4f20b7,_0x452029);if(_0x11be30['nXeuQ'](_0x18b560,0x1))return logger['debug']({'event':_0x11be30['YDVcL'],'key':_0x4f20b7},_0x4888c1(0x193)),!![];return logger[_0x4888c1(0x15c)]({'event':'lock_release_not_owner','key':_0x4f20b7},_0x11be30['EMyuJ']),![];}catch(_0x48a7fb){return logger['error']({'event':_0x4888c1(0x161),'key':_0x4f20b7,'error':_0x48a7fb[_0x4888c1(0x15d)]},_0x4888c1(0x19b)),![];}}async[a0_0x1d7cff(0x16c)](_0x138639,_0xc71462,_0x467bb5=null){const _0x56ff98=a0_0x1d7cff,_0x3d049d={'eEqRN':function(_0x23f553,_0x2ca3f5){return _0x23f553===_0x2ca3f5;},'VWGbg':_0x56ff98(0x16a),'hGfxk':'lock_extend_error'};if(!this['enabled']||!_0x138639)return!![];try{const _0x498376=redisClient[_0x56ff98(0x163)](),_0x576a62='\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',_0x17edc2=await _0x498376[_0x56ff98(0x168)](_0x576a62,0x1,_0x138639,_0xc71462,_0x467bb5||this['defaultTTL']);if(_0x3d049d[_0x56ff98(0x1a5)](_0x17edc2,0x1))return logger[_0x56ff98(0x14e)]({'event':_0x3d049d[_0x56ff98(0x14d)],'key':_0x138639,'ttl':_0x467bb5||this['defaultTTL']},'Lock\x20TTL\x20extended'),!![];return![];}catch(_0x33229d){return logger[_0x56ff98(0x18e)]({'event':_0x3d049d[_0x56ff98(0x175)],'key':_0x138639,'error':_0x33229d['message']},_0x56ff98(0x170)),![];}}[a0_0x1d7cff(0x1a2)](){const _0x1473d0=a0_0x1d7cff;return this[_0x1473d0(0x181)];}[a0_0x1d7cff(0x172)](_0x10952f){return new Promise(_0x2acf90=>setTimeout(_0x2acf90,_0x10952f));}async[a0_0x1d7cff(0x17a)](_0x402c67){const _0x2d6743=a0_0x1d7cff,_0x284b26={'cGMaM':_0x2d6743(0x151),'qkdsK':function(_0x154883,_0x363a3e){return _0x154883(_0x363a3e);}};if(!this[_0x2d6743(0x181)])return{'enabled':![]};try{const _0x2ae206=redisClient[_0x2d6743(0x163)](),_0x3cacdd=this[_0x2d6743(0x192)]({..._0x402c67,'lockType':'write'}),_0xdd515f=this[_0x2d6743(0x192)]({..._0x402c67,'lockType':_0x284b26[_0x2d6743(0x158)]}),[_0xad77d5,_0x3c0c1d]=await Promise[_0x2d6743(0x153)]([_0x2ae206[_0x2d6743(0x198)](_0x3cacdd),_0x2ae206[_0x2d6743(0x198)](_0xdd515f)]);return{'enabled':!![],'writeLock':_0xad77d5||null,'readCount':_0x284b26['qkdsK'](parseInt,_0x3c0c1d)||0x0,'writeKey':_0x3cacdd,'readKey':_0xdd515f};}catch(_0x818400){return{'enabled':!![],'error':_0x818400['message']};}}}module[a0_0x1d7cff(0x16f)]=new LockManager();
|
package/src/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x3d5fbd=a0_0xfd83;(function(_0x18104b,_0xf0a785){const _0x1ef72f=a0_0xfd83,_0x1ba5dd=_0x18104b();while(!![]){try{const _0xb6d152=parseInt(_0x1ef72f(0x233))/0x1+-parseInt(_0x1ef72f(0x1cb))/0x2+parseInt(_0x1ef72f(0x1f2))/0x3+-parseInt(_0x1ef72f(0x267))/0x4+-parseInt(_0x1ef72f(0x1cf))/0x5+-parseInt(_0x1ef72f(0x238))/0x6*(-parseInt(_0x1ef72f(0x1f4))/0x7)+-parseInt(_0x1ef72f(0x25a))/0x8*(-parseInt(_0x1ef72f(0x251))/0x9);if(_0xb6d152===_0xf0a785)break;else _0x1ba5dd['push'](_0x1ba5dd['shift']());}catch(_0x472244){_0x1ba5dd['push'](_0x1ba5dd['shift']());}}}(a0_0x2507,0x6be33));const pino=require(a0_0x3d5fbd(0x231)),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName=a0_0x3d5fbd(0x205),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;function a0_0x2507(){const _0x1f291b=['DxnLCI1Hz2vUDa','ChjVAMvJDa','Ec1Yzxf1zxn0lwLK','icbizwfSDgG6ia','zKv0DLa','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','vhrhDva','lI9SB2DZlW','Ahj0Aw1L','uhjVy2vZCYbxyxjUAw5NoIa','CMvMCMvZAf90B2TLBG','ChjVAMvJDf9SB2fKzwq','Dg9mB3DLCKnHC2u','C3rHy2S','rxjYB3i','D2fYBG','zgvIDwC','CgLU','B3jPz2LUywXvCMW','zgjFCxvLCNK','Bwf4','uwDjzMy','te9hx0rjuG','ChDK','C3rYAw5NAwz5','CgLUBW','vunzBgK','mte5mZC0wfvIC1n1','rff0tMG','BwfW','v0jODNy','CgfKrw5K','nZm4ndyYvxLeC2vh','Dg9Rzw4','teLSr0m','zxjYB3iUBg9N','Bg9N','vfjbtLnbq1rjt05Fq09ntuLu','icdIHPiG','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','y2HPBgq','DMDJELO','sfjcCMy','C3rYAw5N','DuznDwO','zxHPDa','yKr2z08','AxntBg93','qvbqx1zfuLnjt04','iokvKqRILzeGifbYB2PLy3qGicaGidOG','A2v5CW','yxbPs2v5','iokvKqRILzeGifbVCNqGicaGicaGidOG','BwTKAxjtEw5J','y3jLyxrLv3jPDgvtDhjLyw0','rgvMyxvSDa','D3rtBhm','ouLny0TKvq','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','u2vYDMvYihn0yxj0Aw5NoIa','CMvWzwf0','E21Zz30','AM9PBG','rKfyuNm','BwvTB3j5vxnHz2u','Aw5MBW','mJm2odq3mLfVqvnXyG','Bw9KDwXL','CxzMCe0','C2vJCMv0','CMvTB3rLqwrKCMvZCW','ChjPDMf0zwTLEq','CgfZC3DK','zw5KCg9PBNrFCMvNAxn0zxjLza','yMfZzvvYBa','zw52AxjVBM1LBNq','vhjHBNnHy3rPB24G','DhjPBq','Dxb0Aw1L','mtaXodmYne1Uue9Xta','ywnJzxnZx3rVA2vU','C29Tzq','C3rHDhvZq29Kzq','DxnLCG','C3rHCNrZv2L0Aa','AgvHBhrOq2HLy2S','zeLlueq','yxPsBMq','DxjS','u0vmrunu','u1rbuLqGvfjbtLnbq1rjt04','revmrvrf','qMPxEw4','w09lxsbqCM9Qzwn0igXVywrLzdOG','CgfZC3DVCMq','w1jfrefdveveoNrVA2vUxq','sLDux1nfq1jfva','Dw5Oyw5KBgvKuMvQzwn0Aw9U','y3jLzgvUDgLHBhm','ChjPDMf0zv9RzxK','y29Kzq','zxHWB3j0CW','CgLUBY1WCMv0DhK','tI9b','tufYyxG','iokvKqRILzeGiefqssblzxKGicaGidOG','qunusvzf','nZe3mZa2thv3qNrL','zMXVB3i','rKfuquW6ia','BwvZC2fNzq','mZe1mtG5me1TC2reDG','C2vYDMvYx3n0yxj0Aw5N','Bwv0Ag9K','BMfTzq','Cg9YDa','Cgf0Aa','y29UBMvJDgLVBG','zhvYyxrPB25nCW','zMf0ywXFzxjYB3i','zxjYB3i','Ag9ZDa','zgjFDhjHBNnHy3rPB24','BwXXD1G','zxjY','yxbPx2TLEq','y1L6tNu','AgvHzgvYCW','yxzequW','z1fQAxa','BgvUz3rO','yxbPx3nLy3jLDa','Dg9vChbLCKnHC2u','C3fSx3f1zxj5','y0XIAfq','wLz4yuW','CM93C0fMzMvJDgvK','vu5ltK9xtG','BxmP','ChjVy2vZC193yxjUAw5N','zunMr3G','Cg9ZDgDYzxnXBa','ugHlvNu','yxbPA2v5','vKfjBuW','zgf0ywjHC2u','mtiYnty0mvnXvNjrEG','z3LzsMK','ndLnAgfpvxq','t0PevLm','rwvpAMq','ANnVBG','tK9uiefdveLwrq','zxHPC3rZu3LUyW','CMvWBgfJzq','C2vYDMLJzuLUzM8','tM9Kzs5QCW','iokvKqRILzeGienVBMzPzYaGicaGidOG','reiGuxvLCNK','zMf0ywW','C0Dzs3G','Aw5JBhvKzxm','C3rKvgLTzuz1BMn0Aw9UCW','wxPTBxO','Dw5JyxvNAhrfEgnLChrPB24','CMvZDgzVCMDL','Bwf0y2G','sfruuca','EwTSywm','D3jPDgu','Dg9ju09tDhjPBMC','C3bSAxq','DhLWzq','uxfjExy','shbfuuC','CfvIrfK','DgvZDa','y3jLzgvUDgLHBa','ms4WlJu','Dg9gAxHLza','C3rHDhvZ','rhL5r2q','zw52','rejFueftu1DpuKq'];a0_0x2507=function(){return _0x1f291b;};return a0_0x2507();}const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':a0_0x3d5fbd(0x255),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env']['NODE_ENV']!=='production',logLevel=process[a0_0x3d5fbd(0x216)]['LOG_LEVEL']||a0_0x3d5fbd(0x259);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x3d5fbd(0x1c6),'options':prettyPrintOptions}:undefined,'base':{'service':a0_0x3d5fbd(0x205),'version':process[a0_0x3d5fbd(0x216)][a0_0x3d5fbd(0x248)]||a0_0x3d5fbd(0x212),'env':process[a0_0x3d5fbd(0x216)]['NODE_ENV']||'development'},'timestamp':pino[a0_0x3d5fbd(0x202)]['isoTime'],'redact':{'paths':['req.headers.authorization',a0_0x3d5fbd(0x252),a0_0x3d5fbd(0x276),'token','apiKey',a0_0x3d5fbd(0x217),a0_0x3d5fbd(0x278)],'censor':'[REDACTED]'},'serializers':{'req':_0x414e6e=>({'id':_0x414e6e['id'],'method':_0x414e6e['method'],'url':_0x414e6e[a0_0x3d5fbd(0x270)],'path':_0x414e6e[a0_0x3d5fbd(0x1d4)],'remoteAddress':_0x414e6e['ip']||_0x414e6e['connection']?.['remoteAddress']}),'res':_0x228ae8=>({'statusCode':_0x228ae8['statusCode'],'headers':_0x228ae8['getHeaders']?.()}),'err':pino['stdSerializers'][a0_0x3d5fbd(0x1dc)]}});function initFileLogging(){const _0x476f60=a0_0x3d5fbd,_0x41dffb={'HRBrf':function(_0x205cb9,_0xba4cd9){return _0x205cb9===_0xba4cd9;},'SGctT':'default','eCfGx':function(_0x573dae,_0x5d21c5){return _0x573dae===_0x5d21c5;},'OSsxm':function(_0x515702,_0xc9a277){return _0x515702(_0xc9a277);},'aLkFS':'app.log','XCjRX':function(_0x52344c,_0x454aca,_0x2ef5ee){return _0x52344c(_0x454aca,_0x2ef5ee);}};if(fileLoggingInitialized)return;logToFile=_0x41dffb[_0x476f60(0x242)](process[_0x476f60(0x216)]['LOG_TO_FILE'],'true');const _0x35a3f3=process[_0x476f60(0x216)][_0x476f60(0x23f)]||_0x41dffb['SGctT'];logDir=process['env'][_0x476f60(0x22e)]||_0x476f60(0x21f)+_0x35a3f3,serviceName=process[_0x476f60(0x216)]['SERVICE_NAME']||_0x476f60(0x205),sqlLogEnabled=_0x41dffb[_0x476f60(0x1ec)](process[_0x476f60(0x216)]['SQL_LOG_ENABLED'],'true'),sqlLogLevel=process['env']['SQL_LOG_LEVEL']||'debug',sqlLogParams=process['env']['SQL_LOG_PARAMS']!=='false',sqlLogSlowThreshold=_0x41dffb['OSsxm'](parseInt,process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x55260d=path['resolve'](process['cwd'](),logDir);try{!fs[_0x476f60(0x1f9)](_0x55260d)&&fs[_0x476f60(0x24d)](_0x55260d,{'recursive':!![]});}catch(_0x1b5346){console[_0x476f60(0x1d8)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x55260d+':',_0x1b5346[_0x476f60(0x1ce)]),fileLoggingInitialized=!![];return;}const _0x21fedd=path[_0x476f60(0x256)](_0x55260d,_0x41dffb['aLkFS']),_0x26af89=path['join'](_0x55260d,_0x476f60(0x23b));try{appLogStream=fs[_0x476f60(0x24e)](_0x21fedd,{'flags':'a'}),errorLogStream=fs[_0x476f60(0x24e)](_0x26af89,{'flags':'a'}),fileLoggingInitialized=!![];const _0x39ba4d={'event':'file_logging_enabled','logDir':_0x55260d,'files':['app.log',_0x476f60(0x23b)]},_0x13ad06='File\x20logging\x20enabled:\x20'+_0x55260d;logger[_0x476f60(0x259)](_0x39ba4d,_0x13ad06),_0x41dffb['XCjRX'](writeToFileLog,{..._0x39ba4d,'level':_0x476f60(0x259),'msg':_0x13ad06,'time':new Date()['toISOString']()},_0x476f60(0x259));}catch(_0xbdc72a){console['error'](_0x476f60(0x21d),_0xbdc72a[_0x476f60(0x1ce)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x5ed4cf,_0x3e12d6){const _0x23ea92=a0_0x3d5fbd,_0x2d7e83={'Yzmmz':function(_0xe5f8d8,_0x3ce2ef){return _0xe5f8d8||_0x3ce2ef;}};if(_0x2d7e83[_0x23ea92(0x203)](!logToFile,!appLogStream))return;const _0xcd2e2d={'service':serviceName,..._0x5ed4cf},_0x260a41=JSON[_0x23ea92(0x230)](_0xcd2e2d)+'\x0a';appLogStream[_0x23ea92(0x209)](_0x260a41),(_0x3e12d6===_0x23ea92(0x1d8)||_0x3e12d6===_0x23ea92(0x1ff))&&(errorLogStream&&errorLogStream[_0x23ea92(0x209)](_0x260a41));}const createRequestLogger=(_0x7e0630={})=>{const _0x1e8b71=a0_0x3d5fbd;return logger[_0x1e8b71(0x240)](_0x7e0630);},logServerStart=_0x4a5a0b=>{const _0x5e7e75=a0_0x3d5fbd,_0x2b911f={'FAXRs':function(_0x2b9e21,_0x1d5b94){return _0x2b9e21-_0x1d5b94;},'bZqGe':function(_0x14efdb,_0x2ee4b5){return _0x14efdb/_0x2ee4b5;},'dIKPD':function(_0x375341,_0x3798c5){return _0x375341-_0x3798c5;},'RPPPV':_0x5e7e75(0x1c7),'fltYi':_0x5e7e75(0x24f),'MArax':_0x5e7e75(0x1ca),'BjWyn':_0x5e7e75(0x1f8),'kfYYm':_0x5e7e75(0x1d0),'ktaKH':'info'},_0x5c0c95='RESTFORGE\x20RUNTIME\x20SERVER',_0x59ba0d=Math[_0x5e7e75(0x22c)](0x0,_0x2b911f[_0x5e7e75(0x257)](0x37,_0x5c0c95['length'])),_0x276d22=Math[_0x5e7e75(0x1cc)](_0x2b911f['bZqGe'](_0x59ba0d,0x2)),_0x5143b1=_0x2b911f[_0x5e7e75(0x26e)](_0x59ba0d,_0x276d22),_0x1fb9be='║'+'\x20'[_0x5e7e75(0x254)](_0x276d22)+_0x5c0c95+'\x20'[_0x5e7e75(0x254)](_0x5143b1)+'║',_0x49224a='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x1fb9be+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x4a5a0b[_0x5e7e75(0x263)]||_0x5e7e75(0x1fc))[_0x5e7e75(0x237)](0x26)+_0x5e7e75(0x249)+(_0x4a5a0b['project']||_0x2b911f['RPPPV'])[_0x5e7e75(0x237)](0x26)+_0x5e7e75(0x24c)+String(_0x4a5a0b[_0x5e7e75(0x1d3)]||0xbb8)[_0x5e7e75(0x237)](0x26)+_0x5e7e75(0x1fd)+(_0x4a5a0b['configFile']||_0x2b911f['fltYi'])[_0x5e7e75(0x237)](0x26)+_0x5e7e75(0x1c9)+(_0x4a5a0b[_0x5e7e75(0x24b)]?_0x2b911f[_0x5e7e75(0x1c8)]:_0x2b911f[_0x5e7e75(0x274)])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x5e7e75(0x23c)](_0x49224a);const _0x540439={'event':_0x2b911f['kfYYm'],'project':_0x4a5a0b[_0x5e7e75(0x219)],'port':_0x4a5a0b[_0x5e7e75(0x1d3)],'config':_0x4a5a0b['configFile'],'apiKeyEnabled':!!_0x4a5a0b[_0x5e7e75(0x24b)]};logger['info'](_0x540439),writeToFileLog({..._0x540439,'level':'info','msg':_0x5e7e75(0x253)+_0x4a5a0b[_0x5e7e75(0x219)]+'\x20on\x20port\x20'+_0x4a5a0b[_0x5e7e75(0x1d3)],'time':new Date()['toISOString']()},_0x2b911f['ktaKH']);},logServerReady=_0x25ba5e=>{const _0x4b9a89=a0_0x3d5fbd,_0x3f945e={'DyyGd':function(_0x2f51fb,_0x529d59,_0x36276e){return _0x2f51fb(_0x529d59,_0x36276e);},'nqKMg':'info'},_0x487102={'event':'server_ready','port':_0x25ba5e[_0x4b9a89(0x1d3)],'module':_0x25ba5e[_0x4b9a89(0x25b)],'healthCheck':_0x25ba5e[_0x4b9a89(0x26d)],'serviceInfo':_0x25ba5e[_0x4b9a89(0x1fb)],'baseUrl':_0x25ba5e[_0x4b9a89(0x262)]},_0x236801='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x25ba5e[_0x4b9a89(0x1d3)];logger[_0x4b9a89(0x259)](_0x487102,_0x236801),_0x3f945e[_0x4b9a89(0x215)](writeToFileLog,{..._0x487102,'level':_0x4b9a89(0x259),'msg':_0x236801,'time':new Date()[_0x4b9a89(0x20a)]()},_0x3f945e['nqKMg']),_0x25ba5e['healthCheck']&&logger['info'](_0x4b9a89(0x21b)+_0x25ba5e[_0x4b9a89(0x26d)]),_0x25ba5e['serviceInfo']&&logger['info']('\x20\x20Info:\x20\x20\x20'+_0x25ba5e['serviceInfo']),_0x25ba5e[_0x4b9a89(0x262)]&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0x25ba5e['baseUrl']);},logProjectLoaded=(_0x1edea5,_0x187e98)=>{const _0x5caf44=a0_0x3d5fbd,_0x1a62c5={'event':_0x5caf44(0x223),'project':_0x1edea5,'path':_0x187e98},_0x488df5=_0x5caf44(0x275)+_0x1edea5;logger['info'](_0x1a62c5,_0x488df5),writeToFileLog({..._0x1a62c5,'level':'info','msg':_0x488df5,'time':new Date()[_0x5caf44(0x20a)]()},'info');},logEndpointRegistered=(_0x53f547,_0x196737)=>{const _0x4c258d=a0_0x3d5fbd,_0x597b38={'QgIff':function(_0x133226,_0x3584e2,_0x118987){return _0x133226(_0x3584e2,_0x118987);},'blDnQ':'debug'},_0x301149={'event':_0x4c258d(0x261),'endpoint':_0x53f547,'route':_0x196737},_0x138242=_0x4c258d(0x23e)+_0x53f547+':\x20'+_0x196737;logger[_0x4c258d(0x228)](_0x301149,_0x138242),_0x597b38[_0x4c258d(0x22d)](writeToFileLog,{..._0x301149,'level':_0x597b38['blDnQ'],'msg':_0x138242,'time':new Date()[_0x4c258d(0x20a)]()},_0x4c258d(0x228));},logDatabaseConfig=_0x5c657a=>{const _0x3a1446=a0_0x3d5fbd,_0x3e4443={'myFJf':'database_config','HpEQG':'debug'},_0xd36590={'event':_0x3e4443['myFJf'],'host':_0x5c657a['host'],'port':_0x5c657a['port'],'database':_0x5c657a['database'],'type':_0x5c657a[_0x3a1446(0x20c)],'user':_0x5c657a[_0x3a1446(0x26b)]},_0x6af57d='Database:\x20'+_0x5c657a['type']+'://'+_0x5c657a[_0x3a1446(0x1d9)]+':'+_0x5c657a['port']+'/'+_0x5c657a[_0x3a1446(0x1f1)];logger['debug'](_0xd36590,_0x6af57d),writeToFileLog({..._0xd36590,'level':'debug','msg':_0x6af57d,'time':new Date()[_0x3a1446(0x20a)]()},_0x3e4443[_0x3a1446(0x20e)]);},logRequest=(_0x127455,_0x5eb303,_0x146dea)=>{const _0x4b1606=a0_0x3d5fbd,_0x597c5={'VAImL':function(_0x175709,_0x2d3198){return _0x175709>=_0x2d3198;}},_0x3984cd={'event':'http_request','method':_0x127455[_0x4b1606(0x1d1)],'path':_0x127455[_0x4b1606(0x1d4)],'statusCode':_0x5eb303[_0x4b1606(0x26a)],'durationMs':_0x146dea,'ip':_0x127455['ip']},_0x55d316=_0x127455['method']+'\x20'+_0x127455['path']+'\x20-\x20'+_0x5eb303[_0x4b1606(0x26a)]+'\x20('+_0x146dea+_0x4b1606(0x1ea);let _0x5ac40c='info';if(_0x5eb303['statusCode']>=0x1f4)_0x5ac40c='error',logger[_0x4b1606(0x1d8)](_0x3984cd,_0x55d316);else _0x597c5[_0x4b1606(0x1f0)](_0x5eb303[_0x4b1606(0x26a)],0x190)?(_0x5ac40c='warn',logger['warn'](_0x3984cd,_0x55d316)):logger['info'](_0x3984cd,_0x55d316);writeToFileLog({..._0x3984cd,'level':_0x5ac40c,'msg':_0x55d316,'time':new Date()['toISOString']()},_0x5ac40c);},SENSITIVE_PARAM_PATTERNS=['password',a0_0x3d5fbd(0x260),a0_0x3d5fbd(0x22f),'token',a0_0x3d5fbd(0x268),'refresh_token','secret',a0_0x3d5fbd(0x1e3),a0_0x3d5fbd(0x1ef),a0_0x3d5fbd(0x1dd),a0_0x3d5fbd(0x211),a0_0x3d5fbd(0x27a),a0_0x3d5fbd(0x229),'otp',a0_0x3d5fbd(0x27b),a0_0x3d5fbd(0x25f)],redactSensitiveParams=(_0x17a950,_0x31b8ce)=>{const _0x111d62=a0_0x3d5fbd,_0x33e827={'ZVxaL':function(_0x2e5fa1,_0x249676){return _0x2e5fa1>_0x249676;}};if(!_0x17a950||_0x17a950[_0x111d62(0x1e2)]===0x0)return _0x17a950;const _0x1f393b=_0x31b8ce[_0x111d62(0x224)](),_0x1292cb=_0x1f393b['match'](/\(([^)]+)\)\s*values/i);let _0x50a850=[];_0x1292cb&&(_0x50a850=_0x1292cb[0x1][_0x111d62(0x20b)](',')[_0x111d62(0x235)](_0x29e9c1=>_0x29e9c1[_0x111d62(0x265)]()['toLowerCase']()));const _0x125411=_0x1f393b[_0x111d62(0x206)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x125411){const _0x1c1277=_0x125411[0x1],_0x3a64d1=_0x1c1277['match'](/(\w+)\s*=/g);_0x3a64d1&&(_0x50a850=_0x3a64d1[_0x111d62(0x235)](_0x344ab6=>_0x344ab6[_0x111d62(0x1fa)](/\s*=/,'')['trim']()[_0x111d62(0x224)]()));}return _0x17a950['map']((_0xc8e685,_0x242ace)=>{const _0x1d5e75=_0x111d62;if(_0x50a850[_0x242ace]){const _0x4862a1=_0x50a850[_0x242ace],_0x3fe324=SENSITIVE_PARAM_PATTERNS['some'](_0xe43267=>_0x4862a1[_0x1d5e75(0x201)](_0xe43267));if(_0x3fe324)return'[REDACTED]';}if(typeof _0xc8e685===_0x1d5e75(0x243)&&_0x33e827[_0x1d5e75(0x1e7)](_0xc8e685['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0xc8e685)&&_0xc8e685[_0x1d5e75(0x201)]('.'))return _0x1d5e75(0x277);if(/^[a-fA-F0-9]{32,}$/[_0x1d5e75(0x210)](_0xc8e685))return'[REDACTED:hash]';}return _0xc8e685;});},parseQueryMetadata=_0x1731bf=>{const _0x43d65e=a0_0x3d5fbd,_0x16c4ff={'fEtvP':'INSERT','EeOjd':'UPDATE','OJDVS':_0x43d65e(0x273),'wrTMK':'BEGIN','QqIyv':_0x43d65e(0x272),'svtPZ':'TRANSACTION_BEGIN','WrmoY':'COMMIT','NapIX':'ROLLBACK','HfOVy':'TRANSACTION_ROLLBACK','PhKVu':'CREATE','yklac':'ALTER','FphLy':'DDL_ALTER','eIPAH':'DDL_DROP'},_0x46eb78=_0x1731bf['trim'](),_0x3e1e2c=_0x46eb78['toUpperCase']();let _0x255038=_0x43d65e(0x1e9),_0x50b69f=null;if(_0x3e1e2c[_0x43d65e(0x26c)](_0x43d65e(0x271))){_0x255038=_0x43d65e(0x271);const _0x34e244=_0x46eb78['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x50b69f=_0x34e244?_0x34e244[0x1]:null;}else{if(_0x3e1e2c[_0x43d65e(0x26c)]('INSERT')){_0x255038=_0x16c4ff[_0x43d65e(0x21c)];const _0x976bcd=_0x46eb78['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x50b69f=_0x976bcd?_0x976bcd[0x1]:null;}else{if(_0x3e1e2c['startsWith'](_0x16c4ff[_0x43d65e(0x1f6)])){_0x255038=_0x16c4ff['EeOjd'];const _0x45c264=_0x46eb78[_0x43d65e(0x206)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x50b69f=_0x45c264?_0x45c264[0x1]:null;}else{if(_0x3e1e2c[_0x43d65e(0x26c)](_0x16c4ff[_0x43d65e(0x1f5)])){_0x255038=_0x43d65e(0x273);const _0x141e1e=_0x46eb78[_0x43d65e(0x206)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x50b69f=_0x141e1e?_0x141e1e[0x1]:null;}else{if(_0x3e1e2c['startsWith'](_0x16c4ff['wrTMK'])||_0x3e1e2c['startsWith'](_0x16c4ff[_0x43d65e(0x20d)]))_0x255038=_0x16c4ff['svtPZ'];else{if(_0x3e1e2c[_0x43d65e(0x26c)](_0x16c4ff['WrmoY']))_0x255038=_0x43d65e(0x23d);else{if(_0x3e1e2c['startsWith'](_0x16c4ff['NapIX']))_0x255038=_0x16c4ff['HfOVy'];else{if(_0x3e1e2c['startsWith'](_0x16c4ff[_0x43d65e(0x1ee)]))_0x255038='DDL_CREATE';else{if(_0x3e1e2c[_0x43d65e(0x26c)](_0x16c4ff[_0x43d65e(0x208)]))_0x255038=_0x16c4ff['FphLy'];else _0x3e1e2c['startsWith']('DROP')&&(_0x255038=_0x16c4ff['eIPAH']);}}}}}}}}return{'type':_0x255038,'table':_0x50b69f};},startQueryTimer=()=>{const _0x5c5980=a0_0x3d5fbd,_0x596bff={'ciHpt':function(_0x3f6433,_0x51b111){return _0x3f6433*_0x51b111;},'JKnNt':function(_0x3cb352,_0x52396f){return _0x3cb352/_0x52396f;}},_0x1079fa=process[_0x5c5980(0x220)]();return()=>{const _0xa87c9b=_0x5c5980,[_0x20d390,_0x483881]=process['hrtime'](_0x1079fa);return parseFloat((_0x596bff['ciHpt'](_0x20d390,0x3e8)+_0x596bff['JKnNt'](_0x483881,0xf4240))[_0xa87c9b(0x213)](0x2));};},logQuery=(_0x2bda20,_0x29c5e9=[],_0x11dc12={})=>{const _0x5a4554=a0_0x3d5fbd,_0x375659={'BzlJm':_0x5a4554(0x22b),'sGYKx':_0x5a4554(0x1fe),'vgczZ':function(_0x507d35,_0x364b68){return _0x507d35(_0x364b68);},'TtGuP':_0x5a4554(0x1e5),'WBhvv':function(_0x157a38,_0x1751f6){return _0x157a38>_0x1751f6;},'dXROk':function(_0x4bc5ff,_0x22252e){return _0x4bc5ff!==_0x22252e;},'wlkgJ':function(_0x5a7fe6,_0x4df087){return _0x5a7fe6>_0x4df087;},'LIlGC':function(_0xe8973a,_0x1e681d){return _0xe8973a>_0x1e681d;},'qvfpM':_0x5a4554(0x227),'uFEiK':'info','SFHxp':function(_0x5b7120,_0x487e4a,_0x1ecddc){return _0x5b7120(_0x487e4a,_0x1ecddc);}};if(!sqlLogEnabled){logger['debug']({'event':_0x375659['BzlJm'],'query':_0x2bda20['substring'](0x0,0xc8),'paramCount':_0x29c5e9['length']},_0x375659[_0x5a4554(0x200)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x5a4554(0x1ed)}=_0x11dc12,{type:_0x3f7af5,table:_0x139b33}=_0x375659[_0x5a4554(0x241)](parseQueryMetadata,_0x2bda20),_0x52834b={'event':_0x375659[_0x5a4554(0x21e)],'queryType':_0x3f7af5,'table':_0x139b33,'query':_0x2bda20,'paramCount':_0x29c5e9['length'],'dbType':dbType};sqlLogParams&&_0x375659[_0x5a4554(0x236)](_0x29c5e9['length'],0x0)&&(_0x52834b['params']=redactSensitiveParams(_0x29c5e9,_0x2bda20));_0x375659['dXROk'](duration,null)&&(_0x52834b[_0x5a4554(0x1d6)]=duration,_0x52834b[_0x5a4554(0x247)]=_0x375659['wlkgJ'](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x52834b[_0x5a4554(0x1e8)]=rowsAffected);const _0x3c6271=_0x139b33||'unknown';let _0x3826fe='['+_0x3f7af5+']\x20'+_0x3c6271;duration!==null&&(_0x3826fe+='\x20('+duration+'ms)');const _0xf334e1=duration!==null&&_0x375659[_0x5a4554(0x23a)](duration,sqlLogSlowThreshold);let _0x55e000='debug';if(_0xf334e1)_0x3826fe+='\x20[SLOW]',_0x55e000=_0x375659[_0x5a4554(0x25c)],logger[_0x5a4554(0x227)](_0x52834b,_0x3826fe);else sqlLogLevel===_0x375659['uFEiK']?(_0x55e000=_0x5a4554(0x259),logger['info'](_0x52834b,_0x3826fe)):logger[_0x5a4554(0x228)](_0x52834b,_0x3826fe);_0x375659['SFHxp'](writeToFileLog,{..._0x52834b,'level':_0x55e000,'msg':_0x3826fe,'time':new Date()[_0x5a4554(0x20a)]()},_0x55e000);},logTransaction=(_0x1ba8c1,_0x4f85a1)=>{const _0x4fc209=a0_0x3d5fbd,_0x1e5acd={'event':_0x4fc209(0x1da),'status':_0x1ba8c1,'queryCount':_0x4f85a1},_0x441243=_0x4fc209(0x264)+_0x1ba8c1;logger[_0x4fc209(0x228)](_0x1e5acd,_0x441243),writeToFileLog({..._0x1e5acd,'level':_0x4fc209(0x228),'msg':_0x441243,'time':new Date()[_0x4fc209(0x20a)]()},_0x4fc209(0x228));},redactObject=_0x191bd7=>{const _0x4a9632=a0_0x3d5fbd,_0x388f5d={'azRnd':function(_0x16329d,_0x11a796){return _0x16329d!==_0x11a796;},'UvumQ':_0x4a9632(0x260),'kqXQh':_0x4a9632(0x239),'YqopO':_0x4a9632(0x25d),'psksD':'authorization','cLbhT':'creditcard','uFMuj':'credit_card','mSEzP':'ssn','DQtNh':_0x4a9632(0x229),'pUbDY':_0x4a9632(0x25f),'NeFBG':'[REDACTED]','zGlsf':function(_0x5bfcc1,_0x4f276a){return _0x5bfcc1===_0x4f276a;},'oPZOk':function(_0x1fe2f7,_0x4922e5){return _0x1fe2f7!==_0x4922e5;}};if(!_0x191bd7||_0x388f5d[_0x4a9632(0x26f)](typeof _0x191bd7,'object'))return _0x191bd7;const _0x1d2fe7=[_0x4a9632(0x276),_0x388f5d['UvumQ'],_0x4a9632(0x22f),_0x388f5d['kqXQh'],_0x388f5d['YqopO'],'apikey',_0x4a9632(0x1dd),_0x388f5d['psksD'],_0x388f5d[_0x4a9632(0x1e6)],_0x388f5d[_0x4a9632(0x244)],'cvv',_0x388f5d['mSEzP'],_0x388f5d[_0x4a9632(0x234)],'private_key',_0x388f5d[_0x4a9632(0x20f)],_0x4a9632(0x222),'access_token'],_0x2f99f1=Array['isArray'](_0x191bd7)?[..._0x191bd7]:{..._0x191bd7};for(const _0x7dd48 of Object[_0x4a9632(0x24a)](_0x2f99f1)){const _0x211abb=_0x7dd48[_0x4a9632(0x224)]();if(_0x1d2fe7[_0x4a9632(0x269)](_0x547258=>_0x211abb['includes'](_0x547258)))_0x2f99f1[_0x7dd48]=_0x388f5d['NeFBG'];else _0x388f5d['zGlsf'](typeof _0x2f99f1[_0x7dd48],'object')&&_0x388f5d['oPZOk'](_0x2f99f1[_0x7dd48],null)&&(_0x2f99f1[_0x7dd48]=redactObject(_0x2f99f1[_0x7dd48]));}return _0x2f99f1;},logError=(_0x3ed443,_0x1a0391={},_0x5df7c0=null)=>{const _0x46b5b0=a0_0x3d5fbd,_0x1e0d47={'QiMjh':function(_0x725904,_0x48dcbf,_0xeb71e4){return _0x725904(_0x48dcbf,_0xeb71e4);},'MBYdG':'error'},_0x57c3c3={'event':'error','errorName':_0x3ed443[_0x46b5b0(0x1d2)]||_0x46b5b0(0x226),'errorMessage':_0x3ed443[_0x46b5b0(0x1ce)],'errorCode':_0x3ed443[_0x46b5b0(0x27c)]||null,'stack':_0x3ed443[_0x46b5b0(0x225)],..._0x1a0391},_0x114085=_0x5df7c0||'Error:\x20'+_0x3ed443['message'];logger['error'](_0x57c3c3,_0x114085),_0x1e0d47['QiMjh'](writeToFileLog,{..._0x57c3c3,'level':_0x1e0d47['MBYdG'],'msg':_0x114085,'time':new Date()['toISOString']()},'error');},logFatalError=(_0x26f51d,_0x100371={},_0x51bf7e=null)=>{const _0x4497d6=a0_0x3d5fbd,_0x5e57da={'YVmyM':_0x4497d6(0x1d7),'avDAL':'CRITICAL','BXkPR':_0x4497d6(0x1d8)},_0x4fd1b5={'event':_0x5e57da['YVmyM'],'errorName':_0x26f51d[_0x4497d6(0x1d2)]||_0x4497d6(0x226),'errorMessage':_0x26f51d['message'],'errorCode':_0x26f51d['code']||null,'stack':_0x26f51d['stack'],'severity':_0x5e57da[_0x4497d6(0x1e0)],..._0x100371},_0x437677=_0x51bf7e||_0x4497d6(0x1cd)+_0x26f51d[_0x4497d6(0x1ce)];logger['fatal'](_0x4fd1b5,_0x437677),writeToFileLog({..._0x4fd1b5,'level':'fatal','msg':_0x437677,'time':new Date()[_0x4497d6(0x20a)]()},_0x5e57da['BXkPR']);},logHttpError=(_0x553f30,_0x4c690c,_0x1e413d={})=>{const _0x59c40d=a0_0x3d5fbd,_0x3f97db={'UCYli':_0x59c40d(0x218),'OZPXE':'x-request-id','iruxK':function(_0x6f28b8,_0xe53b9){return _0x6f28b8>=_0xe53b9;},'izepv':'error'},_0x341556={'event':'http_error','errorName':_0x553f30['name']||'Error','errorMessage':_0x553f30['message'],'errorCode':_0x553f30[_0x59c40d(0x27c)]||_0x553f30['statusCode']||0x1f4,'stack':_0x553f30['stack'],'method':_0x4c690c?.[_0x59c40d(0x1d1)],'url':_0x4c690c?.[_0x59c40d(0x270)]||_0x4c690c?.[_0x59c40d(0x22a)],'path':_0x4c690c?.['path'],'ip':_0x4c690c?.['ip']||_0x4c690c?.[_0x59c40d(0x1d5)]?.[_0x59c40d(0x25e)],'userAgent':_0x4c690c?.['get']?.(_0x3f97db[_0x59c40d(0x232)]),'requestId':_0x4c690c?.['id']||_0x4c690c?.[_0x59c40d(0x1df)]?.[_0x3f97db['OZPXE']],'body':_0x4c690c?.['body']?redactObject(_0x4c690c['body']):undefined,'query':_0x4c690c?.['query'],..._0x1e413d},_0x44a4fa=_0x553f30[_0x59c40d(0x26a)]||_0x553f30[_0x59c40d(0x214)]||0x1f4,_0x36e2bd=_0x59c40d(0x207)+_0x44a4fa+':\x20'+_0x553f30['message'];_0x44a4fa>=0x1f4?logger[_0x59c40d(0x1d8)](_0x341556,_0x36e2bd):logger[_0x59c40d(0x227)](_0x341556,_0x36e2bd),writeToFileLog({..._0x341556,'level':_0x3f97db['iruxK'](_0x44a4fa,0x1f4)?_0x3f97db['izepv']:'warn','msg':_0x36e2bd,'time':new Date()['toISOString']()},_0x44a4fa>=0x1f4?_0x3f97db['izepv']:'warn');},logUncaughtError=(_0xa38b23,_0x2c820c)=>{const _0x2ca8e5=a0_0x3d5fbd,_0x3daf47={'iVATj':function(_0x326de4,_0x378951){return _0x326de4(_0x378951);},'TILLu':'CRITICAL','gTiCQ':'fatal'},_0x4fd997={'event':_0xa38b23,'errorName':_0x2c820c?.['name']||_0x2ca8e5(0x226),'errorMessage':_0x2c820c?.[_0x2ca8e5(0x1ce)]||_0x3daf47['iVATj'](String,_0x2c820c),'errorCode':_0x2c820c?.[_0x2ca8e5(0x27c)]||null,'stack':_0x2c820c?.['stack'],'severity':_0x3daf47['TILLu'],'processId':process['pid'],'memoryUsage':process[_0x2ca8e5(0x258)](),'uptime':process[_0x2ca8e5(0x266)]()},_0x2159a0='['+_0xa38b23[_0x2ca8e5(0x1e4)]()+']\x20'+(_0x2c820c?.[_0x2ca8e5(0x1ce)]||_0x2c820c);logger[_0x2ca8e5(0x1ff)](_0x4fd997,_0x2159a0),writeToFileLog({..._0x4fd997,'level':_0x3daf47['gTiCQ'],'msg':_0x2159a0,'time':new Date()[_0x2ca8e5(0x20a)]()},_0x2ca8e5(0x1d8));},setupGlobalErrorHandlers=()=>{const _0x314001=a0_0x3d5fbd,_0x4012ef={'YAbDu':function(_0x26f192,_0x449093){return _0x26f192 instanceof _0x449093;},'gQjip':_0x314001(0x279),'hlqjf':_0x314001(0x204),'iWdlh':'warning','cYzNu':'global_error_handlers_setup','mlqwX':function(_0x550330,_0x349e78,_0x520559){return _0x550330(_0x349e78,_0x520559);}};process['on'](_0x4012ef['hlqjf'],_0x3c791c=>{const _0x22a9d0=_0x314001;logUncaughtError(_0x22a9d0(0x204),_0x3c791c),setTimeout(()=>{const _0x551d85=_0x22a9d0;process[_0x551d85(0x245)](0x1);},0x3e8);}),process['on'](_0x4012ef[_0x314001(0x1e1)],(_0x597066,_0x1ed9cc)=>{const _0x390c40=_0x314001,_0x2889fa=_0x4012ef['YAbDu'](_0x597066,Error)?_0x597066:new Error(String(_0x597066));logUncaughtError(_0x4012ef[_0x390c40(0x1e1)],_0x2889fa);}),process['on'](_0x4012ef['iWdlh'],_0x2c6c2d=>{const _0x3c7e9b=_0x314001;logger[_0x3c7e9b(0x227)]({'event':_0x3c7e9b(0x1eb),'name':_0x2c6c2d[_0x3c7e9b(0x1d2)],'message':_0x2c6c2d[_0x3c7e9b(0x1ce)],'stack':_0x2c6c2d[_0x3c7e9b(0x225)]},_0x3c7e9b(0x221)+_0x2c6c2d['message']);});const _0x55ef46={'event':_0x4012ef[_0x314001(0x1de)]},_0xbb8ad2='Global\x20error\x20handlers\x20initialized';logger['info'](_0x55ef46,_0xbb8ad2),_0x4012ef[_0x314001(0x1db)](writeToFileLog,{..._0x55ef46,'level':_0x314001(0x259),'msg':_0xbb8ad2,'time':new Date()['toISOString']()},'info');},createErrorHandlerMiddleware=()=>{const _0x3bab9b=a0_0x3d5fbd,_0x2e2f4d={'bDvgO':function(_0x9f788e,_0x35a3e3,_0x4bce6e){return _0x9f788e(_0x35a3e3,_0x4bce6e);},'gyYJi':function(_0x5ee7c1,_0x5042ca){return _0x5ee7c1>=_0x5042ca;},'wtSls':'Internal\x20server\x20error','vlwNs':_0x3bab9b(0x21a)};return(_0x6c0f4f,_0x381479,_0x24f7f9,_0x7dec5d)=>{const _0x3bc63c=_0x3bab9b;_0x2e2f4d[_0x3bc63c(0x246)](logHttpError,_0x6c0f4f,_0x381479);const _0x1075ca=_0x6c0f4f[_0x3bc63c(0x26a)]||_0x6c0f4f[_0x3bc63c(0x214)]||0x1f4;_0x24f7f9['status'](_0x1075ca)[_0x3bc63c(0x1f7)]({'success':![],'error':_0x2e2f4d[_0x3bc63c(0x1f3)](_0x1075ca,0x1f4)?_0x2e2f4d[_0x3bc63c(0x250)]:_0x6c0f4f['message'],'requestId':_0x381479['id']||_0x381479[_0x3bc63c(0x1df)]?.[_0x2e2f4d['vlwNs']]||null});};};function a0_0xfd83(_0x155321,_0x1fa88b){_0x155321=_0x155321-0x1c5;const _0x250774=a0_0x2507();let _0xfd8329=_0x250774[_0x155321];if(a0_0xfd83['kGvXNq']===undefined){var _0x43bea8=function(_0x43bd3){const _0x2c70c9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5ca100='',_0x52288b='';for(let _0x114bd2=0x0,_0x22ae94,_0x4813b1,_0x319d7d=0x0;_0x4813b1=_0x43bd3['charAt'](_0x319d7d++);~_0x4813b1&&(_0x22ae94=_0x114bd2%0x4?_0x22ae94*0x40+_0x4813b1:_0x4813b1,_0x114bd2++%0x4)?_0x5ca100+=String['fromCharCode'](0xff&_0x22ae94>>(-0x2*_0x114bd2&0x6)):0x0){_0x4813b1=_0x2c70c9['indexOf'](_0x4813b1);}for(let _0x868210=0x0,_0x301ff7=_0x5ca100['length'];_0x868210<_0x301ff7;_0x868210++){_0x52288b+='%'+('00'+_0x5ca100['charCodeAt'](_0x868210)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x52288b);};a0_0xfd83['JaXmrX']=_0x43bea8,a0_0xfd83['YaOwPg']={},a0_0xfd83['kGvXNq']=!![];}const _0x1b3729=_0x250774[0x0],_0x1ce2bd=_0x155321+_0x1b3729,_0x879258=a0_0xfd83['YaOwPg'][_0x1ce2bd];return!_0x879258?(_0xfd8329=a0_0xfd83['JaXmrX'](_0xfd8329),a0_0xfd83['YaOwPg'][_0x1ce2bd]=_0xfd8329):_0xfd8329=_0x879258,_0xfd8329;}module[a0_0x3d5fbd(0x1c5)]={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
|
|
1
|
+
const a0_0x3a7d81=a0_0x4042;(function(_0x1df0dc,_0x3738fa){const _0x5a24f1=a0_0x4042,_0x3effc0=_0x1df0dc();while(!![]){try{const _0x47f6d6=-parseInt(_0x5a24f1(0x1fa))/0x1*(parseInt(_0x5a24f1(0x232))/0x2)+-parseInt(_0x5a24f1(0x263))/0x3+-parseInt(_0x5a24f1(0x265))/0x4+parseInt(_0x5a24f1(0x21b))/0x5+-parseInt(_0x5a24f1(0x28f))/0x6+parseInt(_0x5a24f1(0x1ef))/0x7+parseInt(_0x5a24f1(0x26f))/0x8*(parseInt(_0x5a24f1(0x20d))/0x9);if(_0x47f6d6===_0x3738fa)break;else _0x3effc0['push'](_0x3effc0['shift']());}catch(_0x5b3cf3){_0x3effc0['push'](_0x3effc0['shift']());}}}(a0_0x48ca,0x1c20e));const pino=require('pino'),fs=require('fs'),path=require(a0_0x3a7d81(0x275));let logToFile=![],logDir='./logs',serviceName=a0_0x3a7d81(0x27b),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':a0_0x3a7d81(0x28b),'hideObject':!![]},isDevelopment=process['env'][a0_0x3a7d81(0x26a)]!==a0_0x3a7d81(0x28d),logLevel=process[a0_0x3a7d81(0x2a5)]['LOG_LEVEL']||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x3a7d81(0x27b),'version':process[a0_0x3a7d81(0x2a5)]['APP_VERSION']||'1.0.5','env':process[a0_0x3a7d81(0x2a5)][a0_0x3a7d81(0x26a)]||'development'},'timestamp':pino[a0_0x3a7d81(0x257)][a0_0x3a7d81(0x21a)],'redact':{'paths':[a0_0x3a7d81(0x279),a0_0x3a7d81(0x29f),a0_0x3a7d81(0x278),'token',a0_0x3a7d81(0x261),a0_0x3a7d81(0x282),'JWT_SECRET'],'censor':'[REDACTED]'},'serializers':{'req':_0xbeb216=>({'id':_0xbeb216['id'],'method':_0xbeb216['method'],'url':_0xbeb216[a0_0x3a7d81(0x25f)],'path':_0xbeb216[a0_0x3a7d81(0x275)],'remoteAddress':_0xbeb216['ip']||_0xbeb216['connection']?.['remoteAddress']}),'res':_0xc15408=>({'statusCode':_0xc15408[a0_0x3a7d81(0x260)],'headers':_0xc15408[a0_0x3a7d81(0x1f2)]?.()}),'err':pino[a0_0x3a7d81(0x213)][a0_0x3a7d81(0x293)]}});function initFileLogging(){const _0x10eb64=a0_0x3a7d81,_0x1cf54c={'ZuWVz':'default','HgLTJ':_0x10eb64(0x2a2),'lQYWE':function(_0x238a16,_0x122931){return _0x238a16!==_0x122931;},'CouRm':function(_0x410595,_0x362688){return _0x410595(_0x362688);},'QlwfD':_0x10eb64(0x280),'TkYhJ':'error.log','GCYnC':_0x10eb64(0x203)};if(fileLoggingInitialized)return;logToFile=process['env']['LOG_TO_FILE']===_0x10eb64(0x20e);const _0x1ae443=process[_0x10eb64(0x2a5)][_0x10eb64(0x216)]||_0x1cf54c['ZuWVz'];logDir=process['env'][_0x10eb64(0x27c)]||_0x10eb64(0x24b)+_0x1ae443,serviceName=process['env']['SERVICE_NAME']||'restforge',sqlLogEnabled=process[_0x10eb64(0x2a5)][_0x10eb64(0x22f)]===_0x10eb64(0x20e),sqlLogLevel=process[_0x10eb64(0x2a5)][_0x10eb64(0x22e)]||_0x1cf54c[_0x10eb64(0x1f0)],sqlLogParams=_0x1cf54c['lQYWE'](process[_0x10eb64(0x2a5)]['SQL_LOG_PARAMS'],'false'),sqlLogSlowThreshold=_0x1cf54c[_0x10eb64(0x2a3)](parseInt,process[_0x10eb64(0x2a5)][_0x10eb64(0x272)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x2a4ec8=path[_0x10eb64(0x21e)](process['cwd'](),logDir);try{!fs[_0x10eb64(0x27a)](_0x2a4ec8)&&fs[_0x10eb64(0x28a)](_0x2a4ec8,{'recursive':!![]});}catch(_0x372c18){console[_0x10eb64(0x259)](_0x10eb64(0x266)+_0x2a4ec8+':',_0x372c18['message']),fileLoggingInitialized=!![];return;}const _0x5dd9ac=path[_0x10eb64(0x28e)](_0x2a4ec8,_0x1cf54c[_0x10eb64(0x24d)]),_0x408859=path[_0x10eb64(0x28e)](_0x2a4ec8,_0x1cf54c['TkYhJ']);try{appLogStream=fs[_0x10eb64(0x251)](_0x5dd9ac,{'flags':'a'}),errorLogStream=fs[_0x10eb64(0x251)](_0x408859,{'flags':'a'}),fileLoggingInitialized=!![];const _0x17f01e={'event':_0x10eb64(0x252),'logDir':_0x2a4ec8,'files':[_0x1cf54c[_0x10eb64(0x24d)],_0x1cf54c[_0x10eb64(0x258)]]},_0x7931c6=_0x10eb64(0x2a9)+_0x2a4ec8;logger[_0x10eb64(0x203)](_0x17f01e,_0x7931c6),writeToFileLog({..._0x17f01e,'level':_0x1cf54c['GCYnC'],'msg':_0x7931c6,'time':new Date()[_0x10eb64(0x1f8)]()},_0x1cf54c['GCYnC']);}catch(_0x5a4d2e){console['error'](_0x10eb64(0x215),_0x5a4d2e['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x13e04a,_0x4e9c51){const _0x135736=a0_0x3a7d81,_0x407a7b={'vAjjC':function(_0x331492,_0x3e9db4){return _0x331492||_0x3e9db4;},'pTQCA':function(_0x4d3af1,_0x10545b){return _0x4d3af1+_0x10545b;},'AZMSR':function(_0x3f2e40,_0x27828d){return _0x3f2e40===_0x27828d;}};if(_0x407a7b['vAjjC'](!logToFile,!appLogStream))return;const _0x59950b={'service':serviceName,..._0x13e04a},_0x12db9e=_0x407a7b[_0x135736(0x270)](JSON['stringify'](_0x59950b),'\x0a');appLogStream[_0x135736(0x202)](_0x12db9e),(_0x407a7b[_0x135736(0x283)](_0x4e9c51,'error')||_0x4e9c51==='fatal')&&(errorLogStream&&errorLogStream[_0x135736(0x202)](_0x12db9e));}const createRequestLogger=(_0x21ceae={})=>{const _0x227830=a0_0x3a7d81;return logger[_0x227830(0x248)](_0x21ceae);},logServerStart=_0x4af416=>{const _0x3ed56b=a0_0x3a7d81,_0x201905={'cgOmu':_0x3ed56b(0x284),'tsRmX':_0x3ed56b(0x21c),'NDiSa':'N/A','KvMie':'ACTIVE','Sbwsf':_0x3ed56b(0x203)},_0x334b65=_0x201905[_0x3ed56b(0x247)],_0x40e81e=Math[_0x3ed56b(0x204)](0x0,0x37-_0x334b65[_0x3ed56b(0x243)]),_0x188a60=Math['floor'](_0x40e81e/0x2),_0x14dda3=_0x40e81e-_0x188a60,_0x3b75d4='║'+'\x20'['repeat'](_0x188a60)+_0x334b65+'\x20'['repeat'](_0x14dda3)+'║',_0x649d14=_0x3ed56b(0x231)+_0x3b75d4+_0x3ed56b(0x1f5)+(_0x4af416[_0x3ed56b(0x25b)]||_0x201905['tsRmX'])[_0x3ed56b(0x256)](0x26)+_0x3ed56b(0x29e)+(_0x4af416[_0x3ed56b(0x271)]||_0x201905['NDiSa'])[_0x3ed56b(0x256)](0x26)+_0x3ed56b(0x298)+String(_0x4af416[_0x3ed56b(0x241)]||0xbb8)['padEnd'](0x26)+_0x3ed56b(0x239)+(_0x4af416['configFile']||_0x3ed56b(0x2ac))[_0x3ed56b(0x256)](0x26)+_0x3ed56b(0x23e)+(_0x4af416[_0x3ed56b(0x261)]?_0x201905['KvMie']:'NOT\x20ACTIVE')['padEnd'](0x26)+_0x3ed56b(0x225);console['log'](_0x649d14);const _0x4765af={'event':'server_starting','project':_0x4af416[_0x3ed56b(0x271)],'port':_0x4af416['port'],'config':_0x4af416['configFile'],'apiKeyEnabled':!!_0x4af416['apiKey']};logger[_0x3ed56b(0x203)](_0x4765af),writeToFileLog({..._0x4765af,'level':_0x3ed56b(0x203),'msg':'Server\x20starting:\x20'+_0x4af416['project']+'\x20on\x20port\x20'+_0x4af416['port'],'time':new Date()[_0x3ed56b(0x1f8)]()},_0x201905['Sbwsf']);},logServerReady=_0x7aa829=>{const _0x25b358=a0_0x3a7d81,_0xc74fc9={'RoBKX':_0x25b358(0x2ad)},_0x386b08={'event':_0xc74fc9[_0x25b358(0x222)],'port':_0x7aa829['port'],'module':_0x7aa829['module'],'healthCheck':_0x7aa829['healthCheck'],'serviceInfo':_0x7aa829[_0x25b358(0x285)],'baseUrl':_0x7aa829['baseUrl']},_0x4d72eb='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x7aa829['port'];logger['info'](_0x386b08,_0x4d72eb),writeToFileLog({..._0x386b08,'level':_0x25b358(0x203),'msg':_0x4d72eb,'time':new Date()[_0x25b358(0x1f8)]()},_0x25b358(0x203)),_0x7aa829[_0x25b358(0x228)]&&logger['info']('\x20\x20Health:\x20'+_0x7aa829[_0x25b358(0x228)]),_0x7aa829['serviceInfo']&&logger[_0x25b358(0x203)]('\x20\x20Info:\x20\x20\x20'+_0x7aa829['serviceInfo']),_0x7aa829['baseUrl']&&logger[_0x25b358(0x203)]('\x20\x20URL:\x20\x20\x20\x20'+_0x7aa829['baseUrl']);},logProjectLoaded=(_0x1b7787,_0x415193)=>{const _0x5bd080=a0_0x3a7d81,_0x51fbe2={'RcoPv':_0x5bd080(0x203)},_0x4b9690={'event':'project_loaded','project':_0x1b7787,'path':_0x415193},_0x1a4cd0=_0x5bd080(0x234)+_0x1b7787;logger[_0x5bd080(0x203)](_0x4b9690,_0x1a4cd0),writeToFileLog({..._0x4b9690,'level':'info','msg':_0x1a4cd0,'time':new Date()['toISOString']()},_0x51fbe2['RcoPv']);},logEndpointRegistered=(_0x45e0d2,_0x1eef40)=>{const _0x400096=a0_0x3a7d81,_0x1b19b8={'event':_0x400096(0x24e),'endpoint':_0x45e0d2,'route':_0x1eef40},_0x29496d='\x20\x20→\x20'+_0x45e0d2+':\x20'+_0x1eef40;logger['debug'](_0x1b19b8,_0x29496d),writeToFileLog({..._0x1b19b8,'level':'debug','msg':_0x29496d,'time':new Date()[_0x400096(0x1f8)]()},'debug');},logDatabaseConfig=_0x5674c8=>{const _0x432d64=a0_0x3a7d81,_0x12821e={'QloKW':'database_config','qHxZB':'debug'},_0x49303c={'event':_0x12821e[_0x432d64(0x287)],'host':_0x5674c8[_0x432d64(0x297)],'port':_0x5674c8[_0x432d64(0x241)],'database':_0x5674c8['database'],'type':_0x5674c8[_0x432d64(0x274)],'user':_0x5674c8['user']},_0x233182=_0x432d64(0x291)+_0x5674c8[_0x432d64(0x274)]+_0x432d64(0x25c)+_0x5674c8[_0x432d64(0x297)]+':'+_0x5674c8[_0x432d64(0x241)]+'/'+_0x5674c8[_0x432d64(0x288)];logger['debug'](_0x49303c,_0x233182),writeToFileLog({..._0x49303c,'level':'debug','msg':_0x233182,'time':new Date()[_0x432d64(0x1f8)]()},_0x12821e['qHxZB']);},logRequest=(_0x2a1985,_0x53fa2c,_0x23da15)=>{const _0x3c0010=a0_0x3a7d81,_0x12d33f={'rOcut':'http_request','FYVks':_0x3c0010(0x203),'uXZeM':function(_0x477839,_0x201102){return _0x477839>=_0x201102;},'bcQHc':_0x3c0010(0x259),'QoqeR':function(_0x4aa2b2,_0x558f20){return _0x4aa2b2>=_0x558f20;},'GXilL':'warn'},_0xea32f0={'event':_0x12d33f[_0x3c0010(0x208)],'method':_0x2a1985[_0x3c0010(0x1f1)],'path':_0x2a1985['path'],'statusCode':_0x53fa2c[_0x3c0010(0x260)],'durationMs':_0x23da15,'ip':_0x2a1985['ip']},_0x2d9826=_0x2a1985['method']+'\x20'+_0x2a1985[_0x3c0010(0x275)]+_0x3c0010(0x224)+_0x53fa2c['statusCode']+'\x20('+_0x23da15+'ms)';let _0x33f3e7=_0x12d33f['FYVks'];if(_0x12d33f['uXZeM'](_0x53fa2c['statusCode'],0x1f4))_0x33f3e7=_0x12d33f[_0x3c0010(0x201)],logger['error'](_0xea32f0,_0x2d9826);else _0x12d33f[_0x3c0010(0x238)](_0x53fa2c['statusCode'],0x190)?(_0x33f3e7=_0x12d33f['GXilL'],logger['warn'](_0xea32f0,_0x2d9826)):logger['info'](_0xea32f0,_0x2d9826);writeToFileLog({..._0xea32f0,'level':_0x33f3e7,'msg':_0x2d9826,'time':new Date()['toISOString']()},_0x33f3e7);},SENSITIVE_PARAM_PATTERNS=[a0_0x3a7d81(0x278),a0_0x3a7d81(0x29d),a0_0x3a7d81(0x26d),a0_0x3a7d81(0x25e),'access_token','refresh_token','secret','api_secret',a0_0x3a7d81(0x1f6),'api_key','credential','credentials','pin',a0_0x3a7d81(0x26c),'private_key',a0_0x3a7d81(0x1fb)],redactSensitiveParams=(_0x1627f9,_0x38b7bd)=>{const _0x3f7995=a0_0x3a7d81,_0x55020a={'RLGpd':function(_0x167303,_0x1795a4){return _0x167303===_0x1795a4;},'xTiLX':_0x3f7995(0x296),'XZoHh':function(_0x55e0e4,_0x5ceac8){return _0x55e0e4>_0x5ceac8;},'jhHwO':'[REDACTED:hash]','jFaew':function(_0x16cbb6,_0x178f56){return _0x16cbb6===_0x178f56;}};if(!_0x1627f9||_0x55020a['jFaew'](_0x1627f9['length'],0x0))return _0x1627f9;const _0x41ce21=_0x38b7bd[_0x3f7995(0x21d)](),_0x4dbf25=_0x41ce21[_0x3f7995(0x264)](/\(([^)]+)\)\s*values/i);let _0x10dc7e=[];_0x4dbf25&&(_0x10dc7e=_0x4dbf25[0x1]['split'](',')['map'](_0xb6dabf=>_0xb6dabf[_0x3f7995(0x2aa)]()['toLowerCase']()));const _0x3dcc5f=_0x41ce21[_0x3f7995(0x264)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x3dcc5f){const _0xec2f38=_0x3dcc5f[0x1],_0x395e52=_0xec2f38[_0x3f7995(0x264)](/(\w+)\s*=/g);_0x395e52&&(_0x10dc7e=_0x395e52['map'](_0x23966a=>_0x23966a['replace'](/\s*=/,'')[_0x3f7995(0x2aa)]()[_0x3f7995(0x21d)]()));}return _0x1627f9['map']((_0x5a41e7,_0x503a07)=>{const _0x114a39=_0x3f7995;if(_0x10dc7e[_0x503a07]){const _0x231dc2=_0x10dc7e[_0x503a07],_0x15b586=SENSITIVE_PARAM_PATTERNS[_0x114a39(0x2a4)](_0x50bb49=>_0x231dc2[_0x114a39(0x212)](_0x50bb49));if(_0x15b586)return'[REDACTED]';}if(_0x55020a['RLGpd'](typeof _0x5a41e7,_0x55020a[_0x114a39(0x269)])&&_0x55020a['XZoHh'](_0x5a41e7['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x114a39(0x25a)](_0x5a41e7)&&_0x5a41e7['includes']('.'))return _0x114a39(0x2ae);if(/^[a-fA-F0-9]{32,}$/['test'](_0x5a41e7))return _0x55020a[_0x114a39(0x200)];}return _0x5a41e7;});},parseQueryMetadata=_0x3a3091=>{const _0x1e7add=a0_0x3a7d81,_0x2ba153={'mATXW':_0x1e7add(0x2b0),'abJAP':_0x1e7add(0x254),'CGwKy':'INSERT','GKPHr':_0x1e7add(0x1f9),'cfDXl':'DELETE','ZlSTd':_0x1e7add(0x295),'CGMAm':_0x1e7add(0x20b),'XJRby':_0x1e7add(0x206),'gijAq':_0x1e7add(0x27d),'Flgvv':_0x1e7add(0x2a8),'YRdbg':_0x1e7add(0x289),'CzxLq':'DROP'},_0x3e563e=_0x3a3091[_0x1e7add(0x2aa)](),_0x37c3aa=_0x3e563e['toUpperCase']();let _0x2d166e=_0x2ba153[_0x1e7add(0x1fc)],_0x3a645d=null;if(_0x37c3aa[_0x1e7add(0x236)](_0x2ba153['abJAP'])){_0x2d166e=_0x1e7add(0x254);const _0x10cdf1=_0x3e563e[_0x1e7add(0x264)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a645d=_0x10cdf1?_0x10cdf1[0x1]:null;}else{if(_0x37c3aa['startsWith'](_0x2ba153[_0x1e7add(0x219)])){_0x2d166e=_0x2ba153[_0x1e7add(0x219)];const _0x5dc3f6=_0x3e563e[_0x1e7add(0x264)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a645d=_0x5dc3f6?_0x5dc3f6[0x1]:null;}else{if(_0x37c3aa[_0x1e7add(0x236)](_0x2ba153['GKPHr'])){_0x2d166e=_0x2ba153[_0x1e7add(0x2a6)];const _0x5c4d19=_0x3e563e['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a645d=_0x5c4d19?_0x5c4d19[0x1]:null;}else{if(_0x37c3aa[_0x1e7add(0x236)](_0x2ba153['cfDXl'])){_0x2d166e=_0x2ba153['cfDXl'];const _0x35af49=_0x3e563e[_0x1e7add(0x264)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a645d=_0x35af49?_0x35af49[0x1]:null;}else{if(_0x37c3aa[_0x1e7add(0x236)](_0x2ba153[_0x1e7add(0x1f7)])||_0x37c3aa['startsWith'](_0x2ba153['CGMAm']))_0x2d166e=_0x1e7add(0x214);else{if(_0x37c3aa['startsWith'](_0x1e7add(0x210)))_0x2d166e=_0x1e7add(0x286);else{if(_0x37c3aa['startsWith']('ROLLBACK'))_0x2d166e=_0x2ba153[_0x1e7add(0x242)];else{if(_0x37c3aa[_0x1e7add(0x236)]('CREATE'))_0x2d166e=_0x2ba153[_0x1e7add(0x230)];else{if(_0x37c3aa[_0x1e7add(0x236)](_0x2ba153[_0x1e7add(0x21f)]))_0x2d166e=_0x2ba153['YRdbg'];else _0x37c3aa['startsWith'](_0x2ba153[_0x1e7add(0x25d)])&&(_0x2d166e=_0x1e7add(0x290));}}}}}}}}return{'type':_0x2d166e,'table':_0x3a645d};},startQueryTimer=()=>{const _0x265df3={'DXmlM':function(_0x42a834,_0x131a3a){return _0x42a834+_0x131a3a;},'myBUt':function(_0x1bc4a7,_0x570194){return _0x1bc4a7/_0x570194;}},_0x23a9e1=process['hrtime']();return()=>{const _0x37fabd=a0_0x4042,[_0x588e74,_0x2407a2]=process[_0x37fabd(0x23c)](_0x23a9e1);return parseFloat(_0x265df3['DXmlM'](_0x588e74*0x3e8,_0x265df3[_0x37fabd(0x262)](_0x2407a2,0xf4240))['toFixed'](0x2));};},logQuery=(_0x1b1af6,_0x4c5ea8=[],_0x4b656b={})=>{const _0x50e0f4=a0_0x3a7d81,_0x5a6d64={'rDGgz':'db_query','nNPsg':'postgresql','XknUq':function(_0x2034f9,_0x275193){return _0x2034f9(_0x275193);},'RpShA':function(_0x23597e,_0x40f74f,_0x2853f9){return _0x23597e(_0x40f74f,_0x2853f9);},'AYEWn':function(_0x300897,_0x4664c3){return _0x300897>_0x4664c3;},'qvZDH':function(_0x7bb1c,_0x1ffa30){return _0x7bb1c||_0x1ffa30;},'aoYfr':function(_0x766697,_0x2b1887){return _0x766697!==_0x2b1887;},'PJFvi':_0x50e0f4(0x20f),'EXOYj':_0x50e0f4(0x203)};if(!sqlLogEnabled){logger[_0x50e0f4(0x2a2)]({'event':_0x5a6d64['rDGgz'],'query':_0x1b1af6[_0x50e0f4(0x1ed)](0x0,0xc8),'paramCount':_0x4c5ea8[_0x50e0f4(0x243)]},'DB\x20Query');return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x5a6d64[_0x50e0f4(0x221)]}=_0x4b656b,{type:_0xbce4c4,table:_0xe9c3f3}=_0x5a6d64['XknUq'](parseQueryMetadata,_0x1b1af6),_0x2dfa1a={'event':_0x50e0f4(0x273),'queryType':_0xbce4c4,'table':_0xe9c3f3,'query':_0x1b1af6,'paramCount':_0x4c5ea8['length'],'dbType':dbType};sqlLogParams&&_0x4c5ea8['length']>0x0&&(_0x2dfa1a[_0x50e0f4(0x29a)]=_0x5a6d64[_0x50e0f4(0x27f)](redactSensitiveParams,_0x4c5ea8,_0x1b1af6));duration!==null&&(_0x2dfa1a['durationMs']=duration,_0x2dfa1a[_0x50e0f4(0x205)]=_0x5a6d64['AYEWn'](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x2dfa1a[_0x50e0f4(0x20c)]=rowsAffected);const _0x7b9346=_0x5a6d64['qvZDH'](_0xe9c3f3,'unknown');let _0x3593a9='['+_0xbce4c4+']\x20'+_0x7b9346;duration!==null&&(_0x3593a9+='\x20('+duration+'ms)');const _0x3d6ff9=_0x5a6d64[_0x50e0f4(0x207)](duration,null)&&_0x5a6d64['AYEWn'](duration,sqlLogSlowThreshold);let _0x2d0d39='debug';if(_0x3d6ff9)_0x3593a9+=_0x50e0f4(0x229),_0x2d0d39=_0x5a6d64[_0x50e0f4(0x24f)],logger['warn'](_0x2dfa1a,_0x3593a9);else sqlLogLevel===_0x5a6d64[_0x50e0f4(0x255)]?(_0x2d0d39=_0x50e0f4(0x203),logger[_0x50e0f4(0x203)](_0x2dfa1a,_0x3593a9)):logger[_0x50e0f4(0x2a2)](_0x2dfa1a,_0x3593a9);_0x5a6d64['RpShA'](writeToFileLog,{..._0x2dfa1a,'level':_0x2d0d39,'msg':_0x3593a9,'time':new Date()['toISOString']()},_0x2d0d39);},logTransaction=(_0x37cafe,_0x5efa9d)=>{const _0x5ba178=a0_0x3a7d81,_0x5e356b={'MOtzo':function(_0x146d4e,_0x1fe51f,_0x41c5de){return _0x146d4e(_0x1fe51f,_0x41c5de);},'FJQCx':_0x5ba178(0x2a2)},_0x4bca3c={'event':_0x5ba178(0x1ee),'status':_0x37cafe,'queryCount':_0x5efa9d},_0x74812b='Transaction\x20'+_0x37cafe;logger[_0x5ba178(0x2a2)](_0x4bca3c,_0x74812b),_0x5e356b['MOtzo'](writeToFileLog,{..._0x4bca3c,'level':_0x5e356b['FJQCx'],'msg':_0x74812b,'time':new Date()[_0x5ba178(0x1f8)]()},'debug');},redactObject=_0x442b89=>{const _0x2e8487=a0_0x3a7d81,_0xb6a91f={'Vjcxs':function(_0x219ca8,_0x4a24c5){return _0x219ca8!==_0x4a24c5;},'pIiln':'object','WpPbn':'pwd','nAWsp':'token','tdCJT':'apikey','ItjXA':'authorization','MEIwv':'credit_card','FtTCl':_0x2e8487(0x268),'xLpwk':_0x2e8487(0x276),'DgJib':_0x2e8487(0x246),'XnkPE':function(_0x107f5e,_0x46cdce){return _0x107f5e===_0x46cdce;},'DrGdl':function(_0x16116f,_0x5c3e7a){return _0x16116f(_0x5c3e7a);}};if(!_0x442b89||_0xb6a91f['Vjcxs'](typeof _0x442b89,_0xb6a91f[_0x2e8487(0x1f3)]))return _0x442b89;const _0x30cd71=['password',_0x2e8487(0x29d),_0xb6a91f[_0x2e8487(0x244)],_0xb6a91f['nAWsp'],_0x2e8487(0x2a1),_0xb6a91f['tdCJT'],'api_key',_0xb6a91f['ItjXA'],_0x2e8487(0x2a0),_0xb6a91f[_0x2e8487(0x250)],_0x2e8487(0x249),'ssn',_0x2e8487(0x227),_0xb6a91f[_0x2e8487(0x1fe)],'privatekey',_0xb6a91f[_0x2e8487(0x211)],_0x2e8487(0x277)],_0x1a57de=Array[_0x2e8487(0x240)](_0x442b89)?[..._0x442b89]:{..._0x442b89};for(const _0x1e72e2 of Object[_0x2e8487(0x28c)](_0x1a57de)){const _0x148a53=_0x1e72e2[_0x2e8487(0x21d)]();if(_0x30cd71['some'](_0x4b4f28=>_0x148a53[_0x2e8487(0x212)](_0x4b4f28)))_0x1a57de[_0x1e72e2]=_0xb6a91f[_0x2e8487(0x26e)];else _0xb6a91f[_0x2e8487(0x2af)](typeof _0x1a57de[_0x1e72e2],_0x2e8487(0x22b))&&_0x1a57de[_0x1e72e2]!==null&&(_0x1a57de[_0x1e72e2]=_0xb6a91f[_0x2e8487(0x1f4)](redactObject,_0x1a57de[_0x1e72e2]));}return _0x1a57de;},logError=(_0x1af1d2,_0x52dec7={},_0x17e832=null)=>{const _0x23b139=a0_0x3a7d81,_0x5f225b={'zNlsH':_0x23b139(0x259)},_0xd5c66c={'event':_0x5f225b[_0x23b139(0x209)],'errorName':_0x1af1d2[_0x23b139(0x2a7)]||'Error','errorMessage':_0x1af1d2['message'],'errorCode':_0x1af1d2['code']||null,'stack':_0x1af1d2[_0x23b139(0x217)],..._0x52dec7},_0x2911b2=_0x17e832||'Error:\x20'+_0x1af1d2['message'];logger['error'](_0xd5c66c,_0x2911b2),writeToFileLog({..._0xd5c66c,'level':_0x5f225b['zNlsH'],'msg':_0x2911b2,'time':new Date()[_0x23b139(0x1f8)]()},'error');},logFatalError=(_0x2a9430,_0x591390={},_0x5a19d1=null)=>{const _0x2fcfc1=a0_0x3a7d81,_0x3cee5d={'UzJGC':'Error','LDaKW':'CRITICAL','kuZfe':function(_0x26a90e,_0x5b4e2f,_0x2942e0){return _0x26a90e(_0x5b4e2f,_0x2942e0);},'lPrdP':'error'},_0x296df1={'event':'fatal_error','errorName':_0x2a9430['name']||_0x3cee5d[_0x2fcfc1(0x220)],'errorMessage':_0x2a9430['message'],'errorCode':_0x2a9430[_0x2fcfc1(0x22c)]||null,'stack':_0x2a9430['stack'],'severity':_0x3cee5d[_0x2fcfc1(0x24a)],..._0x591390},_0x23fa00=_0x5a19d1||_0x2fcfc1(0x292)+_0x2a9430[_0x2fcfc1(0x267)];logger[_0x2fcfc1(0x22d)](_0x296df1,_0x23fa00),_0x3cee5d['kuZfe'](writeToFileLog,{..._0x296df1,'level':_0x2fcfc1(0x22d),'msg':_0x23fa00,'time':new Date()['toISOString']()},_0x3cee5d['lPrdP']);},logHttpError=(_0x25c9b4,_0x5f0408,_0x3baeb3={})=>{const _0x2557c9=a0_0x3a7d81,_0x3376da={'zBbVN':_0x2557c9(0x23b),'XUdTz':_0x2557c9(0x29c),'kFvBS':function(_0x2a94dd,_0x587442){return _0x2a94dd(_0x587442);},'lMhOE':function(_0x93d952,_0x3fac0a,_0x1bf752){return _0x93d952(_0x3fac0a,_0x1bf752);},'aIasA':function(_0x4977bb,_0x1c8852){return _0x4977bb>=_0x1c8852;},'mIThX':'warn'},_0x21cb31={'event':'http_error','errorName':_0x25c9b4['name']||_0x2557c9(0x2ab),'errorMessage':_0x25c9b4['message'],'errorCode':_0x25c9b4[_0x2557c9(0x22c)]||_0x25c9b4['statusCode']||0x1f4,'stack':_0x25c9b4[_0x2557c9(0x217)],'method':_0x5f0408?.[_0x2557c9(0x1f1)],'url':_0x5f0408?.[_0x2557c9(0x25f)]||_0x5f0408?.[_0x2557c9(0x253)],'path':_0x5f0408?.['path'],'ip':_0x5f0408?.['ip']||_0x5f0408?.[_0x2557c9(0x23f)]?.[_0x2557c9(0x27e)],'userAgent':_0x5f0408?.['get']?.(_0x3376da[_0x2557c9(0x22a)]),'requestId':_0x5f0408?.['id']||_0x5f0408?.[_0x2557c9(0x245)]?.[_0x3376da[_0x2557c9(0x223)]],'body':_0x5f0408?.[_0x2557c9(0x24c)]?_0x3376da['kFvBS'](redactObject,_0x5f0408[_0x2557c9(0x24c)]):undefined,'query':_0x5f0408?.['query'],..._0x3baeb3},_0x55a848=_0x25c9b4['statusCode']||_0x25c9b4[_0x2557c9(0x218)]||0x1f4,_0x582efc=_0x2557c9(0x26b)+_0x55a848+':\x20'+_0x25c9b4[_0x2557c9(0x267)];_0x55a848>=0x1f4?logger[_0x2557c9(0x259)](_0x21cb31,_0x582efc):logger['warn'](_0x21cb31,_0x582efc),_0x3376da[_0x2557c9(0x233)](writeToFileLog,{..._0x21cb31,'level':_0x3376da['aIasA'](_0x55a848,0x1f4)?_0x2557c9(0x259):_0x3376da[_0x2557c9(0x1ff)],'msg':_0x582efc,'time':new Date()['toISOString']()},_0x55a848>=0x1f4?_0x2557c9(0x259):_0x2557c9(0x20f));},logUncaughtError=(_0x535ca5,_0x4fa7af)=>{const _0x5e7d7e=a0_0x3a7d81,_0x5765a6={'RmuTA':'CRITICAL','WYNFi':'fatal','Vzfrb':_0x5e7d7e(0x259)},_0x376f3f={'event':_0x535ca5,'errorName':_0x4fa7af?.[_0x5e7d7e(0x2a7)]||_0x5e7d7e(0x2ab),'errorMessage':_0x4fa7af?.['message']||String(_0x4fa7af),'errorCode':_0x4fa7af?.['code']||null,'stack':_0x4fa7af?.['stack'],'severity':_0x5765a6['RmuTA'],'processId':process['pid'],'memoryUsage':process[_0x5e7d7e(0x226)](),'uptime':process['uptime']()},_0x53d442='['+_0x535ca5['toUpperCase']()+']\x20'+(_0x4fa7af?.['message']||_0x4fa7af);logger[_0x5e7d7e(0x22d)](_0x376f3f,_0x53d442),writeToFileLog({..._0x376f3f,'level':_0x5765a6['WYNFi'],'msg':_0x53d442,'time':new Date()['toISOString']()},_0x5765a6['Vzfrb']);},setupGlobalErrorHandlers=()=>{const _0x202a1c=a0_0x3a7d81,_0x3b14d2={'NQwmc':function(_0x2cc304,_0x482e74,_0x1b7239){return _0x2cc304(_0x482e74,_0x1b7239);},'eAbYK':function(_0x4c732e,_0x48cc8a){return _0x4c732e instanceof _0x48cc8a;},'dVRpL':function(_0x344d71,_0x55d384){return _0x344d71(_0x55d384);},'TCFPi':function(_0x3629d9,_0x382bb9,_0x47c5e9){return _0x3629d9(_0x382bb9,_0x47c5e9);},'eHSLt':'uncaughtException','kJOgj':'unhandledRejection','fqsbL':_0x202a1c(0x235)};process['on'](_0x3b14d2[_0x202a1c(0x281)],_0x3239b0=>{const _0x5e1d24=_0x202a1c;_0x3b14d2[_0x5e1d24(0x1fd)](logUncaughtError,'uncaughtException',_0x3239b0),_0x3b14d2[_0x5e1d24(0x1fd)](setTimeout,()=>{const _0x918806=_0x5e1d24;process[_0x918806(0x23a)](0x1);},0x3e8);}),process['on'](_0x3b14d2['kJOgj'],(_0x4ba87a,_0x2fbf36)=>{const _0x2af3c9=_0x202a1c,_0x58b73a=_0x3b14d2['eAbYK'](_0x4ba87a,Error)?_0x4ba87a:new Error(_0x3b14d2['dVRpL'](String,_0x4ba87a));_0x3b14d2[_0x2af3c9(0x294)](logUncaughtError,'unhandledRejection',_0x58b73a);}),process['on'](_0x202a1c(0x29b),_0x281c1f=>{const _0xa88c04=_0x202a1c;logger['warn']({'event':'process_warning','name':_0x281c1f[_0xa88c04(0x2a7)],'message':_0x281c1f[_0xa88c04(0x267)],'stack':_0x281c1f['stack']},'Process\x20Warning:\x20'+_0x281c1f['message']);});const _0x39b56a={'event':_0x3b14d2[_0x202a1c(0x23d)]},_0x3de00f=_0x202a1c(0x299);logger['info'](_0x39b56a,_0x3de00f),writeToFileLog({..._0x39b56a,'level':_0x202a1c(0x203),'msg':_0x3de00f,'time':new Date()[_0x202a1c(0x1f8)]()},_0x202a1c(0x203));},createErrorHandlerMiddleware=()=>{const _0x6d85ab=a0_0x3a7d81,_0x5ac8f7={'OLkQX':function(_0x4e04d3,_0x23255f,_0x54475e){return _0x4e04d3(_0x23255f,_0x54475e);},'UVXoX':_0x6d85ab(0x29c)};return(_0x2677b2,_0x41e292,_0x5a79ac,_0xd94b28)=>{const _0x177de8=_0x6d85ab;_0x5ac8f7['OLkQX'](logHttpError,_0x2677b2,_0x41e292);const _0x211f29=_0x2677b2['statusCode']||_0x2677b2['status']||0x1f4;_0x5a79ac['status'](_0x211f29)['json']({'success':![],'error':_0x211f29>=0x1f4?_0x177de8(0x20a):_0x2677b2['message'],'requestId':_0x41e292['id']||_0x41e292[_0x177de8(0x245)]?.[_0x5ac8f7['UVXoX']]||null});};};module[a0_0x3a7d81(0x237)]={'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}};function a0_0x4042(_0x3ecbfd,_0x17e70e){_0x3ecbfd=_0x3ecbfd-0x1ed;const _0x48ca4a=a0_0x48ca();let _0x40423c=_0x48ca4a[_0x3ecbfd];if(a0_0x4042['qjIGUu']===undefined){var _0x12f715=function(_0x2131b4){const _0x2d1f01='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4fcfff='',_0x55e8f0='';for(let _0x45b89b=0x0,_0x24b475,_0x129b7c,_0x741d67=0x0;_0x129b7c=_0x2131b4['charAt'](_0x741d67++);~_0x129b7c&&(_0x24b475=_0x45b89b%0x4?_0x24b475*0x40+_0x129b7c:_0x129b7c,_0x45b89b++%0x4)?_0x4fcfff+=String['fromCharCode'](0xff&_0x24b475>>(-0x2*_0x45b89b&0x6)):0x0){_0x129b7c=_0x2d1f01['indexOf'](_0x129b7c);}for(let _0x9a0a6f=0x0,_0x3a1e0b=_0x4fcfff['length'];_0x9a0a6f<_0x3a1e0b;_0x9a0a6f++){_0x55e8f0+='%'+('00'+_0x4fcfff['charCodeAt'](_0x9a0a6f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x55e8f0);};a0_0x4042['jVlugj']=_0x12f715,a0_0x4042['fROylV']={},a0_0x4042['qjIGUu']=!![];}const _0x17a62f=_0x48ca4a[0x0],_0x506a45=_0x3ecbfd+_0x17a62f,_0x3fa585=a0_0x4042['fROylV'][_0x506a45];return!_0x3fa585?(_0x40423c=a0_0x4042['jVlugj'](_0x40423c),a0_0x4042['fROylV'][_0x506a45]=_0x40423c):_0x40423c=_0x3fa585,_0x40423c;}function a0_0x48ca(){const _0x55d460=['CMvMCMvZAf90B2TLBG','ywnJzxnZx3rVA2vU','CgfZC3DVCMq','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','zxHPC3rZu3LUyW','CMvZDgzVCMDL','te9hx0rjuG','rermx0nsrufurq','CMvTB3rLqwrKCMvZCW','uNbtAee','yxbWlMXVzW','zuHtthq','rejFueftu1DpuKq','qvPnu1i','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','C2vYDMLJzuLUzM8','vfjbtLnbq1rjt05Fq09ntuLu','uwXVs1C','zgf0ywjHC2u','rermx0fmvevs','BwTKAxjtEw5J','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','A2v5CW','ChjVzhvJDgLVBG','AM9PBG','nJmYodiWrMH0AKrN','rermx0rst1a','rgf0ywjHC2u6ia','rKfuquW6ia','zxjY','vengugK','qKvhsu4','C3rYAw5N','Ag9ZDa','iokvKqRILzeGifbVCNqGicaGicaGidOG','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','CgfYyw1Z','D2fYBMLUzW','Ec1Yzxf1zxn0lwLK','CgfZC3DK','iokvKqRILzeGifbYB2PLy3qGicaGidOG','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','y3jLzgL0y2fYza','C2vJCMv0','zgvIDwC','q291uM0','C29Tzq','zw52','r0Tqshi','BMfTzq','quXurvi','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','DhjPBq','rxjYB3i','rgvMyxvSDa','C2vYDMvYx3jLywr5','w1jfrefdveveoNrVA2vUxq','wg5Rueu','vu5ltK9xtG','C3vIC3rYAw5N','zgjFDhjHBNnHy3rPB24','mZG4nduXvMXqswDv','sgDmveO','Bwv0Ag9K','z2v0sgvHzgvYCW','CeLPBg4','rhjhzgW','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','yxbPA2v5','wMXtvgq','Dg9ju09tDhjPBMC','vvbeqvrf','mti3BxPdEhLm','ChjPDMf0zwTLEq','BufuwfC','tLf3Bwm','rNruq2W','BuLuAfG','AMHiD08','yMnrsgm','D3jPDgu','Aw5MBW','Bwf4','AxntBg93','vfjbtLnbq1rjt05FuK9mtejbq0S','yw9zzNi','CK9JDxq','EK5SC0G','sw50zxjUywWGC2vYDMvYigvYCM9Y','u1rbuLqGvfjbtLnbq1rjt04','CM93C0fMzMvJDgvK','nZCYntmZquH2tvzO','Dhj1zq','D2fYBG','q09ntuLu','EeXWD2S','Aw5JBhvKzxm','C3rKu2vYAwfSAxPLCNm','vfjbtLnbq1rjt05FqKvhsu4','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','C3rHy2S','C3rHDhvZ','q0D3s3K','AxnVvgLTzq','ndu1mZmWwhbRru1j','tM9Kzs5QCW','Dg9mB3DLCKnHC2u','CMvZB2X2zq','rMXNDNy','vxPkr0m','BK5qC2C','uM9cs1G','wfvKvhO','ic0G','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','BwvTB3j5vxnHz2u','CgLU','AgvHBhrOq2HLy2S','ifTtte9xxq','EKjIvK4','B2jQzwn0','y29Kzq','zMf0ywW','u1fmx0Xpr19mrvzfta','u1fmx0Xpr19ftKfcteve','z2LQqxe','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','mta3og16zuf5Aa','Be1Ot0u','w09lxsbqCM9Qzwn0igXVywrLzdOG','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','C3rHCNrZv2L0Aa','zxHWB3j0CW','uw9Xzvi','iokvKqRILzeGienVBMzPzYaGicaGidOG','zxHPDa','DxnLCI1Hz2vUDa','Ahj0Aw1L','zNfZyKW','iokvKqRILzeGiefqssblzxKGicaGidOG','y29UBMvJDgLVBG','AxnbCNjHEq','Cg9YDa','wePsyNK','BgvUz3rO','v3bqyM4','AgvHzgvYCW','w1jfrefdvevexq','y2DpBxu','y2HPBgq','y3z2','terHs1C','lI9SB2DZlW','yM9KEq','uwX3zKq','zw5KCg9PBNrFCMvNAxn0zxjLza','uePgDMK','tuvjD3y','y3jLyxrLv3jPDgvtDhjLyw0','zMLSzv9SB2DNAw5Nx2vUywjSzwq','B3jPz2LUywXvCMW','u0vmrunu','rvHpwwO','CgfKrw5K','C3rKvgLTzuz1BMn0Aw9UCW','vgTzAeO','zxjYB3i','DgvZDa','zw52AxjVBM1LBNq','oI8V','q3P4the','Dg9Rzw4','DxjS','C3rHDhvZq29Kzq','yxbPs2v5','BxLcvxq','ndKZmZm4weDyrwD6','Bwf0y2G','odmXotKYCvvHruvU','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','BwvZC2fNzq','ChjPDMf0zv9RzxK','EfrPtfG','tK9erv9ftLy','sfruuca','B3rW','ChDK','rgDkAwi','ndHozvbtqLm','Cfrrq0e','ChjVAMvJDa','u1fmx0Xpr19tte9xx1riuKvtse9mra','C3fSx3f1zxj5','DhLWzq','Cgf0Aa'];a0_0x48ca=function(){return _0x55d460;};return a0_0x48ca();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x16552a=a0_0x489f;(function(_0x1679ef,_0x1b6125){const _0x2d9a6a=a0_0x489f,_0x10911f=_0x1679ef();while(!![]){try{const _0x1c657f=parseInt(_0x2d9a6a(0x136))/0x1+parseInt(_0x2d9a6a(0x11b))/0x2*(-parseInt(_0x2d9a6a(0x118))/0x3)+parseInt(_0x2d9a6a(0x108))/0x4*(-parseInt(_0x2d9a6a(0x135))/0x5)+-parseInt(_0x2d9a6a(0x119))/0x6*(-parseInt(_0x2d9a6a(0x131))/0x7)+-parseInt(_0x2d9a6a(0x111))/0x8+-parseInt(_0x2d9a6a(0x11d))/0x9+parseInt(_0x2d9a6a(0x10f))/0xa;if(_0x1c657f===_0x1b6125)break;else _0x10911f['push'](_0x10911f['shift']());}catch(_0x7bcaf4){_0x10911f['push'](_0x10911f['shift']());}}}(a0_0x56e9,0xefa7b));const dbType=(process[a0_0x16552a(0x128)][a0_0x16552a(0x106)]||'postgresql')[a0_0x16552a(0x129)]();let executeQuery;if(dbType===a0_0x16552a(0x137)){const oracleDb=require(a0_0x16552a(0x121));executeQuery=(_0x181a4c,_0x37c88d)=>oracleDb['executeQuery'](_0x181a4c,_0x37c88d);}else{if(dbType===a0_0x16552a(0x130)){const mysqlDb=require('./db-mysql');executeQuery=(_0x2e2000,_0x363177)=>mysqlDb[a0_0x16552a(0x10d)](_0x2e2000,_0x363177);}else executeQuery=require('./db')[a0_0x16552a(0x10d)];}function a0_0x56e9(){const _0x437072=['mtK3mdrPuLD2rM8','zgvIDwC','Dxf3wvq','y2XLyxi','zxHWB3j0CW','zxHLy3v0zvf1zxj5','tg9VA3vWihrHyMXLigXVywrLzdOG','mZe5mJy1nZbzrhnLEeS','CMHJvhO','ndq2ndu4nezPDg1nsG','EwPhvKq','DMjKBvO','AgfZ','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','qxrfvMS','A2v5CW','nLLdz2npqG','mJuZmZG2rMzYCuvl','Aw5MBW','mtm1mJC3meHuwMTzDG','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','mJa4ndeZowDrCw5QyW','C2v0','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','Bg9HzeXVB2T1CfrHyMXL','lI9KyI1VCMfJBgu','zw50CMLLCW','Bg9VA3vWq2fJAgu','y2XLyxjdywnOzq','z2v0','ChvZAa','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','zw52','Dg9mB3DLCKnHC2u','CMvZB2X2zuXVB2T1CfzHBhvL','BgvUz3rO','DMfSAwrHDgvmB29RDxbwywX1zxm','BwfW','iezst00G','tg9VA3vWignHy2HLignSzwfYzwq','BxLZCwW','mtG5rgjHzKnX','vMfSDwuGiG','D1bND2i','u0vmrunuia','mtC1me5VA2zJsW','nte1mJq3qKTzAufL','B3jHy2XL','zM9YrwfJAa','rejFvfLqrq','zNjVBq'];a0_0x56e9=function(){return _0x437072;};return a0_0x56e9();}const {logger}=require('./logger');function a0_0x489f(_0x31e4f1,_0x6670bf){_0x31e4f1=_0x31e4f1-0x105;const _0x56e998=a0_0x56e9();let _0x489f49=_0x56e998[_0x31e4f1];if(a0_0x489f['rvwtjX']===undefined){var _0x38ada9=function(_0x43357f){const _0x3798d0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x676411='',_0x32c78e='';for(let _0x355252=0x0,_0x1ad6cf,_0x533183,_0x4578ca=0x0;_0x533183=_0x43357f['charAt'](_0x4578ca++);~_0x533183&&(_0x1ad6cf=_0x355252%0x4?_0x1ad6cf*0x40+_0x533183:_0x533183,_0x355252++%0x4)?_0x676411+=String['fromCharCode'](0xff&_0x1ad6cf>>(-0x2*_0x355252&0x6)):0x0){_0x533183=_0x3798d0['indexOf'](_0x533183);}for(let _0x3d97d3=0x0,_0x33973d=_0x676411['length'];_0x3d97d3<_0x33973d;_0x3d97d3++){_0x32c78e+='%'+('00'+_0x676411['charCodeAt'](_0x3d97d3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x32c78e);};a0_0x489f['psGlpD']=_0x38ada9,a0_0x489f['WZkNoP']={},a0_0x489f['rvwtjX']=!![];}const _0xbf4f30=_0x56e998[0x0],_0x138e3d=_0x31e4f1+_0xbf4f30,_0x2914ab=a0_0x489f['WZkNoP'][_0x138e3d];return!_0x2914ab?(_0x489f49=a0_0x489f['psGlpD'](_0x489f49),a0_0x489f['WZkNoP'][_0x138e3d]=_0x489f49):_0x489f49=_0x2914ab,_0x489f49;}class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x16552a(0x124)](){const _0x4dfe6e=a0_0x16552a,_0x50323a={'AtEVk':_0x4dfe6e(0x12f)};this['lookupCache'][_0x4dfe6e(0x10b)](),logger[_0x4dfe6e(0x109)]({'event':_0x4dfe6e(0x115)},_0x50323a[_0x4dfe6e(0x116)]);}async[a0_0x16552a(0x120)](_0x5ae1a6,_0x71d8b1,_0x537d82){const _0x442093=a0_0x16552a,_0x1686c8={'wPcyx':function(_0x2b43b4,_0x3d3191){return _0x2b43b4!==_0x3d3191;},'rhcTz':function(_0x306ce3,_0x2c8210){return _0x306ce3(_0x2c8210);},'vbdmZ':function(_0x184a16,_0x5eab6d){return _0x184a16(_0x5eab6d);},'ceSbm':'lookup_table_loaded','yjGVD':_0x442093(0x11f)},_0x3fb050=_0x5ae1a6+':'+_0x71d8b1+':'+_0x537d82;if(this['lookupCache']['has'](_0x3fb050))return this[_0x442093(0x123)]['get'](_0x3fb050);try{const _0x1af349=_0x442093(0x134)+_0x537d82+',\x20'+_0x71d8b1+_0x442093(0x12e)+_0x5ae1a6,_0x396506=await _0x1686c8[_0x442093(0x113)](executeQuery,_0x1af349),_0x32d1f3=new Map();return _0x396506[_0x442093(0x105)](_0x1ecab0=>{const _0x223a06=_0x442093,_0x1ec75b=_0x1ecab0[_0x71d8b1]!==undefined?_0x1ecab0[_0x71d8b1]:_0x1ecab0[_0x71d8b1['toUpperCase']()],_0x220dc8=_0x1ecab0[_0x537d82]!==undefined?_0x1ecab0[_0x537d82]:_0x1ecab0[_0x537d82['toUpperCase']()];_0x1686c8['wPcyx'](_0x1ec75b,null)&&_0x1ec75b!==undefined&&(_0x32d1f3['set'](_0x1686c8[_0x223a06(0x110)](String,_0x1ec75b)['toLowerCase']()['trim'](),_0x220dc8),_0x32d1f3[_0x223a06(0x11e)](_0x1686c8[_0x223a06(0x113)](String,_0x1ec75b)['trim'](),_0x220dc8));}),this['lookupCache']['set'](_0x3fb050,_0x32d1f3),logger['info']({'event':_0x1686c8['ceSbm'],'table':_0x5ae1a6,'column':_0x71d8b1,'count':_0x396506[_0x442093(0x12b)]},_0x442093(0x10e)+_0x5ae1a6),_0x32d1f3;}catch(_0x398e92){logger['error']({'event':_0x1686c8[_0x442093(0x112)],'table':_0x5ae1a6,'error':_0x398e92['message']},_0x442093(0x127)+_0x5ae1a6);throw _0x398e92;}}['resolveLookupValue'](_0x3d8868,_0x3ebc11){const _0x584ce6=a0_0x16552a,_0x562653={'xVNKM':function(_0x2423f5,_0x38ddb8){return _0x2423f5===_0x38ddb8;}};if(_0x562653['xVNKM'](_0x3d8868,null)||_0x3d8868===undefined||_0x3d8868==='')return null;const _0x379186=String(_0x3d8868)['trim']();if(_0x3ebc11['has'](_0x379186))return _0x3ebc11['get'](_0x379186);const _0x2019b1=_0x379186[_0x584ce6(0x129)]();if(_0x3ebc11[_0x584ce6(0x114)](_0x2019b1))return _0x3ebc11[_0x584ce6(0x125)](_0x2019b1);return null;}async['processLookupFields'](_0x201ed2,_0x439264){const _0x47e42a=a0_0x16552a,_0x345dd7={'uqwYT':function(_0x4720e2,_0x36c38e){return _0x4720e2===_0x36c38e;},'LXzbT':function(_0xd50537,_0x14693f){return _0xd50537===_0x14693f;},'GLuoR':function(_0x355b5f,_0x6c18c3){return _0x355b5f!==_0x6c18c3;}};if(!_0x439264||Object[_0x47e42a(0x117)](_0x439264)[_0x47e42a(0x12b)]===0x0)return{'processedRows':_0x201ed2,'errors':[]};const _0x3fa6a1=[],_0x5ca834=new Map();for(const [_0x5d566c,_0x3e94e4]of Object['entries'](_0x439264)){const {lookupTable:_0x4c3b13,lookupColumn:_0x4d171c,lookupIdColumn:_0x1cc5a4}=_0x3e94e4,_0x5c95bf=_0x4c3b13+':'+_0x4d171c+':'+_0x1cc5a4;if(!_0x5ca834[_0x47e42a(0x114)](_0x5c95bf)){const _0x415ac0=await this['loadLookupTable'](_0x4c3b13,_0x4d171c,_0x1cc5a4);_0x5ca834[_0x47e42a(0x11e)](_0x5c95bf,_0x415ac0);}}const _0x564759=_0x201ed2[_0x47e42a(0x12d)]((_0x53ed71,_0x46a7e7)=>{const _0x6efe0=_0x47e42a,_0x524906={..._0x53ed71};for(const [_0x4abef0,_0x315a7f]of Object['entries'](_0x439264)){const {lookupTable:_0x48db42,lookupColumn:_0x2edcdf,lookupIdColumn:_0x1b662a,targetField:_0x3074eb,required:_0x49fcbb}=_0x315a7f,_0x4ead10=_0x48db42+':'+_0x2edcdf+':'+_0x1b662a,_0x1ace97=_0x5ca834['get'](_0x4ead10),_0x33aaf5=_0x53ed71[_0x4abef0];if((_0x345dd7[_0x6efe0(0x10a)](_0x33aaf5,null)||_0x33aaf5===undefined||_0x345dd7['LXzbT'](_0x33aaf5,''))&&!_0x49fcbb){_0x524906[_0x3074eb]=null;continue;}const _0x54da2e=this[_0x6efe0(0x12a)](_0x33aaf5,_0x1ace97);_0x345dd7['GLuoR'](_0x54da2e,null)?_0x524906[_0x3074eb]=_0x54da2e:(_0x49fcbb&&_0x3fa6a1['push']({'rowIndex':_0x46a7e7,'field':_0x4abef0,'value':_0x33aaf5,'targetField':_0x3074eb,'lookupTable':_0x48db42,'message':_0x6efe0(0x132)+_0x33aaf5+'\x22\x20not\x20found\x20in\x20'+_0x48db42}),_0x524906[_0x3074eb]=null);}return _0x524906;});return logger[_0x47e42a(0x11a)]({'event':'lookup_fields_processed','totalRows':_0x201ed2[_0x47e42a(0x12b)],'errorCount':_0x3fa6a1[_0x47e42a(0x12b)],'lookupFieldCount':Object[_0x47e42a(0x117)](_0x439264)[_0x47e42a(0x12b)]},'Lookup\x20fields\x20processed'),{'processedRows':_0x564759,'errors':_0x3fa6a1};}['getDistinctValues'](_0x2018db,_0x452feb){const _0x40589a=a0_0x16552a,_0x4e2307={'wPgwb':function(_0x210f65,_0x1fc42a){return _0x210f65!==_0x1fc42a;}},_0x501634=new Set();return _0x2018db['forEach'](_0x4b2e7a=>{const _0xf7e3a4=a0_0x489f,_0x1b044c=_0x4b2e7a[_0x452feb];_0x1b044c!==null&&_0x4e2307[_0xf7e3a4(0x133)](_0x1b044c,undefined)&&_0x1b044c!==''&&_0x501634['add'](String(_0x1b044c)['trim']());}),Array[_0x40589a(0x107)](_0x501634);}async[a0_0x16552a(0x12c)](_0x48d52f,_0x34d97b){const _0x3443da=a0_0x16552a,_0x4682f4={'AWTWw':function(_0x3ba114,_0x455337){return _0x3ba114!==_0x455337;},'MTaez':function(_0xaae5bc,_0x4ba225){return _0xaae5bc===_0x4ba225;},'qeZso':function(_0x219484,_0x2b0963){return _0x219484>_0x2b0963;}};if(!_0x34d97b||_0x4682f4['MTaez'](Object['keys'](_0x34d97b)[_0x3443da(0x12b)],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x1fd595=[],_0x590d68={};for(const [_0x413777,_0x2f665b]of Object[_0x3443da(0x122)](_0x34d97b)){const {lookupTable:_0x64829c,lookupColumn:_0x222cf5,lookupIdColumn:_0x5a74e3,required:_0x228d67}=_0x2f665b,_0x1577a4=this['getDistinctValues'](_0x48d52f,_0x413777),_0x20c968=await this['loadLookupTable'](_0x64829c,_0x222cf5,_0x5a74e3),_0x2b94b3=[],_0x4917e7=[];_0x1577a4[_0x3443da(0x105)](_0x385f18=>{const _0x275e6b=_0x3443da,_0x5c4cd2=this['resolveLookupValue'](_0x385f18,_0x20c968);_0x4682f4['AWTWw'](_0x5c4cd2,null)?_0x4917e7['push'](_0x385f18):_0x2b94b3[_0x275e6b(0x126)](_0x385f18);});if(_0x4682f4['qeZso'](_0x2b94b3['length'],0x0)&&_0x228d67){_0x1fd595[_0x3443da(0x126)]({'field':_0x413777,'lookupTable':_0x64829c,'invalidValues':_0x2b94b3,'message':_0x2b94b3['length']+_0x3443da(0x11c)+_0x64829c});const _0x5c784f=[];_0x20c968[_0x3443da(0x105)]((_0x37921c,_0x3f07ea)=>{const _0x275778=_0x3443da;if(_0x3f07ea===_0x3f07ea[_0x275778(0x129)]())return;_0x5c784f[_0x275778(0x126)](_0x3f07ea);}),_0x590d68[_0x413777]={'invalidValues':_0x2b94b3,'availableValues':_0x5c784f['slice'](0x0,0x32)};}}return{'valid':_0x1fd595[_0x3443da(0x12b)]===0x0,'errors':_0x1fd595,'suggestions':_0x590d68};}}module[a0_0x16552a(0x10c)]=new LookupResolver();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x271aae=a0_0x493b;(function(_0x12bc0a,_0x4bdfa1){const _0x39b4c1=a0_0x493b,_0x537f6f=_0x12bc0a();while(!![]){try{const _0x53d71f=-parseInt(_0x39b4c1(0x14b))/0x1*(-parseInt(_0x39b4c1(0x158))/0x2)+parseInt(_0x39b4c1(0x15f))/0x3+parseInt(_0x39b4c1(0x14d))/0x4*(parseInt(_0x39b4c1(0x147))/0x5)+parseInt(_0x39b4c1(0x143))/0x6*(parseInt(_0x39b4c1(0x151))/0x7)+-parseInt(_0x39b4c1(0x157))/0x8+parseInt(_0x39b4c1(0x154))/0x9+-parseInt(_0x39b4c1(0x15c))/0xa;if(_0x53d71f===_0x4bdfa1)break;else _0x537f6f['push'](_0x537f6f['shift']());}catch(_0x41f11c){_0x537f6f['push'](_0x537f6f['shift']());}}}(a0_0x2268,0xd2612));function a0_0x2268(){const _0x831939=['zxHWB3j0CW','Cgf5Bg9Hzf9SB2fKzwq','zxjYB3i','nde3mZm4nJbTyKDcr1a','CMvHzezPBgu','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','nta5nZyYmxDiz0P5rq','lMPZB24','vvf6weq','y2XLyxjdywnOzq','Cgf5Bg9HzdO','AgfZ','Cgf5Bg9HzerPCG','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','nJe4CLbxq1f6','sMvVDLa','ENfrruK','z2v0','nZi1z2XUAhP1','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','CMvWBgfJzq','mtC1otDiwLf3A0y','DgfIBgvoyw1L','ndq4mZz3C0DMvNa','zMLLBgrmywjLBhm','zgf0yxrHyMXLC1f1zxj5','DxrMoa','nZq5mJHkELnzwxK','s2TUELi','y2fJAgu','ntiWnZC5nNvwvwfguq','y29SDw1UrM9YBwf0CW','zMLLBgroyw1L','oda3mdmYohDVqLv3CG','mte4u1HPELnY'];a0_0x2268=function(){return _0x831939;};return a0_0x2268();}const fs=require('fs')['promises'],path=require('path'),{logger}=require('./logger');function a0_0x493b(_0x30f442,_0x3853a7){_0x30f442=_0x30f442-0x143;const _0x22687a=a0_0x2268();let _0x493bba=_0x22687a[_0x30f442];if(a0_0x493b['nykRuq']===undefined){var _0x30a12a=function(_0x41e996){const _0x210396='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x221f08='',_0x16bb9c='';for(let _0x19a1c6=0x0,_0x208e3e,_0x1a3584,_0x1ec25b=0x0;_0x1a3584=_0x41e996['charAt'](_0x1ec25b++);~_0x1a3584&&(_0x208e3e=_0x19a1c6%0x4?_0x208e3e*0x40+_0x1a3584:_0x1a3584,_0x19a1c6++%0x4)?_0x221f08+=String['fromCharCode'](0xff&_0x208e3e>>(-0x2*_0x19a1c6&0x6)):0x0){_0x1a3584=_0x210396['indexOf'](_0x1a3584);}for(let _0x3c7dab=0x0,_0x3d0d70=_0x221f08['length'];_0x3c7dab<_0x3d0d70;_0x3c7dab++){_0x16bb9c+='%'+('00'+_0x221f08['charCodeAt'](_0x3c7dab)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x16bb9c);};a0_0x493b['mEjbiT']=_0x30a12a,a0_0x493b['mlNLHN']={},a0_0x493b['nykRuq']=!![];}const _0x23cd79=_0x22687a[0x0],_0x166ae4=_0x30f442+_0x23cd79,_0x9ac261=a0_0x493b['mlNLHN'][_0x166ae4];return!_0x9ac261?(_0x493bba=a0_0x493b['mEjbiT'](_0x493bba),a0_0x493b['mlNLHN'][_0x166ae4]=_0x493bba):_0x493bba=_0x9ac261,_0x493bba;}class PayloadLoader{constructor(){const _0x28f553=a0_0x493b,_0x4bad4e={'JeovP':'../../payload'};this['payloadDir']=path['join'](__dirname,_0x4bad4e[_0x28f553(0x144)]),this[_0x28f553(0x153)]=new Map();}async['loadPayload'](_0x31c201,_0x1da49e){const _0x1aaefc=a0_0x493b,_0xe73ca0={'JKfbk':'utf8','zqQEI':_0x1aaefc(0x15a),'esVhC':_0x1aaefc(0x15e),'nxgQo':'payload_load_error','pytBb':_0x1aaefc(0x148)},_0x540947=_0x31c201+':'+_0x1da49e;if(this[_0x1aaefc(0x153)][_0x1aaefc(0x164)](_0x540947))return this['cache']['get'](_0x540947);const _0x1343c8=path['join'](this['payloadDir'],_0x31c201+'_'+_0x1da49e+_0x1aaefc(0x160));try{const _0x146383=await fs[_0x1aaefc(0x15d)](_0x1343c8,_0xe73ca0['JKfbk']),_0x5bfa76=JSON['parse'](_0x146383);return this[_0x1aaefc(0x153)]['set'](_0x540947,_0x5bfa76),logger['debug']({'event':_0xe73ca0[_0x1aaefc(0x145)],'project':_0x31c201,'resource':_0x1da49e},_0xe73ca0['esVhC']),_0x5bfa76;}catch(_0x3e6dba){logger[_0x1aaefc(0x15b)]({'event':_0xe73ca0['nxgQo'],'project':_0x31c201,'resource':_0x1da49e,'error':_0x3e6dba['message']},_0xe73ca0['pytBb']);throw new Error('Payload\x20not\x20found:\x20'+_0x31c201+'_'+_0x1da49e);}}async['loadPayloadByName'](_0x4c3ebc){const _0x167a40=a0_0x493b,_0x408769={'zKFgT':_0x167a40(0x15a),'KknzR':_0x167a40(0x166),'UQzXD':'Failed\x20to\x20load\x20payload\x20by\x20name'},_0x2f20b5=_0x167a40(0x163)+_0x4c3ebc;if(this[_0x167a40(0x153)][_0x167a40(0x164)](_0x2f20b5))return this[_0x167a40(0x153)][_0x167a40(0x146)](_0x2f20b5);const _0x407c0f=path['join'](this[_0x167a40(0x165)],_0x4c3ebc+'.json');try{const _0x88954c=await fs[_0x167a40(0x15d)](_0x407c0f,_0x167a40(0x150)),_0x161678=JSON['parse'](_0x88954c);return this['cache']['set'](_0x2f20b5,_0x161678),logger['debug']({'event':_0x408769['zKFgT'],'payloadName':_0x4c3ebc},_0x408769[_0x167a40(0x152)]),_0x161678;}catch(_0x1d84dc){logger[_0x167a40(0x15b)]({'event':_0x167a40(0x149),'payloadName':_0x4c3ebc,'error':_0x1d84dc['message']},_0x408769[_0x167a40(0x161)]);throw new Error('Payload\x20not\x20found:\x20'+_0x4c3ebc);}}['isActionEnabled'](_0x9844c6,_0xc5f7dd){return _0x9844c6['action']&&_0x9844c6['action'][_0xc5f7dd]===!![];}['getExportConfig'](_0x1b1773){const _0x2ef5dc=a0_0x493b;return{'columns':_0x1b1773[_0x2ef5dc(0x156)]||[],'filename':_0x1b1773[_0x2ef5dc(0x14c)][_0x2ef5dc(0x14a)]('.','-')+'-export','datatablesQuery':_0x1b1773[_0x2ef5dc(0x14f)]||null,'columnFormats':_0x1b1773[_0x2ef5dc(0x155)]||null,'fieldLabels':_0x1b1773[_0x2ef5dc(0x14e)]||null};}[a0_0x271aae(0x162)](){const _0x59b972=a0_0x271aae;this[_0x59b972(0x153)]['clear'](),logger['info']({'event':'payload_cache_cleared'},'Payload\x20cache\x20cleared');}}module[a0_0x271aae(0x159)]=new PayloadLoader();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x227e86,_0xc390f9){var _0x2b0ca3=a0_0x340e,_0xdd1515=_0x227e86();while(!![]){try{var _0x228ed3=-parseInt(_0x2b0ca3(0xdb))/0x1*(-parseInt(_0x2b0ca3(0xd7))/0x2)+parseInt(_0x2b0ca3(0xdc))/0x3*(-parseInt(_0x2b0ca3(0xd8))/0x4)+parseInt(_0x2b0ca3(0xda))/0x5*(parseInt(_0x2b0ca3(0xd9))/0x6)+-parseInt(_0x2b0ca3(0xe0))/0x7+parseInt(_0x2b0ca3(0xd5))/0x8*(-parseInt(_0x2b0ca3(0xd6))/0x9)+parseInt(_0x2b0ca3(0xdd))/0xa*(parseInt(_0x2b0ca3(0xdf))/0xb)+parseInt(_0x2b0ca3(0xde))/0xc;if(_0x228ed3===_0xc390f9)break;else _0xdd1515['push'](_0xdd1515['shift']());}catch(_0x5b3c5c){_0xdd1515['push'](_0xdd1515['shift']());}}}(a0_0x48db,0x529bc));function createResponse(_0xe6709e,_0x28c114,_0x5e17ec=null){var _0x3dc96e=a0_0x340e;return{'success':!![],'statusCode':_0xe6709e,'message':_0x28c114,'data':_0x5e17ec,'timestamp':new Date()[_0x3dc96e(0xd4)]()};}function a0_0x48db(){var _0x11d6bb=['mJa1ody2EMjUt1bT','mtGYmdm4u2TUzNnI','mJi0t0vpvfbg','nMPjCuPKwG','mZm1odyWyKHVre1q','m0LgBujUvW','mJeXntLJq2frtMe','mJb6uNvqELq','nta2mJK4mhnSzw1dqq','mti4nJy5mKLpAKj3tG','mty3ote3ngv3r1HvBG','Dg9ju09tDhjPBMC','ohLpv1v1BG'];a0_0x48db=function(){return _0x11d6bb;};return a0_0x48db();}function createError(_0x22fdb1,_0x173d61,_0x31f37b=null){return{'success':![],'statusCode':_0x22fdb1,'message':_0x173d61,'data':_0x31f37b,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x34a3c9,_0x40102a){return{'success':![],'statusCode':0x190,'message':_0x34a3c9,'data':{'errors':_0x40102a},'timestamp':new Date()['toISOString']()};}function a0_0x340e(_0x20c441,_0x333b3b){_0x20c441=_0x20c441-0xd4;var _0x48db2d=a0_0x48db();var _0x340ed1=_0x48db2d[_0x20c441];if(a0_0x340e['ymlHFR']===undefined){var _0x12be4a=function(_0x152651){var _0x5259cc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x25a2d3='',_0x583516='';for(var _0x4511e2=0x0,_0x359874,_0x240b4a,_0x135b02=0x0;_0x240b4a=_0x152651['charAt'](_0x135b02++);~_0x240b4a&&(_0x359874=_0x4511e2%0x4?_0x359874*0x40+_0x240b4a:_0x240b4a,_0x4511e2++%0x4)?_0x25a2d3+=String['fromCharCode'](0xff&_0x359874>>(-0x2*_0x4511e2&0x6)):0x0){_0x240b4a=_0x5259cc['indexOf'](_0x240b4a);}for(var _0x127baa=0x0,_0x1df8d9=_0x25a2d3['length'];_0x127baa<_0x1df8d9;_0x127baa++){_0x583516+='%'+('00'+_0x25a2d3['charCodeAt'](_0x127baa)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x583516);};a0_0x340e['ZHYneE']=_0x12be4a,a0_0x340e['demUWy']={},a0_0x340e['ymlHFR']=!![];}var _0x5f087a=_0x48db2d[0x0],_0x304811=_0x20c441+_0x5f087a,_0x7affb9=a0_0x340e['demUWy'][_0x304811];return!_0x7affb9?(_0x340ed1=a0_0x340e['ZHYneE'](_0x340ed1),a0_0x340e['demUWy'][_0x304811]=_0x340ed1):_0x340ed1=_0x7affb9,_0x340ed1;}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
|
package/src/utils/rabbitmq.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a0_0x109d(_0x314b20,_0x3625c5){_0x314b20=_0x314b20-0x198;const _0x4b4dea=a0_0x4b4d();let _0x109d54=_0x4b4dea[_0x314b20];if(a0_0x109d['XpOLTB']===undefined){var _0x1bb8c3=function(_0xfad7c1){const _0x5c5747='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b6941='',_0x2db342='';for(let _0x3a9974=0x0,_0x37fed6,_0x2ffea1,_0xe283bc=0x0;_0x2ffea1=_0xfad7c1['charAt'](_0xe283bc++);~_0x2ffea1&&(_0x37fed6=_0x3a9974%0x4?_0x37fed6*0x40+_0x2ffea1:_0x2ffea1,_0x3a9974++%0x4)?_0x4b6941+=String['fromCharCode'](0xff&_0x37fed6>>(-0x2*_0x3a9974&0x6)):0x0){_0x2ffea1=_0x5c5747['indexOf'](_0x2ffea1);}for(let _0x39c95d=0x0,_0x4a5399=_0x4b6941['length'];_0x39c95d<_0x4a5399;_0x39c95d++){_0x2db342+='%'+('00'+_0x4b6941['charCodeAt'](_0x39c95d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2db342);};a0_0x109d['EFLYOQ']=_0x1bb8c3,a0_0x109d['CUweKI']={},a0_0x109d['XpOLTB']=!![];}const _0x46cd3c=_0x4b4dea[0x0],_0x442a0b=_0x314b20+_0x46cd3c,_0x4c98f5=a0_0x109d['CUweKI'][_0x442a0b];return!_0x4c98f5?(_0x109d54=a0_0x109d['EFLYOQ'](_0x109d54),a0_0x109d['CUweKI'][_0x442a0b]=_0x109d54):_0x109d54=_0x4c98f5,_0x109d54;}const a0_0x57dec3=a0_0x109d;(function(_0x3ef36a,_0x27f803){const _0x3b209a=a0_0x109d,_0x4a74ad=_0x3ef36a();while(!![]){try{const _0x340096=parseInt(_0x3b209a(0x1b2))/0x1*(-parseInt(_0x3b209a(0x198))/0x2)+-parseInt(_0x3b209a(0x1c5))/0x3*(parseInt(_0x3b209a(0x1a4))/0x4)+parseInt(_0x3b209a(0x1bb))/0x5*(parseInt(_0x3b209a(0x1ac))/0x6)+-parseInt(_0x3b209a(0x1b4))/0x7*(parseInt(_0x3b209a(0x1c3))/0x8)+-parseInt(_0x3b209a(0x19a))/0x9+parseInt(_0x3b209a(0x1bc))/0xa*(-parseInt(_0x3b209a(0x199))/0xb)+-parseInt(_0x3b209a(0x19c))/0xc*(-parseInt(_0x3b209a(0x1a5))/0xd);if(_0x340096===_0x27f803)break;else _0x4a74ad['push'](_0x4a74ad['shift']());}catch(_0xdfc73c){_0x4a74ad['push'](_0x4a74ad['shift']());}}}(a0_0x4b4d,0xd5142),require('dotenv')['config']());const amqp=require(a0_0x57dec3(0x1b5)),{formatDate}=require(a0_0x57dec3(0x1a9)),RABBITMQ_URL=process['env']['RABBITMQ_URL'],EXCHANGE=process[a0_0x57dec3(0x1c4)][a0_0x57dec3(0x19f)],ROUTING_KEY=process['env']['RABBITMQ_ROUTING_KEY'],QUEUE=process['env'][a0_0x57dec3(0x1a3)];async function createConnection(){const _0x537893=a0_0x57dec3,_0x5a3fb8={'jGnDG':function(_0x24399a,_0x2b5238){return _0x24399a(_0x2b5238);},'VjzFM':function(_0xa5a854,_0x11868e){return _0xa5a854(_0x11868e);}};try{const _0x13eace=await amqp['connect'](RABBITMQ_URL);return console['log']('['+_0x5a3fb8['jGnDG'](formatDate,new Date())+_0x537893(0x1bd)),_0x13eace;}catch(_0x1d8f2a){console[_0x537893(0x1ab)]('['+_0x5a3fb8['VjzFM'](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x1d8f2a[_0x537893(0x1b7)]);throw _0x1d8f2a;}}async function createChannel(_0x416da8){const _0x22e7b7=a0_0x57dec3,_0x22b654={'AGjdu':function(_0x124433,_0x525084){return _0x124433(_0x525084);}};try{const _0x5df37d=await _0x416da8['createChannel']();return console[_0x22e7b7(0x1b3)]('['+formatDate(new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x5df37d;}catch(_0x564f83){console['error']('['+_0x22b654[_0x22e7b7(0x1a6)](formatDate,new Date())+_0x22e7b7(0x1c1)+_0x564f83[_0x22e7b7(0x1b7)]);throw _0x564f83;}}async function setupInfrastructure(_0x554400){const _0x8146c6=a0_0x57dec3,_0x5c4092={'PZlTe':'direct','obqLD':function(_0x2b2df7,_0x4469c9){return _0x2b2df7(_0x4469c9);},'lUBWt':_0x8146c6(0x1b8),'nNoDB':'found','ZELKy':_0x8146c6(0x1a1)};try{await _0x554400['assertExchange']('retry-exchange',_0x5c4092['PZlTe'],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x5c4092[_0x8146c6(0x1ad)](formatDate,new Date())+_0x8146c6(0x1a0));}catch(_0x230c10){console['error']('['+formatDate(new Date())+_0x8146c6(0x1ba),_0x230c10[_0x8146c6(0x1b7)]);throw _0x230c10;}try{await _0x554400['assertExchange'](EXCHANGE,_0x8146c6(0x1a2),{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+_0x8146c6(0x1aa)+EXCHANGE+'\x20created/ready');}catch(_0x1fdc14){console['error']('['+_0x5c4092['obqLD'](formatDate,new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x1fdc14['message']);throw _0x1fdc14;}const _0x55a646=ROUTING_KEY+'_retry';try{const _0x4754b2={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x554400['assertQueue'](_0x55a646,_0x4754b2),console[_0x8146c6(0x1b3)]('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0x55a646+_0x8146c6(0x1b9)),await _0x554400[_0x8146c6(0x1c2)](_0x55a646,_0x5c4092[_0x8146c6(0x1a7)],ROUTING_KEY),console[_0x8146c6(0x1b3)]('['+_0x5c4092[_0x8146c6(0x1ad)](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+'\x20created');}catch(_0xcf3490){console[_0x8146c6(0x1ab)]('['+formatDate(new Date())+_0x8146c6(0x1c0),_0xcf3490['message']);throw _0xcf3490;}try{const _0x10fa3f={'durable':!![],'arguments':{'x-dead-letter-exchange':'retry-exchange','x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x57ea2c=await _0x554400['assertQueue'](QUEUE,_0x10fa3f);console['log']('['+formatDate(new Date())+_0x8146c6(0x1c6)+QUEUE+'\x20'+(_0x57ea2c['queue']===QUEUE?'created/ready':_0x5c4092['nNoDB'])+'\x20with\x20DLX'),await _0x554400[_0x8146c6(0x1c2)](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+formatDate(new Date())+_0x8146c6(0x1be)+EXCHANGE+_0x8146c6(0x1b0)+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0x6de22f){if(_0x6de22f['message'][_0x8146c6(0x19d)](_0x5c4092['ZELKy'])&&_0x6de22f['message']['includes']('x-dead-letter-routing-key'))console['error']('\x0a['+_0x5c4092['obqLD'](formatDate,new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+_0x8146c6(0x1a8)),console['error']('Queue\x20'+QUEUE+_0x8146c6(0x1b6)),console['error'](_0x8146c6(0x1bf)),process[_0x8146c6(0x19b)](0x1);else{console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x6de22f['message']);throw _0x6de22f;}}}catch(_0x403fa4){if(!_0x403fa4['message'][_0x8146c6(0x19d)]('inequivalent\x20arg')){console['error']('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x403fa4['message']);throw _0x403fa4;}process[_0x8146c6(0x19b)](0x1);}}function a0_0x4b4d(){const _0x3cfa64=['Aw5LCxvPDMfSzw50igfYzW','zgLYzwn0','uKfcqKLutvfFuvvfvuu','mte2C0jwzw1b','odm1ovzJDfvHuG','quDQzhu','Bfvcv3q','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','lI9KyxrLsgvSCgvY','xsbfEgnOyw5Nzsa','zxjYB3i','nte2otzOs1DMywW','B2jXteq','EvDtsMe','zxHWB3j0CW','ic0+ia','y2XVC2u','nJa1nJGXExvWsLvS','Bg9N','nty2m1HmCxn2Cq','yw1XCgXPyG','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','BwvZC2fNzq','CMv0CNKTzxHJAgfUz2u','ignYzwf0zwqVCMvHzhK','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','ndCWvw1bCLnJ','mtbhCuzSwwi','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r','xsbcAw5KAw5Nia','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','yMLUzff1zxvL','ntq2ngLmD0LgEq','zw52','mZC1nNzRuKT2rq','xsbrDwv1zsa','mMv1ru1nuq','mta5ndKYntDOr0nSuMm','mte1ntKXodzUD2jereu','zxHPDa','nJyWmtjbt2zPyMG','Aw5JBhvKzxm','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','uKfcqKLutvfFrvHdsefor0u','xsbszxrYEsbLEgnOyw5NzsbJCMvHDgvKl3jLywr5'];a0_0x4b4d=function(){return _0x3cfa64;};return a0_0x4b4d();}async function closeConnection(_0xd87410){const _0x18346c=a0_0x57dec3,_0x432960={'yWSJa':function(_0x51f5dd,_0x3b1905){return _0x51f5dd(_0x3b1905);}};if(_0xd87410)try{await _0xd87410[_0x18346c(0x1b1)](),console['log']('['+_0x432960[_0x18346c(0x1ae)](formatDate,new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x1dc733){console[_0x18346c(0x1ab)]('['+_0x432960['yWSJa'](formatDate,new Date())+_0x18346c(0x19e)+_0x1dc733[_0x18346c(0x1b7)]);}}module[a0_0x57dec3(0x1af)]={'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_0x2c2909=a0_0x379d;(function(_0x2ee6a9,_0x51d674){const _0x191a02=a0_0x379d,_0x1984f4=_0x2ee6a9();while(!![]){try{const _0x1ab8e3=parseInt(_0x191a02(0x166))/0x1*(-parseInt(_0x191a02(0x176))/0x2)+-parseInt(_0x191a02(0x177))/0x3*(-parseInt(_0x191a02(0x17c))/0x4)+-parseInt(_0x191a02(0x17d))/0x5+-parseInt(_0x191a02(0x167))/0x6+parseInt(_0x191a02(0x15f))/0x7*(parseInt(_0x191a02(0x163))/0x8)+-parseInt(_0x191a02(0x16c))/0x9*(parseInt(_0x191a02(0x171))/0xa)+parseInt(_0x191a02(0x16d))/0xb;if(_0x1ab8e3===_0x51d674)break;else _0x1984f4['push'](_0x1984f4['shift']());}catch(_0x849be8){_0x1984f4['push'](_0x1984f4['shift']());}}}(a0_0x4589,0x5e496));const Redis=require('ioredis'),{logger}=require('./logger');function a0_0x379d(_0x298d02,_0x5e33a3){_0x298d02=_0x298d02-0x15d;const _0x458911=a0_0x4589();let _0x379de8=_0x458911[_0x298d02];if(a0_0x379d['fLatWW']===undefined){var _0x4bfd37=function(_0x2f6608){const _0x44ce4e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x19733b='',_0x34dcd1='';for(let _0x5155f2=0x0,_0x4e3067,_0xa3b1a5,_0x5589a8=0x0;_0xa3b1a5=_0x2f6608['charAt'](_0x5589a8++);~_0xa3b1a5&&(_0x4e3067=_0x5155f2%0x4?_0x4e3067*0x40+_0xa3b1a5:_0xa3b1a5,_0x5155f2++%0x4)?_0x19733b+=String['fromCharCode'](0xff&_0x4e3067>>(-0x2*_0x5155f2&0x6)):0x0){_0xa3b1a5=_0x44ce4e['indexOf'](_0xa3b1a5);}for(let _0x3e5c35=0x0,_0x37081e=_0x19733b['length'];_0x3e5c35<_0x37081e;_0x3e5c35++){_0x34dcd1+='%'+('00'+_0x19733b['charCodeAt'](_0x3e5c35)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x34dcd1);};a0_0x379d['HXqecA']=_0x4bfd37,a0_0x379d['LLxyUW']={},a0_0x379d['fLatWW']=!![];}const _0x443c14=_0x458911[0x0],_0x2511df=_0x298d02+_0x443c14,_0x5cdfc8=a0_0x379d['LLxyUW'][_0x2511df];return!_0x5cdfc8?(_0x379de8=a0_0x379d['HXqecA'](_0x379de8),a0_0x379d['LLxyUW'][_0x2511df]=_0x379de8):_0x379de8=_0x5cdfc8,_0x379de8;}function a0_0x4589(){const _0x3f8989=['mtbRDLntBwG','CMfJzq','BKfvCxa','zw52','uKvesvnFue9sva','mtq2mtrqvvruvw8','nJnxvxjSCg8','BLvbyui','CMvKAxnFy29UBMvJDgvK','uKvesvnFueftu1DpuKq','CMvKAxnFAw5PDf9LCNjVCG','nJCXndHhqwj1BgG','mtmZmdq1BfDvqMXv','BwvZC2fNzq','CMvKAxnFzgLZy29UBMvJDgvK','mJe3odGYrxrnv2vl','AKrNq1m','CgLUzW','Aw5MBW','ndb1EgLpDeC','y29UBMvJDa','Afjdt2S','ndfPqLvnC2S','mZC1ntG2mKXezK9TvW','uMvKAxmGueLorYb0Aw1LB3v0','zxjYB3i','y2XPzw50','CxvPDa','mZu2ntu1n1bSB0DvvW','mtm0otaYntDVseHODey','uKvesvnFse9tva','DgDTA1G','ue9orW'];a0_0x4589=function(){return _0x3f8989;};return a0_0x4589();}class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}[a0_0x2c2909(0x164)](){const _0x2d252d=a0_0x2c2909,_0x3f9281={'nUAaB':function(_0xa2364d,_0x40c042){return _0xa2364d*_0x40c042;},'hRCOk':'Redis\x20connected\x20successfully','fofQh':_0x2d252d(0x15e),'jDgCS':'Redis\x20connection\x20closed','tgmkX':'close','nAUqp':_0x2d252d(0x17b)};if(this[_0x2d252d(0x16a)])return this['client'];try{return this[_0x2d252d(0x16a)]=new Redis({'host':process[_0x2d252d(0x174)][_0x2d252d(0x16e)]||'localhost','port':parseInt(process['env'][_0x2d252d(0x175)],0xa)||0x18ec,'password':process['env'][_0x2d252d(0x17a)]||undefined,'db':parseInt(process[_0x2d252d(0x174)]['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x461eae){const _0x393ac4=_0x2d252d,_0x57b0d6=Math['min'](_0x3f9281[_0x393ac4(0x178)](_0x461eae,0x32),0x7d0);return _0x57b0d6;}}),this['client']['on']('connect',()=>{const _0x216305=_0x2d252d;this['isConnected']=!![],logger[_0x216305(0x162)]({'event':_0x216305(0x179)},_0x3f9281[_0x216305(0x165)]);}),this['client']['on']('error',_0x4abeec=>{const _0x223a18=_0x2d252d;this['isConnected']=![],logger['error']({'event':'redis_error','error':_0x4abeec[_0x223a18(0x15d)]},'Redis\x20connection\x20error:\x20'+_0x4abeec[_0x223a18(0x15d)]);}),this[_0x2d252d(0x16a)]['on'](_0x3f9281[_0x2d252d(0x16f)],()=>{const _0x29e383=_0x2d252d;this['isConnected']=![],logger['warn']({'event':_0x3f9281['fofQh']},_0x3f9281[_0x29e383(0x160)]);}),this['client'];}catch(_0x712435){logger[_0x2d252d(0x169)]({'event':_0x3f9281[_0x2d252d(0x173)],'error':_0x712435[_0x2d252d(0x15d)]},'Failed\x20to\x20initialize\x20Redis');throw _0x712435;}}['getClient'](){const _0x5c75aa=a0_0x2c2909;return!this['client']&&this['connect'](),this[_0x5c75aa(0x16a)];}async[a0_0x2c2909(0x161)](_0x3d45fc=0x1388){const _0x3f0c8a=a0_0x2c2909;try{const _0x49ab8b=this['getClient'](),_0x7179d0=await Promise[_0x3f0c8a(0x172)]([_0x49ab8b['ping'](),new Promise((_0x2ce24a,_0xabca93)=>setTimeout(()=>_0xabca93(new Error(_0x3f0c8a(0x168))),_0x3d45fc))]);return _0x7179d0===_0x3f0c8a(0x170);}catch(_0x8a5bd2){return![];}}async['disconnect'](){const _0x59ff3c=a0_0x2c2909;this['client']&&(await this[_0x59ff3c(0x16a)][_0x59ff3c(0x16b)](),this[_0x59ff3c(0x16a)]=null,this['isConnected']=![]);}['forceDisconnect'](){const _0x35defd=a0_0x2c2909;this[_0x35defd(0x16a)]&&(this[_0x35defd(0x16a)]['disconnect'](),this[_0x35defd(0x16a)]=null,this['isConnected']=![]);}}module['exports']=new RedisClient();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a0_0x9daa(_0x51ee8d,_0x11d70c){_0x51ee8d=_0x51ee8d-0x66;const _0x4ac94b=a0_0x4ac9();let _0x9daa3c=_0x4ac94b[_0x51ee8d];if(a0_0x9daa['ZoSMbZ']===undefined){var _0xc3635a=function(_0x477a47){const _0x4fbed1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4914af='',_0x3615d9='';for(let _0x3bfe50=0x0,_0x32145f,_0xc7b7c3,_0xaa2b38=0x0;_0xc7b7c3=_0x477a47['charAt'](_0xaa2b38++);~_0xc7b7c3&&(_0x32145f=_0x3bfe50%0x4?_0x32145f*0x40+_0xc7b7c3:_0xc7b7c3,_0x3bfe50++%0x4)?_0x4914af+=String['fromCharCode'](0xff&_0x32145f>>(-0x2*_0x3bfe50&0x6)):0x0){_0xc7b7c3=_0x4fbed1['indexOf'](_0xc7b7c3);}for(let _0x210235=0x0,_0x3e1871=_0x4914af['length'];_0x210235<_0x3e1871;_0x210235++){_0x3615d9+='%'+('00'+_0x4914af['charCodeAt'](_0x210235)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3615d9);};a0_0x9daa['SApZHi']=_0xc3635a,a0_0x9daa['filONU']={},a0_0x9daa['ZoSMbZ']=!![];}const _0x1cf1b7=_0x4ac94b[0x0],_0x16f107=_0x51ee8d+_0x1cf1b7,_0x3ad37d=a0_0x9daa['filONU'][_0x16f107];return!_0x3ad37d?(_0x9daa3c=a0_0x9daa['SApZHi'](_0x9daa3c),a0_0x9daa['filONU'][_0x16f107]=_0x9daa3c):_0x9daa3c=_0x3ad37d,_0x9daa3c;}function a0_0x4ac9(){const _0x2de67c=['mJG4ExHtExrl','odiXnZn1r0fWzem','C2v0zxG','rhnMCgS','mJy0nZnvzwr1AfK','A2v5CW','otm5nJCZmerWv1vMvG','zw52','zgvS','mtGWmti0nu5QAgLvCG','CMvKAxnFz2v0ywXSx2vYCM9Y','mZy2otm4su1VCezV','z2v0','vvPhtfu','z2v0qwXSsM9ICW','odC5otnfquzPvuy','B1HLwgC','DxbKyxrLsM9I','C2v0sM9I','CgfYC2u','mtjhA2DuyNa','ChvZAa','BwvZC2fNzq','mtiXnZqWwKfrAfvi','mtfltefiDem','CMvKAxnFz2v0x2vYCM9Y','mtuWEw96zNjI','DhrS','oMv4Cg9YDdO','mtjHq1vICg0','mJbdD05xAgq','z2v0q2XPzw50','C3rYAw5NAwz5','ChjLzML4','zxjYB3i','zxHWB3j0CW','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','x3bYzwzPEa'];a0_0x4ac9=function(){return _0x2de67c;};return a0_0x4ac9();}const a0_0x516e36=a0_0x9daa;(function(_0x56f982,_0x12e64b){const _0x2e69ca=a0_0x9daa,_0xb2b093=_0x56f982();while(!![]){try{const _0x2157be=parseInt(_0x2e69ca(0x7d))/0x1*(parseInt(_0x2e69ca(0x70))/0x2)+-parseInt(_0x2e69ca(0x6a))/0x3*(parseInt(_0x2e69ca(0x71))/0x4)+-parseInt(_0x2e69ca(0x82))/0x5+parseInt(_0x2e69ca(0x6d))/0x6*(-parseInt(_0x2e69ca(0x7a))/0x7)+-parseInt(_0x2e69ca(0x79))/0x8*(-parseInt(_0x2e69ca(0x88))/0x9)+parseInt(_0x2e69ca(0x7f))/0xa*(parseInt(_0x2e69ca(0x6b))/0xb)+parseInt(_0x2e69ca(0x67))/0xc*(-parseInt(_0x2e69ca(0x84))/0xd);if(_0x2157be===_0x12e64b)break;else _0xb2b093['push'](_0xb2b093['shift']());}catch(_0x516389){_0xb2b093['push'](_0xb2b093['shift']());}}}(a0_0x4ac9,0x8a181));const redisClient=require('./redis-client'),{logger}=require('./logger');class RedisHelper{constructor(){const _0x187ca2=a0_0x9daa,_0x2176f7={'ntOiP':function(_0xfbe94d,_0x3c7127,_0xaac46a){return _0xfbe94d(_0x3c7127,_0xaac46a);}};this[_0x187ca2(0x78)]=null,this['ttl']=_0x2176f7['ntOiP'](parseInt,process['env']['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get['prefix'](){const _0xac92b6=a0_0x9daa,_0x41b7be={'tDvfC':'default'};if(!this['_prefix']){const _0xd0d41=process[_0xac92b6(0x80)]['RESTFORGE_PROJECT_NAME']||_0x41b7be['tDvfC'];this['_prefix']='restforge:'+_0xd0d41+_0xac92b6(0x6f);}return this[_0xac92b6(0x78)];}async[a0_0x516e36(0x8b)](_0x2af4c8,_0x1164ab){const _0x53f43e=a0_0x516e36,_0x573a57={'Dsfpk':_0x53f43e(0x77)};try{const _0x54f82c=redisClient[_0x53f43e(0x72)](),_0x22f93a=''+this['prefix']+_0x2af4c8;return await _0x54f82c[_0x53f43e(0x7b)](_0x22f93a,this[_0x53f43e(0x6e)],JSON[_0x53f43e(0x73)](_0x1164ab)),!![];}catch(_0x1dbb71){return logger[_0x53f43e(0x75)]({'event':'redis_set_error','jobId':_0x2af4c8,'error':_0x1dbb71[_0x53f43e(0x69)]},_0x573a57[_0x53f43e(0x7c)]),![];}}async['getJob'](_0x553b69){const _0x39606e=a0_0x516e36;try{const _0x355bee=redisClient['getClient'](),_0x590f7f=''+this[_0x39606e(0x74)]+_0x553b69,_0x2c57bc=await _0x355bee['get'](_0x590f7f);return _0x2c57bc?JSON[_0x39606e(0x66)](_0x2c57bc):null;}catch(_0x2df2b2){return logger[_0x39606e(0x75)]({'event':_0x39606e(0x6c),'jobId':_0x553b69,'error':_0x2df2b2[_0x39606e(0x69)]},'Failed\x20to\x20get\x20job\x20from\x20Redis'),null;}}async[a0_0x516e36(0x8a)](_0x424de5,_0x223614){const _0x57b0d7=await this['getJob'](_0x424de5);if(!_0x57b0d7)return![];const _0x4448f1={..._0x57b0d7,..._0x223614};return await this['setJob'](_0x424de5,_0x4448f1);}async['deleteJob'](_0x3747a3){const _0x10221c=a0_0x516e36,_0x33e8cf={'UZGLU':'redis_delete_error','oXeXg':'Failed\x20to\x20delete\x20job\x20from\x20Redis'};try{const _0x2af6e8=redisClient['getClient'](),_0x40c8ae=''+this['prefix']+_0x3747a3;return await _0x2af6e8[_0x10221c(0x81)](_0x40c8ae),!![];}catch(_0x33e2ab){return logger['error']({'event':_0x33e8cf[_0x10221c(0x86)],'jobId':_0x3747a3,'error':_0x33e2ab[_0x10221c(0x69)]},_0x33e8cf[_0x10221c(0x89)]),![];}}async[a0_0x516e36(0x87)](){const _0x238568=a0_0x516e36,_0x34917e={'DNOIe':_0x238568(0x83),'zRcel':'Failed\x20to\x20get\x20all\x20jobs'};try{const _0x5211b1=redisClient['getClient'](),_0x153ed0=await _0x5211b1[_0x238568(0x7e)](this['prefix']+'*'),_0x1de53d=[];for(const _0x1cec66 of _0x153ed0){const _0x3367d7=await _0x5211b1[_0x238568(0x85)](_0x1cec66);_0x3367d7&&_0x1de53d[_0x238568(0x68)](JSON[_0x238568(0x66)](_0x3367d7));}return _0x1de53d;}catch(_0x322827){return logger['error']({'event':_0x34917e['DNOIe'],'error':_0x322827['message']},_0x34917e['zRcel']),[];}}}module[a0_0x516e36(0x76)]=new RedisHelper();
|