@restforgejs/platform 4.3.5 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/sdf-tools.exe +0 -0
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/payload/migrate.js +96 -0
- package/generators/lib/dbschema-kit/apply-engine.js +211 -46
- package/generators/lib/dbschema-kit/diff-engine.js +14 -2
- package/generators/lib/dbschema-kit/emitters/alter-table.js +96 -2
- package/generators/lib/dbschema-kit/introspect-mapper.js +9 -0
- package/generators/lib/migrate/backend-payload-migrator.js +221 -0
- package/generators/lib/migrate/field-type-resolver.js +319 -0
- package/generators/lib/migrate/label-generator.js +38 -0
- package/generators/lib/migrate/migrate-runner.js +187 -0
- package/generators/lib/migrate/naming.js +43 -0
- package/generators/lib/migrate/sql-parser.js +124 -0
- package/generators/lib/payload/payload-runner.js +106 -11
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/integrity-manifest.json +18 -18
- package/node_modules/brace-expansion/index.js +1 -1
- package/node_modules/brace-expansion/package.json +1 -1
- package/node_modules/dayjs/CHANGELOG.md +7 -0
- package/node_modules/dayjs/README.md +12 -10
- package/node_modules/dayjs/dayjs.min.js +1 -1
- package/node_modules/dayjs/esm/constant.js +1 -1
- package/node_modules/dayjs/esm/plugin/duration/index.js +5 -4
- package/node_modules/dayjs/locale.json +1 -1
- package/node_modules/dayjs/package.json +2 -2
- package/node_modules/dayjs/plugin/duration.js +1 -1
- package/node_modules/tmp/lib/tmp.js +37 -7
- package/node_modules/tmp/package.json +4 -16
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x1ac1(_0x545b8a,_0x24b475){_0x545b8a=_0x545b8a-0x156;const _0x20cddb=a0_0x20cd();let _0x1ac15c=_0x20cddb[_0x545b8a];if(a0_0x1ac1['CXVZjR']===undefined){var _0x333939=function(_0x24af8e){const _0x59724b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x565b2b='',_0xa1646c='';for(let _0x31e9b0=0x0,_0x46ed5a,_0x4ad9a9,_0x3d8477=0x0;_0x4ad9a9=_0x24af8e['charAt'](_0x3d8477++);~_0x4ad9a9&&(_0x46ed5a=_0x31e9b0%0x4?_0x46ed5a*0x40+_0x4ad9a9:_0x4ad9a9,_0x31e9b0++%0x4)?_0x565b2b+=String['fromCharCode'](0xff&_0x46ed5a>>(-0x2*_0x31e9b0&0x6)):0x0){_0x4ad9a9=_0x59724b['indexOf'](_0x4ad9a9);}for(let _0x4b8113=0x0,_0xeb6d67=_0x565b2b['length'];_0x4b8113<_0xeb6d67;_0x4b8113++){_0xa1646c+='%'+('00'+_0x565b2b['charCodeAt'](_0x4b8113)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xa1646c);};a0_0x1ac1['wnQpnr']=_0x333939,a0_0x1ac1['NAKMLh']={},a0_0x1ac1['CXVZjR']=!![];}const _0x115dc9=_0x20cddb[0x0],_0x2b4ed3=_0x545b8a+_0x115dc9,_0x25769e=a0_0x1ac1['NAKMLh'][_0x2b4ed3];return!_0x25769e?(_0x1ac15c=a0_0x1ac1['wnQpnr'](_0x1ac15c),a0_0x1ac1['NAKMLh'][_0x2b4ed3]=_0x1ac15c):_0x1ac15c=_0x25769e,_0x1ac15c;}const a0_0x43bb08=a0_0x1ac1;function a0_0x20cd(){const _0x1f00e6=['tg9JAYbuveWGzxH0zw5Kzwq','CMv0CNLdB3vUDa','zgvIDwC','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','CMvHzf9SB2nRx2vYCM9Y','v1jjveuGBg9JAYbLCNjVCG','qLb2BwS','C2v0','D3jPDgvFBg9JA19LCNjVCG','x3DVCMTLCKLK','CMv0CNLezwXHEq','v1jjveuGBg9JAYbYzwXLyxnLza','BgfZDeLUzgv4t2y','zw52','te9ds19esvnuuKLcvvrfrf9uveW','D3jPDgvFBg9JA190Aw1LB3v0','mZK2nZu2wef2uhfs','x2LUAxrPywXPEMvK','Bg9JA19LEhrLBMrLza','CMv0CNK','yKnrEKi','C3bSAxq','x2rLzMf1BhruveW','AxnfBMfIBgvK','D3jPDgvFBg9JA19Hy3f1AxjLza','CMvHzf9SB2nRx2fJCxvPCMvK','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','uKvbrcbSB2nRihjLBgvHC2vK','z2vUzxjHDgvmB2nRvMfSDwu','Chj4B2u','qvPwrxG','uKvbrcbSB2nRigvYCM9Y','CMvSzwfZzuXVy2S','nKLXq1nLrq','AwHABxe','zgvS','D29YA2vYswq','yNvPBgrmB2nRs2v5','ChjLzML4','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','mtaXnJC2mhngA2fYCW','CMvHzf9SB2nRx3rPBwvVDxq','yLrlEMu','D3jPDgvFBg9JA193ywL0Aw5N','mJCYmdG2yLDMywrU','zw5HyMXLza','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','x2vUC3vYzuLUAxrPywXPEMvK','C2v0zxG','CMvQzwn0','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','z2v0','D29YA2vYlq','yKHjsKm','mtq3nJG0oejRtwjkra','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','x2vUywjSzwq','Aw5MBW','DxDpCeC','D2fYBG','mteWndq1mMr2Au5JDa','C3rYyxrLz3K','EKjetfu','vMfyy3m','D3jPDgu','CgLK','BwvZC2fNzq','zxzHBa','nZq3nJa3BuTSr2jR','mJi3mJyZmgPwA3bWsq','Dhj1zq','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','Aw5JCG','x3jLDhj5rgvSyxK','Aw5JBhvKzxm','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','zgvMyxvSDfruta','zgvJCG','zxjYB3i','CMvHzf9SB2nRx3jLBgvHC2vK','x3n0CMf0zwD5','DgXXyK8','z2v0q2XPzw50','Bg9JA19JB25MAwDFAw5PDa','ywXS'];a0_0x20cd=function(){return _0x1f00e6;};return a0_0x20cd();}(function(_0x1fb8ff,_0x88335b){const _0x1bfdcd=a0_0x1ac1,_0x1db6d1=_0x1fb8ff();while(!![]){try{const _0x3f5369=parseInt(_0x1bfdcd(0x187))/0x1+parseInt(_0x1bfdcd(0x16a))/0x2+-parseInt(_0x1bfdcd(0x183))/0x3+parseInt(_0x1bfdcd(0x197))/0x4+-parseInt(_0x1bfdcd(0x1a0))/0x5+parseInt(_0x1bfdcd(0x17c))/0x6*(parseInt(_0x1bfdcd(0x19f))/0x7)+parseInt(_0x1bfdcd(0x191))/0x8;if(_0x3f5369===_0x88335b)break;else _0x1db6d1['push'](_0x1db6d1['shift']());}catch(_0x9af779){_0x1db6d1['push'](_0x1db6d1['shift']());}}}(a0_0x20cd,0x3bb3a));const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x3a5bf1=a0_0x1ac1;this['_prefix']=null,this[_0x3a5bf1(0x193)]=null,this['_defaultTTL']=null,this['_retryCount']=null,this[_0x3a5bf1(0x1a4)]=null,this['_strategy']=null,this[_0x3a5bf1(0x163)]=null,this['_initialized']=![];}['_initConfig'](){const _0x48ba39=a0_0x1ac1,_0x5846d5={'ovsHm':function(_0x577157,_0x4d00d6){return _0x577157===_0x4d00d6;},'nMAzt':_0x48ba39(0x1a1),'prxoe':'rf:lock:','zFXew':function(_0x138809,_0x50ad8e,_0x4a7874){return _0x138809(_0x50ad8e,_0x4a7874);},'CVAKq':function(_0x107177,_0x20b5b6,_0x9b47d2){return _0x107177(_0x20b5b6,_0x9b47d2);}},_0x9e7726='4|0|8|1|5|2|7|3|6'[_0x48ba39(0x16f)]('|');let _0x8b725b=0x0;while(!![]){switch(_0x9e7726[_0x8b725b++]){case'0':this[_0x48ba39(0x193)]=_0x5846d5['ovsHm'](process['env']['LOCK_DISTRIBUTED_ENABLED'],_0x5846d5['nMAzt']);continue;case'1':this['_retryCount']=parseInt(process[_0x48ba39(0x167)]['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3;continue;case'2':this[_0x48ba39(0x1ab)]=process['env'][_0x48ba39(0x1a2)]||_0x48ba39(0x16d);continue;case'3':this[_0x48ba39(0x16b)]=!![];continue;case'4':this['_prefix']=_0x5846d5[_0x48ba39(0x178)];continue;case'5':this[_0x48ba39(0x1a4)]=_0x5846d5['zFXew'](parseInt,process[_0x48ba39(0x167)][_0x48ba39(0x174)],0xa)||0x64;continue;case'6':logger[_0x48ba39(0x194)]({'event':_0x48ba39(0x158),'enabled':this[_0x48ba39(0x193)],'strategy':this[_0x48ba39(0x1ab)],'ttl':this[_0x48ba39(0x170)],'retryCount':this['_retryCount'],'retryDelay':this['_retryDelay'],'workerId':this[_0x48ba39(0x163)]},_0x48ba39(0x192)+this[_0x48ba39(0x193)]+',\x20strategy:\x20'+this[_0x48ba39(0x1ab)]);continue;case'7':this[_0x48ba39(0x163)]=_0x48ba39(0x18f)+process[_0x48ba39(0x19c)];continue;case'8':this[_0x48ba39(0x170)]=_0x5846d5['CVAKq'](parseInt,process['env'][_0x48ba39(0x168)],0xa)||0xa;continue;}break;}}['_ensureInitialized'](){const _0x2886f9=a0_0x1ac1;!this[_0x2886f9(0x16b)]&&this['_initConfig']();}get[a0_0x43bb08(0x181)](){const _0x1776e9=a0_0x43bb08;return this[_0x1776e9(0x18a)](),this['_prefix'];}get['enabled'](){const _0x5d33e9=a0_0x43bb08;return this['_ensureInitialized'](),this[_0x5d33e9(0x193)];}get['defaultTTL'](){return this['_ensureInitialized'](),this['_defaultTTL'];}get['retryCount'](){const _0x2faa72=a0_0x43bb08;return this[_0x2faa72(0x18a)](),this['_retryCount'];}get[a0_0x43bb08(0x164)](){return this['_ensureInitialized'](),this['_retryDelay'];}get[a0_0x43bb08(0x198)](){const _0x5bf01d=a0_0x43bb08;return this['_ensureInitialized'](),this[_0x5bf01d(0x1ab)];}get[a0_0x43bb08(0x17f)](){return this['_ensureInitialized'](),this['_workerId'];}[a0_0x43bb08(0x180)](_0x3d43c7){const {module:_0x2e3ca3,endpoint:_0x174873,lockType:_0x378512,recordId:_0x214359}=_0x3d43c7;if(_0x214359)return''+this['prefix']+_0x2e3ca3+':'+_0x174873+':'+_0x214359+':'+_0x378512;return''+this['prefix']+_0x2e3ca3+':'+_0x174873+':'+_0x378512;}['generateLockValue'](){const _0xc1d7d1=a0_0x43bb08,_0x51491d={'BPvmk':function(_0x246e1f){return _0x246e1f();}};return this['workerId']+':'+_0x51491d[_0xc1d7d1(0x160)](uuidv4)+':'+Date['now']();}async['acquireReadLock'](_0xa46391){const _0x579a39=a0_0x43bb08,_0x3dde29={'zBDLU':'read','qxRrf':function(_0x531e0a,_0x33ffa4){return _0x531e0a<_0x33ffa4;},'tlqbO':_0x579a39(0x173),'omfjd':_0x579a39(0x184)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x49787d=this[_0x579a39(0x180)]({..._0xa46391,'lockType':'write'}),_0x191844=this[_0x579a39(0x180)]({..._0xa46391,'lockType':_0x3dde29[_0x579a39(0x199)]}),_0x46ba1b=this[_0x579a39(0x177)]();try{const _0x31d626=redisClient[_0x579a39(0x157)]();for(let _0x48af9b=0x0;_0x3dde29['qxRrf'](_0x48af9b,this['retryCount']);_0x48af9b++){const _0x557599=await _0x31d626['get'](_0x49787d);if(!_0x557599){await _0x31d626[_0x579a39(0x1a3)](_0x191844),await _0x31d626['expire'](_0x191844,this['defaultTTL']);const _0x471cc2=_0x191844+':'+_0x46ba1b;return await _0x31d626[_0x579a39(0x18b)](_0x471cc2,this['defaultTTL'],_0x46ba1b),logger['debug']({'event':_0x3dde29[_0x579a39(0x156)],'key':_0x191844,'value':_0x46ba1b},'READ\x20lock\x20acquired'),{'success':!![],'lockValue':_0x46ba1b,'lockKey':_0x471cc2};}logger[_0x579a39(0x15c)]({'event':'read_lock_waiting','writeKey':_0x49787d,'attempt':_0x48af9b},_0x579a39(0x18d)),await this['sleep'](this[_0x579a39(0x164)]*Math['pow'](0x2,_0x48af9b));}return logger[_0x579a39(0x196)]({'event':_0x3dde29['omfjd'],'key':_0x191844},_0x579a39(0x15d)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x2c41e3){return logger[_0x579a39(0x1a9)]({'event':_0x579a39(0x15e),'error':_0x2c41e3[_0x579a39(0x19d)]},_0x579a39(0x17a)),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x3f839a){const _0x167063=a0_0x43bb08,_0xd3d2bd={'ihZmq':function(_0x4f60f3,_0x3b1b02){return _0x4f60f3===_0x3b1b02;},'olxuX':_0x167063(0x172),'eoxdj':'WRITE\x20lock\x20acquired\x20(reject\x20mode)','myvdX':_0x167063(0x189),'QxqPt':'WRITE\x20lock\x20acquired\x20(retry\x20mode)','uwOpG':_0x167063(0x169),'bHIJC':_0x167063(0x1a6),'bmMxJ':_0x167063(0x15f)};if(!this[_0x167063(0x188)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x5847f6=this[_0x167063(0x180)]({..._0x3f839a,'lockType':'write'}),_0x52ec16=this['buildLockKey']({..._0x3f839a,'lockType':'read'}),_0x1184cb=this[_0x167063(0x177)]();try{const _0x2ec6ce=redisClient['getClient']();if(_0xd3d2bd[_0x167063(0x17d)](this[_0x167063(0x198)],_0x167063(0x18c))){const _0x4e6af0=await _0x2ec6ce['set'](_0x5847f6,_0x1184cb,'EX',this['defaultTTL'],'NX');if(_0x4e6af0==='OK')return logger['debug']({'event':_0xd3d2bd['olxuX'],'key':_0x5847f6,'value':_0x1184cb,'strategy':'reject'},_0xd3d2bd['eoxdj']),{'success':!![],'lockValue':_0x1184cb,'lockKey':_0x5847f6};return logger[_0x167063(0x15c)]({'event':'write_lock_rejected','key':_0x5847f6},_0xd3d2bd['myvdX']),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x5ca7c6=0x0;_0x5ca7c6<this[_0x167063(0x15b)];_0x5ca7c6++){const [_0x597330,_0x3c7445]=await Promise[_0x167063(0x159)]([_0x2ec6ce[_0x167063(0x18e)](_0x52ec16),_0x2ec6ce[_0x167063(0x18e)](_0x5847f6)]);if(!_0x3c7445&&(!_0x597330||parseInt(_0x597330)===0x0)){const _0x1c1edc=await _0x2ec6ce[_0x167063(0x161)](_0x5847f6,_0x1184cb,'EX',this['defaultTTL'],'NX');if(_0x1c1edc==='OK')return logger[_0x167063(0x15c)]({'event':'write_lock_acquired','key':_0x5847f6,'value':_0x1184cb,'strategy':'retry'},_0xd3d2bd['QxqPt']),{'success':!![],'lockValue':_0x1184cb,'lockKey':_0x5847f6};}logger['debug']({'event':_0x167063(0x186),'writeKey':_0x5847f6,'readCount':_0x597330,'attempt':_0x5ca7c6},'Waiting\x20for\x20locks\x20to\x20release'),await this['sleep'](this['retryDelay']*Math['pow'](0x2,_0x5ca7c6));}return logger['warn']({'event':_0xd3d2bd[_0x167063(0x195)],'key':_0x5847f6},_0xd3d2bd[_0x167063(0x190)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x161d69){return logger[_0x167063(0x1a9)]({'event':_0x167063(0x162),'error':_0x161d69['message']},_0xd3d2bd['bmMxJ']),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x43bb08(0x17b)](_0x18c6d5,_0x47d184){const _0x460b94=a0_0x43bb08,_0x453909={'ukmvw':':read:','lNXJf':function(_0x2d3f33,_0xfe7dd0){return _0x2d3f33(_0xfe7dd0);},'GrJqI':_0x460b94(0x176),'jKjsR':function(_0x2fb853,_0x321a7d){return _0x2fb853===_0x321a7d;},'AZVEx':'write_lock_released','QDAsr':_0x460b94(0x165),'uPSrg':'lock_release_error'};if(!this[_0x460b94(0x188)]||!_0x18c6d5)return!![];try{const _0x4ee7e0=redisClient['getClient']();if(_0x18c6d5[_0x460b94(0x1a5)](_0x453909['ukmvw'])){await _0x4ee7e0[_0x460b94(0x17e)](_0x18c6d5);const _0x557622=_0x18c6d5['substring'](0x0,_0x18c6d5[_0x460b94(0x166)](':')),_0x473cb7=await _0x4ee7e0[_0x460b94(0x18e)](_0x557622);return _0x473cb7&&_0x453909['lNXJf'](parseInt,_0x473cb7)>0x0&&await _0x4ee7e0[_0x460b94(0x1a8)](_0x557622),logger['debug']({'event':_0x460b94(0x1aa),'key':_0x18c6d5},_0x453909['GrJqI']),!![];}const _0x812b87=_0x460b94(0x175),_0x9e3c06=await _0x4ee7e0[_0x460b94(0x19e)](_0x812b87,0x1,_0x18c6d5,_0x47d184);if(_0x453909['jKjsR'](_0x9e3c06,0x1))return logger[_0x460b94(0x15c)]({'event':_0x453909[_0x460b94(0x179)],'key':_0x18c6d5},_0x453909['QDAsr']),!![];return logger['warn']({'event':_0x460b94(0x182),'key':_0x18c6d5},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0x56e685){return logger['error']({'event':_0x453909['uPSrg'],'key':_0x18c6d5,'error':_0x56e685[_0x460b94(0x19d)]},'Lock\x20release\x20error'),![];}}async['extendLock'](_0x125eb5,_0x56feca,_0x68d8=null){const _0x236672=a0_0x43bb08,_0x2c2095={'bCQzB':function(_0x3a0704,_0x5d47f6){return _0x3a0704===_0x5d47f6;},'VaXcs':_0x236672(0x16c),'bTKze':'Lock\x20extend\x20error'};if(!this[_0x236672(0x188)]||!_0x125eb5)return!![];try{const _0x5cf0ca=redisClient['getClient'](),_0x58fa9e='\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',_0x436413=await _0x5cf0ca['eval'](_0x58fa9e,0x1,_0x125eb5,_0x56feca,_0x68d8||this[_0x236672(0x1a7)]);if(_0x2c2095[_0x236672(0x16e)](_0x436413,0x1))return logger[_0x236672(0x15c)]({'event':_0x2c2095[_0x236672(0x19a)],'key':_0x125eb5,'ttl':_0x68d8||this[_0x236672(0x1a7)]},_0x236672(0x15a)),!![];return![];}catch(_0x1a642a){return logger[_0x236672(0x1a9)]({'event':'lock_extend_error','key':_0x125eb5,'error':_0x1a642a['message']},_0x2c2095[_0x236672(0x185)]),![];}}[a0_0x43bb08(0x171)](){const _0x3910b0=a0_0x43bb08;return this[_0x3910b0(0x188)];}['sleep'](_0x1fe4e8){return new Promise(_0x54a404=>setTimeout(_0x54a404,_0x1fe4e8));}async['getLockInfo'](_0x56a37b){const _0x20c421=a0_0x43bb08,_0x396924={'iaZHf':function(_0x2c368e,_0x112c29){return _0x2c368e(_0x112c29);}};if(!this[_0x20c421(0x188)])return{'enabled':![]};try{const _0x493034=redisClient[_0x20c421(0x157)](),_0x4e5fd8=this['buildLockKey']({..._0x56a37b,'lockType':_0x20c421(0x19b)}),_0x34d516=this['buildLockKey']({..._0x56a37b,'lockType':'read'}),[_0x1eb6de,_0x50e4e1]=await Promise[_0x20c421(0x159)]([_0x493034[_0x20c421(0x18e)](_0x4e5fd8),_0x493034['get'](_0x34d516)]);return{'enabled':!![],'writeLock':_0x1eb6de||null,'readCount':_0x396924['iaZHf'](parseInt,_0x50e4e1)||0x0,'writeKey':_0x4e5fd8,'readKey':_0x34d516};}catch(_0x111528){return{'enabled':!![],'error':_0x111528['message']};}}}module['exports']=new LockManager();
|
|
1
|
+
const a0_0x2f8026=a0_0x372e;(function(_0xf62ac4,_0x267dda){const _0x41932d=a0_0x372e,_0x3e19d6=_0xf62ac4();while(!![]){try{const _0x9cd5e6=parseInt(_0x41932d(0x147))/0x1*(parseInt(_0x41932d(0x162))/0x2)+parseInt(_0x41932d(0x16d))/0x3*(parseInt(_0x41932d(0x186))/0x4)+parseInt(_0x41932d(0x14b))/0x5+parseInt(_0x41932d(0x166))/0x6*(parseInt(_0x41932d(0x174))/0x7)+parseInt(_0x41932d(0x17a))/0x8+parseInt(_0x41932d(0x159))/0x9*(parseInt(_0x41932d(0x182))/0xa)+parseInt(_0x41932d(0x155))/0xb*(-parseInt(_0x41932d(0x17b))/0xc);if(_0x9cd5e6===_0x267dda)break;else _0x3e19d6['push'](_0x3e19d6['shift']());}catch(_0x4cec29){_0x3e19d6['push'](_0x3e19d6['shift']());}}}(a0_0x5edd,0x28d93));function a0_0x5edd(){const _0x4e3775=['Cw9Izxe','ywXS','mtbpwwXhteK','D29YA2vYlq','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','x3jLDhj5q291BNq','nJG5mM1UtvbpBG','v1fYtgS','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','Bg9JA19LEhrLBMrFzxjYB3i','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','C2v0zxG','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','uKvbrcbSB2nRihjLBgvHC2vK','zxjYB3i','CwXetvi','v1jjveuGBg9JAYbYzwXLyxnLza','z2v0q2XPzw50','qvHzB2G','x2LUAxrdB25MAwC','te9ds19esvnuuKLcvvrfrf9srvrswq','CMv0CNK','C2v0','tg9JAYbYzwXLyxnLigvYCM9Y','lI9YzwrPCY1JBgLLBNq','zw5HyMXLza','x2rLzMf1BhruveW','CMvQzwn0','D29YA2vYswq','x3bYzwzPEa','svn1Dhm','nhWZFdv8mxW4Fdj8nNWWFdC','mJy2ofruAg5Kyq','CMv0CNLezwXHEq','C3rYyxrLz3K','z2v0','nJeXmtiWwvbRDKrR','CgLK','z2vUzxjHDgvmB2nRvMfSDwu','CMvHzf9SB2nRx3rPBwvVDxq','x2vUC3vYzuLUAxrPywXPEMvK','CMvHzf9SB2nRx3DHAxrPBMC','C3bSAxq','CMvHzf9SB2nRx2vYCM9Y','vvfvy3q','uuDNrM4','mtfOuNfHr2S','zgvMyxvSDfruta','v2vIC1i','zxHWAxjL','mJe2ndm0n1Dhrw96ra','BgfZDeLUzgv4t2y','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','ELf5uMm','x3n0CMf0zwD5','Bg9JA19LEhrLBMrLza','yNvPBgrmB2nRs2v5','DKDvALy','zhDfDLi','mtbHCu5kzey','zxH0zw5Ktg9JAW','BvHmBxK','BwvZC2fNzq','mZbWvwjWBfu','te9ds19esvnuuKLcvvrfrf9ftKfcteve','ChjLzML4','D1jUtuC','C3vIC3rYAw5N','uKvbrcbSB2nRigvYCM9Y','uujRvfO','ntaXrMD3tvPn','x2LUAxrPywXPEMvK','zvP0uey','Cg5YCva','D3jPDgvFBg9JA19YzwPLy3rLza','zgvIDwC','CMvHza','mJG0ota3C2jPyw5W','D2fYBG','D3jPDgvFBg9JA19YzwXLyxnLza','D3jPDgu','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','zw52','mtqXnZe4nfbpswv3yW','mta1mJu1mtj6BfDNtwC','Cg93','x3jLDhj5rgvSyxK','AxnfBMfIBgvK','C2XLzxa'];a0_0x5edd=function(){return _0x4e3775;};return a0_0x5edd();}const redisClient=require(a0_0x2f8026(0x13f)),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');function a0_0x372e(_0x41ce01,_0x1962dd){_0x41ce01=_0x41ce01-0x132;const _0x5edd07=a0_0x5edd();let _0x372e54=_0x5edd07[_0x41ce01];if(a0_0x372e['jhHcuw']===undefined){var _0x3d4177=function(_0x1a0687){const _0x26909b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f1e54='',_0x7ebaf6='';for(let _0x3328ab=0x0,_0x15dde2,_0x4df893,_0x7495b5=0x0;_0x4df893=_0x1a0687['charAt'](_0x7495b5++);~_0x4df893&&(_0x15dde2=_0x3328ab%0x4?_0x15dde2*0x40+_0x4df893:_0x4df893,_0x3328ab++%0x4)?_0x2f1e54+=String['fromCharCode'](0xff&_0x15dde2>>(-0x2*_0x3328ab&0x6)):0x0){_0x4df893=_0x26909b['indexOf'](_0x4df893);}for(let _0x10db60=0x0,_0x3ea58c=_0x2f1e54['length'];_0x10db60<_0x3ea58c;_0x10db60++){_0x7ebaf6+='%'+('00'+_0x2f1e54['charCodeAt'](_0x10db60)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x7ebaf6);};a0_0x372e['IQAFAM']=_0x3d4177,a0_0x372e['HmKStd']={},a0_0x372e['jhHcuw']=!![];}const _0x923cea=_0x5edd07[0x0],_0x25f4f1=_0x41ce01+_0x923cea,_0x43f34a=a0_0x372e['HmKStd'][_0x25f4f1];return!_0x43f34a?(_0x372e54=a0_0x372e['IQAFAM'](_0x372e54),a0_0x372e['HmKStd'][_0x25f4f1]=_0x372e54):_0x372e54=_0x43f34a,_0x372e54;}class LockManager{constructor(){const _0x21dd00=a0_0x2f8026,_0x2885c3={'lyFOH':'7|5|1|6|4|0|2|3'},_0x1503d9=_0x2885c3['lyFOH']['split']('|');let _0x231b92=0x0;while(!![]){switch(_0x1503d9[_0x231b92++]){case'0':this['_strategy']=null;continue;case'1':this[_0x21dd00(0x141)]=null;continue;case'2':this['_workerId']=null;continue;case'3':this[_0x21dd00(0x16e)]=![];continue;case'4':this['_retryDelay']=null;continue;case'5':this['_enabled']=null;continue;case'6':this['_retryCount']=null;continue;case'7':this[_0x21dd00(0x144)]=null;continue;}break;}}[a0_0x2f8026(0x13a)](){const _0x5f3c8e=a0_0x2f8026,_0x23d12a={'tHeDI':function(_0x3a8b6e,_0x1b3678,_0x54d4d2){return _0x3a8b6e(_0x1b3678,_0x54d4d2);},'dwEvR':_0x5f3c8e(0x13c),'xPpAJ':function(_0xdfdeba,_0x4d782f){return _0xdfdeba===_0x4d782f;},'pnrqP':'rf:lock:','qobeq':function(_0x33e8a8,_0x27b76a,_0x2db779){return _0x33e8a8(_0x27b76a,_0x2db779);}},_0x193c8c=_0x5f3c8e(0x146)[_0x5f3c8e(0x151)]('|');let _0x51bff9=0x0;while(!![]){switch(_0x193c8c[_0x51bff9++]){case'0':this[_0x5f3c8e(0x16e)]=!![];continue;case'1':this[_0x5f3c8e(0x185)]=_0x23d12a['tHeDI'](parseInt,process['env'][_0x5f3c8e(0x13b)],0xa)||0x3;continue;case'2':this[_0x5f3c8e(0x15d)]=process['env'][_0x5f3c8e(0x184)]||_0x23d12a[_0x5f3c8e(0x161)];continue;case'3':this['_enabled']=_0x23d12a['xPpAJ'](process[_0x5f3c8e(0x179)][_0x5f3c8e(0x167)],'true');continue;case'4':this[_0x5f3c8e(0x144)]=_0x23d12a[_0x5f3c8e(0x170)];continue;case'5':this['_defaultTTL']=_0x23d12a[_0x5f3c8e(0x180)](parseInt,process[_0x5f3c8e(0x179)]['LOCK_DISTRIBUTED_TTL'],0xa)||0xa;continue;case'6':this['_workerId']=_0x5f3c8e(0x183)+process[_0x5f3c8e(0x14c)];continue;case'7':logger['info']({'event':'lock_config_init','enabled':this['_enabled'],'strategy':this['_strategy'],'ttl':this['_defaultTTL'],'retryCount':this['_retryCount'],'retryDelay':this[_0x5f3c8e(0x17d)],'workerId':this['_workerId']},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+',\x20strategy:\x20'+this['_strategy']);continue;case'8':this['_retryDelay']=parseInt(process[_0x5f3c8e(0x179)][_0x5f3c8e(0x133)],0xa)||0x64;continue;}break;}}[a0_0x2f8026(0x14f)](){const _0x271c20=a0_0x2f8026;!this[_0x271c20(0x16e)]&&this['_initConfig']();}get[a0_0x2f8026(0x168)](){const _0xbc73ec=a0_0x2f8026;return this[_0xbc73ec(0x14f)](),this[_0xbc73ec(0x144)];}get[a0_0x2f8026(0x140)](){const _0x4a52b2=a0_0x2f8026;return this[_0x4a52b2(0x14f)](),this['_enabled'];}get['defaultTTL'](){return this['_ensureInitialized'](),this['_defaultTTL'];}get['retryCount'](){const _0x439f8f=a0_0x2f8026;return this[_0x439f8f(0x14f)](),this['_retryCount'];}get[a0_0x2f8026(0x148)](){const _0x535f19=a0_0x2f8026;return this[_0x535f19(0x14f)](),this['_retryDelay'];}get[a0_0x2f8026(0x149)](){const _0x378a64=a0_0x2f8026;return this[_0x378a64(0x14f)](),this['_strategy'];}get[a0_0x2f8026(0x143)](){const _0xf54ee1=a0_0x2f8026;return this[_0xf54ee1(0x14f)](),this['_workerId'];}['buildLockKey'](_0x4ca87d){const _0x51c0ed=a0_0x2f8026,{module:_0x37ae01,endpoint:_0x9ededf,lockType:_0x3e9425,recordId:_0x2074c6}=_0x4ca87d;if(_0x2074c6)return''+this[_0x51c0ed(0x168)]+_0x37ae01+':'+_0x9ededf+':'+_0x2074c6+':'+_0x3e9425;return''+this[_0x51c0ed(0x168)]+_0x37ae01+':'+_0x9ededf+':'+_0x3e9425;}['generateLockValue'](){return this['workerId']+':'+uuidv4()+':'+Date['now']();}async['acquireReadLock'](_0x194338){const _0x2e3df0=a0_0x2f8026,_0x172464={'QGgFn':function(_0x88b8c3,_0x344a2c){return _0x88b8c3<_0x344a2c;},'WebsR':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','AXYoh':function(_0x18aeb2,_0x26ba3c){return _0x18aeb2*_0x26ba3c;},'pHuWa':_0x2e3df0(0x152)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x3a8d74=this[_0x2e3df0(0x15f)]({..._0x194338,'lockType':_0x2e3df0(0x177)}),_0x528c7d=this['buildLockKey']({..._0x194338,'lockType':'read'}),_0x284b6e=this[_0x2e3df0(0x14d)]();try{const _0x445e03=redisClient['getClient']();for(let _0x5bda73=0x0;_0x172464[_0x2e3df0(0x154)](_0x5bda73,this['retryCount']);_0x5bda73++){const _0x22e300=await _0x445e03['get'](_0x3a8d74);if(!_0x22e300){await _0x445e03['incr'](_0x528c7d),await _0x445e03[_0x2e3df0(0x158)](_0x528c7d,this['defaultTTL']);const _0x1a59a2=_0x528c7d+':'+_0x284b6e;return await _0x445e03[_0x2e3df0(0x18b)](_0x1a59a2,this['defaultTTL'],_0x284b6e),logger['debug']({'event':'read_lock_acquired','key':_0x528c7d,'value':_0x284b6e},'READ\x20lock\x20acquired'),{'success':!![],'lockValue':_0x284b6e,'lockKey':_0x1a59a2};}logger[_0x2e3df0(0x172)]({'event':_0x2e3df0(0x150),'writeKey':_0x3a8d74,'attempt':_0x5bda73},_0x172464[_0x2e3df0(0x157)]),await this['sleep'](_0x172464[_0x2e3df0(0x139)](this['retryDelay'],Math[_0x2e3df0(0x17c)](0x2,_0x5bda73)));}return logger[_0x2e3df0(0x175)]({'event':_0x2e3df0(0x14e),'key':_0x528c7d},'READ\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x3751fd){return logger[_0x2e3df0(0x135)]({'event':_0x172464['pHuWa'],'error':_0x3751fd[_0x2e3df0(0x165)]},_0x2e3df0(0x16b)),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x15403a){const _0x370a81=a0_0x2f8026,_0x19373c={'YJMTl':_0x370a81(0x177),'PcFXO':'read','pXbtR':_0x370a81(0x142),'UQUct':'WRITE\x20lock\x20acquired\x20(reject\x20mode)','QjAXa':_0x370a81(0x171),'yjDjG':_0x370a81(0x15b),'qlDMR':function(_0x208d98,_0x19215f){return _0x208d98<_0x19215f;},'ISuts':'write_lock_acquired','YeZLJ':'retry','zQyRc':'Waiting\x20for\x20locks\x20to\x20release','twuKG':function(_0xaf88a5,_0x17a80e){return _0xaf88a5*_0x17a80e;},'eZtPF':'WRITE\x20lock\x20error'};if(!this[_0x370a81(0x140)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x2bd19d=this['buildLockKey']({..._0x15403a,'lockType':_0x19373c['YJMTl']}),_0x24068d=this['buildLockKey']({..._0x15403a,'lockType':_0x19373c['PcFXO']}),_0xf5d739=this[_0x370a81(0x14d)]();try{const _0x2ad5ae=redisClient['getClient']();if(this['strategy']===_0x19373c['pXbtR']){const _0x55b7cf=await _0x2ad5ae['set'](_0x2bd19d,_0xf5d739,'EX',this[_0x370a81(0x156)],'NX');if(_0x55b7cf==='OK')return logger['debug']({'event':'write_lock_acquired','key':_0x2bd19d,'value':_0xf5d739,'strategy':_0x19373c['pXbtR']},_0x19373c[_0x370a81(0x153)]),{'success':!![],'lockValue':_0xf5d739,'lockKey':_0x2bd19d};return logger['debug']({'event':_0x19373c['QjAXa'],'key':_0x2bd19d},_0x19373c['yjDjG']),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x2b09ca=0x0;_0x19373c[_0x370a81(0x136)](_0x2b09ca,this['retryCount']);_0x2b09ca++){const [_0x483289,_0x1c4f40]=await Promise['all']([_0x2ad5ae[_0x370a81(0x14a)](_0x24068d),_0x2ad5ae[_0x370a81(0x14a)](_0x2bd19d)]);if(!_0x1c4f40&&(!_0x483289||parseInt(_0x483289)===0x0)){const _0x12b19b=await _0x2ad5ae[_0x370a81(0x13d)](_0x2bd19d,_0xf5d739,'EX',this[_0x370a81(0x156)],'NX');if(_0x12b19b==='OK')return logger['debug']({'event':_0x19373c[_0x370a81(0x145)],'key':_0x2bd19d,'value':_0xf5d739,'strategy':_0x19373c['YeZLJ']},'WRITE\x20lock\x20acquired\x20(retry\x20mode)'),{'success':!![],'lockValue':_0xf5d739,'lockKey':_0x2bd19d};}logger['debug']({'event':'write_lock_waiting','writeKey':_0x2bd19d,'readCount':_0x483289,'attempt':_0x2b09ca},_0x19373c[_0x370a81(0x15c)]),await this['sleep'](_0x19373c['twuKG'](this[_0x370a81(0x148)],Math[_0x370a81(0x17c)](0x2,_0x2b09ca)));}return logger['warn']({'event':'write_lock_timeout','key':_0x2bd19d},_0x370a81(0x178)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x39f805){return logger['error']({'event':'write_lock_error','error':_0x39f805['message']},_0x19373c[_0x370a81(0x16f)]),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x2da8fe,_0xf61137){const _0x2110c1=a0_0x2f8026,_0xb79418={'sVAjq':function(_0x2ed628,_0x5981f0){return _0x2ed628===_0x5981f0;},'wRnMG':_0x2110c1(0x137),'vGUjV':_0x2110c1(0x188),'cjGDi':_0x2110c1(0x13e)};if(!this['enabled']||!_0x2da8fe)return!![];try{const _0xcae195=redisClient[_0x2110c1(0x138)]();if(_0x2da8fe['includes'](':read:')){await _0xcae195['del'](_0x2da8fe);const _0xda41a2=_0x2da8fe[_0x2110c1(0x16a)](0x0,_0x2da8fe[_0x2110c1(0x15a)](':')),_0x1347ce=await _0xcae195['get'](_0xda41a2);return _0x1347ce&&parseInt(_0x1347ce)>0x0&&await _0xcae195['decr'](_0xda41a2),logger['debug']({'event':'read_lock_released','key':_0x2da8fe},_0x2110c1(0x134)),!![];}const _0x3b497c=_0x2110c1(0x132),_0x35c620=await _0xcae195['eval'](_0x3b497c,0x1,_0x2da8fe,_0xf61137);if(_0xb79418['sVAjq'](_0x35c620,0x1))return logger['debug']({'event':_0x2110c1(0x176),'key':_0x2da8fe},_0xb79418[_0x2110c1(0x169)]),!![];return logger[_0x2110c1(0x175)]({'event':_0x2110c1(0x18a),'key':_0x2da8fe},_0xb79418[_0x2110c1(0x160)]),![];}catch(_0x2eebbd){return logger[_0x2110c1(0x135)]({'event':'lock_release_error','key':_0x2da8fe,'error':_0x2eebbd['message']},_0xb79418['cjGDi']),![];}}async[a0_0x2f8026(0x163)](_0x2d3ffb,_0x1f2b2e,_0x37312a=null){const _0x1f7ce4=a0_0x2f8026,_0x1e7001={'mXLmy':function(_0x4900d2,_0x3ed7d2){return _0x4900d2===_0x3ed7d2;},'QBkTZ':_0x1f7ce4(0x189)};if(!this['enabled']||!_0x2d3ffb)return!![];try{const _0x48e983=redisClient[_0x1f7ce4(0x138)](),_0x56ff3f='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22expire\x22,\x20KEYS[1],\x20ARGV[2])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x219d77=await _0x48e983['eval'](_0x56ff3f,0x1,_0x2d3ffb,_0x1f2b2e,_0x37312a||this[_0x1f7ce4(0x156)]);if(_0x1e7001[_0x1f7ce4(0x164)](_0x219d77,0x1))return logger[_0x1f7ce4(0x172)]({'event':_0x1f7ce4(0x15e),'key':_0x2d3ffb,'ttl':_0x37312a||this['defaultTTL']},'Lock\x20TTL\x20extended'),!![];return![];}catch(_0xb09dd3){return logger[_0x1f7ce4(0x135)]({'event':_0x1e7001[_0x1f7ce4(0x16c)],'key':_0x2d3ffb,'error':_0xb09dd3['message']},'Lock\x20extend\x20error'),![];}}[a0_0x2f8026(0x17e)](){const _0x14ba2d=a0_0x2f8026;return this[_0x14ba2d(0x140)];}[a0_0x2f8026(0x17f)](_0x213f65){return new Promise(_0x4340e7=>setTimeout(_0x4340e7,_0x213f65));}async['getLockInfo'](_0x251815){const _0x186955=a0_0x2f8026,_0x5b34e9={'WQrLk':function(_0x3c67fd,_0x20205f){return _0x3c67fd(_0x20205f);}};if(!this[_0x186955(0x140)])return{'enabled':![]};try{const _0x3e0e50=redisClient['getClient'](),_0x13b529=this['buildLockKey']({..._0x251815,'lockType':_0x186955(0x177)}),_0x2a6a14=this[_0x186955(0x15f)]({..._0x251815,'lockType':_0x186955(0x173)}),[_0x1ce6de,_0x4c892f]=await Promise[_0x186955(0x181)]([_0x3e0e50[_0x186955(0x14a)](_0x13b529),_0x3e0e50['get'](_0x2a6a14)]);return{'enabled':!![],'writeLock':_0x1ce6de||null,'readCount':_0x5b34e9[_0x186955(0x187)](parseInt,_0x4c892f)||0x0,'writeKey':_0x13b529,'readKey':_0x2a6a14};}catch(_0x287706){return{'enabled':!![],'error':_0x287706['message']};}}}module['exports']=new LockManager();
|
package/src/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x5e5d56=a0_0x32ed;(function(_0x17a3db,_0x1211cb){const _0x32fa36=a0_0x32ed,_0x4d1f69=_0x17a3db();while(!![]){try{const _0x2d51f9=-parseInt(_0x32fa36(0x255))/0x1*(parseInt(_0x32fa36(0x292))/0x2)+-parseInt(_0x32fa36(0x23d))/0x3*(-parseInt(_0x32fa36(0x225))/0x4)+parseInt(_0x32fa36(0x249))/0x5*(-parseInt(_0x32fa36(0x220))/0x6)+parseInt(_0x32fa36(0x25f))/0x7+-parseInt(_0x32fa36(0x213))/0x8+parseInt(_0x32fa36(0x264))/0x9+-parseInt(_0x32fa36(0x1e5))/0xa*(-parseInt(_0x32fa36(0x205))/0xb);if(_0x2d51f9===_0x1211cb)break;else _0x4d1f69['push'](_0x4d1f69['shift']());}catch(_0x5dad91){_0x4d1f69['push'](_0x4d1f69['shift']());}}}(a0_0xad6a,0x575f1));const pino=require('pino'),fs=require('fs'),path=require('path');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':a0_0x5e5d56(0x23e),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process[a0_0x5e5d56(0x25a)][a0_0x5e5d56(0x217)]!==a0_0x5e5d56(0x201),logLevel=process['env'][a0_0x5e5d56(0x297)]||a0_0x5e5d56(0x266);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x5e5d56(0x260),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x5e5d56(0x25a)][a0_0x5e5d56(0x23b)]||a0_0x5e5d56(0x229),'env':process[a0_0x5e5d56(0x25a)][a0_0x5e5d56(0x217)]||a0_0x5e5d56(0x278)},'timestamp':pino[a0_0x5e5d56(0x222)][a0_0x5e5d56(0x29a)],'redact':{'paths':['req.headers.authorization',a0_0x5e5d56(0x27b),'password',a0_0x5e5d56(0x299),a0_0x5e5d56(0x22b),'DB_PASSWORD',a0_0x5e5d56(0x23c)],'censor':a0_0x5e5d56(0x29e)},'serializers':{'req':_0x40d98e=>({'id':_0x40d98e['id'],'method':_0x40d98e[a0_0x5e5d56(0x24a)],'url':_0x40d98e[a0_0x5e5d56(0x28c)],'path':_0x40d98e[a0_0x5e5d56(0x21a)],'remoteAddress':_0x40d98e['ip']||_0x40d98e[a0_0x5e5d56(0x251)]?.['remoteAddress']}),'res':_0x3bc6b1=>({'statusCode':_0x3bc6b1['statusCode'],'headers':_0x3bc6b1[a0_0x5e5d56(0x296)]?.()}),'err':pino['stdSerializers']['err']}});function initFileLogging(){const _0x4e0e4c=a0_0x5e5d56,_0x1a8181={'NEoqi':function(_0x10d3ae,_0x324069){return _0x10d3ae===_0x324069;},'ZdZIB':_0x4e0e4c(0x208),'GPQzU':function(_0x292a9e,_0x5347d1){return _0x292a9e!==_0x5347d1;},'giWox':function(_0xa6d6cf,_0x2fc14c){return _0xa6d6cf(_0x2fc14c);},'QTstF':_0x4e0e4c(0x207),'JqTIX':'file_logging_enabled','EHUVI':_0x4e0e4c(0x253),'dIvJH':function(_0x5d5b61,_0x291a7b,_0x346298){return _0x5d5b61(_0x291a7b,_0x346298);},'VGvHY':_0x4e0e4c(0x266)};if(fileLoggingInitialized)return;logToFile=_0x1a8181['NEoqi'](process[_0x4e0e4c(0x25a)][_0x4e0e4c(0x21c)],'true');const _0x52742c=process['env']['RESTFORGE_PROJECT_NAME']||'default';logDir=process['env'][_0x4e0e4c(0x227)]||_0x4e0e4c(0x214)+_0x52742c,serviceName=process[_0x4e0e4c(0x25a)][_0x4e0e4c(0x236)]||_0x4e0e4c(0x28e),sqlLogEnabled=process['env']['SQL_LOG_ENABLED']===_0x1a8181[_0x4e0e4c(0x22a)],sqlLogLevel=process[_0x4e0e4c(0x25a)]['SQL_LOG_LEVEL']||'debug',sqlLogParams=_0x1a8181[_0x4e0e4c(0x20a)](process[_0x4e0e4c(0x25a)][_0x4e0e4c(0x248)],_0x4e0e4c(0x223)),sqlLogSlowThreshold=_0x1a8181[_0x4e0e4c(0x1f7)](parseInt,process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x73788d=path['resolve'](process['cwd'](),logDir);try{!fs[_0x4e0e4c(0x22e)](_0x73788d)&&fs[_0x4e0e4c(0x2a0)](_0x73788d,{'recursive':!![]});}catch(_0x3fd2d2){console[_0x4e0e4c(0x280)](_0x4e0e4c(0x203)+_0x73788d+':',_0x3fd2d2['message']),fileLoggingInitialized=!![];return;}const _0x246d56=path['join'](_0x73788d,_0x4e0e4c(0x253)),_0x81a63d=path[_0x4e0e4c(0x265)](_0x73788d,_0x1a8181['QTstF']);try{appLogStream=fs['createWriteStream'](_0x246d56,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x81a63d,{'flags':'a'}),fileLoggingInitialized=!![];const _0x9021fa={'event':_0x1a8181[_0x4e0e4c(0x263)],'logDir':_0x73788d,'files':[_0x1a8181['EHUVI'],_0x4e0e4c(0x207)]},_0x80a8ab=_0x4e0e4c(0x29c)+_0x73788d;logger[_0x4e0e4c(0x266)](_0x9021fa,_0x80a8ab),_0x1a8181['dIvJH'](writeToFileLog,{..._0x9021fa,'level':_0x1a8181['VGvHY'],'msg':_0x80a8ab,'time':new Date()[_0x4e0e4c(0x2a5)]()},_0x1a8181[_0x4e0e4c(0x28f)]);}catch(_0x37d1e9){console[_0x4e0e4c(0x280)]('Failed\x20to\x20create\x20log\x20streams:',_0x37d1e9[_0x4e0e4c(0x20b)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x519366,_0x5a3c23){const _0x518fa7=a0_0x5e5d56,_0x3d50f4={'kKwDd':function(_0x2c4578,_0x181f7b){return _0x2c4578||_0x181f7b;},'AaXzI':function(_0x1ee700,_0x36ab23){return _0x1ee700===_0x36ab23;}};if(_0x3d50f4['kKwDd'](!logToFile,!appLogStream))return;const _0x2582d6={'service':serviceName,..._0x519366},_0x1c15c5=JSON['stringify'](_0x2582d6)+'\x0a';appLogStream['write'](_0x1c15c5),(_0x5a3c23===_0x518fa7(0x280)||_0x3d50f4['AaXzI'](_0x5a3c23,_0x518fa7(0x1f0)))&&(errorLogStream&&errorLogStream[_0x518fa7(0x204)](_0x1c15c5));}function a0_0x32ed(_0x44dd1c,_0x1e9a47){_0x44dd1c=_0x44dd1c-0x1e4;const _0xad6a97=a0_0xad6a();let _0x32ed44=_0xad6a97[_0x44dd1c];if(a0_0x32ed['INZCMB']===undefined){var _0x51d8fb=function(_0x324319){const _0x490446='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3287e8='',_0x145d4='';for(let _0x50423f=0x0,_0x534381,_0x74971a,_0x540b8a=0x0;_0x74971a=_0x324319['charAt'](_0x540b8a++);~_0x74971a&&(_0x534381=_0x50423f%0x4?_0x534381*0x40+_0x74971a:_0x74971a,_0x50423f++%0x4)?_0x3287e8+=String['fromCharCode'](0xff&_0x534381>>(-0x2*_0x50423f&0x6)):0x0){_0x74971a=_0x490446['indexOf'](_0x74971a);}for(let _0x324951=0x0,_0x57d58a=_0x3287e8['length'];_0x324951<_0x57d58a;_0x324951++){_0x145d4+='%'+('00'+_0x3287e8['charCodeAt'](_0x324951)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x145d4);};a0_0x32ed['YMasLx']=_0x51d8fb,a0_0x32ed['pKGhff']={},a0_0x32ed['INZCMB']=!![];}const _0x17ac5f=_0xad6a97[0x0],_0x50a93c=_0x44dd1c+_0x17ac5f,_0x5e26ff=a0_0x32ed['pKGhff'][_0x50a93c];return!_0x5e26ff?(_0x32ed44=a0_0x32ed['YMasLx'](_0x32ed44),a0_0x32ed['pKGhff'][_0x50a93c]=_0x32ed44):_0x32ed44=_0x5e26ff,_0x32ed44;}const createRequestLogger=(_0x5f1493={})=>{const _0x7aedda=a0_0x5e5d56;return logger[_0x7aedda(0x231)](_0x5f1493);},logServerStart=_0x2a8c3a=>{const _0x198366=a0_0x5e5d56,_0x2bc9df={'ynjcb':'RESTFORGE\x20RUNTIME\x20SERVER','EtcaZ':function(_0x4f95aa,_0x3e1c9a){return _0x4f95aa/_0x3e1c9a;},'dTcfy':'Node.js','iAKxe':'Default','hxiNF':'ACTIVE','pZtDp':_0x198366(0x1fb),'qdEWd':'info'},_0x405476=_0x2bc9df[_0x198366(0x25b)],_0x4fe21f=Math[_0x198366(0x216)](0x0,0x37-_0x405476['length']),_0x50b76b=Math['floor'](_0x2bc9df[_0x198366(0x24d)](_0x4fe21f,0x2)),_0xd3b5e6=_0x4fe21f-_0x50b76b,_0x2a00ed='║'+'\x20'['repeat'](_0x50b76b)+_0x405476+'\x20'['repeat'](_0xd3b5e6)+'║',_0x16b209=_0x198366(0x288)+_0x2a00ed+_0x198366(0x281)+(_0x2a8c3a['environment']||_0x2bc9df[_0x198366(0x26e)])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x2a8c3a['project']||'N/A')['padEnd'](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x2a8c3a[_0x198366(0x243)]||0xbb8)[_0x198366(0x295)](0x26)+_0x198366(0x1ef)+(_0x2a8c3a[_0x198366(0x1fd)]||_0x2bc9df[_0x198366(0x24c)])[_0x198366(0x295)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x2a8c3a['apiKey']?_0x2bc9df['hxiNF']:_0x198366(0x298))[_0x198366(0x295)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x198366(0x24b)](_0x16b209);const _0x1061ed={'event':_0x2bc9df[_0x198366(0x245)],'project':_0x2a8c3a[_0x198366(0x25c)],'port':_0x2a8c3a['port'],'config':_0x2a8c3a[_0x198366(0x1fd)],'apiKeyEnabled':!!_0x2a8c3a[_0x198366(0x22b)]};logger['info'](_0x1061ed),writeToFileLog({..._0x1061ed,'level':_0x198366(0x266),'msg':_0x198366(0x26d)+_0x2a8c3a[_0x198366(0x25c)]+_0x198366(0x21d)+_0x2a8c3a[_0x198366(0x243)],'time':new Date()[_0x198366(0x2a5)]()},_0x2bc9df[_0x198366(0x27a)]);},logServerReady=_0x210d25=>{const _0x23799c=a0_0x5e5d56,_0x66c7f4={'PpQBZ':_0x23799c(0x25e),'qcUIX':function(_0xac9745,_0x3208d5,_0xead3ec){return _0xac9745(_0x3208d5,_0xead3ec);},'vwAMz':'info'},_0x4d2f38={'event':_0x66c7f4['PpQBZ'],'port':_0x210d25['port'],'module':_0x210d25[_0x23799c(0x206)],'healthCheck':_0x210d25[_0x23799c(0x2a2)],'serviceInfo':_0x210d25[_0x23799c(0x267)],'baseUrl':_0x210d25[_0x23799c(0x1f5)]},_0x2034ec='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x210d25[_0x23799c(0x243)];logger[_0x23799c(0x266)](_0x4d2f38,_0x2034ec),_0x66c7f4[_0x23799c(0x27f)](writeToFileLog,{..._0x4d2f38,'level':_0x66c7f4[_0x23799c(0x22f)],'msg':_0x2034ec,'time':new Date()[_0x23799c(0x2a5)]()},_0x23799c(0x266)),_0x210d25[_0x23799c(0x2a2)]&&logger[_0x23799c(0x266)]('\x20\x20Health:\x20'+_0x210d25[_0x23799c(0x2a2)]),_0x210d25['serviceInfo']&&logger[_0x23799c(0x266)](_0x23799c(0x1f4)+_0x210d25['serviceInfo']),_0x210d25['baseUrl']&&logger['info'](_0x23799c(0x27e)+_0x210d25['baseUrl']);},logProjectLoaded=(_0x22baa6,_0xa829de)=>{const _0xbaac1f=a0_0x5e5d56,_0xc873db={'uRoYW':_0xbaac1f(0x239),'PcQAc':function(_0x9ef0a,_0x17d8a2,_0x4bae36){return _0x9ef0a(_0x17d8a2,_0x4bae36);},'xBWfV':_0xbaac1f(0x266)},_0x18ff48={'event':_0xc873db[_0xbaac1f(0x1f1)],'project':_0x22baa6,'path':_0xa829de},_0x41c09c=_0xbaac1f(0x202)+_0x22baa6;logger['info'](_0x18ff48,_0x41c09c),_0xc873db[_0xbaac1f(0x21e)](writeToFileLog,{..._0x18ff48,'level':_0xc873db['xBWfV'],'msg':_0x41c09c,'time':new Date()['toISOString']()},_0xc873db[_0xbaac1f(0x24f)]);},logEndpointRegistered=(_0x17972e,_0x9b759c)=>{const _0x2bce5c=a0_0x5e5d56,_0x31f5f9={'FOYwG':'endpoint_registered','JnnbY':function(_0x5605ee,_0x319ca7,_0x5e42e5){return _0x5605ee(_0x319ca7,_0x5e42e5);},'iyong':_0x2bce5c(0x212)},_0x5796b0={'event':_0x31f5f9[_0x2bce5c(0x20e)],'endpoint':_0x17972e,'route':_0x9b759c},_0x571af6=_0x2bce5c(0x27c)+_0x17972e+':\x20'+_0x9b759c;logger['debug'](_0x5796b0,_0x571af6),_0x31f5f9['JnnbY'](writeToFileLog,{..._0x5796b0,'level':_0x31f5f9['iyong'],'msg':_0x571af6,'time':new Date()['toISOString']()},_0x31f5f9[_0x2bce5c(0x218)]);},logDatabaseConfig=_0x563af9=>{const _0x2ffdac=a0_0x5e5d56,_0x47dd0b={'hLlwW':function(_0x5cf230,_0xefdde6,_0x39de25){return _0x5cf230(_0xefdde6,_0x39de25);},'ybXPi':_0x2ffdac(0x212)},_0x81caf0={'event':_0x2ffdac(0x240),'host':_0x563af9[_0x2ffdac(0x1fc)],'port':_0x563af9['port'],'database':_0x563af9[_0x2ffdac(0x1ed)],'type':_0x563af9['type'],'user':_0x563af9[_0x2ffdac(0x289)]},_0x5526d6=_0x2ffdac(0x1f3)+_0x563af9[_0x2ffdac(0x261)]+_0x2ffdac(0x233)+_0x563af9['host']+':'+_0x563af9['port']+'/'+_0x563af9[_0x2ffdac(0x1ed)];logger['debug'](_0x81caf0,_0x5526d6),_0x47dd0b[_0x2ffdac(0x2a3)](writeToFileLog,{..._0x81caf0,'level':_0x47dd0b['ybXPi'],'msg':_0x5526d6,'time':new Date()[_0x2ffdac(0x2a5)]()},'debug');},logRequest=(_0x5641ac,_0x3715e1,_0x10bdb7)=>{const _0x567072=a0_0x5e5d56,_0x591624={'cbRry':'http_request','Ezpdc':_0x567072(0x280)},_0x4c39b9={'event':_0x591624['cbRry'],'method':_0x5641ac['method'],'path':_0x5641ac[_0x567072(0x21a)],'statusCode':_0x3715e1['statusCode'],'durationMs':_0x10bdb7,'ip':_0x5641ac['ip']},_0x5e73b8=_0x5641ac[_0x567072(0x24a)]+'\x20'+_0x5641ac['path']+_0x567072(0x22d)+_0x3715e1['statusCode']+'\x20('+_0x10bdb7+'ms)';let _0x128c06='info';if(_0x3715e1[_0x567072(0x284)]>=0x1f4)_0x128c06=_0x591624[_0x567072(0x21b)],logger[_0x567072(0x280)](_0x4c39b9,_0x5e73b8);else _0x3715e1['statusCode']>=0x190?(_0x128c06=_0x567072(0x2a4),logger[_0x567072(0x2a4)](_0x4c39b9,_0x5e73b8)):logger['info'](_0x4c39b9,_0x5e73b8);writeToFileLog({..._0x4c39b9,'level':_0x128c06,'msg':_0x5e73b8,'time':new Date()[_0x567072(0x2a5)]()},_0x128c06);},SENSITIVE_PARAM_PATTERNS=['password','passwd','pwd',a0_0x5e5d56(0x299),'access_token','refresh_token',a0_0x5e5d56(0x1e4),'api_secret','apikey','api_key',a0_0x5e5d56(0x219),a0_0x5e5d56(0x271),'pin','otp','private_key','privatekey'],redactSensitiveParams=(_0x1ef69e,_0x422f74)=>{const _0x396de2=a0_0x5e5d56,_0x46f01c={'LzCVJ':'[REDACTED]','PMqeh':function(_0x127c65,_0x28ed30){return _0x127c65===_0x28ed30;},'NIWWr':_0x396de2(0x29b),'wkuVP':'[REDACTED:hash]'};if(!_0x1ef69e||_0x46f01c[_0x396de2(0x1f2)](_0x1ef69e['length'],0x0))return _0x1ef69e;const _0x2ff665=_0x422f74['toLowerCase'](),_0x2612c8=_0x2ff665['match'](/\(([^)]+)\)\s*values/i);let _0x1345f5=[];_0x2612c8&&(_0x1345f5=_0x2612c8[0x1][_0x396de2(0x290)](',')[_0x396de2(0x287)](_0xfd3ac6=>_0xfd3ac6[_0x396de2(0x21f)]()[_0x396de2(0x256)]()));const _0x4a6908=_0x2ff665[_0x396de2(0x242)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x4a6908){const _0x10741e=_0x4a6908[0x1],_0x45e941=_0x10741e['match'](/(\w+)\s*=/g);_0x45e941&&(_0x1345f5=_0x45e941['map'](_0x4f52f6=>_0x4f52f6['replace'](/\s*=/,'')[_0x396de2(0x21f)]()['toLowerCase']()));}return _0x1ef69e[_0x396de2(0x287)]((_0x2dd9c1,_0xda3281)=>{const _0x2c6d46=_0x396de2;if(_0x1345f5[_0xda3281]){const _0x155b86=_0x1345f5[_0xda3281],_0x4f261f=SENSITIVE_PARAM_PATTERNS['some'](_0x5ea213=>_0x155b86['includes'](_0x5ea213));if(_0x4f261f)return _0x46f01c['LzCVJ'];}if(_0x46f01c['PMqeh'](typeof _0x2dd9c1,_0x46f01c[_0x2c6d46(0x269)])&&_0x2dd9c1[_0x2c6d46(0x26a)]>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x2c6d46(0x23f)](_0x2dd9c1)&&_0x2dd9c1[_0x2c6d46(0x1e8)]('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/['test'](_0x2dd9c1))return _0x46f01c[_0x2c6d46(0x250)];}return _0x2dd9c1;});},parseQueryMetadata=_0x3d1b5d=>{const _0x48b591=a0_0x5e5d56,_0x1578b2={'Wvtoe':_0x48b591(0x1ec),'cfBUU':_0x48b591(0x228),'qSObZ':'DELETE','zPzDq':_0x48b591(0x22c),'pfnqY':_0x48b591(0x215),'KmaZc':'CREATE','maNtJ':_0x48b591(0x282),'dysbd':'DDL_ALTER'},_0x572496=_0x3d1b5d['trim'](),_0xba8e9e=_0x572496[_0x48b591(0x28b)]();let _0x57ca3c=_0x48b591(0x275),_0x1f493d=null;if(_0xba8e9e[_0x48b591(0x258)](_0x1578b2[_0x48b591(0x26b)])){_0x57ca3c=_0x1578b2['Wvtoe'];const _0x38c7ba=_0x572496[_0x48b591(0x242)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1f493d=_0x38c7ba?_0x38c7ba[0x1]:null;}else{if(_0xba8e9e[_0x48b591(0x258)](_0x1578b2['cfBUU'])){_0x57ca3c='INSERT';const _0x65b2ca=_0x572496[_0x48b591(0x242)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1f493d=_0x65b2ca?_0x65b2ca[0x1]:null;}else{if(_0xba8e9e[_0x48b591(0x258)](_0x48b591(0x1ea))){_0x57ca3c='UPDATE';const _0x2dbc76=_0x572496['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1f493d=_0x2dbc76?_0x2dbc76[0x1]:null;}else{if(_0xba8e9e['startsWith'](_0x1578b2['qSObZ'])){_0x57ca3c=_0x48b591(0x1e7);const _0x4a8a56=_0x572496[_0x48b591(0x242)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1f493d=_0x4a8a56?_0x4a8a56[0x1]:null;}else{if(_0xba8e9e[_0x48b591(0x258)](_0x48b591(0x1eb))||_0xba8e9e[_0x48b591(0x258)]('START\x20TRANSACTION'))_0x57ca3c=_0x48b591(0x230);else{if(_0xba8e9e['startsWith'](_0x1578b2['zPzDq']))_0x57ca3c=_0x48b591(0x1fa);else{if(_0xba8e9e['startsWith'](_0x48b591(0x273)))_0x57ca3c=_0x1578b2[_0x48b591(0x20f)];else{if(_0xba8e9e[_0x48b591(0x258)](_0x1578b2[_0x48b591(0x268)]))_0x57ca3c=_0x1578b2['maNtJ'];else{if(_0xba8e9e['startsWith']('ALTER'))_0x57ca3c=_0x1578b2[_0x48b591(0x1f6)];else _0xba8e9e['startsWith'](_0x48b591(0x252))&&(_0x57ca3c=_0x48b591(0x274));}}}}}}}}return{'type':_0x57ca3c,'table':_0x1f493d};},startQueryTimer=()=>{const _0x5b2dc9={'msGtE':function(_0x5072cc,_0x17320d){return _0x5072cc(_0x17320d);},'nUlDH':function(_0x482720,_0x941ac1){return _0x482720/_0x941ac1;}},_0x254ae1=process['hrtime']();return()=>{const _0x14fe8b=a0_0x32ed,[_0x226e3a,_0x4a594c]=process[_0x14fe8b(0x27d)](_0x254ae1);return _0x5b2dc9['msGtE'](parseFloat,(_0x226e3a*0x3e8+_0x5b2dc9['nUlDH'](_0x4a594c,0xf4240))[_0x14fe8b(0x20c)](0x2));};},logQuery=(_0x209600,_0x71e829=[],_0x1bcb18={})=>{const _0x451ee4=a0_0x5e5d56,_0x2148fa={'xFyBn':'db_query','FWitF':_0x451ee4(0x1ff),'DoILZ':'postgresql','YqowK':function(_0x148696,_0x2f2293){return _0x148696!==_0x2f2293;},'rHysw':function(_0x48e41a,_0x2fd342){return _0x48e41a>_0x2fd342;},'OVgOd':'debug','YMGKz':_0x451ee4(0x28d),'SYstP':'info','mfNji':function(_0x2bf348,_0x169b81,_0x26499b){return _0x2bf348(_0x169b81,_0x26499b);}};if(!sqlLogEnabled){logger['debug']({'event':_0x2148fa[_0x451ee4(0x26c)],'query':_0x209600['substring'](0x0,0xc8),'paramCount':_0x71e829[_0x451ee4(0x26a)]},_0x2148fa['FWitF']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x2148fa['DoILZ']}=_0x1bcb18,{type:_0x345360,table:_0x75f655}=parseQueryMetadata(_0x209600),_0x3a02eb={'event':'sql_query','queryType':_0x345360,'table':_0x75f655,'query':_0x209600,'paramCount':_0x71e829['length'],'dbType':dbType};sqlLogParams&&_0x71e829[_0x451ee4(0x26a)]>0x0&&(_0x3a02eb[_0x451ee4(0x200)]=redactSensitiveParams(_0x71e829,_0x209600));_0x2148fa['YqowK'](duration,null)&&(_0x3a02eb[_0x451ee4(0x1ee)]=duration,_0x3a02eb[_0x451ee4(0x210)]=_0x2148fa['rHysw'](duration,sqlLogSlowThreshold));_0x2148fa['YqowK'](rowsAffected,null)&&(_0x3a02eb['rowsAffected']=rowsAffected);const _0x2197be=_0x75f655||'unknown';let _0x4cee78='['+_0x345360+']\x20'+_0x2197be;_0x2148fa['YqowK'](duration,null)&&(_0x4cee78+='\x20('+duration+'ms)');const _0x8f8e24=_0x2148fa['YqowK'](duration,null)&&duration>sqlLogSlowThreshold;let _0x4f746b=_0x2148fa[_0x451ee4(0x29d)];if(_0x8f8e24)_0x4cee78+=_0x2148fa['YMGKz'],_0x4f746b=_0x451ee4(0x2a4),logger[_0x451ee4(0x2a4)](_0x3a02eb,_0x4cee78);else sqlLogLevel===_0x2148fa[_0x451ee4(0x237)]?(_0x4f746b=_0x2148fa['SYstP'],logger[_0x451ee4(0x266)](_0x3a02eb,_0x4cee78)):logger['debug'](_0x3a02eb,_0x4cee78);_0x2148fa[_0x451ee4(0x285)](writeToFileLog,{..._0x3a02eb,'level':_0x4f746b,'msg':_0x4cee78,'time':new Date()[_0x451ee4(0x2a5)]()},_0x4f746b);},logTransaction=(_0x461f99,_0x3bb9d3)=>{const _0x4ed290=a0_0x5e5d56,_0x40c942={'XTKlQ':'db_transaction'},_0x36b04d={'event':_0x40c942[_0x4ed290(0x211)],'status':_0x461f99,'queryCount':_0x3bb9d3},_0x38acdc='Transaction\x20'+_0x461f99;logger[_0x4ed290(0x212)](_0x36b04d,_0x38acdc),writeToFileLog({..._0x36b04d,'level':'debug','msg':_0x38acdc,'time':new Date()['toISOString']()},_0x4ed290(0x212));},redactObject=_0x62f006=>{const _0x319b69=a0_0x5e5d56,_0xb137ba={'ACCVp':'object','QBxLu':'passwd','FFUkV':'pwd','BzMVh':'api_key','mSdqg':_0x319b69(0x1f8),'ouvaF':_0x319b69(0x209),'GaESZ':'ssn','vUxgo':'privatekey','alFCX':_0x319b69(0x291),'UMWFO':function(_0x408b39,_0x12ef98){return _0x408b39===_0x12ef98;}};if(!_0x62f006||typeof _0x62f006!==_0xb137ba[_0x319b69(0x232)])return _0x62f006;const _0x398343=['password',_0xb137ba['QBxLu'],_0xb137ba['FFUkV'],_0x319b69(0x299),'secret','apikey',_0xb137ba[_0x319b69(0x294)],'authorization',_0xb137ba['mSdqg'],_0xb137ba[_0x319b69(0x238)],_0x319b69(0x262),_0xb137ba['GaESZ'],'pin',_0x319b69(0x24e),_0xb137ba[_0x319b69(0x224)],_0xb137ba['alFCX'],_0x319b69(0x234)],_0x34ca10=Array['isArray'](_0x62f006)?[..._0x62f006]:{..._0x62f006};for(const _0x46cee7 of Object['keys'](_0x34ca10)){const _0x4b5c=_0x46cee7[_0x319b69(0x256)]();if(_0x398343[_0x319b69(0x23a)](_0x5ec776=>_0x4b5c[_0x319b69(0x1e8)](_0x5ec776)))_0x34ca10[_0x46cee7]='[REDACTED]';else _0xb137ba[_0x319b69(0x241)](typeof _0x34ca10[_0x46cee7],'object')&&_0x34ca10[_0x46cee7]!==null&&(_0x34ca10[_0x46cee7]=redactObject(_0x34ca10[_0x46cee7]));}return _0x34ca10;},logError=(_0x102e8e,_0x10e6da={},_0x371578=null)=>{const _0x1d382d=a0_0x5e5d56,_0x19c69d={'oFVEJ':_0x1d382d(0x235),'sUPnP':'error'},_0xd0517a={'event':_0x1d382d(0x280),'errorName':_0x102e8e['name']||_0x19c69d['oFVEJ'],'errorMessage':_0x102e8e[_0x1d382d(0x20b)],'errorCode':_0x102e8e[_0x1d382d(0x270)]||null,'stack':_0x102e8e['stack'],..._0x10e6da},_0x5e23fb=_0x371578||'Error:\x20'+_0x102e8e['message'];logger[_0x1d382d(0x280)](_0xd0517a,_0x5e23fb),writeToFileLog({..._0xd0517a,'level':_0x19c69d[_0x1d382d(0x286)],'msg':_0x5e23fb,'time':new Date()[_0x1d382d(0x2a5)]()},'error');},logFatalError=(_0x5d49ce,_0x165b7e={},_0x35f16d=null)=>{const _0x20f12b=a0_0x5e5d56,_0x762995={'TykLx':_0x20f12b(0x2a1),'WYfSy':'fatal','qhDyt':'error'},_0x566dd9={'event':_0x762995[_0x20f12b(0x244)],'errorName':_0x5d49ce[_0x20f12b(0x247)]||'Error','errorMessage':_0x5d49ce['message'],'errorCode':_0x5d49ce['code']||null,'stack':_0x5d49ce[_0x20f12b(0x226)],'severity':_0x20f12b(0x276),..._0x165b7e},_0x25705f=_0x35f16d||'FATAL:\x20'+_0x5d49ce[_0x20f12b(0x20b)];logger[_0x20f12b(0x1f0)](_0x566dd9,_0x25705f),writeToFileLog({..._0x566dd9,'level':_0x762995['WYfSy'],'msg':_0x25705f,'time':new Date()['toISOString']()},_0x762995['qhDyt']);},logHttpError=(_0x3af050,_0xc32872,_0x73fb61={})=>{const _0x2a2601=a0_0x5e5d56,_0x1b9bc3={'AiOUy':_0x2a2601(0x235),'vKpxm':'user-agent','zhemz':'warn'},_0x17c2ca={'event':'http_error','errorName':_0x3af050[_0x2a2601(0x247)]||_0x1b9bc3['AiOUy'],'errorMessage':_0x3af050[_0x2a2601(0x20b)],'errorCode':_0x3af050['code']||_0x3af050['statusCode']||0x1f4,'stack':_0x3af050[_0x2a2601(0x226)],'method':_0xc32872?.['method'],'url':_0xc32872?.['url']||_0xc32872?.['originalUrl'],'path':_0xc32872?.['path'],'ip':_0xc32872?.['ip']||_0xc32872?.[_0x2a2601(0x251)]?.['remoteAddress'],'userAgent':_0xc32872?.[_0x2a2601(0x277)]?.(_0x1b9bc3['vKpxm']),'requestId':_0xc32872?.['id']||_0xc32872?.['headers']?.[_0x2a2601(0x25d)],'body':_0xc32872?.[_0x2a2601(0x246)]?redactObject(_0xc32872[_0x2a2601(0x246)]):undefined,'query':_0xc32872?.[_0x2a2601(0x279)],..._0x73fb61},_0x3efd96=_0x3af050['statusCode']||_0x3af050['status']||0x1f4,_0x4d0abf=_0x2a2601(0x1e9)+_0x3efd96+':\x20'+_0x3af050[_0x2a2601(0x20b)];_0x3efd96>=0x1f4?logger['error'](_0x17c2ca,_0x4d0abf):logger['warn'](_0x17c2ca,_0x4d0abf),writeToFileLog({..._0x17c2ca,'level':_0x3efd96>=0x1f4?'error':_0x1b9bc3[_0x2a2601(0x272)],'msg':_0x4d0abf,'time':new Date()[_0x2a2601(0x2a5)]()},_0x3efd96>=0x1f4?_0x2a2601(0x280):_0x1b9bc3['zhemz']);},logUncaughtError=(_0x110c82,_0x169b30)=>{const _0x4d3885=a0_0x5e5d56,_0x1d00cb={'LzOTz':_0x4d3885(0x235),'uZmOQ':function(_0x12094b,_0x510237){return _0x12094b(_0x510237);},'VPzIo':function(_0x2c85ef,_0x3050c4,_0x31609c){return _0x2c85ef(_0x3050c4,_0x31609c);},'HVUtH':'fatal','zBIJG':'error'},_0x32a113={'event':_0x110c82,'errorName':_0x169b30?.['name']||_0x1d00cb['LzOTz'],'errorMessage':_0x169b30?.[_0x4d3885(0x20b)]||_0x1d00cb[_0x4d3885(0x259)](String,_0x169b30),'errorCode':_0x169b30?.[_0x4d3885(0x270)]||null,'stack':_0x169b30?.[_0x4d3885(0x226)],'severity':_0x4d3885(0x276),'processId':process['pid'],'memoryUsage':process[_0x4d3885(0x1fe)](),'uptime':process[_0x4d3885(0x28a)]()},_0x59602='['+_0x110c82[_0x4d3885(0x28b)]()+']\x20'+(_0x169b30?.[_0x4d3885(0x20b)]||_0x169b30);logger['fatal'](_0x32a113,_0x59602),_0x1d00cb['VPzIo'](writeToFileLog,{..._0x32a113,'level':_0x1d00cb['HVUtH'],'msg':_0x59602,'time':new Date()['toISOString']()},_0x1d00cb['zBIJG']);},setupGlobalErrorHandlers=()=>{const _0x34c91a=a0_0x5e5d56,_0x583aef={'MqtFM':'uncaughtException','dREYf':function(_0x99add9,_0x3784b9,_0x8c4cb6){return _0x99add9(_0x3784b9,_0x8c4cb6);},'vVLDa':function(_0x4da77b,_0x546bf7){return _0x4da77b(_0x546bf7);},'VnxCI':'unhandledRejection','iNzja':'global_error_handlers_setup','tNyNU':'info'};process['on'](_0x34c91a(0x1e6),_0x2dd66c=>{const _0x5570bb=_0x34c91a;logUncaughtError(_0x583aef['MqtFM'],_0x2dd66c),_0x583aef[_0x5570bb(0x293)](setTimeout,()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x583aef['VnxCI'],(_0x6d54,_0x1d649c)=>{const _0x5a1322=_0x34c91a,_0x4af6c1=_0x6d54 instanceof Error?_0x6d54:new Error(_0x583aef[_0x5a1322(0x283)](String,_0x6d54));logUncaughtError('unhandledRejection',_0x4af6c1);}),process['on'](_0x34c91a(0x26f),_0x3206c8=>{const _0x2482b7=_0x34c91a;logger[_0x2482b7(0x2a4)]({'event':'process_warning','name':_0x3206c8[_0x2482b7(0x247)],'message':_0x3206c8[_0x2482b7(0x20b)],'stack':_0x3206c8[_0x2482b7(0x226)]},_0x2482b7(0x20d)+_0x3206c8['message']);});const _0x4946cb={'event':_0x583aef[_0x34c91a(0x1f9)]},_0xcdd721='Global\x20error\x20handlers\x20initialized';logger[_0x34c91a(0x266)](_0x4946cb,_0xcdd721),writeToFileLog({..._0x4946cb,'level':_0x583aef[_0x34c91a(0x257)],'msg':_0xcdd721,'time':new Date()['toISOString']()},'info');},createErrorHandlerMiddleware=()=>{const _0x39b234={'MCvIY':function(_0x2c2c85,_0x282f0c){return _0x2c2c85>=_0x282f0c;}};return(_0x18480f,_0x7e6092,_0x3ecc24,_0x4499c5)=>{const _0x30f5f7=a0_0x32ed;logHttpError(_0x18480f,_0x7e6092);const _0x4f614d=_0x18480f[_0x30f5f7(0x284)]||_0x18480f['status']||0x1f4;_0x3ecc24['status'](_0x4f614d)[_0x30f5f7(0x221)]({'success':![],'error':_0x39b234['MCvIY'](_0x4f614d,0x1f4)?_0x30f5f7(0x254):_0x18480f['message'],'requestId':_0x7e6092['id']||_0x7e6092[_0x30f5f7(0x29f)]?.['x-request-id']||null});};};function a0_0xad6a(){const _0x531510=['Ahj0Aw1L','icbvuKW6icaGia','CwnvsvG','zxjYB3i','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','rermx0nsrufurq','DLzmrge','C3rHDhvZq29Kzq','BwzoAMK','C1vqBLa','BwfW','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','DxnLCG','Dxb0Aw1L','Dg9vChbLCKnHC2u','DxjS','ifTtte9xxq','CMvZDgzVCMDL','vKD2sfK','C3bSAxq','CMvMCMvZAf90B2TLBG','ntu2nZaYy3blyKLc','zfjfwwy','qNPnvMG','CgfKrw5K','z2v0sgvHzgvYCW','te9hx0XfvKvm','tK9uiefdveLwrq','Dg9Rzw4','AxnVvgLTzq','C3rYAw5N','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','t1zNt2q','w1jfrefdvevexq','AgvHzgvYCW','BwTKAxjtEw5J','zMf0ywXFzxjYB3i','AgvHBhrOq2HLy2S','AeXSD1C','D2fYBG','Dg9ju09tDhjPBMC','C2vJCMv0','mtmYnZm5mfDrwuXqDq','Dw5JyxvNAhrfEgnLChrPB24','revmrvrf','Aw5JBhvKzxm','sfruuca','vvbeqvrf','qKvhsu4','u0vmrunu','zgf0ywjHC2u','zhvYyxrPB25nCW','iokvKqRILzeGienVBMzPzYaGicaGidOG','zMf0ywW','DvjVwvC','ue1XzwG','rgf0ywjHC2u6ia','icbjBMzVoIaGia','yMfZzvvYBa','zhLZyMq','z2LxB3G','y3jLzgL0y2fYza','Au56AMe','vfjbtLnbq1rjt05Fq09ntuLu','C2vYDMvYx3n0yxj0Aw5N','Ag9ZDa','y29UzMLNrMLSzq','BwvTB3j5vxnHz2u','reiGuxvLCNK','CgfYyw1Z','ChjVzhvJDgLVBG','w09lxsbqCM9Qzwn0igXVywrLzdOG','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','D3jPDgu','ntvbvKP2rue','Bw9KDwXL','zxjYB3iUBg9N','Dhj1zq','y3jLzgL0x2nHCMq','r1brELu','BwvZC2fNzq','Dg9gAxHLza','uhjVy2vZCYbxyxjUAw5NoIa','rK9zD0C','CgzUCvK','AxntBg93','wfrlBfe','zgvIDwC','mti0nta4off4rgHJzW','lI9SB2DZlW','vfjbtLnbq1rjt05FuK9mtejbq0S','Bwf4','tK9erv9ftLy','AxLVBMC','y3jLzgvUDgLHBa','Cgf0Aa','rxPWzgm','te9hx1rpx0zjteu','ig9UihbVCNqG','ugnrqwm','DhjPBq','mtjrywP2qwu','ANnVBG','C3rKvgLTzuz1BMn0Aw9UCW','zMfSC2u','DLv4z28','nfHIDeP5ua','C3rHy2S','te9hx0rjuG','su5trvju','ms4WlJu','wMrAsui','yxbPs2v5','q09ntuLu','ic0G','zxHPC3rZu3LUyW','DNDbtxO','vfjbtLnbq1rjt05FqKvhsu4','y2HPBgq','qundvNa','oI8V','ywnJzxnZx3rVA2vU','rxjYB3i','u0vsvKLdrv9oqu1f','u1LZDfa','B3v2yuy','ChjVAMvJDf9SB2fKzwq','C29Tzq','qvbqx1zfuLnjt04','sLDux1nfq1jfva','ody5mtL3B2zpugu','E21Zz30','DgvZDa','zgf0ywjHC2vFy29UzMLN','vu1xrK8','Bwf0y2G','Cg9YDa','vhLRthG','CfP0rha','yM9KEq','BMfTzq','u1fmx0Xpr19qqvjbtvm','oti4ndCWzNbJuM9M','Bwv0Ag9K','Bg9N','AuflEgu','rxrJyvO','ChjPDMf0zv9RzxK','EejxzLy','D2T1vLa','y29UBMvJDgLVBG','rfjpua','yxbWlMXVzW','sw50zxjUywWGC2vYDMvYigvYCM9Y','mw5NC0XeAW','Dg9mB3DLCKnHC2u','De55tLu','C3rHCNrZv2L0Aa','DvPTt1e','zw52','Ew5Qy2i','ChjVAMvJDa','Ec1Yzxf1zxn0lwLK','C2vYDMvYx3jLywr5','mZa1mJqYmhHtz1jyEq','CgLUBY1WCMv0DhK','DhLWzq','y3z2','sNfusvG','mZeWnJGWqvn1teHo','AM9PBG','Aw5MBW','C2vYDMLJzuLUzM8','s21HwMm','tKLxv3i','BgvUz3rO','v3z0B2u','Eez5qM4','u2vYDMvYihn0yxj0Aw5NoIa','zfrJzNK','D2fYBMLUzW','y29Kzq','y3jLzgvUDgLHBhm','EMHLBxO','uK9mtejbq0S','rermx0rst1a','vu5ltK9xtG','q1jjveLdquW','z2v0','zgv2zwXVCg1LBNq','CxvLCNK','Cwrfv2q','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','icdIHPiG'];a0_0xad6a=function(){return _0x531510;};return a0_0xad6a();}module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
|
|
1
|
+
const a0_0x5ba06d=a0_0x4524;(function(_0x4dc845,_0x474045){const _0x9fa8e7=a0_0x4524,_0xf6a16d=_0x4dc845();while(!![]){try{const _0x13f129=parseInt(_0x9fa8e7(0x1c9))/0x1*(-parseInt(_0x9fa8e7(0x240))/0x2)+-parseInt(_0x9fa8e7(0x206))/0x3+-parseInt(_0x9fa8e7(0x230))/0x4*(parseInt(_0x9fa8e7(0x202))/0x5)+parseInt(_0x9fa8e7(0x183))/0x6+-parseInt(_0x9fa8e7(0x23a))/0x7*(parseInt(_0x9fa8e7(0x236))/0x8)+parseInt(_0x9fa8e7(0x222))/0x9+parseInt(_0x9fa8e7(0x193))/0xa;if(_0x13f129===_0x474045)break;else _0xf6a16d['push'](_0xf6a16d['shift']());}catch(_0x31164e){_0xf6a16d['push'](_0xf6a16d['shift']());}}}(a0_0x35a2,0xd9002));const pino=require('pino'),fs=require('fs'),path=require('path');let logToFile=![],logDir=a0_0x5ba06d(0x1a2),serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':a0_0x5ba06d(0x1c4),'hideObject':!![]},isDevelopment=process['env']['NODE_ENV']!=='production',logLevel=process[a0_0x5ba06d(0x1dd)]['LOG_LEVEL']||a0_0x5ba06d(0x1cc);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x5ba06d(0x1b6),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x5ba06d(0x1dd)]['APP_VERSION']||'1.0.5','env':process['env']['NODE_ENV']||'development'},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':[a0_0x5ba06d(0x1d1),a0_0x5ba06d(0x203),'password',a0_0x5ba06d(0x1a6),'apiKey','DB_PASSWORD','JWT_SECRET'],'censor':a0_0x5ba06d(0x21c)},'serializers':{'req':_0x1b44c9=>({'id':_0x1b44c9['id'],'method':_0x1b44c9['method'],'url':_0x1b44c9['url'],'path':_0x1b44c9['path'],'remoteAddress':_0x1b44c9['ip']||_0x1b44c9[a0_0x5ba06d(0x1be)]?.['remoteAddress']}),'res':_0x5e3252=>({'statusCode':_0x5e3252[a0_0x5ba06d(0x184)],'headers':_0x5e3252[a0_0x5ba06d(0x197)]?.()}),'err':pino['stdSerializers'][a0_0x5ba06d(0x19d)]}});function initFileLogging(){const _0x11f540=a0_0x5ba06d,_0x3b43c6={'VFZtI':function(_0xc29054,_0x42ec9d){return _0xc29054===_0x42ec9d;},'orOpW':'true','BvETD':_0x11f540(0x1fb),'eJaVz':'restforge','LzEle':_0x11f540(0x1bc),'Urosp':function(_0x1ffc7f,_0x3ca506){return _0x1ffc7f(_0x3ca506);},'fwiID':_0x11f540(0x21a),'mPQoE':_0x11f540(0x1e1),'Ngjga':function(_0x51c814,_0x285352,_0x396cb6){return _0x51c814(_0x285352,_0x396cb6);}};if(fileLoggingInitialized)return;logToFile=_0x3b43c6['VFZtI'](process['env']['LOG_TO_FILE'],_0x3b43c6[_0x11f540(0x209)]);const _0x2ec2ff=process['env'][_0x11f540(0x233)]||_0x3b43c6['BvETD'];logDir=process[_0x11f540(0x1dd)]['LOG_DIR']||'./logs/'+_0x2ec2ff,serviceName=process['env']['SERVICE_NAME']||_0x3b43c6[_0x11f540(0x1a4)],sqlLogEnabled=process[_0x11f540(0x1dd)]['SQL_LOG_ENABLED']==='true',sqlLogLevel=process[_0x11f540(0x1dd)]['SQL_LOG_LEVEL']||_0x11f540(0x231),sqlLogParams=process['env'][_0x11f540(0x1e6)]!==_0x3b43c6[_0x11f540(0x21b)],sqlLogSlowThreshold=_0x3b43c6[_0x11f540(0x23c)](parseInt,process['env'][_0x11f540(0x220)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x439fed=path['resolve'](process[_0x11f540(0x216)](),logDir);try{!fs['existsSync'](_0x439fed)&&fs[_0x11f540(0x1d4)](_0x439fed,{'recursive':!![]});}catch(_0x1dacfd){console[_0x11f540(0x215)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x439fed+':',_0x1dacfd['message']),fileLoggingInitialized=!![];return;}const _0x505db9=path[_0x11f540(0x194)](_0x439fed,_0x11f540(0x208)),_0x45b5fe=path['join'](_0x439fed,_0x11f540(0x1e1));try{appLogStream=fs[_0x11f540(0x1b4)](_0x505db9,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x45b5fe,{'flags':'a'}),fileLoggingInitialized=!![];const _0x21cf75={'event':_0x3b43c6[_0x11f540(0x1a3)],'logDir':_0x439fed,'files':['app.log',_0x3b43c6[_0x11f540(0x221)]]},_0x46fbfd='File\x20logging\x20enabled:\x20'+_0x439fed;logger['info'](_0x21cf75,_0x46fbfd),_0x3b43c6[_0x11f540(0x1cf)](writeToFileLog,{..._0x21cf75,'level':_0x11f540(0x1cc),'msg':_0x46fbfd,'time':new Date()[_0x11f540(0x242)]()},'info');}catch(_0x11c990){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x11c990['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x5c7f77,_0x38c784){const _0x360232=a0_0x5ba06d,_0x2a37b9={'ygQua':function(_0x5bf0f8,_0x29b193){return _0x5bf0f8||_0x29b193;},'Wwxcr':'error','FfyEN':function(_0x46e39f,_0x7e9859){return _0x46e39f===_0x7e9859;}};if(_0x2a37b9['ygQua'](!logToFile,!appLogStream))return;const _0x29f8b0={'service':serviceName,..._0x5c7f77},_0x4a3c6e=JSON['stringify'](_0x29f8b0)+'\x0a';appLogStream['write'](_0x4a3c6e),(_0x38c784===_0x2a37b9['Wwxcr']||_0x2a37b9[_0x360232(0x1ee)](_0x38c784,'fatal'))&&(errorLogStream&&errorLogStream[_0x360232(0x23b)](_0x4a3c6e));}function a0_0x35a2(){const _0x26b934=['q2TPtuC','zgDhquS','C2vYDMvYx3n0yxj0Aw5N','zgjFCxvLCNK','CgfKrw5K','vfL5Afi','mtq0mJa3mLrzqM5ABq','zgvIDwC','ChjVAMvJDa','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','Cgf0Aa','tK9uiefdveLwrq','ndm2ndbjueLeu3i','B0j0Axy','zMf0ywW','AxntBg93','ndKWtuTYr1zy','D3jPDgu','vxjVC3a','qwf6Cwq','vfjbtLnbq1rjt05Fq09ntuLu','yuHSAgq','mtu3mdG3ne1SALjMra','C3rHCNrZv2L0Aa','Dg9ju09tDhjPBMC','D1vgt1e','w1jfrefdveveoNrVA2vUxq','ode1nZC4r0HsD0DK','C3rHDhvZq29Kzq','BwvZC2fNzq','D3rtD0O','Bfr5teK','zMXVB3i','y3jLzgvUDgLHBa','icbizwfSDgG6ia','C2vYDMvYx3jLywr5','zw52AxjVBM1LBNq','BMfTzq','yxbPx3nLy3jLDa','B2jQzwn0','BxfAreu','Ec1Yzxf1zxn0lwLK','BwfW','mZa4ndi1nJb0swzWy00','AM9PBG','yxbPs2v5','CMvWzwf0','z2v0sgvHzgvYCW','iokvKqRILzeGifbVCNqGicaGicaGidOG','EK1br2m','sK1nv00','DgvZDa','zxHWB3j0CW','zxjY','rKfuquW6ia','C3fSx3f1zxj5','qvfczvK','DxnLCG','lI9SB2DZ','zNDPsuq','zuPHvNO','qKvhsu4','Dg9Rzw4','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','AgvHBhrOq2HLy2S','C3bPENq','zMf0ywXFzxjYB3i','y29Kzq','zhvYyxrPB25nCW','BgvUz3rO','u0vmrunu','sw50zxjUywWGC2vYDMvYigvYCM9Y','q1jjveLdquW','qunusvzf','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','CxryqM4','y3jLyxrLv3jPDgvtDhjLyw0','uejgqwG','CgLUBY1WCMv0DhK','Ahj0Aw1L','DMLwEMi','BwvTB3j5vxnHz2u','t25pAvG','y29UzMLNrMLSzq','zMfSC2u','DhjPBq','y29UBMvJDgLVBG','zhvYBvm','DhLWzq','quXurvi','Ahr0Cf9Yzxf1zxn0','yxbPx2TLEq','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','uhjVy2vZCYbxyxjUAw5NoIa','ywnJzxnZx3rVA2vU','vfjbtLnbq1rjt05FuK9mtejbq0S','wvHqCNC','mvLhver6Aq','y3jLzgL0x2nHCMq','zgf0ywjHC2u','Aw5MBW','rxjYB3i','zgjFDhjHBNnHy3rPB24','tMDQz2e','AgvHzgvYCW','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','yMfZzvvYBa','uwP4y2C','BwTKAxjtEw5J','tI9b','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','uKX4B1q','yxv0Ag9YAxPHDgLVBG','CMvWBgfJzq','q09ntuLu','y2HPBgq','zw5KCg9PBNrFCMvNAxn0zxjLza','zw52','zunmrum','AeXZB2u','z2v0','zxjYB3iUBg9N','Bfz4wxq','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','Ahr0Cf9LCNjVCG','rfjpua','u1fmx0Xpr19qqvjbtvm','sMnbwKm','D2fYBG','reiGuxvLCNK','iokvKqRILzeGiefqssblzxKGicaGidOG','Bwv0Ag9K','rgvMyxvSDa','DxnLCI1Hz2vUDa','rMz5ru4','y3jLzgvUDgLHBhm','ChjVy2vZC193yxjUAw5N','Ag9ZDa','sM1SyLe','CgfZC3DVCMq','r1nwyKO','Dw5JyxvNAhrfEgnLChrPB24','Bwf0y2G','ALLQB0K','Cg9ZDgDYzxnXBa','zxfJAxe','iokvKqRILzeGifbYB2PLy3qGicaGidOG','zgvMyxvSDa','rermx0rst1a','Bw9KDwXL','Aw5JBhvKzxm','vfjbtLnbq1rjt05FqKvhsu4','C3rHDhvZ','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','mtvhsM9bDwS','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','CKTOve4','rermx0nsrufurq','mZiZnZCWmM9RwxvUwG','yM9KEq','yxbWlMXVzW','B3jpCfC','ChjPDMf0zv9RzxK','icbjBMzVoIaGia','vLDiEwe','vKvhBLC','Dg9gAxHLza','Cg9YDa','vhvfELK','swP6wKy','Dg9mB3DLCKnHC2u','tM9Kzs5QCW','w09lxsbqCM9Qzwn0igXVywrLzdOG','zxjYB3i','y3DK','twTWyxe','t0HTCui','C3rHy2S','zMLSzv9SB2DNAw5Nx2vUywjSzwq','thPfBgu','w1jfrefdvevexq','ChDK','C3rYAw5N','uxHguMm','u1fmx0Xpr19tte9xx1riuKvtse9mra','BvbrB0u','odK3mdiXmgXbu3vSqG','CMvMCMvZAf90B2TLBG','sMf1r2G','wMzJDgS','C2vYDMLJzuLUzM8','yxbPA2v5','zKn3DfG','ChjVAMvJDf9SB2fKzwq'];a0_0x35a2=function(){return _0x26b934;};return a0_0x35a2();}const createRequestLogger=(_0x5f4866={})=>{const _0x393b69=a0_0x5ba06d;return logger[_0x393b69(0x1db)](_0x5f4866);},logServerStart=_0x51ebf=>{const _0x261161=a0_0x5ba06d,_0x15d0a9={'oBtiv':function(_0x3fb72d,_0x4e7bca){return _0x3fb72d-_0x4e7bca;},'jSvrv':function(_0x583358,_0x3e13b4){return _0x583358/_0x3e13b4;},'lVxYt':_0x261161(0x1ec),'CsTrx':_0x261161(0x1b1),'Aazqd':'info'},_0x644029=_0x261161(0x1d6),_0xec6165=Math['max'](0x0,_0x15d0a9[_0x261161(0x237)](0x37,_0x644029['length'])),_0x281ab2=Math[_0x261161(0x188)](_0x15d0a9['jSvrv'](_0xec6165,0x2)),_0x5db34d=_0xec6165-_0x281ab2,_0x581d18='║'+'\x20'['repeat'](_0x281ab2)+_0x644029+'\x20'[_0x261161(0x196)](_0x5db34d)+'║',_0x3b2bb5='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x581d18+_0x261161(0x201)+(_0x51ebf[_0x261161(0x18c)]||_0x261161(0x213))['padEnd'](0x26)+_0x261161(0x1fa)+(_0x51ebf['project']||_0x261161(0x1d5))['padEnd'](0x26)+_0x261161(0x198)+String(_0x51ebf[_0x261161(0x20f)]||0xbb8)[_0x261161(0x22e)](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x51ebf[_0x261161(0x1bb)]||_0x15d0a9[_0x261161(0x1e2)])[_0x261161(0x22e)](0x26)+_0x261161(0x1ea)+(_0x51ebf[_0x261161(0x195)]?_0x15d0a9['CsTrx']:_0x261161(0x235))[_0x261161(0x22e)](0x26)+_0x261161(0x1b2);console['log'](_0x3b2bb5);const _0x2a9877={'event':_0x261161(0x22c),'project':_0x51ebf[_0x261161(0x232)],'port':_0x51ebf[_0x261161(0x20f)],'config':_0x51ebf['configFile'],'apiKeyEnabled':!!_0x51ebf[_0x261161(0x195)]};logger[_0x261161(0x1cc)](_0x2a9877),writeToFileLog({..._0x2a9877,'level':_0x15d0a9[_0x261161(0x23d)],'msg':'Server\x20starting:\x20'+_0x51ebf['project']+'\x20on\x20port\x20'+_0x51ebf[_0x261161(0x20f)],'time':new Date()[_0x261161(0x242)]()},_0x261161(0x1cc));},logServerReady=_0xc69823=>{const _0x1abe92=a0_0x5ba06d,_0x458945={'JuMkl':_0x1abe92(0x18b),'spizt':function(_0x5cbaca,_0x155830,_0x1d7754){return _0x5cbaca(_0x155830,_0x1d7754);},'zAkLf':_0x1abe92(0x1cc)},_0x10e358={'event':_0x458945['JuMkl'],'port':_0xc69823[_0x1abe92(0x20f)],'module':_0xc69823[_0x1abe92(0x1fd)],'healthCheck':_0xc69823[_0x1abe92(0x1a8)],'serviceInfo':_0xc69823[_0x1abe92(0x226)],'baseUrl':_0xc69823[_0x1abe92(0x1d2)]},_0x3c7909='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0xc69823[_0x1abe92(0x20f)];logger['info'](_0x10e358,_0x3c7909),_0x458945[_0x1abe92(0x1a9)](writeToFileLog,{..._0x10e358,'level':_0x458945['zAkLf'],'msg':_0x3c7909,'time':new Date()['toISOString']()},_0x458945['zAkLf']),_0xc69823['healthCheck']&&logger[_0x1abe92(0x1cc)](_0x1abe92(0x18a)+_0xc69823['healthCheck']),_0xc69823['serviceInfo']&&logger[_0x1abe92(0x1cc)](_0x1abe92(0x20b)+_0xc69823[_0x1abe92(0x226)]),_0xc69823['baseUrl']&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0xc69823['baseUrl']);},logProjectLoaded=(_0x461023,_0xd42075)=>{const _0x3e7e92=a0_0x5ba06d,_0xb8e991={'Mkpaq':function(_0x108cb7,_0x2f7fb9,_0x190224){return _0x108cb7(_0x2f7fb9,_0x190224);},'CUeah':_0x3e7e92(0x1cc)},_0xf421f6={'event':_0x3e7e92(0x229),'project':_0x461023,'path':_0xd42075},_0x1c3001=_0x3e7e92(0x214)+_0x461023;logger['info'](_0xf421f6,_0x1c3001),_0xb8e991[_0x3e7e92(0x217)](writeToFileLog,{..._0xf421f6,'level':_0xb8e991['CUeah'],'msg':_0x1c3001,'time':new Date()[_0x3e7e92(0x242)]()},_0xb8e991['CUeah']);},logEndpointRegistered=(_0x51435a,_0x434421)=>{const _0x336a03=a0_0x5ba06d,_0x29a334={'GWfvd':function(_0x205008,_0x145464,_0x5a3775){return _0x205008(_0x145464,_0x5a3775);},'JcAZC':_0x336a03(0x231)},_0x5f11d3={'event':_0x336a03(0x1dc),'endpoint':_0x51435a,'route':_0x434421},_0x2c5392='\x20\x20→\x20'+_0x51435a+':\x20'+_0x434421;logger['debug'](_0x5f11d3,_0x2c5392),_0x29a334['GWfvd'](writeToFileLog,{..._0x5f11d3,'level':_0x29a334[_0x336a03(0x1e7)],'msg':_0x2c5392,'time':new Date()['toISOString']()},_0x29a334[_0x336a03(0x1e7)]);},logDatabaseConfig=_0x3e3117=>{const _0x212638=a0_0x5ba06d,_0x5023b6={'BDfPY':function(_0x791956,_0x45fc54,_0x59bc53){return _0x791956(_0x45fc54,_0x59bc53);}},_0x3a0824={'event':'database_config','host':_0x3e3117['host'],'port':_0x3e3117[_0x212638(0x20f)],'database':_0x3e3117[_0x212638(0x1cb)],'type':_0x3e3117[_0x212638(0x1c0)],'user':_0x3e3117[_0x212638(0x1a1)]},_0xfef726='Database:\x20'+_0x3e3117['type']+'://'+_0x3e3117[_0x212638(0x1f1)]+':'+_0x3e3117[_0x212638(0x20f)]+'/'+_0x3e3117[_0x212638(0x1cb)];logger['debug'](_0x3a0824,_0xfef726),_0x5023b6['BDfPY'](writeToFileLog,{..._0x3a0824,'level':_0x212638(0x231),'msg':_0xfef726,'time':new Date()[_0x212638(0x242)]()},_0x212638(0x231));},logRequest=(_0x26e58f,_0x1abb7d,_0xed8a86)=>{const _0x19e9f5=a0_0x5ba06d,_0x56d73c={'JmlbQ':_0x19e9f5(0x1c2),'aHlhd':'info','CkiMG':function(_0x12d3fb,_0x4302db){return _0x12d3fb>=_0x4302db;},'rfmRO':function(_0x36d5a7,_0x1c2242){return _0x36d5a7>=_0x1c2242;}},_0x262cf4={'event':_0x56d73c[_0x19e9f5(0x1f2)],'method':_0x26e58f[_0x19e9f5(0x1eb)],'path':_0x26e58f[_0x19e9f5(0x234)],'statusCode':_0x1abb7d['statusCode'],'durationMs':_0xed8a86,'ip':_0x26e58f['ip']},_0x4a0759=_0x26e58f['method']+'\x20'+_0x26e58f[_0x19e9f5(0x234)]+'\x20-\x20'+_0x1abb7d[_0x19e9f5(0x184)]+'\x20('+_0xed8a86+'ms)';let _0x5e34e2=_0x56d73c[_0x19e9f5(0x23f)];if(_0x56d73c[_0x19e9f5(0x22a)](_0x1abb7d[_0x19e9f5(0x184)],0x1f4))_0x5e34e2='error',logger['error'](_0x262cf4,_0x4a0759);else _0x56d73c['rfmRO'](_0x1abb7d['statusCode'],0x190)?(_0x5e34e2='warn',logger['warn'](_0x262cf4,_0x4a0759)):logger[_0x19e9f5(0x1cc)](_0x262cf4,_0x4a0759);writeToFileLog({..._0x262cf4,'level':_0x5e34e2,'msg':_0x4a0759,'time':new Date()[_0x19e9f5(0x242)]()},_0x5e34e2);},SENSITIVE_PARAM_PATTERNS=['password','passwd',a0_0x5ba06d(0x21d),a0_0x5ba06d(0x1a6),a0_0x5ba06d(0x1c6),'refresh_token','secret',a0_0x5ba06d(0x18e),a0_0x5ba06d(0x227),a0_0x5ba06d(0x1c3),a0_0x5ba06d(0x189),a0_0x5ba06d(0x1ef),'pin','otp',a0_0x5ba06d(0x20a),'privatekey'],redactSensitiveParams=(_0x1558fe,_0x608a0f)=>{const _0x482969=a0_0x5ba06d,_0x9193ab={'durmS':_0x482969(0x21c),'rKhTN':function(_0x2e314a,_0x2e7d41){return _0x2e314a===_0x2e7d41;},'TYyhR':'[REDACTED:hash]'};if(!_0x1558fe||_0x1558fe[_0x482969(0x1ad)]===0x0)return _0x1558fe;const _0x3e979c=_0x608a0f['toLowerCase'](),_0x4bfedf=_0x3e979c['match'](/\(([^)]+)\)\s*values/i);let _0x3ecca7=[];_0x4bfedf&&(_0x3ecca7=_0x4bfedf[0x1]['split'](',')['map'](_0xcc0270=>_0xcc0270['trim']()['toLowerCase']()));const _0x37438c=_0x3e979c['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x37438c){const _0x5f3484=_0x37438c[0x1],_0x205f59=_0x5f3484['match'](/(\w+)\s*=/g);_0x205f59&&(_0x3ecca7=_0x205f59['map'](_0x3277c4=>_0x3277c4[_0x482969(0x1d9)](/\s*=/,'')[_0x482969(0x1bd)]()['toLowerCase']()));}return _0x1558fe[_0x482969(0x192)]((_0x2450b6,_0x447db5)=>{const _0x147888=_0x482969;if(_0x3ecca7[_0x447db5]){const _0x4a93a8=_0x3ecca7[_0x447db5],_0x29641a=SENSITIVE_PARAM_PATTERNS['some'](_0x566930=>_0x4a93a8[_0x147888(0x1fe)](_0x566930));if(_0x29641a)return _0x9193ab[_0x147888(0x1bf)];}if(_0x9193ab[_0x147888(0x204)](typeof _0x2450b6,_0x147888(0x21e))&&_0x2450b6[_0x147888(0x1ad)]>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x147888(0x19b)](_0x2450b6)&&_0x2450b6[_0x147888(0x1fe)]('.'))return _0x147888(0x244);if(/^[a-fA-F0-9]{32,}$/['test'](_0x2450b6))return _0x9193ab[_0x147888(0x22f)];}return _0x2450b6;});},parseQueryMetadata=_0x386a7f=>{const _0x344a67=a0_0x5ba06d,_0x32b7b7={'JauGh':_0x344a67(0x1ae),'wtSwJ':'INSERT','fCwtX':'UPDATE','SsVIY':'DELETE','ZYFeV':'START\x20TRANSACTION','fdYvI':_0x344a67(0x1da),'xQpNw':_0x344a67(0x1c7),'zMAGc':'CREATE','IjzZF':_0x344a67(0x1c1),'wUFOQ':'DDL_ALTER'},_0xea1fd7=_0x386a7f['trim'](),_0x21d6f7=_0xea1fd7['toUpperCase']();let _0x2ffb34='UNKNOWN',_0x3a75fc=null;if(_0x21d6f7['startsWith'](_0x32b7b7['JauGh'])){_0x2ffb34=_0x32b7b7[_0x344a67(0x224)];const _0x163526=_0xea1fd7[_0x344a67(0x1f6)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a75fc=_0x163526?_0x163526[0x1]:null;}else{if(_0x21d6f7['startsWith'](_0x32b7b7['wtSwJ'])){_0x2ffb34=_0x32b7b7[_0x344a67(0x186)];const _0x1c74b7=_0xea1fd7['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a75fc=_0x1c74b7?_0x1c74b7[0x1]:null;}else{if(_0x21d6f7['startsWith']('UPDATE')){_0x2ffb34=_0x32b7b7[_0x344a67(0x228)];const _0x4d0602=_0xea1fd7['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a75fc=_0x4d0602?_0x4d0602[0x1]:null;}else{if(_0x21d6f7[_0x344a67(0x241)](_0x32b7b7['SsVIY'])){_0x2ffb34=_0x32b7b7['SsVIY'];const _0x4fe961=_0xea1fd7['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a75fc=_0x4fe961?_0x4fe961[0x1]:null;}else{if(_0x21d6f7['startsWith'](_0x344a67(0x1a5))||_0x21d6f7[_0x344a67(0x241)](_0x32b7b7['ZYFeV']))_0x2ffb34=_0x344a67(0x1ff);else{if(_0x21d6f7[_0x344a67(0x241)](_0x32b7b7['fdYvI']))_0x2ffb34=_0x344a67(0x23e);else{if(_0x21d6f7[_0x344a67(0x241)]('ROLLBACK'))_0x2ffb34=_0x32b7b7['xQpNw'];else{if(_0x21d6f7[_0x344a67(0x241)](_0x32b7b7[_0x344a67(0x199)]))_0x2ffb34=_0x344a67(0x205);else{if(_0x21d6f7['startsWith'](_0x32b7b7[_0x344a67(0x211)]))_0x2ffb34=_0x32b7b7[_0x344a67(0x243)];else _0x21d6f7[_0x344a67(0x241)](_0x344a67(0x1e5))&&(_0x2ffb34=_0x344a67(0x1fc));}}}}}}}}return{'type':_0x2ffb34,'table':_0x3a75fc};},startQueryTimer=()=>{const _0xf75765={'Qjxcg':function(_0x228a4e,_0x705dab){return _0x228a4e*_0x705dab;},'KJYcn':function(_0x5a6f1c,_0x1022a5){return _0x5a6f1c/_0x1022a5;}},_0x2bc926=process['hrtime']();return()=>{const _0x24bfef=a0_0x4524,[_0x39d50d,_0x428f59]=process[_0x24bfef(0x1b7)](_0x2bc926);return parseFloat((_0xf75765[_0x24bfef(0x1d3)](_0x39d50d,0x3e8)+_0xf75765['KJYcn'](_0x428f59,0xf4240))[_0x24bfef(0x20e)](0x2));};},logQuery=(_0x41a5a1,_0x3ae2bc=[],_0x36a7da={})=>{const _0x3c9bef=a0_0x5ba06d,_0x1e6975={'QZTqU':_0x3c9bef(0x22d),'aaXtN':_0x3c9bef(0x1f8),'RLxoT':function(_0x225c1f,_0x5d4491){return _0x225c1f>_0x5d4491;},'JKBEx':function(_0x31a5c5,_0x27f0bf){return _0x31a5c5||_0x27f0bf;},'suaIg':'unknown','OnOiX':function(_0x4e1465,_0x34360b){return _0x4e1465!==_0x34360b;},'Wpbys':function(_0x5b8f79,_0x6bf54e){return _0x5b8f79!==_0x6bf54e;},'AMvpE':'debug','owhjw':'\x20[SLOW]','PBFAh':function(_0x27d2b0,_0x367373){return _0x27d2b0===_0x367373;},'dgGAK':_0x3c9bef(0x1cc),'eCLEC':function(_0x3614e4,_0x37bd1e,_0x1e1ce5){return _0x3614e4(_0x37bd1e,_0x1e1ce5);}};if(!sqlLogEnabled){logger['debug']({'event':_0x1e6975['QZTqU'],'query':_0x41a5a1['substring'](0x0,0xc8),'paramCount':_0x3ae2bc['length']},_0x3c9bef(0x1e9));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x1e6975['aaXtN']}=_0x36a7da,{type:_0x5a99e2,table:_0x57ccb5}=parseQueryMetadata(_0x41a5a1),_0x2802da={'event':_0x3c9bef(0x19f),'queryType':_0x5a99e2,'table':_0x57ccb5,'query':_0x41a5a1,'paramCount':_0x3ae2bc['length'],'dbType':dbType};sqlLogParams&&_0x3ae2bc[_0x3c9bef(0x1ad)]>0x0&&(_0x2802da['params']=redactSensitiveParams(_0x3ae2bc,_0x41a5a1));duration!==null&&(_0x2802da[_0x3c9bef(0x1ac)]=duration,_0x2802da[_0x3c9bef(0x239)]=_0x1e6975[_0x3c9bef(0x1d7)](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x2802da['rowsAffected']=rowsAffected);const _0x31d01b=_0x1e6975['JKBEx'](_0x57ccb5,_0x1e6975['suaIg']);let _0x56d4e8='['+_0x5a99e2+']\x20'+_0x31d01b;_0x1e6975[_0x3c9bef(0x1ba)](duration,null)&&(_0x56d4e8+='\x20('+duration+'ms)');const _0x3458e6=_0x1e6975['Wpbys'](duration,null)&&_0x1e6975['RLxoT'](duration,sqlLogSlowThreshold);let _0x13df57=_0x1e6975['AMvpE'];if(_0x3458e6)_0x56d4e8+=_0x1e6975['owhjw'],_0x13df57=_0x3c9bef(0x1e8),logger['warn'](_0x2802da,_0x56d4e8);else _0x1e6975[_0x3c9bef(0x1b5)](sqlLogLevel,'info')?(_0x13df57=_0x1e6975[_0x3c9bef(0x22b)],logger[_0x3c9bef(0x1cc)](_0x2802da,_0x56d4e8)):logger[_0x3c9bef(0x231)](_0x2802da,_0x56d4e8);_0x1e6975[_0x3c9bef(0x1de)](writeToFileLog,{..._0x2802da,'level':_0x13df57,'msg':_0x56d4e8,'time':new Date()['toISOString']()},_0x13df57);},logTransaction=(_0x394552,_0x135570)=>{const _0x3c9e7a=a0_0x5ba06d,_0x5dc33b={'Zfctk':_0x3c9e7a(0x1ce),'yYLzu':'debug'},_0x2ac999={'event':_0x5dc33b[_0x3c9e7a(0x225)],'status':_0x394552,'queryCount':_0x135570},_0x56c3bc='Transaction\x20'+_0x394552;logger[_0x3c9e7a(0x231)](_0x2ac999,_0x56c3bc),writeToFileLog({..._0x2ac999,'level':_0x5dc33b['yYLzu'],'msg':_0x56c3bc,'time':new Date()['toISOString']()},_0x3c9e7a(0x231));},redactObject=_0x30dae3=>{const _0x1465d7=a0_0x5ba06d,_0x5b86c7={'aqEKH':function(_0x5d3266,_0x3c5ccd){return _0x5d3266!==_0x3c5ccd;},'OHmqB':'passwd','viVzb':_0x1465d7(0x21d),'eqciq':'token','ARRIZ':'creditcard','mqZDE':_0x1465d7(0x1ca),'allCr':'ssn','AQBeY':_0x1465d7(0x223)};if(!_0x30dae3||_0x5b86c7['aqEKH'](typeof _0x30dae3,'object'))return _0x30dae3;const _0x27e681=[_0x1465d7(0x1f3),_0x5b86c7[_0x1465d7(0x218)],_0x5b86c7[_0x1465d7(0x1b8)],_0x5b86c7[_0x1465d7(0x1f9)],'secret',_0x1465d7(0x227),_0x1465d7(0x1c3),_0x1465d7(0x1d8),_0x5b86c7['ARRIZ'],_0x5b86c7[_0x1465d7(0x190)],'cvv',_0x5b86c7['allCr'],'pin','private_key','privatekey',_0x5b86c7[_0x1465d7(0x1a0)],_0x1465d7(0x1c6)],_0x38ac71=Array['isArray'](_0x30dae3)?[..._0x30dae3]:{..._0x30dae3};for(const _0xe9bcea of Object['keys'](_0x38ac71)){const _0x430547=_0xe9bcea[_0x1465d7(0x212)]();if(_0x27e681['some'](_0x2e61d7=>_0x430547['includes'](_0x2e61d7)))_0x38ac71[_0xe9bcea]=_0x1465d7(0x21c);else typeof _0x38ac71[_0xe9bcea]===_0x1465d7(0x18f)&&_0x5b86c7['aqEKH'](_0x38ac71[_0xe9bcea],null)&&(_0x38ac71[_0xe9bcea]=redactObject(_0x38ac71[_0xe9bcea]));}return _0x38ac71;},logError=(_0x18ccdb,_0x3b6a6c={},_0x20f026=null)=>{const _0x26f480=a0_0x5ba06d,_0x5d4e32={'lTyLI':'error','MSxeI':function(_0x51aec3,_0x52bb90,_0x398693){return _0x51aec3(_0x52bb90,_0x398693);}},_0x3289b9={'event':_0x5d4e32['lTyLI'],'errorName':_0x18ccdb[_0x26f480(0x18d)]||_0x26f480(0x1cd),'errorMessage':_0x18ccdb[_0x26f480(0x185)],'errorCode':_0x18ccdb[_0x26f480(0x1ab)]||null,'stack':_0x18ccdb[_0x26f480(0x219)],..._0x3b6a6c},_0x8c363b=_0x20f026||'Error:\x20'+_0x18ccdb[_0x26f480(0x185)];logger['error'](_0x3289b9,_0x8c363b),_0x5d4e32['MSxeI'](writeToFileLog,{..._0x3289b9,'level':_0x5d4e32['lTyLI'],'msg':_0x8c363b,'time':new Date()[_0x26f480(0x242)]()},_0x5d4e32[_0x26f480(0x187)]);},logFatalError=(_0xc2dc73,_0xb75c9d={},_0x54ee9f=null)=>{const _0x3881ea=a0_0x5ba06d,_0x4f60ee={'pGzkP':_0x3881ea(0x1b0),'ASLYA':function(_0x36b968,_0x46bf43,_0x51389c){return _0x36b968(_0x46bf43,_0x51389c);}},_0x5a8ac6={'event':_0x3881ea(0x1aa),'errorName':_0xc2dc73['name']||'Error','errorMessage':_0xc2dc73['message'],'errorCode':_0xc2dc73['code']||null,'stack':_0xc2dc73['stack'],'severity':_0x4f60ee['pGzkP'],..._0xb75c9d},_0x9d21e5=_0x54ee9f||_0x3881ea(0x19e)+_0xc2dc73['message'];logger[_0x3881ea(0x238)](_0x5a8ac6,_0x9d21e5),_0x4f60ee['ASLYA'](writeToFileLog,{..._0x5a8ac6,'level':_0x3881ea(0x238),'msg':_0x9d21e5,'time':new Date()['toISOString']()},_0x3881ea(0x215));},logHttpError=(_0x312e3a,_0xbbbb8d,_0xac5d7c={})=>{const _0x757aaa=a0_0x5ba06d,_0x325619={'jYjoI':_0x757aaa(0x1cd),'VEGnW':_0x757aaa(0x191),'TuEzY':function(_0x43847c,_0x15429){return _0x43847c(_0x15429);},'JMMWM':function(_0x10bdf8,_0x507260){return _0x10bdf8>=_0x507260;},'WhYpK':'warn'},_0x2b73a4={'event':_0x757aaa(0x1e4),'errorName':_0x312e3a['name']||_0x325619[_0x757aaa(0x1f7)],'errorMessage':_0x312e3a['message'],'errorCode':_0x312e3a['code']||_0x312e3a['statusCode']||0x1f4,'stack':_0x312e3a[_0x757aaa(0x219)],'method':_0xbbbb8d?.['method'],'url':_0xbbbb8d?.['url']||_0xbbbb8d?.['originalUrl'],'path':_0xbbbb8d?.['path'],'ip':_0xbbbb8d?.['ip']||_0xbbbb8d?.[_0x757aaa(0x1be)]?.['remoteAddress'],'userAgent':_0xbbbb8d?.[_0x757aaa(0x1e0)]?.(_0x757aaa(0x1ed)),'requestId':_0xbbbb8d?.['id']||_0xbbbb8d?.[_0x757aaa(0x1d0)]?.[_0x325619[_0x757aaa(0x20d)]],'body':_0xbbbb8d?.['body']?_0x325619[_0x757aaa(0x210)](redactObject,_0xbbbb8d[_0x757aaa(0x207)]):undefined,'query':_0xbbbb8d?.['query'],..._0xac5d7c},_0xb1e81f=_0x312e3a[_0x757aaa(0x184)]||_0x312e3a['status']||0x1f4,_0x4e89a1='HTTP\x20'+_0xb1e81f+':\x20'+_0x312e3a[_0x757aaa(0x185)];_0xb1e81f>=0x1f4?logger['error'](_0x2b73a4,_0x4e89a1):logger[_0x757aaa(0x1e8)](_0x2b73a4,_0x4e89a1),writeToFileLog({..._0x2b73a4,'level':_0x325619['JMMWM'](_0xb1e81f,0x1f4)?_0x757aaa(0x215):_0x325619['WhYpK'],'msg':_0x4e89a1,'time':new Date()[_0x757aaa(0x242)]()},_0x325619[_0x757aaa(0x19a)](_0xb1e81f,0x1f4)?_0x757aaa(0x215):'warn');},logUncaughtError=(_0x5cf4b5,_0x5676a1)=>{const _0x2b1d5f=a0_0x5ba06d,_0x1db836={'VWHya':function(_0x1f3d04,_0x380c8e){return _0x1f3d04(_0x380c8e);},'QxFRc':_0x2b1d5f(0x1b0),'qtXBn':_0x2b1d5f(0x238),'evBvn':'error'},_0x265079={'event':_0x5cf4b5,'errorName':_0x5676a1?.[_0x2b1d5f(0x18d)]||'Error','errorMessage':_0x5676a1?.['message']||_0x1db836[_0x2b1d5f(0x20c)](String,_0x5676a1),'errorCode':_0x5676a1?.['code']||null,'stack':_0x5676a1?.[_0x2b1d5f(0x219)],'severity':_0x1db836[_0x2b1d5f(0x21f)],'processId':process['pid'],'memoryUsage':process[_0x2b1d5f(0x1b9)](),'uptime':process['uptime']()},_0x327729='['+_0x5cf4b5['toUpperCase']()+']\x20'+(_0x5676a1?.[_0x2b1d5f(0x185)]||_0x5676a1);logger['fatal'](_0x265079,_0x327729),writeToFileLog({..._0x265079,'level':_0x1db836[_0x2b1d5f(0x1b3)],'msg':_0x327729,'time':new Date()['toISOString']()},_0x1db836['evBvn']);},setupGlobalErrorHandlers=()=>{const _0x571a61=a0_0x5ba06d,_0x26ff69={'SzYqb':function(_0x3f3645,_0x3398c0,_0x5176c0){return _0x3f3645(_0x3398c0,_0x5176c0);},'GSVbJ':'unhandledRejection','cnqxg':'warning','vJmTM':_0x571a61(0x1e3),'BDDvK':'info'};process['on']('uncaughtException',_0x4348f7=>{const _0x4afa6e=_0x571a61;logUncaughtError(_0x4afa6e(0x1f5),_0x4348f7),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on']('unhandledRejection',(_0x302ee2,_0x53d9ed)=>{const _0x24dbc2=_0x571a61,_0x2c9873=_0x302ee2 instanceof Error?_0x302ee2:new Error(String(_0x302ee2));_0x26ff69['SzYqb'](logUncaughtError,_0x26ff69[_0x24dbc2(0x1f4)],_0x2c9873);}),process['on'](_0x26ff69['cnqxg'],_0x3d8901=>{const _0x3a1d74=_0x571a61;logger['warn']({'event':_0x3a1d74(0x1f0),'name':_0x3d8901[_0x3a1d74(0x18d)],'message':_0x3d8901[_0x3a1d74(0x185)],'stack':_0x3d8901[_0x3a1d74(0x219)]},_0x3a1d74(0x1c5)+_0x3d8901['message']);});const _0x2dc5e9={'event':_0x571a61(0x1a7)},_0x23bb61=_0x26ff69['vJmTM'];logger[_0x571a61(0x1cc)](_0x2dc5e9,_0x23bb61),writeToFileLog({..._0x2dc5e9,'level':_0x571a61(0x1cc),'msg':_0x23bb61,'time':new Date()['toISOString']()},_0x26ff69['BDDvK']);},createErrorHandlerMiddleware=()=>{const _0x1a2db3=a0_0x5ba06d,_0x1feaea={'YXPrw':function(_0x372d5d,_0x42186e,_0x48f82c){return _0x372d5d(_0x42186e,_0x48f82c);},'hLsoe':_0x1a2db3(0x1af),'yGsgD':_0x1a2db3(0x191)};return(_0x1c8330,_0x4edc09,_0x51635b,_0x536138)=>{const _0x1a2ed8=_0x1a2db3;_0x1feaea[_0x1a2ed8(0x1c8)](logHttpError,_0x1c8330,_0x4edc09);const _0xe344f3=_0x1c8330[_0x1a2ed8(0x184)]||_0x1c8330['status']||0x1f4;_0x51635b[_0x1a2ed8(0x200)](_0xe344f3)['json']({'success':![],'error':_0xe344f3>=0x1f4?_0x1feaea[_0x1a2ed8(0x1df)]:_0x1c8330[_0x1a2ed8(0x185)],'requestId':_0x4edc09['id']||_0x4edc09[_0x1a2ed8(0x1d0)]?.[_0x1feaea['yGsgD']]||null});};};function a0_0x4524(_0x29ff1d,_0x4a0cf6){_0x29ff1d=_0x29ff1d-0x183;const _0x35a208=a0_0x35a2();let _0x452471=_0x35a208[_0x29ff1d];if(a0_0x4524['ESOYiK']===undefined){var _0x128e35=function(_0x57c251){const _0x104c9c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x55c6e6='',_0x304341='';for(let _0xdfcba3=0x0,_0x5b1fa4,_0x4270e6,_0x66450=0x0;_0x4270e6=_0x57c251['charAt'](_0x66450++);~_0x4270e6&&(_0x5b1fa4=_0xdfcba3%0x4?_0x5b1fa4*0x40+_0x4270e6:_0x4270e6,_0xdfcba3++%0x4)?_0x55c6e6+=String['fromCharCode'](0xff&_0x5b1fa4>>(-0x2*_0xdfcba3&0x6)):0x0){_0x4270e6=_0x104c9c['indexOf'](_0x4270e6);}for(let _0x5abca9=0x0,_0x218ad9=_0x55c6e6['length'];_0x5abca9<_0x218ad9;_0x5abca9++){_0x304341+='%'+('00'+_0x55c6e6['charCodeAt'](_0x5abca9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x304341);};a0_0x4524['pigbnw']=_0x128e35,a0_0x4524['PIDeYU']={},a0_0x4524['ESOYiK']=!![];}const _0x3a1d01=_0x35a208[0x0],_0x21e56b=_0x29ff1d+_0x3a1d01,_0x82e7e5=a0_0x4524['PIDeYU'][_0x21e56b];return!_0x82e7e5?(_0x452471=a0_0x4524['pigbnw'](_0x452471),a0_0x4524['PIDeYU'][_0x21e56b]=_0x452471):_0x452471=_0x82e7e5,_0x452471;}module[a0_0x5ba06d(0x19c)]={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x40382b=a0_0x1921;(function(_0x698538,_0x4f39b6){const _0x305b16=a0_0x1921,_0x534d74=_0x698538();while(!![]){try{const _0x2c3a05=-parseInt(_0x305b16(0x15d))/0x1+-parseInt(_0x305b16(0x139))/0x2*(-parseInt(_0x305b16(0x13b))/0x3)+parseInt(_0x305b16(0x162))/0x4*(-parseInt(_0x305b16(0x153))/0x5)+parseInt(_0x305b16(0x144))/0x6*(-parseInt(_0x305b16(0x150))/0x7)+parseInt(_0x305b16(0x15a))/0x8*(-parseInt(_0x305b16(0x13a))/0x9)+parseInt(_0x305b16(0x15c))/0xa+parseInt(_0x305b16(0x155))/0xb*(parseInt(_0x305b16(0x14e))/0xc);if(_0x2c3a05===_0x4f39b6)break;else _0x534d74['push'](_0x534d74['shift']());}catch(_0x53e82e){_0x534d74['push'](_0x534d74['shift']());}}}(a0_0x4afb,0xd4e4a));const dbType=(process[a0_0x40382b(0x15e)][a0_0x40382b(0x13c)]||a0_0x40382b(0x142))['toLowerCase']();function a0_0x1921(_0x37f30c,_0x2e6a54){_0x37f30c=_0x37f30c-0x130;const _0x4afb4d=a0_0x4afb();let _0x19214b=_0x4afb4d[_0x37f30c];if(a0_0x1921['lEcuRf']===undefined){var _0x68a461=function(_0x5b026b){const _0x211d15='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x456a8f='',_0x326e2a='';for(let _0x36113e=0x0,_0x571374,_0x5eb42d,_0x1578ec=0x0;_0x5eb42d=_0x5b026b['charAt'](_0x1578ec++);~_0x5eb42d&&(_0x571374=_0x36113e%0x4?_0x571374*0x40+_0x5eb42d:_0x5eb42d,_0x36113e++%0x4)?_0x456a8f+=String['fromCharCode'](0xff&_0x571374>>(-0x2*_0x36113e&0x6)):0x0){_0x5eb42d=_0x211d15['indexOf'](_0x5eb42d);}for(let _0x121fe1=0x0,_0x15aef2=_0x456a8f['length'];_0x121fe1<_0x15aef2;_0x121fe1++){_0x326e2a+='%'+('00'+_0x456a8f['charCodeAt'](_0x121fe1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x326e2a);};a0_0x1921['ssrYyv']=_0x68a461,a0_0x1921['qhVMKt']={},a0_0x1921['lEcuRf']=!![];}const _0x1cd683=_0x4afb4d[0x0],_0x3c8613=_0x37f30c+_0x1cd683,_0x2129e3=a0_0x1921['qhVMKt'][_0x3c8613];return!_0x2129e3?(_0x19214b=a0_0x1921['ssrYyv'](_0x19214b),a0_0x1921['qhVMKt'][_0x3c8613]=_0x19214b):_0x19214b=_0x2129e3,_0x19214b;}let executeQuery;if(dbType===a0_0x40382b(0x13f)){const oracleDb=require(a0_0x40382b(0x141));executeQuery=(_0x353cdb,_0x46b2a7)=>oracleDb['executeQuery'](_0x353cdb,_0x46b2a7);}else{if(dbType==='mysql'){const mysqlDb=require(a0_0x40382b(0x132));executeQuery=(_0x5c3398,_0xaa49cb)=>mysqlDb['executeQuery'](_0x5c3398,_0xaa49cb);}else executeQuery=require(a0_0x40382b(0x140))[a0_0x40382b(0x158)];}const {logger}=require('./logger');class LookupResolver{constructor(){this['lookupCache']=new Map();}['clearCache'](){const _0x540ce0=a0_0x40382b,_0x57cccc={'KnSMW':'lookup_cache_cleared'};this[_0x540ce0(0x14a)]['clear'](),logger['debug']({'event':_0x57cccc[_0x540ce0(0x14b)]},_0x540ce0(0x133));}async['loadLookupTable'](_0x320aa4,_0x4adb8e,_0x13e2b9){const _0x1f5ce6=a0_0x40382b,_0x41fa63={'WpdfD':function(_0x17c3b6,_0x211080){return _0x17c3b6!==_0x211080;},'yUhty':function(_0x263e47,_0x1167f7){return _0x263e47(_0x1167f7);},'aiLKY':'lookup_table_loaded','IBbLl':_0x1f5ce6(0x146)},_0x520e25=_0x320aa4+':'+_0x4adb8e+':'+_0x13e2b9;if(this['lookupCache']['has'](_0x520e25))return this['lookupCache']['get'](_0x520e25);try{const _0x42b201='SELECT\x20'+_0x13e2b9+',\x20'+_0x4adb8e+_0x1f5ce6(0x137)+_0x320aa4,_0x2c840d=await executeQuery(_0x42b201),_0x1a83b8=new Map();return _0x2c840d[_0x1f5ce6(0x138)](_0x2db7ba=>{const _0xfec44f=_0x1f5ce6,_0x1eb3ca=_0x41fa63['WpdfD'](_0x2db7ba[_0x4adb8e],undefined)?_0x2db7ba[_0x4adb8e]:_0x2db7ba[_0x4adb8e[_0xfec44f(0x154)]()],_0x53d082=_0x2db7ba[_0x13e2b9]!==undefined?_0x2db7ba[_0x13e2b9]:_0x2db7ba[_0x13e2b9[_0xfec44f(0x154)]()];_0x41fa63['WpdfD'](_0x1eb3ca,null)&&_0x1eb3ca!==undefined&&(_0x1a83b8['set'](_0x41fa63['yUhty'](String,_0x1eb3ca)['toLowerCase']()[_0xfec44f(0x135)](),_0x53d082),_0x1a83b8['set'](String(_0x1eb3ca)[_0xfec44f(0x135)](),_0x53d082));}),this[_0x1f5ce6(0x14a)][_0x1f5ce6(0x159)](_0x520e25,_0x1a83b8),logger[_0x1f5ce6(0x149)]({'event':_0x41fa63['aiLKY'],'table':_0x320aa4,'column':_0x4adb8e,'count':_0x2c840d[_0x1f5ce6(0x147)]},'Lookup\x20table\x20loaded:\x20'+_0x320aa4),_0x1a83b8;}catch(_0x2e1df3){logger['error']({'event':_0x41fa63[_0x1f5ce6(0x143)],'table':_0x320aa4,'error':_0x2e1df3[_0x1f5ce6(0x13e)]},_0x1f5ce6(0x134)+_0x320aa4);throw _0x2e1df3;}}['resolveLookupValue'](_0x41e65d,_0x588aba){const _0x1bb2d5=a0_0x40382b,_0x5e5aa8={'wMOnP':function(_0x33a8ae,_0x267af9){return _0x33a8ae===_0x267af9;}};if(_0x5e5aa8[_0x1bb2d5(0x136)](_0x41e65d,null)||_0x5e5aa8['wMOnP'](_0x41e65d,undefined)||_0x41e65d==='')return null;const _0x4f8f11=String(_0x41e65d)[_0x1bb2d5(0x135)]();if(_0x588aba[_0x1bb2d5(0x161)](_0x4f8f11))return _0x588aba['get'](_0x4f8f11);const _0x492e96=_0x4f8f11[_0x1bb2d5(0x156)]();if(_0x588aba[_0x1bb2d5(0x161)](_0x492e96))return _0x588aba['get'](_0x492e96);return null;}async[a0_0x40382b(0x148)](_0x2c52ea,_0x5de57b){const _0x590fa3=a0_0x40382b,_0x4fcea6={'EOymE':function(_0x19bba2,_0x174aab){return _0x19bba2===_0x174aab;},'wnKdG':'lookup_fields_processed','bpgYz':'Lookup\x20fields\x20processed'};if(!_0x5de57b||Object[_0x590fa3(0x15b)](_0x5de57b)[_0x590fa3(0x147)]===0x0)return{'processedRows':_0x2c52ea,'errors':[]};const _0x51f505=[],_0x1aca59=new Map();for(const [_0x40319c,_0x15461f]of Object[_0x590fa3(0x131)](_0x5de57b)){const {lookupTable:_0x38645f,lookupColumn:_0x4e6c8e,lookupIdColumn:_0x45099c}=_0x15461f,_0x9f9718=_0x38645f+':'+_0x4e6c8e+':'+_0x45099c;if(!_0x1aca59[_0x590fa3(0x161)](_0x9f9718)){const _0x444678=await this['loadLookupTable'](_0x38645f,_0x4e6c8e,_0x45099c);_0x1aca59['set'](_0x9f9718,_0x444678);}}const _0x57bdb9=_0x2c52ea[_0x590fa3(0x130)]((_0x476c80,_0x10b118)=>{const _0x3c61a5=_0x590fa3,_0xc6067a={..._0x476c80};for(const [_0x147be8,_0x1f7b9b]of Object[_0x3c61a5(0x131)](_0x5de57b)){const {lookupTable:_0x399aae,lookupColumn:_0x3f69f7,lookupIdColumn:_0x3e4df7,targetField:_0x2c5000,required:_0x5ceef1}=_0x1f7b9b,_0x263134=_0x399aae+':'+_0x3f69f7+':'+_0x3e4df7,_0x5db880=_0x1aca59['get'](_0x263134),_0x4831c7=_0x476c80[_0x147be8];if((_0x4fcea6[_0x3c61a5(0x14d)](_0x4831c7,null)||_0x4831c7===undefined||_0x4831c7==='')&&!_0x5ceef1){_0xc6067a[_0x2c5000]=null;continue;}const _0xa47f1a=this['resolveLookupValue'](_0x4831c7,_0x5db880);_0xa47f1a!==null?_0xc6067a[_0x2c5000]=_0xa47f1a:(_0x5ceef1&&_0x51f505[_0x3c61a5(0x163)]({'rowIndex':_0x10b118,'field':_0x147be8,'value':_0x4831c7,'targetField':_0x2c5000,'lookupTable':_0x399aae,'message':'Value\x20\x22'+_0x4831c7+'\x22\x20not\x20found\x20in\x20'+_0x399aae}),_0xc6067a[_0x2c5000]=null);}return _0xc6067a;});return logger[_0x590fa3(0x149)]({'event':_0x4fcea6['wnKdG'],'totalRows':_0x2c52ea['length'],'errorCount':_0x51f505[_0x590fa3(0x147)],'lookupFieldCount':Object['keys'](_0x5de57b)['length']},_0x4fcea6['bpgYz']),{'processedRows':_0x57bdb9,'errors':_0x51f505};}[a0_0x40382b(0x152)](_0x5c37d4,_0x232a20){const _0x16eb37={'LzhRh':function(_0x1a5d91,_0x1ecdbf){return _0x1a5d91!==_0x1ecdbf;},'tlrzQ':function(_0x3f3c12,_0x135536){return _0x3f3c12!==_0x135536;},'Shqro':function(_0x2730c4,_0x1883f1){return _0x2730c4!==_0x1883f1;}},_0x1f75b6=new Set();return _0x5c37d4['forEach'](_0x2ba22d=>{const _0x404b77=a0_0x1921,_0x1bb6d1=_0x2ba22d[_0x232a20];_0x16eb37[_0x404b77(0x13d)](_0x1bb6d1,null)&&_0x16eb37['tlrzQ'](_0x1bb6d1,undefined)&&_0x16eb37['Shqro'](_0x1bb6d1,'')&&_0x1f75b6[_0x404b77(0x157)](String(_0x1bb6d1)['trim']());}),Array['from'](_0x1f75b6);}async[a0_0x40382b(0x15f)](_0x1d2179,_0x580c2c){const _0x16969d=a0_0x40382b,_0x3a51bf={'WvpAc':function(_0x502617,_0x5cbdfb){return _0x502617===_0x5cbdfb;},'PTKFU':function(_0x487744,_0x186503){return _0x487744>_0x186503;}};if(!_0x580c2c||_0x3a51bf[_0x16969d(0x145)](Object[_0x16969d(0x15b)](_0x580c2c)[_0x16969d(0x147)],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x29af57=[],_0x20d596={};for(const [_0x21e79f,_0x1d6c81]of Object[_0x16969d(0x131)](_0x580c2c)){const {lookupTable:_0x416fa5,lookupColumn:_0x578569,lookupIdColumn:_0x2b52fd,required:_0xf768a}=_0x1d6c81,_0x523b28=this[_0x16969d(0x152)](_0x1d2179,_0x21e79f),_0x4978d9=await this[_0x16969d(0x14f)](_0x416fa5,_0x578569,_0x2b52fd),_0x4a4266=[],_0x9a23a4=[];_0x523b28[_0x16969d(0x138)](_0x529d5c=>{const _0x31291c=_0x16969d,_0x5ddc0d=this[_0x31291c(0x160)](_0x529d5c,_0x4978d9);_0x5ddc0d!==null?_0x9a23a4['push'](_0x529d5c):_0x4a4266['push'](_0x529d5c);});if(_0x3a51bf[_0x16969d(0x151)](_0x4a4266['length'],0x0)&&_0xf768a){_0x29af57[_0x16969d(0x163)]({'field':_0x21e79f,'lookupTable':_0x416fa5,'invalidValues':_0x4a4266,'message':_0x4a4266[_0x16969d(0x147)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0x416fa5});const _0x3e3b15=[];_0x4978d9[_0x16969d(0x138)]((_0x1c854f,_0x33e1b3)=>{const _0x3b10cf=_0x16969d;if(_0x33e1b3===_0x33e1b3[_0x3b10cf(0x156)]())return;_0x3e3b15['push'](_0x33e1b3);}),_0x20d596[_0x21e79f]={'invalidValues':_0x4a4266,'availableValues':_0x3e3b15['slice'](0x0,0x32)};}}return{'valid':_0x3a51bf['WvpAc'](_0x29af57[_0x16969d(0x147)],0x0),'errors':_0x29af57,'suggestions':_0x20d596};}}function a0_0x4afb(){const _0x527a9c=['Dg9vChbLCKnHC2u','nJu3otC5m1rSquz6Ba','Dg9mB3DLCKnHC2u','ywrK','zxHLy3v0zvf1zxj5','C2v0','og1xyLfxva','A2v5CW','nJy5mdmWmerZsxfUvG','mJi1mtf1tuH0Dum','zw52','DMfSAwrHDgvmB29RDxbwywX1zxm','CMvZB2X2zuXVB2T1CfzHBhvL','AgfZ','mJa3nLf6seDRsW','ChvZAa','BwfW','zw50CMLLCW','lI9KyI1TExnXBa','tg9VA3vWignHy2HLignSzwfYzwq','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','DhjPBq','D01pBLa','iezst00G','zM9YrwfJAa','mM5YDfbluG','mZm2odeZm2LtB2nAvG','mtuZmJKXExPUuxLd','rejFvfLqrq','thPOuMG','BwvZC2fNzq','B3jHy2XL','lI9KyG','lI9KyI1VCMfJBgu','Cg9ZDgDYzxnXBa','sujItgW','ntCYmtK2nKTcBez2Bq','v3zWqwm','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','BgvUz3rO','ChjVy2vZC0XVB2T1CezPzwXKCW','Aw5MBW','Bg9VA3vWq2fJAgu','s25ttvC','zxHWB3j0CW','ru95Buu','mZz3DKHsEeS','Bg9HzeXVB2T1CfrHyMXL','n0z5te5UCq','ufrlrLu','z2v0rgLZDgLUy3rwywX1zxm','mJGXnuHStK5AvG'];a0_0x4afb=function(){return _0x527a9c;};return a0_0x4afb();}module[a0_0x40382b(0x14c)]=new LookupResolver();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0xc6b38e=a0_0x12e4;function a0_0x12e4(_0x488235,_0x431a43){_0x488235=_0x488235-0x162;const _0x12138c=a0_0x1213();let _0x12e425=_0x12138c[_0x488235];if(a0_0x12e4['WCbFpM']===undefined){var _0x3da92c=function(_0x4daf11){const _0x286655='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x419f21='',_0x438ec5='';for(let _0x44e6ff=0x0,_0x195b93,_0x1927ec,_0x25d949=0x0;_0x1927ec=_0x4daf11['charAt'](_0x25d949++);~_0x1927ec&&(_0x195b93=_0x44e6ff%0x4?_0x195b93*0x40+_0x1927ec:_0x1927ec,_0x44e6ff++%0x4)?_0x419f21+=String['fromCharCode'](0xff&_0x195b93>>(-0x2*_0x44e6ff&0x6)):0x0){_0x1927ec=_0x286655['indexOf'](_0x1927ec);}for(let _0x5af75e=0x0,_0x48db0d=_0x419f21['length'];_0x5af75e<_0x48db0d;_0x5af75e++){_0x438ec5+='%'+('00'+_0x419f21['charCodeAt'](_0x5af75e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x438ec5);};a0_0x12e4['HNQDrd']=_0x3da92c,a0_0x12e4['SetGxW']={},a0_0x12e4['WCbFpM']=!![];}const _0xfb46f=_0x12138c[0x0],_0x18dc7d=_0x488235+_0xfb46f,_0x2b0be6=a0_0x12e4['SetGxW'][_0x18dc7d];return!_0x2b0be6?(_0x12e425=a0_0x12e4['HNQDrd'](_0x12e425),a0_0x12e4['SetGxW'][_0x18dc7d]=_0x12e425):_0x12e425=_0x2b0be6,_0x12e425;}(function(_0x5483c2,_0x4183fb){const _0x367335=a0_0x12e4,_0x866614=_0x5483c2();while(!![]){try{const _0x1ead7f=parseInt(_0x367335(0x16b))/0x1+parseInt(_0x367335(0x162))/0x2*(parseInt(_0x367335(0x17c))/0x3)+parseInt(_0x367335(0x17b))/0x4+-parseInt(_0x367335(0x16a))/0x5+-parseInt(_0x367335(0x180))/0x6*(parseInt(_0x367335(0x17a))/0x7)+parseInt(_0x367335(0x173))/0x8*(parseInt(_0x367335(0x182))/0x9)+-parseInt(_0x367335(0x17d))/0xa;if(_0x1ead7f===_0x4183fb)break;else _0x866614['push'](_0x866614['shift']());}catch(_0x22c0d9){_0x866614['push'](_0x866614['shift']());}}}(a0_0x1213,0xb3a1a));function a0_0x1213(){const _0x500128=['CMvHzezPBgu','mta1og1puMjTsa','AgfZ','zMLLBgroyw1L','uxbfruy','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','qKTOvuG','Aw5MBW','Cgf5Bg9Hzf9SB2fKzwq','ndG1mty1mhPirhzdsW','mte2nZi0ohfeEu5zBq','DgfIBgvoyw1L','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','y29SDw1UrM9YBwf0CW','zgf0yxrHyMXLC1f1zxj5','y2fJAgu','quHQB2S','Cgf5Bg9HzdO','ofLSs01JrW','y2XLyxjdywnOzq','lI9SB2DNzxi','zgvIDwC','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','z2v0','CgfYC2u','mJCYodq2thvoyxvM','ndK1mdGWoeDSthnAvW','odeZm0fkrKX0EG','mtq2mZG2ndbwC29xqwi','Bg9HzfbHEwXVywq','zMLLBgrmywjLBhm','mtiWBKXfu1nQ','Cgf5Bg9HzerPCG','otK0mdK1CuzyufHS','lI4VlI4VCgf5Bg9Hza','BLf6CgW','BwvZC2fNzq'];a0_0x1213=function(){return _0x500128;};return a0_0x1213();}const fs=require('fs')['promises'],path=require('path'),{logger}=require(a0_0xc6b38e(0x175));class PayloadLoader{constructor(){const _0x4c3268=a0_0xc6b38e,_0x112c9a={'ygkBc':_0x4c3268(0x183)};this['payloadDir']=path['join'](__dirname,_0x112c9a['ygkBc']),this[_0x4c3268(0x170)]=new Map();}async[a0_0xc6b38e(0x17e)](_0x54763d,_0x12f084){const _0x4d0fd0=a0_0xc6b38e,_0x4fc030={'GuESH':'utf8','AHjok':_0x4d0fd0(0x169),'WxcqD':_0x4d0fd0(0x166)},_0x87a878=_0x54763d+':'+_0x12f084;if(this[_0x4d0fd0(0x170)][_0x4d0fd0(0x163)](_0x87a878))return this[_0x4d0fd0(0x170)]['get'](_0x87a878);const _0x149196=path['join'](this['payloadDir'],_0x54763d+'_'+_0x12f084+'.json');try{const _0x5a06a2=await fs['readFile'](_0x149196,_0x4fc030['GuESH']),_0x173a97=JSON[_0x4d0fd0(0x179)](_0x5a06a2);return this['cache']['set'](_0x87a878,_0x173a97),logger[_0x4d0fd0(0x176)]({'event':_0x4fc030[_0x4d0fd0(0x171)],'project':_0x54763d,'resource':_0x12f084},_0x4fc030['WxcqD']),_0x173a97;}catch(_0x1e0216){logger['error']({'event':_0x4d0fd0(0x177),'project':_0x54763d,'resource':_0x12f084,'error':_0x1e0216['message']},'Failed\x20to\x20load\x20payload');throw new Error('Payload\x20not\x20found:\x20'+_0x54763d+'_'+_0x12f084);}}async['loadPayloadByName'](_0x37f787){const _0x3d338b=a0_0xc6b38e,_0x1cdc71={'BKhUH':_0x3d338b(0x169),'MpGcH':'Payload\x20loaded\x20successfully\x20by\x20name','QpEEF':'Failed\x20to\x20load\x20payload\x20by\x20name'},_0x5028af=_0x3d338b(0x172)+_0x37f787;if(this[_0x3d338b(0x170)][_0x3d338b(0x163)](_0x5028af))return this['cache'][_0x3d338b(0x178)](_0x5028af);const _0x49e2f2=path['join'](this[_0x3d338b(0x181)],_0x37f787+'.json');try{const _0x49e1d9=await fs[_0x3d338b(0x186)](_0x49e2f2,'utf8'),_0x4b933f=JSON[_0x3d338b(0x179)](_0x49e1d9);return this[_0x3d338b(0x170)]['set'](_0x5028af,_0x4b933f),logger['debug']({'event':_0x1cdc71[_0x3d338b(0x167)],'payloadName':_0x37f787},_0x1cdc71['MpGcH']),_0x4b933f;}catch(_0x3f63e6){logger['error']({'event':'payload_load_error','payloadName':_0x37f787,'error':_0x3f63e6[_0x3d338b(0x185)]},_0x1cdc71[_0x3d338b(0x165)]);throw new Error('Payload\x20not\x20found:\x20'+_0x37f787);}}['isActionEnabled'](_0x54e8c0,_0x15bf92){const _0x2368c1={'nmdwA':function(_0x476a8c,_0x4e947e){return _0x476a8c===_0x4e947e;}};return _0x54e8c0['action']&&_0x2368c1['nmdwA'](_0x54e8c0['action'][_0x15bf92],!![]);}['getExportConfig'](_0x7ebb61){const _0x3386f5=a0_0xc6b38e;return{'columns':_0x7ebb61[_0x3386f5(0x164)]||[],'filename':_0x7ebb61[_0x3386f5(0x16c)]['replace']('.','-')+'-export','datatablesQuery':_0x7ebb61[_0x3386f5(0x16f)]||null,'columnFormats':_0x7ebb61[_0x3386f5(0x16e)]||null,'fieldLabels':_0x7ebb61[_0x3386f5(0x17f)]||null};}[a0_0xc6b38e(0x174)](){const _0x215468=a0_0xc6b38e,_0x12c70f={'nQzpl':_0x215468(0x16d)};this[_0x215468(0x170)]['clear'](),logger[_0x215468(0x168)]({'event':'payload_cache_cleared'},_0x12c70f[_0x215468(0x184)]);}}module['exports']=new PayloadLoader();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';(function(_0x64ee19,_0x32e522){var _0x3a6fb1=a0_0x1278,_0x504cbe=_0x64ee19();while(!![]){try{var _0x137151=parseInt(_0x3a6fb1(0x1db))/0x1*(parseInt(_0x3a6fb1(0x1dc))/0x2)+parseInt(_0x3a6fb1(0x1dd))/0x3*(-parseInt(_0x3a6fb1(0x1de))/0x4)+parseInt(_0x3a6fb1(0x1df))/0x5*(-parseInt(_0x3a6fb1(0x1d8))/0x6)+parseInt(_0x3a6fb1(0x1e1))/0x7*(-parseInt(_0x3a6fb1(0x1d7))/0x8)+-parseInt(_0x3a6fb1(0x1da))/0x9+-parseInt(_0x3a6fb1(0x1e0))/0xa+parseInt(_0x3a6fb1(0x1d9))/0xb;if(_0x137151===_0x32e522)break;else _0x504cbe['push'](_0x504cbe['shift']());}catch(_0x5b16fd){_0x504cbe['push'](_0x504cbe['shift']());}}}(a0_0x5725,0x61fec));function a0_0x5725(){var _0x37ff79=['Dg9ju09tDhjPBMC','otG0C25TDerp','mti5odrbtKjqEKu','otm2odC3n1PcAMfcvq','mJmXody3mgDbBMnrAW','ndm0BMXiy3bM','mZy4ne5SAKXyCG','ndvpDhfmD2i','mti4ntCYz3zfBg5z','nZe1wM1Sr2PA','nZaWmtCWBe1luM9T','nZqYn1j0svHhra'];a0_0x5725=function(){return _0x37ff79;};return a0_0x5725();}function createResponse(_0x112817,_0x6edf2d,_0x4b3d50=null){var _0x1cf2f5=a0_0x1278;return{'success':!![],'statusCode':_0x112817,'message':_0x6edf2d,'data':_0x4b3d50,'timestamp':new Date()[_0x1cf2f5(0x1d6)]()};}function a0_0x1278(_0x199c4c,_0x3c9581){_0x199c4c=_0x199c4c-0x1d6;var _0x5725cb=a0_0x5725();var _0x127891=_0x5725cb[_0x199c4c];if(a0_0x1278['NCVfHm']===undefined){var _0x2f9c94=function(_0x332c4d){var _0x486e8d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x3495b1='',_0x15c7af='';for(var _0x47c2c4=0x0,_0x58e20b,_0x484ffe,_0x547968=0x0;_0x484ffe=_0x332c4d['charAt'](_0x547968++);~_0x484ffe&&(_0x58e20b=_0x47c2c4%0x4?_0x58e20b*0x40+_0x484ffe:_0x484ffe,_0x47c2c4++%0x4)?_0x3495b1+=String['fromCharCode'](0xff&_0x58e20b>>(-0x2*_0x47c2c4&0x6)):0x0){_0x484ffe=_0x486e8d['indexOf'](_0x484ffe);}for(var _0x2be5f4=0x0,_0x3bfca4=_0x3495b1['length'];_0x2be5f4<_0x3bfca4;_0x2be5f4++){_0x15c7af+='%'+('00'+_0x3495b1['charCodeAt'](_0x2be5f4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x15c7af);};a0_0x1278['KfIINS']=_0x2f9c94,a0_0x1278['cGICZS']={},a0_0x1278['NCVfHm']=!![];}var _0x267899=_0x5725cb[0x0],_0x191cd1=_0x199c4c+_0x267899,_0x46d810=a0_0x1278['cGICZS'][_0x191cd1];return!_0x46d810?(_0x127891=a0_0x1278['KfIINS'](_0x127891),a0_0x1278['cGICZS'][_0x191cd1]=_0x127891):_0x127891=_0x46d810,_0x127891;}function createError(_0x27d6d6,_0x1e9462,_0x450e08=null){return{'success':![],'statusCode':_0x27d6d6,'message':_0x1e9462,'data':_0x450e08,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x4b3675,_0x14ff0e){var _0x58c3ee=a0_0x1278;return{'success':![],'statusCode':0x190,'message':_0x4b3675,'data':{'errors':_0x14ff0e},'timestamp':new Date()[_0x58c3ee(0x1d6)]()};}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
|
package/src/utils/rabbitmq.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0xa1811f=a0_0x338f;(function(_0x1a0ca9,_0x4512a3){const _0x4790ab=a0_0x338f,_0x2f7248=_0x1a0ca9();while(!![]){try{const _0x1ddd9b=parseInt(_0x4790ab(0x198))/0x1*(-parseInt(_0x4790ab(0x193))/0x2)+-parseInt(_0x4790ab(0x1a9))/0x3*(-parseInt(_0x4790ab(0x1b8))/0x4)+-parseInt(_0x4790ab(0x190))/0x5*(parseInt(_0x4790ab(0x1b2))/0x6)+-parseInt(_0x4790ab(0x19d))/0x7*(-parseInt(_0x4790ab(0x199))/0x8)+-parseInt(_0x4790ab(0x1b9))/0x9+parseInt(_0x4790ab(0x1c3))/0xa+parseInt(_0x4790ab(0x19b))/0xb*(parseInt(_0x4790ab(0x1b5))/0xc);if(_0x1ddd9b===_0x4512a3)break;else _0x2f7248['push'](_0x2f7248['shift']());}catch(_0x15fabf){_0x2f7248['push'](_0x2f7248['shift']());}}}(a0_0x2674,0x6acf2),require(a0_0xa1811f(0x1a6))[a0_0xa1811f(0x1bc)]());function a0_0x2674(){const _0x5eae7b=['r2HhugS','yxnZzxj0uxvLDwu','Aw5JBhvKzxm','xsbszxrYEsbIAw5KAw5NigzVCIa','yuXisuK','zg90zw52','uKfcqKLutvfFuvvfvuu','sMDsBMS','mJaZmZm1nvzkt25gtW','uKfcqKLutvfFvvjm','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','yxnZzxj0rxHJAgfUz2u','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','ignYzwf0zwqVCMvHzhK','zxHWB3j0CW','uxHUAgm','mtHuCfzJC3y','ic0+ia','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','mJmWoti4zePitw1M','xsbszxrYEsbLEgnOyw5NzsbJCMvHDgvKl3jLywr5','Bg9N','nfHosNPbza','mJm4ndmWn0vOvKTWsW','zxjYB3i','zKfyAgO','y29UzMLN','uKfcqKLutvfFrvHdsefor0u','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','CxvLDwu','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','CMv0CNKTzxHJAgfUz2u','zgLYzwn0','ntCYotaWvePlrNjV','zM91BMq','ody2mZq1ENreCwfm','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','yMLUzff1zxvL','mNnWz1nvBq','uKrQELK','ihDPDgGGreXy','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','zw52','nJaYndq0EKz5CKvr','odHvwer3Aui','xsbcAw5KAw5Nia','mZuYuhb2r21V','y29UBMvJDa','mZaXndK3C1nrs2zM','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','BwvZC2fNzq','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r'];a0_0x2674=function(){return _0x5eae7b;};return a0_0x2674();}const amqp=require('amqplib'),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process[a0_0xa1811f(0x197)][a0_0xa1811f(0x1aa)],EXCHANGE=process['env'][a0_0xa1811f(0x1bd)],ROUTING_KEY=process[a0_0xa1811f(0x197)]['RABBITMQ_ROUTING_KEY'],QUEUE=process[a0_0xa1811f(0x197)][a0_0xa1811f(0x1a7)];async function createConnection(){const _0x3961d9=a0_0xa1811f;try{const _0x130c3a=await amqp[_0x3961d9(0x19c)](RABBITMQ_URL);return console['log']('['+formatDate(new Date())+_0x3961d9(0x1a0)),_0x130c3a;}catch(_0x4e8cae){console[_0x3961d9(0x1ba)]('['+formatDate(new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x4e8cae['message']);throw _0x4e8cae;}}function a0_0x338f(_0x493201,_0x27d074){_0x493201=_0x493201-0x190;const _0x26744e=a0_0x2674();let _0x338fdf=_0x26744e[_0x493201];if(a0_0x338f['FiXehU']===undefined){var _0x4b2e44=function(_0x8eb707){const _0x697608='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x162bdd='',_0x32d2ed='';for(let _0x65517c=0x0,_0x395f78,_0x587e98,_0xc0ce16=0x0;_0x587e98=_0x8eb707['charAt'](_0xc0ce16++);~_0x587e98&&(_0x395f78=_0x65517c%0x4?_0x395f78*0x40+_0x587e98:_0x587e98,_0x65517c++%0x4)?_0x162bdd+=String['fromCharCode'](0xff&_0x395f78>>(-0x2*_0x65517c&0x6)):0x0){_0x587e98=_0x697608['indexOf'](_0x587e98);}for(let _0x46a2bd=0x0,_0x5bac07=_0x162bdd['length'];_0x46a2bd<_0x5bac07;_0x46a2bd++){_0x32d2ed+='%'+('00'+_0x162bdd['charCodeAt'](_0x46a2bd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x32d2ed);};a0_0x338f['ucuuJN']=_0x4b2e44,a0_0x338f['unJAkm']={},a0_0x338f['FiXehU']=!![];}const _0xab94a1=_0x26744e[0x0],_0x2d0bed=_0x493201+_0xab94a1,_0x43f7fd=a0_0x338f['unJAkm'][_0x2d0bed];return!_0x43f7fd?(_0x338fdf=a0_0x338f['ucuuJN'](_0x338fdf),a0_0x338f['unJAkm'][_0x2d0bed]=_0x338fdf):_0x338fdf=_0x43f7fd,_0x338fdf;}async function createChannel(_0x7aba4f){const _0x3ab78f=a0_0xa1811f,_0x12c3d6={'fAXhj':function(_0x59c77a,_0x3666c2){return _0x59c77a(_0x3666c2);}};try{const _0x4ebf59=await _0x7aba4f['createChannel']();return console['log']('['+_0x12c3d6[_0x3ab78f(0x1bb)](formatDate,new Date())+_0x3ab78f(0x1b4)),_0x4ebf59;}catch(_0x46157f){console[_0x3ab78f(0x1ba)]('['+formatDate(new Date())+_0x3ab78f(0x1ac)+_0x46157f['message']);throw _0x46157f;}}async function setupInfrastructure(_0x5b33b3){const _0x2752d4=a0_0xa1811f,_0x3bc88a={'zCIdf':_0x2752d4(0x1c2),'RDjzY':function(_0x1d1359,_0xf9e91c){return _0x1d1359(_0xf9e91c);},'JgRnk':'created/ready','GhGPk':_0x2752d4(0x1c4),'aLHII':function(_0x55f9e8,_0x1be492){return _0x55f9e8(_0x1be492);},'qLOYJ':'inequivalent\x20arg'};try{await _0x5b33b3[_0x2752d4(0x1ad)](_0x2752d4(0x1c1),_0x3bc88a['zCIdf'],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x3bc88a['RDjzY'](formatDate,new Date())+_0x2752d4(0x1b6));}catch(_0x555e2f){console[_0x2752d4(0x1ba)]('['+formatDate(new Date())+_0x2752d4(0x1c0),_0x555e2f[_0x2752d4(0x19f)]);throw _0x555e2f;}try{await _0x5b33b3['assertExchange'](EXCHANGE,_0x2752d4(0x1c2),{'durable':!![],'autoDelete':![]}),console[_0x2752d4(0x1b7)]('['+_0x3bc88a['RDjzY'](formatDate,new Date())+']\x20Exchange\x20'+EXCHANGE+_0x2752d4(0x1af));}catch(_0x1abd44){console['error']('['+formatDate(new Date())+_0x2752d4(0x19e)+EXCHANGE+':',_0x1abd44['message']);throw _0x1abd44;}const _0x3fbf93=ROUTING_KEY+'_retry';try{const _0x407b9d={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x5b33b3[_0x2752d4(0x1a2)](_0x3fbf93,_0x407b9d),console[_0x2752d4(0x1b7)]('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0x3fbf93+_0x2752d4(0x1af)),await _0x5b33b3[_0x2752d4(0x192)](_0x3fbf93,'retry-exchange',ROUTING_KEY),console['log']('['+_0x3bc88a[_0x2752d4(0x194)](formatDate,new Date())+_0x2752d4(0x1a4)+ROUTING_KEY+'\x20created');}catch(_0x226cf0){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x226cf0['message']);throw _0x226cf0;}try{const _0x42d14a={'durable':!![],'arguments':{'x-dead-letter-exchange':'retry-exchange','x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x48cf3e=await _0x5b33b3[_0x2752d4(0x1a2)](QUEUE,_0x42d14a);console[_0x2752d4(0x1b7)]('['+formatDate(new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x48cf3e[_0x2752d4(0x1bf)]===QUEUE?_0x3bc88a[_0x2752d4(0x1a8)]:_0x3bc88a[_0x2752d4(0x1a1)])+_0x2752d4(0x195)),await _0x5b33b3[_0x2752d4(0x192)](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x2752d4(0x1b7)]('['+_0x3bc88a['aLHII'](formatDate,new Date())+_0x2752d4(0x19a)+EXCHANGE+_0x2752d4(0x1b3)+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0x20e470){if(_0x20e470['message'][_0x2752d4(0x1a3)](_0x3bc88a['qLOYJ'])&&_0x20e470['message'][_0x2752d4(0x1a3)]('x-dead-letter-routing-key'))console[_0x2752d4(0x1ba)]('\x0a['+formatDate(new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+_0x2752d4(0x1ae)),console[_0x2752d4(0x1ba)]('Queue\x20'+QUEUE+_0x2752d4(0x1be)),console['error']('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process['exit'](0x1);else{console[_0x2752d4(0x1ba)]('['+_0x3bc88a['aLHII'](formatDate,new Date())+_0x2752d4(0x191)+QUEUE+':',_0x20e470['message']);throw _0x20e470;}}}catch(_0x327477){if(!_0x327477[_0x2752d4(0x19f)][_0x2752d4(0x1a3)]('inequivalent\x20arg')){console['error']('['+_0x3bc88a[_0x2752d4(0x1a5)](formatDate,new Date())+_0x2752d4(0x1ab),_0x327477[_0x2752d4(0x19f)]);throw _0x327477;}process['exit'](0x1);}}async function closeConnection(_0x4293d3){const _0x2b90f6=a0_0xa1811f,_0x14f146={'opkPE':function(_0xa2c784,_0x3815cb){return _0xa2c784(_0x3815cb);},'Qxnhc':function(_0x44a7c5,_0x155d65){return _0x44a7c5(_0x155d65);}};if(_0x4293d3)try{await _0x4293d3['close'](),console['log']('['+_0x14f146['opkPE'](formatDate,new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x9588f8){console['error']('['+_0x14f146[_0x2b90f6(0x1b1)](formatDate,new Date())+_0x2b90f6(0x196)+_0x9588f8['message']);}}module[a0_0xa1811f(0x1b0)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a0_0xed00(_0x3a562e,_0x1a613c){_0x3a562e=_0x3a562e-0xed;const _0xdaf3f9=a0_0xdaf3();let _0xed0087=_0xdaf3f9[_0x3a562e];if(a0_0xed00['nObnhC']===undefined){var _0xc9a9b0=function(_0x3b1ea8){const _0x2e9173='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5ccee0='',_0x5accca='';for(let _0x18d79b=0x0,_0x36f341,_0x18b99a,_0x5a9da8=0x0;_0x18b99a=_0x3b1ea8['charAt'](_0x5a9da8++);~_0x18b99a&&(_0x36f341=_0x18d79b%0x4?_0x36f341*0x40+_0x18b99a:_0x18b99a,_0x18d79b++%0x4)?_0x5ccee0+=String['fromCharCode'](0xff&_0x36f341>>(-0x2*_0x18d79b&0x6)):0x0){_0x18b99a=_0x2e9173['indexOf'](_0x18b99a);}for(let _0x5f0af3=0x0,_0x50592d=_0x5ccee0['length'];_0x5f0af3<_0x50592d;_0x5f0af3++){_0x5accca+='%'+('00'+_0x5ccee0['charCodeAt'](_0x5f0af3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5accca);};a0_0xed00['qNHRND']=_0xc9a9b0,a0_0xed00['xhCTCf']={},a0_0xed00['nObnhC']=!![];}const _0x301a3f=_0xdaf3f9[0x0],_0x46d38f=_0x3a562e+_0x301a3f,_0x3b9607=a0_0xed00['xhCTCf'][_0x46d38f];return!_0x3b9607?(_0xed0087=a0_0xed00['qNHRND'](_0xed0087),a0_0xed00['xhCTCf'][_0x46d38f]=_0xed0087):_0xed0087=_0x3b9607,_0xed0087;}function a0_0xdaf3(){const _0x2c1326=['CMvKAxnFy29UBMvJDgvK','EffJvuy','uKvesvnFue9sva','Aw9YzwrPCW','nti1nZiYs2vnzvfb','BwvZC2fNzq','rgniD0O','mtmZotfJs1bADeO','lI9SB2DNzxi','BwLU','y2XPzw50','zxjYB3i','uKvesvnFse9tva','ue9orW','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','nJqYote4mu5oyvD4EG','mtC3ntCWogz0qNLwwa','D2fYBG','mZqYq2Huzvjz','CMvKAxnFzgLZy29UBMvJDgvK','zxHWB3j0CW','CMvKAxnFAw5PDf9LCNjVCG','BMjNBgG','uMvKAxmGueLorYb0Aw1LB3v0','m1ntEu1OvW','CxvPDa','y2XVC2u','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','y29UBMvJDa','nJqWotG0CwzOA1fv','nZK0nJbLAuPMCLy','AxndB25Uzwn0zwq','tgvmz3G','t0Hhwhq','odCYDvjdtKzW','nwvArwr5vq','ndeXnJi3mhLsDM1wsW','uKvesvnFrei','CMfJzq','Cw5gyvq','zw52'];a0_0xdaf3=function(){return _0x2c1326;};return a0_0xdaf3();}const a0_0xbff3a6=a0_0xed00;(function(_0x270c3d,_0x3c56d5){const _0x1c7fbe=a0_0xed00,_0x372e0d=_0x270c3d();while(!![]){try{const _0x2dd18b=parseInt(_0x1c7fbe(0xf6))/0x1+parseInt(_0x1c7fbe(0x106))/0x2*(-parseInt(_0x1c7fbe(0xf1))/0x3)+parseInt(_0x1c7fbe(0x112))/0x4*(parseInt(_0x1c7fbe(0xfc))/0x5)+parseInt(_0x1c7fbe(0xfd))/0x6+-parseInt(_0x1c7fbe(0x109))/0x7*(parseInt(_0x1c7fbe(0xfb))/0x8)+-parseInt(_0x1c7fbe(0x114))/0x9*(parseInt(_0x1c7fbe(0xf7))/0xa)+-parseInt(_0x1c7fbe(0x111))/0xb;if(_0x2dd18b===_0x3c56d5)break;else _0x372e0d['push'](_0x372e0d['shift']());}catch(_0x5e7496){_0x372e0d['push'](_0x372e0d['shift']());}}}(a0_0xdaf3,0x64de7));const Redis=require(a0_0xbff3a6(0x105)),{logger}=require(a0_0xbff3a6(0x10a));class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}['connect'](){const _0x7cd7f7=a0_0xbff3a6,_0x386c2d={'nbglh':'redis_error','oYEuq':_0x7cd7f7(0x115),'DcHwJ':'Redis\x20connection\x20closed','LeLgx':'localhost','OHGXt':function(_0x6a3d83,_0x2dbab6,_0x56872a){return _0x6a3d83(_0x2dbab6,_0x56872a);},'qnFaT':function(_0x222750,_0x2cbf12,_0x21e2c9){return _0x222750(_0x2cbf12,_0x21e2c9);},'xQcUF':_0x7cd7f7(0xf5),'fTsTw':'error','ziRlF':_0x7cd7f7(0xee),'yijRh':_0x7cd7f7(0x110)};if(this['client'])return this[_0x7cd7f7(0x10c)];try{return this[_0x7cd7f7(0x10c)]=new Redis({'host':process[_0x7cd7f7(0x101)][_0x7cd7f7(0x10e)]||_0x386c2d[_0x7cd7f7(0xf9)],'port':_0x386c2d[_0x7cd7f7(0xfa)](parseInt,process['env'][_0x7cd7f7(0x104)],0xa)||0x18ec,'password':process[_0x7cd7f7(0x101)]['REDIS_PASSWORD']||undefined,'db':_0x386c2d[_0x7cd7f7(0x100)](parseInt,process['env'][_0x7cd7f7(0xfe)],0xa)||0x0,'retryStrategy'(_0x20cbd3){const _0x5234ed=_0x7cd7f7,_0x2fa2ba=Math[_0x5234ed(0x10b)](_0x20cbd3*0x32,0x7d0);return _0x2fa2ba;}}),this['client']['on'](_0x386c2d[_0x7cd7f7(0x103)],()=>{const _0x5051aa=_0x7cd7f7;this['isConnected']=!![],logger['info']({'event':_0x5051aa(0x102)},_0x5051aa(0xf4));}),this['client']['on'](_0x386c2d['fTsTw'],_0xc65fc7=>{const _0x161c93=_0x7cd7f7;this[_0x161c93(0xf8)]=![],logger['error']({'event':_0x386c2d[_0x161c93(0xef)],'error':_0xc65fc7[_0x161c93(0x107)]},'Redis\x20connection\x20error:\x20'+_0xc65fc7[_0x161c93(0x107)]);}),this['client']['on'](_0x7cd7f7(0xf3),()=>{const _0x53dcf2=_0x7cd7f7;this[_0x53dcf2(0xf8)]=![],logger[_0x53dcf2(0x113)]({'event':_0x386c2d['oYEuq']},_0x386c2d[_0x53dcf2(0x108)]);}),this[_0x7cd7f7(0x10c)];}catch(_0x25d480){logger[_0x7cd7f7(0x10d)]({'event':_0x386c2d['ziRlF'],'error':_0x25d480[_0x7cd7f7(0x107)]},_0x386c2d['yijRh']);throw _0x25d480;}}['getClient'](){const _0xa08023=a0_0xbff3a6;return!this[_0xa08023(0x10c)]&&this[_0xa08023(0xf5)](),this['client'];}async['ping'](_0x254624=0x1388){const _0x44517a=a0_0xbff3a6,_0x31e2f6={'xQFAV':_0x44517a(0x10f)};try{const _0x27b9d4=this['getClient'](),_0x1ac5c6=await Promise[_0x44517a(0xff)]([_0x27b9d4['ping'](),new Promise((_0x4d6014,_0x261e10)=>setTimeout(()=>_0x261e10(new Error(_0x44517a(0xf0))),_0x254624))]);return _0x1ac5c6===_0x31e2f6['xQFAV'];}catch(_0x4ed985){return![];}}async['disconnect'](){const _0x2929bd=a0_0xbff3a6;this['client']&&(await this['client'][_0x2929bd(0xf2)](),this['client']=null,this['isConnected']=![]);}['forceDisconnect'](){const _0x2a3b8e=a0_0xbff3a6;this['client']&&(this[_0x2a3b8e(0x10c)]['disconnect'](),this[_0x2a3b8e(0x10c)]=null,this[_0x2a3b8e(0xf8)]=![]);}}module[a0_0xbff3a6(0xed)]=new RedisClient();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x18830a=a0_0x4f08;(function(_0x4f7adf,_0x4cdea6){const _0x164009=a0_0x4f08,_0x96bc89=_0x4f7adf();while(!![]){try{const _0xc67877=parseInt(_0x164009(0x1c8))/0x1+parseInt(_0x164009(0x1d1))/0x2*(parseInt(_0x164009(0x1c5))/0x3)+-parseInt(_0x164009(0x1d2))/0x4*(parseInt(_0x164009(0x1e0))/0x5)+-parseInt(_0x164009(0x1e2))/0x6*(parseInt(_0x164009(0x1cc))/0x7)+parseInt(_0x164009(0x1e8))/0x8*(-parseInt(_0x164009(0x1d7))/0x9)+parseInt(_0x164009(0x1d4))/0xa*(parseInt(_0x164009(0x1d0))/0xb)+-parseInt(_0x164009(0x1e9))/0xc;if(_0xc67877===_0x4cdea6)break;else _0x96bc89['push'](_0x96bc89['shift']());}catch(_0x528fc3){_0x96bc89['push'](_0x96bc89['shift']());}}}(a0_0x4f1d,0x7e9e8));function a0_0x4f1d(){const _0x26da92=['zgvMyxvSDa','lI9SB2DNzxi','mJG2otG1zeLgDgrW','z2v0sM9I','mJmWodi1ngT2zxrIzW','uKTNsfy','zgvS','zxjYB3i','ChvZAa','CMvKAxnFz2v0x2vYCM9Y','nZi2nJrHzuvfBum','nZm1mZCYAgHTwK14','CMvKAxnFz2v0ywXSx2vYCM9Y','C2v0sM9I','oMv4Cg9YDdO','zxHWB3j0CW','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW','mJeWodaXy3v2Aerd','zw52','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','ota0nZuZwwLRueDf','DhrS','CgfYC2u','x3bYzwzPEa','mtrVy1nxELm','z2v0','CMvKAxnFC2v0x2vYCM9Y','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','nJq5ntvXvuXrA2m','mtHmsezqC1y','mJH0svziCwK','z2v0qwXSsM9ICW','ndCWuwzVtez0','rMfPBgvKihrVigDLDcbQB2iGzNjVBsbszwrPCW','C3rYAw5NAwz5','nJn5ufbcC3C','CMvKAxnFzgvSzxrLx2vYCM9Y','C2v0zxG','zgvSzxrLsM9I','CMvZDgzVCMDLoG','z2v0q2XPzw50','ChjLzML4'];a0_0x4f1d=function(){return _0x26da92;};return a0_0x4f1d();}const redisClient=require('./redis-client'),{logger}=require(a0_0x18830a(0x1df));function a0_0x4f08(_0x18e136,_0x4010e4){_0x18e136=_0x18e136-0x1c5;const _0x4f1d6d=a0_0x4f1d();let _0x4f0863=_0x4f1d6d[_0x18e136];if(a0_0x4f08['kBEIhO']===undefined){var _0x4c1ead=function(_0x1b211d){const _0x3ba50b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x39423f='',_0x243d6d='';for(let _0x103b2e=0x0,_0x1e16f2,_0x2012b7,_0x312ce8=0x0;_0x2012b7=_0x1b211d['charAt'](_0x312ce8++);~_0x2012b7&&(_0x1e16f2=_0x103b2e%0x4?_0x1e16f2*0x40+_0x2012b7:_0x2012b7,_0x103b2e++%0x4)?_0x39423f+=String['fromCharCode'](0xff&_0x1e16f2>>(-0x2*_0x103b2e&0x6)):0x0){_0x2012b7=_0x3ba50b['indexOf'](_0x2012b7);}for(let _0x3d36f8=0x0,_0x526121=_0x39423f['length'];_0x3d36f8<_0x526121;_0x3d36f8++){_0x243d6d+='%'+('00'+_0x39423f['charCodeAt'](_0x3d36f8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x243d6d);};a0_0x4f08['zIvzXK']=_0x4c1ead,a0_0x4f08['VEXzmL']={},a0_0x4f08['kBEIhO']=!![];}const _0x215a56=_0x4f1d6d[0x0],_0x15886d=_0x18e136+_0x215a56,_0x150689=a0_0x4f08['VEXzmL'][_0x15886d];return!_0x150689?(_0x4f0863=a0_0x4f08['zIvzXK'](_0x4f0863),a0_0x4f08['VEXzmL'][_0x15886d]=_0x4f0863):_0x4f0863=_0x150689,_0x4f0863;}class RedisHelper{constructor(){const _0xa7266a=a0_0x18830a;this['_prefix']=null,this[_0xa7266a(0x1c9)]=parseInt(process[_0xa7266a(0x1c6)]['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get[a0_0x18830a(0x1dd)](){const _0x57bd18=a0_0x18830a,_0x1ab412={'zntfQ':_0x57bd18(0x1de)};if(!this[_0x57bd18(0x1cb)]){const _0x2f8765=process[_0x57bd18(0x1c6)]['RESTFORGE_PROJECT_NAME']||_0x1ab412['zntfQ'];this[_0x57bd18(0x1cb)]=_0x57bd18(0x1db)+_0x2f8765+_0x57bd18(0x1ec);}return this[_0x57bd18(0x1cb)];}async['setJob'](_0x50cbae,_0x7ef5da){const _0x532487=a0_0x18830a,_0x1d11ea={'nkQsn':_0x532487(0x1c7)};try{const _0x2157cd=redisClient[_0x532487(0x1dc)](),_0x5c18e2=''+this[_0x532487(0x1dd)]+_0x50cbae;return await _0x2157cd[_0x532487(0x1d9)](_0x5c18e2,this[_0x532487(0x1c9)],JSON[_0x532487(0x1d6)](_0x7ef5da)),!![];}catch(_0x78c008){return logger[_0x532487(0x1e5)]({'event':_0x532487(0x1ce),'jobId':_0x50cbae,'error':_0x78c008['message']},_0x1d11ea['nkQsn']),![];}}async['getJob'](_0x44fe44){const _0x43255a=a0_0x18830a;try{const _0x126034=redisClient['getClient'](),_0x371f28=''+this[_0x43255a(0x1dd)]+_0x44fe44,_0x5bd662=await _0x126034[_0x43255a(0x1cd)](_0x371f28);return _0x5bd662?JSON[_0x43255a(0x1ca)](_0x5bd662):null;}catch(_0xd9e154){return logger['error']({'event':_0x43255a(0x1e7),'jobId':_0x44fe44,'error':_0xd9e154['message']},_0x43255a(0x1d5)),null;}}async['updateJob'](_0x2411c4,_0x2ed8f9){const _0xe66dd9=a0_0x18830a,_0x2314c1=await this[_0xe66dd9(0x1e1)](_0x2411c4);if(!_0x2314c1)return![];const _0x5e57e0={..._0x2314c1,..._0x2ed8f9};return await this[_0xe66dd9(0x1eb)](_0x2411c4,_0x5e57e0);}async[a0_0x18830a(0x1da)](_0x30d265){const _0x845d41=a0_0x18830a,_0x55bd80={'RKgHV':_0x845d41(0x1d8)};try{const _0x41e116=redisClient[_0x845d41(0x1dc)](),_0xcf131c=''+this['prefix']+_0x30d265;return await _0x41e116[_0x845d41(0x1e4)](_0xcf131c),!![];}catch(_0x26846e){return logger['error']({'event':_0x55bd80[_0x845d41(0x1e3)],'jobId':_0x30d265,'error':_0x26846e['message']},_0x845d41(0x1ee)),![];}}async[a0_0x18830a(0x1d3)](){const _0x3471fd=a0_0x18830a;try{const _0x101e01=redisClient[_0x3471fd(0x1dc)](),_0xdb4e4a=await _0x101e01['keys'](this[_0x3471fd(0x1dd)]+'*'),_0x2a157b=[];for(const _0x2ea0f2 of _0xdb4e4a){const _0x364e14=await _0x101e01['get'](_0x2ea0f2);_0x364e14&&_0x2a157b[_0x3471fd(0x1e6)](JSON['parse'](_0x364e14));}return _0x2a157b;}catch(_0x4cbfbb){return logger['error']({'event':_0x3471fd(0x1ea),'error':_0x4cbfbb['message']},_0x3471fd(0x1cf)),[];}}}module[a0_0x18830a(0x1ed)]=new RedisHelper();
|