@restforgejs/platform 5.2.0 → 5.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +2 -2
- package/cli/consumer.js +2 -2
- package/generators/cli/fast-track.js +58 -5
- package/generators/lib/migrate/migrate-runner.js +12 -2
- package/generators/lib/migrate/sql-parser.js +5 -3
- package/generators/lib/payload/payload-runner.js +31 -5
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/integrity-manifest.json +18 -18
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +2 -2
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/soft-delete-dashboard-guard.js +1 -1
- package/src/utils/sql-table-extractor.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const
|
|
1
|
+
'use strict';const a0_0x7bc7e=a0_0xfa0e;(function(_0x49f00c,_0x12ac7e){const _0x8eaef1=a0_0xfa0e,_0x25a2f2=_0x49f00c();while(!![]){try{const _0x4ed597=parseInt(_0x8eaef1(0xd4))/0x1+parseInt(_0x8eaef1(0xf4))/0x2*(-parseInt(_0x8eaef1(0xed))/0x3)+-parseInt(_0x8eaef1(0xfd))/0x4*(parseInt(_0x8eaef1(0x103))/0x5)+-parseInt(_0x8eaef1(0xf7))/0x6*(parseInt(_0x8eaef1(0xee))/0x7)+parseInt(_0x8eaef1(0xd0))/0x8+parseInt(_0x8eaef1(0xde))/0x9*(parseInt(_0x8eaef1(0xf6))/0xa)+parseInt(_0x8eaef1(0xd3))/0xb;if(_0x4ed597===_0x12ac7e)break;else _0x25a2f2['push'](_0x25a2f2['shift']());}catch(_0x25aa0f){_0x25a2f2['push'](_0x25a2f2['shift']());}}}(a0_0x5397,0x37b05));function a0_0xfa0e(_0x1fd0ae,_0x12bb72){_0x1fd0ae=_0x1fd0ae-0xcb;const _0x539774=a0_0x5397();let _0xfa0ed9=_0x539774[_0x1fd0ae];if(a0_0xfa0e['ELKCJn']===undefined){var _0x47225f=function(_0x5d153e){const _0x2d33d7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1915fb='',_0x467f11='';for(let _0x373567=0x0,_0x2becfc,_0x204dbd,_0x1544ed=0x0;_0x204dbd=_0x5d153e['charAt'](_0x1544ed++);~_0x204dbd&&(_0x2becfc=_0x373567%0x4?_0x2becfc*0x40+_0x204dbd:_0x204dbd,_0x373567++%0x4)?_0x1915fb+=String['fromCharCode'](0xff&_0x2becfc>>(-0x2*_0x373567&0x6)):0x0){_0x204dbd=_0x2d33d7['indexOf'](_0x204dbd);}for(let _0x28dd7f=0x0,_0xef7288=_0x1915fb['length'];_0x28dd7f<_0xef7288;_0x28dd7f++){_0x467f11+='%'+('00'+_0x1915fb['charCodeAt'](_0x28dd7f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x467f11);};a0_0xfa0e['wndaUR']=_0x47225f,a0_0xfa0e['vQxjtU']={},a0_0xfa0e['ELKCJn']=!![];}const _0x1de856=_0x539774[0x0],_0x1f3401=_0x1fd0ae+_0x1de856,_0x364225=a0_0xfa0e['vQxjtU'][_0x1f3401];return!_0x364225?(_0xfa0ed9=a0_0xfa0e['wndaUR'](_0xfa0ed9),a0_0xfa0e['vQxjtU'][_0x1f3401]=_0xfa0ed9):_0xfa0ed9=_0x364225,_0xfa0ed9;}const multer=require(a0_0x7bc7e(0xcb)),path=require('path'),crypto=require(a0_0x7bc7e(0xfb)),fs=require('fs')[a0_0x7bc7e(0xd9)],fsSync=require('fs'),{logger}=require('./logger');class UploadHandlerV2{constructor(){this['_tempDir']=null;}get['tempDir'](){const _0x4e0f15=a0_0x7bc7e;if(!this[_0x4e0f15(0xfc)]){const _0x51b5c9=process['env'][_0x4e0f15(0xf0)]||_0x4e0f15(0xd2);this['_tempDir']=process[_0x4e0f15(0xe8)][_0x4e0f15(0xe6)]||path[_0x4e0f15(0xf5)](process[_0x4e0f15(0xf2)](),'temp',_0x4e0f15(0xd5),_0x51b5c9),!fsSync[_0x4e0f15(0x104)](this[_0x4e0f15(0xfc)])&&fsSync['mkdirSync'](this[_0x4e0f15(0xfc)],{'recursive':!![]});}return this['_tempDir'];}['createUploadMiddleware'](_0x3a9597={}){const _0x24461f=a0_0x7bc7e,_0xc40c4f={'EktOY':_0x24461f(0x101),'qdViQ':function(_0x47a4d2,_0x5d1cc8,_0x5a9e34){return _0x47a4d2(_0x5d1cc8,_0x5a9e34);},'NNJBE':function(_0x20fb4c,_0x249f8e){return _0x20fb4c(_0x249f8e);},'aVKHS':_0x24461f(0xff),'Guuiz':function(_0x5d2c45,_0x255350){return _0x5d2c45(_0x255350);},'HJOQJ':_0x24461f(0xeb)},_0x142c12=_0x3a9597[_0x24461f(0xec)]||0x5,_0x4b9ccc=this[_0x24461f(0xda)](_0x3a9597['maxFileSize']||_0xc40c4f[_0x24461f(0xe5)]),_0x15ea28=_0x3a9597[_0x24461f(0xf3)]||[],_0x54412a=multer['diskStorage']({'destination':(_0x160e20,_0x3160cd,_0x17b7d4)=>{const _0x34f408=_0x24461f;!fsSync['existsSync'](this['tempDir'])&&fsSync['mkdirSync'](this[_0x34f408(0xcc)],{'recursive':!![]}),_0x17b7d4(null,this['tempDir']);},'filename':(_0x2568ff,_0x4b1b3b,_0x5dca06)=>{const _0x35d216=_0x24461f,_0x509e88=crypto['randomBytes'](0x8)[_0x35d216(0xfa)](_0xc40c4f['EktOY']),_0x3f84fe=Date[_0x35d216(0xf9)](),_0x518cf7=path[_0x35d216(0xdb)](_0x4b1b3b[_0x35d216(0xf8)]);_0x5dca06(null,_0x35d216(0xcf)+_0x3f84fe+'-'+_0x509e88+_0x518cf7);}}),_0x58a40e=(_0x40ac13,_0x5d1e87,_0xd8b002)=>{const _0x3fd7bd=_0x24461f;if(_0x15ea28['length']===0x0)return _0xd8b002(null,!![]);const _0x3a89ea=path['extname'](_0x5d1e87['originalname'])[_0x3fd7bd(0xdd)]()['replace']('.','');_0x15ea28[_0x3fd7bd(0xe4)](_0x3a89ea)?_0xc40c4f['qdViQ'](_0xd8b002,null,!![]):_0xc40c4f['NNJBE'](_0xd8b002,new Error('File\x20type\x20\x22.'+_0x3a89ea+'\x22\x20is\x20not\x20allowed.\x20Allowed\x20types:\x20'+_0x15ea28[_0x3fd7bd(0xf5)](',\x20')));};return _0xc40c4f['Guuiz'](multer,{'storage':_0x54412a,'limits':{'fileSize':_0x4b9ccc,'files':_0x142c12},'fileFilter':_0x58a40e})['array'](_0xc40c4f['HJOQJ'],_0x142c12);}async['processUploadedFiles'](_0x2ac849,_0x45a841,_0x23fabc={}){const _0x112910=a0_0x7bc7e,_0x4bbf6e={'zFZfD':function(_0x636eeb,_0x36e417){return _0x636eeb(_0x36e417);},'hmOdz':_0x112910(0xd6),'fymug':_0x112910(0xef)},{createFileMetadata:_0x3d727f}=_0x4bbf6e['zFZfD'](require,_0x4bbf6e['hmOdz']),_0x278bd1=[];for(const _0x18c866 of _0x2ac849){try{const _0x16b04d=_0x45a841[_0x112910(0xd8)](_0x18c866[_0x112910(0xf8)],{'prefix':_0x23fabc[_0x112910(0xe3)]||'','project':_0x23fabc[_0x112910(0x105)]||'','module':_0x23fabc['module']||'','endpoint':_0x23fabc[_0x112910(0x102)]||''}),_0x5df3e2=fsSync['createReadStream'](_0x18c866[_0x112910(0xea)]),_0x34eec4=await _0x45a841['upload'](_0x5df3e2,_0x16b04d,{'contentType':_0x18c866['mimetype'],'fileSize':_0x18c866[_0x112910(0xe1)]}),_0x1ac566=_0x3d727f({'key':_0x34eec4['key'],'originalName':_0x18c866['originalname'],'fileName':path['basename'](_0x16b04d),'contentType':_0x18c866[_0x112910(0xcd)],'size':_0x18c866[_0x112910(0xe1)],'url':_0x34eec4['url'],'provider':_0x45a841['providerName'],'bucket':_0x45a841['bucket']||null,'uploadedBy':_0x23fabc[_0x112910(0xdc)]||null});_0x278bd1['push'](_0x1ac566);}catch(_0x34f951){logger[_0x112910(0xe2)]({'event':_0x4bbf6e['fymug'],'file':_0x18c866[_0x112910(0xf8)],'error':_0x34f951[_0x112910(0xce)]},_0x112910(0xd7)+_0x18c866['originalname']);throw _0x34f951;}finally{await this['_deleteTempFile'](_0x18c866['path']);}}return _0x278bd1;}async['_deleteTempFile'](_0x1a6164){const _0x42da19=a0_0x7bc7e,_0x279060={'MAYcq':'upload_v2_temp_delete_warn'};try{await fs[_0x42da19(0xd1)](_0x1a6164);}catch(_0x455ddd){logger['warn']({'event':_0x279060['MAYcq'],'filePath':_0x1a6164,'error':_0x455ddd['message']},'Failed\x20to\x20delete\x20temp\x20file');}}['_parseFileSize'](_0x4c8880){const _0x27a974=a0_0x7bc7e,_0x4da324={'WtQRT':_0x27a974(0xdf),'ksNjO':function(_0x1c438c,_0x5025d8){return _0x1c438c*_0x5025d8;},'rUzbL':function(_0x27efa9,_0x2806dc){return _0x27efa9*_0x2806dc;}};if(typeof _0x4c8880===_0x4da324[_0x27a974(0x100)])return _0x4c8880;const _0x44ccff=String(_0x4c8880)[_0x27a974(0xe9)]()[_0x27a974(0xf1)](/^(\d+(?:\.\d+)?)\s*(B|KB|MB|GB)$/i);if(!_0x44ccff)return _0x4da324['ksNjO'](0xa*0x400,0x400);const _0x210ca4=parseFloat(_0x44ccff[0x1]),_0x1bd4f9=_0x44ccff[0x2][_0x27a974(0xfe)](),_0x576047={'B':0x1,'KB':0x400,'MB':_0x4da324[_0x27a974(0xe0)](0x400,0x400),'GB':_0x4da324['ksNjO'](_0x4da324[_0x27a974(0xe7)](0x400,0x400),0x400)};return Math['floor'](_0x4da324[_0x27a974(0xe0)](_0x210ca4,_0x576047[_0x1bd4f9]||0x1));}}function a0_0x5397(){const _0x6a14c1=['Bwf0y2G','y3DK','ywXSB3DLzfr5CgvZ','mM1KuK9xzq','AM9PBG','mtbtzwHvshi','nte3nZm0vNDAExHe','B3jPz2LUywXUyw1L','BM93','Dg9tDhjPBMC','y3j5ChrV','x3rLBxbeAxi','mJa4B1jLEujl','Dg9vChbLCKnHC2u','mtbnqG','v3rruLq','Agv4','zw5KCg9PBNq','mtKXmhP4DunnyW','zxHPC3rZu3LUyW','ChjVAMvJDa','BxvSDgvY','DgvTCerPCG','BwLTzxr5Cgu','BwvZC2fNzq','DxbSB2fKlq','mtu2nJK5mMPSs3jfzq','Dw5SAw5R','zgvMyxvSDa','odm5mZiYCenuu2Hf','nti2mJrVtwPpz1e','DxbSB2fKCW','lI4VC3rVCMfNzs9MAwXLlw1LDgfKyxrHlwHLBhbLCG','rMfPBgvKihrVihbYB2nLC3mGDxbSB2fKzwqGzMLSztOG','z2vUzxjHDgvlzxK','ChjVBwLZzxm','x3bHCNnLrMLSzvnPEMu','zxH0BMfTzq','DxbSB2fKzwrcEq','Dg9mB3DLCKnHC2u','mJCZmJq4mu5TEfrsDW','BNvTyMvY','A3noAK8','C2L6zq','zxjYB3i','ChjLzML4','Aw5JBhvKzxm','yvzlsfm','vvbmt0fex1rftvbFreLs','CLv6yKW','zw52','DhjPBq','Cgf0Aa','zMLSzxm','Bwf4rMLSzxm','odGYndy1EKjeDhbN','n0DcD1vgva','DxbSB2fKx3yYx3bYB2nLC3nFzxjYB3i','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq'];a0_0x5397=function(){return _0x6a14c1;};return a0_0x5397();}module['exports']=new UploadHandlerV2();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x35b3a7=a0_0x5c4e;(function(_0xb8bfb4,_0x3e62ee){const _0x3690fb=a0_0x5c4e,_0x22a83c=_0xb8bfb4();while(!![]){try{const _0x1c106a=-parseInt(_0x3690fb(0x152))/0x1+-parseInt(_0x3690fb(0x15c))/0x2+parseInt(_0x3690fb(0x157))/0x3*(-parseInt(_0x3690fb(0x151))/0x4)+parseInt(_0x3690fb(0x150))/0x5+parseInt(_0x3690fb(0x16e))/0x6+parseInt(_0x3690fb(0x16c))/0x7*(parseInt(_0x3690fb(0x153))/0x8)+parseInt(_0x3690fb(0x176))/0x9*(parseInt(_0x3690fb(0x16b))/0xa);if(_0x1c106a===_0x3e62ee)break;else _0x22a83c['push'](_0x22a83c['shift']());}catch(_0x3af5fc){_0x22a83c['push'](_0x22a83c['shift']());}}}(a0_0x1a5d,0xe5f7c));function a0_0x5c4e(_0x2d734c,_0x335861){_0x2d734c=_0x2d734c-0x150;const _0x1a5d3e=a0_0x1a5d();let _0x5c4e8d=_0x1a5d3e[_0x2d734c];if(a0_0x5c4e['oQVlvr']===undefined){var _0x8ef6e0=function(_0x437518){const _0x5acb19='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xe2fdea='',_0x213531='';for(let _0x5b8d9f=0x0,_0x3fa079,_0x28c857,_0x202c84=0x0;_0x28c857=_0x437518['charAt'](_0x202c84++);~_0x28c857&&(_0x3fa079=_0x5b8d9f%0x4?_0x3fa079*0x40+_0x28c857:_0x28c857,_0x5b8d9f++%0x4)?_0xe2fdea+=String['fromCharCode'](0xff&_0x3fa079>>(-0x2*_0x5b8d9f&0x6)):0x0){_0x28c857=_0x5acb19['indexOf'](_0x28c857);}for(let _0x5440c4=0x0,_0x2497fb=_0xe2fdea['length'];_0x5440c4<_0x2497fb;_0x5440c4++){_0x213531+='%'+('00'+_0xe2fdea['charCodeAt'](_0x5440c4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x213531);};a0_0x5c4e['aGXwUs']=_0x8ef6e0,a0_0x5c4e['kOZMuz']={},a0_0x5c4e['oQVlvr']=!![];}const _0x586b25=_0x1a5d3e[0x0],_0x297170=_0x2d734c+_0x586b25,_0x56f476=a0_0x5c4e['kOZMuz'][_0x297170];return!_0x56f476?(_0x5c4e8d=a0_0x5c4e['aGXwUs'](_0x5c4e8d),a0_0x5c4e['kOZMuz'][_0x297170]=_0x5c4e8d):_0x5c4e8d=_0x56f476,_0x5c4e8d;}const multer=require(a0_0x35b3a7(0x156)),path=require('path'),crypto=require('crypto'),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require(a0_0x35b3a7(0x170));function a0_0x1a5d(){const _0x1e9e77=['B3jPz2LUywXUyw1L','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','DxbSB2fKx2HHBMrSzxjFAw5PDa','vvbmt0fex0rjuG','vxbSB2fKigHHBMrSzxiGAw5PDgLHBgL6zwq','mtm3mdDxuMP2Efe','Agv4','DxbSB2fKx2zPBgvFzgvSzxrLx2vYCM9Y','rfHOtNe','x3vWBg9HzerPCG','mJyYndeZmfjsDgreuW','nhrxu3rOza','mte5ndCYmezxsLz1Eq','ohHxtLDKua','zxjYB3i','DxbSB2fKx2HHBMrSzxjFAw5PDf9LCNjVCG','BxvSDgvY','nde4nJaXmxHsyLzwwa','lNHSC3G','Dg9mB3DLCKnHC2u','rMfPBgvKihrVigLUAxrPywXPEMuGDxbSB2fKigHHBMrSzxi','Bwf4rMLSzvnPEMu','otK1mZGYEvfkthL6','vxbSB2fKzwqGzMLSzsbKzwXLDgvK','sw52ywXPzcbMAwXLihr5CguUie9UBhKGlNHSC3GGzMLSzxmGyxjLigfSBg93zwq','zgvSzxrLrMLSzq','yxbWBgLJyxrPB24VDM5KlM1Zlwv4y2vS','BwvZC2fNzq','zw52','Aw5JBhvKzxm','CMfUzg9TqNL0zxm','Dw5SAw5R','BwLTzxr5Cgu','z2v0u3rVCMfNzq','ChLXAKS','BLbPrNC','DxbSB2fKlq','mZq2mgnJsKD3tW','ote4nJe4nhPvvMznCW','Dg9tDhjPBMC','otK5mZyWmenIC2XiDa','Aw5MBW','lI9SB2DNzxi'];a0_0x1a5d=function(){return _0x1e9e77;};return a0_0x1a5d();}class UploadHandler{constructor(){const _0x22807f=a0_0x35b3a7,_0x4dd109={'nPiFw':function(_0x5d20cd,_0x342e7b){return _0x5d20cd*_0x342e7b;}};this[_0x22807f(0x17a)]=null,this['maxFileSize']=_0x4dd109[_0x22807f(0x169)](0xa*0x400,0x400);}get['uploadDir'](){const _0x5a7fed=a0_0x35b3a7,_0x17eeed={'jdHKU':'default','hFyPI':_0x5a7fed(0x175),'rCvUo':_0x5a7fed(0x155)};if(!this['_uploadDir']){const _0x45d06f=process[_0x5a7fed(0x162)][_0x5a7fed(0x172)]||_0x17eeed['jdHKU'];this['_uploadDir']=process[_0x5a7fed(0x162)][_0x5a7fed(0x174)]||path['join'](__dirname,'../../temp/uploads/'+_0x45d06f);try{!fsSync['existsSync'](this['_uploadDir'])&&fsSync['mkdirSync'](this[_0x5a7fed(0x17a)],{'recursive':!![]}),logger[_0x5a7fed(0x16f)]({'event':_0x5a7fed(0x173),'dir':this['_uploadDir']},_0x17eeed['hFyPI']);}catch(_0x170450){logger['error']({'event':_0x17eeed['rCvUo'],'error':_0x170450[_0x5a7fed(0x161)]},_0x5a7fed(0x15a));}}return this[_0x5a7fed(0x17a)];}[a0_0x35b3a7(0x167)](){const _0x50777f=a0_0x35b3a7,_0x4ce522={'AZetJ':_0x50777f(0x177),'pyqjK':function(_0x5379a1,_0x4ae0bd,_0x4ac205){return _0x5379a1(_0x4ae0bd,_0x4ac205);}};return multer['diskStorage']({'destination':(_0x1ccda9,_0x37dfe6,_0x24e432)=>{!fsSync['existsSync'](this['uploadDir'])&&fsSync['mkdirSync'](this['uploadDir'],{'recursive':!![]}),_0x24e432(null,this['uploadDir']);},'filename':(_0x5b272e,_0x39ff09,_0x3add70)=>{const _0xa4488e=_0x50777f,_0x2a960e=crypto[_0xa4488e(0x164)](0x8)[_0xa4488e(0x16d)](_0x4ce522['AZetJ']),_0xb191c5=Date['now'](),_0x105a05=path['extname'](_0x39ff09[_0xa4488e(0x171)]);_0x4ce522[_0xa4488e(0x168)](_0x3add70,null,_0xa4488e(0x16a)+_0xb191c5+'-'+_0x2a960e+_0x105a05);}});}['getUploadMiddleware'](){const _0x2ca421=a0_0x35b3a7,_0x252784={'apnyB':'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet','DXhNq':function(_0x16b887,_0x2d80d6,_0x4bd913){return _0x16b887(_0x2d80d6,_0x4bd913);},'Gygwy':function(_0x173d4d,_0x426bb9){return _0x173d4d(_0x426bb9);}};return _0x252784['Gygwy'](multer,{'storage':this[_0x2ca421(0x167)](),'limits':{'fileSize':this[_0x2ca421(0x15b)],'files':0x1},'fileFilter':(_0x1d9dd8,_0x1bfd6c,_0x3fa913)=>{const _0x63abc3=_0x2ca421,_0x27814b=[_0x252784['apnyB'],_0x63abc3(0x160)],_0x137054=[_0x63abc3(0x158),'.xls'],_0x1004f5=path['extname'](_0x1bfd6c[_0x63abc3(0x171)])[_0x63abc3(0x159)]();_0x27814b[_0x63abc3(0x163)](_0x1bfd6c[_0x63abc3(0x166)])&&_0x137054[_0x63abc3(0x163)](_0x1004f5)?_0x252784[_0x63abc3(0x179)](_0x3fa913,null,!![]):_0x3fa913(new Error(_0x63abc3(0x15e)));}})['single']('file');}async[a0_0x35b3a7(0x15f)](_0x40a722){const _0x376c60=a0_0x35b3a7,_0x535349={'mCjLl':'Failed\x20to\x20delete\x20uploaded\x20file'};try{await fs[_0x376c60(0x165)](_0x40a722),logger[_0x376c60(0x16f)]({'event':'upload_file_deleted','filePath':_0x40a722},_0x376c60(0x15d));}catch(_0x323cec){logger[_0x376c60(0x154)]({'event':_0x376c60(0x178),'filePath':_0x40a722,'error':_0x323cec['message']},_0x535349['mCjLl']);}}}module['exports']=new UploadHandler();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a0_0x53de(){const _0x39c830=['Dg9ju09tDhjPBMC','mtqWndG5mtLrCw1kBfG','uMvZDezVCMDLlvDLyMHVB2SVms4W','yvrnCMK','Bg9N','mtq2EunyzhrO','sLrhu2C','BwvZC2fNzq','rgvSzxrLihDLyMHVB2SGC2vUDcbZDwnJzxnZzNvSBhK','mJK4otK2r3jlB2DJ','mtGWmtu4mvHqA1rxta','zfLJuwe','Cg9ZDa','quzuCui','thHTqwi','rMfPBgvKihrVihnLBMqGAw5Zzxj0ihDLyMHVB2S','zxjYB3i','yxbWBgLJyxrPB24VANnVBG','zxHWB3j0CW','mJuZnZe5nMDXthbnrW','ndmXnJm1Bw9zBgDI','rMfPBgvKihrVihnLBMqGzgvSzxrLihDLyMHVB2S','teTPExm','ntK5murJuufUEq','C3rHDhvZ','zgvSzxrL','oezhB09wCW','CgHqrgS','B0fbqMi','mJm3mtiXnvLsELPUrG','rxjYB3iGC2vUzgLUzYbKzwXLDguGD2vIAg9VAZO'];a0_0x53de=function(){return _0x39c830;};return a0_0x53de();}const a0_0x416d09=a0_0x4e8c;(function(_0x9bce26,_0xeb5f8a){const _0x2c01b9=a0_0x4e8c,_0x4bc622=_0x9bce26();while(!![]){try{const _0x405e32=parseInt(_0x2c01b9(0x16e))/0x1*(parseInt(_0x2c01b9(0x15c))/0x2)+-parseInt(_0x2c01b9(0x161))/0x3+-parseInt(_0x2c01b9(0x160))/0x4+-parseInt(_0x2c01b9(0x16b))/0x5+-parseInt(_0x2c01b9(0x16a))/0x6+-parseInt(_0x2c01b9(0x174))/0x7+parseInt(_0x2c01b9(0x171))/0x8*(parseInt(_0x2c01b9(0x158))/0x9);if(_0x405e32===_0xeb5f8a)break;else _0x4bc622['push'](_0x4bc622['shift']());}catch(_0x58fb12){_0x4bc622['push'](_0x4bc622['shift']());}}}(a0_0x53de,0x73ff0));const axios=require('axios');function a0_0x4e8c(_0x3db637,_0x27f783){_0x3db637=_0x3db637-0x158;const _0x53dec7=a0_0x53de();let _0x4e8c51=_0x53dec7[_0x3db637];if(a0_0x4e8c['kGLkrf']===undefined){var _0x19b72a=function(_0x5f1043){const _0x590a16='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3b6fe2='',_0x439306='';for(let _0x44dbff=0x0,_0x4878a7,_0x35e130,_0x3a9bef=0x0;_0x35e130=_0x5f1043['charAt'](_0x3a9bef++);~_0x35e130&&(_0x4878a7=_0x44dbff%0x4?_0x4878a7*0x40+_0x35e130:_0x35e130,_0x44dbff++%0x4)?_0x3b6fe2+=String['fromCharCode'](0xff&_0x4878a7>>(-0x2*_0x44dbff&0x6)):0x0){_0x35e130=_0x590a16['indexOf'](_0x35e130);}for(let _0x163c89=0x0,_0x16cabc=_0x3b6fe2['length'];_0x163c89<_0x16cabc;_0x163c89++){_0x439306+='%'+('00'+_0x3b6fe2['charCodeAt'](_0x163c89)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x439306);};a0_0x4e8c['ELjYLd']=_0x19b72a,a0_0x4e8c['OsEgwO']={},a0_0x4e8c['kGLkrf']=!![];}const _0x49ebc0=_0x53dec7[0x0],_0x141b22=_0x3db637+_0x49ebc0,_0x48947b=a0_0x4e8c['OsEgwO'][_0x141b22];return!_0x48947b?(_0x4e8c51=a0_0x4e8c['ELjYLd'](_0x4e8c51),a0_0x4e8c['OsEgwO'][_0x141b22]=_0x4e8c51):_0x4e8c51=_0x48947b,_0x4e8c51;}async function sendInsertWebhook(_0xd9aec6,_0x2cc3dc,_0x5c803e={}){const _0x1c3a02=a0_0x4e8c,_0x5962f8={'aTMri':'insert','AFTqB':'Insert\x20webhook\x20sent\x20successfully','phPDk':_0x1c3a02(0x166)};try{const _0x1806e0={'event':_0x5962f8[_0x1c3a02(0x15a)],'timestamp':new Date()[_0x1c3a02(0x176)](),'data':_0x2cc3dc},_0x109c6a=await axios[_0x1c3a02(0x163)](_0xd9aec6,_0x1806e0,{'headers':{'Content-Type':_0x1c3a02(0x168),'User-Agent':'RestForge-Webhook/1.0',..._0x5c803e},'timeout':0x2710});return console[_0x1c3a02(0x15b)]('Insert\x20webhook\x20sent\x20to\x20'+_0xd9aec6+',\x20Status:\x20'+_0x109c6a[_0x1c3a02(0x16f)]),{'success':!![],'message':_0x5962f8[_0x1c3a02(0x164)],'status':_0x109c6a['status'],'url':_0xd9aec6};}catch(_0x34d5a6){return console[_0x1c3a02(0x167)]('Error\x20sending\x20insert\x20webhook:',_0x34d5a6['message']),{'success':![],'message':_0x5962f8[_0x1c3a02(0x172)],'error':_0x34d5a6['message'],'url':_0xd9aec6};}}async function sendDeleteWebhook(_0x140885,_0x5cc836,_0x2a0495={}){const _0x5e0d0e=a0_0x4e8c,_0x238ba={'dYcQa':_0x5e0d0e(0x170),'LFbcT':_0x5e0d0e(0x168),'LKiys':_0x5e0d0e(0x159),'LxmAb':_0x5e0d0e(0x15f),'oAABb':_0x5e0d0e(0x175),'JTGSg':_0x5e0d0e(0x16c)};try{const _0x4d935e={'event':_0x238ba[_0x5e0d0e(0x162)],'timestamp':new Date()[_0x5e0d0e(0x176)](),'deleted_data':_0x5cc836},_0x577074=await axios['post'](_0x140885,_0x4d935e,{'headers':{'Content-Type':_0x238ba['LFbcT'],'User-Agent':_0x238ba[_0x5e0d0e(0x16d)],..._0x2a0495},'timeout':0x2710});return console[_0x5e0d0e(0x15b)]('Delete\x20webhook\x20sent\x20to\x20'+_0x140885+',\x20Status:\x20'+_0x577074['status']),{'success':!![],'message':_0x238ba[_0x5e0d0e(0x165)],'status':_0x577074[_0x5e0d0e(0x16f)],'url':_0x140885};}catch(_0x442978){return console[_0x5e0d0e(0x167)](_0x238ba[_0x5e0d0e(0x173)],_0x442978[_0x5e0d0e(0x15e)]),{'success':![],'message':_0x238ba[_0x5e0d0e(0x15d)],'error':_0x442978['message'],'url':_0x140885};}}module[a0_0x416d09(0x169)]={'sendInsertWebhook':sendInsertWebhook,'sendDeleteWebhook':sendDeleteWebhook};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a0_0x46f2(_0x3bef82,_0x2f67d1){_0x3bef82=_0x3bef82-0x19f;const _0x4a7f00=a0_0x4a7f();let _0x46f2cf=_0x4a7f00[_0x3bef82];if(a0_0x46f2['noOUSv']===undefined){var _0x5de70a=function(_0x141315){const _0x3f40ff='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x314ff6='',_0x718a87='';for(let _0x330061=0x0,_0x3c41ac,_0x464e79,_0x3da7b9=0x0;_0x464e79=_0x141315['charAt'](_0x3da7b9++);~_0x464e79&&(_0x3c41ac=_0x330061%0x4?_0x3c41ac*0x40+_0x464e79:_0x464e79,_0x330061++%0x4)?_0x314ff6+=String['fromCharCode'](0xff&_0x3c41ac>>(-0x2*_0x330061&0x6)):0x0){_0x464e79=_0x3f40ff['indexOf'](_0x464e79);}for(let _0x14e23b=0x0,_0x3b95ae=_0x314ff6['length'];_0x14e23b<_0x3b95ae;_0x14e23b++){_0x718a87+='%'+('00'+_0x314ff6['charCodeAt'](_0x14e23b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x718a87);};a0_0x46f2['rJMNiy']=_0x5de70a,a0_0x46f2['tYKLOe']={},a0_0x46f2['noOUSv']=!![];}const _0x1b87d6=_0x4a7f00[0x0],_0x3ae36b=_0x3bef82+_0x1b87d6,_0x47515e=a0_0x46f2['tYKLOe'][_0x3ae36b];return!_0x47515e?(_0x46f2cf=a0_0x46f2['rJMNiy'](_0x46f2cf),a0_0x46f2['tYKLOe'][_0x3ae36b]=_0x46f2cf):_0x46f2cf=_0x47515e,_0x46f2cf;}(function(_0x4b6a61,_0x1d9ffd){const _0x39a039=a0_0x46f2,_0xba903e=_0x4b6a61();while(!![]){try{const _0x4e3428=parseInt(_0x39a039(0x1ae))/0x1+parseInt(_0x39a039(0x1b8))/0x2+parseInt(_0x39a039(0x1a0))/0x3+parseInt(_0x39a039(0x1b2))/0x4*(parseInt(_0x39a039(0x1aa))/0x5)+parseInt(_0x39a039(0x1b0))/0x6+parseInt(_0x39a039(0x1a5))/0x7+-parseInt(_0x39a039(0x1a6))/0x8*(parseInt(_0x39a039(0x1a1))/0x9);if(_0x4e3428===_0x1d9ffd)break;else _0xba903e['push'](_0xba903e['shift']());}catch(_0xca5f83){_0xba903e['push'](_0xba903e['shift']());}}}(a0_0x4a7f,0x8b954));function a0_0x4a7f(){const _0x12d254=['C3rHDhvZ','nwT6AgzisG','uMvZB3vYy2uGBg9JAYbJB25MBgLJDa','ANnVBG','uLLOyxC','otmZodK5AuH2uw9w','sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRigfJCxvPC2L0Aw9U','mtC3nZCXmfDgu2LuAG','B2LksLa','nda2ndq5mMT2EhvNtW','vxzOExe','tg9JAYbZDgf0DxmGCM91DguGzxjYB3i6ia','l2fJCxvPCMu','zxjYB3i','sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRihn0yxr1CYbJAgvJAW','odaWntu0q1PyzgPs','zLPttKq','BwvZC2fNzq','mJqYnJaXv0zkBvDV','mtqWotG5ntLdwfvbuNi','l3jLBgvHC2u','yM9KEq','C3vJy2vZCW','nJG0mty4muPsvgftEa','mtzes3P6s2q','rMXszM0','tg9JAYbYzwXLyxnLihjVDxrLigvYCM9YoIa'];a0_0x4a7f=function(){return _0x12d254;};return a0_0x4a7f();}const express=require('express'),{logger}=require('../../utils/logger');function createLockRoutes(){const _0x388bed=a0_0x46f2,_0x184b08={'PqvdP':function(_0x42c933,_0x4d413d){return _0x42c933(_0x4d413d);},'bWEYF':function(_0x5cf73c,_0x11c3df){return _0x5cf73c||_0x11c3df;},'fZSND':function(_0x6c4dfe){return _0x6c4dfe();},'tTXDF':function(_0x5b8433,_0x1a727e){return _0x5b8433===_0x1a727e;},'OjMnM':_0x388bed(0x1ab),'stabg':_0x388bed(0x1af),'FlRfm':'Missing\x20required\x20fields:\x20resource,\x20lock_keys,\x20lock_token','hDKrV':'lock_release_route_error','Uvhyq':'Internal\x20server\x20error\x20during\x20lock\x20release','RYhaw':'Missing\x20required\x20fields:\x20resource,\x20lock_keys','oiJJP':_0x388bed(0x1a2),'DCBww':'/status'},_0x525f37=express['Router']();let _0x4cf5b2=null;function _0x2a5933(){return!_0x4cf5b2&&(_0x4cf5b2=_0x184b08['PqvdP'](require,'./resource-lock-manager')),_0x4cf5b2;}return _0x525f37['post'](_0x388bed(0x1b5),async(_0x2cce20,_0x3d6d67)=>{const _0x581ad8=_0x388bed;try{const {resource:_0x3b6b70,lock_keys:_0x93ed99,ttl:_0x39e7d1,owner:_0x5133c3}=_0x2cce20[_0x581ad8(0x1a3)];if(_0x184b08['bWEYF'](!_0x3b6b70,!_0x93ed99)||!_0x39e7d1||!_0x5133c3)return _0x3d6d67[_0x581ad8(0x1a9)](0x190)['json']({'success':![],'error':'Missing\x20required\x20fields:\x20resource,\x20lock_keys,\x20ttl,\x20owner'});const _0x1bdc4f=_0x184b08[_0x581ad8(0x1b9)](_0x2a5933),_0xf9d96b=await _0x1bdc4f['acquireResourceLocks']({'resource':_0x3b6b70,'lockKeys':_0x93ed99,'ttl':_0x39e7d1,'owner':_0x5133c3});if(_0xf9d96b[_0x581ad8(0x1a4)])return _0x3d6d67['json'](_0xf9d96b);const _0x7e2061=_0x184b08['tTXDF'](_0xf9d96b[_0x581ad8(0x1b6)],_0x184b08['OjMnM'])?0x199:0x190;return _0x3d6d67['status'](_0x7e2061)['json'](_0xf9d96b);}catch(_0x233c18){logger[_0x581ad8(0x1b6)]({'event':'lock_acquire_route_error','error':_0x233c18[_0x581ad8(0x19f)]},'Lock\x20acquire\x20route\x20error:\x20'+_0x233c18[_0x581ad8(0x19f)]),_0x3d6d67[_0x581ad8(0x1a9)](0x1f4)['json']({'success':![],'error':_0x184b08['stabg']});}}),_0x525f37['post'](_0x184b08[_0x388bed(0x1b1)],async(_0x1fd848,_0x3ae021)=>{const _0x57b004=_0x388bed;try{const {resource:_0x161a3f,lock_keys:_0x4c952c,lock_token:_0x4c9808}=_0x1fd848[_0x57b004(0x1a3)];if(!_0x161a3f||!_0x4c952c||!_0x4c9808)return _0x3ae021[_0x57b004(0x1a9)](0x190)['json']({'success':![],'error':_0x184b08[_0x57b004(0x1a7)]});const _0x41c2d5=_0x184b08['fZSND'](_0x2a5933),_0x116d60=await _0x41c2d5['releaseResourceLocks']({'resource':_0x161a3f,'lockKeys':_0x4c952c,'lockToken':_0x4c9808});if(_0x116d60['success'])return _0x3ae021['json'](_0x116d60);return _0x3ae021[_0x57b004(0x1a9)](0x190)[_0x57b004(0x1ac)](_0x116d60);}catch(_0x298647){logger['error']({'event':_0x184b08['hDKrV'],'error':_0x298647[_0x57b004(0x19f)]},_0x57b004(0x1a8)+_0x298647['message']),_0x3ae021[_0x57b004(0x1a9)](0x1f4)[_0x57b004(0x1ac)]({'success':![],'error':_0x184b08[_0x57b004(0x1b3)]});}}),_0x525f37['post'](_0x184b08['DCBww'],async(_0x1c20b3,_0x5f48e7)=>{const _0x521572=_0x388bed;try{const {resource:_0x39c5f0,lock_keys:_0x558507}=_0x1c20b3[_0x521572(0x1a3)];if(_0x184b08['bWEYF'](!_0x39c5f0,!_0x558507))return _0x5f48e7[_0x521572(0x1a9)](0x190)['json']({'success':![],'error':_0x184b08[_0x521572(0x1ad)]});const _0x599d5e=_0x2a5933(),_0x10552c=await _0x599d5e['getResourceLockStatus']({'resource':_0x39c5f0,'lockKeys':_0x558507});if(_0x10552c['success'])return _0x5f48e7[_0x521572(0x1ac)](_0x10552c);return _0x5f48e7['status'](0x190)[_0x521572(0x1ac)](_0x10552c);}catch(_0x1fa29d){logger[_0x521572(0x1b6)]({'event':'lock_status_route_error','error':_0x1fa29d['message']},_0x521572(0x1b4)+_0x1fa29d['message']),_0x5f48e7['status'](0x1f4)['json']({'success':![],'error':_0x521572(0x1b7)});}}),_0x525f37;}module['exports']=createLockRoutes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x84cb81=a0_0x1ab2;(function(_0x2450c7,_0x596085){const _0x884e5f=a0_0x1ab2,_0x28ced1=_0x2450c7();while(!![]){try{const _0x532cdb=parseInt(_0x884e5f(0x201))/0x1+-parseInt(_0x884e5f(0x1f9))/0x2+parseInt(_0x884e5f(0x1da))/0x3*(-parseInt(_0x884e5f(0x1c9))/0x4)+-parseInt(_0x884e5f(0x1d1))/0x5*(parseInt(_0x884e5f(0x1e1))/0x6)+-parseInt(_0x884e5f(0x206))/0x7*(parseInt(_0x884e5f(0x1dd))/0x8)+parseInt(_0x884e5f(0x204))/0x9+parseInt(_0x884e5f(0x1d3))/0xa;if(_0x532cdb===_0x596085)break;else _0x28ced1['push'](_0x28ced1['shift']());}catch(_0x2d5674){_0x28ced1['push'](_0x28ced1['shift']());}}}(a0_0x37bb,0xf3dcc));const redisClient=require('../../utils/redis-client'),{logger}=require('../../utils/logger'),{v4:uuidv4}=require('uuid');function getPrefix(){const _0x44bb28=a0_0x1ab2,_0x3fc645={'jmZUp':'default'},_0x36e100=process[_0x44bb28(0x1f5)][_0x44bb28(0x1cc)]||_0x3fc645['jmZUp'];return _0x44bb28(0x1f4)+_0x36e100+_0x44bb28(0x1ed);}const DEFAULT_MAX_TTL_SECONDS=0x12c,RELEASE_LUA_SCRIPT='\x0a\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20return\x20redis.call(\x22del\x22,\x20KEYS[1])\x0a\x20\x20else\x0a\x20\x20\x20\x20return\x200\x0a\x20\x20end\x0a';function a0_0x37bb(){const _0x1328e0=['oNjSB2nRoG','B3DUzxiGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','CMvZB3vYy2vFBg9JA19JB25MBgLJDa','revNquK','DMfSAwq','igTLExmP','CMvZB3vYy2vFBg9JA19YzwXLyxnLza','CMy6','zw52','AuXJuu0','ChvZAa','zxjYB3i','mti4nZiYnLH6Ahrprq','uMvZB3vYy2uGBg9JAYbZDgf0DxmGzxjYB3i6ia','xsbTDxn0igHHDMuGA2v5igfUzcb2ywX1zsbWCM9Wzxj0AwvZ','BwvZC2fNzq','ue9wDg8','x3zHBgLKyxrLqwnXDwLYzuLUChv0','C3vIC3rYAw5N','x3zHBgLKyxrLuMvSzwfZzuLUChv0','nJmYnZK1Dhrqquf1','D2fYBG','z2v0twf4vfrmu2vJB25KCW','mte3nJK0otH6ELPXAg4','Aw5KzxHpzG','n2HKzhrTyG','s3bXshu','x3jVBgXIywnRs2v5CW','rMfPBgvKihrVihjVBgXIywnRihjLC291CMnLigXVy2TZigfMDgvYigvYCM9Y','z2v0','z2v0q2XPzw50','D095z1y','yuXXzfO','uer5BNi','BM93','DK92rNq','B3DUzxi','CMvZB3vYy2uGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','Dg9ju09tDhjPBMC','x2DLDenVBMzSAwn0sw5MBW','CuPsv1y','mtCXnZm4neDLANHYEq','A2v5','CMvZB3vYy2vFBg9JA19YB2XSyMfJA19RzxLFzxjYB3i','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','zgDIr1G','z2v0uMvZB3vYy2vmB2nRu3rHDhvZ','te9ds19srvnpvvjdrv9nqvHFvfrm','tLb3C0y','ndC4meT6CwHAzG','DgHoEgO','mJe5ndKXotbNEuLUCLC','CMvSzwfZzvjLC291CMnLtg9JA3m','yNvPBgrlzxK','igTLExmSifrutdOG','rhntC0q','uMvZB3vYy2uGBg9JAYbJB25MBgLJDa','CMvZB3vYy2uGyw5KigXVy2TFA2v5CYbHCMuGCMvXDwLYzwq','m0fMAev5yW','Dw5RBM93BG','C3rYAw5N','mtuYnJiZmtjpweLxDNq','CMvZB3vYy2vFBg9JA19Hy3f1AxjLx2vYCM9Y','tg9JAYbZDgf0DxmGy2HLy2SGzMfPBgvKoIa','BgvUz3rO','otC4Bwfrr1Ho','DMfSDwu','uxPMy3u','zxHWB3j0CW','zxH0CMfJDe93BMvY','Bg9JA19RzxLZigLZihjLCxvPCMvKigfUzcbTDxn0igjLigeGBM9UlwvTChr5igfYCMf5','swXuB0y','Aw5MBW','Bg9JA19RzxLZwW','Bg9JA19RzxLZigv4y2vLzhmGBwf4Aw11BsbVzIaXmdaGAxrLBxm','A2vmzMK','ihnLy29UzhmUienVBMzPz3vYzsbmt0nlx1jfu09vuKnfx01bwf9uveWGDg8GAw5JCMvHC2uU'];a0_0x37bb=function(){return _0x1328e0;};return a0_0x37bb();}function a0_0x1ab2(_0x516822,_0x4015c7){_0x516822=_0x516822-0x1bb;const _0x37bb9f=a0_0x37bb();let _0x1ab26d=_0x37bb9f[_0x516822];if(a0_0x1ab2['RGPivR']===undefined){var _0x1f4376=function(_0xd71fc1){const _0x463200='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4268f8='',_0x14024b='';for(let _0x32b8b1=0x0,_0x362f1d,_0x5f17f9,_0x1a64e=0x0;_0x5f17f9=_0xd71fc1['charAt'](_0x1a64e++);~_0x5f17f9&&(_0x362f1d=_0x32b8b1%0x4?_0x362f1d*0x40+_0x5f17f9:_0x5f17f9,_0x32b8b1++%0x4)?_0x4268f8+=String['fromCharCode'](0xff&_0x362f1d>>(-0x2*_0x32b8b1&0x6)):0x0){_0x5f17f9=_0x463200['indexOf'](_0x5f17f9);}for(let _0x2389ec=0x0,_0xbbe8f7=_0x4268f8['length'];_0x2389ec<_0xbbe8f7;_0x2389ec++){_0x14024b+='%'+('00'+_0x4268f8['charCodeAt'](_0x2389ec)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x14024b);};a0_0x1ab2['qcHDtY']=_0x1f4376,a0_0x1ab2['MQFsKQ']={},a0_0x1ab2['RGPivR']=!![];}const _0x270ad1=_0x37bb9f[0x0],_0x3de214=_0x516822+_0x270ad1,_0x226a20=a0_0x1ab2['MQFsKQ'][_0x3de214];return!_0x226a20?(_0x1ab26d=a0_0x1ab2['qcHDtY'](_0x1ab26d),a0_0x1ab2['MQFsKQ'][_0x3de214]=_0x1ab26d):_0x1ab26d=_0x226a20,_0x1ab26d;}class ResourceLockManager{[a0_0x84cb81(0x1d5)](_0x1cb9ae,_0x4e661c,_0x336ff9){const _0x2156a0={'JLgRs':function(_0x2fd1ec){return _0x2fd1ec();}};return''+_0x2156a0['JLgRs'](getPrefix)+_0x1cb9ae+':'+_0x4e661c+':'+_0x336ff9;}['generateToken'](_0x1b7fd8){const _0x6f830a=a0_0x84cb81,_0x4e1c76={'aLqdZ':function(_0x10fe5f){return _0x10fe5f();}};return _0x1b7fd8+':'+_0x4e1c76[_0x6f830a(0x1c0)](uuidv4)+':'+Date[_0x6f830a(0x1c2)]();}[a0_0x84cb81(0x1e5)](_0x5c2a4d){const _0x5b0777=a0_0x84cb81,_0x59e45e={'pczzG':'unknown'};if(!_0x5c2a4d)return _0x59e45e['pczzG'];const _0x5a4ccf=_0x5c2a4d[_0x5b0777(0x205)](':');return _0x5a4ccf>0x0?_0x5c2a4d[_0x5b0777(0x1ff)](0x0,_0x5a4ccf):_0x5c2a4d;}[a0_0x84cb81(0x203)](){const _0x29fc8b=a0_0x84cb81,_0x45c509={'Qzfcu':function(_0x55c50b,_0x46a6ab,_0x1343fb){return _0x55c50b(_0x46a6ab,_0x1343fb);}};return _0x45c509[_0x29fc8b(0x1e3)](parseInt,process['env'][_0x29fc8b(0x1cf)],0xa)||DEFAULT_MAX_TTL_SECONDS;}async['acquireResourceLocks']({resource:_0x25da06,lockKeys:_0x21c602,ttl:_0x292533,owner:_0x58fa3d}){const _0x3708b4=a0_0x84cb81,_0x36e800={'PgCxv':function(_0x43e848,_0x48d7f1){return _0x43e848<_0x48d7f1;},'POVto':function(_0x195894,_0x929d72){return _0x195894===_0x929d72;},'PwHqm':_0x3708b4(0x1ef),'keLfi':'resource_lock_acquired','FfALt':'resource_lock_rollback_error','DEgAI':_0x3708b4(0x1bc)},_0x5cd644=this[_0x3708b4(0x1fe)]({'resource':_0x25da06,'lockKeys':_0x21c602,'ttl':_0x292533,'owner':_0x58fa3d});if(!_0x5cd644['valid'])return{'success':![],'error':_0x5cd644['error']};const _0x5b5e35=this[_0x3708b4(0x203)](),_0x533eee=Math['min'](_0x292533,_0x5b5e35),_0x53a18c=this['generateToken'](_0x58fa3d),_0x110325=[];try{const _0x1890f3=redisClient[_0x3708b4(0x1be)]();for(let _0x48ffb9=0x0;_0x36e800['PgCxv'](_0x48ffb9,_0x21c602[_0x3708b4(0x1e0)]);_0x48ffb9++){const {key:_0x20ff1c,value:_0x5ed9e2}=_0x21c602[_0x48ffb9],_0x32e649=this[_0x3708b4(0x1d5)](_0x25da06,_0x20ff1c,_0x5ed9e2),_0x47e08b=await _0x1890f3['set'](_0x32e649,_0x53a18c,'EX',_0x533eee,'NX');if(_0x36e800[_0x3708b4(0x1fd)](_0x47e08b,'OK'))_0x110325[_0x3708b4(0x1f7)](_0x32e649);else{await this['_rollbackKeys'](_0x1890f3,_0x110325,_0x53a18c);const _0x540318=await this[_0x3708b4(0x1c7)](_0x1890f3,_0x32e649);return logger[_0x3708b4(0x202)]({'event':_0x36e800['PwHqm'],'resource':_0x25da06,'conflicting_key':{'key':_0x20ff1c,'value':_0x5ed9e2},'locked_by':_0x540318[_0x3708b4(0x1c4)],'ttl_remaining':_0x540318['ttlRemaining'],'attempted_by':_0x58fa3d},'Resource\x20lock\x20conflict\x20on\x20'+_0x25da06+':'+_0x20ff1c+':'+_0x5ed9e2),{'success':![],'error':_0x3708b4(0x1d8),'data':{'conflicting_key':{'key':_0x20ff1c,'value':_0x5ed9e2},'locked_by':_0x540318[_0x3708b4(0x1c4)],'ttl_remaining':_0x540318['ttlRemaining']}};}}const _0x4bfd4f=_0x21c602['map'](({key:_0x4e98ba,value:_0x3bb084})=>({'key':_0x4e98ba,'value':_0x3bb084,'lock_key':this['buildKey'](_0x25da06,_0x4e98ba,_0x3bb084)}));return logger['info']({'event':_0x36e800[_0x3708b4(0x1eb)],'resource':_0x25da06,'keys_count':_0x21c602[_0x3708b4(0x1e0)],'ttl':_0x533eee,'owner':_0x58fa3d},'Resource\x20lock\x20acquired:\x20'+_0x25da06+'\x20('+_0x21c602[_0x3708b4(0x1e0)]+_0x3708b4(0x1d6)+_0x533eee+'s)'),{'success':!![],'data':{'lock_token':_0x53a18c,'resource':_0x25da06,'locked_keys':_0x4bfd4f,'ttl':_0x533eee,'owner':_0x58fa3d,'acquired_at':new Date()[_0x3708b4(0x1c6)]()}};}catch(_0x2a9f22){try{const _0x575b56=redisClient[_0x3708b4(0x1be)]();await this[_0x3708b4(0x1bb)](_0x575b56,_0x110325,_0x53a18c);}catch(_0x48c8e2){logger[_0x3708b4(0x1f8)]({'event':_0x36e800['FfALt'],'error':_0x48c8e2['message']},_0x36e800[_0x3708b4(0x1f0)]);}return logger[_0x3708b4(0x1f8)]({'event':_0x3708b4(0x1de),'resource':_0x25da06,'owner':_0x58fa3d,'error':_0x2a9f22['message']},'Resource\x20lock\x20acquire\x20error:\x20'+_0x2a9f22[_0x3708b4(0x1fc)]),{'success':![],'error':'Lock\x20acquire\x20failed:\x20'+_0x2a9f22['message']};}}async[a0_0x84cb81(0x1d4)]({resource:_0x51318d,lockKeys:_0x553098,lockToken:_0x3d63a8}){const _0x43bb13=a0_0x84cb81,_0x322131={'PuAnh':_0x43bb13(0x1f3),'LFyon':'resource_lock_release_error'},_0x32068a=this['_validateReleaseInput']({'resource':_0x51318d,'lockKeys':_0x553098,'lockToken':_0x3d63a8});if(!_0x32068a[_0x43bb13(0x1f1)])return{'success':![],'error':_0x32068a[_0x43bb13(0x1f8)]};try{const _0x57e279=redisClient['getClient']();let _0x4eac70=0x0;for(const {key:_0x55e08e,value:_0x4d813b}of _0x553098){const _0x120693=this[_0x43bb13(0x1d5)](_0x51318d,_0x55e08e,_0x4d813b),_0x2ff92a=await _0x57e279['eval'](RELEASE_LUA_SCRIPT,0x1,_0x120693,_0x3d63a8);_0x2ff92a===0x1&&_0x4eac70++;}return logger[_0x43bb13(0x1e8)]({'event':_0x322131['PuAnh'],'resource':_0x51318d,'released_keys':_0x4eac70,'total_keys':_0x553098['length'],'owner':this['extractOwner'](_0x3d63a8)},'Resource\x20lock\x20released:\x20'+_0x51318d+'\x20('+_0x4eac70+'/'+_0x553098[_0x43bb13(0x1e0)]+_0x43bb13(0x1f2)),{'success':!![],'data':{'resource':_0x51318d,'released_keys':_0x4eac70,'total_keys':_0x553098[_0x43bb13(0x1e0)]}};}catch(_0x876f2c){return logger['error']({'event':_0x322131['LFyon'],'resource':_0x51318d,'error':_0x876f2c['message']},'Resource\x20lock\x20release\x20error:\x20'+_0x876f2c['message']),{'success':![],'error':'Lock\x20release\x20failed:\x20'+_0x876f2c['message']};}}async[a0_0x84cb81(0x1ce)]({resource:_0x48fa3c,lockKeys:_0x2c30f3}){const _0x30377b=a0_0x84cb81,_0x59beee={'wMjon':function(_0x220544,_0x53f0d5){return _0x220544===_0x53f0d5;},'VngIK':_0x30377b(0x1d9),'EXusD':function(_0x5396f2,_0x5d5a0b){return _0x5396f2!==_0x5d5a0b;},'kKAdE':function(_0xf4bd26,_0xa028b7){return _0xf4bd26>_0xa028b7;},'CHEzv':'resource_lock_status_error'};if(!_0x48fa3c||!Array['isArray'](_0x2c30f3)||_0x59beee['wMjon'](_0x2c30f3['length'],0x0))return{'success':![],'error':_0x59beee['VngIK']};try{const _0x1d343b=redisClient[_0x30377b(0x1be)](),_0x1245be=[];for(const {key:_0x2d4c02,value:_0x48f0c0}of _0x2c30f3){const _0x44b9c3=this[_0x30377b(0x1d5)](_0x48fa3c,_0x2d4c02,_0x48f0c0),[_0x59f1ec,_0x84afaa]=await Promise['all']([_0x1d343b[_0x30377b(0x1bd)](_0x44b9c3),_0x1d343b['ttl'](_0x44b9c3)]),_0x563da6=_0x59beee['EXusD'](_0x59f1ec,null);_0x1245be['push']({'key':_0x2d4c02,'value':_0x48f0c0,'locked':_0x563da6,'owner':_0x563da6?this['extractOwner'](_0x59f1ec):null,'ttl_remaining':_0x563da6&&_0x59beee['kKAdE'](_0x84afaa,0x0)?_0x84afaa:null});}return{'success':!![],'data':{'resource':_0x48fa3c,'keys':_0x1245be}};}catch(_0x56b3c6){return logger[_0x30377b(0x1f8)]({'event':_0x59beee['CHEzv'],'resource':_0x48fa3c,'error':_0x56b3c6['message']},_0x30377b(0x1fa)+_0x56b3c6[_0x30377b(0x1fc)]),{'success':![],'error':_0x30377b(0x1df)+_0x56b3c6['message']};}}async[a0_0x84cb81(0x1bb)](_0x13a5b9,_0x2f4a76,_0x56a7a4){const _0x50f341=a0_0x84cb81,_0x2ef327={'iGujg':_0x50f341(0x1cb)};for(const _0x57bbf0 of _0x2f4a76){try{await _0x13a5b9['eval'](RELEASE_LUA_SCRIPT,0x1,_0x57bbf0,_0x56a7a4);}catch(_0x4a0b94){logger[_0x50f341(0x1f8)]({'event':_0x2ef327['iGujg'],'key':_0x57bbf0,'error':_0x4a0b94[_0x50f341(0x1fc)]},'Failed\x20to\x20rollback\x20key:\x20'+_0x57bbf0);}}}async[a0_0x84cb81(0x1c7)](_0x2dfb44,_0x2d557a){const _0x1b00f6=a0_0x84cb81,_0x5017a2={'CyjyG':_0x1b00f6(0x1db),'dgbGX':function(_0x36deeb,_0x4e7882){return _0x36deeb>_0x4e7882;}};try{const [_0x4e085f,_0x359719]=await Promise['all']([_0x2dfb44[_0x1b00f6(0x1bd)](_0x2d557a),_0x2dfb44['ttl'](_0x2d557a)]);return{'owner':_0x4e085f?this[_0x1b00f6(0x1e5)](_0x4e085f):_0x5017a2['CyjyG'],'ttlRemaining':_0x5017a2[_0x1b00f6(0x1cd)](_0x359719,0x0)?_0x359719:null};}catch{return{'owner':_0x5017a2['CyjyG'],'ttlRemaining':null};}}[a0_0x84cb81(0x1fe)]({resource:_0x35f97e,lockKeys:_0xb41b6e,ttl:_0x1b2c38,owner:_0x300bcf}){const _0x5155e6=a0_0x84cb81,_0x129471={'avRYn':function(_0x17c0ae,_0x23e687){return _0x17c0ae!==_0x23e687;},'wOygV':'string','thNxj':_0x5155e6(0x1c5),'NPwsF':_0x5155e6(0x1ea),'UlLZy':function(_0x81b7a0,_0x86b046){return _0x81b7a0!==_0x86b046;},'IlToF':function(_0x393e6a,_0x352477){return _0x393e6a<_0x352477;},'waIOP':'ttl\x20is\x20required\x20and\x20must\x20be\x20at\x20least\x201\x20(in\x20seconds)','qJRWV':function(_0x523473,_0x1e633b){return _0x523473!==_0x1e633b;}};if(!_0x35f97e||_0x129471['avRYn'](typeof _0x35f97e,_0x129471[_0x5155e6(0x1bf)]))return{'valid':![],'error':_0x129471[_0x5155e6(0x1d2)]};if(!Array['isArray'](_0xb41b6e)||_0xb41b6e['length']===0x0)return{'valid':![],'error':_0x5155e6(0x1e6)};if(_0xb41b6e[_0x5155e6(0x1e0)]>0x64)return{'valid':![],'error':_0x129471[_0x5155e6(0x1d0)]};for(let _0x5ad7a0=0x0;_0x5ad7a0<_0xb41b6e[_0x5155e6(0x1e0)];_0x5ad7a0++){const _0x23e39e=_0xb41b6e[_0x5ad7a0];if(!_0x23e39e||!_0x23e39e[_0x5155e6(0x1ca)]||!_0x23e39e[_0x5155e6(0x1e2)])return{'valid':![],'error':_0x5155e6(0x1e9)+_0x5ad7a0+_0x5155e6(0x1fb)};}if(!_0x1b2c38||_0x129471['UlLZy'](typeof _0x1b2c38,'number')||_0x129471[_0x5155e6(0x1e7)](_0x1b2c38,0x1))return{'valid':![],'error':_0x129471['waIOP']};const _0x3f438a=this[_0x5155e6(0x203)]();if(_0x1b2c38>_0x3f438a)return{'valid':![],'error':'ttl\x20exceeds\x20maximum\x20of\x20'+_0x3f438a+_0x5155e6(0x1ec)};if(!_0x300bcf||_0x129471[_0x5155e6(0x1c8)](typeof _0x300bcf,'string'))return{'valid':![],'error':_0x5155e6(0x1ee)};return{'valid':!![]};}[a0_0x84cb81(0x200)]({resource:_0x203bee,lockKeys:_0x57d84f,lockToken:_0x3b7999}){const _0x389bdc=a0_0x84cb81,_0x5cde71={'PDynr':_0x389bdc(0x1dc),'vOvFt':_0x389bdc(0x1c5),'KpqHu':function(_0x5dc845,_0x260691){return _0x5dc845===_0x260691;},'iLcQM':function(_0x50c107,_0x127dd5){return _0x50c107<_0x127dd5;},'DsSsD':function(_0x176d83,_0x47aba3){return _0x176d83!==_0x47aba3;}};if(!_0x203bee||typeof _0x203bee!==_0x5cde71[_0x389bdc(0x1c1)])return{'valid':![],'error':_0x5cde71[_0x389bdc(0x1c3)]};if(!Array['isArray'](_0x57d84f)||_0x5cde71[_0x389bdc(0x207)](_0x57d84f['length'],0x0))return{'valid':![],'error':'lock_keys\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20array'};for(let _0x1a387d=0x0;_0x5cde71[_0x389bdc(0x1f6)](_0x1a387d,_0x57d84f[_0x389bdc(0x1e0)]);_0x1a387d++){const _0xd08774=_0x57d84f[_0x1a387d];if(!_0xd08774||!_0xd08774['key']||!_0xd08774['value'])return{'valid':![],'error':'lock_keys['+_0x1a387d+']\x20must\x20have\x20key\x20and\x20value\x20properties'};}if(!_0x3b7999||_0x5cde71[_0x389bdc(0x1d7)](typeof _0x3b7999,_0x389bdc(0x1dc)))return{'valid':![],'error':'lock_token\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};return{'valid':!![]};}}module[a0_0x84cb81(0x1e4)]=new ResourceLockManager();
|
|
1
|
+
const a0_0x3b09df=a0_0x3f64;(function(_0x15b284,_0x1fef71){const _0x14e699=a0_0x3f64,_0x526dc1=_0x15b284();while(!![]){try{const _0x605600=parseInt(_0x14e699(0x1fa))/0x1*(parseInt(_0x14e699(0x1e1))/0x2)+parseInt(_0x14e699(0x1b7))/0x3*(-parseInt(_0x14e699(0x1a8))/0x4)+-parseInt(_0x14e699(0x1db))/0x5*(parseInt(_0x14e699(0x1d2))/0x6)+parseInt(_0x14e699(0x1de))/0x7*(-parseInt(_0x14e699(0x1af))/0x8)+-parseInt(_0x14e699(0x1e7))/0x9+parseInt(_0x14e699(0x1e8))/0xa*(parseInt(_0x14e699(0x1c1))/0xb)+parseInt(_0x14e699(0x1cd))/0xc;if(_0x605600===_0x1fef71)break;else _0x526dc1['push'](_0x526dc1['shift']());}catch(_0x42c7da){_0x526dc1['push'](_0x526dc1['shift']());}}}(a0_0x2cc7,0xcfc53));function a0_0x2cc7(){const _0x1efaf2=['BwvZC2fNzq','nZqZodC3mfrOCKP2uq','CMvZB3vYy2vFBg9JA19YzwXLyxnLza','B2XswNy','CMvZB3vYy2uGyw5KigXVy2TFA2v5CYbHCMuGCMvXDwLYzwq','Aw5MBW','Bg9JA190B2TLBIbPCYbYzxf1AxjLzcbHBMqGBxvZDcbIzsbHihn0CMLUzW','z2v0uMvZB3vYy2vmB2nRu3rHDhvZ','CMvZB3vYy2uGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','CMvZB3vYy2vFBg9JA19ZDgf0DxnFzxjYB3i','nuT2thbLvq','B3DUzxi','ChvZAa','mJa4mdrvqKHZwM0','rMHiyKu','ywnXDwLYzvjLC291CMnLtg9JA3m','mte2mK5qAxzWEq','A0DzvgK','igTLExmSifrutdOG','C3rYAw5N','AerLEuG','z2v0twf4vfrmu2vJB25KCW','ntm4mZG5ovnsBwrhEq','mZbLA3zNq0K','BwfW','tg9JAYbYzwXLyxnLigzHAwXLzdOG','ywvvvMC','Bg9JA19RzxLZigLZihjLCxvPCMvKigfUzcbTDxn0igjLigeGBM9UlwvTChr5igfYCMf5','xsbTDxn0igHHDMuGA2v5igfUzcb2ywX1zsbWCM9Wzxj0AwvZ','tg9JAYbZDgf0DxmGy2HLy2SGzMfPBgvKoIa','A2v5','uvvOzfG','Bvvvt0K','z2vUzxjHDgvuB2TLBG','vMfPC0W','ihnLy29UzhmUienVBMzPz3vYzsbmt0nlx1jfu09vuKnfx01bwf9uveWGDg8GAw5JCMvHC2uU','zxjYB3i','Aw5KzxHpzG','CMvZB3vYy2vFBg9JA19Hy3f1AxjLx2vYCM9Y','te9ds19srvnpvvjdrv9nqvHFvfrm','CMvSzwfZzvjLC291CMnLtg9JA3m','ndu0thPJD2f4','CMy6','uMvZB3vYy2uGBg9JAYbJB25MBgLJDcbVBIa','uhP5wuK','nenZAg1lsG','DxvPza','D2fYBG','tvDzsfe','tKXmqwq','DhrSigv4y2vLzhmGBwf4Aw11BsbVzIa','Bg9JA19RzxLZwW','nda3mLrny1HpAG','x2DLDenVBMzSAwn0sw5MBW','CMvZB3vYy2vFBg9JA19YB2XSyMfJA19RzxLFzxjYB3i','B3DUzxiGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','AxnbCNjHEq','shD0DeO','rMfPBgvKihrVihjVBgXIywnRigTLEtOG','z2v0','mZK3nZC3oeLcDLvOCG','zxH0CMfJDe93BMvY','BgvUz3rO','oNjSB2nRoG','CMvZB3vYy2vFBg9JA19Hy3f1AxjLza','BNvTyMvY','Der4vNG','vwfQteq','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','DMfSDwu','ntm3ntCYmKf3zML4tG','DhrS','zxzHBa','uMvZB3vYy2uGBg9JAYbZDgf0DxmGzxjYB3i6ia','uMvZB3vYy2uGBg9JAYbHy3f1AxjLzdOG','yNvPBgrlzxK','BwLU','DMfSAwq','zgvMyxvSDa','Dw5RBM93BG','sKXNwKi','DhrSuMvTywLUAw5N','ndu1nZm5mJrku01uD2C','qNnYwNu','z2v0q2XPzw50','refYENO'];a0_0x2cc7=function(){return _0x1efaf2;};return a0_0x2cc7();}const redisClient=require(a0_0x3b09df(0x1bf)),{logger}=require('../../utils/logger'),{v4:uuidv4}=require(a0_0x3b09df(0x1a9));function getPrefix(){const _0x3adb1f=a0_0x3b09df,_0x1acc97={'BsrZu':_0x3adb1f(0x1c9)},_0x3305c5=process['env']['RESTFORGE_PROJECT_NAME']||_0x1acc97[_0x3adb1f(0x1ce)];return _0x3adb1f(0x1fb)+_0x3305c5+_0x3adb1f(0x1ba);}const DEFAULT_MAX_TTL_SECONDS=0x12c,RELEASE_LUA_SCRIPT='\x0a\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20return\x20redis.call(\x22del\x22,\x20KEYS[1])\x0a\x20\x20else\x0a\x20\x20\x20\x20return\x200\x0a\x20\x20end\x0a';class ResourceLockManager{['buildKey'](_0x505b0d,_0x51f916,_0x4aaead){return''+getPrefix()+_0x505b0d+':'+_0x51f916+':'+_0x4aaead;}['generateToken'](_0x788d7c){const _0x1d3127={'BuNgq':function(_0x5362db){return _0x5362db();}};return _0x788d7c+':'+_0x1d3127['BuNgq'](uuidv4)+':'+Date['now']();}['extractOwner'](_0x1aed56){const _0x11cea0=a0_0x3b09df;if(!_0x1aed56)return'unknown';const _0x293acb=_0x1aed56[_0x11cea0(0x1f6)](':');return _0x293acb>0x0?_0x1aed56['substring'](0x0,_0x293acb):_0x1aed56;}[a0_0x3b09df(0x1e6)](){const _0x2d625a=a0_0x3b09df,_0x40363f={'aeUVg':function(_0x2b3ab5,_0x3555c2,_0x47948b){return _0x2b3ab5(_0x3555c2,_0x47948b);}};return _0x40363f[_0x2d625a(0x1eb)](parseInt,process['env'][_0x2d625a(0x1f8)],0xa)||DEFAULT_MAX_TTL_SECONDS;}async[a0_0x3b09df(0x1e0)]({resource:_0x130087,lockKeys:_0x58aec5,ttl:_0x14de1d,owner:_0xf48589}){const _0x299cfe=a0_0x3b09df,_0x2fbb8a={'NLLAd':function(_0x50565d,_0x416f03){return _0x50565d===_0x416f03;},'olRZv':'Resource\x20lock\x20conflict','mUUOI':'resource_lock_rollback_error','zNEQs':'Failed\x20to\x20rollback\x20resource\x20locks\x20after\x20error'},_0x31798a=this['_validateAcquireInput']({'resource':_0x130087,'lockKeys':_0x58aec5,'ttl':_0x14de1d,'owner':_0xf48589});if(!_0x31798a[_0x299cfe(0x1c8)])return{'success':![],'error':_0x31798a['error']};const _0x5f55f5=this[_0x299cfe(0x1e6)](),_0x1f7eb7=Math[_0x299cfe(0x1c7)](_0x14de1d,_0x5f55f5),_0x3b9fe2=this[_0x299cfe(0x1f2)](_0xf48589),_0x281f26=[];try{const _0x5693e5=redisClient['getClient']();for(let _0x9ea75b=0x0;_0x9ea75b<_0x58aec5['length'];_0x9ea75b++){const {key:_0x272e9e,value:_0x22ba3b}=_0x58aec5[_0x9ea75b],_0x2e983c=this['buildKey'](_0x130087,_0x272e9e,_0x22ba3b),_0x1ec4cf=await _0x5693e5['set'](_0x2e983c,_0x3b9fe2,'EX',_0x1f7eb7,'NX');if(_0x2fbb8a[_0x299cfe(0x1ac)](_0x1ec4cf,'OK'))_0x281f26[_0x299cfe(0x1dd)](_0x2e983c);else{await this['_rollbackKeys'](_0x5693e5,_0x281f26,_0x3b9fe2);const _0x152d5d=await this[_0x299cfe(0x1b0)](_0x5693e5,_0x2e983c);return logger[_0x299cfe(0x1aa)]({'event':'resource_lock_conflict','resource':_0x130087,'conflicting_key':{'key':_0x272e9e,'value':_0x22ba3b},'locked_by':_0x152d5d[_0x299cfe(0x1dc)],'ttl_remaining':_0x152d5d[_0x299cfe(0x1cc)],'attempted_by':_0xf48589},_0x299cfe(0x1fc)+_0x130087+':'+_0x272e9e+':'+_0x22ba3b),{'success':![],'error':_0x2fbb8a[_0x299cfe(0x1d4)],'data':{'conflicting_key':{'key':_0x272e9e,'value':_0x22ba3b},'locked_by':_0x152d5d['owner'],'ttl_remaining':_0x152d5d[_0x299cfe(0x1cc)]}};}}const _0x53de5d=_0x58aec5[_0x299cfe(0x1e9)](({key:_0x3b43f0,value:_0x149dfd})=>({'key':_0x3b43f0,'value':_0x149dfd,'lock_key':this[_0x299cfe(0x1c6)](_0x130087,_0x3b43f0,_0x149dfd)}));return logger[_0x299cfe(0x1d6)]({'event':_0x299cfe(0x1bb),'resource':_0x130087,'keys_count':_0x58aec5[_0x299cfe(0x1b9)],'ttl':_0x1f7eb7,'owner':_0xf48589},_0x299cfe(0x1c5)+_0x130087+'\x20('+_0x58aec5[_0x299cfe(0x1b9)]+_0x299cfe(0x1e3)+_0x1f7eb7+'s)'),{'success':!![],'data':{'lock_token':_0x3b9fe2,'resource':_0x130087,'locked_keys':_0x53de5d,'ttl':_0x1f7eb7,'owner':_0xf48589,'acquired_at':new Date()['toISOString']()}};}catch(_0x6a733f){try{const _0x17aae7=redisClient['getClient']();await this['_rollbackKeys'](_0x17aae7,_0x281f26,_0x3b9fe2);}catch(_0x219fdf){logger[_0x299cfe(0x1f5)]({'event':_0x2fbb8a[_0x299cfe(0x1f1)],'error':_0x219fdf['message']},_0x2fbb8a['zNEQs']);}return logger['error']({'event':_0x299cfe(0x1f7),'resource':_0x130087,'owner':_0xf48589,'error':_0x6a733f['message']},'Resource\x20lock\x20acquire\x20error:\x20'+_0x6a733f['message']),{'success':![],'error':'Lock\x20acquire\x20failed:\x20'+_0x6a733f['message']};}}async[a0_0x3b09df(0x1f9)]({resource:_0x560ffd,lockKeys:_0x3f781d,lockToken:_0x37f50f}){const _0x51ef0e=a0_0x3b09df,_0x1a1965={'VTtpw':'resource_lock_release_error'},_0x127316=this['_validateReleaseInput']({'resource':_0x560ffd,'lockKeys':_0x3f781d,'lockToken':_0x37f50f});if(!_0x127316['valid'])return{'success':![],'error':_0x127316[_0x51ef0e(0x1f5)]};try{const _0x4e2970=redisClient['getClient']();let _0x1a78d0=0x0;for(const {key:_0xc9a6cf,value:_0x257cf1}of _0x3f781d){const _0x1a5c36=this[_0x51ef0e(0x1c6)](_0x560ffd,_0xc9a6cf,_0x257cf1),_0x35ac37=await _0x4e2970[_0x51ef0e(0x1c3)](RELEASE_LUA_SCRIPT,0x1,_0x1a5c36,_0x37f50f);_0x35ac37===0x1&&_0x1a78d0++;}return logger[_0x51ef0e(0x1d6)]({'event':_0x51ef0e(0x1d3),'resource':_0x560ffd,'released_keys':_0x1a78d0,'total_keys':_0x3f781d[_0x51ef0e(0x1b9)],'owner':this['extractOwner'](_0x37f50f)},'Resource\x20lock\x20released:\x20'+_0x560ffd+'\x20('+_0x1a78d0+'/'+_0x3f781d['length']+'\x20keys)'),{'success':!![],'data':{'resource':_0x560ffd,'released_keys':_0x1a78d0,'total_keys':_0x3f781d['length']}};}catch(_0xc99cfe){return logger['error']({'event':_0x1a1965['VTtpw'],'resource':_0x560ffd,'error':_0xc99cfe['message']},'Resource\x20lock\x20release\x20error:\x20'+_0xc99cfe['message']),{'success':![],'error':_0x51ef0e(0x1ea)+_0xc99cfe['message']};}}async[a0_0x3b09df(0x1d8)]({resource:_0x27d262,lockKeys:_0x184fee}){const _0x49694f=a0_0x3b09df,_0xc2ba3f={'FhHbE':function(_0x395ee4,_0x4b428c){return _0x395ee4===_0x4b428c;},'YNEkK':_0x49694f(0x1d5)};if(!_0x27d262||!Array[_0x49694f(0x1b3)](_0x184fee)||_0xc2ba3f[_0x49694f(0x1df)](_0x184fee['length'],0x0))return{'success':![],'error':_0xc2ba3f['YNEkK']};try{const _0x26afa6=redisClient[_0x49694f(0x1cf)](),_0x21ada9=[];for(const {key:_0x4d6ef1,value:_0x5cc5b9}of _0x184fee){const _0x47c360=this[_0x49694f(0x1c6)](_0x27d262,_0x4d6ef1,_0x5cc5b9),[_0x1bdb74,_0x45d668]=await Promise['all']([_0x26afa6[_0x49694f(0x1b6)](_0x47c360),_0x26afa6[_0x49694f(0x1c2)](_0x47c360)]),_0x46df1e=_0x1bdb74!==null;_0x21ada9['push']({'key':_0x4d6ef1,'value':_0x5cc5b9,'locked':_0x46df1e,'owner':_0x46df1e?this['extractOwner'](_0x1bdb74):null,'ttl_remaining':_0x46df1e&&_0x45d668>0x0?_0x45d668:null});}return{'success':!![],'data':{'resource':_0x27d262,'keys':_0x21ada9}};}catch(_0x325c3a){return logger['error']({'event':_0x49694f(0x1da),'resource':_0x27d262,'error':_0x325c3a['message']},_0x49694f(0x1c4)+_0x325c3a['message']),{'success':![],'error':_0x49694f(0x1ee)+_0x325c3a[_0x49694f(0x1d1)]};}}async['_rollbackKeys'](_0xf5b8e1,_0x20b26c,_0x5a686b){const _0xab74ae=a0_0x3b09df;for(const _0x44ce0e of _0x20b26c){try{await _0xf5b8e1['eval'](RELEASE_LUA_SCRIPT,0x1,_0x44ce0e,_0x5a686b);}catch(_0x392ab1){logger['error']({'event':_0xab74ae(0x1b1),'key':_0x44ce0e,'error':_0x392ab1[_0xab74ae(0x1d1)]},_0xab74ae(0x1b5)+_0x44ce0e);}}}async['_getConflictInfo'](_0x3f9a65,_0x110c58){const _0x5408b3=a0_0x3b09df,_0x53aae6={'DArzz':function(_0x4cd694,_0x9cc540){return _0x4cd694>_0x9cc540;},'Emieu':_0x5408b3(0x1ca)};try{const [_0x8c96a7,_0x171f5c]=await Promise['all']([_0x3f9a65['get'](_0x110c58),_0x3f9a65['ttl'](_0x110c58)]);return{'owner':_0x8c96a7?this[_0x5408b3(0x1b8)](_0x8c96a7):_0x5408b3(0x1ca),'ttlRemaining':_0x53aae6[_0x5408b3(0x1d0)](_0x171f5c,0x0)?_0x171f5c:null};}catch{return{'owner':_0x53aae6['Emieu'],'ttlRemaining':null};}}['_validateAcquireInput']({resource:_0x4dff63,lockKeys:_0x27326c,ttl:_0x5377d1,owner:_0x58c276}){const _0x4d95bf=a0_0x3b09df,_0x11c89b={'QUhdX':function(_0x173d04,_0x593c84){return _0x173d04!==_0x593c84;},'tDxVx':'string','lbbDA':_0x4d95bf(0x1ec),'UajLD':function(_0x6ec02,_0x41bdd9){return _0x6ec02>_0x41bdd9;},'kGYTi':'lock_keys\x20exceeds\x20maximum\x20of\x20100\x20items','JLgZB':function(_0x293fb9,_0x2e9b62){return _0x293fb9<_0x2e9b62;},'hDeyH':function(_0x52b0b9,_0x2c3297){return _0x52b0b9<_0x2c3297;},'PzyYI':'ttl\x20is\x20required\x20and\x20must\x20be\x20at\x20least\x201\x20(in\x20seconds)','VaisL':function(_0x89c265,_0x2a06ff){return _0x89c265!==_0x2a06ff;}};if(!_0x4dff63||_0x11c89b[_0x4d95bf(0x1f0)](typeof _0x4dff63,_0x11c89b[_0x4d95bf(0x1bd)]))return{'valid':![],'error':_0x4d95bf(0x1d9)};if(!Array[_0x4d95bf(0x1b3)](_0x27326c)||_0x27326c[_0x4d95bf(0x1b9)]===0x0)return{'valid':![],'error':_0x11c89b['lbbDA']};if(_0x11c89b[_0x4d95bf(0x1be)](_0x27326c[_0x4d95bf(0x1b9)],0x64))return{'valid':![],'error':_0x11c89b[_0x4d95bf(0x1e2)]};for(let _0x42298b=0x0;_0x11c89b[_0x4d95bf(0x1cb)](_0x42298b,_0x27326c[_0x4d95bf(0x1b9)]);_0x42298b++){const _0x450abe=_0x27326c[_0x42298b];if(!_0x450abe||!_0x450abe[_0x4d95bf(0x1ef)]||!_0x450abe[_0x4d95bf(0x1c0)])return{'valid':![],'error':_0x4d95bf(0x1ae)+_0x42298b+_0x4d95bf(0x1ed)};}if(!_0x5377d1||_0x11c89b['QUhdX'](typeof _0x5377d1,_0x4d95bf(0x1bc))||_0x11c89b[_0x4d95bf(0x1e5)](_0x5377d1,0x1))return{'valid':![],'error':_0x11c89b[_0x4d95bf(0x1a7)]};const _0x56416b=this[_0x4d95bf(0x1e6)]();if(_0x5377d1>_0x56416b)return{'valid':![],'error':_0x4d95bf(0x1ad)+_0x56416b+_0x4d95bf(0x1f4)};if(!_0x58c276||_0x11c89b[_0x4d95bf(0x1f3)](typeof _0x58c276,_0x11c89b[_0x4d95bf(0x1bd)]))return{'valid':![],'error':_0x4d95bf(0x1b2)};return{'valid':!![]};}['_validateReleaseInput']({resource:_0x388266,lockKeys:_0x36af03,lockToken:_0x5ebe19}){const _0x2a5843=a0_0x3b09df,_0x1df58c={'QzuCT':function(_0x40ed0b,_0x411d96){return _0x40ed0b!==_0x411d96;},'HwttJ':function(_0x2fc883,_0x6a4dc9){return _0x2fc883===_0x6a4dc9;},'YISrf':_0x2a5843(0x1ec),'MWYHQ':function(_0x1750d2,_0x32d2f4){return _0x1750d2<_0x32d2f4;},'ZAyzI':_0x2a5843(0x1e4)};if(!_0x388266||_0x1df58c['QzuCT'](typeof _0x388266,'string'))return{'valid':![],'error':_0x2a5843(0x1d9)};if(!Array['isArray'](_0x36af03)||_0x1df58c[_0x2a5843(0x1b4)](_0x36af03['length'],0x0))return{'valid':![],'error':_0x1df58c['YISrf']};for(let _0x5ccdc5=0x0;_0x1df58c[_0x2a5843(0x1ab)](_0x5ccdc5,_0x36af03['length']);_0x5ccdc5++){const _0x20aa5c=_0x36af03[_0x5ccdc5];if(!_0x20aa5c||!_0x20aa5c['key']||!_0x20aa5c['value'])return{'valid':![],'error':'lock_keys['+_0x5ccdc5+']\x20must\x20have\x20key\x20and\x20value\x20properties'};}if(!_0x5ebe19||typeof _0x5ebe19!==_0x1df58c['ZAyzI'])return{'valid':![],'error':_0x2a5843(0x1d7)};return{'valid':!![]};}}function a0_0x3f64(_0x38c252,_0x536b9d){_0x38c252=_0x38c252-0x1a7;const _0x2cc7ed=a0_0x2cc7();let _0x3f6430=_0x2cc7ed[_0x38c252];if(a0_0x3f64['aNpXJh']===undefined){var _0x2a8ba1=function(_0x3779f7){const _0x265e55='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x18a960='',_0x59a49f='';for(let _0x4b778f=0x0,_0xaa1ddf,_0x331093,_0x1784a5=0x0;_0x331093=_0x3779f7['charAt'](_0x1784a5++);~_0x331093&&(_0xaa1ddf=_0x4b778f%0x4?_0xaa1ddf*0x40+_0x331093:_0x331093,_0x4b778f++%0x4)?_0x18a960+=String['fromCharCode'](0xff&_0xaa1ddf>>(-0x2*_0x4b778f&0x6)):0x0){_0x331093=_0x265e55['indexOf'](_0x331093);}for(let _0x5f2f38=0x0,_0x35056a=_0x18a960['length'];_0x5f2f38<_0x35056a;_0x5f2f38++){_0x59a49f+='%'+('00'+_0x18a960['charCodeAt'](_0x5f2f38)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x59a49f);};a0_0x3f64['ctMMth']=_0x2a8ba1,a0_0x3f64['CediyK']={},a0_0x3f64['aNpXJh']=!![];}const _0x18e8db=_0x2cc7ed[0x0],_0x248e55=_0x38c252+_0x18e8db,_0x408e36=a0_0x3f64['CediyK'][_0x248e55];return!_0x408e36?(_0x3f6430=a0_0x3f64['ctMMth'](_0x3f6430),a0_0x3f64['CediyK'][_0x248e55]=_0x3f6430):_0x3f6430=_0x408e36,_0x3f6430;}module['exports']=new ResourceLockManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x8cc5d6=a0_0x3ec2;(function(_0x3d0363,_0x284dbd){const _0x493cf7=a0_0x3ec2,_0x4e99d2=_0x3d0363();while(!![]){try{const _0x8dfc00=-parseInt(_0x493cf7(0xd3))/0x1*(parseInt(_0x493cf7(0x10d))/0x2)+-parseInt(_0x493cf7(0x13c))/0x3*(parseInt(_0x493cf7(0x107))/0x4)+-parseInt(_0x493cf7(0xf6))/0x5*(-parseInt(_0x493cf7(0xe8))/0x6)+-parseInt(_0x493cf7(0x119))/0x7+-parseInt(_0x493cf7(0xf2))/0x8*(parseInt(_0x493cf7(0x11c))/0x9)+parseInt(_0x493cf7(0x134))/0xa*(parseInt(_0x493cf7(0x10a))/0xb)+-parseInt(_0x493cf7(0x127))/0xc*(-parseInt(_0x493cf7(0x142))/0xd);if(_0x8dfc00===_0x284dbd)break;else _0x4e99d2['push'](_0x4e99d2['shift']());}catch(_0x4e9708){_0x4e99d2['push'](_0x4e99d2['shift']());}}}(a0_0x7b4c,0x267c7));function a0_0x7b4c(){const _0x549fae=['w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','rgTWyxG','tK9useLorW','BwLU','mZuZmuHcv3v4vq','ntaWma','zgvMyxvSDa','AxnsDw5UAw5N','BwvZC2fNzxnszwnLAxzLza','mta0odu3nG','nJK2mda3t25HCeP5','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','AxnbCNjHEq','ChjVy2vZC2LUz1rPBwvZ','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','zw5HyMXLza','zvDqtvu','C3vIC2nYAwjL','lwnVBNn1BwvY','mMXTswXPtW','AxndB25Uzwn0zwq','v0fstG','AxnqyxvZzwq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','s0fgs0fFu0fttf9nruniqu5ju00','BwvZC2fNzq','C3rHCNruAw1L','BM93','s0fgs0fFq0Xjru5ux0Le','C2HPzNq','C3rVCa','y29UC3vTzxiUCMvIywXHBMnPBMC','CM1gt28','vMLlA20','zw52','C3vIC2nYAwjLzfrVCgLJCW','C2vLA1rVt2zMC2v0','y29UC3vTzxi','v2zMweu','CgfYC2vizwfKzxjZ','otqZndC2tLbRq2DN','yMziAgC','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','Dhj1zq','zxHWB3j0CW','CMv0CNLbDhrLBxb0CW','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','s0fgs0fFuKvuuLLFtufyx0rftefz','yNjVA2vYCW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbWyxvZzwq','nJq3odG4v05jyNjY','thHQr24','D2fYBG','t3PJsfe','mtbHEKXuv3u','ig9Uia','y29UC3vTzxiUy3jHC2G','s0fgs0fFqvvut19dt01nsvq','CMvKDwnL','AM9PBG','z2v0vgLTzq','AxnjBML0AwfSAxPPBMC','BwvZC2fNzuHHBMrSzxi','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','y2XPzw50swq','rvjst1i','vvDbCxa','zxjYB3i','BwfW','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','Dg9tDhjPBMC','ntiWsfbms1L0','yK1tzM8','B2zMC2v0','mJC4mJqZovPJwePHyG','s0fgs0fFsevbuLrcrufux0LovevsvKfm','mZaWma','mtC5ndy0DgX2r3ff','CMvZDgzVCMDLlq','BwvZC2fNzxngywLSzwq','z3jVDxbjza','DgLTzxn0yw1W','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','C2vLAW','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','y29UC3vTzxiUzgLZy29UBMvJDa','y29UBMvJDgLVBLbYB21PC2u','rfPmtK8','mtq2ndaWmxjjr0XQrG','yxv0B0nVBw1PDeLUDgvYDMfS','DMfSDwu','mJDOC1nzCKi','zMXVB3i','s0fgs0fFu0vtu0LptL9usu1ft1vu','s0fgs0fFru5bqKXfra','s0fgs0fFq09otKvdveLptL9usu1ft1vu','s0fgs0fFu1nm','vuTdAui','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','Bwf4qNL0zxnqzxjqyxj0AxrPB24','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','BgvUz3rO','odrgAevbueO','z2v0q29UzMLN','yMfgBMO','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','Bwv0CMLJCW','uKPWBxi','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','AgvHzgvYCW','Bg9N','A2fMA2e','yxv0B0nVBw1PDa','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','Dxn6sKW','mtbpuNv5A0u','s0fgs0fFte9hx0XfvKvm','BgfZDe1LC3nHz2vuAw1L','w0THzMTHq29UC3vTzxjDieTHzMTHignVBNn1BwvYigLZigrPC2fIBgvKigLUignVBMzPz3vYyxrPB24'];a0_0x7b4c=function(){return _0x549fae;};return a0_0x7b4c();}function a0_0x3ec2(_0x111555,_0x2dff7d){_0x111555=_0x111555-0xd1;const _0x7b4c3f=a0_0x7b4c();let _0x3ec27e=_0x7b4c3f[_0x111555];if(a0_0x3ec2['AphZES']===undefined){var _0x170687=function(_0x2237f5){const _0x86af96='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x320f5d='',_0x1e83ef='';for(let _0x13dc1f=0x0,_0x2787b8,_0x14102f,_0x1bb02b=0x0;_0x14102f=_0x2237f5['charAt'](_0x1bb02b++);~_0x14102f&&(_0x2787b8=_0x13dc1f%0x4?_0x2787b8*0x40+_0x14102f:_0x14102f,_0x13dc1f++%0x4)?_0x320f5d+=String['fromCharCode'](0xff&_0x2787b8>>(-0x2*_0x13dc1f&0x6)):0x0){_0x14102f=_0x86af96['indexOf'](_0x14102f);}for(let _0x5b873b=0x0,_0x1f7c79=_0x320f5d['length'];_0x5b873b<_0x1f7c79;_0x5b873b++){_0x1e83ef+='%'+('00'+_0x320f5d['charCodeAt'](_0x5b873b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1e83ef);};a0_0x3ec2['HJLtKO']=_0x170687,a0_0x3ec2['WSjTHE']={},a0_0x3ec2['AphZES']=!![];}const _0x4b6d10=_0x7b4c3f[0x0],_0xe87109=_0x111555+_0x4b6d10,_0x3eb256=a0_0x3ec2['WSjTHE'][_0xe87109];return!_0x3eb256?(_0x3ec27e=a0_0x3ec2['HJLtKO'](_0x3ec27e),a0_0x3ec2['WSjTHE'][_0xe87109]=_0x3ec27e):_0x3ec27e=_0x3eb256,_0x3ec27e;}const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require('uuid');class KafkaConsumerService{constructor(){const _0x24eebb=a0_0x3ec2;this[_0x24eebb(0x130)]=null,this[_0x24eebb(0xe5)]=null,this['isConnected']=![],this['isInitializing']=![],this['isRunning']=![],this[_0x24eebb(0xd6)]=![],this[_0x24eebb(0x117)]=null,this['subscribedTopics']=[],this[_0x24eebb(0x110)]=null,this['messageHandler']=null,this[_0x24eebb(0x12b)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}[a0_0x8cc5d6(0x128)](){const _0x45f013=a0_0x8cc5d6,_0x56a7bd={'lXgOS':'true','baFnj':_0x45f013(0x13e),'rmFOo':_0x45f013(0x10c),'DZLNO':function(_0x1fdcdd,_0x20d99d){return _0x1fdcdd(_0x20d99d);},'WffXE':function(_0x3d52f8,_0x3b98c1){return _0x3d52f8(_0x3b98c1);},'dPwKe':_0x45f013(0x13d),'wSiJh':function(_0x1aad3b,_0x10bdbb){return _0x1aad3b(_0x10bdbb);},'LxjGn':'1000','LXQku':function(_0x3d299d,_0x55c298){return _0x3d299d(_0x55c298);}};return{'enabled':process[_0x45f013(0xe2)][_0x45f013(0x11f)]===_0x56a7bd['lXgOS'],'brokers':(process[_0x45f013(0xe2)]['KAFKA_BROKERS']||'localhost:9092')['split'](','),'clientId':process[_0x45f013(0xe2)][_0x45f013(0xdc)]||_0x45f013(0x10e)+(process[_0x45f013(0xe2)][_0x45f013(0xff)]||_0x56a7bd[_0x45f013(0x129)])+_0x45f013(0xd2),'connectionTimeout':parseInt(process['env'][_0x45f013(0x120)]||_0x56a7bd[_0x45f013(0xe0)]),'requestTimeout':parseInt(process[_0x45f013(0xe2)]['KAFKA_REQUEST_TIMEOUT']||'25000'),'sessionTimeout':_0x56a7bd[_0x45f013(0x118)](parseInt,process['env'][_0x45f013(0x11e)]||'30000'),'heartbeatInterval':parseInt(process['env'][_0x45f013(0x10b)]||_0x45f013(0x10c)),'maxBytesPerPartition':_0x56a7bd['WffXE'](parseInt,process['env'][_0x45f013(0x123)]||_0x45f013(0x141)),'autoCommit':process[_0x45f013(0xe2)][_0x45f013(0xf9)]===_0x45f013(0xeb),'autoCommitInterval':parseInt(process['env'][_0x45f013(0x132)]||_0x56a7bd['dPwKe']),'retryAttempts':_0x56a7bd[_0x45f013(0xe6)](parseInt,process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':_0x56a7bd['wSiJh'](parseInt,process[_0x45f013(0xe2)]['KAFKA_RETRY_DELAY']||_0x56a7bd[_0x45f013(0xf3)]),'retryMaxDelay':_0x56a7bd['LXQku'](parseInt,process[_0x45f013(0xe2)][_0x45f013(0xef)]||'30000'),'logLevel':process[_0x45f013(0xe2)][_0x45f013(0x135)]||_0x45f013(0xf4)};}['getLogLevel'](_0x1be1a0){const _0x45f113=a0_0x8cc5d6,_0x24807b={'nothing':logLevel[_0x45f113(0x13a)],'error':logLevel[_0x45f113(0x101)],'warn':logLevel[_0x45f113(0xd5)],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0x24807b[_0x1be1a0['toLowerCase']()]||logLevel[_0x45f113(0xd5)];}async['initialize'](_0xfa2f20={}){const _0x351e01=a0_0x8cc5d6,_0x5adec8={'DgiLR':'true','ViKkm':_0x351e01(0x13e)},_0xb8567f=this[_0x351e01(0x128)]();if(!_0xb8567f[_0x351e01(0x148)])return console['log'](_0x351e01(0x137)),![];if(this[_0x351e01(0xd4)])return!![];if(this[_0x351e01(0xfd)]&&this[_0x351e01(0x117)])return this[_0x351e01(0x117)];return this[_0x351e01(0xfd)]=!![],this[_0x351e01(0x117)]=new Promise(async _0x5ea40b=>{const _0x54c35f=_0x351e01;try{let _0x52e5ae=undefined;process['env'][_0x54c35f(0x121)]===_0x5adec8['DgiLR']&&(_0x52e5ae=!![]);let _0x2f44b8=undefined;process['env'][_0x54c35f(0xd8)]&&(_0x2f44b8={'mechanism':process[_0x54c35f(0xe2)]['KAFKA_SASL_MECHANISM'],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process[_0x54c35f(0xe2)]['KAFKA_SASL_PASSWORD']||''}),this[_0x54c35f(0x130)]=new Kafka({'clientId':_0xfa2f20[_0x54c35f(0x100)]||_0xb8567f['clientId'],'brokers':_0xb8567f[_0x54c35f(0xf0)],'connectionTimeout':_0xb8567f['connectionTimeout'],'requestTimeout':_0xb8567f['requestTimeout'],'logLevel':this['getLogLevel'](_0xb8567f['logLevel']),'ssl':_0x52e5ae,'sasl':_0x2f44b8,'retry':{'initialRetryTime':_0xb8567f['retryDelay'],'retries':_0xb8567f[_0x54c35f(0xed)],'maxRetryTime':_0xb8567f['retryMaxDelay']}}),this[_0x54c35f(0x110)]=_0xfa2f20['groupId']||_0x54c35f(0x10e)+(process['env'][_0x54c35f(0xff)]||_0x5adec8[_0x54c35f(0xe1)])+'-consumer-group',this['consumer']=this['kafka'][_0x54c35f(0xe5)]({'groupId':this['groupId'],'sessionTimeout':_0xb8567f['sessionTimeout'],'heartbeatInterval':_0xb8567f['heartbeatInterval'],'maxBytesPerPartition':_0xb8567f[_0x54c35f(0x124)],'allowAutoTopicCreation':![]}),await this[_0x54c35f(0xe5)]['connect'](),this[_0x54c35f(0xd4)]=!![],console['log'](_0x54c35f(0x12d)+_0xb8567f['brokers'][_0x54c35f(0xfb)](',\x20')+'\x20(groupId:\x20'+this['groupId']+')'),this['setupEventHandlers'](),_0x5ea40b(!![]);}catch(_0x393b01){console['error']('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x393b01[_0x54c35f(0xd9)]),this[_0x54c35f(0xd4)]=![],_0x5ea40b(![]);}finally{this[_0x54c35f(0xfd)]=![];}}),this['connectionPromise'];}['setupEventHandlers'](){const _0x5a3a05=a0_0x8cc5d6,_0x23d29d={'hwnNf':'[KafkaConsumer]\x20Consumer\x20stopped','YISBv':_0x5a3a05(0x125),'bMSfo':'consumer.stop','UWAqp':_0x5a3a05(0xdf)};if(!this[_0x5a3a05(0xe5)])return;this[_0x5a3a05(0xe5)]['on'](_0x5a3a05(0x116),()=>{const _0x307aaa=_0x5a3a05;console['log'](_0x307aaa(0x147)),this['isConnected']=![],this['isRunning']=![];}),this['consumer']['on'](_0x23d29d[_0x5a3a05(0x108)],()=>{console['log'](_0x23d29d['hwnNf']),this['isRunning']=![];}),this[_0x5a3a05(0xe5)]['on'](_0x5a3a05(0xf8),_0x427ffc=>{const _0x498eb4=_0x5a3a05;console['error']('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x427ffc['payload'][_0x498eb4(0x103)]['message']),this['isRunning']=![];}),this['consumer']['on'](_0x23d29d[_0x5a3a05(0x102)],()=>{const _0x4154de=_0x5a3a05;console[_0x4154de(0x12f)](_0x23d29d['YISBv']);});}async['subscribe'](_0x4582e2,_0xfa8855=![]){const _0x869604=a0_0x8cc5d6,_0x2d91c9={'vFAiC':_0x869604(0x138)};if(!this[_0x869604(0xd4)])return console[_0x869604(0x103)](_0x2d91c9['vFAiC']),![];try{const _0x589ff8=Array[_0x869604(0x145)](_0x4582e2)?_0x4582e2:[_0x4582e2];for(const _0x4c1b1e of _0x589ff8){await this['consumer'][_0x869604(0xd1)]({'topic':_0x4c1b1e,'fromBeginning':_0xfa8855}),console['log']('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x4c1b1e+'\x20(fromBeginning:\x20'+_0xfa8855+')');}return this['subscribedTopics']=[...new Set([...this[_0x869604(0xe3)],..._0x589ff8])],!![];}catch(_0x14435a){return console['error'](_0x869604(0x115)+_0x14435a[_0x869604(0xd9)]),![];}}async['startConsuming'](_0x309986,_0x3193fc={}){const _0x24fa76=a0_0x8cc5d6,_0x36d461={'Dkpax':function(_0x2c1d28,_0x58cb19){return _0x2c1d28+_0x58cb19;},'GozDd':function(_0x1b2629,_0x422a18){return _0x1b2629>_0x422a18;}};if(!this[_0x24fa76(0xd4)])return console[_0x24fa76(0x103)](_0x24fa76(0x143)),![];if(this[_0x24fa76(0x13f)])return console['log'](_0x24fa76(0xd7)),!![];const _0x1ebce3=this[_0x24fa76(0x128)]();this[_0x24fa76(0xfe)]=_0x309986;try{return this[_0x24fa76(0x12b)]['startTime']=new Date(),await this[_0x24fa76(0xe5)]['run']({'autoCommit':_0x3193fc[_0x24fa76(0x131)]!==undefined?_0x3193fc['autoCommit']:_0x1ebce3[_0x24fa76(0x131)],'autoCommitInterval':_0x1ebce3[_0x24fa76(0x11a)],'eachMessage':async({topic:_0x46cf8b,partition:_0x45cd9b,message:_0x2a40ac,heartbeat:_0x11f17c})=>{const _0x311e31=_0x24fa76,_0x468996=Date['now']();this['metrics'][_0x311e31(0x140)]++,this['metrics'][_0x311e31(0x136)]=new Date();try{const _0x2ba2b3=_0x2a40ac[_0x311e31(0x11b)]?_0x2a40ac['value']['toString']():null;let _0x3b9adf=null;try{_0x3b9adf=_0x2ba2b3?JSON['parse'](_0x2ba2b3):null;}catch(_0x330622){_0x3b9adf=_0x2ba2b3;}const _0x2fb2b9={'topic':_0x46cf8b,'partition':_0x45cd9b,'offset':_0x2a40ac['offset'],'key':_0x2a40ac['key']?_0x2a40ac['key']['toString']():null,'headers':this['parseHeaders'](_0x2a40ac[_0x311e31(0x12e)]),'timestamp':_0x2a40ac[_0x311e31(0x111)],'value':_0x3b9adf,'raw':_0x2ba2b3};this['messageHandler']&&await this[_0x311e31(0xfe)](_0x2fb2b9);!_0x1ebce3['autoCommit']&&await this[_0x311e31(0xe5)]['commitOffsets']([{'topic':_0x46cf8b,'partition':_0x45cd9b,'offset':_0x36d461[_0x311e31(0x139)](parseInt(_0x2a40ac[_0x311e31(0x109)]),0x1)['toString']()}]);this[_0x311e31(0x12b)]['messagesProcessed']++;const _0x384531=Date['now']()-_0x468996;this[_0x311e31(0x12b)][_0x311e31(0x146)]['push'](_0x384531),_0x36d461['GozDd'](this[_0x311e31(0x12b)]['processingTimes'][_0x311e31(0x126)],0x64)&&this['metrics'][_0x311e31(0x146)][_0x311e31(0xdd)](),await _0x11f17c();}catch(_0x5047bd){this[_0x311e31(0x12b)]['messagesFailed']++,console[_0x311e31(0x103)]('[KafkaConsumer]\x20Message\x20processing\x20error:\x20'+_0x5047bd[_0x311e31(0xd9)]);throw _0x5047bd;}}}),this['isRunning']=!![],console[_0x24fa76(0x12f)]('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this['subscribedTopics']['join'](',\x20')),!![];}catch(_0x6691c8){return console[_0x24fa76(0x103)](_0x24fa76(0x105)+_0x6691c8[_0x24fa76(0xd9)]),![];}}[a0_0x8cc5d6(0xe7)](_0x525a1c){if(!_0x525a1c)return{};const _0x37945d={};for(const [_0x33b9ea,_0x1b5e09]of Object['entries'](_0x525a1c)){_0x37945d[_0x33b9ea]=_0x1b5e09?_0x1b5e09['toString']():null;}return _0x37945d;}async['pause'](){const _0x3bd15e=a0_0x8cc5d6,_0x9b0890={'OzcHQ':'[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running'};if(!this[_0x3bd15e(0xd4)]||!this[_0x3bd15e(0x13f)])return console[_0x3bd15e(0x12f)](_0x9b0890[_0x3bd15e(0xf5)]),![];if(this[_0x3bd15e(0xd6)])return console['log'](_0x3bd15e(0x112)),!![];try{const _0x28c3b8=this[_0x3bd15e(0xe3)][_0x3bd15e(0x104)](_0x380f6e=>({'topic':_0x380f6e}));return this[_0x3bd15e(0xe5)]['pause'](_0x28c3b8),this[_0x3bd15e(0xd6)]=!![],console[_0x3bd15e(0x12f)](_0x3bd15e(0x113)),!![];}catch(_0x5c879f){return console['error']('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x5c879f[_0x3bd15e(0xd9)]),![];}}async['resume'](){const _0x4cf80e=a0_0x8cc5d6;if(!this[_0x4cf80e(0xd4)]||!this[_0x4cf80e(0x13f)])return console['log']('[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running'),![];if(!this[_0x4cf80e(0xd6)])return console[_0x4cf80e(0x12f)](_0x4cf80e(0xf1)),!![];try{const _0x1e8b71=this[_0x4cf80e(0xe3)][_0x4cf80e(0x104)](_0x50e9ec=>({'topic':_0x50e9ec}));return this[_0x4cf80e(0xe5)]['resume'](_0x1e8b71),this[_0x4cf80e(0xd6)]=![],console['log'](_0x4cf80e(0x144)),!![];}catch(_0x182bef){return console['error']('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x182bef[_0x4cf80e(0xd9)]),![];}}async['stop'](){const _0x48b40c=a0_0x8cc5d6;if(!this['isConnected'])return console['log'](_0x48b40c(0x12a)),!![];try{return this['consumer']&&(await this[_0x48b40c(0xe5)]['stop'](),await this[_0x48b40c(0xe5)]['disconnect']()),this[_0x48b40c(0xd4)]=![],this['isRunning']=![],this[_0x48b40c(0xd6)]=![],console[_0x48b40c(0x12f)]('[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected'),!![];}catch(_0x24ab86){return console['error'](_0x48b40c(0xea)+_0x24ab86[_0x48b40c(0xd9)]),![];}}async[a0_0x8cc5d6(0xe4)](_0x4edf1e,_0x372893,_0x4879f8){const _0x1bc2a9=a0_0x8cc5d6;if(!this[_0x1bc2a9(0xd4)])return console[_0x1bc2a9(0x103)]('[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'),![];try{return this['consumer'][_0x1bc2a9(0x114)]({'topic':_0x4edf1e,'partition':_0x372893,'offset':_0x4879f8[_0x1bc2a9(0x106)]()}),console['log'](_0x1bc2a9(0xee)+_0x4879f8+_0x1bc2a9(0xf7)+_0x4edf1e+':'+_0x372893),!![];}catch(_0x3c98b3){return console['error']('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x3c98b3[_0x1bc2a9(0xd9)]),![];}}['getStatus'](){const _0x480aed=a0_0x8cc5d6,_0x347d35=this['getConfig']();return{'enabled':_0x347d35[_0x480aed(0x148)],'connected':this[_0x480aed(0xd4)],'running':this['isRunning'],'paused':this[_0x480aed(0xd6)],'brokers':_0x347d35['brokers'],'clientId':_0x347d35['clientId'],'groupId':this['groupId'],'subscribedTopics':this['subscribedTopics']};}['getMetrics'](){const _0x10fe7b=a0_0x8cc5d6,_0x3ad719={'bfHhg':function(_0x2c1b5c,_0x214233){return _0x2c1b5c>_0x214233;},'RJpmr':function(_0x397ef5,_0x4dfa9){return _0x397ef5>_0x4dfa9;},'rhVEo':function(_0x1c2f67,_0x340fc2){return _0x1c2f67+_0x340fc2;},'DjmPr':function(_0x1f7fe1,_0x3ff887){return _0x1f7fe1*_0x3ff887;},'wETyM':function(_0x18de4c,_0x3a5880){return _0x18de4c/_0x3a5880;},'UKCiB':function(_0x3286b4,_0x39660b){return _0x3286b4-_0x39660b;},'MZYkN':function(_0x32d8c2,_0x3a6d04){return _0x32d8c2+_0x3a6d04;},'uszJL':function(_0x2ade55,_0x2ee5f9){return _0x2ade55+_0x2ee5f9;}},_0x593f9d=this[_0x10fe7b(0x12b)][_0x10fe7b(0x146)][_0x10fe7b(0x126)]>0x0?this['metrics'][_0x10fe7b(0x146)][_0x10fe7b(0xfa)]((_0x23b68d,_0x5c9dcf)=>_0x23b68d+_0x5c9dcf,0x0)/this[_0x10fe7b(0x12b)]['processingTimes'][_0x10fe7b(0x126)]:0x0,_0x3b1847=_0x3ad719[_0x10fe7b(0xe9)](this[_0x10fe7b(0x12b)][_0x10fe7b(0x146)]['length'],0x0)?Math[_0x10fe7b(0x13b)](...this['metrics']['processingTimes']):0x0,_0x49d9b5=_0x3ad719[_0x10fe7b(0x12c)](this[_0x10fe7b(0x12b)]['processingTimes'][_0x10fe7b(0x126)],0x0)?Math['max'](...this['metrics']['processingTimes']):0x0;return{'messagesReceived':this['metrics']['messagesReceived'],'messagesProcessed':this['metrics']['messagesProcessed'],'messagesFailed':this[_0x10fe7b(0x12b)][_0x10fe7b(0x10f)],'successRate':_0x3ad719[_0x10fe7b(0xe9)](this['metrics'][_0x10fe7b(0x140)],0x0)?_0x3ad719['rhVEo'](_0x3ad719['DjmPr'](this['metrics']['messagesProcessed']/this[_0x10fe7b(0x12b)][_0x10fe7b(0x140)],0x64)['toFixed'](0x2),'%'):'0%','lastMessageTime':this[_0x10fe7b(0x12b)]['lastMessageTime'],'startTime':this['metrics'][_0x10fe7b(0xda)],'uptime':this['metrics'][_0x10fe7b(0xda)]?Math[_0x10fe7b(0x11d)](_0x3ad719['wETyM'](_0x3ad719[_0x10fe7b(0x122)](Date[_0x10fe7b(0xdb)](),this['metrics']['startTime'][_0x10fe7b(0xfc)]()),0x3e8))+'s':'0s','processingTime':{'avg':_0x3ad719['MZYkN'](Math['round'](_0x593f9d),'ms'),'min':_0x3b1847+'ms','max':_0x3ad719[_0x10fe7b(0x133)](_0x49d9b5,'ms')}};}['resetMetrics'](){const _0x5c7226=a0_0x8cc5d6,_0x23bab5={'eWPMU':'[KafkaConsumer]\x20Metrics\x20reset'};this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console['log'](_0x23bab5[_0x5c7226(0x149)]);}async['close'](){const _0x22ec98=a0_0x8cc5d6;await this[_0x22ec98(0xde)]();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}function createInstance(){return new KafkaConsumerService();}module[a0_0x8cc5d6(0xec)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
1
|
+
const a0_0x3edea5=a0_0x39fa;function a0_0xc5e1(){const _0x415f61=['z3jVDxbjza','Aw1WvLi','DxvPza','nhLdwM1iyq','zgvMyxvSDa','zw5HyMXLza','A2v5','CM91BMq','ntaWma','z2v0q29UzMLN','Cgf5Bg9Hza','AxnsDw5UAw5N','DhfmEMK','zw52','Bwv0CMLJCW','AxnqyxvZzwq','mJq0zgnhDuvK','zxHWB3j0CW','BwvZC2fNzxnszwnLAxzLza','su5gtW','C2vLAW','B2zMC2v0','DhrYuMO','nZa0nvLqC09ntW','CMv0CNLezwXHEq','ufLmAu4','r2vLsvm','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','Bwf4','D2zTr3a','s0fgs0fFu0vtu0LptL9usu1ft1vu','tK9useLorW','yxv0B0nVBw1PDa','AxnbCNjHEq','C3rVCa','CMvZDgzVCMDLlq','y2XPzw50swq','ChjVy2vZC2LUz1rPBwvZ','mZaWmda','zxjYB3i','Cgf1C2u','s0fgs0fFuKvuuLLFtufyx0rftefz','rvjst1i','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','Dhj1zq','sgfZyLu','z2v0twv0CMLJCW','C3vIC2nYAwjL','Dg9gAxHLza','y29UBMvJDgLVBLbYB21PC2u','AxndB25Uzwn0zwq','AgvHCNrIzwf0sw50zxj2ywW','s0fgs0fFru5bqKXfra','mtG3nJuWsfLxuunT','y29UC3vTzxi','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','C2HPzNq','C3rHCNruAw1L','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','mtu4mtyWmgviufjprW','zw50CMLLCW','y29UC3vTzxiUzgLZy29UBMvJDa','y29UC3vTzxiUy3jHC2G','s0fgs0fFuKvuuLLFqvruru1qvfm','s0fgs0fFte9hx0XfvKvm','CMvKDwnL','BwvZC2fNzq','Dg9tDhjPBMC','CMvZDw1L','Bg9N','AM9PBG','y29UBMvJDa','s0fgs0fFu0fttf9vu0vstKfnrq','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','u3Pqve4','s0fgs0fFqvvut19dt01nsvq','revcvuC','AgvHzgvYCW','mJeWmdu0nZHfDLPyvwC','icHMCM9TqMvNAw5UAw5NoIa','C3bSAxq','AxnjBML0AwfSAxPPBMC','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','rvzMD08','DfrID2e','z2v0tg9Ntgv2zwW','BwfW','v0fstG','y29UC3vTzxiUC3rVCa','tNbtA0i','CMvXDwvZDfrPBwvVDxq','mZaWma','BM93','y29UBMvJDgLVBLrPBwvVDxq','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','s0fgs0fFq0Xjru5ux0Le','u1Deq2C','BgfZDe1LC3nHz2vuAw1L','A2fMA2e','y29TBwL0t2zMC2v0CW','CgfYC2vizwfKzxjZ','yNjVA2vYCW','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','nZi0ndy5nfHOCfjrAG','mtm1mZG5nND4sgjPzq','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','qNzdthq','nZm0odiZnNfbyu1qCG','s0fgs0fFuKvrvuvtvf9usu1ft1vu','BwvZC2fNzuHHBMrSzxi','q2fHCNy','ANbOugi','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','BgvUz3rO','C3vIC2nYAwjLzfrVCgLJCW'];a0_0xc5e1=function(){return _0x415f61;};return a0_0xc5e1();}(function(_0x4e6a3b,_0xe86a93){const _0x433645=a0_0x39fa,_0x479523=_0x4e6a3b();while(!![]){try{const _0x44c005=-parseInt(_0x433645(0x1b2))/0x1+parseInt(_0x433645(0x179))/0x2*(-parseInt(_0x433645(0x1ab))/0x3)+parseInt(_0x433645(0x186))/0x4*(-parseInt(_0x433645(0x18d))/0x5)+parseInt(_0x433645(0x16a))/0x6+-parseInt(_0x433645(0x16e))/0x7+parseInt(_0x433645(0x16b))/0x8+parseInt(_0x433645(0x14e))/0x9;if(_0x44c005===_0xe86a93)break;else _0x479523['push'](_0x479523['shift']());}catch(_0x3a08c0){_0x479523['push'](_0x479523['shift']());}}}(a0_0xc5e1,0xd3f87));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require(a0_0x3edea5(0x178));function a0_0x39fa(_0x40b604,_0x1bf5ff){_0x40b604=_0x40b604-0x14a;const _0xc5e1c2=a0_0xc5e1();let _0x39fa80=_0xc5e1c2[_0x40b604];if(a0_0x39fa['ugYTZI']===undefined){var _0x5d1472=function(_0x584d1e){const _0x33fba9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4ed3bf='',_0x2eee42='';for(let _0x495924=0x0,_0x36809c,_0x5ad479,_0x309dc3=0x0;_0x5ad479=_0x584d1e['charAt'](_0x309dc3++);~_0x5ad479&&(_0x36809c=_0x495924%0x4?_0x36809c*0x40+_0x5ad479:_0x5ad479,_0x495924++%0x4)?_0x4ed3bf+=String['fromCharCode'](0xff&_0x36809c>>(-0x2*_0x495924&0x6)):0x0){_0x5ad479=_0x33fba9['indexOf'](_0x5ad479);}for(let _0x5ef325=0x0,_0x34080d=_0x4ed3bf['length'];_0x5ef325<_0x34080d;_0x5ef325++){_0x2eee42+='%'+('00'+_0x4ed3bf['charCodeAt'](_0x5ef325)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2eee42);};a0_0x39fa['bWAZPq']=_0x5d1472,a0_0x39fa['rQCwjr']={},a0_0x39fa['ugYTZI']=!![];}const _0x16b250=_0xc5e1c2[0x0],_0x4b48fe=_0x40b604+_0x16b250,_0x3382cb=a0_0x39fa['rQCwjr'][_0x4b48fe];return!_0x3382cb?(_0x39fa80=a0_0x39fa['bWAZPq'](_0x39fa80),a0_0x39fa['rQCwjr'][_0x4b48fe]=_0x39fa80):_0x39fa80=_0x3382cb,_0x39fa80;}class KafkaConsumerService{constructor(){const _0x3b33a6=a0_0x3edea5;this[_0x3b33a6(0x165)]=null,this['consumer']=null,this[_0x3b33a6(0x1a8)]=![],this['isInitializing']=![],this[_0x3b33a6(0x181)]=![],this['isPaused']=![],this['connectionPromise']=null,this[_0x3b33a6(0x175)]=[],this['groupId']=null,this['messageHandler']=null,this[_0x3b33a6(0x184)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}[a0_0x3edea5(0x17f)](){const _0x2a4115=a0_0x3edea5,_0x197587={'HasbU':function(_0x24dc2f,_0x5e8884){return _0x24dc2f(_0x5e8884);},'ZIblU':'25000','ttrRj':'30000','NpSkB':'1048576','EqDRD':_0x2a4115(0x1a2),'gTbIH':_0x2a4115(0x17e),'mzIYG':'1000'};return{'enabled':process[_0x2a4115(0x183)][_0x2a4115(0x1aa)]==='true','brokers':(process[_0x2a4115(0x183)]['KAFKA_BROKERS']||'localhost:9092')['split'](','),'clientId':process[_0x2a4115(0x183)][_0x2a4115(0x162)]||_0x2a4115(0x199)+(process['env'][_0x2a4115(0x1c1)]||'default')+'-consumer','connectionTimeout':_0x197587[_0x2a4115(0x1a3)](parseInt,process['env']['KAFKA_CONNECTION_TIMEOUT']||_0x2a4115(0x15d)),'requestTimeout':parseInt(process[_0x2a4115(0x183)][_0x2a4115(0x16f)]||_0x197587['ZIblU']),'sessionTimeout':parseInt(process['env'][_0x2a4115(0x194)]||_0x197587[_0x2a4115(0x18c)]),'heartbeatInterval':parseInt(process[_0x2a4115(0x183)]['KAFKA_HEARTBEAT_INTERVAL']||_0x2a4115(0x15d)),'maxBytesPerPartition':_0x197587['HasbU'](parseInt,process[_0x2a4115(0x183)]['KAFKA_MAX_BYTES_PER_PARTITION']||_0x197587[_0x2a4115(0x15b)]),'autoCommit':process['env'][_0x2a4115(0x14b)]===_0x197587['EqDRD'],'autoCommitInterval':parseInt(process[_0x2a4115(0x183)][_0x2a4115(0x16c)]||_0x197587['gTbIH']),'retryAttempts':parseInt(process['env'][_0x2a4115(0x1b6)]||'3'),'retryDelay':parseInt(process[_0x2a4115(0x183)]['KAFKA_RETRY_DELAY']||_0x197587['mzIYG']),'retryMaxDelay':parseInt(process[_0x2a4115(0x183)][_0x2a4115(0x19f)]||_0x2a4115(0x19c)),'logLevel':process[_0x2a4115(0x183)][_0x2a4115(0x1b7)]||'warn'};}['getLogLevel'](_0x333c85){const _0x4a5f70=a0_0x3edea5,_0x32426c={'nothing':logLevel[_0x4a5f70(0x195)],'error':logLevel[_0x4a5f70(0x1a0)],'warn':logLevel[_0x4a5f70(0x159)],'info':logLevel[_0x4a5f70(0x189)],'debug':logLevel[_0x4a5f70(0x14c)]};return _0x32426c[_0x333c85['toLowerCase']()]||logLevel['WARN'];}async['initialize'](_0x5480f6={}){const _0x3dd1f7=a0_0x3edea5,_0x1a4279={'impVR':_0x3dd1f7(0x1a2),'jqDmg':_0x3dd1f7(0x17a)},_0x58f099=this[_0x3dd1f7(0x17f)]();if(!_0x58f099[_0x3dd1f7(0x17b)])return console['log']('[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'),![];if(this[_0x3dd1f7(0x1a8)])return!![];if(this[_0x3dd1f7(0x151)]&&this[_0x3dd1f7(0x1a7)])return this[_0x3dd1f7(0x1a7)];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x4226da=>{const _0x55bef3=_0x3dd1f7;try{let _0x331f99=undefined;process['env']['KAFKA_SSL']===_0x1a4279[_0x55bef3(0x177)]&&(_0x331f99=!![]);let _0x5f1e6e=undefined;process[_0x55bef3(0x183)]['KAFKA_SASL_MECHANISM']&&(_0x5f1e6e={'mechanism':process[_0x55bef3(0x183)]['KAFKA_SASL_MECHANISM'],'username':process['env'][_0x55bef3(0x1bf)]||'','password':process['env']['KAFKA_SASL_PASSWORD']||''}),this[_0x55bef3(0x165)]=new Kafka({'clientId':_0x5480f6[_0x55bef3(0x19a)]||_0x58f099[_0x55bef3(0x19a)],'brokers':_0x58f099['brokers'],'connectionTimeout':_0x58f099[_0x55bef3(0x15f)],'requestTimeout':_0x58f099[_0x55bef3(0x15c)],'logLevel':this[_0x55bef3(0x157)](_0x58f099['logLevel']),'ssl':_0x331f99,'sasl':_0x5f1e6e,'retry':{'initialRetryTime':_0x58f099[_0x55bef3(0x18e)],'retries':_0x58f099['retryAttempts'],'maxRetryTime':_0x58f099['retryMaxDelay']}}),this['groupId']=_0x5480f6['groupId']||'restforge-'+(process[_0x55bef3(0x183)][_0x55bef3(0x1c1)]||_0x1a4279['jqDmg'])+'-consumer-group',this['consumer']=this[_0x55bef3(0x165)][_0x55bef3(0x1ac)]({'groupId':this['groupId'],'sessionTimeout':_0x58f099['sessionTimeout'],'heartbeatInterval':_0x58f099[_0x55bef3(0x1a9)],'maxBytesPerPartition':_0x58f099['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this[_0x55bef3(0x1ac)][_0x55bef3(0x1be)](),this['isConnected']=!![],console[_0x55bef3(0x1bc)]('[KafkaConsumer]\x20Consumer\x20connected\x20to\x20brokers:\x20'+_0x58f099['brokers'][_0x55bef3(0x1bd)](',\x20')+'\x20(groupId:\x20'+this['groupId']+')'),this['setupEventHandlers'](),_0x4226da(!![]);}catch(_0x1f7af2){console[_0x55bef3(0x19d)](_0x55bef3(0x161)+_0x1f7af2['message']),this[_0x55bef3(0x1a8)]=![],_0x4226da(![]);}finally{this[_0x55bef3(0x151)]=![];}}),this[_0x3dd1f7(0x1a7)];}['setupEventHandlers'](){const _0x46857a=a0_0x3edea5,_0x2d6f81={'jphPb':'[KafkaConsumer]\x20Consumer\x20rebalancing...','wfmGp':_0x46857a(0x1b5)};if(!this['consumer'])return;this['consumer']['on'](_0x46857a(0x1b4),()=>{const _0x6ffca7=_0x46857a;console[_0x6ffca7(0x1bc)]('[KafkaConsumer]\x20Consumer\x20disconnected'),this[_0x6ffca7(0x1a8)]=![],this[_0x6ffca7(0x181)]=![];}),this[_0x46857a(0x1ac)]['on'](_0x46857a(0x15a),()=>{const _0x1e73d2=_0x46857a;console[_0x1e73d2(0x1bc)]('[KafkaConsumer]\x20Consumer\x20stopped'),this['isRunning']=![];}),this[_0x46857a(0x1ac)]['on'](_0x2d6f81[_0x46857a(0x193)],_0x5b7c00=>{const _0x16bcee=_0x46857a;console['error']('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x5b7c00[_0x16bcee(0x180)][_0x16bcee(0x19d)][_0x16bcee(0x1b9)]),this['isRunning']=![];}),this['consumer']['on']('consumer.rebalancing',()=>{const _0x3a329c=_0x46857a;console['log'](_0x2d6f81[_0x3a329c(0x172)]);});}async[a0_0x3edea5(0x1a5)](_0x1a6814,_0x45bb46=![]){const _0x411871=a0_0x3edea5,_0x389c88={'ePhOG':_0x411871(0x152)};if(!this['isConnected'])return console['error'](_0x389c88['ePhOG']),![];try{const _0xab6f15=Array[_0x411871(0x197)](_0x1a6814)?_0x1a6814:[_0x1a6814];for(const _0x1288ab of _0xab6f15){await this[_0x411871(0x1ac)][_0x411871(0x1a5)]({'topic':_0x1288ab,'fromBeginning':_0x45bb46}),console['log'](_0x411871(0x1ad)+_0x1288ab+_0x411871(0x14f)+_0x45bb46+')');}return this[_0x411871(0x175)]=[...new Set([...this[_0x411871(0x175)],..._0xab6f15])],!![];}catch(_0x2de2dd){return console['error']('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x2de2dd[_0x411871(0x1b9)]),![];}}async['startConsuming'](_0x416507,_0xf7e6e8={}){const _0x4bd283=a0_0x3edea5,_0x1c1d84={'fqqWz':function(_0x280d4c,_0x2aec54){return _0x280d4c+_0x2aec54;},'ZVEis':function(_0x576dc5,_0x3e786b){return _0x576dc5(_0x3e786b);},'PYLiN':function(_0x3e8828){return _0x3e8828();},'xfHqY':'[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected','tqLzi':function(_0x4d7c90,_0x509a2e){return _0x4d7c90!==_0x509a2e;}};if(!this['isConnected'])return console[_0x4bd283(0x19d)](_0x1c1d84['xfHqY']),![];if(this[_0x4bd283(0x181)])return console[_0x4bd283(0x1bc)](_0x4bd283(0x1b0)),!![];const _0x30e922=this['getConfig']();this[_0x4bd283(0x170)]=_0x416507;try{return this[_0x4bd283(0x184)][_0x4bd283(0x1af)]=new Date(),await this[_0x4bd283(0x1ac)]['run']({'autoCommit':_0x1c1d84[_0x4bd283(0x182)](_0xf7e6e8[_0x4bd283(0x196)],undefined)?_0xf7e6e8['autoCommit']:_0x30e922[_0x4bd283(0x196)],'autoCommitInterval':_0x30e922['autoCommitInterval'],'eachMessage':async({topic:_0x4f1688,partition:_0x474407,message:_0x54a73a,heartbeat:_0x1133c7})=>{const _0x4355b0=_0x4bd283,_0x3c364c=Date['now']();this[_0x4355b0(0x184)][_0x4355b0(0x188)]++,this['metrics'][_0x4355b0(0x164)]=new Date();try{const _0x51ea3=_0x54a73a['value']?_0x54a73a['value'][_0x4355b0(0x1ba)]():null;let _0x328272=null;try{_0x328272=_0x51ea3?JSON['parse'](_0x51ea3):null;}catch(_0x9b276){_0x328272=_0x51ea3;}const _0x74ab4f={'topic':_0x4f1688,'partition':_0x474407,'offset':_0x54a73a['offset'],'key':_0x54a73a[_0x4355b0(0x17c)]?_0x54a73a[_0x4355b0(0x17c)][_0x4355b0(0x1ba)]():null,'headers':this[_0x4355b0(0x167)](_0x54a73a[_0x4355b0(0x14d)]),'timestamp':_0x54a73a['timestamp'],'value':_0x328272,'raw':_0x51ea3};this['messageHandler']&&await this[_0x4355b0(0x170)](_0x74ab4f);!_0x30e922['autoCommit']&&await this['consumer'][_0x4355b0(0x166)]([{'topic':_0x4f1688,'partition':_0x474407,'offset':_0x1c1d84['fqqWz'](_0x1c1d84['ZVEis'](parseInt,_0x54a73a[_0x4355b0(0x18b)]),0x1)[_0x4355b0(0x1ba)]()}]);this['metrics']['messagesProcessed']++;const _0x15dab1=Date[_0x4355b0(0x15e)]()-_0x3c364c;this['metrics'][_0x4355b0(0x19b)]['push'](_0x15dab1),this['metrics']['processingTimes']['length']>0x64&&this['metrics'][_0x4355b0(0x19b)][_0x4355b0(0x1ae)](),await _0x1c1d84[_0x4355b0(0x18f)](_0x1133c7);}catch(_0x442572){this['metrics']['messagesFailed']++,console['error']('[KafkaConsumer]\x20Message\x20processing\x20error:\x20'+_0x442572['message']);throw _0x442572;}}}),this[_0x4bd283(0x181)]=!![],console[_0x4bd283(0x1bc)](_0x4bd283(0x160)+this[_0x4bd283(0x175)]['join'](',\x20')),!![];}catch(_0x46934a){return console['error'](_0x4bd283(0x173)+_0x46934a['message']),![];}}['parseHeaders'](_0x5c38af){const _0x51d060=a0_0x3edea5;if(!_0x5c38af)return{};const _0x37a7c1={};for(const [_0x7ddabf,_0x52dd36]of Object[_0x51d060(0x1b3)](_0x5c38af)){_0x37a7c1[_0x7ddabf]=_0x52dd36?_0x52dd36[_0x51d060(0x1ba)]():null;}return _0x37a7c1;}async[a0_0x3edea5(0x19e)](){const _0x118bf8=a0_0x3edea5;if(!this[_0x118bf8(0x1a8)]||!this[_0x118bf8(0x181)])return console[_0x118bf8(0x1bc)](_0x118bf8(0x1c0)),![];if(this[_0x118bf8(0x185)])return console['log'](_0x118bf8(0x153)),!![];try{const _0x227dfd=this[_0x118bf8(0x175)]['map'](_0x4adf8c=>({'topic':_0x4adf8c}));return this['consumer']['pause'](_0x227dfd),this['isPaused']=!![],console[_0x118bf8(0x1bc)]('[KafkaConsumer]\x20Consumer\x20paused'),!![];}catch(_0x4fc5f7){return console[_0x118bf8(0x19d)](_0x118bf8(0x154)+_0x4fc5f7['message']),![];}}async['resume'](){const _0x515d25=a0_0x3edea5,_0xd861e1={'SWDCg':_0x515d25(0x191)};if(!this[_0x515d25(0x1a8)]||!this[_0x515d25(0x181)])return console['log'](_0xd861e1[_0x515d25(0x163)]),![];if(!this[_0x515d25(0x185)])return console['log']('[KafkaConsumer]\x20Consumer\x20not\x20paused'),!![];try{const _0x319fb3=this['subscribedTopics'][_0x515d25(0x158)](_0xbeaf2f=>({'topic':_0xbeaf2f}));return this['consumer'][_0x515d25(0x1bb)](_0x319fb3),this[_0x515d25(0x185)]=![],console['log']('[KafkaConsumer]\x20Consumer\x20resumed'),!![];}catch(_0x46e71a){return console['error'](_0x515d25(0x1b1)+_0x46e71a[_0x515d25(0x1b9)]),![];}}async[a0_0x3edea5(0x198)](){const _0x283d0c=a0_0x3edea5,_0x195626={'GeeIS':'0|2|4|5|1|3','SzPTN':'[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected'};if(!this['isConnected'])return console[_0x283d0c(0x1bc)]('[KafkaConsumer]\x20Consumer\x20not\x20connected'),!![];try{const _0x42731d=_0x195626[_0x283d0c(0x190)][_0x283d0c(0x150)]('|');let _0x25fd7e=0x0;while(!![]){switch(_0x42731d[_0x25fd7e++]){case'0':this['consumer']&&(await this['consumer']['stop'](),await this['consumer']['disconnect']());continue;case'1':console['log'](_0x195626[_0x283d0c(0x14a)]);continue;case'2':this[_0x283d0c(0x1a8)]=![];continue;case'3':return!![];case'4':this['isRunning']=![];continue;case'5':this[_0x283d0c(0x185)]=![];continue;}break;}}catch(_0x1a764c){return console['error']('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x1a764c[_0x283d0c(0x1b9)]),![];}}async['seekToOffset'](_0x4ee4cc,_0x4efb58,_0x124b17){const _0x5e72e6=a0_0x3edea5,_0x3b3469={'EVfwO':_0x5e72e6(0x169)};if(!this['isConnected'])return console[_0x5e72e6(0x19d)](_0x3b3469[_0x5e72e6(0x155)]),![];try{return this['consumer'][_0x5e72e6(0x18a)]({'topic':_0x4ee4cc,'partition':_0x4efb58,'offset':_0x124b17[_0x5e72e6(0x1ba)]()}),console[_0x5e72e6(0x1bc)](_0x5e72e6(0x1a1)+_0x124b17+'\x20on\x20'+_0x4ee4cc+':'+_0x4efb58),!![];}catch(_0xa4d8d9){return console[_0x5e72e6(0x19d)]('[KafkaConsumer]\x20Seek\x20error:\x20'+_0xa4d8d9['message']),![];}}['getStatus'](){const _0x60e9ec=a0_0x3edea5,_0x18fee4=this[_0x60e9ec(0x17f)]();return{'enabled':_0x18fee4['enabled'],'connected':this[_0x60e9ec(0x1a8)],'running':this['isRunning'],'paused':this['isPaused'],'brokers':_0x18fee4[_0x60e9ec(0x168)],'clientId':_0x18fee4['clientId'],'groupId':this[_0x60e9ec(0x176)],'subscribedTopics':this['subscribedTopics']};}[a0_0x3edea5(0x1a4)](){const _0x34d8c8=a0_0x3edea5,_0x219c76={'BvCLt':function(_0x4dee87,_0x2df04e){return _0x4dee87>_0x2df04e;},'mQzcB':function(_0xe7009c,_0x33498a){return _0xe7009c*_0x33498a;},'tTbwa':function(_0x43824f,_0x3dc79b){return _0x43824f+_0x3dc79b;},'rEmer':function(_0x250947,_0x5bb51f){return _0x250947/_0x5bb51f;},'Caarv':function(_0x4655d5,_0x1facdb){return _0x4655d5-_0x1facdb;}},_0x5c02ef=_0x219c76[_0x34d8c8(0x16d)](this[_0x34d8c8(0x184)][_0x34d8c8(0x19b)][_0x34d8c8(0x174)],0x0)?this[_0x34d8c8(0x184)][_0x34d8c8(0x19b)][_0x34d8c8(0x1b8)]((_0x605aab,_0x2ae180)=>_0x605aab+_0x2ae180,0x0)/this['metrics']['processingTimes']['length']:0x0,_0x4eb655=this[_0x34d8c8(0x184)][_0x34d8c8(0x19b)][_0x34d8c8(0x174)]>0x0?Math['min'](...this['metrics'][_0x34d8c8(0x19b)]):0x0,_0x150dd3=_0x219c76['BvCLt'](this[_0x34d8c8(0x184)][_0x34d8c8(0x19b)][_0x34d8c8(0x174)],0x0)?Math[_0x34d8c8(0x192)](...this['metrics'][_0x34d8c8(0x19b)]):0x0;return{'messagesReceived':this[_0x34d8c8(0x184)]['messagesReceived'],'messagesProcessed':this[_0x34d8c8(0x184)]['messagesProcessed'],'messagesFailed':this[_0x34d8c8(0x184)]['messagesFailed'],'successRate':this[_0x34d8c8(0x184)][_0x34d8c8(0x188)]>0x0?_0x219c76['mQzcB'](this[_0x34d8c8(0x184)]['messagesProcessed']/this['metrics']['messagesReceived'],0x64)[_0x34d8c8(0x1a6)](0x2)+'%':'0%','lastMessageTime':this[_0x34d8c8(0x184)][_0x34d8c8(0x164)],'startTime':this['metrics'][_0x34d8c8(0x1af)],'uptime':this[_0x34d8c8(0x184)][_0x34d8c8(0x1af)]?_0x219c76['tTbwa'](Math['floor'](_0x219c76['rEmer'](_0x219c76[_0x34d8c8(0x171)](Date['now'](),this['metrics']['startTime']['getTime']()),0x3e8)),'s'):'0s','processingTime':{'avg':Math[_0x34d8c8(0x17d)](_0x5c02ef)+'ms','min':_0x219c76[_0x34d8c8(0x156)](_0x4eb655,'ms'),'max':_0x150dd3+'ms'}};}['resetMetrics'](){const _0x297951=a0_0x3edea5;this[_0x297951(0x184)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x297951(0x181)]?new Date():null,'processingTimes':[]},console['log']('[KafkaConsumer]\x20Metrics\x20reset');}async['close'](){const _0x13641a=a0_0x3edea5;await this[_0x13641a(0x198)]();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}function createInstance(){return new KafkaConsumerService();}module[a0_0x3edea5(0x187)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x1c821d=a0_0xdf87;function a0_0x29b2(){const _0x4b581d=['zxjYB3i','wvrzsNO','s0fgs0fFuKvuuLLFrevmqvK','lxbYB2r1y2vY','Aw5PDgLHBgL6zq','zw5KCg9PBNq','yNjVA2vYCW','mJuWmda','ChjVzhvJzxi','mtaWma','DgfIBgvoyw1L','z2v0tg9Ntgv2zwW','s0fgs0fFru5bqKXfra','ChjVzhvJzxiUzgLZy29UBMvJDa','uKvtvezpuKDflq','s0fgs0fFu0fttf9nruniqu5ju00','zxz0lq','C3rYAw5NAwz5','s0fgs0fFu1nm','s29NBvu','Dhj1zq','zw52','Bg9N','s0fgs0fFuKvuuLLFqvruru1qvfm','AMfps2m','w0THzMTHxsbfDMvUDcbWDwjSAxnOzwqGDg8G','B2Xjt3m','y2XVC2u','Dg9vChbLCKnHC2u','z2v0sg91CNm','D2fYBG','zgrcqK0','y29UBMvJDgLVBLbYB21PC2u','Dg9WAwm','ndqWnte1mKDbtKLbBa','z2v0rgf0zq','CgfKu3rHCNq','ndm0mJi3oenlAKztAG','u1Ltvevn','C291CMnL','A2fMA2e','y29UBMvJDgLVBLrPBwvVDxq','mtm1mJy5nxLksvvvwq','z2v0q29UzMLN','z2v0tw9UDgG','AxndB25Uzwn0zwq','E2fJDgLVBN0','yNvPBgrfDMvUDe1LC3nHz2u','ntfOwwXJyMC','mZaWma','sfnWDhC','ntK1mJm0wNz1DxHv','C3bSAxq','D2TnuNO','w0THzMTHxsbqDwjSAxnOigvYCM9YihrVia','CNfpAwy','zxHWB3j0CW','Bg9JywXOB3n0oJKWoti','v0fstG','s0fgs0fFu0fttf9vu0vstKfnrq','s2fMA2eGChjVzhvJzxiGAxmGzgLZywjSzwq','AxnjBML0AwfSAxPPBMC','y2XPzw50swq','ru5usvrzx0nsrufuruq','ChvIBgLZAev2zw50','y29YCMvSyxrPB25jza','E21VzhvSzx0UE2vUzhbVAw50Fs5LDMvUDhm','zgvSzxrLza','zgvMyxvSDa','A2v5rMLLBgq','CMvWBgfJzq','Dw5RBM93BG','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwqGz3jHy2vMDwXSEq','zM9YBwf0rgf0zvrPBwu','w0THzMTHxsbqCM9KDwnLCIbJB25Uzwn0zwqGDg8GyNjVA2vYCZOG','CMvXDwvZDfrPBwvVDxq','wgjft3G','BwvZC2fNzq','mZmXmJzJBMnQCfm','zgLZy29UBMvJDa','Dg9WAwnqyxr0zxjU','E2vUzhbVAw50Fq','s0fgs0fFuKvrvuvtvf9usu1ft1vu','su5gtW','yNvPBgruB3bPy05HBwu','zw5HyMXLza','ChvIBgLZAerLBgv0zq','y3jLyxrLzej5','tK9useLorW','ru5usvrzx1vqrefuruq','s0fgs0fFte9hx0XfvKvm','mtiZmZi0mgzzrfn2yW','nJm1ndKZnMrqALDRyq','DgvUyw50swq','z2v0twLUDxrLCW'];a0_0x29b2=function(){return _0x4b581d;};return a0_0x29b2();}(function(_0x2fea31,_0x48bd81){const _0x1cabdb=a0_0xdf87,_0x518971=_0x2fea31();while(!![]){try{const _0x1266a9=parseInt(_0x1cabdb(0x22a))/0x1+parseInt(_0x1cabdb(0x245))/0x2*(-parseInt(_0x1cabdb(0x227))/0x3)+parseInt(_0x1cabdb(0x1f3))/0x4+-parseInt(_0x1cabdb(0x221))/0x5+parseInt(_0x1cabdb(0x21c))/0x6+-parseInt(_0x1cabdb(0x1f4))/0x7+parseInt(_0x1cabdb(0x219))/0x8;if(_0x1266a9===_0x48bd81)break;else _0x518971['push'](_0x518971['shift']());}catch(_0x39ad14){_0x518971['push'](_0x518971['shift']());}}}(a0_0x29b2,0xaf477));const {Kafka,logLevel,Partitioners}=require('kafkajs'),{v7:uuidv7}=require('uuid');class KafkaService{constructor(){const _0x34061b=a0_0xdf87;this[_0x34061b(0x21f)]=null,this['producer']=null,this[_0x34061b(0x224)]=![],this[_0x34061b(0x234)]=![],this['connectionPromise']=null;}[a0_0x1c821d(0x222)](){const _0x1b6f8f=a0_0x1c821d,_0x26663c={'PIwJP':function(_0x1d2f0c,_0x56c3f0){return _0x1d2f0c===_0x56c3f0;},'rqOif':_0x1b6f8f(0x20b),'jaOKc':'default','EInDK':function(_0x3f43f4,_0x3df693){return _0x3f43f4(_0x3df693);},'rWvBH':_0x1b6f8f(0x228),'KogmU':function(_0x1e05b4,_0x241780){return _0x1e05b4(_0x241780);},'itctP':_0x1b6f8f(0x1fe),'xZvZl':_0x1b6f8f(0x239),'UamMs':function(_0x3907a3,_0x1492fe){return _0x3907a3(_0x1492fe);},'PTRTC':function(_0x45a7b4,_0x541bcc){return _0x45a7b4(_0x541bcc);},'olIOs':_0x1b6f8f(0x200)};return{'enabled':_0x26663c['PIwJP'](process[_0x1b6f8f(0x20c)][_0x1b6f8f(0x203)],_0x26663c[_0x1b6f8f(0x22e)]),'brokers':(process['env']['KAFKA_BROKERS']||_0x1b6f8f(0x230))[_0x1b6f8f(0x22b)](','),'clientId':process[_0x1b6f8f(0x20c)]['KAFKA_CLIENT_ID']||'restforge-'+(process[_0x1b6f8f(0x20c)]['RESTFORGE_PROJECT_NAME']||_0x26663c[_0x1b6f8f(0x20f)])+_0x1b6f8f(0x1fa),'connectionTimeout':_0x26663c['EInDK'](parseInt,process['env']['KAFKA_CONNECTION_TIMEOUT']||_0x26663c['rWvBH']),'requestTimeout':_0x26663c[_0x1b6f8f(0x20a)](parseInt,process[_0x1b6f8f(0x20c)][_0x1b6f8f(0x249)]||_0x26663c['itctP']),'topicPattern':process['env']['KAFKA_TOPIC_PATTERN']||_0x26663c['xZvZl'],'tenantId':process[_0x1b6f8f(0x20c)]['KAFKA_TENANT_ID']||_0x1b6f8f(0x23b),'retryAttempts':_0x26663c['UamMs'](parseInt,process[_0x1b6f8f(0x20c)][_0x1b6f8f(0x20e)]||'3'),'retryDelay':_0x26663c['PTRTC'](parseInt,process['env'][_0x1b6f8f(0x1f9)]||_0x26663c[_0x1b6f8f(0x211)]),'logLevel':process[_0x1b6f8f(0x20c)][_0x1b6f8f(0x1f2)]||_0x1b6f8f(0x215)};}['getLogLevel'](_0x5cc12d){const _0x48bb36=a0_0x1c821d,_0x586fa9={'nothing':logLevel[_0x48bb36(0x1f0)],'error':logLevel['ERROR'],'warn':logLevel[_0x48bb36(0x231)],'info':logLevel[_0x48bb36(0x24a)],'debug':logLevel['DEBUG']};return _0x586fa9[_0x5cc12d['toLowerCase']()]||logLevel[_0x48bb36(0x231)];}async[a0_0x1c821d(0x1fb)](){const _0x410d4b=a0_0x1c821d,_0x25c6e8={'wmEko':'[Kafka]\x20Producer\x20disconnected','NJgAX':_0x410d4b(0x204),'atAOS':function(_0x3bce1a,_0x2704c3){return _0x3bce1a(_0x2704c3);},'DPQfu':'[Kafka]\x20Kafka\x20producer\x20is\x20disabled\x20in\x20configuration'},_0x78a2c=this[_0x410d4b(0x222)]();if(!_0x78a2c[_0x410d4b(0x24c)])return console['log'](_0x25c6e8['DPQfu']),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this[_0x410d4b(0x217)])return this[_0x410d4b(0x217)];return this[_0x410d4b(0x234)]=!![],this[_0x410d4b(0x217)]=new Promise(async _0x16f4aa=>{const _0x527b3d=_0x410d4b;try{let _0x5a4e43=undefined;process['env'][_0x527b3d(0x209)]===_0x527b3d(0x20b)&&(_0x5a4e43=!![]);let _0x77d362=undefined;process['env'][_0x527b3d(0x206)]&&(_0x77d362={'mechanism':process['env'][_0x527b3d(0x206)],'username':process[_0x527b3d(0x20c)][_0x527b3d(0x232)]||'','password':process['env']['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x78a2c[_0x527b3d(0x235)],'brokers':_0x78a2c['brokers'],'connectionTimeout':_0x78a2c[_0x527b3d(0x220)],'requestTimeout':_0x78a2c[_0x527b3d(0x242)],'logLevel':this[_0x527b3d(0x202)](_0x78a2c['logLevel']),'ssl':_0x5a4e43,'sasl':_0x77d362,'retry':{'initialRetryTime':_0x78a2c['retryDelay'],'retries':_0x78a2c['retryAttempts']}}),this['producer']=this['kafka']['producer']({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners['LegacyPartitioner']}),await this[_0x527b3d(0x1ff)]['connect'](),this[_0x527b3d(0x224)]=!![],console['log'](_0x527b3d(0x241)+_0x78a2c['brokers']['join'](',\x20')),this[_0x527b3d(0x1ff)]['on'](_0x25c6e8['NJgAX'],()=>{console['log'](_0x25c6e8['wmEko']),this['isConnected']=![];}),_0x16f4aa(!![]);}catch(_0x2c7b7c){console['error']('[Kafka]\x20Connection\x20failed:\x20'+_0x2c7b7c['message']),this['isConnected']=![],_0x25c6e8['atAOS'](_0x16f4aa,![]);}finally{this[_0x527b3d(0x234)]=![];}}),this[_0x410d4b(0x217)];}[a0_0x1c821d(0x240)](_0x223dd4){const _0xb70857=a0_0x1c821d,_0x4a1b4b={'XbEOx':function(_0x4a63ff,_0xbda6be){return _0x4a63ff(_0xbda6be);}},_0xdcfe0b=_0x223dd4||new Date(),_0x442403=_0xdcfe0b['getFullYear'](),_0x158172=_0x4a1b4b[_0xb70857(0x243)](String,_0xdcfe0b[_0xb70857(0x223)]()+0x1)[_0xb70857(0x21b)](0x2,'0'),_0x2ba6a1=_0x4a1b4b['XbEOx'](String,_0xdcfe0b[_0xb70857(0x21a)]())['padStart'](0x2,'0'),_0x7fdfbb=String(_0xdcfe0b[_0xb70857(0x214)]())['padStart'](0x2,'0'),_0x3e1354=_0x4a1b4b[_0xb70857(0x243)](String,_0xdcfe0b[_0xb70857(0x1f6)]())['padStart'](0x2,'0'),_0x52bcbe=String(_0xdcfe0b['getSeconds']())['padStart'](0x2,'0');return _0x442403+'-'+_0x158172+'-'+_0x2ba6a1+'\x20'+_0x7fdfbb+':'+_0x3e1354+':'+_0x52bcbe;}[a0_0x1c821d(0x24b)](_0x4e18cb,_0xc2c052,_0x2501b6,_0x1d73c6=null){const _0x67f544=a0_0x1c821d,_0x1f188c={'aHCKc':'{module}','hHerc':_0x67f544(0x225)};if(_0x1d73c6)return _0x1d73c6;const _0x1a68a2=this['getConfig']()[_0x67f544(0x247)];return _0x1a68a2[_0x67f544(0x23d)](_0x1f188c['aHCKc'],_0x4e18cb)[_0x67f544(0x23d)](_0x67f544(0x248),_0xc2c052)['replace'](_0x1f188c['hHerc'],_0x2501b6);}[a0_0x1c821d(0x226)](_0x20baf6,_0x2e275d,_0x31b8ce,_0x59b52b={}){const _0x623f76=a0_0x1c821d,_0x9efaef={'ddBBM':function(_0x3024a7){return _0x3024a7();},'wkMRz':_0x623f76(0x21d)},_0x3c49c5=new Date(),_0x467c53=this[_0x623f76(0x240)](_0x3c49c5),_0x3eee6c=_0x59b52b['correlationId']||'corr-'+_0x9efaef[_0x623f76(0x216)](uuidv7);return{'eventId':_0x623f76(0x207)+uuidv7(),'eventType':_0x20baf6,'eventTime':_0x467c53,'eventVersion':'1.0','source':'restforge-'+(_0x59b52b['module']||_0x623f76(0x23e)),'correlationId':_0x3eee6c,'newData':_0x31b8ce,'oldData':_0x2e275d,'metadata':{'createdBy':_0x59b52b[_0x623f76(0x1ef)]||_0x9efaef[_0x623f76(0x22c)],'createdAt':_0x467c53,'systemId':_0x623f76(0x205)+(_0x59b52b['module']||'unknown')[_0x623f76(0x213)](),'tenantId':this['getConfig']()[_0x623f76(0x1f5)],'endpoint':_0x59b52b[_0x623f76(0x1fc)]||null,'tableName':_0x59b52b[_0x623f76(0x201)]||null}};}async['publishEvent'](_0x1779e7,_0x194431,_0x2128e3,_0x563518,_0x459e3d={}){const _0x503c9b=a0_0x1c821d,_0x3eb7ae={'HSptw':'Failed\x20to\x20connect\x20to\x20Kafka\x20broker','CxAJd':function(_0x2a39a8,_0x220f2f){return _0x2a39a8(_0x220f2f);}},_0x157375=this[_0x503c9b(0x222)]();if(!_0x157375[_0x503c9b(0x24c)])return{'success':![],'reason':_0x503c9b(0x233),'published':![]};if(!this[_0x503c9b(0x224)]){const _0x3a7da4=await this[_0x503c9b(0x1fb)]();if(!_0x3a7da4)return{'success':![],'reason':_0x3eb7ae[_0x503c9b(0x229)],'published':![]};}try{const _0x107979=this['buildEventMessage'](_0x194431,_0x2128e3,_0x563518,_0x459e3d),_0x2d24ef=_0x459e3d['keyField']||'id',_0x4de1c3=_0x563518?.[_0x2d24ef]||_0x2128e3?.[_0x2d24ef]||uuidv7(),_0x504c9a=await this[_0x503c9b(0x1ff)]['send']({'topic':_0x1779e7,'messages':[{'key':_0x3eb7ae['CxAJd'](String,_0x4de1c3),'value':JSON[_0x503c9b(0x208)](_0x107979),'headers':{'event-type':_0x194431,'correlation-id':_0x107979['correlationId'],'source':_0x107979[_0x503c9b(0x21e)]}}]});return console[_0x503c9b(0x20d)](_0x503c9b(0x210)+_0x1779e7+':\x20'+_0x194431+'\x20(key:\x20'+_0x4de1c3+')'),{'success':!![],'correlationId':_0x107979[_0x503c9b(0x238)],'topic':_0x1779e7,'partition':_0x504c9a[0x0]?.['partition'],'offset':_0x504c9a[0x0]?.['baseOffset'],'published':!![]};}catch(_0x41fb1e){return console['error'](_0x503c9b(0x22d)+_0x1779e7+':\x20'+_0x41fb1e[_0x503c9b(0x244)]),{'success':![],'error':_0x41fb1e[_0x503c9b(0x244)],'published':![]};}}async['publishInsert'](_0x23383f,_0x1cd357,_0xd40ebf,_0x353baa={}){const _0x4c27fe=a0_0x1c821d,_0x5152cb={'aXFIY':'created','XWdhM':_0x4c27fe(0x236)},_0x2adac7=this['buildTopicName'](_0x23383f,_0x1cd357,_0x5152cb['aXFIY'],_0x353baa[_0x4c27fe(0x218)]);return this[_0x4c27fe(0x237)](_0x2adac7,_0x5152cb['XWdhM'],null,_0xd40ebf,{'module':_0x23383f,'endpoint':_0x1cd357,'keyField':_0x353baa[_0x4c27fe(0x23c)],'tableName':_0x353baa[_0x4c27fe(0x201)],'correlationId':_0x353baa[_0x4c27fe(0x238)]});}async['publishUpdate'](_0x43a917,_0x53fd86,_0x4b39ef,_0x2b9dad,_0x6a30ce={}){const _0x5de676=a0_0x1c821d,_0x4e5900=this[_0x5de676(0x24b)](_0x43a917,_0x53fd86,'updated',_0x6a30ce[_0x5de676(0x218)]);return this['publishEvent'](_0x4e5900,_0x5de676(0x1f1),_0x4b39ef,_0x2b9dad,{'module':_0x43a917,'endpoint':_0x53fd86,'keyField':_0x6a30ce[_0x5de676(0x23c)],'tableName':_0x6a30ce[_0x5de676(0x201)],'correlationId':_0x6a30ce[_0x5de676(0x238)]});}async[a0_0x1c821d(0x24d)](_0x1e2ad9,_0xe52561,_0x2f78c4,_0xe33d89={}){const _0x1be77f=a0_0x1c821d,_0x18343c={'YTYJz':'ENTITY_DELETED'},_0x5ebc5f=this['buildTopicName'](_0x1e2ad9,_0xe52561,_0x1be77f(0x23a),_0xe33d89['topic']);return this['publishEvent'](_0x5ebc5f,_0x18343c[_0x1be77f(0x1f8)],_0x2f78c4,null,{'module':_0x1e2ad9,'endpoint':_0xe52561,'keyField':_0xe33d89['keyField'],'tableName':_0xe33d89['tableName'],'correlationId':_0xe33d89[_0x1be77f(0x238)]});}['getStatus'](){const _0x2fea81=a0_0x1c821d,_0x410f14=this[_0x2fea81(0x222)]();return{'enabled':_0x410f14['enabled'],'connected':this[_0x2fea81(0x224)],'brokers':_0x410f14[_0x2fea81(0x1fd)],'clientId':_0x410f14[_0x2fea81(0x235)],'topicPattern':_0x410f14[_0x2fea81(0x247)]};}async[a0_0x1c821d(0x212)](){const _0x109dd1=a0_0x1c821d;if(this[_0x109dd1(0x1ff)]&&this[_0x109dd1(0x224)])try{await this[_0x109dd1(0x1ff)][_0x109dd1(0x246)](),this[_0x109dd1(0x224)]=![],console[_0x109dd1(0x20d)](_0x109dd1(0x23f));}catch(_0x5854c1){console[_0x109dd1(0x1f7)]('[Kafka]\x20Error\x20disconnecting:\x20'+_0x5854c1['message']);}}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}function a0_0xdf87(_0x101a41,_0x2e3e89){_0x101a41=_0x101a41-0x1ef;const _0x29b2fd=a0_0x29b2();let _0xdf87cc=_0x29b2fd[_0x101a41];if(a0_0xdf87['qwnwXk']===undefined){var _0xe34ca3=function(_0x3844f9){const _0x18485a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x39b5fd='',_0x356dfa='';for(let _0x312462=0x0,_0x118beb,_0x8ae482,_0x33d58b=0x0;_0x8ae482=_0x3844f9['charAt'](_0x33d58b++);~_0x8ae482&&(_0x118beb=_0x312462%0x4?_0x118beb*0x40+_0x8ae482:_0x8ae482,_0x312462++%0x4)?_0x39b5fd+=String['fromCharCode'](0xff&_0x118beb>>(-0x2*_0x312462&0x6)):0x0){_0x8ae482=_0x18485a['indexOf'](_0x8ae482);}for(let _0x1ef883=0x0,_0x27fe32=_0x39b5fd['length'];_0x1ef883<_0x27fe32;_0x1ef883++){_0x356dfa+='%'+('00'+_0x39b5fd['charCodeAt'](_0x1ef883)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x356dfa);};a0_0xdf87['qgXZpI']=_0xe34ca3,a0_0xdf87['OzlBPW']={},a0_0xdf87['qwnwXk']=!![];}const _0x196a31=_0x29b2fd[0x0],_0x3d85ac=_0x101a41+_0x196a31,_0x1df6d7=a0_0xdf87['OzlBPW'][_0x3d85ac];return!_0x1df6d7?(_0xdf87cc=a0_0xdf87['qgXZpI'](_0xdf87cc),a0_0xdf87['OzlBPW'][_0x3d85ac]=_0xdf87cc):_0xdf87cc=_0x1df6d7,_0xdf87cc;}module[a0_0x1c821d(0x22f)]={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};
|
|
1
|
+
const a0_0x2f715a=a0_0x3f98;(function(_0x7930c1,_0x5aec74){const _0x588c3d=a0_0x3f98,_0x2531ad=_0x7930c1();while(!![]){try{const _0x49ce60=-parseInt(_0x588c3d(0x113))/0x1*(-parseInt(_0x588c3d(0x10b))/0x2)+-parseInt(_0x588c3d(0xdf))/0x3+parseInt(_0x588c3d(0xf3))/0x4*(-parseInt(_0x588c3d(0x114))/0x5)+-parseInt(_0x588c3d(0xf1))/0x6+-parseInt(_0x588c3d(0x120))/0x7+-parseInt(_0x588c3d(0x103))/0x8+-parseInt(_0x588c3d(0xe7))/0x9*(-parseInt(_0x588c3d(0x112))/0xa);if(_0x49ce60===_0x5aec74)break;else _0x2531ad['push'](_0x2531ad['shift']());}catch(_0x1ec19b){_0x2531ad['push'](_0x2531ad['shift']());}}}(a0_0x7558,0xc2a15));function a0_0x7558(){const _0x4f38c3=['mJy3mZG0mfjmsNvAuW','yNjVA2vYCW','zw52','y29UBMvJDgLVBLbYB21PC2u','Dhj1zq','yNvPBgruB3bPy05HBwu','Bw9KDwXL','A2v5rMLLBgq','ovjkBe53tW','yMfZzu9MzNnLDa','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwq','z2v0q29UzMLN','z2v0tg9Ntgv2zwW','C2vUza','v2nPr0e','DgfIBgvoyw1L','zLfmDMC','C3bSAxq','mZyZnJKWmgDVv2fLvW','ChjVzhvJzxi','mJaWogPzDwz2Aq','Dg9WAwm','u1Ltvevn','rMfPBgvKihrVignVBM5Ly3qGDg8Gs2fMA2eGyNjVA2vY','AxndB25Uzwn0zwq','Bg9JywXOB3n0oJKWoti','BwvZC2fNzq','CMvZDgzVCMDLlq','ChjVzhvJzxiUzgLZy29UBMvJDa','z2v0tw9UDgG','whzoy0O','E2fJDgLVBN0','zxz0lq','tLLuEeW','s0fgs0fFte9hx0XfvKvm','rvjst1i','mtqWmZCYognArKrVCa','s0fgs0fFuKvuuLLFqvruru1qvfm','s0fgs0fFu0fttf9nruniqu5ju00','y3jLyxrLzej5','Dg9WAwnqyxr0zxjU','zM9YBwf0rgf0zvrPBwu','zw5KCg9PBNq','su5gtW','mtq4mdrSsKTSweq','vMvrsgO','rMPPq3e','y29YCMvSyxrPB25jza','mtaWma','zxHWB3j0CW','Bg9N','ndCYmZCYntbysgXfsgS','oxrVtLj0yG','mtu2mdvuCfL6wgG','s05Luw8','z2v0u2vJB25KCW','v0fstG','zgvSzxrLza','Bg9Ntgv2zwW','y29YCI0','Dw5RBM93BG','y3jLyxrLza','s0fgs0fFve9qsunFuefuvevstG','Aw5PDgLHBgL6zq','yNvPBgrfDMvUDe1LC3nHz2u','nti3nduWmhD5rLnqtG','zxjYB3i','ChvIBgLZAev2zw50','C3rYAw5NAwz5','tLLXq08','y2XVC2u','y2XPzw50swq','CezLugy','uxHPu0e','z2v0rNvSBfLLyxi','CMv0CNLezwXHEq','AxnjBML0AwfSAxPPBMC','zw5HyMXLza','w0THzMTHxsbfCNjVCIbKAxnJB25Uzwn0Aw5NoIa','BvbKEMe','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwqGz3jHy2vMDwXSEq','CgfKu3rHCNq','y29UBMvJDa','mJuWmda','zgvMyxvSDa','y29UBMvJDgLVBLrPBwvVDxq','A2fMA2fQCW','E21VzhvSzx0','s0fgs0fFru5bqKXfra','w0THzMTHxsbqCM9KDwnLCIbJB25Uzwn0zwqGDg8GyNjVA2vYCZOG','ANnoDem','ru5usvrzx0nsrufuruq','DgvUyw50swq','Dg9vChbLCKnHC2u','twTctKe','s0fgs0fFqLjps0vsuW'];a0_0x7558=function(){return _0x4f38c3;};return a0_0x7558();}const {Kafka,logLevel,Partitioners}=require(a0_0x2f715a(0x135)),{v7:uuidv7}=require('uuid');function a0_0x3f98(_0x39a84e,_0x4115a7){_0x39a84e=_0x39a84e-0xd6;const _0x755867=a0_0x7558();let _0x3f98cb=_0x755867[_0x39a84e];if(a0_0x3f98['JVPGOC']===undefined){var _0x19d32d=function(_0x28bfba){const _0x39c0d4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x327691='',_0xbc76f4='';for(let _0x4a91da=0x0,_0x481897,_0x36c5fc,_0x2b5350=0x0;_0x36c5fc=_0x28bfba['charAt'](_0x2b5350++);~_0x36c5fc&&(_0x481897=_0x4a91da%0x4?_0x481897*0x40+_0x36c5fc:_0x36c5fc,_0x4a91da++%0x4)?_0x327691+=String['fromCharCode'](0xff&_0x481897>>(-0x2*_0x4a91da&0x6)):0x0){_0x36c5fc=_0x39c0d4['indexOf'](_0x36c5fc);}for(let _0x2b4172=0x0,_0x1bea73=_0x327691['length'];_0x2b4172<_0x1bea73;_0x2b4172++){_0xbc76f4+='%'+('00'+_0x327691['charCodeAt'](_0x2b4172)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xbc76f4);};a0_0x3f98['LLUmFB']=_0x19d32d,a0_0x3f98['zchAwW']={},a0_0x3f98['JVPGOC']=!![];}const _0x2e0998=_0x755867[0x0],_0x5f534d=_0x39a84e+_0x2e0998,_0x2a0610=a0_0x3f98['zchAwW'][_0x5f534d];return!_0x2a0610?(_0x3f98cb=a0_0x3f98['LLUmFB'](_0x3f98cb),a0_0x3f98['zchAwW'][_0x5f534d]=_0x3f98cb):_0x3f98cb=_0x2a0610,_0x3f98cb;}class KafkaService{constructor(){const _0xb41cb9=a0_0x2f715a;this['kafka']=null,this['producer']=null,this['isConnected']=![],this[_0xb41cb9(0x12b)]=![],this[_0xb41cb9(0xe2)]=null;}['getConfig'](){const _0x24773a=a0_0x2f715a,_0x5064f2={'mPdza':function(_0x41f5cf,_0x414250){return _0x41f5cf===_0x414250;},'scbXy':'true','VeQHj':_0x24773a(0xf8),'XvNcJ':_0x24773a(0x133),'WciGA':function(_0x52287a,_0x441d0b){return _0x52287a(_0x441d0b);},'XDypv':_0x24773a(0x132),'FjiCq':_0x24773a(0x10f)};return{'enabled':_0x5064f2[_0x24773a(0x12e)](process['env'][_0x24773a(0xd7)],_0x5064f2['scbXy']),'brokers':(process[_0x24773a(0xe1)][_0x24773a(0xde)]||_0x5064f2[_0x24773a(0x10c)])[_0x24773a(0xf0)](','),'clientId':process[_0x24773a(0xe1)]['KAFKA_CLIENT_ID']||_0x24773a(0xfa)+(process['env']['RESTFORGE_PROJECT_NAME']||_0x5064f2['XvNcJ'])+'-producer','connectionTimeout':parseInt(process[_0x24773a(0xe1)]['KAFKA_CONNECTION_TIMEOUT']||'3000'),'requestTimeout':_0x5064f2[_0x24773a(0xed)](parseInt,process[_0x24773a(0xe1)]['KAFKA_REQUEST_TIMEOUT']||_0x5064f2['XDypv']),'topicPattern':process['env'][_0x24773a(0x11d)]||'{module}.{endpoint}.events','tenantId':process[_0x24773a(0xe1)]['KAFKA_TENANT_ID']||_0x5064f2[_0x24773a(0xfd)],'retryAttempts':parseInt(process['env'][_0x24773a(0x104)]||'3'),'retryDelay':parseInt(process[_0x24773a(0xe1)]['KAFKA_RETRY_DELAY']||_0x5064f2[_0x24773a(0x10d)]),'logLevel':process[_0x24773a(0xe1)][_0x24773a(0x101)]||'warn'};}[a0_0x2f715a(0xeb)](_0x2ecd69){const _0x3fcd8c=a0_0x2f715a,_0x393ae2={'nothing':logLevel['NOTHING'],'error':logLevel[_0x3fcd8c(0x102)],'warn':logLevel[_0x3fcd8c(0x117)],'info':logLevel[_0x3fcd8c(0x10a)],'debug':logLevel['DEBUG']};return _0x393ae2[_0x2ecd69['toLowerCase']()]||logLevel[_0x3fcd8c(0x117)];}async[a0_0x2f715a(0x11e)](){const _0x14f923=a0_0x2f715a,_0x55e505={'ynWxn':function(_0x22b5ff,_0x2c84a9){return _0x22b5ff===_0x2c84a9;},'NYTxL':'[Kafka]\x20Kafka\x20producer\x20is\x20disabled\x20in\x20configuration'},_0x3983fb=this[_0x14f923(0xea)]();if(!_0x3983fb['enabled'])return console['log'](_0x55e505[_0x14f923(0x100)]),![];if(this[_0x14f923(0xf7)])return!![];if(this[_0x14f923(0x12b)]&&this['connectionPromise'])return this[_0x14f923(0xe2)];return this[_0x14f923(0x12b)]=!![],this[_0x14f923(0xe2)]=new Promise(async _0x3d89fe=>{const _0x47d9bc=_0x14f923;try{let _0x496bb4=undefined;_0x55e505['ynWxn'](process['env']['KAFKA_SSL'],_0x47d9bc(0xe3))&&(_0x496bb4=!![]);let _0xf9dc3=undefined;process[_0x47d9bc(0xe1)][_0x47d9bc(0x105)]&&(_0xf9dc3={'mechanism':process['env']['KAFKA_SASL_MECHANISM'],'username':process[_0x47d9bc(0xe1)]['KAFKA_SASL_USERNAME']||'','password':process[_0x47d9bc(0xe1)]['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x3983fb['clientId'],'brokers':_0x3983fb['brokers'],'connectionTimeout':_0x3983fb[_0x47d9bc(0x134)],'requestTimeout':_0x3983fb['requestTimeout'],'logLevel':this[_0x47d9bc(0xeb)](_0x3983fb[_0x47d9bc(0x119)]),'ssl':_0x496bb4,'sasl':_0xf9dc3,'retry':{'initialRetryTime':_0x3983fb[_0x47d9bc(0x12a)],'retries':_0x3983fb['retryAttempts']}}),this[_0x47d9bc(0xf2)]=this['kafka'][_0x47d9bc(0xf2)]({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners['LegacyPartitioner']}),await this['producer'][_0x47d9bc(0x131)](),this['isConnected']=!![],console['log'](_0x47d9bc(0xd8)+_0x3983fb[_0x47d9bc(0xe0)]['join'](',\x20')),this['producer']['on'](_0x47d9bc(0xfb),()=>{const _0x3dc9e6=_0x47d9bc;console[_0x3dc9e6(0x111)](_0x3dc9e6(0xe9)),this[_0x3dc9e6(0xf7)]=![];}),_0x3d89fe(!![]);}catch(_0x44be4b){console['error']('[Kafka]\x20Connection\x20failed:\x20'+_0x44be4b[_0x47d9bc(0xf9)]),this[_0x47d9bc(0xf7)]=![],_0x3d89fe(![]);}finally{this['isInitializing']=![];}}),this['connectionPromise'];}['formatDateTime'](_0x41f6aa){const _0x4384f3=a0_0x2f715a,_0x5204e8={'CIHtt':function(_0x4a4ac9,_0x34f79d){return _0x4a4ac9(_0x34f79d);},'MkBNA':function(_0x2473cc,_0x21e83f){return _0x2473cc(_0x21e83f);},'QxiSA':function(_0x28362c,_0x45619f){return _0x28362c(_0x45619f);}},_0x39cad1=_0x41f6aa||new Date(),_0x47cf06=_0x39cad1[_0x4384f3(0x129)](),_0x4023ce=String(_0x39cad1[_0x4384f3(0xfc)]()+0x1)[_0x4384f3(0x130)](0x2,'0'),_0x147cd5=String(_0x39cad1['getDate']())['padStart'](0x2,'0'),_0x1de909=_0x5204e8['CIHtt'](String,_0x39cad1['getHours']())[_0x4384f3(0x130)](0x2,'0'),_0x4205be=_0x5204e8[_0x4384f3(0xdd)](String,_0x39cad1['getMinutes']())[_0x4384f3(0x130)](0x2,'0'),_0x3d2026=_0x5204e8[_0x4384f3(0x128)](String,_0x39cad1[_0x4384f3(0x116)]())['padStart'](0x2,'0');return _0x47cf06+'-'+_0x4023ce+'-'+_0x147cd5+'\x20'+_0x1de909+':'+_0x4205be+':'+_0x3d2026;}[a0_0x2f715a(0xe4)](_0x543454,_0x3f0641,_0x261cad,_0x395a5c=null){const _0x5f4cd1=a0_0x2f715a,_0x3f58e2={'jsNtC':_0x5f4cd1(0xd6),'xQjsj':_0x5f4cd1(0xfe)};if(_0x395a5c)return _0x395a5c;const _0x5208bb=this['getConfig']()['topicPattern'];return _0x5208bb['replace'](_0x3f58e2[_0x5f4cd1(0xd9)],_0x543454)['replace']('{endpoint}',_0x3f0641)['replace'](_0x3f58e2['xQjsj'],_0x261cad);}['buildEventMessage'](_0x5f1b30,_0x5f0d41,_0x50442f,_0x2295e4={}){const _0x56f0d=a0_0x2f715a,_0x27a20e={'KNeQo':_0x56f0d(0x11b)},_0x16c802=new Date(),_0x58b1ec=this[_0x56f0d(0x108)](_0x16c802),_0x404aa7=_0x2295e4[_0x56f0d(0x10e)]||_0x56f0d(0x11a)+uuidv7();return{'eventId':_0x56f0d(0xff)+uuidv7(),'eventType':_0x5f1b30,'eventTime':_0x58b1ec,'eventVersion':'1.0','source':'restforge-'+(_0x2295e4['module']||_0x56f0d(0x11b)),'correlationId':_0x404aa7,'newData':_0x50442f,'oldData':_0x5f0d41,'metadata':{'createdBy':_0x2295e4[_0x56f0d(0x106)]||_0x56f0d(0xf5),'createdAt':_0x58b1ec,'systemId':'RESTFORGE-'+(_0x2295e4[_0x56f0d(0xe5)]||_0x27a20e[_0x56f0d(0x115)])[_0x56f0d(0xdc)](),'tenantId':this[_0x56f0d(0xea)]()[_0x56f0d(0xdb)],'endpoint':_0x2295e4[_0x56f0d(0x109)]||null,'tableName':_0x2295e4[_0x56f0d(0xee)]||null}};}async[a0_0x2f715a(0x122)](_0x385693,_0x3b0015,_0x26628c,_0x3d3ede,_0x39f355={}){const _0x2c0c12=a0_0x2f715a,_0x40903c={'yzEoN':_0x2c0c12(0xf6),'fQLvg':function(_0x1acf3d){return _0x1acf3d();}},_0x152553=this[_0x2c0c12(0xea)]();if(!_0x152553['enabled'])return{'success':![],'reason':'Kafka\x20producer\x20is\x20disabled','published':![]};if(!this['isConnected']){const _0x1338a7=await this[_0x2c0c12(0x11e)]();if(!_0x1338a7)return{'success':![],'reason':_0x40903c['yzEoN'],'published':![]};}try{const _0x425bcd=this[_0x2c0c12(0x11f)](_0x3b0015,_0x26628c,_0x3d3ede,_0x39f355),_0x590cc2=_0x39f355[_0x2c0c12(0xe6)]||'id',_0x4e6fb1=_0x3d3ede?.[_0x590cc2]||_0x26628c?.[_0x590cc2]||_0x40903c[_0x2c0c12(0xef)](uuidv7),_0xd4d45e=await this['producer'][_0x2c0c12(0xec)]({'topic':_0x385693,'messages':[{'key':String(_0x4e6fb1),'value':JSON[_0x2c0c12(0x123)](_0x425bcd),'headers':{'event-type':_0x3b0015,'correlation-id':_0x425bcd['correlationId'],'source':_0x425bcd['source']}}]});return console['log']('[Kafka]\x20Event\x20published\x20to\x20'+_0x385693+':\x20'+_0x3b0015+'\x20(key:\x20'+_0x4e6fb1+')'),{'success':!![],'correlationId':_0x425bcd['correlationId'],'topic':_0x385693,'partition':_0xd4d45e[0x0]?.['partition'],'offset':_0xd4d45e[0x0]?.[_0x2c0c12(0xe8)],'published':!![]};}catch(_0x28ec1f){return console['error']('[Kafka]\x20Publish\x20error\x20to\x20'+_0x385693+':\x20'+_0x28ec1f[_0x2c0c12(0xf9)]),{'success':![],'error':_0x28ec1f['message'],'published':![]};}}async['publishInsert'](_0x5d091f,_0x5a5972,_0x47ed4b,_0x1cd276={}){const _0xccee92=a0_0x2f715a,_0x3a8aab={'pFePf':_0xccee92(0xda)},_0xe41e5c=this[_0xccee92(0xe4)](_0x5d091f,_0x5a5972,_0xccee92(0x11c),_0x1cd276['topic']);return this[_0xccee92(0x122)](_0xe41e5c,_0x3a8aab[_0xccee92(0x127)],null,_0x47ed4b,{'module':_0x5d091f,'endpoint':_0x5a5972,'keyField':_0x1cd276['keyField'],'tableName':_0x1cd276[_0xccee92(0xee)],'correlationId':_0x1cd276['correlationId']});}async['publishUpdate'](_0x6cfe3e,_0x119228,_0x2f513f,_0x46a0f7,_0x54c6f1={}){const _0x3dd2dc=a0_0x2f715a,_0x196899=this['buildTopicName'](_0x6cfe3e,_0x119228,'updated',_0x54c6f1[_0x3dd2dc(0xf4)]);return this[_0x3dd2dc(0x122)](_0x196899,'ENTITY_UPDATED',_0x2f513f,_0x46a0f7,{'module':_0x6cfe3e,'endpoint':_0x119228,'keyField':_0x54c6f1['keyField'],'tableName':_0x54c6f1[_0x3dd2dc(0xee)],'correlationId':_0x54c6f1['correlationId']});}async['publishDelete'](_0x1d3ca7,_0x2b4d60,_0x5b3998,_0x1411d4={}){const _0x2e6c9a=a0_0x2f715a,_0x2ceeca={'NYqCO':'ENTITY_DELETED'},_0x7a8395=this['buildTopicName'](_0x1d3ca7,_0x2b4d60,_0x2e6c9a(0x118),_0x1411d4['topic']);return this['publishEvent'](_0x7a8395,_0x2ceeca[_0x2e6c9a(0x124)],_0x5b3998,null,{'module':_0x1d3ca7,'endpoint':_0x2b4d60,'keyField':_0x1411d4[_0x2e6c9a(0xe6)],'tableName':_0x1411d4[_0x2e6c9a(0xee)],'correlationId':_0x1411d4['correlationId']});}['getStatus'](){const _0x249dac=a0_0x2f715a,_0x3ce2b7=this['getConfig']();return{'enabled':_0x3ce2b7[_0x249dac(0x12c)],'connected':this[_0x249dac(0xf7)],'brokers':_0x3ce2b7['brokers'],'clientId':_0x3ce2b7[_0x249dac(0x126)],'topicPattern':_0x3ce2b7[_0x249dac(0x107)]};}async[a0_0x2f715a(0x125)](){const _0x5a352b=a0_0x2f715a;if(this[_0x5a352b(0xf2)]&&this['isConnected'])try{await this['producer']['disconnect'](),this[_0x5a352b(0xf7)]=![],console['log'](_0x5a352b(0x12f));}catch(_0x1e642e){console[_0x5a352b(0x121)](_0x5a352b(0x12d)+_0x1e642e['message']);}}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}module[a0_0x2f715a(0x110)]={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0xeb6e32=a0_0x5ded;(function(_0x3262d7,_0x187fa2){const _0x5e4c87=a0_0x5ded,_0x30330b=_0x3262d7();while(!![]){try{const _0x27ab70=parseInt(_0x5e4c87(0xe3))/0x1+parseInt(_0x5e4c87(0x11e))/0x2*(-parseInt(_0x5e4c87(0xf1))/0x3)+-parseInt(_0x5e4c87(0xca))/0x4*(parseInt(_0x5e4c87(0xdb))/0x5)+parseInt(_0x5e4c87(0xf0))/0x6*(-parseInt(_0x5e4c87(0x120))/0x7)+parseInt(_0x5e4c87(0xeb))/0x8+-parseInt(_0x5e4c87(0x11d))/0x9+-parseInt(_0x5e4c87(0x112))/0xa*(-parseInt(_0x5e4c87(0x106))/0xb);if(_0x27ab70===_0x187fa2)break;else _0x30330b['push'](_0x30330b['shift']());}catch(_0x5d3bb1){_0x30330b['push'](_0x30330b['shift']());}}}(a0_0x5d99,0x899b0));const dotenv=require('dotenv'),path=require('path'),fs=require('fs'),{v7:uuidv7}=require(a0_0xeb6e32(0x111));dotenv[a0_0xeb6e32(0xce)]();let MessageHub;try{const messagehubPath=path['resolve'](__dirname,'../../js/messagehub.js');if(fs['existsSync'](messagehubPath))MessageHub=require(messagehubPath),console['log']('MessageHub\x20SDK\x20found\x20at\x20'+messagehubPath);else throw new Error('MessageHub\x20SDK\x20not\x20found\x20at\x20'+messagehubPath);}catch(a0_0x42eb6e){console[a0_0xeb6e32(0xd4)]('Error\x20loading\x20MessageHub\x20SDK:\x20'+a0_0x42eb6e['message']);throw a0_0x42eb6e;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function log(_0x13dfe0){const _0x5d223c=a0_0xeb6e32,_0x2425b2=new Date()[_0x5d223c(0xfc)]();console[_0x5d223c(0x121)]('['+_0x2425b2+']\x20'+_0x13dfe0);}function a0_0x5ded(_0x3cf9dd,_0x26e7ea){_0x3cf9dd=_0x3cf9dd-0xbf;const _0x5d9937=a0_0x5d99();let _0x5ded5b=_0x5d9937[_0x3cf9dd];if(a0_0x5ded['NeOfSb']===undefined){var _0x5a8f23=function(_0x30bf13){const _0x33c38c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4c2ca8='',_0x187d80='';for(let _0x26bb85=0x0,_0x588144,_0x4f5d92,_0x1fb170=0x0;_0x4f5d92=_0x30bf13['charAt'](_0x1fb170++);~_0x4f5d92&&(_0x588144=_0x26bb85%0x4?_0x588144*0x40+_0x4f5d92:_0x4f5d92,_0x26bb85++%0x4)?_0x4c2ca8+=String['fromCharCode'](0xff&_0x588144>>(-0x2*_0x26bb85&0x6)):0x0){_0x4f5d92=_0x33c38c['indexOf'](_0x4f5d92);}for(let _0x4f0140=0x0,_0x21111e=_0x4c2ca8['length'];_0x4f0140<_0x21111e;_0x4f0140++){_0x187d80+='%'+('00'+_0x4c2ca8['charCodeAt'](_0x4f0140)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x187d80);};a0_0x5ded['QSLWEv']=_0x5a8f23,a0_0x5ded['kLTXgk']={},a0_0x5ded['NeOfSb']=!![];}const _0x1f779b=_0x5d9937[0x0],_0x48a7d0=_0x3cf9dd+_0x1f779b,_0x16ee33=a0_0x5ded['kLTXgk'][_0x48a7d0];return!_0x16ee33?(_0x5ded5b=a0_0x5ded['QSLWEv'](_0x5ded5b),a0_0x5ded['kLTXgk'][_0x48a7d0]=_0x5ded5b):_0x5ded5b=_0x16ee33,_0x5ded5b;}function a0_0x5d99(){const _0x4bf292=['mJfStNLIvMi','Bg9N','tvnivujFu1vcu0nssujfx0Tfwq','y2f0zwDVCNK','Bvrkyw0','BML3AuW','A05JBhu','C3rYAw5NAwz5','tvnivujFq09ntvvosunbveLptL9uwvbf','8j+tPcbqzxnHBIbIzxjOyxnPBcbKAwTPCMLTisbszxf1zxn0suq6ia','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUignSB3nLkcK','8j+tQsblB25MAxjTyxnPoIbqzxnHBIa','twvZC2fNzsbZzw50ihn1y2nLC3nMDwXSEsb0BYb0B3bPyYa','igrPDgvYAw1Hig9SzwGG','DvLhBLe','mJbLA1nmCLm','zgLZy29UBMvJDgvK','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0','vu1Wu0S','y29UzMLN','CNPJs3m','zxDKvxG','pt09pt09ierbveeGufvcteLtscbnrvntquDfid09pt09pq','twvZC2fNzuH1yIbZDwrHAcb0zxjODwj1BMCSig1LBMDNDw5HA2fUigTVBMvRC2KGEwfUzYbHzge','vhD6q3u','zxjYB3i','tvnivujFqvbjx1bpuLq','qw5OC1G','y29TBxvUAwnHDgLVBLr5Cgu','EMDiCfe','BwvZC2fNzs1Zzw50','BvPiEfq','mta5mtG0mhbfsfLKua','tvnivujFse9tva','BMfTzq','vgvYChv0DxmGzgfYAsbZzxj2zxiUiefSyxnHBJOG','s29UzwTZAsbnzxnZywDLshvIihnLzgfUzYbIzxjSyw5NC3vUzYWGBwvUDw5Nz3uUlI4','zNvUy3rPB24','u1HdtxG','zw52','mJiZodK0wKn3yKPN','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pq','s29UzwTZAsb0zxjWDxr1CZOG','uM91wxu','t3DzD1u','AxnfCNjVCLjLBgf0zwq','D2Hdse8','twvZC2fNzsbZzw50ihn1y2nLC3nMDwXSEq','nZK4ntC2oej6tMLyrG','s29UzMLNDxjHC2KGugXHDgzVCM06ia','y2XLyxjdywnOzq','zxjYB3jezxrHAwW','twvZC2fNzsbuExbLoIa','mtCZodq1mLvUz2v6Ca','m3rdt2HxuW','y0H0zey','DuPItfK','y2XVC2u','vw5RBM93BG','yNfLEMG','teDdvNi','y29UBMvJDgvK','thrbCfi','CMvJzwL2zxjjBMzV','t3rMrMO','Dg9ju09tDhjPBMC','q2HHBM5LBcbuyxjNzxq6ia','vgLKywSGzgfWyxqGBwvUzw11A2fUig1LDg9Kzsb1BNr1AYbTzw51DhvWigTVBMvRC2KGtwvZC2fNzuH1yG','rejJwxe','4PQG77IpifrPBwvVDxq6ifrPzgfRigrHCgf0ihrLCMH1yNvUzYbRzsbnzxnZywDLshvIihnLCNzLCIbKywXHBsb3ywT0Dsb5yw5NigrPDgvUDhvRyw4','lIbuB3rHBcbRB25MAxjTyxnPoIa','ksbWywrHia','DxnLCKLK','B0TQz0u','CwnNs2e','nZiZodbHAhj1Cxm','tvnivujFvvnfuL9jra','tvnivujFqunltK9xtever0vFtuvtu0fhrvm','CMvJzwL2zwrbDa','ChvIBgLZAeTLEq','uhvIBgLZAcblzxK6ia','yNjVywrJyxn0','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','C29JA2v0','BwvZC2fNzq','thHLtuq','DxvPza','mZu0meTWsuzwCa','zgLZy29UBMvJDa','ywrKtgLZDgvUzxi','vgLWzsblB211BMLRyxnPoIa','twvUz2LYAw0GCgvZyw4GA2uGC2vYDMvYlI4U','y2HHBM5LBa','vgvWuvK','BwvZC2fNzs1YzwnLAxzLza','wfvIBhm','CMvXDwvZDeLK','CMvHC29U','nJiYmtaYnuTJy3brwG','nJCXmdi0wg5HA29i','u3vIC2nYAwjLieTLEtOG'];a0_0x5d99=function(){return _0x4bf292;};return a0_0x5d99();}async function initMessageHub(){const _0x328dd8=a0_0xeb6e32,_0x4bc059={'uJbLY':function(_0x135075,_0x566caa){return _0x135075&&_0x566caa;},'zQaAD':_0x328dd8(0x100),'whCHO':'Connection\x20timeout','OtfFj':function(_0x1263b6,_0x207872){return _0x1263b6(_0x207872);},'LxeMD':_0x328dd8(0xd9),'kNclu':_0x328dd8(0xf5),'qcgKa':'default','cHtdF':function(_0x24b0fd,_0x16ae9c){return _0x24b0fd===_0x16ae9c;},'LtApR':'true','DIpeo':'websocket','gWowi':'======\x20INFORMASI\x20CLIENT\x20MESSAGEHUB\x20======','oPttX':function(_0x46eb0c,_0x429726){return _0x46eb0c(_0x429726);},'bQBtT':function(_0xd37d80,_0x5d768f){return _0xd37d80(_0x5d768f);},'SXCMx':'Error\x20inisialisasi\x20MessageHub:','oKjgE':function(_0x3666b8,_0x357e60){return _0x3666b8(_0x357e60);},'zgHpQ':function(_0xaa9b4e,_0x507a96){return _0xaa9b4e&&_0x507a96;},'OwYwU':_0x328dd8(0xd2),'niwiL':_0x328dd8(0xdf)};if(_0x4bc059[_0x328dd8(0xd8)](messagehub,isConnected))return log(_0x4bc059[_0x328dd8(0xe7)]),!![];if(connectionPromise)return log(_0x4bc059[_0x328dd8(0xc0)]),connectionPromise;return connectionPromise=new Promise(async(_0x182e33,_0x172f86)=>{const _0x247c5c=_0x328dd8,_0x1e3963={'hWGKi':function(_0x1d3e87,_0x55139f){return _0x1d3e87(_0x55139f);},'mZHxT':function(_0x54271a,_0x663016){return _0x54271a===_0x663016;},'ewdUx':function(_0x598801,_0xa775ac){const _0x1878e8=a0_0x5ded;return _0x4bc059[_0x1878e8(0xfb)](_0x598801,_0xa775ac);},'UMpSK':'Tidak\x20diketahui','DBcYq':function(_0x4a2028,_0x49804b){return _0x4a2028===_0x49804b;},'KkpiU':_0x4bc059[_0x247c5c(0x110)],'rEqST':function(_0x370a47,_0x260c14){const _0x1c5491=_0x247c5c;return _0x4bc059[_0x1c5491(0xfb)](_0x370a47,_0x260c14);},'dvqyt':function(_0x4bdd73,_0x20a29f){return _0x4bdd73===_0x20a29f;},'RouYu':_0x4bc059[_0x247c5c(0xc1)],'ocCdP':function(_0x56554d,_0x17b35f){return _0x56554d(_0x17b35f);}};try{_0x4bc059[_0x247c5c(0xfb)](log,'======\x20MULAI\x20INISIALISASI\x20MESSAGEHUB\x20======'),_0x4bc059['OtfFj'](log,'Waktu\x20Inisialisasi:\x20'+new Date()['toLocaleString']()),_0x4bc059['OtfFj'](log,'Mode:\x20Koneksi\x20Nyata');const _0x15480b={'publishKey':process['env']['MSHUB_PUBLISH_KEY'],'subscribeKey':process['env'][_0x247c5c(0x122)],'userId':process[_0x247c5c(0xe2)][_0x247c5c(0x107)]||'restforge-'+(process['env'][_0x247c5c(0x10d)]||_0x4bc059[_0x247c5c(0x105)])+'-'+process['pid'],'communicationType':process['env'][_0x247c5c(0xc3)]||_0x247c5c(0x10c),'autoAcknowledge':process[_0x247c5c(0xe2)]['MSHUB_AUTO_ACKNOWLEDGE']==='true','acknowledgeMessages':_0x4bc059[_0x247c5c(0xf2)](process['env'][_0x247c5c(0x108)],_0x4bc059[_0x247c5c(0xf9)]),'platform':{'type':process[_0x247c5c(0xe2)]['MSHUB_COMMUNICATION_TYPE']||_0x4bc059['DIpeo'],'host':process['env'][_0x247c5c(0xdc)]||'localhost','api_port':parseInt(process[_0x247c5c(0xe2)][_0x247c5c(0xd5)]||0xdf8),'service_port':_0x4bc059[_0x247c5c(0xfb)](parseInt,process[_0x247c5c(0xe2)]['MSHUB_SERVICE_PORT']||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x15480b),log(_0x4bc059['gWowi']),_0x4bc059['oPttX'](log,'Client\x20ID/UserID:\x20'+messagehub[_0x247c5c(0x103)]),log(_0x247c5c(0x10b)+messagehub[_0x247c5c(0x10a)]),_0x4bc059['bQBtT'](log,_0x247c5c(0x11f)+messagehub['subscribeKey']),log(_0x247c5c(0x115)+messagehub[_0x247c5c(0xd7)]),_0x4bc059['oPttX'](log,_0x247c5c(0xec)+JSON[_0x247c5c(0xc2)](messagehub['platformConfig'])),log(_0x247c5c(0xe4)),messagehub[_0x247c5c(0x114)]({'status':function(_0x44cdc8){const _0x172bde=_0x247c5c;_0x1e3963['hWGKi'](log,'Status\x20Listener:\x20'+_0x44cdc8['category']);if(_0x1e3963[_0x172bde(0xda)](_0x44cdc8[_0x172bde(0x123)],_0x172bde(0xf8)))log('Terhubung\x20ke\x20server\x20MessageHub'),isConnected=!![],timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null),_0x182e33(!![]);else{if(_0x44cdc8[_0x172bde(0x123)]===_0x172bde(0xcb)){const _0x3ea28c=_0x1e3963['mZHxT'](_0x44cdc8[_0x172bde(0xe8)],!![]);!_0x3ea28c&&(_0x1e3963[_0x172bde(0xd0)](log,_0x172bde(0xde)+(_0x44cdc8[_0x172bde(0x11c)]||_0x1e3963[_0x172bde(0xcd)])),isConnected=![],connectionPromise&&(_0x172f86(new Error(_0x172bde(0xe5)+(_0x44cdc8['reason']||_0x1e3963['UMpSK']))),connectionPromise=null));}else{if(_0x44cdc8[_0x172bde(0x123)]==='error'){let _0x4d6b78=_0x44cdc8[_0x172bde(0xee)]||_0x44cdc8[_0x172bde(0xd4)]||'Unknown\x20error';_0x1e3963['hWGKi'](log,'⚠️\x20Error:\x20'+_0x4d6b78),isConnected=![],connectionPromise&&(_0x172f86(new Error(_0x4d6b78)),connectionPromise=null);}else{if(_0x1e3963[_0x172bde(0xff)](_0x44cdc8[_0x172bde(0x123)],_0x1e3963['KkpiU']))_0x1e3963['rEqST'](log,_0x172bde(0xc4)+_0x44cdc8[_0x172bde(0x11b)]);else{if(_0x1e3963['dvqyt'](_0x44cdc8[_0x172bde(0x123)],_0x172bde(0x119))){const _0x14b9fd=_0x44cdc8[_0x172bde(0xfa)]?.[_0x172bde(0xdd)]||_0x1e3963[_0x172bde(0xe6)],_0xbcd246=_0x44cdc8[_0x172bde(0xfa)]?.['id']||_0x44cdc8['receiverId'],_0x54c758=new Date(_0x44cdc8[_0x172bde(0xfa)]?.[_0x172bde(0x109)]||_0x44cdc8['receivedAt']||new Date())['toLocaleTimeString']();_0x1e3963['ocCdP'](log,_0x172bde(0xc6)+_0x44cdc8[_0x172bde(0x11b)]+_0x172bde(0xc8)+_0x14b9fd+'\x20('+_0xbcd246+_0x172bde(0x102)+_0x54c758+_0x172bde(0x101)+(_0x44cdc8['confirmationCount']||0x1));}}}}}}}),timeoutHandler=setTimeout(()=>{const _0x3e1b56=_0x247c5c;_0x4bc059[_0x3e1b56(0xf3)](!isConnected,connectionPromise)&&(log(_0x4bc059['zQaAD']),_0x172f86(new Error(_0x4bc059[_0x3e1b56(0xe9)])),connectionPromise=null);},0x2710);}catch(_0x13925d){log('⚠️\x20Error\x20inisialisasi\x20MessageHub:\x20'+_0x13925d['message']),console[_0x247c5c(0xd4)](_0x4bc059[_0x247c5c(0xe1)],_0x13925d),connectionPromise=null,_0x4bc059[_0x247c5c(0x104)](_0x172f86,_0x13925d);}}),connectionPromise;}async function publishMessage(_0x2406be,_0x1be6c4,_0x4a9e1a,_0x3f2b19={}){const _0x10cc48=a0_0xeb6e32,_0x2c16f7={'uYGnQ':function(_0x2ac3f1,_0x51aae3){return _0x2ac3f1(_0x51aae3);},'QFvdd':function(_0xf9b40f,_0x10b7e3){return _0xf9b40f(_0x10b7e3);},'mTJam':_0x10cc48(0xcc),'bqezh':function(_0x3a942f,_0x548aea){return _0x3a942f!==_0x548aea;},'OjDtj':function(_0x5a7a10,_0x31222d){return _0x5a7a10(_0x31222d);},'TepQY':function(_0x5621ee,_0x52e0da){return _0x5621ee(_0x52e0da);},'vkcwD':'Failed\x20to\x20send\x20message'};try{!isConnected&&await initMessageHub();const _0x42a2a8=messagehub[_0x10cc48(0x117)](_0x2406be);_0x2c16f7[_0x10cc48(0xc9)](log,_0x10cc48(0xd1)),log(_0x10cc48(0xfd)+_0x42a2a8['topic']),_0x2c16f7['QFvdd'](log,_0x10cc48(0xef)+_0x1be6c4),_0x2c16f7[_0x10cc48(0xc9)](log,_0x2c16f7[_0x10cc48(0xbf)]);const _0x4652a5={'requireAck':_0x2c16f7['bqezh'](_0x3f2b19['requireAck'],undefined)?_0x3f2b19['requireAck']:![],'clearCache':_0x2c16f7[_0x10cc48(0xf6)](_0x3f2b19[_0x10cc48(0xed)],undefined)?_0x3f2b19['clearCache']:!![],'senderId':messagehub['socket']?messagehub[_0x10cc48(0x10e)]['id']:'restforge'};_0x2c16f7['OjDtj'](log,_0x10cc48(0x116));const _0x57f192={'type':_0x1be6c4,'content':_0x4a9e1a},_0x49b0bb=await _0x42a2a8['publish'](_0x57f192,_0x4652a5);return _0x2c16f7['uYGnQ'](log,_0x10cc48(0xc7)+_0x2406be),{'success':!![],'requestId':_0x49b0bb[_0x10cc48(0x11b)],'topic':_0x2406be,'message':_0x10cc48(0xea)};}catch(_0x303ea3){return _0x2c16f7[_0x10cc48(0x118)](log,'⚠️\x20Error\x20publishing\x20message:\x20'+_0x303ea3[_0x10cc48(0x10f)]),{'success':![],'error':_0x303ea3[_0x10cc48(0x10f)],'topic':_0x2406be,'message':_0x2c16f7['vkcwD']};}}async function closeConnection(){const _0x2772ed=a0_0xeb6e32,_0x519644={'TwzCu':function(_0x45fcc9,_0x1502b0){return _0x45fcc9(_0x1502b0);},'oTtNe':function(_0x3ad676,_0x17b71d){return _0x3ad676&&_0x17b71d;},'LGCVr':_0x2772ed(0xe0),'XUbls':'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20disconnect()','rzcKs':_0x2772ed(0xc5),'AnhsX':_0x2772ed(0xfe)};timeoutHandler&&(_0x519644[_0x2772ed(0xd3)](clearTimeout,timeoutHandler),timeoutHandler=null);if(_0x519644['oTtNe'](isConnected,messagehub))try{if(typeof messagehub[_0x2772ed(0x113)]===_0x519644[_0x2772ed(0xf7)])await messagehub[_0x2772ed(0x113)](),_0x519644[_0x2772ed(0xd3)](log,_0x519644[_0x2772ed(0x11a)]);else{if(typeof messagehub['close']===_0x519644['LGCVr'])await messagehub[_0x2772ed(0xf4)](),log(_0x519644[_0x2772ed(0xcf)]);else messagehub[_0x2772ed(0x10e)]&&typeof messagehub['socket']['disconnect']===_0x2772ed(0xe0)?(messagehub['socket']['disconnect'](),log('Koneksi\x20MessageHub\x20ditutup\x20dengan\x20socket.disconnect()')):log(_0x519644[_0x2772ed(0xd6)]);}isConnected=![],connectionPromise=null;}catch(_0xcf03a3){log('Error\x20saat\x20menutup\x20koneksi:\x20'+_0xcf03a3['message']);}}module['exports']={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};
|
|
1
|
+
const a0_0x57e0a2=a0_0x1f90;(function(_0x11b8d8,_0x87aa0c){const _0x486cc8=a0_0x1f90,_0x1eb505=_0x11b8d8();while(!![]){try{const _0x2db612=parseInt(_0x486cc8(0x119))/0x1+parseInt(_0x486cc8(0x10b))/0x2*(-parseInt(_0x486cc8(0x104))/0x3)+parseInt(_0x486cc8(0x11c))/0x4+-parseInt(_0x486cc8(0xf9))/0x5*(-parseInt(_0x486cc8(0x12b))/0x6)+parseInt(_0x486cc8(0xff))/0x7*(-parseInt(_0x486cc8(0x138))/0x8)+-parseInt(_0x486cc8(0x10d))/0x9+parseInt(_0x486cc8(0x14d))/0xa*(-parseInt(_0x486cc8(0x118))/0xb);if(_0x2db612===_0x87aa0c)break;else _0x1eb505['push'](_0x1eb505['shift']());}catch(_0x4e2c26){_0x1eb505['push'](_0x1eb505['shift']());}}}(a0_0x1628,0x3e5e7));const dotenv=require(a0_0x57e0a2(0x113)),path=require('path'),fs=require('fs'),{v7:uuidv7}=require(a0_0x57e0a2(0x12f));function a0_0x1628(){const _0x4e467c=['AxnfCNjVCLjLBgf0zwq','8j+tQsblB25MAxjTyxnPoIbqzxnHBIa','Bg9N','vw5RBM93BG','CMvHC29U','C29XwKq','twvZC2fNzsbuExbLoIa','tvnivujFqvbjx1bpuLq','CMvJzwL2zxjjBMzV','uKTNuhq','CMvJzwL2zxjjza','tw9KztOGs29UzwTZAsboEwf0yq','zxH2ALG','y2f0zwDVCNK','twvZC2fNzuH1yIbZDwrHAcb0zxjODwj1BMCSig1LBMDNDw5HA2fUigTVBMvRC2KGEwfUzYbHzge','Bw9MzxC','tvnivujFvvnfuL9jra','twvUz2LYAw0GCgvZyw4GA2uGC2vYDMvYlI4U','mJCWodbHCLftwgK','CLnXqNm','zxHWB3j0CW','zgvMyxvSDa','vgLcCxy','q29UBMvJDgLVBIb0Aw1LB3v0','rgvJCuK','DxnLCKLK','v3fgyMO','tunut0m','D2vIC29JA2v0','rMfPBgvKihrVihnLBMqGBwvZC2fNzq','s29UzwTZAsb0zxjWDxr1CZOG','wNDfwgm','y2XVC2u','mJy1vu1rDKzs','v3DzsLy','BMfTzq','Dg9ju09tDhjPBMC','DLrrALO','C29JA2v0','mtq3Cw11z255','tvnivujFu0vsvKLdrv9qt1ju','tvnivujFq09ntvvosunbveLptL9uwvbf','BwvZC2fNzs1Zzw50','Dg9mB2nHBgvtDhjPBMC','mti5m0jmyuTAAG','lIbuB3rHBcbRB25MAxjTyxnPoIa','ugLVvuK','u3vIC2nYAwjLieTLEtOG','r2vMzge','Eu9dEha','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUihnVy2TLDc5KAxnJB25Uzwn0kcK','mtCWnMf6DuTmsq','tvnivujFufvcteLtsf9lrvK','ndGXnZm0z1ferKLR','CMvZDgzVCMDLlq','Cxnwq24','ChvIBgLZAa','zgLZy29UBMvJDa','CMvXDwvZDeLK','zg90zw52','y2XLyxjdywnOzq','vgvYChv0DxmGzgfYAsbZzxj2zxiUiefSyxnHBJOG','yMvosxa','rKjdz2e','nZGXuxHzt0DM','ndiXnZa1ugrOrvrP','y2HHBM5LBa','y29UBMvJDgvK','otGZmJG4Duj1A3Lx','qxvVA08','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUigrPC2nVBM5Ly3qOkq','BwLezeC','ug5ivKW','zw52','tvnivujFse9tva','CMvXDwLYzufJAW','CgXHDgzVCM1dB25MAwC','4PQG77IpievYCM9YigLUAxnPywXPC2fZAsbnzxnZywDLshvIoIa','q2XPzw50ieLel1vZzxjjrdOG','rxjYB3iGBg9HzgLUzYbnzxnZywDLshvIifnesZOG','BwvZC2fNzq','BfjsCKG','C0PVy1a','mZuYmdj4rM1ItwW','4PQG77IpievYCM9Yihb1yMXPC2HPBMCGBwvZC2fNztOG','4PQG77IpifrPBwvVDxq6ifrPzgfRigrHCgf0ihrLCMH1yNvUzYbRzsbnzxnZywDLshvIihnLCNzLCIbKywXHBsb3ywT0Dsb5yw5NigrPDgvUDhvRyw4','vgLKywSGzgfWyxqGBwvUzw11A2fUig1LDg9Kzsb1BNr1AYbTzw51DhvWigTVBMvRC2KGtwvZC2fNzuH1yG','DxvPza','y29UzMLYBwf0Aw9Uq291BNq','uKXwsLi','zxjYB3i','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pq','u3rHDhvZieXPC3rLBMvYoIa','s29UzwTZAsbnzxnZywDLshvIihnLzgfUzYbIzxjSyw5NC3vUzYWGBwvUDw5Nz3uUlI4','pt09pt09ie1vtefjieLosvnjquXju0ftssbnrvntquDfsfvcid09pt09pq','EwTlvg4','nde3ndrJyNjREuC','zNvUy3rPB24','v21rsvG'];a0_0x1628=function(){return _0x4e467c;};return a0_0x1628();}dotenv['config']();let MessageHub;try{const messagehubPath=path['resolve'](__dirname,'../../js/messagehub.js');if(fs['existsSync'](messagehubPath))MessageHub=require(messagehubPath),console[a0_0x57e0a2(0x13d)]('MessageHub\x20SDK\x20found\x20at\x20'+messagehubPath);else throw new Error('MessageHub\x20SDK\x20not\x20found\x20at\x20'+messagehubPath);}catch(a0_0x4146ad){console['error'](a0_0x57e0a2(0x127)+a0_0x4146ad[a0_0x57e0a2(0x128)]);throw a0_0x4146ad;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function log(_0x2fbd7d){const _0x412256=a0_0x57e0a2,_0x555ab0=new Date()[_0x412256(0xfc)]();console['log']('['+_0x555ab0+']\x20'+_0x2fbd7d);}async function initMessageHub(){const _0x1a01ff=a0_0x57e0a2,_0x3b4cf1={'miDdG':function(_0x32eedd,_0x2e054c){return _0x32eedd(_0x2e054c);},'RKgPt':function(_0x5bd857,_0x1abc0f){return _0x5bd857===_0x1abc0f;},'MCTOC':function(_0x587358,_0x33ed0b){return _0x587358===_0x33ed0b;},'xvofX':function(_0x5acd8a,_0x30d94e){return _0x5acd8a===_0x30d94e;},'DecqI':_0x1a01ff(0x102),'BMpRF':function(_0x3f22d7,_0x24af91){return _0x3f22d7===_0x24af91;},'PnHVL':'message-received','Cabsl':_0x1a01ff(0x13e),'sJocP':_0x1a01ff(0x12d),'mofew':function(_0x6e83da,_0x354165){return _0x6e83da(_0x354165);},'gGSZL':_0x1a01ff(0x152),'beNIp':function(_0x10247f,_0x4a4ca9){return _0x10247f(_0x4a4ca9);},'WwYJV':function(_0x4b63a3,_0x570c21){return _0x4b63a3(_0x570c21);},'UdILH':_0x1a01ff(0x146),'Gefda':'true','qsVCn':_0x1a01ff(0x157),'ZwEXc':'localhost','soqZD':function(_0x25f8d8,_0x100789){return _0x25f8d8(_0x100789);},'WqFbj':function(_0x5ef6e9,_0x21f91a){return _0x5ef6e9(_0x21f91a);},'jzjSz':function(_0x5ce3d8,_0x5f3724){return _0x5ce3d8(_0x5f3724);},'WmQIX':function(_0x5b8dda,_0x5bc3a5,_0x3f5868){return _0x5b8dda(_0x5bc3a5,_0x3f5868);},'QLiRG':'Error\x20inisialisasi\x20MessageHub:','lRRrH':_0x1a01ff(0x149),'GgRzK':_0x1a01ff(0x135)};if(messagehub&&isConnected)return _0x3b4cf1['mofew'](log,_0x3b4cf1[_0x1a01ff(0x129)]),!![];if(connectionPromise)return _0x3b4cf1[_0x1a01ff(0xfa)](log,_0x3b4cf1['GgRzK']),connectionPromise;return connectionPromise=new Promise(async(_0x3c3fcf,_0x1cda4d)=>{const _0x11993c=_0x1a01ff;try{_0x3b4cf1[_0x11993c(0x116)](log,_0x11993c(0x136)),_0x3b4cf1[_0x11993c(0xfa)](log,'Waktu\x20Inisialisasi:\x20'+new Date()[_0x11993c(0x103)]()),_0x3b4cf1[_0x11993c(0x11f)](log,_0x3b4cf1['UdILH']);const _0x46b069={'publishKey':process['env'][_0x11993c(0x10c)],'subscribeKey':process['env']['MSHUB_SUBSCRIBE_KEY'],'userId':process[_0x11993c(0x121)][_0x11993c(0x14b)]||_0x11993c(0x10e)+(process['env']['RESTFORGE_PROJECT_NAME']||_0x11993c(0x150))+'-'+process['pid'],'communicationType':process['env'][_0x11993c(0x101)]||'broadcast','autoAcknowledge':process['env']['MSHUB_AUTO_ACKNOWLEDGE']===_0x3b4cf1[_0x11993c(0x108)],'acknowledgeMessages':process['env']['MSHUB_ACKNOWLEDGE_MESSAGES']===_0x3b4cf1['Gefda'],'platform':{'type':process[_0x11993c(0x121)]['MSHUB_COMMUNICATION_TYPE']||_0x3b4cf1[_0x11993c(0x10f)],'host':process['env'][_0x11993c(0x122)]||_0x3b4cf1[_0x11993c(0xf7)],'api_port':_0x3b4cf1['soqZD'](parseInt,process[_0x11993c(0x121)][_0x11993c(0x142)]||0xdf8),'service_port':_0x3b4cf1[_0x11993c(0x155)](parseInt,process[_0x11993c(0x121)][_0x11993c(0x100)]||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x46b069),log('======\x20INFORMASI\x20CLIENT\x20MESSAGEHUB\x20======'),log(_0x11993c(0x126)+messagehub[_0x11993c(0x154)]),log('Publish\x20Key:\x20'+messagehub['publishKey']),log(_0x11993c(0x107)+messagehub['subscribeKey']),_0x3b4cf1[_0x11993c(0x140)](log,'Tipe\x20Komunikasi:\x20'+messagehub['communicationType']),_0x3b4cf1['jzjSz'](log,'Konfigurasi\x20Platform:\x20'+JSON['stringify'](messagehub[_0x11993c(0x124)])),_0x3b4cf1['beNIp'](log,_0x11993c(0x133)),messagehub['addListener']({'status':function(_0x5c90f8){const _0x4febcb=_0x11993c;_0x3b4cf1[_0x4febcb(0x11f)](log,_0x4febcb(0x134)+_0x5c90f8['category']);if(_0x3b4cf1[_0x4febcb(0x144)](_0x5c90f8[_0x4febcb(0x148)],_0x4febcb(0x11b)))log('Terhubung\x20ke\x20server\x20MessageHub'),isConnected=!![],timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null),_0x3c3fcf(!![]);else{if(_0x3b4cf1[_0x4febcb(0x156)](_0x5c90f8['category'],'disconnected')){const _0x238620=_0x5c90f8[_0x4febcb(0x13b)]===!![];!_0x238620&&(log(_0x4febcb(0x115)+(_0x5c90f8[_0x4febcb(0x13f)]||'Tidak\x20diketahui')),isConnected=![],connectionPromise&&(_0x3b4cf1['miDdG'](_0x1cda4d,new Error(_0x4febcb(0xf6)+(_0x5c90f8[_0x4febcb(0x13f)]||'Tidak\x20diketahui'))),connectionPromise=null));}else{if(_0x5c90f8[_0x4febcb(0x148)]===_0x4febcb(0x132)){let _0x174887=_0x5c90f8['errorDetail']||_0x5c90f8['error']||'Unknown\x20error';log('⚠️\x20Error:\x20'+_0x174887),isConnected=![],connectionPromise&&(_0x1cda4d(new Error(_0x174887)),connectionPromise=null);}else{if(_0x3b4cf1['xvofX'](_0x5c90f8['category'],_0x3b4cf1[_0x4febcb(0x153)]))log('📤\x20Pesan\x20berhasil\x20dikirim!\x20RequestID:\x20'+_0x5c90f8[_0x4febcb(0x112)]);else{if(_0x3b4cf1['BMpRF'](_0x5c90f8[_0x4febcb(0x148)],_0x3b4cf1[_0x4febcb(0x120)])){const _0x115dfb=_0x5c90f8[_0x4febcb(0x143)]?.[_0x4febcb(0xfb)]||_0x3b4cf1['Cabsl'],_0x30dabf=_0x5c90f8['receiverInfo']?.['id']||_0x5c90f8[_0x4febcb(0x145)],_0x17a7c9=new Date(_0x5c90f8['receiverInfo']?.['receivedAt']||_0x5c90f8['receivedAt']||new Date())['toLocaleTimeString']();log(_0x4febcb(0x13c)+_0x5c90f8['requestId']+'\x20diterima\x20oleh\x20'+_0x115dfb+'\x20('+_0x30dabf+')\x20pada\x20'+_0x17a7c9+_0x4febcb(0x105)+(_0x5c90f8[_0x4febcb(0x130)]||0x1));}}}}}}}),timeoutHandler=_0x3b4cf1[_0x11993c(0x13a)](setTimeout,()=>{const _0x551b77=_0x11993c;!isConnected&&connectionPromise&&(log(_0x3b4cf1[_0x551b77(0x12a)]),_0x3b4cf1['mofew'](_0x1cda4d,new Error(_0x3b4cf1['gGSZL'])),connectionPromise=null);},0x2710);}catch(_0x2d27e9){_0x3b4cf1[_0x11993c(0x116)](log,_0x11993c(0x125)+_0x2d27e9[_0x11993c(0x128)]),console[_0x11993c(0x132)](_0x3b4cf1['QLiRG'],_0x2d27e9),connectionPromise=null,_0x3b4cf1[_0x11993c(0x14a)](_0x1cda4d,_0x2d27e9);}}),connectionPromise;}async function publishMessage(_0x4b7373,_0x2a47f6,_0x79c7cb,_0x39bfe9={}){const _0x336855=a0_0x57e0a2,_0x13fd9d={'exvjX':function(_0x37d458){return _0x37d458();},'PioUI':'================================','AuokO':function(_0x11eacc,_0x393a8c){return _0x11eacc!==_0x393a8c;},'vTQjZ':'restforge','RLVJR':_0x336855(0x14c),'ojoWU':'Message\x20sent\x20successfully','YmsZY':function(_0x53375e,_0x32b878){return _0x53375e(_0x32b878);}};try{!isConnected&&await _0x13fd9d[_0x336855(0x147)](initMessageHub);const _0x2e705c=messagehub[_0x336855(0x11a)](_0x4b7373);log('======\x20DATA\x20PUBLISH\x20MESSAGE\x20======'),log('Channel\x20Target:\x20'+_0x2e705c['topic']),log(_0x336855(0x141)+_0x2a47f6),log(_0x13fd9d[_0x336855(0x106)]);const _0x3b454f={'requireAck':_0x39bfe9[_0x336855(0x123)]!==undefined?_0x39bfe9['requireAck']:![],'clearCache':_0x13fd9d[_0x336855(0x11d)](_0x39bfe9['clearCache'],undefined)?_0x39bfe9[_0x336855(0x114)]:!![],'senderId':messagehub[_0x336855(0xfe)]?messagehub['socket']['id']:_0x13fd9d[_0x336855(0xfd)]};log(_0x13fd9d[_0x336855(0x131)]);const _0x290e12={'type':_0x2a47f6,'content':_0x79c7cb},_0x34c05c=await _0x2e705c[_0x336855(0x110)](_0x290e12,_0x3b454f);return log('Message\x20sent\x20successfully\x20to\x20topic\x20'+_0x4b7373),{'success':!![],'requestId':_0x34c05c['requestId'],'topic':_0x4b7373,'message':_0x13fd9d['ojoWU']};}catch(_0x23bcca){return _0x13fd9d['YmsZY'](log,_0x336855(0x12c)+_0x23bcca[_0x336855(0x128)]),{'success':![],'error':_0x23bcca['message'],'topic':_0x4b7373,'message':_0x336855(0x158)};}}async function closeConnection(){const _0x3804d7=a0_0x57e0a2,_0x36781c={'yOCxp':function(_0x5708e9,_0x11bae6){return _0x5708e9(_0x11bae6);},'XPLGf':function(_0x4319cc,_0x20ccb7){return _0x4319cc&&_0x20ccb7;},'TiBqv':_0x3804d7(0x11e),'gySua':function(_0x1ed537,_0x512ff7){return _0x1ed537===_0x512ff7;},'FBCga':_0x3804d7(0x139),'FnKFp':'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20close()','ykKTn':function(_0xc0f9ed,_0x4a601e){return _0xc0f9ed===_0x4a601e;},'Ftznk':function(_0x4fe8fa,_0x1fb732){return _0x4fe8fa(_0x1fb732);},'rSqBs':_0x3804d7(0x12e)};timeoutHandler&&(_0x36781c['yOCxp'](clearTimeout,timeoutHandler),timeoutHandler=null);if(_0x36781c['XPLGf'](isConnected,messagehub))try{if(typeof messagehub[_0x3804d7(0x111)]==='function')await messagehub['disconnect'](),_0x36781c[_0x3804d7(0x109)](log,_0x36781c[_0x3804d7(0x151)]);else{if(_0x36781c['gySua'](typeof messagehub[_0x3804d7(0xf8)],_0x36781c['FBCga']))await messagehub['close'](),log(_0x36781c['FnKFp']);else messagehub['socket']&&_0x36781c[_0x3804d7(0x137)](typeof messagehub['socket'][_0x3804d7(0x111)],_0x36781c[_0x3804d7(0x117)])?(messagehub['socket'][_0x3804d7(0x111)](),_0x36781c[_0x3804d7(0x109)](log,_0x3804d7(0x10a))):_0x36781c['Ftznk'](log,_0x36781c[_0x3804d7(0x14e)]);}isConnected=![],connectionPromise=null;}catch(_0x3d47a3){log('Error\x20saat\x20menutup\x20koneksi:\x20'+_0x3d47a3[_0x3804d7(0x128)]);}}function a0_0x1f90(_0x24b164,_0x2afe9b){_0x24b164=_0x24b164-0xf6;const _0x1628e9=a0_0x1628();let _0x1f900e=_0x1628e9[_0x24b164];if(a0_0x1f90['pgPCJX']===undefined){var _0x2d30bd=function(_0x206412){const _0x81d863='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5b34f3='',_0x5f51db='';for(let _0x3ed72f=0x0,_0x385c21,_0x1dc260,_0x44b575=0x0;_0x1dc260=_0x206412['charAt'](_0x44b575++);~_0x1dc260&&(_0x385c21=_0x3ed72f%0x4?_0x385c21*0x40+_0x1dc260:_0x1dc260,_0x3ed72f++%0x4)?_0x5b34f3+=String['fromCharCode'](0xff&_0x385c21>>(-0x2*_0x3ed72f&0x6)):0x0){_0x1dc260=_0x81d863['indexOf'](_0x1dc260);}for(let _0x5c5194=0x0,_0x4dae86=_0x5b34f3['length'];_0x5c5194<_0x4dae86;_0x5c5194++){_0x5f51db+='%'+('00'+_0x5b34f3['charCodeAt'](_0x5c5194)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5f51db);};a0_0x1f90['szaifk']=_0x2d30bd,a0_0x1f90['TTNVGA']={},a0_0x1f90['pgPCJX']=!![];}const _0x558d9d=_0x1628e9[0x0],_0x48810b=_0x24b164+_0x558d9d,_0x1c8c39=a0_0x1f90['TTNVGA'][_0x48810b];return!_0x1c8c39?(_0x1f900e=a0_0x1f90['szaifk'](_0x1f900e),a0_0x1f90['TTNVGA'][_0x48810b]=_0x1f900e):_0x1f900e=_0x1c8c39,_0x1f900e;}module[a0_0x57e0a2(0x14f)]={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};
|