@restforgejs/platform 5.2.4 → 5.2.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/drift-check-linux +0 -0
- package/bin/sdf-tools-linux +0 -0
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/fast-track.js +235 -30
- package/generators/cli/schema/init.js +20 -6
- package/generators/cli/schema/template.js +24 -9
- 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_0x2543ab=a0_0x4739;function a0_0x4739(_0x487bd0,_0x37301c){_0x487bd0=_0x487bd0-0xbb;const _0x1f0771=a0_0x1f07();let _0x473954=_0x1f0771[_0x487bd0];if(a0_0x4739['OhHVgQ']===undefined){var _0x306acc=function(_0x5e8bac){const _0x216d23='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x56730e='',_0x4390e0='';for(let _0x4689e9=0x0,_0x2f096a,_0x1a34f9,_0x38ef15=0x0;_0x1a34f9=_0x5e8bac['charAt'](_0x38ef15++);~_0x1a34f9&&(_0x2f096a=_0x4689e9%0x4?_0x2f096a*0x40+_0x1a34f9:_0x1a34f9,_0x4689e9++%0x4)?_0x56730e+=String['fromCharCode'](0xff&_0x2f096a>>(-0x2*_0x4689e9&0x6)):0x0){_0x1a34f9=_0x216d23['indexOf'](_0x1a34f9);}for(let _0x1bddbe=0x0,_0x275330=_0x56730e['length'];_0x1bddbe<_0x275330;_0x1bddbe++){_0x4390e0+='%'+('00'+_0x56730e['charCodeAt'](_0x1bddbe)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4390e0);};a0_0x4739['ffbuPb']=_0x306acc,a0_0x4739['PAtANi']={},a0_0x4739['OhHVgQ']=!![];}const _0x2cc4a1=_0x1f0771[0x0],_0x5c2b66=_0x487bd0+_0x2cc4a1,_0x3c5958=a0_0x4739['PAtANi'][_0x5c2b66];return!_0x3c5958?(_0x473954=a0_0x4739['ffbuPb'](_0x473954),a0_0x4739['PAtANi'][_0x5c2b66]=_0x473954):_0x473954=_0x3c5958,_0x473954;}function a0_0x1f07(){const _0x519b82=['zxjYB3i','uKvbrcbSB2nRihjLBgvHC2vK','tK1ZtMq','Bg9JA19JB25MAwDFAw5PDa','AxnfBMfIBgvK','C2v0','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','D2fYBG','x2vUywjSzwq','Bvveu1m','nZC4nhfyALH0DW','rxvWBw8','CMvHza','Bg9JA19LEhrLBMrLza','yu55z2O','z2vUzxjHDgvmB2nRvMfSDwu','nteWAePSvvfU','BwvZC2fNzq','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','x2LUAxrdB25MAwC','z2v0','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','x3bYzwzPEa','zxHWAxjL','C3vIC3rYAw5N','D3jPDgvFBg9JA19Hy3f1AxjLza','D29YA2vYlq','y2HOAfi','x3DVCMTLCKLK','D29YA2vYswq','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzxHWAxjLiIWGs0vzu1SXxsWGqvjhvLSYxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','zgvIDwC','z2v0q2XPzw50','uKvbrcbSB2nRigfJCxvPCMvK','C2v0zxG','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','otK3ndaXtgrKsevh','D3jPDgvFBg9JA19LCNjVCG','x3jLDhj5rgvSyxK','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','x3jLDhj5q291BNq','zw5HyMXLza','v0vKv0u','CMv0CNLezwXHEq','CMvSzwfZzuXVy2S','mta1nJCXoe1oreLPwG','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','zgvMyxvSDfruta','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','zgvJCG','mJyZmZjHyxjtBNu','x3n0CMf0zwD5','uKvbrcbSB2nRigvYCM9Y','CMv0CNLdB3vUDa','CMvQzwn0','ndq5nJGXmffJAMvOtW','CMvHzf9SB2nRx2fJCxvPCMvK','zfncvfq','nJy1n3LcBgDbyG','mtyYmdaYnfzwq2LWEG','rfHbENK','ChvJEfy','ndK1mZG3nMXrwwPLrW','D3jPDgvFBg9JA19YzwPLy3rLza','CMv0CNK','x2vUC3vYzuLUAxrPywXPEMvK','zw52','v1vyEge','EfjXy0C','yvDdwwO','zgvS','yvrHs2K','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','yNvPBgrmB2nRs2v5','sKX5sLy','lcbZDhjHDgvNEtOG','Bg9JA19LEhrLBMrFzxjYB3i','DxvPza','CMy6Bg9JAZO','C2XLzxa','ywnXDwLYzvjLywrmB2nR','mZzRuKXpwvO','x2rLzMf1BhruveW','zfjZtwq','veXbBxu','CMvHzf9SB2nRx3rPBwvVDxq','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','te9ds19esvnuuKLcvvrfrf9uveW','ywXS','CMvHzf9SB2nRx2vYCM9Y','zxzHBa','EKD2uvm','Cg93','x2LUAxrPywXPEMvK','tg9JAYbYzwXLyxnLigvYCM9Y','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','ywnXDwLYzvDYAxrLtg9JAW','C3rYyxrLz3K','oNjLywq6','BgfZDeLUzgv4t2y','D3jPDgu','Bg9JA19YzwXLyxnLx2vYCM9Y','zxH0zw5Ktg9JAW'];a0_0x1f07=function(){return _0x519b82;};return a0_0x1f07();}(function(_0x55c775,_0x1598d4){const _0x513fa1=a0_0x4739,_0x5aa21a=_0x55c775();while(!![]){try{const _0x22eeee=parseInt(_0x513fa1(0xf3))/0x1+-parseInt(_0x513fa1(0x101))/0x2+-parseInt(_0x513fa1(0xea))/0x3+-parseInt(_0x513fa1(0xf8))/0x4*(-parseInt(_0x513fa1(0xd6))/0x5)+parseInt(_0x513fa1(0x104))/0x6+-parseInt(_0x513fa1(0x100))/0x7*(-parseInt(_0x513fa1(0xd0))/0x8)+parseInt(_0x513fa1(0x117))/0x9*(-parseInt(_0x513fa1(0xfd))/0xa);if(_0x22eeee===_0x1598d4)break;else _0x5aa21a['push'](_0x5aa21a['shift']());}catch(_0x4d8575){_0x5aa21a['push'](_0x5aa21a['shift']());}}}(a0_0x1f07,0x8355e));const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require(a0_0x2543ab(0x113));class LockManager{constructor(){const _0x60da51=a0_0x2543ab;this['_prefix']=null,this['_enabled']=null,this[_0x60da51(0x118)]=null,this[_0x60da51(0xee)]=null,this['_retryDelay']=null,this[_0x60da51(0xf9)]=null,this['_workerId']=null,this[_0x60da51(0xbb)]=![];}[a0_0x2543ab(0xd9)](){const _0xfa7583=a0_0x2543ab,_0x12fd98={'kvNEV':'true','FGPzj':function(_0x2f59ed,_0x61e308,_0xa85c3){return _0x2f59ed(_0x61e308,_0xa85c3);},'hLCTg':_0xfa7583(0x114),'DXAzy':function(_0x5a87d0,_0x6e44a9,_0x542211){return _0x5a87d0(_0x6e44a9,_0x542211);},'qZtMY':_0xfa7583(0x106)},_0x206df9='4|0|6|1|5|7|2|8|3'['split']('|');let _0x5b8b3d=0x0;while(!![]){switch(_0x206df9[_0x5b8b3d++]){case'0':this[_0xfa7583(0xce)]=process[_0xfa7583(0x108)]['LOCK_DISTRIBUTED_ENABLED']===_0x12fd98['kvNEV'];continue;case'1':this['_retryCount']=_0x12fd98['FGPzj'](parseInt,process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3;continue;case'2':this[_0xfa7583(0xe2)]=_0xfa7583(0xe0)+process['pid'];continue;case'3':logger['info']({'event':_0xfa7583(0xc8),'enabled':this[_0xfa7583(0xce)],'strategy':this['_strategy'],'ttl':this['_defaultTTL'],'retryCount':this['_retryCount'],'retryDelay':this[_0xfa7583(0xec)],'workerId':this[_0xfa7583(0xe2)]},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this[_0xfa7583(0xce)]+_0xfa7583(0x111)+this['_strategy']);continue;case'4':this[_0xfa7583(0xdc)]=_0x12fd98['hLCTg'];continue;case'5':this[_0xfa7583(0xec)]=_0x12fd98[_0xfa7583(0x102)](parseInt,process['env'][_0xfa7583(0xf6)],0xa)||0x64;continue;case'6':this[_0xfa7583(0x118)]=parseInt(process[_0xfa7583(0x108)][_0xfa7583(0x11e)],0xa)||0xa;continue;case'7':this['_strategy']=process['env'][_0xfa7583(0xed)]||_0x12fd98['qZtMY'];continue;case'8':this['_initialized']=!![];continue;}break;}}['_ensureInitialized'](){const _0x2648c4=a0_0x2543ab;!this[_0x2648c4(0xbb)]&&this[_0x2648c4(0xd9)]();}get['prefix'](){const _0x223053=a0_0x2543ab;return this[_0x223053(0x107)](),this[_0x223053(0xdc)];}get[a0_0x2543ab(0xef)](){const _0x38dbcb=a0_0x2543ab;return this[_0x38dbcb(0x107)](),this['_enabled'];}get['defaultTTL'](){const _0x514ac3=a0_0x2543ab;return this[_0x514ac3(0x107)](),this[_0x514ac3(0x118)];}get[a0_0x2543ab(0xfb)](){const _0x56f383=a0_0x2543ab;return this['_ensureInitialized'](),this[_0x56f383(0xee)];}get['retryDelay'](){const _0xc90c85=a0_0x2543ab;return this[_0xc90c85(0x107)](),this['_retryDelay'];}get[a0_0x2543ab(0xbf)](){return this['_ensureInitialized'](),this['_strategy'];}get['workerId'](){return this['_ensureInitialized'](),this['_workerId'];}[a0_0x2543ab(0x10f)](_0x27ce2e){const {module:_0x4f38f6,endpoint:_0x21e0d8,lockType:_0x4b7504,recordId:_0x179667}=_0x27ce2e;if(_0x179667)return''+this['prefix']+_0x4f38f6+':'+_0x21e0d8+':'+_0x179667+':'+_0x4b7504;return''+this['prefix']+_0x4f38f6+':'+_0x21e0d8+':'+_0x4b7504;}['generateLockValue'](){const _0x3d8ccd=a0_0x2543ab;return this[_0x3d8ccd(0xe3)]+':'+uuidv4()+':'+Date['now']();}async[a0_0x2543ab(0x116)](_0x54d427){const _0x20900a=a0_0x2543ab,_0x25c4c2={'JNshw':_0x20900a(0xc2),'aWCYj':function(_0x8e3c0e,_0x3169e3){return _0x8e3c0e<_0x3169e3;},'chhhR':_0x20900a(0xfe),'XcCDJ':_0x20900a(0xe7),'nVKHS':'read_lock_waiting','WUXxa':_0x20900a(0xdb),'BCZXO':function(_0x5796f0,_0x4f2ea8){return _0x5796f0*_0x4f2ea8;},'WEdWE':_0x20900a(0x11b),'dmpvN':_0x20900a(0x10e),'aTaKi':_0x20900a(0xfa)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x269346=this['buildLockKey']({..._0x54d427,'lockType':_0x25c4c2['JNshw']}),_0x50bbc2=this['buildLockKey']({..._0x54d427,'lockType':'read'}),_0x42f1aa=this['generateLockValue']();try{const _0x18a8f2=redisClient[_0x20900a(0xe6)]();for(let _0x39e7d7=0x0;_0x25c4c2[_0x20900a(0x10b)](_0x39e7d7,this[_0x20900a(0xfb)]);_0x39e7d7++){const _0x1adb12=await _0x18a8f2['get'](_0x269346);if(!_0x1adb12){await _0x18a8f2['incr'](_0x50bbc2),await _0x18a8f2[_0x20900a(0xdd)](_0x50bbc2,this['defaultTTL']);const _0x10a153=_0x50bbc2+':'+_0x42f1aa;return await _0x18a8f2[_0x20900a(0xe8)](_0x10a153,this['defaultTTL'],_0x42f1aa),logger['debug']({'event':_0x25c4c2[_0x20900a(0xe1)],'key':_0x50bbc2,'value':_0x42f1aa},_0x25c4c2['XcCDJ']),{'success':!![],'lockValue':_0x42f1aa,'lockKey':_0x10a153};}logger[_0x20900a(0xe5)]({'event':_0x25c4c2['nVKHS'],'writeKey':_0x269346,'attempt':_0x39e7d7},_0x25c4c2[_0x20900a(0x109)]),await this[_0x20900a(0x115)](_0x25c4c2['BCZXO'](this[_0x20900a(0xf1)],Math[_0x20900a(0x123)](0x2,_0x39e7d7)));}return logger['warn']({'event':_0x25c4c2[_0x20900a(0xf0)],'key':_0x50bbc2},_0x25c4c2['dmpvN']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x4ad799){return logger[_0x20900a(0xc5)]({'event':_0x20900a(0x120),'error':_0x4ad799[_0x20900a(0xd7)]},_0x25c4c2[_0x20900a(0x10d)]),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x2543ab(0xbe)](_0xed78bb){const _0x45e11c=a0_0x2543ab,_0x1e7ef7={'aNygj':function(_0x5d1184,_0x323302){return _0x5d1184===_0x323302;},'pDwEI':_0x45e11c(0xdf),'dSBTT':_0x45e11c(0xf4),'zGvQS':_0x45e11c(0x105),'JciIF':_0x45e11c(0xcb),'pucxV':function(_0x390e71,_0xe111ef){return _0x390e71<_0xe111ef;},'NMsNd':function(_0x43e65f,_0x2c3f80){return _0x43e65f(_0x2c3f80);},'dRsMd':'write_lock_waiting','icEVA':function(_0x3ec8be,_0x39be0e){return _0x3ec8be*_0x39be0e;},'aEDFl':_0x45e11c(0xcc),'DdVjk':_0x45e11c(0xeb),'FKase':'WRITE\x20lock\x20error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x5e96a3=this['buildLockKey']({..._0xed78bb,'lockType':_0x45e11c(0xc2)}),_0x5751a0=this['buildLockKey']({..._0xed78bb,'lockType':'read'}),_0x317fee=this[_0x45e11c(0xd5)]();try{const _0x5a5cd3=redisClient['getClient']();if(this[_0x45e11c(0xbf)]==='reject'){const _0x359ebc=await _0x5a5cd3[_0x45e11c(0xca)](_0x5e96a3,_0x317fee,'EX',this[_0x45e11c(0xf5)],'NX');if(_0x1e7ef7[_0x45e11c(0xd4)](_0x359ebc,'OK'))return logger['debug']({'event':_0x1e7ef7['pDwEI'],'key':_0x5e96a3,'value':_0x317fee,'strategy':_0x45e11c(0xfc)},_0x1e7ef7[_0x45e11c(0xff)]),{'success':!![],'lockValue':_0x317fee,'lockKey':_0x5e96a3};return logger['debug']({'event':_0x1e7ef7[_0x45e11c(0x122)],'key':_0x5e96a3},_0x1e7ef7['JciIF']),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x2e8cf0=0x0;_0x1e7ef7[_0x45e11c(0x103)](_0x2e8cf0,this['retryCount']);_0x2e8cf0++){const [_0x316a4d,_0x1053bb]=await Promise[_0x45e11c(0x11f)]([_0x5a5cd3['get'](_0x5751a0),_0x5a5cd3['get'](_0x5e96a3)]);if(!_0x1053bb&&(!_0x316a4d||_0x1e7ef7[_0x45e11c(0xc7)](parseInt,_0x316a4d)===0x0)){const _0x3ff808=await _0x5a5cd3[_0x45e11c(0xca)](_0x5e96a3,_0x317fee,'EX',this['defaultTTL'],'NX');if(_0x3ff808==='OK')return logger[_0x45e11c(0xe5)]({'event':_0x45e11c(0xdf),'key':_0x5e96a3,'value':_0x317fee,'strategy':'retry'},_0x45e11c(0x11c)),{'success':!![],'lockValue':_0x317fee,'lockKey':_0x5e96a3};}logger['debug']({'event':_0x1e7ef7[_0x45e11c(0x119)],'writeKey':_0x5e96a3,'readCount':_0x316a4d,'attempt':_0x2e8cf0},_0x45e11c(0xbd)),await this['sleep'](_0x1e7ef7['icEVA'](this[_0x45e11c(0xf1)],Math[_0x45e11c(0x123)](0x2,_0x2e8cf0)));}return logger[_0x45e11c(0xcd)]({'event':'write_lock_timeout','key':_0x5e96a3},_0x1e7ef7['aEDFl']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x2e97cc){return logger['error']({'event':_0x1e7ef7['DdVjk'],'error':_0x2e97cc['message']},_0x1e7ef7['FKase']),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x2543ab(0xf2)](_0x33e520,_0x258207){const _0x26ce16=a0_0x2543ab,_0x2ed913={'Icvqu':'WRITE\x20lock\x20released','JLyJV':_0x26ce16(0x11d),'Eupmo':_0x26ce16(0xd8),'cyvrd':_0x26ce16(0xc3)};if(!this['enabled']||!_0x33e520)return!![];try{const _0x5c62ee=redisClient[_0x26ce16(0xe6)]();if(_0x33e520['includes'](_0x26ce16(0xc0))){await _0x5c62ee[_0x26ce16(0x10c)](_0x33e520);const _0x2bdf89=_0x33e520[_0x26ce16(0xde)](0x0,_0x33e520[_0x26ce16(0xc1)](':')),_0xc4fa36=await _0x5c62ee[_0x26ce16(0xda)](_0x2bdf89);return _0xc4fa36&&parseInt(_0xc4fa36)>0x0&&await _0x5c62ee[_0x26ce16(0xf7)](_0x2bdf89),logger['debug']({'event':'read_lock_released','key':_0x33e520},_0x26ce16(0xc6)),!![];}const _0x30772e=_0x26ce16(0xe9),_0x36a519=await _0x5c62ee[_0x26ce16(0x121)](_0x30772e,0x1,_0x33e520,_0x258207);if(_0x36a519===0x1)return logger[_0x26ce16(0xe5)]({'event':'write_lock_released','key':_0x33e520},_0x2ed913['Icvqu']),!![];return logger['warn']({'event':_0x2ed913[_0x26ce16(0x110)],'key':_0x33e520},_0x2ed913[_0x26ce16(0xd1)]),![];}catch(_0x52723f){return logger['error']({'event':_0x2ed913['cyvrd'],'key':_0x33e520,'error':_0x52723f[_0x26ce16(0xd7)]},_0x26ce16(0xbc)),![];}}async[a0_0x2543ab(0xc4)](_0x847d3f,_0x1fa5ad,_0x3936e9=null){const _0x326b84=a0_0x2543ab,_0x48489c={'GiMYO':_0x326b84(0xd3),'TLAmu':'Lock\x20extend\x20error'};if(!this[_0x326b84(0xef)]||!_0x847d3f)return!![];try{const _0x55b1b1=redisClient[_0x326b84(0xe6)](),_0x5603b1=_0x326b84(0xe4),_0x5b23f8=await _0x55b1b1[_0x326b84(0x121)](_0x5603b1,0x1,_0x847d3f,_0x1fa5ad,_0x3936e9||this[_0x326b84(0xf5)]);if(_0x5b23f8===0x1)return logger['debug']({'event':_0x48489c['GiMYO'],'key':_0x847d3f,'ttl':_0x3936e9||this[_0x326b84(0xf5)]},'Lock\x20TTL\x20extended'),!![];return![];}catch(_0x247af8){return logger['error']({'event':_0x326b84(0x112),'key':_0x847d3f,'error':_0x247af8[_0x326b84(0xd7)]},_0x48489c[_0x326b84(0x11a)]),![];}}[a0_0x2543ab(0xc9)](){return this['enabled'];}[a0_0x2543ab(0x115)](_0x57f122){return new Promise(_0x28b722=>setTimeout(_0x28b722,_0x57f122));}async['getLockInfo'](_0x12e0fc){const _0x42cdcc=a0_0x2543ab,_0x207eb2={'mUDSS':_0x42cdcc(0xd2),'xRqcG':function(_0x286d04,_0x56170e){return _0x286d04||_0x56170e;}};if(!this[_0x42cdcc(0xef)])return{'enabled':![]};try{const _0x58e33d=redisClient[_0x42cdcc(0xe6)](),_0x4cae92=this[_0x42cdcc(0x10f)]({..._0x12e0fc,'lockType':_0x42cdcc(0xc2)}),_0x3938d0=this[_0x42cdcc(0x10f)]({..._0x12e0fc,'lockType':_0x207eb2[_0x42cdcc(0xcf)]}),[_0x30195f,_0x213088]=await Promise[_0x42cdcc(0x11f)]([_0x58e33d['get'](_0x4cae92),_0x58e33d[_0x42cdcc(0xda)](_0x3938d0)]);return{'enabled':!![],'writeLock':_0x207eb2[_0x42cdcc(0x10a)](_0x30195f,null),'readCount':parseInt(_0x213088)||0x0,'writeKey':_0x4cae92,'readKey':_0x3938d0};}catch(_0x5a497a){return{'enabled':!![],'error':_0x5a497a['message']};}}}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_0x86cace=a0_0x42d9;(function(_0x507672,_0x584223){const _0x4f16cd=a0_0x42d9,_0x265e6a=_0x507672();while(!![]){try{const _0x39d828=-parseInt(_0x4f16cd(0x24a))/0x1+-parseInt(_0x4f16cd(0x1bf))/0x2*(parseInt(_0x4f16cd(0x261))/0x3)+-parseInt(_0x4f16cd(0x1ba))/0x4+parseInt(_0x4f16cd(0x1d0))/0x5*(parseInt(_0x4f16cd(0x228))/0x6)+parseInt(_0x4f16cd(0x22c))/0x7*(parseInt(_0x4f16cd(0x25c))/0x8)+-parseInt(_0x4f16cd(0x262))/0x9+parseInt(_0x4f16cd(0x230))/0xa*(parseInt(_0x4f16cd(0x216))/0xb);if(_0x39d828===_0x584223)break;else _0x265e6a['push'](_0x265e6a['shift']());}catch(_0x466c14){_0x265e6a['push'](_0x265e6a['shift']());}}}(a0_0x28e2,0x8dad3));const pino=require(a0_0x86cace(0x241)),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName=a0_0x86cace(0x1bb),sqlLogEnabled=![],sqlLogLevel=a0_0x86cace(0x244),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x86cace(0x1ed),'ignore':a0_0x86cace(0x1e7),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0x86cace(0x26d),'customColors':a0_0x86cace(0x205),'hideObject':!![]},isDevelopment=process['env'][a0_0x86cace(0x218)]!=='production',logLevel=process['env'][a0_0x86cace(0x1d5)]||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x86cace(0x1bb),'version':process[a0_0x86cace(0x225)]['APP_VERSION']||a0_0x86cace(0x234),'env':process[a0_0x86cace(0x225)][a0_0x86cace(0x218)]||'development'},'timestamp':pino[a0_0x86cace(0x1db)]['isoTime'],'redact':{'paths':[a0_0x86cace(0x26e),a0_0x86cace(0x1f8),a0_0x86cace(0x268),'token','apiKey','DB_PASSWORD',a0_0x86cace(0x1f1)],'censor':'[REDACTED]'},'serializers':{'req':_0x1e32d8=>({'id':_0x1e32d8['id'],'method':_0x1e32d8[a0_0x86cace(0x276)],'url':_0x1e32d8[a0_0x86cace(0x1f4)],'path':_0x1e32d8[a0_0x86cace(0x217)],'remoteAddress':_0x1e32d8['ip']||_0x1e32d8[a0_0x86cace(0x245)]?.['remoteAddress']}),'res':_0x199f40=>({'statusCode':_0x199f40[a0_0x86cace(0x26a)],'headers':_0x199f40['getHeaders']?.()}),'err':pino[a0_0x86cace(0x21f)][a0_0x86cace(0x1b7)]}});function a0_0x28e2(){const _0xc26817=['EK5gAfu','Ahr0Cf9Yzxf1zxn0','y3z2','oeP1s2PNyG','te9hx0rjuG','rermx0rst1a','y3jLzgL0x2nHCMq','wLjVquG','mJq4odC2ngrws0nWyG','mti4ntq4ogDIu0PPua','yxbPA2v5','ywnJzxnZx3rVA2vU','D1LfzeK','A2rnzKm','DevJBxG','CgfZC3DVCMq','ANnVBG','C3rHDhvZq29Kzq','D3jPDgu','rKvfy1i','E21Zz30','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','tMTHAwC','C2vYDMvYx3n0yxj0Aw5N','y3jLzgvUDgLHBhm','u0vsvKLdrv9oqu1f','q1jjveLdquW','vfjbtLnbq1rjt05FuK9mtejbq0S','u0vmrunu','Bwv0Ag9K','rgnQAMu','BwvZC2fNzq','BgvUz3rO','zxjY','C29Tzq','DxnLCG','odmYotzuvwTIwK4','CMvZDgzVCMDL','vfjXAfq','CMvWBgfJzq','CMvZB2X2zq','mMreCgLMqW','u1fmx0Xpr19ftKfcteve','AgvHzgvYCW','q3b5r3G','Bg9N','uLb6tue','BxmP','AwX5seS','Dw5JyxvNAhrfEgnLChrPB24','ic0G','C3rHCNrZv2L0Aa','B2jQzwn0','C3nU','D3H2Ceu','CgfKrw5K','Cg9YDa','CxvLCNK','otviEgXpwKu','rermx0fmvevs','DhjPBq','zw52AxjVBM1LBNq','yMfZzvvYBa','te9hx0XfvKvm','icbjBMzVoIaGia','q09ntuLu','Aw5JBhvKzxm','EwLgCuu','DgXlDuu','C3rKvgLTzuz1BMn0Aw9UCW','w1jfrefdvevexq','Ag9ZDa','yxbWlMXVzW','Ahj0Aw1L','qKPcu0i','Dg9ju09tDhjPBMC','zuLvy3O','Dxb0Aw1L','icbvuKW6icaGia','oI8V','tfHVANe','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','vvbeqvrf','Bvrkv3C','lI9SB2DZlW','rfjpua','zxHWB3j0CW','u1LtoKHioK1noNnZ','Bw9KDwXL','ChjPDMf0zv9RzxK','yuTPu1q','sLDux1nfq1jfva','EMfZEem','yM9KEq','DxjS','CM93C0fMzMvJDgvK','B3jPz2LUywXvCMW','CMvMCMvZAf90B2TLBG','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','t0T2DMO','y3jLzgL0y2fYza','rKX3t0e','DgvZDa','C3rYAw5NAwz5','ig9UihbVCNqG','y29Kzq','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','qLreD0C','CMvWzwf0','AgvHBhrOq2HLy2S','C2HzqxC','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','ChjVAMvJDa','Dg9mB3DLCKnHC2u','D2Pfvwy','zxHPC3rZu3LUyW','C3rHy2S','y3nzwxe','ywjMwNi','ALDgu1i','uwT0qMS','Dejpz0i','zgjFCxvLCNK','D2fYBG','CMvTB3rLqwrKCMvZCW','rxjYB3i','wwnHC1q','Cg9ZDgDYzxnXBa','nZDrqMzYtNm','Cgf0Aa','tK9erv9ftLy','C3rYAw5N','rgvMyxvSDa','B1z3CeS','Ec1Yzxf1zxn0lwLK','BMLwyNG','zMf0ywW','C3rKu2vYAwfSAxPLCNm','vKfpzxe','vfjbtLnbq1rjt05Fq09ntuLu','Efr3ufe','Aw5MBW','wMvkrNC','zw52','C2vJCMv0','y3jLyxrLv3jPDgvtDhjLyw0','mJKYodeYv3nUterl','u1rbuLqGvfjbtLnbq1rjt04','uhjVy2vZCYbxyxjUAw5NoIa','D2DTDge','ndC2oti0tuzUtxzx','C2vYDMLJzuLUzM8','zxjYB3i','Dg9vChbLCKnHC2u','mJeYmdi2mgrquMXpqG','vMzLDwy','zMXVB3i','yxv0Ag9YAxPHDgLVBG','ms4WlJu','zgf0ywjHC2u','zhvYyxrPB25nCW','zxHPDa','iokvKqRILzeGienVBMzPzYaGicaGidOG','vvPsCMe','A2v5CW','z2Xwueu','BwfW','ChjPDMf0zwTLEq','DhLWzq','u1fmx0Xpr19qqvjbtvm','vfjbtLnbq1rjt05FqKvhsu4','CgLUBW','BeneBuO','zxjYB3iUBg9N','zgvIDwC','y29UBMvJDgLVBG','su5trvju','u3v1tgS','zgjFDhjHBNnHy3rPB24','ChjVy2vZC193yxjUAw5N','ota2mdaXCxzAAgD3','Bwf0y2G','icdIHPiG','Dhj1zq','CgLK','CMfJvwC','zMLSzv9SB2DNAw5Nx2vUywjSzwq','s0nnC0u','sunrqKO','C3rHDhvZ','BM9bB1G','te9hx1rpx0zjteu','CgfZC3DK','icbizwfSDgG6ia','C3vIC3rYAw5N'];a0_0x28e2=function(){return _0xc26817;};return a0_0x28e2();}function initFileLogging(){const _0x5eb635=a0_0x86cace,_0x4a25af={'lCDmJ':'restforge','ZeJFw':function(_0x376f14,_0x42ca65){return _0x376f14===_0x42ca65;},'lriiU':'debug','jWFSR':function(_0x51d20c,_0x2f1db6){return _0x51d20c!==_0x2f1db6;},'swBhx':'false','txvoe':function(_0x23d4d5,_0x333a39){return _0x23d4d5(_0x333a39);},'UZRra':'app.log','zasxC':'error.log'};if(fileLoggingInitialized)return;logToFile=process['env'][_0x5eb635(0x255)]===_0x5eb635(0x24d);const _0x2d4cb0=process['env']['RESTFORGE_PROJECT_NAME']||'default';logDir=process[_0x5eb635(0x225)][_0x5eb635(0x25d)]||_0x5eb635(0x1ea)+_0x2d4cb0,serviceName=process[_0x5eb635(0x225)][_0x5eb635(0x272)]||_0x4a25af[_0x5eb635(0x242)],sqlLogEnabled=_0x4a25af[_0x5eb635(0x224)](process[_0x5eb635(0x225)][_0x5eb635(0x1c0)],'true'),sqlLogLevel=process['env']['SQL_LOG_LEVEL']||_0x4a25af['lriiU'],sqlLogParams=_0x4a25af[_0x5eb635(0x20d)](process['env'][_0x5eb635(0x23f)],_0x4a25af['swBhx']),sqlLogSlowThreshold=_0x4a25af['txvoe'](parseInt,process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x5289c8=path[_0x5eb635(0x1be)](process['cwd'](),logDir);try{!fs[_0x5eb635(0x209)](_0x5289c8)&&fs['mkdirSync'](_0x5289c8,{'recursive':!![]});}catch(_0x4170ac){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x5289c8+':',_0x4170ac[_0x5eb635(0x1b5)]),fileLoggingInitialized=!![];return;}const _0x2e6089=path['join'](_0x5289c8,_0x4a25af[_0x5eb635(0x239)]),_0x8ed7c1=path['join'](_0x5289c8,_0x4a25af[_0x5eb635(0x1f2)]);try{appLogStream=fs['createWriteStream'](_0x2e6089,{'flags':'a'}),errorLogStream=fs[_0x5eb635(0x227)](_0x8ed7c1,{'flags':'a'}),fileLoggingInitialized=!![];const _0x37c9a8={'event':_0x5eb635(0x250),'logDir':_0x5289c8,'files':[_0x5eb635(0x1de),_0x5eb635(0x243)]},_0x21858e='File\x20logging\x20enabled:\x20'+_0x5289c8;logger[_0x5eb635(0x223)](_0x37c9a8,_0x21858e),writeToFileLog({..._0x37c9a8,'level':'info','msg':_0x21858e,'time':new Date()[_0x5eb635(0x1e1)]()},'info');}catch(_0x6a1988){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x6a1988['message']),fileLoggingInitialized=!![];}}function a0_0x42d9(_0x2e9dff,_0x40e8ff){_0x2e9dff=_0x2e9dff-0x1b4;const _0x28e2e4=a0_0x28e2();let _0x42d928=_0x28e2e4[_0x2e9dff];if(a0_0x42d9['OtaJvR']===undefined){var _0x587075=function(_0x34ad21){const _0x5cdfd7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xb6df5='',_0x324fea='';for(let _0x1c32d1=0x0,_0xf066c4,_0x14e6a5,_0x53c5b0=0x0;_0x14e6a5=_0x34ad21['charAt'](_0x53c5b0++);~_0x14e6a5&&(_0xf066c4=_0x1c32d1%0x4?_0xf066c4*0x40+_0x14e6a5:_0x14e6a5,_0x1c32d1++%0x4)?_0xb6df5+=String['fromCharCode'](0xff&_0xf066c4>>(-0x2*_0x1c32d1&0x6)):0x0){_0x14e6a5=_0x5cdfd7['indexOf'](_0x14e6a5);}for(let _0x5cd27c=0x0,_0x3f72b4=_0xb6df5['length'];_0x5cd27c<_0x3f72b4;_0x5cd27c++){_0x324fea+='%'+('00'+_0xb6df5['charCodeAt'](_0x5cd27c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x324fea);};a0_0x42d9['afKnHn']=_0x587075,a0_0x42d9['CorQuP']={},a0_0x42d9['OtaJvR']=!![];}const _0x5e3b43=_0x28e2e4[0x0],_0x4ca433=_0x2e9dff+_0x5e3b43,_0x23889b=a0_0x42d9['CorQuP'][_0x4ca433];return!_0x23889b?(_0x42d928=a0_0x42d9['afKnHn'](_0x42d928),a0_0x42d9['CorQuP'][_0x4ca433]=_0x42d928):_0x42d928=_0x23889b,_0x42d928;}function writeToFileLog(_0x4143c6,_0x3b7747){const _0x7e7714=a0_0x86cace,_0x276498={'wYEdI':function(_0x1738d5,_0x4d431b){return _0x1738d5||_0x4d431b;},'yFcMj':_0x7e7714(0x22e)};if(_0x276498[_0x7e7714(0x265)](!logToFile,!appLogStream))return;const _0x4784fe={'service':serviceName,..._0x4143c6},_0x1ef26b=JSON[_0x7e7714(0x1fd)](_0x4784fe)+'\x0a';appLogStream[_0x7e7714(0x26b)](_0x1ef26b),(_0x3b7747===_0x276498['yFcMj']||_0x3b7747===_0x7e7714(0x21e))&&(errorLogStream&&errorLogStream[_0x7e7714(0x26b)](_0x1ef26b));}const createRequestLogger=(_0x2b57d8={})=>{return logger['child'](_0x2b57d8);},logServerStart=_0x19461c=>{const _0x94b92d=a0_0x86cace,_0x4b1e68={'tzpmA':'RESTFORGE\x20RUNTIME\x20SERVER','KbDkL':function(_0x1338bc,_0x3ea3fa){return _0x1338bc-_0x3ea3fa;},'RGkaj':function(_0x203bcf,_0x4bf77a){return _0x203bcf-_0x4bf77a;},'nHnRE':'Node.js','qMdBA':'N/A','LXojq':_0x94b92d(0x21a),'yVqfd':'ACTIVE','niVbx':'NOT\x20ACTIVE','wjEUf':_0x94b92d(0x270),'VAOeq':function(_0x5e9f23,_0x621c79,_0xeab2dc){return _0x5e9f23(_0x621c79,_0xeab2dc);},'QNcxG':_0x94b92d(0x223)},_0xed38a4=_0x4b1e68['tzpmA'],_0x39faf6=Math['max'](0x0,_0x4b1e68['KbDkL'](0x37,_0xed38a4['length'])),_0x5a2a94=Math[_0x94b92d(0x232)](_0x39faf6/0x2),_0xc45ee=_0x4b1e68['RGkaj'](_0x39faf6,_0x5a2a94),_0x19c84d='║'+'\x20'[_0x94b92d(0x202)](_0x5a2a94)+_0xed38a4+'\x20'[_0x94b92d(0x202)](_0xc45ee)+'║',_0x20d48e='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x19c84d+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x19461c[_0x94b92d(0x1d3)]||_0x4b1e68['nHnRE'])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x19461c[_0x94b92d(0x206)]||_0x4b1e68['qMdBA'])[_0x94b92d(0x1cd)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x19461c['port']||0xbb8)[_0x94b92d(0x1cd)](0x26)+_0x94b92d(0x238)+(_0x19461c['configFile']||_0x4b1e68[_0x94b92d(0x1e6)])[_0x94b92d(0x1cd)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x19461c['apiKey']?_0x4b1e68['yVqfd']:_0x4b1e68[_0x94b92d(0x21d)])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x94b92d(0x1c3)](_0x20d48e);const _0x4bd219={'event':_0x4b1e68[_0x94b92d(0x208)],'project':_0x19461c['project'],'port':_0x19461c['port'],'config':_0x19461c['configFile'],'apiKeyEnabled':!!_0x19461c['apiKey']};logger[_0x94b92d(0x223)](_0x4bd219),_0x4b1e68[_0x94b92d(0x220)](writeToFileLog,{..._0x4bd219,'level':_0x94b92d(0x223),'msg':'Server\x20starting:\x20'+_0x19461c['project']+_0x94b92d(0x1fe)+_0x19461c['port'],'time':new Date()['toISOString']()},_0x4b1e68['QNcxG']);},logServerReady=_0x2cd003=>{const _0x33c06a=a0_0x86cace,_0x15aa9c={'HOgby':'server_ready'},_0x424e36={'event':_0x15aa9c['HOgby'],'port':_0x2cd003[_0x33c06a(0x1ce)],'module':_0x2cd003[_0x33c06a(0x1ee)],'healthCheck':_0x2cd003['healthCheck'],'serviceInfo':_0x2cd003[_0x33c06a(0x22d)],'baseUrl':_0x2cd003['baseUrl']},_0x34a5a6=_0x33c06a(0x200)+_0x2cd003[_0x33c06a(0x1ce)];logger['info'](_0x424e36,_0x34a5a6),writeToFileLog({..._0x424e36,'level':'info','msg':_0x34a5a6,'time':new Date()[_0x33c06a(0x1e1)]()},_0x33c06a(0x223)),_0x2cd003[_0x33c06a(0x203)]&&logger[_0x33c06a(0x223)](_0x33c06a(0x257)+_0x2cd003[_0x33c06a(0x203)]),_0x2cd003[_0x33c06a(0x22d)]&&logger['info'](_0x33c06a(0x1d6)+_0x2cd003['serviceInfo']),_0x2cd003[_0x33c06a(0x1d4)]&&logger[_0x33c06a(0x223)](_0x33c06a(0x1e4)+_0x2cd003['baseUrl']);},logProjectLoaded=(_0xefad2b,_0x3389e9)=>{const _0x1b4b68=a0_0x86cace,_0xe21c42={'Vfeuf':'project_loaded','BTDwG':_0x1b4b68(0x223)},_0x51738f={'event':_0xe21c42[_0x1b4b68(0x231)],'project':_0xefad2b,'path':_0x3389e9},_0x278c06='[OK]\x20Project\x20loaded:\x20'+_0xefad2b;logger[_0x1b4b68(0x223)](_0x51738f,_0x278c06),writeToFileLog({..._0x51738f,'level':_0xe21c42[_0x1b4b68(0x201)],'msg':_0x278c06,'time':new Date()['toISOString']()},_0xe21c42[_0x1b4b68(0x201)]);},logEndpointRegistered=(_0x23ae3b,_0x2bf9ec)=>{const _0xa7c45a=a0_0x86cace,_0x1803cc={'lAlyX':function(_0x5347e8,_0x42b5c1,_0x833db4){return _0x5347e8(_0x42b5c1,_0x833db4);},'CpyGx':_0xa7c45a(0x244)},_0x3f0d75={'event':'endpoint_registered','endpoint':_0x23ae3b,'route':_0x2bf9ec},_0x8f4103=_0xa7c45a(0x24c)+_0x23ae3b+':\x20'+_0x2bf9ec;logger['debug'](_0x3f0d75,_0x8f4103),_0x1803cc['lAlyX'](writeToFileLog,{..._0x3f0d75,'level':_0x1803cc[_0xa7c45a(0x1c2)],'msg':_0x8f4103,'time':new Date()['toISOString']()},_0xa7c45a(0x244));},logDatabaseConfig=_0x4b331d=>{const _0x240bfd=a0_0x86cace,_0x4f65cf={'PmBcr':'database_config','YcasT':_0x240bfd(0x244)},_0x447297={'event':_0x4f65cf['PmBcr'],'host':_0x4b331d[_0x240bfd(0x1dd)],'port':_0x4b331d['port'],'database':_0x4b331d[_0x240bfd(0x235)],'type':_0x4b331d[_0x240bfd(0x23e)],'user':_0x4b331d[_0x240bfd(0x1b9)]},_0x5b6c8d='Database:\x20'+_0x4b331d['type']+_0x240bfd(0x1e5)+_0x4b331d[_0x240bfd(0x1dd)]+':'+_0x4b331d['port']+'/'+_0x4b331d['database'];logger['debug'](_0x447297,_0x5b6c8d),writeToFileLog({..._0x447297,'level':_0x4f65cf[_0x240bfd(0x214)],'msg':_0x5b6c8d,'time':new Date()['toISOString']()},'debug');},logRequest=(_0x32f33d,_0x4f4b5e,_0x3e4814)=>{const _0x209a7c=a0_0x86cace,_0x6879f1={'dwlew':_0x209a7c(0x25a),'FYZOj':'info','RPzMA':_0x209a7c(0x22e),'csYYq':function(_0x234245,_0x589833){return _0x234245>=_0x589833;},'oVwpK':function(_0x39136b,_0xa70530,_0x1c7209){return _0x39136b(_0xa70530,_0x1c7209);}},_0x21cbe1={'event':_0x6879f1['dwlew'],'method':_0x32f33d['method'],'path':_0x32f33d[_0x209a7c(0x217)],'statusCode':_0x4f4b5e[_0x209a7c(0x26a)],'durationMs':_0x3e4814,'ip':_0x32f33d['ip']},_0x50a132=_0x32f33d[_0x209a7c(0x276)]+'\x20'+_0x32f33d['path']+_0x209a7c(0x1c8)+_0x4f4b5e['statusCode']+'\x20('+_0x3e4814+'ms)';let _0x4256ca=_0x6879f1['FYZOj'];if(_0x4f4b5e['statusCode']>=0x1f4)_0x4256ca=_0x6879f1[_0x209a7c(0x1c4)],logger['error'](_0x21cbe1,_0x50a132);else _0x6879f1[_0x209a7c(0x20b)](_0x4f4b5e[_0x209a7c(0x26a)],0x190)?(_0x4256ca='warn',logger['warn'](_0x21cbe1,_0x50a132)):logger[_0x209a7c(0x223)](_0x21cbe1,_0x50a132);_0x6879f1[_0x209a7c(0x21b)](writeToFileLog,{..._0x21cbe1,'level':_0x4256ca,'msg':_0x50a132,'time':new Date()[_0x209a7c(0x1e1)]()},_0x4256ca);},SENSITIVE_PARAM_PATTERNS=['password',a0_0x86cace(0x256),'pwd','token',a0_0x86cace(0x264),a0_0x86cace(0x1f7),'secret','api_secret','apikey','api_key','credential',a0_0x86cace(0x271),'pin','otp',a0_0x86cace(0x1ef),'privatekey'],redactSensitiveParams=(_0xded374,_0x23789c)=>{const _0x1e9cd9=a0_0x86cace,_0x278840={'shYAw':_0x1e9cd9(0x219),'xTwPQ':function(_0xc3abcf,_0x1a2791){return _0xc3abcf===_0x1a2791;}};if(!_0xded374||_0x278840[_0x1e9cd9(0x222)](_0xded374['length'],0x0))return _0xded374;const _0xcc4460=_0x23789c['toLowerCase'](),_0x205d79=_0xcc4460[_0x1e9cd9(0x24b)](/\(([^)]+)\)\s*values/i);let _0x2b3c91=[];_0x205d79&&(_0x2b3c91=_0x205d79[0x1]['split'](',')['map'](_0x216338=>_0x216338['trim']()[_0x1e9cd9(0x207)]()));const _0x43f25f=_0xcc4460['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x43f25f){const _0x16f4a1=_0x43f25f[0x1],_0x5ea6b6=_0x16f4a1['match'](/(\w+)\s*=/g);_0x5ea6b6&&(_0x2b3c91=_0x5ea6b6[_0x1e9cd9(0x23c)](_0xf37132=>_0xf37132[_0x1e9cd9(0x1bd)](/\s*=/,'')[_0x1e9cd9(0x1d2)]()[_0x1e9cd9(0x207)]()));}return _0xded374['map']((_0x4eda40,_0x160037)=>{const _0xd2283a=_0x1e9cd9;if(_0x2b3c91[_0x160037]){const _0x3accbc=_0x2b3c91[_0x160037],_0x5f2850=SENSITIVE_PARAM_PATTERNS[_0xd2283a(0x1b8)](_0x5bc6ee=>_0x3accbc['includes'](_0x5bc6ee));if(_0x5f2850)return'[REDACTED]';}if(typeof _0x4eda40===_0x278840[_0xd2283a(0x204)]&&_0x4eda40['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0xd2283a(0x1fc)](_0x4eda40)&&_0x4eda40[_0xd2283a(0x1d8)]('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/['test'](_0x4eda40))return'[REDACTED:hash]';}return _0x4eda40;});},parseQueryMetadata=_0x3eeb9d=>{const _0xea5428=a0_0x86cace,_0x7d92da={'MRezL':_0xea5428(0x275),'yjJgW':_0xea5428(0x246),'JygBf':'DELETE','qBbMn':_0xea5428(0x221),'racUg':'ROLLBACK','noAoX':_0xea5428(0x274),'ZRoAH':'ALTER'},_0x484314=_0x3eeb9d[_0xea5428(0x1d2)](),_0x5c49be=_0x484314[_0xea5428(0x22f)]();let _0x2a1994='UNKNOWN',_0x3eae6c=null;if(_0x5c49be[_0xea5428(0x1c9)]('SELECT')){_0x2a1994=_0x7d92da['MRezL'];const _0xb6f52a=_0x484314['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3eae6c=_0xb6f52a?_0xb6f52a[0x1]:null;}else{if(_0x5c49be['startsWith'](_0xea5428(0x246))){_0x2a1994=_0x7d92da['yjJgW'];const _0x2b646f=_0x484314[_0xea5428(0x24b)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3eae6c=_0x2b646f?_0x2b646f[0x1]:null;}else{if(_0x5c49be[_0xea5428(0x1c9)](_0xea5428(0x1e8))){_0x2a1994=_0xea5428(0x1e8);const _0x31a4bf=_0x484314['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3eae6c=_0x31a4bf?_0x31a4bf[0x1]:null;}else{if(_0x5c49be['startsWith'](_0x7d92da['JygBf'])){_0x2a1994=_0x7d92da['JygBf'];const _0x3f3a95=_0x484314['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3eae6c=_0x3f3a95?_0x3f3a95[0x1]:null;}else{if(_0x5c49be['startsWith']('BEGIN')||_0x5c49be['startsWith'](_0xea5428(0x229)))_0x2a1994=_0xea5428(0x240);else{if(_0x5c49be[_0xea5428(0x1c9)](_0xea5428(0x1d7)))_0x2a1994=_0x7d92da['qBbMn'];else{if(_0x5c49be['startsWith'](_0x7d92da[_0xea5428(0x24f)]))_0x2a1994=_0x7d92da[_0xea5428(0x254)];else{if(_0x5c49be[_0xea5428(0x1c9)]('CREATE'))_0x2a1994='DDL_CREATE';else{if(_0x5c49be[_0xea5428(0x1c9)](_0x7d92da[_0xea5428(0x260)]))_0x2a1994=_0xea5428(0x1d1);else _0x5c49be['startsWith'](_0xea5428(0x1eb))&&(_0x2a1994=_0xea5428(0x25e));}}}}}}}}return{'type':_0x2a1994,'table':_0x3eae6c};},startQueryTimer=()=>{const _0x9313e=a0_0x86cace,_0x15c1f2={'kYSFb':function(_0x419945,_0x5cd3d0){return _0x419945/_0x5cd3d0;}},_0x1406f6=process[_0x9313e(0x1df)]();return()=>{const _0x53dfb8=_0x9313e,[_0x1bbd48,_0x469ecd]=process[_0x53dfb8(0x1df)](_0x1406f6);return parseFloat((_0x1bbd48*0x3e8+_0x15c1f2['kYSFb'](_0x469ecd,0xf4240))['toFixed'](0x2));};},logQuery=(_0x28f84b,_0x1e7e40=[],_0x51d783={})=>{const _0x55998c=a0_0x86cace,_0x22bc43={'BZPIn':_0x55998c(0x210),'wgmta':'DB\x20Query','KCMsE':_0x55998c(0x215),'OKvvj':function(_0x41a327,_0x921636){return _0x41a327(_0x921636);},'QktBk':'sql_query','kdMfC':function(_0x23f9fa,_0x3739c0,_0x4c6171){return _0x23f9fa(_0x3739c0,_0x4c6171);},'glVPE':function(_0x3d4ace,_0x3f19d5){return _0x3d4ace!==_0x3f19d5;},'Nkaig':'unknown','ICQBJ':function(_0x1a1738,_0x1d54f8){return _0x1a1738!==_0x1d54f8;},'BLCmq':function(_0x39a33a,_0x1e96fc){return _0x39a33a>_0x1e96fc;},'dLqit':_0x55998c(0x244),'zBSKa':'\x20[SLOW]'};if(!sqlLogEnabled){logger['debug']({'event':_0x22bc43['BZPIn'],'query':_0x28f84b[_0x55998c(0x258)](0x0,0xc8),'paramCount':_0x1e7e40[_0x55998c(0x1b6)]},_0x22bc43[_0x55998c(0x22b)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x22bc43[_0x55998c(0x251)]}=_0x51d783,{type:_0x4c3159,table:_0x246854}=_0x22bc43[_0x55998c(0x1f9)](parseQueryMetadata,_0x28f84b),_0x5a4d77={'event':_0x22bc43[_0x55998c(0x20e)],'queryType':_0x4c3159,'table':_0x246854,'query':_0x28f84b,'paramCount':_0x1e7e40[_0x55998c(0x1b6)],'dbType':dbType};sqlLogParams&&_0x1e7e40['length']>0x0&&(_0x5a4d77['params']=_0x22bc43[_0x55998c(0x266)](redactSensitiveParams,_0x1e7e40,_0x28f84b));_0x22bc43[_0x55998c(0x23b)](duration,null)&&(_0x5a4d77[_0x55998c(0x236)]=duration,_0x5a4d77['isSlow']=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x5a4d77[_0x55998c(0x1f5)]=rowsAffected);const _0x562289=_0x246854||_0x22bc43[_0x55998c(0x26f)];let _0x4a0b26='['+_0x4c3159+']\x20'+_0x562289;_0x22bc43[_0x55998c(0x252)](duration,null)&&(_0x4a0b26+='\x20('+duration+_0x55998c(0x1c5));const _0x2a0dd7=duration!==null&&_0x22bc43['BLCmq'](duration,sqlLogSlowThreshold);let _0x408315=_0x22bc43['dLqit'];if(_0x2a0dd7)_0x4a0b26+=_0x22bc43['zBSKa'],_0x408315='warn',logger[_0x55998c(0x211)](_0x5a4d77,_0x4a0b26);else sqlLogLevel===_0x55998c(0x223)?(_0x408315='info',logger['info'](_0x5a4d77,_0x4a0b26)):logger['debug'](_0x5a4d77,_0x4a0b26);writeToFileLog({..._0x5a4d77,'level':_0x408315,'msg':_0x4a0b26,'time':new Date()[_0x55998c(0x1e1)]()},_0x408315);},logTransaction=(_0x4950ca,_0x5c383d)=>{const _0xef560=a0_0x86cace,_0x33422d={'SUwNk':_0xef560(0x248),'SuuLk':function(_0x537a92,_0x5c784b,_0x1f4957){return _0x537a92(_0x5c784b,_0x1f4957);},'abfZr':_0xef560(0x244)},_0x605d20={'event':_0x33422d['SUwNk'],'status':_0x4950ca,'queryCount':_0x5c383d},_0x591bcd='Transaction\x20'+_0x4950ca;logger[_0xef560(0x244)](_0x605d20,_0x591bcd),_0x33422d[_0xef560(0x247)](writeToFileLog,{..._0x605d20,'level':_0x33422d[_0xef560(0x20c)],'msg':_0x591bcd,'time':new Date()['toISOString']()},_0x33422d['abfZr']);},redactObject=_0x40f650=>{const _0x332317=a0_0x86cace,_0x46e3f3={'DeOkL':'passwd','wlFXP':_0x332317(0x263),'eIUcz':_0x332317(0x25f),'aKiST':_0x332317(0x25b),'FEEcR':'pin','tKCrl':_0x332317(0x23d),'TdFaN':'access_token','tlKuE':_0x332317(0x1dc),'mTJWw':function(_0x24ce26,_0x44eae4){return _0x24ce26!==_0x44eae4;},'NDEYK':function(_0x45ea8d,_0xd60477){return _0x45ea8d(_0xd60477);}};if(!_0x40f650||typeof _0x40f650!==_0x332317(0x1ca))return _0x40f650;const _0x1a7e12=['password',_0x46e3f3['DeOkL'],'pwd','token',_0x332317(0x226),_0x46e3f3['wlFXP'],'api_key',_0x332317(0x233),_0x332317(0x1fa),_0x46e3f3[_0x332317(0x1e2)],_0x46e3f3[_0x332317(0x1f0)],_0x332317(0x1cb),_0x46e3f3[_0x332317(0x26c)],'private_key',_0x46e3f3['tKCrl'],'refresh_token',_0x46e3f3['TdFaN']],_0x14a3b1=Array['isArray'](_0x40f650)?[..._0x40f650]:{..._0x40f650};for(const _0x15da56 of Object[_0x332317(0x23a)](_0x14a3b1)){const _0x460a27=_0x15da56[_0x332317(0x207)]();if(_0x1a7e12[_0x332317(0x1b8)](_0x9a84cf=>_0x460a27['includes'](_0x9a84cf)))_0x14a3b1[_0x15da56]=_0x46e3f3[_0x332317(0x1da)];else typeof _0x14a3b1[_0x15da56]===_0x332317(0x1ca)&&_0x46e3f3[_0x332317(0x1e9)](_0x14a3b1[_0x15da56],null)&&(_0x14a3b1[_0x15da56]=_0x46e3f3['NDEYK'](redactObject,_0x14a3b1[_0x15da56]));}return _0x14a3b1;},logError=(_0x5f4d03,_0x5771d4={},_0x257cd7=null)=>{const _0x52ad01=a0_0x86cace,_0xea70f8={'yiFqE':'Error','fMgEE':function(_0x1965c8,_0x2936a7,_0x12b60f){return _0x1965c8(_0x2936a7,_0x12b60f);},'AhwcX':_0x52ad01(0x22e)},_0xdd51b4={'event':_0x52ad01(0x22e),'errorName':_0x5f4d03['name']||_0xea70f8[_0x52ad01(0x1d9)],'errorMessage':_0x5f4d03[_0x52ad01(0x1b5)],'errorCode':_0x5f4d03[_0x52ad01(0x1ff)]||null,'stack':_0x5f4d03['stack'],..._0x5771d4},_0x484b1a=_0x257cd7||'Error:\x20'+_0x5f4d03['message'];logger['error'](_0xdd51b4,_0x484b1a),_0xea70f8['fMgEE'](writeToFileLog,{..._0xdd51b4,'level':'error','msg':_0x484b1a,'time':new Date()[_0x52ad01(0x1e1)]()},_0xea70f8['AhwcX']);},logFatalError=(_0x4c5767,_0x487d42={},_0x26935e=null)=>{const _0x2c16a7=a0_0x86cace,_0x4a3b6a={'yFJiX':_0x2c16a7(0x213),'TRqhT':'fatal','tEcmx':_0x2c16a7(0x22e)},_0x8a921e={'event':'fatal_error','errorName':_0x4c5767['name']||_0x4a3b6a['yFJiX'],'errorMessage':_0x4c5767['message'],'errorCode':_0x4c5767[_0x2c16a7(0x1ff)]||null,'stack':_0x4c5767[_0x2c16a7(0x20a)],'severity':_0x2c16a7(0x273),..._0x487d42},_0x1dd0aa=_0x26935e||'FATAL:\x20'+_0x4c5767[_0x2c16a7(0x1b5)];logger['fatal'](_0x8a921e,_0x1dd0aa),writeToFileLog({..._0x8a921e,'level':_0x4a3b6a[_0x2c16a7(0x1bc)],'msg':_0x1dd0aa,'time':new Date()[_0x2c16a7(0x1e1)]()},_0x4a3b6a[_0x2c16a7(0x267)]);},logHttpError=(_0x13d321,_0x1bdb29,_0xe47c2c={})=>{const _0x5f0d15=a0_0x86cace,_0x5b1cb9={'tBOgB':'Error','xYPXX':'x-request-id','BJBSB':function(_0x537238,_0xa2979d){return _0x537238>=_0xa2979d;},'wxvpE':'error'},_0x377830={'event':'http_error','errorName':_0x13d321['name']||_0x5b1cb9[_0x5f0d15(0x20f)],'errorMessage':_0x13d321['message'],'errorCode':_0x13d321[_0x5f0d15(0x1ff)]||_0x13d321[_0x5f0d15(0x26a)]||0x1f4,'stack':_0x13d321[_0x5f0d15(0x20a)],'method':_0x1bdb29?.[_0x5f0d15(0x276)],'url':_0x1bdb29?.[_0x5f0d15(0x1f4)]||_0x1bdb29?.[_0x5f0d15(0x1f6)],'path':_0x1bdb29?.['path'],'ip':_0x1bdb29?.['ip']||_0x1bdb29?.[_0x5f0d15(0x245)]?.[_0x5f0d15(0x212)],'userAgent':_0x1bdb29?.['get']?.('user-agent'),'requestId':_0x1bdb29?.['id']||_0x1bdb29?.[_0x5f0d15(0x1c1)]?.[_0x5b1cb9['xYPXX']],'body':_0x1bdb29?.[_0x5f0d15(0x1f3)]?redactObject(_0x1bdb29[_0x5f0d15(0x1f3)]):undefined,'query':_0x1bdb29?.[_0x5f0d15(0x1cf)],..._0xe47c2c},_0x2d9364=_0x13d321[_0x5f0d15(0x26a)]||_0x13d321[_0x5f0d15(0x253)]||0x1f4,_0x4b876a='HTTP\x20'+_0x2d9364+':\x20'+_0x13d321['message'];_0x5b1cb9['BJBSB'](_0x2d9364,0x1f4)?logger[_0x5f0d15(0x22e)](_0x377830,_0x4b876a):logger['warn'](_0x377830,_0x4b876a),writeToFileLog({..._0x377830,'level':_0x5b1cb9[_0x5f0d15(0x1e0)](_0x2d9364,0x1f4)?_0x5b1cb9[_0x5f0d15(0x1cc)]:'warn','msg':_0x4b876a,'time':new Date()[_0x5f0d15(0x1e1)]()},_0x2d9364>=0x1f4?_0x5b1cb9['wxvpE']:_0x5f0d15(0x211));},logUncaughtError=(_0x4f5dcb,_0x608a00)=>{const _0xea6f96=a0_0x86cace,_0x2e0541={'SpXpn':function(_0x3c5a4d,_0x1d8d20){return _0x3c5a4d(_0x1d8d20);}},_0x288578={'event':_0x4f5dcb,'errorName':_0x608a00?.['name']||'Error','errorMessage':_0x608a00?.[_0xea6f96(0x1b5)]||_0x2e0541['SpXpn'](String,_0x608a00),'errorCode':_0x608a00?.[_0xea6f96(0x1ff)]||null,'stack':_0x608a00?.['stack'],'severity':_0xea6f96(0x273),'processId':process[_0xea6f96(0x24e)],'memoryUsage':process['memoryUsage'](),'uptime':process[_0xea6f96(0x1e3)]()},_0x3c98e0='['+_0x4f5dcb[_0xea6f96(0x22f)]()+']\x20'+(_0x608a00?.[_0xea6f96(0x1b5)]||_0x608a00);logger[_0xea6f96(0x21e)](_0x288578,_0x3c98e0),writeToFileLog({..._0x288578,'level':_0xea6f96(0x21e),'msg':_0x3c98e0,'time':new Date()[_0xea6f96(0x1e1)]()},'error');},setupGlobalErrorHandlers=()=>{const _0x7df931=a0_0x86cace,_0x16eb8e={'GPbuy':function(_0x1ad111,_0x31396d){return _0x1ad111(_0x31396d);},'kFAZq':'unhandledRejection','zNFhU':_0x7df931(0x249),'kYQio':'warning','ilyHK':'global_error_handlers_setup','FLwOA':'Global\x20error\x20handlers\x20initialized'};process['on'](_0x7df931(0x1c7),_0xc6c773=>{logUncaughtError('uncaughtException',_0xc6c773),setTimeout(()=>{const _0x5c2467=a0_0x42d9;process[_0x5c2467(0x237)](0x1);},0x3e8);}),process['on']('unhandledRejection',(_0xd04575,_0x5b2676)=>{const _0x94e7e0=_0xd04575 instanceof Error?_0xd04575:new Error(_0x16eb8e['GPbuy'](String,_0xd04575));logUncaughtError(_0x16eb8e['kFAZq'],_0x94e7e0);}),process['on'](_0x16eb8e['kYQio'],_0xaf934a=>{const _0x15c73a=_0x7df931;logger['warn']({'event':_0x16eb8e[_0x15c73a(0x259)],'name':_0xaf934a['name'],'message':_0xaf934a['message'],'stack':_0xaf934a[_0x15c73a(0x20a)]},_0x15c73a(0x22a)+_0xaf934a[_0x15c73a(0x1b5)]);});const _0x2e9cce={'event':_0x16eb8e[_0x7df931(0x1c6)]},_0x52c57e=_0x16eb8e[_0x7df931(0x1fb)];logger['info'](_0x2e9cce,_0x52c57e),writeToFileLog({..._0x2e9cce,'level':_0x7df931(0x223),'msg':_0x52c57e,'time':new Date()['toISOString']()},_0x7df931(0x223));},createErrorHandlerMiddleware=()=>{const _0x42af1d=a0_0x86cace,_0x154fe9={'vZgWE':function(_0x28a2e6,_0x10836a,_0x4991ca){return _0x28a2e6(_0x10836a,_0x4991ca);},'ISyxt':function(_0x2accf7,_0x3466ee){return _0x2accf7>=_0x3466ee;},'Dcjje':'Internal\x20server\x20error','waMrL':_0x42af1d(0x21c)};return(_0x2d4e73,_0x5d1748,_0x5124eb,_0x7f3341)=>{const _0x5dc5f9=_0x42af1d;_0x154fe9['vZgWE'](logHttpError,_0x2d4e73,_0x5d1748);const _0x33690f=_0x2d4e73['statusCode']||_0x2d4e73[_0x5dc5f9(0x253)]||0x1f4;_0x5124eb[_0x5dc5f9(0x253)](_0x33690f)[_0x5dc5f9(0x269)]({'success':![],'error':_0x154fe9['ISyxt'](_0x33690f,0x1f4)?_0x154fe9[_0x5dc5f9(0x1b4)]:_0x2d4e73['message'],'requestId':_0x5d1748['id']||_0x5d1748['headers']?.[_0x154fe9['waMrL']]||null});};};module[a0_0x86cace(0x1ec)]={'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_0x489caa=a0_0x4ba9;(function(_0x56bc74,_0x1e45ca){const _0x2f18eb=a0_0x4ba9,_0x676515=_0x56bc74();while(!![]){try{const _0x4ae9e0=-parseInt(_0x2f18eb(0x18a))/0x1+parseInt(_0x2f18eb(0x19a))/0x2*(parseInt(_0x2f18eb(0x18e))/0x3)+-parseInt(_0x2f18eb(0x1a5))/0x4*(parseInt(_0x2f18eb(0x193))/0x5)+-parseInt(_0x2f18eb(0x19c))/0x6+-parseInt(_0x2f18eb(0x198))/0x7*(parseInt(_0x2f18eb(0x19b))/0x8)+parseInt(_0x2f18eb(0x1a1))/0x9+parseInt(_0x2f18eb(0x1a0))/0xa;if(_0x4ae9e0===_0x1e45ca)break;else _0x676515['push'](_0x676515['shift']());}catch(_0x234983){_0x676515['push'](_0x676515['shift']());}}}(a0_0x14ff,0xb6c01));const dbType=(process['env']['DB_TYPE']||a0_0x489caa(0x186))[a0_0x489caa(0x188)]();let executeQuery;if(dbType===a0_0x489caa(0x185)){const oracleDb=require('./db-oracle');executeQuery=(_0x42f68d,_0x347035)=>oracleDb[a0_0x489caa(0x1a6)](_0x42f68d,_0x347035);}else{if(dbType===a0_0x489caa(0x195)){const mysqlDb=require('./db-mysql');executeQuery=(_0x371393,_0x140119)=>mysqlDb[a0_0x489caa(0x1a6)](_0x371393,_0x140119);}else executeQuery=require('./db')['executeQuery'];}function a0_0x14ff(){const _0x524d11=['ChvZAa','BgvUz3rO','B3jHy2XL','Cg9ZDgDYzxnXBa','A2v5CW','Dg9mB3DLCKnHC2u','tg9VA3vWihrHyMXLigXVywrLzdOG','ndaYnte0uxnMwwrj','C1ngEg4','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','Bg9VA3vWx3rHyMXLx2XVywrLza','mtKYwvv2EfnM','Bg9HzeXVB2T1CfrHyMXL','BwvZC2fNzq','lI9SB2DNzxi','Aw5MBW','mtaXmgvjq29tua','CfPduhm','BxLZCwW','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','Dg9vChbLCKnHC2u','mZG5mJbLzuLRExy','vMfSDwuGiG','oteYnKTHsePQsW','mJu2rvvHr25x','mtG1ndaXmK10DhfmuW','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','zw50CMLLCW','y2XLyxi','mteYnJi3ntb1sun1zeK','nJe5mZaWoeXxvLH6ta','zxHWB3j0CW','z2v0rgLZDgLUy3rwywX1zxm','EuPSvuG','oti3nMPps3LguG','zxHLy3v0zvf1zxj5','DhjPBq','BwfW','C2v0','y2XLyxjdywnOzq','zgvIDwC','z2v0','zM9YrwfJAa','Du5qy0S','CMvZB2X2zuXVB2T1CfzHBhvL','we5wrLG','DMfSAwrHDgvmB29RDxbwywX1zxm','u0vmrunuia','iIbUB3qGzM91BMqGAw4G','AgfZ','zxjYB3i','A0T1u0q','Bg9VA3vWq2fJAgu','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq'];a0_0x14ff=function(){return _0x524d11;};return a0_0x14ff();}const {logger}=require(a0_0x489caa(0x191));class LookupResolver{constructor(){const _0x4f5b43=a0_0x489caa;this[_0x4f5b43(0x181)]=new Map();}[a0_0x489caa(0x1aa)](){const _0x2dde10=a0_0x489caa;this[_0x2dde10(0x181)][_0x2dde10(0x19f)](),logger[_0x2dde10(0x1ab)]({'event':'lookup_cache_cleared'},'Lookup\x20cache\x20cleared');}async[a0_0x489caa(0x18f)](_0x7c210,_0x17d1fe,_0x30b932){const _0x4ce529=a0_0x489caa,_0x232974={'FiVcf':function(_0xbc4fed,_0x15e398){return _0xbc4fed!==_0x15e398;},'kKuSD':function(_0x3457fd,_0x39cc14){return _0x3457fd!==_0x39cc14;},'meDNI':function(_0x3670b9,_0x45b4d8){return _0x3670b9(_0x45b4d8);},'frYIa':_0x4ce529(0x18d)},_0x3cd1c3=_0x7c210+':'+_0x17d1fe+':'+_0x30b932;if(this[_0x4ce529(0x181)][_0x4ce529(0x1b4)](_0x3cd1c3))return this['lookupCache'][_0x4ce529(0x1ac)](_0x3cd1c3);try{const _0x15636c=_0x4ce529(0x1b2)+_0x30b932+',\x20'+_0x17d1fe+'\x20FROM\x20'+_0x7c210,_0x4df713=await executeQuery(_0x15636c),_0x47648a=new Map();return _0x4df713['forEach'](_0x5432f8=>{const _0x41fe6e=_0x4ce529,_0x473e4f=_0x232974['FiVcf'](_0x5432f8[_0x17d1fe],undefined)?_0x5432f8[_0x17d1fe]:_0x5432f8[_0x17d1fe[_0x41fe6e(0x197)]()],_0x93cfb5=_0x232974[_0x41fe6e(0x180)](_0x5432f8[_0x30b932],undefined)?_0x5432f8[_0x30b932]:_0x5432f8[_0x30b932['toUpperCase']()];_0x473e4f!==null&&_0x473e4f!==undefined&&(_0x47648a['set'](String(_0x473e4f)[_0x41fe6e(0x188)]()['trim'](),_0x93cfb5),_0x47648a[_0x41fe6e(0x1a9)](_0x232974['meDNI'](String,_0x473e4f)['trim'](),_0x93cfb5));}),this['lookupCache'][_0x4ce529(0x1a9)](_0x3cd1c3,_0x47648a),logger[_0x4ce529(0x192)]({'event':_0x232974['frYIa'],'table':_0x7c210,'column':_0x17d1fe,'count':_0x4df713['length']},_0x4ce529(0x189)+_0x7c210),_0x47648a;}catch(_0x12f6dd){logger[_0x4ce529(0x17f)]({'event':'lookup_table_load_error','table':_0x7c210,'error':_0x12f6dd[_0x4ce529(0x190)]},_0x4ce529(0x18c)+_0x7c210);throw _0x12f6dd;}}['resolveLookupValue'](_0x17b884,_0x5033bc){const _0x4ca39d=a0_0x489caa,_0x1a8fe4={'uNPcK':function(_0x3b49e1,_0xa06726){return _0x3b49e1===_0xa06726;},'qfjeE':function(_0x5ca71e,_0x352fa0){return _0x5ca71e===_0x352fa0;}};if(_0x17b884===null||_0x1a8fe4[_0x4ca39d(0x1ae)](_0x17b884,undefined)||_0x1a8fe4['qfjeE'](_0x17b884,''))return null;const _0x345ad6=String(_0x17b884)['trim']();if(_0x5033bc[_0x4ca39d(0x1b4)](_0x345ad6))return _0x5033bc['get'](_0x345ad6);const _0x55808e=_0x345ad6[_0x4ca39d(0x188)]();if(_0x5033bc['has'](_0x55808e))return _0x5033bc[_0x4ca39d(0x1ac)](_0x55808e);return null;}async['processLookupFields'](_0x225b05,_0x11b6a4){const _0x2d2e1d=a0_0x489caa,_0xbaf5da={'wWYtm':function(_0x23b762,_0x3290ff){return _0x23b762===_0x3290ff;},'pZCPs':function(_0x48b11a,_0x18d7da){return _0x48b11a===_0x18d7da;},'vBDQe':_0x2d2e1d(0x19d)};if(!_0x11b6a4||_0xbaf5da['pZCPs'](Object[_0x2d2e1d(0x187)](_0x11b6a4)['length'],0x0))return{'processedRows':_0x225b05,'errors':[]};const _0x199d79=[],_0x265ccd=new Map();for(const [_0x3a096a,_0x588e20]of Object[_0x2d2e1d(0x19e)](_0x11b6a4)){const {lookupTable:_0x54d7f3,lookupColumn:_0x2e3bba,lookupIdColumn:_0xaa8a9c}=_0x588e20,_0x140632=_0x54d7f3+':'+_0x2e3bba+':'+_0xaa8a9c;if(!_0x265ccd[_0x2d2e1d(0x1b4)](_0x140632)){const _0x13f94e=await this[_0x2d2e1d(0x18f)](_0x54d7f3,_0x2e3bba,_0xaa8a9c);_0x265ccd['set'](_0x140632,_0x13f94e);}}const _0x3f5955=_0x225b05[_0x2d2e1d(0x1a8)]((_0x2ac054,_0x2cfed6)=>{const _0x290ef9=_0x2d2e1d,_0x19b872={..._0x2ac054};for(const [_0x4e4638,_0x534b4b]of Object[_0x290ef9(0x19e)](_0x11b6a4)){const {lookupTable:_0x3decac,lookupColumn:_0xf3b9dc,lookupIdColumn:_0xbd4b5f,targetField:_0x432d74,required:_0x338895}=_0x534b4b,_0x17f730=_0x3decac+':'+_0xf3b9dc+':'+_0xbd4b5f,_0x36c18a=_0x265ccd[_0x290ef9(0x1ac)](_0x17f730),_0x4e03dd=_0x2ac054[_0x4e4638];if((_0xbaf5da['wWYtm'](_0x4e03dd,null)||_0xbaf5da[_0x290ef9(0x194)](_0x4e03dd,undefined)||_0x4e03dd==='')&&!_0x338895){_0x19b872[_0x432d74]=null;continue;}const _0x14c8b4=this['resolveLookupValue'](_0x4e03dd,_0x36c18a);_0x14c8b4!==null?_0x19b872[_0x432d74]=_0x14c8b4:(_0x338895&&_0x199d79[_0x290ef9(0x183)]({'rowIndex':_0x2cfed6,'field':_0x4e4638,'value':_0x4e03dd,'targetField':_0x432d74,'lookupTable':_0x3decac,'message':_0x290ef9(0x199)+_0x4e03dd+_0x290ef9(0x1b3)+_0x3decac}),_0x19b872[_0x432d74]=null);}return _0x19b872;});return logger[_0x2d2e1d(0x192)]({'event':_0xbaf5da['vBDQe'],'totalRows':_0x225b05[_0x2d2e1d(0x184)],'errorCount':_0x199d79[_0x2d2e1d(0x184)],'lookupFieldCount':Object[_0x2d2e1d(0x187)](_0x11b6a4)['length']},_0x2d2e1d(0x182)),{'processedRows':_0x3f5955,'errors':_0x199d79};}[a0_0x489caa(0x1a3)](_0xdd2f88,_0x43790e){const _0x7e5f07=a0_0x489caa,_0x4cc992={'qJPpg':function(_0x1f3f95,_0xe3a364){return _0x1f3f95!==_0xe3a364;},'yJlUH':function(_0xc8d836,_0x5871b5){return _0xc8d836(_0x5871b5);}},_0x1acb64=new Set();return _0xdd2f88[_0x7e5f07(0x1ad)](_0x163a9d=>{const _0xb37f4c=_0x7e5f07,_0x5b3395=_0x163a9d[_0x43790e];_0x5b3395!==null&&_0x4cc992['qJPpg'](_0x5b3395,undefined)&&_0x5b3395!==''&&_0x1acb64['add'](_0x4cc992[_0xb37f4c(0x1a4)](String,_0x5b3395)[_0xb37f4c(0x1a7)]());}),Array['from'](_0x1acb64);}async[a0_0x489caa(0x1b1)](_0x3c97e6,_0x1baeea){const _0x27698d=a0_0x489caa,_0x35d431={'HGRFR':function(_0x4e1a4c,_0x44148c){return _0x4e1a4c!==_0x44148c;},'XNVFX':function(_0x36b80f,_0x183163){return _0x36b80f===_0x183163;},'sSFxn':function(_0x404884,_0x2cd140){return _0x404884>_0x2cd140;}};if(!_0x1baeea||Object[_0x27698d(0x187)](_0x1baeea)['length']===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x4bfa49=[],_0x10976c={};for(const [_0x442d0b,_0x3a66db]of Object[_0x27698d(0x19e)](_0x1baeea)){const {lookupTable:_0x3476d1,lookupColumn:_0x541197,lookupIdColumn:_0x1a5809,required:_0x35adee}=_0x3a66db,_0x4da96f=this[_0x27698d(0x1a3)](_0x3c97e6,_0x442d0b),_0x2944fc=await this[_0x27698d(0x18f)](_0x3476d1,_0x541197,_0x1a5809),_0x2fb053=[],_0x92aa6d=[];_0x4da96f[_0x27698d(0x1ad)](_0xef3dcb=>{const _0x5a431f=_0x27698d,_0xa2a1af=this[_0x5a431f(0x1af)](_0xef3dcb,_0x2944fc);_0x35d431['HGRFR'](_0xa2a1af,null)?_0x92aa6d['push'](_0xef3dcb):_0x2fb053[_0x5a431f(0x183)](_0xef3dcb);});if(_0x35d431[_0x27698d(0x18b)](_0x2fb053[_0x27698d(0x184)],0x0)&&_0x35adee){_0x4bfa49['push']({'field':_0x442d0b,'lookupTable':_0x3476d1,'invalidValues':_0x2fb053,'message':_0x2fb053[_0x27698d(0x184)]+_0x27698d(0x196)+_0x3476d1});const _0x375937=[];_0x2944fc[_0x27698d(0x1ad)]((_0x4c908d,_0x7144e4)=>{const _0x2d2bd1=_0x27698d;if(_0x35d431[_0x2d2bd1(0x1b0)](_0x7144e4,_0x7144e4[_0x2d2bd1(0x188)]()))return;_0x375937['push'](_0x7144e4);}),_0x10976c[_0x442d0b]={'invalidValues':_0x2fb053,'availableValues':_0x375937['slice'](0x0,0x32)};}}return{'valid':_0x35d431['XNVFX'](_0x4bfa49[_0x27698d(0x184)],0x0),'errors':_0x4bfa49,'suggestions':_0x10976c};}}function a0_0x4ba9(_0x4f30a8,_0x456d4f){_0x4f30a8=_0x4f30a8-0x17f;const _0x14ff03=a0_0x14ff();let _0x4ba95b=_0x14ff03[_0x4f30a8];if(a0_0x4ba9['FKBsER']===undefined){var _0x1ce741=function(_0x181bfc){const _0x697539='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4425a3='',_0x5afad0='';for(let _0x372f0d=0x0,_0x134334,_0x2b9d80,_0x4ecba0=0x0;_0x2b9d80=_0x181bfc['charAt'](_0x4ecba0++);~_0x2b9d80&&(_0x134334=_0x372f0d%0x4?_0x134334*0x40+_0x2b9d80:_0x2b9d80,_0x372f0d++%0x4)?_0x4425a3+=String['fromCharCode'](0xff&_0x134334>>(-0x2*_0x372f0d&0x6)):0x0){_0x2b9d80=_0x697539['indexOf'](_0x2b9d80);}for(let _0x26413e=0x0,_0x264857=_0x4425a3['length'];_0x26413e<_0x264857;_0x26413e++){_0x5afad0+='%'+('00'+_0x4425a3['charCodeAt'](_0x26413e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5afad0);};a0_0x4ba9['lxweOf']=_0x1ce741,a0_0x4ba9['RmTMaA']={},a0_0x4ba9['FKBsER']=!![];}const _0x15d788=_0x14ff03[0x0],_0x36543b=_0x4f30a8+_0x15d788,_0x2f7ba7=a0_0x4ba9['RmTMaA'][_0x36543b];return!_0x2f7ba7?(_0x4ba95b=a0_0x4ba9['lxweOf'](_0x4ba95b),a0_0x4ba9['RmTMaA'][_0x36543b]=_0x4ba95b):_0x4ba95b=_0x2f7ba7,_0x4ba95b;}module[a0_0x489caa(0x1a2)]=new LookupResolver();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x1fcf7a=a0_0x36d3;(function(_0x135cd3,_0x360c2a){const _0x1a658e=a0_0x36d3,_0xd7df1e=_0x135cd3();while(!![]){try{const _0x3de520=parseInt(_0x1a658e(0xb7))/0x1+parseInt(_0x1a658e(0xb9))/0x2*(parseInt(_0x1a658e(0xa9))/0x3)+-parseInt(_0x1a658e(0xbb))/0x4+-parseInt(_0x1a658e(0xb0))/0x5*(parseInt(_0x1a658e(0xa1))/0x6)+-parseInt(_0x1a658e(0xba))/0x7*(-parseInt(_0x1a658e(0xb5))/0x8)+-parseInt(_0x1a658e(0xa6))/0x9+-parseInt(_0x1a658e(0xb1))/0xa*(-parseInt(_0x1a658e(0x9f))/0xb);if(_0x3de520===_0x360c2a)break;else _0xd7df1e['push'](_0xd7df1e['shift']());}catch(_0x4ac531){_0xd7df1e['push'](_0xd7df1e['shift']());}}}(a0_0x1d15,0xd53c1));const fs=require('fs')[a0_0x1fcf7a(0x9d)],path=require(a0_0x1fcf7a(0xa2)),{logger}=require('./logger');function a0_0x36d3(_0x165484,_0xb05781){_0x165484=_0x165484-0x9d;const _0x1d1599=a0_0x1d15();let _0x36d3b8=_0x1d1599[_0x165484];if(a0_0x36d3['qTWnke']===undefined){var _0x3b406d=function(_0x5ae1ba){const _0x464f01='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x251aa8='',_0xe0a267='';for(let _0x4a9823=0x0,_0x3ce7fc,_0x30189d,_0xbf73f9=0x0;_0x30189d=_0x5ae1ba['charAt'](_0xbf73f9++);~_0x30189d&&(_0x3ce7fc=_0x4a9823%0x4?_0x3ce7fc*0x40+_0x30189d:_0x30189d,_0x4a9823++%0x4)?_0x251aa8+=String['fromCharCode'](0xff&_0x3ce7fc>>(-0x2*_0x4a9823&0x6)):0x0){_0x30189d=_0x464f01['indexOf'](_0x30189d);}for(let _0x4c9f6f=0x0,_0x33eed6=_0x251aa8['length'];_0x4c9f6f<_0x33eed6;_0x4c9f6f++){_0xe0a267+='%'+('00'+_0x251aa8['charCodeAt'](_0x4c9f6f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xe0a267);};a0_0x36d3['jLGcky']=_0x3b406d,a0_0x36d3['oAwjfw']={},a0_0x36d3['qTWnke']=!![];}const _0x47db76=_0x1d1599[0x0],_0x1f77bc=_0x165484+_0x47db76,_0x5a324e=a0_0x36d3['oAwjfw'][_0x1f77bc];return!_0x5a324e?(_0x36d3b8=a0_0x36d3['jLGcky'](_0x36d3b8),a0_0x36d3['oAwjfw'][_0x1f77bc]=_0x36d3b8):_0x36d3b8=_0x5a324e,_0x36d3b8;}function a0_0x1d15(){const _0x44b5d5=['zMLLBgrmywjLBhm','mtq3mZiZmdD6ruzjBLO','z2v0rxHWB3j0q29UzMLN','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','mtC0vMTmsM1J','BwvZC2fNzq','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','ugf5Bg9HzcbUB3qGzM91BMq6ia','q3jstMq','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','lMPZB24','mtyWmdu5me1IrM92Dq','nJqXmJmWywXzz3Lc','CvLrENC','DxrMoa','CgfYC2u','mZCWntK3nKPPwM9Yyq','Cgf5Bg9HzerPCG','mZq1mJi0CMPQyKj6','CMvWBgfJzq','mJC0mdbTAwDfwe0','mtrZzvvfreS','nZKWoduYAM9eufbA','lI4VlI4VCgf5Bg9Hza','ChjVBwLZzxm','zMLLBgroyw1L','mty1A0LNCMrT','y2XLyxi','nM1yzfneEG','Cgf0Aa','y2fJAgu','CMvHzezPBgu'];a0_0x1d15=function(){return _0x44b5d5;};return a0_0x1d15();}class PayloadLoader{constructor(){const _0x181a14=a0_0x1fcf7a,_0x262d98={'tqtgC':_0x181a14(0xbc)};this[_0x181a14(0xb6)]=path['join'](__dirname,_0x262d98['tqtgC']),this[_0x181a14(0xa3)]=new Map();}async['loadPayload'](_0x44ab42,_0x3de348){const _0x410712=a0_0x1fcf7a,_0x2a2b51={'qYQzw':_0x410712(0xae),'yriTF':'payload_load_error'},_0x3e15b4=_0x44ab42+':'+_0x3de348;if(this['cache']['has'](_0x3e15b4))return this['cache']['get'](_0x3e15b4);const _0x377dfc=path['join'](this['payloadDir'],_0x44ab42+'_'+_0x3de348+'.json');try{const _0x3859e5=await fs[_0x410712(0xa4)](_0x377dfc,_0x410712(0xb3)),_0x1d1b13=JSON[_0x410712(0xb4)](_0x3859e5);return this[_0x410712(0xa3)]['set'](_0x3e15b4,_0x1d1b13),logger['debug']({'event':'payload_loaded','project':_0x44ab42,'resource':_0x3de348},_0x2a2b51[_0x410712(0xb2)]),_0x1d1b13;}catch(_0x5d5004){logger['error']({'event':_0x2a2b51['yriTF'],'project':_0x44ab42,'resource':_0x3de348,'error':_0x5d5004['message']},_0x410712(0xa8));throw new Error(_0x410712(0xac)+_0x44ab42+'_'+_0x3de348);}}async['loadPayloadByName'](_0x2daae6){const _0x53d707=a0_0x1fcf7a,_0x4233a9={'CrRNd':'payload_load_error'},_0x3c87d3='payload:'+_0x2daae6;if(this[_0x53d707(0xa3)]['has'](_0x3c87d3))return this[_0x53d707(0xa3)]['get'](_0x3c87d3);const _0x53c714=path['join'](this['payloadDir'],_0x2daae6+_0x53d707(0xaf));try{const _0x454358=await fs['readFile'](_0x53c714,_0x53d707(0xb3)),_0x1b2469=JSON[_0x53d707(0xb4)](_0x454358);return this['cache']['set'](_0x3c87d3,_0x1b2469),logger['debug']({'event':'payload_loaded','payloadName':_0x2daae6},'Payload\x20loaded\x20successfully\x20by\x20name'),_0x1b2469;}catch(_0x3b0153){logger['error']({'event':_0x4233a9[_0x53d707(0xad)],'payloadName':_0x2daae6,'error':_0x3b0153[_0x53d707(0xaa)]},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error(_0x53d707(0xac)+_0x2daae6);}}['isActionEnabled'](_0x47d641,_0x405a2c){return _0x47d641['action']&&_0x47d641['action'][_0x405a2c]===!![];}[a0_0x1fcf7a(0xa7)](_0x5dcbfb){const _0x380faa=a0_0x1fcf7a;return{'columns':_0x5dcbfb[_0x380faa(0x9e)]||[],'filename':_0x5dcbfb['tableName'][_0x380faa(0xb8)]('.','-')+'-export','datatablesQuery':_0x5dcbfb['datatablesQuery']||null,'columnFormats':_0x5dcbfb['columnFormats']||null,'fieldLabels':_0x5dcbfb[_0x380faa(0xa5)]||null};}['clearCache'](){const _0x208f74=a0_0x1fcf7a;this[_0x208f74(0xa3)][_0x208f74(0xa0)](),logger['info']({'event':'payload_cache_cleared'},_0x208f74(0xab));}}module['exports']=new PayloadLoader();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';(function(_0x1ea17c,_0xd81a62){var _0x66d40c=a0_0x172e,_0x9c09aa=_0x1ea17c();while(!![]){try{var _0x5ef685=-parseInt(_0x66d40c(0x170))/0x1+parseInt(_0x66d40c(0x173))/0x2+parseInt(_0x66d40c(0x174))/0x3+parseInt(_0x66d40c(0x177))/0x4+-parseInt(_0x66d40c(0x179))/0x5*(-parseInt(_0x66d40c(0x176))/0x6)+parseInt(_0x66d40c(0x178))/0x7*(-parseInt(_0x66d40c(0x175))/0x8)+-parseInt(_0x66d40c(0x171))/0x9*(parseInt(_0x66d40c(0x172))/0xa);if(_0x5ef685===_0xd81a62)break;else _0x9c09aa['push'](_0x9c09aa['shift']());}catch(_0x5511cf){_0x9c09aa['push'](_0x9c09aa['shift']());}}}(a0_0x2cf7,0x63a0e));function createResponse(_0x1d7bb8,_0xe8a106,_0x24bcfd=null){return{'success':!![],'statusCode':_0x1d7bb8,'message':_0xe8a106,'data':_0x24bcfd,'timestamp':new Date()['toISOString']()};}function createError(_0x305653,_0x2c453f,_0x3570ad=null){return{'success':![],'statusCode':_0x305653,'message':_0x2c453f,'data':_0x3570ad,'timestamp':new Date()['toISOString']()};}function a0_0x172e(_0x4b564f,_0x20c096){_0x4b564f=_0x4b564f-0x170;var _0x2cf75b=a0_0x2cf7();var _0x172ed8=_0x2cf75b[_0x4b564f];if(a0_0x172e['VypmzA']===undefined){var _0x1e50c3=function(_0x2f1130){var _0x2c2c0c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x910d09='',_0x54d307='';for(var _0x55a5f1=0x0,_0x593788,_0x511d28,_0x52aa59=0x0;_0x511d28=_0x2f1130['charAt'](_0x52aa59++);~_0x511d28&&(_0x593788=_0x55a5f1%0x4?_0x593788*0x40+_0x511d28:_0x511d28,_0x55a5f1++%0x4)?_0x910d09+=String['fromCharCode'](0xff&_0x593788>>(-0x2*_0x55a5f1&0x6)):0x0){_0x511d28=_0x2c2c0c['indexOf'](_0x511d28);}for(var _0x44c88f=0x0,_0x504150=_0x910d09['length'];_0x44c88f<_0x504150;_0x44c88f++){_0x54d307+='%'+('00'+_0x910d09['charCodeAt'](_0x44c88f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x54d307);};a0_0x172e['fdcviv']=_0x1e50c3,a0_0x172e['OkkwMO']={},a0_0x172e['VypmzA']=!![];}var _0x39e5a2=_0x2cf75b[0x0],_0x16e04d=_0x4b564f+_0x39e5a2,_0x474eb0=a0_0x172e['OkkwMO'][_0x16e04d];return!_0x474eb0?(_0x172ed8=a0_0x172e['fdcviv'](_0x172ed8),a0_0x172e['OkkwMO'][_0x16e04d]=_0x172ed8):_0x172ed8=_0x474eb0,_0x172ed8;}function a0_0x2cf7(){var _0x1075ba=['mteYntiZnfjKuxH0uq','mtq5nJbICfL0vw0','mtjVwuTcqMS','mtCXodKYBgrzDgjv','mte5n0ziA05wAG','mteZntGZnur3Dfn2uG','oda2mty0EKfurMPl','mtK4ou9st1Hxsq','ndy5mfDHwg5bsW','mtuZmdu1mNf4wxvKtq'];a0_0x2cf7=function(){return _0x1075ba;};return a0_0x2cf7();}function createValidationError(_0x1ee6f8,_0x522208){return{'success':![],'statusCode':0x190,'message':_0x1ee6f8,'data':{'errors':_0x522208},'timestamp':new Date()['toISOString']()};}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
|
package/src/utils/rabbitmq.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x48d7eb=a0_0x2d2e;(function(_0x369cb3,_0x131241){const _0x449c80=a0_0x2d2e,_0x49113a=_0x369cb3();while(!![]){try{const _0x5e7c4e=-parseInt(_0x449c80(0xb9))/0x1+-parseInt(_0x449c80(0xc8))/0x2*(parseInt(_0x449c80(0xa4))/0x3)+parseInt(_0x449c80(0xbe))/0x4+parseInt(_0x449c80(0xd1))/0x5+-parseInt(_0x449c80(0xbf))/0x6+-parseInt(_0x449c80(0xc5))/0x7*(parseInt(_0x449c80(0xba))/0x8)+parseInt(_0x449c80(0xd3))/0x9;if(_0x5e7c4e===_0x131241)break;else _0x49113a['push'](_0x49113a['shift']());}catch(_0x14061c){_0x49113a['push'](_0x49113a['shift']());}}}(a0_0x4349,0x5941f),require(a0_0x48d7eb(0xd2))[a0_0x48d7eb(0xa5)]());const amqp=require(a0_0x48d7eb(0xc7)),{formatDate}=require(a0_0x48d7eb(0xce)),RABBITMQ_URL=process['env']['RABBITMQ_URL'],EXCHANGE=process['env'][a0_0x48d7eb(0xb2)],ROUTING_KEY=process['env']['RABBITMQ_ROUTING_KEY'],QUEUE=process[a0_0x48d7eb(0xbd)][a0_0x48d7eb(0xca)];function a0_0x2d2e(_0x3fc6ba,_0x35f2f6){_0x3fc6ba=_0x3fc6ba-0xa1;const _0x43499a=a0_0x4349();let _0x2d2e03=_0x43499a[_0x3fc6ba];if(a0_0x2d2e['TqtjnV']===undefined){var _0x3ff53b=function(_0x4bc026){const _0x171b98='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5b690a='',_0x2c577e='';for(let _0xad34d1=0x0,_0x3c9807,_0x2c80d4,_0x36bb40=0x0;_0x2c80d4=_0x4bc026['charAt'](_0x36bb40++);~_0x2c80d4&&(_0x3c9807=_0xad34d1%0x4?_0x3c9807*0x40+_0x2c80d4:_0x2c80d4,_0xad34d1++%0x4)?_0x5b690a+=String['fromCharCode'](0xff&_0x3c9807>>(-0x2*_0xad34d1&0x6)):0x0){_0x2c80d4=_0x171b98['indexOf'](_0x2c80d4);}for(let _0x2bf3a5=0x0,_0x4bf529=_0x5b690a['length'];_0x2bf3a5<_0x4bf529;_0x2bf3a5++){_0x2c577e+='%'+('00'+_0x5b690a['charCodeAt'](_0x2bf3a5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2c577e);};a0_0x2d2e['xGZSvD']=_0x3ff53b,a0_0x2d2e['suUBMT']={},a0_0x2d2e['TqtjnV']=!![];}const _0x40dd71=_0x43499a[0x0],_0x4c7093=_0x3fc6ba+_0x40dd71,_0x191bc4=a0_0x2d2e['suUBMT'][_0x4c7093];return!_0x191bc4?(_0x2d2e03=a0_0x2d2e['xGZSvD'](_0x2d2e03),a0_0x2d2e['suUBMT'][_0x4c7093]=_0x2d2e03):_0x2d2e03=_0x191bc4,_0x2d2e03;}async function createConnection(){const _0x5468d3=a0_0x48d7eb;try{const _0x154140=await amqp['connect'](RABBITMQ_URL);return console[_0x5468d3(0xa6)]('['+formatDate(new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x154140;}catch(_0x2a2979){console['error']('['+formatDate(new Date())+_0x5468d3(0xaa)+_0x2a2979['message']);throw _0x2a2979;}}async function createChannel(_0xce870a){const _0x1a7f2b=a0_0x48d7eb;try{const _0x1c04ec=await _0xce870a['createChannel']();return console['log']('['+formatDate(new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x1c04ec;}catch(_0x27df98){console[_0x1a7f2b(0xcf)]('['+formatDate(new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x27df98[_0x1a7f2b(0xa2)]);throw _0x27df98;}}async function setupInfrastructure(_0x468a1f){const _0x28036c=a0_0x48d7eb,_0x2b2625={'IvwTa':function(_0x25b531,_0x3022b5){return _0x25b531(_0x3022b5);},'sqzKc':_0x28036c(0xb3),'tUKsy':function(_0x1acd11,_0x4eba09){return _0x1acd11(_0x4eba09);},'bDRbE':function(_0x13cbba,_0x220dd8){return _0x13cbba(_0x220dd8);},'Iawmg':_0x28036c(0xbc),'YxwIh':function(_0x4f0839,_0x11c612){return _0x4f0839===_0x11c612;},'HJtNN':_0x28036c(0xc4),'jsqLb':_0x28036c(0xcc)};try{await _0x468a1f['assertExchange'](_0x28036c(0xbc),'direct',{'durable':!![],'autoDelete':![]}),console[_0x28036c(0xa6)]('['+formatDate(new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x1c831e){console['error']('['+_0x2b2625[_0x28036c(0xd0)](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x1c831e['message']);throw _0x1c831e;}try{await _0x468a1f[_0x28036c(0xb5)](EXCHANGE,_0x2b2625[_0x28036c(0xc0)],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x2b2625['IvwTa'](formatDate,new Date())+_0x28036c(0xa9)+EXCHANGE+_0x28036c(0xa1));}catch(_0x1d5f7e){console['error']('['+_0x2b2625[_0x28036c(0xc9)](formatDate,new Date())+_0x28036c(0xbb)+EXCHANGE+':',_0x1d5f7e[_0x28036c(0xa2)]);throw _0x1d5f7e;}const _0xcaae70=ROUTING_KEY+_0x28036c(0xa8);try{const _0x5bb30d={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x468a1f['assertQueue'](_0xcaae70,_0x5bb30d),console[_0x28036c(0xa6)]('['+_0x2b2625['bDRbE'](formatDate,new Date())+']\x20Retry\x20queue\x20'+_0xcaae70+'\x20created/ready'),await _0x468a1f['bindQueue'](_0xcaae70,'retry-exchange',ROUTING_KEY),console[_0x28036c(0xa6)]('['+formatDate(new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+_0x28036c(0xc3));}catch(_0x7b756b){console[_0x28036c(0xcf)]('['+_0x2b2625[_0x28036c(0xab)](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x7b756b[_0x28036c(0xa2)]);throw _0x7b756b;}try{const _0x5eb6bc={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x2b2625['Iawmg'],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x5ebda3=await _0x468a1f[_0x28036c(0xaf)](QUEUE,_0x5eb6bc);console[_0x28036c(0xa6)]('['+formatDate(new Date())+_0x28036c(0xb0)+QUEUE+'\x20'+(_0x2b2625[_0x28036c(0xb7)](_0x5ebda3['queue'],QUEUE)?_0x2b2625[_0x28036c(0xcb)]:'found')+'\x20with\x20DLX'),await _0x468a1f[_0x28036c(0xae)](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+formatDate(new Date())+_0x28036c(0xb1)+EXCHANGE+_0x28036c(0xac)+QUEUE+'\x20('+ROUTING_KEY+_0x28036c(0xb4));}catch(_0x531d18){if(_0x531d18['message'][_0x28036c(0xcd)]('inequivalent\x20arg')&&_0x531d18[_0x28036c(0xa2)][_0x28036c(0xcd)](_0x2b2625['jsqLb']))console['error']('\x0a['+formatDate(new Date())+_0x28036c(0xb6)+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console['error'](_0x28036c(0xc1)+QUEUE+_0x28036c(0xb8)),console['error']('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process[_0x28036c(0xad)](0x1);else{console[_0x28036c(0xcf)]('['+formatDate(new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x531d18[_0x28036c(0xa2)]);throw _0x531d18;}}}catch(_0x20b666){if(!_0x20b666[_0x28036c(0xa2)]['includes'](_0x28036c(0xc6))){console[_0x28036c(0xcf)]('['+formatDate(new Date())+_0x28036c(0xc2),_0x20b666[_0x28036c(0xa2)]);throw _0x20b666;}process['exit'](0x1);}}function a0_0x4349(){const _0x2986e5=['mZe3nJqWu3bdtgvI','mtq2ndHpA0HPCfy','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','CMv0CNKTzxHJAgfUz2u','zw52','mtm3nZCWneDRCfHVCG','mJq4mZa0mhr2uKH0yq','C3f6s2m','uxvLDwuG','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','ignYzwf0zwq','y3jLyxrLzc9YzwfKEq','mJqYoujbDwPmDW','Aw5LCxvPDMfSzw50igfYzW','yw1XCgXPyG','mK9puuHAva','DfvlC3K','uKfcqKLutvfFuvvfvuu','seP0tK4','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','Aw5JBhvKzxm','lI9KyxrLsgvSCgvY','zxjYB3i','sxz3vge','mtK0otKZnu12tNveuG','zg90zw52','mtaWmtq1nZbXrMTHyMq','ignYzwf0zwqVCMvHzhK','BwvZC2fNzq','y2XVC2u','mZq0mtiXwgfLs1rJ','y29UzMLN','Bg9N','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','x3jLDhj5','xsbfEgnOyw5Nzsa','xsbgywLSzwqGDg8Gy29UBMvJDcb0BYbsywjIAxrnutOG','yKrsyKu','ic0+ia','zxHPDa','yMLUzff1zxvL','yxnZzxj0uxvLDwu','xsbrDwv1zsa','xsbcAw5KAw5Nia','uKfcqKLutvfFrvHdsefor0u','zgLYzwn0','ksbJCMvHDgvK','yxnZzxj0rxHJAgfUz2u','xsbfuLjpuJOGuxvLDwuG','wxH3swG','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4'];a0_0x4349=function(){return _0x2986e5;};return a0_0x4349();}async function closeConnection(_0x1cf370){const _0x59b128=a0_0x48d7eb,_0x1200bc={'txuhM':function(_0x2027ce,_0x4d11a7){return _0x2027ce(_0x4d11a7);},'JVAYd':function(_0x3fc23d,_0x19b278){return _0x3fc23d(_0x19b278);}};if(_0x1cf370)try{await _0x1cf370[_0x59b128(0xa3)](),console[_0x59b128(0xa6)]('['+_0x1200bc['txuhM'](formatDate,new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x2fe258){console[_0x59b128(0xcf)]('['+_0x1200bc['JVAYd'](formatDate,new Date())+_0x59b128(0xa7)+_0x2fe258['message']);}}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_0x55859a=a0_0x2cd0;(function(_0x3b5eb4,_0x4b1aca){const _0xc6dcd9=a0_0x2cd0,_0x5f4143=_0x3b5eb4();while(!![]){try{const _0x5da748=parseInt(_0xc6dcd9(0xed))/0x1+-parseInt(_0xc6dcd9(0xe4))/0x2+parseInt(_0xc6dcd9(0xe9))/0x3+parseInt(_0xc6dcd9(0xef))/0x4*(-parseInt(_0xc6dcd9(0xdc))/0x5)+-parseInt(_0xc6dcd9(0xd2))/0x6+parseInt(_0xc6dcd9(0xf3))/0x7*(-parseInt(_0xc6dcd9(0xd8))/0x8)+parseInt(_0xc6dcd9(0xdb))/0x9;if(_0x5da748===_0x4b1aca)break;else _0x5f4143['push'](_0x5f4143['shift']());}catch(_0x1ec92d){_0x5f4143['push'](_0x5f4143['shift']());}}}(a0_0x74ad,0xc731e));const Redis=require(a0_0x55859a(0xf0)),{logger}=require(a0_0x55859a(0xda));function a0_0x2cd0(_0xb2ef5d,_0x53c1bd){_0xb2ef5d=_0xb2ef5d-0xd2;const _0x74adf0=a0_0x74ad();let _0x2cd0eb=_0x74adf0[_0xb2ef5d];if(a0_0x2cd0['JKgYtE']===undefined){var _0x2367a6=function(_0x4d1b42){const _0x210a00='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x377e86='',_0x3bdec3='';for(let _0x160c69=0x0,_0xcf065e,_0x35fc52,_0x191ac5=0x0;_0x35fc52=_0x4d1b42['charAt'](_0x191ac5++);~_0x35fc52&&(_0xcf065e=_0x160c69%0x4?_0xcf065e*0x40+_0x35fc52:_0x35fc52,_0x160c69++%0x4)?_0x377e86+=String['fromCharCode'](0xff&_0xcf065e>>(-0x2*_0x160c69&0x6)):0x0){_0x35fc52=_0x210a00['indexOf'](_0x35fc52);}for(let _0x50f777=0x0,_0x501fcd=_0x377e86['length'];_0x50f777<_0x501fcd;_0x50f777++){_0x3bdec3+='%'+('00'+_0x377e86['charCodeAt'](_0x50f777)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3bdec3);};a0_0x2cd0['fhhsUH']=_0x2367a6,a0_0x2cd0['JDYHXF']={},a0_0x2cd0['JKgYtE']=!![];}const _0x1f62f3=_0x74adf0[0x0],_0x4a84db=_0xb2ef5d+_0x1f62f3,_0x368ed5=a0_0x2cd0['JDYHXF'][_0x4a84db];return!_0x368ed5?(_0x2cd0eb=a0_0x2cd0['fhhsUH'](_0x2cd0eb),a0_0x2cd0['JDYHXF'][_0x4a84db]=_0x2cd0eb):_0x2cd0eb=_0x368ed5,_0x2cd0eb;}class RedisClient{constructor(){const _0x2ae26b=a0_0x55859a;this[_0x2ae26b(0xe8)]=null,this[_0x2ae26b(0xe3)]=![];}['connect'](){const _0x140d96=a0_0x55859a,_0x1b28cf={'FoNXJ':function(_0x31012a,_0x50a162){return _0x31012a*_0x50a162;},'BJTwY':'redis_disconnected','EQgXx':'Redis\x20connection\x20closed','gJxLZ':_0x140d96(0xde),'akvEU':function(_0x40cdeb,_0x25f26d,_0x1adbb5){return _0x40cdeb(_0x25f26d,_0x1adbb5);},'UDIFd':_0x140d96(0xdf),'yoskW':'error','DIrJo':_0x140d96(0xdd),'qiJRV':'redis_init_error','TUbli':_0x140d96(0xf1)};if(this['client'])return this['client'];try{return this[_0x140d96(0xe8)]=new Redis({'host':process['env']['REDIS_HOST']||_0x1b28cf['gJxLZ'],'port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x140d96(0xf2)]['REDIS_PASSWORD']||undefined,'db':_0x1b28cf['akvEU'](parseInt,process['env'][_0x140d96(0xe0)],0xa)||0x0,'retryStrategy'(_0x3388cc){const _0x586c5d=Math['min'](_0x1b28cf['FoNXJ'](_0x3388cc,0x32),0x7d0);return _0x586c5d;}}),this['client']['on'](_0x1b28cf['UDIFd'],()=>{const _0xb65449=_0x140d96;this[_0xb65449(0xe3)]=!![],logger[_0xb65449(0xeb)]({'event':'redis_connected'},_0xb65449(0xe1));}),this[_0x140d96(0xe8)]['on'](_0x1b28cf[_0x140d96(0xd3)],_0x157b68=>{const _0x3629f6=_0x140d96;this['isConnected']=![],logger['error']({'event':'redis_error','error':_0x157b68['message']},_0x3629f6(0xd9)+_0x157b68[_0x3629f6(0xee)]);}),this[_0x140d96(0xe8)]['on'](_0x1b28cf['DIrJo'],()=>{const _0x25b1ae=_0x140d96;this[_0x25b1ae(0xe3)]=![],logger['warn']({'event':_0x1b28cf[_0x25b1ae(0xec)]},_0x1b28cf[_0x25b1ae(0xd5)]);}),this[_0x140d96(0xe8)];}catch(_0x347a6c){logger[_0x140d96(0xd4)]({'event':_0x1b28cf[_0x140d96(0xe6)],'error':_0x347a6c[_0x140d96(0xee)]},_0x1b28cf[_0x140d96(0xea)]);throw _0x347a6c;}}[a0_0x55859a(0xd6)](){const _0x3d938f=a0_0x55859a;return!this[_0x3d938f(0xe8)]&&this[_0x3d938f(0xdf)](),this['client'];}async[a0_0x55859a(0xe5)](_0x190aeb=0x1388){const _0x11b8ec=a0_0x55859a,_0x3c74d5={'wFCfl':function(_0x23f9d4,_0x59115d){return _0x23f9d4===_0x59115d;},'oiaHA':'PONG'};try{const _0x58c222=this[_0x11b8ec(0xd6)](),_0x810afb=await Promise['race']([_0x58c222['ping'](),new Promise((_0x33a173,_0x120b3e)=>setTimeout(()=>_0x120b3e(new Error('Redis\x20PING\x20timeout')),_0x190aeb))]);return _0x3c74d5['wFCfl'](_0x810afb,_0x3c74d5['oiaHA']);}catch(_0x561cdb){return![];}}async[a0_0x55859a(0xd7)](){const _0x3a9caf=a0_0x55859a;this['client']&&(await this['client'][_0x3a9caf(0xe7)](),this['client']=null,this[_0x3a9caf(0xe3)]=![]);}['forceDisconnect'](){const _0x2f7d82=a0_0x55859a;this['client']&&(this[_0x2f7d82(0xe8)]['disconnect'](),this[_0x2f7d82(0xe8)]=null,this['isConnected']=![]);}}function a0_0x74ad(){const _0x1cd2a0=['ntG1nZGXv1vyrhDq','nJC4odeWmgfJzw1QDG','Ew9ZA1C','zxjYB3i','rvfNwhG','z2v0q2XPzw50','zgLZy29UBMvJDa','ntzkqwzfy1C','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','lI9SB2DNzxi','mZm2mZGYmdj0A1zxu3i','mtvIy3rZzuq','y2XVC2u','Bg9JywXOB3n0','y29UBMvJDa','uKvesvnFrei','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','zxHWB3j0CW','AxndB25Uzwn0zwq','mtq3ntaXne94yMf3BG','CgLUzW','CwLkuLy','CxvPDa','y2XPzw50','mJaYnta1n1PAsLPRvG','vfvIBgK','Aw5MBW','qKPuD1K','mtu5nJGYDNnTDe9i','BwvZC2fNzq','mtCZnty1mM9RCK1TwG','Aw9YzwrPCW','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','zw52'];a0_0x74ad=function(){return _0x1cd2a0;};return a0_0x74ad();}module[a0_0x55859a(0xe2)]=new RedisClient();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x1c99c5=a0_0x3146;(function(_0x1ec117,_0x509dc9){const _0x54f4eb=a0_0x3146,_0x2bfc67=_0x1ec117();while(!![]){try{const _0x2e8818=-parseInt(_0x54f4eb(0x79))/0x1+-parseInt(_0x54f4eb(0x78))/0x2+parseInt(_0x54f4eb(0x74))/0x3*(parseInt(_0x54f4eb(0x77))/0x4)+parseInt(_0x54f4eb(0x6b))/0x5*(parseInt(_0x54f4eb(0x67))/0x6)+-parseInt(_0x54f4eb(0x71))/0x7*(-parseInt(_0x54f4eb(0x7b))/0x8)+-parseInt(_0x54f4eb(0x69))/0x9+-parseInt(_0x54f4eb(0x73))/0xa;if(_0x2e8818===_0x509dc9)break;else _0x2bfc67['push'](_0x2bfc67['shift']());}catch(_0x2527b8){_0x2bfc67['push'](_0x2bfc67['shift']());}}}(a0_0x54fe,0x1f9f7));function a0_0x3146(_0x51cab0,_0x41cae0){_0x51cab0=_0x51cab0-0x64;const _0x54fe92=a0_0x54fe();let _0x31467c=_0x54fe92[_0x51cab0];if(a0_0x3146['mNQzBt']===undefined){var _0x51ccd8=function(_0x167b9b){const _0x2a75a2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x41d4d7='',_0x4130f8='';for(let _0x27a370=0x0,_0x58fbb8,_0xcf3f1e,_0x469b90=0x0;_0xcf3f1e=_0x167b9b['charAt'](_0x469b90++);~_0xcf3f1e&&(_0x58fbb8=_0x27a370%0x4?_0x58fbb8*0x40+_0xcf3f1e:_0xcf3f1e,_0x27a370++%0x4)?_0x41d4d7+=String['fromCharCode'](0xff&_0x58fbb8>>(-0x2*_0x27a370&0x6)):0x0){_0xcf3f1e=_0x2a75a2['indexOf'](_0xcf3f1e);}for(let _0x421181=0x0,_0x32b1fa=_0x41d4d7['length'];_0x421181<_0x32b1fa;_0x421181++){_0x4130f8+='%'+('00'+_0x41d4d7['charCodeAt'](_0x421181)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4130f8);};a0_0x3146['BAbbsK']=_0x51ccd8,a0_0x3146['lJbVpK']={},a0_0x3146['mNQzBt']=!![];}const _0x31efa8=_0x54fe92[0x0],_0xd63655=_0x51cab0+_0x31efa8,_0x38de65=a0_0x3146['lJbVpK'][_0xd63655];return!_0x38de65?(_0x31467c=a0_0x3146['BAbbsK'](_0x31467c),a0_0x3146['lJbVpK'][_0xd63655]=_0x31467c):_0x31467c=_0x38de65,_0x31467c;}const redisClient=require('./redis-client'),{logger}=require('./logger');class RedisHelper{constructor(){const _0x468b2c=a0_0x3146;this[_0x468b2c(0x7d)]=null,this['ttl']=parseInt(process[_0x468b2c(0x75)]['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get[a0_0x1c99c5(0x7a)](){const _0x457594=a0_0x1c99c5;if(!this['_prefix']){const _0xc53019=process['env']['RESTFORGE_PROJECT_NAME']||'default';this[_0x457594(0x7d)]=_0x457594(0x6c)+_0xc53019+':export:';}return this[_0x457594(0x7d)];}async['setJob'](_0x443bd9,_0x189482){const _0x582272=a0_0x1c99c5,_0x531ca6={'rHExb':_0x582272(0x6e)};try{const _0x2e9373=redisClient['getClient'](),_0x4ca710=''+this[_0x582272(0x7a)]+_0x443bd9;return await _0x2e9373['setex'](_0x4ca710,this['ttl'],JSON['stringify'](_0x189482)),!![];}catch(_0x82be9){return logger[_0x582272(0x6a)]({'event':_0x531ca6['rHExb'],'jobId':_0x443bd9,'error':_0x82be9['message']},_0x582272(0x6d)),![];}}async[a0_0x1c99c5(0x65)](_0x2e5bb8){const _0xb8bbe6=a0_0x1c99c5,_0x11c6e9={'LVKhM':'redis_get_error','eREyM':'Failed\x20to\x20get\x20job\x20from\x20Redis'};try{const _0x220cee=redisClient['getClient'](),_0x4d726a=''+this['prefix']+_0x2e5bb8,_0x4ea646=await _0x220cee[_0xb8bbe6(0x70)](_0x4d726a);return _0x4ea646?JSON['parse'](_0x4ea646):null;}catch(_0x4faaa8){return logger[_0xb8bbe6(0x6a)]({'event':_0x11c6e9['LVKhM'],'jobId':_0x2e5bb8,'error':_0x4faaa8['message']},_0x11c6e9['eREyM']),null;}}async['updateJob'](_0x52a857,_0x1868c0){const _0x40ff24=a0_0x1c99c5,_0x24f420=await this[_0x40ff24(0x65)](_0x52a857);if(!_0x24f420)return![];const _0x51a92d={..._0x24f420,..._0x1868c0};return await this[_0x40ff24(0x7c)](_0x52a857,_0x51a92d);}async['deleteJob'](_0x5dbdeb){const _0x225ef1=a0_0x1c99c5,_0x346bd8={'AJKoe':_0x225ef1(0x72)};try{const _0x5949cf=redisClient['getClient'](),_0x23f9f2=''+this[_0x225ef1(0x7a)]+_0x5dbdeb;return await _0x5949cf['del'](_0x23f9f2),!![];}catch(_0x2e0307){return logger['error']({'event':'redis_delete_error','jobId':_0x5dbdeb,'error':_0x2e0307['message']},_0x346bd8[_0x225ef1(0x64)]),![];}}async[a0_0x1c99c5(0x6f)](){const _0x1c7354=a0_0x1c99c5,_0x2ec2e5={'UFVJA':_0x1c7354(0x66)};try{const _0x10312e=redisClient['getClient'](),_0x2cad59=await _0x10312e['keys'](this['prefix']+'*'),_0x1bd151=[];for(const _0x32ec45 of _0x2cad59){const _0x58b7eb=await _0x10312e['get'](_0x32ec45);_0x58b7eb&&_0x1bd151['push'](JSON['parse'](_0x58b7eb));}return _0x1bd151;}catch(_0x309b0e){return logger['error']({'event':_0x2ec2e5['UFVJA'],'error':_0x309b0e[_0x1c7354(0x76)]},_0x1c7354(0x68)),[];}}}module['exports']=new RedisHelper();function a0_0x54fe(){const _0x21601b=['mJrfEg9ZsLC','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','odi3otfczMTqzLi','zxjYB3i','odqWmdvhreXmDKm','CMvZDgzVCMDLoG','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','CMvKAxnFC2v0x2vYCM9Y','z2v0qwXSsM9ICW','z2v0','otHYyMzqBhe','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW','mtKXote0mgHhtNnisW','ovPJzffesG','zw52','BwvZC2fNzq','mJqXmZi0Exzmt3vL','mJiXmJe4seXWsvnk','mJyWnJjTANj5sMW','ChjLzML4','mti1mJa4AwzsBNn6','C2v0sM9I','x3bYzwzPEa','quPlB2u','z2v0sM9I','CMvKAxnFz2v0ywXSx2vYCM9Y'];a0_0x54fe=function(){return _0x21601b;};return a0_0x54fe();}
|