@restforgejs/platform 5.1.7 → 5.1.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/restforge-hwinfo-linux +0 -0
- package/bin/restforge-hwinfo.exe +0 -0
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/catalog/dbschema.js +2 -1
- package/generators/cli/endpoint/list.js +264 -0
- package/generators/cli/fast-track.js +395 -37
- package/generators/cli/payload/generate.js +10 -2
- package/generators/cli/processor/create.js +7 -7
- package/generators/cli/processor/list.js +229 -0
- package/generators/cli/schema/apply.js +6 -1
- package/generators/cli/schema/diff.js +6 -1
- package/generators/cli/schema/introspect.js +32 -11
- package/generators/lib/data/db-executor.js +8 -8
- package/generators/lib/data/envelope.js +3 -3
- package/generators/lib/dbschema-kit/apply-engine.js +20 -0
- package/generators/lib/dbschema-kit/dialect/mysql.js +2 -0
- package/generators/lib/dbschema-kit/dialect/oracle.js +2 -0
- package/generators/lib/dbschema-kit/dialect/postgres.js +4 -0
- package/generators/lib/dbschema-kit/dialect/sqlite.js +5 -0
- package/generators/lib/dbschema-kit/diff-engine.js +22 -1
- package/generators/lib/dbschema-kit/diff-reporter.js +293 -272
- package/generators/lib/dbschema-kit/emitters/create-index.js +23 -1
- package/generators/lib/dbschema-kit/emitters/create-table.js +48 -0
- package/generators/lib/dbschema-kit/introspect-mapper.js +154 -2
- package/generators/lib/dbschema-kit/ir-builder.js +84 -1
- package/generators/lib/dbschema-kit/schema-printer.js +20 -0
- package/generators/lib/dbschema-kit/soft-delete-constants.js +111 -0
- package/generators/lib/dbschema-kit/validator/schema-validator.js +231 -0
- package/generators/lib/generators/dashboard-generator.js +5 -5
- package/generators/lib/generators/processor-validation-generator.js +16 -16
- package/generators/lib/payload/payload-runner.js +774 -1
- package/generators/lib/payload/schema-diff.js +7 -0
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/generators/lib/utils/database-introspector.js +48 -0
- package/generators/lib/utils/env-manager.js +4 -4
- package/generators/lib/utils/file-utils.js +6 -6
- package/generators/lib/utils/payload-processor.js +18 -2
- package/generators/lib/validators/argument-validator.js +2 -2
- package/generators/lib/validators/dashboard-validator.js +35 -1
- package/generators/lib/validators/payload-validator.js +460 -33
- package/integrity-manifest.json +20 -20
- package/package.json +2 -1
- package/scripts/check-install.js +8 -8
- 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 -0
- package/src/utils/sql-table-extractor.js +1 -0
- 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
- package/generators/lib/utils/sql-table-extractor.js +0 -83
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x4a29(_0x391968,_0x237662){_0x391968=_0x391968-0x1dc;const _0x4bcd12=a0_0x4bcd();let _0x4a2960=_0x4bcd12[_0x391968];if(a0_0x4a29['WtSscA']===undefined){var _0x15cc5b=function(_0x8b403d){const _0x482d6d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2a2bc0='',_0x2fca0f='';for(let _0x24ac9d=0x0,_0x44b523,_0x57459e,_0x5d92d3=0x0;_0x57459e=_0x8b403d['charAt'](_0x5d92d3++);~_0x57459e&&(_0x44b523=_0x24ac9d%0x4?_0x44b523*0x40+_0x57459e:_0x57459e,_0x24ac9d++%0x4)?_0x2a2bc0+=String['fromCharCode'](0xff&_0x44b523>>(-0x2*_0x24ac9d&0x6)):0x0){_0x57459e=_0x482d6d['indexOf'](_0x57459e);}for(let _0x59279e=0x0,_0x54d187=_0x2a2bc0['length'];_0x59279e<_0x54d187;_0x59279e++){_0x2fca0f+='%'+('00'+_0x2a2bc0['charCodeAt'](_0x59279e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2fca0f);};a0_0x4a29['sGfrNc']=_0x15cc5b,a0_0x4a29['VuCvhj']={},a0_0x4a29['WtSscA']=!![];}const _0x21d601=_0x4bcd12[0x0],_0x283a65=_0x391968+_0x21d601,_0x39f7a4=a0_0x4a29['VuCvhj'][_0x283a65];return!_0x39f7a4?(_0x4a2960=a0_0x4a29['sGfrNc'](_0x4a2960),a0_0x4a29['VuCvhj'][_0x283a65]=_0x4a2960):_0x4a2960=_0x39f7a4,_0x4a2960;}const a0_0x8ea4dc=a0_0x4a29;(function(_0x1ed246,_0x45766e){const _0x3cb126=a0_0x4a29,_0x2acb3c=_0x1ed246();while(!![]){try{const _0x31fa83=parseInt(_0x3cb126(0x226))/0x1*(-parseInt(_0x3cb126(0x22c))/0x2)+-parseInt(_0x3cb126(0x1e2))/0x3*(parseInt(_0x3cb126(0x21a))/0x4)+parseInt(_0x3cb126(0x221))/0x5+-parseInt(_0x3cb126(0x216))/0x6+parseInt(_0x3cb126(0x22b))/0x7+-parseInt(_0x3cb126(0x215))/0x8*(parseInt(_0x3cb126(0x20f))/0x9)+parseInt(_0x3cb126(0x1f8))/0xa;if(_0x31fa83===_0x45766e)break;else _0x2acb3c['push'](_0x2acb3c['shift']());}catch(_0x548239){_0x2acb3c['push'](_0x2acb3c['shift']());}}}(a0_0x4bcd,0x721d9));const redisClient=require(a0_0x8ea4dc(0x1df)),{logger}=require(a0_0x8ea4dc(0x224)),{v4:uuidv4}=require(a0_0x8ea4dc(0x209));class LockManager{constructor(){const _0x2cf802=a0_0x8ea4dc,_0x24b445='0|1|6|3|7|4|2|5'['split']('|');let _0x345ee9=0x0;while(!![]){switch(_0x24b445[_0x345ee9++]){case'0':this[_0x2cf802(0x1dd)]=null;continue;case'1':this['_enabled']=null;continue;case'2':this['_workerId']=null;continue;case'3':this['_retryCount']=null;continue;case'4':this['_strategy']=null;continue;case'5':this[_0x2cf802(0x1f0)]=![];continue;case'6':this['_defaultTTL']=null;continue;case'7':this['_retryDelay']=null;continue;}break;}}['_initConfig'](){const _0x4b0ba3=a0_0x8ea4dc,_0x50b91d={'vulmf':function(_0x1d428f,_0x2ecfaa){return _0x1d428f===_0x2ecfaa;},'VxbiA':'true','lMtdq':function(_0x5cfb43,_0x146f29,_0xcb08e7){return _0x5cfb43(_0x146f29,_0xcb08e7);},'vtahA':function(_0x37ab2b,_0x296912,_0x146298){return _0x37ab2b(_0x296912,_0x146298);},'ELVBe':_0x4b0ba3(0x208)};this[_0x4b0ba3(0x1dd)]=_0x4b0ba3(0x22a),this['_enabled']=_0x50b91d['vulmf'](process['env']['LOCK_DISTRIBUTED_ENABLED'],_0x50b91d['VxbiA']),this[_0x4b0ba3(0x229)]=_0x50b91d[_0x4b0ba3(0x218)](parseInt,process[_0x4b0ba3(0x1ea)][_0x4b0ba3(0x1e4)],0xa)||0xa,this[_0x4b0ba3(0x21e)]=_0x50b91d[_0x4b0ba3(0x20b)](parseInt,process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3,this[_0x4b0ba3(0x1fe)]=parseInt(process['env'][_0x4b0ba3(0x1de)],0xa)||0x64,this['_strategy']=process[_0x4b0ba3(0x1ea)][_0x4b0ba3(0x1ec)]||_0x50b91d[_0x4b0ba3(0x200)],this['_workerId']='worker-'+process[_0x4b0ba3(0x1ef)],this[_0x4b0ba3(0x1f0)]=!![],logger['info']({'event':_0x4b0ba3(0x20e),'enabled':this['_enabled'],'strategy':this[_0x4b0ba3(0x206)],'ttl':this['_defaultTTL'],'retryCount':this[_0x4b0ba3(0x21e)],'retryDelay':this['_retryDelay'],'workerId':this['_workerId']},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+_0x4b0ba3(0x1fc)+this['_strategy']);}['_ensureInitialized'](){const _0x4413ab=a0_0x8ea4dc;!this[_0x4413ab(0x1f0)]&&this['_initConfig']();}get['prefix'](){return this['_ensureInitialized'](),this['_prefix'];}get[a0_0x8ea4dc(0x1f6)](){const _0x1f4679=a0_0x8ea4dc;return this[_0x1f4679(0x1fa)](),this[_0x1f4679(0x20a)];}get['defaultTTL'](){return this['_ensureInitialized'](),this['_defaultTTL'];}get['retryCount'](){const _0x18ae49=a0_0x8ea4dc;return this[_0x18ae49(0x1fa)](),this['_retryCount'];}get[a0_0x8ea4dc(0x22e)](){const _0x4eedac=a0_0x8ea4dc;return this['_ensureInitialized'](),this[_0x4eedac(0x1fe)];}get['strategy'](){return this['_ensureInitialized'](),this['_strategy'];}get[a0_0x8ea4dc(0x21b)](){const _0x3bf591=a0_0x8ea4dc;return this[_0x3bf591(0x1fa)](),this[_0x3bf591(0x205)];}['buildLockKey'](_0x5bbd4d){const _0xc3a222=a0_0x8ea4dc,{module:_0x3e0c3f,endpoint:_0x2cd0f6,lockType:_0x245cf7,recordId:_0x69003}=_0x5bbd4d;if(_0x69003)return''+this['prefix']+_0x3e0c3f+':'+_0x2cd0f6+':'+_0x69003+':'+_0x245cf7;return''+this[_0xc3a222(0x20c)]+_0x3e0c3f+':'+_0x2cd0f6+':'+_0x245cf7;}[a0_0x8ea4dc(0x1f1)](){const _0x22b99b=a0_0x8ea4dc;return this['workerId']+':'+uuidv4()+':'+Date[_0x22b99b(0x213)]();}async[a0_0x8ea4dc(0x227)](_0xb935e5){const _0x43616e=a0_0x8ea4dc,_0x19c9ae={'jSgCr':'read','CFQqm':function(_0xe65893,_0x16d83c){return _0xe65893<_0x16d83c;},'coMTa':'read_lock_acquired','cgjge':'READ\x20lock\x20acquired','nnNWV':_0x43616e(0x225),'cVJyt':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','NOrzi':_0x43616e(0x1e3),'UcuLk':'read_lock_error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x511a67=this[_0x43616e(0x1e0)]({..._0xb935e5,'lockType':'write'}),_0x101d12=this[_0x43616e(0x1e0)]({..._0xb935e5,'lockType':_0x19c9ae['jSgCr']}),_0x5bd094=this[_0x43616e(0x1f1)]();try{const _0x55aaa9=redisClient['getClient']();for(let _0x39f8fc=0x0;_0x19c9ae['CFQqm'](_0x39f8fc,this['retryCount']);_0x39f8fc++){const _0x3fa434=await _0x55aaa9[_0x43616e(0x1f4)](_0x511a67);if(!_0x3fa434){await _0x55aaa9['incr'](_0x101d12),await _0x55aaa9['expire'](_0x101d12,this[_0x43616e(0x1e9)]);const _0x35fbae=_0x101d12+':'+_0x5bd094;return await _0x55aaa9['setex'](_0x35fbae,this[_0x43616e(0x1e9)],_0x5bd094),logger[_0x43616e(0x223)]({'event':_0x19c9ae['coMTa'],'key':_0x101d12,'value':_0x5bd094},_0x19c9ae['cgjge']),{'success':!![],'lockValue':_0x5bd094,'lockKey':_0x35fbae};}logger['debug']({'event':_0x19c9ae['nnNWV'],'writeKey':_0x511a67,'attempt':_0x39f8fc},_0x19c9ae['cVJyt']),await this[_0x43616e(0x1f9)](this[_0x43616e(0x22e)]*Math['pow'](0x2,_0x39f8fc));}return logger['warn']({'event':_0x19c9ae['NOrzi'],'key':_0x101d12},_0x43616e(0x1e7)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x40734d){return logger['error']({'event':_0x19c9ae['UcuLk'],'error':_0x40734d[_0x43616e(0x207)]},'READ\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x8ea4dc(0x1dc)](_0x23a143){const _0x22228b=a0_0x8ea4dc,_0x42a72d={'bqERP':'write','ySqgV':'read','bwuIo':function(_0x34d255,_0x5a2d35){return _0x34d255===_0x5a2d35;},'eZUET':'write_lock_acquired','aqada':'reject','ctiRc':_0x22228b(0x222),'dZruV':'write_lock_rejected','zMuSw':function(_0x4c09ef,_0x507cb6){return _0x4c09ef(_0x507cb6);},'ddsgK':_0x22228b(0x208),'nYPrv':_0x22228b(0x1fd),'KuHVv':'Waiting\x20for\x20locks\x20to\x20release','DuuqZ':function(_0xf0bea7,_0x43c2f1){return _0xf0bea7*_0x43c2f1;}};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x40b5ea=this['buildLockKey']({..._0x23a143,'lockType':_0x42a72d['bqERP']}),_0x2e9544=this['buildLockKey']({..._0x23a143,'lockType':_0x42a72d[_0x22228b(0x1f7)]}),_0x11a4b5=this[_0x22228b(0x1f1)]();try{const _0x1486af=redisClient[_0x22228b(0x1f2)]();if(this['strategy']===_0x22228b(0x219)){const _0x28f4fa=await _0x1486af['set'](_0x40b5ea,_0x11a4b5,'EX',this[_0x22228b(0x1e9)],'NX');if(_0x42a72d['bwuIo'](_0x28f4fa,'OK'))return logger['debug']({'event':_0x42a72d[_0x22228b(0x1ed)],'key':_0x40b5ea,'value':_0x11a4b5,'strategy':_0x42a72d['aqada']},_0x42a72d[_0x22228b(0x1f3)]),{'success':!![],'lockValue':_0x11a4b5,'lockKey':_0x40b5ea};return logger[_0x22228b(0x223)]({'event':_0x42a72d['dZruV'],'key':_0x40b5ea},_0x22228b(0x20d)),{'success':![],'lockValue':null,'lockKey':null};}for(let _0xd5560a=0x0;_0xd5560a<this['retryCount'];_0xd5560a++){const [_0x413570,_0x3dab3d]=await Promise['all']([_0x1486af[_0x22228b(0x1f4)](_0x2e9544),_0x1486af['get'](_0x40b5ea)]);if(!_0x3dab3d&&(!_0x413570||_0x42a72d[_0x22228b(0x1eb)](parseInt,_0x413570)===0x0)){const _0x2f7785=await _0x1486af['set'](_0x40b5ea,_0x11a4b5,'EX',this[_0x22228b(0x1e9)],'NX');if(_0x2f7785==='OK')return logger['debug']({'event':_0x42a72d['eZUET'],'key':_0x40b5ea,'value':_0x11a4b5,'strategy':_0x42a72d['ddsgK']},_0x42a72d[_0x22228b(0x1e5)]),{'success':!![],'lockValue':_0x11a4b5,'lockKey':_0x40b5ea};}logger['debug']({'event':'write_lock_waiting','writeKey':_0x40b5ea,'readCount':_0x413570,'attempt':_0xd5560a},_0x42a72d[_0x22228b(0x1e8)]),await this[_0x22228b(0x1f9)](_0x42a72d[_0x22228b(0x1e1)](this[_0x22228b(0x22e)],Math['pow'](0x2,_0xd5560a)));}return logger['warn']({'event':'write_lock_timeout','key':_0x40b5ea},_0x22228b(0x214)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x38e37e){return logger[_0x22228b(0x1e6)]({'event':_0x22228b(0x201),'error':_0x38e37e[_0x22228b(0x207)]},_0x22228b(0x22d)),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x44a584,_0x5df27c){const _0x1f70bf=a0_0x8ea4dc,_0x5207ed={'rFgKh':':read:','LbcQH':function(_0x4c2ac7,_0x3abd0c){return _0x4c2ac7===_0x3abd0c;},'oOSJZ':'write_lock_released'};if(!this[_0x1f70bf(0x1f6)]||!_0x44a584)return!![];try{const _0x4c7c9e=redisClient[_0x1f70bf(0x1f2)]();if(_0x44a584[_0x1f70bf(0x210)](_0x5207ed['rFgKh'])){await _0x4c7c9e[_0x1f70bf(0x21c)](_0x44a584);const _0x3c4d94=_0x44a584[_0x1f70bf(0x211)](0x0,_0x44a584[_0x1f70bf(0x1f5)](':')),_0x36dcdc=await _0x4c7c9e['get'](_0x3c4d94);return _0x36dcdc&&parseInt(_0x36dcdc)>0x0&&await _0x4c7c9e['decr'](_0x3c4d94),logger[_0x1f70bf(0x223)]({'event':'read_lock_released','key':_0x44a584},_0x1f70bf(0x217)),!![];}const _0x4b4add=_0x1f70bf(0x202),_0x5aeea8=await _0x4c7c9e['eval'](_0x4b4add,0x1,_0x44a584,_0x5df27c);if(_0x5207ed['LbcQH'](_0x5aeea8,0x1))return logger[_0x1f70bf(0x223)]({'event':_0x5207ed['oOSJZ'],'key':_0x44a584},_0x1f70bf(0x1ee)),!![];return logger[_0x1f70bf(0x1fb)]({'event':_0x1f70bf(0x203),'key':_0x44a584},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0x1f0b1c){return logger[_0x1f70bf(0x1e6)]({'event':_0x1f70bf(0x1ff),'key':_0x44a584,'error':_0x1f0b1c[_0x1f70bf(0x207)]},_0x1f70bf(0x220)),![];}}async['extendLock'](_0x12df37,_0x295364,_0x391d78=null){const _0x1a6dd8=a0_0x8ea4dc,_0x4887cf={'iHdyp':function(_0x52dab5,_0x18ec16){return _0x52dab5===_0x18ec16;}};if(!this[_0x1a6dd8(0x1f6)]||!_0x12df37)return!![];try{const _0x43e1ce=redisClient['getClient'](),_0x1dfcda='\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',_0x51a9a=await _0x43e1ce['eval'](_0x1dfcda,0x1,_0x12df37,_0x295364,_0x391d78||this['defaultTTL']);if(_0x4887cf['iHdyp'](_0x51a9a,0x1))return logger[_0x1a6dd8(0x223)]({'event':_0x1a6dd8(0x21d),'key':_0x12df37,'ttl':_0x391d78||this['defaultTTL']},_0x1a6dd8(0x21f)),!![];return![];}catch(_0xe8d169){return logger[_0x1a6dd8(0x1e6)]({'event':'lock_extend_error','key':_0x12df37,'error':_0xe8d169['message']},'Lock\x20extend\x20error'),![];}}['isEnabled'](){const _0x48b61f=a0_0x8ea4dc;return this[_0x48b61f(0x1f6)];}[a0_0x8ea4dc(0x1f9)](_0x1092f3){return new Promise(_0x576e5c=>setTimeout(_0x576e5c,_0x1092f3));}async['getLockInfo'](_0x38a4ee){const _0x7ced1e=a0_0x8ea4dc,_0xaa0fc2={'qMDEY':'write','zvzNj':'read','ziLtx':function(_0x3c02a9,_0x25030b){return _0x3c02a9||_0x25030b;},'ZEjUV':function(_0x5421f7,_0x1db388){return _0x5421f7(_0x1db388);}};if(!this['enabled'])return{'enabled':![]};try{const _0x1e53bd=redisClient[_0x7ced1e(0x1f2)](),_0x4d3ab0=this[_0x7ced1e(0x1e0)]({..._0x38a4ee,'lockType':_0xaa0fc2['qMDEY']}),_0x1fbc7b=this['buildLockKey']({..._0x38a4ee,'lockType':_0xaa0fc2[_0x7ced1e(0x204)]}),[_0x236c38,_0x44cd23]=await Promise['all']([_0x1e53bd['get'](_0x4d3ab0),_0x1e53bd[_0x7ced1e(0x1f4)](_0x1fbc7b)]);return{'enabled':!![],'writeLock':_0xaa0fc2[_0x7ced1e(0x228)](_0x236c38,null),'readCount':_0xaa0fc2[_0x7ced1e(0x212)](parseInt,_0x44cd23)||0x0,'writeKey':_0x4d3ab0,'readKey':_0x1fbc7b};}catch(_0x58333e){return{'enabled':!![],'error':_0x58333e['message']};}}}module['exports']=new LockManager();function a0_0x4bcd(){const _0x15eb2f=['x3jLDhj5q291BNq','tg9JAYbuveWGzxH0zw5Kzwq','tg9JAYbYzwXLyxnLigvYCM9Y','mtC4nZa5nwHpA21wsW','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','zgvIDwC','lI9SB2DNzxi','CMvHzf9SB2nRx3DHAxrPBMC','nZyYntq0B1PmCgjl','ywnXDwLYzvjLywrmB2nR','EMLmDhG','x2rLzMf1BhruveW','CMy6Bg9JAZO','mJeXnte5mhPoC011Aa','mLHqAfPtDW','v1jjveuGBg9JAYbLCNjVCG','CMv0CNLezwXHEq','ywnXDwLYzvDYAxrLtg9JAW','x3bYzwzPEa','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','lI9YzwrPCY1JBgLLBNq','yNvPBgrmB2nRs2v5','rhv1CvO','mtm3mtqYm1PfyvDdqW','CMvHzf9SB2nRx3rPBwvVDxq','te9ds19esvnuuKLcvvrfrf9uveW','BLLqCNy','zxjYB3i','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','s3vivNy','zgvMyxvSDfruta','zw52','EK11u3C','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','zvPvrvq','v1jjveuGBg9JAYbYzwXLyxnLza','CgLK','x2LUAxrPywXPEMvK','z2vUzxjHDgvmB2nRvMfSDwu','z2v0q2XPzw50','y3rPuMm','z2v0','BgfZDeLUzgv4t2y','zw5HyMXLza','EvnXz1y','mJq5nZy2mtboruzluu0','C2XLzxa','x2vUC3vYzuLUAxrPywXPEMvK','D2fYBG','lcbZDhjHDgvNEtOG','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','x3jLDhj5rgvSyxK','Bg9JA19YzwXLyxnLx2vYCM9Y','ruXwqMu','D3jPDgvFBg9JA19LCNjVCG','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','ENz6tMO','x3DVCMTLCKLK','x3n0CMf0zwD5','BwvZC2fNzq','CMv0CNK','DxvPza','x2vUywjSzwq','DNrHAee','ChjLzML4','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','Bg9JA19JB25MAwDFAw5PDa','ndvJEKf0whq','Aw5JBhvKzxm','C3vIC3rYAw5N','wKvQvvy','BM93','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','ndKXntuYtePgqLnw','ndiZndCYmMHxtvbKCW','uKvbrcbSB2nRihjLBgvHC2vK','Be10zhe','CMvQzwn0','oerkDhfrDa','D29YA2vYswq','zgvS','Bg9JA19LEhrLBMrLza'];a0_0x4bcd=function(){return _0x15eb2f;};return a0_0x4bcd();}
|
|
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();
|
package/src/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x3a0fef=a0_0x10b9;(function(_0x172ac4,_0x27ef14){const _0x118e94=a0_0x10b9,_0x31d9a5=_0x172ac4();while(!![]){try{const _0x1bf160=parseInt(_0x118e94(0x1ee))/0x1*(-parseInt(_0x118e94(0x1ad))/0x2)+-parseInt(_0x118e94(0x161))/0x3+parseInt(_0x118e94(0x1b6))/0x4+parseInt(_0x118e94(0x1c6))/0x5+parseInt(_0x118e94(0x20e))/0x6+parseInt(_0x118e94(0x1ae))/0x7*(-parseInt(_0x118e94(0x158))/0x8)+parseInt(_0x118e94(0x1bc))/0x9;if(_0x1bf160===_0x27ef14)break;else _0x31d9a5['push'](_0x31d9a5['shift']());}catch(_0x508c53){_0x31d9a5['push'](_0x31d9a5['shift']());}}}(a0_0x2356,0xb2a04));const pino=require('pino'),fs=require('fs'),path=require(a0_0x3a0fef(0x1d5));function a0_0x10b9(_0x25111b,_0x1d0469){_0x25111b=_0x25111b-0x150;const _0x235617=a0_0x2356();let _0x10b9eb=_0x235617[_0x25111b];if(a0_0x10b9['YpSAUC']===undefined){var _0x5f3a08=function(_0x34480b){const _0x75552f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x89c117='',_0x20b3af='';for(let _0x4ae069=0x0,_0x1cf575,_0x58ea75,_0x3133b1=0x0;_0x58ea75=_0x34480b['charAt'](_0x3133b1++);~_0x58ea75&&(_0x1cf575=_0x4ae069%0x4?_0x1cf575*0x40+_0x58ea75:_0x58ea75,_0x4ae069++%0x4)?_0x89c117+=String['fromCharCode'](0xff&_0x1cf575>>(-0x2*_0x4ae069&0x6)):0x0){_0x58ea75=_0x75552f['indexOf'](_0x58ea75);}for(let _0x8d3836=0x0,_0x28a0dc=_0x89c117['length'];_0x8d3836<_0x28a0dc;_0x8d3836++){_0x20b3af+='%'+('00'+_0x89c117['charCodeAt'](_0x8d3836)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x20b3af);};a0_0x10b9['sZgghd']=_0x5f3a08,a0_0x10b9['AwocPX']={},a0_0x10b9['YpSAUC']=!![];}const _0x8d7fee=_0x235617[0x0],_0x5e4d14=_0x25111b+_0x8d7fee,_0x323b85=a0_0x10b9['AwocPX'][_0x5e4d14];return!_0x323b85?(_0x10b9eb=a0_0x10b9['sZgghd'](_0x10b9eb),a0_0x10b9['AwocPX'][_0x5e4d14]=_0x10b9eb):_0x10b9eb=_0x323b85,_0x10b9eb;}function a0_0x2356(){const _0x11594b=['qLDVs1u','AvbLAei','BMfTzq','ms4WlJu','CMvZDgzVCMDL','Dg9mB3DLCKnHC2u','qwTdwxO','te9hx0rjuG','vvbeqvrf','uhjeBKi','C3rHDhvZq29Kzq','CMvWzwf0','zMfSC2u','BxmP','DxnLCG','yxbPs2v5','y29UBMvJDgLVBG','C3rYAw5N','CgfZC3DK','z25ku3G','Bwv0Ag9K','zMXVB3i','Dg9Rzw4','y2HPBgq','zgv2zwXVCg1LBNq','s1Lfr2C','C29Tzq','CgfYyw1Z','DxjS','Dg9vChbLCKnHC2u','DhHYrfu','u1fmx0Xpr19mrvzfta','zhvYyxrPB25nCW','reiGuxvLCNK','sLz6uum','zxHWB3j0CW','CgfKrw5K','zw52','rMrNDeq','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','su5trvju','AxnVvgLTzq','AvHHtuy','AgvHBhrOq2HLy2S','Bg5JDK8','zKn0vw0','uMj2uNy','C3fSx3f1zxj5','zgvIDwC','B3rW','Dfzpz3y','zxjYB3iUBg9N','yM9KEq','y3jLyxrLv3jPDgvtDhjLyw0','zgjFCxvLCNK','C3bSAxq','BgvUz3rO','w1jfrefdveveoNrVA2vUxq','tMDgtxy','rejFueftu1DpuKq','u1fmx0Xpr19qqvjbtvm','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','yxbPA2v5','C3rHDhvZ','CgLUBY1WCMv0DhK','zMXbz0O','zgf0ywjHC2u','BwfW','mJG0mta3ofn1EgvMyG','mtaYnZK5owruz2foBW','CxvLCNK','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','ChjVy2vZC193yxjUAw5N','Ec1Yzxf1zxn0lwLK','CMvTB3rLqwrKCMvZCW','zMf0ywW','vhjHBNnHy3rPB24G','mJeWmtaWogn2r0ritG','zgvMyxvSDa','w1jfrefdvevexq','w09lxsbqCM9Qzwn0igXVywrLzdOG','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','vfjbtLnbq1rjt05FqKvhsu4','mJCZmZC4mdzrrNDjC3q','AgvHzgvYCW','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','CMvZB2X2zq','DLnVEwC','BMvlvxy','Ahr0Cf9Yzxf1zxn0','Aw5MBW','u1fmx0Xpr19ftKfcteve','y29Kzq','mteYnZaWmgn4zxfjBW','AvzhAvO','yxbPx2TLEq','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','ANnVBG','y29UzMLNrMLSzq','wfPtzKy','qKvhsu4','z2v0sgvHzgvYCW','ChjVAMvJDa','tgzHsNC','q29VquC','revmrvrf','rermx0nsrufurq','y3jLzgL0x2nHCMq','Cgf0Aa','z2v0','rermx0rst1a','AM9PBG','B2jQzwn0','rermx0fmvevs','yxv0Ag9YAxPHDgLVBG','DhjPBq','C3nU','DgvZDa','ChDK','y3jLzgL0y2fYza','reLHAxC','rKfuquW6ia','zw5KCg9PBNrFCMvNAxn0zxjLza','zgf0ywjHC2vFy29UzMLN','Ag9ZDa','ChjVAMvJDf9SB2fKzwq','yxbPx3nLy3jLDa','ENPXs2K','yxbWlMXVzW','shr3v2G','zxjYB3i','zM5gEKG','Dw5JyxvNAhrfEgnLChrPB24','mwDwzMzHEG','ChjVzhvJDgLVBG','iokvKqRILzeGifbYB2PLy3qGicaGidOG','vfjbtLnbq1rjt05Fq09ntuLu','yMfZzvvYBa','uvziBMS','icbjBMzVoIaGia','CMvWBgfJzq','uhjVy2vZCYbxyxjUAw5NoIa','CgfZC3DVCMq','rhbmBKO','Dg9gAxHLza','B211wwu','te9hx0XfvKvm','txngr2K','C2vYDMLJzuLUzM8','DxnLCI1Hz2vUDa','C3rHCNrZv2L0Aa','Dw5RBM93BG','C2vJCMv0','rgvMyxvSDa','tuzpyKO','uwLht3C','D2fYBG','vufpwuK','q1jfqvrf','Bwf0y2G','rwvJuxm','vfjbtLnbq1rjt05FuK9mtejbq0S','ywnJzxnZx3rVA2vU','Dw5Oyw5KBgvKuMvQzwn0Aw9U','BwvZC2fNzq','mtq5oti4mezTwMLyvq','u0vsvKLdrv9oqu1f','Dhj1zq','C3rHy2S','rgf0ywjHC2u6ia','rfjpua','icbizwfSDgG6ia','Ahj0Aw1L','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','ntzRzNzkAxq','BwTKAxjtEw5J','D1PyDue','C3rKu2vYAwfSAxPLCNm','sMnyCNm','s1vdtee','Dg9ju09tDhjPBMC','quXurvi','uvvyB1y','mJu3mZyYoeD1we5ktW','zNzwyue','Cg9YDa','CgLU','iokvKqRILzeGienVBMzPzYaGicaGidOG','Aw5JBhvKzxm','vwLPy04','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK'];a0_0x2356=function(){return _0x11594b;};return a0_0x2356();}let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env']['NODE_ENV']!==a0_0x3a0fef(0x1ef),logLevel=process[a0_0x3a0fef(0x18e)][a0_0x3a0fef(0x1fb)]||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x3a0fef(0x1a9),'options':prettyPrintOptions}:undefined,'base':{'service':a0_0x3a0fef(0x16d),'version':process['env']['APP_VERSION']||a0_0x3a0fef(0x16c),'env':process[a0_0x3a0fef(0x18e)]['NODE_ENV']||a0_0x3a0fef(0x181)},'timestamp':pino['stdTimeFunctions'][a0_0x3a0fef(0x192)],'redact':{'paths':['req.headers.authorization',a0_0x3a0fef(0x190),a0_0x3a0fef(0x1f7),a0_0x3a0fef(0x17f),a0_0x3a0fef(0x178),a0_0x3a0fef(0x1a4),'JWT_SECRET'],'censor':'[REDACTED]'},'serializers':{'req':_0x50d7b6=>({'id':_0x50d7b6['id'],'method':_0x50d7b6['method'],'url':_0x50d7b6[a0_0x3a0fef(0x185)],'path':_0x50d7b6['path'],'remoteAddress':_0x50d7b6['ip']||_0x50d7b6[a0_0x3a0fef(0x179)]?.['remoteAddress']}),'res':_0x17d9f3=>({'statusCode':_0x17d9f3['statusCode'],'headers':_0x17d9f3[a0_0x3a0fef(0x1ce)]?.()}),'err':pino[a0_0x3a0fef(0x15b)]['err']}});function initFileLogging(){const _0x97beb2=a0_0x3a0fef,_0x3deae2={'RsaqA':_0x97beb2(0x151),'HSrAB':function(_0xc663f6,_0x5c15b3){return _0xc663f6===_0x5c15b3;},'rQJkQ':function(_0x125b47,_0x39f64b){return _0x125b47!==_0x39f64b;},'QeDGZ':_0x97beb2(0x175),'OhpPD':_0x97beb2(0x1e9),'rJDBd':_0x97beb2(0x19c),'PuuEF':function(_0x2b90af,_0x849e3d,_0x1249a1){return _0x2b90af(_0x849e3d,_0x1249a1);},'JVzQC':'info'};if(fileLoggingInitialized)return;logToFile=process['env']['LOG_TO_FILE']===_0x3deae2['RsaqA'];const _0x2c66cc=process[_0x97beb2(0x18e)][_0x97beb2(0x1b0)]||_0x97beb2(0x1b7);logDir=process['env'][_0x97beb2(0x170)]||'./logs/'+_0x2c66cc,serviceName=process[_0x97beb2(0x18e)][_0x97beb2(0x150)]||'restforge',sqlLogEnabled=_0x3deae2['HSrAB'](process['env'][_0x97beb2(0x1c4)],_0x3deae2['RsaqA']),sqlLogLevel=process[_0x97beb2(0x18e)][_0x97beb2(0x188)]||_0x97beb2(0x199),sqlLogParams=_0x3deae2['rQJkQ'](process[_0x97beb2(0x18e)][_0x97beb2(0x1a5)],_0x3deae2['QeDGZ']),sqlLogSlowThreshold=parseInt(process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x262ed7=path[_0x97beb2(0x1bf)](process['cwd'](),logDir);try{!fs['existsSync'](_0x262ed7)&&fs[_0x97beb2(0x159)](_0x262ed7,{'recursive':!![]});}catch(_0x32c6a0){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x262ed7+':',_0x32c6a0['message']),fileLoggingInitialized=!![];return;}const _0x3ebaa5=path[_0x97beb2(0x1d8)](_0x262ed7,_0x3deae2['OhpPD']),_0x3b81da=path[_0x97beb2(0x1d8)](_0x262ed7,_0x3deae2['rJDBd']);try{appLogStream=fs[_0x97beb2(0x19e)](_0x3ebaa5,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x3b81da,{'flags':'a'}),fileLoggingInitialized=!![];const _0x23c66f={'event':'file_logging_enabled','logDir':_0x262ed7,'files':['app.log','error.log']},_0x40222e='File\x20logging\x20enabled:\x20'+_0x262ed7;logger[_0x97beb2(0x1c3)](_0x23c66f,_0x40222e),_0x3deae2['PuuEF'](writeToFileLog,{..._0x23c66f,'level':_0x3deae2[_0x97beb2(0x18b)],'msg':_0x40222e,'time':new Date()[_0x97beb2(0x15e)]()},'info');}catch(_0x1aebb1){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x1aebb1[_0x97beb2(0x20d)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x331285,_0x80db45){const _0x334b68=a0_0x3a0fef,_0x4f208e={'XZSfF':function(_0x23aae2,_0x41a27e){return _0x23aae2||_0x41a27e;}};if(_0x4f208e[_0x334b68(0x1cc)](!logToFile,!appLogStream))return;const _0x9f8a14={'service':serviceName,..._0x331285},_0x116360=JSON['stringify'](_0x9f8a14)+'\x0a';appLogStream['write'](_0x116360),(_0x80db45===_0x334b68(0x1eb)||_0x80db45===_0x334b68(0x1b4))&&(errorLogStream&&errorLogStream['write'](_0x116360));}const createRequestLogger=(_0x32b3a5={})=>{const _0x3e9be6=a0_0x3a0fef;return logger[_0x3e9be6(0x180)](_0x32b3a5);},logServerStart=_0xf79349=>{const _0x2a901d=a0_0x3a0fef,_0x4e79f8={'Mqval':function(_0x58df61,_0x46ef72){return _0x58df61-_0x46ef72;},'cUDHS':function(_0x39c42a,_0x1ac39f){return _0x39c42a/_0x1ac39f;},'oXELS':'Node.js','wZXuA':_0x2a901d(0x202),'lVxhh':'ACTIVE','sPeGr':'NOT\x20ACTIVE','LjMHj':'server_starting','lWnwM':function(_0x445a8f,_0x332239,_0x277b04){return _0x445a8f(_0x332239,_0x277b04);},'FcQFP':'info'},_0x46129d=_0x2a901d(0x1be),_0x1add54=Math['max'](0x0,_0x4e79f8['Mqval'](0x37,_0x46129d[_0x2a901d(0x1a1)])),_0xc6cf6a=Math[_0x2a901d(0x17e)](_0x4e79f8['cUDHS'](_0x1add54,0x2)),_0x3ea1d9=_0x1add54-_0xc6cf6a,_0x5b5f7f='║'+'\x20'['repeat'](_0xc6cf6a)+_0x46129d+'\x20'[_0x2a901d(0x174)](_0x3ea1d9)+'║',_0x231dc6=_0x2a901d(0x1c9)+_0x5b5f7f+_0x2a901d(0x1a6)+(_0xf79349['environment']||_0x4e79f8['oXELS'])[_0x2a901d(0x18d)](0x26)+_0x2a901d(0x1f0)+(_0xf79349['project']||'N/A')[_0x2a901d(0x18d)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0xf79349[_0x2a901d(0x163)]||0xbb8)[_0x2a901d(0x18d)](0x26)+_0x2a901d(0x165)+(_0xf79349[_0x2a901d(0x1cb)]||_0x4e79f8[_0x2a901d(0x15a)])[_0x2a901d(0x18d)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0xf79349[_0x2a901d(0x178)]?_0x4e79f8['lVxhh']:_0x4e79f8['sPeGr'])[_0x2a901d(0x18d)](0x26)+_0x2a901d(0x1ba);console['log'](_0x231dc6);const _0xc73145={'event':_0x4e79f8['LjMHj'],'project':_0xf79349[_0x2a901d(0x1cf)],'port':_0xf79349['port'],'config':_0xf79349['configFile'],'apiKeyEnabled':!!_0xf79349['apiKey']};logger['info'](_0xc73145),_0x4e79f8['lWnwM'](writeToFileLog,{..._0xc73145,'level':_0x4e79f8['FcQFP'],'msg':'Server\x20starting:\x20'+_0xf79349['project']+'\x20on\x20port\x20'+_0xf79349[_0x2a901d(0x163)],'time':new Date()[_0x2a901d(0x15e)]()},_0x2a901d(0x1c3));},logServerReady=_0x3546e0=>{const _0x13f976=a0_0x3a0fef,_0x23ccbe={'GPkbL':'server_ready','vSoyg':'info'},_0x558477={'event':_0x23ccbe['GPkbL'],'port':_0x3546e0[_0x13f976(0x163)],'module':_0x3546e0['module'],'healthCheck':_0x3546e0['healthCheck'],'serviceInfo':_0x3546e0[_0x13f976(0x1fd)],'baseUrl':_0x3546e0[_0x13f976(0x1f2)]},_0xfbc438='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x3546e0[_0x13f976(0x163)];logger[_0x13f976(0x1c3)](_0x558477,_0xfbc438),writeToFileLog({..._0x558477,'level':_0x23ccbe[_0x13f976(0x1c0)],'msg':_0xfbc438,'time':new Date()[_0x13f976(0x15e)]()},_0x23ccbe['vSoyg']),_0x3546e0[_0x13f976(0x194)]&&logger['info'](_0x13f976(0x155)+_0x3546e0[_0x13f976(0x194)]),_0x3546e0[_0x13f976(0x1fd)]&&logger['info'](_0x13f976(0x1f4)+_0x3546e0[_0x13f976(0x1fd)]),_0x3546e0[_0x13f976(0x1f2)]&&logger[_0x13f976(0x1c3)]('\x20\x20URL:\x20\x20\x20\x20'+_0x3546e0['baseUrl']);},logProjectLoaded=(_0x216b6a,_0x547d6a)=>{const _0x220f7a=a0_0x3a0fef,_0xd4caaa={'event':_0x220f7a(0x1e6),'project':_0x216b6a,'path':_0x547d6a},_0x562415=_0x220f7a(0x1b9)+_0x216b6a;logger[_0x220f7a(0x1c3)](_0xd4caaa,_0x562415),writeToFileLog({..._0xd4caaa,'level':_0x220f7a(0x1c3),'msg':_0x562415,'time':new Date()['toISOString']()},'info');},logEndpointRegistered=(_0x5ef44b,_0x4514d5)=>{const _0x10a007=a0_0x3a0fef,_0x3ce4ae={'UiicN':function(_0x31bac5,_0x58ad9b,_0x1e522b){return _0x31bac5(_0x58ad9b,_0x1e522b);},'tVOgv':_0x10a007(0x199)},_0x553326={'event':_0x10a007(0x1e3),'endpoint':_0x5ef44b,'route':_0x4514d5},_0x5d4b9a='\x20\x20→\x20'+_0x5ef44b+':\x20'+_0x4514d5;logger[_0x10a007(0x199)](_0x553326,_0x5d4b9a),_0x3ce4ae[_0x10a007(0x167)](writeToFileLog,{..._0x553326,'level':_0x10a007(0x199),'msg':_0x5d4b9a,'time':new Date()[_0x10a007(0x15e)]()},_0x3ce4ae[_0x10a007(0x19b)]);},logDatabaseConfig=_0x370299=>{const _0x4c609c=a0_0x3a0fef,_0x201d80={'CooAG':_0x4c609c(0x199)},_0x307aa5={'event':_0x4c609c(0x1e4),'host':_0x370299[_0x4c609c(0x1e5)],'port':_0x370299['port'],'database':_0x370299['database'],'type':_0x370299['type'],'user':_0x370299[_0x4c609c(0x177)]},_0x46a235=_0x4c609c(0x153)+_0x370299['type']+'://'+_0x370299[_0x4c609c(0x1e5)]+':'+_0x370299[_0x4c609c(0x163)]+'/'+_0x370299[_0x4c609c(0x1ab)];logger['debug'](_0x307aa5,_0x46a235),writeToFileLog({..._0x307aa5,'level':_0x201d80['CooAG'],'msg':_0x46a235,'time':new Date()['toISOString']()},_0x201d80[_0x4c609c(0x1d1)]);},logRequest=(_0x4ca6fd,_0x475933,_0x1da2f1)=>{const _0xd68eef=a0_0x3a0fef,_0x1fae99={'QVHnk':_0xd68eef(0x1c2),'lncvO':_0xd68eef(0x1c3),'MsFGi':function(_0xaa0613,_0x2bceb7){return _0xaa0613>=_0x2bceb7;},'EecQs':'error','DpLnJ':function(_0x173457,_0x18c3f6){return _0x173457>=_0x18c3f6;},'QybbD':'warn'},_0x5a13d0={'event':_0x1fae99[_0xd68eef(0x1f3)],'method':_0x4ca6fd[_0xd68eef(0x17d)],'path':_0x4ca6fd['path'],'statusCode':_0x475933['statusCode'],'durationMs':_0x1da2f1,'ip':_0x4ca6fd['ip']},_0x29c3d0=_0x4ca6fd['method']+'\x20'+_0x4ca6fd[_0xd68eef(0x1d5)]+'\x20-\x20'+_0x475933[_0xd68eef(0x173)]+'\x20('+_0x1da2f1+'ms)';let _0x1a1e1a=_0x1fae99[_0xd68eef(0x195)];if(_0x1fae99[_0xd68eef(0x1fc)](_0x475933[_0xd68eef(0x173)],0x1f4))_0x1a1e1a=_0x1fae99[_0xd68eef(0x209)],logger['error'](_0x5a13d0,_0x29c3d0);else _0x1fae99[_0xd68eef(0x1f8)](_0x475933['statusCode'],0x190)?(_0x1a1e1a=_0x1fae99['QybbD'],logger[_0xd68eef(0x205)](_0x5a13d0,_0x29c3d0)):logger['info'](_0x5a13d0,_0x29c3d0);writeToFileLog({..._0x5a13d0,'level':_0x1a1e1a,'msg':_0x29c3d0,'time':new Date()['toISOString']()},_0x1a1e1a);},SENSITIVE_PARAM_PATTERNS=['password','passwd',a0_0x3a0fef(0x1df),'token',a0_0x3a0fef(0x20b),'refresh_token',a0_0x3a0fef(0x201),a0_0x3a0fef(0x1e7),a0_0x3a0fef(0x1a7),a0_0x3a0fef(0x1c8),'credential','credentials','pin',a0_0x3a0fef(0x19a),'private_key','privatekey'],redactSensitiveParams=(_0x996b3a,_0x13ffee)=>{const _0x5779b4=a0_0x3a0fef,_0x5f1046={'YQONS':'[REDACTED]','iPehB':_0x5779b4(0x17a),'fmoXN':_0x5779b4(0x1a2),'afuXA':'[REDACTED:hash]','VoitX':function(_0x2143b5,_0x935a18){return _0x2143b5===_0x935a18;}};if(!_0x996b3a||_0x5f1046['VoitX'](_0x996b3a['length'],0x0))return _0x996b3a;const _0xe138db=_0x13ffee[_0x5779b4(0x16e)](),_0xce3bd6=_0xe138db[_0x5779b4(0x208)](/\(([^)]+)\)\s*values/i);let _0xbbd62c=[];_0xce3bd6&&(_0xbbd62c=_0xce3bd6[0x1][_0x5779b4(0x1a0)](',')[_0x5779b4(0x1ac)](_0x176440=>_0x176440[_0x5779b4(0x1dc)]()['toLowerCase']()));const _0x50ac23=_0xe138db[_0x5779b4(0x208)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x50ac23){const _0x530587=_0x50ac23[0x1],_0x612543=_0x530587[_0x5779b4(0x208)](/(\w+)\s*=/g);_0x612543&&(_0xbbd62c=_0x612543['map'](_0xfceae4=>_0xfceae4[_0x5779b4(0x1f5)](/\s*=/,'')['trim']()[_0x5779b4(0x16e)]()));}return _0x996b3a[_0x5779b4(0x1ac)]((_0x169045,_0xfe4d7a)=>{const _0x2df46a=_0x5779b4;if(_0xbbd62c[_0xfe4d7a]){const _0xe26b34=_0xbbd62c[_0xfe4d7a],_0x409d02=SENSITIVE_PARAM_PATTERNS[_0x2df46a(0x183)](_0x54452e=>_0xe26b34['includes'](_0x54452e));if(_0x409d02)return _0x5f1046['YQONS'];}if(typeof _0x169045===_0x5f1046[_0x2df46a(0x16a)]&&_0x169045[_0x2df46a(0x1a1)]>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x2df46a(0x1de)](_0x169045)&&_0x169045[_0x2df46a(0x166)]('.'))return _0x5f1046['fmoXN'];if(/^[a-fA-F0-9]{32,}$/[_0x2df46a(0x1de)](_0x169045))return _0x5f1046['afuXA'];}return _0x169045;});},parseQueryMetadata=_0x267f97=>{const _0xa36976=a0_0x3a0fef,_0x5b4ba5={'QUXoV':'SELECT','gQDTT':'INSERT','MFObJ':_0xa36976(0x171),'jjFFH':'DELETE','KYEGg':_0xa36976(0x1cd),'SSrBe':'START\x20TRANSACTION','KUCLA':_0xa36976(0x1bb),'ADqTZ':_0xa36976(0x1f1),'sgSOb':_0xa36976(0x207),'flAgJ':_0xa36976(0x15f),'gjRTY':_0xa36976(0x1da),'dfFFH':_0xa36976(0x154)},_0x3303a2=_0x267f97['trim'](),_0xcdc83c=_0x3303a2[_0xa36976(0x186)]();let _0x4008f9='UNKNOWN',_0x1f41ee=null;if(_0xcdc83c[_0xa36976(0x1ff)](_0x5b4ba5[_0xa36976(0x160)])){_0x4008f9=_0x5b4ba5[_0xa36976(0x160)];const _0x5b1028=_0x3303a2[_0xa36976(0x208)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1f41ee=_0x5b1028?_0x5b1028[0x1]:null;}else{if(_0xcdc83c['startsWith'](_0x5b4ba5['gQDTT'])){_0x4008f9=_0xa36976(0x191);const _0x1b2866=_0x3303a2['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1f41ee=_0x1b2866?_0x1b2866[0x1]:null;}else{if(_0xcdc83c[_0xa36976(0x1ff)](_0x5b4ba5['MFObJ'])){_0x4008f9=_0x5b4ba5[_0xa36976(0x203)];const _0x54aacd=_0x3303a2['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1f41ee=_0x54aacd?_0x54aacd[0x1]:null;}else{if(_0xcdc83c['startsWith'](_0xa36976(0x1d2))){_0x4008f9=_0x5b4ba5['jjFFH'];const _0x59496=_0x3303a2[_0xa36976(0x208)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1f41ee=_0x59496?_0x59496[0x1]:null;}else{if(_0xcdc83c['startsWith'](_0x5b4ba5[_0xa36976(0x182)])||_0xcdc83c[_0xa36976(0x1ff)](_0x5b4ba5['SSrBe']))_0x4008f9=_0x5b4ba5[_0xa36976(0x15d)];else{if(_0xcdc83c[_0xa36976(0x1ff)]('COMMIT'))_0x4008f9=_0x5b4ba5['ADqTZ'];else{if(_0xcdc83c[_0xa36976(0x1ff)]('ROLLBACK'))_0x4008f9=_0xa36976(0x20a);else{if(_0xcdc83c['startsWith'](_0x5b4ba5['sgSOb']))_0x4008f9=_0xa36976(0x1d3);else{if(_0xcdc83c[_0xa36976(0x1ff)](_0x5b4ba5[_0xa36976(0x1aa)]))_0x4008f9=_0x5b4ba5['gjRTY'];else _0xcdc83c['startsWith'](_0x5b4ba5['dfFFH'])&&(_0x4008f9=_0xa36976(0x1d7));}}}}}}}}return{'type':_0x4008f9,'table':_0x1f41ee};},startQueryTimer=()=>{const _0x5b0c23={'URMCb':function(_0x1ae3fb,_0x168813){return _0x1ae3fb(_0x168813);},'txrDU':function(_0x483f27,_0x94f7bd){return _0x483f27+_0x94f7bd;},'uMfWQ':function(_0x171be3,_0x2d9127){return _0x171be3*_0x2d9127;}},_0x202550=process['hrtime']();return()=>{const _0x5ce7cc=a0_0x10b9,[_0x3fa842,_0x5966f5]=process[_0x5ce7cc(0x156)](_0x202550);return _0x5b0c23['URMCb'](parseFloat,_0x5b0c23[_0x5ce7cc(0x187)](_0x5b0c23['uMfWQ'](_0x3fa842,0x3e8),_0x5966f5/0xf4240)[_0x5ce7cc(0x1f9)](0x2));};},logQuery=(_0x38e722,_0x28f708=[],_0x16874d={})=>{const _0x4cc86d=a0_0x3a0fef,_0x4625d0={'SxuVu':function(_0xb56930,_0x9394a6){return _0xb56930>_0x9394a6;},'UAOYI':function(_0x35a6d2,_0x3471db,_0x58e4d2){return _0x35a6d2(_0x3471db,_0x58e4d2);},'HwXVB':function(_0x400976,_0x45b629){return _0x400976>_0x45b629;},'Mzhwr':_0x4cc86d(0x200),'NgFMv':function(_0xf440ff,_0x22b2be){return _0xf440ff!==_0x22b2be;},'xiUlP':_0x4cc86d(0x199),'BWoKU':'\x20[SLOW]','DjizH':'warn','neKUv':'info','FdgtD':function(_0x153d6a,_0x54df6c,_0x2175f1){return _0x153d6a(_0x54df6c,_0x2175f1);}};if(!sqlLogEnabled){logger['debug']({'event':_0x4cc86d(0x19f),'query':_0x38e722['substring'](0x0,0xc8),'paramCount':_0x28f708['length']},_0x4cc86d(0x18a));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x16874d,{type:_0xc60707,table:_0x947d5}=parseQueryMetadata(_0x38e722),_0xd55b17={'event':_0x4cc86d(0x198),'queryType':_0xc60707,'table':_0x947d5,'query':_0x38e722,'paramCount':_0x28f708[_0x4cc86d(0x1a1)],'dbType':dbType};sqlLogParams&&_0x4625d0['SxuVu'](_0x28f708[_0x4cc86d(0x1a1)],0x0)&&(_0xd55b17[_0x4cc86d(0x184)]=_0x4625d0[_0x4cc86d(0x206)](redactSensitiveParams,_0x28f708,_0x38e722));duration!==null&&(_0xd55b17[_0x4cc86d(0x189)]=duration,_0xd55b17['isSlow']=_0x4625d0['HwXVB'](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0xd55b17['rowsAffected']=rowsAffected);const _0x52e328=_0x947d5||_0x4625d0['Mzhwr'];let _0x1de643='['+_0xc60707+']\x20'+_0x52e328;_0x4625d0[_0x4cc86d(0x1a3)](duration,null)&&(_0x1de643+='\x20('+duration+_0x4cc86d(0x176));const _0x5782da=duration!==null&&duration>sqlLogSlowThreshold;let _0x19af1a=_0x4625d0['xiUlP'];if(_0x5782da)_0x1de643+=_0x4625d0[_0x4cc86d(0x169)],_0x19af1a=_0x4625d0['DjizH'],logger['warn'](_0xd55b17,_0x1de643);else sqlLogLevel==='info'?(_0x19af1a=_0x4625d0[_0x4cc86d(0x1c1)],logger['info'](_0xd55b17,_0x1de643)):logger['debug'](_0xd55b17,_0x1de643);_0x4625d0[_0x4cc86d(0x18f)](writeToFileLog,{..._0xd55b17,'level':_0x19af1a,'msg':_0x1de643,'time':new Date()['toISOString']()},_0x19af1a);},logTransaction=(_0x205b58,_0x2a4d26)=>{const _0xb449c6=a0_0x3a0fef,_0x232cb0={'LuCIk':_0xb449c6(0x199)},_0x4adbc9={'event':'db_transaction','status':_0x205b58,'queryCount':_0x2a4d26},_0x4e3c32=_0xb449c6(0x1b5)+_0x205b58;logger['debug'](_0x4adbc9,_0x4e3c32),writeToFileLog({..._0x4adbc9,'level':'debug','msg':_0x4e3c32,'time':new Date()[_0xb449c6(0x15e)]()},_0x232cb0['LuCIk']);},redactObject=_0x388801=>{const _0x177007=a0_0x3a0fef,_0x21d38f={'LfaJw':_0x177007(0x1d9),'fnFzH':'pwd','HtwWh':_0x177007(0x201),'RbvRv':_0x177007(0x1c8),'gmWZl':_0x177007(0x1db),'uDyfW':_0x177007(0x1d4),'hApvL':_0x177007(0x1dd),'PrDnB':'privatekey','AkCYz':_0x177007(0x20b),'XKIZL':_0x177007(0x1b8),'iXaMF':function(_0xb137c1,_0x577ff6){return _0xb137c1===_0x577ff6;},'TLzVI':function(_0x350083,_0x3d197a){return _0x350083(_0x3d197a);}};if(!_0x388801||typeof _0x388801!==_0x21d38f[_0x177007(0x1d0)])return _0x388801;const _0x30653a=['password',_0x177007(0x17b),_0x21d38f[_0x177007(0x1ec)],'token',_0x21d38f[_0x177007(0x1ea)],'apikey',_0x21d38f[_0x177007(0x197)],_0x21d38f['gmWZl'],_0x177007(0x1e0),_0x21d38f['uDyfW'],'cvv',_0x21d38f['hApvL'],_0x177007(0x164),'private_key',_0x21d38f[_0x177007(0x172)],'refresh_token',_0x21d38f[_0x177007(0x16f)]],_0x4951f2=Array['isArray'](_0x388801)?[..._0x388801]:{..._0x388801};for(const _0x33c8e4 of Object['keys'](_0x4951f2)){const _0x93dce3=_0x33c8e4[_0x177007(0x16e)]();if(_0x30653a[_0x177007(0x183)](_0x256462=>_0x93dce3[_0x177007(0x166)](_0x256462)))_0x4951f2[_0x33c8e4]=_0x21d38f['XKIZL'];else _0x21d38f[_0x177007(0x193)](typeof _0x4951f2[_0x33c8e4],_0x21d38f['LfaJw'])&&_0x4951f2[_0x33c8e4]!==null&&(_0x4951f2[_0x33c8e4]=_0x21d38f['TLzVI'](redactObject,_0x4951f2[_0x33c8e4]));}return _0x4951f2;},logError=(_0x4675d3,_0x3f7858={},_0xab639=null)=>{const _0x3ae75e=a0_0x3a0fef,_0x5199c5={'fCtUm':_0x3ae75e(0x1eb),'fvVaA':function(_0x1df53c,_0x2448ec,_0x115545){return _0x1df53c(_0x2448ec,_0x115545);}},_0x366a00={'event':_0x5199c5[_0x3ae75e(0x196)],'errorName':_0x4675d3[_0x3ae75e(0x16b)]||'Error','errorMessage':_0x4675d3['message'],'errorCode':_0x4675d3['code']||null,'stack':_0x4675d3['stack'],..._0x3f7858},_0x22e266=_0xab639||'Error:\x20'+_0x4675d3['message'];logger[_0x3ae75e(0x1eb)](_0x366a00,_0x22e266),_0x5199c5[_0x3ae75e(0x162)](writeToFileLog,{..._0x366a00,'level':_0x5199c5[_0x3ae75e(0x196)],'msg':_0x22e266,'time':new Date()[_0x3ae75e(0x15e)]()},_0x5199c5[_0x3ae75e(0x196)]);},logFatalError=(_0x433cfb,_0x408443={},_0x28b8a3=null)=>{const _0x3850a2=a0_0x3a0fef,_0x438fea={'xcukj':'fatal_error','FCeIf':'Error','gnJSx':'CRITICAL','QiGOw':function(_0x4f6f4d,_0x6f72fb,_0x3ee5f7){return _0x4f6f4d(_0x6f72fb,_0x3ee5f7);},'nWkIw':'error'},_0x1651c1={'event':_0x438fea['xcukj'],'errorName':_0x433cfb['name']||_0x438fea['FCeIf'],'errorMessage':_0x433cfb['message'],'errorCode':_0x433cfb[_0x3850a2(0x1c5)]||null,'stack':_0x433cfb['stack'],'severity':_0x438fea[_0x3850a2(0x17c)],..._0x408443},_0x1adc42=_0x28b8a3||_0x3850a2(0x1e2)+_0x433cfb['message'];logger[_0x3850a2(0x1b4)](_0x1651c1,_0x1adc42),_0x438fea[_0x3850a2(0x204)](writeToFileLog,{..._0x1651c1,'level':_0x3850a2(0x1b4),'msg':_0x1adc42,'time':new Date()[_0x3850a2(0x15e)]()},_0x438fea['nWkIw']);},logHttpError=(_0x1a208c,_0x12f956,_0x117aff={})=>{const _0xa6cde7=a0_0x3a0fef,_0x42b1f9={'zzqKi':'Error','sAHVg':_0xa6cde7(0x1b2),'QXYMw':function(_0x2dfbed,_0x17896c){return _0x2dfbed>=_0x17896c;},'PFlaQ':function(_0x158a43,_0x5a291a,_0xedad06){return _0x158a43(_0x5a291a,_0xedad06);}},_0x1d5d8a={'event':'http_error','errorName':_0x1a208c['name']||_0x42b1f9[_0xa6cde7(0x1e8)],'errorMessage':_0x1a208c[_0xa6cde7(0x20d)],'errorCode':_0x1a208c[_0xa6cde7(0x1c5)]||_0x1a208c[_0xa6cde7(0x173)]||0x1f4,'stack':_0x1a208c[_0xa6cde7(0x152)],'method':_0x12f956?.['method'],'url':_0x12f956?.[_0xa6cde7(0x185)]||_0x12f956?.['originalUrl'],'path':_0x12f956?.[_0xa6cde7(0x1d5)],'ip':_0x12f956?.['ip']||_0x12f956?.[_0xa6cde7(0x179)]?.[_0xa6cde7(0x1b3)],'userAgent':_0x12f956?.[_0xa6cde7(0x1d6)]?.(_0xa6cde7(0x1fe)),'requestId':_0x12f956?.['id']||_0x12f956?.[_0xa6cde7(0x1bd)]?.[_0x42b1f9['sAHVg']],'body':_0x12f956?.[_0xa6cde7(0x19d)]?redactObject(_0x12f956[_0xa6cde7(0x19d)]):undefined,'query':_0x12f956?.[_0xa6cde7(0x1af)],..._0x117aff},_0x23cdfc=_0x1a208c[_0xa6cde7(0x173)]||_0x1a208c[_0xa6cde7(0x1a8)]||0x1f4,_0x11db43='HTTP\x20'+_0x23cdfc+':\x20'+_0x1a208c['message'];_0x42b1f9['QXYMw'](_0x23cdfc,0x1f4)?logger[_0xa6cde7(0x1eb)](_0x1d5d8a,_0x11db43):logger['warn'](_0x1d5d8a,_0x11db43),_0x42b1f9['PFlaQ'](writeToFileLog,{..._0x1d5d8a,'level':_0x23cdfc>=0x1f4?_0xa6cde7(0x1eb):_0xa6cde7(0x205),'msg':_0x11db43,'time':new Date()['toISOString']()},_0x23cdfc>=0x1f4?_0xa6cde7(0x1eb):_0xa6cde7(0x205));},logUncaughtError=(_0x430c04,_0x13afd3)=>{const _0x4da763=a0_0x3a0fef,_0x3bae60={'KxnfS':'Error','cqhxE':function(_0x147115,_0x1d06d9,_0x444320){return _0x147115(_0x1d06d9,_0x444320);},'THjpv':_0x4da763(0x1b4),'NxTRt':_0x4da763(0x1eb)},_0x115e3c={'event':_0x430c04,'errorName':_0x13afd3?.[_0x4da763(0x16b)]||_0x3bae60['KxnfS'],'errorMessage':_0x13afd3?.['message']||String(_0x13afd3),'errorCode':_0x13afd3?.[_0x4da763(0x1c5)]||null,'stack':_0x13afd3?.['stack'],'severity':'CRITICAL','processId':process['pid'],'memoryUsage':process['memoryUsage'](),'uptime':process['uptime']()},_0x40d3cd='['+_0x430c04['toUpperCase']()+']\x20'+(_0x13afd3?.[_0x4da763(0x20d)]||_0x13afd3);logger[_0x4da763(0x1b4)](_0x115e3c,_0x40d3cd),_0x3bae60['cqhxE'](writeToFileLog,{..._0x115e3c,'level':_0x3bae60['THjpv'],'msg':_0x40d3cd,'time':new Date()[_0x4da763(0x15e)]()},_0x3bae60['NxTRt']);},setupGlobalErrorHandlers=()=>{const _0x21d9f6=a0_0x3a0fef,_0x4385e6={'iVGiZ':function(_0x596187,_0x490594,_0x25bc8c){return _0x596187(_0x490594,_0x25bc8c);},'JcXrs':function(_0x2b4e98,_0x176f78){return _0x2b4e98 instanceof _0x176f78;},'fzUjA':_0x21d9f6(0x1ed),'PECrR':'warning','FxnMq':_0x21d9f6(0x168),'omuYe':function(_0x22fd39,_0x484dc1,_0x41efcd){return _0x22fd39(_0x484dc1,_0x41efcd);},'DIaiw':_0x21d9f6(0x1c3)};process['on'](_0x4385e6['fzUjA'],_0x2dac1a=>{const _0x1a6992=_0x21d9f6;_0x4385e6[_0x1a6992(0x1c7)](logUncaughtError,'uncaughtException',_0x2dac1a),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x21d9f6(0x20c),(_0x45ee09,_0x55010a)=>{const _0x3e37c4=_0x21d9f6,_0x5ea07e=_0x4385e6[_0x3e37c4(0x15c)](_0x45ee09,Error)?_0x45ee09:new Error(String(_0x45ee09));logUncaughtError('unhandledRejection',_0x5ea07e);}),process['on'](_0x4385e6['PECrR'],_0x3ceb63=>{const _0x21a271=_0x21d9f6;logger[_0x21a271(0x205)]({'event':_0x21a271(0x1b1),'name':_0x3ceb63['name'],'message':_0x3ceb63['message'],'stack':_0x3ceb63[_0x21a271(0x152)]},_0x21a271(0x1f6)+_0x3ceb63['message']);});const _0x1b4592={'event':_0x21d9f6(0x157)},_0x3bb842=_0x4385e6['FxnMq'];logger[_0x21d9f6(0x1c3)](_0x1b4592,_0x3bb842),_0x4385e6[_0x21d9f6(0x1fa)](writeToFileLog,{..._0x1b4592,'level':_0x4385e6[_0x21d9f6(0x1e1)],'msg':_0x3bb842,'time':new Date()['toISOString']()},_0x21d9f6(0x1c3));},createErrorHandlerMiddleware=()=>{return(_0x5f052a,_0x4529cb,_0x35b227,_0x15d653)=>{const _0x7c4d08=a0_0x10b9;logHttpError(_0x5f052a,_0x4529cb);const _0x9a88ef=_0x5f052a[_0x7c4d08(0x173)]||_0x5f052a[_0x7c4d08(0x1a8)]||0x1f4;_0x35b227['status'](_0x9a88ef)[_0x7c4d08(0x1ca)]({'success':![],'error':_0x9a88ef>=0x1f4?'Internal\x20server\x20error':_0x5f052a[_0x7c4d08(0x20d)],'requestId':_0x4529cb['id']||_0x4529cb['headers']?.[_0x7c4d08(0x1b2)]||null});};};module[a0_0x3a0fef(0x18c)]={'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_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 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x238db6=a0_0x56e7;(function(_0x2c2630,_0x2183a5){const _0x533a05=a0_0x56e7,_0x255573=_0x2c2630();while(!![]){try{const _0x45a54d=-parseInt(_0x533a05(0xbf))/0x1*(parseInt(_0x533a05(0xd4))/0x2)+-parseInt(_0x533a05(0xb2))/0x3+parseInt(_0x533a05(0xaa))/0x4+parseInt(_0x533a05(0xb4))/0x5+parseInt(_0x533a05(0xb9))/0x6*(parseInt(_0x533a05(0xc0))/0x7)+-parseInt(_0x533a05(0xc4))/0x8*(-parseInt(_0x533a05(0xab))/0x9)+parseInt(_0x533a05(0xa5))/0xa*(parseInt(_0x533a05(0xbc))/0xb);if(_0x45a54d===_0x2183a5)break;else _0x255573['push'](_0x255573['shift']());}catch(_0x2b528d){_0x255573['push'](_0x255573['shift']());}}}(a0_0x2438,0x3586c));const dbType=(process[a0_0x238db6(0xa8)][a0_0x238db6(0xc1)]||a0_0x238db6(0xd0))['toLowerCase']();let executeQuery;if(dbType==='oracle'){const oracleDb=require('./db-oracle');executeQuery=(_0x42339d,_0x1f27ec)=>oracleDb['executeQuery'](_0x42339d,_0x1f27ec);}else{if(dbType==='mysql'){const mysqlDb=require(a0_0x238db6(0xb8));executeQuery=(_0x41b3cb,_0x411b0d)=>mysqlDb['executeQuery'](_0x41b3cb,_0x411b0d);}else executeQuery=require('./db')[a0_0x238db6(0xcd)];}const {logger}=require(a0_0x238db6(0xb6));function a0_0x2438(){const _0x2d1fc6=['Bg9HzeXVB2T1CfrHyMXL','wNrQwuO','Bg9VA3vWq2fJAgu','mJG2ntmWyLnqtfjp','Egzrzvm','mte1nZGXmgzcufvRwa','iIbUB3qGzM91BMqGAw4G','lI9SB2DNzxi','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','lI9KyI1TExnXBa','mJa0ndjpANj2rgG','AgfZ','ChvZAa','mti2otrjBNf3wwq','z2v0','tLzVvKy','ndCXu3fHwvzc','nda2zwjNwgDz','rejFvfLqrq','zw50CMLLCW','DMfSAwrHDgvmB29RDxbwywX1zxm','mJeWnty4sLDrsLro','BNvushK','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','Dg9mB3DLCKnHC2u','zxjYB3i','ELflzvu','CMvZB2X2zuXVB2T1CfzHBhvL','zxHWB3j0CW','A2v5CW','zxHLy3v0zvf1zxj5','u0vmrunuia','ChjVy2vZC0XVB2T1CezPzwXKCW','Cg9ZDgDYzxnXBa','zgvIDwC','rLb6z3O','C2v0','mte4mMj5q1rIrG','ndeWCvrAueL0','BgvUz3rO','DhjPBq','zw52','Dg9vChbLCKnHC2u','mZyXmJq4t0LUDMzm','ow9jrgnrDW','Bg9VA3vWx3rHyMXLx2XVywrLza','zM9YrwfJAa','y2XLyxi'];a0_0x2438=function(){return _0x2d1fc6;};return a0_0x2438();}function a0_0x56e7(_0x26d24d,_0x590ec2){_0x26d24d=_0x26d24d-0xa5;const _0x2438c7=a0_0x2438();let _0x56e773=_0x2438c7[_0x26d24d];if(a0_0x56e7['gznbKA']===undefined){var _0x4c6e97=function(_0x314b2f){const _0x472817='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x18f388='',_0x373e8b='';for(let _0x260313=0x0,_0x34a734,_0x1fc134,_0x181836=0x0;_0x1fc134=_0x314b2f['charAt'](_0x181836++);~_0x1fc134&&(_0x34a734=_0x260313%0x4?_0x34a734*0x40+_0x1fc134:_0x1fc134,_0x260313++%0x4)?_0x18f388+=String['fromCharCode'](0xff&_0x34a734>>(-0x2*_0x260313&0x6)):0x0){_0x1fc134=_0x472817['indexOf'](_0x1fc134);}for(let _0x401cf6=0x0,_0x1bb3f6=_0x18f388['length'];_0x401cf6<_0x1bb3f6;_0x401cf6++){_0x373e8b+='%'+('00'+_0x18f388['charCodeAt'](_0x401cf6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x373e8b);};a0_0x56e7['ZzfgZp']=_0x4c6e97,a0_0x56e7['eOgDtZ']={},a0_0x56e7['gznbKA']=!![];}const _0x431bbe=_0x2438c7[0x0],_0x3a6ebc=_0x26d24d+_0x431bbe,_0x4294a7=a0_0x56e7['eOgDtZ'][_0x3a6ebc];return!_0x4294a7?(_0x56e773=a0_0x56e7['ZzfgZp'](_0x56e773),a0_0x56e7['eOgDtZ'][_0x3a6ebc]=_0x56e773):_0x56e773=_0x4294a7,_0x56e773;}class LookupResolver{constructor(){this['lookupCache']=new Map();}['clearCache'](){const _0x370284=a0_0x238db6,_0x47f247={'fqZrI':_0x370284(0xb7)};this['lookupCache'][_0x370284(0xae)](),logger[_0x370284(0xd1)]({'event':_0x47f247['fqZrI']},'Lookup\x20cache\x20cleared');}async[a0_0x238db6(0xaf)](_0x2c72a4,_0x2aba9e,_0x5baaeb){const _0x46df77=a0_0x238db6,_0x4d52a2={'lHOOt':function(_0x15df12,_0x44f97f){return _0x15df12!==_0x44f97f;},'ErJiQ':function(_0x32d011,_0x2d79c5){return _0x32d011!==_0x2d79c5;},'zQKeU':function(_0x570b9d,_0x141e92){return _0x570b9d(_0x141e92);},'uzZjO':_0x46df77(0xc6)},_0x2876eb=_0x2c72a4+':'+_0x2aba9e+':'+_0x5baaeb;if(this['lookupCache']['has'](_0x2876eb))return this[_0x46df77(0xb1)]['get'](_0x2876eb);try{const _0x19d910=_0x46df77(0xce)+_0x5baaeb+',\x20'+_0x2aba9e+'\x20FROM\x20'+_0x2c72a4,_0x4d4c23=await executeQuery(_0x19d910),_0x135b84=new Map();return _0x4d4c23['forEach'](_0x575193=>{const _0x3d2e3a=_0x46df77,_0x209c68=_0x4d52a2['lHOOt'](_0x575193[_0x2aba9e],undefined)?_0x575193[_0x2aba9e]:_0x575193[_0x2aba9e[_0x3d2e3a(0xa9)]()],_0x11fc5b=_0x4d52a2['lHOOt'](_0x575193[_0x5baaeb],undefined)?_0x575193[_0x5baaeb]:_0x575193[_0x5baaeb['toUpperCase']()];_0x4d52a2['lHOOt'](_0x209c68,null)&&_0x4d52a2['ErJiQ'](_0x209c68,undefined)&&(_0x135b84['set'](String(_0x209c68)['toLowerCase']()['trim'](),_0x11fc5b),_0x135b84['set'](_0x4d52a2[_0x3d2e3a(0xc9)](String,_0x209c68)[_0x3d2e3a(0xa7)](),_0x11fc5b));}),this['lookupCache'][_0x46df77(0xd3)](_0x2876eb,_0x135b84),logger['info']({'event':_0x46df77(0xac),'table':_0x2c72a4,'column':_0x2aba9e,'count':_0x4d4c23['length']},'Lookup\x20table\x20loaded:\x20'+_0x2c72a4),_0x135b84;}catch(_0x446ba7){logger[_0x46df77(0xc8)]({'event':_0x4d52a2['uzZjO'],'table':_0x2c72a4,'error':_0x446ba7['message']},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x2c72a4);throw _0x446ba7;}}[a0_0x238db6(0xca)](_0x50b560,_0x30b297){const _0x406ef7=a0_0x238db6,_0x2ba4a6={'WTDdb':function(_0x4a2bc6,_0x1dcd15){return _0x4a2bc6===_0x1dcd15;},'xfQeS':function(_0x2c19b8,_0x554dde){return _0x2c19b8(_0x554dde);}};if(_0x50b560===null||_0x2ba4a6['WTDdb'](_0x50b560,undefined)||_0x50b560==='')return null;const _0x536b6f=_0x2ba4a6[_0x406ef7(0xb3)](String,_0x50b560)[_0x406ef7(0xa7)]();if(_0x30b297['has'](_0x536b6f))return _0x30b297[_0x406ef7(0xbd)](_0x536b6f);const _0xfd23d=_0x536b6f['toLowerCase']();if(_0x30b297[_0x406ef7(0xba)](_0xfd23d))return _0x30b297[_0x406ef7(0xbd)](_0xfd23d);return null;}async[a0_0x238db6(0xcf)](_0x588025,_0x1d7433){const _0x47c10c=a0_0x238db6,_0x545cd1={'ZtjYJ':function(_0x5109de,_0x3a1cd0){return _0x5109de===_0x3a1cd0;},'VCyLu':function(_0x4d63b3,_0x4d4f23){return _0x4d63b3!==_0x4d4f23;},'NVoVF':'Lookup\x20fields\x20processed'};if(!_0x1d7433||Object['keys'](_0x1d7433)[_0x47c10c(0xa6)]===0x0)return{'processedRows':_0x588025,'errors':[]};const _0x28508b=[],_0xeaa0ac=new Map();for(const [_0x3e8914,_0x301e8e]of Object[_0x47c10c(0xc2)](_0x1d7433)){const {lookupTable:_0x431fa1,lookupColumn:_0x511b13,lookupIdColumn:_0xbd7001}=_0x301e8e,_0x98be3e=_0x431fa1+':'+_0x511b13+':'+_0xbd7001;if(!_0xeaa0ac[_0x47c10c(0xba)](_0x98be3e)){const _0x2d4efc=await this['loadLookupTable'](_0x431fa1,_0x511b13,_0xbd7001);_0xeaa0ac['set'](_0x98be3e,_0x2d4efc);}}const _0x311a36=_0x588025['map']((_0x452f78,_0x488c32)=>{const _0x591c44=_0x47c10c,_0x2966a9={..._0x452f78};for(const [_0x5dd0ee,_0x2292ed]of Object['entries'](_0x1d7433)){const {lookupTable:_0x222ff5,lookupColumn:_0x501589,lookupIdColumn:_0x4a96d7,targetField:_0x6f2141,required:_0x366495}=_0x2292ed,_0x47697f=_0x222ff5+':'+_0x501589+':'+_0x4a96d7,_0x1acf8a=_0xeaa0ac['get'](_0x47697f),_0x4dda98=_0x452f78[_0x5dd0ee];if((_0x545cd1[_0x591c44(0xb0)](_0x4dda98,null)||_0x4dda98===undefined||_0x4dda98==='')&&!_0x366495){_0x2966a9[_0x6f2141]=null;continue;}const _0x477e7a=this[_0x591c44(0xca)](_0x4dda98,_0x1acf8a);_0x545cd1['VCyLu'](_0x477e7a,null)?_0x2966a9[_0x6f2141]=_0x477e7a:(_0x366495&&_0x28508b[_0x591c44(0xbb)]({'rowIndex':_0x488c32,'field':_0x5dd0ee,'value':_0x4dda98,'targetField':_0x6f2141,'lookupTable':_0x222ff5,'message':'Value\x20\x22'+_0x4dda98+_0x591c44(0xb5)+_0x222ff5}),_0x2966a9[_0x6f2141]=null);}return _0x2966a9;});return logger['info']({'event':'lookup_fields_processed','totalRows':_0x588025['length'],'errorCount':_0x28508b[_0x47c10c(0xa6)],'lookupFieldCount':Object[_0x47c10c(0xcc)](_0x1d7433)[_0x47c10c(0xa6)]},_0x545cd1[_0x47c10c(0xbe)]),{'processedRows':_0x311a36,'errors':_0x28508b};}['getDistinctValues'](_0x5e8e4e,_0xa0c9c5){const _0x29ebda=a0_0x238db6,_0x226a93={'ehfjy':function(_0x395e2c,_0x41c7a5){return _0x395e2c!==_0x41c7a5;},'FPzgz':function(_0x4fa16a,_0x49c4b0){return _0x4fa16a(_0x49c4b0);}},_0x3bf3ed=new Set();return _0x5e8e4e[_0x29ebda(0xad)](_0x96f62b=>{const _0x456e0d=_0x29ebda,_0x56248a=_0x96f62b[_0xa0c9c5];_0x226a93['ehfjy'](_0x56248a,null)&&_0x56248a!==undefined&&_0x56248a!==''&&_0x3bf3ed['add'](_0x226a93[_0x456e0d(0xd2)](String,_0x56248a)['trim']());}),Array['from'](_0x3bf3ed);}async[a0_0x238db6(0xc3)](_0x1967e9,_0x1d0802){const _0x572bb4=a0_0x238db6,_0x4b789f={'nuTHy':function(_0x64864d,_0x32134d){return _0x64864d>_0x32134d;}};if(!_0x1d0802||Object[_0x572bb4(0xcc)](_0x1d0802)[_0x572bb4(0xa6)]===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x28518e=[],_0x2e864b={};for(const [_0x5020a1,_0x2307fc]of Object[_0x572bb4(0xc2)](_0x1d0802)){const {lookupTable:_0x274fb7,lookupColumn:_0x599bb4,lookupIdColumn:_0x1dd3f0,required:_0x5cff48}=_0x2307fc,_0x4f89a4=this['getDistinctValues'](_0x1967e9,_0x5020a1),_0x568800=await this['loadLookupTable'](_0x274fb7,_0x599bb4,_0x1dd3f0),_0x843cef=[],_0x380f13=[];_0x4f89a4[_0x572bb4(0xad)](_0x4271f4=>{const _0x395ed7=_0x572bb4,_0xa8fc97=this[_0x395ed7(0xca)](_0x4271f4,_0x568800);_0xa8fc97!==null?_0x380f13['push'](_0x4271f4):_0x843cef['push'](_0x4271f4);});if(_0x4b789f[_0x572bb4(0xc5)](_0x843cef[_0x572bb4(0xa6)],0x0)&&_0x5cff48){_0x28518e['push']({'field':_0x5020a1,'lookupTable':_0x274fb7,'invalidValues':_0x843cef,'message':_0x843cef[_0x572bb4(0xa6)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0x274fb7});const _0x2fd73f=[];_0x568800['forEach']((_0x56d78a,_0x1804a4)=>{const _0x5e6104=_0x572bb4;if(_0x1804a4===_0x1804a4[_0x5e6104(0xc7)]())return;_0x2fd73f[_0x5e6104(0xbb)](_0x1804a4);}),_0x2e864b[_0x5020a1]={'invalidValues':_0x843cef,'availableValues':_0x2fd73f['slice'](0x0,0x32)};}}return{'valid':_0x28518e['length']===0x0,'errors':_0x28518e,'suggestions':_0x2e864b};}}module[a0_0x238db6(0xcb)]=new LookupResolver();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a0_0x81ef(_0x15474a,_0x1d9a4a){_0x15474a=_0x15474a-0x129;const _0x5a915b=a0_0x5a91();let _0x81efb6=_0x5a915b[_0x15474a];if(a0_0x81ef['vinwLT']===undefined){var _0x13f193=function(_0x2b9ef9){const _0x14b1b3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5cf0ad='',_0x448b52='';for(let _0x160165=0x0,_0x443393,_0x1cbf2d,_0x461b90=0x0;_0x1cbf2d=_0x2b9ef9['charAt'](_0x461b90++);~_0x1cbf2d&&(_0x443393=_0x160165%0x4?_0x443393*0x40+_0x1cbf2d:_0x1cbf2d,_0x160165++%0x4)?_0x5cf0ad+=String['fromCharCode'](0xff&_0x443393>>(-0x2*_0x160165&0x6)):0x0){_0x1cbf2d=_0x14b1b3['indexOf'](_0x1cbf2d);}for(let _0x4ad898=0x0,_0x4d2905=_0x5cf0ad['length'];_0x4ad898<_0x4d2905;_0x4ad898++){_0x448b52+='%'+('00'+_0x5cf0ad['charCodeAt'](_0x4ad898)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x448b52);};a0_0x81ef['FdKUwR']=_0x13f193,a0_0x81ef['JhsrWK']={},a0_0x81ef['vinwLT']=!![];}const _0x4136a6=_0x5a915b[0x0],_0x4af1d5=_0x15474a+_0x4136a6,_0x5e35b2=a0_0x81ef['JhsrWK'][_0x4af1d5];return!_0x5e35b2?(_0x81efb6=a0_0x81ef['FdKUwR'](_0x81efb6),a0_0x81ef['JhsrWK'][_0x4af1d5]=_0x81efb6):_0x81efb6=_0x5e35b2,_0x81efb6;}const a0_0x5623ba=a0_0x81ef;(function(_0x3c6077,_0x2996b0){const _0x1b180f=a0_0x81ef,_0x46375a=_0x3c6077();while(!![]){try{const _0xad6366=-parseInt(_0x1b180f(0x145))/0x1*(-parseInt(_0x1b180f(0x12e))/0x2)+-parseInt(_0x1b180f(0x141))/0x3*(-parseInt(_0x1b180f(0x14e))/0x4)+parseInt(_0x1b180f(0x14a))/0x5+parseInt(_0x1b180f(0x12b))/0x6*(-parseInt(_0x1b180f(0x12d))/0x7)+-parseInt(_0x1b180f(0x12f))/0x8+-parseInt(_0x1b180f(0x132))/0x9+-parseInt(_0x1b180f(0x140))/0xa*(-parseInt(_0x1b180f(0x13f))/0xb);if(_0xad6366===_0x2996b0)break;else _0x46375a['push'](_0x46375a['shift']());}catch(_0x16b5e3){_0x46375a['push'](_0x46375a['shift']());}}}(a0_0x5a91,0x454c7));const fs=require('fs')[a0_0x5623ba(0x149)],path=require('path'),{logger}=require(a0_0x5623ba(0x12c));class PayloadLoader{constructor(){const _0x1eb86c=a0_0x5623ba;this['payloadDir']=path['join'](__dirname,_0x1eb86c(0x138)),this['cache']=new Map();}async['loadPayload'](_0x4e7311,_0x4dac8b){const _0x20ee6c=a0_0x5623ba,_0x4dc70f={'AASWZ':_0x20ee6c(0x13d),'TDIPH':'payload_load_error'},_0x2e646d=_0x4e7311+':'+_0x4dac8b;if(this[_0x20ee6c(0x130)]['has'](_0x2e646d))return this['cache'][_0x20ee6c(0x146)](_0x2e646d);const _0x1885a7=path[_0x20ee6c(0x135)](this['payloadDir'],_0x4e7311+'_'+_0x4dac8b+'.json');try{const _0x1b5cd4=await fs['readFile'](_0x1885a7,_0x20ee6c(0x144)),_0x2b321d=JSON[_0x20ee6c(0x142)](_0x1b5cd4);return this[_0x20ee6c(0x130)][_0x20ee6c(0x131)](_0x2e646d,_0x2b321d),logger['debug']({'event':_0x20ee6c(0x14b),'project':_0x4e7311,'resource':_0x4dac8b},_0x4dc70f['AASWZ']),_0x2b321d;}catch(_0x49b4c8){logger[_0x20ee6c(0x14f)]({'event':_0x4dc70f[_0x20ee6c(0x151)],'project':_0x4e7311,'resource':_0x4dac8b,'error':_0x49b4c8[_0x20ee6c(0x14c)]},_0x20ee6c(0x14d));throw new Error(_0x20ee6c(0x13e)+_0x4e7311+'_'+_0x4dac8b);}}async[a0_0x5623ba(0x134)](_0x324e3e){const _0x2a17dd=a0_0x5623ba,_0x2fcc25={'rkzjP':'utf8','rhLSz':_0x2a17dd(0x13b)},_0x167f4c=_0x2a17dd(0x147)+_0x324e3e;if(this['cache']['has'](_0x167f4c))return this['cache'][_0x2a17dd(0x146)](_0x167f4c);const _0x281248=path['join'](this['payloadDir'],_0x324e3e+'.json');try{const _0x3267e7=await fs[_0x2a17dd(0x13c)](_0x281248,_0x2fcc25[_0x2a17dd(0x139)]),_0x242bf7=JSON['parse'](_0x3267e7);return this[_0x2a17dd(0x130)]['set'](_0x167f4c,_0x242bf7),logger[_0x2a17dd(0x129)]({'event':'payload_loaded','payloadName':_0x324e3e},_0x2fcc25[_0x2a17dd(0x133)]),_0x242bf7;}catch(_0x59c0ac){logger['error']({'event':'payload_load_error','payloadName':_0x324e3e,'error':_0x59c0ac[_0x2a17dd(0x14c)]},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error(_0x2a17dd(0x13e)+_0x324e3e);}}['isActionEnabled'](_0x953ffb,_0x5be52d){const _0x2f25f9=a0_0x5623ba,_0x5d86dd={'hhjRH':function(_0x1fe730,_0x588f97){return _0x1fe730===_0x588f97;}};return _0x953ffb['action']&&_0x5d86dd[_0x2f25f9(0x143)](_0x953ffb[_0x2f25f9(0x136)][_0x5be52d],!![]);}['getExportConfig'](_0x2b8ed6){const _0x4ed091=a0_0x5623ba;return{'columns':_0x2b8ed6['fieldName']||[],'filename':_0x2b8ed6['tableName']['replace']('.','-')+'-export','datatablesQuery':_0x2b8ed6['datatablesQuery']||null,'columnFormats':_0x2b8ed6[_0x4ed091(0x148)]||null,'fieldLabels':_0x2b8ed6['fieldLabels']||null};}[a0_0x5623ba(0x137)](){const _0x587a37=a0_0x5623ba,_0x8797af={'FIUiN':_0x587a37(0x12a)};this[_0x587a37(0x130)]['clear'](),logger[_0x587a37(0x150)]({'event':_0x587a37(0x13a)},_0x8797af['FIUiN']);}}function a0_0x5a91(){const _0x796599=['lI4VlI4VCgf5Bg9Hza','CMT6ALa','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','CMvHzezPBgu','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','ugf5Bg9HzcbUB3qGzM91BMq6ia','mJCZoxbVq3nODa','mJiXotbOqNjprLu','nZvyuxv0DuO','CgfYC2u','AgHQuKG','DxrMoa','mtq4mdm2De1OB2zU','z2v0','Cgf5Bg9HzdO','y29SDw1UrM9YBwf0CW','ChjVBwLZzxm','nZy4ntiWELvetgXu','Cgf5Bg9Hzf9SB2fKzwq','BwvZC2fNzq','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','mZy5mK5sv0Dfzq','zxjYB3i','Aw5MBW','verjueG','zgvIDwC','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','nde0mJGYENfSB0rs','lI9SB2DNzxi','ndL3wKvlt0O','nMTArgDcvq','mtaXotuWneDrtKDZyW','y2fJAgu','C2v0','mJuWotiZnMjdDvznyq','CMHmu3O','Bg9HzfbHEwXVywrcEu5HBwu','AM9PBG','ywn0Aw9U','y2XLyxjdywnOzq'];a0_0x5a91=function(){return _0x796599;};return a0_0x5a91();}module['exports']=new PayloadLoader();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';var a0_0x5d9d9e=a0_0x41f2;function a0_0x41f2(_0x433a2a,_0x9989a2){_0x433a2a=_0x433a2a-0x1ed;var _0x57d8b3=a0_0x57d8();var _0x41f2bd=_0x57d8b3[_0x433a2a];if(a0_0x41f2['vTamgd']===undefined){var _0x32693c=function(_0x3e2f00){var _0x211aaf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x17af3e='',_0x52fc96='';for(var _0x304d4d=0x0,_0x4a8758,_0x506350,_0x3d036a=0x0;_0x506350=_0x3e2f00['charAt'](_0x3d036a++);~_0x506350&&(_0x4a8758=_0x304d4d%0x4?_0x4a8758*0x40+_0x506350:_0x506350,_0x304d4d++%0x4)?_0x17af3e+=String['fromCharCode'](0xff&_0x4a8758>>(-0x2*_0x304d4d&0x6)):0x0){_0x506350=_0x211aaf['indexOf'](_0x506350);}for(var _0x68b133=0x0,_0xf521a4=_0x17af3e['length'];_0x68b133<_0xf521a4;_0x68b133++){_0x52fc96+='%'+('00'+_0x17af3e['charCodeAt'](_0x68b133)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x52fc96);};a0_0x41f2['lOGZTd']=_0x32693c,a0_0x41f2['fUNAds']={},a0_0x41f2['vTamgd']=!![];}var _0x4ee7d4=_0x57d8b3[0x0],_0xdabc8b=_0x433a2a+_0x4ee7d4,_0x3acd61=a0_0x41f2['fUNAds'][_0xdabc8b];return!_0x3acd61?(_0x41f2bd=a0_0x41f2['lOGZTd'](_0x41f2bd),a0_0x41f2['fUNAds'][_0xdabc8b]=_0x41f2bd):_0x41f2bd=_0x3acd61,_0x41f2bd;}(function(_0x452e8c,_0x4069ed){var _0x58971f=a0_0x41f2,_0x4c27c2=_0x452e8c();while(!![]){try{var _0x1355ae=parseInt(_0x58971f(0x1f4))/0x1+-parseInt(_0x58971f(0x1f3))/0x2+-parseInt(_0x58971f(0x1ee))/0x3+parseInt(_0x58971f(0x1f5))/0x4*(parseInt(_0x58971f(0x1f7))/0x5)+parseInt(_0x58971f(0x1ed))/0x6*(parseInt(_0x58971f(0x1ef))/0x7)+parseInt(_0x58971f(0x1f1))/0x8*(parseInt(_0x58971f(0x1f6))/0x9)+-parseInt(_0x58971f(0x1f8))/0xa;if(_0x1355ae===_0x4069ed)break;else _0x4c27c2['push'](_0x4c27c2['shift']());}catch(_0xd785be){_0x4c27c2['push'](_0x4c27c2['shift']());}}}(a0_0x57d8,0x4de27));function createResponse(_0x327435,_0x2f6936,_0x474752=null){return{'success':!![],'statusCode':_0x327435,'message':_0x2f6936,'data':_0x474752,'timestamp':new Date()['toISOString']()};}function createError(_0x63c831,_0x4f456b,_0x42f009=null){var _0x3de338=a0_0x41f2;return{'success':![],'statusCode':_0x63c831,'message':_0x4f456b,'data':_0x42f009,'timestamp':new Date()[_0x3de338(0x1f2)]()};}function createValidationError(_0x5c8f76,_0x49d204){var _0x19a99d=a0_0x41f2;return{'success':![],'statusCode':0x190,'message':_0x5c8f76,'data':{'errors':_0x49d204},'timestamp':new Date()[_0x19a99d(0x1f2)]()};}function a0_0x57d8(){var _0x49a81d=['mZiYnJy2mfjvExb6rW','mJrss3zQzhu','mtmXmJq0mfHPDu5xBa','mZu5otmZDvH1r3fK','zxHWB3j0CW','nJrND2LND1q','Dg9ju09tDhjPBMC','mJe3ofHeseveuW','mZy4nZm1uuTnAwDO','mta0mZq1mNLHCwjorG','mJC1ntK4Ee11zfzv','nxznteH2Ca'];a0_0x57d8=function(){return _0x49a81d;};return a0_0x57d8();}module[a0_0x5d9d9e(0x1f0)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
|
package/src/utils/rabbitmq.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x1e83a5=a0_0x5a35;(function(_0x4d0784,_0x19e946){const _0x5dce6a=a0_0x5a35,_0x3d74e0=_0x4d0784();while(!![]){try{const _0xca3513=-parseInt(_0x5dce6a(0x18a))/0x1+-parseInt(_0x5dce6a(0x169))/0x2+-parseInt(_0x5dce6a(0x194))/0x3+-parseInt(_0x5dce6a(0x17a))/0x4*(-parseInt(_0x5dce6a(0x195))/0x5)+-parseInt(_0x5dce6a(0x175))/0x6+parseInt(_0x5dce6a(0x178))/0x7*(-parseInt(_0x5dce6a(0x167))/0x8)+-parseInt(_0x5dce6a(0x17e))/0x9*(-parseInt(_0x5dce6a(0x190))/0xa);if(_0xca3513===_0x19e946)break;else _0x3d74e0['push'](_0x3d74e0['shift']());}catch(_0x31efdb){_0x3d74e0['push'](_0x3d74e0['shift']());}}}(a0_0x33f5,0x9285d),require(a0_0x1e83a5(0x170))['config']());const amqp=require('amqplib'),{formatDate}=require(a0_0x1e83a5(0x166)),RABBITMQ_URL=process['env']['RABBITMQ_URL'],EXCHANGE=process[a0_0x1e83a5(0x183)]['RABBITMQ_EXCHANGE'],ROUTING_KEY=process[a0_0x1e83a5(0x183)][a0_0x1e83a5(0x18b)],QUEUE=process[a0_0x1e83a5(0x183)]['RABBITMQ_QUEUE'];async function createConnection(){const _0x4d7f4d=a0_0x1e83a5,_0x3b6f99={'gJFoo':function(_0x42150f,_0x485102){return _0x42150f(_0x485102);}};try{const _0x32e833=await amqp[_0x4d7f4d(0x173)](RABBITMQ_URL);return console[_0x4d7f4d(0x188)]('['+_0x3b6f99['gJFoo'](formatDate,new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x32e833;}catch(_0x306d0b){console[_0x4d7f4d(0x17d)]('['+formatDate(new Date())+_0x4d7f4d(0x17c)+_0x306d0b[_0x4d7f4d(0x187)]);throw _0x306d0b;}}function a0_0x5a35(_0x3235cc,_0x286221){_0x3235cc=_0x3235cc-0x164;const _0x33f5e8=a0_0x33f5();let _0x5a3542=_0x33f5e8[_0x3235cc];if(a0_0x5a35['pLfapC']===undefined){var _0x4138fd=function(_0x436b7a){const _0x324af3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x14a31b='',_0x36081d='';for(let _0x2ee6b4=0x0,_0x5a1267,_0x35667d,_0x2dec3a=0x0;_0x35667d=_0x436b7a['charAt'](_0x2dec3a++);~_0x35667d&&(_0x5a1267=_0x2ee6b4%0x4?_0x5a1267*0x40+_0x35667d:_0x35667d,_0x2ee6b4++%0x4)?_0x14a31b+=String['fromCharCode'](0xff&_0x5a1267>>(-0x2*_0x2ee6b4&0x6)):0x0){_0x35667d=_0x324af3['indexOf'](_0x35667d);}for(let _0x525b51=0x0,_0x236d10=_0x14a31b['length'];_0x525b51<_0x236d10;_0x525b51++){_0x36081d+='%'+('00'+_0x14a31b['charCodeAt'](_0x525b51)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x36081d);};a0_0x5a35['PyHuii']=_0x4138fd,a0_0x5a35['fpFWsQ']={},a0_0x5a35['pLfapC']=!![];}const _0x190435=_0x33f5e8[0x0],_0x5b8a5f=_0x3235cc+_0x190435,_0x5b294d=a0_0x5a35['fpFWsQ'][_0x5b8a5f];return!_0x5b294d?(_0x5a3542=a0_0x5a35['PyHuii'](_0x5a3542),a0_0x5a35['fpFWsQ'][_0x5b8a5f]=_0x5a3542):_0x5a3542=_0x5b294d,_0x5a3542;}async function createChannel(_0x2f22e4){const _0x4772fc=a0_0x1e83a5,_0x4a00df={'Okmry':function(_0x3b13c9,_0x4aadab){return _0x3b13c9(_0x4aadab);}};try{const _0x6bfe6d=await _0x2f22e4['createChannel']();return console['log']('['+_0x4a00df['Okmry'](formatDate,new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x6bfe6d;}catch(_0x3bda32){console['error']('['+formatDate(new Date())+_0x4772fc(0x184)+_0x3bda32[_0x4772fc(0x187)]);throw _0x3bda32;}}async function setupInfrastructure(_0x2cbbe7){const _0x278dca=a0_0x1e83a5,_0x1901e0={'coSNq':_0x278dca(0x168),'sECeF':'direct','cbVvk':function(_0x3330de,_0x887e5e){return _0x3330de(_0x887e5e);},'ceDpN':function(_0x13e5ae,_0x27dcf2){return _0x13e5ae(_0x27dcf2);},'HktHb':function(_0xe3b8a6,_0x1e56ed){return _0xe3b8a6(_0x1e56ed);},'xRPWq':function(_0x1a10bd,_0x151a19){return _0x1a10bd===_0x151a19;},'ForAX':'created/ready','iMghl':function(_0x566df7,_0x508cee){return _0x566df7(_0x508cee);},'qTpcT':'inequivalent\x20arg','exzvE':_0x278dca(0x186),'DKSlM':function(_0x337eee,_0x92afa1){return _0x337eee(_0x92afa1);}};try{await _0x2cbbe7[_0x278dca(0x174)](_0x1901e0[_0x278dca(0x189)],_0x1901e0['sECeF'],{'durable':!![],'autoDelete':![]}),console[_0x278dca(0x188)]('['+_0x1901e0[_0x278dca(0x16d)](formatDate,new Date())+_0x278dca(0x165));}catch(_0x46bbe8){console['error']('['+formatDate(new Date())+_0x278dca(0x182),_0x46bbe8['message']);throw _0x46bbe8;}try{await _0x2cbbe7[_0x278dca(0x174)](EXCHANGE,_0x278dca(0x16b),{'durable':!![],'autoDelete':![]}),console['log']('['+_0x1901e0['ceDpN'](formatDate,new Date())+_0x278dca(0x18f)+EXCHANGE+_0x278dca(0x176));}catch(_0x4e0e07){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x4e0e07['message']);throw _0x4e0e07;}const _0x5e0626=ROUTING_KEY+_0x278dca(0x18c);try{const _0x13eb89={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x2cbbe7['assertQueue'](_0x5e0626,_0x13eb89),console[_0x278dca(0x188)]('['+_0x1901e0[_0x278dca(0x16d)](formatDate,new Date())+_0x278dca(0x179)+_0x5e0626+_0x278dca(0x176)),await _0x2cbbe7[_0x278dca(0x18d)](_0x5e0626,_0x278dca(0x168),ROUTING_KEY),console[_0x278dca(0x188)]('['+formatDate(new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+_0x278dca(0x18e));}catch(_0x2cd2f8){console['error']('['+_0x1901e0[_0x278dca(0x185)](formatDate,new Date())+_0x278dca(0x172),_0x2cd2f8['message']);throw _0x2cd2f8;}try{const _0x11c467={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x1901e0[_0x278dca(0x189)],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x3565e1=await _0x2cbbe7[_0x278dca(0x164)](QUEUE,_0x11c467);console['log']('['+formatDate(new Date())+_0x278dca(0x16e)+QUEUE+'\x20'+(_0x1901e0[_0x278dca(0x16f)](_0x3565e1[_0x278dca(0x193)],QUEUE)?_0x1901e0['ForAX']:_0x278dca(0x171))+_0x278dca(0x181)),await _0x2cbbe7['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+_0x1901e0[_0x278dca(0x17f)](formatDate,new Date())+_0x278dca(0x16a)+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+_0x278dca(0x177));}catch(_0x4ab0bc){if(_0x4ab0bc[_0x278dca(0x187)]['includes'](_0x1901e0['qTpcT'])&&_0x4ab0bc['message']['includes'](_0x1901e0['exzvE']))console['error']('\x0a['+formatDate(new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x278dca(0x17d)](_0x278dca(0x180)+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console[_0x278dca(0x17d)](_0x278dca(0x16c)),process[_0x278dca(0x192)](0x1);else{console[_0x278dca(0x17d)]('['+_0x1901e0['DKSlM'](formatDate,new Date())+_0x278dca(0x17b)+QUEUE+':',_0x4ab0bc['message']);throw _0x4ab0bc;}}}catch(_0x56446d){if(!_0x56446d[_0x278dca(0x187)]['includes'](_0x1901e0['qTpcT'])){console[_0x278dca(0x17d)]('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x56446d['message']);throw _0x56446d;}process['exit'](0x1);}}async function closeConnection(_0x47a615){const _0x6a9fe4=a0_0x1e83a5,_0x27e966={'eHEuM':function(_0x47aea4,_0x2befcd){return _0x47aea4(_0x2befcd);}};if(_0x47a615)try{await _0x47a615['close'](),console['log']('['+formatDate(new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x351704){console[_0x6a9fe4(0x17d)]('['+_0x27e966['eHEuM'](formatDate,new Date())+_0x6a9fe4(0x191)+_0x351704[_0x6a9fe4(0x187)]);}}module['exports']={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};function a0_0x33f5(){const _0x58bdc1=['xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','sgT0sgi','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','BwvZC2fNzq','Bg9N','y29ttNe','ndK5mtqZwMHlAev3','uKfcqKLutvfFuK9vveLor19lrvK','x3jLDhj5','yMLUzff1zxvL','ignYzwf0zwq','xsbfEgnOyw5Nzsa','mtK3nZK0meDysuzOwq','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','zxHPDa','CxvLDwu','mtq2mZC2nNfPywHgta','mZi3ntq1Ew9VAg1N','yxnZzxj0uxvLDwu','xsbszxrYEsbLEgnOyw5NzsbJCMvHDgvKl3jLywr5','lI9KyxrLsgvSCgvY','mJKYmJaXnLf2zxrSva','CMv0CNKTzxHJAgfUz2u','mta4mJyZnKf1q1bgsq','xsbcAw5KAw5Nia','zgLYzwn0','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG','y2jwDMS','xsbrDwv1zsa','Efjqv3e','zg90zw52','zM91BMq','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','y29UBMvJDa','yxnZzxj0rxHJAgfUz2u','mtiYmJi2nNHtEfPnDq','ignYzwf0zwqVCMvHzhK','ksbJCMvHDgvK','mJfPCw9kwwe','xsbszxrYEsbXDwv1zsa','nfjVu3P5yW','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','xsbgywLSzwqGDg8Gy29UBMvJDcb0BYbsywjIAxrnutOG','zxjYB3i','mtuZsMHUv05S','Au1NAgW','uxvLDwuG','ihDPDgGGreXy','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','zw52'];a0_0x33f5=function(){return _0x58bdc1;};return a0_0x33f5();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x3084c3=a0_0x2aae;function a0_0x3396(){const _0x248c9f=['zM9Yy2veAxnJB25Uzwn0','oti4mZHxEvHUAKC','CNn5rfy','z2v0q2XPzw50','uMvKAxmGueLorYb0Aw1LB3v0','uKvesvnFueftu1DpuKq','ode4odmWywntyMXU','tLjwAeu','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','CMvKAxnFzxjYB3i','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','nhnXAMPTrG','ogTfz29lEq','CMfJzq','nJa1oty2mNvlq1L0wa','y29UBMvJDa','AxndB25Uzwn0zwq','mtyXnfzgtwLTCq','mJbuqK5sEwe','zxHWB3j0CW','Aw5MBW','nZyYnZqYmNngsKvICG','mtaWodm4nJrtqMTJtwq','nJn1BgDOsMG','CgLUzW','y2XVC2u','CxvPDa','D2fYBG','nJq4DKzhDgrk','Bg9JywXOB3n0','EM5Owg8','y2XPzw50','CMvKAxnFAw5PDf9LCNjVCG','zxjYB3i','ndyYntK3vhrOsgrp','zw52','BwvZC2fNzq','uKvesvnFrei'];a0_0x3396=function(){return _0x248c9f;};return a0_0x3396();}(function(_0x260776,_0x3dcb30){const _0x23bc33=a0_0x2aae,_0x9508b9=_0x260776();while(!![]){try{const _0xf45288=-parseInt(_0x23bc33(0x7a))/0x1*(parseInt(_0x23bc33(0x95))/0x2)+parseInt(_0x23bc33(0x80))/0x3*(parseInt(_0x23bc33(0x8f))/0x4)+parseInt(_0x23bc33(0x96))/0x5*(-parseInt(_0x23bc33(0x85))/0x6)+-parseInt(_0x23bc33(0x92))/0x7*(parseInt(_0x23bc33(0x90))/0x8)+parseInt(_0x23bc33(0x75))/0x9*(parseInt(_0x23bc33(0x8a))/0xa)+parseInt(_0x23bc33(0x73))/0xb+parseInt(_0x23bc33(0x74))/0xc;if(_0xf45288===_0x3dcb30)break;else _0x9508b9['push'](_0x9508b9['shift']());}catch(_0xc0c9f6){_0x9508b9['push'](_0x9508b9['shift']());}}}(a0_0x3396,0xc5e72));const Redis=require('ioredis'),{logger}=require('./logger');function a0_0x2aae(_0x23298f,_0x327da3){_0x23298f=_0x23298f-0x72;const _0x3396b3=a0_0x3396();let _0x2aaebb=_0x3396b3[_0x23298f];if(a0_0x2aae['rBMffV']===undefined){var _0x1ec3aa=function(_0x57f92d){const _0x16426a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3a5e82='',_0x582428='';for(let _0x475e09=0x0,_0x6f3513,_0x562594,_0x1fe676=0x0;_0x562594=_0x57f92d['charAt'](_0x1fe676++);~_0x562594&&(_0x6f3513=_0x475e09%0x4?_0x6f3513*0x40+_0x562594:_0x562594,_0x475e09++%0x4)?_0x3a5e82+=String['fromCharCode'](0xff&_0x6f3513>>(-0x2*_0x475e09&0x6)):0x0){_0x562594=_0x16426a['indexOf'](_0x562594);}for(let _0x2292f2=0x0,_0x38e00b=_0x3a5e82['length'];_0x2292f2<_0x38e00b;_0x2292f2++){_0x582428+='%'+('00'+_0x3a5e82['charCodeAt'](_0x2292f2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x582428);};a0_0x2aae['uFuHgN']=_0x1ec3aa,a0_0x2aae['TRdGMm']={},a0_0x2aae['rBMffV']=!![];}const _0x4dc7ce=_0x3396b3[0x0],_0x588387=_0x23298f+_0x4dc7ce,_0x5182da=a0_0x2aae['TRdGMm'][_0x588387];return!_0x5182da?(_0x2aaebb=a0_0x2aae['uFuHgN'](_0x2aaebb),a0_0x2aae['TRdGMm'][_0x588387]=_0x2aaebb):_0x2aaebb=_0x5182da,_0x2aaebb;}class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}[a0_0x3084c3(0x93)](){const _0x32fc73=a0_0x3084c3,_0x4e07ea={'sAPvN':_0x32fc73(0x8d),'jEXcd':'redis_disconnected','vJaJy':_0x32fc73(0x7b),'znhXo':function(_0x59e695,_0x158aef,_0xe54a28){return _0x59e695(_0x158aef,_0xe54a28);},'rsyDV':'connect','NRVhE':_0x32fc73(0x77),'fbHOl':_0x32fc73(0x7e),'QNQaU':'Failed\x20to\x20initialize\x20Redis'};if(this[_0x32fc73(0x7d)])return this[_0x32fc73(0x7d)];try{return this['client']=new Redis({'host':process[_0x32fc73(0x81)]['REDIS_HOST']||_0x4e07ea['vJaJy'],'port':_0x4e07ea[_0x32fc73(0x7c)](parseInt,process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x32fc73(0x81)][_0x32fc73(0x89)]||undefined,'db':parseInt(process['env'][_0x32fc73(0x83)],0xa)||0x0,'retryStrategy'(_0x296806){const _0x581f54=Math['min'](_0x296806*0x32,0x7d0);return _0x581f54;}}),this[_0x32fc73(0x7d)]['on'](_0x4e07ea[_0x32fc73(0x86)],()=>{const _0x8272f=_0x32fc73;this[_0x8272f(0x94)]=!![],logger[_0x8272f(0x72)]({'event':'redis_connected'},_0x8272f(0x8c));}),this[_0x32fc73(0x7d)]['on'](_0x32fc73(0x7f),_0x41752b=>{const _0x93e400=_0x32fc73;this[_0x93e400(0x94)]=![],logger['error']({'event':_0x4e07ea['sAPvN'],'error':_0x41752b[_0x93e400(0x82)]},'Redis\x20connection\x20error:\x20'+_0x41752b['message']);}),this['client']['on'](_0x4e07ea[_0x32fc73(0x8b)],()=>{const _0x325f9e=_0x32fc73;this[_0x325f9e(0x94)]=![],logger[_0x325f9e(0x79)]({'event':_0x4e07ea['jEXcd']},_0x325f9e(0x8e));}),this[_0x32fc73(0x7d)];}catch(_0xec841c){logger['error']({'event':_0x4e07ea['fbHOl'],'error':_0xec841c['message']},_0x4e07ea['QNQaU']);throw _0xec841c;}}[a0_0x3084c3(0x87)](){const _0x23f206=a0_0x3084c3;return!this[_0x23f206(0x7d)]&&this[_0x23f206(0x93)](),this[_0x23f206(0x7d)];}async[a0_0x3084c3(0x76)](_0x4e6b68=0x1388){const _0x450356=a0_0x3084c3;try{const _0x186e67=this['getClient'](),_0x164712=await Promise[_0x450356(0x91)]([_0x186e67[_0x450356(0x76)](),new Promise((_0x1bcd7a,_0xb3c2f)=>setTimeout(()=>_0xb3c2f(new Error(_0x450356(0x88))),_0x4e6b68))]);return _0x164712==='PONG';}catch(_0x43daa9){return![];}}async['disconnect'](){const _0x198279=a0_0x3084c3;this[_0x198279(0x7d)]&&(await this[_0x198279(0x7d)][_0x198279(0x78)](),this['client']=null,this['isConnected']=![]);}[a0_0x3084c3(0x84)](){this['client']&&(this['client']['disconnect'](),this['client']=null,this['isConnected']=![]);}}module[a0_0x3084c3(0x97)]=new RedisClient();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a0_0x5decb7=a0_0x1aa0;(function(_0x3f3ed3,_0x311237){const _0x5914f4=a0_0x1aa0,_0xa4980a=_0x3f3ed3();while(!![]){try{const _0x5d48fc=-parseInt(_0x5914f4(0x8d))/0x1+-parseInt(_0x5914f4(0x87))/0x2*(-parseInt(_0x5914f4(0x93))/0x3)+-parseInt(_0x5914f4(0x8f))/0x4+-parseInt(_0x5914f4(0x95))/0x5*(-parseInt(_0x5914f4(0x96))/0x6)+-parseInt(_0x5914f4(0x9c))/0x7*(-parseInt(_0x5914f4(0x8e))/0x8)+-parseInt(_0x5914f4(0x89))/0x9+parseInt(_0x5914f4(0x8b))/0xa;if(_0x5d48fc===_0x311237)break;else _0xa4980a['push'](_0xa4980a['shift']());}catch(_0x5e6acb){_0xa4980a['push'](_0xa4980a['shift']());}}}(a0_0x39ec,0x42fa1));const redisClient=require('./redis-client'),{logger}=require('./logger');function a0_0x1aa0(_0x5d0654,_0x9c041c){_0x5d0654=_0x5d0654-0x87;const _0x39ec4f=a0_0x39ec();let _0x1aa09a=_0x39ec4f[_0x5d0654];if(a0_0x1aa0['nTvzSp']===undefined){var _0x4f735d=function(_0x3bdb5c){const _0x3b7645='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3d1f07='',_0x1a4a3d='';for(let _0x594802=0x0,_0x4e8e9e,_0x2af1f9,_0x254190=0x0;_0x2af1f9=_0x3bdb5c['charAt'](_0x254190++);~_0x2af1f9&&(_0x4e8e9e=_0x594802%0x4?_0x4e8e9e*0x40+_0x2af1f9:_0x2af1f9,_0x594802++%0x4)?_0x3d1f07+=String['fromCharCode'](0xff&_0x4e8e9e>>(-0x2*_0x594802&0x6)):0x0){_0x2af1f9=_0x3b7645['indexOf'](_0x2af1f9);}for(let _0x553b09=0x0,_0x566257=_0x3d1f07['length'];_0x553b09<_0x566257;_0x553b09++){_0x1a4a3d+='%'+('00'+_0x3d1f07['charCodeAt'](_0x553b09)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1a4a3d);};a0_0x1aa0['ATiLgA']=_0x4f735d,a0_0x1aa0['MZnECe']={},a0_0x1aa0['nTvzSp']=!![];}const _0x241e2c=_0x39ec4f[0x0],_0x2c0ee7=_0x5d0654+_0x241e2c,_0x205c44=a0_0x1aa0['MZnECe'][_0x2c0ee7];return!_0x205c44?(_0x1aa09a=a0_0x1aa0['ATiLgA'](_0x1aa09a),a0_0x1aa0['MZnECe'][_0x2c0ee7]=_0x1aa09a):_0x1aa09a=_0x205c44,_0x1aa09a;}function a0_0x39ec(){const _0x68da8e=['CgfYC2u','EfLRyLm','CMvKAxnFz2v0x2vYCM9Y','zxjYB3i','oMv4Cg9YDdO','vLvVDe0','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW','qLL6ugC','z2v0sM9I','zw52','A2v5CW','mta0ndboyvbiBxK','ChjLzML4','ndm4ntyWmw5RqvrTzW','x3bYzwzPEa','mtG2odG4mgn0wNzkBq','CMvKAxnFz2v0ywXSx2vYCM9Y','mZaWmJHcyKnwv20','mJq2mdG1nKfPAxfpva','nJC3ndyWDxfhwNfO','DhrS','z2v0','BwvZC2fNzq','mJuYzLrJEvrp','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','nuLythznBq','mty4mJy0EwDhs2j6','z2v0q2XPzw50','C2v0sM9I','zgvMyxvSDa','C3rYAw5NAwz5','zxHWB3j0CW','n1r2u3fmyW'];a0_0x39ec=function(){return _0x68da8e;};return a0_0x39ec();}class RedisHelper{constructor(){const _0x3b315b=a0_0x1aa0;this[_0x3b315b(0x8a)]=null,this[_0x3b315b(0x90)]=parseInt(process[_0x3b315b(0xa6)]['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get[a0_0x5decb7(0x88)](){const _0x482065=a0_0x5decb7,_0x3e680e={'xYkbS':_0x482065(0x99)};if(!this[_0x482065(0x8a)]){const _0x23533d=process['env']['RESTFORGE_PROJECT_NAME']||_0x3e680e[_0x482065(0x9e)];this[_0x482065(0x8a)]='restforge:'+_0x23533d+_0x482065(0xa1);}return this['_prefix'];}async[a0_0x5decb7(0x98)](_0x1b1c62,_0x5a5c6a){const _0x4dd9a3=a0_0x5decb7,_0x4a5aa2={'pKmqf':'Failed\x20to\x20set\x20job\x20in\x20Redis'};try{const _0x4a5455=redisClient['getClient'](),_0x48bda7=''+this['prefix']+_0x1b1c62;return await _0x4a5455['setex'](_0x48bda7,this['ttl'],JSON[_0x4dd9a3(0x9a)](_0x5a5c6a)),!![];}catch(_0x3ba5e2){return logger[_0x4dd9a3(0xa0)]({'event':'redis_set_error','jobId':_0x1b1c62,'error':_0x3ba5e2[_0x4dd9a3(0x92)]},_0x4a5aa2['pKmqf']),![];}}async['getJob'](_0x28a0af){const _0x1a95e7=a0_0x5decb7,_0x26a23b={'uJlic':'Failed\x20to\x20get\x20job\x20from\x20Redis'};try{const _0x10a556=redisClient['getClient'](),_0xcc7d52=''+this[_0x1a95e7(0x88)]+_0x28a0af,_0x5a0e41=await _0x10a556['get'](_0xcc7d52);return _0x5a0e41?JSON['parse'](_0x5a0e41):null;}catch(_0xdf77ea){return logger['error']({'event':_0x1a95e7(0x9f),'jobId':_0x28a0af,'error':_0xdf77ea[_0x1a95e7(0x92)]},_0x26a23b['uJlic']),null;}}async['updateJob'](_0x3be54b,_0xb518ee){const _0x5a34cc=a0_0x5decb7,_0x4f1a01=await this[_0x5a34cc(0xa5)](_0x3be54b);if(!_0x4f1a01)return![];const _0x6a4298={..._0x4f1a01,..._0xb518ee};return await this['setJob'](_0x3be54b,_0x6a4298);}async['deleteJob'](_0x2307ea){const _0x5361e4=a0_0x5decb7,_0x560a58={'bVZJC':'redis_delete_error','VUotM':_0x5361e4(0xa3)};try{const _0x805c37=redisClient[_0x5361e4(0x97)](),_0x2c5a8e=''+this[_0x5361e4(0x88)]+_0x2307ea;return await _0x805c37['del'](_0x2c5a8e),!![];}catch(_0x2de0c0){return logger[_0x5361e4(0xa0)]({'event':_0x560a58['bVZJC'],'jobId':_0x2307ea,'error':_0x2de0c0[_0x5361e4(0x92)]},_0x560a58[_0x5361e4(0xa2)]),![];}}async['getAllJobs'](){const _0x17b464=a0_0x5decb7,_0x112668={'BYzPg':_0x17b464(0x94)};try{const _0x1f5c9e=redisClient['getClient'](),_0x48c244=await _0x1f5c9e[_0x17b464(0xa7)](this[_0x17b464(0x88)]+'*'),_0x1b2769=[];for(const _0x47fdc8 of _0x48c244){const _0x226fb5=await _0x1f5c9e[_0x17b464(0x91)](_0x47fdc8);_0x226fb5&&_0x1b2769['push'](JSON[_0x17b464(0x9d)](_0x226fb5));}return _0x1b2769;}catch(_0x77ee2){return logger[_0x17b464(0xa0)]({'event':_0x17b464(0x8c),'error':_0x77ee2[_0x17b464(0x92)]},_0x112668[_0x17b464(0xa4)]),[];}}}module[a0_0x5decb7(0x9b)]=new RedisHelper();
|