@restforgejs/platform 5.2.4 → 5.2.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/fast-track.js +235 -30
- package/generators/lib/migrate/backend-payload-migrator.js +39 -17
- package/generators/lib/migrate/field-type-resolver.js +64 -7
- package/generators/lib/payload/payload-runner.js +72 -6
- 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_0x154ba4=a0_0x40f5;(function(_0x2148f5,_0x6bf46b){const _0x999a8e=a0_0x40f5,_0x4f11df=_0x2148f5();while(!![]){try{const _0x592936=-parseInt(_0x999a8e(0xba))/0x1+-parseInt(_0x999a8e(0xda))/0x2+parseInt(_0x999a8e(0x9c))/0x3*(parseInt(_0x999a8e(0xdd))/0x4)+parseInt(_0x999a8e(0xca))/0x5*(-parseInt(_0x999a8e(0x8c))/0x6)+-parseInt(_0x999a8e(0xa1))/0x7*(-parseInt(_0x999a8e(0xb0))/0x8)+-parseInt(_0x999a8e(0xa5))/0x9+parseInt(_0x999a8e(0xd8))/0xa*(parseInt(_0x999a8e(0xbf))/0xb);if(_0x592936===_0x6bf46b)break;else _0x4f11df['push'](_0x4f11df['shift']());}catch(_0x1173dd){_0x4f11df['push'](_0x4f11df['shift']());}}}(a0_0x5957,0x52b8a));function a0_0x40f5(_0x139851,_0x217dc4){_0x139851=_0x139851-0x8b;const _0x595708=a0_0x5957();let _0x40f585=_0x595708[_0x139851];if(a0_0x40f5['SyfaUv']===undefined){var _0x3f4ca8=function(_0x75f381){const _0x32da69='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1fb5e9='',_0x5b9811='';for(let _0x69dca1=0x0,_0x3e277b,_0x55c9e6,_0x38fc89=0x0;_0x55c9e6=_0x75f381['charAt'](_0x38fc89++);~_0x55c9e6&&(_0x3e277b=_0x69dca1%0x4?_0x3e277b*0x40+_0x55c9e6:_0x55c9e6,_0x69dca1++%0x4)?_0x1fb5e9+=String['fromCharCode'](0xff&_0x3e277b>>(-0x2*_0x69dca1&0x6)):0x0){_0x55c9e6=_0x32da69['indexOf'](_0x55c9e6);}for(let _0x9d1013=0x0,_0x427db5=_0x1fb5e9['length'];_0x9d1013<_0x427db5;_0x9d1013++){_0x5b9811+='%'+('00'+_0x1fb5e9['charCodeAt'](_0x9d1013)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5b9811);};a0_0x40f5['DORPwO']=_0x3f4ca8,a0_0x40f5['BIebKB']={},a0_0x40f5['SyfaUv']=!![];}const _0x4c83d4=_0x595708[0x0],_0x12558b=_0x139851+_0x4c83d4,_0x13ccc2=a0_0x40f5['BIebKB'][_0x12558b];return!_0x13ccc2?(_0x40f585=a0_0x40f5['DORPwO'](_0x40f585),a0_0x40f5['BIebKB'][_0x12558b]=_0x40f585):_0x40f585=_0x13ccc2,_0x40f585;}const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');function a0_0x5957(){const _0x4509e9=['Dhj1zq','D3jPDgvFBg9JA19LCNjVCG','zgvIDwC','mJaXzNLRuxrL','AxnfBMfIBgvK','C2v0','x2LUAxrPywXPEMvK','C2XLzxa','mte3ndy0mLfoquPrqG','x2vUywjSzwq','z2v0tg9JA0LUzM8','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','nJa3mJe2nvr2wLniwa','q0P6AxO','t1fxBeK','BM93','tg9JAYbLEhrLBMqGzxjYB3i','CMvQzwn0','ALzjww0','nNWXFdn8nxW0Fdb8mNW3','D3jPDgvFBg9JA19Hy3f1AxjLza','x3jLDhj5rgvSyxK','DgrOuwu','oe9pCxPZqq','zxjYB3i','Cg93','x3DVCMTLCKLK','suL2rgC','D3jPDgu','tg9JAYbYzwXLyxnLigvYCM9Y','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','tNjyuhy','Bg9JA19LEhrLBMrLza','ndC4mduYtufgDK5q','CMvHzf9SB2nRx3DHAxrPBMC','CMvSzwfZzuXVy2S','C3vIC3rYAw5N','zw5HyMXLza','mZaYmtDxzLr5C3G','CMy6Bg9JAZO','D29YA2vYswq','txjiA1q','BgfZDeLUzgv4t2y','CgLK','x2LUAxrdB25MAwC','zw52','EffeCLe','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','v1jjveuGBg9JAYbYzwXLyxnLza','mta1mtmZmePSD1Pgtq','x2vUC3vYzuLUAxrPywXPEMvK','qvz4r0e','DfnoCgi','CMv0CNLdB3vUDa','uLnQANq','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','ywnXDwLYzvDYAxrLtg9JAW','x3bYzwzPEa','z2v0','CMv0CNLezwXHEq','Aw5JBhvKzxm','AvrssNq','yNvPBgrmB2nRs2v5','nti3meXRru12vq','Bg9JA19JB25MAwDFAw5PDa','mJm5odC4qvLswMP5','Bg9JA19YzwXLyxnLx2vYCM9Y','DfLnsvC','mtiZmtzZwwX1q1i','DwLtu1C','CMv0CNK','D3jPDgvFBg9JA19YzwPLy3rLza','t1rZuwS','Bg9JA19LEhrLBMrFzxjYB3i','zxzHBa','x2rLzMf1BhruveW','zgvMyxvSDfruta','C2v0zxG','z2v0q2XPzw50','Aw5JCG','z2vUzxjHDgvmB2nRvMfSDwu','D2fYBG','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','nKXZCw1VBq','CMvHzf9SB2nRx3jLBgvHC2vK','C3rYyxrLz3K','DfDyv1K','ywXS','x3jLDhj5q291BNq','zwTlDuK','x3n0CMf0zwD5','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','u2jxrKW','rLHnCgm','CMvHza','BwvZC2fNzq'];a0_0x5957=function(){return _0x4509e9;};return a0_0x5957();}class LockManager{constructor(){const _0x15199a=a0_0x40f5,_0x2022e4={'MrHkT':_0x15199a(0xac)},_0x404a77=_0x2022e4[_0x15199a(0xc2)]['split']('|');let _0x47ee12=0x0;while(!![]){switch(_0x404a77[_0x47ee12++]){case'0':this[_0x15199a(0x93)]=null;continue;case'1':this[_0x15199a(0xa2)]=null;continue;case'2':this['_workerId']=null;continue;case'3':this[_0x15199a(0xe4)]=null;continue;case'4':this[_0x15199a(0xae)]=null;continue;case'5':this[_0x15199a(0x91)]=null;continue;case'6':this[_0x15199a(0xd2)]=null;continue;case'7':this['_initialized']=![];continue;}break;}}[a0_0x154ba4(0xc5)](){const _0x34b7cf=a0_0x154ba4,_0x862641={'NeIBF':_0x34b7cf(0xc0),'iTRJt':function(_0x17790c,_0x28aa99){return _0x17790c===_0x28aa99;},'xQDrQ':_0x34b7cf(0x99),'fsYua':function(_0x17e82f,_0x19e436,_0x5e5e33){return _0x17e82f(_0x19e436,_0x5e5e33);},'AVxGA':_0x34b7cf(0xdf)};this['_prefix']=_0x862641['NeIBF'],this['_enabled']=_0x862641[_0x34b7cf(0xd6)](process['env']['LOCK_DISTRIBUTED_ENABLED'],_0x862641[_0x34b7cf(0xc7)]),this['_defaultTTL']=parseInt(process['env']['LOCK_DISTRIBUTED_TTL'],0xa)||0xa,this[_0x34b7cf(0x91)]=parseInt(process[_0x34b7cf(0xc6)]['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3,this['_retryDelay']=_0x862641['fsYua'](parseInt,process[_0x34b7cf(0xc6)][_0x34b7cf(0x94)],0xa)||0x64,this['_strategy']=process[_0x34b7cf(0xc6)]['LOCK_DISTRIBUTED_STRATEGY']||_0x862641[_0x34b7cf(0xcc)],this['_workerId']='worker-'+process[_0x34b7cf(0xc4)],this[_0x34b7cf(0x9f)]=!![],logger['info']({'event':_0x34b7cf(0xd9),'enabled':this[_0x34b7cf(0xa2)],'strategy':this['_strategy'],'ttl':this['_defaultTTL'],'retryCount':this['_retryCount'],'retryDelay':this['_retryDelay'],'workerId':this[_0x34b7cf(0xb3)]},_0x34b7cf(0xd0)+this['_enabled']+',\x20strategy:\x20'+this['_strategy']);}[a0_0x154ba4(0xcb)](){!this['_initialized']&&this['_initConfig']();}get['prefix'](){const _0xe238ee=a0_0x154ba4;return this['_ensureInitialized'](),this[_0xe238ee(0xd2)];}get['enabled'](){const _0x4a9994=a0_0x154ba4;return this[_0x4a9994(0xcb)](),this[_0x4a9994(0xa2)];}get[a0_0x154ba4(0xe5)](){const _0x223a4c=a0_0x154ba4;return this[_0x223a4c(0xcb)](),this['_defaultTTL'];}get[a0_0x154ba4(0xce)](){const _0x3a8bbe=a0_0x154ba4;return this['_ensureInitialized'](),this[_0x3a8bbe(0x91)];}get[a0_0x154ba4(0xd4)](){const _0x2aa0d5=a0_0x154ba4;return this[_0x2aa0d5(0xcb)](),this[_0x2aa0d5(0xae)];}get[a0_0x154ba4(0x8e)](){const _0x30d300=a0_0x154ba4;return this[_0x30d300(0xcb)](),this[_0x30d300(0x93)];}get[a0_0x154ba4(0xc1)](){const _0x592a87=a0_0x154ba4;return this[_0x592a87(0xcb)](),this[_0x592a87(0xb3)];}['buildLockKey'](_0x2798c0){const {module:_0xebd308,endpoint:_0x4be9f1,lockType:_0x324936,recordId:_0x1ecc21}=_0x2798c0;if(_0x1ecc21)return''+this['prefix']+_0xebd308+':'+_0x4be9f1+':'+_0x1ecc21+':'+_0x324936;return''+this['prefix']+_0xebd308+':'+_0x4be9f1+':'+_0x324936;}[a0_0x154ba4(0xe9)](){const _0x167a65=a0_0x154ba4;return this[_0x167a65(0xc1)]+':'+uuidv4()+':'+Date[_0x167a65(0xa8)]();}async['acquireReadLock'](_0x3b0826){const _0xb33414=a0_0x154ba4,_0x54b54c={'TgPFZ':_0xb33414(0x97),'OQWlI':function(_0x5e7af9,_0x2f0890){return _0x5e7af9<_0x2f0890;},'NrXPv':'read_lock_acquired','RSjjt':_0xb33414(0xa4),'tdhQe':function(_0x493aff,_0x3f7e7f){return _0x493aff*_0x3f7e7f;},'shEeU':'READ\x20lock\x20acquire\x20timeout','tSNpb':'READ\x20lock\x20error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x109af7=this['buildLockKey']({..._0x3b0826,'lockType':_0xb33414(0xb5)}),_0x134876=this['buildLockKey']({..._0x3b0826,'lockType':_0x54b54c['TgPFZ']}),_0x284326=this[_0xb33414(0xe9)]();try{const _0x44d825=redisClient['getClient']();for(let _0x53c297=0x0;_0x54b54c[_0xb33414(0xa7)](_0x53c297,this['retryCount']);_0x53c297++){const _0x3bc376=await _0x44d825['get'](_0x109af7);if(!_0x3bc376){await _0x44d825[_0xb33414(0xe8)](_0x134876),await _0x44d825['expire'](_0x134876,this[_0xb33414(0xe5)]);const _0x57ea39=_0x134876+':'+_0x284326;return await _0x44d825[_0xb33414(0xe6)](_0x57ea39,this['defaultTTL'],_0x284326),logger['debug']({'event':_0x54b54c[_0xb33414(0xb8)],'key':_0x134876,'value':_0x284326},'READ\x20lock\x20acquired'),{'success':!![],'lockValue':_0x284326,'lockKey':_0x57ea39};}logger[_0xb33414(0x9b)]({'event':_0xb33414(0xbb),'writeKey':_0x109af7,'attempt':_0x53c297},_0x54b54c[_0xb33414(0xcf)]),await this['sleep'](_0x54b54c[_0xb33414(0xaf)](this['retryDelay'],Math[_0xb33414(0xb2)](0x2,_0x53c297)));}return logger[_0xb33414(0xea)]({'event':'read_lock_timeout','key':_0x134876},_0x54b54c['shEeU']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x40cb0f){return logger[_0xb33414(0xb1)]({'event':'read_lock_error','error':_0x40cb0f['message']},_0x54b54c[_0xb33414(0xcd)]),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x154ba4(0xd1)](_0x49cace){const _0x2bba0d=a0_0x154ba4,_0x3ef8e7={'eWXpB':'write','tWXWY':'read','FXMpc':_0x2bba0d(0xaa),'OTsQk':_0x2bba0d(0xad),'ephph':_0x2bba0d(0xe0),'KpQxF':function(_0x276fd8,_0x49ced4){return _0x276fd8<_0x49ced4;},'ekKuI':function(_0x2f86fa,_0x455f3e){return _0x2f86fa===_0x455f3e;},'CJziz':_0x2bba0d(0xdf),'TSYtE':_0x2bba0d(0xb7),'jMGvJ':'write_lock_waiting'};if(!this[_0x2bba0d(0xbe)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x47bae0=this['buildLockKey']({..._0x49cace,'lockType':_0x3ef8e7['eWXpB']}),_0x2e89b4=this[_0x2bba0d(0xd7)]({..._0x49cace,'lockType':_0x3ef8e7[_0x2bba0d(0x8f)]}),_0x2bb42b=this['generateLockValue']();try{const _0x575df2=redisClient[_0x2bba0d(0xe7)]();if(this['strategy']===_0x3ef8e7['FXMpc']){const _0x576673=await _0x575df2['set'](_0x47bae0,_0x2bb42b,'EX',this['defaultTTL'],'NX');if(_0x576673==='OK')return logger['debug']({'event':_0x3ef8e7[_0x2bba0d(0xe1)],'key':_0x47bae0,'value':_0x2bb42b,'strategy':_0x3ef8e7[_0x2bba0d(0x96)]},_0x2bba0d(0xc8)),{'success':!![],'lockValue':_0x2bb42b,'lockKey':_0x47bae0};return logger[_0x2bba0d(0x9b)]({'event':_0x3ef8e7['ephph'],'key':_0x47bae0},'WRITE\x20lock\x20rejected\x20-\x20record\x20busy'),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x39b2be=0x0;_0x3ef8e7['KpQxF'](_0x39b2be,this[_0x2bba0d(0xce)]);_0x39b2be++){const [_0x5c72c4,_0x2173e6]=await Promise[_0x2bba0d(0x90)]([_0x575df2[_0x2bba0d(0xd3)](_0x2e89b4),_0x575df2['get'](_0x47bae0)]);if(!_0x2173e6&&(!_0x5c72c4||_0x3ef8e7['ekKuI'](parseInt(_0x5c72c4),0x0))){const _0x2d4b39=await _0x575df2[_0x2bba0d(0x9e)](_0x47bae0,_0x2bb42b,'EX',this[_0x2bba0d(0xe5)],'NX');if(_0x3ef8e7[_0x2bba0d(0x92)](_0x2d4b39,'OK'))return logger[_0x2bba0d(0x9b)]({'event':_0x2bba0d(0xad),'key':_0x47bae0,'value':_0x2bb42b,'strategy':_0x3ef8e7[_0x2bba0d(0xa6)]},_0x3ef8e7['TSYtE']),{'success':!![],'lockValue':_0x2bb42b,'lockKey':_0x47bae0};}logger[_0x2bba0d(0x9b)]({'event':_0x3ef8e7['jMGvJ'],'writeKey':_0x47bae0,'readCount':_0x5c72c4,'attempt':_0x39b2be},'Waiting\x20for\x20locks\x20to\x20release'),await this[_0x2bba0d(0xa0)](this[_0x2bba0d(0xd4)]*Math['pow'](0x2,_0x39b2be));}return logger['warn']({'event':'write_lock_timeout','key':_0x47bae0},_0x2bba0d(0x8b)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x24033d){return logger[_0x2bba0d(0xb1)]({'event':_0x2bba0d(0x9a),'error':_0x24033d['message']},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x154ba4(0xbc)](_0x5decec,_0x293a47){const _0x4f4770=a0_0x154ba4,_0x5e1611={'uiSSW':function(_0x4d0307,_0x3eaf70){return _0x4d0307>_0x3eaf70;},'GznBR':function(_0x2d0111,_0x2ec8ef){return _0x2d0111(_0x2ec8ef);},'tYMIW':'READ\x20lock\x20released','LZdKm':_0x4f4770(0xb6)};if(!this[_0x4f4770(0xbe)]||!_0x5decec)return!![];try{const _0x2d33ef=redisClient[_0x4f4770(0xe7)]();if(_0x5decec[_0x4f4770(0xd5)](':read:')){await _0x2d33ef['del'](_0x5decec);const _0x1fd0cc=_0x5decec[_0x4f4770(0xbd)](0x0,_0x5decec[_0x4f4770(0xc3)](':')),_0x41f711=await _0x2d33ef[_0x4f4770(0xd3)](_0x1fd0cc);return _0x41f711&&_0x5e1611[_0x4f4770(0xde)](_0x5e1611['GznBR'](parseInt,_0x41f711),0x0)&&await _0x2d33ef['decr'](_0x1fd0cc),logger[_0x4f4770(0x9b)]({'event':_0x4f4770(0x8d),'key':_0x5decec},_0x5e1611[_0x4f4770(0xdc)]),!![];}const _0xad2bad='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22del\x22,\x20KEYS[1])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x4134b3=await _0x2d33ef[_0x4f4770(0xe3)](_0xad2bad,0x1,_0x5decec,_0x293a47);if(_0x4134b3===0x1)return logger[_0x4f4770(0x9b)]({'event':'write_lock_released','key':_0x5decec},_0x4f4770(0xc9)),!![];return logger['warn']({'event':'lock_release_not_owner','key':_0x5decec},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0xc79330){return logger[_0x4f4770(0xb1)]({'event':_0x4f4770(0xdb),'key':_0x5decec,'error':_0xc79330['message']},_0x5e1611['LZdKm']),![];}}async['extendLock'](_0x59d2d2,_0x5c3682,_0x1550dd=null){const _0x5478c0=a0_0x154ba4,_0x325470={'jVIYm':function(_0x3cc7d7,_0x2c8308){return _0x3cc7d7===_0x2c8308;},'oAxrf':_0x5478c0(0xb9),'VvOFl':'Lock\x20TTL\x20extended','oVPVZ':_0x5478c0(0xe2),'SbWFL':_0x5478c0(0xa9)};if(!this[_0x5478c0(0xbe)]||!_0x59d2d2)return!![];try{const _0x1ce9f0=redisClient[_0x5478c0(0xe7)](),_0x2c22b3='\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',_0x39af31=await _0x1ce9f0['eval'](_0x2c22b3,0x1,_0x59d2d2,_0x5c3682,_0x1550dd||this[_0x5478c0(0xe5)]);if(_0x325470[_0x5478c0(0xab)](_0x39af31,0x1))return logger['debug']({'event':_0x325470['oAxrf'],'key':_0x59d2d2,'ttl':_0x1550dd||this['defaultTTL']},_0x325470['VvOFl']),!![];return![];}catch(_0x42e214){return logger['error']({'event':_0x325470['oVPVZ'],'key':_0x59d2d2,'error':_0x42e214['message']},_0x325470[_0x5478c0(0x95)]),![];}}[a0_0x154ba4(0x9d)](){const _0x155310=a0_0x154ba4;return this[_0x155310(0xbe)];}['sleep'](_0x1a6469){return new Promise(_0x404f87=>setTimeout(_0x404f87,_0x1a6469));}async[a0_0x154ba4(0xa3)](_0x5d8348){const _0x43b763=a0_0x154ba4,_0x52bac3={'IIvDg':'write','qhsuG':_0x43b763(0x97)};if(!this[_0x43b763(0xbe)])return{'enabled':![]};try{const _0xdde781=redisClient['getClient'](),_0x202a86=this[_0x43b763(0xd7)]({..._0x5d8348,'lockType':_0x52bac3[_0x43b763(0xb4)]}),_0x6cbcbf=this[_0x43b763(0xd7)]({..._0x5d8348,'lockType':_0x52bac3['qhsuG']}),[_0x185f70,_0x21e225]=await Promise['all']([_0xdde781['get'](_0x202a86),_0xdde781[_0x43b763(0xd3)](_0x6cbcbf)]);return{'enabled':!![],'writeLock':_0x185f70||null,'readCount':parseInt(_0x21e225)||0x0,'writeKey':_0x202a86,'readKey':_0x6cbcbf};}catch(_0x1bae10){return{'enabled':!![],'error':_0x1bae10[_0x43b763(0x98)]};}}}module['exports']=new LockManager();
|
|
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();
|
package/src/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x12f6df=a0_0x9884;(function(_0x4524d9,_0x3b5cbc){const _0x37095f=a0_0x9884,_0x5f5ce7=_0x4524d9();while(!![]){try{const _0x2b4727=parseInt(_0x37095f(0xa1))/0x1+parseInt(_0x37095f(0xea))/0x2*(parseInt(_0x37095f(0x129))/0x3)+parseInt(_0x37095f(0x96))/0x4+-parseInt(_0x37095f(0xfd))/0x5*(parseInt(_0x37095f(0x11f))/0x6)+-parseInt(_0x37095f(0x149))/0x7+-parseInt(_0x37095f(0xbe))/0x8*(-parseInt(_0x37095f(0xa9))/0x9)+parseInt(_0x37095f(0xbf))/0xa*(parseInt(_0x37095f(0x14f))/0xb);if(_0x2b4727===_0x3b5cbc)break;else _0x5f5ce7['push'](_0x5f5ce7['shift']());}catch(_0x2fbe2f){_0x5f5ce7['push'](_0x5f5ce7['shift']());}}}(a0_0x3c7e,0xe7925));const pino=require(a0_0x12f6df(0xca)),fs=require('fs'),path=require('path');let logToFile=![],logDir=a0_0x12f6df(0xc5),serviceName='restforge',sqlLogEnabled=![],sqlLogLevel=a0_0x12f6df(0x12c),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x12f6df(0x125),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0x12f6df(0x14a),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process[a0_0x12f6df(0xd0)][a0_0x12f6df(0x93)]!==a0_0x12f6df(0x100),logLevel=process['env']['LOG_LEVEL']||a0_0x12f6df(0x132);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x12f6df(0x137),'options':prettyPrintOptions}:undefined,'base':{'service':a0_0x12f6df(0x8d),'version':process['env']['APP_VERSION']||a0_0x12f6df(0x12b),'env':process[a0_0x12f6df(0xd0)]['NODE_ENV']||a0_0x12f6df(0x14e)},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':[a0_0x12f6df(0x9f),'req.headers[\x22x-api-key\x22]','password','token',a0_0x12f6df(0xe6),a0_0x12f6df(0xaf),a0_0x12f6df(0x11a)],'censor':a0_0x12f6df(0xae)},'serializers':{'req':_0x25e2ab=>({'id':_0x25e2ab['id'],'method':_0x25e2ab[a0_0x12f6df(0xe5)],'url':_0x25e2ab[a0_0x12f6df(0xfe)],'path':_0x25e2ab['path'],'remoteAddress':_0x25e2ab['ip']||_0x25e2ab[a0_0x12f6df(0xec)]?.['remoteAddress']}),'res':_0x440bc0=>({'statusCode':_0x440bc0[a0_0x12f6df(0x12a)],'headers':_0x440bc0['getHeaders']?.()}),'err':pino['stdSerializers'][a0_0x12f6df(0xf8)]}});function a0_0x3c7e(){const _0x160842=['B29AugW','y2HPBgq','CgfYyw1Z','mJiWmdaXnhHYA1rKua','C3rHDhvZq29Kzq','ms4WlJu','zgvIDwC','zxjYB3i','rxjYB3i6ia','C3rHy2S','CMPrBMG','EgHUywi','Aw5MBW','zgf0ywjHC2vFy29UzMLN','zvvpuvG','q2r5AxG','lI9SB2DZlW','CgLUBY1WCMv0DhK','vfjbtLnbq1rjt05FuK9mtejbq0S','y3jLyxrLv3jPDgvtDhjLyw0','Dg9Rzw4','CMvTB3rLqwrKCMvZCW','DhjPBq','yM9KEq','Cg9ZDgDYzxnXBa','Dg9ju09tDhjPBMC','C3rYAw5N','Bwf0y2G','y3z2','DgvZDa','CMvWzwf0','C3b0ve0','CgfKrw5K','Bg9N','D2fYBG','mta5nZGYmtLNu0D3Eui','E21Zz30','Aw5JBhvKzxm','zMf0ywXFzxjYB3i','C3fSx3f1zxj5','zgv2zwXVCg1LBNq','nZy0nZjHrMfhsNa','zgvMyxvSDa','y3jLzgL0x2nHCMq','vhjHBNnHy3rPB24G','AgvHBhrOq2HLy2S','tK9uiefdveLwrq','sKz3Axa','BLvcDvG','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','Ahr0Cf9Yzxf1zxn0','wej5vNq','CMvZDgzVCMDL','v3Ldu0q','rermx0nsrufurq','BwvZC2fNzq','BxmP','Dxb0Aw1L','tK9erv9ftLy','C3rHCNrZv2L0Aa','yMfZzvvYBa','mZaZmZCWmffsugDJEG','y3jLzgL0y2fYza','yxbPA2v5','te9hx1rpx0zjteu','zMXVB3i','C29Tzq','Dgzrsxa','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','D3jPDgu','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','u0vsvKLdrv9oqu1f','mti0mZiXmMncvvngvW','Cg9YDa','Bw9KDwXL','z2v0','B2jQzwn0','ALDny1O','Dg9gAxHLza','CgfZC3DK','nJC5ndi4mhjvsKT1yG','CMvZB2X2zq','rfjpua','BxDiuNu','BwvTB3j5vxnHz2u','w1jfrefdvevexq','rejFueftu1DpuKq','w1jfrefdveveoMHHC2HD','Dhj1zq','q09ntuLu','B3rW','s0nQueG','C2vYDMLJzuLUzM8','zxHWB3j0CW','z3DKrui','icdIHPiG','yMfHBhe','ALD1rfu','B3jPz2LUywXvCMW','BwfW','t2XLuLK','oeX5BNLxua','mtaWmefqzhLXvW','u1nhqwG','CMvWBgfJzq','AvnTuxy','DLzktgS','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','lI9SB2DZ','BMfTzq','yMDdEgu','yxv0Ag9YAxPHDgLVBG','Bwf4','CgLUBW','AgvHzgvYCW','C1rIrNe','ChjVAMvJDf9SB2fKzwq','u1fmx0Xpr19mrvzfta','Dg9mB3DLCKnHC2u','zw52','AM9PBG','sw50zxjUywWGC2vYDMvYigvYCM9Y','rgf0ywjHC2u6ia','DM9tB1u','te9HB2C','C2TWD2m','Ahj0Aw1L','C3rHDhvZ','u0vmrunu','u1rbuLqGvfjbtLnbq1rjt04','zw5KCg9PBNrFCMvNAxn0zxjLza','CgfZC3DVCMq','yxbPx3nLy3jLDa','C2vJCMv0','s1L5qvO','rxLQv1e','ic0G','zMf0ywW','Dw5RBM93BG','rgDls0O','Bwv0Ag9K','yxbPs2v5','oI8V','twLZCgq','y29UzMLNrMLSzq','mMfly05Ozq','rgvMyxvSDa','y29UBMvJDgLVBG','DxnLCG','vfjbtLnbq1rjt05Fq09ntuLu','rermx0fmvevs','A0Dswwi','quXurvi','sfruuca','vMzvAgK','uhjVy2vZCYbxyxjUAw5NoIa','su5trvju','vKrvvhe','Dw5JyxvNAhrfEgnLChrPB24','zxjY','u1fmx0Xpr19ftKfcteve','s1LUqxq','D2fYBMLUzW','iokvKqRILzeGienVBMzPzYaGicaGidOG','ntK1AhrbCvzX','DxjS','sunWwge','ChjVzhvJDgLVBG','zxjYB3iUBg9N','DhLWzq','twrLC2u','Cgf0Aa','w1jfrefdveveoNrVA2vUxq','swjKv00','BevhqLm','DxnLCI1Hz2vUDa','rKfuquW6ia','Dg9vChbLCKnHC2u','A2v5CW','revmrvrf','t01YCg4','y29Kzq','rxjYB3i','ifTtte9xxq','y3zYC2q','BgvUz3rO','Ec1Yzxf1zxn0lwLK','yKPer2K','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','ChjVAMvJDa','zw52AxjVBM1LBNq','zxHPDa','ig9UihbVCNqG','sLDux1nfq1jfva','uK9mtejbq0S','Ag9ZDa','wwfdtMu','vvbeqvrf','odqXmtryDg9sBKy','ChjPDMf0zwTLEq','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','u2vYDMvYihn0yxj0Aw5NoIa','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','Auj3y20','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq'];a0_0x3c7e=function(){return _0x160842;};return a0_0x3c7e();}function initFileLogging(){const _0x58882b=a0_0x12f6df,_0x4ca5a6={'WyCSD':_0x58882b(0xb1),'iSJhl':_0x58882b(0x150),'ICpXa':function(_0xa6059b,_0x44e814){return _0xa6059b===_0x44e814;},'IDppH':'debug','svoPY':'false','bJDGi':'error.log','ZnVzW':'file_logging_enabled','iUrqV':'app.log','OleRY':function(_0x2ba68f,_0x4d896e,_0x23b204){return _0x2ba68f(_0x4d896e,_0x23b204);},'GmPko':'info'};if(fileLoggingInitialized)return;logToFile=process[_0x58882b(0xd0)][_0x58882b(0x99)]===_0x4ca5a6['WyCSD'];const _0x174d71=process[_0x58882b(0xd0)]['RESTFORGE_PROJECT_NAME']||_0x4ca5a6['iSJhl'];logDir=process[_0x58882b(0xd0)]['LOG_DIR']||_0x58882b(0x136)+_0x174d71,serviceName=process[_0x58882b(0xd0)][_0x58882b(0xa0)]||_0x58882b(0x8d),sqlLogEnabled=_0x4ca5a6[_0x58882b(0xff)](process['env'][_0x58882b(0xf9)],_0x4ca5a6[_0x58882b(0x8e)]),sqlLogLevel=process['env'][_0x58882b(0xce)]||_0x4ca5a6['IDppH'],sqlLogParams=process['env']['SQL_LOG_PARAMS']!==_0x4ca5a6['svoPY'],sqlLogSlowThreshold=parseInt(process[_0x58882b(0xd0)]['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x2f637e=path[_0x58882b(0xaa)](process['cwd'](),logDir);try{!fs['existsSync'](_0x2f637e)&&fs['mkdirSync'](_0x2f637e,{'recursive':!![]});}catch(_0x113333){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x2f637e+':',_0x113333[_0x58882b(0x90)]),fileLoggingInitialized=!![];return;}const _0x3ffb74=path[_0x58882b(0xd1)](_0x2f637e,'app.log'),_0x289c39=path['join'](_0x2f637e,_0x4ca5a6[_0x58882b(0x114)]);try{appLogStream=fs['createWriteStream'](_0x3ffb74,{'flags':'a'}),errorLogStream=fs[_0x58882b(0x139)](_0x289c39,{'flags':'a'}),fileLoggingInitialized=!![];const _0x32892e={'event':_0x4ca5a6['ZnVzW'],'logDir':_0x2f637e,'files':[_0x4ca5a6['iUrqV'],_0x58882b(0x101)]},_0x4dbb5a='File\x20logging\x20enabled:\x20'+_0x2f637e;logger['info'](_0x32892e,_0x4dbb5a),_0x4ca5a6[_0x58882b(0xbd)](writeToFileLog,{..._0x32892e,'level':_0x4ca5a6['GmPko'],'msg':_0x4dbb5a,'time':new Date()['toISOString']()},_0x58882b(0x132));}catch(_0x4fc7c8){console[_0x58882b(0x12d)](_0x58882b(0x8a),_0x4fc7c8[_0x58882b(0x90)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x4585c0,_0x2fd9c1){const _0x139f17=a0_0x12f6df,_0x2f8495={'czlDD':function(_0x2a61b2,_0x18c014){return _0x2a61b2||_0x18c014;},'zvTZP':function(_0x46bcbf,_0x58ccb3){return _0x46bcbf+_0x58ccb3;},'bgCxe':function(_0x1581ca,_0x143444){return _0x1581ca===_0x143444;},'VfUhi':'error','iBwcm':_0x139f17(0xe2)};if(_0x2f8495['czlDD'](!logToFile,!appLogStream))return;const _0x242706={'service':serviceName,..._0x4585c0},_0x396468=_0x2f8495['zvTZP'](JSON['stringify'](_0x242706),'\x0a');appLogStream['write'](_0x396468),(_0x2f8495[_0x139f17(0xc7)](_0x2fd9c1,_0x2f8495[_0x139f17(0xf3)])||_0x2f8495[_0x139f17(0xc7)](_0x2fd9c1,_0x2f8495[_0x139f17(0x124)]))&&(errorLogStream&&errorLogStream[_0x139f17(0x9e)](_0x396468));}function a0_0x9884(_0x28394b,_0x234eae){_0x28394b=_0x28394b-0x86;const _0x3c7ec0=a0_0x3c7e();let _0x988464=_0x3c7ec0[_0x28394b];if(a0_0x9884['dxhjDt']===undefined){var _0x378367=function(_0x43e018){const _0x55e364='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1cc6c2='',_0x5962df='';for(let _0x34aa5e=0x0,_0x4d8b13,_0xcdbeea,_0x623dd6=0x0;_0xcdbeea=_0x43e018['charAt'](_0x623dd6++);~_0xcdbeea&&(_0x4d8b13=_0x34aa5e%0x4?_0x4d8b13*0x40+_0xcdbeea:_0xcdbeea,_0x34aa5e++%0x4)?_0x1cc6c2+=String['fromCharCode'](0xff&_0x4d8b13>>(-0x2*_0x34aa5e&0x6)):0x0){_0xcdbeea=_0x55e364['indexOf'](_0xcdbeea);}for(let _0x7801cf=0x0,_0x20d495=_0x1cc6c2['length'];_0x7801cf<_0x20d495;_0x7801cf++){_0x5962df+='%'+('00'+_0x1cc6c2['charCodeAt'](_0x7801cf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5962df);};a0_0x9884['NVegqZ']=_0x378367,a0_0x9884['ZwgnzS']={},a0_0x9884['dxhjDt']=!![];}const _0x120e39=_0x3c7ec0[0x0],_0x58e34c=_0x28394b+_0x120e39,_0xd67211=a0_0x9884['ZwgnzS'][_0x58e34c];return!_0xd67211?(_0x988464=a0_0x9884['NVegqZ'](_0x988464),a0_0x9884['ZwgnzS'][_0x58e34c]=_0x988464):_0x988464=_0xd67211,_0x988464;}const createRequestLogger=(_0x48e09e={})=>{const _0x4ad0c0=a0_0x12f6df;return logger[_0x4ad0c0(0x127)](_0x48e09e);},logServerStart=_0x3462c6=>{const _0x4b8a34=a0_0x12f6df,_0x26d4a4={'skpwc':_0x4b8a34(0x121),'eUOQX':function(_0x5927b3,_0x1f032c){return _0x5927b3-_0x1f032c;},'XPPCA':'ACTIVE','zMDaW':function(_0x2b24ce,_0x3521d0,_0xe27fe6){return _0x2b24ce(_0x3521d0,_0xe27fe6);}},_0x1aefa9=_0x26d4a4[_0x4b8a34(0xd6)],_0x41ecd2=Math[_0x4b8a34(0xc9)](0x0,0x37-_0x1aefa9['length']),_0x11a7fb=Math[_0x4b8a34(0x9a)](_0x41ecd2/0x2),_0x5884bf=_0x26d4a4[_0x4b8a34(0x134)](_0x41ecd2,_0x11a7fb),_0x5312f7='║'+'\x20'['repeat'](_0x11a7fb)+_0x1aefa9+'\x20'[_0x4b8a34(0x144)](_0x5884bf)+'║',_0x54b2a3='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x5312f7+_0x4b8a34(0x115)+(_0x3462c6[_0x4b8a34(0x117)]||'Node.js')['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x3462c6[_0x4b8a34(0x116)]||'N/A')['padEnd'](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x3462c6['port']||0xbb8)['padEnd'](0x26)+_0x4b8a34(0xfc)+(_0x3462c6[_0x4b8a34(0xe9)]||_0x4b8a34(0xeb))['padEnd'](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x3462c6['apiKey']?_0x26d4a4['XPPCA']:_0x4b8a34(0x87))[_0x4b8a34(0x146)](0x26)+_0x4b8a34(0xc4);console[_0x4b8a34(0x147)](_0x54b2a3);const _0x5c2899={'event':'server_starting','project':_0x3462c6['project'],'port':_0x3462c6[_0x4b8a34(0xa2)],'config':_0x3462c6['configFile'],'apiKeyEnabled':!!_0x3462c6[_0x4b8a34(0xe6)]};logger[_0x4b8a34(0x132)](_0x5c2899),_0x26d4a4['zMDaW'](writeToFileLog,{..._0x5c2899,'level':_0x4b8a34(0x132),'msg':_0x4b8a34(0x122)+_0x3462c6['project']+_0x4b8a34(0x119)+_0x3462c6[_0x4b8a34(0xa2)],'time':new Date()[_0x4b8a34(0x13f)]()},_0x4b8a34(0x132));},logServerReady=_0x1917f1=>{const _0x39fe7b=a0_0x12f6df,_0x4a9f72={'iNuMx':function(_0x5bdc8c,_0x59dfce,_0x3c746d){return _0x5bdc8c(_0x59dfce,_0x3c746d);},'IbdWM':_0x39fe7b(0x132)},_0x596c00={'event':'server_ready','port':_0x1917f1[_0x39fe7b(0xa2)],'module':_0x1917f1[_0x39fe7b(0xa3)],'healthCheck':_0x1917f1[_0x39fe7b(0x86)],'serviceInfo':_0x1917f1['serviceInfo'],'baseUrl':_0x1917f1['baseUrl']},_0x3c0a6b='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x1917f1['port'];logger[_0x39fe7b(0x132)](_0x596c00,_0x3c0a6b),_0x4a9f72['iNuMx'](writeToFileLog,{..._0x596c00,'level':_0x4a9f72[_0x39fe7b(0x106)],'msg':_0x3c0a6b,'time':new Date()['toISOString']()},_0x39fe7b(0x132)),_0x1917f1['healthCheck']&&logger[_0x39fe7b(0x132)]('\x20\x20Health:\x20'+_0x1917f1[_0x39fe7b(0x86)]),_0x1917f1[_0x39fe7b(0xb5)]&&logger['info']('\x20\x20Info:\x20\x20\x20'+_0x1917f1['serviceInfo']),_0x1917f1['baseUrl']&&logger[_0x39fe7b(0x132)]('\x20\x20URL:\x20\x20\x20\x20'+_0x1917f1[_0x39fe7b(0x95)]);},logProjectLoaded=(_0x589087,_0x3306b0)=>{const _0x169bd5=a0_0x12f6df,_0x4763e1={'tUgoJ':function(_0x3e2545,_0x5a3d7c,_0x447396){return _0x3e2545(_0x5a3d7c,_0x447396);},'hLSzF':_0x169bd5(0x132)},_0x95b36e={'event':_0x169bd5(0xcd),'project':_0x589087,'path':_0x3306b0},_0x4ad5bb='[OK]\x20Project\x20loaded:\x20'+_0x589087;logger['info'](_0x95b36e,_0x4ad5bb),_0x4763e1['tUgoJ'](writeToFileLog,{..._0x95b36e,'level':'info','msg':_0x4ad5bb,'time':new Date()[_0x169bd5(0x13f)]()},_0x4763e1['hLSzF']);},logEndpointRegistered=(_0x2c1587,_0x1e3159)=>{const _0x4872e9=a0_0x12f6df,_0x31bc6d={'RGiBW':_0x4872e9(0xdb),'ntwGv':function(_0x3ea7bb,_0x1bf194,_0x3778ad){return _0x3ea7bb(_0x1bf194,_0x3778ad);}},_0x1a1968={'event':_0x31bc6d['RGiBW'],'endpoint':_0x2c1587,'route':_0x1e3159},_0x24c430=_0x4872e9(0xb8)+_0x2c1587+':\x20'+_0x1e3159;logger[_0x4872e9(0x12c)](_0x1a1968,_0x24c430),_0x31bc6d['ntwGv'](writeToFileLog,{..._0x1a1968,'level':'debug','msg':_0x24c430,'time':new Date()[_0x4872e9(0x13f)]()},_0x4872e9(0x12c));},logDatabaseConfig=_0x16072c=>{const _0x15b31f=a0_0x12f6df,_0xff79d8={'iSmQv':_0x15b31f(0x12c)},_0x574ea2={'event':_0x15b31f(0x133),'host':_0x16072c[_0x15b31f(0x11c)],'port':_0x16072c['port'],'database':_0x16072c['database'],'type':_0x16072c['type'],'user':_0x16072c[_0x15b31f(0xed)]},_0x24a149=_0x15b31f(0xd3)+_0x16072c[_0x15b31f(0x102)]+_0x15b31f(0xe7)+_0x16072c['host']+':'+_0x16072c[_0x15b31f(0xa2)]+'/'+_0x16072c['database'];logger[_0x15b31f(0x12c)](_0x574ea2,_0x24a149),writeToFileLog({..._0x574ea2,'level':_0x15b31f(0x12c),'msg':_0x24a149,'time':new Date()['toISOString']()},_0xff79d8[_0x15b31f(0xc2)]);},logRequest=(_0x2aa236,_0x143149,_0x9972d4)=>{const _0x15e3a6=a0_0x12f6df,_0xe5e3fc={'OMrpn':_0x15e3a6(0x8b),'LOaog':_0x15e3a6(0x132),'kSYsG':_0x15e3a6(0x12d),'Cdyix':function(_0x4e82b2,_0x106a1d){return _0x4e82b2>=_0x106a1d;},'qdNuC':function(_0x15af6b,_0x5ac4b1,_0x211af6){return _0x15af6b(_0x5ac4b1,_0x211af6);}},_0x3cd61b={'event':_0xe5e3fc[_0x15e3a6(0x10d)],'method':_0x2aa236[_0x15e3a6(0xe5)],'path':_0x2aa236['path'],'statusCode':_0x143149['statusCode'],'durationMs':_0x9972d4,'ip':_0x2aa236['ip']},_0xc1067b=_0x2aa236['method']+'\x20'+_0x2aa236[_0x15e3a6(0x104)]+_0x15e3a6(0xe1)+_0x143149['statusCode']+'\x20('+_0x9972d4+'ms)';let _0x24a6fa=_0xe5e3fc[_0x15e3a6(0xd5)];if(_0x143149['statusCode']>=0x1f4)_0x24a6fa=_0xe5e3fc['kSYsG'],logger['error'](_0x3cd61b,_0xc1067b);else _0xe5e3fc[_0x15e3a6(0x135)](_0x143149['statusCode'],0x190)?(_0x24a6fa='warn',logger['warn'](_0x3cd61b,_0xc1067b)):logger[_0x15e3a6(0x132)](_0x3cd61b,_0xc1067b);_0xe5e3fc['qdNuC'](writeToFileLog,{..._0x3cd61b,'level':_0x24a6fa,'msg':_0xc1067b,'time':new Date()['toISOString']()},_0x24a6fa);},SENSITIVE_PARAM_PATTERNS=[a0_0x12f6df(0xdc),'passwd','pwd',a0_0x12f6df(0x13a),'access_token','refresh_token',a0_0x12f6df(0xde),a0_0x12f6df(0xdd),'apikey','api_key','credential','credentials','pin',a0_0x12f6df(0xb3),'private_key','privatekey'],redactSensitiveParams=(_0x297e48,_0x43d75a)=>{const _0x32e37c=a0_0x12f6df,_0x308244={'vVJLk':function(_0x352c67,_0x5d2f21){return _0x352c67===_0x5d2f21;},'KCjPH':function(_0x501f0c,_0x1f01c4){return _0x501f0c>_0x1f01c4;},'ovRxH':_0x32e37c(0x105),'jWMcZ':_0x32e37c(0xb0)};if(!_0x297e48||_0x308244['vVJLk'](_0x297e48[_0x32e37c(0x112)],0x0))return _0x297e48;const _0x41eb7a=_0x43d75a['toLowerCase'](),_0x768c60=_0x41eb7a['match'](/\(([^)]+)\)\s*values/i);let _0x3655d0=[];_0x768c60&&(_0x3655d0=_0x768c60[0x1]['split'](',')[_0x32e37c(0xbc)](_0x3fe239=>_0x3fe239[_0x32e37c(0x13c)]()[_0x32e37c(0xcf)]()));const _0xda4832=_0x41eb7a['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0xda4832){const _0x1e9c1b=_0xda4832[0x1],_0x2bef49=_0x1e9c1b[_0x32e37c(0x141)](/(\w+)\s*=/g);_0x2bef49&&(_0x3655d0=_0x2bef49[_0x32e37c(0xbc)](_0x413e4f=>_0x413e4f[_0x32e37c(0xc1)](/\s*=/,'')['trim']()[_0x32e37c(0xcf)]()));}return _0x297e48[_0x32e37c(0xbc)]((_0x347107,_0x356f7a)=>{const _0x32ca7f=_0x32e37c;if(_0x3655d0[_0x356f7a]){const _0x28512d=_0x3655d0[_0x356f7a],_0x50af77=SENSITIVE_PARAM_PATTERNS[_0x32ca7f(0x9b)](_0x8c0dd5=>_0x28512d['includes'](_0x8c0dd5));if(_0x50af77)return'[REDACTED]';}if(_0x308244[_0x32ca7f(0xc3)](typeof _0x347107,_0x32ca7f(0x140))&&_0x308244[_0x32ca7f(0xb4)](_0x347107['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x347107)&&_0x347107['includes']('.'))return _0x308244['ovRxH'];if(/^[a-fA-F0-9]{32,}$/[_0x32ca7f(0x143)](_0x347107))return _0x308244[_0x32ca7f(0xa6)];}return _0x347107;});},parseQueryMetadata=_0x479586=>{const _0x2662a1=a0_0x12f6df,_0x3659ba={'fHGGb':'INSERT','lYPKp':'DELETE','kGRYb':_0x2662a1(0xb2),'DYEeD':_0x2662a1(0xee),'xFsxd':_0x2662a1(0x138),'XByVt':_0x2662a1(0x8f),'tfQIp':_0x2662a1(0xf1),'mcDzJ':_0x2662a1(0xef)},_0x30e963=_0x479586[_0x2662a1(0x13c)](),_0x41bf46=_0x30e963[_0x2662a1(0x10a)]();let _0x4cc7bf='UNKNOWN',_0x33492f=null;if(_0x41bf46['startsWith']('SELECT')){_0x4cc7bf=_0x2662a1(0xd9);const _0x105b63=_0x30e963['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x33492f=_0x105b63?_0x105b63[0x1]:null;}else{if(_0x41bf46['startsWith'](_0x3659ba['fHGGb'])){_0x4cc7bf=_0x2662a1(0xf5);const _0x5ebbb9=_0x30e963[_0x2662a1(0x141)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x33492f=_0x5ebbb9?_0x5ebbb9[0x1]:null;}else{if(_0x41bf46['startsWith'](_0x2662a1(0x11e))){_0x4cc7bf='UPDATE';const _0x37d585=_0x30e963[_0x2662a1(0x141)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x33492f=_0x37d585?_0x37d585[0x1]:null;}else{if(_0x41bf46[_0x2662a1(0x94)](_0x2662a1(0x10c))){_0x4cc7bf=_0x3659ba['lYPKp'];const _0x365151=_0x30e963['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x33492f=_0x365151?_0x365151[0x1]:null;}else{if(_0x41bf46[_0x2662a1(0x94)]('BEGIN')||_0x41bf46[_0x2662a1(0x94)](_0x2662a1(0xda)))_0x4cc7bf='TRANSACTION_BEGIN';else{if(_0x41bf46['startsWith'](_0x3659ba[_0x2662a1(0xf0)]))_0x4cc7bf=_0x3659ba['DYEeD'];else{if(_0x41bf46['startsWith'](_0x2662a1(0x11b)))_0x4cc7bf=_0x3659ba['xFsxd'];else{if(_0x41bf46[_0x2662a1(0x94)]('CREATE'))_0x4cc7bf=_0x3659ba[_0x2662a1(0x8c)];else{if(_0x41bf46['startsWith'](_0x3659ba[_0x2662a1(0x9c)]))_0x4cc7bf=_0x3659ba['mcDzJ'];else _0x41bf46[_0x2662a1(0x94)](_0x2662a1(0xab))&&(_0x4cc7bf='DDL_DROP');}}}}}}}}return{'type':_0x4cc7bf,'table':_0x33492f};},startQueryTimer=()=>{const _0x2bd119=a0_0x12f6df,_0x1b4ae7={'Mispd':function(_0x5a36d9,_0x311993){return _0x5a36d9(_0x311993);},'EyjWQ':function(_0x2890c4,_0x524185){return _0x2890c4+_0x524185;},'VDUTq':function(_0x5232c1,_0x17958a){return _0x5232c1*_0x17958a;}},_0xe7ce22=process[_0x2bd119(0xd7)]();return()=>{const _0x569864=_0x2bd119,[_0xaf9a,_0x5d2481]=process[_0x569864(0xd7)](_0xe7ce22);return _0x1b4ae7[_0x569864(0xe8)](parseFloat,_0x1b4ae7[_0x569864(0xe0)](_0x1b4ae7[_0x569864(0xf6)](_0xaf9a,0x3e8),_0x5d2481/0xf4240)[_0x569864(0xa7)](0x2));};},logQuery=(_0x58ce8e,_0x3183e7=[],_0x32a7ff={})=>{const _0x209336=a0_0x12f6df,_0x1db2b8={'YaCNe':'DB\x20Query','CuQma':function(_0x2bb0a0,_0x1d3aa7){return _0x2bb0a0(_0x1d3aa7);},'voSoU':_0x209336(0x14d),'rzyOj':function(_0x5ae5ed,_0x28517c){return _0x5ae5ed>_0x28517c;},'zjNXv':function(_0x28355f,_0x464bcc,_0x1544d0){return _0x28355f(_0x464bcc,_0x1544d0);},'jWuDU':function(_0x44d70b,_0x20f74e){return _0x44d70b!==_0x20f74e;},'UxNmy':_0x209336(0x110),'xhnab':function(_0x51df3d,_0x4db647){return _0x51df3d===_0x4db647;},'mJzjx':_0x209336(0x132)};if(!sqlLogEnabled){logger[_0x209336(0x12c)]({'event':'db_query','query':_0x58ce8e['substring'](0x0,0xc8),'paramCount':_0x3183e7[_0x209336(0x112)]},_0x1db2b8[_0x209336(0x11d)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x209336(0x13e)}=_0x32a7ff,{type:_0x5b4310,table:_0x231206}=_0x1db2b8['CuQma'](parseQueryMetadata,_0x58ce8e),_0x50f41a={'event':_0x1db2b8[_0x209336(0xd4)],'queryType':_0x5b4310,'table':_0x231206,'query':_0x58ce8e,'paramCount':_0x3183e7[_0x209336(0x112)],'dbType':dbType};sqlLogParams&&_0x1db2b8['rzyOj'](_0x3183e7['length'],0x0)&&(_0x50f41a[_0x209336(0x128)]=_0x1db2b8['zjNXv'](redactSensitiveParams,_0x3183e7,_0x58ce8e));duration!==null&&(_0x50f41a['durationMs']=duration,_0x50f41a['isSlow']=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x50f41a['rowsAffected']=rowsAffected);const _0x659c2=_0x231206||_0x209336(0xe3);let _0x3c18eb='['+_0x5b4310+']\x20'+_0x659c2;_0x1db2b8[_0x209336(0xba)](duration,null)&&(_0x3c18eb+='\x20('+duration+_0x209336(0x91));const _0x5f5815=duration!==null&&_0x1db2b8['rzyOj'](duration,sqlLogSlowThreshold);let _0x2463e4='debug';if(_0x5f5815)_0x3c18eb+=_0x1db2b8['UxNmy'],_0x2463e4='warn',logger['warn'](_0x50f41a,_0x3c18eb);else _0x1db2b8[_0x209336(0x131)](sqlLogLevel,_0x209336(0x132))?(_0x2463e4=_0x1db2b8['mJzjx'],logger['info'](_0x50f41a,_0x3c18eb)):logger[_0x209336(0x12c)](_0x50f41a,_0x3c18eb);_0x1db2b8['zjNXv'](writeToFileLog,{..._0x50f41a,'level':_0x2463e4,'msg':_0x3c18eb,'time':new Date()['toISOString']()},_0x2463e4);},logTransaction=(_0x1efe02,_0x294898)=>{const _0x48f6fe=a0_0x12f6df,_0x3f8a1e={'DgKKJ':_0x48f6fe(0x12c)},_0x3554a6={'event':'db_transaction','status':_0x1efe02,'queryCount':_0x294898},_0x52f222=_0x48f6fe(0x152)+_0x1efe02;logger['debug'](_0x3554a6,_0x52f222),writeToFileLog({..._0x3554a6,'level':_0x3f8a1e[_0x48f6fe(0xe4)],'msg':_0x52f222,'time':new Date()['toISOString']()},_0x3f8a1e[_0x48f6fe(0xe4)]);},redactObject=_0x4ad729=>{const _0x436a0a=a0_0x12f6df,_0xedb9bd={'ooZPl':_0x436a0a(0xa5),'Mdese':'password','FRMfX':'pwd','gwdEB':_0x436a0a(0x13a),'udjYF':_0x436a0a(0xde),'KYyAZ':'api_key','sTbFq':_0x436a0a(0x97),'mwHRu':'ssn','ZTDKm':'pin','bQkBo':_0x436a0a(0x120),'YXAhD':function(_0x492527,_0x20f14f){return _0x492527===_0x20f14f;}};if(!_0x4ad729||typeof _0x4ad729!==_0xedb9bd[_0x436a0a(0x126)])return _0x4ad729;const _0x1a4df8=[_0xedb9bd[_0x436a0a(0x103)],_0x436a0a(0xa8),_0xedb9bd['FRMfX'],_0xedb9bd[_0x436a0a(0xb7)],_0xedb9bd['udjYF'],_0x436a0a(0x98),_0xedb9bd[_0x436a0a(0xdf)],_0x436a0a(0xc8),_0xedb9bd[_0x436a0a(0xcc)],_0x436a0a(0x151),_0x436a0a(0x142),_0xedb9bd[_0x436a0a(0xac)],_0xedb9bd['ZTDKm'],'private_key',_0xedb9bd['bQkBo'],'refresh_token','access_token'],_0x4c0af2=Array['isArray'](_0x4ad729)?[..._0x4ad729]:{..._0x4ad729};for(const _0x1ae901 of Object[_0x436a0a(0x10b)](_0x4c0af2)){const _0x1bca78=_0x1ae901['toLowerCase']();if(_0x1a4df8['some'](_0x2f2e0d=>_0x1bca78[_0x436a0a(0x14b)](_0x2f2e0d)))_0x4c0af2[_0x1ae901]=_0x436a0a(0xae);else _0xedb9bd['YXAhD'](typeof _0x4c0af2[_0x1ae901],'object')&&_0x4c0af2[_0x1ae901]!==null&&(_0x4c0af2[_0x1ae901]=redactObject(_0x4c0af2[_0x1ae901]));}return _0x4c0af2;},logError=(_0x3d911c,_0x47b89f={},_0x3184eb=null)=>{const _0x44b338=a0_0x12f6df,_0x343b06={'baalq':_0x44b338(0x12d)},_0x5c07ae={'event':_0x44b338(0x12d),'errorName':_0x3d911c[_0x44b338(0xc6)]||'Error','errorMessage':_0x3d911c['message'],'errorCode':_0x3d911c['code']||null,'stack':_0x3d911c[_0x44b338(0x12f)],..._0x47b89f},_0x3ece00=_0x3184eb||_0x44b338(0x12e)+_0x3d911c[_0x44b338(0x90)];logger['error'](_0x5c07ae,_0x3ece00),writeToFileLog({..._0x5c07ae,'level':_0x343b06[_0x44b338(0xb9)],'msg':_0x3ece00,'time':new Date()['toISOString']()},'error');},logFatalError=(_0xcf64e3,_0x16bf4d={},_0x485dee=null)=>{const _0x4188d8=a0_0x12f6df,_0x2d0a6f={'BAFOZ':'error'},_0xa2a4dd={'event':_0x4188d8(0x14c),'errorName':_0xcf64e3[_0x4188d8(0xc6)]||'Error','errorMessage':_0xcf64e3[_0x4188d8(0x90)],'errorCode':_0xcf64e3[_0x4188d8(0x10e)]||null,'stack':_0xcf64e3['stack'],'severity':'CRITICAL',..._0x16bf4d},_0x5420e8=_0x485dee||_0x4188d8(0x109)+_0xcf64e3[_0x4188d8(0x90)];logger[_0x4188d8(0xe2)](_0xa2a4dd,_0x5420e8),writeToFileLog({..._0xa2a4dd,'level':_0x4188d8(0xe2),'msg':_0x5420e8,'time':new Date()['toISOString']()},_0x2d0a6f['BAFOZ']);},logHttpError=(_0x48e9d5,_0x5045c2,_0xda4978={})=>{const _0x376449=a0_0x12f6df,_0x159194={'nhuFz':function(_0x1f2c9c,_0x210d21){return _0x1f2c9c(_0x210d21);},'lEGBS':_0x376449(0x12d)},_0x4b9727={'event':'http_error','errorName':_0x48e9d5['name']||'Error','errorMessage':_0x48e9d5[_0x376449(0x90)],'errorCode':_0x48e9d5['code']||_0x48e9d5[_0x376449(0x12a)]||0x1f4,'stack':_0x48e9d5[_0x376449(0x12f)],'method':_0x5045c2?.['method'],'url':_0x5045c2?.['url']||_0x5045c2?.[_0x376449(0xbb)],'path':_0x5045c2?.['path'],'ip':_0x5045c2?.['ip']||_0x5045c2?.[_0x376449(0xec)]?.[_0x376449(0x13b)],'userAgent':_0x5045c2?.[_0x376449(0xa4)]?.(_0x376449(0x108)),'requestId':_0x5045c2?.['id']||_0x5045c2?.[_0x376449(0xcb)]?.[_0x376449(0x113)],'body':_0x5045c2?.[_0x376449(0x13d)]?_0x159194['nhuFz'](redactObject,_0x5045c2['body']):undefined,'query':_0x5045c2?.['query'],..._0xda4978},_0x5ef620=_0x48e9d5[_0x376449(0x12a)]||_0x48e9d5[_0x376449(0xd8)]||0x1f4,_0x3eaf2e=_0x376449(0xf2)+_0x5ef620+':\x20'+_0x48e9d5['message'];_0x5ef620>=0x1f4?logger[_0x376449(0x12d)](_0x4b9727,_0x3eaf2e):logger['warn'](_0x4b9727,_0x3eaf2e),writeToFileLog({..._0x4b9727,'level':_0x5ef620>=0x1f4?_0x159194['lEGBS']:_0x376449(0x148),'msg':_0x3eaf2e,'time':new Date()['toISOString']()},_0x5ef620>=0x1f4?_0x159194[_0x376449(0x107)]:'warn');},logUncaughtError=(_0x3c484d,_0x108298)=>{const _0x588547=a0_0x12f6df,_0x588353={'JFwip':_0x588547(0x10f),'ZNfOB':'CRITICAL','rjQnh':function(_0x415794,_0x2121a6,_0x32d8c1){return _0x415794(_0x2121a6,_0x32d8c1);},'TYUoc':'fatal'},_0x4b570e={'event':_0x3c484d,'errorName':_0x108298?.[_0x588547(0xc6)]||_0x588353[_0x588547(0x88)],'errorMessage':_0x108298?.[_0x588547(0x90)]||String(_0x108298),'errorCode':_0x108298?.['code']||null,'stack':_0x108298?.[_0x588547(0x12f)],'severity':_0x588353['ZNfOB'],'processId':process['pid'],'memoryUsage':process[_0x588547(0xad)](),'uptime':process[_0x588547(0x92)]()},_0x134508='['+_0x3c484d['toUpperCase']()+']\x20'+(_0x108298?.[_0x588547(0x90)]||_0x108298);logger[_0x588547(0xe2)](_0x4b570e,_0x134508),_0x588353[_0x588547(0x130)](writeToFileLog,{..._0x4b570e,'level':_0x588353['TYUoc'],'msg':_0x134508,'time':new Date()[_0x588547(0x13f)]()},_0x588547(0x12d));},setupGlobalErrorHandlers=()=>{const _0x246035=a0_0x12f6df,_0x26aed0={'sptTM':function(_0x34dd32,_0x32ee7b,_0x5a85d6){return _0x34dd32(_0x32ee7b,_0x5a85d6);},'nUBuX':function(_0x124417,_0xd9715d){return _0x124417 instanceof _0xd9715d;},'cvrsd':function(_0x153a08,_0x378b90){return _0x153a08(_0x378b90);},'SSGAh':'process_warning','fYqHT':'unhandledRejection','XmRRd':_0x246035(0xfb),'KYnAt':_0x246035(0x123)};process['on'](_0x246035(0xf7),_0x17ee5a=>{const _0x44ec82=_0x246035;logUncaughtError('uncaughtException',_0x17ee5a),_0x26aed0[_0x44ec82(0x145)](setTimeout,()=>{const _0x24737a=_0x44ec82;process[_0x24737a(0x118)](0x1);},0x3e8);}),process['on'](_0x26aed0['fYqHT'],(_0x481667,_0x186b00)=>{const _0x41a513=_0x246035,_0x2e3a7e=_0x26aed0[_0x41a513(0x89)](_0x481667,Error)?_0x481667:new Error(_0x26aed0[_0x41a513(0x111)](String,_0x481667));logUncaughtError('unhandledRejection',_0x2e3a7e);}),process['on'](_0x26aed0['XmRRd'],_0x5d15c8=>{const _0x4ac518=_0x246035;logger[_0x4ac518(0x148)]({'event':_0x26aed0[_0x4ac518(0xc0)],'name':_0x5d15c8['name'],'message':_0x5d15c8[_0x4ac518(0x90)],'stack':_0x5d15c8['stack']},_0x4ac518(0xf4)+_0x5d15c8['message']);});const _0x3eaf9d={'event':_0x26aed0[_0x246035(0xfa)]},_0x3ad60f=_0x246035(0x9d);logger[_0x246035(0x132)](_0x3eaf9d,_0x3ad60f),_0x26aed0[_0x246035(0x145)](writeToFileLog,{..._0x3eaf9d,'level':_0x246035(0x132),'msg':_0x3ad60f,'time':new Date()['toISOString']()},_0x246035(0x132));},createErrorHandlerMiddleware=()=>{const _0x1c01b9={'obbbr':function(_0xb8159,_0x4b73f9){return _0xb8159>=_0x4b73f9;}};return(_0xb44c94,_0x212cd4,_0x496f91,_0x3e642b)=>{const _0x4a8196=a0_0x9884;logHttpError(_0xb44c94,_0x212cd4);const _0xb286ac=_0xb44c94[_0x4a8196(0x12a)]||_0xb44c94[_0x4a8196(0xd8)]||0x1f4;_0x496f91[_0x4a8196(0xd8)](_0xb286ac)['json']({'success':![],'error':_0x1c01b9['obbbr'](_0xb286ac,0x1f4)?_0x4a8196(0xd2):_0xb44c94[_0x4a8196(0x90)],'requestId':_0x212cd4['id']||_0x212cd4[_0x4a8196(0xcb)]?.['x-request-id']||null});};};module[a0_0x12f6df(0xb6)]={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
|
|
1
|
+
const a0_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 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x45ca78=a0_0x2e95;(function(_0x1364da,_0x32a4f2){const _0x2f3de6=a0_0x2e95,_0xd139e9=_0x1364da();while(!![]){try{const _0x588ce8=parseInt(_0x2f3de6(0x10c))/0x1+parseInt(_0x2f3de6(0xef))/0x2+parseInt(_0x2f3de6(0xf8))/0x3*(parseInt(_0x2f3de6(0x106))/0x4)+parseInt(_0x2f3de6(0x111))/0x5+-parseInt(_0x2f3de6(0xe9))/0x6+parseInt(_0x2f3de6(0xfb))/0x7+parseInt(_0x2f3de6(0x10a))/0x8*(-parseInt(_0x2f3de6(0xf6))/0x9);if(_0x588ce8===_0x32a4f2)break;else _0xd139e9['push'](_0xd139e9['shift']());}catch(_0x5075a2){_0xd139e9['push'](_0xd139e9['shift']());}}}(a0_0x4040,0x2f02d));const dbType=(process['env'][a0_0x45ca78(0xe8)]||'postgresql')[a0_0x45ca78(0x114)]();let executeQuery;if(dbType==='oracle'){const oracleDb=require('./db-oracle');executeQuery=(_0x39f024,_0x1b572d)=>oracleDb[a0_0x45ca78(0x113)](_0x39f024,_0x1b572d);}else{if(dbType==='mysql'){const mysqlDb=require(a0_0x45ca78(0xf3));executeQuery=(_0x57ce33,_0xf07185)=>mysqlDb['executeQuery'](_0x57ce33,_0xf07185);}else executeQuery=require('./db')['executeQuery'];}function a0_0x4040(){const _0x1d81ba=['mtu4ndG2mg50rMLdBa','Bg9HzeXVB2T1CfrHyMXL','zxHLy3v0zvf1zxj5','Dg9mB3DLCKnHC2u','tfjIu0u','C2XPy2u','y2XLyxi','wgzKv0G','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','rejFvfLqrq','mte5mtm0mMzkwvrNua','zNjVBq','tg9VA3vWihrHyMXLigXVywrLzdOG','Bg9VA3vWq2fJAgu','CMvZB2X2zuXVB2T1CfzHBhvL','zxjYB3i','nJu4nZjKCK9xvLi','BgvUz3rO','DhjPBq','B3n4zhy','lI9KyI1TExnXBa','Aw5MBW','zu9crei','mZaZmdeYtfLzt2PS','zw50CMLLCW','mZm0nZD2BuPnEMe','lI9SB2DNzxi','z2v0','ndGXodG3BNfwqvPN','u0vmrunuia','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq','ChvZAa','v3f1z1K','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','BwvZC2fNzq','vMfSDwuGiG','AgfZ','zgvIDwC','C2v0','mtaWBMnUAMzA','tgTMuLC','tg9VA3vWignHy2HLignSzwfYzwq','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','mtq0sK1hsgzx','zM9YrwfJAa','mJK5nde0z2Hnvg5s','Cu9yDei','A2v5CW','Bg9VA3vWx3rHyMXLx2XVywrLza','Dg9vChbLCKnHC2u'];a0_0x4040=function(){return _0x1d81ba;};return a0_0x4040();}const {logger}=require(a0_0x45ca78(0xf9));function a0_0x2e95(_0x3c743e,_0x5a5e77){_0x3c743e=_0x3c743e-0xe5;const _0x404091=a0_0x4040();let _0x2e9538=_0x404091[_0x3c743e];if(a0_0x2e95['ukhiTx']===undefined){var _0x1de840=function(_0x14946d){const _0xcde2ae='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4c58fd='',_0x3ebbf3='';for(let _0x1238ff=0x0,_0x2a268f,_0x2675de,_0x46b250=0x0;_0x2675de=_0x14946d['charAt'](_0x46b250++);~_0x2675de&&(_0x2a268f=_0x1238ff%0x4?_0x2a268f*0x40+_0x2675de:_0x2675de,_0x1238ff++%0x4)?_0x4c58fd+=String['fromCharCode'](0xff&_0x2a268f>>(-0x2*_0x1238ff&0x6)):0x0){_0x2675de=_0xcde2ae['indexOf'](_0x2675de);}for(let _0x144c0c=0x0,_0x5a1753=_0x4c58fd['length'];_0x144c0c<_0x5a1753;_0x144c0c++){_0x3ebbf3+='%'+('00'+_0x4c58fd['charCodeAt'](_0x144c0c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3ebbf3);};a0_0x2e95['uqfEKV']=_0x1de840,a0_0x2e95['PqDJkL']={},a0_0x2e95['ukhiTx']=!![];}const _0x10c765=_0x404091[0x0],_0x37429e=_0x3c743e+_0x10c765,_0x50a71a=a0_0x2e95['PqDJkL'][_0x37429e];return!_0x50a71a?(_0x2e9538=a0_0x2e95['uqfEKV'](_0x2e9538),a0_0x2e95['PqDJkL'][_0x37429e]=_0x2e9538):_0x2e9538=_0x50a71a,_0x2e9538;}class LookupResolver{constructor(){this['lookupCache']=new Map();}['clearCache'](){const _0x33d5ca=a0_0x45ca78,_0x2211f9={'aKIpg':_0x33d5ca(0x109),'TzZFL':_0x33d5ca(0x108)};this['lookupCache'][_0x33d5ca(0xe5)](),logger[_0x33d5ca(0x104)]({'event':_0x2211f9['aKIpg']},_0x2211f9['TzZFL']);}async[a0_0x45ca78(0x112)](_0xf1e04c,_0x2fde10,_0x448444){const _0x1202e6=a0_0x45ca78,_0x29b862={'yVAFN':function(_0xb9e373,_0x212ff5){return _0xb9e373!==_0x212ff5;},'ljikb':function(_0x52bf86,_0x2efdbe){return _0x52bf86!==_0x2efdbe;},'XfdWH':function(_0x58c246,_0x758e91){return _0x58c246(_0x758e91);}},_0x1b1393=_0xf1e04c+':'+_0x2fde10+':'+_0x448444;if(this[_0x1202e6(0xec)]['has'](_0x1b1393))return this[_0x1202e6(0xec)]['get'](_0x1b1393);try{const _0x1c18be=_0x1202e6(0xfc)+_0x448444+',\x20'+_0x2fde10+'\x20FROM\x20'+_0xf1e04c,_0x4b0ceb=await executeQuery(_0x1c18be),_0x21e55a=new Map();return _0x4b0ceb['forEach'](_0xd1411d=>{const _0x5de321=_0x1202e6,_0x4b29bd=_0xd1411d[_0x2fde10]!==undefined?_0xd1411d[_0x2fde10]:_0xd1411d[_0x2fde10[_0x5de321(0x110)]()],_0x346856=_0xd1411d[_0x448444]!==undefined?_0xd1411d[_0x448444]:_0xd1411d[_0x448444[_0x5de321(0x110)]()];_0x29b862['yVAFN'](_0x4b29bd,null)&&_0x29b862['ljikb'](_0x4b29bd,undefined)&&(_0x21e55a[_0x5de321(0x105)](String(_0x4b29bd)[_0x5de321(0x114)]()[_0x5de321(0xf1)](),_0x346856),_0x21e55a[_0x5de321(0x105)](_0x29b862[_0x5de321(0xe6)](String,_0x4b29bd)['trim'](),_0x346856));}),this[_0x1202e6(0xec)][_0x1202e6(0x105)](_0x1b1393,_0x21e55a),logger[_0x1202e6(0xf4)]({'event':_0x1202e6(0x10f),'table':_0xf1e04c,'column':_0x2fde10,'count':_0x4b0ceb['length']},_0x1202e6(0xeb)+_0xf1e04c),_0x21e55a;}catch(_0xad56bc){logger[_0x1202e6(0xee)]({'event':_0x1202e6(0x100),'table':_0xf1e04c,'error':_0xad56bc[_0x1202e6(0x101)]},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0xf1e04c);throw _0xad56bc;}}['resolveLookupValue'](_0x38dcd4,_0x17da52){const _0x548946=a0_0x45ca78,_0x3f23fb={'WqugY':function(_0x266273,_0x4a0b2d){return _0x266273===_0x4a0b2d;},'uWMvN':function(_0x42d506,_0x2479f1){return _0x42d506(_0x2479f1);}};if(_0x3f23fb[_0x548946(0xff)](_0x38dcd4,null)||_0x38dcd4===undefined||_0x38dcd4==='')return null;const _0x7a9fc5=_0x3f23fb['uWMvN'](String,_0x38dcd4)['trim']();if(_0x17da52['has'](_0x7a9fc5))return _0x17da52['get'](_0x7a9fc5);const _0x33107b=_0x7a9fc5[_0x548946(0x114)]();if(_0x17da52['has'](_0x33107b))return _0x17da52[_0x548946(0xfa)](_0x33107b);return null;}async['processLookupFields'](_0x7c18da,_0x49b89f){const _0x90ebae=a0_0x45ca78,_0x203b62={'osxdv':function(_0x3130d7,_0x2a9868){return _0x3130d7===_0x2a9868;},'xdyGD':function(_0x498c76,_0x2f7d17){return _0x498c76===_0x2f7d17;}};if(!_0x49b89f||Object[_0x90ebae(0x10e)](_0x49b89f)['length']===0x0)return{'processedRows':_0x7c18da,'errors':[]};const _0x4dd392=[],_0x229df8=new Map();for(const [_0x161ab9,_0xe45288]of Object[_0x90ebae(0xf7)](_0x49b89f)){const {lookupTable:_0x418d7f,lookupColumn:_0xf10445,lookupIdColumn:_0x3ed4ce}=_0xe45288,_0x1a5043=_0x418d7f+':'+_0xf10445+':'+_0x3ed4ce;if(!_0x229df8[_0x90ebae(0x103)](_0x1a5043)){const _0x53d3a9=await this['loadLookupTable'](_0x418d7f,_0xf10445,_0x3ed4ce);_0x229df8['set'](_0x1a5043,_0x53d3a9);}}const _0x53cbee=_0x7c18da['map']((_0x268839,_0xa068f7)=>{const _0x508331=_0x90ebae,_0x48385e={..._0x268839};for(const [_0x1c2a0e,_0x49b473]of Object[_0x508331(0xf7)](_0x49b89f)){const {lookupTable:_0x46eb09,lookupColumn:_0x542a93,lookupIdColumn:_0x15fb61,targetField:_0x390a46,required:_0x40b48e}=_0x49b473,_0x2fe312=_0x46eb09+':'+_0x542a93+':'+_0x15fb61,_0x47fbeb=_0x229df8['get'](_0x2fe312),_0x3910fb=_0x268839[_0x1c2a0e];if((_0x203b62[_0x508331(0xf2)](_0x3910fb,null)||_0x203b62['xdyGD'](_0x3910fb,undefined)||_0x203b62[_0x508331(0xf2)](_0x3910fb,''))&&!_0x40b48e){_0x48385e[_0x390a46]=null;continue;}const _0xba3a6c=this[_0x508331(0xed)](_0x3910fb,_0x47fbeb);_0xba3a6c!==null?_0x48385e[_0x390a46]=_0xba3a6c:(_0x40b48e&&_0x4dd392[_0x508331(0xfe)]({'rowIndex':_0xa068f7,'field':_0x1c2a0e,'value':_0x3910fb,'targetField':_0x390a46,'lookupTable':_0x46eb09,'message':_0x508331(0x102)+_0x3910fb+'\x22\x20not\x20found\x20in\x20'+_0x46eb09}),_0x48385e[_0x390a46]=null);}return _0x48385e;});return logger['info']({'event':'lookup_fields_processed','totalRows':_0x7c18da[_0x90ebae(0xf0)],'errorCount':_0x4dd392[_0x90ebae(0xf0)],'lookupFieldCount':Object[_0x90ebae(0x10e)](_0x49b89f)[_0x90ebae(0xf0)]},_0x90ebae(0xfd)),{'processedRows':_0x53cbee,'errors':_0x4dd392};}['getDistinctValues'](_0x338e62,_0x12dc41){const _0x5a8903=a0_0x45ca78,_0x45d03b={'LRbSE':function(_0x56d2d9,_0x5345f4){return _0x56d2d9!==_0x5345f4;},'LkfRW':function(_0x145654,_0x11a61a){return _0x145654!==_0x11a61a;},'YpxhK':function(_0x22d3c2,_0x2e7f9b){return _0x22d3c2(_0x2e7f9b);}},_0x1b9292=new Set();return _0x338e62['forEach'](_0x458070=>{const _0x4a87d7=a0_0x2e95,_0x461d38=_0x458070[_0x12dc41];_0x461d38!==null&&_0x45d03b[_0x4a87d7(0x115)](_0x461d38,undefined)&&_0x45d03b[_0x4a87d7(0x107)](_0x461d38,'')&&_0x1b9292['add'](_0x45d03b['YpxhK'](String,_0x461d38)[_0x4a87d7(0xf1)]());}),Array[_0x5a8903(0xea)](_0x1b9292);}async['validateLookupValues'](_0x56b38a,_0xbb7b67){const _0x90c50e=a0_0x45ca78,_0x9b5686={'eOBDB':function(_0x21cd0e,_0x5a18a0){return _0x21cd0e!==_0x5a18a0;},'qOXtB':function(_0x576193,_0x1dfa32){return _0x576193===_0x1dfa32;}};if(!_0xbb7b67||Object['keys'](_0xbb7b67)['length']===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x1a71a4=[],_0x1a0be8={};for(const [_0x4ea4e0,_0x586ef6]of Object['entries'](_0xbb7b67)){const {lookupTable:_0x4f360c,lookupColumn:_0x582731,lookupIdColumn:_0x3a9f05,required:_0x4e18d5}=_0x586ef6,_0x514ac7=this['getDistinctValues'](_0x56b38a,_0x4ea4e0),_0x22609b=await this['loadLookupTable'](_0x4f360c,_0x582731,_0x3a9f05),_0x163a4d=[],_0x466b4c=[];_0x514ac7['forEach'](_0x2107ff=>{const _0x339183=a0_0x2e95,_0x4c8885=this[_0x339183(0xed)](_0x2107ff,_0x22609b);_0x9b5686[_0x339183(0xf5)](_0x4c8885,null)?_0x466b4c['push'](_0x2107ff):_0x163a4d[_0x339183(0xfe)](_0x2107ff);});if(_0x163a4d[_0x90c50e(0xf0)]>0x0&&_0x4e18d5){_0x1a71a4[_0x90c50e(0xfe)]({'field':_0x4ea4e0,'lookupTable':_0x4f360c,'invalidValues':_0x163a4d,'message':_0x163a4d[_0x90c50e(0xf0)]+_0x90c50e(0xe7)+_0x4f360c});const _0x382b4e=[];_0x22609b[_0x90c50e(0x10b)]((_0x507083,_0x457921)=>{const _0x5b9b95=_0x90c50e;if(_0x457921===_0x457921[_0x5b9b95(0x114)]())return;_0x382b4e['push'](_0x457921);}),_0x1a0be8[_0x4ea4e0]={'invalidValues':_0x163a4d,'availableValues':_0x382b4e[_0x90c50e(0x116)](0x0,0x32)};}}return{'valid':_0x9b5686[_0x90c50e(0x10d)](_0x1a71a4[_0x90c50e(0xf0)],0x0),'errors':_0x1a71a4,'suggestions':_0x1a0be8};}}module['exports']=new LookupResolver();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x4be2c9=a0_0x252b;(function(_0x17fe3e,_0x4f3696){const _0xc6f779=a0_0x252b,_0xa25c9f=_0x17fe3e();while(!![]){try{const _0x1f8ec0=parseInt(_0xc6f779(0x129))/0x1*(parseInt(_0xc6f779(0x12e))/0x2)+parseInt(_0xc6f779(0x120))/0x3*(-parseInt(_0xc6f779(0x11f))/0x4)+parseInt(_0xc6f779(0x122))/0x5*(-parseInt(_0xc6f779(0x136))/0x6)+-parseInt(_0xc6f779(0x13d))/0x7+-parseInt(_0xc6f779(0x133))/0x8*(-parseInt(_0xc6f779(0x13c))/0x9)+-parseInt(_0xc6f779(0x139))/0xa+parseInt(_0xc6f779(0x12f))/0xb*(parseInt(_0xc6f779(0x135))/0xc);if(_0x1f8ec0===_0x4f3696)break;else _0xa25c9f['push'](_0xa25c9f['shift']());}catch(_0x4216bd){_0xa25c9f['push'](_0xa25c9f['shift']());}}}(a0_0xce40,0xaefdd));function a0_0xce40(){const _0x43f30f=['mJiWofbcweTTrq','mty1uxHXv3zX','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','DgfIBgvoyw1L','BwvZC2fNzq','ntq0odHXvhbuAeS','ywn0Aw9U','ntq3odm2CK5Ky2P0','odrIChnfCfe','Cgf5Bg9HzerPCG','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','ode3ndm2mgfnvwfNCW','C25ou2i','Bg9HzfbHEwXVywq','mtqXm1zHvKT4vW','mZu1ody1m0jRs1HMwq','Bg9HzfbHEwXVywrcEu5HBwu','CMvWBgfJzq','lMPZB24','z0ztzMu','Cgf5Bg9Hzf9SB2fKzwq','y2XLyxi','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','C2v0','r0jiEeS','mJHnELfwDgW','ndK5nZrJsKniz2i','zMLLBgroyw1L','mteXnJiWwNbhCNzu','v2DcBMO','lwv4Cg9YDa','ChjVBwLZzxm','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','y2fJAgu','Cu1xC0y','nJuWsuLzB0L4','CgfYC2u','AM9PBG','Cgf0Aa','z2v0'];a0_0xce40=function(){return _0x43f30f;};return a0_0xce40();}function a0_0x252b(_0x351189,_0x223499){_0x351189=_0x351189-0x119;const _0xce4064=a0_0xce40();let _0x252bac=_0xce4064[_0x351189];if(a0_0x252b['mLLYtJ']===undefined){var _0x15bd4b=function(_0x41854b){const _0x8edb41='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2ff1a2='',_0x3237ff='';for(let _0x4fe94f=0x0,_0x5639da,_0x561bc3,_0xb07be1=0x0;_0x561bc3=_0x41854b['charAt'](_0xb07be1++);~_0x561bc3&&(_0x5639da=_0x4fe94f%0x4?_0x5639da*0x40+_0x561bc3:_0x561bc3,_0x4fe94f++%0x4)?_0x2ff1a2+=String['fromCharCode'](0xff&_0x5639da>>(-0x2*_0x4fe94f&0x6)):0x0){_0x561bc3=_0x8edb41['indexOf'](_0x561bc3);}for(let _0x151439=0x0,_0x40ec56=_0x2ff1a2['length'];_0x151439<_0x40ec56;_0x151439++){_0x3237ff+='%'+('00'+_0x2ff1a2['charCodeAt'](_0x151439)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3237ff);};a0_0x252b['fSClWc']=_0x15bd4b,a0_0x252b['FnbAEB']={},a0_0x252b['mLLYtJ']=!![];}const _0x5e3d35=_0xce4064[0x0],_0x1d4790=_0x351189+_0x5e3d35,_0x4e7585=a0_0x252b['FnbAEB'][_0x1d4790];return!_0x4e7585?(_0x252bac=a0_0x252b['fSClWc'](_0x252bac),a0_0x252b['FnbAEB'][_0x1d4790]=_0x252bac):_0x252bac=_0x4e7585,_0x252bac;}const fs=require('fs')[a0_0x4be2c9(0x125)],path=require(a0_0x4be2c9(0x12c)),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x326ac7=a0_0x4be2c9;this[_0x326ac7(0x137)]=path[_0x326ac7(0x12b)](__dirname,'../../payload'),this[_0x326ac7(0x127)]=new Map();}async[a0_0x4be2c9(0x13b)](_0xbb359b,_0xda1da3){const _0x5dce57=a0_0x4be2c9,_0x510b73={'gFSfe':'utf8','qMWsF':'payload_loaded','tjDRp':_0x5dce57(0x11c)},_0x299279=_0xbb359b+':'+_0xda1da3;if(this['cache']['has'](_0x299279))return this['cache'][_0x5dce57(0x12d)](_0x299279);const _0x29d5a1=path[_0x5dce57(0x12b)](this[_0x5dce57(0x137)],_0xbb359b+'_'+_0xda1da3+_0x5dce57(0x140));try{const _0x273e42=await fs['readFile'](_0x29d5a1,_0x510b73[_0x5dce57(0x119)]),_0x5e757e=JSON[_0x5dce57(0x12a)](_0x273e42);return this['cache']['set'](_0x299279,_0x5e757e),logger['debug']({'event':_0x510b73[_0x5dce57(0x128)],'project':_0xbb359b,'resource':_0xda1da3},'Payload\x20loaded\x20successfully'),_0x5e757e;}catch(_0x291302){logger['error']({'event':_0x5dce57(0x130),'project':_0xbb359b,'resource':_0xda1da3,'error':_0x291302['message']},_0x510b73['tjDRp']);throw new Error('Payload\x20not\x20found:\x20'+_0xbb359b+'_'+_0xda1da3);}}async[a0_0x4be2c9(0x13e)](_0x15cbbf){const _0x4016d2=a0_0x4be2c9,_0x56d445={'snNSb':_0x4016d2(0x11a),'GBHxK':'Failed\x20to\x20load\x20payload\x20by\x20name'},_0x575122='payload:'+_0x15cbbf;if(this[_0x4016d2(0x127)]['has'](_0x575122))return this[_0x4016d2(0x127)]['get'](_0x575122);const _0x3c6cb4=path['join'](this[_0x4016d2(0x137)],_0x15cbbf+'.json');try{const _0x57a703=await fs['readFile'](_0x3c6cb4,'utf8'),_0x3fd0ce=JSON[_0x4016d2(0x12a)](_0x57a703);return this[_0x4016d2(0x127)][_0x4016d2(0x11d)](_0x575122,_0x3fd0ce),logger['debug']({'event':_0x56d445[_0x4016d2(0x13a)],'payloadName':_0x15cbbf},'Payload\x20loaded\x20successfully\x20by\x20name'),_0x3fd0ce;}catch(_0x1ce933){logger['error']({'event':'payload_load_error','payloadName':_0x15cbbf,'error':_0x1ce933[_0x4016d2(0x132)]},_0x56d445[_0x4016d2(0x11e)]);throw new Error('Payload\x20not\x20found:\x20'+_0x15cbbf);}}['isActionEnabled'](_0x3b4aa6,_0x37c190){const _0x182cce=a0_0x4be2c9,_0x1d4719={'WgBnj':function(_0x5a30e1,_0x5bdab5){return _0x5a30e1===_0x5bdab5;}};return _0x3b4aa6[_0x182cce(0x134)]&&_0x1d4719[_0x182cce(0x123)](_0x3b4aa6['action'][_0x37c190],!![]);}['getExportConfig'](_0x39a81d){const _0x3cae43=a0_0x4be2c9;return{'columns':_0x39a81d[_0x3cae43(0x121)]||[],'filename':_0x39a81d[_0x3cae43(0x131)][_0x3cae43(0x13f)]('.','-')+_0x3cae43(0x124),'datatablesQuery':_0x39a81d['datatablesQuery']||null,'columnFormats':_0x39a81d['columnFormats']||null,'fieldLabels':_0x39a81d['fieldLabels']||null};}['clearCache'](){const _0x241283=a0_0x4be2c9,_0x3bcb6e={'cVawm':_0x241283(0x126)};this[_0x241283(0x127)][_0x241283(0x11b)](),logger['info']({'event':_0x241283(0x138)},_0x3bcb6e['cVawm']);}}module['exports']=new PayloadLoader();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var a0_0x126197=a0_0x554e;(function(_0x1d08b9,_0x15bde5){var _0x39b10b=a0_0x554e,_0x45b5b8=_0x1d08b9();while(!![]){try{var _0x319451=parseInt(_0x39b10b(0x154))/0x1+parseInt(_0x39b10b(0x14f))/0x2*(-parseInt(_0x39b10b(0x157))/0x3)+parseInt(_0x39b10b(0x158))/0x4*(parseInt(_0x39b10b(0x15b))/0x5)+-parseInt(_0x39b10b(0x150))/0x6+parseInt(_0x39b10b(0x152))/0x7*(-parseInt(_0x39b10b(0x151))/0x8)+parseInt(_0x39b10b(0x155))/0x9*(-parseInt(_0x39b10b(0x153))/0xa)+parseInt(_0x39b10b(0x159))/0xb;if(_0x319451===_0x15bde5)break;else _0x45b5b8['push'](_0x45b5b8['shift']());}catch(_0x11f717){_0x45b5b8['push'](_0x45b5b8['shift']());}}}(a0_0x1cfe,0x34b82));function a0_0x1cfe(){var _0x1d1089=['mtGYmfnbCu5SAa','nJG5otb3wMfxzeq','ndiWotq2C1vwvMf2','mZi0v1fLshDp','zxHWB3j0CW','mJm1otmYy2jZuMrP','mZiYntmYy0TqENz5','nJy1ntu1meXPzfrMsq','Dg9ju09tDhjPBMC','mtbywMTwywu','nKnrEvPmCG','mta3odi0ofLRsuzxra','otq1nMHOsxrLyW'];a0_0x1cfe=function(){return _0x1d1089;};return a0_0x1cfe();}function createResponse(_0x11ce5e,_0x12a681,_0x30c7ac=null){var _0x2f19e1=a0_0x554e;return{'success':!![],'statusCode':_0x11ce5e,'message':_0x12a681,'data':_0x30c7ac,'timestamp':new Date()[_0x2f19e1(0x15a)]()};}function createError(_0x3ade49,_0x1fc9d9,_0x495412=null){var _0x2ee5cf=a0_0x554e;return{'success':![],'statusCode':_0x3ade49,'message':_0x1fc9d9,'data':_0x495412,'timestamp':new Date()[_0x2ee5cf(0x15a)]()};}function createValidationError(_0x41264a,_0x6a622b){var _0x171f6f=a0_0x554e;return{'success':![],'statusCode':0x190,'message':_0x41264a,'data':{'errors':_0x6a622b},'timestamp':new Date()[_0x171f6f(0x15a)]()};}function a0_0x554e(_0x3b7b39,_0xfcea2c){_0x3b7b39=_0x3b7b39-0x14f;var _0x1cfe9d=a0_0x1cfe();var _0x554e8e=_0x1cfe9d[_0x3b7b39];if(a0_0x554e['ClEwAL']===undefined){var _0x51a8d4=function(_0x15768){var _0x4cbdf3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x1bb815='',_0x1523c2='';for(var _0x387052=0x0,_0x1f2c15,_0x3ce662,_0x5ac051=0x0;_0x3ce662=_0x15768['charAt'](_0x5ac051++);~_0x3ce662&&(_0x1f2c15=_0x387052%0x4?_0x1f2c15*0x40+_0x3ce662:_0x3ce662,_0x387052++%0x4)?_0x1bb815+=String['fromCharCode'](0xff&_0x1f2c15>>(-0x2*_0x387052&0x6)):0x0){_0x3ce662=_0x4cbdf3['indexOf'](_0x3ce662);}for(var _0x2c959e=0x0,_0x5d2ae1=_0x1bb815['length'];_0x2c959e<_0x5d2ae1;_0x2c959e++){_0x1523c2+='%'+('00'+_0x1bb815['charCodeAt'](_0x2c959e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1523c2);};a0_0x554e['XywOov']=_0x51a8d4,a0_0x554e['ZyZUGR']={},a0_0x554e['ClEwAL']=!![];}var _0x32f9a0=_0x1cfe9d[0x0],_0x5744ca=_0x3b7b39+_0x32f9a0,_0x2ec401=a0_0x554e['ZyZUGR'][_0x5744ca];return!_0x2ec401?(_0x554e8e=a0_0x554e['XywOov'](_0x554e8e),a0_0x554e['ZyZUGR'][_0x5744ca]=_0x554e8e):_0x554e8e=_0x2ec401,_0x554e8e;}module[a0_0x126197(0x156)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
|
package/src/utils/rabbitmq.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x2e822a=a0_0x1a11;(function(_0x5b7ac5,_0x34034b){const _0x432377=a0_0x1a11,_0x13e41c=_0x5b7ac5();while(!![]){try{const _0x2ef07f=parseInt(_0x432377(0xc7))/0x1+-parseInt(_0x432377(0xda))/0x2+parseInt(_0x432377(0xd9))/0x3*(parseInt(_0x432377(0xdc))/0x4)+parseInt(_0x432377(0xc4))/0x5+parseInt(_0x432377(0xac))/0x6+-parseInt(_0x432377(0xd1))/0x7+parseInt(_0x432377(0xbd))/0x8*(-parseInt(_0x432377(0xcd))/0x9);if(_0x2ef07f===_0x34034b)break;else _0x13e41c['push'](_0x13e41c['shift']());}catch(_0x3e6ac2){_0x13e41c['push'](_0x13e41c['shift']());}}}(a0_0x2e64,0x98b21),require(a0_0x2e822a(0xdd))['config']());const amqp=require('amqplib'),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process[a0_0x2e822a(0xd3)]['RABBITMQ_URL'],EXCHANGE=process[a0_0x2e822a(0xd3)][a0_0x2e822a(0xb8)],ROUTING_KEY=process[a0_0x2e822a(0xd3)]['RABBITMQ_ROUTING_KEY'],QUEUE=process['env'][a0_0x2e822a(0xc0)];async function createConnection(){const _0xdf4d41=a0_0x2e822a,_0x174c35={'dLxMg':function(_0x44e248,_0x4c1538){return _0x44e248(_0x4c1538);}};try{const _0x13335e=await amqp[_0xdf4d41(0xc2)](RABBITMQ_URL);return console['log']('['+_0x174c35['dLxMg'](formatDate,new Date())+_0xdf4d41(0xbe)),_0x13335e;}catch(_0x23223c){console[_0xdf4d41(0xc9)]('['+_0x174c35[_0xdf4d41(0xab)](formatDate,new Date())+_0xdf4d41(0xbb)+_0x23223c['message']);throw _0x23223c;}}function a0_0x2e64(){const _0x29eb59=['y2XVC2u','EMXTzNe','z1HNAxi','Bg9N','mZK5m2H3zxDPsq','mJq1mdqYofLVsK52wG','y3jLyxrLzc9YzwfKEq','mJC3mNjOy21IsG','zg90zw52','sfrRzue','D2vfy20','yMLUzff1zxvL','zeX4twC','nJu1ndGXnfHVBM9jCG','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','Aw5LCxvPDMfSzw50igfYzW','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','y3jLyxrLq2HHBM5LBa','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','yxnZzxj0uxvLDwu','BwvZC2fNzq','rvzKv2O','Aw5JBhvKzxm','ihDPDgGGreXy','uKfcqKLutvfFrvHdsefor0u','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG','yvvTruG','xsbgywLSzwqGDg8Gy29UBMvJDcb0BYbsywjIAxrnutOG','xsbfuLjpuJOGuxvLDwuG','ohLxqvDduW','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r','xsbrDwv1zsa','uKfcqKLutvfFuvvfvuu','xsbsywjIAxrnusbJB25Uzwn0Aw9UignSB3nLza','y29UBMvJDa','ignYzwf0zwqVCMvHzhK','mZiYotaZmg5vvMjcqG','CMv0CNKTzxHJAgfUz2u','xsbfEgnOyw5Nzsa','ndeZmtmWqNrpsMrW','rffNu1a','zxjYB3i','BKDfvgS','zxHPDa','zgLYzwn0','odGXotm2mw5rswv4Dq','rgP4uuu','x3jLDhj5','uxvLDwuG','mtCWmJqYohrswvrTza','yxnZzxj0rxHJAgfUz2u','zw52','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5'];a0_0x2e64=function(){return _0x29eb59;};return a0_0x2e64();}async function createChannel(_0x5a7cfd){const _0x537fbe=a0_0x2e822a,_0xeba9b0={'nGETk':function(_0x387883,_0x4c258e){return _0x387883(_0x4c258e);}};try{const _0x570531=await _0x5a7cfd[_0x537fbe(0xb1)]();return console[_0x537fbe(0xd8)]('['+formatDate(new Date())+_0x537fbe(0xd4)),_0x570531;}catch(_0x50fe89){console[_0x537fbe(0xc9)]('['+_0xeba9b0[_0x537fbe(0xca)](formatDate,new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x50fe89['message']);throw _0x50fe89;}}function a0_0x1a11(_0x59ddc4,_0xd12d8a){_0x59ddc4=_0x59ddc4-0xab;const _0x2e644f=a0_0x2e64();let _0x1a1129=_0x2e644f[_0x59ddc4];if(a0_0x1a11['qMJhmf']===undefined){var _0x29c3ec=function(_0x3680a6){const _0x31185d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x190cc3='',_0x393d12='';for(let _0x218375=0x0,_0x4815a0,_0x13e08e,_0x5e97f5=0x0;_0x13e08e=_0x3680a6['charAt'](_0x5e97f5++);~_0x13e08e&&(_0x4815a0=_0x218375%0x4?_0x4815a0*0x40+_0x13e08e:_0x13e08e,_0x218375++%0x4)?_0x190cc3+=String['fromCharCode'](0xff&_0x4815a0>>(-0x2*_0x218375&0x6)):0x0){_0x13e08e=_0x31185d['indexOf'](_0x13e08e);}for(let _0x57672d=0x0,_0x2078a2=_0x190cc3['length'];_0x57672d<_0x2078a2;_0x57672d++){_0x393d12+='%'+('00'+_0x190cc3['charCodeAt'](_0x57672d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x393d12);};a0_0x1a11['AbQNto']=_0x29c3ec,a0_0x1a11['xXoSEJ']={},a0_0x1a11['qMJhmf']=!![];}const _0x1b7eed=_0x2e644f[0x0],_0x413dc5=_0x59ddc4+_0x1b7eed,_0x1ab91b=a0_0x1a11['xXoSEJ'][_0x413dc5];return!_0x1ab91b?(_0x1a1129=a0_0x1a11['AbQNto'](_0x1a1129),a0_0x1a11['xXoSEJ'][_0x413dc5]=_0x1a1129):_0x1a1129=_0x1ab91b,_0x1a1129;}async function setupInfrastructure(_0x335973){const _0x15a2eb=a0_0x2e822a,_0x3be94b={'aUmEH':_0x15a2eb(0xc5),'EVdWj':function(_0x180644,_0xd64421){return _0x180644(_0xd64421);},'gXgir':_0x15a2eb(0xcc),'zlmfq':function(_0x39f047,_0x2c2d9b){return _0x39f047(_0x2c2d9b);},'DQgSP':function(_0x37f870,_0x2528a2){return _0x37f870(_0x2528a2);},'JLFXs':function(_0x4f69c7,_0x517e06){return _0x4f69c7(_0x517e06);},'HTkeA':function(_0x40b7d7,_0x66dfc8){return _0x40b7d7===_0x66dfc8;},'DIsDk':_0x15a2eb(0xdb),'uyVuX':'found','IvGHQ':function(_0x39cb94,_0x380c35){return _0x39cb94(_0x380c35);},'cEnyN':_0x15a2eb(0xaf),'tXKSF':'x-dead-letter-routing-key','DjxQE':function(_0x777d67,_0x56f70f){return _0x777d67(_0x56f70f);},'CAboI':function(_0xfb76a1,_0x139de3){return _0xfb76a1(_0x139de3);},'XGfGJ':function(_0x38ca38,_0x2c1b15){return _0x38ca38(_0x2c1b15);}};try{await _0x335973['assertExchange'](_0x3be94b['aUmEH'],_0x15a2eb(0xcc),{'durable':!![],'autoDelete':![]}),console['log']('['+_0x3be94b[_0x15a2eb(0xb5)](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x338afd){console['error']('['+formatDate(new Date())+_0x15a2eb(0xae),_0x338afd['message']);throw _0x338afd;}try{await _0x335973[_0x15a2eb(0xd2)](EXCHANGE,_0x3be94b[_0x15a2eb(0xd7)],{'durable':!![],'autoDelete':![]}),console[_0x15a2eb(0xd8)]('['+_0x3be94b[_0x15a2eb(0xd6)](formatDate,new Date())+_0x15a2eb(0xc6)+EXCHANGE+'\x20created/ready');}catch(_0x1d5bf5){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x1d5bf5['message']);throw _0x1d5bf5;}const _0x53cec5=ROUTING_KEY+_0x15a2eb(0xcf);try{const _0x2ebfc1={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x335973[_0x15a2eb(0xb3)](_0x53cec5,_0x2ebfc1),console['log']('['+_0x3be94b[_0x15a2eb(0xc8)](formatDate,new Date())+']\x20Retry\x20queue\x20'+_0x53cec5+_0x15a2eb(0xc3)),await _0x335973[_0x15a2eb(0xe0)](_0x53cec5,_0x3be94b[_0x15a2eb(0xba)],ROUTING_KEY),console[_0x15a2eb(0xd8)]('['+_0x3be94b['JLFXs'](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+'\x20created');}catch(_0x116115){console['error']('['+_0x3be94b['EVdWj'](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x116115['message']);throw _0x116115;}try{const _0xc6de10={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x3be94b['aUmEH'],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x550206=await _0x335973[_0x15a2eb(0xb3)](QUEUE,_0xc6de10);console['log']('['+formatDate(new Date())+_0x15a2eb(0xbf)+QUEUE+'\x20'+(_0x3be94b[_0x15a2eb(0xde)](_0x550206['queue'],QUEUE)?_0x3be94b['DIsDk']:_0x3be94b['uyVuX'])+_0x15a2eb(0xb7)),await _0x335973['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+_0x3be94b['IvGHQ'](formatDate,new Date())+']\x20Binding\x20'+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0x43c80e){if(_0x43c80e['message']['includes'](_0x3be94b['cEnyN'])&&_0x43c80e['message'][_0x15a2eb(0xb6)](_0x3be94b['tXKSF']))console[_0x15a2eb(0xc9)]('\x0a['+_0x3be94b[_0x15a2eb(0xce)](formatDate,new Date())+_0x15a2eb(0xbc)+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x15a2eb(0xc9)](_0x15a2eb(0xd0)+QUEUE+_0x15a2eb(0xad)),console['error'](_0x15a2eb(0xb9)),process['exit'](0x1);else{console['error']('['+_0x3be94b['CAboI'](formatDate,new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x43c80e['message']);throw _0x43c80e;}}}catch(_0x1b4da7){if(!_0x1b4da7[_0x15a2eb(0xb4)]['includes']('inequivalent\x20arg')){console[_0x15a2eb(0xc9)]('['+_0x3be94b['XGfGJ'](formatDate,new Date())+_0x15a2eb(0xb2),_0x1b4da7['message']);throw _0x1b4da7;}process[_0x15a2eb(0xcb)](0x1);}}async function closeConnection(_0x13745a){const _0x5c5ad5=a0_0x2e822a,_0x19144e={'weEcm':function(_0x16a192,_0x5efc7e){return _0x16a192(_0x5efc7e);}};if(_0x13745a)try{await _0x13745a[_0x5c5ad5(0xd5)](),console['log']('['+_0x19144e[_0x5c5ad5(0xdf)](formatDate,new Date())+_0x5c5ad5(0xc1));}catch(_0x508a15){console[_0x5c5ad5(0xc9)]('['+formatDate(new Date())+_0x5c5ad5(0xb0)+_0x508a15[_0x5c5ad5(0xb4)]);}}module['exports']={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x2a1ea4=a0_0x519a;function a0_0x5b3f(){const _0x17b29b=['BwvZC2fNzq','mtq2odmYoe96y2D1tW','z2v0q2XPzw50','zgLZy29UBMvJDa','mJq4mdKWmeTsteLoDW','uMvKAxmGueLorYb0Aw1LB3v0','uKvesvnFse9tva','y29UBMvJDa','y2XPzw50','CxvPDa','wwTsq28','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','mZGYnty4DujWEg1s','lI9SB2DNzxi','zxHWB3j0CW','nJy0mZaZmKDMCxrAuq','AxndB25Uzwn0zwq','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','Aw5MBW','nZe4nZi0rxP3rvD6','CMvKAxnFzxjYB3i','CMfJzq','zxjYB3i','zw52','mtKYodK3oxnfvxvPwa','Bg9JywXOB3n0','nZbzB0nYrhG','nJiZu1zuwhP4','CMvKAxnFy29UBMvJDgvK','CMvKAxnFzgLZy29UBMvJDgvK','nLz2vevczG','zhP4DKu','sgXky3q','mJi4odHpyLrqs0S'];a0_0x5b3f=function(){return _0x17b29b;};return a0_0x5b3f();}(function(_0x3beb13,_0x170e2b){const _0x103d97=a0_0x519a,_0x5bb12a=_0x3beb13();while(!![]){try{const _0x214f6d=parseInt(_0x103d97(0x1a8))/0x1+parseInt(_0x103d97(0x1af))/0x2*(parseInt(_0x103d97(0x198))/0x3)+-parseInt(_0x103d97(0x19d))/0x4+parseInt(_0x103d97(0x1a0))/0x5+parseInt(_0x103d97(0x1ab))/0x6+-parseInt(_0x103d97(0x195))/0x7*(parseInt(_0x103d97(0x19b))/0x8)+parseInt(_0x103d97(0x1b4))/0x9*(-parseInt(_0x103d97(0x194))/0xa);if(_0x214f6d===_0x170e2b)break;else _0x5bb12a['push'](_0x5bb12a['shift']());}catch(_0x19a384){_0x5bb12a['push'](_0x5bb12a['shift']());}}}(a0_0x5b3f,0x8e3d8));const Redis=require('ioredis'),{logger}=require(a0_0x2a1ea4(0x1a9));class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}[a0_0x2a1ea4(0x1a3)](){const _0x261756=a0_0x2a1ea4,_0x22e4fb={'ppqgn':function(_0x171737,_0xb30d19){return _0x171737*_0xb30d19;},'dzxvE':_0x261756(0x196),'HlJct':_0x261756(0x1a7),'wWSUd':function(_0x398b09,_0x4da266,_0x24df65){return _0x398b09(_0x4da266,_0x24df65);},'YkRCo':function(_0x1a1eb1,_0x2b5718,_0x4d4aab){return _0x1a1eb1(_0x2b5718,_0x4d4aab);},'UABzb':'close'};if(this['client'])return this[_0x261756(0x1a4)];try{return this['client']=new Redis({'host':process[_0x261756(0x1b3)][_0x261756(0x1a2)]||_0x261756(0x1b5),'port':_0x22e4fb['wWSUd'](parseInt,process[_0x261756(0x1b3)]['REDIS_PORT'],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':_0x22e4fb[_0x261756(0x1a6)](parseInt,process['env']['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x5ef635){const _0x31b065=Math['min'](_0x22e4fb['ppqgn'](_0x5ef635,0x32),0x7d0);return _0x31b065;}}),this['client']['on'](_0x261756(0x1a3),()=>{const _0x4ef5f0=_0x261756;this['isConnected']=!![],logger[_0x4ef5f0(0x1ae)]({'event':_0x22e4fb[_0x4ef5f0(0x199)]},'Redis\x20connected\x20successfully');}),this['client']['on'](_0x261756(0x1b2),_0x31a23c=>{const _0x48d248=_0x261756;this['isConnected']=![],logger[_0x48d248(0x1b2)]({'event':_0x48d248(0x1b0),'error':_0x31a23c[_0x48d248(0x19c)]},_0x48d248(0x1ad)+_0x31a23c[_0x48d248(0x19c)]);}),this['client']['on'](_0x22e4fb['UABzb'],()=>{const _0x55aa87=_0x261756;this['isConnected']=![],logger['warn']({'event':_0x55aa87(0x197)},_0x22e4fb[_0x55aa87(0x19a)]);}),this[_0x261756(0x1a4)];}catch(_0x238743){logger[_0x261756(0x1b2)]({'event':'redis_init_error','error':_0x238743['message']},'Failed\x20to\x20initialize\x20Redis');throw _0x238743;}}[a0_0x2a1ea4(0x19e)](){return!this['client']&&this['connect'](),this['client'];}async['ping'](_0x228a9f=0x1388){const _0x4cf6e2=a0_0x2a1ea4,_0xad50e6={'hwqpC':function(_0x16cdb6,_0x16d63e){return _0x16cdb6===_0x16d63e;}};try{const _0x3192af=this[_0x4cf6e2(0x19e)](),_0x51a4ba=await Promise[_0x4cf6e2(0x1b1)]([_0x3192af['ping'](),new Promise((_0x27d0d3,_0x615202)=>setTimeout(()=>_0x615202(new Error(_0x4cf6e2(0x1a1))),_0x228a9f))]);return _0xad50e6['hwqpC'](_0x51a4ba,'PONG');}catch(_0x473fd5){return![];}}async[a0_0x2a1ea4(0x19f)](){const _0x51000b=a0_0x2a1ea4;this['client']&&(await this['client'][_0x51000b(0x1a5)](),this['client']=null,this['isConnected']=![]);}['forceDisconnect'](){const _0x7e1ef0=a0_0x2a1ea4;this['client']&&(this[_0x7e1ef0(0x1a4)][_0x7e1ef0(0x19f)](),this['client']=null,this[_0x7e1ef0(0x1ac)]=![]);}}function a0_0x519a(_0x567d6e,_0x53a6d5){_0x567d6e=_0x567d6e-0x194;const _0x5b3f93=a0_0x5b3f();let _0x519a2e=_0x5b3f93[_0x567d6e];if(a0_0x519a['CSktoH']===undefined){var _0x35ba12=function(_0x1cf531){const _0x1476ff='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x6c8c0f='',_0x498318='';for(let _0x3b7d07=0x0,_0x11ed20,_0x417612,_0x3fae9b=0x0;_0x417612=_0x1cf531['charAt'](_0x3fae9b++);~_0x417612&&(_0x11ed20=_0x3b7d07%0x4?_0x11ed20*0x40+_0x417612:_0x417612,_0x3b7d07++%0x4)?_0x6c8c0f+=String['fromCharCode'](0xff&_0x11ed20>>(-0x2*_0x3b7d07&0x6)):0x0){_0x417612=_0x1476ff['indexOf'](_0x417612);}for(let _0x398813=0x0,_0x4f14f2=_0x6c8c0f['length'];_0x398813<_0x4f14f2;_0x398813++){_0x498318+='%'+('00'+_0x6c8c0f['charCodeAt'](_0x398813)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x498318);};a0_0x519a['AyHlOF']=_0x35ba12,a0_0x519a['UsOfnC']={},a0_0x519a['CSktoH']=!![];}const _0x7258af=_0x5b3f93[0x0],_0x596bba=_0x567d6e+_0x7258af,_0x320ad8=a0_0x519a['UsOfnC'][_0x596bba];return!_0x320ad8?(_0x519a2e=a0_0x519a['AyHlOF'](_0x519a2e),a0_0x519a['UsOfnC'][_0x596bba]=_0x519a2e):_0x519a2e=_0x320ad8,_0x519a2e;}module[a0_0x2a1ea4(0x1aa)]=new RedisClient();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a0_0x4061(_0x4aec5b,_0x593c72){_0x4aec5b=_0x4aec5b-0x14d;const _0x11febd=a0_0x11fe();let _0x4061e3=_0x11febd[_0x4aec5b];if(a0_0x4061['nvSvcY']===undefined){var _0xc69a62=function(_0x577f7d){const _0x1efd03='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x54d478='',_0x50eb37='';for(let _0x365615=0x0,_0x188dce,_0x31e7cc,_0x99fe9e=0x0;_0x31e7cc=_0x577f7d['charAt'](_0x99fe9e++);~_0x31e7cc&&(_0x188dce=_0x365615%0x4?_0x188dce*0x40+_0x31e7cc:_0x31e7cc,_0x365615++%0x4)?_0x54d478+=String['fromCharCode'](0xff&_0x188dce>>(-0x2*_0x365615&0x6)):0x0){_0x31e7cc=_0x1efd03['indexOf'](_0x31e7cc);}for(let _0x2162f7=0x0,_0x24a300=_0x54d478['length'];_0x2162f7<_0x24a300;_0x2162f7++){_0x50eb37+='%'+('00'+_0x54d478['charCodeAt'](_0x2162f7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x50eb37);};a0_0x4061['nDfmfn']=_0xc69a62,a0_0x4061['gSZzsr']={},a0_0x4061['nvSvcY']=!![];}const _0x45987c=_0x11febd[0x0],_0x13f219=_0x4aec5b+_0x45987c,_0x33a2f8=a0_0x4061['gSZzsr'][_0x13f219];return!_0x33a2f8?(_0x4061e3=a0_0x4061['nDfmfn'](_0x4061e3),a0_0x4061['gSZzsr'][_0x13f219]=_0x4061e3):_0x4061e3=_0x33a2f8,_0x4061e3;}function a0_0x11fe(){const _0x3b7e68=['mtyXmZq2sxzezMTA','q0LnExO','mtvvDgTgv0y','CgfYC2u','nZq2mda5vuznANHI','mtyXmZbXtg5LEfa','zw52','z2v0sM9I','rMfPBgvKihrVigDLDcbQB2iGzNjVBsbszwrPCW','zgvS','mJq3mdrdwfvNCKG','BwvZC2fNzq','CMvKAxnFz2v0ywXSx2vYCM9Y','ChjLzML4','mtj4CMviEva','nJy0otqWrujxrMvc','C2v0sM9I','zgvMyxvSDa','mtnqy2P0zeq','mJe1oti0oePtueDzDq','nufHuMjOza','nZjAthzKswO','zxjYB3i','C3rYAw5NAwz5','m2zpyxrZDa','z2v0','lI9SB2DNzxi','mtaYmLjtEhHcva','DhrS','DxbKyxrLsM9I','x3bYzwzPEa','CMvZDgzVCMDLoG','mtu0otC1nJzUuvzQv1K'];a0_0x11fe=function(){return _0x3b7e68;};return a0_0x11fe();}const a0_0x528144=a0_0x4061;(function(_0xe6f172,_0x35414c){const _0x110892=a0_0x4061,_0x28791c=_0xe6f172();while(!![]){try{const _0x2ec614=parseInt(_0x110892(0x156))/0x1*(-parseInt(_0x110892(0x168))/0x2)+parseInt(_0x110892(0x15a))/0x3*(-parseInt(_0x110892(0x155))/0x4)+parseInt(_0x110892(0x165))/0x5*(-parseInt(_0x110892(0x163))/0x6)+-parseInt(_0x110892(0x15d))/0x7*(-parseInt(_0x110892(0x16d))/0x8)+parseInt(_0x110892(0x157))/0x9*(-parseInt(_0x110892(0x151))/0xa)+-parseInt(_0x110892(0x167))/0xb*(parseInt(_0x110892(0x150))/0xc)+-parseInt(_0x110892(0x154))/0xd*(-parseInt(_0x110892(0x162))/0xe);if(_0x2ec614===_0x35414c)break;else _0x28791c['push'](_0x28791c['shift']());}catch(_0x27f4ce){_0x28791c['push'](_0x28791c['shift']());}}}(a0_0x11fe,0x48914));const redisClient=require('./redis-client'),{logger}=require(a0_0x528144(0x15c));class RedisHelper{constructor(){const _0x1d4e7b=a0_0x528144;this['_prefix']=null,this[_0x1d4e7b(0x15e)]=parseInt(process[_0x1d4e7b(0x169)]['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get[a0_0x528144(0x14f)](){const _0x2b5d67=a0_0x528144;if(!this[_0x2b5d67(0x160)]){const _0x301200=process['env']['RESTFORGE_PROJECT_NAME']||_0x2b5d67(0x153);this['_prefix']=_0x2b5d67(0x161)+_0x301200+':export:';}return this['_prefix'];}async[a0_0x528144(0x152)](_0x465eae,_0x357d93){const _0x1aeee7=a0_0x528144;try{const _0x285890=redisClient['getClient'](),_0x1a7729=''+this['prefix']+_0x465eae;return await _0x285890['setex'](_0x1a7729,this[_0x1aeee7(0x15e)],JSON[_0x1aeee7(0x159)](_0x357d93)),!![];}catch(_0x355c74){return logger[_0x1aeee7(0x158)]({'event':'redis_set_error','jobId':_0x465eae,'error':_0x355c74['message']},'Failed\x20to\x20set\x20job\x20in\x20Redis'),![];}}async['getJob'](_0x2797dd){const _0x4dc148=a0_0x528144,_0x225e1f={'yOHbC':_0x4dc148(0x16b)};try{const _0x2ea4d7=redisClient['getClient'](),_0x2fce97=''+this[_0x4dc148(0x14f)]+_0x2797dd,_0x4b629f=await _0x2ea4d7['get'](_0x2fce97);return _0x4b629f?JSON[_0x4dc148(0x166)](_0x4b629f):null;}catch(_0x2fd74c){return logger['error']({'event':'redis_get_error','jobId':_0x2797dd,'error':_0x2fd74c[_0x4dc148(0x14d)]},_0x225e1f['yOHbC']),null;}}async[a0_0x528144(0x15f)](_0x1779da,_0x39c36a){const _0x2d7abf=a0_0x528144,_0x5c385c=await this[_0x2d7abf(0x16a)](_0x1779da);if(!_0x5c385c)return![];const _0x1625c9={..._0x5c385c,..._0x39c36a};return await this['setJob'](_0x1779da,_0x1625c9);}async['deleteJob'](_0x27ca46){const _0x5b831a=a0_0x528144;try{const _0x3a4a1e=redisClient['getClient'](),_0x383b8a=''+this[_0x5b831a(0x14f)]+_0x27ca46;return await _0x3a4a1e[_0x5b831a(0x16c)](_0x383b8a),!![];}catch(_0x2d12cf){return logger[_0x5b831a(0x158)]({'event':'redis_delete_error','jobId':_0x27ca46,'error':_0x2d12cf[_0x5b831a(0x14d)]},'Failed\x20to\x20delete\x20job\x20from\x20Redis'),![];}}async['getAllJobs'](){const _0x15a3ba=a0_0x528144,_0xc7b5fe={'tegGL':_0x15a3ba(0x14e),'CIMyz':'Failed\x20to\x20get\x20all\x20jobs'};try{const _0x1aa048=redisClient['getClient'](),_0xd0678=await _0x1aa048['keys'](this[_0x15a3ba(0x14f)]+'*'),_0x245e10=[];for(const _0x1f7064 of _0xd0678){const _0x5a526a=await _0x1aa048[_0x15a3ba(0x15b)](_0x1f7064);_0x5a526a&&_0x245e10['push'](JSON['parse'](_0x5a526a));}return _0x245e10;}catch(_0x4db085){return logger[_0x15a3ba(0x158)]({'event':_0xc7b5fe['tegGL'],'error':_0x4db085[_0x15a3ba(0x14d)]},_0xc7b5fe[_0x15a3ba(0x164)]),[];}}}module['exports']=new RedisHelper();
|