@restforgejs/platform 4.3.1 → 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 +4 -4
- 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';const
|
|
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
|
-
const
|
|
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
|
-
const
|
|
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
|
-
const
|
|
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
|
-
function a0_0xcf63(_0x47b519,_0x208921){_0x47b519=_0x47b519-0xad;const _0x3143ca=a0_0x3143();let _0xcf63c4=_0x3143ca[_0x47b519];if(a0_0xcf63['vZNkfe']===undefined){var _0x54b3fe=function(_0x1e50c5){const _0x270ab7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e2cf8='',_0x1943e2='';for(let _0x22cb28=0x0,_0x35c3ff,_0x1f93c9,_0x3d8160=0x0;_0x1f93c9=_0x1e50c5['charAt'](_0x3d8160++);~_0x1f93c9&&(_0x35c3ff=_0x22cb28%0x4?_0x35c3ff*0x40+_0x1f93c9:_0x1f93c9,_0x22cb28++%0x4)?_0x2e2cf8+=String['fromCharCode'](0xff&_0x35c3ff>>(-0x2*_0x22cb28&0x6)):0x0){_0x1f93c9=_0x270ab7['indexOf'](_0x1f93c9);}for(let _0x89b48=0x0,_0x11dc19=_0x2e2cf8['length'];_0x89b48<_0x11dc19;_0x89b48++){_0x1943e2+='%'+('00'+_0x2e2cf8['charCodeAt'](_0x89b48)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1943e2);};a0_0xcf63['ztvhiV']=_0x54b3fe,a0_0xcf63['WEOSVp']={},a0_0xcf63['vZNkfe']=!![];}const _0x3fcc96=_0x3143ca[0x0],_0xe08ae5=_0x47b519+_0x3fcc96,_0x1304ca=a0_0xcf63['WEOSVp'][_0xe08ae5];return!_0x1304ca?(_0xcf63c4=a0_0xcf63['ztvhiV'](_0xcf63c4),a0_0xcf63['WEOSVp'][_0xe08ae5]=_0xcf63c4):_0xcf63c4=_0x1304ca,_0xcf63c4;}const a0_0x594c56=a0_0xcf63;function a0_0x3143(){const _0x1fe1a9=['x3jVBgXIywnRs2v5CW','DMfSAwq','mtK4nJKWofnfCeP6Da','uMvZB3vYy2uGBg9JAYbYzwXLyxnLigvYCM9YoIa','z2v0twf4vfrmu2vJB25KCW','BM93','CMvZB3vYy2vFBg9JA19YzwXLyxnLx2vYCM9Y','DMfSDwu','CMvZB3vYy2uGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','EMDiquS','oNjSB2nRoG','Bg9JA190B2TLBIbPCYbYzxf1AxjLzcbHBMqGBxvZDcbIzsbHihn0CMLUzW','zxH0CMfJDe93BMvY','Dw5RBM93BG','teHUqxu','mJK4otuXmMfVwNzgEG','DfnLreu','z2vUzxjHDgvuB2TLBG','mtmWndnIBwHgBxi','Bg9JA19RzxLZwW','tg9JAYbHy3f1AxjLigzHAwXLzdOG','t0fmqwq','mti1oda1ntfcsu51tui','uMvZB3vYy2uGBg9JAYbYzwXLyxnLzdOG','BKHjq3m','xsbTDxn0igHHDMuGA2v5igfUzcb2ywX1zsbWCM9Wzxj0AwvZ','DxvPza','z2jWCxm','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','BNvTyMvY','CMvSzwfZzvjLC291CMnLtg9JA3m','mta2BKj4txjp','zxzHBa','uMvZB3vYy2uGBg9JAYbHy3f1AxjLigvYCM9YoIa','runjAMq','x2DLDenVBMzSAwn0sw5MBW','B3DUzxi','wNnutM8','wwPMEMy','z2v0','CMvZB3vYy2uGyw5KigXVy2TFA2v5CYbHCMuGCMvXDwLYzwq','zw52','CMvZB3vYy2vFBg9JA19YB2XSyMfJA19LCNjVCG','vNLpt3C','sKDzt08','uvvHtNK','CMvZB3vYy2vFBg9JA19JB25MBgLJDa','x3zHBgLKyxrLuMvSzwfZzuLUChv0','D2fYBG','BwvZC2fNzq','z2v0q2XPzw50','BgvUz3rO','tgjizhq','te9ds19srvnpvvjdrv9nqvHFvfrm','zNLmuxi','z2v0uMvZB3vYy2vmB2nRu3rHDhvZ','yNvPBgrlzxK','r21yAvi','mZbLsuLUv2m','qKXHveu','DhrSigLZihjLCxvPCMvKigfUzcbTDxn0igjLigf0igXLyxn0ideGkgLUihnLy29UzhmP','DhrS','BwfW','nJi2otm0uuHJrLnr','zxjYB3i','B1PJrxi','mJeYnJK3mfrnExfAAG','Aw5MBW','uMvZB3vYy2uGBg9JAYbZDgf0DxmGzxjYB3i6ia','B3DUzxiGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','igTLExmSifrutdOG','otC0nZy0BNnXAMHS','zgvMyxvSDa','DhrSigv4y2vLzhmGBwf4Aw11BsbVzIa'];a0_0x3143=function(){return _0x1fe1a9;};return a0_0x3143();}(function(_0x116ab9,_0x4b9773){const _0x45cc80=a0_0xcf63,_0x2a2ee0=_0x116ab9();while(!![]){try{const _0xbaeacf=-parseInt(_0x45cc80(0xd8))/0x1*(parseInt(_0x45cc80(0xe5))/0x2)+-parseInt(_0x45cc80(0xba))/0x3+parseInt(_0x45cc80(0xc8))/0x4+parseInt(_0x45cc80(0xbd))/0x5+parseInt(_0x45cc80(0xb5))/0x6*(-parseInt(_0x45cc80(0xc3))/0x7)+-parseInt(_0x45cc80(0xd5))/0x8+parseInt(_0x45cc80(0xdc))/0x9;if(_0xbaeacf===_0x4b9773)break;else _0x2a2ee0['push'](_0x2a2ee0['shift']());}catch(_0x535cc7){_0x2a2ee0['push'](_0x2a2ee0['shift']());}}}(a0_0x3143,0x5563a));const redisClient=require(a0_0x594c56(0xc1)),{logger}=require('../../utils/logger'),{v4:uuidv4}=require(a0_0x594c56(0xe0));function getPrefix(){const _0x3a1d09=a0_0x594c56,_0x39381c={'VyOOw':_0x3a1d09(0xc4)},_0x30bb25=process[_0x3a1d09(0xef)][_0x3a1d09(0xe2)]||_0x39381c[_0x3a1d09(0xf1)];return'rf:'+_0x30bb25+_0x3a1d09(0xd0);}const DEFAULT_MAX_TTL_SECONDS=0x12c,RELEASE_LUA_SCRIPT='\x0a\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20return\x20redis.call(\x22del\x22,\x20KEYS[1])\x0a\x20\x20else\x0a\x20\x20\x20\x20return\x200\x0a\x20\x20end\x0a';class ResourceLockManager{['buildKey'](_0xd3b56b,_0x3d6775,_0x5abc31){const _0x56ec27=a0_0x594c56,_0x513ffa={'ZsTNo':function(_0x243f4f){return _0x243f4f();}};return''+_0x513ffa[_0x56ec27(0xeb)](getPrefix)+_0xd3b56b+':'+_0x3d6775+':'+_0x5abc31;}['generateToken'](_0x4f2db1){const _0x259455=a0_0x594c56,_0x39e672={'uQgFP':function(_0x3520d3){return _0x3520d3();}};return _0x4f2db1+':'+_0x39e672['uQgFP'](uuidv4)+':'+Date[_0x259455(0xcb)]();}['extractOwner'](_0x518568){const _0x21f37c=a0_0x594c56,_0x53425b={'BLaTE':'unknown'};if(!_0x518568)return _0x53425b[_0x21f37c(0xb6)];const _0xdbe270=_0x518568['indexOf'](':');return _0xdbe270>0x0?_0x518568['substring'](0x0,_0xdbe270):_0x518568;}[a0_0x594c56(0xca)](){const _0x5f4ffe=a0_0x594c56,_0x515a30={'GmXiR':function(_0x273937,_0x25b18d,_0x36a648){return _0x273937(_0x25b18d,_0x36a648);}};return _0x515a30[_0x5f4ffe(0xb4)](parseInt,process['env'][_0x5f4ffe(0xb0)],0xa)||DEFAULT_MAX_TTL_SECONDS;}async['acquireResourceLocks']({resource:_0x370991,lockKeys:_0x5d84d4,ttl:_0x1022bb,owner:_0x621e27}){const _0x5d36ea=a0_0x594c56,_0x26d863={'JGYOO':function(_0x40fad1,_0x4a92a4){return _0x40fad1<_0x4a92a4;},'KgdTj':function(_0x515bd8,_0x57b2b5){return _0x515bd8===_0x57b2b5;},'qQymy':'resource_lock_acquired','zgHAK':_0x5d36ea(0xf0),'XYeWe':'resource_lock_acquire_error'},_0x3ff431=this['_validateAcquireInput']({'resource':_0x370991,'lockKeys':_0x5d84d4,'ttl':_0x1022bb,'owner':_0x621e27});if(!_0x3ff431[_0x5d36ea(0xc7)])return{'success':![],'error':_0x3ff431[_0x5d36ea(0xbb)]};const _0x403462=this[_0x5d36ea(0xca)](),_0x4c5797=Math['min'](_0x1022bb,_0x403462),_0x2ebea0=this[_0x5d36ea(0xd7)](_0x621e27),_0x238b8e=[];try{const _0x4558e6=redisClient[_0x5d36ea(0xad)]();for(let _0x1901d8=0x0;_0x26d863[_0x5d36ea(0xf2)](_0x1901d8,_0x5d84d4[_0x5d36ea(0xae)]);_0x1901d8++){const {key:_0x5149e0,value:_0x280f87}=_0x5d84d4[_0x1901d8],_0x2f2096=this['buildKey'](_0x370991,_0x5149e0,_0x280f87),_0x87785f=await _0x4558e6['set'](_0x2f2096,_0x2ebea0,'EX',_0x4c5797,'NX');if(_0x26d863['KgdTj'](_0x87785f,'OK'))_0x238b8e['push'](_0x2f2096);else{await this['_rollbackKeys'](_0x4558e6,_0x238b8e,_0x2ebea0);const _0x4d2071=await this[_0x5d36ea(0xe9)](_0x4558e6,_0x2f2096);return logger[_0x5d36ea(0xf6)]({'event':_0x5d36ea(0xf4),'resource':_0x370991,'conflicting_key':{'key':_0x5149e0,'value':_0x280f87},'locked_by':_0x4d2071[_0x5d36ea(0xea)],'ttl_remaining':_0x4d2071['ttlRemaining'],'attempted_by':_0x621e27},'Resource\x20lock\x20conflict\x20on\x20'+_0x370991+':'+_0x5149e0+':'+_0x280f87),{'success':![],'error':'Resource\x20lock\x20conflict','data':{'conflicting_key':{'key':_0x5149e0,'value':_0x280f87},'locked_by':_0x4d2071['owner'],'ttl_remaining':_0x4d2071['ttlRemaining']}};}}const _0x380960=_0x5d84d4[_0x5d36ea(0xb9)](({key:_0xd84aae,value:_0xda325d})=>({'key':_0xd84aae,'value':_0xda325d,'lock_key':this['buildKey'](_0x370991,_0xd84aae,_0xda325d)}));return logger[_0x5d36ea(0xbe)]({'event':_0x26d863['qQymy'],'resource':_0x370991,'keys_count':_0x5d84d4['length'],'ttl':_0x4c5797,'owner':_0x621e27},'Resource\x20lock\x20acquired:\x20'+_0x370991+'\x20('+_0x5d84d4[_0x5d36ea(0xae)]+_0x5d36ea(0xc2)+_0x4c5797+'s)'),{'success':!![],'data':{'lock_token':_0x2ebea0,'resource':_0x370991,'locked_keys':_0x380960,'ttl':_0x4c5797,'owner':_0x621e27,'acquired_at':new Date()['toISOString']()}};}catch(_0x1a1ce8){try{const _0x5e2078=redisClient[_0x5d36ea(0xad)]();await this['_rollbackKeys'](_0x5e2078,_0x238b8e,_0x2ebea0);}catch(_0x2f516a){logger[_0x5d36ea(0xbb)]({'event':_0x26d863[_0x5d36ea(0xcf)],'error':_0x2f516a['message']},'Failed\x20to\x20rollback\x20resource\x20locks\x20after\x20error');}return logger[_0x5d36ea(0xbb)]({'event':_0x26d863['XYeWe'],'resource':_0x370991,'owner':_0x621e27,'error':_0x1a1ce8['message']},_0x5d36ea(0xe7)+_0x1a1ce8['message']),{'success':![],'error':_0x5d36ea(0xda)+_0x1a1ce8[_0x5d36ea(0xf7)]};}}async[a0_0x594c56(0xe4)]({resource:_0x468e59,lockKeys:_0x3403b7,lockToken:_0x2e586a}){const _0x16d427=a0_0x594c56,_0x24a73a=this[_0x16d427(0xf5)]({'resource':_0x468e59,'lockKeys':_0x3403b7,'lockToken':_0x2e586a});if(!_0x24a73a['valid'])return{'success':![],'error':_0x24a73a[_0x16d427(0xbb)]};try{const _0xff81a3=redisClient[_0x16d427(0xad)]();let _0x31b222=0x0;for(const {key:_0x23507d,value:_0x427f10}of _0x3403b7){const _0x54903c=this[_0x16d427(0xb3)](_0x468e59,_0x23507d,_0x427f10),_0x363f8b=await _0xff81a3['eval'](RELEASE_LUA_SCRIPT,0x1,_0x54903c,_0x2e586a);_0x363f8b===0x1&&_0x31b222++;}return logger[_0x16d427(0xbe)]({'event':'resource_lock_released','resource':_0x468e59,'released_keys':_0x31b222,'total_keys':_0x3403b7['length'],'owner':this[_0x16d427(0xd2)](_0x2e586a)},_0x16d427(0xdd)+_0x468e59+'\x20('+_0x31b222+'/'+_0x3403b7['length']+'\x20keys)'),{'success':!![],'data':{'resource':_0x468e59,'released_keys':_0x31b222,'total_keys':_0x3403b7[_0x16d427(0xae)]}};}catch(_0x334a7a){return logger[_0x16d427(0xbb)]({'event':_0x16d427(0xcc),'resource':_0x468e59,'error':_0x334a7a['message']},_0x16d427(0xc9)+_0x334a7a['message']),{'success':![],'error':'Lock\x20release\x20failed:\x20'+_0x334a7a[_0x16d427(0xf7)]};}}async[a0_0x594c56(0xb2)]({resource:_0x5ba028,lockKeys:_0x1e8eab}){const _0x3fa0b8=a0_0x594c56,_0x589704={'Qifyc':_0x3fa0b8(0xee),'oZcEr':function(_0x5525cd,_0x19878e){return _0x5525cd!==_0x19878e;},'rAWGf':function(_0x35c4de,_0x3f185b){return _0x35c4de>_0x3f185b;},'OtVYv':'resource_lock_status_error'};if(!_0x5ba028||!Array['isArray'](_0x1e8eab)||_0x1e8eab[_0x3fa0b8(0xae)]===0x0)return{'success':![],'error':_0x589704['Qifyc']};try{const _0x4e18bb=redisClient['getClient'](),_0x17a341=[];for(const {key:_0x3d9ab5,value:_0x27d959}of _0x1e8eab){const _0x1c4f64=this[_0x3fa0b8(0xb3)](_0x5ba028,_0x3d9ab5,_0x27d959),[_0x3c1e21,_0x4e252a]=await Promise['all']([_0x4e18bb[_0x3fa0b8(0xed)](_0x1c4f64),_0x4e18bb[_0x3fa0b8(0xb8)](_0x1c4f64)]),_0x137b27=_0x589704[_0x3fa0b8(0xbc)](_0x3c1e21,null);_0x17a341['push']({'key':_0x3d9ab5,'value':_0x27d959,'locked':_0x137b27,'owner':_0x137b27?this['extractOwner'](_0x3c1e21):null,'ttl_remaining':_0x137b27&&_0x589704['rAWGf'](_0x4e252a,0x0)?_0x4e252a:null});}return{'success':!![],'data':{'resource':_0x5ba028,'keys':_0x17a341}};}catch(_0x2ee03b){return logger[_0x3fa0b8(0xbb)]({'event':_0x589704['OtVYv'],'resource':_0x5ba028,'error':_0x2ee03b[_0x3fa0b8(0xf7)]},_0x3fa0b8(0xbf)+_0x2ee03b['message']),{'success':![],'error':'Lock\x20status\x20check\x20failed:\x20'+_0x2ee03b[_0x3fa0b8(0xf7)]};}}async[a0_0x594c56(0xc6)](_0x3f2dec,_0x4776eb,_0x410cfc){const _0xdbb3b7=a0_0x594c56,_0x1d174b={'CccOU':'resource_lock_rollback_key_error'};for(const _0x4ad7ea of _0x4776eb){try{await _0x3f2dec[_0xdbb3b7(0xe6)](RELEASE_LUA_SCRIPT,0x1,_0x4ad7ea,_0x410cfc);}catch(_0x19e230){logger['error']({'event':_0x1d174b['CccOU'],'key':_0x4ad7ea,'error':_0x19e230['message']},'Failed\x20to\x20rollback\x20key:\x20'+_0x4ad7ea);}}}async[a0_0x594c56(0xe9)](_0x3ae197,_0x460b02){const _0x55c135=a0_0x594c56,_0x318432={'HPpWQ':_0x55c135(0xd3),'sCexI':function(_0x36c19b,_0x227298){return _0x36c19b>_0x227298;}};try{const [_0x45148f,_0x216021]=await Promise['all']([_0x3ae197['get'](_0x460b02),_0x3ae197['ttl'](_0x460b02)]);return{'owner':_0x45148f?this['extractOwner'](_0x45148f):_0x318432['HPpWQ'],'ttlRemaining':_0x318432['sCexI'](_0x216021,0x0)?_0x216021:null};}catch{return{'owner':_0x318432['HPpWQ'],'ttlRemaining':null};}}['_validateAcquireInput']({resource:_0x5d6de1,lockKeys:_0x48b1d6,ttl:_0x518f96,owner:_0x1b507}){const _0x146c1f=a0_0x594c56,_0x5f52f6={'gxHQf':function(_0xbfb132,_0x2afbf8){return _0xbfb132!==_0x2afbf8;},'oBLSg':'string','LHnAu':'resource\x20is\x20required\x20and\x20must\x20be\x20a\x20string','gbpqs':'lock_keys\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20array','LbHdt':function(_0x5da806,_0x72bbbb){return _0x5da806>_0x72bbbb;},'ECIjd':'lock_keys\x20exceeds\x20maximum\x20of\x20100\x20items','OALAd':function(_0x58589f,_0xe7740f){return _0x58589f<_0xe7740f;},'tSeDE':function(_0x3ad325,_0x153750){return _0x3ad325!==_0x153750;},'lerec':_0x146c1f(0xe3),'QUaNy':_0x146c1f(0xc0)};if(!_0x5d6de1||_0x5f52f6['gxHQf'](typeof _0x5d6de1,_0x5f52f6['oBLSg']))return{'valid':![],'error':_0x5f52f6[_0x146c1f(0xd4)]};if(!Array['isArray'](_0x48b1d6)||_0x48b1d6[_0x146c1f(0xae)]===0x0)return{'valid':![],'error':_0x5f52f6[_0x146c1f(0xe1)]};if(_0x5f52f6['LbHdt'](_0x48b1d6[_0x146c1f(0xae)],0x64))return{'valid':![],'error':_0x5f52f6[_0x146c1f(0xe8)]};for(let _0xe6b442=0x0;_0x5f52f6[_0x146c1f(0xdb)](_0xe6b442,_0x48b1d6[_0x146c1f(0xae)]);_0xe6b442++){const _0x1f3428=_0x48b1d6[_0xe6b442];if(!_0x1f3428||!_0x1f3428['key']||!_0x1f3428[_0x146c1f(0xcd)])return{'valid':![],'error':_0x146c1f(0xd9)+_0xe6b442+_0x146c1f(0xdf)};}if(!_0x518f96||_0x5f52f6[_0x146c1f(0xd6)](typeof _0x518f96,_0x5f52f6['lerec'])||_0x518f96<0x1)return{'valid':![],'error':_0x146c1f(0xb7)};const _0x53987f=this[_0x146c1f(0xca)]();if(_0x5f52f6[_0x146c1f(0xaf)](_0x518f96,_0x53987f))return{'valid':![],'error':_0x146c1f(0xc5)+_0x53987f+'\x20seconds.\x20Configure\x20LOCK_RESOURCE_MAX_TTL\x20to\x20increase.'};if(!_0x1b507||_0x5f52f6['tSeDE'](typeof _0x1b507,'string'))return{'valid':![],'error':_0x5f52f6[_0x146c1f(0xf3)]};return{'valid':!![]};}['_validateReleaseInput']({resource:_0x43981e,lockKeys:_0x18f3cc,lockToken:_0x401f3a}){const _0x1b0df6=a0_0x594c56,_0x1bc502={'DYDul':function(_0x4474ad,_0x4ea283){return _0x4474ad!==_0x4ea283;},'fyLQr':'string','nHICs':_0x1b0df6(0xce),'pXzSq':function(_0x248334,_0x2e3996){return _0x248334===_0x2e3996;},'Yjfzf':'lock_keys\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20array','MKytO':_0x1b0df6(0xd1)};if(!_0x43981e||_0x1bc502['DYDul'](typeof _0x43981e,_0x1bc502[_0x1b0df6(0xb1)]))return{'valid':![],'error':_0x1bc502[_0x1b0df6(0xde)]};if(!Array['isArray'](_0x18f3cc)||_0x1bc502['pXzSq'](_0x18f3cc['length'],0x0))return{'valid':![],'error':_0x1bc502[_0x1b0df6(0xec)]};for(let _0x539fb4=0x0;_0x539fb4<_0x18f3cc[_0x1b0df6(0xae)];_0x539fb4++){const _0x42fc49=_0x18f3cc[_0x539fb4];if(!_0x42fc49||!_0x42fc49['key']||!_0x42fc49[_0x1b0df6(0xcd)])return{'valid':![],'error':'lock_keys['+_0x539fb4+_0x1b0df6(0xdf)};}if(!_0x401f3a||typeof _0x401f3a!=='string')return{'valid':![],'error':_0x1bc502['MKytO']};return{'valid':!![]};}}module['exports']=new ResourceLockManager();
|
|
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_0x4b16fc=a0_0x48e8;function a0_0x48e8(_0x258218,_0x5896b8){_0x258218=_0x258218-0x14a;const _0x355673=a0_0x3556();let _0x48e80d=_0x355673[_0x258218];if(a0_0x48e8['dJGuZZ']===undefined){var _0x5706f2=function(_0x311672){const _0x5e2ec8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x27d68c='',_0x45efa9='';for(let _0xcee39e=0x0,_0x1e0aee,_0x27039e,_0x125645=0x0;_0x27039e=_0x311672['charAt'](_0x125645++);~_0x27039e&&(_0x1e0aee=_0xcee39e%0x4?_0x1e0aee*0x40+_0x27039e:_0x27039e,_0xcee39e++%0x4)?_0x27d68c+=String['fromCharCode'](0xff&_0x1e0aee>>(-0x2*_0xcee39e&0x6)):0x0){_0x27039e=_0x5e2ec8['indexOf'](_0x27039e);}for(let _0x39e57a=0x0,_0x2eef8a=_0x27d68c['length'];_0x39e57a<_0x2eef8a;_0x39e57a++){_0x45efa9+='%'+('00'+_0x27d68c['charCodeAt'](_0x39e57a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x45efa9);};a0_0x48e8['YSVhmL']=_0x5706f2,a0_0x48e8['gNqopG']={},a0_0x48e8['dJGuZZ']=!![];}const _0x5873b9=_0x355673[0x0],_0x384195=_0x258218+_0x5873b9,_0x4a0edd=a0_0x48e8['gNqopG'][_0x384195];return!_0x4a0edd?(_0x48e80d=a0_0x48e8['YSVhmL'](_0x48e80d),a0_0x48e8['gNqopG'][_0x384195]=_0x48e80d):_0x48e80d=_0x4a0edd,_0x48e80d;}(function(_0x56e283,_0x2ad6f2){const _0x4406d6=a0_0x48e8,_0xb4eda6=_0x56e283();while(!![]){try{const _0x342eff=-parseInt(_0x4406d6(0x1c4))/0x1+-parseInt(_0x4406d6(0x19e))/0x2+parseInt(_0x4406d6(0x1a1))/0x3+parseInt(_0x4406d6(0x15b))/0x4+-parseInt(_0x4406d6(0x1b8))/0x5*(parseInt(_0x4406d6(0x157))/0x6)+parseInt(_0x4406d6(0x192))/0x7+parseInt(_0x4406d6(0x155))/0x8*(-parseInt(_0x4406d6(0x1c5))/0x9);if(_0x342eff===_0x2ad6f2)break;else _0xb4eda6['push'](_0xb4eda6['shift']());}catch(_0x36f7d2){_0xb4eda6['push'](_0xb4eda6['shift']());}}}(a0_0x3556,0x9841e));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require(a0_0x4b16fc(0x162));class KafkaConsumerService{constructor(){const _0x44741d=a0_0x4b16fc,_0x515d51={'TLspy':_0x44741d(0x1b2)},_0x2bc9b5=_0x515d51['TLspy']['split']('|');let _0x45493d=0x0;while(!![]){switch(_0x2bc9b5[_0x45493d++]){case'0':this['isPaused']=![];continue;case'1':this[_0x44741d(0x14e)]=null;continue;case'2':this[_0x44741d(0x19f)]=![];continue;case'3':this['kafka']=null;continue;case'4':this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'5':this[_0x44741d(0x1bb)]=[];continue;case'6':this[_0x44741d(0x176)]=null;continue;case'7':this['isInitializing']=![];continue;case'8':this[_0x44741d(0x163)]=![];continue;case'9':this['consumer']=null;continue;case'10':this['groupId']=null;continue;}break;}}['getConfig'](){const _0x41e5b9=a0_0x4b16fc,_0xf4344={'iyZik':_0x41e5b9(0x1b7),'DokAI':_0x41e5b9(0x15c),'ARUZS':'default','NWqpf':function(_0x33fa88,_0x1422d2){return _0x33fa88(_0x1422d2);},'MGouZ':'25000','eHQTu':_0x41e5b9(0x172),'nOUZv':_0x41e5b9(0x17a),'CVQRu':function(_0x4cb81b,_0xe2fe2f){return _0x4cb81b(_0xe2fe2f);},'pXEgc':function(_0x2af948,_0x120c86){return _0x2af948(_0x120c86);},'AhQge':_0x41e5b9(0x169),'XMAxe':function(_0x3c33f8,_0x2f60d9){return _0x3c33f8(_0x2f60d9);},'xmJPC':'1000'};return{'enabled':process[_0x41e5b9(0x1c3)][_0x41e5b9(0x195)]===_0xf4344[_0x41e5b9(0x1a2)],'brokers':(process['env'][_0x41e5b9(0x1be)]||_0xf4344['DokAI'])['split'](','),'clientId':process[_0x41e5b9(0x1c3)][_0x41e5b9(0x197)]||'restforge-'+(process['env']['RESTFORGE_PROJECT_NAME']||_0xf4344['ARUZS'])+'-consumer','connectionTimeout':_0xf4344[_0x41e5b9(0x164)](parseInt,process['env']['KAFKA_CONNECTION_TIMEOUT']||_0x41e5b9(0x17a)),'requestTimeout':parseInt(process['env'][_0x41e5b9(0x177)]||_0xf4344[_0x41e5b9(0x174)]),'sessionTimeout':parseInt(process[_0x41e5b9(0x1c3)]['KAFKA_SESSION_TIMEOUT']||_0xf4344['eHQTu']),'heartbeatInterval':_0xf4344[_0x41e5b9(0x164)](parseInt,process['env'][_0x41e5b9(0x18c)]||_0xf4344['nOUZv']),'maxBytesPerPartition':_0xf4344['CVQRu'](parseInt,process[_0x41e5b9(0x1c3)][_0x41e5b9(0x186)]||'1048576'),'autoCommit':process['env'][_0x41e5b9(0x198)]===_0xf4344[_0x41e5b9(0x1a2)],'autoCommitInterval':_0xf4344[_0x41e5b9(0x16f)](parseInt,process[_0x41e5b9(0x1c3)][_0x41e5b9(0x156)]||_0xf4344['AhQge']),'retryAttempts':parseInt(process[_0x41e5b9(0x1c3)][_0x41e5b9(0x1c2)]||'3'),'retryDelay':_0xf4344[_0x41e5b9(0x16d)](parseInt,process['env'][_0x41e5b9(0x1ca)]||_0xf4344['xmJPC']),'retryMaxDelay':parseInt(process[_0x41e5b9(0x1c3)]['KAFKA_RETRY_MAX_DELAY']||_0xf4344['eHQTu']),'logLevel':process[_0x41e5b9(0x1c3)]['KAFKA_LOG_LEVEL']||_0x41e5b9(0x14f)};}['getLogLevel'](_0x4f9b42){const _0x4aca15=a0_0x4b16fc,_0x452c8a={'nothing':logLevel['NOTHING'],'error':logLevel[_0x4aca15(0x171)],'warn':logLevel[_0x4aca15(0x19a)],'info':logLevel[_0x4aca15(0x1b1)],'debug':logLevel[_0x4aca15(0x19c)]};return _0x452c8a[_0x4f9b42[_0x4aca15(0x17c)]()]||logLevel[_0x4aca15(0x19a)];}async['initialize'](_0x523f82={}){const _0x3623dd=a0_0x4b16fc,_0x126b24={'MoVeb':'true','rJpge':function(_0x27e14e,_0x57f692){return _0x27e14e(_0x57f692);}},_0x469809=this['getConfig']();if(!_0x469809['enabled'])return console[_0x3623dd(0x1a9)](_0x3623dd(0x18a)),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this['connectionPromise'])return this[_0x3623dd(0x14e)];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x331f57=>{const _0xbfec4a=_0x3623dd;try{let _0x596bd6=undefined;process[_0xbfec4a(0x1c3)]['KAFKA_SSL']===_0x126b24[_0xbfec4a(0x1c6)]&&(_0x596bd6=!![]);let _0x313755=undefined;process[_0xbfec4a(0x1c3)]['KAFKA_SASL_MECHANISM']&&(_0x313755={'mechanism':process[_0xbfec4a(0x1c3)][_0xbfec4a(0x158)],'username':process[_0xbfec4a(0x1c3)][_0xbfec4a(0x1b0)]||'','password':process[_0xbfec4a(0x1c3)][_0xbfec4a(0x182)]||''}),this['kafka']=new Kafka({'clientId':_0x523f82['clientId']||_0x469809[_0xbfec4a(0x1b5)],'brokers':_0x469809['brokers'],'connectionTimeout':_0x469809[_0xbfec4a(0x150)],'requestTimeout':_0x469809['requestTimeout'],'logLevel':this['getLogLevel'](_0x469809[_0xbfec4a(0x160)]),'ssl':_0x596bd6,'sasl':_0x313755,'retry':{'initialRetryTime':_0x469809[_0xbfec4a(0x190)],'retries':_0x469809['retryAttempts'],'maxRetryTime':_0x469809['retryMaxDelay']}}),this['groupId']=_0x523f82['groupId']||_0xbfec4a(0x15f)+(process['env']['RESTFORGE_PROJECT_NAME']||'default')+'-consumer-group',this[_0xbfec4a(0x1bd)]=this['kafka'][_0xbfec4a(0x1bd)]({'groupId':this[_0xbfec4a(0x1b4)],'sessionTimeout':_0x469809[_0xbfec4a(0x18e)],'heartbeatInterval':_0x469809['heartbeatInterval'],'maxBytesPerPartition':_0x469809['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this['consumer'][_0xbfec4a(0x180)](),this['isConnected']=!![],console[_0xbfec4a(0x1a9)](_0xbfec4a(0x1ae)+_0x469809[_0xbfec4a(0x18b)][_0xbfec4a(0x16b)](',\x20')+'\x20(groupId:\x20'+this['groupId']+')'),this['setupEventHandlers'](),_0x126b24['rJpge'](_0x331f57,!![]);}catch(_0x50d040){console[_0xbfec4a(0x14d)]('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x50d040['message']),this[_0xbfec4a(0x163)]=![],_0x331f57(![]);}finally{this[_0xbfec4a(0x16e)]=![];}}),this['connectionPromise'];}[a0_0x4b16fc(0x1bc)](){const _0x5dde95=a0_0x4b16fc,_0x330a27={'TqsOT':'[KafkaConsumer]\x20Consumer\x20disconnected','MLeoh':_0x5dde95(0x1a5),'lrFHt':'consumer.crash','xSbxz':'consumer.rebalancing'};if(!this[_0x5dde95(0x1bd)])return;this['consumer']['on'](_0x330a27['MLeoh'],()=>{const _0x1a8f13=_0x5dde95;console[_0x1a8f13(0x1a9)](_0x330a27[_0x1a8f13(0x153)]),this[_0x1a8f13(0x163)]=![],this['isRunning']=![];}),this[_0x5dde95(0x1bd)]['on'](_0x5dde95(0x1c7),()=>{const _0x5079b6=_0x5dde95;console[_0x5079b6(0x1a9)]('[KafkaConsumer]\x20Consumer\x20stopped'),this['isRunning']=![];}),this[_0x5dde95(0x1bd)]['on'](_0x330a27['lrFHt'],_0x37c149=>{const _0x12282f=_0x5dde95;console[_0x12282f(0x14d)]('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x37c149[_0x12282f(0x1c9)][_0x12282f(0x14d)][_0x12282f(0x15a)]),this[_0x12282f(0x19f)]=![];}),this[_0x5dde95(0x1bd)]['on'](_0x330a27['xSbxz'],()=>{console['log']('[KafkaConsumer]\x20Consumer\x20rebalancing...');});}async[a0_0x4b16fc(0x18f)](_0x192f6d,_0x3b6058=![]){const _0x462f72=a0_0x4b16fc;if(!this[_0x462f72(0x163)])return console['error'](_0x462f72(0x1ad)),![];try{const _0x57f67c=Array['isArray'](_0x192f6d)?_0x192f6d:[_0x192f6d];for(const _0x2dfee1 of _0x57f67c){await this['consumer'][_0x462f72(0x18f)]({'topic':_0x2dfee1,'fromBeginning':_0x3b6058}),console[_0x462f72(0x1a9)](_0x462f72(0x1ac)+_0x2dfee1+_0x462f72(0x1c8)+_0x3b6058+')');}return this['subscribedTopics']=[...new Set([...this['subscribedTopics'],..._0x57f67c])],!![];}catch(_0x2f28ee){return console['error']('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x2f28ee[_0x462f72(0x15a)]),![];}}async[a0_0x4b16fc(0x178)](_0x2e718c,_0x567757={}){const _0x270f38=a0_0x4b16fc,_0x34c1c9={'KDyLA':function(_0x1ab82a,_0x265ff0){return _0x1ab82a(_0x265ff0);},'uNCBW':function(_0x473838){return _0x473838();},'nIqYl':'[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected','ZHNUM':function(_0x48e543,_0x589da4){return _0x48e543!==_0x589da4;}};if(!this[_0x270f38(0x163)])return console['error'](_0x34c1c9[_0x270f38(0x184)]),![];if(this[_0x270f38(0x19f)])return console['log'](_0x270f38(0x18d)),!![];const _0x23b918=this['getConfig']();this['messageHandler']=_0x2e718c;try{return this['metrics']['startTime']=new Date(),await this['consumer']['run']({'autoCommit':_0x34c1c9['ZHNUM'](_0x567757[_0x270f38(0x189)],undefined)?_0x567757[_0x270f38(0x189)]:_0x23b918[_0x270f38(0x189)],'autoCommitInterval':_0x23b918['autoCommitInterval'],'eachMessage':async({topic:_0x265e5b,partition:_0xf294bd,message:_0x58fc44,heartbeat:_0xd303d4})=>{const _0x58fb83=_0x270f38,_0x2c3d55=Date['now']();this['metrics'][_0x58fb83(0x1a6)]++,this['metrics'][_0x58fb83(0x19b)]=new Date();try{const _0x114b72=_0x58fc44[_0x58fb83(0x17f)]?_0x58fc44[_0x58fb83(0x17f)]['toString']():null;let _0x457f61=null;try{_0x457f61=_0x114b72?JSON['parse'](_0x114b72):null;}catch(_0x3b599f){_0x457f61=_0x114b72;}const _0x42a2e0={'topic':_0x265e5b,'partition':_0xf294bd,'offset':_0x58fc44['offset'],'key':_0x58fc44['key']?_0x58fc44[_0x58fb83(0x14a)]['toString']():null,'headers':this['parseHeaders'](_0x58fc44[_0x58fb83(0x188)]),'timestamp':_0x58fc44['timestamp'],'value':_0x457f61,'raw':_0x114b72};this[_0x58fb83(0x176)]&&await this['messageHandler'](_0x42a2e0);!_0x23b918['autoCommit']&&await this['consumer']['commitOffsets']([{'topic':_0x265e5b,'partition':_0xf294bd,'offset':(_0x34c1c9[_0x58fb83(0x1c0)](parseInt,_0x58fc44[_0x58fb83(0x183)])+0x1)[_0x58fb83(0x151)]()}]);this[_0x58fb83(0x16a)][_0x58fb83(0x1a4)]++;const _0x1b271a=Date[_0x58fb83(0x168)]()-_0x2c3d55;this['metrics']['processingTimes'][_0x58fb83(0x15e)](_0x1b271a),this['metrics']['processingTimes'][_0x58fb83(0x185)]>0x64&&this['metrics'][_0x58fb83(0x1a3)][_0x58fb83(0x1ab)](),await _0x34c1c9[_0x58fb83(0x1b6)](_0xd303d4);}catch(_0x550f7b){this[_0x58fb83(0x16a)][_0x58fb83(0x1a8)]++,console['error']('[KafkaConsumer]\x20Message\x20processing\x20error:\x20'+_0x550f7b['message']);throw _0x550f7b;}}}),this[_0x270f38(0x19f)]=!![],console[_0x270f38(0x1a9)]('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this[_0x270f38(0x1bb)][_0x270f38(0x16b)](',\x20')),!![];}catch(_0x24e87f){return console['error'](_0x270f38(0x17b)+_0x24e87f[_0x270f38(0x15a)]),![];}}['parseHeaders'](_0x3f4f46){const _0x245266=a0_0x4b16fc;if(!_0x3f4f46)return{};const _0x490306={};for(const [_0xf63c03,_0x5ab3da]of Object[_0x245266(0x167)](_0x3f4f46)){_0x490306[_0xf63c03]=_0x5ab3da?_0x5ab3da['toString']():null;}return _0x490306;}async['pause'](){const _0xf5b826=a0_0x4b16fc;if(!this[_0xf5b826(0x163)]||!this['isRunning'])return console[_0xf5b826(0x1a9)](_0xf5b826(0x19d)),![];if(this[_0xf5b826(0x14c)])return console['log'](_0xf5b826(0x159)),!![];try{const _0x4278be=this[_0xf5b826(0x1bb)]['map'](_0x1b217f=>({'topic':_0x1b217f}));return this['consumer'][_0xf5b826(0x152)](_0x4278be),this['isPaused']=!![],console['log']('[KafkaConsumer]\x20Consumer\x20paused'),!![];}catch(_0x28fc1e){return console['error'](_0xf5b826(0x1b3)+_0x28fc1e['message']),![];}}async['resume'](){const _0x304ab0=a0_0x4b16fc,_0x4cd655={'mIcBc':'[KafkaConsumer]\x20Consumer\x20resumed'};if(!this['isConnected']||!this['isRunning'])return console[_0x304ab0(0x1a9)](_0x304ab0(0x1af)),![];if(!this[_0x304ab0(0x14c)])return console[_0x304ab0(0x1a9)](_0x304ab0(0x187)),!![];try{const _0x4f283e=this['subscribedTopics']['map'](_0x4da5d5=>({'topic':_0x4da5d5}));return this['consumer'][_0x304ab0(0x1b9)](_0x4f283e),this['isPaused']=![],console['log'](_0x4cd655[_0x304ab0(0x170)]),!![];}catch(_0x28f69d){return console[_0x304ab0(0x14d)]('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x28f69d['message']),![];}}async['stop'](){const _0x457eeb=a0_0x4b16fc;if(!this['isConnected'])return console['log'](_0x457eeb(0x173)),!![];try{return this['consumer']&&(await this['consumer'][_0x457eeb(0x194)](),await this[_0x457eeb(0x1bd)]['disconnect']()),this[_0x457eeb(0x163)]=![],this['isRunning']=![],this['isPaused']=![],console['log'](_0x457eeb(0x154)),!![];}catch(_0x307fc7){return console[_0x457eeb(0x14d)](_0x457eeb(0x16c)+_0x307fc7[_0x457eeb(0x15a)]),![];}}async[a0_0x4b16fc(0x1a0)](_0x339b41,_0x1856ef,_0xe5090d){const _0x29a2e6=a0_0x4b16fc;if(!this[_0x29a2e6(0x163)])return console[_0x29a2e6(0x14d)](_0x29a2e6(0x1bf)),![];try{return this['consumer'][_0x29a2e6(0x17d)]({'topic':_0x339b41,'partition':_0x1856ef,'offset':_0xe5090d['toString']()}),console[_0x29a2e6(0x1a9)]('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0xe5090d+_0x29a2e6(0x181)+_0x339b41+':'+_0x1856ef),!![];}catch(_0x3c5a3b){return console['error'](_0x29a2e6(0x161)+_0x3c5a3b['message']),![];}}[a0_0x4b16fc(0x179)](){const _0xb3cd41=a0_0x4b16fc,_0x1f47e8=this[_0xb3cd41(0x1ba)]();return{'enabled':_0x1f47e8[_0xb3cd41(0x193)],'connected':this[_0xb3cd41(0x163)],'running':this['isRunning'],'paused':this['isPaused'],'brokers':_0x1f47e8['brokers'],'clientId':_0x1f47e8[_0xb3cd41(0x1b5)],'groupId':this[_0xb3cd41(0x1b4)],'subscribedTopics':this[_0xb3cd41(0x1bb)]};}['getMetrics'](){const _0x40b079=a0_0x4b16fc,_0x5e708f={'nmWOz':function(_0x4918b9,_0x57ccaa){return _0x4918b9/_0x57ccaa;},'aUqmt':function(_0x44462f,_0x4b2c92){return _0x44462f-_0x4b2c92;},'uDQdt':function(_0x2ba1ca,_0x31f390){return _0x2ba1ca+_0x31f390;}},_0x5ddc42=this['metrics']['processingTimes'][_0x40b079(0x185)]>0x0?this[_0x40b079(0x16a)][_0x40b079(0x1a3)][_0x40b079(0x14b)]((_0x91cb58,_0x3695cb)=>_0x91cb58+_0x3695cb,0x0)/this[_0x40b079(0x16a)][_0x40b079(0x1a3)]['length']:0x0,_0x497094=this['metrics'][_0x40b079(0x1a3)]['length']>0x0?Math['min'](...this[_0x40b079(0x16a)]['processingTimes']):0x0,_0x181de8=this['metrics'][_0x40b079(0x1a3)]['length']>0x0?Math[_0x40b079(0x1c1)](...this[_0x40b079(0x16a)]['processingTimes']):0x0;return{'messagesReceived':this['metrics']['messagesReceived'],'messagesProcessed':this[_0x40b079(0x16a)][_0x40b079(0x1a4)],'messagesFailed':this['metrics']['messagesFailed'],'successRate':this[_0x40b079(0x16a)]['messagesReceived']>0x0?(_0x5e708f[_0x40b079(0x166)](this[_0x40b079(0x16a)][_0x40b079(0x1a4)],this[_0x40b079(0x16a)]['messagesReceived'])*0x64)['toFixed'](0x2)+'%':'0%','lastMessageTime':this['metrics']['lastMessageTime'],'startTime':this[_0x40b079(0x16a)][_0x40b079(0x1aa)],'uptime':this['metrics'][_0x40b079(0x1aa)]?Math['floor'](_0x5e708f[_0x40b079(0x191)](Date[_0x40b079(0x168)](),this[_0x40b079(0x16a)]['startTime'][_0x40b079(0x15d)]())/0x3e8)+'s':'0s','processingTime':{'avg':_0x5e708f[_0x40b079(0x165)](Math[_0x40b079(0x175)](_0x5ddc42),'ms'),'min':_0x497094+'ms','max':_0x181de8+'ms'}};}[a0_0x4b16fc(0x17e)](){const _0x4c13ca=a0_0x4b16fc;this[_0x4c13ca(0x16a)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x4c13ca(0x19f)]?new Date():null,'processingTimes':[]},console['log'](_0x4c13ca(0x1a7));}async['close'](){await this['stop']();}}function a0_0x3556(){const _0x375632=['s0fgs0fFqLjps0vsuW','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','s0r5tee','Bwf4','s0fgs0fFuKvuuLLFqvruru1qvfm','zw52','nZq0nJi0B2HfyLvP','mtK1nde3wuHKB01X','tw9wzwi','y29UC3vTzxiUC3rVCa','icHMCM9TqMvNAw5UAw5NoIa','Cgf5Bg9Hza','s0fgs0fFuKvuuLLFrevmqvK','A2v5','CMvKDwnL','AxnqyxvZzwq','zxjYB3i','y29UBMvJDgLVBLbYB21PC2u','D2fYBG','y29UBMvJDgLVBLrPBwvVDxq','Dg9tDhjPBMC','Cgf1C2u','vhfZt1q','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','ndb3BfPjyNu','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','mZy2rNDftKvU','s0fgs0fFu0fttf9nruniqu5ju00','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','BwvZC2fNzq','ndiXmti5nK1orfr6Ba','Bg9JywXOB3n0oJKWoti','z2v0vgLTzq','ChvZAa','CMvZDgzVCMDLlq','Bg9Ntgv2zwW','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','DxvPza','AxndB25Uzwn0zwq','tLDXCgy','Durrzhq','BM1xt3O','zw50CMLLCW','BM93','ntaWma','Bwv0CMLJCW','AM9PBG','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','we1bEgu','AxnjBML0AwfSAxPPBMC','CfHfz2m','BuLJqMm','rvjst1i','mZaWmda','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','tuDVDvO','CM91BMq','BwvZC2fNzuHHBMrSzxi','s0fgs0fFuKvrvuvtvf9usu1ft1vu','C3rHCNrdB25ZDw1PBMC','z2v0u3rHDhvZ','mZaWma','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','Dg9mB3DLCKnHC2u','C2vLAW','CMvZzxrnzxrYAwnZ','DMfSDwu','y29UBMvJDa','ig9Uia','s0fgs0fFu0fttf9qqvntv09sra','B2zMC2v0','BKLXwwW','BgvUz3rO','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbWyxvZzwq','AgvHzgvYCW','yxv0B0nVBw1PDa','w0THzMTHq29UC3vTzxjDieTHzMTHignVBNn1BwvYigLZigrPC2fIBgvKigLUignVBMzPz3vYyxrPB24','yNjVA2vYCW','s0fgs0fFsevbuLrcrufux0LovevsvKfm','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','C2vZC2LVBLrPBwvVDxq','C3vIC2nYAwjL','CMv0CNLezwXHEq','yvvXBxq','odi2odK3ne5lB0TSzG','zw5HyMXLza','C3rVCa','s0fgs0fFru5bqKXfra','zxHWB3j0CW','s0fgs0fFq0Xjru5ux0Le','s0fgs0fFqvvut19dt01nsvq','y2XVC2u','v0fstG','BgfZDe1LC3nHz2vuAw1L','revcvuC','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','mty5odqXogHTBKjZqW','AxnsDw5UAw5N','C2vLA1rVt2zMC2v0','mtyWmJaXnwvftgLWyW','AxLAAwS','ChjVy2vZC2LUz1rPBwvZ','BwvZC2fNzxnqCM9JzxnZzwq','y29UC3vTzxiUzgLZy29UBMvJDa','BwvZC2fNzxnszwnLAxzLza','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','BwvZC2fNzxngywLSzwq','Bg9N','C3rHCNruAw1L','C2HPzNq','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','s0fgs0fFu0fttf9vu0vstKfnrq','su5gtW','m3W5FdH8n3WYFdb8mxW1FdeWFdz8na','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','z3jVDxbjza','y2XPzw50swq','Du5dqLC','Dhj1zq','mZyYmZvkvhLwDfG','CMvZDw1L','z2v0q29UzMLN','C3vIC2nYAwjLzfrVCgLJCW','C2v0DxbfDMvUDeHHBMrSzxjZ','y29UC3vTzxi'];a0_0x3556=function(){return _0x375632;};return a0_0x3556();}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x201473=a0_0x4b16fc;instance&&(instance[_0x201473(0x199)](),instance=null);}function createInstance(){return new KafkaConsumerService();}module[a0_0x4b16fc(0x196)]={'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_0x5de4b0=a0_0x1704;(function(_0xd853bb,_0x2b67cd){const _0x2b81d4=a0_0x1704,_0x2136b4=_0xd853bb();while(!![]){try{const _0x47e208=parseInt(_0x2b81d4(0xfd))/0x1+parseInt(_0x2b81d4(0x13f))/0x2+-parseInt(_0x2b81d4(0x131))/0x3*(-parseInt(_0x2b81d4(0x12c))/0x4)+-parseInt(_0x2b81d4(0x13b))/0x5*(parseInt(_0x2b81d4(0x10d))/0x6)+parseInt(_0x2b81d4(0x11b))/0x7*(parseInt(_0x2b81d4(0x126))/0x8)+parseInt(_0x2b81d4(0x120))/0x9*(-parseInt(_0x2b81d4(0x138))/0xa)+-parseInt(_0x2b81d4(0x104))/0xb;if(_0x47e208===_0x2b67cd)break;else _0x2136b4['push'](_0x2136b4['shift']());}catch(_0x408f14){_0x2136b4['push'](_0x2136b4['shift']());}}}(a0_0x3ea1,0xe7507));const {Kafka,logLevel,Partitioners}=require('kafkajs'),{v7:uuidv7}=require(a0_0x5de4b0(0x102));function a0_0x3ea1(){const _0xd8dbb4=['w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwqGz3jHy2vMDwXSEq','s0fgs0fFuKvuuLLFrevmqvK','nZbqwKDqBxG','uKvtvezpuKDflq','CMvXDwvZDfrPBwvVDxq','zw52','Dg9WAwm','mJKYnJG5uffer3Hz','ru5usvrzx0rftevuruq','zgvMyxvSDa','Ew5xuha','A2v5rMLLBgq','Dg9vChbLCKnHC2u','nZa0mtq0BM5MtxLq','tK9useLorW','A2fMA2e','z2v0rgf0zq','s0fgs0fFvevoqu5ux0Le','zgvSzxrLza','mti4mZzJAMn2yKi','w0THzMTHxsbfDMvUDcbWDwjSAxnOzwqGDg8G','z2v0tg9Ntgv2zwW','y29UBMvJDgLVBLrPBwvVDxq','ms4W','ndCXBuDAuezf','DgfIBgvoyw1L','CMvZDgzVCMDLlq','w0THzMTHxsbqCM9KDwnLCIbJB25Uzwn0zwqGDg8GyNjVA2vYCZOG','AxndB25Uzwn0zwq','u1Ltvevn','r3DHD1y','mtbczMDeEMS','s0fgs0fFqLjps0vsuW','AuPmB1y','nZG5mJa4nujusfzAsW','AxnjBML0AwfSAxPPBMC','z2v0sg91CNm','tNzYzvy','mJa4odK3ogLwD09PtG','Bg9JywXOB3n0oJKWoti','s0fgs0fFuKvuuLLFqvruru1qvfm','BwvZC2fNzq','s0fgs0fFu0fttf9qqvntv09sra','mJuWmda','mZaWma','yNjVA2vYCW','Bw9KDwXL','ru5usvrzx0nsrufuruq','z2v0q29UzMLN','CMvWBgfJzq','shHbzg0','w0THzMTHxsbdB25Uzwn0Aw9UigzHAwXLzdOG','ru5usvrzx1vqrefuruq','Bg9Ntgv2zwW','zxHWB3j0CW','y29YCMvSyxrPB25jza','ChvIBgLZAerLBgv0zq','yNvPBgruB3bPy05HBwu','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','C3rYAw5NAwz5','ChvIBgLZAfvWzgf0zq','z2v0twLUDxrLCW','sNH5t3C','Bg9N','CMv0CNLezwXHEq','s0fgs0fFq09otKvdveLptL9usu1ft1vu','mtmWodG4ohf0tK9WEq','y29UBMvJDgLVBLbYB21PC2u','E2vUzhbVAw50Fq','C2vUza','zxjYB3i','DxvPza','Dg9WAwnqyxr0zxjU','mti5nJG2ntLXtfjuEfq','zw5HyMXLza','z2v0u2vJB25KCW','wKjnqK0','ChjVzhvJzxi','rMfPBgvKihrVignVBM5Ly3qGDg8Gs2fMA2eGyNjVA2vY','C3bSAxq','y2XPzw50swq','zgLZy29UBMvJDa','nLn4zu56Ea','EMnyvKy','v0fstG','yMfZzu9MzNnLDa','s0fgs0fFve9qsunFuefuvevstG','y2XVC2u','DxbKyxrLza','ChvIBgLZAev2zw50','CgfKu3rHCNq','s0fgs0fFq0Xjru5ux0Le','tMf4y1i','Bxjzrvq'];a0_0x3ea1=function(){return _0xd8dbb4;};return a0_0x3ea1();}class KafkaService{constructor(){const _0x35f8ef=a0_0x5de4b0,_0x243f66='0|2|3|1|4'[_0x35f8ef(0x10a)]('|');let _0x2562f0=0x0;while(!![]){switch(_0x243f66[_0x2562f0++]){case'0':this['kafka']=null;continue;case'1':this[_0x35f8ef(0x13c)]=![];continue;case'2':this[_0x35f8ef(0x108)]=null;continue;case'3':this['isConnected']=![];continue;case'4':this[_0x35f8ef(0xfe)]=null;continue;}break;}}['getConfig'](){const _0x3a80c0=a0_0x5de4b0,_0x80be87={'KETEv':function(_0x4347bf,_0x57991d){return _0x4347bf===_0x57991d;},'gEzSf':'true','uyttx':_0x3a80c0(0x122),'ZBMBM':function(_0x5db282,_0x57e32d){return _0x5db282(_0x57e32d);},'mrYET':'{module}.{endpoint}.events'};return{'enabled':_0x80be87['KETEv'](process[_0x3a80c0(0x11e)]['KAFKA_ENABLED'],_0x80be87['gEzSf']),'brokers':(process['env'][_0x3a80c0(0x139)]||_0x3a80c0(0x140))[_0x3a80c0(0x10a)](','),'clientId':process['env'][_0x3a80c0(0x116)]||'restforge-'+(process[_0x3a80c0(0x11e)][_0x3a80c0(0xf5)]||_0x80be87['uyttx'])+'-producer','connectionTimeout':_0x80be87[_0x3a80c0(0x107)](parseInt,process['env'][_0x3a80c0(0xfc)]||_0x3a80c0(0x145)),'requestTimeout':parseInt(process[_0x3a80c0(0x11e)]['KAFKA_REQUEST_TIMEOUT']||_0x3a80c0(0x144)),'topicPattern':process[_0x3a80c0(0x11e)][_0x3a80c0(0x111)]||_0x80be87[_0x3a80c0(0x118)],'tenantId':process['env'][_0x3a80c0(0x12a)]||'default','retryAttempts':_0x80be87['ZBMBM'](parseInt,process['env'][_0x3a80c0(0x141)]||'3'),'retryDelay':_0x80be87['ZBMBM'](parseInt,process[_0x3a80c0(0x11e)][_0x3a80c0(0x11a)]||'1000'),'logLevel':process[_0x3a80c0(0x11e)]['KAFKA_LOG_LEVEL']||'warn'};}[a0_0x5de4b0(0x12e)](_0x7cc6ba){const _0x5797d9=a0_0x5de4b0,_0x278233={'nothing':logLevel[_0x5797d9(0x127)],'error':logLevel['ERROR'],'warn':logLevel[_0x5797d9(0x10f)],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0x278233[_0x7cc6ba['toLowerCase']()]||logLevel[_0x5797d9(0x10f)];}async['initialize'](){const _0x9d829f=a0_0x5de4b0,_0x166ea2={'hRiuH':'[Kafka]\x20Producer\x20disconnected','JxyOw':function(_0x4a7e32,_0x516aab){return _0x4a7e32===_0x516aab;},'PjQSb':'true','CYkuI':'producer.disconnect','GwawV':'[Kafka]\x20Kafka\x20producer\x20is\x20disabled\x20in\x20configuration'},_0x3710ab=this['getConfig']();if(!_0x3710ab['enabled'])return console['log'](_0x166ea2[_0x9d829f(0x137)]),![];if(this['isConnected'])return!![];if(this[_0x9d829f(0x13c)]&&this[_0x9d829f(0xfe)])return this[_0x9d829f(0xfe)];return this['isInitializing']=!![],this[_0x9d829f(0xfe)]=new Promise(async _0xb4b41a=>{const _0x1020e9=_0x9d829f,_0x1c0434={'NaxcR':_0x166ea2['hRiuH']};try{let _0x44dbc4=undefined;_0x166ea2[_0x1020e9(0xf9)](process[_0x1020e9(0x11e)]['KAFKA_SSL'],_0x166ea2['PjQSb'])&&(_0x44dbc4=!![]);let _0x2ec31c=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x2ec31c={'mechanism':process[_0x1020e9(0x11e)]['KAFKA_SASL_MECHANISM'],'username':process[_0x1020e9(0x11e)]['KAFKA_SASL_USERNAME']||'','password':process[_0x1020e9(0x11e)][_0x1020e9(0x143)]||''}),this['kafka']=new Kafka({'clientId':_0x3710ab[_0x1020e9(0x10b)],'brokers':_0x3710ab['brokers'],'connectionTimeout':_0x3710ab[_0x1020e9(0x12f)],'requestTimeout':_0x3710ab[_0x1020e9(0x11d)],'logLevel':this['getLogLevel'](_0x3710ab[_0x1020e9(0xf0)]),'ssl':_0x44dbc4,'sasl':_0x2ec31c,'retry':{'initialRetryTime':_0x3710ab[_0x1020e9(0xfb)],'retries':_0x3710ab['retryAttempts']}}),this[_0x1020e9(0x108)]=this[_0x1020e9(0x128)]['producer']({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners['LegacyPartitioner']}),await this[_0x1020e9(0x108)]['connect'](),this['isConnected']=!![],console['log'](_0x1020e9(0x134)+_0x3710ab[_0x1020e9(0x146)]['join'](',\x20')),this['producer']['on'](_0x166ea2['CYkuI'],()=>{const _0x296f63=_0x1020e9;console[_0x296f63(0xfa)](_0x1c0434[_0x296f63(0x117)]),this[_0x296f63(0x135)]=![];}),_0xb4b41a(!![]);}catch(_0x2d9f0f){console[_0x1020e9(0x101)](_0x1020e9(0xee)+_0x2d9f0f[_0x1020e9(0x142)]),this['isConnected']=![],_0xb4b41a(![]);}finally{this['isInitializing']=![];}}),this[_0x9d829f(0xfe)];}['formatDateTime'](_0x4024a2){const _0x271956=a0_0x5de4b0,_0x16963a={'Mrfya':function(_0x2fb8da,_0x5d676e){return _0x2fb8da(_0x5d676e);}},_0x24cd82=_0x4024a2||new Date(),_0x479fc4=_0x24cd82['getFullYear'](),_0x41dfe7=_0x16963a['Mrfya'](String,_0x24cd82['getMonth']()+0x1)['padStart'](0x2,'0'),_0x35ed8f=_0x16963a['Mrfya'](String,_0x24cd82[_0x271956(0x129)]())[_0x271956(0x115)](0x2,'0'),_0x14dc38=String(_0x24cd82[_0x271956(0x13d)]())['padStart'](0x2,'0'),_0x32628a=String(_0x24cd82[_0x271956(0xf8)]())['padStart'](0x2,'0'),_0x3fef9f=String(_0x24cd82[_0x271956(0x106)]())[_0x271956(0x115)](0x2,'0');return _0x479fc4+'-'+_0x41dfe7+'-'+_0x35ed8f+'\x20'+_0x14dc38+':'+_0x32628a+':'+_0x3fef9f;}['buildTopicName'](_0x549097,_0x1975d4,_0x114b82,_0x48cbbb=null){const _0x136d81=a0_0x5de4b0;if(_0x48cbbb)return _0x48cbbb;const _0xa42b09=this[_0x136d81(0xeb)]()[_0x136d81(0x103)];return _0xa42b09[_0x136d81(0xec)]('{module}',_0x549097)[_0x136d81(0xec)](_0x136d81(0xff),_0x1975d4)[_0x136d81(0xec)]('{action}',_0x114b82);}['buildEventMessage'](_0x122ffa,_0x2eff3d,_0xa74d19,_0x1c686c={}){const _0x50e84f=a0_0x5de4b0,_0x31858d={'iKFdp':function(_0x581bee){return _0x581bee();},'ynWPp':'unknown'},_0x1f1c18=new Date(),_0x2d69e7=this['formatDateTime'](_0x1f1c18),_0x4d842b=_0x1c686c[_0x50e84f(0xf2)]||'corr-'+uuidv7();return{'eventId':'evt-'+_0x31858d['iKFdp'](uuidv7),'eventType':_0x122ffa,'eventTime':_0x2d69e7,'eventVersion':_0x50e84f(0x130),'source':_0x50e84f(0x133)+(_0x1c686c[_0x50e84f(0x147)]||_0x31858d['ynWPp']),'correlationId':_0x4d842b,'newData':_0xa74d19,'oldData':_0x2eff3d,'metadata':{'createdBy':_0x1c686c['createdBy']||_0x50e84f(0x136),'createdAt':_0x2d69e7,'systemId':_0x50e84f(0x11c)+(_0x1c686c['module']||_0x31858d[_0x50e84f(0x123)])[_0x50e84f(0x125)](),'tenantId':this['getConfig']()['tenantId'],'endpoint':_0x1c686c['endpoint']||null,'tableName':_0x1c686c[_0x50e84f(0x132)]||null}};}async[a0_0x5de4b0(0x114)](_0x108f9a,_0x430485,_0x28b296,_0x106788,_0x5c9836={}){const _0x2c6da0=a0_0x5de4b0,_0x50cb62={'gkduc':'Kafka\x20producer\x20is\x20disabled','OpPGg':_0x2c6da0(0x109),'iJLoV':function(_0x2c418c){return _0x2c418c();},'HxAdm':function(_0x37cc54,_0xd7f15c){return _0x37cc54(_0xd7f15c);}},_0x2c8218=this[_0x2c6da0(0xeb)]();if(!_0x2c8218[_0x2c6da0(0x105)])return{'success':![],'reason':_0x50cb62['gkduc'],'published':![]};if(!this['isConnected']){const _0x3e99e3=await this['initialize']();if(!_0x3e99e3)return{'success':![],'reason':_0x50cb62['OpPGg'],'published':![]};}try{const _0x53f950=this['buildEventMessage'](_0x430485,_0x28b296,_0x106788,_0x5c9836),_0x2a08cb=_0x5c9836['keyField']||'id',_0x308034=_0x106788?.[_0x2a08cb]||_0x28b296?.[_0x2a08cb]||_0x50cb62[_0x2c6da0(0x13a)](uuidv7),_0x3dcf1f=await this['producer'][_0x2c6da0(0x100)]({'topic':_0x108f9a,'messages':[{'key':_0x50cb62[_0x2c6da0(0xed)](String,_0x308034),'value':JSON[_0x2c6da0(0xf6)](_0x53f950),'headers':{'event-type':_0x430485,'correlation-id':_0x53f950['correlationId'],'source':_0x53f950['source']}}]});return console[_0x2c6da0(0xfa)](_0x2c6da0(0x12d)+_0x108f9a+':\x20'+_0x430485+'\x20(key:\x20'+_0x308034+')'),{'success':!![],'correlationId':_0x53f950['correlationId'],'topic':_0x108f9a,'partition':_0x3dcf1f[0x0]?.['partition'],'offset':_0x3dcf1f[0x0]?.[_0x2c6da0(0x110)],'published':!![]};}catch(_0x16ba93){return console[_0x2c6da0(0x101)]('[Kafka]\x20Publish\x20error\x20to\x20'+_0x108f9a+':\x20'+_0x16ba93[_0x2c6da0(0x142)]),{'success':![],'error':_0x16ba93['message'],'published':![]};}}async['publishInsert'](_0x40cfb9,_0x2e2694,_0x347698,_0x375b2c={}){const _0x1b9d97=a0_0x5de4b0,_0x3b7628={'zcXVF':'created','ZYCKa':_0x1b9d97(0xea)},_0x2c2057=this[_0x1b9d97(0xf4)](_0x40cfb9,_0x2e2694,_0x3b7628[_0x1b9d97(0x10e)],_0x375b2c[_0x1b9d97(0x11f)]);return this[_0x1b9d97(0x114)](_0x2c2057,_0x3b7628['ZYCKa'],null,_0x347698,{'module':_0x40cfb9,'endpoint':_0x2e2694,'keyField':_0x375b2c[_0x1b9d97(0x124)],'tableName':_0x375b2c[_0x1b9d97(0x132)],'correlationId':_0x375b2c[_0x1b9d97(0xf2)]});}async[a0_0x5de4b0(0xf7)](_0x8b1f41,_0x1dcc63,_0x5aae96,_0x5b13c7,_0xd3aa70={}){const _0x22a2a6=a0_0x5de4b0,_0x23fc0a={'NvreV':_0x22a2a6(0x113)},_0xfc2707=this[_0x22a2a6(0xf4)](_0x8b1f41,_0x1dcc63,_0x23fc0a[_0x22a2a6(0x13e)],_0xd3aa70[_0x22a2a6(0x11f)]);return this['publishEvent'](_0xfc2707,_0x22a2a6(0xef),_0x5aae96,_0x5b13c7,{'module':_0x8b1f41,'endpoint':_0x1dcc63,'keyField':_0xd3aa70['keyField'],'tableName':_0xd3aa70['tableName'],'correlationId':_0xd3aa70['correlationId']});}async[a0_0x5de4b0(0xf3)](_0x23d003,_0x3120f1,_0x5c7f7e,_0x4e3c32={}){const _0x2ba32d=a0_0x5de4b0,_0xa8cf6c={'HJlVO':_0x2ba32d(0x12b)},_0x38d252=this['buildTopicName'](_0x23d003,_0x3120f1,_0xa8cf6c['HJlVO'],_0x4e3c32['topic']);return this['publishEvent'](_0x38d252,_0x2ba32d(0x121),_0x5c7f7e,null,{'module':_0x23d003,'endpoint':_0x3120f1,'keyField':_0x4e3c32[_0x2ba32d(0x124)],'tableName':_0x4e3c32[_0x2ba32d(0x132)],'correlationId':_0x4e3c32[_0x2ba32d(0xf2)]});}['getStatus'](){const _0x316ad0=a0_0x5de4b0,_0x4a996c=this[_0x316ad0(0xeb)]();return{'enabled':_0x4a996c['enabled'],'connected':this['isConnected'],'brokers':_0x4a996c['brokers'],'clientId':_0x4a996c[_0x316ad0(0x10b)],'topicPattern':_0x4a996c[_0x316ad0(0x103)]};}async[a0_0x5de4b0(0x112)](){const _0x568616=a0_0x5de4b0;if(this[_0x568616(0x108)]&&this['isConnected'])try{await this['producer'][_0x568616(0x10c)](),this[_0x568616(0x135)]=![],console['log'](_0x568616(0x119));}catch(_0x5a4623){console[_0x568616(0x101)]('[Kafka]\x20Error\x20disconnecting:\x20'+_0x5a4623[_0x568616(0x142)]);}}}let instance=null;function a0_0x1704(_0x2c28cc,_0xfe1280){_0x2c28cc=_0x2c28cc-0xea;const _0x3ea187=a0_0x3ea1();let _0x170416=_0x3ea187[_0x2c28cc];if(a0_0x1704['bgPnmn']===undefined){var _0xe95e7a=function(_0x1273d7){const _0x19608d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x16e2f9='',_0x5cc69d='';for(let _0x381d03=0x0,_0x279f7a,_0x4392e8,_0x34c3a4=0x0;_0x4392e8=_0x1273d7['charAt'](_0x34c3a4++);~_0x4392e8&&(_0x279f7a=_0x381d03%0x4?_0x279f7a*0x40+_0x4392e8:_0x4392e8,_0x381d03++%0x4)?_0x16e2f9+=String['fromCharCode'](0xff&_0x279f7a>>(-0x2*_0x381d03&0x6)):0x0){_0x4392e8=_0x19608d['indexOf'](_0x4392e8);}for(let _0x512b2e=0x0,_0x299263=_0x16e2f9['length'];_0x512b2e<_0x299263;_0x512b2e++){_0x5cc69d+='%'+('00'+_0x16e2f9['charCodeAt'](_0x512b2e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5cc69d);};a0_0x1704['gWqDsT']=_0xe95e7a,a0_0x1704['dRVxGj']={},a0_0x1704['bgPnmn']=!![];}const _0x18a00c=_0x3ea187[0x0],_0x5ce0c4=_0x2c28cc+_0x18a00c,_0x4882f7=a0_0x1704['dRVxGj'][_0x5ce0c4];return!_0x4882f7?(_0x170416=a0_0x1704['gWqDsT'](_0x170416),a0_0x1704['dRVxGj'][_0x5ce0c4]=_0x170416):_0x170416=_0x4882f7,_0x170416;}function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}module[a0_0x5de4b0(0xf1)]={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};
|
|
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_0x3c524a=a0_0x1388;function a0_0x1388(_0x526019,_0x1d2134){_0x526019=_0x526019-0x72;const _0x2cda56=a0_0x2cda();let _0x138858=_0x2cda56[_0x526019];if(a0_0x1388['aNvwgM']===undefined){var _0x5992f9=function(_0x183676){const _0x1eb3ab='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xf428cd='',_0x817687='';for(let _0x6c934a=0x0,_0x3058b1,_0x47e883,_0x14a84b=0x0;_0x47e883=_0x183676['charAt'](_0x14a84b++);~_0x47e883&&(_0x3058b1=_0x6c934a%0x4?_0x3058b1*0x40+_0x47e883:_0x47e883,_0x6c934a++%0x4)?_0xf428cd+=String['fromCharCode'](0xff&_0x3058b1>>(-0x2*_0x6c934a&0x6)):0x0){_0x47e883=_0x1eb3ab['indexOf'](_0x47e883);}for(let _0x38878d=0x0,_0xe633de=_0xf428cd['length'];_0x38878d<_0xe633de;_0x38878d++){_0x817687+='%'+('00'+_0xf428cd['charCodeAt'](_0x38878d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x817687);};a0_0x1388['zlQJzN']=_0x5992f9,a0_0x1388['hcdQdG']={},a0_0x1388['aNvwgM']=!![];}const _0x1c24a5=_0x2cda56[0x0],_0xc95902=_0x526019+_0x1c24a5,_0x2e5e1f=a0_0x1388['hcdQdG'][_0xc95902];return!_0x2e5e1f?(_0x138858=a0_0x1388['zlQJzN'](_0x138858),a0_0x1388['hcdQdG'][_0xc95902]=_0x138858):_0x138858=_0x2e5e1f,_0x138858;}(function(_0x2fa759,_0x324540){const _0x297d3d=a0_0x1388,_0x4aab=_0x2fa759();while(!![]){try{const _0x421b26=-parseInt(_0x297d3d(0xcb))/0x1+parseInt(_0x297d3d(0xb7))/0x2*(-parseInt(_0x297d3d(0xbf))/0x3)+-parseInt(_0x297d3d(0xc4))/0x4+parseInt(_0x297d3d(0xbd))/0x5*(-parseInt(_0x297d3d(0x91))/0x6)+parseInt(_0x297d3d(0x81))/0x7*(-parseInt(_0x297d3d(0xc7))/0x8)+-parseInt(_0x297d3d(0x77))/0x9+parseInt(_0x297d3d(0xc1))/0xa;if(_0x421b26===_0x324540)break;else _0x4aab['push'](_0x4aab['shift']());}catch(_0x4b5e9f){_0x4aab['push'](_0x4aab['shift']());}}}(a0_0x2cda,0x76d8b));function a0_0x2cda(){const _0xafd2d3=['y29UzMLN','rxjYB3iGC2fHDcbTzw51DhvWigTVBMvRC2K6ia','pt09pt09ierbveeGufvcteLtscbnrvntquDfid09pt09pq','CvHmvhG','ChvIBgLZAa','ufrAsKq','v0z4wNi','zNvUy3rPB24','Bg9N','twvZC2fNzsbuExbLoIa','CMvZDgzVCMDLlq','vgvYChv0DxmGzgfYAsbZzxj2zxiUiefSyxnHBJOG','DMP3ChC','twvZC2fNzsbZzw50ihn1y2nLC3nMDwXSEq','vgLWzsblB211BMLRyxnPoIa','ndm4Eu5yChfN','vgLKywSGzgfWyxqGBwvUzw11A2fUig1LDg9Kzsb1BNr1AYbTzw51DhvWigTVBMvRC2KGtwvZC2fNzuH1yG','s29UzwTZAsbnzxnZywDLshvIihnLzgfUzYbIzxjSyw5NC3vUzYWGBwvUDw5Nz3uUlI4','wKjRsvG','Cgf0Aa','twvZC2fNzuH1yIbtreSGBM90igzVDw5Kigf0ia','CMvXDwvZDeLK','tvnivujFqvbjx1bpuLq','igrPDgvYAw1Hig9SzwGG','tvnivujFse9tva','u05wAui','u3nds2y','Bg9JywXOB3n0','C3jsD00','ChvIBgLZAeTLEq','y2XVC2u','tvnivujFu1vcu0nssujfx0Tfwq','Dg9WAwm','yNjVywrJyxn0','uNvtEuq','rMfPBgvKihrVihnLBMqGBwvZC2fNzq','zgLZy29UBMvJDgvK','twvUz2LYAw0GCgvZyw4GA2uGC2vYDMvYlI4U','tMfqtLu','C29JA2v0','twvZC2fNzsbZzw50ihn1y2nLC3nMDwXSEsb0BYb0B3bPyYa','CMvXDwLYzufJAW','CgLK','BNf4Agu','y2HHBM5LBa','vw5RBM93BG','ChfwrxK','zw52','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUihnVy2TLDc5KAxnJB25Uzwn0kcK','BwvZC2fNzq','4PQG77IpievYCM9YoIa','D0v3C0e','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUignSB3nLkcK','nte1otHqq0ruBMy','t1L6AK0','8j+tPcbqzxnHBIbIzxjOyxnPBcbKAwTPCMLTisbszxf1zxn0suq6ia','zxHPC3rZu3LUyW','CMvHC29U','DxvPza','mJuYotv4EM15vNO','s29UzMLNDxjHC2KGugXHDgzVCM06ia','m1vRENf1sW','zgLZy29UBMvJDa','mJq3mZu1ntbIs0nitNe','Dg9mB2nHBgvtDhjPBMC','D3rsB3y','mJa4mdq4ohbHquPtDG','zxHWB3j0CW','pt09pt09ieLorK9stuftssbdteLftLqGtuvtu0fhruHvqIa9pt09pt0','mtzwCMrwv0K','C3vIC2nYAwjLs2v5','y2f0zwDVCNK','q29UBMvJDgLVBIb0Aw1LB3v0','nteYmZyWCeLYD3vX','tvnivujFq09ntvvosunbveLptL9uwvbf','CMvJzwL2zwrbDa','DxnLCKLK','D2zeDKy','ywrKtgLZDgvUzxi','zxjYB3i','BMDIu20','rxjYB3iGBg9HzgLUzYbnzxnZywDLshvIifnesZOG','BwvZC2fNzs1YzwnLAxzLza','zgvMyxvSDa','qLDeyMu','rMHUwvu','mJm5odyWofrSBM9wBq','v09qzKC','yxjws3O','rxjYB3iGAw5PC2LHBgLZyxnPie1LC3nHz2viDwi6','BMfTzq','pt09pt09ie1vtefjieLosvnjquXju0ftssbnrvntquDfsfvcid09pt09pq','CgXHDgzVCM1dB25MAwC','CMvZDgzVCMDL','rencueu','zg90zw52','mtaYndmXmfPeruj2DG'];a0_0x2cda=function(){return _0xafd2d3;};return a0_0x2cda();}const dotenv=require(a0_0x3c524a(0x80)),path=require(a0_0x3c524a(0x95)),fs=require('fs'),{v7:uuidv7}=require(a0_0x3c524a(0xbc));dotenv[a0_0x3c524a(0x82)]();let MessageHub;try{const messagehubPath=path['resolve'](__dirname,'../../js/messagehub.js');if(fs[a0_0x3c524a(0xba)](messagehubPath))MessageHub=require(messagehubPath),console[a0_0x3c524a(0x8a)]('MessageHub\x20SDK\x20found\x20at\x20'+messagehubPath);else throw new Error(a0_0x3c524a(0x96)+messagehubPath);}catch(a0_0x548311){console[a0_0x3c524a(0xd1)](a0_0x3c524a(0x72)+a0_0x548311[a0_0x3c524a(0xb3)]);throw a0_0x548311;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function log(_0x570126){const _0x3d68e4=a0_0x3c524a,_0x401a4e=new Date()['toISOString']();console[_0x3d68e4(0x8a)]('['+_0x401a4e+']\x20'+_0x570126);}async function initMessageHub(){const _0x5703c6=a0_0x3c524a,_0x24f7df={'WFxZr':function(_0x1b3d03,_0x491315){return _0x1b3d03(_0x491315);},'RCqjI':'connected','CnYTF':function(_0x54279c,_0x11bd14){return _0x54279c(_0x11bd14);},'sABHA':function(_0x347b5f,_0x4f6151){return _0x347b5f===_0x4f6151;},'ZBkIX':function(_0x59a9d6,_0x296820){return _0x59a9d6===_0x296820;},'hkHJN':'Tidak\x20diketahui','SsCKf':function(_0xf74db4,_0x5de8a5){return _0xf74db4(_0x5de8a5);},'PTZJD':_0x5703c6(0xd1),'DCBPE':function(_0xba66a9,_0x562a85){return _0xba66a9(_0x562a85);},'wfDvF':_0x5703c6(0x73),'wEwsA':function(_0x161ea7,_0x406199){return _0x161ea7(_0x406199);},'pqVEy':function(_0x35235a,_0x102f61){return _0x35235a&&_0x102f61;},'dVbdT':function(_0x24745c,_0x3505e3){return _0x24745c(_0x3505e3);},'nqxhe':_0x5703c6(0xca),'qXLTx':'Mode:\x20Koneksi\x20Nyata','WOPfG':'true','LwtGy':function(_0x40a279,_0xebc739){return _0x40a279===_0xebc739;},'NaPNU':_0x5703c6(0x9d),'OYzjM':function(_0x3baa44,_0x5b0c47){return _0x3baa44(_0x5b0c47);},'YVZdJ':_0x5703c6(0xc6),'wtMqg':function(_0x3d763b,_0x445293){return _0x3d763b(_0x445293);}};if(messagehub&&isConnected)return log('MessageHub\x20sudah\x20terhubung,\x20menggunakan\x20koneksi\x20yang\x20ada'),!![];if(connectionPromise)return log(_0x5703c6(0x93)),connectionPromise;return connectionPromise=new Promise(async(_0x42ae93,_0x49a4f1)=>{const _0x1aa914=_0x5703c6;try{log(_0x1aa914(0x7c)),log('Waktu\x20Inisialisasi:\x20'+new Date()[_0x1aa914(0xc2)]()),_0x24f7df['dVbdT'](log,_0x24f7df[_0x1aa914(0x85)]);const _0x4ad1af={'publishKey':process[_0x1aa914(0xb1)]['MSHUB_PUBLISH_KEY'],'subscribeKey':process[_0x1aa914(0xb1)][_0x1aa914(0xa1)],'userId':process['env']['MSHUB_USER_ID']||_0x1aa914(0x8c)+(process['env']['RESTFORGE_PROJECT_NAME']||_0x1aa914(0x74))+'-'+process[_0x1aa914(0xac)],'communicationType':process['env']['MSHUB_COMMUNICATION_TYPE']||_0x1aa914(0xa3),'autoAcknowledge':process['env']['MSHUB_AUTO_ACKNOWLEDGE']===_0x24f7df[_0x1aa914(0x78)],'acknowledgeMessages':_0x24f7df['LwtGy'](process[_0x1aa914(0xb1)]['MSHUB_ACKNOWLEDGE_MESSAGES'],'true'),'platform':{'type':process['env'][_0x1aa914(0xcc)]||'websocket','host':process['env'][_0x1aa914(0x9a)]||_0x24f7df[_0x1aa914(0xa8)],'api_port':parseInt(process['env'][_0x1aa914(0x98)]||0xdf8),'service_port':_0x24f7df[_0x1aa914(0xb8)](parseInt,process['env']['MSHUB_SERVICE_PORT']||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x4ad1af),log(_0x24f7df['YVZdJ']),log('Client\x20ID/UserID:\x20'+messagehub[_0x1aa914(0xce)]),_0x24f7df['DCBPE'](log,'Publish\x20Key:\x20'+messagehub[_0x1aa914(0x9f)]),log('Subscribe\x20Key:\x20'+messagehub[_0x1aa914(0xc8)]),_0x24f7df[_0x1aa914(0xb5)](log,_0x1aa914(0x90)+messagehub['communicationType']),_0x24f7df['wtMqg'](log,_0x1aa914(0xbe)+JSON['stringify'](messagehub[_0x1aa914(0x7d)])),log('========================================'),messagehub[_0x1aa914(0xd0)]({'status':function(_0x3b2f11){const _0x1554c9=_0x1aa914;_0x24f7df[_0x1554c9(0x88)](log,'Status\x20Listener:\x20'+_0x3b2f11[_0x1554c9(0xc9)]);if(_0x3b2f11[_0x1554c9(0xc9)]===_0x24f7df['RCqjI'])_0x24f7df['CnYTF'](log,'Terhubung\x20ke\x20server\x20MessageHub'),isConnected=!![],timeoutHandler&&(_0x24f7df[_0x1554c9(0x88)](clearTimeout,timeoutHandler),timeoutHandler=null),_0x24f7df['CnYTF'](_0x42ae93,!![]);else{if(_0x24f7df['sABHA'](_0x3b2f11[_0x1554c9(0xc9)],_0x1554c9(0xa6))){const _0x1ba416=_0x24f7df[_0x1554c9(0x94)](_0x3b2f11['isErrorRelated'],!![]);!_0x1ba416&&(log(_0x1554c9(0x8d)+(_0x3b2f11[_0x1554c9(0xbb)]||_0x24f7df['hkHJN'])),isConnected=![],connectionPromise&&(_0x24f7df['SsCKf'](_0x49a4f1,new Error('Koneksi\x20terputus:\x20'+(_0x3b2f11['reason']||_0x24f7df['hkHJN']))),connectionPromise=null));}else{if(_0x3b2f11['category']===_0x24f7df[_0x1554c9(0x87)]){let _0x564012=_0x3b2f11['errorDetail']||_0x3b2f11[_0x1554c9(0xd1)]||'Unknown\x20error';log(_0x1554c9(0xb4)+_0x564012),isConnected=![],connectionPromise&&(_0x24f7df[_0x1554c9(0x7f)](_0x49a4f1,new Error(_0x564012)),connectionPromise=null);}else{if(_0x24f7df[_0x1554c9(0x94)](_0x3b2f11['category'],'message-sent'))_0x24f7df[_0x1554c9(0x9c)](log,_0x1554c9(0xb9)+_0x3b2f11['requestId']);else{if(_0x3b2f11[_0x1554c9(0xc9)]===_0x24f7df[_0x1554c9(0xcf)]){const _0x16e8a6=_0x3b2f11['receiverInfo']?.[_0x1554c9(0x7b)]||_0x1554c9(0xaf),_0x2fcc31=_0x3b2f11['receiverInfo']?.['id']||_0x3b2f11['receiverId'],_0x1bfddc=new Date(_0x3b2f11['receiverInfo']?.['receivedAt']||_0x3b2f11[_0x1554c9(0xcd)]||new Date())['toLocaleTimeString']();_0x24f7df[_0x1554c9(0xb5)](log,'📩\x20Konfirmasi:\x20Pesan\x20'+_0x3b2f11['requestId']+_0x1554c9(0x99)+_0x16e8a6+'\x20('+_0x2fcc31+')\x20pada\x20'+_0x1bfddc+'.\x20Total\x20konfirmasi:\x20'+(_0x3b2f11['confirmationCount']||0x1));}}}}}}}),timeoutHandler=setTimeout(()=>{const _0x2a38a5=_0x1aa914;_0x24f7df[_0x2a38a5(0xb0)](!isConnected,connectionPromise)&&(_0x24f7df['dVbdT'](log,'⚠️\x20Timeout:\x20Tidak\x20dapat\x20terhubung\x20ke\x20MessageHub\x20server\x20dalam\x20waktu\x20yang\x20ditentukan'),_0x49a4f1(new Error(_0x24f7df[_0x2a38a5(0xad)])),connectionPromise=null);},0x2710);}catch(_0x21caa7){log('⚠️\x20Error\x20inisialisasi\x20MessageHub:\x20'+_0x21caa7['message']),console[_0x1aa914(0xd1)](_0x1aa914(0x7a),_0x21caa7),connectionPromise=null,_0x49a4f1(_0x21caa7);}}),connectionPromise;}async function publishMessage(_0x143e49,_0x264d93,_0xc15913,_0x1f3e68={}){const _0x1f2f00=a0_0x3c524a,_0x90cdc7={'RuSyD':function(_0x366bde){return _0x366bde();},'cafPN':_0x1f2f00(0x84),'vjwpw':function(_0x15f33e,_0x2f47e3){return _0x15f33e(_0x2f47e3);},'BWDbe':function(_0x71a2aa,_0x5e2cb3){return _0x71a2aa!==_0x5e2cb3;},'ZiuOt':_0x1f2f00(0xa7),'wwaRL':_0x1f2f00(0x8f),'FhnYU':_0x1f2f00(0xa5)};try{!isConnected&&await _0x90cdc7[_0x1f2f00(0xa4)](initMessageHub);const _0x38e1ce=messagehub[_0x1f2f00(0xae)](_0x143e49);log(_0x90cdc7['cafPN']),log('Channel\x20Target:\x20'+_0x38e1ce[_0x1f2f00(0xa2)]),log(_0x1f2f00(0x8b)+_0x264d93),_0x90cdc7[_0x1f2f00(0x8e)](log,'================================');const _0x2de77c={'requireAck':_0x1f3e68['requireAck']!==undefined?_0x1f3e68[_0x1f2f00(0xab)]:![],'clearCache':_0x90cdc7[_0x1f2f00(0x75)](_0x1f3e68['clearCache'],undefined)?_0x1f3e68['clearCache']:!![],'senderId':messagehub[_0x1f2f00(0xa9)]?messagehub[_0x1f2f00(0xa9)]['id']:_0x1f2f00(0x7e)};log(_0x90cdc7['ZiuOt']);const _0x114d38={'type':_0x264d93,'content':_0xc15913},_0x222e8f=await _0x38e1ce[_0x1f2f00(0x86)](_0x114d38,_0x2de77c);return log(_0x1f2f00(0xaa)+_0x143e49),{'success':!![],'requestId':_0x222e8f[_0x1f2f00(0x97)],'topic':_0x143e49,'message':_0x90cdc7['wwaRL']};}catch(_0x13c505){return log('⚠️\x20Error\x20publishing\x20message:\x20'+_0x13c505[_0x1f2f00(0xb3)]),{'success':![],'error':_0x13c505['message'],'topic':_0x143e49,'message':_0x90cdc7[_0x1f2f00(0x76)]};}}async function closeConnection(){const _0x20e6b2=a0_0x3c524a,_0x428fd8={'lGbjW':function(_0xa09e5,_0x3c6bbe){return _0xa09e5&&_0x3c6bbe;},'arVKz':function(_0x4bed31,_0x15676a){return _0x4bed31===_0x15676a;},'EXFZN':_0x20e6b2(0x89),'srRwM':function(_0xc68cd3,_0x1f5d52){return _0xc68cd3===_0x1f5d52;},'ngbSm':function(_0x88de58,_0x4d943f){return _0x88de58(_0x4d943f);},'SNViB':_0x20e6b2(0xb6),'wMHlP':_0x20e6b2(0xb2),'wtRov':function(_0x1de32c,_0x1a4626){return _0x1de32c(_0x1a4626);},'NqOtW':function(_0x5ec58f,_0x144f58){return _0x5ec58f(_0x144f58);}};timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null);if(_0x428fd8['lGbjW'](isConnected,messagehub))try{if(_0x428fd8[_0x20e6b2(0x79)](typeof messagehub['disconnect'],_0x428fd8['EXFZN']))await messagehub[_0x20e6b2(0xc0)](),log('Koneksi\x20MessageHub\x20ditutup\x20dengan\x20disconnect()');else{if(_0x428fd8[_0x20e6b2(0x9e)](typeof messagehub[_0x20e6b2(0xa0)],'function'))await messagehub['close'](),_0x428fd8[_0x20e6b2(0xd2)](log,_0x428fd8[_0x20e6b2(0x9b)]);else messagehub['socket']&&typeof messagehub[_0x20e6b2(0xa9)][_0x20e6b2(0xc0)]===_0x20e6b2(0x89)?(messagehub[_0x20e6b2(0xa9)]['disconnect'](),_0x428fd8['ngbSm'](log,_0x428fd8['wMHlP'])):_0x428fd8[_0x20e6b2(0xc3)](log,_0x20e6b2(0x92));}isConnected=![],connectionPromise=null;}catch(_0x1a26b9){_0x428fd8['NqOtW'](log,_0x20e6b2(0x83)+_0x1a26b9[_0x20e6b2(0xb3)]);}}module[a0_0x3c524a(0xc5)]={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};
|
|
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};
|