@restforgejs/platform 5.2.16 → 5.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/restforge-designer-linux +0 -0
- package/bin/restforge-designer.exe +0 -0
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/cli/designer.js +3 -0
- package/generators/cli/endpoint/create.js +69 -6
- package/generators/cli/fast-track.js +7 -7
- package/generators/cli/payload/sync.js +16 -6
- package/generators/cli/project/auth.js +2 -2
- package/generators/cli/project/sdk.js +112 -0
- package/generators/lib/arg-parser.js +6 -0
- package/generators/lib/auth/processor-generator.js +5 -3
- package/generators/lib/auth/templates/processor/google.js.tmpl +178 -0
- package/generators/lib/auth/templates/processor/login.js.tmpl +8 -8
- package/generators/lib/auth/templates/processor/logout.js.tmpl +2 -2
- package/generators/lib/auth/templates/processor/me.js.tmpl +2 -2
- package/generators/lib/auth/templates/processor/refresh.js.tmpl +6 -6
- package/generators/lib/auth/templates/processor/register.js.tmpl +4 -4
- package/generators/lib/auth/templates/processor/reset-password.js.tmpl +7 -7
- package/generators/lib/auth/templates/rfx_auth.js.tmpl +3 -0
- package/generators/lib/generators/model-generator.js +46 -59
- package/generators/lib/help-generator.js +41 -3
- package/generators/lib/payload/endpoint-schema-validator.js +8 -3
- package/generators/lib/payload/field-projections.js +116 -0
- package/generators/lib/payload/payload-runner.js +164 -48
- package/generators/lib/payload/schema-diff.js +108 -0
- package/generators/lib/sdk/generator.js +719 -0
- package/generators/lib/sdk/naming.js +48 -0
- package/generators/lib/sdk/runtime/README.md.tmpl +207 -0
- package/generators/lib/sdk/runtime/auth-client.js +186 -0
- package/generators/lib/sdk/runtime/deploy.mjs.tmpl +85 -0
- package/generators/lib/sdk/runtime/http-client.js +81 -0
- package/generators/lib/sdk/runtime/resource-client.js +59 -0
- package/generators/lib/sdk/runtime/storage.js +31 -0
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/generators/lib/utils/cli-output.js +40 -0
- package/generators/lib/utils/config-resolver.js +61 -0
- package/generators/lib/utils/database-introspector.js +28 -5
- package/integrity-manifest.json +18 -18
- package/package.json +3 -2
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/soft-delete-dashboard-guard.js +1 -1
- package/src/utils/sql-table-extractor.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0xa73d(_0x3f84f1,_0x142ca1){_0x3f84f1=_0x3f84f1-0x66;const _0x15908a=a0_0x1590();let _0xa73d19=_0x15908a[_0x3f84f1];if(a0_0xa73d['JmIsiz']===undefined){var _0x312773=function(_0x42eff0){const _0x1b4ab8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x593b23='',_0x345447='';for(let _0x2b1c28=0x0,_0x5eef65,_0x1942a0,_0x59e2ff=0x0;_0x1942a0=_0x42eff0['charAt'](_0x59e2ff++);~_0x1942a0&&(_0x5eef65=_0x2b1c28%0x4?_0x5eef65*0x40+_0x1942a0:_0x1942a0,_0x2b1c28++%0x4)?_0x593b23+=String['fromCharCode'](0xff&_0x5eef65>>(-0x2*_0x2b1c28&0x6)):0x0){_0x1942a0=_0x1b4ab8['indexOf'](_0x1942a0);}for(let _0x2cb08a=0x0,_0x3c7f89=_0x593b23['length'];_0x2cb08a<_0x3c7f89;_0x2cb08a++){_0x345447+='%'+('00'+_0x593b23['charCodeAt'](_0x2cb08a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x345447);};a0_0xa73d['ZdsUSa']=_0x312773,a0_0xa73d['LTZVWa']={},a0_0xa73d['JmIsiz']=!![];}const _0x56f2bf=_0x15908a[0x0],_0x2cc7da=_0x3f84f1+_0x56f2bf,_0x594f29=a0_0xa73d['LTZVWa'][_0x2cc7da];return!_0x594f29?(_0xa73d19=a0_0xa73d['ZdsUSa'](_0xa73d19),a0_0xa73d['LTZVWa'][_0x2cc7da]=_0xa73d19):_0xa73d19=_0x594f29,_0xa73d19;}const a0_0x4d6783=a0_0xa73d;(function(_0x2ea2c6,_0x4ec4e1){const _0x47a3ff=a0_0xa73d,_0x439b51=_0x2ea2c6();while(!![]){try{const _0x504144=-parseInt(_0x47a3ff(0xa5))/0x1+-parseInt(_0x47a3ff(0x7b))/0x2*(-parseInt(_0x47a3ff(0xb5))/0x3)+-parseInt(_0x47a3ff(0x69))/0x4*(-parseInt(_0x47a3ff(0x6c))/0x5)+parseInt(_0x47a3ff(0x72))/0x6+parseInt(_0x47a3ff(0x7a))/0x7*(parseInt(_0x47a3ff(0x74))/0x8)+parseInt(_0x47a3ff(0xb7))/0x9*(-parseInt(_0x47a3ff(0x87))/0xa)+parseInt(_0x47a3ff(0x68))/0xb;if(_0x504144===_0x4ec4e1)break;else _0x439b51['push'](_0x439b51['shift']());}catch(_0x44f544){_0x439b51['push'](_0x439b51['shift']());}}}(a0_0x1590,0x9ef7b));function a0_0x1590(){const _0x3754c5=['Bg9JA19LEhrLBMrLza','mJG3mdCZzfviDfbp','zgvMyxvSDfruta','z2v0tg9JA0LUzM8','mte1ntm0mw9vswLVrW','mJm3odq3mNbLtLnkCa','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','zxzHBa','mtbpDgTRvuG','yvvPrgy','AfHLEeK','x3DVCMTLCKLK','A0feC0W','t1DQzwS','ndKXmteYuhryAKro','D3jPDgvFBg9JA193ywL0Aw5N','mtu4mdbyzeDUA3C','ChjLzML4','B1bPsLa','BwvZC2fNzq','EMjvrfy','x3bYzwzPEa','mJy1m2nYEfbSrW','mtHYsLnxAe8','D3jPDgvFBg9JA190Aw1LB3v0','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','x2LUAxrPywXPEMvK','CMvSzwfZzuXVy2S','yxnyAw0','svDeteC','D29YA2vYswq','lcbZDhjHDgvNEtOG','Cg93','zgvIDwC','zufNwLy','mJKWy3Dbq3PJ','BM93','zxjYB3i','tg9JAYbYzwXLyxnLigvYCM9Y','ywXS','EKPWAge','yNvPBgrmB2nRs2v5','x2rLzMf1BhruveW','CMv0CNLdB3vUDa','C2v0','CMvHzf9SB2nRx3jLBgvHC2vK','lI9YzwrPCY1JBgLLBNq','x3jLDhj5rgvSyxK','zxHWAxjL','D3jPDgu','D29YA2vYlq','D3jPDgvFBg9JA19Hy3f1AxjLza','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','D3zLtMC','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','sNnjEwq','CMv0CNK','x2vUywjSzwq','x3jLDhj5q291BNq','zw5HyMXLza','AK1vswC','ze1TDLq','x2vUC3vYzuLUAxrPywXPEMvK','z2v0q2XPzw50','CMvHza','ody0mZCZrMTQzeLZ','CMv0CNLezwXHEq','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','te9ds19esvnuuKLcvvrfrf9uveW','zw52','CMvQzwn0','CMvHzf9SB2nRx2fJCxvPCMvK','x3n0CMf0zwD5','z2v0','y3nvBK8','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','CxrmtgO','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','zxHWB3j0CW','z2f1AK8','uKvbrcbSB2nRigfJCxvPCMvK','mta1mJKXEw9ovxr5'];a0_0x1590=function(){return _0x3754c5;};return a0_0x1590();}const redisClient=require(a0_0x4d6783(0x92)),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x11bf75=a0_0x4d6783;this[_0x11bf75(0x79)]=null,this['_enabled']=null,this['_defaultTTL']=null,this['_retryCount']=null,this[_0x11bf75(0x93)]=null,this[_0x11bf75(0xac)]=null,this[_0x11bf75(0x6f)]=null,this[_0x11bf75(0x7e)]=![];}['_initConfig'](){const _0x4fa8c9=a0_0x4d6783,_0x2f0101={'gaujO':'lock_config_init','QWVwg':function(_0x59daee,_0x2d337a,_0x37408d){return _0x59daee(_0x2d337a,_0x37408d);},'IWDLG':'true','VSfRy':'rf:lock:'},_0x2fff5e='8|5|3|6|4|7|1|0|2'['split']('|');let _0x2dadac=0x0;while(!![]){switch(_0x2fff5e[_0x2dadac++]){case'0':this[_0x4fa8c9(0x7e)]=!![];continue;case'1':this['_workerId']=_0x4fa8c9(0x96)+process['pid'];continue;case'2':logger['info']({'event':_0x2f0101[_0x4fa8c9(0xb3)],'enabled':this[_0x4fa8c9(0x9d)],'strategy':this['_strategy'],'ttl':this[_0x4fa8c9(0x8e)],'retryCount':this[_0x4fa8c9(0x9e)],'retryDelay':this['_retryDelay'],'workerId':this[_0x4fa8c9(0x6f)]},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+_0x4fa8c9(0x83)+this['_strategy']);continue;case'3':this['_defaultTTL']=parseInt(process['env'][_0x4fa8c9(0xa8)],0xa)||0xa;continue;case'4':this[_0x4fa8c9(0x93)]=_0x2f0101['QWVwg'](parseInt,process['env'][_0x4fa8c9(0xaf)],0xa)||0x64;continue;case'5':this['_enabled']=process['env']['LOCK_DISTRIBUTED_ENABLED']===_0x2f0101[_0x4fa8c9(0x81)];continue;case'6':this[_0x4fa8c9(0x9e)]=parseInt(process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3;continue;case'7':this[_0x4fa8c9(0xac)]=process[_0x4fa8c9(0xa9)][_0x4fa8c9(0x9a)]||'retry';continue;case'8':this[_0x4fa8c9(0x79)]=_0x2f0101['VSfRy'];continue;}break;}}[a0_0x4d6783(0xa2)](){const _0x476112=a0_0x4d6783;!this[_0x476112(0x7e)]&&this['_initConfig']();}get[a0_0x4d6783(0x75)](){return this['_ensureInitialized'](),this['_prefix'];}get[a0_0x4d6783(0x9f)](){return this['_ensureInitialized'](),this['_enabled'];}get['defaultTTL'](){const _0x176004=a0_0x4d6783;return this['_ensureInitialized'](),this[_0x176004(0x8e)];}get[a0_0x4d6783(0x8f)](){const _0x51e766=a0_0x4d6783;return this[_0x51e766(0xa2)](),this['_retryCount'];}get[a0_0x4d6783(0xa6)](){const _0x2e36e6=a0_0x4d6783;return this['_ensureInitialized'](),this[_0x2e36e6(0x93)];}get['strategy'](){const _0x55b286=a0_0x4d6783;return this['_ensureInitialized'](),this[_0x55b286(0xac)];}get['workerId'](){const _0x13fd4c=a0_0x4d6783;return this[_0x13fd4c(0xa2)](),this[_0x13fd4c(0x6f)];}[a0_0x4d6783(0x8d)](_0xb32ebc){const {module:_0x37e299,endpoint:_0x270f7f,lockType:_0x27a7cb,recordId:_0x16297c}=_0xb32ebc;if(_0x16297c)return''+this['prefix']+_0x37e299+':'+_0x270f7f+':'+_0x16297c+':'+_0x27a7cb;return''+this['prefix']+_0x37e299+':'+_0x270f7f+':'+_0x27a7cb;}['generateLockValue'](){const _0x5a3ec3=a0_0x4d6783,_0x31d520={'oPiJP':function(_0x24514f){return _0x24514f();}};return this[_0x5a3ec3(0x82)]+':'+_0x31d520[_0x5a3ec3(0x76)](uuidv4)+':'+Date[_0x5a3ec3(0x88)]();}async['acquireReadLock'](_0x613e01){const _0x1513d4=a0_0x4d6783,_0x5f2591={'dqrfd':_0x1513d4(0x95),'eAgZV':_0x1513d4(0xa4),'LVPgr':function(_0x61edb1,_0x26809f){return _0x61edb1<_0x26809f;},'wveNg':_0x1513d4(0xb4),'jMUIg':_0x1513d4(0xb1),'uOUUu':function(_0x4730c7,_0x3df17c){return _0x4730c7*_0x3df17c;},'rcCXo':_0x1513d4(0x98),'aUiDf':'read_lock_error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x3c3b98=this['buildLockKey']({..._0x613e01,'lockType':_0x5f2591['dqrfd']}),_0x2fdea2=this[_0x1513d4(0x8d)]({..._0x613e01,'lockType':_0x5f2591[_0x1513d4(0x86)]}),_0x21351=this['generateLockValue']();try{const _0x2921b8=redisClient[_0x1513d4(0xa3)]();for(let _0x3e1c3a=0x0;_0x5f2591['LVPgr'](_0x3e1c3a,this['retryCount']);_0x3e1c3a++){const _0x22c9f6=await _0x2921b8['get'](_0x3c3b98);if(!_0x22c9f6){await _0x2921b8['incr'](_0x2fdea2),await _0x2921b8[_0x1513d4(0x94)](_0x2fdea2,this['defaultTTL']);const _0x5f4828=_0x2fdea2+':'+_0x21351;return await _0x2921b8['setex'](_0x5f4828,this['defaultTTL'],_0x21351),logger[_0x1513d4(0x85)]({'event':_0x1513d4(0xab),'key':_0x2fdea2,'value':_0x21351},_0x5f2591[_0x1513d4(0x99)]),{'success':!![],'lockValue':_0x21351,'lockKey':_0x5f4828};}logger[_0x1513d4(0x85)]({'event':'read_lock_waiting','writeKey':_0x3c3b98,'attempt':_0x3e1c3a},_0x5f2591[_0x1513d4(0xa0)]),await this['sleep'](_0x5f2591['uOUUu'](this[_0x1513d4(0xa6)],Math[_0x1513d4(0x84)](0x2,_0x3e1c3a)));}return logger['warn']({'event':'read_lock_timeout','key':_0x2fdea2},_0x5f2591['rcCXo']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x5b4218){return logger['error']({'event':_0x5f2591[_0x1513d4(0x6d)],'error':_0x5b4218[_0x1513d4(0x77)]},'READ\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x1c7fbb){const _0x1a7e2e=a0_0x4d6783,_0x18e3ca={'kADsL':_0x1a7e2e(0x95),'zbUDV':'reject','zJpha':function(_0x435485,_0x1592da){return _0x435485===_0x1592da;},'asXim':'WRITE\x20lock\x20acquired\x20(reject\x20mode)','qtLLj':'WRITE\x20lock\x20rejected\x20-\x20record\x20busy','urJol':function(_0x31dd17,_0x238ab7){return _0x31dd17(_0x238ab7);},'dMmvT':'WRITE\x20lock\x20acquired\x20(retry\x20mode)','hXexI':_0x1a7e2e(0xa7),'VjAak':'write_lock_error'};if(!this[_0x1a7e2e(0x9f)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x1574e4=this[_0x1a7e2e(0x8d)]({..._0x1c7fbb,'lockType':_0x18e3ca[_0x1a7e2e(0x70)]}),_0x35042f=this['buildLockKey']({..._0x1c7fbb,'lockType':_0x1a7e2e(0xa4)}),_0x4e1907=this['generateLockValue']();try{const _0x56cc8a=redisClient[_0x1a7e2e(0xa3)]();if(this['strategy']===_0x18e3ca[_0x1a7e2e(0x78)]){const _0x31ae81=await _0x56cc8a[_0x1a7e2e(0x90)](_0x1574e4,_0x4e1907,'EX',this['defaultTTL'],'NX');if(_0x18e3ca[_0x1a7e2e(0x8c)](_0x31ae81,'OK'))return logger[_0x1a7e2e(0x85)]({'event':_0x1a7e2e(0x97),'key':_0x1574e4,'value':_0x4e1907,'strategy':_0x1a7e2e(0xaa)},_0x18e3ca[_0x1a7e2e(0x80)]),{'success':!![],'lockValue':_0x4e1907,'lockKey':_0x1574e4};return logger['debug']({'event':'write_lock_rejected','key':_0x1574e4},_0x18e3ca[_0x1a7e2e(0xb0)]),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x4e428b=0x0;_0x4e428b<this[_0x1a7e2e(0x8f)];_0x4e428b++){const [_0x16fbfc,_0x3398ba]=await Promise[_0x1a7e2e(0x8b)]([_0x56cc8a[_0x1a7e2e(0xad)](_0x35042f),_0x56cc8a['get'](_0x1574e4)]);if(!_0x3398ba&&(!_0x16fbfc||_0x18e3ca['urJol'](parseInt,_0x16fbfc)===0x0)){const _0x4dba46=await _0x56cc8a['set'](_0x1574e4,_0x4e1907,'EX',this['defaultTTL'],'NX');if(_0x18e3ca[_0x1a7e2e(0x8c)](_0x4dba46,'OK'))return logger['debug']({'event':'write_lock_acquired','key':_0x1574e4,'value':_0x4e1907,'strategy':_0x1a7e2e(0x9c)},_0x18e3ca[_0x1a7e2e(0xa1)]),{'success':!![],'lockValue':_0x4e1907,'lockKey':_0x1574e4};}logger['debug']({'event':_0x1a7e2e(0x73),'writeKey':_0x1574e4,'readCount':_0x16fbfc,'attempt':_0x4e428b},_0x1a7e2e(0x6a)),await this['sleep'](this['retryDelay']*Math['pow'](0x2,_0x4e428b));}return logger['warn']({'event':_0x1a7e2e(0x7c),'key':_0x1574e4},_0x18e3ca[_0x1a7e2e(0x6e)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x41832b){return logger[_0x1a7e2e(0x89)]({'event':_0x18e3ca['VjAak'],'error':_0x41832b[_0x1a7e2e(0x77)]},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x4d6783(0x7f)](_0x5e3ac1,_0x4be6b7){const _0x21fea0=a0_0x4d6783,_0x1c9dd3={'yRaAY':function(_0x318797,_0x5007e5){return _0x318797(_0x5007e5);},'zMCNb':_0x21fea0(0x91),'OWjek':'READ\x20lock\x20released','DeeUP':'WRITE\x20lock\x20released','rLSSr':'lock_release_not_owner'};if(!this['enabled']||!_0x5e3ac1)return!![];try{const _0xb79db9=redisClient['getClient']();if(_0x5e3ac1['includes'](':read:')){await _0xb79db9['del'](_0x5e3ac1);const _0x272f10=_0x5e3ac1['substring'](0x0,_0x5e3ac1['lastIndexOf'](':')),_0x2504d4=await _0xb79db9['get'](_0x272f10);return _0x2504d4&&_0x1c9dd3['yRaAY'](parseInt,_0x2504d4)>0x0&&await _0xb79db9['decr'](_0x272f10),logger[_0x21fea0(0x85)]({'event':_0x1c9dd3['zMCNb'],'key':_0x5e3ac1},_0x1c9dd3[_0x21fea0(0x71)]),!![];}const _0x215c9b='\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',_0x35b1d8=await _0xb79db9[_0x21fea0(0x6b)](_0x215c9b,0x1,_0x5e3ac1,_0x4be6b7);if(_0x35b1d8===0x1)return logger['debug']({'event':'write_lock_released','key':_0x5e3ac1},_0x1c9dd3['DeeUP']),!![];return logger['warn']({'event':_0x1c9dd3['rLSSr'],'key':_0x5e3ac1},_0x21fea0(0x7d)),![];}catch(_0x3920ac){return logger[_0x21fea0(0x89)]({'event':'lock_release_error','key':_0x5e3ac1,'error':_0x3920ac[_0x21fea0(0x77)]},_0x21fea0(0x8a)),![];}}async['extendLock'](_0xa1fc20,_0x2a3feb,_0x34a3c3=null){const _0x4402ec=a0_0x4d6783,_0x39f21d={'cvnYy':'Lock\x20TTL\x20extended'};if(!this[_0x4402ec(0x9f)]||!_0xa1fc20)return!![];try{const _0x32c312=redisClient['getClient'](),_0x346502='\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',_0x38ba35=await _0x32c312[_0x4402ec(0x6b)](_0x346502,0x1,_0xa1fc20,_0x2a3feb,_0x34a3c3||this[_0x4402ec(0x66)]);if(_0x38ba35===0x1)return logger[_0x4402ec(0x85)]({'event':_0x4402ec(0xb6),'key':_0xa1fc20,'ttl':_0x34a3c3||this['defaultTTL']},_0x39f21d['cvnYy']),!![];return![];}catch(_0x4ff8dd){return logger['error']({'event':'lock_extend_error','key':_0xa1fc20,'error':_0x4ff8dd[_0x4402ec(0x77)]},'Lock\x20extend\x20error'),![];}}['isEnabled'](){const _0x371c88=a0_0x4d6783;return this[_0x371c88(0x9f)];}['sleep'](_0x220f52){return new Promise(_0x5b85ff=>setTimeout(_0x5b85ff,_0x220f52));}async[a0_0x4d6783(0x67)](_0x7d65de){const _0x5065b9=a0_0x4d6783,_0x247f9d={'YjZJI':'read','csUnO':function(_0x211782,_0x153ff6){return _0x211782||_0x153ff6;},'JsIyd':function(_0x5c3508,_0x4f878b){return _0x5c3508(_0x4f878b);}};if(!this[_0x5065b9(0x9f)])return{'enabled':![]};try{const _0x1d5fa4=redisClient[_0x5065b9(0xa3)](),_0x3974db=this['buildLockKey']({..._0x7d65de,'lockType':'write'}),_0x37b72d=this[_0x5065b9(0x8d)]({..._0x7d65de,'lockType':_0x247f9d['YjZJI']}),[_0x520b3f,_0x483fa6]=await Promise[_0x5065b9(0x8b)]([_0x1d5fa4[_0x5065b9(0xad)](_0x3974db),_0x1d5fa4[_0x5065b9(0xad)](_0x37b72d)]);return{'enabled':!![],'writeLock':_0x247f9d[_0x5065b9(0xae)](_0x520b3f,null),'readCount':_0x247f9d[_0x5065b9(0x9b)](parseInt,_0x483fa6)||0x0,'writeKey':_0x3974db,'readKey':_0x37b72d};}catch(_0x242768){return{'enabled':!![],'error':_0x242768[_0x5065b9(0x77)]};}}}module[a0_0x4d6783(0xb2)]=new LockManager();
|
|
1
|
+
const a0_0x1b2f16=a0_0x1aa9;(function(_0x31b63f,_0xbec962){const _0x44a3f8=a0_0x1aa9,_0xef286e=_0x31b63f();while(!![]){try{const _0x144eea=-parseInt(_0x44a3f8(0x162))/0x1+-parseInt(_0x44a3f8(0x119))/0x2+-parseInt(_0x44a3f8(0x120))/0x3+-parseInt(_0x44a3f8(0x161))/0x4*(-parseInt(_0x44a3f8(0x15e))/0x5)+parseInt(_0x44a3f8(0x14c))/0x6*(-parseInt(_0x44a3f8(0x11a))/0x7)+-parseInt(_0x44a3f8(0x15b))/0x8*(parseInt(_0x44a3f8(0x141))/0x9)+parseInt(_0x44a3f8(0x125))/0xa;if(_0x144eea===_0xbec962)break;else _0xef286e['push'](_0xef286e['shift']());}catch(_0x2c4f55){_0xef286e['push'](_0xef286e['shift']());}}}(a0_0x5134,0x85f71));function a0_0x5134(){const _0x5f2c70=['Aw5JBhvKzxm','zujiCwi','x2vUC3vYzuLUAxrPywXPEMvK','v1jjveuGBg9JAYbLCNjVCG','zxzHBa','CMvQzwn0','ywXS','x2LUAxrdB25MAwC','odqZntm4BgHhwK9f','n2X6wgrlwa','C2v0zxG','tg9JAYbYzwXLyxnLigvYCM9Y','CMvHzf9SB2nRx3jLBgvHC2vK','EfvvueO','zgP1Ave','mJa4mJyXoe5ju3jQva','D3jPDgvFBg9JA193ywL0Aw5N','CMvSzwfZzuXVy2S','sMrVywK','y2fIDui','mZaWnZiWmZbJDK9KzgC','C3rYyxrLz3K','x3jLDhj5rgvSyxK','D2PLzuG','zxjYB3i','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','z2vUzxjHDgvmB2nRvMfSDwu','D3jPDgu','vwrUuLe','sMvlse4','zxHWB3j0CW','D29YA2vYswq','CMvHzf9SB2nRx3DHAxrPBMC','lcbZDhjHDgvNEtOG','x2LUAxrPywXPEMvK','uKvbrcbSB2nRigvYCM9Y','uKvbrcbSB2nRihjLBgvHC2vK','BwvZC2fNzq','CMvHzf9SB2nRx2fJCxvPCMvK','x2vUywjSzwq','DxvPza','C2v0','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','D29YA2vYlq','lI9SB2DNzxi','yNvPBgrmB2nRs2v5','zw5HyMXLza','mZC2odC5nxrit0nhwa','CurOu1m','zgvMyxvSDfruta','x3DVCMTLCKLK','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','z2v0q2XPzw50','D3jPDgvFBg9JA19YzwPLy3rLza','CMvHzf9SB2nRx2vYCM9Y','CMv0CNLdB3vUDa','z2v0','BgfZDeLUzgv4t2y','mtC1mdeZnfDyyMPtBG','Cg93','ChjLzML4','x3jLDhj5q291BNq','CMvHza','zgvIDwC','x3n0CMf0zwD5','rKfxCwq','tg9JAYbuveWGzxH0zw5Kzwq','sM1Lyva','BM93','q29jtKC','C2XLzxa','C3bSAxq','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','og1ItNrotW','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzxHWAxjLiIWGs0vzu1SXxsWGqvjhvLSYxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','CMv0CNLezwXHEq','mtbwuNLWuuK','zwTRy3G','te9ds19esvnuuKLcvvrfrf9srvrswq','ndu5oty4wM5yCeLe','odyYmdq3tenZB2r5','Dhj1zq','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','x2rLzMf1BhruveW','CuHtywy','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','AMHVqLe','txv1u3O','D2fYBG','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq'];a0_0x5134=function(){return _0x5f2c70;};return a0_0x5134();}const redisClient=require('./redis-client'),{logger}=require(a0_0x1b2f16(0x13e)),{v4:uuidv4}=require(a0_0x1b2f16(0x13a));class LockManager{constructor(){const _0x5e4f72=a0_0x1b2f16,_0x5e22ea='4|2|1|3|7|5|6|0'[_0x5e4f72(0x159)]('|');let _0x1977b6=0x0;while(!![]){switch(_0x5e22ea[_0x1977b6++]){case'0':this[_0x5e4f72(0x134)]=![];continue;case'1':this[_0x5e4f72(0x10a)]=null;continue;case'2':this['_enabled']=null;continue;case'3':this['_retryCount']=null;continue;case'4':this['_prefix']=null;continue;case'5':this[_0x5e4f72(0x152)]=null;continue;case'6':this[_0x5e4f72(0x144)]=null;continue;case'7':this[_0x5e4f72(0x127)]=null;continue;}break;}}[a0_0x1b2f16(0x118)](){const _0x4636b7=a0_0x1b2f16,_0x33c6d1={'ekkcx':function(_0x5e48f4,_0x8a1fc7,_0x4b1e55){return _0x5e48f4(_0x8a1fc7,_0x4b1e55);},'jhoBQ':'retry'};this['_prefix']='rf:lock:',this['_enabled']=process['env']['LOCK_DISTRIBUTED_ENABLED']===_0x4636b7(0x163),this['_defaultTTL']=parseInt(process['env']['LOCK_DISTRIBUTED_TTL'],0xa)||0xa,this[_0x4636b7(0x14f)]=parseInt(process['env'][_0x4636b7(0x160)],0xa)||0x3,this[_0x4636b7(0x127)]=_0x33c6d1[_0x4636b7(0x15f)](parseInt,process['env']['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64,this[_0x4636b7(0x152)]=process['env'][_0x4636b7(0x12a)]||_0x33c6d1[_0x4636b7(0x10d)],this['_workerId']=_0x4636b7(0x13d)+process['pid'],this[_0x4636b7(0x134)]=!![],logger['info']({'event':'lock_config_init','enabled':this[_0x4636b7(0x139)],'strategy':this['_strategy'],'ttl':this['_defaultTTL'],'retryCount':this[_0x4636b7(0x14f)],'retryDelay':this[_0x4636b7(0x127)],'workerId':this[_0x4636b7(0x144)]},_0x4636b7(0x15a)+this[_0x4636b7(0x139)]+_0x4636b7(0x133)+this[_0x4636b7(0x152)]);}['_ensureInitialized'](){const _0x599441=a0_0x1b2f16;!this['_initialized']&&this[_0x599441(0x118)]();}get[a0_0x1b2f16(0x14e)](){const _0x56f663=a0_0x1b2f16;return this[_0x56f663(0x113)](),this['_prefix'];}get['enabled'](){const _0x1b7855=a0_0x1b2f16;return this[_0x1b7855(0x113)](),this[_0x1b7855(0x139)];}get['defaultTTL'](){const _0x3ff798=a0_0x1b2f16;return this[_0x3ff798(0x113)](),this['_defaultTTL'];}get[a0_0x1b2f16(0x149)](){return this['_ensureInitialized'](),this['_retryCount'];}get[a0_0x1b2f16(0x15d)](){const _0x148852=a0_0x1b2f16;return this[_0x148852(0x113)](),this['_retryDelay'];}get[a0_0x1b2f16(0x126)](){return this['_ensureInitialized'](),this['_strategy'];}get[a0_0x1b2f16(0x131)](){const _0x41fca4=a0_0x1b2f16;return this[_0x41fca4(0x113)](),this[_0x41fca4(0x144)];}[a0_0x1b2f16(0x13f)](_0x127f82){const {module:_0x185a5f,endpoint:_0x4781ce,lockType:_0x33ec7f,recordId:_0x20ecca}=_0x127f82;if(_0x20ecca)return''+this['prefix']+_0x185a5f+':'+_0x4781ce+':'+_0x20ecca+':'+_0x33ec7f;return''+this['prefix']+_0x185a5f+':'+_0x4781ce+':'+_0x33ec7f;}['generateLockValue'](){const _0x37eff6=a0_0x1b2f16,_0x5734aa={'OQAVG':function(_0x51120e){return _0x51120e();}};return this[_0x37eff6(0x131)]+':'+_0x5734aa['OQAVG'](uuidv4)+':'+Date[_0x37eff6(0x156)]();}async['acquireReadLock'](_0x2580d3){const _0x45e9a3=a0_0x1b2f16,_0x5cb5b1={'nbeMH':function(_0x46d78e,_0x49494a){return _0x46d78e<_0x49494a;},'PojCm':_0x45e9a3(0x132),'wjeeH':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','yQTXI':'read_lock_timeout','UdnRQ':_0x45e9a3(0x148)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x4a8265=this['buildLockKey']({..._0x2580d3,'lockType':'write'}),_0x57301b=this['buildLockKey']({..._0x2580d3,'lockType':_0x45e9a3(0x150)}),_0x44407f=this[_0x45e9a3(0x12c)]();try{const _0x19d94b=redisClient[_0x45e9a3(0x146)]();for(let _0x34c47f=0x0;_0x5cb5b1['nbeMH'](_0x34c47f,this[_0x45e9a3(0x149)]);_0x34c47f++){const _0x371fa7=await _0x19d94b['get'](_0x4a8265);if(!_0x371fa7){await _0x19d94b['incr'](_0x57301b),await _0x19d94b['expire'](_0x57301b,this[_0x45e9a3(0x143)]);const _0x280499=_0x57301b+':'+_0x44407f;return await _0x19d94b[_0x45e9a3(0x11b)](_0x280499,this['defaultTTL'],_0x44407f),logger['debug']({'event':_0x45e9a3(0x138),'key':_0x57301b,'value':_0x44407f},'READ\x20lock\x20acquired'),{'success':!![],'lockValue':_0x44407f,'lockKey':_0x280499};}logger[_0x45e9a3(0x151)]({'event':_0x5cb5b1['PojCm'],'writeKey':_0x4a8265,'attempt':_0x34c47f},_0x5cb5b1[_0x45e9a3(0x128)]),await this['sleep'](this[_0x45e9a3(0x15d)]*Math[_0x45e9a3(0x14d)](0x2,_0x34c47f));}return logger['warn']({'event':_0x5cb5b1['yQTXI'],'key':_0x57301b},_0x45e9a3(0x13c)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x2c5fc3){return logger[_0x45e9a3(0x129)]({'event':_0x5cb5b1[_0x45e9a3(0x12e)],'error':_0x2c5fc3['message']},_0x45e9a3(0x135)),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x156993){const _0x34eff3=a0_0x1b2f16,_0x57b28d={'LkURu':function(_0x308e6b,_0x52a784){return _0x308e6b===_0x52a784;},'djuiQ':'reject','uvzgz':function(_0x57e3a3,_0x3766e3){return _0x57e3a3===_0x3766e3;},'cVJSn':'WRITE\x20lock\x20acquired\x20(reject\x20mode)','NZZmb':_0x34eff3(0x147),'qHSaf':function(_0x46aa12,_0x58ab70){return _0x46aa12(_0x58ab70);},'MuuSz':function(_0x58f6fb,_0x15b7d0){return _0x58f6fb===_0x15b7d0;},'cabuB':'write_lock_acquired','qDhSS':'retry','CoING':_0x34eff3(0x109),'eBHqb':_0x34eff3(0x110),'FAWqd':'write_lock_timeout','xUUPJ':'WRITE\x20lock\x20acquire\x20timeout','xJiLX':_0x34eff3(0x114)};if(!this[_0x34eff3(0x140)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x4b6ee3=this[_0x34eff3(0x13f)]({..._0x156993,'lockType':_0x34eff3(0x12d)}),_0x395ba1=this['buildLockKey']({..._0x156993,'lockType':'read'}),_0x10d3fb=this['generateLockValue']();try{const _0x26f236=redisClient[_0x34eff3(0x146)]();if(_0x57b28d['LkURu'](this[_0x34eff3(0x126)],_0x57b28d[_0x34eff3(0x11f)])){const _0x5bf305=await _0x26f236['set'](_0x4b6ee3,_0x10d3fb,'EX',this['defaultTTL'],'NX');if(_0x57b28d['uvzgz'](_0x5bf305,'OK'))return logger['debug']({'event':'write_lock_acquired','key':_0x4b6ee3,'value':_0x10d3fb,'strategy':_0x34eff3(0x116)},_0x57b28d['cVJSn']),{'success':!![],'lockValue':_0x10d3fb,'lockKey':_0x4b6ee3};return logger[_0x34eff3(0x151)]({'event':_0x57b28d['NZZmb'],'key':_0x4b6ee3},'WRITE\x20lock\x20rejected\x20-\x20record\x20busy'),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x19756d=0x0;_0x19756d<this[_0x34eff3(0x149)];_0x19756d++){const [_0x3fd89a,_0x40191e]=await Promise[_0x34eff3(0x117)]([_0x26f236[_0x34eff3(0x14a)](_0x395ba1),_0x26f236['get'](_0x4b6ee3)]);if(!_0x40191e&&(!_0x3fd89a||_0x57b28d['uvzgz'](_0x57b28d[_0x34eff3(0x10b)](parseInt,_0x3fd89a),0x0))){const _0x3aa6ef=await _0x26f236[_0x34eff3(0x13b)](_0x4b6ee3,_0x10d3fb,'EX',this[_0x34eff3(0x143)],'NX');if(_0x57b28d[_0x34eff3(0x10e)](_0x3aa6ef,'OK'))return logger[_0x34eff3(0x151)]({'event':_0x57b28d[_0x34eff3(0x124)],'key':_0x4b6ee3,'value':_0x10d3fb,'strategy':_0x57b28d[_0x34eff3(0x142)]},_0x57b28d[_0x34eff3(0x157)]),{'success':!![],'lockValue':_0x10d3fb,'lockKey':_0x4b6ee3};}logger['debug']({'event':_0x34eff3(0x121),'writeKey':_0x4b6ee3,'readCount':_0x3fd89a,'attempt':_0x19756d},_0x57b28d[_0x34eff3(0x112)]),await this[_0x34eff3(0x158)](this['retryDelay']*Math[_0x34eff3(0x14d)](0x2,_0x19756d));}return logger[_0x34eff3(0x10f)]({'event':_0x57b28d[_0x34eff3(0x153)],'key':_0x4b6ee3},_0x57b28d[_0x34eff3(0x11e)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x4d9ef2){return logger[_0x34eff3(0x129)]({'event':'write_lock_error','error':_0x4d9ef2[_0x34eff3(0x137)]},_0x57b28d['xJiLX']),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x1b2f16(0x122)](_0x2f94d3,_0xd80683){const _0x46ba5f=a0_0x1b2f16,_0x55b7d1={'sqaia':':read:','KENSw':function(_0x4f7a59,_0x158a89){return _0x4f7a59>_0x158a89;},'wTPEi':function(_0x28d642,_0x56936b){return _0x28d642(_0x56936b);},'JmeaP':_0x46ba5f(0x11d),'oBYnK':function(_0x14d446,_0x65a038){return _0x14d446===_0x65a038;},'GXVrM':'write_lock_released','Jdoai':'WRITE\x20lock\x20released','cZMnD':_0x46ba5f(0x11c)};if(!this['enabled']||!_0x2f94d3)return!![];try{const _0xd0ed2c=redisClient[_0x46ba5f(0x146)]();if(_0x2f94d3[_0x46ba5f(0x111)](_0x55b7d1['sqaia'])){await _0xd0ed2c['del'](_0x2f94d3);const _0x3b5628=_0x2f94d3['substring'](0x0,_0x2f94d3[_0x46ba5f(0x14b)](':')),_0x1ca49d=await _0xd0ed2c[_0x46ba5f(0x14a)](_0x3b5628);return _0x1ca49d&&_0x55b7d1['KENSw'](_0x55b7d1['wTPEi'](parseInt,_0x1ca49d),0x0)&&await _0xd0ed2c['decr'](_0x3b5628),logger[_0x46ba5f(0x151)]({'event':_0x55b7d1[_0x46ba5f(0x155)],'key':_0x2f94d3},_0x46ba5f(0x136)),!![];}const _0x2d4bfc=_0x46ba5f(0x10c),_0x38db61=await _0xd0ed2c[_0x46ba5f(0x115)](_0x2d4bfc,0x1,_0x2f94d3,_0xd80683);if(_0x55b7d1['oBYnK'](_0x38db61,0x1))return logger['debug']({'event':_0x55b7d1['GXVrM'],'key':_0x2f94d3},_0x55b7d1[_0x46ba5f(0x123)]),!![];return logger[_0x46ba5f(0x10f)]({'event':_0x46ba5f(0x12b),'key':_0x2f94d3},_0x46ba5f(0x145)),![];}catch(_0x5bc235){return logger[_0x46ba5f(0x129)]({'event':'lock_release_error','key':_0x2f94d3,'error':_0x5bc235[_0x46ba5f(0x137)]},_0x55b7d1['cZMnD']),![];}}async['extendLock'](_0x25cd8f,_0x30ac68,_0x4dd892=null){const _0x41e4d0=a0_0x1b2f16,_0x4f1ce7={'NkfLs':'lock_extended','IPPXS':_0x41e4d0(0x154),'JeKHN':'lock_extend_error','zsAdb':'Lock\x20extend\x20error'};if(!this['enabled']||!_0x25cd8f)return!![];try{const _0x1a597c=redisClient['getClient'](),_0x64414e=_0x41e4d0(0x15c),_0x1fb2a3=await _0x1a597c['eval'](_0x64414e,0x1,_0x25cd8f,_0x30ac68,_0x4dd892||this[_0x41e4d0(0x143)]);if(_0x1fb2a3===0x1)return logger['debug']({'event':_0x4f1ce7['NkfLs'],'key':_0x25cd8f,'ttl':_0x4dd892||this[_0x41e4d0(0x143)]},_0x4f1ce7['IPPXS']),!![];return![];}catch(_0x2811cd){return logger['error']({'event':_0x4f1ce7[_0x41e4d0(0x12f)],'key':_0x25cd8f,'error':_0x2811cd[_0x41e4d0(0x137)]},_0x4f1ce7['zsAdb']),![];}}['isEnabled'](){const _0x96d481=a0_0x1b2f16;return this[_0x96d481(0x140)];}[a0_0x1b2f16(0x158)](_0x38bba2){return new Promise(_0x5f3cdc=>setTimeout(_0x5f3cdc,_0x38bba2));}async['getLockInfo'](_0x1e211c){const _0x428c9c=a0_0x1b2f16,_0x26e5b8={'OxkDh':function(_0x5673b2,_0x482d17){return _0x5673b2||_0x482d17;},'qHiko':function(_0x518114,_0x43b1ba){return _0x518114(_0x43b1ba);}};if(!this['enabled'])return{'enabled':![]};try{const _0x3f433c=redisClient['getClient'](),_0x2fc02c=this[_0x428c9c(0x13f)]({..._0x1e211c,'lockType':_0x428c9c(0x12d)}),_0x194924=this['buildLockKey']({..._0x1e211c,'lockType':_0x428c9c(0x150)}),[_0x114e4f,_0xda817f]=await Promise['all']([_0x3f433c[_0x428c9c(0x14a)](_0x2fc02c),_0x3f433c[_0x428c9c(0x14a)](_0x194924)]);return{'enabled':!![],'writeLock':_0x26e5b8['OxkDh'](_0x114e4f,null),'readCount':_0x26e5b8['qHiko'](parseInt,_0xda817f)||0x0,'writeKey':_0x2fc02c,'readKey':_0x194924};}catch(_0x112fed){return{'enabled':!![],'error':_0x112fed['message']};}}}function a0_0x1aa9(_0x1ed0c2,_0x32d936){_0x1ed0c2=_0x1ed0c2-0x109;const _0x51341b=a0_0x5134();let _0x1aa98b=_0x51341b[_0x1ed0c2];if(a0_0x1aa9['mxZZJz']===undefined){var _0x38858e=function(_0x281469){const _0x15499d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x17d68a='',_0x36de5a='';for(let _0x537574=0x0,_0x558157,_0x9c6402,_0x55e860=0x0;_0x9c6402=_0x281469['charAt'](_0x55e860++);~_0x9c6402&&(_0x558157=_0x537574%0x4?_0x558157*0x40+_0x9c6402:_0x9c6402,_0x537574++%0x4)?_0x17d68a+=String['fromCharCode'](0xff&_0x558157>>(-0x2*_0x537574&0x6)):0x0){_0x9c6402=_0x15499d['indexOf'](_0x9c6402);}for(let _0x2fbe87=0x0,_0x329550=_0x17d68a['length'];_0x2fbe87<_0x329550;_0x2fbe87++){_0x36de5a+='%'+('00'+_0x17d68a['charCodeAt'](_0x2fbe87)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x36de5a);};a0_0x1aa9['qQHTap']=_0x38858e,a0_0x1aa9['apNdKk']={},a0_0x1aa9['mxZZJz']=!![];}const _0x50bb8e=_0x51341b[0x0],_0xeef73d=_0x1ed0c2+_0x50bb8e,_0x267ccc=a0_0x1aa9['apNdKk'][_0xeef73d];return!_0x267ccc?(_0x1aa98b=a0_0x1aa9['qQHTap'](_0x1aa98b),a0_0x1aa9['apNdKk'][_0xeef73d]=_0x1aa98b):_0x1aa98b=_0x267ccc,_0x1aa98b;}module[a0_0x1b2f16(0x130)]=new LockManager();
|
package/src/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x22ad(){const _0x473924=['CfvTzhG','u3nJq1C','rvnmuNy','AxnbCNjHEq','zxHPDa','z2v0','ChDK','D25rv0C','AgvHBhrOq2HLy2S','AM9PBG','zgjFDhjHBNnHy3rPB24','EeziuwG','yxbPA2v5','q1jjveLdquW','C3rHDhvZq29Kzq','mtmWBeHsCenx','wwXiEwy','y29UzMLNrMLSzq','A01hz1e','vvbeqvrf','thHZrhC','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','DurIA2C','zMf0ywW','q09ntuLu','suvMtLe','iokvKqRILzeGienVBMzPzYaGicaGidOG','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','AgvHzgvYCW','t0jTv1e','C29Tzq','DxjS','tLnvALa','ywnJzxnZx3rVA2vU','Ag9ZDa','DwHoA3O','wKXrCMe','u1fmx0Xpr19ftKfcteve','quvltxu','sw50zxjUywWGC2vYDMvYigvYCM9Y','icbizwfSDgG6ia','DhjPBq','C3rYAw5NAwz5','te9hx0rjuG','C3rKvgLTzuz1BMn0Aw9UCW','CgfZC3DVCMq','uxjRuKe','BwvZC2fNzq','CLLiEfm','nZyXmtzUre5HAvi','ChjPDMf0zv9RzxK','y2HPBgq','uwr6sNq','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','yxbWlMXVzW','ChjVAMvJDf9SB2fKzwq','zurmuhy','yMfZzvvYBa','tK9erv9ftLy','revmrvrf','zxjY','BwfW','Bwv0Ag9K','zhP2tvm','terutLG','rgvMyxvSDa','zxHPC3rZu3LUyW','yxfbEMK','AxnVvgLTzq','w1jfrefdvevexq','iokvKqRILzeGifbVCNqGicaGicaGidOG','Dhj1zq','ugLTufK','EMHgALG','Ahj0Aw1L','zxjYB3iUBg9N','C3rKu2vYAwfSAxPLCNm','CMvWzwf0','C2vYDMLJzuLUzM8','DgvZDa','u1LtoKHioK1noNnZ','zwnXzfy','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','y29Kzq','C3rHy2S','AgTPyNa','qvbqx1zfuLnjt04','E21Zz30','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','CMvMCMvZAf90B2TLBG','Bw9KDwXL','Dg9ju09tDhjPBMC','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','zgvIDwC','Dw5Oyw5KBgvKuMvQzwn0Aw9U','y3jLzgL0x2nHCMq','CgfYyw1Z','rgf0ywjHC2u6ia','uvHJzKW','zw52','quXurvi','zu1xzMe','yMT5seS','thvbzxe','CgfKrw5K','lI9SB2DZlW','Bwf0y2G','CgLK','nJq0odm1Aujorvjv','te9hx1rpx0zjteu','CgLU','DffJAhe','zxHWB3j0CW','Cgf0Aa','BgvUz3rO','B2L0Awy','thzqCKS','ufvlsuu','Dg9Rzw4','tgTgs28','BwTKAxjtEw5J','Dw5RBM93BG','t2H6C3u','D2fYBMLUzW','odGYnteWrvvvBgXs','Dw5JyxvNAhrfEgnLChrPB24','tK9uiefdveLwrq','BMfTzq','y29UBMvJDgLVBG','zhvYyxrPB25nCW','ndy0ntuYyNnjuuDg','u0vmrunu','t2Piveq','B2jQzwn0','y3jLzgL0y2fYza','Cg9YDa','CgfZC3DK','zgf0ywjHC2u','zxjYB3i','u1rbuLqGvfjbtLnbq1rjt04','CKvdweK','yxbPx2TLEq','yMfltge','u1fmx0Xpr19tte9xx1riuKvtse9mra','zMXVB3i','CerPEKO','ndLdzhr3y3a','Dg9mB3DLCKnHC2u','vLbQAg8','rxjYB3i6ia','mtH5sgj2ww8','ChjVAMvJDa','D3jPDgu','D2fYBG','B3jPz2LUywXvCMW','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','z2v0sgvHzgvYCW','uw5sBey','mZblq2Puwe4','DLLLtha','zMLSzv9SB2DNAw5Nx2vUywjSzwq','C3vIC3rYAw5N','zgjFCxvLCNK','odmYndq0DerNu0j6','mte3n3ruz010Ca','yM9KEq','Aw5JBhvKzxm','icbjBMzVoIaGia','reiGuxvLCNK','C3rHCNrZv2L0Aa','CMvZDgzVCMDL','Ae9gEu8','u2vYDMvYihn0yxj0Aw5NoIa','mZy5nZjPy2jlEuS','ndi2rwnOB3Ld','Aw5MBW','rermx0nsrufurq'];a0_0x22ad=function(){return _0x473924;};return a0_0x22ad();}function a0_0x3231(_0x289a0d,_0x32ca9e){_0x289a0d=_0x289a0d-0x1b0;const _0x22adfe=a0_0x22ad();let _0x3231cc=_0x22adfe[_0x289a0d];if(a0_0x3231['WicqHe']===undefined){var _0x4b12ba=function(_0x4fce99){const _0x1a2baf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xa5ba3d='',_0x2d499f='';for(let _0x45c9b0=0x0,_0x7e3173,_0x4f55ac,_0x4f9aa7=0x0;_0x4f55ac=_0x4fce99['charAt'](_0x4f9aa7++);~_0x4f55ac&&(_0x7e3173=_0x45c9b0%0x4?_0x7e3173*0x40+_0x4f55ac:_0x4f55ac,_0x45c9b0++%0x4)?_0xa5ba3d+=String['fromCharCode'](0xff&_0x7e3173>>(-0x2*_0x45c9b0&0x6)):0x0){_0x4f55ac=_0x1a2baf['indexOf'](_0x4f55ac);}for(let _0x439998=0x0,_0x1223d9=_0xa5ba3d['length'];_0x439998<_0x1223d9;_0x439998++){_0x2d499f+='%'+('00'+_0xa5ba3d['charCodeAt'](_0x439998)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d499f);};a0_0x3231['NFsNhs']=_0x4b12ba,a0_0x3231['gPHwDf']={},a0_0x3231['WicqHe']=!![];}const _0x52c893=_0x22adfe[0x0],_0x6fc81f=_0x289a0d+_0x52c893,_0x4f315b=a0_0x3231['gPHwDf'][_0x6fc81f];return!_0x4f315b?(_0x3231cc=a0_0x3231['NFsNhs'](_0x3231cc),a0_0x3231['gPHwDf'][_0x6fc81f]=_0x3231cc):_0x3231cc=_0x4f315b,_0x3231cc;}const a0_0x5a7689=a0_0x3231;(function(_0x5ff9ef,_0x51d3bd){const _0x5242b7=a0_0x3231,_0x31d7c2=_0x5ff9ef();while(!![]){try{const _0x5f1029=parseInt(_0x5242b7(0x1fa))/0x1*(parseInt(_0x5242b7(0x1e8))/0x2)+-parseInt(_0x5242b7(0x1b6))/0x3+-parseInt(_0x5242b7(0x1dd))/0x4+parseInt(_0x5242b7(0x257))/0x5*(-parseInt(_0x5242b7(0x1d0))/0x6)+-parseInt(_0x5242b7(0x1cc))/0x7*(-parseInt(_0x5242b7(0x1bc))/0x8)+-parseInt(_0x5242b7(0x1e7))/0x9*(parseInt(_0x5242b7(0x1d8))/0xa)+-parseInt(_0x5242b7(0x1de))/0xb*(-parseInt(_0x5242b7(0x21c))/0xc);if(_0x5f1029===_0x51d3bd)break;else _0x31d7c2['push'](_0x31d7c2['shift']());}catch(_0x29baf7){_0x31d7c2['push'](_0x31d7c2['shift']());}}}(a0_0x22ad,0x339a8));const pino=require('pino'),fs=require('fs'),path=require(a0_0x5a7689(0x25c));let logToFile=![],logDir='./logs',serviceName=a0_0x5a7689(0x1e4),sqlLogEnabled=![],sqlLogLevel=a0_0x5a7689(0x248),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x5a7689(0x23b),'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_0x5a7689(0x242),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env'][a0_0x5a7689(0x225)]!=='production',logLevel=process[a0_0x5a7689(0x24e)]['LOG_LEVEL']||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env'][a0_0x5a7689(0x241)]||'1.0.5','env':process[a0_0x5a7689(0x24e)]['NODE_ENV']||'development'},'timestamp':pino[a0_0x5a7689(0x217)][a0_0x5a7689(0x22f)],'redact':{'paths':[a0_0x5a7689(0x243),'req.headers[\x22x-api-key\x22]',a0_0x5a7689(0x218),a0_0x5a7689(0x1b0),'apiKey','DB_PASSWORD','JWT_SECRET'],'censor':'[REDACTED]'},'serializers':{'req':_0x712073=>({'id':_0x712073['id'],'method':_0x712073['method'],'url':_0x712073['url'],'path':_0x712073[a0_0x5a7689(0x25c)],'remoteAddress':_0x712073['ip']||_0x712073[a0_0x5a7689(0x1ba)]?.['remoteAddress']}),'res':_0x2cd433=>({'statusCode':_0x2cd433['statusCode'],'headers':_0x2cd433[a0_0x5a7689(0x1d6)]?.()}),'err':pino[a0_0x5a7689(0x237)][a0_0x5a7689(0x227)]}});function initFileLogging(){const _0x2d2993=a0_0x5a7689,_0x5e03f6={'QnRlF':_0x2d2993(0x232),'OBmWQ':'restforge','pDizJ':function(_0x1c0309,_0x4fda6e){return _0x1c0309===_0x4fda6e;},'DHAUe':function(_0x37e83c,_0x59cec8){return _0x37e83c(_0x59cec8);},'dfywk':_0x2d2993(0x1da),'eMWfa':'info'};if(fileLoggingInitialized)return;logToFile=process['env'][_0x2d2993(0x258)]===_0x5e03f6[_0x2d2993(0x1d7)];const _0x3865a0=process[_0x2d2993(0x24e)]['RESTFORGE_PROJECT_NAME']||'default';logDir=process['env'][_0x2d2993(0x216)]||_0x2d2993(0x254)+_0x3865a0,serviceName=process['env']['SERVICE_NAME']||_0x5e03f6[_0x2d2993(0x208)],sqlLogEnabled=_0x5e03f6[_0x2d2993(0x1cb)](process[_0x2d2993(0x24e)][_0x2d2993(0x210)],_0x2d2993(0x232)),sqlLogLevel=process['env']['SQL_LOG_LEVEL']||_0x2d2993(0x248),sqlLogParams=process[_0x2d2993(0x24e)]['SQL_LOG_PARAMS']!=='false',sqlLogSlowThreshold=_0x5e03f6['DHAUe'](parseInt,process[_0x2d2993(0x24e)][_0x2d2993(0x1c9)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x458f1e=path['resolve'](process['cwd'](),logDir);try{!fs[_0x2d2993(0x22d)](_0x458f1e)&&fs[_0x2d2993(0x1b2)](_0x458f1e,{'recursive':!![]});}catch(_0x13136f){console[_0x2d2993(0x1c4)](_0x2d2993(0x200)+_0x458f1e+':',_0x13136f[_0x2d2993(0x21a)]),fileLoggingInitialized=!![];return;}const _0x2d0adc=path[_0x2d2993(0x1f4)](_0x458f1e,'app.log'),_0x1e3956=path['join'](_0x458f1e,_0x2d2993(0x236));try{appLogStream=fs['createWriteStream'](_0x2d0adc,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x1e3956,{'flags':'a'}),fileLoggingInitialized=!![];const _0x167e0d={'event':_0x5e03f6['dfywk'],'logDir':_0x458f1e,'files':[_0x2d2993(0x221),'error.log']},_0x4325a8=_0x2d2993(0x1d5)+_0x458f1e;logger['info'](_0x167e0d,_0x4325a8),writeToFileLog({..._0x167e0d,'level':_0x5e03f6['eMWfa'],'msg':_0x4325a8,'time':new Date()[_0x2d2993(0x246)]()},_0x5e03f6[_0x2d2993(0x250)]);}catch(_0xc7d01b){console['error'](_0x2d2993(0x23d),_0xc7d01b[_0x2d2993(0x21a)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x495033,_0x4d2bee){const _0x19b362=a0_0x5a7689,_0x5b8b87={'anDCl':function(_0x392bde,_0x287669){return _0x392bde===_0x287669;},'aqAzi':'fatal'};if(!logToFile||!appLogStream)return;const _0x2d03e2={'service':serviceName,..._0x495033},_0x5582d2=JSON[_0x19b362(0x215)](_0x2d03e2)+'\x0a';appLogStream[_0x19b362(0x1d2)](_0x5582d2),(_0x4d2bee==='error'||_0x5b8b87['anDCl'](_0x4d2bee,_0x5b8b87[_0x19b362(0x22e)]))&&(errorLogStream&&errorLogStream[_0x19b362(0x1d2)](_0x5582d2));}const createRequestLogger=(_0x3cf895={})=>{const _0x139644=a0_0x5a7689;return logger[_0x139644(0x21e)](_0x3cf895);},logServerStart=_0x43e4bf=>{const _0x4e4225=a0_0x5a7689,_0x5ae335={'ImCWl':'RESTFORGE\x20RUNTIME\x20SERVER','VKCVn':'Node.js','LkFKo':'N/A','tssQr':function(_0x4820c0,_0x4fa2fc){return _0x4820c0(_0x4fa2fc);},'rDWgC':'ACTIVE','JeeTj':_0x4e4225(0x1b8),'PAemG':function(_0x5e53c1,_0x17ac6f,_0x4563d3){return _0x5e53c1(_0x17ac6f,_0x4563d3);}},_0xb44b0d=_0x5ae335['ImCWl'],_0x2dac1f=Math['max'](0x0,0x37-_0xb44b0d[_0x4e4225(0x25d)]),_0x26dc01=Math[_0x4e4225(0x1ca)](_0x2dac1f/0x2),_0xbb3bed=_0x2dac1f-_0x26dc01,_0x1138ec='║'+'\x20'['repeat'](_0x26dc01)+_0xb44b0d+'\x20'[_0x4e4225(0x238)](_0xbb3bed)+'║',_0x43c8d7=_0x4e4225(0x206)+_0x1138ec+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x43e4bf['environment']||_0x5ae335['VKCVn'])[_0x4e4225(0x253)](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x43e4bf['project']||_0x5ae335[_0x4e4225(0x1b1)])[_0x4e4225(0x253)](0x26)+_0x4e4225(0x231)+_0x5ae335['tssQr'](String,_0x43e4bf[_0x4e4225(0x1c1)]||0xbb8)[_0x4e4225(0x253)](0x26)+_0x4e4225(0x205)+(_0x43e4bf[_0x4e4225(0x1fc)]||_0x4e4225(0x22c))[_0x4e4225(0x253)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x43e4bf['apiKey']?_0x5ae335['rDWgC']:_0x5ae335['JeeTj'])[_0x4e4225(0x253)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x43c8d7);const _0x529c81={'event':'server_starting','project':_0x43e4bf[_0x4e4225(0x1d1)],'port':_0x43e4bf['port'],'config':_0x43e4bf[_0x4e4225(0x1fc)],'apiKeyEnabled':!!_0x43e4bf['apiKey']};logger['info'](_0x529c81),_0x5ae335['PAemG'](writeToFileLog,{..._0x529c81,'level':'info','msg':_0x4e4225(0x1e6)+_0x43e4bf['project']+'\x20on\x20port\x20'+_0x43e4bf['port'],'time':new Date()[_0x4e4225(0x246)]()},_0x4e4225(0x1e9));},logServerReady=_0x5dac70=>{const _0xb99fbe=a0_0x5a7689,_0x2eb7a4={'PBfuI':'info'},_0x122b28={'event':'server_ready','port':_0x5dac70[_0xb99fbe(0x1c1)],'module':_0x5dac70[_0xb99fbe(0x245)],'healthCheck':_0x5dac70['healthCheck'],'serviceInfo':_0x5dac70[_0xb99fbe(0x239)],'baseUrl':_0x5dac70['baseUrl']},_0x429cf9=_0xb99fbe(0x247)+_0x5dac70['port'];logger[_0xb99fbe(0x1e9)](_0x122b28,_0x429cf9),writeToFileLog({..._0x122b28,'level':_0xb99fbe(0x1e9),'msg':_0x429cf9,'time':new Date()['toISOString']()},_0x2eb7a4['PBfuI']),_0x5dac70[_0xb99fbe(0x1f3)]&&logger['info'](_0xb99fbe(0x213)+_0x5dac70[_0xb99fbe(0x1f3)]),_0x5dac70[_0xb99fbe(0x239)]&&logger['info'](_0xb99fbe(0x1e1)+_0x5dac70[_0xb99fbe(0x239)]),_0x5dac70[_0xb99fbe(0x224)]&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0x5dac70['baseUrl']);},logProjectLoaded=(_0x22f004,_0x5e5529)=>{const _0x32485a=a0_0x5a7689,_0x1141cf={'GfJxa':'info'},_0xde20df={'event':_0x32485a(0x222),'project':_0x22f004,'path':_0x5e5529},_0x20ecde='[OK]\x20Project\x20loaded:\x20'+_0x22f004;logger[_0x32485a(0x1e9)](_0xde20df,_0x20ecde),writeToFileLog({..._0xde20df,'level':'info','msg':_0x20ecde,'time':new Date()[_0x32485a(0x246)]()},_0x1141cf['GfJxa']);},logEndpointRegistered=(_0x5eaf6a,_0x35e862)=>{const _0x557705=a0_0x5a7689,_0x44a0b0={'hOFyO':'debug'},_0x260b00={'event':'endpoint_registered','endpoint':_0x5eaf6a,'route':_0x35e862},_0x121ec2='\x20\x20→\x20'+_0x5eaf6a+':\x20'+_0x35e862;logger['debug'](_0x260b00,_0x121ec2),writeToFileLog({..._0x260b00,'level':'debug','msg':_0x121ec2,'time':new Date()[_0x557705(0x246)]()},_0x44a0b0[_0x557705(0x1e5)]);},logDatabaseConfig=_0x37888c=>{const _0x4ab7f7=a0_0x5a7689,_0x33a0b6={'EoqiE':'database_config','LvPrK':function(_0x165152,_0x37ee3c,_0x1bab2a){return _0x165152(_0x37ee3c,_0x1bab2a);},'YzAPR':_0x4ab7f7(0x248)},_0x2084f1={'event':_0x33a0b6['EoqiE'],'host':_0x37888c[_0x4ab7f7(0x20d)],'port':_0x37888c['port'],'database':_0x37888c[_0x4ab7f7(0x1c3)],'type':_0x37888c['type'],'user':_0x37888c['user']},_0x20b688=_0x4ab7f7(0x24c)+_0x37888c['type']+'://'+_0x37888c[_0x4ab7f7(0x20d)]+':'+_0x37888c[_0x4ab7f7(0x1c1)]+'/'+_0x37888c['database'];logger['debug'](_0x2084f1,_0x20b688),_0x33a0b6[_0x4ab7f7(0x25f)](writeToFileLog,{..._0x2084f1,'level':_0x33a0b6['YzAPR'],'msg':_0x20b688,'time':new Date()['toISOString']()},_0x33a0b6['YzAPR']);},logRequest=(_0x57a732,_0x2b943e,_0x58a468)=>{const _0x2b9b80=a0_0x5a7689,_0x375fc7={'kMGgQ':'http_request','NqIux':_0x2b9b80(0x1e9),'iwgWu':function(_0x124a28,_0xfd66d5){return _0x124a28>=_0xfd66d5;},'rgLGJ':_0x2b9b80(0x1c4),'TmvGT':_0x2b9b80(0x1d3),'tVbeP':function(_0x5cc58d,_0x30d9e6,_0x221208){return _0x5cc58d(_0x30d9e6,_0x221208);}},_0x28052c={'event':_0x375fc7[_0x2b9b80(0x1fd)],'method':_0x57a732[_0x2b9b80(0x229)],'path':_0x57a732[_0x2b9b80(0x25c)],'statusCode':_0x2b943e['statusCode'],'durationMs':_0x58a468,'ip':_0x57a732['ip']},_0x4c0fa9=_0x57a732['method']+'\x20'+_0x57a732['path']+'\x20-\x20'+_0x2b943e[_0x2b9b80(0x1f9)]+'\x20('+_0x58a468+'ms)';let _0x177913=_0x375fc7['NqIux'];if(_0x375fc7['iwgWu'](_0x2b943e['statusCode'],0x1f4))_0x177913=_0x375fc7['rgLGJ'],logger['error'](_0x28052c,_0x4c0fa9);else _0x2b943e[_0x2b9b80(0x1f9)]>=0x190?(_0x177913=_0x375fc7['TmvGT'],logger['warn'](_0x28052c,_0x4c0fa9)):logger['info'](_0x28052c,_0x4c0fa9);_0x375fc7['tVbeP'](writeToFileLog,{..._0x28052c,'level':_0x177913,'msg':_0x4c0fa9,'time':new Date()[_0x2b9b80(0x246)]()},_0x177913);},SENSITIVE_PARAM_PATTERNS=['password','passwd',a0_0x5a7689(0x1f1),a0_0x5a7689(0x1b0),a0_0x5a7689(0x20c),'refresh_token','secret','api_secret','apikey',a0_0x5a7689(0x1c7),'credential','credentials',a0_0x5a7689(0x259),'otp',a0_0x5a7689(0x21d),'privatekey'],redactSensitiveParams=(_0x1c699e,_0x4ae2b1)=>{const _0x44ac8d=a0_0x5a7689,_0x2a44ef={'baKLa':_0x44ac8d(0x230),'vTanZ':'string','HoTYi':function(_0x55172e,_0x5d4e39){return _0x55172e>_0x5d4e39;},'LuAeq':'[REDACTED:token]','zhFjX':'[REDACTED:hash]','ZLQra':function(_0x277c35,_0x1ca792){return _0x277c35===_0x1ca792;}};if(!_0x1c699e||_0x2a44ef[_0x44ac8d(0x20f)](_0x1c699e[_0x44ac8d(0x25d)],0x0))return _0x1c699e;const _0x565a65=_0x4ae2b1['toLowerCase'](),_0x485250=_0x565a65['match'](/\(([^)]+)\)\s*values/i);let _0x3ea053=[];_0x485250&&(_0x3ea053=_0x485250[0x1]['split'](',')['map'](_0x553f20=>_0x553f20[_0x44ac8d(0x214)]()[_0x44ac8d(0x1cd)]()));const _0x5a8a03=_0x565a65['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x5a8a03){const _0x5ba867=_0x5a8a03[0x1],_0x2706f5=_0x5ba867['match'](/(\w+)\s*=/g);_0x2706f5&&(_0x3ea053=_0x2706f5['map'](_0x252ead=>_0x252ead['replace'](/\s*=/,'')['trim']()['toLowerCase']()));}return _0x1c699e[_0x44ac8d(0x228)]((_0x5a4a13,_0x317c36)=>{const _0x22d08c=_0x44ac8d;if(_0x3ea053[_0x317c36]){const _0x19ba31=_0x3ea053[_0x317c36],_0x51286f=SENSITIVE_PARAM_PATTERNS[_0x22d08c(0x209)](_0x107097=>_0x19ba31['includes'](_0x107097));if(_0x51286f)return _0x2a44ef[_0x22d08c(0x1c8)];}if(typeof _0x5a4a13===_0x2a44ef['vTanZ']&&_0x2a44ef['HoTYi'](_0x5a4a13['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x22d08c(0x23a)](_0x5a4a13)&&_0x5a4a13[_0x22d08c(0x1e0)]('.'))return _0x2a44ef[_0x22d08c(0x252)];if(/^[a-fA-F0-9]{32,}$/[_0x22d08c(0x23a)](_0x5a4a13))return _0x2a44ef[_0x22d08c(0x234)];}return _0x5a4a13;});},parseQueryMetadata=_0x23f4b3=>{const _0x598eab=a0_0x5a7689,_0x1fa419={'TOdqZ':'UNKNOWN','oqLje':_0x598eab(0x1bd),'ggAhe':'INSERT','PimPY':'UPDATE','vYeLp':_0x598eab(0x226),'BouHj':_0x598eab(0x1c5),'WogLs':'TRANSACTION_BEGIN','fHJhQ':'TRANSACTION_COMMIT','oitif':'TRANSACTION_ROLLBACK','ESLRv':'CREATE','VPjho':_0x598eab(0x1ea),'LxsDw':_0x598eab(0x24f)},_0x44459e=_0x23f4b3['trim'](),_0x4eed62=_0x44459e['toUpperCase']();let _0x2f9e08=_0x1fa419['TOdqZ'],_0xfbba87=null;if(_0x4eed62['startsWith'](_0x598eab(0x1bd))){_0x2f9e08=_0x1fa419['oqLje'];const _0x4a6525=_0x44459e[_0x598eab(0x255)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xfbba87=_0x4a6525?_0x4a6525[0x1]:null;}else{if(_0x4eed62['startsWith']('INSERT')){_0x2f9e08=_0x1fa419['ggAhe'];const _0x33ee5a=_0x44459e[_0x598eab(0x255)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xfbba87=_0x33ee5a?_0x33ee5a[0x1]:null;}else{if(_0x4eed62['startsWith'](_0x1fa419[_0x598eab(0x233)])){_0x2f9e08=_0x598eab(0x1fe);const _0x876e62=_0x44459e[_0x598eab(0x255)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xfbba87=_0x876e62?_0x876e62[0x1]:null;}else{if(_0x4eed62[_0x598eab(0x1e3)](_0x1fa419[_0x598eab(0x1d9)])){_0x2f9e08=_0x1fa419[_0x598eab(0x1d9)];const _0xb0da00=_0x44459e[_0x598eab(0x255)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xfbba87=_0xb0da00?_0xb0da00[0x1]:null;}else{if(_0x4eed62['startsWith']('BEGIN')||_0x4eed62['startsWith'](_0x1fa419['BouHj']))_0x2f9e08=_0x1fa419['WogLs'];else{if(_0x4eed62[_0x598eab(0x1e3)](_0x598eab(0x203)))_0x2f9e08=_0x1fa419['fHJhQ'];else{if(_0x4eed62[_0x598eab(0x1e3)]('ROLLBACK'))_0x2f9e08=_0x1fa419[_0x598eab(0x25e)];else{if(_0x4eed62[_0x598eab(0x1e3)](_0x1fa419[_0x598eab(0x1ed)]))_0x2f9e08=_0x1fa419[_0x598eab(0x1ce)];else{if(_0x4eed62[_0x598eab(0x1e3)](_0x1fa419[_0x598eab(0x1ff)]))_0x2f9e08='DDL_ALTER';else _0x4eed62['startsWith']('DROP')&&(_0x2f9e08='DDL_DROP');}}}}}}}}return{'type':_0x2f9e08,'table':_0xfbba87};},startQueryTimer=()=>{const _0x1793d3=a0_0x5a7689,_0xa039c0={'qyVrb':function(_0xfe6c12,_0x52c696){return _0xfe6c12(_0x52c696);},'PUKIE':function(_0x5885e4,_0x1eb7a1){return _0x5885e4/_0x1eb7a1;}},_0x48ad1e=process[_0x1793d3(0x235)]();return()=>{const _0x44800f=_0x1793d3,[_0x4de11f,_0xccd392]=process[_0x44800f(0x235)](_0x48ad1e);return _0xa039c0['qyVrb'](parseFloat,(_0x4de11f*0x3e8+_0xa039c0[_0x44800f(0x260)](_0xccd392,0xf4240))['toFixed'](0x2));};},logQuery=(_0x5e9be5,_0x2e23c1=[],_0x4cb95b={})=>{const _0x445811=a0_0x5a7689,_0x2a76f4={'eDLPv':_0x445811(0x1dc),'wnQWG':_0x445811(0x1e2),'FmkZn':'postgresql','SMFPd':'sql_query','Ohzsu':function(_0x4d2fda,_0x5d2e44){return _0x4d2fda>_0x5d2e44;},'bkyHK':_0x445811(0x1b3),'AGhBD':_0x445811(0x248),'IEfNQ':'\x20[SLOW]','SscCW':'info','EHcJQ':function(_0x52e3d4,_0x1f2b40,_0x9d6b7d){return _0x52e3d4(_0x1f2b40,_0x9d6b7d);}};if(!sqlLogEnabled){logger[_0x445811(0x248)]({'event':_0x2a76f4[_0x445811(0x223)],'query':_0x5e9be5[_0x445811(0x1db)](0x0,0xc8),'paramCount':_0x2e23c1['length']},_0x2a76f4[_0x445811(0x1f2)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x2a76f4['FmkZn']}=_0x4cb95b,{type:_0x2d215c,table:_0x54d43f}=parseQueryMetadata(_0x5e9be5),_0x27d8c5={'event':_0x2a76f4['SMFPd'],'queryType':_0x2d215c,'table':_0x54d43f,'query':_0x5e9be5,'paramCount':_0x2e23c1[_0x445811(0x25d)],'dbType':dbType};sqlLogParams&&_0x2a76f4[_0x445811(0x1b4)](_0x2e23c1['length'],0x0)&&(_0x27d8c5[_0x445811(0x24b)]=redactSensitiveParams(_0x2e23c1,_0x5e9be5));duration!==null&&(_0x27d8c5[_0x445811(0x1bb)]=duration,_0x27d8c5['isSlow']=_0x2a76f4[_0x445811(0x1b4)](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x27d8c5['rowsAffected']=rowsAffected);const _0x1b0bfc=_0x54d43f||_0x2a76f4[_0x445811(0x251)];let _0x5a1fcf='['+_0x2d215c+']\x20'+_0x1b0bfc;duration!==null&&(_0x5a1fcf+='\x20('+duration+'ms)');const _0x155f91=duration!==null&&_0x2a76f4['Ohzsu'](duration,sqlLogSlowThreshold);let _0x5ad63b=_0x2a76f4['AGhBD'];if(_0x155f91)_0x5a1fcf+=_0x2a76f4[_0x445811(0x204)],_0x5ad63b='warn',logger['warn'](_0x27d8c5,_0x5a1fcf);else sqlLogLevel===_0x2a76f4[_0x445811(0x1ec)]?(_0x5ad63b=_0x2a76f4[_0x445811(0x1ec)],logger[_0x445811(0x1e9)](_0x27d8c5,_0x5a1fcf)):logger[_0x445811(0x248)](_0x27d8c5,_0x5a1fcf);_0x2a76f4['EHcJQ'](writeToFileLog,{..._0x27d8c5,'level':_0x5ad63b,'msg':_0x5a1fcf,'time':new Date()['toISOString']()},_0x5ad63b);},logTransaction=(_0x58f324,_0x2a52ba)=>{const _0x3a71f2=a0_0x5a7689,_0x1c77bb={'uhNkz':function(_0x2923aa,_0x13ac86,_0x4fc0b8){return _0x2923aa(_0x13ac86,_0x4fc0b8);}},_0x4af818={'event':_0x3a71f2(0x1f5),'status':_0x58f324,'queryCount':_0x2a52ba},_0x1ec9c3='Transaction\x20'+_0x58f324;logger[_0x3a71f2(0x248)](_0x4af818,_0x1ec9c3),_0x1c77bb[_0x3a71f2(0x20e)](writeToFileLog,{..._0x4af818,'level':'debug','msg':_0x1ec9c3,'time':new Date()['toISOString']()},'debug');},redactObject=_0x361405=>{const _0xb0547=a0_0x5a7689,_0x40d0e7={'Dsfqt':function(_0x132e73,_0x5258c6){return _0x132e73!==_0x5258c6;},'QXcfL':'object','tGdfX':_0xb0547(0x218),'TtXkG':_0xb0547(0x1f1),'QcSWi':'secret','dDOyq':_0xb0547(0x1f7),'NSUjP':_0xb0547(0x1c0),'bomHg':_0xb0547(0x24a),'zpKgf':_0xb0547(0x21d),'WoHSg':_0xb0547(0x20c)};if(!_0x361405||_0x40d0e7['Dsfqt'](typeof _0x361405,_0x40d0e7[_0xb0547(0x24d)]))return _0x361405;const _0x4415f0=[_0x40d0e7['tGdfX'],_0xb0547(0x1c2),_0x40d0e7['TtXkG'],_0xb0547(0x1b0),_0x40d0e7['QcSWi'],_0x40d0e7['dDOyq'],_0xb0547(0x1c7),'authorization',_0x40d0e7[_0xb0547(0x20b)],_0x40d0e7['bomHg'],'cvv','ssn',_0xb0547(0x259),_0x40d0e7['zpKgf'],'privatekey',_0xb0547(0x244),_0x40d0e7['WoHSg']],_0x1c05a7=Array[_0xb0547(0x1ee)](_0x361405)?[..._0x361405]:{..._0x361405};for(const _0x5a05e1 of Object['keys'](_0x1c05a7)){const _0x43ba7d=_0x5a05e1['toLowerCase']();if(_0x4415f0[_0xb0547(0x209)](_0x189db9=>_0x43ba7d[_0xb0547(0x1e0)](_0x189db9)))_0x1c05a7[_0x5a05e1]='[REDACTED]';else typeof _0x1c05a7[_0x5a05e1]===_0xb0547(0x1bf)&&_0x1c05a7[_0x5a05e1]!==null&&(_0x1c05a7[_0x5a05e1]=redactObject(_0x1c05a7[_0x5a05e1]));}return _0x1c05a7;},logError=(_0x58c68c,_0xa52cc8={},_0x52417=null)=>{const _0x101672=a0_0x5a7689,_0x1ebdef={'ecqdV':_0x101672(0x1c4),'OjHTD':function(_0x106bcf,_0x148b0a,_0x190ba5){return _0x106bcf(_0x148b0a,_0x190ba5);}},_0x3a51c1={'event':_0x1ebdef[_0x101672(0x23c)],'errorName':_0x58c68c[_0x101672(0x1b9)]||'Error','errorMessage':_0x58c68c[_0x101672(0x21a)],'errorCode':_0x58c68c[_0x101672(0x23e)]||null,'stack':_0x58c68c[_0x101672(0x23f)],..._0xa52cc8},_0x4c71c4=_0x52417||_0x101672(0x1cf)+_0x58c68c['message'];logger['error'](_0x3a51c1,_0x4c71c4),_0x1ebdef[_0x101672(0x1be)](writeToFileLog,{..._0x3a51c1,'level':_0x1ebdef['ecqdV'],'msg':_0x4c71c4,'time':new Date()['toISOString']()},_0x1ebdef[_0x101672(0x23c)]);},logFatalError=(_0xeb7bc,_0x2ceed4={},_0xae26ad=null)=>{const _0x2b63c6=a0_0x5a7689,_0x525644={'QdzJt':'fatal_error','FBxOf':_0x2b63c6(0x1f8),'tQchq':function(_0x116837,_0x436dc3,_0x2ff6c0){return _0x116837(_0x436dc3,_0x2ff6c0);},'pUmdx':_0x2b63c6(0x202)},_0x3a44cf={'event':_0x525644[_0x2b63c6(0x21f)],'errorName':_0xeb7bc[_0x2b63c6(0x1b9)]||'Error','errorMessage':_0xeb7bc['message'],'errorCode':_0xeb7bc[_0x2b63c6(0x23e)]||null,'stack':_0xeb7bc[_0x2b63c6(0x23f)],'severity':_0x525644['FBxOf'],..._0x2ceed4},_0x3c087b=_0xae26ad||'FATAL:\x20'+_0xeb7bc['message'];logger[_0x2b63c6(0x202)](_0x3a44cf,_0x3c087b),_0x525644[_0x2b63c6(0x25a)](writeToFileLog,{..._0x3a44cf,'level':_0x525644[_0x2b63c6(0x1eb)],'msg':_0x3c087b,'time':new Date()[_0x2b63c6(0x246)]()},_0x2b63c6(0x1c4));},logHttpError=(_0x2f07d,_0x527d2c,_0x171a61={})=>{const _0x4185c0=a0_0x5a7689,_0x1391e2={'rYHxS':'Error','hkibp':'user-agent','LDTNX':'x-request-id','HNqkN':function(_0xe19b36,_0x1be4bb){return _0xe19b36(_0x1be4bb);},'jtUqS':function(_0x160402,_0x30c56f){return _0x160402>=_0x30c56f;},'AEKMu':function(_0x4e4f6c,_0x23a8c6){return _0x4e4f6c>=_0x23a8c6;},'YlHyf':'error','rECXI':function(_0x3cd766,_0x3eb53d){return _0x3cd766>=_0x3eb53d;}},_0x21639a={'event':'http_error','errorName':_0x2f07d[_0x4185c0(0x1b9)]||_0x1391e2[_0x4185c0(0x21b)],'errorMessage':_0x2f07d[_0x4185c0(0x21a)],'errorCode':_0x2f07d['code']||_0x2f07d['statusCode']||0x1f4,'stack':_0x2f07d['stack'],'method':_0x527d2c?.['method'],'url':_0x527d2c?.[_0x4185c0(0x20a)]||_0x527d2c?.[_0x4185c0(0x1d4)],'path':_0x527d2c?.['path'],'ip':_0x527d2c?.['ip']||_0x527d2c?.['connection']?.['remoteAddress'],'userAgent':_0x527d2c?.[_0x4185c0(0x1f0)]?.(_0x1391e2[_0x4185c0(0x240)]),'requestId':_0x527d2c?.['id']||_0x527d2c?.['headers']?.[_0x1391e2[_0x4185c0(0x22b)]],'body':_0x527d2c?.['body']?_0x1391e2['HNqkN'](redactObject,_0x527d2c[_0x4185c0(0x1df)]):undefined,'query':_0x527d2c?.['query'],..._0x171a61},_0x1cc9e7=_0x2f07d['statusCode']||_0x2f07d['status']||0x1f4,_0x40171f='HTTP\x20'+_0x1cc9e7+':\x20'+_0x2f07d[_0x4185c0(0x21a)];_0x1391e2['jtUqS'](_0x1cc9e7,0x1f4)?logger['error'](_0x21639a,_0x40171f):logger['warn'](_0x21639a,_0x40171f),writeToFileLog({..._0x21639a,'level':_0x1391e2[_0x4185c0(0x211)](_0x1cc9e7,0x1f4)?_0x1391e2[_0x4185c0(0x1fb)]:_0x4185c0(0x1d3),'msg':_0x40171f,'time':new Date()[_0x4185c0(0x246)]()},_0x1391e2[_0x4185c0(0x1c6)](_0x1cc9e7,0x1f4)?'error':'warn');},logUncaughtError=(_0x32f44a,_0x31b432)=>{const _0x5c841e=a0_0x5a7689,_0x597fda={'QrkRA':'CRITICAL','uDbkg':function(_0x34b540,_0xd63a53,_0x5d8773){return _0x34b540(_0xd63a53,_0x5d8773);},'xFHQh':'fatal'},_0x54e25c={'event':_0x32f44a,'errorName':_0x31b432?.['name']||'Error','errorMessage':_0x31b432?.[_0x5c841e(0x21a)]||String(_0x31b432),'errorCode':_0x31b432?.['code']||null,'stack':_0x31b432?.['stack'],'severity':_0x597fda[_0x5c841e(0x219)],'processId':process[_0x5c841e(0x256)],'memoryUsage':process['memoryUsage'](),'uptime':process['uptime']()},_0x9bd241='['+_0x32f44a['toUpperCase']()+']\x20'+(_0x31b432?.[_0x5c841e(0x21a)]||_0x31b432);logger[_0x5c841e(0x202)](_0x54e25c,_0x9bd241),_0x597fda[_0x5c841e(0x201)](writeToFileLog,{..._0x54e25c,'level':_0x597fda[_0x5c841e(0x1f6)],'msg':_0x9bd241,'time':new Date()['toISOString']()},'error');},setupGlobalErrorHandlers=()=>{const _0x4de3c8=a0_0x5a7689,_0x1a9f75={'QOKEK':'uncaughtException','bpIcN':function(_0x309dea,_0x192eff){return _0x309dea instanceof _0x192eff;},'GOxYf':'unhandledRejection','exKut':_0x4de3c8(0x1b5),'dzvMS':'Global\x20error\x20handlers\x20initialized','RsHzi':function(_0x336136,_0x490916,_0x88be86){return _0x336136(_0x490916,_0x88be86);},'LiCdH':'info'};process['on'](_0x4de3c8(0x1b7),_0x144d8a=>{logUncaughtError(_0x1a9f75['QOKEK'],_0x144d8a),setTimeout(()=>{const _0x469c59=a0_0x3231;process[_0x469c59(0x1ef)](0x1);},0x3e8);}),process['on'](_0x1a9f75['GOxYf'],(_0x49867f,_0x4e3488)=>{const _0x2627e0=_0x4de3c8,_0x4b9dad=_0x1a9f75['bpIcN'](_0x49867f,Error)?_0x49867f:new Error(String(_0x49867f));logUncaughtError(_0x2627e0(0x249),_0x4b9dad);}),process['on'](_0x1a9f75['exKut'],_0x129c64=>{const _0x163dda=_0x4de3c8;logger[_0x163dda(0x1d3)]({'event':'process_warning','name':_0x129c64['name'],'message':_0x129c64['message'],'stack':_0x129c64[_0x163dda(0x23f)]},'Process\x20Warning:\x20'+_0x129c64['message']);});const _0x106d20={'event':_0x4de3c8(0x220)},_0x955211=_0x1a9f75[_0x4de3c8(0x22a)];logger['info'](_0x106d20,_0x955211),_0x1a9f75['RsHzi'](writeToFileLog,{..._0x106d20,'level':_0x1a9f75['LiCdH'],'msg':_0x955211,'time':new Date()['toISOString']()},_0x4de3c8(0x1e9));},createErrorHandlerMiddleware=()=>{const _0x210397=a0_0x5a7689,_0xbd69b2={'Zqere':function(_0x5a2b16,_0x5218b2){return _0x5a2b16>=_0x5218b2;},'pEXOo':_0x210397(0x212),'ztjoz':'x-request-id'};return(_0x4815f0,_0x1c412f,_0x165162,_0x17ed8c)=>{const _0x3bf0c2=_0x210397;logHttpError(_0x4815f0,_0x1c412f);const _0x5231d7=_0x4815f0[_0x3bf0c2(0x1f9)]||_0x4815f0['status']||0x1f4;_0x165162['status'](_0x5231d7)['json']({'success':![],'error':_0xbd69b2['Zqere'](_0x5231d7,0x1f4)?_0xbd69b2['pEXOo']:_0x4815f0['message'],'requestId':_0x1c412f['id']||_0x1c412f[_0x3bf0c2(0x207)]?.[_0xbd69b2['ztjoz']]||null});};};module[a0_0x5a7689(0x25b)]={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
|
|
1
|
+
const a0_0x121ea4=a0_0x57a8;function a0_0x3e4d(){const _0x5b00ae=['odaWnZa4y1vQBKP1','C2vYDMvYx3n0yxj0Aw5N','zgjFDhjHBNnHy3rPB24','y3jLzgL0y2fYza','DhLWzq','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','ueP2su4','zgvIDwC','yKHPEgu','zxjY','sw50zxjUywWGC2vYDMvYigvYCM9Y','C3rKu2vYAwfSAxPLCNm','zxHWB3j0CW','icbjBMzVoIaGia','BgjIu1O','yxv0Ag9YAxPHDgLVBG','v0vRzfi','CMvMCMvZAf90B2TLBG','C3rKvgLTzuz1BMn0Aw9UCW','Ag9ZDa','EgDZrKS','svr6Dvy','icbvuKW6icaGia','t0PpzMS','y29UBMvJDgLVBG','C3rYAw5N','Dw5JyxvNAhrfEgnLChrPB24','BwvZC2fNzq','te9hx0rjuG','reiGuxvLCNK','CwvVDue','y29UzMLNrMLSzq','CgfYyw1Z','Aw5JBhvKzxm','revmrvrf','ChjPDMf0zv9RzxK','C3rHDhvZ','mZeYmdKYmvvsrNLuvG','q09ntuLu','yNrXvhy','zxHPDa','tK9erv9ftLy','u2vYDMvYihn0yxj0Aw5NoIa','BMfTzq','y3jLzgvUDgLHBhm','Bwf4','u1fmx0Xpr19tte9xx1riuKvtse9mra','BgvUz3rO','ugrxAgy','y3jLzgL0x2nHCMq','wuvmt3m','AxnbCNjHEq','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','C3rHy2S','Dg9mB3DLCKnHC2u','Cg9YDa','Dhj1zq','z25lzhq','rermx0rst1a','CMvZB2X2zq','D0jtv3a','yMfZzvvYBa','Cgf0Aa','vwfMC2e','s0LxAwS','mLLXz1jLCq','C3rHCNrZv2L0Aa','CMvTB3rLqwrKCMvZCW','CgLUBW','w1jfrefdveveoMHHC2HD','rKfuquW6ia','AgvHBhrOq2HLy2S','y3jLyxrLv3jPDgvtDhjLyw0','EgfRDMS','Ewnfz0K','C3bSAxq','zgf0ywjHC2u','CgfZC3DVCMq','zMf0ywW','zMLSzv9SB2DNAw5Nx2vUywjSzwq','ywnJzxnZx3rVA2vU','u0vmrunu','Ahr0Cf9Yzxf1zxn0','AxntBg93','Bw9KDwXL','yxbWlMXVzW','Denwt0K','CNzjr0K','vgT2BMO','C3vIC3rYAw5N','CxvLCNK','oI8V','BwfW','Ec1Yzxf1zxn0lwLK','A3L2yvG','ChjVy2vZC193yxjUAw5N','qwHizuS','CMvZDgzVCMDL','zw52AxjVBM1LBNq','CgLU','zxjYB3i','zMXVB3i','q1jfu2m','C2vYDMLJzuLUzM8','Cg9ZDgDYzxnXBa','ntG5mti2nhH2DgLMuG','ChjPDMf0zwTLEq','iokvKqRILzeGifbVCNqGicaGicaGidOG','B3rW','Dxb0Aw1L','nJi5odq3CMnvwMTv','q1jjveLdquW','Bwf0y2G','ChjVAMvJDf9SB2fKzwq','yxbPA2v5','vwHbsMy','shv5vfy','uvzuCwi','w09lxsbqCM9Qzwn0igXVywrLzdOG','ChDK','D2fYBMLUzW','C3rHDhvZq29Kzq','y21HDxi','su5trvju','vMLYC2u','AMTJq2y','qvbqx1zfuLnjt04','A3rtvMG','C3nU','CgfKrw5K','D3jPDgu','DhjPBq','D2fYBG','Dg9Rzw4','B2jQzwn0','uhjVy2vZCYbxyxjUAw5NoIa','Bwv0Ag9K','Dg9ju09tDhjPBMC','zgf0ywjHC2vFy29UzMLN','nJe4nJyYmxPJqujzsG','w1jfrefdvevexq','svzmrem','Cg1IrNC','swHbBhi','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','zMfSC2u','wgDjtxK','C3zTEMq','qKvhsu4','DxjS','yKzOBvu','Dw5Oyw5KBgvKuMvQzwn0Aw9U','wufnzLi','vvbeqvrf','yM9KEq','rxjYB3i6ia','Dg9gAxHLza','yxbPx2TLEq','rMvpq3i','C2vJCMv0','zgjFCxvLCNK','D29WyLi','Aw5MBW','rermx0nsrufurq','BwTKAxjtEw5J','iokvKqRILzeGifbYB2PLy3qGicaGidOG','BevZC00','CMvWBgfJzq','ifTtte9xxq','Ahr0Cf9LCNjVCG','BenOtha','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','q09MDNm','ndG5nJG2nwD1rKreuW','rejFueftu1DpuKq','ntC3ndy3nMHAy2vvAq','vfjbtLnbq1rjt05FuK9mtejbq0S','qLvwBM4','Dg9vChbLCKnHC2u','CM93C0fMzMvJDgvK','CgLK','zgv2zwXVCg1LBNq','u1LtoKHioK1noNnZ','zMf0ywXFzxjYB3i','EKD0vuy','AM9PBG','uNjzv1m','DgvZDa','ChjVAMvJDa','zw52','rxjYB3i','u1rbuLqGvfjbtLnbq1rjt04','y29Kzq','wfn1u1u','tM9Kzs5QCW','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','ig9UihbVCNqG','rxHwq0G','Bvf6ugW'];a0_0x3e4d=function(){return _0x5b00ae;};return a0_0x3e4d();}(function(_0x5d259b,_0x3f97fb){const _0x1b3467=a0_0x57a8,_0x328a74=_0x5d259b();while(!![]){try{const _0x6cb5b3=-parseInt(_0x1b3467(0x117))/0x1*(parseInt(_0x1b3467(0x1b1))/0x2)+parseInt(_0x1b3467(0x195))/0x3+-parseInt(_0x1b3467(0x170))/0x4+parseInt(_0x1b3467(0x156))/0x5+parseInt(_0x1b3467(0x158))/0x6+-parseInt(_0x1b3467(0x134))/0x7+-parseInt(_0x1b3467(0x112))/0x8;if(_0x6cb5b3===_0x3f97fb)break;else _0x328a74['push'](_0x328a74['shift']());}catch(_0x5603cd){_0x328a74['push'](_0x328a74['shift']());}}}(a0_0x3e4d,0x81db3));const pino=require(a0_0x121ea4(0x1b4)),fs=require('fs'),path=require(a0_0x121ea4(0x1ae));let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x121ea4(0x15f),'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_0x121ea4(0x139),'hideObject':!![]},isDevelopment=process[a0_0x121ea4(0x166)][a0_0x121ea4(0x199)]!=='production',logLevel=process['env']['LOG_LEVEL']||a0_0x121ea4(0x14b);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x121ea4(0x10a),'version':process[a0_0x121ea4(0x166)][a0_0x121ea4(0x127)]||'1.0.5','env':process[a0_0x121ea4(0x166)]['NODE_ENV']||a0_0x121ea4(0x15e)},'timestamp':pino[a0_0x121ea4(0x182)]['isoTime'],'redact':{'paths':[a0_0x121ea4(0x154),'req.headers[\x22x-api-key\x22]','password',a0_0x121ea4(0x12e),'apiKey',a0_0x121ea4(0x157),'JWT_SECRET'],'censor':a0_0x121ea4(0x135)},'serializers':{'req':_0x59d2b1=>({'id':_0x59d2b1['id'],'method':_0x59d2b1['method'],'url':_0x59d2b1[a0_0x121ea4(0x13e)],'path':_0x59d2b1[a0_0x121ea4(0x1ae)],'remoteAddress':_0x59d2b1['ip']||_0x59d2b1[a0_0x121ea4(0x188)]?.[a0_0x121ea4(0x1b3)]}),'res':_0x351f06=>({'statusCode':_0x351f06['statusCode'],'headers':_0x351f06['getHeaders']?.()}),'err':pino[a0_0x121ea4(0x17b)][a0_0x121ea4(0x179)]}});function initFileLogging(){const _0x715bc2=a0_0x121ea4,_0x22eba5={'ycEgI':_0x715bc2(0x1a8),'QVTqb':function(_0x3e7c4c,_0x333026){return _0x3e7c4c===_0x333026;},'SDAqj':'debug','NDyUr':'app.log','kudtv':'error.log','wopbR':_0x715bc2(0x1bf),'KIWik':function(_0x50942d,_0x43c70f,_0x5e1166){return _0x50942d(_0x43c70f,_0x5e1166);},'GmwWY':_0x715bc2(0x14b)};if(fileLoggingInitialized)return;logToFile=process['env']['LOG_TO_FILE']===_0x22eba5['ycEgI'];const _0x54457a=process['env']['RESTFORGE_PROJECT_NAME']||'default';logDir=process[_0x715bc2(0x166)][_0x715bc2(0x18c)]||'./logs/'+_0x54457a,serviceName=process[_0x715bc2(0x166)]['SERVICE_NAME']||'restforge',sqlLogEnabled=_0x22eba5[_0x715bc2(0x11e)](process[_0x715bc2(0x166)]['SQL_LOG_ENABLED'],_0x22eba5[_0x715bc2(0x1ba)]),sqlLogLevel=process['env']['SQL_LOG_LEVEL']||_0x22eba5['SDAqj'],sqlLogParams=process[_0x715bc2(0x166)]['SQL_LOG_PARAMS']!==_0x715bc2(0x13a),sqlLogSlowThreshold=parseInt(process[_0x715bc2(0x166)][_0x715bc2(0x19e)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x51b8c9=path[_0x715bc2(0x1ab)](process['cwd'](),logDir);try{!fs['existsSync'](_0x51b8c9)&&fs[_0x715bc2(0x14d)](_0x51b8c9,{'recursive':!![]});}catch(_0x6ff546){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x51b8c9+':',_0x6ff546[_0x715bc2(0x18b)]),fileLoggingInitialized=!![];return;}const _0x266ca8=path['join'](_0x51b8c9,_0x22eba5['NDyUr']),_0x6dcfa1=path[_0x715bc2(0x162)](_0x51b8c9,_0x22eba5['kudtv']);try{appLogStream=fs[_0x715bc2(0x1b8)](_0x266ca8,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x6dcfa1,{'flags':'a'}),fileLoggingInitialized=!![];const _0x4b7803={'event':_0x22eba5[_0x715bc2(0x14a)],'logDir':_0x51b8c9,'files':[_0x715bc2(0xfe),_0x22eba5['kudtv']]},_0x4f02ed='File\x20logging\x20enabled:\x20'+_0x51b8c9;logger[_0x715bc2(0x14b)](_0x4b7803,_0x4f02ed),_0x22eba5[_0x715bc2(0x1b0)](writeToFileLog,{..._0x4b7803,'level':'info','msg':_0x4f02ed,'time':new Date()[_0x715bc2(0x132)]()},_0x22eba5['GmwWY']);}catch(_0xbb2a67){console[_0x715bc2(0x10d)]('Failed\x20to\x20create\x20log\x20streams:',_0xbb2a67[_0x715bc2(0x18b)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x1e4bad,_0x273772){const _0x3326fc=a0_0x121ea4,_0xfa6e99={'XgIMy':function(_0x574088,_0x24b12d){return _0x574088===_0x24b12d;},'Ohmed':'error','bGTBq':function(_0x5b8c75,_0x2bda5c){return _0x5b8c75===_0x2bda5c;}};if(!logToFile||!appLogStream)return;const _0x54f87a={'service':serviceName,..._0x1e4bad},_0x670a01=JSON['stringify'](_0x54f87a)+'\x0a';appLogStream[_0x3326fc(0x12b)](_0x670a01),(_0xfa6e99[_0x3326fc(0x13b)](_0x273772,_0xfa6e99['Ohmed'])||_0xfa6e99['bGTBq'](_0x273772,_0x3326fc(0x1be)))&&(errorLogStream&&errorLogStream[_0x3326fc(0x12b)](_0x670a01));}function a0_0x57a8(_0x43350e,_0x36f36d){_0x43350e=_0x43350e-0xfe;const _0x3e4d10=a0_0x3e4d();let _0x57a85d=_0x3e4d10[_0x43350e];if(a0_0x57a8['skSxeT']===undefined){var _0x34b8d2=function(_0x22b341){const _0x90513d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3f4063='',_0x380635='';for(let _0x3c4ed9=0x0,_0x3ca0e0,_0x11d123,_0x503ec0=0x0;_0x11d123=_0x22b341['charAt'](_0x503ec0++);~_0x11d123&&(_0x3ca0e0=_0x3c4ed9%0x4?_0x3ca0e0*0x40+_0x11d123:_0x11d123,_0x3c4ed9++%0x4)?_0x3f4063+=String['fromCharCode'](0xff&_0x3ca0e0>>(-0x2*_0x3c4ed9&0x6)):0x0){_0x11d123=_0x90513d['indexOf'](_0x11d123);}for(let _0x4c15e9=0x0,_0x234570=_0x3f4063['length'];_0x4c15e9<_0x234570;_0x4c15e9++){_0x380635+='%'+('00'+_0x3f4063['charCodeAt'](_0x4c15e9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x380635);};a0_0x57a8['RTrmGi']=_0x34b8d2,a0_0x57a8['AWpQOU']={},a0_0x57a8['skSxeT']=!![];}const _0x21df47=_0x3e4d10[0x0],_0x289b52=_0x43350e+_0x21df47,_0x3b56c6=a0_0x57a8['AWpQOU'][_0x289b52];return!_0x3b56c6?(_0x57a85d=a0_0x57a8['RTrmGi'](_0x57a85d),a0_0x57a8['AWpQOU'][_0x289b52]=_0x57a85d):_0x57a85d=_0x3b56c6,_0x57a85d;}const createRequestLogger=(_0x3b4068={})=>{return logger['child'](_0x3b4068);},logServerStart=_0x361f25=>{const _0x2a5c7b=a0_0x121ea4,_0x5c450b={'PdWhf':'RESTFORGE\x20RUNTIME\x20SERVER','nDSxE':function(_0x380ad8,_0x569d96){return _0x380ad8/_0x569d96;},'JGuVJ':'N/A','qbGGr':'Default','COfvs':_0x2a5c7b(0x14b)},_0x513eb0=_0x5c450b[_0x2a5c7b(0x1a0)],_0x2d12c0=Math[_0x2a5c7b(0x19d)](0x0,0x37-_0x513eb0['length']),_0x47757e=Math[_0x2a5c7b(0x10e)](_0x5c450b['nDSxE'](_0x2d12c0,0x2)),_0x39ac41=_0x2d12c0-_0x47757e,_0x167f53='║'+'\x20'['repeat'](_0x47757e)+_0x513eb0+'\x20'['repeat'](_0x39ac41)+'║',_0x19ecc2='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x167f53+_0x2a5c7b(0x175)+(_0x361f25[_0x2a5c7b(0x10b)]||_0x2a5c7b(0x16b))['padEnd'](0x26)+_0x2a5c7b(0x14e)+(_0x361f25[_0x2a5c7b(0x165)]||_0x5c450b['JGuVJ'])[_0x2a5c7b(0x12a)](0x26)+_0x2a5c7b(0x114)+String(_0x361f25[_0x2a5c7b(0x1a7)]||0xbb8)[_0x2a5c7b(0x12a)](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x361f25['configFile']||_0x5c450b['qbGGr'])[_0x2a5c7b(0x12a)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x361f25['apiKey']?'ACTIVE':'NOT\x20ACTIVE')[_0x2a5c7b(0x12a)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x19ecc2);const _0x2ee52c={'event':_0x2a5c7b(0x171),'project':_0x361f25[_0x2a5c7b(0x165)],'port':_0x361f25[_0x2a5c7b(0x1a7)],'config':_0x361f25[_0x2a5c7b(0x18f)],'apiKeyEnabled':!!_0x361f25['apiKey']};logger[_0x2a5c7b(0x14b)](_0x2ee52c),writeToFileLog({..._0x2ee52c,'level':_0x5c450b['COfvs'],'msg':_0x2a5c7b(0x19a)+_0x361f25[_0x2a5c7b(0x165)]+_0x2a5c7b(0x16d)+_0x361f25['port'],'time':new Date()[_0x2a5c7b(0x132)]()},_0x5c450b[_0x2a5c7b(0x155)]);},logServerReady=_0x588aba=>{const _0x328a1e=a0_0x121ea4,_0x58b9fa={'LKJNt':'server_ready','Edgoe':function(_0x2ef764,_0x25e90c,_0x14e996){return _0x2ef764(_0x25e90c,_0x14e996);},'gnKdt':'info'},_0xf58175={'event':_0x58b9fa['LKJNt'],'port':_0x588aba[_0x328a1e(0x1a7)],'module':_0x588aba[_0x328a1e(0x1c4)],'healthCheck':_0x588aba['healthCheck'],'serviceInfo':_0x588aba['serviceInfo'],'baseUrl':_0x588aba[_0x328a1e(0x1ad)]},_0x5ef9ca=_0x328a1e(0x1a4)+_0x588aba[_0x328a1e(0x1a7)];logger['info'](_0xf58175,_0x5ef9ca),_0x58b9fa['Edgoe'](writeToFileLog,{..._0xf58175,'level':_0x58b9fa[_0x328a1e(0x1a9)],'msg':_0x5ef9ca,'time':new Date()['toISOString']()},_0x58b9fa[_0x328a1e(0x1a9)]),_0x588aba['healthCheck']&&logger['info']('\x20\x20Health:\x20'+_0x588aba[_0x328a1e(0x1b7)]),_0x588aba[_0x328a1e(0x110)]&&logger[_0x328a1e(0x14b)](_0x328a1e(0x17d)+_0x588aba[_0x328a1e(0x110)]),_0x588aba['baseUrl']&&logger[_0x328a1e(0x14b)](_0x328a1e(0x186)+_0x588aba[_0x328a1e(0x1ad)]);},logProjectLoaded=(_0x522cf3,_0x35683a)=>{const _0x4a36f3=a0_0x121ea4,_0x10fb5f={'btqTv':_0x4a36f3(0x14b)},_0x21248c={'event':_0x4a36f3(0x11a),'project':_0x522cf3,'path':_0x35683a},_0x4443e6=_0x4a36f3(0x11f)+_0x522cf3;logger[_0x4a36f3(0x14b)](_0x21248c,_0x4443e6),writeToFileLog({..._0x21248c,'level':'info','msg':_0x4443e6,'time':new Date()['toISOString']()},_0x10fb5f[_0x4a36f3(0x197)]);},logEndpointRegistered=(_0x474d25,_0x2b6cad)=>{const _0xecbbcb=a0_0x121ea4,_0x3ab7ec={'tuYAA':'endpoint_registered','IwhvQ':function(_0x55431f,_0x44d01e,_0xdfe998){return _0x55431f(_0x44d01e,_0xdfe998);},'dTKme':_0xecbbcb(0x177)},_0x4a439c={'event':_0x3ab7ec['tuYAA'],'endpoint':_0x474d25,'route':_0x2b6cad},_0x486579='\x20\x20→\x20'+_0x474d25+':\x20'+_0x2b6cad;logger['debug'](_0x4a439c,_0x486579),_0x3ab7ec['IwhvQ'](writeToFileLog,{..._0x4a439c,'level':_0xecbbcb(0x177),'msg':_0x486579,'time':new Date()[_0xecbbcb(0x132)]()},_0x3ab7ec['dTKme']);},logDatabaseConfig=_0x513853=>{const _0x5173b1=a0_0x121ea4,_0x40b3e5={'bJMkJ':_0x5173b1(0x133),'lEssM':function(_0x16b57f,_0x51e9e5,_0x4fcdf5){return _0x16b57f(_0x51e9e5,_0x4fcdf5);},'FqWBo':'debug'},_0x23e34d={'event':_0x40b3e5['bJMkJ'],'host':_0x513853[_0x5173b1(0x183)],'port':_0x513853['port'],'database':_0x513853[_0x5173b1(0x1bc)],'type':_0x513853['type'],'user':_0x513853['user']},_0x150db5='Database:\x20'+_0x513853[_0x5173b1(0x174)]+_0x5173b1(0x104)+_0x513853['host']+':'+_0x513853[_0x5173b1(0x1a7)]+'/'+_0x513853[_0x5173b1(0x1bc)];logger[_0x5173b1(0x177)](_0x23e34d,_0x150db5),_0x40b3e5[_0x5173b1(0x14f)](writeToFileLog,{..._0x23e34d,'level':'debug','msg':_0x150db5,'time':new Date()['toISOString']()},_0x40b3e5['FqWBo']);},logRequest=(_0x43d75b,_0x5ca714,_0x5aecda)=>{const _0x559c40=a0_0x121ea4,_0x2d4683={'xgsFK':_0x559c40(0x14b),'YAMfR':function(_0x4bdf7c,_0x3d3356){return _0x4bdf7c>=_0x3d3356;},'lbbSZ':_0x559c40(0x10d),'AhHeK':'warn'},_0x49260a={'event':_0x559c40(0x1c2),'method':_0x43d75b[_0x559c40(0x131)],'path':_0x43d75b[_0x559c40(0x1ae)],'statusCode':_0x5ca714['statusCode'],'durationMs':_0x5aecda,'ip':_0x43d75b['ip']},_0x5e013f=_0x43d75b['method']+'\x20'+_0x43d75b['path']+'\x20-\x20'+_0x5ca714[_0x559c40(0x122)]+'\x20('+_0x5aecda+'ms)';let _0x5eb8f4=_0x2d4683[_0x559c40(0x184)];if(_0x2d4683['YAMfR'](_0x5ca714['statusCode'],0x1f4))_0x5eb8f4=_0x2d4683[_0x559c40(0x17e)],logger[_0x559c40(0x10d)](_0x49260a,_0x5e013f);else _0x2d4683[_0x559c40(0x141)](_0x5ca714[_0x559c40(0x122)],0x190)?(_0x5eb8f4=_0x2d4683[_0x559c40(0x109)],logger['warn'](_0x49260a,_0x5e013f)):logger[_0x559c40(0x14b)](_0x49260a,_0x5e013f);writeToFileLog({..._0x49260a,'level':_0x5eb8f4,'msg':_0x5e013f,'time':new Date()[_0x559c40(0x132)]()},_0x5eb8f4);},SENSITIVE_PARAM_PATTERNS=[a0_0x121ea4(0x1bd),'passwd',a0_0x121ea4(0x120),a0_0x121ea4(0x12e),'access_token','refresh_token',a0_0x121ea4(0x148),'api_secret',a0_0x121ea4(0x11b),a0_0x121ea4(0x146),'credential',a0_0x121ea4(0x19c),a0_0x121ea4(0x10c),a0_0x121ea4(0x115),'private_key','privatekey'],redactSensitiveParams=(_0x51b986,_0x5f2bc7)=>{const _0x4c6845=a0_0x121ea4,_0x419989={'gJhsX':_0x4c6845(0x135),'BUVnn':function(_0x211345,_0x3e298b){return _0x211345>_0x3e298b;},'Tkvnj':function(_0x271103,_0x5dafc4){return _0x271103===_0x5dafc4;}};if(!_0x51b986||_0x419989[_0x4c6845(0x101)](_0x51b986['length'],0x0))return _0x51b986;const _0x5ba269=_0x5f2bc7[_0x4c6845(0x1a6)](),_0x34bd99=_0x5ba269['match'](/\(([^)]+)\)\s*values/i);let _0x39f7a0=[];_0x34bd99&&(_0x39f7a0=_0x34bd99[0x1][_0x4c6845(0x1bb)](',')['map'](_0xa4db2=>_0xa4db2[_0x4c6845(0x12c)]()['toLowerCase']()));const _0xf46142=_0x5ba269[_0x4c6845(0x119)](/set\s+(.+?)(?:\s+where|$)/i);if(_0xf46142){const _0x51e7b6=_0xf46142[0x1],_0x36240d=_0x51e7b6['match'](/(\w+)\s*=/g);_0x36240d&&(_0x39f7a0=_0x36240d[_0x4c6845(0x105)](_0x5e6c47=>_0x5e6c47[_0x4c6845(0x150)](/\s*=/,'')['trim']()['toLowerCase']()));}return _0x51b986['map']((_0x2ac7cc,_0x314495)=>{const _0x20109e=_0x4c6845;if(_0x39f7a0[_0x314495]){const _0x2e0368=_0x39f7a0[_0x314495],_0x48148b=SENSITIVE_PARAM_PATTERNS['some'](_0x196706=>_0x2e0368['includes'](_0x196706));if(_0x48148b)return _0x419989['gJhsX'];}if(typeof _0x2ac7cc===_0x20109e(0x189)&&_0x419989[_0x20109e(0x15a)](_0x2ac7cc[_0x20109e(0x19f)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x20109e(0x164)](_0x2ac7cc)&&_0x2ac7cc['includes']('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/[_0x20109e(0x164)](_0x2ac7cc))return _0x20109e(0x1b5);}return _0x2ac7cc;});},parseQueryMetadata=_0x69f7b7=>{const _0x22f8d2=a0_0x121ea4,_0xddf53c={'HuyTV':_0x22f8d2(0x1c1),'qeouA':_0x22f8d2(0x124),'svmzd':'UPDATE','YELOs':_0x22f8d2(0x192),'KTgtL':_0x22f8d2(0x168),'BXcUw':'TRANSACTION_BEGIN','weJgG':_0x22f8d2(0x196),'BvkEP':_0x22f8d2(0x159),'RxDeh':'CREATE','bHixe':_0x22f8d2(0x1aa)},_0x149c18=_0x69f7b7[_0x22f8d2(0x12c)](),_0x3ccd07=_0x149c18['toUpperCase']();let _0x4340c6='UNKNOWN',_0x3318d1=null;if(_0x3ccd07['startsWith'](_0xddf53c['HuyTV'])){_0x4340c6=_0xddf53c[_0x22f8d2(0x11d)];const _0x22fcba=_0x149c18[_0x22f8d2(0x119)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3318d1=_0x22fcba?_0x22fcba[0x1]:null;}else{if(_0x3ccd07[_0x22f8d2(0x1b2)]('INSERT')){_0x4340c6=_0xddf53c[_0x22f8d2(0x18e)];const _0x1d44f8=_0x149c18[_0x22f8d2(0x119)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3318d1=_0x1d44f8?_0x1d44f8[0x1]:null;}else{if(_0x3ccd07['startsWith'](_0x22f8d2(0x142))){_0x4340c6=_0xddf53c[_0x22f8d2(0x13c)];const _0x36553c=_0x149c18['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3318d1=_0x36553c?_0x36553c[0x1]:null;}else{if(_0x3ccd07[_0x22f8d2(0x1b2)](_0xddf53c[_0x22f8d2(0x1a2)])){_0x4340c6=_0x22f8d2(0x192);const _0x1b7252=_0x149c18['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3318d1=_0x1b7252?_0x1b7252[0x1]:null;}else{if(_0x3ccd07[_0x22f8d2(0x1b2)](_0x22f8d2(0x13d))||_0x3ccd07['startsWith'](_0xddf53c['KTgtL']))_0x4340c6=_0xddf53c['BXcUw'];else{if(_0x3ccd07[_0x22f8d2(0x1b2)](_0xddf53c['weJgG']))_0x4340c6='TRANSACTION_COMMIT';else{if(_0x3ccd07[_0x22f8d2(0x1b2)]('ROLLBACK'))_0x4340c6=_0xddf53c['BvkEP'];else{if(_0x3ccd07[_0x22f8d2(0x1b2)](_0xddf53c['RxDeh']))_0x4340c6=_0x22f8d2(0x14c);else{if(_0x3ccd07['startsWith']('ALTER'))_0x4340c6='DDL_ALTER';else _0x3ccd07[_0x22f8d2(0x1b2)]('DROP')&&(_0x4340c6=_0xddf53c[_0x22f8d2(0x178)]);}}}}}}}}return{'type':_0x4340c6,'table':_0x3318d1};},startQueryTimer=()=>{const _0x50631e={'CRESc':function(_0x110fce,_0xc45094){return _0x110fce(_0xc45094);},'jkcCf':function(_0x397703,_0x2240c5){return _0x397703+_0x2240c5;}},_0x4e6756=process['hrtime']();return()=>{const _0x2f4a31=a0_0x57a8,[_0x31f9f9,_0x1a28ec]=process['hrtime'](_0x4e6756);return _0x50631e[_0x2f4a31(0x10f)](parseFloat,_0x50631e[_0x2f4a31(0x126)](_0x31f9f9*0x3e8,_0x1a28ec/0xf4240)[_0x2f4a31(0x145)](0x2));};},logQuery=(_0x2a814f,_0x5f3396=[],_0x4af2b2={})=>{const _0x85897d=a0_0x121ea4,_0x1fa9ee={'PJvIN':_0x85897d(0x149),'dSjSL':function(_0x32b42,_0x17a797){return _0x32b42(_0x17a797);},'RrYWS':'sql_query','AmGvi':function(_0x179f31,_0x189c18){return _0x179f31>_0x189c18;},'oyRTa':function(_0xae49e9,_0x10c87d){return _0xae49e9!==_0x10c87d;},'HPiIY':function(_0x2e8fb4,_0x368768){return _0x2e8fb4>_0x368768;},'OJOfk':function(_0x171a00,_0xfa9082){return _0x171a00||_0xfa9082;},'TElAf':'unknown','ExVCH':_0x85897d(0x151),'QYiyS':'info','FeOCr':function(_0x1b5b40,_0x5493f9,_0x2bd53d){return _0x1b5b40(_0x5493f9,_0x2bd53d);}};if(!sqlLogEnabled){logger[_0x85897d(0x177)]({'event':_0x1fa9ee[_0x85897d(0x176)],'query':_0x2a814f[_0x85897d(0x102)](0x0,0xc8),'paramCount':_0x5f3396[_0x85897d(0x19f)]},_0x85897d(0x18d));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x85897d(0x111)}=_0x4af2b2,{type:_0x58d3da,table:_0x3eeb28}=_0x1fa9ee['dSjSL'](parseQueryMetadata,_0x2a814f),_0x472ad3={'event':_0x1fa9ee[_0x85897d(0x163)],'queryType':_0x58d3da,'table':_0x3eeb28,'query':_0x2a814f,'paramCount':_0x5f3396[_0x85897d(0x19f)],'dbType':dbType};sqlLogParams&&_0x1fa9ee['AmGvi'](_0x5f3396[_0x85897d(0x19f)],0x0)&&(_0x472ad3[_0x85897d(0x190)]=redactSensitiveParams(_0x5f3396,_0x2a814f));_0x1fa9ee['oyRTa'](duration,null)&&(_0x472ad3['durationMs']=duration,_0x472ad3[_0x85897d(0x1c3)]=_0x1fa9ee['HPiIY'](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x472ad3[_0x85897d(0x15c)]=rowsAffected);const _0xe81bae=_0x1fa9ee[_0x85897d(0x187)](_0x3eeb28,_0x1fa9ee['TElAf']);let _0xb1cf95='['+_0x58d3da+']\x20'+_0xe81bae;duration!==null&&(_0xb1cf95+='\x20('+duration+'ms)');const _0x341518=duration!==null&&duration>sqlLogSlowThreshold;let _0x5b6f7c=_0x85897d(0x177);if(_0x341518)_0xb1cf95+=_0x1fa9ee[_0x85897d(0x16e)],_0x5b6f7c='warn',logger['warn'](_0x472ad3,_0xb1cf95);else sqlLogLevel===_0x85897d(0x14b)?(_0x5b6f7c=_0x1fa9ee['QYiyS'],logger['info'](_0x472ad3,_0xb1cf95)):logger['debug'](_0x472ad3,_0xb1cf95);_0x1fa9ee[_0x85897d(0x147)](writeToFileLog,{..._0x472ad3,'level':_0x5b6f7c,'msg':_0xb1cf95,'time':new Date()[_0x85897d(0x132)]()},_0x5b6f7c);},logTransaction=(_0x5e3e84,_0x28491f)=>{const _0x4f1fc4=a0_0x121ea4,_0x2bc135={'olGfO':_0x4f1fc4(0x177)},_0x57391b={'event':_0x4f1fc4(0x172),'status':_0x5e3e84,'queryCount':_0x28491f},_0xf52ade='Transaction\x20'+_0x5e3e84;logger[_0x4f1fc4(0x177)](_0x57391b,_0xf52ade),writeToFileLog({..._0x57391b,'level':_0x2bc135['olGfO'],'msg':_0xf52ade,'time':new Date()[_0x4f1fc4(0x132)]()},'debug');},redactObject=_0x2f52f9=>{const _0x2abf36=a0_0x121ea4,_0x3afb14={'cmaur':function(_0x27bf59,_0x21730c){return _0x27bf59!==_0x21730c;},'xLafv':_0x2abf36(0x1bd),'nRcTI':'passwd','tCVOI':'token','LbZFF':'secret','kyvaX':'apikey','BJxKC':_0x2abf36(0x173),'bGbvW':_0x2abf36(0x129),'caYhP':_0x2abf36(0x193),'Virse':_0x2abf36(0x181),'INLAD':'[REDACTED]','OxSja':_0x2abf36(0x12f),'Uafsa':function(_0x5aeeaf,_0x47a903){return _0x5aeeaf(_0x47a903);}};if(!_0x2f52f9||_0x3afb14[_0x2abf36(0x123)](typeof _0x2f52f9,_0x2abf36(0x12f)))return _0x2f52f9;const _0x286aa9=[_0x3afb14['xLafv'],_0x3afb14['nRcTI'],'pwd',_0x3afb14[_0x2abf36(0xff)],_0x3afb14['LbZFF'],_0x3afb14[_0x2abf36(0x107)],_0x2abf36(0x146),_0x2abf36(0x17f),_0x3afb14['BJxKC'],_0x2abf36(0x1a1),'cvv',_0x3afb14['bGbvW'],'pin',_0x3afb14['caYhP'],_0x2abf36(0x113),_0x3afb14[_0x2abf36(0x125)],_0x2abf36(0x1c0)],_0x6d692e=Array[_0x2abf36(0x1a3)](_0x2f52f9)?[..._0x2f52f9]:{..._0x2f52f9};for(const _0x56f890 of Object['keys'](_0x6d692e)){const _0x2d36ed=_0x56f890['toLowerCase']();if(_0x286aa9['some'](_0x44b5f1=>_0x2d36ed[_0x2abf36(0x191)](_0x44b5f1)))_0x6d692e[_0x56f890]=_0x3afb14['INLAD'];else typeof _0x6d692e[_0x56f890]===_0x3afb14['OxSja']&&_0x6d692e[_0x56f890]!==null&&(_0x6d692e[_0x56f890]=_0x3afb14[_0x2abf36(0x1af)](redactObject,_0x6d692e[_0x56f890]));}return _0x6d692e;},logError=(_0x9e3e8b,_0xcdb6e0={},_0x530311=null)=>{const _0x2ac2ab=a0_0x121ea4,_0x50461c={'oNhHs':function(_0x1f93cc,_0x2d3187,_0x332fcd){return _0x1f93cc(_0x2d3187,_0x332fcd);},'mowoC':_0x2ac2ab(0x10d)},_0x4e0f8c={'event':_0x2ac2ab(0x10d),'errorName':_0x9e3e8b['name']||_0x2ac2ab(0x167),'errorMessage':_0x9e3e8b['message'],'errorCode':_0x9e3e8b[_0x2ac2ab(0x169)]||null,'stack':_0x9e3e8b[_0x2ac2ab(0x1a5)],..._0xcdb6e0},_0x3fdf48=_0x530311||_0x2ac2ab(0x144)+_0x9e3e8b['message'];logger[_0x2ac2ab(0x10d)](_0x4e0f8c,_0x3fdf48),_0x50461c['oNhHs'](writeToFileLog,{..._0x4e0f8c,'level':'error','msg':_0x3fdf48,'time':new Date()['toISOString']()},_0x50461c['mowoC']);},logFatalError=(_0x2cb99a,_0x190727={},_0xb01acb=null)=>{const _0x4c078f=a0_0x121ea4,_0x518801={'rvIGI':_0x4c078f(0x160),'GaMpr':'Error','DeLJv':_0x4c078f(0x118),'wBSWp':function(_0x40bfb2,_0x4b0687,_0x66dd9f){return _0x40bfb2(_0x4b0687,_0x66dd9f);},'fLeEq':_0x4c078f(0x10d)},_0x4544f8={'event':_0x518801[_0x4c078f(0x100)],'errorName':_0x2cb99a['name']||_0x518801['GaMpr'],'errorMessage':_0x2cb99a['message'],'errorCode':_0x2cb99a[_0x4c078f(0x169)]||null,'stack':_0x2cb99a['stack'],'severity':_0x518801['DeLJv'],..._0x190727},_0x350053=_0xb01acb||_0x4c078f(0x1b6)+_0x2cb99a[_0x4c078f(0x18b)];logger['fatal'](_0x4544f8,_0x350053),_0x518801[_0x4c078f(0x1ac)](writeToFileLog,{..._0x4544f8,'level':'fatal','msg':_0x350053,'time':new Date()['toISOString']()},_0x518801['fLeEq']);},logHttpError=(_0x3f4023,_0x230a20,_0x4e0ecb={})=>{const _0x4ec0b9=a0_0x121ea4,_0x194156={'vREaj':_0x4ec0b9(0x152),'yLLZV':'user-agent','JJlTC':'x-request-id','MiIUR':function(_0x38a5a6,_0x100fdb){return _0x38a5a6(_0x100fdb);},'xakvk':function(_0x9a1402,_0x1f650c){return _0x9a1402>=_0x1f650c;},'FIBsd':function(_0x2ecce0,_0x33d3ca,_0x3a8bfe){return _0x2ecce0(_0x33d3ca,_0x3a8bfe);},'IVLDC':_0x4ec0b9(0x10d),'IhAlr':'warn','mQzPl':function(_0x1d0781,_0x24c863){return _0x1d0781>=_0x24c863;}},_0xf09c8a={'event':_0x194156['vREaj'],'errorName':_0x3f4023['name']||'Error','errorMessage':_0x3f4023[_0x4ec0b9(0x18b)],'errorCode':_0x3f4023['code']||_0x3f4023[_0x4ec0b9(0x122)]||0x1f4,'stack':_0x3f4023[_0x4ec0b9(0x1a5)],'method':_0x230a20?.['method'],'url':_0x230a20?.[_0x4ec0b9(0x13e)]||_0x230a20?.['originalUrl'],'path':_0x230a20?.['path'],'ip':_0x230a20?.['ip']||_0x230a20?.['connection']?.['remoteAddress'],'userAgent':_0x230a20?.['get']?.(_0x194156['yLLZV']),'requestId':_0x230a20?.['id']||_0x230a20?.['headers']?.[_0x194156['JJlTC']],'body':_0x230a20?.[_0x4ec0b9(0x143)]?_0x194156['MiIUR'](redactObject,_0x230a20['body']):undefined,'query':_0x230a20?.[_0x4ec0b9(0x103)],..._0x4e0ecb},_0x153c13=_0x3f4023['statusCode']||_0x3f4023[_0x4ec0b9(0x194)]||0x1f4,_0xad6e0c='HTTP\x20'+_0x153c13+':\x20'+_0x3f4023['message'];_0x194156[_0x4ec0b9(0x1b9)](_0x153c13,0x1f4)?logger[_0x4ec0b9(0x10d)](_0xf09c8a,_0xad6e0c):logger[_0x4ec0b9(0x12d)](_0xf09c8a,_0xad6e0c),_0x194156['FIBsd'](writeToFileLog,{..._0xf09c8a,'level':_0x153c13>=0x1f4?_0x194156['IVLDC']:_0x194156[_0x4ec0b9(0x138)],'msg':_0xad6e0c,'time':new Date()[_0x4ec0b9(0x132)]()},_0x194156[_0x4ec0b9(0x16f)](_0x153c13,0x1f4)?_0x194156[_0x4ec0b9(0x136)]:'warn');},logUncaughtError=(_0x48cc37,_0x19473e)=>{const _0x52b73b=a0_0x121ea4,_0x4e3eae={'lChLp':_0x52b73b(0x167),'wOxwf':function(_0x56fda5,_0x3705d2){return _0x56fda5(_0x3705d2);}},_0x5ef4f9={'event':_0x48cc37,'errorName':_0x19473e?.[_0x52b73b(0x19b)]||_0x4e3eae[_0x52b73b(0x153)],'errorMessage':_0x19473e?.['message']||_0x4e3eae['wOxwf'](String,_0x19473e),'errorCode':_0x19473e?.['code']||null,'stack':_0x19473e?.[_0x52b73b(0x1a5)],'severity':_0x52b73b(0x118),'processId':process[_0x52b73b(0x15d)],'memoryUsage':process['memoryUsage'](),'uptime':process[_0x52b73b(0x116)]()},_0x5e6c7a='['+_0x48cc37[_0x52b73b(0x15b)]()+']\x20'+(_0x19473e?.['message']||_0x19473e);logger['fatal'](_0x5ef4f9,_0x5e6c7a),writeToFileLog({..._0x5ef4f9,'level':_0x52b73b(0x1be),'msg':_0x5e6c7a,'time':new Date()[_0x52b73b(0x132)]()},_0x52b73b(0x10d));},setupGlobalErrorHandlers=()=>{const _0x88ec5a=a0_0x121ea4,_0x2d2dc6={'ktSVh':_0x88ec5a(0x18a),'pmbFw':function(_0xe1f91c,_0x17cbe4,_0x2a236e){return _0xe1f91c(_0x17cbe4,_0x2a236e);},'XSuSU':_0x88ec5a(0x140),'zGtUF':_0x88ec5a(0x121),'ITzuV':'Global\x20error\x20handlers\x20initialized','WEkdR':function(_0x190151,_0x404c40,_0x57df1e){return _0x190151(_0x404c40,_0x57df1e);},'bFhmU':'info'};process['on'](_0x2d2dc6[_0x88ec5a(0x128)],_0x331859=>{const _0x22f394=_0x88ec5a;logUncaughtError(_0x2d2dc6[_0x22f394(0x128)],_0x331859),_0x2d2dc6[_0x22f394(0x137)](setTimeout,()=>{const _0x415817=_0x22f394;process[_0x415817(0x198)](0x1);},0x3e8);}),process['on'](_0x88ec5a(0x140),(_0xcac2c4,_0x5dff91)=>{const _0x50b7d7=_0x88ec5a,_0x4ab195=_0xcac2c4 instanceof Error?_0xcac2c4:new Error(String(_0xcac2c4));_0x2d2dc6[_0x50b7d7(0x137)](logUncaughtError,_0x2d2dc6[_0x50b7d7(0x16a)],_0x4ab195);}),process['on'](_0x2d2dc6[_0x88ec5a(0x161)],_0x7ae380=>{const _0x2a76e4=_0x88ec5a;logger[_0x2a76e4(0x12d)]({'event':_0x2a76e4(0x108),'name':_0x7ae380['name'],'message':_0x7ae380['message'],'stack':_0x7ae380[_0x2a76e4(0x1a5)]},_0x2a76e4(0x130)+_0x7ae380[_0x2a76e4(0x18b)]);});const _0x106bfd={'event':_0x88ec5a(0x16c)},_0x31f4a3=_0x2d2dc6[_0x88ec5a(0x185)];logger[_0x88ec5a(0x14b)](_0x106bfd,_0x31f4a3),_0x2d2dc6[_0x88ec5a(0x180)](writeToFileLog,{..._0x106bfd,'level':_0x2d2dc6[_0x88ec5a(0x13f)],'msg':_0x31f4a3,'time':new Date()['toISOString']()},_0x88ec5a(0x14b));},createErrorHandlerMiddleware=()=>{const _0x377a48=a0_0x121ea4,_0x20fbe8={'UhAJf':_0x377a48(0x106)};return(_0x324c1f,_0x554c35,_0x3d5c8f,_0x143b88)=>{const _0x25c3ef=_0x377a48;logHttpError(_0x324c1f,_0x554c35);const _0x5502f2=_0x324c1f['statusCode']||_0x324c1f[_0x25c3ef(0x194)]||0x1f4;_0x3d5c8f[_0x25c3ef(0x194)](_0x5502f2)['json']({'success':![],'error':_0x5502f2>=0x1f4?_0x25c3ef(0x17a):_0x324c1f['message'],'requestId':_0x554c35['id']||_0x554c35['headers']?.[_0x20fbe8[_0x25c3ef(0x11c)]]||null});};};module[a0_0x121ea4(0x17c)]={'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_0x21a2d4=a0_0x289d;(function(_0x2842c5,_0x15da9e){const _0x2e2bd2=a0_0x289d,_0x5c7fce=_0x2842c5();while(!![]){try{const _0x1d01b2=-parseInt(_0x2e2bd2(0xb3))/0x1*(parseInt(_0x2e2bd2(0x9e))/0x2)+-parseInt(_0x2e2bd2(0xa5))/0x3*(parseInt(_0x2e2bd2(0xa7))/0x4)+parseInt(_0x2e2bd2(0xa6))/0x5*(parseInt(_0x2e2bd2(0xbb))/0x6)+parseInt(_0x2e2bd2(0xbe))/0x7*(-parseInt(_0x2e2bd2(0x9a))/0x8)+-parseInt(_0x2e2bd2(0x9f))/0x9+parseInt(_0x2e2bd2(0xc6))/0xa+parseInt(_0x2e2bd2(0xac))/0xb;if(_0x1d01b2===_0x15da9e)break;else _0x5c7fce['push'](_0x5c7fce['shift']());}catch(_0x1d6b2e){_0x5c7fce['push'](_0x5c7fce['shift']());}}}(a0_0x3b32,0x318ef));const dbType=(process['env'][a0_0x21a2d4(0xb4)]||'postgresql')[a0_0x21a2d4(0xa2)]();let executeQuery;function a0_0x3b32(){const _0x329e0a=['CMvZB2X2zuXVB2T1CfzHBhvL','mwfLrxHesW','rejFvfLqrq','s1DTtKW','Bg9VA3vWx3rHyMXLx2XVywrLza','lI9KyI1TExnXBa','lI9KyI1VCMfJBgu','BxLZCwW','zxHLy3v0zvf1zxj5','mZKXnZiYr1zlvNzN','zxHWB3j0CW','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq','mtrhu3fsv2S','C2v0','iezst00G','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','ChvZAa','zgvIDwC','BwfW','DhjPBq','odu3oduWBxzhDKn4','DMfSAwrHDgvmB29RDxbwywX1zxm','A2v5CW','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','B3jHy2XL','C2XPy2u','zw50CMLLCW','z2v0rgLZDgLUy3rwywX1zxm','twXTuxq','Bg9VA3vWq2fJAgu','nJq4otq0vgfkCgDR','uLnSrKi','AgfZ','r2nvBNK','ndy3mtiYvvDcyxfw','mZmYmde5mhHIwfnAEa','Aw5MBW','BgvUz3rO','Dg9mB3DLCKnHC2u','y2XLyxjdywnOzq','z2v0','nZi1mwDpq1jNsq','nwvkEgjpBG','ndeYDeDoAKvN','yLP2u00','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','zM9YrwfJAa','CvPzC3a','mte3mJeZndDAC0XbD0e','vMfSDwuGiG','uLvAsva','ChjVy2vZC0XVB2T1CezPzwXKCW','Bg9HzeXVB2T1CfrHyMXL','u0vmrunuia'];a0_0x3b32=function(){return _0x329e0a;};return a0_0x3b32();}if(dbType===a0_0x21a2d4(0x94)){const oracleDb=require(a0_0x21a2d4(0xb8));executeQuery=(_0x4ada61,_0x14d6ac)=>oracleDb['executeQuery'](_0x4ada61,_0x14d6ac);}else{if(dbType===a0_0x21a2d4(0xb9)){const mysqlDb=require(a0_0x21a2d4(0xb7));executeQuery=(_0x517689,_0x54e8be)=>mysqlDb[a0_0x21a2d4(0xba)](_0x517689,_0x54e8be);}else executeQuery=require('./db')['executeQuery'];}const {logger}=require('./logger');class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x21a2d4(0xa3)](){const _0x56e92b=a0_0x21a2d4,_0x53b1d4={'taeEt':'lookup_cache_cleared'};this['lookupCache']['clear'](),logger[_0x56e92b(0xc3)]({'event':_0x53b1d4['taeEt']},'Lookup\x20cache\x20cleared');}async['loadLookupTable'](_0x15294c,_0x5e9975,_0x5510d3){const _0x42ff37=a0_0x21a2d4,_0x26edd2={'Qbgor':function(_0x5d0bfd,_0x49b859){return _0x5d0bfd!==_0x49b859;},'EAuUo':function(_0x20bf5e,_0x5dcc6c){return _0x20bf5e!==_0x5dcc6c;},'KWmNL':function(_0x18587f,_0x23e6cf){return _0x18587f(_0x23e6cf);},'RUZIP':_0x42ff37(0xb6)},_0x566def=_0x15294c+':'+_0x5e9975+':'+_0x5510d3;if(this[_0x42ff37(0x99)]['has'](_0x566def))return this[_0x42ff37(0x99)][_0x42ff37(0xa4)](_0x566def);try{const _0x494a58=_0x42ff37(0xb1)+_0x5510d3+',\x20'+_0x5e9975+_0x42ff37(0xc0)+_0x15294c,_0x168cb3=await executeQuery(_0x494a58),_0x59c943=new Map();return _0x168cb3['forEach'](_0x4b2da5=>{const _0x4068e3=_0x42ff37,_0x25b54d=_0x26edd2['Qbgor'](_0x4b2da5[_0x5e9975],undefined)?_0x4b2da5[_0x5e9975]:_0x4b2da5[_0x5e9975['toUpperCase']()],_0xaea06b=_0x26edd2['Qbgor'](_0x4b2da5[_0x5510d3],undefined)?_0x4b2da5[_0x5510d3]:_0x4b2da5[_0x5510d3['toUpperCase']()];_0x26edd2['EAuUo'](_0x25b54d,null)&&_0x25b54d!==undefined&&(_0x59c943[_0x4068e3(0xbf)](_0x26edd2[_0x4068e3(0xb5)](String,_0x25b54d)['toLowerCase']()['trim'](),_0xaea06b),_0x59c943[_0x4068e3(0xbf)](_0x26edd2[_0x4068e3(0xb5)](String,_0x25b54d)[_0x4068e3(0xc5)](),_0xaea06b));}),this[_0x42ff37(0x99)][_0x42ff37(0xbf)](_0x566def,_0x59c943),logger[_0x42ff37(0xa0)]({'event':_0x26edd2[_0x42ff37(0xae)],'table':_0x15294c,'column':_0x5e9975,'count':_0x168cb3['length']},'Lookup\x20table\x20loaded:\x20'+_0x15294c),_0x59c943;}catch(_0xb48f3b){logger['error']({'event':_0x42ff37(0xa9),'table':_0x15294c,'error':_0xb48f3b['message']},_0x42ff37(0x93)+_0x15294c);throw _0xb48f3b;}}[a0_0x21a2d4(0xb2)](_0x62c21c,_0x1b5762){const _0x474291=a0_0x21a2d4,_0x5890b2={'RSlFB':function(_0x84f5f7,_0xeb8cfd){return _0x84f5f7===_0xeb8cfd;},'MlmQt':function(_0x2cb340,_0x218927){return _0x2cb340(_0x218927);}};if(_0x5890b2['RSlFB'](_0x62c21c,null)||_0x5890b2[_0x474291(0x9b)](_0x62c21c,undefined)||_0x5890b2[_0x474291(0x9b)](_0x62c21c,''))return null;const _0x55d9b7=_0x5890b2[_0x474291(0x98)](String,_0x62c21c)[_0x474291(0xc5)]();if(_0x1b5762[_0x474291(0x9c)](_0x55d9b7))return _0x1b5762[_0x474291(0xa4)](_0x55d9b7);const _0xc973df=_0x55d9b7[_0x474291(0xa2)]();if(_0x1b5762[_0x474291(0x9c)](_0xc973df))return _0x1b5762['get'](_0xc973df);return null;}async[a0_0x21a2d4(0xaf)](_0x2a73dc,_0x41cddc){const _0x495a5d=a0_0x21a2d4,_0xdd2bb8={'qZYsp':function(_0x32130b,_0x237c1c){return _0x32130b===_0x237c1c;}};if(!_0x41cddc||_0xdd2bb8[_0x495a5d(0xab)](Object[_0x495a5d(0x92)](_0x41cddc)[_0x495a5d(0xa1)],0x0))return{'processedRows':_0x2a73dc,'errors':[]};const _0x2405bf=[],_0x1afedb=new Map();for(const [_0x28a448,_0x5a23ab]of Object[_0x495a5d(0x96)](_0x41cddc)){const {lookupTable:_0x54852a,lookupColumn:_0x2654c8,lookupIdColumn:_0x5f9460}=_0x5a23ab,_0xbdd74d=_0x54852a+':'+_0x2654c8+':'+_0x5f9460;if(!_0x1afedb['has'](_0xbdd74d)){const _0x516cda=await this[_0x495a5d(0xb0)](_0x54852a,_0x2654c8,_0x5f9460);_0x1afedb[_0x495a5d(0xbf)](_0xbdd74d,_0x516cda);}}const _0x23062c=_0x2a73dc[_0x495a5d(0xc4)]((_0x38b3fa,_0x4deadf)=>{const _0x153768=_0x495a5d,_0x14feaa={..._0x38b3fa};for(const [_0x294dfc,_0x1b80b8]of Object['entries'](_0x41cddc)){const {lookupTable:_0x1f2e96,lookupColumn:_0x304dc8,lookupIdColumn:_0x4160e2,targetField:_0x2839b4,required:_0x43c5a6}=_0x1b80b8,_0x5ed7bf=_0x1f2e96+':'+_0x304dc8+':'+_0x4160e2,_0x4a075d=_0x1afedb[_0x153768(0xa4)](_0x5ed7bf),_0x43e0cb=_0x38b3fa[_0x294dfc];if((_0xdd2bb8['qZYsp'](_0x43e0cb,null)||_0x43e0cb===undefined||_0x43e0cb==='')&&!_0x43c5a6){_0x14feaa[_0x2839b4]=null;continue;}const _0x5cba3a=this[_0x153768(0xb2)](_0x43e0cb,_0x4a075d);_0x5cba3a!==null?_0x14feaa[_0x2839b4]=_0x5cba3a:(_0x43c5a6&&_0x2405bf[_0x153768(0xc2)]({'rowIndex':_0x4deadf,'field':_0x294dfc,'value':_0x43e0cb,'targetField':_0x2839b4,'lookupTable':_0x1f2e96,'message':_0x153768(0xad)+_0x43e0cb+'\x22\x20not\x20found\x20in\x20'+_0x1f2e96}),_0x14feaa[_0x2839b4]=null);}return _0x14feaa;});return logger['info']({'event':_0x495a5d(0xc1),'totalRows':_0x2a73dc[_0x495a5d(0xa1)],'errorCount':_0x2405bf['length'],'lookupFieldCount':Object['keys'](_0x41cddc)[_0x495a5d(0xa1)]},_0x495a5d(0xbd)),{'processedRows':_0x23062c,'errors':_0x2405bf};}['getDistinctValues'](_0x5357b3,_0x444ed0){const _0x18b24e=a0_0x21a2d4,_0xec2246={'nYIke':function(_0x587313,_0x39f55d){return _0x587313!==_0x39f55d;},'AhXHX':function(_0x84309b,_0x1287e9){return _0x84309b!==_0x1287e9;}},_0x34e455=new Set();return _0x5357b3[_0x18b24e(0xaa)](_0x117ca3=>{const _0x19a3d1=_0x117ca3[_0x444ed0];_0x19a3d1!==null&&_0xec2246['nYIke'](_0x19a3d1,undefined)&&_0xec2246['AhXHX'](_0x19a3d1,'')&&_0x34e455['add'](String(_0x19a3d1)['trim']());}),Array['from'](_0x34e455);}async[a0_0x21a2d4(0x91)](_0x56525e,_0x498ff7){const _0xb47ebf=a0_0x21a2d4,_0x2d3ade={'bZvSM':function(_0x13713a,_0x34157d){return _0x13713a!==_0x34157d;},'GcUny':function(_0x5e49b4,_0x2087d2){return _0x5e49b4===_0x2087d2;}};if(!_0x498ff7||Object[_0xb47ebf(0x92)](_0x498ff7)['length']===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x363ac8=[],_0x4b9746={};for(const [_0x3472a1,_0x3172f0]of Object['entries'](_0x498ff7)){const {lookupTable:_0xcd9402,lookupColumn:_0x5257ef,lookupIdColumn:_0x4da850,required:_0x8ca8ce}=_0x3172f0,_0x1ac390=this[_0xb47ebf(0x97)](_0x56525e,_0x3472a1),_0xdaf11e=await this['loadLookupTable'](_0xcd9402,_0x5257ef,_0x4da850),_0x1741a5=[],_0x348701=[];_0x1ac390[_0xb47ebf(0xaa)](_0x3f09ab=>{const _0x4cf420=_0xb47ebf,_0x471784=this[_0x4cf420(0xb2)](_0x3f09ab,_0xdaf11e);_0x2d3ade[_0x4cf420(0xa8)](_0x471784,null)?_0x348701['push'](_0x3f09ab):_0x1741a5['push'](_0x3f09ab);});if(_0x1741a5['length']>0x0&&_0x8ca8ce){_0x363ac8[_0xb47ebf(0xc2)]({'field':_0x3472a1,'lookupTable':_0xcd9402,'invalidValues':_0x1741a5,'message':_0x1741a5[_0xb47ebf(0xa1)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0xcd9402});const _0x456686=[];_0xdaf11e['forEach']((_0x5d522d,_0x4d68e0)=>{const _0x48c55=_0xb47ebf;if(_0x2d3ade[_0x48c55(0x9d)](_0x4d68e0,_0x4d68e0['toLowerCase']()))return;_0x456686[_0x48c55(0xc2)](_0x4d68e0);}),_0x4b9746[_0x3472a1]={'invalidValues':_0x1741a5,'availableValues':_0x456686[_0xb47ebf(0x95)](0x0,0x32)};}}return{'valid':_0x2d3ade['GcUny'](_0x363ac8['length'],0x0),'errors':_0x363ac8,'suggestions':_0x4b9746};}}function a0_0x289d(_0x1ea9a7,_0x4b9681){_0x1ea9a7=_0x1ea9a7-0x91;const _0x3b323f=a0_0x3b32();let _0x289dff=_0x3b323f[_0x1ea9a7];if(a0_0x289d['PXZQTb']===undefined){var _0x1a30bc=function(_0x48941b){const _0x3a039c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e06ae='',_0x24d86e='';for(let _0x37dce0=0x0,_0x1e1028,_0x4b6b36,_0x39e8e7=0x0;_0x4b6b36=_0x48941b['charAt'](_0x39e8e7++);~_0x4b6b36&&(_0x1e1028=_0x37dce0%0x4?_0x1e1028*0x40+_0x4b6b36:_0x4b6b36,_0x37dce0++%0x4)?_0x2e06ae+=String['fromCharCode'](0xff&_0x1e1028>>(-0x2*_0x37dce0&0x6)):0x0){_0x4b6b36=_0x3a039c['indexOf'](_0x4b6b36);}for(let _0x48ab62=0x0,_0x4640b6=_0x2e06ae['length'];_0x48ab62<_0x4640b6;_0x48ab62++){_0x24d86e+='%'+('00'+_0x2e06ae['charCodeAt'](_0x48ab62)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x24d86e);};a0_0x289d['AIoOqB']=_0x1a30bc,a0_0x289d['EyILHa']={},a0_0x289d['PXZQTb']=!![];}const _0x53709a=_0x3b323f[0x0],_0x1fa56e=_0x1ea9a7+_0x53709a,_0x33ad52=a0_0x289d['EyILHa'][_0x1fa56e];return!_0x33ad52?(_0x289dff=a0_0x289d['AIoOqB'](_0x289dff),a0_0x289d['EyILHa'][_0x1fa56e]=_0x289dff):_0x289dff=_0x33ad52,_0x289dff;}module[a0_0x21a2d4(0xbc)]=new LookupResolver();
|
|
1
|
+
function a0_0xebc2(){const _0x361836=['BwvZC2fNzq','mtaYnMfqseztAG','mJuZmJnYz21jAvy','C2XPy2u','mtKYmZiYoxPds09WDW','zxjYB3i','BxLZCwW','u3P5v1O','zw50CMLLCW','BgvUz3rO','y2XLyxjdywnOzq','yLv1uKq','mtzzC2neCvy','C2v0','ve5QAha','mZq1ndiYuxzrEK9w','DhjPBq','AgfZ','mtm1u3DAvwvM','Dg9mB3DLCKnHC2u','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','Bg9VA3vWq2fJAgu','ndiWotKWrfzyz3HL','B3jHy2XL','Bg9HzeXVB2T1CfrHyMXL','A2v5CW','lI9KyI1TExnXBa','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','zxHWB3j0CW','z2v0','ChjVy2vZC0XVB2T1CezPzwXKCW','Dg9vChbLCKnHC2u','Cg9ZDgDYzxnXBa','tLjYEfe','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','DK1qDfm','zM9YrwfJAa','nLjMwfrnva','ChvZAa','rejFvfLqrq','ngD5AgTlCW','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq','zNjVBq','lI9SB2DNzxi','rwztvg8','oduZnZy3vM1Avhn5','Bw1zrwe','mte0mteZmhjOALbXwa','zxHLy3v0zvf1zxj5','CMvZB2X2zuXVB2T1CfzHBhvL','iIbUB3qGzM91BMqGAw4G'];a0_0xebc2=function(){return _0x361836;};return a0_0xebc2();}const a0_0x3fd765=a0_0x41b3;(function(_0x24ee77,_0xdc8454){const _0x8f276f=a0_0x41b3,_0x4edc7f=_0x24ee77();while(!![]){try{const _0x473b46=-parseInt(_0x8f276f(0xb7))/0x1*(parseInt(_0x8f276f(0xa6))/0x2)+parseInt(_0x8f276f(0xa7))/0x3*(parseInt(_0x8f276f(0x9a))/0x4)+-parseInt(_0x8f276f(0xbb))/0x5+-parseInt(_0x8f276f(0x97))/0x6*(-parseInt(_0x8f276f(0xa9))/0x7)+-parseInt(_0x8f276f(0xb1))/0x8*(-parseInt(_0x8f276f(0x9f))/0x9)+-parseInt(_0x8f276f(0xa1))/0xa+-parseInt(_0x8f276f(0xb4))/0xb;if(_0x473b46===_0xdc8454)break;else _0x4edc7f['push'](_0x4edc7f['shift']());}catch(_0x39ef7e){_0x4edc7f['push'](_0x4edc7f['shift']());}}}(a0_0xebc2,0x2a77a));const dbType=(process['env'][a0_0x3fd765(0x99)]||a0_0x3fd765(0xc5))[a0_0x3fd765(0xb8)]();function a0_0x41b3(_0x4251b2,_0xd9466b){_0x4251b2=_0x4251b2-0x94;const _0xebc26f=a0_0xebc2();let _0x41b3e9=_0xebc26f[_0x4251b2];if(a0_0x41b3['yWPmWY']===undefined){var _0x4ee7fd=function(_0x3ca068){const _0x5a4755='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5eb847='',_0x17f54c='';for(let _0x1315ea=0x0,_0x295aea,_0xf8c03c,_0x325bfa=0x0;_0xf8c03c=_0x3ca068['charAt'](_0x325bfa++);~_0xf8c03c&&(_0x295aea=_0x1315ea%0x4?_0x295aea*0x40+_0xf8c03c:_0xf8c03c,_0x1315ea++%0x4)?_0x5eb847+=String['fromCharCode'](0xff&_0x295aea>>(-0x2*_0x1315ea&0x6)):0x0){_0xf8c03c=_0x5a4755['indexOf'](_0xf8c03c);}for(let _0x3eec52=0x0,_0x5eaf73=_0x5eb847['length'];_0x3eec52<_0x5eaf73;_0x3eec52++){_0x17f54c+='%'+('00'+_0x5eb847['charCodeAt'](_0x3eec52)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x17f54c);};a0_0x41b3['IcnuMB']=_0x4ee7fd,a0_0x41b3['jqtnsn']={},a0_0x41b3['yWPmWY']=!![];}const _0x364688=_0xebc26f[0x0],_0x5e4b5d=_0x4251b2+_0x364688,_0x2cf444=a0_0x41b3['jqtnsn'][_0x5e4b5d];return!_0x2cf444?(_0x41b3e9=a0_0x41b3['IcnuMB'](_0x41b3e9),a0_0x41b3['jqtnsn'][_0x5e4b5d]=_0x41b3e9):_0x41b3e9=_0x2cf444,_0x41b3e9;}let executeQuery;if(dbType===a0_0x3fd765(0xbc)){const oracleDb=require('./db-oracle');executeQuery=(_0x318765,_0x4b435b)=>oracleDb[a0_0x3fd765(0xa2)](_0x318765,_0x4b435b);}else{if(dbType===a0_0x3fd765(0xab)){const mysqlDb=require(a0_0x3fd765(0xbf));executeQuery=(_0x4a5357,_0x277018)=>mysqlDb['executeQuery'](_0x4a5357,_0x277018);}else executeQuery=require('./db')['executeQuery'];}const {logger}=require(a0_0x3fd765(0x9d));class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x3fd765(0xaf)](){const _0x3f0a1c={'dtyzp':'Lookup\x20cache\x20cleared'};this['lookupCache']['clear'](),logger['debug']({'event':'lookup_cache_cleared'},_0x3f0a1c['dtyzp']);}async[a0_0x3fd765(0xbd)](_0x3d4ede,_0x755856,_0x1770fa){const _0x2fd214=a0_0x3fd765,_0x547ba3={'sUYCj':function(_0x32e5f2,_0x321f67){return _0x32e5f2!==_0x321f67;},'NRrxQ':function(_0x1eca50,_0xe43527){return _0x1eca50!==_0xe43527;},'BZmYe':function(_0x2272c3,_0x3ce673){return _0x2272c3(_0x3ce673);},'oeypc':function(_0x3ae310,_0x55976b){return _0x3ae310(_0x55976b);},'qBMJZ':'lookup_table_loaded','TNjhp':'lookup_table_load_error'},_0x38d624=_0x3d4ede+':'+_0x755856+':'+_0x1770fa;if(this[_0x2fd214(0xba)]['has'](_0x38d624))return this[_0x2fd214(0xba)][_0x2fd214(0xc2)](_0x38d624);try{const _0x10bacc='SELECT\x20'+_0x1770fa+',\x20'+_0x755856+'\x20FROM\x20'+_0x3d4ede,_0x104d47=await _0x547ba3['oeypc'](executeQuery,_0x10bacc),_0x441497=new Map();return _0x104d47['forEach'](_0x29f4c9=>{const _0x53961f=_0x2fd214,_0x48463c=_0x547ba3['sUYCj'](_0x29f4c9[_0x755856],undefined)?_0x29f4c9[_0x755856]:_0x29f4c9[_0x755856['toUpperCase']()],_0x47482c=_0x547ba3['NRrxQ'](_0x29f4c9[_0x1770fa],undefined)?_0x29f4c9[_0x1770fa]:_0x29f4c9[_0x1770fa[_0x53961f(0xc4)]()];_0x547ba3['sUYCj'](_0x48463c,null)&&_0x547ba3[_0x53961f(0xc6)](_0x48463c,undefined)&&(_0x441497['set'](_0x547ba3['BZmYe'](String,_0x48463c)[_0x53961f(0xb8)]()[_0x53961f(0xb5)](),_0x47482c),_0x441497[_0x53961f(0xb2)](_0x547ba3['oeypc'](String,_0x48463c)['trim'](),_0x47482c));}),this[_0x2fd214(0xba)]['set'](_0x38d624,_0x441497),logger['info']({'event':_0x547ba3['qBMJZ'],'table':_0x3d4ede,'column':_0x755856,'count':_0x104d47['length']},'Lookup\x20table\x20loaded:\x20'+_0x3d4ede),_0x441497;}catch(_0x1121b6){logger[_0x2fd214(0xaa)]({'event':_0x547ba3[_0x2fd214(0xb3)],'table':_0x3d4ede,'error':_0x1121b6[_0x2fd214(0xa5)]},_0x2fd214(0xb9)+_0x3d4ede);throw _0x1121b6;}}[a0_0x3fd765(0xa3)](_0x24ce17,_0x22af49){const _0xa69f1c=a0_0x3fd765,_0xce2814={'nhiUS':function(_0x5257e,_0x73e264){return _0x5257e===_0x73e264;},'hfpyP':function(_0x31fe48,_0x533871){return _0x31fe48(_0x533871);}};if(_0x24ce17===null||_0x24ce17===undefined||_0xce2814['nhiUS'](_0x24ce17,''))return null;const _0x2cf64d=_0xce2814['hfpyP'](String,_0x24ce17)[_0xa69f1c(0xb5)]();if(_0x22af49[_0xa69f1c(0xb6)](_0x2cf64d))return _0x22af49['get'](_0x2cf64d);const _0x1b5183=_0x2cf64d['toLowerCase']();if(_0x22af49[_0xa69f1c(0xb6)](_0x1b5183))return _0x22af49[_0xa69f1c(0xc2)](_0x1b5183);return null;}async[a0_0x3fd765(0xc3)](_0x4630bf,_0x227a2d){const _0x38aac3=a0_0x3fd765,_0x59a271={'mmYEa':function(_0x3a2ed1,_0x4ff757){return _0x3a2ed1===_0x4ff757;},'VRWNY':function(_0x36aec9,_0x4d6d11){return _0x36aec9!==_0x4d6d11;},'vMPtS':function(_0x2bf652,_0x259401){return _0x2bf652===_0x259401;},'bUuRD':_0x38aac3(0x9b)};if(!_0x227a2d||_0x59a271[_0x38aac3(0x95)](Object['keys'](_0x227a2d)[_0x38aac3(0xae)],0x0))return{'processedRows':_0x4630bf,'errors':[]};const _0x3a3c5c=[],_0x406cef=new Map();for(const [_0x5a55e3,_0x1ab66b]of Object[_0x38aac3(0xad)](_0x227a2d)){const {lookupTable:_0x1a708f,lookupColumn:_0x5422fa,lookupIdColumn:_0x100114}=_0x1ab66b,_0x1887ec=_0x1a708f+':'+_0x5422fa+':'+_0x100114;if(!_0x406cef[_0x38aac3(0xb6)](_0x1887ec)){const _0x45f113=await this['loadLookupTable'](_0x1a708f,_0x5422fa,_0x100114);_0x406cef['set'](_0x1887ec,_0x45f113);}}const _0x489f15=_0x4630bf['map']((_0x4bd93b,_0xbd564a)=>{const _0x56f39f=_0x38aac3,_0x2d11f5={..._0x4bd93b};for(const [_0x115430,_0xf0198a]of Object[_0x56f39f(0xad)](_0x227a2d)){const {lookupTable:_0x48116e,lookupColumn:_0x4556b1,lookupIdColumn:_0x3c121a,targetField:_0x56c459,required:_0x50392d}=_0xf0198a,_0x3d1fda=_0x48116e+':'+_0x4556b1+':'+_0x3c121a,_0xcd9884=_0x406cef[_0x56f39f(0xc2)](_0x3d1fda),_0x2e4e8e=_0x4bd93b[_0x115430];if((_0x59a271['mmYEa'](_0x2e4e8e,null)||_0x59a271[_0x56f39f(0xa0)](_0x2e4e8e,undefined)||_0x2e4e8e==='')&&!_0x50392d){_0x2d11f5[_0x56c459]=null;continue;}const _0x5b154c=this[_0x56f39f(0xa3)](_0x2e4e8e,_0xcd9884);_0x59a271['VRWNY'](_0x5b154c,null)?_0x2d11f5[_0x56c459]=_0x5b154c:(_0x50392d&&_0x3a3c5c[_0x56f39f(0x98)]({'rowIndex':_0xbd564a,'field':_0x115430,'value':_0x2e4e8e,'targetField':_0x56c459,'lookupTable':_0x48116e,'message':'Value\x20\x22'+_0x2e4e8e+_0x56f39f(0xa4)+_0x48116e}),_0x2d11f5[_0x56c459]=null);}return _0x2d11f5;});return logger['info']({'event':_0x38aac3(0x94),'totalRows':_0x4630bf[_0x38aac3(0xae)],'errorCount':_0x3a3c5c[_0x38aac3(0xae)],'lookupFieldCount':Object[_0x38aac3(0xbe)](_0x227a2d)['length']},_0x59a271[_0x38aac3(0xb0)]),{'processedRows':_0x489f15,'errors':_0x3a3c5c};}['getDistinctValues'](_0xbb1adb,_0x434abe){const _0x4b3650=a0_0x3fd765,_0x1b4dde={'LVMQw':function(_0x3ed424,_0x151351){return _0x3ed424!==_0x151351;},'xCSfp':function(_0x236a5a,_0x3c5b69){return _0x236a5a(_0x3c5b69);}},_0x596ec5=new Set();return _0xbb1adb[_0x4b3650(0x96)](_0x143b8c=>{const _0x308d4c=_0x4b3650,_0x4d7570=_0x143b8c[_0x434abe];_0x1b4dde['LVMQw'](_0x4d7570,null)&&_0x4d7570!==undefined&&_0x4d7570!==''&&_0x596ec5['add'](_0x1b4dde['xCSfp'](String,_0x4d7570)[_0x308d4c(0xb5)]());}),Array[_0x4b3650(0x9c)](_0x596ec5);}async['validateLookupValues'](_0x15cafc,_0x31f1b1){const _0x57476e=a0_0x3fd765,_0x469649={'EfSTo':function(_0x57f9fc,_0x5b7f08){return _0x57f9fc!==_0x5b7f08;},'SzyWZ':function(_0x28f9d2,_0xdeeea0){return _0x28f9d2===_0xdeeea0;}};if(!_0x31f1b1||_0x469649[_0x57476e(0xac)](Object[_0x57476e(0xbe)](_0x31f1b1)[_0x57476e(0xae)],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x32e6dd=[],_0x3881a9={};for(const [_0x2b78ea,_0x26e45e]of Object['entries'](_0x31f1b1)){const {lookupTable:_0x58027c,lookupColumn:_0x3aef89,lookupIdColumn:_0x5b3055,required:_0xa4e0a}=_0x26e45e,_0x97b356=this['getDistinctValues'](_0x15cafc,_0x2b78ea),_0x26f7df=await this['loadLookupTable'](_0x58027c,_0x3aef89,_0x5b3055),_0x471868=[],_0x41aa53=[];_0x97b356[_0x57476e(0x96)](_0xc05e88=>{const _0x20fe1e=_0x57476e,_0x5f256a=this['resolveLookupValue'](_0xc05e88,_0x26f7df);_0x469649[_0x20fe1e(0x9e)](_0x5f256a,null)?_0x41aa53['push'](_0xc05e88):_0x471868['push'](_0xc05e88);});if(_0x471868[_0x57476e(0xae)]>0x0&&_0xa4e0a){_0x32e6dd[_0x57476e(0x98)]({'field':_0x2b78ea,'lookupTable':_0x58027c,'invalidValues':_0x471868,'message':_0x471868['length']+_0x57476e(0xc0)+_0x58027c});const _0x3d4352=[];_0x26f7df[_0x57476e(0x96)]((_0x3aebc1,_0x59c07c)=>{const _0x367881=_0x57476e;if(_0x469649[_0x367881(0xac)](_0x59c07c,_0x59c07c[_0x367881(0xb8)]()))return;_0x3d4352[_0x367881(0x98)](_0x59c07c);}),_0x3881a9[_0x2b78ea]={'invalidValues':_0x471868,'availableValues':_0x3d4352[_0x57476e(0xa8)](0x0,0x32)};}}return{'valid':_0x469649[_0x57476e(0xac)](_0x32e6dd[_0x57476e(0xae)],0x0),'errors':_0x32e6dd,'suggestions':_0x3881a9};}}module[a0_0x3fd765(0xc1)]=new LookupResolver();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a0_0x1283(){const _0x1bd6bd=['txzKDLy','nuvHuuDoDG','Bg9HzfbHEwXVywrcEu5HBwu','DxrMoa','zMLLBgroyw1L','mti1ntHXCM9It04','zxHWB3j0CW','lI4VlI4VCgf5Bg9Hza','Cgf5Bg9HzerPCG','mJK2nZa4mtb6C1jRCMW','y2XLyxjdywnOzq','Axnby3rPB25fBMfIBgvK','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','ugf5Bg9HzcbUB3qGzM91BMq6ia','CgfYC2u','y2fJAgu','DgfIBgvoyw1L','ANrSrwK','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','BwvZC2fNzq','C2v0','odu1mdy0DMXiwNfR','mZzNBuXKCMK','AM9PBG','y29SDw1UrM9YBwf0CW','Cgf5Bg9Hzf9SB2fKzwq','zMLLBgrmywjLBhm','nte0nwXeA1noEa','ntG2mJKXrwHUy0D4','mteWnZy4n2nJq1nHAG','ndeXnJuYDLbfsLvb','lwv4Cg9YDa','CMTYugS','CMvHzezPBgu','ndu3otjlBwzHv0K','AgfZ','z2v0rxHWB3j0q29UzMLN','z2v0','y2XLyxi','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK'];a0_0x1283=function(){return _0x1bd6bd;};return a0_0x1283();}const a0_0x328e24=a0_0x454c;(function(_0x1bcd86,_0xb7a270){const _0x1f8170=a0_0x454c,_0x29257c=_0x1bcd86();while(!![]){try{const _0x382649=-parseInt(_0x1f8170(0xbb))/0x1+-parseInt(_0x1f8170(0xc1))/0x2+-parseInt(_0x1f8170(0xbc))/0x3+parseInt(_0x1f8170(0xbd))/0x4*(-parseInt(_0x1f8170(0xc8))/0x5)+-parseInt(_0x1f8170(0xa4))/0x6*(parseInt(_0x1f8170(0xba))/0x7)+-parseInt(_0x1f8170(0xb4))/0x8*(-parseInt(_0x1f8170(0xb5))/0x9)+parseInt(_0x1f8170(0xa8))/0xa;if(_0x382649===_0xb7a270)break;else _0x29257c['push'](_0x29257c['shift']());}catch(_0x20c923){_0x29257c['push'](_0x29257c['shift']());}}}(a0_0x1283,0xbd311));const fs=require('fs')['promises'],path=require('path'),{logger}=require('./logger');function a0_0x454c(_0x3fb740,_0xa29e6a){_0x3fb740=_0x3fb740-0xa1;const _0x12839e=a0_0x1283();let _0x454cb6=_0x12839e[_0x3fb740];if(a0_0x454c['IvCeBi']===undefined){var _0x5f27cd=function(_0x21d14a){const _0x4d0d2a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x32014c='',_0x21da3d='';for(let _0x5d70cc=0x0,_0x56f556,_0x3bb784,_0x2e9cb5=0x0;_0x3bb784=_0x21d14a['charAt'](_0x2e9cb5++);~_0x3bb784&&(_0x56f556=_0x5d70cc%0x4?_0x56f556*0x40+_0x3bb784:_0x3bb784,_0x5d70cc++%0x4)?_0x32014c+=String['fromCharCode'](0xff&_0x56f556>>(-0x2*_0x5d70cc&0x6)):0x0){_0x3bb784=_0x4d0d2a['indexOf'](_0x3bb784);}for(let _0x21d161=0x0,_0x4ee99b=_0x32014c['length'];_0x21d161<_0x4ee99b;_0x21d161++){_0x21da3d+='%'+('00'+_0x32014c['charCodeAt'](_0x21d161)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x21da3d);};a0_0x454c['dtiGhP']=_0x5f27cd,a0_0x454c['TurmEJ']={},a0_0x454c['IvCeBi']=!![];}const _0x2fa6f0=_0x12839e[0x0],_0x457269=_0x3fb740+_0x2fa6f0,_0x2ba726=a0_0x454c['TurmEJ'][_0x457269];return!_0x2ba726?(_0x454cb6=a0_0x454c['dtiGhP'](_0x454cb6),a0_0x454c['TurmEJ'][_0x457269]=_0x454cb6):_0x454cb6=_0x2ba726,_0x454cb6;}class PayloadLoader{constructor(){const _0x47bb3c=a0_0x454c;this[_0x47bb3c(0xa7)]=path[_0x47bb3c(0xb6)](__dirname,_0x47bb3c(0xa6)),this[_0x47bb3c(0xae)]=new Map();}async['loadPayload'](_0x304c91,_0x5ee1cc){const _0x5ef1bd=a0_0x454c,_0x2068e4={'uDkRE':'payload_load_error','EclPW':'Failed\x20to\x20load\x20payload'},_0x12e2d6=_0x304c91+':'+_0x5ee1cc;if(this[_0x5ef1bd(0xae)]['has'](_0x12e2d6))return this['cache'][_0x5ef1bd(0xc4)](_0x12e2d6);const _0x53e1ee=path[_0x5ef1bd(0xb6)](this['payloadDir'],_0x304c91+'_'+_0x5ee1cc+'.json');try{const _0x5df5bd=await fs[_0x5ef1bd(0xc0)](_0x53e1ee,_0x5ef1bd(0xa2)),_0x2b8d23=JSON[_0x5ef1bd(0xad)](_0x5df5bd);return this['cache'][_0x5ef1bd(0xb3)](_0x12e2d6,_0x2b8d23),logger['debug']({'event':_0x5ef1bd(0xb8),'project':_0x304c91,'resource':_0x5ee1cc},_0x5ef1bd(0xab)),_0x2b8d23;}catch(_0x4572c6){logger['error']({'event':_0x2068e4['uDkRE'],'project':_0x304c91,'resource':_0x5ee1cc,'error':_0x4572c6[_0x5ef1bd(0xb2)]},_0x2068e4['EclPW']);throw new Error(_0x5ef1bd(0xac)+_0x304c91+'_'+_0x5ee1cc);}}async[a0_0x328e24(0xa1)](_0x19f66c){const _0x4ae03d=a0_0x328e24,_0xbfe7e8={'MvdvV':'utf8','rkrPk':_0x4ae03d(0xb8),'QIKpc':'Failed\x20to\x20load\x20payload\x20by\x20name'},_0x561ad9='payload:'+_0x19f66c;if(this[_0x4ae03d(0xae)][_0x4ae03d(0xc2)](_0x561ad9))return this[_0x4ae03d(0xae)][_0x4ae03d(0xc4)](_0x561ad9);const _0x1a88b3=path[_0x4ae03d(0xb6)](this[_0x4ae03d(0xa7)],_0x19f66c+'.json');try{const _0x5d132c=await fs['readFile'](_0x1a88b3,_0xbfe7e8[_0x4ae03d(0xc7)]),_0x4b647f=JSON[_0x4ae03d(0xad)](_0x5d132c);return this['cache'][_0x4ae03d(0xb3)](_0x561ad9,_0x4b647f),logger['debug']({'event':_0xbfe7e8[_0x4ae03d(0xbf)],'payloadName':_0x19f66c},_0x4ae03d(0xb1)),_0x4b647f;}catch(_0x2f2898){logger['error']({'event':'payload_load_error','payloadName':_0x19f66c,'error':_0x2f2898['message']},_0xbfe7e8['QIKpc']);throw new Error(_0x4ae03d(0xac)+_0x19f66c);}}[a0_0x328e24(0xaa)](_0x2182ca,_0x137562){return _0x2182ca['action']&&_0x2182ca['action'][_0x137562]===!![];}[a0_0x328e24(0xc3)](_0x4d39c7){const _0x58065d=a0_0x328e24;return{'columns':_0x4d39c7[_0x58065d(0xa3)]||[],'filename':_0x4d39c7[_0x58065d(0xaf)]['replace']('.','-')+_0x58065d(0xbe),'datatablesQuery':_0x4d39c7['datatablesQuery']||null,'columnFormats':_0x4d39c7[_0x58065d(0xb7)]||null,'fieldLabels':_0x4d39c7[_0x58065d(0xb9)]||null};}[a0_0x328e24(0xa9)](){const _0xd483da=a0_0x328e24,_0x2b5512={'jtlEi':_0xd483da(0xc6),'WPKsR':'Payload\x20cache\x20cleared'};this[_0xd483da(0xae)][_0xd483da(0xc5)](),logger['info']({'event':_0x2b5512[_0xd483da(0xb0)]},_0x2b5512['WPKsR']);}}module[a0_0x328e24(0xa5)]=new PayloadLoader();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var a0_0x56e37d=a0_0x59c6;(function(_0x35b101,_0x29f060){var _0x4c11e6=a0_0x59c6,_0x32a781=_0x35b101();while(!![]){try{var _0x7ad06d=parseInt(_0x4c11e6(0x190))/0x1*(parseInt(_0x4c11e6(0x18c))/0x2)+-parseInt(_0x4c11e6(0x18d))/0x3+-parseInt(_0x4c11e6(0x18f))/0x4+-parseInt(_0x4c11e6(0x18e))/0x5*(parseInt(_0x4c11e6(0x189))/0x6)+-parseInt(_0x4c11e6(0x187))/0x7+-parseInt(_0x4c11e6(0x191))/0x8*(-parseInt(_0x4c11e6(0x18b))/0x9)+parseInt(_0x4c11e6(0x188))/0xa;if(_0x7ad06d===_0x29f060)break;else _0x32a781['push'](_0x32a781['shift']());}catch(_0x575a39){_0x32a781['push'](_0x32a781['shift']());}}}(a0_0x4079,0xd5ae5));function a0_0x59c6(_0x4e9bee,_0x125f8c){_0x4e9bee=_0x4e9bee-0x187;var _0x4079d9=a0_0x4079();var _0x59c68a=_0x4079d9[_0x4e9bee];if(a0_0x59c6['BXcwPD']===undefined){var _0x4b099d=function(_0xb3a8b){var _0x3a70a8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x2649ae='',_0x2fb2cd='';for(var _0x5ef385=0x0,_0x583efe,_0x50b566,_0x49b02c=0x0;_0x50b566=_0xb3a8b['charAt'](_0x49b02c++);~_0x50b566&&(_0x583efe=_0x5ef385%0x4?_0x583efe*0x40+_0x50b566:_0x50b566,_0x5ef385++%0x4)?_0x2649ae+=String['fromCharCode'](0xff&_0x583efe>>(-0x2*_0x5ef385&0x6)):0x0){_0x50b566=_0x3a70a8['indexOf'](_0x50b566);}for(var _0x52a78e=0x0,_0x50794a=_0x2649ae['length'];_0x52a78e<_0x50794a;_0x52a78e++){_0x2fb2cd+='%'+('00'+_0x2649ae['charCodeAt'](_0x52a78e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2fb2cd);};a0_0x59c6['QRVNEP']=_0x4b099d,a0_0x59c6['AHAcOB']={},a0_0x59c6['BXcwPD']=!![];}var _0x4aa0e8=_0x4079d9[0x0],_0x21787c=_0x4e9bee+_0x4aa0e8,_0x1bbef2=a0_0x59c6['AHAcOB'][_0x21787c];return!_0x1bbef2?(_0x59c68a=a0_0x59c6['QRVNEP'](_0x59c68a),a0_0x59c6['AHAcOB'][_0x21787c]=_0x59c68a):_0x59c68a=_0x1bbef2,_0x59c68a;}function createResponse(_0x465474,_0x1282cf,_0xc12a14=null){var _0x58e665=a0_0x59c6;return{'success':!![],'statusCode':_0x465474,'message':_0x1282cf,'data':_0xc12a14,'timestamp':new Date()[_0x58e665(0x18a)]()};}function createError(_0x6c363e,_0xd50bd4,_0x11c426=null){return{'success':![],'statusCode':_0x6c363e,'message':_0xd50bd4,'data':_0x11c426,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x1edd77,_0x9d5543){return{'success':![],'statusCode':0x190,'message':_0x1edd77,'data':{'errors':_0x9d5543},'timestamp':new Date()['toISOString']()};}function a0_0x4079(){var _0x189a4d=['odu3ndiWnwvvtff2wG','nda1mZe3mNvmD1vfua','mw5ND1HwsG','mJrsu0nMtfC','zxHWB3j0CW','otm4mZC1ow1AD0zhwq','ndm1oda3nJbHzMzZv0i','nKPqrLPvCa','Dg9ju09tDhjPBMC','mJa3ntK1ogvzDhDsva','mtuZotm2ohHkquHcDW','mJyYnZuXnhLfsezZva'];a0_0x4079=function(){return _0x189a4d;};return a0_0x4079();}module[a0_0x56e37d(0x192)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
|
package/src/utils/rabbitmq.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a0_0x20c5(_0x5aae1b,_0x59a016){_0x5aae1b=_0x5aae1b-0x112;const _0x1a32d9=a0_0x1a32();let _0x20c5d9=_0x1a32d9[_0x5aae1b];if(a0_0x20c5['tLpzWK']===undefined){var _0x5dd385=function(_0x4b7b17){const _0xe5405a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4e1504='',_0x1c0cd4='';for(let _0x27cc80=0x0,_0x4f16f9,_0x4421ea,_0xf0995e=0x0;_0x4421ea=_0x4b7b17['charAt'](_0xf0995e++);~_0x4421ea&&(_0x4f16f9=_0x27cc80%0x4?_0x4f16f9*0x40+_0x4421ea:_0x4421ea,_0x27cc80++%0x4)?_0x4e1504+=String['fromCharCode'](0xff&_0x4f16f9>>(-0x2*_0x27cc80&0x6)):0x0){_0x4421ea=_0xe5405a['indexOf'](_0x4421ea);}for(let _0x3050e7=0x0,_0x37ed67=_0x4e1504['length'];_0x3050e7<_0x37ed67;_0x3050e7++){_0x1c0cd4+='%'+('00'+_0x4e1504['charCodeAt'](_0x3050e7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1c0cd4);};a0_0x20c5['WJlHXk']=_0x5dd385,a0_0x20c5['FFXchs']={},a0_0x20c5['tLpzWK']=!![];}const _0x25715b=_0x1a32d9[0x0],_0x11bc98=_0x5aae1b+_0x25715b,_0x32cbc0=a0_0x20c5['FFXchs'][_0x11bc98];return!_0x32cbc0?(_0x20c5d9=a0_0x20c5['WJlHXk'](_0x20c5d9),a0_0x20c5['FFXchs'][_0x11bc98]=_0x20c5d9):_0x20c5d9=_0x32cbc0,_0x20c5d9;}const a0_0xf64612=a0_0x20c5;(function(_0x7c3e76,_0x5a2aa){const _0x5b5a9b=a0_0x20c5,_0xa0575a=_0x7c3e76();while(!![]){try{const _0x2f8c96=parseInt(_0x5b5a9b(0x112))/0x1*(-parseInt(_0x5b5a9b(0x138))/0x2)+parseInt(_0x5b5a9b(0x135))/0x3+parseInt(_0x5b5a9b(0x127))/0x4*(parseInt(_0x5b5a9b(0x11e))/0x5)+parseInt(_0x5b5a9b(0x113))/0x6+parseInt(_0x5b5a9b(0x12c))/0x7+parseInt(_0x5b5a9b(0x116))/0x8*(parseInt(_0x5b5a9b(0x12d))/0x9)+parseInt(_0x5b5a9b(0x129))/0xa*(-parseInt(_0x5b5a9b(0x13b))/0xb);if(_0x2f8c96===_0x5a2aa)break;else _0xa0575a['push'](_0xa0575a['shift']());}catch(_0x2b32dd){_0xa0575a['push'](_0xa0575a['shift']());}}}(a0_0x1a32,0xe4a38),require('dotenv')['config']());const amqp=require(a0_0xf64612(0x123)),{formatDate}=require(a0_0xf64612(0x12f)),RABBITMQ_URL=process['env']['RABBITMQ_URL'],EXCHANGE=process[a0_0xf64612(0x11b)][a0_0xf64612(0x115)],ROUTING_KEY=process['env']['RABBITMQ_ROUTING_KEY'],QUEUE=process[a0_0xf64612(0x11b)]['RABBITMQ_QUEUE'];async function createConnection(){const _0x4b9d03=a0_0xf64612,_0x2a041e={'TKbEs':function(_0x179815,_0x5a03bf){return _0x179815(_0x5a03bf);}};try{const _0x1ad3da=await amqp['connect'](RABBITMQ_URL);return console['log']('['+_0x2a041e['TKbEs'](formatDate,new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x1ad3da;}catch(_0xd81912){console[_0x4b9d03(0x130)]('['+formatDate(new Date())+_0x4b9d03(0x13a)+_0xd81912['message']);throw _0xd81912;}}async function createChannel(_0x427e7a){const _0x438986=a0_0xf64612,_0xf584f8={'dytPj':function(_0x9c1a3c,_0x54d42e){return _0x9c1a3c(_0x54d42e);},'kxTfP':function(_0x566daa,_0x72ea3b){return _0x566daa(_0x72ea3b);}};try{const _0x5358db=await _0x427e7a[_0x438986(0x122)]();return console[_0x438986(0x126)]('['+_0xf584f8['dytPj'](formatDate,new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x5358db;}catch(_0x4ba10a){console['error']('['+_0xf584f8['kxTfP'](formatDate,new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x4ba10a[_0x438986(0x124)]);throw _0x4ba10a;}}async function setupInfrastructure(_0x59f415){const _0x46e812=a0_0xf64612,_0x50e21e={'fznNh':_0x46e812(0x139),'NAilC':function(_0x17f814,_0x552703){return _0x17f814(_0x552703);},'cpZRS':'direct','ZBOjr':function(_0x76dfeb,_0x4a731c){return _0x76dfeb(_0x4a731c);},'vBxdQ':_0x46e812(0x137)};try{await _0x59f415[_0x46e812(0x121)](_0x50e21e[_0x46e812(0x125)],'direct',{'durable':!![],'autoDelete':![]}),console[_0x46e812(0x126)]('['+_0x50e21e['NAilC'](formatDate,new Date())+_0x46e812(0x11a));}catch(_0x11329f){console[_0x46e812(0x130)]('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x11329f[_0x46e812(0x124)]);throw _0x11329f;}try{await _0x59f415[_0x46e812(0x121)](EXCHANGE,_0x50e21e['cpZRS'],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x50e21e['NAilC'](formatDate,new Date())+_0x46e812(0x131)+EXCHANGE+_0x46e812(0x134));}catch(_0x25c24b){console['error']('['+_0x50e21e[_0x46e812(0x136)](formatDate,new Date())+_0x46e812(0x12b)+EXCHANGE+':',_0x25c24b[_0x46e812(0x124)]);throw _0x25c24b;}const _0x49afda=ROUTING_KEY+_0x46e812(0x12a);try{const _0x3e7f14={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x59f415['assertQueue'](_0x49afda,_0x3e7f14),console['log']('['+formatDate(new Date())+_0x46e812(0x11d)+_0x49afda+_0x46e812(0x134)),await _0x59f415['bindQueue'](_0x49afda,_0x50e21e['fznNh'],ROUTING_KEY),console['log']('['+_0x50e21e['NAilC'](formatDate,new Date())+_0x46e812(0x11c)+ROUTING_KEY+'\x20created');}catch(_0x347834){console[_0x46e812(0x130)]('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x347834[_0x46e812(0x124)]);throw _0x347834;}try{const _0x59c871={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x50e21e[_0x46e812(0x125)],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x27bf67=await _0x59f415['assertQueue'](QUEUE,_0x59c871);console[_0x46e812(0x126)]('['+_0x50e21e[_0x46e812(0x12e)](formatDate,new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x27bf67['queue']===QUEUE?_0x50e21e[_0x46e812(0x120)]:_0x46e812(0x119))+'\x20with\x20DLX'),await _0x59f415[_0x46e812(0x133)](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+_0x50e21e['ZBOjr'](formatDate,new Date())+']\x20Binding\x20'+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0x44dabb){if(_0x44dabb['message']['includes'](_0x46e812(0x118))&&_0x44dabb['message'][_0x46e812(0x128)]('x-dead-letter-routing-key'))console['error']('\x0a['+formatDate(new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x46e812(0x130)](_0x46e812(0x114)+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console['error']('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process['exit'](0x1);else{console['error']('['+_0x50e21e['NAilC'](formatDate,new Date())+_0x46e812(0x132)+QUEUE+':',_0x44dabb[_0x46e812(0x124)]);throw _0x44dabb;}}}catch(_0x270d14){if(!_0x270d14[_0x46e812(0x124)]['includes']('inequivalent\x20arg')){console['error']('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x270d14['message']);throw _0x270d14;}process['exit'](0x1);}}async function closeConnection(_0x404788){const _0x169b70=a0_0xf64612;if(_0x404788)try{await _0x404788['close'](),console['log']('['+formatDate(new Date())+_0x169b70(0x117));}catch(_0x45ae98){console[_0x169b70(0x130)]('['+formatDate(new Date())+']\x20Failed\x20to\x20close\x20RabbitMQ\x20connection:\x20'+_0x45ae98['message']);}}module[a0_0xf64612(0x11f)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};function a0_0x1a32(){const _0x138a20=['zxHWB3j0CW','DKj4zfe','yxnZzxj0rxHJAgfUz2u','y3jLyxrLq2HHBM5LBa','yw1XCgXPyG','BwvZC2fNzq','zNPUtMG','Bg9N','ne1otLnVtG','Aw5JBhvKzxm','mti1nZeWmZbnCgnutxy','x3jLDhj5','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','mJGZndm5mvfkrKPIzq','nJnID05Ps3m','wKjpANi','lI9KyxrLsgvSCgvY','zxjYB3i','xsbfEgnOyw5Nzsa','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','yMLUzff1zxvL','ignYzwf0zwqVCMvHzhK','mZK5odm2n1LyBNvPtW','tKfPBem','y3jLyxrLzc9YzwfKEq','mJuWwwrzshjT','CMv0CNKTzxHJAgfUz2u','xsbgywLSzwqGDg8Gy29UBMvJDcb0BYbsywjIAxrnutOG','mtfICgf4D0G','ntaYmu9Kr0Hbwq','mteZnZC1mgzTC3r2Da','uxvLDwuG','uKfcqKLutvfFrvHdsefor0u','ndi1mdq4wfvHqKz3','xsbsywjIAxrnusbJB25Uzwn0Aw9UignSB3nLza','Aw5LCxvPDMfSzw50igfYzW','zM91BMq','xsbszxrYEsbLEgnOyw5NzsbJCMvHDgvKl3jLywr5','zw52','xsbszxrYEsbIAw5KAw5NigzVCIa','xsbszxrYEsbXDwv1zsa','mJyWotK0mhr5wxbpyG'];a0_0x1a32=function(){return _0x138a20;};return a0_0x1a32();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a0_0x12d3(){const _0x3c24e8=['zw52','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','zM9Yy2veAxnJB25Uzwn0','y2XPzw50','AxndB25Uzwn0zwq','zxjYB3i','z2v0q2XPzw50','mZi3mdmXmLLoD2fABW','Aw5MBW','mtvkvxPxAe0','uKvesvnFue9sva','mti5ntKWnJr1AuXlvM0','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','mJjnB2DgBuW','ndC0mJC3BNP5CurS','mLzvtg1AuG','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','mta3nte1nMT1CgXcsq','mZu3ntm1mKPkANPryq','zxHWB3j0CW','BwvZC2fNzq','lI9SB2DNzxi','CxvPDa','Aw9YzwrPCW','CMfJzq','Bu5Htxi','uKvesvnFueftu1DpuKq','CMvKAxnFAw5PDf9LCNjVCG','CMvKAxnFzgLZy29UBMvJDgvK','wKXLuei','nZu5nti5mhvxwfn4Bq','mJu1mhLOELvYrW','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','uevtzKu','ovLUuvzsBW','mtCWodDxswvste4','AwzqtuG','yxbwCNi','CgLUzW'];a0_0x12d3=function(){return _0x3c24e8;};return a0_0x12d3();}const a0_0x120d0d=a0_0x3980;(function(_0x275dd9,_0x3d91e3){const _0xcb1880=a0_0x3980,_0x55f6e0=_0x275dd9();while(!![]){try{const _0xcf2af=-parseInt(_0xcb1880(0xfa))/0x1+-parseInt(_0xcb1880(0xfb))/0x2*(parseInt(_0xcb1880(0xfe))/0x3)+-parseInt(_0xcb1880(0xfd))/0x4*(-parseInt(_0xcb1880(0xf5))/0x5)+-parseInt(_0xcb1880(0x10b))/0x6*(parseInt(_0xcb1880(0x10f))/0x7)+-parseInt(_0xcb1880(0xf3))/0x8+parseInt(_0xcb1880(0x10e))/0x9*(parseInt(_0xcb1880(0x10a))/0xa)+parseInt(_0xcb1880(0xf9))/0xb*(parseInt(_0xcb1880(0xf7))/0xc);if(_0xcf2af===_0x3d91e3)break;else _0x55f6e0['push'](_0x55f6e0['shift']());}catch(_0x564e6f){_0x55f6e0['push'](_0x55f6e0['shift']());}}}(a0_0x12d3,0x95c59));const Redis=require(a0_0x120d0d(0x103)),{logger}=require(a0_0x120d0d(0x101));function a0_0x3980(_0x290958,_0x37b0f6){_0x290958=_0x290958-0xf2;const _0x12d311=a0_0x12d3();let _0x398079=_0x12d311[_0x290958];if(a0_0x3980['rwGefM']===undefined){var _0xd129ad=function(_0x26d857){const _0x5f0484='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5ddb21='',_0x4add32='';for(let _0x55b3cf=0x0,_0x574422,_0xc7ad06,_0x47892a=0x0;_0xc7ad06=_0x26d857['charAt'](_0x47892a++);~_0xc7ad06&&(_0x574422=_0x55b3cf%0x4?_0x574422*0x40+_0xc7ad06:_0xc7ad06,_0x55b3cf++%0x4)?_0x5ddb21+=String['fromCharCode'](0xff&_0x574422>>(-0x2*_0x55b3cf&0x6)):0x0){_0xc7ad06=_0x5f0484['indexOf'](_0xc7ad06);}for(let _0x5e9337=0x0,_0x3e2fde=_0x5ddb21['length'];_0x5e9337<_0x3e2fde;_0x5e9337++){_0x4add32+='%'+('00'+_0x5ddb21['charCodeAt'](_0x5e9337)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4add32);};a0_0x3980['GHvnKV']=_0xd129ad,a0_0x3980['uERIeB']={},a0_0x3980['rwGefM']=!![];}const _0x18a04b=_0x12d311[0x0],_0x1d62c1=_0x290958+_0x18a04b,_0x1e2848=a0_0x3980['uERIeB'][_0x1d62c1];return!_0x1e2848?(_0x398079=a0_0x3980['GHvnKV'](_0x398079),a0_0x3980['uERIeB'][_0x1d62c1]=_0x398079):_0x398079=_0x1e2848,_0x398079;}class RedisClient{constructor(){const _0x14d7fb=a0_0x120d0d;this[_0x14d7fb(0x116)]=null,this[_0x14d7fb(0x117)]=![];}['connect'](){const _0x19b60b=a0_0x120d0d,_0x4f9e24={'PESfE':function(_0x453f4b,_0x32d897){return _0x453f4b*_0x32d897;},'Pibup':'redis_connected','ifPMH':'connect','ZLePB':'close','mNaMr':_0x19b60b(0x107)};if(this['client'])return this[_0x19b60b(0x116)];try{return this['client']=new Redis({'host':process['env']['REDIS_HOST']||'localhost','port':parseInt(process[_0x19b60b(0x113)][_0x19b60b(0xf6)],0xa)||0x18ec,'password':process[_0x19b60b(0x113)][_0x19b60b(0x106)]||undefined,'db':parseInt(process['env']['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x17eef4){const _0x4cf970=_0x19b60b,_0x1fa625=Math['min'](_0x4f9e24[_0x4cf970(0x10d)](_0x17eef4,0x32),0x7d0);return _0x1fa625;}}),this['client']['on'](_0x4f9e24[_0x19b60b(0x110)],()=>{const _0x175aa1=_0x19b60b;this[_0x175aa1(0x117)]=!![],logger[_0x175aa1(0xf4)]({'event':_0x4f9e24['Pibup']},_0x175aa1(0xf8));}),this['client']['on'](_0x19b60b(0x118),_0x11e025=>{const _0x2d6b5e=_0x19b60b;this[_0x2d6b5e(0x117)]=![],logger[_0x2d6b5e(0x118)]({'event':'redis_error','error':_0x11e025['message']},_0x2d6b5e(0x114)+_0x11e025[_0x2d6b5e(0x100)]);}),this['client']['on'](_0x4f9e24[_0x19b60b(0x109)],()=>{const _0x456df2=_0x19b60b;this['isConnected']=![],logger['warn']({'event':_0x456df2(0x108)},_0x456df2(0x10c));}),this['client'];}catch(_0x1ed84c){logger['error']({'event':_0x4f9e24[_0x19b60b(0x105)],'error':_0x1ed84c['message']},_0x19b60b(0xfc));throw _0x1ed84c;}}[a0_0x120d0d(0xf2)](){return!this['client']&&this['connect'](),this['client'];}async[a0_0x120d0d(0x112)](_0x121909=0x1388){const _0x550e78=a0_0x120d0d,_0x9dd64={'apVrr':'PONG'};try{const _0x25c412=this[_0x550e78(0xf2)](),_0x7670f3=await Promise[_0x550e78(0x104)]([_0x25c412[_0x550e78(0x112)](),new Promise((_0x2b1219,_0x3d4a1c)=>setTimeout(()=>_0x3d4a1c(new Error('Redis\x20PING\x20timeout')),_0x121909))]);return _0x7670f3===_0x9dd64[_0x550e78(0x111)];}catch(_0x11f6a0){return![];}}async['disconnect'](){const _0x5d0da6=a0_0x120d0d;this[_0x5d0da6(0x116)]&&(await this[_0x5d0da6(0x116)][_0x5d0da6(0x102)](),this[_0x5d0da6(0x116)]=null,this['isConnected']=![]);}[a0_0x120d0d(0x115)](){const _0x430397=a0_0x120d0d;this[_0x430397(0x116)]&&(this[_0x430397(0x116)]['disconnect'](),this[_0x430397(0x116)]=null,this[_0x430397(0x117)]=![]);}}module[a0_0x120d0d(0xff)]=new RedisClient();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a0_0x44589e=a0_0x9e85;function a0_0x9e85(_0x3908fd,_0x1a338c){_0x3908fd=_0x3908fd-0x167;const _0x53f49a=a0_0x53f4();let _0x9e854d=_0x53f49a[_0x3908fd];if(a0_0x9e85['HuRRwF']===undefined){var _0x2bf80d=function(_0x5e386a){const _0x356e42='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e61f2='',_0x103164='';for(let _0x1b9e9f=0x0,_0x179ff8,_0xbe1c93,_0x319037=0x0;_0xbe1c93=_0x5e386a['charAt'](_0x319037++);~_0xbe1c93&&(_0x179ff8=_0x1b9e9f%0x4?_0x179ff8*0x40+_0xbe1c93:_0xbe1c93,_0x1b9e9f++%0x4)?_0x2e61f2+=String['fromCharCode'](0xff&_0x179ff8>>(-0x2*_0x1b9e9f&0x6)):0x0){_0xbe1c93=_0x356e42['indexOf'](_0xbe1c93);}for(let _0x3f9d04=0x0,_0x22a5cc=_0x2e61f2['length'];_0x3f9d04<_0x22a5cc;_0x3f9d04++){_0x103164+='%'+('00'+_0x2e61f2['charCodeAt'](_0x3f9d04)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x103164);};a0_0x9e85['wpLcLi']=_0x2bf80d,a0_0x9e85['dudLyd']={},a0_0x9e85['HuRRwF']=!![];}const _0x390ffe=_0x53f49a[0x0],_0x47959d=_0x3908fd+_0x390ffe,_0x46759e=a0_0x9e85['dudLyd'][_0x47959d];return!_0x46759e?(_0x9e854d=a0_0x9e85['wpLcLi'](_0x9e854d),a0_0x9e85['dudLyd'][_0x47959d]=_0x9e854d):_0x9e854d=_0x46759e,_0x9e854d;}function a0_0x53f4(){const _0x35ef64=['mJG1ndaYm3rKzhnmva','CMvKAxnFzgvSzxrLx2vYCM9Y','z2v0qwXSsM9ICW','DxbKyxrLsM9I','mteYodC0mfHttK5uuq','rvHqt1jux0zjtevFrvHqsvjz','z2v0sM9I','C3rYAw5NAwz5','mJrivgzfCwi','nZe5nZK1n2fjv3b2BW','t0jbwKe','y0HpAMC','oMv4Cg9YDdO','otq1ntK2zxDirePW','mZyZnty1mNbjuxjjsa','z2v0q2XPzw50','zxjYB3i','DhHdt3K','CMvKAxnFC2v0x2vYCM9Y','zgvMyxvSDa','CgfYC2u','nda3nJu0nhHXrevbra','x3bYzwzPEa','BwvZC2fNzq','CMvKAxnFz2v0x2vYCM9Y','nvLxvKLHuG','ChjLzML4','CMvKAxnFz2v0ywXSx2vYCM9Y','DhrS','ntiZoty4mLPwv2nwyq','C2v0sM9I','wKHtuxe','BvryrhG','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','A2v5CW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','z2v0'];a0_0x53f4=function(){return _0x35ef64;};return a0_0x53f4();}(function(_0x9d38ea,_0xc9349e){const _0x5a9611=a0_0x9e85,_0x1ed4a6=_0x9d38ea();while(!![]){try{const _0x3f3649=parseInt(_0x5a9611(0x180))/0x1+parseInt(_0x5a9611(0x189))/0x2+-parseInt(_0x5a9611(0x17c))/0x3+parseInt(_0x5a9611(0x16b))/0x4+parseInt(_0x5a9611(0x16f))/0x5*(parseInt(_0x5a9611(0x18a))/0x6)+parseInt(_0x5a9611(0x173))/0x7+-parseInt(_0x5a9611(0x184))/0x8*(parseInt(_0x5a9611(0x185))/0x9);if(_0x3f3649===_0xc9349e)break;else _0x1ed4a6['push'](_0x1ed4a6['shift']());}catch(_0x266d40){_0x1ed4a6['push'](_0x1ed4a6['shift']());}}}(a0_0x53f4,0x98762));const redisClient=require('./redis-client'),{logger}=require('./logger');class RedisHelper{constructor(){const _0x5e03d6=a0_0x9e85;this['_prefix']=null,this['ttl']=parseInt(process['env'][_0x5e03d6(0x181)],0xa)||0xe10;}get['prefix'](){const _0x2b1606=a0_0x9e85,_0x1d5988={'txCOy':_0x2b1606(0x169)};if(!this[_0x2b1606(0x16c)]){const _0x81b4a5=process['env'][_0x2b1606(0x17a)]||_0x1d5988[_0x2b1606(0x167)];this['_prefix']='restforge:'+_0x81b4a5+_0x2b1606(0x188);}return this['_prefix'];}async[a0_0x44589e(0x174)](_0xaa3065,_0x4a3804){const _0x53b116=a0_0x44589e,_0x7a5fd9={'AKtsM':_0x53b116(0x168),'ZHSQq':_0x53b116(0x178)};try{const _0x5dab3a=redisClient[_0x53b116(0x18b)](),_0x328604=''+this[_0x53b116(0x170)]+_0xaa3065;return await _0x5dab3a['setex'](_0x328604,this[_0x53b116(0x172)],JSON[_0x53b116(0x183)](_0x4a3804)),!![];}catch(_0x5b9f1a){return logger['error']({'event':_0x7a5fd9['AKtsM'],'jobId':_0xaa3065,'error':_0x5b9f1a['message']},_0x7a5fd9[_0x53b116(0x175)]),![];}}async['getJob'](_0x5113c2){const _0x3c90bd=a0_0x44589e,_0x5378a5={'mTXDx':'Failed\x20to\x20get\x20job\x20from\x20Redis'};try{const _0x54612d=redisClient['getClient'](),_0x4ba9c7=''+this['prefix']+_0x5113c2,_0x4d65e7=await _0x54612d['get'](_0x4ba9c7);return _0x4d65e7?JSON[_0x3c90bd(0x16a)](_0x4d65e7):null;}catch(_0x5628fe){return logger[_0x3c90bd(0x18c)]({'event':_0x3c90bd(0x16e),'jobId':_0x5113c2,'error':_0x5628fe['message']},_0x5378a5[_0x3c90bd(0x176)]),null;}}async[a0_0x44589e(0x17f)](_0x259c44,_0x3fed97){const _0x5c7fa7=a0_0x44589e,_0x5c00f9=await this[_0x5c7fa7(0x182)](_0x259c44);if(!_0x5c00f9)return![];const _0x4ae1a5={..._0x5c00f9,..._0x3fed97};return await this['setJob'](_0x259c44,_0x4ae1a5);}async['deleteJob'](_0x47db98){const _0x156345=a0_0x44589e,_0x4db4e7={'OBAZA':'Failed\x20to\x20delete\x20job\x20from\x20Redis'};try{const _0x376c3a=redisClient['getClient'](),_0x20a70c=''+this['prefix']+_0x47db98;return await _0x376c3a['del'](_0x20a70c),!![];}catch(_0x42d7ba){return logger['error']({'event':_0x156345(0x17d),'jobId':_0x47db98,'error':_0x42d7ba[_0x156345(0x16d)]},_0x4db4e7[_0x156345(0x186)]),![];}}async[a0_0x44589e(0x17e)](){const _0x3b9157=a0_0x44589e,_0x4416b6={'pxXvn':_0x3b9157(0x171),'cHOjg':_0x3b9157(0x177)};try{const _0x42613c=redisClient[_0x3b9157(0x18b)](),_0x324305=await _0x42613c[_0x3b9157(0x179)](this['prefix']+'*'),_0x101b43=[];for(const _0x596e4f of _0x324305){const _0x18e7e6=await _0x42613c[_0x3b9157(0x17b)](_0x596e4f);_0x18e7e6&&_0x101b43['push'](JSON[_0x3b9157(0x16a)](_0x18e7e6));}return _0x101b43;}catch(_0xdc5298){return logger[_0x3b9157(0x18c)]({'event':_0x4416b6['pxXvn'],'error':_0xdc5298['message']},_0x4416b6[_0x3b9157(0x187)]),[];}}}module['exports']=new RedisHelper();
|