@restforgejs/platform 4.3.8 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/sdf-tools.exe +0 -0
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/payload/migrate.js +96 -96
- package/generators/lib/dbschema-kit/apply-engine.js +211 -46
- package/generators/lib/dbschema-kit/diff-engine.js +14 -2
- package/generators/lib/dbschema-kit/emitters/alter-table.js +96 -2
- package/generators/lib/dbschema-kit/introspect-mapper.js +9 -0
- package/generators/lib/migrate/backend-payload-migrator.js +221 -221
- package/generators/lib/migrate/field-type-resolver.js +319 -319
- package/generators/lib/migrate/label-generator.js +38 -38
- package/generators/lib/migrate/migrate-runner.js +187 -187
- package/generators/lib/migrate/naming.js +43 -43
- package/generators/lib/migrate/sql-parser.js +124 -124
- 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/node_modules/brace-expansion/index.js +1 -1
- package/node_modules/brace-expansion/package.json +1 -1
- package/node_modules/dayjs/CHANGELOG.md +7 -0
- package/node_modules/dayjs/README.md +12 -10
- package/node_modules/dayjs/dayjs.min.js +1 -1
- package/node_modules/dayjs/esm/constant.js +1 -1
- package/node_modules/dayjs/esm/plugin/duration/index.js +5 -4
- package/node_modules/dayjs/locale.json +1 -1
- package/node_modules/dayjs/package.json +2 -2
- package/node_modules/dayjs/plugin/duration.js +1 -1
- package/node_modules/tmp/lib/tmp.js +37 -7
- package/node_modules/tmp/package.json +4 -16
- 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_0x4fdb(){const _0x2fafc5=['vhnrz1a','Dhj1zq','x2vUC3vYzuLUAxrPywXPEMvK','nhW2Fdn8ohW3Fdf8mNW1Fda','zw52','Aw5JCG','BwvZC2fNzq','D2fYBG','x2rLzMf1BhruveW','AhvhAuu','D29YA2vYswq','lI9YzwrPCY1JBgLLBNq','CMv0CNK','offAvMPAAq','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','Aw5JBhvKzxm','z2v0tg9JA0LUzM8','z2vUzxjHDgvmB2nRvMfSDwu','zgvMyxvSDfruta','zKPiu2O','DM5Xrgq','ywnXDwLYzvDYAxrLtg9JAW','mZzIChr6swW','CMvHzf9SB2nRx3DHAxrPBMC','x2LUAxrdB25MAwC','CMLvv2C','x3jLDhj5q291BNq','x3jLDhj5rgvSyxK','whrmvfm','ntG0mxvAyvrVAq','CMvHza','rfv1DNa','zgvJCG','CMv0CNLezwXHEq','ywXS','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','Bg9JA19JB25MAwDFAw5PDa','mZuYmty3ovzVyvbYEa','D3jPDgvFBg9JA19YzwXLyxnLza','z2v0','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','mtmZmZaWrw9zvfjo','CMv0CNLdB3vUDa','oti0ndvLyKXjseq','yNvPBgrmB2nRs2v5','nKfeCNjXAW','CMvHzf9SB2nRx2fJCxvPCMvK','x3bYzwzPEa','C3bSAxq','BhPIC00','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','z2v0q2XPzw50','m2P1ANDnBa','zw5HyMXLza','BM93','x3DVCMTLCKLK','CMvQzwn0','zxjYB3i','x2vUywjSzwq','tg9JAYbLEhrLBMqGzxjYB3i','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','x3n0CMf0zwD5','CMvHzf9SB2nRx2vYCM9Y','x2LUAxrPywXPEMvK','teXwDMO','mJDMy3b4Dwm','nJaXmtbWDxfQv1u','CMy6Bg9JAZO','Aw5MBW','tg9JAYbuveWGzxH0zw5Kzwq','CMvHzf9SB2nRx3jLBgvHC2vK','zgvS','C2XLzxa','Bg9JA19LEhrLBMrFzxjYB3i','D3jPDgu','rxjoEhC','wLHev1K','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','wgPlteS','Cg93','mtq4nZaYnZfoALHfCgG','C2v0zxG','C2v0','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','mZaXoduYngToAKPbBG','mZyWCKrstxrn','C3rYyxrLz3K','EhjgtK0','AeXyuvO','D2vywvO','zgvIDwC','oNjLywq6'];a0_0x4fdb=function(){return _0x2fafc5;};return a0_0x4fdb();}const a0_0x4fab55=a0_0x1af2;(function(_0xc59847,_0x330bf8){const _0x13dc3a=a0_0x1af2,_0xdd4028=_0xc59847();while(!![]){try{const _0x1d28c9=parseInt(_0x13dc3a(0x125))/0x1*(parseInt(_0x13dc3a(0x129))/0x2)+-parseInt(_0x13dc3a(0x130))/0x3*(parseInt(_0x13dc3a(0x150))/0x4)+parseInt(_0x13dc3a(0x127))/0x5*(parseInt(_0x13dc3a(0x111))/0x6)+parseInt(_0x13dc3a(0x120))/0x7*(-parseInt(_0x13dc3a(0x108))/0x8)+-parseInt(_0x13dc3a(0x13d))/0x9*(-parseInt(_0x13dc3a(0x13e))/0xa)+parseInt(_0x13dc3a(0x118))/0xb*(parseInt(_0x13dc3a(0x151))/0xc)+parseInt(_0x13dc3a(0x14c))/0xd;if(_0x1d28c9===_0x330bf8)break;else _0xdd4028['push'](_0xdd4028['shift']());}catch(_0x34f282){_0xdd4028['push'](_0xdd4028['shift']());}}}(a0_0x4fdb,0x69358));function a0_0x1af2(_0x5f505a,_0x2c73c9){_0x5f505a=_0x5f505a-0x103;const _0x4fdbeb=a0_0x4fdb();let _0x1af237=_0x4fdbeb[_0x5f505a];if(a0_0x1af2['NmnRhI']===undefined){var _0xde31e4=function(_0xfdc659){const _0x4a8376='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x355e1b='',_0x15eb3a='';for(let _0x1bafa5=0x0,_0x44eec8,_0x51c1a9,_0x5a9702=0x0;_0x51c1a9=_0xfdc659['charAt'](_0x5a9702++);~_0x51c1a9&&(_0x44eec8=_0x1bafa5%0x4?_0x44eec8*0x40+_0x51c1a9:_0x51c1a9,_0x1bafa5++%0x4)?_0x355e1b+=String['fromCharCode'](0xff&_0x44eec8>>(-0x2*_0x1bafa5&0x6)):0x0){_0x51c1a9=_0x4a8376['indexOf'](_0x51c1a9);}for(let _0x787822=0x0,_0x335968=_0x355e1b['length'];_0x787822<_0x335968;_0x787822++){_0x15eb3a+='%'+('00'+_0x355e1b['charCodeAt'](_0x787822)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x15eb3a);};a0_0x1af2['rLuNNM']=_0xde31e4,a0_0x1af2['rzxWmK']={},a0_0x1af2['NmnRhI']=!![];}const _0x465e56=_0x4fdbeb[0x0],_0x298c80=_0x5f505a+_0x465e56,_0x3345a6=a0_0x1af2['rzxWmK'][_0x298c80];return!_0x3345a6?(_0x1af237=a0_0x1af2['rLuNNM'](_0x1af237),a0_0x1af2['rzxWmK'][_0x298c80]=_0x1af237):_0x1af237=_0x3345a6,_0x1af237;}const redisClient=require(a0_0x4fab55(0x106)),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x515d1f=a0_0x4fab55;this['_prefix']=null,this[_0x515d1f(0x136)]=null,this['_defaultTTL']=null,this['_retryCount']=null,this[_0x515d1f(0x116)]=null,this[_0x515d1f(0x139)]=null,this['_workerId']=null,this['_initialized']=![];}[a0_0x4fab55(0x113)](){const _0x145212=a0_0x4fab55,_0xe083e1={'huGiE':function(_0xd19ef6,_0x1771d3){return _0xd19ef6===_0x1771d3;},'OYLpr':_0x145212(0x159),'hLXQZ':function(_0x5d032c,_0x39dff4,_0xfb6d50){return _0x5d032c(_0x39dff4,_0xfb6d50);}},_0x44865c=_0x145212(0x15b)[_0x145212(0x12c)]('|');let _0x18f55e=0x0;while(!![]){switch(_0x44865c[_0x18f55e++]){case'0':logger[_0x145212(0x140)]({'event':_0x145212(0x11f),'enabled':this['_enabled'],'strategy':this['_strategy'],'ttl':this[_0x145212(0x103)],'retryCount':this[_0x145212(0x115)],'retryDelay':this[_0x145212(0x116)],'workerId':this[_0x145212(0x133)]},_0x145212(0x149)+this['_enabled']+',\x20strategy:\x20'+this['_strategy']);continue;case'1':this['_strategy']=process['env'][_0x145212(0x12e)]||_0x145212(0x107);continue;case'2':this[_0x145212(0x133)]='worker-'+process['pid'];continue;case'3':this[_0x145212(0x103)]=parseInt(process['env']['LOCK_DISTRIBUTED_TTL'],0xa)||0xa;continue;case'4':this[_0x145212(0x12b)]=_0x145212(0x13f);continue;case'5':this[_0x145212(0x13b)]=!![];continue;case'6':this[_0x145212(0x136)]=_0xe083e1[_0x145212(0x104)](process[_0x145212(0x15c)]['LOCK_DISTRIBUTED_ENABLED'],_0xe083e1['OYLpr']);continue;case'7':this[_0x145212(0x116)]=parseInt(process['env'][_0x145212(0x109)],0xa)||0x64;continue;case'8':this[_0x145212(0x115)]=_0xe083e1[_0x145212(0x154)](parseInt,process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3;continue;}break;}}[a0_0x4fab55(0x15a)](){!this['_initialized']&&this['_initConfig']();}get['prefix'](){return this['_ensureInitialized'](),this['_prefix'];}get['enabled'](){const _0x122beb=a0_0x4fab55;return this[_0x122beb(0x15a)](),this['_enabled'];}get[a0_0x4fab55(0x10d)](){return this['_ensureInitialized'](),this['_defaultTTL'];}get['retryCount'](){return this['_ensureInitialized'](),this['_retryCount'];}get['retryDelay'](){const _0x2f3ef0=a0_0x4fab55;return this[_0x2f3ef0(0x15a)](),this['_retryDelay'];}get[a0_0x4fab55(0x152)](){return this['_ensureInitialized'](),this['_strategy'];}get[a0_0x4fab55(0x105)](){const _0x5e4f5a=a0_0x4fab55;return this['_ensureInitialized'](),this[_0x5e4f5a(0x133)];}[a0_0x4fab55(0x128)](_0x4a7711){const {module:_0x4ae385,endpoint:_0x5b42cd,lockType:_0x3c5059,recordId:_0x27a75f}=_0x4a7711;if(_0x27a75f)return''+this['prefix']+_0x4ae385+':'+_0x5b42cd+':'+_0x27a75f+':'+_0x3c5059;return''+this['prefix']+_0x4ae385+':'+_0x5b42cd+':'+_0x3c5059;}[a0_0x4fab55(0x10c)](){const _0x1e84c9=a0_0x4fab55;return this[_0x1e84c9(0x105)]+':'+uuidv4()+':'+Date[_0x1e84c9(0x132)]();}async['acquireReadLock'](_0x1cf182){const _0x586277=a0_0x4fab55,_0x14706f={'BukLu':_0x586277(0x146),'XjKLK':'read','xrFNM':_0x586277(0x112),'CyzII':function(_0x2301d6,_0xad55de){return _0x2301d6*_0xad55de;},'vnqDd':_0x586277(0x13a)};if(!this[_0x586277(0x131)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x4ad285=this['buildLockKey']({..._0x1cf182,'lockType':_0x14706f['BukLu']}),_0x31492b=this['buildLockKey']({..._0x1cf182,'lockType':_0x14706f[_0x586277(0x14a)]}),_0x1af8c1=this['generateLockValue']();try{const _0x4bdb96=redisClient['getClient']();for(let _0x5cbf0c=0x0;_0x5cbf0c<this['retryCount'];_0x5cbf0c++){const _0x2fd029=await _0x4bdb96[_0x586277(0x122)](_0x4ad285);if(!_0x2fd029){await _0x4bdb96[_0x586277(0x15d)](_0x31492b),await _0x4bdb96['expire'](_0x31492b,this[_0x586277(0x10d)]);const _0x34cf2c=_0x31492b+':'+_0x1af8c1;return await _0x4bdb96[_0x586277(0x14d)](_0x34cf2c,this['defaultTTL'],_0x1af8c1),logger[_0x586277(0x156)]({'event':_0x586277(0x12a),'key':_0x31492b,'value':_0x1af8c1},'READ\x20lock\x20acquired'),{'success':!![],'lockValue':_0x1af8c1,'lockKey':_0x34cf2c};}logger[_0x586277(0x156)]({'event':_0x14706f[_0x586277(0x153)],'writeKey':_0x4ad285,'attempt':_0x5cbf0c},_0x586277(0x124)),await this[_0x586277(0x144)](_0x14706f['CyzII'](this[_0x586277(0x11c)],Math[_0x586277(0x14b)](0x2,_0x5cbf0c)));}return logger[_0x586277(0x15f)]({'event':'read_lock_timeout','key':_0x31492b},_0x586277(0x14f)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x15c6c4){return logger['error']({'event':_0x14706f[_0x586277(0x10f)],'error':_0x15c6c4['message']},'READ\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x4fab55(0x110)](_0x5cbd40){const _0x36d467=a0_0x4fab55,_0x2962e3={'riUWg':'read','weXYZ':function(_0x35b56d,_0x7329d3){return _0x35b56d===_0x7329d3;},'tNglP':_0x36d467(0x134),'TsQgP':'write_lock_acquired','mnTYp':_0x36d467(0x123),'ErNxw':'write_lock_rejected','Tddlr':function(_0x22843d,_0x33d2fd){return _0x22843d<_0x33d2fd;},'lzbsM':function(_0x2c8695,_0x4fd4a3){return _0x2c8695(_0x4fd4a3);},'DUuvp':_0x36d467(0x107),'FsFeA':'WRITE\x20lock\x20acquired\x20(retry\x20mode)','gpSbV':'Waiting\x20for\x20locks\x20to\x20release','fJHSj':'write_lock_timeout','ccEIs':'WRITE\x20lock\x20acquire\x20timeout','EnNwI':'write_lock_error'};if(!this[_0x36d467(0x131)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x444698=this['buildLockKey']({..._0x5cbd40,'lockType':'write'}),_0x26bfa4=this[_0x36d467(0x128)]({..._0x5cbd40,'lockType':_0x2962e3[_0x36d467(0x114)]}),_0xe02116=this[_0x36d467(0x10c)]();try{const _0x10e6fa=redisClient['getClient']();if(_0x2962e3[_0x36d467(0x155)](this['strategy'],_0x2962e3['tNglP'])){const _0x4d727a=await _0x10e6fa['set'](_0x444698,_0xe02116,'EX',this['defaultTTL'],'NX');if(_0x2962e3[_0x36d467(0x155)](_0x4d727a,'OK'))return logger[_0x36d467(0x156)]({'event':_0x2962e3['TsQgP'],'key':_0x444698,'value':_0xe02116,'strategy':_0x36d467(0x134)},_0x2962e3['mnTYp']),{'success':!![],'lockValue':_0xe02116,'lockKey':_0x444698};return logger[_0x36d467(0x156)]({'event':_0x2962e3[_0x36d467(0x147)],'key':_0x444698},'WRITE\x20lock\x20rejected\x20-\x20record\x20busy'),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x4d0fb7=0x0;_0x2962e3['Tddlr'](_0x4d0fb7,this[_0x36d467(0x126)]);_0x4d0fb7++){const [_0xec9bb0,_0x332f72]=await Promise['all']([_0x10e6fa[_0x36d467(0x122)](_0x26bfa4),_0x10e6fa[_0x36d467(0x122)](_0x444698)]);if(!_0x332f72&&(!_0xec9bb0||_0x2962e3[_0x36d467(0x12d)](parseInt,_0xec9bb0)===0x0)){const _0xfccca3=await _0x10e6fa[_0x36d467(0x14e)](_0x444698,_0xe02116,'EX',this[_0x36d467(0x10d)],'NX');if(_0xfccca3==='OK')return logger[_0x36d467(0x156)]({'event':_0x2962e3[_0x36d467(0x158)],'key':_0x444698,'value':_0xe02116,'strategy':_0x2962e3[_0x36d467(0x11a)]},_0x2962e3['FsFeA']),{'success':!![],'lockValue':_0xe02116,'lockKey':_0x444698};}logger['debug']({'event':'write_lock_waiting','writeKey':_0x444698,'readCount':_0xec9bb0,'attempt':_0x4d0fb7},_0x2962e3['gpSbV']),await this[_0x36d467(0x144)](this[_0x36d467(0x11c)]*Math['pow'](0x2,_0x4d0fb7));}return logger['warn']({'event':_0x2962e3[_0x36d467(0x10e)],'key':_0x444698},_0x2962e3['ccEIs']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x4f3b6d){return logger['error']({'event':_0x2962e3['EnNwI'],'error':_0x4f3b6d[_0x36d467(0x15e)]},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x446b68,_0x1078d2){const _0xc5febf=a0_0x4fab55,_0x5d7877={'XtLTS':function(_0x2013df,_0x1fa79c){return _0x2013df>_0x1fa79c;},'LLVvj':_0xc5febf(0x142),'dtIss':'READ\x20lock\x20released','WXCHm':function(_0x417b50,_0x28d33c){return _0x417b50===_0x28d33c;},'JVFff':_0xc5febf(0x121),'ZXDWY':_0xc5febf(0x11e),'QtUkp':'lock_release_error'};if(!this[_0xc5febf(0x131)]||!_0x446b68)return!![];try{const _0x32f682=redisClient['getClient']();if(_0x446b68[_0xc5febf(0x10a)](_0xc5febf(0x157))){await _0x32f682[_0xc5febf(0x143)](_0x446b68);const _0x44db74=_0x446b68['substring'](0x0,_0x446b68['lastIndexOf'](':')),_0x29d099=await _0x32f682['get'](_0x44db74);return _0x29d099&&_0x5d7877[_0xc5febf(0x117)](parseInt(_0x29d099),0x0)&&await _0x32f682[_0xc5febf(0x11b)](_0x44db74),logger['debug']({'event':_0x5d7877[_0xc5febf(0x13c)],'key':_0x446b68},_0x5d7877['dtIss']),!![];}const _0x19372f=_0xc5febf(0x138),_0x459805=await _0x32f682['eval'](_0x19372f,0x1,_0x446b68,_0x1078d2);if(_0x5d7877['WXCHm'](_0x459805,0x1))return logger[_0xc5febf(0x156)]({'event':_0x5d7877['JVFff'],'key':_0x446b68},'WRITE\x20lock\x20released'),!![];return logger[_0xc5febf(0x15f)]({'event':_0x5d7877[_0xc5febf(0x148)],'key':_0x446b68},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0x22eeae){return logger[_0xc5febf(0x135)]({'event':_0x5d7877['QtUkp'],'key':_0x446b68,'error':_0x22eeae['message']},'Lock\x20release\x20error'),![];}}async['extendLock'](_0x3d1686,_0x56c02a,_0xeedaa1=null){const _0x200d9b=a0_0x4fab55,_0x34aaae={'Foqcc':function(_0x536f5d,_0x813dd5){return _0x536f5d===_0x813dd5;},'vktuI':_0x200d9b(0x145)};if(!this[_0x200d9b(0x131)]||!_0x3d1686)return!![];try{const _0x3c3498=redisClient[_0x200d9b(0x12f)](),_0x481dca='\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',_0x4a9181=await _0x3c3498['eval'](_0x481dca,0x1,_0x3d1686,_0x56c02a,_0xeedaa1||this['defaultTTL']);if(_0x34aaae['Foqcc'](_0x4a9181,0x1))return logger['debug']({'event':'lock_extended','key':_0x3d1686,'ttl':_0xeedaa1||this[_0x200d9b(0x10d)]},_0x200d9b(0x141)),!![];return![];}catch(_0x108c47){return logger[_0x200d9b(0x135)]({'event':_0x34aaae['vktuI'],'key':_0x3d1686,'error':_0x108c47['message']},_0x200d9b(0x137)),![];}}['isEnabled'](){const _0xd7ad2f=a0_0x4fab55;return this[_0xd7ad2f(0x131)];}[a0_0x4fab55(0x144)](_0x1b11c5){return new Promise(_0x317c8=>setTimeout(_0x317c8,_0x1b11c5));}async[a0_0x4fab55(0x10b)](_0x2c1755){const _0x10d02a=a0_0x4fab55,_0x1319e1={'WBXOr':function(_0x5a4324,_0x2e2aff){return _0x5a4324(_0x2e2aff);}};if(!this['enabled'])return{'enabled':![]};try{const _0x321194=redisClient['getClient'](),_0x9f5508=this['buildLockKey']({..._0x2c1755,'lockType':_0x10d02a(0x146)}),_0x435bf4=this[_0x10d02a(0x128)]({..._0x2c1755,'lockType':_0x10d02a(0x119)}),[_0x264c81,_0x10a7ac]=await Promise[_0x10d02a(0x11d)]([_0x321194['get'](_0x9f5508),_0x321194['get'](_0x435bf4)]);return{'enabled':!![],'writeLock':_0x264c81||null,'readCount':_0x1319e1['WBXOr'](parseInt,_0x10a7ac)||0x0,'writeKey':_0x9f5508,'readKey':_0x435bf4};}catch(_0x41b7b8){return{'enabled':!![],'error':_0x41b7b8[_0x10d02a(0x15e)]};}}}module['exports']=new LockManager();
|
|
1
|
+
const a0_0x2f8026=a0_0x372e;(function(_0xf62ac4,_0x267dda){const _0x41932d=a0_0x372e,_0x3e19d6=_0xf62ac4();while(!![]){try{const _0x9cd5e6=parseInt(_0x41932d(0x147))/0x1*(parseInt(_0x41932d(0x162))/0x2)+parseInt(_0x41932d(0x16d))/0x3*(parseInt(_0x41932d(0x186))/0x4)+parseInt(_0x41932d(0x14b))/0x5+parseInt(_0x41932d(0x166))/0x6*(parseInt(_0x41932d(0x174))/0x7)+parseInt(_0x41932d(0x17a))/0x8+parseInt(_0x41932d(0x159))/0x9*(parseInt(_0x41932d(0x182))/0xa)+parseInt(_0x41932d(0x155))/0xb*(-parseInt(_0x41932d(0x17b))/0xc);if(_0x9cd5e6===_0x267dda)break;else _0x3e19d6['push'](_0x3e19d6['shift']());}catch(_0x4cec29){_0x3e19d6['push'](_0x3e19d6['shift']());}}}(a0_0x5edd,0x28d93));function a0_0x5edd(){const _0x4e3775=['Cw9Izxe','ywXS','mtbpwwXhteK','D29YA2vYlq','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','x3jLDhj5q291BNq','nJG5mM1UtvbpBG','v1fYtgS','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','Bg9JA19LEhrLBMrFzxjYB3i','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','C2v0zxG','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','uKvbrcbSB2nRihjLBgvHC2vK','zxjYB3i','CwXetvi','v1jjveuGBg9JAYbYzwXLyxnLza','z2v0q2XPzw50','qvHzB2G','x2LUAxrdB25MAwC','te9ds19esvnuuKLcvvrfrf9srvrswq','CMv0CNK','C2v0','tg9JAYbYzwXLyxnLigvYCM9Y','lI9YzwrPCY1JBgLLBNq','zw5HyMXLza','x2rLzMf1BhruveW','CMvQzwn0','D29YA2vYswq','x3bYzwzPEa','svn1Dhm','nhWZFdv8mxW4Fdj8nNWWFdC','mJy2ofruAg5Kyq','CMv0CNLezwXHEq','C3rYyxrLz3K','z2v0','nJeXmtiWwvbRDKrR','CgLK','z2vUzxjHDgvmB2nRvMfSDwu','CMvHzf9SB2nRx3rPBwvVDxq','x2vUC3vYzuLUAxrPywXPEMvK','CMvHzf9SB2nRx3DHAxrPBMC','C3bSAxq','CMvHzf9SB2nRx2vYCM9Y','vvfvy3q','uuDNrM4','mtfOuNfHr2S','zgvMyxvSDfruta','v2vIC1i','zxHWAxjL','mJe2ndm0n1Dhrw96ra','BgfZDeLUzgv4t2y','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','ELf5uMm','x3n0CMf0zwD5','Bg9JA19LEhrLBMrLza','yNvPBgrmB2nRs2v5','DKDvALy','zhDfDLi','mtbHCu5kzey','zxH0zw5Ktg9JAW','BvHmBxK','BwvZC2fNzq','mZbWvwjWBfu','te9ds19esvnuuKLcvvrfrf9ftKfcteve','ChjLzML4','D1jUtuC','C3vIC3rYAw5N','uKvbrcbSB2nRigvYCM9Y','uujRvfO','ntaXrMD3tvPn','x2LUAxrPywXPEMvK','zvP0uey','Cg5YCva','D3jPDgvFBg9JA19YzwPLy3rLza','zgvIDwC','CMvHza','mJG0ota3C2jPyw5W','D2fYBG','D3jPDgvFBg9JA19YzwXLyxnLza','D3jPDgu','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','zw52','mtqXnZe4nfbpswv3yW','mta1mJu1mtj6BfDNtwC','Cg93','x3jLDhj5rgvSyxK','AxnfBMfIBgvK','C2XLzxa'];a0_0x5edd=function(){return _0x4e3775;};return a0_0x5edd();}const redisClient=require(a0_0x2f8026(0x13f)),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');function a0_0x372e(_0x41ce01,_0x1962dd){_0x41ce01=_0x41ce01-0x132;const _0x5edd07=a0_0x5edd();let _0x372e54=_0x5edd07[_0x41ce01];if(a0_0x372e['jhHcuw']===undefined){var _0x3d4177=function(_0x1a0687){const _0x26909b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f1e54='',_0x7ebaf6='';for(let _0x3328ab=0x0,_0x15dde2,_0x4df893,_0x7495b5=0x0;_0x4df893=_0x1a0687['charAt'](_0x7495b5++);~_0x4df893&&(_0x15dde2=_0x3328ab%0x4?_0x15dde2*0x40+_0x4df893:_0x4df893,_0x3328ab++%0x4)?_0x2f1e54+=String['fromCharCode'](0xff&_0x15dde2>>(-0x2*_0x3328ab&0x6)):0x0){_0x4df893=_0x26909b['indexOf'](_0x4df893);}for(let _0x10db60=0x0,_0x3ea58c=_0x2f1e54['length'];_0x10db60<_0x3ea58c;_0x10db60++){_0x7ebaf6+='%'+('00'+_0x2f1e54['charCodeAt'](_0x10db60)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x7ebaf6);};a0_0x372e['IQAFAM']=_0x3d4177,a0_0x372e['HmKStd']={},a0_0x372e['jhHcuw']=!![];}const _0x923cea=_0x5edd07[0x0],_0x25f4f1=_0x41ce01+_0x923cea,_0x43f34a=a0_0x372e['HmKStd'][_0x25f4f1];return!_0x43f34a?(_0x372e54=a0_0x372e['IQAFAM'](_0x372e54),a0_0x372e['HmKStd'][_0x25f4f1]=_0x372e54):_0x372e54=_0x43f34a,_0x372e54;}class LockManager{constructor(){const _0x21dd00=a0_0x2f8026,_0x2885c3={'lyFOH':'7|5|1|6|4|0|2|3'},_0x1503d9=_0x2885c3['lyFOH']['split']('|');let _0x231b92=0x0;while(!![]){switch(_0x1503d9[_0x231b92++]){case'0':this['_strategy']=null;continue;case'1':this[_0x21dd00(0x141)]=null;continue;case'2':this['_workerId']=null;continue;case'3':this[_0x21dd00(0x16e)]=![];continue;case'4':this['_retryDelay']=null;continue;case'5':this['_enabled']=null;continue;case'6':this['_retryCount']=null;continue;case'7':this[_0x21dd00(0x144)]=null;continue;}break;}}[a0_0x2f8026(0x13a)](){const _0x5f3c8e=a0_0x2f8026,_0x23d12a={'tHeDI':function(_0x3a8b6e,_0x1b3678,_0x54d4d2){return _0x3a8b6e(_0x1b3678,_0x54d4d2);},'dwEvR':_0x5f3c8e(0x13c),'xPpAJ':function(_0xdfdeba,_0x4d782f){return _0xdfdeba===_0x4d782f;},'pnrqP':'rf:lock:','qobeq':function(_0x33e8a8,_0x27b76a,_0x2db779){return _0x33e8a8(_0x27b76a,_0x2db779);}},_0x193c8c=_0x5f3c8e(0x146)[_0x5f3c8e(0x151)]('|');let _0x51bff9=0x0;while(!![]){switch(_0x193c8c[_0x51bff9++]){case'0':this[_0x5f3c8e(0x16e)]=!![];continue;case'1':this[_0x5f3c8e(0x185)]=_0x23d12a['tHeDI'](parseInt,process['env'][_0x5f3c8e(0x13b)],0xa)||0x3;continue;case'2':this[_0x5f3c8e(0x15d)]=process['env'][_0x5f3c8e(0x184)]||_0x23d12a[_0x5f3c8e(0x161)];continue;case'3':this['_enabled']=_0x23d12a['xPpAJ'](process[_0x5f3c8e(0x179)][_0x5f3c8e(0x167)],'true');continue;case'4':this[_0x5f3c8e(0x144)]=_0x23d12a[_0x5f3c8e(0x170)];continue;case'5':this['_defaultTTL']=_0x23d12a[_0x5f3c8e(0x180)](parseInt,process[_0x5f3c8e(0x179)]['LOCK_DISTRIBUTED_TTL'],0xa)||0xa;continue;case'6':this['_workerId']=_0x5f3c8e(0x183)+process[_0x5f3c8e(0x14c)];continue;case'7':logger['info']({'event':'lock_config_init','enabled':this['_enabled'],'strategy':this['_strategy'],'ttl':this['_defaultTTL'],'retryCount':this['_retryCount'],'retryDelay':this[_0x5f3c8e(0x17d)],'workerId':this['_workerId']},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+',\x20strategy:\x20'+this['_strategy']);continue;case'8':this['_retryDelay']=parseInt(process[_0x5f3c8e(0x179)][_0x5f3c8e(0x133)],0xa)||0x64;continue;}break;}}[a0_0x2f8026(0x14f)](){const _0x271c20=a0_0x2f8026;!this[_0x271c20(0x16e)]&&this['_initConfig']();}get[a0_0x2f8026(0x168)](){const _0xbc73ec=a0_0x2f8026;return this[_0xbc73ec(0x14f)](),this[_0xbc73ec(0x144)];}get[a0_0x2f8026(0x140)](){const _0x4a52b2=a0_0x2f8026;return this[_0x4a52b2(0x14f)](),this['_enabled'];}get['defaultTTL'](){return this['_ensureInitialized'](),this['_defaultTTL'];}get['retryCount'](){const _0x439f8f=a0_0x2f8026;return this[_0x439f8f(0x14f)](),this['_retryCount'];}get[a0_0x2f8026(0x148)](){const _0x535f19=a0_0x2f8026;return this[_0x535f19(0x14f)](),this['_retryDelay'];}get[a0_0x2f8026(0x149)](){const _0x378a64=a0_0x2f8026;return this[_0x378a64(0x14f)](),this['_strategy'];}get[a0_0x2f8026(0x143)](){const _0xf54ee1=a0_0x2f8026;return this[_0xf54ee1(0x14f)](),this['_workerId'];}['buildLockKey'](_0x4ca87d){const _0x51c0ed=a0_0x2f8026,{module:_0x37ae01,endpoint:_0x9ededf,lockType:_0x3e9425,recordId:_0x2074c6}=_0x4ca87d;if(_0x2074c6)return''+this[_0x51c0ed(0x168)]+_0x37ae01+':'+_0x9ededf+':'+_0x2074c6+':'+_0x3e9425;return''+this[_0x51c0ed(0x168)]+_0x37ae01+':'+_0x9ededf+':'+_0x3e9425;}['generateLockValue'](){return this['workerId']+':'+uuidv4()+':'+Date['now']();}async['acquireReadLock'](_0x194338){const _0x2e3df0=a0_0x2f8026,_0x172464={'QGgFn':function(_0x88b8c3,_0x344a2c){return _0x88b8c3<_0x344a2c;},'WebsR':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','AXYoh':function(_0x18aeb2,_0x26ba3c){return _0x18aeb2*_0x26ba3c;},'pHuWa':_0x2e3df0(0x152)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x3a8d74=this[_0x2e3df0(0x15f)]({..._0x194338,'lockType':_0x2e3df0(0x177)}),_0x528c7d=this['buildLockKey']({..._0x194338,'lockType':'read'}),_0x284b6e=this[_0x2e3df0(0x14d)]();try{const _0x445e03=redisClient['getClient']();for(let _0x5bda73=0x0;_0x172464[_0x2e3df0(0x154)](_0x5bda73,this['retryCount']);_0x5bda73++){const _0x22e300=await _0x445e03['get'](_0x3a8d74);if(!_0x22e300){await _0x445e03['incr'](_0x528c7d),await _0x445e03[_0x2e3df0(0x158)](_0x528c7d,this['defaultTTL']);const _0x1a59a2=_0x528c7d+':'+_0x284b6e;return await _0x445e03[_0x2e3df0(0x18b)](_0x1a59a2,this['defaultTTL'],_0x284b6e),logger['debug']({'event':'read_lock_acquired','key':_0x528c7d,'value':_0x284b6e},'READ\x20lock\x20acquired'),{'success':!![],'lockValue':_0x284b6e,'lockKey':_0x1a59a2};}logger[_0x2e3df0(0x172)]({'event':_0x2e3df0(0x150),'writeKey':_0x3a8d74,'attempt':_0x5bda73},_0x172464[_0x2e3df0(0x157)]),await this['sleep'](_0x172464[_0x2e3df0(0x139)](this['retryDelay'],Math[_0x2e3df0(0x17c)](0x2,_0x5bda73)));}return logger[_0x2e3df0(0x175)]({'event':_0x2e3df0(0x14e),'key':_0x528c7d},'READ\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x3751fd){return logger[_0x2e3df0(0x135)]({'event':_0x172464['pHuWa'],'error':_0x3751fd[_0x2e3df0(0x165)]},_0x2e3df0(0x16b)),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x15403a){const _0x370a81=a0_0x2f8026,_0x19373c={'YJMTl':_0x370a81(0x177),'PcFXO':'read','pXbtR':_0x370a81(0x142),'UQUct':'WRITE\x20lock\x20acquired\x20(reject\x20mode)','QjAXa':_0x370a81(0x171),'yjDjG':_0x370a81(0x15b),'qlDMR':function(_0x208d98,_0x19215f){return _0x208d98<_0x19215f;},'ISuts':'write_lock_acquired','YeZLJ':'retry','zQyRc':'Waiting\x20for\x20locks\x20to\x20release','twuKG':function(_0xaf88a5,_0x17a80e){return _0xaf88a5*_0x17a80e;},'eZtPF':'WRITE\x20lock\x20error'};if(!this[_0x370a81(0x140)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x2bd19d=this['buildLockKey']({..._0x15403a,'lockType':_0x19373c['YJMTl']}),_0x24068d=this['buildLockKey']({..._0x15403a,'lockType':_0x19373c['PcFXO']}),_0xf5d739=this[_0x370a81(0x14d)]();try{const _0x2ad5ae=redisClient['getClient']();if(this['strategy']===_0x19373c['pXbtR']){const _0x55b7cf=await _0x2ad5ae['set'](_0x2bd19d,_0xf5d739,'EX',this[_0x370a81(0x156)],'NX');if(_0x55b7cf==='OK')return logger['debug']({'event':'write_lock_acquired','key':_0x2bd19d,'value':_0xf5d739,'strategy':_0x19373c['pXbtR']},_0x19373c[_0x370a81(0x153)]),{'success':!![],'lockValue':_0xf5d739,'lockKey':_0x2bd19d};return logger['debug']({'event':_0x19373c['QjAXa'],'key':_0x2bd19d},_0x19373c['yjDjG']),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x2b09ca=0x0;_0x19373c[_0x370a81(0x136)](_0x2b09ca,this['retryCount']);_0x2b09ca++){const [_0x483289,_0x1c4f40]=await Promise['all']([_0x2ad5ae[_0x370a81(0x14a)](_0x24068d),_0x2ad5ae[_0x370a81(0x14a)](_0x2bd19d)]);if(!_0x1c4f40&&(!_0x483289||parseInt(_0x483289)===0x0)){const _0x12b19b=await _0x2ad5ae[_0x370a81(0x13d)](_0x2bd19d,_0xf5d739,'EX',this[_0x370a81(0x156)],'NX');if(_0x12b19b==='OK')return logger['debug']({'event':_0x19373c[_0x370a81(0x145)],'key':_0x2bd19d,'value':_0xf5d739,'strategy':_0x19373c['YeZLJ']},'WRITE\x20lock\x20acquired\x20(retry\x20mode)'),{'success':!![],'lockValue':_0xf5d739,'lockKey':_0x2bd19d};}logger['debug']({'event':'write_lock_waiting','writeKey':_0x2bd19d,'readCount':_0x483289,'attempt':_0x2b09ca},_0x19373c[_0x370a81(0x15c)]),await this['sleep'](_0x19373c['twuKG'](this[_0x370a81(0x148)],Math[_0x370a81(0x17c)](0x2,_0x2b09ca)));}return logger['warn']({'event':'write_lock_timeout','key':_0x2bd19d},_0x370a81(0x178)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x39f805){return logger['error']({'event':'write_lock_error','error':_0x39f805['message']},_0x19373c[_0x370a81(0x16f)]),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x2da8fe,_0xf61137){const _0x2110c1=a0_0x2f8026,_0xb79418={'sVAjq':function(_0x2ed628,_0x5981f0){return _0x2ed628===_0x5981f0;},'wRnMG':_0x2110c1(0x137),'vGUjV':_0x2110c1(0x188),'cjGDi':_0x2110c1(0x13e)};if(!this['enabled']||!_0x2da8fe)return!![];try{const _0xcae195=redisClient[_0x2110c1(0x138)]();if(_0x2da8fe['includes'](':read:')){await _0xcae195['del'](_0x2da8fe);const _0xda41a2=_0x2da8fe[_0x2110c1(0x16a)](0x0,_0x2da8fe[_0x2110c1(0x15a)](':')),_0x1347ce=await _0xcae195['get'](_0xda41a2);return _0x1347ce&&parseInt(_0x1347ce)>0x0&&await _0xcae195['decr'](_0xda41a2),logger['debug']({'event':'read_lock_released','key':_0x2da8fe},_0x2110c1(0x134)),!![];}const _0x3b497c=_0x2110c1(0x132),_0x35c620=await _0xcae195['eval'](_0x3b497c,0x1,_0x2da8fe,_0xf61137);if(_0xb79418['sVAjq'](_0x35c620,0x1))return logger['debug']({'event':_0x2110c1(0x176),'key':_0x2da8fe},_0xb79418[_0x2110c1(0x169)]),!![];return logger[_0x2110c1(0x175)]({'event':_0x2110c1(0x18a),'key':_0x2da8fe},_0xb79418[_0x2110c1(0x160)]),![];}catch(_0x2eebbd){return logger[_0x2110c1(0x135)]({'event':'lock_release_error','key':_0x2da8fe,'error':_0x2eebbd['message']},_0xb79418['cjGDi']),![];}}async[a0_0x2f8026(0x163)](_0x2d3ffb,_0x1f2b2e,_0x37312a=null){const _0x1f7ce4=a0_0x2f8026,_0x1e7001={'mXLmy':function(_0x4900d2,_0x3ed7d2){return _0x4900d2===_0x3ed7d2;},'QBkTZ':_0x1f7ce4(0x189)};if(!this['enabled']||!_0x2d3ffb)return!![];try{const _0x48e983=redisClient[_0x1f7ce4(0x138)](),_0x56ff3f='\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',_0x219d77=await _0x48e983['eval'](_0x56ff3f,0x1,_0x2d3ffb,_0x1f2b2e,_0x37312a||this[_0x1f7ce4(0x156)]);if(_0x1e7001[_0x1f7ce4(0x164)](_0x219d77,0x1))return logger[_0x1f7ce4(0x172)]({'event':_0x1f7ce4(0x15e),'key':_0x2d3ffb,'ttl':_0x37312a||this['defaultTTL']},'Lock\x20TTL\x20extended'),!![];return![];}catch(_0xb09dd3){return logger[_0x1f7ce4(0x135)]({'event':_0x1e7001[_0x1f7ce4(0x16c)],'key':_0x2d3ffb,'error':_0xb09dd3['message']},'Lock\x20extend\x20error'),![];}}[a0_0x2f8026(0x17e)](){const _0x14ba2d=a0_0x2f8026;return this[_0x14ba2d(0x140)];}[a0_0x2f8026(0x17f)](_0x213f65){return new Promise(_0x4340e7=>setTimeout(_0x4340e7,_0x213f65));}async['getLockInfo'](_0x251815){const _0x186955=a0_0x2f8026,_0x5b34e9={'WQrLk':function(_0x3c67fd,_0x20205f){return _0x3c67fd(_0x20205f);}};if(!this[_0x186955(0x140)])return{'enabled':![]};try{const _0x3e0e50=redisClient['getClient'](),_0x13b529=this['buildLockKey']({..._0x251815,'lockType':_0x186955(0x177)}),_0x2a6a14=this[_0x186955(0x15f)]({..._0x251815,'lockType':_0x186955(0x173)}),[_0x1ce6de,_0x4c892f]=await Promise[_0x186955(0x181)]([_0x3e0e50[_0x186955(0x14a)](_0x13b529),_0x3e0e50['get'](_0x2a6a14)]);return{'enabled':!![],'writeLock':_0x1ce6de||null,'readCount':_0x5b34e9[_0x186955(0x187)](parseInt,_0x4c892f)||0x0,'writeKey':_0x13b529,'readKey':_0x2a6a14};}catch(_0x287706){return{'enabled':!![],'error':_0x287706['message']};}}}module['exports']=new LockManager();
|
package/src/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0xee9e28=a0_0xc676;function a0_0xc676(_0x4fbb2d,_0x27b4cf){_0x4fbb2d=_0x4fbb2d-0xaa;const _0x3bb212=a0_0x3bb2();let _0xc6764c=_0x3bb212[_0x4fbb2d];if(a0_0xc676['TeYJJj']===undefined){var _0x5ec991=function(_0x2966f3){const _0x317659='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x56c472='',_0x4a450c='';for(let _0x5d6284=0x0,_0x31bb29,_0x127436,_0x48fa9d=0x0;_0x127436=_0x2966f3['charAt'](_0x48fa9d++);~_0x127436&&(_0x31bb29=_0x5d6284%0x4?_0x31bb29*0x40+_0x127436:_0x127436,_0x5d6284++%0x4)?_0x56c472+=String['fromCharCode'](0xff&_0x31bb29>>(-0x2*_0x5d6284&0x6)):0x0){_0x127436=_0x317659['indexOf'](_0x127436);}for(let _0x11b318=0x0,_0x27853f=_0x56c472['length'];_0x11b318<_0x27853f;_0x11b318++){_0x4a450c+='%'+('00'+_0x56c472['charCodeAt'](_0x11b318)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4a450c);};a0_0xc676['tuRuSD']=_0x5ec991,a0_0xc676['mBhhIT']={},a0_0xc676['TeYJJj']=!![];}const _0x2c2c47=_0x3bb212[0x0],_0x5d0818=_0x4fbb2d+_0x2c2c47,_0x35662f=a0_0xc676['mBhhIT'][_0x5d0818];return!_0x35662f?(_0xc6764c=a0_0xc676['tuRuSD'](_0xc6764c),a0_0xc676['mBhhIT'][_0x5d0818]=_0xc6764c):_0xc6764c=_0x35662f,_0xc6764c;}(function(_0x13dfde,_0x4e923b){const _0x90d0b2=a0_0xc676,_0xb1c7e2=_0x13dfde();while(!![]){try{const _0x158171=-parseInt(_0x90d0b2(0x125))/0x1+-parseInt(_0x90d0b2(0x104))/0x2*(-parseInt(_0x90d0b2(0xbb))/0x3)+-parseInt(_0x90d0b2(0xe6))/0x4+-parseInt(_0x90d0b2(0x110))/0x5*(-parseInt(_0x90d0b2(0x16c))/0x6)+-parseInt(_0x90d0b2(0xd4))/0x7*(-parseInt(_0x90d0b2(0xc2))/0x8)+-parseInt(_0x90d0b2(0x159))/0x9*(parseInt(_0x90d0b2(0x164))/0xa)+parseInt(_0x90d0b2(0x131))/0xb;if(_0x158171===_0x4e923b)break;else _0xb1c7e2['push'](_0xb1c7e2['shift']());}catch(_0x462832){_0xb1c7e2['push'](_0xb1c7e2['shift']());}}}(a0_0x3bb2,0xdad5c));const pino=require('pino'),fs=require('fs'),path=require('path');let logToFile=![],logDir=a0_0xee9e28(0x13d),serviceName=a0_0xee9e28(0xc7),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_0xee9e28(0x152),'hideObject':!![]},isDevelopment=process[a0_0xee9e28(0x10a)][a0_0xee9e28(0xb5)]!=='production',logLevel=process['env'][a0_0xee9e28(0xc9)]||a0_0xee9e28(0xf4);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0xee9e28(0x15d),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env'][a0_0xee9e28(0xf0)]||'1.0.5','env':process[a0_0xee9e28(0x10a)]['NODE_ENV']||a0_0xee9e28(0xe7)},'timestamp':pino[a0_0xee9e28(0xb7)]['isoTime'],'redact':{'paths':[a0_0xee9e28(0x101),'req.headers[\x22x-api-key\x22]','password',a0_0xee9e28(0x154),a0_0xee9e28(0x166),a0_0xee9e28(0x16d),'JWT_SECRET'],'censor':a0_0xee9e28(0xb2)},'serializers':{'req':_0x4713d4=>({'id':_0x4713d4['id'],'method':_0x4713d4['method'],'url':_0x4713d4['url'],'path':_0x4713d4[a0_0xee9e28(0x126)],'remoteAddress':_0x4713d4['ip']||_0x4713d4[a0_0xee9e28(0x15f)]?.['remoteAddress']}),'res':_0x1a90c0=>({'statusCode':_0x1a90c0['statusCode'],'headers':_0x1a90c0['getHeaders']?.()}),'err':pino['stdSerializers'][a0_0xee9e28(0xec)]}});function initFileLogging(){const _0xcd8de0=a0_0xee9e28,_0x353e33={'jmXAB':function(_0x34cfab,_0xe5f4bc){return _0x34cfab===_0xe5f4bc;},'YsARy':_0xcd8de0(0xd6),'AcyjU':_0xcd8de0(0xc6),'YWiPM':'debug','XYmnd':function(_0x244a33,_0x17d182){return _0x244a33!==_0x17d182;},'sHwSJ':function(_0x4c6557,_0x47d992){return _0x4c6557(_0x47d992);},'droQK':'app.log','zaoEe':_0xcd8de0(0x118),'lBjhx':'info'};if(fileLoggingInitialized)return;logToFile=_0x353e33[_0xcd8de0(0x146)](process['env']['LOG_TO_FILE'],_0x353e33['YsARy']);const _0x291bc9=process['env'][_0xcd8de0(0x14e)]||_0x353e33['AcyjU'];logDir=process['env'][_0xcd8de0(0xdd)]||'./logs/'+_0x291bc9,serviceName=process['env'][_0xcd8de0(0x163)]||_0xcd8de0(0xc7),sqlLogEnabled=process['env'][_0xcd8de0(0xce)]===_0x353e33[_0xcd8de0(0xd0)],sqlLogLevel=process['env']['SQL_LOG_LEVEL']||_0x353e33['YWiPM'],sqlLogParams=_0x353e33['XYmnd'](process['env']['SQL_LOG_PARAMS'],'false'),sqlLogSlowThreshold=_0x353e33[_0xcd8de0(0x15a)](parseInt,process[_0xcd8de0(0x10a)][_0xcd8de0(0x105)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x500a60=path[_0xcd8de0(0xb9)](process[_0xcd8de0(0x16b)](),logDir);try{!fs[_0xcd8de0(0x168)](_0x500a60)&&fs['mkdirSync'](_0x500a60,{'recursive':!![]});}catch(_0x261dfa){console[_0xcd8de0(0xbd)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x500a60+':',_0x261dfa[_0xcd8de0(0xfd)]),fileLoggingInitialized=!![];return;}const _0x253812=path['join'](_0x500a60,_0x353e33[_0xcd8de0(0x11b)]),_0x17f4d2=path[_0xcd8de0(0xc8)](_0x500a60,_0x353e33['zaoEe']);try{appLogStream=fs['createWriteStream'](_0x253812,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x17f4d2,{'flags':'a'}),fileLoggingInitialized=!![];const _0x42042f={'event':'file_logging_enabled','logDir':_0x500a60,'files':[_0x353e33['droQK'],_0xcd8de0(0x118)]},_0x1a651b=_0xcd8de0(0x12f)+_0x500a60;logger['info'](_0x42042f,_0x1a651b),writeToFileLog({..._0x42042f,'level':'info','msg':_0x1a651b,'time':new Date()[_0xcd8de0(0x150)]()},_0x353e33[_0xcd8de0(0xd3)]);}catch(_0x351f68){console['error'](_0xcd8de0(0x13a),_0x351f68[_0xcd8de0(0xfd)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0xe05713,_0x2d5278){const _0x2d124f=a0_0xee9e28,_0x3ee6a7={'fvwLU':function(_0x26e440,_0x453052){return _0x26e440||_0x453052;},'mrvPb':function(_0x330598,_0x40b1b4){return _0x330598===_0x40b1b4;},'eUnrT':_0x2d124f(0xc4)};if(_0x3ee6a7['fvwLU'](!logToFile,!appLogStream))return;const _0x202ecd={'service':serviceName,..._0xe05713},_0xeb872d=JSON['stringify'](_0x202ecd)+'\x0a';appLogStream['write'](_0xeb872d),(_0x2d5278===_0x2d124f(0xbd)||_0x3ee6a7[_0x2d124f(0x100)](_0x2d5278,_0x3ee6a7[_0x2d124f(0x114)]))&&(errorLogStream&&errorLogStream['write'](_0xeb872d));}const createRequestLogger=(_0x7c1781={})=>{const _0x2fa519=a0_0xee9e28;return logger[_0x2fa519(0x15e)](_0x7c1781);},logServerStart=_0x216984=>{const _0x3d4a9b=a0_0xee9e28,_0x16909f={'KeroF':'RESTFORGE\x20RUNTIME\x20SERVER','VOtTw':function(_0x2391fa,_0x4f2c88){return _0x2391fa/_0x4f2c88;},'ubTai':function(_0x352abe,_0x28f273){return _0x352abe-_0x28f273;},'HtqKP':_0x3d4a9b(0xc0),'WJVtz':'info'},_0x508620=_0x16909f[_0x3d4a9b(0x165)],_0x31e5fc=Math[_0x3d4a9b(0x11d)](0x0,0x37-_0x508620[_0x3d4a9b(0x10c)]),_0x27b950=Math['floor'](_0x16909f[_0x3d4a9b(0x134)](_0x31e5fc,0x2)),_0x4704e1=_0x16909f[_0x3d4a9b(0x12c)](_0x31e5fc,_0x27b950),_0xab9b5f='║'+'\x20'['repeat'](_0x27b950)+_0x508620+'\x20'['repeat'](_0x4704e1)+'║',_0x371950='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0xab9b5f+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x216984[_0x3d4a9b(0xaf)]||_0x3d4a9b(0x133))['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x216984[_0x3d4a9b(0xab)]||_0x3d4a9b(0x156))[_0x3d4a9b(0x147)](0x26)+_0x3d4a9b(0xf3)+String(_0x216984['port']||0xbb8)[_0x3d4a9b(0x147)](0x26)+_0x3d4a9b(0x10e)+(_0x216984['configFile']||_0x3d4a9b(0x106))[_0x3d4a9b(0x147)](0x26)+_0x3d4a9b(0x11e)+(_0x216984['apiKey']?'ACTIVE':_0x16909f['HtqKP'])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x371950);const _0xcd3b18={'event':_0x3d4a9b(0x162),'project':_0x216984['project'],'port':_0x216984['port'],'config':_0x216984[_0x3d4a9b(0x13e)],'apiKeyEnabled':!!_0x216984[_0x3d4a9b(0x166)]};logger['info'](_0xcd3b18),writeToFileLog({..._0xcd3b18,'level':_0x16909f['WJVtz'],'msg':_0x3d4a9b(0xb3)+_0x216984[_0x3d4a9b(0xab)]+'\x20on\x20port\x20'+_0x216984['port'],'time':new Date()[_0x3d4a9b(0x150)]()},'info');},logServerReady=_0x34cd6a=>{const _0x13801d=a0_0xee9e28,_0x44c440={'hRrYi':function(_0x2798f4,_0x39005f,_0x4a46c0){return _0x2798f4(_0x39005f,_0x4a46c0);},'mQjhF':'info'},_0x5e2866={'event':'server_ready','port':_0x34cd6a[_0x13801d(0x15c)],'module':_0x34cd6a['module'],'healthCheck':_0x34cd6a['healthCheck'],'serviceInfo':_0x34cd6a[_0x13801d(0x11a)],'baseUrl':_0x34cd6a['baseUrl']},_0xa88555=_0x13801d(0xda)+_0x34cd6a['port'];logger[_0x13801d(0xf4)](_0x5e2866,_0xa88555),_0x44c440['hRrYi'](writeToFileLog,{..._0x5e2866,'level':_0x44c440[_0x13801d(0x160)],'msg':_0xa88555,'time':new Date()[_0x13801d(0x150)]()},_0x44c440['mQjhF']),_0x34cd6a[_0x13801d(0x14d)]&&logger[_0x13801d(0xf4)]('\x20\x20Health:\x20'+_0x34cd6a[_0x13801d(0x14d)]),_0x34cd6a['serviceInfo']&&logger['info'](_0x13801d(0x12b)+_0x34cd6a['serviceInfo']),_0x34cd6a[_0x13801d(0xbe)]&&logger[_0x13801d(0xf4)]('\x20\x20URL:\x20\x20\x20\x20'+_0x34cd6a['baseUrl']);},logProjectLoaded=(_0x1cc306,_0x58bfdf)=>{const _0x4ac55c=a0_0xee9e28,_0x36cda0={'gmCDT':_0x4ac55c(0xb1),'CRcBY':function(_0x497c54,_0x2c0ea8,_0x3e6c9b){return _0x497c54(_0x2c0ea8,_0x3e6c9b);}},_0x44b889={'event':_0x36cda0['gmCDT'],'project':_0x1cc306,'path':_0x58bfdf},_0x11864b=_0x4ac55c(0xee)+_0x1cc306;logger[_0x4ac55c(0xf4)](_0x44b889,_0x11864b),_0x36cda0[_0x4ac55c(0x10f)](writeToFileLog,{..._0x44b889,'level':'info','msg':_0x11864b,'time':new Date()['toISOString']()},'info');},logEndpointRegistered=(_0x3024fd,_0x53ad2b)=>{const _0x567d35=a0_0xee9e28,_0x3a3e10={'sWjBO':_0x567d35(0xe3),'pIrNn':function(_0x46eba0,_0x17a8ec,_0x472067){return _0x46eba0(_0x17a8ec,_0x472067);},'EEjdU':'debug'},_0x4c2734={'event':_0x3a3e10[_0x567d35(0x149)],'endpoint':_0x3024fd,'route':_0x53ad2b},_0x12a65b='\x20\x20→\x20'+_0x3024fd+':\x20'+_0x53ad2b;logger['debug'](_0x4c2734,_0x12a65b),_0x3a3e10['pIrNn'](writeToFileLog,{..._0x4c2734,'level':'debug','msg':_0x12a65b,'time':new Date()[_0x567d35(0x150)]()},_0x3a3e10[_0x567d35(0x107)]);},logDatabaseConfig=_0x3af62a=>{const _0x2bac1e=a0_0xee9e28,_0x4c2a24={'sBEYu':_0x2bac1e(0xb8),'KWUqm':function(_0x55f966,_0x372004,_0xa55249){return _0x55f966(_0x372004,_0xa55249);}},_0x1096a7={'event':_0x4c2a24['sBEYu'],'host':_0x3af62a[_0x2bac1e(0x14c)],'port':_0x3af62a['port'],'database':_0x3af62a[_0x2bac1e(0x129)],'type':_0x3af62a['type'],'user':_0x3af62a[_0x2bac1e(0x14b)]},_0xe2cf56='Database:\x20'+_0x3af62a['type']+'://'+_0x3af62a[_0x2bac1e(0x14c)]+':'+_0x3af62a[_0x2bac1e(0x15c)]+'/'+_0x3af62a[_0x2bac1e(0x129)];logger[_0x2bac1e(0xfb)](_0x1096a7,_0xe2cf56),_0x4c2a24[_0x2bac1e(0xf6)](writeToFileLog,{..._0x1096a7,'level':'debug','msg':_0xe2cf56,'time':new Date()['toISOString']()},'debug');},logRequest=(_0x41083c,_0x384f06,_0x5e439c)=>{const _0x570775=a0_0xee9e28,_0x2428ec={'PPvqo':_0x570775(0x12a),'nnHrr':_0x570775(0xf4),'YZdtj':function(_0x13e4a1,_0x47359f,_0x3849a7){return _0x13e4a1(_0x47359f,_0x3849a7);}},_0x4f1a55={'event':_0x2428ec[_0x570775(0x121)],'method':_0x41083c[_0x570775(0x13b)],'path':_0x41083c['path'],'statusCode':_0x384f06['statusCode'],'durationMs':_0x5e439c,'ip':_0x41083c['ip']},_0x4c2ce1=_0x41083c['method']+'\x20'+_0x41083c['path']+_0x570775(0x142)+_0x384f06['statusCode']+'\x20('+_0x5e439c+'ms)';let _0x5acedf=_0x2428ec[_0x570775(0xcd)];if(_0x384f06['statusCode']>=0x1f4)_0x5acedf=_0x570775(0xbd),logger[_0x570775(0xbd)](_0x4f1a55,_0x4c2ce1);else _0x384f06[_0x570775(0x109)]>=0x190?(_0x5acedf='warn',logger[_0x570775(0xdf)](_0x4f1a55,_0x4c2ce1)):logger[_0x570775(0xf4)](_0x4f1a55,_0x4c2ce1);_0x2428ec[_0x570775(0xe1)](writeToFileLog,{..._0x4f1a55,'level':_0x5acedf,'msg':_0x4c2ce1,'time':new Date()['toISOString']()},_0x5acedf);},SENSITIVE_PARAM_PATTERNS=[a0_0xee9e28(0x141),a0_0xee9e28(0x14f),'pwd','token',a0_0xee9e28(0xf8),'refresh_token','secret','api_secret','apikey',a0_0xee9e28(0xb6),'credential',a0_0xee9e28(0xc5),'pin',a0_0xee9e28(0x137),'private_key','privatekey'],redactSensitiveParams=(_0x217b93,_0x47eecf)=>{const _0x197502=a0_0xee9e28,_0x486e45={'SPXSC':function(_0xcab8b,_0x907594){return _0xcab8b>_0x907594;},'qMWny':function(_0x5bb69b,_0x2bd338){return _0x5bb69b===_0x2bd338;}};if(!_0x217b93||_0x486e45[_0x197502(0xe4)](_0x217b93['length'],0x0))return _0x217b93;const _0x1a97ee=_0x47eecf['toLowerCase'](),_0x5d5484=_0x1a97ee[_0x197502(0x144)](/\(([^)]+)\)\s*values/i);let _0x43b07a=[];_0x5d5484&&(_0x43b07a=_0x5d5484[0x1]['split'](',')['map'](_0x23b762=>_0x23b762['trim']()[_0x197502(0x127)]()));const _0x42d8fe=_0x1a97ee['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x42d8fe){const _0xaf20b9=_0x42d8fe[0x1],_0x3f14c1=_0xaf20b9[_0x197502(0x144)](/(\w+)\s*=/g);_0x3f14c1&&(_0x43b07a=_0x3f14c1['map'](_0x553931=>_0x553931['replace'](/\s*=/,'')['trim']()['toLowerCase']()));}return _0x217b93[_0x197502(0x136)]((_0x383d47,_0xf7726d)=>{const _0xb2baee=_0x197502;if(_0x43b07a[_0xf7726d]){const _0x4a49a7=_0x43b07a[_0xf7726d],_0x1a2c5f=SENSITIVE_PARAM_PATTERNS['some'](_0x1fba6c=>_0x4a49a7['includes'](_0x1fba6c));if(_0x1a2c5f)return'[REDACTED]';}if(typeof _0x383d47===_0xb2baee(0x10d)&&_0x486e45['SPXSC'](_0x383d47[_0xb2baee(0x10c)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0xb2baee(0x119)](_0x383d47)&&_0x383d47[_0xb2baee(0xcc)]('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/[_0xb2baee(0x119)](_0x383d47))return _0xb2baee(0x15b);}return _0x383d47;});},parseQueryMetadata=_0x1e7ce3=>{const _0x45bfc3=a0_0xee9e28,_0x57e7b5={'hwkih':_0x45bfc3(0xdc),'GMeBL':'INSERT','QFeKm':_0x45bfc3(0xd5),'PLKLo':_0x45bfc3(0x14a),'OlEXc':'BEGIN','LVnFq':_0x45bfc3(0xea),'mMbwi':'TRANSACTION_ROLLBACK','vnhQs':'CREATE','DekQn':_0x45bfc3(0x139),'XYnzx':_0x45bfc3(0x155)},_0xa44e9=_0x1e7ce3['trim'](),_0x3ade5a=_0xa44e9[_0x45bfc3(0xc1)]();let _0x451f31='UNKNOWN',_0x6008d6=null;if(_0x3ade5a[_0x45bfc3(0x157)](_0x45bfc3(0xdc))){_0x451f31=_0x57e7b5[_0x45bfc3(0x117)];const _0x827579=_0xa44e9['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x6008d6=_0x827579?_0x827579[0x1]:null;}else{if(_0x3ade5a[_0x45bfc3(0x157)](_0x57e7b5[_0x45bfc3(0x161)])){_0x451f31=_0x57e7b5[_0x45bfc3(0x161)];const _0x4c8789=_0xa44e9[_0x45bfc3(0x144)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x6008d6=_0x4c8789?_0x4c8789[0x1]:null;}else{if(_0x3ade5a[_0x45bfc3(0x157)]('UPDATE')){_0x451f31=_0x57e7b5[_0x45bfc3(0xf7)];const _0x4ed98b=_0xa44e9[_0x45bfc3(0x144)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x6008d6=_0x4ed98b?_0x4ed98b[0x1]:null;}else{if(_0x3ade5a['startsWith'](_0x57e7b5['PLKLo'])){_0x451f31=_0x57e7b5[_0x45bfc3(0xd2)];const _0x42044d=_0xa44e9['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x6008d6=_0x42044d?_0x42044d[0x1]:null;}else{if(_0x3ade5a[_0x45bfc3(0x157)](_0x57e7b5['OlEXc'])||_0x3ade5a[_0x45bfc3(0x157)](_0x45bfc3(0xed)))_0x451f31=_0x57e7b5[_0x45bfc3(0x122)];else{if(_0x3ade5a[_0x45bfc3(0x157)](_0x45bfc3(0x148)))_0x451f31='TRANSACTION_COMMIT';else{if(_0x3ade5a['startsWith']('ROLLBACK'))_0x451f31=_0x57e7b5['mMbwi'];else{if(_0x3ade5a['startsWith'](_0x57e7b5['vnhQs']))_0x451f31=_0x45bfc3(0x13f);else{if(_0x3ade5a['startsWith'](_0x57e7b5['DekQn']))_0x451f31=_0x57e7b5[_0x45bfc3(0xcb)];else _0x3ade5a[_0x45bfc3(0x157)](_0x45bfc3(0x116))&&(_0x451f31=_0x45bfc3(0xf1));}}}}}}}}return{'type':_0x451f31,'table':_0x6008d6};},startQueryTimer=()=>{const _0x103eb9=a0_0xee9e28,_0x53d7df={'VnIiP':function(_0x530a4c,_0x181697){return _0x530a4c(_0x181697);},'Uiqcj':function(_0x54365d,_0xd5d359){return _0x54365d+_0xd5d359;},'ZiRMS':function(_0x35046e,_0x5c6749){return _0x35046e*_0x5c6749;}},_0x41e90b=process[_0x103eb9(0xdb)]();return()=>{const _0x8b9052=_0x103eb9,[_0x2ce544,_0x3c8684]=process['hrtime'](_0x41e90b);return _0x53d7df['VnIiP'](parseFloat,_0x53d7df[_0x8b9052(0x103)](_0x53d7df['ZiRMS'](_0x2ce544,0x3e8),_0x3c8684/0xf4240)['toFixed'](0x2));};},logQuery=(_0x5ec2e0,_0x897564=[],_0x40d76b={})=>{const _0x11d5b2=a0_0xee9e28,_0x558f26={'ngouQ':'db_query','uepmG':_0x11d5b2(0x140),'kdLof':'postgresql','bqqiP':function(_0x172f90,_0x41aae0){return _0x172f90(_0x41aae0);},'qpHSN':_0x11d5b2(0xfa),'TpZxE':function(_0x39a5f8,_0x16fec3,_0x3a83bf){return _0x39a5f8(_0x16fec3,_0x3a83bf);},'UlsdP':function(_0x4d72e7,_0x161e19){return _0x4d72e7!==_0x161e19;},'MoKXB':function(_0x1f16d3,_0xa3d382){return _0x1f16d3||_0xa3d382;},'GTOEn':_0x11d5b2(0x167),'pNvcp':function(_0x3abdc0,_0x95d67){return _0x3abdc0!==_0x95d67;},'jvNKI':function(_0x2a497e,_0x51fe57){return _0x2a497e>_0x51fe57;},'CFaFC':_0x11d5b2(0xfb),'KbZne':'warn','ywnaz':function(_0x392668,_0x522286){return _0x392668===_0x522286;},'SnFam':'info'};if(!sqlLogEnabled){logger[_0x11d5b2(0xfb)]({'event':_0x558f26[_0x11d5b2(0x102)],'query':_0x5ec2e0['substring'](0x0,0xc8),'paramCount':_0x897564[_0x11d5b2(0x10c)]},_0x558f26['uepmG']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x558f26['kdLof']}=_0x40d76b,{type:_0xedd734,table:_0xa5246a}=_0x558f26['bqqiP'](parseQueryMetadata,_0x5ec2e0),_0x123fe5={'event':_0x558f26[_0x11d5b2(0xba)],'queryType':_0xedd734,'table':_0xa5246a,'query':_0x5ec2e0,'paramCount':_0x897564[_0x11d5b2(0x10c)],'dbType':dbType};sqlLogParams&&_0x897564['length']>0x0&&(_0x123fe5['params']=_0x558f26[_0x11d5b2(0xf5)](redactSensitiveParams,_0x897564,_0x5ec2e0));duration!==null&&(_0x123fe5[_0x11d5b2(0x143)]=duration,_0x123fe5[_0x11d5b2(0xff)]=duration>sqlLogSlowThreshold);_0x558f26[_0x11d5b2(0x130)](rowsAffected,null)&&(_0x123fe5['rowsAffected']=rowsAffected);const _0x5b8cc6=_0x558f26['MoKXB'](_0xa5246a,_0x558f26['GTOEn']);let _0x23f679='['+_0xedd734+']\x20'+_0x5b8cc6;duration!==null&&(_0x23f679+='\x20('+duration+'ms)');const _0x136774=_0x558f26[_0x11d5b2(0xaa)](duration,null)&&_0x558f26[_0x11d5b2(0x135)](duration,sqlLogSlowThreshold);let _0x2fcc87=_0x558f26['CFaFC'];if(_0x136774)_0x23f679+='\x20[SLOW]',_0x2fcc87=_0x558f26[_0x11d5b2(0xf9)],logger['warn'](_0x123fe5,_0x23f679);else _0x558f26[_0x11d5b2(0xe0)](sqlLogLevel,_0x558f26[_0x11d5b2(0xf2)])?(_0x2fcc87=_0x558f26['SnFam'],logger[_0x11d5b2(0xf4)](_0x123fe5,_0x23f679)):logger[_0x11d5b2(0xfb)](_0x123fe5,_0x23f679);writeToFileLog({..._0x123fe5,'level':_0x2fcc87,'msg':_0x23f679,'time':new Date()[_0x11d5b2(0x150)]()},_0x2fcc87);},logTransaction=(_0x227a40,_0x3f2836)=>{const _0x29978b=a0_0xee9e28,_0x5d4516={'cpxia':_0x29978b(0xcf),'WZZsJ':_0x29978b(0xfb)},_0x337be2={'event':_0x5d4516[_0x29978b(0x11c)],'status':_0x227a40,'queryCount':_0x3f2836},_0x3a9167='Transaction\x20'+_0x227a40;logger['debug'](_0x337be2,_0x3a9167),writeToFileLog({..._0x337be2,'level':_0x5d4516['WZZsJ'],'msg':_0x3a9167,'time':new Date()[_0x29978b(0x150)]()},_0x5d4516[_0x29978b(0x128)]);},redactObject=_0x10ae53=>{const _0x372aaf=a0_0xee9e28,_0x5af9c5={'Uonfv':'password','ndAit':'passwd','tXwrn':_0x372aaf(0xca),'IzjAO':_0x372aaf(0x120),'Xqdyq':'ssn','kmCiF':'privatekey','oKTHc':_0x372aaf(0xf8),'UGInH':'[REDACTED]','YkucK':function(_0x27000a,_0x4f914b){return _0x27000a===_0x4f914b;}};if(!_0x10ae53||typeof _0x10ae53!==_0x372aaf(0x112))return _0x10ae53;const _0x137f38=[_0x5af9c5['Uonfv'],_0x5af9c5[_0x372aaf(0xb4)],_0x5af9c5['tXwrn'],_0x372aaf(0x154),'secret','apikey','api_key','authorization','creditcard','credit_card',_0x5af9c5['IzjAO'],_0x5af9c5['Xqdyq'],'pin',_0x372aaf(0x16a),_0x5af9c5[_0x372aaf(0xbf)],_0x372aaf(0xb0),_0x5af9c5['oKTHc']],_0x823228=Array[_0x372aaf(0xfe)](_0x10ae53)?[..._0x10ae53]:{..._0x10ae53};for(const _0x42e929 of Object[_0x372aaf(0xd8)](_0x823228)){const _0x5abdf7=_0x42e929['toLowerCase']();if(_0x137f38[_0x372aaf(0x123)](_0x487f76=>_0x5abdf7[_0x372aaf(0xcc)](_0x487f76)))_0x823228[_0x42e929]=_0x5af9c5[_0x372aaf(0x13c)];else _0x5af9c5[_0x372aaf(0xae)](typeof _0x823228[_0x42e929],_0x372aaf(0x112))&&_0x823228[_0x42e929]!==null&&(_0x823228[_0x42e929]=redactObject(_0x823228[_0x42e929]));}return _0x823228;},logError=(_0x4aee27,_0x47a486={},_0x265c2b=null)=>{const _0x504c55=a0_0xee9e28,_0x24f088={'JeqVJ':_0x504c55(0xbd),'PYZiC':_0x504c55(0x12d),'MFaiu':function(_0x140d60,_0x223fd9,_0x1c6a6b){return _0x140d60(_0x223fd9,_0x1c6a6b);}},_0xc916ae={'event':_0x24f088[_0x504c55(0xd1)],'errorName':_0x4aee27[_0x504c55(0x12e)]||_0x24f088[_0x504c55(0xde)],'errorMessage':_0x4aee27['message'],'errorCode':_0x4aee27[_0x504c55(0x124)]||null,'stack':_0x4aee27['stack'],..._0x47a486},_0x9119ad=_0x265c2b||'Error:\x20'+_0x4aee27[_0x504c55(0xfd)];logger['error'](_0xc916ae,_0x9119ad),_0x24f088[_0x504c55(0xe2)](writeToFileLog,{..._0xc916ae,'level':_0x24f088['JeqVJ'],'msg':_0x9119ad,'time':new Date()['toISOString']()},_0x504c55(0xbd));},logFatalError=(_0x294c31,_0x7321a={},_0x4543f0=null)=>{const _0x43c4bb=a0_0xee9e28,_0x205e86={'mmGKv':_0x43c4bb(0x12d),'eTbhC':'error'},_0x5b112f={'event':_0x43c4bb(0x111),'errorName':_0x294c31['name']||_0x205e86[_0x43c4bb(0xac)],'errorMessage':_0x294c31['message'],'errorCode':_0x294c31['code']||null,'stack':_0x294c31[_0x43c4bb(0xbc)],'severity':'CRITICAL',..._0x7321a},_0x3ec8ef=_0x4543f0||'FATAL:\x20'+_0x294c31['message'];logger['fatal'](_0x5b112f,_0x3ec8ef),writeToFileLog({..._0x5b112f,'level':_0x43c4bb(0xc4),'msg':_0x3ec8ef,'time':new Date()['toISOString']()},_0x205e86['eTbhC']);},logHttpError=(_0x52b723,_0x4059b9,_0x179efe={})=>{const _0x17f1df=a0_0xee9e28,_0x1a0c39={'UNITY':'user-agent','lprdP':'x-request-id','Gwdwm':function(_0x838bc0,_0x3a0d97){return _0x838bc0>=_0x3a0d97;},'pIhvr':function(_0x3f97de,_0x103eeb,_0x2f0f9c){return _0x3f97de(_0x103eeb,_0x2f0f9c);},'lfvOT':'error','nTrcw':'warn'},_0xb2f8b0={'event':'http_error','errorName':_0x52b723['name']||'Error','errorMessage':_0x52b723[_0x17f1df(0xfd)],'errorCode':_0x52b723['code']||_0x52b723[_0x17f1df(0x109)]||0x1f4,'stack':_0x52b723['stack'],'method':_0x4059b9?.['method'],'url':_0x4059b9?.['url']||_0x4059b9?.['originalUrl'],'path':_0x4059b9?.['path'],'ip':_0x4059b9?.['ip']||_0x4059b9?.['connection']?.['remoteAddress'],'userAgent':_0x4059b9?.['get']?.(_0x1a0c39['UNITY']),'requestId':_0x4059b9?.['id']||_0x4059b9?.[_0x17f1df(0xfc)]?.[_0x1a0c39['lprdP']],'body':_0x4059b9?.[_0x17f1df(0x132)]?redactObject(_0x4059b9['body']):undefined,'query':_0x4059b9?.[_0x17f1df(0x151)],..._0x179efe},_0x65e08b=_0x52b723['statusCode']||_0x52b723['status']||0x1f4,_0x2a00b7=_0x17f1df(0x158)+_0x65e08b+':\x20'+_0x52b723['message'];_0x1a0c39['Gwdwm'](_0x65e08b,0x1f4)?logger['error'](_0xb2f8b0,_0x2a00b7):logger[_0x17f1df(0xdf)](_0xb2f8b0,_0x2a00b7),_0x1a0c39[_0x17f1df(0x113)](writeToFileLog,{..._0xb2f8b0,'level':_0x65e08b>=0x1f4?_0x1a0c39['lfvOT']:'warn','msg':_0x2a00b7,'time':new Date()[_0x17f1df(0x150)]()},_0x65e08b>=0x1f4?_0x1a0c39['lfvOT']:_0x1a0c39[_0x17f1df(0x115)]);},logUncaughtError=(_0x26c74d,_0x43685e)=>{const _0x6b0d7b=a0_0xee9e28,_0x41a5fb={'GxWtB':function(_0x58f99e,_0x1a7370){return _0x58f99e(_0x1a7370);},'JAGgn':function(_0x1ccb44,_0x34f09a,_0x2465b){return _0x1ccb44(_0x34f09a,_0x2465b);}},_0x131a69={'event':_0x26c74d,'errorName':_0x43685e?.[_0x6b0d7b(0x12e)]||'Error','errorMessage':_0x43685e?.[_0x6b0d7b(0xfd)]||_0x41a5fb['GxWtB'](String,_0x43685e),'errorCode':_0x43685e?.['code']||null,'stack':_0x43685e?.[_0x6b0d7b(0xbc)],'severity':'CRITICAL','processId':process[_0x6b0d7b(0x145)],'memoryUsage':process[_0x6b0d7b(0x10b)](),'uptime':process[_0x6b0d7b(0x169)]()},_0x38d842='['+_0x26c74d['toUpperCase']()+']\x20'+(_0x43685e?.['message']||_0x43685e);logger['fatal'](_0x131a69,_0x38d842),_0x41a5fb['JAGgn'](writeToFileLog,{..._0x131a69,'level':_0x6b0d7b(0xc4),'msg':_0x38d842,'time':new Date()['toISOString']()},'error');},setupGlobalErrorHandlers=()=>{const _0x55c32e=a0_0xee9e28,_0x458512={'TZLPL':_0x55c32e(0xd7),'JfSGX':function(_0x350b83,_0x28b0ed){return _0x350b83 instanceof _0x28b0ed;},'ylXTZ':function(_0x5f463a,_0x268dde){return _0x5f463a(_0x268dde);},'ernmq':function(_0x549c95,_0x59d188,_0x18ae1d){return _0x549c95(_0x59d188,_0x18ae1d);},'DmOqn':'unhandledRejection','YzNlK':'process_warning','nOhcB':_0x55c32e(0xe8),'SJXda':_0x55c32e(0xf4)};process['on'](_0x458512['TZLPL'],_0x17e8ce=>{logUncaughtError(_0x458512['TZLPL'],_0x17e8ce),setTimeout(()=>{const _0xce13cd=a0_0xc676;process[_0xce13cd(0xad)](0x1);},0x3e8);}),process['on'](_0x458512['DmOqn'],(_0x257c31,_0x462196)=>{const _0x43fb5c=_0x55c32e,_0xfdd391=_0x458512[_0x43fb5c(0x153)](_0x257c31,Error)?_0x257c31:new Error(_0x458512[_0x43fb5c(0x11f)](String,_0x257c31));_0x458512[_0x43fb5c(0xe9)](logUncaughtError,_0x458512['DmOqn'],_0xfdd391);}),process['on'](_0x55c32e(0x138),_0x2217f5=>{const _0x3f0ecd=_0x55c32e;logger[_0x3f0ecd(0xdf)]({'event':_0x458512['YzNlK'],'name':_0x2217f5['name'],'message':_0x2217f5[_0x3f0ecd(0xfd)],'stack':_0x2217f5['stack']},_0x3f0ecd(0x108)+_0x2217f5['message']);});const _0x18c7cc={'event':_0x55c32e(0xd9)},_0x523d59=_0x458512[_0x55c32e(0xef)];logger[_0x55c32e(0xf4)](_0x18c7cc,_0x523d59),_0x458512['ernmq'](writeToFileLog,{..._0x18c7cc,'level':_0x55c32e(0xf4),'msg':_0x523d59,'time':new Date()['toISOString']()},_0x458512['SJXda']);},createErrorHandlerMiddleware=()=>{const _0x90f9ac={'IkfUh':function(_0x3e77a1,_0xcb3fd4,_0x2a2308){return _0x3e77a1(_0xcb3fd4,_0x2a2308);},'ZcvoE':'Internal\x20server\x20error'};return(_0x4f416e,_0x958d1a,_0x5ba259,_0x140ce2)=>{const _0x41bdb6=a0_0xc676;_0x90f9ac[_0x41bdb6(0xe5)](logHttpError,_0x4f416e,_0x958d1a);const _0x5d66c9=_0x4f416e[_0x41bdb6(0x109)]||_0x4f416e[_0x41bdb6(0xeb)]||0x1f4;_0x5ba259[_0x41bdb6(0xeb)](_0x5d66c9)['json']({'success':![],'error':_0x5d66c9>=0x1f4?_0x90f9ac['ZcvoE']:_0x4f416e['message'],'requestId':_0x958d1a['id']||_0x958d1a[_0x41bdb6(0xfc)]?.[_0x41bdb6(0xc3)]||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}};function a0_0x3bb2(){const _0x33f36b=['zxjY','u1rbuLqGvfjbtLnbq1rjt04','w09lxsbqCM9Qzwn0igXVywrLzdOG','BK9Oy0i','qvbqx1zfuLnjt04','rermx0rst1a','u25gyw0','iokvKqRILzeGifbVCNqGicaGicaGidOG','Aw5MBW','vhbAEeu','s1DvCw0','uuzLs20','ywnJzxnZx3rVA2vU','s2jABMu','C3fSx3f1zxj5','zgvIDwC','AgvHzgvYCW','BwvZC2fNzq','AxnbCNjHEq','AxntBg93','Bxj2ugi','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','BMDVDve','vwLXy2O','mLnYD1vxqW','u1fmx0Xpr19tte9xx1riuKvtse9mra','rgvMyxvSDa','ruvQzfu','uhjVy2vZCYbxyxjUAw5NoIa','C3rHDhvZq29Kzq','zw52','BwvTB3j5vxnHz2u','BgvUz3rO','C3rYAw5N','iokvKqRILzeGienVBMzPzYaGicaGidOG','q1jJqLK','mJGYmdv5qw5ftwC','zMf0ywXFzxjYB3i','B2jQzwn0','CeLODNi','zvvUCLq','BLrYy3C','rfjpua','AhDRAwG','zxjYB3iUBg9N','DgvZDa','C2vYDMLJzuLUzM8','zhjVuuS','y3b4Awe','Bwf4','iokvKqRILzeGiefqssblzxKGicaGidOG','EwXyvfO','y3z2','ufb2Cw8','tfzUrNe','C29Tzq','y29Kzq','nZiWntq1tw55AMzf','Cgf0Aa','Dg9mB3DLCKnHC2u','v1PAC0O','zgf0ywjHC2u','Ahr0Cf9Yzxf1zxn0','icbjBMzVoIaGia','DwjuywK','rxjYB3i','BMfTzq','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','vwXZzfa','mte0mtK3nZfhDMPZDui','yM9KEq','tM9Kzs5QCW','vK90vhC','ANzos0K','BwfW','B3rW','D2fYBMLUzW','quXurvi','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','Bwv0Ag9K','vuDjBKG','lI9SB2DZ','y29UzMLNrMLSzq','rermx0nsrufurq','reiGuxvLCNK','CgfZC3DVCMq','ic0G','zhvYyxrPB25nCW','Bwf0y2G','CgLK','AM1yqui','CgfKrw5K','q09ntuLu','C1DQqK8','revmrvrf','DxnLCG','Ag9ZDa','AgvHBhrOq2HLy2S','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','CgfZC3DK','Dg9ju09tDhjPBMC','CxvLCNK','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','sMztr1G','Dg9Rzw4','rermx0fmvevs','tI9b','C3rHCNrZv2L0Aa','sfruuca','mta2mM5AvMjQqq','C0H3u0O','w1jfrefdveveoMHHC2HD','Cg9YDa','CgLUBY1WCMv0DhK','y2HPBgq','y29UBMvJDgLVBG','BvfQAey','r01LqKW','C2vYDMvYx3n0yxj0Aw5N','u0vsvKLdrv9oqu1f','mJy5meXvqvD1ta','s2vYB0y','yxbPs2v5','Dw5RBM93BG','zxHPC3rZu3LUyW','Dxb0Aw1L','ChjPDMf0zv9RzxK','y3DK','mJGYrhzutM9P','rejFueftu1DpuKq','Ce52y3a','ChjVAMvJDa','Bw1hs3y','zxHPDa','wwT1y0S','zw52AxjVBM1LBNq','CMvMCMvZAf90B2TLBG','ChjVAMvJDf9SB2fKzwq','w1jfrefdvevexq','u2vYDMvYihn0yxj0Aw5NoIa','BMrbAxq','tK9erv9ftLy','yxbPx2TLEq','C3rKvgLTzuz1BMn0Aw9UCW','zgf0ywjHC2vFy29UzMLN','CMvZB2X2zq','Cxbiu04','mJuXmdC5nLnJwgr6wq','C3rHy2S','zxjYB3i','yMfZzvvYBa','A21dAuy','tK9uiefdveLwrq','Dg9vChbLCKnHC2u','mtzkvvjQDfK','Ec1Yzxf1zxn0lwLK','zMf0ywW','y3jLzgvUDgLHBhm','zgvMyxvSDa','CMvZDgzVCMDL','AM9PBG','te9hx0XfvKvm','ChDK','wfLUENG','Aw5JBhvKzxm','BM5iCNi','u1fmx0Xpr19ftKfcteve','zgjFDhjHBNnHy3rPB24','wxnbuNK','sMvXvKO','ueXltg8','BejQAhG','odm5mti1vvL0r1D1','vvbeqvrf','Dhj1zq','Dw5JyxvNAhrfEgnLChrPB24','A2v5CW','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','Ahj0Aw1L','u0vmrunu','te9hx0rjuG','ufLAAum','D2fYBG','ExDUyxO','wvPKDgO','tuzHAxu','zw5KCg9PBNrFCMvNAxn0zxjLza','Cu1xBNK','swTMvwG','mJKYntm0mgD2quLeyW','zgv2zwXVCg1LBNq','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','zxjUBxe','vfjbtLnbq1rjt05FqKvhsu4','C3rHDhvZ'];a0_0x3bb2=function(){return _0x33f36b;};return a0_0x3bb2();}
|
|
1
|
+
const a0_0x5ba06d=a0_0x4524;(function(_0x4dc845,_0x474045){const _0x9fa8e7=a0_0x4524,_0xf6a16d=_0x4dc845();while(!![]){try{const _0x13f129=parseInt(_0x9fa8e7(0x1c9))/0x1*(-parseInt(_0x9fa8e7(0x240))/0x2)+-parseInt(_0x9fa8e7(0x206))/0x3+-parseInt(_0x9fa8e7(0x230))/0x4*(parseInt(_0x9fa8e7(0x202))/0x5)+parseInt(_0x9fa8e7(0x183))/0x6+-parseInt(_0x9fa8e7(0x23a))/0x7*(parseInt(_0x9fa8e7(0x236))/0x8)+parseInt(_0x9fa8e7(0x222))/0x9+parseInt(_0x9fa8e7(0x193))/0xa;if(_0x13f129===_0x474045)break;else _0xf6a16d['push'](_0xf6a16d['shift']());}catch(_0x31164e){_0xf6a16d['push'](_0xf6a16d['shift']());}}}(a0_0x35a2,0xd9002));const pino=require('pino'),fs=require('fs'),path=require('path');let logToFile=![],logDir=a0_0x5ba06d(0x1a2),serviceName='restforge',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_0x5ba06d(0x1c4),'hideObject':!![]},isDevelopment=process['env']['NODE_ENV']!=='production',logLevel=process[a0_0x5ba06d(0x1dd)]['LOG_LEVEL']||a0_0x5ba06d(0x1cc);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x5ba06d(0x1b6),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x5ba06d(0x1dd)]['APP_VERSION']||'1.0.5','env':process['env']['NODE_ENV']||'development'},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':[a0_0x5ba06d(0x1d1),a0_0x5ba06d(0x203),'password',a0_0x5ba06d(0x1a6),'apiKey','DB_PASSWORD','JWT_SECRET'],'censor':a0_0x5ba06d(0x21c)},'serializers':{'req':_0x1b44c9=>({'id':_0x1b44c9['id'],'method':_0x1b44c9['method'],'url':_0x1b44c9['url'],'path':_0x1b44c9['path'],'remoteAddress':_0x1b44c9['ip']||_0x1b44c9[a0_0x5ba06d(0x1be)]?.['remoteAddress']}),'res':_0x5e3252=>({'statusCode':_0x5e3252[a0_0x5ba06d(0x184)],'headers':_0x5e3252[a0_0x5ba06d(0x197)]?.()}),'err':pino['stdSerializers'][a0_0x5ba06d(0x19d)]}});function initFileLogging(){const _0x11f540=a0_0x5ba06d,_0x3b43c6={'VFZtI':function(_0xc29054,_0x42ec9d){return _0xc29054===_0x42ec9d;},'orOpW':'true','BvETD':_0x11f540(0x1fb),'eJaVz':'restforge','LzEle':_0x11f540(0x1bc),'Urosp':function(_0x1ffc7f,_0x3ca506){return _0x1ffc7f(_0x3ca506);},'fwiID':_0x11f540(0x21a),'mPQoE':_0x11f540(0x1e1),'Ngjga':function(_0x51c814,_0x285352,_0x396cb6){return _0x51c814(_0x285352,_0x396cb6);}};if(fileLoggingInitialized)return;logToFile=_0x3b43c6['VFZtI'](process['env']['LOG_TO_FILE'],_0x3b43c6[_0x11f540(0x209)]);const _0x2ec2ff=process['env'][_0x11f540(0x233)]||_0x3b43c6['BvETD'];logDir=process[_0x11f540(0x1dd)]['LOG_DIR']||'./logs/'+_0x2ec2ff,serviceName=process['env']['SERVICE_NAME']||_0x3b43c6[_0x11f540(0x1a4)],sqlLogEnabled=process[_0x11f540(0x1dd)]['SQL_LOG_ENABLED']==='true',sqlLogLevel=process[_0x11f540(0x1dd)]['SQL_LOG_LEVEL']||_0x11f540(0x231),sqlLogParams=process['env'][_0x11f540(0x1e6)]!==_0x3b43c6[_0x11f540(0x21b)],sqlLogSlowThreshold=_0x3b43c6[_0x11f540(0x23c)](parseInt,process['env'][_0x11f540(0x220)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x439fed=path['resolve'](process[_0x11f540(0x216)](),logDir);try{!fs['existsSync'](_0x439fed)&&fs[_0x11f540(0x1d4)](_0x439fed,{'recursive':!![]});}catch(_0x1dacfd){console[_0x11f540(0x215)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x439fed+':',_0x1dacfd['message']),fileLoggingInitialized=!![];return;}const _0x505db9=path[_0x11f540(0x194)](_0x439fed,_0x11f540(0x208)),_0x45b5fe=path['join'](_0x439fed,_0x11f540(0x1e1));try{appLogStream=fs[_0x11f540(0x1b4)](_0x505db9,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x45b5fe,{'flags':'a'}),fileLoggingInitialized=!![];const _0x21cf75={'event':_0x3b43c6[_0x11f540(0x1a3)],'logDir':_0x439fed,'files':['app.log',_0x3b43c6[_0x11f540(0x221)]]},_0x46fbfd='File\x20logging\x20enabled:\x20'+_0x439fed;logger['info'](_0x21cf75,_0x46fbfd),_0x3b43c6[_0x11f540(0x1cf)](writeToFileLog,{..._0x21cf75,'level':_0x11f540(0x1cc),'msg':_0x46fbfd,'time':new Date()[_0x11f540(0x242)]()},'info');}catch(_0x11c990){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x11c990['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x5c7f77,_0x38c784){const _0x360232=a0_0x5ba06d,_0x2a37b9={'ygQua':function(_0x5bf0f8,_0x29b193){return _0x5bf0f8||_0x29b193;},'Wwxcr':'error','FfyEN':function(_0x46e39f,_0x7e9859){return _0x46e39f===_0x7e9859;}};if(_0x2a37b9['ygQua'](!logToFile,!appLogStream))return;const _0x29f8b0={'service':serviceName,..._0x5c7f77},_0x4a3c6e=JSON['stringify'](_0x29f8b0)+'\x0a';appLogStream['write'](_0x4a3c6e),(_0x38c784===_0x2a37b9['Wwxcr']||_0x2a37b9[_0x360232(0x1ee)](_0x38c784,'fatal'))&&(errorLogStream&&errorLogStream[_0x360232(0x23b)](_0x4a3c6e));}function a0_0x35a2(){const _0x26b934=['q2TPtuC','zgDhquS','C2vYDMvYx3n0yxj0Aw5N','zgjFCxvLCNK','CgfKrw5K','vfL5Afi','mtq0mJa3mLrzqM5ABq','zgvIDwC','ChjVAMvJDa','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','Cgf0Aa','tK9uiefdveLwrq','ndm2ndbjueLeu3i','B0j0Axy','zMf0ywW','AxntBg93','ndKWtuTYr1zy','D3jPDgu','vxjVC3a','qwf6Cwq','vfjbtLnbq1rjt05Fq09ntuLu','yuHSAgq','mtu3mdG3ne1SALjMra','C3rHCNrZv2L0Aa','Dg9ju09tDhjPBMC','D1vgt1e','w1jfrefdveveoNrVA2vUxq','ode1nZC4r0HsD0DK','C3rHDhvZq29Kzq','BwvZC2fNzq','D3rtD0O','Bfr5teK','zMXVB3i','y3jLzgvUDgLHBa','icbizwfSDgG6ia','C2vYDMvYx3jLywr5','zw52AxjVBM1LBNq','BMfTzq','yxbPx3nLy3jLDa','B2jQzwn0','BxfAreu','Ec1Yzxf1zxn0lwLK','BwfW','mZa4ndi1nJb0swzWy00','AM9PBG','yxbPs2v5','CMvWzwf0','z2v0sgvHzgvYCW','iokvKqRILzeGifbVCNqGicaGicaGidOG','EK1br2m','sK1nv00','DgvZDa','zxHWB3j0CW','zxjY','rKfuquW6ia','C3fSx3f1zxj5','qvfczvK','DxnLCG','lI9SB2DZ','zNDPsuq','zuPHvNO','qKvhsu4','Dg9Rzw4','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','AgvHBhrOq2HLy2S','C3bPENq','zMf0ywXFzxjYB3i','y29Kzq','zhvYyxrPB25nCW','BgvUz3rO','u0vmrunu','sw50zxjUywWGC2vYDMvYigvYCM9Y','q1jjveLdquW','qunusvzf','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','CxryqM4','y3jLyxrLv3jPDgvtDhjLyw0','uejgqwG','CgLUBY1WCMv0DhK','Ahj0Aw1L','DMLwEMi','BwvTB3j5vxnHz2u','t25pAvG','y29UzMLNrMLSzq','zMfSC2u','DhjPBq','y29UBMvJDgLVBG','zhvYBvm','DhLWzq','quXurvi','Ahr0Cf9Yzxf1zxn0','yxbPx2TLEq','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','uhjVy2vZCYbxyxjUAw5NoIa','ywnJzxnZx3rVA2vU','vfjbtLnbq1rjt05FuK9mtejbq0S','wvHqCNC','mvLhver6Aq','y3jLzgL0x2nHCMq','zgf0ywjHC2u','Aw5MBW','rxjYB3i','zgjFDhjHBNnHy3rPB24','tMDQz2e','AgvHzgvYCW','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','yMfZzvvYBa','uwP4y2C','BwTKAxjtEw5J','tI9b','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','uKX4B1q','yxv0Ag9YAxPHDgLVBG','CMvWBgfJzq','q09ntuLu','y2HPBgq','zw5KCg9PBNrFCMvNAxn0zxjLza','zw52','zunmrum','AeXZB2u','z2v0','zxjYB3iUBg9N','Bfz4wxq','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','Ahr0Cf9LCNjVCG','rfjpua','u1fmx0Xpr19qqvjbtvm','sMnbwKm','D2fYBG','reiGuxvLCNK','iokvKqRILzeGiefqssblzxKGicaGidOG','Bwv0Ag9K','rgvMyxvSDa','DxnLCI1Hz2vUDa','rMz5ru4','y3jLzgvUDgLHBhm','ChjVy2vZC193yxjUAw5N','Ag9ZDa','sM1SyLe','CgfZC3DVCMq','r1nwyKO','Dw5JyxvNAhrfEgnLChrPB24','Bwf0y2G','ALLQB0K','Cg9ZDgDYzxnXBa','zxfJAxe','iokvKqRILzeGifbYB2PLy3qGicaGidOG','zgvMyxvSDa','rermx0rst1a','Bw9KDwXL','Aw5JBhvKzxm','vfjbtLnbq1rjt05FqKvhsu4','C3rHDhvZ','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','mtvhsM9bDwS','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','CKTOve4','rermx0nsrufurq','mZiZnZCWmM9RwxvUwG','yM9KEq','yxbWlMXVzW','B3jpCfC','ChjPDMf0zv9RzxK','icbjBMzVoIaGia','vLDiEwe','vKvhBLC','Dg9gAxHLza','Cg9YDa','vhvfELK','swP6wKy','Dg9mB3DLCKnHC2u','tM9Kzs5QCW','w09lxsbqCM9Qzwn0igXVywrLzdOG','zxjYB3i','y3DK','twTWyxe','t0HTCui','C3rHy2S','zMLSzv9SB2DNAw5Nx2vUywjSzwq','thPfBgu','w1jfrefdvevexq','ChDK','C3rYAw5N','uxHguMm','u1fmx0Xpr19tte9xx1riuKvtse9mra','BvbrB0u','odK3mdiXmgXbu3vSqG','CMvMCMvZAf90B2TLBG','sMf1r2G','wMzJDgS','C2vYDMLJzuLUzM8','yxbPA2v5','zKn3DfG','ChjVAMvJDf9SB2fKzwq'];a0_0x35a2=function(){return _0x26b934;};return a0_0x35a2();}const createRequestLogger=(_0x5f4866={})=>{const _0x393b69=a0_0x5ba06d;return logger[_0x393b69(0x1db)](_0x5f4866);},logServerStart=_0x51ebf=>{const _0x261161=a0_0x5ba06d,_0x15d0a9={'oBtiv':function(_0x3fb72d,_0x4e7bca){return _0x3fb72d-_0x4e7bca;},'jSvrv':function(_0x583358,_0x3e13b4){return _0x583358/_0x3e13b4;},'lVxYt':_0x261161(0x1ec),'CsTrx':_0x261161(0x1b1),'Aazqd':'info'},_0x644029=_0x261161(0x1d6),_0xec6165=Math['max'](0x0,_0x15d0a9[_0x261161(0x237)](0x37,_0x644029['length'])),_0x281ab2=Math[_0x261161(0x188)](_0x15d0a9['jSvrv'](_0xec6165,0x2)),_0x5db34d=_0xec6165-_0x281ab2,_0x581d18='║'+'\x20'['repeat'](_0x281ab2)+_0x644029+'\x20'[_0x261161(0x196)](_0x5db34d)+'║',_0x3b2bb5='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x581d18+_0x261161(0x201)+(_0x51ebf[_0x261161(0x18c)]||_0x261161(0x213))['padEnd'](0x26)+_0x261161(0x1fa)+(_0x51ebf['project']||_0x261161(0x1d5))['padEnd'](0x26)+_0x261161(0x198)+String(_0x51ebf[_0x261161(0x20f)]||0xbb8)[_0x261161(0x22e)](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x51ebf[_0x261161(0x1bb)]||_0x15d0a9[_0x261161(0x1e2)])[_0x261161(0x22e)](0x26)+_0x261161(0x1ea)+(_0x51ebf[_0x261161(0x195)]?_0x15d0a9['CsTrx']:_0x261161(0x235))[_0x261161(0x22e)](0x26)+_0x261161(0x1b2);console['log'](_0x3b2bb5);const _0x2a9877={'event':_0x261161(0x22c),'project':_0x51ebf[_0x261161(0x232)],'port':_0x51ebf[_0x261161(0x20f)],'config':_0x51ebf['configFile'],'apiKeyEnabled':!!_0x51ebf[_0x261161(0x195)]};logger[_0x261161(0x1cc)](_0x2a9877),writeToFileLog({..._0x2a9877,'level':_0x15d0a9[_0x261161(0x23d)],'msg':'Server\x20starting:\x20'+_0x51ebf['project']+'\x20on\x20port\x20'+_0x51ebf[_0x261161(0x20f)],'time':new Date()[_0x261161(0x242)]()},_0x261161(0x1cc));},logServerReady=_0xc69823=>{const _0x1abe92=a0_0x5ba06d,_0x458945={'JuMkl':_0x1abe92(0x18b),'spizt':function(_0x5cbaca,_0x155830,_0x1d7754){return _0x5cbaca(_0x155830,_0x1d7754);},'zAkLf':_0x1abe92(0x1cc)},_0x10e358={'event':_0x458945['JuMkl'],'port':_0xc69823[_0x1abe92(0x20f)],'module':_0xc69823[_0x1abe92(0x1fd)],'healthCheck':_0xc69823[_0x1abe92(0x1a8)],'serviceInfo':_0xc69823[_0x1abe92(0x226)],'baseUrl':_0xc69823[_0x1abe92(0x1d2)]},_0x3c7909='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0xc69823[_0x1abe92(0x20f)];logger['info'](_0x10e358,_0x3c7909),_0x458945[_0x1abe92(0x1a9)](writeToFileLog,{..._0x10e358,'level':_0x458945['zAkLf'],'msg':_0x3c7909,'time':new Date()['toISOString']()},_0x458945['zAkLf']),_0xc69823['healthCheck']&&logger[_0x1abe92(0x1cc)](_0x1abe92(0x18a)+_0xc69823['healthCheck']),_0xc69823['serviceInfo']&&logger[_0x1abe92(0x1cc)](_0x1abe92(0x20b)+_0xc69823[_0x1abe92(0x226)]),_0xc69823['baseUrl']&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0xc69823['baseUrl']);},logProjectLoaded=(_0x461023,_0xd42075)=>{const _0x3e7e92=a0_0x5ba06d,_0xb8e991={'Mkpaq':function(_0x108cb7,_0x2f7fb9,_0x190224){return _0x108cb7(_0x2f7fb9,_0x190224);},'CUeah':_0x3e7e92(0x1cc)},_0xf421f6={'event':_0x3e7e92(0x229),'project':_0x461023,'path':_0xd42075},_0x1c3001=_0x3e7e92(0x214)+_0x461023;logger['info'](_0xf421f6,_0x1c3001),_0xb8e991[_0x3e7e92(0x217)](writeToFileLog,{..._0xf421f6,'level':_0xb8e991['CUeah'],'msg':_0x1c3001,'time':new Date()[_0x3e7e92(0x242)]()},_0xb8e991['CUeah']);},logEndpointRegistered=(_0x51435a,_0x434421)=>{const _0x336a03=a0_0x5ba06d,_0x29a334={'GWfvd':function(_0x205008,_0x145464,_0x5a3775){return _0x205008(_0x145464,_0x5a3775);},'JcAZC':_0x336a03(0x231)},_0x5f11d3={'event':_0x336a03(0x1dc),'endpoint':_0x51435a,'route':_0x434421},_0x2c5392='\x20\x20→\x20'+_0x51435a+':\x20'+_0x434421;logger['debug'](_0x5f11d3,_0x2c5392),_0x29a334['GWfvd'](writeToFileLog,{..._0x5f11d3,'level':_0x29a334[_0x336a03(0x1e7)],'msg':_0x2c5392,'time':new Date()['toISOString']()},_0x29a334[_0x336a03(0x1e7)]);},logDatabaseConfig=_0x3e3117=>{const _0x212638=a0_0x5ba06d,_0x5023b6={'BDfPY':function(_0x791956,_0x45fc54,_0x59bc53){return _0x791956(_0x45fc54,_0x59bc53);}},_0x3a0824={'event':'database_config','host':_0x3e3117['host'],'port':_0x3e3117[_0x212638(0x20f)],'database':_0x3e3117[_0x212638(0x1cb)],'type':_0x3e3117[_0x212638(0x1c0)],'user':_0x3e3117[_0x212638(0x1a1)]},_0xfef726='Database:\x20'+_0x3e3117['type']+'://'+_0x3e3117[_0x212638(0x1f1)]+':'+_0x3e3117[_0x212638(0x20f)]+'/'+_0x3e3117[_0x212638(0x1cb)];logger['debug'](_0x3a0824,_0xfef726),_0x5023b6['BDfPY'](writeToFileLog,{..._0x3a0824,'level':_0x212638(0x231),'msg':_0xfef726,'time':new Date()[_0x212638(0x242)]()},_0x212638(0x231));},logRequest=(_0x26e58f,_0x1abb7d,_0xed8a86)=>{const _0x19e9f5=a0_0x5ba06d,_0x56d73c={'JmlbQ':_0x19e9f5(0x1c2),'aHlhd':'info','CkiMG':function(_0x12d3fb,_0x4302db){return _0x12d3fb>=_0x4302db;},'rfmRO':function(_0x36d5a7,_0x1c2242){return _0x36d5a7>=_0x1c2242;}},_0x262cf4={'event':_0x56d73c[_0x19e9f5(0x1f2)],'method':_0x26e58f[_0x19e9f5(0x1eb)],'path':_0x26e58f[_0x19e9f5(0x234)],'statusCode':_0x1abb7d['statusCode'],'durationMs':_0xed8a86,'ip':_0x26e58f['ip']},_0x4a0759=_0x26e58f['method']+'\x20'+_0x26e58f[_0x19e9f5(0x234)]+'\x20-\x20'+_0x1abb7d[_0x19e9f5(0x184)]+'\x20('+_0xed8a86+'ms)';let _0x5e34e2=_0x56d73c[_0x19e9f5(0x23f)];if(_0x56d73c[_0x19e9f5(0x22a)](_0x1abb7d[_0x19e9f5(0x184)],0x1f4))_0x5e34e2='error',logger['error'](_0x262cf4,_0x4a0759);else _0x56d73c['rfmRO'](_0x1abb7d['statusCode'],0x190)?(_0x5e34e2='warn',logger['warn'](_0x262cf4,_0x4a0759)):logger[_0x19e9f5(0x1cc)](_0x262cf4,_0x4a0759);writeToFileLog({..._0x262cf4,'level':_0x5e34e2,'msg':_0x4a0759,'time':new Date()[_0x19e9f5(0x242)]()},_0x5e34e2);},SENSITIVE_PARAM_PATTERNS=['password','passwd',a0_0x5ba06d(0x21d),a0_0x5ba06d(0x1a6),a0_0x5ba06d(0x1c6),'refresh_token','secret',a0_0x5ba06d(0x18e),a0_0x5ba06d(0x227),a0_0x5ba06d(0x1c3),a0_0x5ba06d(0x189),a0_0x5ba06d(0x1ef),'pin','otp',a0_0x5ba06d(0x20a),'privatekey'],redactSensitiveParams=(_0x1558fe,_0x608a0f)=>{const _0x482969=a0_0x5ba06d,_0x9193ab={'durmS':_0x482969(0x21c),'rKhTN':function(_0x2e314a,_0x2e7d41){return _0x2e314a===_0x2e7d41;},'TYyhR':'[REDACTED:hash]'};if(!_0x1558fe||_0x1558fe[_0x482969(0x1ad)]===0x0)return _0x1558fe;const _0x3e979c=_0x608a0f['toLowerCase'](),_0x4bfedf=_0x3e979c['match'](/\(([^)]+)\)\s*values/i);let _0x3ecca7=[];_0x4bfedf&&(_0x3ecca7=_0x4bfedf[0x1]['split'](',')['map'](_0xcc0270=>_0xcc0270['trim']()['toLowerCase']()));const _0x37438c=_0x3e979c['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x37438c){const _0x5f3484=_0x37438c[0x1],_0x205f59=_0x5f3484['match'](/(\w+)\s*=/g);_0x205f59&&(_0x3ecca7=_0x205f59['map'](_0x3277c4=>_0x3277c4[_0x482969(0x1d9)](/\s*=/,'')[_0x482969(0x1bd)]()['toLowerCase']()));}return _0x1558fe[_0x482969(0x192)]((_0x2450b6,_0x447db5)=>{const _0x147888=_0x482969;if(_0x3ecca7[_0x447db5]){const _0x4a93a8=_0x3ecca7[_0x447db5],_0x29641a=SENSITIVE_PARAM_PATTERNS['some'](_0x566930=>_0x4a93a8[_0x147888(0x1fe)](_0x566930));if(_0x29641a)return _0x9193ab[_0x147888(0x1bf)];}if(_0x9193ab[_0x147888(0x204)](typeof _0x2450b6,_0x147888(0x21e))&&_0x2450b6[_0x147888(0x1ad)]>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x147888(0x19b)](_0x2450b6)&&_0x2450b6[_0x147888(0x1fe)]('.'))return _0x147888(0x244);if(/^[a-fA-F0-9]{32,}$/['test'](_0x2450b6))return _0x9193ab[_0x147888(0x22f)];}return _0x2450b6;});},parseQueryMetadata=_0x386a7f=>{const _0x344a67=a0_0x5ba06d,_0x32b7b7={'JauGh':_0x344a67(0x1ae),'wtSwJ':'INSERT','fCwtX':'UPDATE','SsVIY':'DELETE','ZYFeV':'START\x20TRANSACTION','fdYvI':_0x344a67(0x1da),'xQpNw':_0x344a67(0x1c7),'zMAGc':'CREATE','IjzZF':_0x344a67(0x1c1),'wUFOQ':'DDL_ALTER'},_0xea1fd7=_0x386a7f['trim'](),_0x21d6f7=_0xea1fd7['toUpperCase']();let _0x2ffb34='UNKNOWN',_0x3a75fc=null;if(_0x21d6f7['startsWith'](_0x32b7b7['JauGh'])){_0x2ffb34=_0x32b7b7[_0x344a67(0x224)];const _0x163526=_0xea1fd7[_0x344a67(0x1f6)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a75fc=_0x163526?_0x163526[0x1]:null;}else{if(_0x21d6f7['startsWith'](_0x32b7b7['wtSwJ'])){_0x2ffb34=_0x32b7b7[_0x344a67(0x186)];const _0x1c74b7=_0xea1fd7['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a75fc=_0x1c74b7?_0x1c74b7[0x1]:null;}else{if(_0x21d6f7['startsWith']('UPDATE')){_0x2ffb34=_0x32b7b7[_0x344a67(0x228)];const _0x4d0602=_0xea1fd7['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a75fc=_0x4d0602?_0x4d0602[0x1]:null;}else{if(_0x21d6f7[_0x344a67(0x241)](_0x32b7b7['SsVIY'])){_0x2ffb34=_0x32b7b7['SsVIY'];const _0x4fe961=_0xea1fd7['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a75fc=_0x4fe961?_0x4fe961[0x1]:null;}else{if(_0x21d6f7['startsWith'](_0x344a67(0x1a5))||_0x21d6f7[_0x344a67(0x241)](_0x32b7b7['ZYFeV']))_0x2ffb34=_0x344a67(0x1ff);else{if(_0x21d6f7[_0x344a67(0x241)](_0x32b7b7['fdYvI']))_0x2ffb34=_0x344a67(0x23e);else{if(_0x21d6f7[_0x344a67(0x241)]('ROLLBACK'))_0x2ffb34=_0x32b7b7['xQpNw'];else{if(_0x21d6f7[_0x344a67(0x241)](_0x32b7b7[_0x344a67(0x199)]))_0x2ffb34=_0x344a67(0x205);else{if(_0x21d6f7['startsWith'](_0x32b7b7[_0x344a67(0x211)]))_0x2ffb34=_0x32b7b7[_0x344a67(0x243)];else _0x21d6f7[_0x344a67(0x241)](_0x344a67(0x1e5))&&(_0x2ffb34=_0x344a67(0x1fc));}}}}}}}}return{'type':_0x2ffb34,'table':_0x3a75fc};},startQueryTimer=()=>{const _0xf75765={'Qjxcg':function(_0x228a4e,_0x705dab){return _0x228a4e*_0x705dab;},'KJYcn':function(_0x5a6f1c,_0x1022a5){return _0x5a6f1c/_0x1022a5;}},_0x2bc926=process['hrtime']();return()=>{const _0x24bfef=a0_0x4524,[_0x39d50d,_0x428f59]=process[_0x24bfef(0x1b7)](_0x2bc926);return parseFloat((_0xf75765[_0x24bfef(0x1d3)](_0x39d50d,0x3e8)+_0xf75765['KJYcn'](_0x428f59,0xf4240))[_0x24bfef(0x20e)](0x2));};},logQuery=(_0x41a5a1,_0x3ae2bc=[],_0x36a7da={})=>{const _0x3c9bef=a0_0x5ba06d,_0x1e6975={'QZTqU':_0x3c9bef(0x22d),'aaXtN':_0x3c9bef(0x1f8),'RLxoT':function(_0x225c1f,_0x5d4491){return _0x225c1f>_0x5d4491;},'JKBEx':function(_0x31a5c5,_0x27f0bf){return _0x31a5c5||_0x27f0bf;},'suaIg':'unknown','OnOiX':function(_0x4e1465,_0x34360b){return _0x4e1465!==_0x34360b;},'Wpbys':function(_0x5b8f79,_0x6bf54e){return _0x5b8f79!==_0x6bf54e;},'AMvpE':'debug','owhjw':'\x20[SLOW]','PBFAh':function(_0x27d2b0,_0x367373){return _0x27d2b0===_0x367373;},'dgGAK':_0x3c9bef(0x1cc),'eCLEC':function(_0x3614e4,_0x37bd1e,_0x1e1ce5){return _0x3614e4(_0x37bd1e,_0x1e1ce5);}};if(!sqlLogEnabled){logger['debug']({'event':_0x1e6975['QZTqU'],'query':_0x41a5a1['substring'](0x0,0xc8),'paramCount':_0x3ae2bc['length']},_0x3c9bef(0x1e9));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x1e6975['aaXtN']}=_0x36a7da,{type:_0x5a99e2,table:_0x57ccb5}=parseQueryMetadata(_0x41a5a1),_0x2802da={'event':_0x3c9bef(0x19f),'queryType':_0x5a99e2,'table':_0x57ccb5,'query':_0x41a5a1,'paramCount':_0x3ae2bc['length'],'dbType':dbType};sqlLogParams&&_0x3ae2bc[_0x3c9bef(0x1ad)]>0x0&&(_0x2802da['params']=redactSensitiveParams(_0x3ae2bc,_0x41a5a1));duration!==null&&(_0x2802da[_0x3c9bef(0x1ac)]=duration,_0x2802da[_0x3c9bef(0x239)]=_0x1e6975[_0x3c9bef(0x1d7)](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x2802da['rowsAffected']=rowsAffected);const _0x31d01b=_0x1e6975['JKBEx'](_0x57ccb5,_0x1e6975['suaIg']);let _0x56d4e8='['+_0x5a99e2+']\x20'+_0x31d01b;_0x1e6975[_0x3c9bef(0x1ba)](duration,null)&&(_0x56d4e8+='\x20('+duration+'ms)');const _0x3458e6=_0x1e6975['Wpbys'](duration,null)&&_0x1e6975['RLxoT'](duration,sqlLogSlowThreshold);let _0x13df57=_0x1e6975['AMvpE'];if(_0x3458e6)_0x56d4e8+=_0x1e6975['owhjw'],_0x13df57=_0x3c9bef(0x1e8),logger['warn'](_0x2802da,_0x56d4e8);else _0x1e6975[_0x3c9bef(0x1b5)](sqlLogLevel,'info')?(_0x13df57=_0x1e6975[_0x3c9bef(0x22b)],logger[_0x3c9bef(0x1cc)](_0x2802da,_0x56d4e8)):logger[_0x3c9bef(0x231)](_0x2802da,_0x56d4e8);_0x1e6975[_0x3c9bef(0x1de)](writeToFileLog,{..._0x2802da,'level':_0x13df57,'msg':_0x56d4e8,'time':new Date()['toISOString']()},_0x13df57);},logTransaction=(_0x394552,_0x135570)=>{const _0x3c9e7a=a0_0x5ba06d,_0x5dc33b={'Zfctk':_0x3c9e7a(0x1ce),'yYLzu':'debug'},_0x2ac999={'event':_0x5dc33b[_0x3c9e7a(0x225)],'status':_0x394552,'queryCount':_0x135570},_0x56c3bc='Transaction\x20'+_0x394552;logger[_0x3c9e7a(0x231)](_0x2ac999,_0x56c3bc),writeToFileLog({..._0x2ac999,'level':_0x5dc33b['yYLzu'],'msg':_0x56c3bc,'time':new Date()['toISOString']()},_0x3c9e7a(0x231));},redactObject=_0x30dae3=>{const _0x1465d7=a0_0x5ba06d,_0x5b86c7={'aqEKH':function(_0x5d3266,_0x3c5ccd){return _0x5d3266!==_0x3c5ccd;},'OHmqB':'passwd','viVzb':_0x1465d7(0x21d),'eqciq':'token','ARRIZ':'creditcard','mqZDE':_0x1465d7(0x1ca),'allCr':'ssn','AQBeY':_0x1465d7(0x223)};if(!_0x30dae3||_0x5b86c7['aqEKH'](typeof _0x30dae3,'object'))return _0x30dae3;const _0x27e681=[_0x1465d7(0x1f3),_0x5b86c7[_0x1465d7(0x218)],_0x5b86c7[_0x1465d7(0x1b8)],_0x5b86c7[_0x1465d7(0x1f9)],'secret',_0x1465d7(0x227),_0x1465d7(0x1c3),_0x1465d7(0x1d8),_0x5b86c7['ARRIZ'],_0x5b86c7[_0x1465d7(0x190)],'cvv',_0x5b86c7['allCr'],'pin','private_key','privatekey',_0x5b86c7[_0x1465d7(0x1a0)],_0x1465d7(0x1c6)],_0x38ac71=Array['isArray'](_0x30dae3)?[..._0x30dae3]:{..._0x30dae3};for(const _0xe9bcea of Object['keys'](_0x38ac71)){const _0x430547=_0xe9bcea[_0x1465d7(0x212)]();if(_0x27e681['some'](_0x2e61d7=>_0x430547['includes'](_0x2e61d7)))_0x38ac71[_0xe9bcea]=_0x1465d7(0x21c);else typeof _0x38ac71[_0xe9bcea]===_0x1465d7(0x18f)&&_0x5b86c7['aqEKH'](_0x38ac71[_0xe9bcea],null)&&(_0x38ac71[_0xe9bcea]=redactObject(_0x38ac71[_0xe9bcea]));}return _0x38ac71;},logError=(_0x18ccdb,_0x3b6a6c={},_0x20f026=null)=>{const _0x26f480=a0_0x5ba06d,_0x5d4e32={'lTyLI':'error','MSxeI':function(_0x51aec3,_0x52bb90,_0x398693){return _0x51aec3(_0x52bb90,_0x398693);}},_0x3289b9={'event':_0x5d4e32['lTyLI'],'errorName':_0x18ccdb[_0x26f480(0x18d)]||_0x26f480(0x1cd),'errorMessage':_0x18ccdb[_0x26f480(0x185)],'errorCode':_0x18ccdb[_0x26f480(0x1ab)]||null,'stack':_0x18ccdb[_0x26f480(0x219)],..._0x3b6a6c},_0x8c363b=_0x20f026||'Error:\x20'+_0x18ccdb[_0x26f480(0x185)];logger['error'](_0x3289b9,_0x8c363b),_0x5d4e32['MSxeI'](writeToFileLog,{..._0x3289b9,'level':_0x5d4e32['lTyLI'],'msg':_0x8c363b,'time':new Date()[_0x26f480(0x242)]()},_0x5d4e32[_0x26f480(0x187)]);},logFatalError=(_0xc2dc73,_0xb75c9d={},_0x54ee9f=null)=>{const _0x3881ea=a0_0x5ba06d,_0x4f60ee={'pGzkP':_0x3881ea(0x1b0),'ASLYA':function(_0x36b968,_0x46bf43,_0x51389c){return _0x36b968(_0x46bf43,_0x51389c);}},_0x5a8ac6={'event':_0x3881ea(0x1aa),'errorName':_0xc2dc73['name']||'Error','errorMessage':_0xc2dc73['message'],'errorCode':_0xc2dc73['code']||null,'stack':_0xc2dc73['stack'],'severity':_0x4f60ee['pGzkP'],..._0xb75c9d},_0x9d21e5=_0x54ee9f||_0x3881ea(0x19e)+_0xc2dc73['message'];logger[_0x3881ea(0x238)](_0x5a8ac6,_0x9d21e5),_0x4f60ee['ASLYA'](writeToFileLog,{..._0x5a8ac6,'level':_0x3881ea(0x238),'msg':_0x9d21e5,'time':new Date()['toISOString']()},_0x3881ea(0x215));},logHttpError=(_0x312e3a,_0xbbbb8d,_0xac5d7c={})=>{const _0x757aaa=a0_0x5ba06d,_0x325619={'jYjoI':_0x757aaa(0x1cd),'VEGnW':_0x757aaa(0x191),'TuEzY':function(_0x43847c,_0x15429){return _0x43847c(_0x15429);},'JMMWM':function(_0x10bdf8,_0x507260){return _0x10bdf8>=_0x507260;},'WhYpK':'warn'},_0x2b73a4={'event':_0x757aaa(0x1e4),'errorName':_0x312e3a['name']||_0x325619[_0x757aaa(0x1f7)],'errorMessage':_0x312e3a['message'],'errorCode':_0x312e3a['code']||_0x312e3a['statusCode']||0x1f4,'stack':_0x312e3a[_0x757aaa(0x219)],'method':_0xbbbb8d?.['method'],'url':_0xbbbb8d?.['url']||_0xbbbb8d?.['originalUrl'],'path':_0xbbbb8d?.['path'],'ip':_0xbbbb8d?.['ip']||_0xbbbb8d?.[_0x757aaa(0x1be)]?.['remoteAddress'],'userAgent':_0xbbbb8d?.[_0x757aaa(0x1e0)]?.(_0x757aaa(0x1ed)),'requestId':_0xbbbb8d?.['id']||_0xbbbb8d?.[_0x757aaa(0x1d0)]?.[_0x325619[_0x757aaa(0x20d)]],'body':_0xbbbb8d?.['body']?_0x325619[_0x757aaa(0x210)](redactObject,_0xbbbb8d[_0x757aaa(0x207)]):undefined,'query':_0xbbbb8d?.['query'],..._0xac5d7c},_0xb1e81f=_0x312e3a[_0x757aaa(0x184)]||_0x312e3a['status']||0x1f4,_0x4e89a1='HTTP\x20'+_0xb1e81f+':\x20'+_0x312e3a[_0x757aaa(0x185)];_0xb1e81f>=0x1f4?logger['error'](_0x2b73a4,_0x4e89a1):logger[_0x757aaa(0x1e8)](_0x2b73a4,_0x4e89a1),writeToFileLog({..._0x2b73a4,'level':_0x325619['JMMWM'](_0xb1e81f,0x1f4)?_0x757aaa(0x215):_0x325619['WhYpK'],'msg':_0x4e89a1,'time':new Date()[_0x757aaa(0x242)]()},_0x325619[_0x757aaa(0x19a)](_0xb1e81f,0x1f4)?_0x757aaa(0x215):'warn');},logUncaughtError=(_0x5cf4b5,_0x5676a1)=>{const _0x2b1d5f=a0_0x5ba06d,_0x1db836={'VWHya':function(_0x1f3d04,_0x380c8e){return _0x1f3d04(_0x380c8e);},'QxFRc':_0x2b1d5f(0x1b0),'qtXBn':_0x2b1d5f(0x238),'evBvn':'error'},_0x265079={'event':_0x5cf4b5,'errorName':_0x5676a1?.[_0x2b1d5f(0x18d)]||'Error','errorMessage':_0x5676a1?.['message']||_0x1db836[_0x2b1d5f(0x20c)](String,_0x5676a1),'errorCode':_0x5676a1?.['code']||null,'stack':_0x5676a1?.[_0x2b1d5f(0x219)],'severity':_0x1db836[_0x2b1d5f(0x21f)],'processId':process['pid'],'memoryUsage':process[_0x2b1d5f(0x1b9)](),'uptime':process['uptime']()},_0x327729='['+_0x5cf4b5['toUpperCase']()+']\x20'+(_0x5676a1?.[_0x2b1d5f(0x185)]||_0x5676a1);logger['fatal'](_0x265079,_0x327729),writeToFileLog({..._0x265079,'level':_0x1db836[_0x2b1d5f(0x1b3)],'msg':_0x327729,'time':new Date()['toISOString']()},_0x1db836['evBvn']);},setupGlobalErrorHandlers=()=>{const _0x571a61=a0_0x5ba06d,_0x26ff69={'SzYqb':function(_0x3f3645,_0x3398c0,_0x5176c0){return _0x3f3645(_0x3398c0,_0x5176c0);},'GSVbJ':'unhandledRejection','cnqxg':'warning','vJmTM':_0x571a61(0x1e3),'BDDvK':'info'};process['on']('uncaughtException',_0x4348f7=>{const _0x4afa6e=_0x571a61;logUncaughtError(_0x4afa6e(0x1f5),_0x4348f7),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on']('unhandledRejection',(_0x302ee2,_0x53d9ed)=>{const _0x24dbc2=_0x571a61,_0x2c9873=_0x302ee2 instanceof Error?_0x302ee2:new Error(String(_0x302ee2));_0x26ff69['SzYqb'](logUncaughtError,_0x26ff69[_0x24dbc2(0x1f4)],_0x2c9873);}),process['on'](_0x26ff69['cnqxg'],_0x3d8901=>{const _0x3a1d74=_0x571a61;logger['warn']({'event':_0x3a1d74(0x1f0),'name':_0x3d8901[_0x3a1d74(0x18d)],'message':_0x3d8901[_0x3a1d74(0x185)],'stack':_0x3d8901[_0x3a1d74(0x219)]},_0x3a1d74(0x1c5)+_0x3d8901['message']);});const _0x2dc5e9={'event':_0x571a61(0x1a7)},_0x23bb61=_0x26ff69['vJmTM'];logger[_0x571a61(0x1cc)](_0x2dc5e9,_0x23bb61),writeToFileLog({..._0x2dc5e9,'level':_0x571a61(0x1cc),'msg':_0x23bb61,'time':new Date()['toISOString']()},_0x26ff69['BDDvK']);},createErrorHandlerMiddleware=()=>{const _0x1a2db3=a0_0x5ba06d,_0x1feaea={'YXPrw':function(_0x372d5d,_0x42186e,_0x48f82c){return _0x372d5d(_0x42186e,_0x48f82c);},'hLsoe':_0x1a2db3(0x1af),'yGsgD':_0x1a2db3(0x191)};return(_0x1c8330,_0x4edc09,_0x51635b,_0x536138)=>{const _0x1a2ed8=_0x1a2db3;_0x1feaea[_0x1a2ed8(0x1c8)](logHttpError,_0x1c8330,_0x4edc09);const _0xe344f3=_0x1c8330[_0x1a2ed8(0x184)]||_0x1c8330['status']||0x1f4;_0x51635b[_0x1a2ed8(0x200)](_0xe344f3)['json']({'success':![],'error':_0xe344f3>=0x1f4?_0x1feaea[_0x1a2ed8(0x1df)]:_0x1c8330[_0x1a2ed8(0x185)],'requestId':_0x4edc09['id']||_0x4edc09[_0x1a2ed8(0x1d0)]?.[_0x1feaea['yGsgD']]||null});};};function a0_0x4524(_0x29ff1d,_0x4a0cf6){_0x29ff1d=_0x29ff1d-0x183;const _0x35a208=a0_0x35a2();let _0x452471=_0x35a208[_0x29ff1d];if(a0_0x4524['ESOYiK']===undefined){var _0x128e35=function(_0x57c251){const _0x104c9c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x55c6e6='',_0x304341='';for(let _0xdfcba3=0x0,_0x5b1fa4,_0x4270e6,_0x66450=0x0;_0x4270e6=_0x57c251['charAt'](_0x66450++);~_0x4270e6&&(_0x5b1fa4=_0xdfcba3%0x4?_0x5b1fa4*0x40+_0x4270e6:_0x4270e6,_0xdfcba3++%0x4)?_0x55c6e6+=String['fromCharCode'](0xff&_0x5b1fa4>>(-0x2*_0xdfcba3&0x6)):0x0){_0x4270e6=_0x104c9c['indexOf'](_0x4270e6);}for(let _0x5abca9=0x0,_0x218ad9=_0x55c6e6['length'];_0x5abca9<_0x218ad9;_0x5abca9++){_0x304341+='%'+('00'+_0x55c6e6['charCodeAt'](_0x5abca9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x304341);};a0_0x4524['pigbnw']=_0x128e35,a0_0x4524['PIDeYU']={},a0_0x4524['ESOYiK']=!![];}const _0x3a1d01=_0x35a208[0x0],_0x21e56b=_0x29ff1d+_0x3a1d01,_0x82e7e5=a0_0x4524['PIDeYU'][_0x21e56b];return!_0x82e7e5?(_0x452471=a0_0x4524['pigbnw'](_0x452471),a0_0x4524['PIDeYU'][_0x21e56b]=_0x452471):_0x452471=_0x82e7e5,_0x452471;}module[a0_0x5ba06d(0x19c)]={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x3ae4e0=a0_0x9b8c;(function(_0x55f1f4,_0x1d8c52){const _0x11b93c=a0_0x9b8c,_0x2a1715=_0x55f1f4();while(!![]){try{const _0x1dba7a=-parseInt(_0x11b93c(0x1d9))/0x1+parseInt(_0x11b93c(0x1fd))/0x2*(parseInt(_0x11b93c(0x1dc))/0x3)+-parseInt(_0x11b93c(0x1e3))/0x4+-parseInt(_0x11b93c(0x1f3))/0x5+parseInt(_0x11b93c(0x200))/0x6+-parseInt(_0x11b93c(0x1df))/0x7*(-parseInt(_0x11b93c(0x1fc))/0x8)+-parseInt(_0x11b93c(0x1f1))/0x9*(-parseInt(_0x11b93c(0x203))/0xa);if(_0x1dba7a===_0x1d8c52)break;else _0x2a1715['push'](_0x2a1715['shift']());}catch(_0x411c96){_0x2a1715['push'](_0x2a1715['shift']());}}}(a0_0x4bed,0xa49ca));function a0_0x4bed(){const _0x3a8d0c=['zw50CMLLCW','B3jHy2XL','lI9KyI1TExnXBa','C2v0','ntCXnJa4twruB1LO','Dg9vChbLCKnHC2u','ndi5mtaXnuHTug5QyW','Bg9VA3vWq2fJAgu','BgvUz3rO','zxHLy3v0zvf1zxj5','AvrszMy','Bg9HzeXVB2T1CfrHyMXL','sNPuyM0','lI9KyG','AgfZ','ndmYoteYwxHyv2Tu','otGZmfzfte95Ca','DhjPBq','iIbUB3qGzM91BMqGAw4G','nty4ntm0mKfzAuDOsa','zxHWB3j0CW','BxLZCwW','mtuWENHdChzL','y2XLyxjdywnOzq','tg9VA3vWignHy2HLignSzwfYzwq','qujmy2G','zxjYB3i','zNjVBq','DMfSAwrHDgvmB29RDxbwywX1zxm','ChjVy2vZC0XVB2T1CezPzwXKCW','ENrhzvO','u2jby1u','nZC5mJK0AuvHDwj1','sezwvMm','BwfW','ntCWtNjyv2fk','A2v5CW','CMvZB2X2zuXVB2T1CfzHBhvL','otflzhL0wNO','Dg9mB3DLCKnHC2u','AMfLyKK','BwvZC2fNzq','ndKWmZi4ofLHvgXsyW','u0vmrunuia','Cg9ZDgDYzxnXBa','rfDjv0i','ywrK','DNzXywi','ChvZAa','Bg9VA3vWx3rHyMXLx2XVywrLza','z2v0rgLZDgLUy3rwywX1zxm','rejFvfLqrq'];a0_0x4bed=function(){return _0x3a8d0c;};return a0_0x4bed();}const dbType=(process['env'][a0_0x3ae4e0(0x1ec)]||a0_0x3ae4e0(0x1e5))['toLowerCase']();let executeQuery;if(dbType===a0_0x3ae4e0(0x1ee)){const oracleDb=require('./db-oracle');executeQuery=(_0x358e25,_0x14a776)=>oracleDb[a0_0x3ae4e0(0x1f6)](_0x358e25,_0x14a776);}else{if(dbType===a0_0x3ae4e0(0x202)){const mysqlDb=require(a0_0x3ae4e0(0x1ef));executeQuery=(_0x3a9c8b,_0xd56b0f)=>mysqlDb[a0_0x3ae4e0(0x1f6)](_0x3a9c8b,_0xd56b0f);}else executeQuery=require(a0_0x3ae4e0(0x1fa))[a0_0x3ae4e0(0x1f6)];}const {logger}=require('./logger');function a0_0x9b8c(_0xa935ee,_0x2945aa){_0xa935ee=_0xa935ee-0x1d1;const _0x4bed89=a0_0x4bed();let _0x9b8ce8=_0x4bed89[_0xa935ee];if(a0_0x9b8c['PvgOrd']===undefined){var _0x3a9537=function(_0x369174){const _0x5ec1e8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2a09e1='',_0x1e25cc='';for(let _0xf79587=0x0,_0x1de6b9,_0x2afd4d,_0x1bfc71=0x0;_0x2afd4d=_0x369174['charAt'](_0x1bfc71++);~_0x2afd4d&&(_0x1de6b9=_0xf79587%0x4?_0x1de6b9*0x40+_0x2afd4d:_0x2afd4d,_0xf79587++%0x4)?_0x2a09e1+=String['fromCharCode'](0xff&_0x1de6b9>>(-0x2*_0xf79587&0x6)):0x0){_0x2afd4d=_0x5ec1e8['indexOf'](_0x2afd4d);}for(let _0x3a9d9a=0x0,_0x13dd1b=_0x2a09e1['length'];_0x3a9d9a<_0x13dd1b;_0x3a9d9a++){_0x1e25cc+='%'+('00'+_0x2a09e1['charCodeAt'](_0x3a9d9a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1e25cc);};a0_0x9b8c['raxcaB']=_0x3a9537,a0_0x9b8c['yffMer']={},a0_0x9b8c['PvgOrd']=!![];}const _0x2fc656=_0x4bed89[0x0],_0x434985=_0xa935ee+_0x2fc656,_0x40e18e=a0_0x9b8c['yffMer'][_0x434985];return!_0x40e18e?(_0x9b8ce8=a0_0x9b8c['raxcaB'](_0x9b8ce8),a0_0x9b8c['yffMer'][_0x434985]=_0x9b8ce8):_0x9b8ce8=_0x40e18e,_0x9b8ce8;}class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x3ae4e0(0x204)](){const _0x1d6e2c=a0_0x3ae4e0,_0x30245e={'YmioX':'lookup_cache_cleared','WFWww':_0x1d6e2c(0x1d1)};this['lookupCache']['clear'](),logger['debug']({'event':_0x30245e['YmioX']},_0x30245e['WFWww']);}async[a0_0x3ae4e0(0x1f8)](_0xd39d10,_0x39aca8,_0x3afe61){const _0x277879=a0_0x3ae4e0,_0x5cd41f={'HFVVc':function(_0x9de0e2,_0x460345){return _0x9de0e2!==_0x460345;},'SbAcU':function(_0x36917a,_0x63bbb8){return _0x36917a(_0x63bbb8);},'pJozZ':function(_0x428d8c,_0x1f4e54){return _0x428d8c(_0x1f4e54);}},_0x3e7b5a=_0xd39d10+':'+_0x39aca8+':'+_0x3afe61;if(this['lookupCache'][_0x277879(0x1fb)](_0x3e7b5a))return this[_0x277879(0x1f4)]['get'](_0x3e7b5a);try{const _0x3187af=_0x277879(0x1e4)+_0x3afe61+',\x20'+_0x39aca8+'\x20FROM\x20'+_0xd39d10,_0x146248=await _0x5cd41f['SbAcU'](executeQuery,_0x3187af),_0x469636=new Map();return _0x146248['forEach'](_0xb406ad=>{const _0x107dba=_0x277879,_0x3bb53c=_0xb406ad[_0x39aca8]!==undefined?_0xb406ad[_0x39aca8]:_0xb406ad[_0x39aca8[_0x107dba(0x1f2)]()],_0x569ed4=_0xb406ad[_0x3afe61]!==undefined?_0xb406ad[_0x3afe61]:_0xb406ad[_0x3afe61[_0x107dba(0x1f2)]()];_0x5cd41f[_0x107dba(0x1da)](_0x3bb53c,null)&&_0x5cd41f[_0x107dba(0x1da)](_0x3bb53c,undefined)&&(_0x469636['set'](_0x5cd41f[_0x107dba(0x1d8)](String,_0x3bb53c)[_0x107dba(0x1e0)]()['trim'](),_0x569ed4),_0x469636[_0x107dba(0x1f0)](_0x5cd41f['pJozZ'](String,_0x3bb53c)['trim'](),_0x569ed4));}),this['lookupCache'][_0x277879(0x1f0)](_0x3e7b5a,_0x469636),logger['info']({'event':_0x277879(0x1ea),'table':_0xd39d10,'column':_0x39aca8,'count':_0x146248['length']},'Lookup\x20table\x20loaded:\x20'+_0xd39d10),_0x469636;}catch(_0x4c111d){logger[_0x277879(0x1d3)]({'event':'lookup_table_load_error','table':_0xd39d10,'error':_0x4c111d[_0x277879(0x1e2)]},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0xd39d10);throw _0x4c111d;}}[a0_0x3ae4e0(0x1de)](_0x3afe2c,_0x5839ee){const _0x241766=a0_0x3ae4e0,_0x187919={'OVtYK':function(_0x94f3b4,_0x5b685b){return _0x94f3b4===_0x5b685b;},'vvqab':function(_0x1356fe,_0x4ffa7f){return _0x1356fe===_0x4ffa7f;}};if(_0x187919['OVtYK'](_0x3afe2c,null)||_0x187919['OVtYK'](_0x3afe2c,undefined)||_0x187919[_0x241766(0x1e8)](_0x3afe2c,''))return null;const _0x2e1a43=String(_0x3afe2c)['trim']();if(_0x5839ee[_0x241766(0x1fb)](_0x2e1a43))return _0x5839ee['get'](_0x2e1a43);const _0x19b2d4=_0x2e1a43['toLowerCase']();if(_0x5839ee['has'](_0x19b2d4))return _0x5839ee['get'](_0x19b2d4);return null;}async[a0_0x3ae4e0(0x1d6)](_0x6ae098,_0x298921){const _0x4b3eb5=a0_0x3ae4e0,_0x51ce28={'DWIWB':function(_0x328862,_0x54d688){return _0x328862===_0x54d688;},'jaebI':function(_0x35c0c3,_0x449036){return _0x35c0c3===_0x449036;},'XQJzr':'lookup_fields_processed','iTRff':'Lookup\x20fields\x20processed'};if(!_0x298921||_0x51ce28[_0x4b3eb5(0x1e1)](Object[_0x4b3eb5(0x1dd)](_0x298921)['length'],0x0))return{'processedRows':_0x6ae098,'errors':[]};const _0x4a3841=[],_0x4f9638=new Map();for(const [_0x127aab,_0x48fe27]of Object['entries'](_0x298921)){const {lookupTable:_0x45878e,lookupColumn:_0x33c137,lookupIdColumn:_0x13b861}=_0x48fe27,_0x56ec40=_0x45878e+':'+_0x33c137+':'+_0x13b861;if(!_0x4f9638[_0x4b3eb5(0x1fb)](_0x56ec40)){const _0x525b47=await this[_0x4b3eb5(0x1f8)](_0x45878e,_0x33c137,_0x13b861);_0x4f9638[_0x4b3eb5(0x1f0)](_0x56ec40,_0x525b47);}}const _0x177685=_0x6ae098[_0x4b3eb5(0x1db)]((_0x5b180d,_0x426d34)=>{const _0xa74a26=_0x4b3eb5,_0x4dfdd2={..._0x5b180d};for(const [_0x3ba8d5,_0x2b9b8a]of Object[_0xa74a26(0x1ed)](_0x298921)){const {lookupTable:_0x4fa260,lookupColumn:_0x3fe48a,lookupIdColumn:_0x5328d1,targetField:_0x29f5fd,required:_0x31eea8}=_0x2b9b8a,_0x3ed652=_0x4fa260+':'+_0x3fe48a+':'+_0x5328d1,_0x36af25=_0x4f9638['get'](_0x3ed652),_0x59e128=_0x5b180d[_0x3ba8d5];if((_0x59e128===null||_0x59e128===undefined||_0x51ce28[_0xa74a26(0x1e6)](_0x59e128,''))&&!_0x31eea8){_0x4dfdd2[_0x29f5fd]=null;continue;}const _0x25ada3=this[_0xa74a26(0x1de)](_0x59e128,_0x36af25);_0x25ada3!==null?_0x4dfdd2[_0x29f5fd]=_0x25ada3:(_0x31eea8&&_0x4a3841['push']({'rowIndex':_0x426d34,'field':_0x3ba8d5,'value':_0x59e128,'targetField':_0x29f5fd,'lookupTable':_0x4fa260,'message':'Value\x20\x22'+_0x59e128+_0xa74a26(0x1ff)+_0x4fa260}),_0x4dfdd2[_0x29f5fd]=null);}return _0x4dfdd2;});return logger['info']({'event':_0x51ce28['XQJzr'],'totalRows':_0x6ae098['length'],'errorCount':_0x4a3841['length'],'lookupFieldCount':Object[_0x4b3eb5(0x1dd)](_0x298921)['length']},_0x51ce28[_0x4b3eb5(0x1f7)]),{'processedRows':_0x177685,'errors':_0x4a3841};}[a0_0x3ae4e0(0x1eb)](_0x5af54b,_0x598ab4){const _0x2e30de=a0_0x3ae4e0,_0x356409={'jMhQH':function(_0x55d04a,_0xad1597){return _0x55d04a!==_0xad1597;},'ABLch':function(_0x258af3,_0x489576){return _0x258af3(_0x489576);}},_0x19d55c=new Set();return _0x5af54b['forEach'](_0x8863bb=>{const _0x3573a3=a0_0x9b8c,_0x20e9b9=_0x8863bb[_0x598ab4];_0x356409['jMhQH'](_0x20e9b9,null)&&_0x356409['jMhQH'](_0x20e9b9,undefined)&&_0x20e9b9!==''&&_0x19d55c[_0x3573a3(0x1e7)](_0x356409[_0x3573a3(0x1d2)](String,_0x20e9b9)[_0x3573a3(0x1fe)]());}),Array[_0x2e30de(0x1d4)](_0x19d55c);}async[a0_0x3ae4e0(0x1d5)](_0x552ce3,_0x12e369){const _0x4b664d=a0_0x3ae4e0,_0x207d14={'dJxaq':function(_0x2858dc,_0x25d340){return _0x2858dc===_0x25d340;},'JzTbm':function(_0x57cbcd,_0xbe89b){return _0x57cbcd===_0xbe89b;},'qjVFj':function(_0x5b8517,_0x4fb57){return _0x5b8517>_0x4fb57;},'ztGeZ':function(_0x271ba5,_0x4e174c){return _0x271ba5===_0x4e174c;}};if(!_0x12e369||_0x207d14[_0x4b664d(0x1f9)](Object[_0x4b664d(0x1dd)](_0x12e369)[_0x4b664d(0x1f5)],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x2cfd11=[],_0x13cabe={};for(const [_0x1e5624,_0x3cf4e9]of Object['entries'](_0x12e369)){const {lookupTable:_0x4600dd,lookupColumn:_0x29c888,lookupIdColumn:_0x20f57b,required:_0x5d11c5}=_0x3cf4e9,_0x21ce8a=this[_0x4b664d(0x1eb)](_0x552ce3,_0x1e5624),_0x19f666=await this['loadLookupTable'](_0x4600dd,_0x29c888,_0x20f57b),_0x1f30bf=[],_0x585619=[];_0x21ce8a['forEach'](_0x754086=>{const _0x76426b=_0x4b664d,_0x21e0fe=this[_0x76426b(0x1de)](_0x754086,_0x19f666);_0x21e0fe!==null?_0x585619[_0x76426b(0x1e9)](_0x754086):_0x1f30bf['push'](_0x754086);});if(_0x207d14['qjVFj'](_0x1f30bf['length'],0x0)&&_0x5d11c5){_0x2cfd11[_0x4b664d(0x1e9)]({'field':_0x1e5624,'lookupTable':_0x4600dd,'invalidValues':_0x1f30bf,'message':_0x1f30bf['length']+'\x20value(s)\x20not\x20found\x20in\x20'+_0x4600dd});const _0x35ce98=[];_0x19f666['forEach']((_0x1c8889,_0x247624)=>{const _0x3d0ea3=_0x4b664d;if(_0x207d14['dJxaq'](_0x247624,_0x247624[_0x3d0ea3(0x1e0)]()))return;_0x35ce98['push'](_0x247624);}),_0x13cabe[_0x1e5624]={'invalidValues':_0x1f30bf,'availableValues':_0x35ce98['slice'](0x0,0x32)};}}return{'valid':_0x207d14[_0x4b664d(0x1d7)](_0x2cfd11[_0x4b664d(0x1f5)],0x0),'errors':_0x2cfd11,'suggestions':_0x13cabe};}}module[a0_0x3ae4e0(0x201)]=new LookupResolver();
|
|
1
|
+
const a0_0x40382b=a0_0x1921;(function(_0x698538,_0x4f39b6){const _0x305b16=a0_0x1921,_0x534d74=_0x698538();while(!![]){try{const _0x2c3a05=-parseInt(_0x305b16(0x15d))/0x1+-parseInt(_0x305b16(0x139))/0x2*(-parseInt(_0x305b16(0x13b))/0x3)+parseInt(_0x305b16(0x162))/0x4*(-parseInt(_0x305b16(0x153))/0x5)+parseInt(_0x305b16(0x144))/0x6*(-parseInt(_0x305b16(0x150))/0x7)+parseInt(_0x305b16(0x15a))/0x8*(-parseInt(_0x305b16(0x13a))/0x9)+parseInt(_0x305b16(0x15c))/0xa+parseInt(_0x305b16(0x155))/0xb*(parseInt(_0x305b16(0x14e))/0xc);if(_0x2c3a05===_0x4f39b6)break;else _0x534d74['push'](_0x534d74['shift']());}catch(_0x53e82e){_0x534d74['push'](_0x534d74['shift']());}}}(a0_0x4afb,0xd4e4a));const dbType=(process[a0_0x40382b(0x15e)][a0_0x40382b(0x13c)]||a0_0x40382b(0x142))['toLowerCase']();function a0_0x1921(_0x37f30c,_0x2e6a54){_0x37f30c=_0x37f30c-0x130;const _0x4afb4d=a0_0x4afb();let _0x19214b=_0x4afb4d[_0x37f30c];if(a0_0x1921['lEcuRf']===undefined){var _0x68a461=function(_0x5b026b){const _0x211d15='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x456a8f='',_0x326e2a='';for(let _0x36113e=0x0,_0x571374,_0x5eb42d,_0x1578ec=0x0;_0x5eb42d=_0x5b026b['charAt'](_0x1578ec++);~_0x5eb42d&&(_0x571374=_0x36113e%0x4?_0x571374*0x40+_0x5eb42d:_0x5eb42d,_0x36113e++%0x4)?_0x456a8f+=String['fromCharCode'](0xff&_0x571374>>(-0x2*_0x36113e&0x6)):0x0){_0x5eb42d=_0x211d15['indexOf'](_0x5eb42d);}for(let _0x121fe1=0x0,_0x15aef2=_0x456a8f['length'];_0x121fe1<_0x15aef2;_0x121fe1++){_0x326e2a+='%'+('00'+_0x456a8f['charCodeAt'](_0x121fe1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x326e2a);};a0_0x1921['ssrYyv']=_0x68a461,a0_0x1921['qhVMKt']={},a0_0x1921['lEcuRf']=!![];}const _0x1cd683=_0x4afb4d[0x0],_0x3c8613=_0x37f30c+_0x1cd683,_0x2129e3=a0_0x1921['qhVMKt'][_0x3c8613];return!_0x2129e3?(_0x19214b=a0_0x1921['ssrYyv'](_0x19214b),a0_0x1921['qhVMKt'][_0x3c8613]=_0x19214b):_0x19214b=_0x2129e3,_0x19214b;}let executeQuery;if(dbType===a0_0x40382b(0x13f)){const oracleDb=require(a0_0x40382b(0x141));executeQuery=(_0x353cdb,_0x46b2a7)=>oracleDb['executeQuery'](_0x353cdb,_0x46b2a7);}else{if(dbType==='mysql'){const mysqlDb=require(a0_0x40382b(0x132));executeQuery=(_0x5c3398,_0xaa49cb)=>mysqlDb['executeQuery'](_0x5c3398,_0xaa49cb);}else executeQuery=require(a0_0x40382b(0x140))[a0_0x40382b(0x158)];}const {logger}=require('./logger');class LookupResolver{constructor(){this['lookupCache']=new Map();}['clearCache'](){const _0x540ce0=a0_0x40382b,_0x57cccc={'KnSMW':'lookup_cache_cleared'};this[_0x540ce0(0x14a)]['clear'](),logger['debug']({'event':_0x57cccc[_0x540ce0(0x14b)]},_0x540ce0(0x133));}async['loadLookupTable'](_0x320aa4,_0x4adb8e,_0x13e2b9){const _0x1f5ce6=a0_0x40382b,_0x41fa63={'WpdfD':function(_0x17c3b6,_0x211080){return _0x17c3b6!==_0x211080;},'yUhty':function(_0x263e47,_0x1167f7){return _0x263e47(_0x1167f7);},'aiLKY':'lookup_table_loaded','IBbLl':_0x1f5ce6(0x146)},_0x520e25=_0x320aa4+':'+_0x4adb8e+':'+_0x13e2b9;if(this['lookupCache']['has'](_0x520e25))return this['lookupCache']['get'](_0x520e25);try{const _0x42b201='SELECT\x20'+_0x13e2b9+',\x20'+_0x4adb8e+_0x1f5ce6(0x137)+_0x320aa4,_0x2c840d=await executeQuery(_0x42b201),_0x1a83b8=new Map();return _0x2c840d[_0x1f5ce6(0x138)](_0x2db7ba=>{const _0xfec44f=_0x1f5ce6,_0x1eb3ca=_0x41fa63['WpdfD'](_0x2db7ba[_0x4adb8e],undefined)?_0x2db7ba[_0x4adb8e]:_0x2db7ba[_0x4adb8e[_0xfec44f(0x154)]()],_0x53d082=_0x2db7ba[_0x13e2b9]!==undefined?_0x2db7ba[_0x13e2b9]:_0x2db7ba[_0x13e2b9[_0xfec44f(0x154)]()];_0x41fa63['WpdfD'](_0x1eb3ca,null)&&_0x1eb3ca!==undefined&&(_0x1a83b8['set'](_0x41fa63['yUhty'](String,_0x1eb3ca)['toLowerCase']()[_0xfec44f(0x135)](),_0x53d082),_0x1a83b8['set'](String(_0x1eb3ca)[_0xfec44f(0x135)](),_0x53d082));}),this[_0x1f5ce6(0x14a)][_0x1f5ce6(0x159)](_0x520e25,_0x1a83b8),logger[_0x1f5ce6(0x149)]({'event':_0x41fa63['aiLKY'],'table':_0x320aa4,'column':_0x4adb8e,'count':_0x2c840d[_0x1f5ce6(0x147)]},'Lookup\x20table\x20loaded:\x20'+_0x320aa4),_0x1a83b8;}catch(_0x2e1df3){logger['error']({'event':_0x41fa63[_0x1f5ce6(0x143)],'table':_0x320aa4,'error':_0x2e1df3[_0x1f5ce6(0x13e)]},_0x1f5ce6(0x134)+_0x320aa4);throw _0x2e1df3;}}['resolveLookupValue'](_0x41e65d,_0x588aba){const _0x1bb2d5=a0_0x40382b,_0x5e5aa8={'wMOnP':function(_0x33a8ae,_0x267af9){return _0x33a8ae===_0x267af9;}};if(_0x5e5aa8[_0x1bb2d5(0x136)](_0x41e65d,null)||_0x5e5aa8['wMOnP'](_0x41e65d,undefined)||_0x41e65d==='')return null;const _0x4f8f11=String(_0x41e65d)[_0x1bb2d5(0x135)]();if(_0x588aba[_0x1bb2d5(0x161)](_0x4f8f11))return _0x588aba['get'](_0x4f8f11);const _0x492e96=_0x4f8f11[_0x1bb2d5(0x156)]();if(_0x588aba[_0x1bb2d5(0x161)](_0x492e96))return _0x588aba['get'](_0x492e96);return null;}async[a0_0x40382b(0x148)](_0x2c52ea,_0x5de57b){const _0x590fa3=a0_0x40382b,_0x4fcea6={'EOymE':function(_0x19bba2,_0x174aab){return _0x19bba2===_0x174aab;},'wnKdG':'lookup_fields_processed','bpgYz':'Lookup\x20fields\x20processed'};if(!_0x5de57b||Object[_0x590fa3(0x15b)](_0x5de57b)[_0x590fa3(0x147)]===0x0)return{'processedRows':_0x2c52ea,'errors':[]};const _0x51f505=[],_0x1aca59=new Map();for(const [_0x40319c,_0x15461f]of Object[_0x590fa3(0x131)](_0x5de57b)){const {lookupTable:_0x38645f,lookupColumn:_0x4e6c8e,lookupIdColumn:_0x45099c}=_0x15461f,_0x9f9718=_0x38645f+':'+_0x4e6c8e+':'+_0x45099c;if(!_0x1aca59[_0x590fa3(0x161)](_0x9f9718)){const _0x444678=await this['loadLookupTable'](_0x38645f,_0x4e6c8e,_0x45099c);_0x1aca59['set'](_0x9f9718,_0x444678);}}const _0x57bdb9=_0x2c52ea[_0x590fa3(0x130)]((_0x476c80,_0x10b118)=>{const _0x3c61a5=_0x590fa3,_0xc6067a={..._0x476c80};for(const [_0x147be8,_0x1f7b9b]of Object[_0x3c61a5(0x131)](_0x5de57b)){const {lookupTable:_0x399aae,lookupColumn:_0x3f69f7,lookupIdColumn:_0x3e4df7,targetField:_0x2c5000,required:_0x5ceef1}=_0x1f7b9b,_0x263134=_0x399aae+':'+_0x3f69f7+':'+_0x3e4df7,_0x5db880=_0x1aca59['get'](_0x263134),_0x4831c7=_0x476c80[_0x147be8];if((_0x4fcea6[_0x3c61a5(0x14d)](_0x4831c7,null)||_0x4831c7===undefined||_0x4831c7==='')&&!_0x5ceef1){_0xc6067a[_0x2c5000]=null;continue;}const _0xa47f1a=this['resolveLookupValue'](_0x4831c7,_0x5db880);_0xa47f1a!==null?_0xc6067a[_0x2c5000]=_0xa47f1a:(_0x5ceef1&&_0x51f505[_0x3c61a5(0x163)]({'rowIndex':_0x10b118,'field':_0x147be8,'value':_0x4831c7,'targetField':_0x2c5000,'lookupTable':_0x399aae,'message':'Value\x20\x22'+_0x4831c7+'\x22\x20not\x20found\x20in\x20'+_0x399aae}),_0xc6067a[_0x2c5000]=null);}return _0xc6067a;});return logger[_0x590fa3(0x149)]({'event':_0x4fcea6['wnKdG'],'totalRows':_0x2c52ea['length'],'errorCount':_0x51f505[_0x590fa3(0x147)],'lookupFieldCount':Object['keys'](_0x5de57b)['length']},_0x4fcea6['bpgYz']),{'processedRows':_0x57bdb9,'errors':_0x51f505};}[a0_0x40382b(0x152)](_0x5c37d4,_0x232a20){const _0x16eb37={'LzhRh':function(_0x1a5d91,_0x1ecdbf){return _0x1a5d91!==_0x1ecdbf;},'tlrzQ':function(_0x3f3c12,_0x135536){return _0x3f3c12!==_0x135536;},'Shqro':function(_0x2730c4,_0x1883f1){return _0x2730c4!==_0x1883f1;}},_0x1f75b6=new Set();return _0x5c37d4['forEach'](_0x2ba22d=>{const _0x404b77=a0_0x1921,_0x1bb6d1=_0x2ba22d[_0x232a20];_0x16eb37[_0x404b77(0x13d)](_0x1bb6d1,null)&&_0x16eb37['tlrzQ'](_0x1bb6d1,undefined)&&_0x16eb37['Shqro'](_0x1bb6d1,'')&&_0x1f75b6[_0x404b77(0x157)](String(_0x1bb6d1)['trim']());}),Array['from'](_0x1f75b6);}async[a0_0x40382b(0x15f)](_0x1d2179,_0x580c2c){const _0x16969d=a0_0x40382b,_0x3a51bf={'WvpAc':function(_0x502617,_0x5cbdfb){return _0x502617===_0x5cbdfb;},'PTKFU':function(_0x487744,_0x186503){return _0x487744>_0x186503;}};if(!_0x580c2c||_0x3a51bf[_0x16969d(0x145)](Object[_0x16969d(0x15b)](_0x580c2c)[_0x16969d(0x147)],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x29af57=[],_0x20d596={};for(const [_0x21e79f,_0x1d6c81]of Object[_0x16969d(0x131)](_0x580c2c)){const {lookupTable:_0x416fa5,lookupColumn:_0x578569,lookupIdColumn:_0x2b52fd,required:_0xf768a}=_0x1d6c81,_0x523b28=this[_0x16969d(0x152)](_0x1d2179,_0x21e79f),_0x4978d9=await this[_0x16969d(0x14f)](_0x416fa5,_0x578569,_0x2b52fd),_0x4a4266=[],_0x9a23a4=[];_0x523b28[_0x16969d(0x138)](_0x529d5c=>{const _0x31291c=_0x16969d,_0x5ddc0d=this[_0x31291c(0x160)](_0x529d5c,_0x4978d9);_0x5ddc0d!==null?_0x9a23a4['push'](_0x529d5c):_0x4a4266['push'](_0x529d5c);});if(_0x3a51bf[_0x16969d(0x151)](_0x4a4266['length'],0x0)&&_0xf768a){_0x29af57[_0x16969d(0x163)]({'field':_0x21e79f,'lookupTable':_0x416fa5,'invalidValues':_0x4a4266,'message':_0x4a4266[_0x16969d(0x147)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0x416fa5});const _0x3e3b15=[];_0x4978d9[_0x16969d(0x138)]((_0x1c854f,_0x33e1b3)=>{const _0x3b10cf=_0x16969d;if(_0x33e1b3===_0x33e1b3[_0x3b10cf(0x156)]())return;_0x3e3b15['push'](_0x33e1b3);}),_0x20d596[_0x21e79f]={'invalidValues':_0x4a4266,'availableValues':_0x3e3b15['slice'](0x0,0x32)};}}return{'valid':_0x3a51bf['WvpAc'](_0x29af57[_0x16969d(0x147)],0x0),'errors':_0x29af57,'suggestions':_0x20d596};}}function a0_0x4afb(){const _0x527a9c=['Dg9vChbLCKnHC2u','nJu3otC5m1rSquz6Ba','Dg9mB3DLCKnHC2u','ywrK','zxHLy3v0zvf1zxj5','C2v0','og1xyLfxva','A2v5CW','nJy5mdmWmerZsxfUvG','mJi1mtf1tuH0Dum','zw52','DMfSAwrHDgvmB29RDxbwywX1zxm','CMvZB2X2zuXVB2T1CfzHBhvL','AgfZ','mJa3nLf6seDRsW','ChvZAa','BwfW','zw50CMLLCW','lI9KyI1TExnXBa','tg9VA3vWignHy2HLignSzwfYzwq','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','DhjPBq','D01pBLa','iezst00G','zM9YrwfJAa','mM5YDfbluG','mZm2odeZm2LtB2nAvG','mtuZmJKXExPUuxLd','rejFvfLqrq','thPOuMG','BwvZC2fNzq','B3jHy2XL','lI9KyG','lI9KyI1VCMfJBgu','Cg9ZDgDYzxnXBa','sujItgW','ntCYmtK2nKTcBez2Bq','v3zWqwm','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','BgvUz3rO','ChjVy2vZC0XVB2T1CezPzwXKCW','Aw5MBW','Bg9VA3vWq2fJAgu','s25ttvC','zxHWB3j0CW','ru95Buu','mZz3DKHsEeS','Bg9HzeXVB2T1CfrHyMXL','n0z5te5UCq','ufrlrLu','z2v0rgLZDgLUy3rwywX1zxm','mJGXnuHStK5AvG'];a0_0x4afb=function(){return _0x527a9c;};return a0_0x4afb();}module[a0_0x40382b(0x14c)]=new LookupResolver();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a0_0xc6b38e=a0_0x12e4;function a0_0x12e4(_0x488235,_0x431a43){_0x488235=_0x488235-0x162;const _0x12138c=a0_0x1213();let _0x12e425=_0x12138c[_0x488235];if(a0_0x12e4['WCbFpM']===undefined){var _0x3da92c=function(_0x4daf11){const _0x286655='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x419f21='',_0x438ec5='';for(let _0x44e6ff=0x0,_0x195b93,_0x1927ec,_0x25d949=0x0;_0x1927ec=_0x4daf11['charAt'](_0x25d949++);~_0x1927ec&&(_0x195b93=_0x44e6ff%0x4?_0x195b93*0x40+_0x1927ec:_0x1927ec,_0x44e6ff++%0x4)?_0x419f21+=String['fromCharCode'](0xff&_0x195b93>>(-0x2*_0x44e6ff&0x6)):0x0){_0x1927ec=_0x286655['indexOf'](_0x1927ec);}for(let _0x5af75e=0x0,_0x48db0d=_0x419f21['length'];_0x5af75e<_0x48db0d;_0x5af75e++){_0x438ec5+='%'+('00'+_0x419f21['charCodeAt'](_0x5af75e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x438ec5);};a0_0x12e4['HNQDrd']=_0x3da92c,a0_0x12e4['SetGxW']={},a0_0x12e4['WCbFpM']=!![];}const _0xfb46f=_0x12138c[0x0],_0x18dc7d=_0x488235+_0xfb46f,_0x2b0be6=a0_0x12e4['SetGxW'][_0x18dc7d];return!_0x2b0be6?(_0x12e425=a0_0x12e4['HNQDrd'](_0x12e425),a0_0x12e4['SetGxW'][_0x18dc7d]=_0x12e425):_0x12e425=_0x2b0be6,_0x12e425;}(function(_0x5483c2,_0x4183fb){const _0x367335=a0_0x12e4,_0x866614=_0x5483c2();while(!![]){try{const _0x1ead7f=parseInt(_0x367335(0x16b))/0x1+parseInt(_0x367335(0x162))/0x2*(parseInt(_0x367335(0x17c))/0x3)+parseInt(_0x367335(0x17b))/0x4+-parseInt(_0x367335(0x16a))/0x5+-parseInt(_0x367335(0x180))/0x6*(parseInt(_0x367335(0x17a))/0x7)+parseInt(_0x367335(0x173))/0x8*(parseInt(_0x367335(0x182))/0x9)+-parseInt(_0x367335(0x17d))/0xa;if(_0x1ead7f===_0x4183fb)break;else _0x866614['push'](_0x866614['shift']());}catch(_0x22c0d9){_0x866614['push'](_0x866614['shift']());}}}(a0_0x1213,0xb3a1a));function a0_0x1213(){const _0x500128=['CMvHzezPBgu','mta1og1puMjTsa','AgfZ','zMLLBgroyw1L','uxbfruy','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','qKTOvuG','Aw5MBW','Cgf5Bg9Hzf9SB2fKzwq','ndG1mty1mhPirhzdsW','mte2nZi0ohfeEu5zBq','DgfIBgvoyw1L','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','y29SDw1UrM9YBwf0CW','zgf0yxrHyMXLC1f1zxj5','y2fJAgu','quHQB2S','Cgf5Bg9HzdO','ofLSs01JrW','y2XLyxjdywnOzq','lI9SB2DNzxi','zgvIDwC','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','z2v0','CgfYC2u','mJCYodq2thvoyxvM','ndK1mdGWoeDSthnAvW','odeZm0fkrKX0EG','mtq2mZG2ndbwC29xqwi','Bg9HzfbHEwXVywq','zMLLBgrmywjLBhm','mtiWBKXfu1nQ','Cgf5Bg9HzerPCG','otK0mdK1CuzyufHS','lI4VlI4VCgf5Bg9Hza','BLf6CgW','BwvZC2fNzq'];a0_0x1213=function(){return _0x500128;};return a0_0x1213();}const fs=require('fs')['promises'],path=require('path'),{logger}=require(a0_0xc6b38e(0x175));class PayloadLoader{constructor(){const _0x4c3268=a0_0xc6b38e,_0x112c9a={'ygkBc':_0x4c3268(0x183)};this['payloadDir']=path['join'](__dirname,_0x112c9a['ygkBc']),this[_0x4c3268(0x170)]=new Map();}async[a0_0xc6b38e(0x17e)](_0x54763d,_0x12f084){const _0x4d0fd0=a0_0xc6b38e,_0x4fc030={'GuESH':'utf8','AHjok':_0x4d0fd0(0x169),'WxcqD':_0x4d0fd0(0x166)},_0x87a878=_0x54763d+':'+_0x12f084;if(this[_0x4d0fd0(0x170)][_0x4d0fd0(0x163)](_0x87a878))return this[_0x4d0fd0(0x170)]['get'](_0x87a878);const _0x149196=path['join'](this['payloadDir'],_0x54763d+'_'+_0x12f084+'.json');try{const _0x5a06a2=await fs['readFile'](_0x149196,_0x4fc030['GuESH']),_0x173a97=JSON[_0x4d0fd0(0x179)](_0x5a06a2);return this['cache']['set'](_0x87a878,_0x173a97),logger[_0x4d0fd0(0x176)]({'event':_0x4fc030[_0x4d0fd0(0x171)],'project':_0x54763d,'resource':_0x12f084},_0x4fc030['WxcqD']),_0x173a97;}catch(_0x1e0216){logger['error']({'event':_0x4d0fd0(0x177),'project':_0x54763d,'resource':_0x12f084,'error':_0x1e0216['message']},'Failed\x20to\x20load\x20payload');throw new Error('Payload\x20not\x20found:\x20'+_0x54763d+'_'+_0x12f084);}}async['loadPayloadByName'](_0x37f787){const _0x3d338b=a0_0xc6b38e,_0x1cdc71={'BKhUH':_0x3d338b(0x169),'MpGcH':'Payload\x20loaded\x20successfully\x20by\x20name','QpEEF':'Failed\x20to\x20load\x20payload\x20by\x20name'},_0x5028af=_0x3d338b(0x172)+_0x37f787;if(this[_0x3d338b(0x170)][_0x3d338b(0x163)](_0x5028af))return this['cache'][_0x3d338b(0x178)](_0x5028af);const _0x49e2f2=path['join'](this[_0x3d338b(0x181)],_0x37f787+'.json');try{const _0x49e1d9=await fs[_0x3d338b(0x186)](_0x49e2f2,'utf8'),_0x4b933f=JSON[_0x3d338b(0x179)](_0x49e1d9);return this[_0x3d338b(0x170)]['set'](_0x5028af,_0x4b933f),logger['debug']({'event':_0x1cdc71[_0x3d338b(0x167)],'payloadName':_0x37f787},_0x1cdc71['MpGcH']),_0x4b933f;}catch(_0x3f63e6){logger['error']({'event':'payload_load_error','payloadName':_0x37f787,'error':_0x3f63e6[_0x3d338b(0x185)]},_0x1cdc71[_0x3d338b(0x165)]);throw new Error('Payload\x20not\x20found:\x20'+_0x37f787);}}['isActionEnabled'](_0x54e8c0,_0x15bf92){const _0x2368c1={'nmdwA':function(_0x476a8c,_0x4e947e){return _0x476a8c===_0x4e947e;}};return _0x54e8c0['action']&&_0x2368c1['nmdwA'](_0x54e8c0['action'][_0x15bf92],!![]);}['getExportConfig'](_0x7ebb61){const _0x3386f5=a0_0xc6b38e;return{'columns':_0x7ebb61[_0x3386f5(0x164)]||[],'filename':_0x7ebb61[_0x3386f5(0x16c)]['replace']('.','-')+'-export','datatablesQuery':_0x7ebb61[_0x3386f5(0x16f)]||null,'columnFormats':_0x7ebb61[_0x3386f5(0x16e)]||null,'fieldLabels':_0x7ebb61[_0x3386f5(0x17f)]||null};}[a0_0xc6b38e(0x174)](){const _0x215468=a0_0xc6b38e,_0x12c70f={'nQzpl':_0x215468(0x16d)};this[_0x215468(0x170)]['clear'](),logger[_0x215468(0x168)]({'event':'payload_cache_cleared'},_0x12c70f[_0x215468(0x184)]);}}module['exports']=new PayloadLoader();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';(function(_0x64ee19,_0x32e522){var _0x3a6fb1=a0_0x1278,_0x504cbe=_0x64ee19();while(!![]){try{var _0x137151=parseInt(_0x3a6fb1(0x1db))/0x1*(parseInt(_0x3a6fb1(0x1dc))/0x2)+parseInt(_0x3a6fb1(0x1dd))/0x3*(-parseInt(_0x3a6fb1(0x1de))/0x4)+parseInt(_0x3a6fb1(0x1df))/0x5*(-parseInt(_0x3a6fb1(0x1d8))/0x6)+parseInt(_0x3a6fb1(0x1e1))/0x7*(-parseInt(_0x3a6fb1(0x1d7))/0x8)+-parseInt(_0x3a6fb1(0x1da))/0x9+-parseInt(_0x3a6fb1(0x1e0))/0xa+parseInt(_0x3a6fb1(0x1d9))/0xb;if(_0x137151===_0x32e522)break;else _0x504cbe['push'](_0x504cbe['shift']());}catch(_0x5b16fd){_0x504cbe['push'](_0x504cbe['shift']());}}}(a0_0x5725,0x61fec));function a0_0x5725(){var _0x37ff79=['Dg9ju09tDhjPBMC','otG0C25TDerp','mti5odrbtKjqEKu','otm2odC3n1PcAMfcvq','mJmXody3mgDbBMnrAW','ndm0BMXiy3bM','mZy4ne5SAKXyCG','ndvpDhfmD2i','mti4ntCYz3zfBg5z','nZe1wM1Sr2PA','nZaWmtCWBe1luM9T','nZqYn1j0svHhra'];a0_0x5725=function(){return _0x37ff79;};return a0_0x5725();}function createResponse(_0x112817,_0x6edf2d,_0x4b3d50=null){var _0x1cf2f5=a0_0x1278;return{'success':!![],'statusCode':_0x112817,'message':_0x6edf2d,'data':_0x4b3d50,'timestamp':new Date()[_0x1cf2f5(0x1d6)]()};}function a0_0x1278(_0x199c4c,_0x3c9581){_0x199c4c=_0x199c4c-0x1d6;var _0x5725cb=a0_0x5725();var _0x127891=_0x5725cb[_0x199c4c];if(a0_0x1278['NCVfHm']===undefined){var _0x2f9c94=function(_0x332c4d){var _0x486e8d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x3495b1='',_0x15c7af='';for(var _0x47c2c4=0x0,_0x58e20b,_0x484ffe,_0x547968=0x0;_0x484ffe=_0x332c4d['charAt'](_0x547968++);~_0x484ffe&&(_0x58e20b=_0x47c2c4%0x4?_0x58e20b*0x40+_0x484ffe:_0x484ffe,_0x47c2c4++%0x4)?_0x3495b1+=String['fromCharCode'](0xff&_0x58e20b>>(-0x2*_0x47c2c4&0x6)):0x0){_0x484ffe=_0x486e8d['indexOf'](_0x484ffe);}for(var _0x2be5f4=0x0,_0x3bfca4=_0x3495b1['length'];_0x2be5f4<_0x3bfca4;_0x2be5f4++){_0x15c7af+='%'+('00'+_0x3495b1['charCodeAt'](_0x2be5f4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x15c7af);};a0_0x1278['KfIINS']=_0x2f9c94,a0_0x1278['cGICZS']={},a0_0x1278['NCVfHm']=!![];}var _0x267899=_0x5725cb[0x0],_0x191cd1=_0x199c4c+_0x267899,_0x46d810=a0_0x1278['cGICZS'][_0x191cd1];return!_0x46d810?(_0x127891=a0_0x1278['KfIINS'](_0x127891),a0_0x1278['cGICZS'][_0x191cd1]=_0x127891):_0x127891=_0x46d810,_0x127891;}function createError(_0x27d6d6,_0x1e9462,_0x450e08=null){return{'success':![],'statusCode':_0x27d6d6,'message':_0x1e9462,'data':_0x450e08,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x4b3675,_0x14ff0e){var _0x58c3ee=a0_0x1278;return{'success':![],'statusCode':0x190,'message':_0x4b3675,'data':{'errors':_0x14ff0e},'timestamp':new Date()[_0x58c3ee(0x1d6)]()};}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
|
package/src/utils/rabbitmq.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0xa1811f=a0_0x338f;(function(_0x1a0ca9,_0x4512a3){const _0x4790ab=a0_0x338f,_0x2f7248=_0x1a0ca9();while(!![]){try{const _0x1ddd9b=parseInt(_0x4790ab(0x198))/0x1*(-parseInt(_0x4790ab(0x193))/0x2)+-parseInt(_0x4790ab(0x1a9))/0x3*(-parseInt(_0x4790ab(0x1b8))/0x4)+-parseInt(_0x4790ab(0x190))/0x5*(parseInt(_0x4790ab(0x1b2))/0x6)+-parseInt(_0x4790ab(0x19d))/0x7*(-parseInt(_0x4790ab(0x199))/0x8)+-parseInt(_0x4790ab(0x1b9))/0x9+parseInt(_0x4790ab(0x1c3))/0xa+parseInt(_0x4790ab(0x19b))/0xb*(parseInt(_0x4790ab(0x1b5))/0xc);if(_0x1ddd9b===_0x4512a3)break;else _0x2f7248['push'](_0x2f7248['shift']());}catch(_0x15fabf){_0x2f7248['push'](_0x2f7248['shift']());}}}(a0_0x2674,0x6acf2),require(a0_0xa1811f(0x1a6))[a0_0xa1811f(0x1bc)]());function a0_0x2674(){const _0x5eae7b=['r2HhugS','yxnZzxj0uxvLDwu','Aw5JBhvKzxm','xsbszxrYEsbIAw5KAw5NigzVCIa','yuXisuK','zg90zw52','uKfcqKLutvfFuvvfvuu','sMDsBMS','mJaZmZm1nvzkt25gtW','uKfcqKLutvfFvvjm','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','yxnZzxj0rxHJAgfUz2u','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','ignYzwf0zwqVCMvHzhK','zxHWB3j0CW','uxHUAgm','mtHuCfzJC3y','ic0+ia','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','mJmWoti4zePitw1M','xsbszxrYEsbLEgnOyw5NzsbJCMvHDgvKl3jLywr5','Bg9N','nfHosNPbza','mJm4ndmWn0vOvKTWsW','zxjYB3i','zKfyAgO','y29UzMLN','uKfcqKLutvfFrvHdsefor0u','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','CxvLDwu','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','CMv0CNKTzxHJAgfUz2u','zgLYzwn0','ntCYotaWvePlrNjV','zM91BMq','ody2mZq1ENreCwfm','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','yMLUzff1zxvL','mNnWz1nvBq','uKrQELK','ihDPDgGGreXy','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','zw52','nJaYndq0EKz5CKvr','odHvwer3Aui','xsbcAw5KAw5Nia','mZuYuhb2r21V','y29UBMvJDa','mZaXndK3C1nrs2zM','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','BwvZC2fNzq','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r'];a0_0x2674=function(){return _0x5eae7b;};return a0_0x2674();}const amqp=require('amqplib'),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process[a0_0xa1811f(0x197)][a0_0xa1811f(0x1aa)],EXCHANGE=process['env'][a0_0xa1811f(0x1bd)],ROUTING_KEY=process[a0_0xa1811f(0x197)]['RABBITMQ_ROUTING_KEY'],QUEUE=process[a0_0xa1811f(0x197)][a0_0xa1811f(0x1a7)];async function createConnection(){const _0x3961d9=a0_0xa1811f;try{const _0x130c3a=await amqp[_0x3961d9(0x19c)](RABBITMQ_URL);return console['log']('['+formatDate(new Date())+_0x3961d9(0x1a0)),_0x130c3a;}catch(_0x4e8cae){console[_0x3961d9(0x1ba)]('['+formatDate(new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x4e8cae['message']);throw _0x4e8cae;}}function a0_0x338f(_0x493201,_0x27d074){_0x493201=_0x493201-0x190;const _0x26744e=a0_0x2674();let _0x338fdf=_0x26744e[_0x493201];if(a0_0x338f['FiXehU']===undefined){var _0x4b2e44=function(_0x8eb707){const _0x697608='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x162bdd='',_0x32d2ed='';for(let _0x65517c=0x0,_0x395f78,_0x587e98,_0xc0ce16=0x0;_0x587e98=_0x8eb707['charAt'](_0xc0ce16++);~_0x587e98&&(_0x395f78=_0x65517c%0x4?_0x395f78*0x40+_0x587e98:_0x587e98,_0x65517c++%0x4)?_0x162bdd+=String['fromCharCode'](0xff&_0x395f78>>(-0x2*_0x65517c&0x6)):0x0){_0x587e98=_0x697608['indexOf'](_0x587e98);}for(let _0x46a2bd=0x0,_0x5bac07=_0x162bdd['length'];_0x46a2bd<_0x5bac07;_0x46a2bd++){_0x32d2ed+='%'+('00'+_0x162bdd['charCodeAt'](_0x46a2bd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x32d2ed);};a0_0x338f['ucuuJN']=_0x4b2e44,a0_0x338f['unJAkm']={},a0_0x338f['FiXehU']=!![];}const _0xab94a1=_0x26744e[0x0],_0x2d0bed=_0x493201+_0xab94a1,_0x43f7fd=a0_0x338f['unJAkm'][_0x2d0bed];return!_0x43f7fd?(_0x338fdf=a0_0x338f['ucuuJN'](_0x338fdf),a0_0x338f['unJAkm'][_0x2d0bed]=_0x338fdf):_0x338fdf=_0x43f7fd,_0x338fdf;}async function createChannel(_0x7aba4f){const _0x3ab78f=a0_0xa1811f,_0x12c3d6={'fAXhj':function(_0x59c77a,_0x3666c2){return _0x59c77a(_0x3666c2);}};try{const _0x4ebf59=await _0x7aba4f['createChannel']();return console['log']('['+_0x12c3d6[_0x3ab78f(0x1bb)](formatDate,new Date())+_0x3ab78f(0x1b4)),_0x4ebf59;}catch(_0x46157f){console[_0x3ab78f(0x1ba)]('['+formatDate(new Date())+_0x3ab78f(0x1ac)+_0x46157f['message']);throw _0x46157f;}}async function setupInfrastructure(_0x5b33b3){const _0x2752d4=a0_0xa1811f,_0x3bc88a={'zCIdf':_0x2752d4(0x1c2),'RDjzY':function(_0x1d1359,_0xf9e91c){return _0x1d1359(_0xf9e91c);},'JgRnk':'created/ready','GhGPk':_0x2752d4(0x1c4),'aLHII':function(_0x55f9e8,_0x1be492){return _0x55f9e8(_0x1be492);},'qLOYJ':'inequivalent\x20arg'};try{await _0x5b33b3[_0x2752d4(0x1ad)](_0x2752d4(0x1c1),_0x3bc88a['zCIdf'],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x3bc88a['RDjzY'](formatDate,new Date())+_0x2752d4(0x1b6));}catch(_0x555e2f){console[_0x2752d4(0x1ba)]('['+formatDate(new Date())+_0x2752d4(0x1c0),_0x555e2f[_0x2752d4(0x19f)]);throw _0x555e2f;}try{await _0x5b33b3['assertExchange'](EXCHANGE,_0x2752d4(0x1c2),{'durable':!![],'autoDelete':![]}),console[_0x2752d4(0x1b7)]('['+_0x3bc88a['RDjzY'](formatDate,new Date())+']\x20Exchange\x20'+EXCHANGE+_0x2752d4(0x1af));}catch(_0x1abd44){console['error']('['+formatDate(new Date())+_0x2752d4(0x19e)+EXCHANGE+':',_0x1abd44['message']);throw _0x1abd44;}const _0x3fbf93=ROUTING_KEY+'_retry';try{const _0x407b9d={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x5b33b3[_0x2752d4(0x1a2)](_0x3fbf93,_0x407b9d),console[_0x2752d4(0x1b7)]('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0x3fbf93+_0x2752d4(0x1af)),await _0x5b33b3[_0x2752d4(0x192)](_0x3fbf93,'retry-exchange',ROUTING_KEY),console['log']('['+_0x3bc88a[_0x2752d4(0x194)](formatDate,new Date())+_0x2752d4(0x1a4)+ROUTING_KEY+'\x20created');}catch(_0x226cf0){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x226cf0['message']);throw _0x226cf0;}try{const _0x42d14a={'durable':!![],'arguments':{'x-dead-letter-exchange':'retry-exchange','x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x48cf3e=await _0x5b33b3[_0x2752d4(0x1a2)](QUEUE,_0x42d14a);console[_0x2752d4(0x1b7)]('['+formatDate(new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x48cf3e[_0x2752d4(0x1bf)]===QUEUE?_0x3bc88a[_0x2752d4(0x1a8)]:_0x3bc88a[_0x2752d4(0x1a1)])+_0x2752d4(0x195)),await _0x5b33b3[_0x2752d4(0x192)](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x2752d4(0x1b7)]('['+_0x3bc88a['aLHII'](formatDate,new Date())+_0x2752d4(0x19a)+EXCHANGE+_0x2752d4(0x1b3)+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0x20e470){if(_0x20e470['message'][_0x2752d4(0x1a3)](_0x3bc88a['qLOYJ'])&&_0x20e470['message'][_0x2752d4(0x1a3)]('x-dead-letter-routing-key'))console[_0x2752d4(0x1ba)]('\x0a['+formatDate(new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+_0x2752d4(0x1ae)),console[_0x2752d4(0x1ba)]('Queue\x20'+QUEUE+_0x2752d4(0x1be)),console['error']('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process['exit'](0x1);else{console[_0x2752d4(0x1ba)]('['+_0x3bc88a['aLHII'](formatDate,new Date())+_0x2752d4(0x191)+QUEUE+':',_0x20e470['message']);throw _0x20e470;}}}catch(_0x327477){if(!_0x327477[_0x2752d4(0x19f)][_0x2752d4(0x1a3)]('inequivalent\x20arg')){console['error']('['+_0x3bc88a[_0x2752d4(0x1a5)](formatDate,new Date())+_0x2752d4(0x1ab),_0x327477[_0x2752d4(0x19f)]);throw _0x327477;}process['exit'](0x1);}}async function closeConnection(_0x4293d3){const _0x2b90f6=a0_0xa1811f,_0x14f146={'opkPE':function(_0xa2c784,_0x3815cb){return _0xa2c784(_0x3815cb);},'Qxnhc':function(_0x44a7c5,_0x155d65){return _0x44a7c5(_0x155d65);}};if(_0x4293d3)try{await _0x4293d3['close'](),console['log']('['+_0x14f146['opkPE'](formatDate,new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x9588f8){console['error']('['+_0x14f146[_0x2b90f6(0x1b1)](formatDate,new Date())+_0x2b90f6(0x196)+_0x9588f8['message']);}}module[a0_0xa1811f(0x1b0)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a0_0xed00(_0x3a562e,_0x1a613c){_0x3a562e=_0x3a562e-0xed;const _0xdaf3f9=a0_0xdaf3();let _0xed0087=_0xdaf3f9[_0x3a562e];if(a0_0xed00['nObnhC']===undefined){var _0xc9a9b0=function(_0x3b1ea8){const _0x2e9173='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5ccee0='',_0x5accca='';for(let _0x18d79b=0x0,_0x36f341,_0x18b99a,_0x5a9da8=0x0;_0x18b99a=_0x3b1ea8['charAt'](_0x5a9da8++);~_0x18b99a&&(_0x36f341=_0x18d79b%0x4?_0x36f341*0x40+_0x18b99a:_0x18b99a,_0x18d79b++%0x4)?_0x5ccee0+=String['fromCharCode'](0xff&_0x36f341>>(-0x2*_0x18d79b&0x6)):0x0){_0x18b99a=_0x2e9173['indexOf'](_0x18b99a);}for(let _0x5f0af3=0x0,_0x50592d=_0x5ccee0['length'];_0x5f0af3<_0x50592d;_0x5f0af3++){_0x5accca+='%'+('00'+_0x5ccee0['charCodeAt'](_0x5f0af3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5accca);};a0_0xed00['qNHRND']=_0xc9a9b0,a0_0xed00['xhCTCf']={},a0_0xed00['nObnhC']=!![];}const _0x301a3f=_0xdaf3f9[0x0],_0x46d38f=_0x3a562e+_0x301a3f,_0x3b9607=a0_0xed00['xhCTCf'][_0x46d38f];return!_0x3b9607?(_0xed0087=a0_0xed00['qNHRND'](_0xed0087),a0_0xed00['xhCTCf'][_0x46d38f]=_0xed0087):_0xed0087=_0x3b9607,_0xed0087;}function a0_0xdaf3(){const _0x2c1326=['CMvKAxnFy29UBMvJDgvK','EffJvuy','uKvesvnFue9sva','Aw9YzwrPCW','nti1nZiYs2vnzvfb','BwvZC2fNzq','rgniD0O','mtmZotfJs1bADeO','lI9SB2DNzxi','BwLU','y2XPzw50','zxjYB3i','uKvesvnFse9tva','ue9orW','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','nJqYote4mu5oyvD4EG','mtC3ntCWogz0qNLwwa','D2fYBG','mZqYq2Huzvjz','CMvKAxnFzgLZy29UBMvJDgvK','zxHWB3j0CW','CMvKAxnFAw5PDf9LCNjVCG','BMjNBgG','uMvKAxmGueLorYb0Aw1LB3v0','m1ntEu1OvW','CxvPDa','y2XVC2u','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','y29UBMvJDa','nJqWotG0CwzOA1fv','nZK0nJbLAuPMCLy','AxndB25Uzwn0zwq','tgvmz3G','t0Hhwhq','odCYDvjdtKzW','nwvArwr5vq','ndeXnJi3mhLsDM1wsW','uKvesvnFrei','CMfJzq','Cw5gyvq','zw52'];a0_0xdaf3=function(){return _0x2c1326;};return a0_0xdaf3();}const a0_0xbff3a6=a0_0xed00;(function(_0x270c3d,_0x3c56d5){const _0x1c7fbe=a0_0xed00,_0x372e0d=_0x270c3d();while(!![]){try{const _0x2dd18b=parseInt(_0x1c7fbe(0xf6))/0x1+parseInt(_0x1c7fbe(0x106))/0x2*(-parseInt(_0x1c7fbe(0xf1))/0x3)+parseInt(_0x1c7fbe(0x112))/0x4*(parseInt(_0x1c7fbe(0xfc))/0x5)+parseInt(_0x1c7fbe(0xfd))/0x6+-parseInt(_0x1c7fbe(0x109))/0x7*(parseInt(_0x1c7fbe(0xfb))/0x8)+-parseInt(_0x1c7fbe(0x114))/0x9*(parseInt(_0x1c7fbe(0xf7))/0xa)+-parseInt(_0x1c7fbe(0x111))/0xb;if(_0x2dd18b===_0x3c56d5)break;else _0x372e0d['push'](_0x372e0d['shift']());}catch(_0x5e7496){_0x372e0d['push'](_0x372e0d['shift']());}}}(a0_0xdaf3,0x64de7));const Redis=require(a0_0xbff3a6(0x105)),{logger}=require(a0_0xbff3a6(0x10a));class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}['connect'](){const _0x7cd7f7=a0_0xbff3a6,_0x386c2d={'nbglh':'redis_error','oYEuq':_0x7cd7f7(0x115),'DcHwJ':'Redis\x20connection\x20closed','LeLgx':'localhost','OHGXt':function(_0x6a3d83,_0x2dbab6,_0x56872a){return _0x6a3d83(_0x2dbab6,_0x56872a);},'qnFaT':function(_0x222750,_0x2cbf12,_0x21e2c9){return _0x222750(_0x2cbf12,_0x21e2c9);},'xQcUF':_0x7cd7f7(0xf5),'fTsTw':'error','ziRlF':_0x7cd7f7(0xee),'yijRh':_0x7cd7f7(0x110)};if(this['client'])return this[_0x7cd7f7(0x10c)];try{return this[_0x7cd7f7(0x10c)]=new Redis({'host':process[_0x7cd7f7(0x101)][_0x7cd7f7(0x10e)]||_0x386c2d[_0x7cd7f7(0xf9)],'port':_0x386c2d[_0x7cd7f7(0xfa)](parseInt,process['env'][_0x7cd7f7(0x104)],0xa)||0x18ec,'password':process[_0x7cd7f7(0x101)]['REDIS_PASSWORD']||undefined,'db':_0x386c2d[_0x7cd7f7(0x100)](parseInt,process['env'][_0x7cd7f7(0xfe)],0xa)||0x0,'retryStrategy'(_0x20cbd3){const _0x5234ed=_0x7cd7f7,_0x2fa2ba=Math[_0x5234ed(0x10b)](_0x20cbd3*0x32,0x7d0);return _0x2fa2ba;}}),this['client']['on'](_0x386c2d[_0x7cd7f7(0x103)],()=>{const _0x5051aa=_0x7cd7f7;this['isConnected']=!![],logger['info']({'event':_0x5051aa(0x102)},_0x5051aa(0xf4));}),this['client']['on'](_0x386c2d['fTsTw'],_0xc65fc7=>{const _0x161c93=_0x7cd7f7;this[_0x161c93(0xf8)]=![],logger['error']({'event':_0x386c2d[_0x161c93(0xef)],'error':_0xc65fc7[_0x161c93(0x107)]},'Redis\x20connection\x20error:\x20'+_0xc65fc7[_0x161c93(0x107)]);}),this['client']['on'](_0x7cd7f7(0xf3),()=>{const _0x53dcf2=_0x7cd7f7;this[_0x53dcf2(0xf8)]=![],logger[_0x53dcf2(0x113)]({'event':_0x386c2d['oYEuq']},_0x386c2d[_0x53dcf2(0x108)]);}),this[_0x7cd7f7(0x10c)];}catch(_0x25d480){logger[_0x7cd7f7(0x10d)]({'event':_0x386c2d['ziRlF'],'error':_0x25d480[_0x7cd7f7(0x107)]},_0x386c2d['yijRh']);throw _0x25d480;}}['getClient'](){const _0xa08023=a0_0xbff3a6;return!this[_0xa08023(0x10c)]&&this[_0xa08023(0xf5)](),this['client'];}async['ping'](_0x254624=0x1388){const _0x44517a=a0_0xbff3a6,_0x31e2f6={'xQFAV':_0x44517a(0x10f)};try{const _0x27b9d4=this['getClient'](),_0x1ac5c6=await Promise[_0x44517a(0xff)]([_0x27b9d4['ping'](),new Promise((_0x4d6014,_0x261e10)=>setTimeout(()=>_0x261e10(new Error(_0x44517a(0xf0))),_0x254624))]);return _0x1ac5c6===_0x31e2f6['xQFAV'];}catch(_0x4ed985){return![];}}async['disconnect'](){const _0x2929bd=a0_0xbff3a6;this['client']&&(await this['client'][_0x2929bd(0xf2)](),this['client']=null,this['isConnected']=![]);}['forceDisconnect'](){const _0x2a3b8e=a0_0xbff3a6;this['client']&&(this[_0x2a3b8e(0x10c)]['disconnect'](),this[_0x2a3b8e(0x10c)]=null,this[_0x2a3b8e(0xf8)]=![]);}}module[a0_0xbff3a6(0xed)]=new RedisClient();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x18830a=a0_0x4f08;(function(_0x4f7adf,_0x4cdea6){const _0x164009=a0_0x4f08,_0x96bc89=_0x4f7adf();while(!![]){try{const _0xc67877=parseInt(_0x164009(0x1c8))/0x1+parseInt(_0x164009(0x1d1))/0x2*(parseInt(_0x164009(0x1c5))/0x3)+-parseInt(_0x164009(0x1d2))/0x4*(parseInt(_0x164009(0x1e0))/0x5)+-parseInt(_0x164009(0x1e2))/0x6*(parseInt(_0x164009(0x1cc))/0x7)+parseInt(_0x164009(0x1e8))/0x8*(-parseInt(_0x164009(0x1d7))/0x9)+parseInt(_0x164009(0x1d4))/0xa*(parseInt(_0x164009(0x1d0))/0xb)+-parseInt(_0x164009(0x1e9))/0xc;if(_0xc67877===_0x4cdea6)break;else _0x96bc89['push'](_0x96bc89['shift']());}catch(_0x528fc3){_0x96bc89['push'](_0x96bc89['shift']());}}}(a0_0x4f1d,0x7e9e8));function a0_0x4f1d(){const _0x26da92=['zgvMyxvSDa','lI9SB2DNzxi','mJG2otG1zeLgDgrW','z2v0sM9I','mJmWodi1ngT2zxrIzW','uKTNsfy','zgvS','zxjYB3i','ChvZAa','CMvKAxnFz2v0x2vYCM9Y','nZi2nJrHzuvfBum','nZm1mZCYAgHTwK14','CMvKAxnFz2v0ywXSx2vYCM9Y','C2v0sM9I','oMv4Cg9YDdO','zxHWB3j0CW','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW','mJeWodaXy3v2Aerd','zw52','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','ota0nZuZwwLRueDf','DhrS','CgfYC2u','x3bYzwzPEa','mtrVy1nxELm','z2v0','CMvKAxnFC2v0x2vYCM9Y','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','nJq5ntvXvuXrA2m','mtHmsezqC1y','mJH0svziCwK','z2v0qwXSsM9ICW','ndCWuwzVtez0','rMfPBgvKihrVigDLDcbQB2iGzNjVBsbszwrPCW','C3rYAw5NAwz5','nJn5ufbcC3C','CMvKAxnFzgvSzxrLx2vYCM9Y','C2v0zxG','zgvSzxrLsM9I','CMvZDgzVCMDLoG','z2v0q2XPzw50','ChjLzML4'];a0_0x4f1d=function(){return _0x26da92;};return a0_0x4f1d();}const redisClient=require('./redis-client'),{logger}=require(a0_0x18830a(0x1df));function a0_0x4f08(_0x18e136,_0x4010e4){_0x18e136=_0x18e136-0x1c5;const _0x4f1d6d=a0_0x4f1d();let _0x4f0863=_0x4f1d6d[_0x18e136];if(a0_0x4f08['kBEIhO']===undefined){var _0x4c1ead=function(_0x1b211d){const _0x3ba50b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x39423f='',_0x243d6d='';for(let _0x103b2e=0x0,_0x1e16f2,_0x2012b7,_0x312ce8=0x0;_0x2012b7=_0x1b211d['charAt'](_0x312ce8++);~_0x2012b7&&(_0x1e16f2=_0x103b2e%0x4?_0x1e16f2*0x40+_0x2012b7:_0x2012b7,_0x103b2e++%0x4)?_0x39423f+=String['fromCharCode'](0xff&_0x1e16f2>>(-0x2*_0x103b2e&0x6)):0x0){_0x2012b7=_0x3ba50b['indexOf'](_0x2012b7);}for(let _0x3d36f8=0x0,_0x526121=_0x39423f['length'];_0x3d36f8<_0x526121;_0x3d36f8++){_0x243d6d+='%'+('00'+_0x39423f['charCodeAt'](_0x3d36f8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x243d6d);};a0_0x4f08['zIvzXK']=_0x4c1ead,a0_0x4f08['VEXzmL']={},a0_0x4f08['kBEIhO']=!![];}const _0x215a56=_0x4f1d6d[0x0],_0x15886d=_0x18e136+_0x215a56,_0x150689=a0_0x4f08['VEXzmL'][_0x15886d];return!_0x150689?(_0x4f0863=a0_0x4f08['zIvzXK'](_0x4f0863),a0_0x4f08['VEXzmL'][_0x15886d]=_0x4f0863):_0x4f0863=_0x150689,_0x4f0863;}class RedisHelper{constructor(){const _0xa7266a=a0_0x18830a;this['_prefix']=null,this[_0xa7266a(0x1c9)]=parseInt(process[_0xa7266a(0x1c6)]['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get[a0_0x18830a(0x1dd)](){const _0x57bd18=a0_0x18830a,_0x1ab412={'zntfQ':_0x57bd18(0x1de)};if(!this[_0x57bd18(0x1cb)]){const _0x2f8765=process[_0x57bd18(0x1c6)]['RESTFORGE_PROJECT_NAME']||_0x1ab412['zntfQ'];this[_0x57bd18(0x1cb)]=_0x57bd18(0x1db)+_0x2f8765+_0x57bd18(0x1ec);}return this[_0x57bd18(0x1cb)];}async['setJob'](_0x50cbae,_0x7ef5da){const _0x532487=a0_0x18830a,_0x1d11ea={'nkQsn':_0x532487(0x1c7)};try{const _0x2157cd=redisClient[_0x532487(0x1dc)](),_0x5c18e2=''+this[_0x532487(0x1dd)]+_0x50cbae;return await _0x2157cd[_0x532487(0x1d9)](_0x5c18e2,this[_0x532487(0x1c9)],JSON[_0x532487(0x1d6)](_0x7ef5da)),!![];}catch(_0x78c008){return logger[_0x532487(0x1e5)]({'event':_0x532487(0x1ce),'jobId':_0x50cbae,'error':_0x78c008['message']},_0x1d11ea['nkQsn']),![];}}async['getJob'](_0x44fe44){const _0x43255a=a0_0x18830a;try{const _0x126034=redisClient['getClient'](),_0x371f28=''+this[_0x43255a(0x1dd)]+_0x44fe44,_0x5bd662=await _0x126034[_0x43255a(0x1cd)](_0x371f28);return _0x5bd662?JSON[_0x43255a(0x1ca)](_0x5bd662):null;}catch(_0xd9e154){return logger['error']({'event':_0x43255a(0x1e7),'jobId':_0x44fe44,'error':_0xd9e154['message']},_0x43255a(0x1d5)),null;}}async['updateJob'](_0x2411c4,_0x2ed8f9){const _0xe66dd9=a0_0x18830a,_0x2314c1=await this[_0xe66dd9(0x1e1)](_0x2411c4);if(!_0x2314c1)return![];const _0x5e57e0={..._0x2314c1,..._0x2ed8f9};return await this[_0xe66dd9(0x1eb)](_0x2411c4,_0x5e57e0);}async[a0_0x18830a(0x1da)](_0x30d265){const _0x845d41=a0_0x18830a,_0x55bd80={'RKgHV':_0x845d41(0x1d8)};try{const _0x41e116=redisClient[_0x845d41(0x1dc)](),_0xcf131c=''+this['prefix']+_0x30d265;return await _0x41e116[_0x845d41(0x1e4)](_0xcf131c),!![];}catch(_0x26846e){return logger['error']({'event':_0x55bd80[_0x845d41(0x1e3)],'jobId':_0x30d265,'error':_0x26846e['message']},_0x845d41(0x1ee)),![];}}async[a0_0x18830a(0x1d3)](){const _0x3471fd=a0_0x18830a;try{const _0x101e01=redisClient[_0x3471fd(0x1dc)](),_0xdb4e4a=await _0x101e01['keys'](this[_0x3471fd(0x1dd)]+'*'),_0x2a157b=[];for(const _0x2ea0f2 of _0xdb4e4a){const _0x364e14=await _0x101e01['get'](_0x2ea0f2);_0x364e14&&_0x2a157b[_0x3471fd(0x1e6)](JSON['parse'](_0x364e14));}return _0x2a157b;}catch(_0x4cbfbb){return logger['error']({'event':_0x3471fd(0x1ea),'error':_0x4cbfbb['message']},_0x3471fd(0x1cf)),[];}}}module[a0_0x18830a(0x1ed)]=new RedisHelper();
|