@restforgejs/platform 5.1.0 → 5.1.4
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 +95 -0
- package/generators/cli/data/push.js +85 -0
- package/generators/cli/fast-track.js +12 -25
- package/generators/cli/schema/introspect.js +10 -10
- package/generators/lib/data/db-executor.js +440 -0
- package/generators/lib/data/dialect-kit.js +56 -0
- package/generators/lib/data/envelope.js +220 -0
- package/generators/lib/data/pull-runner.js +407 -0
- package/generators/lib/data/push-runner.js +382 -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
|
+
function a0_0x338d(_0x4d6e10,_0x37970d){_0x4d6e10=_0x4d6e10-0x14b;const _0x2c489d=a0_0x2c48();let _0x338deb=_0x2c489d[_0x4d6e10];if(a0_0x338d['HUnSEy']===undefined){var _0x51d1ba=function(_0x507c9b){const _0x2e45c5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3eb5da='',_0x53f5fd='';for(let _0x1cb85b=0x0,_0x33fc8c,_0x490210,_0x590071=0x0;_0x490210=_0x507c9b['charAt'](_0x590071++);~_0x490210&&(_0x33fc8c=_0x1cb85b%0x4?_0x33fc8c*0x40+_0x490210:_0x490210,_0x1cb85b++%0x4)?_0x3eb5da+=String['fromCharCode'](0xff&_0x33fc8c>>(-0x2*_0x1cb85b&0x6)):0x0){_0x490210=_0x2e45c5['indexOf'](_0x490210);}for(let _0x2b68a9=0x0,_0x17c2ed=_0x3eb5da['length'];_0x2b68a9<_0x17c2ed;_0x2b68a9++){_0x53f5fd+='%'+('00'+_0x3eb5da['charCodeAt'](_0x2b68a9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x53f5fd);};a0_0x338d['wbocNV']=_0x51d1ba,a0_0x338d['GsDMeK']={},a0_0x338d['HUnSEy']=!![];}const _0x2483a4=_0x2c489d[0x0],_0x383a27=_0x4d6e10+_0x2483a4,_0x3aeab9=a0_0x338d['GsDMeK'][_0x383a27];return!_0x3aeab9?(_0x338deb=a0_0x338d['wbocNV'](_0x338deb),a0_0x338d['GsDMeK'][_0x383a27]=_0x338deb):_0x338deb=_0x3aeab9,_0x338deb;}const a0_0x1d7cff=a0_0x338d;(function(_0x3cacb4,_0x2584ee){const _0x364893=a0_0x338d,_0x41c42a=_0x3cacb4();while(!![]){try{const _0x5a2f5a=-parseInt(_0x364893(0x18d))/0x1*(parseInt(_0x364893(0x183))/0x2)+-parseInt(_0x364893(0x188))/0x3+parseInt(_0x364893(0x18f))/0x4+parseInt(_0x364893(0x1a4))/0x5*(-parseInt(_0x364893(0x19f))/0x6)+-parseInt(_0x364893(0x1a6))/0x7+-parseInt(_0x364893(0x167))/0x8*(-parseInt(_0x364893(0x15b))/0x9)+parseInt(_0x364893(0x17e))/0xa;if(_0x5a2f5a===_0x2584ee)break;else _0x41c42a['push'](_0x41c42a['shift']());}catch(_0x4e7bd0){_0x41c42a['push'](_0x41c42a['shift']());}}}(a0_0x2c48,0xf2331));function a0_0x2c48(){const _0x4a6896=['x3bYzwzPEa','tg9JAYbYzwXLyxnLigvYCM9Y','zgvJCG','C3rYyxrLz3K','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','ntC4mdq3ohP1r3vrwa','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','CMv0CNLdB3vUDa','AxnfBMfIBgvK','x3DVCMTLCKLK','mtbWCxPeBgC','zuvXuK4','nZa5otm0ngXXqvnYzW','DxvPza','Bg9JA19JB25MAwDFAw5PDa','EKLQuNy','D3jPDgvFBg9JA19YzwPLy3rLza','x3jLDhj5rgvSyxK','CwLKzK0','vLDhyMC','zgvIDwC','AerZvM8','ANDLBxy','CMvHza','Dhj1zq','ywXS','uxvtr1G','D3jPDgvFBg9JA19YzwXLyxnLza','CKnorNK','D3jPDgvFBg9JA19Hy3f1AxjLza','y0Dnyu0','CMvHzf9SB2nRx2fJCxvPCMvK','te9ds19esvnuuKLcvvrfrf9srvrswq','nJi0ntK0nNbVwLzADa','D2fYBG','BwvZC2fNzq','CMvQzwn0','ChjLzML4','x2rLzMf1BhruveW','Bg9JA19YzwXLyxnLx2vYCM9Y','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','z2v0q2XPzw50','D3jPDgvFBg9JA190Aw1LB3v0','D3jPDgvFBg9JA193ywL0Aw5N','zgvMyxvSDfruta','oe9bAe1ABW','zxzHBa','D3jPDgu','Bg9JA19LEhrLBMrLza','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','zxH0zw5Ktg9JAW','vfPAqNC','uKPgv3a','zxHWB3j0CW','tg9JAYbLEhrLBMqGzxjYB3i','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','C2XLzxa','te9ds19esvnuuKLcvvrfrf9ftKfcteve','Aw5JCG','AeDMEgS','CMv0CNLezwXHEq','x3jLDhj5q291BNq','x2vUywjSzwq','zgvS','z2v0tg9JA0LUzM8','rw5LC1e','lI9SB2DNzxi','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','mJu5mJe1mdbXuhfqzxK','v0rXsuC','x3n0CMf0zwD5','zw5HyMXLza','te9ds19esvnuuKLcvvrfrf9uveW','oduWmdrxzvLUqLG','DgjSy0e','CMvSzwfZzuXVy2S','CgLK','B0Dmr00','mJa4nZe2q3niuM9U','x2LUAxrdB25MAwC','D3jPDgvFBg9JA19LCNjVCG','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','AwTpC3G','nxrutxLrDa','zxjYB3i','mZCXnJaYmhnWs0zVqG','Aw5MBW','x2LUAxrPywXPEMvK','yNvPBgrmB2nRs2v5','v1jjveuGBg9JAYbYzwXLyxnLza','CMy6Bg9JAZO','lcbZDhjHDgvNEtOG','ywnXDwLYzvjLywrmB2nR','zw52','z2v0','x2vUC3vYzuLUAxrPywXPEMvK'];a0_0x2c48=function(){return _0x4a6896;};return a0_0x2c48();}const redisClient=require('./redis-client'),{logger}=require(a0_0x1d7cff(0x17c)),{v4:uuidv4}=require(a0_0x1d7cff(0x1a7));class LockManager{constructor(){const _0x436c12=a0_0x1d7cff;this['_prefix']=null,this['_enabled']=null,this['_defaultTTL']=null,this[_0x436c12(0x177)]=null,this[_0x436c12(0x14b)]=null,this[_0x436c12(0x180)]=null,this[_0x436c12(0x1a3)]=null,this[_0x436c12(0x191)]=![];}[a0_0x1d7cff(0x189)](){const _0x5e5190=a0_0x1d7cff,_0xfda724={'oGLGM':function(_0x2af5cc,_0x1acd39){return _0x2af5cc===_0x1acd39;},'qidfM':_0x5e5190(0x152),'jwemv':'retry'};this[_0x5e5190(0x19a)]=_0x5e5190(0x194),this['_enabled']=_0xfda724[_0x5e5190(0x187)](process['env'][_0x5e5190(0x173)],_0xfda724[_0x5e5190(0x14c)]),this[_0x5e5190(0x160)]=parseInt(process[_0x5e5190(0x197)][_0x5e5190(0x182)],0xa)||0xa,this['_retryCount']=parseInt(process[_0x5e5190(0x197)][_0x5e5190(0x15a)],0xa)||0x3,this['_retryDelay']=parseInt(process[_0x5e5190(0x197)][_0x5e5190(0x1a0)],0xa)||0x64,this[_0x5e5190(0x180)]=process['env']['LOCK_DISTRIBUTED_STRATEGY']||_0xfda724[_0x5e5190(0x150)],this['_workerId']='worker-'+process[_0x5e5190(0x186)],this['_initialized']=!![],logger[_0x5e5190(0x190)]({'event':_0x5e5190(0x1a8),'enabled':this[_0x5e5190(0x178)],'strategy':this['_strategy'],'ttl':this['_defaultTTL'],'retryCount':this['_retryCount'],'retryDelay':this[_0x5e5190(0x14b)],'workerId':this['_workerId']},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+_0x5e5190(0x195)+this['_strategy']);}[a0_0x1d7cff(0x199)](){!this['_initialized']&&this['_initConfig']();}get['prefix'](){const _0x3cc75e=a0_0x1d7cff;return this['_ensureInitialized'](),this[_0x3cc75e(0x19a)];}get[a0_0x1d7cff(0x181)](){return this['_ensureInitialized'](),this['_enabled'];}get['defaultTTL'](){const _0x337d4d=a0_0x1d7cff;return this['_ensureInitialized'](),this[_0x337d4d(0x160)];}get['retryCount'](){return this['_ensureInitialized'](),this['_retryCount'];}get[a0_0x1d7cff(0x176)](){const _0x3d8310=a0_0x1d7cff;return this['_ensureInitialized'](),this[_0x3d8310(0x14b)];}get[a0_0x1d7cff(0x19d)](){return this['_ensureInitialized'](),this['_strategy'];}get['workerId'](){const _0x21e9bf=a0_0x1d7cff;return this['_ensureInitialized'](),this[_0x21e9bf(0x1a3)];}[a0_0x1d7cff(0x192)](_0x19ba2c){const _0x43ebab=a0_0x1d7cff,{module:_0xa6b14c,endpoint:_0x357943,lockType:_0x3f8162,recordId:_0x39db6b}=_0x19ba2c;if(_0x39db6b)return''+this[_0x43ebab(0x15f)]+_0xa6b14c+':'+_0x357943+':'+_0x39db6b+':'+_0x3f8162;return''+this['prefix']+_0xa6b14c+':'+_0x357943+':'+_0x3f8162;}['generateLockValue'](){return this['workerId']+':'+uuidv4()+':'+Date['now']();}async[a0_0x1d7cff(0x196)](_0x336e16){const _0x3214da=a0_0x1d7cff,_0xc0e065={'cEUWz':_0x3214da(0x151),'EnesQ':function(_0x4cc3bf,_0x16c0ed){return _0x4cc3bf<_0x16c0ed;},'RJFWp':_0x3214da(0x159),'hDsVo':'read_lock_waiting','QHfhM':_0x3214da(0x18b)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x2d835d=this['buildLockKey']({..._0x336e16,'lockType':_0x3214da(0x169)}),_0x96ad4d=this[_0x3214da(0x192)]({..._0x336e16,'lockType':_0xc0e065['cEUWz']}),_0xad6802=this['generateLockValue']();try{const _0x47f5c0=redisClient[_0x3214da(0x163)]();for(let _0x1558de=0x0;_0xc0e065[_0x3214da(0x17b)](_0x1558de,this[_0x3214da(0x1a1)]);_0x1558de++){const _0x366a42=await _0x47f5c0[_0x3214da(0x198)](_0x2d835d);if(!_0x366a42){await _0x47f5c0[_0x3214da(0x174)](_0x96ad4d),await _0x47f5c0['expire'](_0x96ad4d,this[_0x3214da(0x166)]);const _0x45fe42=_0x96ad4d+':'+_0xad6802;return await _0x47f5c0['setex'](_0x45fe42,this[_0x3214da(0x166)],_0xad6802),logger[_0x3214da(0x14e)]({'event':_0xc0e065[_0x3214da(0x16e)],'key':_0x96ad4d,'value':_0xad6802},'READ\x20lock\x20acquired'),{'success':!![],'lockValue':_0xad6802,'lockKey':_0x45fe42};}logger[_0x3214da(0x14e)]({'event':_0xc0e065[_0x3214da(0x14f)],'writeKey':_0x2d835d,'attempt':_0x1558de},_0x3214da(0x171)),await this[_0x3214da(0x172)](this['retryDelay']*Math['pow'](0x2,_0x1558de));}return logger[_0x3214da(0x15c)]({'event':'read_lock_timeout','key':_0x96ad4d},_0xc0e065['QHfhM']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x42f4ef){return logger['error']({'event':'read_lock_error','error':_0x42f4ef['message']},'READ\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x260060){const _0x25c6df=a0_0x1d7cff,_0x23ec25={'tblcA':'write','WDqIG':'read','TZZBw':function(_0x4dcef9,_0x5953fd){return _0x4dcef9===_0x5953fd;},'CztCD':'WRITE\x20lock\x20acquired\x20(reject\x20mode)','XNeyc':function(_0x5aea6c,_0x75f212){return _0x5aea6c<_0x75f212;},'ikOsx':function(_0x1f804f,_0x40f2e5){return _0x1f804f===_0x40f2e5;},'rCNFy':'retry','WpzKT':_0x25c6df(0x17d),'QuSGX':_0x25c6df(0x18a)};if(!this[_0x25c6df(0x181)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x43b159=this['buildLockKey']({..._0x260060,'lockType':_0x23ec25[_0x25c6df(0x184)]}),_0x61c7ab=this[_0x25c6df(0x192)]({..._0x260060,'lockType':_0x23ec25[_0x25c6df(0x17f)]}),_0x348b28=this['generateLockValue']();try{const _0x5a10c8=redisClient['getClient']();if(_0x23ec25['TZZBw'](this[_0x25c6df(0x19d)],_0x25c6df(0x15e))){const _0x1598f3=await _0x5a10c8['set'](_0x43b159,_0x348b28,'EX',this['defaultTTL'],'NX');if(_0x23ec25['TZZBw'](_0x1598f3,'OK'))return logger['debug']({'event':_0x25c6df(0x157),'key':_0x43b159,'value':_0x348b28,'strategy':_0x25c6df(0x15e)},_0x23ec25['CztCD']),{'success':!![],'lockValue':_0x348b28,'lockKey':_0x43b159};return logger['debug']({'event':_0x25c6df(0x1aa),'key':_0x43b159},'WRITE\x20lock\x20rejected\x20-\x20record\x20busy'),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x43a64e=0x0;_0x23ec25['XNeyc'](_0x43a64e,this['retryCount']);_0x43a64e++){const [_0x56e7cb,_0xa65798]=await Promise['all']([_0x5a10c8['get'](_0x61c7ab),_0x5a10c8[_0x25c6df(0x198)](_0x43b159)]);if(!_0xa65798&&(!_0x56e7cb||_0x23ec25[_0x25c6df(0x16d)](parseInt(_0x56e7cb),0x0))){const _0x359142=await _0x5a10c8['set'](_0x43b159,_0x348b28,'EX',this['defaultTTL'],'NX');if(_0x23ec25[_0x25c6df(0x18c)](_0x359142,'OK'))return logger[_0x25c6df(0x14e)]({'event':'write_lock_acquired','key':_0x43b159,'value':_0x348b28,'strategy':_0x23ec25[_0x25c6df(0x156)]},_0x23ec25['WpzKT']),{'success':!![],'lockValue':_0x348b28,'lockKey':_0x43b159};}logger[_0x25c6df(0x14e)]({'event':_0x25c6df(0x165),'writeKey':_0x43b159,'readCount':_0x56e7cb,'attempt':_0x43a64e},'Waiting\x20for\x20locks\x20to\x20release'),await this[_0x25c6df(0x172)](this[_0x25c6df(0x176)]*Math['pow'](0x2,_0x43a64e));}return logger['warn']({'event':_0x25c6df(0x164),'key':_0x43b159},_0x25c6df(0x19e)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x4cc7b9){return logger[_0x25c6df(0x18e)]({'event':_0x23ec25[_0x25c6df(0x154)],'error':_0x4cc7b9[_0x25c6df(0x15d)]},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x1d7cff(0x185)](_0x4f20b7,_0x452029){const _0x4888c1=a0_0x1d7cff,_0x11be30={'zIjRv':function(_0x2993cf,_0x244179){return _0x2993cf>_0x244179;},'nXeuQ':function(_0x51fdf8,_0x4ebca8){return _0x51fdf8===_0x4ebca8;},'YDVcL':_0x4888c1(0x155),'EMyuJ':_0x4888c1(0x162)};if(!this['enabled']||!_0x4f20b7)return!![];try{const _0x4be754=redisClient['getClient']();if(_0x4f20b7['includes'](':read:')){await _0x4be754[_0x4888c1(0x179)](_0x4f20b7);const _0x365152=_0x4f20b7['substring'](0x0,_0x4f20b7['lastIndexOf'](':')),_0x427f91=await _0x4be754[_0x4888c1(0x198)](_0x365152);return _0x427f91&&_0x11be30[_0x4888c1(0x1a9)](parseInt(_0x427f91),0x0)&&await _0x4be754[_0x4888c1(0x19c)](_0x365152),logger[_0x4888c1(0x14e)]({'event':'read_lock_released','key':_0x4f20b7},'READ\x20lock\x20released'),!![];}const _0x280a81=_0x4888c1(0x16b),_0x18b560=await _0x4be754['eval'](_0x280a81,0x1,_0x4f20b7,_0x452029);if(_0x11be30['nXeuQ'](_0x18b560,0x1))return logger['debug']({'event':_0x11be30['YDVcL'],'key':_0x4f20b7},_0x4888c1(0x193)),!![];return logger[_0x4888c1(0x15c)]({'event':'lock_release_not_owner','key':_0x4f20b7},_0x11be30['EMyuJ']),![];}catch(_0x48a7fb){return logger['error']({'event':_0x4888c1(0x161),'key':_0x4f20b7,'error':_0x48a7fb[_0x4888c1(0x15d)]},_0x4888c1(0x19b)),![];}}async[a0_0x1d7cff(0x16c)](_0x138639,_0xc71462,_0x467bb5=null){const _0x56ff98=a0_0x1d7cff,_0x3d049d={'eEqRN':function(_0x23f553,_0x2ca3f5){return _0x23f553===_0x2ca3f5;},'VWGbg':_0x56ff98(0x16a),'hGfxk':'lock_extend_error'};if(!this['enabled']||!_0x138639)return!![];try{const _0x498376=redisClient[_0x56ff98(0x163)](),_0x576a62='\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',_0x17edc2=await _0x498376[_0x56ff98(0x168)](_0x576a62,0x1,_0x138639,_0xc71462,_0x467bb5||this['defaultTTL']);if(_0x3d049d[_0x56ff98(0x1a5)](_0x17edc2,0x1))return logger[_0x56ff98(0x14e)]({'event':_0x3d049d[_0x56ff98(0x14d)],'key':_0x138639,'ttl':_0x467bb5||this['defaultTTL']},'Lock\x20TTL\x20extended'),!![];return![];}catch(_0x33229d){return logger[_0x56ff98(0x18e)]({'event':_0x3d049d[_0x56ff98(0x175)],'key':_0x138639,'error':_0x33229d['message']},_0x56ff98(0x170)),![];}}[a0_0x1d7cff(0x1a2)](){const _0x1473d0=a0_0x1d7cff;return this[_0x1473d0(0x181)];}[a0_0x1d7cff(0x172)](_0x10952f){return new Promise(_0x2acf90=>setTimeout(_0x2acf90,_0x10952f));}async[a0_0x1d7cff(0x17a)](_0x402c67){const _0x2d6743=a0_0x1d7cff,_0x284b26={'cGMaM':_0x2d6743(0x151),'qkdsK':function(_0x154883,_0x363a3e){return _0x154883(_0x363a3e);}};if(!this[_0x2d6743(0x181)])return{'enabled':![]};try{const _0x2ae206=redisClient[_0x2d6743(0x163)](),_0x3cacdd=this[_0x2d6743(0x192)]({..._0x402c67,'lockType':'write'}),_0xdd515f=this[_0x2d6743(0x192)]({..._0x402c67,'lockType':_0x284b26[_0x2d6743(0x158)]}),[_0xad77d5,_0x3c0c1d]=await Promise[_0x2d6743(0x153)]([_0x2ae206[_0x2d6743(0x198)](_0x3cacdd),_0x2ae206[_0x2d6743(0x198)](_0xdd515f)]);return{'enabled':!![],'writeLock':_0xad77d5||null,'readCount':_0x284b26['qkdsK'](parseInt,_0x3c0c1d)||0x0,'writeKey':_0x3cacdd,'readKey':_0xdd515f};}catch(_0x818400){return{'enabled':!![],'error':_0x818400['message']};}}}module[a0_0x1d7cff(0x16f)]=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_0x3a7d81=a0_0x4042;(function(_0x1df0dc,_0x3738fa){const _0x5a24f1=a0_0x4042,_0x3effc0=_0x1df0dc();while(!![]){try{const _0x47f6d6=-parseInt(_0x5a24f1(0x1fa))/0x1*(parseInt(_0x5a24f1(0x232))/0x2)+-parseInt(_0x5a24f1(0x263))/0x3+-parseInt(_0x5a24f1(0x265))/0x4+parseInt(_0x5a24f1(0x21b))/0x5+-parseInt(_0x5a24f1(0x28f))/0x6+parseInt(_0x5a24f1(0x1ef))/0x7+parseInt(_0x5a24f1(0x26f))/0x8*(parseInt(_0x5a24f1(0x20d))/0x9);if(_0x47f6d6===_0x3738fa)break;else _0x3effc0['push'](_0x3effc0['shift']());}catch(_0x5b3cf3){_0x3effc0['push'](_0x3effc0['shift']());}}}(a0_0x48ca,0x1c20e));const pino=require('pino'),fs=require('fs'),path=require(a0_0x3a7d81(0x275));let logToFile=![],logDir='./logs',serviceName=a0_0x3a7d81(0x27b),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':a0_0x3a7d81(0x28b),'hideObject':!![]},isDevelopment=process['env'][a0_0x3a7d81(0x26a)]!==a0_0x3a7d81(0x28d),logLevel=process[a0_0x3a7d81(0x2a5)]['LOG_LEVEL']||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x3a7d81(0x27b),'version':process[a0_0x3a7d81(0x2a5)]['APP_VERSION']||'1.0.5','env':process[a0_0x3a7d81(0x2a5)][a0_0x3a7d81(0x26a)]||'development'},'timestamp':pino[a0_0x3a7d81(0x257)][a0_0x3a7d81(0x21a)],'redact':{'paths':[a0_0x3a7d81(0x279),a0_0x3a7d81(0x29f),a0_0x3a7d81(0x278),'token',a0_0x3a7d81(0x261),a0_0x3a7d81(0x282),'JWT_SECRET'],'censor':'[REDACTED]'},'serializers':{'req':_0xbeb216=>({'id':_0xbeb216['id'],'method':_0xbeb216['method'],'url':_0xbeb216[a0_0x3a7d81(0x25f)],'path':_0xbeb216[a0_0x3a7d81(0x275)],'remoteAddress':_0xbeb216['ip']||_0xbeb216['connection']?.['remoteAddress']}),'res':_0xc15408=>({'statusCode':_0xc15408[a0_0x3a7d81(0x260)],'headers':_0xc15408[a0_0x3a7d81(0x1f2)]?.()}),'err':pino[a0_0x3a7d81(0x213)][a0_0x3a7d81(0x293)]}});function initFileLogging(){const _0x10eb64=a0_0x3a7d81,_0x1cf54c={'ZuWVz':'default','HgLTJ':_0x10eb64(0x2a2),'lQYWE':function(_0x238a16,_0x122931){return _0x238a16!==_0x122931;},'CouRm':function(_0x410595,_0x362688){return _0x410595(_0x362688);},'QlwfD':_0x10eb64(0x280),'TkYhJ':'error.log','GCYnC':_0x10eb64(0x203)};if(fileLoggingInitialized)return;logToFile=process['env']['LOG_TO_FILE']===_0x10eb64(0x20e);const _0x1ae443=process[_0x10eb64(0x2a5)][_0x10eb64(0x216)]||_0x1cf54c['ZuWVz'];logDir=process['env'][_0x10eb64(0x27c)]||_0x10eb64(0x24b)+_0x1ae443,serviceName=process['env']['SERVICE_NAME']||'restforge',sqlLogEnabled=process[_0x10eb64(0x2a5)][_0x10eb64(0x22f)]===_0x10eb64(0x20e),sqlLogLevel=process[_0x10eb64(0x2a5)][_0x10eb64(0x22e)]||_0x1cf54c[_0x10eb64(0x1f0)],sqlLogParams=_0x1cf54c['lQYWE'](process[_0x10eb64(0x2a5)]['SQL_LOG_PARAMS'],'false'),sqlLogSlowThreshold=_0x1cf54c[_0x10eb64(0x2a3)](parseInt,process[_0x10eb64(0x2a5)][_0x10eb64(0x272)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x2a4ec8=path[_0x10eb64(0x21e)](process['cwd'](),logDir);try{!fs[_0x10eb64(0x27a)](_0x2a4ec8)&&fs[_0x10eb64(0x28a)](_0x2a4ec8,{'recursive':!![]});}catch(_0x372c18){console[_0x10eb64(0x259)](_0x10eb64(0x266)+_0x2a4ec8+':',_0x372c18['message']),fileLoggingInitialized=!![];return;}const _0x5dd9ac=path[_0x10eb64(0x28e)](_0x2a4ec8,_0x1cf54c[_0x10eb64(0x24d)]),_0x408859=path[_0x10eb64(0x28e)](_0x2a4ec8,_0x1cf54c['TkYhJ']);try{appLogStream=fs[_0x10eb64(0x251)](_0x5dd9ac,{'flags':'a'}),errorLogStream=fs[_0x10eb64(0x251)](_0x408859,{'flags':'a'}),fileLoggingInitialized=!![];const _0x17f01e={'event':_0x10eb64(0x252),'logDir':_0x2a4ec8,'files':[_0x1cf54c[_0x10eb64(0x24d)],_0x1cf54c[_0x10eb64(0x258)]]},_0x7931c6=_0x10eb64(0x2a9)+_0x2a4ec8;logger[_0x10eb64(0x203)](_0x17f01e,_0x7931c6),writeToFileLog({..._0x17f01e,'level':_0x1cf54c['GCYnC'],'msg':_0x7931c6,'time':new Date()[_0x10eb64(0x1f8)]()},_0x1cf54c['GCYnC']);}catch(_0x5a4d2e){console['error'](_0x10eb64(0x215),_0x5a4d2e['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x13e04a,_0x4e9c51){const _0x135736=a0_0x3a7d81,_0x407a7b={'vAjjC':function(_0x331492,_0x3e9db4){return _0x331492||_0x3e9db4;},'pTQCA':function(_0x4d3af1,_0x10545b){return _0x4d3af1+_0x10545b;},'AZMSR':function(_0x3f2e40,_0x27828d){return _0x3f2e40===_0x27828d;}};if(_0x407a7b['vAjjC'](!logToFile,!appLogStream))return;const _0x59950b={'service':serviceName,..._0x13e04a},_0x12db9e=_0x407a7b[_0x135736(0x270)](JSON['stringify'](_0x59950b),'\x0a');appLogStream[_0x135736(0x202)](_0x12db9e),(_0x407a7b[_0x135736(0x283)](_0x4e9c51,'error')||_0x4e9c51==='fatal')&&(errorLogStream&&errorLogStream[_0x135736(0x202)](_0x12db9e));}const createRequestLogger=(_0x21ceae={})=>{const _0x227830=a0_0x3a7d81;return logger[_0x227830(0x248)](_0x21ceae);},logServerStart=_0x4af416=>{const _0x3ed56b=a0_0x3a7d81,_0x201905={'cgOmu':_0x3ed56b(0x284),'tsRmX':_0x3ed56b(0x21c),'NDiSa':'N/A','KvMie':'ACTIVE','Sbwsf':_0x3ed56b(0x203)},_0x334b65=_0x201905[_0x3ed56b(0x247)],_0x40e81e=Math[_0x3ed56b(0x204)](0x0,0x37-_0x334b65[_0x3ed56b(0x243)]),_0x188a60=Math['floor'](_0x40e81e/0x2),_0x14dda3=_0x40e81e-_0x188a60,_0x3b75d4='║'+'\x20'['repeat'](_0x188a60)+_0x334b65+'\x20'['repeat'](_0x14dda3)+'║',_0x649d14=_0x3ed56b(0x231)+_0x3b75d4+_0x3ed56b(0x1f5)+(_0x4af416[_0x3ed56b(0x25b)]||_0x201905['tsRmX'])[_0x3ed56b(0x256)](0x26)+_0x3ed56b(0x29e)+(_0x4af416[_0x3ed56b(0x271)]||_0x201905['NDiSa'])[_0x3ed56b(0x256)](0x26)+_0x3ed56b(0x298)+String(_0x4af416[_0x3ed56b(0x241)]||0xbb8)['padEnd'](0x26)+_0x3ed56b(0x239)+(_0x4af416['configFile']||_0x3ed56b(0x2ac))[_0x3ed56b(0x256)](0x26)+_0x3ed56b(0x23e)+(_0x4af416[_0x3ed56b(0x261)]?_0x201905['KvMie']:'NOT\x20ACTIVE')['padEnd'](0x26)+_0x3ed56b(0x225);console['log'](_0x649d14);const _0x4765af={'event':'server_starting','project':_0x4af416[_0x3ed56b(0x271)],'port':_0x4af416['port'],'config':_0x4af416['configFile'],'apiKeyEnabled':!!_0x4af416['apiKey']};logger[_0x3ed56b(0x203)](_0x4765af),writeToFileLog({..._0x4765af,'level':_0x3ed56b(0x203),'msg':'Server\x20starting:\x20'+_0x4af416['project']+'\x20on\x20port\x20'+_0x4af416['port'],'time':new Date()[_0x3ed56b(0x1f8)]()},_0x201905['Sbwsf']);},logServerReady=_0x7aa829=>{const _0x25b358=a0_0x3a7d81,_0xc74fc9={'RoBKX':_0x25b358(0x2ad)},_0x386b08={'event':_0xc74fc9[_0x25b358(0x222)],'port':_0x7aa829['port'],'module':_0x7aa829['module'],'healthCheck':_0x7aa829['healthCheck'],'serviceInfo':_0x7aa829[_0x25b358(0x285)],'baseUrl':_0x7aa829['baseUrl']},_0x4d72eb='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x7aa829['port'];logger['info'](_0x386b08,_0x4d72eb),writeToFileLog({..._0x386b08,'level':_0x25b358(0x203),'msg':_0x4d72eb,'time':new Date()[_0x25b358(0x1f8)]()},_0x25b358(0x203)),_0x7aa829[_0x25b358(0x228)]&&logger['info']('\x20\x20Health:\x20'+_0x7aa829[_0x25b358(0x228)]),_0x7aa829['serviceInfo']&&logger[_0x25b358(0x203)]('\x20\x20Info:\x20\x20\x20'+_0x7aa829['serviceInfo']),_0x7aa829['baseUrl']&&logger[_0x25b358(0x203)]('\x20\x20URL:\x20\x20\x20\x20'+_0x7aa829['baseUrl']);},logProjectLoaded=(_0x1b7787,_0x415193)=>{const _0x5bd080=a0_0x3a7d81,_0x51fbe2={'RcoPv':_0x5bd080(0x203)},_0x4b9690={'event':'project_loaded','project':_0x1b7787,'path':_0x415193},_0x1a4cd0=_0x5bd080(0x234)+_0x1b7787;logger[_0x5bd080(0x203)](_0x4b9690,_0x1a4cd0),writeToFileLog({..._0x4b9690,'level':'info','msg':_0x1a4cd0,'time':new Date()['toISOString']()},_0x51fbe2['RcoPv']);},logEndpointRegistered=(_0x45e0d2,_0x1eef40)=>{const _0x400096=a0_0x3a7d81,_0x1b19b8={'event':_0x400096(0x24e),'endpoint':_0x45e0d2,'route':_0x1eef40},_0x29496d='\x20\x20→\x20'+_0x45e0d2+':\x20'+_0x1eef40;logger['debug'](_0x1b19b8,_0x29496d),writeToFileLog({..._0x1b19b8,'level':'debug','msg':_0x29496d,'time':new Date()[_0x400096(0x1f8)]()},'debug');},logDatabaseConfig=_0x5674c8=>{const _0x432d64=a0_0x3a7d81,_0x12821e={'QloKW':'database_config','qHxZB':'debug'},_0x49303c={'event':_0x12821e[_0x432d64(0x287)],'host':_0x5674c8[_0x432d64(0x297)],'port':_0x5674c8[_0x432d64(0x241)],'database':_0x5674c8['database'],'type':_0x5674c8[_0x432d64(0x274)],'user':_0x5674c8['user']},_0x233182=_0x432d64(0x291)+_0x5674c8[_0x432d64(0x274)]+_0x432d64(0x25c)+_0x5674c8[_0x432d64(0x297)]+':'+_0x5674c8[_0x432d64(0x241)]+'/'+_0x5674c8[_0x432d64(0x288)];logger['debug'](_0x49303c,_0x233182),writeToFileLog({..._0x49303c,'level':'debug','msg':_0x233182,'time':new Date()[_0x432d64(0x1f8)]()},_0x12821e['qHxZB']);},logRequest=(_0x2a1985,_0x53fa2c,_0x23da15)=>{const _0x3c0010=a0_0x3a7d81,_0x12d33f={'rOcut':'http_request','FYVks':_0x3c0010(0x203),'uXZeM':function(_0x477839,_0x201102){return _0x477839>=_0x201102;},'bcQHc':_0x3c0010(0x259),'QoqeR':function(_0x4aa2b2,_0x558f20){return _0x4aa2b2>=_0x558f20;},'GXilL':'warn'},_0xea32f0={'event':_0x12d33f[_0x3c0010(0x208)],'method':_0x2a1985[_0x3c0010(0x1f1)],'path':_0x2a1985['path'],'statusCode':_0x53fa2c[_0x3c0010(0x260)],'durationMs':_0x23da15,'ip':_0x2a1985['ip']},_0x2d9826=_0x2a1985['method']+'\x20'+_0x2a1985[_0x3c0010(0x275)]+_0x3c0010(0x224)+_0x53fa2c['statusCode']+'\x20('+_0x23da15+'ms)';let _0x33f3e7=_0x12d33f['FYVks'];if(_0x12d33f['uXZeM'](_0x53fa2c['statusCode'],0x1f4))_0x33f3e7=_0x12d33f[_0x3c0010(0x201)],logger['error'](_0xea32f0,_0x2d9826);else _0x12d33f[_0x3c0010(0x238)](_0x53fa2c['statusCode'],0x190)?(_0x33f3e7=_0x12d33f['GXilL'],logger['warn'](_0xea32f0,_0x2d9826)):logger['info'](_0xea32f0,_0x2d9826);writeToFileLog({..._0xea32f0,'level':_0x33f3e7,'msg':_0x2d9826,'time':new Date()['toISOString']()},_0x33f3e7);},SENSITIVE_PARAM_PATTERNS=[a0_0x3a7d81(0x278),a0_0x3a7d81(0x29d),a0_0x3a7d81(0x26d),a0_0x3a7d81(0x25e),'access_token','refresh_token','secret','api_secret',a0_0x3a7d81(0x1f6),'api_key','credential','credentials','pin',a0_0x3a7d81(0x26c),'private_key',a0_0x3a7d81(0x1fb)],redactSensitiveParams=(_0x1627f9,_0x38b7bd)=>{const _0x3f7995=a0_0x3a7d81,_0x55020a={'RLGpd':function(_0x167303,_0x1795a4){return _0x167303===_0x1795a4;},'xTiLX':_0x3f7995(0x296),'XZoHh':function(_0x55e0e4,_0x5ceac8){return _0x55e0e4>_0x5ceac8;},'jhHwO':'[REDACTED:hash]','jFaew':function(_0x16cbb6,_0x178f56){return _0x16cbb6===_0x178f56;}};if(!_0x1627f9||_0x55020a['jFaew'](_0x1627f9['length'],0x0))return _0x1627f9;const _0x41ce21=_0x38b7bd[_0x3f7995(0x21d)](),_0x4dbf25=_0x41ce21[_0x3f7995(0x264)](/\(([^)]+)\)\s*values/i);let _0x10dc7e=[];_0x4dbf25&&(_0x10dc7e=_0x4dbf25[0x1]['split'](',')['map'](_0xb6dabf=>_0xb6dabf[_0x3f7995(0x2aa)]()['toLowerCase']()));const _0x3dcc5f=_0x41ce21[_0x3f7995(0x264)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x3dcc5f){const _0xec2f38=_0x3dcc5f[0x1],_0x395e52=_0xec2f38[_0x3f7995(0x264)](/(\w+)\s*=/g);_0x395e52&&(_0x10dc7e=_0x395e52['map'](_0x23966a=>_0x23966a['replace'](/\s*=/,'')[_0x3f7995(0x2aa)]()[_0x3f7995(0x21d)]()));}return _0x1627f9['map']((_0x5a41e7,_0x503a07)=>{const _0x114a39=_0x3f7995;if(_0x10dc7e[_0x503a07]){const _0x231dc2=_0x10dc7e[_0x503a07],_0x15b586=SENSITIVE_PARAM_PATTERNS[_0x114a39(0x2a4)](_0x50bb49=>_0x231dc2[_0x114a39(0x212)](_0x50bb49));if(_0x15b586)return'[REDACTED]';}if(_0x55020a['RLGpd'](typeof _0x5a41e7,_0x55020a[_0x114a39(0x269)])&&_0x55020a['XZoHh'](_0x5a41e7['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x114a39(0x25a)](_0x5a41e7)&&_0x5a41e7['includes']('.'))return _0x114a39(0x2ae);if(/^[a-fA-F0-9]{32,}$/['test'](_0x5a41e7))return _0x55020a[_0x114a39(0x200)];}return _0x5a41e7;});},parseQueryMetadata=_0x3a3091=>{const _0x1e7add=a0_0x3a7d81,_0x2ba153={'mATXW':_0x1e7add(0x2b0),'abJAP':_0x1e7add(0x254),'CGwKy':'INSERT','GKPHr':_0x1e7add(0x1f9),'cfDXl':'DELETE','ZlSTd':_0x1e7add(0x295),'CGMAm':_0x1e7add(0x20b),'XJRby':_0x1e7add(0x206),'gijAq':_0x1e7add(0x27d),'Flgvv':_0x1e7add(0x2a8),'YRdbg':_0x1e7add(0x289),'CzxLq':'DROP'},_0x3e563e=_0x3a3091[_0x1e7add(0x2aa)](),_0x37c3aa=_0x3e563e['toUpperCase']();let _0x2d166e=_0x2ba153[_0x1e7add(0x1fc)],_0x3a645d=null;if(_0x37c3aa[_0x1e7add(0x236)](_0x2ba153['abJAP'])){_0x2d166e=_0x1e7add(0x254);const _0x10cdf1=_0x3e563e[_0x1e7add(0x264)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a645d=_0x10cdf1?_0x10cdf1[0x1]:null;}else{if(_0x37c3aa['startsWith'](_0x2ba153[_0x1e7add(0x219)])){_0x2d166e=_0x2ba153[_0x1e7add(0x219)];const _0x5dc3f6=_0x3e563e[_0x1e7add(0x264)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a645d=_0x5dc3f6?_0x5dc3f6[0x1]:null;}else{if(_0x37c3aa[_0x1e7add(0x236)](_0x2ba153['GKPHr'])){_0x2d166e=_0x2ba153[_0x1e7add(0x2a6)];const _0x5c4d19=_0x3e563e['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a645d=_0x5c4d19?_0x5c4d19[0x1]:null;}else{if(_0x37c3aa[_0x1e7add(0x236)](_0x2ba153['cfDXl'])){_0x2d166e=_0x2ba153['cfDXl'];const _0x35af49=_0x3e563e[_0x1e7add(0x264)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a645d=_0x35af49?_0x35af49[0x1]:null;}else{if(_0x37c3aa[_0x1e7add(0x236)](_0x2ba153[_0x1e7add(0x1f7)])||_0x37c3aa['startsWith'](_0x2ba153['CGMAm']))_0x2d166e=_0x1e7add(0x214);else{if(_0x37c3aa['startsWith'](_0x1e7add(0x210)))_0x2d166e=_0x1e7add(0x286);else{if(_0x37c3aa['startsWith']('ROLLBACK'))_0x2d166e=_0x2ba153[_0x1e7add(0x242)];else{if(_0x37c3aa[_0x1e7add(0x236)]('CREATE'))_0x2d166e=_0x2ba153[_0x1e7add(0x230)];else{if(_0x37c3aa[_0x1e7add(0x236)](_0x2ba153[_0x1e7add(0x21f)]))_0x2d166e=_0x2ba153['YRdbg'];else _0x37c3aa['startsWith'](_0x2ba153[_0x1e7add(0x25d)])&&(_0x2d166e=_0x1e7add(0x290));}}}}}}}}return{'type':_0x2d166e,'table':_0x3a645d};},startQueryTimer=()=>{const _0x265df3={'DXmlM':function(_0x42a834,_0x131a3a){return _0x42a834+_0x131a3a;},'myBUt':function(_0x1bc4a7,_0x570194){return _0x1bc4a7/_0x570194;}},_0x23a9e1=process['hrtime']();return()=>{const _0x37fabd=a0_0x4042,[_0x588e74,_0x2407a2]=process[_0x37fabd(0x23c)](_0x23a9e1);return parseFloat(_0x265df3['DXmlM'](_0x588e74*0x3e8,_0x265df3[_0x37fabd(0x262)](_0x2407a2,0xf4240))['toFixed'](0x2));};},logQuery=(_0x1b1af6,_0x4c5ea8=[],_0x4b656b={})=>{const _0x50e0f4=a0_0x3a7d81,_0x5a6d64={'rDGgz':'db_query','nNPsg':'postgresql','XknUq':function(_0x2034f9,_0x275193){return _0x2034f9(_0x275193);},'RpShA':function(_0x23597e,_0x40f74f,_0x2853f9){return _0x23597e(_0x40f74f,_0x2853f9);},'AYEWn':function(_0x300897,_0x4664c3){return _0x300897>_0x4664c3;},'qvZDH':function(_0x7bb1c,_0x1ffa30){return _0x7bb1c||_0x1ffa30;},'aoYfr':function(_0x766697,_0x2b1887){return _0x766697!==_0x2b1887;},'PJFvi':_0x50e0f4(0x20f),'EXOYj':_0x50e0f4(0x203)};if(!sqlLogEnabled){logger[_0x50e0f4(0x2a2)]({'event':_0x5a6d64['rDGgz'],'query':_0x1b1af6[_0x50e0f4(0x1ed)](0x0,0xc8),'paramCount':_0x4c5ea8[_0x50e0f4(0x243)]},'DB\x20Query');return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x5a6d64[_0x50e0f4(0x221)]}=_0x4b656b,{type:_0xbce4c4,table:_0xe9c3f3}=_0x5a6d64['XknUq'](parseQueryMetadata,_0x1b1af6),_0x2dfa1a={'event':_0x50e0f4(0x273),'queryType':_0xbce4c4,'table':_0xe9c3f3,'query':_0x1b1af6,'paramCount':_0x4c5ea8['length'],'dbType':dbType};sqlLogParams&&_0x4c5ea8['length']>0x0&&(_0x2dfa1a[_0x50e0f4(0x29a)]=_0x5a6d64[_0x50e0f4(0x27f)](redactSensitiveParams,_0x4c5ea8,_0x1b1af6));duration!==null&&(_0x2dfa1a['durationMs']=duration,_0x2dfa1a[_0x50e0f4(0x205)]=_0x5a6d64['AYEWn'](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x2dfa1a[_0x50e0f4(0x20c)]=rowsAffected);const _0x7b9346=_0x5a6d64['qvZDH'](_0xe9c3f3,'unknown');let _0x3593a9='['+_0xbce4c4+']\x20'+_0x7b9346;duration!==null&&(_0x3593a9+='\x20('+duration+'ms)');const _0x3d6ff9=_0x5a6d64[_0x50e0f4(0x207)](duration,null)&&_0x5a6d64['AYEWn'](duration,sqlLogSlowThreshold);let _0x2d0d39='debug';if(_0x3d6ff9)_0x3593a9+=_0x50e0f4(0x229),_0x2d0d39=_0x5a6d64[_0x50e0f4(0x24f)],logger['warn'](_0x2dfa1a,_0x3593a9);else sqlLogLevel===_0x5a6d64[_0x50e0f4(0x255)]?(_0x2d0d39=_0x50e0f4(0x203),logger[_0x50e0f4(0x203)](_0x2dfa1a,_0x3593a9)):logger[_0x50e0f4(0x2a2)](_0x2dfa1a,_0x3593a9);_0x5a6d64['RpShA'](writeToFileLog,{..._0x2dfa1a,'level':_0x2d0d39,'msg':_0x3593a9,'time':new Date()['toISOString']()},_0x2d0d39);},logTransaction=(_0x37cafe,_0x5efa9d)=>{const _0x5ba178=a0_0x3a7d81,_0x5e356b={'MOtzo':function(_0x146d4e,_0x1fe51f,_0x41c5de){return _0x146d4e(_0x1fe51f,_0x41c5de);},'FJQCx':_0x5ba178(0x2a2)},_0x4bca3c={'event':_0x5ba178(0x1ee),'status':_0x37cafe,'queryCount':_0x5efa9d},_0x74812b='Transaction\x20'+_0x37cafe;logger[_0x5ba178(0x2a2)](_0x4bca3c,_0x74812b),_0x5e356b['MOtzo'](writeToFileLog,{..._0x4bca3c,'level':_0x5e356b['FJQCx'],'msg':_0x74812b,'time':new Date()[_0x5ba178(0x1f8)]()},'debug');},redactObject=_0x442b89=>{const _0x2e8487=a0_0x3a7d81,_0xb6a91f={'Vjcxs':function(_0x219ca8,_0x4a24c5){return _0x219ca8!==_0x4a24c5;},'pIiln':'object','WpPbn':'pwd','nAWsp':'token','tdCJT':'apikey','ItjXA':'authorization','MEIwv':'credit_card','FtTCl':_0x2e8487(0x268),'xLpwk':_0x2e8487(0x276),'DgJib':_0x2e8487(0x246),'XnkPE':function(_0x107f5e,_0x46cdce){return _0x107f5e===_0x46cdce;},'DrGdl':function(_0x16116f,_0x5c3e7a){return _0x16116f(_0x5c3e7a);}};if(!_0x442b89||_0xb6a91f['Vjcxs'](typeof _0x442b89,_0xb6a91f[_0x2e8487(0x1f3)]))return _0x442b89;const _0x30cd71=['password',_0x2e8487(0x29d),_0xb6a91f[_0x2e8487(0x244)],_0xb6a91f['nAWsp'],_0x2e8487(0x2a1),_0xb6a91f['tdCJT'],'api_key',_0xb6a91f['ItjXA'],_0x2e8487(0x2a0),_0xb6a91f[_0x2e8487(0x250)],_0x2e8487(0x249),'ssn',_0x2e8487(0x227),_0xb6a91f[_0x2e8487(0x1fe)],'privatekey',_0xb6a91f[_0x2e8487(0x211)],_0x2e8487(0x277)],_0x1a57de=Array[_0x2e8487(0x240)](_0x442b89)?[..._0x442b89]:{..._0x442b89};for(const _0x1e72e2 of Object[_0x2e8487(0x28c)](_0x1a57de)){const _0x148a53=_0x1e72e2[_0x2e8487(0x21d)]();if(_0x30cd71['some'](_0x4b4f28=>_0x148a53[_0x2e8487(0x212)](_0x4b4f28)))_0x1a57de[_0x1e72e2]=_0xb6a91f[_0x2e8487(0x26e)];else _0xb6a91f[_0x2e8487(0x2af)](typeof _0x1a57de[_0x1e72e2],_0x2e8487(0x22b))&&_0x1a57de[_0x1e72e2]!==null&&(_0x1a57de[_0x1e72e2]=_0xb6a91f[_0x2e8487(0x1f4)](redactObject,_0x1a57de[_0x1e72e2]));}return _0x1a57de;},logError=(_0x1af1d2,_0x52dec7={},_0x17e832=null)=>{const _0x23b139=a0_0x3a7d81,_0x5f225b={'zNlsH':_0x23b139(0x259)},_0xd5c66c={'event':_0x5f225b[_0x23b139(0x209)],'errorName':_0x1af1d2[_0x23b139(0x2a7)]||'Error','errorMessage':_0x1af1d2['message'],'errorCode':_0x1af1d2['code']||null,'stack':_0x1af1d2[_0x23b139(0x217)],..._0x52dec7},_0x2911b2=_0x17e832||'Error:\x20'+_0x1af1d2['message'];logger['error'](_0xd5c66c,_0x2911b2),writeToFileLog({..._0xd5c66c,'level':_0x5f225b['zNlsH'],'msg':_0x2911b2,'time':new Date()[_0x23b139(0x1f8)]()},'error');},logFatalError=(_0x2a9430,_0x591390={},_0x5a19d1=null)=>{const _0x2fcfc1=a0_0x3a7d81,_0x3cee5d={'UzJGC':'Error','LDaKW':'CRITICAL','kuZfe':function(_0x26a90e,_0x5b4e2f,_0x2942e0){return _0x26a90e(_0x5b4e2f,_0x2942e0);},'lPrdP':'error'},_0x296df1={'event':'fatal_error','errorName':_0x2a9430['name']||_0x3cee5d[_0x2fcfc1(0x220)],'errorMessage':_0x2a9430['message'],'errorCode':_0x2a9430[_0x2fcfc1(0x22c)]||null,'stack':_0x2a9430['stack'],'severity':_0x3cee5d[_0x2fcfc1(0x24a)],..._0x591390},_0x23fa00=_0x5a19d1||_0x2fcfc1(0x292)+_0x2a9430[_0x2fcfc1(0x267)];logger[_0x2fcfc1(0x22d)](_0x296df1,_0x23fa00),_0x3cee5d['kuZfe'](writeToFileLog,{..._0x296df1,'level':_0x2fcfc1(0x22d),'msg':_0x23fa00,'time':new Date()['toISOString']()},_0x3cee5d['lPrdP']);},logHttpError=(_0x25c9b4,_0x5f0408,_0x3baeb3={})=>{const _0x2557c9=a0_0x3a7d81,_0x3376da={'zBbVN':_0x2557c9(0x23b),'XUdTz':_0x2557c9(0x29c),'kFvBS':function(_0x2a94dd,_0x587442){return _0x2a94dd(_0x587442);},'lMhOE':function(_0x93d952,_0x3fac0a,_0x1bf752){return _0x93d952(_0x3fac0a,_0x1bf752);},'aIasA':function(_0x4977bb,_0x1c8852){return _0x4977bb>=_0x1c8852;},'mIThX':'warn'},_0x21cb31={'event':'http_error','errorName':_0x25c9b4['name']||_0x2557c9(0x2ab),'errorMessage':_0x25c9b4['message'],'errorCode':_0x25c9b4[_0x2557c9(0x22c)]||_0x25c9b4['statusCode']||0x1f4,'stack':_0x25c9b4[_0x2557c9(0x217)],'method':_0x5f0408?.[_0x2557c9(0x1f1)],'url':_0x5f0408?.[_0x2557c9(0x25f)]||_0x5f0408?.[_0x2557c9(0x253)],'path':_0x5f0408?.['path'],'ip':_0x5f0408?.['ip']||_0x5f0408?.[_0x2557c9(0x23f)]?.[_0x2557c9(0x27e)],'userAgent':_0x5f0408?.['get']?.(_0x3376da[_0x2557c9(0x22a)]),'requestId':_0x5f0408?.['id']||_0x5f0408?.[_0x2557c9(0x245)]?.[_0x3376da[_0x2557c9(0x223)]],'body':_0x5f0408?.[_0x2557c9(0x24c)]?_0x3376da['kFvBS'](redactObject,_0x5f0408[_0x2557c9(0x24c)]):undefined,'query':_0x5f0408?.['query'],..._0x3baeb3},_0x55a848=_0x25c9b4['statusCode']||_0x25c9b4[_0x2557c9(0x218)]||0x1f4,_0x582efc=_0x2557c9(0x26b)+_0x55a848+':\x20'+_0x25c9b4[_0x2557c9(0x267)];_0x55a848>=0x1f4?logger[_0x2557c9(0x259)](_0x21cb31,_0x582efc):logger['warn'](_0x21cb31,_0x582efc),_0x3376da[_0x2557c9(0x233)](writeToFileLog,{..._0x21cb31,'level':_0x3376da['aIasA'](_0x55a848,0x1f4)?_0x2557c9(0x259):_0x3376da[_0x2557c9(0x1ff)],'msg':_0x582efc,'time':new Date()['toISOString']()},_0x55a848>=0x1f4?_0x2557c9(0x259):_0x2557c9(0x20f));},logUncaughtError=(_0x535ca5,_0x4fa7af)=>{const _0x5e7d7e=a0_0x3a7d81,_0x5765a6={'RmuTA':'CRITICAL','WYNFi':'fatal','Vzfrb':_0x5e7d7e(0x259)},_0x376f3f={'event':_0x535ca5,'errorName':_0x4fa7af?.[_0x5e7d7e(0x2a7)]||_0x5e7d7e(0x2ab),'errorMessage':_0x4fa7af?.['message']||String(_0x4fa7af),'errorCode':_0x4fa7af?.['code']||null,'stack':_0x4fa7af?.['stack'],'severity':_0x5765a6['RmuTA'],'processId':process['pid'],'memoryUsage':process[_0x5e7d7e(0x226)](),'uptime':process['uptime']()},_0x53d442='['+_0x535ca5['toUpperCase']()+']\x20'+(_0x4fa7af?.['message']||_0x4fa7af);logger[_0x5e7d7e(0x22d)](_0x376f3f,_0x53d442),writeToFileLog({..._0x376f3f,'level':_0x5765a6['WYNFi'],'msg':_0x53d442,'time':new Date()['toISOString']()},_0x5765a6['Vzfrb']);},setupGlobalErrorHandlers=()=>{const _0x202a1c=a0_0x3a7d81,_0x3b14d2={'NQwmc':function(_0x2cc304,_0x482e74,_0x1b7239){return _0x2cc304(_0x482e74,_0x1b7239);},'eAbYK':function(_0x4c732e,_0x48cc8a){return _0x4c732e instanceof _0x48cc8a;},'dVRpL':function(_0x344d71,_0x55d384){return _0x344d71(_0x55d384);},'TCFPi':function(_0x3629d9,_0x382bb9,_0x47c5e9){return _0x3629d9(_0x382bb9,_0x47c5e9);},'eHSLt':'uncaughtException','kJOgj':'unhandledRejection','fqsbL':_0x202a1c(0x235)};process['on'](_0x3b14d2[_0x202a1c(0x281)],_0x3239b0=>{const _0x5e1d24=_0x202a1c;_0x3b14d2[_0x5e1d24(0x1fd)](logUncaughtError,'uncaughtException',_0x3239b0),_0x3b14d2[_0x5e1d24(0x1fd)](setTimeout,()=>{const _0x918806=_0x5e1d24;process[_0x918806(0x23a)](0x1);},0x3e8);}),process['on'](_0x3b14d2['kJOgj'],(_0x4ba87a,_0x2fbf36)=>{const _0x2af3c9=_0x202a1c,_0x58b73a=_0x3b14d2['eAbYK'](_0x4ba87a,Error)?_0x4ba87a:new Error(_0x3b14d2['dVRpL'](String,_0x4ba87a));_0x3b14d2[_0x2af3c9(0x294)](logUncaughtError,'unhandledRejection',_0x58b73a);}),process['on'](_0x202a1c(0x29b),_0x281c1f=>{const _0xa88c04=_0x202a1c;logger['warn']({'event':'process_warning','name':_0x281c1f[_0xa88c04(0x2a7)],'message':_0x281c1f[_0xa88c04(0x267)],'stack':_0x281c1f['stack']},'Process\x20Warning:\x20'+_0x281c1f['message']);});const _0x39b56a={'event':_0x3b14d2[_0x202a1c(0x23d)]},_0x3de00f=_0x202a1c(0x299);logger['info'](_0x39b56a,_0x3de00f),writeToFileLog({..._0x39b56a,'level':_0x202a1c(0x203),'msg':_0x3de00f,'time':new Date()[_0x202a1c(0x1f8)]()},_0x202a1c(0x203));},createErrorHandlerMiddleware=()=>{const _0x6d85ab=a0_0x3a7d81,_0x5ac8f7={'OLkQX':function(_0x4e04d3,_0x23255f,_0x54475e){return _0x4e04d3(_0x23255f,_0x54475e);},'UVXoX':_0x6d85ab(0x29c)};return(_0x2677b2,_0x41e292,_0x5a79ac,_0xd94b28)=>{const _0x177de8=_0x6d85ab;_0x5ac8f7['OLkQX'](logHttpError,_0x2677b2,_0x41e292);const _0x211f29=_0x2677b2['statusCode']||_0x2677b2['status']||0x1f4;_0x5a79ac['status'](_0x211f29)['json']({'success':![],'error':_0x211f29>=0x1f4?_0x177de8(0x20a):_0x2677b2['message'],'requestId':_0x41e292['id']||_0x41e292[_0x177de8(0x245)]?.[_0x5ac8f7['UVXoX']]||null});};};module[a0_0x3a7d81(0x237)]={'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}};function a0_0x4042(_0x3ecbfd,_0x17e70e){_0x3ecbfd=_0x3ecbfd-0x1ed;const _0x48ca4a=a0_0x48ca();let _0x40423c=_0x48ca4a[_0x3ecbfd];if(a0_0x4042['qjIGUu']===undefined){var _0x12f715=function(_0x2131b4){const _0x2d1f01='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4fcfff='',_0x55e8f0='';for(let _0x45b89b=0x0,_0x24b475,_0x129b7c,_0x741d67=0x0;_0x129b7c=_0x2131b4['charAt'](_0x741d67++);~_0x129b7c&&(_0x24b475=_0x45b89b%0x4?_0x24b475*0x40+_0x129b7c:_0x129b7c,_0x45b89b++%0x4)?_0x4fcfff+=String['fromCharCode'](0xff&_0x24b475>>(-0x2*_0x45b89b&0x6)):0x0){_0x129b7c=_0x2d1f01['indexOf'](_0x129b7c);}for(let _0x9a0a6f=0x0,_0x3a1e0b=_0x4fcfff['length'];_0x9a0a6f<_0x3a1e0b;_0x9a0a6f++){_0x55e8f0+='%'+('00'+_0x4fcfff['charCodeAt'](_0x9a0a6f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x55e8f0);};a0_0x4042['jVlugj']=_0x12f715,a0_0x4042['fROylV']={},a0_0x4042['qjIGUu']=!![];}const _0x17a62f=_0x48ca4a[0x0],_0x506a45=_0x3ecbfd+_0x17a62f,_0x3fa585=a0_0x4042['fROylV'][_0x506a45];return!_0x3fa585?(_0x40423c=a0_0x4042['jVlugj'](_0x40423c),a0_0x4042['fROylV'][_0x506a45]=_0x40423c):_0x40423c=_0x3fa585,_0x40423c;}function a0_0x48ca(){const _0x55d460=['CMvMCMvZAf90B2TLBG','ywnJzxnZx3rVA2vU','CgfZC3DVCMq','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','zxHPC3rZu3LUyW','CMvZDgzVCMDL','te9hx0rjuG','rermx0nsrufurq','CMvTB3rLqwrKCMvZCW','uNbtAee','yxbWlMXVzW','zuHtthq','rejFueftu1DpuKq','qvPnu1i','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','C2vYDMLJzuLUzM8','vfjbtLnbq1rjt05Fq09ntuLu','uwXVs1C','zgf0ywjHC2u','rermx0fmvevs','BwTKAxjtEw5J','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','A2v5CW','ChjVzhvJDgLVBG','AM9PBG','nJmYodiWrMH0AKrN','rermx0rst1a','rgf0ywjHC2u6ia','rKfuquW6ia','zxjY','vengugK','qKvhsu4','C3rYAw5N','Ag9ZDa','iokvKqRILzeGifbVCNqGicaGicaGidOG','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','CgfYyw1Z','D2fYBMLUzW','Ec1Yzxf1zxn0lwLK','CgfZC3DK','iokvKqRILzeGifbYB2PLy3qGicaGidOG','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','y3jLzgL0y2fYza','C2vJCMv0','zgvIDwC','q291uM0','C29Tzq','zw52','r0Tqshi','BMfTzq','quXurvi','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','DhjPBq','rxjYB3i','rgvMyxvSDa','C2vYDMvYx3jLywr5','w1jfrefdveveoNrVA2vUxq','wg5Rueu','vu5ltK9xtG','C3vIC3rYAw5N','zgjFDhjHBNnHy3rPB24','mZG4nduXvMXqswDv','sgDmveO','Bwv0Ag9K','z2v0sgvHzgvYCW','CeLPBg4','rhjhzgW','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','yxbPA2v5','wMXtvgq','Dg9ju09tDhjPBMC','vvbeqvrf','mti3BxPdEhLm','ChjPDMf0zwTLEq','BufuwfC','tLf3Bwm','rNruq2W','BuLuAfG','AMHiD08','yMnrsgm','D3jPDgu','Aw5MBW','Bwf4','AxntBg93','vfjbtLnbq1rjt05FuK9mtejbq0S','yw9zzNi','CK9JDxq','EK5SC0G','sw50zxjUywWGC2vYDMvYigvYCM9Y','u1rbuLqGvfjbtLnbq1rjt04','CM93C0fMzMvJDgvK','nZCYntmZquH2tvzO','Dhj1zq','D2fYBG','q09ntuLu','EeXWD2S','Aw5JBhvKzxm','C3rKu2vYAwfSAxPLCNm','vfjbtLnbq1rjt05FqKvhsu4','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','C3rHy2S','C3rHDhvZ','q0D3s3K','AxnVvgLTzq','ndu1mZmWwhbRru1j','tM9Kzs5QCW','Dg9mB3DLCKnHC2u','CMvZB2X2zq','rMXNDNy','vxPkr0m','BK5qC2C','uM9cs1G','wfvKvhO','ic0G','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','BwvTB3j5vxnHz2u','CgLU','AgvHBhrOq2HLy2S','ifTtte9xxq','EKjIvK4','B2jQzwn0','y29Kzq','zMf0ywW','u1fmx0Xpr19mrvzfta','u1fmx0Xpr19ftKfcteve','z2LQqxe','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','mta3og16zuf5Aa','Be1Ot0u','w09lxsbqCM9Qzwn0igXVywrLzdOG','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','C3rHCNrZv2L0Aa','zxHWB3j0CW','uw9Xzvi','iokvKqRILzeGienVBMzPzYaGicaGidOG','zxHPDa','DxnLCI1Hz2vUDa','Ahj0Aw1L','zNfZyKW','iokvKqRILzeGiefqssblzxKGicaGidOG','y29UBMvJDgLVBG','AxnbCNjHEq','Cg9YDa','wePsyNK','BgvUz3rO','v3bqyM4','AgvHzgvYCW','w1jfrefdvevexq','y2DpBxu','y2HPBgq','y3z2','terHs1C','lI9SB2DZlW','yM9KEq','uwX3zKq','zw5KCg9PBNrFCMvNAxn0zxjLza','uePgDMK','tuvjD3y','y3jLyxrLv3jPDgvtDhjLyw0','zMLSzv9SB2DNAw5Nx2vUywjSzwq','B3jPz2LUywXvCMW','u0vmrunu','rvHpwwO','CgfKrw5K','C3rKvgLTzuz1BMn0Aw9UCW','vgTzAeO','zxjYB3i','DgvZDa','zw52AxjVBM1LBNq','oI8V','q3P4the','Dg9Rzw4','DxjS','C3rHDhvZq29Kzq','yxbPs2v5','BxLcvxq','ndKZmZm4weDyrwD6','Bwf0y2G','odmXotKYCvvHruvU','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','BwvZC2fNzq','ChjPDMf0zv9RzxK','EfrPtfG','tK9erv9ftLy','sfruuca','B3rW','ChDK','rgDkAwi','ndHozvbtqLm','Cfrrq0e','ChjVAMvJDa','u1fmx0Xpr19tte9xx1riuKvtse9mra','C3fSx3f1zxj5','DhLWzq','Cgf0Aa'];a0_0x48ca=function(){return _0x55d460;};return a0_0x48ca();}
|
|
@@ -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
|
+
const a0_0x16552a=a0_0x489f;(function(_0x1679ef,_0x1b6125){const _0x2d9a6a=a0_0x489f,_0x10911f=_0x1679ef();while(!![]){try{const _0x1c657f=parseInt(_0x2d9a6a(0x136))/0x1+parseInt(_0x2d9a6a(0x11b))/0x2*(-parseInt(_0x2d9a6a(0x118))/0x3)+parseInt(_0x2d9a6a(0x108))/0x4*(-parseInt(_0x2d9a6a(0x135))/0x5)+-parseInt(_0x2d9a6a(0x119))/0x6*(-parseInt(_0x2d9a6a(0x131))/0x7)+-parseInt(_0x2d9a6a(0x111))/0x8+-parseInt(_0x2d9a6a(0x11d))/0x9+parseInt(_0x2d9a6a(0x10f))/0xa;if(_0x1c657f===_0x1b6125)break;else _0x10911f['push'](_0x10911f['shift']());}catch(_0x7bcaf4){_0x10911f['push'](_0x10911f['shift']());}}}(a0_0x56e9,0xefa7b));const dbType=(process[a0_0x16552a(0x128)][a0_0x16552a(0x106)]||'postgresql')[a0_0x16552a(0x129)]();let executeQuery;if(dbType===a0_0x16552a(0x137)){const oracleDb=require(a0_0x16552a(0x121));executeQuery=(_0x181a4c,_0x37c88d)=>oracleDb['executeQuery'](_0x181a4c,_0x37c88d);}else{if(dbType===a0_0x16552a(0x130)){const mysqlDb=require('./db-mysql');executeQuery=(_0x2e2000,_0x363177)=>mysqlDb[a0_0x16552a(0x10d)](_0x2e2000,_0x363177);}else executeQuery=require('./db')[a0_0x16552a(0x10d)];}function a0_0x56e9(){const _0x437072=['mtK3mdrPuLD2rM8','zgvIDwC','Dxf3wvq','y2XLyxi','zxHWB3j0CW','zxHLy3v0zvf1zxj5','tg9VA3vWihrHyMXLigXVywrLzdOG','mZe5mJy1nZbzrhnLEeS','CMHJvhO','ndq2ndu4nezPDg1nsG','EwPhvKq','DMjKBvO','AgfZ','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','qxrfvMS','A2v5CW','nLLdz2npqG','mJuZmZG2rMzYCuvl','Aw5MBW','mtm1mJC3meHuwMTzDG','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','mJa4ndeZowDrCw5QyW','C2v0','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','Bg9HzeXVB2T1CfrHyMXL','lI9KyI1VCMfJBgu','zw50CMLLCW','Bg9VA3vWq2fJAgu','y2XLyxjdywnOzq','z2v0','ChvZAa','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','zw52','Dg9mB3DLCKnHC2u','CMvZB2X2zuXVB2T1CfzHBhvL','BgvUz3rO','DMfSAwrHDgvmB29RDxbwywX1zxm','BwfW','iezst00G','tg9VA3vWignHy2HLignSzwfYzwq','BxLZCwW','mtG5rgjHzKnX','vMfSDwuGiG','D1bND2i','u0vmrunuia','mtC1me5VA2zJsW','nte1mJq3qKTzAufL','B3jHy2XL','zM9YrwfJAa','rejFvfLqrq','zNjVBq'];a0_0x56e9=function(){return _0x437072;};return a0_0x56e9();}const {logger}=require('./logger');function a0_0x489f(_0x31e4f1,_0x6670bf){_0x31e4f1=_0x31e4f1-0x105;const _0x56e998=a0_0x56e9();let _0x489f49=_0x56e998[_0x31e4f1];if(a0_0x489f['rvwtjX']===undefined){var _0x38ada9=function(_0x43357f){const _0x3798d0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x676411='',_0x32c78e='';for(let _0x355252=0x0,_0x1ad6cf,_0x533183,_0x4578ca=0x0;_0x533183=_0x43357f['charAt'](_0x4578ca++);~_0x533183&&(_0x1ad6cf=_0x355252%0x4?_0x1ad6cf*0x40+_0x533183:_0x533183,_0x355252++%0x4)?_0x676411+=String['fromCharCode'](0xff&_0x1ad6cf>>(-0x2*_0x355252&0x6)):0x0){_0x533183=_0x3798d0['indexOf'](_0x533183);}for(let _0x3d97d3=0x0,_0x33973d=_0x676411['length'];_0x3d97d3<_0x33973d;_0x3d97d3++){_0x32c78e+='%'+('00'+_0x676411['charCodeAt'](_0x3d97d3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x32c78e);};a0_0x489f['psGlpD']=_0x38ada9,a0_0x489f['WZkNoP']={},a0_0x489f['rvwtjX']=!![];}const _0xbf4f30=_0x56e998[0x0],_0x138e3d=_0x31e4f1+_0xbf4f30,_0x2914ab=a0_0x489f['WZkNoP'][_0x138e3d];return!_0x2914ab?(_0x489f49=a0_0x489f['psGlpD'](_0x489f49),a0_0x489f['WZkNoP'][_0x138e3d]=_0x489f49):_0x489f49=_0x2914ab,_0x489f49;}class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x16552a(0x124)](){const _0x4dfe6e=a0_0x16552a,_0x50323a={'AtEVk':_0x4dfe6e(0x12f)};this['lookupCache'][_0x4dfe6e(0x10b)](),logger[_0x4dfe6e(0x109)]({'event':_0x4dfe6e(0x115)},_0x50323a[_0x4dfe6e(0x116)]);}async[a0_0x16552a(0x120)](_0x5ae1a6,_0x71d8b1,_0x537d82){const _0x442093=a0_0x16552a,_0x1686c8={'wPcyx':function(_0x2b43b4,_0x3d3191){return _0x2b43b4!==_0x3d3191;},'rhcTz':function(_0x306ce3,_0x2c8210){return _0x306ce3(_0x2c8210);},'vbdmZ':function(_0x184a16,_0x5eab6d){return _0x184a16(_0x5eab6d);},'ceSbm':'lookup_table_loaded','yjGVD':_0x442093(0x11f)},_0x3fb050=_0x5ae1a6+':'+_0x71d8b1+':'+_0x537d82;if(this['lookupCache']['has'](_0x3fb050))return this[_0x442093(0x123)]['get'](_0x3fb050);try{const _0x1af349=_0x442093(0x134)+_0x537d82+',\x20'+_0x71d8b1+_0x442093(0x12e)+_0x5ae1a6,_0x396506=await _0x1686c8[_0x442093(0x113)](executeQuery,_0x1af349),_0x32d1f3=new Map();return _0x396506[_0x442093(0x105)](_0x1ecab0=>{const _0x223a06=_0x442093,_0x1ec75b=_0x1ecab0[_0x71d8b1]!==undefined?_0x1ecab0[_0x71d8b1]:_0x1ecab0[_0x71d8b1['toUpperCase']()],_0x220dc8=_0x1ecab0[_0x537d82]!==undefined?_0x1ecab0[_0x537d82]:_0x1ecab0[_0x537d82['toUpperCase']()];_0x1686c8['wPcyx'](_0x1ec75b,null)&&_0x1ec75b!==undefined&&(_0x32d1f3['set'](_0x1686c8[_0x223a06(0x110)](String,_0x1ec75b)['toLowerCase']()['trim'](),_0x220dc8),_0x32d1f3[_0x223a06(0x11e)](_0x1686c8[_0x223a06(0x113)](String,_0x1ec75b)['trim'](),_0x220dc8));}),this['lookupCache']['set'](_0x3fb050,_0x32d1f3),logger['info']({'event':_0x1686c8['ceSbm'],'table':_0x5ae1a6,'column':_0x71d8b1,'count':_0x396506[_0x442093(0x12b)]},_0x442093(0x10e)+_0x5ae1a6),_0x32d1f3;}catch(_0x398e92){logger['error']({'event':_0x1686c8[_0x442093(0x112)],'table':_0x5ae1a6,'error':_0x398e92['message']},_0x442093(0x127)+_0x5ae1a6);throw _0x398e92;}}['resolveLookupValue'](_0x3d8868,_0x3ebc11){const _0x584ce6=a0_0x16552a,_0x562653={'xVNKM':function(_0x2423f5,_0x38ddb8){return _0x2423f5===_0x38ddb8;}};if(_0x562653['xVNKM'](_0x3d8868,null)||_0x3d8868===undefined||_0x3d8868==='')return null;const _0x379186=String(_0x3d8868)['trim']();if(_0x3ebc11['has'](_0x379186))return _0x3ebc11['get'](_0x379186);const _0x2019b1=_0x379186[_0x584ce6(0x129)]();if(_0x3ebc11[_0x584ce6(0x114)](_0x2019b1))return _0x3ebc11[_0x584ce6(0x125)](_0x2019b1);return null;}async['processLookupFields'](_0x201ed2,_0x439264){const _0x47e42a=a0_0x16552a,_0x345dd7={'uqwYT':function(_0x4720e2,_0x36c38e){return _0x4720e2===_0x36c38e;},'LXzbT':function(_0xd50537,_0x14693f){return _0xd50537===_0x14693f;},'GLuoR':function(_0x355b5f,_0x6c18c3){return _0x355b5f!==_0x6c18c3;}};if(!_0x439264||Object[_0x47e42a(0x117)](_0x439264)[_0x47e42a(0x12b)]===0x0)return{'processedRows':_0x201ed2,'errors':[]};const _0x3fa6a1=[],_0x5ca834=new Map();for(const [_0x5d566c,_0x3e94e4]of Object['entries'](_0x439264)){const {lookupTable:_0x4c3b13,lookupColumn:_0x4d171c,lookupIdColumn:_0x1cc5a4}=_0x3e94e4,_0x5c95bf=_0x4c3b13+':'+_0x4d171c+':'+_0x1cc5a4;if(!_0x5ca834[_0x47e42a(0x114)](_0x5c95bf)){const _0x415ac0=await this['loadLookupTable'](_0x4c3b13,_0x4d171c,_0x1cc5a4);_0x5ca834[_0x47e42a(0x11e)](_0x5c95bf,_0x415ac0);}}const _0x564759=_0x201ed2[_0x47e42a(0x12d)]((_0x53ed71,_0x46a7e7)=>{const _0x6efe0=_0x47e42a,_0x524906={..._0x53ed71};for(const [_0x4abef0,_0x315a7f]of Object['entries'](_0x439264)){const {lookupTable:_0x48db42,lookupColumn:_0x2edcdf,lookupIdColumn:_0x1b662a,targetField:_0x3074eb,required:_0x49fcbb}=_0x315a7f,_0x4ead10=_0x48db42+':'+_0x2edcdf+':'+_0x1b662a,_0x1ace97=_0x5ca834['get'](_0x4ead10),_0x33aaf5=_0x53ed71[_0x4abef0];if((_0x345dd7[_0x6efe0(0x10a)](_0x33aaf5,null)||_0x33aaf5===undefined||_0x345dd7['LXzbT'](_0x33aaf5,''))&&!_0x49fcbb){_0x524906[_0x3074eb]=null;continue;}const _0x54da2e=this[_0x6efe0(0x12a)](_0x33aaf5,_0x1ace97);_0x345dd7['GLuoR'](_0x54da2e,null)?_0x524906[_0x3074eb]=_0x54da2e:(_0x49fcbb&&_0x3fa6a1['push']({'rowIndex':_0x46a7e7,'field':_0x4abef0,'value':_0x33aaf5,'targetField':_0x3074eb,'lookupTable':_0x48db42,'message':_0x6efe0(0x132)+_0x33aaf5+'\x22\x20not\x20found\x20in\x20'+_0x48db42}),_0x524906[_0x3074eb]=null);}return _0x524906;});return logger[_0x47e42a(0x11a)]({'event':'lookup_fields_processed','totalRows':_0x201ed2[_0x47e42a(0x12b)],'errorCount':_0x3fa6a1[_0x47e42a(0x12b)],'lookupFieldCount':Object[_0x47e42a(0x117)](_0x439264)[_0x47e42a(0x12b)]},'Lookup\x20fields\x20processed'),{'processedRows':_0x564759,'errors':_0x3fa6a1};}['getDistinctValues'](_0x2018db,_0x452feb){const _0x40589a=a0_0x16552a,_0x4e2307={'wPgwb':function(_0x210f65,_0x1fc42a){return _0x210f65!==_0x1fc42a;}},_0x501634=new Set();return _0x2018db['forEach'](_0x4b2e7a=>{const _0xf7e3a4=a0_0x489f,_0x1b044c=_0x4b2e7a[_0x452feb];_0x1b044c!==null&&_0x4e2307[_0xf7e3a4(0x133)](_0x1b044c,undefined)&&_0x1b044c!==''&&_0x501634['add'](String(_0x1b044c)['trim']());}),Array[_0x40589a(0x107)](_0x501634);}async[a0_0x16552a(0x12c)](_0x48d52f,_0x34d97b){const _0x3443da=a0_0x16552a,_0x4682f4={'AWTWw':function(_0x3ba114,_0x455337){return _0x3ba114!==_0x455337;},'MTaez':function(_0xaae5bc,_0x4ba225){return _0xaae5bc===_0x4ba225;},'qeZso':function(_0x219484,_0x2b0963){return _0x219484>_0x2b0963;}};if(!_0x34d97b||_0x4682f4['MTaez'](Object['keys'](_0x34d97b)[_0x3443da(0x12b)],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x1fd595=[],_0x590d68={};for(const [_0x413777,_0x2f665b]of Object[_0x3443da(0x122)](_0x34d97b)){const {lookupTable:_0x64829c,lookupColumn:_0x222cf5,lookupIdColumn:_0x5a74e3,required:_0x228d67}=_0x2f665b,_0x1577a4=this['getDistinctValues'](_0x48d52f,_0x413777),_0x20c968=await this['loadLookupTable'](_0x64829c,_0x222cf5,_0x5a74e3),_0x2b94b3=[],_0x4917e7=[];_0x1577a4[_0x3443da(0x105)](_0x385f18=>{const _0x275e6b=_0x3443da,_0x5c4cd2=this['resolveLookupValue'](_0x385f18,_0x20c968);_0x4682f4['AWTWw'](_0x5c4cd2,null)?_0x4917e7['push'](_0x385f18):_0x2b94b3[_0x275e6b(0x126)](_0x385f18);});if(_0x4682f4['qeZso'](_0x2b94b3['length'],0x0)&&_0x228d67){_0x1fd595[_0x3443da(0x126)]({'field':_0x413777,'lookupTable':_0x64829c,'invalidValues':_0x2b94b3,'message':_0x2b94b3['length']+_0x3443da(0x11c)+_0x64829c});const _0x5c784f=[];_0x20c968[_0x3443da(0x105)]((_0x37921c,_0x3f07ea)=>{const _0x275778=_0x3443da;if(_0x3f07ea===_0x3f07ea[_0x275778(0x129)]())return;_0x5c784f[_0x275778(0x126)](_0x3f07ea);}),_0x590d68[_0x413777]={'invalidValues':_0x2b94b3,'availableValues':_0x5c784f['slice'](0x0,0x32)};}}return{'valid':_0x1fd595[_0x3443da(0x12b)]===0x0,'errors':_0x1fd595,'suggestions':_0x590d68};}}module[a0_0x16552a(0x10c)]=new LookupResolver();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a0_0x271aae=a0_0x493b;(function(_0x12bc0a,_0x4bdfa1){const _0x39b4c1=a0_0x493b,_0x537f6f=_0x12bc0a();while(!![]){try{const _0x53d71f=-parseInt(_0x39b4c1(0x14b))/0x1*(-parseInt(_0x39b4c1(0x158))/0x2)+parseInt(_0x39b4c1(0x15f))/0x3+parseInt(_0x39b4c1(0x14d))/0x4*(parseInt(_0x39b4c1(0x147))/0x5)+parseInt(_0x39b4c1(0x143))/0x6*(parseInt(_0x39b4c1(0x151))/0x7)+-parseInt(_0x39b4c1(0x157))/0x8+parseInt(_0x39b4c1(0x154))/0x9+-parseInt(_0x39b4c1(0x15c))/0xa;if(_0x53d71f===_0x4bdfa1)break;else _0x537f6f['push'](_0x537f6f['shift']());}catch(_0x41f11c){_0x537f6f['push'](_0x537f6f['shift']());}}}(a0_0x2268,0xd2612));function a0_0x2268(){const _0x831939=['zxHWB3j0CW','Cgf5Bg9Hzf9SB2fKzwq','zxjYB3i','nde3mZm4nJbTyKDcr1a','CMvHzezPBgu','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','nta5nZyYmxDiz0P5rq','lMPZB24','vvf6weq','y2XLyxjdywnOzq','Cgf5Bg9HzdO','AgfZ','Cgf5Bg9HzerPCG','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','nJe4CLbxq1f6','sMvVDLa','ENfrruK','z2v0','nZi1z2XUAhP1','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','CMvWBgfJzq','mtC1otDiwLf3A0y','DgfIBgvoyw1L','ndq4mZz3C0DMvNa','zMLLBgrmywjLBhm','zgf0yxrHyMXLC1f1zxj5','DxrMoa','nZq5mJHkELnzwxK','s2TUELi','y2fJAgu','ntiWnZC5nNvwvwfguq','y29SDw1UrM9YBwf0CW','zMLLBgroyw1L','oda3mdmYohDVqLv3CG','mte4u1HPELnY'];a0_0x2268=function(){return _0x831939;};return a0_0x2268();}const fs=require('fs')['promises'],path=require('path'),{logger}=require('./logger');function a0_0x493b(_0x30f442,_0x3853a7){_0x30f442=_0x30f442-0x143;const _0x22687a=a0_0x2268();let _0x493bba=_0x22687a[_0x30f442];if(a0_0x493b['nykRuq']===undefined){var _0x30a12a=function(_0x41e996){const _0x210396='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x221f08='',_0x16bb9c='';for(let _0x19a1c6=0x0,_0x208e3e,_0x1a3584,_0x1ec25b=0x0;_0x1a3584=_0x41e996['charAt'](_0x1ec25b++);~_0x1a3584&&(_0x208e3e=_0x19a1c6%0x4?_0x208e3e*0x40+_0x1a3584:_0x1a3584,_0x19a1c6++%0x4)?_0x221f08+=String['fromCharCode'](0xff&_0x208e3e>>(-0x2*_0x19a1c6&0x6)):0x0){_0x1a3584=_0x210396['indexOf'](_0x1a3584);}for(let _0x3c7dab=0x0,_0x3d0d70=_0x221f08['length'];_0x3c7dab<_0x3d0d70;_0x3c7dab++){_0x16bb9c+='%'+('00'+_0x221f08['charCodeAt'](_0x3c7dab)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x16bb9c);};a0_0x493b['mEjbiT']=_0x30a12a,a0_0x493b['mlNLHN']={},a0_0x493b['nykRuq']=!![];}const _0x23cd79=_0x22687a[0x0],_0x166ae4=_0x30f442+_0x23cd79,_0x9ac261=a0_0x493b['mlNLHN'][_0x166ae4];return!_0x9ac261?(_0x493bba=a0_0x493b['mEjbiT'](_0x493bba),a0_0x493b['mlNLHN'][_0x166ae4]=_0x493bba):_0x493bba=_0x9ac261,_0x493bba;}class PayloadLoader{constructor(){const _0x28f553=a0_0x493b,_0x4bad4e={'JeovP':'../../payload'};this['payloadDir']=path['join'](__dirname,_0x4bad4e[_0x28f553(0x144)]),this[_0x28f553(0x153)]=new Map();}async['loadPayload'](_0x31c201,_0x1da49e){const _0x1aaefc=a0_0x493b,_0xe73ca0={'JKfbk':'utf8','zqQEI':_0x1aaefc(0x15a),'esVhC':_0x1aaefc(0x15e),'nxgQo':'payload_load_error','pytBb':_0x1aaefc(0x148)},_0x540947=_0x31c201+':'+_0x1da49e;if(this[_0x1aaefc(0x153)][_0x1aaefc(0x164)](_0x540947))return this['cache']['get'](_0x540947);const _0x1343c8=path['join'](this['payloadDir'],_0x31c201+'_'+_0x1da49e+_0x1aaefc(0x160));try{const _0x146383=await fs[_0x1aaefc(0x15d)](_0x1343c8,_0xe73ca0['JKfbk']),_0x5bfa76=JSON['parse'](_0x146383);return this[_0x1aaefc(0x153)]['set'](_0x540947,_0x5bfa76),logger['debug']({'event':_0xe73ca0[_0x1aaefc(0x145)],'project':_0x31c201,'resource':_0x1da49e},_0xe73ca0['esVhC']),_0x5bfa76;}catch(_0x3e6dba){logger[_0x1aaefc(0x15b)]({'event':_0xe73ca0['nxgQo'],'project':_0x31c201,'resource':_0x1da49e,'error':_0x3e6dba['message']},_0xe73ca0['pytBb']);throw new Error('Payload\x20not\x20found:\x20'+_0x31c201+'_'+_0x1da49e);}}async['loadPayloadByName'](_0x4c3ebc){const _0x167a40=a0_0x493b,_0x408769={'zKFgT':_0x167a40(0x15a),'KknzR':_0x167a40(0x166),'UQzXD':'Failed\x20to\x20load\x20payload\x20by\x20name'},_0x2f20b5=_0x167a40(0x163)+_0x4c3ebc;if(this[_0x167a40(0x153)][_0x167a40(0x164)](_0x2f20b5))return this[_0x167a40(0x153)][_0x167a40(0x146)](_0x2f20b5);const _0x407c0f=path['join'](this[_0x167a40(0x165)],_0x4c3ebc+'.json');try{const _0x88954c=await fs[_0x167a40(0x15d)](_0x407c0f,_0x167a40(0x150)),_0x161678=JSON['parse'](_0x88954c);return this['cache']['set'](_0x2f20b5,_0x161678),logger['debug']({'event':_0x408769['zKFgT'],'payloadName':_0x4c3ebc},_0x408769[_0x167a40(0x152)]),_0x161678;}catch(_0x1d84dc){logger[_0x167a40(0x15b)]({'event':_0x167a40(0x149),'payloadName':_0x4c3ebc,'error':_0x1d84dc['message']},_0x408769[_0x167a40(0x161)]);throw new Error('Payload\x20not\x20found:\x20'+_0x4c3ebc);}}['isActionEnabled'](_0x9844c6,_0xc5f7dd){return _0x9844c6['action']&&_0x9844c6['action'][_0xc5f7dd]===!![];}['getExportConfig'](_0x1b1773){const _0x2ef5dc=a0_0x493b;return{'columns':_0x1b1773[_0x2ef5dc(0x156)]||[],'filename':_0x1b1773[_0x2ef5dc(0x14c)][_0x2ef5dc(0x14a)]('.','-')+'-export','datatablesQuery':_0x1b1773[_0x2ef5dc(0x14f)]||null,'columnFormats':_0x1b1773[_0x2ef5dc(0x155)]||null,'fieldLabels':_0x1b1773[_0x2ef5dc(0x14e)]||null};}[a0_0x271aae(0x162)](){const _0x59b972=a0_0x271aae;this[_0x59b972(0x153)]['clear'](),logger['info']({'event':'payload_cache_cleared'},'Payload\x20cache\x20cleared');}}module[a0_0x271aae(0x159)]=new PayloadLoader();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';(function(_0x227e86,_0xc390f9){var _0x2b0ca3=a0_0x340e,_0xdd1515=_0x227e86();while(!![]){try{var _0x228ed3=-parseInt(_0x2b0ca3(0xdb))/0x1*(-parseInt(_0x2b0ca3(0xd7))/0x2)+parseInt(_0x2b0ca3(0xdc))/0x3*(-parseInt(_0x2b0ca3(0xd8))/0x4)+parseInt(_0x2b0ca3(0xda))/0x5*(parseInt(_0x2b0ca3(0xd9))/0x6)+-parseInt(_0x2b0ca3(0xe0))/0x7+parseInt(_0x2b0ca3(0xd5))/0x8*(-parseInt(_0x2b0ca3(0xd6))/0x9)+parseInt(_0x2b0ca3(0xdd))/0xa*(parseInt(_0x2b0ca3(0xdf))/0xb)+parseInt(_0x2b0ca3(0xde))/0xc;if(_0x228ed3===_0xc390f9)break;else _0xdd1515['push'](_0xdd1515['shift']());}catch(_0x5b3c5c){_0xdd1515['push'](_0xdd1515['shift']());}}}(a0_0x48db,0x529bc));function createResponse(_0xe6709e,_0x28c114,_0x5e17ec=null){var _0x3dc96e=a0_0x340e;return{'success':!![],'statusCode':_0xe6709e,'message':_0x28c114,'data':_0x5e17ec,'timestamp':new Date()[_0x3dc96e(0xd4)]()};}function a0_0x48db(){var _0x11d6bb=['mJa1ody2EMjUt1bT','mtGYmdm4u2TUzNnI','mJi0t0vpvfbg','nMPjCuPKwG','mZm1odyWyKHVre1q','m0LgBujUvW','mJeXntLJq2frtMe','mJb6uNvqELq','nta2mJK4mhnSzw1dqq','mti4nJy5mKLpAKj3tG','mty3ote3ngv3r1HvBG','Dg9ju09tDhjPBMC','ohLpv1v1BG'];a0_0x48db=function(){return _0x11d6bb;};return a0_0x48db();}function createError(_0x22fdb1,_0x173d61,_0x31f37b=null){return{'success':![],'statusCode':_0x22fdb1,'message':_0x173d61,'data':_0x31f37b,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x34a3c9,_0x40102a){return{'success':![],'statusCode':0x190,'message':_0x34a3c9,'data':{'errors':_0x40102a},'timestamp':new Date()['toISOString']()};}function a0_0x340e(_0x20c441,_0x333b3b){_0x20c441=_0x20c441-0xd4;var _0x48db2d=a0_0x48db();var _0x340ed1=_0x48db2d[_0x20c441];if(a0_0x340e['ymlHFR']===undefined){var _0x12be4a=function(_0x152651){var _0x5259cc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x25a2d3='',_0x583516='';for(var _0x4511e2=0x0,_0x359874,_0x240b4a,_0x135b02=0x0;_0x240b4a=_0x152651['charAt'](_0x135b02++);~_0x240b4a&&(_0x359874=_0x4511e2%0x4?_0x359874*0x40+_0x240b4a:_0x240b4a,_0x4511e2++%0x4)?_0x25a2d3+=String['fromCharCode'](0xff&_0x359874>>(-0x2*_0x4511e2&0x6)):0x0){_0x240b4a=_0x5259cc['indexOf'](_0x240b4a);}for(var _0x127baa=0x0,_0x1df8d9=_0x25a2d3['length'];_0x127baa<_0x1df8d9;_0x127baa++){_0x583516+='%'+('00'+_0x25a2d3['charCodeAt'](_0x127baa)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x583516);};a0_0x340e['ZHYneE']=_0x12be4a,a0_0x340e['demUWy']={},a0_0x340e['ymlHFR']=!![];}var _0x5f087a=_0x48db2d[0x0],_0x304811=_0x20c441+_0x5f087a,_0x7affb9=a0_0x340e['demUWy'][_0x304811];return!_0x7affb9?(_0x340ed1=a0_0x340e['ZHYneE'](_0x340ed1),a0_0x340e['demUWy'][_0x304811]=_0x340ed1):_0x340ed1=_0x7affb9,_0x340ed1;}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
|
package/src/utils/rabbitmq.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a0_0x109d(_0x314b20,_0x3625c5){_0x314b20=_0x314b20-0x198;const _0x4b4dea=a0_0x4b4d();let _0x109d54=_0x4b4dea[_0x314b20];if(a0_0x109d['XpOLTB']===undefined){var _0x1bb8c3=function(_0xfad7c1){const _0x5c5747='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b6941='',_0x2db342='';for(let _0x3a9974=0x0,_0x37fed6,_0x2ffea1,_0xe283bc=0x0;_0x2ffea1=_0xfad7c1['charAt'](_0xe283bc++);~_0x2ffea1&&(_0x37fed6=_0x3a9974%0x4?_0x37fed6*0x40+_0x2ffea1:_0x2ffea1,_0x3a9974++%0x4)?_0x4b6941+=String['fromCharCode'](0xff&_0x37fed6>>(-0x2*_0x3a9974&0x6)):0x0){_0x2ffea1=_0x5c5747['indexOf'](_0x2ffea1);}for(let _0x39c95d=0x0,_0x4a5399=_0x4b6941['length'];_0x39c95d<_0x4a5399;_0x39c95d++){_0x2db342+='%'+('00'+_0x4b6941['charCodeAt'](_0x39c95d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2db342);};a0_0x109d['EFLYOQ']=_0x1bb8c3,a0_0x109d['CUweKI']={},a0_0x109d['XpOLTB']=!![];}const _0x46cd3c=_0x4b4dea[0x0],_0x442a0b=_0x314b20+_0x46cd3c,_0x4c98f5=a0_0x109d['CUweKI'][_0x442a0b];return!_0x4c98f5?(_0x109d54=a0_0x109d['EFLYOQ'](_0x109d54),a0_0x109d['CUweKI'][_0x442a0b]=_0x109d54):_0x109d54=_0x4c98f5,_0x109d54;}const a0_0x57dec3=a0_0x109d;(function(_0x3ef36a,_0x27f803){const _0x3b209a=a0_0x109d,_0x4a74ad=_0x3ef36a();while(!![]){try{const _0x340096=parseInt(_0x3b209a(0x1b2))/0x1*(-parseInt(_0x3b209a(0x198))/0x2)+-parseInt(_0x3b209a(0x1c5))/0x3*(parseInt(_0x3b209a(0x1a4))/0x4)+parseInt(_0x3b209a(0x1bb))/0x5*(parseInt(_0x3b209a(0x1ac))/0x6)+-parseInt(_0x3b209a(0x1b4))/0x7*(parseInt(_0x3b209a(0x1c3))/0x8)+-parseInt(_0x3b209a(0x19a))/0x9+parseInt(_0x3b209a(0x1bc))/0xa*(-parseInt(_0x3b209a(0x199))/0xb)+-parseInt(_0x3b209a(0x19c))/0xc*(-parseInt(_0x3b209a(0x1a5))/0xd);if(_0x340096===_0x27f803)break;else _0x4a74ad['push'](_0x4a74ad['shift']());}catch(_0xdfc73c){_0x4a74ad['push'](_0x4a74ad['shift']());}}}(a0_0x4b4d,0xd5142),require('dotenv')['config']());const amqp=require(a0_0x57dec3(0x1b5)),{formatDate}=require(a0_0x57dec3(0x1a9)),RABBITMQ_URL=process['env']['RABBITMQ_URL'],EXCHANGE=process[a0_0x57dec3(0x1c4)][a0_0x57dec3(0x19f)],ROUTING_KEY=process['env']['RABBITMQ_ROUTING_KEY'],QUEUE=process['env'][a0_0x57dec3(0x1a3)];async function createConnection(){const _0x537893=a0_0x57dec3,_0x5a3fb8={'jGnDG':function(_0x24399a,_0x2b5238){return _0x24399a(_0x2b5238);},'VjzFM':function(_0xa5a854,_0x11868e){return _0xa5a854(_0x11868e);}};try{const _0x13eace=await amqp['connect'](RABBITMQ_URL);return console['log']('['+_0x5a3fb8['jGnDG'](formatDate,new Date())+_0x537893(0x1bd)),_0x13eace;}catch(_0x1d8f2a){console[_0x537893(0x1ab)]('['+_0x5a3fb8['VjzFM'](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x1d8f2a[_0x537893(0x1b7)]);throw _0x1d8f2a;}}async function createChannel(_0x416da8){const _0x22e7b7=a0_0x57dec3,_0x22b654={'AGjdu':function(_0x124433,_0x525084){return _0x124433(_0x525084);}};try{const _0x5df37d=await _0x416da8['createChannel']();return console[_0x22e7b7(0x1b3)]('['+formatDate(new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x5df37d;}catch(_0x564f83){console['error']('['+_0x22b654[_0x22e7b7(0x1a6)](formatDate,new Date())+_0x22e7b7(0x1c1)+_0x564f83[_0x22e7b7(0x1b7)]);throw _0x564f83;}}async function setupInfrastructure(_0x554400){const _0x8146c6=a0_0x57dec3,_0x5c4092={'PZlTe':'direct','obqLD':function(_0x2b2df7,_0x4469c9){return _0x2b2df7(_0x4469c9);},'lUBWt':_0x8146c6(0x1b8),'nNoDB':'found','ZELKy':_0x8146c6(0x1a1)};try{await _0x554400['assertExchange']('retry-exchange',_0x5c4092['PZlTe'],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x5c4092[_0x8146c6(0x1ad)](formatDate,new Date())+_0x8146c6(0x1a0));}catch(_0x230c10){console['error']('['+formatDate(new Date())+_0x8146c6(0x1ba),_0x230c10[_0x8146c6(0x1b7)]);throw _0x230c10;}try{await _0x554400['assertExchange'](EXCHANGE,_0x8146c6(0x1a2),{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+_0x8146c6(0x1aa)+EXCHANGE+'\x20created/ready');}catch(_0x1fdc14){console['error']('['+_0x5c4092['obqLD'](formatDate,new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x1fdc14['message']);throw _0x1fdc14;}const _0x55a646=ROUTING_KEY+'_retry';try{const _0x4754b2={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x554400['assertQueue'](_0x55a646,_0x4754b2),console[_0x8146c6(0x1b3)]('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0x55a646+_0x8146c6(0x1b9)),await _0x554400[_0x8146c6(0x1c2)](_0x55a646,_0x5c4092[_0x8146c6(0x1a7)],ROUTING_KEY),console[_0x8146c6(0x1b3)]('['+_0x5c4092[_0x8146c6(0x1ad)](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+'\x20created');}catch(_0xcf3490){console[_0x8146c6(0x1ab)]('['+formatDate(new Date())+_0x8146c6(0x1c0),_0xcf3490['message']);throw _0xcf3490;}try{const _0x10fa3f={'durable':!![],'arguments':{'x-dead-letter-exchange':'retry-exchange','x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x57ea2c=await _0x554400['assertQueue'](QUEUE,_0x10fa3f);console['log']('['+formatDate(new Date())+_0x8146c6(0x1c6)+QUEUE+'\x20'+(_0x57ea2c['queue']===QUEUE?'created/ready':_0x5c4092['nNoDB'])+'\x20with\x20DLX'),await _0x554400[_0x8146c6(0x1c2)](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+formatDate(new Date())+_0x8146c6(0x1be)+EXCHANGE+_0x8146c6(0x1b0)+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0x6de22f){if(_0x6de22f['message'][_0x8146c6(0x19d)](_0x5c4092['ZELKy'])&&_0x6de22f['message']['includes']('x-dead-letter-routing-key'))console['error']('\x0a['+_0x5c4092['obqLD'](formatDate,new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+_0x8146c6(0x1a8)),console['error']('Queue\x20'+QUEUE+_0x8146c6(0x1b6)),console['error'](_0x8146c6(0x1bf)),process[_0x8146c6(0x19b)](0x1);else{console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x6de22f['message']);throw _0x6de22f;}}}catch(_0x403fa4){if(!_0x403fa4['message'][_0x8146c6(0x19d)]('inequivalent\x20arg')){console['error']('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x403fa4['message']);throw _0x403fa4;}process[_0x8146c6(0x19b)](0x1);}}function a0_0x4b4d(){const _0x3cfa64=['Aw5LCxvPDMfSzw50igfYzW','zgLYzwn0','uKfcqKLutvfFuvvfvuu','mte2C0jwzw1b','odm1ovzJDfvHuG','quDQzhu','Bfvcv3q','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','lI9KyxrLsgvSCgvY','xsbfEgnOyw5Nzsa','zxjYB3i','nte2otzOs1DMywW','B2jXteq','EvDtsMe','zxHWB3j0CW','ic0+ia','y2XVC2u','nJa1nJGXExvWsLvS','Bg9N','nty2m1HmCxn2Cq','yw1XCgXPyG','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','BwvZC2fNzq','CMv0CNKTzxHJAgfUz2u','ignYzwf0zwqVCMvHzhK','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','ndCWvw1bCLnJ','mtbhCuzSwwi','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r','xsbcAw5KAw5Nia','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','yMLUzff1zxvL','ntq2ngLmD0LgEq','zw52','mZC1nNzRuKT2rq','xsbrDwv1zsa','mMv1ru1nuq','mta5ndKYntDOr0nSuMm','mte1ntKXodzUD2jereu','zxHPDa','nJyWmtjbt2zPyMG','Aw5JBhvKzxm','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','uKfcqKLutvfFrvHdsefor0u','xsbszxrYEsbLEgnOyw5NzsbJCMvHDgvKl3jLywr5'];a0_0x4b4d=function(){return _0x3cfa64;};return a0_0x4b4d();}async function closeConnection(_0xd87410){const _0x18346c=a0_0x57dec3,_0x432960={'yWSJa':function(_0x51f5dd,_0x3b1905){return _0x51f5dd(_0x3b1905);}};if(_0xd87410)try{await _0xd87410[_0x18346c(0x1b1)](),console['log']('['+_0x432960[_0x18346c(0x1ae)](formatDate,new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x1dc733){console[_0x18346c(0x1ab)]('['+_0x432960['yWSJa'](formatDate,new Date())+_0x18346c(0x19e)+_0x1dc733[_0x18346c(0x1b7)]);}}module[a0_0x57dec3(0x1af)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a0_0x2c2909=a0_0x379d;(function(_0x2ee6a9,_0x51d674){const _0x191a02=a0_0x379d,_0x1984f4=_0x2ee6a9();while(!![]){try{const _0x1ab8e3=parseInt(_0x191a02(0x166))/0x1*(-parseInt(_0x191a02(0x176))/0x2)+-parseInt(_0x191a02(0x177))/0x3*(-parseInt(_0x191a02(0x17c))/0x4)+-parseInt(_0x191a02(0x17d))/0x5+-parseInt(_0x191a02(0x167))/0x6+parseInt(_0x191a02(0x15f))/0x7*(parseInt(_0x191a02(0x163))/0x8)+-parseInt(_0x191a02(0x16c))/0x9*(parseInt(_0x191a02(0x171))/0xa)+parseInt(_0x191a02(0x16d))/0xb;if(_0x1ab8e3===_0x51d674)break;else _0x1984f4['push'](_0x1984f4['shift']());}catch(_0x849be8){_0x1984f4['push'](_0x1984f4['shift']());}}}(a0_0x4589,0x5e496));const Redis=require('ioredis'),{logger}=require('./logger');function a0_0x379d(_0x298d02,_0x5e33a3){_0x298d02=_0x298d02-0x15d;const _0x458911=a0_0x4589();let _0x379de8=_0x458911[_0x298d02];if(a0_0x379d['fLatWW']===undefined){var _0x4bfd37=function(_0x2f6608){const _0x44ce4e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x19733b='',_0x34dcd1='';for(let _0x5155f2=0x0,_0x4e3067,_0xa3b1a5,_0x5589a8=0x0;_0xa3b1a5=_0x2f6608['charAt'](_0x5589a8++);~_0xa3b1a5&&(_0x4e3067=_0x5155f2%0x4?_0x4e3067*0x40+_0xa3b1a5:_0xa3b1a5,_0x5155f2++%0x4)?_0x19733b+=String['fromCharCode'](0xff&_0x4e3067>>(-0x2*_0x5155f2&0x6)):0x0){_0xa3b1a5=_0x44ce4e['indexOf'](_0xa3b1a5);}for(let _0x3e5c35=0x0,_0x37081e=_0x19733b['length'];_0x3e5c35<_0x37081e;_0x3e5c35++){_0x34dcd1+='%'+('00'+_0x19733b['charCodeAt'](_0x3e5c35)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x34dcd1);};a0_0x379d['HXqecA']=_0x4bfd37,a0_0x379d['LLxyUW']={},a0_0x379d['fLatWW']=!![];}const _0x443c14=_0x458911[0x0],_0x2511df=_0x298d02+_0x443c14,_0x5cdfc8=a0_0x379d['LLxyUW'][_0x2511df];return!_0x5cdfc8?(_0x379de8=a0_0x379d['HXqecA'](_0x379de8),a0_0x379d['LLxyUW'][_0x2511df]=_0x379de8):_0x379de8=_0x5cdfc8,_0x379de8;}function a0_0x4589(){const _0x3f8989=['mtbRDLntBwG','CMfJzq','BKfvCxa','zw52','uKvesvnFue9sva','mtq2mtrqvvruvw8','nJnxvxjSCg8','BLvbyui','CMvKAxnFy29UBMvJDgvK','uKvesvnFueftu1DpuKq','CMvKAxnFAw5PDf9LCNjVCG','nJCXndHhqwj1BgG','mtmZmdq1BfDvqMXv','BwvZC2fNzq','CMvKAxnFzgLZy29UBMvJDgvK','mJe3odGYrxrnv2vl','AKrNq1m','CgLUzW','Aw5MBW','ndb1EgLpDeC','y29UBMvJDa','Afjdt2S','ndfPqLvnC2S','mZC1ntG2mKXezK9TvW','uMvKAxmGueLorYb0Aw1LB3v0','zxjYB3i','y2XPzw50','CxvPDa','mZu2ntu1n1bSB0DvvW','mtm0otaYntDVseHODey','uKvesvnFse9tva','DgDTA1G','ue9orW'];a0_0x4589=function(){return _0x3f8989;};return a0_0x4589();}class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}[a0_0x2c2909(0x164)](){const _0x2d252d=a0_0x2c2909,_0x3f9281={'nUAaB':function(_0xa2364d,_0x40c042){return _0xa2364d*_0x40c042;},'hRCOk':'Redis\x20connected\x20successfully','fofQh':_0x2d252d(0x15e),'jDgCS':'Redis\x20connection\x20closed','tgmkX':'close','nAUqp':_0x2d252d(0x17b)};if(this[_0x2d252d(0x16a)])return this['client'];try{return this[_0x2d252d(0x16a)]=new Redis({'host':process[_0x2d252d(0x174)][_0x2d252d(0x16e)]||'localhost','port':parseInt(process['env'][_0x2d252d(0x175)],0xa)||0x18ec,'password':process['env'][_0x2d252d(0x17a)]||undefined,'db':parseInt(process[_0x2d252d(0x174)]['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x461eae){const _0x393ac4=_0x2d252d,_0x57b0d6=Math['min'](_0x3f9281[_0x393ac4(0x178)](_0x461eae,0x32),0x7d0);return _0x57b0d6;}}),this['client']['on']('connect',()=>{const _0x216305=_0x2d252d;this['isConnected']=!![],logger[_0x216305(0x162)]({'event':_0x216305(0x179)},_0x3f9281[_0x216305(0x165)]);}),this['client']['on']('error',_0x4abeec=>{const _0x223a18=_0x2d252d;this['isConnected']=![],logger['error']({'event':'redis_error','error':_0x4abeec[_0x223a18(0x15d)]},'Redis\x20connection\x20error:\x20'+_0x4abeec[_0x223a18(0x15d)]);}),this[_0x2d252d(0x16a)]['on'](_0x3f9281[_0x2d252d(0x16f)],()=>{const _0x29e383=_0x2d252d;this['isConnected']=![],logger['warn']({'event':_0x3f9281['fofQh']},_0x3f9281[_0x29e383(0x160)]);}),this['client'];}catch(_0x712435){logger[_0x2d252d(0x169)]({'event':_0x3f9281[_0x2d252d(0x173)],'error':_0x712435[_0x2d252d(0x15d)]},'Failed\x20to\x20initialize\x20Redis');throw _0x712435;}}['getClient'](){const _0x5c75aa=a0_0x2c2909;return!this['client']&&this['connect'](),this[_0x5c75aa(0x16a)];}async[a0_0x2c2909(0x161)](_0x3d45fc=0x1388){const _0x3f0c8a=a0_0x2c2909;try{const _0x49ab8b=this['getClient'](),_0x7179d0=await Promise[_0x3f0c8a(0x172)]([_0x49ab8b['ping'](),new Promise((_0x2ce24a,_0xabca93)=>setTimeout(()=>_0xabca93(new Error(_0x3f0c8a(0x168))),_0x3d45fc))]);return _0x7179d0===_0x3f0c8a(0x170);}catch(_0x8a5bd2){return![];}}async['disconnect'](){const _0x59ff3c=a0_0x2c2909;this['client']&&(await this[_0x59ff3c(0x16a)][_0x59ff3c(0x16b)](),this[_0x59ff3c(0x16a)]=null,this['isConnected']=![]);}['forceDisconnect'](){const _0x35defd=a0_0x2c2909;this[_0x35defd(0x16a)]&&(this[_0x35defd(0x16a)]['disconnect'](),this[_0x35defd(0x16a)]=null,this['isConnected']=![]);}}module['exports']=new RedisClient();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a0_0x9daa(_0x51ee8d,_0x11d70c){_0x51ee8d=_0x51ee8d-0x66;const _0x4ac94b=a0_0x4ac9();let _0x9daa3c=_0x4ac94b[_0x51ee8d];if(a0_0x9daa['ZoSMbZ']===undefined){var _0xc3635a=function(_0x477a47){const _0x4fbed1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4914af='',_0x3615d9='';for(let _0x3bfe50=0x0,_0x32145f,_0xc7b7c3,_0xaa2b38=0x0;_0xc7b7c3=_0x477a47['charAt'](_0xaa2b38++);~_0xc7b7c3&&(_0x32145f=_0x3bfe50%0x4?_0x32145f*0x40+_0xc7b7c3:_0xc7b7c3,_0x3bfe50++%0x4)?_0x4914af+=String['fromCharCode'](0xff&_0x32145f>>(-0x2*_0x3bfe50&0x6)):0x0){_0xc7b7c3=_0x4fbed1['indexOf'](_0xc7b7c3);}for(let _0x210235=0x0,_0x3e1871=_0x4914af['length'];_0x210235<_0x3e1871;_0x210235++){_0x3615d9+='%'+('00'+_0x4914af['charCodeAt'](_0x210235)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3615d9);};a0_0x9daa['SApZHi']=_0xc3635a,a0_0x9daa['filONU']={},a0_0x9daa['ZoSMbZ']=!![];}const _0x1cf1b7=_0x4ac94b[0x0],_0x16f107=_0x51ee8d+_0x1cf1b7,_0x3ad37d=a0_0x9daa['filONU'][_0x16f107];return!_0x3ad37d?(_0x9daa3c=a0_0x9daa['SApZHi'](_0x9daa3c),a0_0x9daa['filONU'][_0x16f107]=_0x9daa3c):_0x9daa3c=_0x3ad37d,_0x9daa3c;}function a0_0x4ac9(){const _0x2de67c=['mJG4ExHtExrl','odiXnZn1r0fWzem','C2v0zxG','rhnMCgS','mJy0nZnvzwr1AfK','A2v5CW','otm5nJCZmerWv1vMvG','zw52','zgvS','mtGWmti0nu5QAgLvCG','CMvKAxnFz2v0ywXSx2vYCM9Y','mZy2otm4su1VCezV','z2v0','vvPhtfu','z2v0qwXSsM9ICW','odC5otnfquzPvuy','B1HLwgC','DxbKyxrLsM9I','C2v0sM9I','CgfYC2u','mtjhA2DuyNa','ChvZAa','BwvZC2fNzq','mtiXnZqWwKfrAfvi','mtfltefiDem','CMvKAxnFz2v0x2vYCM9Y','mtuWEw96zNjI','DhrS','oMv4Cg9YDdO','mtjHq1vICg0','mJbdD05xAgq','z2v0q2XPzw50','C3rYAw5NAwz5','ChjLzML4','zxjYB3i','zxHWB3j0CW','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','x3bYzwzPEa'];a0_0x4ac9=function(){return _0x2de67c;};return a0_0x4ac9();}const a0_0x516e36=a0_0x9daa;(function(_0x56f982,_0x12e64b){const _0x2e69ca=a0_0x9daa,_0xb2b093=_0x56f982();while(!![]){try{const _0x2157be=parseInt(_0x2e69ca(0x7d))/0x1*(parseInt(_0x2e69ca(0x70))/0x2)+-parseInt(_0x2e69ca(0x6a))/0x3*(parseInt(_0x2e69ca(0x71))/0x4)+-parseInt(_0x2e69ca(0x82))/0x5+parseInt(_0x2e69ca(0x6d))/0x6*(-parseInt(_0x2e69ca(0x7a))/0x7)+-parseInt(_0x2e69ca(0x79))/0x8*(-parseInt(_0x2e69ca(0x88))/0x9)+parseInt(_0x2e69ca(0x7f))/0xa*(parseInt(_0x2e69ca(0x6b))/0xb)+parseInt(_0x2e69ca(0x67))/0xc*(-parseInt(_0x2e69ca(0x84))/0xd);if(_0x2157be===_0x12e64b)break;else _0xb2b093['push'](_0xb2b093['shift']());}catch(_0x516389){_0xb2b093['push'](_0xb2b093['shift']());}}}(a0_0x4ac9,0x8a181));const redisClient=require('./redis-client'),{logger}=require('./logger');class RedisHelper{constructor(){const _0x187ca2=a0_0x9daa,_0x2176f7={'ntOiP':function(_0xfbe94d,_0x3c7127,_0xaac46a){return _0xfbe94d(_0x3c7127,_0xaac46a);}};this[_0x187ca2(0x78)]=null,this['ttl']=_0x2176f7['ntOiP'](parseInt,process['env']['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get['prefix'](){const _0xac92b6=a0_0x9daa,_0x41b7be={'tDvfC':'default'};if(!this['_prefix']){const _0xd0d41=process[_0xac92b6(0x80)]['RESTFORGE_PROJECT_NAME']||_0x41b7be['tDvfC'];this['_prefix']='restforge:'+_0xd0d41+_0xac92b6(0x6f);}return this[_0xac92b6(0x78)];}async[a0_0x516e36(0x8b)](_0x2af4c8,_0x1164ab){const _0x53f43e=a0_0x516e36,_0x573a57={'Dsfpk':_0x53f43e(0x77)};try{const _0x54f82c=redisClient[_0x53f43e(0x72)](),_0x22f93a=''+this['prefix']+_0x2af4c8;return await _0x54f82c[_0x53f43e(0x7b)](_0x22f93a,this[_0x53f43e(0x6e)],JSON[_0x53f43e(0x73)](_0x1164ab)),!![];}catch(_0x1dbb71){return logger[_0x53f43e(0x75)]({'event':'redis_set_error','jobId':_0x2af4c8,'error':_0x1dbb71[_0x53f43e(0x69)]},_0x573a57[_0x53f43e(0x7c)]),![];}}async['getJob'](_0x553b69){const _0x39606e=a0_0x516e36;try{const _0x355bee=redisClient['getClient'](),_0x590f7f=''+this[_0x39606e(0x74)]+_0x553b69,_0x2c57bc=await _0x355bee['get'](_0x590f7f);return _0x2c57bc?JSON[_0x39606e(0x66)](_0x2c57bc):null;}catch(_0x2df2b2){return logger[_0x39606e(0x75)]({'event':_0x39606e(0x6c),'jobId':_0x553b69,'error':_0x2df2b2[_0x39606e(0x69)]},'Failed\x20to\x20get\x20job\x20from\x20Redis'),null;}}async[a0_0x516e36(0x8a)](_0x424de5,_0x223614){const _0x57b0d7=await this['getJob'](_0x424de5);if(!_0x57b0d7)return![];const _0x4448f1={..._0x57b0d7,..._0x223614};return await this['setJob'](_0x424de5,_0x4448f1);}async['deleteJob'](_0x3747a3){const _0x10221c=a0_0x516e36,_0x33e8cf={'UZGLU':'redis_delete_error','oXeXg':'Failed\x20to\x20delete\x20job\x20from\x20Redis'};try{const _0x2af6e8=redisClient['getClient'](),_0x40c8ae=''+this['prefix']+_0x3747a3;return await _0x2af6e8[_0x10221c(0x81)](_0x40c8ae),!![];}catch(_0x33e2ab){return logger['error']({'event':_0x33e8cf[_0x10221c(0x86)],'jobId':_0x3747a3,'error':_0x33e2ab[_0x10221c(0x69)]},_0x33e8cf[_0x10221c(0x89)]),![];}}async[a0_0x516e36(0x87)](){const _0x238568=a0_0x516e36,_0x34917e={'DNOIe':_0x238568(0x83),'zRcel':'Failed\x20to\x20get\x20all\x20jobs'};try{const _0x5211b1=redisClient['getClient'](),_0x153ed0=await _0x5211b1[_0x238568(0x7e)](this['prefix']+'*'),_0x1de53d=[];for(const _0x1cec66 of _0x153ed0){const _0x3367d7=await _0x5211b1[_0x238568(0x85)](_0x1cec66);_0x3367d7&&_0x1de53d[_0x238568(0x68)](JSON[_0x238568(0x66)](_0x3367d7));}return _0x1de53d;}catch(_0x322827){return logger['error']({'event':_0x34917e['DNOIe'],'error':_0x322827['message']},_0x34917e['zRcel']),[];}}}module[a0_0x516e36(0x76)]=new RedisHelper();
|