@restforgejs/platform 5.1.6 → 5.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/fast-track.js +63 -43
- 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';const
|
|
1
|
+
'use strict';const a0_0x32a4f0=a0_0x538b;(function(_0xe7e80d,_0x50fa4d){const _0x42e467=a0_0x538b,_0x44cbf8=_0xe7e80d();while(!![]){try{const _0x2f4d2f=parseInt(_0x42e467(0x1ae))/0x1+-parseInt(_0x42e467(0x1bc))/0x2*(-parseInt(_0x42e467(0x19e))/0x3)+-parseInt(_0x42e467(0x1b0))/0x4*(parseInt(_0x42e467(0x1bb))/0x5)+-parseInt(_0x42e467(0x1a5))/0x6*(parseInt(_0x42e467(0x1b4))/0x7)+-parseInt(_0x42e467(0x1af))/0x8+parseInt(_0x42e467(0x1ac))/0x9+parseInt(_0x42e467(0x191))/0xa*(-parseInt(_0x42e467(0x1a3))/0xb);if(_0x2f4d2f===_0x50fa4d)break;else _0x44cbf8['push'](_0x44cbf8['shift']());}catch(_0x178c9e){_0x44cbf8['push'](_0x44cbf8['shift']());}}}(a0_0x2710,0x93d26));function a0_0x2710(){const _0xd23172=['qvHvsLG','zxHPC3rZu3LUyW','C2LjDNC','zxjYB3i','ChjVy2vZC1vWBg9HzgvKrMLSzxm','ChvZAa','B3jPz2LUywXUyw1L','x2rLBgv0zvrLBxbgAwXL','zMLSzxm','Bwf4rMLSzxm','CMvWBgfJzq','mtC4mtK3m3zwq3nVrG','ywXSB3DLzfr5CgvZ','BgvUz3rO','BNvTyMvY','y3j5ChrV','otL0AwjlqxC','BwTKAxjtEw5J','mtiYmte1meTtse92yq','ChjLzML4','zw5KCg9PBNq','zxH0BMfTzq','Dw5SAw5R','zw52','q3vTrKK','nZGWmJy4nwDzr1PXyW','A2v5','mteXmdGWnvbcr3PPqW','mJGZnta3mKjhy3HnBq','mJeXotjvA0TirMK','mtbnqG','vvbmt0fex1rftvbFreLs','DxjS','mJHOqNzHzvu','Aw5JBhvKzxm','x3rLBxbeAxi','BxvSDgvY','Cgf0Aa','Agv4','AM9PBG','ntK1BxPVsNbj','mM9stuj2Eq','C2L6zq','Bw9KDwXL','yNvJA2v0','yMfZzw5HBwu','zMXVB3i','BNLXwMW','mtG1otmWt0jXAhfo','ChjVBwLZzxm'];a0_0x2710=function(){return _0xd23172;};return a0_0x2710();}const multer=require(a0_0x32a4f0(0x1b7)),path=require(a0_0x32a4f0(0x1b8)),crypto=require(a0_0x32a4f0(0x1a2)),fs=require('fs')[a0_0x32a4f0(0x192)],fsSync=require('fs'),{logger}=require('./logger');function a0_0x538b(_0x42a04a,_0xbcbca6){_0x42a04a=_0x42a04a-0x191;const _0x271061=a0_0x2710();let _0x538b6d=_0x271061[_0x42a04a];if(a0_0x538b['wIiUfQ']===undefined){var _0xb599c2=function(_0x37ee03){const _0x542992='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e4f59='',_0x59afa8='';for(let _0x3ddef7=0x0,_0x125552,_0x4d18c0,_0x4edd9a=0x0;_0x4d18c0=_0x37ee03['charAt'](_0x4edd9a++);~_0x4d18c0&&(_0x125552=_0x3ddef7%0x4?_0x125552*0x40+_0x4d18c0:_0x4d18c0,_0x3ddef7++%0x4)?_0x2e4f59+=String['fromCharCode'](0xff&_0x125552>>(-0x2*_0x3ddef7&0x6)):0x0){_0x4d18c0=_0x542992['indexOf'](_0x4d18c0);}for(let _0x47d30f=0x0,_0x2efac0=_0x2e4f59['length'];_0x47d30f<_0x2efac0;_0x47d30f++){_0x59afa8+='%'+('00'+_0x2e4f59['charCodeAt'](_0x47d30f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x59afa8);};a0_0x538b['VhuqWh']=_0xb599c2,a0_0x538b['oPlKlA']={},a0_0x538b['wIiUfQ']=!![];}const _0x313f3e=_0x271061[0x0],_0x5b3886=_0x42a04a+_0x313f3e,_0x434bc0=a0_0x538b['oPlKlA'][_0x5b3886];return!_0x434bc0?(_0x538b6d=a0_0x538b['VhuqWh'](_0x538b6d),a0_0x538b['oPlKlA'][_0x5b3886]=_0x538b6d):_0x538b6d=_0x434bc0,_0x538b6d;}class UploadHandlerV2{constructor(){const _0x1fc6d1=a0_0x32a4f0;this[_0x1fc6d1(0x1b6)]=null;}get['tempDir'](){const _0x36a4a9=a0_0x32a4f0;if(!this[_0x36a4a9(0x1b6)]){const _0x43955d=process[_0x36a4a9(0x1aa)]['RESTFORGE_PROJECT_NAME']||'default';this[_0x36a4a9(0x1b6)]=process[_0x36a4a9(0x1aa)][_0x36a4a9(0x1b2)]||path[_0x36a4a9(0x1ba)](process['cwd'](),'temp','uploads',_0x43955d),!fsSync[_0x36a4a9(0x194)](this[_0x36a4a9(0x1b6)])&&fsSync[_0x36a4a9(0x1a4)](this[_0x36a4a9(0x1b6)],{'recursive':!![]});}return this[_0x36a4a9(0x1b6)];}['createUploadMiddleware'](_0x1879c8={}){const _0xf5b930=a0_0x32a4f0,_0x1b47b0={'AXUJX':function(_0x547c73,_0x3813f8,_0x503fe2){return _0x547c73(_0x3813f8,_0x503fe2);},'siIvw':_0xf5b930(0x1b1)},_0x116f94=_0x1879c8[_0xf5b930(0x19c)]||0x5,_0xe2fef9=this['_parseFileSize'](_0x1879c8['maxFileSize']||_0x1b47b0[_0xf5b930(0x195)]),_0x16bb93=_0x1879c8[_0xf5b930(0x19f)]||[],_0x456a6e=multer['diskStorage']({'destination':(_0x104570,_0x7af238,_0x963c76)=>{const _0x3f4c51=_0xf5b930;!fsSync[_0x3f4c51(0x194)](this['tempDir'])&&fsSync[_0x3f4c51(0x1a4)](this['tempDir'],{'recursive':!![]}),_0x963c76(null,this['tempDir']);},'filename':(_0xc5cf9a,_0x58f21a,_0x4c8594)=>{const _0x180e9c=_0xf5b930,_0x3a0b30=crypto['randomBytes'](0x8)['toString'](_0x180e9c(0x1b9)),_0x1f9aef=Date['now'](),_0x5a385a=path[_0x180e9c(0x1a8)](_0x58f21a['originalname']);_0x4c8594(null,'upload-'+_0x1f9aef+'-'+_0x3a0b30+_0x5a385a);}}),_0xf1bdf4=(_0x471707,_0x52b320,_0x546eb5)=>{const _0x567553=_0xf5b930;if(_0x16bb93[_0x567553(0x1a0)]===0x0)return _0x546eb5(null,!![]);const _0xdcab31=path[_0x567553(0x1a8)](_0x52b320[_0x567553(0x199)])['toLowerCase']()[_0x567553(0x19d)]('.','');_0x16bb93[_0x567553(0x1b5)](_0xdcab31)?_0x1b47b0[_0x567553(0x193)](_0x546eb5,null,!![]):_0x546eb5(new Error('File\x20type\x20\x22.'+_0xdcab31+'\x22\x20is\x20not\x20allowed.\x20Allowed\x20types:\x20'+_0x16bb93['join'](',\x20')));};return multer({'storage':_0x456a6e,'limits':{'fileSize':_0xe2fef9,'files':_0x116f94},'fileFilter':_0xf1bdf4})['array'](_0xf5b930(0x19b),_0x116f94);}async[a0_0x32a4f0(0x197)](_0x1b010f,_0x1bbf38,_0x1a60a9={}){const _0x866ea1=a0_0x32a4f0,_0x2c0bef={'SpBje':'../storage/file-metadata-helper','nyqZl':'upload_v2_process_error'},{createFileMetadata:_0x49c745}=require(_0x2c0bef['SpBje']),_0x28da86=[];for(const _0x5c31bc of _0x1b010f){try{const _0x2deca0=_0x1bbf38['generateKey'](_0x5c31bc[_0x866ea1(0x199)],{'prefix':_0x1a60a9[_0x866ea1(0x1a6)]||'','project':_0x1a60a9['project']||'','module':_0x1a60a9[_0x866ea1(0x1be)]||'','endpoint':_0x1a60a9[_0x866ea1(0x1a7)]||''}),_0x44fd43=fsSync['createReadStream'](_0x5c31bc['path']),_0x56a566=await _0x1bbf38['upload'](_0x44fd43,_0x2deca0,{'contentType':_0x5c31bc['mimetype'],'fileSize':_0x5c31bc['size']}),_0x219b0b=_0x49c745({'key':_0x56a566[_0x866ea1(0x1ad)],'originalName':_0x5c31bc['originalname'],'fileName':path[_0x866ea1(0x1c0)](_0x2deca0),'contentType':_0x5c31bc['mimetype'],'size':_0x5c31bc[_0x866ea1(0x1bd)],'url':_0x56a566[_0x866ea1(0x1b3)],'provider':_0x1bbf38['providerName'],'bucket':_0x1bbf38[_0x866ea1(0x1bf)]||null,'uploadedBy':_0x1a60a9['uploadedBy']||null});_0x28da86[_0x866ea1(0x198)](_0x219b0b);}catch(_0x13e499){logger[_0x866ea1(0x196)]({'event':_0x2c0bef[_0x866ea1(0x1c2)],'file':_0x5c31bc['originalname'],'error':_0x13e499['message']},'Failed\x20to\x20process\x20uploaded\x20file:\x20'+_0x5c31bc[_0x866ea1(0x199)]);throw _0x13e499;}finally{await this[_0x866ea1(0x19a)](_0x5c31bc['path']);}}return _0x28da86;}async[a0_0x32a4f0(0x19a)](_0x1a578e){const _0xd3560d=a0_0x32a4f0;try{await fs[_0xd3560d(0x1a9)](_0x1a578e);}catch(_0xd1eec1){logger['warn']({'event':'upload_v2_temp_delete_warn','filePath':_0x1a578e,'error':_0xd1eec1['message']},'Failed\x20to\x20delete\x20temp\x20file');}}['_parseFileSize'](_0x1c7318){const _0x376c5c=a0_0x32a4f0,_0x477155={'KCBjx':_0x376c5c(0x1a1),'zTGGZ':function(_0x44a55b,_0x5541f9){return _0x44a55b(_0x5541f9);},'CumFI':function(_0x47ab33,_0x3ac63d){return _0x47ab33*_0x3ac63d;},'efvRo':function(_0x57d65b,_0x4a492d){return _0x57d65b*_0x4a492d;}};if(typeof _0x1c7318===_0x477155['KCBjx'])return _0x1c7318;const _0x137e34=_0x477155['zTGGZ'](String,_0x1c7318)['trim']()['match'](/^(\d+(?:\.\d+)?)\s*(B|KB|MB|GB)$/i);if(!_0x137e34)return _0x477155['CumFI'](0xa,0x400)*0x400;const _0x5856af=parseFloat(_0x137e34[0x1]),_0x1ef09d=_0x137e34[0x2]['toUpperCase'](),_0xd1dfb={'B':0x1,'KB':0x400,'MB':_0x477155[_0x376c5c(0x1ab)](0x400,0x400),'GB':_0x477155['CumFI'](0x400,0x400)*0x400};return Math[_0x376c5c(0x1c1)](_0x477155['efvRo'](_0x5856af,_0xd1dfb[_0x1ef09d]||0x1));}}module['exports']=new UploadHandlerV2();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a0_0x15f0(_0x32d97d,_0x2fe0cb){_0x32d97d=_0x32d97d-0x116;const _0x3a4ffa=a0_0x3a4f();let _0x15f07c=_0x3a4ffa[_0x32d97d];if(a0_0x15f0['XhzKRS']===undefined){var _0x31d957=function(_0x264a45){const _0x556fe6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x45602a='',_0x39b162='';for(let _0x4ec49=0x0,_0x192ed8,_0x277ef4,_0x16a14c=0x0;_0x277ef4=_0x264a45['charAt'](_0x16a14c++);~_0x277ef4&&(_0x192ed8=_0x4ec49%0x4?_0x192ed8*0x40+_0x277ef4:_0x277ef4,_0x4ec49++%0x4)?_0x45602a+=String['fromCharCode'](0xff&_0x192ed8>>(-0x2*_0x4ec49&0x6)):0x0){_0x277ef4=_0x556fe6['indexOf'](_0x277ef4);}for(let _0x465ffb=0x0,_0x505da2=_0x45602a['length'];_0x465ffb<_0x505da2;_0x465ffb++){_0x39b162+='%'+('00'+_0x45602a['charCodeAt'](_0x465ffb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x39b162);};a0_0x15f0['oBySob']=_0x31d957,a0_0x15f0['JSkrsG']={},a0_0x15f0['XhzKRS']=!![];}const _0x4fccf7=_0x3a4ffa[0x0],_0x63553=_0x32d97d+_0x4fccf7,_0x4c4ffc=a0_0x15f0['JSkrsG'][_0x63553];return!_0x4c4ffc?(_0x15f07c=a0_0x15f0['oBySob'](_0x15f07c),a0_0x15f0['JSkrsG'][_0x63553]=_0x15f07c):_0x15f07c=_0x4c4ffc,_0x15f07c;}const a0_0x3a1351=a0_0x15f0;function a0_0x3a4f(){const _0x3f69f5=['Dg9mB3DLCKnHC2u','BuXlC1y','ndiYntGZmfPWCwj5qG','mtzfvM56tgy','mMf4CuHVBW','rMfPBgvKihrVigLUAxrPywXPEMuGDxbSB2fKigHHBMrSzxi','DxbSB2fKrgLY','C2LUz2XL','tvzivwW','mJGYnJK0nwrrq3PSza','CMfUzg9TqNL0zxm','ChjVBwLZzxm','z2v0vxbSB2fKtwLKzgXLD2fYzq','mZbdBuTdyK4','x3vWBg9HzerPCG','mtq1mJy4n3bXtg9dtG','rMfPBgvKihrVigrLBgv0zsb1CgXVywrLzcbMAwXL','z2v0u3rVCMfNzq','Aw5MBW','zxH0BMfTzq','mJaXmdy4Du9vsNLL','AhLVtMW','Bwf4rMLSzvnPEMu','BwTKAxjtEw5J','mZaXotvrvMnYr1O','uLDotwq','AM9PBG','lI9SB2DNzxi','mtG5nZu2n2HgrhnMrG','lNHSCW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','zgvMyxvSDa','BwvZC2fNzq','vK9vCeG','mtaWmJG2ognAzfncCa'];a0_0x3a4f=function(){return _0x3f69f5;};return a0_0x3a4f();}(function(_0x5efc72,_0x367393){const _0x349989=a0_0x15f0,_0x203714=_0x5efc72();while(!![]){try{const _0x33db89=parseInt(_0x349989(0x123))/0x1+parseInt(_0x349989(0x136))/0x2*(-parseInt(_0x349989(0x11e))/0x3)+parseInt(_0x349989(0x131))/0x4+-parseInt(_0x349989(0x127))/0x5*(-parseInt(_0x349989(0x11c))/0x6)+-parseInt(_0x349989(0x12b))/0x7*(-parseInt(_0x349989(0x135))/0x8)+parseInt(_0x349989(0x118))/0x9+-parseInt(_0x349989(0x134))/0xa;if(_0x33db89===_0x367393)break;else _0x203714['push'](_0x203714['shift']());}catch(_0x57cf30){_0x203714['push'](_0x203714['shift']());}}}(a0_0x3a4f,0x6954b));const multer=require('multer'),path=require('path'),crypto=require('crypto'),fs=require('fs')[a0_0x3a1351(0x11a)],fsSync=require('fs'),{logger}=require(a0_0x3a1351(0x12a));class UploadHandler{constructor(){const _0x93cdcf=a0_0x3a1351,_0x200503={'MVHUl':function(_0x458fda,_0x22ebc1){return _0x458fda*_0x22ebc1;}};this[_0x93cdcf(0x11d)]=null,this['maxFileSize']=_0x200503[_0x93cdcf(0x117)](0xa*0x400,0x400);}get['uploadDir'](){const _0x67402c=a0_0x3a1351,_0x86e744={'zdrCY':_0x67402c(0x12e),'hyoNl':'Upload\x20handler\x20initialized','VOUpH':'upload_handler_init_error'};if(!this[_0x67402c(0x11d)]){const _0x47542b=process['env'][_0x67402c(0x12d)]||_0x86e744['zdrCY'];this['_uploadDir']=process['env']['UPLOAD_DIR']||path[_0x67402c(0x129)](__dirname,'../../temp/uploads/'+_0x47542b);try{!fsSync['existsSync'](this['_uploadDir'])&&fsSync['mkdirSync'](this[_0x67402c(0x11d)],{'recursive':!![]}),logger['info']({'event':'upload_handler_init','dir':this[_0x67402c(0x11d)]},_0x86e744[_0x67402c(0x124)]);}catch(_0x568574){logger['error']({'event':_0x86e744[_0x67402c(0x130)],'error':_0x568574['message']},_0x67402c(0x137));}}return this['_uploadDir'];}['getStorage'](){return multer['diskStorage']({'destination':(_0x11f18e,_0x3de8aa,_0x3d8bfb)=>{const _0x435b09=a0_0x15f0;!fsSync['existsSync'](this['uploadDir'])&&fsSync[_0x435b09(0x126)](this[_0x435b09(0x138)],{'recursive':!![]}),_0x3d8bfb(null,this[_0x435b09(0x138)]);},'filename':(_0x5d4852,_0x403007,_0x461d84)=>{const _0xbee6b9=a0_0x15f0,_0xa0b342=crypto[_0xbee6b9(0x119)](0x8)['toString']('hex'),_0x48fed4=Date['now'](),_0xf2da2e=path['extname'](_0x403007['originalname']);_0x461d84(null,'upload-'+_0x48fed4+'-'+_0xa0b342+_0xf2da2e);}});}[a0_0x3a1351(0x11b)](){const _0x4ae64e=a0_0x3a1351,_0x5061be={'mUbuz':'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet','hXcEK':'.xlsx','diilw':_0x4ae64e(0x12c),'EBZGR':function(_0x3a1c0c,_0x53654b,_0x3dee67){return _0x3a1c0c(_0x53654b,_0x3dee67);},'doAdI':function(_0x1a36dd,_0x5e2b3b){return _0x1a36dd(_0x5e2b3b);}};return multer({'storage':this[_0x4ae64e(0x120)](),'limits':{'fileSize':this[_0x4ae64e(0x125)],'files':0x1},'fileFilter':(_0x382158,_0xbb06d7,_0x11ff84)=>{const _0x4c9788=_0x4ae64e,_0xf1de2b=[_0x5061be['mUbuz'],'application/vnd.ms-excel'],_0x42f528=[_0x5061be['hXcEK'],_0x5061be['diilw']],_0x315835=path[_0x4c9788(0x122)](_0xbb06d7['originalname'])[_0x4c9788(0x132)]();_0xf1de2b['includes'](_0xbb06d7['mimetype'])&&_0x42f528['includes'](_0x315835)?_0x5061be['EBZGR'](_0x11ff84,null,!![]):_0x5061be['doAdI'](_0x11ff84,new Error('Invalid\x20file\x20type.\x20Only\x20.xlsx\x20files\x20are\x20allowed'));}})[_0x4ae64e(0x116)]('file');}async['deleteFile'](_0x23ae35){const _0x2cf4a3=a0_0x3a1351,_0x2c4ba7={'gpTCn':'upload_file_deleted','mLKsV':'upload_file_delete_error','RWNMd':_0x2cf4a3(0x11f)};try{await fs['unlink'](_0x23ae35),logger[_0x2cf4a3(0x121)]({'event':_0x2c4ba7['gpTCn'],'filePath':_0x23ae35},'Uploaded\x20file\x20deleted');}catch(_0xd81848){logger['error']({'event':_0x2c4ba7[_0x2cf4a3(0x133)],'filePath':_0x23ae35,'error':_0xd81848[_0x2cf4a3(0x12f)]},_0x2c4ba7[_0x2cf4a3(0x128)]);}}}module['exports']=new UploadHandler();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a0_0x199c(_0x4bbe3c,_0x9585f2){_0x4bbe3c=_0x4bbe3c-0x88;const _0x477be9=a0_0x477b();let _0x199cf1=_0x477be9[_0x4bbe3c];if(a0_0x199c['mctxMB']===undefined){var _0x2ddc7b=function(_0xf523){const _0x23ff40='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x335eb8='',_0x5dc37d='';for(let _0x581c59=0x0,_0x9ffe66,_0x157053,_0x4637c4=0x0;_0x157053=_0xf523['charAt'](_0x4637c4++);~_0x157053&&(_0x9ffe66=_0x581c59%0x4?_0x9ffe66*0x40+_0x157053:_0x157053,_0x581c59++%0x4)?_0x335eb8+=String['fromCharCode'](0xff&_0x9ffe66>>(-0x2*_0x581c59&0x6)):0x0){_0x157053=_0x23ff40['indexOf'](_0x157053);}for(let _0x4e1384=0x0,_0x2908a0=_0x335eb8['length'];_0x4e1384<_0x2908a0;_0x4e1384++){_0x5dc37d+='%'+('00'+_0x335eb8['charCodeAt'](_0x4e1384)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5dc37d);};a0_0x199c['chIATS']=_0x2ddc7b,a0_0x199c['cBDlWU']={},a0_0x199c['mctxMB']=!![];}const _0x4bd856=_0x477be9[0x0],_0x3cd7fb=_0x4bbe3c+_0x4bd856,_0x3e8a42=a0_0x199c['cBDlWU'][_0x3cd7fb];return!_0x3e8a42?(_0x199cf1=a0_0x199c['chIATS'](_0x199cf1),a0_0x199c['cBDlWU'][_0x3cd7fb]=_0x199cf1):_0x199cf1=_0x3e8a42,_0x199cf1;}const a0_0x5458ac=a0_0x199c;function a0_0x477b(){const _0x313d98=['mtaYota4nLzpuhrVAG','ntC4nduXmNb1CwPzAq','BwvZC2fNzq','yxHPB3m','rgvSzxrLihDLyMHVB2SGC2vUDcbZDwnJzxnZzNvSBhK','odbpChHswNa','zgvSzxrL','rxjYB3iGC2vUzgLUzYbKzwXLDguGD2vIAg9VAZO','mJi3mZq2r1PuA0jh','rMfPBgvKihrVihnLBMqGAw5Zzxj0ihDLyMHVB2S','zLDbD1K','mZb0DhbdAfa','CxjPse8','zxjYB3i','Cezur1m','mtiZoty0nuj5ww5SwG','rgvSzxrLihDLyMHVB2SGC2vUDcb0BYa','ndKZnteWsvD0r0zz','uMvZDezVCMDLlvDLyMHVB2SVms4W','Bg9N','re1ICwy','lcbtDgf0Dxm6ia','mJK5ndK1ELLUuePH','rMfPBgvKihrVihnLBMqGzgvSzxrLihDLyMHVB2S','C3rHDhvZ','Dg9ju09tDhjPBMC','mtq2mdK2mxLXBLPvtW'];a0_0x477b=function(){return _0x313d98;};return a0_0x477b();}(function(_0x24af1b,_0x40434b){const _0x8e90ef=a0_0x199c,_0x5ae03=_0x24af1b();while(!![]){try{const _0x2628e8=parseInt(_0x8e90ef(0x8f))/0x1+parseInt(_0x8e90ef(0x97))/0x2+parseInt(_0x8e90ef(0x9e))/0x3+parseInt(_0x8e90ef(0x90))/0x4+-parseInt(_0x8e90ef(0xa0))/0x5*(parseInt(_0x8e90ef(0x9a))/0x6)+parseInt(_0x8e90ef(0x8a))/0x7+-parseInt(_0x8e90ef(0x94))/0x8*(parseInt(_0x8e90ef(0x8e))/0x9);if(_0x2628e8===_0x40434b)break;else _0x5ae03['push'](_0x5ae03['shift']());}catch(_0xaa1858){_0x5ae03['push'](_0x5ae03['shift']());}}}(a0_0x477b,0xe2957));const axios=require(a0_0x5458ac(0x92));async function sendInsertWebhook(_0x12dcd3,_0x5e54e8,_0x5b234d={}){const _0x2937a4=a0_0x5458ac,_0x178041={'DMbqf':'application/json','pFTGS':'Insert\x20webhook\x20sent\x20successfully','yRhcL':_0x2937a4(0x98)};try{const _0x478847={'event':'insert','timestamp':new Date()[_0x2937a4(0x8d)](),'data':_0x5e54e8},_0x3e935a=await axios['post'](_0x12dcd3,_0x478847,{'headers':{'Content-Type':_0x178041[_0x2937a4(0x88)],'User-Agent':'RestForge-Webhook/1.0',..._0x5b234d},'timeout':0x2710});return console['log']('Insert\x20webhook\x20sent\x20to\x20'+_0x12dcd3+_0x2937a4(0x89)+_0x3e935a[_0x2937a4(0x8c)]),{'success':!![],'message':_0x178041[_0x2937a4(0x9d)],'status':_0x3e935a['status'],'url':_0x12dcd3};}catch(_0x28fb69){return console[_0x2937a4(0x9c)]('Error\x20sending\x20insert\x20webhook:',_0x28fb69['message']),{'success':![],'message':_0x178041['yRhcL'],'error':_0x28fb69[_0x2937a4(0x91)],'url':_0x12dcd3};}}async function sendDeleteWebhook(_0x148421,_0x5dc46e,_0x397127={}){const _0x59bcab=a0_0x5458ac,_0xe61452={'fWAwY':_0x59bcab(0x95),'qriHO':_0x59bcab(0x96)};try{const _0x31621d={'event':_0xe61452[_0x59bcab(0x99)],'timestamp':new Date()[_0x59bcab(0x8d)](),'deleted_data':_0x5dc46e},_0x2c32fc=await axios['post'](_0x148421,_0x31621d,{'headers':{'Content-Type':'application/json','User-Agent':_0x59bcab(0xa1),..._0x397127},'timeout':0x2710});return console[_0x59bcab(0xa2)](_0x59bcab(0x9f)+_0x148421+',\x20Status:\x20'+_0x2c32fc[_0x59bcab(0x8c)]),{'success':!![],'message':_0x59bcab(0x93),'status':_0x2c32fc[_0x59bcab(0x8c)],'url':_0x148421};}catch(_0x39ae5a){return console[_0x59bcab(0x9c)](_0xe61452[_0x59bcab(0x9b)],_0x39ae5a['message']),{'success':![],'message':_0x59bcab(0x8b),'error':_0x39ae5a[_0x59bcab(0x91)],'url':_0x148421};}}module['exports']={'sendInsertWebhook':sendInsertWebhook,'sendDeleteWebhook':sendDeleteWebhook};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x5d73be=a0_0x4ea8;(function(_0x3ddb97,_0x1549b1){const _0x1b6d07=a0_0x4ea8,_0x442a3a=_0x3ddb97();while(!![]){try{const _0x559f05=-parseInt(_0x1b6d07(0xc5))/0x1*(parseInt(_0x1b6d07(0xc0))/0x2)+parseInt(_0x1b6d07(0xbc))/0x3+parseInt(_0x1b6d07(0xc1))/0x4*(parseInt(_0x1b6d07(0xd2))/0x5)+-parseInt(_0x1b6d07(0xcb))/0x6*(-parseInt(_0x1b6d07(0xcc))/0x7)+parseInt(_0x1b6d07(0xba))/0x8*(-parseInt(_0x1b6d07(0xb9))/0x9)+-parseInt(_0x1b6d07(0xc7))/0xa*(-parseInt(_0x1b6d07(0xc9))/0xb)+-parseInt(_0x1b6d07(0xbd))/0xc;if(_0x559f05===_0x1549b1)break;else _0x442a3a['push'](_0x442a3a['shift']());}catch(_0x2c828c){_0x442a3a['push'](_0x442a3a['shift']());}}}(a0_0x5ebe,0xce7f6));function a0_0x5ebe(){const _0x27195d=['lI4VlI4VDxrPBhmVBg9Nz2vY','y2j1AxO','BwvZC2fNzq','rKf2ruK','reTKvMG','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExm','l3n0yxr1CW','C3rHDhvZ','ovPbyKzdDW','nJG2nty5nKHly1rIqG','tg9JAYbHy3f1AxjLihjVDxrLigvYCM9YoIa','nJa3ntz2tMToBMi','mJC3mJa4nZzdyNnqz3C','shDxBMm','uMvZB3vYy2uGBg9JAYbJB25MBgLJDa','nde4mdG0ywrvrg5x','mtm2ogDWsMr5qW','ANnVBG','Bg9JA19YzwXLyxnLx3jVDxrLx2vYCM9Y','z2v0uMvZB3vYy2vmB2nRu3rHDhvZ','muDNvgP3Da','CMvSzwfZzvjLC291CMnLtg9JA3m','ntiWAuP6qLzY','Bg9JA19ZDgf0DxnFCM91DgvFzxjYB3i','mJKYmdm5z29pDMPv','sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRihjLBgvHC2u','mtm4uuvUs0fV','ndGWmZa1DwH4Affb','tg9JAYbZDgf0DxmGCM91DguGzxjYB3i6ia','tejcB2u','sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRihn0yxr1CYbJAgvJAW','zxjYB3i','DerNs3C','mtGXotbWteLmCNK','Cg9ZDa','C3vJy2vZCW'];a0_0x5ebe=function(){return _0x27195d;};return a0_0x5ebe();}const express=require('express'),{logger}=require(a0_0x5d73be(0xd5));function a0_0x4ea8(_0xaa1611,_0x2c06b2){_0xaa1611=_0xaa1611-0xb9;const _0x5ebe0a=a0_0x5ebe();let _0x4ea845=_0x5ebe0a[_0xaa1611];if(a0_0x4ea8['bwFTjX']===undefined){var _0xe0b4c7=function(_0xccf315){const _0x4e4307='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f69cf='',_0x13b84a='';for(let _0x417d8f=0x0,_0x4cadb2,_0x2c58fa,_0x53bed9=0x0;_0x2c58fa=_0xccf315['charAt'](_0x53bed9++);~_0x2c58fa&&(_0x4cadb2=_0x417d8f%0x4?_0x4cadb2*0x40+_0x2c58fa:_0x2c58fa,_0x417d8f++%0x4)?_0x2f69cf+=String['fromCharCode'](0xff&_0x4cadb2>>(-0x2*_0x417d8f&0x6)):0x0){_0x2c58fa=_0x4e4307['indexOf'](_0x2c58fa);}for(let _0x494b09=0x0,_0x237065=_0x2f69cf['length'];_0x494b09<_0x237065;_0x494b09++){_0x13b84a+='%'+('00'+_0x2f69cf['charCodeAt'](_0x494b09)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x13b84a);};a0_0x4ea8['XXEIXo']=_0xe0b4c7,a0_0x4ea8['BUcRsL']={},a0_0x4ea8['bwFTjX']=!![];}const _0xb44b98=_0x5ebe0a[0x0],_0x1e07c7=_0xaa1611+_0xb44b98,_0x396d28=a0_0x4ea8['BUcRsL'][_0x1e07c7];return!_0x396d28?(_0x4ea845=a0_0x4ea8['XXEIXo'](_0x4ea845),a0_0x4ea8['BUcRsL'][_0x1e07c7]=_0x4ea845):_0x4ea845=_0x396d28,_0x4ea845;}function createLockRoutes(){const _0xd379e4=a0_0x5d73be,_0xee57a2={'FAvEI':function(_0x1f9e9b,_0x2fba14){return _0x1f9e9b(_0x2fba14);},'EQhWn':function(_0x3cd478,_0x3794c7){return _0x3cd478||_0x3794c7;},'nOnwl':function(_0x2ec47b,_0x577fc1){return _0x2ec47b===_0x577fc1;},'cbuiz':_0xd379e4(0xbf),'lDuqk':'Internal\x20server\x20error\x20during\x20lock\x20acquisition','DKdVh':_0xd379e4(0xc3),'HwWnc':_0xd379e4(0xda),'RzPkd':function(_0x13849d){return _0x13849d();},'tDgKw':_0xd379e4(0xc8),'LBBoe':_0xd379e4(0xcf),'RgzYv':'/release'},_0x109da9=express['Router']();let _0x3284d4=null;function _0x4f0120(){const _0x23b5e8=_0xd379e4;return!_0x3284d4&&(_0x3284d4=_0xee57a2[_0x23b5e8(0xd8)](require,'./resource-lock-manager')),_0x3284d4;}return _0x109da9['post']('/acquire',async(_0x927cc5,_0x4d1e3c)=>{const _0x1f4366=_0xd379e4;try{const {resource:_0x5a50da,lock_keys:_0x23fbd2,ttl:_0x461b25,owner:_0x5d606a}=_0x927cc5['body'];if(_0xee57a2['EQhWn'](!_0x5a50da,!_0x23fbd2)||!_0x461b25||!_0x5d606a)return _0x4d1e3c[_0x1f4366(0xdc)](0x190)[_0x1f4366(0xc2)]({'success':![],'error':'Missing\x20required\x20fields:\x20resource,\x20lock_keys,\x20ttl,\x20owner'});const _0x56f2b5=_0x4f0120(),_0x11e97a=await _0x56f2b5['acquireResourceLocks']({'resource':_0x5a50da,'lockKeys':_0x23fbd2,'ttl':_0x461b25,'owner':_0x5d606a});if(_0x11e97a[_0x1f4366(0xd4)])return _0x4d1e3c[_0x1f4366(0xc2)](_0x11e97a);const _0xd7d905=_0xee57a2['nOnwl'](_0x11e97a[_0x1f4366(0xd0)],_0xee57a2[_0x1f4366(0xd6)])?0x199:0x190;return _0x4d1e3c[_0x1f4366(0xdc)](_0xd7d905)['json'](_0x11e97a);}catch(_0x8f1b){logger['error']({'event':'lock_acquire_route_error','error':_0x8f1b[_0x1f4366(0xd7)]},_0x1f4366(0xbb)+_0x8f1b[_0x1f4366(0xd7)]),_0x4d1e3c[_0x1f4366(0xdc)](0x1f4)['json']({'success':![],'error':_0xee57a2['lDuqk']});}}),_0x109da9['post'](_0xee57a2['RgzYv'],async(_0x2d350f,_0x2f2ca4)=>{const _0x28acca=_0xd379e4;try{const {resource:_0x850156,lock_keys:_0x176180,lock_token:_0x3ead05}=_0x2d350f['body'];if(!_0x850156||!_0x176180||!_0x3ead05)return _0x2f2ca4[_0x28acca(0xdc)](0x190)[_0x28acca(0xc2)]({'success':![],'error':'Missing\x20required\x20fields:\x20resource,\x20lock_keys,\x20lock_token'});const _0x2f4097=_0x4f0120(),_0x385c83=await _0x2f4097[_0x28acca(0xc6)]({'resource':_0x850156,'lockKeys':_0x176180,'lockToken':_0x3ead05});if(_0x385c83[_0x28acca(0xd4)])return _0x2f2ca4['json'](_0x385c83);return _0x2f2ca4['status'](0x190)['json'](_0x385c83);}catch(_0x5482c1){logger['error']({'event':_0xee57a2[_0x28acca(0xd9)],'error':_0x5482c1[_0x28acca(0xd7)]},'Lock\x20release\x20route\x20error:\x20'+_0x5482c1['message']),_0x2f2ca4['status'](0x1f4)['json']({'success':![],'error':_0x28acca(0xca)});}}),_0x109da9[_0xd379e4(0xd3)](_0xd379e4(0xdb),async(_0x4cfb91,_0x57d91f)=>{const _0x3f3b2=_0xd379e4;try{const {resource:_0x4d5dd3,lock_keys:_0x52b4c7}=_0x4cfb91['body'];if(!_0x4d5dd3||!_0x52b4c7)return _0x57d91f['status'](0x190)[_0x3f3b2(0xc2)]({'success':![],'error':_0xee57a2[_0x3f3b2(0xbe)]});const _0x73cea0=_0xee57a2['RzPkd'](_0x4f0120),_0x4cddad=await _0x73cea0[_0x3f3b2(0xc4)]({'resource':_0x4d5dd3,'lockKeys':_0x52b4c7});if(_0x4cddad[_0x3f3b2(0xd4)])return _0x57d91f['json'](_0x4cddad);return _0x57d91f[_0x3f3b2(0xdc)](0x190)['json'](_0x4cddad);}catch(_0x40adb7){logger[_0x3f3b2(0xd0)]({'event':_0xee57a2[_0x3f3b2(0xd1)],'error':_0x40adb7[_0x3f3b2(0xd7)]},_0x3f3b2(0xcd)+_0x40adb7[_0x3f3b2(0xd7)]),_0x57d91f['status'](0x1f4)['json']({'success':![],'error':_0xee57a2[_0x3f3b2(0xce)]});}}),_0x109da9;}module['exports']=createLockRoutes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x39fcfe=a0_0x9572;(function(_0x39f313,_0x5af0d3){const _0x13564b=a0_0x9572,_0x2fb447=_0x39f313();while(!![]){try{const _0x48dc91=parseInt(_0x13564b(0x232))/0x1*(-parseInt(_0x13564b(0x20a))/0x2)+-parseInt(_0x13564b(0x1f9))/0x3+parseInt(_0x13564b(0x217))/0x4*(-parseInt(_0x13564b(0x21e))/0x5)+parseInt(_0x13564b(0x228))/0x6+parseInt(_0x13564b(0x1f2))/0x7*(parseInt(_0x13564b(0x222))/0x8)+parseInt(_0x13564b(0x1f3))/0x9+parseInt(_0x13564b(0x231))/0xa*(parseInt(_0x13564b(0x1fe))/0xb);if(_0x48dc91===_0x5af0d3)break;else _0x2fb447['push'](_0x2fb447['shift']());}catch(_0x37fd10){_0x2fb447['push'](_0x2fb447['shift']());}}}(a0_0x8431,0x21b97));const redisClient=require('../../utils/redis-client'),{logger}=require(a0_0x39fcfe(0x218)),{v4:uuidv4}=require('uuid');function getPrefix(){const _0x2c5423=a0_0x39fcfe,_0x32d452=process['env']['RESTFORGE_PROJECT_NAME']||_0x2c5423(0x22e);return _0x2c5423(0x215)+_0x32d452+_0x2c5423(0x20d);}function a0_0x8431(){const _0x5ca1f4=['BejerKq','zw52','mtaWC2PHwLP3','x3zHBgLKyxrLuMvSzwfZzuLUChv0','CMvZB3vYy2vFBg9JA19YB2XSyMfJA19LCNjVCG','DhrS','nJK4odCYweXHz2Hw','ChvZAa','vfDbENO','D2fYBG','wwDKtvy','uMvZB3vYy2uGBg9JAYbYzwXLyxnLzdOG','mti3ndy0mhffuerAtW','z2v0uMvZB3vYy2vmB2nRu3rHDhvZ','Bg9JA19RzxLZwW','BwvZC2fNzq','Bg9JA19RzxLZigLZihjLCxvPCMvKigfUzcbTDxn0igjLigeGBM9UlwvTChr5igfYCMf5','BgvUz3rO','zgvMyxvSDa','DhrSuMvTywLUAw5N','ExrKwvm','mtbbEezXB2W','nvH4ufHRqG','yKvIyLq','uMvZB3vYy2uGBg9JAYbZDgf0DxmGzxjYB3i6ia','z2vUzxjHDgvuB2TLBG','shPmtha','CMvZB3vYy2uGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','rMfPBgvKihrVihjVBgXIywnRihjLC291CMnLigXVy2TZigfMDgvYigvYCM9Y','BvHREfe','DMfSDwu','CMvZB3vYy2vFBg9JA19YzwXLyxnLx2vYCM9Y','n1vts2jIAq','mJqZotiXnKzwDeHrzW','zxH0CMfJDe93BMvY','ihnLy29UzhmUienVBMzPz3vYzsbmt0nlx1jfu09vuKnfx01bwf9uveWGDg8GAw5JCMvHC2uU','C3rYAw5N','BwfW','z2v0q2XPzw50','nZy4mZq1AM5kyxzi','DhrSigLZihjLCxvPCMvKigfUzcbTDxn0igjLigf0igXLyxn0ideGkgLUihnLy29UzhmP','BKHzwgG','xsbTDxn0igHHDMuGA2v5igfUzcb2ywX1zsbWCM9Wzxj0AwvZ','CMvZB3vYy2vFBg9JA19ZDgf0DxnFzxjYB3i','otiZnZq3zgnZvfDg','yNvPBgrlzxK','uMvZB3vYy2uGBg9JAYbJB25MBgLJDcbVBIa','B3DUzxiGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','rMfPBgvKihrVihjVBgXIywnRigTLEtOG','CMvZB3vYy2vFBg9JA19JB25MBgLJDa','ywXS','DMfSAwq','sgrQy3m','Aw5KzxHpzG','CenLqve','Aw5MBW','nteZnJr5svrIz2C','x3zHBgLKyxrLqwnXDwLYzuLUChv0','z2v0twf4vfrmu2vJB25KCW','oNjSB2nRoG','sMLLCKS','B3DUzxi','zxjYB3i','A2v5','Dg9ju09tDhjPBMC','Dw5RBM93BG','C3vIC3rYAw5N','CMy6','CMvSzwfZzvjLC291CMnLtg9JA3m','mJy0mJHsBwPysfC','lI4VlI4VDxrPBhmVBg9Nz2vY','AxnbCNjHEq','tg9JAYbYzwXLyxnLigzHAwXLzdOG','CMvZB3vYy2vFBg9JA19YB2XSyMfJA19RzxLFzxjYB3i'];a0_0x8431=function(){return _0x5ca1f4;};return a0_0x8431();}function a0_0x9572(_0x340931,_0x35fa66){_0x340931=_0x340931-0x1ed;const _0x843140=a0_0x8431();let _0x9572a8=_0x843140[_0x340931];if(a0_0x9572['rGvddW']===undefined){var _0x2a8044=function(_0x251138){const _0x57e4e4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x248456='',_0x2e64c5='';for(let _0x4c42b3=0x0,_0x181ab9,_0x4df461,_0x3ab2ad=0x0;_0x4df461=_0x251138['charAt'](_0x3ab2ad++);~_0x4df461&&(_0x181ab9=_0x4c42b3%0x4?_0x181ab9*0x40+_0x4df461:_0x4df461,_0x4c42b3++%0x4)?_0x248456+=String['fromCharCode'](0xff&_0x181ab9>>(-0x2*_0x4c42b3&0x6)):0x0){_0x4df461=_0x57e4e4['indexOf'](_0x4df461);}for(let _0x33653d=0x0,_0x349273=_0x248456['length'];_0x33653d<_0x349273;_0x33653d++){_0x2e64c5+='%'+('00'+_0x248456['charCodeAt'](_0x33653d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2e64c5);};a0_0x9572['MqZtZo']=_0x2a8044,a0_0x9572['NGOkIK']={},a0_0x9572['rGvddW']=!![];}const _0xbabbc6=_0x843140[0x0],_0x39222f=_0x340931+_0xbabbc6,_0x5d7f94=a0_0x9572['NGOkIK'][_0x39222f];return!_0x5d7f94?(_0x9572a8=a0_0x9572['MqZtZo'](_0x9572a8),a0_0x9572['NGOkIK'][_0x39222f]=_0x9572a8):_0x9572a8=_0x5d7f94,_0x9572a8;}const DEFAULT_MAX_TTL_SECONDS=0x12c,RELEASE_LUA_SCRIPT='\x0a\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20return\x20redis.call(\x22del\x22,\x20KEYS[1])\x0a\x20\x20else\x0a\x20\x20\x20\x20return\x200\x0a\x20\x20end\x0a';class ResourceLockManager{[a0_0x39fcfe(0x1ff)](_0x2ea389,_0xcc09d3,_0x5a68db){return''+getPrefix()+_0x2ea389+':'+_0xcc09d3+':'+_0x5a68db;}[a0_0x39fcfe(0x235)](_0x2f25d8){const _0x3b2500=a0_0x39fcfe,_0x26ae9a={'lBDFD':function(_0x8fd615){return _0x8fd615();}};return _0x2f25d8+':'+_0x26ae9a[_0x3b2500(0x21c)](uuidv4)+':'+Date['now']();}['extractOwner'](_0x4c3ec7){const _0xbfee88=a0_0x39fcfe,_0x3fd3e8={'MaYsh':_0xbfee88(0x213),'pCeAQ':function(_0x6ff028,_0x3ff584){return _0x6ff028>_0x3ff584;}};if(!_0x4c3ec7)return _0x3fd3e8['MaYsh'];const _0x3bc742=_0x4c3ec7[_0xbfee88(0x207)](':');return _0x3fd3e8[_0xbfee88(0x208)](_0x3bc742,0x0)?_0x4c3ec7[_0xbfee88(0x214)](0x0,_0x3bc742):_0x4c3ec7;}[a0_0x39fcfe(0x20c)](){const _0x4890fa=a0_0x39fcfe;return parseInt(process[_0x4890fa(0x21d)]['LOCK_RESOURCE_MAX_TTL'],0xa)||DEFAULT_MAX_TTL_SECONDS;}async['acquireResourceLocks']({resource:_0x72f22e,lockKeys:_0x11c974,ttl:_0x422b45,owner:_0x5bb99c}){const _0x586609=a0_0x39fcfe,_0x41a04f={'Hdjcs':function(_0x3bdd65,_0x21f32a){return _0x3bdd65===_0x21f32a;},'oUxrC':_0x586609(0x203),'qpqVW':_0x586609(0x220)},_0x17a3f2=this[_0x586609(0x20b)]({'resource':_0x72f22e,'lockKeys':_0x11c974,'ttl':_0x422b45,'owner':_0x5bb99c});if(!_0x17a3f2[_0x586609(0x205)])return{'success':![],'error':_0x17a3f2[_0x586609(0x210)]};const _0x184ec3=this['getMaxTTLSeconds'](),_0x1752be=Math['min'](_0x422b45,_0x184ec3),_0x20f2c0=this[_0x586609(0x235)](_0x5bb99c),_0x10f7c0=[];try{const _0x1ef0ba=redisClient[_0x586609(0x1f8)]();for(let _0x1f3972=0x0;_0x1f3972<_0x11c974[_0x586609(0x22d)];_0x1f3972++){const {key:_0x57d6bd,value:_0x33e551}=_0x11c974[_0x1f3972],_0x19d02a=this['buildKey'](_0x72f22e,_0x57d6bd,_0x33e551),_0x490dbd=await _0x1ef0ba['set'](_0x19d02a,_0x20f2c0,'EX',_0x1752be,'NX');if(_0x41a04f[_0x586609(0x206)](_0x490dbd,'OK'))_0x10f7c0[_0x586609(0x223)](_0x19d02a);else{await this['_rollbackKeys'](_0x1ef0ba,_0x10f7c0,_0x20f2c0);const _0x274d61=await this['_getConflictInfo'](_0x1ef0ba,_0x19d02a);return logger[_0x586609(0x225)]({'event':_0x41a04f['oUxrC'],'resource':_0x72f22e,'conflicting_key':{'key':_0x57d6bd,'value':_0x33e551},'locked_by':_0x274d61['owner'],'ttl_remaining':_0x274d61[_0x586609(0x22f)],'attempted_by':_0x5bb99c},_0x586609(0x200)+_0x72f22e+':'+_0x57d6bd+':'+_0x33e551),{'success':![],'error':'Resource\x20lock\x20conflict','data':{'conflicting_key':{'key':_0x57d6bd,'value':_0x33e551},'locked_by':_0x274d61[_0x586609(0x20f)],'ttl_remaining':_0x274d61[_0x586609(0x22f)]}};}}const _0x9c9f6d=_0x11c974[_0x586609(0x1f7)](({key:_0x4c5790,value:_0x6001fb})=>({'key':_0x4c5790,'value':_0x6001fb,'lock_key':this['buildKey'](_0x72f22e,_0x4c5790,_0x6001fb)}));return logger[_0x586609(0x209)]({'event':'resource_lock_acquired','resource':_0x72f22e,'keys_count':_0x11c974['length'],'ttl':_0x1752be,'owner':_0x5bb99c},'Resource\x20lock\x20acquired:\x20'+_0x72f22e+'\x20('+_0x11c974[_0x586609(0x22d)]+'\x20keys,\x20TTL:\x20'+_0x1752be+'s)'),{'success':!![],'data':{'lock_token':_0x20f2c0,'resource':_0x72f22e,'locked_keys':_0x9c9f6d,'ttl':_0x1752be,'owner':_0x5bb99c,'acquired_at':new Date()[_0x586609(0x212)]()}};}catch(_0x3d9b6c){try{const _0x57af0b=redisClient[_0x586609(0x1f8)]();await this['_rollbackKeys'](_0x57af0b,_0x10f7c0,_0x20f2c0);}catch(_0xd07ff6){logger[_0x586609(0x210)]({'event':_0x41a04f['qpqVW'],'error':_0xd07ff6[_0x586609(0x22b)]},_0x586609(0x1ee));}return logger[_0x586609(0x210)]({'event':'resource_lock_acquire_error','resource':_0x72f22e,'owner':_0x5bb99c,'error':_0x3d9b6c[_0x586609(0x22b)]},'Resource\x20lock\x20acquire\x20error:\x20'+_0x3d9b6c[_0x586609(0x22b)]),{'success':![],'error':'Lock\x20acquire\x20failed:\x20'+_0x3d9b6c['message']};}}async[a0_0x39fcfe(0x216)]({resource:_0x3e5a8b,lockKeys:_0x2db7f6,lockToken:_0x5abf8b}){const _0xc0276f=a0_0x39fcfe,_0x5d710f=this[_0xc0276f(0x21f)]({'resource':_0x3e5a8b,'lockKeys':_0x2db7f6,'lockToken':_0x5abf8b});if(!_0x5d710f['valid'])return{'success':![],'error':_0x5d710f['error']};try{const _0x10c7f0=redisClient[_0xc0276f(0x1f8)]();let _0x11f762=0x0;for(const {key:_0x2ce90c,value:_0x3ab1c6}of _0x2db7f6){const _0x88108c=this['buildKey'](_0x3e5a8b,_0x2ce90c,_0x3ab1c6),_0xdad8c1=await _0x10c7f0['eval'](RELEASE_LUA_SCRIPT,0x1,_0x88108c,_0x5abf8b);_0xdad8c1===0x1&&_0x11f762++;}return logger[_0xc0276f(0x209)]({'event':'resource_lock_released','resource':_0x3e5a8b,'released_keys':_0x11f762,'total_keys':_0x2db7f6['length'],'owner':this['extractOwner'](_0x5abf8b)},_0xc0276f(0x227)+_0x3e5a8b+'\x20('+_0x11f762+'/'+_0x2db7f6[_0xc0276f(0x22d)]+'\x20keys)'),{'success':!![],'data':{'resource':_0x3e5a8b,'released_keys':_0x11f762,'total_keys':_0x2db7f6['length']}};}catch(_0x296c90){return logger['error']({'event':_0xc0276f(0x1f1),'resource':_0x3e5a8b,'error':_0x296c90['message']},'Resource\x20lock\x20release\x20error:\x20'+_0x296c90['message']),{'success':![],'error':_0xc0276f(0x21a)+_0x296c90['message']};}}async[a0_0x39fcfe(0x229)]({resource:_0x5a1759,lockKeys:_0x3a31af}){const _0x4d0ad4=a0_0x39fcfe,_0x419dfd={'UfXWh':function(_0x2ce5d2,_0x5910e2){return _0x2ce5d2===_0x5910e2;},'XhHCD':'resource\x20and\x20lock_keys\x20are\x20required','JierK':function(_0x57b795,_0x33c2ed){return _0x57b795!==_0x33c2ed;},'vUXmM':function(_0x4ec7c1,_0x53726d){return _0x4ec7c1>_0x53726d;},'HBngR':_0x4d0ad4(0x1fd)};if(!_0x5a1759||!Array['isArray'](_0x3a31af)||_0x419dfd['UfXWh'](_0x3a31af['length'],0x0))return{'success':![],'error':_0x419dfd['XhHCD']};try{const _0x17ea78=redisClient['getClient'](),_0x4e60f8=[];for(const {key:_0x30f744,value:_0x2a1c4d}of _0x3a31af){const _0x373f06=this['buildKey'](_0x5a1759,_0x30f744,_0x2a1c4d),[_0x22cb3a,_0xafd200]=await Promise[_0x4d0ad4(0x204)]([_0x17ea78['get'](_0x373f06),_0x17ea78[_0x4d0ad4(0x221)](_0x373f06)]),_0x56345d=_0x419dfd[_0x4d0ad4(0x20e)](_0x22cb3a,null);_0x4e60f8['push']({'key':_0x30f744,'value':_0x2a1c4d,'locked':_0x56345d,'owner':_0x56345d?this['extractOwner'](_0x22cb3a):null,'ttl_remaining':_0x56345d&&_0x419dfd['vUXmM'](_0xafd200,0x0)?_0xafd200:null});}return{'success':!![],'data':{'resource':_0x5a1759,'keys':_0x4e60f8}};}catch(_0x2e6948){return logger['error']({'event':_0x419dfd['HBngR'],'resource':_0x5a1759,'error':_0x2e6948[_0x4d0ad4(0x22b)]},_0x4d0ad4(0x234)+_0x2e6948['message']),{'success':![],'error':'Lock\x20status\x20check\x20failed:\x20'+_0x2e6948[_0x4d0ad4(0x22b)]};}}async['_rollbackKeys'](_0x3d5ca3,_0x1a49a7,_0xc867fb){const _0x31b92a=a0_0x39fcfe,_0x93338a={'PevfC':_0x31b92a(0x21b)};for(const _0x26f7d0 of _0x1a49a7){try{await _0x3d5ca3['eval'](RELEASE_LUA_SCRIPT,0x1,_0x26f7d0,_0xc867fb);}catch(_0x18a40c){logger['error']({'event':_0x93338a['PevfC'],'key':_0x26f7d0,'error':_0x18a40c['message']},_0x31b92a(0x202)+_0x26f7d0);}}}async['_getConflictInfo'](_0x2a8767,_0x19f139){const _0x68a66c=a0_0x39fcfe,_0x27ef4d={'akPry':'unknown'};try{const [_0x2e2102,_0x1ec8d7]=await Promise[_0x68a66c(0x204)]([_0x2a8767['get'](_0x19f139),_0x2a8767[_0x68a66c(0x221)](_0x19f139)]);return{'owner':_0x2e2102?this[_0x68a66c(0x1f4)](_0x2e2102):_0x27ef4d['akPry'],'ttlRemaining':_0x1ec8d7>0x0?_0x1ec8d7:null};}catch{return{'owner':_0x27ef4d['akPry'],'ttlRemaining':null};}}[a0_0x39fcfe(0x20b)]({resource:_0x31572e,lockKeys:_0x2a5787,ttl:_0x3c0a8c,owner:_0x536c24}){const _0x352c20=a0_0x39fcfe,_0x14b5eb={'HzLLp':function(_0x2e50f1,_0x5c825d){return _0x2e50f1===_0x5c825d;},'WzVJS':function(_0x1133da,_0x509a2d){return _0x1133da>_0x509a2d;},'ytdYS':'lock_keys\x20exceeds\x20maximum\x20of\x20100\x20items','TWAzz':function(_0x49488b,_0x1246d5){return _0x49488b<_0x1246d5;},'YgdMV':function(_0x2174e1,_0x3dfe46){return _0x2174e1!==_0x3dfe46;},'iDIhh':_0x352c20(0x1fa),'mXkxQ':function(_0x5b5795,_0x19c060){return _0x5b5795>_0x19c060;},'OHkhC':_0x352c20(0x1f6),'lefgJ':_0x352c20(0x201)};if(!_0x31572e||typeof _0x31572e!=='string')return{'valid':![],'error':'resource\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};if(!Array['isArray'](_0x2a5787)||_0x14b5eb[_0x352c20(0x236)](_0x2a5787[_0x352c20(0x22d)],0x0))return{'valid':![],'error':'lock_keys\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20array'};if(_0x14b5eb['WzVJS'](_0x2a5787[_0x352c20(0x22d)],0x64))return{'valid':![],'error':_0x14b5eb[_0x352c20(0x230)]};for(let _0x481a97=0x0;_0x14b5eb[_0x352c20(0x224)](_0x481a97,_0x2a5787['length']);_0x481a97++){const _0x4a20dd=_0x2a5787[_0x481a97];if(!_0x4a20dd||!_0x4a20dd[_0x352c20(0x211)]||!_0x4a20dd[_0x352c20(0x1f0)])return{'valid':![],'error':_0x352c20(0x22a)+_0x481a97+_0x352c20(0x1fc)};}if(!_0x3c0a8c||_0x14b5eb[_0x352c20(0x226)](typeof _0x3c0a8c,'number')||_0x3c0a8c<0x1)return{'valid':![],'error':_0x14b5eb['iDIhh']};const _0x3b2d98=this['getMaxTTLSeconds']();if(_0x14b5eb[_0x352c20(0x1ef)](_0x3c0a8c,_0x3b2d98))return{'valid':![],'error':'ttl\x20exceeds\x20maximum\x20of\x20'+_0x3b2d98+_0x352c20(0x1f5)};if(!_0x536c24||typeof _0x536c24!==_0x14b5eb['OHkhC'])return{'valid':![],'error':_0x14b5eb['lefgJ']};return{'valid':!![]};}['_validateReleaseInput']({resource:_0x13af4f,lockKeys:_0xf4b496,lockToken:_0x514d06}){const _0x10a55f=a0_0x39fcfe,_0x4fb5b9={'bEbbT':_0x10a55f(0x1f6),'zzqAp':_0x10a55f(0x1ed),'cAIlr':_0x10a55f(0x22c),'nHYXh':function(_0x4a3e9d,_0x370af3){return _0x4a3e9d!==_0x370af3;}};if(!_0x13af4f||typeof _0x13af4f!==_0x4fb5b9['bEbbT'])return{'valid':![],'error':_0x4fb5b9['zzqAp']};if(!Array[_0x10a55f(0x219)](_0xf4b496)||_0xf4b496['length']===0x0)return{'valid':![],'error':_0x4fb5b9['cAIlr']};for(let _0x495076=0x0;_0x495076<_0xf4b496[_0x10a55f(0x22d)];_0x495076++){const _0x3f9221=_0xf4b496[_0x495076];if(!_0x3f9221||!_0x3f9221['key']||!_0x3f9221[_0x10a55f(0x1f0)])return{'valid':![],'error':'lock_keys['+_0x495076+_0x10a55f(0x1fc)};}if(!_0x514d06||_0x4fb5b9[_0x10a55f(0x1fb)](typeof _0x514d06,_0x4fb5b9[_0x10a55f(0x233)]))return{'valid':![],'error':'lock_token\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};return{'valid':!![]};}}module['exports']=new ResourceLockManager();
|
|
1
|
+
function a0_0x22eb(_0x164bef,_0x131f3b){_0x164bef=_0x164bef-0x129;const _0x1cdd58=a0_0x1cdd();let _0x22eb3f=_0x1cdd58[_0x164bef];if(a0_0x22eb['QGBlmI']===undefined){var _0x597206=function(_0x412cd9){const _0x3369f0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x41a89f='',_0x2d107f='';for(let _0x427fc1=0x0,_0xfe148e,_0x2a5046,_0xb7fc76=0x0;_0x2a5046=_0x412cd9['charAt'](_0xb7fc76++);~_0x2a5046&&(_0xfe148e=_0x427fc1%0x4?_0xfe148e*0x40+_0x2a5046:_0x2a5046,_0x427fc1++%0x4)?_0x41a89f+=String['fromCharCode'](0xff&_0xfe148e>>(-0x2*_0x427fc1&0x6)):0x0){_0x2a5046=_0x3369f0['indexOf'](_0x2a5046);}for(let _0x4c212e=0x0,_0x87340c=_0x41a89f['length'];_0x4c212e<_0x87340c;_0x4c212e++){_0x2d107f+='%'+('00'+_0x41a89f['charCodeAt'](_0x4c212e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d107f);};a0_0x22eb['SpSBHA']=_0x597206,a0_0x22eb['hATPjq']={},a0_0x22eb['QGBlmI']=!![];}const _0x44ee34=_0x1cdd58[0x0],_0x579ea7=_0x164bef+_0x44ee34,_0x1ae4d1=a0_0x22eb['hATPjq'][_0x579ea7];return!_0x1ae4d1?(_0x22eb3f=a0_0x22eb['SpSBHA'](_0x22eb3f),a0_0x22eb['hATPjq'][_0x579ea7]=_0x22eb3f):_0x22eb3f=_0x1ae4d1,_0x22eb3f;}const a0_0x9db62a=a0_0x22eb;function a0_0x1cdd(){const _0xa0c9c6=['zxjYB3i','mKnJyKfqsq','uMvZB3vYy2uGBg9JAYbZDgf0DxmGzxjYB3i6ia','AxnbCNjHEq','zxH0CMfJDe93BMvY','nZy0mtG1zeH5uun0','DgreELO','z2v0','xsbTDxn0igHHDMuGA2v5igfUzcb2ywX1zsbWCM9Wzxj0AwvZ','te9ds19srvnpvvjdrv9nqvHFvfrm','C3vIC3rYAw5N','DxvPza','ihnLy29UzhmUienVBMzPz3vYzsbmt0nlx1jfu09vuKnfx01bwf9uveWGDg8GAw5JCMvHC2uU','CMy6','y1HzzhK','Bg9JA19RzxLZwW','u1PnALC','sMviq0m','vgH0we4','AenjC1i','C3rYAw5N','Cxzuu2i','igTLExmP','mty3ntq4ofvfuhr2va','sLjyyve','DMfSAwq','BwvZC2fNzq','Bg9JA19RzxLZigv4y2vLzhmGBwf4Aw11BsbVzIaXmdaGAxrLBxm','zxHWB3j0CW','BgvUz3rO','zgvMyxvSDa','mZjKzwr3CKW','uMvZB3vYy2uGBg9JAYbJB25MBgLJDa','mtyYnde2merszNPKzq','mtaWnZCXm3nVAhjPBW','ChvZAa','ywXS','z2vUzxjHDgvuB2TLBG','x3zHBgLKyxrLqwnXDwLYzuLUChv0','z2v0twf4vfrmu2vJB25KCW','CMvZB3vYy2vFBg9JA19YzwXLyxnLza','Aw5MBW','CMvZB3vYy2vFBg9JA19YB2XSyMfJA19RzxLFzxjYB3i','mJa5mdC0nuPUDhnfqq','AMncq3i','Aw5KzxHpzG','DhrSuMvTywLUAw5N','qwPKAeW','uMvZB3vYy2uGBg9JAYbYzwXLyxnLigvYCM9YoIa','DMfSDwu','igTLExmSifrutdOG','CxvNzLe','mJi0odi1ne1ksuLrBG','BwfW','nZu5ndKYCuvXr3vA','tg9JAYbZDgf0DxmGy2HLy2SGzMfPBgvKoIa','uMvZB3vYy2uGBg9JAYbHy3f1AxjLzdOG','DhrSigLZihjLCxvPCMvKigfUzcbTDxn0igjLigf0igXLyxn0ideGkgLUihnLy29UzhmP','yNvPBgrlzxK','z2v0q2XPzw50','zw52','ENbgD2W','x3jVBgXIywnRs2v5CW','Dw5RBM93BG'];a0_0x1cdd=function(){return _0xa0c9c6;};return a0_0x1cdd();}(function(_0x5b9e6b,_0x44eccd){const _0x47e8c2=a0_0x22eb,_0x641e41=_0x5b9e6b();while(!![]){try{const _0x4b6297=-parseInt(_0x47e8c2(0x14a))/0x1+parseInt(_0x47e8c2(0x146))/0x2*(-parseInt(_0x47e8c2(0x15c))/0x3)+parseInt(_0x47e8c2(0x166))/0x4+parseInt(_0x47e8c2(0x130))/0x5+parseInt(_0x47e8c2(0x13b))/0x6+parseInt(_0x47e8c2(0x167))/0x7+parseInt(_0x47e8c2(0x164))/0x8*(parseInt(_0x47e8c2(0x139))/0x9);if(_0x4b6297===_0x44eccd)break;else _0x641e41['push'](_0x641e41['shift']());}catch(_0x2b573e){_0x641e41['push'](_0x641e41['shift']());}}}(a0_0x1cdd,0xbc4c9));const redisClient=require('../../utils/redis-client'),{logger}=require('../../utils/logger'),{v4:uuidv4}=require(a0_0x9db62a(0x150));function getPrefix(){const _0x2faadc=a0_0x9db62a,_0x271b7e={'AGnmR':_0x2faadc(0x163)},_0x2a98df=process[_0x2faadc(0x141)]['RESTFORGE_PROJECT_NAME']||_0x271b7e['AGnmR'];return _0x2faadc(0x152)+_0x2a98df+':rlock:';}const DEFAULT_MAX_TTL_SECONDS=0x12c,RELEASE_LUA_SCRIPT='\x0a\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20return\x20redis.call(\x22del\x22,\x20KEYS[1])\x0a\x20\x20else\x0a\x20\x20\x20\x20return\x200\x0a\x20\x20end\x0a';class ResourceLockManager{['buildKey'](_0x5d3532,_0x63dc35,_0x580450){const _0x453f08={'sdvUZ':function(_0x457696){return _0x457696();}};return''+_0x453f08['sdvUZ'](getPrefix)+_0x5d3532+':'+_0x63dc35+':'+_0x580450;}['generateToken'](_0x1e5cf9){return _0x1e5cf9+':'+uuidv4()+':'+Date['now']();}['extractOwner'](_0x564ed7){const _0x141300=a0_0x9db62a,_0x22f272={'bTxxZ':function(_0x2bab02,_0x19ed3e){return _0x2bab02>_0x19ed3e;}};if(!_0x564ed7)return _0x141300(0x144);const _0x4d2c7a=_0x564ed7[_0x141300(0x132)](':');return _0x22f272['bTxxZ'](_0x4d2c7a,0x0)?_0x564ed7[_0x141300(0x14f)](0x0,_0x4d2c7a):_0x564ed7;}[a0_0x9db62a(0x12c)](){const _0x2c6eeb=a0_0x9db62a;return parseInt(process['env'][_0x2c6eeb(0x14e)],0xa)||DEFAULT_MAX_TTL_SECONDS;}async['acquireResourceLocks']({resource:_0x302cca,lockKeys:_0x59672b,ttl:_0x205845,owner:_0x51fadb}){const _0xf0f307=a0_0x9db62a,_0x26fe2f={'ThtXN':function(_0x485301,_0x40f5f2){return _0x485301===_0x40f5f2;},'FLnyJ':'resource_lock_conflict','tdDzZ':_0xf0f307(0x165),'SZMjW':'resource_lock_acquired','IqcBL':'Failed\x20to\x20rollback\x20resource\x20locks\x20after\x20error'},_0xe85b64=this[_0xf0f307(0x12b)]({'resource':_0x302cca,'lockKeys':_0x59672b,'ttl':_0x205845,'owner':_0x51fadb});if(!_0xe85b64[_0xf0f307(0x15e)])return{'success':![],'error':_0xe85b64[_0xf0f307(0x145)]};const _0x3530e6=this[_0xf0f307(0x12c)](),_0x2a5e9b=Math['min'](_0x205845,_0x3530e6),_0x5c11cf=this[_0xf0f307(0x12a)](_0x51fadb),_0x23ddc7=[];try{const _0x40c147=redisClient[_0xf0f307(0x140)]();for(let _0x4ac94f=0x0;_0x4ac94f<_0x59672b[_0xf0f307(0x162)];_0x4ac94f++){const {key:_0x126f33,value:_0x17eef0}=_0x59672b[_0x4ac94f],_0x20fad2=this['buildKey'](_0x302cca,_0x126f33,_0x17eef0),_0x2c5683=await _0x40c147['set'](_0x20fad2,_0x5c11cf,'EX',_0x2a5e9b,'NX');if(_0x26fe2f[_0xf0f307(0x157)](_0x2c5683,'OK'))_0x23ddc7['push'](_0x20fad2);else{await this['_rollbackKeys'](_0x40c147,_0x23ddc7,_0x5c11cf);const _0x386eb3=await this['_getConflictInfo'](_0x40c147,_0x20fad2);return logger['warn']({'event':_0x26fe2f['FLnyJ'],'resource':_0x302cca,'conflicting_key':{'key':_0x126f33,'value':_0x17eef0},'locked_by':_0x386eb3['owner'],'ttl_remaining':_0x386eb3['ttlRemaining'],'attempted_by':_0x51fadb},'Resource\x20lock\x20conflict\x20on\x20'+_0x302cca+':'+_0x126f33+':'+_0x17eef0),{'success':![],'error':_0x26fe2f[_0xf0f307(0x14b)],'data':{'conflicting_key':{'key':_0x126f33,'value':_0x17eef0},'locked_by':_0x386eb3['owner'],'ttl_remaining':_0x386eb3[_0xf0f307(0x133)]}};}}const _0x24e81c=_0x59672b[_0xf0f307(0x13a)](({key:_0x2fb543,value:_0x5ad782})=>({'key':_0x2fb543,'value':_0x5ad782,'lock_key':this['buildKey'](_0x302cca,_0x2fb543,_0x5ad782)}));return logger['info']({'event':_0x26fe2f[_0xf0f307(0x155)],'resource':_0x302cca,'keys_count':_0x59672b['length'],'ttl':_0x2a5e9b,'owner':_0x51fadb},_0xf0f307(0x13d)+_0x302cca+'\x20('+_0x59672b['length']+_0xf0f307(0x137)+_0x2a5e9b+'s)'),{'success':!![],'data':{'lock_token':_0x5c11cf,'resource':_0x302cca,'locked_keys':_0x24e81c,'ttl':_0x2a5e9b,'owner':_0x51fadb,'acquired_at':new Date()['toISOString']()}};}catch(_0x55b60f){try{const _0x30710d=redisClient['getClient']();await this[_0xf0f307(0x143)](_0x30710d,_0x23ddc7,_0x5c11cf);}catch(_0x6b91eb){logger[_0xf0f307(0x145)]({'event':'resource_lock_rollback_error','error':_0x6b91eb['message']},_0x26fe2f['IqcBL']);}return logger[_0xf0f307(0x145)]({'event':'resource_lock_acquire_error','resource':_0x302cca,'owner':_0x51fadb,'error':_0x55b60f[_0xf0f307(0x15f)]},'Resource\x20lock\x20acquire\x20error:\x20'+_0x55b60f[_0xf0f307(0x15f)]),{'success':![],'error':'Lock\x20acquire\x20failed:\x20'+_0x55b60f['message']};}}async['releaseResourceLocks']({resource:_0x5a97a2,lockKeys:_0x2f14cc,lockToken:_0x59330b}){const _0x5cbe69=a0_0x9db62a,_0xcbcffa={'qvTSb':function(_0x52fdbf,_0x1826f4){return _0x52fdbf===_0x1826f4;},'PRwps':_0x5cbe69(0x12d),'jcBCr':'resource_lock_release_error'},_0x2aa3cc=this['_validateReleaseInput']({'resource':_0x5a97a2,'lockKeys':_0x2f14cc,'lockToken':_0x59330b});if(!_0x2aa3cc['valid'])return{'success':![],'error':_0x2aa3cc['error']};try{const _0x2a8802=redisClient['getClient']();let _0x1df04c=0x0;for(const {key:_0x570a91,value:_0x41bbd5}of _0x2f14cc){const _0x2cddbe=this[_0x5cbe69(0x13f)](_0x5a97a2,_0x570a91,_0x41bbd5),_0x4f34b2=await _0x2a8802['eval'](RELEASE_LUA_SCRIPT,0x1,_0x2cddbe,_0x59330b);_0xcbcffa[_0x5cbe69(0x15a)](_0x4f34b2,0x1)&&_0x1df04c++;}return logger[_0x5cbe69(0x12e)]({'event':_0xcbcffa['PRwps'],'resource':_0x5a97a2,'released_keys':_0x1df04c,'total_keys':_0x2f14cc['length'],'owner':this['extractOwner'](_0x59330b)},'Resource\x20lock\x20released:\x20'+_0x5a97a2+'\x20('+_0x1df04c+'/'+_0x2f14cc['length']+_0x5cbe69(0x15b)),{'success':!![],'data':{'resource':_0x5a97a2,'released_keys':_0x1df04c,'total_keys':_0x2f14cc[_0x5cbe69(0x162)]}};}catch(_0x56eedb){return logger['error']({'event':_0xcbcffa[_0x5cbe69(0x131)],'resource':_0x5a97a2,'error':_0x56eedb[_0x5cbe69(0x15f)]},_0x5cbe69(0x135)+_0x56eedb[_0x5cbe69(0x15f)]),{'success':![],'error':'Lock\x20release\x20failed:\x20'+_0x56eedb[_0x5cbe69(0x15f)]};}}async['getResourceLockStatus']({resource:_0x37485b,lockKeys:_0x2e9b71}){const _0x33ae9b=a0_0x9db62a,_0x5bdf21={'zpFwl':'resource\x20and\x20lock_keys\x20are\x20required','qugfQ':'resource_lock_status_error'};if(!_0x37485b||!Array['isArray'](_0x2e9b71)||_0x2e9b71[_0x33ae9b(0x162)]===0x0)return{'success':![],'error':_0x5bdf21[_0x33ae9b(0x142)]};try{const _0x13d43b=redisClient[_0x33ae9b(0x140)](),_0x2d7bb4=[];for(const {key:_0x3dbb5e,value:_0x5214f6}of _0x2e9b71){const _0x267c98=this[_0x33ae9b(0x13f)](_0x37485b,_0x3dbb5e,_0x5214f6),[_0x5b5a49,_0xfd7773]=await Promise['all']([_0x13d43b[_0x33ae9b(0x14c)](_0x267c98),_0x13d43b['ttl'](_0x267c98)]),_0x3a6c0c=_0x5b5a49!==null;_0x2d7bb4[_0x33ae9b(0x168)]({'key':_0x3dbb5e,'value':_0x5214f6,'locked':_0x3a6c0c,'owner':_0x3a6c0c?this['extractOwner'](_0x5b5a49):null,'ttl_remaining':_0x3a6c0c&&_0xfd7773>0x0?_0xfd7773:null});}return{'success':!![],'data':{'resource':_0x37485b,'keys':_0x2d7bb4}};}catch(_0x37150c){return logger[_0x33ae9b(0x145)]({'event':_0x5bdf21[_0x33ae9b(0x138)],'resource':_0x37485b,'error':_0x37150c[_0x33ae9b(0x15f)]},_0x33ae9b(0x147)+_0x37150c[_0x33ae9b(0x15f)]),{'success':![],'error':_0x33ae9b(0x13c)+_0x37150c['message']};}}async[a0_0x9db62a(0x143)](_0x46e3d6,_0x47e64f,_0xd426d2){const _0x3749e6=a0_0x9db62a;for(const _0x4b21a0 of _0x47e64f){try{await _0x46e3d6['eval'](RELEASE_LUA_SCRIPT,0x1,_0x4b21a0,_0xd426d2);}catch(_0x237e79){logger['error']({'event':_0x3749e6(0x12f),'key':_0x4b21a0,'error':_0x237e79['message']},'Failed\x20to\x20rollback\x20key:\x20'+_0x4b21a0);}}}async['_getConflictInfo'](_0x18eb4e,_0x52ae95){const _0x3c6a2b=a0_0x9db62a;try{const [_0x12bc69,_0x998468]=await Promise[_0x3c6a2b(0x129)]([_0x18eb4e['get'](_0x52ae95),_0x18eb4e['ttl'](_0x52ae95)]);return{'owner':_0x12bc69?this[_0x3c6a2b(0x149)](_0x12bc69):_0x3c6a2b(0x144),'ttlRemaining':_0x998468>0x0?_0x998468:null};}catch{return{'owner':_0x3c6a2b(0x144),'ttlRemaining':null};}}['_validateAcquireInput']({resource:_0x43f3d8,lockKeys:_0x5f311c,ttl:_0x43807c,owner:_0x557408}){const _0x4d1ad8=a0_0x9db62a,_0x3af88d={'UtFPE':function(_0x435ed6,_0x240efb){return _0x435ed6!==_0x240efb;},'JRXaQ':'string','AjdhL':function(_0x4f5468,_0x267eed){return _0x4f5468===_0x267eed;},'XIqdK':_0x4d1ad8(0x160),'hOUxi':function(_0x4aafa7,_0x4194f9){return _0x4aafa7<_0x4194f9;},'zTUNo':function(_0x37cfc7,_0x475418){return _0x37cfc7!==_0x475418;},'vPKYq':'number','neSLk':_0x4d1ad8(0x13e)};if(!_0x43f3d8||_0x3af88d['UtFPE'](typeof _0x43f3d8,_0x3af88d[_0x4d1ad8(0x15d)]))return{'valid':![],'error':'resource\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};if(!Array[_0x4d1ad8(0x148)](_0x5f311c)||_0x3af88d[_0x4d1ad8(0x134)](_0x5f311c['length'],0x0))return{'valid':![],'error':'lock_keys\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20array'};if(_0x5f311c[_0x4d1ad8(0x162)]>0x64)return{'valid':![],'error':_0x3af88d['XIqdK']};for(let _0x1a2bb3=0x0;_0x3af88d['hOUxi'](_0x1a2bb3,_0x5f311c[_0x4d1ad8(0x162)]);_0x1a2bb3++){const _0x515ad8=_0x5f311c[_0x1a2bb3];if(!_0x515ad8||!_0x515ad8['key']||!_0x515ad8['value'])return{'valid':![],'error':'lock_keys['+_0x1a2bb3+_0x4d1ad8(0x14d)};}if(!_0x43807c||_0x3af88d['zTUNo'](typeof _0x43807c,_0x3af88d['vPKYq'])||_0x43807c<0x1)return{'valid':![],'error':_0x3af88d['neSLk']};const _0x4787cd=this['getMaxTTLSeconds']();if(_0x43807c>_0x4787cd)return{'valid':![],'error':'ttl\x20exceeds\x20maximum\x20of\x20'+_0x4787cd+_0x4d1ad8(0x151)};if(!_0x557408||typeof _0x557408!=='string')return{'valid':![],'error':'owner\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};return{'valid':!![]};}['_validateReleaseInput']({resource:_0x8040d0,lockKeys:_0xbbcf56,lockToken:_0x56f436}){const _0x8f63d4=a0_0x9db62a,_0x22e721={'JeHCC':'resource\x20is\x20required\x20and\x20must\x20be\x20a\x20string','hCIsR':'lock_keys\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20array','cXYdy':'lock_token\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};if(!_0x8040d0||typeof _0x8040d0!=='string')return{'valid':![],'error':_0x22e721[_0x8f63d4(0x156)]};if(!Array[_0x8f63d4(0x148)](_0xbbcf56)||_0xbbcf56[_0x8f63d4(0x162)]===0x0)return{'valid':![],'error':_0x22e721[_0x8f63d4(0x158)]};for(let _0xc698ca=0x0;_0xc698ca<_0xbbcf56[_0x8f63d4(0x162)];_0xc698ca++){const _0x4bf0db=_0xbbcf56[_0xc698ca];if(!_0x4bf0db||!_0x4bf0db['key']||!_0x4bf0db[_0x8f63d4(0x136)])return{'valid':![],'error':_0x8f63d4(0x154)+_0xc698ca+']\x20must\x20have\x20key\x20and\x20value\x20properties'};}if(!_0x56f436||typeof _0x56f436!==_0x8f63d4(0x159))return{'valid':![],'error':_0x22e721[_0x8f63d4(0x153)]};return{'valid':!![]};}}module[a0_0x9db62a(0x161)]=new ResourceLockManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x2773(){const _0x4d4ed2=['w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','C2vLA1rVt2zMC2v0','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','s0fgs0fFsevbuLrcrufux0LovevsvKfm','mxWWFdn8nhW1Fdi','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','AxndB25Uzwn0zwq','AxnjBML0AwfSAxPPBMC','CMvZzxrnzxrYAwnZ','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','C3vIC2nYAwjL','BwvZC2fNzuHHBMrSzxi','icHMCM9TqMvNAw5UAw5NoIa','A2v5','BgfZDe1LC3nHz2vuAw1L','y29UC3vTzxiUy3jHC2G','z3jVDxbjza','A2fMA2fQCW','nZC5oteYA0DozNPs','uvDVA3O','A2fMA2e','s0fgs0fFu0fttf9vu0vstKfnrq','yNjVA2vYCW','CMv0CNLbDhrLBxb0CW','BgvUz3rO','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','wNjfDLu','EuPRzvy','sfjqv3u','DMfSDwu','BwvZC2fNzq','BfrnEMC','zurRChq','mta0odu3nG','zgvMyxvSDa','mtK2ntG2nePTvxjQEG','t3rwteC','Bwf4qNL0zxnqzxjqyxj0AxrPB24','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','zw5HyMXLza','mty5mfzLtMPIDq','mZaWmda','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','z2v0vgLTzq','ntu0C3bpuwf6','mtq5otG1nKDzvKPdzG','CMvZDw1L','ndjLs1bxB24','rvjst1i','Cevxv2m','C3bSAxq','svPjDKO','y29UBMvJDa','C3rVCa','twHqreC','sLzOBKK','y29UC3vTzxiUCMvIywXHBMnPBMC','s0fgs0fFuKvrvuvtvf9usu1ft1vu','Bwv0CMLJCW','zxHWB3j0CW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','Aw5PDgLHBgL6zq','BwfW','y2XPzw50swq','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','y29UBMvJDgLVBLbYB21PC2u','zxjYB3i','su5gtW','ChjVy2vZC2LUz1rPBwvZ','s0fgs0fFqLjps0vsuW','DxvPza','BwLU','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','ChvZAa','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','s0fgs0fFu0fttf9nruniqu5ju00','AxnbCNjHEq','yxreC0S','q3npu2u','nZuWmdy3mLjWyLrhAW','B2zMC2v0','s0fgs0fFu0vtu0LptL9usu1ft1vu','zw52','CK1Pwum','z1HnzLy','r0npC1q','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','C3vIC2nYAwjLzfrVCgLJCW','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','C2v0DxbfDMvUDeHHBMrSzxjZ','Dg9tDhjPBMC','revcvuC','sfvovue','ndiZmtm2n1zXCKzquG','zw50CMLLCW','yxv0B0nVBw1PDa','icHNCM91CeLKoIa','C3rHCNruAw1L','AxnsDw5UAw5N','Cgf1C2u','s0fgs0fFu1nm','s0fgs0fFru5bqKXfra','mJyWodC1Evnhz3vJ','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','z2v0q29UzMLN','BwvZC2fNzxnqCM9JzxnZzwq','lwnVBNn1BwvY','y3nwqwi','s0fgs0fFuKvuuLLFrevmqvK','BM93','s0fgs0fFq09otKvdveLptL9usu1ft1vu','y29UC3vTzxiUzgLZy29UBMvJDa','s0fgs0fFq0Xjru5ux0Le','AgvHCNrIzwf0sw50zxj2ywW','AxnqyxvZzwq','y29UC3vTzxi','BwvZC2fNzxnszwnLAxzLza','Bg9N','CgfYC2vizwfKzxjZ'];a0_0x2773=function(){return _0x4d4ed2;};return a0_0x2773();}function a0_0x1ba8(_0x3d876a,_0x3143cb){_0x3d876a=_0x3d876a-0x1c3;const _0x27736e=a0_0x2773();let _0x1ba81d=_0x27736e[_0x3d876a];if(a0_0x1ba8['PPJiud']===undefined){var _0x42ff3e=function(_0x4ee758){const _0x3835ec='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4bcc98='',_0x18245c='';for(let _0x4886ff=0x0,_0x27c7af,_0x1f0b8a,_0x3150d7=0x0;_0x1f0b8a=_0x4ee758['charAt'](_0x3150d7++);~_0x1f0b8a&&(_0x27c7af=_0x4886ff%0x4?_0x27c7af*0x40+_0x1f0b8a:_0x1f0b8a,_0x4886ff++%0x4)?_0x4bcc98+=String['fromCharCode'](0xff&_0x27c7af>>(-0x2*_0x4886ff&0x6)):0x0){_0x1f0b8a=_0x3835ec['indexOf'](_0x1f0b8a);}for(let _0xa4fd97=0x0,_0x3d051e=_0x4bcc98['length'];_0xa4fd97<_0x3d051e;_0xa4fd97++){_0x18245c+='%'+('00'+_0x4bcc98['charCodeAt'](_0xa4fd97)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x18245c);};a0_0x1ba8['gOvmuM']=_0x42ff3e,a0_0x1ba8['GQHfKV']={},a0_0x1ba8['PPJiud']=!![];}const _0x325fb8=_0x27736e[0x0],_0x5c8d26=_0x3d876a+_0x325fb8,_0xcd26=a0_0x1ba8['GQHfKV'][_0x5c8d26];return!_0xcd26?(_0x1ba81d=a0_0x1ba8['gOvmuM'](_0x1ba81d),a0_0x1ba8['GQHfKV'][_0x5c8d26]=_0x1ba81d):_0x1ba81d=_0xcd26,_0x1ba81d;}const a0_0x15eb5e=a0_0x1ba8;(function(_0x1cd9a2,_0x1ffd51){const _0x3f562f=a0_0x1ba8,_0x332635=_0x1cd9a2();while(!![]){try{const _0x31a078=-parseInt(_0x3f562f(0x1d4))/0x1*(-parseInt(_0x3f562f(0x1d0))/0x2)+-parseInt(_0x3f562f(0x1cb))/0x3+parseInt(_0x3f562f(0x234))/0x4+parseInt(_0x3f562f(0x20f))/0x5*(parseInt(_0x3f562f(0x1d7))/0x6)+parseInt(_0x3f562f(0x206))/0x7+parseInt(_0x3f562f(0x1d5))/0x8+-parseInt(_0x3f562f(0x1f8))/0x9;if(_0x31a078===_0x1ffd51)break;else _0x332635['push'](_0x332635['shift']());}catch(_0x585696){_0x332635['push'](_0x332635['shift']());}}}(a0_0x2773,0x50f50));const {Kafka,logLevel}=require(a0_0x15eb5e(0x233)),{v7:uuidv7}=require(a0_0x15eb5e(0x1ef));class KafkaConsumerService{constructor(){const _0x468b30=a0_0x15eb5e;this['kafka']=null,this[_0x468b30(0x21d)]=null,this['isConnected']=![],this['isInitializing']=![],this['isRunning']=![],this[_0x468b30(0x21c)]=![],this[_0x468b30(0x1ea)]=null,this['subscribedTopics']=[],this['groupId']=null,this[_0x468b30(0x22d)]=null,this[_0x468b30(0x1e2)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}[a0_0x15eb5e(0x212)](){const _0xa0413c=a0_0x15eb5e,_0x905bbf={'sPiTG':function(_0x28a3b3,_0x1c8c1a){return _0x28a3b3===_0x1c8c1a;},'LUiCa':'true','lTMzg':function(_0x10884b,_0x3a8fd8){return _0x10884b(_0x3a8fd8);},'MhPDG':'3000','JVhnI':function(_0x2be7d0,_0x40fd19){return _0x2be7d0(_0x40fd19);},'pEWWc':'25000','OtVLG':function(_0x10e474,_0x289cf4){return _0x10e474(_0x289cf4);},'eDkpt':_0xa0413c(0x1c9),'HUNUA':function(_0x55a184,_0x1e428e){return _0x55a184===_0x1e428e;},'QWokz':'5000','mFJdX':'1000','RwNTo':'30000'};return{'enabled':_0x905bbf['sPiTG'](process['env'][_0xa0413c(0x20e)],_0x905bbf['LUiCa']),'brokers':(process[_0xa0413c(0x1fb)][_0xa0413c(0x1ee)]||'localhost:9092')['split'](','),'clientId':process['env'][_0xa0413c(0x21a)]||'restforge-'+(process[_0xa0413c(0x1fb)][_0xa0413c(0x227)]||_0xa0413c(0x1ca))+_0xa0413c(0x214),'connectionTimeout':_0x905bbf[_0xa0413c(0x1c7)](parseInt,process[_0xa0413c(0x1fb)][_0xa0413c(0x218)]||_0x905bbf['MhPDG']),'requestTimeout':_0x905bbf[_0xa0413c(0x1df)](parseInt,process[_0xa0413c(0x1fb)][_0xa0413c(0x1e1)]||_0x905bbf[_0xa0413c(0x1d9)]),'sessionTimeout':parseInt(process['env'][_0xa0413c(0x1fa)]||_0xa0413c(0x1d1)),'heartbeatInterval':_0x905bbf[_0xa0413c(0x1cc)](parseInt,process['env'][_0xa0413c(0x225)]||_0x905bbf[_0xa0413c(0x1de)]),'maxBytesPerPartition':parseInt(process[_0xa0413c(0x1fb)]['KAFKA_MAX_BYTES_PER_PARTITION']||_0x905bbf[_0xa0413c(0x1c8)]),'autoCommit':_0x905bbf[_0xa0413c(0x205)](process['env']['KAFKA_AUTO_COMMIT'],_0x905bbf['LUiCa']),'autoCommitInterval':parseInt(process['env'][_0xa0413c(0x222)]||_0x905bbf[_0xa0413c(0x235)]),'retryAttempts':_0x905bbf[_0xa0413c(0x1df)](parseInt,process[_0xa0413c(0x1fb)]['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process[_0xa0413c(0x1fb)][_0xa0413c(0x216)]||_0x905bbf['mFJdX']),'retryMaxDelay':parseInt(process[_0xa0413c(0x1fb)]['KAFKA_RETRY_MAX_DELAY']||_0x905bbf['RwNTo']),'logLevel':process['env']['KAFKA_LOG_LEVEL']||'warn'};}['getLogLevel'](_0x2b270a){const _0x5f3783=a0_0x15eb5e,_0x27e3ff={'nothing':logLevel['NOTHING'],'error':logLevel[_0x5f3783(0x1d8)],'warn':logLevel['WARN'],'info':logLevel[_0x5f3783(0x1ec)],'debug':logLevel[_0x5f3783(0x204)]};return _0x27e3ff[_0x2b270a['toLowerCase']()]||logLevel['WARN'];}async[a0_0x15eb5e(0x1e5)](_0x2c943e={}){const _0x3754c0=a0_0x15eb5e,_0x115170={'csVAb':'default','ZrEvU':function(_0x29f27a,_0x1ba8e4){return _0x29f27a(_0x1ba8e4);}},_0x2959ea=this['getConfig']();if(!_0x2959ea[_0x3754c0(0x1cf)])return console[_0x3754c0(0x21f)]('[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'),![];if(this[_0x3754c0(0x228)])return!![];if(this[_0x3754c0(0x229)]&&this[_0x3754c0(0x1ea)])return this[_0x3754c0(0x1ea)];return this['isInitializing']=!![],this[_0x3754c0(0x1ea)]=new Promise(async _0x3b9895=>{const _0x105204=_0x3754c0;try{let _0x1f6fb4=undefined;process[_0x105204(0x1fb)][_0x105204(0x20d)]==='true'&&(_0x1f6fb4=!![]);let _0x15c398=undefined;process['env'][_0x105204(0x1f4)]&&(_0x15c398={'mechanism':process['env']['KAFKA_SASL_MECHANISM'],'username':process[_0x105204(0x1fb)][_0x105204(0x237)]||'','password':process['env']['KAFKA_SASL_PASSWORD']||''}),this[_0x105204(0x236)]=new Kafka({'clientId':_0x2c943e[_0x105204(0x1e7)]||_0x2959ea[_0x105204(0x1e7)],'brokers':_0x2959ea[_0x105204(0x238)],'connectionTimeout':_0x2959ea['connectionTimeout'],'requestTimeout':_0x2959ea['requestTimeout'],'logLevel':this['getLogLevel'](_0x2959ea['logLevel']),'ssl':_0x1f6fb4,'sasl':_0x15c398,'retry':{'initialRetryTime':_0x2959ea['retryDelay'],'retries':_0x2959ea[_0x105204(0x239)],'maxRetryTime':_0x2959ea['retryMaxDelay']}}),this[_0x105204(0x232)]=_0x2c943e['groupId']||'restforge-'+(process[_0x105204(0x1fb)][_0x105204(0x227)]||_0x115170[_0x105204(0x215)])+'-consumer-group',this[_0x105204(0x21d)]=this['kafka'][_0x105204(0x21d)]({'groupId':this['groupId'],'sessionTimeout':_0x2959ea['sessionTimeout'],'heartbeatInterval':_0x2959ea[_0x105204(0x21b)],'maxBytesPerPartition':_0x2959ea[_0x105204(0x1cd)],'allowAutoTopicCreation':![]}),await this[_0x105204(0x21d)][_0x105204(0x1dc)](),this[_0x105204(0x228)]=!![],console[_0x105204(0x21f)]('[KafkaConsumer]\x20Consumer\x20connected\x20to\x20brokers:\x20'+_0x2959ea[_0x105204(0x238)]['join'](',\x20')+_0x105204(0x209)+this[_0x105204(0x232)]+')'),this[_0x105204(0x202)](),_0x3b9895(!![]);}catch(_0x3cd461){console[_0x105204(0x1eb)](_0x105204(0x224)+_0x3cd461['message']),this[_0x105204(0x228)]=![],_0x115170[_0x105204(0x23c)](_0x3b9895,![]);}finally{this[_0x105204(0x229)]=![];}}),this['connectionPromise'];}[a0_0x15eb5e(0x202)](){const _0x2db46e=a0_0x15eb5e,_0xc515df={'Tnkdp':_0x2db46e(0x1f1),'hfQqW':'[KafkaConsumer]\x20Consumer\x20stopped','CbqOp':'[KafkaConsumer]\x20Consumer\x20rebalancing...','RDcNo':_0x2db46e(0x219),'HRPWu':'consumer.stop','vykQv':_0x2db46e(0x1e0)};if(!this['consumer'])return;this[_0x2db46e(0x21d)]['on'](_0xc515df['RDcNo'],()=>{const _0x2f7e7b=_0x2db46e;console['log'](_0xc515df['Tnkdp']),this[_0x2f7e7b(0x228)]=![],this['isRunning']=![];}),this['consumer']['on'](_0xc515df[_0x2db46e(0x1c4)],()=>{const _0x59a316=_0x2db46e;console[_0x59a316(0x21f)](_0xc515df['hfQqW']),this['isRunning']=![];}),this[_0x2db46e(0x21d)]['on'](_0x2db46e(0x231),_0x80aed5=>{const _0x4c1060=_0x2db46e;console[_0x4c1060(0x1eb)](_0x4c1060(0x1e4)+_0x80aed5['payload']['error'][_0x4c1060(0x1c6)]),this['isRunning']=![];}),this['consumer']['on'](_0xc515df['vykQv'],()=>{console['log'](_0xc515df['CbqOp']);});}async['subscribe'](_0x558b11,_0x184452=![]){const _0x1ba50c=a0_0x15eb5e,_0xcc10={'fJmOQ':'[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'};if(!this[_0x1ba50c(0x228)])return console[_0x1ba50c(0x1eb)](_0xcc10['fJmOQ']),![];try{const _0x5b12f1=Array[_0x1ba50c(0x1f5)](_0x558b11)?_0x558b11:[_0x558b11];for(const _0x31cb6e of _0x5b12f1){await this[_0x1ba50c(0x21d)][_0x1ba50c(0x22c)]({'topic':_0x31cb6e,'fromBeginning':_0x184452}),console['log'](_0x1ba50c(0x1d2)+_0x31cb6e+_0x1ba50c(0x22e)+_0x184452+')');}return this['subscribedTopics']=[...new Set([...this[_0x1ba50c(0x200)],..._0x5b12f1])],!![];}catch(_0xe13062){return console[_0x1ba50c(0x1eb)]('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0xe13062['message']),![];}}async['startConsuming'](_0x24bcf9,_0x2843bd={}){const _0x4d20a4=a0_0x15eb5e,_0x1d1534={'tGsWY':function(_0x1f53c5,_0xcc114a){return _0x1f53c5-_0xcc114a;},'atDsK':function(_0x377b44){return _0x377b44();},'GmZWC':'[KafkaConsumer]\x20Consumer\x20already\x20running'};if(!this[_0x4d20a4(0x228)])return console['error'](_0x4d20a4(0x1ff)),![];if(this[_0x4d20a4(0x20b)])return console[_0x4d20a4(0x21f)](_0x1d1534['GmZWC']),!![];const _0x20700e=this['getConfig']();this['messageHandler']=_0x24bcf9;try{return this['metrics']['startTime']=new Date(),await this[_0x4d20a4(0x21d)]['run']({'autoCommit':_0x2843bd[_0x4d20a4(0x208)]!==undefined?_0x2843bd['autoCommit']:_0x20700e['autoCommit'],'autoCommitInterval':_0x20700e['autoCommitInterval'],'eachMessage':async({topic:_0x4b7ea4,partition:_0x197681,message:_0x34dab6,heartbeat:_0x30521c})=>{const _0x5effa3=_0x4d20a4,_0x3b4447=Date[_0x5effa3(0x217)]();this['metrics']['messagesReceived']++,this['metrics'][_0x5effa3(0x230)]=new Date();try{const _0x3f2431=_0x34dab6[_0x5effa3(0x1c5)]?_0x34dab6['value']['toString']():null;let _0x8990f9=null;try{_0x8990f9=_0x3f2431?JSON['parse'](_0x3f2431):null;}catch(_0x2bae88){_0x8990f9=_0x3f2431;}const _0x226346={'topic':_0x4b7ea4,'partition':_0x197681,'offset':_0x34dab6[_0x5effa3(0x1f9)],'key':_0x34dab6[_0x5effa3(0x22f)]?_0x34dab6['key']['toString']():null,'headers':this['parseHeaders'](_0x34dab6['headers']),'timestamp':_0x34dab6['timestamp'],'value':_0x8990f9,'raw':_0x3f2431};this[_0x5effa3(0x22d)]&&await this['messageHandler'](_0x226346);!_0x20700e['autoCommit']&&await this['consumer']['commitOffsets']([{'topic':_0x4b7ea4,'partition':_0x197681,'offset':(parseInt(_0x34dab6['offset'])+0x1)[_0x5effa3(0x203)]()}]);this[_0x5effa3(0x1e2)]['messagesProcessed']++;const _0x17aa1c=_0x1d1534['tGsWY'](Date['now'](),_0x3b4447);this[_0x5effa3(0x1e2)]['processingTimes'][_0x5effa3(0x1f2)](_0x17aa1c),this[_0x5effa3(0x1e2)][_0x5effa3(0x1ed)][_0x5effa3(0x23a)]>0x64&&this[_0x5effa3(0x1e2)][_0x5effa3(0x1ed)]['shift'](),await _0x1d1534[_0x5effa3(0x1f6)](_0x30521c);}catch(_0x3b90a6){this['metrics']['messagesFailed']++,console['error'](_0x5effa3(0x1f3)+_0x3b90a6[_0x5effa3(0x1c6)]);throw _0x3b90a6;}}}),this[_0x4d20a4(0x20b)]=!![],console[_0x4d20a4(0x21f)](_0x4d20a4(0x211)+this['subscribedTopics']['join'](',\x20')),!![];}catch(_0x19d547){return console['error']('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0x19d547['message']),![];}}[a0_0x15eb5e(0x220)](_0x3737be){const _0x2dc75f=a0_0x15eb5e;if(!_0x3737be)return{};const _0x5dd657={};for(const [_0xe827c0,_0xc73da5]of Object[_0x2dc75f(0x207)](_0x3737be)){_0x5dd657[_0xe827c0]=_0xc73da5?_0xc73da5[_0x2dc75f(0x203)]():null;}return _0x5dd657;}async[a0_0x15eb5e(0x20c)](){const _0x37b21c=a0_0x15eb5e,_0x15fa5f={'vFFgd':_0x37b21c(0x210),'IZIvJ':'[KafkaConsumer]\x20Consumer\x20already\x20paused','CsOSe':_0x37b21c(0x23b)};if(!this[_0x37b21c(0x228)]||!this['isRunning'])return console[_0x37b21c(0x21f)](_0x15fa5f['vFFgd']),![];if(this[_0x37b21c(0x21c)])return console[_0x37b21c(0x21f)](_0x15fa5f[_0x37b21c(0x1db)]),!![];try{const _0xed21ab=this['subscribedTopics']['map'](_0x53a2bf=>({'topic':_0x53a2bf}));return this[_0x37b21c(0x21d)][_0x37b21c(0x20c)](_0xed21ab),this[_0x37b21c(0x21c)]=!![],console[_0x37b21c(0x21f)](_0x15fa5f[_0x37b21c(0x1f7)]),!![];}catch(_0x1a54f5){return console['error'](_0x37b21c(0x1e9)+_0x1a54f5['message']),![];}}async[a0_0x15eb5e(0x1d6)](){const _0x3549db=a0_0x15eb5e,_0x50f3d9={'yJkeV':'[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running','gXMfV':'[KafkaConsumer]\x20Consumer\x20resumed'};if(!this[_0x3549db(0x228)]||!this['isRunning'])return console['log'](_0x50f3d9[_0x3549db(0x1c3)]),![];if(!this[_0x3549db(0x21c)])return console['log']('[KafkaConsumer]\x20Consumer\x20not\x20paused'),!![];try{const _0x5fa2b0=this[_0x3549db(0x200)][_0x3549db(0x1e6)](_0x50f2cc=>({'topic':_0x50f2cc}));return this['consumer']['resume'](_0x5fa2b0),this['isPaused']=![],console['log'](_0x50f3d9[_0x3549db(0x1fd)]),!![];}catch(_0x4019a9){return console['error']('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x4019a9['message']),![];}}async['stop'](){const _0x510713=a0_0x15eb5e,_0x1675bb={'MDiiK':_0x510713(0x22b),'GCOsT':_0x510713(0x226)};if(!this[_0x510713(0x228)])return console['log'](_0x1675bb['MDiiK']),!![];try{const _0x42d80e=_0x1675bb[_0x510713(0x1fe)][_0x510713(0x1da)]('|');let _0x5612ab=0x0;while(!![]){switch(_0x42d80e[_0x5612ab++]){case'0':this['isConnected']=![];continue;case'1':this[_0x510713(0x21d)]&&(await this[_0x510713(0x21d)][_0x510713(0x1dd)](),await this[_0x510713(0x21d)]['disconnect']());continue;case'2':return!![];case'3':this['isRunning']=![];continue;case'4':this[_0x510713(0x21c)]=![];continue;case'5':console['log']('[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected');continue;}break;}}catch(_0x1fd0c8){return console['error'](_0x510713(0x221)+_0x1fd0c8['message']),![];}}async[a0_0x15eb5e(0x223)](_0x60d03,_0x7c8a31,_0x4a514b){const _0x14246a=a0_0x15eb5e,_0x203e8c={'uGwyI':_0x14246a(0x1e8)};if(!this[_0x14246a(0x228)])return console['error'](_0x203e8c['uGwyI']),![];try{return this['consumer']['seek']({'topic':_0x60d03,'partition':_0x7c8a31,'offset':_0x4a514b[_0x14246a(0x203)]()}),console['log'](_0x14246a(0x201)+_0x4a514b+'\x20on\x20'+_0x60d03+':'+_0x7c8a31),!![];}catch(_0x31be0a){return console['error']('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x31be0a[_0x14246a(0x1c6)]),![];}}['getStatus'](){const _0x559cba=a0_0x15eb5e,_0x505ae1=this['getConfig']();return{'enabled':_0x505ae1['enabled'],'connected':this[_0x559cba(0x228)],'running':this['isRunning'],'paused':this['isPaused'],'brokers':_0x505ae1['brokers'],'clientId':_0x505ae1[_0x559cba(0x1e7)],'groupId':this[_0x559cba(0x232)],'subscribedTopics':this['subscribedTopics']};}['getMetrics'](){const _0x531850=a0_0x15eb5e,_0x5ac850={'tElel':function(_0x1f6377,_0x3fca78){return _0x1f6377>_0x3fca78;},'nALpk':function(_0x54bb4d,_0x5716c6){return _0x54bb4d/_0x5716c6;},'rMiYC':function(_0x2b0976,_0x182270){return _0x2b0976+_0x182270;},'yfHoN':function(_0x1e1de9,_0x45c5ae){return _0x1e1de9-_0x45c5ae;},'vVzwZ':function(_0x509a79,_0xd45b1d){return _0x509a79+_0xd45b1d;}},_0x7f5412=this['metrics']['processingTimes'][_0x531850(0x23a)]>0x0?this[_0x531850(0x1e2)]['processingTimes']['reduce']((_0xa49c4,_0x49d289)=>_0xa49c4+_0x49d289,0x0)/this[_0x531850(0x1e2)][_0x531850(0x1ed)][_0x531850(0x23a)]:0x0,_0x4346f3=_0x5ac850['tElel'](this['metrics']['processingTimes'][_0x531850(0x23a)],0x0)?Math[_0x531850(0x1f0)](...this['metrics']['processingTimes']):0x0,_0x526757=_0x5ac850['tElel'](this['metrics']['processingTimes'][_0x531850(0x23a)],0x0)?Math['max'](...this[_0x531850(0x1e2)][_0x531850(0x1ed)]):0x0;return{'messagesReceived':this[_0x531850(0x1e2)]['messagesReceived'],'messagesProcessed':this[_0x531850(0x1e2)][_0x531850(0x213)],'messagesFailed':this[_0x531850(0x1e2)]['messagesFailed'],'successRate':this['metrics'][_0x531850(0x21e)]>0x0?(_0x5ac850['nALpk'](this[_0x531850(0x1e2)][_0x531850(0x213)],this['metrics'][_0x531850(0x21e)])*0x64)['toFixed'](0x2)+'%':'0%','lastMessageTime':this[_0x531850(0x1e2)][_0x531850(0x230)],'startTime':this['metrics']['startTime'],'uptime':this[_0x531850(0x1e2)][_0x531850(0x20a)]?_0x5ac850[_0x531850(0x1fc)](Math['floor'](_0x5ac850['yfHoN'](Date['now'](),this[_0x531850(0x1e2)][_0x531850(0x20a)][_0x531850(0x1d3)]())/0x3e8),'s'):'0s','processingTime':{'avg':Math['round'](_0x7f5412)+'ms','min':_0x5ac850[_0x531850(0x1fc)](_0x4346f3,'ms'),'max':_0x5ac850['vVzwZ'](_0x526757,'ms')}};}[a0_0x15eb5e(0x22a)](){const _0x4ec51a=a0_0x15eb5e;this[_0x4ec51a(0x1e2)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x4ec51a(0x20b)]?new Date():null,'processingTimes':[]},console['log'](_0x4ec51a(0x1ce));}async['close'](){const _0x52ee6a=a0_0x15eb5e;await this[_0x52ee6a(0x1dd)]();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}function createInstance(){return new KafkaConsumerService();}module[a0_0x15eb5e(0x1e3)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
1
|
+
function a0_0x2c04(){const _0x4f9c8b=['mtKWodi1nKvPEvPlwq','B2zMC2v0','AxnsDw5UAw5N','y29UC3vTzxi','zgLZy29UBMvJDa','s0fgs0fFsevbuLrcrufux0LovevsvKfm','C3rHCNruAw1L','CgfYC2u','AM9PBG','CMv0CNLbDhrLBxb0CW','s0fgs0fFu0fttf9nruniqu5ju00','A1DNrNG','BgvUz3rO','CMvXDwvZDfrPBwvVDxq','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','Bg9N','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','txPbufO','mtKXodC4ng9gCfzjAG','A2fMA2fQCW','BwvZC2fNzxnqCM9JzxnZzwq','s0fgs0fFte9hx0XfvKvm','BwvZC2fNzq','y29TBwL0t2zMC2v0CW','ndeXotmXuNHqCKXO','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','nu9LENjJsa','ChvZAa','C3vIC2nYAwjLzfrVCgLJCW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbWyxvZzwq','CMvZDw1L','AxndB25Uzwn0zwq','y29UC3vTzxiUy3jHC2G','s0fgs0fFuKvuuLLFrevmqvK','mZaWma','Bg9JywXOB3n0oJKWoti','Dg9tDhjPBMC','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','q09iyNa','qxfmtfC','C2vLA1rVt2zMC2v0','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','BM93','wuP4s1G','DxvPza','ywrHzhq','zgvMyxvSDa','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','AxnqyxvZzwq','C3bSAxq','mJuWmda','Dg9gAxHLza','vwPHCK4','yxv0B0nVBw1PDa','CMv0CNLnyxHezwXHEq','Dhj1zq','y2XVC2u','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','s0fgs0fFu0vtu0LptL9usu1ft1vu','ChjVy2vZC2LUz1rPBwvZ','mhWZFdv8mNW0Fde','icHNCM91CeLKoIa','BwvZC2fNzxnszwnLAxzLza','mtG3mZiYmfvgCgzpzG','z2v0tg9Ntgv2zwW','zxHWB3j0CW','C054D0m','mJuWmJaXogDyDgTYDa','y29UC3vTzxiUC3rVCa','y29UBMvJDgLVBLbYB21PC2u','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','A2fMA2e','Cgf5Bg9Hza','mKjdAvPNCW','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','z3jVDxbjza','CMvZzxrnzxrYAwnZ','D2fYBG','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','Bwv0CMLJCW','C2v0DxbfDMvUDeHHBMrSzxjZ','zuLku3C','mZaWmda','DMfSDwu','AxnjBML0AwfSAxPPBMC','C2vLAW','s0fgs0fFu0fttf9qqvntv09sra','ntaWma','CMvZDgzVCMDLlq','BwvZC2fNzxngywLSzwq','zw52','nJC2nZy0wLrJD0Hu','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','yxHKt2m','wvDLze4','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','z2v0q29UzMLN','ntG3ntG3nvvnsLbfDa','v0fstG','q3nwvMe','zxjYB3i','C3rVCa','y2XPzw50swq','BgfZDe1LC3nHz2vuAw1L','DKv4ywy','y05bv1G','A2v5','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG'];a0_0x2c04=function(){return _0x4f9c8b;};return a0_0x2c04();}const a0_0xea2e5d=a0_0x4631;(function(_0x3cda58,_0x4d586a){const _0x5ca23=a0_0x4631,_0x162259=_0x3cda58();while(!![]){try{const _0x51c261=parseInt(_0x5ca23(0x14e))/0x1*(parseInt(_0x5ca23(0x180))/0x2)+-parseInt(_0x5ca23(0x192))/0x3+-parseInt(_0x5ca23(0x176))/0x4*(parseInt(_0x5ca23(0x150))/0x5)+parseInt(_0x5ca23(0x17a))/0x6+-parseInt(_0x5ca23(0x148))/0x7+-parseInt(_0x5ca23(0x1a4))/0x8+parseInt(_0x5ca23(0x198))/0x9;if(_0x51c261===_0x4d586a)break;else _0x162259['push'](_0x162259['shift']());}catch(_0x162cca){_0x162259['push'](_0x162259['shift']());}}}(a0_0x2c04,0x43348));const {Kafka,logLevel}=require(a0_0xea2e5d(0x149)),{v7:uuidv7}=require(a0_0xea2e5d(0x163));class KafkaConsumerService{constructor(){const _0x34adb1=a0_0xea2e5d,_0x47fdb2='1|10|4|3|2|0|5|7|6|8|9'['split']('|');let _0x3b2cae=0x0;while(!![]){switch(_0x47fdb2[_0x3b2cae++]){case'0':this['isPaused']=![];continue;case'1':this['kafka']=null;continue;case'2':this[_0x34adb1(0x1a6)]=![];continue;case'3':this[_0x34adb1(0x18b)]=![];continue;case'4':this[_0x34adb1(0x155)]=![];continue;case'5':this[_0x34adb1(0x17c)]=null;continue;case'6':this[_0x34adb1(0x182)]=null;continue;case'7':this[_0x34adb1(0x152)]=[];continue;case'8':this['messageHandler']=null;continue;case'9':this[_0x34adb1(0x186)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'10':this['consumer']=null;continue;}break;}}['getConfig'](){const _0xad0363=a0_0xea2e5d,_0x32b5bf={'adadt':function(_0x1d4f7c,_0x549a51){return _0x1d4f7c===_0x549a51;},'WQypH':'default','axdOc':'30000','eHSwk':'3000','eIJSw':function(_0x18cd8e,_0x133368){return _0x18cd8e(_0x133368);},'UCNwt':'1048576','ItByz':'true','jcKUo':'1000','gcGbI':_0xad0363(0x184)};return{'enabled':_0x32b5bf[_0xad0363(0x164)](process[_0xad0363(0x191)]['KAFKA_ENABLED'],_0xad0363(0x16e)),'brokers':(process['env']['KAFKA_BROKERS']||_0xad0363(0x159))[_0xad0363(0x168)](','),'clientId':process[_0xad0363(0x191)]['KAFKA_CLIENT_ID']||'restforge-'+(process[_0xad0363(0x191)]['RESTFORGE_PROJECT_NAME']||_0x32b5bf['WQypH'])+'-consumer','connectionTimeout':parseInt(process['env']['KAFKA_CONNECTION_TIMEOUT']||_0xad0363(0x158)),'requestTimeout':parseInt(process['env']['KAFKA_REQUEST_TIMEOUT']||_0xad0363(0x169)),'sessionTimeout':parseInt(process['env'][_0xad0363(0x171)]||_0x32b5bf[_0xad0363(0x194)]),'heartbeatInterval':parseInt(process[_0xad0363(0x191)][_0xad0363(0x1a9)]||_0x32b5bf['eHSwk']),'maxBytesPerPartition':_0x32b5bf[_0xad0363(0x188)](parseInt,process['env'][_0xad0363(0x146)]||_0x32b5bf['UCNwt']),'autoCommit':process['env']['KAFKA_AUTO_COMMIT']===_0x32b5bf['ItByz'],'autoCommitInterval':_0x32b5bf['eIJSw'](parseInt,process['env']['KAFKA_AUTO_COMMIT_INTERVAL']||_0xad0363(0x18e)),'retryAttempts':_0x32b5bf[_0xad0363(0x188)](parseInt,process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process['env'][_0xad0363(0x157)]||_0x32b5bf['jcKUo']),'retryMaxDelay':parseInt(process[_0xad0363(0x191)]['KAFKA_RETRY_MAX_DELAY']||_0xad0363(0x189)),'logLevel':process[_0xad0363(0x191)][_0xad0363(0x14b)]||_0x32b5bf['gcGbI']};}['getLogLevel'](_0x1385f3){const _0x1130d2=a0_0xea2e5d,_0x5bf823={'nothing':logLevel['NOTHING'],'error':logLevel['ERROR'],'warn':logLevel['WARN'],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0x5bf823[_0x1385f3['toLowerCase']()]||logLevel[_0x1130d2(0x199)];}async['initialize'](_0x56d5fc={}){const _0x59cc46=a0_0xea2e5d,_0x62f783={'MzAPZ':_0x59cc46(0x165),'kWgFx':'[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'},_0x47d8fb=this['getConfig']();if(!_0x47d8fb['enabled'])return console['log'](_0x62f783[_0x59cc46(0x141)]),![];if(this['isConnected'])return!![];if(this[_0x59cc46(0x18b)]&&this['connectionPromise'])return this[_0x59cc46(0x17c)];return this['isInitializing']=!![],this[_0x59cc46(0x17c)]=new Promise(async _0x5b4d6f=>{const _0x413564=_0x59cc46;try{let _0xb21e81=undefined;process['env']['KAFKA_SSL']===_0x413564(0x16e)&&(_0xb21e81=!![]);let _0x30dece=undefined;process[_0x413564(0x191)]['KAFKA_SASL_MECHANISM']&&(_0x30dece={'mechanism':process[_0x413564(0x191)][_0x413564(0x140)],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process['env'][_0x413564(0x18d)]||''}),this[_0x413564(0x17e)]=new Kafka({'clientId':_0x56d5fc[_0x413564(0x19d)]||_0x47d8fb[_0x413564(0x19d)],'brokers':_0x47d8fb['brokers'],'connectionTimeout':_0x47d8fb['connectionTimeout'],'requestTimeout':_0x47d8fb[_0x413564(0x143)],'logLevel':this[_0x413564(0x177)](_0x47d8fb['logLevel']),'ssl':_0xb21e81,'sasl':_0x30dece,'retry':{'initialRetryTime':_0x47d8fb['retryDelay'],'retries':_0x47d8fb[_0x413564(0x13f)],'maxRetryTime':_0x47d8fb[_0x413564(0x16d)]}}),this[_0x413564(0x182)]=_0x56d5fc['groupId']||_0x413564(0x18f)+(process['env'][_0x413564(0x14f)]||_0x62f783[_0x413564(0x147)])+'-consumer-group',this['consumer']=this['kafka'][_0x413564(0x1a7)]({'groupId':this[_0x413564(0x182)],'sessionTimeout':_0x47d8fb['sessionTimeout'],'heartbeatInterval':_0x47d8fb['heartbeatInterval'],'maxBytesPerPartition':_0x47d8fb['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this['consumer']['connect'](),this['isConnected']=!![],console['log']('[KafkaConsumer]\x20Consumer\x20connected\x20to\x20brokers:\x20'+_0x47d8fb['brokers'][_0x413564(0x13e)](',\x20')+_0x413564(0x174)+this[_0x413564(0x182)]+')'),this['setupEventHandlers'](),_0x5b4d6f(!![]);}catch(_0x366fc9){console['error'](_0x413564(0x144)+_0x366fc9['message']),this[_0x413564(0x155)]=![],_0x5b4d6f(![]);}finally{this[_0x413564(0x18b)]=![];}}),this[_0x59cc46(0x17c)];}[a0_0xea2e5d(0x187)](){const _0x25ee5f=a0_0xea2e5d,_0x3d8f8c={'UjarN':'[KafkaConsumer]\x20Consumer\x20disconnected','QaLlP':_0x25ee5f(0x193),'RPuhc':_0x25ee5f(0x17b)};if(!this['consumer'])return;this['consumer']['on']('consumer.disconnect',()=>{const _0x3f076e=_0x25ee5f;console['log'](_0x3d8f8c[_0x3f076e(0x16b)]),this[_0x3f076e(0x155)]=![],this[_0x3f076e(0x1a6)]=![];}),this[_0x25ee5f(0x1a7)]['on'](_0x3d8f8c['RPuhc'],()=>{console['log']('[KafkaConsumer]\x20Consumer\x20stopped'),this['isRunning']=![];}),this[_0x25ee5f(0x1a7)]['on'](_0x25ee5f(0x156),_0x2ad8da=>{const _0x262185=_0x25ee5f;console['error'](_0x262185(0x160)+_0x2ad8da[_0x262185(0x17f)]['error'][_0x262185(0x14c)]),this['isRunning']=![];}),this['consumer']['on']('consumer.rebalancing',()=>{const _0x352b58=_0x25ee5f;console[_0x352b58(0x145)](_0x3d8f8c['QaLlP']);});}async['subscribe'](_0x165987,_0xbdf60d=![]){const _0x22c1e7=a0_0xea2e5d,_0x27ec2c={'CsVVa':'[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'};if(!this[_0x22c1e7(0x155)])return console[_0x22c1e7(0x19b)](_0x27ec2c[_0x22c1e7(0x19a)]),![];try{const _0x1a39d5=Array['isArray'](_0x165987)?_0x165987:[_0x165987];for(const _0x5e5f75 of _0x1a39d5){await this[_0x22c1e7(0x1a7)]['subscribe']({'topic':_0x5e5f75,'fromBeginning':_0xbdf60d}),console['log']('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x5e5f75+'\x20(fromBeginning:\x20'+_0xbdf60d+')');}return this[_0x22c1e7(0x152)]=[...new Set([...this[_0x22c1e7(0x152)],..._0x1a39d5])],!![];}catch(_0xddbe4){return console[_0x22c1e7(0x19b)]('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0xddbe4['message']),![];}}async['startConsuming'](_0x12eda9,_0x1ee76f={}){const _0x4be292=a0_0xea2e5d,_0x510d99={'PiDZq':function(_0x1dd394,_0x18a718){return _0x1dd394>_0x18a718;},'YWedN':function(_0x5e86fa){return _0x5e86fa();},'vExaf':_0x4be292(0x170),'COHbp':function(_0x45a807,_0x4e200b){return _0x45a807!==_0x4e200b;}};if(!this[_0x4be292(0x155)])return console[_0x4be292(0x19b)]('[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected'),![];if(this['isRunning'])return console[_0x4be292(0x145)](_0x510d99[_0x4be292(0x19f)]),!![];const _0x3f52ae=this[_0x4be292(0x197)]();this['messageHandler']=_0x12eda9;try{return this['metrics'][_0x4be292(0x13c)]=new Date(),await this['consumer']['run']({'autoCommit':_0x510d99[_0x4be292(0x15c)](_0x1ee76f['autoCommit'],undefined)?_0x1ee76f['autoCommit']:_0x3f52ae['autoCommit'],'autoCommitInterval':_0x3f52ae['autoCommitInterval'],'eachMessage':async({topic:_0x39605f,partition:_0x3a14dd,message:_0x5de753,heartbeat:_0x977ca8})=>{const _0x56cc02=_0x4be292,_0x1b7eba=Date[_0x56cc02(0x161)]();this['metrics']['messagesReceived']++,this['metrics'][_0x56cc02(0x19e)]=new Date();try{const _0x4e1bf0=_0x5de753['value']?_0x5de753[_0x56cc02(0x18a)][_0x56cc02(0x15a)]():null;let _0x143c24=null;try{_0x143c24=_0x4e1bf0?JSON[_0x56cc02(0x13d)](_0x4e1bf0):null;}catch(_0x47faad){_0x143c24=_0x4e1bf0;}const _0x3aebd8={'topic':_0x39605f,'partition':_0x3a14dd,'offset':_0x5de753[_0x56cc02(0x1a5)],'key':_0x5de753[_0x56cc02(0x1a1)]?_0x5de753[_0x56cc02(0x1a1)]['toString']():null,'headers':this['parseHeaders'](_0x5de753['headers']),'timestamp':_0x5de753['timestamp'],'value':_0x143c24,'raw':_0x4e1bf0};this['messageHandler']&&await this['messageHandler'](_0x3aebd8);!_0x3f52ae[_0x56cc02(0x16c)]&&await this['consumer'][_0x56cc02(0x14d)]([{'topic':_0x39605f,'partition':_0x3a14dd,'offset':(parseInt(_0x5de753['offset'])+0x1)[_0x56cc02(0x15a)]()}]);this[_0x56cc02(0x186)][_0x56cc02(0x14a)]++;const _0x4bcede=Date['now']()-_0x1b7eba;this[_0x56cc02(0x186)]['processingTimes'][_0x56cc02(0x151)](_0x4bcede),_0x510d99['PiDZq'](this[_0x56cc02(0x186)][_0x56cc02(0x172)]['length'],0x64)&&this[_0x56cc02(0x186)]['processingTimes']['shift'](),await _0x510d99[_0x56cc02(0x195)](_0x977ca8);}catch(_0x4546b1){this['metrics']['messagesFailed']++,console['error'](_0x56cc02(0x15f)+_0x4546b1['message']);throw _0x4546b1;}}}),this['isRunning']=!![],console[_0x4be292(0x145)]('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this[_0x4be292(0x152)]['join'](',\x20')),!![];}catch(_0x59bee7){return console['error'](_0x4be292(0x17d)+_0x59bee7['message']),![];}}['parseHeaders'](_0x2a1130){const _0x96a380=a0_0xea2e5d;if(!_0x2a1130)return{};const _0x185b30={};for(const [_0x2a83a7,_0x5d0580]of Object['entries'](_0x2a1130)){_0x185b30[_0x2a83a7]=_0x5d0580?_0x5d0580[_0x96a380(0x15a)]():null;}return _0x185b30;}async['pause'](){const _0x288710=a0_0xea2e5d,_0x249433={'AqLLW':'[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running','YpsPC':'[KafkaConsumer]\x20Consumer\x20paused'};if(!this[_0x288710(0x155)]||!this['isRunning'])return console[_0x288710(0x145)](_0x249433[_0x288710(0x15d)]),![];if(this['isPaused'])return console[_0x288710(0x145)](_0x288710(0x15b)),!![];try{const _0x5cd1b1=this['subscribedTopics']['map'](_0x3a6e9b=>({'topic':_0x3a6e9b}));return this[_0x288710(0x1a7)]['pause'](_0x5cd1b1),this['isPaused']=!![],console[_0x288710(0x145)](_0x249433['YpsPC']),!![];}catch(_0x2648c0){return console['error'](_0x288710(0x181)+_0x2648c0['message']),![];}}async['resume'](){const _0x5db1c5=a0_0xea2e5d,_0x27bada={'YJxKX':_0x5db1c5(0x1a2)};if(!this['isConnected']||!this[_0x5db1c5(0x1a6)])return console[_0x5db1c5(0x145)](_0x27bada[_0x5db1c5(0x162)]),![];if(!this['isPaused'])return console[_0x5db1c5(0x145)](_0x5db1c5(0x153)),!![];try{const _0x31fbd5=this[_0x5db1c5(0x152)]['map'](_0x427031=>({'topic':_0x427031}));return this['consumer'][_0x5db1c5(0x154)](_0x31fbd5),this['isPaused']=![],console['log']('[KafkaConsumer]\x20Consumer\x20resumed'),!![];}catch(_0x1035a9){return console[_0x5db1c5(0x19b)](_0x5db1c5(0x196)+_0x1035a9[_0x5db1c5(0x14c)]),![];}}async[a0_0xea2e5d(0x19c)](){const _0x137c87=a0_0xea2e5d,_0x1b3d67={'ffMXl':'[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected'};if(!this['isConnected'])return console['log'](_0x137c87(0x185)),!![];try{const _0x253318=_0x137c87(0x173)['split']('|');let _0x289f65=0x0;while(!![]){switch(_0x253318[_0x289f65++]){case'0':this['consumer']&&(await this[_0x137c87(0x1a7)][_0x137c87(0x19c)](),await this[_0x137c87(0x1a7)][_0x137c87(0x1a8)]());continue;case'1':return!![];case'2':this[_0x137c87(0x167)]=![];continue;case'3':this['isConnected']=![];continue;case'4':console['log'](_0x1b3d67['ffMXl']);continue;case'5':this[_0x137c87(0x1a6)]=![];continue;}break;}}catch(_0x48ec92){return console[_0x137c87(0x19b)]('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x48ec92['message']),![];}}async[a0_0xea2e5d(0x15e)](_0xecd9b4,_0x30fe75,_0x3fdd31){const _0x30091c=a0_0xea2e5d;if(!this['isConnected'])return console[_0x30091c(0x19b)]('[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'),![];try{return this['consumer'][_0x30091c(0x18c)]({'topic':_0xecd9b4,'partition':_0x30fe75,'offset':_0x3fdd31['toString']()}),console['log'](_0x30091c(0x1a3)+_0x3fdd31+'\x20on\x20'+_0xecd9b4+':'+_0x30fe75),!![];}catch(_0x5a1dd2){return console[_0x30091c(0x19b)](_0x30091c(0x166)+_0x5a1dd2['message']),![];}}['getStatus'](){const _0x2341e1=a0_0xea2e5d,_0x403823=this[_0x2341e1(0x197)]();return{'enabled':_0x403823['enabled'],'connected':this[_0x2341e1(0x155)],'running':this['isRunning'],'paused':this['isPaused'],'brokers':_0x403823['brokers'],'clientId':_0x403823['clientId'],'groupId':this['groupId'],'subscribedTopics':this[_0x2341e1(0x152)]};}['getMetrics'](){const _0x543671=a0_0xea2e5d,_0x1bb873={'cNAWX':function(_0x123c69,_0xc76a4c){return _0x123c69*_0xc76a4c;},'sNxwC':function(_0xf5df3f,_0x466682){return _0xf5df3f/_0x466682;},'ZqPVX':function(_0x1a65a8,_0x3f8dae){return _0x1a65a8-_0x3f8dae;},'drhtK':function(_0x20fd5d,_0x2ce801){return _0x20fd5d+_0x2ce801;}},_0x2ef448=this['metrics'][_0x543671(0x172)]['length']>0x0?this[_0x543671(0x186)][_0x543671(0x172)]['reduce']((_0x2c8b9d,_0x1fad06)=>_0x2c8b9d+_0x1fad06,0x0)/this[_0x543671(0x186)]['processingTimes'][_0x543671(0x142)]:0x0,_0x4cd387=this['metrics']['processingTimes'][_0x543671(0x142)]>0x0?Math['min'](...this['metrics']['processingTimes']):0x0,_0x2e776e=this[_0x543671(0x186)]['processingTimes'][_0x543671(0x142)]>0x0?Math['max'](...this['metrics'][_0x543671(0x172)]):0x0;return{'messagesReceived':this[_0x543671(0x186)]['messagesReceived'],'messagesProcessed':this['metrics']['messagesProcessed'],'messagesFailed':this[_0x543671(0x186)][_0x543671(0x190)],'successRate':this['metrics'][_0x543671(0x175)]>0x0?_0x1bb873[_0x543671(0x1a0)](_0x1bb873['sNxwC'](this[_0x543671(0x186)][_0x543671(0x14a)],this[_0x543671(0x186)][_0x543671(0x175)]),0x64)[_0x543671(0x16a)](0x2)+'%':'0%','lastMessageTime':this[_0x543671(0x186)][_0x543671(0x19e)],'startTime':this['metrics'][_0x543671(0x13c)],'uptime':this['metrics'][_0x543671(0x13c)]?Math['floor'](_0x1bb873[_0x543671(0x179)](_0x1bb873['ZqPVX'](Date[_0x543671(0x161)](),this['metrics'][_0x543671(0x13c)]['getTime']()),0x3e8))+'s':'0s','processingTime':{'avg':_0x1bb873['drhtK'](Math['round'](_0x2ef448),'ms'),'min':_0x4cd387+'ms','max':_0x1bb873['drhtK'](_0x2e776e,'ms')}};}[a0_0xea2e5d(0x183)](){const _0x161d59=a0_0xea2e5d;this[_0x161d59(0x186)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console[_0x161d59(0x145)]('[KafkaConsumer]\x20Metrics\x20reset');}async['close'](){const _0x4e29a3=a0_0xea2e5d;await this[_0x4e29a3(0x19c)]();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x198355=a0_0xea2e5d;instance&&(instance[_0x198355(0x16f)](),instance=null);}function a0_0x4631(_0x2669f7,_0xc2bb2){_0x2669f7=_0x2669f7-0x13c;const _0x2c0410=a0_0x2c04();let _0x463166=_0x2c0410[_0x2669f7];if(a0_0x4631['pLCDzy']===undefined){var _0x56d45d=function(_0xc558e3){const _0x443b14='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2557ee='',_0x103b31='';for(let _0x103f13=0x0,_0xdbddc9,_0x53b53f,_0x197045=0x0;_0x53b53f=_0xc558e3['charAt'](_0x197045++);~_0x53b53f&&(_0xdbddc9=_0x103f13%0x4?_0xdbddc9*0x40+_0x53b53f:_0x53b53f,_0x103f13++%0x4)?_0x2557ee+=String['fromCharCode'](0xff&_0xdbddc9>>(-0x2*_0x103f13&0x6)):0x0){_0x53b53f=_0x443b14['indexOf'](_0x53b53f);}for(let _0x11aa7c=0x0,_0x34ea96=_0x2557ee['length'];_0x11aa7c<_0x34ea96;_0x11aa7c++){_0x103b31+='%'+('00'+_0x2557ee['charCodeAt'](_0x11aa7c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x103b31);};a0_0x4631['ppdsNY']=_0x56d45d,a0_0x4631['eucYhW']={},a0_0x4631['pLCDzy']=!![];}const _0x1ed197=_0x2c0410[0x0],_0x205998=_0x2669f7+_0x1ed197,_0x598d04=a0_0x4631['eucYhW'][_0x205998];return!_0x598d04?(_0x463166=a0_0x4631['ppdsNY'](_0x463166),a0_0x4631['eucYhW'][_0x205998]=_0x463166):_0x463166=_0x598d04,_0x463166;}function createInstance(){return new KafkaConsumerService();}module[a0_0xea2e5d(0x178)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0xfc28(){const _0x310f06=['tgvNywn5ugfYDgL0Aw9Uzxi','zxjYB3i','y2XPzw50swq','C3rYAw5NAwz5','zgvMyxvSDa','BwvZC2fNzq','mZaWma','y29UBMvJDgLVBLrPBwvVDxq','ru9qEgS','nJu1mZq0yuP6ufrM','y29YCMvSyxrPB25jza','tMDIq3C','C2vUza','nLfnAgXurq','DxvPza','A2fMA2fQCW','Dg9WAwnqyxr0zxjU','mJe3nJK1nKP0thLVzq','u1Ltvevn','rML3yMq','s0fgs0fFuKvuuLLFqvruru1qvfm','Bg9N','ote4m0XUD3rVvq','ChvIBgLZAev2zw50','ChvIBgLZAerLBgv0zq','z2v0twLUDxrLCW','sNjoEui','v0fstG','Dg9WAwm','DxbKyxrLza','z2v0q29UzMLN','z2v0tg9Ntgv2zwW','mtCYv01xs1zw','lxbYB2r1y2vY','AM9PBG','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwq','AxndB25Uzwn0zwq','CgPmD3K','s0fgs0fFqLjps0vsuW','Dw5RBM93BG','yNjVA2vYCW','ru5usvrzx0rftevuruq','zw5KCg9PBNq','AxnjBML0AwfSAxPPBMC','A2fMA2e','mtCXnZmYmhDjvfnWua','mJq1oteWn3PJwujkCG','zgvSzxrLza','CMvZDgzVCMDLlq','rujxufK','ru5usvrzx0nsrufuruq','Exv0D0S','s0fgs0fFu0fttf9qqvntv09sra','yNvPBgrfDMvUDe1LC3nHz2u','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwqGz3jHy2vMDwXSEq','AurHveC','zw52','s0fgs0fFu0fttf9nruniqu5ju00','su5gtW','yMfZzu9MzNnLDa','mtC2nZa2mhfhv1bfzq','C291CMnL','w0THzMTHxsbqDwjSAxnOigvYCM9YihrVia','zxz0lq','CgfKu3rHCNq','D2fYBG','w0THzMTHxsbqCM9KDwnLCIbJB25Uzwn0zwqGDg8GyNjVA2vYCZOG','CMvWBgfJzq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','zw5HyMXLza','zMj6CKK','yNvPBgruB3bPy05HBwu','s0fgs0fFuKvuuLLFrevmqvK','tKrusxe','Bw9KDwXL','s0fgs0fFq09otKvdveLptL9usu1ft1vu','Aw5PDgLHBgL6zq','s0fgs0fFte9hx0XfvKvm','zxHWB3j0CW','mZq1sg5LvxrN','s0fgs0fFvevoqu5ux0Le','E21VzhvSzx0','ody4oenJBu5xAa','s0fgs0fFu0fttf9vu0vstKfnrq','CMvXDwvZDfrPBwvVDxq','rvv2rMq','CMv0CNLezwXHEq','zM9YBwf0rgf0zvrPBwu','ChjVzhvJzxi','y29UBMvJDgLVBLbYB21PC2u','DgfIBgvoyw1L','s0fgs0fFuKvrvuvtvf9usu1ft1vu','t0r5qwW','E21VzhvSzx0UE2vUzhbVAw50Fs5LDMvUDhm'];a0_0xfc28=function(){return _0x310f06;};return a0_0xfc28();}const a0_0x339be2=a0_0x2d5e;(function(_0x444676,_0x12f551){const _0x157a38=a0_0x2d5e,_0x2cd0a1=_0x444676();while(!![]){try{const _0x1572c6=-parseInt(_0x157a38(0x189))/0x1*(-parseInt(_0x157a38(0x18c))/0x2)+-parseInt(_0x157a38(0x1ae))/0x3*(-parseInt(_0x157a38(0x15a))/0x4)+-parseInt(_0x157a38(0x176))/0x5+-parseInt(_0x157a38(0x1a5))/0x6*(parseInt(_0x157a38(0x168))/0x7)+-parseInt(_0x157a38(0x1a1))/0x8+parseInt(_0x157a38(0x1a9))/0x9+-parseInt(_0x157a38(0x167))/0xa;if(_0x1572c6===_0x12f551)break;else _0x2cd0a1['push'](_0x2cd0a1['shift']());}catch(_0x31b839){_0x2cd0a1['push'](_0x2cd0a1['shift']());}}}(a0_0xfc28,0xdf1a0));const {Kafka,logLevel,Partitioners}=require(a0_0x339be2(0x1a7)),{v7:uuidv7}=require(a0_0x339be2(0x1a6));class KafkaService{constructor(){const _0x2156e5=a0_0x339be2;this[_0x2156e5(0x166)]=null,this[_0x2156e5(0x192)]=null,this[_0x2156e5(0x15e)]=![],this[_0x2156e5(0x165)]=![],this['connectionPromise']=null;}['getConfig'](){const _0x19b49c=a0_0x339be2,_0x60a54b={'EOPxk':'25000','EBWPY':_0x19b49c(0x197),'pKHdp':function(_0x20819b,_0x45fb23){return _0x20819b(_0x45fb23);},'NDTIq':'1000'};return{'enabled':process[_0x19b49c(0x172)]['KAFKA_ENABLED']==='true','brokers':(process['env'][_0x19b49c(0x160)]||'localhost:9092')['split'](','),'clientId':process['env']['KAFKA_CLIENT_ID']||'restforge-'+(process[_0x19b49c(0x172)][_0x19b49c(0x17e)]||_0x19b49c(0x19c))+_0x19b49c(0x15b),'connectionTimeout':parseInt(process[_0x19b49c(0x172)][_0x19b49c(0x185)]||_0x19b49c(0x19e)),'requestTimeout':parseInt(process['env'][_0x19b49c(0x195)]||_0x60a54b[_0x19b49c(0x1a0)]),'topicPattern':process['env']['KAFKA_TOPIC_PATTERN']||_0x60a54b[_0x19b49c(0x16b)],'tenantId':process[_0x19b49c(0x172)][_0x19b49c(0x18a)]||_0x19b49c(0x19c),'retryAttempts':parseInt(process[_0x19b49c(0x172)][_0x19b49c(0x1ac)]||'3'),'retryDelay':_0x60a54b['pKHdp'](parseInt,process['env'][_0x19b49c(0x182)]||_0x60a54b[_0x19b49c(0x183)]),'logLevel':process['env'][_0x19b49c(0x187)]||_0x19b49c(0x17b)};}['getLogLevel'](_0x4cbc98){const _0x12d518=a0_0x339be2,_0x56ce31={'nothing':logLevel['NOTHING'],'error':logLevel['ERROR'],'warn':logLevel['WARN'],'info':logLevel[_0x12d518(0x174)],'debug':logLevel['DEBUG']};return _0x56ce31[_0x4cbc98['toLowerCase']()]||logLevel[_0x12d518(0x155)];}async[a0_0x339be2(0x186)](){const _0x2a8ac3=a0_0x339be2,_0x5b08fe={'ujjjx':function(_0x49f592,_0x182b1f){return _0x49f592===_0x182b1f;},'CCaiL':'producer.disconnect'},_0x31d0c4=this['getConfig']();if(!_0x31d0c4[_0x2a8ac3(0x17f)])return console[_0x2a8ac3(0x1ad)]('[Kafka]\x20Kafka\x20producer\x20is\x20disabled\x20in\x20configuration'),![];if(this[_0x2a8ac3(0x15e)])return!![];if(this['isInitializing']&&this['connectionPromise'])return this['connectionPromise'];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x58f099=>{const _0x1e2741=_0x2a8ac3;try{let _0x401508=undefined;_0x5b08fe['ujjjx'](process['env']['KAFKA_SSL'],'true')&&(_0x401508=!![]);let _0x208d60=undefined;process[_0x1e2741(0x172)][_0x1e2741(0x173)]&&(_0x208d60={'mechanism':process['env'][_0x1e2741(0x173)],'username':process['env'][_0x1e2741(0x18d)]||'','password':process['env'][_0x1e2741(0x16e)]||''}),this[_0x1e2741(0x166)]=new Kafka({'clientId':_0x31d0c4[_0x1e2741(0x19a)],'brokers':_0x31d0c4[_0x1e2741(0x162)],'connectionTimeout':_0x31d0c4[_0x1e2741(0x19f)],'requestTimeout':_0x31d0c4[_0x1e2741(0x18e)],'logLevel':this[_0x1e2741(0x159)](_0x31d0c4['logLevel']),'ssl':_0x401508,'sasl':_0x208d60,'retry':{'initialRetryTime':_0x31d0c4[_0x1e2741(0x190)],'retries':_0x31d0c4['retryAttempts']}}),this['producer']=this['kafka'][_0x1e2741(0x192)]({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners[_0x1e2741(0x198)]}),await this['producer']['connect'](),this['isConnected']=!![],console['log'](_0x1e2741(0x17c)+_0x31d0c4[_0x1e2741(0x162)][_0x1e2741(0x15c)](',\x20')),this['producer']['on'](_0x5b08fe['CCaiL'],()=>{const _0x33c61d=_0x1e2741;console['log'](_0x33c61d(0x15d)),this[_0x33c61d(0x15e)]=![];}),_0x58f099(!![]);}catch(_0x227df6){console[_0x1e2741(0x199)]('[Kafka]\x20Connection\x20failed:\x20'+_0x227df6[_0x1e2741(0x19d)]),this['isConnected']=![],_0x58f099(![]);}finally{this[_0x1e2741(0x165)]=![];}}),this[_0x2a8ac3(0x193)];}[a0_0x339be2(0x191)](_0x4b9ad0){const _0x4d8d71=a0_0x339be2,_0x5dde02={'NgbCw':function(_0x1655ce,_0xd815cc){return _0x1655ce+_0xd815cc;},'gaHTQ':function(_0x1b4215,_0x108ad4){return _0x1b4215(_0x108ad4);}},_0x2ba6cc=_0x4b9ad0||new Date(),_0x2703fc=_0x2ba6cc['getFullYear'](),_0x1bca03=String(_0x5dde02[_0x4d8d71(0x1a3)](_0x2ba6cc['getMonth'](),0x1))[_0x4d8d71(0x17a)](0x2,'0'),_0x100d9f=_0x5dde02['gaHTQ'](String,_0x2ba6cc['getDate']())[_0x4d8d71(0x17a)](0x2,'0'),_0x5cff20=String(_0x2ba6cc['getHours']())['padStart'](0x2,'0'),_0x3c5eb6=String(_0x2ba6cc[_0x4d8d71(0x153)]())[_0x4d8d71(0x17a)](0x2,'0'),_0x1e8532=String(_0x2ba6cc['getSeconds']())[_0x4d8d71(0x17a)](0x2,'0');return _0x2703fc+'-'+_0x1bca03+'-'+_0x100d9f+'\x20'+_0x5cff20+':'+_0x3c5eb6+':'+_0x1e8532;}[a0_0x339be2(0x181)](_0x28a3fe,_0x12fae9,_0x2a0eed,_0x4db104=null){const _0xdf3613=a0_0x339be2,_0x41730a={'JrNyB':'{endpoint}','pjLwy':'{action}'};if(_0x4db104)return _0x4db104;const _0x2ddeb0=this[_0xdf3613(0x158)]()['topicPattern'];return _0x2ddeb0['replace'](_0xdf3613(0x18b),_0x28a3fe)['replace'](_0x41730a[_0xdf3613(0x154)],_0x12fae9)[_0xdf3613(0x17d)](_0x41730a[_0xdf3613(0x15f)],_0x2a0eed);}[a0_0x339be2(0x16f)](_0x2a147e,_0x4d3bc4,_0x42fae4,_0x5aec3e={}){const _0x34add5=a0_0x339be2,_0x189e14={'AZsiH':function(_0x415831){return _0x415831();},'EUvFd':'1.0','Fiwbd':_0x34add5(0x161),'yutwK':_0x34add5(0x1aa)},_0x4a9b55=new Date(),_0x397534=this[_0x34add5(0x191)](_0x4a9b55),_0x3f68d7=_0x5aec3e['correlationId']||'corr-'+_0x189e14['AZsiH'](uuidv7);return{'eventId':_0x34add5(0x179)+_0x189e14['AZsiH'](uuidv7),'eventType':_0x2a147e,'eventTime':_0x397534,'eventVersion':_0x189e14[_0x34add5(0x18f)],'source':_0x34add5(0x16a)+(_0x5aec3e['module']||_0x189e14['Fiwbd']),'correlationId':_0x3f68d7,'newData':_0x42fae4,'oldData':_0x4d3bc4,'metadata':{'createdBy':_0x5aec3e['createdBy']||_0x189e14[_0x34add5(0x16d)],'createdAt':_0x397534,'systemId':'RESTFORGE-'+(_0x5aec3e[_0x34add5(0x184)]||_0x189e14[_0x34add5(0x1ab)])['toUpperCase'](),'tenantId':this[_0x34add5(0x158)]()['tenantId'],'endpoint':_0x5aec3e[_0x34add5(0x164)]||null,'tableName':_0x5aec3e['tableName']||null}};}async[a0_0x339be2(0x1af)](_0x5d6096,_0x387063,_0x53e7f0,_0x3cea7e,_0x2e919e={}){const _0x4c1809=a0_0x339be2,_0x3270c3={'fbzrI':'Kafka\x20producer\x20is\x20disabled'},_0x170bb3=this[_0x4c1809(0x158)]();if(!_0x170bb3[_0x4c1809(0x17f)])return{'success':![],'reason':_0x3270c3[_0x4c1809(0x180)],'published':![]};if(!this[_0x4c1809(0x15e)]){const _0x1f437a=await this['initialize']();if(!_0x1f437a)return{'success':![],'reason':'Failed\x20to\x20connect\x20to\x20Kafka\x20broker','published':![]};}try{const _0x1356fb=this['buildEventMessage'](_0x387063,_0x53e7f0,_0x3cea7e,_0x2e919e),_0x130e13=_0x2e919e['keyField']||'id',_0x508633=_0x3cea7e?.[_0x130e13]||_0x53e7f0?.[_0x130e13]||uuidv7(),_0x249cb2=await this[_0x4c1809(0x192)][_0x4c1809(0x1a4)]({'topic':_0x5d6096,'messages':[{'key':String(_0x508633),'value':JSON[_0x4c1809(0x19b)](_0x1356fb),'headers':{'event-type':_0x387063,'correlation-id':_0x1356fb[_0x4c1809(0x1a2)],'source':_0x1356fb[_0x4c1809(0x177)]}}]});return console[_0x4c1809(0x1ad)]('[Kafka]\x20Event\x20published\x20to\x20'+_0x5d6096+':\x20'+_0x387063+'\x20(key:\x20'+_0x508633+')'),{'success':!![],'correlationId':_0x1356fb['correlationId'],'topic':_0x5d6096,'partition':_0x249cb2[0x0]?.['partition'],'offset':_0x249cb2[0x0]?.[_0x4c1809(0x175)],'published':!![]};}catch(_0x167795){return console[_0x4c1809(0x199)](_0x4c1809(0x178)+_0x5d6096+':\x20'+_0x167795[_0x4c1809(0x19d)]),{'success':![],'error':_0x167795['message'],'published':![]};}}async['publishInsert'](_0x19026b,_0x5b8ba9,_0x130602,_0x169b4e={}){const _0x14b480=a0_0x339be2,_0x31463a={'DXWvY':'created'},_0x1ed193=this['buildTopicName'](_0x19026b,_0x5b8ba9,_0x31463a['DXWvY'],_0x169b4e[_0x14b480(0x156)]);return this[_0x14b480(0x1af)](_0x1ed193,_0x14b480(0x16c),null,_0x130602,{'module':_0x19026b,'endpoint':_0x5b8ba9,'keyField':_0x169b4e['keyField'],'tableName':_0x169b4e[_0x14b480(0x194)],'correlationId':_0x169b4e['correlationId']});}async['publishUpdate'](_0x4c7d0f,_0x176fd8,_0x124f85,_0x2d959a,_0xba970e={}){const _0x5dfe97=a0_0x339be2,_0x432ae2={'iDaTG':_0x5dfe97(0x157),'ODyAl':'ENTITY_UPDATED'},_0x274199=this['buildTopicName'](_0x4c7d0f,_0x176fd8,_0x432ae2[_0x5dfe97(0x171)],_0xba970e['topic']);return this[_0x5dfe97(0x1af)](_0x274199,_0x432ae2[_0x5dfe97(0x196)],_0x124f85,_0x2d959a,{'module':_0x4c7d0f,'endpoint':_0x176fd8,'keyField':_0xba970e['keyField'],'tableName':_0xba970e['tableName'],'correlationId':_0xba970e['correlationId']});}async[a0_0x339be2(0x152)](_0x322c9c,_0x19b12f,_0x4076d8,_0x51dba4={}){const _0x43b48f=a0_0x339be2,_0x490008=this[_0x43b48f(0x181)](_0x322c9c,_0x19b12f,_0x43b48f(0x169),_0x51dba4[_0x43b48f(0x156)]);return this['publishEvent'](_0x490008,_0x43b48f(0x163),_0x4076d8,null,{'module':_0x322c9c,'endpoint':_0x19b12f,'keyField':_0x51dba4['keyField'],'tableName':_0x51dba4['tableName'],'correlationId':_0x51dba4[_0x43b48f(0x1a2)]});}['getStatus'](){const _0x3b5dab=a0_0x339be2,_0x2917ec=this['getConfig']();return{'enabled':_0x2917ec[_0x3b5dab(0x17f)],'connected':this[_0x3b5dab(0x15e)],'brokers':_0x2917ec['brokers'],'clientId':_0x2917ec[_0x3b5dab(0x19a)],'topicPattern':_0x2917ec[_0x3b5dab(0x1a8)]};}async['close'](){const _0x42b465=a0_0x339be2;if(this[_0x42b465(0x192)]&&this['isConnected'])try{await this['producer']['disconnect'](),this['isConnected']=![],console[_0x42b465(0x1ad)](_0x42b465(0x170));}catch(_0x72e671){console['error']('[Kafka]\x20Error\x20disconnecting:\x20'+_0x72e671['message']);}}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function a0_0x2d5e(_0x15a707,_0x2e3974){_0x15a707=_0x15a707-0x152;const _0xfc28e6=a0_0xfc28();let _0x2d5e50=_0xfc28e6[_0x15a707];if(a0_0x2d5e['PcwZWl']===undefined){var _0x30ad27=function(_0x2bceaa){const _0x19777e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x34bf9f='',_0x283cc9='';for(let _0x2a3bca=0x0,_0xc9cba1,_0x44cc1c,_0x2c928c=0x0;_0x44cc1c=_0x2bceaa['charAt'](_0x2c928c++);~_0x44cc1c&&(_0xc9cba1=_0x2a3bca%0x4?_0xc9cba1*0x40+_0x44cc1c:_0x44cc1c,_0x2a3bca++%0x4)?_0x34bf9f+=String['fromCharCode'](0xff&_0xc9cba1>>(-0x2*_0x2a3bca&0x6)):0x0){_0x44cc1c=_0x19777e['indexOf'](_0x44cc1c);}for(let _0x235eaf=0x0,_0x3dc068=_0x34bf9f['length'];_0x235eaf<_0x3dc068;_0x235eaf++){_0x283cc9+='%'+('00'+_0x34bf9f['charCodeAt'](_0x235eaf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x283cc9);};a0_0x2d5e['rVVHjo']=_0x30ad27,a0_0x2d5e['qWTdJj']={},a0_0x2d5e['PcwZWl']=!![];}const _0x3529eb=_0xfc28e6[0x0],_0x20276f=_0x15a707+_0x3529eb,_0x473a7d=a0_0x2d5e['qWTdJj'][_0x20276f];return!_0x473a7d?(_0x2d5e50=a0_0x2d5e['rVVHjo'](_0x2d5e50),a0_0x2d5e['qWTdJj'][_0x20276f]=_0x2d5e50):_0x2d5e50=_0x473a7d,_0x2d5e50;}function resetInstance(){instance&&(instance['close'](),instance=null);}module[a0_0x339be2(0x188)]={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};
|
|
1
|
+
const a0_0x71ad74=a0_0x5469;(function(_0x5a6d16,_0x28073f){const _0x93ccb3=a0_0x5469,_0x3564f4=_0x5a6d16();while(!![]){try{const _0x2af3d1=parseInt(_0x93ccb3(0x202))/0x1*(-parseInt(_0x93ccb3(0x237))/0x2)+parseInt(_0x93ccb3(0x200))/0x3+parseInt(_0x93ccb3(0x22c))/0x4*(-parseInt(_0x93ccb3(0x23e))/0x5)+parseInt(_0x93ccb3(0x223))/0x6+parseInt(_0x93ccb3(0x250))/0x7+parseInt(_0x93ccb3(0x21e))/0x8*(-parseInt(_0x93ccb3(0x233))/0x9)+parseInt(_0x93ccb3(0x243))/0xa*(parseInt(_0x93ccb3(0x21f))/0xb);if(_0x2af3d1===_0x28073f)break;else _0x3564f4['push'](_0x3564f4['shift']());}catch(_0x43cb9f){_0x3564f4['push'](_0x3564f4['shift']());}}}(a0_0x3897,0x29b33));const {Kafka,logLevel,Partitioners}=require(a0_0x71ad74(0x245)),{v7:uuidv7}=require(a0_0x71ad74(0x240));class KafkaService{constructor(){const _0x2bbefc=a0_0x71ad74,_0x4b32f5=_0x2bbefc(0x1f6)[_0x2bbefc(0x241)]('|');let _0x262d37=0x0;while(!![]){switch(_0x4b32f5[_0x262d37++]){case'0':this[_0x2bbefc(0x209)]=![];continue;case'1':this[_0x2bbefc(0x24d)]=![];continue;case'2':this[_0x2bbefc(0x23f)]=null;continue;case'3':this[_0x2bbefc(0x231)]=null;continue;case'4':this['kafka']=null;continue;}break;}}[a0_0x71ad74(0x1f3)](){const _0x16fbb9=a0_0x71ad74,_0x8d586d={'HqXmm':_0x16fbb9(0x217),'dEUNs':function(_0x393e9a,_0x1a02cd){return _0x393e9a(_0x1a02cd);},'UnFVw':_0x16fbb9(0x1fe),'UOoiP':_0x16fbb9(0x21d),'vTBSM':'default','PCoXM':'warn'};return{'enabled':process['env']['KAFKA_ENABLED']==='true','brokers':(process[_0x16fbb9(0x1fc)][_0x16fbb9(0x201)]||_0x8d586d[_0x16fbb9(0x215)])['split'](','),'clientId':process[_0x16fbb9(0x1fc)][_0x16fbb9(0x206)]||_0x16fbb9(0x207)+(process['env']['RESTFORGE_PROJECT_NAME']||_0x16fbb9(0x216))+'-producer','connectionTimeout':_0x8d586d[_0x16fbb9(0x224)](parseInt,process[_0x16fbb9(0x1fc)][_0x16fbb9(0x23a)]||'3000'),'requestTimeout':parseInt(process['env']['KAFKA_REQUEST_TIMEOUT']||_0x8d586d['UnFVw']),'topicPattern':process[_0x16fbb9(0x1fc)]['KAFKA_TOPIC_PATTERN']||_0x8d586d[_0x16fbb9(0x24c)],'tenantId':process['env'][_0x16fbb9(0x24a)]||_0x8d586d['vTBSM'],'retryAttempts':parseInt(process[_0x16fbb9(0x1fc)][_0x16fbb9(0x20c)]||'3'),'retryDelay':parseInt(process['env']['KAFKA_RETRY_DELAY']||'1000'),'logLevel':process[_0x16fbb9(0x1fc)]['KAFKA_LOG_LEVEL']||_0x8d586d['PCoXM']};}['getLogLevel'](_0xdcb090){const _0x43a051=a0_0x71ad74,_0x194615={'nothing':logLevel['NOTHING'],'error':logLevel['ERROR'],'warn':logLevel[_0x43a051(0x213)],'info':logLevel[_0x43a051(0x246)],'debug':logLevel[_0x43a051(0x1f8)]};return _0x194615[_0xdcb090[_0x43a051(0x22a)]()]||logLevel[_0x43a051(0x213)];}async[a0_0x71ad74(0x248)](){const _0x24de98=a0_0x71ad74,_0x5cb38f={'nFyCl':'[Kafka]\x20Producer\x20disconnected','rCNzR':_0x24de98(0x1fd),'yqwWW':function(_0x788d6,_0x12ba94){return _0x788d6(_0x12ba94);},'mMqZx':'[Kafka]\x20Kafka\x20producer\x20is\x20disabled\x20in\x20configuration'},_0x557097=this['getConfig']();if(!_0x557097[_0x24de98(0x23b)])return console[_0x24de98(0x1fa)](_0x5cb38f['mMqZx']),![];if(this['isConnected'])return!![];if(this[_0x24de98(0x24d)]&&this['connectionPromise'])return this['connectionPromise'];return this['isInitializing']=!![],this[_0x24de98(0x231)]=new Promise(async _0x288add=>{const _0x17bc7a=_0x24de98;try{let _0x4df103=undefined;process[_0x17bc7a(0x1fc)]['KAFKA_SSL']===_0x5cb38f[_0x17bc7a(0x218)]&&(_0x4df103=!![]);let _0x51779e=undefined;process[_0x17bc7a(0x1fc)]['KAFKA_SASL_MECHANISM']&&(_0x51779e={'mechanism':process['env']['KAFKA_SASL_MECHANISM'],'username':process[_0x17bc7a(0x1fc)]['KAFKA_SASL_USERNAME']||'','password':process['env']['KAFKA_SASL_PASSWORD']||''}),this[_0x17bc7a(0x236)]=new Kafka({'clientId':_0x557097[_0x17bc7a(0x1f5)],'brokers':_0x557097['brokers'],'connectionTimeout':_0x557097[_0x17bc7a(0x230)],'requestTimeout':_0x557097['requestTimeout'],'logLevel':this['getLogLevel'](_0x557097[_0x17bc7a(0x220)]),'ssl':_0x4df103,'sasl':_0x51779e,'retry':{'initialRetryTime':_0x557097['retryDelay'],'retries':_0x557097[_0x17bc7a(0x203)]}}),this[_0x17bc7a(0x23f)]=this['kafka'][_0x17bc7a(0x23f)]({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners['LegacyPartitioner']}),await this['producer'][_0x17bc7a(0x229)](),this[_0x17bc7a(0x209)]=!![],console[_0x17bc7a(0x1fa)]('[Kafka]\x20Producer\x20connected\x20to\x20brokers:\x20'+_0x557097[_0x17bc7a(0x21c)]['join'](',\x20')),this['producer']['on'](_0x17bc7a(0x225),()=>{const _0x1a7db2=_0x17bc7a;console['log'](_0x5cb38f['nFyCl']),this[_0x1a7db2(0x209)]=![];}),_0x5cb38f[_0x17bc7a(0x204)](_0x288add,!![]);}catch(_0x36adb4){console[_0x17bc7a(0x211)](_0x17bc7a(0x20e)+_0x36adb4[_0x17bc7a(0x219)]),this['isConnected']=![],_0x5cb38f[_0x17bc7a(0x204)](_0x288add,![]);}finally{this['isInitializing']=![];}}),this['connectionPromise'];}['formatDateTime'](_0x4ea524){const _0x2faa48=a0_0x71ad74,_0x30b910={'iUrcs':function(_0x37a017,_0x298708){return _0x37a017+_0x298708;},'AZGse':function(_0x4d305a,_0x291d0d){return _0x4d305a(_0x291d0d);}},_0x17503a=_0x4ea524||new Date(),_0x56accd=_0x17503a[_0x2faa48(0x227)](),_0xa0f377=String(_0x30b910['iUrcs'](_0x17503a['getMonth'](),0x1))['padStart'](0x2,'0'),_0x27fe73=String(_0x17503a[_0x2faa48(0x22b)]())[_0x2faa48(0x23d)](0x2,'0'),_0x30dc7b=_0x30b910['AZGse'](String,_0x17503a[_0x2faa48(0x249)]())[_0x2faa48(0x23d)](0x2,'0'),_0x20fc4b=String(_0x17503a[_0x2faa48(0x20f)]())['padStart'](0x2,'0'),_0x17f986=_0x30b910[_0x2faa48(0x221)](String,_0x17503a[_0x2faa48(0x24b)]())['padStart'](0x2,'0');return _0x56accd+'-'+_0xa0f377+'-'+_0x27fe73+'\x20'+_0x30dc7b+':'+_0x20fc4b+':'+_0x17f986;}['buildTopicName'](_0x2de0fe,_0xa711bc,_0x8957cc,_0x4ad863=null){const _0x4c8f13=a0_0x71ad74,_0x532452={'AFaoM':'{module}','QxXWc':_0x4c8f13(0x232),'Ysjcx':_0x4c8f13(0x1f4)};if(_0x4ad863)return _0x4ad863;const _0x3b87ed=this['getConfig']()['topicPattern'];return _0x3b87ed['replace'](_0x532452[_0x4c8f13(0x22e)],_0x2de0fe)[_0x4c8f13(0x238)](_0x532452['QxXWc'],_0xa711bc)['replace'](_0x532452[_0x4c8f13(0x20d)],_0x8957cc);}[a0_0x71ad74(0x1fb)](_0x24bfac,_0xbdd6d1,_0x4b2930,_0x3d4b86={}){const _0x17854a=a0_0x71ad74,_0x4e93fd={'oWVMv':function(_0x206f67){return _0x206f67();},'JJgOJ':function(_0x2484d2){return _0x2484d2();},'FDKPF':_0x17854a(0x1f7)},_0x29ab99=new Date(),_0x403812=this[_0x17854a(0x21b)](_0x29ab99),_0x1b8c69=_0x3d4b86['correlationId']||'corr-'+_0x4e93fd[_0x17854a(0x210)](uuidv7);return{'eventId':_0x17854a(0x22f)+_0x4e93fd['JJgOJ'](uuidv7),'eventType':_0x24bfac,'eventTime':_0x403812,'eventVersion':'1.0','source':'restforge-'+(_0x3d4b86['module']||_0x4e93fd[_0x17854a(0x234)]),'correlationId':_0x1b8c69,'newData':_0x4b2930,'oldData':_0xbdd6d1,'metadata':{'createdBy':_0x3d4b86[_0x17854a(0x1f2)]||_0x17854a(0x23c),'createdAt':_0x403812,'systemId':'RESTFORGE-'+(_0x3d4b86['module']||_0x4e93fd[_0x17854a(0x234)])['toUpperCase'](),'tenantId':this[_0x17854a(0x1f3)]()[_0x17854a(0x244)],'endpoint':_0x3d4b86[_0x17854a(0x222)]||null,'tableName':_0x3d4b86[_0x17854a(0x235)]||null}};}async['publishEvent'](_0x33b34f,_0x10912e,_0x25f586,_0x4ca958,_0x4557b2={}){const _0x5d2067=a0_0x71ad74,_0x5f424c=this[_0x5d2067(0x1f3)]();if(!_0x5f424c[_0x5d2067(0x23b)])return{'success':![],'reason':'Kafka\x20producer\x20is\x20disabled','published':![]};if(!this[_0x5d2067(0x209)]){const _0x5b5a10=await this['initialize']();if(!_0x5b5a10)return{'success':![],'reason':'Failed\x20to\x20connect\x20to\x20Kafka\x20broker','published':![]};}try{const _0x284333=this[_0x5d2067(0x1fb)](_0x10912e,_0x25f586,_0x4ca958,_0x4557b2),_0x48c0e1=_0x4557b2['keyField']||'id',_0x1433c7=_0x4ca958?.[_0x48c0e1]||_0x25f586?.[_0x48c0e1]||uuidv7(),_0x4e0773=await this[_0x5d2067(0x23f)]['send']({'topic':_0x33b34f,'messages':[{'key':String(_0x1433c7),'value':JSON['stringify'](_0x284333),'headers':{'event-type':_0x10912e,'correlation-id':_0x284333[_0x5d2067(0x208)],'source':_0x284333['source']}}]});return console['log']('[Kafka]\x20Event\x20published\x20to\x20'+_0x33b34f+':\x20'+_0x10912e+_0x5d2067(0x214)+_0x1433c7+')'),{'success':!![],'correlationId':_0x284333['correlationId'],'topic':_0x33b34f,'partition':_0x4e0773[0x0]?.[_0x5d2067(0x212)],'offset':_0x4e0773[0x0]?.['baseOffset'],'published':!![]};}catch(_0x11e700){return console[_0x5d2067(0x211)]('[Kafka]\x20Publish\x20error\x20to\x20'+_0x33b34f+':\x20'+_0x11e700[_0x5d2067(0x219)]),{'success':![],'error':_0x11e700[_0x5d2067(0x219)],'published':![]};}}async[a0_0x71ad74(0x228)](_0x32a1b5,_0x465409,_0xbd87e4,_0x354fdf={}){const _0x523374=a0_0x71ad74,_0x287ef2={'zwomP':_0x523374(0x21a),'cGfYL':_0x523374(0x22d)},_0x3dfa92=this[_0x523374(0x20a)](_0x32a1b5,_0x465409,_0x287ef2['zwomP'],_0x354fdf[_0x523374(0x242)]);return this['publishEvent'](_0x3dfa92,_0x287ef2['cGfYL'],null,_0xbd87e4,{'module':_0x32a1b5,'endpoint':_0x465409,'keyField':_0x354fdf['keyField'],'tableName':_0x354fdf['tableName'],'correlationId':_0x354fdf[_0x523374(0x208)]});}async['publishUpdate'](_0x3bfbe9,_0x433943,_0x4f3f85,_0x4eb2e8,_0x321042={}){const _0x5d8b18=a0_0x71ad74,_0x2dfc6a=this['buildTopicName'](_0x3bfbe9,_0x433943,'updated',_0x321042['topic']);return this['publishEvent'](_0x2dfc6a,_0x5d8b18(0x226),_0x4f3f85,_0x4eb2e8,{'module':_0x3bfbe9,'endpoint':_0x433943,'keyField':_0x321042[_0x5d8b18(0x1f9)],'tableName':_0x321042['tableName'],'correlationId':_0x321042[_0x5d8b18(0x208)]});}async[a0_0x71ad74(0x247)](_0x24cfb0,_0xf9636f,_0x1477ed,_0x364795={}){const _0x2c9ea2=a0_0x71ad74,_0x19300b={'pxMFR':_0x2c9ea2(0x1ff),'lpqyj':_0x2c9ea2(0x20b)},_0x4cbfb9=this['buildTopicName'](_0x24cfb0,_0xf9636f,_0x19300b['pxMFR'],_0x364795['topic']);return this['publishEvent'](_0x4cbfb9,_0x19300b['lpqyj'],_0x1477ed,null,{'module':_0x24cfb0,'endpoint':_0xf9636f,'keyField':_0x364795[_0x2c9ea2(0x1f9)],'tableName':_0x364795[_0x2c9ea2(0x235)],'correlationId':_0x364795['correlationId']});}[a0_0x71ad74(0x24e)](){const _0x3b53c3=a0_0x71ad74,_0x1926eb=this[_0x3b53c3(0x1f3)]();return{'enabled':_0x1926eb[_0x3b53c3(0x23b)],'connected':this['isConnected'],'brokers':_0x1926eb[_0x3b53c3(0x21c)],'clientId':_0x1926eb[_0x3b53c3(0x1f5)],'topicPattern':_0x1926eb['topicPattern']};}async[a0_0x71ad74(0x24f)](){const _0x21304f=a0_0x71ad74;if(this[_0x21304f(0x23f)]&&this['isConnected'])try{await this[_0x21304f(0x23f)]['disconnect'](),this[_0x21304f(0x209)]=![],console['log'](_0x21304f(0x239));}catch(_0x2f4ec0){console[_0x21304f(0x211)]('[Kafka]\x20Error\x20disconnecting:\x20'+_0x2f4ec0[_0x21304f(0x219)]);}}}let instance=null;function a0_0x5469(_0x3c672e,_0x3c64d0){_0x3c672e=_0x3c672e-0x1f2;const _0x389704=a0_0x3897();let _0x5469d9=_0x389704[_0x3c672e];if(a0_0x5469['WjiGzX']===undefined){var _0x2701a4=function(_0x46bb3a){const _0x2c669f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xe29553='',_0x16e92f='';for(let _0xf7ce9b=0x0,_0x33924b,_0x1536f7,_0x5234c7=0x0;_0x1536f7=_0x46bb3a['charAt'](_0x5234c7++);~_0x1536f7&&(_0x33924b=_0xf7ce9b%0x4?_0x33924b*0x40+_0x1536f7:_0x1536f7,_0xf7ce9b++%0x4)?_0xe29553+=String['fromCharCode'](0xff&_0x33924b>>(-0x2*_0xf7ce9b&0x6)):0x0){_0x1536f7=_0x2c669f['indexOf'](_0x1536f7);}for(let _0x50ee22=0x0,_0x4a82e9=_0xe29553['length'];_0x50ee22<_0x4a82e9;_0x50ee22++){_0x16e92f+='%'+('00'+_0xe29553['charCodeAt'](_0x50ee22)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x16e92f);};a0_0x5469['QoLwfc']=_0x2701a4,a0_0x5469['DkGScA']={},a0_0x5469['WjiGzX']=!![];}const _0x558a4d=_0x389704[0x0],_0x31a93d=_0x3c672e+_0x558a4d,_0x3257ff=a0_0x5469['DkGScA'][_0x31a93d];return!_0x3257ff?(_0x5469d9=a0_0x5469['QoLwfc'](_0x5469d9),a0_0x5469['DkGScA'][_0x31a93d]=_0x5469d9):_0x5469d9=_0x3257ff,_0x5469d9;}function a0_0x3897(){const _0x250b60=['ru5usvrzx0nsrufuruq','quzHB00','zxz0lq','y29UBMvJDgLVBLrPBwvVDxq','y29UBMvJDgLVBLbYB21PC2u','E2vUzhbVAw50Fq','oxP0yKvVsa','rKrluey','DgfIBgvoyw1L','A2fMA2e','mZmYodeYs1zSyNrR','CMvWBgfJzq','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwqGz3jHy2vMDwXSEq','s0fgs0fFq09otKvdveLptL9usu1ft1vu','zw5HyMXLza','u1Ltvevn','CgfKu3rHCNq','nvrODhzeta','ChjVzhvJzxi','DxvPza','C3bSAxq','Dg9WAwm','mtbkELroqKO','DgvUyw50swq','A2fMA2fQCW','su5gtW','ChvIBgLZAerLBgv0zq','Aw5PDgLHBgL6zq','z2v0sg91CNm','s0fgs0fFvevoqu5ux0Le','z2v0u2vJB25KCW','vu9VAva','AxnjBML0AwfSAxPPBMC','z2v0u3rHDhvZ','y2XVC2u','odu4odu4DfL1C1vP','y3jLyxrLzej5','z2v0q29UzMLN','E2fJDgLVBN0','y2XPzw50swq','nhWYFdb8mxWZ','Dw5RBM93BG','revcvuC','A2v5rMLLBgq','Bg9N','yNvPBgrfDMvUDe1LC3nHz2u','zw52','Dhj1zq','mJuWmda','zgvSzxrLza','mZCZoti2rLHHzhnM','s0fgs0fFqLjps0vsuW','mLjxELvcvG','CMv0CNLbDhrLBxb0CW','Exf3v1C','zxHWB3j0CW','s0fgs0fFq0Xjru5ux0Le','CMvZDgzVCMDLlq','y29YCMvSyxrPB25jza','AxndB25Uzwn0zwq','yNvPBgruB3bPy05HBwu','ru5usvrzx0rftevuruq','s0fgs0fFuKvuuLLFqvruru1qvfm','wxnQy3G','w0THzMTHxsbdB25Uzwn0Aw9UigzHAwXLzdOG','z2v0twLUDxrLCW','B1Dwtxy','zxjYB3i','CgfYDgL0Aw9U','v0fstG','icHRzxK6ia','shfyBw0','zgvMyxvSDa','Bg9JywXOB3n0oJKWoti','CKnoELi','BwvZC2fNzq','y3jLyxrLza','zM9YBwf0rgf0zvrPBwu','yNjVA2vYCW','E21VzhvSzx0UE2vUzhbVAw50Fs5LDMvUDhm','mtmWmZG1nK9Tt1vhBq','ntqXmJGZnLzxy0X0AW','Bg9Ntgv2zwW','qvPhC2u','zw5KCg9PBNq','otu5mJuWzgXkBgPz','zevvtNm','ChjVzhvJzxiUzgLZy29UBMvJDa','ru5usvrzx1vqrefuruq','z2v0rNvSBfLLyxi','ChvIBgLZAeLUC2vYDa','y29UBMvJDa','Dg9mB3DLCKnHC2u','z2v0rgf0zq','otmWnZyWEgLlBNnH'];a0_0x3897=function(){return _0x250b60;};return a0_0x3897();}function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}module[a0_0x71ad74(0x205)]={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x667554=a0_0xcfed;(function(_0x3a9c3d,_0x44e43e){const _0x3aed9e=a0_0xcfed,_0x1d62bd=_0x3a9c3d();while(!![]){try{const _0x20a482=parseInt(_0x3aed9e(0x159))/0x1+parseInt(_0x3aed9e(0x107))/0x2+-parseInt(_0x3aed9e(0x146))/0x3*(-parseInt(_0x3aed9e(0x13a))/0x4)+-parseInt(_0x3aed9e(0x149))/0x5*(parseInt(_0x3aed9e(0x11e))/0x6)+-parseInt(_0x3aed9e(0x10c))/0x7+parseInt(_0x3aed9e(0x13c))/0x8*(-parseInt(_0x3aed9e(0x164))/0x9)+parseInt(_0x3aed9e(0x129))/0xa;if(_0x20a482===_0x44e43e)break;else _0x1d62bd['push'](_0x1d62bd['shift']());}catch(_0x4e1256){_0x1d62bd['push'](_0x1d62bd['shift']());}}}(a0_0x31bb,0x1d3ef));const dotenv=require(a0_0x667554(0x14f)),path=require('path'),fs=require('fs'),{v7:uuidv7}=require('uuid');dotenv[a0_0x667554(0x10e)]();let MessageHub;try{const messagehubPath=path[a0_0x667554(0x134)](__dirname,'../../js/messagehub.js');if(fs[a0_0x667554(0x167)](messagehubPath))MessageHub=require(messagehubPath),console[a0_0x667554(0x12c)](a0_0x667554(0x132)+messagehubPath);else throw new Error('MessageHub\x20SDK\x20not\x20found\x20at\x20'+messagehubPath);}catch(a0_0x5b1bbf){console['error']('Error\x20loading\x20MessageHub\x20SDK:\x20'+a0_0x5b1bbf[a0_0x667554(0x130)]);throw a0_0x5b1bbf;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function log(_0x3bf4d7){const _0x4e4a15=new Date()['toISOString']();console['log']('['+_0x4e4a15+']\x20'+_0x3bf4d7);}async function initMessageHub(){const _0x316417=a0_0x667554,_0x1d41c2={'vJQtU':function(_0x203fc8,_0x53a737){return _0x203fc8(_0x53a737);},'xPNwd':function(_0x4a31b3,_0x576f67){return _0x4a31b3(_0x576f67);},'RMsil':function(_0x2e7c7e,_0x5bf4f7){return _0x2e7c7e===_0x5bf4f7;},'uDPAY':function(_0x3f9359,_0x47918d){return _0x3f9359(_0x47918d);},'ZvVdx':_0x316417(0x145),'dacDI':function(_0x2e5730,_0x308525){return _0x2e5730(_0x308525);},'EFEZj':function(_0x295635,_0x155be1){return _0x295635(_0x155be1);},'Fljom':function(_0x3e298f,_0x436d08){return _0x3e298f===_0x436d08;},'mzgTy':function(_0x35a9a2,_0x3050d1){return _0x35a9a2(_0x3050d1);},'eglse':function(_0x1ca1cd,_0x7f092f){return _0x1ca1cd&&_0x7f092f;},'DqFAY':_0x316417(0x11f),'UVOro':function(_0x3aea9e,_0x1e6f8d){return _0x3aea9e(_0x1e6f8d);},'yJkgE':'Mode:\x20Koneksi\x20Nyata','YhaVD':_0x316417(0x15a),'jToYI':_0x316417(0x12d),'bkpuA':function(_0x1797bd,_0x304bc4){return _0x1797bd===_0x304bc4;},'WPNGE':'websocket','rrOGv':function(_0x5c5982,_0x9caef3){return _0x5c5982(_0x9caef3);},'rOOOA':function(_0x373f3a,_0x45f0c0){return _0x373f3a(_0x45f0c0);},'IrmDT':function(_0x1c0ec3,_0x2427ed){return _0x1c0ec3(_0x2427ed);},'mLywe':_0x316417(0x141),'Otflu':function(_0x1d7735,_0x52fb22){return _0x1d7735(_0x52fb22);},'etjLN':_0x316417(0x10b)};if(_0x1d41c2[_0x316417(0x14b)](messagehub,isConnected))return _0x1d41c2['Otflu'](log,'MessageHub\x20sudah\x20terhubung,\x20menggunakan\x20koneksi\x20yang\x20ada'),!![];if(connectionPromise)return log(_0x1d41c2['etjLN']),connectionPromise;return connectionPromise=new Promise(async(_0x4d1bf6,_0x4d85b7)=>{const _0x593707=_0x316417;try{_0x1d41c2['UVOro'](log,_0x593707(0x140)),_0x1d41c2[_0x593707(0x165)](log,'Waktu\x20Inisialisasi:\x20'+new Date()[_0x593707(0x156)]()),log(_0x1d41c2[_0x593707(0x157)]);const _0x3a999d={'publishKey':process['env']['MSHUB_PUBLISH_KEY'],'subscribeKey':process['env']['MSHUB_SUBSCRIBE_KEY'],'userId':process['env'][_0x593707(0x135)]||_0x593707(0x14d)+(process['env'][_0x593707(0x13f)]||_0x1d41c2['YhaVD'])+'-'+process[_0x593707(0x143)],'communicationType':process['env'][_0x593707(0x11b)]||_0x1d41c2[_0x593707(0x13b)],'autoAcknowledge':_0x1d41c2[_0x593707(0x154)](process[_0x593707(0x15e)]['MSHUB_AUTO_ACKNOWLEDGE'],'true'),'acknowledgeMessages':_0x1d41c2[_0x593707(0x154)](process[_0x593707(0x15e)][_0x593707(0x112)],_0x593707(0x10a)),'platform':{'type':process['env']['MSHUB_COMMUNICATION_TYPE']||_0x1d41c2[_0x593707(0x12a)],'host':process['env'][_0x593707(0x103)]||'localhost','api_port':_0x1d41c2['rrOGv'](parseInt,process[_0x593707(0x15e)][_0x593707(0x139)]||0xdf8),'service_port':_0x1d41c2['xPNwd'](parseInt,process['env'][_0x593707(0x153)]||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x3a999d),_0x1d41c2[_0x593707(0x15f)](log,_0x593707(0x152)),log(_0x593707(0x121)+messagehub['userId']),log(_0x593707(0x127)+messagehub[_0x593707(0x147)]),_0x1d41c2['xPNwd'](log,_0x593707(0x113)+messagehub[_0x593707(0x123)]),_0x1d41c2['rOOOA'](log,'Tipe\x20Komunikasi:\x20'+messagehub[_0x593707(0x136)]),log(_0x593707(0x126)+JSON[_0x593707(0x150)](messagehub['platformConfig'])),log(_0x593707(0x11d)),messagehub['addListener']({'status':function(_0x389a28){const _0x273795=_0x593707;log(_0x273795(0x131)+_0x389a28['category']);if(_0x389a28[_0x273795(0x148)]==='connected')log('Terhubung\x20ke\x20server\x20MessageHub'),isConnected=!![],timeoutHandler&&(_0x1d41c2[_0x273795(0x15f)](clearTimeout,timeoutHandler),timeoutHandler=null),_0x1d41c2['xPNwd'](_0x4d1bf6,!![]);else{if(_0x1d41c2[_0x273795(0x162)](_0x389a28[_0x273795(0x148)],_0x273795(0x13e))){const _0x46fd29=_0x389a28['isErrorRelated']===!![];!_0x46fd29&&(_0x1d41c2[_0x273795(0x115)](log,_0x273795(0x155)+(_0x389a28[_0x273795(0x12f)]||_0x1d41c2[_0x273795(0x108)])),isConnected=![],connectionPromise&&(_0x1d41c2['dacDI'](_0x4d85b7,new Error('Koneksi\x20terputus:\x20'+(_0x389a28['reason']||'Tidak\x20diketahui'))),connectionPromise=null));}else{if(_0x389a28[_0x273795(0x148)]==='error'){let _0x1460a9=_0x389a28[_0x273795(0x125)]||_0x389a28[_0x273795(0x117)]||_0x273795(0x105);_0x1d41c2[_0x273795(0x137)](log,_0x273795(0x120)+_0x1460a9),isConnected=![],connectionPromise&&(_0x4d85b7(new Error(_0x1460a9)),connectionPromise=null);}else{if(_0x1d41c2['Fljom'](_0x389a28['category'],'message-sent'))log(_0x273795(0x11a)+_0x389a28['requestId']);else{if(_0x389a28['category']===_0x273795(0x124)){const _0x1cb59f=_0x389a28['receiverInfo']?.['name']||'Unknown',_0x2cddfa=_0x389a28[_0x273795(0x15c)]?.['id']||_0x389a28[_0x273795(0x119)],_0x3449cb=new Date(_0x389a28[_0x273795(0x15c)]?.['receivedAt']||_0x389a28[_0x273795(0x104)]||new Date())['toLocaleTimeString']();_0x1d41c2['mzgTy'](log,_0x273795(0x144)+_0x389a28['requestId']+'\x20diterima\x20oleh\x20'+_0x1cb59f+'\x20('+_0x2cddfa+_0x273795(0x15d)+_0x3449cb+_0x273795(0x12e)+(_0x389a28[_0x273795(0x10f)]||0x1));}}}}}}}),timeoutHandler=setTimeout(()=>{const _0x4b5698=_0x593707;_0x1d41c2['eglse'](!isConnected,connectionPromise)&&(_0x1d41c2['mzgTy'](log,'⚠️\x20Timeout:\x20Tidak\x20dapat\x20terhubung\x20ke\x20MessageHub\x20server\x20dalam\x20waktu\x20yang\x20ditentukan'),_0x4d85b7(new Error(_0x1d41c2[_0x4b5698(0x151)])),connectionPromise=null);},0x2710);}catch(_0x24a363){_0x1d41c2[_0x593707(0x114)](log,_0x593707(0x14c)+_0x24a363['message']),console[_0x593707(0x117)](_0x1d41c2[_0x593707(0x10d)],_0x24a363),connectionPromise=null,_0x4d85b7(_0x24a363);}}),connectionPromise;}function a0_0xcfed(_0x1ccf95,_0x1aa392){_0x1ccf95=_0x1ccf95-0x103;const _0x31bbb3=a0_0x31bb();let _0xcfed8c=_0x31bbb3[_0x1ccf95];if(a0_0xcfed['FkSGQV']===undefined){var _0x3fbefa=function(_0x3f6f09){const _0x3b61b6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x555f4e='',_0x57bc28='';for(let _0x24241a=0x0,_0x1f11b0,_0x3160c4,_0x4478bd=0x0;_0x3160c4=_0x3f6f09['charAt'](_0x4478bd++);~_0x3160c4&&(_0x1f11b0=_0x24241a%0x4?_0x1f11b0*0x40+_0x3160c4:_0x3160c4,_0x24241a++%0x4)?_0x555f4e+=String['fromCharCode'](0xff&_0x1f11b0>>(-0x2*_0x24241a&0x6)):0x0){_0x3160c4=_0x3b61b6['indexOf'](_0x3160c4);}for(let _0x23ecd6=0x0,_0x2d1460=_0x555f4e['length'];_0x23ecd6<_0x2d1460;_0x23ecd6++){_0x57bc28+='%'+('00'+_0x555f4e['charCodeAt'](_0x23ecd6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x57bc28);};a0_0xcfed['FbXbSE']=_0x3fbefa,a0_0xcfed['khCDCh']={},a0_0xcfed['FkSGQV']=!![];}const _0x53b755=_0x31bbb3[0x0],_0x5836c9=_0x1ccf95+_0x53b755,_0x4aeb35=a0_0xcfed['khCDCh'][_0x5836c9];return!_0x4aeb35?(_0xcfed8c=a0_0xcfed['FbXbSE'](_0xcfed8c),a0_0xcfed['khCDCh'][_0x5836c9]=_0xcfed8c):_0xcfed8c=_0x4aeb35,_0xcfed8c;}function a0_0x31bb(){const _0x27113b=['yMTWDue','vgvYChv0DxmGzgfYAsbZzxj2zxiUiefSyxnHBJOG','Dg9mB2nHBgvtDhjPBMC','EuPRz0u','q2HHBM5LBcbuyxjNzxq6ia','mtu2mtq4vMz4s29I','zgvMyxvSDa','ywXerxi','CMvJzwL2zxjjBMzV','ksbWywrHia','zw52','DKPrDfu','y2XLyxjdywnOzq','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUihnVy2TLDc5KAxnJB25Uzwn0kcK','uK1ZAwW','twvZC2fNzsbZzw50ihn1y2nLC3nMDwXSEq','nJy5ntGYtfP1qvvu','EfboD2q','C29JA2v0','zxHPC3rZu3LUyW','tvnivujFse9tva','CMvJzwL2zwrbDa','vw5RBM93BIbLCNjVCG','zfPiCvi','mtm3ode2renXv2rm','wNzwzhG','t25SrMy','Dhj1zq','s29UzwTZAsbnzxnZywDLshvIihnLzgfUzYbIzxjSyw5NC3vUzYWGBwvUDw5Nz3uUlI4','ota1mZe3uhbkz1H5','BuX5D2u','y29UzMLN','y29UzMLYBwf0Aw9Uq291BNq','CMvXDwLYzufJAW','u2DZvwe','tvnivujFqunltK9xtever0vFtuvtu0fhrvm','u3vIC2nYAwjLieTLEtOG','sxjTrfq','DurqqvK','t21ny24','zxjYB3i','yKDtswK','CMvJzwL2zxjjza','8j+tPcbqzxnHBIbIzxjOyxnPBcbKAwTPCMLTisbszxf1zxn0suq6ia','tvnivujFq09ntvvosunbveLptL9uwvbf','zgLZy29UBMvJDa','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pq','mZeYDwnzAvzW','q29UBMvJDgLVBIb0Aw1LB3v0','4PQG77IpievYCM9YoIa','q2XPzw50ieLel1vZzxjjrdOG','Dg9WAwm','C3vIC2nYAwjLs2v5','BwvZC2fNzs1YzwnLAxzLza','zxjYB3jezxrHAwW','s29UzMLNDxjHC2KGugXHDgzVCM06ia','uhvIBgLZAcblzxK6ia','vgLKywSGzgfWyxqGBwvUzw11A2fUig1LDg9Kzsb1BNr1AYbTzw51DhvWigTVBMvRC2KGtwvZC2fNzuH1yG','otKZmJiWy1bLzuj2','v1bor0u','pt09pt09ierbveeGufvcteLtscbnrvntquDfid09pt09pq','Bg9N','yNjVywrJyxn0','lIbuB3rHBcbRB25MAxjTyxnPoIa','CMvHC29U','BwvZC2fNzq','u3rHDhvZieXPC3rLBMvYoIa','twvZC2fNzuH1yIbtreSGzM91BMqGyxqG','rMfPBgvKihrVihnLBMqGBwvZC2fNzq','CMvZB2X2zq','tvnivujFvvnfuL9jra','y29TBxvUAwnHDgLVBLr5Cgu','ruzfwMO','AfPet0K','tvnivujFqvbjx1bpuLq','ohH4qur0uW','ALrVwuK','mJrOAxHzr3e','txfIqKm','zgLZy29UBMvJDgvK','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','pt09pt09ie1vtefjieLosvnjquXju0ftssbnrvntquDfsfvcid09pt09pq','rxjYB3iGAw5PC2LHBgLZyxnPie1LC3nHz2viDwi6','uwruBLK','CgLK','8j+tQsblB25MAxjTyxnPoIbqzxnHBIa','vgLKywSGzgLRzxrHAhvP','mJqWntq5A0XlA0PV','ChvIBgLZAeTLEq','y2f0zwDVCNK','mte5nu92quTOEa','uwvrAei','zwDSC2u','4PQG77IpievYCM9YigLUAxnPywXPC2fZAsbnzxnZywDLshvIoIa','CMvZDgzVCMDLlq','twvZC2fNzsbuExbLoIa','zg90zw52','C3rYAw5NAwz5','rhfgqvK','pt09pt09ieLorK9stuftssbdteLftLqGtuvtu0fhruHvqIa9pt09pt0','tvnivujFu0vsvKLdrv9qt1ju'];a0_0x31bb=function(){return _0x27113b;};return a0_0x31bb();}async function publishMessage(_0x155f6b,_0x2a9c6a,_0x5e74c5,_0x2a6320={}){const _0x5b8855=a0_0x667554,_0x3b5e8b={'MqbBC':function(_0x64828e){return _0x64828e();},'QdTnY':function(_0x2ad008,_0x4e105a){return _0x2ad008(_0x4e105a);},'QeQhB':function(_0x22e7a8,_0x510605){return _0x22e7a8(_0x510605);},'alDEr':function(_0x5b85d8,_0x254189){return _0x5b85d8!==_0x254189;},'NLXQl':'Mengirim\x20pesan\x20ke\x20server...','OnlFf':function(_0x59977c,_0x200aa1){return _0x59977c(_0x200aa1);},'SgsUa':_0x5b8855(0x163)};try{!isConnected&&await _0x3b5e8b[_0x5b8855(0x13d)](initMessageHub);const _0x52ec79=messagehub['channel'](_0x155f6b);log(_0x5b8855(0x12b)),_0x3b5e8b[_0x5b8855(0x142)](log,_0x5b8855(0x158)+_0x52ec79[_0x5b8855(0x122)]),_0x3b5e8b[_0x5b8855(0x14a)](log,_0x5b8855(0x14e)+_0x2a9c6a),log('================================');const _0x1fd2b7={'requireAck':_0x3b5e8b['alDEr'](_0x2a6320[_0x5b8855(0x110)],undefined)?_0x2a6320['requireAck']:![],'clearCache':_0x3b5e8b[_0x5b8855(0x15b)](_0x2a6320[_0x5b8855(0x160)],undefined)?_0x2a6320['clearCache']:!![],'senderId':messagehub['socket']?messagehub[_0x5b8855(0x166)]['id']:'restforge'};log(_0x3b5e8b['NLXQl']);const _0x3b64d3={'type':_0x2a9c6a,'content':_0x5e74c5},_0x12694d=await _0x52ec79['publish'](_0x3b64d3,_0x1fd2b7);return _0x3b5e8b[_0x5b8855(0x109)](log,'Message\x20sent\x20successfully\x20to\x20topic\x20'+_0x155f6b),{'success':!![],'requestId':_0x12694d['requestId'],'topic':_0x155f6b,'message':_0x3b5e8b[_0x5b8855(0x111)]};}catch(_0x451ea0){return _0x3b5e8b['QeQhB'](log,'⚠️\x20Error\x20publishing\x20message:\x20'+_0x451ea0[_0x5b8855(0x130)]),{'success':![],'error':_0x451ea0['message'],'topic':_0x155f6b,'message':_0x5b8855(0x133)};}}async function closeConnection(){const _0x497afe=a0_0x667554,_0x4a9171={'dZHqR':function(_0xed9467,_0x2e5072){return _0xed9467&&_0x2e5072;},'VpQwn':'function','OmMcn':function(_0x45794e,_0x4bdb45){return _0x45794e(_0x4bdb45);},'hZDOI':'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20disconnect()','pqIXF':function(_0x42f9b2,_0x286011){return _0x42f9b2===_0x286011;},'bGSIi':function(_0x2715d1,_0x474489){return _0x2715d1(_0x474489);}};timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null);if(_0x4a9171[_0x497afe(0x106)](isConnected,messagehub))try{if(typeof messagehub[_0x497afe(0x11c)]===_0x4a9171['VpQwn'])await messagehub['disconnect'](),_0x4a9171[_0x497afe(0x116)](log,_0x4a9171[_0x497afe(0x138)]);else{if(_0x4a9171['pqIXF'](typeof messagehub['close'],_0x4a9171['VpQwn']))await messagehub['close'](),log('Koneksi\x20MessageHub\x20ditutup\x20dengan\x20close()');else messagehub['socket']&&_0x4a9171['pqIXF'](typeof messagehub['socket'][_0x497afe(0x11c)],'function')?(messagehub[_0x497afe(0x166)][_0x497afe(0x11c)](),_0x4a9171[_0x497afe(0x118)](log,_0x497afe(0x161))):log(_0x497afe(0x128));}isConnected=![],connectionPromise=null;}catch(_0x4cd855){log('Error\x20saat\x20menutup\x20koneksi:\x20'+_0x4cd855['message']);}}module['exports']={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};
|
|
1
|
+
const a0_0x32062c=a0_0x4e41;(function(_0x28de16,_0x492d7a){const _0x15290e=a0_0x4e41,_0x3eafcf=_0x28de16();while(!![]){try{const _0x319ce1=parseInt(_0x15290e(0x1f3))/0x1+parseInt(_0x15290e(0x206))/0x2+parseInt(_0x15290e(0x1e0))/0x3+-parseInt(_0x15290e(0x1f2))/0x4*(parseInt(_0x15290e(0x1f7))/0x5)+-parseInt(_0x15290e(0x1e4))/0x6+parseInt(_0x15290e(0x1c3))/0x7+-parseInt(_0x15290e(0x1de))/0x8;if(_0x319ce1===_0x492d7a)break;else _0x3eafcf['push'](_0x3eafcf['shift']());}catch(_0x28b508){_0x3eafcf['push'](_0x3eafcf['shift']());}}}(a0_0x1c04,0xd4746));function a0_0x1c04(){const _0x5d1686=['rNzTAeW','4PQG77IpievYCM9YoIa','y2HHBM5LBa','BMfTzq','vgvYAhvIDw5NigTLihnLCNzLCIbnzxnZywDLshvI','y29UBMvJDgvK','y2f0zwDVCNK','CMvJzwL2zxjjza','CMvXDwvZDeLK','C3rYAw5NAwz5','tvnivujFqvbjx1bpuLq','mtaYndCXnLrjAKjjAq','Dhj1zq','y2XVC2u','z3PTyuu','AujACeO','zxjYB3jezxrHAwW','twvZC2fNzuH1yIbZDwrHAcb0zxjODwj1BMCSig1LBMDNDw5HA2fUigTVBMvRC2KGEwfUzYbHzge','q2HHBM5LBcbuyxjNzxq6ia','zxHPC3rZu3LUyW','CMvXDwLYzufJAW','Dg9mB2nHBgvuAw1Lu3rYAw5N','zw52','CgLK','pt09pt09ie1vtefjieLosvnjquXju0ftssbnrvntquDfsfvcid09pt09pq','CMvJzwL2zxjjBMzV','uMfiquK','twvUz2LYAw0GCgvZyw4GA2uGC2vYDMvYlI4U','BfLvvLO','mJmXntK5mMfswNr5qq','uhvIBgLZAcblzxK6ia','BwvZC2fNzq','sg9vwNi','q2XPzw50ieLel1vZzxjjrdOG','Avjove0','qMTLEfi','CMvZDgzVCMDLlq','y29TBxvUAwnHDgLVBLr5Cgu','tvnivujFu0vsvKLdrv9qt1ju','Dg9ju09tDhjPBMC','rxjYB3iGAw5PC2LHBgLZyxnPie1LC3nHz2viDwi6','zxLtzfG','u3rHDhvZieXPC3rLBMvYoIa','vgLWzsblB211BMLRyxnPoIa','AKrdBum','CMvJzwL2zwrbDa','Bg9N','y2XLyxjdywnOzq','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUihnVy2TLDc5KAxnJB25Uzwn0kcK','CujWze4','Bg9JywXOB3n0','DxnLCKLK','s29UzwTZAsb0zxjWDxr1CZOG','zwDYzeu','tvnivujFufvcteLtsf9lrvK','s29UzMLNDxjHC2KGugXHDgzVCM06ia','nJm2ndm2me5tDLjuzq','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUigrPC2nVBM5Ly3qOkq','mZm1mtK3ofjqELfNua','zNvUy3rPB24','DxvPza','Au5bs0q','mta0otu1nKXKrhDmCq','CgXHDgzVCM1dB25MAwC','tw9KztOGs29UzwTZAsboEwf0yq','vw5RBM93BG','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0','Dg9WAwm','zgLZy29UBMvJDa','4PQG77IpievYCM9Yihb1yMXPC2HPBMCGBwvZC2fNztOG','D2vIC29JA2v0','tvnivujFq09ntvvosunbveLptL9uwvbf','wM1yBue','Dg9mB2nHBgvtDhjPBMC','rMfPBgvKihrVihnLBMqGBwvZC2fNzq','ywrKtgLZDgvUzxi','mJu5otaWtvHPzeXS','mtuWnduYmerMCw1evq','tMTQtNu','C3vIC2nYAwjLs2v5','zxHWB3j0CW','mti1z2ntBKPL','C29JA2v0','Bg9mwK0','zgLZy29UBMvJDgvK'];a0_0x1c04=function(){return _0x5d1686;};return a0_0x1c04();}const dotenv=require('dotenv'),path=require('path'),fs=require('fs'),{v7:uuidv7}=require(a0_0x32062c(0x1e2));dotenv['config']();let MessageHub;function a0_0x4e41(_0x543050,_0xd960de){_0x543050=_0x543050-0x1b8;const _0x1c040b=a0_0x1c04();let _0x4e4188=_0x1c040b[_0x543050];if(a0_0x4e41['FLWUMx']===undefined){var _0x597c92=function(_0x5d93aa){const _0x4a23ec='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4f4684='',_0x4bc0e0='';for(let _0x4e1a22=0x0,_0xf3fb19,_0x2a1b41,_0x166aca=0x0;_0x2a1b41=_0x5d93aa['charAt'](_0x166aca++);~_0x2a1b41&&(_0xf3fb19=_0x4e1a22%0x4?_0xf3fb19*0x40+_0x2a1b41:_0x2a1b41,_0x4e1a22++%0x4)?_0x4f4684+=String['fromCharCode'](0xff&_0xf3fb19>>(-0x2*_0x4e1a22&0x6)):0x0){_0x2a1b41=_0x4a23ec['indexOf'](_0x2a1b41);}for(let _0x7c98b7=0x0,_0x58517f=_0x4f4684['length'];_0x7c98b7<_0x58517f;_0x7c98b7++){_0x4bc0e0+='%'+('00'+_0x4f4684['charCodeAt'](_0x7c98b7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4bc0e0);};a0_0x4e41['oaOwDn']=_0x597c92,a0_0x4e41['uaSULo']={},a0_0x4e41['FLWUMx']=!![];}const _0x477d04=_0x1c040b[0x0],_0x29cede=_0x543050+_0x477d04,_0x5e1c6c=a0_0x4e41['uaSULo'][_0x29cede];return!_0x5e1c6c?(_0x4e4188=a0_0x4e41['oaOwDn'](_0x4e4188),a0_0x4e41['uaSULo'][_0x29cede]=_0x4e4188):_0x4e4188=_0x5e1c6c,_0x4e4188;}try{const messagehubPath=path['resolve'](__dirname,'../../js/messagehub.js');if(fs[a0_0x32062c(0x1b9)](messagehubPath))MessageHub=require(messagehubPath),console[a0_0x32062c(0x1d4)]('MessageHub\x20SDK\x20found\x20at\x20'+messagehubPath);else throw new Error('MessageHub\x20SDK\x20not\x20found\x20at\x20'+messagehubPath);}catch(a0_0x3454ba){console['error']('Error\x20loading\x20MessageHub\x20SDK:\x20'+a0_0x3454ba['message']);throw a0_0x3454ba;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function log(_0xcc9435){const _0x4d2936=a0_0x32062c,_0x51f85f=new Date()[_0x4d2936(0x1cd)]();console[_0x4d2936(0x1d4)]('['+_0x51f85f+']\x20'+_0xcc9435);}async function initMessageHub(){const _0x3c4ba0=a0_0x32062c,_0x1a1026={'BkexR':function(_0x151788,_0x93da3a){return _0x151788&&_0x93da3a;},'gzmaE':function(_0x4c4cf5,_0x3de33f){return _0x4c4cf5(_0x3de33f);},'lbMNw':'⚠️\x20Timeout:\x20Tidak\x20dapat\x20terhubung\x20ke\x20MessageHub\x20server\x20dalam\x20waktu\x20yang\x20ditentukan','QICYO':'Connection\x20timeout','NkjNu':function(_0x3c4bf3,_0x3912aa){return _0x3c4bf3===_0x3912aa;},'FsBPX':'error','egrdE':function(_0x7abdd8,_0x3442a7){return _0x7abdd8(_0x3442a7);},'GcuZE':_0x3c4ba0(0x1be),'jDCmC':function(_0x3de2e1,_0x310437){return _0x3de2e1===_0x310437;},'iRNTM':'true','WASmK':function(_0x4fa54c,_0x1d90dd){return _0x4fa54c(_0x1d90dd);},'JXklO':'======\x20INFORMASI\x20CLIENT\x20MESSAGEHUB\x20======','sLcmi':function(_0x3546c0,_0x3f9ac4){return _0x3546c0(_0x3f9ac4);},'ZmXmA':function(_0xf7685f,_0x439c2a){return _0xf7685f(_0x439c2a);},'upkrB':function(_0x114283,_0x193492){return _0x114283(_0x193492);},'qZCdQ':'Koneksi\x20MessageHub\x20sedang\x20berlangsung,\x20menunggu...'};if(_0x1a1026[_0x3c4ba0(0x1c9)](messagehub,isConnected))return log(_0x3c4ba0(0x20c)),!![];if(connectionPromise)return log(_0x1a1026['qZCdQ']),connectionPromise;return connectionPromise=new Promise(async(_0x3a3a94,_0x139d24)=>{const _0x295a95=_0x3c4ba0,_0x256a74={'FvmhL':function(_0x6a55d4,_0x570cdd){return _0x6a55d4(_0x570cdd);},'Rfyxl':function(_0x5a98ca,_0x62b49e){const _0x35d607=a0_0x4e41;return _0x1a1026[_0x35d607(0x1f4)](_0x5a98ca,_0x62b49e);},'ZfDNv':function(_0x3ae388,_0x3716c9){return _0x3ae388(_0x3716c9);},'iBZpJ':'Tidak\x20diketahui','lYUVZ':_0x1a1026['FsBPX'],'RaHAI':function(_0x5b0e41,_0x19c8d1){return _0x1a1026['gzmaE'](_0x5b0e41,_0x19c8d1);}};try{_0x1a1026[_0x295a95(0x1db)](log,_0x1a1026['GcuZE']),_0x1a1026['gzmaE'](log,'Waktu\x20Inisialisasi:\x20'+new Date()[_0x295a95(0x1ef)]()),_0x1a1026[_0x295a95(0x209)](log,_0x295a95(0x1e6));const _0x3c790b={'publishKey':process['env'][_0x295a95(0x1dc)],'subscribeKey':process[_0x295a95(0x1bc)]['MSHUB_SUBSCRIBE_KEY'],'userId':process[_0x295a95(0x1bc)]['MSHUB_USER_ID']||_0x295a95(0x1ca)+(process[_0x295a95(0x1bc)]['RESTFORGE_PROJECT_NAME']||'default')+'-'+process[_0x295a95(0x1bd)],'communicationType':process[_0x295a95(0x1bc)]['MSHUB_COMMUNICATION_TYPE']||'broadcast','autoAcknowledge':_0x1a1026[_0x295a95(0x1d2)](process['env']['MSHUB_AUTO_ACKNOWLEDGE'],_0x1a1026[_0x295a95(0x1c8)]),'acknowledgeMessages':_0x1a1026['jDCmC'](process['env']['MSHUB_ACKNOWLEDGE_MESSAGES'],_0x295a95(0x207)),'platform':{'type':process['env'][_0x295a95(0x1ed)]||_0x295a95(0x1ec),'host':process[_0x295a95(0x1bc)]['MSHUB_HOST']||_0x295a95(0x1d8),'api_port':parseInt(process[_0x295a95(0x1bc)][_0x295a95(0x205)]||0xdf8),'service_port':parseInt(process[_0x295a95(0x1bc)][_0x295a95(0x1cc)]||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x3c790b),_0x1a1026['WASmK'](log,_0x1a1026['JXklO']),log(_0x295a95(0x1c7)+messagehub[_0x295a95(0x1d9)]),log(_0x295a95(0x1c4)+messagehub['publishKey']),_0x1a1026['sLcmi'](log,'Subscribe\x20Key:\x20'+messagehub[_0x295a95(0x1f5)]),_0x1a1026[_0x295a95(0x1ee)](log,_0x295a95(0x1d1)+messagehub[_0x295a95(0x1cb)]),_0x1a1026['upkrB'](log,_0x295a95(0x1dd)+JSON[_0x295a95(0x204)](messagehub[_0x295a95(0x1e5)])),log('========================================'),messagehub[_0x295a95(0x1f1)]({'status':function(_0x153dbd){const _0xff8ccb=_0x295a95;_0x256a74[_0xff8ccb(0x1fb)](log,_0xff8ccb(0x1d0)+_0x153dbd['category']);if(_0x256a74['Rfyxl'](_0x153dbd[_0xff8ccb(0x201)],_0xff8ccb(0x200)))log(_0xff8ccb(0x1ff)),isConnected=!![],timeoutHandler&&(_0x256a74[_0xff8ccb(0x1fb)](clearTimeout,timeoutHandler),timeoutHandler=null),_0x256a74['ZfDNv'](_0x3a3a94,!![]);else{if(_0x153dbd[_0xff8ccb(0x201)]===_0xff8ccb(0x1fa)){const _0x1236fe=_0x153dbd['isErrorRelated']===!![];!_0x1236fe&&(log('Terputus\x20dari\x20server.\x20Alasan:\x20'+(_0x153dbd['reason']||_0x256a74[_0xff8ccb(0x20a)])),isConnected=![],connectionPromise&&(_0x139d24(new Error(_0xff8ccb(0x1da)+(_0x153dbd['reason']||_0x256a74['iBZpJ']))),connectionPromise=null));}else{if(_0x153dbd[_0xff8ccb(0x201)]===_0x256a74[_0xff8ccb(0x1c2)]){let _0x7751db=_0x153dbd[_0xff8ccb(0x20b)]||_0x153dbd['error']||'Unknown\x20error';log(_0xff8ccb(0x1fc)+_0x7751db),isConnected=![],connectionPromise&&(_0x139d24(new Error(_0x7751db)),connectionPromise=null);}else{if(_0x153dbd['category']==='message-sent')_0x256a74[_0xff8ccb(0x1c0)](log,'📤\x20Pesan\x20berhasil\x20dikirim!\x20RequestID:\x20'+_0x153dbd[_0xff8ccb(0x203)]);else{if(_0x153dbd['category']==='message-received'){const _0x5b6ba7=_0x153dbd['receiverInfo']?.[_0xff8ccb(0x1fe)]||_0xff8ccb(0x1e7),_0x460d9c=_0x153dbd[_0xff8ccb(0x1bf)]?.['id']||_0x153dbd[_0xff8ccb(0x202)],_0x621a7b=new Date(_0x153dbd[_0xff8ccb(0x1bf)]?.['receivedAt']||_0x153dbd[_0xff8ccb(0x1d3)]||new Date())[_0xff8ccb(0x1bb)]();_0x256a74[_0xff8ccb(0x1c0)](log,'📩\x20Konfirmasi:\x20Pesan\x20'+_0x153dbd['requestId']+'\x20diterima\x20oleh\x20'+_0x5b6ba7+'\x20('+_0x460d9c+')\x20pada\x20'+_0x621a7b+'.\x20Total\x20konfirmasi:\x20'+(_0x153dbd['confirmationCount']||0x1));}}}}}}}),timeoutHandler=setTimeout(()=>{const _0x3cd7da=_0x295a95;_0x1a1026[_0x3cd7da(0x1c9)](!isConnected,connectionPromise)&&(_0x1a1026[_0x3cd7da(0x209)](log,_0x1a1026['lbMNw']),_0x1a1026[_0x3cd7da(0x209)](_0x139d24,new Error(_0x1a1026['QICYO'])),connectionPromise=null);},0x2710);}catch(_0x58fe28){log('⚠️\x20Error\x20inisialisasi\x20MessageHub:\x20'+_0x58fe28[_0x295a95(0x1c5)]),console['error'](_0x295a95(0x1ce),_0x58fe28),connectionPromise=null,_0x139d24(_0x58fe28);}}),connectionPromise;}async function publishMessage(_0x37906,_0x30bb0b,_0x5ea599,_0x5965e6={}){const _0x6b94e9=a0_0x32062c,_0x4e902a={'unGbu':function(_0x24d886){return _0x24d886();},'iNAKD':function(_0x3a9003,_0x5248ae){return _0x3a9003(_0x5248ae);},'eySdX':'restforge','qBpdN':_0x6b94e9(0x1c1),'lRKLz':'Message\x20sent\x20successfully','loLZM':function(_0x32906e,_0x597cf5){return _0x32906e(_0x597cf5);}};try{!isConnected&&await _0x4e902a['unGbu'](initMessageHub);const _0x4fe481=messagehub[_0x6b94e9(0x1fd)](_0x37906);log('======\x20DATA\x20PUBLISH\x20MESSAGE\x20======'),log(_0x6b94e9(0x1b8)+_0x4fe481[_0x6b94e9(0x1e9)]),_0x4e902a['iNAKD'](log,'Message\x20Type:\x20'+_0x30bb0b),log(_0x6b94e9(0x1e8));const _0x130699={'requireAck':_0x5965e6['requireAck']!==undefined?_0x5965e6[_0x6b94e9(0x1ba)]:![],'clearCache':_0x5965e6[_0x6b94e9(0x1d5)]!==undefined?_0x5965e6['clearCache']:!![],'senderId':messagehub[_0x6b94e9(0x1f8)]?messagehub[_0x6b94e9(0x1f8)]['id']:_0x4e902a[_0x6b94e9(0x1cf)]};_0x4e902a['iNAKD'](log,_0x4e902a[_0x6b94e9(0x1d7)]);const _0x2f8912={'type':_0x30bb0b,'content':_0x5ea599},_0x47b8d4=await _0x4fe481['publish'](_0x2f8912,_0x130699);return _0x4e902a[_0x6b94e9(0x1e3)](log,'Message\x20sent\x20successfully\x20to\x20topic\x20'+_0x37906),{'success':!![],'requestId':_0x47b8d4['requestId'],'topic':_0x37906,'message':_0x4e902a['lRKLz']};}catch(_0x4f8b2a){return _0x4e902a[_0x6b94e9(0x1f9)](log,_0x6b94e9(0x1eb)+_0x4f8b2a[_0x6b94e9(0x1c5)]),{'success':![],'error':_0x4f8b2a['message'],'topic':_0x37906,'message':_0x6b94e9(0x1f0)};}}async function closeConnection(){const _0x3e15cd=a0_0x32062c,_0x37bfe8={'HoUZr':function(_0xba8042,_0x2a5553){return _0xba8042(_0x2a5553);},'CtCiI':function(_0x26fe13,_0x219e78){return _0x26fe13===_0x219e78;},'kHKmJ':'function','uBjTU':'Tidak\x20dapat\x20menemukan\x20metode\x20untuk\x20menutup\x20koneksi\x20MessageHub'};timeoutHandler&&(_0x37bfe8[_0x3e15cd(0x1c6)](clearTimeout,timeoutHandler),timeoutHandler=null);if(isConnected&&messagehub)try{if(_0x37bfe8['CtCiI'](typeof messagehub[_0x3e15cd(0x1ea)],_0x37bfe8['kHKmJ']))await messagehub['disconnect'](),log(_0x3e15cd(0x1df));else{if(typeof messagehub[_0x3e15cd(0x208)]===_0x3e15cd(0x1e1))await messagehub[_0x3e15cd(0x208)](),log('Koneksi\x20MessageHub\x20ditutup\x20dengan\x20close()');else messagehub[_0x3e15cd(0x1f8)]&&typeof messagehub['socket'][_0x3e15cd(0x1ea)]==='function'?(messagehub['socket'][_0x3e15cd(0x1ea)](),_0x37bfe8[_0x3e15cd(0x1c6)](log,_0x3e15cd(0x1d6))):log(_0x37bfe8['uBjTU']);}isConnected=![],connectionPromise=null;}catch(_0x720dce){log('Error\x20saat\x20menutup\x20koneksi:\x20'+_0x720dce[_0x3e15cd(0x1c5)]);}}module[a0_0x32062c(0x1f6)]={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};
|