@restforgejs/platform 4.3.2 → 4.3.5
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/dashboard/create.js +0 -1
- package/generators/cli/endpoint/create.js +1 -1
- package/generators/lib/generators/model-generator.js +1 -1
- package/generators/lib/payload/endpoint-schema-validator.js +181 -171
- package/generators/lib/payload/payload-runner.js +1218 -1218
- package/generators/lib/payload/schema-diff.js +460 -277
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/generators/lib/utils/conflict-checker.js +9 -57
- package/generators/lib/utils/database-introspector.js +84 -0
- package/generators/lib/utils/file-utils.js +0 -159
- package/generators/lib/utils/payload-processor.js +21 -112
- package/integrity-manifest.json +18 -18
- package/node_modules/readdir-glob/node_modules/brace-expansion/index.js +1 -1
- package/node_modules/readdir-glob/node_modules/brace-expansion/package.json +1 -1
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';const a0_0xd0cd3d=a0_0x120f;(function(_0x155308,_0x46d3cc){const _0x2a4b1f=a0_0x120f,_0x3c33b9=_0x155308();while(!![]){try{const _0x33401f=-parseInt(_0x2a4b1f(0x14e))/0x1*(-parseInt(_0x2a4b1f(0x124))/0x2)+-parseInt(_0x2a4b1f(0x126))/0x3*(parseInt(_0x2a4b1f(0x12d))/0x4)+parseInt(_0x2a4b1f(0x143))/0x5*(-parseInt(_0x2a4b1f(0x141))/0x6)+parseInt(_0x2a4b1f(0x14a))/0x7+-parseInt(_0x2a4b1f(0x12b))/0x8*(-parseInt(_0x2a4b1f(0x136))/0x9)+parseInt(_0x2a4b1f(0x149))/0xa*(parseInt(_0x2a4b1f(0x125))/0xb)+-parseInt(_0x2a4b1f(0x152))/0xc*(parseInt(_0x2a4b1f(0x14f))/0xd);if(_0x33401f===_0x46d3cc)break;else _0x3c33b9['push'](_0x3c33b9['shift']());}catch(_0x2a51bd){_0x3c33b9['push'](_0x3c33b9['shift']());}}}(a0_0x5ec4,0x1ed8e));function a0_0x120f(_0x21b6a7,_0x183785){_0x21b6a7=_0x21b6a7-0x124;const _0x5ec454=a0_0x5ec4();let _0x120fd3=_0x5ec454[_0x21b6a7];if(a0_0x120f['avLlJl']===undefined){var _0xe2e0c=function(_0xa2dc5){const _0x19ec9e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4f98d2='',_0x4f4539='';for(let _0x224efa=0x0,_0x402902,_0x3a8cd8,_0x215ac0=0x0;_0x3a8cd8=_0xa2dc5['charAt'](_0x215ac0++);~_0x3a8cd8&&(_0x402902=_0x224efa%0x4?_0x402902*0x40+_0x3a8cd8:_0x3a8cd8,_0x224efa++%0x4)?_0x4f98d2+=String['fromCharCode'](0xff&_0x402902>>(-0x2*_0x224efa&0x6)):0x0){_0x3a8cd8=_0x19ec9e['indexOf'](_0x3a8cd8);}for(let _0x453113=0x0,_0x59297f=_0x4f98d2['length'];_0x453113<_0x59297f;_0x453113++){_0x4f4539+='%'+('00'+_0x4f98d2['charCodeAt'](_0x453113)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4f4539);};a0_0x120f['vjtQjf']=_0xe2e0c,a0_0x120f['RwNfSe']={},a0_0x120f['avLlJl']=!![];}const _0x20e0d5=_0x5ec454[0x0],_0x694ea7=_0x21b6a7+_0x20e0d5,_0x2638b3=a0_0x120f['RwNfSe'][_0x694ea7];return!_0x2638b3?(_0x120fd3=a0_0x120f['vjtQjf'](_0x120fd3),a0_0x120f['RwNfSe'][_0x694ea7]=_0x120fd3):_0x120fd3=_0x2638b3,_0x120fd3;}const multer=require(a0_0xd0cd3d(0x14b)),path=require(a0_0xd0cd3d(0x12e)),crypto=require('crypto'),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require('./logger');class UploadHandlerV2{constructor(){const _0x19d44a=a0_0xd0cd3d;this[_0x19d44a(0x15e)]=null;}get[a0_0xd0cd3d(0x145)](){const _0x12ad66=a0_0xd0cd3d,_0x2f7d36={'qviqS':_0x12ad66(0x155),'uogFI':_0x12ad66(0x15f)};if(!this[_0x12ad66(0x15e)]){const _0x4bb210=process['env']['RESTFORGE_PROJECT_NAME']||_0x12ad66(0x12c);this[_0x12ad66(0x15e)]=process['env']['UPLOAD_TEMP_DIR']||path[_0x12ad66(0x15b)](process[_0x12ad66(0x13f)](),_0x2f7d36[_0x12ad66(0x147)],_0x2f7d36['uogFI'],_0x4bb210),!fsSync[_0x12ad66(0x148)](this[_0x12ad66(0x15e)])&&fsSync['mkdirSync'](this[_0x12ad66(0x15e)],{'recursive':!![]});}return this['_tempDir'];}[a0_0xd0cd3d(0x13e)](_0x1d0c7c={}){const _0xe86f73=a0_0xd0cd3d,_0x7db3e7={'pBumE':_0xe86f73(0x151)},_0x4a3edb=_0x1d0c7c[_0xe86f73(0x13a)]||0x5,_0x17d7c8=this[_0xe86f73(0x154)](_0x1d0c7c[_0xe86f73(0x157)]||_0xe86f73(0x127)),_0xa6bc13=_0x1d0c7c[_0xe86f73(0x13b)]||[],_0x4e735c=multer[_0xe86f73(0x129)]({'destination':(_0x1e5777,_0xb9762d,_0x3790b3)=>{const _0x5a5347=_0xe86f73;!fsSync[_0x5a5347(0x148)](this[_0x5a5347(0x145)])&&fsSync[_0x5a5347(0x131)](this['tempDir'],{'recursive':!![]}),_0x3790b3(null,this[_0x5a5347(0x145)]);},'filename':(_0x2900cc,_0x4e6878,_0x427d51)=>{const _0xd1acf3=_0xe86f73,_0x1afdeb=crypto['randomBytes'](0x8)['toString']('hex'),_0x30e7d2=Date['now'](),_0x49d8a1=path['extname'](_0x4e6878[_0xd1acf3(0x15a)]);_0x427d51(null,_0xd1acf3(0x133)+_0x30e7d2+'-'+_0x1afdeb+_0x49d8a1);}}),_0x2dcfa3=(_0x1ae3ea,_0x1578a7,_0xca2cd)=>{const _0x1f60c0=_0xe86f73;if(_0xa6bc13['length']===0x0)return _0xca2cd(null,!![]);const _0x27280b=path[_0x1f60c0(0x128)](_0x1578a7['originalname'])[_0x1f60c0(0x156)]()[_0x1f60c0(0x137)]('.','');_0xa6bc13[_0x1f60c0(0x134)](_0x27280b)?_0xca2cd(null,!![]):_0xca2cd(new Error('File\x20type\x20\x22.'+_0x27280b+'\x22\x20is\x20not\x20allowed.\x20Allowed\x20types:\x20'+_0xa6bc13['join'](',\x20')));};return multer({'storage':_0x4e735c,'limits':{'fileSize':_0x17d7c8,'files':_0x4a3edb},'fileFilter':_0x2dcfa3})[_0xe86f73(0x159)](_0x7db3e7[_0xe86f73(0x130)],_0x4a3edb);}async['processUploadedFiles'](_0x50d9a5,_0x54c92d,_0x2ed00e={}){const _0x2716ca=a0_0xd0cd3d,_0x51125f={'fJyhb':'upload_v2_process_error'},{createFileMetadata:_0x140a28}=require('../storage/file-metadata-helper'),_0x3347df=[];for(const _0x520ce1 of _0x50d9a5){try{const _0x49e8dd=_0x54c92d['generateKey'](_0x520ce1[_0x2716ca(0x15a)],{'prefix':_0x2ed00e[_0x2716ca(0x140)]||'','project':_0x2ed00e[_0x2716ca(0x12a)]||'','module':_0x2ed00e[_0x2716ca(0x138)]||'','endpoint':_0x2ed00e['endpoint']||''}),_0x59b66e=fsSync[_0x2716ca(0x142)](_0x520ce1['path']),_0x18f8e7=await _0x54c92d['upload'](_0x59b66e,_0x49e8dd,{'contentType':_0x520ce1['mimetype'],'fileSize':_0x520ce1['size']}),_0x53387d=_0x140a28({'key':_0x18f8e7[_0x2716ca(0x15d)],'originalName':_0x520ce1['originalname'],'fileName':path[_0x2716ca(0x15c)](_0x49e8dd),'contentType':_0x520ce1[_0x2716ca(0x144)],'size':_0x520ce1['size'],'url':_0x18f8e7['url'],'provider':_0x54c92d[_0x2716ca(0x158)],'bucket':_0x54c92d['bucket']||null,'uploadedBy':_0x2ed00e['uploadedBy']||null});_0x3347df[_0x2716ca(0x13c)](_0x53387d);}catch(_0x3dfbbf){logger[_0x2716ca(0x13d)]({'event':_0x51125f[_0x2716ca(0x14d)],'file':_0x520ce1[_0x2716ca(0x15a)],'error':_0x3dfbbf['message']},_0x2716ca(0x135)+_0x520ce1[_0x2716ca(0x15a)]);throw _0x3dfbbf;}finally{await this[_0x2716ca(0x14c)](_0x520ce1[_0x2716ca(0x12e)]);}}return _0x3347df;}async[a0_0xd0cd3d(0x14c)](_0x2afbd8){const _0x22cef1=a0_0xd0cd3d,_0x16d36b={'nqBzs':'upload_v2_temp_delete_warn','KuOYW':'Failed\x20to\x20delete\x20temp\x20file'};try{await fs[_0x22cef1(0x146)](_0x2afbd8);}catch(_0x2b8824){logger['warn']({'event':_0x16d36b['nqBzs'],'filePath':_0x2afbd8,'error':_0x2b8824[_0x22cef1(0x12f)]},_0x16d36b['KuOYW']);}}['_parseFileSize'](_0x260da9){const _0x5d7cdb=a0_0xd0cd3d,_0x25d29b={'TgSqw':function(_0x502371,_0x145ff5){return _0x502371(_0x145ff5);},'gSYhF':function(_0x5a0a8e,_0x4a57ca){return _0x5a0a8e*_0x4a57ca;},'erhtI':function(_0x33361c,_0x1dc77b){return _0x33361c(_0x1dc77b);},'SFvmN':function(_0x207936,_0x2861da){return _0x207936*_0x2861da;}};if(typeof _0x260da9==='number')return _0x260da9;const _0x366825=_0x25d29b[_0x5d7cdb(0x139)](String,_0x260da9)['trim']()[_0x5d7cdb(0x132)](/^(\d+(?:\.\d+)?)\s*(B|KB|MB|GB)$/i);if(!_0x366825)return _0x25d29b['gSYhF'](0xa*0x400,0x400);const _0x3fefdd=_0x25d29b[_0x5d7cdb(0x150)](parseFloat,_0x366825[0x1]),_0xc73593=_0x366825[0x2]['toUpperCase'](),_0xf6ffce={'B':0x1,'KB':0x400,'MB':0x400*0x400,'GB':_0x25d29b[_0x5d7cdb(0x153)](0x400,0x400)*0x400};return Math['floor'](_0x25d29b['SFvmN'](_0x3fefdd,_0xf6ffce[_0xc73593]||0x1));}}function a0_0x5ec4(){const _0x1464ed=['m0Dlu0jXtW','mteWmtu1nwHxDfj5wG','zxjODeK','zMLSzxm','mtj6whbwzxq','z1nzAey','x3bHCNnLrMLSzvnPEMu','DgvTCa','Dg9mB3DLCKnHC2u','Bwf4rMLSzvnPEMu','ChjVDMLKzxjoyw1L','yxjYyxK','B3jPz2LUywXUyw1L','AM9PBG','yMfZzw5HBwu','A2v5','x3rLBxbeAxi','DxbSB2fKCW','mtm1mdu4tuvws1vX','ndu1neDUEw9SBG','m0DKv2PQsa','mtbnqG','zxH0BMfTzq','zgLZA1n0B3jHz2u','ChjVAMvJDa','mZiWnJaWr0fOBe9O','zgvMyxvSDa','nZC0odq4q25ZtMTI','Cgf0Aa','BwvZC2fNzq','Cej1Buu','BwTKAxjtEw5J','Bwf0y2G','DxbSB2fKlq','Aw5JBhvKzxm','rMfPBgvKihrVihbYB2nLC3mGDxbSB2fKzwqGzMLSztOG','ovbxuKXqBW','CMvWBgfJzq','Bw9KDwXL','vgDtCxC','Bwf4rMLSzxm','ywXSB3DLzfr5CgvZ','ChvZAa','zxjYB3i','y3jLyxrLvxbSB2fKtwLKzgXLD2fYzq','y3DK','ChjLzML4','mtaYEejbCNLY','y3jLyxrLuMvHzfn0CMvHBq','ndy0ndvoCfHkBvq','BwLTzxr5Cgu','DgvTCerPCG','Dw5SAw5R','CxzPCvm','zxHPC3rZu3LUyW','mJy1mhHwv253ua','mtq3mJm2nNHuweXlrW','BxvSDgvY','x2rLBgv0zvrLBxbgAwXL','zKP5Agi'];a0_0x5ec4=function(){return _0x1464ed;};return a0_0x5ec4();}module['exports']=new UploadHandlerV2();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a0_0x2566c4=a0_0x4f3c;(function(_0x31f8be,_0x26ef75){const _0x16420c=a0_0x4f3c,_0x34d51e=_0x31f8be();while(!![]){try{const _0x4b3080=-parseInt(_0x16420c(0x1c7))/0x1*(-parseInt(_0x16420c(0x1ce))/0x2)+parseInt(_0x16420c(0x1e6))/0x3*(-parseInt(_0x16420c(0x1da))/0x4)+parseInt(_0x16420c(0x1d2))/0x5+parseInt(_0x16420c(0x1d8))/0x6+parseInt(_0x16420c(0x1cd))/0x7*(parseInt(_0x16420c(0x1cc))/0x8)+-parseInt(_0x16420c(0x1c0))/0x9*(parseInt(_0x16420c(0x1d4))/0xa)+parseInt(_0x16420c(0x1c2))/0xb;if(_0x4b3080===_0x26ef75)break;else _0x34d51e['push'](_0x34d51e['shift']());}catch(_0x5cde6b){_0x34d51e['push'](_0x34d51e['shift']());}}}(a0_0x2941,0x56b15));const multer=require('multer'),path=require(a0_0x2566c4(0x1e2)),crypto=require('crypto'),fs=require('fs')[a0_0x2566c4(0x1d6)],fsSync=require('fs'),{logger}=require(a0_0x2566c4(0x1d5));function a0_0x2941(){const _0x29b4eb=['Dg9tDhjPBMC','zgvSzxrLrMLSzq','ndK2suX6z2fV','mJqYnJLmELHgzK4','nZi3nfz2AMDMCa','BwvZC2fNzq','CMfUzg9TqNL0zxm','DxbSB2fKrgLY','mtq3nZmWv1PPyKLV','Bwf4rMLSzvnPEMu','otbdt0Pyt0m','lI9SB2DNzxi','ChjVBwLZzxm','zxH0BMfTzq','mJGZmdyYENHxtMHx','z3rLyu4','mtC2ALvRChzK','yxbWBgLJyxrPB24VDM5KlM1Zlwv4y2vS','x3vWBg9HzerPCG','v2rYu3y','DxbSB2fKx2zPBgvFzgvSzxrLza','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNnWCMvHzhnOzwv0BwWUC2HLzxq','z2v0vxbSB2fKtwLKzgXLD2fYzq','rMfPBgvKihrVigLUAxrPywXPEMuGDxbSB2fKigHHBMrSzxi','Cgf0Aa','vxbSB2fKigHHBMrSzxiGAw5PDgLHBgL6zwq','sw52ywXPzcbMAwXLihr5CguUie9UBhKGlNHSC3GGzMLSzxmGyxjLigfSBg93zwq','DxbSB2fKx2HHBMrSzxjFAw5PDa','mtq1nJv6y3nJsNa','B3jPz2LUywXUyw1L','zxjYB3i','ndmWmdaYEerMrNvA','Aw5JBhvKzxm','mJi1nJq1mM9uqw5TyW','zgPSqw8','Aw5MBW','v0Xhv3G','BwTKAxjtEw5J','mtm4yLfgAxbk','zxHPC3rZu3LUyW','ugTnuhK'];a0_0x2941=function(){return _0x29b4eb;};return a0_0x2941();}function a0_0x4f3c(_0x5aa16c,_0x2465ee){_0x5aa16c=_0x5aa16c-0x1bf;const _0x294147=a0_0x2941();let _0x4f3c89=_0x294147[_0x5aa16c];if(a0_0x4f3c['PMzzxK']===undefined){var _0x3297ee=function(_0x1429f1){const _0x73003f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x644813='',_0x392827='';for(let _0x18492b=0x0,_0x421e54,_0x333c76,_0x3394d4=0x0;_0x333c76=_0x1429f1['charAt'](_0x3394d4++);~_0x333c76&&(_0x421e54=_0x18492b%0x4?_0x421e54*0x40+_0x333c76:_0x333c76,_0x18492b++%0x4)?_0x644813+=String['fromCharCode'](0xff&_0x421e54>>(-0x2*_0x18492b&0x6)):0x0){_0x333c76=_0x73003f['indexOf'](_0x333c76);}for(let _0x2bd45c=0x0,_0x246234=_0x644813['length'];_0x2bd45c<_0x246234;_0x2bd45c++){_0x392827+='%'+('00'+_0x644813['charCodeAt'](_0x2bd45c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x392827);};a0_0x4f3c['rIFXAb']=_0x3297ee,a0_0x4f3c['IoSvWQ']={},a0_0x4f3c['PMzzxK']=!![];}const _0x33fb86=_0x294147[0x0],_0x3ba6a3=_0x5aa16c+_0x33fb86,_0x309407=a0_0x4f3c['IoSvWQ'][_0x3ba6a3];return!_0x309407?(_0x4f3c89=a0_0x4f3c['rIFXAb'](_0x4f3c89),a0_0x4f3c['IoSvWQ'][_0x3ba6a3]=_0x4f3c89):_0x4f3c89=_0x309407,_0x4f3c89;}class UploadHandler{constructor(){const _0x3e0410=a0_0x2566c4,_0x4c5ee7={'WLGWx':function(_0x3c39db,_0xe85cdc){return _0x3c39db*_0xe85cdc;}};this['_uploadDir']=null,this['maxFileSize']=_0x4c5ee7[_0x3e0410(0x1c5)](0xa*0x400,0x400);}get['uploadDir'](){const _0x1cb5cb=a0_0x2566c4,_0x2013e1={'WdrSv':_0x1cb5cb(0x1e3),'gteaN':'upload_handler_init_error'};if(!this['_uploadDir']){const _0x48bff3=process['env']['RESTFORGE_PROJECT_NAME']||'default';this['_uploadDir']=process['env']['UPLOAD_DIR']||path['join'](__dirname,'../../temp/uploads/'+_0x48bff3);try{!fsSync[_0x1cb5cb(0x1c8)](this['_uploadDir'])&&fsSync['mkdirSync'](this[_0x1cb5cb(0x1dc)],{'recursive':!![]}),logger['info']({'event':_0x1cb5cb(0x1e5),'dir':this[_0x1cb5cb(0x1dc)]},_0x2013e1[_0x1cb5cb(0x1dd)]);}catch(_0xc9fb24){logger[_0x1cb5cb(0x1bf)]({'event':_0x2013e1[_0x1cb5cb(0x1d9)],'error':_0xc9fb24[_0x1cb5cb(0x1cf)]},_0x1cb5cb(0x1e1));}}return this[_0x1cb5cb(0x1dc)];}['getStorage'](){const _0xb74b43={'isqdZ':function(_0x16f20a,_0x53a650,_0x17e773){return _0x16f20a(_0x53a650,_0x17e773);},'NPTpg':'hex'};return multer['diskStorage']({'destination':(_0x224172,_0x1aa003,_0x31d568)=>{const _0x1ed7b8=a0_0x4f3c;!fsSync[_0x1ed7b8(0x1c8)](this['uploadDir'])&&fsSync[_0x1ed7b8(0x1c6)](this[_0x1ed7b8(0x1d1)],{'recursive':!![]}),_0xb74b43['isqdZ'](_0x31d568,null,this[_0x1ed7b8(0x1d1)]);},'filename':(_0x178ad3,_0x467ff7,_0x4bcfbe)=>{const _0x165c8d=a0_0x4f3c,_0x3691da=crypto[_0x165c8d(0x1d0)](0x8)[_0x165c8d(0x1ca)](_0xb74b43['NPTpg']),_0x49aa42=Date['now'](),_0x32093b=path['extname'](_0x467ff7[_0x165c8d(0x1e7)]);_0xb74b43['isqdZ'](_0x4bcfbe,null,'upload-'+_0x49aa42+'-'+_0x3691da+_0x32093b);}});}[a0_0x2566c4(0x1e0)](){const _0xe96432=a0_0x2566c4,_0x322654={'PkMPy':_0xe96432(0x1df),'qRrxw':'.xls','BTyWe':function(_0x568d84,_0x2a3f0c,_0x97e675){return _0x568d84(_0x2a3f0c,_0x97e675);},'deorx':function(_0x35fe0d,_0x38c756){return _0x35fe0d(_0x38c756);}};return _0x322654['deorx'](multer,{'storage':this['getStorage'](),'limits':{'fileSize':this[_0xe96432(0x1d3)],'files':0x1},'fileFilter':(_0x151377,_0x1a02c8,_0x51f858)=>{const _0x25dc4d=_0xe96432,_0x4a02f4=[_0x322654[_0x25dc4d(0x1c9)],_0x25dc4d(0x1db)],_0x780623=['.xlsx',_0x322654['qRrxw']],_0x263aa1=path[_0x25dc4d(0x1d7)](_0x1a02c8['originalname'])['toLowerCase']();_0x4a02f4['includes'](_0x1a02c8['mimetype'])&&_0x780623[_0x25dc4d(0x1c1)](_0x263aa1)?_0x322654['BTyWe'](_0x51f858,null,!![]):_0x51f858(new Error(_0x25dc4d(0x1e4)));}})['single']('file');}async[a0_0x2566c4(0x1cb)](_0x54019e){const _0x155e96=a0_0x2566c4,_0x347e8={'zHUzh':'Uploaded\x20file\x20deleted','djlAo':'Failed\x20to\x20delete\x20uploaded\x20file'};try{await fs['unlink'](_0x54019e),logger[_0x155e96(0x1c4)]({'event':_0x155e96(0x1de),'filePath':_0x54019e},_0x347e8['zHUzh']);}catch(_0x310a2a){logger['error']({'event':'upload_file_delete_error','filePath':_0x54019e,'error':_0x310a2a[_0x155e96(0x1cf)]},_0x347e8[_0x155e96(0x1c3)]);}}}module['exports']=new UploadHandler();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a0_0x38019e=a0_0xd00c;function a0_0x3ac9(){const _0x48874f=['m3DTDwXJBa','mJGZmti4ohn6re5eAa','C3rHDhvZ','sw5Zzxj0ihDLyMHVB2SGC2vUDcbZDwnJzxnZzNvSBhK','odmXnJi4ofDZyKf6zW','rMfPBgvKihrVihnLBMqGAw5Zzxj0ihDLyMHVB2S','ndiWrK9ntwLo','mZmWmdzKv1r1vuq','mtu1odq5ng9Qq3nyza','AuPzA2u','yxbWBgLJyxrPB24VANnVBG','zgvSzxrL','ywjbvei','BwvZC2fNzq','yxHPB3m','Cg9ZDa','nLfRwNLdAW','A2TTrNu','Dg9ju09tDhjPBMC','rgvSzxrLihDLyMHVB2SGC2vUDcbZDwnJzxnZzNvSBhK','mJaZnZLkyNPPt20','ndKYntmWnu5dBxPYuW','sw5Zzxj0ihDLyMHVB2SGC2vUDcb0BYa','lcbtDgf0Dxm6ia','mty5mtC4mJblrwPKtNK','uMvZDezVCMDLlvDLyMHVB2SVms4W','rxjYB3iGC2vUzgLUzYbKzwXLDguGD2vIAg9VAZO','zxjYB3i'];a0_0x3ac9=function(){return _0x48874f;};return a0_0x3ac9();}(function(_0x3e309a,_0x193041){const _0x1a73ec=a0_0xd00c,_0x4fc0e7=_0x3e309a();while(!![]){try{const _0x47db3f=-parseInt(_0x1a73ec(0x1ac))/0x1*(parseInt(_0x1a73ec(0x1a8))/0x2)+parseInt(_0x1a73ec(0x1b4))/0x3*(parseInt(_0x1a73ec(0x1b5))/0x4)+-parseInt(_0x1a73ec(0x1ad))/0x5+parseInt(_0x1a73ec(0x1bb))/0x6*(parseInt(_0x1a73ec(0x1ba))/0x7)+-parseInt(_0x1a73ec(0x1b8))/0x8+parseInt(_0x1a73ec(0x1bc))/0x9+parseInt(_0x1a73ec(0x1b0))/0xa;if(_0x47db3f===_0x193041)break;else _0x4fc0e7['push'](_0x4fc0e7['shift']());}catch(_0x2fe498){_0x4fc0e7['push'](_0x4fc0e7['shift']());}}}(a0_0x3ac9,0xc77c8));function a0_0xd00c(_0x1042e6,_0x16e93d){_0x1042e6=_0x1042e6-0x1a6;const _0x3ac930=a0_0x3ac9();let _0xd00c93=_0x3ac930[_0x1042e6];if(a0_0xd00c['LBdROk']===undefined){var _0x1e0022=function(_0x166f4b){const _0x3cf271='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x534df8='',_0x6c371='';for(let _0x4b5cd2=0x0,_0x194792,_0x6e4ff7,_0x5b19c6=0x0;_0x6e4ff7=_0x166f4b['charAt'](_0x5b19c6++);~_0x6e4ff7&&(_0x194792=_0x4b5cd2%0x4?_0x194792*0x40+_0x6e4ff7:_0x6e4ff7,_0x4b5cd2++%0x4)?_0x534df8+=String['fromCharCode'](0xff&_0x194792>>(-0x2*_0x4b5cd2&0x6)):0x0){_0x6e4ff7=_0x3cf271['indexOf'](_0x6e4ff7);}for(let _0x46c935=0x0,_0x48973e=_0x534df8['length'];_0x46c935<_0x48973e;_0x46c935++){_0x6c371+='%'+('00'+_0x534df8['charCodeAt'](_0x46c935)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x6c371);};a0_0xd00c['xpLhtL']=_0x1e0022,a0_0xd00c['MoiVRe']={},a0_0xd00c['LBdROk']=!![];}const _0x4f0325=_0x3ac930[0x0],_0x40495e=_0x1042e6+_0x4f0325,_0x34c783=a0_0xd00c['MoiVRe'][_0x40495e];return!_0x34c783?(_0xd00c93=a0_0xd00c['xpLhtL'](_0xd00c93),a0_0xd00c['MoiVRe'][_0x40495e]=_0xd00c93):_0xd00c93=_0x34c783,_0xd00c93;}const axios=require(a0_0x38019e(0x1a6));async function sendInsertWebhook(_0xecf519,_0x5e086e,_0xb94154={}){const _0x3f1ad4=a0_0x38019e,_0x41c30e={'abATB':_0x3f1ad4(0x1b7)};try{const _0x5bdf9a={'event':'insert','timestamp':new Date()['toISOString'](),'data':_0x5e086e},_0x308759=await axios['post'](_0xecf519,_0x5bdf9a,{'headers':{'Content-Type':_0x3f1ad4(0x1be),'User-Agent':_0x3f1ad4(0x1b1),..._0xb94154},'timeout':0x2710});return console['log'](_0x3f1ad4(0x1ae)+_0xecf519+_0x3f1ad4(0x1af)+_0x308759[_0x3f1ad4(0x1b6)]),{'success':!![],'message':_0x41c30e[_0x3f1ad4(0x1c0)],'status':_0x308759[_0x3f1ad4(0x1b6)],'url':_0xecf519};}catch(_0xc58bc5){return console['error']('Error\x20sending\x20insert\x20webhook:',_0xc58bc5[_0x3f1ad4(0x1c1)]),{'success':![],'message':_0x3f1ad4(0x1b9),'error':_0xc58bc5[_0x3f1ad4(0x1c1)],'url':_0xecf519};}}async function sendDeleteWebhook(_0x4e88d5,_0x477771,_0x394d6e={}){const _0x23f237=a0_0x38019e,_0x343f6f={'iJYke':_0x23f237(0x1ab),'kkmFu':'Failed\x20to\x20send\x20delete\x20webhook'};try{const _0x1bdd66={'event':_0x23f237(0x1bf),'timestamp':new Date()[_0x23f237(0x1aa)](),'deleted_data':_0x477771},_0x1c2873=await axios[_0x23f237(0x1a7)](_0x4e88d5,_0x1bdd66,{'headers':{'Content-Type':_0x23f237(0x1be),'User-Agent':'RestForge-Webhook/1.0',..._0x394d6e},'timeout':0x2710});return console['log']('Delete\x20webhook\x20sent\x20to\x20'+_0x4e88d5+_0x23f237(0x1af)+_0x1c2873['status']),{'success':!![],'message':_0x343f6f[_0x23f237(0x1bd)],'status':_0x1c2873['status'],'url':_0x4e88d5};}catch(_0x29650a){return console[_0x23f237(0x1b3)](_0x23f237(0x1b2),_0x29650a[_0x23f237(0x1c1)]),{'success':![],'message':_0x343f6f[_0x23f237(0x1a9)],'error':_0x29650a['message'],'url':_0x4e88d5};}}module['exports']={'sendInsertWebhook':sendInsertWebhook,'sendDeleteWebhook':sendDeleteWebhook};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a0_0x2cc0(_0x2a2471,_0xf38092){_0x2a2471=_0x2a2471-0xf8;const _0x42b57e=a0_0x42b5();let _0x2cc070=_0x42b57e[_0x2a2471];if(a0_0x2cc0['IqYUmW']===undefined){var _0x5154b4=function(_0x2a5b4b){const _0x228635='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4701ce='',_0x5b681a='';for(let _0x4d679a=0x0,_0x205b4b,_0x468d39,_0x5b3bb3=0x0;_0x468d39=_0x2a5b4b['charAt'](_0x5b3bb3++);~_0x468d39&&(_0x205b4b=_0x4d679a%0x4?_0x205b4b*0x40+_0x468d39:_0x468d39,_0x4d679a++%0x4)?_0x4701ce+=String['fromCharCode'](0xff&_0x205b4b>>(-0x2*_0x4d679a&0x6)):0x0){_0x468d39=_0x228635['indexOf'](_0x468d39);}for(let _0x182ea0=0x0,_0x58b1bd=_0x4701ce['length'];_0x182ea0<_0x58b1bd;_0x182ea0++){_0x5b681a+='%'+('00'+_0x4701ce['charCodeAt'](_0x182ea0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5b681a);};a0_0x2cc0['kLUprO']=_0x5154b4,a0_0x2cc0['wIBOLm']={},a0_0x2cc0['IqYUmW']=!![];}const _0x479981=_0x42b57e[0x0],_0x1700f0=_0x2a2471+_0x479981,_0x2d6851=a0_0x2cc0['wIBOLm'][_0x1700f0];return!_0x2d6851?(_0x2cc070=a0_0x2cc0['kLUprO'](_0x2cc070),a0_0x2cc0['wIBOLm'][_0x1700f0]=_0x2cc070):_0x2cc070=_0x2d6851,_0x2cc070;}(function(_0x384fbb,_0x3aa8ca){const _0x484ef6=a0_0x2cc0,_0x571b33=_0x384fbb();while(!![]){try{const _0x484e67=-parseInt(_0x484ef6(0x10f))/0x1*(-parseInt(_0x484ef6(0x10e))/0x2)+-parseInt(_0x484ef6(0x100))/0x3*(parseInt(_0x484ef6(0x114))/0x4)+-parseInt(_0x484ef6(0x105))/0x5*(-parseInt(_0x484ef6(0x113))/0x6)+parseInt(_0x484ef6(0xfb))/0x7+parseInt(_0x484ef6(0xfa))/0x8*(parseInt(_0x484ef6(0xff))/0x9)+-parseInt(_0x484ef6(0x109))/0xa*(parseInt(_0x484ef6(0x104))/0xb)+parseInt(_0x484ef6(0x107))/0xc;if(_0x484e67===_0x3aa8ca)break;else _0x571b33['push'](_0x571b33['shift']());}catch(_0x5d2c44){_0x571b33['push'](_0x571b33['shift']());}}}(a0_0x42b5,0x7a591));const express=require('express'),{logger}=require('../../utils/logger');function createLockRoutes(){const _0x29c564=a0_0x2cc0,_0x281d6d={'OVptU':function(_0x310ed3,_0x472aec){return _0x310ed3||_0x472aec;},'rCHVd':_0x29c564(0x102),'hJkWc':function(_0x4d6222){return _0x4d6222();},'eKjbw':'lock_acquire_route_error','xEmWe':function(_0xca3216){return _0xca3216();},'XhHeI':'lock_release_route_error','feSqL':_0x29c564(0x103),'ivbJM':function(_0x1c008d,_0x4cb396){return _0x1c008d||_0x4cb396;},'NqGPK':'/release','LPCQI':'/status'},_0x2d5c3d=express['Router']();let _0xb570bf=null;function _0x314700(){const _0x475d8f=_0x29c564;return!_0xb570bf&&(_0xb570bf=require(_0x475d8f(0x10c))),_0xb570bf;}return _0x2d5c3d['post'](_0x29c564(0x118),async(_0x257b1e,_0x1e8c6b)=>{const _0x35b7b9=_0x29c564;try{const {resource:_0x21fff5,lock_keys:_0xe0c898,ttl:_0x1d8fda,owner:_0x52fec2}=_0x257b1e['body'];if(_0x281d6d['OVptU'](!_0x21fff5,!_0xe0c898)||!_0x1d8fda||!_0x52fec2)return _0x1e8c6b[_0x35b7b9(0x117)](0x190)['json']({'success':![],'error':_0x281d6d['rCHVd']});const _0x12ab03=_0x281d6d[_0x35b7b9(0x115)](_0x314700),_0x220e10=await _0x12ab03[_0x35b7b9(0x110)]({'resource':_0x21fff5,'lockKeys':_0xe0c898,'ttl':_0x1d8fda,'owner':_0x52fec2});if(_0x220e10['success'])return _0x1e8c6b['json'](_0x220e10);const _0x5f457b=_0x220e10['error']==='Resource\x20lock\x20conflict'?0x199:0x190;return _0x1e8c6b[_0x35b7b9(0x117)](_0x5f457b)[_0x35b7b9(0xf9)](_0x220e10);}catch(_0x4d008c){logger['error']({'event':_0x281d6d['eKjbw'],'error':_0x4d008c['message']},_0x35b7b9(0x119)+_0x4d008c['message']),_0x1e8c6b['status'](0x1f4)[_0x35b7b9(0xf9)]({'success':![],'error':'Internal\x20server\x20error\x20during\x20lock\x20acquisition'});}}),_0x2d5c3d[_0x29c564(0x111)](_0x281d6d[_0x29c564(0xfc)],async(_0x53c7d1,_0x4c62a2)=>{const _0x5ba9c4=_0x29c564;try{const {resource:_0x4dc2b4,lock_keys:_0x1d4546,lock_token:_0x2559bd}=_0x53c7d1['body'];if(!_0x4dc2b4||!_0x1d4546||!_0x2559bd)return _0x4c62a2['status'](0x190)['json']({'success':![],'error':_0x5ba9c4(0x108)});const _0x259f83=_0x281d6d[_0x5ba9c4(0x10a)](_0x314700),_0xf2e791=await _0x259f83[_0x5ba9c4(0x101)]({'resource':_0x4dc2b4,'lockKeys':_0x1d4546,'lockToken':_0x2559bd});if(_0xf2e791[_0x5ba9c4(0x116)])return _0x4c62a2[_0x5ba9c4(0xf9)](_0xf2e791);return _0x4c62a2['status'](0x190)[_0x5ba9c4(0xf9)](_0xf2e791);}catch(_0x534e51){logger['error']({'event':_0x281d6d['XhHeI'],'error':_0x534e51['message']},_0x5ba9c4(0x10b)+_0x534e51['message']),_0x4c62a2['status'](0x1f4)['json']({'success':![],'error':_0x281d6d[_0x5ba9c4(0xf8)]});}}),_0x2d5c3d[_0x29c564(0x111)](_0x281d6d['LPCQI'],async(_0x3e358c,_0x177c6c)=>{const _0x3396e1=_0x29c564;try{const {resource:_0x1750d0,lock_keys:_0x4ffcd7}=_0x3e358c['body'];if(_0x281d6d['ivbJM'](!_0x1750d0,!_0x4ffcd7))return _0x177c6c[_0x3396e1(0x117)](0x190)['json']({'success':![],'error':_0x3396e1(0xfe)});const _0x581209=_0x314700(),_0x57a390=await _0x581209['getResourceLockStatus']({'resource':_0x1750d0,'lockKeys':_0x4ffcd7});if(_0x57a390[_0x3396e1(0x116)])return _0x177c6c['json'](_0x57a390);return _0x177c6c[_0x3396e1(0x117)](0x190)['json'](_0x57a390);}catch(_0x48a7d5){logger['error']({'event':_0x3396e1(0x10d),'error':_0x48a7d5['message']},_0x3396e1(0x106)+_0x48a7d5[_0x3396e1(0xfd)]),_0x177c6c['status'](0x1f4)['json']({'success':![],'error':_0x3396e1(0x112)});}}),_0x2d5c3d;}function a0_0x42b5(){const _0x1278c9=['sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRihjLBgvHC2u','ndCWndDHs2TRB3y','ndaZmtKXnxPuC1j4za','tg9JAYbZDgf0DxmGCM91DguGzxjYB3i6ia','ndq2odm0ngvsD1vHDW','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExmSigXVy2TFDg9Rzw4','mJiXmfnMz3bTuW','EevTv2u','tg9JAYbYzwXLyxnLihjVDxrLigvYCM9YoIa','lI9YzxnVDxjJzs1SB2nRlw1HBMfNzxi','Bg9JA19ZDgf0DxnFCM91DgvFzxjYB3i','mNf6A2rUEa','mtaZotK3A01rvvve','ywnXDwLYzvjLC291CMnLtg9JA3m','Cg9ZDa','sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRihn0yxr1CYbJAgvJAW','nNzfD3z0ua','otmYodiWChzOyvLQ','AePRv2m','C3vJy2vZCW','C3rHDhvZ','l2fJCxvPCMu','tg9JAYbHy3f1AxjLihjVDxrLigvYCM9YoIa','zMvtCuW','ANnVBG','mtzqDM1YDge','nty2ndy1ouDJt0vcuG','tNfhueS','BwvZC2fNzq','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExm','mJqYotu1shHzsvfi','ow9zze5cyG','CMvSzwfZzvjLC291CMnLtg9JA3m','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExmSihr0BcWGB3DUzxi'];a0_0x42b5=function(){return _0x1278c9;};return a0_0x42b5();}module['exports']=createLockRoutes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x1e85ee=a0_0x3f1c;function a0_0x3f1c(_0x43ec91,_0x26a73b){_0x43ec91=_0x43ec91-0xc1;const _0x3fbb2b=a0_0x3fbb();let _0x3f1c16=_0x3fbb2b[_0x43ec91];if(a0_0x3f1c['JOWyYG']===undefined){var _0x1fbf91=function(_0x25b1aa){const _0x2a4d5c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2dac6c='',_0x15775e='';for(let _0x2ec83f=0x0,_0x19c8c0,_0x1d64d9,_0x3bd999=0x0;_0x1d64d9=_0x25b1aa['charAt'](_0x3bd999++);~_0x1d64d9&&(_0x19c8c0=_0x2ec83f%0x4?_0x19c8c0*0x40+_0x1d64d9:_0x1d64d9,_0x2ec83f++%0x4)?_0x2dac6c+=String['fromCharCode'](0xff&_0x19c8c0>>(-0x2*_0x2ec83f&0x6)):0x0){_0x1d64d9=_0x2a4d5c['indexOf'](_0x1d64d9);}for(let _0x305ba5=0x0,_0x54b149=_0x2dac6c['length'];_0x305ba5<_0x54b149;_0x305ba5++){_0x15775e+='%'+('00'+_0x2dac6c['charCodeAt'](_0x305ba5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x15775e);};a0_0x3f1c['svCqyS']=_0x1fbf91,a0_0x3f1c['XExdeL']={},a0_0x3f1c['JOWyYG']=!![];}const _0x56100d=_0x3fbb2b[0x0],_0x27ec37=_0x43ec91+_0x56100d,_0x16cd6f=a0_0x3f1c['XExdeL'][_0x27ec37];return!_0x16cd6f?(_0x3f1c16=a0_0x3f1c['svCqyS'](_0x3f1c16),a0_0x3f1c['XExdeL'][_0x27ec37]=_0x3f1c16):_0x3f1c16=_0x16cd6f,_0x3f1c16;}(function(_0x3dab0d,_0x2fc5d0){const _0x5ee4d8=a0_0x3f1c,_0x5eda41=_0x3dab0d();while(!![]){try{const _0x4504d2=parseInt(_0x5ee4d8(0xc8))/0x1+-parseInt(_0x5ee4d8(0xd4))/0x2*(parseInt(_0x5ee4d8(0xe2))/0x3)+parseInt(_0x5ee4d8(0xcb))/0x4+-parseInt(_0x5ee4d8(0xe5))/0x5+parseInt(_0x5ee4d8(0xf3))/0x6+-parseInt(_0x5ee4d8(0xda))/0x7*(-parseInt(_0x5ee4d8(0xc2))/0x8)+-parseInt(_0x5ee4d8(0xd8))/0x9;if(_0x4504d2===_0x2fc5d0)break;else _0x5eda41['push'](_0x5eda41['shift']());}catch(_0x4b7ea3){_0x5eda41['push'](_0x5eda41['shift']());}}}(a0_0x3fbb,0xe41e8));const redisClient=require(a0_0x1e85ee(0xc3)),{logger}=require(a0_0x1e85ee(0x103)),{v4:uuidv4}=require(a0_0x1e85ee(0xe8));function getPrefix(){const _0x300093=a0_0x1e85ee,_0x1f2ed0=process[_0x300093(0x102)][_0x300093(0xce)]||_0x300093(0xde);return _0x300093(0xf4)+_0x1f2ed0+':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{[a0_0x1e85ee(0xc9)](_0x2290a5,_0x5f381f,_0x4ce6b7){return''+getPrefix()+_0x2290a5+':'+_0x5f381f+':'+_0x4ce6b7;}[a0_0x1e85ee(0xe0)](_0x18f4b5){const _0x34013f={'eFtsg':function(_0x2441cd){return _0x2441cd();}};return _0x18f4b5+':'+_0x34013f['eFtsg'](uuidv4)+':'+Date['now']();}['extractOwner'](_0x5c7311){const _0x353be2=a0_0x1e85ee,_0x31c1e6={'gTUBI':_0x353be2(0xd1),'umTEi':function(_0x1044ea,_0x24bc69){return _0x1044ea>_0x24bc69;}};if(!_0x5c7311)return _0x31c1e6['gTUBI'];const _0x214657=_0x5c7311['indexOf'](':');return _0x31c1e6[_0x353be2(0xd7)](_0x214657,0x0)?_0x5c7311['substring'](0x0,_0x214657):_0x5c7311;}[a0_0x1e85ee(0xed)](){return parseInt(process['env']['LOCK_RESOURCE_MAX_TTL'],0xa)||DEFAULT_MAX_TTL_SECONDS;}async[a0_0x1e85ee(0x100)]({resource:_0x4058b1,lockKeys:_0x31fdf0,ttl:_0x1fbac5,owner:_0x183412}){const _0x46efb8=a0_0x1e85ee,_0x303e4a={'yUpZx':function(_0x3f4050,_0x341725){return _0x3f4050<_0x341725;},'YIdPK':_0x46efb8(0xe7),'dhDpI':'resource_lock_rollback_error','ZQHqL':_0x46efb8(0xcc)},_0x2bca99=this[_0x46efb8(0xe3)]({'resource':_0x4058b1,'lockKeys':_0x31fdf0,'ttl':_0x1fbac5,'owner':_0x183412});if(!_0x2bca99[_0x46efb8(0xff)])return{'success':![],'error':_0x2bca99[_0x46efb8(0xe4)]};const _0x1a3c2c=this[_0x46efb8(0xed)](),_0x609f69=Math['min'](_0x1fbac5,_0x1a3c2c),_0xe5c468=this[_0x46efb8(0xe0)](_0x183412),_0x5619b1=[];try{const _0x403c1a=redisClient['getClient']();for(let _0xeff8e1=0x0;_0x303e4a['yUpZx'](_0xeff8e1,_0x31fdf0['length']);_0xeff8e1++){const {key:_0x151d9e,value:_0x1d5860}=_0x31fdf0[_0xeff8e1],_0x39d896=this[_0x46efb8(0xc9)](_0x4058b1,_0x151d9e,_0x1d5860),_0x2216bf=await _0x403c1a['set'](_0x39d896,_0xe5c468,'EX',_0x609f69,'NX');if(_0x2216bf==='OK')_0x5619b1['push'](_0x39d896);else{await this['_rollbackKeys'](_0x403c1a,_0x5619b1,_0xe5c468);const _0x374114=await this['_getConflictInfo'](_0x403c1a,_0x39d896);return logger['warn']({'event':_0x303e4a['YIdPK'],'resource':_0x4058b1,'conflicting_key':{'key':_0x151d9e,'value':_0x1d5860},'locked_by':_0x374114[_0x46efb8(0xc7)],'ttl_remaining':_0x374114['ttlRemaining'],'attempted_by':_0x183412},'Resource\x20lock\x20conflict\x20on\x20'+_0x4058b1+':'+_0x151d9e+':'+_0x1d5860),{'success':![],'error':_0x46efb8(0x101),'data':{'conflicting_key':{'key':_0x151d9e,'value':_0x1d5860},'locked_by':_0x374114[_0x46efb8(0xc7)],'ttl_remaining':_0x374114[_0x46efb8(0xe6)]}};}}const _0x3e8652=_0x31fdf0[_0x46efb8(0x107)](({key:_0x39d6ca,value:_0x133093})=>({'key':_0x39d6ca,'value':_0x133093,'lock_key':this['buildKey'](_0x4058b1,_0x39d6ca,_0x133093)}));return logger['info']({'event':'resource_lock_acquired','resource':_0x4058b1,'keys_count':_0x31fdf0['length'],'ttl':_0x609f69,'owner':_0x183412},'Resource\x20lock\x20acquired:\x20'+_0x4058b1+'\x20('+_0x31fdf0[_0x46efb8(0xe1)]+_0x46efb8(0xdc)+_0x609f69+'s)'),{'success':!![],'data':{'lock_token':_0xe5c468,'resource':_0x4058b1,'locked_keys':_0x3e8652,'ttl':_0x609f69,'owner':_0x183412,'acquired_at':new Date()['toISOString']()}};}catch(_0x4e7777){try{const _0x5a0c7b=redisClient[_0x46efb8(0xf5)]();await this[_0x46efb8(0xdf)](_0x5a0c7b,_0x5619b1,_0xe5c468);}catch(_0xdfe2ac){logger['error']({'event':_0x303e4a['dhDpI'],'error':_0xdfe2ac['message']},_0x46efb8(0xea));}return logger['error']({'event':_0x303e4a['ZQHqL'],'resource':_0x4058b1,'owner':_0x183412,'error':_0x4e7777[_0x46efb8(0xf9)]},'Resource\x20lock\x20acquire\x20error:\x20'+_0x4e7777[_0x46efb8(0xf9)]),{'success':![],'error':'Lock\x20acquire\x20failed:\x20'+_0x4e7777['message']};}}async[a0_0x1e85ee(0xec)]({resource:_0x2cee8a,lockKeys:_0x152d58,lockToken:_0x5bb5b8}){const _0x4c7193=a0_0x1e85ee,_0x42f046={'ldyMj':function(_0x5b16df,_0xc50da9){return _0x5b16df===_0xc50da9;},'skigU':'resource_lock_released','oTENv':_0x4c7193(0xc6)},_0x5e2fe0=this[_0x4c7193(0x104)]({'resource':_0x2cee8a,'lockKeys':_0x152d58,'lockToken':_0x5bb5b8});if(!_0x5e2fe0[_0x4c7193(0xff)])return{'success':![],'error':_0x5e2fe0[_0x4c7193(0xe4)]};try{const _0x268467=redisClient[_0x4c7193(0xf5)]();let _0x24f9e9=0x0;for(const {key:_0x1afa7b,value:_0x57d79d}of _0x152d58){const _0x17ee03=this[_0x4c7193(0xc9)](_0x2cee8a,_0x1afa7b,_0x57d79d),_0x5cf920=await _0x268467[_0x4c7193(0xd0)](RELEASE_LUA_SCRIPT,0x1,_0x17ee03,_0x5bb5b8);_0x42f046['ldyMj'](_0x5cf920,0x1)&&_0x24f9e9++;}return logger[_0x4c7193(0xd2)]({'event':_0x42f046['skigU'],'resource':_0x2cee8a,'released_keys':_0x24f9e9,'total_keys':_0x152d58[_0x4c7193(0xe1)],'owner':this[_0x4c7193(0xc4)](_0x5bb5b8)},_0x4c7193(0xf2)+_0x2cee8a+'\x20('+_0x24f9e9+'/'+_0x152d58[_0x4c7193(0xe1)]+_0x4c7193(0xcd)),{'success':!![],'data':{'resource':_0x2cee8a,'released_keys':_0x24f9e9,'total_keys':_0x152d58[_0x4c7193(0xe1)]}};}catch(_0x7f4b59){return logger[_0x4c7193(0xe4)]({'event':_0x42f046[_0x4c7193(0xeb)],'resource':_0x2cee8a,'error':_0x7f4b59['message']},_0x4c7193(0xe9)+_0x7f4b59[_0x4c7193(0xf9)]),{'success':![],'error':_0x4c7193(0xd3)+_0x7f4b59[_0x4c7193(0xf9)]};}}async['getResourceLockStatus']({resource:_0x409181,lockKeys:_0xeedcf6}){const _0x2c4a03=a0_0x1e85ee,_0x2a9b52={'BlVDg':function(_0x32ce66,_0x385b10){return _0x32ce66===_0x385b10;},'vBCOC':function(_0x17eabb,_0x2e0ebe){return _0x17eabb!==_0x2e0ebe;}};if(!_0x409181||!Array['isArray'](_0xeedcf6)||_0x2a9b52[_0x2c4a03(0x105)](_0xeedcf6['length'],0x0))return{'success':![],'error':_0x2c4a03(0xf6)};try{const _0x3d45e9=redisClient['getClient'](),_0x3101ac=[];for(const {key:_0xbd5d27,value:_0x4a9953}of _0xeedcf6){const _0x427bc2=this[_0x2c4a03(0xc9)](_0x409181,_0xbd5d27,_0x4a9953),[_0x1fc4a8,_0xc07595]=await Promise['all']([_0x3d45e9['get'](_0x427bc2),_0x3d45e9['ttl'](_0x427bc2)]),_0xfb6e18=_0x2a9b52[_0x2c4a03(0xd5)](_0x1fc4a8,null);_0x3101ac[_0x2c4a03(0xd9)]({'key':_0xbd5d27,'value':_0x4a9953,'locked':_0xfb6e18,'owner':_0xfb6e18?this['extractOwner'](_0x1fc4a8):null,'ttl_remaining':_0xfb6e18&&_0xc07595>0x0?_0xc07595:null});}return{'success':!![],'data':{'resource':_0x409181,'keys':_0x3101ac}};}catch(_0x26d2ac){return logger['error']({'event':'resource_lock_status_error','resource':_0x409181,'error':_0x26d2ac['message']},_0x2c4a03(0xee)+_0x26d2ac['message']),{'success':![],'error':'Lock\x20status\x20check\x20failed:\x20'+_0x26d2ac['message']};}}async[a0_0x1e85ee(0xdf)](_0x368dee,_0x5ce0cc,_0xf23d71){const _0x4bea80=a0_0x1e85ee;for(const _0x415ec5 of _0x5ce0cc){try{await _0x368dee[_0x4bea80(0xd0)](RELEASE_LUA_SCRIPT,0x1,_0x415ec5,_0xf23d71);}catch(_0x3be8f6){logger['error']({'event':'resource_lock_rollback_key_error','key':_0x415ec5,'error':_0x3be8f6['message']},'Failed\x20to\x20rollback\x20key:\x20'+_0x415ec5);}}}async[a0_0x1e85ee(0xfd)](_0x536615,_0x2c0f62){const _0x1bdf32=a0_0x1e85ee,_0x5e0bba={'ElXmG':_0x1bdf32(0xd1)};try{const [_0x7f3dff,_0x32e952]=await Promise['all']([_0x536615[_0x1bdf32(0xfc)](_0x2c0f62),_0x536615[_0x1bdf32(0xcf)](_0x2c0f62)]);return{'owner':_0x7f3dff?this['extractOwner'](_0x7f3dff):_0x1bdf32(0xd1),'ttlRemaining':_0x32e952>0x0?_0x32e952:null};}catch{return{'owner':_0x5e0bba['ElXmG'],'ttlRemaining':null};}}[a0_0x1e85ee(0xe3)]({resource:_0x5e1028,lockKeys:_0x572f60,ttl:_0x9e0906,owner:_0x9b3225}){const _0x70f85a=a0_0x1e85ee,_0x253ca9={'qkWpR':_0x70f85a(0xfb),'SHBkN':_0x70f85a(0xc5),'mknWy':function(_0x4a7134,_0x30aa50){return _0x4a7134<_0x30aa50;},'xldhp':function(_0x184ea0,_0x95610){return _0x184ea0!==_0x95610;},'YbXLT':'string','MVlQW':_0x70f85a(0xd6)};if(!_0x5e1028||typeof _0x5e1028!==_0x70f85a(0xfa))return{'valid':![],'error':_0x253ca9['qkWpR']};if(!Array[_0x70f85a(0xf8)](_0x572f60)||_0x572f60['length']===0x0)return{'valid':![],'error':_0x253ca9[_0x70f85a(0xdb)]};if(_0x572f60['length']>0x64)return{'valid':![],'error':'lock_keys\x20exceeds\x20maximum\x20of\x20100\x20items'};for(let _0x226538=0x0;_0x253ca9[_0x70f85a(0x106)](_0x226538,_0x572f60['length']);_0x226538++){const _0x2b1b0c=_0x572f60[_0x226538];if(!_0x2b1b0c||!_0x2b1b0c[_0x70f85a(0xef)]||!_0x2b1b0c['value'])return{'valid':![],'error':'lock_keys['+_0x226538+_0x70f85a(0xf7)};}if(!_0x9e0906||typeof _0x9e0906!==_0x70f85a(0xc1)||_0x253ca9[_0x70f85a(0x106)](_0x9e0906,0x1))return{'valid':![],'error':_0x70f85a(0xdd)};const _0x916b64=this[_0x70f85a(0xed)]();if(_0x9e0906>_0x916b64)return{'valid':![],'error':'ttl\x20exceeds\x20maximum\x20of\x20'+_0x916b64+'\x20seconds.\x20Configure\x20LOCK_RESOURCE_MAX_TTL\x20to\x20increase.'};if(!_0x9b3225||_0x253ca9['xldhp'](typeof _0x9b3225,_0x253ca9['YbXLT']))return{'valid':![],'error':_0x253ca9['MVlQW']};return{'valid':!![]};}[a0_0x1e85ee(0x104)]({resource:_0x3e2d8f,lockKeys:_0x5af33d,lockToken:_0x11ddc3}){const _0x599530=a0_0x1e85ee,_0x4f8f80={'NiqDk':function(_0x23516a,_0x128b9b){return _0x23516a!==_0x128b9b;},'WDdcd':_0x599530(0xfa),'nNbhE':'lock_keys\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20array','PyhRO':_0x599530(0xfe)};if(!_0x3e2d8f||_0x4f8f80[_0x599530(0xf1)](typeof _0x3e2d8f,_0x4f8f80[_0x599530(0xf0)]))return{'valid':![],'error':_0x599530(0xfb)};if(!Array['isArray'](_0x5af33d)||_0x5af33d[_0x599530(0xe1)]===0x0)return{'valid':![],'error':_0x4f8f80['nNbhE']};for(let _0x92b68c=0x0;_0x92b68c<_0x5af33d['length'];_0x92b68c++){const _0x44698d=_0x5af33d[_0x92b68c];if(!_0x44698d||!_0x44698d['key']||!_0x44698d['value'])return{'valid':![],'error':'lock_keys['+_0x92b68c+']\x20must\x20have\x20key\x20and\x20value\x20properties'};}if(!_0x11ddc3||_0x4f8f80[_0x599530(0xf1)](typeof _0x11ddc3,_0x4f8f80[_0x599530(0xf0)]))return{'valid':![],'error':_0x4f8f80['PyhRO']};return{'valid':!![]};}}module[a0_0x1e85ee(0xca)]=new ResourceLockManager();function a0_0x3fbb(){const _0x205863=['CMvZB3vYy2uGyw5KigXVy2TFA2v5CYbHCMuGCMvXDwLYzwq','xsbTDxn0igHHDMuGA2v5igfUzcb2ywX1zsbWCM9Wzxj0AwvZ','AxnbCNjHEq','BwvZC2fNzq','C3rYAw5N','CMvZB3vYy2uGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','z2v0','x2DLDenVBMzSAwn0sw5MBW','Bg9JA190B2TLBIbPCYbYzxf1AxjLzcbHBMqGBxvZDcbIzsbHihn0CMLUzW','DMfSAwq','ywnXDwLYzvjLC291CMnLtg9JA3m','uMvZB3vYy2uGBg9JAYbJB25MBgLJDa','zw52','lI4VlI4VDxrPBhmVBg9Nz2vY','x3zHBgLKyxrLuMvSzwfZzuLUChv0','qMXwrgC','BwTUv3K','BwfW','BNvTyMvY','nJmZnJm0nfjNt0vSzW','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','zxH0CMfJDe93BMvY','Bg9JA19RzxLZigLZihjLCxvPCMvKigfUzcbTDxn0igjLigeGBM9UlwvTChr5igfYCMf5','CMvZB3vYy2vFBg9JA19YzwXLyxnLx2vYCM9Y','B3DUzxi','mtG1mJy0m2zQEe93Aq','yNvPBgrlzxK','zxHWB3j0CW','nti3nZu0mgjiwKn1qW','CMvZB3vYy2vFBg9JA19Hy3f1AxjLx2vYCM9Y','igTLExmP','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','DhrS','zxzHBa','Dw5RBM93BG','Aw5MBW','tg9JAYbYzwXLyxnLigzHAwXLzdOG','mtm3ndu4y1PTvhDQ','DKjdt0m','B3DUzxiGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','Dw1urwK','mJqZnZyXmtntzuPjEvi','ChvZAa','mtruCNvHqNy','u0HcA04','igTLExmSifrutdOG','DhrSigLZihjLCxvPCMvKigfUzcbTDxn0igjLigf0igXLyxn0ideGkgLUihnLy29UzhmP','zgvMyxvSDa','x3jVBgXIywnRs2v5CW','z2vUzxjHDgvuB2TLBG','BgvUz3rO','mJfKt0Pyzey','x3zHBgLKyxrLqwnXDwLYzuLUChv0','zxjYB3i','nZG0ntiYmfPmuevUCG','DhrSuMvTywLUAw5N','CMvZB3vYy2vFBg9JA19JB25MBgLJDa','DxvPza','uMvZB3vYy2uGBg9JAYbYzwXLyxnLigvYCM9YoIa','rMfPBgvKihrVihjVBgXIywnRihjLC291CMnLigXVy2TZigfMDgvYigvYCM9Y','B1rftNy','CMvSzwfZzvjLC291CMnLtg9JA3m','z2v0twf4vfrmu2vJB25KCW','uMvZB3vYy2uGBg9JAYbZDgf0DxmGzxjYB3i6ia','A2v5','v0rKy2q','tMLXrgS','uMvZB3vYy2uGBg9JAYbYzwXLyxnLzdOG','ntyYmte5nMv4qNzVrG','CMy6','z2v0q2XPzw50'];a0_0x3fbb=function(){return _0x205863;};return a0_0x3fbb();}
|
|
1
|
+
const a0_0x47433e=a0_0x5766;(function(_0x14e73b,_0x29cfe4){const _0x5e206c=a0_0x5766,_0x172165=_0x14e73b();while(!![]){try{const _0x2ce473=-parseInt(_0x5e206c(0x1d3))/0x1+-parseInt(_0x5e206c(0x1e5))/0x2+-parseInt(_0x5e206c(0x1f5))/0x3+parseInt(_0x5e206c(0x1fb))/0x4+parseInt(_0x5e206c(0x1f8))/0x5*(parseInt(_0x5e206c(0x1fa))/0x6)+-parseInt(_0x5e206c(0x20c))/0x7+-parseInt(_0x5e206c(0x1cb))/0x8;if(_0x2ce473===_0x29cfe4)break;else _0x172165['push'](_0x172165['shift']());}catch(_0x1af581){_0x172165['push'](_0x172165['shift']());}}}(a0_0x1a49,0x4a6be));function a0_0x5766(_0xc9575b,_0x1e51f6){_0xc9575b=_0xc9575b-0x1c8;const _0x1a49dc=a0_0x1a49();let _0x576601=_0x1a49dc[_0xc9575b];if(a0_0x5766['TRWITr']===undefined){var _0x3f7c5c=function(_0x4c445b){const _0x2c5067='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3e2b14='',_0x3055c7='';for(let _0x7b2057=0x0,_0x17bb71,_0x320b2f,_0x36db29=0x0;_0x320b2f=_0x4c445b['charAt'](_0x36db29++);~_0x320b2f&&(_0x17bb71=_0x7b2057%0x4?_0x17bb71*0x40+_0x320b2f:_0x320b2f,_0x7b2057++%0x4)?_0x3e2b14+=String['fromCharCode'](0xff&_0x17bb71>>(-0x2*_0x7b2057&0x6)):0x0){_0x320b2f=_0x2c5067['indexOf'](_0x320b2f);}for(let _0x30420c=0x0,_0x383a4f=_0x3e2b14['length'];_0x30420c<_0x383a4f;_0x30420c++){_0x3055c7+='%'+('00'+_0x3e2b14['charCodeAt'](_0x30420c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3055c7);};a0_0x5766['orjCPm']=_0x3f7c5c,a0_0x5766['uBDRMu']={},a0_0x5766['TRWITr']=!![];}const _0x458e09=_0x1a49dc[0x0],_0x3ffda7=_0xc9575b+_0x458e09,_0x643719=a0_0x5766['uBDRMu'][_0x3ffda7];return!_0x643719?(_0x576601=a0_0x5766['orjCPm'](_0x576601),a0_0x5766['uBDRMu'][_0x3ffda7]=_0x576601):_0x576601=_0x643719,_0x576601;}const redisClient=require('../../utils/redis-client'),{logger}=require('../../utils/logger'),{v4:uuidv4}=require(a0_0x47433e(0x1f3));function getPrefix(){const _0x20149d=a0_0x47433e,_0x29c9c1=process[_0x20149d(0x1f6)][_0x20149d(0x1e7)]||_0x20149d(0x1e0);return'rf:'+_0x29c9c1+':rlock:';}function a0_0x1a49(){const _0xa46114=['Bg9JA19RzxLZigv4y2vLzhmGBwf4Aw11BsbVzIaXmdaGAxrLBxm','zxjYB3i','DhrSigv4y2vLzhmGBwf4Aw11BsbVzIa','qvnbEvq','z2v0q2XPzw50','Dg9ju09tDhjPBMC','BgvUz3rO','zgvMyxvSDa','zxzHBa','B3DUzxi','CMvZB3vYy2vFBg9JA19ZDgf0DxnFzxjYB3i','DMfSAwq','mJG0ndq0vwHlvwHR','DgjzCxi','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','z2v0','CMvZB3vYy2uGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','tg9JAYbZDgf0DxmGy2HLy2SGzMfPBgvKoIa','CMvZB3vYy2vFBg9JA19Hy3f1AxjLza','uMvZB3vYy2uGBg9JAYbYzwXLyxnLigvYCM9YoIa','CMvSzwfZzvjLC291CMnLtg9JA3m','te9ds19srvnpvvjdrv9nqvHFvfrm','x3zHBgLKyxrLqwnXDwLYzuLUChv0','uMvZB3vYy2uGBg9JAYbYzwXLyxnLzdOG','BwvZC2fNzq','twTdwMO','DxvPza','z2v0twf4vfrmu2vJB25KCW','nZmYmtCXwgrIuNfr','zw52','CwvIDMi','mtvUzMPOwe8','ihnLy29UzhmUienVBMzPz3vYzsbmt0nlx1jfu09vuKnfx01bwf9uveWGDg8GAw5JCMvHC2uU','mte2mtyXohHIu3DMvW','mJiXotyYofbywuzmra','CNHryKG','ufvmrNq','CMvZB3vYy2vFBg9JA19YzwXLyxnLza','x3jVBgXIywnRs2v5CW','DhrS','BM93','Bg9JA19RzxLZigLZihjLCxvPCMvKigfUzcbTDxn0igjLigeGBM9UlwvTChr5igfYCMf5','DhrSigLZihjLCxvPCMvKigfUzcbTDxn0igjLigf0igXLyxn0ideGkgLUihnLy29UzhmP','yNvPBgrlzxK','x3zHBgLKyxrLuMvSzwfZzuLUChv0','CMvZB3vYy2uGyw5KigXVy2TFA2v5CYbHCMuGCMvXDwLYzwq','BwfW','cIaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicbLBhnLcIaGicbYzxr1CM4GmaOGigvUzaO','CMvZB3vYy2vFBg9JA19JB25MBgLJDa','BNvTyMvY','rMfPBgvKihrVihjVBgXIywnRigTLEtOG','mJiXmde4mgLTsgH5uW','igTLExmP','z2vUzxjHDgvuB2TLBG','uMvZB3vYy2uGBg9JAYbHy3f1AxjLzdOG','Dw5RBM93BG','ALrYEMK','uMvZB3vYy2uGBg9JAYbJB25MBgLJDa','mZiYody0qwHwwKzf','AvLtvKq','C2v0','CMvZB3vYy2vFBg9JA19YB2XSyMfJA19LCNjVCG','zxHWB3j0CW','zKnICxq','AxnbCNjHEq','CfDyq3e','odG1mdL3s05jsxe','q1bbzMG','zxH0CMfJDe93BMvY','C3rYAw5N','igTLExmSifrutdOG','B2njvKe'];a0_0x1a49=function(){return _0xa46114;};return a0_0x1a49();}const DEFAULT_MAX_TTL_SECONDS=0x12c,RELEASE_LUA_SCRIPT=a0_0x47433e(0x208);class ResourceLockManager{['buildKey'](_0x24f804,_0x1a7008,_0x442c40){const _0x2a2cdd={'ZnEYC':function(_0x23308b){return _0x23308b();}};return''+_0x2a2cdd['ZnEYC'](getPrefix)+_0x24f804+':'+_0x1a7008+':'+_0x442c40;}[a0_0x47433e(0x20e)](_0x59a640){const _0x4400ff=a0_0x47433e;return _0x59a640+':'+uuidv4()+':'+Date[_0x4400ff(0x201)]();}[a0_0x47433e(0x1d5)](_0x24ac81){const _0x4a0519=a0_0x47433e,_0xc69992={'tbYqr':function(_0xe1a88c,_0x11453b){return _0xe1a88c>_0x11453b;}};if(!_0x24ac81)return'unknown';const _0x2dd4ba=_0x24ac81['indexOf'](':');return _0xc69992[_0x4a0519(0x1e6)](_0x2dd4ba,0x0)?_0x24ac81['substring'](0x0,_0x2dd4ba):_0x24ac81;}['getMaxTTLSeconds'](){const _0x5e1d25=a0_0x47433e;return parseInt(process[_0x5e1d25(0x1f6)][_0x5e1d25(0x1ee)],0xa)||DEFAULT_MAX_TTL_SECONDS;}async['acquireResourceLocks']({resource:_0x5564d0,lockKeys:_0x235df7,ttl:_0x184c26,owner:_0x153ab2}){const _0x408413=a0_0x47433e,_0x140823={'rxQbH':_0x408413(0x209),'NfWQv':_0x408413(0x1ce)},_0x54b95c=this['_validateAcquireInput']({'resource':_0x5564d0,'lockKeys':_0x235df7,'ttl':_0x184c26,'owner':_0x153ab2});if(!_0x54b95c[_0x408413(0x1e4)])return{'success':![],'error':_0x54b95c['error']};const _0x65688a=this[_0x408413(0x1f4)](),_0xfd7d07=Math['min'](_0x184c26,_0x65688a),_0x40483d=this['generateToken'](_0x153ab2),_0x109ba0=[];try{const _0x10c988=redisClient['getClient']();for(let _0x252dd3=0x0;_0x252dd3<_0x235df7['length'];_0x252dd3++){const {key:_0x147666,value:_0x44e544}=_0x235df7[_0x252dd3],_0x4aacce=this[_0x408413(0x204)](_0x5564d0,_0x147666,_0x44e544),_0x24e7cd=await _0x10c988[_0x408413(0x1cd)](_0x4aacce,_0x40483d,'EX',_0xfd7d07,'NX');if(_0x24e7cd==='OK')_0x109ba0['push'](_0x4aacce);else{await this['_rollbackKeys'](_0x10c988,_0x109ba0,_0x40483d);const _0x217c06=await this['_getConflictInfo'](_0x10c988,_0x4aacce);return logger['warn']({'event':_0x140823[_0x408413(0x1fc)],'resource':_0x5564d0,'conflicting_key':{'key':_0x147666,'value':_0x44e544},'locked_by':_0x217c06[_0x408413(0x1e2)],'ttl_remaining':_0x217c06['ttlRemaining'],'attempted_by':_0x153ab2},'Resource\x20lock\x20conflict\x20on\x20'+_0x5564d0+':'+_0x147666+':'+_0x44e544),{'success':![],'error':_0x408413(0x1ca),'data':{'conflicting_key':{'key':_0x147666,'value':_0x44e544},'locked_by':_0x217c06[_0x408413(0x1e2)],'ttl_remaining':_0x217c06['ttlRemaining']}};}}const _0x4b13e3=_0x235df7[_0x408413(0x207)](({key:_0x37ac1c,value:_0x39bd7b})=>({'key':_0x37ac1c,'value':_0x39bd7b,'lock_key':this[_0x408413(0x204)](_0x5564d0,_0x37ac1c,_0x39bd7b)}));return logger['info']({'event':_0x408413(0x1eb),'resource':_0x5564d0,'keys_count':_0x235df7[_0x408413(0x1df)],'ttl':_0xfd7d07,'owner':_0x153ab2},_0x408413(0x20f)+_0x5564d0+'\x20('+_0x235df7[_0x408413(0x1df)]+_0x408413(0x1d7)+_0xfd7d07+'s)'),{'success':!![],'data':{'lock_token':_0x40483d,'resource':_0x5564d0,'locked_keys':_0x4b13e3,'ttl':_0xfd7d07,'owner':_0x153ab2,'acquired_at':new Date()[_0x408413(0x1de)]()}};}catch(_0x184a53){try{const _0x21f752=redisClient[_0x408413(0x1dd)]();await this['_rollbackKeys'](_0x21f752,_0x109ba0,_0x40483d);}catch(_0x2a851d){logger[_0x408413(0x1da)]({'event':_0x140823['NfWQv'],'error':_0x2a851d['message']},'Failed\x20to\x20rollback\x20resource\x20locks\x20after\x20error');}return logger[_0x408413(0x1da)]({'event':'resource_lock_acquire_error','resource':_0x5564d0,'owner':_0x153ab2,'error':_0x184a53[_0x408413(0x1f1)]},'Resource\x20lock\x20acquire\x20error:\x20'+_0x184a53[_0x408413(0x1f1)]),{'success':![],'error':'Lock\x20acquire\x20failed:\x20'+_0x184a53['message']};}}async[a0_0x47433e(0x1ed)]({resource:_0x5ec8f8,lockKeys:_0x48cb12,lockToken:_0x566615}){const _0x51224a=a0_0x47433e,_0x449757={'DzgYI':function(_0x5da199,_0x1b4ce5){return _0x5da199===_0x1b4ce5;},'bIyBm':_0x51224a(0x1fe)},_0x44db0f=this['_validateReleaseInput']({'resource':_0x5ec8f8,'lockKeys':_0x48cb12,'lockToken':_0x566615});if(!_0x44db0f[_0x51224a(0x1e4)])return{'success':![],'error':_0x44db0f[_0x51224a(0x1da)]};try{const _0x124bc5=redisClient[_0x51224a(0x1dd)]();let _0x54ffaa=0x0;for(const {key:_0x2ecae2,value:_0x552082}of _0x48cb12){const _0x26e634=this[_0x51224a(0x204)](_0x5ec8f8,_0x2ecae2,_0x552082),_0x1fc5ce=await _0x124bc5[_0x51224a(0x1e1)](RELEASE_LUA_SCRIPT,0x1,_0x26e634,_0x566615);_0x449757['DzgYI'](_0x1fc5ce,0x1)&&_0x54ffaa++;}return logger['info']({'event':_0x449757['bIyBm'],'resource':_0x5ec8f8,'released_keys':_0x54ffaa,'total_keys':_0x48cb12[_0x51224a(0x1df)],'owner':this['extractOwner'](_0x566615)},_0x51224a(0x1f0)+_0x5ec8f8+'\x20('+_0x54ffaa+'/'+_0x48cb12['length']+_0x51224a(0x20d)),{'success':!![],'data':{'resource':_0x5ec8f8,'released_keys':_0x54ffaa,'total_keys':_0x48cb12[_0x51224a(0x1df)]}};}catch(_0x47bd56){return logger[_0x51224a(0x1da)]({'event':'resource_lock_release_error','resource':_0x5ec8f8,'error':_0x47bd56['message']},_0x51224a(0x1ec)+_0x47bd56['message']),{'success':![],'error':'Lock\x20release\x20failed:\x20'+_0x47bd56[_0x51224a(0x1f1)]};}}async['getResourceLockStatus']({resource:_0x16bf31,lockKeys:_0x46d503}){const _0x5c315f=a0_0x47433e,_0x5b5739={'pWXCq':_0x5c315f(0x206),'iYSVD':function(_0x30d17d,_0x80edd5){return _0x30d17d!==_0x80edd5;},'lpOlb':function(_0x2c300c,_0xb723f3){return _0x2c300c>_0xb723f3;},'PBFrK':_0x5c315f(0x1e3)};if(!_0x16bf31||!Array[_0x5c315f(0x1d1)](_0x46d503)||_0x46d503['length']===0x0)return{'success':![],'error':_0x5b5739[_0x5c315f(0x1d2)]};try{const _0x1f0ce7=redisClient[_0x5c315f(0x1dd)](),_0x51fc17=[];for(const {key:_0x187b61,value:_0x5bc725}of _0x46d503){const _0x57fae0=this['buildKey'](_0x16bf31,_0x187b61,_0x5bc725),[_0x45d5ec,_0x19e26f]=await Promise['all']([_0x1f0ce7['get'](_0x57fae0),_0x1f0ce7[_0x5c315f(0x200)](_0x57fae0)]),_0x5ee21f=_0x5b5739[_0x5c315f(0x1cc)](_0x45d5ec,null);_0x51fc17['push']({'key':_0x187b61,'value':_0x5bc725,'locked':_0x5ee21f,'owner':_0x5ee21f?this[_0x5c315f(0x1d5)](_0x45d5ec):null,'ttl_remaining':_0x5ee21f&&_0x5b5739['lpOlb'](_0x19e26f,0x0)?_0x19e26f:null});}return{'success':!![],'data':{'resource':_0x16bf31,'keys':_0x51fc17}};}catch(_0x50eda8){return logger['error']({'event':_0x5b5739['PBFrK'],'resource':_0x16bf31,'error':_0x50eda8[_0x5c315f(0x1f1)]},'Resource\x20lock\x20status\x20error:\x20'+_0x50eda8[_0x5c315f(0x1f1)]),{'success':![],'error':_0x5c315f(0x1ea)+_0x50eda8['message']};}}async[a0_0x47433e(0x1ff)](_0x4548c5,_0x3ccfab,_0x1e739b){const _0x15286c=a0_0x47433e;for(const _0x4dd2f3 of _0x3ccfab){try{await _0x4548c5[_0x15286c(0x1e1)](RELEASE_LUA_SCRIPT,0x1,_0x4dd2f3,_0x1e739b);}catch(_0x328535){logger['error']({'event':'resource_lock_rollback_key_error','key':_0x4dd2f3,'error':_0x328535[_0x15286c(0x1f1)]},_0x15286c(0x20b)+_0x4dd2f3);}}}async['_getConflictInfo'](_0x4ade56,_0x6d4bf3){const _0x323172=a0_0x47433e,_0x3d91c4={'ASAyT':'unknown'};try{const [_0x6806bb,_0x3d6c8b]=await Promise['all']([_0x4ade56[_0x323172(0x1e8)](_0x6d4bf3),_0x4ade56['ttl'](_0x6d4bf3)]);return{'owner':_0x6806bb?this['extractOwner'](_0x6806bb):_0x3d91c4[_0x323172(0x1dc)],'ttlRemaining':_0x3d6c8b>0x0?_0x3d6c8b:null};}catch{return{'owner':_0x323172(0x1c8),'ttlRemaining':null};}}[a0_0x47433e(0x1ef)]({resource:_0x55d9c3,lockKeys:_0x46dad4,ttl:_0x4282c6,owner:_0x214cb9}){const _0x17e8d0=a0_0x47433e,_0x39fe51={'fCbqt':_0x17e8d0(0x1d6),'PULFt':function(_0x2ef126,_0x120427){return _0x2ef126<_0x120427;},'jeFqS':function(_0x5d61c3,_0x13832a){return _0x5d61c3!==_0x13832a;},'hkKWO':_0x17e8d0(0x20a),'Cuijr':function(_0x571ddf,_0x3ca0f0){return _0x571ddf>_0x3ca0f0;},'CPAfh':'owner\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};if(!_0x55d9c3||typeof _0x55d9c3!==_0x39fe51['fCbqt'])return{'valid':![],'error':_0x17e8d0(0x1e9)};if(!Array['isArray'](_0x46dad4)||_0x46dad4['length']===0x0)return{'valid':![],'error':_0x17e8d0(0x202)};if(_0x46dad4['length']>0x64)return{'valid':![],'error':_0x17e8d0(0x1d9)};for(let _0x377359=0x0;_0x39fe51['PULFt'](_0x377359,_0x46dad4['length']);_0x377359++){const _0x161ad2=_0x46dad4[_0x377359];if(!_0x161ad2||!_0x161ad2['key']||!_0x161ad2['value'])return{'valid':![],'error':'lock_keys['+_0x377359+']\x20must\x20have\x20key\x20and\x20value\x20properties'};}if(!_0x4282c6||_0x39fe51['jeFqS'](typeof _0x4282c6,_0x39fe51['hkKWO'])||_0x39fe51[_0x17e8d0(0x1fd)](_0x4282c6,0x1))return{'valid':![],'error':_0x17e8d0(0x203)};const _0x188500=this[_0x17e8d0(0x1f4)]();if(_0x39fe51['Cuijr'](_0x4282c6,_0x188500))return{'valid':![],'error':_0x17e8d0(0x1db)+_0x188500+_0x17e8d0(0x1f9)};if(!_0x214cb9||_0x39fe51['jeFqS'](typeof _0x214cb9,_0x39fe51[_0x17e8d0(0x1d0)]))return{'valid':![],'error':_0x39fe51[_0x17e8d0(0x1d4)]};return{'valid':!![]};}[a0_0x47433e(0x205)]({resource:_0x203442,lockKeys:_0x132e07,lockToken:_0x4db0be}){const _0x520cf7=a0_0x47433e,_0x29713c={'ZZgtV':'resource\x20is\x20required\x20and\x20must\x20be\x20a\x20string','MkCZj':function(_0x2c9f5c,_0x404b9c){return _0x2c9f5c===_0x404b9c;},'qebvb':_0x520cf7(0x202),'ocIVA':function(_0x251db0,_0x56e834){return _0x251db0<_0x56e834;},'jTrzi':function(_0x2228f8,_0x142059){return _0x2228f8!==_0x142059;},'SGUGy':'string','NxDox':'lock_token\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};if(!_0x203442||typeof _0x203442!==_0x520cf7(0x1d6))return{'valid':![],'error':_0x29713c['ZZgtV']};if(!Array[_0x520cf7(0x1d1)](_0x132e07)||_0x29713c[_0x520cf7(0x1f2)](_0x132e07[_0x520cf7(0x1df)],0x0))return{'valid':![],'error':_0x29713c[_0x520cf7(0x1f7)]};for(let _0x2a4b27=0x0;_0x29713c[_0x520cf7(0x1d8)](_0x2a4b27,_0x132e07['length']);_0x2a4b27++){const _0x1c7002=_0x132e07[_0x2a4b27];if(!_0x1c7002||!_0x1c7002['key']||!_0x1c7002['value'])return{'valid':![],'error':'lock_keys['+_0x2a4b27+']\x20must\x20have\x20key\x20and\x20value\x20properties'};}if(!_0x4db0be||_0x29713c[_0x520cf7(0x1c9)](typeof _0x4db0be,_0x29713c['SGUGy']))return{'valid':![],'error':_0x29713c['NxDox']};return{'valid':!![]};}}module[a0_0x47433e(0x1cf)]=new ResourceLockManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x934f1a=a0_0x45b7;(function(_0x3713bb,_0x21f17f){const _0x5b1666=a0_0x45b7,_0x5ecc39=_0x3713bb();while(!![]){try{const _0x14ac12=parseInt(_0x5b1666(0x1f0))/0x1*(-parseInt(_0x5b1666(0x217))/0x2)+parseInt(_0x5b1666(0x1c2))/0x3+parseInt(_0x5b1666(0x1f8))/0x4+-parseInt(_0x5b1666(0x1c5))/0x5+parseInt(_0x5b1666(0x1cb))/0x6*(parseInt(_0x5b1666(0x1fe))/0x7)+-parseInt(_0x5b1666(0x22d))/0x8*(-parseInt(_0x5b1666(0x20d))/0x9)+-parseInt(_0x5b1666(0x206))/0xa;if(_0x14ac12===_0x21f17f)break;else _0x5ecc39['push'](_0x5ecc39['shift']());}catch(_0x4a48af){_0x5ecc39['push'](_0x5ecc39['shift']());}}}(a0_0x133e,0x9b78d));const {Kafka,logLevel}=require(a0_0x934f1a(0x1c7)),{v7:uuidv7}=require(a0_0x934f1a(0x200));class KafkaConsumerService{constructor(){const _0x29d4d7=a0_0x934f1a,_0x639168={'OFoaN':_0x29d4d7(0x208)},_0x4fabea=_0x639168['OFoaN'][_0x29d4d7(0x1fd)]('|');let _0x16d9cb=0x0;while(!![]){switch(_0x4fabea[_0x16d9cb++]){case'0':this[_0x29d4d7(0x1c6)]=![];continue;case'1':this['isPaused']=![];continue;case'2':this['isRunning']=![];continue;case'3':this[_0x29d4d7(0x1c0)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'4':this[_0x29d4d7(0x1e0)]=[];continue;case'5':this[_0x29d4d7(0x21f)]=null;continue;case'6':this['messageHandler']=null;continue;case'7':this['isInitializing']=![];continue;case'8':this['connectionPromise']=null;continue;case'9':this[_0x29d4d7(0x1ce)]=null;continue;case'10':this[_0x29d4d7(0x211)]=null;continue;}break;}}[a0_0x934f1a(0x238)](){const _0x114936=a0_0x934f1a,_0x5a3d82={'CXTcS':function(_0x38b52c,_0x77c3db){return _0x38b52c===_0x77c3db;},'UJLbh':function(_0x219e18,_0x225672){return _0x219e18(_0x225672);},'WhCwn':'30000','yRQSR':'3000','yoMKQ':function(_0x7476b3,_0xac88eb){return _0x7476b3(_0xac88eb);},'Kieyp':_0x114936(0x1f1),'KDdxY':'1000','FUHgm':'warn'};return{'enabled':_0x5a3d82[_0x114936(0x220)](process[_0x114936(0x235)]['KAFKA_ENABLED'],'true'),'brokers':(process['env']['KAFKA_BROKERS']||'localhost:9092')['split'](','),'clientId':process[_0x114936(0x235)]['KAFKA_CLIENT_ID']||'restforge-'+(process[_0x114936(0x235)][_0x114936(0x1e3)]||'default')+_0x114936(0x213),'connectionTimeout':parseInt(process['env']['KAFKA_CONNECTION_TIMEOUT']||_0x114936(0x212)),'requestTimeout':parseInt(process[_0x114936(0x235)]['KAFKA_REQUEST_TIMEOUT']||_0x114936(0x1ed)),'sessionTimeout':_0x5a3d82[_0x114936(0x1eb)](parseInt,process['env'][_0x114936(0x21e)]||_0x5a3d82['WhCwn']),'heartbeatInterval':parseInt(process[_0x114936(0x235)][_0x114936(0x1da)]||_0x5a3d82[_0x114936(0x1e7)]),'maxBytesPerPartition':_0x5a3d82[_0x114936(0x1db)](parseInt,process[_0x114936(0x235)][_0x114936(0x1d5)]||_0x114936(0x228)),'autoCommit':process[_0x114936(0x235)]['KAFKA_AUTO_COMMIT']===_0x114936(0x201),'autoCommitInterval':_0x5a3d82[_0x114936(0x1db)](parseInt,process['env'][_0x114936(0x1ea)]||_0x5a3d82['Kieyp']),'retryAttempts':parseInt(process['env'][_0x114936(0x204)]||'3'),'retryDelay':_0x5a3d82['UJLbh'](parseInt,process['env'][_0x114936(0x1dd)]||_0x5a3d82['KDdxY']),'retryMaxDelay':parseInt(process[_0x114936(0x235)]['KAFKA_RETRY_MAX_DELAY']||_0x114936(0x1dc)),'logLevel':process['env']['KAFKA_LOG_LEVEL']||_0x5a3d82[_0x114936(0x22f)]};}[a0_0x934f1a(0x1fa)](_0x408c90){const _0x258739=a0_0x934f1a,_0x50e20f={'nothing':logLevel['NOTHING'],'error':logLevel[_0x258739(0x1e2)],'warn':logLevel['WARN'],'info':logLevel[_0x258739(0x1df)],'debug':logLevel[_0x258739(0x229)]};return _0x50e20f[_0x408c90[_0x258739(0x1c3)]()]||logLevel[_0x258739(0x234)];}async[a0_0x934f1a(0x1f3)](_0x5067d0={}){const _0x95e913=a0_0x934f1a,_0x3edbd1={'EFRDC':function(_0x185d47,_0x43bee3){return _0x185d47===_0x43bee3;},'yeRAP':function(_0x47c181,_0x18c5df){return _0x47c181(_0x18c5df);},'eBVdk':_0x95e913(0x20e)},_0x2c92d8=this['getConfig']();if(!_0x2c92d8[_0x95e913(0x1d7)])return console['log'](_0x3edbd1[_0x95e913(0x239)]),![];if(this[_0x95e913(0x1c6)])return!![];if(this['isInitializing']&&this[_0x95e913(0x216)])return this['connectionPromise'];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0xa794e1=>{const _0x47d15f=_0x95e913;try{let _0x3e150b=undefined;_0x3edbd1['EFRDC'](process['env']['KAFKA_SSL'],_0x47d15f(0x201))&&(_0x3e150b=!![]);let _0x26eaaa=undefined;process['env'][_0x47d15f(0x205)]&&(_0x26eaaa={'mechanism':process[_0x47d15f(0x235)][_0x47d15f(0x205)],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process[_0x47d15f(0x235)]['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x5067d0[_0x47d15f(0x1d3)]||_0x2c92d8[_0x47d15f(0x1d3)],'brokers':_0x2c92d8['brokers'],'connectionTimeout':_0x2c92d8[_0x47d15f(0x1bd)],'requestTimeout':_0x2c92d8['requestTimeout'],'logLevel':this[_0x47d15f(0x1fa)](_0x2c92d8[_0x47d15f(0x1d1)]),'ssl':_0x3e150b,'sasl':_0x26eaaa,'retry':{'initialRetryTime':_0x2c92d8['retryDelay'],'retries':_0x2c92d8[_0x47d15f(0x1cf)],'maxRetryTime':_0x2c92d8['retryMaxDelay']}}),this['groupId']=_0x5067d0['groupId']||_0x47d15f(0x1d2)+(process['env']['RESTFORGE_PROJECT_NAME']||_0x47d15f(0x227))+'-consumer-group',this['consumer']=this[_0x47d15f(0x211)]['consumer']({'groupId':this[_0x47d15f(0x21f)],'sessionTimeout':_0x2c92d8[_0x47d15f(0x1cd)],'heartbeatInterval':_0x2c92d8['heartbeatInterval'],'maxBytesPerPartition':_0x2c92d8['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this[_0x47d15f(0x1ce)][_0x47d15f(0x1c8)](),this[_0x47d15f(0x1c6)]=!![],console[_0x47d15f(0x215)]('[KafkaConsumer]\x20Consumer\x20connected\x20to\x20brokers:\x20'+_0x2c92d8['brokers'][_0x47d15f(0x21d)](',\x20')+_0x47d15f(0x1fb)+this['groupId']+')'),this[_0x47d15f(0x1f7)](),_0xa794e1(!![]);}catch(_0x2e762b){console['error']('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x2e762b['message']),this[_0x47d15f(0x1c6)]=![],_0x3edbd1[_0x47d15f(0x1c9)](_0xa794e1,![]);}finally{this[_0x47d15f(0x1e5)]=![];}}),this['connectionPromise'];}[a0_0x934f1a(0x1f7)](){const _0x16448d=a0_0x934f1a,_0x16faf2={'xxeIP':'[KafkaConsumer]\x20Consumer\x20disconnected','QtFRk':'[KafkaConsumer]\x20Consumer\x20stopped','zQopG':_0x16448d(0x1f5),'dzTPq':_0x16448d(0x1e1),'TVTEb':_0x16448d(0x1ca),'dCuKn':'consumer.rebalancing'};if(!this[_0x16448d(0x1ce)])return;this['consumer']['on']('consumer.disconnect',()=>{const _0x31f7da=_0x16448d;console[_0x31f7da(0x215)](_0x16faf2['xxeIP']),this['isConnected']=![],this[_0x31f7da(0x218)]=![];}),this[_0x16448d(0x1ce)]['on'](_0x16faf2[_0x16448d(0x21a)],()=>{const _0x1cd36d=_0x16448d;console['log'](_0x16faf2[_0x1cd36d(0x221)]),this['isRunning']=![];}),this[_0x16448d(0x1ce)]['on'](_0x16faf2['TVTEb'],_0xde3c9=>{const _0x1ec540=_0x16448d;console['error']('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0xde3c9[_0x1ec540(0x1d6)]['error']['message']),this['isRunning']=![];}),this[_0x16448d(0x1ce)]['on'](_0x16faf2['dCuKn'],()=>{const _0x4e9090=_0x16448d;console[_0x4e9090(0x215)](_0x16faf2[_0x4e9090(0x219)]);});}async[a0_0x934f1a(0x237)](_0x30af11,_0x39dffb=![]){const _0x166626=a0_0x934f1a;if(!this['isConnected'])return console[_0x166626(0x1ec)]('[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'),![];try{const _0x12185b=Array['isArray'](_0x30af11)?_0x30af11:[_0x30af11];for(const _0x574602 of _0x12185b){await this['consumer']['subscribe']({'topic':_0x574602,'fromBeginning':_0x39dffb}),console[_0x166626(0x215)]('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x574602+_0x166626(0x20c)+_0x39dffb+')');}return this[_0x166626(0x1e0)]=[...new Set([...this['subscribedTopics'],..._0x12185b])],!![];}catch(_0x468f74){return console[_0x166626(0x1ec)]('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x468f74['message']),![];}}async['startConsuming'](_0x49ab66,_0x4931a2={}){const _0x29d768=a0_0x934f1a,_0x522a85={'IaxSD':function(_0x560b8d,_0x273209){return _0x560b8d(_0x273209);},'rqENo':function(_0x4da4b5,_0x3d0ac3){return _0x4da4b5-_0x3d0ac3;},'qiFJo':function(_0x141e8b,_0x1ec3f6){return _0x141e8b>_0x1ec3f6;},'fzKwp':function(_0x38d099){return _0x38d099();},'xCdaQ':_0x29d768(0x214),'gvnmf':function(_0x45ba61,_0x2ed768){return _0x45ba61!==_0x2ed768;}};if(!this[_0x29d768(0x1c6)])return console['error'](_0x522a85['xCdaQ']),![];if(this[_0x29d768(0x218)])return console[_0x29d768(0x215)]('[KafkaConsumer]\x20Consumer\x20already\x20running'),!![];const _0x1abeec=this[_0x29d768(0x238)]();this[_0x29d768(0x1ee)]=_0x49ab66;try{return this[_0x29d768(0x1c0)][_0x29d768(0x1d4)]=new Date(),await this['consumer']['run']({'autoCommit':_0x522a85[_0x29d768(0x1e8)](_0x4931a2['autoCommit'],undefined)?_0x4931a2[_0x29d768(0x21b)]:_0x1abeec['autoCommit'],'autoCommitInterval':_0x1abeec['autoCommitInterval'],'eachMessage':async({topic:_0x49d60b,partition:_0x48c10c,message:_0x11b3ef,heartbeat:_0x41d94a})=>{const _0x523cd1=_0x29d768,_0x31e1db=Date[_0x523cd1(0x233)]();this['metrics'][_0x523cd1(0x1bf)]++,this['metrics'][_0x523cd1(0x1f4)]=new Date();try{const _0x1b9677=_0x11b3ef['value']?_0x11b3ef[_0x523cd1(0x207)]['toString']():null;let _0x1fd3bc=null;try{_0x1fd3bc=_0x1b9677?JSON['parse'](_0x1b9677):null;}catch(_0x556d6f){_0x1fd3bc=_0x1b9677;}const _0x4b395c={'topic':_0x49d60b,'partition':_0x48c10c,'offset':_0x11b3ef[_0x523cd1(0x1f6)],'key':_0x11b3ef['key']?_0x11b3ef['key']['toString']():null,'headers':this['parseHeaders'](_0x11b3ef['headers']),'timestamp':_0x11b3ef['timestamp'],'value':_0x1fd3bc,'raw':_0x1b9677};this['messageHandler']&&await this['messageHandler'](_0x4b395c);!_0x1abeec[_0x523cd1(0x21b)]&&await this['consumer']['commitOffsets']([{'topic':_0x49d60b,'partition':_0x48c10c,'offset':(_0x522a85['IaxSD'](parseInt,_0x11b3ef['offset'])+0x1)['toString']()}]);this['metrics']['messagesProcessed']++;const _0x1be4b9=_0x522a85['rqENo'](Date[_0x523cd1(0x233)](),_0x31e1db);this[_0x523cd1(0x1c0)][_0x523cd1(0x1f2)]['push'](_0x1be4b9),_0x522a85[_0x523cd1(0x226)](this[_0x523cd1(0x1c0)]['processingTimes']['length'],0x64)&&this[_0x523cd1(0x1c0)]['processingTimes'][_0x523cd1(0x1e9)](),await _0x522a85['fzKwp'](_0x41d94a);}catch(_0x395f3c){this['metrics']['messagesFailed']++,console['error'](_0x523cd1(0x1e6)+_0x395f3c[_0x523cd1(0x1ef)]);throw _0x395f3c;}}}),this['isRunning']=!![],console['log']('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this['subscribedTopics']['join'](',\x20')),!![];}catch(_0x375b81){return console['error'](_0x29d768(0x1be)+_0x375b81[_0x29d768(0x1ef)]),![];}}['parseHeaders'](_0x1c316f){const _0x34bc8f=a0_0x934f1a;if(!_0x1c316f)return{};const _0x437ba6={};for(const [_0x17e099,_0x270217]of Object['entries'](_0x1c316f)){_0x437ba6[_0x17e099]=_0x270217?_0x270217[_0x34bc8f(0x1e4)]():null;}return _0x437ba6;}async['pause'](){const _0x3e73e7=a0_0x934f1a,_0x4231a2={'Fxrki':_0x3e73e7(0x1d9)};if(!this[_0x3e73e7(0x1c6)]||!this['isRunning'])return console['log'](_0x4231a2['Fxrki']),![];if(this['isPaused'])return console['log']('[KafkaConsumer]\x20Consumer\x20already\x20paused'),!![];try{const _0x345d3b=this[_0x3e73e7(0x1e0)]['map'](_0x2d06e5=>({'topic':_0x2d06e5}));return this['consumer'][_0x3e73e7(0x222)](_0x345d3b),this[_0x3e73e7(0x20b)]=!![],console['log'](_0x3e73e7(0x1c1)),!![];}catch(_0x4c7b0c){return console['error'](_0x3e73e7(0x224)+_0x4c7b0c[_0x3e73e7(0x1ef)]),![];}}async['resume'](){const _0x29ecf4=a0_0x934f1a,_0x587d65={'stYRy':'[KafkaConsumer]\x20Consumer\x20not\x20paused','QMAXv':_0x29ecf4(0x1c4)};if(!this[_0x29ecf4(0x1c6)]||!this[_0x29ecf4(0x218)])return console[_0x29ecf4(0x215)](_0x29ecf4(0x209)),![];if(!this[_0x29ecf4(0x20b)])return console[_0x29ecf4(0x215)](_0x587d65['stYRy']),!![];try{const _0x2bea00=this['subscribedTopics']['map'](_0x576b80=>({'topic':_0x576b80}));return this[_0x29ecf4(0x1ce)]['resume'](_0x2bea00),this[_0x29ecf4(0x20b)]=![],console[_0x29ecf4(0x215)](_0x587d65[_0x29ecf4(0x202)]),!![];}catch(_0x2f927f){return console['error'](_0x29ecf4(0x223)+_0x2f927f['message']),![];}}async['stop'](){const _0x4a80a8=a0_0x934f1a,_0x9c2737={'RcYwq':_0x4a80a8(0x1de),'hVJuq':'[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected'};if(!this[_0x4a80a8(0x1c6)])return console['log'](_0x4a80a8(0x225)),!![];try{const _0x42d3cd=_0x9c2737['RcYwq'][_0x4a80a8(0x1fd)]('|');let _0x4f835d=0x0;while(!![]){switch(_0x42d3cd[_0x4f835d++]){case'0':this[_0x4a80a8(0x1ce)]&&(await this[_0x4a80a8(0x1ce)][_0x4a80a8(0x20f)](),await this['consumer'][_0x4a80a8(0x22b)]());continue;case'1':this['isRunning']=![];continue;case'2':return!![];case'3':console['log'](_0x9c2737[_0x4a80a8(0x22e)]);continue;case'4':this['isPaused']=![];continue;case'5':this['isConnected']=![];continue;}break;}}catch(_0x2713a3){return console[_0x4a80a8(0x1ec)](_0x4a80a8(0x1d0)+_0x2713a3[_0x4a80a8(0x1ef)]),![];}}async['seekToOffset'](_0x2f8be2,_0x56604,_0x28aa84){const _0x113a98=a0_0x934f1a;if(!this['isConnected'])return console['error']('[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'),![];try{return this[_0x113a98(0x1ce)]['seek']({'topic':_0x2f8be2,'partition':_0x56604,'offset':_0x28aa84[_0x113a98(0x1e4)]()}),console['log'](_0x113a98(0x1ff)+_0x28aa84+'\x20on\x20'+_0x2f8be2+':'+_0x56604),!![];}catch(_0x457ae1){return console['error'](_0x113a98(0x1fc)+_0x457ae1[_0x113a98(0x1ef)]),![];}}[a0_0x934f1a(0x22a)](){const _0x4bf9a7=a0_0x934f1a,_0x5a2de1=this['getConfig']();return{'enabled':_0x5a2de1[_0x4bf9a7(0x1d7)],'connected':this[_0x4bf9a7(0x1c6)],'running':this['isRunning'],'paused':this[_0x4bf9a7(0x20b)],'brokers':_0x5a2de1[_0x4bf9a7(0x1f9)],'clientId':_0x5a2de1['clientId'],'groupId':this['groupId'],'subscribedTopics':this['subscribedTopics']};}['getMetrics'](){const _0xca34a3=a0_0x934f1a,_0x3831fe={'bgfvM':function(_0x4fd769,_0x53d75c){return _0x4fd769>_0x53d75c;},'QNBXb':function(_0x13869b,_0x4d631f){return _0x13869b+_0x4d631f;},'dCswA':function(_0x2b42cb,_0x3b2ffb){return _0x2b42cb*_0x3b2ffb;},'DzsFF':function(_0x4d4d1f,_0x57b6c1){return _0x4d4d1f/_0x57b6c1;},'NyWQZ':function(_0x26d19f,_0x5e62e0){return _0x26d19f/_0x5e62e0;},'wzRVp':function(_0x1f8698,_0x2e23d8){return _0x1f8698-_0x2e23d8;}},_0x44b73b=this[_0xca34a3(0x1c0)]['processingTimes']['length']>0x0?this['metrics']['processingTimes'][_0xca34a3(0x20a)]((_0x3b5780,_0x5aab57)=>_0x3b5780+_0x5aab57,0x0)/this['metrics']['processingTimes'][_0xca34a3(0x230)]:0x0,_0x4c6260=this[_0xca34a3(0x1c0)]['processingTimes']['length']>0x0?Math[_0xca34a3(0x236)](...this[_0xca34a3(0x1c0)]['processingTimes']):0x0,_0x3206c2=this[_0xca34a3(0x1c0)][_0xca34a3(0x1f2)][_0xca34a3(0x230)]>0x0?Math['max'](...this[_0xca34a3(0x1c0)]['processingTimes']):0x0;return{'messagesReceived':this['metrics']['messagesReceived'],'messagesProcessed':this[_0xca34a3(0x1c0)]['messagesProcessed'],'messagesFailed':this['metrics'][_0xca34a3(0x22c)],'successRate':_0x3831fe['bgfvM'](this[_0xca34a3(0x1c0)]['messagesReceived'],0x0)?_0x3831fe[_0xca34a3(0x231)](_0x3831fe['dCswA'](_0x3831fe[_0xca34a3(0x203)](this[_0xca34a3(0x1c0)][_0xca34a3(0x21c)],this[_0xca34a3(0x1c0)]['messagesReceived']),0x64)['toFixed'](0x2),'%'):'0%','lastMessageTime':this[_0xca34a3(0x1c0)][_0xca34a3(0x1f4)],'startTime':this['metrics']['startTime'],'uptime':this[_0xca34a3(0x1c0)][_0xca34a3(0x1d4)]?Math[_0xca34a3(0x232)](_0x3831fe[_0xca34a3(0x1cc)](_0x3831fe['wzRVp'](Date[_0xca34a3(0x233)](),this[_0xca34a3(0x1c0)]['startTime']['getTime']()),0x3e8))+'s':'0s','processingTime':{'avg':Math[_0xca34a3(0x210)](_0x44b73b)+'ms','min':_0x3831fe['QNBXb'](_0x4c6260,'ms'),'max':_0x3831fe['QNBXb'](_0x3206c2,'ms')}};}[a0_0x934f1a(0x1d8)](){const _0x2bb43b=a0_0x934f1a,_0x2150c9={'NSOnC':'[KafkaConsumer]\x20Metrics\x20reset'};this[_0x2bb43b(0x1c0)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console[_0x2bb43b(0x215)](_0x2150c9['NSOnC']);}async['close'](){await this['stop']();}}let instance=null;function a0_0x133e(){const _0x56e5bc=['C3vIC2nYAwjL','z2v0q29UzMLN','zujwzgS','y29UBMvJDgLVBLrPBwvVDxq','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','BwvZC2fNzxnszwnLAxzLza','Bwv0CMLJCW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','mZmYnty1m3rfD21NAG','Dg9mB3DLCKnHC2u','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','mtK0mteXnwjItKrhAa','AxndB25Uzwn0zwq','A2fMA2fQCW','y29UBMvJDa','Ewvsqva','y29UC3vTzxiUy3jHC2G','mta2nJy3nhzurMLuza','tNLxuvO','C2vZC2LVBLrPBwvVDxq','y29UC3vTzxi','CMv0CNLbDhrLBxb0CW','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','Bg9Ntgv2zwW','CMvZDgzVCMDLlq','y2XPzw50swq','C3rHCNruAw1L','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','Cgf5Bg9Hza','zw5HyMXLza','CMvZzxrnzxrYAwnZ','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','s0fgs0fFsevbuLrcrufux0LovevsvKfm','Ew9ns1e','mZaWmda','s0fgs0fFuKvuuLLFrevmqvK','mhW1Fdf8nhWZFdi','su5gtW','C3vIC2nYAwjLzfrVCgLJCW','y29UC3vTzxiUC3rVCa','rvjst1i','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','Dg9tDhjPBMC','AxnjBML0AwfSAxPPBMC','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','Evjru1i','z3zUBwy','C2HPzNq','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','vuPmyMG','zxjYB3i','mJuWmda','BwvZC2fNzuHHBMrSzxi','BwvZC2fNzq','mJCZnZu3zhjps0rs','ntaWma','ChjVy2vZC2LUz1rPBwvZ','Aw5PDgLHBgL6zq','BgfZDe1LC3nHz2vuAw1L','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','B2zMC2v0','C2v0DxbfDMvUDeHHBMrSzxjZ','nJqXodCYsfvxvhr6','yNjVA2vYCW','z2v0tg9Ntgv2zwW','icHNCM91CeLKoIa','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','C3bSAxq','ndjcDNjQywy','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','DxvPza','Dhj1zq','uu1bwhy','rhPZrKy','s0fgs0fFuKvuuLLFqvruru1qvfm','s0fgs0fFu0fttf9nruniqu5ju00','odK1otyZmhnSsejvAa','DMfSDwu','mtb8oxWWFdD8mNWXFdH8nhW1Fdz8mW','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','CMvKDwnL','AxnqyxvZzwq','icHMCM9TqMvNAw5UAw5NoIa','mJK4odq1swrlCNfH','w0THzMTHq29UC3vTzxjDieTHzMTHignVBNn1BwvYigLZigrPC2fIBgvKigLUignVBMzPz3vYyxrPB24','C3rVCa','CM91BMq','A2fMA2e','mZaWma','lwnVBNn1BwvY','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','Bg9N','y29UBMvJDgLVBLbYB21PC2u','ngLQChbNwq','AxnsDw5UAw5N','ELfVCeC','zhPuuhe','yxv0B0nVBw1PDa','BwvZC2fNzxnqCM9JzxnZzwq','AM9PBG','s0fgs0fFu0vtu0LptL9usu1ft1vu','z3jVDxbjza','q1Huy1m','uxrguMS','Cgf1C2u','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','CwLgsM8','zgvMyxvSDa','mta0odu3nG','revcvuC','z2v0u3rHDhvZ','zgLZy29UBMvJDa','BwvZC2fNzxngywLSzwq','mZj6tuHuzvC','AfzkDxe','rLviz20','BgvUz3rO','uu5cwgi','zMXVB3i','BM93','v0fstG','zw52','BwLU'];a0_0x133e=function(){return _0x56e5bc;};return a0_0x133e();}function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}function a0_0x45b7(_0x71d80,_0x2d5b1d){_0x71d80=_0x71d80-0x1bd;const _0x133e2f=a0_0x133e();let _0x45b711=_0x133e2f[_0x71d80];if(a0_0x45b7['NFDRIO']===undefined){var _0x2c6178=function(_0x30e39b){const _0x1ac057='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e8775='',_0x5ec8ba='';for(let _0xd557f1=0x0,_0x49d076,_0x261a54,_0x1a643e=0x0;_0x261a54=_0x30e39b['charAt'](_0x1a643e++);~_0x261a54&&(_0x49d076=_0xd557f1%0x4?_0x49d076*0x40+_0x261a54:_0x261a54,_0xd557f1++%0x4)?_0x2e8775+=String['fromCharCode'](0xff&_0x49d076>>(-0x2*_0xd557f1&0x6)):0x0){_0x261a54=_0x1ac057['indexOf'](_0x261a54);}for(let _0x14f325=0x0,_0x3a8ca2=_0x2e8775['length'];_0x14f325<_0x3a8ca2;_0x14f325++){_0x5ec8ba+='%'+('00'+_0x2e8775['charCodeAt'](_0x14f325)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5ec8ba);};a0_0x45b7['DdgjNR']=_0x2c6178,a0_0x45b7['hArwOK']={},a0_0x45b7['NFDRIO']=!![];}const _0x337108=_0x133e2f[0x0],_0x3e5f30=_0x71d80+_0x337108,_0x17e457=a0_0x45b7['hArwOK'][_0x3e5f30];return!_0x17e457?(_0x45b711=a0_0x45b7['DdgjNR'](_0x45b711),a0_0x45b7['hArwOK'][_0x3e5f30]=_0x45b711):_0x45b711=_0x17e457,_0x45b711;}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
1
|
+
const a0_0x5ea097=a0_0x539f;(function(_0x4b947f,_0x38c631){const _0x29916e=a0_0x539f,_0x454c52=_0x4b947f();while(!![]){try{const _0x2ffa6b=-parseInt(_0x29916e(0x1b9))/0x1*(-parseInt(_0x29916e(0x214))/0x2)+parseInt(_0x29916e(0x1c6))/0x3+parseInt(_0x29916e(0x203))/0x4*(parseInt(_0x29916e(0x1c0))/0x5)+-parseInt(_0x29916e(0x1fa))/0x6+parseInt(_0x29916e(0x1b5))/0x7*(parseInt(_0x29916e(0x1df))/0x8)+parseInt(_0x29916e(0x1d4))/0x9*(parseInt(_0x29916e(0x223))/0xa)+-parseInt(_0x29916e(0x20d))/0xb;if(_0x2ffa6b===_0x38c631)break;else _0x454c52['push'](_0x454c52['shift']());}catch(_0x419bd2){_0x454c52['push'](_0x454c52['shift']());}}}(a0_0x5582,0x30307));const {Kafka,logLevel}=require(a0_0x5ea097(0x1bc)),{v7:uuidv7}=require(a0_0x5ea097(0x1e3));class KafkaConsumerService{constructor(){const _0x4320d1=a0_0x5ea097;this['kafka']=null,this[_0x4320d1(0x1ed)]=null,this['isConnected']=![],this['isInitializing']=![],this[_0x4320d1(0x224)]=![],this[_0x4320d1(0x1d7)]=![],this['connectionPromise']=null,this[_0x4320d1(0x1da)]=[],this[_0x4320d1(0x207)]=null,this[_0x4320d1(0x1c3)]=null,this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}['getConfig'](){const _0x44c6a1=a0_0x5ea097,_0x2e85d0={'DnQaD':function(_0x5bdbad,_0x54c014){return _0x5bdbad===_0x54c014;},'GrTFn':'true','PqSey':_0x44c6a1(0x1f3),'fHyqI':'3000','nrjty':function(_0x1e4a4c,_0x30a5d6){return _0x1e4a4c(_0x30a5d6);},'BquoL':_0x44c6a1(0x212),'WKElQ':_0x44c6a1(0x1e7),'Ioohf':'warn'};return{'enabled':_0x2e85d0[_0x44c6a1(0x213)](process['env'][_0x44c6a1(0x1b4)],_0x2e85d0['GrTFn']),'brokers':(process['env'][_0x44c6a1(0x1d0)]||_0x2e85d0['PqSey'])['split'](','),'clientId':process['env'][_0x44c6a1(0x210)]||'restforge-'+(process['env'][_0x44c6a1(0x211)]||'default')+'-consumer','connectionTimeout':parseInt(process['env']['KAFKA_CONNECTION_TIMEOUT']||_0x2e85d0[_0x44c6a1(0x1f4)]),'requestTimeout':_0x2e85d0['nrjty'](parseInt,process[_0x44c6a1(0x1d2)][_0x44c6a1(0x1f2)]||_0x2e85d0[_0x44c6a1(0x226)]),'sessionTimeout':parseInt(process[_0x44c6a1(0x1d2)]['KAFKA_SESSION_TIMEOUT']||'30000'),'heartbeatInterval':parseInt(process['env'][_0x44c6a1(0x1fb)]||_0x2e85d0[_0x44c6a1(0x1f4)]),'maxBytesPerPartition':parseInt(process[_0x44c6a1(0x1d2)]['KAFKA_MAX_BYTES_PER_PARTITION']||'1048576'),'autoCommit':process[_0x44c6a1(0x1d2)][_0x44c6a1(0x1b7)]===_0x2e85d0[_0x44c6a1(0x1b3)],'autoCommitInterval':_0x2e85d0['nrjty'](parseInt,process['env'][_0x44c6a1(0x1fd)]||_0x2e85d0[_0x44c6a1(0x1f9)]),'retryAttempts':_0x2e85d0[_0x44c6a1(0x1bb)](parseInt,process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process[_0x44c6a1(0x1d2)][_0x44c6a1(0x1b8)]||_0x44c6a1(0x227)),'retryMaxDelay':parseInt(process['env'][_0x44c6a1(0x1db)]||_0x44c6a1(0x1eb)),'logLevel':process['env']['KAFKA_LOG_LEVEL']||_0x2e85d0['Ioohf']};}['getLogLevel'](_0x539fde){const _0x2736fa=a0_0x5ea097,_0x239e9b={'nothing':logLevel[_0x2736fa(0x21b)],'error':logLevel['ERROR'],'warn':logLevel['WARN'],'info':logLevel['INFO'],'debug':logLevel[_0x2736fa(0x201)]};return _0x239e9b[_0x539fde[_0x2736fa(0x1ea)]()]||logLevel['WARN'];}async[a0_0x5ea097(0x215)](_0x69d0e9={}){const _0x5b8d76=a0_0x5ea097,_0x57917c={'jyCEp':function(_0xf13bbe,_0x5d6853){return _0xf13bbe===_0x5d6853;},'kGOnX':function(_0x1a3d44,_0x3c1dc3){return _0x1a3d44(_0x3c1dc3);},'XJjOu':'[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'},_0x481bc8=this[_0x5b8d76(0x1ba)]();if(!_0x481bc8[_0x5b8d76(0x1f6)])return console[_0x5b8d76(0x21d)](_0x57917c[_0x5b8d76(0x20b)]),![];if(this[_0x5b8d76(0x1bf)])return!![];if(this[_0x5b8d76(0x206)]&&this['connectionPromise'])return this[_0x5b8d76(0x1cd)];return this[_0x5b8d76(0x206)]=!![],this['connectionPromise']=new Promise(async _0x54f120=>{const _0x50b40e=_0x5b8d76;try{let _0x17422c=undefined;_0x57917c[_0x50b40e(0x1f0)](process[_0x50b40e(0x1d2)][_0x50b40e(0x1fe)],_0x50b40e(0x20c))&&(_0x17422c=!![]);let _0x5d84f4=undefined;process[_0x50b40e(0x1d2)]['KAFKA_SASL_MECHANISM']&&(_0x5d84f4={'mechanism':process[_0x50b40e(0x1d2)]['KAFKA_SASL_MECHANISM'],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process[_0x50b40e(0x1d2)][_0x50b40e(0x220)]||''}),this[_0x50b40e(0x1ee)]=new Kafka({'clientId':_0x69d0e9[_0x50b40e(0x1ec)]||_0x481bc8[_0x50b40e(0x1ec)],'brokers':_0x481bc8['brokers'],'connectionTimeout':_0x481bc8[_0x50b40e(0x200)],'requestTimeout':_0x481bc8[_0x50b40e(0x1f5)],'logLevel':this['getLogLevel'](_0x481bc8[_0x50b40e(0x1ef)]),'ssl':_0x17422c,'sasl':_0x5d84f4,'retry':{'initialRetryTime':_0x481bc8['retryDelay'],'retries':_0x481bc8[_0x50b40e(0x1cb)],'maxRetryTime':_0x481bc8['retryMaxDelay']}}),this['groupId']=_0x69d0e9['groupId']||'restforge-'+(process['env']['RESTFORGE_PROJECT_NAME']||_0x50b40e(0x21c))+'-consumer-group',this[_0x50b40e(0x1ed)]=this['kafka']['consumer']({'groupId':this[_0x50b40e(0x207)],'sessionTimeout':_0x481bc8[_0x50b40e(0x1b1)],'heartbeatInterval':_0x481bc8['heartbeatInterval'],'maxBytesPerPartition':_0x481bc8['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this[_0x50b40e(0x1ed)][_0x50b40e(0x1d5)](),this[_0x50b40e(0x1bf)]=!![],console[_0x50b40e(0x21d)]('[KafkaConsumer]\x20Consumer\x20connected\x20to\x20brokers:\x20'+_0x481bc8[_0x50b40e(0x216)][_0x50b40e(0x20e)](',\x20')+_0x50b40e(0x1d6)+this[_0x50b40e(0x207)]+')'),this['setupEventHandlers'](),_0x57917c['kGOnX'](_0x54f120,!![]);}catch(_0x172f47){console['error'](_0x50b40e(0x1f8)+_0x172f47[_0x50b40e(0x1e9)]),this[_0x50b40e(0x1bf)]=![],_0x54f120(![]);}finally{this['isInitializing']=![];}}),this['connectionPromise'];}['setupEventHandlers'](){const _0x252d9a=a0_0x5ea097,_0x105597={'vzGCn':'[KafkaConsumer]\x20Consumer\x20disconnected','bYyUA':'consumer.disconnect','NVuhV':'consumer.stop','cQClE':_0x252d9a(0x208)};if(!this['consumer'])return;this[_0x252d9a(0x1ed)]['on'](_0x105597['bYyUA'],()=>{const _0x4be89c=_0x252d9a;console[_0x4be89c(0x21d)](_0x105597[_0x4be89c(0x204)]),this['isConnected']=![],this[_0x4be89c(0x224)]=![];}),this[_0x252d9a(0x1ed)]['on'](_0x105597['NVuhV'],()=>{const _0xc15050=_0x252d9a;console['log'](_0xc15050(0x1ca)),this['isRunning']=![];}),this['consumer']['on']('consumer.crash',_0x461e56=>{const _0x2abcd2=_0x252d9a;console['error']('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x461e56['payload'][_0x2abcd2(0x1c7)][_0x2abcd2(0x1e9)]),this[_0x2abcd2(0x224)]=![];}),this['consumer']['on'](_0x105597['cQClE'],()=>{const _0x3cc7f8=_0x252d9a;console[_0x3cc7f8(0x21d)](_0x3cc7f8(0x1c5));});}async[a0_0x5ea097(0x1e2)](_0x1d05db,_0x2b2d3f=![]){const _0x52a193=a0_0x5ea097;if(!this[_0x52a193(0x1bf)])return console[_0x52a193(0x1c7)]('[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'),![];try{const _0x19d8d5=Array['isArray'](_0x1d05db)?_0x1d05db:[_0x1d05db];for(const _0x20ebb9 of _0x19d8d5){await this[_0x52a193(0x1ed)][_0x52a193(0x1e2)]({'topic':_0x20ebb9,'fromBeginning':_0x2b2d3f}),console[_0x52a193(0x21d)]('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x20ebb9+'\x20(fromBeginning:\x20'+_0x2b2d3f+')');}return this[_0x52a193(0x1da)]=[...new Set([...this['subscribedTopics'],..._0x19d8d5])],!![];}catch(_0xe1c444){return console['error'](_0x52a193(0x21a)+_0xe1c444['message']),![];}}async[a0_0x5ea097(0x1c4)](_0x7c672a,_0x308132={}){const _0x53dbd7=a0_0x5ea097,_0x11a837={'ealkM':function(_0x1ea847,_0x312291){return _0x1ea847+_0x312291;},'dfriV':function(_0x48c684,_0x370fa0){return _0x48c684-_0x370fa0;},'GxIxg':function(_0x41bb99){return _0x41bb99();},'HSRYF':'[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected','qDYhk':'[KafkaConsumer]\x20Consumer\x20already\x20running'};if(!this[_0x53dbd7(0x1bf)])return console[_0x53dbd7(0x1c7)](_0x11a837[_0x53dbd7(0x1d9)]),![];if(this['isRunning'])return console[_0x53dbd7(0x21d)](_0x11a837['qDYhk']),!![];const _0x2dd56b=this[_0x53dbd7(0x1ba)]();this[_0x53dbd7(0x1c3)]=_0x7c672a;try{return this[_0x53dbd7(0x221)]['startTime']=new Date(),await this['consumer']['run']({'autoCommit':_0x308132['autoCommit']!==undefined?_0x308132['autoCommit']:_0x2dd56b['autoCommit'],'autoCommitInterval':_0x2dd56b['autoCommitInterval'],'eachMessage':async({topic:_0x5c81bf,partition:_0x1d987c,message:_0x493917,heartbeat:_0x12bdfb})=>{const _0x3cf331=_0x53dbd7,_0x1b67da=Date['now']();this['metrics']['messagesReceived']++,this['metrics']['lastMessageTime']=new Date();try{const _0x13de72=_0x493917[_0x3cf331(0x1e5)]?_0x493917['value'][_0x3cf331(0x1cc)]():null;let _0x269efb=null;try{_0x269efb=_0x13de72?JSON[_0x3cf331(0x202)](_0x13de72):null;}catch(_0x37dd96){_0x269efb=_0x13de72;}const _0x50e0f6={'topic':_0x5c81bf,'partition':_0x1d987c,'offset':_0x493917['offset'],'key':_0x493917['key']?_0x493917['key']['toString']():null,'headers':this[_0x3cf331(0x20f)](_0x493917['headers']),'timestamp':_0x493917['timestamp'],'value':_0x269efb,'raw':_0x13de72};this[_0x3cf331(0x1c3)]&&await this[_0x3cf331(0x1c3)](_0x50e0f6);!_0x2dd56b['autoCommit']&&await this['consumer'][_0x3cf331(0x1be)]([{'topic':_0x5c81bf,'partition':_0x1d987c,'offset':_0x11a837[_0x3cf331(0x225)](parseInt(_0x493917[_0x3cf331(0x205)]),0x1)[_0x3cf331(0x1cc)]()}]);this[_0x3cf331(0x221)][_0x3cf331(0x1b0)]++;const _0x46e1a9=_0x11a837[_0x3cf331(0x1c2)](Date['now'](),_0x1b67da);this[_0x3cf331(0x221)]['processingTimes'][_0x3cf331(0x1c9)](_0x46e1a9),this['metrics'][_0x3cf331(0x1f7)][_0x3cf331(0x21f)]>0x64&&this['metrics']['processingTimes']['shift'](),await _0x11a837['GxIxg'](_0x12bdfb);}catch(_0x59b662){this['metrics']['messagesFailed']++,console[_0x3cf331(0x1c7)](_0x3cf331(0x1e4)+_0x59b662[_0x3cf331(0x1e9)]);throw _0x59b662;}}}),this['isRunning']=!![],console['log'](_0x53dbd7(0x1e6)+this['subscribedTopics']['join'](',\x20')),!![];}catch(_0x30664a){return console['error'](_0x53dbd7(0x219)+_0x30664a[_0x53dbd7(0x1e9)]),![];}}[a0_0x5ea097(0x20f)](_0x337db2){const _0x3d29f1=a0_0x5ea097;if(!_0x337db2)return{};const _0x467abe={};for(const [_0x49dede,_0x5f635]of Object[_0x3d29f1(0x1ce)](_0x337db2)){_0x467abe[_0x49dede]=_0x5f635?_0x5f635[_0x3d29f1(0x1cc)]():null;}return _0x467abe;}async['pause'](){const _0x520b59=a0_0x5ea097,_0x32db1a={'EWxcw':_0x520b59(0x1fc),'ebkqB':_0x520b59(0x21e)};if(!this[_0x520b59(0x1bf)]||!this[_0x520b59(0x224)])return console['log']('[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running'),![];if(this['isPaused'])return console['log'](_0x32db1a[_0x520b59(0x1b6)]),!![];try{const _0x1b1823=this['subscribedTopics'][_0x520b59(0x218)](_0x2f368b=>({'topic':_0x2f368b}));return this['consumer']['pause'](_0x1b1823),this[_0x520b59(0x1d7)]=!![],console['log'](_0x32db1a['ebkqB']),!![];}catch(_0x5141f5){return console[_0x520b59(0x1c7)](_0x520b59(0x1de)+_0x5141f5['message']),![];}}async['resume'](){const _0xe8043f=a0_0x5ea097;if(!this['isConnected']||!this[_0xe8043f(0x224)])return console[_0xe8043f(0x21d)](_0xe8043f(0x1b2)),![];if(!this[_0xe8043f(0x1d7)])return console[_0xe8043f(0x21d)](_0xe8043f(0x20a)),!![];try{const _0x16d629=this['subscribedTopics']['map'](_0x1a9046=>({'topic':_0x1a9046}));return this[_0xe8043f(0x1ed)]['resume'](_0x16d629),this['isPaused']=![],console['log']('[KafkaConsumer]\x20Consumer\x20resumed'),!![];}catch(_0x34e39a){return console['error']('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x34e39a[_0xe8043f(0x1e9)]),![];}}async[a0_0x5ea097(0x1c1)](){const _0x5b7d3e=a0_0x5ea097,_0x47cb9f={'lYdQZ':'[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected'};if(!this[_0x5b7d3e(0x1bf)])return console[_0x5b7d3e(0x21d)](_0x5b7d3e(0x1dd)),!![];try{return this['consumer']&&(await this[_0x5b7d3e(0x1ed)]['stop'](),await this['consumer']['disconnect']()),this[_0x5b7d3e(0x1bf)]=![],this[_0x5b7d3e(0x224)]=![],this['isPaused']=![],console[_0x5b7d3e(0x21d)](_0x47cb9f[_0x5b7d3e(0x1c8)]),!![];}catch(_0x19f01c){return console[_0x5b7d3e(0x1c7)](_0x5b7d3e(0x1f1)+_0x19f01c['message']),![];}}async['seekToOffset'](_0xa327b,_0x4362f7,_0xbcb401){const _0x4e015b=a0_0x5ea097;if(!this[_0x4e015b(0x1bf)])return console['error'](_0x4e015b(0x222)),![];try{return this[_0x4e015b(0x1ed)][_0x4e015b(0x217)]({'topic':_0xa327b,'partition':_0x4362f7,'offset':_0xbcb401['toString']()}),console['log'](_0x4e015b(0x1af)+_0xbcb401+_0x4e015b(0x1ff)+_0xa327b+':'+_0x4362f7),!![];}catch(_0x3bb690){return console[_0x4e015b(0x1c7)]('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x3bb690[_0x4e015b(0x1e9)]),![];}}['getStatus'](){const _0x5a854f=a0_0x5ea097,_0x3fe9c4=this['getConfig']();return{'enabled':_0x3fe9c4['enabled'],'connected':this['isConnected'],'running':this[_0x5a854f(0x224)],'paused':this[_0x5a854f(0x1d7)],'brokers':_0x3fe9c4['brokers'],'clientId':_0x3fe9c4[_0x5a854f(0x1ec)],'groupId':this['groupId'],'subscribedTopics':this[_0x5a854f(0x1da)]};}['getMetrics'](){const _0x40da0a=a0_0x5ea097,_0x4c0ab7={'qsnGD':function(_0x5a2761,_0x131fee){return _0x5a2761/_0x131fee;},'IVTFk':function(_0x13f172,_0x363fd3){return _0x13f172>_0x363fd3;},'pinTP':function(_0x1eed50,_0xaf049c){return _0x1eed50+_0xaf049c;},'jYlwg':function(_0x2fe4eb,_0xce9088){return _0x2fe4eb/_0xce9088;},'LFVfx':function(_0x3dee6d,_0x5abdab){return _0x3dee6d-_0x5abdab;},'oAocK':function(_0xd31dce,_0x46ecb0){return _0xd31dce+_0x46ecb0;}},_0x95c567=this[_0x40da0a(0x221)][_0x40da0a(0x1f7)][_0x40da0a(0x21f)]>0x0?_0x4c0ab7['qsnGD'](this[_0x40da0a(0x221)]['processingTimes']['reduce']((_0x14bb89,_0x19eb27)=>_0x14bb89+_0x19eb27,0x0),this[_0x40da0a(0x221)]['processingTimes'][_0x40da0a(0x21f)]):0x0,_0x283d57=_0x4c0ab7['IVTFk'](this['metrics'][_0x40da0a(0x1f7)]['length'],0x0)?Math['min'](...this[_0x40da0a(0x221)]['processingTimes']):0x0,_0x2ad12a=_0x4c0ab7['IVTFk'](this[_0x40da0a(0x221)][_0x40da0a(0x1f7)][_0x40da0a(0x21f)],0x0)?Math[_0x40da0a(0x1d1)](...this['metrics']['processingTimes']):0x0;return{'messagesReceived':this[_0x40da0a(0x221)]['messagesReceived'],'messagesProcessed':this['metrics']['messagesProcessed'],'messagesFailed':this['metrics'][_0x40da0a(0x1e1)],'successRate':_0x4c0ab7['IVTFk'](this[_0x40da0a(0x221)][_0x40da0a(0x1bd)],0x0)?_0x4c0ab7[_0x40da0a(0x209)]((_0x4c0ab7['qsnGD'](this[_0x40da0a(0x221)][_0x40da0a(0x1b0)],this['metrics'][_0x40da0a(0x1bd)])*0x64)['toFixed'](0x2),'%'):'0%','lastMessageTime':this['metrics']['lastMessageTime'],'startTime':this['metrics']['startTime'],'uptime':this['metrics']['startTime']?_0x4c0ab7['pinTP'](Math[_0x40da0a(0x1dc)](_0x4c0ab7['jYlwg'](_0x4c0ab7[_0x40da0a(0x1d8)](Date[_0x40da0a(0x1e0)](),this[_0x40da0a(0x221)][_0x40da0a(0x1d3)]['getTime']()),0x3e8)),'s'):'0s','processingTime':{'avg':_0x4c0ab7[_0x40da0a(0x1e8)](Math['round'](_0x95c567),'ms'),'min':_0x283d57+'ms','max':_0x2ad12a+'ms'}};}['resetMetrics'](){const _0x407369=a0_0x5ea097,_0x4e3110={'tVzKy':'[KafkaConsumer]\x20Metrics\x20reset'};this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x407369(0x224)]?new Date():null,'processingTimes':[]},console['log'](_0x4e3110['tVzKy']);}async[a0_0x5ea097(0x1cf)](){await this['stop']();}}let instance=null;function a0_0x539f(_0x52a239,_0x50f594){_0x52a239=_0x52a239-0x1af;const _0x55820a=a0_0x5582();let _0x539fe9=_0x55820a[_0x52a239];if(a0_0x539f['NRRneM']===undefined){var _0x4d5194=function(_0x4bc1fa){const _0x1cff77='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x446859='',_0x146f31='';for(let _0x8b14f3=0x0,_0x4c8e9f,_0x39ad92,_0x2495e5=0x0;_0x39ad92=_0x4bc1fa['charAt'](_0x2495e5++);~_0x39ad92&&(_0x4c8e9f=_0x8b14f3%0x4?_0x4c8e9f*0x40+_0x39ad92:_0x39ad92,_0x8b14f3++%0x4)?_0x446859+=String['fromCharCode'](0xff&_0x4c8e9f>>(-0x2*_0x8b14f3&0x6)):0x0){_0x39ad92=_0x1cff77['indexOf'](_0x39ad92);}for(let _0x34e5a1=0x0,_0x4c92f0=_0x446859['length'];_0x34e5a1<_0x4c92f0;_0x34e5a1++){_0x146f31+='%'+('00'+_0x446859['charCodeAt'](_0x34e5a1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x146f31);};a0_0x539f['LJTGpi']=_0x4d5194,a0_0x539f['MajSMy']={},a0_0x539f['NRRneM']=!![];}const _0xbf99ca=_0x55820a[0x0],_0xb6552e=_0x52a239+_0xbf99ca,_0x48e915=a0_0x539f['MajSMy'][_0xb6552e];return!_0x48e915?(_0x539fe9=a0_0x539f['LJTGpi'](_0x539fe9),a0_0x539f['MajSMy'][_0xb6552e]=_0x539fe9):_0x539fe9=_0x48e915,_0x539fe9;}function a0_0x5582(){const _0x220e26=['w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','s0fgs0fFuKvrvuvtvf9usu1ft1vu','Bg9JywXOB3n0oJKWoti','zKH5CuK','CMvXDwvZDfrPBwvVDxq','zw5HyMXLza','ChjVy2vZC2LUz1rPBwvZ','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','v0TfBfe','mJiZode1nLzXwureDG','s0fgs0fFsevbuLrcrufux0LovevsvKfm','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','s0fgs0fFu1nm','ig9Uia','y29UBMvJDgLVBLrPBwvVDxq','revcvuC','CgfYC2u','mJrruNHnqwi','DNPhq24','B2zMC2v0','AxnjBML0AwfSAxPPBMC','z3jVDxbjza','y29UC3vTzxiUCMvIywXHBMnPBMC','CgLUvfa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbWyxvZzwq','wePQt3u','Dhj1zq','mti3mtCXmfzhDeLXsa','AM9PBG','CgfYC2vizwfKzxjZ','s0fgs0fFq0Xjru5ux0Le','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','mJuWmda','rg5ryuq','mtCZota4t3bODKHT','Aw5PDgLHBgL6zq','yNjVA2vYCW','C2vLAW','BwfW','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','tK9useLorW','zgvMyxvSDa','Bg9N','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','BgvUz3rO','s0fgs0fFu0fttf9qqvntv09sra','Bwv0CMLJCW','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','mZKWEg1utvLt','AxnsDw5UAw5N','zwfSA00','qNf1B0W','mtaWma','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','BwvZC2fNzxnqCM9JzxnZzwq','C2vZC2LVBLrPBwvVDxq','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','r3jurM4','s0fgs0fFru5bqKXfra','mZvOsxz3v1e','rvD4y3C','s0fgs0fFqvvut19dt01nsvq','s0fgs0fFuKvuuLLFrevmqvK','mwr0shbZyW','z2v0q29UzMLN','BNjQDhK','A2fMA2fQCW','BwvZC2fNzxnszwnLAxzLza','y29TBwL0t2zMC2v0CW','AxndB25Uzwn0zwq','ote3mdv0C1bxzMC','C3rVCa','zgzYAvy','BwvZC2fNzuHHBMrSzxi','C3rHCNrdB25ZDw1PBMC','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','nJC3odHJq2DhuLu','zxjYB3i','BfLKuvO','ChvZAa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','CMv0CNLbDhrLBxb0CW','Dg9tDhjPBMC','y29UBMvJDgLVBLbYB21PC2u','zw50CMLLCW','y2XVC2u','s0fgs0fFqLjps0vsuW','Bwf4','zw52','C3rHCNruAw1L','mZyYndnkwhjtr2S','y29UBMvJDa','icHNCM91CeLKoIa','AxnqyxvZzwq','tezwzNG','sfnswuy','C3vIC2nYAwjLzfrVCgLJCW','s0fgs0fFuKvuuLLFtufyx0rftefz','zMXVB3i','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','ndK0otKYAw1IzKrK','BM93','BwvZC2fNzxngywLSzwq','C3vIC2nYAwjL','DxvPza','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','DMfSDwu','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','ntaWma','B0fVy0S','BwvZC2fNzq','Dg9mB3DLCKnHC2u','mZaWmda','y2XPzw50swq','y29UC3vTzxi','A2fMA2e','Bg9Ntgv2zwW','ANLdrxa'];a0_0x5582=function(){return _0x220e26;};return a0_0x5582();}function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0xe5a180=a0_0x2b6f;(function(_0x329134,_0x2181f9){const _0x5ef3cf=a0_0x2b6f,_0x11a2ab=_0x329134();while(!![]){try{const _0x2aa9e4=-parseInt(_0x5ef3cf(0x10c))/0x1*(-parseInt(_0x5ef3cf(0xfb))/0x2)+parseInt(_0x5ef3cf(0xed))/0x3+-parseInt(_0x5ef3cf(0xf9))/0x4*(parseInt(_0x5ef3cf(0xe8))/0x5)+parseInt(_0x5ef3cf(0xd9))/0x6+-parseInt(_0x5ef3cf(0xdf))/0x7+-parseInt(_0x5ef3cf(0x101))/0x8*(-parseInt(_0x5ef3cf(0x10d))/0x9)+-parseInt(_0x5ef3cf(0x108))/0xa;if(_0x2aa9e4===_0x2181f9)break;else _0x11a2ab['push'](_0x11a2ab['shift']());}catch(_0x104b7a){_0x11a2ab['push'](_0x11a2ab['shift']());}}}(a0_0x5ce5,0xbad27));const {Kafka,logLevel,Partitioners}=require('kafkajs'),{v7:uuidv7}=require(a0_0xe5a180(0xf1));class KafkaService{constructor(){const _0x278901=a0_0xe5a180;this['kafka']=null,this['producer']=null,this[_0x278901(0xe3)]=![],this[_0x278901(0xf4)]=![],this[_0x278901(0xd7)]=null;}['getConfig'](){const _0x2ea9bb=a0_0xe5a180,_0x6912c8={'zGUEU':_0x2ea9bb(0xec),'PIYCe':function(_0x7927ba,_0x31f294){return _0x7927ba(_0x31f294);},'ehamk':_0x2ea9bb(0x11d),'dqqSc':'{module}.{endpoint}.events','jiHFo':'warn'};return{'enabled':process['env'][_0x2ea9bb(0xdc)]==='true','brokers':(process[_0x2ea9bb(0xea)]['KAFKA_BROKERS']||'localhost:9092')['split'](','),'clientId':process['env']['KAFKA_CLIENT_ID']||'restforge-'+(process[_0x2ea9bb(0xea)]['RESTFORGE_PROJECT_NAME']||_0x2ea9bb(0xee))+_0x2ea9bb(0x110),'connectionTimeout':parseInt(process[_0x2ea9bb(0xea)]['KAFKA_CONNECTION_TIMEOUT']||_0x6912c8['zGUEU']),'requestTimeout':_0x6912c8['PIYCe'](parseInt,process['env']['KAFKA_REQUEST_TIMEOUT']||_0x6912c8[_0x2ea9bb(0xeb)]),'topicPattern':process['env'][_0x2ea9bb(0xfd)]||_0x6912c8[_0x2ea9bb(0xfa)],'tenantId':process['env']['KAFKA_TENANT_ID']||_0x2ea9bb(0xee),'retryAttempts':parseInt(process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process[_0x2ea9bb(0xea)][_0x2ea9bb(0xd2)]||_0x2ea9bb(0xef)),'logLevel':process['env'][_0x2ea9bb(0x116)]||_0x6912c8[_0x2ea9bb(0x105)]};}[a0_0xe5a180(0xcf)](_0x24c5a4){const _0x481b36=a0_0xe5a180,_0x577c7d={'nothing':logLevel[_0x481b36(0x11f)],'error':logLevel[_0x481b36(0x115)],'warn':logLevel[_0x481b36(0x106)],'info':logLevel[_0x481b36(0xf6)],'debug':logLevel['DEBUG']};return _0x577c7d[_0x24c5a4[_0x481b36(0xe7)]()]||logLevel[_0x481b36(0x106)];}async[a0_0xe5a180(0x11b)](){const _0x56a297=a0_0xe5a180,_0x2d3eef={'PToDm':function(_0xd1031b,_0x4026b8){return _0xd1031b===_0x4026b8;},'zktOv':'true','WrsuN':function(_0x13dbd9,_0x52f1e4){return _0x13dbd9(_0x52f1e4);},'vBjDA':_0x56a297(0x104)},_0x2f7faf=this['getConfig']();if(!_0x2f7faf['enabled'])return console['log'](_0x2d3eef['vBjDA']),![];if(this[_0x56a297(0xe3)])return!![];if(this['isInitializing']&&this['connectionPromise'])return this['connectionPromise'];return this['isInitializing']=!![],this[_0x56a297(0xd7)]=new Promise(async _0x5bfeed=>{const _0x47a1a6=_0x56a297;try{let _0x13a3ef=undefined;_0x2d3eef['PToDm'](process[_0x47a1a6(0xea)][_0x47a1a6(0x10a)],_0x2d3eef['zktOv'])&&(_0x13a3ef=!![]);let _0x151380=undefined;process['env'][_0x47a1a6(0xe9)]&&(_0x151380={'mechanism':process[_0x47a1a6(0xea)]['KAFKA_SASL_MECHANISM'],'username':process['env'][_0x47a1a6(0x100)]||'','password':process[_0x47a1a6(0xea)]['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x2f7faf[_0x47a1a6(0x113)],'brokers':_0x2f7faf[_0x47a1a6(0x10e)],'connectionTimeout':_0x2f7faf['connectionTimeout'],'requestTimeout':_0x2f7faf['requestTimeout'],'logLevel':this[_0x47a1a6(0xcf)](_0x2f7faf['logLevel']),'ssl':_0x13a3ef,'sasl':_0x151380,'retry':{'initialRetryTime':_0x2f7faf['retryDelay'],'retries':_0x2f7faf[_0x47a1a6(0xf7)]}}),this['producer']=this['kafka'][_0x47a1a6(0xd4)]({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners['LegacyPartitioner']}),await this['producer'][_0x47a1a6(0xfc)](),this['isConnected']=!![],console[_0x47a1a6(0xd6)]('[Kafka]\x20Producer\x20connected\x20to\x20brokers:\x20'+_0x2f7faf['brokers']['join'](',\x20')),this['producer']['on']('producer.disconnect',()=>{const _0x1b6211=_0x47a1a6;console['log'](_0x1b6211(0xf5)),this['isConnected']=![];}),_0x5bfeed(!![]);}catch(_0x29fa7c){console['error'](_0x47a1a6(0x10b)+_0x29fa7c['message']),this['isConnected']=![],_0x2d3eef[_0x47a1a6(0x109)](_0x5bfeed,![]);}finally{this[_0x47a1a6(0xf4)]=![];}}),this['connectionPromise'];}['formatDateTime'](_0x621056){const _0x144aa6=a0_0xe5a180,_0x42f293={'yHdOk':function(_0x1ff651,_0x160d39){return _0x1ff651(_0x160d39);}},_0x410c80=_0x621056||new Date(),_0x558e37=_0x410c80['getFullYear'](),_0x5adddd=String(_0x410c80['getMonth']()+0x1)[_0x144aa6(0x119)](0x2,'0'),_0x459fe8=String(_0x410c80['getDate']())['padStart'](0x2,'0'),_0x5c4884=_0x42f293['yHdOk'](String,_0x410c80[_0x144aa6(0xe4)]())[_0x144aa6(0x119)](0x2,'0'),_0x150776=String(_0x410c80['getMinutes']())['padStart'](0x2,'0'),_0x4d2e69=_0x42f293[_0x144aa6(0xd5)](String,_0x410c80['getSeconds']())[_0x144aa6(0x119)](0x2,'0');return _0x558e37+'-'+_0x5adddd+'-'+_0x459fe8+'\x20'+_0x5c4884+':'+_0x150776+':'+_0x4d2e69;}['buildTopicName'](_0x23976c,_0x4728b2,_0x2e977d,_0x9712f3=null){const _0x318499=a0_0xe5a180;if(_0x9712f3)return _0x9712f3;const _0x5a80bc=this['getConfig']()[_0x318499(0xcd)];return _0x5a80bc['replace'](_0x318499(0xe6),_0x23976c)['replace']('{endpoint}',_0x4728b2)[_0x318499(0xf8)]('{action}',_0x2e977d);}['buildEventMessage'](_0x2a4fd5,_0x4b67c3,_0x497d06,_0x445ce6={}){const _0x18fc8c=a0_0xe5a180,_0x372365={'QLUgT':_0x18fc8c(0xda)},_0x1c0ce0=new Date(),_0xfbf656=this[_0x18fc8c(0xe2)](_0x1c0ce0),_0x3b19d3=_0x445ce6[_0x18fc8c(0x103)]||'corr-'+uuidv7();return{'eventId':_0x18fc8c(0xe1)+uuidv7(),'eventType':_0x2a4fd5,'eventTime':_0xfbf656,'eventVersion':_0x372365['QLUgT'],'source':_0x18fc8c(0xdb)+(_0x445ce6[_0x18fc8c(0x11a)]||_0x18fc8c(0xd8)),'correlationId':_0x3b19d3,'newData':_0x497d06,'oldData':_0x4b67c3,'metadata':{'createdBy':_0x445ce6['createdBy']||_0x18fc8c(0x111),'createdAt':_0xfbf656,'systemId':_0x18fc8c(0x114)+(_0x445ce6['module']||'unknown')['toUpperCase'](),'tenantId':this['getConfig']()['tenantId'],'endpoint':_0x445ce6['endpoint']||null,'tableName':_0x445ce6['tableName']||null}};}async[a0_0xe5a180(0x11c)](_0x1556fa,_0x513492,_0x4b6ce3,_0x4c5404,_0x15f3d8={}){const _0x35bbe1=a0_0xe5a180,_0x38f28d={'mhwOq':_0x35bbe1(0x102),'tHgFB':'Failed\x20to\x20connect\x20to\x20Kafka\x20broker','QZfWs':function(_0x178f9d,_0x1614f8){return _0x178f9d(_0x1614f8);}},_0x2526ed=this[_0x35bbe1(0xdd)]();if(!_0x2526ed[_0x35bbe1(0xe5)])return{'success':![],'reason':_0x38f28d[_0x35bbe1(0xde)],'published':![]};if(!this[_0x35bbe1(0xe3)]){const _0x48a86b=await this['initialize']();if(!_0x48a86b)return{'success':![],'reason':_0x38f28d['tHgFB'],'published':![]};}try{const _0x5de1ee=this[_0x35bbe1(0x11e)](_0x513492,_0x4b6ce3,_0x4c5404,_0x15f3d8),_0x322e74=_0x15f3d8[_0x35bbe1(0x112)]||'id',_0xf6918f=_0x4c5404?.[_0x322e74]||_0x4b6ce3?.[_0x322e74]||uuidv7(),_0x27ebf2=await this['producer']['send']({'topic':_0x1556fa,'messages':[{'key':_0x38f28d['QZfWs'](String,_0xf6918f),'value':JSON['stringify'](_0x5de1ee),'headers':{'event-type':_0x513492,'correlation-id':_0x5de1ee['correlationId'],'source':_0x5de1ee[_0x35bbe1(0xfe)]}}]});return console[_0x35bbe1(0xd6)](_0x35bbe1(0xf2)+_0x1556fa+':\x20'+_0x513492+_0x35bbe1(0x10f)+_0xf6918f+')'),{'success':!![],'correlationId':_0x5de1ee[_0x35bbe1(0x103)],'topic':_0x1556fa,'partition':_0x27ebf2[0x0]?.['partition'],'offset':_0x27ebf2[0x0]?.['baseOffset'],'published':!![]};}catch(_0x510360){return console['error']('[Kafka]\x20Publish\x20error\x20to\x20'+_0x1556fa+':\x20'+_0x510360[_0x35bbe1(0xf3)]),{'success':![],'error':_0x510360[_0x35bbe1(0xf3)],'published':![]};}}async[a0_0xe5a180(0xe0)](_0x19ea46,_0xdc56db,_0x50078c,_0x22e97a={}){const _0xf9b602=a0_0xe5a180,_0x31e217={'VWTXE':_0xf9b602(0x107)},_0x36f71c=this[_0xf9b602(0xce)](_0x19ea46,_0xdc56db,_0x31e217['VWTXE'],_0x22e97a[_0xf9b602(0x117)]);return this[_0xf9b602(0x11c)](_0x36f71c,'ENTITY_CREATED',null,_0x50078c,{'module':_0x19ea46,'endpoint':_0xdc56db,'keyField':_0x22e97a[_0xf9b602(0x112)],'tableName':_0x22e97a['tableName'],'correlationId':_0x22e97a['correlationId']});}async['publishUpdate'](_0x1471e0,_0x478cbd,_0x13d681,_0x4ef54e,_0x4f92ff={}){const _0x45c558=a0_0xe5a180,_0x5dfd3d=this['buildTopicName'](_0x1471e0,_0x478cbd,'updated',_0x4f92ff['topic']);return this[_0x45c558(0x11c)](_0x5dfd3d,'ENTITY_UPDATED',_0x13d681,_0x4ef54e,{'module':_0x1471e0,'endpoint':_0x478cbd,'keyField':_0x4f92ff['keyField'],'tableName':_0x4f92ff[_0x45c558(0xd0)],'correlationId':_0x4f92ff[_0x45c558(0x103)]});}async[a0_0xe5a180(0x118)](_0x433ffe,_0x51cbfc,_0x30e9ea,_0x4b9156={}){const _0x845d71=a0_0xe5a180,_0x2339a4=this['buildTopicName'](_0x433ffe,_0x51cbfc,_0x845d71(0xf0),_0x4b9156[_0x845d71(0x117)]);return this[_0x845d71(0x11c)](_0x2339a4,_0x845d71(0xd3),_0x30e9ea,null,{'module':_0x433ffe,'endpoint':_0x51cbfc,'keyField':_0x4b9156['keyField'],'tableName':_0x4b9156['tableName'],'correlationId':_0x4b9156[_0x845d71(0x103)]});}['getStatus'](){const _0x27d5cc=a0_0xe5a180,_0x280de5=this['getConfig']();return{'enabled':_0x280de5[_0x27d5cc(0xe5)],'connected':this['isConnected'],'brokers':_0x280de5[_0x27d5cc(0x10e)],'clientId':_0x280de5[_0x27d5cc(0x113)],'topicPattern':_0x280de5[_0x27d5cc(0xcd)]};}async['close'](){const _0x2a7c11=a0_0xe5a180;if(this['producer']&&this['isConnected'])try{await this['producer'][_0x2a7c11(0xff)](),this[_0x2a7c11(0xe3)]=![],console['log']('[Kafka]\x20Producer\x20disconnected\x20gracefully');}catch(_0x2a67c6){console['error']('[Kafka]\x20Error\x20disconnecting:\x20'+_0x2a67c6['message']);}}}function a0_0x2b6f(_0x257e16,_0x1af9fa){_0x257e16=_0x257e16-0xcd;const _0x5ce580=a0_0x5ce5();let _0x2b6f0a=_0x5ce580[_0x257e16];if(a0_0x2b6f['yltAre']===undefined){var _0xa5879c=function(_0xd378e5){const _0x2d8670='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4e41cf='',_0x1570b0='';for(let _0x2e9055=0x0,_0xdd1f8a,_0x4b551a,_0x2bfa51=0x0;_0x4b551a=_0xd378e5['charAt'](_0x2bfa51++);~_0x4b551a&&(_0xdd1f8a=_0x2e9055%0x4?_0xdd1f8a*0x40+_0x4b551a:_0x4b551a,_0x2e9055++%0x4)?_0x4e41cf+=String['fromCharCode'](0xff&_0xdd1f8a>>(-0x2*_0x2e9055&0x6)):0x0){_0x4b551a=_0x2d8670['indexOf'](_0x4b551a);}for(let _0xe34b1=0x0,_0x312786=_0x4e41cf['length'];_0xe34b1<_0x312786;_0xe34b1++){_0x1570b0+='%'+('00'+_0x4e41cf['charCodeAt'](_0xe34b1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1570b0);};a0_0x2b6f['dwounC']=_0xa5879c,a0_0x2b6f['wjeiEx']={},a0_0x2b6f['yltAre']=!![];}const _0x8fa15c=_0x5ce580[0x0],_0x2f0033=_0x257e16+_0x8fa15c,_0x4be3cc=a0_0x2b6f['wjeiEx'][_0x2f0033];return!_0x4be3cc?(_0x2b6f0a=a0_0x2b6f['dwounC'](_0x2b6f0a),a0_0x2b6f['wjeiEx'][_0x2f0033]=_0x2b6f0a):_0x2b6f0a=_0x4be3cc,_0x2b6f0a;}let instance=null;function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}module[a0_0xe5a180(0xd1)]={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};function a0_0x5ce5(){const _0x1abbc0=['BwvZC2fNzq','AxnjBML0AwfSAxPPBMC','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwq','su5gtW','CMv0CNLbDhrLBxb0CW','CMvWBgfJzq','mJr5ufvLsgi','zhfXu2m','mM15wMvHBa','y29UBMvJDa','s0fgs0fFve9qsunFuefuvevstG','C291CMnL','zgLZy29UBMvJDa','s0fgs0fFu0fttf9vu0vstKfnrq','mJy0nJmYrhzvCNLP','s2fMA2eGChjVzhvJzxiGAxmGzgLZywjSzwq','y29YCMvSyxrPB25jza','w0THzMTHxsblywzRysbWCM9KDwnLCIbPCYbKAxnHyMXLzcbPBIbJB25MAwD1CMf0Aw9U','AMLirM8','v0fstG','y3jLyxrLza','otq1nJKWzgPTvNjx','v3jZDu4','s0fgs0fFu1nm','w0THzMTHxsbdB25Uzwn0Aw9UigzHAwXLzdOG','mZq3nde5C0HoBLHf','mJDbzNrOyMK','yNjVA2vYCW','icHRzxK6ia','lxbYB2r1y2vY','u1Ltvevn','A2v5rMLLBgq','y2XPzw50swq','uKvtvezpuKDflq','rvjst1i','s0fgs0fFte9hx0XfvKvm','Dg9WAwm','ChvIBgLZAerLBgv0zq','CgfKu3rHCNq','Bw9KDwXL','Aw5PDgLHBgL6zq','ChvIBgLZAev2zw50','mJuWmda','yNvPBgrfDMvUDe1LC3nHz2u','tK9useLorW','Dg9WAwnqyxr0zxjU','yNvPBgruB3bPy05HBwu','z2v0tg9Ntgv2zwW','DgfIBgvoyw1L','zxHWB3j0CW','s0fgs0fFuKvuuLLFrevmqvK','ru5usvrzx0rftevuruq','ChjVzhvJzxi','EuHKt2S','Bg9N','y29UBMvJDgLVBLbYB21PC2u','Dw5RBM93BG','mJCXodu0EfHfu2nW','ms4W','CMvZDgzVCMDLlq','s0fgs0fFru5bqKXfra','z2v0q29UzMLN','BwH3t3e','ota1mJyXCMfHAgXi','ChvIBgLZAeLUC2vYDa','zxz0lq','zM9YBwf0rgf0zvrPBwu','AxndB25Uzwn0zwq','z2v0sg91CNm','zw5HyMXLza','E21VzhvSzx0','Dg9mB3DLCKnHC2u','ntyYmZmWqujXsgTb','s0fgs0fFu0fttf9nruniqu5ju00','zw52','zwHHBwS','mZaWma','mZuXntGZoeH6rhr4va','zgvMyxvSDa','mtaWma','zgvSzxrLza','DxvPza','w0THzMTHxsbfDMvUDcbWDwjSAxnOzwqGDg8G'];a0_0x5ce5=function(){return _0x1abbc0;};return a0_0x5ce5();}
|
|
1
|
+
function a0_0x5684(_0x35eaf2,_0x4dfaac){_0x35eaf2=_0x35eaf2-0x1df;const _0x4cb49d=a0_0x4cb4();let _0x568472=_0x4cb49d[_0x35eaf2];if(a0_0x5684['FasttF']===undefined){var _0x3aef30=function(_0x5d0b93){const _0x16e2dd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xf93bb9='',_0x211e67='';for(let _0x41cb07=0x0,_0x476051,_0x26f6c3,_0x55ebb0=0x0;_0x26f6c3=_0x5d0b93['charAt'](_0x55ebb0++);~_0x26f6c3&&(_0x476051=_0x41cb07%0x4?_0x476051*0x40+_0x26f6c3:_0x26f6c3,_0x41cb07++%0x4)?_0xf93bb9+=String['fromCharCode'](0xff&_0x476051>>(-0x2*_0x41cb07&0x6)):0x0){_0x26f6c3=_0x16e2dd['indexOf'](_0x26f6c3);}for(let _0xc764f8=0x0,_0xa4119a=_0xf93bb9['length'];_0xc764f8<_0xa4119a;_0xc764f8++){_0x211e67+='%'+('00'+_0xf93bb9['charCodeAt'](_0xc764f8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x211e67);};a0_0x5684['uQWixl']=_0x3aef30,a0_0x5684['HWqcpS']={},a0_0x5684['FasttF']=!![];}const _0x10091b=_0x4cb49d[0x0],_0x4a71af=_0x35eaf2+_0x10091b,_0x540b21=a0_0x5684['HWqcpS'][_0x4a71af];return!_0x540b21?(_0x568472=a0_0x5684['uQWixl'](_0x568472),a0_0x5684['HWqcpS'][_0x4a71af]=_0x568472):_0x568472=_0x540b21,_0x568472;}function a0_0x4cb4(){const _0x354212=['y29UBMvJDgLVBLbYB21PC2u','DgfIBgvoyw1L','mtm1ndq0ntrfyKXODhC','mZy3oda0EfbNqMvA','z2v0tw9UDgG','CMvZDgzVCMDLlq','q3zHCKW','DxvPza','mJC5nZa5ngf4EKfXDW','CMvWBgfJzq','AxndB25Uzwn0zwq','DxbKyxrLza','mZCWuwfyBurg','z2v0u2vJB25KCW','Du5mqwG','s0fgs0fFq09otKvdveLptL9usu1ft1vu','zM9YBwf0rgf0zvrPBwu','A2fMA2e','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwq','s0fgs0fFru5bqKXfra','y29YCI0','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwqGz3jHy2vMDwXSEq','ndKYmgP5swzztq','yNjVA2vYCW','rvjst1i','Bg9N','Dg9WAwm','ChjVzhvJzxi','BwvZC2fNzq','nZi1mJmYohnmA2zIwq','Dhj1zq','y2XPzw50swq','uKvtvezpuKDflq','s0fgs0fFuKvrvuvtvf9usu1ft1vu','AM9PBG','Dw5RBM93BG','s0fgs0fFte9hx0XfvKvm','Bw9KDwXL','w0THzMTHxsbfCNjVCIbKAxnJB25Uzwn0Aw5NoIa','vgXPyu4','z2v0sg91CNm','uwD2yvm','s0fgs0fFq0Xjru5ux0Le','u3fisKG','rMfPBgvKihrVignVBM5Ly3qGDg8Gs2fMA2eGyNjVA2vY','y3jLyxrLza','m21ouLv6EG','BgXAwKS','u1Ltvevn','y3jLyxrLzej5','Dg9vChbLCKnHC2u','zw52','odrKte9JEfa','CgfYDgL0Aw9U','mZaWma','z2v0q29UzMLN','z2v0twLUDxrLCW','y29YCMvSyxrPB25jza','AxnjBML0AwfSAxPPBMC','zw5HyMXLza','Bg9Ntgv2zwW','s2fMA2eGChjVzhvJzxiGAxmGzgLZywjSzwq','Dg9WAwnqyxr0zxjU','CuHMtKm','nde1otu2vuTyywvZ','mtm5nJi2ugfkuevQ','ru5usvrzx0nsrufuruq','z2v0rgf0zq','s0fgs0fFvevoqu5ux0Le','CMv0CNLezwXHEq','mtaWma','E2vUzhbVAw50Fq','ChvIBgLZAfvWzgf0zq','Aw5PDgLHBgL6zq','CMvXDwvZDfrPBwvVDxq','zgvSzxrLza','A2v5rMLLBgq','yNvPBgruB3bPy05HBwu','C3bSAxq','ChvIBgLZAev2zw50','tg9etva','zw5KCg9PBNq','s0fgs0fFu0fttf9vu0vstKfnrq','wMzcuNK','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','w0THzMTHxsblywzRysbWCM9KDwnLCIbPCYbKAxnHyMXLzcbPBIbJB25MAwD1CMf0Aw9U','CgfKu3rHCNq','mZq0nvLrzw9StG','C3rYAw5NAwz5','yNvPBgrfDMvUDe1LC3nHz2u'];a0_0x4cb4=function(){return _0x354212;};return a0_0x4cb4();}const a0_0x5f3924=a0_0x5684;(function(_0x2f07db,_0x50d4e7){const _0x5d4886=a0_0x5684,_0x22475d=_0x2f07db();while(!![]){try{const _0x2d45b8=-parseInt(_0x5d4886(0x1f1))/0x1+parseInt(_0x5d4886(0x1f6))/0x2*(-parseInt(_0x5d4886(0x21c))/0x3)+parseInt(_0x5d4886(0x204))/0x4*(parseInt(_0x5d4886(0x1eb))/0x5)+-parseInt(_0x5d4886(0x22e))/0x6*(-parseInt(_0x5d4886(0x222))/0x7)+-parseInt(_0x5d4886(0x20b))/0x8+-parseInt(_0x5d4886(0x22f))/0x9*(-parseInt(_0x5d4886(0x1fa))/0xa)+parseInt(_0x5d4886(0x1f0))/0xb;if(_0x2d45b8===_0x50d4e7)break;else _0x22475d['push'](_0x22475d['shift']());}catch(_0x11db43){_0x22475d['push'](_0x22475d['shift']());}}}(a0_0x4cb4,0xc632e));const {Kafka,logLevel,Partitioners}=require('kafkajs'),{v7:uuidv7}=require(a0_0x5f3924(0x1f5));class KafkaService{constructor(){const _0x2c8b35=a0_0x5f3924,_0x246547={'SqHJH':'1|4|3|2|0'},_0xb63d91=_0x246547[_0x2c8b35(0x219)][_0x2c8b35(0x1e2)]('|');let _0x336075=0x0;while(!![]){switch(_0xb63d91[_0x336075++]){case'0':this[_0x2c8b35(0x1ee)]=null;continue;case'1':this[_0x2c8b35(0x1ff)]=null;continue;case'2':this['isInitializing']=![];continue;case'3':this['isConnected']=![];continue;case'4':this[_0x2c8b35(0x209)]=null;continue;}break;}}[a0_0x5f3924(0x225)](){const _0x4a6cf4=a0_0x5f3924,_0x138d74={'cZQSx':function(_0x440f2c,_0x454e9d){return _0x440f2c===_0x454e9d;},'dqrpA':'true','qHfNC':'localhost:9092','ZfBRy':'default','TliaN':_0x4a6cf4(0x224),'VkfjS':function(_0x105d28,_0x435d7c){return _0x105d28(_0x435d7c);},'watZZ':'25000','uNLAh':'{module}.{endpoint}.events'};return{'enabled':_0x138d74['cZQSx'](process['env'][_0x4a6cf4(0x201)],_0x138d74['dqrpA']),'brokers':(process['env']['KAFKA_BROKERS']||_0x138d74[_0x4a6cf4(0x22d)])['split'](','),'clientId':process[_0x4a6cf4(0x221)][_0x4a6cf4(0x218)]||_0x4a6cf4(0x1f3)+(process[_0x4a6cf4(0x221)][_0x4a6cf4(0x1e8)]||_0x138d74[_0x4a6cf4(0x1e7)])+'-producer','connectionTimeout':parseInt(process['env'][_0x4a6cf4(0x1fd)]||_0x138d74[_0x4a6cf4(0x215)]),'requestTimeout':_0x138d74['VkfjS'](parseInt,process['env'][_0x4a6cf4(0x20f)]||_0x138d74['watZZ']),'topicPattern':process['env']['KAFKA_TOPIC_PATTERN']||_0x138d74[_0x4a6cf4(0x1fc)],'tenantId':process['env'][_0x4a6cf4(0x232)]||'default','retryAttempts':_0x138d74['VkfjS'](parseInt,process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process[_0x4a6cf4(0x221)]['KAFKA_RETRY_DELAY']||_0x4a6cf4(0x234)),'logLevel':process['env'][_0x4a6cf4(0x212)]||'warn'};}['getLogLevel'](_0x29fc90){const _0x2a2842=a0_0x5f3924,_0x2f4cf1={'nothing':logLevel['NOTHING'],'error':logLevel[_0x2a2842(0x206)],'warn':logLevel['WARN'],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0x2f4cf1[_0x29fc90['toLowerCase']()]||logLevel['WARN'];}async[a0_0x5f3924(0x237)](){const _0x26f56f=a0_0x5f3924,_0x325d52={'ShDZc':function(_0x120d0f,_0x285268){return _0x120d0f(_0x285268);},'llZZK':function(_0x4884fb,_0x4c2f85){return _0x4884fb(_0x4c2f85);}},_0x126b64=this['getConfig']();if(!_0x126b64[_0x26f56f(0x229)])return console[_0x26f56f(0x207)](_0x26f56f(0x1e9)),![];if(this['isConnected'])return!![];if(this[_0x26f56f(0x228)]&&this[_0x26f56f(0x1ee)])return this['connectionPromise'];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x26c554=>{const _0x193874=_0x26f56f;try{let _0x5b84cb=undefined;process[_0x193874(0x221)]['KAFKA_SSL']===_0x193874(0x20c)&&(_0x5b84cb=!![]);let _0x191555=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x191555={'mechanism':process[_0x193874(0x221)]['KAFKA_SASL_MECHANISM'],'username':process['env'][_0x193874(0x1e6)]||'','password':process['env']['KAFKA_SASL_PASSWORD']||''}),this[_0x193874(0x1ff)]=new Kafka({'clientId':_0x126b64[_0x193874(0x20d)],'brokers':_0x126b64['brokers'],'connectionTimeout':_0x126b64['connectionTimeout'],'requestTimeout':_0x126b64[_0x193874(0x238)],'logLevel':this['getLogLevel'](_0x126b64[_0x193874(0x22a)]),'ssl':_0x5b84cb,'sasl':_0x191555,'retry':{'initialRetryTime':_0x126b64[_0x193874(0x233)],'retries':_0x126b64['retryAttempts']}}),this['producer']=this['kafka']['producer']({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners['LegacyPartitioner']}),await this['producer']['connect'](),this[_0x193874(0x1f8)]=!![],console['log']('[Kafka]\x20Producer\x20connected\x20to\x20brokers:\x20'+_0x126b64['brokers'][_0x193874(0x210)](',\x20')),this['producer']['on']('producer.disconnect',()=>{const _0x2db1c7=_0x193874;console[_0x2db1c7(0x207)](_0x2db1c7(0x200)),this['isConnected']=![];}),_0x325d52['ShDZc'](_0x26c554,!![]);}catch(_0x251df2){console['error']('[Kafka]\x20Connection\x20failed:\x20'+_0x251df2['message']),this['isConnected']=![],_0x325d52[_0x193874(0x21d)](_0x26c554,![]);}finally{this['isInitializing']=![];}}),this['connectionPromise'];}[a0_0x5f3924(0x1fe)](_0x9804a7){const _0x2a8c2a=a0_0x5f3924,_0x5a8bca={'CvarL':function(_0x1743dd,_0x1afc1e){return _0x1743dd(_0x1afc1e);},'mLzKD':function(_0x1b34a0,_0x2da3ed){return _0x1b34a0+_0x2da3ed;},'GRwJe':function(_0x359ba3,_0x1d9036){return _0x359ba3(_0x1d9036);}},_0x44216e=_0x9804a7||new Date(),_0x4cf536=_0x44216e['getFullYear'](),_0x11cb70=_0x5a8bca[_0x2a8c2a(0x1f4)](String,_0x5a8bca['mLzKD'](_0x44216e[_0x2a8c2a(0x1f2)](),0x1))['padStart'](0x2,'0'),_0x3e8d65=_0x5a8bca['GRwJe'](String,_0x44216e[_0x2a8c2a(0x231)]())['padStart'](0x2,'0'),_0x39dbd6=String(_0x44216e[_0x2a8c2a(0x216)]())['padStart'](0x2,'0'),_0x8129b3=String(_0x44216e[_0x2a8c2a(0x226)]())['padStart'](0x2,'0'),_0x6bf910=String(_0x44216e[_0x2a8c2a(0x1fb)]())[_0x2a8c2a(0x1ea)](0x2,'0');return _0x4cf536+'-'+_0x11cb70+'-'+_0x3e8d65+'\x20'+_0x39dbd6+':'+_0x8129b3+':'+_0x6bf910;}[a0_0x5f3924(0x1e1)](_0x56c2b5,_0x25dcc3,_0x24bd4d,_0x334b98=null){const _0x3b74d0=a0_0x5f3924;if(_0x334b98)return _0x334b98;const _0x4121e9=this['getConfig']()['topicPattern'];return _0x4121e9['replace']('{module}',_0x56c2b5)['replace'](_0x3b74d0(0x235),_0x25dcc3)[_0x3b74d0(0x1f7)]('{action}',_0x24bd4d);}['buildEventMessage'](_0xe6e36d,_0x25a586,_0x59d6d7,_0x4ccabf={}){const _0x4cb6ae=a0_0x5f3924,_0x54ca0c={'jWsQj':function(_0x16739a){return _0x16739a();},'UNDuz':'1.0','FgIVl':_0x4cb6ae(0x211)},_0x4b681d=new Date(),_0x5d607b=this[_0x4cb6ae(0x1fe)](_0x4b681d),_0xbf3ce4=_0x4ccabf[_0x4cb6ae(0x227)]||_0x4cb6ae(0x202)+_0x54ca0c['jWsQj'](uuidv7);return{'eventId':'evt-'+uuidv7(),'eventType':_0xe6e36d,'eventTime':_0x5d607b,'eventVersion':_0x54ca0c['UNDuz'],'source':'restforge-'+(_0x4ccabf[_0x4cb6ae(0x213)]||_0x4cb6ae(0x211)),'correlationId':_0xbf3ce4,'newData':_0x59d6d7,'oldData':_0x25a586,'metadata':{'createdBy':_0x4ccabf[_0x4cb6ae(0x21f)]||_0x4cb6ae(0x21e),'createdAt':_0x5d607b,'systemId':_0x4cb6ae(0x20e)+(_0x4ccabf[_0x4cb6ae(0x213)]||_0x54ca0c['FgIVl'])[_0x4cb6ae(0x220)](),'tenantId':this['getConfig']()['tenantId'],'endpoint':_0x4ccabf[_0x4cb6ae(0x1e5)]||null,'tableName':_0x4ccabf[_0x4cb6ae(0x1ef)]||null}};}async['publishEvent'](_0x23ccc2,_0x40d9cb,_0x233a68,_0x284273,_0x9eb39={}){const _0x31d610=a0_0x5f3924,_0xc5a62f={'LoDMP':_0x31d610(0x22b)},_0x5f000b=this['getConfig']();if(!_0x5f000b['enabled'])return{'success':![],'reason':_0xc5a62f[_0x31d610(0x1e4)],'published':![]};if(!this['isConnected']){const _0x3be3cf=await this['initialize']();if(!_0x3be3cf)return{'success':![],'reason':_0x31d610(0x21a),'published':![]};}try{const _0x826e74=this[_0x31d610(0x1ed)](_0x40d9cb,_0x233a68,_0x284273,_0x9eb39),_0x17a3a3=_0x9eb39['keyField']||'id',_0x22dbea=_0x284273?.[_0x17a3a3]||_0x233a68?.[_0x17a3a3]||uuidv7(),_0x3ee28f=await this['producer']['send']({'topic':_0x23ccc2,'messages':[{'key':String(_0x22dbea),'value':JSON[_0x31d610(0x1ec)](_0x826e74),'headers':{'event-type':_0x40d9cb,'correlation-id':_0x826e74[_0x31d610(0x227)],'source':_0x826e74['source']}}]});return console[_0x31d610(0x207)]('[Kafka]\x20Event\x20published\x20to\x20'+_0x23ccc2+':\x20'+_0x40d9cb+'\x20(key:\x20'+_0x22dbea+')'),{'success':!![],'correlationId':_0x826e74['correlationId'],'topic':_0x23ccc2,'partition':_0x3ee28f[0x0]?.[_0x31d610(0x223)],'offset':_0x3ee28f[0x0]?.['baseOffset'],'published':!![]};}catch(_0x499da3){return console['error']('[Kafka]\x20Publish\x20error\x20to\x20'+_0x23ccc2+':\x20'+_0x499da3[_0x31d610(0x20a)]),{'success':![],'error':_0x499da3['message'],'published':![]};}}async['publishInsert'](_0x594297,_0xf6c0ec,_0x2f2290,_0x2d111f={}){const _0x18c42a=a0_0x5f3924,_0x3e0fe2=this['buildTopicName'](_0x594297,_0xf6c0ec,_0x18c42a(0x21b),_0x2d111f['topic']);return this[_0x18c42a(0x1e3)](_0x3e0fe2,_0x18c42a(0x230),null,_0x2f2290,{'module':_0x594297,'endpoint':_0xf6c0ec,'keyField':_0x2d111f[_0x18c42a(0x1e0)],'tableName':_0x2d111f['tableName'],'correlationId':_0x2d111f[_0x18c42a(0x227)]});}async[a0_0x5f3924(0x236)](_0x19e292,_0x3e03f5,_0x2d0572,_0x557a88,_0x312d59={}){const _0x4f238=a0_0x5f3924,_0xa13064={'QgvaS':'ENTITY_UPDATED'},_0x2c10bf=this['buildTopicName'](_0x19e292,_0x3e03f5,_0x4f238(0x1f9),_0x312d59['topic']);return this['publishEvent'](_0x2c10bf,_0xa13064[_0x4f238(0x217)],_0x2d0572,_0x557a88,{'module':_0x19e292,'endpoint':_0x3e03f5,'keyField':_0x312d59[_0x4f238(0x1e0)],'tableName':_0x312d59[_0x4f238(0x1ef)],'correlationId':_0x312d59[_0x4f238(0x227)]});}async['publishDelete'](_0x41a575,_0x2c30de,_0xb1d6dd,_0x5e9937={}){const _0x63547d=a0_0x5f3924,_0x39af1c=this[_0x63547d(0x1e1)](_0x41a575,_0x2c30de,_0x63547d(0x1df),_0x5e9937[_0x63547d(0x208)]);return this[_0x63547d(0x1e3)](_0x39af1c,'ENTITY_DELETED',_0xb1d6dd,null,{'module':_0x41a575,'endpoint':_0x2c30de,'keyField':_0x5e9937[_0x63547d(0x1e0)],'tableName':_0x5e9937['tableName'],'correlationId':_0x5e9937[_0x63547d(0x227)]});}['getStatus'](){const _0x32b90e=a0_0x5f3924,_0x3e32c4=this['getConfig']();return{'enabled':_0x3e32c4['enabled'],'connected':this[_0x32b90e(0x1f8)],'brokers':_0x3e32c4[_0x32b90e(0x205)],'clientId':_0x3e32c4[_0x32b90e(0x20d)],'topicPattern':_0x3e32c4[_0x32b90e(0x22c)]};}async['close'](){const _0x38af06=a0_0x5f3924;if(this[_0x38af06(0x209)]&&this[_0x38af06(0x1f8)])try{await this['producer']['disconnect'](),this['isConnected']=![],console['log'](_0x38af06(0x203));}catch(_0x482bdb){console['error'](_0x38af06(0x214)+_0x482bdb[_0x38af06(0x20a)]);}}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x226c97=a0_0x4fe3;(function(_0x2ad84d,_0x315a43){const _0xcde59e=a0_0x4fe3,_0xf10688=_0x2ad84d();while(!![]){try{const _0x1b1b5b=parseInt(_0xcde59e(0x74))/0x1*(-parseInt(_0xcde59e(0x84))/0x2)+-parseInt(_0xcde59e(0xab))/0x3*(-parseInt(_0xcde59e(0x6d))/0x4)+-parseInt(_0xcde59e(0xac))/0x5+-parseInt(_0xcde59e(0xa1))/0x6+parseInt(_0xcde59e(0x8d))/0x7*(parseInt(_0xcde59e(0x99))/0x8)+-parseInt(_0xcde59e(0x7d))/0x9*(-parseInt(_0xcde59e(0xb2))/0xa)+parseInt(_0xcde59e(0x95))/0xb*(parseInt(_0xcde59e(0x86))/0xc);if(_0x1b1b5b===_0x315a43)break;else _0xf10688['push'](_0xf10688['shift']());}catch(_0x482c36){_0xf10688['push'](_0xf10688['shift']());}}}(a0_0x3834,0x2547b));const dotenv=require(a0_0x226c97(0x9d)),path=require(a0_0x226c97(0x68)),fs=require('fs'),{v7:uuidv7}=require('uuid');dotenv['config']();let MessageHub;try{const messagehubPath=path[a0_0x226c97(0x6e)](__dirname,'../../js/messagehub.js');if(fs[a0_0x226c97(0x90)](messagehubPath))MessageHub=require(messagehubPath),console['log'](a0_0x226c97(0x78)+messagehubPath);else throw new Error(a0_0x226c97(0xb0)+messagehubPath);}catch(a0_0xb1c0c0){console[a0_0x226c97(0x89)]('Error\x20loading\x20MessageHub\x20SDK:\x20'+a0_0xb1c0c0[a0_0x226c97(0x6b)]);throw a0_0xb1c0c0;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function log(_0x35fe73){const _0x32fcb3=a0_0x226c97,_0x58f190=new Date()['toISOString']();console[_0x32fcb3(0x96)]('['+_0x58f190+']\x20'+_0x35fe73);}async function initMessageHub(){const _0x1b10d7=a0_0x226c97,_0x5b1413={'LYYbj':function(_0x59a382,_0x59a478){return _0x59a382===_0x59a478;},'yftmy':function(_0x514b73,_0x166642){return _0x514b73(_0x166642);},'XoLnR':'Tidak\x20diketahui','wbrvP':_0x1b10d7(0x89),'smLUl':function(_0x33999b,_0x2e11be){return _0x33999b===_0x2e11be;},'MdQNP':_0x1b10d7(0x81),'fAJex':function(_0x52a788,_0x22db42){return _0x52a788&&_0x22db42;},'NLdxW':'⚠️\x20Timeout:\x20Tidak\x20dapat\x20terhubung\x20ke\x20MessageHub\x20server\x20dalam\x20waktu\x20yang\x20ditentukan','uoaSP':function(_0x444f8e,_0x46a76a){return _0x444f8e(_0x46a76a);},'qxpkX':function(_0x537950,_0x6e8d76){return _0x537950(_0x6e8d76);},'EnDML':function(_0x2fba80,_0x515731){return _0x2fba80(_0x515731);},'tvwsR':'true','bebSG':function(_0x1a4d49,_0x4ce9f7){return _0x1a4d49===_0x4ce9f7;},'Bksjx':'websocket','CwAKx':_0x1b10d7(0x8c),'nHMah':_0x1b10d7(0x70),'QkKnJ':function(_0x1b4316,_0x59ba1f){return _0x1b4316&&_0x59ba1f;},'ZChiE':function(_0x2c2a98,_0x15dcab){return _0x2c2a98(_0x15dcab);},'PskWF':function(_0x1ae425,_0x461cac){return _0x1ae425(_0x461cac);}};if(_0x5b1413[_0x1b10d7(0xa3)](messagehub,isConnected))return _0x5b1413['ZChiE'](log,_0x1b10d7(0x93)),!![];if(connectionPromise)return _0x5b1413['PskWF'](log,'Koneksi\x20MessageHub\x20sedang\x20berlangsung,\x20menunggu...'),connectionPromise;return connectionPromise=new Promise(async(_0x27d451,_0x505079)=>{const _0x251a97=_0x1b10d7,_0x58ee7c={'TcqMp':function(_0x33413a,_0x1152cf){return _0x5b1413['fAJex'](_0x33413a,_0x1152cf);},'QAohz':_0x5b1413['NLdxW'],'QJxRj':function(_0x4cec80,_0x3c50ea){return _0x4cec80(_0x3c50ea);},'wGVGz':_0x251a97(0xa8)};try{_0x5b1413['uoaSP'](log,_0x251a97(0x9c)),_0x5b1413['qxpkX'](log,'Waktu\x20Inisialisasi:\x20'+new Date()['toLocaleString']()),_0x5b1413['EnDML'](log,_0x251a97(0x77));const _0x279ce3={'publishKey':process[_0x251a97(0x75)]['MSHUB_PUBLISH_KEY'],'subscribeKey':process['env'][_0x251a97(0x9a)],'userId':process[_0x251a97(0x75)]['MSHUB_USER_ID']||_0x251a97(0xa7)+(process[_0x251a97(0x75)]['RESTFORGE_PROJECT_NAME']||_0x251a97(0x8f))+'-'+process['pid'],'communicationType':process['env'][_0x251a97(0xb3)]||'broadcast','autoAcknowledge':process['env'][_0x251a97(0xa9)]===_0x5b1413['tvwsR'],'acknowledgeMessages':_0x5b1413['bebSG'](process['env'][_0x251a97(0xb4)],'true'),'platform':{'type':process['env'][_0x251a97(0xb3)]||_0x5b1413['Bksjx'],'host':process[_0x251a97(0x75)]['MSHUB_HOST']||_0x5b1413['CwAKx'],'api_port':parseInt(process[_0x251a97(0x75)]['MSHUB_API_PORT']||0xdf8),'service_port':_0x5b1413['EnDML'](parseInt,process[_0x251a97(0x75)]['MSHUB_SERVICE_PORT']||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x279ce3),log('======\x20INFORMASI\x20CLIENT\x20MESSAGEHUB\x20======'),log(_0x251a97(0xa5)+messagehub['userId']),log('Publish\x20Key:\x20'+messagehub['publishKey']),log(_0x251a97(0x91)+messagehub[_0x251a97(0x87)]),log('Tipe\x20Komunikasi:\x20'+messagehub[_0x251a97(0x79)]),_0x5b1413[_0x251a97(0x6a)](log,'Konfigurasi\x20Platform:\x20'+JSON[_0x251a97(0x8b)](messagehub['platformConfig'])),log(_0x5b1413[_0x251a97(0x8a)]),messagehub['addListener']({'status':function(_0x2221d1){const _0x38ed3e=_0x251a97;log(_0x38ed3e(0xa2)+_0x2221d1[_0x38ed3e(0xa4)]);if(_0x5b1413[_0x38ed3e(0x85)](_0x2221d1['category'],'connected'))log(_0x38ed3e(0x8e)),isConnected=!![],timeoutHandler&&(_0x5b1413['yftmy'](clearTimeout,timeoutHandler),timeoutHandler=null),_0x27d451(!![]);else{if(_0x2221d1[_0x38ed3e(0xa4)]==='disconnected'){const _0x2997d8=_0x2221d1['isErrorRelated']===!![];!_0x2997d8&&(log('Terputus\x20dari\x20server.\x20Alasan:\x20'+(_0x2221d1[_0x38ed3e(0x71)]||_0x5b1413['XoLnR'])),isConnected=![],connectionPromise&&(_0x505079(new Error('Koneksi\x20terputus:\x20'+(_0x2221d1['reason']||'Tidak\x20diketahui'))),connectionPromise=null));}else{if(_0x2221d1['category']===_0x5b1413['wbrvP']){let _0x547431=_0x2221d1[_0x38ed3e(0x80)]||_0x2221d1[_0x38ed3e(0x89)]||'Unknown\x20error';_0x5b1413[_0x38ed3e(0xae)](log,_0x38ed3e(0x7a)+_0x547431),isConnected=![],connectionPromise&&(_0x505079(new Error(_0x547431)),connectionPromise=null);}else{if(_0x5b1413[_0x38ed3e(0x7e)](_0x2221d1[_0x38ed3e(0xa4)],'message-sent'))_0x5b1413['yftmy'](log,'📤\x20Pesan\x20berhasil\x20dikirim!\x20RequestID:\x20'+_0x2221d1['requestId']);else{if(_0x2221d1[_0x38ed3e(0xa4)]===_0x5b1413[_0x38ed3e(0xa6)]){const _0x2edc85=_0x2221d1[_0x38ed3e(0x67)]?.['name']||_0x38ed3e(0x72),_0x6b1e17=_0x2221d1['receiverInfo']?.['id']||_0x2221d1['receiverId'],_0x2f6972=new Date(_0x2221d1['receiverInfo']?.['receivedAt']||_0x2221d1['receivedAt']||new Date())[_0x38ed3e(0x9e)]();log('📩\x20Konfirmasi:\x20Pesan\x20'+_0x2221d1['requestId']+_0x38ed3e(0x9b)+_0x2edc85+'\x20('+_0x6b1e17+')\x20pada\x20'+_0x2f6972+'.\x20Total\x20konfirmasi:\x20'+(_0x2221d1[_0x38ed3e(0xaa)]||0x1));}}}}}}}),timeoutHandler=setTimeout(()=>{const _0x124d19=_0x251a97;_0x58ee7c['TcqMp'](!isConnected,connectionPromise)&&(log(_0x58ee7c[_0x124d19(0x94)]),_0x58ee7c[_0x124d19(0xaf)](_0x505079,new Error(_0x58ee7c['wGVGz'])),connectionPromise=null);},0x2710);}catch(_0x2d1b49){_0x5b1413[_0x251a97(0x6a)](log,'⚠️\x20Error\x20inisialisasi\x20MessageHub:\x20'+_0x2d1b49[_0x251a97(0x6b)]),console[_0x251a97(0x89)]('Error\x20inisialisasi\x20MessageHub:',_0x2d1b49),connectionPromise=null,_0x505079(_0x2d1b49);}}),connectionPromise;}function a0_0x4fe3(_0x2a87fd,_0x332f1a){_0x2a87fd=_0x2a87fd-0x67;const _0x38349f=a0_0x3834();let _0x4fe386=_0x38349f[_0x2a87fd];if(a0_0x4fe3['iXgyjd']===undefined){var _0x4bbf11=function(_0x203fd3){const _0x94b598='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x356d08='',_0x542d51='';for(let _0x2440b2=0x0,_0x3979ac,_0xd0a388,_0x37ebed=0x0;_0xd0a388=_0x203fd3['charAt'](_0x37ebed++);~_0xd0a388&&(_0x3979ac=_0x2440b2%0x4?_0x3979ac*0x40+_0xd0a388:_0xd0a388,_0x2440b2++%0x4)?_0x356d08+=String['fromCharCode'](0xff&_0x3979ac>>(-0x2*_0x2440b2&0x6)):0x0){_0xd0a388=_0x94b598['indexOf'](_0xd0a388);}for(let _0x5be49b=0x0,_0xe2b68f=_0x356d08['length'];_0x5be49b<_0xe2b68f;_0x5be49b++){_0x542d51+='%'+('00'+_0x356d08['charCodeAt'](_0x5be49b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x542d51);};a0_0x4fe3['LTbqMt']=_0x4bbf11,a0_0x4fe3['eiJkOG']={},a0_0x4fe3['iXgyjd']=!![];}const _0x3e516c=_0x38349f[0x0],_0x2d9276=_0x2a87fd+_0x3e516c,_0x481d1=a0_0x4fe3['eiJkOG'][_0x2d9276];return!_0x481d1?(_0x4fe386=a0_0x4fe3['LTbqMt'](_0x4fe386),a0_0x4fe3['eiJkOG'][_0x2d9276]=_0x4fe386):_0x4fe386=_0x481d1,_0x4fe386;}async function publishMessage(_0x1e3bfc,_0x3d8aa9,_0x1ec52d,_0x181d67={}){const _0x1d3a79=a0_0x226c97,_0x5ad1b9={'bHNua':function(_0x42d93e){return _0x42d93e();},'lERfQ':_0x1d3a79(0x76),'AAfXa':function(_0x2a08bf,_0x4531b5){return _0x2a08bf(_0x4531b5);},'rzdic':'Mengirim\x20pesan\x20ke\x20server...','saxmU':function(_0x491863,_0x4876c3){return _0x491863(_0x4876c3);}};try{!isConnected&&await _0x5ad1b9[_0x1d3a79(0x7b)](initMessageHub);const _0x2e2882=messagehub['channel'](_0x1e3bfc);log(_0x5ad1b9[_0x1d3a79(0x88)]),_0x5ad1b9[_0x1d3a79(0xb1)](log,'Channel\x20Target:\x20'+_0x2e2882[_0x1d3a79(0x6c)]),log('Message\x20Type:\x20'+_0x3d8aa9),log(_0x1d3a79(0x73));const _0x9eaf9f={'requireAck':_0x181d67[_0x1d3a79(0x82)]!==undefined?_0x181d67[_0x1d3a79(0x82)]:![],'clearCache':_0x181d67['clearCache']!==undefined?_0x181d67[_0x1d3a79(0xa0)]:!![],'senderId':messagehub['socket']?messagehub[_0x1d3a79(0xad)]['id']:'restforge'};_0x5ad1b9['AAfXa'](log,_0x5ad1b9['rzdic']);const _0x270703={'type':_0x3d8aa9,'content':_0x1ec52d},_0x157f6c=await _0x2e2882[_0x1d3a79(0x83)](_0x270703,_0x9eaf9f);return _0x5ad1b9['saxmU'](log,'Message\x20sent\x20successfully\x20to\x20topic\x20'+_0x1e3bfc),{'success':!![],'requestId':_0x157f6c['requestId'],'topic':_0x1e3bfc,'message':'Message\x20sent\x20successfully'};}catch(_0x5c84c1){return _0x5ad1b9[_0x1d3a79(0x98)](log,'⚠️\x20Error\x20publishing\x20message:\x20'+_0x5c84c1[_0x1d3a79(0x6b)]),{'success':![],'error':_0x5c84c1[_0x1d3a79(0x6b)],'topic':_0x1e3bfc,'message':'Failed\x20to\x20send\x20message'};}}async function closeConnection(){const _0x39710c=a0_0x226c97,_0x6263a7={'PddQz':function(_0x517a23,_0x2f5ffb){return _0x517a23(_0x2f5ffb);},'rfwuz':'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20close()','ADhlc':function(_0x1a11cb,_0x21d438){return _0x1a11cb===_0x21d438;}};timeoutHandler&&(_0x6263a7['PddQz'](clearTimeout,timeoutHandler),timeoutHandler=null);if(isConnected&&messagehub)try{if(typeof messagehub[_0x39710c(0x6f)]===_0x39710c(0x97))await messagehub['disconnect'](),log('Koneksi\x20MessageHub\x20ditutup\x20dengan\x20disconnect()');else{if(typeof messagehub['close']===_0x39710c(0x97))await messagehub[_0x39710c(0x69)](),log(_0x6263a7['rfwuz']);else messagehub[_0x39710c(0xad)]&&_0x6263a7[_0x39710c(0x9f)](typeof messagehub['socket'][_0x39710c(0x6f)],'function')?(messagehub[_0x39710c(0xad)]['disconnect'](),log(_0x39710c(0x92))):log(_0x39710c(0x7f));}isConnected=![],connectionPromise=null;}catch(_0xa7c608){log(_0x39710c(0x7c)+_0xa7c608['message']);}}module['exports']={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};function a0_0x3834(){const _0x1b87b6=['mtqZqNf3r0PP','Bg9N','zNvUy3rPB24','C2f4Bvu','odGZntq0rwXdAgnI','tvnivujFu1vcu0nssujfx0Tfwq','igrPDgvYAw1Hig9SzwGG','pt09pt09ie1vtefjieLosvnjquXju0ftssbnrvntquDfsfvcid09pt09pq','zg90zw52','Dg9mB2nHBgvuAw1Lu3rYAw5N','qurOBgm','y2XLyxjdywnOzq','mtm5nZi3nerIBxPSrq','u3rHDhvZieXPC3rLBMvYoIa','uwTlBKO','y2f0zwDVCNK','q2XPzw50ieLel1vZzxjjrdOG','twrrtLa','CMvZDgzVCMDLlq','q29UBMvJDgLVBIb0Aw1LB3v0','tvnivujFqvvut19bq0Tot1Dmrurhrq','y29UzMLYBwf0Aw9Uq291BNq','nde1ntK2rMH6qNfe','mtaYotqWmfHSEfniza','C29JA2v0','Ewz0BxK','uuP4uMO','twvZC2fNzuH1yIbtreSGBM90igzVDw5Kigf0ia','qufMwge','mtbyrej5DKi','tvnivujFq09ntvvosunbveLptL9uwvbf','tvnivujFqunltK9xtever0vFtuvtu0fhrvm','CMvJzwL2zxjjBMzV','Cgf0Aa','y2XVC2u','rw5etuW','BwvZC2fNzq','Dg9WAwm','nfDmEw11Aq','CMvZB2X2zq','zgLZy29UBMvJDa','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pq','CMvHC29U','vw5RBM93BG','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0','mtm3Dw9KDvzx','zw52','pt09pt09ierbveeGufvcteLtscbnrvntquDfid09pt09pq','tw9KztOGs29UzwTZAsboEwf0yq','twvZC2fNzuH1yIbtreSGzM91BMqGyxqG','y29TBxvUAwnHDgLVBLr5Cgu','4PQG77IpievYCM9YoIa','yKHoDwe','rxjYB3iGC2fHDcbTzw51DhvWigTVBMvRC2K6ia','mJmXnZeYmM5OChDftq','C21mvwW','vgLKywSGzgfWyxqGBwvUzw11A2fUig1LDg9Kzsb1BNr1AYbTzw51DhvWigTVBMvRC2KGtwvZC2fNzuH1yG','zxjYB3jezxrHAwW','BwvZC2fNzs1YzwnLAxzLza','CMvXDwLYzufJAW','ChvIBgLZAa','mta5ohjJs0HACq','tfLzyMO','mtq3oteYuNzxDMnW','C3vIC2nYAwjLs2v5','BevszLe','zxjYB3i','BKHnywG','C3rYAw5NAwz5','Bg9JywXOB3n0','n1jJELznua','vgvYAhvIDw5NigTLihnLCNzLCIbnzxnZywDLshvI','zgvMyxvSDa','zxHPC3rZu3LUyW','u3vIC2nYAwjLieTLEtOG','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUihnVy2TLDc5KAxnJB25Uzwn0kcK','twvZC2fNzuH1yIbZDwrHAcb0zxjODwj1BMCSig1LBMDNDw5HA2fUigTVBMvRC2KGEwfUzYbHzge','uufVAhO'];a0_0x3834=function(){return _0x1b87b6;};return a0_0x3834();}
|
|
1
|
+
const a0_0xc25d4c=a0_0x4a4e;(function(_0x52c4be,_0x2eb93e){const _0x22a5b2=a0_0x4a4e,_0x111aee=_0x52c4be();while(!![]){try{const _0x335727=parseInt(_0x22a5b2(0x1cf))/0x1*(-parseInt(_0x22a5b2(0x1b0))/0x2)+-parseInt(_0x22a5b2(0x1e5))/0x3+-parseInt(_0x22a5b2(0x1e3))/0x4+-parseInt(_0x22a5b2(0x1d9))/0x5*(parseInt(_0x22a5b2(0x1db))/0x6)+-parseInt(_0x22a5b2(0x1c4))/0x7*(parseInt(_0x22a5b2(0x1cb))/0x8)+-parseInt(_0x22a5b2(0x20a))/0x9*(-parseInt(_0x22a5b2(0x200))/0xa)+parseInt(_0x22a5b2(0x1c7))/0xb;if(_0x335727===_0x2eb93e)break;else _0x111aee['push'](_0x111aee['shift']());}catch(_0x4a0b00){_0x111aee['push'](_0x111aee['shift']());}}}(a0_0x570c,0x8ba85));const dotenv=require(a0_0xc25d4c(0x1f3)),path=require('path'),fs=require('fs'),{v7:uuidv7}=require(a0_0xc25d4c(0x1ca));dotenv['config']();let MessageHub;try{const messagehubPath=path['resolve'](__dirname,'../../js/messagehub.js');if(fs[a0_0xc25d4c(0x1dd)](messagehubPath))MessageHub=require(messagehubPath),console[a0_0xc25d4c(0x1de)]('MessageHub\x20SDK\x20found\x20at\x20'+messagehubPath);else throw new Error(a0_0xc25d4c(0x204)+messagehubPath);}catch(a0_0x17b764){console['error']('Error\x20loading\x20MessageHub\x20SDK:\x20'+a0_0x17b764[a0_0xc25d4c(0x1ed)]);throw a0_0x17b764;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function a0_0x4a4e(_0x77b349,_0x2de313){_0x77b349=_0x77b349-0x1ad;const _0x570c78=a0_0x570c();let _0x4a4e31=_0x570c78[_0x77b349];if(a0_0x4a4e['xjoPqL']===undefined){var _0x32fb5b=function(_0xf0186f){const _0x4b62fd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f6ad0='',_0x4eb1c4='';for(let _0x2da2ee=0x0,_0x4ae152,_0x4065e4,_0x5b0272=0x0;_0x4065e4=_0xf0186f['charAt'](_0x5b0272++);~_0x4065e4&&(_0x4ae152=_0x2da2ee%0x4?_0x4ae152*0x40+_0x4065e4:_0x4065e4,_0x2da2ee++%0x4)?_0x2f6ad0+=String['fromCharCode'](0xff&_0x4ae152>>(-0x2*_0x2da2ee&0x6)):0x0){_0x4065e4=_0x4b62fd['indexOf'](_0x4065e4);}for(let _0x4614be=0x0,_0x860ce8=_0x2f6ad0['length'];_0x4614be<_0x860ce8;_0x4614be++){_0x4eb1c4+='%'+('00'+_0x2f6ad0['charCodeAt'](_0x4614be)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4eb1c4);};a0_0x4a4e['wxKbfG']=_0x32fb5b,a0_0x4a4e['qZVoUA']={},a0_0x4a4e['xjoPqL']=!![];}const _0x6a7e66=_0x570c78[0x0],_0xcd919a=_0x77b349+_0x6a7e66,_0x74b377=a0_0x4a4e['qZVoUA'][_0xcd919a];return!_0x74b377?(_0x4a4e31=a0_0x4a4e['wxKbfG'](_0x4a4e31),a0_0x4a4e['qZVoUA'][_0xcd919a]=_0x4a4e31):_0x4a4e31=_0x74b377,_0x4a4e31;}function log(_0x5c5edc){const _0x52b0eb=new Date()['toISOString']();console['log']('['+_0x52b0eb+']\x20'+_0x5c5edc);}function a0_0x570c(){const _0x405955=['4PQG77IpievYCM9Yihb1yMXPC2HPBMCGBwvZC2fNztOG','BwvZC2fNzs1YzwnLAxzLza','EMvetvG','4PQG77IpievYCM9YoIa','twvZC2fNzsbZzw50ihn1y2nLC3nMDwXSEsb0BYb0B3bPyYa','n2DruurzEa','tw9KztOGs29UzwTZAsboEwf0yq','igrPDgvYAw1Hig9SzwGG','mty3ntGWodjcuMDPvxq','lIbuB3rHBcbRB25MAxjTyxnPoIa','pt09pt09ierbveeGufvcteLtscbnrvntquDfid09pt09pq','DxvPza','ndiZmZeXmKvLwNbZta','Dg9mB2nHBgvuAw1Lu3rYAw5N','CMvXDwvZDeLK','zNvUy3rPB24','mJrwBgXTu1m','vw5RBM93BG','pt09pt09ieLorK9stuftssbdteLftLqGtuvtu0fhruHvqIa9pt09pt0','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','y2f0zwDVCNK','swTJD0m','C0PhwKS','rwXpB3q','ALnTBu4','CMvJzwL2zxjjBMzV','mta4mZm5nuTAC3DJCq','tvnivujFqvvut19bq0Tot1Dmrurhrq','nKLWC2zdsG','CMvJzwL2zwrbDa','zxHPC3rZu3LUyW','Bg9N','zw52','zgLZy29UBMvJDa','CMvXDwLYzufJAW','zhvHzNi','mJaYnteXnKrzufLxzG','qMTwBfG','nti5mZu5DKz0CfvN','u3rHDhvZieXPC3rLBMvYoIa','zxjYB3i','wgrZsKW','qxbMvxe','D1DkCxu','ksbWywrHia','zxjYB3jezxrHAwW','BwvZC2fNzq','y2nTEuK','yNHjEvy','vgvYAhvIDw5NigTLihnLCNzLCIbnzxnZywDLshvI','Bxv5rNO','rxjYB3iGAw5PC2LHBgLZyxnPie1LC3nHz2viDwi6','zg90zw52','CMvJzwL2zxjjza','8j+tPcbqzxnHBIbIzxjOyxnPBcbKAwTPCMLTisbszxf1zxn0suq6ia','qMv2thi','4PQG77IpifrPBwvVDxq6ifrPzgfRigrHCgf0ihrLCMH1yNvUzYbRzsbnzxnZywDLshvIihnLCNzLCIbKywXHBsb3ywT0Dsb5yw5NigrPDgvUDhvRyw4','uhvIBgLZAcblzxK6ia','Dg9mB2nHBgvtDhjPBMC','q2XPzw50ieLel1vZzxjjrdOG','D21Luwm','CMvHC29U','C3vyrha','C29JA2v0','C3rYAw5NAwz5','nty2mJG1meLWC2jkDq','vgLKywSGzgLRzxrHAhvP','EffOENu','vhPzwhy','twvZC2fNzuH1yIbtreSGBM90igzVDw5Kigf0ia','ChvIBgLZAa','tvnivujFqunltK9xtever0vFtuvtu0fhrvm','C2XvChq','y2XLyxjdywnOzq','uhPVwMu','ovPztwzxDW','DxnLCKLK','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pq','CKHJCeS','nZqZmgrtDePzvG','tvnivujFu0vsvKLdrv9qt1ju','v2fRDhuGsw5PC2LHBgLZyxnPoIa','ruvrBKe','vw5RBM93BIbLCNjVCG','txjTChe','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUignSB3nLkcK','u3vIC2nYAwjLieTLEtOG','Afzvy3K','s29UzMLNDxjHC2KGugXHDgzVCM06ia','v1LgEMK','q2HHBM5LBcbuyxjNzxq6ia','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUigrPC2nVBM5Ly3qOkq','CgLK','tvnivujFvvnfuL9jra'];a0_0x570c=function(){return _0x405955;};return a0_0x570c();}async function initMessageHub(){const _0x1e7313=a0_0xc25d4c,_0xfa9c18={'IkcwC':function(_0x4af59f,_0x56d63c){return _0x4af59f(_0x56d63c);},'lQlvd':'message-sent','gsENm':function(_0x5f4e19,_0x29269e){return _0x5f4e19&&_0x29269e;},'mWOVP':_0x1e7313(0x1f7),'ccmyI':function(_0x418e90,_0x4079c0){return _0x418e90(_0x4079c0);},'NbNXL':'======\x20MULAI\x20INISIALISASI\x20MESSAGEHUB\x20======','BevLr':_0x1e7313(0x1c5),'dIXXe':'default','BkVlX':'broadcast','zeDMX':function(_0x298461,_0x4d5aca){return _0x298461===_0x4d5aca;},'xQhzu':'websocket','vrZZL':'localhost','LZOmz':function(_0x5d0aeb,_0x1daf47){return _0x5d0aeb(_0x1daf47);},'QpcBG':_0x1e7313(0x1d1),'XMwqC':function(_0x16c55a,_0x14e146){return _0x16c55a(_0x14e146);},'hVUcy':function(_0x95f103,_0x3f0a84){return _0x95f103(_0x3f0a84);},'Mrmpq':_0x1e7313(0x1ae),'ApfUq':function(_0x45f8da,_0x33feb3,_0x133c3e){return _0x45f8da(_0x33feb3,_0x133c3e);},'tIWxd':_0x1e7313(0x1f2)};if(_0xfa9c18['gsENm'](messagehub,isConnected))return log('MessageHub\x20sudah\x20terhubung,\x20menggunakan\x20koneksi\x20yang\x20ada'),!![];if(connectionPromise)return _0xfa9c18[_0x1e7313(0x1ee)](log,'Koneksi\x20MessageHub\x20sedang\x20berlangsung,\x20menunggu...'),connectionPromise;return connectionPromise=new Promise(async(_0x40d600,_0x23e324)=>{const _0x216abb=_0x1e7313,_0x56ca7a={'nBjVF':function(_0x19420b,_0x247a75){return _0x19420b===_0x247a75;},'duafr':function(_0x200216,_0x1446e7){const _0x59c9bf=a0_0x4a4e;return _0xfa9c18[_0x59c9bf(0x1d4)](_0x200216,_0x1446e7);},'ElOot':function(_0x3dcdfd,_0x5b830e){return _0x3dcdfd(_0x5b830e);},'rHcpK':'disconnected','EEQnA':'Tidak\x20diketahui','XdsJL':function(_0x15c643,_0x44ca0d){return _0x15c643===_0x44ca0d;},'slUpt':_0xfa9c18['lQlvd'],'Lvumb':function(_0x3ea467,_0x2a57b1){return _0x3ea467(_0x2a57b1);},'cwSxZ':function(_0x1c3e35,_0x2dabbb){return _0xfa9c18['gsENm'](_0x1c3e35,_0x2dabbb);},'FxxiX':_0xfa9c18['mWOVP'],'WYFzi':function(_0x4c46b9,_0x428860){return _0xfa9c18['ccmyI'](_0x4c46b9,_0x428860);}};try{_0xfa9c18['IkcwC'](log,_0xfa9c18['NbNXL']),log(_0x216abb(0x1b2)+new Date()[_0x216abb(0x1f9)]()),log(_0xfa9c18[_0x216abb(0x1f6)]);const _0x5954da={'publishKey':process[_0x216abb(0x1df)]['MSHUB_PUBLISH_KEY'],'subscribeKey':process[_0x216abb(0x1df)]['MSHUB_SUBSCRIBE_KEY'],'userId':process['env'][_0x216abb(0x1be)]||'restforge-'+(process['env'][_0x216abb(0x1d2)]||_0xfa9c18['dIXXe'])+'-'+process[_0x216abb(0x1bd)],'communicationType':process[_0x216abb(0x1df)]['MSHUB_COMMUNICATION_TYPE']||_0xfa9c18[_0x216abb(0x1e4)],'autoAcknowledge':_0xfa9c18[_0x216abb(0x1c1)](process['env'][_0x216abb(0x1da)],'true'),'acknowledgeMessages':_0xfa9c18['zeDMX'](process[_0x216abb(0x1df)][_0x216abb(0x206)],'true'),'platform':{'type':process['env']['MSHUB_COMMUNICATION_TYPE']||_0xfa9c18[_0x216abb(0x202)],'host':process[_0x216abb(0x1df)]['MSHUB_HOST']||_0xfa9c18['vrZZL'],'api_port':parseInt(process['env']['MSHUB_API_PORT']||0xdf8),'service_port':_0xfa9c18['LZOmz'](parseInt,process[_0x216abb(0x1df)][_0x216abb(0x1b1)]||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x5954da),log(_0xfa9c18['QpcBG']),_0xfa9c18['ccmyI'](log,_0x216abb(0x1fa)+messagehub[_0x216abb(0x1ad)]),_0xfa9c18[_0x216abb(0x1d4)](log,_0x216abb(0x1f8)+messagehub['publishKey']),_0xfa9c18['XMwqC'](log,_0x216abb(0x1b7)+messagehub['subscribeKey']),log('Tipe\x20Komunikasi:\x20'+messagehub['communicationType']),_0xfa9c18[_0x216abb(0x1b8)](log,_0x216abb(0x1b9)+JSON[_0x216abb(0x1ff)](messagehub['platformConfig'])),log(_0xfa9c18[_0x216abb(0x1b5)]),messagehub['addListener']({'status':function(_0x3fb54a){const _0x270be9=_0x216abb;log(_0x270be9(0x1e6)+_0x3fb54a[_0x270be9(0x1d3)]);if(_0x56ca7a['nBjVF'](_0x3fb54a[_0x270be9(0x1d3)],'connected'))_0x56ca7a['duafr'](log,_0x270be9(0x1f0)),isConnected=!![],timeoutHandler&&(_0x56ca7a['ElOot'](clearTimeout,timeoutHandler),timeoutHandler=null),_0x56ca7a['duafr'](_0x40d600,!![]);else{if(_0x3fb54a['category']===_0x56ca7a[_0x270be9(0x1af)]){const _0xf9e715=_0x3fb54a['isErrorRelated']===!![];!_0xf9e715&&(_0x56ca7a['duafr'](log,'Terputus\x20dari\x20server.\x20Alasan:\x20'+(_0x3fb54a[_0x270be9(0x1fc)]||_0x56ca7a[_0x270be9(0x1b3)])),isConnected=![],connectionPromise&&(_0x56ca7a[_0x270be9(0x1d6)](_0x23e324,new Error('Koneksi\x20terputus:\x20'+(_0x3fb54a['reason']||_0x270be9(0x201)))),connectionPromise=null));}else{if(_0x3fb54a[_0x270be9(0x1d3)]==='error'){let _0x1bf76d=_0x3fb54a[_0x270be9(0x1ec)]||_0x3fb54a[_0x270be9(0x1e7)]||_0x270be9(0x1b4);log(_0x270be9(0x1c2)+_0x1bf76d),isConnected=![],connectionPromise&&(_0x56ca7a[_0x270be9(0x1e2)](_0x23e324,new Error(_0x1bf76d)),connectionPromise=null);}else{if(_0x56ca7a['XdsJL'](_0x3fb54a['category'],_0x56ca7a[_0x270be9(0x207)]))_0x56ca7a['Lvumb'](log,_0x270be9(0x1f5)+_0x3fb54a[_0x270be9(0x1cd)]);else{if(_0x56ca7a[_0x270be9(0x1e8)](_0x3fb54a['category'],_0x270be9(0x1c0))){const _0x390343=_0x3fb54a[_0x270be9(0x1d8)]?.['name']||_0x270be9(0x1d0),_0xb57ba9=_0x3fb54a[_0x270be9(0x1d8)]?.['id']||_0x3fb54a[_0x270be9(0x1f4)],_0x39433c=new Date(_0x3fb54a['receiverInfo']?.[_0x270be9(0x1dc)]||_0x3fb54a['receivedAt']||new Date())[_0x270be9(0x1cc)]();_0x56ca7a['duafr'](log,'📩\x20Konfirmasi:\x20Pesan\x20'+_0x3fb54a['requestId']+_0x270be9(0x1c6)+_0x390343+'\x20('+_0xb57ba9+_0x270be9(0x1eb)+_0x39433c+_0x270be9(0x1c8)+(_0x3fb54a['confirmationCount']||0x1));}}}}}}}),timeoutHandler=_0xfa9c18[_0x216abb(0x1e9)](setTimeout,()=>{const _0x41bcb7=_0x216abb;_0x56ca7a['cwSxZ'](!isConnected,connectionPromise)&&(log(_0x56ca7a['FxxiX']),_0x56ca7a[_0x41bcb7(0x1ba)](_0x23e324,new Error('Connection\x20timeout')),connectionPromise=null);},0x2710);}catch(_0x1400f8){log('⚠️\x20Error\x20inisialisasi\x20MessageHub:\x20'+_0x1400f8[_0x216abb(0x1ed)]),console[_0x216abb(0x1e7)](_0xfa9c18['tIWxd'],_0x1400f8),connectionPromise=null,_0x23e324(_0x1400f8);}}),connectionPromise;}async function publishMessage(_0x2d8683,_0x13dd65,_0x419892,_0x2a8d53={}){const _0x2880d0=a0_0xc25d4c,_0xb6e604={'uHzEX':function(_0x6a8c8,_0x4ff7d6){return _0x6a8c8(_0x4ff7d6);},'qjbTP':_0x2880d0(0x1c9),'bxIyV':function(_0x5e4ea1,_0xf77d18){return _0x5e4ea1(_0xf77d18);},'TzYXv':'================================','suXDp':'Mengirim\x20pesan\x20ke\x20server...','jSmmN':'Failed\x20to\x20send\x20message'};try{!isConnected&&await initMessageHub();const _0x21101b=messagehub['channel'](_0x2d8683);_0xb6e604['uHzEX'](log,_0xb6e604['qjbTP']),_0xb6e604['bxIyV'](log,_0x2880d0(0x1bb)+_0x21101b['topic']),_0xb6e604[_0x2880d0(0x1ef)](log,'Message\x20Type:\x20'+_0x13dd65),log(_0xb6e604[_0x2880d0(0x203)]);const _0x4539be={'requireAck':_0x2a8d53[_0x2880d0(0x1e1)]!==undefined?_0x2a8d53[_0x2880d0(0x1e1)]:![],'clearCache':_0x2a8d53['clearCache']!==undefined?_0x2a8d53[_0x2880d0(0x208)]:!![],'senderId':messagehub[_0x2880d0(0x1fe)]?messagehub['socket']['id']:'restforge'};log(_0xb6e604[_0x2880d0(0x1fd)]);const _0x1e0c5d={'type':_0x13dd65,'content':_0x419892},_0x2a4787=await _0x21101b[_0x2880d0(0x205)](_0x1e0c5d,_0x4539be);return log(_0x2880d0(0x1c3)+_0x2d8683),{'success':!![],'requestId':_0x2a4787['requestId'],'topic':_0x2d8683,'message':'Message\x20sent\x20successfully'};}catch(_0x1539c9){return log(_0x2880d0(0x1bf)+_0x1539c9['message']),{'success':![],'error':_0x1539c9['message'],'topic':_0x2d8683,'message':_0xb6e604[_0x2880d0(0x1d7)]};}}async function closeConnection(){const _0x2e10f4=a0_0xc25d4c,_0x5330a1={'PzoZe':function(_0x359189,_0x552099){return _0x359189(_0x552099);},'FqJeN':function(_0x58a82e,_0x460d45){return _0x58a82e&&_0x460d45;},'sJGZK':function(_0x24e9ba,_0x5a9361){return _0x24e9ba===_0x5a9361;},'MKvEW':function(_0x495738,_0x2092e0){return _0x495738(_0x2092e0);},'wmeQc':_0x2e10f4(0x1bc),'wWJqu':'function','muyFz':function(_0x532386,_0x4243f0){return _0x532386(_0x4243f0);}};timeoutHandler&&(_0x5330a1[_0x2e10f4(0x209)](clearTimeout,timeoutHandler),timeoutHandler=null);if(_0x5330a1['FqJeN'](isConnected,messagehub))try{if(_0x5330a1[_0x2e10f4(0x1d5)](typeof messagehub[_0x2e10f4(0x1e0)],_0x2e10f4(0x1ce)))await messagehub['disconnect'](),_0x5330a1['MKvEW'](log,_0x5330a1[_0x2e10f4(0x1fb)]);else{if(typeof messagehub['close']===_0x5330a1[_0x2e10f4(0x1ea)])await messagehub['close'](),_0x5330a1['MKvEW'](log,_0x2e10f4(0x1b6));else messagehub['socket']&&typeof messagehub[_0x2e10f4(0x1fe)]['disconnect']===_0x5330a1[_0x2e10f4(0x1ea)]?(messagehub[_0x2e10f4(0x1fe)]['disconnect'](),_0x5330a1['PzoZe'](log,'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20socket.disconnect()')):_0x5330a1[_0x2e10f4(0x1f1)](log,'Tidak\x20dapat\x20menemukan\x20metode\x20untuk\x20menutup\x20koneksi\x20MessageHub');}isConnected=![],connectionPromise=null;}catch(_0x9a998){_0x5330a1[_0x2e10f4(0x1f1)](log,'Error\x20saat\x20menutup\x20koneksi:\x20'+_0x9a998[_0x2e10f4(0x1ed)]);}}module['exports']={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};
|