@restforgejs/platform 4.3.2 → 4.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +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 +11 -1
- package/generators/lib/payload/payload-runner.js +3 -3
- package/generators/lib/payload/schema-diff.js +186 -3
- 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/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';function
|
|
1
|
+
'use strict';const a0_0x298110=a0_0x5c9a;(function(_0x5a147b,_0x131b8f){const _0x3ddeca=a0_0x5c9a,_0x144304=_0x5a147b();while(!![]){try{const _0x1ed910=parseInt(_0x3ddeca(0x1ac))/0x1*(parseInt(_0x3ddeca(0x183))/0x2)+-parseInt(_0x3ddeca(0x1ab))/0x3+-parseInt(_0x3ddeca(0x182))/0x4+-parseInt(_0x3ddeca(0x1a8))/0x5+parseInt(_0x3ddeca(0x184))/0x6+parseInt(_0x3ddeca(0x185))/0x7+parseInt(_0x3ddeca(0x18a))/0x8;if(_0x1ed910===_0x131b8f)break;else _0x144304['push'](_0x144304['shift']());}catch(_0x1606eb){_0x144304['push'](_0x144304['shift']());}}}(a0_0xba4a,0x6260a));function a0_0xba4a(){const _0x31f92e=['Cgf0Aa','y3jLyxrLvxbSB2fKtwLKzgXLD2fYzq','tgLUBeG','ywXSB3DLzfr5CgvZ','lI4VC3rVCMfNzs9MAwXLlw1LDgfKyxrHlwHLBhbLCG','Bwf4rMLSzxm','zxHPC3rZu3LUyW','x3bHCNnLrMLSzvnPEMu','rMfPBgvKihrVihbYB2nLC3mGDxbSB2fKzwqGzMLSztOG','BgvUz3rO','BNvTyMvY','y3j5ChrV','ChjVAMvJDa','mZG0mteWmgPtv2XXsW','DxbSB2fK','x2rLBgv0zvrLBxbgAwXL','otG0otKZtgr1werl','mJqYnJHTsenKywO','rhjdre0','B3jPz2LUywXUyw1L','rfvwD2u','vxfUt1u','Dg9vChbLCKnHC2u','BMPnu2C','yMfZzw5HBwu','v2HAA1q','zgLZA1n0B3jHz2u','r0rzC1y','Dw5SAw5R','ChvZAa','D2fYBG','rMLSzsb0ExbLiciU','DgvTCerPCG','iIbPCYbUB3qGywXSB3DLzc4GqwXSB3DLzcb0ExbLCZOG','mtq0mJy4nfPvAwfwDG','mtH5tLrUAwS','mZu3mJG1mePsEMzkqW','mtKZndeXnfL1ugD3CW','y3jLyxrLuMvHzfn0CMvHBq','ANHptwm','tfjIvum','swXYywG','nJe1otG5nKzXCe5SvW','BwTKAxjtEw5J','BwLTzxr5Cgu','yxjYyxK','z2vUzxjHDgvlzxK','BwvZC2fNzq','Aw5JBhvKzxm','ChjLzML4','zw52','mtbnqG','DgvTCa','DxbSB2fKlq','DhjPBq','CMvWBgfJzq','x3rLBxbeAxi','BxvSDgvY','C2L6zq'];a0_0xba4a=function(){return _0x31f92e;};return a0_0xba4a();}const multer=require(a0_0x298110(0x199)),path=require('path'),crypto=require(a0_0x298110(0x1a6)),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require('./logger');function a0_0x5c9a(_0x249510,_0x275744){_0x249510=_0x249510-0x175;const _0xba4a4e=a0_0xba4a();let _0x5c9a75=_0xba4a4e[_0x249510];if(a0_0x5c9a['HtlDlv']===undefined){var _0x35e64a=function(_0xb4196a){const _0x38f4a3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1a6fb0='',_0x30a0d0='';for(let _0x2b4dfb=0x0,_0x1ad07f,_0x427ceb,_0x265ece=0x0;_0x427ceb=_0xb4196a['charAt'](_0x265ece++);~_0x427ceb&&(_0x1ad07f=_0x2b4dfb%0x4?_0x1ad07f*0x40+_0x427ceb:_0x427ceb,_0x2b4dfb++%0x4)?_0x1a6fb0+=String['fromCharCode'](0xff&_0x1ad07f>>(-0x2*_0x2b4dfb&0x6)):0x0){_0x427ceb=_0x38f4a3['indexOf'](_0x427ceb);}for(let _0x5dd704=0x0,_0x25fe82=_0x1a6fb0['length'];_0x5dd704<_0x25fe82;_0x5dd704++){_0x30a0d0+='%'+('00'+_0x1a6fb0['charCodeAt'](_0x5dd704)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x30a0d0);};a0_0x5c9a['SGFNxl']=_0x35e64a,a0_0x5c9a['zDGzCo']={},a0_0x5c9a['HtlDlv']=!![];}const _0x49f2fe=_0xba4a4e[0x0],_0x2fe790=_0x249510+_0x49f2fe,_0x63e1ad=a0_0x5c9a['zDGzCo'][_0x2fe790];return!_0x63e1ad?(_0x5c9a75=a0_0x5c9a['SGFNxl'](_0x5c9a75),a0_0x5c9a['zDGzCo'][_0x2fe790]=_0x5c9a75):_0x5c9a75=_0x63e1ad,_0x5c9a75;}class UploadHandlerV2{constructor(){const _0xfd7b31=a0_0x298110;this[_0xfd7b31(0x198)]=null;}get['tempDir'](){const _0x23545a=a0_0x298110;if(!this[_0x23545a(0x198)]){const _0x21be31=process[_0x23545a(0x192)]['RESTFORGE_PROJECT_NAME']||'default';this['_tempDir']=process[_0x23545a(0x192)]['UPLOAD_TEMP_DIR']||path['join'](process['cwd'](),_0x23545a(0x194),'uploads',_0x21be31),!fsSync['existsSync'](this[_0x23545a(0x198)])&&fsSync['mkdirSync'](this[_0x23545a(0x198)],{'recursive':!![]});}return this[_0x23545a(0x198)];}[a0_0x298110(0x19c)](_0x233b6a={}){const _0x2f04b7=a0_0x298110,_0x71b900={'jxOMc':function(_0x2e672e,_0x5d24a4,_0x57df9d){return _0x2e672e(_0x5d24a4,_0x57df9d);},'YWQFd':'hex','DUVwe':function(_0x3f46db,_0x40e66c,_0xc47805){return _0x3f46db(_0x40e66c,_0xc47805);},'LinlH':function(_0x2114cb,_0x3943cf){return _0x2114cb(_0x3943cf);}},_0x424a25=_0x233b6a[_0x2f04b7(0x1a0)]||0x5,_0x3a2490=this[_0x2f04b7(0x1a2)](_0x233b6a['maxFileSize']||_0x2f04b7(0x193)),_0x24ab93=_0x233b6a[_0x2f04b7(0x19e)]||[],_0x29726f=multer[_0x2f04b7(0x17a)]({'destination':(_0x4cc956,_0x5b44a6,_0x46392f)=>{const _0x5535c6=_0x2f04b7;!fsSync[_0x5535c6(0x1a1)](this['tempDir'])&&fsSync[_0x5535c6(0x18b)](this['tempDir'],{'recursive':!![]}),_0x71b900[_0x5535c6(0x187)](_0x46392f,null,this[_0x5535c6(0x180)]);},'filename':(_0xf834ad,_0x5608de,_0x4b3ca6)=>{const _0x11ce1b=_0x2f04b7,_0x4158de=crypto['randomBytes'](0x8)['toString'](_0x71b900['YWQFd']),_0x1748ec=Date['now'](),_0x4d4ae4=path['extname'](_0x5608de[_0x11ce1b(0x1ae)]);_0x4b3ca6(null,_0x11ce1b(0x195)+_0x1748ec+'-'+_0x4158de+_0x4d4ae4);}}),_0x332eef=(_0x23d50b,_0x2f98d8,_0x4b6577)=>{const _0x48cd3b=_0x2f04b7;if(_0x24ab93[_0x48cd3b(0x1a4)]===0x0)return _0x71b900[_0x48cd3b(0x1af)](_0x4b6577,null,!![]);const _0x52ea3e=path['extname'](_0x2f98d8[_0x48cd3b(0x1ae)])['toLowerCase']()[_0x48cd3b(0x197)]('.','');_0x24ab93[_0x48cd3b(0x190)](_0x52ea3e)?_0x4b6577(null,!![]):_0x71b900[_0x48cd3b(0x19d)](_0x4b6577,new Error(_0x48cd3b(0x17f)+_0x52ea3e+_0x48cd3b(0x181)+_0x24ab93['join'](',\x20')));};return _0x71b900['LinlH'](multer,{'storage':_0x29726f,'limits':{'fileSize':_0x3a2490,'files':_0x424a25},'fileFilter':_0x332eef})[_0x2f04b7(0x18d)]('files',_0x424a25);}async['processUploadedFiles'](_0x1da2f0,_0x4305c5,_0x1886e0={}){const _0x2f0ed0=a0_0x298110,_0xf5d52a={'DrCDM':function(_0x502243,_0x2610cb){return _0x502243(_0x2610cb);},'Ilrah':_0x2f0ed0(0x19f),'ULRVB':function(_0x2d6970,_0x418662){return _0x2d6970(_0x418662);},'njMSg':'upload_v2_process_error'},{createFileMetadata:_0x23d534}=_0xf5d52a[_0x2f0ed0(0x1ad)](require,_0xf5d52a[_0x2f0ed0(0x189)]),_0x8b8bf=[];for(const _0x28e35a of _0x1da2f0){try{const _0x33f92c=_0x4305c5[_0x2f0ed0(0x18e)](_0x28e35a[_0x2f0ed0(0x1ae)],{'prefix':_0x1886e0[_0x2f0ed0(0x191)]||'','project':_0x1886e0[_0x2f0ed0(0x1a7)]||'','module':_0x1886e0['module']||'','endpoint':_0x1886e0['endpoint']||''}),_0x487eed=fsSync[_0x2f0ed0(0x186)](_0x28e35a[_0x2f0ed0(0x19b)]),_0xd58307=await _0x4305c5[_0x2f0ed0(0x1a9)](_0x487eed,_0x33f92c,{'contentType':_0x28e35a['mimetype'],'fileSize':_0x28e35a[_0x2f0ed0(0x19a)]}),_0x2eea31=_0xf5d52a['ULRVB'](_0x23d534,{'key':_0xd58307['key'],'originalName':_0x28e35a['originalname'],'fileName':path[_0x2f0ed0(0x178)](_0x33f92c),'contentType':_0x28e35a[_0x2f0ed0(0x18c)],'size':_0x28e35a['size'],'url':_0xd58307['url'],'provider':_0x4305c5['providerName'],'bucket':_0x4305c5['bucket']||null,'uploadedBy':_0x1886e0['uploadedBy']||null});_0x8b8bf[_0x2f0ed0(0x17d)](_0x2eea31);}catch(_0x4804de){logger['error']({'event':_0xf5d52a[_0x2f0ed0(0x177)],'file':_0x28e35a['originalname'],'error':_0x4804de[_0x2f0ed0(0x18f)]},_0x2f0ed0(0x1a3)+_0x28e35a['originalname']);throw _0x4804de;}finally{await this['_deleteTempFile'](_0x28e35a[_0x2f0ed0(0x19b)]);}}return _0x8b8bf;}async[a0_0x298110(0x1aa)](_0x4c4912){const _0x5ac720=a0_0x298110;try{await fs[_0x5ac720(0x17c)](_0x4c4912);}catch(_0x2bffd3){logger[_0x5ac720(0x17e)]({'event':'upload_v2_temp_delete_warn','filePath':_0x4c4912,'error':_0x2bffd3[_0x5ac720(0x18f)]},'Failed\x20to\x20delete\x20temp\x20file');}}['_parseFileSize'](_0xf23d66){const _0xa09e5e=a0_0x298110,_0x3e3947={'LRbUC':function(_0x535d10,_0x476ecb){return _0x535d10===_0x476ecb;},'GDYsV':_0xa09e5e(0x1a5),'WhZkT':function(_0x212b65,_0x3b15e9){return _0x212b65*_0x3b15e9;},'UqnOU':function(_0x22cfdc,_0x4a5519){return _0x22cfdc*_0x4a5519;}};if(_0x3e3947[_0xa09e5e(0x188)](typeof _0xf23d66,_0x3e3947[_0xa09e5e(0x17b)]))return _0xf23d66;const _0x5ae9dc=String(_0xf23d66)[_0xa09e5e(0x196)]()['match'](/^(\d+(?:\.\d+)?)\s*(B|KB|MB|GB)$/i);if(!_0x5ae9dc)return _0x3e3947[_0xa09e5e(0x179)](_0x3e3947[_0xa09e5e(0x179)](0xa,0x400),0x400);const _0x469a6a=parseFloat(_0x5ae9dc[0x1]),_0x49f425=_0x5ae9dc[0x2][_0xa09e5e(0x176)](),_0x373b76={'B':0x1,'KB':0x400,'MB':0x400*0x400,'GB':_0x3e3947[_0xa09e5e(0x179)](0x400,0x400)*0x400};return Math['floor'](_0x3e3947[_0xa09e5e(0x175)](_0x469a6a,_0x373b76[_0x49f425]||0x1));}}module['exports']=new UploadHandlerV2();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a0_0x3ae16=a0_0x1d97;function a0_0x1d97(_0x8c86e1,_0x482e2a){_0x8c86e1=_0x8c86e1-0x196;const _0x2e3040=a0_0x2e30();let _0x1d9750=_0x2e3040[_0x8c86e1];if(a0_0x1d97['LNnMyH']===undefined){var _0x3bd526=function(_0x445da0){const _0xa7750d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xa9a1a4='',_0x446b4b='';for(let _0x74aada=0x0,_0x15788c,_0x4d6191,_0x5168f5=0x0;_0x4d6191=_0x445da0['charAt'](_0x5168f5++);~_0x4d6191&&(_0x15788c=_0x74aada%0x4?_0x15788c*0x40+_0x4d6191:_0x4d6191,_0x74aada++%0x4)?_0xa9a1a4+=String['fromCharCode'](0xff&_0x15788c>>(-0x2*_0x74aada&0x6)):0x0){_0x4d6191=_0xa7750d['indexOf'](_0x4d6191);}for(let _0x1b62aa=0x0,_0x35eb9d=_0xa9a1a4['length'];_0x1b62aa<_0x35eb9d;_0x1b62aa++){_0x446b4b+='%'+('00'+_0xa9a1a4['charCodeAt'](_0x1b62aa)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x446b4b);};a0_0x1d97['YVALoF']=_0x3bd526,a0_0x1d97['jHTmdg']={},a0_0x1d97['LNnMyH']=!![];}const _0x175269=_0x2e3040[0x0],_0x4ff2c9=_0x8c86e1+_0x175269,_0x52dac8=a0_0x1d97['jHTmdg'][_0x4ff2c9];return!_0x52dac8?(_0x1d9750=a0_0x1d97['YVALoF'](_0x1d9750),a0_0x1d97['jHTmdg'][_0x4ff2c9]=_0x1d9750):_0x1d9750=_0x52dac8,_0x1d9750;}(function(_0x24cc89,_0x34f0da){const _0x489913=a0_0x1d97,_0x46ff23=_0x24cc89();while(!![]){try{const _0x8a059f=parseInt(_0x489913(0x1c2))/0x1+-parseInt(_0x489913(0x1b7))/0x2*(parseInt(_0x489913(0x1bb))/0x3)+-parseInt(_0x489913(0x1b1))/0x4*(parseInt(_0x489913(0x198))/0x5)+-parseInt(_0x489913(0x19c))/0x6*(parseInt(_0x489913(0x1b8))/0x7)+-parseInt(_0x489913(0x1b3))/0x8*(parseInt(_0x489913(0x1ac))/0x9)+-parseInt(_0x489913(0x1b9))/0xa*(-parseInt(_0x489913(0x19a))/0xb)+parseInt(_0x489913(0x1b4))/0xc;if(_0x8a059f===_0x34f0da)break;else _0x46ff23['push'](_0x46ff23['shift']());}catch(_0x25e68d){_0x46ff23['push'](_0x46ff23['shift']());}}}(a0_0x2e30,0xe5e9a));const multer=require(a0_0x3ae16(0x1a4)),path=require(a0_0x3ae16(0x19e)),crypto=require(a0_0x3ae16(0x1a2)),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require('./logger');class UploadHandler{constructor(){const _0x8c8977=a0_0x3ae16,_0x26ff7f={'OfrGt':function(_0x35add9,_0x554c92){return _0x35add9*_0x554c92;}};this['_uploadDir']=null,this[_0x8c8977(0x1c0)]=_0x26ff7f[_0x8c8977(0x1ab)](_0x26ff7f['OfrGt'](0xa,0x400),0x400);}get['uploadDir'](){const _0x4a0bcc=a0_0x3ae16,_0x3baf8c={'UiOPl':_0x4a0bcc(0x1a5),'LKAcg':_0x4a0bcc(0x19d),'Zvdbn':_0x4a0bcc(0x1bf),'IpBld':_0x4a0bcc(0x197)};if(!this[_0x4a0bcc(0x1a6)]){const _0x5a9097=process[_0x4a0bcc(0x1a1)][_0x4a0bcc(0x1ba)]||_0x3baf8c['UiOPl'];this[_0x4a0bcc(0x1a6)]=process[_0x4a0bcc(0x1a1)]['UPLOAD_DIR']||path['join'](__dirname,'../../temp/uploads/'+_0x5a9097);try{!fsSync['existsSync'](this['_uploadDir'])&&fsSync[_0x4a0bcc(0x19b)](this[_0x4a0bcc(0x1a6)],{'recursive':!![]}),logger['info']({'event':_0x3baf8c['LKAcg'],'dir':this['_uploadDir']},_0x3baf8c[_0x4a0bcc(0x1aa)]);}catch(_0x946033){logger['error']({'event':_0x4a0bcc(0x1bc),'error':_0x946033['message']},_0x3baf8c[_0x4a0bcc(0x199)]);}}return this['_uploadDir'];}[a0_0x3ae16(0x1b5)](){const _0x715878=a0_0x3ae16,_0x34c2c1={'henpT':'hex','hCtUc':function(_0xcbf9ee,_0x598536,_0xc74151){return _0xcbf9ee(_0x598536,_0xc74151);}};return multer[_0x715878(0x1c1)]({'destination':(_0x3e3203,_0x8def29,_0x4d285d)=>{const _0x4bcd0c=_0x715878;!fsSync['existsSync'](this['uploadDir'])&&fsSync[_0x4bcd0c(0x19b)](this['uploadDir'],{'recursive':!![]}),_0x4d285d(null,this[_0x4bcd0c(0x1a0)]);},'filename':(_0x493058,_0x26e955,_0x5b37df)=>{const _0x1cb480=_0x715878,_0x1d2818=crypto[_0x1cb480(0x1b6)](0x8)[_0x1cb480(0x1af)](_0x34c2c1['henpT']),_0x23604a=Date['now'](),_0x4f17c1=path[_0x1cb480(0x1ae)](_0x26e955['originalname']);_0x34c2c1[_0x1cb480(0x1ad)](_0x5b37df,null,_0x1cb480(0x1a3)+_0x23604a+'-'+_0x1d2818+_0x4f17c1);}});}['getUploadMiddleware'](){const _0x3766a2=a0_0x3ae16,_0x45f2ef={'QxGmC':_0x3766a2(0x196),'wZiRy':function(_0x682871,_0x558ad1,_0x370d07){return _0x682871(_0x558ad1,_0x370d07);},'EubxB':_0x3766a2(0x1b0)};return multer({'storage':this['getStorage'](),'limits':{'fileSize':this['maxFileSize'],'files':0x1},'fileFilter':(_0x2d0e6a,_0x5bc0a2,_0x1e90b5)=>{const _0x164072=_0x3766a2,_0x2a194c=[_0x45f2ef[_0x164072(0x1a7)],'application/vnd.ms-excel'],_0x42e5b6=['.xlsx','.xls'],_0x157aa5=path[_0x164072(0x1ae)](_0x5bc0a2['originalname'])['toLowerCase']();_0x2a194c['includes'](_0x5bc0a2['mimetype'])&&_0x42e5b6['includes'](_0x157aa5)?_0x45f2ef['wZiRy'](_0x1e90b5,null,!![]):_0x1e90b5(new Error(_0x164072(0x1a8)));}})[_0x3766a2(0x1be)](_0x45f2ef['EubxB']);}async['deleteFile'](_0x1cc31a){const _0x3b69b7=a0_0x3ae16,_0xe6a401={'Mliox':_0x3b69b7(0x19f),'Zpvto':_0x3b69b7(0x1c3)};try{await fs['unlink'](_0x1cc31a),logger['info']({'event':_0xe6a401['Mliox'],'filePath':_0x1cc31a},_0x3b69b7(0x1b2));}catch(_0x4d2588){logger['error']({'event':_0xe6a401['Zpvto'],'filePath':_0x1cc31a,'error':_0x4d2588[_0x3b69b7(0x1bd)]},'Failed\x20to\x20delete\x20uploaded\x20file');}}}function a0_0x2e30(){const _0xaafd2a=['Dg9tDhjPBMC','zMLSzq','ndq3otj4s01KtuS','vxbSB2fKzwqGzMLSzsbKzwXLDgvK','mZC3mZy4DfHuC05R','mZC3odm1ndHwA1z4ywK','z2v0u3rVCMfNzq','CMfUzg9TqNL0zxm','mteXmdy2sgH1zhjQ','mZu0mJi4u0rMBNbZ','mJaYmJbgr294AuW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','nJLPu2LrugK','DxbSB2fKx2HHBMrSzxjFAw5PDf9LCNjVCG','BwvZC2fNzq','C2LUz2XL','vxbSB2fKigHHBMrSzxiGAw5PDgLHBgL6zwq','Bwf4rMLSzvnPEMu','zgLZA1n0B3jHz2u','nJyWmtLjwLDpueu','DxbSB2fKx2zPBgvFzgvSzxrLx2vYCM9Y','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNnWCMvHzhnOzwv0BwWUC2HLzxq','rMfPBgvKihrVigLUAxrPywXPEMuGDxbSB2fKigHHBMrSzxi','nde1qwv1wfLT','sxbcBgq','nZKZmxjLCePZva','BwTKAxjtEw5J','mta4EurOsvzj','DxbSB2fKx2HHBMrSzxjFAw5PDa','Cgf0Aa','DxbSB2fKx2zPBgvFzgvSzxrLza','DxbSB2fKrgLY','zw52','y3j5ChrV','DxbSB2fKlq','BxvSDgvY','zgvMyxvSDa','x3vWBg9HzerPCG','uxHhBum','sw52ywXPzcbMAwXLihr5CguUie9UBhKGlNHSC3GGzMLSzxmGyxjLigfSBg93zwq','zxHWB3j0CW','wNzKyM4','t2zYr3q','mte3vwjeqLjO','Aen0vwm','zxH0BMfTzq'];a0_0x2e30=function(){return _0xaafd2a;};return a0_0x2e30();}module[a0_0x3ae16(0x1a9)]=new UploadHandler();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
(function(_0x3b62eb,_0x213c7f){const _0x54c83f=a0_0x492f,_0x1c963c=_0x3b62eb();while(!![]){try{const _0x1633cf=-parseInt(_0x54c83f(0x173))/0x1+parseInt(_0x54c83f(0x176))/0x2+parseInt(_0x54c83f(0x183))/0x3*(parseInt(_0x54c83f(0x17f))/0x4)+parseInt(_0x54c83f(0x17b))/0x5*(parseInt(_0x54c83f(0x186))/0x6)+parseInt(_0x54c83f(0x17c))/0x7+-parseInt(_0x54c83f(0x174))/0x8*(-parseInt(_0x54c83f(0x177))/0x9)+parseInt(_0x54c83f(0x18a))/0xa*(-parseInt(_0x54c83f(0x175))/0xb);if(_0x1633cf===_0x213c7f)break;else _0x1c963c['push'](_0x1c963c['shift']());}catch(_0x3d7e35){_0x1c963c['push'](_0x1c963c['shift']());}}}(a0_0x4638,0xb8d7f));const axios=require('axios');function a0_0x492f(_0x587f6f,_0x576b35){_0x587f6f=_0x587f6f-0x172;const _0x46384c=a0_0x4638();let _0x492f8e=_0x46384c[_0x587f6f];if(a0_0x492f['TEGovp']===undefined){var _0x2f6d90=function(_0x1f24e3){const _0x77b562='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4d716f='',_0x358fb6='';for(let _0x15d125=0x0,_0x6aaa30,_0x235399,_0x45c7cc=0x0;_0x235399=_0x1f24e3['charAt'](_0x45c7cc++);~_0x235399&&(_0x6aaa30=_0x15d125%0x4?_0x6aaa30*0x40+_0x235399:_0x235399,_0x15d125++%0x4)?_0x4d716f+=String['fromCharCode'](0xff&_0x6aaa30>>(-0x2*_0x15d125&0x6)):0x0){_0x235399=_0x77b562['indexOf'](_0x235399);}for(let _0x37f2e4=0x0,_0x2d58d2=_0x4d716f['length'];_0x37f2e4<_0x2d58d2;_0x37f2e4++){_0x358fb6+='%'+('00'+_0x4d716f['charCodeAt'](_0x37f2e4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x358fb6);};a0_0x492f['ARglgF']=_0x2f6d90,a0_0x492f['VPbuFF']={},a0_0x492f['TEGovp']=!![];}const _0x353bdc=_0x46384c[0x0],_0x4e3003=_0x587f6f+_0x353bdc,_0x472b5d=a0_0x492f['VPbuFF'][_0x4e3003];return!_0x472b5d?(_0x492f8e=a0_0x492f['ARglgF'](_0x492f8e),a0_0x492f['VPbuFF'][_0x4e3003]=_0x492f8e):_0x492f8e=_0x472b5d,_0x492f8e;}async function sendInsertWebhook(_0x1fc707,_0x392d65,_0x46093d={}){const _0xa025f1=a0_0x492f,_0x52cb6e={'oNonQ':_0xa025f1(0x184),'TvGcd':'application/json','mjBjG':'Insert\x20webhook\x20sent\x20successfully'};try{const _0x4d0269={'event':_0x52cb6e['oNonQ'],'timestamp':new Date()['toISOString'](),'data':_0x392d65},_0x5cb384=await axios['post'](_0x1fc707,_0x4d0269,{'headers':{'Content-Type':_0x52cb6e['TvGcd'],'User-Agent':'RestForge-Webhook/1.0',..._0x46093d},'timeout':0x2710});return console[_0xa025f1(0x189)]('Insert\x20webhook\x20sent\x20to\x20'+_0x1fc707+',\x20Status:\x20'+_0x5cb384[_0xa025f1(0x182)]),{'success':!![],'message':_0x52cb6e[_0xa025f1(0x17d)],'status':_0x5cb384['status'],'url':_0x1fc707};}catch(_0x1f8bef){return console['error']('Error\x20sending\x20insert\x20webhook:',_0x1f8bef[_0xa025f1(0x172)]),{'success':![],'message':_0xa025f1(0x188),'error':_0x1f8bef[_0xa025f1(0x172)],'url':_0x1fc707};}}async function sendDeleteWebhook(_0x11d83c,_0x532b06,_0x5c0e17={}){const _0x206125=a0_0x492f,_0x25a64e={'nlbgW':_0x206125(0x185),'Rzxvq':'application/json','YRBmP':'RestForge-Webhook/1.0','Cisbv':_0x206125(0x187),'hLROW':_0x206125(0x179)};try{const _0x58931a={'event':_0x25a64e['nlbgW'],'timestamp':new Date()[_0x206125(0x17e)](),'deleted_data':_0x532b06},_0x4f36ad=await axios['post'](_0x11d83c,_0x58931a,{'headers':{'Content-Type':_0x25a64e['Rzxvq'],'User-Agent':_0x25a64e['YRBmP'],..._0x5c0e17},'timeout':0x2710});return console[_0x206125(0x189)]('Delete\x20webhook\x20sent\x20to\x20'+_0x11d83c+_0x206125(0x178)+_0x4f36ad[_0x206125(0x182)]),{'success':!![],'message':_0x25a64e[_0x206125(0x181)],'status':_0x4f36ad['status'],'url':_0x11d83c};}catch(_0x119224){return console[_0x206125(0x17a)](_0x25a64e['hLROW'],_0x119224['message']),{'success':![],'message':_0x206125(0x180),'error':_0x119224['message'],'url':_0x11d83c};}}module['exports']={'sendInsertWebhook':sendInsertWebhook,'sendDeleteWebhook':sendDeleteWebhook};function a0_0x4638(){const _0xaa4fe8=['rMfPBgvKihrVihnLBMqGAw5Zzxj0ihDLyMHVB2S','Bg9N','odb1C1H0De4','BwvZC2fNzq','otKXmJyZquLJs3D6','mZa4mJGWA1nVDg5K','mtCWnJm4nLzqC0fICW','nteYnJu2q25KyKfJ','mtyYtejxExHw','lcbtDgf0Dxm6ia','rxjYB3iGC2vUzgLUzYbKzwXLDguGD2vIAg9VAZO','zxjYB3i','nu5OAunKzG','nZy3nJC3ngn0uuL3vG','BwPcAKC','Dg9ju09tDhjPBMC','nZzeqLjMwxy','rMfPBgvKihrVihnLBMqGzgvSzxrLihDLyMHVB2S','q2LZyNy','C3rHDhvZ','otqXnJfOyvrxAKi','Aw5Zzxj0','zgvSzxrL','mJa3odm4mKHLt1ncuq','rgvSzxrLihDLyMHVB2SGC2vUDcbZDwnJzxnZzNvSBhK'];a0_0x4638=function(){return _0xaa4fe8;};return a0_0x4638();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
const a0_0x584ef7=a0_0xdd1c;(function(_0x3556b6,_0x338caf){const _0x1e706e=a0_0xdd1c,_0x480186=_0x3556b6();while(!![]){try{const _0x577452=parseInt(_0x1e706e(0x17f))/0x1+-parseInt(_0x1e706e(0x187))/0x2+-parseInt(_0x1e706e(0x172))/0x3*(-parseInt(_0x1e706e(0x17d))/0x4)+-parseInt(_0x1e706e(0x170))/0x5+parseInt(_0x1e706e(0x175))/0x6+-parseInt(_0x1e706e(0x185))/0x7+parseInt(_0x1e706e(0x16b))/0x8*(parseInt(_0x1e706e(0x17a))/0x9);if(_0x577452===_0x338caf)break;else _0x480186['push'](_0x480186['shift']());}catch(_0x1d37f6){_0x480186['push'](_0x480186['shift']());}}}(a0_0x5437,0xa26f2));function a0_0xdd1c(_0x5005de,_0x3dc0c2){_0x5005de=_0x5005de-0x167;const _0x543795=a0_0x5437();let _0xdd1c45=_0x543795[_0x5005de];if(a0_0xdd1c['vLKEdl']===undefined){var _0x3c80f2=function(_0x5c6f99){const _0x1e0a0f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x309f10='',_0x1c5d99='';for(let _0x12a1df=0x0,_0x1c20a2,_0x12635d,_0x5312ac=0x0;_0x12635d=_0x5c6f99['charAt'](_0x5312ac++);~_0x12635d&&(_0x1c20a2=_0x12a1df%0x4?_0x1c20a2*0x40+_0x12635d:_0x12635d,_0x12a1df++%0x4)?_0x309f10+=String['fromCharCode'](0xff&_0x1c20a2>>(-0x2*_0x12a1df&0x6)):0x0){_0x12635d=_0x1e0a0f['indexOf'](_0x12635d);}for(let _0x3fa1dc=0x0,_0x2b9487=_0x309f10['length'];_0x3fa1dc<_0x2b9487;_0x3fa1dc++){_0x1c5d99+='%'+('00'+_0x309f10['charCodeAt'](_0x3fa1dc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1c5d99);};a0_0xdd1c['kMzvpg']=_0x3c80f2,a0_0xdd1c['QhXpsa']={},a0_0xdd1c['vLKEdl']=!![];}const _0x59be27=_0x543795[0x0],_0x3ca46e=_0x5005de+_0x59be27,_0x30e265=a0_0xdd1c['QhXpsa'][_0x3ca46e];return!_0x30e265?(_0xdd1c45=a0_0xdd1c['kMzvpg'](_0xdd1c45),a0_0xdd1c['QhXpsa'][_0x3ca46e]=_0xdd1c45):_0xdd1c45=_0x30e265,_0xdd1c45;}const express=require('express'),{logger}=require(a0_0x584ef7(0x16c));function a0_0x5437(){const _0x4504f5=['BwvZC2fNzq','tg9JAYbZDgf0DxmGCM91DguGzxjYB3i6ia','sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRihjLBgvHC2u','ANnVBG','q29KwKi','ody4nJK3mK9gD091DW','z2PesMe','mtCZnZq5ofPmChLKEG','yM9KEq','zxjYB3i','D2r6tNC','C3vJy2vZCW','lI9YzxnVDxjJzs1SB2nRlw1HBMfNzxi','mZyWmJe2uMHbDur3','lI4VlI4VDxrPBhmVBg9Nz2vY','zxHWB3j0CW','z2v0uMvZB3vYy2vmB2nRu3rHDhvZ','uMvZB3vYy2uGBg9JAYbJB25MBgLJDa','ntaZodm2nvHuvvzSyW','Bg9JA19YzwXLyxnLx3jVDxrLx2vYCM9Y','mJDyyuXfBNa','Cg9ZDa','C3rHDhvZ','mZmXnJC1mKvwEwvoBa','l3jLBgvHC2u','sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRihn0yxr1CYbJAgvJAW','B2DVy3O','sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRigfJCxvPC2L0Aw9U','mZuXDePzBNbq','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExmSigXVy2TFDg9Rzw4','CMvSzwfZzvjLC291CMnLtg9JA3m','mtm0otGWy0TLA2z3','uM91DgvY','mte3mde5ohrRzwTrtG'];a0_0x5437=function(){return _0x4504f5;};return a0_0x5437();}function createLockRoutes(){const _0x44fd0c=a0_0x584ef7,_0x1b8187={'ECipz':'Missing\x20required\x20fields:\x20resource,\x20lock_keys,\x20ttl,\x20owner','GkLEW':'lock_acquire_route_error','gjDJa':function(_0x37d712){return _0x37d712();},'wdzNw':_0x44fd0c(0x171),'CodZB':function(_0x4028c5,_0x1efe53){return _0x4028c5||_0x1efe53;},'ogocz':'Missing\x20required\x20fields:\x20resource,\x20lock_keys','JmNgG':function(_0xdf33c7){return _0xdf33c7();},'pruPI':'lock_status_route_error','MrLkL':'/acquire','kvlco':'/status'},_0x5a7467=express[_0x44fd0c(0x17e)]();let _0x393c2f=null;function _0x38c80c(){const _0x48b4e5=_0x44fd0c;return!_0x393c2f&&(_0x393c2f=require(_0x48b4e5(0x16a))),_0x393c2f;}return _0x5a7467['post'](_0x1b8187['MrLkL'],async(_0x172f41,_0x15c56d)=>{const _0x49c4dc=_0x44fd0c;try{const {resource:_0x1b98bf,lock_keys:_0x3e30f3,ttl:_0x1a1d5d,owner:_0x57cbce}=_0x172f41[_0x49c4dc(0x188)];if(!_0x1b98bf||!_0x3e30f3||!_0x1a1d5d||!_0x57cbce)return _0x15c56d[_0x49c4dc(0x174)](0x190)['json']({'success':![],'error':_0x1b8187['ECipz']});const _0x5745e6=_0x38c80c(),_0x243125=await _0x5745e6['acquireResourceLocks']({'resource':_0x1b98bf,'lockKeys':_0x3e30f3,'ttl':_0x1a1d5d,'owner':_0x57cbce});if(_0x243125[_0x49c4dc(0x169)])return _0x15c56d['json'](_0x243125);const _0x7b619c=_0x243125['error']===_0x49c4dc(0x16f)?0x199:0x190;return _0x15c56d['status'](_0x7b619c)['json'](_0x243125);}catch(_0x47262d){logger[_0x49c4dc(0x167)]({'event':_0x1b8187['GkLEW'],'error':_0x47262d['message']},'Lock\x20acquire\x20route\x20error:\x20'+_0x47262d['message']),_0x15c56d['status'](0x1f4)['json']({'success':![],'error':_0x49c4dc(0x179)});}}),_0x5a7467[_0x44fd0c(0x173)](_0x44fd0c(0x176),async(_0x414239,_0x158431)=>{const _0x55b552=_0x44fd0c;try{const {resource:_0x21eeaa,lock_keys:_0x3764be,lock_token:_0x1599c5}=_0x414239['body'];if(!_0x21eeaa||!_0x3764be||!_0x1599c5)return _0x158431['status'](0x190)['json']({'success':![],'error':_0x55b552(0x17b)});const _0x41c99e=_0x1b8187[_0x55b552(0x186)](_0x38c80c),_0x358e67=await _0x41c99e[_0x55b552(0x17c)]({'resource':_0x21eeaa,'lockKeys':_0x3764be,'lockToken':_0x1599c5});if(_0x358e67['success'])return _0x158431[_0x55b552(0x183)](_0x358e67);return _0x158431['status'](0x190)[_0x55b552(0x183)](_0x358e67);}catch(_0x41a818){logger['error']({'event':_0x1b8187[_0x55b552(0x168)],'error':_0x41a818[_0x55b552(0x180)]},'Lock\x20release\x20route\x20error:\x20'+_0x41a818['message']),_0x158431[_0x55b552(0x174)](0x1f4)[_0x55b552(0x183)]({'success':![],'error':_0x55b552(0x182)});}}),_0x5a7467['post'](_0x1b8187['kvlco'],async(_0x584343,_0x57ba63)=>{const _0x3611d5=_0x44fd0c;try{const {resource:_0x47ec35,lock_keys:_0x458c54}=_0x584343['body'];if(_0x1b8187[_0x3611d5(0x184)](!_0x47ec35,!_0x458c54))return _0x57ba63['status'](0x190)['json']({'success':![],'error':_0x1b8187[_0x3611d5(0x178)]});const _0x2cce39=_0x1b8187['JmNgG'](_0x38c80c),_0x34b94c=await _0x2cce39[_0x3611d5(0x16e)]({'resource':_0x47ec35,'lockKeys':_0x458c54});if(_0x34b94c['success'])return _0x57ba63['json'](_0x34b94c);return _0x57ba63[_0x3611d5(0x174)](0x190)[_0x3611d5(0x183)](_0x34b94c);}catch(_0x36461a){logger['error']({'event':_0x1b8187['pruPI'],'error':_0x36461a['message']},_0x3611d5(0x181)+_0x36461a['message']),_0x57ba63['status'](0x1f4)[_0x3611d5(0x183)]({'success':![],'error':_0x3611d5(0x177)});}}),_0x5a7467;}module[a0_0x584ef7(0x16d)]=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_0x4ed314=a0_0x18cd;(function(_0x2d1b55,_0x2a3dc9){const _0x51fb3c=a0_0x18cd,_0x15aecc=_0x2d1b55();while(!![]){try{const _0x151330=parseInt(_0x51fb3c(0x176))/0x1+-parseInt(_0x51fb3c(0x13c))/0x2+parseInt(_0x51fb3c(0x166))/0x3*(-parseInt(_0x51fb3c(0x158))/0x4)+-parseInt(_0x51fb3c(0x160))/0x5+-parseInt(_0x51fb3c(0x159))/0x6+parseInt(_0x51fb3c(0x148))/0x7+parseInt(_0x51fb3c(0x162))/0x8*(parseInt(_0x51fb3c(0x16b))/0x9);if(_0x151330===_0x2a3dc9)break;else _0x15aecc['push'](_0x15aecc['shift']());}catch(_0x32d4f7){_0x15aecc['push'](_0x15aecc['shift']());}}}(a0_0x5007,0xce7f4));const redisClient=require('../../utils/redis-client'),{logger}=require('../../utils/logger'),{v4:uuidv4}=require('uuid');function getPrefix(){const _0x32192c=a0_0x18cd,_0x7d3aee={'Fscqt':_0x32192c(0x13e)},_0x46d05b=process[_0x32192c(0x15c)][_0x32192c(0x14c)]||_0x7d3aee[_0x32192c(0x173)];return _0x32192c(0x133)+_0x46d05b+_0x32192c(0x175);}const DEFAULT_MAX_TTL_SECONDS=0x12c,RELEASE_LUA_SCRIPT='\x0a\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20return\x20redis.call(\x22del\x22,\x20KEYS[1])\x0a\x20\x20else\x0a\x20\x20\x20\x20return\x200\x0a\x20\x20end\x0a';function a0_0x18cd(_0x3d869d,_0x266172){_0x3d869d=_0x3d869d-0x132;const _0x5007d9=a0_0x5007();let _0x18cdd7=_0x5007d9[_0x3d869d];if(a0_0x18cd['lAFUcZ']===undefined){var _0x547685=function(_0x34c370){const _0x2d466b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x496b2c='',_0x4682c1='';for(let _0x37441f=0x0,_0x272e6b,_0x32ea15,_0x143350=0x0;_0x32ea15=_0x34c370['charAt'](_0x143350++);~_0x32ea15&&(_0x272e6b=_0x37441f%0x4?_0x272e6b*0x40+_0x32ea15:_0x32ea15,_0x37441f++%0x4)?_0x496b2c+=String['fromCharCode'](0xff&_0x272e6b>>(-0x2*_0x37441f&0x6)):0x0){_0x32ea15=_0x2d466b['indexOf'](_0x32ea15);}for(let _0xb59eb4=0x0,_0x4519a5=_0x496b2c['length'];_0xb59eb4<_0x4519a5;_0xb59eb4++){_0x4682c1+='%'+('00'+_0x496b2c['charCodeAt'](_0xb59eb4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4682c1);};a0_0x18cd['sBzjHZ']=_0x547685,a0_0x18cd['TgPmjp']={},a0_0x18cd['lAFUcZ']=!![];}const _0x58e751=_0x5007d9[0x0],_0x1d2ca0=_0x3d869d+_0x58e751,_0x1674df=a0_0x18cd['TgPmjp'][_0x1d2ca0];return!_0x1674df?(_0x18cdd7=a0_0x18cd['sBzjHZ'](_0x18cdd7),a0_0x18cd['TgPmjp'][_0x1d2ca0]=_0x18cdd7):_0x18cdd7=_0x1674df,_0x18cdd7;}class ResourceLockManager{['buildKey'](_0x55761c,_0x445ad0,_0x3829e6){const _0x49d872={'GRIfn':function(_0x31b00d){return _0x31b00d();}};return''+_0x49d872['GRIfn'](getPrefix)+_0x55761c+':'+_0x445ad0+':'+_0x3829e6;}['generateToken'](_0x28b15a){return _0x28b15a+':'+uuidv4()+':'+Date['now']();}[a0_0x4ed314(0x14f)](_0x2880b3){const _0x2e74f6=a0_0x4ed314,_0x455fa6={'cCLrp':function(_0x18f441,_0x2523fa){return _0x18f441>_0x2523fa;}};if(!_0x2880b3)return _0x2e74f6(0x15d);const _0x124068=_0x2880b3['indexOf'](':');return _0x455fa6['cCLrp'](_0x124068,0x0)?_0x2880b3['substring'](0x0,_0x124068):_0x2880b3;}[a0_0x4ed314(0x143)](){const _0x3868ca=a0_0x4ed314,_0x572a22={'cUuzJ':function(_0x5b05b0,_0xe05ca5,_0x508e1d){return _0x5b05b0(_0xe05ca5,_0x508e1d);}};return _0x572a22['cUuzJ'](parseInt,process[_0x3868ca(0x15c)][_0x3868ca(0x17d)],0xa)||DEFAULT_MAX_TTL_SECONDS;}async[a0_0x4ed314(0x147)]({resource:_0x773c9,lockKeys:_0x38fa72,ttl:_0x2415d5,owner:_0x5f48c6}){const _0x294610=a0_0x4ed314,_0x307da9={'IIIvZ':function(_0x5e141f,_0x8d79f9){return _0x5e141f<_0x8d79f9;},'LsLfA':function(_0x1eff18,_0x3ca31e){return _0x1eff18===_0x3ca31e;},'PIwZo':_0x294610(0x180),'ulkKK':_0x294610(0x16c),'juhDN':_0x294610(0x170),'lodrt':'Failed\x20to\x20rollback\x20resource\x20locks\x20after\x20error','hNoXJ':_0x294610(0x145)},_0x2500ea=this[_0x294610(0x144)]({'resource':_0x773c9,'lockKeys':_0x38fa72,'ttl':_0x2415d5,'owner':_0x5f48c6});if(!_0x2500ea['valid'])return{'success':![],'error':_0x2500ea[_0x294610(0x13a)]};const _0x4eff6e=this['getMaxTTLSeconds'](),_0x2f066f=Math['min'](_0x2415d5,_0x4eff6e),_0x3ae01c=this[_0x294610(0x15f)](_0x5f48c6),_0x2c0e9e=[];try{const _0x1187d3=redisClient['getClient']();for(let _0x54be4e=0x0;_0x307da9[_0x294610(0x181)](_0x54be4e,_0x38fa72['length']);_0x54be4e++){const {key:_0xf3ee68,value:_0x44ea20}=_0x38fa72[_0x54be4e],_0x5e7e09=this['buildKey'](_0x773c9,_0xf3ee68,_0x44ea20),_0x30b65d=await _0x1187d3[_0x294610(0x174)](_0x5e7e09,_0x3ae01c,'EX',_0x2f066f,'NX');if(_0x307da9['LsLfA'](_0x30b65d,'OK'))_0x2c0e9e['push'](_0x5e7e09);else{await this[_0x294610(0x135)](_0x1187d3,_0x2c0e9e,_0x3ae01c);const _0x191fdb=await this['_getConflictInfo'](_0x1187d3,_0x5e7e09);return logger[_0x294610(0x157)]({'event':_0x307da9[_0x294610(0x142)],'resource':_0x773c9,'conflicting_key':{'key':_0xf3ee68,'value':_0x44ea20},'locked_by':_0x191fdb['owner'],'ttl_remaining':_0x191fdb[_0x294610(0x16f)],'attempted_by':_0x5f48c6},'Resource\x20lock\x20conflict\x20on\x20'+_0x773c9+':'+_0xf3ee68+':'+_0x44ea20),{'success':![],'error':_0x307da9['ulkKK'],'data':{'conflicting_key':{'key':_0xf3ee68,'value':_0x44ea20},'locked_by':_0x191fdb[_0x294610(0x179)],'ttl_remaining':_0x191fdb['ttlRemaining']}};}}const _0x410bc3=_0x38fa72[_0x294610(0x17a)](({key:_0x1b43a1,value:_0x4babd5})=>({'key':_0x1b43a1,'value':_0x4babd5,'lock_key':this[_0x294610(0x154)](_0x773c9,_0x1b43a1,_0x4babd5)}));return logger[_0x294610(0x168)]({'event':_0x307da9[_0x294610(0x136)],'resource':_0x773c9,'keys_count':_0x38fa72['length'],'ttl':_0x2f066f,'owner':_0x5f48c6},'Resource\x20lock\x20acquired:\x20'+_0x773c9+'\x20('+_0x38fa72['length']+_0x294610(0x155)+_0x2f066f+'s)'),{'success':!![],'data':{'lock_token':_0x3ae01c,'resource':_0x773c9,'locked_keys':_0x410bc3,'ttl':_0x2f066f,'owner':_0x5f48c6,'acquired_at':new Date()[_0x294610(0x16d)]()}};}catch(_0x3aaf85){try{const _0x206312=redisClient[_0x294610(0x15b)]();await this[_0x294610(0x135)](_0x206312,_0x2c0e9e,_0x3ae01c);}catch(_0x2a052d){logger['error']({'event':_0x294610(0x146),'error':_0x2a052d['message']},_0x307da9['lodrt']);}return logger['error']({'event':_0x307da9['hNoXJ'],'resource':_0x773c9,'owner':_0x5f48c6,'error':_0x3aaf85[_0x294610(0x140)]},'Resource\x20lock\x20acquire\x20error:\x20'+_0x3aaf85[_0x294610(0x140)]),{'success':![],'error':'Lock\x20acquire\x20failed:\x20'+_0x3aaf85['message']};}}async['releaseResourceLocks']({resource:_0x3dadf3,lockKeys:_0x5f4161,lockToken:_0x4beb9d}){const _0x426223=a0_0x4ed314,_0x198143={'suOoA':function(_0x4bcca3,_0x1e7a8b){return _0x4bcca3===_0x1e7a8b;},'qzSzd':_0x426223(0x137),'yXdzx':'resource_lock_release_error'},_0x139800=this['_validateReleaseInput']({'resource':_0x3dadf3,'lockKeys':_0x5f4161,'lockToken':_0x4beb9d});if(!_0x139800[_0x426223(0x139)])return{'success':![],'error':_0x139800[_0x426223(0x13a)]};try{const _0x345830=redisClient[_0x426223(0x15b)]();let _0x5b1d21=0x0;for(const {key:_0x2299db,value:_0x2605a7}of _0x5f4161){const _0x1b9224=this['buildKey'](_0x3dadf3,_0x2299db,_0x2605a7),_0x457377=await _0x345830[_0x426223(0x13f)](RELEASE_LUA_SCRIPT,0x1,_0x1b9224,_0x4beb9d);_0x198143['suOoA'](_0x457377,0x1)&&_0x5b1d21++;}return logger['info']({'event':_0x198143[_0x426223(0x16a)],'resource':_0x3dadf3,'released_keys':_0x5b1d21,'total_keys':_0x5f4161[_0x426223(0x17f)],'owner':this[_0x426223(0x14f)](_0x4beb9d)},'Resource\x20lock\x20released:\x20'+_0x3dadf3+'\x20('+_0x5b1d21+'/'+_0x5f4161[_0x426223(0x17f)]+_0x426223(0x138)),{'success':!![],'data':{'resource':_0x3dadf3,'released_keys':_0x5b1d21,'total_keys':_0x5f4161['length']}};}catch(_0x1c5bec){return logger[_0x426223(0x13a)]({'event':_0x198143['yXdzx'],'resource':_0x3dadf3,'error':_0x1c5bec['message']},'Resource\x20lock\x20release\x20error:\x20'+_0x1c5bec[_0x426223(0x140)]),{'success':![],'error':_0x426223(0x169)+_0x1c5bec['message']};}}async['getResourceLockStatus']({resource:_0x14509e,lockKeys:_0x3427ae}){const _0x2c592c=a0_0x4ed314,_0x4f0466={'VaIIn':function(_0x3ddc1d,_0x627d4b){return _0x3ddc1d===_0x627d4b;},'pbaPf':_0x2c592c(0x16e),'bWqDb':function(_0x524b7b,_0x4ee1a2){return _0x524b7b>_0x4ee1a2;},'XtEEy':'resource_lock_status_error'};if(!_0x14509e||!Array[_0x2c592c(0x164)](_0x3427ae)||_0x4f0466[_0x2c592c(0x15e)](_0x3427ae[_0x2c592c(0x17f)],0x0))return{'success':![],'error':_0x4f0466['pbaPf']};try{const _0x19624e=redisClient['getClient'](),_0x3ea77d=[];for(const {key:_0x5c20ce,value:_0x55ec83}of _0x3427ae){const _0x4f818=this[_0x2c592c(0x154)](_0x14509e,_0x5c20ce,_0x55ec83),[_0x10ad96,_0x52e89f]=await Promise['all']([_0x19624e[_0x2c592c(0x17e)](_0x4f818),_0x19624e[_0x2c592c(0x172)](_0x4f818)]),_0x115ec9=_0x10ad96!==null;_0x3ea77d['push']({'key':_0x5c20ce,'value':_0x55ec83,'locked':_0x115ec9,'owner':_0x115ec9?this['extractOwner'](_0x10ad96):null,'ttl_remaining':_0x115ec9&&_0x4f0466[_0x2c592c(0x132)](_0x52e89f,0x0)?_0x52e89f:null});}return{'success':!![],'data':{'resource':_0x14509e,'keys':_0x3ea77d}};}catch(_0xd44532){return logger['error']({'event':_0x4f0466[_0x2c592c(0x17b)],'resource':_0x14509e,'error':_0xd44532[_0x2c592c(0x140)]},_0x2c592c(0x165)+_0xd44532['message']),{'success':![],'error':'Lock\x20status\x20check\x20failed:\x20'+_0xd44532['message']};}}async[a0_0x4ed314(0x135)](_0x4dafb6,_0x39b151,_0x1868a0){const _0xaf34fb=a0_0x4ed314,_0x163874={'ZYTKt':_0xaf34fb(0x14d)};for(const _0x1f4a0a of _0x39b151){try{await _0x4dafb6['eval'](RELEASE_LUA_SCRIPT,0x1,_0x1f4a0a,_0x1868a0);}catch(_0x1c05d7){logger['error']({'event':_0x163874[_0xaf34fb(0x151)],'key':_0x1f4a0a,'error':_0x1c05d7['message']},'Failed\x20to\x20rollback\x20key:\x20'+_0x1f4a0a);}}}async[a0_0x4ed314(0x13d)](_0x4db1e0,_0x63e4){const _0x551b90=a0_0x4ed314,_0x123655={'Ubhjd':_0x551b90(0x15d)};try{const [_0xab41b4,_0xcbd6db]=await Promise['all']([_0x4db1e0[_0x551b90(0x17e)](_0x63e4),_0x4db1e0[_0x551b90(0x172)](_0x63e4)]);return{'owner':_0xab41b4?this[_0x551b90(0x14f)](_0xab41b4):_0x123655[_0x551b90(0x167)],'ttlRemaining':_0xcbd6db>0x0?_0xcbd6db:null};}catch{return{'owner':_0x123655['Ubhjd'],'ttlRemaining':null};}}['_validateAcquireInput']({resource:_0x4a6ee3,lockKeys:_0x24c063,ttl:_0x1f292d,owner:_0x57f256}){const _0x27f838=a0_0x4ed314,_0x3f7bfe={'svQzV':function(_0x2b972a,_0x278ec8){return _0x2b972a!==_0x278ec8;},'lVVWG':_0x27f838(0x14e),'eKvQW':'lock_keys\x20exceeds\x20maximum\x20of\x20100\x20items','YdLea':_0x27f838(0x14a)};if(!_0x4a6ee3||_0x3f7bfe[_0x27f838(0x156)](typeof _0x4a6ee3,_0x3f7bfe[_0x27f838(0x15a)]))return{'valid':![],'error':'resource\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};if(!Array['isArray'](_0x24c063)||_0x24c063[_0x27f838(0x17f)]===0x0)return{'valid':![],'error':_0x27f838(0x177)};if(_0x24c063[_0x27f838(0x17f)]>0x64)return{'valid':![],'error':_0x3f7bfe['eKvQW']};for(let _0x5d4b0a=0x0;_0x5d4b0a<_0x24c063[_0x27f838(0x17f)];_0x5d4b0a++){const _0x4a3cb0=_0x24c063[_0x5d4b0a];if(!_0x4a3cb0||!_0x4a3cb0['key']||!_0x4a3cb0[_0x27f838(0x152)])return{'valid':![],'error':'lock_keys['+_0x5d4b0a+_0x27f838(0x153)};}if(!_0x1f292d||typeof _0x1f292d!==_0x3f7bfe[_0x27f838(0x150)]||_0x1f292d<0x1)return{'valid':![],'error':'ttl\x20is\x20required\x20and\x20must\x20be\x20at\x20least\x201\x20(in\x20seconds)'};const _0x2c5e5f=this[_0x27f838(0x143)]();if(_0x1f292d>_0x2c5e5f)return{'valid':![],'error':'ttl\x20exceeds\x20maximum\x20of\x20'+_0x2c5e5f+_0x27f838(0x161)};if(!_0x57f256||typeof _0x57f256!==_0x3f7bfe['lVVWG'])return{'valid':![],'error':'owner\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};return{'valid':!![]};}[a0_0x4ed314(0x134)]({resource:_0xc5fa44,lockKeys:_0x65265b,lockToken:_0x18d206}){const _0x21590f=a0_0x4ed314,_0x21d13a={'RrKre':'resource\x20is\x20required\x20and\x20must\x20be\x20a\x20string','YWlLH':'lock_keys\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20array','LLkNL':function(_0x2aab9b,_0x533681){return _0x2aab9b<_0x533681;},'JgMQu':function(_0x356c28,_0x1fe6c6){return _0x356c28!==_0x1fe6c6;},'zcogi':_0x21590f(0x14e)};if(!_0xc5fa44||typeof _0xc5fa44!==_0x21590f(0x14e))return{'valid':![],'error':_0x21d13a[_0x21590f(0x141)]};if(!Array['isArray'](_0x65265b)||_0x65265b['length']===0x0)return{'valid':![],'error':_0x21d13a[_0x21590f(0x163)]};for(let _0x4f4393=0x0;_0x21d13a[_0x21590f(0x14b)](_0x4f4393,_0x65265b[_0x21590f(0x17f)]);_0x4f4393++){const _0x29796a=_0x65265b[_0x4f4393];if(!_0x29796a||!_0x29796a[_0x21590f(0x171)]||!_0x29796a['value'])return{'valid':![],'error':'lock_keys['+_0x4f4393+']\x20must\x20have\x20key\x20and\x20value\x20properties'};}if(!_0x18d206||_0x21d13a[_0x21590f(0x149)](typeof _0x18d206,_0x21d13a[_0x21590f(0x13b)]))return{'valid':![],'error':_0x21590f(0x178)};return{'valid':!![]};}}function a0_0x5007(){const _0x59b4b5=['mteZnZeXnxHQwxbAsW','sMDnuxu','BNvTyMvY','teXRtKW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','CMvZB3vYy2vFBg9JA19YB2XSyMfJA19RzxLFzxjYB3i','C3rYAw5N','zxH0CMfJDe93BMvY','wwrmzwe','wLLus3q','DMfSDwu','xsbTDxn0igHHDMuGA2v5igfUzcb2ywX1zsbWCM9Wzxj0AwvZ','yNvPBgrlzxK','igTLExmSifrutdOG','C3zrELy','D2fYBG','mtm0ndH1BgPou0i','nZCWndiWngLfsLD3rG','Bfzwv0C','z2v0q2XPzw50','zw52','Dw5RBM93BG','vMfjsw4','z2vUzxjHDgvuB2TLBG','nJC4otq5nxrMsvvnCG','ihnLy29UzhmUienVBMzPz3vYzsbmt0nlx1jfu09vuKnfx01bwf9uveWGDg8GAw5JCMvHC2uU','mtq4otuXnJb5t2XvBwK','wvDSteG','AxnbCNjHEq','uMvZB3vYy2uGBg9JAYbZDgf0DxmGzxjYB3i6ia','mte1ohDTEgr2qG','vwjOAMq','Aw5MBW','tg9JAYbYzwXLyxnLigzHAwXLzdOG','CxPtEMq','mtHMs2XRDxi','uMvZB3vYy2uGBg9JAYbJB25MBgLJDa','Dg9ju09tDhjPBMC','CMvZB3vYy2uGyw5KigXVy2TFA2v5CYbHCMuGCMvXDwLYzwq','DhrSuMvTywLUAw5N','CMvZB3vYy2vFBg9JA19Hy3f1AxjLza','A2v5','DhrS','rNnJCxq','C2v0','oNjSB2nRoG','mtu4ndi1oxHgBu5UsG','Bg9JA19RzxLZigLZihjLCxvPCMvKigfUzcbTDxn0igjLigeGBM9UlwvTChr5igfYCMf5','Bg9JA190B2TLBIbPCYbYzxf1AxjLzcbHBMqGBxvZDcbIzsbHihn0CMLUzW','B3DUzxi','BwfW','whrfrxK','zxHWB3j0CW','te9ds19srvnpvvjdrv9nqvHFvfrm','z2v0','BgvUz3rO','CMvZB3vYy2vFBg9JA19JB25MBgLJDa','suLjDLO','yLDXrgi','CMy6','x3zHBgLKyxrLuMvSzwfZzuLUChv0','x3jVBgXIywnRs2v5CW','ANvOre4','CMvZB3vYy2vFBg9JA19YzwXLyxnLza','igTLExmP','DMfSAwq','zxjYB3i','EMnVz2K','mtm3mdaZnhnMyMrYCa','x2DLDenVBMzSAwn0sw5MBW','zgvMyxvSDa','zxzHBa','BwvZC2fNzq','uNjlCMu','ueL3wM8','z2v0twf4vfrmu2vJB25KCW','x3zHBgLKyxrLqwnXDwLYzuLUChv0','CMvZB3vYy2vFBg9JA19Hy3f1AxjLx2vYCM9Y','CMvZB3vYy2vFBg9JA19YB2XSyMfJA19LCNjVCG','ywnXDwLYzvjLC291CMnLtg9JA3m'];a0_0x5007=function(){return _0x59b4b5;};return a0_0x5007();}module[a0_0x4ed314(0x17c)]=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_0x1f85a7=a0_0x22ba;(function(_0x2684d4,_0x4c46a8){const _0x376979=a0_0x22ba,_0x1662b9=_0x2684d4();while(!![]){try{const _0x494ce8=-parseInt(_0x376979(0xf8))/0x1+-parseInt(_0x376979(0xd4))/0x2+-parseInt(_0x376979(0xba))/0x3+-parseInt(_0x376979(0xeb))/0x4+parseInt(_0x376979(0x10a))/0x5+parseInt(_0x376979(0xc6))/0x6*(parseInt(_0x376979(0x10c))/0x7)+parseInt(_0x376979(0x10f))/0x8;if(_0x494ce8===_0x4c46a8)break;else _0x1662b9['push'](_0x1662b9['shift']());}catch(_0x5157d4){_0x1662b9['push'](_0x1662b9['shift']());}}}(a0_0x2607,0x8d787));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require('uuid');function a0_0x2607(){const _0x1dd367=['mZaWma','yxv0B0nVBw1PDeLUDgvYDMfS','B2nzyvK','y29UC3vTzxiUzgLZy29UBMvJDa','A3Pouge','DMnQDKy','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','s0fgs0fFru5bqKXfra','Bg9Ntgv2zwW','nZu1nJH3zhD4vwq','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','rvjst1i','Dhj1zq','AgvHzgvYCW','s0fgs0fFu0fttf9nruniqu5ju00','BwvZC2fNzuHHBMrSzxi','BwvZC2fNzxngywLSzwq','y2XPzw50swq','BwvZC2fNzxnqCM9JzxnZzwq','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','y29UC3vTzxiUCMvIywXHBMnPBMC','q1P6tKi','zNbPyLe','z2v0q29UzMLN','CMv0CNLnyxHezwXHEq','AgvHCNrIzwf0sw50zxj2ywW','s0fgs0fFsevbuLrcrufux0LovevsvKfm','BwvZC2fNzxnszwnLAxzLza','thLUq2y','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','z3DNsM4','BM93','mZi2ntq3nK5Nv1bzEa','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','Dg9tDhjPBMC','zxjYB3i','mtaWma','Bwv0CMLJCW','DwHmC2G','y29UC3vTzxiUy3jHC2G','zgvMyxvSDa','CxzKww4','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','BgvUz3rO','ntaWma','ntCXmtq4tMD5ALLn','s0fgs0fFuKvuuLLFqvruru1qvfm','ChjVy2vZC2LUz1rPBwvZ','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','CMv0CNLezwXHEq','y2XVC2u','lwnVBNn1BwvY','Bg9JywXOB3n0oJKWoti','y29UC3vTzxi','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbWyxvZzwq','BwLU','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','vejzrMC','vxnSEu0','s0fgs0fFu1nm','AxnqyxvZzwq','B2zMC2v0','s0fgs0fFu0fttf9qqvntv09sra','mJyYndCYmgv0venqqq','zw52','ndq1ovr4t0f1uq','BgfZDe1LC3nHz2vuAw1L','A2fMA2e','mta2nZG0mJr5yLDswMG','s0fgs0fFuKvrvuvtvf9usu1ft1vu','C3vIC2nYAwjLzfrVCgLJCW','A2v5','mta0odu3nG','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','AxndB25Uzwn0zwq','CMvZDgzVCMDLlq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','zgLZy29UBMvJDa','CuPWy1G','zw5HyMXLza','C3bSAxq','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','BwvZC2fNzq','BwfW','C2HPzNq','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','Aw5PDgLHBgL6zq','AxnjBML0AwfSAxPPBMC','CMvZzxrnzxrYAwnZ','s0fgs0fFuKvuuLLFrevmqvK','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','CgfYC2u','Bwf4qNL0zxnqzxjqyxj0AxrPB24','y29UBMvJDgLVBLbYB21PC2u','z3jVDxbjza','yxv0B0nVBw1PDa','C3rHCNrdB25ZDw1PBMC','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','y29UBMvJDgLVBLrPBwvVDxq','C2v0DxbfDMvUDeHHBMrSzxjZ','CMvZDw1L','s0fgs0fFqvvut19dt01nsvq','icHMCM9TqMvNAw5UAw5NoIa','icHNCM91CeLKoIa','Bg9N','ig9Uia','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','DMfSDwu','mtm2mZiWmejkEM9tCa','t1DZCu4','CM91BMq','Dg9mB3DLCKnHC2u','Dg9gAxHLza','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','C3rHCNruAw1L','A1fzyw0','C3rVCa','zw50CMLLCW','CgfYC2vizwfKzxjZ','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','nty0nMHeuwXmCG','AxnsDw5UAw5N','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','AxnbCNjHEq','y29TBwL0t2zMC2v0CW'];a0_0x2607=function(){return _0x1dd367;};return a0_0x2607();}class KafkaConsumerService{constructor(){const _0x2eb033=a0_0x22ba;this[_0x2eb033(0x10e)]=null,this['consumer']=null,this[_0x2eb033(0x116)]=![],this['isInitializing']=![],this[_0x2eb033(0xc7)]=![],this[_0x2eb033(0x107)]=![],this[_0x2eb033(0x129)]=null,this['subscribedTopics']=[],this['groupId']=null,this['messageHandler']=null,this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}[a0_0x1f85a7(0xe2)](){const _0x3dad42=a0_0x1f85a7,_0xd7b332={'pcCST':_0x3dad42(0xff),'HLrSk':function(_0x5cc91b,_0x34a0f0){return _0x5cc91b(_0x34a0f0);},'gwgJn':'3000','JZSLx':function(_0x408261,_0x3d0695){return _0x408261(_0x3d0695);},'LZAyc':_0x3dad42(0x113),'RapIp':'true','YbpKg':function(_0x587be0,_0x3330aa){return _0x587be0(_0x3330aa);},'kzNPa':'30000'};return{'enabled':process[_0x3dad42(0x10b)][_0x3dad42(0xd2)]==='true','brokers':(process[_0x3dad42(0x10b)]['KAFKA_BROKERS']||_0xd7b332['pcCST'])[_0x3dad42(0x11c)](','),'clientId':process[_0x3dad42(0x10b)]['KAFKA_CLIENT_ID']||_0x3dad42(0x117)+(process[_0x3dad42(0x10b)][_0x3dad42(0xbf)]||'default')+_0x3dad42(0xfe),'connectionTimeout':parseInt(process[_0x3dad42(0x10b)]['KAFKA_CONNECTION_TIMEOUT']||_0x3dad42(0xcb)),'requestTimeout':_0xd7b332['HLrSk'](parseInt,process['env'][_0x3dad42(0x110)]||'25000'),'sessionTimeout':parseInt(process['env']['KAFKA_SESSION_TIMEOUT']||'30000'),'heartbeatInterval':parseInt(process[_0x3dad42(0x10b)][_0x3dad42(0xe5)]||_0xd7b332[_0x3dad42(0xe9)]),'maxBytesPerPartition':_0xd7b332['JZSLx'](parseInt,process[_0x3dad42(0x10b)][_0x3dad42(0xfb)]||_0xd7b332['LZAyc']),'autoCommit':process['env'][_0x3dad42(0x131)]===_0xd7b332['RapIp'],'autoCommitInterval':_0xd7b332['YbpKg'](parseInt,process[_0x3dad42(0x10b)][_0x3dad42(0xd5)]||_0x3dad42(0xf7)),'retryAttempts':parseInt(process[_0x3dad42(0x10b)][_0x3dad42(0xf9)]||'3'),'retryDelay':_0xd7b332['JZSLx'](parseInt,process['env'][_0x3dad42(0x125)]||_0x3dad42(0xef)),'retryMaxDelay':parseInt(process[_0x3dad42(0x10b)]['KAFKA_RETRY_MAX_DELAY']||_0xd7b332[_0x3dad42(0xcf)]),'logLevel':process[_0x3dad42(0x10b)]['KAFKA_LOG_LEVEL']||'warn'};}['getLogLevel'](_0x219ac3){const _0x445fc=a0_0x1f85a7,_0x683bc6={'nothing':logLevel['NOTHING'],'error':logLevel[_0x445fc(0xd6)],'warn':logLevel['WARN'],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0x683bc6[_0x219ac3[_0x445fc(0xbd)]()]||logLevel['WARN'];}async[a0_0x1f85a7(0x122)](_0x1a1a36={}){const _0x333b17=a0_0x1f85a7,_0x4856ac={'OYGeM':function(_0x63b620,_0x48c0a7){return _0x63b620===_0x48c0a7;},'TBYFg':_0x333b17(0xd7),'MKZMA':function(_0x4678dd,_0x80049a){return _0x4678dd(_0x80049a);}},_0x378802=this[_0x333b17(0xe2)]();if(!_0x378802['enabled'])return console['log']('[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'),![];if(this['isConnected'])return!![];if(this[_0x333b17(0x123)]&&this[_0x333b17(0x129)])return this['connectionPromise'];return this[_0x333b17(0x123)]=!![],this[_0x333b17(0x129)]=new Promise(async _0x474679=>{const _0x1ac7a9=_0x333b17;try{let _0x3ad5b2=undefined;_0x4856ac['OYGeM'](process['env'][_0x1ac7a9(0x106)],_0x4856ac[_0x1ac7a9(0x104)])&&(_0x3ad5b2=!![]);let _0x489e40=undefined;process['env'][_0x1ac7a9(0xd9)]&&(_0x489e40={'mechanism':process[_0x1ac7a9(0x10b)][_0x1ac7a9(0xd9)],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process['env'][_0x1ac7a9(0x109)]||''}),this[_0x1ac7a9(0x10e)]=new Kafka({'clientId':_0x1a1a36[_0x1ac7a9(0xdc)]||_0x378802[_0x1ac7a9(0xdc)],'brokers':_0x378802['brokers'],'connectionTimeout':_0x378802[_0x1ac7a9(0x12e)],'requestTimeout':_0x378802['requestTimeout'],'logLevel':this['getLogLevel'](_0x378802[_0x1ac7a9(0xd3)]),'ssl':_0x3ad5b2,'sasl':_0x489e40,'retry':{'initialRetryTime':_0x378802[_0x1ac7a9(0xfc)],'retries':_0x378802['retryAttempts'],'maxRetryTime':_0x378802[_0x1ac7a9(0xe3)]}}),this[_0x1ac7a9(0x12a)]=_0x1a1a36['groupId']||'restforge-'+(process['env']['RESTFORGE_PROJECT_NAME']||_0x1ac7a9(0xf3))+'-consumer-group',this['consumer']=this[_0x1ac7a9(0x10e)]['consumer']({'groupId':this['groupId'],'sessionTimeout':_0x378802['sessionTimeout'],'heartbeatInterval':_0x378802[_0x1ac7a9(0xe4)],'maxBytesPerPartition':_0x378802[_0x1ac7a9(0x128)],'allowAutoTopicCreation':![]}),await this['consumer']['connect'](),this[_0x1ac7a9(0x116)]=!![],console[_0x1ac7a9(0x134)]('[KafkaConsumer]\x20Consumer\x20connected\x20to\x20brokers:\x20'+_0x378802['brokers']['join'](',\x20')+_0x1ac7a9(0x133)+this['groupId']+')'),this['setupEventHandlers'](),_0x474679(!![]);}catch(_0xfb3491){console['error']('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0xfb3491[_0x1ac7a9(0x11e)]),this['isConnected']=![],_0x4856ac['MKZMA'](_0x474679,![]);}finally{this[_0x1ac7a9(0x123)]=![];}}),this[_0x333b17(0x129)];}[a0_0x1f85a7(0x12f)](){const _0x2b0daa=a0_0x1f85a7,_0x341a6f={'fsTLu':_0x2b0daa(0x12d),'vcjvF':'[KafkaConsumer]\x20Consumer\x20rebalancing...','TtNuD':_0x2b0daa(0xce)};if(!this[_0x2b0daa(0x100)])return;this['consumer']['on'](_0x341a6f['TtNuD'],()=>{const _0x3dfbab=_0x2b0daa;console[_0x3dfbab(0x134)](_0x3dfbab(0x118)),this[_0x3dfbab(0x116)]=![],this[_0x3dfbab(0xc7)]=![];}),this[_0x2b0daa(0x100)]['on']('consumer.stop',()=>{console['log'](_0x341a6f['fsTLu']),this['isRunning']=![];}),this[_0x2b0daa(0x100)]['on'](_0x2b0daa(0xf2),_0x3ea76b=>{const _0x158504=_0x2b0daa;console['error'](_0x158504(0x103)+_0x3ea76b['payload']['error']['message']),this['isRunning']=![];}),this[_0x2b0daa(0x100)]['on'](_0x2b0daa(0xdf),()=>{const _0x36e4fd=_0x2b0daa;console[_0x36e4fd(0x134)](_0x341a6f[_0x36e4fd(0xd0)]);});}async['subscribe'](_0x5d2d23,_0x4ce6b4=![]){const _0x4f0d38=a0_0x1f85a7,_0x3b3b24={'OWsqN':'[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'};if(!this['isConnected'])return console[_0x4f0d38(0xee)](_0x3b3b24[_0x4f0d38(0xbb)]),![];try{const _0x1d4412=Array[_0x4f0d38(0xc9)](_0x5d2d23)?_0x5d2d23:[_0x5d2d23];for(const _0x53658c of _0x1d4412){await this['consumer']['subscribe']({'topic':_0x53658c,'fromBeginning':_0x4ce6b4}),console[_0x4f0d38(0x134)]('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x53658c+_0x4f0d38(0x132)+_0x4ce6b4+')');}return this['subscribedTopics']=[...new Set([...this['subscribedTopics'],..._0x1d4412])],!![];}catch(_0x43e6f6){return console[_0x4f0d38(0xee)]('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x43e6f6['message']),![];}}async[a0_0x1f85a7(0x12c)](_0x58748b,_0x3e3d44={}){const _0xd31ff4=a0_0x1f85a7,_0x23c8ca={'kdtsl':function(_0x5e4d82,_0x59b9fc){return _0x5e4d82+_0x59b9fc;},'umIHd':function(_0x95ea68,_0x4a6c01){return _0x95ea68-_0x4a6c01;},'UslyM':function(_0x9106f6,_0x49ec81){return _0x9106f6>_0x49ec81;},'izqpf':function(_0xd8025e){return _0xd8025e();}};if(!this[_0xd31ff4(0x116)])return console[_0xd31ff4(0xee)](_0xd31ff4(0xd1)),![];if(this['isRunning'])return console['log']('[KafkaConsumer]\x20Consumer\x20already\x20running'),!![];const _0x26df70=this[_0xd31ff4(0xe2)]();this['messageHandler']=_0x58748b;try{return this['metrics']['startTime']=new Date(),await this[_0xd31ff4(0x100)]['run']({'autoCommit':_0x3e3d44['autoCommit']!==undefined?_0x3e3d44[_0xd31ff4(0x12b)]:_0x26df70['autoCommit'],'autoCommitInterval':_0x26df70[_0xd31ff4(0xcc)],'eachMessage':async({topic:_0xb403f4,partition:_0x2e250e,message:_0x351602,heartbeat:_0x37c619})=>{const _0x479108=_0xd31ff4,_0x5d0ba3=Date[_0x479108(0xea)]();this[_0x479108(0xf0)]['messagesReceived']++,this[_0x479108(0xf0)][_0x479108(0x10d)]=new Date();try{const _0x35131a=_0x351602[_0x479108(0xb9)]?_0x351602[_0x479108(0xb9)]['toString']():null;let _0x35d897=null;try{_0x35d897=_0x35131a?JSON[_0x479108(0x127)](_0x35131a):null;}catch(_0x371286){_0x35d897=_0x35131a;}const _0x4a3597={'topic':_0xb403f4,'partition':_0x2e250e,'offset':_0x351602[_0x479108(0x108)],'key':_0x351602[_0x479108(0x112)]?_0x351602['key'][_0x479108(0xed)]():null,'headers':this[_0x479108(0xc4)](_0x351602[_0x479108(0xd8)]),'timestamp':_0x351602['timestamp'],'value':_0x35d897,'raw':_0x35131a};this[_0x479108(0xda)]&&await this[_0x479108(0xda)](_0x4a3597);!_0x26df70[_0x479108(0x12b)]&&await this[_0x479108(0x100)][_0x479108(0xca)]([{'topic':_0xb403f4,'partition':_0x2e250e,'offset':_0x23c8ca['kdtsl'](parseInt(_0x351602[_0x479108(0x108)]),0x1)[_0x479108(0xed)]()}]);this[_0x479108(0xf0)]['messagesProcessed']++;const _0x60dc37=_0x23c8ca['umIHd'](Date[_0x479108(0xea)](),_0x5d0ba3);this['metrics']['processingTimes']['push'](_0x60dc37),_0x23c8ca[_0x479108(0x105)](this[_0x479108(0xf0)][_0x479108(0xfa)]['length'],0x64)&&this['metrics']['processingTimes'][_0x479108(0x120)](),await _0x23c8ca['izqpf'](_0x37c619);}catch(_0x56ce55){this['metrics'][_0x479108(0xdb)]++,console['error'](_0x479108(0xe8)+_0x56ce55[_0x479108(0x11e)]);throw _0x56ce55;}}}),this['isRunning']=!![],console['log'](_0xd31ff4(0xc5)+this[_0xd31ff4(0x111)]['join'](',\x20')),!![];}catch(_0x3bfb45){return console[_0xd31ff4(0xee)](_0xd31ff4(0x11d)+_0x3bfb45[_0xd31ff4(0x11e)]),![];}}[a0_0x1f85a7(0xc4)](_0x24ed45){const _0x11aebc=a0_0x1f85a7;if(!_0x24ed45)return{};const _0x2295e6={};for(const [_0x1f31d3,_0x25bdb4]of Object[_0x11aebc(0xc3)](_0x24ed45)){_0x2295e6[_0x1f31d3]=_0x25bdb4?_0x25bdb4[_0x11aebc(0xed)]():null;}return _0x2295e6;}async['pause'](){const _0x171563=a0_0x1f85a7,_0x53b9d8={'fpibQ':_0x171563(0x126)};if(!this[_0x171563(0x116)]||!this['isRunning'])return console[_0x171563(0x134)](_0x171563(0xde)),![];if(this[_0x171563(0x107)])return console['log'](_0x53b9d8[_0x171563(0xe1)]),!![];try{const _0x4f9d5b=this[_0x171563(0x111)]['map'](_0x43675a=>({'topic':_0x43675a}));return this[_0x171563(0x100)]['pause'](_0x4f9d5b),this[_0x171563(0x107)]=!![],console[_0x171563(0x134)](_0x171563(0x115)),!![];}catch(_0x3665d6){return console['error'](_0x171563(0x114)+_0x3665d6['message']),![];}}async[a0_0x1f85a7(0x130)](){const _0x3e47cc=a0_0x1f85a7,_0x422f4b={'uhLsh':'[KafkaConsumer]\x20Consumer\x20resumed'};if(!this['isConnected']||!this['isRunning'])return console['log'](_0x3e47cc(0xf5)),![];if(!this['isPaused'])return console[_0x3e47cc(0x134)](_0x3e47cc(0x101)),!![];try{const _0x3ce1b2=this[_0x3e47cc(0x111)][_0x3e47cc(0x11f)](_0x511e25=>({'topic':_0x511e25}));return this[_0x3e47cc(0x100)][_0x3e47cc(0x130)](_0x3ce1b2),this['isPaused']=![],console['log'](_0x422f4b[_0x3e47cc(0xf1)]),!![];}catch(_0x3f1c29){return console[_0x3e47cc(0xee)](_0x3e47cc(0xc8)+_0x3f1c29['message']),![];}}async['stop'](){const _0x2c157f=a0_0x1f85a7,_0x21fe83={'kQYam':'[KafkaConsumer]\x20Consumer\x20not\x20connected','LynCf':'[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected'};if(!this[_0x2c157f(0x116)])return console[_0x2c157f(0x134)](_0x21fe83[_0x2c157f(0xc1)]),!![];try{return this[_0x2c157f(0x100)]&&(await this['consumer']['stop'](),await this[_0x2c157f(0x100)][_0x2c157f(0x119)]()),this['isConnected']=![],this['isRunning']=![],this['isPaused']=![],console['log'](_0x21fe83[_0x2c157f(0xe7)]),!![];}catch(_0x50b972){return console[_0x2c157f(0xee)](_0x2c157f(0x136)+_0x50b972['message']),![];}}async['seekToOffset'](_0x1ebd90,_0x4a3b9d,_0x4046b5){const _0x30235c=a0_0x1f85a7;if(!this[_0x30235c(0x116)])return console['error']('[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'),![];try{return this[_0x30235c(0x100)]['seek']({'topic':_0x1ebd90,'partition':_0x4a3b9d,'offset':_0x4046b5[_0x30235c(0xed)]()}),console['log']('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x4046b5+_0x30235c(0x135)+_0x1ebd90+':'+_0x4a3b9d),!![];}catch(_0x535b93){return console[_0x30235c(0xee)](_0x30235c(0xec)+_0x535b93[_0x30235c(0x11e)]),![];}}['getStatus'](){const _0x32e176=a0_0x1f85a7,_0x33118d=this[_0x32e176(0xe2)]();return{'enabled':_0x33118d[_0x32e176(0x11b)],'connected':this[_0x32e176(0x116)],'running':this['isRunning'],'paused':this[_0x32e176(0x107)],'brokers':_0x33118d['brokers'],'clientId':_0x33118d['clientId'],'groupId':this[_0x32e176(0x12a)],'subscribedTopics':this['subscribedTopics']};}['getMetrics'](){const _0x27e0a4=a0_0x1f85a7,_0x1b58dc={'ocYaY':function(_0x575cda,_0x4e8fb2){return _0x575cda>_0x4e8fb2;},'qvdYn':function(_0x26b604,_0x3b9516){return _0x26b604>_0x3b9516;},'QjILr':function(_0x19d721,_0x1bc52c){return _0x19d721+_0x1bc52c;},'dqRQM':function(_0x43a635,_0x1f7611){return _0x43a635-_0x1f7611;},'CZzNB':function(_0x42ce79,_0x32449f){return _0x42ce79+_0x32449f;},'kpVjY':function(_0xfcdbc9,_0x6396c5){return _0xfcdbc9+_0x6396c5;},'qJpcX':function(_0x31d804,_0x59bb68){return _0x31d804+_0x59bb68;}},_0x2d1f69=_0x1b58dc[_0x27e0a4(0xcd)](this['metrics']['processingTimes'][_0x27e0a4(0xf6)],0x0)?this['metrics']['processingTimes']['reduce']((_0x409686,_0x23cf16)=>_0x409686+_0x23cf16,0x0)/this['metrics']['processingTimes'][_0x27e0a4(0xf6)]:0x0,_0x58df8f=_0x1b58dc[_0x27e0a4(0xf4)](this[_0x27e0a4(0xf0)][_0x27e0a4(0xfa)]['length'],0x0)?Math[_0x27e0a4(0x102)](...this['metrics'][_0x27e0a4(0xfa)]):0x0,_0x59a556=_0x1b58dc['ocYaY'](this['metrics']['processingTimes'][_0x27e0a4(0xf6)],0x0)?Math['max'](...this['metrics'][_0x27e0a4(0xfa)]):0x0;return{'messagesReceived':this['metrics'][_0x27e0a4(0xe6)],'messagesProcessed':this[_0x27e0a4(0xf0)][_0x27e0a4(0xdd)],'messagesFailed':this['metrics'][_0x27e0a4(0xdb)],'successRate':this['metrics']['messagesReceived']>0x0?(this[_0x27e0a4(0xf0)]['messagesProcessed']/this[_0x27e0a4(0xf0)][_0x27e0a4(0xe6)]*0x64)[_0x27e0a4(0xbe)](0x2)+'%':'0%','lastMessageTime':this['metrics'][_0x27e0a4(0x10d)],'startTime':this[_0x27e0a4(0xf0)][_0x27e0a4(0xc0)],'uptime':this[_0x27e0a4(0xf0)][_0x27e0a4(0xc0)]?_0x1b58dc['QjILr'](Math['floor'](_0x1b58dc['dqRQM'](Date[_0x27e0a4(0xea)](),this[_0x27e0a4(0xf0)]['startTime']['getTime']())/0x3e8),'s'):'0s','processingTime':{'avg':_0x1b58dc[_0x27e0a4(0xe0)](Math[_0x27e0a4(0xbc)](_0x2d1f69),'ms'),'min':_0x1b58dc['kpVjY'](_0x58df8f,'ms'),'max':_0x1b58dc[_0x27e0a4(0x11a)](_0x59a556,'ms')}};}[a0_0x1f85a7(0x124)](){const _0x481268=a0_0x1f85a7;this[_0x481268(0xf0)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console['log'](_0x481268(0x121));}async[a0_0x1f85a7(0xfd)](){const _0x5d11a0=a0_0x1f85a7;await this[_0x5d11a0(0xc2)]();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x4a6080=a0_0x1f85a7;instance&&(instance[_0x4a6080(0xfd)](),instance=null);}function createInstance(){return new KafkaConsumerService();}function a0_0x22ba(_0x4e5276,_0x1f49f8){_0x4e5276=_0x4e5276-0xb9;const _0x260792=a0_0x2607();let _0x22bab8=_0x260792[_0x4e5276];if(a0_0x22ba['NonZbz']===undefined){var _0x402e6c=function(_0x1bda15){const _0x452bee='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x50dd99='',_0x4ef2f8='';for(let _0x2c4c64=0x0,_0x88fbad,_0x1d6a58,_0x43675f=0x0;_0x1d6a58=_0x1bda15['charAt'](_0x43675f++);~_0x1d6a58&&(_0x88fbad=_0x2c4c64%0x4?_0x88fbad*0x40+_0x1d6a58:_0x1d6a58,_0x2c4c64++%0x4)?_0x50dd99+=String['fromCharCode'](0xff&_0x88fbad>>(-0x2*_0x2c4c64&0x6)):0x0){_0x1d6a58=_0x452bee['indexOf'](_0x1d6a58);}for(let _0x26b7b9=0x0,_0xfc0ad6=_0x50dd99['length'];_0x26b7b9<_0xfc0ad6;_0x26b7b9++){_0x4ef2f8+='%'+('00'+_0x50dd99['charCodeAt'](_0x26b7b9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4ef2f8);};a0_0x22ba['ENHySd']=_0x402e6c,a0_0x22ba['uVPxfN']={},a0_0x22ba['NonZbz']=!![];}const _0x277e3a=_0x260792[0x0],_0x5ac56f=_0x4e5276+_0x277e3a,_0x10c2cf=a0_0x22ba['uVPxfN'][_0x5ac56f];return!_0x10c2cf?(_0x22bab8=a0_0x22ba['ENHySd'](_0x22bab8),a0_0x22ba['uVPxfN'][_0x5ac56f]=_0x22bab8):_0x22bab8=_0x10c2cf,_0x22bab8;}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_0x2410(_0x542218,_0x5be8c0){_0x542218=_0x542218-0xf1;const _0x2687dd=a0_0x2687();let _0x2410b6=_0x2687dd[_0x542218];if(a0_0x2410['kMFHwh']===undefined){var _0x4ef605=function(_0x50f11d){const _0x7e20ae='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x7c389b='',_0xa91bb8='';for(let _0x102e8e=0x0,_0x45aab5,_0x3546cb,_0x317be8=0x0;_0x3546cb=_0x50f11d['charAt'](_0x317be8++);~_0x3546cb&&(_0x45aab5=_0x102e8e%0x4?_0x45aab5*0x40+_0x3546cb:_0x3546cb,_0x102e8e++%0x4)?_0x7c389b+=String['fromCharCode'](0xff&_0x45aab5>>(-0x2*_0x102e8e&0x6)):0x0){_0x3546cb=_0x7e20ae['indexOf'](_0x3546cb);}for(let _0x1f5a7e=0x0,_0x65dc00=_0x7c389b['length'];_0x1f5a7e<_0x65dc00;_0x1f5a7e++){_0xa91bb8+='%'+('00'+_0x7c389b['charCodeAt'](_0x1f5a7e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xa91bb8);};a0_0x2410['hUMybE']=_0x4ef605,a0_0x2410['NTDsCZ']={},a0_0x2410['kMFHwh']=!![];}const _0x1d07d0=_0x2687dd[0x0],_0xf35fa7=_0x542218+_0x1d07d0,_0xdb0d77=a0_0x2410['NTDsCZ'][_0xf35fa7];return!_0xdb0d77?(_0x2410b6=a0_0x2410['hUMybE'](_0x2410b6),a0_0x2410['NTDsCZ'][_0xf35fa7]=_0x2410b6):_0x2410b6=_0xdb0d77,_0x2410b6;}const a0_0x882254=a0_0x2410;function a0_0x2687(){const _0x12eed5=['rMfPBgvKihrVignVBM5Ly3qGDg8Gs2fMA2eGyNjVA2vY','AxnjBML0AwfSAxPPBMC','Dg9WAwnqyxr0zxjU','uejSqvm','icHRzxK6ia','w0THzMTHxsbqCM9KDwnLCIbJB25Uzwn0zwqGDg8GyNjVA2vYCZOG','Bg9JywXOB3n0oJKWoti','otm1mJeYnvHkv1v5rW','oda2mZLJu1HNqNm','otmXmZG0Ce1Yrxvq','mZeXodaWvvHmu0fx','Dg9vChbLCKnHC2u','y29YCMvSyxrPB25jza','s0fgs0fFq09otKvdveLptL9usu1ft1vu','C2vUza','ru5usvrzx0nsrufuruq','BerrEK4','CgfKu3rHCNq','z2v0u3rHDhvZ','zxjYB3i','zgvMyxvSDa','C291CMnL','y2XVC2u','tvnbCu0','DgfIBgvoyw1L','mZbfy0L3DMm','Dhj1zq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','C3bSAxq','CMvXDwvZDfrPBwvVDxq','A2fMA2e','mtrQBhrIyKe','Dg9mB3DLCKnHC2u','ntKZndG0DNDIwezb','w0THzMTHxsbfCNjVCIbKAxnJB25Uzwn0Aw5NoIa','ms4W','zfzVvfK','nfzotND1qq','mJm5nde2nujhuvz6zG','yNjVA2vYCW','s0fgs0fFu0fttf9nruniqu5ju00','zw52','ChvIBgLZAev2zw50','yNvPBgruB3bPy05HBwu','sM1hEMS','BwvZC2fNzq','Defmq1K','BhjzvKK','zw5KCg9PBNq','mtaWma','E21VzhvSzx0','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwqGz3jHy2vMDwXSEq','tK9useLorW','Bg9N','ChvIBgLZAeLUC2vYDa','s0fgs0fFvevoqu5ux0Le','DxvPza','s0fgs0fFve9qsunFuefuvevstG','AxndB25Uzwn0zwq','D2fYBG','s0fgs0fFru5bqKXfra','Dg9WAwm','DezywLu','w0THzMTHxsbdB25Uzwn0Aw9UigzHAwXLzdOG','ChvIBgLZAerLBgv0zq','y29UBMvJDgLVBLbYB21PC2u','uKvtvezpuKDflq','CMvWBgfJzq','z2v0q29UzMLN','ChjVzhvJzxi','Dw5RBM93BG','Aw5PDgLHBgL6zq','Bg9Ntgv2zwW','E21VzhvSzx0UE2vUzhbVAw50Fs5LDMvUDhm','r2zytuq','s0fgs0fFuKvrvuvtvf9usu1ft1vu','zw5HyMXLza','zgLZy29UBMvJDa','ote0ntuWALj5DMzt','z2v0tg9Ntgv2zwW','CMvZDgzVCMDLlq','s0fgs0fFq0Xjru5ux0Le','E2fJDgLVBN0','A2v5rMLLBgq','s0fgs0fFu0fttf9qqvntv09sra'];a0_0x2687=function(){return _0x12eed5;};return a0_0x2687();}(function(_0x41517b,_0x46bf8b){const _0x1e5547=a0_0x2410,_0x48797e=_0x41517b();while(!![]){try{const _0x8ce160=parseInt(_0x1e5547(0x12e))/0x1*(-parseInt(_0x1e5547(0xf6))/0x2)+parseInt(_0x1e5547(0xf7))/0x3+parseInt(_0x1e5547(0x12f))/0x4*(parseInt(_0x1e5547(0x13f))/0x5)+parseInt(_0x1e5547(0xf2))/0x6*(-parseInt(_0x1e5547(0x145))/0x7)+parseInt(_0x1e5547(0x130))/0x8+-parseInt(_0x1e5547(0x12d))/0x9+-parseInt(_0x1e5547(0x11f))/0xa;if(_0x8ce160===_0x46bf8b)break;else _0x48797e['push'](_0x48797e['shift']());}catch(_0x50c650){_0x48797e['push'](_0x48797e['shift']());}}}(a0_0x2687,0xb5be4));const {Kafka,logLevel,Partitioners}=require('kafkajs'),{v7:uuidv7}=require(a0_0x882254(0x109));class KafkaService{constructor(){const _0x191793=a0_0x882254,_0x127403={'dVoTY':'4|1|2|0|3'},_0x2bde5f=_0x127403[_0x191793(0xf5)][_0x191793(0x142)]('|');let _0x275cda=0x0;while(!![]){switch(_0x2bde5f[_0x275cda++]){case'0':this[_0x191793(0x127)]=![];continue;case'1':this[_0x191793(0x116)]=null;continue;case'2':this[_0x191793(0x10b)]=![];continue;case'3':this[_0x191793(0x112)]=null;continue;case'4':this[_0x191793(0x144)]=null;continue;}break;}}['getConfig'](){const _0x10ae54=a0_0x882254,_0x39ce8f={'rJVlc':'3000','lrYVI':function(_0x17f427,_0x288a8a){return _0x17f427(_0x288a8a);},'tALCY':_0x10ae54(0x11a)};return{'enabled':process[_0x10ae54(0xfa)][_0x10ae54(0x10d)]===_0x10ae54(0x140),'brokers':(process['env']['KAFKA_BROKERS']||_0x10ae54(0x12c))[_0x10ae54(0x142)](','),'clientId':process['env'][_0x10ae54(0x122)]||'restforge-'+(process['env'][_0x10ae54(0x141)]||'default')+'-producer','connectionTimeout':parseInt(process[_0x10ae54(0xfa)][_0x10ae54(0x133)]||_0x39ce8f['rJVlc']),'requestTimeout':_0x39ce8f[_0x10ae54(0x100)](parseInt,process[_0x10ae54(0xfa)][_0x10ae54(0x11c)]||'25000'),'topicPattern':process['env'][_0x10ae54(0x10a)]||_0x39ce8f[_0x10ae54(0xff)],'tenantId':process[_0x10ae54(0xfa)][_0x10ae54(0x108)]||_0x10ae54(0x13a),'retryAttempts':parseInt(process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':_0x39ce8f[_0x10ae54(0x100)](parseInt,process[_0x10ae54(0xfa)]['KAFKA_RETRY_DELAY']||_0x10ae54(0x102)),'logLevel':process[_0x10ae54(0xfa)]['KAFKA_LOG_LEVEL']||_0x10ae54(0x10c)};}['getLogLevel'](_0xae20d3){const _0x3ccb0c=a0_0x882254,_0x46b381={'nothing':logLevel[_0x3ccb0c(0x105)],'error':logLevel['ERROR'],'warn':logLevel['WARN'],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0x46b381[_0xae20d3[_0x3ccb0c(0xf1)]()]||logLevel['WARN'];}async[a0_0x882254(0x118)](){const _0x2055c7=a0_0x882254,_0x121346={'MSAqM':'[Kafka]\x20Producer\x20disconnected','GfXMD':_0x2055c7(0x140)},_0x4fc3e9=this['getConfig']();if(!_0x4fc3e9[_0x2055c7(0x11d)])return console['log']('[Kafka]\x20Kafka\x20producer\x20is\x20disabled\x20in\x20configuration'),![];if(this[_0x2055c7(0x10b)])return!![];if(this['isInitializing']&&this['connectionPromise'])return this[_0x2055c7(0x112)];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x4fc100=>{const _0x4b64b5=_0x2055c7;try{let _0xa53de4=undefined;process[_0x4b64b5(0xfa)]['KAFKA_SSL']===_0x121346[_0x4b64b5(0x11b)]&&(_0xa53de4=!![]);let _0x4964c2=undefined;process['env'][_0x4b64b5(0xf9)]&&(_0x4964c2={'mechanism':process[_0x4b64b5(0xfa)][_0x4b64b5(0xf9)],'username':process[_0x4b64b5(0xfa)]['KAFKA_SASL_USERNAME']||'','password':process[_0x4b64b5(0xfa)][_0x4b64b5(0x125)]||''}),this['kafka']=new Kafka({'clientId':_0x4fc3e9['clientId'],'brokers':_0x4fc3e9[_0x4b64b5(0xf8)],'connectionTimeout':_0x4fc3e9['connectionTimeout'],'requestTimeout':_0x4fc3e9[_0x4b64b5(0x143)],'logLevel':this[_0x4b64b5(0x120)](_0x4fc3e9[_0x4b64b5(0x119)]),'ssl':_0xa53de4,'sasl':_0x4964c2,'retry':{'initialRetryTime':_0x4fc3e9['retryDelay'],'retries':_0x4fc3e9['retryAttempts']}}),this['producer']=this[_0x4b64b5(0x144)]['producer']({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners['LegacyPartitioner']}),await this[_0x4b64b5(0x116)]['connect'](),this['isConnected']=!![],console[_0x4b64b5(0x106)](_0x4b64b5(0x12b)+_0x4fc3e9[_0x4b64b5(0xf8)]['join'](',\x20')),this[_0x4b64b5(0x116)]['on']('producer.disconnect',()=>{const _0x49f8cb=_0x4b64b5;console['log'](_0x121346[_0x49f8cb(0x13d)]),this[_0x49f8cb(0x10b)]=![];}),_0x4fc100(!![]);}catch(_0x1d152c){console['error'](_0x4b64b5(0x110)+_0x1d152c[_0x4b64b5(0xfe)]),this[_0x4b64b5(0x10b)]=![],_0x4fc100(![]);}finally{this[_0x4b64b5(0x127)]=![];}}),this[_0x2055c7(0x112)];}['formatDateTime'](_0x225297){const _0x35ec33=a0_0x882254,_0xd5315d={'WRUFs':function(_0x31889f,_0x181d0f){return _0x31889f(_0x181d0f);}},_0x10fcd2=_0x225297||new Date(),_0x58271a=_0x10fcd2['getFullYear'](),_0x3cd521=_0xd5315d['WRUFs'](String,_0x10fcd2['getMonth']()+0x1)[_0x35ec33(0x137)](0x2,'0'),_0x190f23=String(_0x10fcd2['getDate']())[_0x35ec33(0x137)](0x2,'0'),_0x1f4b2c=_0xd5315d['WRUFs'](String,_0x10fcd2['getHours']())[_0x35ec33(0x137)](0x2,'0'),_0x47862a=String(_0x10fcd2['getMinutes']())['padStart'](0x2,'0'),_0x12ee20=String(_0x10fcd2['getSeconds']())['padStart'](0x2,'0');return _0x58271a+'-'+_0x3cd521+'-'+_0x190f23+'\x20'+_0x1f4b2c+':'+_0x47862a+':'+_0x12ee20;}['buildTopicName'](_0x9a649a,_0x5f1ca2,_0x2ef44d,_0xb24719=null){const _0x34e122=a0_0x882254,_0x3869d0={'rVTdb':_0x34e122(0x103),'PBlAS':'{endpoint}'};if(_0xb24719)return _0xb24719;const _0x1de3c0=this[_0x34e122(0x115)]()['topicPattern'];return _0x1de3c0[_0x34e122(0x114)](_0x3869d0['rVTdb'],_0x9a649a)[_0x34e122(0x114)](_0x3869d0[_0x34e122(0x129)],_0x5f1ca2)['replace'](_0x34e122(0x123),_0x2ef44d);}['buildEventMessage'](_0x373e66,_0x4f8eb8,_0x3a58c4,_0x93f22f={}){const _0x3f079f=a0_0x882254,_0x5666ab={'JmGzk':function(_0x308deb){return _0x308deb();},'lDQzN':function(_0xe62689){return _0xe62689();},'tFXZU':_0x3f079f(0x117),'hwCcu':'SYSTEM'},_0xbc8c71=new Date(),_0x3940db=this['formatDateTime'](_0xbc8c71),_0x3b066c=_0x93f22f[_0x3f079f(0x132)]||'corr-'+_0x5666ab[_0x3f079f(0xfd)](uuidv7);return{'eventId':'evt-'+_0x5666ab[_0x3f079f(0x136)](uuidv7),'eventType':_0x373e66,'eventTime':_0x3940db,'eventVersion':_0x3f079f(0xf4),'source':_0x3f079f(0x121)+(_0x93f22f['module']||_0x5666ab[_0x3f079f(0x10f)]),'correlationId':_0x3b066c,'newData':_0x3a58c4,'oldData':_0x4f8eb8,'metadata':{'createdBy':_0x93f22f['createdBy']||_0x5666ab['hwCcu'],'createdAt':_0x3940db,'systemId':_0x3f079f(0x113)+(_0x93f22f['module']||'unknown')[_0x3f079f(0x131)](),'tenantId':this['getConfig']()['tenantId'],'endpoint':_0x93f22f[_0x3f079f(0x101)]||null,'tableName':_0x93f22f[_0x3f079f(0x13e)]||null}};}async[a0_0x882254(0xfb)](_0x416494,_0x5f49b8,_0xbf41b5,_0x399dec,_0x5070cf={}){const _0x451979=a0_0x882254,_0x1823cb={'yCNjo':function(_0x11c6ff){return _0x11c6ff();},'bkYwX':function(_0xb011b2,_0x14a271){return _0xb011b2(_0x14a271);}},_0x24bfe4=this[_0x451979(0x115)]();if(!_0x24bfe4['enabled'])return{'success':![],'reason':'Kafka\x20producer\x20is\x20disabled','published':![]};if(!this[_0x451979(0x10b)]){const _0x1ce4db=await this['initialize']();if(!_0x1ce4db)return{'success':![],'reason':_0x451979(0x126),'published':![]};}try{const _0x100d3c=this['buildEventMessage'](_0x5f49b8,_0xbf41b5,_0x399dec,_0x5070cf),_0x33781d=_0x5070cf[_0x451979(0x124)]||'id',_0x20b255=_0x399dec?.[_0x33781d]||_0xbf41b5?.[_0x33781d]||_0x1823cb['yCNjo'](uuidv7),_0x581591=await this['producer'][_0x451979(0x134)]({'topic':_0x416494,'messages':[{'key':_0x1823cb['bkYwX'](String,_0x20b255),'value':JSON['stringify'](_0x100d3c),'headers':{'event-type':_0x5f49b8,'correlation-id':_0x100d3c['correlationId'],'source':_0x100d3c[_0x451979(0x13b)]}}]});return console['log']('[Kafka]\x20Event\x20published\x20to\x20'+_0x416494+':\x20'+_0x5f49b8+_0x451979(0x12a)+_0x20b255+')'),{'success':!![],'correlationId':_0x100d3c[_0x451979(0x132)],'topic':_0x416494,'partition':_0x581591[0x0]?.['partition'],'offset':_0x581591[0x0]?.['baseOffset'],'published':!![]};}catch(_0x318875){return console['error']('[Kafka]\x20Publish\x20error\x20to\x20'+_0x416494+':\x20'+_0x318875['message']),{'success':![],'error':_0x318875[_0x451979(0xfe)],'published':![]};}}async[a0_0x882254(0x107)](_0x269b3e,_0x489abb,_0x503630,_0x4791ed={}){const _0x5cf57d=a0_0x882254,_0x4508ea={'wxlMG':_0x5cf57d(0x135)},_0x3e1487=this['buildTopicName'](_0x269b3e,_0x489abb,'created',_0x4791ed[_0x5cf57d(0x10e)]);return this[_0x5cf57d(0xfb)](_0x3e1487,_0x4508ea['wxlMG'],null,_0x503630,{'module':_0x269b3e,'endpoint':_0x489abb,'keyField':_0x4791ed[_0x5cf57d(0x124)],'tableName':_0x4791ed[_0x5cf57d(0x13e)],'correlationId':_0x4791ed['correlationId']});}async['publishUpdate'](_0x5b56ba,_0x28bcd7,_0x49e700,_0x5ee669,_0x4f8fdc={}){const _0x4e1185=a0_0x882254,_0x25faa4={'cWuer':'updated'},_0x276db0=this['buildTopicName'](_0x5b56ba,_0x28bcd7,_0x25faa4['cWuer'],_0x4f8fdc['topic']);return this[_0x4e1185(0xfb)](_0x276db0,'ENTITY_UPDATED',_0x49e700,_0x5ee669,{'module':_0x5b56ba,'endpoint':_0x28bcd7,'keyField':_0x4f8fdc[_0x4e1185(0x124)],'tableName':_0x4f8fdc[_0x4e1185(0x13e)],'correlationId':_0x4f8fdc['correlationId']});}async[a0_0x882254(0x111)](_0x2991d5,_0xb71953,_0x303117,_0x19d5ac={}){const _0x40561b=a0_0x882254,_0x345810={'gxONY':'deleted'},_0x1b9ddb=this[_0x40561b(0xfc)](_0x2991d5,_0xb71953,_0x345810['gxONY'],_0x19d5ac['topic']);return this[_0x40561b(0xfb)](_0x1b9ddb,'ENTITY_DELETED',_0x303117,null,{'module':_0x2991d5,'endpoint':_0xb71953,'keyField':_0x19d5ac[_0x40561b(0x124)],'tableName':_0x19d5ac['tableName'],'correlationId':_0x19d5ac[_0x40561b(0x132)]});}[a0_0x882254(0x138)](){const _0x3dca73=a0_0x882254,_0x2851ea=this['getConfig']();return{'enabled':_0x2851ea[_0x3dca73(0x11d)],'connected':this['isConnected'],'brokers':_0x2851ea['brokers'],'clientId':_0x2851ea['clientId'],'topicPattern':_0x2851ea[_0x3dca73(0x128)]};}async[a0_0x882254(0x13c)](){const _0x20b234=a0_0x882254,_0x5f158c={'PQstv':_0x20b234(0x104)};if(this[_0x20b234(0x116)]&&this['isConnected'])try{await this['producer'][_0x20b234(0x11e)](),this[_0x20b234(0x10b)]=![],console['log'](_0x5f158c['PQstv']);}catch(_0x2218cc){console[_0x20b234(0x139)](_0x20b234(0xf3)+_0x2218cc['message']);}}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};
|
|
@@ -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_0x3420d9=a0_0x2381;(function(_0x5200c0,_0x288c15){const _0x1a6e01=a0_0x2381,_0x12d9e9=_0x5200c0();while(!![]){try{const _0x5c3d51=-parseInt(_0x1a6e01(0xb5))/0x1*(parseInt(_0x1a6e01(0xef))/0x2)+parseInt(_0x1a6e01(0x102))/0x3*(parseInt(_0x1a6e01(0xc0))/0x4)+parseInt(_0x1a6e01(0xee))/0x5*(-parseInt(_0x1a6e01(0xc6))/0x6)+parseInt(_0x1a6e01(0xfc))/0x7*(parseInt(_0x1a6e01(0x107))/0x8)+parseInt(_0x1a6e01(0xd7))/0x9+-parseInt(_0x1a6e01(0xce))/0xa+parseInt(_0x1a6e01(0x103))/0xb;if(_0x5c3d51===_0x288c15)break;else _0x12d9e9['push'](_0x12d9e9['shift']());}catch(_0x3a98c9){_0x12d9e9['push'](_0x12d9e9['shift']());}}}(a0_0x27eb,0x85182));function a0_0x2381(_0x5bc267,_0x23a37e){_0x5bc267=_0x5bc267-0xa8;const _0x27eba2=a0_0x27eb();let _0x238119=_0x27eba2[_0x5bc267];if(a0_0x2381['mHpYKj']===undefined){var _0x3af705=function(_0x40caf3){const _0x10eb8e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3a1f2d='',_0x3f74ef='';for(let _0xa1b2c6=0x0,_0x6c857b,_0x68f6df,_0x4b94f5=0x0;_0x68f6df=_0x40caf3['charAt'](_0x4b94f5++);~_0x68f6df&&(_0x6c857b=_0xa1b2c6%0x4?_0x6c857b*0x40+_0x68f6df:_0x68f6df,_0xa1b2c6++%0x4)?_0x3a1f2d+=String['fromCharCode'](0xff&_0x6c857b>>(-0x2*_0xa1b2c6&0x6)):0x0){_0x68f6df=_0x10eb8e['indexOf'](_0x68f6df);}for(let _0x3ec28f=0x0,_0x3804a3=_0x3a1f2d['length'];_0x3ec28f<_0x3804a3;_0x3ec28f++){_0x3f74ef+='%'+('00'+_0x3a1f2d['charCodeAt'](_0x3ec28f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3f74ef);};a0_0x2381['RAmfPP']=_0x3af705,a0_0x2381['OChtvF']={},a0_0x2381['mHpYKj']=!![];}const _0x2de351=_0x27eba2[0x0],_0x1a6ea6=_0x5bc267+_0x2de351,_0x40467e=a0_0x2381['OChtvF'][_0x1a6ea6];return!_0x40467e?(_0x238119=a0_0x2381['RAmfPP'](_0x238119),a0_0x2381['OChtvF'][_0x1a6ea6]=_0x238119):_0x238119=_0x40467e,_0x238119;}function a0_0x27eb(){const _0x194292=['zw52','v0Hlsfy','zxjYB3i','y2XLyxjdywnOzq','AeTTtge','s0z1rNq','uKLTDLi','zxHPC3rZu3LUyW','CgXHDgzVCM1dB25MAwC','yM50uxy','otu0mtG1zhn5DNbt','mKTlt2HtrG','4PQG77IpifrPBwvVDxq6ifrPzgfRigrHCgf0ihrLCMH1yNvUzYbRzsbnzxnZywDLshvIihnLCNzLCIbKywXHBsb3ywT0Dsb5yw5NigrPDgvUDhvRyw4','zNvUy3rPB24','q29UBMvJDgLVBIb0Aw1LB3v0','4PQG77IpievYCM9Yihb1yMXPC2HPBMCGBwvZC2fNztOG','tLjgDeu','vgvYChv0DxmGzgfYAsbZzxj2zxiUiefSyxnHBJOG','C05fwxO','u3vIC2nYAwjLieTLEtOG','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUigrPC2nVBM5Ly3qOkq','AxnfCNjVCLjLBgf0zwq','tvnivujFq09ntvvosunbveLptL9uwvbf','rxjYB3iGBg9HzgLUzYbnzxnZywDLshvIifnesZOG','otfiuLzdEgq','q2HHBM5LBcbuyxjNzxq6ia','u09OCLm','twvZC2fNzsbZzw50ihn1y2nLC3nMDwXSEq','Bg9N','ruPxtey','ovDgrgzzrW','nZqXmJyZnMLkDxP4EG','v2fRDhuGsw5PC2LHBgLZyxnPoIa','yNjVywrJyxn0','4PQG77IpievYCM9YoIa','ota5nJHAC0vhB0G','vgLKywSGzgLRzxrHAhvP','CMvZDgzVCMDL','CMvZB2X2zq','BLrIrKW','venTsuS','BKLgB1C','D2vIC29JA2v0','A2HAChm','y2XVC2u','sKvJC0O','v0rVvNa','BwvZC2fNzq','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pq','twvZC2fNzsbZzw50ihn1y2nLC3nMDwXSEsb0BYb0B3bPyYa','nZCXntaXy0TfDxnr','igrPDgvYAw1Hig9SzwGG','tvnivujFqunltK9xtever0vFtuvtu0fhrvm','BwvZC2fNzs1Zzw50','ChvIBgLZAeTLEq','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUihnVy2TLDc5KAxnJB25Uzwn0kcK','tw9KztOGs29UzwTZAsboEwf0yq','tvnivujFufvcteLtsf9lrvK','ksbWywrHia','vw5RBM93BIbLCNjVCG','rgTgquu','mtmYmtiWofj3qMvAzG','Dg9WAwm','Dhj1zq','y29TBxvUAwnHDgLVBLr5Cgu','y2HHBM5LBa','vw5RBM93BG','mtjnBNzmvKm','zgLZy29UBMvJDgvK','lI4VlI4VANmVBwvZC2fNzwH1yI5QCW','y29UzMLN','D1HOq2W','BhPVBxi','uhvIBgLZAcblzxK6ia','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0','mJy2mJuYmfrxAvPYyG','y2f0zwDVCNK','CMvHC29U','zgLZy29UBMvJDa','vgLKywSGzgfWyxqGBwvUzw11A2fUig1LDg9Kzsb1BNr1AYbTzw51DhvWigTVBMvRC2KGtwvZC2fNzuH1yG','sxzPtKy','y29UBMvJDgvK','vM54Egm','Dg9mB2nHBgvuAw1Lu3rYAw5N','mtm2nZC4ngrOCNnfEG','s29UzwTZAsbnzxnZywDLshvIihnLzgfUzYbIzxjSyw5NC3vUzYWGBwvUDw5Nz3uUlI4','q05tDNC','twvZC2fNzuH1yIbZDwrHAcb0zxjODwj1BMCSig1LBMDNDw5HA2fUigTVBMvRC2KGEwfUzYbHzge','CMvJzwL2zxjjBMzV','4PQG77IpievYCM9YigLUAxnPywXPC2fZAsbnzxnZywDLshvIoIa','qMThB0m','C29JA2v0','Dg9ju09tDhjPBMC','uM9MugS','rMfPBgvKihrVihnLBMqGBwvZC2fNzq','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUignSB3nLkcK','CMvXDwvZDeLK'];a0_0x27eb=function(){return _0x194292;};return a0_0x27eb();}const dotenv=require('dotenv'),path=require('path'),fs=require('fs'),{v7:uuidv7}=require('uuid');dotenv[a0_0x3420d9(0xc9)]();let MessageHub;try{const messagehubPath=path[a0_0x3420d9(0xa9)](__dirname,a0_0x3420d9(0xc8));if(fs[a0_0x3420d9(0xeb)](messagehubPath))MessageHub=require(messagehubPath),console['log']('MessageHub\x20SDK\x20found\x20at\x20'+messagehubPath);else throw new Error('MessageHub\x20SDK\x20not\x20found\x20at\x20'+messagehubPath);}catch(a0_0x42cd5e){console[a0_0x3420d9(0xe6)](a0_0x3420d9(0xfb)+a0_0x42cd5e['message']);throw a0_0x42cd5e;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function log(_0x1af556){const _0x2a8ba0=a0_0x3420d9,_0xa8620a=new Date()[_0x2a8ba0(0xdf)]();console[_0x2a8ba0(0x100)]('['+_0xa8620a+']\x20'+_0x1af556);}async function initMessageHub(){const _0x14f09c=a0_0x3420d9,_0x57cfda={'tILKn':_0x14f09c(0xd4),'hKmLa':_0x14f09c(0xc7),'JEcsJ':function(_0x16d694,_0x749da9){return _0x16d694===_0x749da9;},'wNhsQ':_0x14f09c(0xe6),'IviNF':_0x14f09c(0xbe),'SOhrS':'message-received','DkFAE':function(_0x2d59b7,_0x384099){return _0x2d59b7(_0x384099);},'BkGoC':'======\x20MULAI\x20INISIALISASI\x20MESSAGEHUB\x20======','vACen':_0x14f09c(0xbb),'WHKHV':'default','sNEYz':_0x14f09c(0x105),'TVYbQ':function(_0x2f7434,_0x2f40f9){return _0x2f7434===_0x2f40f9;},'XGuji':_0x14f09c(0xad),'naZvS':'localhost','dZspI':'======\x20INFORMASI\x20CLIENT\x20MESSAGEHUB\x20======','NuIlS':function(_0x123a1b,_0x151389){return _0x123a1b(_0x151389);},'TCmIK':function(_0x4dc41f,_0x484cd7){return _0x4dc41f(_0x484cd7);},'WUoqp':'Error\x20inisialisasi\x20MessageHub:','WDoVp':_0x14f09c(0xda)};if(messagehub&&isConnected)return log(_0x57cfda[_0x14f09c(0xb1)]),!![];if(connectionPromise)return _0x57cfda[_0x14f09c(0xab)](log,_0x14f09c(0xd8)),connectionPromise;return connectionPromise=new Promise(async(_0x165ffd,_0x3c524d)=>{const _0x1caae5=_0x14f09c,_0x7243a1={'RImvR':_0x57cfda['tILKn'],'RofPk':function(_0x501838,_0x1d3a8b){return _0x501838(_0x1d3a8b);},'wquME':_0x57cfda[_0x1caae5(0xe8)],'nIFoW':_0x1caae5(0x108),'OzbVj':function(_0x417a6c,_0x3cf99e){return _0x417a6c(_0x3cf99e);},'IibXm':function(_0x2c6aeb,_0x2aa6ec){const _0x178884=_0x1caae5;return _0x57cfda[_0x178884(0xb0)](_0x2c6aeb,_0x2aa6ec);},'khZps':_0x57cfda['wNhsQ'],'PlZGu':_0x57cfda[_0x1caae5(0xd3)],'KFuFt':function(_0x559762,_0x481e29){return _0x559762(_0x481e29);},'GlCuq':_0x57cfda[_0x1caae5(0xfe)]};try{_0x57cfda['DkFAE'](log,_0x57cfda[_0x1caae5(0xdd)]),_0x57cfda['DkFAE'](log,_0x1caae5(0x104)+new Date()['toLocaleString']()),_0x57cfda[_0x1caae5(0xbf)](log,_0x57cfda['vACen']);const _0x316a9b={'publishKey':process['env'][_0x1caae5(0xbc)],'subscribeKey':process[_0x1caae5(0xe4)]['MSHUB_SUBSCRIBE_KEY'],'userId':process[_0x1caae5(0xe4)]['MSHUB_USER_ID']||'restforge-'+(process['env']['RESTFORGE_PROJECT_NAME']||_0x57cfda[_0x1caae5(0xe5)])+'-'+process['pid'],'communicationType':process['env'][_0x1caae5(0xfa)]||_0x57cfda[_0x1caae5(0xf6)],'autoAcknowledge':process[_0x1caae5(0xe4)]['MSHUB_AUTO_ACKNOWLEDGE']===_0x1caae5(0xc2),'acknowledgeMessages':_0x57cfda['TVYbQ'](process[_0x1caae5(0xe4)][_0x1caae5(0xb7)],_0x1caae5(0xc2)),'platform':{'type':process['env'][_0x1caae5(0xfa)]||_0x57cfda['XGuji'],'host':process[_0x1caae5(0xe4)]['MSHUB_HOST']||_0x57cfda['naZvS'],'api_port':_0x57cfda['DkFAE'](parseInt,process[_0x1caae5(0xe4)]['MSHUB_API_PORT']||0xdf8),'service_port':_0x57cfda[_0x1caae5(0xbf)](parseInt,process['env']['MSHUB_SERVICE_PORT']||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x316a9b),log(_0x57cfda['dZspI']),_0x57cfda['NuIlS'](log,'Client\x20ID/UserID:\x20'+messagehub['userId']),_0x57cfda['TCmIK'](log,_0x1caae5(0xcc)+messagehub[_0x1caae5(0xb9)]),log(_0x1caae5(0xf7)+messagehub['subscribeKey']),_0x57cfda['DkFAE'](log,'Tipe\x20Komunikasi:\x20'+messagehub[_0x1caae5(0xc3)]),log('Konfigurasi\x20Platform:\x20'+JSON['stringify'](messagehub[_0x1caae5(0xec)])),log(_0x1caae5(0xb3)),messagehub['addListener']({'status':function(_0xc45cf1){const _0x1a4766=_0x1caae5;log('Status\x20Listener:\x20'+_0xc45cf1[_0x1a4766(0xcf)]);if(_0xc45cf1['category']===_0x7243a1[_0x1a4766(0xea)])_0x7243a1[_0x1a4766(0xe0)](log,'Terhubung\x20ke\x20server\x20MessageHub'),isConnected=!![],timeoutHandler&&(_0x7243a1[_0x1a4766(0xe0)](clearTimeout,timeoutHandler),timeoutHandler=null),_0x165ffd(!![]);else{if(_0xc45cf1['category']===_0x7243a1['wquME']){const _0x477b19=_0xc45cf1[_0x1a4766(0xf9)]===!![];!_0x477b19&&(log(_0x1a4766(0xf5)+(_0xc45cf1[_0x1a4766(0xd0)]||_0x7243a1[_0x1a4766(0xac)])),isConnected=![],connectionPromise&&(_0x7243a1['OzbVj'](_0x3c524d,new Error('Koneksi\x20terputus:\x20'+(_0xc45cf1[_0x1a4766(0xd0)]||_0x7243a1[_0x1a4766(0xac)]))),connectionPromise=null));}else{if(_0x7243a1['IibXm'](_0xc45cf1['category'],_0x7243a1[_0x1a4766(0xae)])){let _0x161e01=_0xc45cf1['errorDetail']||_0xc45cf1[_0x1a4766(0xe6)]||_0x7243a1['PlZGu'];log(_0x1a4766(0x106)+_0x161e01),isConnected=![],connectionPromise&&(_0x7243a1['RofPk'](_0x3c524d,new Error(_0x161e01)),connectionPromise=null);}else{if(_0xc45cf1['category']===_0x1a4766(0xb8))_0x7243a1[_0x1a4766(0xe9)](log,'📤\x20Pesan\x20berhasil\x20dikirim!\x20RequestID:\x20'+_0xc45cf1['requestId']);else{if(_0xc45cf1[_0x1a4766(0xcf)]===_0x7243a1['GlCuq']){const _0x479e0a=_0xc45cf1['receiverInfo']?.['name']||_0x1a4766(0xc5),_0x2c6f0a=_0xc45cf1['receiverInfo']?.['id']||_0xc45cf1['receiverId'],_0x360b4b=new Date(_0xc45cf1[_0x1a4766(0xdb)]?.['receivedAt']||_0xc45cf1['receivedAt']||new Date())[_0x1a4766(0xd6)]();log('📩\x20Konfirmasi:\x20Pesan\x20'+_0xc45cf1[_0x1a4766(0xe3)]+_0x1a4766(0xb6)+_0x479e0a+'\x20('+_0x2c6f0a+_0x1a4766(0xbd)+_0x360b4b+'.\x20Total\x20konfirmasi:\x20'+(_0xc45cf1['confirmationCount']||0x1));}}}}}}}),timeoutHandler=setTimeout(()=>{const _0x4bdb36=_0x1caae5;!isConnected&&connectionPromise&&(_0x7243a1['RofPk'](log,_0x4bdb36(0xf0)),_0x7243a1['OzbVj'](_0x3c524d,new Error(_0x4bdb36(0xf2))),connectionPromise=null);},0x2710);}catch(_0x1e02f8){log(_0x1caae5(0xdc)+_0x1e02f8['message']),console['error'](_0x57cfda['WUoqp'],_0x1e02f8),connectionPromise=null,_0x3c524d(_0x1e02f8);}}),connectionPromise;}async function publishMessage(_0x28c6a7,_0x3d1302,_0x334bb3,_0x439421={}){const _0x302d14=a0_0x3420d9,_0x50bbce={'bntQv':'======\x20DATA\x20PUBLISH\x20MESSAGE\x20======','Vnxxc':function(_0x3e1fe1,_0x3ec235){return _0x3e1fe1(_0x3ec235);},'BZxZk':function(_0x37bca3,_0x42f1b3){return _0x37bca3(_0x42f1b3);},'CNSvw':function(_0x46d7e0,_0x1cf266){return _0x46d7e0(_0x1cf266);},'uLKxz':_0x302d14(0xcd),'kNnyR':'Mengirim\x20pesan\x20ke\x20server...','NRFtE':_0x302d14(0xff),'sTXpk':_0x302d14(0xe1)};try{!isConnected&&await initMessageHub();const _0x4880be=messagehub[_0x302d14(0xc4)](_0x28c6a7);log(_0x50bbce[_0x302d14(0xed)]),_0x50bbce['Vnxxc'](log,_0x302d14(0xfd)+_0x4880be[_0x302d14(0xc1)]),_0x50bbce['BZxZk'](log,'Message\x20Type:\x20'+_0x3d1302),_0x50bbce[_0x302d14(0xd9)](log,_0x50bbce['uLKxz']);const _0x2c4321={'requireAck':_0x439421['requireAck']!==undefined?_0x439421['requireAck']:![],'clearCache':_0x439421[_0x302d14(0xe7)]!==undefined?_0x439421['clearCache']:!![],'senderId':messagehub[_0x302d14(0xde)]?messagehub[_0x302d14(0xde)]['id']:_0x302d14(0xa8)};log(_0x50bbce['kNnyR']);const _0x2118c7={'type':_0x3d1302,'content':_0x334bb3},_0x2f7caa=await _0x4880be['publish'](_0x2118c7,_0x2c4321);return _0x50bbce[_0x302d14(0xd5)](log,_0x302d14(0xb4)+_0x28c6a7),{'success':!![],'requestId':_0x2f7caa['requestId'],'topic':_0x28c6a7,'message':_0x50bbce[_0x302d14(0xf4)]};}catch(_0x3b7bf5){return log(_0x302d14(0xf3)+_0x3b7bf5[_0x302d14(0xb2)]),{'success':![],'error':_0x3b7bf5['message'],'topic':_0x28c6a7,'message':_0x50bbce['sTXpk']};}}async function closeConnection(){const _0x50ad3c=a0_0x3420d9,_0x270c1d={'wXhCl':function(_0x8f71be,_0x214ac4){return _0x8f71be===_0x214ac4;},'lzomr':_0x50ad3c(0xf1),'EJWLF':_0x50ad3c(0xe2),'uwfrH':_0x50ad3c(0xba),'nTbFL':function(_0x3dc1c9,_0x5cf158){return _0x3dc1c9(_0x5cf158);}};timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null);if(isConnected&&messagehub)try{if(_0x270c1d[_0x50ad3c(0xca)](typeof messagehub['disconnect'],'function'))await messagehub['disconnect'](),log(_0x50ad3c(0xf8));else{if(typeof messagehub['close']===_0x270c1d[_0x50ad3c(0xcb)])await messagehub[_0x50ad3c(0xaf)](),log(_0x270c1d[_0x50ad3c(0x101)]);else messagehub[_0x50ad3c(0xde)]&&typeof messagehub['socket'][_0x50ad3c(0xd1)]===_0x50ad3c(0xf1)?(messagehub['socket'][_0x50ad3c(0xd1)](),log(_0x270c1d['uwfrH'])):log(_0x50ad3c(0xd2));}isConnected=![],connectionPromise=null;}catch(_0x101b67){_0x270c1d[_0x50ad3c(0xaa)](log,'Error\x20saat\x20menutup\x20koneksi:\x20'+_0x101b67[_0x50ad3c(0xb2)]);}}module['exports']={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};
|