@restforgejs/platform 5.1.0 → 5.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/data/pull.js +104 -0
- package/generators/cli/data/push.js +95 -0
- package/generators/cli/fast-track.js +12 -25
- package/generators/cli/init.js +347 -97
- package/generators/cli/schema/introspect.js +10 -10
- package/generators/lib/data/data-scope.js +138 -0
- package/generators/lib/data/db-executor.js +440 -0
- package/generators/lib/data/dialect-kit.js +56 -0
- package/generators/lib/data/envelope.js +236 -0
- package/generators/lib/data/pull-runner.js +414 -0
- package/generators/lib/data/push-runner.js +400 -0
- package/generators/lib/data/sdf-reader.js +132 -0
- package/generators/lib/data/table-order.js +126 -0
- package/generators/lib/data/value-codec.js +188 -0
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/integrity-manifest.json +18 -18
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x5541(){const _0x1d6fea=['D3jPDgvFBg9JA19YzwPLy3rLza','ywnXDwLYzvjLywrmB2nR','x2vUC3vYzuLUAxrPywXPEMvK','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','shnjy08','vNLowvC','zw52','Aw5JCG','mZeZmtm0wuL0y3bg','z2v0tg9JA0LUzM8','x3bYzwzPEa','zxjYB3i','mJqXntzxuffNCNu','x3jLDhj5q291BNq','mtyWohnRDfncwq','C3bSAxq','ChjLzML4','x2vUywjSzwq','odyWmJiZzvD0B2Ps','D3jPDgvFBg9JA19Hy3f1AxjLza','rw9XwNG','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','x2LUAxrPywXPEMvK','x3DVCMTLCKLK','zgvMyxvSDfruta','Bg9JA19YzwXLyxnLx2vYCM9Y','tfziwfq','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','zw5HyMXLza','z2vUzxjHDgvmB2nRvMfSDwu','x2rLzMf1BhruveW','zxzHBa','uKvbrcbSB2nRigfJCxvPCMvK','otbPBNHTsLu','D2fYBG','CMv0CNK','mJrPuwjyEhy','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','q1DdENq','C2v0','yNvPBgrmB2nRs2v5','quzYrNe','zxH0zw5Ktg9JAW','CMvHza','CMvHzf9SB2nRx3DHAxrPBMC','CMy6Bg9JAZO','D3jPDgu','mJK4mZi3meXbyuLAAW','C2v0zxG','zgvIDwC','nK1TvfzyAa','x3n0CMf0zwD5','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','x3jLDhj5rgvSyxK','BKfftgi','u3PQDxG','mtKXndiXwwriEhPi','zerWBNG','uKvbrcbSB2nRihjLBgvHC2vK','z2v0','v1jjveuGBg9JAYbLCNjVCG','mxHzCuPlDG','C2XLzxa','te9ds19esvnuuKLcvvrfrf9srvrswq','D3jPDgvFBg9JA19YzwXLyxnLza','AhvjA3q','mJm3mMjtz2vvwa','x2LUAxrdB25MAwC','BwvZC2fNzq','EKHXDuq','whblvg0','y3HVtvG','ywXS','mtCXm3zQD2Xyvq','CMv0CNLezwXHEq','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','D29YA2vYlq','CgLK','mtGYnZq3nNP3D2z6BW','mZKYBNzKANLV','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','v1jjveuGBg9JAYbYzwXLyxnLza','BM93','DxvPza','CMvHzf9SB2nRx3rPBwvVDxq','A0DVvu4','Aw5MBW','lI9YzwrPCY1JBgLLBNq','D3jPDgvFBg9JA19LCNjVCG','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','yuPKALy','zxHWB3j0CW','CMv0CNLdB3vUDa','t2LbwNq','AxnfBMfIBgvK','t09cAgi'];a0_0x5541=function(){return _0x1d6fea;};return a0_0x5541();}const a0_0x521273=a0_0xee61;(function(_0x190b45,_0x447fe7){const _0x56466b=a0_0xee61,_0x13f317=_0x190b45();while(!![]){try{const _0xdaba87=-parseInt(_0x56466b(0x101))/0x1*(-parseInt(_0x56466b(0x12c))/0x2)+-parseInt(_0x56466b(0x10d))/0x3*(parseInt(_0x56466b(0x106))/0x4)+-parseInt(_0x56466b(0xf3))/0x5*(parseInt(_0x56466b(0xf6))/0x6)+parseInt(_0x56466b(0x112))/0x7*(-parseInt(_0x56466b(0xe8))/0x8)+-parseInt(_0x56466b(0xfc))/0x9*(parseInt(_0x56466b(0xe5))/0xa)+parseInt(_0x56466b(0xd0))/0xb*(parseInt(_0x56466b(0xd2))/0xc)+parseInt(_0x56466b(0xd6))/0xd*(parseInt(_0x56466b(0x113))/0xe);if(_0xdaba87===_0x447fe7)break;else _0x13f317['push'](_0x13f317['shift']());}catch(_0x590e4d){_0x13f317['push'](_0x13f317['shift']());}}}(a0_0x5541,0x60209));const redisClient=require(a0_0x521273(0x11b)),{logger}=require('./logger'),{v4:uuidv4}=require(a0_0x521273(0x117));class LockManager{constructor(){const _0x32123e=a0_0x521273;this[_0x32123e(0xce)]=null,this[_0x32123e(0xd5)]=null,this[_0x32123e(0xe2)]=null,this['_retryCount']=null,this['_retryDelay']=null,this[_0x32123e(0xf7)]=null,this[_0x32123e(0xdb)]=null,this[_0x32123e(0xda)]=![];}['_initConfig'](){const _0x20334e=a0_0x521273,_0x4bb528={'CLUdJ':'7|1|0|8|2|5|6|4|3','zHquD':function(_0x2d61e7,_0x2c165d,_0x1443aa){return _0x2d61e7(_0x2c165d,_0x1443aa);},'OiAZt':function(_0x492179,_0x1c895f){return _0x492179===_0x1c895f;},'AFrFq':'true','VyNYW':function(_0x362c8a,_0xa25bad,_0x4491d0){return _0x362c8a(_0xa25bad,_0x4491d0);},'XEEoI':'lock_config_init'},_0x4b5688=_0x4bb528['CLUdJ'][_0x20334e(0xd3)]('|');let _0x1f929d=0x0;while(!![]){switch(_0x4b5688[_0x1f929d++]){case'0':this['_defaultTTL']=_0x4bb528[_0x20334e(0x109)](parseInt,process[_0x20334e(0x12a)]['LOCK_DISTRIBUTED_TTL'],0xa)||0xa;continue;case'1':this['_enabled']=_0x4bb528[_0x20334e(0x121)](process['env']['LOCK_DISTRIBUTED_ENABLED'],_0x4bb528[_0x20334e(0xed)]);continue;case'2':this[_0x20334e(0xf9)]=_0x4bb528[_0x20334e(0x129)](parseInt,process['env'][_0x20334e(0x114)],0xa)||0x64;continue;case'3':logger[_0x20334e(0x11a)]({'event':_0x4bb528['XEEoI'],'enabled':this[_0x20334e(0xd5)],'strategy':this[_0x20334e(0xf7)],'ttl':this[_0x20334e(0xe2)],'retryCount':this[_0x20334e(0xd1)],'retryDelay':this[_0x20334e(0xf9)],'workerId':this['_workerId']},_0x20334e(0xd9)+this[_0x20334e(0xd5)]+',\x20strategy:\x20'+this['_strategy']);continue;case'4':this['_initialized']=!![];continue;case'5':this['_strategy']=process['env'][_0x20334e(0xdf)]||_0x20334e(0xe7);continue;case'6':this[_0x20334e(0xdb)]=_0x20334e(0x110)+process[_0x20334e(0x111)];continue;case'7':this[_0x20334e(0xce)]=_0x20334e(0xf1);continue;case'8':this['_retryCount']=parseInt(process[_0x20334e(0x12a)][_0x20334e(0x103)],0xa)||0x3;continue;}break;}}[a0_0x521273(0x126)](){const _0x5bc72e=a0_0x521273;!this['_initialized']&&this[_0x5bc72e(0x107)]();}get[a0_0x521273(0xd4)](){const _0x46de40=a0_0x521273;return this['_ensureInitialized'](),this[_0x46de40(0xce)];}get['enabled'](){const _0x4d529f=a0_0x521273;return this[_0x4d529f(0x126)](),this['_enabled'];}get['defaultTTL'](){const _0x5f3c2e=a0_0x521273;return this['_ensureInitialized'](),this[_0x5f3c2e(0xe2)];}get['retryCount'](){const _0x90a07c=a0_0x521273;return this[_0x90a07c(0x126)](),this[_0x90a07c(0xd1)];}get[a0_0x521273(0x10e)](){const _0x2a19b2=a0_0x521273;return this[_0x2a19b2(0x126)](),this[_0x2a19b2(0xf9)];}get['strategy'](){const _0x426107=a0_0x521273;return this[_0x426107(0x126)](),this[_0x426107(0xf7)];}get['workerId'](){const _0x1fe864=a0_0x521273;return this['_ensureInitialized'](),this[_0x1fe864(0xdb)];}[a0_0x521273(0xec)](_0xafbc33){const _0x32acbd=a0_0x521273,{module:_0x31b827,endpoint:_0xc8c314,lockType:_0x49b708,recordId:_0x12a0fd}=_0xafbc33;if(_0x12a0fd)return''+this['prefix']+_0x31b827+':'+_0xc8c314+':'+_0x12a0fd+':'+_0x49b708;return''+this[_0x32acbd(0xd4)]+_0x31b827+':'+_0xc8c314+':'+_0x49b708;}[a0_0x521273(0xe1)](){const _0x3ad632=a0_0x521273;return this['workerId']+':'+uuidv4()+':'+Date[_0x3ad632(0x116)]();}async[a0_0x521273(0x125)](_0x281f24){const _0x21283e=a0_0x521273,_0x24622e={'OOBhb':'write','dDpnx':function(_0x146449,_0x3d3339){return _0x146449<_0x3d3339;},'iXVOn':_0x21283e(0xe4),'cxoMX':_0x21283e(0xf0),'HMeuK':function(_0x3da3be,_0x4c1702){return _0x3da3be*_0x4c1702;}};if(!this[_0x21283e(0xe0)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x571aa0=this['buildLockKey']({..._0x281f24,'lockType':_0x24622e[_0x21283e(0x123)]}),_0x41181e=this['buildLockKey']({..._0x281f24,'lockType':'read'}),_0x144d2e=this[_0x21283e(0xe1)]();try{const _0x3ef78e=redisClient['getClient']();for(let _0xdedcf9=0x0;_0x24622e[_0x21283e(0xfd)](_0xdedcf9,this[_0x21283e(0x120)]);_0xdedcf9++){const _0x3b766b=await _0x3ef78e['get'](_0x571aa0);if(!_0x3b766b){await _0x3ef78e[_0x21283e(0x12b)](_0x41181e),await _0x3ef78e['expire'](_0x41181e,this['defaultTTL']);const _0x3f195e=_0x41181e+':'+_0x144d2e;return await _0x3ef78e[_0x21283e(0xf4)](_0x3f195e,this['defaultTTL'],_0x144d2e),logger['debug']({'event':'read_lock_acquired','key':_0x41181e,'value':_0x144d2e},_0x24622e['iXVOn']),{'success':!![],'lockValue':_0x144d2e,'lockKey':_0x3f195e};}logger[_0x21283e(0xf5)]({'event':_0x24622e[_0x21283e(0x10b)],'writeKey':_0x571aa0,'attempt':_0xdedcf9},_0x21283e(0x10f)),await this[_0x21283e(0x102)](_0x24622e['HMeuK'](this['retryDelay'],Math['pow'](0x2,_0xdedcf9)));}return logger[_0x21283e(0xe6)]({'event':_0x21283e(0x118),'key':_0x41181e},'READ\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x15558f){return logger['error']({'event':'read_lock_error','error':_0x15558f[_0x21283e(0x108)]},'READ\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x521beb){const _0x3f4fe4=a0_0x521273,_0x2eb811={'CWCzt':function(_0x4fe4fe,_0x1d663a){return _0x4fe4fe===_0x1d663a;},'XpKTm':'reject','aJdjV':'write_lock_acquired','dKavY':'WRITE\x20lock\x20acquired\x20(reject\x20mode)','lbnEG':function(_0x5e74a8,_0x39b528){return _0x5e74a8<_0x39b528;},'NAGFA':function(_0x38c132,_0x58279c){return _0x38c132===_0x58279c;},'JUoGA':'write_lock_waiting','kGoUN':_0x3f4fe4(0xe9),'fLxmh':_0x3f4fe4(0x11c),'eeHmX':_0x3f4fe4(0x100)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x447fd0=this[_0x3f4fe4(0xec)]({..._0x521beb,'lockType':_0x3f4fe4(0xf2)}),_0x1433ac=this[_0x3f4fe4(0xec)]({..._0x521beb,'lockType':'read'}),_0x475b36=this[_0x3f4fe4(0xe1)]();try{const _0xde0054=redisClient['getClient']();if(_0x2eb811[_0x3f4fe4(0xea)](this['strategy'],_0x2eb811['XpKTm'])){const _0x1b884c=await _0xde0054[_0x3f4fe4(0xeb)](_0x447fd0,_0x475b36,'EX',this[_0x3f4fe4(0xdc)],'NX');if(_0x2eb811[_0x3f4fe4(0xea)](_0x1b884c,'OK'))return logger['debug']({'event':_0x2eb811[_0x3f4fe4(0x11e)],'key':_0x447fd0,'value':_0x475b36,'strategy':_0x2eb811[_0x3f4fe4(0x10a)]},_0x2eb811['dKavY']),{'success':!![],'lockValue':_0x475b36,'lockKey':_0x447fd0};return logger[_0x3f4fe4(0xf5)]({'event':_0x3f4fe4(0x124),'key':_0x447fd0},'WRITE\x20lock\x20rejected\x20-\x20record\x20busy'),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x833c70=0x0;_0x2eb811['lbnEG'](_0x833c70,this['retryCount']);_0x833c70++){const [_0x9728e,_0x32e4e7]=await Promise['all']([_0xde0054[_0x3f4fe4(0xff)](_0x1433ac),_0xde0054['get'](_0x447fd0)]);if(!_0x32e4e7&&(!_0x9728e||_0x2eb811['NAGFA'](parseInt(_0x9728e),0x0))){const _0x198d18=await _0xde0054[_0x3f4fe4(0xeb)](_0x447fd0,_0x475b36,'EX',this[_0x3f4fe4(0xdc)],'NX');if(_0x198d18==='OK')return logger['debug']({'event':_0x3f4fe4(0xd7),'key':_0x447fd0,'value':_0x475b36,'strategy':_0x3f4fe4(0xe7)},'WRITE\x20lock\x20acquired\x20(retry\x20mode)'),{'success':!![],'lockValue':_0x475b36,'lockKey':_0x447fd0};}logger['debug']({'event':_0x2eb811['JUoGA'],'writeKey':_0x447fd0,'readCount':_0x9728e,'attempt':_0x833c70},_0x3f4fe4(0x11d)),await this['sleep'](this['retryDelay']*Math['pow'](0x2,_0x833c70));}return logger['warn']({'event':'write_lock_timeout','key':_0x447fd0},_0x2eb811[_0x3f4fe4(0x119)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x2049ec){return logger['error']({'event':_0x2eb811['fLxmh'],'error':_0x2049ec[_0x3f4fe4(0x108)]},_0x2eb811['eeHmX']),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x1d7b35,_0x4b5c63){const _0x535817=a0_0x521273,_0x1c1efb={'EoqZx':function(_0x584fbf,_0x4ebbcb){return _0x584fbf>_0x4ebbcb;},'KLOFQ':'read_lock_released','nAELb':_0x535817(0xfe),'LVHXT':_0x535817(0x104),'HsIcO':_0x535817(0x115),'OgpQN':_0x535817(0xf8),'huIkt':_0x535817(0xdd)};if(!this[_0x535817(0xe0)]||!_0x1d7b35)return!![];try{const _0x500820=redisClient['getClient']();if(_0x1d7b35['includes'](':read:')){await _0x500820['del'](_0x1d7b35);const _0x310c46=_0x1d7b35['substring'](0x0,_0x1d7b35['lastIndexOf'](':')),_0x5f2601=await _0x500820[_0x535817(0xff)](_0x310c46);return _0x5f2601&&_0x1c1efb[_0x535817(0xd8)](parseInt(_0x5f2601),0x0)&&await _0x500820['decr'](_0x310c46),logger[_0x535817(0xf5)]({'event':_0x1c1efb['KLOFQ'],'key':_0x1d7b35},_0x1c1efb[_0x535817(0xfa)]),!![];}const _0x5e9954=_0x535817(0x127),_0x40e78c=await _0x500820[_0x535817(0xe3)](_0x5e9954,0x1,_0x1d7b35,_0x4b5c63);if(_0x40e78c===0x1)return logger['debug']({'event':_0x1c1efb[_0x535817(0xde)],'key':_0x1d7b35},_0x1c1efb[_0x535817(0x128)]),!![];return logger['warn']({'event':_0x1c1efb['OgpQN'],'key':_0x1d7b35},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0xab586c){return logger[_0x535817(0xcf)]({'event':_0x1c1efb[_0x535817(0x105)],'key':_0x1d7b35,'error':_0xab586c[_0x535817(0x108)]},'Lock\x20release\x20error'),![];}}async[a0_0x521273(0xee)](_0xb3e73a,_0x34c58a,_0x3d122b=null){const _0x2a3a85=a0_0x521273,_0x24969f={'Bybnh':function(_0x21c0d0,_0x5785f4){return _0x21c0d0===_0x5785f4;},'Szjux':'lock_extended','yrIYI':'Lock\x20TTL\x20extended','QSGhQ':'Lock\x20extend\x20error'};if(!this[_0x2a3a85(0xe0)]||!_0xb3e73a)return!![];try{const _0x1876be=redisClient['getClient'](),_0x3a08e7='\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',_0x297bf5=await _0x1876be['eval'](_0x3a08e7,0x1,_0xb3e73a,_0x34c58a,_0x3d122b||this['defaultTTL']);if(_0x24969f['Bybnh'](_0x297bf5,0x1))return logger[_0x2a3a85(0xf5)]({'event':_0x24969f[_0x2a3a85(0xfb)],'key':_0xb3e73a,'ttl':_0x3d122b||this['defaultTTL']},_0x24969f['yrIYI']),!![];return![];}catch(_0xc43220){return logger[_0x2a3a85(0xcf)]({'event':'lock_extend_error','key':_0xb3e73a,'error':_0xc43220['message']},_0x24969f['QSGhQ']),![];}}[a0_0x521273(0x122)](){return this['enabled'];}['sleep'](_0x42294c){return new Promise(_0x10f369=>setTimeout(_0x10f369,_0x42294c));}async[a0_0x521273(0xcd)](_0x9a6c7f){const _0x37033b=a0_0x521273,_0x2fdf18={'ykkIm':function(_0x5856d3,_0x55589b){return _0x5856d3(_0x55589b);}};if(!this[_0x37033b(0xe0)])return{'enabled':![]};try{const _0x4ab77d=redisClient['getClient'](),_0x33449d=this['buildLockKey']({..._0x9a6c7f,'lockType':'write'}),_0x74b2e5=this[_0x37033b(0xec)]({..._0x9a6c7f,'lockType':_0x37033b(0xef)}),[_0x2eda06,_0x5d56d6]=await Promise[_0x37033b(0x10c)]([_0x4ab77d['get'](_0x33449d),_0x4ab77d[_0x37033b(0xff)](_0x74b2e5)]);return{'enabled':!![],'writeLock':_0x2eda06||null,'readCount':_0x2fdf18['ykkIm'](parseInt,_0x5d56d6)||0x0,'writeKey':_0x33449d,'readKey':_0x74b2e5};}catch(_0xffe2a4){return{'enabled':!![],'error':_0xffe2a4['message']};}}}function a0_0xee61(_0x4758ad,_0x3115c9){_0x4758ad=_0x4758ad-0xcd;const _0x55417e=a0_0x5541();let _0xee61a8=_0x55417e[_0x4758ad];if(a0_0xee61['zBORdX']===undefined){var _0x506bd3=function(_0x2d1aa7){const _0x531304='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3c0cf2='',_0x3fae45='';for(let _0x1367be=0x0,_0x1567b6,_0x2c6324,_0x50321c=0x0;_0x2c6324=_0x2d1aa7['charAt'](_0x50321c++);~_0x2c6324&&(_0x1567b6=_0x1367be%0x4?_0x1567b6*0x40+_0x2c6324:_0x2c6324,_0x1367be++%0x4)?_0x3c0cf2+=String['fromCharCode'](0xff&_0x1567b6>>(-0x2*_0x1367be&0x6)):0x0){_0x2c6324=_0x531304['indexOf'](_0x2c6324);}for(let _0x1b8931=0x0,_0x4549fa=_0x3c0cf2['length'];_0x1b8931<_0x4549fa;_0x1b8931++){_0x3fae45+='%'+('00'+_0x3c0cf2['charCodeAt'](_0x1b8931)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3fae45);};a0_0xee61['BdgwzD']=_0x506bd3,a0_0xee61['IqDADQ']={},a0_0xee61['zBORdX']=!![];}const _0x7be05b=_0x55417e[0x0],_0x5678db=_0x4758ad+_0x7be05b,_0x3055=a0_0xee61['IqDADQ'][_0x5678db];return!_0x3055?(_0xee61a8=a0_0xee61['BdgwzD'](_0xee61a8),a0_0xee61['IqDADQ'][_0x5678db]=_0xee61a8):_0xee61a8=_0x3055,_0xee61a8;}module[a0_0x521273(0x11f)]=new LockManager();
|
|
1
|
+
const a0_0x292047=a0_0x2b57;(function(_0xdde8ff,_0x570895){const _0x1270d7=a0_0x2b57,_0xbe487b=_0xdde8ff();while(!![]){try{const _0x28c24c=-parseInt(_0x1270d7(0x21e))/0x1*(parseInt(_0x1270d7(0x202))/0x2)+parseInt(_0x1270d7(0x1f9))/0x3+-parseInt(_0x1270d7(0x23b))/0x4*(-parseInt(_0x1270d7(0x204))/0x5)+parseInt(_0x1270d7(0x208))/0x6+-parseInt(_0x1270d7(0x235))/0x7+parseInt(_0x1270d7(0x225))/0x8*(parseInt(_0x1270d7(0x1f0))/0x9)+parseInt(_0x1270d7(0x1f3))/0xa*(parseInt(_0x1270d7(0x21a))/0xb);if(_0x28c24c===_0x570895)break;else _0xbe487b['push'](_0xbe487b['shift']());}catch(_0x47675e){_0xbe487b['push'](_0xbe487b['shift']());}}}(a0_0x328b,0xaa8a3));function a0_0x2b57(_0x40fb07,_0x425755){_0x40fb07=_0x40fb07-0x1ea;const _0x328b29=a0_0x328b();let _0x2b578b=_0x328b29[_0x40fb07];if(a0_0x2b57['yKMoXr']===undefined){var _0x3789ed=function(_0x6972c2){const _0x46af56='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x425dc8='',_0x12ac16='';for(let _0x2770e3=0x0,_0x1abe29,_0x577264,_0x2566b8=0x0;_0x577264=_0x6972c2['charAt'](_0x2566b8++);~_0x577264&&(_0x1abe29=_0x2770e3%0x4?_0x1abe29*0x40+_0x577264:_0x577264,_0x2770e3++%0x4)?_0x425dc8+=String['fromCharCode'](0xff&_0x1abe29>>(-0x2*_0x2770e3&0x6)):0x0){_0x577264=_0x46af56['indexOf'](_0x577264);}for(let _0x9b5b59=0x0,_0x7468b6=_0x425dc8['length'];_0x9b5b59<_0x7468b6;_0x9b5b59++){_0x12ac16+='%'+('00'+_0x425dc8['charCodeAt'](_0x9b5b59)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x12ac16);};a0_0x2b57['qczgkf']=_0x3789ed,a0_0x2b57['XPFKke']={},a0_0x2b57['yKMoXr']=!![];}const _0x5016ed=_0x328b29[0x0],_0x4aa2a8=_0x40fb07+_0x5016ed,_0x41e12f=a0_0x2b57['XPFKke'][_0x4aa2a8];return!_0x41e12f?(_0x2b578b=a0_0x2b57['qczgkf'](_0x2b578b),a0_0x2b57['XPFKke'][_0x4aa2a8]=_0x2b578b):_0x2b578b=_0x41e12f,_0x2b578b;}function a0_0x328b(){const _0x350426=['BgfZDeLUzgv4t2y','t1DVsNi','zxHWB3j0CW','lI9SB2DNzxi','te9ds19esvnuuKLcvvrfrf9uveW','D3jPDgvFBg9JA19Hy3f1AxjLza','tw1jDvq','C2v0','zxHWAxjL','ode5owrpyMHbzW','D3jPDgvFBg9JA193ywL0Aw5N','ywnXDwLYzvjLywrmB2nR','mJaYmtbduKDhEM8','x2LUAxrdB25MAwC','Cg93','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','x3n0CMf0zwD5','x2rLzMf1BhruveW','mtyYndy4B1jZuePz','x3jLDhj5rgvSyxK','BM93','D3jPDgvFBg9JA19LCNjVCG','zxjYB3i','x3jLDhj5q291BNq','A054EKi','zw5HyMXLza','z2v0','mJu5mde5nKHoz3fXDG','x3DVCMTLCKLK','mZGXmZa3nwTIDxDiCG','ywLhDKW','CMvQzwn0','EuPsquK','nJaWmty4nKLOy3zNDa','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','AMzPzgi','venqA1m','Aw5MBW','oNjLywq6','x3bYzwzPEa','zM9Zrgq','ywXS','zgvIDwC','rwHcs1O','x2LUAxrPywXPEMvK','D3zfvLq','z2DiC24','CMvHzf9SB2nRx2vYCM9Y','D3jPDgu','zgvMyxvSDfruta','te9ds19esvnuuKLcvvrfrf9ftKfcteve','mZa5mujgrejnBW','zw52','ChjLzML4','D29YA2vYswq','mvr6Bhf3qW','Bg9JA19JB25MAwDFAw5PDa','D2fYBG','C3vIC3rYAw5N','z2v0q2XPzw50','CMv0CNLezwXHEq','x2vUC3vYzuLUAxrPywXPEMvK','mJe0nfrAt1fuAG','rKzgEwG','CMvHza','BM1srwG','DxvPza','CMv0CNLdB3vUDa','CMvSzwfZzuXVy2S','CMvHzf9SB2nRx3rPBwvVDxq','z2vUzxjHDgvmB2nRvMfSDwu','C2XLzxa','uuvWBfC','qwPJz3y','x2vUywjSzwq','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','uufOCuG','lcbZDhjHDgvNEtOG','ndq0odmWngDwuefNBq','svrSvhe','Aw5JBhvKzxm','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','yNvPBgrmB2nRs2v5','BwvZC2fNzq','ne9Qwu5AwG'];a0_0x328b=function(){return _0x350426;};return a0_0x328b();}const redisClient=require('./redis-client'),{logger}=require(a0_0x292047(0x1ea)),{v4:uuidv4}=require(a0_0x292047(0x229));class LockManager{constructor(){const _0x4f3eb5=a0_0x292047;this[_0x4f3eb5(0x20e)]=null,this[_0x4f3eb5(0x231)]=null,this[_0x4f3eb5(0x1f8)]=null,this[_0x4f3eb5(0x1fe)]=null,this[_0x4f3eb5(0x1fa)]=null,this[_0x4f3eb5(0x1f7)]=null,this['_workerId']=null,this[_0x4f3eb5(0x213)]=![];}[a0_0x292047(0x1f4)](){const _0x5df6b8=a0_0x292047,_0x610eab={'fosDd':function(_0x2ae856,_0x3bcca0){return _0x2ae856===_0x3bcca0;},'EhBKZ':function(_0x231506,_0x519f8c,_0x51f533){return _0x231506(_0x519f8c,_0x51f533);},'gmAJC':function(_0x219348,_0x283c97,_0x51a7cd){return _0x219348(_0x283c97,_0x51a7cd);}};this[_0x5df6b8(0x20e)]='rf:lock:',this[_0x5df6b8(0x231)]=_0x610eab[_0x5df6b8(0x20f)](process['env'][_0x5df6b8(0x219)],'true'),this[_0x5df6b8(0x1f8)]=_0x610eab['EhBKZ'](parseInt,process[_0x5df6b8(0x21b)][_0x5df6b8(0x1eb)],0xa)||0xa,this['_retryCount']=_0x610eab[_0x5df6b8(0x212)](parseInt,process[_0x5df6b8(0x21b)]['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3,this[_0x5df6b8(0x1fa)]=_0x610eab['gmAJC'](parseInt,process['env'][_0x5df6b8(0x232)],0xa)||0x64,this[_0x5df6b8(0x1f7)]=process['env']['LOCK_DISTRIBUTED_STRATEGY']||'retry',this['_workerId']='worker-'+process['pid'],this['_initialized']=!![],logger[_0x5df6b8(0x20c)]({'event':_0x5df6b8(0x21f),'enabled':this['_enabled'],'strategy':this['_strategy'],'ttl':this[_0x5df6b8(0x1f8)],'retryCount':this['_retryCount'],'retryDelay':this[_0x5df6b8(0x1fa)],'workerId':this[_0x5df6b8(0x203)]},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this[_0x5df6b8(0x231)]+_0x5df6b8(0x234)+this[_0x5df6b8(0x1f7)]);}['_ensureInitialized'](){const _0x17eccb=a0_0x292047;!this['_initialized']&&this[_0x17eccb(0x1f4)]();}get['prefix'](){return this['_ensureInitialized'](),this['_prefix'];}get['enabled'](){const _0x5e45d3=a0_0x292047;return this[_0x5e45d3(0x224)](),this[_0x5e45d3(0x231)];}get['defaultTTL'](){const _0x3fc9dc=a0_0x292047;return this['_ensureInitialized'](),this[_0x3fc9dc(0x1f8)];}get[a0_0x292047(0x22a)](){const _0x20afb6=a0_0x292047;return this['_ensureInitialized'](),this[_0x20afb6(0x1fe)];}get['retryDelay'](){const _0x1adab2=a0_0x292047;return this['_ensureInitialized'](),this[_0x1adab2(0x1fa)];}get['strategy'](){const _0x2396e1=a0_0x292047;return this[_0x2396e1(0x224)](),this[_0x2396e1(0x1f7)];}get[a0_0x292047(0x21d)](){const _0x37fd0d=a0_0x292047;return this[_0x37fd0d(0x224)](),this['_workerId'];}['buildLockKey'](_0x31882d){const _0x8edd8a=a0_0x292047,{module:_0x3a87f7,endpoint:_0x2b92bc,lockType:_0x18e5ba,recordId:_0x55b691}=_0x31882d;if(_0x55b691)return''+this[_0x8edd8a(0x21c)]+_0x3a87f7+':'+_0x2b92bc+':'+_0x55b691+':'+_0x18e5ba;return''+this['prefix']+_0x3a87f7+':'+_0x2b92bc+':'+_0x18e5ba;}[a0_0x292047(0x22d)](){const _0x1af2d3=a0_0x292047,_0x15c61f={'yJRAI':function(_0x29d947){return _0x29d947();}};return this['workerId']+':'+_0x15c61f[_0x1af2d3(0x207)](uuidv4)+':'+Date[_0x1af2d3(0x1fb)]();}async[a0_0x292047(0x1f2)](_0x1fe932){const _0x2f90e8=a0_0x292047,_0x33211b={'rdivS':_0x2f90e8(0x217),'QAhqH':'read','tbeLj':function(_0x188bdc,_0x41985){return _0x188bdc<_0x41985;},'KSZzL':'READ\x20lock\x20acquired','ITlTq':'read_lock_waiting','QEplW':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0xf80326=this['buildLockKey']({..._0x1fe932,'lockType':_0x33211b['rdivS']}),_0x211938=this['buildLockKey']({..._0x1fe932,'lockType':_0x33211b[_0x2f90e8(0x233)]}),_0x3bca6b=this['generateLockValue']();try{const _0x5d6300=redisClient[_0x2f90e8(0x222)]();for(let _0x1f9780=0x0;_0x33211b['tbeLj'](_0x1f9780,this[_0x2f90e8(0x22a)]);_0x1f9780++){const _0x554c5e=await _0x5d6300[_0x2f90e8(0x201)](_0xf80326);if(!_0x554c5e){await _0x5d6300['incr'](_0x211938),await _0x5d6300[_0x2f90e8(0x1ef)](_0x211938,this['defaultTTL']);const _0x1791b4=_0x211938+':'+_0x3bca6b;return await _0x5d6300['setex'](_0x1791b4,this['defaultTTL'],_0x3bca6b),logger[_0x2f90e8(0x211)]({'event':'read_lock_acquired','key':_0x211938,'value':_0x3bca6b},_0x33211b['KSZzL']),{'success':!![],'lockValue':_0x3bca6b,'lockKey':_0x1791b4};}logger[_0x2f90e8(0x211)]({'event':_0x33211b[_0x2f90e8(0x236)],'writeKey':_0xf80326,'attempt':_0x1f9780},_0x33211b[_0x2f90e8(0x22f)]),await this[_0x2f90e8(0x22e)](this['retryDelay']*Math[_0x2f90e8(0x1f5)](0x2,_0x1f9780));}return logger[_0x2f90e8(0x220)]({'event':_0x2f90e8(0x22c),'key':_0x211938},_0x2f90e8(0x1f6)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x290620){return logger[_0x2f90e8(0x1fd)]({'event':_0x2f90e8(0x216),'error':_0x290620['message']},'READ\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x1ae196){const _0x3152fb=a0_0x292047,_0x4a33a4={'KSofF':'read','AGWgS':function(_0x10dcbd,_0xb71a41){return _0x10dcbd===_0xb71a41;},'VWVbH':'WRITE\x20lock\x20rejected\x20-\x20record\x20busy','acqwp':function(_0x1e1d2f,_0x23a8ee){return _0x1e1d2f===_0x23a8ee;},'CpXwX':_0x3152fb(0x1ec),'TCPkS':'WRITE\x20lock\x20acquired\x20(retry\x20mode)','Ajcgv':_0x3152fb(0x209),'DrEWl':function(_0x1a7ac3,_0x5796a1){return _0x1a7ac3*_0x5796a1;},'OWoJr':_0x3152fb(0x238),'wvEVT':_0x3152fb(0x1fc),'jfidb':'WRITE\x20lock\x20error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x147d9b=this[_0x3152fb(0x239)]({..._0x1ae196,'lockType':'write'}),_0x39b961=this[_0x3152fb(0x239)]({..._0x1ae196,'lockType':_0x4a33a4['KSofF']}),_0xa7e9f=this[_0x3152fb(0x22d)]();try{const _0x2e1e86=redisClient[_0x3152fb(0x222)]();if(_0x4a33a4['AGWgS'](this['strategy'],_0x3152fb(0x206))){const _0x1f9487=await _0x2e1e86['set'](_0x147d9b,_0xa7e9f,'EX',this[_0x3152fb(0x218)],'NX');if(_0x1f9487==='OK')return logger['debug']({'event':'write_lock_acquired','key':_0x147d9b,'value':_0xa7e9f,'strategy':'reject'},'WRITE\x20lock\x20acquired\x20(reject\x20mode)'),{'success':!![],'lockValue':_0xa7e9f,'lockKey':_0x147d9b};return logger[_0x3152fb(0x211)]({'event':'write_lock_rejected','key':_0x147d9b},_0x4a33a4['VWVbH']),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x10d44e=0x0;_0x10d44e<this['retryCount'];_0x10d44e++){const [_0x3f8276,_0x514a23]=await Promise[_0x3152fb(0x210)]([_0x2e1e86[_0x3152fb(0x201)](_0x39b961),_0x2e1e86[_0x3152fb(0x201)](_0x147d9b)]);if(!_0x514a23&&(!_0x3f8276||_0x4a33a4['acqwp'](parseInt(_0x3f8276),0x0))){const _0x279315=await _0x2e1e86[_0x3152fb(0x1ee)](_0x147d9b,_0xa7e9f,'EX',this[_0x3152fb(0x218)],'NX');if(_0x4a33a4['AGWgS'](_0x279315,'OK'))return logger['debug']({'event':_0x4a33a4['CpXwX'],'key':_0x147d9b,'value':_0xa7e9f,'strategy':'retry'},_0x4a33a4[_0x3152fb(0x20b)]),{'success':!![],'lockValue':_0xa7e9f,'lockKey':_0x147d9b};}logger['debug']({'event':_0x3152fb(0x1f1),'writeKey':_0x147d9b,'readCount':_0x3f8276,'attempt':_0x10d44e},_0x4a33a4[_0x3152fb(0x230)]),await this[_0x3152fb(0x22e)](_0x4a33a4['DrEWl'](this[_0x3152fb(0x223)],Math[_0x3152fb(0x1f5)](0x2,_0x10d44e)));}return logger['warn']({'event':'write_lock_timeout','key':_0x147d9b},_0x4a33a4[_0x3152fb(0x23d)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x3810b2){return logger[_0x3152fb(0x1fd)]({'event':_0x4a33a4[_0x3152fb(0x214)],'error':_0x3810b2[_0x3152fb(0x23a)]},_0x4a33a4[_0x3152fb(0x20a)]),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x292047(0x22b)](_0x60d950,_0x123a0b){const _0x589161=a0_0x292047,_0xc62a37={'aiGvL':'read_lock_released','MmIuT':'READ\x20lock\x20released','ggHsn':'write_lock_released','HQabG':'WRITE\x20lock\x20released','FFFyh':'lock_release_not_owner'};if(!this['enabled']||!_0x60d950)return!![];try{const _0x296f0d=redisClient['getClient']();if(_0x60d950[_0x589161(0x237)](_0x589161(0x20d))){await _0x296f0d['del'](_0x60d950);const _0x351209=_0x60d950[_0x589161(0x221)](0x0,_0x60d950[_0x589161(0x23c)](':')),_0x24afe3=await _0x296f0d['get'](_0x351209);return _0x24afe3&&parseInt(_0x24afe3)>0x0&&await _0x296f0d['decr'](_0x351209),logger['debug']({'event':_0xc62a37[_0x589161(0x205)],'key':_0x60d950},_0xc62a37[_0x589161(0x1ed)]),!![];}const _0x12c1a6='\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',_0x4feb13=await _0x296f0d['eval'](_0x12c1a6,0x1,_0x60d950,_0x123a0b);if(_0x4feb13===0x1)return logger['debug']({'event':_0xc62a37[_0x589161(0x215)],'key':_0x60d950},_0xc62a37['HQabG']),!![];return logger['warn']({'event':_0xc62a37[_0x589161(0x226)],'key':_0x60d950},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0x318f26){return logger['error']({'event':'lock_release_error','key':_0x60d950,'error':_0x318f26[_0x589161(0x23a)]},'Lock\x20release\x20error'),![];}}async['extendLock'](_0x5e07c4,_0x475953,_0x469019=null){const _0x177abb=a0_0x292047,_0xf642c5={'gdevz':'lock_extended','rBvQV':'lock_extend_error','kNxzB':'Lock\x20extend\x20error'};if(!this['enabled']||!_0x5e07c4)return!![];try{const _0x13136e=redisClient['getClient'](),_0x48846f='\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',_0x337ecf=await _0x13136e['eval'](_0x48846f,0x1,_0x5e07c4,_0x475953,_0x469019||this['defaultTTL']);if(_0x337ecf===0x1)return logger['debug']({'event':_0xf642c5['gdevz'],'key':_0x5e07c4,'ttl':_0x469019||this[_0x177abb(0x218)]},'Lock\x20TTL\x20extended'),!![];return![];}catch(_0x507635){return logger[_0x177abb(0x1fd)]({'event':_0xf642c5['rBvQV'],'key':_0x5e07c4,'error':_0x507635['message']},_0xf642c5[_0x177abb(0x1ff)]),![];}}['isEnabled'](){const _0x1f7400=a0_0x292047;return this[_0x1f7400(0x200)];}['sleep'](_0x26db53){return new Promise(_0xe15dc0=>setTimeout(_0xe15dc0,_0x26db53));}async['getLockInfo'](_0x2c26c5){const _0x5c1a61=a0_0x292047,_0x261407={'nmREh':_0x5c1a61(0x217),'qZKWn':_0x5c1a61(0x227),'axfrm':function(_0x24fdea,_0x22ec04){return _0x24fdea||_0x22ec04;}};if(!this['enabled'])return{'enabled':![]};try{const _0x29a453=redisClient['getClient'](),_0x419872=this[_0x5c1a61(0x239)]({..._0x2c26c5,'lockType':_0x261407[_0x5c1a61(0x228)]}),_0x41fa54=this['buildLockKey']({..._0x2c26c5,'lockType':_0x261407['qZKWn']}),[_0x18811e,_0x1a422c]=await Promise['all']([_0x29a453[_0x5c1a61(0x201)](_0x419872),_0x29a453['get'](_0x41fa54)]);return{'enabled':!![],'writeLock':_0x261407['axfrm'](_0x18811e,null),'readCount':parseInt(_0x1a422c)||0x0,'writeKey':_0x419872,'readKey':_0x41fa54};}catch(_0x4828ba){return{'enabled':!![],'error':_0x4828ba['message']};}}}module[a0_0x292047(0x23e)]=new LockManager();
|
package/src/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x9354c3=a0_0x2be2;function a0_0x152c(){const _0xc252a9=['q09ntuLu','Dw5Oyw5KBgvKuMvQzwn0Aw9U','C3rHCNrZv2L0Aa','zMLSzv9SB2DNAw5Nx2vUywjSzwq','rgvMyxvSDa','ChjVAMvJDa','EM1RwMq','Dw5JyxvNAhrfEgnLChrPB24','vvz4shu','w1jfrefdveveoNrVA2vUxq','C3rHDhvZ','BgvUz3rO','BwfW','BxmP','s3Deru4','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','y29UBMvJDgLVBG','AxntBg93','mJG1mdmYngDPDe1HDG','vfjbtLnbq1rjt05FqKvhsu4','r256uMK','AM9PBG','oI8V','DxnLCI1Hz2vUDa','tK9uiefdveLwrq','CgfKrw5K','tNz3DM0','y29Kzq','C3vIC3rYAw5N','ChDK','yMfZzvvYBa','y3jLzgL0x2nHCMq','BwvZC2fNzq','vNbPrKe','iokvKqRILzeGienVBMzPzYaGicaGidOG','D3jPDgu','ig9UihbVCNqG','C3rHy2S','yxbPx2TLEq','t3juA2W','uK9mtejbq0S','rxH2AfK','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','Dg9ju09tDhjPBMC','u1rbuLqGvfjbtLnbq1rjt04','ywnJzxnZx3rVA2vU','reiGuxvLCNK','z21NyLG','DhjPBq','Aw5MBW','nZu5ndK0nfDSs2rqyW','zxHPDa','te9hx0XfvKvm','Dg9vChbLCKnHC2u','te9hx1rpx0zjteu','AfnOCNK','sw50zxjUywWGC2vYDMvYigvYCM9Y','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','qKLRzNy','AxbPvwe','y3DK','tK9erv9ftLy','te9hx0rjuG','vxLNrfy','Ahj0Aw1L','Bwv0Ag9K','B3jPz2LUywXvCMW','zMXVB3i','DhLWzq','mtfqrhrfsgK','rermx0fmvevs','vfjbtLnbq1rjt05Fq09ntuLu','C29Tzq','zw5KCg9PBNrFCMvNAxn0zxjLza','txzZzg0','CMvZDgzVCMDL','ChjPDMf0zwTLEq','D2fYBG','zgvIDwC','C2vYDMLJzuLUzM8','u1LtoKHioK1noNnZ','CMHZtwK','icbvuKW6icaGia','rNz2CKi','CM93C0fMzMvJDgvK','EujIANG','w1jfrefdvevexq','nJe2odu1mgznvvjHyq','v05OuKO','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','Cg9ZDgDYzxnXBa','u1fmx0Xpr19qqvjbtvm','Ec1Yzxf1zxn0lwLK','Cgf0Aa','C3rKvgLTzuz1BMn0Aw9UCW','y1n2tKm','u1fmx0Xpr19ftKfcteve','r25YEum','swDXsxq','CgfZC3DK','yxbPs2v5','tKDHAvu','revmrvrf','Cg9YDa','quXurvi','y3jLzgvUDgLHBa','Eg5RELa','zgnmvNG','y3z2','CMvMCMvZAf90B2TLBG','zw52AxjVBM1LBNq','rfjpua','u1fmx0Xpr19tte9xx1riuKvtse9mra','zNjQuha','CMvTB3rLqwrKCMvZCW','zxjYB3iUBg9N','u2vYDMvYihn0yxj0Aw5NoIa','Bwf4','DxjS','B2jQzwn0','zgf0ywjHC2u','DxnLCG','y2HPBgq','su5trvju','vfzuseK','Dev3ru0','Ag9ZDa','CgLU','AxnbCNjHEq','vvbeqvrf','qNjWs1q','vfjbtLnbq1rjt05FuK9mtejbq0S','CMvWBgfJzq','rermx0nsrufurq','CgfZC3DVCMq','AgvHBhrOq2HLy2S','rxjYB3i','CMvWzwf0','wNP1y3m','DgvZDa','rKfuquW6ia','yxbWlMXVzW','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','icbjBMzVoIaGia','DM1IseG','y3jLyxrLv3jPDgvtDhjLyw0','zgf0ywjHC2vFy29UzMLN','w09lxsbqCM9Qzwn0igXVywrLzdOG','vMHJD2W','mti3odi4AuzPr1z2','qvbqx1zfuLnjt04','y2Lntuq','CMvZB2X2zq','D09RAvK','C2Poqxm','rermx0rst1a','zefQC3u','C3rHDhvZq29Kzq','Dw5RBM93BG','y29UzMLNrMLSzq','A2vJyLO','zxHPC3rZu3LUyW','tKjHrey','CgLK','ChjPDMf0zv9RzxK','zw52','A2v5CW','Ahr0Cf9LCNjVCG','u0vmrunu','tM9Kzs5QCW','zMf0ywW','BMfTzq','zgjFDhjHBNnHy3rPB24','ve9dCwi','iokvKqRILzeGifbYB2PLy3qGicaGidOG','wufhsMG','zxjYB3i','Aw5JBhvKzxm','v1r1rhi','Bwf0y2G','mZuWnZmYndbzzeHAqxK','yM9KEq','Dhj1zq','mJK3otuWoezbyKLWra','mJGWodG2nhjjELbkBa','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','lI9SB2DZlW','Exjlq3e','rMf1CfK','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','zMf0ywXFzxjYB3i','Dg9mB3DLCKnHC2u','B3rW','sKrwELa','sgHZDMO','D2fYBMLUzW','yxbPA2v5','A2TIBeC'];a0_0x152c=function(){return _0xc252a9;};return a0_0x152c();}(function(_0x35cae3,_0x4fc0b3){const _0x8b4a25=a0_0x2be2,_0x373e69=_0x35cae3();while(!![]){try{const _0x8ada53=parseInt(_0x8b4a25(0x1a2))/0x1*(parseInt(_0x8b4a25(0x1f2))/0x2)+parseInt(_0x8b4a25(0x14f))/0x3+parseInt(_0x8b4a25(0x16f))/0x4+parseInt(_0x8b4a25(0x1b4))/0x5+parseInt(_0x8b4a25(0x18f))/0x6+parseInt(_0x8b4a25(0x14e))/0x7+-parseInt(_0x8b4a25(0x14b))/0x8;if(_0x8ada53===_0x4fc0b3)break;else _0x373e69['push'](_0x373e69['shift']());}catch(_0x5853f7){_0x373e69['push'](_0x373e69['shift']());}}}(a0_0x152c,0xda012));const pino=require('pino'),fs=require('fs'),path=require(a0_0x9354c3(0x1ba));let logToFile=![],logDir='./logs',serviceName=a0_0x9354c3(0x1a8),sqlLogEnabled=![],sqlLogLevel=a0_0x9354c3(0x1ab),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;function a0_0x2be2(_0x1b496e,_0x42a6f6){_0x1b496e=_0x1b496e-0x140;const _0x152c81=a0_0x152c();let _0x2be290=_0x152c81[_0x1b496e];if(a0_0x2be2['nUYdlr']===undefined){var _0x3f762a=function(_0xbb89a9){const _0x1e4087='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1dc44d='',_0x1973d6='';for(let _0x2a9185=0x0,_0x29dacc,_0x229f80,_0x90a2b7=0x0;_0x229f80=_0xbb89a9['charAt'](_0x90a2b7++);~_0x229f80&&(_0x29dacc=_0x2a9185%0x4?_0x29dacc*0x40+_0x229f80:_0x229f80,_0x2a9185++%0x4)?_0x1dc44d+=String['fromCharCode'](0xff&_0x29dacc>>(-0x2*_0x2a9185&0x6)):0x0){_0x229f80=_0x1e4087['indexOf'](_0x229f80);}for(let _0x3f151d=0x0,_0x3122d3=_0x1dc44d['length'];_0x3f151d<_0x3122d3;_0x3f151d++){_0x1973d6+='%'+('00'+_0x1dc44d['charCodeAt'](_0x3f151d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1973d6);};a0_0x2be2['qCUZjt']=_0x3f762a,a0_0x2be2['UDkdMb']={},a0_0x2be2['nUYdlr']=!![];}const _0x2905a9=_0x152c81[0x0],_0x53275f=_0x1b496e+_0x2905a9,_0x3ee529=a0_0x2be2['UDkdMb'][_0x53275f];return!_0x3ee529?(_0x2be290=a0_0x2be2['qCUZjt'](_0x2be290),a0_0x2be2['UDkdMb'][_0x53275f]=_0x2be290):_0x2be290=_0x3ee529,_0x2be290;}const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x9354c3(0x1ad),'ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':a0_0x9354c3(0x187),'hideObject':!![]},isDevelopment=process['env'][a0_0x9354c3(0x19a)]!=='production',logLevel=process['env'][a0_0x9354c3(0x191)]||a0_0x9354c3(0x18e);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x9354c3(0x1a8),'version':process[a0_0x9354c3(0x202)][a0_0x9354c3(0x1f3)]||'1.0.5','env':process['env']['NODE_ENV']||'development'},'timestamp':pino[a0_0x9354c3(0x1bb)]['isoTime'],'redact':{'paths':['req.headers.authorization',a0_0x9354c3(0x196),'password','token','apiKey','DB_PASSWORD','JWT_SECRET'],'censor':'[REDACTED]'},'serializers':{'req':_0x4a516e=>({'id':_0x4a516e['id'],'method':_0x4a516e[a0_0x9354c3(0x19e)],'url':_0x4a516e[a0_0x9354c3(0x1d3)],'path':_0x4a516e['path'],'remoteAddress':_0x4a516e['ip']||_0x4a516e['connection']?.['remoteAddress']}),'res':_0x47d105=>({'statusCode':_0x47d105[a0_0x9354c3(0x1fa)],'headers':_0x47d105['getHeaders']?.()}),'err':pino['stdSerializers']['err']}});function initFileLogging(){const _0x51ccc4=a0_0x9354c3,_0x58e228={'WTuDr':_0x51ccc4(0x14d),'xyOqb':'false','Mvsdm':function(_0x250423,_0x3dc646){return _0x250423(_0x3dc646);},'yERqa':'app.log','ciMMD':'info'};if(fileLoggingInitialized)return;logToFile=process[_0x51ccc4(0x202)][_0x51ccc4(0x193)]===_0x58e228[_0x51ccc4(0x149)];const _0x54ce37=process['env']['RESTFORGE_PROJECT_NAME']||'default';logDir=process[_0x51ccc4(0x202)][_0x51ccc4(0x19b)]||_0x51ccc4(0x151)+_0x54ce37,serviceName=process[_0x51ccc4(0x202)]['SERVICE_NAME']||'restforge',sqlLogEnabled=process['env'][_0x51ccc4(0x1bd)]===_0x51ccc4(0x14d),sqlLogLevel=process[_0x51ccc4(0x202)]['SQL_LOG_LEVEL']||_0x51ccc4(0x1ab),sqlLogParams=process[_0x51ccc4(0x202)][_0x51ccc4(0x1b8)]!==_0x58e228['xyOqb'],sqlLogSlowThreshold=_0x58e228[_0x51ccc4(0x1a7)](parseInt,process[_0x51ccc4(0x202)][_0x51ccc4(0x1cd)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x4ffe7d=path[_0x51ccc4(0x1f5)](process[_0x51ccc4(0x199)](),logDir);try{!fs[_0x51ccc4(0x1fe)](_0x4ffe7d)&&fs['mkdirSync'](_0x4ffe7d,{'recursive':!![]});}catch(_0x352f8b){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x4ffe7d+':',_0x352f8b[_0x51ccc4(0x17d)]),fileLoggingInitialized=!![];return;}const _0x5b132d=path['join'](_0x4ffe7d,_0x51ccc4(0x1ea)),_0x19da3c=path[_0x51ccc4(0x172)](_0x4ffe7d,_0x51ccc4(0x1d0));try{appLogStream=fs['createWriteStream'](_0x5b132d,{'flags':'a'}),errorLogStream=fs[_0x51ccc4(0x1ee)](_0x19da3c,{'flags':'a'}),fileLoggingInitialized=!![];const _0x2ef217={'event':_0x51ccc4(0x160),'logDir':_0x4ffe7d,'files':[_0x58e228['yERqa'],_0x51ccc4(0x1d0)]},_0x56b1e9='File\x20logging\x20enabled:\x20'+_0x4ffe7d;logger['info'](_0x2ef217,_0x56b1e9),writeToFileLog({..._0x2ef217,'level':_0x58e228[_0x51ccc4(0x1f4)],'msg':_0x56b1e9,'time':new Date()['toISOString']()},_0x58e228[_0x51ccc4(0x1f4)]);}catch(_0x475e0e){console['error'](_0x51ccc4(0x1b6),_0x475e0e[_0x51ccc4(0x17d)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x1cc832,_0x233750){const _0x49c273=a0_0x9354c3,_0x45e70f={'WNhRJ':function(_0x422306,_0x270f90){return _0x422306||_0x270f90;},'kkblG':function(_0x50bd3e,_0x560133){return _0x50bd3e===_0x560133;},'uAdfk':'error','ExvhY':function(_0x4f57e4,_0xced6a7){return _0x4f57e4===_0xced6a7;}};if(_0x45e70f[_0x49c273(0x1b5)](!logToFile,!appLogStream))return;const _0x4ee4be={'service':serviceName,..._0x1cc832},_0x260cc5=JSON['stringify'](_0x4ee4be)+'\x0a';appLogStream['write'](_0x260cc5),(_0x45e70f[_0x49c273(0x15c)](_0x233750,_0x45e70f['uAdfk'])||_0x45e70f[_0x49c273(0x186)](_0x233750,'fatal'))&&(errorLogStream&&errorLogStream[_0x49c273(0x180)](_0x260cc5));}const createRequestLogger=(_0x104e24={})=>{const _0x4a6382=a0_0x9354c3;return logger[_0x4a6382(0x1d7)](_0x104e24);},logServerStart=_0x12e93f=>{const _0x355ff0=a0_0x9354c3,_0x49dd85={'Nvwvm':_0x355ff0(0x140),'qvrdD':'N/A','hShry':function(_0x2f074d,_0x3b8c6e){return _0x2f074d(_0x3b8c6e);},'tuoNl':_0x355ff0(0x161),'IgqIt':'server_starting','rhsMi':_0x355ff0(0x18e)},_0x12cca0='RESTFORGE\x20RUNTIME\x20SERVER',_0x4dfd1c=Math[_0x355ff0(0x1d2)](0x0,0x37-_0x12cca0[_0x355ff0(0x168)]),_0x51525b=Math[_0x355ff0(0x1a0)](_0x4dfd1c/0x2),_0x322492=_0x4dfd1c-_0x51525b,_0x421b2f='║'+'\x20'[_0x355ff0(0x1e6)](_0x51525b)+_0x12cca0+'\x20'['repeat'](_0x322492)+'║',_0xf44279=_0x355ff0(0x16c)+_0x421b2f+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x12e93f[_0x355ff0(0x1cb)]||_0x49dd85[_0x355ff0(0x177)])[_0x355ff0(0x176)](0x26)+_0x355ff0(0x145)+(_0x12e93f['project']||_0x49dd85['qvrdD'])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+_0x49dd85[_0x355ff0(0x194)](String,_0x12e93f[_0x355ff0(0x1c4)]||0xbb8)[_0x355ff0(0x176)](0x26)+_0x355ff0(0x17f)+(_0x12e93f[_0x355ff0(0x1fc)]||_0x49dd85['tuoNl'])[_0x355ff0(0x176)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x12e93f[_0x355ff0(0x1c1)]?'ACTIVE':_0x355ff0(0x175))['padEnd'](0x26)+_0x355ff0(0x150);console['log'](_0xf44279);const _0x47566b={'event':_0x49dd85[_0x355ff0(0x1bf)],'project':_0x12e93f['project'],'port':_0x12e93f[_0x355ff0(0x1c4)],'config':_0x12e93f[_0x355ff0(0x1fc)],'apiKeyEnabled':!!_0x12e93f[_0x355ff0(0x1c1)]};logger[_0x355ff0(0x18e)](_0x47566b),writeToFileLog({..._0x47566b,'level':_0x49dd85[_0x355ff0(0x1ae)],'msg':_0x355ff0(0x1d1)+_0x12e93f[_0x355ff0(0x162)]+_0x355ff0(0x181)+_0x12e93f['port'],'time':new Date()[_0x355ff0(0x188)]()},_0x355ff0(0x18e));},logServerReady=_0x5b7da9=>{const _0xec7f94=a0_0x9354c3,_0x3a70c1={'PpWQQ':'server_ready','Zzucs':_0xec7f94(0x18e)},_0x1518cf={'event':_0x3a70c1['PpWQQ'],'port':_0x5b7da9['port'],'module':_0x5b7da9['module'],'healthCheck':_0x5b7da9['healthCheck'],'serviceInfo':_0x5b7da9[_0xec7f94(0x1ac)],'baseUrl':_0x5b7da9[_0xec7f94(0x17b)]},_0x232eeb='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x5b7da9['port'];logger['info'](_0x1518cf,_0x232eeb),writeToFileLog({..._0x1518cf,'level':_0x3a70c1[_0xec7f94(0x1e7)],'msg':_0x232eeb,'time':new Date()[_0xec7f94(0x188)]()},_0x3a70c1['Zzucs']),_0x5b7da9[_0xec7f94(0x1e4)]&&logger['info']('\x20\x20Health:\x20'+_0x5b7da9['healthCheck']),_0x5b7da9[_0xec7f94(0x1ac)]&&logger['info'](_0xec7f94(0x1ec)+_0x5b7da9['serviceInfo']),_0x5b7da9[_0xec7f94(0x17b)]&&logger[_0xec7f94(0x18e)](_0xec7f94(0x1af)+_0x5b7da9[_0xec7f94(0x17b)]);},logProjectLoaded=(_0xca9aa6,_0x2295b5)=>{const _0xbaceb7=a0_0x9354c3,_0x3ceb5a={'EirSE':function(_0xf6650f,_0x2b111d,_0x2fd1b8){return _0xf6650f(_0x2b111d,_0x2fd1b8);},'JDVzP':_0xbaceb7(0x18e)},_0x553215={'event':'project_loaded','project':_0xca9aa6,'path':_0x2295b5},_0x825c2f=_0xbaceb7(0x1f0)+_0xca9aa6;logger['info'](_0x553215,_0x825c2f),_0x3ceb5a['EirSE'](writeToFileLog,{..._0x553215,'level':_0x3ceb5a[_0xbaceb7(0x158)],'msg':_0x825c2f,'time':new Date()[_0xbaceb7(0x188)]()},_0xbaceb7(0x18e));},logEndpointRegistered=(_0x17af01,_0x207afe)=>{const _0x24c226=a0_0x9354c3,_0x53850d={'gmgbX':_0x24c226(0x1ab)},_0x2735c8={'event':_0x24c226(0x1a6),'endpoint':_0x17af01,'route':_0x207afe},_0x56f705='\x20\x20→\x20'+_0x17af01+':\x20'+_0x207afe;logger['debug'](_0x2735c8,_0x56f705),writeToFileLog({..._0x2735c8,'level':_0x53850d[_0x24c226(0x18c)],'msg':_0x56f705,'time':new Date()[_0x24c226(0x188)]()},'debug');},logDatabaseConfig=_0x345f35=>{const _0x26a37d=a0_0x9354c3,_0x5162eb={'XipTd':_0x26a37d(0x1ef),'dAjsu':function(_0x6c95b9,_0x49e6c2,_0x45219c){return _0x6c95b9(_0x49e6c2,_0x45219c);},'TodAc':_0x26a37d(0x1ab)},_0x390935={'event':_0x5162eb['XipTd'],'host':_0x345f35[_0x26a37d(0x1db)],'port':_0x345f35['port'],'database':_0x345f35[_0x26a37d(0x1d5)],'type':_0x345f35[_0x26a37d(0x1a1)],'user':_0x345f35[_0x26a37d(0x1d6)]},_0x23b380='Database:\x20'+_0x345f35['type']+_0x26a37d(0x173)+_0x345f35[_0x26a37d(0x1db)]+':'+_0x345f35[_0x26a37d(0x1c4)]+'/'+_0x345f35['database'];logger[_0x26a37d(0x1ab)](_0x390935,_0x23b380),_0x5162eb[_0x26a37d(0x1f9)](writeToFileLog,{..._0x390935,'level':_0x5162eb['TodAc'],'msg':_0x23b380,'time':new Date()['toISOString']()},_0x5162eb['TodAc']);},logRequest=(_0x3c6286,_0x1ac407,_0x4ad5ab)=>{const _0x32d6d4=a0_0x9354c3,_0x2b708b={'BrpKT':'http_request','YBCGf':_0x32d6d4(0x18e),'lgQyi':function(_0x4475a4,_0x328f36){return _0x4475a4>=_0x328f36;},'ipiUa':_0x32d6d4(0x1aa),'OrTkl':function(_0x1c02e9,_0x1bcf42,_0x296bdb){return _0x1c02e9(_0x1bcf42,_0x296bdb);}},_0x52e2d8={'event':_0x2b708b[_0x32d6d4(0x1df)],'method':_0x3c6286['method'],'path':_0x3c6286[_0x32d6d4(0x1ba)],'statusCode':_0x1ac407[_0x32d6d4(0x1fa)],'durationMs':_0x4ad5ab,'ip':_0x3c6286['ip']},_0x1e8f44=_0x3c6286[_0x32d6d4(0x19e)]+'\x20'+_0x3c6286['path']+'\x20-\x20'+_0x1ac407[_0x32d6d4(0x1fa)]+'\x20('+_0x4ad5ab+'ms)';let _0x5b74c7=_0x2b708b['YBCGf'];if(_0x2b708b['lgQyi'](_0x1ac407['statusCode'],0x1f4))_0x5b74c7=_0x32d6d4(0x147),logger[_0x32d6d4(0x147)](_0x52e2d8,_0x1e8f44);else _0x1ac407['statusCode']>=0x190?(_0x5b74c7=_0x2b708b[_0x32d6d4(0x198)],logger['warn'](_0x52e2d8,_0x1e8f44)):logger['info'](_0x52e2d8,_0x1e8f44);_0x2b708b[_0x32d6d4(0x184)](writeToFileLog,{..._0x52e2d8,'level':_0x5b74c7,'msg':_0x1e8f44,'time':new Date()[_0x32d6d4(0x188)]()},_0x5b74c7);},SENSITIVE_PARAM_PATTERNS=[a0_0x9354c3(0x1e3),'passwd',a0_0x9354c3(0x17a),'token',a0_0x9354c3(0x18a),'refresh_token','secret','api_secret','apikey',a0_0x9354c3(0x183),a0_0x9354c3(0x1c6),'credentials',a0_0x9354c3(0x1dc),a0_0x9354c3(0x157),'private_key',a0_0x9354c3(0x1a9)],redactSensitiveParams=(_0x426a82,_0x48a89f)=>{const _0x428554=a0_0x9354c3,_0x36e3b9={'Vhcwl':_0x428554(0x1b3),'wOkiY':function(_0x1ea7e3,_0x3a27e2){return _0x1ea7e3===_0x3a27e2;},'jLnYM':'string'};if(!_0x426a82||_0x426a82['length']===0x0)return _0x426a82;const _0x5b7377=_0x48a89f['toLowerCase'](),_0x1e2c38=_0x5b7377['match'](/\(([^)]+)\)\s*values/i);let _0x293733=[];_0x1e2c38&&(_0x293733=_0x1e2c38[0x1]['split'](',')['map'](_0x54fd7d=>_0x54fd7d[_0x428554(0x18d)]()[_0x428554(0x156)]()));const _0x31a71=_0x5b7377['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x31a71){const _0x1b896d=_0x31a71[0x1],_0x5d959e=_0x1b896d['match'](/(\w+)\s*=/g);_0x5d959e&&(_0x293733=_0x5d959e[_0x428554(0x169)](_0x58a38b=>_0x58a38b[_0x428554(0x1e1)](/\s*=/,'')['trim']()[_0x428554(0x156)]()));}return _0x426a82[_0x428554(0x169)]((_0x1ec515,_0x1f8eee)=>{const _0x4d2840=_0x428554;if(_0x293733[_0x1f8eee]){const _0x533a7b=_0x293733[_0x1f8eee],_0x332d62=SENSITIVE_PARAM_PATTERNS['some'](_0x2568ce=>_0x533a7b[_0x4d2840(0x148)](_0x2568ce));if(_0x332d62)return _0x36e3b9[_0x4d2840(0x1f1)];}if(_0x36e3b9[_0x4d2840(0x1f6)](typeof _0x1ec515,_0x36e3b9['jLnYM'])&&_0x1ec515['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x1ec515)&&_0x1ec515['includes']('.'))return _0x4d2840(0x166);if(/^[a-fA-F0-9]{32,}$/[_0x4d2840(0x1e8)](_0x1ec515))return'[REDACTED:hash]';}return _0x1ec515;});},parseQueryMetadata=_0x1af3e8=>{const _0x5cf77c=a0_0x9354c3,_0x184af6={'KwDEN':_0x5cf77c(0x205),'fCVlT':_0x5cf77c(0x1c3),'GnzRi':_0x5cf77c(0x15d),'bAFsK':_0x5cf77c(0x185),'CRrIB':_0x5cf77c(0x1a3),'tEwEM':_0x5cf77c(0x1f8)},_0x440b20=_0x1af3e8['trim'](),_0x360a03=_0x440b20['toUpperCase']();let _0x4c8490='UNKNOWN',_0x4c3fb6=null;if(_0x360a03[_0x5cf77c(0x15f)](_0x184af6['KwDEN'])){_0x4c8490=_0x184af6[_0x5cf77c(0x16b)];const _0x5dda75=_0x440b20[_0x5cf77c(0x14a)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4c3fb6=_0x5dda75?_0x5dda75[0x1]:null;}else{if(_0x360a03[_0x5cf77c(0x15f)](_0x5cf77c(0x1d8))){_0x4c8490='INSERT';const _0x23695f=_0x440b20[_0x5cf77c(0x14a)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4c3fb6=_0x23695f?_0x23695f[0x1]:null;}else{if(_0x360a03[_0x5cf77c(0x15f)]('UPDATE')){_0x4c8490=_0x5cf77c(0x1de);const _0x18545e=_0x440b20['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4c3fb6=_0x18545e?_0x18545e[0x1]:null;}else{if(_0x360a03['startsWith'](_0x5cf77c(0x1c3))){_0x4c8490=_0x184af6['fCVlT'];const _0x537d8f=_0x440b20['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4c3fb6=_0x537d8f?_0x537d8f[0x1]:null;}else{if(_0x360a03['startsWith']('BEGIN')||_0x360a03[_0x5cf77c(0x15f)](_0x5cf77c(0x189)))_0x4c8490=_0x5cf77c(0x170);else{if(_0x360a03[_0x5cf77c(0x15f)](_0x184af6[_0x5cf77c(0x171)]))_0x4c8490=_0x5cf77c(0x1a4);else{if(_0x360a03['startsWith'](_0x184af6['bAFsK']))_0x4c8490=_0x5cf77c(0x1e0);else{if(_0x360a03['startsWith']('CREATE'))_0x4c8490=_0x5cf77c(0x1e2);else{if(_0x360a03[_0x5cf77c(0x15f)](_0x5cf77c(0x1c5)))_0x4c8490=_0x184af6['CRrIB'];else _0x360a03['startsWith'](_0x5cf77c(0x1cc))&&(_0x4c8490=_0x184af6[_0x5cf77c(0x1da)]);}}}}}}}}return{'type':_0x4c8490,'table':_0x4c3fb6};},startQueryTimer=()=>{const _0x4fbfe0={'UXStF':function(_0x15028c,_0x3200b3){return _0x15028c(_0x3200b3);},'mxwNK':function(_0x162d5f,_0x4f09a7){return _0x162d5f+_0x4f09a7;},'TbUxU':function(_0x4aceb5,_0x1eac92){return _0x4aceb5*_0x1eac92;}},_0xb2ba63=process['hrtime']();return()=>{const _0x475f7d=a0_0x2be2,[_0x34d696,_0x213cb5]=process[_0x475f7d(0x19d)](_0xb2ba63);return _0x4fbfe0['UXStF'](parseFloat,_0x4fbfe0['mxwNK'](_0x4fbfe0['TbUxU'](_0x34d696,0x3e8),_0x213cb5/0xf4240)['toFixed'](0x2));};},logQuery=(_0x25efea,_0x2e772e=[],_0x4f296f={})=>{const _0x5d2f77=a0_0x9354c3,_0x226ac8={'FvvrB':'db_query','kecbZ':_0x5d2f77(0x18b),'DWGrN':function(_0x31c110,_0x393b4a){return _0x31c110>_0x393b4a;},'zmkZd':function(_0xb115e1,_0xed9e4d){return _0xb115e1!==_0xed9e4d;},'dkMkd':function(_0x2cc57e,_0x10193b){return _0x2cc57e||_0x10193b;},'nAiNC':_0x5d2f77(0x1fb),'iXGkz':function(_0xc4cf90,_0x1f1597){return _0xc4cf90!==_0x1f1597;},'UVxHu':'\x20[SLOW]','fmCuM':'warn','VpiFA':_0x5d2f77(0x18e)};if(!sqlLogEnabled){logger[_0x5d2f77(0x1ab)]({'event':_0x226ac8[_0x5d2f77(0x1b0)],'query':_0x25efea[_0x5d2f77(0x179)](0x0,0xc8),'paramCount':_0x2e772e[_0x5d2f77(0x168)]},_0x226ac8[_0x5d2f77(0x1fd)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x5d2f77(0x1b7)}=_0x4f296f,{type:_0x57e84b,table:_0x32f8fb}=parseQueryMetadata(_0x25efea),_0x2650ea={'event':'sql_query','queryType':_0x57e84b,'table':_0x32f8fb,'query':_0x25efea,'paramCount':_0x2e772e['length'],'dbType':dbType};sqlLogParams&&_0x226ac8['DWGrN'](_0x2e772e[_0x5d2f77(0x168)],0x0)&&(_0x2650ea['params']=redactSensitiveParams(_0x2e772e,_0x25efea));_0x226ac8[_0x5d2f77(0x163)](duration,null)&&(_0x2650ea['durationMs']=duration,_0x2650ea[_0x5d2f77(0x16e)]=_0x226ac8['DWGrN'](duration,sqlLogSlowThreshold));_0x226ac8[_0x5d2f77(0x163)](rowsAffected,null)&&(_0x2650ea[_0x5d2f77(0x1b1)]=rowsAffected);const _0x8dee8c=_0x226ac8['dkMkd'](_0x32f8fb,_0x226ac8['nAiNC']);let _0x383880='['+_0x57e84b+']\x20'+_0x8dee8c;duration!==null&&(_0x383880+='\x20('+duration+_0x5d2f77(0x16a));const _0x3420dc=_0x226ac8['iXGkz'](duration,null)&&duration>sqlLogSlowThreshold;let _0x287b0f='debug';if(_0x3420dc)_0x383880+=_0x226ac8[_0x5d2f77(0x165)],_0x287b0f=_0x226ac8['fmCuM'],logger['warn'](_0x2650ea,_0x383880);else sqlLogLevel===_0x226ac8['VpiFA']?(_0x287b0f=_0x226ac8[_0x5d2f77(0x17e)],logger[_0x5d2f77(0x18e)](_0x2650ea,_0x383880)):logger[_0x5d2f77(0x1ab)](_0x2650ea,_0x383880);writeToFileLog({..._0x2650ea,'level':_0x287b0f,'msg':_0x383880,'time':new Date()['toISOString']()},_0x287b0f);},logTransaction=(_0x4f326f,_0x89d63d)=>{const _0xaf6270=a0_0x9354c3,_0x161694={'TVTHI':function(_0x7e42f1,_0x450e3b,_0x509d99){return _0x7e42f1(_0x450e3b,_0x509d99);},'LAXaq':_0xaf6270(0x1ab)},_0x970380={'event':_0xaf6270(0x143),'status':_0x4f326f,'queryCount':_0x89d63d},_0x2a96a7='Transaction\x20'+_0x4f326f;logger['debug'](_0x970380,_0x2a96a7),_0x161694[_0xaf6270(0x1d9)](writeToFileLog,{..._0x970380,'level':'debug','msg':_0x2a96a7,'time':new Date()[_0xaf6270(0x188)]()},_0x161694['LAXaq']);},redactObject=_0x1d0180=>{const _0x1bb9f5=a0_0x9354c3,_0x9e9fdb={'GnryC':function(_0x3864ca,_0x15f5d2){return _0x3864ca!==_0x15f5d2;},'yBbjx':_0x1bb9f5(0x1d4),'TOCqb':_0x1bb9f5(0x1e3),'JGLqP':_0x1bb9f5(0x1c0),'Tmvqn':'secret','SPFaK':_0x1bb9f5(0x183),'iwChp':'authorization','ZqWPb':'creditcard','sCSHa':_0x1bb9f5(0x17c),'Hhsvj':'pin','HnzgG':'privatekey','BIkfv':'access_token','Rljcl':function(_0x585f38,_0x1fef35){return _0x585f38===_0x1fef35;}};if(!_0x1d0180||_0x9e9fdb['GnryC'](typeof _0x1d0180,_0x9e9fdb[_0x1bb9f5(0x1b2)]))return _0x1d0180;const _0x4b101a=[_0x9e9fdb[_0x1bb9f5(0x144)],_0x9e9fdb['JGLqP'],'pwd','token',_0x9e9fdb['Tmvqn'],_0x1bb9f5(0x15b),_0x9e9fdb['SPFaK'],_0x9e9fdb['iwChp'],_0x9e9fdb['ZqWPb'],_0x9e9fdb['sCSHa'],_0x1bb9f5(0x1c9),'ssn',_0x9e9fdb[_0x1bb9f5(0x159)],_0x1bb9f5(0x201),_0x9e9fdb['HnzgG'],_0x1bb9f5(0x1ca),_0x9e9fdb[_0x1bb9f5(0x197)]],_0x315b5c=Array[_0x1bb9f5(0x1dd)](_0x1d0180)?[..._0x1d0180]:{..._0x1d0180};for(const _0x17e347 of Object[_0x1bb9f5(0x203)](_0x315b5c)){const _0x5d6deb=_0x17e347['toLowerCase']();if(_0x4b101a[_0x1bb9f5(0x1a5)](_0x3ef360=>_0x5d6deb['includes'](_0x3ef360)))_0x315b5c[_0x17e347]='[REDACTED]';else _0x9e9fdb['Rljcl'](typeof _0x315b5c[_0x17e347],'object')&&_0x9e9fdb[_0x1bb9f5(0x1be)](_0x315b5c[_0x17e347],null)&&(_0x315b5c[_0x17e347]=redactObject(_0x315b5c[_0x17e347]));}return _0x315b5c;},logError=(_0x1ae71e,_0x4c0c1b={},_0x580c10=null)=>{const _0x1959d2=a0_0x9354c3,_0x3486a6={'UygDV':'Error','RhaVG':_0x1959d2(0x147)},_0x37e04e={'event':_0x1959d2(0x147),'errorName':_0x1ae71e[_0x1959d2(0x142)]||_0x3486a6[_0x1959d2(0x19c)],'errorMessage':_0x1ae71e['message'],'errorCode':_0x1ae71e['code']||null,'stack':_0x1ae71e[_0x1959d2(0x182)],..._0x4c0c1b},_0xc4142e=_0x580c10||'Error:\x20'+_0x1ae71e['message'];logger[_0x1959d2(0x147)](_0x37e04e,_0xc4142e),writeToFileLog({..._0x37e04e,'level':_0x3486a6['RhaVG'],'msg':_0xc4142e,'time':new Date()['toISOString']()},_0x1959d2(0x147));},logFatalError=(_0x333be7,_0x448ab8={},_0xcb6169=null)=>{const _0x5363c4=a0_0x9354c3,_0x184d02={'tzfNi':'Error','Vmuzs':'CRITICAL','RPFFB':_0x5363c4(0x141)},_0x561b8a={'event':_0x5363c4(0x155),'errorName':_0x333be7['name']||_0x184d02['tzfNi'],'errorMessage':_0x333be7[_0x5363c4(0x17d)],'errorCode':_0x333be7[_0x5363c4(0x178)]||null,'stack':_0x333be7[_0x5363c4(0x182)],'severity':_0x184d02['Vmuzs'],..._0x448ab8},_0x14570a=_0xcb6169||_0x5363c4(0x1e9)+_0x333be7['message'];logger[_0x5363c4(0x141)](_0x561b8a,_0x14570a),writeToFileLog({..._0x561b8a,'level':_0x184d02['RPFFB'],'msg':_0x14570a,'time':new Date()['toISOString']()},_0x5363c4(0x147));},logHttpError=(_0x55cb0e,_0x3b4167,_0x27fd72={})=>{const _0x359fb6=a0_0x9354c3,_0x3d0ecd={'FaupY':_0x359fb6(0x204),'zAnOn':_0x359fb6(0x1e5),'ytPUk':_0x359fb6(0x174),'beLNq':function(_0x4c820e,_0x54d452){return _0x4c820e(_0x54d452);},'pVkCS':function(_0x58b051,_0x510b03,_0x3e5fb3){return _0x58b051(_0x510b03,_0x3e5fb3);},'cSvNC':_0x359fb6(0x147),'xnkzP':_0x359fb6(0x1aa),'sjNAs':function(_0x1944df,_0x47097c){return _0x1944df>=_0x47097c;}},_0x3ebef3={'event':_0x3d0ecd[_0x359fb6(0x153)],'errorName':_0x55cb0e['name']||_0x3d0ecd['zAnOn'],'errorMessage':_0x55cb0e['message'],'errorCode':_0x55cb0e[_0x359fb6(0x178)]||_0x55cb0e[_0x359fb6(0x1fa)]||0x1f4,'stack':_0x55cb0e['stack'],'method':_0x3b4167?.[_0x359fb6(0x19e)],'url':_0x3b4167?.['url']||_0x3b4167?.[_0x359fb6(0x19f)],'path':_0x3b4167?.[_0x359fb6(0x1ba)],'ip':_0x3b4167?.['ip']||_0x3b4167?.[_0x359fb6(0x16d)]?.[_0x359fb6(0x1cf)],'userAgent':_0x3b4167?.['get']?.(_0x3d0ecd['ytPUk']),'requestId':_0x3b4167?.['id']||_0x3b4167?.['headers']?.[_0x359fb6(0x1b9)],'body':_0x3b4167?.[_0x359fb6(0x14c)]?_0x3d0ecd['beLNq'](redactObject,_0x3b4167['body']):undefined,'query':_0x3b4167?.['query'],..._0x27fd72},_0x11707f=_0x55cb0e['statusCode']||_0x55cb0e['status']||0x1f4,_0x22e3ab='HTTP\x20'+_0x11707f+':\x20'+_0x55cb0e[_0x359fb6(0x17d)];_0x11707f>=0x1f4?logger[_0x359fb6(0x147)](_0x3ebef3,_0x22e3ab):logger['warn'](_0x3ebef3,_0x22e3ab),_0x3d0ecd['pVkCS'](writeToFileLog,{..._0x3ebef3,'level':_0x11707f>=0x1f4?_0x3d0ecd[_0x359fb6(0x1bc)]:_0x3d0ecd[_0x359fb6(0x1c7)],'msg':_0x22e3ab,'time':new Date()[_0x359fb6(0x188)]()},_0x3d0ecd[_0x359fb6(0x1f7)](_0x11707f,0x1f4)?_0x359fb6(0x147):'warn');},logUncaughtError=(_0x2d8a6d,_0x77306f)=>{const _0xed55c2=a0_0x9354c3,_0x192240={'dcLVx':function(_0x55cdbd,_0x31f89e){return _0x55cdbd(_0x31f89e);},'vmbHH':_0xed55c2(0x141)},_0x42e7ab={'event':_0x2d8a6d,'errorName':_0x77306f?.[_0xed55c2(0x142)]||_0xed55c2(0x1e5),'errorMessage':_0x77306f?.['message']||_0x192240[_0xed55c2(0x1c8)](String,_0x77306f),'errorCode':_0x77306f?.[_0xed55c2(0x178)]||null,'stack':_0x77306f?.['stack'],'severity':'CRITICAL','processId':process[_0xed55c2(0x200)],'memoryUsage':process['memoryUsage'](),'uptime':process['uptime']()},_0x5a52c4='['+_0x2d8a6d[_0xed55c2(0x192)]()+']\x20'+(_0x77306f?.[_0xed55c2(0x17d)]||_0x77306f);logger['fatal'](_0x42e7ab,_0x5a52c4),writeToFileLog({..._0x42e7ab,'level':_0x192240[_0xed55c2(0x1ed)],'msg':_0x5a52c4,'time':new Date()[_0xed55c2(0x188)]()},'error');},setupGlobalErrorHandlers=()=>{const _0x7743c8=a0_0x9354c3,_0x5631eb={'NBaDF':function(_0xc600b9,_0xad1611,_0x13bfdd){return _0xc600b9(_0xad1611,_0x13bfdd);},'YAGJh':_0x7743c8(0x164),'CGYSs':function(_0x5c0abb,_0x4be17c){return _0x5c0abb instanceof _0x4be17c;},'ULvsQ':function(_0x53d33d,_0x775a26){return _0x53d33d(_0x775a26);},'frjPp':'process_warning','jawgl':_0x7743c8(0x15a),'yrKCq':_0x7743c8(0x1eb),'NGaiU':_0x7743c8(0x18e)};process['on'](_0x5631eb['YAGJh'],_0x29afdc=>{const _0x2fd698=_0x7743c8;_0x5631eb[_0x2fd698(0x1ff)](logUncaughtError,_0x5631eb[_0x2fd698(0x146)],_0x29afdc),setTimeout(()=>{const _0x3c83f8=_0x2fd698;process[_0x3c83f8(0x190)](0x1);},0x3e8);}),process['on'](_0x7743c8(0x15e),(_0x1e3480,_0x36de42)=>{const _0x2aad92=_0x7743c8,_0x47e703=_0x5631eb['CGYSs'](_0x1e3480,Error)?_0x1e3480:new Error(_0x5631eb['ULvsQ'](String,_0x1e3480));logUncaughtError(_0x2aad92(0x15e),_0x47e703);}),process['on'](_0x5631eb['jawgl'],_0x40f523=>{const _0xb76396=_0x7743c8;logger['warn']({'event':_0x5631eb[_0xb76396(0x1ce)],'name':_0x40f523['name'],'message':_0x40f523[_0xb76396(0x17d)],'stack':_0x40f523[_0xb76396(0x182)]},'Process\x20Warning:\x20'+_0x40f523['message']);});const _0x419767={'event':_0x7743c8(0x154)},_0x5aab8d=_0x5631eb[_0x7743c8(0x152)];logger['info'](_0x419767,_0x5aab8d),_0x5631eb[_0x7743c8(0x1ff)](writeToFileLog,{..._0x419767,'level':_0x5631eb[_0x7743c8(0x1c2)],'msg':_0x5aab8d,'time':new Date()['toISOString']()},'info');},createErrorHandlerMiddleware=()=>{const _0x8e0c97=a0_0x9354c3,_0x390434={'KcfDh':_0x8e0c97(0x195),'JukHl':'x-request-id'};return(_0x2cfdd1,_0x2eb923,_0x3115de,_0x497ef0)=>{const _0x39e16e=_0x8e0c97;logHttpError(_0x2cfdd1,_0x2eb923);const _0x34df42=_0x2cfdd1['statusCode']||_0x2cfdd1['status']||0x1f4;_0x3115de[_0x39e16e(0x167)](_0x34df42)['json']({'success':![],'error':_0x34df42>=0x1f4?_0x390434['KcfDh']:_0x2cfdd1[_0x39e16e(0x17d)],'requestId':_0x2eb923['id']||_0x2eb923['headers']?.[_0x390434['JukHl']]||null});};};module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
|
|
1
|
+
const a0_0x3698b4=a0_0x15d9;(function(_0x5de069,_0x274842){const _0x393e7e=a0_0x15d9,_0x4d4965=_0x5de069();while(!![]){try{const _0x4f3a26=-parseInt(_0x393e7e(0x241))/0x1+parseInt(_0x393e7e(0x1a9))/0x2*(-parseInt(_0x393e7e(0x1ee))/0x3)+-parseInt(_0x393e7e(0x1b3))/0x4*(parseInt(_0x393e7e(0x24c))/0x5)+parseInt(_0x393e7e(0x1ce))/0x6+-parseInt(_0x393e7e(0x223))/0x7*(parseInt(_0x393e7e(0x1c1))/0x8)+parseInt(_0x393e7e(0x22b))/0x9*(parseInt(_0x393e7e(0x1b7))/0xa)+parseInt(_0x393e7e(0x1c3))/0xb*(parseInt(_0x393e7e(0x237))/0xc);if(_0x4f3a26===_0x274842)break;else _0x4d4965['push'](_0x4d4965['shift']());}catch(_0x2f4948){_0x4d4965['push'](_0x4d4965['shift']());}}}(a0_0x5372,0x5a9c3));const pino=require(a0_0x3698b4(0x190)),fs=require('fs'),path=require('path');let logToFile=![],logDir=a0_0x3698b4(0x1af),serviceName=a0_0x3698b4(0x242),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;function a0_0x5372(){const _0x2e8e7a=['D3jPDgu','mtCXnNHOzvbAwq','A3LHu24','v05JwLe','zxjYB3i','uMPutKm','w1jfrefdveveoMHHC2HD','icbizwfSDgG6ia','u29VrLO','te9hx0rjuG','su5trvju','zMf0ywW','mZy1ode1ogjRsLDLDW','s3fcA3u','y2HPBgq','zw52','s092DMC','BhDnywO','ic0G','C3rKvgLTzuz1BMn0Aw9UCW','sLDux1nfq1jfva','C2vYDMLJzuLUzM8','C3rHDhvZ','BwvTB3j5vxnHz2u','BgrlyKq','EKPltu8','B1bpzue','zMLSzv9SB2DNAw5Nx2vUywjSzwq','rermx0rst1a','DejTD3C','DxjS','y3jLyxrLv3jPDgvtDhjLyw0','C3rHDhvZq29Kzq','AM9PBG','qwDPExe','A2vvyLK','C3rHCNrZv2L0Aa','q1jjveLdquW','u2vYDMvYihn0yxj0Aw5NoIa','yK5Msem','u1fmx0Xpr19mrvzfta','zgjFDhjHBNnHy3rPB24','lI9SB2DZlW','ChPmuhK','mtvRz0XfywS','ANnVBG','B3jPz2LUywXvCMW','te9hx0XfvKvm','icbvuKW6icaGia','CgfZC3DVCMq','CxvLCNK','u1fmx0Xpr19qqvjbtvm','yMfZzvvYBa','vfjbtLnbq1rjt05Fq09ntuLu','AgvHBhrOq2HLy2S','qKvhsu4','C0LAzhG','yxbPx2TLEq','DhLtAvu','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','Dw54rgi','ChjPDMf0zv9RzxK','zMf0ywXFzxjYB3i','z2v0sgvHzgvYCW','zgvIDwC','Cgf0Aa','EgDOvM8','CM93C0fMzMvJDgvK','ChjPDMf0zwTLEq','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','ChjVAMvJDa','iokvKqRILzeGifbVCNqGicaGicaGidOG','oI8V','Cg9YDa','D2fYBMLUzW','zgvMyxvSDa','ms4WlJu','Bwf0y2G','Dg9ju09tDhjPBMC','qunusvzf','qLHWvxi','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','u0vsvKLdrv9oqu1f','CgfKrw5K','Dg9gAxHLza','zgf0ywjHC2u','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','Dg9vChbLCKnHC2u','revmrvrf','ChDK','Ahj0Aw1L','q1fNyxG','Ahr0Cf9Yzxf1zxn0','zxjY','BxmP','DhjPBq','rfD4CxG','mJfythbHDNq','uK9mtejbq0S','vfjbtLnbq1rjt05FuK9mtejbq0S','sfbdtuG','rgvMyxvSDa','v3f6Bu4','y1vTwMS','Dxb0Aw1L','oty2mde1se1lrhbA','Dg9Rzw4','BwvZC2fNzq','Dg9mB3DLCKnHC2u','B2jQzwn0','CwTXwM8','CgLU','Dhj1zq','tLnTyue','tI9b','y3jLzgvUDgLHBa','tK9erv9ftLy','ndm4mJrHA2fRsMq','rxjYB3i','rKDJCg4','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','qMnWruG','w1jfrefdveveoNrVA2vUxq','C2vYDMvYx3n0yxj0Aw5N','E21Zz30','DKr4D3e','BgvUz3rO','mtiWntDMz0TiB1C','CMvZDgzVCMDL','AxntBg93','BwfW','BwTKAxjtEw5J','w1jfrefdvevexq','Ag9ZDa','Ec1Yzxf1zxn0lwLK','ywnJzxnZx3rVA2vU','y3z2','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','mtC1ndi1ExHpzefq','yxbWlMXVzW','C3bSAxq','C3rHy2S','CgLUBW','zLHWyMO','vKTKwfe','DhLWzq','y3jLzgL0y2fYza','zxjYB3iUBg9N','ig9UihbVCNqG','rePIBfa','Dw5Oyw5KBgvKuMvQzwn0Aw9U','q09ntuLu','u1fmx0Xpr19ftKfcteve','AMnwsuC','wKXRyNG','y3jLzgL0x2nHCMq','BwDozNC','Dw5JyxvNAhrfEgnLChrPB24','Aw5JBhvKzxm','yxbPs2v5','zgjFCxvLCNK','zMXVB3i','C3nU','sw50zxjUywWGC2vYDMvYigvYCM9Y','BMfTzq','tvvoCve','zKvuAfm','mtyZmZK4v29Zs09y','uhfttLa','vfjbtLnbq1rjt05FqKvhsu4','A2L0rxy','veXjAhC','y29UzMLNrMLSzq','lI9SB2DZ','tK9uiefdveLwrq','zg1tyM4','ChjVzhvJDgLVBG','ohzcsufwuW','D05jwM0','wMnTwKm','AwjZDMe','mZbct1jqDwC','B2rLBgq','CMvWzwf0','u0vmrunu','Aw5MBW','D2fYBG','r21dyLi','Bwv0Ag9K','CMvZB2X2zq','C2vJCMv0','mtCWntq2ng5NDLb2Ba'];a0_0x5372=function(){return _0x2e8e7a;};return a0_0x5372();}const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':a0_0x3698b4(0x23e),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process[a0_0x3698b4(0x1d1)]['NODE_ENV']!==a0_0x3698b4(0x1b2),logLevel=process[a0_0x3698b4(0x1d1)][a0_0x3698b4(0x1f1)]||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env']['APP_VERSION']||a0_0x3698b4(0x20e),'env':process[a0_0x3698b4(0x1d1)][a0_0x3698b4(0x236)]||'development'},'timestamp':pino[a0_0x3698b4(0x1d5)]['isoTime'],'redact':{'paths':['req.headers.authorization','req.headers[\x22x-api-key\x22]',a0_0x3698b4(0x1f3),'token',a0_0x3698b4(0x1a1),'DB_PASSWORD',a0_0x3698b4(0x1d6)],'censor':a0_0x3698b4(0x246)},'serializers':{'req':_0x2abb26=>({'id':_0x2abb26['id'],'method':_0x2abb26[a0_0x3698b4(0x1be)],'url':_0x2abb26[a0_0x3698b4(0x1e0)],'path':_0x2abb26['path'],'remoteAddress':_0x2abb26['ip']||_0x2abb26['connection']?.['remoteAddress']}),'res':_0x24b2d4=>({'statusCode':_0x24b2d4['statusCode'],'headers':_0x24b2d4[a0_0x3698b4(0x201)]?.()}),'err':pino['stdSerializers'][a0_0x3698b4(0x21f)]}});function initFileLogging(){const _0x5d32a8=a0_0x3698b4,_0x3e6f11={'kitEv':_0x5d32a8(0x232),'DJblP':function(_0x302e8e,_0x2712a1){return _0x302e8e===_0x2712a1;},'CQgax':function(_0x5848f2,_0x270723){return _0x5848f2!==_0x270723;},'jcVIG':'false','fEThS':_0x5d32a8(0x24d),'mgNfw':_0x5d32a8(0x195),'WqzmN':_0x5d32a8(0x1bb)};if(fileLoggingInitialized)return;logToFile=process[_0x5d32a8(0x1d1)]['LOG_TO_FILE']===_0x3e6f11[_0x5d32a8(0x1ac)];const _0x3ba965=process['env'][_0x5d32a8(0x24b)]||_0x5d32a8(0x20d);logDir=process[_0x5d32a8(0x1d1)][_0x5d32a8(0x1cb)]||_0x5d32a8(0x1ec)+_0x3ba965,serviceName=process['env'][_0x5d32a8(0x214)]||'restforge',sqlLogEnabled=_0x3e6f11[_0x5d32a8(0x197)](process['env'][_0x5d32a8(0x19a)],'true'),sqlLogLevel=process['env'][_0x5d32a8(0x1ea)]||'debug',sqlLogParams=_0x3e6f11[_0x5d32a8(0x21d)](process['env'][_0x5d32a8(0x1f5)],_0x3e6f11[_0x5d32a8(0x19b)]),sqlLogSlowThreshold=parseInt(process[_0x5d32a8(0x1d1)]['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x1829bf=path[_0x5d32a8(0x1bf)](process['cwd'](),logDir);try{!fs['existsSync'](_0x1829bf)&&fs[_0x5d32a8(0x245)](_0x1829bf,{'recursive':!![]});}catch(_0x2df67c){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x1829bf+':',_0x2df67c['message']),fileLoggingInitialized=!![];return;}const _0x426b14=path['join'](_0x1829bf,_0x3e6f11[_0x5d32a8(0x1a8)]),_0xa516b5=path[_0x5d32a8(0x1e3)](_0x1829bf,_0x3e6f11['mgNfw']);try{appLogStream=fs['createWriteStream'](_0x426b14,{'flags':'a'}),errorLogStream=fs[_0x5d32a8(0x1e1)](_0xa516b5,{'flags':'a'}),fileLoggingInitialized=!![];const _0x351e3b={'event':_0x5d32a8(0x1dd),'logDir':_0x1829bf,'files':['app.log',_0x3e6f11[_0x5d32a8(0x19e)]]},_0x40b0af=_0x5d32a8(0x213)+_0x1829bf;logger[_0x5d32a8(0x1bb)](_0x351e3b,_0x40b0af),writeToFileLog({..._0x351e3b,'level':_0x5d32a8(0x1bb),'msg':_0x40b0af,'time':new Date()[_0x5d32a8(0x210)]()},_0x3e6f11[_0x5d32a8(0x228)]);}catch(_0x1f3ec1){console['error'](_0x5d32a8(0x23a),_0x1f3ec1[_0x5d32a8(0x22d)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x4e2b93,_0x5de229){const _0x239cfe=a0_0x3698b4,_0x465c4a={'prcUY':function(_0x2b4e1e,_0x156de5){return _0x2b4e1e||_0x156de5;},'BcpEH':function(_0x5813e2,_0x5e16a6){return _0x5813e2===_0x5e16a6;},'tBmww':_0x239cfe(0x1c6),'HPCMH':'fatal'};if(_0x465c4a['prcUY'](!logToFile,!appLogStream))return;const _0x3cb493={'service':serviceName,..._0x4e2b93},_0x36ac5f=JSON['stringify'](_0x3cb493)+'\x0a';appLogStream[_0x239cfe(0x1c2)](_0x36ac5f),(_0x465c4a['BcpEH'](_0x5de229,_0x465c4a[_0x239cfe(0x1df)])||_0x465c4a[_0x239cfe(0x23b)](_0x5de229,_0x465c4a[_0x239cfe(0x226)]))&&(errorLogStream&&errorLogStream['write'](_0x36ac5f));}function a0_0x15d9(_0x2b2d27,_0x278760){_0x2b2d27=_0x2b2d27-0x18f;const _0x53728a=a0_0x5372();let _0x15d9ee=_0x53728a[_0x2b2d27];if(a0_0x15d9['AgnHNI']===undefined){var _0x1e8dbb=function(_0x373c2b){const _0x2bbece='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x444e51='',_0x2008a6='';for(let _0x33adea=0x0,_0x512627,_0x5f3a39,_0x5a3c29=0x0;_0x5f3a39=_0x373c2b['charAt'](_0x5a3c29++);~_0x5f3a39&&(_0x512627=_0x33adea%0x4?_0x512627*0x40+_0x5f3a39:_0x5f3a39,_0x33adea++%0x4)?_0x444e51+=String['fromCharCode'](0xff&_0x512627>>(-0x2*_0x33adea&0x6)):0x0){_0x5f3a39=_0x2bbece['indexOf'](_0x5f3a39);}for(let _0x180afc=0x0,_0x4b57c1=_0x444e51['length'];_0x180afc<_0x4b57c1;_0x180afc++){_0x2008a6+='%'+('00'+_0x444e51['charCodeAt'](_0x180afc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2008a6);};a0_0x15d9['ItHxOo']=_0x1e8dbb,a0_0x15d9['JvWwNC']={},a0_0x15d9['AgnHNI']=!![];}const _0x15858d=_0x53728a[0x0],_0x4bc6a9=_0x2b2d27+_0x15858d,_0x47b607=a0_0x15d9['JvWwNC'][_0x4bc6a9];return!_0x47b607?(_0x15d9ee=a0_0x15d9['ItHxOo'](_0x15d9ee),a0_0x15d9['JvWwNC'][_0x4bc6a9]=_0x15d9ee):_0x15d9ee=_0x47b607,_0x15d9ee;}const createRequestLogger=(_0x5a9ae6={})=>{const _0x1d5f11=a0_0x3698b4;return logger[_0x1d5f11(0x1d0)](_0x5a9ae6);},logServerStart=_0x446f9d=>{const _0x4fa921=a0_0x3698b4,_0x1325b7={'cUmZk':'RESTFORGE\x20RUNTIME\x20SERVER','wNIZm':function(_0x6a95b0,_0x3cab2b){return _0x6a95b0-_0x3cab2b;},'KFzTM':'Node.js','CiQiK':_0x4fa921(0x234),'sIZdx':_0x4fa921(0x1b0),'ueMit':_0x4fa921(0x23d),'qbbzP':function(_0x2d68b5,_0x208f80,_0x3f7349){return _0x2d68b5(_0x208f80,_0x3f7349);},'ZcmZC':'info'},_0x4b4f1d=_0x1325b7[_0x4fa921(0x229)],_0x39265f=Math['max'](0x0,_0x1325b7[_0x4fa921(0x1b4)](0x37,_0x4b4f1d['length'])),_0x3cb438=Math[_0x4fa921(0x1a3)](_0x39265f/0x2),_0x341884=_0x39265f-_0x3cb438,_0x5e3cae='║'+'\x20'['repeat'](_0x3cb438)+_0x4b4f1d+'\x20'[_0x4fa921(0x1b9)](_0x341884)+'║',_0x43eebe=_0x4fa921(0x1fd)+_0x5e3cae+_0x4fa921(0x218)+(_0x446f9d['environment']||_0x1325b7['KFzTM'])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x446f9d[_0x4fa921(0x208)]||_0x1325b7['CiQiK'])['padEnd'](0x26)+_0x4fa921(0x209)+String(_0x446f9d[_0x4fa921(0x20b)]||0xbb8)['padEnd'](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x446f9d[_0x4fa921(0x1ae)]||_0x4fa921(0x227))[_0x4fa921(0x215)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x446f9d[_0x4fa921(0x1a1)]?_0x4fa921(0x211):_0x1325b7[_0x4fa921(0x1fa)])['padEnd'](0x26)+_0x4fa921(0x207);console['log'](_0x43eebe);const _0x4427a8={'event':_0x1325b7['ueMit'],'project':_0x446f9d[_0x4fa921(0x208)],'port':_0x446f9d[_0x4fa921(0x20b)],'config':_0x446f9d[_0x4fa921(0x1ae)],'apiKeyEnabled':!!_0x446f9d['apiKey']};logger['info'](_0x4427a8),_0x1325b7['qbbzP'](writeToFileLog,{..._0x4427a8,'level':'info','msg':_0x4fa921(0x1e8)+_0x446f9d[_0x4fa921(0x208)]+_0x4fa921(0x196)+_0x446f9d[_0x4fa921(0x20b)],'time':new Date()[_0x4fa921(0x210)]()},_0x1325b7[_0x4fa921(0x1b5)]);},logServerReady=_0xe526fb=>{const _0x30e30e=a0_0x3698b4,_0x425fe5={'kyaSn':'server_ready','PsUre':function(_0x10e3f9,_0x1b5de2,_0x372282){return _0x10e3f9(_0x1b5de2,_0x372282);},'WJwwb':'info'},_0x3ff1b1={'event':_0x425fe5[_0x30e30e(0x1c4)],'port':_0xe526fb['port'],'module':_0xe526fb['module'],'healthCheck':_0xe526fb[_0x30e30e(0x1f8)],'serviceInfo':_0xe526fb['serviceInfo'],'baseUrl':_0xe526fb['baseUrl']},_0x5d1b9e='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0xe526fb['port'];logger[_0x30e30e(0x1bb)](_0x3ff1b1,_0x5d1b9e),_0x425fe5['PsUre'](writeToFileLog,{..._0x3ff1b1,'level':_0x425fe5['WJwwb'],'msg':_0x5d1b9e,'time':new Date()['toISOString']()},_0x425fe5['WJwwb']),_0xe526fb['healthCheck']&&logger['info'](_0x30e30e(0x1c9)+_0xe526fb['healthCheck']),_0xe526fb[_0x30e30e(0x1d7)]&&logger[_0x30e30e(0x1bb)]('\x20\x20Info:\x20\x20\x20'+_0xe526fb[_0x30e30e(0x1d7)]),_0xe526fb[_0x30e30e(0x1f6)]&&logger['info'](_0x30e30e(0x1f2)+_0xe526fb['baseUrl']);},logProjectLoaded=(_0x4fadb3,_0x103bd8)=>{const _0x1d16c0=a0_0x3698b4,_0x164b4f={'TZpDt':'project_loaded','GmCbR':function(_0xa3b115,_0x2984cc,_0x14f6c2){return _0xa3b115(_0x2984cc,_0x14f6c2);},'fXpbj':_0x1d16c0(0x1bb)},_0x2c28dd={'event':_0x164b4f['TZpDt'],'project':_0x4fadb3,'path':_0x103bd8},_0x5c9086='[OK]\x20Project\x20loaded:\x20'+_0x4fadb3;logger[_0x1d16c0(0x1bb)](_0x2c28dd,_0x5c9086),_0x164b4f[_0x1d16c0(0x1bd)](writeToFileLog,{..._0x2c28dd,'level':_0x1d16c0(0x1bb),'msg':_0x5c9086,'time':new Date()[_0x1d16c0(0x210)]()},_0x164b4f[_0x1d16c0(0x191)]);},logEndpointRegistered=(_0x428a37,_0x5157c7)=>{const _0x4752b9=a0_0x3698b4,_0x121c01={'MsTrA':'endpoint_registered','qSJPT':function(_0xa941c6,_0x6adf0,_0x3d10d4){return _0xa941c6(_0x6adf0,_0x3d10d4);},'JoqFl':'debug'},_0x223ab4={'event':_0x121c01['MsTrA'],'endpoint':_0x428a37,'route':_0x5157c7},_0x2c08d4='\x20\x20→\x20'+_0x428a37+':\x20'+_0x5157c7;logger['debug'](_0x223ab4,_0x2c08d4),_0x121c01['qSJPT'](writeToFileLog,{..._0x223ab4,'level':_0x4752b9(0x202),'msg':_0x2c08d4,'time':new Date()['toISOString']()},_0x121c01['JoqFl']);},logDatabaseConfig=_0x47b0be=>{const _0x547feb=a0_0x3698b4,_0x5fe52b={'lwMaj':function(_0xef33ba,_0xb6dc69,_0x556bd5){return _0xef33ba(_0xb6dc69,_0x556bd5);},'pzLPy':_0x547feb(0x202)},_0x1f7033={'event':'database_config','host':_0x47b0be[_0x547feb(0x247)],'port':_0x47b0be[_0x547feb(0x20b)],'database':_0x47b0be[_0x547feb(0x217)],'type':_0x47b0be['type'],'user':_0x47b0be['user']},_0x3e123c='Database:\x20'+_0x47b0be[_0x547feb(0x193)]+_0x547feb(0x20a)+_0x47b0be[_0x547feb(0x247)]+':'+_0x47b0be[_0x547feb(0x20b)]+'/'+_0x47b0be['database'];logger['debug'](_0x1f7033,_0x3e123c),_0x5fe52b[_0x547feb(0x1d3)](writeToFileLog,{..._0x1f7033,'level':_0x5fe52b[_0x547feb(0x1ed)],'msg':_0x3e123c,'time':new Date()[_0x547feb(0x210)]()},'debug');},logRequest=(_0x57a21a,_0x12635e,_0x506805)=>{const _0x4b1f4d=a0_0x3698b4,_0x3904f8={'ldKbD':_0x4b1f4d(0x21e),'biEWG':_0x4b1f4d(0x1bb),'ZLkbx':'error','FGcpn':function(_0x39a23a,_0x471a77){return _0x39a23a>=_0x471a77;},'izyvZ':_0x4b1f4d(0x1bc)},_0x15c524={'event':_0x3904f8[_0x4b1f4d(0x1da)],'method':_0x57a21a['method'],'path':_0x57a21a['path'],'statusCode':_0x12635e[_0x4b1f4d(0x1e2)],'durationMs':_0x506805,'ip':_0x57a21a['ip']},_0x7eeca4=_0x57a21a[_0x4b1f4d(0x1be)]+'\x20'+_0x57a21a[_0x4b1f4d(0x203)]+_0x4b1f4d(0x1d4)+_0x12635e['statusCode']+'\x20('+_0x506805+_0x4b1f4d(0x220);let _0x3fb4d1=_0x3904f8['biEWG'];if(_0x12635e[_0x4b1f4d(0x1e2)]>=0x1f4)_0x3fb4d1=_0x3904f8[_0x4b1f4d(0x19c)],logger['error'](_0x15c524,_0x7eeca4);else _0x3904f8[_0x4b1f4d(0x239)](_0x12635e['statusCode'],0x190)?(_0x3fb4d1=_0x3904f8['izyvZ'],logger['warn'](_0x15c524,_0x7eeca4)):logger[_0x4b1f4d(0x1bb)](_0x15c524,_0x7eeca4);writeToFileLog({..._0x15c524,'level':_0x3fb4d1,'msg':_0x7eeca4,'time':new Date()['toISOString']()},_0x3fb4d1);},SENSITIVE_PARAM_PATTERNS=['password','passwd',a0_0x3698b4(0x21b),'token',a0_0x3698b4(0x249),'refresh_token',a0_0x3698b4(0x1c0),'api_secret','apikey','api_key',a0_0x3698b4(0x235),'credentials',a0_0x3698b4(0x231),'otp',a0_0x3698b4(0x1ff),a0_0x3698b4(0x206)],redactSensitiveParams=(_0x5e5d04,_0x17e4ab)=>{const _0x8db986=a0_0x3698b4,_0x2d53b5={'GrQBT':_0x8db986(0x246),'yXWWm':function(_0x4c205e,_0x367c2a){return _0x4c205e===_0x367c2a;},'brgpU':'string','GexFz':function(_0x18b1a9,_0x2c1c15){return _0x18b1a9===_0x2c1c15;}};if(!_0x5e5d04||_0x2d53b5['GexFz'](_0x5e5d04[_0x8db986(0x240)],0x0))return _0x5e5d04;const _0x42f9ee=_0x17e4ab[_0x8db986(0x22e)](),_0x2495c3=_0x42f9ee[_0x8db986(0x20f)](/\(([^)]+)\)\s*values/i);let _0x51cc76=[];_0x2495c3&&(_0x51cc76=_0x2495c3[0x1][_0x8db986(0x24e)](',')['map'](_0x23e144=>_0x23e144[_0x8db986(0x221)]()['toLowerCase']()));const _0x2f21c1=_0x42f9ee[_0x8db986(0x20f)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x2f21c1){const _0x3f5653=_0x2f21c1[0x1],_0x17c88d=_0x3f5653['match'](/(\w+)\s*=/g);_0x17c88d&&(_0x51cc76=_0x17c88d[_0x8db986(0x244)](_0x5557a3=>_0x5557a3['replace'](/\s*=/,'')[_0x8db986(0x221)]()['toLowerCase']()));}return _0x5e5d04['map']((_0x100c14,_0x3927c9)=>{const _0x153413=_0x8db986;if(_0x51cc76[_0x3927c9]){const _0xeab313=_0x51cc76[_0x3927c9],_0x4ab943=SENSITIVE_PARAM_PATTERNS['some'](_0x451911=>_0xeab313[_0x153413(0x1a0)](_0x451911));if(_0x4ab943)return _0x2d53b5['GrQBT'];}if(_0x2d53b5['yXWWm'](typeof _0x100c14,_0x2d53b5['brgpU'])&&_0x100c14[_0x153413(0x240)]>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x100c14)&&_0x100c14[_0x153413(0x1a0)]('.'))return _0x153413(0x23c);if(/^[a-fA-F0-9]{32,}$/['test'](_0x100c14))return _0x153413(0x1c8);}return _0x100c14;});},parseQueryMetadata=_0x2ec1a3=>{const _0x84cb5b=a0_0x3698b4,_0x36289e={'QeWcq':_0x84cb5b(0x1cc),'zJKMO':_0x84cb5b(0x21a),'zjaPI':_0x84cb5b(0x1f9),'bNfHC':'START\x20TRANSACTION','NSmaA':_0x84cb5b(0x199),'sqMXA':_0x84cb5b(0x1f7),'WGtIS':_0x84cb5b(0x225),'eRKbP':'CREATE','PqSNP':'DROP','iSQus':_0x84cb5b(0x1de)},_0x5a5808=_0x2ec1a3['trim'](),_0x2b959=_0x5a5808[_0x84cb5b(0x219)]();let _0x31ac65='UNKNOWN',_0x5a2f9d=null;if(_0x2b959[_0x84cb5b(0x1e6)](_0x84cb5b(0x1ba))){_0x31ac65=_0x84cb5b(0x1ba);const _0x5e9292=_0x5a5808[_0x84cb5b(0x20f)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5a2f9d=_0x5e9292?_0x5e9292[0x1]:null;}else{if(_0x2b959[_0x84cb5b(0x1e6)](_0x36289e['QeWcq'])){_0x31ac65=_0x84cb5b(0x1cc);const _0x32ac89=_0x5a5808['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5a2f9d=_0x32ac89?_0x32ac89[0x1]:null;}else{if(_0x2b959['startsWith']('UPDATE')){_0x31ac65='UPDATE';const _0x210ec3=_0x5a5808['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5a2f9d=_0x210ec3?_0x210ec3[0x1]:null;}else{if(_0x2b959[_0x84cb5b(0x1e6)](_0x36289e[_0x84cb5b(0x1db)])){_0x31ac65='DELETE';const _0x7cb9f5=_0x5a5808['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5a2f9d=_0x7cb9f5?_0x7cb9f5[0x1]:null;}else{if(_0x2b959[_0x84cb5b(0x1e6)](_0x36289e['zjaPI'])||_0x2b959['startsWith'](_0x36289e[_0x84cb5b(0x1e9)]))_0x31ac65=_0x84cb5b(0x1ab);else{if(_0x2b959[_0x84cb5b(0x1e6)](_0x36289e[_0x84cb5b(0x233)]))_0x31ac65=_0x36289e['sqMXA'];else{if(_0x2b959[_0x84cb5b(0x1e6)](_0x84cb5b(0x224)))_0x31ac65=_0x36289e['WGtIS'];else{if(_0x2b959[_0x84cb5b(0x1e6)](_0x36289e['eRKbP']))_0x31ac65='DDL_CREATE';else{if(_0x2b959['startsWith']('ALTER'))_0x31ac65='DDL_ALTER';else _0x2b959[_0x84cb5b(0x1e6)](_0x36289e[_0x84cb5b(0x1aa)])&&(_0x31ac65=_0x36289e['iSQus']);}}}}}}}}return{'type':_0x31ac65,'table':_0x5a2f9d};},startQueryTimer=()=>{const _0x18eaf5=a0_0x3698b4,_0x5bf11e=process[_0x18eaf5(0x21c)]();return()=>{const _0x2cf24b=_0x18eaf5,[_0x137c0f,_0x5ad187]=process[_0x2cf24b(0x21c)](_0x5bf11e);return parseFloat((_0x137c0f*0x3e8+_0x5ad187/0xf4240)[_0x2cf24b(0x216)](0x2));};},logQuery=(_0x38487d,_0x4ccc34=[],_0x5a49f6={})=>{const _0x419923=a0_0x3698b4,_0x14e9a3={'uudjp':_0x419923(0x1a2),'DWxqx':function(_0x422808,_0x5a5387){return _0x422808(_0x5a5387);},'gDqMC':'sql_query','unxDb':function(_0xb09380,_0x250a4f){return _0xb09380>_0x250a4f;},'WNcZQ':function(_0x44bdad,_0x2ad27a){return _0x44bdad!==_0x2ad27a;},'FRMsB':function(_0x1e2e3d,_0x2747f1){return _0x1e2e3d!==_0x2747f1;},'SooFZ':'unknown','RjTNC':function(_0x1686c7,_0xa369f8){return _0x1686c7>_0xa369f8;},'KqBku':'debug','zJXIp':'\x20[SLOW]','KGEyY':function(_0x4fae46,_0x52431b){return _0x4fae46===_0x52431b;},'wJBbx':'info'};if(!sqlLogEnabled){logger[_0x419923(0x202)]({'event':_0x14e9a3['uudjp'],'query':_0x38487d['substring'](0x0,0xc8),'paramCount':_0x4ccc34[_0x419923(0x240)]},'DB\x20Query');return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x5a49f6,{type:_0x1bd013,table:_0x404427}=_0x14e9a3[_0x419923(0x222)](parseQueryMetadata,_0x38487d),_0x12c378={'event':_0x14e9a3['gDqMC'],'queryType':_0x1bd013,'table':_0x404427,'query':_0x38487d,'paramCount':_0x4ccc34[_0x419923(0x240)],'dbType':dbType};sqlLogParams&&_0x14e9a3[_0x419923(0x1fe)](_0x4ccc34[_0x419923(0x240)],0x0)&&(_0x12c378['params']=redactSensitiveParams(_0x4ccc34,_0x38487d));_0x14e9a3[_0x419923(0x1c5)](duration,null)&&(_0x12c378['durationMs']=duration,_0x12c378[_0x419923(0x243)]=duration>sqlLogSlowThreshold);_0x14e9a3['FRMsB'](rowsAffected,null)&&(_0x12c378[_0x419923(0x205)]=rowsAffected);const _0x5b79e9=_0x404427||_0x14e9a3[_0x419923(0x1ca)];let _0x52210d='['+_0x1bd013+']\x20'+_0x5b79e9;_0x14e9a3[_0x419923(0x1c5)](duration,null)&&(_0x52210d+='\x20('+duration+_0x419923(0x220));const _0x17498b=duration!==null&&_0x14e9a3[_0x419923(0x1c7)](duration,sqlLogSlowThreshold);let _0x2e2db2=_0x14e9a3[_0x419923(0x1cf)];if(_0x17498b)_0x52210d+=_0x14e9a3['zJXIp'],_0x2e2db2=_0x419923(0x1bc),logger[_0x419923(0x1bc)](_0x12c378,_0x52210d);else _0x14e9a3['KGEyY'](sqlLogLevel,_0x14e9a3['wJBbx'])?(_0x2e2db2=_0x14e9a3['wJBbx'],logger['info'](_0x12c378,_0x52210d)):logger['debug'](_0x12c378,_0x52210d);writeToFileLog({..._0x12c378,'level':_0x2e2db2,'msg':_0x52210d,'time':new Date()[_0x419923(0x210)]()},_0x2e2db2);},logTransaction=(_0xa33796,_0xeae2b5)=>{const _0x243f4f=a0_0x3698b4,_0x15abda={'Agiyq':_0x243f4f(0x1eb)},_0x511896={'event':_0x15abda[_0x243f4f(0x1e4)],'status':_0xa33796,'queryCount':_0xeae2b5},_0x15342b='Transaction\x20'+_0xa33796;logger['debug'](_0x511896,_0x15342b),writeToFileLog({..._0x511896,'level':_0x243f4f(0x202),'msg':_0x15342b,'time':new Date()['toISOString']()},'debug');},redactObject=_0x20b437=>{const _0x1b522b=a0_0x3698b4,_0x32bf27={'qkqZo':'object','odeld':'secret','gfrbu':'apikey','JUfdn':_0x1b522b(0x24a),'pCVtl':_0x1b522b(0x1a4),'yCrQL':'pin','Jtton':_0x1b522b(0x1ff),'JBSBp':_0x1b522b(0x249),'TLIhw':'[REDACTED]'};if(!_0x20b437||typeof _0x20b437!==_0x32bf27[_0x1b522b(0x230)])return _0x20b437;const _0x1151bc=['password','passwd',_0x1b522b(0x21b),_0x1b522b(0x22c),_0x32bf27[_0x1b522b(0x1b8)],_0x32bf27['gfrbu'],_0x1b522b(0x1fb),'authorization',_0x1b522b(0x194),_0x1b522b(0x19d),_0x32bf27['JUfdn'],_0x32bf27['pCVtl'],_0x32bf27['yCrQL'],_0x32bf27['Jtton'],_0x1b522b(0x206),'refresh_token',_0x32bf27['JBSBp']],_0x1d6834=Array['isArray'](_0x20b437)?[..._0x20b437]:{..._0x20b437};for(const _0x5897f7 of Object['keys'](_0x1d6834)){const _0x71fa07=_0x5897f7[_0x1b522b(0x22e)]();if(_0x1151bc['some'](_0x802ace=>_0x71fa07[_0x1b522b(0x1a0)](_0x802ace)))_0x1d6834[_0x5897f7]=_0x32bf27[_0x1b522b(0x1ad)];else typeof _0x1d6834[_0x5897f7]===_0x1b522b(0x22f)&&_0x1d6834[_0x5897f7]!==null&&(_0x1d6834[_0x5897f7]=redactObject(_0x1d6834[_0x5897f7]));}return _0x1d6834;},logError=(_0x29a9cd,_0x3358aa={},_0x14b637=null)=>{const _0x3a53bb=a0_0x3698b4,_0x21af41={'MUNqQ':'error','uALMn':'Error'},_0x35a0be={'event':_0x21af41[_0x3a53bb(0x1a7)],'errorName':_0x29a9cd['name']||_0x21af41['uALMn'],'errorMessage':_0x29a9cd['message'],'errorCode':_0x29a9cd['code']||null,'stack':_0x29a9cd['stack'],..._0x3358aa},_0xc4dece=_0x14b637||'Error:\x20'+_0x29a9cd[_0x3a53bb(0x22d)];logger[_0x3a53bb(0x1c6)](_0x35a0be,_0xc4dece),writeToFileLog({..._0x35a0be,'level':'error','msg':_0xc4dece,'time':new Date()['toISOString']()},_0x21af41['MUNqQ']);},logFatalError=(_0x39f434,_0x146540={},_0x176d4e=null)=>{const _0x57c9a9=a0_0x3698b4,_0x472c5f={'FQGla':_0x57c9a9(0x200),'VKdXQ':_0x57c9a9(0x238),'xghVo':function(_0xeacc73,_0x51ff6e,_0x517645){return _0xeacc73(_0x51ff6e,_0x517645);},'UAUDF':'fatal'},_0x5f471c={'event':_0x472c5f['FQGla'],'errorName':_0x39f434[_0x57c9a9(0x1a6)]||_0x472c5f[_0x57c9a9(0x192)],'errorMessage':_0x39f434['message'],'errorCode':_0x39f434['code']||null,'stack':_0x39f434[_0x57c9a9(0x18f)],'severity':_0x57c9a9(0x1e7),..._0x146540},_0x34fbe1=_0x176d4e||'FATAL:\x20'+_0x39f434[_0x57c9a9(0x22d)];logger[_0x57c9a9(0x1cd)](_0x5f471c,_0x34fbe1),_0x472c5f[_0x57c9a9(0x204)](writeToFileLog,{..._0x5f471c,'level':_0x472c5f['UAUDF'],'msg':_0x34fbe1,'time':new Date()[_0x57c9a9(0x210)]()},'error');},logHttpError=(_0x2506ee,_0x534f07,_0x5894f1={})=>{const _0x1ac68f=a0_0x3698b4,_0xd0f894={'oPOeA':'http_error','ibsva':_0x1ac68f(0x238),'BMkHp':function(_0x537c29,_0x4978df){return _0x537c29(_0x4978df);},'keUbY':function(_0x2d3e45,_0x5282e5,_0x150e3a){return _0x2d3e45(_0x5282e5,_0x150e3a);},'gKORs':function(_0x3437a5,_0x1c8bcc){return _0x3437a5>=_0x1c8bcc;},'BXpUr':_0x1ac68f(0x1c6),'OzqFs':_0x1ac68f(0x1bc)},_0x544569={'event':_0xd0f894[_0x1ac68f(0x1dc)],'errorName':_0x2506ee['name']||_0xd0f894[_0x1ac68f(0x1b6)],'errorMessage':_0x2506ee['message'],'errorCode':_0x2506ee['code']||_0x2506ee[_0x1ac68f(0x1e2)]||0x1f4,'stack':_0x2506ee[_0x1ac68f(0x18f)],'method':_0x534f07?.['method'],'url':_0x534f07?.['url']||_0x534f07?.[_0x1ac68f(0x1f0)],'path':_0x534f07?.[_0x1ac68f(0x203)],'ip':_0x534f07?.['ip']||_0x534f07?.['connection']?.['remoteAddress'],'userAgent':_0x534f07?.['get']?.('user-agent'),'requestId':_0x534f07?.['id']||_0x534f07?.['headers']?.['x-request-id'],'body':_0x534f07?.['body']?_0xd0f894['BMkHp'](redactObject,_0x534f07['body']):undefined,'query':_0x534f07?.[_0x1ac68f(0x1f4)],..._0x5894f1},_0x2ea300=_0x2506ee[_0x1ac68f(0x1e2)]||_0x2506ee['status']||0x1f4,_0x2a867b='HTTP\x20'+_0x2ea300+':\x20'+_0x2506ee['message'];_0x2ea300>=0x1f4?logger['error'](_0x544569,_0x2a867b):logger['warn'](_0x544569,_0x2a867b),_0xd0f894[_0x1ac68f(0x1e5)](writeToFileLog,{..._0x544569,'level':_0xd0f894['gKORs'](_0x2ea300,0x1f4)?_0xd0f894[_0x1ac68f(0x212)]:'warn','msg':_0x2a867b,'time':new Date()['toISOString']()},_0x2ea300>=0x1f4?_0xd0f894['BXpUr']:_0xd0f894['OzqFs']);},logUncaughtError=(_0x4d3858,_0x48c6f3)=>{const _0x281982=a0_0x3698b4,_0x2a1d06={'tySiU':function(_0x329114,_0x485e19){return _0x329114(_0x485e19);}},_0x16dc6d={'event':_0x4d3858,'errorName':_0x48c6f3?.[_0x281982(0x1a6)]||'Error','errorMessage':_0x48c6f3?.[_0x281982(0x22d)]||_0x2a1d06[_0x281982(0x1fc)](String,_0x48c6f3),'errorCode':_0x48c6f3?.['code']||null,'stack':_0x48c6f3?.[_0x281982(0x18f)],'severity':_0x281982(0x1e7),'processId':process['pid'],'memoryUsage':process[_0x281982(0x1d9)](),'uptime':process[_0x281982(0x22a)]()},_0x9d5217='['+_0x4d3858['toUpperCase']()+']\x20'+(_0x48c6f3?.['message']||_0x48c6f3);logger[_0x281982(0x1cd)](_0x16dc6d,_0x9d5217),writeToFileLog({..._0x16dc6d,'level':_0x281982(0x1cd),'msg':_0x9d5217,'time':new Date()[_0x281982(0x210)]()},_0x281982(0x1c6));},setupGlobalErrorHandlers=()=>{const _0x14cc21=a0_0x3698b4,_0xb4b417={'dmSbn':function(_0x55b46a,_0x18b514,_0x49beb7){return _0x55b46a(_0x18b514,_0x49beb7);},'KOvvg':function(_0x1fe76d,_0x728d7d,_0x5a556b){return _0x1fe76d(_0x728d7d,_0x5a556b);},'RPMvv':function(_0x111cd7,_0x821dd2){return _0x111cd7 instanceof _0x821dd2;},'vDxwq':function(_0x5b2bab,_0x48803e){return _0x5b2bab(_0x48803e);},'XiKSt':_0x14cc21(0x198),'QlEPw':'process_warning','yFoCo':'global_error_handlers_setup','ZcAuo':'Global\x20error\x20handlers\x20initialized'};process['on'](_0x14cc21(0x19f),_0x18ff38=>{const _0x357b51=_0x14cc21;_0xb4b417[_0x357b51(0x1b1)](logUncaughtError,_0x357b51(0x19f),_0x18ff38),_0xb4b417[_0x357b51(0x1d2)](setTimeout,()=>{process['exit'](0x1);},0x3e8);}),process['on']('unhandledRejection',(_0x111576,_0x254b57)=>{const _0x3e00e7=_0x14cc21,_0x649b01=_0xb4b417['RPMvv'](_0x111576,Error)?_0x111576:new Error(_0xb4b417[_0x3e00e7(0x23f)](String,_0x111576));logUncaughtError(_0xb4b417['XiKSt'],_0x649b01);}),process['on'](_0x14cc21(0x20c),_0x4cc6ee=>{const _0x3a1beb=_0x14cc21;logger['warn']({'event':_0xb4b417['QlEPw'],'name':_0x4cc6ee[_0x3a1beb(0x1a6)],'message':_0x4cc6ee[_0x3a1beb(0x22d)],'stack':_0x4cc6ee[_0x3a1beb(0x18f)]},'Process\x20Warning:\x20'+_0x4cc6ee[_0x3a1beb(0x22d)]);});const _0xa01e3c={'event':_0xb4b417['yFoCo']},_0x4b0cbc=_0xb4b417['ZcAuo'];logger['info'](_0xa01e3c,_0x4b0cbc),writeToFileLog({..._0xa01e3c,'level':'info','msg':_0x4b0cbc,'time':new Date()[_0x14cc21(0x210)]()},'info');},createErrorHandlerMiddleware=()=>{const _0x2ee778={'hDNbh':function(_0x3a6090,_0x293ccd){return _0x3a6090>=_0x293ccd;}};return(_0x1c19da,_0x49d82f,_0x2ce2c9,_0x403cef)=>{const _0xcb8491=a0_0x15d9;logHttpError(_0x1c19da,_0x49d82f);const _0xfff743=_0x1c19da[_0xcb8491(0x1e2)]||_0x1c19da[_0xcb8491(0x1d8)]||0x1f4;_0x2ce2c9[_0xcb8491(0x1d8)](_0xfff743)[_0xcb8491(0x1ef)]({'success':![],'error':_0x2ee778['hDNbh'](_0xfff743,0x1f4)?_0xcb8491(0x1a5):_0x1c19da['message'],'requestId':_0x49d82f['id']||_0x49d82f['headers']?.[_0xcb8491(0x248)]||null});};};module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x1f8e5b=a0_0x48cc;function a0_0x3b5b(){const _0x55f0dc=['Dg9mB3DLCKnHC2u','mKPqwNvLzW','u0vmrunuia','Cg9ZDgDYzxnXBa','ChvZAa','mti1ndqXnLHbD1vTuW','zM9YrwfJAa','runvEvu','lI9KyG','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','mtfKug5PyKK','z2v0rgLZDgLUy3rwywX1zxm','nJnQs1nhEe4','C2v0','CMvZB2X2zuXVB2T1CfzHBhvL','Bg9VA3vWx3rHyMXLx2XVywrLza','Dg9vChbLCKnHC2u','odiYotq2mgHbqvD2vG','BxLZCwW','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','uNnithO','zgvIDwC','BwfW','BgvUz3rO','y2XLyxi','nda5otq2nfjstfj3CW','nND1yNjtBa','sM5SuwW','zM1JD2W','yMXqAMi','EwXIA20','rMfJB3q','lI9KyI1VCMfJBgu','A2v5CW','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','zw50CMLLCW','zxHLy3v0zvf1zxj5','q25hwhG','BwvZC2fNzq','Bg9HzeXVB2T1CfrHyMXL','nJC2mte2tKfhsKjW','mZqZmZeXmJb5DvbrsgC','ndu4nty5DfbUtu1n','Bg9VA3vWq2fJAgu','vMfSDwuGiG','Aw5MBW','tg9VA3vWignHy2HLignSzwfYzwq','wwnWAKK','mZGZmZG1muHvquDdEG','ywrK','DhjPBq'];a0_0x3b5b=function(){return _0x55f0dc;};return a0_0x3b5b();}(function(_0x36ef64,_0x1f46c1){const _0x45f2fb=a0_0x48cc,_0x10be95=_0x36ef64();while(!![]){try{const _0x4e2e1f=parseInt(_0x45f2fb(0x194))/0x1*(parseInt(_0x45f2fb(0x16b))/0x2)+parseInt(_0x45f2fb(0x192))/0x3+-parseInt(_0x45f2fb(0x183))/0x4+-parseInt(_0x45f2fb(0x17b))/0x5+-parseInt(_0x45f2fb(0x184))/0x6*(-parseInt(_0x45f2fb(0x167))/0x7)+-parseInt(_0x45f2fb(0x16f))/0x8*(parseInt(_0x45f2fb(0x176))/0x9)+parseInt(_0x45f2fb(0x193))/0xa*(parseInt(_0x45f2fb(0x174))/0xb);if(_0x4e2e1f===_0x1f46c1)break;else _0x10be95['push'](_0x10be95['shift']());}catch(_0x4fbe13){_0x10be95['push'](_0x10be95['shift']());}}}(a0_0x3b5b,0xdad76));function a0_0x48cc(_0x2b17b7,_0x3385be){_0x2b17b7=_0x2b17b7-0x165;const _0x3b5bf0=a0_0x3b5b();let _0x48ccf1=_0x3b5bf0[_0x2b17b7];if(a0_0x48cc['jkurQB']===undefined){var _0x3156b4=function(_0x4815b8){const _0x45dc87='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1d8d27='',_0x45d8a9='';for(let _0x312d9=0x0,_0x519ebe,_0x18e9ca,_0x389016=0x0;_0x18e9ca=_0x4815b8['charAt'](_0x389016++);~_0x18e9ca&&(_0x519ebe=_0x312d9%0x4?_0x519ebe*0x40+_0x18e9ca:_0x18e9ca,_0x312d9++%0x4)?_0x1d8d27+=String['fromCharCode'](0xff&_0x519ebe>>(-0x2*_0x312d9&0x6)):0x0){_0x18e9ca=_0x45dc87['indexOf'](_0x18e9ca);}for(let _0x326c7a=0x0,_0x93b1b4=_0x1d8d27['length'];_0x326c7a<_0x93b1b4;_0x326c7a++){_0x45d8a9+='%'+('00'+_0x1d8d27['charCodeAt'](_0x326c7a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x45d8a9);};a0_0x48cc['HrrSKS']=_0x3156b4,a0_0x48cc['EIKlfZ']={},a0_0x48cc['jkurQB']=!![];}const _0x512b48=_0x3b5bf0[0x0],_0x1fc8a9=_0x2b17b7+_0x512b48,_0x2dae38=a0_0x48cc['EIKlfZ'][_0x1fc8a9];return!_0x2dae38?(_0x48ccf1=a0_0x48cc['HrrSKS'](_0x48ccf1),a0_0x48cc['EIKlfZ'][_0x1fc8a9]=_0x48ccf1):_0x48ccf1=_0x2dae38,_0x48ccf1;}const dbType=(process['env']['DB_TYPE']||a0_0x1f8e5b(0x16d))[a0_0x1f8e5b(0x16a)]();let executeQuery;if(dbType==='oracle'){const oracleDb=require(a0_0x1f8e5b(0x18a));executeQuery=(_0x3407b6,_0x5ccfd7)=>oracleDb[a0_0x1f8e5b(0x18e)](_0x3407b6,_0x5ccfd7);}else{if(dbType===a0_0x1f8e5b(0x17c)){const mysqlDb=require('./db-mysql');executeQuery=(_0x32b45f,_0x5b293e)=>mysqlDb[a0_0x1f8e5b(0x18e)](_0x32b45f,_0x5b293e);}else executeQuery=require(a0_0x1f8e5b(0x172))['executeQuery'];}const {logger}=require('./logger');class LookupResolver{constructor(){this['lookupCache']=new Map();}['clearCache'](){const _0x7985d6=a0_0x1f8e5b;this['lookupCache'][_0x7985d6(0x182)](),logger[_0x7985d6(0x17f)]({'event':_0x7985d6(0x18c)},_0x7985d6(0x165));}async['loadLookupTable'](_0x545ed9,_0x4e41aa,_0x2f839f){const _0x578d4b=a0_0x1f8e5b,_0x3684e0={'RsHLz':function(_0x3b8043,_0x176947){return _0x3b8043!==_0x176947;},'ECUyU':function(_0x2d655c,_0xa0a496){return _0x2d655c!==_0xa0a496;},'CnGXx':function(_0x58183d,_0x246d2d){return _0x58183d!==_0x246d2d;},'zAhae':_0x578d4b(0x179),'YETJE':'lookup_table_load_error'},_0x4d8b13=_0x545ed9+':'+_0x4e41aa+':'+_0x2f839f;if(this[_0x578d4b(0x195)]['has'](_0x4d8b13))return this['lookupCache']['get'](_0x4d8b13);try{const _0x18862d=_0x578d4b(0x16c)+_0x2f839f+',\x20'+_0x4e41aa+'\x20FROM\x20'+_0x545ed9,_0x51a00e=await executeQuery(_0x18862d),_0x325cf7=new Map();return _0x51a00e[_0x578d4b(0x170)](_0x112ef6=>{const _0x2dc723=_0x578d4b,_0x281d3d=_0x3684e0['RsHLz'](_0x112ef6[_0x4e41aa],undefined)?_0x112ef6[_0x4e41aa]:_0x112ef6[_0x4e41aa[_0x2dc723(0x17a)]()],_0xc7c846=_0x3684e0[_0x2dc723(0x171)](_0x112ef6[_0x2f839f],undefined)?_0x112ef6[_0x2f839f]:_0x112ef6[_0x2f839f[_0x2dc723(0x17a)]()];_0x3684e0[_0x2dc723(0x18f)](_0x281d3d,null)&&_0x3684e0[_0x2dc723(0x17e)](_0x281d3d,undefined)&&(_0x325cf7[_0x2dc723(0x177)](String(_0x281d3d)[_0x2dc723(0x16a)]()[_0x2dc723(0x169)](),_0xc7c846),_0x325cf7[_0x2dc723(0x177)](String(_0x281d3d)['trim'](),_0xc7c846));}),this[_0x578d4b(0x195)][_0x578d4b(0x177)](_0x4d8b13,_0x325cf7),logger['info']({'event':_0x3684e0['zAhae'],'table':_0x545ed9,'column':_0x4e41aa,'count':_0x51a00e[_0x578d4b(0x181)]},'Lookup\x20table\x20loaded:\x20'+_0x545ed9),_0x325cf7;}catch(_0x5a5f34){logger['error']({'event':_0x3684e0['YETJE'],'table':_0x545ed9,'error':_0x5a5f34[_0x578d4b(0x190)]},_0x578d4b(0x173)+_0x545ed9);throw _0x5a5f34;}}[a0_0x1f8e5b(0x178)](_0x5ec409,_0x4990a2){const _0x3ec9dc=a0_0x1f8e5b,_0x5c2eb8={'Facot':function(_0x2816d3,_0x444ef1){return _0x2816d3===_0x444ef1;},'RbFKe':function(_0x45f31b,_0x14e755){return _0x45f31b===_0x14e755;},'OfXfU':function(_0x17de01,_0x30c129){return _0x17de01===_0x30c129;},'YcpjI':function(_0x22fd79,_0xdd04a8){return _0x22fd79(_0xdd04a8);}};if(_0x5c2eb8[_0x3ec9dc(0x189)](_0x5ec409,null)||_0x5c2eb8['RbFKe'](_0x5ec409,undefined)||_0x5c2eb8['OfXfU'](_0x5ec409,''))return null;const _0x4b3f89=_0x5c2eb8[_0x3ec9dc(0x166)](String,_0x5ec409)[_0x3ec9dc(0x169)]();if(_0x4990a2['has'](_0x4b3f89))return _0x4990a2['get'](_0x4b3f89);const _0x2f7ed0=_0x4b3f89['toLowerCase']();if(_0x4990a2['has'](_0x2f7ed0))return _0x4990a2['get'](_0x2f7ed0);return null;}async['processLookupFields'](_0x4b279a,_0x195e9f){const _0x3a7ba9=a0_0x1f8e5b,_0x48c1dc={'blPjb':function(_0x17cd73,_0x8b9155){return _0x17cd73===_0x8b9155;},'HpoRi':'lookup_fields_processed'};if(!_0x195e9f||Object['keys'](_0x195e9f)['length']===0x0)return{'processedRows':_0x4b279a,'errors':[]};const _0x47157a=[],_0x403432=new Map();for(const [_0x37e9cc,_0x535b54]of Object['entries'](_0x195e9f)){const {lookupTable:_0x546536,lookupColumn:_0x2abcf9,lookupIdColumn:_0x304150}=_0x535b54,_0x240982=_0x546536+':'+_0x2abcf9+':'+_0x304150;if(!_0x403432['has'](_0x240982)){const _0x3518f5=await this[_0x3a7ba9(0x191)](_0x546536,_0x2abcf9,_0x304150);_0x403432[_0x3a7ba9(0x177)](_0x240982,_0x3518f5);}}const _0x54139b=_0x4b279a[_0x3a7ba9(0x180)]((_0x51f621,_0x58bb6a)=>{const _0x5d9320=_0x3a7ba9,_0x7a70f8={..._0x51f621};for(const [_0x36365c,_0x4feab0]of Object['entries'](_0x195e9f)){const {lookupTable:_0x343a66,lookupColumn:_0x49c659,lookupIdColumn:_0x3c3cc0,targetField:_0xecd121,required:_0x267687}=_0x4feab0,_0x10824a=_0x343a66+':'+_0x49c659+':'+_0x3c3cc0,_0x4d029e=_0x403432['get'](_0x10824a),_0x2568fe=_0x51f621[_0x36365c];if((_0x48c1dc['blPjb'](_0x2568fe,null)||_0x2568fe===undefined||_0x48c1dc[_0x5d9320(0x187)](_0x2568fe,''))&&!_0x267687){_0x7a70f8[_0xecd121]=null;continue;}const _0x3b218a=this[_0x5d9320(0x178)](_0x2568fe,_0x4d029e);_0x3b218a!==null?_0x7a70f8[_0xecd121]=_0x3b218a:(_0x267687&&_0x47157a[_0x5d9320(0x16e)]({'rowIndex':_0x58bb6a,'field':_0x36365c,'value':_0x2568fe,'targetField':_0xecd121,'lookupTable':_0x343a66,'message':_0x5d9320(0x196)+_0x2568fe+'\x22\x20not\x20found\x20in\x20'+_0x343a66}),_0x7a70f8[_0xecd121]=null);}return _0x7a70f8;});return logger[_0x3a7ba9(0x197)]({'event':_0x48c1dc['HpoRi'],'totalRows':_0x4b279a['length'],'errorCount':_0x47157a['length'],'lookupFieldCount':Object[_0x3a7ba9(0x18b)](_0x195e9f)['length']},'Lookup\x20fields\x20processed'),{'processedRows':_0x54139b,'errors':_0x47157a};}[a0_0x1f8e5b(0x175)](_0x30c33a,_0x1e68d3){const _0x3b30b8={'GOjjy':function(_0x4bd2fd,_0x43d3cd){return _0x4bd2fd!==_0x43d3cd;},'ylbkm':function(_0x57eded,_0xdeef95){return _0x57eded!==_0xdeef95;},'rrFsS':function(_0x223e2c,_0x315f69){return _0x223e2c(_0x315f69);}},_0x49ff4d=new Set();return _0x30c33a['forEach'](_0x554a8c=>{const _0x3cf40a=a0_0x48cc,_0x4d4805=_0x554a8c[_0x1e68d3];_0x4d4805!==null&&_0x3b30b8['GOjjy'](_0x4d4805,undefined)&&_0x3b30b8[_0x3cf40a(0x188)](_0x4d4805,'')&&_0x49ff4d[_0x3cf40a(0x168)](_0x3b30b8['rrFsS'](String,_0x4d4805)[_0x3cf40a(0x169)]());}),Array['from'](_0x49ff4d);}async['validateLookupValues'](_0xf71a13,_0x1a330e){const _0x56a7f0=a0_0x1f8e5b,_0x4c0d02={'NBmve':function(_0x132b40,_0x41eb28){return _0x132b40!==_0x41eb28;},'JnlQl':function(_0x56c5d7,_0x2fc0cc){return _0x56c5d7===_0x2fc0cc;},'fmcwl':function(_0x2ef399,_0x3180ca){return _0x2ef399===_0x3180ca;}};if(!_0x1a330e||Object['keys'](_0x1a330e)['length']===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x1643e8=[],_0x3be6c1={};for(const [_0x4ad1f1,_0x241ae2]of Object[_0x56a7f0(0x18d)](_0x1a330e)){const {lookupTable:_0x68a381,lookupColumn:_0xfad1ad,lookupIdColumn:_0x38758a,required:_0x4eeecb}=_0x241ae2,_0x4ee490=this[_0x56a7f0(0x175)](_0xf71a13,_0x4ad1f1),_0x28feff=await this[_0x56a7f0(0x191)](_0x68a381,_0xfad1ad,_0x38758a),_0x40ce07=[],_0x45dd6e=[];_0x4ee490[_0x56a7f0(0x170)](_0x368f4a=>{const _0x4c76f1=_0x56a7f0,_0x56e187=this['resolveLookupValue'](_0x368f4a,_0x28feff);_0x4c0d02['NBmve'](_0x56e187,null)?_0x45dd6e[_0x4c76f1(0x16e)](_0x368f4a):_0x40ce07[_0x4c76f1(0x16e)](_0x368f4a);});if(_0x40ce07[_0x56a7f0(0x181)]>0x0&&_0x4eeecb){_0x1643e8['push']({'field':_0x4ad1f1,'lookupTable':_0x68a381,'invalidValues':_0x40ce07,'message':_0x40ce07[_0x56a7f0(0x181)]+_0x56a7f0(0x17d)+_0x68a381});const _0x3acc3c=[];_0x28feff[_0x56a7f0(0x170)]((_0x391ff5,_0x2ea16a)=>{const _0x37c486=_0x56a7f0;if(_0x4c0d02[_0x37c486(0x185)](_0x2ea16a,_0x2ea16a[_0x37c486(0x16a)]()))return;_0x3acc3c['push'](_0x2ea16a);}),_0x3be6c1[_0x4ad1f1]={'invalidValues':_0x40ce07,'availableValues':_0x3acc3c['slice'](0x0,0x32)};}}return{'valid':_0x4c0d02[_0x56a7f0(0x186)](_0x1643e8['length'],0x0),'errors':_0x1643e8,'suggestions':_0x3be6c1};}}module['exports']=new LookupResolver();
|
|
1
|
+
function a0_0x4de8(){const _0x2e1253=['s1vcwge','A2v5CW','uM50B2q','BgvUz3rO','nM5QB1beAq','y2XLyxi','zw50CMLLCW','y2XLyxjdywnOzq','AgfZ','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','mte0oty0Bfnsrxfq','tg9VA3vWignHy2HLignSzwfYzwq','zw52','BxLZCwW','mteWuNjKzvrt','lI9KyI1TExnXBa','nJu1ndC3mevUuMDfCG','zNjVBq','rMjvque','lI9KyG','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','Bg9VA3vWq2fJAgu','ofnrBvzTza','CMvZB2X2zuXVB2T1CfzHBhvL','tMTbvLm','zxHLy3v0zvf1zxj5','Dg9mB3DLCKnHC2u','rejFvfLqrq','DMfSAwrHDgvmB29RDxbwywX1zxm','DhjPBq','Bg9VA3vWx3rHyMXLx2XVywrLza','ndmWodGXzKPpu1LS','mZa5mtK4vevStNPK','u0vmrunuia','iezst00G','m0zyqMviAG','lI9KyI1VCMfJBgu','Bg9HzeXVB2T1CfrHyMXL','mta5odG1ntH5AfLxAgK','BwfW','Dg9vChbLCKnHC2u','vvPJvwO','uLD6uha','vfz1Dfe','mty4ntK0muHHsxfurq','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','iIbUB3qGzM91BMqGAw4G','lI9SB2DNzxi','BwvZC2fNzq','zM9YrwfJAa','z2v0rgLZDgLUy3rwywX1zxm','C2XPy2u','mtqWndC5nZrSwM9PtNO','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','Aw5MBW','C2v0','ChvZAa','z2v0','B3jHy2XL'];a0_0x4de8=function(){return _0x2e1253;};return a0_0x4de8();}const a0_0x103eee=a0_0x24c8;(function(_0x1019c0,_0x287f9d){const _0x3adc9f=a0_0x24c8,_0x528cd2=_0x1019c0();while(!![]){try{const _0x338bb8=parseInt(_0x3adc9f(0x1c8))/0x1+parseInt(_0x3adc9f(0x1f7))/0x2*(parseInt(_0x3adc9f(0x1fa))/0x3)+parseInt(_0x3adc9f(0x1e1))/0x4+-parseInt(_0x3adc9f(0x1e7))/0x5+parseInt(_0x3adc9f(0x1db))/0x6*(parseInt(_0x3adc9f(0x1fd))/0x7)+-parseInt(_0x3adc9f(0x1ed))/0x8*(parseInt(_0x3adc9f(0x1d0))/0x9)+parseInt(_0x3adc9f(0x1e5))/0xa*(parseInt(_0x3adc9f(0x1f6))/0xb);if(_0x338bb8===_0x287f9d)break;else _0x528cd2['push'](_0x528cd2['shift']());}catch(_0x17c977){_0x528cd2['push'](_0x528cd2['shift']());}}}(a0_0x4de8,0xf3ae4));const dbType=(process[a0_0x103eee(0x1e3)][a0_0x103eee(0x1f2)]||'postgresql')['toLowerCase']();function a0_0x24c8(_0x43aa23,_0x3eaba1){_0x43aa23=_0x43aa23-0x1c4;const _0x4de82f=a0_0x4de8();let _0x24c885=_0x4de82f[_0x43aa23];if(a0_0x24c8['SGIXQK']===undefined){var _0x30ba1b=function(_0x592313){const _0x5f3b0f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x37c907='',_0x291b33='';for(let _0x426795=0x0,_0x4135f4,_0x1d55e7,_0x3ffcb2=0x0;_0x1d55e7=_0x592313['charAt'](_0x3ffcb2++);~_0x1d55e7&&(_0x4135f4=_0x426795%0x4?_0x4135f4*0x40+_0x1d55e7:_0x1d55e7,_0x426795++%0x4)?_0x37c907+=String['fromCharCode'](0xff&_0x4135f4>>(-0x2*_0x426795&0x6)):0x0){_0x1d55e7=_0x5f3b0f['indexOf'](_0x1d55e7);}for(let _0x5afd45=0x0,_0x22b764=_0x37c907['length'];_0x5afd45<_0x22b764;_0x5afd45++){_0x291b33+='%'+('00'+_0x37c907['charCodeAt'](_0x5afd45)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x291b33);};a0_0x24c8['AYiPnQ']=_0x30ba1b,a0_0x24c8['ZDtCJz']={},a0_0x24c8['SGIXQK']=!![];}const _0x31f5a0=_0x4de82f[0x0],_0x3e6fa1=_0x43aa23+_0x31f5a0,_0x1cb269=a0_0x24c8['ZDtCJz'][_0x3e6fa1];return!_0x1cb269?(_0x24c885=a0_0x24c8['AYiPnQ'](_0x24c885),a0_0x24c8['ZDtCJz'][_0x3e6fa1]=_0x24c885):_0x24c885=_0x1cb269,_0x24c885;}let executeQuery;if(dbType===a0_0x103eee(0x1d6)){const oracleDb=require(a0_0x103eee(0x1fb));executeQuery=(_0x4a215e,_0x93f6ec)=>oracleDb[a0_0x103eee(0x1f0)](_0x4a215e,_0x93f6ec);}else{if(dbType===a0_0x103eee(0x1e4)){const mysqlDb=require(a0_0x103eee(0x1e6));executeQuery=(_0xc4b3c3,_0x404af5)=>mysqlDb['executeQuery'](_0xc4b3c3,_0x404af5);}else executeQuery=require(a0_0x103eee(0x1ea))[a0_0x103eee(0x1f0)];}const {logger}=require(a0_0x103eee(0x1cb));class LookupResolver{constructor(){const _0x1d73f5=a0_0x103eee;this[_0x1d73f5(0x1ec)]=new Map();}[a0_0x103eee(0x1de)](){const _0x515531=a0_0x103eee,_0xddd193={'eUnAr':_0x515531(0x1c9),'udqNQ':_0x515531(0x1e2)};this['lookupCache'][_0x515531(0x1dc)](),logger['debug']({'event':_0xddd193['eUnAr']},_0xddd193['udqNQ']);}async['loadLookupTable'](_0x4fd51b,_0x41195d,_0x1ed39f){const _0x738927=a0_0x103eee,_0x102755={'ZVzmd':function(_0x293610,_0x44514b){return _0x293610!==_0x44514b;},'FbUAA':function(_0x3c17d0,_0x2cc716){return _0x3c17d0!==_0x2cc716;},'RWzPp':function(_0x44b851,_0x5330b2){return _0x44b851(_0x5330b2);},'euCfR':function(_0x250475,_0x2f1c32){return _0x250475(_0x2f1c32);}},_0xb6d678=_0x4fd51b+':'+_0x41195d+':'+_0x1ed39f;if(this[_0x738927(0x1ec)][_0x738927(0x1df)](_0xb6d678))return this['lookupCache']['get'](_0xb6d678);try{const _0x17c383=_0x738927(0x1f8)+_0x1ed39f+',\x20'+_0x41195d+_0x738927(0x1f9)+_0x4fd51b,_0x12f8eb=await executeQuery(_0x17c383),_0x1371f0=new Map();return _0x12f8eb['forEach'](_0x2cab45=>{const _0x12aac8=_0x738927,_0x461cc2=_0x102755['ZVzmd'](_0x2cab45[_0x41195d],undefined)?_0x2cab45[_0x41195d]:_0x2cab45[_0x41195d[_0x12aac8(0x1c4)]()],_0x56e17f=_0x102755['ZVzmd'](_0x2cab45[_0x1ed39f],undefined)?_0x2cab45[_0x1ed39f]:_0x2cab45[_0x1ed39f['toUpperCase']()];_0x102755[_0x12aac8(0x1e9)](_0x461cc2,null)&&_0x461cc2!==undefined&&(_0x1371f0['set'](_0x102755[_0x12aac8(0x1c6)](String,_0x461cc2)['toLowerCase']()['trim'](),_0x56e17f),_0x1371f0['set'](_0x102755['euCfR'](String,_0x461cc2)['trim'](),_0x56e17f));}),this['lookupCache'][_0x738927(0x1d3)](_0xb6d678,_0x1371f0),logger[_0x738927(0x1d2)]({'event':_0x738927(0x1f5),'table':_0x4fd51b,'column':_0x41195d,'count':_0x12f8eb['length']},'Lookup\x20table\x20loaded:\x20'+_0x4fd51b),_0x1371f0;}catch(_0x531e4b){logger['error']({'event':'lookup_table_load_error','table':_0x4fd51b,'error':_0x531e4b[_0x738927(0x1cc)]},_0x738927(0x1d1)+_0x4fd51b);throw _0x531e4b;}}['resolveLookupValue'](_0x2b7da4,_0x15e8fe){const _0x3ecef8=a0_0x103eee,_0xc46273={'KUBXa':function(_0x1c462c,_0x53e8b2){return _0x1c462c===_0x53e8b2;},'xHKet':function(_0x46a615,_0x31caa0){return _0x46a615===_0x31caa0;},'ZqOgb':function(_0x2627df,_0x409b67){return _0x2627df(_0x409b67);}};if(_0xc46273[_0x3ecef8(0x1d7)](_0x2b7da4,null)||_0x2b7da4===undefined||_0xc46273['xHKet'](_0x2b7da4,''))return null;const _0x21cd4e=_0xc46273['ZqOgb'](String,_0x2b7da4)['trim']();if(_0x15e8fe['has'](_0x21cd4e))return _0x15e8fe[_0x3ecef8(0x1d5)](_0x21cd4e);const _0x241dc5=_0x21cd4e[_0x3ecef8(0x1f1)]();if(_0x15e8fe['has'](_0x241dc5))return _0x15e8fe['get'](_0x241dc5);return null;}async['processLookupFields'](_0x1e9b6f,_0x342ba7){const _0x545a4a=a0_0x103eee,_0x39dc83={'TVutQ':function(_0x55bc38,_0x43ced7){return _0x55bc38===_0x43ced7;},'FChgG':_0x545a4a(0x1eb),'UZcUj':'Lookup\x20fields\x20processed'};if(!_0x342ba7||Object[_0x545a4a(0x1d8)](_0x342ba7)[_0x545a4a(0x1da)]===0x0)return{'processedRows':_0x1e9b6f,'errors':[]};const _0x4c9855=[],_0xa821fe=new Map();for(const [_0x34564d,_0x4cf319]of Object[_0x545a4a(0x1dd)](_0x342ba7)){const {lookupTable:_0xa1a993,lookupColumn:_0x4aadfd,lookupIdColumn:_0xd1b9ad}=_0x4cf319,_0x2a619b=_0xa1a993+':'+_0x4aadfd+':'+_0xd1b9ad;if(!_0xa821fe[_0x545a4a(0x1df)](_0x2a619b)){const _0x3b2d97=await this[_0x545a4a(0x1fc)](_0xa1a993,_0x4aadfd,_0xd1b9ad);_0xa821fe['set'](_0x2a619b,_0x3b2d97);}}const _0x4d28d2=_0x1e9b6f[_0x545a4a(0x1fe)]((_0xd8d05e,_0x5a9b41)=>{const _0x385d66=_0x545a4a,_0x598188={..._0xd8d05e};for(const [_0x846fea,_0x528556]of Object[_0x385d66(0x1dd)](_0x342ba7)){const {lookupTable:_0x426d03,lookupColumn:_0x1df208,lookupIdColumn:_0x3617fd,targetField:_0x4e1892,required:_0x1df85f}=_0x528556,_0x5d5134=_0x426d03+':'+_0x1df208+':'+_0x3617fd,_0x151fda=_0xa821fe['get'](_0x5d5134),_0x2956c7=_0xd8d05e[_0x846fea];if((_0x2956c7===null||_0x39dc83[_0x385d66(0x1c7)](_0x2956c7,undefined)||_0x2956c7==='')&&!_0x1df85f){_0x598188[_0x4e1892]=null;continue;}const _0x575c75=this[_0x385d66(0x1ee)](_0x2956c7,_0x151fda);_0x575c75!==null?_0x598188[_0x4e1892]=_0x575c75:(_0x1df85f&&_0x4c9855[_0x385d66(0x1d4)]({'rowIndex':_0x5a9b41,'field':_0x846fea,'value':_0x2956c7,'targetField':_0x4e1892,'lookupTable':_0x426d03,'message':'Value\x20\x22'+_0x2956c7+_0x385d66(0x1ca)+_0x426d03}),_0x598188[_0x4e1892]=null);}return _0x598188;});return logger['info']({'event':_0x39dc83['FChgG'],'totalRows':_0x1e9b6f['length'],'errorCount':_0x4c9855['length'],'lookupFieldCount':Object[_0x545a4a(0x1d8)](_0x342ba7)[_0x545a4a(0x1da)]},_0x39dc83[_0x545a4a(0x1c5)]),{'processedRows':_0x4d28d2,'errors':_0x4c9855};}[a0_0x103eee(0x1ce)](_0x16abf2,_0x1214c8){const _0x3fb365=a0_0x103eee,_0x3a2697={'Rntod':function(_0x39e695,_0xb0540e){return _0x39e695!==_0xb0540e;}},_0xd037e6=new Set();return _0x16abf2['forEach'](_0x5136e3=>{const _0x5e0faf=a0_0x24c8,_0x4c3069=_0x5136e3[_0x1214c8];_0x4c3069!==null&&_0x4c3069!==undefined&&_0x3a2697[_0x5e0faf(0x1d9)](_0x4c3069,'')&&_0xd037e6['add'](String(_0x4c3069)[_0x5e0faf(0x1f4)]());}),Array[_0x3fb365(0x1e8)](_0xd037e6);}async[a0_0x103eee(0x1f3)](_0x218ca7,_0x2548c4){const _0x12d673=a0_0x103eee,_0x417978={'yZbOY':function(_0x3db3ca,_0x296ae5){return _0x3db3ca!==_0x296ae5;},'NkAVS':function(_0x37253d,_0x4d2d83){return _0x37253d===_0x4d2d83;}};if(!_0x2548c4||Object[_0x12d673(0x1d8)](_0x2548c4)[_0x12d673(0x1da)]===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x495bb5=[],_0x24ddb1={};for(const [_0x332336,_0x11083f]of Object[_0x12d673(0x1dd)](_0x2548c4)){const {lookupTable:_0x559672,lookupColumn:_0xc480a1,lookupIdColumn:_0x15e5f5,required:_0x36aca7}=_0x11083f,_0x1ded6b=this['getDistinctValues'](_0x218ca7,_0x332336),_0x153ffd=await this[_0x12d673(0x1fc)](_0x559672,_0xc480a1,_0x15e5f5),_0x368917=[],_0x43b521=[];_0x1ded6b['forEach'](_0x18f357=>{const _0xe57175=_0x12d673,_0x551bf7=this[_0xe57175(0x1ee)](_0x18f357,_0x153ffd);_0x417978['yZbOY'](_0x551bf7,null)?_0x43b521[_0xe57175(0x1d4)](_0x18f357):_0x368917[_0xe57175(0x1d4)](_0x18f357);});if(_0x368917['length']>0x0&&_0x36aca7){_0x495bb5[_0x12d673(0x1d4)]({'field':_0x332336,'lookupTable':_0x559672,'invalidValues':_0x368917,'message':_0x368917[_0x12d673(0x1da)]+_0x12d673(0x1e0)+_0x559672});const _0xfb3ee1=[];_0x153ffd[_0x12d673(0x1cd)]((_0x56f3b7,_0x23cf06)=>{const _0x496432=_0x12d673;if(_0x23cf06===_0x23cf06[_0x496432(0x1f1)]())return;_0xfb3ee1[_0x496432(0x1d4)](_0x23cf06);}),_0x24ddb1[_0x332336]={'invalidValues':_0x368917,'availableValues':_0xfb3ee1[_0x12d673(0x1cf)](0x0,0x32)};}}return{'valid':_0x417978[_0x12d673(0x1ef)](_0x495bb5[_0x12d673(0x1da)],0x0),'errors':_0x495bb5,'suggestions':_0x24ddb1};}}module['exports']=new LookupResolver();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a0_0x1309(){const _0x39e0a6=['zMLLBgrmywjLBhm','uKDYC3u','CgfYC2u','mtK2mNfkshLlEa','zxjYB3i','y2fJAgu','C2v0','mtuZnMP6yMjdrq','AM9PBG','CMvWBgfJzq','vKrWrgC','AgfZ','otmWodjLtKfyyLy','nJeWnJjXAhDStvm','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','mtyWExHsqK9j','mti5otaYndbNz2Lvufe','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','ugf5Bg9HzcbUB3qGzM91BMq6ia','ndyZmJa2qxLOANbv','zgvIDwC','mNDTvu9hsG','uLvvEui','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','s2jos2e','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','Bg9HzfbHEwXVywq','DxrMoa','mJy4odHdwwHQExC','mtyXmZm1mvPKAxf2Aa','DgfIBgvoyw1L','lI4VlI4VCgf5Bg9Hza','z2v0','Cgf5Bg9HzdO','mta5ndq0nZjoCKPrzfC','Cgf0Aa','lwv4Cg9YDa','mtbuy1r4DLC','Axnby3rPB25fBMfIBgvK','zgf0yxrHyMXLC1f1zxj5','Cgf5Bg9HzerPCG','Cgf5Bg9Hzf9SB2fKzwq'];a0_0x1309=function(){return _0x39e0a6;};return a0_0x1309();}function a0_0x5f00(_0xa84d2c,_0x29a8d6){_0xa84d2c=_0xa84d2c-0x8f;const _0x130922=a0_0x1309();let _0x5f005f=_0x130922[_0xa84d2c];if(a0_0x5f00['rljkyO']===undefined){var _0x4c2888=function(_0x3892ff){const _0x38878b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x55d6b3='',_0x3caccd='';for(let _0x3f4ac8=0x0,_0x47741d,_0xb85064,_0x523ed2=0x0;_0xb85064=_0x3892ff['charAt'](_0x523ed2++);~_0xb85064&&(_0x47741d=_0x3f4ac8%0x4?_0x47741d*0x40+_0xb85064:_0xb85064,_0x3f4ac8++%0x4)?_0x55d6b3+=String['fromCharCode'](0xff&_0x47741d>>(-0x2*_0x3f4ac8&0x6)):0x0){_0xb85064=_0x38878b['indexOf'](_0xb85064);}for(let _0x5e143b=0x0,_0x352d38=_0x55d6b3['length'];_0x5e143b<_0x352d38;_0x5e143b++){_0x3caccd+='%'+('00'+_0x55d6b3['charCodeAt'](_0x5e143b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3caccd);};a0_0x5f00['gLOQNr']=_0x4c2888,a0_0x5f00['yUmauc']={},a0_0x5f00['rljkyO']=!![];}const _0x4dd46f=_0x130922[0x0],_0x17ac65=_0xa84d2c+_0x4dd46f,_0x2defd3=a0_0x5f00['yUmauc'][_0x17ac65];return!_0x2defd3?(_0x5f005f=a0_0x5f00['gLOQNr'](_0x5f005f),a0_0x5f00['yUmauc'][_0x17ac65]=_0x5f005f):_0x5f005f=_0x2defd3,_0x5f005f;}const a0_0x53057d=a0_0x5f00;(function(_0xb10685,_0x20d35e){const _0x2ba5d8=a0_0x5f00,_0x23fada=_0xb10685();while(!![]){try{const _0x1552dc=parseInt(_0x2ba5d8(0xaf))/0x1*(parseInt(_0x2ba5d8(0xa7))/0x2)+-parseInt(_0x2ba5d8(0x9f))/0x3*(parseInt(_0x2ba5d8(0xa1))/0x4)+parseInt(_0x2ba5d8(0xb7))/0x5*(parseInt(_0x2ba5d8(0xa5))/0x6)+parseInt(_0x2ba5d8(0xb4))/0x7+-parseInt(_0x2ba5d8(0xae))/0x8*(-parseInt(_0x2ba5d8(0x95))/0x9)+-parseInt(_0x2ba5d8(0xa2))/0xa+parseInt(_0x2ba5d8(0x9e))/0xb*(-parseInt(_0x2ba5d8(0x99))/0xc);if(_0x1552dc===_0x20d35e)break;else _0x23fada['push'](_0x23fada['shift']());}catch(_0x1e24c1){_0x23fada['push'](_0x23fada['shift']());}}}(a0_0x1309,0xd3d2b));const fs=require('fs')['promises'],path=require(a0_0x53057d(0xb5)),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x5ab8a4=a0_0x53057d;this[_0x5ab8a4(0x90)]=path[_0x5ab8a4(0x9a)](__dirname,_0x5ab8a4(0xb1)),this['cache']=new Map();}async[a0_0x53057d(0xac)](_0x5562a4,_0x4d31cf){const _0xfc0bab=a0_0x53057d,_0x3935c3={'VDpDg':_0xfc0bab(0xab),'RUUyB':'payload_load_error'},_0xcba087=_0x5562a4+':'+_0x4d31cf;if(this['cache'][_0xfc0bab(0x9d)](_0xcba087))return this[_0xfc0bab(0x97)]['get'](_0xcba087);const _0xce3baf=path['join'](this['payloadDir'],_0x5562a4+'_'+_0x4d31cf+'.json');try{const _0x22ed1c=await fs['readFile'](_0xce3baf,_0xfc0bab(0xad)),_0x3acfe3=JSON[_0xfc0bab(0x94)](_0x22ed1c);return this[_0xfc0bab(0x97)]['set'](_0xcba087,_0x3acfe3),logger[_0xfc0bab(0xa6)]({'event':'payload_loaded','project':_0x5562a4,'resource':_0x4d31cf},_0x3935c3[_0xfc0bab(0x9c)]),_0x3acfe3;}catch(_0x198105){logger[_0xfc0bab(0x96)]({'event':_0x3935c3[_0xfc0bab(0xa8)],'project':_0x5562a4,'resource':_0x4d31cf,'error':_0x198105['message']},'Failed\x20to\x20load\x20payload');throw new Error(_0xfc0bab(0xa4)+_0x5562a4+'_'+_0x4d31cf);}}async['loadPayloadByName'](_0x2ee0e4){const _0x3353ba=a0_0x53057d,_0x41bfd1={'kRQgU':_0x3353ba(0xad),'odQEs':_0x3353ba(0x91),'KbNKa':'Payload\x20loaded\x20successfully\x20by\x20name','RGrsu':_0x3353ba(0xa0),'JNlvn':_0x3353ba(0xa3)},_0x54e293=_0x3353ba(0xb3)+_0x2ee0e4;if(this['cache'][_0x3353ba(0x9d)](_0x54e293))return this[_0x3353ba(0x97)][_0x3353ba(0xb2)](_0x54e293);const _0x4b47a0=path['join'](this['payloadDir'],_0x2ee0e4+'.json');try{const _0x2a9eef=await fs['readFile'](_0x4b47a0,_0x41bfd1['kRQgU']),_0x37bb4b=JSON[_0x3353ba(0x94)](_0x2a9eef);return this[_0x3353ba(0x97)][_0x3353ba(0x98)](_0x54e293,_0x37bb4b),logger[_0x3353ba(0xa6)]({'event':_0x41bfd1['odQEs'],'payloadName':_0x2ee0e4},_0x41bfd1[_0x3353ba(0xaa)]),_0x37bb4b;}catch(_0x3a6737){logger[_0x3353ba(0x96)]({'event':_0x41bfd1[_0x3353ba(0x93)],'payloadName':_0x2ee0e4,'error':_0x3a6737['message']},_0x41bfd1['JNlvn']);throw new Error(_0x3353ba(0xa4)+_0x2ee0e4);}}[a0_0x53057d(0xb8)](_0x369997,_0x2ea063){const _0x160f7d={'qOShH':function(_0x4a370d,_0x4a63a7){return _0x4a370d===_0x4a63a7;}};return _0x369997['action']&&_0x160f7d['qOShH'](_0x369997['action'][_0x2ea063],!![]);}['getExportConfig'](_0x33341b){const _0x120643=a0_0x53057d;return{'columns':_0x33341b['fieldName']||[],'filename':_0x33341b[_0x120643(0xb0)][_0x120643(0x9b)]('.','-')+_0x120643(0xb6),'datatablesQuery':_0x33341b[_0x120643(0x8f)]||null,'columnFormats':_0x33341b['columnFormats']||null,'fieldLabels':_0x33341b[_0x120643(0x92)]||null};}['clearCache'](){const _0x23bac1=a0_0x53057d;this[_0x23bac1(0x97)]['clear'](),logger['info']({'event':'payload_cache_cleared'},_0x23bac1(0xa9));}}module['exports']=new PayloadLoader();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';var a0_0x51613e=a0_0x3a33;(function(_0x48bd66,_0x3999e7){var _0x41b414=a0_0x3a33,_0x5bfbdf=_0x48bd66();while(!![]){try{var _0xb819d3=-parseInt(_0x41b414(0xf8))/0x1*(parseInt(_0x41b414(0xf9))/0x2)+-parseInt(_0x41b414(0xf2))/0x3+-parseInt(_0x41b414(0xf7))/0x4+-parseInt(_0x41b414(0xfd))/0x5*(parseInt(_0x41b414(0xfc))/0x6)+parseInt(_0x41b414(0xfa))/0x7+parseInt(_0x41b414(0xf4))/0x8+parseInt(_0x41b414(0xf6))/0x9*(parseInt(_0x41b414(0xf5))/0xa);if(_0xb819d3===_0x3999e7)break;else _0x5bfbdf['push'](_0x5bfbdf['shift']());}catch(_0x2dca00){_0x5bfbdf['push'](_0x5bfbdf['shift']());}}}(a0_0x5e15,0x4ab8f));function createResponse(_0x425131,_0x9bdcf,_0x35b813=null){var _0x40cf2f=a0_0x3a33;return{'success':!![],'statusCode':_0x425131,'message':_0x9bdcf,'data':_0x35b813,'timestamp':new Date()[_0x40cf2f(0xfb)]()};}function a0_0x5e15(){var _0x2b532f=['nty0mdKZvMXMBNzk','zxHWB3j0CW','nda5ntaXnKPzuMfzAa','mtbeEwHzELu','mJi3ntGZvLD6v2zn','ndy0mZi4q1Hbuuvo','nJeZvvDOyvrR','mJbpqwv6B08','nZa3mZqZAfbctujw','Dg9ju09tDhjPBMC','nKD4Cufpva','mta5ntm1sM9Xv0v1'];a0_0x5e15=function(){return _0x2b532f;};return a0_0x5e15();}function createError(_0x394079,_0xfb90e3,_0x1a4060=null){var _0x3c7034=a0_0x3a33;return{'success':![],'statusCode':_0x394079,'message':_0xfb90e3,'data':_0x1a4060,'timestamp':new Date()[_0x3c7034(0xfb)]()};}function a0_0x3a33(_0x4ddd2e,_0x2c9efa){_0x4ddd2e=_0x4ddd2e-0xf2;var _0x5e157b=a0_0x5e15();var _0x3a3331=_0x5e157b[_0x4ddd2e];if(a0_0x3a33['MvFkuT']===undefined){var _0x4cb0b3=function(_0x486dfc){var _0x273036='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x2d09bb='',_0x27a4d9='';for(var _0x7d9605=0x0,_0x5889eb,_0x329ea6,_0x2b03ca=0x0;_0x329ea6=_0x486dfc['charAt'](_0x2b03ca++);~_0x329ea6&&(_0x5889eb=_0x7d9605%0x4?_0x5889eb*0x40+_0x329ea6:_0x329ea6,_0x7d9605++%0x4)?_0x2d09bb+=String['fromCharCode'](0xff&_0x5889eb>>(-0x2*_0x7d9605&0x6)):0x0){_0x329ea6=_0x273036['indexOf'](_0x329ea6);}for(var _0x3988be=0x0,_0x209e3e=_0x2d09bb['length'];_0x3988be<_0x209e3e;_0x3988be++){_0x27a4d9+='%'+('00'+_0x2d09bb['charCodeAt'](_0x3988be)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x27a4d9);};a0_0x3a33['yaVpcn']=_0x4cb0b3,a0_0x3a33['umhiQk']={},a0_0x3a33['MvFkuT']=!![];}var _0x391101=_0x5e157b[0x0],_0x24d4a3=_0x4ddd2e+_0x391101,_0x3684a1=a0_0x3a33['umhiQk'][_0x24d4a3];return!_0x3684a1?(_0x3a3331=a0_0x3a33['yaVpcn'](_0x3a3331),a0_0x3a33['umhiQk'][_0x24d4a3]=_0x3a3331):_0x3a3331=_0x3684a1,_0x3a3331;}function createValidationError(_0x74d610,_0x2c02c0){return{'success':![],'statusCode':0x190,'message':_0x74d610,'data':{'errors':_0x2c02c0},'timestamp':new Date()['toISOString']()};}module[a0_0x51613e(0xf3)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
|
package/src/utils/rabbitmq.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x4ad7db=a0_0x3fdc;(function(_0x727b80,_0x105917){const _0x35eb34=a0_0x3fdc,_0x24ff5b=_0x727b80();while(!![]){try{const _0x6b6717=-parseInt(_0x35eb34(0x89))/0x1*(parseInt(_0x35eb34(0x8a))/0x2)+parseInt(_0x35eb34(0x73))/0x3+parseInt(_0x35eb34(0x9a))/0x4+-parseInt(_0x35eb34(0x92))/0x5+parseInt(_0x35eb34(0x7d))/0x6*(-parseInt(_0x35eb34(0x9d))/0x7)+-parseInt(_0x35eb34(0x91))/0x8*(parseInt(_0x35eb34(0x7e))/0x9)+-parseInt(_0x35eb34(0x88))/0xa*(-parseInt(_0x35eb34(0x8f))/0xb);if(_0x6b6717===_0x105917)break;else _0x24ff5b['push'](_0x24ff5b['shift']());}catch(_0x2e68b9){_0x24ff5b['push'](_0x24ff5b['shift']());}}}(a0_0x9b06,0x48262),require(a0_0x4ad7db(0x95))[a0_0x4ad7db(0x81)]());const amqp=require('amqplib'),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process[a0_0x4ad7db(0x79)]['RABBITMQ_URL'],EXCHANGE=process['env']['RABBITMQ_EXCHANGE'],ROUTING_KEY=process[a0_0x4ad7db(0x79)]['RABBITMQ_ROUTING_KEY'],QUEUE=process[a0_0x4ad7db(0x79)][a0_0x4ad7db(0x77)];async function createConnection(){const _0x25a3d1=a0_0x4ad7db,_0x2000a6={'cNQUu':function(_0x484ed5,_0x76a23){return _0x484ed5(_0x76a23);}};try{const _0x401452=await amqp['connect'](RABBITMQ_URL);return console['log']('['+_0x2000a6['cNQUu'](formatDate,new Date())+_0x25a3d1(0x7b)),_0x401452;}catch(_0x235a5c){console['error']('['+formatDate(new Date())+_0x25a3d1(0x85)+_0x235a5c['message']);throw _0x235a5c;}}async function createChannel(_0x1ff0ac){const _0x5aedb5=a0_0x4ad7db,_0x12db40={'fpNSJ':function(_0x408af8,_0x5a3efc){return _0x408af8(_0x5a3efc);},'dJbuW':function(_0xf2d186,_0x281d63){return _0xf2d186(_0x281d63);}};try{const _0x29fce0=await _0x1ff0ac['createChannel']();return console[_0x5aedb5(0x83)]('['+_0x12db40[_0x5aedb5(0x97)](formatDate,new Date())+_0x5aedb5(0x72)),_0x29fce0;}catch(_0x114cba){console[_0x5aedb5(0x8c)]('['+_0x12db40['dJbuW'](formatDate,new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x114cba[_0x5aedb5(0x7a)]);throw _0x114cba;}}async function setupInfrastructure(_0x4c0ae8){const _0x562c4d=a0_0x4ad7db,_0x268b14={'TLbxl':'retry-exchange','DAVRR':function(_0x3cabe3,_0x6283b0){return _0x3cabe3(_0x6283b0);},'djpUj':function(_0x22610d,_0x5742aa){return _0x22610d(_0x5742aa);},'uYiwX':_0x562c4d(0x76),'asRLE':_0x562c4d(0x87),'fDvJT':'x-dead-letter-routing-key','Kchye':function(_0x1f6cfd,_0x5884f6){return _0x1f6cfd(_0x5884f6);}};try{await _0x4c0ae8['assertExchange'](_0x268b14[_0x562c4d(0x78)],'direct',{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+_0x562c4d(0x93));}catch(_0x7a2223){console['error']('['+formatDate(new Date())+_0x562c4d(0x75),_0x7a2223['message']);throw _0x7a2223;}try{await _0x4c0ae8[_0x562c4d(0x7f)](EXCHANGE,'direct',{'durable':!![],'autoDelete':![]}),console['log']('['+_0x268b14[_0x562c4d(0x7c)](formatDate,new Date())+_0x562c4d(0x99)+EXCHANGE+'\x20created/ready');}catch(_0x2152f6){console['error']('['+formatDate(new Date())+_0x562c4d(0x9c)+EXCHANGE+':',_0x2152f6[_0x562c4d(0x7a)]);throw _0x2152f6;}const _0x160736=ROUTING_KEY+'_retry';try{const _0x163644={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x4c0ae8['assertQueue'](_0x160736,_0x163644),console[_0x562c4d(0x83)]('['+_0x268b14['DAVRR'](formatDate,new Date())+_0x562c4d(0x98)+_0x160736+'\x20created/ready'),await _0x4c0ae8[_0x562c4d(0x80)](_0x160736,_0x268b14[_0x562c4d(0x78)],ROUTING_KEY),console['log']('['+_0x268b14[_0x562c4d(0x86)](formatDate,new Date())+_0x562c4d(0x8b)+ROUTING_KEY+_0x562c4d(0x9b));}catch(_0x397ed8){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x397ed8['message']);throw _0x397ed8;}try{const _0x159753={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x268b14[_0x562c4d(0x78)],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x5a2af7=await _0x4c0ae8['assertQueue'](QUEUE,_0x159753);console[_0x562c4d(0x83)]('['+formatDate(new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x5a2af7['queue']===QUEUE?_0x268b14[_0x562c4d(0x84)]:'found')+'\x20with\x20DLX'),await _0x4c0ae8['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+_0x268b14['DAVRR'](formatDate,new Date())+']\x20Binding\x20'+EXCHANGE+_0x562c4d(0x82)+QUEUE+'\x20('+ROUTING_KEY+_0x562c4d(0x9e));}catch(_0x378c7e){if(_0x378c7e[_0x562c4d(0x7a)]['includes'](_0x268b14['asRLE'])&&_0x378c7e['message']['includes'](_0x268b14['fDvJT']))console['error']('\x0a['+formatDate(new Date())+_0x562c4d(0x8d)+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console['error'](_0x562c4d(0x71)+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console['error']('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process[_0x562c4d(0x90)](0x1);else{console['error']('['+_0x268b14[_0x562c4d(0x74)](formatDate,new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x378c7e['message']);throw _0x378c7e;}}}catch(_0x591571){if(!_0x591571[_0x562c4d(0x7a)]['includes']('inequivalent\x20arg')){console[_0x562c4d(0x8c)]('['+_0x268b14['DAVRR'](formatDate,new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x591571[_0x562c4d(0x7a)]);throw _0x591571;}process['exit'](0x1);}}function a0_0x3fdc(_0x172dba,_0x48ec9b){_0x172dba=_0x172dba-0x71;const _0x9b06bc=a0_0x9b06();let _0x3fdc65=_0x9b06bc[_0x172dba];if(a0_0x3fdc['siuWxF']===undefined){var _0x205dbc=function(_0x65daaf){const _0x3185d8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3d03bf='',_0x2208f3='';for(let _0x39822a=0x0,_0x2e5f44,_0x1970ab,_0x30090a=0x0;_0x1970ab=_0x65daaf['charAt'](_0x30090a++);~_0x1970ab&&(_0x2e5f44=_0x39822a%0x4?_0x2e5f44*0x40+_0x1970ab:_0x1970ab,_0x39822a++%0x4)?_0x3d03bf+=String['fromCharCode'](0xff&_0x2e5f44>>(-0x2*_0x39822a&0x6)):0x0){_0x1970ab=_0x3185d8['indexOf'](_0x1970ab);}for(let _0x35289a=0x0,_0x4639d9=_0x3d03bf['length'];_0x35289a<_0x4639d9;_0x35289a++){_0x2208f3+='%'+('00'+_0x3d03bf['charCodeAt'](_0x35289a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2208f3);};a0_0x3fdc['yfkwvW']=_0x205dbc,a0_0x3fdc['CFyBVx']={},a0_0x3fdc['siuWxF']=!![];}const _0xd02df3=_0x9b06bc[0x0],_0x538537=_0x172dba+_0xd02df3,_0x477af7=a0_0x3fdc['CFyBVx'][_0x538537];return!_0x477af7?(_0x3fdc65=a0_0x3fdc['yfkwvW'](_0x3fdc65),a0_0x3fdc['CFyBVx'][_0x538537]=_0x3fdc65):_0x3fdc65=_0x477af7,_0x3fdc65;}function a0_0x9b06(){const _0x85ac55=['xsbszxrYEsbXDwv1zsa','xsbfEgnOyw5Nzsa','mtGZndm4ogPAzgL1vG','ignYzwf0zwq','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','mZuXodGXnMrWvLrJra','ksbJCMvHDgvK','uxvLDwuG','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','mta5nZuYnK9TzLrRBa','s2nOEwu','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','y3jLyxrLzc9YzwfKEq','uKfcqKLutvfFuvvfvuu','veXIEgW','zw52','BwvZC2fNzq','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r','refwuLi','nLz1y3HpqG','nZq3tMTuz0rp','yxnZzxj0rxHJAgfUz2u','yMLUzff1zxvL','y29UzMLN','ic0+ia','Bg9N','DvLPD1G','xsbgywLSzwqGDg8Gy29UBMvJDcb0BYbsywjIAxrnutOG','zgPWvwO','Aw5LCxvPDMfSzw50igfYzW','ndyYmtC5mgnZt0PmuW','mZGWm0HiAxLora','mtiYz292qvLV','xsbszxrYEsbIAw5KAw5NigzVCIa','zxjYB3i','xsbfuLjpuJOGuxvLDwuG','y2XVC2u','mtfQEhvwBM0','zxHPDa','mJm0ndHPt2vKru0','nJu3nJbOvezZDwu','xsbszxrYEsbLEgnOyw5NzsbJCMvHDgvKl3jLywr5','xsbsywjIAxrnusbJB25Uzwn0Aw9UignSB3nLza','zg90zw52','zxHWB3j0CW','zNbou0O'];a0_0x9b06=function(){return _0x85ac55;};return a0_0x9b06();}async function closeConnection(_0x3bd0ae){const _0x190bc3=a0_0x4ad7db;if(_0x3bd0ae)try{await _0x3bd0ae[_0x190bc3(0x8e)](),console['log']('['+formatDate(new Date())+_0x190bc3(0x94));}catch(_0x57eaa5){console[_0x190bc3(0x8c)]('['+formatDate(new Date())+']\x20Failed\x20to\x20close\x20RabbitMQ\x20connection:\x20'+_0x57eaa5[_0x190bc3(0x7a)]);}}module[a0_0x4ad7db(0x96)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a0_0x503f(){const _0x48f1ea=['CMvKAxnFAw5PDf9LCNjVCG','BKX4wMS','mJuZotKXmfnzwu5ssG','uKvesvnFrei','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','uKvesvnFue9sva','uKvesvnFueftu1DpuKq','zxjYB3i','mJa4mdGWvKvoqKjU','BwvZC2fNzq','CgLUzW','CKHtz00','nJK2yKfXwwHr','AxndB25Uzwn0zwq','BuvzCNa','nteWntG0mgrSrunyyW','Bg9JywXOB3n0','zxHWB3j0CW','nfrPu1DPqq','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','muX4r2Dxqq','ndq1mtiZoevUuwfzyG','y29UBMvJDa','BwLU','y2XPzw50','mJu4nJviqufWAvy','zM9Yy2veAxnJB25Uzwn0','CMfJzq','CMvKAxnFzxjYB3i','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','nJK5mJK4Evz4sxbN','mtuXnZC5ou9MzgnMEa','zw52'];a0_0x503f=function(){return _0x48f1ea;};return a0_0x503f();}function a0_0x2129(_0x4d517c,_0x148e12){_0x4d517c=_0x4d517c-0x7d;const _0x503fa5=a0_0x503f();let _0x2129f0=_0x503fa5[_0x4d517c];if(a0_0x2129['gGoCfK']===undefined){var _0x35faf6=function(_0x453bf0){const _0x14e842='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3d7418='',_0xcd2c01='';for(let _0x577597=0x0,_0x17cb8e,_0x1e9447,_0x357c07=0x0;_0x1e9447=_0x453bf0['charAt'](_0x357c07++);~_0x1e9447&&(_0x17cb8e=_0x577597%0x4?_0x17cb8e*0x40+_0x1e9447:_0x1e9447,_0x577597++%0x4)?_0x3d7418+=String['fromCharCode'](0xff&_0x17cb8e>>(-0x2*_0x577597&0x6)):0x0){_0x1e9447=_0x14e842['indexOf'](_0x1e9447);}for(let _0x5c4eb0=0x0,_0x106554=_0x3d7418['length'];_0x5c4eb0<_0x106554;_0x5c4eb0++){_0xcd2c01+='%'+('00'+_0x3d7418['charCodeAt'](_0x5c4eb0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xcd2c01);};a0_0x2129['PyfqVO']=_0x35faf6,a0_0x2129['zUgQHl']={},a0_0x2129['gGoCfK']=!![];}const _0xea1f12=_0x503fa5[0x0],_0x27962=_0x4d517c+_0xea1f12,_0x5164d4=a0_0x2129['zUgQHl'][_0x27962];return!_0x5164d4?(_0x2129f0=a0_0x2129['PyfqVO'](_0x2129f0),a0_0x2129['zUgQHl'][_0x27962]=_0x2129f0):_0x2129f0=_0x5164d4,_0x2129f0;}const a0_0x1acf00=a0_0x2129;(function(_0x17142d,_0x140697){const _0x4f8eec=a0_0x2129,_0x4f8f72=_0x17142d();while(!![]){try{const _0x2744d1=-parseInt(_0x4f8eec(0x97))/0x1*(-parseInt(_0x4f8eec(0x80))/0x2)+parseInt(_0x4f8eec(0x81))/0x3*(parseInt(_0x4f8eec(0x95))/0x4)+parseInt(_0x4f8eec(0x85))/0x5+-parseInt(_0x4f8eec(0x8f))/0x6*(parseInt(_0x4f8eec(0x9c))/0x7)+-parseInt(_0x4f8eec(0x92))/0x8+parseInt(_0x4f8eec(0x98))/0x9+-parseInt(_0x4f8eec(0x8b))/0xa;if(_0x2744d1===_0x140697)break;else _0x4f8f72['push'](_0x4f8f72['shift']());}catch(_0x2cb796){_0x4f8f72['push'](_0x4f8f72['shift']());}}}(a0_0x503f,0xbc1b8));const Redis=require('ioredis'),{logger}=require('./logger');class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}['connect'](){const _0x441882=a0_0x2129,_0x386bff={'rLGAK':function(_0x48d949,_0x71528){return _0x48d949*_0x71528;},'nLxZk':'redis_connected','SJjkw':_0x441882(0x7f),'jMqQi':_0x441882(0x7e),'isqap':'redis_disconnected','jFnAn':function(_0x352305,_0x459934,_0xac3dd4){return _0x352305(_0x459934,_0xac3dd4);},'yVJea':'error','rHSgM':'close'};if(this[_0x441882(0x9b)])return this['client'];try{return this[_0x441882(0x9b)]=new Redis({'host':process['env']['REDIS_HOST']||_0x441882(0x93),'port':_0x386bff['jFnAn'](parseInt,process[_0x441882(0x82)][_0x441882(0x88)],0xa)||0x18ec,'password':process['env'][_0x441882(0x89)]||undefined,'db':_0x386bff['jFnAn'](parseInt,process['env'][_0x441882(0x86)],0xa)||0x0,'retryStrategy'(_0xe83a1f){const _0xddfeaf=_0x441882,_0x52c3b2=Math[_0xddfeaf(0x9a)](_0x386bff['rLGAK'](_0xe83a1f,0x32),0x7d0);return _0x52c3b2;}}),this[_0x441882(0x9b)]['on'](_0x441882(0x99),()=>{const _0x456a39=_0x441882;this['isConnected']=!![],logger['info']({'event':_0x386bff[_0x456a39(0x84)]},_0x386bff['SJjkw']);}),this[_0x441882(0x9b)]['on'](_0x386bff['yVJea'],_0x74119d=>{const _0x50d5d3=_0x441882;this['isConnected']=![],logger['error']({'event':_0x386bff['jMqQi'],'error':_0x74119d[_0x50d5d3(0x8c)]},'Redis\x20connection\x20error:\x20'+_0x74119d['message']);}),this['client']['on'](_0x386bff[_0x441882(0x8e)],()=>{const _0x5adfe9=_0x441882;this['isConnected']=![],logger['warn']({'event':_0x386bff['isqap']},_0x5adfe9(0x96));}),this[_0x441882(0x9b)];}catch(_0x4165f3){logger[_0x441882(0x8a)]({'event':_0x441882(0x83),'error':_0x4165f3['message']},_0x441882(0x87));throw _0x4165f3;}}['getClient'](){return!this['client']&&this['connect'](),this['client'];}async[a0_0x1acf00(0x8d)](_0xfcd141=0x1388){const _0x2c6083=a0_0x1acf00,_0x4ec935={'mEYrp':'PONG'};try{const _0x46d921=this['getClient'](),_0x3ff50d=await Promise[_0x2c6083(0x7d)]([_0x46d921[_0x2c6083(0x8d)](),new Promise((_0xd5179d,_0x2f5d7e)=>setTimeout(()=>_0x2f5d7e(new Error('Redis\x20PING\x20timeout')),_0xfcd141))]);return _0x3ff50d===_0x4ec935[_0x2c6083(0x91)];}catch(_0x58fcd3){return![];}}async['disconnect'](){this['client']&&(await this['client']['quit'](),this['client']=null,this['isConnected']=![]);}[a0_0x1acf00(0x9d)](){const _0x4d18b7=a0_0x1acf00;this['client']&&(this[_0x4d18b7(0x9b)]['disconnect'](),this[_0x4d18b7(0x9b)]=null,this[_0x4d18b7(0x90)]=![]);}}module[a0_0x1acf00(0x94)]=new RedisClient();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x274e73=a0_0xd9fc;function a0_0xd9fc(_0x43b234,_0x551917){_0x43b234=_0x43b234-0x120;const _0x29cb4c=a0_0x29cb();let _0xd9fc29=_0x29cb4c[_0x43b234];if(a0_0xd9fc['jtNXJo']===undefined){var _0x50a3f5=function(_0x138acb){const _0x1708ef='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x325593='',_0x2ef012='';for(let _0x39f3fc=0x0,_0x5eec5d,_0x5a10e0,_0x85b1fb=0x0;_0x5a10e0=_0x138acb['charAt'](_0x85b1fb++);~_0x5a10e0&&(_0x5eec5d=_0x39f3fc%0x4?_0x5eec5d*0x40+_0x5a10e0:_0x5a10e0,_0x39f3fc++%0x4)?_0x325593+=String['fromCharCode'](0xff&_0x5eec5d>>(-0x2*_0x39f3fc&0x6)):0x0){_0x5a10e0=_0x1708ef['indexOf'](_0x5a10e0);}for(let _0x5537d5=0x0,_0x301f9d=_0x325593['length'];_0x5537d5<_0x301f9d;_0x5537d5++){_0x2ef012+='%'+('00'+_0x325593['charCodeAt'](_0x5537d5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2ef012);};a0_0xd9fc['RFppyI']=_0x50a3f5,a0_0xd9fc['pIhbNo']={},a0_0xd9fc['jtNXJo']=!![];}const _0x26cbbe=_0x29cb4c[0x0],_0xb0b8d5=_0x43b234+_0x26cbbe,_0x462a57=a0_0xd9fc['pIhbNo'][_0xb0b8d5];return!_0x462a57?(_0xd9fc29=a0_0xd9fc['RFppyI'](_0xd9fc29),a0_0xd9fc['pIhbNo'][_0xb0b8d5]=_0xd9fc29):_0xd9fc29=_0x462a57,_0xd9fc29;}(function(_0x4fac42,_0x6639e1){const _0x420cdc=a0_0xd9fc,_0x1a87d9=_0x4fac42();while(!![]){try{const _0x58ed64=-parseInt(_0x420cdc(0x134))/0x1+parseInt(_0x420cdc(0x13e))/0x2*(-parseInt(_0x420cdc(0x131))/0x3)+parseInt(_0x420cdc(0x129))/0x4*(-parseInt(_0x420cdc(0x132))/0x5)+parseInt(_0x420cdc(0x127))/0x6*(parseInt(_0x420cdc(0x146))/0x7)+-parseInt(_0x420cdc(0x12e))/0x8*(-parseInt(_0x420cdc(0x12a))/0x9)+-parseInt(_0x420cdc(0x12c))/0xa+-parseInt(_0x420cdc(0x123))/0xb*(-parseInt(_0x420cdc(0x13c))/0xc);if(_0x58ed64===_0x6639e1)break;else _0x1a87d9['push'](_0x1a87d9['shift']());}catch(_0x3854e9){_0x1a87d9['push'](_0x1a87d9['shift']());}}}(a0_0x29cb,0xe3e1e));const redisClient=require('./redis-client'),{logger}=require(a0_0x274e73(0x139));class RedisHelper{constructor(){const _0x3e45a2=a0_0x274e73,_0x10ff7a={'dFPRS':function(_0x2667e3,_0x31b932,_0x557612){return _0x2667e3(_0x31b932,_0x557612);}};this[_0x3e45a2(0x13f)]=null,this['ttl']=_0x10ff7a[_0x3e45a2(0x149)](parseInt,process['env'][_0x3e45a2(0x12d)],0xa)||0xe10;}get[a0_0x274e73(0x122)](){const _0x1d4eaa=a0_0x274e73,_0x225b64={'YgBDY':_0x1d4eaa(0x13b)};if(!this['_prefix']){const _0x1912c6=process[_0x1d4eaa(0x128)]['RESTFORGE_PROJECT_NAME']||_0x225b64[_0x1d4eaa(0x125)];this[_0x1d4eaa(0x13f)]=_0x1d4eaa(0x14b)+_0x1912c6+':export:';}return this['_prefix'];}async[a0_0x274e73(0x126)](_0x25a9b9,_0xe96705){const _0x14b3ac=a0_0x274e73,_0x1fdaf1={'ljQTY':_0x14b3ac(0x12b),'gTIBP':_0x14b3ac(0x13a)};try{const _0x2e11ec=redisClient['getClient'](),_0x96fbb1=''+this['prefix']+_0x25a9b9;return await _0x2e11ec['setex'](_0x96fbb1,this[_0x14b3ac(0x148)],JSON[_0x14b3ac(0x145)](_0xe96705)),!![];}catch(_0xe15ee){return logger[_0x14b3ac(0x13d)]({'event':_0x1fdaf1['ljQTY'],'jobId':_0x25a9b9,'error':_0xe15ee[_0x14b3ac(0x124)]},_0x1fdaf1[_0x14b3ac(0x137)]),![];}}async[a0_0x274e73(0x135)](_0x2a9538){const _0x2eb59e=a0_0x274e73,_0x3b3522={'JvgKw':_0x2eb59e(0x14a),'QLInb':_0x2eb59e(0x120)};try{const _0x3f4276=redisClient['getClient'](),_0x1da547=''+this[_0x2eb59e(0x122)]+_0x2a9538,_0x5c8f43=await _0x3f4276[_0x2eb59e(0x144)](_0x1da547);return _0x5c8f43?JSON[_0x2eb59e(0x142)](_0x5c8f43):null;}catch(_0x28ab9e){return logger[_0x2eb59e(0x13d)]({'event':_0x3b3522['JvgKw'],'jobId':_0x2a9538,'error':_0x28ab9e['message']},_0x3b3522[_0x2eb59e(0x143)]),null;}}async[a0_0x274e73(0x138)](_0x130010,_0x552695){const _0x2c5eec=a0_0x274e73,_0x3f82c3=await this[_0x2c5eec(0x135)](_0x130010);if(!_0x3f82c3)return![];const _0x4c2e78={..._0x3f82c3,..._0x552695};return await this[_0x2c5eec(0x126)](_0x130010,_0x4c2e78);}async['deleteJob'](_0x4a6705){const _0xd31303=a0_0x274e73;try{const _0x59217a=redisClient[_0xd31303(0x140)](),_0x5a53fa=''+this['prefix']+_0x4a6705;return await _0x59217a['del'](_0x5a53fa),!![];}catch(_0x545696){return logger[_0xd31303(0x13d)]({'event':_0xd31303(0x133),'jobId':_0x4a6705,'error':_0x545696['message']},_0xd31303(0x136)),![];}}async['getAllJobs'](){const _0x4e163f=a0_0x274e73,_0x46132c={'FcGdE':_0x4e163f(0x130)};try{const _0x1b42d1=redisClient[_0x4e163f(0x140)](),_0x3ad750=await _0x1b42d1[_0x4e163f(0x121)](this['prefix']+'*'),_0x1ca496=[];for(const _0x3b64ac of _0x3ad750){const _0x2c3197=await _0x1b42d1['get'](_0x3b64ac);_0x2c3197&&_0x1ca496['push'](JSON['parse'](_0x2c3197));}return _0x1ca496;}catch(_0x528af1){return logger['error']({'event':_0x4e163f(0x147),'error':_0x528af1[_0x4e163f(0x124)]},_0x46132c[_0x4e163f(0x141)]),[];}}}module[a0_0x274e73(0x12f)]=new RedisHelper();function a0_0x29cb(){const _0x4ad3d2=['zgvMyxvSDa','mJeWnJiZndbtyK9sCLe','zxjYB3i','ogfAs25SqW','x3bYzwzPEa','z2v0q2XPzw50','rMnhzeu','CgfYC2u','uuXjBMi','z2v0','C3rYAw5NAwz5','ndG1ohb0wMTyzG','CMvKAxnFz2v0ywXSx2vYCM9Y','DhrS','zezquLm','CMvKAxnFz2v0x2vYCM9Y','CMvZDgzVCMDLoG','rMfPBgvKihrVigDLDcbQB2iGzNjVBsbszwrPCW','A2v5CW','ChjLzML4','mJjJEvHuv1O','BwvZC2fNzq','wwDcrfK','C2v0sM9I','nZyZoe5NqLzMta','zw52','mtqYnZmWognOtMrmwG','mtq0s1z0q2nx','CMvKAxnFC2v0x2vYCM9Y','mtCXota0ndbmBKrjq2i','rvHqt1jux0zjtevFrvHqsvjz','mteWndqWze93vgzm','zxHWB3j0CW','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','nZCWmJe0wMjrEvnf','mtbjD1zUCNi','CMvKAxnFzgvSzxrLx2vYCM9Y','mJiXnJC2A09KzeLk','z2v0sM9I','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW','z1rjqLa','DxbKyxrLsM9I','lI9SB2DNzxi','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm'];a0_0x29cb=function(){return _0x4ad3d2;};return a0_0x29cb();}
|