@restforgejs/platform 4.3.8 → 5.0.1
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/init.js +4 -104
- package/generators/cli/payload/migrate.js +96 -96
- package/generators/cli/schema/list.js +82 -18
- package/generators/cli/schema/migrate.js +23 -3
- package/generators/lib/dbschema-kit/apply-engine.js +211 -46
- package/generators/lib/dbschema-kit/diff-engine.js +715 -703
- 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 +325 -319
- package/generators/lib/migrate/label-generator.js +38 -38
- package/generators/lib/migrate/migrate-runner.js +244 -38
- package/generators/lib/migrate/naming.js +52 -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_0x2e97b9=a0_0x2d6f;(function(_0x5590c2,_0x42393e){const _0x345e47=a0_0x2d6f,_0x4f7421=_0x5590c2();while(!![]){try{const _0x578f0f=-parseInt(_0x345e47(0x112))/0x1*(-parseInt(_0x345e47(0xf0))/0x2)+-parseInt(_0x345e47(0x108))/0x3*(parseInt(_0x345e47(0x10d))/0x4)+parseInt(_0x345e47(0x10a))/0x5+-parseInt(_0x345e47(0x120))/0x6+-parseInt(_0x345e47(0xd2))/0x7*(parseInt(_0x345e47(0x10f))/0x8)+-parseInt(_0x345e47(0xf4))/0x9+-parseInt(_0x345e47(0xd3))/0xa*(-parseInt(_0x345e47(0xcc))/0xb);if(_0x578f0f===_0x42393e)break;else _0x4f7421['push'](_0x4f7421['shift']());}catch(_0x355e02){_0x4f7421['push'](_0x4f7421['shift']());}}}(a0_0x1a3e,0xe720e));const redisClient=require(a0_0x2e97b9(0xe4)),{logger}=require('./logger'),{v4:uuidv4}=require(a0_0x2e97b9(0xd6));function a0_0x2d6f(_0x2a2b81,_0x4f45a7){_0x2a2b81=_0x2a2b81-0xc6;const _0x1a3e7e=a0_0x1a3e();let _0x2d6f41=_0x1a3e7e[_0x2a2b81];if(a0_0x2d6f['AnMLko']===undefined){var _0x5cbe95=function(_0x21de66){const _0x4d7c46='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x35bf88='',_0x259338='';for(let _0x5d7480=0x0,_0x4b065f,_0x1a7256,_0x9a3db9=0x0;_0x1a7256=_0x21de66['charAt'](_0x9a3db9++);~_0x1a7256&&(_0x4b065f=_0x5d7480%0x4?_0x4b065f*0x40+_0x1a7256:_0x1a7256,_0x5d7480++%0x4)?_0x35bf88+=String['fromCharCode'](0xff&_0x4b065f>>(-0x2*_0x5d7480&0x6)):0x0){_0x1a7256=_0x4d7c46['indexOf'](_0x1a7256);}for(let _0x2023bb=0x0,_0x7dbc5e=_0x35bf88['length'];_0x2023bb<_0x7dbc5e;_0x2023bb++){_0x259338+='%'+('00'+_0x35bf88['charCodeAt'](_0x2023bb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x259338);};a0_0x2d6f['CAjPsK']=_0x5cbe95,a0_0x2d6f['mbzAHX']={},a0_0x2d6f['AnMLko']=!![];}const _0x3a9876=_0x1a3e7e[0x0],_0x24b97e=_0x2a2b81+_0x3a9876,_0xa19ad9=a0_0x2d6f['mbzAHX'][_0x24b97e];return!_0xa19ad9?(_0x2d6f41=a0_0x2d6f['CAjPsK'](_0x2d6f41),a0_0x2d6f['mbzAHX'][_0x24b97e]=_0x2d6f41):_0x2d6f41=_0xa19ad9,_0x2d6f41;}class LockManager{constructor(){const _0x512c70=a0_0x2e97b9;this['_prefix']=null,this[_0x512c70(0x113)]=null,this['_defaultTTL']=null,this[_0x512c70(0xeb)]=null,this['_retryDelay']=null,this[_0x512c70(0xcf)]=null,this['_workerId']=null,this['_initialized']=![];}['_initConfig'](){const _0x1f8c87=a0_0x2e97b9,_0x4df070={'MVQCD':function(_0x784dfa,_0x155df1){return _0x784dfa===_0x155df1;},'AZQBl':_0x1f8c87(0xe7),'rFQvZ':_0x1f8c87(0xed)};this[_0x1f8c87(0x117)]='rf:lock:',this[_0x1f8c87(0x113)]=_0x4df070['MVQCD'](process[_0x1f8c87(0x111)]['LOCK_DISTRIBUTED_ENABLED'],_0x4df070[_0x1f8c87(0xde)]),this[_0x1f8c87(0xe1)]=parseInt(process[_0x1f8c87(0x111)][_0x1f8c87(0xc6)],0xa)||0xa,this[_0x1f8c87(0xeb)]=parseInt(process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3,this['_retryDelay']=parseInt(process[_0x1f8c87(0x111)]['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64,this[_0x1f8c87(0xcf)]=process['env']['LOCK_DISTRIBUTED_STRATEGY']||_0x1f8c87(0xcd),this[_0x1f8c87(0x114)]='worker-'+process['pid'],this['_initialized']=!![],logger['info']({'event':_0x4df070['rFQvZ'],'enabled':this['_enabled'],'strategy':this[_0x1f8c87(0xcf)],'ttl':this['_defaultTTL'],'retryCount':this[_0x1f8c87(0xeb)],'retryDelay':this[_0x1f8c87(0xf3)],'workerId':this[_0x1f8c87(0x114)]},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+',\x20strategy:\x20'+this[_0x1f8c87(0xcf)]);}['_ensureInitialized'](){const _0xe28e89=a0_0x2e97b9;!this[_0xe28e89(0x100)]&&this[_0xe28e89(0xfc)]();}get[a0_0x2e97b9(0xef)](){const _0x41ec8d=a0_0x2e97b9;return this[_0x41ec8d(0xce)](),this['_prefix'];}get['enabled'](){return this['_ensureInitialized'](),this['_enabled'];}get[a0_0x2e97b9(0x11d)](){const _0x14064e=a0_0x2e97b9;return this['_ensureInitialized'](),this[_0x14064e(0xe1)];}get[a0_0x2e97b9(0xc9)](){return this['_ensureInitialized'](),this['_retryCount'];}get['retryDelay'](){const _0xa422d9=a0_0x2e97b9;return this[_0xa422d9(0xce)](),this[_0xa422d9(0xf3)];}get['strategy'](){const _0x4f16e5=a0_0x2e97b9;return this[_0x4f16e5(0xce)](),this[_0x4f16e5(0xcf)];}get[a0_0x2e97b9(0xd9)](){return this['_ensureInitialized'](),this['_workerId'];}['buildLockKey'](_0x140a4d){const {module:_0x85f02a,endpoint:_0x392514,lockType:_0x5262b8,recordId:_0x460922}=_0x140a4d;if(_0x460922)return''+this['prefix']+_0x85f02a+':'+_0x392514+':'+_0x460922+':'+_0x5262b8;return''+this['prefix']+_0x85f02a+':'+_0x392514+':'+_0x5262b8;}[a0_0x2e97b9(0xd0)](){const _0x2804ce=a0_0x2e97b9,_0x2877f1={'pjsdS':function(_0x419111){return _0x419111();}};return this['workerId']+':'+_0x2877f1[_0x2804ce(0xdd)](uuidv4)+':'+Date[_0x2804ce(0xc8)]();}async[a0_0x2e97b9(0xfb)](_0x31f90a){const _0x42f097=a0_0x2e97b9,_0x4133f4={'jNCjO':'write','vKtFX':function(_0x144c0f,_0x589d8e){return _0x144c0f<_0x589d8e;},'bcKlj':'read_lock_acquired','tBOba':_0x42f097(0x104),'UZyhG':function(_0x19c16f,_0x12b964){return _0x19c16f*_0x12b964;},'hZRWV':'READ\x20lock\x20acquire\x20timeout','DqKgL':'READ\x20lock\x20error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x2d9371=this['buildLockKey']({..._0x31f90a,'lockType':_0x4133f4[_0x42f097(0xf9)]}),_0x411404=this['buildLockKey']({..._0x31f90a,'lockType':_0x42f097(0x101)}),_0x5ed73f=this['generateLockValue']();try{const _0x35db32=redisClient[_0x42f097(0xe5)]();for(let _0x4d4e03=0x0;_0x4133f4[_0x42f097(0xd5)](_0x4d4e03,this[_0x42f097(0xc9)]);_0x4d4e03++){const _0xac27b2=await _0x35db32[_0x42f097(0x115)](_0x2d9371);if(!_0xac27b2){await _0x35db32['incr'](_0x411404),await _0x35db32[_0x42f097(0xfe)](_0x411404,this['defaultTTL']);const _0x18f579=_0x411404+':'+_0x5ed73f;return await _0x35db32['setex'](_0x18f579,this['defaultTTL'],_0x5ed73f),logger['debug']({'event':_0x4133f4[_0x42f097(0x116)],'key':_0x411404,'value':_0x5ed73f},_0x4133f4['tBOba']),{'success':!![],'lockValue':_0x5ed73f,'lockKey':_0x18f579};}logger['debug']({'event':_0x42f097(0x121),'writeKey':_0x2d9371,'attempt':_0x4d4e03},'Waiting\x20for\x20WRITE\x20lock\x20to\x20release'),await this['sleep'](_0x4133f4[_0x42f097(0xf6)](this[_0x42f097(0x11f)],Math['pow'](0x2,_0x4d4e03)));}return logger[_0x42f097(0xf2)]({'event':_0x42f097(0xca),'key':_0x411404},_0x4133f4[_0x42f097(0x105)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x46e5ef){return logger[_0x42f097(0xf5)]({'event':_0x42f097(0x11c),'error':_0x46e5ef[_0x42f097(0xf8)]},_0x4133f4['DqKgL']),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x538bbd){const _0x146b00=a0_0x2e97b9,_0x218a18={'RyvSO':'write','LSpci':'write_lock_acquired','tlOHm':_0x146b00(0xd1),'yBuXI':function(_0x57c3b9,_0x5e03b5){return _0x57c3b9===_0x5e03b5;},'ywdmc':function(_0x37f458,_0x29f8d5){return _0x37f458(_0x29f8d5);},'elSZz':'WRITE\x20lock\x20acquired\x20(retry\x20mode)','fGIpO':'write_lock_waiting','meXwd':'Waiting\x20for\x20locks\x20to\x20release','XgJfC':function(_0x2094b7,_0x3af4cc){return _0x2094b7*_0x3af4cc;},'NwtVc':'WRITE\x20lock\x20acquire\x20timeout','ekgrv':_0x146b00(0x119)};if(!this[_0x146b00(0xd4)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x565653=this['buildLockKey']({..._0x538bbd,'lockType':_0x218a18['RyvSO']}),_0x403287=this[_0x146b00(0xf7)]({..._0x538bbd,'lockType':'read'}),_0x1d0c0b=this['generateLockValue']();try{const _0x48392e=redisClient['getClient']();if(this[_0x146b00(0xee)]==='reject'){const _0x4f61cd=await _0x48392e['set'](_0x565653,_0x1d0c0b,'EX',this['defaultTTL'],'NX');if(_0x4f61cd==='OK')return logger['debug']({'event':_0x218a18[_0x146b00(0xe6)],'key':_0x565653,'value':_0x1d0c0b,'strategy':'reject'},_0x146b00(0xe8)),{'success':!![],'lockValue':_0x1d0c0b,'lockKey':_0x565653};return logger['debug']({'event':_0x218a18['tlOHm'],'key':_0x565653},'WRITE\x20lock\x20rejected\x20-\x20record\x20busy'),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x553324=0x0;_0x553324<this['retryCount'];_0x553324++){const [_0x8273ca,_0xce2edd]=await Promise['all']([_0x48392e['get'](_0x403287),_0x48392e[_0x146b00(0x115)](_0x565653)]);if(!_0xce2edd&&(!_0x8273ca||_0x218a18['yBuXI'](_0x218a18[_0x146b00(0x110)](parseInt,_0x8273ca),0x0))){const _0x4f84f9=await _0x48392e['set'](_0x565653,_0x1d0c0b,'EX',this[_0x146b00(0x11d)],'NX');if(_0x4f84f9==='OK')return logger['debug']({'event':_0x146b00(0xe2),'key':_0x565653,'value':_0x1d0c0b,'strategy':'retry'},_0x218a18['elSZz']),{'success':!![],'lockValue':_0x1d0c0b,'lockKey':_0x565653};}logger[_0x146b00(0x102)]({'event':_0x218a18['fGIpO'],'writeKey':_0x565653,'readCount':_0x8273ca,'attempt':_0x553324},_0x218a18['meXwd']),await this[_0x146b00(0xe0)](_0x218a18[_0x146b00(0xf1)](this[_0x146b00(0x11f)],Math['pow'](0x2,_0x553324)));}return logger['warn']({'event':_0x146b00(0xd8),'key':_0x565653},_0x218a18[_0x146b00(0xcb)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x7ce516){return logger[_0x146b00(0xf5)]({'event':_0x218a18['ekgrv'],'error':_0x7ce516['message']},_0x146b00(0x10b)),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x15c7f3,_0x524424){const _0x290458=a0_0x2e97b9,_0x41f945={'WfPno':_0x290458(0xda),'kwkai':function(_0x45c4dc,_0x4d3899){return _0x45c4dc>_0x4d3899;},'DOCvk':_0x290458(0xd7),'GBmHt':_0x290458(0xec),'SCOpz':function(_0x2cdb9c,_0x2e09c8){return _0x2cdb9c===_0x2e09c8;},'dPBLs':_0x290458(0x10e),'Jwbne':'lock_release_not_owner','HmcMG':'Cannot\x20release\x20lock\x20-\x20not\x20owner','yNWbx':'lock_release_error','gNqEZ':'Lock\x20release\x20error'};if(!this['enabled']||!_0x15c7f3)return!![];try{const _0xcfce98=redisClient['getClient']();if(_0x15c7f3[_0x290458(0xdf)](_0x41f945[_0x290458(0x107)])){await _0xcfce98['del'](_0x15c7f3);const _0x4822f0=_0x15c7f3['substring'](0x0,_0x15c7f3['lastIndexOf'](':')),_0x2fac10=await _0xcfce98[_0x290458(0x115)](_0x4822f0);return _0x2fac10&&_0x41f945['kwkai'](parseInt(_0x2fac10),0x0)&&await _0xcfce98[_0x290458(0x118)](_0x4822f0),logger[_0x290458(0x102)]({'event':_0x41f945[_0x290458(0x103)],'key':_0x15c7f3},_0x41f945[_0x290458(0xdb)]),!![];}const _0x1189cf='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22del\x22,\x20KEYS[1])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x48d1a2=await _0xcfce98[_0x290458(0xe3)](_0x1189cf,0x1,_0x15c7f3,_0x524424);if(_0x41f945['SCOpz'](_0x48d1a2,0x1))return logger['debug']({'event':_0x290458(0xfd),'key':_0x15c7f3},_0x41f945[_0x290458(0xfa)]),!![];return logger[_0x290458(0xf2)]({'event':_0x41f945['Jwbne'],'key':_0x15c7f3},_0x41f945['HmcMG']),![];}catch(_0x20ecdc){return logger['error']({'event':_0x41f945[_0x290458(0x106)],'key':_0x15c7f3,'error':_0x20ecdc[_0x290458(0xf8)]},_0x41f945['gNqEZ']),![];}}async[a0_0x2e97b9(0xdc)](_0x36b0aa,_0x3fc354,_0x62ca34=null){const _0x94e83d=a0_0x2e97b9,_0x4849bb={'gvasv':_0x94e83d(0x11e),'lensH':_0x94e83d(0x109)};if(!this[_0x94e83d(0xd4)]||!_0x36b0aa)return!![];try{const _0x3ca7b3=redisClient[_0x94e83d(0xe5)](),_0x23078c='\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',_0x4772b0=await _0x3ca7b3['eval'](_0x23078c,0x1,_0x36b0aa,_0x3fc354,_0x62ca34||this['defaultTTL']);if(_0x4772b0===0x1)return logger[_0x94e83d(0x102)]({'event':'lock_extended','key':_0x36b0aa,'ttl':_0x62ca34||this['defaultTTL']},_0x4849bb[_0x94e83d(0x11b)]),!![];return![];}catch(_0x56babc){return logger[_0x94e83d(0xf5)]({'event':'lock_extend_error','key':_0x36b0aa,'error':_0x56babc['message']},_0x4849bb[_0x94e83d(0xea)]),![];}}[a0_0x2e97b9(0x10c)](){const _0x1680cc=a0_0x2e97b9;return this[_0x1680cc(0xd4)];}[a0_0x2e97b9(0xe0)](_0x4d76bb){return new Promise(_0x4661aa=>setTimeout(_0x4661aa,_0x4d76bb));}async[a0_0x2e97b9(0xc7)](_0x4ac1fc){const _0x1d949b=a0_0x2e97b9,_0x32b71f={'jYFmD':_0x1d949b(0x11a),'orkkU':function(_0xe21d6b,_0xa11692){return _0xe21d6b||_0xa11692;}};if(!this[_0x1d949b(0xd4)])return{'enabled':![]};try{const _0x895a04=redisClient['getClient'](),_0x4d3bc6=this[_0x1d949b(0xf7)]({..._0x4ac1fc,'lockType':_0x32b71f['jYFmD']}),_0x4df25c=this[_0x1d949b(0xf7)]({..._0x4ac1fc,'lockType':'read'}),[_0x3470d1,_0x56f2f6]=await Promise['all']([_0x895a04['get'](_0x4d3bc6),_0x895a04['get'](_0x4df25c)]);return{'enabled':!![],'writeLock':_0x32b71f[_0x1d949b(0xff)](_0x3470d1,null),'readCount':parseInt(_0x56f2f6)||0x0,'writeKey':_0x4d3bc6,'readKey':_0x4df25c};}catch(_0x31e0bc){return{'enabled':!![],'error':_0x31e0bc[_0x1d949b(0xf8)]};}}}function a0_0x1a3e(){const _0x3880c5=['x3DVCMTLCKLK','z2v0','yMnlBgO','x3bYzwzPEa','zgvJCG','D3jPDgvFBg9JA19LCNjVCG','D3jPDgu','z3zHC3y','CMvHzf9SB2nRx2vYCM9Y','zgvMyxvSDfruta','tg9JAYbuveWGzxH0zw5Kzwq','CMv0CNLezwXHEq','ndmWmJCZohvuA25gtq','CMvHzf9SB2nRx3DHAxrPBMC','te9ds19esvnuuKLcvvrfrf9uveW','z2v0tg9JA0LUzM8','BM93','CMv0CNLdB3vUDa','CMvHzf9SB2nRx3rPBwvVDxq','tND0vMm','mta1mde3tuLXC2Lv','CMv0CNK','x2vUC3vYzuLUAxrPywXPEMvK','x3n0CMf0zwD5','z2vUzxjHDgvmB2nRvMfSDwu','D3jPDgvFBg9JA19YzwPLy3rLza','n0DZC01Suq','mJKZmhfHy0n3Da','zw5HyMXLza','DKT0rLG','DxvPza','CMvHzf9SB2nRx3jLBgvHC2vK','D3jPDgvFBg9JA190Aw1LB3v0','D29YA2vYswq','oNjLywq6','r0jTshq','zxH0zw5Ktg9JAW','CgPZzfm','qvPrqMW','Aw5JBhvKzxm','C2XLzxa','x2rLzMf1BhruveW','D3jPDgvFBg9JA19Hy3f1AxjLza','zxzHBa','lI9YzwrPCY1JBgLLBNq','z2v0q2XPzw50','tfnWy2K','Dhj1zq','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','zxHWB3j0CW','BgvUC0G','x3jLDhj5q291BNq','uKvbrcbSB2nRihjLBgvHC2vK','Bg9JA19JB25MAwDFAw5PDa','C3rYyxrLz3K','ChjLzML4','mKfkChztCq','wgDkzKm','D2fYBG','x3jLDhj5rgvSyxK','mtu0ndG4mtvQAKnUrg4','zxjYB3i','vvP5AeC','yNvPBgrmB2nRs2v5','BwvZC2fNzq','AK5dAK8','zfbcthm','ywnXDwLYzvjLywrmB2nR','x2LUAxrdB25MAwC','D3jPDgvFBg9JA19YzwXLyxnLza','zxHWAxjL','B3jRA1u','x2LUAxrPywXPEMvK','CMvHza','zgvIDwC','re9dDMS','uKvbrcbSB2nRigfJCxvPCMvK','AfPsv1y','Eu5xyNG','v2zqBM8','mtvSDe5euLK','tg9JAYbLEhrLBMqGzxjYB3i','mJe0mZa5mejhEvPAAa','v1jjveuGBg9JAYbLCNjVCG','AxnfBMfIBgvK','otq3ndm2yuj0C3jT','v1jjveuGBg9JAYbYzwXLyxnLza','mta1mJq3mNDPCKfrDW','ExDKBwm','zw52','mtq3mdmYnxzSwxbRzq','x2vUywjSzwq'];a0_0x1a3e=function(){return _0x3880c5;};return a0_0x1a3e();}module[a0_0x2e97b9(0xe9)]=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_0x3cd68b=a0_0x451c;(function(_0x18d3b2,_0x1766fd){const _0x4bf625=a0_0x451c,_0x3d70e3=_0x18d3b2();while(!![]){try{const _0x3b3bd3=-parseInt(_0x4bf625(0x230))/0x1*(parseInt(_0x4bf625(0x1bb))/0x2)+parseInt(_0x4bf625(0x1c4))/0x3*(-parseInt(_0x4bf625(0x1d3))/0x4)+parseInt(_0x4bf625(0x1f5))/0x5+parseInt(_0x4bf625(0x1a7))/0x6*(-parseInt(_0x4bf625(0x248))/0x7)+-parseInt(_0x4bf625(0x20b))/0x8*(-parseInt(_0x4bf625(0x1e0))/0x9)+-parseInt(_0x4bf625(0x247))/0xa*(-parseInt(_0x4bf625(0x1d7))/0xb)+parseInt(_0x4bf625(0x20a))/0xc*(-parseInt(_0x4bf625(0x259))/0xd);if(_0x3b3bd3===_0x1766fd)break;else _0x3d70e3['push'](_0x3d70e3['shift']());}catch(_0xaec2b4){_0x3d70e3['push'](_0x3d70e3['shift']());}}}(a0_0x3324,0xad568));function a0_0x451c(_0x448a18,_0xeebc9){_0x448a18=_0x448a18-0x1a7;const _0x33242f=a0_0x3324();let _0x451ccb=_0x33242f[_0x448a18];if(a0_0x451c['FDWnmj']===undefined){var _0xddbfa2=function(_0x34bfbc){const _0xf6cb8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2064c8='',_0x27b5aa='';for(let _0x5d186e=0x0,_0x33c4e6,_0x1cecbe,_0x20a7be=0x0;_0x1cecbe=_0x34bfbc['charAt'](_0x20a7be++);~_0x1cecbe&&(_0x33c4e6=_0x5d186e%0x4?_0x33c4e6*0x40+_0x1cecbe:_0x1cecbe,_0x5d186e++%0x4)?_0x2064c8+=String['fromCharCode'](0xff&_0x33c4e6>>(-0x2*_0x5d186e&0x6)):0x0){_0x1cecbe=_0xf6cb8['indexOf'](_0x1cecbe);}for(let _0x730def=0x0,_0x3b3f3c=_0x2064c8['length'];_0x730def<_0x3b3f3c;_0x730def++){_0x27b5aa+='%'+('00'+_0x2064c8['charCodeAt'](_0x730def)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x27b5aa);};a0_0x451c['mDrWwi']=_0xddbfa2,a0_0x451c['qgnaXf']={},a0_0x451c['FDWnmj']=!![];}const _0x1f7b19=_0x33242f[0x0],_0x16e690=_0x448a18+_0x1f7b19,_0x46017a=a0_0x451c['qgnaXf'][_0x16e690];return!_0x46017a?(_0x451ccb=a0_0x451c['mDrWwi'](_0x451ccb),a0_0x451c['qgnaXf'][_0x16e690]=_0x451ccb):_0x451ccb=_0x46017a,_0x451ccb;}const pino=require(a0_0x3cd68b(0x1f2)),fs=require('fs'),path=require(a0_0x3cd68b(0x1e9));function a0_0x3324(){const _0xe045dd=['Cgf0Aa','Aw5JBhvKzxm','CgfYyw1Z','ifTtte9xxq','CgLK','rgvMyxvSDa','D2fYBG','icbjBMzVoIaGia','y3jLzgvUDgLHBa','CgLUBW','s3vYq24','vfjbtLnbq1rjt05FqKvhsu4','ntK5mZG2nu5wAvb1AG','zxHWB3j0CW','uvrcBwq','ChjVzhvJDgLVBG','rejFueftu1DpuKq','Dg9Rzw4','zgvMyxvSDa','zgf0ywjHC2u','zgjFDhjHBNnHy3rPB24','ms4WlJu','z0HOyuO','CMvWBgfJzq','CMvMCMvZAf90B2TLBG','DgvZDa','C2vJCMv0','Bwf0y2G','Dg9vChbLCKnHC2u','Ec1Yzxf1zxn0lwLK','rKrhufq','C3vIC3rYAw5N','sfruuca','mZm2yM1Mtu5P','ntG4odi0vvzgBMrr','BgvUz3rO','AhnUExu','Ahj0Aw1L','ChjVy2vZC193yxjUAw5N','B2jQzwn0','tKPQC0i','CgLU','AgvHzgvYCW','Dg9ju09tDhjPBMC','vhrRD1m','C3rKvgLTzuz1BMn0Aw9UCW','CgfZC3DVCMq','rermx0rst1a','CgfKrw5K','zxHPC3rZu3LUyW','qunusvzf','q0Xvshy','zw52','zgf0ywjHC2vFy29UzMLN','yLfYzu4','ic0G','EuzlBKm','quXurvi','y29Kzq','Bwv0Ag9K','q1jjveLdquW','A0zzzxC','BwvZC2fNzq','zgv2zwXVCg1LBNq','te9hx0rjuG','ChjVAMvJDa','BNrUz0m','revmrvrf','AxntBg93','ChDK','zNHUyuS','nteZntvJtfLOC0m','ChjPDMf0zv9RzxK','Aw5MBW','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','vvbeqvrf','BMfTzq','DxnLCG','te9hx0XfvKvm','C3rYAw5N','E21Zz30','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','CxPqAhC','Dw5Oyw5KBgvKuMvQzwn0Aw9U','C2vYDMvYx3n0yxj0Aw5N','ANnVBG','tK9erv9ftLy','weDevKC','qvPSBw4','yxbPA2v5','C3rYAw5NAwz5','A2v5CW','EezWA1O','C3rHCNrZv2L0Aa','mtaWmJCWruPNDhDx','mta2mJm5ter1wKnq','w09lxsbqCM9Qzwn0igXVywrLzdOG','vLLVr1i','C29Tzq','iokvKqRILzeGienVBMzPzYaGicaGidOG','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','ufbNrMK','Dhj1zq','CgLUBY1WCMv0DhK','Cg9ZDgDYzxnXBa','C3rKu2vYAwfSAxPLCNm','Cg9YDa','tI9b','icbizwfSDgG6ia','ig9UihbVCNqG','yxv0Ag9YAxPHDgLVBG','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','mZm0mdiYz1fSEwHi','DLvqv1u','AwDYtfu','yMfZzvvYBa','C2vYDMLJzuLUzM8','v3PfBe0','y29UzMLNrMLSzq','s0XxD2u','ndm4shz1uNbK','q3Ljqva','sw50zxjUywWGC2vYDMvYigvYCM9Y','y3z2','vu5ltK9xtG','CxvLCNK','y3jLyxrLv3jPDgvtDhjLyw0','AM9PBG','zMf0ywW','w1jfrefdvevexq','DKLvue4','CMvWzwf0','u1fmx0Xpr19mrvzfta','veH0qxu','su5trvju','te9hx1rpx0zjteu','rgf0ywjHC2u6ia','u1fmx0Xpr19qqvjbtvm','A0DQuKy','w1jfrefdveveoNrVA2vUxq','mKP2qKXwqq','v0jluMG','C3rHDhvZq29Kzq','w1jfrefdveveoMHHC2HD','CMvZDgzVCMDL','whPUrLy','zgvIDwC','zKHmENC','tLvNA00','mZiXotiXBhLQs1z6','BxmP','EKLXzhC','sLDux1nfq1jfva','zxjYB3i','C3bSAxq','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','ChjPDMf0zwTLEq','EezOzue','CgfZC3DK','yxbWlMXVzW','y0DeDw4','AKHirNG','Dg9mB3DLCKnHC2u','CMvTB3rLqwrKCMvZCW','mtj3CgXotuK','r0rkEgG','yxbPs2v5','zw5KCg9PBNrFCMvNAxn0zxjLza','mtiZmKT5wKjQsW','zvPmB3u','zxjYB3iUBg9N','yMPSrxG','C3rHDhvZ','tK9uiefdveLwrq','yM9KEq','rvPzBNi','C3rHy2S','nZjYB0zZq24','rKfuquW6ia','D3jPDgu','iokvKqRILzeGifbYB2PLy3qGicaGidOG','rwfcCxq','y3jLzgL0y2fYza','vuzkq1C','DhjPBq','rxjYB3i'];a0_0x3324=function(){return _0xe045dd;};return a0_0x3324();}let logToFile=![],logDir='./logs',serviceName=a0_0x3cd68b(0x1bf),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':a0_0x3cd68b(0x239),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env'][a0_0x3cd68b(0x23f)]!==a0_0x3cd68b(0x1f8),logLevel=process[a0_0x3cd68b(0x21d)][a0_0x3cd68b(0x237)]||a0_0x3cd68b(0x232);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x3cd68b(0x250),'options':prettyPrintOptions}:undefined,'base':{'service':a0_0x3cd68b(0x1bf),'version':process['env']['APP_VERSION']||a0_0x3cd68b(0x1fe),'env':process[a0_0x3cd68b(0x21d)][a0_0x3cd68b(0x23f)]||a0_0x3cd68b(0x228)},'timestamp':pino[a0_0x3cd68b(0x216)]['isoTime'],'redact':{'paths':['req.headers.authorization','req.headers[\x22x-api-key\x22]','password',a0_0x3cd68b(0x1fa),a0_0x3cd68b(0x1d5),a0_0x3cd68b(0x1f9),a0_0x3cd68b(0x1c7)],'censor':'[REDACTED]'},'serializers':{'req':_0x2873df=>({'id':_0x2873df['id'],'method':_0x2873df[a0_0x3cd68b(0x224)],'url':_0x2873df['url'],'path':_0x2873df[a0_0x3cd68b(0x1e9)],'remoteAddress':_0x2873df['ip']||_0x2873df['connection']?.['remoteAddress']}),'res':_0x4a1f11=>({'statusCode':_0x4a1f11[a0_0x3cd68b(0x1bd)],'headers':_0x4a1f11['getHeaders']?.()}),'err':pino[a0_0x3cd68b(0x252)]['err']}});function initFileLogging(){const _0x50c008=a0_0x3cd68b,_0x12875b={'EZYnr':function(_0x2852e2,_0x12c9da){return _0x2852e2===_0x12c9da;},'hfsRX':_0x50c008(0x1fb),'GDJxh':function(_0x3d2eb2,_0x18cad8){return _0x3d2eb2===_0x18cad8;},'TtkwS':'true','CyIAP':_0x50c008(0x1c1),'cGDun':function(_0x4bce41,_0x58ddc1){return _0x4bce41!==_0x58ddc1;},'fxnaK':'false','nPumj':function(_0x9e379c,_0x503576){return _0x9e379c(_0x503576);},'DrWUT':'error.log','zIqdw':'file_logging_enabled','bjlEx':_0x50c008(0x232)};if(fileLoggingInitialized)return;logToFile=_0x12875b[_0x50c008(0x1de)](process['env'][_0x50c008(0x1b6)],_0x50c008(0x24f));const _0x3890b8=process[_0x50c008(0x21d)][_0x50c008(0x23a)]||_0x12875b['hfsRX'];logDir=process['env'][_0x50c008(0x229)]||'./logs/'+_0x3890b8,serviceName=process[_0x50c008(0x21d)]['SERVICE_NAME']||_0x50c008(0x1bf),sqlLogEnabled=_0x12875b[_0x50c008(0x1d4)](process['env']['SQL_LOG_ENABLED'],_0x12875b[_0x50c008(0x215)]),sqlLogLevel=process['env'][_0x50c008(0x1b3)]||_0x12875b[_0x50c008(0x1a8)],sqlLogParams=_0x12875b[_0x50c008(0x1cf)](process[_0x50c008(0x21d)][_0x50c008(0x1b8)],_0x12875b[_0x50c008(0x22f)]),sqlLogSlowThreshold=_0x12875b['nPumj'](parseInt,process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x525653=path['resolve'](process['cwd'](),logDir);try{!fs[_0x50c008(0x21a)](_0x525653)&&fs['mkdirSync'](_0x525653,{'recursive':!![]});}catch(_0xe10083){console['error'](_0x50c008(0x258)+_0x525653+':',_0xe10083['message']),fileLoggingInitialized=!![];return;}const _0x2b90b8=path[_0x50c008(0x1ae)](_0x525653,'app.log'),_0x2edca9=path[_0x50c008(0x1ae)](_0x525653,_0x12875b['DrWUT']);try{appLogStream=fs['createWriteStream'](_0x2b90b8,{'flags':'a'}),errorLogStream=fs[_0x50c008(0x1ad)](_0x2edca9,{'flags':'a'}),fileLoggingInitialized=!![];const _0x22dbaa={'event':_0x12875b[_0x50c008(0x1c6)],'logDir':_0x525653,'files':[_0x50c008(0x1ce),_0x50c008(0x1d9)]},_0x17b75c='File\x20logging\x20enabled:\x20'+_0x525653;logger['info'](_0x22dbaa,_0x17b75c),writeToFileLog({..._0x22dbaa,'level':_0x12875b[_0x50c008(0x1da)],'msg':_0x17b75c,'time':new Date()[_0x50c008(0x214)]()},_0x12875b['bjlEx']);}catch(_0x8c1ad2){console[_0x50c008(0x1c8)](_0x50c008(0x233),_0x8c1ad2['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x597cfa,_0x845e0b){const _0x2e64de=a0_0x3cd68b,_0x2712ae={'gHhaJ':function(_0x5a9af2,_0x4099a9){return _0x5a9af2===_0x4099a9;},'cHqls':'error'};if(!logToFile||!appLogStream)return;const _0x470f0e={'service':serviceName,..._0x597cfa},_0x381711=JSON[_0x2e64de(0x243)](_0x470f0e)+'\x0a';appLogStream[_0x2e64de(0x1e2)](_0x381711),(_0x2712ae['gHhaJ'](_0x845e0b,_0x2712ae['cHqls'])||_0x2712ae[_0x2e64de(0x1ff)](_0x845e0b,_0x2e64de(0x1af)))&&(errorLogStream&&errorLogStream['write'](_0x381711));}const createRequestLogger=(_0x15aada={})=>{return logger['child'](_0x15aada);},logServerStart=_0x2248f9=>{const _0x52e000=a0_0x3cd68b,_0x965759={'VbRMD':function(_0x2c5185,_0x471e92){return _0x2c5185-_0x471e92;},'xFpkZ':function(_0xc6010b,_0x4339ff){return _0xc6010b/_0x4339ff;},'fHLzw':'Node.js','zXBsw':_0x52e000(0x254),'QTBmd':function(_0x16e293,_0x4b16e6,_0x237115){return _0x16e293(_0x4b16e6,_0x237115);},'jHHFx':_0x52e000(0x232)},_0x55010f='RESTFORGE\x20RUNTIME\x20SERVER',_0x330c1c=Math['max'](0x0,_0x965759['VbRMD'](0x37,_0x55010f[_0x52e000(0x20c)])),_0x424e18=Math['floor'](_0x965759[_0x52e000(0x245)](_0x330c1c,0x2)),_0x1f689f=_0x330c1c-_0x424e18,_0x40366a='║'+'\x20'[_0x52e000(0x1b2)](_0x424e18)+_0x55010f+'\x20'['repeat'](_0x1f689f)+'║',_0x48638b=_0x52e000(0x1ca)+_0x40366a+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x2248f9['environment']||_0x965759[_0x52e000(0x1c2)])['padEnd'](0x26)+_0x52e000(0x1e3)+(_0x2248f9['project']||_0x965759['zXBsw'])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x2248f9['port']||0xbb8)['padEnd'](0x26)+_0x52e000(0x24c)+(_0x2248f9['configFile']||_0x52e000(0x1ee))[_0x52e000(0x219)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x2248f9[_0x52e000(0x1d5)]?_0x52e000(0x21b):_0x52e000(0x1dc))['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x48638b);const _0x530f8a={'event':_0x52e000(0x23d),'project':_0x2248f9[_0x52e000(0x22a)],'port':_0x2248f9[_0x52e000(0x253)],'config':_0x2248f9[_0x52e000(0x25f)],'apiKeyEnabled':!!_0x2248f9[_0x52e000(0x1d5)]};logger['info'](_0x530f8a),_0x965759[_0x52e000(0x1f7)](writeToFileLog,{..._0x530f8a,'level':_0x52e000(0x232),'msg':'Server\x20starting:\x20'+_0x2248f9['project']+_0x52e000(0x256)+_0x2248f9['port'],'time':new Date()['toISOString']()},_0x965759[_0x52e000(0x1d0)]);},logServerReady=_0x1b5032=>{const _0x1fe81c=a0_0x3cd68b,_0x5871f6={'xEgcY':_0x1fe81c(0x232)},_0x20a1b8={'event':'server_ready','port':_0x1b5032[_0x1fe81c(0x253)],'module':_0x1b5032['module'],'healthCheck':_0x1b5032['healthCheck'],'serviceInfo':_0x1b5032[_0x1fe81c(0x25d)],'baseUrl':_0x1b5032[_0x1fe81c(0x25c)]},_0x39ed37=_0x1fe81c(0x24d)+_0x1b5032[_0x1fe81c(0x253)];logger[_0x1fe81c(0x232)](_0x20a1b8,_0x39ed37),writeToFileLog({..._0x20a1b8,'level':'info','msg':_0x39ed37,'time':new Date()[_0x1fe81c(0x214)]()},_0x5871f6['xEgcY']),_0x1b5032['healthCheck']&&logger['info'](_0x1fe81c(0x255)+_0x1b5032['healthCheck']),_0x1b5032['serviceInfo']&&logger[_0x1fe81c(0x232)](_0x1fe81c(0x1f0)+_0x1b5032['serviceInfo']),_0x1b5032['baseUrl']&&logger[_0x1fe81c(0x232)]('\x20\x20URL:\x20\x20\x20\x20'+_0x1b5032['baseUrl']);},logProjectLoaded=(_0x14f2dd,_0x41a6cb)=>{const _0x3adfb4=a0_0x3cd68b,_0x581709={'kBSeN':'project_loaded','bBOMN':'info'},_0x59e255={'event':_0x581709['kBSeN'],'project':_0x14f2dd,'path':_0x41a6cb},_0x397043=_0x3adfb4(0x249)+_0x14f2dd;logger[_0x3adfb4(0x232)](_0x59e255,_0x397043),writeToFileLog({..._0x59e255,'level':_0x581709['bBOMN'],'msg':_0x397043,'time':new Date()[_0x3adfb4(0x214)]()},'info');},logEndpointRegistered=(_0x8f36d3,_0x110011)=>{const _0x528dd8=a0_0x3cd68b,_0x5da945={'eZLou':_0x528dd8(0x1c1)},_0x3866d1={'event':_0x528dd8(0x1d6),'endpoint':_0x8f36d3,'route':_0x110011},_0x4c5b82='\x20\x20→\x20'+_0x8f36d3+':\x20'+_0x110011;logger['debug'](_0x3866d1,_0x4c5b82),writeToFileLog({..._0x3866d1,'level':_0x5da945['eZLou'],'msg':_0x4c5b82,'time':new Date()[_0x528dd8(0x214)]()},_0x5da945[_0x528dd8(0x1d8)]);},logDatabaseConfig=_0x2c3522=>{const _0x3390a3=a0_0x3cd68b,_0x811332={'event':_0x3390a3(0x21e),'host':_0x2c3522['host'],'port':_0x2c3522['port'],'database':_0x2c3522[_0x3390a3(0x1fc)],'type':_0x2c3522['type'],'user':_0x2c3522[_0x3390a3(0x236)]},_0x7a4640=_0x3390a3(0x1b7)+_0x2c3522['type']+'://'+_0x2c3522['host']+':'+_0x2c3522[_0x3390a3(0x253)]+'/'+_0x2c3522[_0x3390a3(0x1fc)];logger[_0x3390a3(0x1c1)](_0x811332,_0x7a4640),writeToFileLog({..._0x811332,'level':'debug','msg':_0x7a4640,'time':new Date()[_0x3390a3(0x214)]()},'debug');},logRequest=(_0x26c4f8,_0x27d40d,_0x429d21)=>{const _0x45ef90=a0_0x3cd68b,_0x43678f={'VNmAe':'http_request','THtAu':function(_0x32bb11,_0x342df2){return _0x32bb11>=_0x342df2;}},_0x3c2ecd={'event':_0x43678f['VNmAe'],'method':_0x26c4f8['method'],'path':_0x26c4f8['path'],'statusCode':_0x27d40d['statusCode'],'durationMs':_0x429d21,'ip':_0x26c4f8['ip']},_0x1adf67=_0x26c4f8['method']+'\x20'+_0x26c4f8['path']+_0x45ef90(0x220)+_0x27d40d['statusCode']+'\x20('+_0x429d21+_0x45ef90(0x1c5);let _0x43e339=_0x45ef90(0x232);if(_0x27d40d[_0x45ef90(0x1bd)]>=0x1f4)_0x43e339='error',logger['error'](_0x3c2ecd,_0x1adf67);else _0x43678f[_0x45ef90(0x1b4)](_0x27d40d['statusCode'],0x190)?(_0x43e339=_0x45ef90(0x1ef),logger['warn'](_0x3c2ecd,_0x1adf67)):logger['info'](_0x3c2ecd,_0x1adf67);writeToFileLog({..._0x3c2ecd,'level':_0x43e339,'msg':_0x1adf67,'time':new Date()[_0x45ef90(0x214)]()},_0x43e339);},SENSITIVE_PARAM_PATTERNS=[a0_0x3cd68b(0x217),'passwd',a0_0x3cd68b(0x22e),a0_0x3cd68b(0x1fa),'access_token','refresh_token',a0_0x3cd68b(0x203),'api_secret',a0_0x3cd68b(0x242),'api_key',a0_0x3cd68b(0x1f1),'credentials',a0_0x3cd68b(0x212),'otp','private_key',a0_0x3cd68b(0x1cb)],redactSensitiveParams=(_0x4700c9,_0x408f86)=>{const _0x18c8ee=a0_0x3cd68b,_0x3e3518={'CLUHv':_0x18c8ee(0x1ba)};if(!_0x4700c9||_0x4700c9['length']===0x0)return _0x4700c9;const _0x428b41=_0x408f86['toLowerCase'](),_0x594ba8=_0x428b41['match'](/\(([^)]+)\)\s*values/i);let _0x28dfb5=[];_0x594ba8&&(_0x28dfb5=_0x594ba8[0x1][_0x18c8ee(0x1c9)](',')['map'](_0x54219c=>_0x54219c['trim']()['toLowerCase']()));const _0x13f2a7=_0x428b41[_0x18c8ee(0x204)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x13f2a7){const _0x5e8b8d=_0x13f2a7[0x1],_0x56b9ee=_0x5e8b8d[_0x18c8ee(0x204)](/(\w+)\s*=/g);_0x56b9ee&&(_0x28dfb5=_0x56b9ee['map'](_0x227022=>_0x227022[_0x18c8ee(0x200)](/\s*=/,'')['trim']()[_0x18c8ee(0x1d1)]()));}return _0x4700c9['map']((_0x11a899,_0x4c5731)=>{const _0x8a5970=_0x18c8ee;if(_0x28dfb5[_0x4c5731]){const _0x3eeaab=_0x28dfb5[_0x4c5731],_0x5e19fb=SENSITIVE_PARAM_PATTERNS['some'](_0x1ea907=>_0x3eeaab[_0x8a5970(0x1ea)](_0x1ea907));if(_0x5e19fb)return _0x8a5970(0x1b0);}if(typeof _0x11a899===_0x8a5970(0x238)&&_0x11a899['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x8a5970(0x202)](_0x11a899)&&_0x11a899['includes']('.'))return _0x3e3518[_0x8a5970(0x21c)];if(/^[a-fA-F0-9]{32,}$/[_0x8a5970(0x202)](_0x11a899))return _0x8a5970(0x1be);}return _0x11a899;});},parseQueryMetadata=_0x148ed8=>{const _0x40e6c7=a0_0x3cd68b,_0x2a1669={'wTHJc':_0x40e6c7(0x1ab),'EaBqt':'SELECT','WzElM':_0x40e6c7(0x1b5),'UFJCW':'BEGIN','FDGPT':_0x40e6c7(0x1f4),'vIUPN':'TRANSACTION_ROLLBACK','qzPhw':_0x40e6c7(0x222),'TlnmA':'DROP','bKcqo':_0x40e6c7(0x218)},_0x1362e4=_0x148ed8[_0x40e6c7(0x1e7)](),_0x2e730b=_0x1362e4['toUpperCase']();let _0x4a74e2=_0x2a1669['wTHJc'],_0x1cfadc=null;if(_0x2e730b['startsWith'](_0x2a1669[_0x40e6c7(0x1e4)])){_0x4a74e2=_0x2a1669['EaBqt'];const _0xe33955=_0x1362e4[_0x40e6c7(0x204)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1cfadc=_0xe33955?_0xe33955[0x1]:null;}else{if(_0x2e730b['startsWith'](_0x2a1669[_0x40e6c7(0x25e)])){_0x4a74e2=_0x2a1669['WzElM'];const _0x575322=_0x1362e4['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1cfadc=_0x575322?_0x575322[0x1]:null;}else{if(_0x2e730b[_0x40e6c7(0x246)](_0x40e6c7(0x234))){_0x4a74e2='UPDATE';const _0x2c7b93=_0x1362e4['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1cfadc=_0x2c7b93?_0x2c7b93[0x1]:null;}else{if(_0x2e730b[_0x40e6c7(0x246)]('DELETE')){_0x4a74e2=_0x40e6c7(0x22c);const _0x5383be=_0x1362e4['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1cfadc=_0x5383be?_0x5383be[0x1]:null;}else{if(_0x2e730b['startsWith'](_0x2a1669[_0x40e6c7(0x1e6)])||_0x2e730b[_0x40e6c7(0x246)]('START\x20TRANSACTION'))_0x4a74e2=_0x2a1669[_0x40e6c7(0x207)];else{if(_0x2e730b['startsWith']('COMMIT'))_0x4a74e2='TRANSACTION_COMMIT';else{if(_0x2e730b['startsWith']('ROLLBACK'))_0x4a74e2=_0x2a1669[_0x40e6c7(0x1b1)];else{if(_0x2e730b['startsWith']('CREATE'))_0x4a74e2='DDL_CREATE';else{if(_0x2e730b[_0x40e6c7(0x246)](_0x2a1669[_0x40e6c7(0x23b)]))_0x4a74e2='DDL_ALTER';else _0x2e730b['startsWith'](_0x2a1669['TlnmA'])&&(_0x4a74e2=_0x2a1669['bKcqo']);}}}}}}}}return{'type':_0x4a74e2,'table':_0x1cfadc};},startQueryTimer=()=>{const _0x2b9151=a0_0x3cd68b,_0x29035e={'igrLU':function(_0x317d9b,_0x1b3416){return _0x317d9b(_0x1b3416);},'XznFV':function(_0x34da8a,_0x2ba491){return _0x34da8a/_0x2ba491;}},_0x4ec1dd=process[_0x2b9151(0x20e)]();return()=>{const _0x3ed030=_0x2b9151,[_0x12bf7d,_0x57bae3]=process[_0x3ed030(0x20e)](_0x4ec1dd);return _0x29035e[_0x3ed030(0x25b)](parseFloat,(_0x12bf7d*0x3e8+_0x29035e[_0x3ed030(0x1c0)](_0x57bae3,0xf4240))['toFixed'](0x2));};},logQuery=(_0x2c26b5,_0x476e48=[],_0x1432db={})=>{const _0x3ea501=a0_0x3cd68b,_0x5cf3eb={'bQreN':'db_query','PPgFi':function(_0x4516e7,_0x2de93a){return _0x4516e7>_0x2de93a;},'kPosV':function(_0x4b3291,_0x2bc557,_0x415487){return _0x4b3291(_0x2bc557,_0x415487);},'WBKRh':function(_0x389fef,_0x52c9ac){return _0x389fef!==_0x52c9ac;},'XGDVG':_0x3ea501(0x1ec),'kFYew':'warn','Fwujd':function(_0xbd5957,_0x59b332){return _0xbd5957===_0x59b332;}};if(!sqlLogEnabled){logger['debug']({'event':_0x5cf3eb[_0x3ea501(0x21f)],'query':_0x2c26b5[_0x3ea501(0x208)](0x0,0xc8),'paramCount':_0x476e48[_0x3ea501(0x20c)]},'DB\x20Query');return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x3ea501(0x251)}=_0x1432db,{type:_0x146edf,table:_0x1833be}=parseQueryMetadata(_0x2c26b5),_0x10658f={'event':'sql_query','queryType':_0x146edf,'table':_0x1833be,'query':_0x2c26b5,'paramCount':_0x476e48[_0x3ea501(0x20c)],'dbType':dbType};sqlLogParams&&_0x5cf3eb[_0x3ea501(0x24e)](_0x476e48['length'],0x0)&&(_0x10658f[_0x3ea501(0x1eb)]=_0x5cf3eb['kPosV'](redactSensitiveParams,_0x476e48,_0x2c26b5));duration!==null&&(_0x10658f['durationMs']=duration,_0x10658f[_0x3ea501(0x22d)]=_0x5cf3eb[_0x3ea501(0x24e)](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x10658f['rowsAffected']=rowsAffected);const _0x17ef74=_0x1833be||'unknown';let _0x489858='['+_0x146edf+']\x20'+_0x17ef74;_0x5cf3eb[_0x3ea501(0x1bc)](duration,null)&&(_0x489858+='\x20('+duration+_0x3ea501(0x1c5));const _0x598e38=_0x5cf3eb[_0x3ea501(0x1bc)](duration,null)&&duration>sqlLogSlowThreshold;let _0x45137e='debug';if(_0x598e38)_0x489858+=_0x5cf3eb[_0x3ea501(0x240)],_0x45137e=_0x5cf3eb[_0x3ea501(0x226)],logger[_0x3ea501(0x1ef)](_0x10658f,_0x489858);else _0x5cf3eb['Fwujd'](sqlLogLevel,_0x3ea501(0x232))?(_0x45137e='info',logger['info'](_0x10658f,_0x489858)):logger[_0x3ea501(0x1c1)](_0x10658f,_0x489858);_0x5cf3eb['kPosV'](writeToFileLog,{..._0x10658f,'level':_0x45137e,'msg':_0x489858,'time':new Date()['toISOString']()},_0x45137e);},logTransaction=(_0x2e69da,_0x128d8d)=>{const _0x482c25=a0_0x3cd68b,_0xaff238={'yFKnC':function(_0xb38885,_0x31c35e,_0x550204){return _0xb38885(_0x31c35e,_0x550204);},'cmfUw':_0x482c25(0x1c1)},_0xdc6e6b={'event':_0x482c25(0x1fd),'status':_0x2e69da,'queryCount':_0x128d8d},_0x19ca80='Transaction\x20'+_0x2e69da;logger[_0x482c25(0x1c1)](_0xdc6e6b,_0x19ca80),_0xaff238[_0x482c25(0x221)](writeToFileLog,{..._0xdc6e6b,'level':_0xaff238['cmfUw'],'msg':_0x19ca80,'time':new Date()[_0x482c25(0x214)]()},_0x482c25(0x1c1));},redactObject=_0x297575=>{const _0x2e4e5c=a0_0x3cd68b,_0x4b9c20={'KurCn':_0x2e4e5c(0x210),'gWVrd':'password','ipepy':_0x2e4e5c(0x1fa),'fSptg':_0x2e4e5c(0x203),'NUgkM':'apikey','ntngC':_0x2e4e5c(0x1e5),'NJjsB':'credit_card','kGjRF':_0x2e4e5c(0x1aa),'moGey':'ssn','yVgjw':'access_token','NvrTM':function(_0x277d1d,_0x741f65){return _0x277d1d===_0x741f65;},'xFheA':function(_0x55741b,_0x31a675){return _0x55741b(_0x31a675);}};if(!_0x297575||typeof _0x297575!==_0x4b9c20['KurCn'])return _0x297575;const _0x102d0b=[_0x4b9c20['gWVrd'],_0x2e4e5c(0x1cd),'pwd',_0x4b9c20['ipepy'],_0x4b9c20['fSptg'],_0x4b9c20[_0x2e4e5c(0x1c3)],'api_key',_0x2e4e5c(0x257),_0x4b9c20[_0x2e4e5c(0x22b)],_0x4b9c20[_0x2e4e5c(0x211)],_0x4b9c20[_0x2e4e5c(0x1b9)],_0x4b9c20['moGey'],'pin',_0x2e4e5c(0x231),'privatekey',_0x2e4e5c(0x201),_0x4b9c20['yVgjw']],_0x581397=Array['isArray'](_0x297575)?[..._0x297575]:{..._0x297575};for(const _0x33ea9 of Object[_0x2e4e5c(0x244)](_0x581397)){const _0x1dad2f=_0x33ea9['toLowerCase']();if(_0x102d0b[_0x2e4e5c(0x24b)](_0x3755c3=>_0x1dad2f[_0x2e4e5c(0x1ea)](_0x3755c3)))_0x581397[_0x33ea9]=_0x2e4e5c(0x1b0);else _0x4b9c20['NvrTM'](typeof _0x581397[_0x33ea9],_0x4b9c20[_0x2e4e5c(0x1f3)])&&_0x581397[_0x33ea9]!==null&&(_0x581397[_0x33ea9]=_0x4b9c20[_0x2e4e5c(0x1cc)](redactObject,_0x581397[_0x33ea9]));}return _0x581397;},logError=(_0x5e5900,_0xd4c74f={},_0x46ec67=null)=>{const _0x1f398b=a0_0x3cd68b,_0x347259={'jBcEY':'Error','hsnyu':'error'},_0x15a068={'event':'error','errorName':_0x5e5900[_0x1f398b(0x235)]||_0x347259['jBcEY'],'errorMessage':_0x5e5900['message'],'errorCode':_0x5e5900[_0x1f398b(0x223)]||null,'stack':_0x5e5900['stack'],..._0xd4c74f},_0x7d9bbe=_0x46ec67||'Error:\x20'+_0x5e5900[_0x1f398b(0x227)];logger[_0x1f398b(0x1c8)](_0x15a068,_0x7d9bbe),writeToFileLog({..._0x15a068,'level':_0x347259[_0x1f398b(0x20d)],'msg':_0x7d9bbe,'time':new Date()[_0x1f398b(0x214)]()},'error');},logFatalError=(_0x58f17e,_0x1c85f1={},_0x1d0e6e=null)=>{const _0x436615=a0_0x3cd68b,_0x34a261={'VYoGR':'fatal_error','KLWwe':'Error','OFsoD':'CRITICAL','RzuNk':function(_0x1728d6,_0x28a38a,_0x3ceeeb){return _0x1728d6(_0x28a38a,_0x3ceeeb);},'mmGQQ':_0x436615(0x1af)},_0x143da2={'event':_0x34a261[_0x436615(0x24a)],'errorName':_0x58f17e['name']||_0x34a261[_0x436615(0x260)],'errorMessage':_0x58f17e['message'],'errorCode':_0x58f17e['code']||null,'stack':_0x58f17e['stack'],'severity':_0x34a261['OFsoD'],..._0x1c85f1},_0x28d3de=_0x1d0e6e||_0x436615(0x1e1)+_0x58f17e[_0x436615(0x227)];logger['fatal'](_0x143da2,_0x28d3de),_0x34a261['RzuNk'](writeToFileLog,{..._0x143da2,'level':_0x34a261['mmGQQ'],'msg':_0x28d3de,'time':new Date()['toISOString']()},_0x436615(0x1c8));},logHttpError=(_0xc44db4,_0xbb0b,_0x717f6d={})=>{const _0x3c3d9a=a0_0x3cd68b,_0x7e3096={'HxSXD':_0x3c3d9a(0x1e8),'dnqcB':function(_0x5a1b37,_0x3d390f){return _0x5a1b37(_0x3d390f);},'uXZcy':function(_0x2d2e1d,_0xdab222,_0x228f7a){return _0x2d2e1d(_0xdab222,_0x228f7a);},'smxsL':function(_0x56f30b,_0x41a8a4){return _0x56f30b>=_0x41a8a4;},'vNOst':'error','fpMhk':'warn'},_0x20ea2e={'event':'http_error','errorName':_0xc44db4['name']||_0x7e3096['HxSXD'],'errorMessage':_0xc44db4[_0x3c3d9a(0x227)],'errorCode':_0xc44db4['code']||_0xc44db4[_0x3c3d9a(0x1bd)]||0x1f4,'stack':_0xc44db4[_0x3c3d9a(0x1df)],'method':_0xbb0b?.['method'],'url':_0xbb0b?.['url']||_0xbb0b?.['originalUrl'],'path':_0xbb0b?.[_0x3c3d9a(0x1e9)],'ip':_0xbb0b?.['ip']||_0xbb0b?.['connection']?.[_0x3c3d9a(0x1d2)],'userAgent':_0xbb0b?.['get']?.('user-agent'),'requestId':_0xbb0b?.['id']||_0xbb0b?.['headers']?.[_0x3c3d9a(0x206)],'body':_0xbb0b?.[_0x3c3d9a(0x1dd)]?_0x7e3096['dnqcB'](redactObject,_0xbb0b['body']):undefined,'query':_0xbb0b?.[_0x3c3d9a(0x1ac)],..._0x717f6d},_0x2423f4=_0xc44db4[_0x3c3d9a(0x1bd)]||_0xc44db4[_0x3c3d9a(0x1db)]||0x1f4,_0x22f8f7=_0x3c3d9a(0x209)+_0x2423f4+':\x20'+_0xc44db4['message'];_0x2423f4>=0x1f4?logger['error'](_0x20ea2e,_0x22f8f7):logger['warn'](_0x20ea2e,_0x22f8f7),_0x7e3096['uXZcy'](writeToFileLog,{..._0x20ea2e,'level':_0x7e3096['smxsL'](_0x2423f4,0x1f4)?_0x7e3096['vNOst']:_0x3c3d9a(0x1ef),'msg':_0x22f8f7,'time':new Date()[_0x3c3d9a(0x214)]()},_0x7e3096['smxsL'](_0x2423f4,0x1f4)?_0x7e3096['vNOst']:_0x7e3096['fpMhk']);},logUncaughtError=(_0x476892,_0x320b5b)=>{const _0x3242f3=a0_0x3cd68b,_0x13348d={'FjISY':function(_0x567067,_0x36df84){return _0x567067(_0x36df84);},'UZWWD':_0x3242f3(0x225),'kiSnF':function(_0x44af78,_0x2210da,_0x44e83b){return _0x44af78(_0x2210da,_0x44e83b);},'jrHMm':'fatal','dCItm':_0x3242f3(0x1c8)},_0x13389a={'event':_0x476892,'errorName':_0x320b5b?.[_0x3242f3(0x235)]||'Error','errorMessage':_0x320b5b?.[_0x3242f3(0x227)]||_0x13348d['FjISY'](String,_0x320b5b),'errorCode':_0x320b5b?.[_0x3242f3(0x223)]||null,'stack':_0x320b5b?.['stack'],'severity':_0x13348d['UZWWD'],'processId':process[_0x3242f3(0x1ed)],'memoryUsage':process['memoryUsage'](),'uptime':process['uptime']()},_0x1279dd='['+_0x476892[_0x3242f3(0x205)]()+']\x20'+(_0x320b5b?.[_0x3242f3(0x227)]||_0x320b5b);logger[_0x3242f3(0x1af)](_0x13389a,_0x1279dd),_0x13348d['kiSnF'](writeToFileLog,{..._0x13389a,'level':_0x13348d['jrHMm'],'msg':_0x1279dd,'time':new Date()['toISOString']()},_0x13348d['dCItm']);},setupGlobalErrorHandlers=()=>{const _0x4d0f56=a0_0x3cd68b,_0x94afc0={'AZlmn':'uncaughtException','vUPWU':function(_0x4fcc2b,_0x16e8ac,_0x5d52ee){return _0x4fcc2b(_0x16e8ac,_0x5d52ee);},'okqkP':function(_0x5cde78,_0x1760ef){return _0x5cde78 instanceof _0x1760ef;},'eGTSJ':function(_0x1e6164,_0x2afa26){return _0x1e6164(_0x2afa26);},'ZDgFI':'unhandledRejection','dTcdS':'warning','otvxr':'global_error_handlers_setup'};process['on']('uncaughtException',_0x437803=>{const _0x3135ac=a0_0x451c;logUncaughtError(_0x94afc0[_0x3135ac(0x241)],_0x437803),_0x94afc0[_0x3135ac(0x25a)](setTimeout,()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x94afc0['ZDgFI'],(_0x397889,_0x2a60cc)=>{const _0x5d19ec=a0_0x451c,_0x2528c6=_0x94afc0['okqkP'](_0x397889,Error)?_0x397889:new Error(_0x94afc0['eGTSJ'](String,_0x397889));logUncaughtError(_0x5d19ec(0x23c),_0x2528c6);}),process['on'](_0x94afc0['dTcdS'],_0x45c477=>{const _0x4e4ec7=a0_0x451c;logger['warn']({'event':_0x4e4ec7(0x20f),'name':_0x45c477[_0x4e4ec7(0x235)],'message':_0x45c477[_0x4e4ec7(0x227)],'stack':_0x45c477['stack']},'Process\x20Warning:\x20'+_0x45c477[_0x4e4ec7(0x227)]);});const _0x59c348={'event':_0x94afc0['otvxr']},_0x350634='Global\x20error\x20handlers\x20initialized';logger[_0x4d0f56(0x232)](_0x59c348,_0x350634),writeToFileLog({..._0x59c348,'level':'info','msg':_0x350634,'time':new Date()['toISOString']()},_0x4d0f56(0x232));},createErrorHandlerMiddleware=()=>{const _0x11bccb={'evlhT':'x-request-id'};return(_0x14b17f,_0x121691,_0x24745c,_0x332587)=>{const _0x1138d8=a0_0x451c;logHttpError(_0x14b17f,_0x121691);const _0x4afd10=_0x14b17f[_0x1138d8(0x1bd)]||_0x14b17f['status']||0x1f4;_0x24745c[_0x1138d8(0x1db)](_0x4afd10)[_0x1138d8(0x23e)]({'success':![],'error':_0x4afd10>=0x1f4?_0x1138d8(0x1a9):_0x14b17f['message'],'requestId':_0x121691['id']||_0x121691[_0x1138d8(0x213)]?.[_0x11bccb['evlhT']]||null});};};module[a0_0x3cd68b(0x1f6)]={'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_0x10cc59=a0_0x3cb0;function a0_0x53e1(){const _0x104d73=['zM9YrwfJAa','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','Aw5MBW','zw50CMLLCW','mtC0m1rXrNzfyW','zxHWB3j0CW','vMfSDwuGiG','lI9SB2DNzxi','BgvUz3rO','y2XLyxi','ywrK','AgfZ','Dg9mB3DLCKnHC2u','C2v0','ntuYnNP1DNnbAa','Bg9VA3vWq2fJAgu','lI9KyI1TExnXBa','CxjpwMG','z2v0rgLZDgLUy3rwywX1zxm','CKrLrxa','BxLZCwW','zKvty0y','otC1mteYmfzzsuDUEq','m2DOAurnrq','A2v5CW','y2XLyxjdywnOzq','iIbUB3qGzM91BMqGAw4G','BwfW','tg9VA3vWignHy2HLignSzwfYzwq','zNjVBq','z2v0','zgvIDwC','DMXMzhO','oty4mdeXCvjcB0rJ','mJC4ntmXmgjWtMPXtq','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','EgH2z00','ovLzrM1KCG','mtmXndCWzNHfthjr','ChvZAa','mti1nZmXodDwyxruwMO','iezst00G','zxHLy3v0zvf1zxj5','mta0DeTlsfHA','DMfSAwrHDgvmB29RDxbwywX1zxm','rejFvfLqrq','whbWB28','CMvZB2X2zuXVB2T1CfzHBhvL','mtjiz29ls2u','mZm4nZq3me5qzNPTrW','Bg9HzeXVB2T1CfrHyMXL'];a0_0x53e1=function(){return _0x104d73;};return a0_0x53e1();}(function(_0x5583a2,_0x2ca415){const _0x143ad7=a0_0x3cb0,_0x392182=_0x5583a2();while(!![]){try{const _0x49402b=parseInt(_0x143ad7(0x160))/0x1+-parseInt(_0x143ad7(0x161))/0x2*(parseInt(_0x143ad7(0x156))/0x3)+-parseInt(_0x143ad7(0x16a))/0x4*(-parseInt(_0x143ad7(0x165))/0x5)+parseInt(_0x143ad7(0x181))/0x6*(parseInt(_0x143ad7(0x177))/0x7)+-parseInt(_0x143ad7(0x189))/0x8+parseInt(_0x143ad7(0x164))/0x9*(parseInt(_0x143ad7(0x170))/0xa)+-parseInt(_0x143ad7(0x167))/0xb*(-parseInt(_0x143ad7(0x16f))/0xc);if(_0x49402b===_0x2ca415)break;else _0x392182['push'](_0x392182['shift']());}catch(_0x3e6265){_0x392182['push'](_0x392182['shift']());}}}(a0_0x53e1,0xb7663));const dbType=(process['env'][a0_0x10cc59(0x16c)]||'postgresql')[a0_0x10cc59(0x17f)]();let executeQuery;function a0_0x3cb0(_0x36843a,_0x3d2782){_0x36843a=_0x36843a-0x156;const _0x53e125=a0_0x53e1();let _0x3cb0af=_0x53e125[_0x36843a];if(a0_0x3cb0['XyuucJ']===undefined){var _0x6ed56f=function(_0x13d770){const _0x4bdaad='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x23c364='',_0x3172d6='';for(let _0x47b8bd=0x0,_0x53f2b7,_0x2fa6bd,_0x52602e=0x0;_0x2fa6bd=_0x13d770['charAt'](_0x52602e++);~_0x2fa6bd&&(_0x53f2b7=_0x47b8bd%0x4?_0x53f2b7*0x40+_0x2fa6bd:_0x2fa6bd,_0x47b8bd++%0x4)?_0x23c364+=String['fromCharCode'](0xff&_0x53f2b7>>(-0x2*_0x47b8bd&0x6)):0x0){_0x2fa6bd=_0x4bdaad['indexOf'](_0x2fa6bd);}for(let _0xae9c4b=0x0,_0x13eeb6=_0x23c364['length'];_0xae9c4b<_0x13eeb6;_0xae9c4b++){_0x3172d6+='%'+('00'+_0x23c364['charCodeAt'](_0xae9c4b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3172d6);};a0_0x3cb0['riPJmg']=_0x6ed56f,a0_0x3cb0['VisbtQ']={},a0_0x3cb0['XyuucJ']=!![];}const _0x5890bf=_0x53e125[0x0],_0x3c0785=_0x36843a+_0x5890bf,_0x488a92=a0_0x3cb0['VisbtQ'][_0x3c0785];return!_0x488a92?(_0x3cb0af=a0_0x3cb0['riPJmg'](_0x3cb0af),a0_0x3cb0['VisbtQ'][_0x3c0785]=_0x3cb0af):_0x3cb0af=_0x488a92,_0x3cb0af;}if(dbType==='oracle'){const oracleDb=require('./db-oracle');executeQuery=(_0x4596aa,_0x2cafa8)=>oracleDb[a0_0x10cc59(0x169)](_0x4596aa,_0x2cafa8);}else{if(dbType===a0_0x10cc59(0x187)){const mysqlDb=require(a0_0x10cc59(0x183));executeQuery=(_0x1ef7d2,_0x5e181d)=>mysqlDb[a0_0x10cc59(0x169)](_0x1ef7d2,_0x5e181d);}else executeQuery=require('./db')[a0_0x10cc59(0x169)];}const {logger}=require(a0_0x10cc59(0x17a));class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x10cc59(0x158)](){const _0x1dffab=a0_0x10cc59,_0x3d09a6={'fEScF':_0x1dffab(0x174)};this[_0x1dffab(0x182)][_0x1dffab(0x17c)](),logger[_0x1dffab(0x15e)]({'event':_0x3d09a6[_0x1dffab(0x188)]},_0x1dffab(0x15b));}async[a0_0x10cc59(0x171)](_0x13882a,_0x5192f6,_0x44d928){const _0x3461d2=a0_0x10cc59,_0x21152d={'lkwkl':function(_0x1a5c7c,_0x58e4cc){return _0x1a5c7c!==_0x58e4cc;},'PdrmR':function(_0x2ada48,_0x1a9d92){return _0x2ada48!==_0x1a9d92;},'vlfdz':function(_0x40d2ee,_0x3ce9b2){return _0x40d2ee(_0x3ce9b2);},'sVTYz':'lookup_table_load_error'},_0x8f5278=_0x13882a+':'+_0x5192f6+':'+_0x44d928;if(this[_0x3461d2(0x182)][_0x3461d2(0x17e)](_0x8f5278))return this['lookupCache']['get'](_0x8f5278);try{const _0x5b5bd3='SELECT\x20'+_0x44d928+',\x20'+_0x5192f6+_0x3461d2(0x168)+_0x13882a,_0x197f82=await executeQuery(_0x5b5bd3),_0x3d308d=new Map();return _0x197f82['forEach'](_0x9d5111=>{const _0x31812d=_0x3461d2,_0x34c5d2=_0x21152d['lkwkl'](_0x9d5111[_0x5192f6],undefined)?_0x9d5111[_0x5192f6]:_0x9d5111[_0x5192f6['toUpperCase']()],_0x11a253=_0x21152d['PdrmR'](_0x9d5111[_0x44d928],undefined)?_0x9d5111[_0x44d928]:_0x9d5111[_0x44d928['toUpperCase']()];_0x34c5d2!==null&&_0x34c5d2!==undefined&&(_0x3d308d['set'](_0x21152d[_0x31812d(0x15f)](String,_0x34c5d2)['toLowerCase']()['trim'](),_0x11a253),_0x3d308d['set'](String(_0x34c5d2)['trim'](),_0x11a253));}),this['lookupCache']['set'](_0x8f5278,_0x3d308d),logger[_0x3461d2(0x175)]({'event':'lookup_table_loaded','table':_0x13882a,'column':_0x5192f6,'count':_0x197f82[_0x3461d2(0x17b)]},'Lookup\x20table\x20loaded:\x20'+_0x13882a),_0x3d308d;}catch(_0x103be8){logger['error']({'event':_0x21152d['sVTYz'],'table':_0x13882a,'error':_0x103be8['message']},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x13882a);throw _0x103be8;}}[a0_0x10cc59(0x16e)](_0x157cf0,_0x3049d4){const _0x1bbb5d=a0_0x10cc59,_0x2046a6={'fuXff':function(_0x4edebe,_0x26bbac){return _0x4edebe===_0x26bbac;},'xhvgM':function(_0x4c9cf1,_0x199e6e){return _0x4c9cf1===_0x199e6e;},'GdTZK':function(_0x7f1566,_0x76d09f){return _0x7f1566(_0x76d09f);}};if(_0x2046a6['fuXff'](_0x157cf0,null)||_0x157cf0===undefined||_0x2046a6[_0x1bbb5d(0x163)](_0x157cf0,''))return null;const _0x297cb0=_0x2046a6['GdTZK'](String,_0x157cf0)['trim']();if(_0x3049d4[_0x1bbb5d(0x17e)](_0x297cb0))return _0x3049d4[_0x1bbb5d(0x15d)](_0x297cb0);const _0x27d64b=_0x297cb0['toLowerCase']();if(_0x3049d4['has'](_0x27d64b))return _0x3049d4[_0x1bbb5d(0x15d)](_0x27d64b);return null;}async['processLookupFields'](_0xf7839b,_0x4fb135){const _0x23377d=a0_0x10cc59,_0x536c01={'BVXVR':function(_0x21befa,_0x4d8dd9){return _0x21befa===_0x4d8dd9;},'qrOZh':function(_0x4e7f71,_0x433e05){return _0x4e7f71===_0x433e05;},'ekhEE':_0x23377d(0x162),'rDeEp':'Lookup\x20fields\x20processed'};if(!_0x4fb135||_0x536c01[_0x23377d(0x184)](Object[_0x23377d(0x157)](_0x4fb135)['length'],0x0))return{'processedRows':_0xf7839b,'errors':[]};const _0x34a048=[],_0x312ca5=new Map();for(const [_0x39c3f7,_0x305828]of Object[_0x23377d(0x176)](_0x4fb135)){const {lookupTable:_0x30da0c,lookupColumn:_0x487a80,lookupIdColumn:_0x3d9aaa}=_0x305828,_0xbd21bd=_0x30da0c+':'+_0x487a80+':'+_0x3d9aaa;if(!_0x312ca5['has'](_0xbd21bd)){const _0x21c2db=await this[_0x23377d(0x171)](_0x30da0c,_0x487a80,_0x3d9aaa);_0x312ca5[_0x23377d(0x180)](_0xbd21bd,_0x21c2db);}}const _0xaa6b56=_0xf7839b[_0x23377d(0x15a)]((_0x310f0d,_0x397450)=>{const _0x49c109=_0x23377d,_0x4c0ce8={..._0x310f0d};for(const [_0x1e66a6,_0xad1a14]of Object['entries'](_0x4fb135)){const {lookupTable:_0xf48a9b,lookupColumn:_0x310a3c,lookupIdColumn:_0x584118,targetField:_0x5c75c7,required:_0x36fa74}=_0xad1a14,_0xeae9dd=_0xf48a9b+':'+_0x310a3c+':'+_0x584118,_0x2180d0=_0x312ca5[_0x49c109(0x15d)](_0xeae9dd),_0x502504=_0x310f0d[_0x1e66a6];if((_0x536c01['BVXVR'](_0x502504,null)||_0x502504===undefined||_0x502504==='')&&!_0x36fa74){_0x4c0ce8[_0x5c75c7]=null;continue;}const _0x573e28=this['resolveLookupValue'](_0x502504,_0x2180d0);_0x573e28!==null?_0x4c0ce8[_0x5c75c7]=_0x573e28:(_0x36fa74&&_0x34a048[_0x49c109(0x166)]({'rowIndex':_0x397450,'field':_0x1e66a6,'value':_0x502504,'targetField':_0x5c75c7,'lookupTable':_0xf48a9b,'message':_0x49c109(0x179)+_0x502504+_0x49c109(0x159)+_0xf48a9b}),_0x4c0ce8[_0x5c75c7]=null);}return _0x4c0ce8;});return logger[_0x23377d(0x175)]({'event':_0x536c01['ekhEE'],'totalRows':_0xf7839b['length'],'errorCount':_0x34a048[_0x23377d(0x17b)],'lookupFieldCount':Object[_0x23377d(0x157)](_0x4fb135)['length']},_0x536c01[_0x23377d(0x186)]),{'processedRows':_0xaa6b56,'errors':_0x34a048};}['getDistinctValues'](_0x44477d,_0x4b74f3){const _0x57e168=a0_0x10cc59,_0x58d188={'HgHbw':function(_0x2c792e,_0xc34665){return _0x2c792e!==_0xc34665;}},_0x38a724=new Set();return _0x44477d['forEach'](_0x5d78b3=>{const _0x415450=a0_0x3cb0,_0x35f205=_0x5d78b3[_0x4b74f3];_0x58d188['HgHbw'](_0x35f205,null)&&_0x35f205!==undefined&&_0x35f205!==''&&_0x38a724[_0x415450(0x17d)](String(_0x35f205)['trim']());}),Array[_0x57e168(0x15c)](_0x38a724);}async[a0_0x10cc59(0x16b)](_0x1c3262,_0x24250c){const _0x36dcb3=a0_0x10cc59,_0x5f3076={'Xppoo':function(_0x225273,_0x103367){return _0x225273===_0x103367;}};if(!_0x24250c||_0x5f3076[_0x36dcb3(0x16d)](Object['keys'](_0x24250c)[_0x36dcb3(0x17b)],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x4412c2=[],_0x2025ab={};for(const [_0x1a64d2,_0x28e9d7]of Object['entries'](_0x24250c)){const {lookupTable:_0x3afc74,lookupColumn:_0x46bc50,lookupIdColumn:_0x39b23e,required:_0x3bf5dd}=_0x28e9d7,_0x12767a=this[_0x36dcb3(0x185)](_0x1c3262,_0x1a64d2),_0x21246e=await this[_0x36dcb3(0x171)](_0x3afc74,_0x46bc50,_0x39b23e),_0x57606a=[],_0x2ca982=[];_0x12767a[_0x36dcb3(0x172)](_0x557b97=>{const _0xa143d6=_0x36dcb3,_0x4bbfbf=this['resolveLookupValue'](_0x557b97,_0x21246e);_0x4bbfbf!==null?_0x2ca982['push'](_0x557b97):_0x57606a[_0xa143d6(0x166)](_0x557b97);});if(_0x57606a[_0x36dcb3(0x17b)]>0x0&&_0x3bf5dd){_0x4412c2['push']({'field':_0x1a64d2,'lookupTable':_0x3afc74,'invalidValues':_0x57606a,'message':_0x57606a['length']+_0x36dcb3(0x173)+_0x3afc74});const _0x519d0b=[];_0x21246e['forEach']((_0x362cac,_0x211b6)=>{const _0x206641=_0x36dcb3;if(_0x211b6===_0x211b6['toLowerCase']())return;_0x519d0b[_0x206641(0x166)](_0x211b6);}),_0x2025ab[_0x1a64d2]={'invalidValues':_0x57606a,'availableValues':_0x519d0b['slice'](0x0,0x32)};}}return{'valid':_0x4412c2[_0x36dcb3(0x17b)]===0x0,'errors':_0x4412c2,'suggestions':_0x2025ab};}}module[a0_0x10cc59(0x178)]=new LookupResolver();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a0_0x16efba=a0_0xda68;(function(_0x380f2a,_0x389d6f){const _0x162e49=a0_0xda68,_0x2f73aa=_0x380f2a();while(!![]){try{const _0x1ff630=parseInt(_0x162e49(0x16c))/0x1+parseInt(_0x162e49(0x172))/0x2*(parseInt(_0x162e49(0x187))/0x3)+-parseInt(_0x162e49(0x166))/0x4+parseInt(_0x162e49(0x185))/0x5*(parseInt(_0x162e49(0x179))/0x6)+parseInt(_0x162e49(0x17c))/0x7*(parseInt(_0x162e49(0x162))/0x8)+-parseInt(_0x162e49(0x171))/0x9*(parseInt(_0x162e49(0x17f))/0xa)+-parseInt(_0x162e49(0x182))/0xb*(parseInt(_0x162e49(0x189))/0xc);if(_0x1ff630===_0x389d6f)break;else _0x2f73aa['push'](_0x2f73aa['shift']());}catch(_0x582c77){_0x2f73aa['push'](_0x2f73aa['shift']());}}}(a0_0x4160,0x623c5));const fs=require('fs')[a0_0x16efba(0x173)],path=require(a0_0x16efba(0x183)),{logger}=require('./logger');function a0_0xda68(_0x1aa8b6,_0x9432fc){_0x1aa8b6=_0x1aa8b6-0x161;const _0x416052=a0_0x4160();let _0xda683b=_0x416052[_0x1aa8b6];if(a0_0xda68['ojwGYo']===undefined){var _0x5e6593=function(_0x3bb0f7){const _0x20727c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1855e5='',_0x5966ae='';for(let _0x248af1=0x0,_0x49b71,_0x4f17a6,_0x39a789=0x0;_0x4f17a6=_0x3bb0f7['charAt'](_0x39a789++);~_0x4f17a6&&(_0x49b71=_0x248af1%0x4?_0x49b71*0x40+_0x4f17a6:_0x4f17a6,_0x248af1++%0x4)?_0x1855e5+=String['fromCharCode'](0xff&_0x49b71>>(-0x2*_0x248af1&0x6)):0x0){_0x4f17a6=_0x20727c['indexOf'](_0x4f17a6);}for(let _0x432284=0x0,_0x8b7346=_0x1855e5['length'];_0x432284<_0x8b7346;_0x432284++){_0x5966ae+='%'+('00'+_0x1855e5['charCodeAt'](_0x432284)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5966ae);};a0_0xda68['dLFzws']=_0x5e6593,a0_0xda68['QuPIqG']={},a0_0xda68['ojwGYo']=!![];}const _0x53ed0f=_0x416052[0x0],_0x3d2cd5=_0x1aa8b6+_0x53ed0f,_0x136ee0=a0_0xda68['QuPIqG'][_0x3d2cd5];return!_0x136ee0?(_0xda683b=a0_0xda68['dLFzws'](_0xda683b),a0_0xda68['QuPIqG'][_0x3d2cd5]=_0xda683b):_0xda683b=_0x136ee0,_0xda683b;}class PayloadLoader{constructor(){const _0xe88d7=a0_0x16efba,_0x5d0e2b={'LAibN':'../../payload'};this[_0xe88d7(0x188)]=path[_0xe88d7(0x168)](__dirname,_0x5d0e2b[_0xe88d7(0x16a)]),this[_0xe88d7(0x174)]=new Map();}async['loadPayload'](_0x112db0,_0x487f35){const _0x1b7ccf=a0_0x16efba,_0x3aa9e2={'mzdXI':'utf8','jfyEA':_0x1b7ccf(0x16d),'qiFRB':'Payload\x20loaded\x20successfully','VgsPV':'payload_load_error'},_0x27c5b2=_0x112db0+':'+_0x487f35;if(this[_0x1b7ccf(0x174)]['has'](_0x27c5b2))return this['cache'][_0x1b7ccf(0x17e)](_0x27c5b2);const _0x52883e=path['join'](this[_0x1b7ccf(0x188)],_0x112db0+'_'+_0x487f35+_0x1b7ccf(0x181));try{const _0x19ba0c=await fs[_0x1b7ccf(0x161)](_0x52883e,_0x3aa9e2[_0x1b7ccf(0x165)]),_0x46f4b4=JSON['parse'](_0x19ba0c);return this['cache'][_0x1b7ccf(0x177)](_0x27c5b2,_0x46f4b4),logger['debug']({'event':_0x3aa9e2[_0x1b7ccf(0x167)],'project':_0x112db0,'resource':_0x487f35},_0x3aa9e2[_0x1b7ccf(0x16b)]),_0x46f4b4;}catch(_0x19940e){logger['error']({'event':_0x3aa9e2['VgsPV'],'project':_0x112db0,'resource':_0x487f35,'error':_0x19940e[_0x1b7ccf(0x176)]},'Failed\x20to\x20load\x20payload');throw new Error(_0x1b7ccf(0x16f)+_0x112db0+'_'+_0x487f35);}}async[a0_0x16efba(0x186)](_0x9f2a5a){const _0x34a0b6=a0_0x16efba,_0x3dbb47={'HGgnM':_0x34a0b6(0x16d)},_0xd6c2e3=_0x34a0b6(0x17b)+_0x9f2a5a;if(this['cache']['has'](_0xd6c2e3))return this['cache'][_0x34a0b6(0x17e)](_0xd6c2e3);const _0x161e33=path[_0x34a0b6(0x168)](this['payloadDir'],_0x9f2a5a+_0x34a0b6(0x181));try{const _0x2f5196=await fs['readFile'](_0x161e33,'utf8'),_0x581365=JSON['parse'](_0x2f5196);return this['cache']['set'](_0xd6c2e3,_0x581365),logger['debug']({'event':_0x3dbb47[_0x34a0b6(0x164)],'payloadName':_0x9f2a5a},'Payload\x20loaded\x20successfully\x20by\x20name'),_0x581365;}catch(_0x6929bb){logger[_0x34a0b6(0x163)]({'event':_0x34a0b6(0x175),'payloadName':_0x9f2a5a,'error':_0x6929bb['message']},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error('Payload\x20not\x20found:\x20'+_0x9f2a5a);}}['isActionEnabled'](_0x199a53,_0x1e7dca){return _0x199a53['action']&&_0x199a53['action'][_0x1e7dca]===!![];}[a0_0x16efba(0x17a)](_0x4325ad){const _0x1f0125=a0_0x16efba;return{'columns':_0x4325ad[_0x1f0125(0x170)]||[],'filename':_0x4325ad['tableName'][_0x1f0125(0x184)]('.','-')+_0x1f0125(0x16e),'datatablesQuery':_0x4325ad[_0x1f0125(0x17d)]||null,'columnFormats':_0x4325ad['columnFormats']||null,'fieldLabels':_0x4325ad[_0x1f0125(0x180)]||null};}[a0_0x16efba(0x178)](){const _0xc3491c=a0_0x16efba,_0x4e0328={'RmJzx':'Payload\x20cache\x20cleared'};this[_0xc3491c(0x174)][_0xc3491c(0x169)](),logger['info']({'event':'payload_cache_cleared'},_0x4e0328['RmJzx']);}}module['exports']=new PayloadLoader();function a0_0x4160(){const _0x360778=['mtCXsvzszvPz','mtuXodeWnLrHwhP5zW','ChjVBwLZzxm','y2fJAgu','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','BwvZC2fNzq','C2v0','y2XLyxjdywnOzq','otC1oda0s0vqq1De','z2v0rxHWB3j0q29UzMLN','Cgf5Bg9HzdO','mJfmzNDcEhq','zgf0yxrHyMXLC1f1zxj5','z2v0','mJKWnJuWBwHNy0Tk','zMLLBgrmywjLBhm','lMPZB24','mJjnBhr0AuC','Cgf0Aa','CMvWBgfJzq','nxHkwu5oAq','Bg9HzfbHEwXVywrcEu5HBwu','m0LeDNryBG','Cgf5Bg9HzerPCG','mty4ndi0ogzKzxDztq','CMvHzezPBgu','mtK4mdm3nLDSEhz1yq','zxjYB3i','seDNBK0','BxPKweK','mtK5mti0ogHkufvyyq','AMz5rue','AM9PBG','y2XLyxi','tefPyK4','CwLguKi','nJG4mdbwsKTswfi','Cgf5Bg9Hzf9SB2fKzwq','lwv4Cg9YDa','ugf5Bg9HzcbUB3qGzM91BMq6ia','zMLLBgroyw1L'];a0_0x4160=function(){return _0x360778;};return a0_0x4160();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';function a0_0x57ee(){var _0x466060=['mtjMwe9Jt0y','ote2mJy0n21SA3vKzq','mZm2nJi4y3LcreT5','mZaYodq5mvLfEMjRwq','ndu4we5xv2zK','zxHWB3j0CW','ntG3uuzoBfPo','nw1UrgTAza','mZzzzK1AEfK','nJK3ndG4oevhzMr5sa','mtbVuhbezNG','nZCWmZu5n1zlDMjiza','n0f3AKTcEG','mZe0mdC5mefvC0jOAq'];a0_0x57ee=function(){return _0x466060;};return a0_0x57ee();}var a0_0x54701b=a0_0xaaff;(function(_0x177524,_0x4d1176){var _0x41d934=a0_0xaaff,_0x1f4e01=_0x177524();while(!![]){try{var _0x47359d=-parseInt(_0x41d934(0x162))/0x1*(parseInt(_0x41d934(0x16e))/0x2)+parseInt(_0x41d934(0x164))/0x3*(parseInt(_0x41d934(0x16c))/0x4)+parseInt(_0x41d934(0x163))/0x5*(parseInt(_0x41d934(0x169))/0x6)+parseInt(_0x41d934(0x168))/0x7*(parseInt(_0x41d934(0x165))/0x8)+parseInt(_0x41d934(0x16d))/0x9*(-parseInt(_0x41d934(0x166))/0xa)+-parseInt(_0x41d934(0x167))/0xb+parseInt(_0x41d934(0x16a))/0xc*(-parseInt(_0x41d934(0x16b))/0xd);if(_0x47359d===_0x4d1176)break;else _0x1f4e01['push'](_0x1f4e01['shift']());}catch(_0x18c5d6){_0x1f4e01['push'](_0x1f4e01['shift']());}}}(a0_0x57ee,0x812f6));function createResponse(_0x1f719d,_0x27f8ce,_0x311579=null){return{'success':!![],'statusCode':_0x1f719d,'message':_0x27f8ce,'data':_0x311579,'timestamp':new Date()['toISOString']()};}function a0_0xaaff(_0x5bb7e7,_0x23951e){_0x5bb7e7=_0x5bb7e7-0x162;var _0x57eeb5=a0_0x57ee();var _0xaaff42=_0x57eeb5[_0x5bb7e7];if(a0_0xaaff['bdanwS']===undefined){var _0x5bac83=function(_0x379c6e){var _0x3d7cfb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x2a225a='',_0x1e3e94='';for(var _0x4e23f0=0x0,_0x1c2cfb,_0x1fa707,_0x33afce=0x0;_0x1fa707=_0x379c6e['charAt'](_0x33afce++);~_0x1fa707&&(_0x1c2cfb=_0x4e23f0%0x4?_0x1c2cfb*0x40+_0x1fa707:_0x1fa707,_0x4e23f0++%0x4)?_0x2a225a+=String['fromCharCode'](0xff&_0x1c2cfb>>(-0x2*_0x4e23f0&0x6)):0x0){_0x1fa707=_0x3d7cfb['indexOf'](_0x1fa707);}for(var _0x4229ba=0x0,_0x211217=_0x2a225a['length'];_0x4229ba<_0x211217;_0x4229ba++){_0x1e3e94+='%'+('00'+_0x2a225a['charCodeAt'](_0x4229ba)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1e3e94);};a0_0xaaff['oTSNOe']=_0x5bac83,a0_0xaaff['hKTREI']={},a0_0xaaff['bdanwS']=!![];}var _0x2356f6=_0x57eeb5[0x0],_0xcd942f=_0x5bb7e7+_0x2356f6,_0x217402=a0_0xaaff['hKTREI'][_0xcd942f];return!_0x217402?(_0xaaff42=a0_0xaaff['oTSNOe'](_0xaaff42),a0_0xaaff['hKTREI'][_0xcd942f]=_0xaaff42):_0xaaff42=_0x217402,_0xaaff42;}function createError(_0x2703b7,_0x4f804b,_0x7188bd=null){return{'success':![],'statusCode':_0x2703b7,'message':_0x4f804b,'data':_0x7188bd,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x109685,_0x2ef325){return{'success':![],'statusCode':0x190,'message':_0x109685,'data':{'errors':_0x2ef325},'timestamp':new Date()['toISOString']()};}module[a0_0x54701b(0x16f)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
|
package/src/utils/rabbitmq.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x42a9b1=a0_0x185a;(function(_0x43ce7c,_0x48db66){const _0x2b21c7=a0_0x185a,_0x3eb802=_0x43ce7c();while(!![]){try{const _0x8b03b5=parseInt(_0x2b21c7(0xcc))/0x1+-parseInt(_0x2b21c7(0xa4))/0x2*(parseInt(_0x2b21c7(0xc2))/0x3)+parseInt(_0x2b21c7(0xb8))/0x4+parseInt(_0x2b21c7(0xa6))/0x5*(-parseInt(_0x2b21c7(0xac))/0x6)+-parseInt(_0x2b21c7(0xae))/0x7*(parseInt(_0x2b21c7(0xa8))/0x8)+parseInt(_0x2b21c7(0xa0))/0x9*(parseInt(_0x2b21c7(0xa1))/0xa)+-parseInt(_0x2b21c7(0xaa))/0xb;if(_0x8b03b5===_0x48db66)break;else _0x3eb802['push'](_0x3eb802['shift']());}catch(_0x340bb2){_0x3eb802['push'](_0x3eb802['shift']());}}}(a0_0x4454,0xef88e),require(a0_0x42a9b1(0xcb))[a0_0x42a9b1(0xc1)]());const amqp=require(a0_0x42a9b1(0xb6)),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process['env']['RABBITMQ_URL'],EXCHANGE=process[a0_0x42a9b1(0xc3)][a0_0x42a9b1(0xab)],ROUTING_KEY=process[a0_0x42a9b1(0xc3)][a0_0x42a9b1(0xba)],QUEUE=process[a0_0x42a9b1(0xc3)]['RABBITMQ_QUEUE'];function a0_0x185a(_0x43f6f0,_0x5b8caa){_0x43f6f0=_0x43f6f0-0xa0;const _0x445499=a0_0x4454();let _0x185a0c=_0x445499[_0x43f6f0];if(a0_0x185a['aLiJqS']===undefined){var _0x178b92=function(_0xa571e4){const _0x3e15a4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4ae2b3='',_0x521963='';for(let _0x5e161c=0x0,_0x3d1abf,_0x22ffcc,_0x166c4b=0x0;_0x22ffcc=_0xa571e4['charAt'](_0x166c4b++);~_0x22ffcc&&(_0x3d1abf=_0x5e161c%0x4?_0x3d1abf*0x40+_0x22ffcc:_0x22ffcc,_0x5e161c++%0x4)?_0x4ae2b3+=String['fromCharCode'](0xff&_0x3d1abf>>(-0x2*_0x5e161c&0x6)):0x0){_0x22ffcc=_0x3e15a4['indexOf'](_0x22ffcc);}for(let _0x48524a=0x0,_0xe69d8b=_0x4ae2b3['length'];_0x48524a<_0xe69d8b;_0x48524a++){_0x521963+='%'+('00'+_0x4ae2b3['charCodeAt'](_0x48524a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x521963);};a0_0x185a['MtZAab']=_0x178b92,a0_0x185a['tiKsPS']={},a0_0x185a['aLiJqS']=!![];}const _0xda21f1=_0x445499[0x0],_0x271a0b=_0x43f6f0+_0xda21f1,_0x1b108e=a0_0x185a['tiKsPS'][_0x271a0b];return!_0x1b108e?(_0x185a0c=a0_0x185a['MtZAab'](_0x185a0c),a0_0x185a['tiKsPS'][_0x271a0b]=_0x185a0c):_0x185a0c=_0x1b108e,_0x185a0c;}function a0_0x4454(){const _0x4a6945=['mZGZneDMtuLrAa','uxvLDwuG','mtaXnduXsvL0z09A','q1Luwhi','tg11zNe','ihDPDgGGreXy','CMv0CNKTzxHJAgfUz2u','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','qunAv0K','Ee1Iq3q','yw1XCgXPyG','ignYzwf0zwqVCMvHzhK','nJK3mdeYohjtwNzizW','zxHWB3j0CW','uKfcqKLutvfFuK9vveLor19lrvK','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','zxHPDa','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r','xsbcAw5KAw5Nia','xsbszxrYEsbIAw5KAw5NigzVCIa','xsbfuLjpuJOGuxvLDwuG','y29UzMLN','mZy5ouznA3jQCW','zw52','BwvZC2fNzq','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','ksbJCMvHDgvK','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','xsbszxrYEsbXDwv1zsa','AunYB28','xsbfEgnOyw5Nzsa','zg90zw52','mta4mZC5nvrrrMLOsq','ntrVB1fzyK8','mZa4mZG5meXjzM5lAW','Bg9N','Aw5JBhvKzxm','nZy0BgHMAe5x','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','mZi0nuX4v1brqW','yxnZzxj0uxvLDwu','ntG0Dg5PtK5s','zxjYB3i','mtKYnZaWmZfNAeneve8','uKfcqKLutvfFrvHdsefor0u'];a0_0x4454=function(){return _0x4a6945;};return a0_0x4454();}async function createConnection(){const _0x4c53b9=a0_0x42a9b1,_0x57c208={'jLABs':function(_0x46fc21,_0x4a7ee8){return _0x46fc21(_0x4a7ee8);}};try{const _0x596c8d=await amqp['connect'](RABBITMQ_URL);return console[_0x4c53b9(0xa2)]('['+formatDate(new Date())+_0x4c53b9(0xbd)),_0x596c8d;}catch(_0x28f9dc){console[_0x4c53b9(0xa9)]('['+_0x57c208['jLABs'](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x28f9dc[_0x4c53b9(0xc4)]);throw _0x28f9dc;}}async function createChannel(_0x67d485){const _0xdf75f9=a0_0x42a9b1,_0x1a0fb0={'ndrRc':function(_0x65e2ed,_0x23e04f){return _0x65e2ed(_0x23e04f);}};try{const _0x58d728=await _0x67d485['createChannel']();return console['log']('['+_0x1a0fb0['ndrRc'](formatDate,new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x58d728;}catch(_0x47205c){console['error']('['+formatDate(new Date())+_0xdf75f9(0xbb)+_0x47205c['message']);throw _0x47205c;}}async function setupInfrastructure(_0x113074){const _0x5ce1b1=a0_0x42a9b1,_0x208d80={'ACZWI':function(_0x569feb,_0x135b75){return _0x569feb(_0x135b75);},'xMbCt':function(_0x1f5f38,_0x2ef8e3){return _0x1f5f38(_0x2ef8e3);},'iCroo':_0x5ce1b1(0xb2),'Lmufq':function(_0x142cf7,_0x1bc889){return _0x142cf7===_0x1bc889;},'CYTXr':'inequivalent\x20arg','Dtmsa':'x-dead-letter-routing-key'};try{await _0x113074['assertExchange'](_0x5ce1b1(0xb2),'direct',{'durable':!![],'autoDelete':![]}),console['log']('['+_0x208d80[_0x5ce1b1(0xb4)](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x54e09c){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x54e09c['message']);throw _0x54e09c;}try{await _0x113074['assertExchange'](EXCHANGE,'direct',{'durable':!![],'autoDelete':![]}),console[_0x5ce1b1(0xa2)]('['+formatDate(new Date())+_0x5ce1b1(0xca)+EXCHANGE+'\x20created/ready');}catch(_0x5efc24){console['error']('['+_0x208d80[_0x5ce1b1(0xb4)](formatDate,new Date())+_0x5ce1b1(0xc7)+EXCHANGE+':',_0x5efc24['message']);throw _0x5efc24;}const _0x2eda16=ROUTING_KEY+'_retry';try{const _0x517695={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x113074['assertQueue'](_0x2eda16,_0x517695),console['log']('['+formatDate(new Date())+_0x5ce1b1(0xc8)+_0x2eda16+_0x5ce1b1(0xb7)),await _0x113074['bindQueue'](_0x2eda16,_0x5ce1b1(0xb2),ROUTING_KEY),console['log']('['+formatDate(new Date())+_0x5ce1b1(0xbf)+ROUTING_KEY+'\x20created');}catch(_0x1fef54){console[_0x5ce1b1(0xa9)]('['+_0x208d80[_0x5ce1b1(0xb5)](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x1fef54['message']);throw _0x1fef54;}try{const _0x2b4255={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x208d80[_0x5ce1b1(0xc9)],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x488977=await _0x113074[_0x5ce1b1(0xa7)](QUEUE,_0x2b4255);console[_0x5ce1b1(0xa2)]('['+_0x208d80[_0x5ce1b1(0xb5)](formatDate,new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x208d80[_0x5ce1b1(0xb0)](_0x488977['queue'],QUEUE)?'created/ready':'found')+_0x5ce1b1(0xb1)),await _0x113074['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+formatDate(new Date())+_0x5ce1b1(0xbe)+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+_0x5ce1b1(0xc6));}catch(_0x8debbf){if(_0x8debbf[_0x5ce1b1(0xc4)][_0x5ce1b1(0xa3)](_0x208d80['CYTXr'])&&_0x8debbf['message'][_0x5ce1b1(0xa3)](_0x208d80['Dtmsa']))console['error']('\x0a['+_0x208d80[_0x5ce1b1(0xb4)](formatDate,new Date())+_0x5ce1b1(0xc0)+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x5ce1b1(0xa9)](_0x5ce1b1(0xad)+QUEUE+_0x5ce1b1(0xb3)),console[_0x5ce1b1(0xa9)]('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process['exit'](0x1);else{console['error']('['+formatDate(new Date())+_0x5ce1b1(0xa5)+QUEUE+':',_0x8debbf['message']);throw _0x8debbf;}}}catch(_0x284654){if(!_0x284654['message'][_0x5ce1b1(0xa3)](_0x208d80[_0x5ce1b1(0xaf)])){console[_0x5ce1b1(0xa9)]('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x284654['message']);throw _0x284654;}process[_0x5ce1b1(0xbc)](0x1);}}async function closeConnection(_0x5955df){const _0xe322a2=a0_0x42a9b1;if(_0x5955df)try{await _0x5955df['close'](),console[_0xe322a2(0xa2)]('['+formatDate(new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x17806f){console['error']('['+formatDate(new Date())+_0xe322a2(0xc5)+_0x17806f['message']);}}module[a0_0x42a9b1(0xb9)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x26593c=a0_0x57a8;function a0_0x57a8(_0x368d8f,_0x428d23){_0x368d8f=_0x368d8f-0xba;const _0x4f1823=a0_0x4f18();let _0x57a8cb=_0x4f1823[_0x368d8f];if(a0_0x57a8['zixoGg']===undefined){var _0x2d7167=function(_0x3203b1){const _0x41d6c2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x18916c='',_0x575757='';for(let _0x336d60=0x0,_0x4ef11e,_0x2d14c3,_0xd7c375=0x0;_0x2d14c3=_0x3203b1['charAt'](_0xd7c375++);~_0x2d14c3&&(_0x4ef11e=_0x336d60%0x4?_0x4ef11e*0x40+_0x2d14c3:_0x2d14c3,_0x336d60++%0x4)?_0x18916c+=String['fromCharCode'](0xff&_0x4ef11e>>(-0x2*_0x336d60&0x6)):0x0){_0x2d14c3=_0x41d6c2['indexOf'](_0x2d14c3);}for(let _0x1070ef=0x0,_0x1e0cac=_0x18916c['length'];_0x1070ef<_0x1e0cac;_0x1070ef++){_0x575757+='%'+('00'+_0x18916c['charCodeAt'](_0x1070ef)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x575757);};a0_0x57a8['atSaJJ']=_0x2d7167,a0_0x57a8['uDqJVd']={},a0_0x57a8['zixoGg']=!![];}const _0x2d87b8=_0x4f1823[0x0],_0x3f7f06=_0x368d8f+_0x2d87b8,_0x559c9e=a0_0x57a8['uDqJVd'][_0x3f7f06];return!_0x559c9e?(_0x57a8cb=a0_0x57a8['atSaJJ'](_0x57a8cb),a0_0x57a8['uDqJVd'][_0x3f7f06]=_0x57a8cb):_0x57a8cb=_0x559c9e,_0x57a8cb;}(function(_0x1b4bc9,_0x4d1275){const _0x5f177c=a0_0x57a8,_0x414fe2=_0x1b4bc9();while(!![]){try{const _0x299230=-parseInt(_0x5f177c(0xcc))/0x1*(parseInt(_0x5f177c(0xd4))/0x2)+-parseInt(_0x5f177c(0xbc))/0x3+-parseInt(_0x5f177c(0xd8))/0x4*(parseInt(_0x5f177c(0xc6))/0x5)+-parseInt(_0x5f177c(0xc4))/0x6+parseInt(_0x5f177c(0xd9))/0x7*(-parseInt(_0x5f177c(0xd2))/0x8)+-parseInt(_0x5f177c(0xd0))/0x9+parseInt(_0x5f177c(0xd1))/0xa*(parseInt(_0x5f177c(0xca))/0xb);if(_0x299230===_0x4d1275)break;else _0x414fe2['push'](_0x414fe2['shift']());}catch(_0x5bee7d){_0x414fe2['push'](_0x414fe2['shift']());}}}(a0_0x4f18,0x7f572));const Redis=require('ioredis'),{logger}=require('./logger');function a0_0x4f18(){const _0x8a6364=['CgLUzW','AxndB25Uzwn0zwq','uKvesvnFueftu1DpuKq','mtG1nZa0yLnLwNPf','n1P3t1bfBW','CMfJzq','zw52','mte0nde3nKfcugL3ua','zxHWB3j0CW','CMvKAxnFzxjYB3i','y2XPzw50','zxjYB3i','Bg9JywXOB3n0','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','qNruz3e','mJqWmZy4nhjbuK5grq','uMvKAxmGueLorYb0Aw1LB3v0','mtvIrMTzy0S','B2Hhww0','Aw5MBW','zgLZy29UBMvJDa','mZa5mwz2vuXAAa','y29UBMvJDa','nvzlsgHmBq','y2XVC2u','EKzZuw4','CMvKAxnFzgLZy29UBMvJDgvK','mtu1mZy5n1nyvK9ItG','mta5mteWBLjWzvrp','ndCXntK0nfvfDgLfuq','uKvesvnFrei','mZq0mZK4A05by2vz'];a0_0x4f18=function(){return _0x8a6364;};return a0_0x4f18();}class RedisClient{constructor(){const _0x3c4d6b=a0_0x57a8;this[_0x3c4d6b(0xbf)]=null,this[_0x3c4d6b(0xd6)]=![];}['connect'](){const _0x5b596f=a0_0x57a8,_0x1f1b89={'AhuXi':function(_0x3601bb,_0x3ae5b6){return _0x3601bb*_0x3ae5b6;},'BtTgq':'redis_connected','UyAYZ':_0x5b596f(0xbe),'RecXP':_0x5b596f(0xc2),'OrCZO':function(_0x57dd74,_0x24ae5e,_0x28f7f3){return _0x57dd74(_0x24ae5e,_0x28f7f3);},'zFsQn':_0x5b596f(0xcb),'GFhtO':_0x5b596f(0xc0),'ZHQYM':_0x5b596f(0xcd),'ohGYm':'redis_init_error','PFXIQ':'Failed\x20to\x20initialize\x20Redis'};if(this['client'])return this['client'];try{return this[_0x5b596f(0xbf)]=new Redis({'host':process[_0x5b596f(0xbb)]['REDIS_HOST']||_0x5b596f(0xc1),'port':_0x1f1b89['OrCZO'](parseInt,process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x5b596f(0xbb)][_0x5b596f(0xd7)]||undefined,'db':parseInt(process[_0x5b596f(0xbb)][_0x5b596f(0xd3)],0xa)||0x0,'retryStrategy'(_0x4be07e){const _0x1915c1=Math['min'](_0x1f1b89['AhuXi'](_0x4be07e,0x32),0x7d0);return _0x1915c1;}}),this['client']['on'](_0x1f1b89[_0x5b596f(0xce)],()=>{const _0x348c53=_0x5b596f;this['isConnected']=!![],logger[_0x348c53(0xc8)]({'event':_0x1f1b89[_0x348c53(0xc3)]},'Redis\x20connected\x20successfully');}),this[_0x5b596f(0xbf)]['on'](_0x1f1b89['GFhtO'],_0x5f33ac=>{const _0x256974=_0x5b596f;this['isConnected']=![],logger[_0x256974(0xc0)]({'event':_0x1f1b89['UyAYZ'],'error':_0x5f33ac['message']},'Redis\x20connection\x20error:\x20'+_0x5f33ac['message']);}),this[_0x5b596f(0xbf)]['on'](_0x1f1b89['ZHQYM'],()=>{const _0x57e3d2=_0x5b596f;this[_0x57e3d2(0xd6)]=![],logger['warn']({'event':_0x57e3d2(0xcf)},_0x1f1b89['RecXP']);}),this['client'];}catch(_0x5c7c20){logger['error']({'event':_0x1f1b89[_0x5b596f(0xc7)],'error':_0x5c7c20['message']},_0x1f1b89['PFXIQ']);throw _0x5c7c20;}}['getClient'](){const _0x46718b=a0_0x57a8;return!this['client']&&this[_0x46718b(0xcb)](),this['client'];}async[a0_0x26593c(0xd5)](_0x5ec669=0x1388){const _0x9026f3=a0_0x26593c,_0x312cfa={'tHAYJ':function(_0x287028,_0x5d3ba3){return _0x287028===_0x5d3ba3;},'KoJaI':'PONG'};try{const _0x10deb3=this['getClient'](),_0x738b16=await Promise[_0x9026f3(0xba)]([_0x10deb3[_0x9026f3(0xd5)](),new Promise((_0x1ea48a,_0xc9b741)=>setTimeout(()=>_0xc9b741(new Error(_0x9026f3(0xc5))),_0x5ec669))]);return _0x312cfa['tHAYJ'](_0x738b16,_0x312cfa['KoJaI']);}catch(_0x31b1e0){return![];}}async['disconnect'](){const _0x2d4b27=a0_0x26593c;this['client']&&(await this[_0x2d4b27(0xbf)]['quit'](),this['client']=null,this[_0x2d4b27(0xd6)]=![]);}['forceDisconnect'](){const _0x1dc956=a0_0x26593c;this[_0x1dc956(0xbf)]&&(this['client'][_0x1dc956(0xc9)](),this['client']=null,this['isConnected']=![]);}}module[a0_0x26593c(0xbd)]=new RedisClient();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x5cd073=a0_0xd07f;(function(_0x2ecfac,_0x39144f){const _0x35c049=a0_0xd07f,_0x27dc57=_0x2ecfac();while(!![]){try{const _0x56cc3c=parseInt(_0x35c049(0x12d))/0x1+parseInt(_0x35c049(0x126))/0x2+parseInt(_0x35c049(0x13b))/0x3+-parseInt(_0x35c049(0x130))/0x4*(parseInt(_0x35c049(0x121))/0x5)+parseInt(_0x35c049(0x12e))/0x6+parseInt(_0x35c049(0x13a))/0x7*(parseInt(_0x35c049(0x135))/0x8)+-parseInt(_0x35c049(0x131))/0x9*(parseInt(_0x35c049(0x136))/0xa);if(_0x56cc3c===_0x39144f)break;else _0x27dc57['push'](_0x27dc57['shift']());}catch(_0x203ade){_0x27dc57['push'](_0x27dc57['shift']());}}}(a0_0xc773,0xe67f1));function a0_0xc773(){const _0x1dc7d5=['CMvKAxnFz2v0x2vYCM9Y','C2v0zxG','mtbguhHTwvK','z2v0q2XPzw50','rMfPBgvKihrVigDLDcbQB2iGzNjVBsbszwrPCW','lI9SB2DNzxi','yu5mtuO','mJaWnZe2nLHisLrhzW','oMv4Cg9YDdO','CgfYC2u','z2v0sM9I','CMvZDgzVCMDLoG','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW','BwvZC2fNzq','mtKZmtGWqw5jExfr','nJC2nJGWnLfRDNDMwa','zw52','mtm2odK1nLneCefdBq','nda3ndneug5zseG','ChvZAa','x3bYzwzPEa','CMvKAxnFzgvSzxrLx2vYCM9Y','mtq1odC0mJrnAwLYse8','odq5mhDlwvDHuG','DhrS','z2v0','zxjYB3i','n2rwvwvsEG','mZK3mJa2nKX5CNrjzW','Ew1Twgi','ChjLzML4'];a0_0xc773=function(){return _0x1dc7d5;};return a0_0xc773();}function a0_0xd07f(_0x2f0231,_0x223c01){_0x2f0231=_0x2f0231-0x120;const _0xc77317=a0_0xc773();let _0xd07f1=_0xc77317[_0x2f0231];if(a0_0xd07f['hzpZvF']===undefined){var _0x55e1b1=function(_0x593516){const _0x598c67='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x39ee60='',_0x44e779='';for(let _0x2c50d3=0x0,_0x2fd937,_0x299b2c,_0x483277=0x0;_0x299b2c=_0x593516['charAt'](_0x483277++);~_0x299b2c&&(_0x2fd937=_0x2c50d3%0x4?_0x2fd937*0x40+_0x299b2c:_0x299b2c,_0x2c50d3++%0x4)?_0x39ee60+=String['fromCharCode'](0xff&_0x2fd937>>(-0x2*_0x2c50d3&0x6)):0x0){_0x299b2c=_0x598c67['indexOf'](_0x299b2c);}for(let _0x19af56=0x0,_0x3286ed=_0x39ee60['length'];_0x19af56<_0x3286ed;_0x19af56++){_0x44e779+='%'+('00'+_0x39ee60['charCodeAt'](_0x19af56)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x44e779);};a0_0xd07f['HRlJCB']=_0x55e1b1,a0_0xd07f['FAKenY']={},a0_0xd07f['hzpZvF']=!![];}const _0x52cc8a=_0xc77317[0x0],_0x417e3e=_0x2f0231+_0x52cc8a,_0x4e5c5f=a0_0xd07f['FAKenY'][_0x417e3e];return!_0x4e5c5f?(_0xd07f1=a0_0xd07f['HRlJCB'](_0xd07f1),a0_0xd07f['FAKenY'][_0x417e3e]=_0xd07f1):_0xd07f1=_0x4e5c5f,_0xd07f1;}const redisClient=require('./redis-client'),{logger}=require(a0_0x5cd073(0x124));class RedisHelper{constructor(){const _0x11b3bc=a0_0x5cd073;this['_prefix']=null,this[_0x11b3bc(0x137)]=parseInt(process['env']['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get[a0_0x5cd073(0x13d)](){const _0x52c688=a0_0x5cd073;if(!this['_prefix']){const _0x23ce24=process[_0x52c688(0x12f)]['RESTFORGE_PROJECT_NAME']||'default';this[_0x52c688(0x133)]=_0x52c688(0x12a)+_0x23ce24+_0x52c688(0x127);}return this[_0x52c688(0x133)];}async['setJob'](_0x4412c5,_0xe123f1){const _0x474a5b=a0_0x5cd073;try{const _0x5f48c2=redisClient[_0x474a5b(0x122)](),_0x585690=''+this[_0x474a5b(0x13d)]+_0x4412c5;return await _0x5f48c2[_0x474a5b(0x120)](_0x585690,this[_0x474a5b(0x137)],JSON['stringify'](_0xe123f1)),!![];}catch(_0x178cf3){return logger['error']({'event':'redis_set_error','jobId':_0x4412c5,'error':_0x178cf3['message']},'Failed\x20to\x20set\x20job\x20in\x20Redis'),![];}}async[a0_0x5cd073(0x129)](_0x4fb45f){const _0x8f38c9=a0_0x5cd073,_0x3b8741={'ymmXb':_0x8f38c9(0x13e),'znwyh':_0x8f38c9(0x123)};try{const _0x5051fe=redisClient['getClient'](),_0x48f0ed=''+this['prefix']+_0x4fb45f,_0x427b2b=await _0x5051fe[_0x8f38c9(0x138)](_0x48f0ed);return _0x427b2b?JSON[_0x8f38c9(0x128)](_0x427b2b):null;}catch(_0x288d9a){return logger[_0x8f38c9(0x139)]({'event':_0x3b8741[_0x8f38c9(0x13c)],'jobId':_0x4fb45f,'error':_0x288d9a[_0x8f38c9(0x12c)]},_0x3b8741['znwyh']),null;}}async['updateJob'](_0x3b627a,_0x291cf4){const _0xacf81b=a0_0x5cd073,_0x2b4615=await this[_0xacf81b(0x129)](_0x3b627a);if(!_0x2b4615)return![];const _0x4da016={..._0x2b4615,..._0x291cf4};return await this['setJob'](_0x3b627a,_0x4da016);}async['deleteJob'](_0x47063d){const _0x29877d=a0_0x5cd073,_0x12d303={'opZdv':_0x29877d(0x12b)};try{const _0x17f30c=redisClient[_0x29877d(0x122)](),_0x28365f=''+this['prefix']+_0x47063d;return await _0x17f30c['del'](_0x28365f),!![];}catch(_0x4d6ae0){return logger['error']({'event':_0x29877d(0x134),'jobId':_0x47063d,'error':_0x4d6ae0['message']},_0x12d303['opZdv']),![];}}async['getAllJobs'](){const _0x4f0a87=a0_0x5cd073,_0x2717d3={'aNLMJ':'redis_getall_error'};try{const _0x292f6=redisClient[_0x4f0a87(0x122)](),_0x406fb2=await _0x292f6['keys'](this[_0x4f0a87(0x13d)]+'*'),_0x5b8d75=[];for(const _0xfb6be3 of _0x406fb2){const _0x48aa49=await _0x292f6[_0x4f0a87(0x138)](_0xfb6be3);_0x48aa49&&_0x5b8d75[_0x4f0a87(0x132)](JSON['parse'](_0x48aa49));}return _0x5b8d75;}catch(_0x43ff0d){return logger[_0x4f0a87(0x139)]({'event':_0x2717d3[_0x4f0a87(0x125)],'error':_0x43ff0d[_0x4f0a87(0x12c)]},'Failed\x20to\x20get\x20all\x20jobs'),[];}}}module['exports']=new RedisHelper();
|