@restforgejs/platform 5.2.10 → 5.2.12
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/bin/drift-check-linux +0 -0
- package/bin/sdf-tools-linux +0 -0
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/fast-track.js +147 -27
- package/generators/cli/schema/init.js +20 -6
- package/generators/cli/schema/template.js +24 -9
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/integrity-manifest.json +18 -18
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/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_0x1933ef=a0_0xc221;function a0_0xc221(_0x25f472,_0x37fd86){_0x25f472=_0x25f472-0x186;const _0x49ca69=a0_0x49ca();let _0xc221db=_0x49ca69[_0x25f472];if(a0_0xc221['KBmZNg']===undefined){var _0x30a7de=function(_0x125fce){const _0x434c41='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x34dd7f='',_0x51abe3='';for(let _0x25f4ea=0x0,_0x3950e1,_0x1cac76,_0x4e6423=0x0;_0x1cac76=_0x125fce['charAt'](_0x4e6423++);~_0x1cac76&&(_0x3950e1=_0x25f4ea%0x4?_0x3950e1*0x40+_0x1cac76:_0x1cac76,_0x25f4ea++%0x4)?_0x34dd7f+=String['fromCharCode'](0xff&_0x3950e1>>(-0x2*_0x25f4ea&0x6)):0x0){_0x1cac76=_0x434c41['indexOf'](_0x1cac76);}for(let _0x3f25bb=0x0,_0x5a7d3a=_0x34dd7f['length'];_0x3f25bb<_0x5a7d3a;_0x3f25bb++){_0x51abe3+='%'+('00'+_0x34dd7f['charCodeAt'](_0x3f25bb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x51abe3);};a0_0xc221['OjIghi']=_0x30a7de,a0_0xc221['nuaqKY']={},a0_0xc221['KBmZNg']=!![];}const _0x463edd=_0x49ca69[0x0],_0x4f358d=_0x25f472+_0x463edd,_0x38efda=a0_0xc221['nuaqKY'][_0x4f358d];return!_0x38efda?(_0xc221db=a0_0xc221['OjIghi'](_0xc221db),a0_0xc221['nuaqKY'][_0x4f358d]=_0xc221db):_0xc221db=_0x38efda,_0xc221db;}(function(_0x1ca8ad,_0xc0fb21){const _0x2d95e5=a0_0xc221,_0x59fed2=_0x1ca8ad();while(!![]){try{const _0x3b979f=-parseInt(_0x2d95e5(0x18f))/0x1+-parseInt(_0x2d95e5(0x1da))/0x2*(parseInt(_0x2d95e5(0x1d3))/0x3)+parseInt(_0x2d95e5(0x19f))/0x4+-parseInt(_0x2d95e5(0x1a2))/0x5*(parseInt(_0x2d95e5(0x1bc))/0x6)+parseInt(_0x2d95e5(0x1d4))/0x7+-parseInt(_0x2d95e5(0x18a))/0x8+parseInt(_0x2d95e5(0x1be))/0x9*(parseInt(_0x2d95e5(0x1cb))/0xa);if(_0x3b979f===_0xc0fb21)break;else _0x59fed2['push'](_0x59fed2['shift']());}catch(_0x581d86){_0x59fed2['push'](_0x59fed2['shift']());}}}(a0_0x49ca,0x19198));function a0_0x49ca(){const _0x21082c=['z2v0','zw52','x3n0CMf0zwD5','uNvWy2m','x2rLzMf1BhruveW','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','CgLK','CMv0CNLdB3vUDa','BM93','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','ChjLzML4','z2v0q2XPzw50','v1jjveuGBg9JAYbYzwXLyxnLza','zKP4Cu4','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzxHWAxjLiIWGs0vzu1SXxsWGqvjhvLSYxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','mtH0whb4ugm','zujvtuS','mtHPy2DAwgO','x2LUAxrdB25MAwC','x3jLDhj5q291BNq','D3jPDgvFBg9JA19Hy3f1AxjLza','D2fYBG','ywXS','Cg93','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','zgvJCG','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','x3DVCMTLCKLK','D3jPDgvFBg9JA193ywL0Aw5N','D3jPDgvFBg9JA19YzwXLyxnLza','mJeYody5me5czMjgqW','Aw5MBW','CMvHzf9SB2nRx2fJCxvPCMvK','D29YA2vYlq','x2LUAxrPywXPEMvK','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','BwvZC2fNzq','tNLmrxe','ntq2oti3BKLfC1HQ','mtaZmJiYn3DhDhLJCa','x2vUywjSzwq','CMv0CNLezwXHEq','x3bYzwzPEa','uKvbrcbSB2nRigvYCM9Y','C3rYyxrLz3K','mLPYvhnkCW','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','uMzPq3O','C2v0','D29YA2vYswq','CMvSzwfZzuXVy2S','yNvPBgrmB2nRs2v5','mtyWntG1nKjYyLbbuq','C2XLzxa','z012vwy','C3bSAxq','tg9JAYbuveWGzxH0zw5Kzwq','mti5ota3tu1kuvns','zxjYB3i','zgvIDwC','oNjLywq6','Bg9JA19LEhrLBMrLza','zejUrgO','zgvMyxvSDfruta','yM9PvLm','CMvHzf9SB2nRx3jLBgvHC2vK','twjctNe','tfDKv3a','te9ds19esvnuuKLcvvrfrf9srvrswq','CxL0Bhu','uKvbrcbSB2nRigfJCxvPCMvK','ELzoB3y','BvHzq0G','nZK4otKYzwH2y2Hn','tg9JAYbLEhrLBMqGzxjYB3i','z2vUzxjHDgvmB2nRvMfSDwu','mJyXotG1B2P2wMzy','x2vUC3vYzuLUAxrPywXPEMvK','x3jLDhj5rgvSyxK','zxH0zw5Ktg9JAW','CMy6Bg9JAZO','ywnXDwLYzvDYAxrLtg9JAW','CMv0CNK','zxHWAxjL','CMvHza','Dhj1zq','zw5HyMXLza'];a0_0x49ca=function(){return _0x21082c;};return a0_0x49ca();}const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x460758=a0_0xc221;this[_0x460758(0x1d7)]=null,this[_0x460758(0x1d5)]=null,this['_defaultTTL']=null,this[_0x460758(0x1c0)]=null,this[_0x460758(0x1a4)]=null,this['_strategy']=null,this[_0x460758(0x1c8)]=null,this[_0x460758(0x1cf)]=![];}[a0_0x1933ef(0x1bf)](){const _0x4dd7d4=a0_0x1933ef,_0x313f40={'gMvUf':'lock_config_init','oIhde':function(_0x2601fd,_0x549b74){return _0x2601fd===_0x549b74;}},_0x4ae3a1='8|7|3|0|1|4|2|5|6'[_0x4dd7d4(0x18d)]('|');let _0x5316db=0x0;while(!![]){switch(_0x4ae3a1[_0x5316db++]){case'0':this['_retryCount']=parseInt(process['env'][_0x4dd7d4(0x19a)],0xa)||0x3;continue;case'1':this[_0x4dd7d4(0x1a4)]=parseInt(process[_0x4dd7d4(0x1ae)]['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64;continue;case'2':this[_0x4dd7d4(0x1c8)]=_0x4dd7d4(0x1ce)+process[_0x4dd7d4(0x1b3)];continue;case'3':this[_0x4dd7d4(0x1b1)]=parseInt(process[_0x4dd7d4(0x1ae)]['LOCK_DISTRIBUTED_TTL'],0xa)||0xa;continue;case'4':this[_0x4dd7d4(0x1af)]=process['env']['LOCK_DISTRIBUTED_STRATEGY']||_0x4dd7d4(0x1a8);continue;case'5':this[_0x4dd7d4(0x1cf)]=!![];continue;case'6':logger[_0x4dd7d4(0x1cc)]({'event':_0x313f40[_0x4dd7d4(0x18c)],'enabled':this[_0x4dd7d4(0x1d5)],'strategy':this['_strategy'],'ttl':this[_0x4dd7d4(0x1b1)],'retryCount':this[_0x4dd7d4(0x1c0)],'retryDelay':this[_0x4dd7d4(0x1a4)],'workerId':this[_0x4dd7d4(0x1c8)]},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this[_0x4dd7d4(0x1d5)]+',\x20strategy:\x20'+this[_0x4dd7d4(0x1af)]);continue;case'7':this[_0x4dd7d4(0x1d5)]=_0x313f40['oIhde'](process['env']['LOCK_DISTRIBUTED_ENABLED'],_0x4dd7d4(0x1ab));continue;case'8':this['_prefix']=_0x4dd7d4(0x1a6);continue;}break;}}['_ensureInitialized'](){const _0x116853=a0_0x1933ef;!this[_0x116853(0x1cf)]&&this['_initConfig']();}get[a0_0x1933ef(0x1b7)](){const _0x7ddfe7=a0_0x1933ef;return this['_ensureInitialized'](),this[_0x7ddfe7(0x1d7)];}get[a0_0x1933ef(0x1ac)](){const _0x43b992=a0_0x1933ef;return this[_0x43b992(0x1a3)](),this[_0x43b992(0x1d5)];}get[a0_0x1933ef(0x195)](){return this['_ensureInitialized'](),this['_defaultTTL'];}get[a0_0x1933ef(0x1b4)](){const _0x3b86f7=a0_0x1933ef;return this['_ensureInitialized'](),this[_0x3b86f7(0x1c0)];}get[a0_0x1933ef(0x1d6)](){const _0x51442e=a0_0x1933ef;return this[_0x51442e(0x1a3)](),this[_0x51442e(0x1a4)];}get[a0_0x1933ef(0x1d9)](){return this['_ensureInitialized'](),this['_strategy'];}get['workerId'](){const _0x39f392=a0_0x1933ef;return this['_ensureInitialized'](),this[_0x39f392(0x1c8)];}[a0_0x1933ef(0x189)](_0x28595d){const {module:_0x5dde29,endpoint:_0x5f47e3,lockType:_0x8aaa40,recordId:_0x3cf736}=_0x28595d;if(_0x3cf736)return''+this['prefix']+_0x5dde29+':'+_0x5f47e3+':'+_0x3cf736+':'+_0x8aaa40;return''+this['prefix']+_0x5dde29+':'+_0x5f47e3+':'+_0x8aaa40;}[a0_0x1933ef(0x1a1)](){const _0x2ef334=a0_0x1933ef,_0x4883f0={'EKiDr':function(_0x530a87){return _0x530a87();}};return this[_0x2ef334(0x187)]+':'+_0x4883f0['EKiDr'](uuidv4)+':'+Date[_0x2ef334(0x1b5)]();}async['acquireReadLock'](_0x4ac8bb){const _0xa1e0b4=a0_0x1933ef,_0x4e7eb5={'MbBNq':'write','zVNov':_0xa1e0b4(0x19c),'qytlu':'read_lock_waiting','kOuDG':'read_lock_timeout','VdQWm':_0xa1e0b4(0x1d0)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0xebb54b=this['buildLockKey']({..._0x4ac8bb,'lockType':_0x4e7eb5[_0xa1e0b4(0x198)]}),_0xab4582=this[_0xa1e0b4(0x189)]({..._0x4ac8bb,'lockType':_0xa1e0b4(0x1aa)}),_0x4d3c1f=this[_0xa1e0b4(0x1a1)]();try{const _0x14d82a=redisClient[_0xa1e0b4(0x1b8)]();for(let _0x3f77cb=0x0;_0x3f77cb<this['retryCount'];_0x3f77cb++){const _0x252e99=await _0x14d82a[_0xa1e0b4(0x1ad)](_0xebb54b);if(!_0x252e99){await _0x14d82a['incr'](_0xab4582),await _0x14d82a[_0xa1e0b4(0x1a9)](_0xab4582,this[_0xa1e0b4(0x195)]);const _0x59a370=_0xab4582+':'+_0x4d3c1f;return await _0x14d82a['setex'](_0x59a370,this[_0xa1e0b4(0x195)],_0x4d3c1f),logger[_0xa1e0b4(0x191)]({'event':_0xa1e0b4(0x1cd),'key':_0xab4582,'value':_0x4d3c1f},_0x4e7eb5[_0xa1e0b4(0x19d)]),{'success':!![],'lockValue':_0x4d3c1f,'lockKey':_0x59a370};}logger[_0xa1e0b4(0x191)]({'event':_0x4e7eb5[_0xa1e0b4(0x19b)],'writeKey':_0xebb54b,'attempt':_0x3f77cb},'Waiting\x20for\x20WRITE\x20lock\x20to\x20release'),await this['sleep'](this['retryDelay']*Math[_0xa1e0b4(0x1c4)](0x2,_0x3f77cb));}return logger[_0xa1e0b4(0x1c2)]({'event':_0x4e7eb5['kOuDG'],'key':_0xab4582},_0x4e7eb5['VdQWm']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0xf42367){return logger[_0xa1e0b4(0x190)]({'event':'read_lock_error','error':_0xf42367['message']},_0xa1e0b4(0x1d8)),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x1933ef(0x1a7)](_0x244b1e){const _0x2d7ab9=a0_0x1933ef,_0x509b1e={'NLyLB':_0x2d7ab9(0x1aa),'boiVS':_0x2d7ab9(0x1c1),'NMKez':'write_lock_rejected','RfiCz':_0x2d7ab9(0x1db),'dBnDj':function(_0x182816,_0x223453){return _0x182816<_0x223453;},'NTDmI':function(_0x40a80e,_0x3e9866){return _0x40a80e===_0x3e9866;},'SolsJ':function(_0x5a4b6a,_0x2addd0){return _0x5a4b6a===_0x2addd0;},'NyLEq':_0x2d7ab9(0x1c5),'QXcsE':function(_0x173f7d,_0x4c44c9){return _0x173f7d*_0x4c44c9;},'fJxqN':'write_lock_timeout','Jwrpu':'write_lock_error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x986be4=this['buildLockKey']({..._0x244b1e,'lockType':'write'}),_0x311d60=this['buildLockKey']({..._0x244b1e,'lockType':_0x509b1e['NLyLB']}),_0x418f20=this['generateLockValue']();try{const _0x40020b=redisClient[_0x2d7ab9(0x1b8)]();if(this[_0x2d7ab9(0x1d9)]==='reject'){const _0x4dc44b=await _0x40020b[_0x2d7ab9(0x186)](_0x986be4,_0x418f20,'EX',this['defaultTTL'],'NX');if(_0x4dc44b==='OK')return logger['debug']({'event':_0x509b1e['boiVS'],'key':_0x986be4,'value':_0x418f20,'strategy':'reject'},'WRITE\x20lock\x20acquired\x20(reject\x20mode)'),{'success':!![],'lockValue':_0x418f20,'lockKey':_0x986be4};return logger[_0x2d7ab9(0x191)]({'event':_0x509b1e['NMKez'],'key':_0x986be4},_0x509b1e[_0x2d7ab9(0x1dc)]),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x130bbb=0x0;_0x509b1e[_0x2d7ab9(0x194)](_0x130bbb,this[_0x2d7ab9(0x1b4)]);_0x130bbb++){const [_0x1db012,_0x549ecc]=await Promise['all']([_0x40020b['get'](_0x311d60),_0x40020b[_0x2d7ab9(0x1ad)](_0x986be4)]);if(!_0x549ecc&&(!_0x1db012||_0x509b1e['NTDmI'](parseInt(_0x1db012),0x0))){const _0x3312c6=await _0x40020b['set'](_0x986be4,_0x418f20,'EX',this['defaultTTL'],'NX');if(_0x509b1e['SolsJ'](_0x3312c6,'OK'))return logger['debug']({'event':_0x509b1e[_0x2d7ab9(0x196)],'key':_0x986be4,'value':_0x418f20,'strategy':'retry'},_0x509b1e[_0x2d7ab9(0x1d2)]),{'success':!![],'lockValue':_0x418f20,'lockKey':_0x986be4};}logger[_0x2d7ab9(0x191)]({'event':_0x2d7ab9(0x1c9),'writeKey':_0x986be4,'readCount':_0x1db012,'attempt':_0x130bbb},_0x2d7ab9(0x1c7)),await this[_0x2d7ab9(0x18b)](_0x509b1e['QXcsE'](this[_0x2d7ab9(0x1d6)],Math[_0x2d7ab9(0x1c4)](0x2,_0x130bbb)));}return logger['warn']({'event':_0x509b1e[_0x2d7ab9(0x1ba)],'key':_0x986be4},_0x2d7ab9(0x1b6)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x46d370){return logger[_0x2d7ab9(0x190)]({'event':_0x509b1e['Jwrpu'],'error':_0x46d370['message']},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x1933ef(0x188)](_0x1c7f5e,_0x2dd778){const _0x231282=a0_0x1933ef,_0x23dfd9={'LWdWp':_0x231282(0x192),'BfItH':function(_0x4d9ce7,_0x4b5373){return _0x4d9ce7>_0x4b5373;},'kUNvQ':function(_0x18adf4,_0x409dba){return _0x18adf4(_0x409dba);},'eBUMK':_0x231282(0x1b9),'AvQHr':'lock_release_not_owner','CxAiY':'Lock\x20release\x20error'};if(!this[_0x231282(0x1ac)]||!_0x1c7f5e)return!![];try{const _0x5c26ea=redisClient[_0x231282(0x1b8)]();if(_0x1c7f5e['includes'](_0x23dfd9[_0x231282(0x199)])){await _0x5c26ea['del'](_0x1c7f5e);const _0x42a38e=_0x1c7f5e['substring'](0x0,_0x1c7f5e['lastIndexOf'](':')),_0x9ab26b=await _0x5c26ea[_0x231282(0x1ad)](_0x42a38e);return _0x9ab26b&&_0x23dfd9['BfItH'](_0x23dfd9['kUNvQ'](parseInt,_0x9ab26b),0x0)&&await _0x5c26ea[_0x231282(0x1c6)](_0x42a38e),logger[_0x231282(0x191)]({'event':_0x231282(0x197),'key':_0x1c7f5e},'READ\x20lock\x20released'),!![];}const _0x9315f4=_0x231282(0x1b2),_0x474ba9=await _0x5c26ea['eval'](_0x9315f4,0x1,_0x1c7f5e,_0x2dd778);if(_0x474ba9===0x1)return logger[_0x231282(0x191)]({'event':_0x231282(0x1ca),'key':_0x1c7f5e},_0x23dfd9[_0x231282(0x1bd)]),!![];return logger[_0x231282(0x1c2)]({'event':_0x23dfd9['AvQHr'],'key':_0x1c7f5e},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0x2c9e2f){return logger[_0x231282(0x190)]({'event':'lock_release_error','key':_0x1c7f5e,'error':_0x2c9e2f['message']},_0x23dfd9['CxAiY']),![];}}async[a0_0x1933ef(0x1a5)](_0x100427,_0x562863,_0xcd3ce4=null){const _0x54f696=a0_0x1933ef,_0x35a85c={'mXYCH':function(_0x3bfb2b,_0x5a571e){return _0x3bfb2b===_0x5a571e;},'puVtr':_0x54f696(0x193),'xHeMH':'lock_extend_error'};if(!this['enabled']||!_0x100427)return!![];try{const _0x2d1ac7=redisClient[_0x54f696(0x1b8)](),_0x2696d9=_0x54f696(0x1bb),_0x67c662=await _0x2d1ac7['eval'](_0x2696d9,0x1,_0x100427,_0x562863,_0xcd3ce4||this[_0x54f696(0x195)]);if(_0x35a85c[_0x54f696(0x19e)](_0x67c662,0x1))return logger[_0x54f696(0x191)]({'event':_0x35a85c['puVtr'],'key':_0x100427,'ttl':_0xcd3ce4||this[_0x54f696(0x195)]},_0x54f696(0x18e)),!![];return![];}catch(_0x74e57f){return logger['error']({'event':_0x35a85c['xHeMH'],'key':_0x100427,'error':_0x74e57f['message']},_0x54f696(0x1a0)),![];}}['isEnabled'](){const _0x5b6824=a0_0x1933ef;return this[_0x5b6824(0x1ac)];}[a0_0x1933ef(0x18b)](_0x1ed251){return new Promise(_0x136c6a=>setTimeout(_0x136c6a,_0x1ed251));}async['getLockInfo'](_0x6e57ab){const _0x139a79=a0_0x1933ef,_0x266318={'yNfbY':'write','Rupcc':'read'};if(!this[_0x139a79(0x1ac)])return{'enabled':![]};try{const _0x40e332=redisClient[_0x139a79(0x1b8)](),_0x339efc=this['buildLockKey']({..._0x6e57ab,'lockType':_0x266318['yNfbY']}),_0x2e4617=this[_0x139a79(0x189)]({..._0x6e57ab,'lockType':_0x266318[_0x139a79(0x1b0)]}),[_0x926834,_0x3f2e5d]=await Promise[_0x139a79(0x1c3)]([_0x40e332[_0x139a79(0x1ad)](_0x339efc),_0x40e332['get'](_0x2e4617)]);return{'enabled':!![],'writeLock':_0x926834||null,'readCount':parseInt(_0x3f2e5d)||0x0,'writeKey':_0x339efc,'readKey':_0x2e4617};}catch(_0xb27b6f){return{'enabled':!![],'error':_0xb27b6f[_0x139a79(0x1d1)]};}}}module['exports']=new LockManager();
|
|
1
|
+
function a0_0x1fb6(_0x522127,_0x1a7df4){_0x522127=_0x522127-0x1d8;const _0x5a1699=a0_0x5a16();let _0x1fb674=_0x5a1699[_0x522127];if(a0_0x1fb6['coFuhe']===undefined){var _0x48fb45=function(_0x32d0e6){const _0x1062d9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4682b4='',_0x438577='';for(let _0x193086=0x0,_0x3fc0c4,_0x1d7a8e,_0x213116=0x0;_0x1d7a8e=_0x32d0e6['charAt'](_0x213116++);~_0x1d7a8e&&(_0x3fc0c4=_0x193086%0x4?_0x3fc0c4*0x40+_0x1d7a8e:_0x1d7a8e,_0x193086++%0x4)?_0x4682b4+=String['fromCharCode'](0xff&_0x3fc0c4>>(-0x2*_0x193086&0x6)):0x0){_0x1d7a8e=_0x1062d9['indexOf'](_0x1d7a8e);}for(let _0x5e9f8c=0x0,_0x29246e=_0x4682b4['length'];_0x5e9f8c<_0x29246e;_0x5e9f8c++){_0x438577+='%'+('00'+_0x4682b4['charCodeAt'](_0x5e9f8c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x438577);};a0_0x1fb6['lEVdjw']=_0x48fb45,a0_0x1fb6['opBrkc']={},a0_0x1fb6['coFuhe']=!![];}const _0x5ebd87=_0x5a1699[0x0],_0x1f40bc=_0x522127+_0x5ebd87,_0x142793=a0_0x1fb6['opBrkc'][_0x1f40bc];return!_0x142793?(_0x1fb674=a0_0x1fb6['lEVdjw'](_0x1fb674),a0_0x1fb6['opBrkc'][_0x1f40bc]=_0x1fb674):_0x1fb674=_0x142793,_0x1fb674;}const a0_0x29028c=a0_0x1fb6;(function(_0x25646d,_0x1bd853){const _0x5e8590=a0_0x1fb6,_0x572c1f=_0x25646d();while(!![]){try{const _0x4a145b=-parseInt(_0x5e8590(0x1f5))/0x1*(-parseInt(_0x5e8590(0x208))/0x2)+parseInt(_0x5e8590(0x21f))/0x3+-parseInt(_0x5e8590(0x1ef))/0x4*(-parseInt(_0x5e8590(0x222))/0x5)+parseInt(_0x5e8590(0x21d))/0x6+parseInt(_0x5e8590(0x204))/0x7+parseInt(_0x5e8590(0x205))/0x8+-parseInt(_0x5e8590(0x20b))/0x9*(parseInt(_0x5e8590(0x20c))/0xa);if(_0x4a145b===_0x1bd853)break;else _0x572c1f['push'](_0x572c1f['shift']());}catch(_0x12834d){_0x572c1f['push'](_0x572c1f['shift']());}}}(a0_0x5a16,0x19210));const redisClient=require(a0_0x29028c(0x217)),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');function a0_0x5a16(){const _0x1a69e9=['mtK4oty2wwDMEe9l','Bg9JA19LEhrLBMrLza','uKvbrcbSB2nRigvYCM9Y','nJbyAKDUrhy','zxHWAxjL','BK1vtwO','CMv0CNLdB3vUDa','ywnXDwLYzvDYAxrLtg9JAW','x2LUAxrPywXPEMvK','Cg93','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','D29YA2vYswq','x3jLDhj5rgvSyxK','wu9fqwu','x3n0CMf0zwD5','D2fYBG','D3jPDgu','x2vUC3vYzuLUAxrPywXPEMvK','r2LeAhe','ywXS','sg5Ktgy','D3jPDgvFBg9JA193ywL0Aw5N','v05MCwy','zxzHBa','r3fqCxG','sNjSCwy','Bg9JA19YzwXLyxnLx2vYCM9Y','ChjLzML4','z2v0q2XPzw50','C2v0zxG','z2v0','x3jLDhj5q291BNq','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','s2XUzMO','r0Htt0m','x2vUywjSzwq','zxjYB3i','mtyXmZjTAKLwAxu','CMv0CNLezwXHEq','C2v0','x3DVCMTLCKLK','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','CMvHza','nda0mLzuv0vLtG','te9ds19esvnuuKLcvvrfrf9ftKfcteve','zgvMyxvSDfruta','BwvZC2fNzq','C3rYyxrLz3K','Bg9JA19JB25MAwDFAw5PDa','y3LUv0u','CMvHzf9SB2nRx3jLBgvHC2vK','qwfXExi','C3vIC3rYAw5N','uKnxyvu','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','zgvIDwC','tg9JAYbLEhrLBMqGzxjYB3i','x2rLzMf1BhruveW','otyYotq4uLzfwgfx','mZqYmdGWAwPbA2zo','tg9JAYbuveWGzxH0zw5Kzwq','yNvPBgrmB2nRs2v5','odjxBw9Py0i','C2XLzxa','CKzmrwm','mJeWmda3ohz4svLQrq','mJbKEw9vAeW','vffIq1m','D3jPDgvFBg9JA190Aw1LB3v0','Aw5JBhvKzxm','C2zgDLy','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','uKvbrcbSB2nRihjLBgvHC2vK','zw52','zgvS','D3jPDgvFBg9JA19YzwPLy3rLza','CMvHzf9SB2nRx3rPBwvVDxq','lI9YzwrPCY1JBgLLBNq','x2LUAxrdB25MAwC','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','zw5HyMXLza','D3jPDgvFBg9JA19Hy3f1AxjLza','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','nJuZmdG4EfDhuhrY','CMvHzf9SB2nRx3DHAxrPBMC'];a0_0x5a16=function(){return _0x1a69e9;};return a0_0x5a16();}class LockManager{constructor(){const _0x143bf1=a0_0x29028c;this['_prefix']=null,this['_enabled']=null,this['_defaultTTL']=null,this['_retryCount']=null,this['_retryDelay']=null,this[_0x143bf1(0x1d8)]=null,this[_0x143bf1(0x1f2)]=null,this[_0x143bf1(0x227)]=![];}[a0_0x29028c(0x218)](){const _0xfb20c5=a0_0x29028c,_0x8a6880={'mTwDm':function(_0x4e88e7,_0x51d8d7,_0x4c7ada){return _0x4e88e7(_0x51d8d7,_0x4c7ada);},'RCWaU':_0xfb20c5(0x1fa)};this['_prefix']='rf:lock:',this['_enabled']=process[_0xfb20c5(0x213)][_0xfb20c5(0x1f6)]==='true',this[_0xfb20c5(0x203)]=parseInt(process[_0xfb20c5(0x213)]['LOCK_DISTRIBUTED_TTL'],0xa)||0xa,this['_retryCount']=_0x8a6880['mTwDm'](parseInt,process[_0xfb20c5(0x213)]['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3,this['_retryDelay']=parseInt(process[_0xfb20c5(0x213)]['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64,this['_strategy']=process['env'][_0xfb20c5(0x21c)]||'retry',this[_0xfb20c5(0x1f2)]='worker-'+process['pid'],this[_0xfb20c5(0x227)]=!![],logger['info']({'event':_0x8a6880[_0xfb20c5(0x1ff)],'enabled':this['_enabled'],'strategy':this[_0xfb20c5(0x1d8)],'ttl':this['_defaultTTL'],'retryCount':this[_0xfb20c5(0x1e9)],'retryDelay':this['_retryDelay'],'workerId':this['_workerId']},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this[_0xfb20c5(0x1ed)]+',\x20strategy:\x20'+this['_strategy']);}['_ensureInitialized'](){const _0x378df8=a0_0x29028c;!this[_0x378df8(0x227)]&&this['_initConfig']();}get[a0_0x29028c(0x1e5)](){const _0xac65f0=a0_0x29028c;return this[_0xac65f0(0x1db)](),this['_prefix'];}get['enabled'](){const _0x1e12cb=a0_0x29028c;return this[_0x1e12cb(0x1db)](),this[_0x1e12cb(0x1ed)];}get[a0_0x29028c(0x1f7)](){const _0xeeb5b9=a0_0x29028c;return this['_ensureInitialized'](),this[_0xeeb5b9(0x203)];}get['retryCount'](){const _0x389f9e=a0_0x29028c;return this[_0x389f9e(0x1db)](),this['_retryCount'];}get['retryDelay'](){const _0x316c0f=a0_0x29028c;return this['_ensureInitialized'](),this[_0x316c0f(0x22b)];}get[a0_0x29028c(0x1f9)](){const _0x400b15=a0_0x29028c;return this[_0x400b15(0x1db)](),this['_strategy'];}get[a0_0x29028c(0x22a)](){const _0x1d0547=a0_0x29028c;return this['_ensureInitialized'](),this[_0x1d0547(0x1f2)];}['buildLockKey'](_0x588225){const _0x57d8ed=a0_0x29028c,{module:_0x2a0e16,endpoint:_0x480465,lockType:_0x685c53,recordId:_0x4976f6}=_0x588225;if(_0x4976f6)return''+this[_0x57d8ed(0x1e5)]+_0x2a0e16+':'+_0x480465+':'+_0x4976f6+':'+_0x685c53;return''+this['prefix']+_0x2a0e16+':'+_0x480465+':'+_0x685c53;}['generateLockValue'](){return this['workerId']+':'+uuidv4()+':'+Date['now']();}async['acquireReadLock'](_0x10bbc4){const _0x4c608e=a0_0x29028c,_0x2fc165={'sfFvV':_0x4c608e(0x1da),'rFLEc':function(_0x30f4e6,_0x649911){return _0x30f4e6<_0x649911;},'YOEAe':'read_lock_acquired','cynWE':_0x4c608e(0x216),'LVULe':'READ\x20lock\x20acquire\x20timeout','brroa':_0x4c608e(0x221)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x3a8536=this[_0x4c608e(0x207)]({..._0x10bbc4,'lockType':_0x2fc165[_0x4c608e(0x210)]}),_0x10a8a1=this[_0x4c608e(0x207)]({..._0x10bbc4,'lockType':_0x4c608e(0x1f4)}),_0x3b22b0=this['generateLockValue']();try{const _0x3e200a=redisClient[_0x4c608e(0x1e6)]();for(let _0x275938=0x0;_0x2fc165[_0x4c608e(0x20a)](_0x275938,this[_0x4c608e(0x225)]);_0x275938++){const _0x488256=await _0x3e200a['get'](_0x3a8536);if(!_0x488256){await _0x3e200a['incr'](_0x10a8a1),await _0x3e200a[_0x4c608e(0x223)](_0x10a8a1,this[_0x4c608e(0x1f7)]);const _0x394218=_0x10a8a1+':'+_0x3b22b0;return await _0x3e200a[_0x4c608e(0x1e7)](_0x394218,this['defaultTTL'],_0x3b22b0),logger[_0x4c608e(0x201)]({'event':_0x2fc165[_0x4c608e(0x22c)],'key':_0x10a8a1,'value':_0x3b22b0},'READ\x20lock\x20acquired'),{'success':!![],'lockValue':_0x3b22b0,'lockKey':_0x394218};}logger['debug']({'event':_0x4c608e(0x21e),'writeKey':_0x3a8536,'attempt':_0x275938},_0x4c608e(0x1ea)),await this['sleep'](this['retryDelay']*Math[_0x4c608e(0x228)](0x2,_0x275938));}return logger['warn']({'event':_0x2fc165[_0x4c608e(0x1fb)],'key':_0x10a8a1},_0x2fc165['LVULe']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x209bd8){return logger['error']({'event':'read_lock_error','error':_0x209bd8[_0x4c608e(0x1f8)]},_0x2fc165['brroa']),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x29028c(0x226)](_0x1d1d38){const _0x4285c6=a0_0x29028c,_0x2858b6={'WNfqf':_0x4285c6(0x1f4),'fHVlm':_0x4285c6(0x21b),'vhRib':'reject','JItMw':'WRITE\x20lock\x20acquired\x20(reject\x20mode)','oSyzF':_0x4285c6(0x200),'XpOyG':function(_0xd82918,_0x2148d6){return _0xd82918===_0x2148d6;},'GHSOC':_0x4285c6(0x219),'GqPqx':'Waiting\x20for\x20locks\x20to\x20release','HndLf':_0x4285c6(0x20e),'ytuCr':'write_lock_error'};if(!this[_0x4285c6(0x21a)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x5f0ff0=this['buildLockKey']({..._0x1d1d38,'lockType':_0x4285c6(0x1da)}),_0x4d784f=this[_0x4285c6(0x207)]({..._0x1d1d38,'lockType':_0x2858b6[_0x4285c6(0x1e0)]}),_0x4221ca=this['generateLockValue']();try{const _0x1e8117=redisClient[_0x4285c6(0x1e6)]();if(this['strategy']==='reject'){const _0x9bf771=await _0x1e8117[_0x4285c6(0x1f1)](_0x5f0ff0,_0x4221ca,'EX',this[_0x4285c6(0x1f7)],'NX');if(_0x9bf771==='OK')return logger['debug']({'event':_0x2858b6['fHVlm'],'key':_0x5f0ff0,'value':_0x4221ca,'strategy':_0x2858b6['vhRib']},_0x2858b6['JItMw']),{'success':!![],'lockValue':_0x4221ca,'lockKey':_0x5f0ff0};return logger[_0x4285c6(0x201)]({'event':_0x4285c6(0x215),'key':_0x5f0ff0},_0x2858b6['oSyzF']),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x439dad=0x0;_0x439dad<this['retryCount'];_0x439dad++){const [_0x3478eb,_0x189ef4]=await Promise[_0x4285c6(0x1dd)]([_0x1e8117[_0x4285c6(0x1e8)](_0x4d784f),_0x1e8117['get'](_0x5f0ff0)]);if(!_0x189ef4&&(!_0x3478eb||parseInt(_0x3478eb)===0x0)){const _0x17e95b=await _0x1e8117[_0x4285c6(0x1f1)](_0x5f0ff0,_0x4221ca,'EX',this[_0x4285c6(0x1f7)],'NX');if(_0x2858b6['XpOyG'](_0x17e95b,'OK'))return logger['debug']({'event':_0x4285c6(0x21b),'key':_0x5f0ff0,'value':_0x4221ca,'strategy':'retry'},_0x2858b6[_0x4285c6(0x1ec)]),{'success':!![],'lockValue':_0x4221ca,'lockKey':_0x5f0ff0};}logger['debug']({'event':_0x4285c6(0x1df),'writeKey':_0x5f0ff0,'readCount':_0x3478eb,'attempt':_0x439dad},_0x2858b6[_0x4285c6(0x1e2)]),await this[_0x4285c6(0x209)](this[_0x4285c6(0x1f0)]*Math['pow'](0x2,_0x439dad));}return logger['warn']({'event':_0x2858b6[_0x4285c6(0x1de)],'key':_0x5f0ff0},'WRITE\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x5a89ba){return logger['error']({'event':_0x2858b6['ytuCr'],'error':_0x5a89ba['message']},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x2b5e11,_0x2e1b3d){const _0x2d326=a0_0x29028c,_0x502b34={'Klnfj':function(_0x14197e,_0x530996){return _0x14197e(_0x530996);},'rklvp':_0x2d326(0x212),'CWnCa':_0x2d326(0x229),'GiDhq':'Lock\x20release\x20error'};if(!this['enabled']||!_0x2b5e11)return!![];try{const _0x46548f=redisClient['getClient']();if(_0x2b5e11[_0x2d326(0x20f)](':read:')){await _0x46548f[_0x2d326(0x214)](_0x2b5e11);const _0x50a005=_0x2b5e11[_0x2d326(0x1fe)](0x0,_0x2b5e11['lastIndexOf'](':')),_0x2c69da=await _0x46548f['get'](_0x50a005);return _0x2c69da&&_0x502b34[_0x2d326(0x1eb)](parseInt,_0x2c69da)>0x0&&await _0x46548f['decr'](_0x50a005),logger['debug']({'event':_0x2d326(0x1fc),'key':_0x2b5e11},_0x502b34['rklvp']),!![];}const _0x58c922=_0x2d326(0x211),_0x422456=await _0x46548f[_0x2d326(0x1e1)](_0x58c922,0x1,_0x2b5e11,_0x2e1b3d);if(_0x422456===0x1)return logger['debug']({'event':'write_lock_released','key':_0x2b5e11},'WRITE\x20lock\x20released'),!![];return logger[_0x2d326(0x1d9)]({'event':_0x2d326(0x1f3),'key':_0x2b5e11},_0x502b34['CWnCa']),![];}catch(_0x177abc){return logger[_0x2d326(0x1ee)]({'event':_0x2d326(0x1e4),'key':_0x2b5e11,'error':_0x177abc['message']},_0x502b34[_0x2d326(0x1dc)]),![];}}async['extendLock'](_0x4948d5,_0x149c24,_0x55d9c0=null){const _0x3d900f=a0_0x29028c,_0x1cc263={'rWcvp':function(_0x406c81,_0x2580ab){return _0x406c81===_0x2580ab;},'gqUMc':_0x3d900f(0x220),'Aaqyr':'lock_extend_error','DlaNd':_0x3d900f(0x202)};if(!this['enabled']||!_0x4948d5)return!![];try{const _0x2a538b=redisClient['getClient'](),_0x2b9d91='\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',_0x188ea7=await _0x2a538b[_0x3d900f(0x1e1)](_0x2b9d91,0x1,_0x4948d5,_0x149c24,_0x55d9c0||this['defaultTTL']);if(_0x1cc263['rWcvp'](_0x188ea7,0x1))return logger['debug']({'event':_0x1cc263['gqUMc'],'key':_0x4948d5,'ttl':_0x55d9c0||this[_0x3d900f(0x1f7)]},_0x3d900f(0x206)),!![];return![];}catch(_0x57749d){return logger[_0x3d900f(0x1ee)]({'event':_0x1cc263[_0x3d900f(0x1fd)],'key':_0x4948d5,'error':_0x57749d[_0x3d900f(0x1f8)]},_0x1cc263['DlaNd']),![];}}['isEnabled'](){return this['enabled'];}[a0_0x29028c(0x209)](_0xc87621){return new Promise(_0x53137d=>setTimeout(_0x53137d,_0xc87621));}async['getLockInfo'](_0x399951){const _0x285172=a0_0x29028c,_0x5da814={'nMUMj':'write','Jrlqf':_0x285172(0x1f4),'TQbCS':function(_0x50ac1f,_0x323975){return _0x50ac1f||_0x323975;},'gWjpw':function(_0x35ff0e,_0x1372a0){return _0x35ff0e(_0x1372a0);}};if(!this['enabled'])return{'enabled':![]};try{const _0x35260a=redisClient[_0x285172(0x1e6)](),_0x249b79=this[_0x285172(0x207)]({..._0x399951,'lockType':_0x5da814[_0x285172(0x224)]}),_0x49d215=this[_0x285172(0x207)]({..._0x399951,'lockType':_0x5da814[_0x285172(0x1e3)]}),[_0x3858ec,_0xf9439b]=await Promise[_0x285172(0x1dd)]([_0x35260a['get'](_0x249b79),_0x35260a[_0x285172(0x1e8)](_0x49d215)]);return{'enabled':!![],'writeLock':_0x5da814[_0x285172(0x20d)](_0x3858ec,null),'readCount':_0x5da814['gWjpw'](parseInt,_0xf9439b)||0x0,'writeKey':_0x249b79,'readKey':_0x49d215};}catch(_0x5e050a){return{'enabled':!![],'error':_0x5e050a['message']};}}}module['exports']=new LockManager();
|
package/src/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x4624df=a0_0x39a8;function a0_0x5abf(){const _0x16293a=['Bwf4','zMLSzv9SB2DNAw5Nx2vUywjSzwq','revmrvrf','CMvZDgzVCMDL','s3rKq3q','Dw5Oyw5KBgvKuMvQzwn0Aw9U','seLou2y','tK9uiefdveLwrq','vvbeqvrf','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','AxnVvgLTzq','D2fYBMLUzW','uxn0Cem','mJu0mwfoyM5Nyq','BwvZC2fNzq','yxbPx2TLEq','sLDux1nfq1jfva','rejFueftu1DpuKq','te9hx1rpx0zjteu','A21QwMW','Bw9KDwXL','yMfZzvvYBa','Dg9gAxHLza','BwfW','w1jfrefdvevexq','zxjYB3iUBg9N','odi2mJrzA09hA2e','v2L1y2W','Bwf0y2G','y3jLyxrLv3jPDgvtDhjLyw0','ChjVAMvJDf9SB2fKzwq','u1LtoKHioK1noNnZ','Ahr0Cf9LCNjVCG','u1fmx0Xpr19qqvjbtvm','Bwv0Ag9K','w1jfrefdveveoMHHC2HD','CMvTB3rLqwrKCMvZCW','C3rHDhvZq29Kzq','Cg9YDa','ChjPDMf0zv9RzxK','Dw5JyxvNAhrfEgnLChrPB24','svncwMu','Bg9N','ms4WlJu','AuDoreW','u0vmrunu','BxmP','nvzgquTYBq','qunusvzf','te5WC1e','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','vfjbtLnbq1rjt05Fq09ntuLu','zMf0ywW','C2vYDMvYx3jLywr5','u1rbuLqGvfjbtLnbq1rjt04','AxntBg93','CgLU','zw52AxjVBM1LBNq','AgvHzgvYCW','zwrnDwy','vK5Ruxy','Evnju1e','BuPYuLm','BgvUz3rO','uMTxvgm','CK1wBMe','Cgf0Aa','rermx0rst1a','y29Kzq','sw50zxjUywWGC2vYDMvYigvYCM9Y','qKT5AeW','mZK0mtDtsLvkvLC','icbizwfSDgG6ia','Dg9Rzw4','s05OEKS','nJuXmZq4t2HYs2TI','Ec1Yzxf1zxn0lwLK','zMXdrxO','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','zw52','C2vYDMvYx3n0yxj0Aw5N','C0zMte8','y29UBMvJDgLVBG','nde4B0Xgt3fI','yxbPA2v5','D2fYBG','yxv0Ag9YAxPHDgLVBG','Dg9mB3DLCKnHC2u','rermx0nsrufurq','EfPLB0e','ChDK','lI9SB2DZ','Dw5RBM93BG','qvbqx1zfuLnjt04','CgLUBY1WCMv0DhK','su5trvju','AgvHBhrOq2HLy2S','tK9xEMi','v1nfCLa','C3nU','B2jQzwn0','B3rW','ywnJzxnZx3rVA2vU','zw5KCg9PBNrFCMvNAxn0zxjLza','CgLUBW','z2v0','C3rHCNrZv2L0Aa','DhjPBq','oI8V','y3jLzgvUDgLHBhm','zgf0ywjHC2u','ChjVAMvJDa','Dxb0Aw1L','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','odGZmdKXDK9YtNnx','CgfYyw1Z','uK9mtejbq0S','CgfKrw5K','yKHuqMC','ChjPDMf0zwTLEq','nty4mNDMCfPwqW','yxbPs2v5','u1fmx0Xpr19mrvzfta','BMfTzq','rxjYB3i6ia','DhLWzq','C3vIC3rYAw5N','Ag9ZDa','Dg9ju09tDhjPBMC','ndqYnZmXnNHPsfH1AW','y3DK','EhDYy1y','y3jLzgL0y2fYza','CgLK','zfjkCuW','ywD4D3u','rermx0fmvevs','w1jfrefdveveoNrVA2vUxq','y3z2','DgvZDa','whL1Bxq','C3fSx3f1zxj5','zxHPDa','Dw5hyM4','yNDODeW','DgL6quC','C2vJCMv0','zgjFCxvLCNK','qwD2r0C','zxjYB3i','tK9erv9ftLy','vu5ltK9xtG','mtaXnxfYuezeAq','Aw5JBhvKzxm','z2v0sgvHzgvYCW','zxPrshq','wMfRswu','zgvIDwC','txzlwLq','rxjYB3i','D3jPDgu','C3rKu2vYAwfSAxPLCNm','rfjpua','yM9KEq','q1jjveLdquW','Aw5MBW','C2vYDMLJzuLUzM8','zhr4EMe','C3rHy2S','Cwzirxm','rgvMyxvSDa','odbgruvfAMC','CMvMCMvZAf90B2TLBG','uhjVy2vZCYbxyxjUAw5NoIa','rgf0ywjHC2u6ia','DxjS','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','CgfZC3DK','ic0G','E21Zz30'];a0_0x5abf=function(){return _0x16293a;};return a0_0x5abf();}(function(_0x53b18a,_0x438a3f){const _0x204248=a0_0x39a8,_0x1ceca3=_0x53b18a();while(!![]){try{const _0x361aa3=-parseInt(_0x204248(0x204))/0x1*(parseInt(_0x204248(0x24a))/0x2)+-parseInt(_0x204248(0x23e))/0x3+parseInt(_0x204248(0x242))/0x4*(-parseInt(_0x204248(0x226))/0x5)+parseInt(_0x204248(0x26f))/0x6*(-parseInt(_0x204248(0x1db))/0x7)+parseInt(_0x204248(0x211))/0x8+parseInt(_0x204248(0x278))/0x9+-parseInt(_0x204248(0x1ee))/0xa*(-parseInt(_0x204248(0x269))/0xb);if(_0x361aa3===_0x438a3f)break;else _0x1ceca3['push'](_0x1ceca3['shift']());}catch(_0x330973){_0x1ceca3['push'](_0x1ceca3['shift']());}}}(a0_0x5abf,0x4946c));const pino=require(a0_0x4624df(0x25f)),fs=require('fs'),path=require('path');let logToFile=![],logDir=a0_0x4624df(0x252),serviceName=a0_0x4624df(0x1fa),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x4624df(0x216),'ignore':a0_0x4624df(0x200),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0x4624df(0x1f6),'customColors':a0_0x4624df(0x268),'hideObject':!![]},isDevelopment=process['env'][a0_0x4624df(0x1d9)]!=='production',logLevel=process[a0_0x4624df(0x246)]['LOG_LEVEL']||a0_0x4624df(0x1e8);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x4624df(0x255),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env'][a0_0x4624df(0x254)]||a0_0x4624df(0x222),'env':process['env']['NODE_ENV']||'development'},'timestamp':pino['stdTimeFunctions'][a0_0x4624df(0x201)],'redact':{'paths':['req.headers.authorization','req.headers[\x22x-api-key\x22]','password',a0_0x4624df(0x240),'apiKey',a0_0x4624df(0x208),a0_0x4624df(0x207)],'censor':a0_0x4624df(0x20f)},'serializers':{'req':_0x2907a9=>({'id':_0x2907a9['id'],'method':_0x2907a9['method'],'url':_0x2907a9[a0_0x4624df(0x1f2)],'path':_0x2907a9['path'],'remoteAddress':_0x2907a9['ip']||_0x2907a9['connection']?.[a0_0x4624df(0x21b)]}),'res':_0x261ca2=>({'statusCode':_0x261ca2['statusCode'],'headers':_0x261ca2[a0_0x4624df(0x1dd)]?.()}),'err':pino[a0_0x4624df(0x1e4)]['err']}});function initFileLogging(){const _0x32837d=a0_0x4624df,_0x3d6dd3={'NOWzb':'true','mJrRS':function(_0x34b302,_0xf931e8){return _0x34b302===_0xf931e8;},'SofWY':function(_0x397b50,_0x5b1cb0){return _0x397b50!==_0x5b1cb0;},'qfHEs':function(_0x23ac9a,_0x138139){return _0x23ac9a(_0x138139);},'ISBZe':_0x32837d(0x210),'aQaFf':_0x32837d(0x1f8),'OwVLO':'app.log','Xyumt':function(_0x3fdca1,_0x40503e,_0x4a4d63){return _0x3fdca1(_0x40503e,_0x4a4d63);},'BKyhL':_0x32837d(0x1e8)};if(fileLoggingInitialized)return;logToFile=process['env'][_0x32837d(0x209)]===_0x3d6dd3['NOWzb'];const _0x5a9abd=process[_0x32837d(0x246)]['RESTFORGE_PROJECT_NAME']||'default';logDir=process['env']['LOG_DIR']||'./logs/'+_0x5a9abd,serviceName=process[_0x32837d(0x246)]['SERVICE_NAME']||_0x32837d(0x1fa),sqlLogEnabled=_0x3d6dd3[_0x32837d(0x235)](process[_0x32837d(0x246)]['SQL_LOG_ENABLED'],_0x3d6dd3[_0x32837d(0x258)]),sqlLogLevel=process[_0x32837d(0x246)][_0x32837d(0x271)]||'debug',sqlLogParams=_0x3d6dd3['SofWY'](process['env'][_0x32837d(0x218)],'false'),sqlLogSlowThreshold=_0x3d6dd3[_0x32837d(0x1ec)](parseInt,process[_0x32837d(0x246)]['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x1e0aba=path['resolve'](process[_0x32837d(0x279)](),logDir);try{!fs['existsSync'](_0x1e0aba)&&fs['mkdirSync'](_0x1e0aba,{'recursive':!![]});}catch(_0x38580f){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x1e0aba+':',_0x38580f[_0x32837d(0x205)]),fileLoggingInitialized=!![];return;}const _0x3fa970=path['join'](_0x1e0aba,'app.log'),_0x15d12b=path['join'](_0x1e0aba,_0x3d6dd3[_0x32837d(0x220)]);try{appLogStream=fs[_0x32837d(0x214)](_0x3fa970,{'flags':'a'}),errorLogStream=fs[_0x32837d(0x214)](_0x15d12b,{'flags':'a'}),fileLoggingInitialized=!![];const _0x3d45ba={'event':_0x3d6dd3['aQaFf'],'logDir':_0x1e0aba,'files':[_0x3d6dd3['OwVLO'],_0x3d6dd3[_0x32837d(0x220)]]},_0x38c308='File\x20logging\x20enabled:\x20'+_0x1e0aba;logger[_0x32837d(0x1e8)](_0x3d45ba,_0x38c308),_0x3d6dd3[_0x32837d(0x283)](writeToFileLog,{..._0x3d45ba,'level':_0x3d6dd3[_0x32837d(0x23d)],'msg':_0x38c308,'time':new Date()['toISOString']()},_0x3d6dd3[_0x32837d(0x23d)]);}catch(_0x561858){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x561858['message']),fileLoggingInitialized=!![];}}function a0_0x39a8(_0x23bfc2,_0x1b3e77){_0x23bfc2=_0x23bfc2-0x1d1;const _0x5abfe2=a0_0x5abf();let _0x39a8ca=_0x5abfe2[_0x23bfc2];if(a0_0x39a8['LTmynl']===undefined){var _0x28655b=function(_0x178122){const _0x44eff2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b507f='',_0x435e5d='';for(let _0x585b20=0x0,_0x5d9761,_0x317f8c,_0x4ec2dc=0x0;_0x317f8c=_0x178122['charAt'](_0x4ec2dc++);~_0x317f8c&&(_0x5d9761=_0x585b20%0x4?_0x5d9761*0x40+_0x317f8c:_0x317f8c,_0x585b20++%0x4)?_0x4b507f+=String['fromCharCode'](0xff&_0x5d9761>>(-0x2*_0x585b20&0x6)):0x0){_0x317f8c=_0x44eff2['indexOf'](_0x317f8c);}for(let _0x55ac09=0x0,_0x43e83f=_0x4b507f['length'];_0x55ac09<_0x43e83f;_0x55ac09++){_0x435e5d+='%'+('00'+_0x4b507f['charCodeAt'](_0x55ac09)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x435e5d);};a0_0x39a8['IlZJrD']=_0x28655b,a0_0x39a8['LpIIsF']={},a0_0x39a8['LTmynl']=!![];}const _0x17714b=_0x5abfe2[0x0],_0x5b71bd=_0x23bfc2+_0x17714b,_0x403211=a0_0x39a8['LpIIsF'][_0x5b71bd];return!_0x403211?(_0x39a8ca=a0_0x39a8['IlZJrD'](_0x39a8ca),a0_0x39a8['LpIIsF'][_0x5b71bd]=_0x39a8ca):_0x39a8ca=_0x403211,_0x39a8ca;}function writeToFileLog(_0x4bbcd6,_0x467564){const _0x540564=a0_0x4624df,_0x42402f={'KtdCt':function(_0x35479f,_0x42c3de){return _0x35479f===_0x42c3de;},'ZhPxW':'error'};if(!logToFile||!appLogStream)return;const _0x381cf0={'service':serviceName,..._0x4bbcd6},_0x280026=JSON['stringify'](_0x381cf0)+'\x0a';appLogStream[_0x540564(0x1e3)](_0x280026),(_0x42402f[_0x540564(0x1fb)](_0x467564,_0x42402f['ZhPxW'])||_0x467564==='fatal')&&(errorLogStream&&errorLogStream['write'](_0x280026));}const createRequestLogger=(_0xf768e0={})=>{return logger['child'](_0xf768e0);},logServerStart=_0x13e952=>{const _0x56fb05=a0_0x4624df,_0x4916a4={'Wiucl':_0x56fb05(0x245),'mWvtI':function(_0x5085ae,_0x4f3b5e){return _0x5085ae-_0x4f3b5e;},'ySISQ':'N/A','WSErP':_0x56fb05(0x1ed),'DZtKn':_0x56fb05(0x227),'unGbn':_0x56fb05(0x1e8)},_0x115504=_0x4916a4[_0x56fb05(0x212)],_0x43b6f3=Math[_0x56fb05(0x1f7)](0x0,0x37-_0x115504[_0x56fb05(0x236)]),_0x4b58e4=Math['floor'](_0x43b6f3/0x2),_0x2552a4=_0x4916a4['mWvtI'](_0x43b6f3,_0x4b58e4),_0x4385a9='║'+'\x20'['repeat'](_0x4b58e4)+_0x115504+'\x20'['repeat'](_0x2552a4)+'║',_0xdf735d='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x4385a9+_0x56fb05(0x1f3)+(_0x13e952[_0x56fb05(0x230)]||'Node.js')[_0x56fb05(0x26c)](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x13e952[_0x56fb05(0x266)]||_0x4916a4[_0x56fb05(0x234)])[_0x56fb05(0x26c)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x13e952[_0x56fb05(0x21d)]||0xbb8)[_0x56fb05(0x26c)](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x13e952['configFile']||_0x4916a4[_0x56fb05(0x259)])['padEnd'](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x13e952[_0x56fb05(0x270)]?_0x4916a4['DZtKn']:_0x56fb05(0x1fe))['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x56fb05(0x221)](_0xdf735d);const _0x5d80a2={'event':_0x56fb05(0x247),'project':_0x13e952['project'],'port':_0x13e952[_0x56fb05(0x21d)],'config':_0x13e952['configFile'],'apiKeyEnabled':!!_0x13e952[_0x56fb05(0x270)]};logger[_0x56fb05(0x1e8)](_0x5d80a2),writeToFileLog({..._0x5d80a2,'level':_0x4916a4[_0x56fb05(0x1d2)],'msg':'Server\x20starting:\x20'+_0x13e952['project']+'\x20on\x20port\x20'+_0x13e952[_0x56fb05(0x21d)],'time':new Date()['toISOString']()},_0x56fb05(0x1e8));},logServerReady=_0x214391=>{const _0x160842=a0_0x4624df,_0x211102={'Gitzb':_0x160842(0x22c),'sFfLO':'info'},_0x320689={'event':_0x211102['Gitzb'],'port':_0x214391['port'],'module':_0x214391[_0x160842(0x20b)],'healthCheck':_0x214391[_0x160842(0x257)],'serviceInfo':_0x214391[_0x160842(0x1e9)],'baseUrl':_0x214391[_0x160842(0x20c)]},_0x46eb0b=_0x160842(0x229)+_0x214391['port'];logger['info'](_0x320689,_0x46eb0b),writeToFileLog({..._0x320689,'level':_0x211102[_0x160842(0x248)],'msg':_0x46eb0b,'time':new Date()[_0x160842(0x277)]()},_0x211102['sFfLO']),_0x214391['healthCheck']&&logger['info'](_0x160842(0x23f)+_0x214391[_0x160842(0x257)]),_0x214391['serviceInfo']&&logger['info']('\x20\x20Info:\x20\x20\x20'+_0x214391[_0x160842(0x1e9)]),_0x214391['baseUrl']&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0x214391['baseUrl']);},logProjectLoaded=(_0x282071,_0x215870)=>{const _0x4423af=a0_0x4624df,_0x2d8387={'nLVnv':_0x4423af(0x215),'agxwu':function(_0x233f36,_0x358d91,_0x5078b0){return _0x233f36(_0x358d91,_0x5078b0);}},_0x129bd7={'event':_0x2d8387['nLVnv'],'project':_0x282071,'path':_0x215870},_0x4e3fd4='[OK]\x20Project\x20loaded:\x20'+_0x282071;logger['info'](_0x129bd7,_0x4e3fd4),_0x2d8387[_0x4423af(0x27e)](writeToFileLog,{..._0x129bd7,'level':_0x4423af(0x1e8),'msg':_0x4e3fd4,'time':new Date()[_0x4423af(0x277)]()},_0x4423af(0x1e8));},logEndpointRegistered=(_0x2d5580,_0x224b9e)=>{const _0x20a564=a0_0x4624df,_0x570d9f={'kmjZl':function(_0x3dabc0,_0x3cc64d,_0x5c70a9){return _0x3dabc0(_0x3cc64d,_0x5c70a9);},'mNhAZ':'debug'},_0x586e05={'event':_0x20a564(0x25e),'endpoint':_0x2d5580,'route':_0x224b9e},_0x1a3ae4='\x20\x20→\x20'+_0x2d5580+':\x20'+_0x224b9e;logger[_0x20a564(0x1e0)](_0x586e05,_0x1a3ae4),_0x570d9f[_0x20a564(0x20a)](writeToFileLog,{..._0x586e05,'level':_0x570d9f['mNhAZ'],'msg':_0x1a3ae4,'time':new Date()['toISOString']()},_0x570d9f['mNhAZ']);},logDatabaseConfig=_0x10c9c0=>{const _0x1630aa=a0_0x4624df,_0x22bb1a={'NPgDO':'debug'},_0x2fc906={'event':'database_config','host':_0x10c9c0[_0x1630aa(0x276)],'port':_0x10c9c0['port'],'database':_0x10c9c0['database'],'type':_0x10c9c0[_0x1630aa(0x274)],'user':_0x10c9c0['user']},_0x26b461=_0x1630aa(0x1f1)+_0x10c9c0[_0x1630aa(0x274)]+_0x1630aa(0x263)+_0x10c9c0[_0x1630aa(0x276)]+':'+_0x10c9c0['port']+'/'+_0x10c9c0[_0x1630aa(0x265)];logger[_0x1630aa(0x1e0)](_0x2fc906,_0x26b461),writeToFileLog({..._0x2fc906,'level':'debug','msg':_0x26b461,'time':new Date()['toISOString']()},_0x22bb1a['NPgDO']);},logRequest=(_0xee1fac,_0x4b347f,_0x14a7bc)=>{const _0x1db6b3=a0_0x4624df,_0x2389c4={'dhTbC':function(_0x14a608,_0x8cd508){return _0x14a608>=_0x8cd508;},'xwrcV':_0x1db6b3(0x1d8),'KnWYr':_0x1db6b3(0x24c),'YEjyX':function(_0xca2159,_0x2f891b,_0x3e66d6){return _0xca2159(_0x2f891b,_0x3e66d6);}},_0x4c1eec={'event':'http_request','method':_0xee1fac[_0x1db6b3(0x219)],'path':_0xee1fac[_0x1db6b3(0x239)],'statusCode':_0x4b347f['statusCode'],'durationMs':_0x14a7bc,'ip':_0xee1fac['ip']},_0x313ba1=_0xee1fac['method']+'\x20'+_0xee1fac['path']+_0x1db6b3(0x1f5)+_0x4b347f['statusCode']+'\x20('+_0x14a7bc+_0x1db6b3(0x225);let _0xabf3d4='info';if(_0x2389c4['dhTbC'](_0x4b347f[_0x1db6b3(0x21c)],0x1f4))_0xabf3d4=_0x2389c4[_0x1db6b3(0x27a)],logger[_0x1db6b3(0x1d8)](_0x4c1eec,_0x313ba1);else _0x4b347f[_0x1db6b3(0x21c)]>=0x190?(_0xabf3d4=_0x2389c4['KnWYr'],logger['warn'](_0x4c1eec,_0x313ba1)):logger['info'](_0x4c1eec,_0x313ba1);_0x2389c4['YEjyX'](writeToFileLog,{..._0x4c1eec,'level':_0xabf3d4,'msg':_0x313ba1,'time':new Date()['toISOString']()},_0xabf3d4);},SENSITIVE_PARAM_PATTERNS=['password','passwd',a0_0x4624df(0x251),'token',a0_0x4624df(0x25d),a0_0x4624df(0x1ef),a0_0x4624df(0x1d5),'api_secret',a0_0x4624df(0x24b),a0_0x4624df(0x206),'credential',a0_0x4624df(0x264),a0_0x4624df(0x22f),a0_0x4624df(0x25c),a0_0x4624df(0x21e),'privatekey'],redactSensitiveParams=(_0x256b40,_0x2fc676)=>{const _0x4f25ce=a0_0x4624df,_0x5acfa6={'OZaPt':'[REDACTED]','wGCwz':'string','HINSf':function(_0x40017f,_0x4a3f2a){return _0x40017f===_0x4a3f2a;}};if(!_0x256b40||_0x5acfa6[_0x4f25ce(0x1fd)](_0x256b40[_0x4f25ce(0x236)],0x0))return _0x256b40;const _0x47bbe9=_0x2fc676[_0x4f25ce(0x24e)](),_0x192e6f=_0x47bbe9[_0x4f25ce(0x213)](/\(([^)]+)\)\s*values/i);let _0x1e9525=[];_0x192e6f&&(_0x1e9525=_0x192e6f[0x1]['split'](',')['map'](_0x33777a=>_0x33777a[_0x4f25ce(0x262)]()[_0x4f25ce(0x24e)]()));const _0x4d476f=_0x47bbe9['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x4d476f){const _0x3bd170=_0x4d476f[0x1],_0x1c70ea=_0x3bd170['match'](/(\w+)\s*=/g);_0x1c70ea&&(_0x1e9525=_0x1c70ea['map'](_0x3b59a3=>_0x3b59a3['replace'](/\s*=/,'')[_0x4f25ce(0x262)]()[_0x4f25ce(0x24e)]()));}return _0x256b40[_0x4f25ce(0x20e)]((_0x49ba82,_0x144ce7)=>{const _0x4ae389=_0x4f25ce;if(_0x1e9525[_0x144ce7]){const _0xadf411=_0x1e9525[_0x144ce7],_0x3031a9=SENSITIVE_PARAM_PATTERNS['some'](_0x1e03eb=>_0xadf411['includes'](_0x1e03eb));if(_0x3031a9)return _0x5acfa6['OZaPt'];}if(typeof _0x49ba82===_0x5acfa6['wGCwz']&&_0x49ba82['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x4ae389(0x282)](_0x49ba82)&&_0x49ba82[_0x4ae389(0x1dc)]('.'))return _0x4ae389(0x280);if(/^[a-fA-F0-9]{32,}$/[_0x4ae389(0x282)](_0x49ba82))return _0x4ae389(0x21a);}return _0x49ba82;});},parseQueryMetadata=_0x10749e=>{const _0x4bcf6b=a0_0x4624df,_0x579ce6={'TbCNF':_0x4bcf6b(0x224),'iGNDL':'INSERT','ZakIe':'BEGIN','QuODE':_0x4bcf6b(0x22a),'KNhzK':_0x4bcf6b(0x26b),'edMuf':'ALTER','lEkKa':_0x4bcf6b(0x23a)},_0x3a0509=_0x10749e[_0x4bcf6b(0x262)](),_0xe26bfd=_0x3a0509['toUpperCase']();let _0x1e1dc5=_0x4bcf6b(0x1da),_0x139202=null;if(_0xe26bfd['startsWith'](_0x579ce6['TbCNF'])){_0x1e1dc5=_0x4bcf6b(0x224);const _0xf5e893=_0x3a0509['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x139202=_0xf5e893?_0xf5e893[0x1]:null;}else{if(_0xe26bfd[_0x4bcf6b(0x261)](_0x579ce6[_0x4bcf6b(0x223)])){_0x1e1dc5=_0x4bcf6b(0x256);const _0x4d8330=_0x3a0509['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x139202=_0x4d8330?_0x4d8330[0x1]:null;}else{if(_0xe26bfd[_0x4bcf6b(0x261)](_0x4bcf6b(0x1ff))){_0x1e1dc5=_0x4bcf6b(0x1ff);const _0x2c9bc6=_0x3a0509['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x139202=_0x2c9bc6?_0x2c9bc6[0x1]:null;}else{if(_0xe26bfd['startsWith'](_0x4bcf6b(0x1f9))){_0x1e1dc5='DELETE';const _0x1f47b3=_0x3a0509['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x139202=_0x1f47b3?_0x1f47b3[0x1]:null;}else{if(_0xe26bfd[_0x4bcf6b(0x261)](_0x579ce6[_0x4bcf6b(0x1df)])||_0xe26bfd['startsWith'](_0x4bcf6b(0x22d)))_0x1e1dc5='TRANSACTION_BEGIN';else{if(_0xe26bfd[_0x4bcf6b(0x261)]('COMMIT'))_0x1e1dc5=_0x579ce6['QuODE'];else{if(_0xe26bfd[_0x4bcf6b(0x261)](_0x579ce6[_0x4bcf6b(0x241)]))_0x1e1dc5='TRANSACTION_ROLLBACK';else{if(_0xe26bfd['startsWith']('CREATE'))_0x1e1dc5=_0x4bcf6b(0x24f);else{if(_0xe26bfd['startsWith'](_0x579ce6[_0x4bcf6b(0x232)]))_0x1e1dc5=_0x4bcf6b(0x27f);else _0xe26bfd[_0x4bcf6b(0x261)](_0x4bcf6b(0x1e5))&&(_0x1e1dc5=_0x579ce6['lEkKa']);}}}}}}}}return{'type':_0x1e1dc5,'table':_0x139202};},startQueryTimer=()=>{const _0x3061db={'CwSiO':function(_0x5aa22d,_0x3a237a){return _0x5aa22d*_0x3a237a;}},_0x4890e0=process['hrtime']();return()=>{const _0x1f3f71=a0_0x39a8,[_0x23d95d,_0x379fdb]=process['hrtime'](_0x4890e0);return parseFloat((_0x3061db['CwSiO'](_0x23d95d,0x3e8)+_0x379fdb/0xf4240)[_0x1f3f71(0x20d)](0x2));};},logQuery=(_0x5ec8fd,_0x2ec54a=[],_0x2fe8b9={})=>{const _0x210050=a0_0x4624df,_0x43cb41={'ptaYJ':function(_0x1c5f56,_0x4002ba){return _0x1c5f56(_0x4002ba);},'UyXPd':function(_0x5570c9,_0x4f9bb0){return _0x5570c9>_0x4f9bb0;},'SFujm':_0x210050(0x253),'oDBoe':function(_0x576f24,_0x5f3e1d){return _0x576f24!==_0x5f3e1d;},'AgvGG':function(_0x3cdddc,_0x1d151b){return _0x3cdddc>_0x1d151b;},'LNpsQ':'\x20[SLOW]','QstpC':_0x210050(0x24c),'fKsqZ':function(_0x9a9187,_0xead68a){return _0x9a9187===_0xead68a;},'pNmuL':'info','aDKiz':function(_0x323be8,_0x160ab2,_0x1af91a){return _0x323be8(_0x160ab2,_0x1af91a);}};if(!sqlLogEnabled){logger[_0x210050(0x1e0)]({'event':_0x210050(0x1d6),'query':_0x5ec8fd[_0x210050(0x275)](0x0,0xc8),'paramCount':_0x2ec54a[_0x210050(0x236)]},'DB\x20Query');return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x2fe8b9,{type:_0xe9e6ed,table:_0x513049}=_0x43cb41['ptaYJ'](parseQueryMetadata,_0x5ec8fd),_0x13fdee={'event':_0x210050(0x284),'queryType':_0xe9e6ed,'table':_0x513049,'query':_0x5ec8fd,'paramCount':_0x2ec54a[_0x210050(0x236)],'dbType':dbType};sqlLogParams&&_0x2ec54a['length']>0x0&&(_0x13fdee[_0x210050(0x26a)]=redactSensitiveParams(_0x2ec54a,_0x5ec8fd));duration!==null&&(_0x13fdee['durationMs']=duration,_0x13fdee[_0x210050(0x22e)]=_0x43cb41['UyXPd'](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x13fdee['rowsAffected']=rowsAffected);const _0x8dc00c=_0x513049||_0x43cb41['SFujm'];let _0x1c5759='['+_0xe9e6ed+']\x20'+_0x8dc00c;_0x43cb41['oDBoe'](duration,null)&&(_0x1c5759+='\x20('+duration+_0x210050(0x225));const _0x6f00ca=_0x43cb41['oDBoe'](duration,null)&&_0x43cb41[_0x210050(0x1d7)](duration,sqlLogSlowThreshold);let _0x12fc7f='debug';if(_0x6f00ca)_0x1c5759+=_0x43cb41[_0x210050(0x228)],_0x12fc7f=_0x43cb41[_0x210050(0x203)],logger['warn'](_0x13fdee,_0x1c5759);else _0x43cb41['fKsqZ'](sqlLogLevel,_0x43cb41['pNmuL'])?(_0x12fc7f=_0x43cb41['pNmuL'],logger[_0x210050(0x1e8)](_0x13fdee,_0x1c5759)):logger['debug'](_0x13fdee,_0x1c5759);_0x43cb41['aDKiz'](writeToFileLog,{..._0x13fdee,'level':_0x12fc7f,'msg':_0x1c5759,'time':new Date()['toISOString']()},_0x12fc7f);},logTransaction=(_0x5ce998,_0x54815e)=>{const _0x366229=a0_0x4624df,_0x34ca7d={'ZTEbu':'debug'},_0x5ab531={'event':'db_transaction','status':_0x5ce998,'queryCount':_0x54815e},_0x102421='Transaction\x20'+_0x5ce998;logger['debug'](_0x5ab531,_0x102421),writeToFileLog({..._0x5ab531,'level':_0x34ca7d['ZTEbu'],'msg':_0x102421,'time':new Date()[_0x366229(0x277)]()},_0x34ca7d['ZTEbu']);},redactObject=_0x16c9d9=>{const _0x123435=a0_0x4624df,_0x52506e={'kUEnX':_0x123435(0x1f4),'VNkQv':_0x123435(0x251),'YgPpM':_0x123435(0x240),'YOdqi':_0x123435(0x24d),'bHTBg':'credit_card','AgwEm':_0x123435(0x21e),'dRJqL':_0x123435(0x26e),'RkWTc':_0x123435(0x1ef),'IDVHP':_0x123435(0x25d),'aXLHM':'object','MDUHB':function(_0x4abb50,_0x2322b0){return _0x4abb50(_0x2322b0);}};if(!_0x16c9d9||typeof _0x16c9d9!==_0x123435(0x25b))return _0x16c9d9;const _0x136f87=['password',_0x52506e['kUEnX'],_0x52506e[_0x123435(0x233)],_0x52506e['YgPpM'],'secret','apikey','api_key',_0x52506e['YOdqi'],_0x123435(0x27b),_0x52506e[_0x123435(0x26d)],_0x123435(0x281),_0x123435(0x25a),'pin',_0x52506e['AgwEm'],_0x52506e[_0x123435(0x27d)],_0x52506e[_0x123435(0x237)],_0x52506e['IDVHP']],_0x2c10ef=Array['isArray'](_0x16c9d9)?[..._0x16c9d9]:{..._0x16c9d9};for(const _0x412f32 of Object['keys'](_0x2c10ef)){const _0x10ff1f=_0x412f32[_0x123435(0x24e)]();if(_0x136f87['some'](_0x834180=>_0x10ff1f['includes'](_0x834180)))_0x2c10ef[_0x412f32]='[REDACTED]';else typeof _0x2c10ef[_0x412f32]===_0x52506e['aXLHM']&&_0x2c10ef[_0x412f32]!==null&&(_0x2c10ef[_0x412f32]=_0x52506e['MDUHB'](redactObject,_0x2c10ef[_0x412f32]));}return _0x2c10ef;},logError=(_0x45a4cd,_0x5c9d01={},_0x592f8d=null)=>{const _0x5b3db8=a0_0x4624df,_0x533519={'flCEz':_0x5b3db8(0x1d8),'ezQHt':_0x5b3db8(0x1e2)},_0xd2066e={'event':_0x533519[_0x5b3db8(0x244)],'errorName':_0x45a4cd['name']||_0x533519[_0x5b3db8(0x1de)],'errorMessage':_0x45a4cd[_0x5b3db8(0x205)],'errorCode':_0x45a4cd['code']||null,'stack':_0x45a4cd[_0x5b3db8(0x1eb)],..._0x5c9d01},_0x2d8a15=_0x592f8d||_0x5b3db8(0x273)+_0x45a4cd['message'];logger[_0x5b3db8(0x1d8)](_0xd2066e,_0x2d8a15),writeToFileLog({..._0xd2066e,'level':_0x533519[_0x5b3db8(0x244)],'msg':_0x2d8a15,'time':new Date()[_0x5b3db8(0x277)]()},_0x533519[_0x5b3db8(0x244)]);},logFatalError=(_0x5ad36f,_0x21332f={},_0x7dab87=null)=>{const _0x1a2efb=a0_0x4624df,_0x49474b={'dtxza':_0x1a2efb(0x1e2),'rMVna':'fatal'},_0x425fe4={'event':'fatal_error','errorName':_0x5ad36f[_0x1a2efb(0x272)]||_0x49474b[_0x1a2efb(0x1ea)],'errorMessage':_0x5ad36f[_0x1a2efb(0x205)],'errorCode':_0x5ad36f['code']||null,'stack':_0x5ad36f['stack'],'severity':'CRITICAL',..._0x21332f},_0x31d5f3=_0x7dab87||'FATAL:\x20'+_0x5ad36f[_0x1a2efb(0x205)];logger['fatal'](_0x425fe4,_0x31d5f3),writeToFileLog({..._0x425fe4,'level':_0x49474b[_0x1a2efb(0x238)],'msg':_0x31d5f3,'time':new Date()[_0x1a2efb(0x277)]()},_0x1a2efb(0x1d8));},logHttpError=(_0x25fefa,_0x1ec53f,_0x48d0c6={})=>{const _0x439fd1=a0_0x4624df,_0x17ccae={'UhRWN':_0x439fd1(0x1e2),'CEFNf':function(_0x3f9465,_0x114f09){return _0x3f9465>=_0x114f09;},'ulEOB':_0x439fd1(0x24c)},_0x470d30={'event':_0x439fd1(0x217),'errorName':_0x25fefa['name']||_0x17ccae['UhRWN'],'errorMessage':_0x25fefa[_0x439fd1(0x205)],'errorCode':_0x25fefa[_0x439fd1(0x23b)]||_0x25fefa[_0x439fd1(0x21c)]||0x1f4,'stack':_0x25fefa['stack'],'method':_0x1ec53f?.[_0x439fd1(0x219)],'url':_0x1ec53f?.[_0x439fd1(0x1f2)]||_0x1ec53f?.['originalUrl'],'path':_0x1ec53f?.[_0x439fd1(0x239)],'ip':_0x1ec53f?.['ip']||_0x1ec53f?.[_0x439fd1(0x249)]?.[_0x439fd1(0x21b)],'userAgent':_0x1ec53f?.[_0x439fd1(0x260)]?.('user-agent'),'requestId':_0x1ec53f?.['id']||_0x1ec53f?.[_0x439fd1(0x231)]?.[_0x439fd1(0x243)],'body':_0x1ec53f?.['body']?redactObject(_0x1ec53f[_0x439fd1(0x1e6)]):undefined,'query':_0x1ec53f?.['query'],..._0x48d0c6},_0x18f3cd=_0x25fefa['statusCode']||_0x25fefa['status']||0x1f4,_0x2add88='HTTP\x20'+_0x18f3cd+':\x20'+_0x25fefa['message'];_0x17ccae['CEFNf'](_0x18f3cd,0x1f4)?logger[_0x439fd1(0x1d8)](_0x470d30,_0x2add88):logger[_0x439fd1(0x24c)](_0x470d30,_0x2add88),writeToFileLog({..._0x470d30,'level':_0x18f3cd>=0x1f4?_0x439fd1(0x1d8):_0x439fd1(0x24c),'msg':_0x2add88,'time':new Date()[_0x439fd1(0x277)]()},_0x18f3cd>=0x1f4?_0x439fd1(0x1d8):_0x17ccae['ulEOB']);},logUncaughtError=(_0xb6cf94,_0x33ab9e)=>{const _0x476fd3=a0_0x4624df,_0x24fe40={'ZjzrL':function(_0x2a695e,_0xc72d32){return _0x2a695e(_0xc72d32);},'CQfre':function(_0xf8716,_0x2a1393,_0x3079df){return _0xf8716(_0x2a1393,_0x3079df);},'ycqoc':_0x476fd3(0x22b)},_0x438657={'event':_0xb6cf94,'errorName':_0x33ab9e?.['name']||'Error','errorMessage':_0x33ab9e?.[_0x476fd3(0x205)]||_0x24fe40['ZjzrL'](String,_0x33ab9e),'errorCode':_0x33ab9e?.[_0x476fd3(0x23b)]||null,'stack':_0x33ab9e?.['stack'],'severity':_0x476fd3(0x1e7),'processId':process[_0x476fd3(0x27c)],'memoryUsage':process['memoryUsage'](),'uptime':process[_0x476fd3(0x267)]()},_0x27d2d8='['+_0xb6cf94['toUpperCase']()+']\x20'+(_0x33ab9e?.[_0x476fd3(0x205)]||_0x33ab9e);logger[_0x476fd3(0x22b)](_0x438657,_0x27d2d8),_0x24fe40['CQfre'](writeToFileLog,{..._0x438657,'level':_0x24fe40['ycqoc'],'msg':_0x27d2d8,'time':new Date()[_0x476fd3(0x277)]()},'error');},setupGlobalErrorHandlers=()=>{const _0x3fb2de=a0_0x4624df,_0x42cebf={'ddEqg':function(_0x518ee5,_0x31abf8){return _0x518ee5(_0x31abf8);},'tizAG':function(_0x1fe0dd,_0xe6c838,_0x1540d0){return _0x1fe0dd(_0xe6c838,_0x1540d0);},'MvKZT':_0x3fb2de(0x1fc),'xZeoA':'process_warning','byLIG':_0x3fb2de(0x202),'eNSqv':'global_error_handlers_setup','mzjDh':'Global\x20error\x20handlers\x20initialized','nVHSH':'info'};process['on'](_0x3fb2de(0x21f),_0x27cdda=>{logUncaughtError('uncaughtException',_0x27cdda),setTimeout(()=>{const _0x2ef478=a0_0x39a8;process[_0x2ef478(0x1d1)](0x1);},0x3e8);}),process['on'](_0x42cebf[_0x3fb2de(0x1e1)],(_0x5dbbaa,_0x228f27)=>{const _0x45a520=_0x3fb2de,_0x451b02=_0x5dbbaa instanceof Error?_0x5dbbaa:new Error(_0x42cebf['ddEqg'](String,_0x5dbbaa));_0x42cebf[_0x45a520(0x1d4)](logUncaughtError,_0x42cebf['MvKZT'],_0x451b02);}),process['on'](_0x42cebf['byLIG'],_0xb5d24a=>{const _0x47f3d6=_0x3fb2de;logger['warn']({'event':_0x42cebf[_0x47f3d6(0x250)],'name':_0xb5d24a[_0x47f3d6(0x272)],'message':_0xb5d24a[_0x47f3d6(0x205)],'stack':_0xb5d24a[_0x47f3d6(0x1eb)]},_0x47f3d6(0x1f0)+_0xb5d24a['message']);});const _0x10edde={'event':_0x42cebf['eNSqv']},_0x3e8b48=_0x42cebf['mzjDh'];logger['info'](_0x10edde,_0x3e8b48),writeToFileLog({..._0x10edde,'level':'info','msg':_0x3e8b48,'time':new Date()['toISOString']()},_0x42cebf['nVHSH']);},createErrorHandlerMiddleware=()=>{const _0x3dfab5=a0_0x4624df,_0x560ea7={'svNfM':function(_0x2018b7,_0x58971d){return _0x2018b7>=_0x58971d;},'bwhtL':_0x3dfab5(0x23c)};return(_0x58c410,_0x15bcda,_0xf9fda9,_0x409fb9)=>{const _0x558f78=_0x3dfab5;logHttpError(_0x58c410,_0x15bcda);const _0x445507=_0x58c410[_0x558f78(0x21c)]||_0x58c410['status']||0x1f4;_0xf9fda9['status'](_0x445507)['json']({'success':![],'error':_0x560ea7['svNfM'](_0x445507,0x1f4)?_0x560ea7[_0x558f78(0x1d3)]:_0x58c410['message'],'requestId':_0x15bcda['id']||_0x15bcda[_0x558f78(0x231)]?.['x-request-id']||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
|
+
function a0_0x22da(_0x519345,_0x113fa8){_0x519345=_0x519345-0xcd;const _0x12bf42=a0_0x12bf();let _0x22da7a=_0x12bf42[_0x519345];if(a0_0x22da['yONNLf']===undefined){var _0x327958=function(_0xbf7113){const _0xe55a31='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x360b75='',_0x8e2429='';for(let _0x17f336=0x0,_0x5124b5,_0x2f067b,_0x4b2dd6=0x0;_0x2f067b=_0xbf7113['charAt'](_0x4b2dd6++);~_0x2f067b&&(_0x5124b5=_0x17f336%0x4?_0x5124b5*0x40+_0x2f067b:_0x2f067b,_0x17f336++%0x4)?_0x360b75+=String['fromCharCode'](0xff&_0x5124b5>>(-0x2*_0x17f336&0x6)):0x0){_0x2f067b=_0xe55a31['indexOf'](_0x2f067b);}for(let _0x518e1c=0x0,_0x4c776d=_0x360b75['length'];_0x518e1c<_0x4c776d;_0x518e1c++){_0x8e2429+='%'+('00'+_0x360b75['charCodeAt'](_0x518e1c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x8e2429);};a0_0x22da['pTMKLJ']=_0x327958,a0_0x22da['lADOuy']={},a0_0x22da['yONNLf']=!![];}const _0x1a3245=_0x12bf42[0x0],_0x4cc158=_0x519345+_0x1a3245,_0x3987b5=a0_0x22da['lADOuy'][_0x4cc158];return!_0x3987b5?(_0x22da7a=a0_0x22da['pTMKLJ'](_0x22da7a),a0_0x22da['lADOuy'][_0x4cc158]=_0x22da7a):_0x22da7a=_0x3987b5,_0x22da7a;}const a0_0x1f1287=a0_0x22da;(function(_0x8bd2a1,_0x169c89){const _0x21cdbe=a0_0x22da,_0x165c6b=_0x8bd2a1();while(!![]){try{const _0x17636f=parseInt(_0x21cdbe(0x176))/0x1*(parseInt(_0x21cdbe(0x10b))/0x2)+parseInt(_0x21cdbe(0x15a))/0x3+-parseInt(_0x21cdbe(0x14c))/0x4+-parseInt(_0x21cdbe(0x156))/0x5*(parseInt(_0x21cdbe(0xe0))/0x6)+-parseInt(_0x21cdbe(0x125))/0x7*(parseInt(_0x21cdbe(0x137))/0x8)+-parseInt(_0x21cdbe(0x16b))/0x9+parseInt(_0x21cdbe(0x16a))/0xa;if(_0x17636f===_0x169c89)break;else _0x165c6b['push'](_0x165c6b['shift']());}catch(_0x492363){_0x165c6b['push'](_0x165c6b['shift']());}}}(a0_0x12bf,0x1be6c));const pino=require('pino'),fs=require('fs'),path=require(a0_0x1f1287(0xfb));let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel=a0_0x1f1287(0x153),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;function a0_0x12bf(){const _0x3b17ac=['CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','sxvkB3G','A1P5CNO','zhHru24','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','CgfKrw5K','Eu96Egu','reiGuxvLCNK','CMvWzwf0','uwHztva','Dw5RBM93BG','Dw5Oyw5KBgvKuMvQzwn0Aw9U','CMvMCMvZAf90B2TLBG','C3rKu2vYAwfSAxPLCNm','A256tg4','Ahr0Cf9LCNjVCG','quXurvi','ChjVzhvJDgLVBG','Ag9ZDa','Cg9YDa','CgLU','mtiWuNPxrurd','DxnLCI1Hz2vUDa','Dg9vChbLCKnHC2u','DxjS','zxjYB3i','w1jfrefdvevexq','Dg5OwvK','D2fYBMLUzW','Bwf4','y3jLzgL0x2nHCMq','Ec1Yzxf1zxn0lwLK','C3rHDhvZq29Kzq','q09ntuLu','zgjFDhjHBNnHy3rPB24','E21Zz30','ALfMz1y','Cg9ZDgDYzxnXBa','Ahj0Aw1L','ChjPDMf0zv9RzxK','zuvqqM4','rw1PBMW','suXRz2S','BLLnBgy','tujJCLm','Ew9lAvi','revmrvrf','u0vmrunu','Cgf0Aa','CuDTrKi','vfjbtLnbq1rjt05FqKvhsu4','ChjVAMvJDa','C3rYAw5NAwz5','yxHQDMO','B3rW','C2vYDMvYx3n0yxj0Aw5N','CMHptNK','y3DK','wLHnuNG','yKnMBwq','vMXryMO','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','zw5KCg9PBNrFCMvNAxn0zxjLza','u1fmx0Xpr19ftKfcteve','mtK1mZG2u2j5s1Dn','vu5ltK9xtG','Cxn4tem','u1fmx0Xpr19tte9xx1riuKvtse9mra','A2v5CW','tK9erv9ftLy','yxbWlMXVzW','DhLWzq','C3nU','vNLIzLe','qKD3rgG','u293r2y','uMvnwui','CMvZDgzVCMDL','zMXVB3i','Dxb0Aw1L','ywnJzxnZx3rVA2vU','wKnxu3K','y1fRsgC','C3fSx3f1zxj5','ue5Sr0q','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','Dg9Rzw4','y29UBMvJDgLVBG','yLbXC3C','CgfZC3DVCMq','ntG2mtK0zhjtsNjM','sw50zxjUywWGC2vYDMvYigvYCM9Y','AgvHzgvYCW','z2v0sgvHzgvYCW','y29Kzq','DxnLCG','uK9mtejbq0S','zxjYB3iUBg9N','ANnVBG','BMfTzq','vvr6uLC','BKrtDK0','zLDUAuq','C3rHy2S','iokvKqRILzeGifbVCNqGicaGicaGidOG','w09lxsbqCM9Qzwn0igXVywrLzdOG','CNL3CMO','Dg9mB3DLCKnHC2u','ofjHy0rwyW','tM9Kzs5QCW','CgfZC3DK','yM9KEq','vhjHBNnHy3rPB24G','C3rHDhvZ','zgf0ywjHC2vFy29UzMLN','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','w1jfrefdveveoMHHC2HD','qwvJCKe','vfjbtLnbq1rjt05Fq09ntuLu','zw52AxjVBM1LBNq','C3bSAxq','C29Tzq','Bwf0y2G','qMnQwNm','Dw5JyxvNAhrfEgnLChrPB24','CM93C0fMzMvJDgvK','suLYtvG','u1fmx0Xpr19qqvjbtvm','Aw1wtMK','nteWotq0DM5UEw9y','tI9b','qKrIsKG','sLDux1nfq1jfva','BwfW','zMf0ywXFzxjYB3i','Aw5MBW','zgvIDwC','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','ChDK','mtG5mtbwr21xC3G','Ahr0Cf9Yzxf1zxn0','sfruuca','CMvTB3rLqwrKCMvZCW','mZqXndq1CxjJCwPx','BwvTB3j5vxnHz2u','te9hx1rpx0zjteu','q1jfqvrf','Dhj1zq','swTqCK0','Dg9ju09tDhjPBMC','y3z2','w1jfrefdveveoNrVA2vUxq','zMLSzv9SB2DNAw5Nx2vUywjSzwq','icdIHPiG','y3jLyxrLv3jPDgvtDhjLyw0','B2jQzwn0','yxv0Ag9YAxPHDgLVBG','DhjPBq','icbvuKW6icaGia','mZm1mJC4mfHlsgPAvG','mtmWodq1nLHhC1PfEG','zw5oqwy','twrJqM4','rxjYB3i','tvDLCLK','DgvZDa','ms4WlJu','BwvZC2fNzq','yxbPs2v5','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','C3rHCNrZv2L0Aa','muXvve52Dq','C2vJCMv0','s0zpvuG','zw52','AM9PBG','C2vYDMvYx3jLywr5','yxbPx2TLEq','iokvKqRILzeGifbYB2PLy3qGicaGidOG','Bwv0Ag9K','D2fYBG','ALncEuK','BgvUz3rO','zxHPC3rZu3LUyW','zMf0ywW','C2vYDMLJzuLUzM8','qxLsrgK','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','u1LtoKHioK1noNnZ','zgjFCxvLCNK'];a0_0x12bf=function(){return _0x3b17ac;};return a0_0x12bf();}const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x1f1287(0x187),'ignore':a0_0x1f1287(0x186),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0x1f1287(0xee),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env'][a0_0x1f1287(0x110)]!==a0_0x1f1287(0xdc),logLevel=process[a0_0x1f1287(0x179)]['LOG_LEVEL']||a0_0x1f1287(0x152);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env']['APP_VERSION']||a0_0x1f1287(0x171),'env':process[a0_0x1f1287(0x179)][a0_0x1f1287(0x110)]||'development'},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':[a0_0x1f1287(0x189),a0_0x1f1287(0x154),a0_0x1f1287(0x124),a0_0x1f1287(0x121),'apiKey','DB_PASSWORD',a0_0x1f1287(0x14f)],'censor':a0_0x1f1287(0xe5)},'serializers':{'req':_0x28d356=>({'id':_0x28d356['id'],'method':_0x28d356[a0_0x1f1287(0x17e)],'url':_0x28d356['url'],'path':_0x28d356[a0_0x1f1287(0xfb)],'remoteAddress':_0x28d356['ip']||_0x28d356[a0_0x1f1287(0x122)]?.[a0_0x1f1287(0x159)]}),'res':_0x47745f=>({'statusCode':_0x47745f[a0_0x1f1287(0xeb)],'headers':_0x47745f[a0_0x1f1287(0x128)]?.()}),'err':pino[a0_0x1f1287(0xd8)]['err']}});function initFileLogging(){const _0x2beacb=a0_0x1f1287,_0x785e8e={'Ovvyz':function(_0x5319cc,_0x3d31e8){return _0x5319cc===_0x3d31e8;},'IIrMX':'true','lZgSx':_0x2beacb(0x118),'vQWMJ':_0x2beacb(0x153),'rhONy':function(_0x2f598f,_0x3ab68b){return _0x2f598f(_0x3ab68b);},'TBdel':_0x2beacb(0x111),'imVNi':_0x2beacb(0x12c),'VybfQ':_0x2beacb(0x163),'IuJox':function(_0x867963,_0x23b00b,_0x2d1dd){return _0x867963(_0x23b00b,_0x2d1dd);},'qERwA':'info'};if(fileLoggingInitialized)return;logToFile=_0x785e8e['Ovvyz'](process['env'][_0x2beacb(0x15c)],_0x785e8e[_0x2beacb(0x149)]);const _0xf4e39f=process[_0x2beacb(0x179)][_0x2beacb(0x13e)]||'default';logDir=process[_0x2beacb(0x179)]['LOG_DIR']||'./logs/'+_0xf4e39f,serviceName=process['env']['SERVICE_NAME']||_0x785e8e['lZgSx'],sqlLogEnabled=_0x785e8e['Ovvyz'](process['env'][_0x2beacb(0x10a)],_0x2beacb(0x15e)),sqlLogLevel=process['env']['SQL_LOG_LEVEL']||_0x785e8e['vQWMJ'],sqlLogParams=process['env'][_0x2beacb(0x14a)]!=='false',sqlLogSlowThreshold=_0x785e8e[_0x2beacb(0x103)](parseInt,process['env'][_0x2beacb(0x10e)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x56a20d=path['resolve'](process[_0x2beacb(0x104)](),logDir);try{!fs[_0x2beacb(0x182)](_0x56a20d)&&fs['mkdirSync'](_0x56a20d,{'recursive':!![]});}catch(_0x4e4336){console[_0x2beacb(0xe4)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x56a20d+':',_0x4e4336[_0x2beacb(0x172)]),fileLoggingInitialized=!![];return;}const _0x5e6a60=path[_0x2beacb(0x17a)](_0x56a20d,_0x785e8e['TBdel']),_0x1e12cd=path['join'](_0x56a20d,_0x785e8e[_0x2beacb(0x14b)]);try{appLogStream=fs[_0x2beacb(0x165)](_0x5e6a60,{'flags':'a'}),errorLogStream=fs[_0x2beacb(0x165)](_0x1e12cd,{'flags':'a'}),fileLoggingInitialized=!![];const _0x1a6c9b={'event':_0x785e8e[_0x2beacb(0x114)],'logDir':_0x56a20d,'files':[_0x785e8e['TBdel'],_0x785e8e[_0x2beacb(0x14b)]]},_0x535153='File\x20logging\x20enabled:\x20'+_0x56a20d;logger['info'](_0x1a6c9b,_0x535153),_0x785e8e[_0x2beacb(0x18a)](writeToFileLog,{..._0x1a6c9b,'level':'info','msg':_0x535153,'time':new Date()['toISOString']()},_0x785e8e['qERwA']);}catch(_0x51d83d){console[_0x2beacb(0xe4)](_0x2beacb(0x174),_0x51d83d['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x3450ca,_0x34cdae){const _0x137e02=a0_0x1f1287,_0x497e1e={'IcAcM':function(_0x348c06,_0x3103c7){return _0x348c06||_0x3103c7;},'tnhYY':function(_0x1842e3,_0x1303cb){return _0x1842e3+_0x1303cb;},'SnSmh':function(_0x20d859,_0x227b7e){return _0x20d859===_0x227b7e;},'jmRPP':_0x137e02(0x183)};if(_0x497e1e['IcAcM'](!logToFile,!appLogStream))return;const _0xe21647={'service':serviceName,..._0x3450ca},_0xf1cdc9=_0x497e1e[_0x137e02(0xe6)](JSON[_0x137e02(0xff)](_0xe21647),'\x0a');appLogStream['write'](_0xf1cdc9),(_0x497e1e['SnSmh'](_0x34cdae,'error')||_0x34cdae===_0x497e1e['jmRPP'])&&(errorLogStream&&errorLogStream['write'](_0xf1cdc9));}const createRequestLogger=(_0x43a9c5={})=>{return logger['child'](_0x43a9c5);},logServerStart=_0x5edb4e=>{const _0x3e82cb=a0_0x1f1287,_0x40d72d={'ThqKV':function(_0x38d84b,_0x1e41df){return _0x38d84b-_0x1e41df;},'AyRDi':function(_0x4d3e7d,_0x19c679){return _0x4d3e7d(_0x19c679);},'qnqaz':'ACTIVE','QIHdx':'info'},_0x2d86c5=_0x3e82cb(0x108),_0x1079c8=Math[_0x3e82cb(0xe8)](0x0,0x37-_0x2d86c5[_0x3e82cb(0x181)]),_0x5736b8=Math[_0x3e82cb(0x119)](_0x1079c8/0x2),_0x3a082e=_0x40d72d['ThqKV'](_0x1079c8,_0x5736b8),_0x2c8407='║'+'\x20'['repeat'](_0x5736b8)+_0x2d86c5+'\x20'[_0x3e82cb(0xd3)](_0x3a082e)+'║',_0x27a5d5='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x2c8407+_0x3e82cb(0x120)+(_0x5edb4e[_0x3e82cb(0x142)]||_0x3e82cb(0x138))['padEnd'](0x26)+_0x3e82cb(0x17d)+(_0x5edb4e['project']||_0x3e82cb(0x14d))[_0x3e82cb(0xd0)](0x26)+_0x3e82cb(0x133)+_0x40d72d[_0x3e82cb(0x185)](String,_0x5edb4e[_0x3e82cb(0xde)]||0xbb8)[_0x3e82cb(0xd0)](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x5edb4e['configFile']||'Default')['padEnd'](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x5edb4e[_0x3e82cb(0x173)]?_0x40d72d['qnqaz']:'NOT\x20ACTIVE')[_0x3e82cb(0xd0)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x27a5d5);const _0x5e1253={'event':_0x3e82cb(0x102),'project':_0x5edb4e[_0x3e82cb(0xfe)],'port':_0x5edb4e['port'],'config':_0x5edb4e['configFile'],'apiKeyEnabled':!!_0x5edb4e['apiKey']};logger['info'](_0x5e1253),writeToFileLog({..._0x5e1253,'level':_0x40d72d['QIHdx'],'msg':'Server\x20starting:\x20'+_0x5edb4e['project']+'\x20on\x20port\x20'+_0x5edb4e[_0x3e82cb(0xde)],'time':new Date()['toISOString']()},_0x40d72d['QIHdx']);},logServerReady=_0x4fb052=>{const _0x598e1b=a0_0x1f1287,_0x1faa4f={'event':_0x598e1b(0x17b),'port':_0x4fb052['port'],'module':_0x4fb052['module'],'healthCheck':_0x4fb052['healthCheck'],'serviceInfo':_0x4fb052[_0x598e1b(0x184)],'baseUrl':_0x4fb052['baseUrl']},_0x29ad74='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x4fb052[_0x598e1b(0xde)];logger['info'](_0x1faa4f,_0x29ad74),writeToFileLog({..._0x1faa4f,'level':'info','msg':_0x29ad74,'time':new Date()[_0x598e1b(0x160)]()},_0x598e1b(0x152)),_0x4fb052['healthCheck']&&logger['info']('\x20\x20Health:\x20'+_0x4fb052['healthCheck']),_0x4fb052['serviceInfo']&&logger[_0x598e1b(0x152)]('\x20\x20Info:\x20\x20\x20'+_0x4fb052['serviceInfo']),_0x4fb052['baseUrl']&&logger[_0x598e1b(0x152)](_0x598e1b(0x169)+_0x4fb052['baseUrl']);},logProjectLoaded=(_0x29ce0b,_0x3937b9)=>{const _0x1ca979=a0_0x1f1287,_0x139a71={'jSByI':'project_loaded','ZCWSy':'info'},_0x44cc66={'event':_0x139a71[_0x1ca979(0x180)],'project':_0x29ce0b,'path':_0x3937b9},_0x5d12e3=_0x1ca979(0x134)+_0x29ce0b;logger[_0x1ca979(0x152)](_0x44cc66,_0x5d12e3),writeToFileLog({..._0x44cc66,'level':_0x139a71[_0x1ca979(0x11c)],'msg':_0x5d12e3,'time':new Date()['toISOString']()},'info');},logEndpointRegistered=(_0x33f98d,_0x16c6f9)=>{const _0x19381e=a0_0x1f1287,_0x2bc663={'fWniD':_0x19381e(0x109),'UrZit':function(_0x18dc29,_0x47acf2,_0xee9684){return _0x18dc29(_0x47acf2,_0xee9684);},'QhYMP':'debug'},_0x3fadd6={'event':_0x2bc663[_0x19381e(0x131)],'endpoint':_0x33f98d,'route':_0x16c6f9},_0xbd786=_0x19381e(0x164)+_0x33f98d+':\x20'+_0x16c6f9;logger['debug'](_0x3fadd6,_0xbd786),_0x2bc663['UrZit'](writeToFileLog,{..._0x3fadd6,'level':_0x2bc663[_0x19381e(0xd4)],'msg':_0xbd786,'time':new Date()[_0x19381e(0x160)]()},'debug');},logDatabaseConfig=_0x546dac=>{const _0xffa8d9=a0_0x1f1287,_0x3cc113={'qsxLC':_0xffa8d9(0x13d)},_0x51acc3={'event':_0x3cc113[_0xffa8d9(0x10d)],'host':_0x546dac[_0xffa8d9(0xdd)],'port':_0x546dac['port'],'database':_0x546dac['database'],'type':_0x546dac[_0xffa8d9(0x112)],'user':_0x546dac[_0xffa8d9(0x12a)]},_0x173556='Database:\x20'+_0x546dac[_0xffa8d9(0x112)]+'://'+_0x546dac[_0xffa8d9(0xdd)]+':'+_0x546dac['port']+'/'+_0x546dac['database'];logger['debug'](_0x51acc3,_0x173556),writeToFileLog({..._0x51acc3,'level':'debug','msg':_0x173556,'time':new Date()[_0xffa8d9(0x160)]()},'debug');},logRequest=(_0x199945,_0x77766,_0x1f5bab)=>{const _0x4537b6=a0_0x1f1287,_0x26ee3e={'CRfzr':_0x4537b6(0x157),'bCfmd':'info','ipyvP':function(_0x341b51,_0xf7d998){return _0x341b51>=_0xf7d998;}},_0x35f874={'event':_0x26ee3e['CRfzr'],'method':_0x199945['method'],'path':_0x199945['path'],'statusCode':_0x77766['statusCode'],'durationMs':_0x1f5bab,'ip':_0x199945['ip']},_0x576ab2=_0x199945['method']+'\x20'+_0x199945[_0x4537b6(0xfb)]+'\x20-\x20'+_0x77766['statusCode']+'\x20('+_0x1f5bab+'ms)';let _0x5ddf4f=_0x26ee3e[_0x4537b6(0x106)];if(_0x77766[_0x4537b6(0xeb)]>=0x1f4)_0x5ddf4f=_0x4537b6(0xe4),logger['error'](_0x35f874,_0x576ab2);else _0x26ee3e['ipyvP'](_0x77766['statusCode'],0x190)?(_0x5ddf4f='warn',logger['warn'](_0x35f874,_0x576ab2)):logger['info'](_0x35f874,_0x576ab2);writeToFileLog({..._0x35f874,'level':_0x5ddf4f,'msg':_0x576ab2,'time':new Date()['toISOString']()},_0x5ddf4f);},SENSITIVE_PARAM_PATTERNS=[a0_0x1f1287(0x124),a0_0x1f1287(0x139),'pwd',a0_0x1f1287(0x121),a0_0x1f1287(0x11b),a0_0x1f1287(0xd7),a0_0x1f1287(0x177),'api_secret','apikey','api_key','credential','credentials',a0_0x1f1287(0xdf),a0_0x1f1287(0x101),a0_0x1f1287(0xf2),'privatekey'],redactSensitiveParams=(_0xb357fe,_0x3fdf9d)=>{const _0x31d4b4=a0_0x1f1287,_0x1c9ba2={'ZXMRx':'[REDACTED]','Cyget':function(_0xb73ee,_0x2c6c05){return _0xb73ee===_0x2c6c05;},'MBcrS':'string','UTzRW':function(_0x368d81,_0x17f1e2){return _0x368d81>_0x17f1e2;},'gPrnj':_0x31d4b4(0x162),'puoAX':_0x31d4b4(0x13f)};if(!_0xb357fe||_0x1c9ba2['Cyget'](_0xb357fe['length'],0x0))return _0xb357fe;const _0x42af4b=_0x3fdf9d['toLowerCase'](),_0x4b7e01=_0x42af4b['match'](/\(([^)]+)\)\s*values/i);let _0xfba24b=[];_0x4b7e01&&(_0xfba24b=_0x4b7e01[0x1][_0x31d4b4(0x143)](',')[_0x31d4b4(0x150)](_0x4b9d4c=>_0x4b9d4c['trim']()[_0x31d4b4(0x136)]()));const _0x585311=_0x42af4b['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x585311){const _0x2e8e9c=_0x585311[0x1],_0x350acd=_0x2e8e9c['match'](/(\w+)\s*=/g);_0x350acd&&(_0xfba24b=_0x350acd['map'](_0x415151=>_0x415151['replace'](/\s*=/,'')[_0x31d4b4(0x168)]()[_0x31d4b4(0x136)]()));}return _0xb357fe[_0x31d4b4(0x150)]((_0x1f3639,_0x5f26a7)=>{const _0x162b9=_0x31d4b4;if(_0xfba24b[_0x5f26a7]){const _0x12da0e=_0xfba24b[_0x5f26a7],_0x2571ca=SENSITIVE_PARAM_PATTERNS['some'](_0x3f86ba=>_0x12da0e['includes'](_0x3f86ba));if(_0x2571ca)return _0x1c9ba2[_0x162b9(0x105)];}if(_0x1c9ba2['Cyget'](typeof _0x1f3639,_0x1c9ba2[_0x162b9(0xf7)])&&_0x1c9ba2[_0x162b9(0x12f)](_0x1f3639['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x162b9(0x170)](_0x1f3639)&&_0x1f3639['includes']('.'))return _0x1c9ba2['gPrnj'];if(/^[a-fA-F0-9]{32,}$/['test'](_0x1f3639))return _0x1c9ba2['puoAX'];}return _0x1f3639;});},parseQueryMetadata=_0x212beb=>{const _0x14602f=a0_0x1f1287,_0x248431={'rnyZN':_0x14602f(0xfa),'bPqsw':'INSERT','cgene':'UPDATE','BcjZs':'DELETE','jQfgV':'START\x20TRANSACTION','PNlGD':_0x14602f(0x12b),'rPxAS':'TRANSACTION_ROLLBACK','XQKcT':'DDL_ALTER','whpKt':'DROP'},_0xe34f39=_0x212beb['trim'](),_0x1d855e=_0xe34f39[_0x14602f(0xe2)]();let _0x2e1272=_0x14602f(0x10c),_0x4c640c=null;if(_0x1d855e[_0x14602f(0x175)](_0x248431['rnyZN'])){_0x2e1272=_0x14602f(0xfa);const _0x1ef11d=_0xe34f39['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4c640c=_0x1ef11d?_0x1ef11d[0x1]:null;}else{if(_0x1d855e['startsWith'](_0x248431[_0x14602f(0x123)])){_0x2e1272=_0x248431['bPqsw'];const _0x2ef5e2=_0xe34f39['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4c640c=_0x2ef5e2?_0x2ef5e2[0x1]:null;}else{if(_0x1d855e['startsWith']('UPDATE')){_0x2e1272=_0x248431['cgene'];const _0x2731b7=_0xe34f39[_0x14602f(0x145)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4c640c=_0x2731b7?_0x2731b7[0x1]:null;}else{if(_0x1d855e['startsWith'](_0x248431[_0x14602f(0x146)])){_0x2e1272=_0x14602f(0xf9);const _0x195f90=_0xe34f39['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4c640c=_0x195f90?_0x195f90[0x1]:null;}else{if(_0x1d855e[_0x14602f(0x175)]('BEGIN')||_0x1d855e[_0x14602f(0x175)](_0x248431[_0x14602f(0xef)]))_0x2e1272=_0x14602f(0xfd);else{if(_0x1d855e['startsWith'](_0x14602f(0xec)))_0x2e1272=_0x14602f(0x141);else{if(_0x1d855e[_0x14602f(0x175)](_0x248431[_0x14602f(0x11f)]))_0x2e1272=_0x248431['rPxAS'];else{if(_0x1d855e[_0x14602f(0x175)](_0x14602f(0x15d)))_0x2e1272='DDL_CREATE';else{if(_0x1d855e['startsWith'](_0x14602f(0xdb)))_0x2e1272=_0x248431['XQKcT'];else _0x1d855e['startsWith'](_0x248431['whpKt'])&&(_0x2e1272='DDL_DROP');}}}}}}}}return{'type':_0x2e1272,'table':_0x4c640c};},startQueryTimer=()=>{const _0x38d7c3=a0_0x1f1287,_0x49362c={'kZyrz':function(_0x4d02ae,_0x6fc301){return _0x4d02ae*_0x6fc301;},'GHvUq':function(_0x2f0af4,_0x2aaefe){return _0x2f0af4/_0x2aaefe;}},_0x3addc2=process[_0x38d7c3(0xf1)]();return()=>{const _0x10e0a2=_0x38d7c3,[_0x2bb204,_0x394334]=process[_0x10e0a2(0xf1)](_0x3addc2);return parseFloat((_0x49362c[_0x10e0a2(0xcd)](_0x2bb204,0x3e8)+_0x49362c['GHvUq'](_0x394334,0xf4240))['toFixed'](0x2));};},logQuery=(_0x1daae0,_0x3afee5=[],_0x320f91={})=>{const _0x3fe8c9=a0_0x1f1287,_0x5c3be6={'RIugs':_0x3fe8c9(0xd2),'qGmFB':_0x3fe8c9(0xf0),'HEWEU':function(_0x932bb9,_0x492887){return _0x932bb9||_0x492887;},'dHoDz':_0x3fe8c9(0xd5),'rrXue':function(_0x333852,_0x375c05){return _0x333852!==_0x375c05;},'knzLn':_0x3fe8c9(0x153),'nDSvM':'\x20[SLOW]','Eminl':_0x3fe8c9(0x17f),'nYMlf':function(_0x18d043,_0x421aef){return _0x18d043===_0x421aef;},'yoKiR':function(_0x4335af,_0xad1f33,_0x7c432a){return _0x4335af(_0xad1f33,_0x7c432a);}};if(!sqlLogEnabled){logger[_0x3fe8c9(0x153)]({'event':_0x3fe8c9(0x188),'query':_0x1daae0['substring'](0x0,0xc8),'paramCount':_0x3afee5['length']},_0x5c3be6['RIugs']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x5c3be6[_0x3fe8c9(0xfc)]}=_0x320f91,{type:_0x5bbbc8,table:_0x27541c}=parseQueryMetadata(_0x1daae0),_0x28f78a={'event':_0x3fe8c9(0x11e),'queryType':_0x5bbbc8,'table':_0x27541c,'query':_0x1daae0,'paramCount':_0x3afee5[_0x3fe8c9(0x181)],'dbType':dbType};sqlLogParams&&_0x3afee5[_0x3fe8c9(0x181)]>0x0&&(_0x28f78a['params']=redactSensitiveParams(_0x3afee5,_0x1daae0));duration!==null&&(_0x28f78a['durationMs']=duration,_0x28f78a['isSlow']=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x28f78a[_0x3fe8c9(0x148)]=rowsAffected);const _0xdc737b=_0x5c3be6['HEWEU'](_0x27541c,_0x5c3be6['dHoDz']);let _0x2ebf2d='['+_0x5bbbc8+']\x20'+_0xdc737b;duration!==null&&(_0x2ebf2d+='\x20('+duration+'ms)');const _0x200e8f=_0x5c3be6['rrXue'](duration,null)&&duration>sqlLogSlowThreshold;let _0x3b9249=_0x5c3be6[_0x3fe8c9(0xd9)];if(_0x200e8f)_0x2ebf2d+=_0x5c3be6[_0x3fe8c9(0x130)],_0x3b9249=_0x5c3be6[_0x3fe8c9(0xf4)],logger[_0x3fe8c9(0x17f)](_0x28f78a,_0x2ebf2d);else _0x5c3be6[_0x3fe8c9(0xf6)](sqlLogLevel,_0x3fe8c9(0x152))?(_0x3b9249=_0x3fe8c9(0x152),logger[_0x3fe8c9(0x152)](_0x28f78a,_0x2ebf2d)):logger['debug'](_0x28f78a,_0x2ebf2d);_0x5c3be6[_0x3fe8c9(0xf8)](writeToFileLog,{..._0x28f78a,'level':_0x3b9249,'msg':_0x2ebf2d,'time':new Date()['toISOString']()},_0x3b9249);},logTransaction=(_0x3686c7,_0x1f68ee)=>{const _0x32798b=a0_0x1f1287,_0x51279b={'dxQSn':_0x32798b(0xed),'yOzxe':_0x32798b(0x153)},_0x24b12f={'event':_0x51279b[_0x32798b(0xce)],'status':_0x3686c7,'queryCount':_0x1f68ee},_0x3cc04e=_0x32798b(0x13b)+_0x3686c7;logger[_0x32798b(0x153)](_0x24b12f,_0x3cc04e),writeToFileLog({..._0x24b12f,'level':_0x51279b[_0x32798b(0xd1)],'msg':_0x3cc04e,'time':new Date()[_0x32798b(0x160)]()},_0x32798b(0x153));},redactObject=_0x4ebf1a=>{const _0x11689b=a0_0x1f1287,_0xfb6bdd={'eEPBn':'passwd','SowGf':_0x11689b(0x155),'BDbJH':'token','enNAf':'apikey','cQkHg':_0x11689b(0x161),'MdcBn':_0x11689b(0x113),'UVDmH':_0x11689b(0xdf),'TxzGX':'private_key','deqaS':'privatekey','VlQbj':_0x11689b(0xd7),'BGwDh':function(_0x2ec3d0,_0x255418){return _0x2ec3d0===_0x255418;}};if(!_0x4ebf1a||typeof _0x4ebf1a!=='object')return _0x4ebf1a;const _0x5b5b34=['password',_0xfb6bdd[_0x11689b(0xf3)],_0xfb6bdd[_0x11689b(0x116)],_0xfb6bdd[_0x11689b(0x14e)],_0x11689b(0x177),_0xfb6bdd[_0x11689b(0x16c)],_0x11689b(0x17c),_0x11689b(0x167),'creditcard',_0x11689b(0xe9),_0xfb6bdd[_0x11689b(0x11d)],_0xfb6bdd[_0x11689b(0x16d)],_0xfb6bdd['UVDmH'],_0xfb6bdd['TxzGX'],_0xfb6bdd['deqaS'],_0xfb6bdd[_0x11689b(0x107)],'access_token'],_0x25b693=Array['isArray'](_0x4ebf1a)?[..._0x4ebf1a]:{..._0x4ebf1a};for(const _0x3a3481 of Object[_0x11689b(0x10f)](_0x25b693)){const _0x19331f=_0x3a3481[_0x11689b(0x136)]();if(_0x5b5b34[_0x11689b(0x144)](_0x28a159=>_0x19331f['includes'](_0x28a159)))_0x25b693[_0x3a3481]='[REDACTED]';else _0xfb6bdd[_0x11689b(0x115)](typeof _0x25b693[_0x3a3481],_0x11689b(0x166))&&_0x25b693[_0x3a3481]!==null&&(_0x25b693[_0x3a3481]=redactObject(_0x25b693[_0x3a3481]));}return _0x25b693;},logError=(_0x5e8588,_0x3136df={},_0x9b248c=null)=>{const _0x16e751=a0_0x1f1287,_0x87f5df={'KFOUH':_0x16e751(0x16e),'UGRUG':'error'},_0x50e179={'event':_0x16e751(0xe4),'errorName':_0x5e8588[_0x16e751(0x12e)]||_0x87f5df[_0x16e751(0x178)],'errorMessage':_0x5e8588['message'],'errorCode':_0x5e8588[_0x16e751(0x129)]||null,'stack':_0x5e8588[_0x16e751(0x132)],..._0x3136df},_0x152a81=_0x9b248c||'Error:\x20'+_0x5e8588[_0x16e751(0x172)];logger['error'](_0x50e179,_0x152a81),writeToFileLog({..._0x50e179,'level':_0x16e751(0xe4),'msg':_0x152a81,'time':new Date()[_0x16e751(0x160)]()},_0x87f5df['UGRUG']);},logFatalError=(_0xdfb2bd,_0x2dbfbb={},_0x533d0a=null)=>{const _0x389e53=a0_0x1f1287,_0x56c7b3={'MWerY':'Error','AecrA':'CRITICAL','ReMYB':_0x389e53(0x183),'Hnnur':'error'},_0x1498a9={'event':_0x389e53(0x151),'errorName':_0xdfb2bd[_0x389e53(0x12e)]||_0x56c7b3[_0x389e53(0x16f)],'errorMessage':_0xdfb2bd['message'],'errorCode':_0xdfb2bd['code']||null,'stack':_0xdfb2bd['stack'],'severity':_0x56c7b3[_0x389e53(0x140)],..._0x2dbfbb},_0x2b25c9=_0x533d0a||'FATAL:\x20'+_0xdfb2bd[_0x389e53(0x172)];logger[_0x389e53(0x183)](_0x1498a9,_0x2b25c9),writeToFileLog({..._0x1498a9,'level':_0x56c7b3[_0x389e53(0x117)],'msg':_0x2b25c9,'time':new Date()[_0x389e53(0x160)]()},_0x56c7b3['Hnnur']);},logHttpError=(_0x29c869,_0x1b3af6,_0x3f408a={})=>{const _0x20784b=a0_0x1f1287,_0x2084e2={'keZLJ':_0x20784b(0xda),'ILkgk':'Error','rywrj':'error','smWGX':'warn'},_0x388556={'event':_0x2084e2['keZLJ'],'errorName':_0x29c869[_0x20784b(0x12e)]||_0x2084e2[_0x20784b(0xf5)],'errorMessage':_0x29c869['message'],'errorCode':_0x29c869[_0x20784b(0x129)]||_0x29c869[_0x20784b(0xeb)]||0x1f4,'stack':_0x29c869['stack'],'method':_0x1b3af6?.[_0x20784b(0x17e)],'url':_0x1b3af6?.[_0x20784b(0xe3)]||_0x1b3af6?.['originalUrl'],'path':_0x1b3af6?.['path'],'ip':_0x1b3af6?.['ip']||_0x1b3af6?.['connection']?.[_0x20784b(0x159)],'userAgent':_0x1b3af6?.['get']?.(_0x20784b(0xe1)),'requestId':_0x1b3af6?.['id']||_0x1b3af6?.[_0x20784b(0x127)]?.[_0x20784b(0xea)],'body':_0x1b3af6?.[_0x20784b(0x13a)]?redactObject(_0x1b3af6[_0x20784b(0x13a)]):undefined,'query':_0x1b3af6?.['query'],..._0x3f408a},_0x37f9b0=_0x29c869[_0x20784b(0xeb)]||_0x29c869['status']||0x1f4,_0x465fcd=_0x20784b(0x158)+_0x37f9b0+':\x20'+_0x29c869[_0x20784b(0x172)];_0x37f9b0>=0x1f4?logger['error'](_0x388556,_0x465fcd):logger[_0x20784b(0x17f)](_0x388556,_0x465fcd),writeToFileLog({..._0x388556,'level':_0x37f9b0>=0x1f4?'error':_0x20784b(0x17f),'msg':_0x465fcd,'time':new Date()['toISOString']()},_0x37f9b0>=0x1f4?_0x2084e2[_0x20784b(0x135)]:_0x2084e2['smWGX']);},logUncaughtError=(_0x8b6ec9,_0x1d12d1)=>{const _0x23125a=a0_0x1f1287,_0x9aaadb={'QYopm':'Error','DwNcQ':function(_0x43be5f,_0x103615){return _0x43be5f(_0x103615);},'CIias':'CRITICAL','QPBgI':'error'},_0x349bc4={'event':_0x8b6ec9,'errorName':_0x1d12d1?.['name']||_0x9aaadb['QYopm'],'errorMessage':_0x1d12d1?.['message']||_0x9aaadb['DwNcQ'](String,_0x1d12d1),'errorCode':_0x1d12d1?.[_0x23125a(0x129)]||null,'stack':_0x1d12d1?.[_0x23125a(0x132)],'severity':_0x9aaadb['CIias'],'processId':process['pid'],'memoryUsage':process[_0x23125a(0x15b)](),'uptime':process[_0x23125a(0x11a)]()},_0x1ab546='['+_0x8b6ec9['toUpperCase']()+']\x20'+(_0x1d12d1?.['message']||_0x1d12d1);logger[_0x23125a(0x183)](_0x349bc4,_0x1ab546),writeToFileLog({..._0x349bc4,'level':_0x23125a(0x183),'msg':_0x1ab546,'time':new Date()['toISOString']()},_0x9aaadb['QPBgI']);},setupGlobalErrorHandlers=()=>{const _0x4f446c=a0_0x1f1287,_0x5a49ab={'tDnXj':function(_0x17b579,_0x4558ca){return _0x17b579 instanceof _0x4558ca;},'axjvj':_0x4f446c(0xe7),'IkPrM':'global_error_handlers_setup'};process['on']('uncaughtException',_0x516f8a=>{const _0x5d7208=_0x4f446c;logUncaughtError(_0x5d7208(0x147),_0x516f8a),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x4f446c(0xd6),(_0x460bea,_0x49506c)=>{const _0x578d6e=_0x4f446c,_0x10eff8=_0x5a49ab['tDnXj'](_0x460bea,Error)?_0x460bea:new Error(String(_0x460bea));logUncaughtError(_0x578d6e(0xd6),_0x10eff8);}),process['on'](_0x5a49ab[_0x4f446c(0x100)],_0x54c1c5=>{const _0x17a7da=_0x4f446c;logger[_0x17a7da(0x17f)]({'event':'process_warning','name':_0x54c1c5[_0x17a7da(0x12e)],'message':_0x54c1c5['message'],'stack':_0x54c1c5['stack']},'Process\x20Warning:\x20'+_0x54c1c5[_0x17a7da(0x172)]);});const _0x1d0f3c={'event':_0x5a49ab[_0x4f446c(0x15f)]},_0x7ebe2=_0x4f446c(0xcf);logger[_0x4f446c(0x152)](_0x1d0f3c,_0x7ebe2),writeToFileLog({..._0x1d0f3c,'level':'info','msg':_0x7ebe2,'time':new Date()[_0x4f446c(0x160)]()},_0x4f446c(0x152));},createErrorHandlerMiddleware=()=>{const _0x411a77=a0_0x1f1287,_0x3f5a3f={'IPWIt':_0x411a77(0x126)};return(_0x3001c4,_0x4e83f5,_0x66822e,_0x248460)=>{const _0x305b9e=_0x411a77;logHttpError(_0x3001c4,_0x4e83f5);const _0x58c797=_0x3001c4[_0x305b9e(0xeb)]||_0x3001c4['status']||0x1f4;_0x66822e[_0x305b9e(0x13c)](_0x58c797)[_0x305b9e(0x12d)]({'success':![],'error':_0x58c797>=0x1f4?_0x3f5a3f['IPWIt']:_0x3001c4['message'],'requestId':_0x4e83f5['id']||_0x4e83f5['headers']?.[_0x305b9e(0xea)]||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
|
-
|
|
1
|
+
function a0_0x1309(){const _0x143e86=['lI9SB2DNzxi','m3vmz0r2sG','mtCZnZy0ohLJveLRAa','lI9KyI1VCMfJBgu','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','AM1hC0S','A2v5CW','B1PPzKy','iIbUB3qGzM91BMqGAw4G','zKzyvg4','Aw5MBW','DhjPBq','Dg9vChbLCKnHC2u','BgvUz3rO','C2v0','zgvIDwC','mJa5mtm3nxL6zezTyq','ywrK','tg9VA3vWignHy2HLignSzwfYzwq','Bg9VA3vWq2fJAgu','y2XLyxi','z2v0','rejFvfLqrq','DLPYrMe','Cg9ZDgDYzxnXBa','vMfSDwuGiG','lI9KyG','Dg9mB3DLCKnHC2u','mty2mJDfwwvHyKi','mJC3mte5mfrJCMzKsa','BwfW','ntvHwxrQsuy','nM9YC05dyW','nZyYneneD0HUzW','zNjVBq','mJq3mwzJuwPizW','ChvZAa','zM9YrwfJAa','tg9VA3vWihrHyMXLigXVywrLzdOG','mJq1nJaWC3Dzz0nb','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','mti4odq5neT2yLLMBq','sLv1y2C','iezst00G','zxHLy3v0zvf1zxj5','zxjYB3i','zw50CMLLCW','AgfZ','Bg9HzeXVB2T1CfrHyMXL'];a0_0x1309=function(){return _0x143e86;};return a0_0x1309();}const a0_0x262393=a0_0x3386;(function(_0x47f251,_0x45b69e){const _0x2c6c73=a0_0x3386,_0x1ff991=_0x47f251();while(!![]){try{const _0xe1f840=-parseInt(_0x2c6c73(0x127))/0x1*(-parseInt(_0x2c6c73(0x12b))/0x2)+parseInt(_0x2c6c73(0x13d))/0x3*(-parseInt(_0x2c6c73(0x13e))/0x4)+parseInt(_0x2c6c73(0x14c))/0x5+parseInt(_0x2c6c73(0x134))/0x6+-parseInt(_0x2c6c73(0x12e))/0x7*(-parseInt(_0x2c6c73(0x12c))/0x8)+-parseInt(_0x2c6c73(0x128))/0x9+parseInt(_0x2c6c73(0x132))/0xa*(parseInt(_0x2c6c73(0x12a))/0xb);if(_0xe1f840===_0x45b69e)break;else _0x1ff991['push'](_0x1ff991['shift']());}catch(_0x14c73e){_0x1ff991['push'](_0x1ff991['shift']());}}}(a0_0x1309,0x619b0));const dbType=(process['env'][a0_0x262393(0x121)]||a0_0x262393(0x123))['toLowerCase']();function a0_0x3386(_0x4c1009,_0xde3a74){_0x4c1009=_0x4c1009-0x120;const _0x130955=a0_0x1309();let _0x3386b4=_0x130955[_0x4c1009];if(a0_0x3386['dAFQby']===undefined){var _0x55a7a7=function(_0x4b42e6){const _0x178168='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2825e5='',_0x1bee6b='';for(let _0x9832d3=0x0,_0x414a9e,_0x11a866,_0x52fb52=0x0;_0x11a866=_0x4b42e6['charAt'](_0x52fb52++);~_0x11a866&&(_0x414a9e=_0x9832d3%0x4?_0x414a9e*0x40+_0x11a866:_0x11a866,_0x9832d3++%0x4)?_0x2825e5+=String['fromCharCode'](0xff&_0x414a9e>>(-0x2*_0x9832d3&0x6)):0x0){_0x11a866=_0x178168['indexOf'](_0x11a866);}for(let _0x5b6b55=0x0,_0x3d9c57=_0x2825e5['length'];_0x5b6b55<_0x3d9c57;_0x5b6b55++){_0x1bee6b+='%'+('00'+_0x2825e5['charCodeAt'](_0x5b6b55)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1bee6b);};a0_0x3386['eZKrsN']=_0x55a7a7,a0_0x3386['IKLLGU']={},a0_0x3386['dAFQby']=!![];}const _0x295487=_0x130955[0x0],_0x56c3bd=_0x4c1009+_0x295487,_0x4ab726=a0_0x3386['IKLLGU'][_0x56c3bd];return!_0x4ab726?(_0x3386b4=a0_0x3386['eZKrsN'](_0x3386b4),a0_0x3386['IKLLGU'][_0x56c3bd]=_0x3386b4):_0x3386b4=_0x4ab726,_0x3386b4;}let executeQuery;if(dbType==='oracle'){const oracleDb=require(a0_0x262393(0x13f));executeQuery=(_0x315bff,_0x276ab2)=>oracleDb['executeQuery'](_0x315bff,_0x276ab2);}else{if(dbType==='mysql'){const mysqlDb=require('./db-mysql');executeQuery=(_0x12cc28,_0x409ca6)=>mysqlDb[a0_0x262393(0x137)](_0x12cc28,_0x409ca6);}else executeQuery=require(a0_0x262393(0x125))['executeQuery'];}const {logger}=require(a0_0x262393(0x13c));class LookupResolver{constructor(){const _0x270825=a0_0x262393;this[_0x270825(0x14f)]=new Map();}['clearCache'](){const _0x55a204=a0_0x262393,_0x38c4ea={'TRbjn':'lookup_cache_cleared'};this[_0x55a204(0x14f)][_0x55a204(0x150)](),logger[_0x55a204(0x14b)]({'event':_0x38c4ea['TRbjn']},_0x55a204(0x14e));}async['loadLookupTable'](_0x3798bd,_0x47d7c6,_0x4c78bb){const _0x907868=a0_0x262393,_0x942811={'JUucg':function(_0x5a9d82,_0xe0d0e6){return _0x5a9d82!==_0xe0d0e6;},'VduKq':function(_0xe95d3,_0x580969){return _0xe95d3!==_0x580969;},'vZrFa':function(_0x5e09fa,_0x95534a){return _0x5e09fa(_0x95534a);}},_0x4032ef=_0x3798bd+':'+_0x47d7c6+':'+_0x4c78bb;if(this['lookupCache']['has'](_0x4032ef))return this['lookupCache']['get'](_0x4032ef);try{const _0x513556='SELECT\x20'+_0x4c78bb+',\x20'+_0x47d7c6+_0x907868(0x136)+_0x3798bd,_0x4d2702=await executeQuery(_0x513556),_0xd61e8a=new Map();return _0x4d2702[_0x907868(0x130)](_0x2220c4=>{const _0x43c7cc=_0x907868,_0x56aae0=_0x942811[_0x43c7cc(0x135)](_0x2220c4[_0x47d7c6],undefined)?_0x2220c4[_0x47d7c6]:_0x2220c4[_0x47d7c6[_0x43c7cc(0x148)]()],_0xec28d6=_0x2220c4[_0x4c78bb]!==undefined?_0x2220c4[_0x4c78bb]:_0x2220c4[_0x4c78bb['toUpperCase']()];_0x942811['VduKq'](_0x56aae0,null)&&_0x56aae0!==undefined&&(_0xd61e8a[_0x43c7cc(0x14a)](_0x942811[_0x43c7cc(0x122)](String,_0x56aae0)['toLowerCase']()['trim'](),_0xec28d6),_0xd61e8a['set'](_0x942811['vZrFa'](String,_0x56aae0)[_0x43c7cc(0x147)](),_0xec28d6));}),this['lookupCache']['set'](_0x4032ef,_0xd61e8a),logger['info']({'event':'lookup_table_loaded','table':_0x3798bd,'column':_0x47d7c6,'count':_0x4d2702[_0x907868(0x149)]},_0x907868(0x131)+_0x3798bd),_0xd61e8a;}catch(_0x3536ee){logger[_0x907868(0x138)]({'event':'lookup_table_load_error','table':_0x3798bd,'error':_0x3536ee['message']},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x3798bd);throw _0x3536ee;}}['resolveLookupValue'](_0x3b03fd,_0x3ca92b){const _0x5a4db8=a0_0x262393;if(_0x3b03fd===null||_0x3b03fd===undefined||_0x3b03fd==='')return null;const _0x18c393=String(_0x3b03fd)[_0x5a4db8(0x147)]();if(_0x3ca92b['has'](_0x18c393))return _0x3ca92b[_0x5a4db8(0x120)](_0x18c393);const _0x4e0625=_0x18c393[_0x5a4db8(0x126)]();if(_0x3ca92b['has'](_0x4e0625))return _0x3ca92b['get'](_0x4e0625);return null;}async['processLookupFields'](_0x1c4ed0,_0x2977e7){const _0x4e3af1=a0_0x262393,_0x324f68={'fFXTn':function(_0xc2a1f5,_0x720bef){return _0xc2a1f5!==_0x720bef;},'xffHg':function(_0x2640ef,_0x37af13){return _0x2640ef===_0x37af13;},'oZifF':_0x4e3af1(0x140)};if(!_0x2977e7||_0x324f68['xffHg'](Object[_0x4e3af1(0x142)](_0x2977e7)[_0x4e3af1(0x149)],0x0))return{'processedRows':_0x1c4ed0,'errors':[]};const _0xfba4df=[],_0xec24bf=new Map();for(const [_0x43c064,_0xce514]of Object[_0x4e3af1(0x139)](_0x2977e7)){const {lookupTable:_0x52ba5e,lookupColumn:_0x26193b,lookupIdColumn:_0x4102c5}=_0xce514,_0x3bf388=_0x52ba5e+':'+_0x26193b+':'+_0x4102c5;if(!_0xec24bf[_0x4e3af1(0x13a)](_0x3bf388)){const _0x56c38f=await this[_0x4e3af1(0x13b)](_0x52ba5e,_0x26193b,_0x4102c5);_0xec24bf['set'](_0x3bf388,_0x56c38f);}}const _0x5992d7=_0x1c4ed0[_0x4e3af1(0x129)]((_0x309669,_0x64a238)=>{const _0xed593c=_0x4e3af1,_0x3e496a={..._0x309669};for(const [_0x4e4d05,_0x4cd804]of Object[_0xed593c(0x139)](_0x2977e7)){const {lookupTable:_0xc2bbeb,lookupColumn:_0x43111b,lookupIdColumn:_0x18278f,targetField:_0x3f664b,required:_0x3ebee6}=_0x4cd804,_0x259024=_0xc2bbeb+':'+_0x43111b+':'+_0x18278f,_0x13e019=_0xec24bf['get'](_0x259024),_0xa5d32d=_0x309669[_0x4e4d05];if((_0xa5d32d===null||_0xa5d32d===undefined||_0xa5d32d==='')&&!_0x3ebee6){_0x3e496a[_0x3f664b]=null;continue;}const _0x4799e8=this['resolveLookupValue'](_0xa5d32d,_0x13e019);_0x324f68[_0xed593c(0x145)](_0x4799e8,null)?_0x3e496a[_0x3f664b]=_0x4799e8:(_0x3ebee6&&_0xfba4df['push']({'rowIndex':_0x64a238,'field':_0x4e4d05,'value':_0xa5d32d,'targetField':_0x3f664b,'lookupTable':_0xc2bbeb,'message':_0xed593c(0x124)+_0xa5d32d+_0xed593c(0x144)+_0xc2bbeb}),_0x3e496a[_0x3f664b]=null);}return _0x3e496a;});return logger[_0x4e3af1(0x146)]({'event':_0x324f68[_0x4e3af1(0x143)],'totalRows':_0x1c4ed0[_0x4e3af1(0x149)],'errorCount':_0xfba4df['length'],'lookupFieldCount':Object[_0x4e3af1(0x142)](_0x2977e7)['length']},'Lookup\x20fields\x20processed'),{'processedRows':_0x5992d7,'errors':_0xfba4df};}['getDistinctValues'](_0x3f885c,_0x3edb6c){const _0x18e2f7=a0_0x262393,_0x56151a={'jmGsK':function(_0x1faf3e,_0x543ba7){return _0x1faf3e!==_0x543ba7;}},_0x2742ce=new Set();return _0x3f885c[_0x18e2f7(0x130)](_0x48c78b=>{const _0x4fd935=_0x18e2f7,_0x7403ee=_0x48c78b[_0x3edb6c];_0x56151a[_0x4fd935(0x141)](_0x7403ee,null)&&_0x7403ee!==undefined&&_0x7403ee!==''&&_0x2742ce[_0x4fd935(0x14d)](String(_0x7403ee)[_0x4fd935(0x147)]());}),Array[_0x18e2f7(0x12d)](_0x2742ce);}async['validateLookupValues'](_0x3e2a68,_0x121691){const _0x335280=a0_0x262393,_0x874062={'maMpF':function(_0x1a1b96,_0xf706bb){return _0x1a1b96===_0xf706bb;},'zyfCY':function(_0x5edecf,_0x2b2171){return _0x5edecf>_0x2b2171;}};if(!_0x121691||Object['keys'](_0x121691)['length']===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x5c74dd=[],_0x28f22a={};for(const [_0x5535b6,_0x45d4dc]of Object['entries'](_0x121691)){const {lookupTable:_0x5bdc5e,lookupColumn:_0x59b209,lookupIdColumn:_0x8bf8dd,required:_0x40ac7b}=_0x45d4dc,_0x44592e=this['getDistinctValues'](_0x3e2a68,_0x5535b6),_0x8e8684=await this[_0x335280(0x13b)](_0x5bdc5e,_0x59b209,_0x8bf8dd),_0x4120a7=[],_0x57de84=[];_0x44592e['forEach'](_0x36a29d=>{const _0x4df62f=this['resolveLookupValue'](_0x36a29d,_0x8e8684);_0x4df62f!==null?_0x57de84['push'](_0x36a29d):_0x4120a7['push'](_0x36a29d);});if(_0x874062['zyfCY'](_0x4120a7[_0x335280(0x149)],0x0)&&_0x40ac7b){_0x5c74dd[_0x335280(0x12f)]({'field':_0x5535b6,'lookupTable':_0x5bdc5e,'invalidValues':_0x4120a7,'message':_0x4120a7[_0x335280(0x149)]+_0x335280(0x133)+_0x5bdc5e});const _0xd4f563=[];_0x8e8684['forEach']((_0x271685,_0x4efda9)=>{if(_0x874062['maMpF'](_0x4efda9,_0x4efda9['toLowerCase']()))return;_0xd4f563['push'](_0x4efda9);}),_0x28f22a[_0x5535b6]={'invalidValues':_0x4120a7,'availableValues':_0xd4f563['slice'](0x0,0x32)};}}return{'valid':_0x5c74dd['length']===0x0,'errors':_0x5c74dd,'suggestions':_0x28f22a};}}module['exports']=new LookupResolver();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a0_0x24e5(){const _0x4d7261=['wg9Zzxm','uMrpsMC','t0nXEuy','ugLfsMu','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','mtbMwK9gBKK','zxHWB3j0CW','y2XLyxjdywnOzq','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','DgfIBgvoyw1L','s2zIufG','mtCWnty5nMrswxHhqq','nZuZndK2og9Xu0LttW','DxrMoa','nJaZoti2nwrXwKzmBa','AM9PBG','z2v0','zgvIDwC','nePjBNPszW','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','y2fJAgu','DKrKCxu','lI9SB2DNzxi','Bg9HzfbHEwXVywq','Aw5MBW','zgf0yxrHyMXLC1f1zxj5','nJG5mti0Cw9jtfzU','lMPZB24','mtnfq0vRAgC','Cgf5Bg9HzerPCG','nta3mJa5nvzKv0nKDW','ntqYmdrNC3vzzwC','lwv4Cg9YDa','C2v0','mta5odK3mZHOBfDcDgK','Cgf0Aa','zxjYB3i','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','ChjVBwLZzxm'];a0_0x24e5=function(){return _0x4d7261;};return a0_0x24e5();}const a0_0x2f2476=a0_0x470d;(function(_0x2bd45a,_0x3ea5ea){const _0x16b788=a0_0x470d,_0x5492bf=_0x2bd45a();while(!![]){try{const _0x1c43be=parseInt(_0x16b788(0x14b))/0x1*(parseInt(_0x16b788(0x14e))/0x2)+parseInt(_0x16b788(0x149))/0x3*(-parseInt(_0x16b788(0x168))/0x4)+parseInt(_0x16b788(0x164))/0x5+-parseInt(_0x16b788(0x162))/0x6+-parseInt(_0x16b788(0x14d))/0x7+parseInt(_0x16b788(0x161))/0x8+-parseInt(_0x16b788(0x151))/0x9*(-parseInt(_0x16b788(0x15b))/0xa);if(_0x1c43be===_0x3ea5ea)break;else _0x5492bf['push'](_0x5492bf['shift']());}catch(_0x1d70b4){_0x5492bf['push'](_0x5492bf['shift']());}}}(a0_0x24e5,0xbf7e0));const fs=require('fs')[a0_0x2f2476(0x155)],path=require(a0_0x2f2476(0x152)),{logger}=require(a0_0x2f2476(0x16c));function a0_0x470d(_0xeeccb4,_0x55cf3d){_0xeeccb4=_0xeeccb4-0x146;const _0x24e53f=a0_0x24e5();let _0x470dba=_0x24e53f[_0xeeccb4];if(a0_0x470d['ZLpZKh']===undefined){var _0xd39595=function(_0x48914a){const _0x5050c5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xc1a124='',_0x2e8165='';for(let _0x2853e8=0x0,_0x435550,_0x1895dc,_0x2c1916=0x0;_0x1895dc=_0x48914a['charAt'](_0x2c1916++);~_0x1895dc&&(_0x435550=_0x2853e8%0x4?_0x435550*0x40+_0x1895dc:_0x1895dc,_0x2853e8++%0x4)?_0xc1a124+=String['fromCharCode'](0xff&_0x435550>>(-0x2*_0x2853e8&0x6)):0x0){_0x1895dc=_0x5050c5['indexOf'](_0x1895dc);}for(let _0x43d777=0x0,_0x53c732=_0xc1a124['length'];_0x43d777<_0x53c732;_0x43d777++){_0x2e8165+='%'+('00'+_0xc1a124['charCodeAt'](_0x43d777)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2e8165);};a0_0x470d['oUTqIW']=_0xd39595,a0_0x470d['thAvvh']={},a0_0x470d['ZLpZKh']=!![];}const _0x1c6887=_0x24e53f[0x0],_0x83ba05=_0xeeccb4+_0x1c6887,_0x1212b3=a0_0x470d['thAvvh'][_0x83ba05];return!_0x1212b3?(_0x470dba=a0_0x470d['oUTqIW'](_0x470dba),a0_0x470d['thAvvh'][_0x83ba05]=_0x470dba):_0x470dba=_0x1212b3,_0x470dba;}class PayloadLoader{constructor(){const _0x2101de=a0_0x2f2476,_0x36c747={'Xoses':'../../payload'};this[_0x2101de(0x14c)]=path[_0x2101de(0x165)](__dirname,_0x36c747[_0x2101de(0x156)]),this[_0x2101de(0x16a)]=new Map();}async[a0_0x2f2476(0x146)](_0x38949c,_0xa8191f){const _0x1363be=a0_0x2f2476,_0x3ef689={'KfbPX':'Payload\x20loaded\x20successfully'},_0x55f76f=_0x38949c+':'+_0xa8191f;if(this['cache']['has'](_0x55f76f))return this[_0x1363be(0x16a)][_0x1363be(0x166)](_0x55f76f);const _0xd939ee=path['join'](this[_0x1363be(0x14c)],_0x38949c+'_'+_0xa8191f+_0x1363be(0x14a));try{const _0x4a7162=await fs['readFile'](_0xd939ee,_0x1363be(0x163)),_0x41076a=JSON['parse'](_0x4a7162);return this[_0x1363be(0x16a)][_0x1363be(0x150)](_0x55f76f,_0x41076a),logger['debug']({'event':'payload_loaded','project':_0x38949c,'resource':_0xa8191f},_0x3ef689[_0x1363be(0x160)]),_0x41076a;}catch(_0x9ff7b2){logger[_0x1363be(0x153)]({'event':'payload_load_error','project':_0x38949c,'resource':_0xa8191f,'error':_0x9ff7b2['message']},'Failed\x20to\x20load\x20payload');throw new Error('Payload\x20not\x20found:\x20'+_0x38949c+'_'+_0xa8191f);}}async['loadPayloadByName'](_0x290ffc){const _0x18b6d0=a0_0x2f2476,_0x3fc1c3={'vDdqu':'utf8','RdOJg':'payload_loaded','OCqyF':_0x18b6d0(0x154)},_0x335783='payload:'+_0x290ffc;if(this[_0x18b6d0(0x16a)]['has'](_0x335783))return this[_0x18b6d0(0x16a)][_0x18b6d0(0x166)](_0x335783);const _0xc30bc=path['join'](this['payloadDir'],_0x290ffc+_0x18b6d0(0x14a));try{const _0x867fa2=await fs['readFile'](_0xc30bc,_0x3fc1c3[_0x18b6d0(0x16b)]),_0x51ddc6=JSON['parse'](_0x867fa2);return this['cache']['set'](_0x335783,_0x51ddc6),logger[_0x18b6d0(0x167)]({'event':_0x3fc1c3[_0x18b6d0(0x157)],'payloadName':_0x290ffc},_0x3fc1c3[_0x18b6d0(0x158)]),_0x51ddc6;}catch(_0x160816){logger[_0x18b6d0(0x153)]({'event':_0x18b6d0(0x169),'payloadName':_0x290ffc,'error':_0x160816['message']},_0x18b6d0(0x15e));throw new Error('Payload\x20not\x20found:\x20'+_0x290ffc);}}['isActionEnabled'](_0xaab10,_0x2cb02d){return _0xaab10['action']&&_0xaab10['action'][_0x2cb02d]===!![];}['getExportConfig'](_0x302044){const _0x1dd5c8=a0_0x2f2476;return{'columns':_0x302044['fieldName']||[],'filename':_0x302044[_0x1dd5c8(0x15f)]['replace']('.','-')+_0x1dd5c8(0x14f),'datatablesQuery':_0x302044[_0x1dd5c8(0x148)]||null,'columnFormats':_0x302044['columnFormats']||null,'fieldLabels':_0x302044['fieldLabels']||null};}[a0_0x2f2476(0x15d)](){const _0x5d9bd4=a0_0x2f2476,_0x50ef66={'PiEJe':'payload_cache_cleared'};this[_0x5d9bd4(0x16a)]['clear'](),logger[_0x5d9bd4(0x147)]({'event':_0x50ef66[_0x5d9bd4(0x159)]},_0x5d9bd4(0x15a));}}module[a0_0x2f2476(0x15c)]=new PayloadLoader();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';function a0_0x1854(_0x2e7e99,_0x29bb1a){_0x2e7e99=_0x2e7e99-0xab;var _0x112066=a0_0x1120();var _0x1854fa=_0x112066[_0x2e7e99];if(a0_0x1854['AvbytO']===undefined){var _0x3ee4e2=function(_0x10c68f){var _0x48496e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x4f1ad6='',_0x5676b5='';for(var _0x3a4610=0x0,_0xf67a22,_0x5b843b,_0x279297=0x0;_0x5b843b=_0x10c68f['charAt'](_0x279297++);~_0x5b843b&&(_0xf67a22=_0x3a4610%0x4?_0xf67a22*0x40+_0x5b843b:_0x5b843b,_0x3a4610++%0x4)?_0x4f1ad6+=String['fromCharCode'](0xff&_0xf67a22>>(-0x2*_0x3a4610&0x6)):0x0){_0x5b843b=_0x48496e['indexOf'](_0x5b843b);}for(var _0x520057=0x0,_0x2cbe0e=_0x4f1ad6['length'];_0x520057<_0x2cbe0e;_0x520057++){_0x5676b5+='%'+('00'+_0x4f1ad6['charCodeAt'](_0x520057)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5676b5);};a0_0x1854['PzHZIw']=_0x3ee4e2,a0_0x1854['WJgmmK']={},a0_0x1854['AvbytO']=!![];}var _0x3bac03=_0x112066[0x0],_0xdc158a=_0x2e7e99+_0x3bac03,_0x480453=a0_0x1854['WJgmmK'][_0xdc158a];return!_0x480453?(_0x1854fa=a0_0x1854['PzHZIw'](_0x1854fa),a0_0x1854['WJgmmK'][_0xdc158a]=_0x1854fa):_0x1854fa=_0x480453,_0x1854fa;}var a0_0x3500e3=a0_0x1854;(function(_0x39360d,_0x5890cc){var _0x391e27=a0_0x1854,_0x301933=_0x39360d();while(!![]){try{var _0x32f822=parseInt(_0x391e27(0xab))/0x1+-parseInt(_0x391e27(0xb2))/0x2+-parseInt(_0x391e27(0xb4))/0x3*(parseInt(_0x391e27(0xac))/0x4)+parseInt(_0x391e27(0xad))/0x5*(parseInt(_0x391e27(0xb3))/0x6)+parseInt(_0x391e27(0xb1))/0x7+-parseInt(_0x391e27(0xb5))/0x8+parseInt(_0x391e27(0xaf))/0x9;if(_0x32f822===_0x5890cc)break;else _0x301933['push'](_0x301933['shift']());}catch(_0x2f9997){_0x301933['push'](_0x301933['shift']());}}}(a0_0x1120,0xcc2c8));function a0_0x1120(){var _0x24d1e6=['mtmZmdGYnKjQzwDKCW','nJG2nty0zKXOAuHz','otGWmZbbshH1vvy','Dg9ju09tDhjPBMC','ntG5mZu2mhfRvhnuCW','zxHWB3j0CW','mta5odm0otD2EuPNBe4','mJKYotaWngnSvfHZza','nZjsBvnivMq','mtHHsMf5wfi','mZy3ndKYmhzqv0rsBa'];a0_0x1120=function(){return _0x24d1e6;};return a0_0x1120();}function createResponse(_0x46719b,_0x4b96fe,_0x153146=null){var _0x46dde1=a0_0x1854;return{'success':!![],'statusCode':_0x46719b,'message':_0x4b96fe,'data':_0x153146,'timestamp':new Date()[_0x46dde1(0xae)]()};}function createError(_0x154cd7,_0xf1086c,_0x918922=null){return{'success':![],'statusCode':_0x154cd7,'message':_0xf1086c,'data':_0x918922,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x14d129,_0x3c7cb3){return{'success':![],'statusCode':0x190,'message':_0x14d129,'data':{'errors':_0x3c7cb3},'timestamp':new Date()['toISOString']()};}module[a0_0x3500e3(0xb0)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
|
package/src/utils/rabbitmq.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x2e0341=a0_0x21bf;(function(_0x966396,_0x5497e2){const _0x270532=a0_0x21bf,_0x365260=_0x966396();while(!![]){try{const _0x3174d0=parseInt(_0x270532(0x18e))/0x1+parseInt(_0x270532(0x19e))/0x2*(parseInt(_0x270532(0x1a2))/0x3)+-parseInt(_0x270532(0x19f))/0x4*(-parseInt(_0x270532(0x19d))/0x5)+-parseInt(_0x270532(0x19c))/0x6*(-parseInt(_0x270532(0x184))/0x7)+-parseInt(_0x270532(0x17e))/0x8*(parseInt(_0x270532(0x193))/0x9)+parseInt(_0x270532(0x19b))/0xa*(-parseInt(_0x270532(0x187))/0xb)+parseInt(_0x270532(0x195))/0xc;if(_0x3174d0===_0x5497e2)break;else _0x365260['push'](_0x365260['shift']());}catch(_0x137459){_0x365260['push'](_0x365260['shift']());}}}(a0_0x5852,0x8c05f),require(a0_0x2e0341(0x1a4))[a0_0x2e0341(0x1a8)]());const amqp=require('amqplib'),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process['env'][a0_0x2e0341(0x1a0)],EXCHANGE=process['env']['RABBITMQ_EXCHANGE'],ROUTING_KEY=process[a0_0x2e0341(0x188)][a0_0x2e0341(0x1a7)],QUEUE=process['env'][a0_0x2e0341(0x192)];function a0_0x5852(){const _0x222e4f=['uKfcqKLutvfFuvvfvuu','mtiZmti5s0Tjzw5w','yxnZzxj0uxvLDwu','nJC0nJi4ENPdDxDH','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','CMv0CNKTzxHJAgfUz2u','yMLUzff1zxvL','zxHPDa','uxvLDwuG','mJb0q2vjD0e','mJiYELvNqvDX','otmYnJy1CLj6rfHf','ndG5ntyYu3DfAeLw','ogjcEMnuvW','uKfcqKLutvfFvvjm','y29UBMvJDa','mtjMrKTjzvy','u1npwu0','zg90zw52','Cuf2tMi','xsbrDwv1zsa','uKfcqKLutvfFuK9vveLor19lrvK','y29UzMLN','xsbszxrYEsbIAw5KAw5NigzVCIa','BwvZC2fNzq','xsbsywjIAxrnusbJB25Uzwn0Aw9UignSB3nLza','zxHWB3j0CW','zxjYB3i','nJq4thH4DgvP','ihDPDgGGreXy','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','wxDhALO','txfTBvi','yLnHC2q','nZK0nZH4sxjmuw0','zM91BMq','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','mtqXotCZn0rHtxfbuq','zw52','xsbfEgnOyw5Nzsa','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','Bg9N','y3jLyxrLq2HHBM5LBa','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','mteXmZiZqxHKDLDY','z1btzgq','vwnWCLi','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO'];a0_0x5852=function(){return _0x222e4f;};return a0_0x5852();}async function createConnection(){const _0x1a1359=a0_0x2e0341,_0x3affea={'gPSdd':function(_0x4bd77b,_0x598d25){return _0x4bd77b(_0x598d25);}};try{const _0x5ef791=await amqp[_0x1a1359(0x1a1)](RABBITMQ_URL);return console['log']('['+formatDate(new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x5ef791;}catch(_0x480a7b){console['error']('['+_0x3affea[_0x1a1359(0x18f)](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x480a7b[_0x1a1359(0x1aa)]);throw _0x480a7b;}}function a0_0x21bf(_0x187e40,_0x4361f4){_0x187e40=_0x187e40-0x17e;const _0x5852f9=a0_0x5852();let _0x21bf74=_0x5852f9[_0x187e40];if(a0_0x21bf['hcNzTa']===undefined){var _0x2e1f52=function(_0x38c945){const _0x2d15ab='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x161859='',_0x5a4655='';for(let _0x109f93=0x0,_0x11dc34,_0x1f772b,_0x1775b1=0x0;_0x1f772b=_0x38c945['charAt'](_0x1775b1++);~_0x1f772b&&(_0x11dc34=_0x109f93%0x4?_0x11dc34*0x40+_0x1f772b:_0x1f772b,_0x109f93++%0x4)?_0x161859+=String['fromCharCode'](0xff&_0x11dc34>>(-0x2*_0x109f93&0x6)):0x0){_0x1f772b=_0x2d15ab['indexOf'](_0x1f772b);}for(let _0x182837=0x0,_0x3bd7de=_0x161859['length'];_0x182837<_0x3bd7de;_0x182837++){_0x5a4655+='%'+('00'+_0x161859['charCodeAt'](_0x182837)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5a4655);};a0_0x21bf['GPcABo']=_0x2e1f52,a0_0x21bf['PfckGV']={},a0_0x21bf['hcNzTa']=!![];}const _0x38ab9d=_0x5852f9[0x0],_0x9d4687=_0x187e40+_0x38ab9d,_0x3c6f5f=a0_0x21bf['PfckGV'][_0x9d4687];return!_0x3c6f5f?(_0x21bf74=a0_0x21bf['GPcABo'](_0x21bf74),a0_0x21bf['PfckGV'][_0x9d4687]=_0x21bf74):_0x21bf74=_0x3c6f5f,_0x21bf74;}async function createChannel(_0x452e84){const _0x1d2d2c=a0_0x2e0341,_0x4fab88={'YwGjZ':function(_0x3aa417,_0x5ac0b5){return _0x3aa417(_0x5ac0b5);}};try{const _0x6eabd=await _0x452e84[_0x1d2d2c(0x18c)]();return console[_0x1d2d2c(0x18b)]('['+formatDate(new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x6eabd;}catch(_0x5e2cb6){console[_0x1d2d2c(0x1ad)]('['+_0x4fab88[_0x1d2d2c(0x181)](formatDate,new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x5e2cb6['message']);throw _0x5e2cb6;}}async function setupInfrastructure(_0xf58bfb){const _0xdbf43e=a0_0x2e0341,_0x387705={'SEKIN':'direct','SSOYM':function(_0x18f753,_0x368e0a){return _0x18f753(_0x368e0a);},'UcprR':function(_0x49b590,_0x42a4bb){return _0x49b590(_0x42a4bb);},'bSasd':_0xdbf43e(0x197),'hhXbp':function(_0x4dd40e,_0x5060cd){return _0x4dd40e===_0x5060cd;},'qAvNb':'x-dead-letter-routing-key','jYqSz':'inequivalent\x20arg'};try{await _0xf58bfb['assertExchange']('retry-exchange',_0x387705['SEKIN'],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x387705['SSOYM'](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x53f446){console['error']('['+formatDate(new Date())+_0xdbf43e(0x191),_0x53f446['message']);throw _0x53f446;}try{await _0xf58bfb['assertExchange'](EXCHANGE,'direct',{'durable':!![],'autoDelete':![]}),console[_0xdbf43e(0x18b)]('['+formatDate(new Date())+_0xdbf43e(0x189)+EXCHANGE+'\x20created/ready');}catch(_0x48373b){console[_0xdbf43e(0x1ad)]('['+_0x387705['UcprR'](formatDate,new Date())+_0xdbf43e(0x18a)+EXCHANGE+':',_0x48373b[_0xdbf43e(0x1aa)]);throw _0x48373b;}const _0x1381c5=ROUTING_KEY+'_retry';try{const _0x1d10f5={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0xf58bfb[_0xdbf43e(0x194)](_0x1381c5,_0x1d10f5),console[_0xdbf43e(0x18b)]('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0x1381c5+'\x20created/ready'),await _0xf58bfb['bindQueue'](_0x1381c5,'retry-exchange',ROUTING_KEY),console[_0xdbf43e(0x18b)]('['+formatDate(new Date())+_0xdbf43e(0x1a9)+ROUTING_KEY+'\x20created');}catch(_0x3fc983){console['error']('['+formatDate(new Date())+_0xdbf43e(0x180),_0x3fc983['message']);throw _0x3fc983;}try{const _0x45c271={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x387705[_0xdbf43e(0x183)],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x5eba56=await _0xf58bfb['assertQueue'](QUEUE,_0x45c271);console[_0xdbf43e(0x18b)]('['+_0x387705['UcprR'](formatDate,new Date())+_0xdbf43e(0x1a6)+QUEUE+'\x20'+(_0x387705['hhXbp'](_0x5eba56['queue'],QUEUE)?'created/ready':_0xdbf43e(0x185))+_0xdbf43e(0x17f)),await _0xf58bfb[_0xdbf43e(0x198)](QUEUE,EXCHANGE,ROUTING_KEY),console[_0xdbf43e(0x18b)]('['+formatDate(new Date())+']\x20Binding\x20'+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0xd1321a){if(_0xd1321a[_0xdbf43e(0x1aa)]['includes']('inequivalent\x20arg')&&_0xd1321a['message']['includes'](_0x387705[_0xdbf43e(0x1a5)]))console[_0xdbf43e(0x1ad)]('\x0a['+_0x387705[_0xdbf43e(0x190)](formatDate,new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console['error'](_0xdbf43e(0x19a)+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console[_0xdbf43e(0x1ad)]('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process[_0xdbf43e(0x199)](0x1);else{console['error']('['+formatDate(new Date())+_0xdbf43e(0x196)+QUEUE+':',_0xd1321a['message']);throw _0xd1321a;}}}catch(_0x59396c){if(!_0x59396c['message']['includes'](_0x387705['jYqSz'])){console['error']('['+_0x387705[_0xdbf43e(0x1a3)](formatDate,new Date())+_0xdbf43e(0x18d),_0x59396c['message']);throw _0x59396c;}process[_0xdbf43e(0x199)](0x1);}}async function closeConnection(_0x3b9622){const _0x3fc320=a0_0x2e0341,_0x35851f={'MqmmR':function(_0x531302,_0x2bd2f1){return _0x531302(_0x2bd2f1);}};if(_0x3b9622)try{await _0x3b9622['close'](),console[_0x3fc320(0x18b)]('['+formatDate(new Date())+_0x3fc320(0x1ab));}catch(_0x101a75){console['error']('['+_0x35851f[_0x3fc320(0x182)](formatDate,new Date())+_0x3fc320(0x186)+_0x101a75['message']);}}module[a0_0x2e0341(0x1ac)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a0_0x46ef(){const _0x556e19=['oti0n2Xvr0Pdyq','AxndB25Uzwn0zwq','Bg9JywXOB3n0','uKvesvnFse9tva','mtqYotGXodb4AMnHvwS','CMvKAxnFzxjYB3i','z2v0q2XPzw50','otu0sxbOt0z1','zxHWB3j0CW','rvHqzgi','uKvesvnFue9sva','CgLUzW','s2XQzLC','otm4nhH2sfv4ua','mtK3ndG0owjmq25VtW','zw52','CMvKAxnFzgLZy29UBMvJDgvK','uKvesvnFrei','y2XPzw50','mJiXmhHOzxzKwG','ote5nJyYuhzjDvHO','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','mZC2ndm5BwjhwePL','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','CMvKAxnFAw5PDf9LCNjVCG','BwvZC2fNzq','uMvKAxmGueLorYb0Aw1LB3v0','zxjYB3i','qMXQBLO','uKvesvnFueftu1DpuKq','ndHQwNzMvei','mJK0nda4A0jjuwTd','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','zgLZy29UBMvJDa'];a0_0x46ef=function(){return _0x556e19;};return a0_0x46ef();}function a0_0x18a5(_0x4efb2c,_0x4ce97b){_0x4efb2c=_0x4efb2c-0x11c;const _0x46ef9b=a0_0x46ef();let _0x18a568=_0x46ef9b[_0x4efb2c];if(a0_0x18a5['TAoNpW']===undefined){var _0x1964c6=function(_0x147d8d){const _0x519250='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3ba9df='',_0x286f48='';for(let _0x18b091=0x0,_0x4d4ff6,_0x7d64da,_0x3d7a71=0x0;_0x7d64da=_0x147d8d['charAt'](_0x3d7a71++);~_0x7d64da&&(_0x4d4ff6=_0x18b091%0x4?_0x4d4ff6*0x40+_0x7d64da:_0x7d64da,_0x18b091++%0x4)?_0x3ba9df+=String['fromCharCode'](0xff&_0x4d4ff6>>(-0x2*_0x18b091&0x6)):0x0){_0x7d64da=_0x519250['indexOf'](_0x7d64da);}for(let _0x1a9a41=0x0,_0x45176d=_0x3ba9df['length'];_0x1a9a41<_0x45176d;_0x1a9a41++){_0x286f48+='%'+('00'+_0x3ba9df['charCodeAt'](_0x1a9a41)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x286f48);};a0_0x18a5['irOjUo']=_0x1964c6,a0_0x18a5['cEOmXf']={},a0_0x18a5['TAoNpW']=!![];}const _0x99e254=_0x46ef9b[0x0],_0x4d83c2=_0x4efb2c+_0x99e254,_0x3490e9=a0_0x18a5['cEOmXf'][_0x4d83c2];return!_0x3490e9?(_0x18a568=a0_0x18a5['irOjUo'](_0x18a568),a0_0x18a5['cEOmXf'][_0x4d83c2]=_0x18a568):_0x18a568=_0x3490e9,_0x18a568;}const a0_0x5e68ff=a0_0x18a5;(function(_0x525060,_0x1e1027){const _0x156640=a0_0x18a5,_0x5a0c63=_0x525060();while(!![]){try{const _0x3f8a00=-parseInt(_0x156640(0x139))/0x1+-parseInt(_0x156640(0x137))/0x2+-parseInt(_0x156640(0x131))/0x3+parseInt(_0x156640(0x130))/0x4*(parseInt(_0x156640(0x136))/0x5)+parseInt(_0x156640(0x12a))/0x6*(-parseInt(_0x156640(0x123))/0x7)+-parseInt(_0x156640(0x11f))/0x8*(parseInt(_0x156640(0x120))/0x9)+parseInt(_0x156640(0x127))/0xa;if(_0x3f8a00===_0x1e1027)break;else _0x5a0c63['push'](_0x5a0c63['shift']());}catch(_0x1e19d8){_0x5a0c63['push'](_0x5a0c63['shift']());}}}(a0_0x46ef,0x8a27e));const Redis=require('ioredis'),{logger}=require('./logger');class RedisClient{constructor(){const _0x378579=a0_0x18a5;this[_0x378579(0x135)]=null,this[_0x378579(0x124)]=![];}['connect'](){const _0x54e8f2=a0_0x18a5,_0x57210c={'EXPdb':_0x54e8f2(0x133),'effVA':function(_0x27222e,_0xf81867,_0x262cdf){return _0x27222e(_0xf81867,_0x262cdf);},'KljfW':function(_0x33a405,_0x562802,_0x329789){return _0x33a405(_0x562802,_0x329789);}};if(this['client'])return this['client'];try{return this['client']=new Redis({'host':process['env'][_0x54e8f2(0x126)]||_0x54e8f2(0x125),'port':_0x57210c['effVA'](parseInt,process['env'][_0x54e8f2(0x12d)],0xa)||0x18ec,'password':process['env'][_0x54e8f2(0x11e)]||undefined,'db':_0x57210c[_0x54e8f2(0x12f)](parseInt,process[_0x54e8f2(0x132)][_0x54e8f2(0x134)],0xa)||0x0,'retryStrategy'(_0x54fffe){const _0x5b8282=Math['min'](_0x54fffe*0x32,0x7d0);return _0x5b8282;}}),this['client']['on']('connect',()=>{const _0x3dbe40=_0x54e8f2;this['isConnected']=!![],logger['info']({'event':'redis_connected'},_0x3dbe40(0x138));}),this['client']['on'](_0x54e8f2(0x11c),_0x5872ec=>{const _0x478604=_0x54e8f2;this[_0x478604(0x124)]=![],logger[_0x478604(0x11c)]({'event':_0x478604(0x128),'error':_0x5872ec['message']},_0x478604(0x13a)+_0x5872ec[_0x478604(0x13c)]);}),this[_0x54e8f2(0x135)]['on']('close',()=>{const _0x3f9458=_0x54e8f2;this[_0x3f9458(0x124)]=![],logger['warn']({'event':_0x57210c[_0x3f9458(0x12c)]},'Redis\x20connection\x20closed');}),this[_0x54e8f2(0x135)];}catch(_0x3867b5){logger['error']({'event':_0x54e8f2(0x13b),'error':_0x3867b5['message']},_0x54e8f2(0x121));throw _0x3867b5;}}[a0_0x5e68ff(0x129)](){const _0x463a1b=a0_0x5e68ff;return!this[_0x463a1b(0x135)]&&this['connect'](),this['client'];}async[a0_0x5e68ff(0x12e)](_0x14b30d=0x1388){const _0x588faa=a0_0x5e68ff,_0x176d1f={'BljnZ':'PONG'};try{const _0xe7811e=this['getClient'](),_0x49c34c=await Promise['race']([_0xe7811e[_0x588faa(0x12e)](),new Promise((_0x1f86f0,_0x4e19bc)=>setTimeout(()=>_0x4e19bc(new Error(_0x588faa(0x13d))),_0x14b30d))]);return _0x49c34c===_0x176d1f[_0x588faa(0x11d)];}catch(_0xf0162e){return![];}}async['disconnect'](){const _0x1f4d88=a0_0x5e68ff;this[_0x1f4d88(0x135)]&&(await this['client']['quit'](),this[_0x1f4d88(0x135)]=null,this['isConnected']=![]);}['forceDisconnect'](){const _0x110c21=a0_0x5e68ff;this['client']&&(this[_0x110c21(0x135)][_0x110c21(0x122)](),this['client']=null,this['isConnected']=![]);}}module[a0_0x5e68ff(0x12b)]=new RedisClient();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a0_0x5011(_0x21d10b,_0x2b49c1){_0x21d10b=_0x21d10b-0x190;const _0x5b953f=a0_0x5b95();let _0x501153=_0x5b953f[_0x21d10b];if(a0_0x5011['qXyEZO']===undefined){var _0x42f1dd=function(_0x1641e7){const _0x14cc4a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xfd609='',_0x3340b5='';for(let _0x4b9588=0x0,_0x2e2a03,_0xbef141,_0x2d3e93=0x0;_0xbef141=_0x1641e7['charAt'](_0x2d3e93++);~_0xbef141&&(_0x2e2a03=_0x4b9588%0x4?_0x2e2a03*0x40+_0xbef141:_0xbef141,_0x4b9588++%0x4)?_0xfd609+=String['fromCharCode'](0xff&_0x2e2a03>>(-0x2*_0x4b9588&0x6)):0x0){_0xbef141=_0x14cc4a['indexOf'](_0xbef141);}for(let _0x1667da=0x0,_0x6ad150=_0xfd609['length'];_0x1667da<_0x6ad150;_0x1667da++){_0x3340b5+='%'+('00'+_0xfd609['charCodeAt'](_0x1667da)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3340b5);};a0_0x5011['QytFUD']=_0x42f1dd,a0_0x5011['GPsZoI']={},a0_0x5011['qXyEZO']=!![];}const _0x246e43=_0x5b953f[0x0],_0x3314fa=_0x21d10b+_0x246e43,_0x1fb8bb=a0_0x5011['GPsZoI'][_0x3314fa];return!_0x1fb8bb?(_0x501153=a0_0x5011['QytFUD'](_0x501153),a0_0x5011['GPsZoI'][_0x3314fa]=_0x501153):_0x501153=_0x1fb8bb,_0x501153;}const a0_0x1a011d=a0_0x5011;(function(_0x1f955d,_0x4a728a){const _0xc98828=a0_0x5011,_0x2f9e23=_0x1f955d();while(!![]){try{const _0x1ece4c=-parseInt(_0xc98828(0x19c))/0x1*(-parseInt(_0xc98828(0x198))/0x2)+parseInt(_0xc98828(0x1a8))/0x3*(-parseInt(_0xc98828(0x19b))/0x4)+parseInt(_0xc98828(0x1ae))/0x5*(parseInt(_0xc98828(0x1a6))/0x6)+-parseInt(_0xc98828(0x19a))/0x7*(-parseInt(_0xc98828(0x193))/0x8)+parseInt(_0xc98828(0x1a1))/0x9*(parseInt(_0xc98828(0x194))/0xa)+-parseInt(_0xc98828(0x195))/0xb+-parseInt(_0xc98828(0x19d))/0xc*(parseInt(_0xc98828(0x192))/0xd);if(_0x1ece4c===_0x4a728a)break;else _0x2f9e23['push'](_0x2f9e23['shift']());}catch(_0xd5f7d9){_0x2f9e23['push'](_0x2f9e23['shift']());}}}(a0_0x5b95,0x3e6d3));const redisClient=require('./redis-client'),{logger}=require('./logger');function a0_0x5b95(){const _0x3256c6=['nta3otHcuxj4Ee8','CMvKAxnFC2v0x2vYCM9Y','x3bYzwzPEa','otmYmde4DMrVBxfm','zgvMyxvSDa','mtrYqNb0zva','mtm5nK5PAefRra','mwvzvezgza','otu1nJa2oejRC3rXwG','z2v0q2XPzw50','BwvZC2fNzq','ChjLzML4','mZzRyKzvBNq','DxbKyxrLsM9I','CMvZDgzVCMDLoG','zw52','zgvS','mte4mta1ogzuwxHQta','EuDYz04','mJq0mKj4CfHgqq','oMv4Cg9YDdO','DfberwC','z2v0qwXSsM9ICW','zxHWB3j0CW','DKnTtNu','nvvtAMPRvG','CgfYC2u','rMfPBgvKihrVigDLDcbQB2iGzNjVBsbszwrPCW','rvHqt1jux0zjtevFrvHqsvjz','A2v5CW','z2v0sM9I','q2fKquO','zxjYB3i','CMvKAxnFz2v0x2vYCM9Y','mtnNAuXptva','mtK2mJyXnMrpsgfiwq','ndy4mdKWr3LVsfHj'];a0_0x5b95=function(){return _0x3256c6;};return a0_0x5b95();}class RedisHelper{constructor(){const _0x3f04c0=a0_0x5011;this['_prefix']=null,this['ttl']=parseInt(process['env'][_0x3f04c0(0x1b1)],0xa)||0xe10;}get[a0_0x1a011d(0x1a0)](){const _0x3944a2=a0_0x1a011d,_0x15f56b={'dOTpi':_0x3944a2(0x199)};if(!this[_0x3944a2(0x197)]){const _0x51f055=process[_0x3944a2(0x1a4)]['RESTFORGE_PROJECT_NAME']||_0x15f56b['dOTpi'];this['_prefix']=_0x3944a2(0x1a3)+_0x51f055+_0x3944a2(0x1a9);}return this[_0x3944a2(0x197)];}async['setJob'](_0x4100a6,_0x11a02a){const _0x500ff1=a0_0x1a011d,_0x3a2d88={'tPDEg':_0x500ff1(0x196)};try{const _0x5d86dd=redisClient['getClient'](),_0x561d81=''+this[_0x500ff1(0x1a0)]+_0x4100a6;return await _0x5d86dd['setex'](_0x561d81,this['ttl'],JSON['stringify'](_0x11a02a)),!![];}catch(_0x359dea){return logger['error']({'event':_0x3a2d88[_0x500ff1(0x1aa)],'jobId':_0x4100a6,'error':_0x359dea[_0x500ff1(0x19f)]},'Failed\x20to\x20set\x20job\x20in\x20Redis'),![];}}async[a0_0x1a011d(0x1b3)](_0x54a62b){const _0x306f66=a0_0x1a011d,_0x246dcc={'yGrgN':_0x306f66(0x1b0)};try{const _0x4befab=redisClient[_0x306f66(0x19e)](),_0x5ea486=''+this['prefix']+_0x54a62b,_0x1383aa=await _0x4befab['get'](_0x5ea486);return _0x1383aa?JSON[_0x306f66(0x1af)](_0x1383aa):null;}catch(_0x4f0e55){return logger[_0x306f66(0x190)]({'event':_0x306f66(0x191),'jobId':_0x54a62b,'error':_0x4f0e55['message']},_0x246dcc[_0x306f66(0x1a7)]),null;}}async[a0_0x1a011d(0x1a2)](_0xe47dbf,_0x3dcecc){const _0x352d5e=a0_0x1a011d,_0x4b77ff=await this[_0x352d5e(0x1b3)](_0xe47dbf);if(!_0x4b77ff)return![];const _0x54e9b5={..._0x4b77ff,..._0x3dcecc};return await this['setJob'](_0xe47dbf,_0x54e9b5);}async['deleteJob'](_0x1ad37a){const _0x2120cf=a0_0x1a011d,_0x2f3962={'CadAJ':'redis_delete_error'};try{const _0x23ed1b=redisClient['getClient'](),_0x14aa00=''+this[_0x2120cf(0x1a0)]+_0x1ad37a;return await _0x23ed1b[_0x2120cf(0x1a5)](_0x14aa00),!![];}catch(_0x13c34c){return logger['error']({'event':_0x2f3962[_0x2120cf(0x1b4)],'jobId':_0x1ad37a,'error':_0x13c34c['message']},'Failed\x20to\x20delete\x20job\x20from\x20Redis'),![];}}async[a0_0x1a011d(0x1ab)](){const _0x5ae089=a0_0x1a011d,_0x33347f={'vCmNu':'redis_getall_error','FBsSL':'Failed\x20to\x20get\x20all\x20jobs'};try{const _0x2858ac=redisClient[_0x5ae089(0x19e)](),_0x42fd0f=await _0x2858ac[_0x5ae089(0x1b2)](this[_0x5ae089(0x1a0)]+'*'),_0x17c537=[];for(const _0x334cc0 of _0x42fd0f){const _0x1ab34b=await _0x2858ac['get'](_0x334cc0);_0x1ab34b&&_0x17c537['push'](JSON['parse'](_0x1ab34b));}return _0x17c537;}catch(_0x39b7b3){return logger['error']({'event':_0x33347f[_0x5ae089(0x1ad)],'error':_0x39b7b3['message']},_0x33347f['FBsSL']),[];}}}module[a0_0x1a011d(0x1ac)]=new RedisHelper();
|