@restforgejs/platform 5.0.1 → 5.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/lib/migrate/migrate-runner.js +393 -393
- package/generators/lib/payload/payload-runner.js +20 -0
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/integrity-manifest.json +18 -18
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/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';
|
|
1
|
+
'use strict';function a0_0x32b6(_0xa5b4e,_0x393c94){_0xa5b4e=_0xa5b4e-0x77;const _0x2d8d11=a0_0x2d8d();let _0x32b67d=_0x2d8d11[_0xa5b4e];if(a0_0x32b6['OqoRVi']===undefined){var _0xff2af9=function(_0x47a9ef){const _0x5a4964='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2bae25='',_0x674016='';for(let _0x3cc31b=0x0,_0x76a71,_0x2b5727,_0x23394d=0x0;_0x2b5727=_0x47a9ef['charAt'](_0x23394d++);~_0x2b5727&&(_0x76a71=_0x3cc31b%0x4?_0x76a71*0x40+_0x2b5727:_0x2b5727,_0x3cc31b++%0x4)?_0x2bae25+=String['fromCharCode'](0xff&_0x76a71>>(-0x2*_0x3cc31b&0x6)):0x0){_0x2b5727=_0x5a4964['indexOf'](_0x2b5727);}for(let _0x38d3fc=0x0,_0x5ac070=_0x2bae25['length'];_0x38d3fc<_0x5ac070;_0x38d3fc++){_0x674016+='%'+('00'+_0x2bae25['charCodeAt'](_0x38d3fc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x674016);};a0_0x32b6['aGDAcm']=_0xff2af9,a0_0x32b6['SBuEQh']={},a0_0x32b6['OqoRVi']=!![];}const _0x3838a7=_0x2d8d11[0x0],_0x11fe14=_0xa5b4e+_0x3838a7,_0xd15897=a0_0x32b6['SBuEQh'][_0x11fe14];return!_0xd15897?(_0x32b67d=a0_0x32b6['aGDAcm'](_0x32b67d),a0_0x32b6['SBuEQh'][_0x11fe14]=_0x32b67d):_0x32b67d=_0xd15897,_0x32b67d;}const a0_0x137144=a0_0x32b6;(function(_0x3ee5b0,_0x47369b){const _0x51341e=a0_0x32b6,_0x2f30f1=_0x3ee5b0();while(!![]){try{const _0x52490c=-parseInt(_0x51341e(0x95))/0x1+-parseInt(_0x51341e(0x8b))/0x2+parseInt(_0x51341e(0x96))/0x3*(parseInt(_0x51341e(0x84))/0x4)+parseInt(_0x51341e(0xa9))/0x5+parseInt(_0x51341e(0x78))/0x6*(parseInt(_0x51341e(0x90))/0x7)+-parseInt(_0x51341e(0xa7))/0x8*(parseInt(_0x51341e(0x9c))/0x9)+parseInt(_0x51341e(0x85))/0xa;if(_0x52490c===_0x47369b)break;else _0x2f30f1['push'](_0x2f30f1['shift']());}catch(_0x5449a6){_0x2f30f1['push'](_0x2f30f1['shift']());}}}(a0_0x2d8d,0xcd8ed));const multer=require(a0_0x137144(0x9d)),path=require('path'),crypto=require('crypto'),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require('./logger');class UploadHandlerV2{constructor(){const _0x22755c=a0_0x137144;this[_0x22755c(0x87)]=null;}get['tempDir'](){const _0x24872c=a0_0x137144,_0x3bde6c={'ApbxN':'temp'};if(!this['_tempDir']){const _0x1c1cc4=process[_0x24872c(0x80)][_0x24872c(0xa4)]||'default';this['_tempDir']=process[_0x24872c(0x80)]['UPLOAD_TEMP_DIR']||path['join'](process[_0x24872c(0x8a)](),_0x3bde6c['ApbxN'],'uploads',_0x1c1cc4),!fsSync[_0x24872c(0x7b)](this[_0x24872c(0x87)])&&fsSync[_0x24872c(0x77)](this[_0x24872c(0x87)],{'recursive':!![]});}return this['_tempDir'];}['createUploadMiddleware'](_0x2353c3={}){const _0x3c464f=a0_0x137144,_0x1c5d6a={'wocmV':function(_0x1e7577,_0x1681ff,_0xec7014){return _0x1e7577(_0x1681ff,_0xec7014);},'SpPJn':function(_0x486c0c,_0x9cb6ec){return _0x486c0c===_0x9cb6ec;},'BJTuf':function(_0x387a12,_0x368de4){return _0x387a12(_0x368de4);},'GEruS':function(_0x136bf0,_0x40635d){return _0x136bf0(_0x40635d);}},_0x12cd10=_0x2353c3['maxFiles']||0x5,_0x120994=this[_0x3c464f(0x8d)](_0x2353c3['maxFileSize']||_0x3c464f(0x7d)),_0x4c086d=_0x2353c3['allowedTypes']||[],_0x1aa23a=multer[_0x3c464f(0xa6)]({'destination':(_0x58c7ac,_0x3f8279,_0x428c21)=>{const _0x1c291a=_0x3c464f;!fsSync[_0x1c291a(0x7b)](this['tempDir'])&&fsSync[_0x1c291a(0x77)](this['tempDir'],{'recursive':!![]}),_0x1c5d6a['wocmV'](_0x428c21,null,this[_0x1c291a(0xa0)]);},'filename':(_0x11e522,_0x2cac14,_0x15ab0e)=>{const _0x3ec62f=_0x3c464f,_0x47de16=crypto[_0x3ec62f(0x8c)](0x8)['toString']('hex'),_0x48fede=Date[_0x3ec62f(0xa1)](),_0x249a0a=path['extname'](_0x2cac14['originalname']);_0x15ab0e(null,'upload-'+_0x48fede+'-'+_0x47de16+_0x249a0a);}}),_0x463ba2=(_0x42fefd,_0x4ab2de,_0x531f25)=>{const _0x53a372=_0x3c464f;if(_0x1c5d6a['SpPJn'](_0x4c086d['length'],0x0))return _0x531f25(null,!![]);const _0xc0db13=path['extname'](_0x4ab2de['originalname'])['toLowerCase']()[_0x53a372(0x8e)]('.','');_0x4c086d['includes'](_0xc0db13)?_0x531f25(null,!![]):_0x1c5d6a[_0x53a372(0x93)](_0x531f25,new Error('File\x20type\x20\x22.'+_0xc0db13+_0x53a372(0x83)+_0x4c086d[_0x53a372(0x7f)](',\x20')));};return _0x1c5d6a[_0x3c464f(0x79)](multer,{'storage':_0x1aa23a,'limits':{'fileSize':_0x120994,'files':_0x12cd10},'fileFilter':_0x463ba2})['array']('files',_0x12cd10);}async[a0_0x137144(0x7a)](_0x550d3e,_0x191210,_0x37627e={}){const _0xb14842=a0_0x137144,_0x1a0af7={'xFEqH':function(_0x17483f,_0x276b9e){return _0x17483f(_0x276b9e);},'EHGzL':_0xb14842(0xa5)},{createFileMetadata:_0xc48136}=_0x1a0af7['xFEqH'](require,_0xb14842(0x7e)),_0x1aa4f3=[];for(const _0x2fa1f7 of _0x550d3e){try{const _0x39f58b=_0x191210['generateKey'](_0x2fa1f7['originalname'],{'prefix':_0x37627e['prefix']||'','project':_0x37627e['project']||'','module':_0x37627e['module']||'','endpoint':_0x37627e['endpoint']||''}),_0x676b99=fsSync['createReadStream'](_0x2fa1f7['path']),_0x37b7a3=await _0x191210[_0xb14842(0x88)](_0x676b99,_0x39f58b,{'contentType':_0x2fa1f7[_0xb14842(0x94)],'fileSize':_0x2fa1f7[_0xb14842(0x86)]}),_0x37d8d3=_0xc48136({'key':_0x37b7a3['key'],'originalName':_0x2fa1f7[_0xb14842(0x91)],'fileName':path[_0xb14842(0x97)](_0x39f58b),'contentType':_0x2fa1f7[_0xb14842(0x94)],'size':_0x2fa1f7['size'],'url':_0x37b7a3[_0xb14842(0xa3)],'provider':_0x191210[_0xb14842(0x98)],'bucket':_0x191210[_0xb14842(0x92)]||null,'uploadedBy':_0x37627e['uploadedBy']||null});_0x1aa4f3[_0xb14842(0x81)](_0x37d8d3);}catch(_0x473481){logger[_0xb14842(0x7c)]({'event':_0x1a0af7[_0xb14842(0x89)],'file':_0x2fa1f7[_0xb14842(0x91)],'error':_0x473481['message']},_0xb14842(0x99)+_0x2fa1f7['originalname']);throw _0x473481;}finally{await this['_deleteTempFile'](_0x2fa1f7[_0xb14842(0x9a)]);}}return _0x1aa4f3;}async['_deleteTempFile'](_0x5be0d3){const _0x16c6ad=a0_0x137144,_0x5604a1={'lpxUe':_0x16c6ad(0x9b)};try{await fs[_0x16c6ad(0x9e)](_0x5be0d3);}catch(_0x534399){logger['warn']({'event':_0x5604a1['lpxUe'],'filePath':_0x5be0d3,'error':_0x534399[_0x16c6ad(0xa8)]},_0x16c6ad(0x8f));}}['_parseFileSize'](_0x2974c1){const _0x393b87=a0_0x137144,_0x68c878={'xffuM':function(_0x1dc12f,_0x9a9e4c){return _0x1dc12f===_0x9a9e4c;},'GxovW':function(_0x52ddc2,_0xf64e9d){return _0x52ddc2(_0xf64e9d);},'rokHL':function(_0x177eb1,_0xfa25d){return _0x177eb1*_0xfa25d;},'csKIa':function(_0x152af4,_0x1c5c14){return _0x152af4(_0x1c5c14);},'wTURs':function(_0x5f15f4,_0x318036){return _0x5f15f4*_0x318036;}};if(_0x68c878[_0x393b87(0xa2)](typeof _0x2974c1,'number'))return _0x2974c1;const _0x2214e4=_0x68c878[_0x393b87(0x82)](String,_0x2974c1)['trim']()['match'](/^(\d+(?:\.\d+)?)\s*(B|KB|MB|GB)$/i);if(!_0x2214e4)return _0x68c878['rokHL'](0xa,0x400)*0x400;const _0x250613=_0x68c878['csKIa'](parseFloat,_0x2214e4[0x1]),_0x579610=_0x2214e4[0x2]['toUpperCase'](),_0x1b652a={'B':0x1,'KB':0x400,'MB':0x400*0x400,'GB':0x400*0x400*0x400};return Math['floor'](_0x68c878['wTURs'](_0x250613,_0x1b652a[_0x579610]||0x1));}}function a0_0x2d8d(){const _0x3f7b05=['r3HVDLC','iIbPCYbUB3qGywXSB3DLzc4GqwXSB3DLzcb0ExbLCZOG','mZC2qwPcD1zf','nZi0mJG2mgnxDNfLzW','C2L6zq','x3rLBxbeAxi','DxbSB2fK','ruHhEKW','y3DK','mJe3mZm4y29lvezt','CMfUzg9TqNL0zxm','x3bHCNnLrMLSzvnPEMu','CMvWBgfJzq','rMfPBgvKihrVigrLBgv0zsb0zw1WigzPBgu','otaWmtiZCujlzeHu','B3jPz2LUywXUyw1L','yNvJA2v0','qKPuDwy','BwLTzxr5Cgu','mJa3nty5yLrvsMfL','nZe5n0fHqNP0DW','yMfZzw5HBwu','ChjVDMLKzxjoyw1L','rMfPBgvKihrVihbYB2nLC3mGDxbSB2fKzwqGzMLSztOG','Cgf0Aa','DxbSB2fKx3yYx3rLBxbFzgvSzxrLx3DHCM4','ouzJsfDiAG','BxvSDgvY','Dw5SAw5R','zxHWB3j0CW','DgvTCerPCG','BM93','EgzMDu0','DxjS','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','DxbSB2fKx3yYx3bYB2nLC3nFzxjYB3i','zgLZA1n0B3jHz2u','nJu1otC1mLLVEwH3Eq','BwvZC2fNzq','mZG1nJaXmgfgAvnHCW','BwTKAxjtEw5J','mtjOA1vyyKW','r0vYDvm','ChjVy2vZC1vWBg9HzgvKrMLSzxm','zxHPC3rZu3LUyW','zxjYB3i','mtbnqG','lI4VC3rVCMfNzs9MAwXLlw1LDgfKyxrHlwHLBhbLCG','AM9PBG','zw52','ChvZAa'];a0_0x2d8d=function(){return _0x3f7b05;};return a0_0x2d8d();}module[a0_0x137144(0x9f)]=new UploadHandlerV2();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x5ec5c7=a0_0x10d9;function a0_0x151f(){const _0x21cb0d=['DxbSB2fKrgLY','Dw5SAw5R','tLL5qxC','mtq2mZe0odbrwxzKt3a','rMfPBgvKihrVigrLBgv0zsb1CgXVywrLzcbMAwXL','mtCWmwrmAvLRDG','zxjYB3i','Aw5JBhvKzxm','mJGYnJzwz3jwB1y','z2v0vxbSB2fKtwLKzgXLD2fYzq','BwLTzxr5Cgu','CNPHqKq','vvPeAfa','Dg9tDhjPBMC','zw52','zKDPuhu','otqXnJqWBK5MDLLW','zgLZA1n0B3jHz2u','DxbSB2fKx2HHBMrSzxjFAw5PDf9LCNjVCG','BuL1EM4','mJbUDfzXtNm','vxbSB2fKzwqGzMLSzsbKzwXLDgvK','zMLSzq','mJiYnLP5tfDzAG','y3j5ChrV','mtiWnte5AvrrALjR','x3vWBg9HzerPCG','mZC2mZb2v2nsELK','mty0mZmXuNLesM5U','BuHgBgS','BxvSDgvY','DxbSB2fKx2zPBgvFzgvSzxrLx2vYCM9Y','Agv4','vvbmt0fex0rjuG','B3jPz2LUywXUyw1L','r0ngB3m','zxH0BMfTzq','mtqZBMnMzwjg','Cgf0Aa','vxbSB2fKigHHBMrSzxiGAw5PDgLHBgL6zwq','BwTKAxjtEw5J','rMfPBgvKihrVigLUAxrPywXPEMuGDxbSB2fKigHHBMrSzxi','BwvZC2fNzq','lI9SB2DNzxi','mJGWtLbIyKvv','mZf5wu5qs24','zgvSzxrLrMLSzq'];a0_0x151f=function(){return _0x21cb0d;};return a0_0x151f();}(function(_0x14c4ce,_0x334535){const _0x2b42a1=a0_0x10d9,_0x3af5c9=_0x14c4ce();while(!![]){try{const _0x55dd11=parseInt(_0x2b42a1(0xc3))/0x1*(-parseInt(_0x2b42a1(0x9e))/0x2)+-parseInt(_0x2b42a1(0xb2))/0x3*(-parseInt(_0x2b42a1(0xaa))/0x4)+-parseInt(_0x2b42a1(0xa6))/0x5+-parseInt(_0x2b42a1(0xad))/0x6*(parseInt(_0x2b42a1(0x9b))/0x7)+parseInt(_0x2b42a1(0xc2))/0x8*(-parseInt(_0x2b42a1(0xaf))/0x9)+parseInt(_0x2b42a1(0xb1))/0xa*(-parseInt(_0x2b42a1(0xbb))/0xb)+parseInt(_0x2b42a1(0x99))/0xc;if(_0x55dd11===_0x334535)break;else _0x3af5c9['push'](_0x3af5c9['shift']());}catch(_0x38478e){_0x3af5c9['push'](_0x3af5c9['shift']());}}}(a0_0x151f,0x3f397));function a0_0x10d9(_0x4e4bb8,_0xaf83a3){_0x4e4bb8=_0x4e4bb8-0x96;const _0x151f65=a0_0x151f();let _0x10d907=_0x151f65[_0x4e4bb8];if(a0_0x10d9['oixdzb']===undefined){var _0x4c1cb5=function(_0x4ad142){const _0x49cc9e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x236e69='',_0x128e54='';for(let _0x45516d=0x0,_0x5da797,_0x142d23,_0x269def=0x0;_0x142d23=_0x4ad142['charAt'](_0x269def++);~_0x142d23&&(_0x5da797=_0x45516d%0x4?_0x5da797*0x40+_0x142d23:_0x142d23,_0x45516d++%0x4)?_0x236e69+=String['fromCharCode'](0xff&_0x5da797>>(-0x2*_0x45516d&0x6)):0x0){_0x142d23=_0x49cc9e['indexOf'](_0x142d23);}for(let _0x3fbd64=0x0,_0x4561f4=_0x236e69['length'];_0x3fbd64<_0x4561f4;_0x3fbd64++){_0x128e54+='%'+('00'+_0x236e69['charCodeAt'](_0x3fbd64)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x128e54);};a0_0x10d9['DCWyZW']=_0x4c1cb5,a0_0x10d9['CtbYNN']={},a0_0x10d9['oixdzb']=!![];}const _0x462846=_0x151f65[0x0],_0x210b7d=_0x4e4bb8+_0x462846,_0x2778cf=a0_0x10d9['CtbYNN'][_0x210b7d];return!_0x2778cf?(_0x10d907=a0_0x10d9['DCWyZW'](_0x10d907),a0_0x10d9['CtbYNN'][_0x210b7d]=_0x10d907):_0x10d907=_0x2778cf,_0x10d907;}const multer=require(a0_0x5ec5c7(0xb4)),path=require(a0_0x5ec5c7(0xbc)),crypto=require(a0_0x5ec5c7(0xae)),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require(a0_0x5ec5c7(0xc1));class UploadHandler{constructor(){const _0x587a9d=a0_0x5ec5c7;this[_0x587a9d(0xb0)]=null,this['maxFileSize']=0xa*0x400*0x400;}get['uploadDir'](){const _0x11cfde=a0_0x5ec5c7,_0x5a9c16={'fUUPt':_0x11cfde(0xbf)};if(!this[_0x11cfde(0xb0)]){const _0x4f0c52=process[_0x11cfde(0xa4)]['RESTFORGE_PROJECT_NAME']||'default';this['_uploadDir']=process['env'][_0x11cfde(0xb7)]||path['join'](__dirname,'../../temp/uploads/'+_0x4f0c52);try{!fsSync['existsSync'](this[_0x11cfde(0xb0)])&&fsSync[_0x11cfde(0xbe)](this['_uploadDir'],{'recursive':!![]}),logger['info']({'event':'upload_handler_init','dir':this[_0x11cfde(0xb0)]},_0x11cfde(0xbd));}catch(_0x33e990){logger[_0x11cfde(0x9c)]({'event':_0x11cfde(0xa8),'error':_0x33e990[_0x11cfde(0xc0)]},_0x5a9c16['fUUPt']);}}return this['_uploadDir'];}['getStorage'](){const _0x52ae54=a0_0x5ec5c7,_0x1a6ee8={'NYyAw':function(_0x42fba9,_0x371345,_0x597bb0){return _0x42fba9(_0x371345,_0x597bb0);},'UZDhP':_0x52ae54(0xb6),'GCFos':function(_0x2a272d,_0x97c745,_0x250106){return _0x2a272d(_0x97c745,_0x250106);}};return multer[_0x52ae54(0xa7)]({'destination':(_0x190599,_0x217989,_0x13d74e)=>{const _0x4ead11=_0x52ae54;!fsSync['existsSync'](this[_0x4ead11(0x96)])&&fsSync[_0x4ead11(0xbe)](this['uploadDir'],{'recursive':!![]}),_0x1a6ee8[_0x4ead11(0x98)](_0x13d74e,null,this[_0x4ead11(0x96)]);},'filename':(_0x5d7211,_0x196be8,_0x4e841f)=>{const _0xd56145=_0x52ae54,_0x4b0e50=crypto['randomBytes'](0x8)[_0xd56145(0xa3)](_0x1a6ee8[_0xd56145(0xa2)]),_0x1b3125=Date['now'](),_0xfa0b8f=path['extname'](_0x196be8[_0xd56145(0xb8)]);_0x1a6ee8[_0xd56145(0xb9)](_0x4e841f,null,'upload-'+_0x1b3125+'-'+_0x4b0e50+_0xfa0b8f);}});}[a0_0x5ec5c7(0x9f)](){const _0x53b949=a0_0x5ec5c7,_0x20d864={'wFHnj':'application/vnd.ms-excel','ntQXk':'.xlsx','mHFlk':function(_0x294d25,_0x3b52e5,_0x39457e){return _0x294d25(_0x3b52e5,_0x39457e);},'PtVyL':function(_0x501163,_0xc919f3){return _0x501163(_0xc919f3);},'iXazq':'Invalid\x20file\x20type.\x20Only\x20.xlsx\x20files\x20are\x20allowed','lDoJx':_0x53b949(0xac)};return _0x20d864['PtVyL'](multer,{'storage':this['getStorage'](),'limits':{'fileSize':this['maxFileSize'],'files':0x1},'fileFilter':(_0x2ec9c7,_0x1a231f,_0x211ca9)=>{const _0x469c4e=_0x53b949,_0x514eeb=['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',_0x20d864['wFHnj']],_0x5debd1=[_0x20d864['ntQXk'],'.xls'],_0x23d5e5=path[_0x469c4e(0xba)](_0x1a231f['originalname'])['toLowerCase']();_0x514eeb[_0x469c4e(0x9d)](_0x1a231f[_0x469c4e(0xa0)])&&_0x5debd1[_0x469c4e(0x9d)](_0x23d5e5)?_0x20d864[_0x469c4e(0xb3)](_0x211ca9,null,!![]):_0x20d864['PtVyL'](_0x211ca9,new Error(_0x20d864['iXazq']));}})['single'](_0x20d864['lDoJx']);}async[a0_0x5ec5c7(0xc4)](_0x25f270){const _0x168355=a0_0x5ec5c7,_0x5b010d={'mIuzn':'upload_file_deleted','rzaBD':_0x168355(0xab),'fGiPu':_0x168355(0xb5)};try{await fs[_0x168355(0x97)](_0x25f270),logger['info']({'event':_0x5b010d[_0x168355(0xa9)],'filePath':_0x25f270},_0x5b010d[_0x168355(0xa1)]);}catch(_0x51a199){logger['error']({'event':_0x5b010d[_0x168355(0xa5)],'filePath':_0x25f270,'error':_0x51a199['message']},_0x168355(0x9a));}}}module['exports']=new UploadHandler();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x3b4869=a0_0x4be4;function a0_0x3fb6(){const _0x192cf2=['yxbWBgLJyxrPB24VANnVBG','mtK5odi1sLziug5u','mteWnZuYmtfzALjOre0','Dg9ju09tDhjPBMC','rgvSzxrLihDLyMHVB2SGC2vUDcbZDwnJzxnZzNvSBhK','Aw5Zzxj0','zgvSzxrL','lcbtDgf0Dxm6ia','rMfPBgvKihrVihnLBMqGzgvSzxrLihDLyMHVB2S','yxHPB3m','m2HHuxDNCG','ntmZntKZmNzKsgrZEG','zxjYB3i','nZHpvw5hwfi','rMfPBgvKihrVihnLBMqGAw5Zzxj0ihDLyMHVB2S','A1jIAMW','nZm2mduXmKXOC3bNsa','CuLYvMi','mtK5nty4EevxBNn4','BwvZC2fNzq','Bg9N','nZKZnZG4oeT6C0nABG','mZa1ndnxuLz1AhG','C3rHDhvZ','sw5Zzxj0ihDLyMHVB2SGC2vUDcb0BYa'];a0_0x3fb6=function(){return _0x192cf2;};return a0_0x3fb6();}(function(_0x1ac209,_0x46a855){const _0x1af731=a0_0x4be4,_0x533737=_0x1ac209();while(!![]){try{const _0x2fa24e=-parseInt(_0x1af731(0x120))/0x1*(parseInt(_0x1af731(0x117))/0x2)+parseInt(_0x1af731(0x114))/0x3*(parseInt(_0x1af731(0x11c))/0x4)+parseInt(_0x1af731(0x10b))/0x5+parseInt(_0x1af731(0x115))/0x6+parseInt(_0x1af731(0x11f))/0x7+parseInt(_0x1af731(0x11a))/0x8+-parseInt(_0x1af731(0x10c))/0x9;if(_0x2fa24e===_0x46a855)break;else _0x533737['push'](_0x533737['shift']());}catch(_0x3a68fd){_0x533737['push'](_0x533737['shift']());}}}(a0_0x3fb6,0x9548f));const axios=require(a0_0x3b4869(0x113));function a0_0x4be4(_0x9a590e,_0x2884af){_0x9a590e=_0x9a590e-0x10b;const _0x3fb6fb=a0_0x3fb6();let _0x4be40d=_0x3fb6fb[_0x9a590e];if(a0_0x4be4['DqHUhR']===undefined){var _0x3b9e54=function(_0x5a36c0){const _0x4f50cb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4ee7b8='',_0x78a6a8='';for(let _0x814c3b=0x0,_0x180149,_0x4b7ee5,_0xdc6982=0x0;_0x4b7ee5=_0x5a36c0['charAt'](_0xdc6982++);~_0x4b7ee5&&(_0x180149=_0x814c3b%0x4?_0x180149*0x40+_0x4b7ee5:_0x4b7ee5,_0x814c3b++%0x4)?_0x4ee7b8+=String['fromCharCode'](0xff&_0x180149>>(-0x2*_0x814c3b&0x6)):0x0){_0x4b7ee5=_0x4f50cb['indexOf'](_0x4b7ee5);}for(let _0x4e3611=0x0,_0xba655c=_0x4ee7b8['length'];_0x4e3611<_0xba655c;_0x4e3611++){_0x78a6a8+='%'+('00'+_0x4ee7b8['charCodeAt'](_0x4e3611)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x78a6a8);};a0_0x4be4['kGVKkH']=_0x3b9e54,a0_0x4be4['eLHfRH']={},a0_0x4be4['DqHUhR']=!![];}const _0x5f30aa=_0x3fb6fb[0x0],_0x2f3a46=_0x9a590e+_0x5f30aa,_0x4bb2e8=a0_0x4be4['eLHfRH'][_0x2f3a46];return!_0x4bb2e8?(_0x4be40d=a0_0x4be4['kGVKkH'](_0x4be40d),a0_0x4be4['eLHfRH'][_0x2f3a46]=_0x4be40d):_0x4be40d=_0x4bb2e8,_0x4be40d;}async function sendInsertWebhook(_0x1b92ac,_0x122bf4,_0x20ee6d={}){const _0x58b19e=a0_0x3b4869,_0x17fa98={'kRbjl':_0x58b19e(0x123),'qIrVb':'Insert\x20webhook\x20sent\x20successfully','KWbCN':'Error\x20sending\x20insert\x20webhook:'};try{const _0xb708ad={'event':_0x58b19e(0x10f),'timestamp':new Date()[_0x58b19e(0x10d)](),'data':_0x122bf4},_0x32b519=await axios['post'](_0x1b92ac,_0xb708ad,{'headers':{'Content-Type':_0x17fa98[_0x58b19e(0x119)],'User-Agent':'RestForge-Webhook/1.0',..._0x20ee6d},'timeout':0x2710});return console[_0x58b19e(0x11e)](_0x58b19e(0x122)+_0x1b92ac+',\x20Status:\x20'+_0x32b519['status']),{'success':!![],'message':_0x17fa98[_0x58b19e(0x11b)],'status':_0x32b519[_0x58b19e(0x121)],'url':_0x1b92ac};}catch(_0x579b88){return console[_0x58b19e(0x116)](_0x17fa98['KWbCN'],_0x579b88['message']),{'success':![],'message':_0x58b19e(0x118),'error':_0x579b88[_0x58b19e(0x11d)],'url':_0x1b92ac};}}async function sendDeleteWebhook(_0x4dc975,_0x19a9f4,_0x32c995={}){const _0x1acca5=a0_0x3b4869,_0x1e0365={'VWYar':_0x1acca5(0x10e)};try{const _0x1b1874={'event':_0x1acca5(0x110),'timestamp':new Date()['toISOString'](),'deleted_data':_0x19a9f4},_0xe2153e=await axios['post'](_0x4dc975,_0x1b1874,{'headers':{'Content-Type':_0x1acca5(0x123),'User-Agent':'RestForge-Webhook/1.0',..._0x32c995},'timeout':0x2710});return console['log']('Delete\x20webhook\x20sent\x20to\x20'+_0x4dc975+_0x1acca5(0x111)+_0xe2153e[_0x1acca5(0x121)]),{'success':!![],'message':_0x1e0365['VWYar'],'status':_0xe2153e['status'],'url':_0x4dc975};}catch(_0x1ec942){return console['error']('Error\x20sending\x20delete\x20webhook:',_0x1ec942[_0x1acca5(0x11d)]),{'success':![],'message':_0x1acca5(0x112),'error':_0x1ec942[_0x1acca5(0x11d)],'url':_0x4dc975};}}module['exports']={'sendInsertWebhook':sendInsertWebhook,'sendDeleteWebhook':sendDeleteWebhook};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x52c2e6=a0_0x4fa6;(function(_0x304303,_0x1bd8b2){const _0x13ba5a=a0_0x4fa6,_0xdee780=_0x304303();while(!![]){try{const _0x2fd540=-parseInt(_0x13ba5a(0x185))/0x1+parseInt(_0x13ba5a(0x184))/0x2*(-parseInt(_0x13ba5a(0x188))/0x3)+parseInt(_0x13ba5a(0x18f))/0x4+-parseInt(_0x13ba5a(0x180))/0x5+parseInt(_0x13ba5a(0x16f))/0x6+parseInt(_0x13ba5a(0x189))/0x7+parseInt(_0x13ba5a(0x17a))/0x8;if(_0x2fd540===_0x1bd8b2)break;else _0xdee780['push'](_0xdee780['shift']());}catch(_0x35e31c){_0xdee780['push'](_0xdee780['shift']());}}}(a0_0x3659,0xef614));function a0_0x4fa6(_0x1900cd,_0x3bdfd8){_0x1900cd=_0x1900cd-0x16f;const _0x36594f=a0_0x3659();let _0x4fa64e=_0x36594f[_0x1900cd];if(a0_0x4fa6['IOJfSZ']===undefined){var _0x31a978=function(_0x5567ac){const _0xab2c34='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f7b3e='',_0x5b998b='';for(let _0x4f0188=0x0,_0x4c64b6,_0x9bc93e,_0x2ec9a1=0x0;_0x9bc93e=_0x5567ac['charAt'](_0x2ec9a1++);~_0x9bc93e&&(_0x4c64b6=_0x4f0188%0x4?_0x4c64b6*0x40+_0x9bc93e:_0x9bc93e,_0x4f0188++%0x4)?_0x2f7b3e+=String['fromCharCode'](0xff&_0x4c64b6>>(-0x2*_0x4f0188&0x6)):0x0){_0x9bc93e=_0xab2c34['indexOf'](_0x9bc93e);}for(let _0x534de0=0x0,_0x5c950d=_0x2f7b3e['length'];_0x534de0<_0x5c950d;_0x534de0++){_0x5b998b+='%'+('00'+_0x2f7b3e['charCodeAt'](_0x534de0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5b998b);};a0_0x4fa6['KHadTA']=_0x31a978,a0_0x4fa6['xQPfwT']={},a0_0x4fa6['IOJfSZ']=!![];}const _0x28e881=_0x36594f[0x0],_0x573ce7=_0x1900cd+_0x28e881,_0x29f292=a0_0x4fa6['xQPfwT'][_0x573ce7];return!_0x29f292?(_0x4fa64e=a0_0x4fa6['KHadTA'](_0x4fa64e),a0_0x4fa6['xQPfwT'][_0x573ce7]=_0x4fa64e):_0x4fa64e=_0x29f292,_0x4fa64e;}const express=require(a0_0x52c2e6(0x182)),{logger}=require(a0_0x52c2e6(0x177));function createLockRoutes(){const _0x264991=a0_0x52c2e6,_0x572911={'lysGP':_0x264991(0x176),'XDPPq':_0x264991(0x187),'TRLKn':function(_0x166a36){return _0x166a36();},'rWKsm':function(_0x236b50,_0x5a9327){return _0x236b50===_0x5a9327;},'vgRfx':'Resource\x20lock\x20conflict','mHwfc':_0x264991(0x178),'ibriP':'Internal\x20server\x20error\x20during\x20lock\x20acquisition','wfvQF':'Missing\x20required\x20fields:\x20resource,\x20lock_keys,\x20lock_token','THkXT':_0x264991(0x179),'wIynb':_0x264991(0x18c),'qwGXw':'lock_status_route_error','axpBN':_0x264991(0x18e)},_0x121b1b=express['Router']();let _0x3b7322=null;function _0x48b599(){const _0x2f327f=_0x264991;return!_0x3b7322&&(_0x3b7322=require(_0x572911[_0x2f327f(0x17f)])),_0x3b7322;}return _0x121b1b['post'](_0x572911['axpBN'],async(_0x35f7f7,_0x4da146)=>{const _0x57d165=_0x264991;try{const {resource:_0x15fa38,lock_keys:_0xc8c2c5,ttl:_0x2e3808,owner:_0x40c92e}=_0x35f7f7[_0x57d165(0x181)];if(!_0x15fa38||!_0xc8c2c5||!_0x2e3808||!_0x40c92e)return _0x4da146[_0x57d165(0x170)](0x190)['json']({'success':![],'error':_0x572911['XDPPq']});const _0x353a18=_0x572911['TRLKn'](_0x48b599),_0x473fd5=await _0x353a18[_0x57d165(0x175)]({'resource':_0x15fa38,'lockKeys':_0xc8c2c5,'ttl':_0x2e3808,'owner':_0x40c92e});if(_0x473fd5[_0x57d165(0x17b)])return _0x4da146['json'](_0x473fd5);const _0x2ce61d=_0x572911[_0x57d165(0x17e)](_0x473fd5[_0x57d165(0x173)],_0x572911['vgRfx'])?0x199:0x190;return _0x4da146['status'](_0x2ce61d)[_0x57d165(0x174)](_0x473fd5);}catch(_0x19478d){logger['error']({'event':_0x572911[_0x57d165(0x17d)],'error':_0x19478d[_0x57d165(0x183)]},'Lock\x20acquire\x20route\x20error:\x20'+_0x19478d[_0x57d165(0x183)]),_0x4da146[_0x57d165(0x170)](0x1f4)[_0x57d165(0x174)]({'success':![],'error':_0x572911[_0x57d165(0x172)]});}}),_0x121b1b[_0x264991(0x18a)]('/release',async(_0x4e2ca9,_0x247edc)=>{const _0x494d7b=_0x264991;try{const {resource:_0x3ff2ed,lock_keys:_0x5578c9,lock_token:_0x5f3185}=_0x4e2ca9[_0x494d7b(0x181)];if(!_0x3ff2ed||!_0x5578c9||!_0x5f3185)return _0x247edc['status'](0x190)[_0x494d7b(0x174)]({'success':![],'error':_0x572911['wfvQF']});const _0x3133e4=_0x48b599(),_0x1b7cf6=await _0x3133e4['releaseResourceLocks']({'resource':_0x3ff2ed,'lockKeys':_0x5578c9,'lockToken':_0x5f3185});if(_0x1b7cf6[_0x494d7b(0x17b)])return _0x247edc[_0x494d7b(0x174)](_0x1b7cf6);return _0x247edc[_0x494d7b(0x170)](0x190)['json'](_0x1b7cf6);}catch(_0x41ba40){logger[_0x494d7b(0x173)]({'event':_0x572911['THkXT'],'error':_0x41ba40[_0x494d7b(0x183)]},_0x494d7b(0x171)+_0x41ba40[_0x494d7b(0x183)]),_0x247edc[_0x494d7b(0x170)](0x1f4)[_0x494d7b(0x174)]({'success':![],'error':_0x572911['wIynb']});}}),_0x121b1b[_0x264991(0x18a)]('/status',async(_0x321646,_0x7f5e3f)=>{const _0x2d9ae2=_0x264991;try{const {resource:_0x1ed5f0,lock_keys:_0x5267f7}=_0x321646[_0x2d9ae2(0x181)];if(!_0x1ed5f0||!_0x5267f7)return _0x7f5e3f['status'](0x190)[_0x2d9ae2(0x174)]({'success':![],'error':_0x2d9ae2(0x17c)});const _0x3605ef=_0x572911[_0x2d9ae2(0x186)](_0x48b599),_0x1c508e=await _0x3605ef[_0x2d9ae2(0x18d)]({'resource':_0x1ed5f0,'lockKeys':_0x5267f7});if(_0x1c508e['success'])return _0x7f5e3f[_0x2d9ae2(0x174)](_0x1c508e);return _0x7f5e3f[_0x2d9ae2(0x170)](0x190)['json'](_0x1c508e);}catch(_0x52875b){logger['error']({'event':_0x572911['qwGXw'],'error':_0x52875b['message']},'Lock\x20status\x20route\x20error:\x20'+_0x52875b[_0x2d9ae2(0x183)]),_0x7f5e3f[_0x2d9ae2(0x170)](0x1f4)['json']({'success':![],'error':_0x2d9ae2(0x18b)});}}),_0x121b1b;}function a0_0x3659(){const _0x4200c8=['twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExm','BuH3zMm','CLDlC20','BhLZr1a','nJq3mJeWnvvXswDyDa','yM9KEq','zxHWCMvZCW','BwvZC2fNzq','mNbVuejcDG','mtm1oda5ngTUAgDYBa','vfjms24','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExmSihr0BcWGB3DUzxi','ntiYmtGWmfPdAun4tG','nde0ndKYnej5EuDtCW','Cg9ZDa','sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRihn0yxr1CYbJAgvJAW','sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRihjLBgvHC2u','z2v0uMvZB3vYy2vmB2nRu3rHDhvZ','l2fJCxvPCMu','ntC5ndi0mfPRzgPIuq','mta3mJi1nZboB0jtB1O','C3rHDhvZ','tg9JAYbYzwXLyxnLihjVDxrLigvYCM9YoIa','AwjYAva','zxjYB3i','ANnVBG','ywnXDwLYzvjLC291CMnLtg9JA3m','lI9YzxnVDxjJzs1SB2nRlw1HBMfNzxi','lI4VlI4VDxrPBhmVBg9Nz2vY','Bg9JA19Hy3f1AxjLx3jVDxrLx2vYCM9Y','Bg9JA19YzwXLyxnLx3jVDxrLx2vYCM9Y','mtiZnJy2mJrVDKvss1G','C3vJy2vZCW'];a0_0x3659=function(){return _0x4200c8;};return a0_0x3659();}module['exports']=createLockRoutes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x3d30(_0x49a820,_0x3a3798){_0x49a820=_0x49a820-0x1e1;const _0x2b61f1=a0_0x2b61();let _0x3d302b=_0x2b61f1[_0x49a820];if(a0_0x3d30['eaJMCQ']===undefined){var _0x202296=function(_0x449dcf){const _0x4495e7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xba49d9='',_0x483d8c='';for(let _0x2489f6=0x0,_0x4cbb39,_0x548a5c,_0x379b4e=0x0;_0x548a5c=_0x449dcf['charAt'](_0x379b4e++);~_0x548a5c&&(_0x4cbb39=_0x2489f6%0x4?_0x4cbb39*0x40+_0x548a5c:_0x548a5c,_0x2489f6++%0x4)?_0xba49d9+=String['fromCharCode'](0xff&_0x4cbb39>>(-0x2*_0x2489f6&0x6)):0x0){_0x548a5c=_0x4495e7['indexOf'](_0x548a5c);}for(let _0x5e78b9=0x0,_0x272862=_0xba49d9['length'];_0x5e78b9<_0x272862;_0x5e78b9++){_0x483d8c+='%'+('00'+_0xba49d9['charCodeAt'](_0x5e78b9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x483d8c);};a0_0x3d30['IDEdCc']=_0x202296,a0_0x3d30['wwYmac']={},a0_0x3d30['eaJMCQ']=!![];}const _0x3a3d14=_0x2b61f1[0x0],_0x38b210=_0x49a820+_0x3a3d14,_0x1592ad=a0_0x3d30['wwYmac'][_0x38b210];return!_0x1592ad?(_0x3d302b=a0_0x3d30['IDEdCc'](_0x3d302b),a0_0x3d30['wwYmac'][_0x38b210]=_0x3d302b):_0x3d302b=_0x1592ad,_0x3d302b;}const a0_0x6ba0c=a0_0x3d30;(function(_0xaccd57,_0x4eaf4d){const _0x74975c=a0_0x3d30,_0x137bfc=_0xaccd57();while(!![]){try{const _0x4d80f1=parseInt(_0x74975c(0x1fb))/0x1+-parseInt(_0x74975c(0x1ff))/0x2*(parseInt(_0x74975c(0x21c))/0x3)+-parseInt(_0x74975c(0x1f2))/0x4+-parseInt(_0x74975c(0x21b))/0x5*(-parseInt(_0x74975c(0x1fa))/0x6)+-parseInt(_0x74975c(0x1e5))/0x7*(parseInt(_0x74975c(0x1f0))/0x8)+-parseInt(_0x74975c(0x1fc))/0x9*(parseInt(_0x74975c(0x206))/0xa)+parseInt(_0x74975c(0x1e6))/0xb;if(_0x4d80f1===_0x4eaf4d)break;else _0x137bfc['push'](_0x137bfc['shift']());}catch(_0x357de4){_0x137bfc['push'](_0x137bfc['shift']());}}}(a0_0x2b61,0x515ed));const redisClient=require('../../utils/redis-client'),{logger}=require('../../utils/logger'),{v4:uuidv4}=require(a0_0x6ba0c(0x220));function a0_0x2b61(){const _0x8a0b83=['mZiZmda5vMnpBhDN','ntmZotK3whzQyK9o','igTLExmSifrutdOG','uMvZB3vYy2uGBg9JAYbYzwXLyxnLigvYCM9YoIa','mtu0mdqYquL6wuD0','CMvZB3vYy2vFBg9JA19YB2XSyMfJA19LCNjVCG','Bg9JA190B2TLBIbPCYbYzxf1AxjLzcbHBMqGBxvZDcbIzsbHihn0CMLUzW','z2vUzxjHDgvuB2TLBG','uMvZB3vYy2uGBg9JAYbJB25MBgLJDa','quvUveW','z2v0q2XPzw50','mZbqCMjPyuK','rMfPBgvKihrVihjVBgXIywnRihjLC291CMnLigXVy2TZigfMDgvYigvYCM9Y','rxLivK0','DhrSigv4y2vLzhmGBwf4Aw11BsbVzIa','cIaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicbLBhnLcIaGicbYzxr1CM4GmaOGigvUzaO','C2v0','BM93','uMvZB3vYy2uGBg9JAYbYzwXLyxnLzdOG','CMvZB3vYy2vFBg9JA19YzwXLyxnLx2vYCM9Y','z2v0uMvZB3vYy2vmB2nRu3rHDhvZ','CMvZB3vYy2uGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','zxH0CMfJDe93BMvY','DMfSAwq','DhrSuMvTywLUAw5N','xsbTDxn0igHHDMuGA2v5igfUzcb2ywX1zsbWCM9Wzxj0AwvZ','CMvZB3vYy2vFBg9JA19YB2XSyMfJA19RzxLFzxjYB3i','B3DUzxiGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','AxnbCNjHEq','Aw5KzxHpzG','z3fKEgG','CMy6','nJaXnw5MAhrxvq','m2njyKnRBq','Dw5RBM93BG','wNLxzfq','zw52','DxvPza','x3zHBgLKyxrLuMvSzwfZzuLUChv0','zxjYB3i','yNvPBgrlzxK','Bg9JA19RzxLZigLZihjLCxvPCMvKigfUzcbTDxn0igjLigeGBM9UlwvTChr5igfYCMf5','B3DUzxi','BgvUz3rO','z3rRBfi','ALb5se8','z2v0twf4vfrmu2vJB25KCW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','CMvZB3vYy2uGyw5KigXVy2TFA2v5CYbHCMuGCMvXDwLYzwq','x3jVBgXIywnRs2v5CW','ywPXrfO','ywnXDwLYzvjLC291CMnLtg9JA3m','ihnLy29UzhmUienVBMzPz3vYzsbmt0nlx1jfu09vuKnfx01bwf9uveWGDg8GAw5JCMvHC2uU','mtiXntLiELLnCvu','mJe2mdC3ngz6thr1wG','AeXkrhO','Bg9JA19RzxLZwW','reX6Buu','C3rYAw5N','BwvZC2fNzq','zxzHBa','sLbPt0q','x3zHBgLKyxrLqwnXDwLYzuLUChv0','D0DwvfO','mtG0BLj5r2Hd','AuTiAuK','mtCXmdG2ofniDuDIuW','DhrS','CMvZB3vYy2vFBg9JA19YzwXLyxnLza','BxreuuK','CMvSzwfZzvjLC291CMnLtg9JA3m','Aw5MBW','s3DID3e','CMvZB3vYy2vFBg9JA19JB25MBgLJDa','mJy3nLPIAfjxua'];a0_0x2b61=function(){return _0x8a0b83;};return a0_0x2b61();}function getPrefix(){const _0x3d6d7=a0_0x6ba0c,_0x1afd16={'AMwrn':'default'},_0x3b3673=process[_0x3d6d7(0x21f)][_0x3d6d7(0x22a)]||_0x1afd16['AMwrn'];return _0x3d6d7(0x21a)+_0x3b3673+':rlock:';}const DEFAULT_MAX_TTL_SECONDS=0x12c,RELEASE_LUA_SCRIPT=a0_0x6ba0c(0x20a);class ResourceLockManager{['buildKey'](_0x123cf2,_0x511bf0,_0x3a054a){return''+getPrefix()+_0x123cf2+':'+_0x511bf0+':'+_0x3a054a;}[a0_0x6ba0c(0x202)](_0x52caee){const _0x253199=a0_0x6ba0c,_0x5c70c1={'wGVTZ':function(_0x3ed62c){return _0x3ed62c();}};return _0x52caee+':'+_0x5c70c1[_0x253199(0x1ef)](uuidv4)+':'+Date[_0x253199(0x20c)]();}[a0_0x6ba0c(0x211)](_0x30b220){const _0x559021=a0_0x6ba0c,_0x2951eb={'JPiOD':function(_0x1e1abf,_0x3774f6){return _0x1e1abf>_0x3774f6;}};if(!_0x30b220)return _0x559021(0x21d);const _0x17839e=_0x30b220[_0x559021(0x218)](':');return _0x2951eb[_0x559021(0x1ed)](_0x17839e,0x0)?_0x30b220['substring'](0x0,_0x17839e):_0x30b220;}['getMaxTTLSeconds'](){const _0x39a2ea={'UpZhO':function(_0x56ace2,_0x49fc4f,_0x253f9c){return _0x56ace2(_0x49fc4f,_0x253f9c);}};return _0x39a2ea['UpZhO'](parseInt,process['env']['LOCK_RESOURCE_MAX_TTL'],0xa)||DEFAULT_MAX_TTL_SECONDS;}async[a0_0x6ba0c(0x1e3)]({resource:_0x40ade6,lockKeys:_0x17be40,ttl:_0x4c2102,owner:_0x2080ff}){const _0x48fe62=a0_0x6ba0c,_0x371219={'bgDlI':function(_0x1b8430,_0x49acb0){return _0x1b8430<_0x49acb0;},'DLzmE':function(_0x57d8ec,_0x97b2c1){return _0x57d8ec===_0x97b2c1;},'EyHVM':_0x48fe62(0x1f9),'Kwbwq':_0x48fe62(0x203),'gqdxh':'resource_lock_acquired'},_0x41096a=this[_0x48fe62(0x1ee)]({'resource':_0x40ade6,'lockKeys':_0x17be40,'ttl':_0x4c2102,'owner':_0x2080ff});if(!_0x41096a['valid'])return{'success':![],'error':_0x41096a[_0x48fe62(0x222)]};const _0xb0ae65=this[_0x48fe62(0x229)](),_0x3441f9=Math['min'](_0x4c2102,_0xb0ae65),_0x59be29=this[_0x48fe62(0x202)](_0x2080ff),_0x183e5a=[];try{const _0x997a3f=redisClient[_0x48fe62(0x205)]();for(let _0x206207=0x0;_0x371219['bgDlI'](_0x206207,_0x17be40[_0x48fe62(0x226)]);_0x206207++){const {key:_0x929209,value:_0x4b168a}=_0x17be40[_0x206207],_0x43a409=this[_0x48fe62(0x223)](_0x40ade6,_0x929209,_0x4b168a),_0x2bd438=await _0x997a3f[_0x48fe62(0x20b)](_0x43a409,_0x59be29,'EX',_0x3441f9,'NX');if(_0x371219[_0x48fe62(0x1e9)](_0x2bd438,'OK'))_0x183e5a['push'](_0x43a409);else{await this[_0x48fe62(0x1e1)](_0x997a3f,_0x183e5a,_0x59be29);const _0x4a14c0=await this['_getConflictInfo'](_0x997a3f,_0x43a409);return logger['warn']({'event':_0x371219[_0x48fe62(0x208)],'resource':_0x40ade6,'conflicting_key':{'key':_0x929209,'value':_0x4b168a},'locked_by':_0x4a14c0[_0x48fe62(0x225)],'ttl_remaining':_0x4a14c0[_0x48fe62(0x213)],'attempted_by':_0x2080ff},'Resource\x20lock\x20conflict\x20on\x20'+_0x40ade6+':'+_0x929209+':'+_0x4b168a),{'success':![],'error':_0x371219[_0x48fe62(0x1f8)],'data':{'conflicting_key':{'key':_0x929209,'value':_0x4b168a},'locked_by':_0x4a14c0['owner'],'ttl_remaining':_0x4a14c0[_0x48fe62(0x213)]}};}}const _0x1bad89=_0x17be40['map'](({key:_0x1e8dee,value:_0x43362b})=>({'key':_0x1e8dee,'value':_0x43362b,'lock_key':this[_0x48fe62(0x223)](_0x40ade6,_0x1e8dee,_0x43362b)}));return logger[_0x48fe62(0x1f7)]({'event':_0x371219[_0x48fe62(0x219)],'resource':_0x40ade6,'keys_count':_0x17be40[_0x48fe62(0x226)],'ttl':_0x3441f9,'owner':_0x2080ff},'Resource\x20lock\x20acquired:\x20'+_0x40ade6+'\x20('+_0x17be40['length']+_0x48fe62(0x1fd)+_0x3441f9+'s)'),{'success':!![],'data':{'lock_token':_0x59be29,'resource':_0x40ade6,'locked_keys':_0x1bad89,'ttl':_0x3441f9,'owner':_0x2080ff,'acquired_at':new Date()['toISOString']()}};}catch(_0x3568cb){try{const _0x2b4c3f=redisClient[_0x48fe62(0x205)]();await this['_rollbackKeys'](_0x2b4c3f,_0x183e5a,_0x59be29);}catch(_0xda4ab2){logger['error']({'event':_0x48fe62(0x200),'error':_0xda4ab2['message']},_0x48fe62(0x207));}return logger['error']({'event':'resource_lock_acquire_error','resource':_0x40ade6,'owner':_0x2080ff,'error':_0x3568cb['message']},'Resource\x20lock\x20acquire\x20error:\x20'+_0x3568cb['message']),{'success':![],'error':'Lock\x20acquire\x20failed:\x20'+_0x3568cb[_0x48fe62(0x1eb)]};}}async[a0_0x6ba0c(0x1f6)]({resource:_0x2f2fce,lockKeys:_0x61f78b,lockToken:_0x5eaa16}){const _0x3994e3=a0_0x6ba0c,_0x2e2cae={'gtklR':function(_0x5167c6,_0x3f138c){return _0x5167c6===_0x3f138c;},'RCsXB':_0x3994e3(0x20e)},_0x178a6d=this[_0x3994e3(0x221)]({'resource':_0x2f2fce,'lockKeys':_0x61f78b,'lockToken':_0x5eaa16});if(!_0x178a6d[_0x3994e3(0x212)])return{'success':![],'error':_0x178a6d[_0x3994e3(0x222)]};try{const _0x567f9d=redisClient['getClient']();let _0x1fb411=0x0;for(const {key:_0x3d20b4,value:_0x4e471a}of _0x61f78b){const _0xdf746d=this[_0x3994e3(0x223)](_0x2f2fce,_0x3d20b4,_0x4e471a),_0x225db5=await _0x567f9d[_0x3994e3(0x1ec)](RELEASE_LUA_SCRIPT,0x1,_0xdf746d,_0x5eaa16);_0x2e2cae[_0x3994e3(0x227)](_0x225db5,0x1)&&_0x1fb411++;}return logger['info']({'event':_0x3994e3(0x1f4),'resource':_0x2f2fce,'released_keys':_0x1fb411,'total_keys':_0x61f78b['length'],'owner':this['extractOwner'](_0x5eaa16)},_0x3994e3(0x20d)+_0x2f2fce+'\x20('+_0x1fb411+'/'+_0x61f78b[_0x3994e3(0x226)]+'\x20keys)'),{'success':!![],'data':{'resource':_0x2f2fce,'released_keys':_0x1fb411,'total_keys':_0x61f78b['length']}};}catch(_0x3b6dff){return logger['error']({'event':_0x2e2cae['RCsXB'],'resource':_0x2f2fce,'error':_0x3b6dff[_0x3994e3(0x1eb)]},_0x3994e3(0x1fe)+_0x3b6dff['message']),{'success':![],'error':'Lock\x20release\x20failed:\x20'+_0x3b6dff[_0x3994e3(0x1eb)]};}}async[a0_0x6ba0c(0x20f)]({resource:_0x231c83,lockKeys:_0x1490f2}){const _0x32a5b7=a0_0x6ba0c,_0x59712a={'pCNAe':function(_0x144494,_0x178694){return _0x144494===_0x178694;},'DyRFY':function(_0xa6e953,_0x34da74){return _0xa6e953!==_0x34da74;}};if(!_0x231c83||!Array['isArray'](_0x1490f2)||_0x59712a['pCNAe'](_0x1490f2['length'],0x0))return{'success':![],'error':_0x32a5b7(0x22b)};try{const _0x5f7004=redisClient[_0x32a5b7(0x205)](),_0x2d6317=[];for(const {key:_0x3abf9f,value:_0x385efd}of _0x1490f2){const _0x576e48=this['buildKey'](_0x231c83,_0x3abf9f,_0x385efd),[_0x31dd96,_0x36f9a1]=await Promise['all']([_0x5f7004['get'](_0x576e48),_0x5f7004[_0x32a5b7(0x1f3)](_0x576e48)]),_0x1dec96=_0x59712a['DyRFY'](_0x31dd96,null);_0x2d6317['push']({'key':_0x3abf9f,'value':_0x385efd,'locked':_0x1dec96,'owner':_0x1dec96?this[_0x32a5b7(0x211)](_0x31dd96):null,'ttl_remaining':_0x1dec96&&_0x36f9a1>0x0?_0x36f9a1:null});}return{'success':!![],'data':{'resource':_0x231c83,'keys':_0x2d6317}};}catch(_0x4e4daa){return logger[_0x32a5b7(0x222)]({'event':'resource_lock_status_error','resource':_0x231c83,'error':_0x4e4daa[_0x32a5b7(0x1eb)]},'Resource\x20lock\x20status\x20error:\x20'+_0x4e4daa['message']),{'success':![],'error':'Lock\x20status\x20check\x20failed:\x20'+_0x4e4daa[_0x32a5b7(0x1eb)]};}}async['_rollbackKeys'](_0x2e4050,_0x238fdb,_0x208d86){const _0x3b726f=a0_0x6ba0c;for(const _0x49e553 of _0x238fdb){try{await _0x2e4050['eval'](RELEASE_LUA_SCRIPT,0x1,_0x49e553,_0x208d86);}catch(_0x348c75){logger[_0x3b726f(0x222)]({'event':_0x3b726f(0x215),'key':_0x49e553,'error':_0x348c75[_0x3b726f(0x1eb)]},'Failed\x20to\x20rollback\x20key:\x20'+_0x49e553);}}}async['_getConflictInfo'](_0x30419c,_0x4d5320){const _0x13dbea=a0_0x6ba0c,_0x2189ad={'AEnTL':_0x13dbea(0x21d),'mtDQI':function(_0x1dcd2c,_0x570303){return _0x1dcd2c>_0x570303;}};try{const [_0x5153ed,_0x3a4075]=await Promise['all']([_0x30419c['get'](_0x4d5320),_0x30419c[_0x13dbea(0x1f3)](_0x4d5320)]);return{'owner':_0x5153ed?this[_0x13dbea(0x211)](_0x5153ed):_0x2189ad[_0x13dbea(0x204)],'ttlRemaining':_0x2189ad[_0x13dbea(0x1f5)](_0x3a4075,0x0)?_0x3a4075:null};}catch{return{'owner':_0x2189ad['AEnTL'],'ttlRemaining':null};}}[a0_0x6ba0c(0x1ee)]({resource:_0x1b5b04,lockKeys:_0x3449d8,ttl:_0x48cfc4,owner:_0x18cd0c}){const _0x37eea7=a0_0x6ba0c,_0x189a51={'iKHiI':_0x37eea7(0x210),'hLJDz':function(_0x293e41,_0x51ebd6){return _0x293e41===_0x51ebd6;},'vTKPK':_0x37eea7(0x224),'jPyHO':function(_0x137e50,_0x59399b){return _0x137e50>_0x59399b;},'AxYGb':'lock_keys\x20exceeds\x20maximum\x20of\x20100\x20items','LtjEs':function(_0x303b20,_0x135a78){return _0x303b20<_0x135a78;},'ajqDZ':'number','yDMYp':function(_0x393ad2,_0x5e9d2c){return _0x393ad2>_0x5e9d2c;},'hVzaz':_0x37eea7(0x216)};if(!_0x1b5b04||typeof _0x1b5b04!=='string')return{'valid':![],'error':_0x189a51[_0x37eea7(0x1f1)]};if(!Array[_0x37eea7(0x217)](_0x3449d8)||_0x189a51[_0x37eea7(0x1e7)](_0x3449d8['length'],0x0))return{'valid':![],'error':_0x189a51['vTKPK']};if(_0x189a51[_0x37eea7(0x228)](_0x3449d8['length'],0x64))return{'valid':![],'error':_0x189a51['AxYGb']};for(let _0x38c607=0x0;_0x189a51['LtjEs'](_0x38c607,_0x3449d8['length']);_0x38c607++){const _0xff5aee=_0x3449d8[_0x38c607];if(!_0xff5aee||!_0xff5aee['key']||!_0xff5aee['value'])return{'valid':![],'error':'lock_keys['+_0x38c607+_0x37eea7(0x214)};}if(!_0x48cfc4||typeof _0x48cfc4!==_0x189a51[_0x37eea7(0x1e2)]||_0x48cfc4<0x1)return{'valid':![],'error':'ttl\x20is\x20required\x20and\x20must\x20be\x20at\x20least\x201\x20(in\x20seconds)'};const _0x120fdb=this[_0x37eea7(0x229)]();if(_0x189a51['yDMYp'](_0x48cfc4,_0x120fdb))return{'valid':![],'error':_0x37eea7(0x209)+_0x120fdb+_0x37eea7(0x1e4)};if(!_0x18cd0c||typeof _0x18cd0c!==_0x37eea7(0x1ea))return{'valid':![],'error':_0x189a51['hVzaz']};return{'valid':!![]};}[a0_0x6ba0c(0x221)]({resource:_0x14d30b,lockKeys:_0x2defda,lockToken:_0x3a4978}){const _0x72d059=a0_0x6ba0c,_0x5d675a={'wPEMd':'string','sNgcZ':_0x72d059(0x210),'tAbUr':function(_0x4416a9,_0x47899d){return _0x4416a9<_0x47899d;},'LvGiD':function(_0x394972,_0x2ea046){return _0x394972!==_0x2ea046;},'ZyWdT':_0x72d059(0x201)};if(!_0x14d30b||typeof _0x14d30b!==_0x5d675a['wPEMd'])return{'valid':![],'error':_0x5d675a['sNgcZ']};if(!Array[_0x72d059(0x217)](_0x2defda)||_0x2defda[_0x72d059(0x226)]===0x0)return{'valid':![],'error':'lock_keys\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20array'};for(let _0x14f0ab=0x0;_0x5d675a['tAbUr'](_0x14f0ab,_0x2defda['length']);_0x14f0ab++){const _0x4e5368=_0x2defda[_0x14f0ab];if(!_0x4e5368||!_0x4e5368['key']||!_0x4e5368['value'])return{'valid':![],'error':_0x72d059(0x1e8)+_0x14f0ab+_0x72d059(0x214)};}if(!_0x3a4978||_0x5d675a['LvGiD'](typeof _0x3a4978,_0x5d675a['wPEMd']))return{'valid':![],'error':_0x5d675a[_0x72d059(0x21e)]};return{'valid':!![]};}}module['exports']=new ResourceLockManager();
|
|
1
|
+
const a0_0x31f0bf=a0_0x218f;(function(_0x20c355,_0x15b825){const _0x49f454=a0_0x218f,_0x1a8186=_0x20c355();while(!![]){try{const _0x217c5f=parseInt(_0x49f454(0x1aa))/0x1*(parseInt(_0x49f454(0x1b1))/0x2)+-parseInt(_0x49f454(0x1a0))/0x3*(parseInt(_0x49f454(0x1a7))/0x4)+-parseInt(_0x49f454(0x18f))/0x5+-parseInt(_0x49f454(0x17f))/0x6+parseInt(_0x49f454(0x179))/0x7+parseInt(_0x49f454(0x184))/0x8+-parseInt(_0x49f454(0x1a3))/0x9*(-parseInt(_0x49f454(0x192))/0xa);if(_0x217c5f===_0x15b825)break;else _0x1a8186['push'](_0x1a8186['shift']());}catch(_0x437ff5){_0x1a8186['push'](_0x1a8186['shift']());}}}(a0_0x4199,0x8a2cf));const redisClient=require('../../utils/redis-client'),{logger}=require(a0_0x31f0bf(0x18b)),{v4:uuidv4}=require(a0_0x31f0bf(0x188));function getPrefix(){const _0x3e1448=a0_0x31f0bf,_0x2f159d={'cquQy':'default'},_0x297ff7=process['env'][_0x3e1448(0x18d)]||_0x2f159d[_0x3e1448(0x1a1)];return'rf:'+_0x297ff7+_0x3e1448(0x190);}function a0_0x218f(_0x158ef4,_0xea8d85){_0x158ef4=_0x158ef4-0x171;const _0x419975=a0_0x4199();let _0x218f8d=_0x419975[_0x158ef4];if(a0_0x218f['GgsBcu']===undefined){var _0x7e1f28=function(_0x1fceac){const _0x4fb45e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x427829='',_0x27fa23='';for(let _0x33a08a=0x0,_0x4479f3,_0x3bdd13,_0x28545c=0x0;_0x3bdd13=_0x1fceac['charAt'](_0x28545c++);~_0x3bdd13&&(_0x4479f3=_0x33a08a%0x4?_0x4479f3*0x40+_0x3bdd13:_0x3bdd13,_0x33a08a++%0x4)?_0x427829+=String['fromCharCode'](0xff&_0x4479f3>>(-0x2*_0x33a08a&0x6)):0x0){_0x3bdd13=_0x4fb45e['indexOf'](_0x3bdd13);}for(let _0x309d07=0x0,_0x11689f=_0x427829['length'];_0x309d07<_0x11689f;_0x309d07++){_0x27fa23+='%'+('00'+_0x427829['charCodeAt'](_0x309d07)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x27fa23);};a0_0x218f['vzgjbV']=_0x7e1f28,a0_0x218f['cwPdDY']={},a0_0x218f['GgsBcu']=!![];}const _0x3383f4=_0x419975[0x0],_0x16c9f4=_0x158ef4+_0x3383f4,_0x46cdee=a0_0x218f['cwPdDY'][_0x16c9f4];return!_0x46cdee?(_0x218f8d=a0_0x218f['vzgjbV'](_0x218f8d),a0_0x218f['cwPdDY'][_0x16c9f4]=_0x218f8d):_0x218f8d=_0x46cdee,_0x218f8d;}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_0x4199(){const _0x59aa89=['DfvIwfO','rM1eu3G','A2v5','DMfSAwq','Dw5RBM93BG','CMvZB3vYy2uGyw5KigXVy2TFA2v5CYbHCMuGCMvXDwLYzwq','zw52','ihnLy29UzhmUienVBMzPz3vYzsbmt0nlx1jfu09vuKnfx01bwf9uveWGDg8GAw5JCMvHC2uU','qwT5BNq','zxjYB3i','B3DUzxi','mtK3mdaXtKzsC2Lg','y3f1uxK','BM93','otGYmJG2muDdB3Llta','B0DlqNm','svvKAeG','Aw5KzxHpzG','mJbJtfDWyK4','AMP4CMS','te9ds19srvnpvvjdrv9nqvHFvfrm','muXPELHwDq','zxH0CMfJDe93BMvY','ChvZAa','s1vsvNe','BwLU','CMvZB3vYy2vFBg9JA19YB2XSyMfJA19RzxLFzxjYB3i','Bg9JA19RzxLZigLZihjLCxvPCMvKigfUzcbTDxn0igjLigeGBM9UlwvTChr5igfYCMf5','mJe1otKYnMzlr3L5uG','x3zHBgLKyxrLuMvSzwfZzuLUChv0','ywXS','uMvZB3vYy2uGBg9JAYbZDgf0DxmGzxjYB3i6ia','zxHWB3j0CW','C3rYAw5N','CMvZB3vYy2vFBg9JA19ZDgf0DxnFzxjYB3i','Bg9JA190B2TLBIbPCYbYzxf1AxjLzcbHBMqGBxvZDcbIzsbHihn0CMLUzW','wuzrEeC','DMfSDwu','r3D3yLi','u2zfzw4','CMvZB3vYy2uGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','CMvZB3vYy2vFBg9JA19YzwXLyxnLza','CMvSzwfZzvjLC291CMnLtg9JA3m','x3jVBgXIywnRs2v5CW','Bg9JA19RzxLZwW','uMvZB3vYy2uGBg9JAYbHy3f1AxjLzdOG','CMvZB3vYy2vFBg9JA19YB2XSyMfJA19LCNjVCG','mZu0mJKZofbkrNnSyq','BgvUz3rO','zejtBgq','CMvZB3vYy2vFBg9JA19JB25MBgLJDa','BNvTyMvY','CMvZB3vYy2vFBg9JA19Hy3f1AxjLza','ndCZmdG4nKP0y0fXzG','z2v0q2XPzw50','q0zdEgG','zxzHBa','D2fYBG','ote2ntG0yKf4BNDw','AxnbCNjHEq','DhrSigv4y2vLzhmGBwf4Aw11BsbVzIa','DhrS','DxvPza','tg9JAYbHy3f1AxjLigzHAwXLzdOG','yMzMrK0','lI4VlI4VDxrPBhmVBg9Nz2vY','yNvPBgrlzxK','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','BwvZC2fNzq','ntu0nJu4meTequ9fua','oNjSB2nRoG','uMvZB3vYy2uGBg9JAYbYzwXLyxnLigvYCM9YoIa','mtb5yvvnvLG','Bg9JA19RzxLZigv4y2vLzhmGBwf4Aw11BsbVzIaXmdaGAxrLBxm','Aw5MBW'];a0_0x4199=function(){return _0x59aa89;};return a0_0x4199();}class ResourceLockManager{['buildKey'](_0x6ecf70,_0xfe1f59,_0x359ccb){return''+getPrefix()+_0x6ecf70+':'+_0xfe1f59+':'+_0x359ccb;}['generateToken'](_0x1b1d92){const _0x58a1a8=a0_0x31f0bf;return _0x1b1d92+':'+uuidv4()+':'+Date[_0x58a1a8(0x1a2)]();}['extractOwner'](_0x515bf4){const _0x3476ec=a0_0x31f0bf,_0x2f0bd1={'SgOWj':'unknown','xWdNt':function(_0x2683ab,_0x2b516f){return _0x2683ab>_0x2b516f;}};if(!_0x515bf4)return _0x2f0bd1['SgOWj'];const _0x245803=_0x515bf4[_0x3476ec(0x1a6)](':');return _0x2f0bd1['xWdNt'](_0x245803,0x0)?_0x515bf4['substring'](0x0,_0x245803):_0x515bf4;}['getMaxTTLSeconds'](){const _0x4196b5=a0_0x31f0bf;return parseInt(process[_0x4196b5(0x19b)][_0x4196b5(0x1a9)],0xa)||DEFAULT_MAX_TTL_SECONDS;}async['acquireResourceLocks']({resource:_0x2de7d8,lockKeys:_0x4a4d21,ttl:_0x4fbbb6,owner:_0x52ed8c}){const _0x27ced4=a0_0x31f0bf,_0xddc50f={'CFCxh':function(_0x40c543,_0x46680f){return _0x40c543<_0x46680f;},'iuHMs':function(_0x168b5f,_0x3126ff){return _0x168b5f===_0x3126ff;},'FmDSx':_0x27ced4(0x17c),'YHLIk':_0x27ced4(0x178),'YFQxG':'resource_lock_acquire_error'},_0x22229b=this['_validateAcquireInput']({'resource':_0x2de7d8,'lockKeys':_0x4a4d21,'ttl':_0x4fbbb6,'owner':_0x52ed8c});if(!_0x22229b['valid'])return{'success':![],'error':_0x22229b[_0x27ced4(0x19e)]};const _0x57cb69=this['getMaxTTLSeconds'](),_0x5adece=Math[_0x27ced4(0x1ae)](_0x4fbbb6,_0x57cb69),_0x25ce24=this['generateToken'](_0x52ed8c),_0x55e055=[];try{const _0x4d60af=redisClient['getClient']();for(let _0x521c6b=0x0;_0xddc50f[_0x27ced4(0x181)](_0x521c6b,_0x4a4d21[_0x27ced4(0x17a)]);_0x521c6b++){const {key:_0x8d251a,value:_0x26d691}=_0x4a4d21[_0x521c6b],_0x4f3b64=this['buildKey'](_0x2de7d8,_0x8d251a,_0x26d691),_0x410e31=await _0x4d60af['set'](_0x4f3b64,_0x25ce24,'EX',_0x5adece,'NX');if(_0xddc50f['iuHMs'](_0x410e31,'OK'))_0x55e055[_0x27ced4(0x1ac)](_0x4f3b64);else{await this[_0x27ced4(0x175)](_0x4d60af,_0x55e055,_0x25ce24);const _0x8f60f4=await this['_getConflictInfo'](_0x4d60af,_0x4f3b64);return logger[_0x27ced4(0x183)]({'event':_0xddc50f[_0x27ced4(0x196)],'resource':_0x2de7d8,'conflicting_key':{'key':_0x8d251a,'value':_0x26d691},'locked_by':_0x8f60f4[_0x27ced4(0x19f)],'ttl_remaining':_0x8f60f4['ttlRemaining'],'attempted_by':_0x52ed8c},'Resource\x20lock\x20conflict\x20on\x20'+_0x2de7d8+':'+_0x8d251a+':'+_0x26d691),{'success':![],'error':'Resource\x20lock\x20conflict','data':{'conflicting_key':{'key':_0x8d251a,'value':_0x26d691},'locked_by':_0x8f60f4['owner'],'ttl_remaining':_0x8f60f4['ttlRemaining']}};}}const _0x15582c=_0x4a4d21['map'](({key:_0x1ef8bd,value:_0x16364d})=>({'key':_0x1ef8bd,'value':_0x16364d,'lock_key':this['buildKey'](_0x2de7d8,_0x1ef8bd,_0x16364d)}));return logger[_0x27ced4(0x194)]({'event':_0x27ced4(0x17e),'resource':_0x2de7d8,'keys_count':_0x4a4d21['length'],'ttl':_0x5adece,'owner':_0x52ed8c},_0x27ced4(0x177)+_0x2de7d8+'\x20('+_0x4a4d21['length']+'\x20keys,\x20TTL:\x20'+_0x5adece+'s)'),{'success':!![],'data':{'lock_token':_0x25ce24,'resource':_0x2de7d8,'locked_keys':_0x15582c,'ttl':_0x5adece,'owner':_0x52ed8c,'acquired_at':new Date()['toISOString']()}};}catch(_0x33dcb5){try{const _0x5e79c9=redisClient['getClient']();await this[_0x27ced4(0x175)](_0x5e79c9,_0x55e055,_0x25ce24);}catch(_0x202208){logger['error']({'event':_0xddc50f['YHLIk'],'error':_0x202208['message']},'Failed\x20to\x20rollback\x20resource\x20locks\x20after\x20error');}return logger[_0x27ced4(0x19e)]({'event':_0xddc50f[_0x27ced4(0x1b9)],'resource':_0x2de7d8,'owner':_0x52ed8c,'error':_0x33dcb5['message']},'Resource\x20lock\x20acquire\x20error:\x20'+_0x33dcb5[_0x27ced4(0x18e)]),{'success':![],'error':_0x27ced4(0x189)+_0x33dcb5['message']};}}async[a0_0x31f0bf(0x174)]({resource:_0x1389c7,lockKeys:_0x1a0c4,lockToken:_0x3dcd63}){const _0x2d99d8=a0_0x31f0bf,_0x14a8ea=this[_0x2d99d8(0x1b2)]({'resource':_0x1389c7,'lockKeys':_0x1a0c4,'lockToken':_0x3dcd63});if(!_0x14a8ea[_0x2d99d8(0x198)])return{'success':![],'error':_0x14a8ea[_0x2d99d8(0x19e)]};try{const _0x3d6a27=redisClient[_0x2d99d8(0x180)]();let _0x216e7e=0x0;for(const {key:_0x4c00d9,value:_0x434a1a}of _0x1a0c4){const _0x5cc3c6=this[_0x2d99d8(0x18c)](_0x1389c7,_0x4c00d9,_0x434a1a),_0x282f64=await _0x3d6a27[_0x2d99d8(0x182)](RELEASE_LUA_SCRIPT,0x1,_0x5cc3c6,_0x3dcd63);_0x282f64===0x1&&_0x216e7e++;}return logger['info']({'event':_0x2d99d8(0x173),'resource':_0x1389c7,'released_keys':_0x216e7e,'total_keys':_0x1a0c4['length'],'owner':this['extractOwner'](_0x3dcd63)},'Resource\x20lock\x20released:\x20'+_0x1389c7+'\x20('+_0x216e7e+'/'+_0x1a0c4['length']+'\x20keys)'),{'success':!![],'data':{'resource':_0x1389c7,'released_keys':_0x216e7e,'total_keys':_0x1a0c4['length']}};}catch(_0x122491){return logger['error']({'event':'resource_lock_release_error','resource':_0x1389c7,'error':_0x122491['message']},_0x2d99d8(0x191)+_0x122491[_0x2d99d8(0x18e)]),{'success':![],'error':'Lock\x20release\x20failed:\x20'+_0x122491['message']};}}async['getResourceLockStatus']({resource:_0x49c7d6,lockKeys:_0x4ec8e1}){const _0x65a550=a0_0x31f0bf,_0xa6ba9={'SfEen':_0x65a550(0x1b7)};if(!_0x49c7d6||!Array[_0x65a550(0x185)](_0x4ec8e1)||_0x4ec8e1['length']===0x0)return{'success':![],'error':_0x65a550(0x19a)};try{const _0x2a6199=redisClient[_0x65a550(0x180)](),_0x45ecb3=[];for(const {key:_0x52a153,value:_0x2a21b7}of _0x4ec8e1){const _0x1ac50a=this[_0x65a550(0x18c)](_0x49c7d6,_0x52a153,_0x2a21b7),[_0x1617bb,_0x196c0b]=await Promise[_0x65a550(0x1b3)]([_0x2a6199['get'](_0x1ac50a),_0x2a6199['ttl'](_0x1ac50a)]),_0x388f32=_0x1617bb!==null;_0x45ecb3['push']({'key':_0x52a153,'value':_0x2a21b7,'locked':_0x388f32,'owner':_0x388f32?this[_0x65a550(0x1ab)](_0x1617bb):null,'ttl_remaining':_0x388f32&&_0x196c0b>0x0?_0x196c0b:null});}return{'success':!![],'data':{'resource':_0x49c7d6,'keys':_0x45ecb3}};}catch(_0x308b81){return logger[_0x65a550(0x19e)]({'event':_0xa6ba9[_0x65a550(0x171)],'resource':_0x49c7d6,'error':_0x308b81[_0x65a550(0x18e)]},_0x65a550(0x1b4)+_0x308b81['message']),{'success':![],'error':'Lock\x20status\x20check\x20failed:\x20'+_0x308b81['message']};}}async[a0_0x31f0bf(0x175)](_0x4e6acd,_0x162466,_0x556e18){const _0x36eccb=a0_0x31f0bf,_0x5ec8ce={'GwwbR':_0x36eccb(0x1af)};for(const _0x3c87a0 of _0x162466){try{await _0x4e6acd[_0x36eccb(0x182)](RELEASE_LUA_SCRIPT,0x1,_0x3c87a0,_0x556e18);}catch(_0x1cf5bf){logger[_0x36eccb(0x19e)]({'event':_0x5ec8ce[_0x36eccb(0x1bb)],'key':_0x3c87a0,'error':_0x1cf5bf['message']},'Failed\x20to\x20rollback\x20key:\x20'+_0x3c87a0);}}}async['_getConflictInfo'](_0x395ef4,_0x22b8d1){const _0x3a166a=a0_0x31f0bf,_0x556368={'bffFM':_0x3a166a(0x199),'zvBeD':function(_0x4999bf,_0x5d3518){return _0x4999bf>_0x5d3518;}};try{const [_0x22d24b,_0x4f919f]=await Promise[_0x3a166a(0x1b3)]([_0x395ef4['get'](_0x22b8d1),_0x395ef4[_0x3a166a(0x187)](_0x22b8d1)]);return{'owner':_0x22d24b?this['extractOwner'](_0x22d24b):_0x556368[_0x3a166a(0x18a)],'ttlRemaining':_0x556368['zvBeD'](_0x4f919f,0x0)?_0x4f919f:null};}catch{return{'owner':'unknown','ttlRemaining':null};}}['_validateAcquireInput']({resource:_0x3dfb6f,lockKeys:_0x6bd0d2,ttl:_0x490731,owner:_0x3c4559}){const _0x20860a=a0_0x31f0bf,_0x40ab27={'oGKBs':'string','KURVq':_0x20860a(0x172),'WJTyL':function(_0x4f25fe,_0x8d99c0){return _0x4f25fe>_0x8d99c0;},'IUdhH':_0x20860a(0x17d),'jjxrk':function(_0x3e2bfd,_0x1191a3){return _0x3e2bfd<_0x1191a3;},'NxBHw':'ttl\x20is\x20required\x20and\x20must\x20be\x20at\x20least\x201\x20(in\x20seconds)','sqjtX':function(_0x2aa4b6,_0x4ffed2){return _0x2aa4b6!==_0x4ffed2;},'mbJql':'owner\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};if(!_0x3dfb6f||typeof _0x3dfb6f!==_0x40ab27['oGKBs'])return{'valid':![],'error':_0x40ab27[_0x20860a(0x1ad)]};if(!Array[_0x20860a(0x185)](_0x6bd0d2)||_0x6bd0d2['length']===0x0)return{'valid':![],'error':_0x20860a(0x1b0)};if(_0x40ab27['WJTyL'](_0x6bd0d2['length'],0x64))return{'valid':![],'error':_0x20860a(0x193)};for(let _0x3e8f67=0x0;_0x3e8f67<_0x6bd0d2['length'];_0x3e8f67++){const _0x3a8fdd=_0x6bd0d2[_0x3e8f67];if(!_0x3a8fdd||!_0x3a8fdd[_0x20860a(0x197)]||!_0x3a8fdd[_0x20860a(0x1ba)])return{'valid':![],'error':'lock_keys['+_0x3e8f67+']\x20must\x20have\x20key\x20and\x20value\x20properties'};}if(!_0x490731||typeof _0x490731!==_0x40ab27[_0x20860a(0x1a5)]||_0x40ab27[_0x20860a(0x1a8)](_0x490731,0x1))return{'valid':![],'error':_0x40ab27['NxBHw']};const _0x537192=this['getMaxTTLSeconds']();if(_0x40ab27['WJTyL'](_0x490731,_0x537192))return{'valid':![],'error':_0x20860a(0x186)+_0x537192+_0x20860a(0x19c)};if(!_0x3c4559||_0x40ab27['sqjtX'](typeof _0x3c4559,_0x40ab27[_0x20860a(0x1a4)]))return{'valid':![],'error':_0x40ab27['mbJql']};return{'valid':!![]};}['_validateReleaseInput']({resource:_0x137e3b,lockKeys:_0x4e8337,lockToken:_0x4e79d8}){const _0x359f36=a0_0x31f0bf,_0x1b5899={'dBSld':function(_0x3f36f3,_0x128126){return _0x3f36f3!==_0x128126;},'UWIzc':'lock_keys\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20array','Akynt':function(_0x5ce7f6,_0x7cbf23){return _0x5ce7f6<_0x7cbf23;},'tUbXZ':_0x359f36(0x1b6),'iMjNi':_0x359f36(0x1b8)};if(!_0x137e3b||_0x1b5899['dBSld'](typeof _0x137e3b,_0x359f36(0x1b6)))return{'valid':![],'error':'resource\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};if(!Array['isArray'](_0x4e8337)||_0x4e8337['length']===0x0)return{'valid':![],'error':_0x1b5899['UWIzc']};for(let _0xca8b31=0x0;_0x1b5899[_0x359f36(0x19d)](_0xca8b31,_0x4e8337[_0x359f36(0x17a)]);_0xca8b31++){const _0x1ce242=_0x4e8337[_0xca8b31];if(!_0x1ce242||!_0x1ce242[_0x359f36(0x197)]||!_0x1ce242[_0x359f36(0x1ba)])return{'valid':![],'error':_0x359f36(0x176)+_0xca8b31+']\x20must\x20have\x20key\x20and\x20value\x20properties'};}if(!_0x4e79d8||_0x1b5899[_0x359f36(0x17b)](typeof _0x4e79d8,_0x1b5899[_0x359f36(0x195)]))return{'valid':![],'error':_0x1b5899['iMjNi']};return{'valid':!![]};}}module[a0_0x31f0bf(0x1b5)]=new ResourceLockManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x2b18a4=a0_0x2f22;(function(_0x5f042c,_0x564d1b){const _0x416790=a0_0x2f22,_0x2048d1=_0x5f042c();while(!![]){try{const _0x416f92=-parseInt(_0x416790(0xc6))/0x1*(-parseInt(_0x416790(0xdc))/0x2)+parseInt(_0x416790(0xf7))/0x3*(-parseInt(_0x416790(0x133))/0x4)+-parseInt(_0x416790(0xdd))/0x5+parseInt(_0x416790(0xd3))/0x6+parseInt(_0x416790(0x109))/0x7+-parseInt(_0x416790(0x11a))/0x8*(-parseInt(_0x416790(0x10c))/0x9)+-parseInt(_0x416790(0x108))/0xa;if(_0x416f92===_0x564d1b)break;else _0x2048d1['push'](_0x2048d1['shift']());}catch(_0x1fcd99){_0x2048d1['push'](_0x2048d1['shift']());}}}(a0_0x150c,0xca821));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require(a0_0x2b18a4(0x111));class KafkaConsumerService{constructor(){const _0x16a635=a0_0x2b18a4;this[_0x16a635(0xe3)]=null,this['consumer']=null,this[_0x16a635(0xf8)]=![],this['isInitializing']=![],this['isRunning']=![],this['isPaused']=![],this[_0x16a635(0x11c)]=null,this[_0x16a635(0x125)]=[],this['groupId']=null,this['messageHandler']=null,this[_0x16a635(0x103)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}['getConfig'](){const _0x45d646=a0_0x2b18a4,_0x4ba8e9={'TKvaA':'localhost:9092','UrvJO':'default','humGH':function(_0x22d97f,_0x2a44dd){return _0x22d97f(_0x2a44dd);},'NBlrk':function(_0x2308d8,_0x5d67b8){return _0x2308d8(_0x5d67b8);},'ZAdvm':'3000','YfWUG':'1048576'};return{'enabled':process[_0x45d646(0x10d)][_0x45d646(0xde)]==='true','brokers':(process[_0x45d646(0x10d)][_0x45d646(0xf1)]||_0x4ba8e9[_0x45d646(0xd5)])['split'](','),'clientId':process['env'][_0x45d646(0x12a)]||'restforge-'+(process['env'][_0x45d646(0xff)]||_0x4ba8e9[_0x45d646(0x118)])+'-consumer','connectionTimeout':_0x4ba8e9['humGH'](parseInt,process['env'][_0x45d646(0x12e)]||_0x45d646(0xfb)),'requestTimeout':_0x4ba8e9[_0x45d646(0x120)](parseInt,process[_0x45d646(0x10d)]['KAFKA_REQUEST_TIMEOUT']||'25000'),'sessionTimeout':_0x4ba8e9[_0x45d646(0xe6)](parseInt,process['env'][_0x45d646(0x107)]||_0x45d646(0x11b)),'heartbeatInterval':parseInt(process[_0x45d646(0x10d)]['KAFKA_HEARTBEAT_INTERVAL']||_0x4ba8e9[_0x45d646(0x110)]),'maxBytesPerPartition':_0x4ba8e9[_0x45d646(0xe6)](parseInt,process['env'][_0x45d646(0xea)]||_0x4ba8e9['YfWUG']),'autoCommit':process['env']['KAFKA_AUTO_COMMIT']==='true','autoCommitInterval':parseInt(process['env'][_0x45d646(0xcf)]||'5000'),'retryAttempts':_0x4ba8e9['NBlrk'](parseInt,process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':_0x4ba8e9[_0x45d646(0xe6)](parseInt,process[_0x45d646(0x10d)]['KAFKA_RETRY_DELAY']||_0x45d646(0xef)),'retryMaxDelay':parseInt(process[_0x45d646(0x10d)][_0x45d646(0xf4)]||'30000'),'logLevel':process[_0x45d646(0x10d)]['KAFKA_LOG_LEVEL']||_0x45d646(0xed)};}['getLogLevel'](_0x1c7fac){const _0x5757a9=a0_0x2b18a4,_0x26b002={'nothing':logLevel['NOTHING'],'error':logLevel[_0x5757a9(0xe0)],'warn':logLevel['WARN'],'info':logLevel['INFO'],'debug':logLevel[_0x5757a9(0xd0)]};return _0x26b002[_0x1c7fac[_0x5757a9(0x134)]()]||logLevel[_0x5757a9(0x11e)];}async[a0_0x2b18a4(0x106)](_0x244de8={}){const _0x7c3991=a0_0x2b18a4,_0x3c0410={'DcXUf':function(_0x5ce4ee,_0x1242ff){return _0x5ce4ee(_0x1242ff);}},_0x2cb9d0=this[_0x7c3991(0xe4)]();if(!_0x2cb9d0['enabled'])return console[_0x7c3991(0xcd)]('[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this['connectionPromise'])return this[_0x7c3991(0x11c)];return this[_0x7c3991(0xfe)]=!![],this[_0x7c3991(0x11c)]=new Promise(async _0x583b5a=>{const _0x59af9c=_0x7c3991;try{let _0x56039d=undefined;process[_0x59af9c(0x10d)]['KAFKA_SSL']==='true'&&(_0x56039d=!![]);let _0x495711=undefined;process['env'][_0x59af9c(0x132)]&&(_0x495711={'mechanism':process[_0x59af9c(0x10d)]['KAFKA_SASL_MECHANISM'],'username':process['env'][_0x59af9c(0x129)]||'','password':process[_0x59af9c(0x10d)][_0x59af9c(0xe5)]||''}),this['kafka']=new Kafka({'clientId':_0x244de8['clientId']||_0x2cb9d0['clientId'],'brokers':_0x2cb9d0[_0x59af9c(0xd8)],'connectionTimeout':_0x2cb9d0['connectionTimeout'],'requestTimeout':_0x2cb9d0[_0x59af9c(0x115)],'logLevel':this['getLogLevel'](_0x2cb9d0[_0x59af9c(0x137)]),'ssl':_0x56039d,'sasl':_0x495711,'retry':{'initialRetryTime':_0x2cb9d0[_0x59af9c(0x122)],'retries':_0x2cb9d0[_0x59af9c(0xc8)],'maxRetryTime':_0x2cb9d0['retryMaxDelay']}}),this[_0x59af9c(0x121)]=_0x244de8['groupId']||'restforge-'+(process['env'][_0x59af9c(0xff)]||_0x59af9c(0xda))+'-consumer-group',this['consumer']=this[_0x59af9c(0xe3)][_0x59af9c(0x104)]({'groupId':this[_0x59af9c(0x121)],'sessionTimeout':_0x2cb9d0[_0x59af9c(0x126)],'heartbeatInterval':_0x2cb9d0['heartbeatInterval'],'maxBytesPerPartition':_0x2cb9d0['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this['consumer']['connect'](),this[_0x59af9c(0xf8)]=!![],console[_0x59af9c(0xcd)](_0x59af9c(0x136)+_0x2cb9d0['brokers'][_0x59af9c(0xdf)](',\x20')+'\x20(groupId:\x20'+this[_0x59af9c(0x121)]+')'),this[_0x59af9c(0xfd)](),_0x3c0410['DcXUf'](_0x583b5a,!![]);}catch(_0x55b603){console['error'](_0x59af9c(0x11d)+_0x55b603['message']),this[_0x59af9c(0xf8)]=![],_0x583b5a(![]);}finally{this[_0x59af9c(0xfe)]=![];}}),this['connectionPromise'];}['setupEventHandlers'](){const _0x33705c=a0_0x2b18a4,_0x567ff={'DAVGv':'[KafkaConsumer]\x20Consumer\x20stopped','GMkvV':'[KafkaConsumer]\x20Consumer\x20rebalancing...','cbxKi':_0x33705c(0xd2),'ICBCc':'consumer.crash'};if(!this['consumer'])return;this['consumer']['on'](_0x567ff['cbxKi'],()=>{const _0x5c9876=_0x33705c;console[_0x5c9876(0xcd)](_0x5c9876(0xcc)),this['isConnected']=![],this[_0x5c9876(0x138)]=![];}),this['consumer']['on'](_0x33705c(0x114),()=>{const _0x1d794d=_0x33705c;console[_0x1d794d(0xcd)](_0x567ff['DAVGv']),this['isRunning']=![];}),this[_0x33705c(0x104)]['on'](_0x567ff[_0x33705c(0xd9)],_0x59c238=>{const _0x167a64=_0x33705c;console[_0x167a64(0xfa)]('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x59c238['payload'][_0x167a64(0xfa)][_0x167a64(0x128)]),this[_0x167a64(0x138)]=![];}),this[_0x33705c(0x104)]['on'](_0x33705c(0x10a),()=>{const _0x2dc298=_0x33705c;console[_0x2dc298(0xcd)](_0x567ff['GMkvV']);});}async['subscribe'](_0x2c5300,_0x313fc2=![]){const _0x29c2b5=a0_0x2b18a4;if(!this[_0x29c2b5(0xf8)])return console[_0x29c2b5(0xfa)](_0x29c2b5(0x131)),![];try{const _0x2be339=Array['isArray'](_0x2c5300)?_0x2c5300:[_0x2c5300];for(const _0xa5c36b of _0x2be339){await this['consumer'][_0x29c2b5(0xf5)]({'topic':_0xa5c36b,'fromBeginning':_0x313fc2}),console['log']('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0xa5c36b+_0x29c2b5(0x10e)+_0x313fc2+')');}return this[_0x29c2b5(0x125)]=[...new Set([...this[_0x29c2b5(0x125)],..._0x2be339])],!![];}catch(_0x1d1280){return console[_0x29c2b5(0xfa)](_0x29c2b5(0x12b)+_0x1d1280['message']),![];}}async[a0_0x2b18a4(0x139)](_0x321836,_0xbdb9f3={}){const _0x4a3a23=a0_0x2b18a4,_0x5f4133={'ddUEJ':function(_0x3e4903,_0x2a6455){return _0x3e4903>_0x2a6455;},'vouxe':function(_0xebe460){return _0xebe460();},'SftVn':function(_0xe6a87a,_0x5f2ff2){return _0xe6a87a!==_0x5f2ff2;}};if(!this['isConnected'])return console[_0x4a3a23(0xfa)](_0x4a3a23(0x12d)),![];if(this['isRunning'])return console['log']('[KafkaConsumer]\x20Consumer\x20already\x20running'),!![];const _0x43711d=this['getConfig']();this['messageHandler']=_0x321836;try{return this['metrics']['startTime']=new Date(),await this[_0x4a3a23(0x104)]['run']({'autoCommit':_0x5f4133['SftVn'](_0xbdb9f3['autoCommit'],undefined)?_0xbdb9f3['autoCommit']:_0x43711d[_0x4a3a23(0x124)],'autoCommitInterval':_0x43711d['autoCommitInterval'],'eachMessage':async({topic:_0x20e55f,partition:_0x595cae,message:_0x2bb5e7,heartbeat:_0x573771})=>{const _0x47dc62=_0x4a3a23,_0x41144a=Date['now']();this['metrics']['messagesReceived']++,this[_0x47dc62(0x103)]['lastMessageTime']=new Date();try{const _0x105095=_0x2bb5e7[_0x47dc62(0xeb)]?_0x2bb5e7['value'][_0x47dc62(0xd1)]():null;let _0x3f0989=null;try{_0x3f0989=_0x105095?JSON[_0x47dc62(0x11f)](_0x105095):null;}catch(_0x348017){_0x3f0989=_0x105095;}const _0x1e027a={'topic':_0x20e55f,'partition':_0x595cae,'offset':_0x2bb5e7[_0x47dc62(0xc7)],'key':_0x2bb5e7[_0x47dc62(0x12f)]?_0x2bb5e7['key'][_0x47dc62(0xd1)]():null,'headers':this['parseHeaders'](_0x2bb5e7['headers']),'timestamp':_0x2bb5e7['timestamp'],'value':_0x3f0989,'raw':_0x105095};this[_0x47dc62(0xca)]&&await this[_0x47dc62(0xca)](_0x1e027a);!_0x43711d['autoCommit']&&await this[_0x47dc62(0x104)]['commitOffsets']([{'topic':_0x20e55f,'partition':_0x595cae,'offset':(parseInt(_0x2bb5e7['offset'])+0x1)['toString']()}]);this['metrics'][_0x47dc62(0xf0)]++;const _0x21fcf1=Date['now']()-_0x41144a;this['metrics']['processingTimes'][_0x47dc62(0xd7)](_0x21fcf1),_0x5f4133['ddUEJ'](this[_0x47dc62(0x103)]['processingTimes'][_0x47dc62(0x12c)],0x64)&&this['metrics'][_0x47dc62(0xe7)][_0x47dc62(0x105)](),await _0x5f4133['vouxe'](_0x573771);}catch(_0xf3f259){this[_0x47dc62(0x103)]['messagesFailed']++,console['error'](_0x47dc62(0xdb)+_0xf3f259['message']);throw _0xf3f259;}}}),this['isRunning']=!![],console['log'](_0x4a3a23(0xc9)+this[_0x4a3a23(0x125)][_0x4a3a23(0xdf)](',\x20')),!![];}catch(_0x321c83){return console['error']('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0x321c83['message']),![];}}['parseHeaders'](_0x344ee4){const _0x172396=a0_0x2b18a4;if(!_0x344ee4)return{};const _0x26f1d2={};for(const [_0x1c194e,_0x2522d9]of Object['entries'](_0x344ee4)){_0x26f1d2[_0x1c194e]=_0x2522d9?_0x2522d9[_0x172396(0xd1)]():null;}return _0x26f1d2;}async[a0_0x2b18a4(0x119)](){const _0x3bd7cc=a0_0x2b18a4,_0x2eda62={'nrHNo':'[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running'};if(!this[_0x3bd7cc(0xf8)]||!this['isRunning'])return console[_0x3bd7cc(0xcd)](_0x2eda62[_0x3bd7cc(0xf6)]),![];if(this[_0x3bd7cc(0x113)])return console['log']('[KafkaConsumer]\x20Consumer\x20already\x20paused'),!![];try{const _0x5de2bf=this[_0x3bd7cc(0x125)]['map'](_0x5dafaf=>({'topic':_0x5dafaf}));return this[_0x3bd7cc(0x104)]['pause'](_0x5de2bf),this[_0x3bd7cc(0x113)]=!![],console['log'](_0x3bd7cc(0x101)),!![];}catch(_0x25ce13){return console[_0x3bd7cc(0xfa)](_0x3bd7cc(0x10f)+_0x25ce13[_0x3bd7cc(0x128)]),![];}}async[a0_0x2b18a4(0x102)](){const _0x4331dd=a0_0x2b18a4,_0x104d19={'LQpqw':_0x4331dd(0x130)};if(!this['isConnected']||!this[_0x4331dd(0x138)])return console['log']('[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running'),![];if(!this[_0x4331dd(0x113)])return console['log'](_0x104d19[_0x4331dd(0xce)]),!![];try{const _0x576d3e=this[_0x4331dd(0x125)]['map'](_0x5802fd=>({'topic':_0x5802fd}));return this[_0x4331dd(0x104)]['resume'](_0x576d3e),this['isPaused']=![],console[_0x4331dd(0xcd)](_0x4331dd(0x117)),!![];}catch(_0x237df0){return console[_0x4331dd(0xfa)]('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x237df0[_0x4331dd(0x128)]),![];}}async[a0_0x2b18a4(0xcb)](){const _0x413d8e=a0_0x2b18a4,_0x53a839={'EWdtl':_0x413d8e(0xf9)};if(!this[_0x413d8e(0xf8)])return console['log'](_0x53a839['EWdtl']),!![];try{return this['consumer']&&(await this['consumer']['stop'](),await this['consumer']['disconnect']()),this[_0x413d8e(0xf8)]=![],this['isRunning']=![],this['isPaused']=![],console[_0x413d8e(0xcd)](_0x413d8e(0xfc)),!![];}catch(_0x4bf0dd){return console['error'](_0x413d8e(0xe8)+_0x4bf0dd[_0x413d8e(0x128)]),![];}}async['seekToOffset'](_0x476936,_0x1ba5c5,_0x2c5fdf){const _0x4194b9=a0_0x2b18a4,_0x122b50={'SBHng':'[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'};if(!this[_0x4194b9(0xf8)])return console['error'](_0x122b50[_0x4194b9(0xe2)]),![];try{return this['consumer'][_0x4194b9(0xd6)]({'topic':_0x476936,'partition':_0x1ba5c5,'offset':_0x2c5fdf[_0x4194b9(0xd1)]()}),console[_0x4194b9(0xcd)]('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x2c5fdf+_0x4194b9(0x135)+_0x476936+':'+_0x1ba5c5),!![];}catch(_0x5ecc77){return console[_0x4194b9(0xfa)](_0x4194b9(0x100)+_0x5ecc77[_0x4194b9(0x128)]),![];}}['getStatus'](){const _0x2f7ee3=a0_0x2b18a4,_0x829cc3=this[_0x2f7ee3(0xe4)]();return{'enabled':_0x829cc3['enabled'],'connected':this['isConnected'],'running':this['isRunning'],'paused':this[_0x2f7ee3(0x113)],'brokers':_0x829cc3[_0x2f7ee3(0xd8)],'clientId':_0x829cc3['clientId'],'groupId':this['groupId'],'subscribedTopics':this['subscribedTopics']};}['getMetrics'](){const _0x3f060c=a0_0x2b18a4,_0x11c583={'tNZBP':function(_0xf24d69,_0x22bb81){return _0xf24d69>_0x22bb81;},'yyplC':function(_0x151b48,_0x270827){return _0x151b48>_0x270827;},'vvmdO':function(_0x57f3e7,_0x39e690){return _0x57f3e7+_0x39e690;},'WZqwh':function(_0x40a110,_0x41255e){return _0x40a110/_0x41255e;},'rJahy':function(_0x3998ef,_0xaaf479){return _0x3998ef-_0xaaf479;},'kIZmB':function(_0x2b550a,_0x222cb2){return _0x2b550a+_0x222cb2;}},_0xc90864=_0x11c583['tNZBP'](this[_0x3f060c(0x103)][_0x3f060c(0xe7)]['length'],0x0)?this['metrics']['processingTimes'][_0x3f060c(0xe1)]((_0x177e5d,_0x498839)=>_0x177e5d+_0x498839,0x0)/this['metrics']['processingTimes']['length']:0x0,_0x2f31b2=this['metrics']['processingTimes']['length']>0x0?Math[_0x3f060c(0x116)](...this[_0x3f060c(0x103)]['processingTimes']):0x0,_0x3eb2dd=this['metrics']['processingTimes']['length']>0x0?Math[_0x3f060c(0xd4)](...this['metrics'][_0x3f060c(0xe7)]):0x0;return{'messagesReceived':this['metrics'][_0x3f060c(0xf2)],'messagesProcessed':this['metrics']['messagesProcessed'],'messagesFailed':this[_0x3f060c(0x103)]['messagesFailed'],'successRate':_0x11c583[_0x3f060c(0xe9)](this['metrics']['messagesReceived'],0x0)?_0x11c583['vvmdO']((this['metrics'][_0x3f060c(0xf0)]/this['metrics'][_0x3f060c(0xf2)]*0x64)['toFixed'](0x2),'%'):'0%','lastMessageTime':this['metrics'][_0x3f060c(0x10b)],'startTime':this[_0x3f060c(0x103)][_0x3f060c(0xec)],'uptime':this['metrics']['startTime']?Math[_0x3f060c(0x123)](_0x11c583['WZqwh'](_0x11c583[_0x3f060c(0xf3)](Date['now'](),this[_0x3f060c(0x103)]['startTime'][_0x3f060c(0x112)]()),0x3e8))+'s':'0s','processingTime':{'avg':_0x11c583[_0x3f060c(0xc5)](Math['round'](_0xc90864),'ms'),'min':_0x2f31b2+'ms','max':_0x11c583['kIZmB'](_0x3eb2dd,'ms')}};}[a0_0x2b18a4(0xee)](){const _0x406f41=a0_0x2b18a4,_0x1e2780={'JzInM':'[KafkaConsumer]\x20Metrics\x20reset'};this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x406f41(0x138)]?new Date():null,'processingTimes':[]},console['log'](_0x1e2780[_0x406f41(0x127)]);}async['close'](){const _0x3d8bfe=a0_0x2b18a4;await this[_0x3d8bfe(0xcb)]();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}function createInstance(){return new KafkaConsumerService();}function a0_0x150c(){const _0x28756c=['s0fgs0fFu0fttf9qqvntv09sra','AhvTr0G','ChjVy2vZC2LUz1rPBwvZ','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','ExLWBem','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','DMfSDwu','C3rHCNruAw1L','D2fYBG','CMvZzxrnzxrYAwnZ','mtaWma','BwvZC2fNzxnqCM9JzxnZzwq','s0fgs0fFqLjps0vsuW','BwvZC2fNzxnszwnLAxzLza','CKPHAhK','s0fgs0fFuKvuuLLFtufyx0rftefz','C3vIC2nYAwjL','BNjitM8','mJu1ugTWr21n','AxndB25Uzwn0zwq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','zxjYB3i','mZaWma','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','C2v0DxbfDMvUDeHHBMrSzxjZ','AxnjBML0AwfSAxPPBMC','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','CMvZDw1L','Bwv0CMLJCW','y29UC3vTzxi','C2HPzNq','Aw5PDgLHBgL6zq','s0fgs0fFu0vtu0LptL9usu1ft1vu','mtu5mZKWnZbiAvLLuNC','mJmZotuYnNDRA3nUtG','y29UC3vTzxiUCMvIywXHBMnPBMC','BgfZDe1LC3nHz2vuAw1L','ndu0mdvYDgLhCNK','zw52','icHMCM9TqMvNAw5UAw5NoIa','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','wKfKDM0','DxvPza','z2v0vgLTzq','AxnqyxvZzwq','y29UC3vTzxiUC3rVCa','CMvXDwvZDfrPBwvVDxq','BwLU','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','vxj2sK8','Cgf1C2u','mJq4og5usMr5ua','mZaWmda','y29UBMvJDgLVBLbYB21PC2u','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','v0fstG','CgfYC2u','tKjSCMS','z3jVDxbjza','CMv0CNLezwXHEq','zMXVB3i','yxv0B0nVBw1PDa','C3vIC2nYAwjLzfrVCgLJCW','C2vZC2LVBLrPBwvVDxq','sNPjBK0','BwvZC2fNzq','s0fgs0fFu0fttf9vu0vstKfnrq','s0fgs0fFq0Xjru5ux0Le','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','BgvUz3rO','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','s0fgs0fFq09otKvdveLptL9usu1ft1vu','A2v5','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbWyxvZzwq','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','s0fgs0fFu0fttf9nruniqu5ju00','nZqYnZzvvgveugu','Dg9mB3DLCKnHC2u','ig9Uia','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','Bg9Ntgv2zwW','AxnsDw5UAw5N','C3rHCNrdB25ZDw1PBMC','DNzTze8','nJznChPUqwm','B2zMC2v0','CMv0CNLbDhrLBxb0CW','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','BwvZC2fNzuHHBMrSzxi','C3rVCa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','Bg9N','tffWCxC','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','revcvuC','Dg9tDhjPBMC','y29UC3vTzxiUzgLZy29UBMvJDa','odq0nZq5nNvntLzoBG','Bwf4','veT2yue','C2vLAW','ChvZAa','yNjVA2vYCW','suncq2m','zgvMyxvSDa','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','ndqYndrNtfDlB04','mZG0nZe4mfbLv2L4sG','s0fgs0fFru5bqKXfra','AM9PBG','rvjst1i','CMvKDwnL','u0jiBMC','A2fMA2e','z2v0q29UzMLN'];a0_0x150c=function(){return _0x28756c;};return a0_0x150c();}function a0_0x2f22(_0x59a21d,_0x2a0134){_0x59a21d=_0x59a21d-0xc5;const _0x150c43=a0_0x150c();let _0x2f22df=_0x150c43[_0x59a21d];if(a0_0x2f22['NCYjGn']===undefined){var _0x255a44=function(_0x313ccb){const _0x31166d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3c62c3='',_0xee8ba8='';for(let _0x2a4e06=0x0,_0x156024,_0x2a7c7a,_0x7ff757=0x0;_0x2a7c7a=_0x313ccb['charAt'](_0x7ff757++);~_0x2a7c7a&&(_0x156024=_0x2a4e06%0x4?_0x156024*0x40+_0x2a7c7a:_0x2a7c7a,_0x2a4e06++%0x4)?_0x3c62c3+=String['fromCharCode'](0xff&_0x156024>>(-0x2*_0x2a4e06&0x6)):0x0){_0x2a7c7a=_0x31166d['indexOf'](_0x2a7c7a);}for(let _0x33d5f9=0x0,_0x128a65=_0x3c62c3['length'];_0x33d5f9<_0x128a65;_0x33d5f9++){_0xee8ba8+='%'+('00'+_0x3c62c3['charCodeAt'](_0x33d5f9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xee8ba8);};a0_0x2f22['ucTiAq']=_0x255a44,a0_0x2f22['wgZOlM']={},a0_0x2f22['NCYjGn']=!![];}const _0x22d9de=_0x150c43[0x0],_0x2076e4=_0x59a21d+_0x22d9de,_0x75c59a=a0_0x2f22['wgZOlM'][_0x2076e4];return!_0x75c59a?(_0x2f22df=a0_0x2f22['ucTiAq'](_0x2f22df),a0_0x2f22['wgZOlM'][_0x2076e4]=_0x2f22df):_0x2f22df=_0x75c59a,_0x2f22df;}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
1
|
+
const a0_0x22f015=a0_0x2de7;function a0_0x5b10(){const _0x31ae55=['z2v0q29UzMLN','A2fMA2fQCW','z2v0u3rHDhvZ','A2fMA2e','AxnbCNjHEq','BwvZC2fNzxnszwnLAxzLza','nhWZFdv8mhWXFdi','DMfSDwu','s0fgs0fFu0vtu0LptL9usu1ft1vu','BwvZC2fNzq','C3rVCa','C3bSAxq','Bwf4','sK52BMW','mta0odu3nG','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','mZaWma','yKTxzge','ChjVy2vZC2LUz1rPBwvZ','s0fgs0fFte9hx0XfvKvm','rLz1tg4','zw52','Agzkzxu','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','CM91BMq','y29UC3vTzxiUC3rVCa','yNjVA2vYCW','CMvZDw1L','AxnqyxvZzwq','mJuWmda','wgrHuMK','w0THzMTHq29UC3vTzxjDieTHzMTHignVBNn1BwvYigLZigrPC2fIBgvKigLUignVBMzPz3vYyxrPB24','rvjst1i','CgfYC2vizwfKzxjZ','mJG3nZm0ng5Tsgf0za','zxjYB3i','BhvzzLC','z2v0tg9Ntgv2zwW','s0fgs0fFqLjps0vsuW','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','BM93','revcvuC','mtCZodqWnhbYCNnguW','A2v5','C2vLA1rVt2zMC2v0','DxvPza','Aw1OzfG','C3vIC2nYAwjLzfrVCgLJCW','AxnjBML0AwfSAxPPBMC','mZaWmda','CMvKDwnL','ntaWma','y29UC3vTzxi','ChvZAa','z2v0vgLTzq','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','ig9Uia','s0fgs0fFu0fttf9vu0vstKfnrq','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','y29UC3vTzxiUCMvIywXHBMnPBMC','y2XVC2u','AxndB25Uzwn0zwq','yxv0B0nVBw1PDeLUDgvYDMfS','nZuWnJG0CxLhDM91','C3rHCNruAw1L','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','y29UBMvJDgLVBLrPBwvVDxq','s0fgs0fFu1nm','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','vg90C04','zgvMyxvSDa','mZmZotb2DKjsDNK','y2XPzw50swq','s0fgs0fFq09otKvdveLptL9usu1ft1vu','BwvZC2fNzxnqCM9JzxnZzwq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','y29UBMvJDa','s0fgs0fFqvvut19dt01nsvq','D2fYBG','nJnvAwrYCgy','z3jVDxbjza','yxv0B0nVBw1PDa','CMvXDwvZDfrPBwvVDxq','mtaWma','BwvZC2fNzxngywLSzwq','BgvUz3rO','suTODe8','tK9useLorW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','CNvU','C3vIC2nYAwjL','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','CMv0CNLbDhrLBxb0CW','y29UBMvJDgLVBLbYB21PC2u','Bg9N','zgLZy29UBMvJDa','DuDHwMi','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','rxfhyNe','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','mJi4mJqWouHirNjvBG','qxDtt2K','lwnVBNn1BwvYlwDYB3vW','icHNCM91CeLKoIa','z2v0twv0CMLJCW','Bwv0CMLJCW','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','Dg9tDhjPBMC','AM9PBG','BgfZDe1LC3nHz2vuAw1L','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','rhb0zhe','mtKXmJq3uwHsy3DW','nJzJBKHHtgm','tNDVzge','BwvZC2fNzuHHBMrSzxi','Bwf4qNL0zxnqzxjqyxj0AxrPB24','Bg9Ntgv2zwW','suvOt2S','mZKWmZG1zMLmy0nK','C2vLAW','CMv0CNLnyxHezwXHEq','v0fstG','CMv0CNLezwXHEq','AxnsDw5UAw5N','s0fgs0fFru5bqKXfra','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','y29UC3vTzxiUzgLZy29UBMvJDa','vLPxuu8'];a0_0x5b10=function(){return _0x31ae55;};return a0_0x5b10();}(function(_0x28aa98,_0x1c11bf){const _0x58d481=a0_0x2de7,_0xfac85b=_0x28aa98();while(!![]){try{const _0x8bdbb=-parseInt(_0x58d481(0xd9))/0x1*(parseInt(_0x58d481(0xd1))/0x2)+parseInt(_0x58d481(0xc9))/0x3+parseInt(_0x58d481(0xb4))/0x4+-parseInt(_0x58d481(0x102))/0x5*(-parseInt(_0x58d481(0xfc))/0x6)+-parseInt(_0x58d481(0xfb))/0x7+parseInt(_0x58d481(0xac))/0x8+-parseInt(_0x58d481(0xef))/0x9;if(_0x8bdbb===_0x1c11bf)break;else _0xfac85b['push'](_0xfac85b['shift']());}catch(_0x4c5f8c){_0xfac85b['push'](_0xfac85b['shift']());}}}(a0_0x5b10,0x8b50d));const {Kafka,logLevel}=require(a0_0x22f015(0x10e)),{v7:uuidv7}=require(a0_0x22f015(0xb7));class KafkaConsumerService{constructor(){const _0xd79e02=a0_0x22f015;this[_0xd79e02(0x110)]=null,this[_0xd79e02(0xbe)]=null,this['isConnected']=![],this[_0xd79e02(0xba)]=![],this[_0xd79e02(0x107)]=![],this['isPaused']=![],this['connectionPromise']=null,this['subscribedTopics']=[],this[_0xd79e02(0xda)]=null,this['messageHandler']=null,this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}[a0_0x22f015(0x10d)](){const _0x66a748=a0_0x22f015,_0x151206={'DcAuN':'true','IEhOk':_0x66a748(0xd0),'uGaZb':function(_0x2e5b7f,_0xfd95a){return _0x2e5b7f(_0xfd95a);},'dRxHd':function(_0xa2d069,_0x120d27){return _0xa2d069(_0x120d27);},'Nwoda':'3000','kGvEJ':_0x66a748(0x11b),'TotsN':function(_0x5b8f95,_0x37a1cb){return _0x5b8f95===_0x37a1cb;},'ximPE':function(_0xc83849,_0x26c2c8){return _0xc83849(_0x26c2c8);},'BymtA':_0x66a748(0xdd),'imhdX':function(_0x2afff0,_0x990578){return _0x2afff0(_0x990578);},'HCwfe':_0x66a748(0xd8)};return{'enabled':process[_0x66a748(0x122)][_0x66a748(0x108)]===_0x151206['DcAuN'],'brokers':(process['env'][_0x66a748(0xb0)]||'localhost:9092')[_0x66a748(0x118)](','),'clientId':process['env']['KAFKA_CLIENT_ID']||'restforge-'+(process[_0x66a748(0x122)][_0x66a748(0x124)]||_0x151206[_0x66a748(0x101)])+'-consumer','connectionTimeout':parseInt(process[_0x66a748(0x122)][_0x66a748(0xd3)]||_0x66a748(0x11d)),'requestTimeout':_0x151206[_0x66a748(0xea)](parseInt,process[_0x66a748(0x122)]['KAFKA_REQUEST_TIMEOUT']||_0x66a748(0xa7)),'sessionTimeout':_0x151206['dRxHd'](parseInt,process[_0x66a748(0x122)][_0x66a748(0x115)]||_0x66a748(0xbb)),'heartbeatInterval':_0x151206['dRxHd'](parseInt,process[_0x66a748(0x122)]['KAFKA_HEARTBEAT_INTERVAL']||_0x151206[_0x66a748(0xfd)]),'maxBytesPerPartition':_0x151206[_0x66a748(0xea)](parseInt,process[_0x66a748(0x122)]['KAFKA_MAX_BYTES_PER_PARTITION']||_0x151206['kGvEJ']),'autoCommit':_0x151206[_0x66a748(0xcf)](process['env'][_0x66a748(0xd7)],'true'),'autoCommitInterval':_0x151206['uGaZb'](parseInt,process[_0x66a748(0x122)]['KAFKA_AUTO_COMMIT_INTERVAL']||_0x66a748(0xbd)),'retryAttempts':_0x151206['dRxHd'](parseInt,process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':_0x151206['ximPE'](parseInt,process['env']['KAFKA_RETRY_DELAY']||_0x151206['BymtA']),'retryMaxDelay':_0x151206[_0x66a748(0xb8)](parseInt,process['env']['KAFKA_RETRY_MAX_DELAY']||_0x66a748(0xbb)),'logLevel':process[_0x66a748(0x122)][_0x66a748(0x120)]||_0x151206['HCwfe']};}[a0_0x22f015(0xaf)](_0x13d758){const _0x382339=a0_0x22f015,_0x487747={'nothing':logLevel[_0x382339(0xe1)],'error':logLevel[_0x382339(0xaa)],'warn':logLevel['WARN'],'info':logLevel['INFO'],'debug':logLevel[_0x382339(0xb3)]};return _0x487747[_0x13d758['toLowerCase']()]||logLevel[_0x382339(0x105)];}async['initialize'](_0x30e4d1={}){const _0x171d90=a0_0x22f015,_0x17b1df={'HcjrQ':function(_0x188c53,_0x4d3a26){return _0x188c53===_0x4d3a26;},'gtIQs':_0x171d90(0xa9)},_0x1d484c=this[_0x171d90(0x10d)]();if(!_0x1d484c['enabled'])return console['log'](_0x17b1df['gtIQs']),![];if(this[_0x171d90(0xc7)])return!![];if(this[_0x171d90(0xba)]&&this['connectionPromise'])return this['connectionPromise'];return this['isInitializing']=!![],this[_0x171d90(0xe7)]=new Promise(async _0x119b62=>{const _0x2a2e01=_0x171d90;try{let _0x326dcd=undefined;_0x17b1df['HcjrQ'](process[_0x2a2e01(0x122)][_0x2a2e01(0xcd)],'true')&&(_0x326dcd=!![]);let _0x3d0060=undefined;process[_0x2a2e01(0x122)]['KAFKA_SASL_MECHANISM']&&(_0x3d0060={'mechanism':process[_0x2a2e01(0x122)]['KAFKA_SASL_MECHANISM'],'username':process['env'][_0x2a2e01(0xc3)]||'','password':process[_0x2a2e01(0x122)]['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x30e4d1['clientId']||_0x1d484c['clientId'],'brokers':_0x1d484c[_0x2a2e01(0xa4)],'connectionTimeout':_0x1d484c[_0x2a2e01(0xcc)],'requestTimeout':_0x1d484c[_0x2a2e01(0xdc)],'logLevel':this['getLogLevel'](_0x1d484c[_0x2a2e01(0x100)]),'ssl':_0x326dcd,'sasl':_0x3d0060,'retry':{'initialRetryTime':_0x1d484c[_0x2a2e01(0x106)],'retries':_0x1d484c[_0x2a2e01(0xe6)],'maxRetryTime':_0x1d484c[_0x2a2e01(0x104)]}}),this['groupId']=_0x30e4d1['groupId']||'restforge-'+(process[_0x2a2e01(0x122)][_0x2a2e01(0x124)]||_0x2a2e01(0xd0))+_0x2a2e01(0xf1),this[_0x2a2e01(0xbe)]=this[_0x2a2e01(0x110)]['consumer']({'groupId':this['groupId'],'sessionTimeout':_0x1d484c['sessionTimeout'],'heartbeatInterval':_0x1d484c['heartbeatInterval'],'maxBytesPerPartition':_0x1d484c[_0x2a2e01(0xff)],'allowAutoTopicCreation':![]}),await this['consumer'][_0x2a2e01(0xd6)](),this[_0x2a2e01(0xc7)]=!![],console['log'](_0x2a2e01(0x109)+_0x1d484c['brokers']['join'](',\x20')+_0x2a2e01(0xf2)+this[_0x2a2e01(0xda)]+')'),this['setupEventHandlers'](),_0x119b62(!![]);}catch(_0x285354){console[_0x2a2e01(0xad)](_0x2a2e01(0xec)+_0x285354[_0x2a2e01(0x116)]),this['isConnected']=![],_0x119b62(![]);}finally{this[_0x2a2e01(0xba)]=![];}}),this['connectionPromise'];}['setupEventHandlers'](){const _0x3d6d22=a0_0x22f015,_0xf55217={'zsdYb':_0x3d6d22(0xa3),'ejAnI':'consumer.crash'};if(!this['consumer'])return;this['consumer']['on'](_0x3d6d22(0x10b),()=>{const _0x1aa13a=_0x3d6d22;console[_0x1aa13a(0xe8)](_0x1aa13a(0xe5)),this['isConnected']=![],this['isRunning']=![];}),this['consumer']['on'](_0xf55217['zsdYb'],()=>{const _0x560cc4=_0x3d6d22;console[_0x560cc4(0xe8)]('[KafkaConsumer]\x20Consumer\x20stopped'),this[_0x560cc4(0x107)]=![];}),this['consumer']['on'](_0xf55217['ejAnI'],_0x1240ef=>{const _0x4dc3ca=_0x3d6d22;console['error'](_0x4dc3ca(0x11c)+_0x1240ef['payload'][_0x4dc3ca(0xad)][_0x4dc3ca(0x116)]),this[_0x4dc3ca(0x107)]=![];}),this['consumer']['on'](_0x3d6d22(0xc5),()=>{console['log']('[KafkaConsumer]\x20Consumer\x20rebalancing...');});}async[a0_0x22f015(0xe4)](_0x2ad689,_0x518084=![]){const _0x5f5cf1=a0_0x22f015;if(!this['isConnected'])return console['error']('[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'),![];try{const _0x5688b3=Array[_0x5f5cf1(0x111)](_0x2ad689)?_0x2ad689:[_0x2ad689];for(const _0x197c30 of _0x5688b3){await this[_0x5f5cf1(0xbe)][_0x5f5cf1(0xe4)]({'topic':_0x197c30,'fromBeginning':_0x518084}),console[_0x5f5cf1(0xe8)](_0x5f5cf1(0xc1)+_0x197c30+'\x20(fromBeginning:\x20'+_0x518084+')');}return this[_0x5f5cf1(0xb9)]=[...new Set([...this['subscribedTopics'],..._0x5688b3])],!![];}catch(_0x474340){return console[_0x5f5cf1(0xad)](_0x5f5cf1(0xc4)+_0x474340['message']),![];}}async['startConsuming'](_0x11d9d5,_0x732c16={}){const _0xf5a956=a0_0x22f015,_0x3fc29e={'HkYQF':function(_0xa75a51,_0x2f846e){return _0xa75a51+_0x2f846e;},'bKWda':function(_0x3dd08c,_0x1bd622){return _0x3dd08c(_0x1bd622);},'hfJeu':function(_0x5c4c53,_0x1403e5){return _0x5c4c53-_0x1403e5;},'uGOBo':function(_0x2bf007){return _0x2bf007();}};if(!this['isConnected'])return console['error']('[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected'),![];if(this[_0xf5a956(0x107)])return console['log'](_0xf5a956(0xeb)),!![];const _0x556630=this['getConfig']();this['messageHandler']=_0x11d9d5;try{return this[_0xf5a956(0xf4)][_0xf5a956(0xca)]=new Date(),await this['consumer'][_0xf5a956(0xe3)]({'autoCommit':_0x732c16['autoCommit']!==undefined?_0x732c16[_0xf5a956(0xdb)]:_0x556630['autoCommit'],'autoCommitInterval':_0x556630[_0xf5a956(0xc8)],'eachMessage':async({topic:_0x244154,partition:_0x5d7a7a,message:_0x30bea1,heartbeat:_0xb8e7be})=>{const _0x5d15ed=_0xf5a956,_0x6c842a=Date['now']();this['metrics'][_0x5d15ed(0x112)]++,this[_0x5d15ed(0xf4)][_0x5d15ed(0xf8)]=new Date();try{const _0x261c8f=_0x30bea1[_0x5d15ed(0x114)]?_0x30bea1['value']['toString']():null;let _0xa50a71=null;try{_0xa50a71=_0x261c8f?JSON['parse'](_0x261c8f):null;}catch(_0x5b04da){_0xa50a71=_0x261c8f;}const _0x4d9fce={'topic':_0x244154,'partition':_0x5d7a7a,'offset':_0x30bea1['offset'],'key':_0x30bea1[_0x5d15ed(0xb5)]?_0x30bea1[_0x5d15ed(0xb5)][_0x5d15ed(0xf6)]():null,'headers':this['parseHeaders'](_0x30bea1['headers']),'timestamp':_0x30bea1['timestamp'],'value':_0xa50a71,'raw':_0x261c8f};this[_0x5d15ed(0xfe)]&&await this['messageHandler'](_0x4d9fce);!_0x556630[_0x5d15ed(0xdb)]&&await this[_0x5d15ed(0xbe)]['commitOffsets']([{'topic':_0x244154,'partition':_0x5d7a7a,'offset':_0x3fc29e['HkYQF'](_0x3fc29e[_0x5d15ed(0x11e)](parseInt,_0x30bea1['offset']),0x1)[_0x5d15ed(0xf6)]()}]);this['metrics'][_0x5d15ed(0xd4)]++;const _0x400369=_0x3fc29e[_0x5d15ed(0x123)](Date['now'](),_0x6c842a);this['metrics'][_0x5d15ed(0x11f)][_0x5d15ed(0xbf)](_0x400369),this['metrics']['processingTimes'][_0x5d15ed(0xdf)]>0x64&&this['metrics'][_0x5d15ed(0x11f)]['shift'](),await _0x3fc29e['uGOBo'](_0xb8e7be);}catch(_0x5cecca){this['metrics'][_0x5d15ed(0xde)]++,console[_0x5d15ed(0xad)]('[KafkaConsumer]\x20Message\x20processing\x20error:\x20'+_0x5cecca[_0x5d15ed(0x116)]);throw _0x5cecca;}}}),this[_0xf5a956(0x107)]=!![],console['log'](_0xf5a956(0xee)+this[_0xf5a956(0xb9)][_0xf5a956(0xf7)](',\x20')),!![];}catch(_0x5da631){return console[_0xf5a956(0xad)](_0xf5a956(0x10a)+_0x5da631[_0xf5a956(0x116)]),![];}}[a0_0x22f015(0xab)](_0x74f9b9){if(!_0x74f9b9)return{};const _0x2dfd1d={};for(const [_0x1313d9,_0x4a8926]of Object['entries'](_0x74f9b9)){_0x2dfd1d[_0x1313d9]=_0x4a8926?_0x4a8926['toString']():null;}return _0x2dfd1d;}async['pause'](){const _0x37ef46=a0_0x22f015,_0x1d7222={'XdaRi':_0x37ef46(0xb1),'VZWQO':_0x37ef46(0xd5),'Dptdq':_0x37ef46(0xe2)};if(!this[_0x37ef46(0xc7)]||!this[_0x37ef46(0x107)])return console[_0x37ef46(0xe8)](_0x1d7222[_0x37ef46(0xa8)]),![];if(this['isPaused'])return console[_0x37ef46(0xe8)](_0x1d7222[_0x37ef46(0x10c)]),!![];try{const _0x4484df=this[_0x37ef46(0xb9)]['map'](_0x1c5c86=>({'topic':_0x1c5c86}));return this['consumer']['pause'](_0x4484df),this['isPaused']=!![],console['log'](_0x1d7222[_0x37ef46(0xfa)]),!![];}catch(_0x2a9089){return console['error'](_0x37ef46(0xf5)+_0x2a9089[_0x37ef46(0x116)]),![];}}async[a0_0x22f015(0xa5)](){const _0x178279=a0_0x22f015,_0x132cb1={'XsLXM':'[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running','KUdRJ':'[KafkaConsumer]\x20Consumer\x20not\x20paused','EqGbq':'[KafkaConsumer]\x20Consumer\x20resumed'};if(!this[_0x178279(0xc7)]||!this[_0x178279(0x107)])return console[_0x178279(0xe8)](_0x132cb1['XsLXM']),![];if(!this['isPaused'])return console[_0x178279(0xe8)](_0x132cb1['KUdRJ']),!![];try{const _0x274ecf=this[_0x178279(0xb9)]['map'](_0x4ec7f1=>({'topic':_0x4ec7f1}));return this[_0x178279(0xbe)]['resume'](_0x274ecf),this[_0x178279(0xa6)]=![],console['log'](_0x132cb1[_0x178279(0xed)]),!![];}catch(_0x56b332){return console[_0x178279(0xad)]('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x56b332[_0x178279(0x116)]),![];}}async[a0_0x22f015(0x117)](){const _0x31f2a8=a0_0x22f015,_0xa65d95={'MYaBZ':_0x31f2a8(0xce),'IKhtO':_0x31f2a8(0x113)};if(!this[_0x31f2a8(0xc7)])return console[_0x31f2a8(0xe8)](_0xa65d95['MYaBZ']),!![];try{const _0x402081=_0xa65d95[_0x31f2a8(0xe0)]['split']('|');let _0x269088=0x0;while(!![]){switch(_0x402081[_0x269088++]){case'0':this[_0x31f2a8(0xa6)]=![];continue;case'1':console[_0x31f2a8(0xe8)]('[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected');continue;case'2':return!![];case'3':this[_0x31f2a8(0xc7)]=![];continue;case'4':this[_0x31f2a8(0xbe)]&&(await this[_0x31f2a8(0xbe)][_0x31f2a8(0x117)](),await this[_0x31f2a8(0xbe)][_0x31f2a8(0xe9)]());continue;case'5':this[_0x31f2a8(0x107)]=![];continue;}break;}}catch(_0x2ecf39){return console[_0x31f2a8(0xad)](_0x31f2a8(0xf9)+_0x2ecf39[_0x31f2a8(0x116)]),![];}}async[a0_0x22f015(0xb6)](_0x4f2699,_0x41be14,_0x3a2eb0){const _0x53bb76=a0_0x22f015;if(!this['isConnected'])return console[_0x53bb76(0xad)](_0x53bb76(0xcb)),![];try{return this[_0x53bb76(0xbe)][_0x53bb76(0x103)]({'topic':_0x4f2699,'partition':_0x41be14,'offset':_0x3a2eb0[_0x53bb76(0xf6)]()}),console['log']('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x3a2eb0+_0x53bb76(0xc2)+_0x4f2699+':'+_0x41be14),!![];}catch(_0x17b6a2){return console['error']('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x17b6a2['message']),![];}}[a0_0x22f015(0x10f)](){const _0x19fb2a=a0_0x22f015,_0x7e76ed=this[_0x19fb2a(0x10d)]();return{'enabled':_0x7e76ed['enabled'],'connected':this[_0x19fb2a(0xc7)],'running':this['isRunning'],'paused':this['isPaused'],'brokers':_0x7e76ed[_0x19fb2a(0xa4)],'clientId':_0x7e76ed[_0x19fb2a(0xd2)],'groupId':this[_0x19fb2a(0xda)],'subscribedTopics':this['subscribedTopics']};}[a0_0x22f015(0xf3)](){const _0x2d992d=a0_0x22f015,_0x5da5ab={'bcwBB':function(_0x58d15f,_0x1d1bf4){return _0x58d15f/_0x1d1bf4;},'luYfW':function(_0x2ab9de,_0x102922){return _0x2ab9de>_0x102922;},'FVuLn':function(_0xc5cc9d,_0x212121){return _0xc5cc9d>_0x212121;},'AwSOi':function(_0x4ed0b3,_0x40526a){return _0x4ed0b3+_0x40526a;},'lDkql':function(_0x43816f,_0x478506){return _0x43816f*_0x478506;},'JNvnl':function(_0x9cd19c,_0x59f3b6){return _0x9cd19c/_0x59f3b6;},'oqdZQ':function(_0x9af77a,_0x1a78ba){return _0x9af77a-_0x1a78ba;},'pxCAs':function(_0x4785b6,_0x2289c0){return _0x4785b6+_0x2289c0;}},_0x360e6e=this[_0x2d992d(0xf4)]['processingTimes']['length']>0x0?_0x5da5ab['bcwBB'](this['metrics']['processingTimes'][_0x2d992d(0xbc)]((_0x44a614,_0x2387c5)=>_0x44a614+_0x2387c5,0x0),this[_0x2d992d(0xf4)]['processingTimes'][_0x2d992d(0xdf)]):0x0,_0x58d0c8=_0x5da5ab[_0x2d992d(0xae)](this['metrics'][_0x2d992d(0x11f)]['length'],0x0)?Math['min'](...this[_0x2d992d(0xf4)]['processingTimes']):0x0,_0x59df13=_0x5da5ab['FVuLn'](this['metrics']['processingTimes']['length'],0x0)?Math[_0x2d992d(0x119)](...this[_0x2d992d(0xf4)]['processingTimes']):0x0;return{'messagesReceived':this['metrics']['messagesReceived'],'messagesProcessed':this['metrics']['messagesProcessed'],'messagesFailed':this['metrics']['messagesFailed'],'successRate':_0x5da5ab[_0x2d992d(0x121)](this['metrics'][_0x2d992d(0x112)],0x0)?_0x5da5ab[_0x2d992d(0xf0)](_0x5da5ab['lDkql'](this['metrics']['messagesProcessed']/this[_0x2d992d(0xf4)][_0x2d992d(0x112)],0x64)['toFixed'](0x2),'%'):'0%','lastMessageTime':this[_0x2d992d(0xf4)]['lastMessageTime'],'startTime':this[_0x2d992d(0xf4)][_0x2d992d(0xca)],'uptime':this['metrics']['startTime']?_0x5da5ab[_0x2d992d(0xf0)](Math['floor'](_0x5da5ab[_0x2d992d(0x11a)](_0x5da5ab['oqdZQ'](Date[_0x2d992d(0xb2)](),this[_0x2d992d(0xf4)][_0x2d992d(0xca)][_0x2d992d(0xc0)]()),0x3e8)),'s'):'0s','processingTime':{'avg':Math[_0x2d992d(0x125)](_0x360e6e)+'ms','min':_0x5da5ab['pxCAs'](_0x58d0c8,'ms'),'max':_0x5da5ab['AwSOi'](_0x59df13,'ms')}};}['resetMetrics'](){const _0x40fdd9=a0_0x22f015;this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console[_0x40fdd9(0xe8)]('[KafkaConsumer]\x20Metrics\x20reset');}async[a0_0x22f015(0xc6)](){await this['stop']();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function a0_0x2de7(_0x387567,_0x5f3c6a){_0x387567=_0x387567-0xa3;const _0x5b102c=a0_0x5b10();let _0x2de785=_0x5b102c[_0x387567];if(a0_0x2de7['PrbCtP']===undefined){var _0x2bcaa4=function(_0x27bf67){const _0x5843c1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4ebf30='',_0x1b9479='';for(let _0xe52c8b=0x0,_0xc64743,_0x57c73d,_0x2250b8=0x0;_0x57c73d=_0x27bf67['charAt'](_0x2250b8++);~_0x57c73d&&(_0xc64743=_0xe52c8b%0x4?_0xc64743*0x40+_0x57c73d:_0x57c73d,_0xe52c8b++%0x4)?_0x4ebf30+=String['fromCharCode'](0xff&_0xc64743>>(-0x2*_0xe52c8b&0x6)):0x0){_0x57c73d=_0x5843c1['indexOf'](_0x57c73d);}for(let _0x280135=0x0,_0x19e939=_0x4ebf30['length'];_0x280135<_0x19e939;_0x280135++){_0x1b9479+='%'+('00'+_0x4ebf30['charCodeAt'](_0x280135)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1b9479);};a0_0x2de7['RHNjIS']=_0x2bcaa4,a0_0x2de7['pqUYfo']={},a0_0x2de7['PrbCtP']=!![];}const _0xe09a5=_0x5b102c[0x0],_0x5c7890=_0x387567+_0xe09a5,_0x2c7bd1=a0_0x2de7['pqUYfo'][_0x5c7890];return!_0x2c7bd1?(_0x2de785=a0_0x2de7['RHNjIS'](_0x2de785),a0_0x2de7['pqUYfo'][_0x5c7890]=_0x2de785):_0x2de785=_0x2c7bd1,_0x2de785;}function resetInstance(){const _0x293b3e=a0_0x22f015;instance&&(instance[_0x293b3e(0xc6)](),instance=null);}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0xe179d2=a0_0xed6d;(function(_0x2621f9,_0x14a643){const _0x4d66e0=a0_0xed6d,_0x2c4a13=_0x2621f9();while(!![]){try{const _0x336f49=-parseInt(_0x4d66e0(0x17d))/0x1+-parseInt(_0x4d66e0(0x172))/0x2+-parseInt(_0x4d66e0(0x186))/0x3+-parseInt(_0x4d66e0(0x178))/0x4+parseInt(_0x4d66e0(0x19f))/0x5+-parseInt(_0x4d66e0(0x170))/0x6+-parseInt(_0x4d66e0(0x1a6))/0x7*(-parseInt(_0x4d66e0(0x1ab))/0x8);if(_0x336f49===_0x14a643)break;else _0x2c4a13['push'](_0x2c4a13['shift']());}catch(_0x5e7860){_0x2c4a13['push'](_0x2c4a13['shift']());}}}(a0_0x552c,0x99250));function a0_0xed6d(_0x3b80c3,_0x4c5dd3){_0x3b80c3=_0x3b80c3-0x15c;const _0x552c5a=a0_0x552c();let _0xed6d0b=_0x552c5a[_0x3b80c3];if(a0_0xed6d['vxRXzv']===undefined){var _0x2fafe7=function(_0x5dfe23){const _0x31b72c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x54eb7b='',_0x41c7b7='';for(let _0x11eb74=0x0,_0x1b8090,_0x546d8d,_0x5436dc=0x0;_0x546d8d=_0x5dfe23['charAt'](_0x5436dc++);~_0x546d8d&&(_0x1b8090=_0x11eb74%0x4?_0x1b8090*0x40+_0x546d8d:_0x546d8d,_0x11eb74++%0x4)?_0x54eb7b+=String['fromCharCode'](0xff&_0x1b8090>>(-0x2*_0x11eb74&0x6)):0x0){_0x546d8d=_0x31b72c['indexOf'](_0x546d8d);}for(let _0x135f4a=0x0,_0x39916f=_0x54eb7b['length'];_0x135f4a<_0x39916f;_0x135f4a++){_0x41c7b7+='%'+('00'+_0x54eb7b['charCodeAt'](_0x135f4a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x41c7b7);};a0_0xed6d['oQPieu']=_0x2fafe7,a0_0xed6d['hQtksi']={},a0_0xed6d['vxRXzv']=!![];}const _0x294f64=_0x552c5a[0x0],_0x220fc0=_0x3b80c3+_0x294f64,_0x2e6196=a0_0xed6d['hQtksi'][_0x220fc0];return!_0x2e6196?(_0xed6d0b=a0_0xed6d['oQPieu'](_0xed6d0b),a0_0xed6d['hQtksi'][_0x220fc0]=_0xed6d0b):_0xed6d0b=_0x2e6196,_0xed6d0b;}const {Kafka,logLevel,Partitioners}=require('kafkajs'),{v7:uuidv7}=require(a0_0xe179d2(0x1a4));class KafkaService{constructor(){const _0x4a7a33=a0_0xe179d2;this[_0x4a7a33(0x199)]=null,this[_0x4a7a33(0x19b)]=null,this[_0x4a7a33(0x1ad)]=![],this[_0x4a7a33(0x166)]=![],this[_0x4a7a33(0x16a)]=null;}[a0_0xe179d2(0x1ac)](){const _0x43d142=a0_0xe179d2,_0x429444={'NjzKD':_0x43d142(0x15e),'ujTzE':'localhost:9092','esMxw':'default','TRaRQ':function(_0x1d9d22,_0x44d7b9){return _0x1d9d22(_0x44d7b9);},'vvUPq':'3000','PFlBT':'{module}.{endpoint}.events','TekpH':function(_0x4614fd,_0x4f3ea8){return _0x4614fd(_0x4f3ea8);},'fmbeG':function(_0x487a5c,_0x5cc0c1){return _0x487a5c(_0x5cc0c1);},'PgPOS':'warn'};return{'enabled':process['env'][_0x43d142(0x162)]===_0x429444['NjzKD'],'brokers':(process['env']['KAFKA_BROKERS']||_0x429444['ujTzE'])[_0x43d142(0x1a2)](','),'clientId':process['env'][_0x43d142(0x173)]||'restforge-'+(process['env']['RESTFORGE_PROJECT_NAME']||_0x429444['esMxw'])+_0x43d142(0x1ae),'connectionTimeout':_0x429444['TRaRQ'](parseInt,process[_0x43d142(0x1aa)][_0x43d142(0x167)]||_0x429444[_0x43d142(0x16b)]),'requestTimeout':_0x429444['TRaRQ'](parseInt,process['env']['KAFKA_REQUEST_TIMEOUT']||'25000'),'topicPattern':process[_0x43d142(0x1aa)][_0x43d142(0x17c)]||_0x429444[_0x43d142(0x196)],'tenantId':process[_0x43d142(0x1aa)]['KAFKA_TENANT_ID']||_0x429444[_0x43d142(0x198)],'retryAttempts':_0x429444[_0x43d142(0x192)](parseInt,process[_0x43d142(0x1aa)]['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':_0x429444['fmbeG'](parseInt,process[_0x43d142(0x1aa)][_0x43d142(0x1a3)]||'1000'),'logLevel':process[_0x43d142(0x1aa)][_0x43d142(0x17f)]||_0x429444[_0x43d142(0x182)]};}['getLogLevel'](_0x16d829){const _0x5d09c6=a0_0xe179d2,_0x5710f3={'nothing':logLevel[_0x5d09c6(0x169)],'error':logLevel['ERROR'],'warn':logLevel[_0x5d09c6(0x17a)],'info':logLevel['INFO'],'debug':logLevel[_0x5d09c6(0x19e)]};return _0x5710f3[_0x16d829[_0x5d09c6(0x184)]()]||logLevel['WARN'];}async['initialize'](){const _0x2d1471=a0_0xe179d2,_0x4e5cb7={'xsLbE':'[Kafka]\x20Producer\x20disconnected','Gsxfd':'true','WvvvD':function(_0x4cad70,_0x2f7140){return _0x4cad70(_0x2f7140);},'tVhXa':'[Kafka]\x20Kafka\x20producer\x20is\x20disabled\x20in\x20configuration'},_0x3f066=this['getConfig']();if(!_0x3f066[_0x2d1471(0x183)])return console['log'](_0x4e5cb7[_0x2d1471(0x168)]),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this[_0x2d1471(0x16a)])return this['connectionPromise'];return this['isInitializing']=!![],this[_0x2d1471(0x16a)]=new Promise(async _0x1d7fdc=>{const _0x5311c9=_0x2d1471;try{let _0x50613c=undefined;process['env'][_0x5311c9(0x16f)]===_0x4e5cb7['Gsxfd']&&(_0x50613c=!![]);let _0x18c343=undefined;process[_0x5311c9(0x1aa)][_0x5311c9(0x181)]&&(_0x18c343={'mechanism':process[_0x5311c9(0x1aa)]['KAFKA_SASL_MECHANISM'],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process[_0x5311c9(0x1aa)][_0x5311c9(0x1a1)]||''}),this[_0x5311c9(0x199)]=new Kafka({'clientId':_0x3f066[_0x5311c9(0x1a5)],'brokers':_0x3f066['brokers'],'connectionTimeout':_0x3f066['connectionTimeout'],'requestTimeout':_0x3f066[_0x5311c9(0x191)],'logLevel':this[_0x5311c9(0x1b2)](_0x3f066['logLevel']),'ssl':_0x50613c,'sasl':_0x18c343,'retry':{'initialRetryTime':_0x3f066['retryDelay'],'retries':_0x3f066['retryAttempts']}}),this[_0x5311c9(0x19b)]=this['kafka']['producer']({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners['LegacyPartitioner']}),await this[_0x5311c9(0x19b)][_0x5311c9(0x1a7)](),this['isConnected']=!![],console[_0x5311c9(0x18d)](_0x5311c9(0x17e)+_0x3f066[_0x5311c9(0x175)][_0x5311c9(0x185)](',\x20')),this[_0x5311c9(0x19b)]['on']('producer.disconnect',()=>{const _0x592beb=_0x5311c9;console['log'](_0x4e5cb7[_0x592beb(0x15f)]),this[_0x592beb(0x1ad)]=![];}),_0x4e5cb7['WvvvD'](_0x1d7fdc,!![]);}catch(_0x394335){console[_0x5311c9(0x177)]('[Kafka]\x20Connection\x20failed:\x20'+_0x394335['message']),this['isConnected']=![],_0x1d7fdc(![]);}finally{this[_0x5311c9(0x166)]=![];}}),this[_0x2d1471(0x16a)];}['formatDateTime'](_0x4702ce){const _0x2e0bd6=a0_0xe179d2,_0x3504bf={'RTYTs':function(_0x2ef648,_0x2755e7){return _0x2ef648+_0x2755e7;},'iltaE':function(_0x16aeff,_0xe4e3b7){return _0x16aeff(_0xe4e3b7);},'WRarO':function(_0x49e149,_0x59930f){return _0x49e149(_0x59930f);}},_0x44a885=_0x4702ce||new Date(),_0x36ced1=_0x44a885['getFullYear'](),_0x5a3a13=String(_0x3504bf['RTYTs'](_0x44a885['getMonth'](),0x1))['padStart'](0x2,'0'),_0x19a665=String(_0x44a885[_0x2e0bd6(0x164)]())['padStart'](0x2,'0'),_0x527f30=String(_0x44a885['getHours']())[_0x2e0bd6(0x19d)](0x2,'0'),_0x295f88=_0x3504bf['iltaE'](String,_0x44a885['getMinutes']())[_0x2e0bd6(0x19d)](0x2,'0'),_0x433e8c=_0x3504bf[_0x2e0bd6(0x179)](String,_0x44a885['getSeconds']())[_0x2e0bd6(0x19d)](0x2,'0');return _0x36ced1+'-'+_0x5a3a13+'-'+_0x19a665+'\x20'+_0x527f30+':'+_0x295f88+':'+_0x433e8c;}['buildTopicName'](_0x2d2149,_0x1c9dd1,_0x166d44,_0xe29b07=null){const _0x58b70b=a0_0xe179d2,_0x4cf3fc={'NcvYF':_0x58b70b(0x165)};if(_0xe29b07)return _0xe29b07;const _0x1a2bfe=this['getConfig']()[_0x58b70b(0x19c)];return _0x1a2bfe['replace'](_0x58b70b(0x171),_0x2d2149)['replace'](_0x4cf3fc['NcvYF'],_0x1c9dd1)['replace'](_0x58b70b(0x1a0),_0x166d44);}[a0_0xe179d2(0x18f)](_0x206e23,_0x58b79f,_0x3bd343,_0x13b243={}){const _0xe7fddf=a0_0xe179d2,_0x57f765={'wdFyC':function(_0x1d65af){return _0x1d65af();},'XxTRi':function(_0x25a970){return _0x25a970();},'lZDhF':_0xe7fddf(0x1b1),'lQohe':'SYSTEM'},_0x518003=new Date(),_0xd10fd1=this['formatDateTime'](_0x518003),_0x27d226=_0x13b243[_0xe7fddf(0x15c)]||_0xe7fddf(0x174)+_0x57f765['wdFyC'](uuidv7);return{'eventId':_0xe7fddf(0x176)+_0x57f765[_0xe7fddf(0x16e)](uuidv7),'eventType':_0x206e23,'eventTime':_0xd10fd1,'eventVersion':'1.0','source':_0xe7fddf(0x1a8)+(_0x13b243[_0xe7fddf(0x194)]||_0x57f765['lZDhF']),'correlationId':_0x27d226,'newData':_0x3bd343,'oldData':_0x58b79f,'metadata':{'createdBy':_0x13b243[_0xe7fddf(0x188)]||_0x57f765[_0xe7fddf(0x18e)],'createdAt':_0xd10fd1,'systemId':_0xe7fddf(0x187)+(_0x13b243[_0xe7fddf(0x194)]||_0x57f765['lZDhF'])['toUpperCase'](),'tenantId':this[_0xe7fddf(0x1ac)]()['tenantId'],'endpoint':_0x13b243['endpoint']||null,'tableName':_0x13b243['tableName']||null}};}async[a0_0xe179d2(0x16d)](_0x5e0998,_0x35f612,_0x523566,_0x3d32e0,_0x13c555={}){const _0x4de24d=a0_0xe179d2,_0x2f3854={'OzfVq':_0x4de24d(0x15d),'uQofM':function(_0x2db89e,_0x50ac01){return _0x2db89e(_0x50ac01);}},_0x2b70cc=this['getConfig']();if(!_0x2b70cc[_0x4de24d(0x183)])return{'success':![],'reason':'Kafka\x20producer\x20is\x20disabled','published':![]};if(!this[_0x4de24d(0x1ad)]){const _0x3ec812=await this[_0x4de24d(0x1a9)]();if(!_0x3ec812)return{'success':![],'reason':_0x2f3854[_0x4de24d(0x189)],'published':![]};}try{const _0x3f2bbf=this['buildEventMessage'](_0x35f612,_0x523566,_0x3d32e0,_0x13c555),_0xfce5f=_0x13c555['keyField']||'id',_0x384b9a=_0x3d32e0?.[_0xfce5f]||_0x523566?.[_0xfce5f]||uuidv7(),_0x3dbdcf=await this[_0x4de24d(0x19b)]['send']({'topic':_0x5e0998,'messages':[{'key':_0x2f3854[_0x4de24d(0x195)](String,_0x384b9a),'value':JSON[_0x4de24d(0x18a)](_0x3f2bbf),'headers':{'event-type':_0x35f612,'correlation-id':_0x3f2bbf['correlationId'],'source':_0x3f2bbf[_0x4de24d(0x180)]}}]});return console[_0x4de24d(0x18d)](_0x4de24d(0x19a)+_0x5e0998+':\x20'+_0x35f612+'\x20(key:\x20'+_0x384b9a+')'),{'success':!![],'correlationId':_0x3f2bbf['correlationId'],'topic':_0x5e0998,'partition':_0x3dbdcf[0x0]?.['partition'],'offset':_0x3dbdcf[0x0]?.[_0x4de24d(0x197)],'published':!![]};}catch(_0x4ce285){return console[_0x4de24d(0x177)]('[Kafka]\x20Publish\x20error\x20to\x20'+_0x5e0998+':\x20'+_0x4ce285['message']),{'success':![],'error':_0x4ce285[_0x4de24d(0x193)],'published':![]};}}async[a0_0xe179d2(0x18c)](_0x2e9e9c,_0x5ea442,_0x4b409c,_0x1f65c1={}){const _0x2f2a58=a0_0xe179d2,_0x4b39db={'nwXUW':'created','cFWhA':'ENTITY_CREATED'},_0x51037d=this['buildTopicName'](_0x2e9e9c,_0x5ea442,_0x4b39db['nwXUW'],_0x1f65c1[_0x2f2a58(0x1af)]);return this['publishEvent'](_0x51037d,_0x4b39db[_0x2f2a58(0x1b0)],null,_0x4b409c,{'module':_0x2e9e9c,'endpoint':_0x5ea442,'keyField':_0x1f65c1['keyField'],'tableName':_0x1f65c1['tableName'],'correlationId':_0x1f65c1['correlationId']});}async['publishUpdate'](_0x110ed2,_0x510bf1,_0x843713,_0x832b49,_0x47e8a4={}){const _0x36facb=a0_0xe179d2,_0x1d8838={'dJSJl':'updated','WIqZK':'ENTITY_UPDATED'},_0x4fd36f=this['buildTopicName'](_0x110ed2,_0x510bf1,_0x1d8838['dJSJl'],_0x47e8a4[_0x36facb(0x1af)]);return this['publishEvent'](_0x4fd36f,_0x1d8838['WIqZK'],_0x843713,_0x832b49,{'module':_0x110ed2,'endpoint':_0x510bf1,'keyField':_0x47e8a4[_0x36facb(0x160)],'tableName':_0x47e8a4[_0x36facb(0x17b)],'correlationId':_0x47e8a4['correlationId']});}async['publishDelete'](_0x258731,_0x83f74c,_0x24ef42,_0x15089c={}){const _0x2d9f96=a0_0xe179d2,_0x3d006e={'qlzNO':_0x2d9f96(0x161)},_0xa0eaf8=this[_0x2d9f96(0x163)](_0x258731,_0x83f74c,_0x2d9f96(0x190),_0x15089c['topic']);return this[_0x2d9f96(0x16d)](_0xa0eaf8,_0x3d006e[_0x2d9f96(0x18b)],_0x24ef42,null,{'module':_0x258731,'endpoint':_0x83f74c,'keyField':_0x15089c['keyField'],'tableName':_0x15089c[_0x2d9f96(0x17b)],'correlationId':_0x15089c[_0x2d9f96(0x15c)]});}['getStatus'](){const _0x38e5e4=a0_0xe179d2,_0xb2e98f=this['getConfig']();return{'enabled':_0xb2e98f['enabled'],'connected':this['isConnected'],'brokers':_0xb2e98f[_0x38e5e4(0x175)],'clientId':_0xb2e98f[_0x38e5e4(0x1a5)],'topicPattern':_0xb2e98f[_0x38e5e4(0x19c)]};}async[a0_0xe179d2(0x16c)](){const _0x392a09=a0_0xe179d2;if(this['producer']&&this[_0x392a09(0x1ad)])try{await this[_0x392a09(0x19b)]['disconnect'](),this[_0x392a09(0x1ad)]=![],console[_0x392a09(0x18d)]('[Kafka]\x20Producer\x20disconnected\x20gracefully');}catch(_0x42020a){console['error']('[Kafka]\x20Error\x20disconnecting:\x20'+_0x42020a['message']);}}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};function a0_0x552c(){const _0x3ba4b3=['C3rYAw5NAwz5','CwX6tK8','ChvIBgLZAeLUC2vYDa','Bg9N','BffVAgu','yNvPBgrfDMvUDe1LC3nHz2u','zgvSzxrLza','CMvXDwvZDfrPBwvVDxq','vgvRCeG','BwvZC2fNzq','Bw9KDwXL','DvfVzK0','uezSqLq','yMfZzu9MzNnLDa','zxnnEhC','A2fMA2e','w0THzMTHxsbfDMvUDcbWDwjSAxnOzwqGDg8G','ChjVzhvJzxi','Dg9WAwnqyxr0zxjU','CgfKu3rHCNq','revcvuC','ntm1oteZmgzOvfLyBa','E2fJDgLVBN0','s0fgs0fFu0fttf9qqvntv09sra','C3bSAxq','s0fgs0fFuKvuuLLFrevmqvK','DxvPza','y2XPzw50swq','nZDxv0Dgu1e','y29UBMvJDa','CMvZDgzVCMDLlq','Aw5PDgLHBgL6zq','zw52','mtuWntCZnNH4vM5ova','z2v0q29UzMLN','AxndB25Uzwn0zwq','lxbYB2r1y2vY','Dg9WAwm','y0zxAee','Dw5RBM93BG','z2v0tg9Ntgv2zwW','y29YCMvSyxrPB25jza','rMfPBgvKihrVignVBM5Ly3qGDg8Gs2fMA2eGyNjVA2vY','Dhj1zq','EhnmyKu','A2v5rMLLBgq','ru5usvrzx0rftevuruq','s0fgs0fFru5bqKXfra','yNvPBgruB3bPy05HBwu','z2v0rgf0zq','E2vUzhbVAw50Fq','AxnjBML0AwfSAxPPBMC','s0fgs0fFq09otKvdveLptL9usu1ft1vu','DfzOwge','tK9useLorW','y29UBMvJDgLVBLbYB21PC2u','DNzvuhe','y2XVC2u','ChvIBgLZAev2zw50','whHuuMK','s0fgs0fFu1nm','nJa4mJG1nfbiqLniqW','E21VzhvSzx0','mJe3oduXmenvrgnJCW','s0fgs0fFq0Xjru5ux0Le','y29YCI0','yNjVA2vYCW','zxz0lq','zxjYB3i','odiWodi0EKDsyLLK','v1jHCK8','v0fstG','DgfIBgvoyw1L','s0fgs0fFve9qsunFuefuvevstG','otG4mZrRDNLeBNe','w0THzMTHxsbqCM9KDwnLCIbJB25Uzwn0zwqGDg8GyNjVA2vYCZOG','s0fgs0fFte9hx0XfvKvm','C291CMnL','s0fgs0fFu0fttf9nruniqu5ju00','ugDqt1m','zw5HyMXLza','Dg9mB3DLCKnHC2u','AM9PBG','mZiZndG3yvbZCeP0','uKvtvezpuKDflq','y3jLyxrLzej5','t3PMvNe'];a0_0x552c=function(){return _0x3ba4b3;};return a0_0x552c();}
|
|
1
|
+
function a0_0x5be4(){const _0x37be9c=['Aw5PDgLHBgL6zq','zxjYB3i','ru5usvrzx1vqrefuruq','zgvMyxvSDa','CMv0CNLbDhrLBxb0CW','DgvUyw50swq','s0fgs0fFte9hx0XfvKvm','Bw9KDwXL','Dw5RBM93BG','nZm0mZmXnM5ACKTbvW','yNvPBgruB3bPy05HBwu','s0fgs0fFuKvrvuvtvf9usu1ft1vu','tgvNywn5ugfYDgL0Aw9Uzxi','qK5psey','ChvIBgLZAev2zw50','mtmYuhvvCfzZ','A2v5rMLLBgq','mte4mJCWDhD0wNne','ChjVzhvJzxi','s0fgs0fFru5bqKXfra','mJjfzfzQChm','ru5usvrzx0nsrufuruq','yMfZzu9MzNnLDa','w0THzMTHxsblywzRysbWCM9KDwnLCIbPCYbKAxnHyMXLzcbPBIbJB25MAwD1CMf0Aw9U','lxbYB2r1y2vY','zgvSzxrLza','tgXPsNC','CgfKu3rHCNq','BwvZC2fNzq','AxndB25Uzwn0zwq','EuL6rNK','CMvZDgzVCMDLlq','uKvtvezpuKDflq','yNjVA2vYCW','Dg9WAwnqyxr0zxjU','y29UBMvJDgLVBLrPBwvVDxq','s0fgs0fFu0fttf9nruniqu5ju00','nZK2mZztvxPRrfu','CMv0CNLezwXHEq','y2XVC2u','mZaWma','mtGWmdi2ngLbvhnczW','s0fgs0fFq0Xjru5ux0Le','A2fMA2e','E21VzhvSzx0UE2vUzhbVAw50Fs5LDMvUDhm','Bg9N','w0THzMTHxsbfDMvUDcbWDwjSAxnOzwqGDg8G','y3jLyxrLza','mJuWmda','y29YCI0','DgfIBgvoyw1L','nda5nZC2nJbksLHrEKC','ChvIBgLZAfvWzgf0zq','zxHWB3j0CW','mtaWmtyZq3bosvzN','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwqGz3jHy2vMDwXSEq','w0THzMTHxsbfCNjVCIbKAxnJB25Uzwn0Aw5NoIa','z2v0rNvSBfLLyxi','s0fgs0fFve9qsunFuefuvevstG','yNvPBgrfDMvUDe1LC3nHz2u','w0THzMTHxsbdB25Uzwn0Aw9UigzHAwXLzdOG','ms4W','s0fgs0fFu0fttf9qqvntv09sra','y29YCMvSyxrPB25jza','zw5HyMXLza','Dhj1zq','y3jLyxrLzej5','zKfuDNy','Dg9mB3DLCKnHC2u','s0fgs0fFuKvuuLLFqvruru1qvfm','z2v0rgf0zq','z2v0u3rHDhvZ','su5gtW','ohfHDhbrqG','C2vUza','AxnjBML0AwfSAxPPBMC','s0fgs0fFq09otKvdveLptL9usu1ft1vu','DxbKyxrLza','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','Dg9vChbLCKnHC2u','v0fstG','s0fgs0fFqLjps0vsuW','ChjVzhvJzxiUzgLZy29UBMvJDa','zw52','E21VzhvSzx0','y29UBMvJDgLVBLbYB21PC2u','tK9useLorW','z2v0q29UzMLN','z2v0twLUDxrLCW','mZi3mZq1m1DQCNz2BG','E2fJDgLVBN0'];a0_0x5be4=function(){return _0x37be9c;};return a0_0x5be4();}const a0_0x127050=a0_0x27ac;(function(_0x2e9619,_0x1e12e9){const _0x185f6e=a0_0x27ac,_0x21f30c=_0x2e9619();while(!![]){try{const _0x532d5b=parseInt(_0x185f6e(0x84))/0x1*(-parseInt(_0x185f6e(0xce))/0x2)+-parseInt(_0x185f6e(0xb8))/0x3+parseInt(_0x185f6e(0xc9))/0x4*(-parseInt(_0x185f6e(0xcb))/0x5)+parseInt(_0x185f6e(0x88))/0x6+-parseInt(_0x185f6e(0x95))/0x7*(-parseInt(_0x185f6e(0xa8))/0x8)+-parseInt(_0x185f6e(0xc3))/0x9+parseInt(_0x185f6e(0x92))/0xa;if(_0x532d5b===_0x1e12e9)break;else _0x21f30c['push'](_0x21f30c['shift']());}catch(_0x2028ee){_0x21f30c['push'](_0x21f30c['shift']());}}}(a0_0x5be4,0xcf252));const {Kafka,logLevel,Partitioners}=require('kafkajs'),{v7:uuidv7}=require('uuid');function a0_0x27ac(_0x2777ee,_0x3e27ad){_0x2777ee=_0x2777ee-0x7f;const _0x5be450=a0_0x5be4();let _0x27ac62=_0x5be450[_0x2777ee];if(a0_0x27ac['azigFq']===undefined){var _0x5e661b=function(_0x29ce4c){const _0x484637='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2d654e='',_0x5db6f5='';for(let _0x5e022a=0x0,_0x581d34,_0x6d4d5a,_0x2e58a7=0x0;_0x6d4d5a=_0x29ce4c['charAt'](_0x2e58a7++);~_0x6d4d5a&&(_0x581d34=_0x5e022a%0x4?_0x581d34*0x40+_0x6d4d5a:_0x6d4d5a,_0x5e022a++%0x4)?_0x2d654e+=String['fromCharCode'](0xff&_0x581d34>>(-0x2*_0x5e022a&0x6)):0x0){_0x6d4d5a=_0x484637['indexOf'](_0x6d4d5a);}for(let _0x59e8b3=0x0,_0x1dfe62=_0x2d654e['length'];_0x59e8b3<_0x1dfe62;_0x59e8b3++){_0x5db6f5+='%'+('00'+_0x2d654e['charCodeAt'](_0x59e8b3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5db6f5);};a0_0x27ac['pzYZQh']=_0x5e661b,a0_0x27ac['zEHzBg']={},a0_0x27ac['azigFq']=!![];}const _0x4c2e64=_0x5be450[0x0],_0x1f6004=_0x2777ee+_0x4c2e64,_0x301c0a=a0_0x27ac['zEHzBg'][_0x1f6004];return!_0x301c0a?(_0x27ac62=a0_0x27ac['pzYZQh'](_0x27ac62),a0_0x27ac['zEHzBg'][_0x1f6004]=_0x27ac62):_0x27ac62=_0x301c0a,_0x27ac62;}class KafkaService{constructor(){const _0xea0911=a0_0x27ac,_0x3da2d2='1|0|2|3|4'['split']('|');let _0x13d3bf=0x0;while(!![]){switch(_0x3da2d2[_0x13d3bf++]){case'0':this['producer']=null;continue;case'1':this['kafka']=null;continue;case'2':this['isConnected']=![];continue;case'3':this[_0xea0911(0xaa)]=![];continue;case'4':this['connectionPromise']=null;continue;}break;}}[a0_0x127050(0xb6)](){const _0x45c884=a0_0x127050,_0xa1c267={'PXMAi':function(_0x19d55f,_0x48e743){return _0x19d55f===_0x48e743;},'xvPus':_0x45c884(0xbd),'fATvv':function(_0x5903a9,_0xa2a989){return _0x5903a9(_0xa2a989);},'LliJw':'1000'};return{'enabled':_0xa1c267['PXMAi'](process['env'][_0x45c884(0xcd)],_0x45c884(0xa0)),'brokers':(process['env'][_0x45c884(0xb0)]||'localhost:9092')['split'](','),'clientId':process['env'][_0x45c884(0x89)]||'restforge-'+(process['env'][_0x45c884(0xad)]||_0xa1c267['xvPus'])+_0x45c884(0xd2),'connectionTimeout':parseInt(process[_0x45c884(0xb2)][_0x45c884(0xab)]||_0x45c884(0x87)),'requestTimeout':_0xa1c267['fATvv'](parseInt,process[_0x45c884(0xb2)][_0x45c884(0xc5)]||_0x45c884(0x8f)),'topicPattern':process[_0x45c884(0xb2)][_0x45c884(0x99)]||_0x45c884(0x8b),'tenantId':process['env']['KAFKA_TENANT_ID']||_0x45c884(0xbd),'retryAttempts':_0xa1c267[_0x45c884(0xa2)](parseInt,process[_0x45c884(0xb2)][_0x45c884(0xa4)]||'3'),'retryDelay':parseInt(process[_0x45c884(0xb2)]['KAFKA_RETRY_DELAY']||_0xa1c267[_0x45c884(0xd4)]),'logLevel':process['env'][_0x45c884(0xc0)]||'warn'};}['getLogLevel'](_0x4a4733){const _0x1d0294=a0_0x127050,_0x5d5bde={'nothing':logLevel[_0x1d0294(0xb5)],'error':logLevel['ERROR'],'warn':logLevel[_0x1d0294(0xaf)],'info':logLevel[_0x1d0294(0xa7)],'debug':logLevel['DEBUG']};return _0x5d5bde[_0x4a4733[_0x1d0294(0xa3)]()]||logLevel['WARN'];}async[a0_0x127050(0xba)](){const _0x22582b=a0_0x127050,_0x486b2a={'dZkGf':'true','AdlAm':_0x22582b(0xb1)},_0x32e2be=this['getConfig']();if(!_0x32e2be['enabled'])return console['log'](_0x22582b(0xd1)),![];if(this['isConnected'])return!![];if(this[_0x22582b(0xaa)]&&this[_0x22582b(0xb4)])return this[_0x22582b(0xb4)];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x4c4a79=>{const _0x2e941a=_0x22582b,_0xa73be0={'yIzFy':'[Kafka]\x20Producer\x20disconnected'};try{let _0x5d8f3e=undefined;process[_0x2e941a(0xb2)]['KAFKA_SSL']===_0x486b2a['dZkGf']&&(_0x5d8f3e=!![]);let _0x5bf6c1=undefined;process['env'][_0x2e941a(0x83)]&&(_0x5bf6c1={'mechanism':process[_0x2e941a(0xb2)][_0x2e941a(0x83)],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process['env'][_0x2e941a(0x9d)]||''}),this['kafka']=new Kafka({'clientId':_0x32e2be['clientId'],'brokers':_0x32e2be['brokers'],'connectionTimeout':_0x32e2be[_0x2e941a(0x82)],'requestTimeout':_0x32e2be['requestTimeout'],'logLevel':this['getLogLevel'](_0x32e2be['logLevel']),'ssl':_0x5d8f3e,'sasl':_0x5bf6c1,'retry':{'initialRetryTime':_0x32e2be[_0x2e941a(0x85)],'retries':_0x32e2be[_0x2e941a(0xbe)]}}),this[_0x2e941a(0xcc)]=this[_0x2e941a(0x8a)]['producer']({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners[_0x2e941a(0xc6)]}),await this[_0x2e941a(0xcc)]['connect'](),this['isConnected']=!![],console[_0x2e941a(0x8c)]('[Kafka]\x20Producer\x20connected\x20to\x20brokers:\x20'+_0x32e2be[_0x2e941a(0x80)]['join'](',\x20')),this[_0x2e941a(0xcc)]['on'](_0x486b2a['AdlAm'],()=>{const _0x11f460=_0x2e941a;console[_0x11f460(0x8c)](_0xa73be0[_0x11f460(0xd8)]),this['isConnected']=![];}),_0x4c4a79(!![]);}catch(_0x254d0c){console[_0x2e941a(0xbb)](_0x2e941a(0x9b)+_0x254d0c[_0x2e941a(0xd6)]),this['isConnected']=![],_0x4c4a79(![]);}finally{this['isInitializing']=![];}}),this[_0x22582b(0xb4)];}['formatDateTime'](_0x43cef6){const _0x503f9f=a0_0x127050,_0x2a1ada={'iIZjI':function(_0x291883,_0x3950cd){return _0x291883+_0x3950cd;},'WuPDz':function(_0x89bd75,_0xd38d22){return _0x89bd75(_0xd38d22);}},_0xae53aa=_0x43cef6||new Date(),_0xb7b536=_0xae53aa[_0x503f9f(0x98)](),_0x18bf01=String(_0x2a1ada['iIZjI'](_0xae53aa['getMonth'](),0x1))['padStart'](0x2,'0'),_0x186e74=_0x2a1ada['WuPDz'](String,_0xae53aa[_0x503f9f(0xa5)]())[_0x503f9f(0xd5)](0x2,'0'),_0x65e5c0=String(_0xae53aa['getHours']())['padStart'](0x2,'0'),_0x509d85=String(_0xae53aa[_0x503f9f(0xb7)]())['padStart'](0x2,'0'),_0x34d54f=String(_0xae53aa['getSeconds']())['padStart'](0x2,'0');return _0xb7b536+'-'+_0x18bf01+'-'+_0x186e74+'\x20'+_0x65e5c0+':'+_0x509d85+':'+_0x34d54f;}[a0_0x127050(0xc4)](_0x1fe4af,_0x4aac5f,_0x3bd146,_0x3876b7=null){const _0x22ad6c=a0_0x127050,_0x5b2497={'GpacL':'{endpoint}'};if(_0x3876b7)return _0x3876b7;const _0x38576f=this['getConfig']()['topicPattern'];return _0x38576f['replace'](_0x22ad6c(0xb3),_0x1fe4af)['replace'](_0x5b2497['GpacL'],_0x4aac5f)['replace'](_0x22ad6c(0xb9),_0x3bd146);}[a0_0x127050(0x9a)](_0x1f7c82,_0xa14804,_0x2bc3e7,_0x416b2b={}){const _0x347ced=a0_0x127050,_0xfa6f41={'BNOHF':function(_0x4f9fde){return _0x4f9fde();},'bhpgu':'unknown','Zwbpx':'SYSTEM'},_0x4fd721=new Date(),_0x1d9955=this['formatDateTime'](_0x4fd721),_0x4e8db1=_0x416b2b[_0x347ced(0x9e)]||_0x347ced(0x90)+_0xfa6f41[_0x347ced(0xc7)](uuidv7);return{'eventId':'evt-'+uuidv7(),'eventType':_0x1f7c82,'eventTime':_0x1d9955,'eventVersion':_0x347ced(0x9c),'source':_0x347ced(0xd9)+(_0x416b2b['module']||_0xfa6f41['bhpgu']),'correlationId':_0x4e8db1,'newData':_0x2bc3e7,'oldData':_0xa14804,'metadata':{'createdBy':_0x416b2b[_0x347ced(0xa1)]||_0xfa6f41['Zwbpx'],'createdAt':_0x1d9955,'systemId':_0x347ced(0x7f)+(_0x416b2b[_0x347ced(0xc1)]||_0x347ced(0xc2))[_0x347ced(0xae)](),'tenantId':this['getConfig']()[_0x347ced(0xbf)],'endpoint':_0x416b2b['endpoint']||null,'tableName':_0x416b2b['tableName']||null}};}async['publishEvent'](_0x43a834,_0x531390,_0x39a445,_0x19d5c5,_0x65d398={}){const _0x8a8f4d=a0_0x127050,_0x1376b9={'CqSMw':'Kafka\x20producer\x20is\x20disabled'},_0x332b5b=this['getConfig']();if(!_0x332b5b[_0x8a8f4d(0x9f)])return{'success':![],'reason':_0x1376b9['CqSMw'],'published':![]};if(!this[_0x8a8f4d(0xd7)]){const _0x5c569f=await this['initialize']();if(!_0x5c569f)return{'success':![],'reason':'Failed\x20to\x20connect\x20to\x20Kafka\x20broker','published':![]};}try{const _0x4adf49=this[_0x8a8f4d(0x9a)](_0x531390,_0x39a445,_0x19d5c5,_0x65d398),_0x1f1887=_0x65d398[_0x8a8f4d(0xca)]||'id',_0x16e7f7=_0x19d5c5?.[_0x1f1887]||_0x39a445?.[_0x1f1887]||uuidv7(),_0x40b243=await this['producer'][_0x8a8f4d(0xa9)]({'topic':_0x43a834,'messages':[{'key':String(_0x16e7f7),'value':JSON['stringify'](_0x4adf49),'headers':{'event-type':_0x531390,'correlation-id':_0x4adf49[_0x8a8f4d(0x9e)],'source':_0x4adf49['source']}}]});return console['log'](_0x8a8f4d(0x8d)+_0x43a834+':\x20'+_0x531390+'\x20(key:\x20'+_0x16e7f7+')'),{'success':!![],'correlationId':_0x4adf49[_0x8a8f4d(0x9e)],'topic':_0x43a834,'partition':_0x40b243[0x0]?.['partition'],'offset':_0x40b243[0x0]?.[_0x8a8f4d(0xd0)],'published':!![]};}catch(_0x1dcd2c){return console[_0x8a8f4d(0xbb)]('[Kafka]\x20Publish\x20error\x20to\x20'+_0x43a834+':\x20'+_0x1dcd2c[_0x8a8f4d(0xd6)]),{'success':![],'error':_0x1dcd2c['message'],'published':![]};}}async['publishInsert'](_0x22ae29,_0x3dbc28,_0x51f6dd,_0x575454={}){const _0x5da4d4=a0_0x127050,_0x45f1d6={'HgmkZ':_0x5da4d4(0xcf)},_0x52c63f=this[_0x5da4d4(0xc4)](_0x22ae29,_0x3dbc28,_0x5da4d4(0x8e),_0x575454['topic']);return this['publishEvent'](_0x52c63f,_0x45f1d6['HgmkZ'],null,_0x51f6dd,{'module':_0x22ae29,'endpoint':_0x3dbc28,'keyField':_0x575454['keyField'],'tableName':_0x575454[_0x5da4d4(0x91)],'correlationId':_0x575454[_0x5da4d4(0x9e)]});}async[a0_0x127050(0x93)](_0x28a96e,_0xe2a130,_0xa51e1d,_0x195b71,_0x663aa4={}){const _0x3f5e46=a0_0x127050,_0x1d7e87=this[_0x3f5e46(0xc4)](_0x28a96e,_0xe2a130,_0x3f5e46(0xac),_0x663aa4['topic']);return this[_0x3f5e46(0xc8)](_0x1d7e87,_0x3f5e46(0xbc),_0xa51e1d,_0x195b71,{'module':_0x28a96e,'endpoint':_0xe2a130,'keyField':_0x663aa4['keyField'],'tableName':_0x663aa4['tableName'],'correlationId':_0x663aa4['correlationId']});}async['publishDelete'](_0x5bcb68,_0x157105,_0x1b394b,_0x528189={}){const _0x53186b=a0_0x127050,_0x3691c4=this[_0x53186b(0xc4)](_0x5bcb68,_0x157105,_0x53186b(0xd3),_0x528189['topic']);return this[_0x53186b(0xc8)](_0x3691c4,'ENTITY_DELETED',_0x1b394b,null,{'module':_0x5bcb68,'endpoint':_0x157105,'keyField':_0x528189['keyField'],'tableName':_0x528189['tableName'],'correlationId':_0x528189['correlationId']});}[a0_0x127050(0xa6)](){const _0x481a7b=a0_0x127050,_0x10e09c=this['getConfig']();return{'enabled':_0x10e09c[_0x481a7b(0x9f)],'connected':this['isConnected'],'brokers':_0x10e09c['brokers'],'clientId':_0x10e09c['clientId'],'topicPattern':_0x10e09c[_0x481a7b(0x81)]};}async[a0_0x127050(0x86)](){const _0x5001b2=a0_0x127050,_0x3f4e87={'tPtfO':_0x5001b2(0x96)};if(this['producer']&&this['isConnected'])try{await this['producer']['disconnect'](),this[_0x5001b2(0xd7)]=![],console[_0x5001b2(0x8c)](_0x3f4e87['tPtfO']);}catch(_0x1435e0){console['error'](_0x5001b2(0x97)+_0x1435e0[_0x5001b2(0xd6)]);}}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){const _0x4ab26a=a0_0x127050;instance&&(instance[_0x4ab26a(0x86)](),instance=null);}module[a0_0x127050(0x94)]={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x3780(_0x5016f2,_0x588010){_0x5016f2=_0x5016f2-0x18e;const _0x23c2f1=a0_0x23c2();let _0x37808c=_0x23c2f1[_0x5016f2];if(a0_0x3780['gIeGQs']===undefined){var _0x104668=function(_0x4025c6){const _0x35c7a2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x427b2e='',_0x50ce8a='';for(let _0x59a079=0x0,_0x45a0f4,_0xa0880b,_0x3c0158=0x0;_0xa0880b=_0x4025c6['charAt'](_0x3c0158++);~_0xa0880b&&(_0x45a0f4=_0x59a079%0x4?_0x45a0f4*0x40+_0xa0880b:_0xa0880b,_0x59a079++%0x4)?_0x427b2e+=String['fromCharCode'](0xff&_0x45a0f4>>(-0x2*_0x59a079&0x6)):0x0){_0xa0880b=_0x35c7a2['indexOf'](_0xa0880b);}for(let _0x29a88a=0x0,_0x3cf272=_0x427b2e['length'];_0x29a88a<_0x3cf272;_0x29a88a++){_0x50ce8a+='%'+('00'+_0x427b2e['charCodeAt'](_0x29a88a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x50ce8a);};a0_0x3780['hYyxov']=_0x104668,a0_0x3780['wbGXAL']={},a0_0x3780['gIeGQs']=!![];}const _0x1aaee1=_0x23c2f1[0x0],_0x1112cf=_0x5016f2+_0x1aaee1,_0x39dd21=a0_0x3780['wbGXAL'][_0x1112cf];return!_0x39dd21?(_0x37808c=a0_0x3780['hYyxov'](_0x37808c),a0_0x3780['wbGXAL'][_0x1112cf]=_0x37808c):_0x37808c=_0x39dd21,_0x37808c;}const a0_0x2d29c1=a0_0x3780;(function(_0x7ffa8a,_0x3088a8){const _0x3cdb7c=a0_0x3780,_0x8b32c9=_0x7ffa8a();while(!![]){try{const _0x297da7=-parseInt(_0x3cdb7c(0x1d9))/0x1+parseInt(_0x3cdb7c(0x1a4))/0x2*(parseInt(_0x3cdb7c(0x1a5))/0x3)+parseInt(_0x3cdb7c(0x1b8))/0x4*(parseInt(_0x3cdb7c(0x1ec))/0x5)+-parseInt(_0x3cdb7c(0x1c6))/0x6*(parseInt(_0x3cdb7c(0x1a7))/0x7)+-parseInt(_0x3cdb7c(0x1da))/0x8+parseInt(_0x3cdb7c(0x1dc))/0x9+-parseInt(_0x3cdb7c(0x1b0))/0xa;if(_0x297da7===_0x3088a8)break;else _0x8b32c9['push'](_0x8b32c9['shift']());}catch(_0x68bfeb){_0x8b32c9['push'](_0x8b32c9['shift']());}}}(a0_0x23c2,0x700a6));const dotenv=require('dotenv'),path=require(a0_0x2d29c1(0x1bc)),fs=require('fs'),{v7:uuidv7}=require(a0_0x2d29c1(0x1d0));dotenv['config']();let MessageHub;try{const messagehubPath=path[a0_0x2d29c1(0x1bd)](__dirname,a0_0x2d29c1(0x18e));if(fs['existsSync'](messagehubPath))MessageHub=require(messagehubPath),console[a0_0x2d29c1(0x1a8)](a0_0x2d29c1(0x1c3)+messagehubPath);else throw new Error('MessageHub\x20SDK\x20not\x20found\x20at\x20'+messagehubPath);}catch(a0_0x3199d4){console['error']('Error\x20loading\x20MessageHub\x20SDK:\x20'+a0_0x3199d4[a0_0x2d29c1(0x198)]);throw a0_0x3199d4;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function a0_0x23c2(){const _0x7bf158=['ANzJreC','rKrNCeO','AxnfCNjVCLjLBgf0zwq','vgLKywSGzgfWyxqGBwvUzw11A2fUig1LDg9Kzsb1BNr1AYbTzw51DhvWigTVBMvRC2KGtwvZC2fNzuH1yG','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUihnVy2TLDc5KAxnJB25Uzwn0kcK','DxnLCKLK','8j+tQsblB25MAxjTyxnPoIbqzxnHBIa','BwvZC2fNzs1Zzw50','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pq','tw9KztOGs29UzwTZAsboEwf0yq','mte3mJe5mfPtDuvvta','lI4VlI4VANmVBwvZC2fNzwH1yI5QCW','q2HHBM5LBcbuyxjNzxq6ia','y3jQD3G','DerWugC','wuvIvwO','y2f0zwDVCNK','s3jZvNG','y2XVC2u','4PQG77IpievYCM9YoIa','wujwvKC','BwvZC2fNzq','Dg9WAwm','CKf0EgS','zxjYB3jezxrHAwW','q1PYuMi','BKfir08','D2vIC29JA2v0','tvnivujFqunltK9xtever0vFtuvtu0fhrvm','Dg9ju09tDhjPBMC','Be9qAKu','CgzIBeq','ChvIBgLZAeTLEq','mtyZmdK3oePoyxntva','m0XXyvHXyG','uKfgt28','nZe2ntjquvHWDe0','Bg9N','BvLou20','zNvUy3rPB24','weXOEe8','tvnivujFufvcteLtsf9lrvK','CMvXDwvZDeLK','BMXXuNG','Dw1fDeO','nJi5otu4mffQugDNzW','Aw9uCg0','CMvXDwLYzufJAW','rerltue','Dg9mB2nHBgvtDhjPBMC','zgLZy29UBMvJDa','uhvIBgLZAcblzxK6ia','zxjYB3i','ofDUyLjdCq','D1jkCLe','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUignSB3nLkcK','vKP1u1m','Cgf0Aa','CMvZB2X2zq','CMvHC29U','q1Psz0m','rMfPBgvKihrVihnLBMqGBwvZC2fNzq','zKPItK8','s29UzwTZAsb0zxjWDxr1CZOG','twvZC2fNzuH1yIbtreSGzM91BMqGyxqG','y2XLyxjdywnOzq','tvnivujFqvvut19bq0Tot1Dmrurhrq','ndHrr3bWv1m','ANDMz0O','rxjYB3iGAw5PC2LHBgLZyxnPie1LC3nHz2viDwi6','CMvJzwL2zxjjza','De5dtve','twvZC2fNzsbuExbLoIa','4PQG77IpifrPBwvVDxq6ifrPzgfRigrHCgf0ihrLCMH1yNvUzYbRzsbnzxnZywDLshvIihnLCNzLCIbKywXHBsb3ywT0Dsb5yw5NigrPDgvUDhvRyw4','pt09pt09ieLorK9stuftssbdteLftLqGtuvtu0fhruHvqIa9pt09pt0','4PQG77IpievYCM9Yihb1yMXPC2HPBMCGBwvZC2fNztOG','C29JA2v0','DxvPza','tvnivujFse9tva','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0','zgvMyxvSDa','vw5RBM93BG','twvZC2fNzsbZzw50ihn1y2nLC3nMDwXSEq','u3z6vfi','CgLK','twHyCM8','nZa3nZvSCeDIvgq','ndyWmZqWoerkre9MDq','igrPDgvYAw1Hig9SzwGG','ndC5mZqWmgjMv3DTDW','DNnoqMq','EhD3Ege','C3rYAw5NAwz5','twvZC2fNzuH1yIbZDwrHAcb0zxjODwj1BMCSig1LBMDNDw5HA2fUigTVBMvRC2KGEwfUzYbHzge','zw52'];a0_0x23c2=function(){return _0x7bf158;};return a0_0x23c2();}function log(_0x5d3018){const _0x19d0bd=a0_0x2d29c1,_0x5ea344=new Date()[_0x19d0bd(0x1a0)]();console['log']('['+_0x5ea344+']\x20'+_0x5d3018);}async function initMessageHub(){const _0x3cbe1e=a0_0x2d29c1,_0x433243={'nAHGO':function(_0x150eb9,_0x3a36f8){return _0x150eb9(_0x3a36f8);},'tDpPg':'Connection\x20timeout','xwwxa':function(_0x245eea,_0x37a6cc){return _0x245eea(_0x37a6cc);},'dvYvJ':'Tidak\x20diketahui','rfzRU':_0x3cbe1e(0x1e9),'IJfti':function(_0x3121a6,_0x32412a){return _0x3121a6(_0x32412a);},'wRJrQ':function(_0x516aaf,_0x56db6f){return _0x516aaf===_0x56db6f;},'tfkWF':'true','jwfgJ':'localhost','mYNSm':function(_0x5851eb,_0x24c086){return _0x5851eb(_0x24c086);},'fJbNO':function(_0x1df836,_0x1e39f7){return _0x1df836(_0x1e39f7);},'DDKMA':function(_0x5b4b8d,_0x4eb645){return _0x5b4b8d(_0x4eb645);},'BKKDB':function(_0xb6f9cf,_0x4a33f4){return _0xb6f9cf(_0x4a33f4);},'SvzTR':_0x3cbe1e(0x1c8),'jvcDG':function(_0x559148,_0x197108){return _0x559148(_0x197108);},'pfblD':function(_0x49626f,_0x11f525){return _0x49626f(_0x11f525);},'wWCBD':'Koneksi\x20MessageHub\x20sedang\x20berlangsung,\x20menunggu...'};if(messagehub&&isConnected)return _0x433243[_0x3cbe1e(0x1e2)](log,_0x3cbe1e(0x1e0)),!![];if(connectionPromise)return _0x433243[_0x3cbe1e(0x1a2)](log,_0x433243['wWCBD']),connectionPromise;return connectionPromise=new Promise(async(_0x34b9ab,_0x12100b)=>{const _0x43e7df=_0x3cbe1e,_0x256391={'DMjKu':'connected','YEbUj':function(_0x47b29e,_0x305bb9){const _0x48e6dd=a0_0x3780;return _0x433243[_0x48e6dd(0x19d)](_0x47b29e,_0x305bb9);},'MhXro':function(_0x4eecb4,_0x3ca26a){return _0x433243['nAHGO'](_0x4eecb4,_0x3ca26a);},'ioTpm':function(_0x129a3c,_0x2da369){return _0x129a3c===_0x2da369;},'YBVVG':'disconnected','umEtJ':function(_0x344736,_0x42fc65){return _0x433243['xwwxa'](_0x344736,_0x42fc65);},'ABzxa':_0x433243['dvYvJ'],'lOPjE':function(_0x478d7d,_0x538b32){return _0x478d7d(_0x538b32);},'rAtxk':function(_0x961156,_0x3e59cd){return _0x961156===_0x3e59cd;},'UaqXM':_0x433243['rfzRU'],'spmxg':'message-received','VJuSS':_0x43e7df(0x1d4),'CZRgC':function(_0x2177f4,_0x29d52d){return _0x2177f4(_0x29d52d);}};try{log('======\x20MULAI\x20INISIALISASI\x20MESSAGEHUB\x20======'),_0x433243['IJfti'](log,'Waktu\x20Inisialisasi:\x20'+new Date()[_0x43e7df(0x1b4)]()),log(_0x43e7df(0x1eb));const _0x36f62a={'publishKey':process[_0x43e7df(0x1e1)][_0x43e7df(0x1ac)],'subscribeKey':process['env']['MSHUB_SUBSCRIBE_KEY'],'userId':process[_0x43e7df(0x1e1)]['MSHUB_USER_ID']||'restforge-'+(process[_0x43e7df(0x1e1)]['RESTFORGE_PROJECT_NAME']||_0x43e7df(0x1d3))+'-'+process[_0x43e7df(0x1d7)],'communicationType':process[_0x43e7df(0x1e1)]['MSHUB_COMMUNICATION_TYPE']||'broadcast','autoAcknowledge':_0x433243[_0x43e7df(0x1b9)](process['env'][_0x43e7df(0x1c5)],_0x433243['tfkWF']),'acknowledgeMessages':process[_0x43e7df(0x1e1)][_0x43e7df(0x19f)]===_0x433243['tfkWF'],'platform':{'type':process[_0x43e7df(0x1e1)]['MSHUB_COMMUNICATION_TYPE']||_0x43e7df(0x19e),'host':process[_0x43e7df(0x1e1)][_0x43e7df(0x1d1)]||_0x433243[_0x43e7df(0x1c7)],'api_port':_0x433243['IJfti'](parseInt,process[_0x43e7df(0x1e1)]['MSHUB_API_PORT']||0xdf8),'service_port':_0x433243[_0x43e7df(0x1a9)](parseInt,process['env']['MSHUB_SERVICE_PORT']||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x36f62a),_0x433243[_0x43e7df(0x1c1)](log,_0x43e7df(0x1cd)),log('Client\x20ID/UserID:\x20'+messagehub[_0x43e7df(0x1e7)]),log(_0x43e7df(0x1b6)+messagehub[_0x43e7df(0x1a3)]),_0x433243['DDKMA'](log,'Subscribe\x20Key:\x20'+messagehub['subscribeKey']),_0x433243[_0x43e7df(0x1b3)](log,'Tipe\x20Komunikasi:\x20'+messagehub['communicationType']),_0x433243['BKKDB'](log,'Konfigurasi\x20Platform:\x20'+JSON[_0x43e7df(0x1df)](messagehub['platformConfig'])),_0x433243[_0x43e7df(0x1de)](log,_0x43e7df(0x1ea)),messagehub['addListener']({'status':function(_0x5d695c){const _0x13a27a=_0x43e7df;log('Status\x20Listener:\x20'+_0x5d695c['category']);if(_0x5d695c[_0x13a27a(0x193)]===_0x256391['DMjKu'])_0x256391[_0x13a27a(0x192)](log,'Terhubung\x20ke\x20server\x20MessageHub'),isConnected=!![],timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null),_0x256391[_0x13a27a(0x1d8)](_0x34b9ab,!![]);else{if(_0x256391[_0x13a27a(0x1b1)](_0x5d695c['category'],_0x256391[_0x13a27a(0x197)])){const _0x4b9388=_0x5d695c[_0x13a27a(0x1e4)]===!![];!_0x4b9388&&(_0x256391[_0x13a27a(0x1af)](log,'Terputus\x20dari\x20server.\x20Alasan:\x20'+(_0x5d695c[_0x13a27a(0x1be)]||_0x256391['ABzxa'])),isConnected=![],connectionPromise&&(_0x12100b(new Error(_0x13a27a(0x1c2)+(_0x5d695c['reason']||'Tidak\x20diketahui'))),connectionPromise=null));}else{if(_0x5d695c['category']==='error'){let _0x479610=_0x5d695c[_0x13a27a(0x19b)]||_0x5d695c[_0x13a27a(0x1b7)]||'Unknown\x20error';_0x256391[_0x13a27a(0x1a1)](log,_0x13a27a(0x196)+_0x479610),isConnected=![],connectionPromise&&(_0x12100b(new Error(_0x479610)),connectionPromise=null);}else{if(_0x256391[_0x13a27a(0x19a)](_0x5d695c[_0x13a27a(0x193)],_0x256391['UaqXM']))_0x256391['lOPjE'](log,'📤\x20Pesan\x20berhasil\x20dikirim!\x20RequestID:\x20'+_0x5d695c[_0x13a27a(0x1ad)]);else{if(_0x5d695c['category']===_0x256391['spmxg']){const _0x27dfbf=_0x5d695c['receiverInfo']?.['name']||_0x256391[_0x13a27a(0x1bb)],_0x4769da=_0x5d695c['receiverInfo']?.['id']||_0x5d695c[_0x13a27a(0x1c9)],_0xb19e82=new Date(_0x5d695c['receiverInfo']?.['receivedAt']||_0x5d695c['receivedAt']||new Date())['toLocaleTimeString']();_0x256391[_0x13a27a(0x1bf)](log,_0x13a27a(0x1e8)+_0x5d695c[_0x13a27a(0x1ad)]+_0x13a27a(0x1db)+_0x27dfbf+'\x20('+_0x4769da+')\x20pada\x20'+_0xb19e82+'.\x20Total\x20konfirmasi:\x20'+(_0x5d695c['confirmationCount']||0x1));}}}}}}}),timeoutHandler=setTimeout(()=>{const _0x20a612=_0x43e7df;!isConnected&&connectionPromise&&(log(_0x20a612(0x1cc)),_0x433243['nAHGO'](_0x12100b,new Error(_0x433243[_0x20a612(0x191)])),connectionPromise=null);},0x2710);}catch(_0x153ca3){log('⚠️\x20Error\x20inisialisasi\x20MessageHub:\x20'+_0x153ca3['message']),console['error'](_0x433243[_0x43e7df(0x1d6)],_0x153ca3),connectionPromise=null,_0x12100b(_0x153ca3);}}),connectionPromise;}async function publishMessage(_0x325e07,_0x4a72b9,_0x4e4ae1,_0x42148b={}){const _0x286caa=a0_0x2d29c1,_0x286f98={'sblbE':function(_0x26a400,_0x241014){return _0x26a400(_0x241014);},'nlqRx':function(_0x286248,_0x57e5b7){return _0x286248(_0x57e5b7);},'KrsVx':_0x286caa(0x1d2),'vsNBd':function(_0x2e332f,_0x50edef){return _0x2e332f(_0x50edef);},'XLhxO':_0x286caa(0x1d5)};try{!isConnected&&await initMessageHub();const _0x121bf7=messagehub['channel'](_0x325e07);_0x286f98['sblbE'](log,'======\x20DATA\x20PUBLISH\x20MESSAGE\x20======'),_0x286f98[_0x286caa(0x1ae)](log,_0x286caa(0x18f)+_0x121bf7[_0x286caa(0x199)]),log(_0x286caa(0x1cb)+_0x4a72b9),log(_0x286f98[_0x286caa(0x194)]);const _0x125e1a={'requireAck':_0x42148b['requireAck']!==undefined?_0x42148b[_0x286caa(0x1b2)]:![],'clearCache':_0x42148b['clearCache']!==undefined?_0x42148b[_0x286caa(0x1c4)]:!![],'senderId':messagehub['socket']?messagehub['socket']['id']:'restforge'};_0x286f98[_0x286caa(0x1dd)](log,'Mengirim\x20pesan\x20ke\x20server...');const _0x19d27c={'type':_0x4a72b9,'content':_0x4e4ae1},_0x406045=await _0x121bf7['publish'](_0x19d27c,_0x125e1a);return log('Message\x20sent\x20successfully\x20to\x20topic\x20'+_0x325e07),{'success':!![],'requestId':_0x406045['requestId'],'topic':_0x325e07,'message':_0x286f98[_0x286caa(0x1ab)]};}catch(_0xa3e8df){return log(_0x286caa(0x1ce)+_0xa3e8df[_0x286caa(0x198)]),{'success':![],'error':_0xa3e8df['message'],'topic':_0x325e07,'message':_0x286caa(0x1c0)};}}async function closeConnection(){const _0x2fcbf8=a0_0x2d29c1,_0x87ee33={'crjwx':function(_0x311b7b,_0x52c20a){return _0x311b7b(_0x52c20a);},'tNCMQ':function(_0x837308,_0x1a7cf4){return _0x837308(_0x1a7cf4);},'OkCdL':'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20disconnect()','RAFOo':'function','CZrRb':function(_0x63cb7c,_0xd37c9){return _0x63cb7c===_0xd37c9;},'FDgpJ':function(_0x1d485e,_0x4c49cb){return _0x1d485e(_0x4c49cb);}};timeoutHandler&&(_0x87ee33[_0x2fcbf8(0x190)](clearTimeout,timeoutHandler),timeoutHandler=null);if(isConnected&&messagehub)try{if(typeof messagehub[_0x2fcbf8(0x1b5)]===_0x2fcbf8(0x1aa))await messagehub['disconnect'](),_0x87ee33[_0x2fcbf8(0x1ca)](log,_0x87ee33['OkCdL']);else{if(typeof messagehub[_0x2fcbf8(0x195)]===_0x87ee33['RAFOo'])await messagehub['close'](),log(_0x2fcbf8(0x1ba));else messagehub[_0x2fcbf8(0x1cf)]&&_0x87ee33[_0x2fcbf8(0x19c)](typeof messagehub['socket']['disconnect'],_0x87ee33[_0x2fcbf8(0x1a6)])?(messagehub[_0x2fcbf8(0x1cf)][_0x2fcbf8(0x1b5)](),log(_0x2fcbf8(0x1e6))):_0x87ee33[_0x2fcbf8(0x1e3)](log,_0x2fcbf8(0x1e5));}isConnected=![],connectionPromise=null;}catch(_0x189be0){log('Error\x20saat\x20menutup\x20koneksi:\x20'+_0x189be0[_0x2fcbf8(0x198)]);}}module['exports']={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};
|
|
1
|
+
const a0_0x3e97b9=a0_0x4186;(function(_0x1faa38,_0xcc590d){const _0x19f2eb=a0_0x4186,_0x34cff9=_0x1faa38();while(!![]){try{const _0x519e65=parseInt(_0x19f2eb(0x9d))/0x1*(parseInt(_0x19f2eb(0xa4))/0x2)+-parseInt(_0x19f2eb(0xec))/0x3*(parseInt(_0x19f2eb(0xe5))/0x4)+parseInt(_0x19f2eb(0xe7))/0x5+parseInt(_0x19f2eb(0xd2))/0x6*(-parseInt(_0x19f2eb(0xc9))/0x7)+-parseInt(_0x19f2eb(0xa1))/0x8+-parseInt(_0x19f2eb(0xe9))/0x9+parseInt(_0x19f2eb(0xdc))/0xa;if(_0x519e65===_0xcc590d)break;else _0x34cff9['push'](_0x34cff9['shift']());}catch(_0x1073b4){_0x34cff9['push'](_0x34cff9['shift']());}}}(a0_0x21f9,0xc8964));const dotenv=require('dotenv'),path=require(a0_0x3e97b9(0xed)),fs=require('fs'),{v7:uuidv7}=require(a0_0x3e97b9(0xb5));dotenv[a0_0x3e97b9(0xbe)]();let MessageHub;try{const messagehubPath=path['resolve'](__dirname,a0_0x3e97b9(0xcf));if(fs['existsSync'](messagehubPath))MessageHub=require(messagehubPath),console[a0_0x3e97b9(0xa0)](a0_0x3e97b9(0xa8)+messagehubPath);else throw new Error(a0_0x3e97b9(0xe0)+messagehubPath);}catch(a0_0x59f9af){console[a0_0x3e97b9(0xbc)](a0_0x3e97b9(0xe1)+a0_0x59f9af[a0_0x3e97b9(0xe2)]);throw a0_0x59f9af;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function log(_0x4c08a4){const _0x37240e=a0_0x3e97b9,_0x466ff6=new Date()['toISOString']();console[_0x37240e(0xa0)]('['+_0x466ff6+']\x20'+_0x4c08a4);}async function initMessageHub(){const _0x43f1da=a0_0x3e97b9,_0x37aa88={'MUZVR':function(_0x414848,_0x53790a){return _0x414848&&_0x53790a;},'kEjpX':function(_0x3cb147,_0x35eac4){return _0x3cb147(_0x35eac4);},'cNhgC':_0x43f1da(0xc4),'ZNont':_0x43f1da(0xa9),'HeIVo':function(_0xa1102e,_0x1583d9){return _0xa1102e===_0x1583d9;},'eVefF':_0x43f1da(0x99),'KXgFC':'error','tUkDj':function(_0x2fc6f0,_0x366e27){return _0x2fc6f0(_0x366e27);},'GBQxJ':_0x43f1da(0xac),'YExqe':'Mode:\x20Koneksi\x20Nyata','hpelE':_0x43f1da(0xbb),'BqmDn':'true','kMEpD':function(_0x1cc4a0,_0x2413d6){return _0x1cc4a0(_0x2413d6);},'RglhN':function(_0x80bedf,_0x41bc28){return _0x80bedf(_0x41bc28);},'hGCuD':function(_0x583723,_0x33b822){return _0x583723(_0x33b822);},'xsjIb':_0x43f1da(0x9f),'HtSov':'Error\x20inisialisasi\x20MessageHub:','DHYix':'Koneksi\x20MessageHub\x20sedang\x20berlangsung,\x20menunggu...'};if(messagehub&&isConnected)return log(_0x43f1da(0xef)),!![];if(connectionPromise)return log(_0x37aa88[_0x43f1da(0xae)]),connectionPromise;return connectionPromise=new Promise(async(_0x207fae,_0x34e684)=>{const _0x2a1747=_0x43f1da,_0x5593b4={'fkiQO':_0x37aa88[_0x2a1747(0x9e)],'ZsKWc':function(_0x3abfc2,_0x12d80c){return _0x3abfc2(_0x12d80c);},'SyaYz':function(_0x5e410d,_0xd59458){const _0x1cbab6=_0x2a1747;return _0x37aa88[_0x1cbab6(0x98)](_0x5e410d,_0xd59458);},'EpDZa':_0x37aa88['eVefF'],'HPoEL':function(_0x28db58,_0x10afd2){return _0x28db58(_0x10afd2);},'gxBGJ':_0x2a1747(0x9a),'VrRyC':function(_0x1f83a4,_0xc2cfc4){return _0x1f83a4===_0xc2cfc4;},'mPuMI':_0x37aa88['KXgFC'],'jdTUS':_0x2a1747(0x96),'yIIjf':function(_0x4bf4c7,_0x39cfab){const _0x14a655=_0x2a1747;return _0x37aa88[_0x14a655(0xbf)](_0x4bf4c7,_0x39cfab);}};try{log(_0x37aa88['GBQxJ']),log('Waktu\x20Inisialisasi:\x20'+new Date()[_0x2a1747(0xb3)]()),_0x37aa88['kEjpX'](log,_0x37aa88['YExqe']);const _0x1f58e9={'publishKey':process['env'][_0x2a1747(0xce)],'subscribeKey':process[_0x2a1747(0xb8)][_0x2a1747(0xb4)],'userId':process[_0x2a1747(0xb8)][_0x2a1747(0xd4)]||_0x2a1747(0x9b)+(process[_0x2a1747(0xb8)][_0x2a1747(0xd3)]||_0x37aa88[_0x2a1747(0xa7)])+'-'+process['pid'],'communicationType':process['env']['MSHUB_COMMUNICATION_TYPE']||_0x2a1747(0xcc),'autoAcknowledge':_0x37aa88['HeIVo'](process['env']['MSHUB_AUTO_ACKNOWLEDGE'],_0x37aa88['BqmDn']),'acknowledgeMessages':_0x37aa88[_0x2a1747(0x98)](process['env'][_0x2a1747(0xe4)],_0x2a1747(0xd0)),'platform':{'type':process[_0x2a1747(0xb8)][_0x2a1747(0xe3)]||'websocket','host':process['env'][_0x2a1747(0xaa)]||'localhost','api_port':_0x37aa88['kMEpD'](parseInt,process['env']['MSHUB_API_PORT']||0xdf8),'service_port':_0x37aa88[_0x2a1747(0x97)](parseInt,process['env'][_0x2a1747(0xb6)]||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x1f58e9),_0x37aa88['hGCuD'](log,_0x37aa88[_0x2a1747(0xf1)]),log(_0x2a1747(0xdf)+messagehub['userId']),log(_0x2a1747(0xab)+messagehub[_0x2a1747(0xa6)]),_0x37aa88['kEjpX'](log,'Subscribe\x20Key:\x20'+messagehub['subscribeKey']),log('Tipe\x20Komunikasi:\x20'+messagehub['communicationType']),log(_0x2a1747(0xd7)+JSON[_0x2a1747(0xd8)](messagehub['platformConfig'])),_0x37aa88['tUkDj'](log,_0x2a1747(0xa2)),messagehub[_0x2a1747(0xa5)]({'status':function(_0x1a907a){const _0x2234ab=_0x2a1747;log(_0x2234ab(0xc5)+_0x1a907a['category']);if(_0x1a907a['category']===_0x5593b4['fkiQO'])log('Terhubung\x20ke\x20server\x20MessageHub'),isConnected=!![],timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null),_0x5593b4[_0x2234ab(0xd9)](_0x207fae,!![]);else{if(_0x5593b4[_0x2234ab(0xee)](_0x1a907a[_0x2234ab(0xc2)],_0x5593b4[_0x2234ab(0xc3)])){const _0x3bd94a=_0x1a907a[_0x2234ab(0xc8)]===!![];!_0x3bd94a&&(_0x5593b4['HPoEL'](log,_0x2234ab(0x94)+(_0x1a907a['reason']||_0x5593b4['gxBGJ'])),isConnected=![],connectionPromise&&(_0x5593b4[_0x2234ab(0xd9)](_0x34e684,new Error(_0x2234ab(0xdd)+(_0x1a907a['reason']||_0x2234ab(0x9a)))),connectionPromise=null));}else{if(_0x5593b4['VrRyC'](_0x1a907a['category'],_0x5593b4['mPuMI'])){let _0x55c1ae=_0x1a907a['errorDetail']||_0x1a907a[_0x2234ab(0xbc)]||'Unknown\x20error';log(_0x2234ab(0xe8)+_0x55c1ae),isConnected=![],connectionPromise&&(_0x5593b4[_0x2234ab(0xd9)](_0x34e684,new Error(_0x55c1ae)),connectionPromise=null);}else{if(_0x1a907a[_0x2234ab(0xc2)]===_0x5593b4[_0x2234ab(0x9c)])_0x5593b4['yIIjf'](log,'📤\x20Pesan\x20berhasil\x20dikirim!\x20RequestID:\x20'+_0x1a907a[_0x2234ab(0xbd)]);else{if(_0x1a907a['category']===_0x2234ab(0xea)){const _0x35ae2e=_0x1a907a['receiverInfo']?.[_0x2234ab(0xf2)]||'Unknown',_0x100fd9=_0x1a907a['receiverInfo']?.['id']||_0x1a907a['receiverId'],_0x31f270=new Date(_0x1a907a['receiverInfo']?.['receivedAt']||_0x1a907a['receivedAt']||new Date())['toLocaleTimeString']();log(_0x2234ab(0xf0)+_0x1a907a['requestId']+_0x2234ab(0xdb)+_0x35ae2e+'\x20('+_0x100fd9+_0x2234ab(0xb2)+_0x31f270+'.\x20Total\x20konfirmasi:\x20'+(_0x1a907a[_0x2234ab(0xb0)]||0x1));}}}}}}}),timeoutHandler=setTimeout(()=>{const _0x5474e0=_0x2a1747;_0x37aa88['MUZVR'](!isConnected,connectionPromise)&&(_0x37aa88[_0x5474e0(0xcd)](log,_0x37aa88[_0x5474e0(0xa3)]),_0x37aa88['kEjpX'](_0x34e684,new Error('Connection\x20timeout')),connectionPromise=null);},0x2710);}catch(_0x1e6f94){log(_0x2a1747(0xf3)+_0x1e6f94['message']),console['error'](_0x37aa88['HtSov'],_0x1e6f94),connectionPromise=null,_0x34e684(_0x1e6f94);}}),connectionPromise;}async function publishMessage(_0x4f8083,_0x361d66,_0x516764,_0x29b27a={}){const _0x2c2a29=a0_0x3e97b9,_0x297d17={'xxVlz':function(_0x33b569){return _0x33b569();},'RIEKx':function(_0x5c6776,_0xac8f86){return _0x5c6776(_0xac8f86);},'MeKTA':function(_0xbe153a,_0x3c2db4){return _0xbe153a!==_0x3c2db4;},'XyIHo':'Mengirim\x20pesan\x20ke\x20server...','MVZYP':_0x2c2a29(0xde),'MZjvE':_0x2c2a29(0xb1)};try{!isConnected&&await _0x297d17[_0x2c2a29(0xb9)](initMessageHub);const _0x133783=messagehub[_0x2c2a29(0xda)](_0x4f8083);_0x297d17[_0x2c2a29(0xc6)](log,_0x2c2a29(0xb7)),_0x297d17['RIEKx'](log,'Channel\x20Target:\x20'+_0x133783['topic']),log(_0x2c2a29(0x95)+_0x361d66),log(_0x2c2a29(0xc7));const _0x3b44f9={'requireAck':_0x297d17['MeKTA'](_0x29b27a[_0x2c2a29(0xeb)],undefined)?_0x29b27a['requireAck']:![],'clearCache':_0x29b27a[_0x2c2a29(0xd1)]!==undefined?_0x29b27a['clearCache']:!![],'senderId':messagehub[_0x2c2a29(0xe6)]?messagehub[_0x2c2a29(0xe6)]['id']:_0x2c2a29(0xad)};log(_0x297d17['XyIHo']);const _0x2f227e={'type':_0x361d66,'content':_0x516764},_0x366767=await _0x133783[_0x2c2a29(0xd6)](_0x2f227e,_0x3b44f9);return log('Message\x20sent\x20successfully\x20to\x20topic\x20'+_0x4f8083),{'success':!![],'requestId':_0x366767[_0x2c2a29(0xbd)],'topic':_0x4f8083,'message':_0x297d17[_0x2c2a29(0xcb)]};}catch(_0x2f09ce){return log('⚠️\x20Error\x20publishing\x20message:\x20'+_0x2f09ce['message']),{'success':![],'error':_0x2f09ce['message'],'topic':_0x4f8083,'message':_0x297d17[_0x2c2a29(0xf4)]};}}async function closeConnection(){const _0x35f4b2=a0_0x3e97b9,_0x4c0ef3={'xzlAK':function(_0x574200,_0x58bdac){return _0x574200(_0x58bdac);},'Xuhpx':'function','LMWal':function(_0x5dd370,_0x18893a){return _0x5dd370===_0x18893a;},'UmILL':'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20socket.disconnect()','fANta':'Tidak\x20dapat\x20menemukan\x20metode\x20untuk\x20menutup\x20koneksi\x20MessageHub'};timeoutHandler&&(_0x4c0ef3[_0x35f4b2(0xc1)](clearTimeout,timeoutHandler),timeoutHandler=null);if(isConnected&&messagehub)try{if(typeof messagehub['disconnect']===_0x4c0ef3['Xuhpx'])await messagehub[_0x35f4b2(0xca)](),log('Koneksi\x20MessageHub\x20ditutup\x20dengan\x20disconnect()');else{if(typeof messagehub['close']===_0x35f4b2(0xc0))await messagehub[_0x35f4b2(0xd5)](),log('Koneksi\x20MessageHub\x20ditutup\x20dengan\x20close()');else messagehub['socket']&&_0x4c0ef3[_0x35f4b2(0xaf)](typeof messagehub['socket']['disconnect'],_0x35f4b2(0xc0))?(messagehub['socket'][_0x35f4b2(0xca)](),log(_0x4c0ef3[_0x35f4b2(0xba)])):log(_0x4c0ef3['fANta']);}isConnected=![],connectionPromise=null;}catch(_0x3c78c7){_0x4c0ef3[_0x35f4b2(0xc1)](log,'Error\x20saat\x20menutup\x20koneksi:\x20'+_0x3c78c7['message']);}}function a0_0x4186(_0x244669,_0x35c941){_0x244669=_0x244669-0x94;const _0x21f942=a0_0x21f9();let _0x418616=_0x21f942[_0x244669];if(a0_0x4186['YVHWKC']===undefined){var _0x8fad02=function(_0x4969ae){const _0x484df9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3423d6='',_0x152bba='';for(let _0x2c441f=0x0,_0xee45b3,_0x5a2c74,_0xc06a64=0x0;_0x5a2c74=_0x4969ae['charAt'](_0xc06a64++);~_0x5a2c74&&(_0xee45b3=_0x2c441f%0x4?_0xee45b3*0x40+_0x5a2c74:_0x5a2c74,_0x2c441f++%0x4)?_0x3423d6+=String['fromCharCode'](0xff&_0xee45b3>>(-0x2*_0x2c441f&0x6)):0x0){_0x5a2c74=_0x484df9['indexOf'](_0x5a2c74);}for(let _0x538d12=0x0,_0x54cb48=_0x3423d6['length'];_0x538d12<_0x54cb48;_0x538d12++){_0x152bba+='%'+('00'+_0x3423d6['charCodeAt'](_0x538d12)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x152bba);};a0_0x4186['EZEZdi']=_0x8fad02,a0_0x4186['EkjxXf']={},a0_0x4186['YVHWKC']=!![];}const _0x1ca0b3=_0x21f942[0x0],_0x26ce07=_0x244669+_0x1ca0b3,_0x3eb848=a0_0x4186['EkjxXf'][_0x26ce07];return!_0x3eb848?(_0x418616=a0_0x4186['EZEZdi'](_0x418616),a0_0x4186['EkjxXf'][_0x26ce07]=_0x418616):_0x418616=_0x3eb848,_0x418616;}module['exports']={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};function a0_0x21f9(){const _0x3038aa=['tvnivujFse9tva','uhvIBgLZAcblzxK6ia','pt09pt09ie1vtefjieLosvnjquXju0ftssbnrvntquDfsfvcid09pt09pq','CMvZDgzVCMDL','reHzAxG','te1xywW','y29UzMLYBwf0Aw9Uq291BNq','rMfPBgvKihrVihnLBMqGBwvZC2fNzq','ksbWywrHia','Dg9mB2nHBgvtDhjPBMC','tvnivujFu1vcu0nssujfx0Tfwq','DxvPza','tvnivujFu0vsvKLdrv9qt1ju','pt09pt09ierbveeGufvcteLtscbnrvntquDfid09pt09pq','zw52','EhHwBhO','vw1jteW','zgvMyxvSDa','zxjYB3i','CMvXDwvZDeLK','y29UzMLN','DfvRrgO','zNvUy3rPB24','EhPSquS','y2f0zwDVCNK','rxbewMe','4PQG77IpifrPBwvVDxq6ifrPzgfRigrHCgf0ihrLCMH1yNvUzYbRzsbnzxnZywDLshvIihnLCNzLCIbKywXHBsb3ywT0Dsb5yw5NigrPDgvUDhvRyw4','u3rHDhvZieXPC3rLBMvYoIa','uKLfs3G','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0','AxnfCNjVCLjLBgf0zwq','odG4nJq3owXts254uq','zgLZy29UBMvJDa','tvzAwva','yNjVywrJyxn0','A0vQCfG','tvnivujFufvcteLtsf9lrvK','lI4VlI4VANmVBwvZC2fNzwH1yI5QCW','Dhj1zq','y2XLyxjdywnOzq','nLzlugfVAq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','tvnivujFvvnfuL9jra','y2XVC2u','ChvIBgLZAa','s29UzMLNDxjHC2KGugXHDgzVCM06ia','C3rYAw5NAwz5','wNnlv2m','y2HHBM5LBa','igrPDgvYAw1Hig9SzwGG','mZe4mJy3nZbVue5wAfq','s29UzwTZAsb0zxjWDxr1CZOG','twvZC2fNzsbZzw50ihn1y2nLC3nMDwXSEq','q2XPzw50ieLel1vZzxjjrdOG','twvZC2fNzuH1yIbtreSGBM90igzVDw5Kigf0ia','rxjYB3iGBg9HzgLUzYbnzxnZywDLshvIifnesZOG','BwvZC2fNzq','tvnivujFq09ntvvosunbveLptL9uwvbf','tvnivujFqunltK9xtever0vFtuvtu0fhrvm','mti3mJC2Burcuwn0','C29JA2v0','mJiZoteZmgHfsLLgqG','4PQG77IpievYCM9YoIa','mteXmZCZmJbsrwj2B1e','BwvZC2fNzs1YzwnLAxzLza','CMvXDwLYzufJAW','odfoy1zRtu8','Cgf0Aa','u3LHwxO','twvZC2fNzuH1yIbZDwrHAcb0zxjODwj1BMCSig1LBMDNDw5HA2fUigTVBMvRC2KGEwfUzYbHzge','8j+tQsblB25MAxjTyxnPoIbqzxnHBIa','EhnQswi','BMfTzq','4PQG77IpievYCM9YigLUAxnPywXPC2fZAsbnzxnZywDLshvIoIa','tvPQDKu','vgvYChv0DxmGzgfYAsbZzxj2zxiUiefSyxnHBJOG','twvZC2fNzsbuExbLoIa','BwvZC2fNzs1Zzw50','uMDSAe4','sgvjvM8','zgLZy29UBMvJDgvK','vgLKywSGzgLRzxrHAhvP','CMvZDgzVCMDLlq','AMruvvm','nde5y0nirwvQ','wK5VBNq','pt09pt09ieLorK9stuftssbdteLftLqGtuvtu0fhruHvqIa9pt09pt0','Bg9N','nJe0odiWmhzPsLDYDW','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pq','y05Oz0m','nJmYoe9rre5ozW','ywrKtgLZDgvUzxi','ChvIBgLZAeTLEq','AhbLBeu','twvZC2fNzuH1yIbtreSGzM91BMqGyxqG','y29UBMvJDgvK'];a0_0x21f9=function(){return _0x3038aa;};return a0_0x21f9();}
|