@restforgejs/platform 5.1.16 → 5.1.21
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/catalog/dbschema.js +2 -1
- package/generators/cli/endpoint/list.js +264 -0
- package/generators/cli/fast-track.js +395 -37
- package/generators/cli/processor/create.js +7 -7
- package/generators/cli/processor/list.js +229 -0
- package/generators/lib/dbschema-kit/apply-executor.js +20 -0
- package/generators/lib/generators/dashboard-generator.js +5 -5
- package/generators/lib/generators/processor-validation-generator.js +4 -1
- package/generators/lib/migrate/field-type-resolver.js +23 -0
- package/generators/lib/payload/payload-runner.js +80 -3
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/integrity-manifest.json +18 -18
- package/package.json +1 -1
- package/scripts/check-install.js +8 -8
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/soft-delete-dashboard-guard.js +1 -1
- package/src/utils/sql-table-extractor.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x4b7b72=a0_0x1dbc;(function(_0x22072d,_0x58ff32){const _0xc76b3e=a0_0x1dbc,_0x1ba020=_0x22072d();while(!![]){try{const _0x3d4739=parseInt(_0xc76b3e(0x19a))/0x1+parseInt(_0xc76b3e(0x169))/0x2*(-parseInt(_0xc76b3e(0x167))/0x3)+-parseInt(_0xc76b3e(0x170))/0x4+-parseInt(_0xc76b3e(0x163))/0x5+parseInt(_0xc76b3e(0x183))/0x6+-parseInt(_0xc76b3e(0x1af))/0x7+parseInt(_0xc76b3e(0x1a7))/0x8;if(_0x3d4739===_0x58ff32)break;else _0x1ba020['push'](_0x1ba020['shift']());}catch(_0x76fd5a){_0x1ba020['push'](_0x1ba020['shift']());}}}(a0_0x488d,0x1e297));const redisClient=require('./redis-client'),{logger}=require(a0_0x4b7b72(0x177)),{v4:uuidv4}=require(a0_0x4b7b72(0x1ae));function a0_0x1dbc(_0x1aba52,_0x5bcbdd){_0x1aba52=_0x1aba52-0x160;const _0x488d5f=a0_0x488d();let _0x1dbcc9=_0x488d5f[_0x1aba52];if(a0_0x1dbc['AAloGe']===undefined){var _0x34d0b0=function(_0x3e34db){const _0x29a188='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5d11d5='',_0x5ce419='';for(let _0x5a064f=0x0,_0x3958c6,_0x3172f2,_0x5b82d4=0x0;_0x3172f2=_0x3e34db['charAt'](_0x5b82d4++);~_0x3172f2&&(_0x3958c6=_0x5a064f%0x4?_0x3958c6*0x40+_0x3172f2:_0x3172f2,_0x5a064f++%0x4)?_0x5d11d5+=String['fromCharCode'](0xff&_0x3958c6>>(-0x2*_0x5a064f&0x6)):0x0){_0x3172f2=_0x29a188['indexOf'](_0x3172f2);}for(let _0x1bc090=0x0,_0x4efcbb=_0x5d11d5['length'];_0x1bc090<_0x4efcbb;_0x1bc090++){_0x5ce419+='%'+('00'+_0x5d11d5['charCodeAt'](_0x1bc090)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5ce419);};a0_0x1dbc['uKwoiL']=_0x34d0b0,a0_0x1dbc['IIQwfm']={},a0_0x1dbc['AAloGe']=!![];}const _0x5b2308=_0x488d5f[0x0],_0x376d39=_0x1aba52+_0x5b2308,_0x206378=a0_0x1dbc['IIQwfm'][_0x376d39];return!_0x206378?(_0x1dbcc9=a0_0x1dbc['uKwoiL'](_0x1dbcc9),a0_0x1dbc['IIQwfm'][_0x376d39]=_0x1dbcc9):_0x1dbcc9=_0x206378,_0x1dbcc9;}class LockManager{constructor(){const _0x3c92ef=a0_0x4b7b72;this[_0x3c92ef(0x173)]=null,this[_0x3c92ef(0x164)]=null,this[_0x3c92ef(0x1a3)]=null,this['_retryCount']=null,this['_retryDelay']=null,this[_0x3c92ef(0x1b4)]=null,this['_workerId']=null,this['_initialized']=![];}['_initConfig'](){const _0x3df9dd=a0_0x4b7b72,_0x95cbc3={'woOKj':'rf:lock:','SFBRL':function(_0x7420ca,_0x2e022b){return _0x7420ca===_0x2e022b;},'CEpIt':_0x3df9dd(0x1ab),'lSPXT':function(_0x1cfcd2,_0x139b06,_0x1cb3fc){return _0x1cfcd2(_0x139b06,_0x1cb3fc);},'hbWbT':function(_0x449046,_0x58c5ba,_0x4a8e33){return _0x449046(_0x58c5ba,_0x4a8e33);}};this['_prefix']=_0x95cbc3['woOKj'],this[_0x3df9dd(0x164)]=_0x95cbc3['SFBRL'](process['env'][_0x3df9dd(0x17f)],_0x95cbc3['CEpIt']),this[_0x3df9dd(0x1a3)]=_0x95cbc3[_0x3df9dd(0x1b7)](parseInt,process[_0x3df9dd(0x18c)]['LOCK_DISTRIBUTED_TTL'],0xa)||0xa,this['_retryCount']=_0x95cbc3[_0x3df9dd(0x1a6)](parseInt,process['env'][_0x3df9dd(0x17e)],0xa)||0x3,this['_retryDelay']=_0x95cbc3[_0x3df9dd(0x1b7)](parseInt,process['env'][_0x3df9dd(0x19e)],0xa)||0x64,this[_0x3df9dd(0x1b4)]=process['env']['LOCK_DISTRIBUTED_STRATEGY']||_0x3df9dd(0x196),this[_0x3df9dd(0x188)]='worker-'+process[_0x3df9dd(0x18b)],this[_0x3df9dd(0x197)]=!![],logger['info']({'event':_0x3df9dd(0x168),'enabled':this['_enabled'],'strategy':this['_strategy'],'ttl':this[_0x3df9dd(0x1a3)],'retryCount':this['_retryCount'],'retryDelay':this['_retryDelay'],'workerId':this['_workerId']},_0x3df9dd(0x19c)+this['_enabled']+_0x3df9dd(0x184)+this[_0x3df9dd(0x1b4)]);}[a0_0x4b7b72(0x1b3)](){!this['_initialized']&&this['_initConfig']();}get[a0_0x4b7b72(0x198)](){const _0x1d169d=a0_0x4b7b72;return this[_0x1d169d(0x1b3)](),this['_prefix'];}get['enabled'](){const _0x2ddce4=a0_0x4b7b72;return this['_ensureInitialized'](),this[_0x2ddce4(0x164)];}get[a0_0x4b7b72(0x161)](){const _0x11b426=a0_0x4b7b72;return this['_ensureInitialized'](),this[_0x11b426(0x1a3)];}get[a0_0x4b7b72(0x16f)](){const _0x45e626=a0_0x4b7b72;return this[_0x45e626(0x1b3)](),this['_retryCount'];}get[a0_0x4b7b72(0x179)](){const _0x33e165=a0_0x4b7b72;return this[_0x33e165(0x1b3)](),this['_retryDelay'];}get[a0_0x4b7b72(0x162)](){const _0x1cb3f3=a0_0x4b7b72;return this[_0x1cb3f3(0x1b3)](),this[_0x1cb3f3(0x1b4)];}get[a0_0x4b7b72(0x19f)](){const _0x44d77a=a0_0x4b7b72;return this[_0x44d77a(0x1b3)](),this['_workerId'];}[a0_0x4b7b72(0x17b)](_0x950b7e){const {module:_0x1c8be6,endpoint:_0x463bdc,lockType:_0x48106f,recordId:_0x1f646c}=_0x950b7e;if(_0x1f646c)return''+this['prefix']+_0x1c8be6+':'+_0x463bdc+':'+_0x1f646c+':'+_0x48106f;return''+this['prefix']+_0x1c8be6+':'+_0x463bdc+':'+_0x48106f;}['generateLockValue'](){const _0xd9cf80=a0_0x4b7b72,_0x6c86de={'yCqpK':function(_0x1d96b6){return _0x1d96b6();}};return this[_0xd9cf80(0x19f)]+':'+_0x6c86de[_0xd9cf80(0x17d)](uuidv4)+':'+Date[_0xd9cf80(0x187)]();}async[a0_0x4b7b72(0x189)](_0x51ef47){const _0x399717=a0_0x4b7b72,_0x338b1b={'GWJwg':'read','EbFSf':'READ\x20lock\x20acquired','IGLQC':_0x399717(0x19b),'kHrJF':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','QuaXi':'READ\x20lock\x20acquire\x20timeout','CkUXi':'READ\x20lock\x20error'};if(!this[_0x399717(0x1ac)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x253bbe=this['buildLockKey']({..._0x51ef47,'lockType':'write'}),_0x47b6d7=this[_0x399717(0x17b)]({..._0x51ef47,'lockType':_0x338b1b['GWJwg']}),_0x2d7cbb=this[_0x399717(0x191)]();try{const _0x45decb=redisClient['getClient']();for(let _0x4c1bb8=0x0;_0x4c1bb8<this['retryCount'];_0x4c1bb8++){const _0x219707=await _0x45decb[_0x399717(0x16d)](_0x253bbe);if(!_0x219707){await _0x45decb[_0x399717(0x16e)](_0x47b6d7),await _0x45decb['expire'](_0x47b6d7,this[_0x399717(0x161)]);const _0x5a8b45=_0x47b6d7+':'+_0x2d7cbb;return await _0x45decb['setex'](_0x5a8b45,this[_0x399717(0x161)],_0x2d7cbb),logger[_0x399717(0x165)]({'event':'read_lock_acquired','key':_0x47b6d7,'value':_0x2d7cbb},_0x338b1b['EbFSf']),{'success':!![],'lockValue':_0x2d7cbb,'lockKey':_0x5a8b45};}logger['debug']({'event':_0x338b1b[_0x399717(0x1a5)],'writeKey':_0x253bbe,'attempt':_0x4c1bb8},_0x338b1b['kHrJF']),await this[_0x399717(0x185)](this[_0x399717(0x179)]*Math['pow'](0x2,_0x4c1bb8));}return logger['warn']({'event':_0x399717(0x1a4),'key':_0x47b6d7},_0x338b1b[_0x399717(0x1b6)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x4145ca){return logger['error']({'event':'read_lock_error','error':_0x4145ca[_0x399717(0x1b0)]},_0x338b1b[_0x399717(0x193)]),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x4b7b72(0x181)](_0x3ba75b){const _0x35c0a8=a0_0x4b7b72,_0x29b24b={'YNTiy':'reject','olOEb':function(_0xa90e42,_0x4a3e15){return _0xa90e42===_0x4a3e15;},'vLSdJ':'write_lock_acquired','kskVU':_0x35c0a8(0x1a9),'PJFcH':_0x35c0a8(0x1a0),'zGEZE':_0x35c0a8(0x16c),'KUEXr':function(_0x1e558e,_0x55a16f){return _0x1e558e<_0x55a16f;},'TKUHd':function(_0x541900,_0x18dd72){return _0x541900(_0x18dd72);},'yPtAi':'write_lock_timeout','mhTzJ':'write_lock_error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x5ef02e=this['buildLockKey']({..._0x3ba75b,'lockType':_0x35c0a8(0x192)}),_0x1d2874=this[_0x35c0a8(0x17b)]({..._0x3ba75b,'lockType':_0x35c0a8(0x16b)}),_0x1764e0=this[_0x35c0a8(0x191)]();try{const _0x1e2d3e=redisClient['getClient']();if(this[_0x35c0a8(0x162)]===_0x29b24b[_0x35c0a8(0x190)]){const _0x2ddd4f=await _0x1e2d3e[_0x35c0a8(0x195)](_0x5ef02e,_0x1764e0,'EX',this['defaultTTL'],'NX');if(_0x29b24b[_0x35c0a8(0x166)](_0x2ddd4f,'OK'))return logger[_0x35c0a8(0x165)]({'event':_0x29b24b[_0x35c0a8(0x182)],'key':_0x5ef02e,'value':_0x1764e0,'strategy':'reject'},_0x29b24b['kskVU']),{'success':!![],'lockValue':_0x1764e0,'lockKey':_0x5ef02e};return logger['debug']({'event':_0x29b24b['PJFcH'],'key':_0x5ef02e},_0x29b24b[_0x35c0a8(0x1a8)]),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x3f310e=0x0;_0x29b24b[_0x35c0a8(0x18d)](_0x3f310e,this[_0x35c0a8(0x16f)]);_0x3f310e++){const [_0x24ae8b,_0x229fd7]=await Promise['all']([_0x1e2d3e['get'](_0x1d2874),_0x1e2d3e[_0x35c0a8(0x16d)](_0x5ef02e)]);if(!_0x229fd7&&(!_0x24ae8b||_0x29b24b['TKUHd'](parseInt,_0x24ae8b)===0x0)){const _0xfaadad=await _0x1e2d3e[_0x35c0a8(0x195)](_0x5ef02e,_0x1764e0,'EX',this['defaultTTL'],'NX');if(_0x29b24b[_0x35c0a8(0x166)](_0xfaadad,'OK'))return logger[_0x35c0a8(0x165)]({'event':_0x35c0a8(0x180),'key':_0x5ef02e,'value':_0x1764e0,'strategy':'retry'},_0x35c0a8(0x199)),{'success':!![],'lockValue':_0x1764e0,'lockKey':_0x5ef02e};}logger['debug']({'event':'write_lock_waiting','writeKey':_0x5ef02e,'readCount':_0x24ae8b,'attempt':_0x3f310e},'Waiting\x20for\x20locks\x20to\x20release'),await this[_0x35c0a8(0x185)](this[_0x35c0a8(0x179)]*Math[_0x35c0a8(0x186)](0x2,_0x3f310e));}return logger['warn']({'event':_0x29b24b[_0x35c0a8(0x178)],'key':_0x5ef02e},'WRITE\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x2a30b1){return logger[_0x35c0a8(0x176)]({'event':_0x29b24b['mhTzJ'],'error':_0x2a30b1[_0x35c0a8(0x1b0)]},_0x35c0a8(0x1a1)),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0xd5a742,_0x4b71cf){const _0x36b91b=a0_0x4b7b72,_0x67884f={'LnjBm':function(_0x20c027,_0x2ca143){return _0x20c027(_0x2ca143);},'UeRvW':_0x36b91b(0x19d),'QfATp':function(_0x2283c9,_0x40009d){return _0x2283c9===_0x40009d;},'DLqkw':'lock_release_error','cqxmK':'Lock\x20release\x20error'};if(!this[_0x36b91b(0x1ac)]||!_0xd5a742)return!![];try{const _0x5224d6=redisClient['getClient']();if(_0xd5a742[_0x36b91b(0x194)](_0x36b91b(0x18e))){await _0x5224d6[_0x36b91b(0x174)](_0xd5a742);const _0x8e1ee2=_0xd5a742['substring'](0x0,_0xd5a742[_0x36b91b(0x1b2)](':')),_0x2778c9=await _0x5224d6[_0x36b91b(0x16d)](_0x8e1ee2);return _0x2778c9&&_0x67884f[_0x36b91b(0x16a)](parseInt,_0x2778c9)>0x0&&await _0x5224d6[_0x36b91b(0x171)](_0x8e1ee2),logger['debug']({'event':_0x67884f['UeRvW'],'key':_0xd5a742},_0x36b91b(0x18f)),!![];}const _0x41e7ae='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22del\x22,\x20KEYS[1])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x5937e1=await _0x5224d6[_0x36b91b(0x1a2)](_0x41e7ae,0x1,_0xd5a742,_0x4b71cf);if(_0x67884f['QfATp'](_0x5937e1,0x1))return logger[_0x36b91b(0x165)]({'event':_0x36b91b(0x17c),'key':_0xd5a742},'WRITE\x20lock\x20released'),!![];return logger['warn']({'event':_0x36b91b(0x1b5),'key':_0xd5a742},_0x36b91b(0x17a)),![];}catch(_0x1ac6e5){return logger['error']({'event':_0x67884f[_0x36b91b(0x1ad)],'key':_0xd5a742,'error':_0x1ac6e5['message']},_0x67884f['cqxmK']),![];}}async[a0_0x4b7b72(0x160)](_0x2f6710,_0x44b7a2,_0x2fbdc6=null){const _0x14b38a=a0_0x4b7b72,_0x274fd0={'ViPPM':function(_0x1bf887,_0x521696){return _0x1bf887===_0x521696;}};if(!this['enabled']||!_0x2f6710)return!![];try{const _0x27777b=redisClient[_0x14b38a(0x1aa)](),_0x567163=_0x14b38a(0x18a),_0xbdfc89=await _0x27777b['eval'](_0x567163,0x1,_0x2f6710,_0x44b7a2,_0x2fbdc6||this['defaultTTL']);if(_0x274fd0['ViPPM'](_0xbdfc89,0x1))return logger['debug']({'event':'lock_extended','key':_0x2f6710,'ttl':_0x2fbdc6||this['defaultTTL']},'Lock\x20TTL\x20extended'),!![];return![];}catch(_0x35d0e6){return logger['error']({'event':_0x14b38a(0x1b1),'key':_0x2f6710,'error':_0x35d0e6[_0x14b38a(0x1b0)]},'Lock\x20extend\x20error'),![];}}['isEnabled'](){const _0x1792f7=a0_0x4b7b72;return this[_0x1792f7(0x1ac)];}['sleep'](_0x1402fc){return new Promise(_0xc77edd=>setTimeout(_0xc77edd,_0x1402fc));}async['getLockInfo'](_0x29bb3d){const _0x50fe90=a0_0x4b7b72,_0x164e10={'VLnMB':'write','ZkSZV':_0x50fe90(0x16b),'fHXeE':function(_0x38b1b3,_0x1bc3dd){return _0x38b1b3(_0x1bc3dd);}};if(!this[_0x50fe90(0x1ac)])return{'enabled':![]};try{const _0x1a89d9=redisClient[_0x50fe90(0x1aa)](),_0x3ffb41=this['buildLockKey']({..._0x29bb3d,'lockType':_0x164e10[_0x50fe90(0x175)]}),_0xb50193=this['buildLockKey']({..._0x29bb3d,'lockType':_0x164e10['ZkSZV']}),[_0x1101d6,_0x4b0d3a]=await Promise[_0x50fe90(0x172)]([_0x1a89d9['get'](_0x3ffb41),_0x1a89d9['get'](_0xb50193)]);return{'enabled':!![],'writeLock':_0x1101d6||null,'readCount':_0x164e10['fHXeE'](parseInt,_0x4b0d3a)||0x0,'writeKey':_0x3ffb41,'readKey':_0xb50193};}catch(_0xb47cb3){return{'enabled':!![],'error':_0xb47cb3['message']};}}}function a0_0x488d(){const _0x1b309f=['vKXUtui','zxjYB3i','lI9SB2DNzxi','Evb0qwK','CMv0CNLezwXHEq','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','yNvPBgrmB2nRs2v5','D3jPDgvFBg9JA19YzwXLyxnLza','EunXCeS','te9ds19esvnuuKLcvvrfrf9srvrswq','te9ds19esvnuuKLcvvrfrf9ftKfcteve','D3jPDgvFBg9JA19Hy3f1AxjLza','ywnXDwLYzvDYAxrLtg9JAW','DKXtzeO','odmWnty4ALDcwMnf','lcbZDhjHDgvNEtOG','C2XLzxa','Cg93','BM93','x3DVCMTLCKLK','ywnXDwLYzvjLywrmB2nR','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzxHWAxjLiIWGs0vzu1SXxsWGqvjhvLSYxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','CgLK','zw52','s1vfwhi','oNjLywq6','uKvbrcbSB2nRihjLBgvHC2vK','wu5uAxK','z2vUzxjHDgvmB2nRvMfSDwu','D3jPDgu','q2TvwgK','Aw5JBhvKzxm','C2v0','CMv0CNK','x2LUAxrPywXPEMvK','ChjLzML4','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','mJi0ndmWu2DbuNLM','CMvHzf9SB2nRx3DHAxrPBMC','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','CMvHzf9SB2nRx3jLBgvHC2vK','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','D29YA2vYswq','D3jPDgvFBg9JA19YzwPLy3rLza','v1jjveuGBg9JAYbLCNjVCG','zxzHBa','x2rLzMf1BhruveW','CMvHzf9SB2nRx3rPBwvVDxq','suDmuum','AgjxyLq','mJq4ody3mLDrs0HcAq','EKDfwKu','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','z2v0q2XPzw50','Dhj1zq','zw5HyMXLza','reXXA3C','DxvPza','mtiZodu4n25KvwvSsq','BwvZC2fNzq','Bg9JA19LEhrLBMrFzxjYB3i','BgfZDeLUzgv4t2y','x2vUC3vYzuLUAxrPywXPEMvK','x3n0CMf0zwD5','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','uxvHwgK','Bfnqwfq','zxH0zw5Ktg9JAW','zgvMyxvSDfruta','C3rYyxrLz3K','mJyWntu1z0LOsurR','x2vUywjSzwq','zgvIDwC','B2Xprwi','ndi3mtK3AgLxwNLu','Bg9JA19JB25MAwDFAw5PDa','mKjwCuLXwq','tg5QqM0','CMvHza','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','z2v0','Aw5JCG','CMv0CNLdB3vUDa','nZe1nZKYvMXJvgXj','zgvJCG','ywXS','x3bYzwzPEa','zgvS'];a0_0x488d=function(){return _0x1b309f;};return a0_0x488d();}module['exports']=new LockManager();
|
|
1
|
+
const a0_0x4c3c88=a0_0x907d;function a0_0x12ad(){const _0x134748=['zxzHBa','nJzqDLr0t2q','D3jPDgvFBg9JA193ywL0Aw5N','x3jLDhj5q291BNq','BfziC3K','zxHWB3j0CW','x3jLDhj5rgvSyxK','Bg9JA19LEhrLBMrLza','ENnWCxm','Bg9JA19LEhrLBMrFzxjYB3i','BwvZC2fNzq','CMvHza','ntKWywD4Bfnm','Cg93','te9ds19esvnuuKLcvvrfrf9uveW','Bg9JA19JB25MAwDFAw5PDa','x3n0CMf0zwD5','uKvbrcbSB2nRigvYCM9Y','zgvMyxvSDfruta','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','ndi3BKjJuNjO','nJiWodrWu0vuzLC','CMy6Bg9JAZO','v1jjveuGBg9JAYbLCNjVCG','mJCWmdq5mNDABLbUAG','CMvHzf9SB2nRx2vYCM9Y','zw5HyMXLza','DKDpv0m','sgvyyLe','te9ds19esvnuuKLcvvrfrf9ftKfcteve','zxjYB3i','CMv0CNK','D3jPDgu','mNWZFdD8nhWXFdb8nxW2','AvHrCLK','zgvS','uKvbrcbSB2nRigfJCxvPCMvK','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','tg9JAYbuveWGzxH0zw5Kzwq','mtKZnZGZnxzLwvz4vW','CMvHzf9SB2nRx3rPBwvVDxq','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','D2fYBG','tLvSEM0','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','Bgnjrvq','x2LUAxrdB25MAwC','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','lI9SB2DNzxi','CKz1wge','AuLVB0S','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','D3jPDgvFBg9JA19YzwPLy3rLza','mtiZnZHOyLnsy1u','uKjcEfC','x2vUC3vYzuLUAxrPywXPEMvK','ChjLzML4','D3jPDgvFBg9JA19YzwXLyxnLza','ywnXDwLYzvjLywrmB2nR','x2rLzMf1BhruveW','mJGYotG2q1vXzg5e','z2v0q2XPzw50','mty0mtzItfDZsLu','oty1veDWvNrN','zgvJCG','rNDgqKe','tLD0Au8','CMvHzf9SB2nRx3jLBgvHC2vK','z2v0','CMvHzf9SB2nRx2fJCxvPCMvK','x3bYzwzPEa','x3DVCMTLCKLK','D29YA2vYswq','CMv0CNLdB3vUDa','AxnfBMfIBgvK','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','CuXkq04','v1jjveuGBg9JAYbYzwXLyxnLza','zgvIDwC','BM93','zxHnCxi','C3bSAxq','yNvPBgrmB2nRs2v5','C2XLzxa','x2LUAxrPywXPEMvK','vhvrv0K','D3jPDgvFBg9JA19LCNjVCG','mJa1mJm1thzjrfP4','uKvbrcbSB2nRihjLBgvHC2vK','z1DlzfG','CMv0CNLezwXHEq','zw52'];a0_0x12ad=function(){return _0x134748;};return a0_0x12ad();}(function(_0x367993,_0x527cd3){const _0x110ddf=a0_0x907d,_0x2e07f2=_0x367993();while(!![]){try{const _0x247fa3=parseInt(_0x110ddf(0x135))/0x1+parseInt(_0x110ddf(0xf2))/0x2*(-parseInt(_0x110ddf(0xde))/0x3)+-parseInt(_0x110ddf(0xf5))/0x4+-parseInt(_0x110ddf(0x11d))/0x5*(-parseInt(_0x110ddf(0x113))/0x6)+parseInt(_0x110ddf(0xf1))/0x7*(-parseInt(_0x110ddf(0x11c))/0x8)+-parseInt(_0x110ddf(0x104))/0x9+parseInt(_0x110ddf(0xe9))/0xa*(parseInt(_0x110ddf(0x11a))/0xb);if(_0x247fa3===_0x527cd3)break;else _0x2e07f2['push'](_0x2e07f2['shift']());}catch(_0x659aa5){_0x2e07f2['push'](_0x2e07f2['shift']());}}}(a0_0x12ad,0x67326));const redisClient=require('./redis-client'),{logger}=require(a0_0x4c3c88(0x10e)),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x3fa95f=a0_0x4c3c88,_0x84d22e={'ZBaOD':_0x3fa95f(0xfe)},_0x1df159=_0x84d22e['ZBaOD'][_0x3fa95f(0x12f)]('|');let _0x2e05b6=0x0;while(!![]){switch(_0x1df159[_0x2e05b6++]){case'0':this['_strategy']=null;continue;case'1':this[_0x3fa95f(0xe3)]=null;continue;case'2':this[_0x3fa95f(0x124)]=null;continue;case'3':this['_enabled']=null;continue;case'4':this['_retryCount']=null;continue;case'5':this[_0x3fa95f(0x125)]=null;continue;case'6':this['_initialized']=![];continue;case'7':this[_0x3fa95f(0x119)]=null;continue;}break;}}[a0_0x4c3c88(0x10b)](){const _0xba00e1=a0_0x4c3c88,_0x147281={'OTzND':_0xba00e1(0xf3),'mLpHw':_0xba00e1(0xec),'hYNVX':function(_0x46a49b,_0x37c94e,_0x4f7bc2){return _0x46a49b(_0x37c94e,_0x4f7bc2);},'qLJCN':'retry','VctWG':function(_0x3446ce,_0x2cb58a,_0x384e95){return _0x3446ce(_0x2cb58a,_0x384e95);}},_0x3d985d='0|5|3|6|8|7|4|1|2'['split']('|');let _0x28277b=0x0;while(!![]){switch(_0x3d985d[_0x28277b++]){case'0':this[_0xba00e1(0x124)]=_0x147281['OTzND'];continue;case'1':this['_initialized']=!![];continue;case'2':logger['info']({'event':_0x147281['mLpHw'],'enabled':this['_enabled'],'strategy':this['_strategy'],'ttl':this['_defaultTTL'],'retryCount':this['_retryCount'],'retryDelay':this[_0xba00e1(0xe3)],'workerId':this['_workerId']},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+',\x20strategy:\x20'+this['_strategy']);continue;case'3':this['_defaultTTL']=_0x147281['hYNVX'](parseInt,process[_0xba00e1(0x139)][_0xba00e1(0xeb)],0xa)||0xa;continue;case'4':this['_workerId']='worker-'+process['pid'];continue;case'5':this['_enabled']=process['env'][_0xba00e1(0xfa)]==='true';continue;case'6':this['_retryCount']=parseInt(process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3;continue;case'7':this[_0xba00e1(0xed)]=process[_0xba00e1(0x139)][_0xba00e1(0x129)]||_0x147281[_0xba00e1(0x12a)];continue;case'8':this['_retryDelay']=_0x147281['VctWG'](parseInt,process['env'][_0xba00e1(0x10c)],0xa)||0x64;continue;}break;}}[a0_0x4c3c88(0x115)](){const _0x5f521d=a0_0x4c3c88;!this[_0x5f521d(0x132)]&&this[_0x5f521d(0x10b)]();}get[a0_0x4c3c88(0x116)](){const _0x543450=a0_0x4c3c88;return this['_ensureInitialized'](),this[_0x543450(0x124)];}get[a0_0x4c3c88(0xf7)](){const _0x77b1eb=a0_0x4c3c88;return this[_0x77b1eb(0x115)](),this['_enabled'];}get[a0_0x4c3c88(0xef)](){const _0x4b1049=a0_0x4c3c88;return this[_0x4b1049(0x115)](),this['_defaultTTL'];}get[a0_0x4c3c88(0x127)](){const _0x20e0c7=a0_0x4c3c88;return this[_0x20e0c7(0x115)](),this[_0x20e0c7(0xe0)];}get[a0_0x4c3c88(0x138)](){const _0xd4c410=a0_0x4c3c88;return this['_ensureInitialized'](),this[_0xd4c410(0xe3)];}get['strategy'](){const _0x2d7c02=a0_0x4c3c88;return this[_0x2d7c02(0x115)](),this[_0x2d7c02(0xed)];}get[a0_0x4c3c88(0x126)](){const _0xdb343c=a0_0x4c3c88;return this[_0xdb343c(0x115)](),this['_workerId'];}[a0_0x4c3c88(0x130)](_0x3fe421){const _0x3b2768=a0_0x4c3c88,{module:_0xf3533,endpoint:_0xb2b8dc,lockType:_0x33a925,recordId:_0x31dad2}=_0x3fe421;if(_0x31dad2)return''+this[_0x3b2768(0x116)]+_0xf3533+':'+_0xb2b8dc+':'+_0x31dad2+':'+_0x33a925;return''+this['prefix']+_0xf3533+':'+_0xb2b8dc+':'+_0x33a925;}['generateLockValue'](){const _0x45c5b8=a0_0x4c3c88;return this['workerId']+':'+uuidv4()+':'+Date[_0x45c5b8(0x12d)]();}async[a0_0x4c3c88(0x118)](_0x596f72){const _0x21e8f7=a0_0x4c3c88,_0x483be0={'NWtiO':_0x21e8f7(0xfd),'IiNRd':_0x21e8f7(0x101),'UWxGx':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','exMqr':'READ\x20lock\x20acquire\x20timeout','NUlzm':_0x21e8f7(0xee)};if(!this[_0x21e8f7(0xf7)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x504ff6=this[_0x21e8f7(0x130)]({..._0x596f72,'lockType':_0x483be0[_0x21e8f7(0x120)]}),_0x394b9a=this['buildLockKey']({..._0x596f72,'lockType':'read'}),_0x2685b3=this['generateLockValue']();try{const _0xb8d73e=redisClient[_0x21e8f7(0x11b)]();for(let _0x14509e=0x0;_0x14509e<this[_0x21e8f7(0x127)];_0x14509e++){const _0x30bbae=await _0xb8d73e['get'](_0x504ff6);if(!_0x30bbae){await _0xb8d73e['incr'](_0x394b9a),await _0xb8d73e['expire'](_0x394b9a,this['defaultTTL']);const _0x435613=_0x394b9a+':'+_0x2685b3;return await _0xb8d73e['setex'](_0x435613,this['defaultTTL'],_0x2685b3),logger['debug']({'event':_0x21e8f7(0x123),'key':_0x394b9a,'value':_0x2685b3},_0x483be0['IiNRd']),{'success':!![],'lockValue':_0x2685b3,'lockKey':_0x435613};}logger['debug']({'event':'read_lock_waiting','writeKey':_0x504ff6,'attempt':_0x14509e},_0x483be0['UWxGx']),await this['sleep'](this[_0x21e8f7(0x138)]*Math['pow'](0x2,_0x14509e));}return logger['warn']({'event':_0x21e8f7(0x105),'key':_0x394b9a},_0x483be0[_0x21e8f7(0x12e)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x1f2f8d){return logger['error']({'event':_0x21e8f7(0xf6),'error':_0x1f2f8d['message']},_0x483be0[_0x21e8f7(0x108)]),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x3f10a1){const _0xe3f191=a0_0x4c3c88,_0x2d846d={'FwFBA':_0xe3f191(0xfd),'gWKdX':_0xe3f191(0xe8),'SLWSR':'reject','EIQiy':_0xe3f191(0x10d),'HeXbQ':_0xe3f191(0x112),'zOiQH':function(_0x345250,_0x15b5d9){return _0x345250(_0x15b5d9);},'rFuXa':function(_0x2a3c03,_0x384ef6){return _0x2a3c03===_0x384ef6;},'mviBM':'write_lock_acquired','dnwFs':_0xe3f191(0xfc),'lQBrU':_0xe3f191(0xdf),'XWBBi':function(_0x28c195,_0x8469dd){return _0x28c195*_0x8469dd;},'iIooK':'write_lock_timeout','emQYY':'WRITE\x20lock\x20acquire\x20timeout','vGOWC':_0xe3f191(0xf4)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x476cc3=this['buildLockKey']({..._0x3f10a1,'lockType':_0x2d846d[_0xe3f191(0x11f)]}),_0x384a64=this['buildLockKey']({..._0x3f10a1,'lockType':_0x2d846d[_0xe3f191(0x137)]}),_0x1b22cb=this['generateLockValue']();try{const _0x41383f=redisClient[_0xe3f191(0x11b)]();if(this['strategy']===_0x2d846d['SLWSR']){const _0x2fb38e=await _0x41383f['set'](_0x476cc3,_0x1b22cb,'EX',this['defaultTTL'],'NX');if(_0x2fb38e==='OK')return logger[_0xe3f191(0x12c)]({'event':'write_lock_acquired','key':_0x476cc3,'value':_0x1b22cb,'strategy':'reject'},_0x2d846d['EIQiy']),{'success':!![],'lockValue':_0x1b22cb,'lockKey':_0x476cc3};return logger[_0xe3f191(0x12c)]({'event':_0x2d846d[_0xe3f191(0xf9)],'key':_0x476cc3},_0xe3f191(0xf0)),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x232b0b=0x0;_0x232b0b<this[_0xe3f191(0x127)];_0x232b0b++){const [_0x346e60,_0x34d3c2]=await Promise['all']([_0x41383f[_0xe3f191(0x122)](_0x384a64),_0x41383f[_0xe3f191(0x122)](_0x476cc3)]);if(!_0x34d3c2&&(!_0x346e60||_0x2d846d['zOiQH'](parseInt,_0x346e60)===0x0)){const _0x523736=await _0x41383f['set'](_0x476cc3,_0x1b22cb,'EX',this[_0xe3f191(0xef)],'NX');if(_0x2d846d[_0xe3f191(0x10f)](_0x523736,'OK'))return logger['debug']({'event':_0x2d846d['mviBM'],'key':_0x476cc3,'value':_0x1b22cb,'strategy':_0x2d846d['dnwFs']},_0xe3f191(0x111)),{'success':!![],'lockValue':_0x1b22cb,'lockKey':_0x476cc3};}logger[_0xe3f191(0x12c)]({'event':_0x2d846d['lQBrU'],'writeKey':_0x476cc3,'readCount':_0x346e60,'attempt':_0x232b0b},_0xe3f191(0x109)),await this[_0xe3f191(0x131)](_0x2d846d['XWBBi'](this[_0xe3f191(0x138)],Math[_0xe3f191(0xea)](0x2,_0x232b0b)));}return logger[_0xe3f191(0x107)]({'event':_0x2d846d[_0xe3f191(0x110)],'key':_0x476cc3},_0x2d846d['emQYY']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x3a0d4a){return logger[_0xe3f191(0xfb)]({'event':_0xe3f191(0x134),'error':_0x3a0d4a[_0xe3f191(0xe7)]},_0x2d846d[_0xe3f191(0xf8)]),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x4eff9e,_0x5d86cb){const _0x10384f=a0_0x4c3c88,_0x417dcc={'UinST':_0x10384f(0x121),'YbFBa':_0x10384f(0x136),'uuCqL':function(_0x7832e1,_0x256162){return _0x7832e1===_0x256162;},'RBBxW':_0x10384f(0x117),'VFfCu':'Cannot\x20release\x20lock\x20-\x20not\x20owner','TuQWI':'lock_release_error','lcIET':'Lock\x20release\x20error'};if(!this['enabled']||!_0x4eff9e)return!![];try{const _0x183d4a=redisClient['getClient']();if(_0x4eff9e['includes'](':read:')){await _0x183d4a[_0x10384f(0x100)](_0x4eff9e);const _0x172bef=_0x4eff9e['substring'](0x0,_0x4eff9e['lastIndexOf'](':')),_0x11bca8=await _0x183d4a[_0x10384f(0x122)](_0x172bef);return _0x11bca8&&parseInt(_0x11bca8)>0x0&&await _0x183d4a[_0x10384f(0x11e)](_0x172bef),logger['debug']({'event':_0x417dcc['UinST'],'key':_0x4eff9e},_0x417dcc['YbFBa']),!![];}const _0x62907=_0x10384f(0x102),_0x42a46c=await _0x183d4a['eval'](_0x62907,0x1,_0x4eff9e,_0x5d86cb);if(_0x417dcc['uuCqL'](_0x42a46c,0x1))return logger[_0x10384f(0x12c)]({'event':_0x417dcc[_0x10384f(0x114)],'key':_0x4eff9e},_0x10384f(0x12b)),!![];return logger[_0x10384f(0x107)]({'event':_0x10384f(0x106),'key':_0x4eff9e},_0x417dcc['VFfCu']),![];}catch(_0x471b3c){return logger[_0x10384f(0xfb)]({'event':_0x417dcc[_0x10384f(0x133)],'key':_0x4eff9e,'error':_0x471b3c['message']},_0x417dcc[_0x10384f(0x10a)]),![];}}async['extendLock'](_0x32139f,_0x550b3f,_0x32986c=null){const _0x527e3f=a0_0x4c3c88,_0x4b589d={'zspqs':_0x527e3f(0xe6)};if(!this[_0x527e3f(0xf7)]||!_0x32139f)return!![];try{const _0x117249=redisClient['getClient'](),_0x51cd9e='\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',_0x18bc7e=await _0x117249[_0x527e3f(0x13a)](_0x51cd9e,0x1,_0x32139f,_0x550b3f,_0x32986c||this['defaultTTL']);if(_0x18bc7e===0x1)return logger[_0x527e3f(0x12c)]({'event':_0x527e3f(0xe4),'key':_0x32139f,'ttl':_0x32986c||this[_0x527e3f(0xef)]},_0x527e3f(0x103)),!![];return![];}catch(_0x9a68b2){return logger['error']({'event':_0x4b589d[_0x527e3f(0xe5)],'key':_0x32139f,'error':_0x9a68b2[_0x527e3f(0xe7)]},'Lock\x20extend\x20error'),![];}}[a0_0x4c3c88(0x128)](){const _0x379772=a0_0x4c3c88;return this[_0x379772(0xf7)];}['sleep'](_0x2c399){return new Promise(_0x31050d=>setTimeout(_0x31050d,_0x2c399));}async['getLockInfo'](_0x1cf733){const _0x2e3655=a0_0x4c3c88,_0x3a1bf3={'iXQrY':_0x2e3655(0xfd),'lVHsy':'read'};if(!this['enabled'])return{'enabled':![]};try{const _0x739569=redisClient[_0x2e3655(0x11b)](),_0x53e19a=this[_0x2e3655(0x130)]({..._0x1cf733,'lockType':_0x3a1bf3[_0x2e3655(0xff)]}),_0x55ba89=this[_0x2e3655(0x130)]({..._0x1cf733,'lockType':_0x3a1bf3[_0x2e3655(0xe1)]}),[_0x5c7992,_0x57d089]=await Promise['all']([_0x739569[_0x2e3655(0x122)](_0x53e19a),_0x739569[_0x2e3655(0x122)](_0x55ba89)]);return{'enabled':!![],'writeLock':_0x5c7992||null,'readCount':parseInt(_0x57d089)||0x0,'writeKey':_0x53e19a,'readKey':_0x55ba89};}catch(_0x24caa9){return{'enabled':!![],'error':_0x24caa9['message']};}}}function a0_0x907d(_0x4fe94f,_0x3f003b){_0x4fe94f=_0x4fe94f-0xde;const _0x12adf9=a0_0x12ad();let _0x907dbc=_0x12adf9[_0x4fe94f];if(a0_0x907d['HGfNaL']===undefined){var _0x488dcb=function(_0x557a1a){const _0x445cd5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x39fc8a='',_0x20afaf='';for(let _0x206af9=0x0,_0x2772d8,_0x3fef2c,_0x1a4fb4=0x0;_0x3fef2c=_0x557a1a['charAt'](_0x1a4fb4++);~_0x3fef2c&&(_0x2772d8=_0x206af9%0x4?_0x2772d8*0x40+_0x3fef2c:_0x3fef2c,_0x206af9++%0x4)?_0x39fc8a+=String['fromCharCode'](0xff&_0x2772d8>>(-0x2*_0x206af9&0x6)):0x0){_0x3fef2c=_0x445cd5['indexOf'](_0x3fef2c);}for(let _0x11f940=0x0,_0x510e20=_0x39fc8a['length'];_0x11f940<_0x510e20;_0x11f940++){_0x20afaf+='%'+('00'+_0x39fc8a['charCodeAt'](_0x11f940)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x20afaf);};a0_0x907d['dwPYKw']=_0x488dcb,a0_0x907d['xXcvXs']={},a0_0x907d['HGfNaL']=!![];}const _0x3f8345=_0x12adf9[0x0],_0x11bacc=_0x4fe94f+_0x3f8345,_0x3b52e7=a0_0x907d['xXcvXs'][_0x11bacc];return!_0x3b52e7?(_0x907dbc=a0_0x907d['dwPYKw'](_0x907dbc),a0_0x907d['xXcvXs'][_0x11bacc]=_0x907dbc):_0x907dbc=_0x3b52e7,_0x907dbc;}module[a0_0x4c3c88(0xe2)]=new LockManager();
|
package/src/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x1d13(){const _0x7025de=['C3rHy2S','tK9erv9ftLy','Cgf0Aa','zgvIDwC','Bwv0Ag9K','zhvYyxrPB25nCW','reiGuxvLCNK','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','wgnhqwG','DNvHt0C','t1zIvgG','CgLK','ChjVAMvJDa','C29Tzq','AgjNsuC','Dg9Rzw4','D2fYBG','ChjPDMf0zwTLEq','Dhj1zq','wKrQrgi','mta2ntK2nLbzDfjqua','yNvWDwO','y29UzMLNrMLSzq','zgjFDhjHBNnHy3rPB24','wNzoA2O','mtqWnwDeC3fjDG','Dg9vChbLCKnHC2u','C3rHDhvZq29Kzq','yxbPs2v5','EfjNEhy','C3rYAw5N','zMf0ywW','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','q2PzB2O','Dg9ju09tDhjPBMC','ndbfAxDquK8','A2Ptse4','Ec1Yzxf1zxn0lwLK','rxjYB3i6ia','ENHmrfO','yxv0Ag9YAxPHDgLVBG','zxjYB3i','ic0G','tM9Kzs5QCW','B2jQzwn0','sLDux1nfq1jfva','vfjbtLnbq1rjt05FuK9mtejbq0S','tgDuuui','zgjFCxvLCNK','txbYCgS','quXurvi','suTlzwO','C3rHDhvZ','tuPpEgS','r3nIELa','B3rW','A2v5CW','zw5KCg9PBNrFCMvNAxn0zxjLza','AxnVvgLTzq','C2vJCMv0','C3vIC3rYAw5N','Ahr0Cf9LCNjVCG','Ce1RAg0','CMvWzwf0','quztwMK','u2vYDMvYihn0yxj0Aw5NoIa','C2vYDMLJzuLUzM8','z2nXvKi','CgfKrw5K','w1jfrefdveveoMHHC2HD','Dg9gAxHLza','BwvTB3j5vxnHz2u','DxbOufK','AxntBg93','BwvZC2fNzq','mte5mda1nxfPtND3yW','nJC4ogrcwMTNza','C3rHCNrZv2L0Aa','Ahr0Cf9Yzxf1zxn0','y0TUsgK','w1jfrefdvevexq','AgvHzgvYCW','CgLU','DhLWzq','ig9UihbVCNqG','Bg9N','C2HZENm','DhjPBq','Cg9YDa','wK11D3O','s2vmExC','mti3mdG1otbPrw15Che','rermx0fmvevs','w1jfrefdveveoNrVA2vUxq','wejfA2W','C3rYAw5NAwz5','u1fmx0Xpr19qqvjbtvm','su5trvju','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','E21Zz30','C2vYDMvYx3n0yxj0Aw5N','y29Kzq','yxbPA2v5','mZq0mZqXBvDLwhf1','sfruuca','yxbPx2TLEq','zMfSC2u','CLLKExm','CMvZDgzVCMDL','Ahj0Aw1L','y3f1r3C','BxmP','Ag9ZDa','ChjVAMvJDf9SB2fKzwq','yMfZzvvYBa','DxnLCG','BKLcqKC','AgvHBhrOq2HLy2S','DvrPB3O','uhjVy2vZCYbxyxjUAw5NoIa','CvnLCMy','Dg9mB3DLCKnHC2u','ChDK','tK5bELq','nJK2mtu5s3vMyKD5','rgf0ywjHC2u6ia','BwTKAxjtEw5J','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','iokvKqRILzeGienVBMzPzYaGicaGidOG','CgLUBY1WCMv0DhK','y2DoBvO','CgfYyw1Z','rxjYB3i','zgvMyxvSDa','AMj4vg4','y29UBMvJDgLVBG','zgf0ywjHC2u','y3jLyxrLv3jPDgvtDhjLyw0','uMn5rgi','C3rKvgLTzuz1BMn0Aw9UCW','zK56Cxe','wKTyAKW','Aw5MBW','icbizwfSDgG6ia','icbvuKW6icaGia','EuTIDhC','zw52','ChjPDMf0zv9RzxK','D3jPDgu','Aw5JBhvKzxm','re51qve','BgvUz3rO','rKDus2q','ywnJzxnZx3rVA2vU','u1fmx0Xpr19tte9xx1riuKvtse9mra','y3jLzgL0x2nHCMq','sw50zxjUywWGC2vYDMvYigvYCM9Y','sxbKq2G','zxHPC3rZu3LUyW','n0XfzxbfqG','BwfW','CgfZC3DVCMq','sxfzDNG','u3zVBK4','vvbeqvrf','rfjpua','oI8V','C3rKu2vYAwfSAxPLCNm','zgf0ywjHC2vFy29UzMLN','CgLUBW','vfjbtLnbq1rjt05Fq09ntuLu','q1jjveLdquW','u0vsvKLdrv9oqu1f','zxHPDa','Bwf0y2G','DxnLCI1Hz2vUDa','rwzPwg8','CMvWBgfJzq','rMDHDK8','q1jfqvrf','uhrKEem','Bw9KDwXL','BMfTzq','ueTyq3a','q09ntuLu','AM9PBG','nda3mda2vMrJzNjf','CKfotLm','DxjS'];a0_0x1d13=function(){return _0x7025de;};return a0_0x1d13();}const a0_0x1e29b7=a0_0x218a;(function(_0xe70e46,_0x16321d){const _0x1be491=a0_0x218a,_0x8f58c1=_0xe70e46();while(!![]){try{const _0x234ac1=parseInt(_0x1be491(0x181))/0x1+-parseInt(_0x1be491(0x1d4))/0x2+parseInt(_0x1be491(0x165))/0x3+parseInt(_0x1be491(0x166))/0x4*(parseInt(_0x1be491(0x1f1))/0x5)+-parseInt(_0x1be491(0x1ec))/0x6*(-parseInt(_0x1be491(0x1b9))/0x7)+-parseInt(_0x1be491(0x1fb))/0x8*(-parseInt(_0x1be491(0x196))/0x9)+-parseInt(_0x1be491(0x175))/0xa;if(_0x234ac1===_0x16321d)break;else _0x8f58c1['push'](_0x8f58c1['shift']());}catch(_0x5e811a){_0x8f58c1['push'](_0x8f58c1['shift']());}}}(a0_0x1d13,0x4b2e1));const pino=require(a0_0x1e29b7(0x1c3)),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName=a0_0x1e29b7(0x186),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':a0_0x1e29b7(0x17d),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env'][a0_0x1e29b7(0x1d8)]!=='production',logLevel=process['env']['LOG_LEVEL']||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x1e29b7(0x19b),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x1e29b7(0x1ac)]['APP_VERSION']||'1.0.5','env':process[a0_0x1e29b7(0x1ac)][a0_0x1e29b7(0x1d8)]||'development'},'timestamp':pino[a0_0x1e29b7(0x1a5)][a0_0x1e29b7(0x154)],'redact':{'paths':['req.headers.authorization',a0_0x1e29b7(0x1df),a0_0x1e29b7(0x1bb),a0_0x1e29b7(0x1e7),'apiKey','DB_PASSWORD',a0_0x1e29b7(0x205)],'censor':a0_0x1e29b7(0x16a)},'serializers':{'req':_0x356ec4=>({'id':_0x356ec4['id'],'method':_0x356ec4['method'],'url':_0x356ec4['url'],'path':_0x356ec4[a0_0x1e29b7(0x1d9)],'remoteAddress':_0x356ec4['ip']||_0x356ec4['connection']?.['remoteAddress']}),'res':_0x8cd47f=>({'statusCode':_0x8cd47f['statusCode'],'headers':_0x8cd47f['getHeaders']?.()}),'err':pino[a0_0x1e29b7(0x1c1)]['err']}});function initFileLogging(){const _0x70ee99=a0_0x1e29b7,_0x5c269b={'ORQMI':_0x70ee99(0x1ea),'pMkhm':_0x70ee99(0x19f),'xRgxv':'restforge','ACTAs':'debug','hbgIG':'app.log','kduLO':'file_logging_enabled','uTioz':'error.log'};if(fileLoggingInitialized)return;logToFile=process['env']['LOG_TO_FILE']===_0x5c269b['ORQMI'];const _0x40dc93=process['env']['RESTFORGE_PROJECT_NAME']||_0x5c269b[_0x70ee99(0x158)];logDir=process['env']['LOG_DIR']||'./logs/'+_0x40dc93,serviceName=process['env'][_0x70ee99(0x1c6)]||_0x5c269b[_0x70ee99(0x1f5)],sqlLogEnabled=process[_0x70ee99(0x1ac)]['SQL_LOG_ENABLED']===_0x70ee99(0x1ea),sqlLogLevel=process[_0x70ee99(0x1ac)]['SQL_LOG_LEVEL']||_0x5c269b['ACTAs'],sqlLogParams=process[_0x70ee99(0x1ac)][_0x70ee99(0x17a)]!==_0x70ee99(0x184),sqlLogSlowThreshold=parseInt(process[_0x70ee99(0x1ac)][_0x70ee99(0x1b4)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x9555b4=path['resolve'](process['cwd'](),logDir);try{!fs[_0x70ee99(0x1b8)](_0x9555b4)&&fs[_0x70ee99(0x198)](_0x9555b4,{'recursive':!![]});}catch(_0x45362c){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x9555b4+':',_0x45362c[_0x70ee99(0x164)]),fileLoggingInitialized=!![];return;}const _0x18c652=path[_0x70ee99(0x1d3)](_0x9555b4,_0x5c269b[_0x70ee99(0x1e6)]),_0x3d206f=path[_0x70ee99(0x1d3)](_0x9555b4,'error.log');try{appLogStream=fs[_0x70ee99(0x1a3)](_0x18c652,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x3d206f,{'flags':'a'}),fileLoggingInitialized=!![];const _0x5831a4={'event':_0x5c269b['kduLO'],'logDir':_0x9555b4,'files':['app.log',_0x5c269b[_0x70ee99(0x190)]]},_0xc8abd9=_0x70ee99(0x1de)+_0x9555b4;logger['info'](_0x5831a4,_0xc8abd9),writeToFileLog({..._0x5831a4,'level':_0x70ee99(0x1a8),'msg':_0xc8abd9,'time':new Date()['toISOString']()},_0x70ee99(0x1a8));}catch(_0x336b34){console[_0x70ee99(0x201)]('Failed\x20to\x20create\x20log\x20streams:',_0x336b34['message']),fileLoggingInitialized=!![];}}function a0_0x218a(_0x3bc436,_0x8d70f6){_0x3bc436=_0x3bc436-0x14e;const _0x1d1320=a0_0x1d13();let _0x218a26=_0x1d1320[_0x3bc436];if(a0_0x218a['PifpFm']===undefined){var _0x535b25=function(_0x12e866){const _0x41e70a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x465295='',_0x5d06da='';for(let _0x20e1d0=0x0,_0x4cb4f1,_0x518965,_0x3f062a=0x0;_0x518965=_0x12e866['charAt'](_0x3f062a++);~_0x518965&&(_0x4cb4f1=_0x20e1d0%0x4?_0x4cb4f1*0x40+_0x518965:_0x518965,_0x20e1d0++%0x4)?_0x465295+=String['fromCharCode'](0xff&_0x4cb4f1>>(-0x2*_0x20e1d0&0x6)):0x0){_0x518965=_0x41e70a['indexOf'](_0x518965);}for(let _0x527233=0x0,_0x5c398b=_0x465295['length'];_0x527233<_0x5c398b;_0x527233++){_0x5d06da+='%'+('00'+_0x465295['charCodeAt'](_0x527233)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5d06da);};a0_0x218a['QAmfXl']=_0x535b25,a0_0x218a['byfoyE']={},a0_0x218a['PifpFm']=!![];}const _0x4ae19e=_0x1d1320[0x0],_0x3ad07e=_0x3bc436+_0x4ae19e,_0x180fa2=a0_0x218a['byfoyE'][_0x3ad07e];return!_0x180fa2?(_0x218a26=a0_0x218a['QAmfXl'](_0x218a26),a0_0x218a['byfoyE'][_0x3ad07e]=_0x218a26):_0x218a26=_0x180fa2,_0x218a26;}function writeToFileLog(_0x401b8e,_0x21456d){const _0x1ac2bd=a0_0x1e29b7,_0x1293ce={'Vpzyx':function(_0x21de34,_0x373530){return _0x21de34||_0x373530;},'XBEkl':function(_0x18a06d,_0x2e32c){return _0x18a06d===_0x2e32c;},'MGZJk':_0x1ac2bd(0x201),'LgTQB':function(_0x430787,_0xd36b33){return _0x430787===_0xd36b33;}};if(_0x1293ce['Vpzyx'](!logToFile,!appLogStream))return;const _0x26671c={'service':serviceName,..._0x401b8e},_0xe3d9b9=JSON[_0x1ac2bd(0x179)](_0x26671c)+'\x0a';appLogStream[_0x1ac2bd(0x1ae)](_0xe3d9b9),(_0x1293ce[_0x1ac2bd(0x178)](_0x21456d,_0x1293ce['MGZJk'])||_0x1293ce[_0x1ac2bd(0x207)](_0x21456d,_0x1ac2bd(0x1f7)))&&(errorLogStream&&errorLogStream['write'](_0xe3d9b9));}const createRequestLogger=(_0x47f4bd={})=>{return logger['child'](_0x47f4bd);},logServerStart=_0x5bbda8=>{const _0x4f7ea0=a0_0x1e29b7,_0x1a1cc9={'OrNLS':function(_0x362948,_0x5b4c20){return _0x362948-_0x5b4c20;},'KeLyw':function(_0x877c21,_0x4bbc20){return _0x877c21(_0x4bbc20);},'gOarv':'ACTIVE','ZvNkj':_0x4f7ea0(0x17e)},_0x34755b='RESTFORGE\x20RUNTIME\x20SERVER',_0x2c71dc=Math['max'](0x0,0x37-_0x34755b['length']),_0x22aa25=Math['floor'](_0x2c71dc/0x2),_0x5e5e86=_0x1a1cc9['OrNLS'](_0x2c71dc,_0x22aa25),_0x589d3c='║'+'\x20'['repeat'](_0x22aa25)+_0x34755b+'\x20'[_0x4f7ea0(0x159)](_0x5e5e86)+'║',_0x5b0e93='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x589d3c+_0x4f7ea0(0x199)+(_0x5bbda8['environment']||_0x4f7ea0(0x203))['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x5bbda8[_0x4f7ea0(0x1e4)]||'N/A')[_0x4f7ea0(0x15e)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+_0x1a1cc9[_0x4f7ea0(0x174)](String,_0x5bbda8['port']||0xbb8)['padEnd'](0x26)+_0x4f7ea0(0x19a)+(_0x5bbda8['configFile']||'Default')['padEnd'](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x5bbda8[_0x4f7ea0(0x1f4)]?_0x1a1cc9['gOarv']:'NOT\x20ACTIVE')['padEnd'](0x26)+_0x4f7ea0(0x17c);console[_0x4f7ea0(0x16f)](_0x5b0e93);const _0xb7b275={'event':_0x1a1cc9[_0x4f7ea0(0x1f0)],'project':_0x5bbda8['project'],'port':_0x5bbda8['port'],'config':_0x5bbda8[_0x4f7ea0(0x1ee)],'apiKeyEnabled':!!_0x5bbda8['apiKey']};logger[_0x4f7ea0(0x1a8)](_0xb7b275),writeToFileLog({..._0xb7b275,'level':_0x4f7ea0(0x1a8),'msg':_0x4f7ea0(0x15b)+_0x5bbda8[_0x4f7ea0(0x1e4)]+_0x4f7ea0(0x16e)+_0x5bbda8[_0x4f7ea0(0x172)],'time':new Date()['toISOString']()},'info');},logServerReady=_0x21eb97=>{const _0x2ac8b1=a0_0x1e29b7,_0x433d7e={'ifKJz':'server_ready','hYXhc':_0x2ac8b1(0x1a8)},_0x1de4ac={'event':_0x433d7e['ifKJz'],'port':_0x21eb97['port'],'module':_0x21eb97[_0x2ac8b1(0x1cf)],'healthCheck':_0x21eb97['healthCheck'],'serviceInfo':_0x21eb97[_0x2ac8b1(0x15c)],'baseUrl':_0x21eb97[_0x2ac8b1(0x18c)]},_0x2263d2='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x21eb97[_0x2ac8b1(0x172)];logger[_0x2ac8b1(0x1a8)](_0x1de4ac,_0x2263d2),writeToFileLog({..._0x1de4ac,'level':_0x433d7e['hYXhc'],'msg':_0x2263d2,'time':new Date()['toISOString']()},_0x433d7e['hYXhc']),_0x21eb97['healthCheck']&&logger[_0x2ac8b1(0x1a8)](_0x2ac8b1(0x1a9)+_0x21eb97[_0x2ac8b1(0x18f)]),_0x21eb97['serviceInfo']&&logger[_0x2ac8b1(0x1a8)]('\x20\x20Info:\x20\x20\x20'+_0x21eb97[_0x2ac8b1(0x15c)]),_0x21eb97[_0x2ac8b1(0x18c)]&&logger['info'](_0x2ac8b1(0x1aa)+_0x21eb97[_0x2ac8b1(0x18c)]);},logProjectLoaded=(_0x35c751,_0x159b90)=>{const _0x5c193c=a0_0x1e29b7,_0x374ede={'DiuFz':_0x5c193c(0x18b),'ulDkm':function(_0x4afe33,_0x3455d4,_0x90e7f4){return _0x4afe33(_0x3455d4,_0x90e7f4);}},_0x41d1f5={'event':_0x374ede['DiuFz'],'project':_0x35c751,'path':_0x159b90},_0x1e3716='[OK]\x20Project\x20loaded:\x20'+_0x35c751;logger[_0x5c193c(0x1a8)](_0x41d1f5,_0x1e3716),_0x374ede['ulDkm'](writeToFileLog,{..._0x41d1f5,'level':'info','msg':_0x1e3716,'time':new Date()['toISOString']()},'info');},logEndpointRegistered=(_0x3a2bba,_0x3074d0)=>{const _0x2b8e3b=a0_0x1e29b7,_0x2dbe88={'sqErK':_0x2b8e3b(0x153)},_0x55bfda={'event':_0x2dbe88['sqErK'],'endpoint':_0x3a2bba,'route':_0x3074d0},_0x5169ec='\x20\x20→\x20'+_0x3a2bba+':\x20'+_0x3074d0;logger['debug'](_0x55bfda,_0x5169ec),writeToFileLog({..._0x55bfda,'level':'debug','msg':_0x5169ec,'time':new Date()['toISOString']()},_0x2b8e3b(0x1da));},logDatabaseConfig=_0x57434a=>{const _0x5119fd=a0_0x1e29b7,_0x2e3fd4={'xsciL':_0x5119fd(0x1c2),'zaLlP':function(_0x3e07cf,_0x2a9d47,_0x1e3d80){return _0x3e07cf(_0x2a9d47,_0x1e3d80);}},_0x334841={'event':_0x2e3fd4['xsciL'],'host':_0x57434a[_0x5119fd(0x18a)],'port':_0x57434a['port'],'database':_0x57434a[_0x5119fd(0x1a2)],'type':_0x57434a[_0x5119fd(0x16d)],'user':_0x57434a[_0x5119fd(0x18d)]},_0x5d10e3=_0x5119fd(0x197)+_0x57434a['type']+_0x5119fd(0x1c0)+_0x57434a[_0x5119fd(0x18a)]+':'+_0x57434a[_0x5119fd(0x172)]+'/'+_0x57434a[_0x5119fd(0x1a2)];logger['debug'](_0x334841,_0x5d10e3),_0x2e3fd4['zaLlP'](writeToFileLog,{..._0x334841,'level':'debug','msg':_0x5d10e3,'time':new Date()['toISOString']()},_0x5119fd(0x1da));},logRequest=(_0x42ba30,_0x284304,_0x103ce2)=>{const _0x4272b8=a0_0x1e29b7,_0x43120d={'IKKej':_0x4272b8(0x168),'BtitT':_0x4272b8(0x201),'ZKXjL':'warn','cKnHi':function(_0x8edf8b,_0x3083d9,_0x317249){return _0x8edf8b(_0x3083d9,_0x317249);}},_0x2793bc={'event':_0x43120d[_0x4272b8(0x20b)],'method':_0x42ba30[_0x4272b8(0x1db)],'path':_0x42ba30[_0x4272b8(0x1d9)],'statusCode':_0x284304[_0x4272b8(0x1f3)],'durationMs':_0x103ce2,'ip':_0x42ba30['ip']},_0x3755b8=_0x42ba30['method']+'\x20'+_0x42ba30[_0x4272b8(0x1d9)]+_0x4272b8(0x202)+_0x284304[_0x4272b8(0x1f3)]+'\x20('+_0x103ce2+'ms)';let _0x374610='info';if(_0x284304[_0x4272b8(0x1f3)]>=0x1f4)_0x374610=_0x43120d['BtitT'],logger[_0x4272b8(0x201)](_0x2793bc,_0x3755b8);else _0x284304['statusCode']>=0x190?(_0x374610=_0x43120d[_0x4272b8(0x1a7)],logger['warn'](_0x2793bc,_0x3755b8)):logger[_0x4272b8(0x1a8)](_0x2793bc,_0x3755b8);_0x43120d[_0x4272b8(0x169)](writeToFileLog,{..._0x2793bc,'level':_0x374610,'msg':_0x3755b8,'time':new Date()[_0x4272b8(0x1fa)]()},_0x374610);},SENSITIVE_PARAM_PATTERNS=['password','passwd',a0_0x1e29b7(0x194),'token',a0_0x1e29b7(0x1b3),'refresh_token','secret','api_secret',a0_0x1e29b7(0x180),a0_0x1e29b7(0x183),'credential','credentials',a0_0x1e29b7(0x16c),a0_0x1e29b7(0x151),a0_0x1e29b7(0x1ad),a0_0x1e29b7(0x1e9)],redactSensitiveParams=(_0x5aa80f,_0x5ab6e6)=>{const _0x3be1b3=a0_0x1e29b7,_0x34ecd9={'ZDjDb':_0x3be1b3(0x16a),'cFkgC':_0x3be1b3(0x1f6),'gcqVB':function(_0x2d627a,_0x13b5b6){return _0x2d627a>_0x13b5b6;},'FGTKd':function(_0x2b1cfd,_0x19af02){return _0x2b1cfd===_0x19af02;}};if(!_0x5aa80f||_0x34ecd9[_0x3be1b3(0x1b2)](_0x5aa80f[_0x3be1b3(0x1b1)],0x0))return _0x5aa80f;const _0x4ca9e0=_0x5ab6e6['toLowerCase'](),_0x565fde=_0x4ca9e0['match'](/\(([^)]+)\)\s*values/i);let _0x5c3c6a=[];_0x565fde&&(_0x5c3c6a=_0x565fde[0x1]['split'](',')[_0x3be1b3(0x1ba)](_0x6b5487=>_0x6b5487[_0x3be1b3(0x171)]()['toLowerCase']()));const _0x26c557=_0x4ca9e0['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x26c557){const _0x545f34=_0x26c557[0x1],_0x12e18a=_0x545f34[_0x3be1b3(0x1c8)](/(\w+)\s*=/g);_0x12e18a&&(_0x5c3c6a=_0x12e18a['map'](_0x450563=>_0x450563[_0x3be1b3(0x1cb)](/\s*=/,'')['trim']()[_0x3be1b3(0x193)]()));}return _0x5aa80f['map']((_0x3643f5,_0x35dbad)=>{const _0x59c791=_0x3be1b3;if(_0x5c3c6a[_0x35dbad]){const _0x4a1dac=_0x5c3c6a[_0x35dbad],_0x20c9ac=SENSITIVE_PARAM_PATTERNS[_0x59c791(0x1e5)](_0x4987c5=>_0x4a1dac[_0x59c791(0x1af)](_0x4987c5));if(_0x20c9ac)return _0x34ecd9[_0x59c791(0x1eb)];}if(typeof _0x3643f5===_0x34ecd9['cFkgC']&&_0x34ecd9[_0x59c791(0x15d)](_0x3643f5[_0x59c791(0x1b1)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x3643f5)&&_0x3643f5[_0x59c791(0x1af)]('.'))return _0x59c791(0x177);if(/^[a-fA-F0-9]{32,}$/['test'](_0x3643f5))return _0x59c791(0x15f);}return _0x3643f5;});},parseQueryMetadata=_0x538c46=>{const _0x24c48f=a0_0x1e29b7,_0x5e08b4={'CjYoj':'SELECT','kjSHN':_0x24c48f(0x1be),'zxLDZ':'DELETE','qxhch':_0x24c48f(0x1d2),'RcyDb':_0x24c48f(0x1c4),'Mqlrh':_0x24c48f(0x20a),'rANNS':_0x24c48f(0x176)},_0x521735=_0x538c46['trim'](),_0xea1642=_0x521735[_0x24c48f(0x1f2)]();let _0x2dc3aa='UNKNOWN',_0x2ffcbe=null;if(_0xea1642[_0x24c48f(0x167)](_0x5e08b4[_0x24c48f(0x1f9)])){_0x2dc3aa=_0x5e08b4[_0x24c48f(0x1f9)];const _0x1543d8=_0x521735[_0x24c48f(0x1c8)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2ffcbe=_0x1543d8?_0x1543d8[0x1]:null;}else{if(_0xea1642['startsWith'](_0x24c48f(0x17b))){_0x2dc3aa=_0x24c48f(0x17b);const _0x285c0e=_0x521735[_0x24c48f(0x1c8)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2ffcbe=_0x285c0e?_0x285c0e[0x1]:null;}else{if(_0xea1642['startsWith'](_0x24c48f(0x1be))){_0x2dc3aa=_0x5e08b4[_0x24c48f(0x1fc)];const _0x4e56fb=_0x521735['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2ffcbe=_0x4e56fb?_0x4e56fb[0x1]:null;}else{if(_0xea1642['startsWith'](_0x5e08b4[_0x24c48f(0x1ff)])){_0x2dc3aa=_0x5e08b4['zxLDZ'];const _0x22465c=_0x521735[_0x24c48f(0x1c8)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2ffcbe=_0x22465c?_0x22465c[0x1]:null;}else{if(_0xea1642['startsWith']('BEGIN')||_0xea1642['startsWith']('START\x20TRANSACTION'))_0x2dc3aa='TRANSACTION_BEGIN';else{if(_0xea1642['startsWith'](_0x5e08b4['qxhch']))_0x2dc3aa=_0x5e08b4[_0x24c48f(0x1a4)];else{if(_0xea1642['startsWith']('ROLLBACK'))_0x2dc3aa=_0x24c48f(0x206);else{if(_0xea1642[_0x24c48f(0x167)](_0x24c48f(0x1cd)))_0x2dc3aa='DDL_CREATE';else{if(_0xea1642['startsWith'](_0x5e08b4['Mqlrh']))_0x2dc3aa=_0x5e08b4[_0x24c48f(0x1d5)];else _0xea1642['startsWith'](_0x24c48f(0x1bf))&&(_0x2dc3aa='DDL_DROP');}}}}}}}}return{'type':_0x2dc3aa,'table':_0x2ffcbe};},startQueryTimer=()=>{const _0x3254a4={'FgavO':function(_0x21fb12,_0x3c3d0a){return _0x21fb12(_0x3c3d0a);},'sCjgr':function(_0xd8cd89,_0xd27ee7){return _0xd8cd89/_0xd27ee7;}},_0x3735bf=process['hrtime']();return()=>{const _0x5a6e7b=a0_0x218a,[_0x99064e,_0x5e20e8]=process[_0x5a6e7b(0x187)](_0x3735bf);return _0x3254a4[_0x5a6e7b(0x1cc)](parseFloat,(_0x99064e*0x3e8+_0x3254a4['sCjgr'](_0x5e20e8,0xf4240))[_0x5a6e7b(0x160)](0x2));};},logQuery=(_0x5a1419,_0x22e493=[],_0x5cdcd2={})=>{const _0x3ea4af=a0_0x1e29b7,_0x36064f={'SvonN':'postgresql','OVbTh':function(_0x424841,_0x111d4c){return _0x424841>_0x111d4c;},'tNJCY':function(_0x24f5ee,_0x5b7eaf){return _0x24f5ee!==_0x5b7eaf;},'wdKRB':function(_0x177009,_0x41fc05){return _0x177009>_0x41fc05;},'jbxTn':function(_0x3c171c,_0x4887f4){return _0x3c171c!==_0x4887f4;},'cFsEg':_0x3ea4af(0x1da),'VXmlx':'info'};if(!sqlLogEnabled){logger[_0x3ea4af(0x1da)]({'event':_0x3ea4af(0x208),'query':_0x5a1419[_0x3ea4af(0x156)](0x0,0xc8),'paramCount':_0x22e493[_0x3ea4af(0x1b1)]},_0x3ea4af(0x1dd));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x36064f[_0x3ea4af(0x1bd)]}=_0x5cdcd2,{type:_0x5d8412,table:_0x4a772e}=parseQueryMetadata(_0x5a1419),_0x153d89={'event':'sql_query','queryType':_0x5d8412,'table':_0x4a772e,'query':_0x5a1419,'paramCount':_0x22e493['length'],'dbType':dbType};sqlLogParams&&_0x36064f[_0x3ea4af(0x1e2)](_0x22e493[_0x3ea4af(0x1b1)],0x0)&&(_0x153d89[_0x3ea4af(0x19d)]=redactSensitiveParams(_0x22e493,_0x5a1419));_0x36064f['tNJCY'](duration,null)&&(_0x153d89[_0x3ea4af(0x1dc)]=duration,_0x153d89[_0x3ea4af(0x163)]=_0x36064f['wdKRB'](duration,sqlLogSlowThreshold));_0x36064f[_0x3ea4af(0x1a0)](rowsAffected,null)&&(_0x153d89['rowsAffected']=rowsAffected);const _0x20566a=_0x4a772e||'unknown';let _0x337b2f='['+_0x5d8412+']\x20'+_0x20566a;duration!==null&&(_0x337b2f+='\x20('+duration+_0x3ea4af(0x189));const _0x450190=duration!==null&&duration>sqlLogSlowThreshold;let _0x3d6608=_0x36064f['cFsEg'];if(_0x450190)_0x337b2f+='\x20[SLOW]',_0x3d6608='warn',logger['warn'](_0x153d89,_0x337b2f);else sqlLogLevel==='info'?(_0x3d6608=_0x36064f['VXmlx'],logger['info'](_0x153d89,_0x337b2f)):logger['debug'](_0x153d89,_0x337b2f);writeToFileLog({..._0x153d89,'level':_0x3d6608,'msg':_0x337b2f,'time':new Date()['toISOString']()},_0x3d6608);},logTransaction=(_0x368281,_0x308022)=>{const _0x46f765=a0_0x1e29b7,_0x5ecd7e={'MJOxk':_0x46f765(0x1da)},_0x272df2={'event':_0x46f765(0x1ef),'status':_0x368281,'queryCount':_0x308022},_0x18c255='Transaction\x20'+_0x368281;logger['debug'](_0x272df2,_0x18c255),writeToFileLog({..._0x272df2,'level':_0x5ecd7e[_0x46f765(0x14f)],'msg':_0x18c255,'time':new Date()[_0x46f765(0x1fa)]()},_0x46f765(0x1da));},redactObject=_0x19f693=>{const _0x565188=a0_0x1e29b7,_0x49d078={'shszs':function(_0x387e84,_0x167c7e){return _0x387e84!==_0x167c7e;},'PKXCp':_0x565188(0x204),'bupuj':_0x565188(0x1bb),'fNzqq':_0x565188(0x155),'PvcHO':_0x565188(0x200),'DNuAQ':'creditcard','nIBBG':_0x565188(0x1b5),'rKLQL':'cvv','cgNmZ':'refresh_token','rYdys':function(_0x52db60,_0x39c7b8){return _0x52db60(_0x39c7b8);}};if(!_0x19f693||_0x49d078[_0x565188(0x170)](typeof _0x19f693,_0x49d078['PKXCp']))return _0x19f693;const _0x14ad24=[_0x49d078[_0x565188(0x1ed)],'passwd',_0x565188(0x194),_0x565188(0x1e7),_0x49d078[_0x565188(0x1a6)],_0x565188(0x180),'api_key',_0x49d078['PvcHO'],_0x49d078[_0x565188(0x1b0)],_0x49d078[_0x565188(0x18e)],_0x49d078['rKLQL'],'ssn','pin',_0x565188(0x1ad),_0x565188(0x1e9),_0x49d078[_0x565188(0x19c)],_0x565188(0x1b3)],_0x1f9561=Array['isArray'](_0x19f693)?[..._0x19f693]:{..._0x19f693};for(const _0x38e3a5 of Object[_0x565188(0x152)](_0x1f9561)){const _0x2aaf37=_0x38e3a5['toLowerCase']();if(_0x14ad24['some'](_0x688e0e=>_0x2aaf37[_0x565188(0x1af)](_0x688e0e)))_0x1f9561[_0x38e3a5]='[REDACTED]';else typeof _0x1f9561[_0x38e3a5]===_0x49d078[_0x565188(0x1d1)]&&_0x1f9561[_0x38e3a5]!==null&&(_0x1f9561[_0x38e3a5]=_0x49d078[_0x565188(0x185)](redactObject,_0x1f9561[_0x38e3a5]));}return _0x1f9561;},logError=(_0x43f878,_0x4f8ef8={},_0x363c20=null)=>{const _0x528afe=a0_0x1e29b7,_0x57c245={'ebRRC':'Error','uphPY':function(_0x539590,_0x3b58ec,_0x14503d){return _0x539590(_0x3b58ec,_0x14503d);},'Mprpk':'error'},_0x388781={'event':_0x528afe(0x201),'errorName':_0x43f878[_0x528afe(0x1d0)]||_0x57c245['ebRRC'],'errorMessage':_0x43f878[_0x528afe(0x164)],'errorCode':_0x43f878[_0x528afe(0x17f)]||null,'stack':_0x43f878['stack'],..._0x4f8ef8},_0x15953c=_0x363c20||_0x528afe(0x1fe)+_0x43f878[_0x528afe(0x164)];logger['error'](_0x388781,_0x15953c),_0x57c245[_0x528afe(0x162)](writeToFileLog,{..._0x388781,'level':_0x528afe(0x201),'msg':_0x15953c,'time':new Date()['toISOString']()},_0x57c245[_0x528afe(0x209)]);},logFatalError=(_0x1b770f,_0x560701={},_0x5e1756=null)=>{const _0x3d5960=a0_0x1e29b7,_0x9c6dfe={'JgyQh':'fatal_error','nutiU':_0x3d5960(0x19e),'mtbyE':function(_0xc28a14,_0x48a1ad,_0x260481){return _0xc28a14(_0x48a1ad,_0x260481);},'LSjCj':_0x3d5960(0x1f7),'GsbzP':'error'},_0xebb52f={'event':_0x9c6dfe['JgyQh'],'errorName':_0x1b770f[_0x3d5960(0x1d0)]||_0x9c6dfe['nutiU'],'errorMessage':_0x1b770f[_0x3d5960(0x164)],'errorCode':_0x1b770f['code']||null,'stack':_0x1b770f[_0x3d5960(0x1d7)],'severity':_0x3d5960(0x1c5),..._0x560701},_0x2827f3=_0x5e1756||'FATAL:\x20'+_0x1b770f['message'];logger[_0x3d5960(0x1f7)](_0xebb52f,_0x2827f3),_0x9c6dfe['mtbyE'](writeToFileLog,{..._0xebb52f,'level':_0x9c6dfe['LSjCj'],'msg':_0x2827f3,'time':new Date()['toISOString']()},_0x9c6dfe[_0x3d5960(0x150)]);},logHttpError=(_0x261cee,_0x2a34cc,_0x1dbfa1={})=>{const _0x4d0332=a0_0x1e29b7,_0x19929c={'XcGAh':_0x4d0332(0x157),'IpdCh':_0x4d0332(0x19e),'AFSZi':_0x4d0332(0x1c9),'NNAzT':_0x4d0332(0x1fd),'sQbeQ':function(_0x5105eb,_0x5d8656,_0x21f132){return _0x5105eb(_0x5d8656,_0x21f132);},'qSerf':function(_0x4764e5,_0x43b4bb){return _0x4764e5>=_0x43b4bb;},'IqYvx':'warn','ALEUi':'error'},_0x4b26fa={'event':_0x19929c[_0x4d0332(0x1e0)],'errorName':_0x261cee[_0x4d0332(0x1d0)]||_0x19929c[_0x4d0332(0x1b7)],'errorMessage':_0x261cee[_0x4d0332(0x164)],'errorCode':_0x261cee[_0x4d0332(0x17f)]||_0x261cee['statusCode']||0x1f4,'stack':_0x261cee[_0x4d0332(0x1d7)],'method':_0x2a34cc?.[_0x4d0332(0x1db)],'url':_0x2a34cc?.[_0x4d0332(0x1d6)]||_0x2a34cc?.['originalUrl'],'path':_0x2a34cc?.['path'],'ip':_0x2a34cc?.['ip']||_0x2a34cc?.[_0x4d0332(0x1a1)]?.['remoteAddress'],'userAgent':_0x2a34cc?.['get']?.(_0x19929c[_0x4d0332(0x15a)]),'requestId':_0x2a34cc?.['id']||_0x2a34cc?.[_0x4d0332(0x16b)]?.[_0x19929c[_0x4d0332(0x195)]],'body':_0x2a34cc?.['body']?redactObject(_0x2a34cc['body']):undefined,'query':_0x2a34cc?.['query'],..._0x1dbfa1},_0x396c51=_0x261cee['statusCode']||_0x261cee[_0x4d0332(0x14e)]||0x1f4,_0x45af21=_0x4d0332(0x182)+_0x396c51+':\x20'+_0x261cee[_0x4d0332(0x164)];_0x396c51>=0x1f4?logger[_0x4d0332(0x201)](_0x4b26fa,_0x45af21):logger[_0x4d0332(0x1e8)](_0x4b26fa,_0x45af21),_0x19929c['sQbeQ'](writeToFileLog,{..._0x4b26fa,'level':_0x19929c[_0x4d0332(0x192)](_0x396c51,0x1f4)?'error':_0x19929c[_0x4d0332(0x1bc)],'msg':_0x45af21,'time':new Date()['toISOString']()},_0x396c51>=0x1f4?_0x19929c['ALEUi']:_0x19929c[_0x4d0332(0x1bc)]);},logUncaughtError=(_0x2acee9,_0x47b449)=>{const _0x517b11=a0_0x1e29b7,_0x1e53c9={'yKbtw':_0x517b11(0x19e),'LyNYE':_0x517b11(0x1f7)},_0x3352e1={'event':_0x2acee9,'errorName':_0x47b449?.['name']||_0x1e53c9[_0x517b11(0x1ab)],'errorMessage':_0x47b449?.['message']||String(_0x47b449),'errorCode':_0x47b449?.[_0x517b11(0x17f)]||null,'stack':_0x47b449?.[_0x517b11(0x1d7)],'severity':_0x517b11(0x1c5),'processId':process[_0x517b11(0x1e3)],'memoryUsage':process[_0x517b11(0x161)](),'uptime':process['uptime']()},_0x3cbaf6='['+_0x2acee9['toUpperCase']()+']\x20'+(_0x47b449?.[_0x517b11(0x164)]||_0x47b449);logger[_0x517b11(0x1f7)](_0x3352e1,_0x3cbaf6),writeToFileLog({..._0x3352e1,'level':_0x1e53c9['LyNYE'],'msg':_0x3cbaf6,'time':new Date()['toISOString']()},_0x517b11(0x201));},setupGlobalErrorHandlers=()=>{const _0x433c95=a0_0x1e29b7,_0x41c622={'PtdxC':'uncaughtException','cquGw':function(_0x1ad915,_0x520f0e,_0x80b0e5){return _0x1ad915(_0x520f0e,_0x80b0e5);},'vuaOG':'unhandledRejection','ZMuwz':_0x433c95(0x1f8),'UqAmt':_0x433c95(0x1a8)};process['on'](_0x41c622['PtdxC'],_0x549361=>{const _0x41853d=_0x433c95;logUncaughtError(_0x41c622[_0x41853d(0x1ce)],_0x549361),_0x41c622[_0x41853d(0x188)](setTimeout,()=>{const _0x2174b7=_0x41853d;process[_0x2174b7(0x1c7)](0x1);},0x3e8);}),process['on'](_0x41c622['vuaOG'],(_0x20d5eb,_0x308165)=>{const _0x34e91d=_0x433c95,_0xe3790b=_0x20d5eb instanceof Error?_0x20d5eb:new Error(String(_0x20d5eb));_0x41c622[_0x34e91d(0x188)](logUncaughtError,_0x41c622[_0x34e91d(0x1e1)],_0xe3790b);}),process['on']('warning',_0x843b4a=>{const _0x58a19c=_0x433c95;logger['warn']({'event':'process_warning','name':_0x843b4a[_0x58a19c(0x1d0)],'message':_0x843b4a[_0x58a19c(0x164)],'stack':_0x843b4a[_0x58a19c(0x1d7)]},_0x58a19c(0x191)+_0x843b4a[_0x58a19c(0x164)]);});const _0x392767={'event':'global_error_handlers_setup'},_0x5e5e35=_0x41c622[_0x433c95(0x173)];logger[_0x433c95(0x1a8)](_0x392767,_0x5e5e35),_0x41c622[_0x433c95(0x188)](writeToFileLog,{..._0x392767,'level':'info','msg':_0x5e5e35,'time':new Date()['toISOString']()},_0x41c622['UqAmt']);},createErrorHandlerMiddleware=()=>{const _0x535fdd=a0_0x1e29b7,_0x18f73b={'EfiXo':_0x535fdd(0x1b6)};return(_0x42911f,_0x4569b1,_0x18e38b,_0x583ea5)=>{const _0x4d3c47=_0x535fdd;logHttpError(_0x42911f,_0x4569b1);const _0x59d2a9=_0x42911f['statusCode']||_0x42911f[_0x4d3c47(0x14e)]||0x1f4;_0x18e38b['status'](_0x59d2a9)['json']({'success':![],'error':_0x59d2a9>=0x1f4?_0x18f73b[_0x4d3c47(0x1ca)]:_0x42911f[_0x4d3c47(0x164)],'requestId':_0x4569b1['id']||_0x4569b1['headers']?.[_0x4d3c47(0x1fd)]||null});};};module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
|
|
1
|
+
const a0_0x8abba4=a0_0x58aa;(function(_0x15d31c,_0x2b4465){const _0x22b2a6=a0_0x58aa,_0x52cc29=_0x15d31c();while(!![]){try{const _0x28e00d=parseInt(_0x22b2a6(0xce))/0x1*(parseInt(_0x22b2a6(0xc7))/0x2)+-parseInt(_0x22b2a6(0x113))/0x3+-parseInt(_0x22b2a6(0x127))/0x4*(-parseInt(_0x22b2a6(0xfa))/0x5)+parseInt(_0x22b2a6(0x11b))/0x6*(parseInt(_0x22b2a6(0xe9))/0x7)+-parseInt(_0x22b2a6(0x11f))/0x8+parseInt(_0x22b2a6(0xbf))/0x9+-parseInt(_0x22b2a6(0xe4))/0xa;if(_0x28e00d===_0x2b4465)break;else _0x52cc29['push'](_0x52cc29['shift']());}catch(_0x15b1e9){_0x52cc29['push'](_0x52cc29['shift']());}}}(a0_0x10c8,0xb516a));const pino=require('pino'),fs=require('fs'),path=require('path');let logToFile=![],logDir=a0_0x8abba4(0x14d),serviceName=a0_0x8abba4(0xa3),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x8abba4(0xd9),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0x8abba4(0x9a),'customColors':a0_0x8abba4(0x154),'hideObject':!![]},isDevelopment=process[a0_0x8abba4(0xc4)]['NODE_ENV']!==a0_0x8abba4(0x133),logLevel=process[a0_0x8abba4(0xc4)]['LOG_LEVEL']||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x8abba4(0x112),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x8abba4(0xc4)][a0_0x8abba4(0x114)]||a0_0x8abba4(0xc2),'env':process['env']['NODE_ENV']||'development'},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':[a0_0x8abba4(0xcd),a0_0x8abba4(0x141),a0_0x8abba4(0x10b),'token',a0_0x8abba4(0xbc),'DB_PASSWORD',a0_0x8abba4(0x97)],'censor':'[REDACTED]'},'serializers':{'req':_0x1cfdcf=>({'id':_0x1cfdcf['id'],'method':_0x1cfdcf['method'],'url':_0x1cfdcf[a0_0x8abba4(0x10e)],'path':_0x1cfdcf['path'],'remoteAddress':_0x1cfdcf['ip']||_0x1cfdcf['connection']?.['remoteAddress']}),'res':_0x3ea25f=>({'statusCode':_0x3ea25f[a0_0x8abba4(0x11a)],'headers':_0x3ea25f['getHeaders']?.()}),'err':pino[a0_0x8abba4(0xf3)][a0_0x8abba4(0x136)]}});function a0_0x58aa(_0x5a2355,_0x2c1860){_0x5a2355=_0x5a2355-0x97;const _0x10c82e=a0_0x10c8();let _0x58aa57=_0x10c82e[_0x5a2355];if(a0_0x58aa['tJKLmI']===undefined){var _0x1f3da0=function(_0x20787e){const _0x32f4b4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1df2f9='',_0xc41d7a='';for(let _0x1f27dd=0x0,_0x1b9d78,_0x227a83,_0x169452=0x0;_0x227a83=_0x20787e['charAt'](_0x169452++);~_0x227a83&&(_0x1b9d78=_0x1f27dd%0x4?_0x1b9d78*0x40+_0x227a83:_0x227a83,_0x1f27dd++%0x4)?_0x1df2f9+=String['fromCharCode'](0xff&_0x1b9d78>>(-0x2*_0x1f27dd&0x6)):0x0){_0x227a83=_0x32f4b4['indexOf'](_0x227a83);}for(let _0x2b0a23=0x0,_0x13cb2b=_0x1df2f9['length'];_0x2b0a23<_0x13cb2b;_0x2b0a23++){_0xc41d7a+='%'+('00'+_0x1df2f9['charCodeAt'](_0x2b0a23)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xc41d7a);};a0_0x58aa['nCBxQV']=_0x1f3da0,a0_0x58aa['qFZgOu']={},a0_0x58aa['tJKLmI']=!![];}const _0x43f1e8=_0x10c82e[0x0],_0x19f92f=_0x5a2355+_0x43f1e8,_0xd9dbb1=a0_0x58aa['qFZgOu'][_0x19f92f];return!_0xd9dbb1?(_0x58aa57=a0_0x58aa['nCBxQV'](_0x58aa57),a0_0x58aa['qFZgOu'][_0x19f92f]=_0x58aa57):_0x58aa57=_0xd9dbb1,_0x58aa57;}function initFileLogging(){const _0xcbb630=a0_0x8abba4,_0x11fec4={'VJHJZ':_0xcbb630(0x108),'eHsPj':function(_0xc58c34,_0x142287){return _0xc58c34===_0x142287;},'QOXsz':'debug','CPHUU':function(_0x57f77f,_0x24a6a6){return _0x57f77f!==_0x24a6a6;},'ezBRu':function(_0x25d441,_0x1794e8){return _0x25d441(_0x1794e8);},'UMpzp':'error.log','Hwidx':'app.log'};if(fileLoggingInitialized)return;logToFile=process[_0xcbb630(0xc4)]['LOG_TO_FILE']===_0xcbb630(0xf9);const _0x1a9730=process[_0xcbb630(0xc4)]['RESTFORGE_PROJECT_NAME']||_0x11fec4[_0xcbb630(0xd3)];logDir=process[_0xcbb630(0xc4)]['LOG_DIR']||'./logs/'+_0x1a9730,serviceName=process['env'][_0xcbb630(0xfe)]||_0xcbb630(0xa3),sqlLogEnabled=_0x11fec4['eHsPj'](process[_0xcbb630(0xc4)]['SQL_LOG_ENABLED'],'true'),sqlLogLevel=process[_0xcbb630(0xc4)]['SQL_LOG_LEVEL']||_0x11fec4[_0xcbb630(0x13b)],sqlLogParams=_0x11fec4[_0xcbb630(0xa5)](process['env'][_0xcbb630(0xea)],_0xcbb630(0x145)),sqlLogSlowThreshold=_0x11fec4[_0xcbb630(0xda)](parseInt,process[_0xcbb630(0xc4)][_0xcbb630(0x104)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x43dd62=path['resolve'](process['cwd'](),logDir);try{!fs[_0xcbb630(0x143)](_0x43dd62)&&fs[_0xcbb630(0xba)](_0x43dd62,{'recursive':!![]});}catch(_0x357cfe){console[_0xcbb630(0x123)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x43dd62+':',_0x357cfe[_0xcbb630(0x135)]),fileLoggingInitialized=!![];return;}const _0x4237bc=path['join'](_0x43dd62,_0xcbb630(0xfb)),_0x2b36b7=path['join'](_0x43dd62,_0x11fec4[_0xcbb630(0x99)]);try{appLogStream=fs[_0xcbb630(0xc1)](_0x4237bc,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x2b36b7,{'flags':'a'}),fileLoggingInitialized=!![];const _0x395023={'event':_0xcbb630(0x10d),'logDir':_0x43dd62,'files':[_0x11fec4[_0xcbb630(0x149)],_0x11fec4[_0xcbb630(0x99)]]},_0x1075d5=_0xcbb630(0x14c)+_0x43dd62;logger[_0xcbb630(0xc3)](_0x395023,_0x1075d5),writeToFileLog({..._0x395023,'level':'info','msg':_0x1075d5,'time':new Date()['toISOString']()},'info');}catch(_0x480bfb){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x480bfb[_0xcbb630(0x135)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x2a693d,_0x160f76){const _0x362530=a0_0x8abba4,_0xddf6c4={'xhPxf':function(_0x16817e,_0x3ff7a2){return _0x16817e||_0x3ff7a2;},'fMkBG':function(_0x557e0a,_0xcbe7a5){return _0x557e0a===_0xcbe7a5;},'diEDa':function(_0xc42fb2,_0x44942c){return _0xc42fb2===_0x44942c;}};if(_0xddf6c4['xhPxf'](!logToFile,!appLogStream))return;const _0x4f69a1={'service':serviceName,..._0x2a693d},_0x16a3d7=JSON['stringify'](_0x4f69a1)+'\x0a';appLogStream['write'](_0x16a3d7),(_0xddf6c4[_0x362530(0xf4)](_0x160f76,_0x362530(0x123))||_0xddf6c4['diEDa'](_0x160f76,_0x362530(0xc8)))&&(errorLogStream&&errorLogStream[_0x362530(0xa4)](_0x16a3d7));}function a0_0x10c8(){const _0x1111cb=['zgjFCxvLCNK','Dhj1zq','mJmWmtvguwL6u1q','yxbWlMXVzW','CgfZC3DK','w1jfrefdveveoMHHC2HD','u0vsvKLdrv9oqu1f','u25uEwq','zhvYyxrPB25nCW','u1rbuLqGvfjbtLnbq1rjt04','w09lxsbqCM9Qzwn0igXVywrLzdOG','su5trvju','u1fmx0Xpr19tte9xx1riuKvtse9mra','sfLsDxK','CxLjuuK','B3jPz2LUywXvCMW','zgvMyxvSDa','CxvLCNK','CwPhrvq','CgfZC3DVCMq','A0nbtMS','zMLSzv9SB2DNAw5Nx2vUywjSzwq','DxjS','Bwf4','yM9KEq','ChjVAMvJDf9SB2fKzwq','CgLUBY1WCMv0DhK','mJC0mtu1owzUC0ritq','qvbqx1zfuLnjt04','C29Tzq','B3rW','ywnJzxnZx3rVA2vU','ChDK','BxmP','C3rHDhvZq29Kzq','mZi3odCXoeftz09uqG','qKvnCgi','yxbPx2TLEq','D2fYBMLUzW','mta2odu4ndbvEuPHq2K','u0vmrunu','Cg9YDa','rNDbzNa','zxjYB3i','Aw5JBhvKzxm','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','yxbPA2v5','nJa4rKXQAg5Z','iokvKqRILzeGienVBMzPzYaGicaGidOG','DxnLCI1Hz2vUDa','zgf0ywjHC2vFy29UzMLN','zw5KCg9PBNrFCMvNAxn0zxjLza','Cgf0Aa','C2vYDMvYx3n0yxj0Aw5N','icbjBMzVoIaGia','Dg9gAxHLza','vMnwD3m','Dg9ju09tDhjPBMC','C3rYAw5N','ChjVzhvJDgLVBG','C3rHy2S','BwvZC2fNzq','zxjY','tK9uiefdveLwrq','Dg9vChbLCKnHC2u','qKvhsu4','C2vJCMv0','uu9yC3O','iokvKqRILzeGifbYB2PLy3qGicaGidOG','ChjTB1K','w1jfrefdvevexq','EKXUzxy','vu5ltK9xtG','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','t3rnAwm','zxHPC3rZu3LUyW','DhjPBq','zMfSC2u','CgfKrw5K','CufkvgO','Dxb0Aw1L','shDPzhG','Bwf0y2G','reDcEvm','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','lI9SB2DZ','yK1Ov0y','AgvHzgvYCW','sfruuca','CgLU','yLjPAMW','C3rHCNrZv2L0Aa','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','Dg9mB3DLCKnHC2u','whvoCu4','yMfZzvvYBa','sLDux1nfq1jfva','BgvUz3rO','vu1WENa','E21Zz30','Evj4vxK','Cg9ZDgDYzxnXBa','CgLK','wu90q3O','rKTesxq','qNjHvfK','zw52AxjVBM1LBNq','r1jVEeK','CMvZDgzVCMDL','D3jPDgu','q1bivvu','vujXDLK','sNjkveO','icdIHPiG','EwP1uue','y3jLzgL0y2fYza','Bwv0Ag9K','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','BwfW','wgDitwO','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','Ahbez2y','AKPjrgq','BMfTzq','sxPVCvq','C3bSAxq','D2fYBG','Dfr1Dvm','Dw5Oyw5KBgvKuMvQzwn0Aw9U','qunusvzf','zMf0ywXFzxjYB3i','BwTKAxjtEw5J','DhLWzq','yxbPs2v5','y3jLzgvUDgLHBhm','shLdsMu','nJa2nty0v0ryuNLf','u2vYDMvYihn0yxj0Aw5NoIa','y3jLyxrLv3jPDgvtDhjLyw0','ms4WlJu','Aw5MBW','zw52','ChjPDMf0zwTLEq','C3zlvee','odiXodbps2HlvNC','zMf0ywW','revmrvrf','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','DxnLCG','Ahj0Aw1L','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','mZjUyKfQC2q','CM93C0fMzMvJDgvK','zgvIDwC','zNzZA0W','Dw5JyxvNAhrfEgnLChrPB24','vKPisLO','rermx0fmvevs','Dg9Rzw4','q1jjveLdquW','C3vIC3rYAw5N','CMvTB3rLqwrKCMvZCW','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','zxPcuNu','Bg9N','C2vYDMLJzuLUzM8','rgf0ywjHC2u6ia','wg9dqMu','uhjVy2vZCYbxyxjUAw5NoIa','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','tI9b','icbvuKW6icaGia','rwn6rfC','mtGZnte3mgzfvfbYEq','D1nSyu8','uK9mtejbq0S','z3nmvMm','iokvKqRILzeGiefqssblzxKGicaGidOG','mtrhuuz1BLC','u1fmx0Xpr19qqvjbtvm','q09ntuLu','whHms3C','DgvZDa','rxjYB3i','CMvWBgfJzq','zxHPDa','Ahr0Cf9LCNjVCG','rxbYA3y','C3rKu2vYAwfSAxPLCNm','zK1RqKC','vhjHBNnHy3rPB24G','icbizwfSDgG6ia','CMvWzwf0'];a0_0x10c8=function(){return _0x1111cb;};return a0_0x10c8();}const createRequestLogger=(_0x3fdf44={})=>{return logger['child'](_0x3fdf44);},logServerStart=_0x11adbe=>{const _0x31e17b=a0_0x8abba4,_0x28f258={'pZlSB':_0x31e17b(0xca),'Eprkv':function(_0x378cbd,_0x1d61a4){return _0x378cbd/_0x1d61a4;},'zLnev':function(_0x2ded5a,_0x335877){return _0x2ded5a-_0x335877;},'bfQLb':'Node.js','xaGpw':_0x31e17b(0xe1),'IzoqT':function(_0x28c4b6,_0x47ca6d){return _0x28c4b6(_0x47ca6d);},'XuNqN':_0x31e17b(0xb8),'lOOJp':_0x31e17b(0x137),'IUvqd':_0x31e17b(0xc3)},_0x4105f9=_0x28f258['pZlSB'],_0x390d1c=Math[_0x31e17b(0x10f)](0x0,0x37-_0x4105f9[_0x31e17b(0x98)]),_0x1fc2e1=Math['floor'](_0x28f258[_0x31e17b(0xf2)](_0x390d1c,0x2)),_0x7d9cc2=_0x28f258[_0x31e17b(0x13f)](_0x390d1c,_0x1fc2e1),_0x3c1517='║'+'\x20'[_0x31e17b(0xf7)](_0x1fc2e1)+_0x4105f9+'\x20'['repeat'](_0x7d9cc2)+'║',_0x1ce3a7=_0x31e17b(0xe0)+_0x3c1517+_0x31e17b(0xaf)+(_0x11adbe[_0x31e17b(0xa1)]||_0x28f258['bfQLb'])[_0x31e17b(0x146)](0x26)+_0x31e17b(0x13c)+(_0x11adbe['project']||_0x28f258['xaGpw'])[_0x31e17b(0x146)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+_0x28f258[_0x31e17b(0xb3)](String,_0x11adbe['port']||0xbb8)[_0x31e17b(0x146)](0x26)+_0x31e17b(0x128)+(_0x11adbe['configFile']||'Default')['padEnd'](0x26)+_0x31e17b(0xe8)+(_0x11adbe['apiKey']?_0x28f258[_0x31e17b(0x156)]:_0x28f258['lOOJp'])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x31e17b(0xdb)](_0x1ce3a7);const _0x20a124={'event':_0x31e17b(0x12d),'project':_0x11adbe['project'],'port':_0x11adbe['port'],'config':_0x11adbe['configFile'],'apiKeyEnabled':!!_0x11adbe['apiKey']};logger[_0x31e17b(0xc3)](_0x20a124),writeToFileLog({..._0x20a124,'level':_0x28f258['IUvqd'],'msg':_0x31e17b(0xc0)+_0x11adbe['project']+'\x20on\x20port\x20'+_0x11adbe[_0x31e17b(0x121)],'time':new Date()['toISOString']()},'info');},logServerReady=_0x138c87=>{const _0x1a1cdc=a0_0x8abba4,_0x44d56f={'QHrDS':'server_ready','wSlaO':'info'},_0x259c1e={'event':_0x44d56f['QHrDS'],'port':_0x138c87['port'],'module':_0x138c87['module'],'healthCheck':_0x138c87['healthCheck'],'serviceInfo':_0x138c87['serviceInfo'],'baseUrl':_0x138c87[_0x1a1cdc(0x157)]},_0x2b23b4=_0x1a1cdc(0x125)+_0x138c87[_0x1a1cdc(0x121)];logger['info'](_0x259c1e,_0x2b23b4),writeToFileLog({..._0x259c1e,'level':_0x44d56f['wSlaO'],'msg':_0x2b23b4,'time':new Date()[_0x1a1cdc(0x131)]()},_0x44d56f[_0x1a1cdc(0xe5)]),_0x138c87['healthCheck']&&logger[_0x1a1cdc(0xc3)](_0x1a1cdc(0xf6)+_0x138c87['healthCheck']),_0x138c87['serviceInfo']&&logger['info'](_0x1a1cdc(0x12e)+_0x138c87[_0x1a1cdc(0xdc)]),_0x138c87[_0x1a1cdc(0x157)]&&logger['info'](_0x1a1cdc(0xe2)+_0x138c87[_0x1a1cdc(0x157)]);},logProjectLoaded=(_0x4213cc,_0x228a0b)=>{const _0x289053=a0_0x8abba4,_0x106d66={'JrJTJ':_0x289053(0x111),'itbli':'info'},_0x5b2ed3={'event':_0x106d66[_0x289053(0xa7)],'project':_0x4213cc,'path':_0x228a0b},_0x57e13a=_0x289053(0x102)+_0x4213cc;logger[_0x289053(0xc3)](_0x5b2ed3,_0x57e13a),writeToFileLog({..._0x5b2ed3,'level':'info','msg':_0x57e13a,'time':new Date()['toISOString']()},_0x106d66['itbli']);},logEndpointRegistered=(_0x42e9ea,_0x2bbbe6)=>{const _0x15d64c=a0_0x8abba4,_0x1f1492={'FKDIt':function(_0xa8d7a2,_0x3493df,_0x2bd0b9){return _0xa8d7a2(_0x3493df,_0x2bd0b9);},'BEMpb':'debug'},_0x58a92c={'event':_0x15d64c(0x12b),'endpoint':_0x42e9ea,'route':_0x2bbbe6},_0x1b440b=_0x15d64c(0xa8)+_0x42e9ea+':\x20'+_0x2bbbe6;logger['debug'](_0x58a92c,_0x1b440b),_0x1f1492[_0x15d64c(0x9f)](writeToFileLog,{..._0x58a92c,'level':_0x1f1492[_0x15d64c(0x11c)],'msg':_0x1b440b,'time':new Date()[_0x15d64c(0x131)]()},'debug');},logDatabaseConfig=_0x54d850=>{const _0x2da6dd=a0_0x8abba4,_0x48067f={'bMhWF':function(_0x4c060e,_0x248b57,_0x2f5f53){return _0x4c060e(_0x248b57,_0x2f5f53);}},_0x4e1c29={'event':_0x2da6dd(0x12a),'host':_0x54d850['host'],'port':_0x54d850[_0x2da6dd(0x121)],'database':_0x54d850['database'],'type':_0x54d850[_0x2da6dd(0xbb)],'user':_0x54d850[_0x2da6dd(0xcb)]},_0x489a2e=_0x2da6dd(0xdd)+_0x54d850[_0x2da6dd(0xbb)]+'://'+_0x54d850['host']+':'+_0x54d850['port']+'/'+_0x54d850['database'];logger[_0x2da6dd(0xd0)](_0x4e1c29,_0x489a2e),_0x48067f[_0x2da6dd(0x14e)](writeToFileLog,{..._0x4e1c29,'level':'debug','msg':_0x489a2e,'time':new Date()['toISOString']()},'debug');},logRequest=(_0x3bd154,_0x2ada15,_0x5081f3)=>{const _0x1b7c76=a0_0x8abba4,_0x4bd884={'XgHMj':'http_request','OtMic':'error','prmoY':function(_0x25b1cc,_0x1956ed,_0x43275d){return _0x25b1cc(_0x1956ed,_0x43275d);}},_0x95c33d={'event':_0x4bd884[_0x1b7c76(0xae)],'method':_0x3bd154['method'],'path':_0x3bd154[_0x1b7c76(0x12c)],'statusCode':_0x2ada15['statusCode'],'durationMs':_0x5081f3,'ip':_0x3bd154['ip']},_0x3ab43b=_0x3bd154[_0x1b7c76(0xab)]+'\x20'+_0x3bd154['path']+'\x20-\x20'+_0x2ada15['statusCode']+'\x20('+_0x5081f3+_0x1b7c76(0x119);let _0x2638e7='info';if(_0x2ada15[_0x1b7c76(0x11a)]>=0x1f4)_0x2638e7=_0x4bd884[_0x1b7c76(0x142)],logger['error'](_0x95c33d,_0x3ab43b);else _0x2ada15['statusCode']>=0x190?(_0x2638e7=_0x1b7c76(0xb5),logger['warn'](_0x95c33d,_0x3ab43b)):logger['info'](_0x95c33d,_0x3ab43b);_0x4bd884[_0x1b7c76(0x13d)](writeToFileLog,{..._0x95c33d,'level':_0x2638e7,'msg':_0x3ab43b,'time':new Date()[_0x1b7c76(0x131)]()},_0x2638e7);},SENSITIVE_PARAM_PATTERNS=['password',a0_0x8abba4(0xfc),a0_0x8abba4(0x118),a0_0x8abba4(0xd5),a0_0x8abba4(0x117),'refresh_token',a0_0x8abba4(0x13a),'api_secret','apikey',a0_0x8abba4(0x11d),'credential',a0_0x8abba4(0xbd),'pin',a0_0x8abba4(0x116),'private_key',a0_0x8abba4(0xc5)],redactSensitiveParams=(_0x5df817,_0x1e936d)=>{const _0x12f03c=a0_0x8abba4,_0x15468b={'yRxUy':'[REDACTED:token]'};if(!_0x5df817||_0x5df817['length']===0x0)return _0x5df817;const _0x855e5a=_0x1e936d[_0x12f03c(0x155)](),_0x30db82=_0x855e5a[_0x12f03c(0x14a)](/\(([^)]+)\)\s*values/i);let _0x2d3a8b=[];_0x30db82&&(_0x2d3a8b=_0x30db82[0x1][_0x12f03c(0xb4)](',')['map'](_0x13c5da=>_0x13c5da[_0x12f03c(0x144)]()[_0x12f03c(0x155)]()));const _0x471495=_0x855e5a['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x471495){const _0xb3826c=_0x471495[0x1],_0x40bf8b=_0xb3826c[_0x12f03c(0x14a)](/(\w+)\s*=/g);_0x40bf8b&&(_0x2d3a8b=_0x40bf8b[_0x12f03c(0xad)](_0x14b330=>_0x14b330[_0x12f03c(0xef)](/\s*=/,'')['trim']()['toLowerCase']()));}return _0x5df817['map']((_0x1a5576,_0xb3e931)=>{const _0x464680=_0x12f03c;if(_0x2d3a8b[_0xb3e931]){const _0x55e535=_0x2d3a8b[_0xb3e931],_0x2bd0e3=SENSITIVE_PARAM_PATTERNS[_0x464680(0x115)](_0x1f5053=>_0x55e535[_0x464680(0x124)](_0x1f5053));if(_0x2bd0e3)return _0x464680(0x13e);}if(typeof _0x1a5576===_0x464680(0x132)&&_0x1a5576['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x464680(0xed)](_0x1a5576)&&_0x1a5576[_0x464680(0x124)]('.'))return _0x15468b[_0x464680(0x9b)];if(/^[a-fA-F0-9]{32,}$/['test'](_0x1a5576))return _0x464680(0xfd);}return _0x1a5576;});},parseQueryMetadata=_0x5b1f38=>{const _0x339500=a0_0x8abba4,_0xc5e158={'NvvqT':_0x339500(0x103),'UBqvY':'UPDATE','fvskL':'TRANSACTION_BEGIN','HUjyw':_0x339500(0xeb),'OuvLS':'TRANSACTION_COMMIT','WJYbp':_0x339500(0xe6),'XtcGa':'TRANSACTION_ROLLBACK','DGByS':'DDL_CREATE','wvwfm':'ALTER','qjGET':_0x339500(0xd4)},_0x879eb2=_0x5b1f38[_0x339500(0x144)](),_0x307c66=_0x879eb2[_0x339500(0x138)]();let _0xc63af0=_0x339500(0x140),_0xb80253=null;if(_0x307c66['startsWith'](_0x339500(0x120))){_0xc63af0='SELECT';const _0x3d06e5=_0x879eb2['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xb80253=_0x3d06e5?_0x3d06e5[0x1]:null;}else{if(_0x307c66[_0x339500(0x153)](_0xc5e158['NvvqT'])){_0xc63af0=_0xc5e158['NvvqT'];const _0x3248d0=_0x879eb2[_0x339500(0x14a)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xb80253=_0x3248d0?_0x3248d0[0x1]:null;}else{if(_0x307c66[_0x339500(0x153)](_0xc5e158['UBqvY'])){_0xc63af0=_0xc5e158[_0x339500(0xa6)];const _0x8b8ebf=_0x879eb2['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xb80253=_0x8b8ebf?_0x8b8ebf[0x1]:null;}else{if(_0x307c66[_0x339500(0x153)]('DELETE')){_0xc63af0=_0x339500(0xc9);const _0x4ba8f8=_0x879eb2['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xb80253=_0x4ba8f8?_0x4ba8f8[0x1]:null;}else{if(_0x307c66['startsWith'](_0x339500(0x139))||_0x307c66[_0x339500(0x153)](_0x339500(0x101)))_0xc63af0=_0xc5e158[_0x339500(0xd1)];else{if(_0x307c66['startsWith'](_0xc5e158['HUjyw']))_0xc63af0=_0xc5e158['OuvLS'];else{if(_0x307c66[_0x339500(0x153)](_0xc5e158['WJYbp']))_0xc63af0=_0xc5e158['XtcGa'];else{if(_0x307c66[_0x339500(0x153)]('CREATE'))_0xc63af0=_0xc5e158[_0x339500(0x14b)];else{if(_0x307c66['startsWith'](_0xc5e158['wvwfm']))_0xc63af0=_0xc5e158[_0x339500(0x10a)];else _0x307c66['startsWith']('DROP')&&(_0xc63af0='DDL_DROP');}}}}}}}}return{'type':_0xc63af0,'table':_0xb80253};},startQueryTimer=()=>{const _0x2f13e6=a0_0x8abba4,_0x279465={'RHRPj':function(_0x5db054,_0x50b809){return _0x5db054(_0x50b809);},'WHEPi':function(_0x49264b,_0x5b6de7){return _0x49264b*_0x5b6de7;}},_0x117bad=process[_0x2f13e6(0xcc)]();return()=>{const _0x726f9b=_0x2f13e6,[_0x4a4c2,_0x53f7cb]=process['hrtime'](_0x117bad);return _0x279465['RHRPj'](parseFloat,(_0x279465['WHEPi'](_0x4a4c2,0x3e8)+_0x53f7cb/0xf4240)[_0x726f9b(0x12f)](0x2));};},logQuery=(_0x781224,_0x1936fa=[],_0x3caee8={})=>{const _0x389ffc=a0_0x8abba4,_0x104789={'EczDW':_0x389ffc(0xf8),'XWnzV':'DB\x20Query','soLjC':'sql_query','bRijl':function(_0x219969,_0x4a272e,_0x2fa0f4){return _0x219969(_0x4a272e,_0x2fa0f4);},'ghMAD':function(_0x438065,_0x1280aa){return _0x438065!==_0x1280aa;},'BraTY':function(_0x2c6112,_0x353b3f){return _0x2c6112||_0x353b3f;},'gsLVc':_0x389ffc(0xb5),'mNMGE':function(_0x52b24c,_0x47d481){return _0x52b24c===_0x47d481;},'nZIKL':'info'};if(!sqlLogEnabled){logger['debug']({'event':_0x104789[_0x389ffc(0xe3)],'query':_0x781224[_0x389ffc(0xd7)](0x0,0xc8),'paramCount':_0x1936fa['length']},_0x104789['XWnzV']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x389ffc(0x9c)}=_0x3caee8,{type:_0xd3e339,table:_0x49f892}=parseQueryMetadata(_0x781224),_0x181a42={'event':_0x104789['soLjC'],'queryType':_0xd3e339,'table':_0x49f892,'query':_0x781224,'paramCount':_0x1936fa['length'],'dbType':dbType};sqlLogParams&&_0x1936fa['length']>0x0&&(_0x181a42['params']=_0x104789[_0x389ffc(0x152)](redactSensitiveParams,_0x1936fa,_0x781224));duration!==null&&(_0x181a42[_0x389ffc(0x100)]=duration,_0x181a42['isSlow']=duration>sqlLogSlowThreshold);_0x104789['ghMAD'](rowsAffected,null)&&(_0x181a42[_0x389ffc(0xcf)]=rowsAffected);const _0x2af2e7=_0x104789[_0x389ffc(0xa0)](_0x49f892,'unknown');let _0x1c169a='['+_0xd3e339+']\x20'+_0x2af2e7;duration!==null&&(_0x1c169a+='\x20('+duration+_0x389ffc(0x119));const _0x44ea1e=duration!==null&&duration>sqlLogSlowThreshold;let _0x3b78ea=_0x389ffc(0xd0);if(_0x44ea1e)_0x1c169a+='\x20[SLOW]',_0x3b78ea=_0x104789[_0x389ffc(0xe7)],logger['warn'](_0x181a42,_0x1c169a);else _0x104789['mNMGE'](sqlLogLevel,_0x104789['nZIKL'])?(_0x3b78ea=_0x104789['nZIKL'],logger['info'](_0x181a42,_0x1c169a)):logger[_0x389ffc(0xd0)](_0x181a42,_0x1c169a);writeToFileLog({..._0x181a42,'level':_0x3b78ea,'msg':_0x1c169a,'time':new Date()['toISOString']()},_0x3b78ea);},logTransaction=(_0x46c16c,_0x5b8cb9)=>{const _0x5a0062=a0_0x8abba4,_0x5430b9={'svKTA':_0x5a0062(0xd0)},_0x41fb06={'event':'db_transaction','status':_0x46c16c,'queryCount':_0x5b8cb9},_0x5cecde=_0x5a0062(0xf5)+_0x46c16c;logger['debug'](_0x41fb06,_0x5cecde),writeToFileLog({..._0x41fb06,'level':_0x5a0062(0xd0),'msg':_0x5cecde,'time':new Date()[_0x5a0062(0x131)]()},_0x5430b9[_0x5a0062(0xc6)]);},redactObject=_0x512cca=>{const _0xfe7c7c=a0_0x8abba4,_0x244a6d={'qAJTj':'object','rvmMy':_0xfe7c7c(0x10b),'qyIQI':_0xfe7c7c(0xfc),'FwAfp':_0xfe7c7c(0x118),'SbHXC':_0xfe7c7c(0x13a),'hpDgf':'credit_card','tuAtR':'cvv','MWHqR':'ssn','PehrS':'refresh_token'};if(!_0x512cca||typeof _0x512cca!==_0x244a6d[_0xfe7c7c(0x147)])return _0x512cca;const _0x3d23eb=[_0x244a6d['rvmMy'],_0x244a6d[_0xfe7c7c(0x106)],_0x244a6d[_0xfe7c7c(0x122)],_0xfe7c7c(0xd5),_0x244a6d['SbHXC'],_0xfe7c7c(0x126),'api_key','authorization',_0xfe7c7c(0xaa),_0x244a6d[_0xfe7c7c(0xb0)],_0x244a6d['tuAtR'],_0x244a6d['MWHqR'],_0xfe7c7c(0x151),'private_key','privatekey',_0x244a6d['PehrS'],'access_token'],_0x3db5fd=Array['isArray'](_0x512cca)?[..._0x512cca]:{..._0x512cca};for(const _0x3491a9 of Object['keys'](_0x3db5fd)){const _0x4d52ac=_0x3491a9[_0xfe7c7c(0x155)]();if(_0x3d23eb['some'](_0x22e154=>_0x4d52ac[_0xfe7c7c(0x124)](_0x22e154)))_0x3db5fd[_0x3491a9]=_0xfe7c7c(0x13e);else typeof _0x3db5fd[_0x3491a9]===_0x244a6d['qAJTj']&&_0x3db5fd[_0x3491a9]!==null&&(_0x3db5fd[_0x3491a9]=redactObject(_0x3db5fd[_0x3491a9]));}return _0x3db5fd;},logError=(_0x44b02c,_0x31700a={},_0x57a6dc=null)=>{const _0x28929c=a0_0x8abba4,_0x50425d={'XoCBe':'error','jJIDd':'Error','XXEhU':function(_0x1f09ea,_0x30090d,_0x36cdc8){return _0x1f09ea(_0x30090d,_0x36cdc8);}},_0x470da8={'event':_0x50425d['XoCBe'],'errorName':_0x44b02c[_0x28929c(0xb2)]||_0x50425d[_0x28929c(0xb1)],'errorMessage':_0x44b02c['message'],'errorCode':_0x44b02c['code']||null,'stack':_0x44b02c['stack'],..._0x31700a},_0x44f7b2=_0x57a6dc||'Error:\x20'+_0x44b02c['message'];logger[_0x28929c(0x123)](_0x470da8,_0x44f7b2),_0x50425d['XXEhU'](writeToFileLog,{..._0x470da8,'level':_0x50425d['XoCBe'],'msg':_0x44f7b2,'time':new Date()['toISOString']()},_0x50425d[_0x28929c(0xde)]);},logFatalError=(_0x5a265d,_0x5c888f={},_0x55740e=null)=>{const _0x2db504=a0_0x8abba4,_0x2f88f5={'gBmSc':_0x2db504(0xb9),'SnTyd':'Error','GRoxI':function(_0x1f1562,_0x3625f3,_0xe22073){return _0x1f1562(_0x3625f3,_0xe22073);},'xBKMm':_0x2db504(0x123)},_0x2bfcc4={'event':_0x2f88f5['gBmSc'],'errorName':_0x5a265d[_0x2db504(0xb2)]||_0x2f88f5[_0x2db504(0xff)],'errorMessage':_0x5a265d['message'],'errorCode':_0x5a265d['code']||null,'stack':_0x5a265d[_0x2db504(0x134)],'severity':_0x2db504(0xd6),..._0x5c888f},_0x1b49e3=_0x55740e||'FATAL:\x20'+_0x5a265d['message'];logger[_0x2db504(0xc8)](_0x2bfcc4,_0x1b49e3),_0x2f88f5[_0x2db504(0xa2)](writeToFileLog,{..._0x2bfcc4,'level':_0x2db504(0xc8),'msg':_0x1b49e3,'time':new Date()['toISOString']()},_0x2f88f5['xBKMm']);},logHttpError=(_0xef09ef,_0x48622d,_0x1152aa={})=>{const _0xa8c7b8=a0_0x8abba4,_0x39a04f={'HyZsi':_0xa8c7b8(0xf1),'rtohq':_0xa8c7b8(0x129),'tTuuS':function(_0x35e8eb,_0x416ef8){return _0x35e8eb>=_0x416ef8;},'yxbhH':_0xa8c7b8(0xb5),'mMGfV':function(_0x5d0597,_0x46b146){return _0x5d0597>=_0x46b146;},'YOtCz':_0xa8c7b8(0x123)},_0x2ed85b={'event':_0x39a04f['HyZsi'],'errorName':_0xef09ef[_0xa8c7b8(0xb2)]||_0xa8c7b8(0xee),'errorMessage':_0xef09ef[_0xa8c7b8(0x135)],'errorCode':_0xef09ef['code']||_0xef09ef[_0xa8c7b8(0x11a)]||0x1f4,'stack':_0xef09ef[_0xa8c7b8(0x134)],'method':_0x48622d?.[_0xa8c7b8(0xab)],'url':_0x48622d?.[_0xa8c7b8(0x10e)]||_0x48622d?.[_0xa8c7b8(0x107)],'path':_0x48622d?.['path'],'ip':_0x48622d?.['ip']||_0x48622d?.['connection']?.[_0xa8c7b8(0xd8)],'userAgent':_0x48622d?.['get']?.(_0x39a04f['rtohq']),'requestId':_0x48622d?.['id']||_0x48622d?.[_0xa8c7b8(0x14f)]?.['x-request-id'],'body':_0x48622d?.[_0xa8c7b8(0x110)]?redactObject(_0x48622d['body']):undefined,'query':_0x48622d?.[_0xa8c7b8(0x109)],..._0x1152aa},_0x2539b3=_0xef09ef[_0xa8c7b8(0x11a)]||_0xef09ef['status']||0x1f4,_0x775362=_0xa8c7b8(0x150)+_0x2539b3+':\x20'+_0xef09ef[_0xa8c7b8(0x135)];_0x2539b3>=0x1f4?logger['error'](_0x2ed85b,_0x775362):logger['warn'](_0x2ed85b,_0x775362),writeToFileLog({..._0x2ed85b,'level':_0x39a04f[_0xa8c7b8(0xb6)](_0x2539b3,0x1f4)?'error':_0x39a04f['yxbhH'],'msg':_0x775362,'time':new Date()[_0xa8c7b8(0x131)]()},_0x39a04f['mMGfV'](_0x2539b3,0x1f4)?_0x39a04f[_0xa8c7b8(0x9e)]:'warn');},logUncaughtError=(_0x273d3d,_0x3f84a1)=>{const _0x1af311=a0_0x8abba4,_0x2340ae={'RSKwx':_0x1af311(0xee),'YnphH':function(_0x26046c,_0x4a3b1e){return _0x26046c(_0x4a3b1e);},'LvPDO':'CRITICAL','BjoAO':function(_0x35c382,_0x10efc9,_0x1db1a8){return _0x35c382(_0x10efc9,_0x1db1a8);},'VcVws':_0x1af311(0xc8),'bUNfj':'error'},_0x2ee50b={'event':_0x273d3d,'errorName':_0x3f84a1?.[_0x1af311(0xb2)]||_0x2340ae['RSKwx'],'errorMessage':_0x3f84a1?.[_0x1af311(0x135)]||_0x2340ae['YnphH'](String,_0x3f84a1),'errorCode':_0x3f84a1?.['code']||null,'stack':_0x3f84a1?.[_0x1af311(0x134)],'severity':_0x2340ae['LvPDO'],'processId':process[_0x1af311(0x9d)],'memoryUsage':process['memoryUsage'](),'uptime':process[_0x1af311(0x148)]()},_0x32c61b='['+_0x273d3d['toUpperCase']()+']\x20'+(_0x3f84a1?.[_0x1af311(0x135)]||_0x3f84a1);logger[_0x1af311(0xc8)](_0x2ee50b,_0x32c61b),_0x2340ae['BjoAO'](writeToFileLog,{..._0x2ee50b,'level':_0x2340ae[_0x1af311(0x130)],'msg':_0x32c61b,'time':new Date()[_0x1af311(0x131)]()},_0x2340ae['bUNfj']);},setupGlobalErrorHandlers=()=>{const _0x1b84a7=a0_0x8abba4,_0x54c140={'ioBac':function(_0x327e15,_0x108380){return _0x327e15 instanceof _0x108380;},'XxLKw':_0x1b84a7(0xb7),'HYRuy':'process_warning','yjuQA':'uncaughtException','HyCJe':_0x1b84a7(0xac),'hovUO':'Global\x20error\x20handlers\x20initialized'};process['on'](_0x54c140[_0x1b84a7(0xa9)],_0x44a61c=>{const _0x32cbf5=_0x1b84a7;logUncaughtError(_0x32cbf5(0xd2),_0x44a61c),setTimeout(()=>{const _0xcce3f1=_0x32cbf5;process[_0xcce3f1(0xf0)](0x1);},0x3e8);}),process['on'](_0x54c140['XxLKw'],(_0x180901,_0xd63a77)=>{const _0x37c0ae=_0x1b84a7,_0x3a18a9=_0x54c140['ioBac'](_0x180901,Error)?_0x180901:new Error(String(_0x180901));logUncaughtError(_0x54c140[_0x37c0ae(0xec)],_0x3a18a9);}),process['on'](_0x1b84a7(0x11e),_0x58dfe5=>{const _0x1f6767=_0x1b84a7;logger['warn']({'event':_0x54c140[_0x1f6767(0x105)],'name':_0x58dfe5[_0x1f6767(0xb2)],'message':_0x58dfe5[_0x1f6767(0x135)],'stack':_0x58dfe5['stack']},_0x1f6767(0xdf)+_0x58dfe5[_0x1f6767(0x135)]);});const _0x7f8446={'event':_0x54c140[_0x1b84a7(0xbe)]},_0x9911c8=_0x54c140['hovUO'];logger['info'](_0x7f8446,_0x9911c8),writeToFileLog({..._0x7f8446,'level':_0x1b84a7(0xc3),'msg':_0x9911c8,'time':new Date()['toISOString']()},'info');},createErrorHandlerMiddleware=()=>{const _0x389f0c={'SWmYm':'Internal\x20server\x20error','kCANk':'x-request-id'};return(_0x2c6be3,_0x457170,_0x585548,_0x1ba775)=>{const _0x714744=a0_0x58aa;logHttpError(_0x2c6be3,_0x457170);const _0x28df03=_0x2c6be3['statusCode']||_0x2c6be3['status']||0x1f4;_0x585548['status'](_0x28df03)['json']({'success':![],'error':_0x28df03>=0x1f4?_0x389f0c['SWmYm']:_0x2c6be3['message'],'requestId':_0x457170['id']||_0x457170[_0x714744(0x14f)]?.[_0x389f0c[_0x714744(0x10c)]]||null});};};module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0xa08675=a0_0xee5e;function a0_0x5725(){const _0x69ff4d=['Bg9VA3vWq2fJAgu','zxHLy3v0zvf1zxj5','u0vmrunuia','CMHXvhC','z2v0rgLZDgLUy3rwywX1zxm','Bg9HzeXVB2T1CfrHyMXL','Aw5MBW','zM9YrwfJAa','ALnosu0','Cg9ZDgDYzxnXBa','odu0nwz0A0PwBq','zxjYB3i','ChvZAa','BxLZCwW','zLfUBK0','zxHWB3j0CW','BwvZC2fNzq','B3jHy2XL','zw50CMLLCW','ndC5nhvlug9kAq','DMfSAwrHDgvmB29RDxbwywX1zxm','oe1Yu2zPtq','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','tg9VA3vWihrHyMXLigXVywrLzdOG','zw52','vgvLC0O','lI9KyI1TExnXBa','CMvZB2X2zuXVB2T1CfzHBhvL','A2v5CW','z2v0','rejFvfLqrq','rwjwCNa','uwDJtfq','zNjVBq','zgvIDwC','DhjPBq','y2XLyxi','mJuYnJu3EvLQsgjh','tg9VA3vWignHy2HLignSzwfYzwq','BgvUz3rO','nJqZmJrArwnPAeK','mJu1B0TVAhvb','AgfZ','C2v0','mtuZmJq4m0LJtxz3yG','ntGWotm2t09QzKHq','Dg9mB3DLCKnHC2u','odKYmdC3oxzvy2fdvG','BLrdz0K','D014uhi','nZy3ndKXmffTBhj5sq'];a0_0x5725=function(){return _0x69ff4d;};return a0_0x5725();}(function(_0x48ec02,_0x167452){const _0x55ce99=a0_0xee5e,_0x787ac9=_0x48ec02();while(!![]){try{const _0x4f6aa1=-parseInt(_0x55ce99(0x99))/0x1+parseInt(_0x55ce99(0x9a))/0x2+-parseInt(_0x55ce99(0x96))/0x3*(-parseInt(_0x55ce99(0x95))/0x4)+-parseInt(_0x55ce99(0xaa))/0x5*(parseInt(_0x55ce99(0xb3))/0x6)+-parseInt(_0x55ce99(0x9c))/0x7*(-parseInt(_0x55ce99(0xb5))/0x8)+-parseInt(_0x55ce99(0x92))/0x9+parseInt(_0x55ce99(0x9f))/0xa;if(_0x4f6aa1===_0x167452)break;else _0x787ac9['push'](_0x787ac9['shift']());}catch(_0x50641a){_0x787ac9['push'](_0x787ac9['shift']());}}}(a0_0x5725,0xbcc4a));function a0_0xee5e(_0x4ac28a,_0xf5cd3a){_0x4ac28a=_0x4ac28a-0x8e;const _0x5725cb=a0_0x5725();let _0xee5e24=_0x5725cb[_0x4ac28a];if(a0_0xee5e['mOUMNx']===undefined){var _0xa81799=function(_0x91d45f){const _0x4dba08='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b1f38='',_0x484bb8='';for(let _0x5a87be=0x0,_0x5f3ec1,_0xeb55d2,_0x1a9c0f=0x0;_0xeb55d2=_0x91d45f['charAt'](_0x1a9c0f++);~_0xeb55d2&&(_0x5f3ec1=_0x5a87be%0x4?_0x5f3ec1*0x40+_0xeb55d2:_0xeb55d2,_0x5a87be++%0x4)?_0x4b1f38+=String['fromCharCode'](0xff&_0x5f3ec1>>(-0x2*_0x5a87be&0x6)):0x0){_0xeb55d2=_0x4dba08['indexOf'](_0xeb55d2);}for(let _0x46def6=0x0,_0x1e20fb=_0x4b1f38['length'];_0x46def6<_0x1e20fb;_0x46def6++){_0x484bb8+='%'+('00'+_0x4b1f38['charCodeAt'](_0x46def6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x484bb8);};a0_0xee5e['uknBTI']=_0xa81799,a0_0xee5e['bpmjaP']={},a0_0xee5e['mOUMNx']=!![];}const _0x17f2ad=_0x5725cb[0x0],_0x4157b5=_0x4ac28a+_0x17f2ad,_0x4650dd=a0_0xee5e['bpmjaP'][_0x4157b5];return!_0x4650dd?(_0xee5e24=a0_0xee5e['uknBTI'](_0xee5e24),a0_0xee5e['bpmjaP'][_0x4157b5]=_0xee5e24):_0xee5e24=_0x4650dd,_0xee5e24;}const dbType=(process[a0_0xa08675(0xb8)][a0_0xa08675(0xbe)]||a0_0xa08675(0xa9))[a0_0xa08675(0x9b)]();let executeQuery;if(dbType===a0_0xa08675(0xb1)){const oracleDb=require('./db-oracle');executeQuery=(_0x2d4e9f,_0x682dab)=>oracleDb['executeQuery'](_0x2d4e9f,_0x682dab);}else{if(dbType===a0_0xa08675(0xad)){const mysqlDb=require(a0_0xa08675(0xba));executeQuery=(_0x34da95,_0x418023)=>mysqlDb['executeQuery'](_0x34da95,_0x418023);}else executeQuery=require('./db')[a0_0xa08675(0xa1)];}const {logger}=require('./logger');class LookupResolver{constructor(){this['lookupCache']=new Map();}['clearCache'](){const _0x386c9d=a0_0xa08675,_0x4ba11b={'wMxPr':_0x386c9d(0x93)};this[_0x386c9d(0xa0)][_0x386c9d(0x91)](),logger[_0x386c9d(0x8f)]({'event':'lookup_cache_cleared'},_0x4ba11b[_0x386c9d(0x9e)]);}async['loadLookupTable'](_0x554af4,_0x9c0a64,_0x4ad35e){const _0x27c726=a0_0xa08675,_0x3c7974={'HKGzC':function(_0x440f49,_0x518164){return _0x440f49!==_0x518164;},'jSNIM':function(_0x535eea,_0x2fee40){return _0x535eea!==_0x2fee40;},'Pmixv':function(_0x11cfff,_0x596e39){return _0x11cfff(_0x596e39);}},_0xe57134=_0x554af4+':'+_0x9c0a64+':'+_0x4ad35e;if(this[_0x27c726(0xa0)][_0x27c726(0x97)](_0xe57134))return this['lookupCache']['get'](_0xe57134);try{const _0x35d646=_0x27c726(0xa2)+_0x4ad35e+',\x20'+_0x9c0a64+'\x20FROM\x20'+_0x554af4,_0x56cbc2=await _0x3c7974['Pmixv'](executeQuery,_0x35d646),_0x27c692=new Map();return _0x56cbc2['forEach'](_0x3baab3=>{const _0x4586e9=_0x27c726,_0x29c9ba=_0x3baab3[_0x9c0a64]!==undefined?_0x3baab3[_0x9c0a64]:_0x3baab3[_0x9c0a64['toUpperCase']()],_0x13e89f=_0x3baab3[_0x4ad35e]!==undefined?_0x3baab3[_0x4ad35e]:_0x3baab3[_0x4ad35e['toUpperCase']()];_0x3c7974['HKGzC'](_0x29c9ba,null)&&_0x3c7974[_0x4586e9(0xa8)](_0x29c9ba,undefined)&&(_0x27c692[_0x4586e9(0x98)](String(_0x29c9ba)['toLowerCase']()['trim'](),_0x13e89f),_0x27c692['set'](String(_0x29c9ba)['trim'](),_0x13e89f));}),this[_0x27c726(0xa0)][_0x27c726(0x98)](_0xe57134,_0x27c692),logger[_0x27c726(0xa6)]({'event':'lookup_table_loaded','table':_0x554af4,'column':_0x9c0a64,'count':_0x56cbc2['length']},_0x27c726(0xb7)+_0x554af4),_0x27c692;}catch(_0x255f9e){logger[_0x27c726(0xab)]({'event':'lookup_table_load_error','table':_0x554af4,'error':_0x255f9e[_0x27c726(0xb0)]},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x554af4);throw _0x255f9e;}}['resolveLookupValue'](_0x554266,_0x360992){const _0xa981b8=a0_0xa08675,_0x24b0e4={'rhqTw':function(_0x151385,_0x146fee){return _0x151385===_0x146fee;},'QgcLT':function(_0x45aa6d,_0x17d690){return _0x45aa6d(_0x17d690);}};if(_0x554266===null||_0x24b0e4[_0xa981b8(0xa3)](_0x554266,undefined)||_0x24b0e4[_0xa981b8(0xa3)](_0x554266,''))return null;const _0x2ae307=_0x24b0e4[_0xa981b8(0xc0)](String,_0x554266)[_0xa981b8(0x90)]();if(_0x360992['has'](_0x2ae307))return _0x360992['get'](_0x2ae307);const _0xb94099=_0x2ae307['toLowerCase']();if(_0x360992[_0xa981b8(0x97)](_0xb94099))return _0x360992[_0xa981b8(0xbd)](_0xb94099);return null;}async['processLookupFields'](_0x2cc96a,_0x1b6d7e){const _0x1175d7=a0_0xa08675,_0x3759fa={'nTCgI':function(_0x45640c,_0x896d22){return _0x45640c===_0x896d22;},'DksYj':function(_0x28f409,_0x5e6aaf){return _0x28f409===_0x5e6aaf;},'EbVrp':function(_0x2f91c0,_0x18935c){return _0x2f91c0!==_0x18935c;},'tphgf':'Lookup\x20fields\x20processed'};if(!_0x1b6d7e||Object['keys'](_0x1b6d7e)['length']===0x0)return{'processedRows':_0x2cc96a,'errors':[]};const _0x33b6ea=[],_0x50a53e=new Map();for(const [_0x4aab26,_0x55abe8]of Object[_0x1175d7(0xb2)](_0x1b6d7e)){const {lookupTable:_0x55e1a9,lookupColumn:_0x95c821,lookupIdColumn:_0x24cf6a}=_0x55abe8,_0x32e9c3=_0x55e1a9+':'+_0x95c821+':'+_0x24cf6a;if(!_0x50a53e[_0x1175d7(0x97)](_0x32e9c3)){const _0x4bc62c=await this[_0x1175d7(0xa5)](_0x55e1a9,_0x95c821,_0x24cf6a);_0x50a53e['set'](_0x32e9c3,_0x4bc62c);}}const _0x32573a=_0x2cc96a['map']((_0x4091f1,_0x5a3d50)=>{const _0x332700=_0x1175d7,_0x1f7977={..._0x4091f1};for(const [_0x1a39ae,_0x11a742]of Object['entries'](_0x1b6d7e)){const {lookupTable:_0x245fb8,lookupColumn:_0x7b72a4,lookupIdColumn:_0xcde834,targetField:_0x56cad8,required:_0x497b9d}=_0x11a742,_0x5472cf=_0x245fb8+':'+_0x7b72a4+':'+_0xcde834,_0x49e417=_0x50a53e[_0x332700(0xbd)](_0x5472cf),_0x5d8d7b=_0x4091f1[_0x1a39ae];if((_0x3759fa[_0x332700(0x9d)](_0x5d8d7b,null)||_0x3759fa['DksYj'](_0x5d8d7b,undefined)||_0x5d8d7b==='')&&!_0x497b9d){_0x1f7977[_0x56cad8]=null;continue;}const _0xc8fb43=this['resolveLookupValue'](_0x5d8d7b,_0x49e417);_0x3759fa[_0x332700(0xbf)](_0xc8fb43,null)?_0x1f7977[_0x56cad8]=_0xc8fb43:(_0x497b9d&&_0x33b6ea[_0x332700(0xac)]({'rowIndex':_0x5a3d50,'field':_0x1a39ae,'value':_0x5d8d7b,'targetField':_0x56cad8,'lookupTable':_0x245fb8,'message':'Value\x20\x22'+_0x5d8d7b+'\x22\x20not\x20found\x20in\x20'+_0x245fb8}),_0x1f7977[_0x56cad8]=null);}return _0x1f7977;});return logger[_0x1175d7(0xa6)]({'event':_0x1175d7(0xb6),'totalRows':_0x2cc96a[_0x1175d7(0x94)],'errorCount':_0x33b6ea['length'],'lookupFieldCount':Object['keys'](_0x1b6d7e)['length']},_0x3759fa['tphgf']),{'processedRows':_0x32573a,'errors':_0x33b6ea};}['getDistinctValues'](_0x2d0517,_0x3e5786){const _0x4145ac=a0_0xa08675,_0x476651={'eUfgH':function(_0x4ff559,_0x454859){return _0x4ff559!==_0x454859;}},_0x2e5159=new Set();return _0x2d0517['forEach'](_0x223b27=>{const _0x347a8d=a0_0xee5e,_0x72463b=_0x223b27[_0x3e5786];_0x72463b!==null&&_0x72463b!==undefined&&_0x476651['eUfgH'](_0x72463b,'')&&_0x2e5159['add'](String(_0x72463b)[_0x347a8d(0x90)]());}),Array[_0x4145ac(0x8e)](_0x2e5159);}async[a0_0xa08675(0xb4)](_0x41dc06,_0x2590ff){const _0x2b4c53=a0_0xa08675,_0x5af785={'TeesJ':function(_0x1aa64b,_0x337c80){return _0x1aa64b===_0x337c80;},'fQnnM':function(_0x1333b8,_0x37038c){return _0x1333b8>_0x37038c;}};if(!_0x2590ff||Object[_0x2b4c53(0xbc)](_0x2590ff)[_0x2b4c53(0x94)]===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x3e3572=[],_0xa75156={};for(const [_0x12e0b2,_0x38133d]of Object[_0x2b4c53(0xb2)](_0x2590ff)){const {lookupTable:_0x56862b,lookupColumn:_0x293951,lookupIdColumn:_0x4fb97f,required:_0x214d08}=_0x38133d,_0x502903=this[_0x2b4c53(0xa4)](_0x41dc06,_0x12e0b2),_0x3a5e8b=await this['loadLookupTable'](_0x56862b,_0x293951,_0x4fb97f),_0x59fd0b=[],_0x332847=[];_0x502903[_0x2b4c53(0xa7)](_0x4a8d50=>{const _0x197641=_0x2b4c53,_0x393b15=this[_0x197641(0xbb)](_0x4a8d50,_0x3a5e8b);_0x393b15!==null?_0x332847['push'](_0x4a8d50):_0x59fd0b[_0x197641(0xac)](_0x4a8d50);});if(_0x5af785[_0x2b4c53(0xae)](_0x59fd0b[_0x2b4c53(0x94)],0x0)&&_0x214d08){_0x3e3572[_0x2b4c53(0xac)]({'field':_0x12e0b2,'lookupTable':_0x56862b,'invalidValues':_0x59fd0b,'message':_0x59fd0b[_0x2b4c53(0x94)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0x56862b});const _0x32dcdb=[];_0x3a5e8b[_0x2b4c53(0xa7)]((_0x28284f,_0x58100a)=>{const _0xdc6241=_0x2b4c53;if(_0x5af785[_0xdc6241(0xb9)](_0x58100a,_0x58100a[_0xdc6241(0x9b)]()))return;_0x32dcdb[_0xdc6241(0xac)](_0x58100a);}),_0xa75156[_0x12e0b2]={'invalidValues':_0x59fd0b,'availableValues':_0x32dcdb['slice'](0x0,0x32)};}}return{'valid':_0x5af785['TeesJ'](_0x3e3572['length'],0x0),'errors':_0x3e3572,'suggestions':_0xa75156};}}module[a0_0xa08675(0xaf)]=new LookupResolver();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a0_0x10a491=a0_0x34a3;(function(_0x5122d7,_0x3fdde9){const _0x3f1d65=a0_0x34a3,_0x3b7a38=_0x5122d7();while(!![]){try{const _0x7202be=-parseInt(_0x3f1d65(0x1c1))/0x1+parseInt(_0x3f1d65(0x1c5))/0x2*(-parseInt(_0x3f1d65(0x1e6))/0x3)+-parseInt(_0x3f1d65(0x1df))/0x4*(parseInt(_0x3f1d65(0x1e7))/0x5)+-parseInt(_0x3f1d65(0x1d5))/0x6*(-parseInt(_0x3f1d65(0x1c9))/0x7)+parseInt(_0x3f1d65(0x1d0))/0x8+parseInt(_0x3f1d65(0x1cc))/0x9+-parseInt(_0x3f1d65(0x1de))/0xa*(-parseInt(_0x3f1d65(0x1d2))/0xb);if(_0x7202be===_0x3fdde9)break;else _0x3b7a38['push'](_0x3b7a38['shift']());}catch(_0x383478){_0x3b7a38['push'](_0x3b7a38['shift']());}}}(a0_0x1298,0x273e6));const fs=require('fs')['promises'],path=require(a0_0x10a491(0x1c6)),{logger}=require('./logger');function a0_0x34a3(_0x35372a,_0x2ee36a){_0x35372a=_0x35372a-0x1c0;const _0x129895=a0_0x1298();let _0x34a322=_0x129895[_0x35372a];if(a0_0x34a3['AybcfK']===undefined){var _0x653f5a=function(_0x49d492){const _0x75813c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3a07cf='',_0x380dbd='';for(let _0x2c7bf0=0x0,_0x1f5cd2,_0x150010,_0x3cc846=0x0;_0x150010=_0x49d492['charAt'](_0x3cc846++);~_0x150010&&(_0x1f5cd2=_0x2c7bf0%0x4?_0x1f5cd2*0x40+_0x150010:_0x150010,_0x2c7bf0++%0x4)?_0x3a07cf+=String['fromCharCode'](0xff&_0x1f5cd2>>(-0x2*_0x2c7bf0&0x6)):0x0){_0x150010=_0x75813c['indexOf'](_0x150010);}for(let _0x28332a=0x0,_0x2e883e=_0x3a07cf['length'];_0x28332a<_0x2e883e;_0x28332a++){_0x380dbd+='%'+('00'+_0x3a07cf['charCodeAt'](_0x28332a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x380dbd);};a0_0x34a3['EElmoR']=_0x653f5a,a0_0x34a3['nqGgzW']={},a0_0x34a3['AybcfK']=!![];}const _0x52ecca=_0x129895[0x0],_0x55ff4d=_0x35372a+_0x52ecca,_0xf96637=a0_0x34a3['nqGgzW'][_0x55ff4d];return!_0xf96637?(_0x34a322=a0_0x34a3['EElmoR'](_0x34a322),a0_0x34a3['nqGgzW'][_0x55ff4d]=_0x34a322):_0x34a322=_0xf96637,_0x34a322;}class PayloadLoader{constructor(){const _0x1b1df6=a0_0x10a491;this[_0x1b1df6(0x1d6)]=path['join'](__dirname,_0x1b1df6(0x1c4)),this['cache']=new Map();}async[a0_0x10a491(0x1c2)](_0x423792,_0x53c9ec){const _0x5c89cd=a0_0x10a491,_0x5c080e={'lieYw':'utf8','hhxka':_0x5c89cd(0x1d4)},_0x1494e4=_0x423792+':'+_0x53c9ec;if(this[_0x5c89cd(0x1cd)][_0x5c89cd(0x1e1)](_0x1494e4))return this['cache']['get'](_0x1494e4);const _0xb3d599=path[_0x5c89cd(0x1e2)](this[_0x5c89cd(0x1d6)],_0x423792+'_'+_0x53c9ec+'.json');try{const _0x1f9e1b=await fs[_0x5c89cd(0x1c3)](_0xb3d599,_0x5c080e['lieYw']),_0xade531=JSON[_0x5c89cd(0x1d7)](_0x1f9e1b);return this['cache']['set'](_0x1494e4,_0xade531),logger['debug']({'event':'payload_loaded','project':_0x423792,'resource':_0x53c9ec},'Payload\x20loaded\x20successfully'),_0xade531;}catch(_0xff13b){logger['error']({'event':_0x5c080e[_0x5c89cd(0x1cb)],'project':_0x423792,'resource':_0x53c9ec,'error':_0xff13b[_0x5c89cd(0x1e4)]},'Failed\x20to\x20load\x20payload');throw new Error('Payload\x20not\x20found:\x20'+_0x423792+'_'+_0x53c9ec);}}async[a0_0x10a491(0x1ce)](_0x32aa20){const _0x27d16d=a0_0x10a491,_0x4fcd93={'dZmne':'Failed\x20to\x20load\x20payload\x20by\x20name'},_0x1599ab=_0x27d16d(0x1dc)+_0x32aa20;if(this['cache'][_0x27d16d(0x1e1)](_0x1599ab))return this[_0x27d16d(0x1cd)]['get'](_0x1599ab);const _0x508f3c=path[_0x27d16d(0x1e2)](this['payloadDir'],_0x32aa20+_0x27d16d(0x1d3));try{const _0xaadbfd=await fs[_0x27d16d(0x1c3)](_0x508f3c,'utf8'),_0x4369e9=JSON[_0x27d16d(0x1d7)](_0xaadbfd);return this['cache']['set'](_0x1599ab,_0x4369e9),logger['debug']({'event':'payload_loaded','payloadName':_0x32aa20},_0x27d16d(0x1d8)),_0x4369e9;}catch(_0x2ca8d4){logger[_0x27d16d(0x1d9)]({'event':_0x27d16d(0x1d4),'payloadName':_0x32aa20,'error':_0x2ca8d4[_0x27d16d(0x1e4)]},_0x4fcd93[_0x27d16d(0x1dd)]);throw new Error('Payload\x20not\x20found:\x20'+_0x32aa20);}}[a0_0x10a491(0x1ca)](_0x449cfc,_0x59d3c3){const _0x147ebf=a0_0x10a491;return _0x449cfc[_0x147ebf(0x1d1)]&&_0x449cfc[_0x147ebf(0x1d1)][_0x59d3c3]===!![];}['getExportConfig'](_0x1ea49f){const _0x1374c6=a0_0x10a491;return{'columns':_0x1ea49f[_0x1374c6(0x1e5)]||[],'filename':_0x1ea49f[_0x1374c6(0x1e0)]['replace']('.','-')+'-export','datatablesQuery':_0x1ea49f[_0x1374c6(0x1cf)]||null,'columnFormats':_0x1ea49f[_0x1374c6(0x1c7)]||null,'fieldLabels':_0x1ea49f['fieldLabels']||null};}[a0_0x10a491(0x1c0)](){const _0x55af65=a0_0x10a491,_0x7e0bbd={'BiPPF':_0x55af65(0x1c8)};this['cache'][_0x55af65(0x1e3)](),logger[_0x55af65(0x1db)]({'event':'payload_cache_cleared'},_0x7e0bbd[_0x55af65(0x1da)]);}}function a0_0x1298(){const _0x1cc2b0=['mJm5mfrpANPvCq','y2XLyxjdywnOzq','mtu2nZu0CxL1svjh','Bg9HzfbHEwXVywq','CMvHzezPBgu','lI4VlI4VCgf5Bg9Hza','mJaXodbsDMnNuhi','Cgf0Aa','y29SDw1UrM9YBwf0CW','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','mJG0owrNyM1Uza','Axnby3rPB25fBMfIBgvK','AgH4A2e','mti4mZuYnMz0DuLUDG','y2fJAgu','Bg9HzfbHEwXVywrcEu5HBwu','zgf0yxrHyMXLC1f1zxj5','oty0odG4vvnkEufP','ywn0Aw9U','mZe4mJaZnMnItNH0sG','lMPZB24','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','mJKYmK9pAMTeBa','Cgf5Bg9HzerPCG','CgfYC2u','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','zxjYB3i','qMLquey','Aw5MBW','Cgf5Bg9HzdO','zfPTBMu','mtblD0zUBu4','mJyXmNvHCxjYvq','DgfIBgvoyw1L','AgfZ','AM9PBG','y2XLyxi','BwvZC2fNzq','zMLLBgroyw1L','mZzMEg1hCey'];a0_0x1298=function(){return _0x1cc2b0;};return a0_0x1298();}module['exports']=new PayloadLoader();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';function
|
|
1
|
+
'use strict';var a0_0x3514a7=a0_0x19bc;(function(_0xadce5d,_0x2f36df){var _0x4e30bd=a0_0x19bc,_0x410e87=_0xadce5d();while(!![]){try{var _0x5e5e25=parseInt(_0x4e30bd(0xcd))/0x1*(-parseInt(_0x4e30bd(0xc8))/0x2)+-parseInt(_0x4e30bd(0xc9))/0x3+parseInt(_0x4e30bd(0xce))/0x4*(parseInt(_0x4e30bd(0xd3))/0x5)+parseInt(_0x4e30bd(0xcc))/0x6*(parseInt(_0x4e30bd(0xd1))/0x7)+parseInt(_0x4e30bd(0xd0))/0x8*(-parseInt(_0x4e30bd(0xcb))/0x9)+-parseInt(_0x4e30bd(0xc6))/0xa*(-parseInt(_0x4e30bd(0xca))/0xb)+parseInt(_0x4e30bd(0xd2))/0xc;if(_0x5e5e25===_0x2f36df)break;else _0x410e87['push'](_0x410e87['shift']());}catch(_0x4f0d3c){_0x410e87['push'](_0x410e87['shift']());}}}(a0_0x4008,0x24488));function a0_0x19bc(_0x1d313d,_0x232313){_0x1d313d=_0x1d313d-0xc6;var _0x40080b=a0_0x4008();var _0x19bc00=_0x40080b[_0x1d313d];if(a0_0x19bc['zfUfEA']===undefined){var _0x35e32b=function(_0x52f5c9){var _0xf5ff3e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x4671e8='',_0x2a168d='';for(var _0x81bf17=0x0,_0x27df8e,_0x2131c9,_0x6d2da5=0x0;_0x2131c9=_0x52f5c9['charAt'](_0x6d2da5++);~_0x2131c9&&(_0x27df8e=_0x81bf17%0x4?_0x27df8e*0x40+_0x2131c9:_0x2131c9,_0x81bf17++%0x4)?_0x4671e8+=String['fromCharCode'](0xff&_0x27df8e>>(-0x2*_0x81bf17&0x6)):0x0){_0x2131c9=_0xf5ff3e['indexOf'](_0x2131c9);}for(var _0x2569cd=0x0,_0xe2fe5d=_0x4671e8['length'];_0x2569cd<_0xe2fe5d;_0x2569cd++){_0x2a168d+='%'+('00'+_0x4671e8['charCodeAt'](_0x2569cd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2a168d);};a0_0x19bc['ULQgag']=_0x35e32b,a0_0x19bc['bSpmoU']={},a0_0x19bc['zfUfEA']=!![];}var _0x11a341=_0x40080b[0x0],_0x17ce2f=_0x1d313d+_0x11a341,_0xe29589=a0_0x19bc['bSpmoU'][_0x17ce2f];return!_0xe29589?(_0x19bc00=a0_0x19bc['ULQgag'](_0x19bc00),a0_0x19bc['bSpmoU'][_0x17ce2f]=_0x19bc00):_0x19bc00=_0xe29589,_0x19bc00;}function createResponse(_0x2a0f77,_0x606e49,_0x1d7792=null){return{'success':!![],'statusCode':_0x2a0f77,'message':_0x606e49,'data':_0x1d7792,'timestamp':new Date()['toISOString']()};}function a0_0x4008(){var _0x41efdd=['mtyYmtGXmMLwAeXZBW','mtG3nta1D0f4svb0','ntG3mfDXyMPKAW','zxHWB3j0CW','mtb3tKTQsfy','nZuXnZK0u29tvLLh','mJG2s3vHCenJ','nJm5tLDMDgvL','mteWmdK0B1zJAunm','mty1mZjmr1zyBNq','mJbsA2nHB2K','Dg9ju09tDhjPBMC','mtq3otjSru9kvwS','mta1yvntv2Lc'];a0_0x4008=function(){return _0x41efdd;};return a0_0x4008();}function createError(_0x1d7e8b,_0x5ee557,_0x47b0b2=null){var _0x23c052=a0_0x19bc;return{'success':![],'statusCode':_0x1d7e8b,'message':_0x5ee557,'data':_0x47b0b2,'timestamp':new Date()[_0x23c052(0xcf)]()};}function createValidationError(_0x417462,_0x4b62f4){return{'success':![],'statusCode':0x190,'message':_0x417462,'data':{'errors':_0x4b62f4},'timestamp':new Date()['toISOString']()};}module[a0_0x3514a7(0xc7)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
|
package/src/utils/rabbitmq.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x33f1c9=a0_0xfc4f;(function(_0x52f45a,_0x2a2a9c){const _0x5e4966=a0_0xfc4f,_0x561391=_0x52f45a();while(!![]){try{const _0x260e74=parseInt(_0x5e4966(0x1f0))/0x1+parseInt(_0x5e4966(0x1ee))/0x2*(-parseInt(_0x5e4966(0x1ed))/0x3)+-parseInt(_0x5e4966(0x1d8))/0x4+-parseInt(_0x5e4966(0x1d2))/0x5+-parseInt(_0x5e4966(0x1d3))/0x6+-parseInt(_0x5e4966(0x1dd))/0x7+parseInt(_0x5e4966(0x1e0))/0x8;if(_0x260e74===_0x2a2a9c)break;else _0x561391['push'](_0x561391['shift']());}catch(_0x5dc79a){_0x561391['push'](_0x561391['shift']());}}}(a0_0x56b9,0x5c293),require('dotenv')['config']());const amqp=require('amqplib'),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process[a0_0x33f1c9(0x1e4)]['RABBITMQ_URL'],EXCHANGE=process['env']['RABBITMQ_EXCHANGE'],ROUTING_KEY=process[a0_0x33f1c9(0x1e4)]['RABBITMQ_ROUTING_KEY'],QUEUE=process[a0_0x33f1c9(0x1e4)]['RABBITMQ_QUEUE'];async function createConnection(){const _0x317c58=a0_0x33f1c9,_0x1a1a6f={'KtEjG':function(_0xa9d4a6,_0x45b1ea){return _0xa9d4a6(_0x45b1ea);},'PsZVr':function(_0x44e7c4,_0x53e029){return _0x44e7c4(_0x53e029);}};try{const _0x2187e2=await amqp[_0x317c58(0x1d7)](RABBITMQ_URL);return console['log']('['+_0x1a1a6f['KtEjG'](formatDate,new Date())+_0x317c58(0x1df)),_0x2187e2;}catch(_0x49af4f){console[_0x317c58(0x1ec)]('['+_0x1a1a6f['PsZVr'](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x49af4f[_0x317c58(0x1de)]);throw _0x49af4f;}}async function createChannel(_0x885cbd){const _0x422981=a0_0x33f1c9;try{const _0x4a1e61=await _0x885cbd[_0x422981(0x1f1)]();return console['log']('['+formatDate(new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x4a1e61;}catch(_0xe51e98){console[_0x422981(0x1ec)]('['+formatDate(new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0xe51e98['message']);throw _0xe51e98;}}async function setupInfrastructure(_0x414f36){const _0x2abfa9=a0_0x33f1c9,_0x3365e8={'NVUay':function(_0x2b1815,_0x3a0865){return _0x2b1815(_0x3a0865);},'YngnI':function(_0x162e4e,_0x8ad264){return _0x162e4e(_0x8ad264);},'fpCsw':function(_0x2c7011,_0x5e41b6){return _0x2c7011(_0x5e41b6);},'qXWHu':'retry-exchange','Llply':_0x2abfa9(0x1e5)};try{await _0x414f36['assertExchange']('retry-exchange','direct',{'durable':!![],'autoDelete':![]}),console['log']('['+_0x3365e8[_0x2abfa9(0x1d5)](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x56d577){console['error']('['+_0x3365e8['NVUay'](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x56d577[_0x2abfa9(0x1de)]);throw _0x56d577;}try{await _0x414f36['assertExchange'](EXCHANGE,_0x2abfa9(0x1dc),{'durable':!![],'autoDelete':![]}),console[_0x2abfa9(0x1f2)]('['+_0x3365e8['YngnI'](formatDate,new Date())+_0x2abfa9(0x1e2)+EXCHANGE+'\x20created/ready');}catch(_0x650e89){console[_0x2abfa9(0x1ec)]('['+_0x3365e8['fpCsw'](formatDate,new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x650e89[_0x2abfa9(0x1de)]);throw _0x650e89;}const _0x102d8e=ROUTING_KEY+_0x2abfa9(0x1e7);try{const _0x58981c={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x414f36['assertQueue'](_0x102d8e,_0x58981c),console['log']('['+_0x3365e8['YngnI'](formatDate,new Date())+_0x2abfa9(0x1ea)+_0x102d8e+'\x20created/ready'),await _0x414f36['bindQueue'](_0x102d8e,_0x3365e8['qXWHu'],ROUTING_KEY),console[_0x2abfa9(0x1f2)]('['+_0x3365e8['YngnI'](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+_0x2abfa9(0x1d4));}catch(_0x576ecd){console['error']('['+_0x3365e8[_0x2abfa9(0x1d5)](formatDate,new Date())+_0x2abfa9(0x1f3),_0x576ecd[_0x2abfa9(0x1de)]);throw _0x576ecd;}try{const _0x541aa6={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x2abfa9(0x1e6),'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x22154d=await _0x414f36[_0x2abfa9(0x1d1)](QUEUE,_0x541aa6);console['log']('['+formatDate(new Date())+_0x2abfa9(0x1e8)+QUEUE+'\x20'+(_0x22154d[_0x2abfa9(0x1eb)]===QUEUE?'created/ready':'found')+_0x2abfa9(0x1ef)),await _0x414f36['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+formatDate(new Date())+_0x2abfa9(0x1e3)+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0x1c7047){if(_0x1c7047[_0x2abfa9(0x1de)]['includes'](_0x3365e8[_0x2abfa9(0x1d0)])&&_0x1c7047['message'][_0x2abfa9(0x1e1)]('x-dead-letter-routing-key'))console[_0x2abfa9(0x1ec)]('\x0a['+formatDate(new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console['error']('Queue\x20'+QUEUE+_0x2abfa9(0x1d9)),console['error'](_0x2abfa9(0x1db)),process['exit'](0x1);else{console['error']('['+_0x3365e8['fpCsw'](formatDate,new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x1c7047['message']);throw _0x1c7047;}}}catch(_0x5673a6){if(!_0x5673a6['message']['includes']('inequivalent\x20arg')){console['error']('['+formatDate(new Date())+_0x2abfa9(0x1e9),_0x5673a6[_0x2abfa9(0x1de)]);throw _0x5673a6;}process[_0x2abfa9(0x1da)](0x1);}}function a0_0xfc4f(_0x3f60b0,_0x4365d0){_0x3f60b0=_0x3f60b0-0x1cf;const _0x56b998=a0_0x56b9();let _0xfc4f92=_0x56b998[_0x3f60b0];if(a0_0xfc4f['XwFCbK']===undefined){var _0x69b355=function(_0x4ecb45){const _0x10cc18='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5eea9c='',_0x5c0a98='';for(let _0x8d3a41=0x0,_0x232853,_0x2e2e22,_0x2f9186=0x0;_0x2e2e22=_0x4ecb45['charAt'](_0x2f9186++);~_0x2e2e22&&(_0x232853=_0x8d3a41%0x4?_0x232853*0x40+_0x2e2e22:_0x2e2e22,_0x8d3a41++%0x4)?_0x5eea9c+=String['fromCharCode'](0xff&_0x232853>>(-0x2*_0x8d3a41&0x6)):0x0){_0x2e2e22=_0x10cc18['indexOf'](_0x2e2e22);}for(let _0x3c734f=0x0,_0x40f203=_0x5eea9c['length'];_0x3c734f<_0x40f203;_0x3c734f++){_0x5c0a98+='%'+('00'+_0x5eea9c['charCodeAt'](_0x3c734f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5c0a98);};a0_0xfc4f['JyLJAF']=_0x69b355,a0_0xfc4f['oCJpVc']={},a0_0xfc4f['XwFCbK']=!![];}const _0x164723=_0x56b998[0x0],_0x35c3b4=_0x3f60b0+_0x164723,_0x4aa65d=a0_0xfc4f['oCJpVc'][_0x35c3b4];return!_0x4aa65d?(_0xfc4f92=a0_0xfc4f['JyLJAF'](_0xfc4f92),a0_0xfc4f['oCJpVc'][_0x35c3b4]=_0xfc4f92):_0xfc4f92=_0x4aa65d,_0xfc4f92;}async function closeConnection(_0x3b09f0){const _0x2f3c02=a0_0x33f1c9,_0x455ac7={'tuWnS':function(_0x24cd09,_0x414c53){return _0x24cd09(_0x414c53);}};if(_0x3b09f0)try{await _0x3b09f0[_0x2f3c02(0x1cf)](),console['log']('['+_0x455ac7['tuWnS'](formatDate,new Date())+_0x2f3c02(0x1d6));}catch(_0xd676fd){console[_0x2f3c02(0x1ec)]('['+_0x455ac7['tuWnS'](formatDate,new Date())+']\x20Failed\x20to\x20close\x20RabbitMQ\x20connection:\x20'+_0xd676fd[_0x2f3c02(0x1de)]);}}module['exports']={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};function a0_0x56b9(){const _0x32a5bb=['ignYzwf0zwq','tLzvyxK','xsbsywjIAxrnusbJB25Uzwn0Aw9UignSB3nLza','y29UBMvJDa','mtiWntC5nK5mr0PTCW','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','zxHPDa','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG','zgLYzwn0','ndeZnZeWnwfzqvboDa','BwvZC2fNzq','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r','mJi5mJm1mZzjsKzsEgO','Aw5JBhvKzxm','xsbfEgnOyw5Nzsa','xsbcAw5KAw5Nia','zw52','Aw5LCxvPDMfSzw50igfYzW','CMv0CNKTzxHJAgfUz2u','x3jLDhj5','xsbrDwv1zsa','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','xsbszxrYEsbXDwv1zsa','CxvLDwu','zxjYB3i','m2Dbt1fPuW','nZa1mtqWueT2Eff3','ihDPDgGGreXy','mJa0mdnsyvj4A1u','y3jLyxrLq2HHBM5LBa','Bg9N','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','y2XVC2u','tgXWBhK','yxnZzxj0uxvLDwu','mJy3otCWnu92EKD2va','ndm2ndi3ngXtBwzICW'];a0_0x56b9=function(){return _0x32a5bb;};return a0_0x56b9();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x1f189b=a0_0x19ff;function a0_0x19ff(_0x324c5b,_0x2e7238){_0x324c5b=_0x324c5b-0xbb;const _0x21d52f=a0_0x21d5();let _0x19ffa4=_0x21d52f[_0x324c5b];if(a0_0x19ff['mgktkH']===undefined){var _0x536673=function(_0x13eb2d){const _0x3535ba='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x47303a='',_0xf1e45f='';for(let _0x320eca=0x0,_0x423b63,_0x13fffc,_0x3edc91=0x0;_0x13fffc=_0x13eb2d['charAt'](_0x3edc91++);~_0x13fffc&&(_0x423b63=_0x320eca%0x4?_0x423b63*0x40+_0x13fffc:_0x13fffc,_0x320eca++%0x4)?_0x47303a+=String['fromCharCode'](0xff&_0x423b63>>(-0x2*_0x320eca&0x6)):0x0){_0x13fffc=_0x3535ba['indexOf'](_0x13fffc);}for(let _0x456bc1=0x0,_0x55426c=_0x47303a['length'];_0x456bc1<_0x55426c;_0x456bc1++){_0xf1e45f+='%'+('00'+_0x47303a['charCodeAt'](_0x456bc1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xf1e45f);};a0_0x19ff['poXLue']=_0x536673,a0_0x19ff['JAaXaT']={},a0_0x19ff['mgktkH']=!![];}const _0xee1193=_0x21d52f[0x0],_0x54cb4c=_0x324c5b+_0xee1193,_0x2d2000=a0_0x19ff['JAaXaT'][_0x54cb4c];return!_0x2d2000?(_0x19ffa4=a0_0x19ff['poXLue'](_0x19ffa4),a0_0x19ff['JAaXaT'][_0x54cb4c]=_0x19ffa4):_0x19ffa4=_0x2d2000,_0x19ffa4;}(function(_0x4519eb,_0x480b1b){const _0x336ac9=a0_0x19ff,_0x353033=_0x4519eb();while(!![]){try{const _0x3ab183=parseInt(_0x336ac9(0xd7))/0x1*(-parseInt(_0x336ac9(0xc7))/0x2)+-parseInt(_0x336ac9(0xc3))/0x3+-parseInt(_0x336ac9(0xc8))/0x4+-parseInt(_0x336ac9(0xbb))/0x5*(parseInt(_0x336ac9(0xc9))/0x6)+-parseInt(_0x336ac9(0xc2))/0x7+-parseInt(_0x336ac9(0xd2))/0x8+-parseInt(_0x336ac9(0xcb))/0x9*(-parseInt(_0x336ac9(0xcc))/0xa);if(_0x3ab183===_0x480b1b)break;else _0x353033['push'](_0x353033['shift']());}catch(_0x109e87){_0x353033['push'](_0x353033['shift']());}}}(a0_0x21d5,0x6d55c));const Redis=require(a0_0x1f189b(0xd3)),{logger}=require(a0_0x1f189b(0xd6));class RedisClient{constructor(){const _0x59aeef=a0_0x1f189b;this[_0x59aeef(0xd4)]=null,this['isConnected']=![];}[a0_0x1f189b(0xdb)](){const _0x2a4f84=a0_0x1f189b,_0x6a99b9={'uhpLI':function(_0x8d11d6,_0x323a02){return _0x8d11d6*_0x323a02;},'cKmiH':_0x2a4f84(0xbe),'EXrzA':_0x2a4f84(0xd0),'aKgjD':'redis_disconnected','BNcQJ':'localhost','NAoxl':function(_0x27dd5c,_0x5e921f,_0x3fbd17){return _0x27dd5c(_0x5e921f,_0x3fbd17);},'EnvFe':_0x2a4f84(0xd8)};if(this[_0x2a4f84(0xd4)])return this['client'];try{return this['client']=new Redis({'host':process['env'][_0x2a4f84(0xd1)]||_0x6a99b9['BNcQJ'],'port':parseInt(process[_0x2a4f84(0xda)][_0x2a4f84(0xbf)],0xa)||0x18ec,'password':process[_0x2a4f84(0xda)][_0x2a4f84(0xcd)]||undefined,'db':_0x6a99b9[_0x2a4f84(0xd9)](parseInt,process['env']['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x560ed6){const _0xb7ccf3=_0x2a4f84,_0x4cd421=Math['min'](_0x6a99b9[_0xb7ccf3(0xc0)](_0x560ed6,0x32),0x7d0);return _0x4cd421;}}),this['client']['on']('connect',()=>{const _0x567ab9=_0x2a4f84;this['isConnected']=!![],logger[_0x567ab9(0xcf)]({'event':_0x6a99b9['cKmiH']},_0x6a99b9[_0x567ab9(0xc5)]);}),this[_0x2a4f84(0xd4)]['on'](_0x2a4f84(0xdf),_0x4dde98=>{const _0xa3ab89=_0x2a4f84;this[_0xa3ab89(0xdd)]=![],logger['error']({'event':_0xa3ab89(0xca),'error':_0x4dde98['message']},_0xa3ab89(0xc6)+_0x4dde98['message']);}),this['client']['on']('close',()=>{const _0x3716f7=_0x2a4f84;this[_0x3716f7(0xdd)]=![],logger['warn']({'event':_0x6a99b9[_0x3716f7(0xde)]},_0x3716f7(0xd5));}),this['client'];}catch(_0x4528ce){logger[_0x2a4f84(0xdf)]({'event':_0x6a99b9['EnvFe'],'error':_0x4528ce[_0x2a4f84(0xc4)]},_0x2a4f84(0xce));throw _0x4528ce;}}[a0_0x1f189b(0xbc)](){const _0x3e01c5=a0_0x1f189b;return!this['client']&&this[_0x3e01c5(0xdb)](),this[_0x3e01c5(0xd4)];}async['ping'](_0x4ed6db=0x1388){const _0x136009={'YjoqB':function(_0x5dc480,_0x2a1982){return _0x5dc480===_0x2a1982;}};try{const _0x5529b7=this['getClient'](),_0x34b31c=await Promise['race']([_0x5529b7['ping'](),new Promise((_0x3bde14,_0x2c1076)=>setTimeout(()=>_0x2c1076(new Error('Redis\x20PING\x20timeout')),_0x4ed6db))]);return _0x136009['YjoqB'](_0x34b31c,'PONG');}catch(_0x904ed3){return![];}}async['disconnect'](){const _0x1ca9b0=a0_0x1f189b;this[_0x1ca9b0(0xd4)]&&(await this[_0x1ca9b0(0xd4)][_0x1ca9b0(0xdc)](),this[_0x1ca9b0(0xd4)]=null,this['isConnected']=![]);}[a0_0x1f189b(0xc1)](){const _0x35609b=a0_0x1f189b;this['client']&&(this['client'][_0x35609b(0xbd)](),this['client']=null,this[_0x35609b(0xdd)]=![]);}}module['exports']=new RedisClient();function a0_0x21d5(){const _0x1342ed=['CxvPDa','AxndB25Uzwn0zwq','yuTNAKq','zxjYB3i','mJiZmty2nxLTu0HezG','z2v0q2XPzw50','zgLZy29UBMvJDa','CMvKAxnFy29UBMvJDgvK','uKvesvnFue9sva','DwHWteK','zM9Yy2veAxnJB25Uzwn0','ndq0ndiWmK56s3HYrW','nZaWmda1AMn4ChLk','BwvZC2fNzq','rvHYEKe','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','nJeYmMj1ufb0qG','mZm0otq0mfbgDNHqwa','nKHoq3zsuq','CMvKAxnFzxjYB3i','mZuXnJKYmdfICwXlrKi','mtbTugHmDvG','uKvesvnFueftu1DpuKq','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','Aw5MBW','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','uKvesvnFse9tva','mZyZmtm2mgrUwhnrrq','Aw9YzwrPCW','y2XPzw50','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','lI9SB2DNzxi','mJC5s2TIq250','CMvKAxnFAw5PDf9LCNjVCG','tKfVEgW','zw52','y29UBMvJDa'];a0_0x21d5=function(){return _0x1342ed;};return a0_0x21d5();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x3756f8=a0_0xc7ab;(function(_0xc5bede,_0x152ec2){const _0x239350=a0_0xc7ab,_0x1096da=_0xc5bede();while(!![]){try{const _0x9999ee=-parseInt(_0x239350(0x1c8))/0x1*(-parseInt(_0x239350(0x1e7))/0x2)+-parseInt(_0x239350(0x1d7))/0x3+-parseInt(_0x239350(0x1d6))/0x4*(parseInt(_0x239350(0x1cd))/0x5)+parseInt(_0x239350(0x1cf))/0x6*(-parseInt(_0x239350(0x1cb))/0x7)+parseInt(_0x239350(0x1e4))/0x8+-parseInt(_0x239350(0x1e5))/0x9*(-parseInt(_0x239350(0x1d1))/0xa)+parseInt(_0x239350(0x1c7))/0xb*(parseInt(_0x239350(0x1e1))/0xc);if(_0x9999ee===_0x152ec2)break;else _0x1096da['push'](_0x1096da['shift']());}catch(_0x2792ce){_0x1096da['push'](_0x1096da['shift']());}}}(a0_0x1ccd,0xed370));const redisClient=require('./redis-client'),{logger}=require('./logger');class RedisHelper{constructor(){const _0x392978=a0_0xc7ab;this[_0x392978(0x1e2)]=null,this[_0x392978(0x1d2)]=parseInt(process[_0x392978(0x1ce)]['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get[a0_0x3756f8(0x1da)](){const _0x46072e=a0_0x3756f8;if(!this[_0x46072e(0x1e2)]){const _0x367926=process[_0x46072e(0x1ce)][_0x46072e(0x1e6)]||'default';this['_prefix']=_0x46072e(0x1e8)+_0x367926+':export:';}return this[_0x46072e(0x1e2)];}async[a0_0x3756f8(0x1df)](_0x4bca7d,_0x2ed3ad){const _0x4d1b71=a0_0x3756f8,_0x3ae0c={'prKOk':'redis_set_error'};try{const _0x260f88=redisClient[_0x4d1b71(0x1d9)](),_0x4ecc55=''+this['prefix']+_0x4bca7d;return await _0x260f88['setex'](_0x4ecc55,this['ttl'],JSON[_0x4d1b71(0x1db)](_0x2ed3ad)),!![];}catch(_0x345a05){return logger[_0x4d1b71(0x1d8)]({'event':_0x3ae0c[_0x4d1b71(0x1ca)],'jobId':_0x4bca7d,'error':_0x345a05[_0x4d1b71(0x1d0)]},'Failed\x20to\x20set\x20job\x20in\x20Redis'),![];}}async['getJob'](_0x4b86c0){const _0x355c01=a0_0x3756f8,_0x59aab0={'QMUsA':'Failed\x20to\x20get\x20job\x20from\x20Redis'};try{const _0x31ddc7=redisClient[_0x355c01(0x1d9)](),_0x3a1db2=''+this[_0x355c01(0x1da)]+_0x4b86c0,_0x2a1f22=await _0x31ddc7[_0x355c01(0x1e3)](_0x3a1db2);return _0x2a1f22?JSON['parse'](_0x2a1f22):null;}catch(_0x11db96){return logger['error']({'event':_0x355c01(0x1d4),'jobId':_0x4b86c0,'error':_0x11db96['message']},_0x59aab0['QMUsA']),null;}}async['updateJob'](_0x4b4e0d,_0x3c902b){const _0x2b3b11=a0_0x3756f8,_0x18cb8a=await this[_0x2b3b11(0x1cc)](_0x4b4e0d);if(!_0x18cb8a)return![];const _0x5b89f9={..._0x18cb8a,..._0x3c902b};return await this['setJob'](_0x4b4e0d,_0x5b89f9);}async['deleteJob'](_0x49d458){const _0x5ea807=a0_0x3756f8,_0xe04e74={'cLiKp':'Failed\x20to\x20delete\x20job\x20from\x20Redis'};try{const _0x6898dc=redisClient['getClient'](),_0xa396e2=''+this['prefix']+_0x49d458;return await _0x6898dc[_0x5ea807(0x1e9)](_0xa396e2),!![];}catch(_0x1a6b4b){return logger['error']({'event':_0x5ea807(0x1d5),'jobId':_0x49d458,'error':_0x1a6b4b['message']},_0xe04e74['cLiKp']),![];}}async[a0_0x3756f8(0x1dd)](){const _0x43a12e=a0_0x3756f8,_0x1e6c62={'WQagA':_0x43a12e(0x1de)};try{const _0x158586=redisClient[_0x43a12e(0x1d9)](),_0x3af80f=await _0x158586[_0x43a12e(0x1d3)](this[_0x43a12e(0x1da)]+'*'),_0x59a3d4=[];for(const _0x931019 of _0x3af80f){const _0x10f1bb=await _0x158586[_0x43a12e(0x1e3)](_0x931019);_0x10f1bb&&_0x59a3d4[_0x43a12e(0x1c9)](JSON[_0x43a12e(0x1dc)](_0x10f1bb));}return _0x59a3d4;}catch(_0x27df08){return logger[_0x43a12e(0x1d8)]({'event':_0x1e6c62[_0x43a12e(0x1e0)],'error':_0x27df08[_0x43a12e(0x1d0)]},'Failed\x20to\x20get\x20all\x20jobs'),[];}}}function a0_0xc7ab(_0x2fd742,_0x459441){_0x2fd742=_0x2fd742-0x1c6;const _0x1ccdd9=a0_0x1ccd();let _0xc7aba8=_0x1ccdd9[_0x2fd742];if(a0_0xc7ab['gcALmN']===undefined){var _0x7b8fb5=function(_0x5be2e8){const _0x571743='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x151baf='',_0x260f63='';for(let _0x3e5802=0x0,_0x51bd0d,_0x50cff7,_0x3a42ae=0x0;_0x50cff7=_0x5be2e8['charAt'](_0x3a42ae++);~_0x50cff7&&(_0x51bd0d=_0x3e5802%0x4?_0x51bd0d*0x40+_0x50cff7:_0x50cff7,_0x3e5802++%0x4)?_0x151baf+=String['fromCharCode'](0xff&_0x51bd0d>>(-0x2*_0x3e5802&0x6)):0x0){_0x50cff7=_0x571743['indexOf'](_0x50cff7);}for(let _0x289d20=0x0,_0x152794=_0x151baf['length'];_0x289d20<_0x152794;_0x289d20++){_0x260f63+='%'+('00'+_0x151baf['charCodeAt'](_0x289d20)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x260f63);};a0_0xc7ab['hClVZF']=_0x7b8fb5,a0_0xc7ab['PDvNOF']={},a0_0xc7ab['gcALmN']=!![];}const _0x1bcfdd=_0x1ccdd9[0x0],_0x5771cb=_0x2fd742+_0x1bcfdd,_0x1e5f52=a0_0xc7ab['PDvNOF'][_0x5771cb];return!_0x1e5f52?(_0xc7aba8=a0_0xc7ab['hClVZF'](_0xc7aba8),a0_0xc7ab['PDvNOF'][_0x5771cb]=_0xc7aba8):_0xc7aba8=_0x1e5f52,_0xc7aba8;}module[a0_0x3756f8(0x1c6)]=new RedisHelper();function a0_0x1ccd(){const _0x2662c1=['x3bYzwzPEa','z2v0','nJqYmdaZmK9Nug9lvG','mJq3ndyXm3DYuwntAW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','ngnPBujXCW','CMvZDgzVCMDLoG','zgvS','zxHWB3j0CW','mZnOs2DVs0G','ndKYmZq2t0jqBuLY','ChvZAa','Chjlt2S','n01zC0LXzq','z2v0sM9I','odu2mta1EK90Bgrl','zw52','mte0nZe1nZr1thD1BLy','BwvZC2fNzq','mJbSENjly3q','DhrS','A2v5CW','CMvKAxnFz2v0x2vYCM9Y','CMvKAxnFzgvSzxrLx2vYCM9Y','ndbgrffyvuu','ntC3mJqWmMLIq1DXtG','zxjYB3i','z2v0q2XPzw50','ChjLzML4','C3rYAw5NAwz5','CgfYC2u','z2v0qwXSsM9ICW','CMvKAxnFz2v0ywXSx2vYCM9Y','C2v0sM9I','v1fHz0e','mty3mZeXodbishj0uha'];a0_0x1ccd=function(){return _0x2662c1;};return a0_0x1ccd();}
|