@restforgejs/platform 5.1.20 → 5.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/catalog/dashboard.js +1 -1
- package/generators/cli/catalog/dbschema.js +3 -3
- package/generators/cli/catalog/field-validation.js +1 -1
- package/generators/cli/catalog/query-declarative.js +1 -1
- package/generators/cli/config/clear-default.js +1 -1
- package/generators/cli/config/get-default.js +1 -1
- package/generators/cli/config/list.js +1 -1
- package/generators/cli/config/schema.js +1 -1
- package/generators/cli/config/set-default.js +2 -2
- package/generators/cli/config/template.js +1 -1
- package/generators/cli/dashboard/create.js +7 -7
- package/generators/cli/data/pull.js +12 -12
- package/generators/cli/data/push.js +9 -9
- package/generators/cli/endpoint/create.js +11 -11
- package/generators/cli/endpoint/list.js +3 -3
- package/generators/cli/fast-track.js +7 -7
- package/generators/cli/init.js +2 -2
- package/generators/cli/kafka/consumer-create.js +5 -5
- package/generators/cli/key/generate.js +3 -3
- package/generators/cli/key/list.js +2 -2
- package/generators/cli/key/revoke.js +3 -3
- package/generators/cli/payload/diff.js +3 -3
- package/generators/cli/payload/generate.js +5 -5
- package/generators/cli/payload/sync.js +5 -5
- package/generators/cli/payload/validate.js +3 -3
- package/generators/cli/processor/create.js +7 -7
- package/generators/cli/processor/list.js +3 -3
- package/generators/cli/project/delete.js +2 -2
- package/generators/cli/project/list.js +1 -1
- package/generators/cli/query/validate.js +3 -3
- package/generators/cli/schema/apply.js +13 -13
- package/generators/cli/schema/describe.js +6 -6
- package/generators/cli/schema/diff.js +10 -10
- package/generators/cli/schema/generate-ddl.js +11 -11
- package/generators/cli/schema/init.js +95 -95
- package/generators/cli/schema/introspect.js +8 -8
- package/generators/cli/schema/list.js +6 -6
- package/generators/cli/schema/migrate.js +91 -13
- package/generators/cli/schema/models.js +6 -6
- package/generators/cli/schema/template.js +223 -222
- package/generators/cli/schema/validate.js +6 -6
- package/generators/cli/test/generate.js +6 -6
- package/generators/lib/dbschema-kit/apply-executor.js +20 -0
- package/generators/lib/dbschema-kit/introspect-mapper.js +20 -0
- package/generators/lib/generators/processor-validation-generator.js +4 -1
- package/generators/lib/migrate/field-type-resolver.js +23 -0
- package/generators/lib/payload/payload-runner.js +17 -3
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/integrity-manifest.json +18 -18
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/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_0x23eb(){const _0x46213a=['z2v0q2XPzw50','DKT5Ceu','x3n0CMf0zwD5','Bg9JA19LEhrLBMrFzxjYB3i','zxHhvfq','BwvZC2fNzq','C3vIC3rYAw5N','tvjJBfy','Aw5JBhvKzxm','tg9JAYbLEhrLBMqGzxjYB3i','x2vUywjSzwq','zgvMyxvSDfruta','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','x2LUAxrdB25MAwC','CMv0CNLdB3vUDa','u2nNAMu','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','D2P5rLe','x2LUAxrPywXPEMvK','ChjLzML4','z2v0','rKngD08','Aw1lCfO','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','zgvS','CgLK','odmXnduWvxrQCeH1','yu5VvKy','ywXS','x3jLDhj5q291BNq','C2v0','mtjHzeLgtey','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','C3bSAxq','zxHWAxjL','D3jPDgvFBg9JA190Aw1LB3v0','BgfZDeLUzgv4t2y','C2v0zxG','D3jPDgvFBg9JA19Hy3f1AxjLza','CMvHzf9SB2nRx2fJCxvPCMvK','CMvHzf9SB2nRx2vYCM9Y','CMvSzwfZzuXVy2S','CMv0CNLezwXHEq','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzxHWAxjLiIWGs0vzu1SXxsWGqvjhvLSYxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','yvjzD2W','D3jPDgvFBg9JA19LCNjVCG','DxvPza','x2rLzMf1BhruveW','s3LZCxK','mJq2ndGYmhDPsezMqq','BM93','zgvIDwC','zxHWB3j0CW','vNDUDw0','CMvHza','x2vUC3vYzuLUAxrPywXPEMvK','yNvPBgrmB2nRs2v5','v2zOEhu','v1jjveuGBg9JAYbLCNjVCG','zw52','mJq5nMPwDfPxuW','otCYmJu0n2fxwe9Wuq','ota0z0Dyrgvo','te9ds19esvnuuKLcvvrfrf9ftKfcteve','DKzlq1e','x3bYzwzPEa','C2XLzxa','ywnXDwLYzvjLywrmB2nR','CMvQzwn0','zgvJCG','zxzHBa','mJK4ota1A1D4uuvO','Cg93','mtmWnte0m3D2sKnXqG','Bg9JA19LEhrLBMrLza','zxjYB3i','mJGZnta4mfHpB3n3wq','CMv0CNK','v1jjveuGBg9JAYbYzwXLyxnLza','y3rWywi','z2vUzxjHDgvmB2nRvMfSDwu','D3jPDgvFBg9JA19YzwPLy3rLza','D29YA2vYswq','tg9Ov0i','x3jLDhj5rgvSyxK','vLDHz3q','B3fqsxK','x3DVCMTLCKLK','D2fYBG','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','zw5HyMXLza'];a0_0x23eb=function(){return _0x46213a;};return a0_0x23eb();}function a0_0x4078(_0x362869,_0x95b7a4){_0x362869=_0x362869-0x19e;const _0x23eb71=a0_0x23eb();let _0x40789f=_0x23eb71[_0x362869];if(a0_0x4078['TATrdw']===undefined){var _0x2ca6e2=function(_0x140937){const _0x4690b1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5ce064='',_0x4ce43d='';for(let _0x416b1e=0x0,_0x458657,_0x263eff,_0x38567c=0x0;_0x263eff=_0x140937['charAt'](_0x38567c++);~_0x263eff&&(_0x458657=_0x416b1e%0x4?_0x458657*0x40+_0x263eff:_0x263eff,_0x416b1e++%0x4)?_0x5ce064+=String['fromCharCode'](0xff&_0x458657>>(-0x2*_0x416b1e&0x6)):0x0){_0x263eff=_0x4690b1['indexOf'](_0x263eff);}for(let _0x4beafd=0x0,_0x3ee531=_0x5ce064['length'];_0x4beafd<_0x3ee531;_0x4beafd++){_0x4ce43d+='%'+('00'+_0x5ce064['charCodeAt'](_0x4beafd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4ce43d);};a0_0x4078['BGmJyG']=_0x2ca6e2,a0_0x4078['VntnNh']={},a0_0x4078['TATrdw']=!![];}const _0x9a856b=_0x23eb71[0x0],_0x4e7fca=_0x362869+_0x9a856b,_0x2c2cfb=a0_0x4078['VntnNh'][_0x4e7fca];return!_0x2c2cfb?(_0x40789f=a0_0x4078['BGmJyG'](_0x40789f),a0_0x4078['VntnNh'][_0x4e7fca]=_0x40789f):_0x40789f=_0x2c2cfb,_0x40789f;}const a0_0x2bbfa9=a0_0x4078;(function(_0xd15701,_0x4b06eb){const _0x4df1c2=a0_0x4078,_0x47422c=_0xd15701();while(!![]){try{const _0xcc0905=parseInt(_0x4df1c2(0x1a3))/0x1+-parseInt(_0x4df1c2(0x1d3))/0x2+-parseInt(_0x4df1c2(0x1f5))/0x3*(parseInt(_0x4df1c2(0x1f7))/0x4)+-parseInt(_0x4df1c2(0x1ea))/0x5+parseInt(_0x4df1c2(0x1d8))/0x6*(parseInt(_0x4df1c2(0x1a5))/0x7)+-parseInt(_0x4df1c2(0x1a8))/0x8+parseInt(_0x4df1c2(0x1f6))/0x9;if(_0xcc0905===_0x4b06eb)break;else _0x47422c['push'](_0x47422c['shift']());}catch(_0x287663){_0x47422c['push'](_0x47422c['shift']());}}}(a0_0x23eb,0x497b4));const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require(a0_0x2bbfa9(0x1e7));class LockManager{constructor(){const _0x4273d0=a0_0x2bbfa9;this['_prefix']=null,this[_0x4273d0(0x1c2)]=null,this[_0x4273d0(0x1e8)]=null,this['_retryCount']=null,this['_retryDelay']=null,this['_strategy']=null,this[_0x4273d0(0x1b3)]=null,this[_0x4273d0(0x1cb)]=![];}[a0_0x2bbfa9(0x1c6)](){const _0x9c2c8=a0_0x2bbfa9,_0x1644af={'VWagt':'rf:lock:','wjyFQ':function(_0x2b55bf,_0x3e875b,_0x20a8de){return _0x2b55bf(_0x3e875b,_0x20a8de);},'MRclV':function(_0xf3d123,_0x36618d){return _0xf3d123===_0x36618d;},'oqPIy':'true','vFKCQ':'retry'},_0x53bc87='2|6|4|5|8|7|1|0|3'[_0x9c2c8(0x1da)]('|');let _0x55dbc9=0x0;while(!![]){switch(_0x53bc87[_0x55dbc9++]){case'0':this['_initialized']=!![];continue;case'1':this[_0x9c2c8(0x1b3)]='worker-'+process[_0x9c2c8(0x1d2)];continue;case'2':this[_0x9c2c8(0x1fa)]=_0x1644af[_0x9c2c8(0x1b1)];continue;case'3':logger['info']({'event':'lock_config_init','enabled':this['_enabled'],'strategy':this[_0x9c2c8(0x1ba)],'ttl':this[_0x9c2c8(0x1e8)],'retryCount':this[_0x9c2c8(0x1d6)],'retryDelay':this[_0x9c2c8(0x1b0)],'workerId':this['_workerId']},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this[_0x9c2c8(0x1c2)]+',\x20strategy:\x20'+this[_0x9c2c8(0x1ba)]);continue;case'4':this[_0x9c2c8(0x1e8)]=parseInt(process['env']['LOCK_DISTRIBUTED_TTL'],0xa)||0xa;continue;case'5':this['_retryCount']=_0x1644af[_0x9c2c8(0x1ca)](parseInt,process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3;continue;case'6':this['_enabled']=_0x1644af[_0x9c2c8(0x1bf)](process[_0x9c2c8(0x1f4)][_0x9c2c8(0x1f8)],_0x1644af[_0x9c2c8(0x1b2)]);continue;case'7':this['_strategy']=process[_0x9c2c8(0x1f4)]['LOCK_DISTRIBUTED_STRATEGY']||_0x1644af[_0x9c2c8(0x1f9)];continue;case'8':this['_retryDelay']=parseInt(process['env'][_0x9c2c8(0x1b6)],0xa)||0x64;continue;}break;}}['_ensureInitialized'](){const _0x8faffb=a0_0x2bbfa9;!this[_0x8faffb(0x1cb)]&&this['_initConfig']();}get[a0_0x2bbfa9(0x1cc)](){const _0x27a137=a0_0x2bbfa9;return this[_0x27a137(0x1f0)](),this['_prefix'];}get[a0_0x2bbfa9(0x1b7)](){return this['_ensureInitialized'](),this['_enabled'];}get[a0_0x2bbfa9(0x1c3)](){const _0xeb80a8=a0_0x2bbfa9;return this[_0xeb80a8(0x1f0)](),this['_defaultTTL'];}get[a0_0x2bbfa9(0x1c7)](){return this['_ensureInitialized'](),this['_retryCount'];}get[a0_0x2bbfa9(0x1e3)](){const _0x7849c4=a0_0x2bbfa9;return this['_ensureInitialized'](),this[_0x7849c4(0x1b0)];}get['strategy'](){const _0x20d99d=a0_0x2bbfa9;return this['_ensureInitialized'](),this[_0x20d99d(0x1ba)];}get[a0_0x2bbfa9(0x1ae)](){const _0x319f2b=a0_0x2bbfa9;return this[_0x319f2b(0x1f0)](),this['_workerId'];}['buildLockKey'](_0x2c69bb){const _0x367eca=a0_0x2bbfa9,{module:_0x4a156b,endpoint:_0x49d473,lockType:_0x5a775d,recordId:_0x2bfa84}=_0x2c69bb;if(_0x2bfa84)return''+this[_0x367eca(0x1cc)]+_0x4a156b+':'+_0x49d473+':'+_0x2bfa84+':'+_0x5a775d;return''+this[_0x367eca(0x1cc)]+_0x4a156b+':'+_0x49d473+':'+_0x5a775d;}['generateLockValue'](){const _0x4deaa4=a0_0x2bbfa9;return this['workerId']+':'+uuidv4()+':'+Date[_0x4deaa4(0x1eb)]();}async[a0_0x2bbfa9(0x19f)](_0x39fa08){const _0x56f514=a0_0x2bbfa9,_0x3a6a47={'vKypE':'write','PupDV':_0x56f514(0x1e0),'yWWuO':'READ\x20lock\x20acquired','FCFwO':_0x56f514(0x1d0),'ryTJj':_0x56f514(0x1e1),'YJQSA':'READ\x20lock\x20error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x40a570=this[_0x56f514(0x1f1)]({..._0x39fa08,'lockType':_0x3a6a47[_0x56f514(0x1b9)]}),_0x156735=this['buildLockKey']({..._0x39fa08,'lockType':'read'}),_0x3c98b6=this[_0x56f514(0x1ac)]();try{const _0x55d84e=redisClient['getClient']();for(let _0x2060c4=0x0;_0x2060c4<this['retryCount'];_0x2060c4++){const _0xe99b84=await _0x55d84e['get'](_0x40a570);if(!_0xe99b84){await _0x55d84e['incr'](_0x156735),await _0x55d84e[_0x56f514(0x1db)](_0x156735,this[_0x56f514(0x1c3)]);const _0x2ca4b9=_0x156735+':'+_0x3c98b6;return await _0x55d84e[_0x56f514(0x1de)](_0x2ca4b9,this['defaultTTL'],_0x3c98b6),logger['debug']({'event':_0x3a6a47['PupDV'],'key':_0x156735,'value':_0x3c98b6},_0x3a6a47['yWWuO']),{'success':!![],'lockValue':_0x3c98b6,'lockKey':_0x2ca4b9};}logger['debug']({'event':'read_lock_waiting','writeKey':_0x40a570,'attempt':_0x2060c4},'Waiting\x20for\x20WRITE\x20lock\x20to\x20release'),await this['sleep'](this['retryDelay']*Math[_0x56f514(0x1a4)](0x2,_0x2060c4));}return logger[_0x56f514(0x1b4)]({'event':'read_lock_timeout','key':_0x156735},_0x3a6a47[_0x56f514(0x1ce)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x51e47a){return logger['error']({'event':_0x3a6a47['ryTJj'],'error':_0x51e47a['message']},_0x3a6a47['YJQSA']),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x382795){const _0x1e28cd=a0_0x2bbfa9,_0x39ced5={'LohWB':_0x1e28cd(0x1ef),'TKCJf':function(_0x181148,_0x5aa1f3){return _0x181148===_0x5aa1f3;},'xVNsS':'write_lock_acquired','ctpab':_0x1e28cd(0x1a0),'ixWMl':_0x1e28cd(0x1c5),'OXIZQ':'WRITE\x20lock\x20rejected\x20-\x20record\x20busy','doPVr':function(_0x55656f,_0x279153){return _0x55656f<_0x279153;},'aNoVF':_0x1e28cd(0x1a9),'eMtzO':_0x1e28cd(0x1c9),'fqDAV':_0x1e28cd(0x1b5)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x231fe4=this['buildLockKey']({..._0x382795,'lockType':'write'}),_0x3c9643=this['buildLockKey']({..._0x382795,'lockType':_0x39ced5[_0x1e28cd(0x1af)]}),_0x53cc63=this[_0x1e28cd(0x1ac)]();try{const _0xfb85d1=redisClient[_0x1e28cd(0x1b8)]();if(_0x39ced5['TKCJf'](this['strategy'],'reject')){const _0x32a808=await _0xfb85d1[_0x1e28cd(0x1d7)](_0x231fe4,_0x53cc63,'EX',this['defaultTTL'],'NX');if(_0x32a808==='OK')return logger['debug']({'event':_0x39ced5['xVNsS'],'key':_0x231fe4,'value':_0x53cc63,'strategy':_0x39ced5[_0x1e28cd(0x1ab)]},_0x39ced5['ixWMl']),{'success':!![],'lockValue':_0x53cc63,'lockKey':_0x231fe4};return logger['debug']({'event':_0x1e28cd(0x1ad),'key':_0x231fe4},_0x39ced5['OXIZQ']),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x1c0021=0x0;_0x39ced5['doPVr'](_0x1c0021,this['retryCount']);_0x1c0021++){const [_0x1cddb7,_0x487aa9]=await Promise[_0x1e28cd(0x1d5)]([_0xfb85d1[_0x1e28cd(0x1cd)](_0x3c9643),_0xfb85d1[_0x1e28cd(0x1cd)](_0x231fe4)]);if(!_0x487aa9&&(!_0x1cddb7||_0x39ced5['TKCJf'](parseInt(_0x1cddb7),0x0))){const _0x123827=await _0xfb85d1[_0x1e28cd(0x1d7)](_0x231fe4,_0x53cc63,'EX',this[_0x1e28cd(0x1c3)],'NX');if(_0x123827==='OK')return logger['debug']({'event':_0x1e28cd(0x1df),'key':_0x231fe4,'value':_0x53cc63,'strategy':_0x39ced5[_0x1e28cd(0x1d4)]},_0x39ced5['eMtzO']),{'success':!![],'lockValue':_0x53cc63,'lockKey':_0x231fe4};}logger['debug']({'event':'write_lock_waiting','writeKey':_0x231fe4,'readCount':_0x1cddb7,'attempt':_0x1c0021},_0x39ced5['fqDAV']),await this['sleep'](this['retryDelay']*Math['pow'](0x2,_0x1c0021));}return logger[_0x1e28cd(0x1b4)]({'event':_0x1e28cd(0x1dc),'key':_0x231fe4},_0x1e28cd(0x1d9)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x12f37d){return logger[_0x1e28cd(0x1a7)]({'event':_0x1e28cd(0x1e6),'error':_0x12f37d[_0x1e28cd(0x1bd)]},_0x1e28cd(0x1f3)),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x2bbfa9(0x1e2)](_0x392094,_0x54f5e2){const _0x213088=a0_0x2bbfa9,_0x354f80={'kjDiF':':read:','exGTT':function(_0x2b30ea,_0x163804){return _0x2b30ea>_0x163804;},'sGqTm':function(_0x44e3a0,_0x49309c){return _0x44e3a0(_0x49309c);},'imKpZ':'read_lock_released','FWPXW':'READ\x20lock\x20released','VFAYA':function(_0x33b9b2,_0x38feea){return _0x33b9b2===_0x38feea;},'Scgje':'write_lock_released','Wfhxu':_0x213088(0x1aa),'Kysqy':_0x213088(0x1c4)};if(!this['enabled']||!_0x392094)return!![];try{const _0x5e1eb3=redisClient[_0x213088(0x1b8)]();if(_0x392094[_0x213088(0x1c0)](_0x354f80['kjDiF'])){await _0x5e1eb3[_0x213088(0x1d1)](_0x392094);const _0x585393=_0x392094[_0x213088(0x1be)](0x0,_0x392094[_0x213088(0x1dd)](':')),_0x4c3c4a=await _0x5e1eb3['get'](_0x585393);return _0x4c3c4a&&_0x354f80[_0x213088(0x1bc)](_0x354f80['sGqTm'](parseInt,_0x4c3c4a),0x0)&&await _0x5e1eb3[_0x213088(0x1a1)](_0x585393),logger['debug']({'event':_0x354f80[_0x213088(0x1cf)],'key':_0x392094},_0x354f80['FWPXW']),!![];}const _0xa7a4dd='\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',_0x575a58=await _0x5e1eb3['eval'](_0xa7a4dd,0x1,_0x392094,_0x54f5e2);if(_0x354f80['VFAYA'](_0x575a58,0x1))return logger['debug']({'event':_0x354f80[_0x213088(0x1c8)],'key':_0x392094},_0x354f80[_0x213088(0x1f2)]),!![];return logger['warn']({'event':'lock_release_not_owner','key':_0x392094},_0x354f80[_0x213088(0x1e9)]),![];}catch(_0x2a6599){return logger[_0x213088(0x1a7)]({'event':'lock_release_error','key':_0x392094,'error':_0x2a6599[_0x213088(0x1bd)]},'Lock\x20release\x20error'),![];}}async['extendLock'](_0x432f1d,_0x467f78,_0x2eed2e=null){const _0x3f3486=a0_0x2bbfa9,_0x51fd04={'pQNDt':_0x3f3486(0x1a6),'Vwnum':'Lock\x20TTL\x20extended','aRYwl':_0x3f3486(0x1bb)};if(!this['enabled']||!_0x432f1d)return!![];try{const _0x4003bb=redisClient['getClient'](),_0x2a06e3=_0x3f3486(0x1e4),_0x25880d=await _0x4003bb[_0x3f3486(0x1a2)](_0x2a06e3,0x1,_0x432f1d,_0x467f78,_0x2eed2e||this['defaultTTL']);if(_0x25880d===0x1)return logger[_0x3f3486(0x1ec)]({'event':_0x51fd04['pQNDt'],'key':_0x432f1d,'ttl':_0x2eed2e||this['defaultTTL']},_0x51fd04[_0x3f3486(0x1ee)]),!![];return![];}catch(_0x4636e6){return logger[_0x3f3486(0x1a7)]({'event':_0x51fd04[_0x3f3486(0x1e5)],'key':_0x432f1d,'error':_0x4636e6['message']},_0x3f3486(0x1c1)),![];}}['isEnabled'](){return this['enabled'];}[a0_0x2bbfa9(0x19e)](_0x345f6f){return new Promise(_0x4658bb=>setTimeout(_0x4658bb,_0x345f6f));}async['getLockInfo'](_0x5627ea){const _0xbc7038=a0_0x2bbfa9,_0x28a6e8={'FwaRI':function(_0xd557f5,_0x27b8b2){return _0xd557f5(_0x27b8b2);}};if(!this['enabled'])return{'enabled':![]};try{const _0x260915=redisClient[_0xbc7038(0x1b8)](),_0x3003fc=this['buildLockKey']({..._0x5627ea,'lockType':'write'}),_0x111458=this['buildLockKey']({..._0x5627ea,'lockType':_0xbc7038(0x1ef)}),[_0x43016a,_0xdcdc28]=await Promise[_0xbc7038(0x1d5)]([_0x260915[_0xbc7038(0x1cd)](_0x3003fc),_0x260915['get'](_0x111458)]);return{'enabled':!![],'writeLock':_0x43016a||null,'readCount':_0x28a6e8['FwaRI'](parseInt,_0xdcdc28)||0x0,'writeKey':_0x3003fc,'readKey':_0x111458};}catch(_0x306600){return{'enabled':!![],'error':_0x306600['message']};}}}module[a0_0x2bbfa9(0x1ed)]=new LockManager();
|
|
1
|
+
const a0_0x1a5a44=a0_0x1e71;function a0_0x1e71(_0x749256,_0x3cb7d3){_0x749256=_0x749256-0x6b;const _0x14777a=a0_0x1477();let _0x1e71fb=_0x14777a[_0x749256];if(a0_0x1e71['oMCOMh']===undefined){var _0x319b7b=function(_0x2924dc){const _0x4167de='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e3785='',_0x23b238='';for(let _0x4cf041=0x0,_0x1458b6,_0x284c87,_0xdb23bd=0x0;_0x284c87=_0x2924dc['charAt'](_0xdb23bd++);~_0x284c87&&(_0x1458b6=_0x4cf041%0x4?_0x1458b6*0x40+_0x284c87:_0x284c87,_0x4cf041++%0x4)?_0x2e3785+=String['fromCharCode'](0xff&_0x1458b6>>(-0x2*_0x4cf041&0x6)):0x0){_0x284c87=_0x4167de['indexOf'](_0x284c87);}for(let _0x2aaf01=0x0,_0x176e42=_0x2e3785['length'];_0x2aaf01<_0x176e42;_0x2aaf01++){_0x23b238+='%'+('00'+_0x2e3785['charCodeAt'](_0x2aaf01)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x23b238);};a0_0x1e71['mbHbVU']=_0x319b7b,a0_0x1e71['uydjRG']={},a0_0x1e71['oMCOMh']=!![];}const _0x440727=_0x14777a[0x0],_0x34872b=_0x749256+_0x440727,_0x268d07=a0_0x1e71['uydjRG'][_0x34872b];return!_0x268d07?(_0x1e71fb=a0_0x1e71['mbHbVU'](_0x1e71fb),a0_0x1e71['uydjRG'][_0x34872b]=_0x1e71fb):_0x1e71fb=_0x268d07,_0x1e71fb;}(function(_0x147a23,_0x312833){const _0x3b0ebf=a0_0x1e71,_0x173c4d=_0x147a23();while(!![]){try{const _0x21f1dd=parseInt(_0x3b0ebf(0x89))/0x1*(-parseInt(_0x3b0ebf(0xa2))/0x2)+-parseInt(_0x3b0ebf(0x6b))/0x3*(-parseInt(_0x3b0ebf(0xaa))/0x4)+parseInt(_0x3b0ebf(0xb6))/0x5*(-parseInt(_0x3b0ebf(0x7e))/0x6)+parseInt(_0x3b0ebf(0x8a))/0x7+-parseInt(_0x3b0ebf(0xa5))/0x8+parseInt(_0x3b0ebf(0x83))/0x9+-parseInt(_0x3b0ebf(0xb2))/0xa*(-parseInt(_0x3b0ebf(0x6f))/0xb);if(_0x21f1dd===_0x312833)break;else _0x173c4d['push'](_0x173c4d['shift']());}catch(_0x5679fc){_0x173c4d['push'](_0x173c4d['shift']());}}}(a0_0x1477,0x881fd));function a0_0x1477(){const _0x39bb6b=['mtm2mNnjCufswa','zxjYB3i','yLDKzgS','mty0otyZmKjRyM5Wvq','CMv0CNK','C2v0zxG','zgvMyxvSDfruta','lI9SB2DNzxi','ntKZnJu2CuDKDLf5','zxHWB3j0CW','DufMwLK','EgnjCuq','v1jjveuGBg9JAYbLCNjVCG','zw52','EwXtsgi','z2v0q2XPzw50','mtbMz1rzCfm','C3rYyxrLz3K','x2LUAxrPywXPEMvK','C2XLzxa','ntqZntu3nuH1Auv0Ca','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','D3jPDgu','q0HuA0K','x3bYzwzPEa','Cg93','C2v0','z2v0','Aw5JCG','x3n0CMf0zwD5','Bg9JA19JB25MAwDFAw5PDa','CMv0CNLdB3vUDa','CM5ZCfu','nhWWFdn8mNWXFdH8n3W2Fdu','CMvHza','Bg9JA19LEhrLBMrLza','rengBxC','D29YA2vYswq','BKHoBee','ow5wEffODq','zxH0zw5Ktg9JAW','Aw5JBhvKzxm','yxPnyKy','odCWmdaXmeTdtfb0vG','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','ywnXDwLYzvDYAxrLtg9JAW','z2vUzxjHDgvmB2nRvMfSDwu','x2vUC3vYzuLUAxrPywXPEMvK','D29YA2vYlq','CMvQzwn0','x2rLzMf1BhruveW','Bg9JA19YzwXLyxnLx2vYCM9Y','yNvPBgrmB2nRs2v5','u25Xr0i','DxvPza','CMvSzwfZzuXVy2S','wgjyCuS','CMv0CNLezwXHEq','nMLqEM9psG','uKvbrcbSB2nRigvYCM9Y','x2vUywjSzwq','zw5HyMXLza','r0POzNe','mtG3mJm5nMziu1HwCW','x3jLDhj5rgvSyxK','BwvZC2fNzq','zxvdB0i','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','x3DVCMTLCKLK','mZm3rgDMvwPP','ndq1mZi5nwfUC09RAq','zgvS','zxHWAxjL','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','rgzjuvu','Eg9lrxu','D3jPDgvFBg9JA19Hy3f1AxjLza','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','qwXiq2S','lI9YzwrPCY1JBgLLBNq','D2fYBG','D3jPDgvFBg9JA190Aw1LB3v0','oNjLywq6','wvzTufG','tg9JAYbYzwXLyxnLigvYCM9Y','tg9JAYbLEhrLBMqGzxjYB3i','x2LUAxrdB25MAwC','ChjLzML4','B2HyueK','zgvIDwC','x3jLDhj5q291BNq','ELf2zgC','CMvHzf9SB2nRx2fJCxvPCMvK','ywXS'];a0_0x1477=function(){return _0x39bb6b;};return a0_0x1477();}const redisClient=require(a0_0x1a5a44(0x93)),{logger}=require(a0_0x1a5a44(0xa9)),{v4:uuidv4}=require(a0_0x1a5a44(0x7a));class LockManager{constructor(){const _0x539bc=a0_0x1a5a44,_0x4770c7={'uAfZY':'3|5|7|1|0|6|2|4'},_0x520639=_0x4770c7[_0x539bc(0xac)]['split']('|');let _0x4ef4ec=0x0;while(!![]){switch(_0x520639[_0x4ef4ec++]){case'0':this['_retryDelay']=null;continue;case'1':this['_retryCount']=null;continue;case'2':this[_0x539bc(0x88)]=null;continue;case'3':this[_0x539bc(0xba)]=null;continue;case'4':this['_initialized']=![];continue;case'5':this[_0x539bc(0x80)]=null;continue;case'6':this[_0x539bc(0xbf)]=null;continue;case'7':this[_0x539bc(0x76)]=null;continue;}break;}}['_initConfig'](){const _0x5de2f6=a0_0x1a5a44,_0x49c8cc={'azMbF':function(_0x277a16,_0x5db794){return _0x277a16===_0x5db794;},'rnspU':function(_0x4ba824,_0x433cba,_0x5823bb){return _0x4ba824(_0x433cba,_0x5823bb);},'euCoB':'rf:lock:','DCFmw':_0x5de2f6(0xc0),'jxsAi':_0x5de2f6(0xa6)},_0x503d8f=_0x5de2f6(0xc3)['split']('|');let _0x312a29=0x0;while(!![]){switch(_0x503d8f[_0x312a29++]){case'0':this['_enabled']=_0x49c8cc[_0x5de2f6(0x6e)](process[_0x5de2f6(0xaf)]['LOCK_DISTRIBUTED_ENABLED'],'true');continue;case'1':this['_retryDelay']=parseInt(process['env']['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64;continue;case'2':this[_0x5de2f6(0x9e)]=_0x49c8cc[_0x5de2f6(0xc2)](parseInt,process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3;continue;case'3':this['_defaultTTL']=parseInt(process['env']['LOCK_DISTRIBUTED_TTL'],0xa)||0xa;continue;case'4':this[_0x5de2f6(0xba)]=_0x49c8cc[_0x5de2f6(0x86)];continue;case'5':logger['info']({'event':_0x49c8cc[_0x5de2f6(0xc6)],'enabled':this['_enabled'],'strategy':this[_0x5de2f6(0xbf)],'ttl':this['_defaultTTL'],'retryCount':this['_retryCount'],'retryDelay':this[_0x5de2f6(0x84)],'workerId':this['_workerId']},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+',\x20strategy:\x20'+this['_strategy']);continue;case'6':this['_initialized']=!![];continue;case'7':this['_workerId']=_0x5de2f6(0x74)+process['pid'];continue;case'8':this['_strategy']=process['env'][_0x5de2f6(0xb7)]||_0x49c8cc['jxsAi'];continue;}break;}}['_ensureInitialized'](){const _0x577d74=a0_0x1a5a44;!this[_0x577d74(0xb4)]&&this[_0x577d74(0x9a)]();}get[a0_0x1a5a44(0x9b)](){return this['_ensureInitialized'](),this['_prefix'];}get['enabled'](){return this['_ensureInitialized'](),this['_enabled'];}get['defaultTTL'](){const _0x266438=a0_0x1a5a44;return this['_ensureInitialized'](),this[_0x266438(0x76)];}get[a0_0x1a5a44(0xc1)](){const _0x1bd653=a0_0x1a5a44;return this[_0x1bd653(0x73)](),this[_0x1bd653(0x9e)];}get[a0_0x1a5a44(0x7d)](){const _0x1159b7=a0_0x1a5a44;return this['_ensureInitialized'](),this[_0x1159b7(0x84)];}get[a0_0x1a5a44(0xb3)](){return this['_ensureInitialized'](),this['_strategy'];}get[a0_0x1a5a44(0xc7)](){const _0x2e1140=a0_0x1a5a44;return this['_ensureInitialized'](),this[_0x2e1140(0x88)];}[a0_0x1a5a44(0x78)](_0x4f684e){const _0x22bdd8=a0_0x1a5a44,{module:_0x1f58b0,endpoint:_0x4afbf3,lockType:_0x351136,recordId:_0x4e7853}=_0x4f684e;if(_0x4e7853)return''+this['prefix']+_0x1f58b0+':'+_0x4afbf3+':'+_0x4e7853+':'+_0x351136;return''+this[_0x22bdd8(0x9b)]+_0x1f58b0+':'+_0x4afbf3+':'+_0x351136;}[a0_0x1a5a44(0x72)](){const _0x30d04d=a0_0x1a5a44,_0x2b661b={'RZetU':function(_0x1e935e){return _0x1e935e();}};return this[_0x30d04d(0xc7)]+':'+_0x2b661b['RZetU'](uuidv4)+':'+Date['now']();}async['acquireReadLock'](_0x2a2635){const _0x5a19df=a0_0x1a5a44,_0x1e70fc={'ylSHb':_0x5a19df(0xb8),'GJhfq':function(_0x24e8c8,_0x3c9fce){return _0x24e8c8<_0x3c9fce;},'CHTkI':_0x5a19df(0xa0),'AlHCk':'READ\x20lock\x20acquired','XMsrw':'read_lock_waiting','dEKXg':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','EBtqS':function(_0x278502,_0x35294e){return _0x278502*_0x35294e;},'oTvEj':'read_lock_timeout','rKXZV':_0x5a19df(0x7f)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x2db6ae=this['buildLockKey']({..._0x2a2635,'lockType':_0x1e70fc[_0x5a19df(0xb0)]}),_0x377f63=this[_0x5a19df(0x78)]({..._0x2a2635,'lockType':_0x5a19df(0xc4)}),_0x29c47b=this['generateLockValue']();try{const _0x196e1c=redisClient['getClient']();for(let _0x266435=0x0;_0x1e70fc[_0x5a19df(0x82)](_0x266435,this[_0x5a19df(0xc1)]);_0x266435++){const _0x3bd6f0=await _0x196e1c['get'](_0x2db6ae);if(!_0x3bd6f0){await _0x196e1c[_0x5a19df(0xbe)](_0x377f63),await _0x196e1c[_0x5a19df(0x8c)](_0x377f63,this['defaultTTL']);const _0x450607=_0x377f63+':'+_0x29c47b;return await _0x196e1c[_0x5a19df(0xa7)](_0x450607,this[_0x5a19df(0xa8)],_0x29c47b),logger[_0x5a19df(0x9d)]({'event':_0x1e70fc[_0x5a19df(0xb9)],'key':_0x377f63,'value':_0x29c47b},_0x1e70fc[_0x5a19df(0x92)]),{'success':!![],'lockValue':_0x29c47b,'lockKey':_0x450607};}logger['debug']({'event':_0x1e70fc['XMsrw'],'writeKey':_0x2db6ae,'attempt':_0x266435},_0x1e70fc['dEKXg']),await this['sleep'](_0x1e70fc['EBtqS'](this[_0x5a19df(0x7d)],Math[_0x5a19df(0xbb)](0x2,_0x266435)));}return logger['warn']({'event':_0x1e70fc['oTvEj'],'key':_0x377f63},_0x5a19df(0x70)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x23e666){return logger['error']({'event':'read_lock_error','error':_0x23e666[_0x5a19df(0x85)]},_0x1e70fc['rKXZV']),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x1a5a44(0x71)](_0x11daf1){const _0x2b4a4c=a0_0x1a5a44,_0x3c3364={'FnUFL':_0x2b4a4c(0xb8),'nHNlA':_0x2b4a4c(0x75),'GWsqd':'write_lock_rejected','bWddk':'WRITE\x20lock\x20rejected\x20-\x20record\x20busy','SnqGB':function(_0x2d3d65,_0x2d9e0a){return _0x2d3d65<_0x2d9e0a;},'hSTVp':function(_0xcbf5b,_0x2b3199){return _0xcbf5b===_0x2b3199;},'YVmPX':function(_0x20f98e,_0x2b4f3b){return _0x20f98e(_0x2b4f3b);},'goebe':_0x2b4a4c(0xa6),'zQvdg':'Waiting\x20for\x20locks\x20to\x20release','cYnsJ':function(_0x558e65,_0x109469){return _0x558e65*_0x109469;},'ohXPI':_0x2b4a4c(0x95),'YpZxy':_0x2b4a4c(0xae)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x387a95=this[_0x2b4a4c(0x78)]({..._0x11daf1,'lockType':_0x3c3364['FnUFL']}),_0x35de5f=this['buildLockKey']({..._0x11daf1,'lockType':'read'}),_0x13f581=this['generateLockValue']();try{const _0x599e45=redisClient['getClient']();if(this[_0x2b4a4c(0xb3)]===_0x3c3364['nHNlA']){const _0x10f9f3=await _0x599e45[_0x2b4a4c(0xbc)](_0x387a95,_0x13f581,'EX',this[_0x2b4a4c(0xa8)],'NX');if(_0x10f9f3==='OK')return logger[_0x2b4a4c(0x9d)]({'event':'write_lock_acquired','key':_0x387a95,'value':_0x13f581,'strategy':_0x3c3364[_0x2b4a4c(0xc8)]},_0x2b4a4c(0x91)),{'success':!![],'lockValue':_0x13f581,'lockKey':_0x387a95};return logger['debug']({'event':_0x3c3364['GWsqd'],'key':_0x387a95},_0x3c3364[_0x2b4a4c(0xa4)]),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x5255e9=0x0;_0x3c3364[_0x2b4a4c(0x79)](_0x5255e9,this['retryCount']);_0x5255e9++){const [_0x59df3d,_0x102636]=await Promise[_0x2b4a4c(0xa1)]([_0x599e45['get'](_0x35de5f),_0x599e45[_0x2b4a4c(0xbd)](_0x387a95)]);if(!_0x102636&&(!_0x59df3d||_0x3c3364['hSTVp'](_0x3c3364[_0x2b4a4c(0x97)](parseInt,_0x59df3d),0x0))){const _0x27420c=await _0x599e45[_0x2b4a4c(0xbc)](_0x387a95,_0x13f581,'EX',this['defaultTTL'],'NX');if(_0x27420c==='OK')return logger[_0x2b4a4c(0x9d)]({'event':_0x2b4a4c(0x90),'key':_0x387a95,'value':_0x13f581,'strategy':_0x3c3364['goebe']},_0x2b4a4c(0x87)),{'success':!![],'lockValue':_0x13f581,'lockKey':_0x387a95};}logger['debug']({'event':'write_lock_waiting','writeKey':_0x387a95,'readCount':_0x59df3d,'attempt':_0x5255e9},_0x3c3364[_0x2b4a4c(0x9f)]),await this[_0x2b4a4c(0xb5)](_0x3c3364['cYnsJ'](this['retryDelay'],Math[_0x2b4a4c(0xbb)](0x2,_0x5255e9)));}return logger[_0x2b4a4c(0x94)]({'event':_0x3c3364[_0x2b4a4c(0x9c)],'key':_0x387a95},'WRITE\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x4344b4){return logger[_0x2b4a4c(0xa3)]({'event':'write_lock_error','error':_0x4344b4['message']},_0x3c3364['YpZxy']),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x1a5a44(0x7b)](_0x56505d,_0x5bf9d2){const _0x2819fb=a0_0x1a5a44,_0x29f2be={'xcIqD':function(_0x4c36e5,_0x1dcbfa){return _0x4c36e5>_0x1dcbfa;},'DfIQU':_0x2819fb(0x8d),'XbXqK':_0x2819fb(0x77),'Buoiu':_0x2819fb(0x98)};if(!this[_0x2819fb(0x81)]||!_0x56505d)return!![];try{const _0x2d1dc4=redisClient[_0x2819fb(0xb1)]();if(_0x56505d[_0x2819fb(0x6d)](_0x2819fb(0x96))){await _0x2d1dc4[_0x2819fb(0x8b)](_0x56505d);const _0x43e827=_0x56505d['substring'](0x0,_0x56505d['lastIndexOf'](':')),_0x48191a=await _0x2d1dc4[_0x2819fb(0xbd)](_0x43e827);return _0x48191a&&_0x29f2be[_0x2819fb(0xad)](parseInt(_0x48191a),0x0)&&await _0x2d1dc4['decr'](_0x43e827),logger[_0x2819fb(0x9d)]({'event':'read_lock_released','key':_0x56505d},'READ\x20lock\x20released'),!![];}const _0x2b5a8f='\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',_0x5cd7a0=await _0x2d1dc4['eval'](_0x2b5a8f,0x1,_0x56505d,_0x5bf9d2);if(_0x5cd7a0===0x1)return logger['debug']({'event':'write_lock_released','key':_0x56505d},'WRITE\x20lock\x20released'),!![];return logger['warn']({'event':_0x29f2be[_0x2819fb(0x8e)],'key':_0x56505d},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0x48c9d0){return logger[_0x2819fb(0xa3)]({'event':_0x29f2be[_0x2819fb(0x7c)],'key':_0x56505d,'error':_0x48c9d0[_0x2819fb(0x85)]},_0x29f2be['Buoiu']),![];}}async[a0_0x1a5a44(0x6c)](_0x469c5d,_0xf77d9d,_0x2a636e=null){const _0x14b5d5=a0_0x1a5a44;if(!this[_0x14b5d5(0x81)]||!_0x469c5d)return!![];try{const _0x57bea2=redisClient[_0x14b5d5(0xb1)](),_0x489d77='\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',_0x13133b=await _0x57bea2['eval'](_0x489d77,0x1,_0x469c5d,_0xf77d9d,_0x2a636e||this[_0x14b5d5(0xa8)]);if(_0x13133b===0x1)return logger['debug']({'event':_0x14b5d5(0xc5),'key':_0x469c5d,'ttl':_0x2a636e||this[_0x14b5d5(0xa8)]},'Lock\x20TTL\x20extended'),!![];return![];}catch(_0x9fb17){return logger['error']({'event':'lock_extend_error','key':_0x469c5d,'error':_0x9fb17[_0x14b5d5(0x85)]},_0x14b5d5(0x99)),![];}}['isEnabled'](){return this['enabled'];}[a0_0x1a5a44(0xb5)](_0x31b110){return new Promise(_0x1f8e71=>setTimeout(_0x1f8e71,_0x31b110));}async['getLockInfo'](_0x579fd9){const _0x2afdff=a0_0x1a5a44,_0x10d14c={'gzrqr':_0x2afdff(0xc4),'xoKEu':function(_0xe7b308,_0x24f165){return _0xe7b308(_0x24f165);}};if(!this[_0x2afdff(0x81)])return{'enabled':![]};try{const _0x3b4a34=redisClient['getClient'](),_0x5bb017=this[_0x2afdff(0x78)]({..._0x579fd9,'lockType':'write'}),_0xdf6000=this[_0x2afdff(0x78)]({..._0x579fd9,'lockType':_0x10d14c['gzrqr']}),[_0x371d92,_0x5a5047]=await Promise['all']([_0x3b4a34['get'](_0x5bb017),_0x3b4a34[_0x2afdff(0xbd)](_0xdf6000)]);return{'enabled':!![],'writeLock':_0x371d92||null,'readCount':_0x10d14c[_0x2afdff(0x8f)](parseInt,_0x5a5047)||0x0,'writeKey':_0x5bb017,'readKey':_0xdf6000};}catch(_0x3eb233){return{'enabled':!![],'error':_0x3eb233['message']};}}}module[a0_0x1a5a44(0xab)]=new LockManager();
|
package/src/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x5d7352=a0_0x4a24;(function(_0x270a67,_0x1c112b){const _0x417b21=a0_0x4a24,_0x40df1e=_0x270a67();while(!![]){try{const _0xf9065c=parseInt(_0x417b21(0x153))/0x1*(parseInt(_0x417b21(0x11b))/0x2)+-parseInt(_0x417b21(0x12e))/0x3+parseInt(_0x417b21(0x16b))/0x4+-parseInt(_0x417b21(0xea))/0x5*(parseInt(_0x417b21(0x13d))/0x6)+-parseInt(_0x417b21(0x116))/0x7*(parseInt(_0x417b21(0x114))/0x8)+parseInt(_0x417b21(0xd0))/0x9*(-parseInt(_0x417b21(0x12d))/0xa)+parseInt(_0x417b21(0xe4))/0xb*(parseInt(_0x417b21(0x152))/0xc);if(_0xf9065c===_0x1c112b)break;else _0x40df1e['push'](_0x40df1e['shift']());}catch(_0x270c8a){_0x40df1e['push'](_0x40df1e['shift']());}}}(a0_0x48e2,0x31f69));const pino=require('pino'),fs=require('fs'),path=require(a0_0x5d7352(0x186));function a0_0x48e2(){const _0x43bb2c=['Ahr0Cf9LCNjVCG','ChjVzhvJDgLVBG','mJC3mhPlDuXfqW','DhjPBq','CMvWBgfJzq','zgf0ywjHC2vFy29UzMLN','BwvTB3j5vxnHz2u','iokvKqRILzeGiefqssblzxKGicaGidOG','y3jLzgL0y2fYza','w1jfrefdveveoNrVA2vUxq','Bg9N','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','Dw5RBM93BG','u0vsvKLdrv9oqu1f','w1jfrefdvevexq','Dg9Rzw4','q1jjveLdquW','reiGuxvLCNK','Dg9gAxHLza','yM9KEq','CgLUBY1WCMv0DhK','tM9Kzs5QCW','q09ntuLu','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','C3rHDhvZq29Kzq','qNDTEwW','DxnLCI1Hz2vUDa','oI8V','u2vYDMvYihn0yxj0Aw5NoIa','uKjAzem','Cg9YDa','u0vmrunu','ChjVAMvJDa','zvjyrLe','revmrvrf','quHrsu4','s2LuEfC','CMvWzwf0','zgvIDwC','rxrAz3e','vxrXAeW','BwvZC2fNzq','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','uK9mtejbq0S','mJK2svvbwgn6','tK9uiefdveLwrq','ndi1nZrjC3verKm','tLvrC1y','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','A2v5CW','CgfKrw5K','ndyYohfXsgH0wa','vvbZBuG','zxjYB3i','zuvey08','rgHpt1i','Cg9ZDgDYzxnXBa','CMvZB2X2zq','z3HhsuG','ms4WlJu','B2jQzwn0','sLDux1nfq1jfva','ifTtte9xxq','t2T4ELm','wvHtqKW','vfjbtLnbq1rjt05FuK9mtejbq0S','CgLK','Aw5MBW','AgvHBhrOq2HLy2S','nZm5mhfAtLjTsW','nta4mJi0vu5rEhHZ','C3rYAw5NAwz5','D2fYBG','ywnJzxnZx3rVA2vU','zw5KCg9PBNrFCMvNAxn0zxjLza','Dw5JyxvNAhrfEgnLChrPB24','Aw5JBhvKzxm','v3fiuuO','C3rHDhvZ','yvf3teC','q1jfqvrf','Ag9ZDa','BwTKAxjtEw5J','zhrfwwu','Egfcr0G','mZmWmgvvtNbMra','CMvMCMvZAf90B2TLBG','yxv0Ag9YAxPHDgLVBG','DMvHu08','BMfTzq','vfjbtLnbq1rjt05Fq09ntuLu','seDkwxG','AM9PBG','zxjYB3iUBg9N','y3bRuuq','C2vYDMLJzuLUzM8','Ec1Yzxf1zxn0lwLK','y3jLyxrLv3jPDgvtDhjLyw0','y25nsuO','B3jPz2LUywXvCMW','CgfZC3DK','DxvwB0K','y2HrqNm','zgf0ywjHC2u','u1LtoKHioK1noNnZ','C3rKu2vYAwfSAxPLCNm','ntGZndi4Bfn5sw5R','mti1rK9NuKjc','rhzeBfu','uLP6Dwi','Bwf4','y3jLzgL0x2nHCMq','zxHWB3j0CW','AxntBg93','CMvZDgzVCMDL','EM1YyLy','u1fmx0Xpr19tte9xx1riuKvtse9mra','Dg9mB3DLCKnHC2u','yxbPA2v5','qunusvzf','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','uNzjuKO','Ahj0Aw1L','icbizwfSDgG6ia','y29Kzq','quT4Egy','y29UBMvJDgLVBG','CM93C0fMzMvJDgvK','quTUsvm','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','BhDSv3C','mtK2mtyWq05lCwTN','BgvUz3rO','zKLLDKi','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','icbvuKW6icaGia','DhLWzq','ChjVAMvJDf9SB2fKzwq','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','yMfZzvvYBa','zMf0ywW','C2vJCMv0','C3rYAw5N','DxnLCG','yxbWlMXVzW','vvbeqvrf','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','su5trvju','Bwv0Ag9K','ChjPDMf0zwTLEq','Cw5ptKe','zMfSC2u','zgjFDhjHBNnHy3rPB24','DgvZDa','zw52','wu1mzK8','wxbprKq','Bwf0y2G','Cgf0Aa','zMLSzv9SB2DNAw5Nx2vUywjSzwq','C3rHy2S','BxmP','txfVA28','C3bSAxq','C3rHCNrZv2L0Aa','C29Tzq','mZC3mxPsAwvdtq','qKvhsu4','verIuNi','te9hx0rjuG','yKHnzvu','CxvLCNK','B3rW','wxPwAvO','CgLU','CgfZC3DVCMq','rxjYB3i','ChDK','Dw1fvum','Dw5Oyw5KBgvKuMvQzwn0Aw9U','q1rNz00','iokvKqRILzeGienVBMzPzYaGicaGidOG','AujxyLa','Dg9ju09tDhjPBMC','AxnVvgLTzq','q3n0r0S','mtK4t25RugHv','sfruuca','AhfzqNa','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG'];a0_0x48e2=function(){return _0x43bb2c;};return a0_0x48e2();}let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x5d7352(0x150),'ignore':a0_0x5d7352(0x172),'singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':a0_0x5d7352(0x16e),'hideObject':!![]},isDevelopment=process['env']['NODE_ENV']!==a0_0x5d7352(0xe9),logLevel=process['env']['LOG_LEVEL']||a0_0x5d7352(0x12b);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x5d7352(0xfc),'options':prettyPrintOptions}:undefined,'base':{'service':a0_0x5d7352(0x15a),'version':process['env']['APP_VERSION']||a0_0x5d7352(0x123),'env':process['env']['NODE_ENV']||'development'},'timestamp':pino['stdTimeFunctions'][a0_0x5d7352(0xe2)],'redact':{'paths':[a0_0x5d7352(0xe7),'req.headers[\x22x-api-key\x22]',a0_0x5d7352(0xd9),a0_0x5d7352(0xf7),'apiKey','DB_PASSWORD',a0_0x5d7352(0x125)],'censor':a0_0x5d7352(0xf6)},'serializers':{'req':_0x507c36=>({'id':_0x507c36['id'],'method':_0x507c36[a0_0x5d7352(0x17c)],'url':_0x507c36['url'],'path':_0x507c36[a0_0x5d7352(0x186)],'remoteAddress':_0x507c36['ip']||_0x507c36[a0_0x5d7352(0x166)]?.['remoteAddress']}),'res':_0x16e1ca=>({'statusCode':_0x16e1ca[a0_0x5d7352(0x100)],'headers':_0x16e1ca['getHeaders']?.()}),'err':pino[a0_0x5d7352(0x151)]['err']}});function a0_0x4a24(_0x26d471,_0xa578c7){_0x26d471=_0x26d471-0xcb;const _0x48e2d7=a0_0x48e2();let _0x4a2490=_0x48e2d7[_0x26d471];if(a0_0x4a24['sedFZM']===undefined){var _0x233664=function(_0x46aefa){const _0x2595d2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x25cf45='',_0x56abb2='';for(let _0x5a3e90=0x0,_0x44a58e,_0x45a98a,_0x45a319=0x0;_0x45a98a=_0x46aefa['charAt'](_0x45a319++);~_0x45a98a&&(_0x44a58e=_0x5a3e90%0x4?_0x44a58e*0x40+_0x45a98a:_0x45a98a,_0x5a3e90++%0x4)?_0x25cf45+=String['fromCharCode'](0xff&_0x44a58e>>(-0x2*_0x5a3e90&0x6)):0x0){_0x45a98a=_0x2595d2['indexOf'](_0x45a98a);}for(let _0x1ddfdc=0x0,_0x2d697e=_0x25cf45['length'];_0x1ddfdc<_0x2d697e;_0x1ddfdc++){_0x56abb2+='%'+('00'+_0x25cf45['charCodeAt'](_0x1ddfdc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x56abb2);};a0_0x4a24['NKFBAd']=_0x233664,a0_0x4a24['yIZZXX']={},a0_0x4a24['sedFZM']=!![];}const _0x5aac72=_0x48e2d7[0x0],_0xdf7123=_0x26d471+_0x5aac72,_0x329b1c=a0_0x4a24['yIZZXX'][_0xdf7123];return!_0x329b1c?(_0x4a2490=a0_0x4a24['NKFBAd'](_0x4a2490),a0_0x4a24['yIZZXX'][_0xdf7123]=_0x4a2490):_0x4a2490=_0x329b1c,_0x4a2490;}function initFileLogging(){const _0x42f07e=a0_0x5d7352,_0x1d1aa2={'CTggM':'default','THUaj':'restforge','Mqoko':function(_0x111f77,_0x58013b){return _0x111f77===_0x58013b;},'nHOjx':'debug','vLKhr':function(_0x4181bc,_0x702166){return _0x4181bc!==_0x702166;},'Bwmyl':_0x42f07e(0x17f),'bZJah':function(_0xc60e6a,_0x1cd85a){return _0xc60e6a(_0x1cd85a);},'eEDcO':_0x42f07e(0x178),'qhLZS':_0x42f07e(0x187),'NUQsV':_0x42f07e(0x145),'IyZBy':function(_0x3667cb,_0x13b776,_0x1f6c86){return _0x3667cb(_0x13b776,_0x1f6c86);},'aJsmG':'info'};if(fileLoggingInitialized)return;logToFile=process[_0x42f07e(0x182)]['LOG_TO_FILE']==='true';const _0x2821e2=process[_0x42f07e(0x182)][_0x42f07e(0x160)]||_0x1d1aa2[_0x42f07e(0xde)];logDir=process['env'][_0x42f07e(0xd3)]||'./logs/'+_0x2821e2,serviceName=process[_0x42f07e(0x182)][_0x42f07e(0xf5)]||_0x1d1aa2['THUaj'],sqlLogEnabled=_0x1d1aa2[_0x42f07e(0xcc)](process[_0x42f07e(0x182)]['SQL_LOG_ENABLED'],'true'),sqlLogLevel=process['env']['SQL_LOG_LEVEL']||_0x1d1aa2['nHOjx'],sqlLogParams=_0x1d1aa2['vLKhr'](process[_0x42f07e(0x182)]['SQL_LOG_PARAMS'],_0x1d1aa2[_0x42f07e(0x101)]),sqlLogSlowThreshold=_0x1d1aa2['bZJah'](parseInt,process['env'][_0x42f07e(0x15c)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x309638=path[_0x42f07e(0x121)](process['cwd'](),logDir);try{!fs['existsSync'](_0x309638)&&fs[_0x42f07e(0x13a)](_0x309638,{'recursive':!![]});}catch(_0x4239a1){console[_0x42f07e(0x11d)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x309638+':',_0x4239a1['message']),fileLoggingInitialized=!![];return;}const _0x591d49=path[_0x42f07e(0x144)](_0x309638,_0x1d1aa2[_0x42f07e(0x11e)]),_0x417e61=path['join'](_0x309638,_0x42f07e(0x145));try{appLogStream=fs['createWriteStream'](_0x591d49,{'flags':'a'}),errorLogStream=fs[_0x42f07e(0x149)](_0x417e61,{'flags':'a'}),fileLoggingInitialized=!![];const _0x113f31={'event':_0x1d1aa2['qhLZS'],'logDir':_0x309638,'files':[_0x1d1aa2['eEDcO'],_0x1d1aa2[_0x42f07e(0x117)]]},_0x11fa35=_0x42f07e(0x118)+_0x309638;logger['info'](_0x113f31,_0x11fa35),_0x1d1aa2['IyZBy'](writeToFileLog,{..._0x113f31,'level':_0x42f07e(0x12b),'msg':_0x11fa35,'time':new Date()[_0x42f07e(0xe1)]()},_0x1d1aa2['aJsmG']);}catch(_0x30340e){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x30340e[_0x42f07e(0x111)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x393057,_0x4abc2f){const _0x24e130=a0_0x5d7352,_0x4c8fc8={'EtZgq':function(_0x4e02b8,_0x5d8a4e){return _0x4e02b8||_0x5d8a4e;},'umEUC':function(_0x53dad1,_0x573568){return _0x53dad1+_0x573568;},'DvDlU':function(_0x136495,_0x24a765){return _0x136495===_0x24a765;},'xaBGH':'fatal'};if(_0x4c8fc8[_0x24e130(0x10f)](!logToFile,!appLogStream))return;const _0x16af54={'service':serviceName,..._0x393057},_0x1f3647=_0x4c8fc8[_0x24e130(0xdc)](JSON[_0x24e130(0x12f)](_0x16af54),'\x0a');appLogStream['write'](_0x1f3647),(_0x4c8fc8[_0x24e130(0x154)](_0x4abc2f,_0x24e130(0x11d))||_0x4abc2f===_0x4c8fc8[_0x24e130(0x13c)])&&(errorLogStream&&errorLogStream['write'](_0x1f3647));}const createRequestLogger=(_0x269e06={})=>{return logger['child'](_0x269e06);},logServerStart=_0x498822=>{const _0x16daa8=a0_0x5d7352,_0x584c07={'KiTxW':function(_0x93ecc8,_0x4da5c8){return _0x93ecc8/_0x4da5c8;},'RZzub':'server_starting'},_0x2ba4cc=_0x16daa8(0xff),_0x2eb75e=Math[_0x16daa8(0x156)](0x0,0x37-_0x2ba4cc[_0x16daa8(0x16c)]),_0x4003ca=Math['floor'](_0x584c07[_0x16daa8(0x10c)](_0x2eb75e,0x2)),_0x163909=_0x2eb75e-_0x4003ca,_0x437b6d='║'+'\x20'[_0x16daa8(0x10d)](_0x4003ca)+_0x2ba4cc+'\x20'[_0x16daa8(0x10d)](_0x163909)+'║',_0x28af99=_0x16daa8(0xf3)+_0x437b6d+_0x16daa8(0x17a)+(_0x498822['environment']||_0x16daa8(0xfd))[_0x16daa8(0x11a)](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x498822['project']||'N/A')['padEnd'](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x498822[_0x16daa8(0x106)]||0xbb8)['padEnd'](0x26)+_0x16daa8(0xdf)+(_0x498822['configFile']||'Default')[_0x16daa8(0x11a)](0x26)+_0x16daa8(0xef)+(_0x498822['apiKey']?_0x16daa8(0x15f):_0x16daa8(0x115))[_0x16daa8(0x11a)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x16daa8(0xf2)](_0x28af99);const _0x3140fd={'event':_0x584c07[_0x16daa8(0x155)],'project':_0x498822[_0x16daa8(0x108)],'port':_0x498822['port'],'config':_0x498822['configFile'],'apiKeyEnabled':!!_0x498822['apiKey']};logger['info'](_0x3140fd),writeToFileLog({..._0x3140fd,'level':'info','msg':_0x16daa8(0x104)+_0x498822[_0x16daa8(0x108)]+'\x20on\x20port\x20'+_0x498822[_0x16daa8(0x106)],'time':new Date()[_0x16daa8(0xe1)]()},_0x16daa8(0x12b));},logServerReady=_0x75db3d=>{const _0x279f97=a0_0x5d7352,_0x571e98={'yqxJr':'server_ready','YMLfO':function(_0x32d022,_0x4bab60,_0x13368e){return _0x32d022(_0x4bab60,_0x13368e);}},_0x415def={'event':_0x571e98['yqxJr'],'port':_0x75db3d[_0x279f97(0x106)],'module':_0x75db3d['module'],'healthCheck':_0x75db3d[_0x279f97(0x12c)],'serviceInfo':_0x75db3d[_0x279f97(0x147)],'baseUrl':_0x75db3d[_0x279f97(0x173)]},_0x3c2146='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x75db3d['port'];logger['info'](_0x415def,_0x3c2146),_0x571e98[_0x279f97(0x183)](writeToFileLog,{..._0x415def,'level':'info','msg':_0x3c2146,'time':new Date()[_0x279f97(0xe1)]()},'info'),_0x75db3d[_0x279f97(0x12c)]&&logger['info'](_0x279f97(0x163)+_0x75db3d['healthCheck']),_0x75db3d[_0x279f97(0x147)]&&logger[_0x279f97(0x12b)]('\x20\x20Info:\x20\x20\x20'+_0x75db3d[_0x279f97(0x147)]),_0x75db3d[_0x279f97(0x173)]&&logger[_0x279f97(0x12b)](_0x279f97(0x16f)+_0x75db3d[_0x279f97(0x173)]);},logProjectLoaded=(_0x546fed,_0xa21c7b)=>{const _0x65db7=a0_0x5d7352,_0x5b5a6f={'cpkQD':_0x65db7(0x171),'nFwvX':function(_0x5a569e,_0x43e1cb,_0x357875){return _0x5a569e(_0x43e1cb,_0x357875);},'wEjig':_0x65db7(0x12b)},_0x41c50b={'event':_0x5b5a6f[_0x65db7(0x146)],'project':_0x546fed,'path':_0xa21c7b},_0x2bc4b4='[OK]\x20Project\x20loaded:\x20'+_0x546fed;logger['info'](_0x41c50b,_0x2bc4b4),_0x5b5a6f['nFwvX'](writeToFileLog,{..._0x41c50b,'level':_0x5b5a6f['wEjig'],'msg':_0x2bc4b4,'time':new Date()[_0x65db7(0xe1)]()},'info');},logEndpointRegistered=(_0x7b9bdf,_0x2a4a43)=>{const _0x124742=a0_0x5d7352,_0x38555e={'wUFqs':_0x124742(0x132),'DgGvl':function(_0x382420,_0x49f79e,_0x55cc62){return _0x382420(_0x49f79e,_0x55cc62);}},_0x4200c0={'event':_0x38555e['wUFqs'],'endpoint':_0x7b9bdf,'route':_0x2a4a43},_0x8fd073='\x20\x20→\x20'+_0x7b9bdf+':\x20'+_0x2a4a43;logger[_0x124742(0x10e)](_0x4200c0,_0x8fd073),_0x38555e['DgGvl'](writeToFileLog,{..._0x4200c0,'level':_0x124742(0x10e),'msg':_0x8fd073,'time':new Date()[_0x124742(0xe1)]()},'debug');},logDatabaseConfig=_0x17580b=>{const _0x3493b6=a0_0x5d7352,_0x12963f={'qNRPd':'debug'},_0x373c18={'event':_0x3493b6(0xed),'host':_0x17580b[_0x3493b6(0x139)],'port':_0x17580b[_0x3493b6(0x106)],'database':_0x17580b[_0x3493b6(0x14f)],'type':_0x17580b[_0x3493b6(0x170)],'user':_0x17580b[_0x3493b6(0x177)]},_0x5ff187='Database:\x20'+_0x17580b[_0x3493b6(0x170)]+_0x3493b6(0x103)+_0x17580b['host']+':'+_0x17580b[_0x3493b6(0x106)]+'/'+_0x17580b['database'];logger[_0x3493b6(0x10e)](_0x373c18,_0x5ff187),writeToFileLog({..._0x373c18,'level':_0x12963f['qNRPd'],'msg':_0x5ff187,'time':new Date()['toISOString']()},_0x12963f['qNRPd']);},logRequest=(_0x534910,_0x2caf93,_0x57f659)=>{const _0xc44ca8=a0_0x5d7352,_0x318eb4={'djGVG':'http_request','xbTFi':_0xc44ca8(0x12b),'DrqAV':function(_0x29c920,_0x146a8d){return _0x29c920>=_0x146a8d;},'AKnIS':'warn','AQRjP':function(_0x3ebca2,_0x15d482,_0x23a721){return _0x3ebca2(_0x15d482,_0x23a721);}},_0x486bd9={'event':_0x318eb4['djGVG'],'method':_0x534910['method'],'path':_0x534910[_0xc44ca8(0x186)],'statusCode':_0x2caf93['statusCode'],'durationMs':_0x57f659,'ip':_0x534910['ip']},_0x426985=_0x534910['method']+'\x20'+_0x534910[_0xc44ca8(0x186)]+'\x20-\x20'+_0x2caf93['statusCode']+'\x20('+_0x57f659+_0xc44ca8(0xcb);let _0x20951b=_0x318eb4['xbTFi'];if(_0x2caf93['statusCode']>=0x1f4)_0x20951b='error',logger[_0xc44ca8(0x11d)](_0x486bd9,_0x426985);else _0x318eb4['DrqAV'](_0x2caf93[_0xc44ca8(0x100)],0x190)?(_0x20951b=_0x318eb4[_0xc44ca8(0x168)],logger['warn'](_0x486bd9,_0x426985)):logger[_0xc44ca8(0x12b)](_0x486bd9,_0x426985);_0x318eb4['AQRjP'](writeToFileLog,{..._0x486bd9,'level':_0x20951b,'msg':_0x426985,'time':new Date()['toISOString']()},_0x20951b);},SENSITIVE_PARAM_PATTERNS=['password',a0_0x5d7352(0x14c),'pwd','token','access_token',a0_0x5d7352(0x13e),a0_0x5d7352(0x175),'api_secret',a0_0x5d7352(0x15e),'api_key','credential','credentials',a0_0x5d7352(0xd8),a0_0x5d7352(0xd6),'private_key',a0_0x5d7352(0x17d)],redactSensitiveParams=(_0x3e4774,_0x542255)=>{const _0xa5193a=a0_0x5d7352,_0x3ea130={'xpQDA':_0xa5193a(0x176),'aQwLG':'[REDACTED:hash]','TucTN':function(_0x2810c3,_0x4fb1c5){return _0x2810c3===_0x4fb1c5;}};if(!_0x3e4774||_0x3ea130['TucTN'](_0x3e4774[_0xa5193a(0x16c)],0x0))return _0x3e4774;const _0x23d284=_0x542255['toLowerCase'](),_0x4ee180=_0x23d284[_0xa5193a(0x185)](/\(([^)]+)\)\s*values/i);let _0x3e8348=[];_0x4ee180&&(_0x3e8348=_0x4ee180[0x1][_0xa5193a(0xcd)](',')['map'](_0x62fe87=>_0x62fe87[_0xa5193a(0xeb)]()['toLowerCase']()));const _0x2e3980=_0x23d284['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x2e3980){const _0x446809=_0x2e3980[0x1],_0x1eaabb=_0x446809[_0xa5193a(0x185)](/(\w+)\s*=/g);_0x1eaabb&&(_0x3e8348=_0x1eaabb['map'](_0x2169f6=>_0x2169f6[_0xa5193a(0xec)](/\s*=/,'')[_0xa5193a(0xeb)]()[_0xa5193a(0x15d)]()));}return _0x3e4774['map']((_0x34fafc,_0x2d100c)=>{const _0x19d884=_0xa5193a;if(_0x3e8348[_0x2d100c]){const _0x21de4f=_0x3e8348[_0x2d100c],_0x454283=SENSITIVE_PARAM_PATTERNS[_0x19d884(0xcf)](_0x2ff6f8=>_0x21de4f[_0x19d884(0x134)](_0x2ff6f8));if(_0x454283)return _0x19d884(0xf6);}if(typeof _0x34fafc===_0x3ea130['xpQDA']&&_0x34fafc['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x34fafc)&&_0x34fafc[_0x19d884(0x134)]('.'))return _0x19d884(0xf1);if(/^[a-fA-F0-9]{32,}$/[_0x19d884(0x181)](_0x34fafc))return _0x3ea130[_0x19d884(0x137)];}return _0x34fafc;});},parseQueryMetadata=_0x147ac4=>{const _0x5b6d51=a0_0x5d7352,_0x5254d6={'eTdJg':'UNKNOWN','fIevB':_0x5b6d51(0x107),'DhOOR':_0x5b6d51(0x17b),'qnONA':'DELETE','hqYBp':_0x5b6d51(0xd1),'zmrbV':'START\x20TRANSACTION','NMvup':_0x5b6d51(0x129),'FIANv':'DDL_CREATE'},_0x3cae73=_0x147ac4[_0x5b6d51(0xeb)](),_0x51ba92=_0x3cae73['toUpperCase']();let _0x3689bb=_0x5254d6['eTdJg'],_0x367f06=null;if(_0x51ba92[_0x5b6d51(0xce)](_0x5254d6[_0x5b6d51(0x16d)])){_0x3689bb=_0x5254d6['fIevB'];const _0x3399fe=_0x3cae73[_0x5b6d51(0x185)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x367f06=_0x3399fe?_0x3399fe[0x1]:null;}else{if(_0x51ba92['startsWith'](_0x5254d6[_0x5b6d51(0x11f)])){_0x3689bb='INSERT';const _0x2cef95=_0x3cae73['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x367f06=_0x2cef95?_0x2cef95[0x1]:null;}else{if(_0x51ba92[_0x5b6d51(0xce)](_0x5b6d51(0x179))){_0x3689bb='UPDATE';const _0x152c07=_0x3cae73[_0x5b6d51(0x185)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x367f06=_0x152c07?_0x152c07[0x1]:null;}else{if(_0x51ba92['startsWith'](_0x5254d6[_0x5b6d51(0x17e)])){_0x3689bb=_0x5b6d51(0x10a);const _0x45e2a8=_0x3cae73['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x367f06=_0x45e2a8?_0x45e2a8[0x1]:null;}else{if(_0x51ba92['startsWith'](_0x5254d6[_0x5b6d51(0xe6)])||_0x51ba92['startsWith'](_0x5254d6[_0x5b6d51(0x15b)]))_0x3689bb='TRANSACTION_BEGIN';else{if(_0x51ba92[_0x5b6d51(0xce)](_0x5b6d51(0xfe)))_0x3689bb=_0x5b6d51(0x142);else{if(_0x51ba92['startsWith'](_0x5b6d51(0x113)))_0x3689bb=_0x5254d6['NMvup'];else{if(_0x51ba92['startsWith'](_0x5b6d51(0x138)))_0x3689bb=_0x5254d6['FIANv'];else{if(_0x51ba92['startsWith']('ALTER'))_0x3689bb='DDL_ALTER';else _0x51ba92[_0x5b6d51(0xce)]('DROP')&&(_0x3689bb='DDL_DROP');}}}}}}}}return{'type':_0x3689bb,'table':_0x367f06};},startQueryTimer=()=>{const _0x271403=process['hrtime']();return()=>{const _0x3fd0a2=a0_0x4a24,[_0x438613,_0x5f4eeb]=process[_0x3fd0a2(0x162)](_0x271403);return parseFloat((_0x438613*0x3e8+_0x5f4eeb/0xf4240)[_0x3fd0a2(0xfa)](0x2));};},logQuery=(_0xd52d6f,_0x577416=[],_0x1326c5={})=>{const _0x378485=a0_0x5d7352,_0x1b083a={'RBZdC':function(_0x1876c6,_0x4b4db6){return _0x1876c6(_0x4b4db6);},'UtqhL':'sql_query','YXSBL':function(_0x3dae6f,_0x534a50){return _0x3dae6f>_0x534a50;},'RcoJG':function(_0x2ba221,_0x4aac19){return _0x2ba221!==_0x4aac19;},'Cqtov':function(_0x355e44,_0x30ed2f){return _0x355e44!==_0x30ed2f;},'CstGK':function(_0xfd10af,_0x1e3c87){return _0xfd10af||_0x1e3c87;},'IXJOj':function(_0x2f7e3b,_0x5d718f){return _0x2f7e3b!==_0x5d718f;},'AHQIN':_0x378485(0x10e),'JlAuS':_0x378485(0x130),'vGaii':function(_0x3fa03a,_0x3acf2a){return _0x3fa03a===_0x3acf2a;},'veaSO':'info','HGJYx':function(_0x273e0e,_0x2c5882,_0x309a50){return _0x273e0e(_0x2c5882,_0x309a50);}};if(!sqlLogEnabled){logger['debug']({'event':'db_query','query':_0xd52d6f['substring'](0x0,0xc8),'paramCount':_0x577416['length']},_0x378485(0xf9));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x378485(0x120)}=_0x1326c5,{type:_0xb4d8a9,table:_0x19ad34}=_0x1b083a[_0x378485(0x105)](parseQueryMetadata,_0xd52d6f),_0x12a72a={'event':_0x1b083a[_0x378485(0x110)],'queryType':_0xb4d8a9,'table':_0x19ad34,'query':_0xd52d6f,'paramCount':_0x577416['length'],'dbType':dbType};sqlLogParams&&_0x1b083a[_0x378485(0x128)](_0x577416['length'],0x0)&&(_0x12a72a['params']=redactSensitiveParams(_0x577416,_0xd52d6f));_0x1b083a['RcoJG'](duration,null)&&(_0x12a72a['durationMs']=duration,_0x12a72a[_0x378485(0x159)]=_0x1b083a[_0x378485(0x128)](duration,sqlLogSlowThreshold));_0x1b083a['Cqtov'](rowsAffected,null)&&(_0x12a72a[_0x378485(0x167)]=rowsAffected);const _0xf182e3=_0x1b083a[_0x378485(0xe3)](_0x19ad34,_0x378485(0xf4));let _0x4f7887='['+_0xb4d8a9+']\x20'+_0xf182e3;_0x1b083a['IXJOj'](duration,null)&&(_0x4f7887+='\x20('+duration+'ms)');const _0x3459e7=duration!==null&&duration>sqlLogSlowThreshold;let _0x23bd34=_0x1b083a[_0x378485(0x10b)];if(_0x3459e7)_0x4f7887+=_0x378485(0x126),_0x23bd34=_0x1b083a['JlAuS'],logger[_0x378485(0x130)](_0x12a72a,_0x4f7887);else _0x1b083a['vGaii'](sqlLogLevel,_0x1b083a['veaSO'])?(_0x23bd34=_0x1b083a[_0x378485(0x140)],logger[_0x378485(0x12b)](_0x12a72a,_0x4f7887)):logger[_0x378485(0x10e)](_0x12a72a,_0x4f7887);_0x1b083a[_0x378485(0x143)](writeToFileLog,{..._0x12a72a,'level':_0x23bd34,'msg':_0x4f7887,'time':new Date()['toISOString']()},_0x23bd34);},logTransaction=(_0x894eb5,_0x5e8d9d)=>{const _0x36ddb7=a0_0x5d7352,_0x576f8f={'YzViZ':_0x36ddb7(0x10e)},_0x464da5={'event':_0x36ddb7(0x180),'status':_0x894eb5,'queryCount':_0x5e8d9d},_0x55d6da='Transaction\x20'+_0x894eb5;logger[_0x36ddb7(0x10e)](_0x464da5,_0x55d6da),writeToFileLog({..._0x464da5,'level':'debug','msg':_0x55d6da,'time':new Date()[_0x36ddb7(0xe1)]()},_0x576f8f[_0x36ddb7(0xd7)]);},redactObject=_0x48c927=>{const _0x4d68a7=a0_0x5d7352,_0x430ec2={'lPdtZ':function(_0x674860,_0x520a49){return _0x674860!==_0x520a49;},'TDbRr':_0x4d68a7(0x124),'uuVoI':'token','OkxzS':'secret','IHvhX':'apikey','YpOFD':_0x4d68a7(0x157),'xefpi':'cvv','biJXJ':'ssn','PmxnL':'private_key','dtEYe':_0x4d68a7(0x13e),'cnMIJ':_0x4d68a7(0x131),'UPsmH':'[REDACTED]','chQBs':function(_0x3e117b,_0x59a7a2){return _0x3e117b!==_0x59a7a2;}};if(!_0x48c927||_0x430ec2['lPdtZ'](typeof _0x48c927,_0x430ec2['TDbRr']))return _0x48c927;const _0x2d4335=['password',_0x4d68a7(0x14c),_0x4d68a7(0xdb),_0x430ec2[_0x4d68a7(0x14d)],_0x430ec2[_0x4d68a7(0x127)],_0x430ec2['IHvhX'],'api_key',_0x4d68a7(0x13f),_0x4d68a7(0xf0),_0x430ec2[_0x4d68a7(0x184)],_0x430ec2['xefpi'],_0x430ec2['biJXJ'],'pin',_0x430ec2['PmxnL'],_0x4d68a7(0x17d),_0x430ec2[_0x4d68a7(0x13b)],_0x430ec2[_0x4d68a7(0x14a)]],_0x2167d8=Array['isArray'](_0x48c927)?[..._0x48c927]:{..._0x48c927};for(const _0x82928e of Object[_0x4d68a7(0x119)](_0x2167d8)){const _0x58fe65=_0x82928e[_0x4d68a7(0x15d)]();if(_0x2d4335[_0x4d68a7(0xcf)](_0x1e789b=>_0x58fe65[_0x4d68a7(0x134)](_0x1e789b)))_0x2167d8[_0x82928e]=_0x430ec2[_0x4d68a7(0x11c)];else typeof _0x2167d8[_0x82928e]===_0x430ec2[_0x4d68a7(0xd2)]&&_0x430ec2[_0x4d68a7(0x14e)](_0x2167d8[_0x82928e],null)&&(_0x2167d8[_0x82928e]=redactObject(_0x2167d8[_0x82928e]));}return _0x2167d8;},logError=(_0x3044f4,_0x4bef49={},_0xfa5791=null)=>{const _0x350700=a0_0x5d7352,_0x41bfcb={'gxGIH':_0x350700(0x11d)},_0x3c4f7a={'event':_0x41bfcb['gxGIH'],'errorName':_0x3044f4[_0x350700(0x141)]||'Error','errorMessage':_0x3044f4['message'],'errorCode':_0x3044f4['code']||null,'stack':_0x3044f4['stack'],..._0x4bef49},_0x3522d8=_0xfa5791||'Error:\x20'+_0x3044f4['message'];logger['error'](_0x3c4f7a,_0x3522d8),writeToFileLog({..._0x3c4f7a,'level':_0x41bfcb[_0x350700(0x122)],'msg':_0x3522d8,'time':new Date()[_0x350700(0xe1)]()},_0x350700(0x11d));},logFatalError=(_0x2915b8,_0x41716e={},_0x4dc522=null)=>{const _0x171589=a0_0x5d7352,_0x55221c={'RvIRJ':'fatal_error','gCWBB':function(_0x3b5e32,_0x58d34f,_0x524003){return _0x3b5e32(_0x58d34f,_0x524003);},'AKxxf':'fatal'},_0x50d35c={'event':_0x55221c[_0x171589(0x161)],'errorName':_0x2915b8['name']||'Error','errorMessage':_0x2915b8['message'],'errorCode':_0x2915b8[_0x171589(0x164)]||null,'stack':_0x2915b8['stack'],'severity':_0x171589(0xf8),..._0x41716e},_0x430e80=_0x4dc522||'FATAL:\x20'+_0x2915b8['message'];logger['fatal'](_0x50d35c,_0x430e80),_0x55221c['gCWBB'](writeToFileLog,{..._0x50d35c,'level':_0x55221c[_0x171589(0x165)],'msg':_0x430e80,'time':new Date()['toISOString']()},'error');},logHttpError=(_0x9b8301,_0xfc15fa,_0x31ee70={})=>{const _0x2af4bc=a0_0x5d7352,_0x879386={'avcBQ':_0x2af4bc(0xda),'IrdaT':_0x2af4bc(0x102),'LrBeY':function(_0x4ebb07,_0x4cfda6){return _0x4ebb07(_0x4cfda6);},'VtWFD':function(_0x7016d2,_0x1d1ef3){return _0x7016d2>=_0x1d1ef3;},'CPLmp':'error'},_0x5c12ba={'event':_0x2af4bc(0xe8),'errorName':_0x9b8301['name']||_0x879386['avcBQ'],'errorMessage':_0x9b8301['message'],'errorCode':_0x9b8301['code']||_0x9b8301['statusCode']||0x1f4,'stack':_0x9b8301['stack'],'method':_0xfc15fa?.[_0x2af4bc(0x17c)],'url':_0xfc15fa?.['url']||_0xfc15fa?.[_0x2af4bc(0x14b)],'path':_0xfc15fa?.['path'],'ip':_0xfc15fa?.['ip']||_0xfc15fa?.['connection']?.['remoteAddress'],'userAgent':_0xfc15fa?.['get']?.(_0x879386['IrdaT']),'requestId':_0xfc15fa?.['id']||_0xfc15fa?.['headers']?.[_0x2af4bc(0x148)],'body':_0xfc15fa?.['body']?_0x879386['LrBeY'](redactObject,_0xfc15fa[_0x2af4bc(0xfb)]):undefined,'query':_0xfc15fa?.[_0x2af4bc(0xd5)],..._0x31ee70},_0xe54f78=_0x9b8301[_0x2af4bc(0x100)]||_0x9b8301['status']||0x1f4,_0x2b0f43=_0x2af4bc(0xe5)+_0xe54f78+':\x20'+_0x9b8301['message'];_0x879386['VtWFD'](_0xe54f78,0x1f4)?logger['error'](_0x5c12ba,_0x2b0f43):logger[_0x2af4bc(0x130)](_0x5c12ba,_0x2b0f43),writeToFileLog({..._0x5c12ba,'level':_0xe54f78>=0x1f4?_0x879386['CPLmp']:'warn','msg':_0x2b0f43,'time':new Date()[_0x2af4bc(0xe1)]()},_0xe54f78>=0x1f4?_0x2af4bc(0x11d):_0x2af4bc(0x130));},logUncaughtError=(_0x46acbc,_0x3c7b45)=>{const _0x3b6d3a=a0_0x5d7352,_0x3aa83={'focfY':_0x3b6d3a(0xda),'IkArF':function(_0xe45404,_0x324003){return _0xe45404(_0x324003);},'iBWbP':_0x3b6d3a(0x11d)},_0x55844b={'event':_0x46acbc,'errorName':_0x3c7b45?.['name']||_0x3aa83['focfY'],'errorMessage':_0x3c7b45?.['message']||_0x3aa83['IkArF'](String,_0x3c7b45),'errorCode':_0x3c7b45?.['code']||null,'stack':_0x3c7b45?.['stack'],'severity':'CRITICAL','processId':process[_0x3b6d3a(0x12a)],'memoryUsage':process[_0x3b6d3a(0xee)](),'uptime':process['uptime']()},_0x376917='['+_0x46acbc['toUpperCase']()+']\x20'+(_0x3c7b45?.['message']||_0x3c7b45);logger['fatal'](_0x55844b,_0x376917),writeToFileLog({..._0x55844b,'level':_0x3b6d3a(0x174),'msg':_0x376917,'time':new Date()[_0x3b6d3a(0xe1)]()},_0x3aa83[_0x3b6d3a(0xe0)]);},setupGlobalErrorHandlers=()=>{const _0x30d704=a0_0x5d7352,_0xba761d={'eRXFQ':function(_0x8c5e95,_0x20458f,_0x297bfc){return _0x8c5e95(_0x20458f,_0x297bfc);},'lwlWw':function(_0x27ce1b,_0x4e6d59){return _0x27ce1b instanceof _0x4e6d59;},'WqHQJ':function(_0x498195,_0x3c402e){return _0x498195(_0x3c402e);},'siJyZ':_0x30d704(0x12b)};process['on'](_0x30d704(0x133),_0x14f7cf=>{const _0x1d82aa=_0x30d704;_0xba761d[_0x1d82aa(0x109)](logUncaughtError,_0x1d82aa(0x133),_0x14f7cf),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x30d704(0xdd),(_0x34f6ec,_0x9a55ed)=>{const _0x3acfad=_0x30d704,_0x24fcf0=_0xba761d[_0x3acfad(0x16a)](_0x34f6ec,Error)?_0x34f6ec:new Error(_0xba761d[_0x3acfad(0x135)](String,_0x34f6ec));logUncaughtError('unhandledRejection',_0x24fcf0);}),process['on']('warning',_0x5ca690=>{const _0x233e4f=_0x30d704;logger[_0x233e4f(0x130)]({'event':'process_warning','name':_0x5ca690[_0x233e4f(0x141)],'message':_0x5ca690['message'],'stack':_0x5ca690[_0x233e4f(0x188)]},'Process\x20Warning:\x20'+_0x5ca690[_0x233e4f(0x111)]);});const _0x116ab4={'event':_0x30d704(0x169)},_0x29bfc9=_0x30d704(0x112);logger[_0x30d704(0x12b)](_0x116ab4,_0x29bfc9),writeToFileLog({..._0x116ab4,'level':_0xba761d['siJyZ'],'msg':_0x29bfc9,'time':new Date()[_0x30d704(0xe1)]()},'info');},createErrorHandlerMiddleware=()=>{const _0x5dc4ad={'bHMeU':function(_0x5362bd,_0x4c383c,_0x4da337){return _0x5362bd(_0x4c383c,_0x4da337);},'MDHhK':function(_0x5bd1f6,_0x1e57f5){return _0x5bd1f6>=_0x1e57f5;}};return(_0x59e2f1,_0x1511a2,_0x56b9d0,_0x2fb820)=>{const _0x453520=a0_0x4a24;_0x5dc4ad[_0x453520(0xd4)](logHttpError,_0x59e2f1,_0x1511a2);const _0x52e10f=_0x59e2f1[_0x453520(0x100)]||_0x59e2f1[_0x453520(0x136)]||0x1f4;_0x56b9d0['status'](_0x52e10f)['json']({'success':![],'error':_0x5dc4ad['MDHhK'](_0x52e10f,0x1f4)?'Internal\x20server\x20error':_0x59e2f1[_0x453520(0x111)],'requestId':_0x1511a2['id']||_0x1511a2['headers']?.['x-request-id']||null});};};module[a0_0x5d7352(0x158)]={'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_0x141270=a0_0x62c1;(function(_0x5d46b8,_0x29ca5c){const _0x2c3113=a0_0x62c1,_0x24dac9=_0x5d46b8();while(!![]){try{const _0x4751cb=-parseInt(_0x2c3113(0x288))/0x1*(parseInt(_0x2c3113(0x1d2))/0x2)+-parseInt(_0x2c3113(0x266))/0x3+parseInt(_0x2c3113(0x20f))/0x4+-parseInt(_0x2c3113(0x274))/0x5+parseInt(_0x2c3113(0x23f))/0x6*(parseInt(_0x2c3113(0x283))/0x7)+-parseInt(_0x2c3113(0x23b))/0x8+-parseInt(_0x2c3113(0x227))/0x9*(-parseInt(_0x2c3113(0x267))/0xa);if(_0x4751cb===_0x29ca5c)break;else _0x24dac9['push'](_0x24dac9['shift']());}catch(_0x2c6860){_0x24dac9['push'](_0x24dac9['shift']());}}}(a0_0x413f,0x5e8e0));const pino=require(a0_0x141270(0x1eb)),fs=require('fs'),path=require('path');let logToFile=![],logDir=a0_0x141270(0x28d),serviceName='restforge',sqlLogEnabled=![],sqlLogLevel=a0_0x141270(0x205),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;function a0_0x62c1(_0x1a453e,_0x2f9620){_0x1a453e=_0x1a453e-0x1cc;const _0x413fe2=a0_0x413f();let _0x62c1c4=_0x413fe2[_0x1a453e];if(a0_0x62c1['EiQJKV']===undefined){var _0x459dae=function(_0x42c2c5){const _0x1da193='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x74452a='',_0x5e9441='';for(let _0x57c7bd=0x0,_0x308eb9,_0x36efbc,_0x8131af=0x0;_0x36efbc=_0x42c2c5['charAt'](_0x8131af++);~_0x36efbc&&(_0x308eb9=_0x57c7bd%0x4?_0x308eb9*0x40+_0x36efbc:_0x36efbc,_0x57c7bd++%0x4)?_0x74452a+=String['fromCharCode'](0xff&_0x308eb9>>(-0x2*_0x57c7bd&0x6)):0x0){_0x36efbc=_0x1da193['indexOf'](_0x36efbc);}for(let _0x8dae4b=0x0,_0x26f343=_0x74452a['length'];_0x8dae4b<_0x26f343;_0x8dae4b++){_0x5e9441+='%'+('00'+_0x74452a['charCodeAt'](_0x8dae4b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5e9441);};a0_0x62c1['lmrMcB']=_0x459dae,a0_0x62c1['uTIYPV']={},a0_0x62c1['EiQJKV']=!![];}const _0x3ef677=_0x413fe2[0x0],_0x4ed1c3=_0x1a453e+_0x3ef677,_0x4123dc=a0_0x62c1['uTIYPV'][_0x4ed1c3];return!_0x4123dc?(_0x62c1c4=a0_0x62c1['lmrMcB'](_0x62c1c4),a0_0x62c1['uTIYPV'][_0x4ed1c3]=_0x62c1c4):_0x62c1c4=_0x4123dc,_0x62c1c4;}const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x141270(0x231),'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_0x141270(0x228),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process[a0_0x141270(0x208)][a0_0x141270(0x215)]!=='production',logLevel=process['env'][a0_0x141270(0x214)]||a0_0x141270(0x1d4);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env']['APP_VERSION']||'1.0.5','env':process[a0_0x141270(0x208)][a0_0x141270(0x215)]||'development'},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':[a0_0x141270(0x251),a0_0x141270(0x23d),a0_0x141270(0x1d9),'token','apiKey',a0_0x141270(0x20d),a0_0x141270(0x1fc)],'censor':'[REDACTED]'},'serializers':{'req':_0x31ce87=>({'id':_0x31ce87['id'],'method':_0x31ce87[a0_0x141270(0x1fa)],'url':_0x31ce87['url'],'path':_0x31ce87['path'],'remoteAddress':_0x31ce87['ip']||_0x31ce87['connection']?.[a0_0x141270(0x27c)]}),'res':_0x5a8bd8=>({'statusCode':_0x5a8bd8['statusCode'],'headers':_0x5a8bd8['getHeaders']?.()}),'err':pino['stdSerializers']['err']}});function initFileLogging(){const _0x433eb1=a0_0x141270,_0x1201cf={'FOCZP':_0x433eb1(0x1e2),'hViuv':function(_0xde06f3,_0x296037){return _0xde06f3===_0x296037;},'ugNBO':'false','sbgYc':'app.log','TYrzK':_0x433eb1(0x20a),'cNdyI':_0x433eb1(0x223),'LKZiN':'info'};if(fileLoggingInitialized)return;logToFile=process[_0x433eb1(0x208)]['LOG_TO_FILE']==='true';const _0x24d548=process['env'][_0x433eb1(0x1ea)]||_0x1201cf['FOCZP'];logDir=process['env'][_0x433eb1(0x230)]||_0x433eb1(0x273)+_0x24d548,serviceName=process[_0x433eb1(0x208)][_0x433eb1(0x236)]||'restforge',sqlLogEnabled=_0x1201cf[_0x433eb1(0x285)](process[_0x433eb1(0x208)]['SQL_LOG_ENABLED'],'true'),sqlLogLevel=process['env']['SQL_LOG_LEVEL']||'debug',sqlLogParams=process[_0x433eb1(0x208)]['SQL_LOG_PARAMS']!==_0x1201cf[_0x433eb1(0x289)],sqlLogSlowThreshold=parseInt(process[_0x433eb1(0x208)][_0x433eb1(0x212)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x5bc659=path['resolve'](process[_0x433eb1(0x286)](),logDir);try{!fs['existsSync'](_0x5bc659)&&fs[_0x433eb1(0x1fd)](_0x5bc659,{'recursive':!![]});}catch(_0x9876a3){console[_0x433eb1(0x20c)](_0x433eb1(0x222)+_0x5bc659+':',_0x9876a3['message']),fileLoggingInitialized=!![];return;}const _0x3d0f32=path[_0x433eb1(0x1fb)](_0x5bc659,_0x1201cf[_0x433eb1(0x263)]),_0x388380=path[_0x433eb1(0x1fb)](_0x5bc659,_0x1201cf['TYrzK']);try{appLogStream=fs[_0x433eb1(0x280)](_0x3d0f32,{'flags':'a'}),errorLogStream=fs[_0x433eb1(0x280)](_0x388380,{'flags':'a'}),fileLoggingInitialized=!![];const _0x18ee1a={'event':_0x1201cf[_0x433eb1(0x1ff)],'logDir':_0x5bc659,'files':[_0x1201cf[_0x433eb1(0x263)],_0x1201cf[_0x433eb1(0x239)]]},_0x1b2f8b=_0x433eb1(0x28e)+_0x5bc659;logger['info'](_0x18ee1a,_0x1b2f8b),writeToFileLog({..._0x18ee1a,'level':_0x1201cf['LKZiN'],'msg':_0x1b2f8b,'time':new Date()[_0x433eb1(0x1e7)]()},_0x1201cf['LKZiN']);}catch(_0x520082){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x520082['message']),fileLoggingInitialized=!![];}}function a0_0x413f(){const _0x514178=['D3bMqwK','BNbIv0i','ChjVAMvJDf9SB2fKzwq','y3jLzgL0x2nHCMq','zMXVB3i','D3jPDgu','B2jQzwn0','uK9mtejbq0S','CgDKBhK','C2vYDMvYx3jLywr5','Cg9ZDgDYzxnXBa','tKDmyvK','Dg9vChbLCKnHC2u','rNfMq3O','oI8V','w1jfrefdveveoMHHC2HD','C3rHDhvZ','C2jNwwm','rermx0nsrufurq','y2HPBgq','nti0odiZB0rNv0Dt','nZb0rfbvzMe','zw52AxjVBM1LBNq','BwvZC2fNzq','Dg9Rzw4','su5trvju','B3rW','zMf0ywXFzxjYB3i','u0vmrunu','C3rYAw5NAwz5','iokvKqRILzeGiefqssblzxKGicaGidOG','vhrYtuG','DxDvqxa','lI9SB2DZlW','mtq3nJyXnvnMrwvfAW','Ahr0Cf9Yzxf1zxn0','Ahj0Aw1L','iokvKqRILzeGienVBMzPzYaGicaGidOG','q1jfqvrf','CgLK','w1jfrefdveveoNrVA2vUxq','EMHQDwG','CMvTB3rLqwrKCMvZCW','AxnbCNjHEq','rgvMyxvSDa','w1jfrefdvevexq','y3jLyxrLv3jPDgvtDhjLyw0','wLriBLa','zxHWB3j0CW','mZmYmteZnMvkDMzIvG','zM9kz2S','AfzPDxy','y3DK','BvzMvKi','mJCXnJuWq21NDevm','DwDoqK8','ALHJvK0','CgLU','wun4qMu','lI9SB2DZ','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','vu5ltK9xtG','tLn0BLC','AwvSu2i','y2rbs1y','Cg9YDa','yxbPs2v5','vfjbtLnbq1rjt05Fq09ntuLu','DxjS','icbjBMzVoIaGia','mMPcy1Plua','Dw5Oyw5KBgvKuMvQzwn0Aw9U','Aw5MBW','BerTyM4','B3jPz2LUywXvCMW','DxnLCG','Dw5JyxvNAhrfEgnLChrPB24','CgfZC3DVCMq','C3rHDhvZq29Kzq','icbizwfSDgG6ia','zgf0ywjHC2u','rermx0rst1a','y29Kzq','C3nU','zwLbDey','Aw5JBhvKzxm','zgvMyxvSDa','C2vJCMv0','CgfKrw5K','Dg9mB3DLCKnHC2u','AxntBg93','Dg9ju09tDhjPBMC','AwjRtxy','ChjVAMvJDa','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','CgLUBW','Bwf0y2G','EhDgCwC','y3z2','wfDAv2G','Bwf4','DgvZDa','ChjPDMf0zwTLEq','wg9gCKe','swnqrhu','C3bSAxq','sfruuca','C3rHy2S','Cgf0Aa','CMvMCMvZAf90B2TLBG','Bwv0Ag9K','AM9PBG','sLDux1nfq1jfva','BwTKAxjtEw5J','Bg9N','y05KEuK','rxjYB3i','rNvQBNq','CMvWzwf0','s05Lz1q','tK9uiefdveLwrq','zgvIDwC','sw50zxjUywWGC2vYDMvYigvYCM9Y','vhfzwLm','zw52','Ag9ZDa','zxjYB3iUBg9N','u2vYDMvYihn0yxj0Aw5NoIa','zxjYB3i','rejFueftu1DpuKq','C3rHCNrZv2L0Aa','mJaWnZeYBhzSuLfb','zhvYyxrPB25nCW','B3zbvxy','u1fmx0Xpr19tte9xx1riuKvtse9mra','CxvLCNK','te9hx0XfvKvm','tK9erv9ftLy','ywnJzxnZx3rVA2vU','q1jjveLdquW','r05LqMK','Dxb0Aw1L','y3jLzgvUDgLHBa','yxbPx3nLy3jLDa','reiGuxvLCNK','vhrls3G','qK9sDgS','Dw5RBM93BG','y2jkwKi','tvPKwLO','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','zMLSzv9SB2DNAw5Nx2vUywjSzwq','BgvUz3rO','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','y29UzMLNrMLSzq','mtiXmty2mvDRveP6yW','E21Zz30','C3fSx3f1zxj5','icdIHPiG','ifTtte9xxq','C2vYDMLJzuLUzM8','rMnzuem','Ec1Yzxf1zxn0lwLK','yMfZzvvYBa','te9hx0rjuG','u1LtoKHioK1noNnZ','Bw9KDwXL','y3nHuKS','DhLWzq','y29UBMvJDgLVBG','u0vsvKLdrv9oqu1f','ChjPDMf0zv9RzxK','tgzHugu','vfLYEKS','AgvHBhrOq2HLy2S','mJCWmJu1mK1YDMjPtG','sxHiru8','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','revmrvrf','nM1gr3DhuG','yMPSz0q','BKzqwhi','tK9JzLe','BwvTB3j5vxnHz2u','vxzPzMC','se1rtgW','zMf0ywW','D2fYBG','Dhfou0y','EhDhDeG','vhjHBNnHy3rPB24G','BMfTzq','yxbPx2TLEq','AevNq3G','ELbWwhi','CM93C0fMzMvJDgvK','zgjFDhjHBNnHy3rPB24','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG'];a0_0x413f=function(){return _0x514178;};return a0_0x413f();}function writeToFileLog(_0x113093,_0x203aa5){const _0x172f9c=a0_0x141270,_0x38756d={'RHPLl':function(_0x839448,_0x1339dd){return _0x839448||_0x1339dd;},'CteUx':'fatal'};if(_0x38756d['RHPLl'](!logToFile,!appLogStream))return;const _0x224df3={'service':serviceName,..._0x113093},_0x2f8f5f=JSON[_0x172f9c(0x26f)](_0x224df3)+'\x0a';appLogStream[_0x172f9c(0x257)](_0x2f8f5f),(_0x203aa5===_0x172f9c(0x20c)||_0x203aa5===_0x38756d['CteUx'])&&(errorLogStream&&errorLogStream['write'](_0x2f8f5f));}const createRequestLogger=(_0x1264da={})=>{const _0x3f768f=a0_0x141270;return logger[_0x3f768f(0x265)](_0x1264da);},logServerStart=_0x34edc5=>{const _0x11b791=a0_0x141270,_0x2a0b57={'LfaPe':'RESTFORGE\x20RUNTIME\x20SERVER','psNzQ':function(_0x4b8118,_0x8ed6cd){return _0x4b8118/_0x8ed6cd;},'oVauM':function(_0x23f25b,_0x18351e){return _0x23f25b-_0x18351e;},'jsMig':'Node.js','rAcPb':'N/A','ZTHnP':_0x11b791(0x204),'OihaC':'server_starting'},_0x1f3a7e=_0x2a0b57[_0x11b791(0x238)],_0x4bc116=Math[_0x11b791(0x1f0)](0x0,0x37-_0x1f3a7e['length']),_0x1178e5=Math[_0x11b791(0x256)](_0x2a0b57['psNzQ'](_0x4bc116,0x2)),_0x6c3b24=_0x2a0b57['oVauM'](_0x4bc116,_0x1178e5),_0x21841d='║'+'\x20'[_0x11b791(0x202)](_0x1178e5)+_0x1f3a7e+'\x20'['repeat'](_0x6c3b24)+'║',_0x5e92bf=_0x11b791(0x225)+_0x21841d+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x34edc5[_0x11b791(0x268)]||_0x2a0b57['jsMig'])[_0x11b791(0x1e4)](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x34edc5['project']||_0x2a0b57['rAcPb'])[_0x11b791(0x1e4)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x34edc5[_0x11b791(0x1cd)]||0xbb8)[_0x11b791(0x1e4)](0x26)+_0x11b791(0x277)+(_0x34edc5['configFile']||_0x11b791(0x27e))[_0x11b791(0x1e4)](0x26)+_0x11b791(0x270)+(_0x34edc5['apiKey']?'ACTIVE':_0x2a0b57[_0x11b791(0x281)])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x11b791(0x1fe)](_0x5e92bf);const _0x4aff28={'event':_0x2a0b57['OihaC'],'project':_0x34edc5[_0x11b791(0x1e9)],'port':_0x34edc5['port'],'config':_0x34edc5[_0x11b791(0x226)],'apiKeyEnabled':!!_0x34edc5[_0x11b791(0x1ce)]};logger['info'](_0x4aff28),writeToFileLog({..._0x4aff28,'level':_0x11b791(0x1d4),'msg':_0x11b791(0x20b)+_0x34edc5['project']+'\x20on\x20port\x20'+_0x34edc5['port'],'time':new Date()['toISOString']()},'info');},logServerReady=_0x4275a1=>{const _0x2f7a44=a0_0x141270,_0x1f8203={'OLFZI':function(_0x182ed4,_0x22ca5f,_0x59f2d7){return _0x182ed4(_0x22ca5f,_0x59f2d7);}},_0x14d04c={'event':_0x2f7a44(0x25b),'port':_0x4275a1[_0x2f7a44(0x1cd)],'module':_0x4275a1[_0x2f7a44(0x232)],'healthCheck':_0x4275a1['healthCheck'],'serviceInfo':_0x4275a1['serviceInfo'],'baseUrl':_0x4275a1['baseUrl']},_0x337004='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x4275a1[_0x2f7a44(0x1cd)];logger[_0x2f7a44(0x1d4)](_0x14d04c,_0x337004),_0x1f8203['OLFZI'](writeToFileLog,{..._0x14d04c,'level':'info','msg':_0x337004,'time':new Date()['toISOString']()},_0x2f7a44(0x1d4)),_0x4275a1[_0x2f7a44(0x23a)]&&logger[_0x2f7a44(0x1d4)](_0x2f7a44(0x1db)+_0x4275a1['healthCheck']),_0x4275a1[_0x2f7a44(0x22c)]&&logger['info'](_0x2f7a44(0x1d1)+_0x4275a1['serviceInfo']),_0x4275a1[_0x2f7a44(0x22f)]&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0x4275a1[_0x2f7a44(0x22f)]);},logProjectLoaded=(_0x3a14c2,_0x28599c)=>{const _0x54ffa3=a0_0x141270,_0x39db35={'GNeBi':function(_0xc12ab7,_0x2a0554,_0xffe91c){return _0xc12ab7(_0x2a0554,_0xffe91c);},'jLkSB':'info'},_0x21e520={'event':_0x54ffa3(0x254),'project':_0x3a14c2,'path':_0x28599c},_0x203f57='[OK]\x20Project\x20loaded:\x20'+_0x3a14c2;logger[_0x54ffa3(0x1d4)](_0x21e520,_0x203f57),_0x39db35[_0x54ffa3(0x218)](writeToFileLog,{..._0x21e520,'level':'info','msg':_0x203f57,'time':new Date()[_0x54ffa3(0x1e7)]()},_0x39db35['jLkSB']);},logEndpointRegistered=(_0x343ec3,_0x3077da)=>{const _0x232b0e=a0_0x141270,_0x1ba622={'IzVeb':'endpoint_registered','xVOLe':_0x232b0e(0x205)},_0x24731e={'event':_0x1ba622['IzVeb'],'endpoint':_0x343ec3,'route':_0x3077da},_0x5d7620=_0x232b0e(0x22a)+_0x343ec3+':\x20'+_0x3077da;logger[_0x232b0e(0x205)](_0x24731e,_0x5d7620),writeToFileLog({..._0x24731e,'level':_0x232b0e(0x205),'msg':_0x5d7620,'time':new Date()[_0x232b0e(0x1e7)]()},_0x1ba622['xVOLe']);},logDatabaseConfig=_0x17a0dd=>{const _0x8c2dd5=a0_0x141270,_0x1cb12d={'JccDL':_0x8c2dd5(0x205)},_0x371ceb={'event':'database_config','host':_0x17a0dd['host'],'port':_0x17a0dd[_0x8c2dd5(0x1cd)],'database':_0x17a0dd[_0x8c2dd5(0x1dc)],'type':_0x17a0dd['type'],'user':_0x17a0dd[_0x8c2dd5(0x1d7)]},_0x1b0bda='Database:\x20'+_0x17a0dd[_0x8c2dd5(0x234)]+_0x8c2dd5(0x260)+_0x17a0dd[_0x8c2dd5(0x209)]+':'+_0x17a0dd['port']+'/'+_0x17a0dd['database'];logger['debug'](_0x371ceb,_0x1b0bda),writeToFileLog({..._0x371ceb,'level':_0x8c2dd5(0x205),'msg':_0x1b0bda,'time':new Date()['toISOString']()},_0x1cb12d['JccDL']);},logRequest=(_0x45495a,_0x437d7e,_0x51d43b)=>{const _0x563edf=a0_0x141270,_0x526adb={'YCxBe':_0x563edf(0x1d4),'npbWB':function(_0x30e0f9,_0x27c080){return _0x30e0f9>=_0x27c080;},'KHwcL':'error','CUSMJ':'warn','zPpXr':function(_0x193af9,_0x1b163f,_0xda5572){return _0x193af9(_0x1b163f,_0xda5572);}},_0x17b819={'event':_0x563edf(0x275),'method':_0x45495a[_0x563edf(0x1fa)],'path':_0x45495a[_0x563edf(0x1f8)],'statusCode':_0x437d7e['statusCode'],'durationMs':_0x51d43b,'ip':_0x45495a['ip']},_0x1280a3=_0x45495a[_0x563edf(0x1fa)]+'\x20'+_0x45495a['path']+'\x20-\x20'+_0x437d7e[_0x563edf(0x1da)]+'\x20('+_0x51d43b+'ms)';let _0xdd0269=_0x526adb[_0x563edf(0x28c)];if(_0x526adb[_0x563edf(0x253)](_0x437d7e[_0x563edf(0x1da)],0x1f4))_0xdd0269=_0x526adb['KHwcL'],logger['error'](_0x17b819,_0x1280a3);else _0x437d7e[_0x563edf(0x1da)]>=0x190?(_0xdd0269=_0x526adb['CUSMJ'],logger['warn'](_0x17b819,_0x1280a3)):logger['info'](_0x17b819,_0x1280a3);_0x526adb[_0x563edf(0x24e)](writeToFileLog,{..._0x17b819,'level':_0xdd0269,'msg':_0x1280a3,'time':new Date()[_0x563edf(0x1e7)]()},_0xdd0269);},SENSITIVE_PARAM_PATTERNS=['password','passwd','pwd',a0_0x141270(0x26a),a0_0x141270(0x216),a0_0x141270(0x1f9),a0_0x141270(0x1e3),a0_0x141270(0x21b),'apikey',a0_0x141270(0x24c),a0_0x141270(0x21a),'credentials',a0_0x141270(0x28b),a0_0x141270(0x26c),'private_key',a0_0x141270(0x1f2)],redactSensitiveParams=(_0x19b220,_0x5e3964)=>{const _0x9461a5=a0_0x141270,_0x66c14b={'wpfAi':'[REDACTED]','Uvifg':function(_0x4aae71,_0x4bd5d2){return _0x4aae71>_0x4bd5d2;},'SHAJQ':_0x9461a5(0x27a),'HMQLl':function(_0x2d7cd6,_0x1dc3d7){return _0x2d7cd6===_0x1dc3d7;}};if(!_0x19b220||_0x66c14b[_0x9461a5(0x245)](_0x19b220['length'],0x0))return _0x19b220;const _0x5f44eb=_0x5e3964['toLowerCase'](),_0x4c3037=_0x5f44eb[_0x9461a5(0x1ec)](/\(([^)]+)\)\s*values/i);let _0x267a60=[];_0x4c3037&&(_0x267a60=_0x4c3037[0x1][_0x9461a5(0x1f5)](',')['map'](_0x48649e=>_0x48649e['trim']()['toLowerCase']()));const _0x14eec8=_0x5f44eb['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x14eec8){const _0xb23d34=_0x14eec8[0x1],_0x189d67=_0xb23d34['match'](/(\w+)\s*=/g);_0x189d67&&(_0x267a60=_0x189d67['map'](_0x4f123f=>_0x4f123f['replace'](/\s*=/,'')['trim']()['toLowerCase']()));}return _0x19b220['map']((_0x45c1df,_0x3f6181)=>{const _0x1cb365=_0x9461a5;if(_0x267a60[_0x3f6181]){const _0xfd3574=_0x267a60[_0x3f6181],_0x3be22b=SENSITIVE_PARAM_PATTERNS['some'](_0x1cd8c3=>_0xfd3574[_0x1cb365(0x1e1)](_0x1cd8c3));if(_0x3be22b)return _0x66c14b[_0x1cb365(0x252)];}if(typeof _0x45c1df==='string'&&_0x66c14b[_0x1cb365(0x244)](_0x45c1df['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x45c1df)&&_0x45c1df[_0x1cb365(0x1e1)]('.'))return _0x66c14b['SHAJQ'];if(/^[a-fA-F0-9]{32,}$/[_0x1cb365(0x1f1)](_0x45c1df))return _0x1cb365(0x261);}return _0x45c1df;});},parseQueryMetadata=_0xd86228=>{const _0x153a31=a0_0x141270,_0x7a3354={'XWZWh':'INSERT','xwFqg':'UPDATE','bjlgD':_0x153a31(0x23e),'BORtk':'BEGIN','JwKlC':'START\x20TRANSACTION','XoFrA':'TRANSACTION_ROLLBACK','IxHEO':_0x153a31(0x278),'cbJZB':_0x153a31(0x264),'wofQd':'ALTER','Fujnt':'DDL_ALTER'},_0x39180d=_0xd86228['trim'](),_0xace81e=_0x39180d['toUpperCase']();let _0x18aa0d=_0x153a31(0x28f),_0x12b053=null;if(_0xace81e[_0x153a31(0x20e)](_0x153a31(0x26e))){_0x18aa0d='SELECT';const _0x10977c=_0x39180d[_0x153a31(0x1ec)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x12b053=_0x10977c?_0x10977c[0x1]:null;}else{if(_0xace81e['startsWith'](_0x7a3354[_0x153a31(0x1ef)])){_0x18aa0d=_0x153a31(0x26b);const _0x29d619=_0x39180d[_0x153a31(0x1ec)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x12b053=_0x29d619?_0x29d619[0x1]:null;}else{if(_0xace81e[_0x153a31(0x20e)](_0x7a3354[_0x153a31(0x1ed)])){_0x18aa0d=_0x7a3354[_0x153a31(0x1ed)];const _0x517eb4=_0x39180d['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x12b053=_0x517eb4?_0x517eb4[0x1]:null;}else{if(_0xace81e[_0x153a31(0x20e)](_0x7a3354[_0x153a31(0x240)])){_0x18aa0d=_0x7a3354['bjlgD'];const _0x2df939=_0x39180d[_0x153a31(0x1ec)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x12b053=_0x2df939?_0x2df939[0x1]:null;}else{if(_0xace81e['startsWith'](_0x7a3354[_0x153a31(0x21e)])||_0xace81e[_0x153a31(0x20e)](_0x7a3354['JwKlC']))_0x18aa0d='TRANSACTION_BEGIN';else{if(_0xace81e['startsWith']('COMMIT'))_0x18aa0d=_0x153a31(0x1cf);else{if(_0xace81e['startsWith'](_0x153a31(0x259)))_0x18aa0d=_0x7a3354[_0x153a31(0x1f3)];else{if(_0xace81e[_0x153a31(0x20e)](_0x7a3354[_0x153a31(0x23c)]))_0x18aa0d=_0x7a3354[_0x153a31(0x220)];else{if(_0xace81e['startsWith'](_0x7a3354['wofQd']))_0x18aa0d=_0x7a3354[_0x153a31(0x201)];else _0xace81e[_0x153a31(0x20e)]('DROP')&&(_0x18aa0d=_0x153a31(0x1dd));}}}}}}}}return{'type':_0x18aa0d,'table':_0x12b053};},startQueryTimer=()=>{const _0x4b3c01={'yDVoE':function(_0x2dfa88,_0x925fca){return _0x2dfa88(_0x925fca);},'SbTED':function(_0x4a5aca,_0x2b76b0){return _0x4a5aca*_0x2b76b0;},'lDmbn':function(_0x19d102,_0x2dcc39){return _0x19d102/_0x2dcc39;}},_0x3a5b7c=process['hrtime']();return()=>{const _0x2cb7fd=a0_0x62c1,[_0x11a614,_0x1c9a00]=process[_0x2cb7fd(0x276)](_0x3a5b7c);return _0x4b3c01['yDVoE'](parseFloat,(_0x4b3c01['SbTED'](_0x11a614,0x3e8)+_0x4b3c01[_0x2cb7fd(0x1d5)](_0x1c9a00,0xf4240))['toFixed'](0x2));};},logQuery=(_0x235bf5,_0x5ede3c=[],_0x210b09={})=>{const _0x4f1eb3=a0_0x141270,_0x41771e={'ibkMv':_0x4f1eb3(0x21c),'NGLaY':function(_0x4bfed8,_0x546926){return _0x4bfed8(_0x546926);},'cdAKV':function(_0xc9c33c,_0x59ef7a){return _0xc9c33c>_0x59ef7a;},'uwUAp':function(_0x4fcdf2,_0x5340de,_0x7ea585){return _0x4fcdf2(_0x5340de,_0x7ea585);},'FqfCz':function(_0x35ece3,_0x2316c5){return _0x35ece3!==_0x2316c5;},'mMvDf':_0x4f1eb3(0x21f),'ielSb':function(_0x187d20,_0x1503cb){return _0x187d20!==_0x1503cb;},'YpuBw':_0x4f1eb3(0x22b),'hEgCx':_0x4f1eb3(0x1d4)};if(!sqlLogEnabled){logger[_0x4f1eb3(0x205)]({'event':'db_query','query':_0x235bf5['substring'](0x0,0xc8),'paramCount':_0x5ede3c[_0x4f1eb3(0x224)]},_0x41771e[_0x4f1eb3(0x1e8)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x4f1eb3(0x25c)}=_0x210b09,{type:_0x15ddb0,table:_0x57def1}=_0x41771e[_0x4f1eb3(0x25d)](parseQueryMetadata,_0x235bf5),_0x5e7962={'event':_0x4f1eb3(0x229),'queryType':_0x15ddb0,'table':_0x57def1,'query':_0x235bf5,'paramCount':_0x5ede3c['length'],'dbType':dbType};sqlLogParams&&_0x41771e['cdAKV'](_0x5ede3c[_0x4f1eb3(0x224)],0x0)&&(_0x5e7962['params']=_0x41771e[_0x4f1eb3(0x272)](redactSensitiveParams,_0x5ede3c,_0x235bf5));_0x41771e['FqfCz'](duration,null)&&(_0x5e7962[_0x4f1eb3(0x210)]=duration,_0x5e7962[_0x4f1eb3(0x1e6)]=_0x41771e[_0x4f1eb3(0x1cc)](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x5e7962[_0x4f1eb3(0x24f)]=rowsAffected);const _0x51f34c=_0x57def1||_0x41771e['mMvDf'];let _0x1b0dbf='['+_0x15ddb0+']\x20'+_0x51f34c;_0x41771e[_0x4f1eb3(0x25f)](duration,null)&&(_0x1b0dbf+='\x20('+duration+'ms)');const _0xcede21=_0x41771e[_0x4f1eb3(0x291)](duration,null)&&duration>sqlLogSlowThreshold;let _0x541542=_0x4f1eb3(0x205);if(_0xcede21)_0x1b0dbf+=_0x41771e['YpuBw'],_0x541542=_0x4f1eb3(0x247),logger[_0x4f1eb3(0x247)](_0x5e7962,_0x1b0dbf);else sqlLogLevel===_0x41771e[_0x4f1eb3(0x24d)]?(_0x541542=_0x4f1eb3(0x1d4),logger['info'](_0x5e7962,_0x1b0dbf)):logger['debug'](_0x5e7962,_0x1b0dbf);writeToFileLog({..._0x5e7962,'level':_0x541542,'msg':_0x1b0dbf,'time':new Date()[_0x4f1eb3(0x1e7)]()},_0x541542);},logTransaction=(_0x5ae092,_0x3621ee)=>{const _0x524e87=a0_0x141270,_0x3aaacf={'bgvLE':function(_0x393c56,_0x2b36dd,_0x41311b){return _0x393c56(_0x2b36dd,_0x41311b);},'MZdZZ':_0x524e87(0x205)},_0x17c6fe={'event':_0x524e87(0x250),'status':_0x5ae092,'queryCount':_0x3621ee},_0x3955e6=_0x524e87(0x24a)+_0x5ae092;logger[_0x524e87(0x205)](_0x17c6fe,_0x3955e6),_0x3aaacf['bgvLE'](writeToFileLog,{..._0x17c6fe,'level':_0x3aaacf[_0x524e87(0x221)],'msg':_0x3955e6,'time':new Date()[_0x524e87(0x1e7)]()},'debug');},redactObject=_0x40268c=>{const _0x1d43c8=a0_0x141270,_0x7154f8={'FcYPC':function(_0x36361c,_0x29c64c){return _0x36361c!==_0x29c64c;},'eiAtF':'object','zhjuh':_0x1d43c8(0x1d9),'ufbfD':'passwd','yeloI':'pwd','KNegT':'secret','TqYZS':'api_key','yafDo':'creditcard','TtrMH':_0x1d43c8(0x1ee),'tqNSF':'pin','jXcVM':_0x1d43c8(0x237),'kWnQA':'refresh_token','NStnW':_0x1d43c8(0x216),'TtKKx':function(_0x50d43b,_0x29d6a7){return _0x50d43b===_0x29d6a7;}};if(!_0x40268c||_0x7154f8[_0x1d43c8(0x22d)](typeof _0x40268c,_0x7154f8[_0x1d43c8(0x1e0)]))return _0x40268c;const _0x581b14=[_0x7154f8[_0x1d43c8(0x27b)],_0x7154f8['ufbfD'],_0x7154f8['yeloI'],'token',_0x7154f8[_0x1d43c8(0x203)],'apikey',_0x7154f8[_0x1d43c8(0x207)],'authorization',_0x7154f8['yafDo'],_0x1d43c8(0x255),_0x7154f8[_0x1d43c8(0x271)],_0x1d43c8(0x1df),_0x7154f8[_0x1d43c8(0x248)],_0x7154f8[_0x1d43c8(0x28a)],'privatekey',_0x7154f8['kWnQA'],_0x7154f8[_0x1d43c8(0x290)]],_0x2dcf81=Array[_0x1d43c8(0x27d)](_0x40268c)?[..._0x40268c]:{..._0x40268c};for(const _0x394d8a of Object['keys'](_0x2dcf81)){const _0x1e1819=_0x394d8a[_0x1d43c8(0x1e5)]();if(_0x581b14['some'](_0x2b001f=>_0x1e1819[_0x1d43c8(0x1e1)](_0x2b001f)))_0x2dcf81[_0x394d8a]=_0x1d43c8(0x27f);else _0x7154f8[_0x1d43c8(0x21d)](typeof _0x2dcf81[_0x394d8a],_0x1d43c8(0x258))&&_0x7154f8['FcYPC'](_0x2dcf81[_0x394d8a],null)&&(_0x2dcf81[_0x394d8a]=redactObject(_0x2dcf81[_0x394d8a]));}return _0x2dcf81;},logError=(_0x42885c,_0x10a423={},_0x39f0a0=null)=>{const _0x26cbe2=a0_0x141270,_0x5d5705={'mVfVB':'Error','xwGtH':function(_0x4bddca,_0x12eb0e,_0x438b17){return _0x4bddca(_0x12eb0e,_0x438b17);}},_0x2ff690={'event':'error','errorName':_0x42885c['name']||_0x5d5705[_0x26cbe2(0x287)],'errorMessage':_0x42885c[_0x26cbe2(0x269)],'errorCode':_0x42885c['code']||null,'stack':_0x42885c['stack'],..._0x10a423},_0x1aefd8=_0x39f0a0||'Error:\x20'+_0x42885c['message'];logger['error'](_0x2ff690,_0x1aefd8),_0x5d5705[_0x26cbe2(0x249)](writeToFileLog,{..._0x2ff690,'level':'error','msg':_0x1aefd8,'time':new Date()[_0x26cbe2(0x1e7)]()},_0x26cbe2(0x20c));},logFatalError=(_0x1e90ac,_0x44dc1c={},_0x429180=null)=>{const _0x312e68=a0_0x141270,_0x194514={'CwKqE':_0x312e68(0x200),'nFPXr':'CRITICAL','NPaWj':function(_0x202642,_0x2eaedc,_0x2cb2f8){return _0x202642(_0x2eaedc,_0x2cb2f8);},'NbfKb':'error'},_0x407213={'event':_0x312e68(0x26d),'errorName':_0x1e90ac[_0x312e68(0x24b)]||_0x194514['CwKqE'],'errorMessage':_0x1e90ac[_0x312e68(0x269)],'errorCode':_0x1e90ac['code']||null,'stack':_0x1e90ac[_0x312e68(0x1f7)],'severity':_0x194514[_0x312e68(0x241)],..._0x44dc1c},_0x1777ed=_0x429180||'FATAL:\x20'+_0x1e90ac[_0x312e68(0x269)];logger['fatal'](_0x407213,_0x1777ed),_0x194514['NPaWj'](writeToFileLog,{..._0x407213,'level':'fatal','msg':_0x1777ed,'time':new Date()[_0x312e68(0x1e7)]()},_0x194514['NbfKb']);},logHttpError=(_0x2e5b05,_0x1867e9,_0x2e1a23={})=>{const _0x674050=a0_0x141270,_0x69b842={'KdKTD':'Error','pgdly':_0x674050(0x22e),'azCiz':_0x674050(0x20c),'ovAUv':'warn'},_0x561ff6={'event':'http_error','errorName':_0x2e5b05[_0x674050(0x24b)]||_0x69b842['KdKTD'],'errorMessage':_0x2e5b05[_0x674050(0x269)],'errorCode':_0x2e5b05[_0x674050(0x1de)]||_0x2e5b05[_0x674050(0x1da)]||0x1f4,'stack':_0x2e5b05['stack'],'method':_0x1867e9?.[_0x674050(0x1fa)],'url':_0x1867e9?.[_0x674050(0x1d0)]||_0x1867e9?.[_0x674050(0x1d6)],'path':_0x1867e9?.[_0x674050(0x1f8)],'ip':_0x1867e9?.['ip']||_0x1867e9?.[_0x674050(0x235)]?.['remoteAddress'],'userAgent':_0x1867e9?.['get']?.('user-agent'),'requestId':_0x1867e9?.['id']||_0x1867e9?.['headers']?.[_0x69b842[_0x674050(0x25a)]],'body':_0x1867e9?.['body']?redactObject(_0x1867e9['body']):undefined,'query':_0x1867e9?.[_0x674050(0x213)],..._0x2e1a23},_0x1c475e=_0x2e5b05[_0x674050(0x1da)]||_0x2e5b05[_0x674050(0x262)]||0x1f4,_0x1fe13c=_0x674050(0x1f6)+_0x1c475e+':\x20'+_0x2e5b05[_0x674050(0x269)];_0x1c475e>=0x1f4?logger['error'](_0x561ff6,_0x1fe13c):logger[_0x674050(0x247)](_0x561ff6,_0x1fe13c),writeToFileLog({..._0x561ff6,'level':_0x1c475e>=0x1f4?_0x69b842['azCiz']:_0x69b842[_0x674050(0x211)],'msg':_0x1fe13c,'time':new Date()[_0x674050(0x1e7)]()},_0x1c475e>=0x1f4?_0x69b842['azCiz']:_0x69b842['ovAUv']);},logUncaughtError=(_0x213285,_0x520dc9)=>{const _0x4a59f7=a0_0x141270,_0x540216={'rgrdq':_0x4a59f7(0x200)},_0x662617={'event':_0x213285,'errorName':_0x520dc9?.[_0x4a59f7(0x24b)]||_0x540216['rgrdq'],'errorMessage':_0x520dc9?.['message']||String(_0x520dc9),'errorCode':_0x520dc9?.[_0x4a59f7(0x1de)]||null,'stack':_0x520dc9?.['stack'],'severity':_0x4a59f7(0x217),'processId':process[_0x4a59f7(0x279)],'memoryUsage':process[_0x4a59f7(0x243)](),'uptime':process[_0x4a59f7(0x219)]()},_0x57fe1a='['+_0x213285[_0x4a59f7(0x25e)]()+']\x20'+(_0x520dc9?.[_0x4a59f7(0x269)]||_0x520dc9);logger[_0x4a59f7(0x246)](_0x662617,_0x57fe1a),writeToFileLog({..._0x662617,'level':_0x4a59f7(0x246),'msg':_0x57fe1a,'time':new Date()['toISOString']()},_0x4a59f7(0x20c));},setupGlobalErrorHandlers=()=>{const _0x4ea503=a0_0x141270,_0x54547e={'mLVGl':_0x4ea503(0x1d8),'CIPee':function(_0x40429a,_0x10ea7e,_0x507199){return _0x40429a(_0x10ea7e,_0x507199);},'IcPDu':function(_0x5a54a5,_0x491a47){return _0x5a54a5 instanceof _0x491a47;},'mlsum':function(_0x3c4b09,_0x583e40){return _0x3c4b09(_0x583e40);},'yrHze':_0x4ea503(0x1d3),'zAxsH':'warning','OptTQ':'Global\x20error\x20handlers\x20initialized'};process['on'](_0x4ea503(0x1d8),_0x17f0b5=>{logUncaughtError(_0x54547e['mLVGl'],_0x17f0b5),_0x54547e['CIPee'](setTimeout,()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x54547e['yrHze'],(_0xa1e379,_0x2cd430)=>{const _0x28e5f2=_0x4ea503,_0x2182f4=_0x54547e[_0x28e5f2(0x1f4)](_0xa1e379,Error)?_0xa1e379:new Error(_0x54547e['mlsum'](String,_0xa1e379));logUncaughtError(_0x28e5f2(0x1d3),_0x2182f4);}),process['on'](_0x54547e['zAxsH'],_0x4a128a=>{const _0x19d355=_0x4ea503;logger['warn']({'event':'process_warning','name':_0x4a128a['name'],'message':_0x4a128a[_0x19d355(0x269)],'stack':_0x4a128a[_0x19d355(0x1f7)]},'Process\x20Warning:\x20'+_0x4a128a[_0x19d355(0x269)]);});const _0x31ac2b={'event':'global_error_handlers_setup'},_0x497044=_0x54547e['OptTQ'];logger['info'](_0x31ac2b,_0x497044),writeToFileLog({..._0x31ac2b,'level':_0x4ea503(0x1d4),'msg':_0x497044,'time':new Date()[_0x4ea503(0x1e7)]()},_0x4ea503(0x1d4));},createErrorHandlerMiddleware=()=>{const _0x2b4be3=a0_0x141270,_0xc859={'ueSUs':function(_0x2c5d51,_0x421e53,_0x25a25c){return _0x2c5d51(_0x421e53,_0x25a25c);},'foJgk':function(_0x4ba1cb,_0x436671){return _0x4ba1cb>=_0x436671;},'NOcfQ':_0x2b4be3(0x206),'csaRK':'x-request-id'};return(_0x28642d,_0x59f775,_0x9d673a,_0x23a926)=>{const _0x2bf9f8=_0x2b4be3;_0xc859['ueSUs'](logHttpError,_0x28642d,_0x59f775);const _0x546b31=_0x28642d[_0x2bf9f8(0x1da)]||_0x28642d[_0x2bf9f8(0x262)]||0x1f4;_0x9d673a['status'](_0x546b31)['json']({'success':![],'error':_0xc859[_0x2bf9f8(0x284)](_0x546b31,0x1f4)?_0xc859[_0x2bf9f8(0x242)]:_0x28642d[_0x2bf9f8(0x269)],'requestId':_0x59f775['id']||_0x59f775['headers']?.[_0xc859[_0x2bf9f8(0x233)]]||null});};};module[a0_0x141270(0x282)]={'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
|
|
1
|
+
const a0_0x23c3cd=a0_0x44c4;(function(_0x36b09f,_0x4d631b){const _0x45995b=a0_0x44c4,_0x27df76=_0x36b09f();while(!![]){try{const _0x46a3ff=-parseInt(_0x45995b(0x1db))/0x1+parseInt(_0x45995b(0x1d9))/0x2+parseInt(_0x45995b(0x1e7))/0x3*(-parseInt(_0x45995b(0x1df))/0x4)+-parseInt(_0x45995b(0x1fc))/0x5+-parseInt(_0x45995b(0x1fb))/0x6+parseInt(_0x45995b(0x1dd))/0x7+parseInt(_0x45995b(0x1e0))/0x8*(parseInt(_0x45995b(0x1d2))/0x9);if(_0x46a3ff===_0x4d631b)break;else _0x27df76['push'](_0x27df76['shift']());}catch(_0x1c5aae){_0x27df76['push'](_0x27df76['shift']());}}}(a0_0x25e3,0xee3f4));function a0_0x25e3(){const _0x13ae09=['v0Hcv0W','u0vmrunuia','lI9SB2DNzxi','mtC2nZzutwvquK8','B2HPDMu','Bg9HzeXVB2T1CfrHyMXL','zgvIDwC','z2v0','zM9YrwfJAa','B3jHy2XL','mJC1odCZmfDKuwLmuW','A2v5CW','mtqXmJu1mfnMB1bZrW','iezst00G','odC1otaWoxLrDNLrDG','BxzkEhe','mtzzv2v0uwO','ndmYofrWBLDACa','Bg9VA3vWq2fJAgu','A0HUCgK','lI9KyI1TExnXBa','CMvZB2X2zuXVB2T1CfzHBhvL','reLYAwW','BgvUz3rO','nJyZmtvwqwvpwhy','rKnlz0q','lI9KyG','qKXiB3m','rejFvfLqrq','Bg9VA3vWx3rHyMXLx2XVywrLza','wuX5z1a','ywrK','zNjVBq','wuj2tfm','C2DdzhK','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq','tg9VA3vWihrHyMXLigXVywrLzdOG','Dg9mB3DLCKnHC2u','DhjPBq','ChvZAa','vMfSDwuGiG','C2v0','z2v0rgLZDgLUy3rwywX1zxm','DMfSAwrHDgvmB29RDxbwywX1zxm','mZy1nZG1mLDiyMXbDW','mZaZmZuYmff1rwPmDa','AgfZ','zw50CMLLCW'];a0_0x25e3=function(){return _0x13ae09;};return a0_0x25e3();}const dbType=(process['env'][a0_0x23c3cd(0x1eb)]||'postgresql')[a0_0x23c3cd(0x1f4)]();let executeQuery;if(dbType===a0_0x23c3cd(0x1d8)){const oracleDb=require('./db-oracle');executeQuery=(_0x43adc1,_0x46f547)=>oracleDb['executeQuery'](_0x43adc1,_0x46f547);}else{if(dbType==='mysql'){const mysqlDb=require(a0_0x23c3cd(0x1e3));executeQuery=(_0x23b7de,_0x50b951)=>mysqlDb['executeQuery'](_0x23b7de,_0x50b951);}else executeQuery=require(a0_0x23c3cd(0x1e9))['executeQuery'];}const {logger}=require(a0_0x23c3cd(0x1d1));function a0_0x44c4(_0x32e13a,_0x5a159c){_0x32e13a=_0x32e13a-0x1cd;const _0x25e3a3=a0_0x25e3();let _0x44c48b=_0x25e3a3[_0x32e13a];if(a0_0x44c4['ikDjKR']===undefined){var _0x3b92d3=function(_0x2fdb96){const _0x44b344='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x43d9df='',_0x2f602e='';for(let _0x17706f=0x0,_0x12c8a8,_0x3ab0c1,_0x284a97=0x0;_0x3ab0c1=_0x2fdb96['charAt'](_0x284a97++);~_0x3ab0c1&&(_0x12c8a8=_0x17706f%0x4?_0x12c8a8*0x40+_0x3ab0c1:_0x3ab0c1,_0x17706f++%0x4)?_0x43d9df+=String['fromCharCode'](0xff&_0x12c8a8>>(-0x2*_0x17706f&0x6)):0x0){_0x3ab0c1=_0x44b344['indexOf'](_0x3ab0c1);}for(let _0x292d83=0x0,_0x2096f3=_0x43d9df['length'];_0x292d83<_0x2096f3;_0x292d83++){_0x2f602e+='%'+('00'+_0x43d9df['charCodeAt'](_0x292d83)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2f602e);};a0_0x44c4['AdUggh']=_0x3b92d3,a0_0x44c4['cbOgbR']={},a0_0x44c4['ikDjKR']=!![];}const _0x1835f8=_0x25e3a3[0x0],_0xd04536=_0x32e13a+_0x1835f8,_0x431f42=a0_0x44c4['cbOgbR'][_0xd04536];return!_0x431f42?(_0x44c48b=a0_0x44c4['AdUggh'](_0x44c48b),a0_0x44c4['cbOgbR'][_0xd04536]=_0x44c48b):_0x44c48b=_0x431f42,_0x44c48b;}class LookupResolver{constructor(){this['lookupCache']=new Map();}['clearCache'](){const _0x354260=a0_0x23c3cd,_0x4b5252={'sgCdy':'lookup_cache_cleared'};this['lookupCache']['clear'](),logger[_0x354260(0x1d5)]({'event':_0x4b5252[_0x354260(0x1f1)]},'Lookup\x20cache\x20cleared');}async['loadLookupTable'](_0xc25272,_0x22cd52,_0x5e39f0){const _0x54c884=a0_0x23c3cd,_0x3813bf={'YlPgq':function(_0x164ea6,_0x1f3e41){return _0x164ea6!==_0x1f3e41;},'ohive':function(_0x3d7787,_0x6af9f0){return _0x3d7787(_0x6af9f0);},'BLHos':function(_0x133c97,_0xc0236){return _0x133c97(_0xc0236);},'ZMvPZ':function(_0x145b83,_0x4780c3){return _0x145b83(_0x4780c3);},'KFIyi':'lookup_table_load_error'},_0x33e8f8=_0xc25272+':'+_0x22cd52+':'+_0x5e39f0;if(this['lookupCache']['has'](_0x33e8f8))return this['lookupCache']['get'](_0x33e8f8);try{const _0x3c2bdb=_0x54c884(0x1d0)+_0x5e39f0+',\x20'+_0x22cd52+_0x54c884(0x1dc)+_0xc25272,_0x60ac3b=await _0x3813bf['ZMvPZ'](executeQuery,_0x3c2bdb),_0xc5bbae=new Map();return _0x60ac3b['forEach'](_0x39d05f=>{const _0x44e641=_0x54c884,_0x15e756=_0x39d05f[_0x22cd52]!==undefined?_0x39d05f[_0x22cd52]:_0x39d05f[_0x22cd52['toUpperCase']()],_0x4cae5e=_0x3813bf['YlPgq'](_0x39d05f[_0x5e39f0],undefined)?_0x39d05f[_0x5e39f0]:_0x39d05f[_0x5e39f0['toUpperCase']()];_0x15e756!==null&&_0x3813bf['YlPgq'](_0x15e756,undefined)&&(_0xc5bbae[_0x44e641(0x1f8)](_0x3813bf[_0x44e641(0x1d3)](String,_0x15e756)[_0x44e641(0x1f4)]()['trim'](),_0x4cae5e),_0xc5bbae[_0x44e641(0x1f8)](_0x3813bf[_0x44e641(0x1ea)](String,_0x15e756)['trim'](),_0x4cae5e));}),this[_0x54c884(0x1e1)][_0x54c884(0x1f8)](_0x33e8f8,_0xc5bbae),logger['info']({'event':_0x54c884(0x1ec),'table':_0xc25272,'column':_0x22cd52,'count':_0x60ac3b[_0x54c884(0x1e6)]},_0x54c884(0x1f3)+_0xc25272),_0xc5bbae;}catch(_0x188310){logger['error']({'event':_0x3813bf['KFIyi'],'table':_0xc25272,'error':_0x188310['message']},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0xc25272);throw _0x188310;}}['resolveLookupValue'](_0x34654c,_0x5329bf){const _0xa7caf7=a0_0x23c3cd,_0x582371={'YLygP':function(_0x5f1936,_0x402eee){return _0x5f1936===_0x402eee;}};if(_0x34654c===null||_0x582371[_0xa7caf7(0x1ed)](_0x34654c,undefined)||_0x34654c==='')return null;const _0x1bb49f=String(_0x34654c)['trim']();if(_0x5329bf[_0xa7caf7(0x1cd)](_0x1bb49f))return _0x5329bf[_0xa7caf7(0x1d6)](_0x1bb49f);const _0x5166e0=_0x1bb49f[_0xa7caf7(0x1f4)]();if(_0x5329bf[_0xa7caf7(0x1cd)](_0x5166e0))return _0x5329bf['get'](_0x5166e0);return null;}async['processLookupFields'](_0x4b06c6,_0x56388f){const _0x1a768b=a0_0x23c3cd,_0xa1b6cf={'kHnpi':function(_0x544940,_0x28e514){return _0x544940===_0x28e514;},'FCKgD':function(_0x480d03,_0x3c1b63){return _0x480d03!==_0x3c1b63;},'YBvLS':'lookup_fields_processed','DIril':_0x1a768b(0x1f2)};if(!_0x56388f||Object['keys'](_0x56388f)['length']===0x0)return{'processedRows':_0x4b06c6,'errors':[]};const _0x46634b=[],_0x22fdf8=new Map();for(const [_0x5878bb,_0x47608c]of Object[_0x1a768b(0x1ce)](_0x56388f)){const {lookupTable:_0x33bd7b,lookupColumn:_0x337f50,lookupIdColumn:_0x429c93}=_0x47608c,_0x2ef370=_0x33bd7b+':'+_0x337f50+':'+_0x429c93;if(!_0x22fdf8['has'](_0x2ef370)){const _0x5795cf=await this['loadLookupTable'](_0x33bd7b,_0x337f50,_0x429c93);_0x22fdf8['set'](_0x2ef370,_0x5795cf);}}const _0x56db34=_0x4b06c6['map']((_0x56dfbb,_0x3e5943)=>{const _0x476260=_0x1a768b,_0x4865e5={..._0x56dfbb};for(const [_0x416ece,_0x20cc59]of Object['entries'](_0x56388f)){const {lookupTable:_0x242ae8,lookupColumn:_0x54b5cb,lookupIdColumn:_0x534f26,targetField:_0x480170,required:_0x2bfddc}=_0x20cc59,_0xf63464=_0x242ae8+':'+_0x54b5cb+':'+_0x534f26,_0x531a94=_0x22fdf8['get'](_0xf63464),_0x3b84cb=_0x56dfbb[_0x416ece];if((_0xa1b6cf[_0x476260(0x1e2)](_0x3b84cb,null)||_0x3b84cb===undefined||_0x3b84cb==='')&&!_0x2bfddc){_0x4865e5[_0x480170]=null;continue;}const _0x537c57=this[_0x476260(0x1e4)](_0x3b84cb,_0x531a94);_0xa1b6cf[_0x476260(0x1e8)](_0x537c57,null)?_0x4865e5[_0x480170]=_0x537c57:(_0x2bfddc&&_0x46634b['push']({'rowIndex':_0x3e5943,'field':_0x416ece,'value':_0x3b84cb,'targetField':_0x480170,'lookupTable':_0x242ae8,'message':_0x476260(0x1f7)+_0x3b84cb+'\x22\x20not\x20found\x20in\x20'+_0x242ae8}),_0x4865e5[_0x480170]=null);}return _0x4865e5;});return logger['info']({'event':_0xa1b6cf[_0x1a768b(0x1f0)],'totalRows':_0x4b06c6['length'],'errorCount':_0x46634b['length'],'lookupFieldCount':Object[_0x1a768b(0x1da)](_0x56388f)['length']},_0xa1b6cf[_0x1a768b(0x1e5)]),{'processedRows':_0x56db34,'errors':_0x46634b};}[a0_0x23c3cd(0x1f9)](_0x8f9a3f,_0x53b560){const _0x591bb7=a0_0x23c3cd,_0x25d271={'WHBWL':function(_0x574aa4,_0x3a5359){return _0x574aa4!==_0x3a5359;}},_0x2730ba=new Set();return _0x8f9a3f['forEach'](_0x3f0a42=>{const _0x2dc13a=a0_0x44c4,_0x36a282=_0x3f0a42[_0x53b560];_0x36a282!==null&&_0x25d271[_0x2dc13a(0x1cf)](_0x36a282,undefined)&&_0x36a282!==''&&_0x2730ba[_0x2dc13a(0x1ee)](String(_0x36a282)[_0x2dc13a(0x1f5)]());}),Array[_0x591bb7(0x1ef)](_0x2730ba);}async[a0_0x23c3cd(0x1fa)](_0x53bf3d,_0x538a83){const _0x103b4f=a0_0x23c3cd,_0x5dfa4c={'mvJxq':function(_0x254207,_0x55689d){return _0x254207===_0x55689d;}};if(!_0x538a83||Object[_0x103b4f(0x1da)](_0x538a83)[_0x103b4f(0x1e6)]===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x2e220e=[],_0x5c0d66={};for(const [_0x2109f8,_0x2f5139]of Object['entries'](_0x538a83)){const {lookupTable:_0x461b0e,lookupColumn:_0x3f1e2d,lookupIdColumn:_0x263ac0,required:_0xc33d90}=_0x2f5139,_0xcdb533=this['getDistinctValues'](_0x53bf3d,_0x2109f8),_0x3fc650=await this[_0x103b4f(0x1d4)](_0x461b0e,_0x3f1e2d,_0x263ac0),_0xcce8b4=[],_0x528d39=[];_0xcdb533[_0x103b4f(0x1d7)](_0x40d247=>{const _0x4ba1bd=_0x103b4f,_0x36d874=this['resolveLookupValue'](_0x40d247,_0x3fc650);_0x36d874!==null?_0x528d39[_0x4ba1bd(0x1f6)](_0x40d247):_0xcce8b4['push'](_0x40d247);});if(_0xcce8b4[_0x103b4f(0x1e6)]>0x0&&_0xc33d90){_0x2e220e['push']({'field':_0x2109f8,'lookupTable':_0x461b0e,'invalidValues':_0xcce8b4,'message':_0xcce8b4[_0x103b4f(0x1e6)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0x461b0e});const _0x22d9ce=[];_0x3fc650[_0x103b4f(0x1d7)]((_0x1ae912,_0x363f9b)=>{const _0x389bc4=_0x103b4f;if(_0x5dfa4c['mvJxq'](_0x363f9b,_0x363f9b['toLowerCase']()))return;_0x22d9ce[_0x389bc4(0x1f6)](_0x363f9b);}),_0x5c0d66[_0x2109f8]={'invalidValues':_0xcce8b4,'availableValues':_0x22d9ce['slice'](0x0,0x32)};}}return{'valid':_0x5dfa4c[_0x103b4f(0x1de)](_0x2e220e[_0x103b4f(0x1e6)],0x0),'errors':_0x2e220e,'suggestions':_0x5c0d66};}}module['exports']=new LookupResolver();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a0_0x363f(_0x34866c,_0x38f23e){_0x34866c=_0x34866c-0xcf;const _0x3b6fcd=a0_0x3b6f();let _0x363fc9=_0x3b6fcd[_0x34866c];if(a0_0x363f['rSFdnl']===undefined){var _0x3a7986=function(_0x5aaa60){const _0x597bde='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5098b7='',_0x18d43b='';for(let _0x6a3c60=0x0,_0x48462b,_0x51e93a,_0x107252=0x0;_0x51e93a=_0x5aaa60['charAt'](_0x107252++);~_0x51e93a&&(_0x48462b=_0x6a3c60%0x4?_0x48462b*0x40+_0x51e93a:_0x51e93a,_0x6a3c60++%0x4)?_0x5098b7+=String['fromCharCode'](0xff&_0x48462b>>(-0x2*_0x6a3c60&0x6)):0x0){_0x51e93a=_0x597bde['indexOf'](_0x51e93a);}for(let _0x49c24c=0x0,_0x504f90=_0x5098b7['length'];_0x49c24c<_0x504f90;_0x49c24c++){_0x18d43b+='%'+('00'+_0x5098b7['charCodeAt'](_0x49c24c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x18d43b);};a0_0x363f['FmWbsL']=_0x3a7986,a0_0x363f['VjFOEo']={},a0_0x363f['rSFdnl']=!![];}const _0x42696a=_0x3b6fcd[0x0],_0x225b37=_0x34866c+_0x42696a,_0xac4d24=a0_0x363f['VjFOEo'][_0x225b37];return!_0xac4d24?(_0x363fc9=a0_0x363f['FmWbsL'](_0x363fc9),a0_0x363f['VjFOEo'][_0x225b37]=_0x363fc9):_0x363fc9=_0xac4d24,_0x363fc9;}const a0_0x4cdc29=a0_0x363f;function a0_0x3b6f(){const _0x1d681f=['mty2mJi0odvvyvfiBNu','nda2ntKYBwzOB1rT','rKzrCxO','y2XLyxi','AvDntfy','CgfYC2u','Cgf0Aa','y2fJAgu','BwvZC2fNzq','y29SDw1UrM9YBwf0CW','mZG0nJC3mhn2Bw1trG','C2v0','ntzjDuLrB2y','z2v0rxHWB3j0q29UzMLN','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','nJaYofnVuxLLEa','lI4VlI4VCgf5Bg9Hza','sMLcuKG','Cgf5Bg9Hzf9SB2fKzwq','DgfIBgvoyw1L','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','CMvHzezPBgu','zxjYB3i','zxHWB3j0CW','lMPZB24','BeDPv2e','mJvOz0jOEKy','odu3mde2D3PervL6','zgvIDwC','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','mZq0n01JC0jSEG','DxrMoa','ugf5Bg9HzcbUB3qGzM91BMq6ia','zMLLBgroyw1L','AM9PBG','otaZnZiYnhD4wfr2Eq','ywn0Aw9U','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','Bg9HzfbHEwXVywrcEu5HBwu','ueHcCNq','y2XLyxjdywnOzq','Cgf5Bg9HzerPCG','Aw5MBW','ng5WvgrTsa','nZi5oty2q3vhz09p'];a0_0x3b6f=function(){return _0x1d681f;};return a0_0x3b6f();}(function(_0x8b934d,_0x44f2bf){const _0x11dbef=a0_0x363f,_0xfa717f=_0x8b934d();while(!![]){try{const _0x44c54f=-parseInt(_0x11dbef(0xd5))/0x1*(-parseInt(_0x11dbef(0xd8))/0x2)+-parseInt(_0x11dbef(0xf5))/0x3*(parseInt(_0x11dbef(0xe6))/0x4)+-parseInt(_0x11dbef(0xf1))/0x5*(-parseInt(_0x11dbef(0xd6))/0x6)+-parseInt(_0x11dbef(0xe3))/0x7*(parseInt(_0x11dbef(0xf2))/0x8)+parseInt(_0x11dbef(0xfa))/0x9+-parseInt(_0x11dbef(0xe1))/0xa+parseInt(_0x11dbef(0xd7))/0xb;if(_0x44c54f===_0x44f2bf)break;else _0xfa717f['push'](_0xfa717f['shift']());}catch(_0x755042){_0xfa717f['push'](_0xfa717f['shift']());}}}(a0_0x3b6f,0xeb3c4));const fs=require('fs')['promises'],path=require(a0_0x4cdc29(0xdd)),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x315536=a0_0x4cdc29,_0x40aa00={'ohTbG':_0x315536(0xe7)};this[_0x315536(0xd3)]=path[_0x315536(0xf9)](__dirname,_0x40aa00['ohTbG']),this['cache']=new Map();}async['loadPayload'](_0x5ab846,_0x431668){const _0x2cd337=a0_0x4cdc29,_0x2b63f5={'iWMLV':'utf8','JiBRH':_0x2cd337(0xeb)},_0x1169b8=_0x5ab846+':'+_0x431668;if(this['cache']['has'](_0x1169b8))return this[_0x2cd337(0xde)]['get'](_0x1169b8);const _0x140b4b=path['join'](this['payloadDir'],_0x5ab846+'_'+_0x431668+_0x2cd337(0xef));try{const _0x3d2206=await fs[_0x2cd337(0xec)](_0x140b4b,_0x2b63f5[_0x2cd337(0xdb)]),_0x546ed8=JSON[_0x2cd337(0xdc)](_0x3d2206);return this[_0x2cd337(0xde)]['set'](_0x1169b8,_0x546ed8),logger['debug']({'event':'payload_loaded','project':_0x5ab846,'resource':_0x431668},_0x2cd337(0xe5)),_0x546ed8;}catch(_0x314a5a){logger[_0x2cd337(0xed)]({'event':_0x2cd337(0xcf),'project':_0x5ab846,'resource':_0x431668,'error':_0x314a5a[_0x2cd337(0xdf)]},_0x2b63f5[_0x2cd337(0xe8)]);throw new Error(_0x2cd337(0xf7)+_0x5ab846+'_'+_0x431668);}}async[a0_0x4cdc29(0xd0)](_0x1dcb0d){const _0x477642=a0_0x4cdc29,_0x4d60b5={'VAcnO':_0x477642(0xe9),'lGiWa':'Payload\x20loaded\x20successfully\x20by\x20name','FFQqz':'payload_load_error','PHBrt':'Failed\x20to\x20load\x20payload\x20by\x20name'},_0x2c5e0d='payload:'+_0x1dcb0d;if(this[_0x477642(0xde)]['has'](_0x2c5e0d))return this[_0x477642(0xde)]['get'](_0x2c5e0d);const _0x1ecede=path['join'](this['payloadDir'],_0x1dcb0d+_0x477642(0xef));try{const _0x4b3b6d=await fs['readFile'](_0x1ecede,_0x477642(0xf6)),_0x2cd3d3=JSON[_0x477642(0xdc)](_0x4b3b6d);return this[_0x477642(0xde)][_0x477642(0xe2)](_0x2c5e0d,_0x2cd3d3),logger[_0x477642(0xf3)]({'event':_0x4d60b5['VAcnO'],'payloadName':_0x1dcb0d},_0x4d60b5[_0x477642(0xf0)]),_0x2cd3d3;}catch(_0x339054){logger['error']({'event':_0x4d60b5[_0x477642(0xd9)],'payloadName':_0x1dcb0d,'error':_0x339054['message']},_0x4d60b5[_0x477642(0xd1)]);throw new Error(_0x477642(0xf7)+_0x1dcb0d);}}['isActionEnabled'](_0x4df0fa,_0x13f23b){const _0x1aad57=a0_0x4cdc29,_0x576407={'MGZQB':function(_0x9411cf,_0x2059a4){return _0x9411cf===_0x2059a4;}};return _0x4df0fa['action']&&_0x576407['MGZQB'](_0x4df0fa[_0x1aad57(0xfb)][_0x13f23b],!![]);}[a0_0x4cdc29(0xe4)](_0x579692){const _0x5bf8bc=a0_0x4cdc29;return{'columns':_0x579692[_0x5bf8bc(0xf8)]||[],'filename':_0x579692[_0x5bf8bc(0xea)]['replace']('.','-')+'-export','datatablesQuery':_0x579692['datatablesQuery']||null,'columnFormats':_0x579692[_0x5bf8bc(0xe0)]||null,'fieldLabels':_0x579692['fieldLabels']||null};}[a0_0x4cdc29(0xd2)](){const _0x5541c5=a0_0x4cdc29;this['cache'][_0x5541c5(0xda)](),logger[_0x5541c5(0xd4)]({'event':'payload_cache_cleared'},_0x5541c5(0xf4));}}module[a0_0x4cdc29(0xee)]=new PayloadLoader();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';(function(_0x2f8e18,_0x13b5fc){var _0x1a352b=a0_0x4da4,_0x1fa88d=_0x2f8e18();while(!![]){try{var _0x2da337=parseInt(_0x1a352b(0x1f4))/0x1+-parseInt(_0x1a352b(0x1f7))/0x2*(parseInt(_0x1a352b(0x1f6))/0x3)+-parseInt(_0x1a352b(0x1f5))/0x4*(-parseInt(_0x1a352b(0x1f8))/0x5)+parseInt(_0x1a352b(0x1fb))/0x6+-parseInt(_0x1a352b(0x1fa))/0x7*(parseInt(_0x1a352b(0x1f9))/0x8)+parseInt(_0x1a352b(0x1f3))/0x9+-parseInt(_0x1a352b(0x1f2))/0xa;if(_0x2da337===_0x13b5fc)break;else _0x1fa88d['push'](_0x1fa88d['shift']());}catch(_0x4fc2cc){_0x1fa88d['push'](_0x1fa88d['shift']());}}}(a0_0x5a5d,0x3096a));function createResponse(_0x5893e8,_0x4903be,_0x367cda=null){return{'success':!![],'statusCode':_0x5893e8,'message':_0x4903be,'data':_0x367cda,'timestamp':new Date()['toISOString']()};}function a0_0x4da4(_0x26b274,_0x1dca15){_0x26b274=_0x26b274-0x1f2;var _0x5a5d7d=a0_0x5a5d();var _0x4da4d2=_0x5a5d7d[_0x26b274];if(a0_0x4da4['CavTXF']===undefined){var _0x19fbbd=function(_0x25a311){var _0x5cc496='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x3c14af='',_0x244971='';for(var _0x45a067=0x0,_0x1efcf3,_0x2c97ca,_0x4927bd=0x0;_0x2c97ca=_0x25a311['charAt'](_0x4927bd++);~_0x2c97ca&&(_0x1efcf3=_0x45a067%0x4?_0x1efcf3*0x40+_0x2c97ca:_0x2c97ca,_0x45a067++%0x4)?_0x3c14af+=String['fromCharCode'](0xff&_0x1efcf3>>(-0x2*_0x45a067&0x6)):0x0){_0x2c97ca=_0x5cc496['indexOf'](_0x2c97ca);}for(var _0x56bdf5=0x0,_0xf3667=_0x3c14af['length'];_0x56bdf5<_0xf3667;_0x56bdf5++){_0x244971+='%'+('00'+_0x3c14af['charCodeAt'](_0x56bdf5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x244971);};a0_0x4da4['dpHXZP']=_0x19fbbd,a0_0x4da4['uFxvfB']={},a0_0x4da4['CavTXF']=!![];}var _0x1d42d7=_0x5a5d7d[0x0],_0x4f43a1=_0x26b274+_0x1d42d7,_0x1a0ee4=a0_0x4da4['uFxvfB'][_0x4f43a1];return!_0x1a0ee4?(_0x4da4d2=a0_0x4da4['dpHXZP'](_0x4da4d2),a0_0x4da4['uFxvfB'][_0x4f43a1]=_0x4da4d2):_0x4da4d2=_0x1a0ee4,_0x4da4d2;}function createError(_0x11d9d0,_0x299c28,_0x225509=null){var _0x48f389=a0_0x4da4;return{'success':![],'statusCode':_0x11d9d0,'message':_0x299c28,'data':_0x225509,'timestamp':new Date()[_0x48f389(0x1fc)]()};}function createValidationError(_0x1d1095,_0x4fd9a5){var _0x2f5b8b=a0_0x4da4;return{'success':![],'statusCode':0x190,'message':_0x1d1095,'data':{'errors':_0x4fd9a5},'timestamp':new Date()[_0x2f5b8b(0x1fc)]()};}function a0_0x5a5d(){var _0x307fdc=['mtCXmte0nhzNy0Lezq','n2nVseHJDq','odq2mJe2AKP4C2nV','Dg9ju09tDhjPBMC','mtGYodeWmeXMqKvqsq','mtqZmda3m2XJyw5hBW','mtG4ndG1EMnXwMvU','mtC2vLnlz2zv','odiZmtKXzvnwDwfc','mMrSv2rdua','ndmZnZvmug5Ss3q'];a0_0x5a5d=function(){return _0x307fdc;};return a0_0x5a5d();}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
|
package/src/utils/rabbitmq.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x5ad5bc=a0_0x3bdf;(function(_0x3bb938,_0x42a99f){const _0x28a5a9=a0_0x3bdf,_0x2c7b96=_0x3bb938();while(!![]){try{const _0x1d67a7=-parseInt(_0x28a5a9(0x1e7))/0x1*(parseInt(_0x28a5a9(0x1e4))/0x2)+parseInt(_0x28a5a9(0x201))/0x3+parseInt(_0x28a5a9(0x1f8))/0x4+-parseInt(_0x28a5a9(0x1ef))/0x5+-parseInt(_0x28a5a9(0x1f9))/0x6+-parseInt(_0x28a5a9(0x1f3))/0x7*(parseInt(_0x28a5a9(0x1f4))/0x8)+parseInt(_0x28a5a9(0x1e5))/0x9*(parseInt(_0x28a5a9(0x1fd))/0xa);if(_0x1d67a7===_0x42a99f)break;else _0x2c7b96['push'](_0x2c7b96['shift']());}catch(_0x52e8ad){_0x2c7b96['push'](_0x2c7b96['shift']());}}}(a0_0x169b,0x2c1c6),require(a0_0x5ad5bc(0x1ed))['config']());const amqp=require('amqplib'),{formatDate}=require(a0_0x5ad5bc(0x1eb)),RABBITMQ_URL=process['env']['RABBITMQ_URL'],EXCHANGE=process[a0_0x5ad5bc(0x1dc)][a0_0x5ad5bc(0x205)],ROUTING_KEY=process[a0_0x5ad5bc(0x1dc)][a0_0x5ad5bc(0x200)],QUEUE=process[a0_0x5ad5bc(0x1dc)]['RABBITMQ_QUEUE'];async function createConnection(){const _0x265785=a0_0x5ad5bc,_0x530f15={'zGhNb':function(_0x4ab602,_0x5159fa){return _0x4ab602(_0x5159fa);},'XMVHt':function(_0x50d0e8,_0x51b93c){return _0x50d0e8(_0x51b93c);}};try{const _0x26cf6b=await amqp['connect'](RABBITMQ_URL);return console['log']('['+_0x530f15['zGhNb'](formatDate,new Date())+_0x265785(0x1e8)),_0x26cf6b;}catch(_0x4141e3){console[_0x265785(0x202)]('['+_0x530f15['XMVHt'](formatDate,new Date())+_0x265785(0x1e2)+_0x4141e3['message']);throw _0x4141e3;}}async function createChannel(_0x58e613){const _0x630e9=a0_0x5ad5bc;try{const _0x59e79c=await _0x58e613['createChannel']();return console[_0x630e9(0x1ee)]('['+formatDate(new Date())+_0x630e9(0x1f0)),_0x59e79c;}catch(_0x342bd7){console['error']('['+formatDate(new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x342bd7[_0x630e9(0x1de)]);throw _0x342bd7;}}function a0_0x3bdf(_0x1a8e74,_0x32dc73){_0x1a8e74=_0x1a8e74-0x1db;const _0x169b6f=a0_0x169b();let _0x3bdfc8=_0x169b6f[_0x1a8e74];if(a0_0x3bdf['DnNZdm']===undefined){var _0x4412f8=function(_0x2eda00){const _0x330900='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4c5f3d='',_0x106f6f='';for(let _0x3aac77=0x0,_0x438c4c,_0x27e1d3,_0x400033=0x0;_0x27e1d3=_0x2eda00['charAt'](_0x400033++);~_0x27e1d3&&(_0x438c4c=_0x3aac77%0x4?_0x438c4c*0x40+_0x27e1d3:_0x27e1d3,_0x3aac77++%0x4)?_0x4c5f3d+=String['fromCharCode'](0xff&_0x438c4c>>(-0x2*_0x3aac77&0x6)):0x0){_0x27e1d3=_0x330900['indexOf'](_0x27e1d3);}for(let _0x482e05=0x0,_0x83f757=_0x4c5f3d['length'];_0x482e05<_0x83f757;_0x482e05++){_0x106f6f+='%'+('00'+_0x4c5f3d['charCodeAt'](_0x482e05)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x106f6f);};a0_0x3bdf['wnGLnZ']=_0x4412f8,a0_0x3bdf['AuFcZI']={},a0_0x3bdf['DnNZdm']=!![];}const _0xe93d8a=_0x169b6f[0x0],_0x522f6d=_0x1a8e74+_0xe93d8a,_0xf5f1e7=a0_0x3bdf['AuFcZI'][_0x522f6d];return!_0xf5f1e7?(_0x3bdfc8=a0_0x3bdf['wnGLnZ'](_0x3bdfc8),a0_0x3bdf['AuFcZI'][_0x522f6d]=_0x3bdfc8):_0x3bdfc8=_0xf5f1e7,_0x3bdfc8;}async function setupInfrastructure(_0x4fb2f1){const _0x29ebb3=a0_0x5ad5bc,_0x3e33eb={'wXAKe':function(_0x1ad7a1,_0x466d41){return _0x1ad7a1(_0x466d41);},'TRaYo':function(_0x5df839,_0x272dc6){return _0x5df839(_0x272dc6);},'QNQOF':function(_0x55ef04,_0x193e92){return _0x55ef04(_0x193e92);},'RHuVV':function(_0x2e594f,_0x4bdb76){return _0x2e594f(_0x4bdb76);},'ANeOo':'retry-exchange','eEcNl':_0x29ebb3(0x1e0),'iEDQY':'x-dead-letter-routing-key','JXJOG':'inequivalent\x20arg'};try{await _0x4fb2f1['assertExchange'](_0x29ebb3(0x1f2),_0x29ebb3(0x1f1),{'durable':!![],'autoDelete':![]}),console[_0x29ebb3(0x1ee)]('['+_0x3e33eb['wXAKe'](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x2895a0){console['error']('['+_0x3e33eb['TRaYo'](formatDate,new Date())+_0x29ebb3(0x203),_0x2895a0['message']);throw _0x2895a0;}try{await _0x4fb2f1['assertExchange'](EXCHANGE,_0x29ebb3(0x1f1),{'durable':!![],'autoDelete':![]}),console[_0x29ebb3(0x1ee)]('['+_0x3e33eb[_0x29ebb3(0x1db)](formatDate,new Date())+']\x20Exchange\x20'+EXCHANGE+_0x29ebb3(0x1ff));}catch(_0x5582dc){console[_0x29ebb3(0x202)]('['+_0x3e33eb['QNQOF'](formatDate,new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x5582dc[_0x29ebb3(0x1de)]);throw _0x5582dc;}const _0x512c8b=ROUTING_KEY+_0x29ebb3(0x1f7);try{const _0x260872={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x4fb2f1[_0x29ebb3(0x204)](_0x512c8b,_0x260872),console[_0x29ebb3(0x1ee)]('['+_0x3e33eb['RHuVV'](formatDate,new Date())+_0x29ebb3(0x1fe)+_0x512c8b+'\x20created/ready'),await _0x4fb2f1[_0x29ebb3(0x1dd)](_0x512c8b,'retry-exchange',ROUTING_KEY),console[_0x29ebb3(0x1ee)]('['+formatDate(new Date())+_0x29ebb3(0x1e3)+ROUTING_KEY+'\x20created');}catch(_0x29b0c1){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x29b0c1['message']);throw _0x29b0c1;}try{const _0x2b34e4={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x3e33eb['ANeOo'],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x20776e=await _0x4fb2f1['assertQueue'](QUEUE,_0x2b34e4);console['log']('['+_0x3e33eb['RHuVV'](formatDate,new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x20776e['queue']===QUEUE?_0x3e33eb['eEcNl']:'found')+'\x20with\x20DLX'),await _0x4fb2f1['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x29ebb3(0x1ee)]('['+_0x3e33eb['TRaYo'](formatDate,new Date())+']\x20Binding\x20'+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+_0x29ebb3(0x1ea));}catch(_0x3c7de0){if(_0x3c7de0['message']['includes'](_0x29ebb3(0x1ec))&&_0x3c7de0['message'][_0x29ebb3(0x1fc)](_0x3e33eb['iEDQY']))console['error']('\x0a['+_0x3e33eb[_0x29ebb3(0x1e1)](formatDate,new Date())+_0x29ebb3(0x1e6)+QUEUE+_0x29ebb3(0x1f5)),console['error'](_0x29ebb3(0x1fa)+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[_0x29ebb3(0x202)]('['+formatDate(new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x3c7de0['message']);throw _0x3c7de0;}}}catch(_0x16e126){if(!_0x16e126[_0x29ebb3(0x1de)]['includes'](_0x3e33eb[_0x29ebb3(0x1f6)])){console['error']('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x16e126[_0x29ebb3(0x1de)]);throw _0x16e126;}process[_0x29ebb3(0x1fb)](0x1);}}async function closeConnection(_0x2fbf2f){const _0x4b1998=a0_0x5ad5bc,_0x1544c3={'vTWuX':function(_0x5f3360,_0x38cadc){return _0x5f3360(_0x38cadc);}};if(_0x2fbf2f)try{await _0x2fbf2f[_0x4b1998(0x1df)](),console[_0x4b1998(0x1ee)]('['+_0x1544c3['vTWuX'](formatDate,new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x40a891){console['error']('['+formatDate(new Date())+_0x4b1998(0x1e9)+_0x40a891['message']);}}module['exports']={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};function a0_0x169b(){const _0x15e30d=['zgLYzwn0','CMv0CNKTzxHJAgfUz2u','ntqYotLUAuvvyKm','mty4BLzqvND1','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','sLHkt0C','x3jLDhj5','mZi2mZm2wuXKB21c','mtuXmdeWneXOELDkzW','uxvLDwuG','zxHPDa','Aw5JBhvKzxm','mtiXmgTKDgjLra','xsbszxrYEsbXDwv1zsa','ignYzwf0zwqVCMvHzhK','uKfcqKLutvfFuK9vveLor19lrvK','otG0nty3sxPrqwHV','zxjYB3i','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','yxnZzxj0uxvLDwu','uKfcqKLutvfFrvHdsefor0u','D1Hbs2u','zw52','yMLUzff1zxvL','BwvZC2fNzq','y2XVC2u','y3jLyxrLzc9YzwfKEq','uu5rt0y','xsbgywLSzwqGDg8Gy29UBMvJDcb0BYbsywjIAxrnutOG','xsbszxrYEsbIAw5KAw5NigzVCIa','mLrVrMLjra','ntK2ndnHBKrvy28','xsbfuLjpuJOGuxvLDwuG','mJG3mZuXyuXeqwze','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','ksbJCMvHDgvK','lI9KyxrLsgvSCgvY','Aw5LCxvPDMfSzw50igfYzW','zg90zw52','Bg9N','mty0nte1mhrtyuXnwq','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5'];a0_0x169b=function(){return _0x15e30d;};return a0_0x169b();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a0_0x25b3(){const _0x4370fa=['rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','otGYntKWm1LoEhHmDq','y2XVC2u','zxjYB3i','CMvKAxnFAw5PDf9LCNjVCG','AxndB25Uzwn0zwq','rLjAExG','uMvKAxmGueLorYb0Aw1LB3v0','nKjwv3vNEq','y29UBMvJDa','z2v0q2XPzw50','zxHWB3j0CW','y2XPzw50','uKvesvnFueftu1DpuKq','m09eqxrQyG','y1zNvMi','mJu4nZq1ntbvvhr1Dhy','mZe0nJC0tgT1D1Dm','CMvKAxnFzgLZy29UBMvJDgvK','BwvZC2fNzq','uKvesvnFrei','uKvesvnFue9sva','lI9SB2DNzxi','ody3odC0ugTvvMfJ','tKjUsuO','nJy0nZe2mhHMr250zG','CgLUzW','nufvwu5TsW','CMfJzq','mtaZntKZn0jIwwnzza','mJKWndiXmKTeCfjzrG'];a0_0x25b3=function(){return _0x4370fa;};return a0_0x25b3();}const a0_0x15f1cb=a0_0x4fdc;function a0_0x4fdc(_0x2eef4f,_0xaacd2e){_0x2eef4f=_0x2eef4f-0x1ea;const _0x25b3a9=a0_0x25b3();let _0x4fdcb7=_0x25b3a9[_0x2eef4f];if(a0_0x4fdc['YJSioE']===undefined){var _0x1ca4e9=function(_0x1c248b){const _0x5f37b0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4efcf4='',_0x217864='';for(let _0xd8ff75=0x0,_0x104613,_0x481463,_0xeadc3a=0x0;_0x481463=_0x1c248b['charAt'](_0xeadc3a++);~_0x481463&&(_0x104613=_0xd8ff75%0x4?_0x104613*0x40+_0x481463:_0x481463,_0xd8ff75++%0x4)?_0x4efcf4+=String['fromCharCode'](0xff&_0x104613>>(-0x2*_0xd8ff75&0x6)):0x0){_0x481463=_0x5f37b0['indexOf'](_0x481463);}for(let _0x473bfd=0x0,_0x360c78=_0x4efcf4['length'];_0x473bfd<_0x360c78;_0x473bfd++){_0x217864+='%'+('00'+_0x4efcf4['charCodeAt'](_0x473bfd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x217864);};a0_0x4fdc['nkBjei']=_0x1ca4e9,a0_0x4fdc['IMRyyA']={},a0_0x4fdc['YJSioE']=!![];}const _0x18a731=_0x25b3a9[0x0],_0xa4de9=_0x2eef4f+_0x18a731,_0x9d2656=a0_0x4fdc['IMRyyA'][_0xa4de9];return!_0x9d2656?(_0x4fdcb7=a0_0x4fdc['nkBjei'](_0x4fdcb7),a0_0x4fdc['IMRyyA'][_0xa4de9]=_0x4fdcb7):_0x4fdcb7=_0x9d2656,_0x4fdcb7;}(function(_0x52aefe,_0x1b06eb){const _0x4b7e5c=a0_0x4fdc,_0x37e538=_0x52aefe();while(!![]){try{const _0x403dc3=-parseInt(_0x4b7e5c(0x204))/0x1+parseInt(_0x4b7e5c(0x1f8))/0x2*(parseInt(_0x4b7e5c(0x1f5))/0x3)+-parseInt(_0x4b7e5c(0x205))/0x4*(parseInt(_0x4b7e5c(0x202))/0x5)+-parseInt(_0x4b7e5c(0x1ef))/0x6*(parseInt(_0x4b7e5c(0x1fe))/0x7)+parseInt(_0x4b7e5c(0x200))/0x8+-parseInt(_0x4b7e5c(0x207))/0x9+parseInt(_0x4b7e5c(0x1f7))/0xa;if(_0x403dc3===_0x1b06eb)break;else _0x37e538['push'](_0x37e538['shift']());}catch(_0x2e2065){_0x37e538['push'](_0x37e538['shift']());}}}(a0_0x25b3,0x91fbc));const Redis=require('ioredis'),{logger}=require(a0_0x15f1cb(0x1fd));class RedisClient{constructor(){const _0x16a711=a0_0x15f1cb;this[_0x16a711(0x1f3)]=null,this['isConnected']=![];}['connect'](){const _0x1853e8=a0_0x15f1cb,_0x1baffb={'FRZyx':'Redis\x20connected\x20successfully','cVgVb':'redis_error','TWvJi':_0x1853e8(0x1f9),'ssTgV':function(_0x542c03,_0xa5cb65,_0x556568){return _0x542c03(_0xa5cb65,_0x556568);},'zRgWM':function(_0x3491be,_0x287b4c,_0x3fee5f){return _0x3491be(_0x287b4c,_0x3fee5f);},'hgHuN':_0x1853e8(0x208),'NBnIJ':_0x1853e8(0x1eb),'uvaLF':_0x1853e8(0x206)};if(this[_0x1853e8(0x1f3)])return this['client'];try{return this[_0x1853e8(0x1f3)]=new Redis({'host':process['env']['REDIS_HOST']||'localhost','port':_0x1baffb['ssTgV'](parseInt,process['env'][_0x1853e8(0x1fc)],0xa)||0x18ec,'password':process['env'][_0x1853e8(0x1f4)]||undefined,'db':_0x1baffb['zRgWM'](parseInt,process['env'][_0x1853e8(0x1fb)],0xa)||0x0,'retryStrategy'(_0x15c56d){const _0xfd8fb2=Math['min'](_0x15c56d*0x32,0x7d0);return _0xfd8fb2;}}),this[_0x1853e8(0x1f3)]['on']('connect',()=>{const _0x4f753a=_0x1853e8;this['isConnected']=!![],logger['info']({'event':'redis_connected'},_0x1baffb[_0x4f753a(0x1ed)]);}),this[_0x1853e8(0x1f3)]['on'](_0x1853e8(0x1ea),_0x532479=>{const _0x33a9ec=_0x1853e8;this[_0x33a9ec(0x1ec)]=![],logger[_0x33a9ec(0x1ea)]({'event':_0x1baffb[_0x33a9ec(0x1f6)],'error':_0x532479['message']},'Redis\x20connection\x20error:\x20'+_0x532479['message']);}),this[_0x1853e8(0x1f3)]['on'](_0x1baffb['hgHuN'],()=>{this['isConnected']=![],logger['warn']({'event':_0x1baffb['TWvJi']},'Redis\x20connection\x20closed');}),this[_0x1853e8(0x1f3)];}catch(_0x18bd30){logger[_0x1853e8(0x1ea)]({'event':_0x1baffb[_0x1853e8(0x1ff)],'error':_0x18bd30[_0x1853e8(0x1fa)]},_0x1baffb['uvaLF']);throw _0x18bd30;}}[a0_0x15f1cb(0x1f1)](){const _0x18f196=a0_0x15f1cb;return!this[_0x18f196(0x1f3)]&&this[_0x18f196(0x1f0)](),this[_0x18f196(0x1f3)];}async[a0_0x15f1cb(0x201)](_0x24a6ff=0x1388){const _0x523d98=a0_0x15f1cb,_0x501508={'SgmXm':'PONG'};try{const _0x54b119=this['getClient'](),_0x48e711=await Promise[_0x523d98(0x203)]([_0x54b119[_0x523d98(0x201)](),new Promise((_0x114dde,_0x5652bd)=>setTimeout(()=>_0x5652bd(new Error(_0x523d98(0x1ee))),_0x24a6ff))]);return _0x48e711===_0x501508['SgmXm'];}catch(_0x532059){return![];}}async['disconnect'](){const _0xb798b7=a0_0x15f1cb;this[_0xb798b7(0x1f3)]&&(await this[_0xb798b7(0x1f3)]['quit'](),this[_0xb798b7(0x1f3)]=null,this['isConnected']=![]);}['forceDisconnect'](){const _0x808e6e=a0_0x15f1cb;this[_0x808e6e(0x1f3)]&&(this[_0x808e6e(0x1f3)]['disconnect'](),this['client']=null,this[_0x808e6e(0x1ec)]=![]);}}module[a0_0x15f1cb(0x1f2)]=new RedisClient();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a0_0x5abe(_0x193bd0,_0xe866b3){_0x193bd0=_0x193bd0-0x1b2;const _0x2f3610=a0_0x2f36();let _0x5abe77=_0x2f3610[_0x193bd0];if(a0_0x5abe['UDWkLg']===undefined){var _0xa55829=function(_0x4f014b){const _0x55b8dd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2c2c10='',_0x642cc6='';for(let _0x47ed04=0x0,_0xc504d2,_0xc83849,_0x1270a3=0x0;_0xc83849=_0x4f014b['charAt'](_0x1270a3++);~_0xc83849&&(_0xc504d2=_0x47ed04%0x4?_0xc504d2*0x40+_0xc83849:_0xc83849,_0x47ed04++%0x4)?_0x2c2c10+=String['fromCharCode'](0xff&_0xc504d2>>(-0x2*_0x47ed04&0x6)):0x0){_0xc83849=_0x55b8dd['indexOf'](_0xc83849);}for(let _0x4f3849=0x0,_0x245252=_0x2c2c10['length'];_0x4f3849<_0x245252;_0x4f3849++){_0x642cc6+='%'+('00'+_0x2c2c10['charCodeAt'](_0x4f3849)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x642cc6);};a0_0x5abe['vlnlid']=_0xa55829,a0_0x5abe['FVMSNA']={},a0_0x5abe['UDWkLg']=!![];}const _0x5cc66f=_0x2f3610[0x0],_0x14c710=_0x193bd0+_0x5cc66f,_0xf0a3ff=a0_0x5abe['FVMSNA'][_0x14c710];return!_0xf0a3ff?(_0x5abe77=a0_0x5abe['vlnlid'](_0x5abe77),a0_0x5abe['FVMSNA'][_0x14c710]=_0x5abe77):_0x5abe77=_0xf0a3ff,_0x5abe77;}const a0_0xfadea8=a0_0x5abe;(function(_0x17fa4b,_0xd2823a){const _0x6b52fd=a0_0x5abe,_0x490b70=_0x17fa4b();while(!![]){try{const _0x32023d=parseInt(_0x6b52fd(0x1c1))/0x1+-parseInt(_0x6b52fd(0x1ce))/0x2*(parseInt(_0x6b52fd(0x1ca))/0x3)+-parseInt(_0x6b52fd(0x1c3))/0x4*(parseInt(_0x6b52fd(0x1cd))/0x5)+-parseInt(_0x6b52fd(0x1b6))/0x6*(-parseInt(_0x6b52fd(0x1c7))/0x7)+parseInt(_0x6b52fd(0x1c0))/0x8*(parseInt(_0x6b52fd(0x1bb))/0x9)+-parseInt(_0x6b52fd(0x1c8))/0xa+parseInt(_0x6b52fd(0x1b4))/0xb*(parseInt(_0x6b52fd(0x1b8))/0xc);if(_0x32023d===_0xd2823a)break;else _0x490b70['push'](_0x490b70['shift']());}catch(_0x116810){_0x490b70['push'](_0x490b70['shift']());}}}(a0_0x2f36,0x5392d));const redisClient=require(a0_0xfadea8(0x1bf)),{logger}=require(a0_0xfadea8(0x1cc));class RedisHelper{constructor(){const _0x442798=a0_0xfadea8;this[_0x442798(0x1d0)]=null,this[_0x442798(0x1c5)]=parseInt(process['env']['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get['prefix'](){const _0x53bced=a0_0xfadea8;if(!this['_prefix']){const _0x116a83=process['env']['RESTFORGE_PROJECT_NAME']||_0x53bced(0x1be);this['_prefix']='restforge:'+_0x116a83+':export:';}return this['_prefix'];}async[a0_0xfadea8(0x1b2)](_0x3c5f5f,_0x1e79c8){const _0x3196c2=a0_0xfadea8;try{const _0x361f6c=redisClient[_0x3196c2(0x1c4)](),_0x425287=''+this['prefix']+_0x3c5f5f;return await _0x361f6c['setex'](_0x425287,this['ttl'],JSON['stringify'](_0x1e79c8)),!![];}catch(_0x168f58){return logger[_0x3196c2(0x1bc)]({'event':_0x3196c2(0x1c6),'jobId':_0x3c5f5f,'error':_0x168f58[_0x3196c2(0x1ba)]},_0x3196c2(0x1b7)),![];}}async['getJob'](_0x1c5a8f){const _0x4aaef0=a0_0xfadea8,_0x23cd4f={'ddVXb':'redis_get_error','DEyiZ':'Failed\x20to\x20get\x20job\x20from\x20Redis'};try{const _0x13acd2=redisClient[_0x4aaef0(0x1c4)](),_0x4eaa1b=''+this['prefix']+_0x1c5a8f,_0x3393b8=await _0x13acd2[_0x4aaef0(0x1b9)](_0x4eaa1b);return _0x3393b8?JSON[_0x4aaef0(0x1c9)](_0x3393b8):null;}catch(_0xc82463){return logger['error']({'event':_0x23cd4f['ddVXb'],'jobId':_0x1c5a8f,'error':_0xc82463[_0x4aaef0(0x1ba)]},_0x23cd4f[_0x4aaef0(0x1b5)]),null;}}async['updateJob'](_0x1c1440,_0x4624a){const _0x115b17=a0_0xfadea8,_0x4c58c6=await this['getJob'](_0x1c1440);if(!_0x4c58c6)return![];const _0x18a341={..._0x4c58c6,..._0x4624a};return await this[_0x115b17(0x1b2)](_0x1c1440,_0x18a341);}async['deleteJob'](_0x278621){const _0xb6fb9=a0_0xfadea8;try{const _0x2a0be1=redisClient['getClient'](),_0x3a7af4=''+this['prefix']+_0x278621;return await _0x2a0be1[_0xb6fb9(0x1cb)](_0x3a7af4),!![];}catch(_0x3d994a){return logger['error']({'event':'redis_delete_error','jobId':_0x278621,'error':_0x3d994a[_0xb6fb9(0x1ba)]},_0xb6fb9(0x1cf)),![];}}async['getAllJobs'](){const _0x422d58=a0_0xfadea8,_0x330aac={'QufBO':_0x422d58(0x1bd)};try{const _0x211929=redisClient['getClient'](),_0xd004f1=await _0x211929['keys'](this[_0x422d58(0x1b3)]+'*'),_0x1c52cb=[];for(const _0x346678 of _0xd004f1){const _0xb7ae5c=await _0x211929['get'](_0x346678);_0xb7ae5c&&_0x1c52cb['push'](JSON[_0x422d58(0x1c9)](_0xb7ae5c));}return _0x1c52cb;}catch(_0x185362){return logger['error']({'event':_0x330aac['QufBO'],'error':_0x185362[_0x422d58(0x1ba)]},'Failed\x20to\x20get\x20all\x20jobs'),[];}}}function a0_0x2f36(){const _0xa32239=['mNzIBhHXEG','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW','x3bYzwzPEa','C2v0sM9I','ChjLzML4','nZmXodnAy296Cxu','rev5AvO','nduZmeHsvhHkuq','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','nJG0rKDiyw1W','z2v0','BwvZC2fNzq','mtmXngHxtgriBG','zxjYB3i','CMvKAxnFz2v0ywXSx2vYCM9Y','zgvMyxvSDa','lI9YzwrPCY1JBgLLBNq','odiYnfbrA1zOBq','nJy4otG1qwDmELvh','zxHWB3j0CW','nJi3nKj1we5Wza','z2v0q2XPzw50','DhrS','CMvKAxnFC2v0x2vYCM9Y','mZe0m0PYqw5svG','nJuWmtmYmezjtgvntG','CgfYC2u','mtm0nZm5m0PiBNvJCq','zgvS','lI9SB2DNzxi','mZa1BejsEvrI'];a0_0x2f36=function(){return _0xa32239;};return a0_0x2f36();}module[a0_0xfadea8(0x1c2)]=new RedisHelper();
|