@restforgejs/platform 5.1.0 → 5.1.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/data/pull.js +95 -0
- package/generators/cli/data/push.js +85 -0
- package/generators/cli/fast-track.js +12 -25
- package/generators/cli/schema/introspect.js +10 -10
- package/generators/lib/data/db-executor.js +440 -0
- package/generators/lib/data/dialect-kit.js +56 -0
- package/generators/lib/data/envelope.js +220 -0
- package/generators/lib/data/pull-runner.js +407 -0
- package/generators/lib/data/push-runner.js +382 -0
- package/generators/lib/data/sdf-reader.js +132 -0
- package/generators/lib/data/table-order.js +126 -0
- package/generators/lib/data/value-codec.js +188 -0
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/integrity-manifest.json +18 -18
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const
|
|
1
|
+
'use strict';const a0_0x5f1942=a0_0x2efe;(function(_0x1884ef,_0x4c641a){const _0x11fe56=a0_0x2efe,_0x4e007d=_0x1884ef();while(!![]){try{const _0xe748be=parseInt(_0x11fe56(0x142))/0x1+-parseInt(_0x11fe56(0x140))/0x2*(parseInt(_0x11fe56(0x147))/0x3)+parseInt(_0x11fe56(0x13e))/0x4+-parseInt(_0x11fe56(0x141))/0x5+parseInt(_0x11fe56(0x14d))/0x6+parseInt(_0x11fe56(0x146))/0x7*(parseInt(_0x11fe56(0x14e))/0x8)+-parseInt(_0x11fe56(0x160))/0x9*(parseInt(_0x11fe56(0x15e))/0xa);if(_0xe748be===_0x4c641a)break;else _0x4e007d['push'](_0x4e007d['shift']());}catch(_0x5114e6){_0x4e007d['push'](_0x4e007d['shift']());}}}(a0_0x2c7e,0xae857));function a0_0x2c7e(){const _0x187b41=['BwLTzxr5Cgu','ChjLzML4','A2zkD2m','uwvSzvi','BwTKAxjtEw5J','sur5AMi','B3jPz2LUywXUyw1L','ndaZmJKZmKf2ywz4wG','Bw9KDwXL','ntmZnZHIrLbYAvK','mtyYmtm1nwD4sKvcuG','mtm2nJi2mgTRr1PuCG','Dg9vChbLCKnHC2u','DxbSB2fKzwrcEq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','nZuZotDOAgjZBKG','ntDVBfj3ALi','rMfPBgvKihrVihbYB2nLC3mGDxbSB2fKzwqGzMLSztOG','y3jLyxrLvxbSB2fKtwLKzgXLD2fYzq','EK5Urue','wKfQzuC','ALvowuy','nJa0mJmXmNv4DejPuq','odHPyMLcwKO','vvbmt0fex1rftvbFreLs','zMLSzxm','BgvUz3rO','iIbPCYbUB3qGywXSB3DLzc4GqwXSB3DLzcb0ExbLCZOG','AM9PBG','lI4VC3rVCMfNzs9MAwXLlw1LDgfKyxrHlwHLBhbLCG','BKnHqK0','zLrqwxe','ChjVDMLKzxjoyw1L','ChvZAa','rhbHCKO','zgLZA1n0B3jHz2u','ywXSB3DLzfr5CgvZ','DgvTCerPCG','Aw5JBhvKzxm','ntq1mgfewhDPzq','DxbSB2fKx3yYx3rLBxbFzgvSzxrLx3DHCM4','mZiYnJvvthb5C2C','DufOuLy','zxH0BMfTzq','zw52','y3jLyxrLuMvHzfn0CMvHBq','rMfPBgvKihrVigrLBgv0zsb0zw1WigzPBgu','DwzqwwO','zMXVB3i','y3j5ChrV','x3rLBxbeAxi','y3vfuKm','z2vUzxjHDgvlzxK','zxHPC3rZu3LUyW','ChDtz3C','x2rLBgv0zvrLBxbgAwXL','CwrUuNy','BM93','BxvSDgvY'];a0_0x2c7e=function(){return _0x187b41;};return a0_0x2c7e();}function a0_0x2efe(_0x31dfe4,_0x598ce2){_0x31dfe4=_0x31dfe4-0x139;const _0x2c7efe=a0_0x2c7e();let _0x2efeac=_0x2c7efe[_0x31dfe4];if(a0_0x2efe['krflKU']===undefined){var _0x8bc4d=function(_0x4d4d3e){const _0x2c9843='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x337e31='',_0x1b8519='';for(let _0x4e2a9f=0x0,_0x110fef,_0x50ded2,_0x193f02=0x0;_0x50ded2=_0x4d4d3e['charAt'](_0x193f02++);~_0x50ded2&&(_0x110fef=_0x4e2a9f%0x4?_0x110fef*0x40+_0x50ded2:_0x50ded2,_0x4e2a9f++%0x4)?_0x337e31+=String['fromCharCode'](0xff&_0x110fef>>(-0x2*_0x4e2a9f&0x6)):0x0){_0x50ded2=_0x2c9843['indexOf'](_0x50ded2);}for(let _0xee1805=0x0,_0x13e078=_0x337e31['length'];_0xee1805<_0x13e078;_0xee1805++){_0x1b8519+='%'+('00'+_0x337e31['charCodeAt'](_0xee1805)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1b8519);};a0_0x2efe['iWPiBT']=_0x8bc4d,a0_0x2efe['cfFCpN']={},a0_0x2efe['krflKU']=!![];}const _0x5d4eae=_0x2c7efe[0x0],_0x4aefd2=_0x31dfe4+_0x5d4eae,_0xf17041=a0_0x2efe['cfFCpN'][_0x4aefd2];return!_0xf17041?(_0x2efeac=a0_0x2efe['iWPiBT'](_0x2efeac),a0_0x2efe['cfFCpN'][_0x4aefd2]=_0x2efeac):_0x2efeac=_0xf17041,_0x2efeac;}const multer=require(a0_0x5f1942(0x171)),path=require('path'),crypto=require(a0_0x5f1942(0x168)),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require('./logger');class UploadHandlerV2{constructor(){this['_tempDir']=null;}get['tempDir'](){const _0x3fd4da=a0_0x5f1942,_0xa36832={'RoxPB':'uploads'};if(!this['_tempDir']){const _0x2c69eb=process[_0x3fd4da(0x163)][_0x3fd4da(0x145)]||'default';this[_0x3fd4da(0x169)]=process[_0x3fd4da(0x163)][_0x3fd4da(0x14f)]||path[_0x3fd4da(0x153)](process['cwd'](),'temp',_0xa36832['RoxPB'],_0x2c69eb),!fsSync[_0x3fd4da(0x16c)](this[_0x3fd4da(0x169)])&&fsSync[_0x3fd4da(0x13b)](this[_0x3fd4da(0x169)],{'recursive':!![]});}return this[_0x3fd4da(0x169)];}[a0_0x5f1942(0x149)](_0x2ff131={}){const _0x362b43=a0_0x5f1942,_0x5807d5={'cuERC':'hex','zNnEA':function(_0x4fb114,_0x5edafa,_0x49c681){return _0x4fb114(_0x5edafa,_0x49c681);},'nCaBM':function(_0x269a2c,_0x34aaf2,_0x2c234f){return _0x269a2c(_0x34aaf2,_0x2c234f);},'BqMws':function(_0x8a5ff2,_0x5ec592){return _0x8a5ff2(_0x5ec592);},'kfJwc':'10MB','VosNE':function(_0x216884,_0xb41384){return _0x216884(_0xb41384);},'QeleR':_0x362b43(0x150)},_0x5b2a11=_0x2ff131['maxFiles']||0x5,_0x281dc7=this['_parseFileSize'](_0x2ff131['maxFileSize']||_0x5807d5[_0x362b43(0x139)]),_0x1ee89f=_0x2ff131[_0x362b43(0x15b)]||[],_0x46aef8=multer[_0x362b43(0x15a)]({'destination':(_0x41f311,_0x3271b8,_0x148602)=>{const _0x148d00=_0x362b43;!fsSync['existsSync'](this['tempDir'])&&fsSync[_0x148d00(0x13b)](this['tempDir'],{'recursive':!![]}),_0x148602(null,this[_0x148d00(0x15c)]);},'filename':(_0x19800e,_0x2cdd56,_0x41c36f)=>{const _0x3e7b41=_0x362b43,_0x48cb59=crypto['randomBytes'](0x8)['toString'](_0x5807d5[_0x3e7b41(0x16a)]),_0x386126=Date[_0x3e7b41(0x170)](),_0x3976bb=path[_0x3e7b41(0x162)](_0x2cdd56[_0x3e7b41(0x13d)]);_0x5807d5[_0x3e7b41(0x14a)](_0x41c36f,null,'upload-'+_0x386126+'-'+_0x48cb59+_0x3976bb);}}),_0x214394=(_0x3fd04e,_0x419ad5,_0x2ea980)=>{const _0x41f14f=_0x362b43;if(_0x1ee89f[_0x41f14f(0x151)]===0x0)return _0x2ea980(null,!![]);const _0x39fd55=path[_0x41f14f(0x162)](_0x419ad5[_0x41f14f(0x13d)])['toLowerCase']()['replace']('.','');_0x1ee89f[_0x41f14f(0x15d)](_0x39fd55)?_0x5807d5[_0x41f14f(0x155)](_0x2ea980,null,!![]):_0x5807d5['BqMws'](_0x2ea980,new Error('File\x20type\x20\x22.'+_0x39fd55+_0x41f14f(0x152)+_0x1ee89f['join'](',\x20')));};return _0x5807d5['VosNE'](multer,{'storage':_0x46aef8,'limits':{'fileSize':_0x281dc7,'files':_0x5b2a11},'fileFilter':_0x214394})['array'](_0x5807d5[_0x362b43(0x13a)],_0x5b2a11);}async['processUploadedFiles'](_0x3f7751,_0x25e66c,_0x155b92={}){const _0x40d7e4=a0_0x5f1942,_0x617bf2={'ZAjeG':function(_0x555f30,_0x4c2c1b){return _0x555f30(_0x4c2c1b);}},{createFileMetadata:_0x5637ec}=require(_0x40d7e4(0x154)),_0x3fee38=[];for(const _0x518c98 of _0x3f7751){try{const _0x3c9f44=_0x25e66c[_0x40d7e4(0x16b)](_0x518c98[_0x40d7e4(0x13d)],{'prefix':_0x155b92[_0x40d7e4(0x173)]||'','project':_0x155b92['project']||'','module':_0x155b92[_0x40d7e4(0x13f)]||'','endpoint':_0x155b92['endpoint']||''}),_0x4ed41d=fsSync[_0x40d7e4(0x164)](_0x518c98['path']),_0x1e82d=await _0x25e66c['upload'](_0x4ed41d,_0x3c9f44,{'contentType':_0x518c98[_0x40d7e4(0x172)],'fileSize':_0x518c98['size']}),_0x435b2c=_0x617bf2[_0x40d7e4(0x14b)](_0x5637ec,{'key':_0x1e82d['key'],'originalName':_0x518c98[_0x40d7e4(0x13d)],'fileName':path['basename'](_0x3c9f44),'contentType':_0x518c98[_0x40d7e4(0x172)],'size':_0x518c98['size'],'url':_0x1e82d['url'],'provider':_0x25e66c[_0x40d7e4(0x157)],'bucket':_0x25e66c['bucket']||null,'uploadedBy':_0x155b92[_0x40d7e4(0x144)]||null});_0x3fee38[_0x40d7e4(0x158)](_0x435b2c);}catch(_0x2a0284){logger['error']({'event':'upload_v2_process_error','file':_0x518c98['originalname'],'error':_0x2a0284['message']},_0x40d7e4(0x148)+_0x518c98[_0x40d7e4(0x13d)]);throw _0x2a0284;}finally{await this[_0x40d7e4(0x16e)](_0x518c98['path']);}}return _0x3fee38;}async[a0_0x5f1942(0x16e)](_0x2a4cd2){const _0x57c3d0=a0_0x5f1942,_0x2cd817={'DparJ':_0x57c3d0(0x15f),'fTPYq':_0x57c3d0(0x165)};try{await fs['unlink'](_0x2a4cd2);}catch(_0x59427f){logger['warn']({'event':_0x2cd817[_0x57c3d0(0x159)],'filePath':_0x2a4cd2,'error':_0x59427f['message']},_0x2cd817[_0x57c3d0(0x156)]);}}['_parseFileSize'](_0x4f4576){const _0x2d5f5d=a0_0x5f1942,_0x4b066d={'uAhRV':function(_0x32be4a,_0xb2213a){return _0x32be4a===_0xb2213a;},'xcXmK':'number','pwSgw':function(_0x503360,_0x5a9c3d){return _0x503360(_0x5a9c3d);},'IDyjb':function(_0x4a3bf3,_0x4e2089){return _0x4a3bf3*_0x4e2089;},'qdnRv':function(_0x1cb22f,_0x4de397){return _0x1cb22f*_0x4de397;},'jUNYF':function(_0x17d9fd,_0x7f5c85){return _0x17d9fd*_0x7f5c85;},'ufPYj':function(_0x471a0c,_0x45c6cd){return _0x471a0c*_0x45c6cd;}};if(_0x4b066d[_0x2d5f5d(0x161)](typeof _0x4f4576,_0x4b066d['xcXmK']))return _0x4f4576;const _0x4f5bea=_0x4b066d['pwSgw'](String,_0x4f4576)['trim']()['match'](/^(\d+(?:\.\d+)?)\s*(B|KB|MB|GB)$/i);if(!_0x4f5bea)return _0x4b066d[_0x2d5f5d(0x13c)](0xa*0x400,0x400);const _0x522340=_0x4b066d[_0x2d5f5d(0x16d)](parseFloat,_0x4f5bea[0x1]),_0xc4c52f=_0x4f5bea[0x2][_0x2d5f5d(0x143)](),_0x17bc24={'B':0x1,'KB':0x400,'MB':_0x4b066d[_0x2d5f5d(0x16f)](0x400,0x400),'GB':_0x4b066d[_0x2d5f5d(0x14c)](_0x4b066d[_0x2d5f5d(0x166)](0x400,0x400),0x400)};return Math[_0x2d5f5d(0x167)](_0x522340*(_0x17bc24[_0xc4c52f]||0x1));}}module['exports']=new UploadHandlerV2();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a0_0x358822=a0_0x1060;(function(_0x14452b,_0x5287b){const _0x3c527a=a0_0x1060,_0x159c28=_0x14452b();while(!![]){try{const _0x562409=-parseInt(_0x3c527a(0xc5))/0x1+-parseInt(_0x3c527a(0xd0))/0x2+-parseInt(_0x3c527a(0xb1))/0x3*(-parseInt(_0x3c527a(0xc7))/0x4)+parseInt(_0x3c527a(0xdd))/0x5*(parseInt(_0x3c527a(0xc0))/0x6)+parseInt(_0x3c527a(0xbc))/0x7*(parseInt(_0x3c527a(0xda))/0x8)+parseInt(_0x3c527a(0xbf))/0x9*(-parseInt(_0x3c527a(0xdb))/0xa)+-parseInt(_0x3c527a(0xc4))/0xb*(-parseInt(_0x3c527a(0xb3))/0xc);if(_0x562409===_0x5287b)break;else _0x159c28['push'](_0x159c28['shift']());}catch(_0x2e6879){_0x159c28['push'](_0x159c28['shift']());}}}(a0_0x4481,0x339a5));function a0_0x1060(_0x326ae0,_0xa189d){_0x326ae0=_0x326ae0-0xb0;const _0x448156=a0_0x4481();let _0x106095=_0x448156[_0x326ae0];if(a0_0x1060['ZxwxXT']===undefined){var _0x3e3df0=function(_0x59be84){const _0x420ecc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xba692d='',_0x2afd8c='';for(let _0x2f9ade=0x0,_0x1191bc,_0x8a280,_0x210cad=0x0;_0x8a280=_0x59be84['charAt'](_0x210cad++);~_0x8a280&&(_0x1191bc=_0x2f9ade%0x4?_0x1191bc*0x40+_0x8a280:_0x8a280,_0x2f9ade++%0x4)?_0xba692d+=String['fromCharCode'](0xff&_0x1191bc>>(-0x2*_0x2f9ade&0x6)):0x0){_0x8a280=_0x420ecc['indexOf'](_0x8a280);}for(let _0x24919a=0x0,_0x20719d=_0xba692d['length'];_0x24919a<_0x20719d;_0x24919a++){_0x2afd8c+='%'+('00'+_0xba692d['charCodeAt'](_0x24919a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2afd8c);};a0_0x1060['toaXMW']=_0x3e3df0,a0_0x1060['LMjSew']={},a0_0x1060['ZxwxXT']=!![];}const _0x25ece1=_0x448156[0x0],_0x5c26de=_0x326ae0+_0x25ece1,_0x510132=a0_0x1060['LMjSew'][_0x5c26de];return!_0x510132?(_0x106095=a0_0x1060['toaXMW'](_0x106095),a0_0x1060['LMjSew'][_0x5c26de]=_0x106095):_0x106095=_0x510132,_0x106095;}const multer=require(a0_0x358822(0xc8)),path=require(a0_0x358822(0xc2)),crypto=require(a0_0x358822(0xcf)),fs=require('fs')[a0_0x358822(0xca)],fsSync=require('fs'),{logger}=require(a0_0x358822(0xc1));class UploadHandler{constructor(){const _0x4e6a8a=a0_0x358822;this['_uploadDir']=null,this[_0x4e6a8a(0xce)]=0xa*0x400*0x400;}get[a0_0x358822(0xb0)](){const _0x4ddcba=a0_0x358822,_0x70137d={'OKwto':_0x4ddcba(0xd8)};if(!this['_uploadDir']){const _0x52e839=process[_0x4ddcba(0xd3)][_0x4ddcba(0xba)]||_0x4ddcba(0xde);this[_0x4ddcba(0xd1)]=process[_0x4ddcba(0xd3)][_0x4ddcba(0xb9)]||path['join'](__dirname,_0x4ddcba(0xbb)+_0x52e839);try{!fsSync['existsSync'](this['_uploadDir'])&&fsSync[_0x4ddcba(0xbd)](this[_0x4ddcba(0xd1)],{'recursive':!![]}),logger[_0x4ddcba(0xd6)]({'event':'upload_handler_init','dir':this[_0x4ddcba(0xd1)]},_0x70137d[_0x4ddcba(0xc9)]);}catch(_0x2be678){logger[_0x4ddcba(0xb4)]({'event':'upload_handler_init_error','error':_0x2be678[_0x4ddcba(0xdc)]},'Failed\x20to\x20initialize\x20upload\x20handler');}}return this[_0x4ddcba(0xd1)];}[a0_0x358822(0xcb)](){const _0x4ef479={'zRhYe':function(_0x410eb2,_0x2802c3,_0xca082a){return _0x410eb2(_0x2802c3,_0xca082a);}};return multer['diskStorage']({'destination':(_0xa8cbf6,_0x79ca52,_0x1aebc0)=>{const _0x4cd04d=a0_0x1060;!fsSync['existsSync'](this[_0x4cd04d(0xb0)])&&fsSync[_0x4cd04d(0xbd)](this['uploadDir'],{'recursive':!![]}),_0x1aebc0(null,this[_0x4cd04d(0xb0)]);},'filename':(_0xebbb5b,_0x43e9a8,_0x1fe19e)=>{const _0x1b58b8=a0_0x1060,_0x5dda2c=crypto['randomBytes'](0x8)['toString'](_0x1b58b8(0xc6)),_0x2780f0=Date['now'](),_0x1ae636=path['extname'](_0x43e9a8['originalname']);_0x4ef479[_0x1b58b8(0xd2)](_0x1fe19e,null,_0x1b58b8(0xd9)+_0x2780f0+'-'+_0x5dda2c+_0x1ae636);}});}['getUploadMiddleware'](){const _0x2f41d7=a0_0x358822,_0x27fede={'LLBOe':_0x2f41d7(0xb6),'JPmCY':'.xls','aPACc':function(_0x15e19a,_0x123ea7){return _0x15e19a(_0x123ea7);},'aYhAX':'file'};return _0x27fede['aPACc'](multer,{'storage':this['getStorage'](),'limits':{'fileSize':this['maxFileSize'],'files':0x1},'fileFilter':(_0x43d9e9,_0x16a2c9,_0x4898ff)=>{const _0x3ab915=_0x2f41d7,_0xc70a62=[_0x3ab915(0xc3),_0x3ab915(0xb7)],_0x47dc8=[_0x27fede[_0x3ab915(0xcd)],_0x27fede['JPmCY']],_0x3c67ab=path[_0x3ab915(0xd5)](_0x16a2c9['originalname'])['toLowerCase']();_0xc70a62[_0x3ab915(0xb8)](_0x16a2c9[_0x3ab915(0xb2)])&&_0x47dc8['includes'](_0x3c67ab)?_0x4898ff(null,!![]):_0x4898ff(new Error('Invalid\x20file\x20type.\x20Only\x20.xlsx\x20files\x20are\x20allowed'));}})['single'](_0x27fede['aYhAX']);}async[a0_0x358822(0xd7)](_0x543c46){const _0x1cd27b=a0_0x358822,_0x229852={'GcRsK':_0x1cd27b(0xb5),'zGkMy':_0x1cd27b(0xd4),'WGSVs':_0x1cd27b(0xcc)};try{await fs[_0x1cd27b(0xbe)](_0x543c46),logger['info']({'event':_0x1cd27b(0xdf),'filePath':_0x543c46},_0x229852['GcRsK']);}catch(_0x6ddb4c){logger['error']({'event':_0x229852['zGkMy'],'filePath':_0x543c46,'error':_0x6ddb4c['message']},_0x229852['WGSVs']);}}}module['exports']=new UploadHandler();function a0_0x4481(){const _0x17b070=['ndKWndjUtujpzLO','Agv4','mtq4ndm4mgDnwhHwEG','BxvSDgvY','t0T3Dg8','ChjVBwLZzxm','z2v0u3rVCMfNzq','rMfPBgvKihrVigrLBgv0zsb1CgXVywrLzcbMAwXL','teXct2u','Bwf4rMLSzvnPEMu','y3j5ChrV','nJK1otCWt2XpuuLI','x3vWBg9HzerPCG','ELjOwwu','zw52','DxbSB2fKx2zPBgvFzgvSzxrLx2vYCM9Y','zxH0BMfTzq','Aw5MBW','zgvSzxrLrMLSzq','vxbSB2fKigHHBMrSzxiGAw5PDgLHBgL6zwq','DxbSB2fKlq','nty4EeHmv29e','nJCWntCWwwvPuK94','BwvZC2fNzq','nw9YrNvmDa','zgvMyxvSDa','DxbSB2fKx2zPBgvFzgvSzxrLza','DxbSB2fKrgLY','m3fysxfptW','BwLTzxr5Cgu','ntu1nZa4D1jkwg5k','zxjYB3i','vxbSB2fKzwqGzMLSzsbKzwXLDgvK','lNHSC3G','yxbWBgLJyxrPB24VDM5KlM1Zlwv4y2vS','Aw5JBhvKzxm','vvbmt0fex0rjuG','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','lI4VlI4VDgvTCc91CgXVywrZlW','mJa0odLtvgjVwve','BwTKAxjtEw5J','Dw5SAw5R','ntrcvLrmrve','mJmXmZa3ohndzMH6zG','lI9SB2DNzxi','Cgf0Aa','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNnWCMvHzhnOzwv0BwWUC2HLzxq','mtfsEgrSs3u'];a0_0x4481=function(){return _0x17b070;};return a0_0x4481();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a0_0x1f5b(_0x41d08e,_0x313d90){_0x41d08e=_0x41d08e-0x187;const _0x98e10a=a0_0x98e1();let _0x1f5b8d=_0x98e10a[_0x41d08e];if(a0_0x1f5b['unjyDC']===undefined){var _0x1bf644=function(_0x353338){const _0xec9e2d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x15f143='',_0x84d467='';for(let _0x2a30c7=0x0,_0x37dbac,_0x491a51,_0x121fee=0x0;_0x491a51=_0x353338['charAt'](_0x121fee++);~_0x491a51&&(_0x37dbac=_0x2a30c7%0x4?_0x37dbac*0x40+_0x491a51:_0x491a51,_0x2a30c7++%0x4)?_0x15f143+=String['fromCharCode'](0xff&_0x37dbac>>(-0x2*_0x2a30c7&0x6)):0x0){_0x491a51=_0xec9e2d['indexOf'](_0x491a51);}for(let _0x13a894=0x0,_0x11f804=_0x15f143['length'];_0x13a894<_0x11f804;_0x13a894++){_0x84d467+='%'+('00'+_0x15f143['charCodeAt'](_0x13a894)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x84d467);};a0_0x1f5b['AmZtMU']=_0x1bf644,a0_0x1f5b['gwhsxU']={},a0_0x1f5b['unjyDC']=!![];}const _0x2d15a3=_0x98e10a[0x0],_0x11af28=_0x41d08e+_0x2d15a3,_0x13ad68=a0_0x1f5b['gwhsxU'][_0x11af28];return!_0x13ad68?(_0x1f5b8d=a0_0x1f5b['AmZtMU'](_0x1f5b8d),a0_0x1f5b['gwhsxU'][_0x11af28]=_0x1f5b8d):_0x1f5b8d=_0x13ad68,_0x1f5b8d;}const a0_0x4ff87a=a0_0x1f5b;(function(_0x2a3703,_0x2876e8){const _0x388d7d=a0_0x1f5b,_0x60d9ab=_0x2a3703();while(!![]){try{const _0x396e3a=-parseInt(_0x388d7d(0x198))/0x1+parseInt(_0x388d7d(0x191))/0x2*(-parseInt(_0x388d7d(0x189))/0x3)+parseInt(_0x388d7d(0x19b))/0x4*(-parseInt(_0x388d7d(0x19f))/0x5)+parseInt(_0x388d7d(0x18b))/0x6*(parseInt(_0x388d7d(0x196))/0x7)+-parseInt(_0x388d7d(0x19e))/0x8*(parseInt(_0x388d7d(0x18d))/0x9)+-parseInt(_0x388d7d(0x195))/0xa+-parseInt(_0x388d7d(0x19d))/0xb*(-parseInt(_0x388d7d(0x1a0))/0xc);if(_0x396e3a===_0x2876e8)break;else _0x60d9ab['push'](_0x60d9ab['shift']());}catch(_0x7c8558){_0x60d9ab['push'](_0x60d9ab['shift']());}}}(a0_0x98e1,0x3825d));function a0_0x98e1(){const _0x2280c1=['BwvZC2fNzq','yxbWBgLJyxrPB24VANnVBG','ndK4EgjbEwr6','rxjYB3iGC2vUzgLUzYbPBNnLCNqGD2vIAg9VAZO','nJK2uMncthrc','rMfPBgvKihrVihnLBMqGAw5Zzxj0ihDLyMHVB2S','ndy0ngfJD1jhtG','ANnwrem','tgDptwe','Dg9ju09tDhjPBMC','mZyYmK54vuf4sa','zxjYB3i','rK5Xv3e','rxjYB3iGC2vUzgLUzYbKzwXLDguGD2vIAg9VAZO','oti5ndyWsML0yvbk','odu2mxv2BgPvyq','sw5Zzxj0ihDLyMHVB2SGC2vUDcbZDwnJzxnZzNvSBhK','ndmWmtu3q2PSEufg','BNzcuNy','C3rHDhvZ','ndC0mdi0tKLqt3zn','zxHWB3j0CW','nJuXmJyZogD2ugzJCq','mJm4ngXrrLvWBG','nxnSt29uvW','mJrRshLYB2q'];a0_0x98e1=function(){return _0x2280c1;};return a0_0x98e1();}const axios=require('axios');async function sendInsertWebhook(_0x9e51da,_0x57b475,_0x1bfc28={}){const _0x2a07fa=a0_0x1f5b,_0x56ecfc={'FNqWq':_0x2a07fa(0x18a)};try{const _0x38d7f5={'event':'insert','timestamp':new Date()['toISOString'](),'data':_0x57b475},_0x2744b9=await axios['post'](_0x9e51da,_0x38d7f5,{'headers':{'Content-Type':_0x2a07fa(0x188),'User-Agent':'RestForge-Webhook/1.0',..._0x1bfc28},'timeout':0x2710});return console['log']('Insert\x20webhook\x20sent\x20to\x20'+_0x9e51da+',\x20Status:\x20'+_0x2744b9['status']),{'success':!![],'message':_0x2a07fa(0x197),'status':_0x2744b9['status'],'url':_0x9e51da};}catch(_0x316b6f){return console[_0x2a07fa(0x192)](_0x56ecfc[_0x2a07fa(0x193)],_0x316b6f[_0x2a07fa(0x187)]),{'success':![],'message':_0x2a07fa(0x18c),'error':_0x316b6f[_0x2a07fa(0x187)],'url':_0x9e51da};}}async function sendDeleteWebhook(_0x4b4073,_0x2d8d65,_0x4bec20={}){const _0x696c59=a0_0x1f5b,_0x46d1c1={'LgOMa':'delete','nvBRv':'Delete\x20webhook\x20sent\x20successfully','jsVDC':_0x696c59(0x194),'vaNAE':'Failed\x20to\x20send\x20delete\x20webhook'};try{const _0x16e0d5={'event':_0x46d1c1[_0x696c59(0x18f)],'timestamp':new Date()[_0x696c59(0x190)](),'deleted_data':_0x2d8d65},_0x5811d3=await axios['post'](_0x4b4073,_0x16e0d5,{'headers':{'Content-Type':'application/json','User-Agent':'RestForge-Webhook/1.0',..._0x4bec20},'timeout':0x2710});return console['log']('Delete\x20webhook\x20sent\x20to\x20'+_0x4b4073+',\x20Status:\x20'+_0x5811d3[_0x696c59(0x19a)]),{'success':!![],'message':_0x46d1c1[_0x696c59(0x199)],'status':_0x5811d3['status'],'url':_0x4b4073};}catch(_0x596854){return console[_0x696c59(0x192)](_0x46d1c1[_0x696c59(0x18e)],_0x596854[_0x696c59(0x187)]),{'success':![],'message':_0x46d1c1['vaNAE'],'error':_0x596854['message'],'url':_0x4b4073};}}module[a0_0x4ff87a(0x19c)]={'sendInsertWebhook':sendInsertWebhook,'sendDeleteWebhook':sendDeleteWebhook};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a0_0x1de1(){const _0x29a06f=['tg9JAYbYzwXLyxnLihjVDxrLigvYCM9YoIa','CMvSzwfZzvjLC291CMnLtg9JA3m','nZC4nJrNA2Xgr1y','D3DjENO','tg9JAYbZDgf0DxmGCM91DguGzxjYB3i6ia','wwLPzMy','mJf5t05wrNe','v2LdExa','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExmSigXVy2TFDg9Rzw4','ENrpBui','z2v0uMvZB3vYy2vmB2nRu3rHDhvZ','Eg5bBg4','zxHWB3j0CW','uwXlsxO','zxjYB3i','sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRihn0yxr1CYbJAgvJAW','zeLqreO','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExmSihr0BcWGB3DUzxi','l3n0yxr1CW','C3rHDhvZ','mtu2mZy2ngX0y1LerG','mtHbBM5kB2G','mZfAv2rOD3e','mZK1nJuYvxLgAMrW','Cg9ZDa','mZK0mZK4oxbdsNfPyW','ANnVBG','yM9KEq','sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRigfJCxvPC2L0Aw9U','zxHWCMvZCW','CNv5A0S','tg9JAYbHy3f1AxjLihjVDxrLigvYCM9YoIa','C3vJy2vZCW','mJaYodKXnxbsEhrqzG','BwvZC2fNzq','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExm','mtq2ndq2nJbPEePWA3G','mtuYnJG2nwPgCxjkEa','l3jLBgvHC2u','DMTuDvO'];a0_0x1de1=function(){return _0x29a06f;};return a0_0x1de1();}function a0_0xd7e2(_0x1a654d,_0x4e09f7){_0x1a654d=_0x1a654d-0xaa;const _0x1de1ca=a0_0x1de1();let _0xd7e2ba=_0x1de1ca[_0x1a654d];if(a0_0xd7e2['rrjFWJ']===undefined){var _0x2ac0c8=function(_0x170564){const _0x4bb82f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x47091b='',_0x14cf58='';for(let _0x32a525=0x0,_0x1bffb5,_0x51e7a0,_0x4f8bf7=0x0;_0x51e7a0=_0x170564['charAt'](_0x4f8bf7++);~_0x51e7a0&&(_0x1bffb5=_0x32a525%0x4?_0x1bffb5*0x40+_0x51e7a0:_0x51e7a0,_0x32a525++%0x4)?_0x47091b+=String['fromCharCode'](0xff&_0x1bffb5>>(-0x2*_0x32a525&0x6)):0x0){_0x51e7a0=_0x4bb82f['indexOf'](_0x51e7a0);}for(let _0x202501=0x0,_0x100a89=_0x47091b['length'];_0x202501<_0x100a89;_0x202501++){_0x14cf58+='%'+('00'+_0x47091b['charCodeAt'](_0x202501)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x14cf58);};a0_0xd7e2['EijNRr']=_0x2ac0c8,a0_0xd7e2['pbAsUJ']={},a0_0xd7e2['rrjFWJ']=!![];}const _0xce0226=_0x1de1ca[0x0],_0x3c78be=_0x1a654d+_0xce0226,_0x359a49=a0_0xd7e2['pbAsUJ'][_0x3c78be];return!_0x359a49?(_0xd7e2ba=a0_0xd7e2['EijNRr'](_0xd7e2ba),a0_0xd7e2['pbAsUJ'][_0x3c78be]=_0xd7e2ba):_0xd7e2ba=_0x359a49,_0xd7e2ba;}const a0_0x312f06=a0_0xd7e2;(function(_0x172a1a,_0x6df96f){const _0x252d83=a0_0xd7e2,_0x59f7e4=_0x172a1a();while(!![]){try{const _0x4ebae4=parseInt(_0x252d83(0xbc))/0x1*(parseInt(_0x252d83(0xd0))/0x2)+-parseInt(_0x252d83(0xbf))/0x3+-parseInt(_0x252d83(0xbd))/0x4+parseInt(_0x252d83(0xcb))/0x5*(-parseInt(_0x252d83(0xbb))/0x6)+-parseInt(_0x252d83(0xac))/0x7*(-parseInt(_0x252d83(0xba))/0x8)+-parseInt(_0x252d83(0xc7))/0x9+parseInt(_0x252d83(0xca))/0xa;if(_0x4ebae4===_0x6df96f)break;else _0x59f7e4['push'](_0x59f7e4['shift']());}catch(_0x49d9d8){_0x59f7e4['push'](_0x59f7e4['shift']());}}}(a0_0x1de1,0xab88a));const express=require(a0_0x312f06(0xc3)),{logger}=require('../../utils/logger');function createLockRoutes(){const _0x4af7d7=a0_0x312f06,_0x1c5952={'EtgKS':_0x4af7d7(0xb7),'WiCyp':function(_0x16a625,_0xfcf1eb){return _0x16a625===_0xfcf1eb;},'jidwW':'Resource\x20lock\x20conflict','ruykK':'lock_acquire_route_error','ZyIKG':'lock_release_route_error','QlKIz':'Internal\x20server\x20error\x20during\x20lock\x20release','dIPDJ':function(_0x4f48d7){return _0x4f48d7();},'vkTuZ':'lock_status_route_error','xnAln':_0x4af7d7(0xb5),'Yiiff':'/acquire','wwIzz':_0x4af7d7(0xcc),'ztOmB':_0x4af7d7(0xb8)},_0x13936d=express['Router']();let _0x4c3f32=null;function _0x5b8c66(){return!_0x4c3f32&&(_0x4c3f32=require('./resource-lock-manager')),_0x4c3f32;}return _0x13936d['post'](_0x1c5952[_0x4af7d7(0xab)],async(_0x205305,_0x4c767a)=>{const _0x5d3b1a=_0x4af7d7;try{const {resource:_0x558f71,lock_keys:_0x5669a1,ttl:_0x236fbd,owner:_0x527622}=_0x205305[_0x5d3b1a(0xc1)];if(!_0x558f71||!_0x5669a1||!_0x236fbd||!_0x527622)return _0x4c767a[_0x5d3b1a(0xb9)](0x190)['json']({'success':![],'error':_0x1c5952['EtgKS']});const _0x2b8121=_0x5b8c66(),_0x2044f1=await _0x2b8121['acquireResourceLocks']({'resource':_0x558f71,'lockKeys':_0x5669a1,'ttl':_0x236fbd,'owner':_0x527622});if(_0x2044f1[_0x5d3b1a(0xc6)])return _0x4c767a['json'](_0x2044f1);const _0x2fc3ed=_0x1c5952[_0x5d3b1a(0xad)](_0x2044f1['error'],_0x1c5952['jidwW'])?0x199:0x190;return _0x4c767a['status'](_0x2fc3ed)[_0x5d3b1a(0xc0)](_0x2044f1);}catch(_0x5eb7d8){logger['error']({'event':_0x1c5952[_0x5d3b1a(0xc4)],'error':_0x5eb7d8[_0x5d3b1a(0xc8)]},_0x5d3b1a(0xc5)+_0x5eb7d8['message']),_0x4c767a['status'](0x1f4)['json']({'success':![],'error':_0x5d3b1a(0xc2)});}}),_0x13936d[_0x4af7d7(0xbe)](_0x1c5952[_0x4af7d7(0xd1)],async(_0x45207a,_0x5e4789)=>{const _0x399897=_0x4af7d7;try{const {resource:_0x36bd12,lock_keys:_0x4d101e,lock_token:_0x45f8dd}=_0x45207a[_0x399897(0xc1)];if(!_0x36bd12||!_0x4d101e||!_0x45f8dd)return _0x5e4789[_0x399897(0xb9)](0x190)['json']({'success':![],'error':_0x399897(0xae)});const _0x9a4af3=_0x5b8c66(),_0x282d1e=await _0x9a4af3[_0x399897(0xcf)]({'resource':_0x36bd12,'lockKeys':_0x4d101e,'lockToken':_0x45f8dd});if(_0x282d1e['success'])return _0x5e4789[_0x399897(0xc0)](_0x282d1e);return _0x5e4789[_0x399897(0xb9)](0x190)[_0x399897(0xc0)](_0x282d1e);}catch(_0x34fc87){logger['error']({'event':_0x1c5952['ZyIKG'],'error':_0x34fc87[_0x399897(0xc8)]},_0x399897(0xce)+_0x34fc87[_0x399897(0xc8)]),_0x5e4789[_0x399897(0xb9)](0x1f4)['json']({'success':![],'error':_0x1c5952[_0x399897(0xb3)]});}}),_0x13936d[_0x4af7d7(0xbe)](_0x1c5952[_0x4af7d7(0xaf)],async(_0x47014a,_0x1a580a)=>{const _0xabf0c6=_0x4af7d7;try{const {resource:_0x39bdb9,lock_keys:_0x4c7f73}=_0x47014a[_0xabf0c6(0xc1)];if(!_0x39bdb9||!_0x4c7f73)return _0x1a580a['status'](0x190)['json']({'success':![],'error':_0xabf0c6(0xc9)});const _0x2f0421=_0x1c5952[_0xabf0c6(0xb6)](_0x5b8c66),_0x4513b1=await _0x2f0421[_0xabf0c6(0xb0)]({'resource':_0x39bdb9,'lockKeys':_0x4c7f73});if(_0x4513b1[_0xabf0c6(0xc6)])return _0x1a580a[_0xabf0c6(0xc0)](_0x4513b1);return _0x1a580a['status'](0x190)[_0xabf0c6(0xc0)](_0x4513b1);}catch(_0x178e72){logger[_0xabf0c6(0xb4)]({'event':_0x1c5952[_0xabf0c6(0xcd)],'error':_0x178e72['message']},_0xabf0c6(0xaa)+_0x178e72['message']),_0x1a580a[_0xabf0c6(0xb9)](0x1f4)['json']({'success':![],'error':_0x1c5952[_0xabf0c6(0xb1)]});}}),_0x13936d;}module[a0_0x312f06(0xb2)]=createLockRoutes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x337371=a0_0x14f5;(function(_0xc6a2b4,_0x3b4d9b){const _0x4f70b8=a0_0x14f5,_0x41de5d=_0xc6a2b4();while(!![]){try{const _0x1f598a=-parseInt(_0x4f70b8(0x1af))/0x1*(parseInt(_0x4f70b8(0x1c1))/0x2)+parseInt(_0x4f70b8(0x1bf))/0x3*(parseInt(_0x4f70b8(0x1ec))/0x4)+parseInt(_0x4f70b8(0x1e2))/0x5+-parseInt(_0x4f70b8(0x1cf))/0x6+parseInt(_0x4f70b8(0x1e9))/0x7*(-parseInt(_0x4f70b8(0x1e6))/0x8)+-parseInt(_0x4f70b8(0x1de))/0x9*(-parseInt(_0x4f70b8(0x1cd))/0xa)+parseInt(_0x4f70b8(0x1ce))/0xb;if(_0x1f598a===_0x3b4d9b)break;else _0x41de5d['push'](_0x41de5d['shift']());}catch(_0x3edd46){_0x41de5d['push'](_0x41de5d['shift']());}}}(a0_0x1b13,0xa0c17));function a0_0x14f5(_0x5a4968,_0x340945){_0x5a4968=_0x5a4968-0x1ae;const _0x1b13a8=a0_0x1b13();let _0x14f5e1=_0x1b13a8[_0x5a4968];if(a0_0x14f5['lTuZsu']===undefined){var _0x434d0c=function(_0x5b3e56){const _0x3e10f5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4d50bd='',_0x441023='';for(let _0x44cd13=0x0,_0x41e2d5,_0x4f0a6b,_0x16db36=0x0;_0x4f0a6b=_0x5b3e56['charAt'](_0x16db36++);~_0x4f0a6b&&(_0x41e2d5=_0x44cd13%0x4?_0x41e2d5*0x40+_0x4f0a6b:_0x4f0a6b,_0x44cd13++%0x4)?_0x4d50bd+=String['fromCharCode'](0xff&_0x41e2d5>>(-0x2*_0x44cd13&0x6)):0x0){_0x4f0a6b=_0x3e10f5['indexOf'](_0x4f0a6b);}for(let _0x404447=0x0,_0x51a34e=_0x4d50bd['length'];_0x404447<_0x51a34e;_0x404447++){_0x441023+='%'+('00'+_0x4d50bd['charCodeAt'](_0x404447)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x441023);};a0_0x14f5['DGzGxa']=_0x434d0c,a0_0x14f5['KHKboz']={},a0_0x14f5['lTuZsu']=!![];}const _0x59f78e=_0x1b13a8[0x0],_0x3ed3c6=_0x5a4968+_0x59f78e,_0x13ba31=a0_0x14f5['KHKboz'][_0x3ed3c6];return!_0x13ba31?(_0x14f5e1=a0_0x14f5['DGzGxa'](_0x14f5e1),a0_0x14f5['KHKboz'][_0x3ed3c6]=_0x14f5e1):_0x14f5e1=_0x13ba31,_0x14f5e1;}const redisClient=require(a0_0x337371(0x1b3)),{logger}=require(a0_0x337371(0x1d0)),{v4:uuidv4}=require(a0_0x337371(0x1ba));function a0_0x1b13(){const _0x51d0bc=['yNvPBgrlzxK','uMvZB3vYy2uGBg9JAYbJB25MBgLJDa','oNjSB2nRoG','Bg9JA19RzxLZigLZihjLCxvPCMvKigfUzcbTDxn0igjLigeGBM9UlwvTChr5igfYCMf5','ywnXDwLYzvjLC291CMnLtg9JA3m','xsbTDxn0igHHDMuGA2v5igfUzcb2ywX1zsbWCM9Wzxj0AwvZ','mte0odu3ohLIvLnLDq','CMvZB3vYy2uGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','zxHWB3j0CW','x2DLDenVBMzSAwn0sw5MBW','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','Dw5RBM93BG','BwvZC2fNzq','z2v0uMvZB3vYy2vmB2nRu3rHDhvZ','ywXS','AxnbCNjHEq','uMvZB3vYy2uGBg9JAYbHy3f1AxjLigvYCM9YoIa','DxvPza','BwfW','Bg9JA19RzxLZwW','z2v0twf4vfrmu2vJB25KCW','A2v5','mtuXmJb2vxDUwee','uMvZB3vYy2uGBg9JAYbJB25MBgLJDcbVBIa','mLzlDK9quq','z2vUzxjHDgvuB2TLBG','x3zHBgLKyxrLqwnXDwLYzuLUChv0','CuvmvuS','zu11rMq','x3jVBgXIywnRs2v5CW','ELrKBfy','DhrSuMvTywLUAw5N','BgvUz3rO','cIaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicbLBhnLcIaGicbYzxr1CM4GmaOGigvUzaO','C2v0','zxzHBa','mJm4ntm2menTtg9sEa','otq0ndu4ou5nB3j5vq','mtC1nJG0mLPmAMHssW','lI4VlI4VDxrPBhmVBg9Nz2vY','C3rYAw5N','EgvOD3y','uwnZB1a','Aw5KzxHpzG','ufbADgG','BNvTyMvY','tg9JAYbYzwXLyxnLigzHAwXLzdOG','zxjYB3i','Bg9JA190B2TLBIbPCYbYzxf1AxjLzcbHBMqGBxvZDcbIzsbHihn0CMLUzW','Bg9JA19RzxLZigv4y2vLzhmGBwf4Aw11BsbVzIaXmdaGAxrLBxm','Dg9ju09tDhjPBMC','CMvZB3vYy2vFBg9JA19YB2XSyMfJA19RzxLFzxjYB3i','AxnRseC','mtHStwfzs1y','AhLfBMe','tg9JAYbZDgf0DxmGy2HLy2SGzMfPBgvKoIa','DhrS','mZeZnJaZmhrrsu92tq','zw52','z2v0q2XPzw50','z2v0','mtm2sfv5zKfP','zxH0CMfJDe93BMvY','DhrSigLZihjLCxvPCMvKigfUzcbTDxn0igjLigf0igXLyxn0ideGkgLUihnLy29UzhmP','mJe1ndy3zefNBfb1','CMy6','s3rcqNe','nti0CujnBfvL'];a0_0x1b13=function(){return _0x51d0bc;};return a0_0x1b13();}function getPrefix(){const _0x50e6e6=a0_0x337371,_0x58e008=process[_0x50e6e6(0x1e3)]['RESTFORGE_PROJECT_NAME']||'default';return _0x50e6e6(0x1ea)+_0x58e008+_0x50e6e6(0x1ef);}const DEFAULT_MAX_TTL_SECONDS=0x12c,RELEASE_LUA_SCRIPT=a0_0x337371(0x1ca);class ResourceLockManager{[a0_0x337371(0x1ed)](_0x5677d2,_0x451085,_0x2319cc){return''+getPrefix()+_0x5677d2+':'+_0x451085+':'+_0x2319cc;}[a0_0x337371(0x1c2)](_0xc9ae81){return _0xc9ae81+':'+uuidv4()+':'+Date['now']();}['extractOwner'](_0x8b4f79){const _0x241a4c=a0_0x337371,_0x3b367f={'zTdlV':function(_0x2f7533,_0x2842c6){return _0x2f7533>_0x2842c6;}};if(!_0x8b4f79)return'unknown';const _0x5eb0bc=_0x8b4f79[_0x241a4c(0x1d4)](':');return _0x3b367f[_0x241a4c(0x1c7)](_0x5eb0bc,0x0)?_0x8b4f79['substring'](0x0,_0x5eb0bc):_0x8b4f79;}[a0_0x337371(0x1bd)](){const _0x13456b=a0_0x337371;return parseInt(process[_0x13456b(0x1e3)]['LOCK_RESOURCE_MAX_TTL'],0xa)||DEFAULT_MAX_TTL_SECONDS;}async[a0_0x337371(0x1f1)]({resource:_0x3b6393,lockKeys:_0x5ce647,ttl:_0x4397dd,owner:_0x44a5e1}){const _0x301ae6=a0_0x337371,_0x4909d3={'iskHG':function(_0x3b48fb,_0x5e5b3a){return _0x3b48fb===_0x5e5b3a;},'QcsoP':'resource_lock_conflict','HXsAg':'resource_lock_acquired','NhFPV':'resource_lock_rollback_error'},_0x3a786a=this[_0x301ae6(0x1c3)]({'resource':_0x3b6393,'lockKeys':_0x5ce647,'ttl':_0x4397dd,'owner':_0x44a5e1});if(!_0x3a786a['valid'])return{'success':![],'error':_0x3a786a['error']};const _0x393ee5=this[_0x301ae6(0x1bd)](),_0xbb0202=Math['min'](_0x4397dd,_0x393ee5),_0x4f027a=this['generateToken'](_0x44a5e1),_0x3f4a52=[];try{const _0x178121=redisClient[_0x301ae6(0x1e4)]();for(let _0x1b473f=0x0;_0x1b473f<_0x5ce647[_0x301ae6(0x1c9)];_0x1b473f++){const {key:_0x5b0f82,value:_0x4bc2db}=_0x5ce647[_0x1b473f],_0x2ad152=this['buildKey'](_0x3b6393,_0x5b0f82,_0x4bc2db),_0x2b4e44=await _0x178121[_0x301ae6(0x1cb)](_0x2ad152,_0x4f027a,'EX',_0xbb0202,'NX');if(_0x4909d3[_0x301ae6(0x1dd)](_0x2b4e44,'OK'))_0x3f4a52['push'](_0x2ad152);else{await this[_0x301ae6(0x1c6)](_0x178121,_0x3f4a52,_0x4f027a);const _0x34783f=await this[_0x301ae6(0x1b2)](_0x178121,_0x2ad152);return logger['warn']({'event':_0x4909d3[_0x301ae6(0x1d3)],'resource':_0x3b6393,'conflicting_key':{'key':_0x5b0f82,'value':_0x4bc2db},'locked_by':_0x34783f['owner'],'ttl_remaining':_0x34783f[_0x301ae6(0x1c8)],'attempted_by':_0x44a5e1},_0x301ae6(0x1c0)+_0x3b6393+':'+_0x5b0f82+':'+_0x4bc2db),{'success':![],'error':_0x301ae6(0x1ee),'data':{'conflicting_key':{'key':_0x5b0f82,'value':_0x4bc2db},'locked_by':_0x34783f['owner'],'ttl_remaining':_0x34783f['ttlRemaining']}};}}const _0x12734d=_0x5ce647[_0x301ae6(0x1bb)](({key:_0xef9330,value:_0x188976})=>({'key':_0xef9330,'value':_0x188976,'lock_key':this['buildKey'](_0x3b6393,_0xef9330,_0x188976)}));return logger['info']({'event':_0x4909d3['HXsAg'],'resource':_0x3b6393,'keys_count':_0x5ce647[_0x301ae6(0x1c9)],'ttl':_0xbb0202,'owner':_0x44a5e1},'Resource\x20lock\x20acquired:\x20'+_0x3b6393+'\x20('+_0x5ce647[_0x301ae6(0x1c9)]+'\x20keys,\x20TTL:\x20'+_0xbb0202+'s)'),{'success':!![],'data':{'lock_token':_0x4f027a,'resource':_0x3b6393,'locked_keys':_0x12734d,'ttl':_0xbb0202,'owner':_0x44a5e1,'acquired_at':new Date()[_0x301ae6(0x1db)]()}};}catch(_0x3d6028){try{const _0xc3e3ee=redisClient['getClient']();await this[_0x301ae6(0x1c6)](_0xc3e3ee,_0x3f4a52,_0x4f027a);}catch(_0x349725){logger['error']({'event':_0x4909d3['NhFPV'],'error':_0x349725['message']},'Failed\x20to\x20rollback\x20resource\x20locks\x20after\x20error');}return logger['error']({'event':'resource_lock_acquire_error','resource':_0x3b6393,'owner':_0x44a5e1,'error':_0x3d6028[_0x301ae6(0x1b5)]},_0x301ae6(0x1b9)+_0x3d6028['message']),{'success':![],'error':'Lock\x20acquire\x20failed:\x20'+_0x3d6028['message']};}}async['releaseResourceLocks']({resource:_0x2acc63,lockKeys:_0x3bbde7,lockToken:_0x1aba1c}){const _0x5c8318=a0_0x337371,_0x1a87cf={'jfKHI':function(_0x51b2b0,_0x552977){return _0x51b2b0===_0x552977;},'KtBBq':'resource_lock_release_error'},_0x2b33f2=this['_validateReleaseInput']({'resource':_0x2acc63,'lockKeys':_0x3bbde7,'lockToken':_0x1aba1c});if(!_0x2b33f2['valid'])return{'success':![],'error':_0x2b33f2[_0x5c8318(0x1d8)]};try{const _0x347262=redisClient[_0x5c8318(0x1e4)]();let _0x1f3d85=0x0;for(const {key:_0x38233c,value:_0x3fafc0}of _0x3bbde7){const _0x17a679=this['buildKey'](_0x2acc63,_0x38233c,_0x3fafc0),_0x56d823=await _0x347262[_0x5c8318(0x1cc)](RELEASE_LUA_SCRIPT,0x1,_0x17a679,_0x1aba1c);_0x1a87cf['jfKHI'](_0x56d823,0x1)&&_0x1f3d85++;}return logger['info']({'event':'resource_lock_released','resource':_0x2acc63,'released_keys':_0x1f3d85,'total_keys':_0x3bbde7['length'],'owner':this['extractOwner'](_0x1aba1c)},'Resource\x20lock\x20released:\x20'+_0x2acc63+'\x20('+_0x1f3d85+'/'+_0x3bbde7[_0x5c8318(0x1c9)]+'\x20keys)'),{'success':!![],'data':{'resource':_0x2acc63,'released_keys':_0x1f3d85,'total_keys':_0x3bbde7['length']}};}catch(_0x43c7f2){return logger[_0x5c8318(0x1d8)]({'event':_0x1a87cf[_0x5c8318(0x1eb)],'resource':_0x2acc63,'error':_0x43c7f2['message']},'Resource\x20lock\x20release\x20error:\x20'+_0x43c7f2['message']),{'success':![],'error':_0x5c8318(0x1d7)+_0x43c7f2['message']};}}async[a0_0x337371(0x1b6)]({resource:_0x2dce25,lockKeys:_0x20438c}){const _0xce7b32=a0_0x337371,_0x544c22={'yxfRA':function(_0x40a607,_0x113269){return _0x40a607===_0x113269;},'okMCu':function(_0x13954c,_0x61496d){return _0x13954c!==_0x61496d;},'WESeN':function(_0x179b0f,_0x1809dc){return _0x179b0f>_0x1809dc;}};if(!_0x2dce25||!Array['isArray'](_0x20438c)||_0x544c22['yxfRA'](_0x20438c['length'],0x0))return{'success':![],'error':'resource\x20and\x20lock_keys\x20are\x20required'};try{const _0x1ca74a=redisClient[_0xce7b32(0x1e4)](),_0x3b7eef=[];for(const {key:_0x1f470e,value:_0x261185}of _0x20438c){const _0x27663a=this['buildKey'](_0x2dce25,_0x1f470e,_0x261185),[_0x444757,_0x10bfee]=await Promise[_0xce7b32(0x1b7)]([_0x1ca74a[_0xce7b32(0x1e5)](_0x27663a),_0x1ca74a['ttl'](_0x27663a)]),_0x48c6ce=_0x544c22['okMCu'](_0x444757,null);_0x3b7eef['push']({'key':_0x1f470e,'value':_0x261185,'locked':_0x48c6ce,'owner':_0x48c6ce?this[_0xce7b32(0x1e7)](_0x444757):null,'ttl_remaining':_0x48c6ce&&_0x544c22['WESeN'](_0x10bfee,0x0)?_0x10bfee:null});}return{'success':!![],'data':{'resource':_0x2dce25,'keys':_0x3b7eef}};}catch(_0x213754){return logger[_0xce7b32(0x1d8)]({'event':'resource_lock_status_error','resource':_0x2dce25,'error':_0x213754['message']},'Resource\x20lock\x20status\x20error:\x20'+_0x213754[_0xce7b32(0x1b5)]),{'success':![],'error':_0xce7b32(0x1e0)+_0x213754['message']};}}async['_rollbackKeys'](_0x505159,_0x32466e,_0x266170){const _0x4c6689=a0_0x337371;for(const _0x117ac0 of _0x32466e){try{await _0x505159['eval'](RELEASE_LUA_SCRIPT,0x1,_0x117ac0,_0x266170);}catch(_0x175183){logger[_0x4c6689(0x1d8)]({'event':_0x4c6689(0x1dc),'key':_0x117ac0,'error':_0x175183[_0x4c6689(0x1b5)]},'Failed\x20to\x20rollback\x20key:\x20'+_0x117ac0);}}}async[a0_0x337371(0x1b2)](_0x2996f5,_0x6d1b4f){const _0x206aa9=a0_0x337371,_0xe8cfdf={'PPZth':_0x206aa9(0x1b4)};try{const [_0x4c64a7,_0x4da801]=await Promise['all']([_0x2996f5['get'](_0x6d1b4f),_0x2996f5[_0x206aa9(0x1e1)](_0x6d1b4f)]);return{'owner':_0x4c64a7?this[_0x206aa9(0x1e7)](_0x4c64a7):_0xe8cfdf['PPZth'],'ttlRemaining':_0x4da801>0x0?_0x4da801:null};}catch{return{'owner':_0xe8cfdf[_0x206aa9(0x1d5)],'ttlRemaining':null};}}[a0_0x337371(0x1c3)]({resource:_0x5c038a,lockKeys:_0x496067,ttl:_0x5c6a66,owner:_0x372184}){const _0x2d8119=a0_0x337371,_0x4dd0d1={'XJLyy':function(_0x312f3d,_0x3b7324){return _0x312f3d!==_0x3b7324;},'qELUK':'resource\x20is\x20required\x20and\x20must\x20be\x20a\x20string','qftHa':function(_0x3cb056,_0x2cb9a0){return _0x3cb056===_0x2cb9a0;},'sKfRX':_0x2d8119(0x1da),'eMuFd':_0x2d8119(0x1e8),'GjRsT':_0x2d8119(0x1d1)};if(!_0x5c038a||_0x4dd0d1['XJLyy'](typeof _0x5c038a,_0x2d8119(0x1d1)))return{'valid':![],'error':_0x4dd0d1[_0x2d8119(0x1c4)]};if(!Array[_0x2d8119(0x1b8)](_0x496067)||_0x4dd0d1['qftHa'](_0x496067[_0x2d8119(0x1c9)],0x0))return{'valid':![],'error':_0x2d8119(0x1f0)};if(_0x496067[_0x2d8119(0x1c9)]>0x64)return{'valid':![],'error':_0x4dd0d1['sKfRX']};for(let _0x5468fa=0x0;_0x5468fa<_0x496067[_0x2d8119(0x1c9)];_0x5468fa++){const _0x1024c5=_0x496067[_0x5468fa];if(!_0x1024c5||!_0x1024c5[_0x2d8119(0x1be)]||!_0x1024c5['value'])return{'valid':![],'error':_0x2d8119(0x1bc)+_0x5468fa+_0x2d8119(0x1ae)};}if(!_0x5c6a66||_0x4dd0d1['XJLyy'](typeof _0x5c6a66,_0x2d8119(0x1d6))||_0x5c6a66<0x1)return{'valid':![],'error':_0x4dd0d1[_0x2d8119(0x1c5)]};const _0xd1c6bc=this['getMaxTTLSeconds']();if(_0x5c6a66>_0xd1c6bc)return{'valid':![],'error':'ttl\x20exceeds\x20maximum\x20of\x20'+_0xd1c6bc+'\x20seconds.\x20Configure\x20LOCK_RESOURCE_MAX_TTL\x20to\x20increase.'};if(!_0x372184||typeof _0x372184!==_0x4dd0d1['GjRsT'])return{'valid':![],'error':'owner\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};return{'valid':!![]};}['_validateReleaseInput']({resource:_0x317380,lockKeys:_0x2a3fdb,lockToken:_0x941928}){const _0x297c7a=a0_0x337371,_0x471a16={'hyEna':function(_0x328f27,_0x51372d){return _0x328f27!==_0x51372d;},'Neexr':_0x297c7a(0x1b0),'cmFYS':function(_0x2bcbf6,_0x5a3999){return _0x2bcbf6<_0x5a3999;},'xehwv':_0x297c7a(0x1d1)};if(!_0x317380||_0x471a16[_0x297c7a(0x1df)](typeof _0x317380,'string'))return{'valid':![],'error':_0x471a16['Neexr']};if(!Array['isArray'](_0x2a3fdb)||_0x2a3fdb[_0x297c7a(0x1c9)]===0x0)return{'valid':![],'error':_0x297c7a(0x1f0)};for(let _0x24804b=0x0;_0x471a16['cmFYS'](_0x24804b,_0x2a3fdb[_0x297c7a(0x1c9)]);_0x24804b++){const _0x42c125=_0x2a3fdb[_0x24804b];if(!_0x42c125||!_0x42c125[_0x297c7a(0x1be)]||!_0x42c125['value'])return{'valid':![],'error':'lock_keys['+_0x24804b+_0x297c7a(0x1ae)};}if(!_0x941928||_0x471a16[_0x297c7a(0x1df)](typeof _0x941928,_0x471a16[_0x297c7a(0x1d2)]))return{'valid':![],'error':_0x297c7a(0x1d9)};return{'valid':!![]};}}module[a0_0x337371(0x1b1)]=new ResourceLockManager();
|
|
1
|
+
const a0_0x4e5a10=a0_0x1c94;function a0_0x1c94(_0x50fd56,_0x5412ba){_0x50fd56=_0x50fd56-0x1b5;const _0x192d49=a0_0x192d();let _0x1c9469=_0x192d49[_0x50fd56];if(a0_0x1c94['xcxaCJ']===undefined){var _0x13a6b7=function(_0x4a60b7){const _0x163348='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5549d3='',_0x35659d='';for(let _0x5d9cfc=0x0,_0x4f2354,_0x5436f8,_0x50ee5c=0x0;_0x5436f8=_0x4a60b7['charAt'](_0x50ee5c++);~_0x5436f8&&(_0x4f2354=_0x5d9cfc%0x4?_0x4f2354*0x40+_0x5436f8:_0x5436f8,_0x5d9cfc++%0x4)?_0x5549d3+=String['fromCharCode'](0xff&_0x4f2354>>(-0x2*_0x5d9cfc&0x6)):0x0){_0x5436f8=_0x163348['indexOf'](_0x5436f8);}for(let _0x64b99a=0x0,_0x4f036f=_0x5549d3['length'];_0x64b99a<_0x4f036f;_0x64b99a++){_0x35659d+='%'+('00'+_0x5549d3['charCodeAt'](_0x64b99a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x35659d);};a0_0x1c94['gOuqbJ']=_0x13a6b7,a0_0x1c94['FAYNwg']={},a0_0x1c94['xcxaCJ']=!![];}const _0x280c48=_0x192d49[0x0],_0x14279c=_0x50fd56+_0x280c48,_0x229ed9=a0_0x1c94['FAYNwg'][_0x14279c];return!_0x229ed9?(_0x1c9469=a0_0x1c94['gOuqbJ'](_0x1c9469),a0_0x1c94['FAYNwg'][_0x14279c]=_0x1c9469):_0x1c9469=_0x229ed9,_0x1c9469;}(function(_0x3e8792,_0x4f37b5){const _0x1ada51=a0_0x1c94,_0x154ec3=_0x3e8792();while(!![]){try{const _0x46812a=-parseInt(_0x1ada51(0x206))/0x1*(parseInt(_0x1ada51(0x1d0))/0x2)+-parseInt(_0x1ada51(0x1f9))/0x3+parseInt(_0x1ada51(0x1f7))/0x4*(parseInt(_0x1ada51(0x1ff))/0x5)+parseInt(_0x1ada51(0x1f4))/0x6*(parseInt(_0x1ada51(0x1eb))/0x7)+-parseInt(_0x1ada51(0x1e5))/0x8+parseInt(_0x1ada51(0x1c7))/0x9*(parseInt(_0x1ada51(0x1e9))/0xa)+parseInt(_0x1ada51(0x1cb))/0xb;if(_0x46812a===_0x4f37b5)break;else _0x154ec3['push'](_0x154ec3['shift']());}catch(_0x555576){_0x154ec3['push'](_0x154ec3['shift']());}}}(a0_0x192d,0xb43c8));function a0_0x192d(){const _0x2794db=['BgvUz3rO','rM5wwxi','thP0qxG','AxnbCNjHEq','DhrS','x3zHBgLKyxrLuMvSzwfZzuLUChv0','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','uMvZB3vYy2uGBg9JAYbYzwXLyxnLzdOG','igTLExmSifrutdOG','tKv4uLC','vhnYrfm','BNLcqMq','DhrSigLZihjLCxvPCMvKigfUzcbTDxn0igjLigf0igXLyxn0ideGkgLUihnLy29UzhmP','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','Bg9JA19RzxLZigLZihjLCxvPCMvKigfUzcbTDxn0igjLigeGBM9UlwvTChr5igfYCMf5','tg9JAYbYzwXLyxnLigzHAwXLzdOG','z2v0','wwjbtfy','z2vUzxjHDgvuB2TLBG','z2v0twf4vfrmu2vJB25KCW','BwfW','oNjSB2nRoG','q1bUBgK','mta4otCWodnezMTotKO','BwLU','DMzYuLu','CMvSzwfZzvjLC291CMnLtg9JA3m','odG4mJyYmvvMtwj3qW','uMvZB3vYy2uGBg9JAYbJB25MBgLJDa','BK1brui','DMfSAwq','Bg9JA19RzxLZwW','mLrcsxPjEa','DhrSuMvTywLUAw5N','CMy6','rKDlveW','Aw5MBW','ywXS','yNvPBgrlzxK','zKLhy0i','uMvZB3vYy2uGBg9JAYbYzwXLyxnLigvYCM9YoIa','Dw5RBM93BG','DMfSDwu','CMvZB3vYy2uGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','zxzHBa','x3zHBgLKyxrLqwnXDwLYzuLUChv0','cIaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicbLBhnLcIaGicbYzxr1CM4GmaOGigvUzaO','x3jVBgXIywnRs2v5CW','xsbTDxn0igHHDMuGA2v5igfUzcb2ywX1zsbWCM9Wzxj0AwvZ','A2v5','zxjYB3i','CMvZB3vYy2vFBg9JA19YzwXLyxnLx2vYCM9Y','ihnLy29UzhmUienVBMzPz3vYzsbmt0nlx1jfu09vuKnfx01bwf9uveWGDg8GAw5JCMvHC2uU','nda4mtyYnhLZDK1gsq','zxH0CMfJDe93BMvY','ChvZAa','z2v0q2XPzw50','mtbfCLPcBvO','zw52','nJa1mduYn2DurKTyrW','Dg9ju09tDhjPBMC','twXjrvC','zeXmrMW','tg9JAYbZDgf0DxmGy2HLy2SGzMfPBgvKoIa','Bg9JA190B2TLBIbPCYbYzxf1AxjLzcbHBMqGBxvZDcbIzsbHihn0CMLUzW','DKHtyuK','vwTJz3e','tg9JAYbHy3f1AxjLigzHAwXLzdOG','nMDxyLfizq','CMvZB3vYy2vFBg9JA19Hy3f1AxjLza','D2fYBG','ndGWmdy4C2zdAvvY','C3rYAw5N','mJKZntq0mg1RwwjQEa','rMfPBgvKihrVihjVBgXIywnRihjLC291CMnLigXVy2TZigfMDgvYigvYCM9Y','uMvZB3vYy2uGBg9JAYbZDgf0DxmGzxjYB3i6ia','BwvZC2fNzq','B3DUzxi','DhrSigv4y2vLzhmGBwf4Aw11BsbVzIa','mJvyA3LUy0y','zgvMyxvSDa','x2DLDenVBMzSAwn0sw5MBW','rMfPBgvKihrVihjVBgXIywnRigTLEtOG','zxHWB3j0CW','C3PLC3y','CMvZB3vYy2uGyw5KigXVy2TFA2v5CYbHCMuGCMvXDwLYzwq','mti1ntGXm1vjuuXrBG'];a0_0x192d=function(){return _0x2794db;};return a0_0x192d();}const redisClient=require(a0_0x4e5a10(0x1bd)),{logger}=require('../../utils/logger'),{v4:uuidv4}=require('uuid');function getPrefix(){const _0x2fb041=a0_0x4e5a10,_0x3ac819=process['env'][_0x2fb041(0x1b6)]||_0x2fb041(0x200);return _0x2fb041(0x1d2)+_0x3ac819+_0x2fb041(0x1c5);}const DEFAULT_MAX_TTL_SECONDS=0x12c,RELEASE_LUA_SCRIPT=a0_0x4e5a10(0x1de);class ResourceLockManager{[a0_0x4e5a10(0x1d6)](_0x279ea5,_0x5f11c5,_0x2b2774){return''+getPrefix()+_0x279ea5+':'+_0x5f11c5+':'+_0x2b2774;}[a0_0x4e5a10(0x1c2)](_0x434b77){const _0x344cfe={'MRuhY':function(_0x546b5f){return _0x546b5f();}};return _0x434b77+':'+_0x344cfe['MRuhY'](uuidv4)+':'+Date['now']();}['extractOwner'](_0x1c8864){const _0xcc6b18=a0_0x4e5a10,_0x3e3d78={'NExRW':function(_0x20ccd5,_0x2ffa77){return _0x20ccd5>_0x2ffa77;}};if(!_0x1c8864)return _0xcc6b18(0x1d9);const _0x106006=_0x1c8864['indexOf'](':');return _0x3e3d78[_0xcc6b18(0x1b9)](_0x106006,0x0)?_0x1c8864['substring'](0x0,_0x106006):_0x1c8864;}[a0_0x4e5a10(0x1c3)](){const _0x55e282=a0_0x4e5a10;return parseInt(process[_0x55e282(0x1ea)]['LOCK_RESOURCE_MAX_TTL'],0xa)||DEFAULT_MAX_TTL_SECONDS;}async['acquireResourceLocks']({resource:_0x587a35,lockKeys:_0x5afc43,ttl:_0x3b4f7d,owner:_0xd17c52}){const _0x2802c0=a0_0x4e5a10,_0x1ceb1d={'drAmg':function(_0x5434da,_0x595e40){return _0x5434da<_0x595e40;},'NbCEU':function(_0x161837,_0x435327){return _0x161837===_0x435327;},'TsrDS':_0x2802c0(0x1f5),'MlIEW':_0x2802c0(0x1fa),'TLVRe':'resource_lock_acquire_error'},_0x330ef4=this[_0x2802c0(0x1dd)]({'resource':_0x587a35,'lockKeys':_0x5afc43,'ttl':_0x3b4f7d,'owner':_0xd17c52});if(!_0x330ef4[_0x2802c0(0x1ce)])return{'success':![],'error':_0x330ef4[_0x2802c0(0x1e2)]};const _0x252178=this['getMaxTTLSeconds'](),_0x50a8bd=Math[_0x2802c0(0x1c8)](_0x3b4f7d,_0x252178),_0x2d05b2=this[_0x2802c0(0x1c2)](_0xd17c52),_0x429448=[];try{const _0x11b9a5=redisClient[_0x2802c0(0x1e8)]();for(let _0x9ad6b9=0x0;_0x1ceb1d['drAmg'](_0x9ad6b9,_0x5afc43['length']);_0x9ad6b9++){const {key:_0x3d0261,value:_0x37fe7d}=_0x5afc43[_0x9ad6b9],_0x3f3728=this['buildKey'](_0x587a35,_0x3d0261,_0x37fe7d),_0x650810=await _0x11b9a5['set'](_0x3f3728,_0x2d05b2,'EX',_0x50a8bd,'NX');if(_0x1ceb1d['NbCEU'](_0x650810,'OK'))_0x429448[_0x2802c0(0x1e7)](_0x3f3728);else{await this[_0x2802c0(0x1df)](_0x11b9a5,_0x429448,_0x2d05b2);const _0x4a65cd=await this['_getConflictInfo'](_0x11b9a5,_0x3f3728);return logger[_0x2802c0(0x1f6)]({'event':'resource_lock_conflict','resource':_0x587a35,'conflicting_key':{'key':_0x3d0261,'value':_0x37fe7d},'locked_by':_0x4a65cd[_0x2802c0(0x1fd)],'ttl_remaining':_0x4a65cd[_0x2802c0(0x1d1)],'attempted_by':_0xd17c52},'Resource\x20lock\x20conflict\x20on\x20'+_0x587a35+':'+_0x3d0261+':'+_0x37fe7d),{'success':![],'error':_0x2802c0(0x1cc),'data':{'conflicting_key':{'key':_0x3d0261,'value':_0x37fe7d},'locked_by':_0x4a65cd['owner'],'ttl_remaining':_0x4a65cd['ttlRemaining']}};}}const _0x3b5f87=_0x5afc43[_0x2802c0(0x1c4)](({key:_0x560153,value:_0x512f78})=>({'key':_0x560153,'value':_0x512f78,'lock_key':this['buildKey'](_0x587a35,_0x560153,_0x512f78)}));return logger[_0x2802c0(0x1d4)]({'event':_0x1ceb1d[_0x2802c0(0x1ba)],'resource':_0x587a35,'keys_count':_0x5afc43[_0x2802c0(0x207)],'ttl':_0x50a8bd,'owner':_0xd17c52},'Resource\x20lock\x20acquired:\x20'+_0x587a35+'\x20('+_0x5afc43[_0x2802c0(0x207)]+_0x2802c0(0x1b8)+_0x50a8bd+'s)'),{'success':!![],'data':{'lock_token':_0x2d05b2,'resource':_0x587a35,'locked_keys':_0x3b5f87,'ttl':_0x50a8bd,'owner':_0xd17c52,'acquired_at':new Date()[_0x2802c0(0x1ec)]()}};}catch(_0x194c2f){try{const _0x51bb05=redisClient['getClient']();await this[_0x2802c0(0x1df)](_0x51bb05,_0x429448,_0x2d05b2);}catch(_0x31f035){logger[_0x2802c0(0x1e2)]({'event':'resource_lock_rollback_error','error':_0x31f035['message']},_0x1ceb1d[_0x2802c0(0x1ed)]);}return logger['error']({'event':_0x1ceb1d['TLVRe'],'resource':_0x587a35,'owner':_0xd17c52,'error':_0x194c2f[_0x2802c0(0x1fc)]},'Resource\x20lock\x20acquire\x20error:\x20'+_0x194c2f[_0x2802c0(0x1fc)]),{'success':![],'error':_0x2802c0(0x1f3)+_0x194c2f['message']};}}async[a0_0x4e5a10(0x1ca)]({resource:_0x38904f,lockKeys:_0x545ce6,lockToken:_0x46ed38}){const _0x5184ff=a0_0x4e5a10,_0x1369a1={'eGFYt':function(_0x282332,_0x471ef5){return _0x282332===_0x471ef5;},'YbALV':'resource_lock_released'},_0x4d93d7=this[_0x5184ff(0x1b5)]({'resource':_0x38904f,'lockKeys':_0x545ce6,'lockToken':_0x46ed38});if(!_0x4d93d7[_0x5184ff(0x1ce)])return{'success':![],'error':_0x4d93d7[_0x5184ff(0x1e2)]};try{const _0x15ec16=redisClient[_0x5184ff(0x1e8)]();let _0x3382cc=0x0;for(const {key:_0x50da59,value:_0x1291bd}of _0x545ce6){const _0x139ad7=this[_0x5184ff(0x1d6)](_0x38904f,_0x50da59,_0x1291bd),_0x5b8356=await _0x15ec16[_0x5184ff(0x1dc)](RELEASE_LUA_SCRIPT,0x1,_0x139ad7,_0x46ed38);_0x1369a1['eGFYt'](_0x5b8356,0x1)&&_0x3382cc++;}return logger[_0x5184ff(0x1d4)]({'event':_0x1369a1[_0x5184ff(0x1c1)],'resource':_0x38904f,'released_keys':_0x3382cc,'total_keys':_0x545ce6[_0x5184ff(0x207)],'owner':this[_0x5184ff(0x1e6)](_0x46ed38)},_0x5184ff(0x1b7)+_0x38904f+'\x20('+_0x3382cc+'/'+_0x545ce6['length']+'\x20keys)'),{'success':!![],'data':{'resource':_0x38904f,'released_keys':_0x3382cc,'total_keys':_0x545ce6['length']}};}catch(_0x551e77){return logger['error']({'event':_0x5184ff(0x1e3),'resource':_0x38904f,'error':_0x551e77[_0x5184ff(0x1fc)]},_0x5184ff(0x1d8)+_0x551e77['message']),{'success':![],'error':_0x5184ff(0x1bf)+_0x551e77[_0x5184ff(0x1fc)]};}}async['getResourceLockStatus']({resource:_0x6ec6c1,lockKeys:_0x29a5e6}){const _0x2bc9ba=a0_0x4e5a10,_0x3717ba={'LztAx':function(_0x4a0179,_0x538ed7){return _0x4a0179===_0x538ed7;},'avQxb':_0x2bc9ba(0x205),'BlZYl':function(_0x1670dd,_0x5b05de){return _0x1670dd!==_0x5b05de;}};if(!_0x6ec6c1||!Array['isArray'](_0x29a5e6)||_0x3717ba[_0x2bc9ba(0x209)](_0x29a5e6[_0x2bc9ba(0x207)],0x0))return{'success':![],'error':_0x3717ba['avQxb']};try{const _0x294a8b=redisClient[_0x2bc9ba(0x1e8)](),_0x39493d=[];for(const {key:_0x5ae9e5,value:_0x43afdd}of _0x29a5e6){const _0x21cf6e=this['buildKey'](_0x6ec6c1,_0x5ae9e5,_0x43afdd),[_0x217d92,_0x91941f]=await Promise[_0x2bc9ba(0x1d5)]([_0x294a8b[_0x2bc9ba(0x1c0)](_0x21cf6e),_0x294a8b[_0x2bc9ba(0x20b)](_0x21cf6e)]),_0x58b8ab=_0x3717ba['BlZYl'](_0x217d92,null);_0x39493d['push']({'key':_0x5ae9e5,'value':_0x43afdd,'locked':_0x58b8ab,'owner':_0x58b8ab?this['extractOwner'](_0x217d92):null,'ttl_remaining':_0x58b8ab&&_0x91941f>0x0?_0x91941f:null});}return{'success':!![],'data':{'resource':_0x6ec6c1,'keys':_0x39493d}};}catch(_0xf7173){return logger[_0x2bc9ba(0x1e2)]({'event':'resource_lock_status_error','resource':_0x6ec6c1,'error':_0xf7173['message']},_0x2bc9ba(0x1fb)+_0xf7173[_0x2bc9ba(0x1fc)]),{'success':![],'error':_0x2bc9ba(0x1ef)+_0xf7173['message']};}}async['_rollbackKeys'](_0x188dc5,_0x1a0ead,_0x32be90){const _0x4aafd5=a0_0x4e5a10;for(const _0x473a60 of _0x1a0ead){try{await _0x188dc5[_0x4aafd5(0x1dc)](RELEASE_LUA_SCRIPT,0x1,_0x473a60,_0x32be90);}catch(_0x252cad){logger['error']({'event':'resource_lock_rollback_key_error','key':_0x473a60,'error':_0x252cad[_0x4aafd5(0x1fc)]},_0x4aafd5(0x202)+_0x473a60);}}}async[a0_0x4e5a10(0x201)](_0x55fbae,_0x39e021){const _0x216dc0=a0_0x4e5a10,_0x10c7d9={'lOJFI':'unknown'};try{const [_0x2ec641,_0x2eefbd]=await Promise[_0x216dc0(0x1d5)]([_0x55fbae['get'](_0x39e021),_0x55fbae[_0x216dc0(0x20b)](_0x39e021)]);return{'owner':_0x2ec641?this[_0x216dc0(0x1e6)](_0x2ec641):_0x216dc0(0x1d9),'ttlRemaining':_0x2eefbd>0x0?_0x2eefbd:null};}catch{return{'owner':_0x10c7d9['lOJFI'],'ttlRemaining':null};}}['_validateAcquireInput']({resource:_0x30c2a1,lockKeys:_0x459106,ttl:_0x2383b4,owner:_0x1a1060}){const _0x580049=a0_0x4e5a10,_0x4a4773={'CPnli':function(_0x1a27d6,_0x8dc20a){return _0x1a27d6!==_0x8dc20a;},'xczmY':_0x580049(0x1f8),'fIGcB':'resource\x20is\x20required\x20and\x20must\x20be\x20a\x20string','nLxPo':_0x580049(0x1be),'nMAEB':function(_0x1c1a6f,_0x372647){return _0x1c1a6f<_0x372647;},'nyBBd':'number','Bimfv':function(_0x29a027,_0x2520f4){return _0x29a027<_0x2520f4;},'vfrRU':_0x580049(0x1bc),'vHSaI':function(_0x3474be,_0x5c986a){return _0x3474be>_0x5c986a;},'Ukcgq':function(_0x423b0d,_0x48e42a){return _0x423b0d!==_0x48e42a;},'szesv':'owner\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};if(!_0x30c2a1||_0x4a4773[_0x580049(0x1c6)](typeof _0x30c2a1,_0x4a4773['xczmY']))return{'valid':![],'error':_0x4a4773[_0x580049(0x1d7)]};if(!Array['isArray'](_0x459106)||_0x459106['length']===0x0)return{'valid':![],'error':_0x4a4773['nLxPo']};if(_0x459106['length']>0x64)return{'valid':![],'error':'lock_keys\x20exceeds\x20maximum\x20of\x20100\x20items'};for(let _0x36a136=0x0;_0x4a4773[_0x580049(0x1cd)](_0x36a136,_0x459106['length']);_0x36a136++){const _0x6d1dad=_0x459106[_0x36a136];if(!_0x6d1dad||!_0x6d1dad['key']||!_0x6d1dad[_0x580049(0x1da)])return{'valid':![],'error':_0x580049(0x1cf)+_0x36a136+_0x580049(0x1e0)};}if(!_0x2383b4||_0x4a4773['CPnli'](typeof _0x2383b4,_0x4a4773[_0x580049(0x1bb)])||_0x4a4773['Bimfv'](_0x2383b4,0x1))return{'valid':![],'error':_0x4a4773[_0x580049(0x1c9)]};const _0x35e74e=this['getMaxTTLSeconds']();if(_0x4a4773[_0x580049(0x1f1)](_0x2383b4,_0x35e74e))return{'valid':![],'error':_0x580049(0x1fe)+_0x35e74e+_0x580049(0x1e4)};if(!_0x1a1060||_0x4a4773[_0x580049(0x1f2)](typeof _0x1a1060,'string'))return{'valid':![],'error':_0x4a4773[_0x580049(0x204)]};return{'valid':!![]};}[a0_0x4e5a10(0x1b5)]({resource:_0x2e4eb6,lockKeys:_0x3a7504,lockToken:_0x426dc1}){const _0x150114=a0_0x4e5a10,_0x209798={'FGKTL':'string','dLLFl':function(_0x1918fc,_0x1a39eb){return _0x1918fc!==_0x1a39eb;},'FnVYr':_0x150114(0x1f0)};if(!_0x2e4eb6||typeof _0x2e4eb6!==_0x209798[_0x150114(0x1d3)])return{'valid':![],'error':_0x150114(0x1db)};if(!Array[_0x150114(0x20a)](_0x3a7504)||_0x3a7504['length']===0x0)return{'valid':![],'error':_0x150114(0x1be)};for(let _0x2e98e0=0x0;_0x2e98e0<_0x3a7504[_0x150114(0x207)];_0x2e98e0++){const _0x4a745d=_0x3a7504[_0x2e98e0];if(!_0x4a745d||!_0x4a745d[_0x150114(0x1e1)]||!_0x4a745d[_0x150114(0x1da)])return{'valid':![],'error':_0x150114(0x1cf)+_0x2e98e0+_0x150114(0x1e0)};}if(!_0x426dc1||_0x209798[_0x150114(0x1ee)](typeof _0x426dc1,'string'))return{'valid':![],'error':_0x209798[_0x150114(0x208)]};return{'valid':!![]};}}module[a0_0x4e5a10(0x203)]=new ResourceLockManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x5a97c7=a0_0x51df;function a0_0x51df(_0x4ea9ad,_0x239105){_0x4ea9ad=_0x4ea9ad-0xc2;const _0x1a1349=a0_0x1a13();let _0x51dff7=_0x1a1349[_0x4ea9ad];if(a0_0x51df['bTzRUq']===undefined){var _0x3f16f1=function(_0x3809dd){const _0x114e42='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1f9c71='',_0x30cc01='';for(let _0x59092a=0x0,_0x210887,_0x121821,_0x14f717=0x0;_0x121821=_0x3809dd['charAt'](_0x14f717++);~_0x121821&&(_0x210887=_0x59092a%0x4?_0x210887*0x40+_0x121821:_0x121821,_0x59092a++%0x4)?_0x1f9c71+=String['fromCharCode'](0xff&_0x210887>>(-0x2*_0x59092a&0x6)):0x0){_0x121821=_0x114e42['indexOf'](_0x121821);}for(let _0x4ff507=0x0,_0x3a03d1=_0x1f9c71['length'];_0x4ff507<_0x3a03d1;_0x4ff507++){_0x30cc01+='%'+('00'+_0x1f9c71['charCodeAt'](_0x4ff507)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x30cc01);};a0_0x51df['EIuYPQ']=_0x3f16f1,a0_0x51df['BDIEzl']={},a0_0x51df['bTzRUq']=!![];}const _0x532daf=_0x1a1349[0x0],_0x4404c0=_0x4ea9ad+_0x532daf,_0x13b3a1=a0_0x51df['BDIEzl'][_0x4404c0];return!_0x13b3a1?(_0x51dff7=a0_0x51df['EIuYPQ'](_0x51dff7),a0_0x51df['BDIEzl'][_0x4404c0]=_0x51dff7):_0x51dff7=_0x13b3a1,_0x51dff7;}(function(_0x22d2ed,_0x5d36e3){const _0x1f41d7=a0_0x51df,_0x8a27db=_0x22d2ed();while(!![]){try{const _0x55564c=parseInt(_0x1f41d7(0x12e))/0x1+-parseInt(_0x1f41d7(0x137))/0x2*(-parseInt(_0x1f41d7(0x101))/0x3)+-parseInt(_0x1f41d7(0x11b))/0x4*(parseInt(_0x1f41d7(0xcc))/0x5)+-parseInt(_0x1f41d7(0xd5))/0x6*(-parseInt(_0x1f41d7(0xd9))/0x7)+-parseInt(_0x1f41d7(0xdd))/0x8+-parseInt(_0x1f41d7(0xd4))/0x9*(parseInt(_0x1f41d7(0xd6))/0xa)+parseInt(_0x1f41d7(0x108))/0xb;if(_0x55564c===_0x5d36e3)break;else _0x8a27db['push'](_0x8a27db['shift']());}catch(_0x1730f7){_0x8a27db['push'](_0x8a27db['shift']());}}}(a0_0x1a13,0x855f4));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require('uuid');class KafkaConsumerService{constructor(){const _0x12229c=a0_0x51df,_0x5715ec={'xFeIP':'1|7|2|8|3|10|0|6|4|9|5'},_0x19ba48=_0x5715ec[_0x12229c(0xde)]['split']('|');let _0x52e441=0x0;while(!![]){switch(_0x19ba48[_0x52e441++]){case'0':this[_0x12229c(0xf9)]=null;continue;case'1':this['kafka']=null;continue;case'2':this[_0x12229c(0xe1)]=![];continue;case'3':this[_0x12229c(0x121)]=![];continue;case'4':this[_0x12229c(0xe6)]=null;continue;case'5':this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'6':this['subscribedTopics']=[];continue;case'7':this[_0x12229c(0xd7)]=null;continue;case'8':this['isInitializing']=![];continue;case'9':this['messageHandler']=null;continue;case'10':this['isPaused']=![];continue;}break;}}[a0_0x5a97c7(0x10d)](){const _0x91e0eb=a0_0x5a97c7,_0x494a0e={'lczie':_0x91e0eb(0xee),'Mlwkl':function(_0x440047,_0x1e70e9){return _0x440047(_0x1e70e9);},'CbZWD':'3000','OWZCg':_0x91e0eb(0xf4),'JEAsN':_0x91e0eb(0x10a),'OCUYZ':function(_0x13cdee,_0x8de84b){return _0x13cdee(_0x8de84b);},'gIent':_0x91e0eb(0xe0)};return{'enabled':process['env'][_0x91e0eb(0x11e)]==='true','brokers':(process[_0x91e0eb(0x12f)]['KAFKA_BROKERS']||'localhost:9092')['split'](','),'clientId':process[_0x91e0eb(0x12f)]['KAFKA_CLIENT_ID']||_0x91e0eb(0x12c)+(process['env'][_0x91e0eb(0x102)]||_0x494a0e[_0x91e0eb(0xc9)])+'-consumer','connectionTimeout':_0x494a0e[_0x91e0eb(0x136)](parseInt,process['env']['KAFKA_CONNECTION_TIMEOUT']||'3000'),'requestTimeout':_0x494a0e['Mlwkl'](parseInt,process['env']['KAFKA_REQUEST_TIMEOUT']||_0x91e0eb(0x112)),'sessionTimeout':parseInt(process['env']['KAFKA_SESSION_TIMEOUT']||_0x91e0eb(0xe0)),'heartbeatInterval':_0x494a0e[_0x91e0eb(0x136)](parseInt,process[_0x91e0eb(0x12f)][_0x91e0eb(0x11a)]||_0x494a0e['CbZWD']),'maxBytesPerPartition':_0x494a0e['Mlwkl'](parseInt,process['env']['KAFKA_MAX_BYTES_PER_PARTITION']||_0x494a0e[_0x91e0eb(0x135)]),'autoCommit':process['env']['KAFKA_AUTO_COMMIT']===_0x91e0eb(0x119),'autoCommitInterval':_0x494a0e[_0x91e0eb(0x136)](parseInt,process[_0x91e0eb(0x12f)][_0x91e0eb(0xc5)]||_0x494a0e[_0x91e0eb(0xcf)]),'retryAttempts':_0x494a0e['OCUYZ'](parseInt,process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':_0x494a0e['Mlwkl'](parseInt,process[_0x91e0eb(0x12f)]['KAFKA_RETRY_DELAY']||_0x91e0eb(0x10b)),'retryMaxDelay':_0x494a0e['Mlwkl'](parseInt,process['env'][_0x91e0eb(0x117)]||_0x494a0e[_0x91e0eb(0xda)]),'logLevel':process[_0x91e0eb(0x12f)]['KAFKA_LOG_LEVEL']||'warn'};}[a0_0x5a97c7(0x12a)](_0x365126){const _0x93e26d=a0_0x5a97c7,_0xe476d8={'nothing':logLevel[_0x93e26d(0xd8)],'error':logLevel['ERROR'],'warn':logLevel[_0x93e26d(0x106)],'info':logLevel[_0x93e26d(0xea)],'debug':logLevel[_0x93e26d(0x139)]};return _0xe476d8[_0x365126['toLowerCase']()]||logLevel[_0x93e26d(0x106)];}async[a0_0x5a97c7(0x11d)](_0x4a495f={}){const _0x2fb49c=a0_0x5a97c7,_0x16c62c={'YzQQz':function(_0x379930,_0x5dedbf){return _0x379930===_0x5dedbf;},'vGxmc':_0x2fb49c(0x119),'sojWE':_0x2fb49c(0xee),'rFPUI':function(_0xdd9143,_0x27ce8a){return _0xdd9143(_0x27ce8a);}},_0xccc070=this['getConfig']();if(!_0xccc070['enabled'])return console[_0x2fb49c(0x105)]('[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'),![];if(this[_0x2fb49c(0xe1)])return!![];if(this[_0x2fb49c(0x13a)]&&this['connectionPromise'])return this['connectionPromise'];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x3edd8c=>{const _0xef83bf=_0x2fb49c;try{let _0xb20b30=undefined;_0x16c62c[_0xef83bf(0x11f)](process[_0xef83bf(0x12f)]['KAFKA_SSL'],_0x16c62c['vGxmc'])&&(_0xb20b30=!![]);let _0x593ce0=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x593ce0={'mechanism':process[_0xef83bf(0x12f)]['KAFKA_SASL_MECHANISM'],'username':process[_0xef83bf(0x12f)][_0xef83bf(0x126)]||'','password':process[_0xef83bf(0x12f)]['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x4a495f['clientId']||_0xccc070[_0xef83bf(0xf7)],'brokers':_0xccc070['brokers'],'connectionTimeout':_0xccc070[_0xef83bf(0x10c)],'requestTimeout':_0xccc070[_0xef83bf(0xe8)],'logLevel':this['getLogLevel'](_0xccc070['logLevel']),'ssl':_0xb20b30,'sasl':_0x593ce0,'retry':{'initialRetryTime':_0xccc070['retryDelay'],'retries':_0xccc070[_0xef83bf(0x111)],'maxRetryTime':_0xccc070[_0xef83bf(0x107)]}}),this['groupId']=_0x4a495f[_0xef83bf(0xe6)]||'restforge-'+(process[_0xef83bf(0x12f)]['RESTFORGE_PROJECT_NAME']||_0x16c62c['sojWE'])+'-consumer-group',this['consumer']=this[_0xef83bf(0xdb)]['consumer']({'groupId':this[_0xef83bf(0xe6)],'sessionTimeout':_0xccc070[_0xef83bf(0xc8)],'heartbeatInterval':_0xccc070[_0xef83bf(0xfd)],'maxBytesPerPartition':_0xccc070[_0xef83bf(0xf5)],'allowAutoTopicCreation':![]}),await this['consumer'][_0xef83bf(0x115)](),this[_0xef83bf(0xe1)]=!![],console['log'](_0xef83bf(0xc2)+_0xccc070[_0xef83bf(0x103)]['join'](',\x20')+_0xef83bf(0x12d)+this[_0xef83bf(0xe6)]+')'),this['setupEventHandlers'](),_0x3edd8c(!![]);}catch(_0x5c1ac8){console['error'](_0xef83bf(0xec)+_0x5c1ac8['message']),this['isConnected']=![],_0x16c62c['rFPUI'](_0x3edd8c,![]);}finally{this[_0xef83bf(0x13a)]=![];}}),this['connectionPromise'];}['setupEventHandlers'](){const _0x45d825=a0_0x5a97c7,_0x331796={'KhrHR':'3|4|1|0|2','RRVNH':_0x45d825(0x100)},_0x40fc32=_0x331796['KhrHR'][_0x45d825(0x125)]('|');let _0x402541=0x0;while(!![]){switch(_0x40fc32[_0x402541++]){case'0':this['consumer']['on']('consumer.crash',_0x3745ba=>{const _0x55d33b=_0x45d825;console['error'](_0x55d33b(0xf3)+_0x3745ba[_0x55d33b(0xf6)]['error']['message']),this[_0x55d33b(0x121)]=![];});continue;case'1':this['consumer']['on'](_0x45d825(0xfe),()=>{const _0x2287d2=_0x45d825;console['log']('[KafkaConsumer]\x20Consumer\x20stopped'),this[_0x2287d2(0x121)]=![];});continue;case'2':this['consumer']['on'](_0x45d825(0xe3),()=>{console['log']('[KafkaConsumer]\x20Consumer\x20rebalancing...');});continue;case'3':if(!this['consumer'])return;continue;case'4':this[_0x45d825(0xd7)]['on'](_0x331796[_0x45d825(0x114)],()=>{const _0x279b62=_0x45d825;console['log']('[KafkaConsumer]\x20Consumer\x20disconnected'),this['isConnected']=![],this[_0x279b62(0x121)]=![];});continue;}break;}}async['subscribe'](_0x52bb8e,_0x5961d5=![]){const _0x4d7551=a0_0x5a97c7,_0x1cfab1={'HvXed':_0x4d7551(0xf2)};if(!this[_0x4d7551(0xe1)])return console[_0x4d7551(0xfc)](_0x1cfab1['HvXed']),![];try{const _0x19b299=Array[_0x4d7551(0x120)](_0x52bb8e)?_0x52bb8e:[_0x52bb8e];for(const _0xc9f058 of _0x19b299){await this['consumer'][_0x4d7551(0xd1)]({'topic':_0xc9f058,'fromBeginning':_0x5961d5}),console[_0x4d7551(0x105)](_0x4d7551(0x116)+_0xc9f058+'\x20(fromBeginning:\x20'+_0x5961d5+')');}return this[_0x4d7551(0xff)]=[...new Set([...this['subscribedTopics'],..._0x19b299])],!![];}catch(_0xb5ab77){return console['error'](_0x4d7551(0xc3)+_0xb5ab77['message']),![];}}async['startConsuming'](_0x23a4c5,_0x382e4d={}){const _0xf609a7=a0_0x5a97c7,_0x194b7e={'Sunbd':function(_0x11513f,_0x26189c){return _0x11513f(_0x26189c);},'WQPAu':function(_0x1b0a46){return _0x1b0a46();},'odjyY':_0xf609a7(0xed)};if(!this[_0xf609a7(0xe1)])return console[_0xf609a7(0xfc)](_0xf609a7(0x12b)),![];if(this[_0xf609a7(0x121)])return console[_0xf609a7(0x105)](_0x194b7e['odjyY']),!![];const _0x1ab9b8=this[_0xf609a7(0x10d)]();this['messageHandler']=_0x23a4c5;try{return this[_0xf609a7(0xc4)][_0xf609a7(0xe5)]=new Date(),await this[_0xf609a7(0xd7)][_0xf609a7(0xe7)]({'autoCommit':_0x382e4d[_0xf609a7(0x13b)]!==undefined?_0x382e4d['autoCommit']:_0x1ab9b8['autoCommit'],'autoCommitInterval':_0x1ab9b8[_0xf609a7(0x109)],'eachMessage':async({topic:_0x54ab66,partition:_0x17d2ee,message:_0x3ca3f4,heartbeat:_0x50ea95})=>{const _0x5f2016=_0xf609a7,_0x2734d9=Date['now']();this[_0x5f2016(0xc4)]['messagesReceived']++,this[_0x5f2016(0xc4)][_0x5f2016(0xe9)]=new Date();try{const _0x1ebb09=_0x3ca3f4['value']?_0x3ca3f4['value'][_0x5f2016(0xfa)]():null;let _0x5a9fd4=null;try{_0x5a9fd4=_0x1ebb09?JSON[_0x5f2016(0x113)](_0x1ebb09):null;}catch(_0x376397){_0x5a9fd4=_0x1ebb09;}const _0x29d15f={'topic':_0x54ab66,'partition':_0x17d2ee,'offset':_0x3ca3f4['offset'],'key':_0x3ca3f4['key']?_0x3ca3f4['key']['toString']():null,'headers':this['parseHeaders'](_0x3ca3f4['headers']),'timestamp':_0x3ca3f4['timestamp'],'value':_0x5a9fd4,'raw':_0x1ebb09};this[_0x5f2016(0x131)]&&await this[_0x5f2016(0x131)](_0x29d15f);!_0x1ab9b8[_0x5f2016(0x13b)]&&await this[_0x5f2016(0xd7)]['commitOffsets']([{'topic':_0x54ab66,'partition':_0x17d2ee,'offset':(_0x194b7e['Sunbd'](parseInt,_0x3ca3f4[_0x5f2016(0x129)])+0x1)[_0x5f2016(0xfa)]()}]);this['metrics'][_0x5f2016(0x127)]++;const _0x59e90f=Date['now']()-_0x2734d9;this[_0x5f2016(0xc4)][_0x5f2016(0xd0)]['push'](_0x59e90f),this['metrics'][_0x5f2016(0xd0)]['length']>0x64&&this[_0x5f2016(0xc4)][_0x5f2016(0xd0)]['shift'](),await _0x194b7e[_0x5f2016(0x110)](_0x50ea95);}catch(_0x315cbd){this[_0x5f2016(0xc4)][_0x5f2016(0x124)]++,console['error']('[KafkaConsumer]\x20Message\x20processing\x20error:\x20'+_0x315cbd[_0x5f2016(0x133)]);throw _0x315cbd;}}}),this['isRunning']=!![],console[_0xf609a7(0x105)](_0xf609a7(0xeb)+this['subscribedTopics'][_0xf609a7(0x10e)](',\x20')),!![];}catch(_0x3fe6d1){return console['error'](_0xf609a7(0x11c)+_0x3fe6d1[_0xf609a7(0x133)]),![];}}['parseHeaders'](_0x265eba){const _0x1c68d9=a0_0x5a97c7;if(!_0x265eba)return{};const _0x28101a={};for(const [_0x83880e,_0xdbaa51]of Object['entries'](_0x265eba)){_0x28101a[_0x83880e]=_0xdbaa51?_0xdbaa51[_0x1c68d9(0xfa)]():null;}return _0x28101a;}async['pause'](){const _0x292fd8=a0_0x5a97c7,_0x5e8ccc={'oIMdH':'[KafkaConsumer]\x20Consumer\x20paused'};if(!this[_0x292fd8(0xe1)]||!this['isRunning'])return console[_0x292fd8(0x105)]('[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running'),![];if(this['isPaused'])return console['log']('[KafkaConsumer]\x20Consumer\x20already\x20paused'),!![];try{const _0x492335=this[_0x292fd8(0xff)]['map'](_0x3b45c2=>({'topic':_0x3b45c2}));return this[_0x292fd8(0xd7)]['pause'](_0x492335),this['isPaused']=!![],console['log'](_0x5e8ccc[_0x292fd8(0xd3)]),!![];}catch(_0x7cc38a){return console['error']('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x7cc38a['message']),![];}}async['resume'](){const _0x3a714b=a0_0x5a97c7,_0x41b98a={'pwEqP':'[KafkaConsumer]\x20Consumer\x20not\x20paused'};if(!this[_0x3a714b(0xe1)]||!this[_0x3a714b(0x121)])return console[_0x3a714b(0x105)](_0x3a714b(0xef)),![];if(!this[_0x3a714b(0xdc)])return console[_0x3a714b(0x105)](_0x41b98a['pwEqP']),!![];try{const _0x5acf56=this['subscribedTopics']['map'](_0x8a57be=>({'topic':_0x8a57be}));return this['consumer'][_0x3a714b(0xd2)](_0x5acf56),this[_0x3a714b(0xdc)]=![],console['log'](_0x3a714b(0xfb)),!![];}catch(_0x5b0989){return console[_0x3a714b(0xfc)](_0x3a714b(0x10f)+_0x5b0989[_0x3a714b(0x133)]),![];}}async['stop'](){const _0x2436ee=a0_0x5a97c7,_0x1258d5={'YsDCu':_0x2436ee(0x130),'TTTdh':'[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected'};if(!this['isConnected'])return console['log'](_0x1258d5[_0x2436ee(0xcd)]),!![];try{return this['consumer']&&(await this[_0x2436ee(0xd7)]['stop'](),await this[_0x2436ee(0xd7)]['disconnect']()),this['isConnected']=![],this['isRunning']=![],this[_0x2436ee(0xdc)]=![],console[_0x2436ee(0x105)](_0x1258d5[_0x2436ee(0xf8)]),!![];}catch(_0x4f2544){return console[_0x2436ee(0xfc)](_0x2436ee(0x122)+_0x4f2544[_0x2436ee(0x133)]),![];}}async[a0_0x5a97c7(0x132)](_0x503d14,_0x34b4a3,_0x5d25ed){const _0xbe00a5=a0_0x5a97c7;if(!this[_0xbe00a5(0xe1)])return console['error']('[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'),![];try{return this[_0xbe00a5(0xd7)][_0xbe00a5(0xf1)]({'topic':_0x503d14,'partition':_0x34b4a3,'offset':_0x5d25ed['toString']()}),console['log']('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x5d25ed+_0xbe00a5(0x134)+_0x503d14+':'+_0x34b4a3),!![];}catch(_0x9c1a06){return console[_0xbe00a5(0xfc)]('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x9c1a06['message']),![];}}['getStatus'](){const _0x23d4cf=a0_0x5a97c7,_0x3025bc=this[_0x23d4cf(0x10d)]();return{'enabled':_0x3025bc['enabled'],'connected':this[_0x23d4cf(0xe1)],'running':this['isRunning'],'paused':this[_0x23d4cf(0xdc)],'brokers':_0x3025bc['brokers'],'clientId':_0x3025bc[_0x23d4cf(0xf7)],'groupId':this[_0x23d4cf(0xe6)],'subscribedTopics':this['subscribedTopics']};}[a0_0x5a97c7(0xcb)](){const _0x32b8fb=a0_0x5a97c7,_0x544e8c={'XzDEZ':function(_0x3671ad,_0x506a8e){return _0x3671ad>_0x506a8e;},'doVHL':function(_0x385a1b,_0x35ea16){return _0x385a1b>_0x35ea16;},'eryHW':function(_0x64ea0,_0x5aa67a){return _0x64ea0+_0x5aa67a;},'PsZIV':function(_0x2e3162,_0x793850){return _0x2e3162*_0x793850;},'SbwKI':function(_0x3c8b65,_0x376453){return _0x3c8b65/_0x376453;},'qrtOQ':function(_0x4a2faf,_0x199d06){return _0x4a2faf+_0x199d06;},'tRrVt':function(_0x2f5bca,_0x14dfbf){return _0x2f5bca-_0x14dfbf;}},_0x465a95=_0x544e8c[_0x32b8fb(0xc7)](this[_0x32b8fb(0xc4)][_0x32b8fb(0xd0)][_0x32b8fb(0xc6)],0x0)?this['metrics'][_0x32b8fb(0xd0)][_0x32b8fb(0xe2)]((_0x2e39dc,_0x5efa80)=>_0x2e39dc+_0x5efa80,0x0)/this['metrics'][_0x32b8fb(0xd0)]['length']:0x0,_0x50675f=this['metrics'][_0x32b8fb(0xd0)][_0x32b8fb(0xc6)]>0x0?Math['min'](...this['metrics']['processingTimes']):0x0,_0x13343a=_0x544e8c[_0x32b8fb(0x138)](this[_0x32b8fb(0xc4)][_0x32b8fb(0xd0)]['length'],0x0)?Math[_0x32b8fb(0xe4)](...this[_0x32b8fb(0xc4)][_0x32b8fb(0xd0)]):0x0;return{'messagesReceived':this['metrics'][_0x32b8fb(0xca)],'messagesProcessed':this['metrics'][_0x32b8fb(0x127)],'messagesFailed':this[_0x32b8fb(0xc4)][_0x32b8fb(0x124)],'successRate':this['metrics'][_0x32b8fb(0xca)]>0x0?_0x544e8c[_0x32b8fb(0x118)](_0x544e8c['PsZIV'](_0x544e8c['SbwKI'](this['metrics'][_0x32b8fb(0x127)],this['metrics'][_0x32b8fb(0xca)]),0x64)[_0x32b8fb(0xf0)](0x2),'%'):'0%','lastMessageTime':this[_0x32b8fb(0xc4)]['lastMessageTime'],'startTime':this[_0x32b8fb(0xc4)]['startTime'],'uptime':this[_0x32b8fb(0xc4)]['startTime']?_0x544e8c['qrtOQ'](Math[_0x32b8fb(0x13c)](_0x544e8c[_0x32b8fb(0x123)](_0x544e8c['tRrVt'](Date[_0x32b8fb(0xdf)](),this[_0x32b8fb(0xc4)]['startTime'][_0x32b8fb(0xce)]()),0x3e8)),'s'):'0s','processingTime':{'avg':Math['round'](_0x465a95)+'ms','min':_0x50675f+'ms','max':_0x13343a+'ms'}};}[a0_0x5a97c7(0x128)](){const _0x3438ef=a0_0x5a97c7;this[_0x3438ef(0xc4)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console['log']('[KafkaConsumer]\x20Metrics\x20reset');}async['close'](){await this['stop']();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function a0_0x1a13(){const _0x2b5c0d=['w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','Bwv0CMLJCW','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','BgvUz3rO','whPervO','C2vZC2LVBLrPBwvVDxq','Bgn6Awu','BwvZC2fNzxnszwnLAxzLza','z2v0twv0CMLJCW','mJa1ruDlBwj3','wxneq3u','z2v0vgLTzq','sKvbC04','ChjVy2vZC2LUz1rPBwvZ','C3vIC2nYAwjL','CMvZDw1L','B0LnzeG','mteYmta0oxDzBhv5tq','mZblsMTpshC','ndbIAfHdD2e','y29UC3vTzxi','tK9useLorW','mtCWmZe3r0TMu1D2','z0LLBNq','A2fMA2e','AxnqyxvZzwq','oti3ntq0D2vkD3z3','EezLsva','BM93','mZaWmda','AxndB25Uzwn0zwq','CMvKDwnL','y29UC3vTzxiUCMvIywXHBMnPBMC','Bwf4','C3rHCNruAw1L','z3jVDxbjza','CNvU','CMvXDwvZDfrPBwvVDxq','BgfZDe1LC3nHz2vuAw1L','su5gtW','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','zgvMyxvSDa','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','Dg9gAxHLza','C2vLAW','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','mta0odu3nG','Bwf4qNL0zxnqzxjqyxj0AxrPB24','Cgf5Bg9Hza','y2XPzw50swq','vfruzgG','y29UBMvJDgLVBLbYB21PC2u','Dg9tDhjPBMC','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','zxjYB3i','AgvHCNrIzwf0sw50zxj2ywW','y29UC3vTzxiUC3rVCa','C3vIC2nYAwjLzfrVCgLJCW','y29UC3vTzxiUzgLZy29UBMvJDa','mtjtAu5MtK8','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','yNjVA2vYCW','y2XVC2u','Bg9N','v0fstG','CMv0CNLnyxHezwXHEq','ndm1nJy2me5IBNbLBa','yxv0B0nVBw1PDeLUDgvYDMfS','ntaWma','mtaWma','y29UBMvJDgLVBLrPBwvVDxq','z2v0q29UzMLN','AM9PBG','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','v1fqqxu','CMv0CNLbDhrLBxb0CW','mJuWmda','CgfYC2u','uLjwtKG','y29UBMvJDa','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','s0fgs0fFuKvuuLLFtufyx0rftefz','zxj5sfC','Dhj1zq','s0fgs0fFsevbuLrcrufux0LovevsvKfm','mti4mJbfseLJyxu','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','Aw5PDgLHBgL6zq','s0fgs0fFru5bqKXfra','wxPruxO','AxnbCNjHEq','AxnsDw5UAw5N','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','u2j3s0K','BwvZC2fNzxngywLSzwq','C3bSAxq','s0fgs0fFu0fttf9vu0vstKfnrq','BwvZC2fNzxnqCM9JzxnZzwq','CMvZzxrnzxrYAwnZ','B2zMC2v0','z2v0tg9Ntgv2zwW','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','CMvZDgzVCMDLlq','icHNCM91CeLKoIa','mZe1odvywNz5DNi','zw52','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','BwvZC2fNzuHHBMrSzxi','C2vLA1rVt2zMC2v0','BwvZC2fNzq','ig9Uia','t1DAq2C','twX3A2W','mZCXmJKYAgPJzvb1','zg9wseW','revcvuC','AxnjBML0AwfSAxPPBMC','yxv0B0nVBw1PDa','zMXVB3i','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa'];a0_0x1a13=function(){return _0x2b5c0d;};return a0_0x1a13();}function resetInstance(){const _0x10bde2=a0_0x5a97c7;instance&&(instance[_0x10bde2(0x104)](),instance=null);}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
1
|
+
const a0_0x28960b=a0_0x34b7;function a0_0x1460(){const _0x1b92d0=['CMvZzxrnzxrYAwnZ','y29UBMvJDa','zw52','C2v0DxbfDMvUDeHHBMrSzxjZ','mZaWma','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','C3vIC2nYAwjLzfrVCgLJCW','BgfZDe1LC3nHz2vuAw1L','C3rVCa','zxHWB3j0CW','Dhj1zq','z3jVDxbjza','Bg9N','C2vLAW','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','z2v0tg9Ntgv2zwW','s0fgs0fFuKvuuLLFqvruru1qvfm','C3rHCNrdB25ZDw1PBMC','s0fgs0fFqLjps0vsuW','ode1mdyWDw10rhLo','CMv0CNLnyxHezwXHEq','CKP6y2C','BwvZC2fNzxnszwnLAxzLza','y2XPzw50swq','AxnqyxvZzwq','Dg9tDhjPBMC','s0fgs0fFu0fttf9nruniqu5ju00','z2v0u3rHDhvZ','Bwv0CMLJCW','y29TBwL0t2zMC2v0CW','t2XpsuS','AfnvBK4','CNvU','CfbZEK0','y2XVC2u','s0fgs0fFq0Xjru5ux0Le','DgLTzxn0yw1W','z2v0q29UzMLN','C2vZC2LVBLrPBwvVDxq','A2v5','BM93','Dg9gAxHLza','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','AxnjBML0AwfSAxPPBMC','y29UC3vTzxi','ChvZAa','DxvPza','mteZnde2z0P5q0DT','C3rHCNruAw1L','s0fgs0fFqvvut19dt01nsvq','yxv0B0nVBw1PDeLUDgvYDMfS','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','mJuWmda','Bg9Ntgv2zwW','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','q1ngENm','AxndB25Uzwn0zwq','CgfYC2vizwfKzxjZ','Cgf1C2u','Bg9JywXOB3n0oJKWoti','t3bcELy','vKLLqK0','C2vLA1rVt2zMC2v0','AxnsDw5UAw5N','BwvZC2fNzq','s0fgs0fFru5bqKXfra','yvbsq3q','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','zwHeEfu','BwvZC2fNzuHHBMrSzxi','y29UC3vTzxiUCMvIywXHBMnPBMC','mZa4otrHDKrbD1i','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','Bwf4','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','Bwf4qNL0zxnqzxjqyxj0AxrPB24','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','s0fgs0fFu1nm','mJe2ENrSyMPH','DMfSDwu','zxjYB3i','y29UBMvJDgLVBLbYB21PC2u','A2fMA2e','sez6EuG','y29UBMvJDgLVBLrPBwvVDxq','lwnVBNn1BwvYlwDYB3vW','zgvMyxvSDa','AM9PBG','mZaWmda','CMvZDw1L','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','C3vIC2nYAwjL','mZi2nJC0sNn5tKTr','BwvZC2fNzxnqCM9JzxnZzwq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','mtqYode4ndbVtgfTBKm','ChjVy2vZC2LUz1rPBwvZ','v0fstG','mNHPD0zzBW','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','yNjVA2vYCW','tK9useLorW','s3PctwS','mtaYmtaWohvhvgLksW','ndyWoda1uw92A2vM','yxv0B0nVBw1PDa','CMv0CNLbDhrLBxb0CW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','otHRuuPJwvq','BgvUz3rO','z2v0twv0CMLJCW','sgLICee','lwnVBNn1BwvY','zMXVB3i'];a0_0x1460=function(){return _0x1b92d0;};return a0_0x1460();}function a0_0x34b7(_0x41d015,_0x499d0d){_0x41d015=_0x41d015-0x132;const _0x146011=a0_0x1460();let _0x34b760=_0x146011[_0x41d015];if(a0_0x34b7['pbKBtr']===undefined){var _0x437b1b=function(_0x35609c){const _0x40c8a5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x31b657='',_0x437729='';for(let _0x43498d=0x0,_0x555ec3,_0x4d4057,_0x30a5be=0x0;_0x4d4057=_0x35609c['charAt'](_0x30a5be++);~_0x4d4057&&(_0x555ec3=_0x43498d%0x4?_0x555ec3*0x40+_0x4d4057:_0x4d4057,_0x43498d++%0x4)?_0x31b657+=String['fromCharCode'](0xff&_0x555ec3>>(-0x2*_0x43498d&0x6)):0x0){_0x4d4057=_0x40c8a5['indexOf'](_0x4d4057);}for(let _0x1c5271=0x0,_0x2879a7=_0x31b657['length'];_0x1c5271<_0x2879a7;_0x1c5271++){_0x437729+='%'+('00'+_0x31b657['charCodeAt'](_0x1c5271)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x437729);};a0_0x34b7['OucSJy']=_0x437b1b,a0_0x34b7['kjUVTZ']={},a0_0x34b7['pbKBtr']=!![];}const _0x41609c=_0x146011[0x0],_0x285df2=_0x41d015+_0x41609c,_0x688f52=a0_0x34b7['kjUVTZ'][_0x285df2];return!_0x688f52?(_0x34b760=a0_0x34b7['OucSJy'](_0x34b760),a0_0x34b7['kjUVTZ'][_0x285df2]=_0x34b760):_0x34b760=_0x688f52,_0x34b760;}(function(_0x829138,_0x27cbfd){const _0x2535f5=a0_0x34b7,_0x48f2cb=_0x829138();while(!![]){try{const _0x21f9f5=-parseInt(_0x2535f5(0x1a4))/0x1*(parseInt(_0x2535f5(0x19e))/0x2)+-parseInt(_0x2535f5(0x135))/0x3+-parseInt(_0x2535f5(0x153))/0x4+-parseInt(_0x2535f5(0x136))/0x5+-parseInt(_0x2535f5(0x188))/0x6*(-parseInt(_0x2535f5(0x13a))/0x7)+parseInt(_0x2535f5(0x16f))/0x8*(-parseInt(_0x2535f5(0x18f))/0x9)+parseInt(_0x2535f5(0x1a1))/0xa;if(_0x21f9f5===_0x27cbfd)break;else _0x48f2cb['push'](_0x48f2cb['shift']());}catch(_0x1ac7a3){_0x48f2cb['push'](_0x48f2cb['shift']());}}}(a0_0x1460,0x301de));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require(a0_0x28960b(0x16e));class KafkaConsumerService{constructor(){const _0x516c0f=a0_0x28960b;this['kafka']=null,this['consumer']=null,this[_0x516c0f(0x179)]=![],this['isInitializing']=![],this['isRunning']=![],this[_0x516c0f(0x158)]=![],this[_0x516c0f(0x192)]=null,this['subscribedTopics']=[],this[_0x516c0f(0x14b)]=null,this[_0x516c0f(0x186)]=null,this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}[a0_0x28960b(0x165)](){const _0xf4cb6b=a0_0x28960b,_0x73da5a={'rmSfb':function(_0x37c796,_0x2126bd){return _0x37c796===_0x2126bd;},'NPEEv':_0xf4cb6b(0x17c),'OpBzV':function(_0x321716,_0x13909b){return _0x321716(_0x13909b);},'HONpj':'3000','aPRCt':function(_0x3b2089,_0xc0995c){return _0x3b2089(_0xc0995c);},'xkQSP':_0xf4cb6b(0x174),'MzQPH':function(_0x55bf9a,_0x185848){return _0x55bf9a(_0x185848);},'CSFzs':function(_0x4f6bd4,_0x4120b8){return _0x4f6bd4===_0x4120b8;},'HibpA':_0xf4cb6b(0x14a),'vFSYK':'30000','uKfOP':'warn'};return{'enabled':_0x73da5a['rmSfb'](process['env'][_0xf4cb6b(0x182)],'true'),'brokers':(process['env'][_0xf4cb6b(0x152)]||_0x73da5a['NPEEv'])['split'](','),'clientId':process['env'][_0xf4cb6b(0x163)]||'restforge-'+(process[_0xf4cb6b(0x142)]['RESTFORGE_PROJECT_NAME']||'default')+_0xf4cb6b(0x13e),'connectionTimeout':_0x73da5a['OpBzV'](parseInt,process[_0xf4cb6b(0x142)]['KAFKA_CONNECTION_TIMEOUT']||_0x73da5a['HONpj']),'requestTimeout':_0x73da5a['aPRCt'](parseInt,process['env']['KAFKA_REQUEST_TIMEOUT']||_0x73da5a['xkQSP']),'sessionTimeout':_0x73da5a[_0xf4cb6b(0x183)](parseInt,process['env']['KAFKA_SESSION_TIMEOUT']||_0xf4cb6b(0x199)),'heartbeatInterval':_0x73da5a['MzQPH'](parseInt,process['env']['KAFKA_HEARTBEAT_INTERVAL']||_0xf4cb6b(0x144)),'maxBytesPerPartition':parseInt(process['env'][_0xf4cb6b(0x19c)]||'1048576'),'autoCommit':_0x73da5a[_0xf4cb6b(0x178)](process['env'][_0xf4cb6b(0x171)],_0x73da5a[_0xf4cb6b(0x13d)]),'autoCommitInterval':parseInt(process[_0xf4cb6b(0x142)]['KAFKA_AUTO_COMMIT_INTERVAL']||'5000'),'retryAttempts':parseInt(process[_0xf4cb6b(0x142)][_0xf4cb6b(0x150)]||'3'),'retryDelay':parseInt(process[_0xf4cb6b(0x142)]['KAFKA_RETRY_DELAY']||'1000'),'retryMaxDelay':_0x73da5a[_0xf4cb6b(0x17d)](parseInt,process['env']['KAFKA_RETRY_MAX_DELAY']||_0x73da5a['vFSYK']),'logLevel':process[_0xf4cb6b(0x142)]['KAFKA_LOG_LEVEL']||_0x73da5a['uKfOP']};}['getLogLevel'](_0x3ef217){const _0x3d6bc1=a0_0x28960b,_0x26b1f1={'nothing':logLevel[_0x3d6bc1(0x133)],'error':logLevel['ERROR'],'warn':logLevel[_0x3d6bc1(0x1a3)],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0x26b1f1[_0x3ef217['toLowerCase']()]||logLevel['WARN'];}async['initialize'](_0x489358={}){const _0x499523=a0_0x28960b,_0x282993={'rJzcg':'true','UVpGT':_0x499523(0x197),'KzBMk':function(_0x3058d7,_0x32ad40){return _0x3058d7(_0x32ad40);},'JgUPT':'[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'},_0x2a6f41=this['getConfig']();if(!_0x2a6f41['enabled'])return console[_0x499523(0x14c)](_0x282993['JgUPT']),![];if(this['isConnected'])return!![];if(this[_0x499523(0x16b)]&&this[_0x499523(0x192)])return this[_0x499523(0x192)];return this[_0x499523(0x16b)]=!![],this[_0x499523(0x192)]=new Promise(async _0x1e23ba=>{const _0x31842e=_0x499523;try{let _0x5b34be=undefined;process[_0x31842e(0x142)][_0x31842e(0x18e)]===_0x282993[_0x31842e(0x155)]&&(_0x5b34be=!![]);let _0x29665b=undefined;process['env'][_0x31842e(0x15a)]&&(_0x29665b={'mechanism':process[_0x31842e(0x142)]['KAFKA_SASL_MECHANISM'],'username':process[_0x31842e(0x142)]['KAFKA_SASL_USERNAME']||'','password':process['env']['KAFKA_SASL_PASSWORD']||''}),this[_0x31842e(0x193)]=new Kafka({'clientId':_0x489358['clientId']||_0x2a6f41['clientId'],'brokers':_0x2a6f41['brokers'],'connectionTimeout':_0x2a6f41[_0x31842e(0x195)],'requestTimeout':_0x2a6f41['requestTimeout'],'logLevel':this[_0x31842e(0x14f)](_0x2a6f41[_0x31842e(0x175)]),'ssl':_0x5b34be,'sasl':_0x29665b,'retry':{'initialRetryTime':_0x2a6f41['retryDelay'],'retries':_0x2a6f41[_0x31842e(0x138)],'maxRetryTime':_0x2a6f41[_0x31842e(0x154)]}}),this['groupId']=_0x489358[_0x31842e(0x14b)]||'restforge-'+(process['env']['RESTFORGE_PROJECT_NAME']||_0x282993['UVpGT'])+_0x31842e(0x196),this['consumer']=this[_0x31842e(0x193)][_0x31842e(0x16c)]({'groupId':this['groupId'],'sessionTimeout':_0x2a6f41[_0x31842e(0x166)],'heartbeatInterval':_0x2a6f41['heartbeatInterval'],'maxBytesPerPartition':_0x2a6f41[_0x31842e(0x18c)],'allowAutoTopicCreation':![]}),await this['consumer'][_0x31842e(0x141)](),this['isConnected']=!![],console['log']('[KafkaConsumer]\x20Consumer\x20connected\x20to\x20brokers:\x20'+_0x2a6f41['brokers'][_0x31842e(0x198)](',\x20')+'\x20(groupId:\x20'+this[_0x31842e(0x14b)]+')'),this['setupEventHandlers'](),_0x282993[_0x31842e(0x134)](_0x1e23ba,!![]);}catch(_0x501bed){console['error'](_0x31842e(0x177)+_0x501bed['message']),this[_0x31842e(0x179)]=![],_0x1e23ba(![]);}finally{this['isInitializing']=![];}}),this['connectionPromise'];}[a0_0x28960b(0x143)](){const _0x2868c6=a0_0x28960b,_0x10f3da={'LiyxB':'[KafkaConsumer]\x20Consumer\x20disconnected','RVWer':'[KafkaConsumer]\x20Consumer\x20rebalancing...','QTcYu':_0x2868c6(0x187)};if(!this['consumer'])return;this[_0x2868c6(0x16c)]['on']('consumer.disconnect',()=>{const _0x2ae64b=_0x2868c6;console[_0x2ae64b(0x14c)](_0x10f3da['LiyxB']),this[_0x2ae64b(0x179)]=![],this['isRunning']=![];}),this['consumer']['on']('consumer.stop',()=>{const _0x12c20e=_0x2868c6;console[_0x12c20e(0x14c)]('[KafkaConsumer]\x20Consumer\x20stopped'),this[_0x12c20e(0x180)]=![];}),this[_0x2868c6(0x16c)]['on']('consumer.crash',_0x714bb3=>{const _0x1a077e=_0x2868c6;console[_0x1a077e(0x191)](_0x1a077e(0x1a0)+_0x714bb3['payload'][_0x1a077e(0x191)]['message']),this[_0x1a077e(0x180)]=![];}),this['consumer']['on'](_0x10f3da['QTcYu'],()=>{const _0x5746bb=_0x2868c6;console[_0x5746bb(0x14c)](_0x10f3da['RVWer']);});}async[a0_0x28960b(0x19d)](_0x4eea99,_0x4b43b4=![]){const _0x9fa6be=a0_0x28960b;if(!this['isConnected'])return console[_0x9fa6be(0x191)]('[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'),![];try{const _0x5e99d0=Array['isArray'](_0x4eea99)?_0x4eea99:[_0x4eea99];for(const _0x53accc of _0x5e99d0){await this[_0x9fa6be(0x16c)]['subscribe']({'topic':_0x53accc,'fromBeginning':_0x4b43b4}),console['log'](_0x9fa6be(0x145)+_0x53accc+'\x20(fromBeginning:\x20'+_0x4b43b4+')');}return this['subscribedTopics']=[...new Set([...this['subscribedTopics'],..._0x5e99d0])],!![];}catch(_0x4c2d5a){return console['error']('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x4c2d5a['message']),![];}}async[a0_0x28960b(0x151)](_0x237291,_0x3d3240={}){const _0x432c0a=a0_0x28960b,_0x537fe3={'MGVVW':function(_0x37fdf5,_0x8431a7){return _0x37fdf5+_0x8431a7;},'MfBqY':function(_0x31638f,_0x37dd04){return _0x31638f(_0x37dd04);},'OlOIK':function(_0x24d7e7){return _0x24d7e7();},'hSUnN':_0x432c0a(0x173)};if(!this[_0x432c0a(0x179)])return console['error']('[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected'),![];if(this[_0x432c0a(0x180)])return console[_0x432c0a(0x14c)](_0x537fe3[_0x432c0a(0x15f)]),!![];const _0x3403c9=this['getConfig']();this[_0x432c0a(0x186)]=_0x237291;try{return this[_0x432c0a(0x15c)][_0x432c0a(0x170)]=new Date(),await this['consumer'][_0x432c0a(0x160)]({'autoCommit':_0x3d3240['autoCommit']!==undefined?_0x3d3240[_0x432c0a(0x137)]:_0x3403c9[_0x432c0a(0x137)],'autoCommitInterval':_0x3403c9[_0x432c0a(0x172)],'eachMessage':async({topic:_0xb56830,partition:_0x1f77a4,message:_0x4d267d,heartbeat:_0x42428e})=>{const _0x18eaec=_0x432c0a,_0xb817fc=Date[_0x18eaec(0x168)]();this['metrics'][_0x18eaec(0x156)]++,this[_0x18eaec(0x15c)][_0x18eaec(0x147)]=new Date();try{const _0x25c4d2=_0x4d267d['value']?_0x4d267d[_0x18eaec(0x190)][_0x18eaec(0x159)]():null;let _0xf462e6=null;try{_0xf462e6=_0x25c4d2?JSON['parse'](_0x25c4d2):null;}catch(_0x2b6858){_0xf462e6=_0x25c4d2;}const _0x58971c={'topic':_0xb56830,'partition':_0x1f77a4,'offset':_0x4d267d['offset'],'key':_0x4d267d[_0x18eaec(0x167)]?_0x4d267d['key'][_0x18eaec(0x159)]():null,'headers':this[_0x18eaec(0x17a)](_0x4d267d['headers']),'timestamp':_0x4d267d[_0x18eaec(0x164)],'value':_0xf462e6,'raw':_0x25c4d2};this['messageHandler']&&await this[_0x18eaec(0x186)](_0x58971c);!_0x3403c9['autoCommit']&&await this['consumer'][_0x18eaec(0x15d)]([{'topic':_0xb56830,'partition':_0x1f77a4,'offset':_0x537fe3['MGVVW'](_0x537fe3['MfBqY'](parseInt,_0x4d267d['offset']),0x1)['toString']()}]);this[_0x18eaec(0x15c)]['messagesProcessed']++;const _0xeb133e=Date[_0x18eaec(0x168)]()-_0xb817fc;this['metrics']['processingTimes'][_0x18eaec(0x16d)](_0xeb133e),this[_0x18eaec(0x15c)]['processingTimes'][_0x18eaec(0x13b)]>0x64&&this[_0x18eaec(0x15c)]['processingTimes']['shift'](),await _0x537fe3[_0x18eaec(0x15e)](_0x42428e);}catch(_0x112ae9){this['metrics']['messagesFailed']++,console[_0x18eaec(0x191)]('[KafkaConsumer]\x20Message\x20processing\x20error:\x20'+_0x112ae9[_0x18eaec(0x181)]);throw _0x112ae9;}}}),this['isRunning']=!![],console[_0x432c0a(0x14c)]('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this[_0x432c0a(0x146)][_0x432c0a(0x198)](',\x20')),!![];}catch(_0x4741bc){return console['error']('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0x4741bc[_0x432c0a(0x181)]),![];}}[a0_0x28960b(0x17a)](_0x108f65){if(!_0x108f65)return{};const _0x17fe0a={};for(const [_0x25aec6,_0xa373c]of Object['entries'](_0x108f65)){_0x17fe0a[_0x25aec6]=_0xa373c?_0xa373c['toString']():null;}return _0x17fe0a;}async[a0_0x28960b(0x17b)](){const _0x570e43=a0_0x28960b,_0x3ce29b={'Npkfy':_0x570e43(0x139)};if(!this['isConnected']||!this[_0x570e43(0x180)])return console['log']('[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running'),![];if(this[_0x570e43(0x158)])return console['log']('[KafkaConsumer]\x20Consumer\x20already\x20paused'),!![];try{const _0x43f77b=this['subscribedTopics']['map'](_0x1ae240=>({'topic':_0x1ae240}));return this[_0x570e43(0x16c)][_0x570e43(0x17b)](_0x43f77b),this['isPaused']=!![],console[_0x570e43(0x14c)](_0x3ce29b['Npkfy']),!![];}catch(_0x15a153){return console[_0x570e43(0x191)]('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x15a153['message']),![];}}async['resume'](){const _0x1fc9d9=a0_0x28960b,_0x591266={'pPszM':_0x1fc9d9(0x19b)};if(!this['isConnected']||!this[_0x1fc9d9(0x180)])return console[_0x1fc9d9(0x14c)](_0x591266[_0x1fc9d9(0x161)]),![];if(!this[_0x1fc9d9(0x158)])return console['log']('[KafkaConsumer]\x20Consumer\x20not\x20paused'),!![];try{const _0x57c4c2=this['subscribedTopics']['map'](_0x16edda=>({'topic':_0x16edda}));return this['consumer'][_0x1fc9d9(0x19a)](_0x57c4c2),this[_0x1fc9d9(0x158)]=![],console['log'](_0x1fc9d9(0x18b)),!![];}catch(_0x105a44){return console[_0x1fc9d9(0x191)](_0x1fc9d9(0x176)+_0x105a44[_0x1fc9d9(0x181)]),![];}}async['stop'](){const _0x285dc9=a0_0x28960b;if(!this[_0x285dc9(0x179)])return console['log'](_0x285dc9(0x18d)),!![];try{return this[_0x285dc9(0x16c)]&&(await this['consumer']['stop'](),await this['consumer']['disconnect']()),this[_0x285dc9(0x179)]=![],this[_0x285dc9(0x180)]=![],this['isPaused']=![],console['log'](_0x285dc9(0x16a)),!![];}catch(_0xb95107){return console['error'](_0x285dc9(0x14e)+_0xb95107[_0x285dc9(0x181)]),![];}}async[a0_0x28960b(0x17f)](_0x1da9f8,_0x5e635f,_0x28f7f0){const _0x14c23=a0_0x28960b,_0x5dedee={'ehDxU':'[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'};if(!this['isConnected'])return console['error'](_0x5dedee[_0x14c23(0x185)]),![];try{return this['consumer'][_0x14c23(0x14d)]({'topic':_0x1da9f8,'partition':_0x5e635f,'offset':_0x28f7f0['toString']()}),console[_0x14c23(0x14c)](_0x14c23(0x184)+_0x28f7f0+'\x20on\x20'+_0x1da9f8+':'+_0x5e635f),!![];}catch(_0x52f884){return console[_0x14c23(0x191)](_0x14c23(0x189)+_0x52f884['message']),![];}}[a0_0x28960b(0x15b)](){const _0xbb2473=a0_0x28960b,_0x44d2b0=this[_0xbb2473(0x165)]();return{'enabled':_0x44d2b0['enabled'],'connected':this[_0xbb2473(0x179)],'running':this['isRunning'],'paused':this['isPaused'],'brokers':_0x44d2b0[_0xbb2473(0x132)],'clientId':_0x44d2b0[_0xbb2473(0x157)],'groupId':this['groupId'],'subscribedTopics':this['subscribedTopics']};}[a0_0x28960b(0x13c)](){const _0x2ce02a=a0_0x28960b,_0x584c10={'VIeBM':function(_0x28cacd,_0x1e159a){return _0x28cacd>_0x1e159a;},'QXqLE':function(_0x163d3b,_0x41db74){return _0x163d3b/_0x41db74;},'HFzyH':function(_0x37cf7a,_0x8a709e){return _0x37cf7a+_0x8a709e;},'pyRXx':function(_0x37f8df,_0x5841dd){return _0x37f8df-_0x5841dd;},'JIjHB':function(_0x40da88,_0x14fefa){return _0x40da88+_0x14fefa;}},_0x44ce7c=_0x584c10['VIeBM'](this[_0x2ce02a(0x15c)][_0x2ce02a(0x1a2)][_0x2ce02a(0x13b)],0x0)?_0x584c10['QXqLE'](this['metrics'][_0x2ce02a(0x1a2)]['reduce']((_0x952e8d,_0x1547b0)=>_0x952e8d+_0x1547b0,0x0),this['metrics']['processingTimes'][_0x2ce02a(0x13b)]):0x0,_0x4251d9=_0x584c10[_0x2ce02a(0x17e)](this[_0x2ce02a(0x15c)][_0x2ce02a(0x1a2)][_0x2ce02a(0x13b)],0x0)?Math['min'](...this['metrics']['processingTimes']):0x0,_0x378ad7=_0x584c10['VIeBM'](this['metrics']['processingTimes'][_0x2ce02a(0x13b)],0x0)?Math[_0x2ce02a(0x18a)](...this[_0x2ce02a(0x15c)]['processingTimes']):0x0;return{'messagesReceived':this['metrics']['messagesReceived'],'messagesProcessed':this[_0x2ce02a(0x15c)][_0x2ce02a(0x19f)],'messagesFailed':this[_0x2ce02a(0x15c)]['messagesFailed'],'successRate':_0x584c10[_0x2ce02a(0x17e)](this['metrics']['messagesReceived'],0x0)?(_0x584c10['QXqLE'](this['metrics'][_0x2ce02a(0x19f)],this[_0x2ce02a(0x15c)]['messagesReceived'])*0x64)[_0x2ce02a(0x169)](0x2)+'%':'0%','lastMessageTime':this['metrics'][_0x2ce02a(0x147)],'startTime':this[_0x2ce02a(0x15c)][_0x2ce02a(0x170)],'uptime':this['metrics']['startTime']?_0x584c10[_0x2ce02a(0x194)](Math[_0x2ce02a(0x13f)](_0x584c10['QXqLE'](_0x584c10['pyRXx'](Date[_0x2ce02a(0x168)](),this['metrics'][_0x2ce02a(0x170)]['getTime']()),0x3e8)),'s'):'0s','processingTime':{'avg':_0x584c10['JIjHB'](Math['round'](_0x44ce7c),'ms'),'min':_0x4251d9+'ms','max':_0x584c10['HFzyH'](_0x378ad7,'ms')}};}[a0_0x28960b(0x140)](){const _0x5e2ed3=a0_0x28960b,_0x26e145={'pUZJb':_0x5e2ed3(0x1a5)};this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console[_0x5e2ed3(0x14c)](_0x26e145['pUZJb']);}async['close'](){const _0x324492=a0_0x28960b;await this[_0x324492(0x148)]();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0xd786e1=a0_0x28960b;instance&&(instance[_0xd786e1(0x162)](),instance=null);}function createInstance(){return new KafkaConsumerService();}module[a0_0x28960b(0x149)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x4f22(){const _0x381f9a=['w0THzMTHxsbfCNjVCIbKAxnJB25Uzwn0Aw5NoIa','zw5HyMXLza','DxvPza','D3HtCNe','y2XVC2u','y29YCMvSyxrPB25jza','s0fgs0fFvevoqu5ux0Le','yNvPBgrfDMvUDe1LC3nHz2u','AuHQww8','s3PYsu8','mtmWEvfSBuzu','A2fMA2e','zxzNCK4','mJe0nte2mNHZuejoAG','Bg9N','y2XPzw50swq','s0fgs0fFu0fttf9nruniqu5ju00','nMjIuMjnyq','tgvNywn5ugfYDgL0Aw9Uzxi','w0THzMTHxsbqCM9KDwnLCIbJB25Uzwn0zwqGDg8GyNjVA2vYCZOG','v0fstG','mtHSr3DVwNm','zgvSzxrLza','C291CMnL','u1Ltvevn','z2v0tg9Ntgv2zwW','uMXjsKq','y3jLyxrLzej5','zM9YBwf0rgf0zvrPBwu','ChvIBgLZAev2zw50','s0fgs0fFru5bqKXfra','AxndB25Uzwn0zwq','rvjst1i','z2v0q29UzMLN','y29UBMvJDgLVBLbYB21PC2u','y29UBMvJDa','CMv0CNLezwXHEq','ChvIBgLZAeLUC2vYDa','CMvWBgfJzq','E21VzhvSzx0','y29YCI0','nZC0otm1n3jWtNLkuq','E21VzhvSzx0UE2vUzhbVAw50Fs5LDMvUDhm','w0THzMTHxsbqDwjSAxnOigvYCM9YihrVia','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','uwfYvMm','s0fgs0fFte9hx0XfvKvm','lxbYB2r1y2vY','w0THzMTHxsbdB25Uzwn0Aw9UigzHAwXLzdOG','revcvuC','nZG0otG0zKDLyuPq','CgfKu3rHCNq','ChjVzhvJzxi','ru5usvrzx1vqrefuruq','Dg9WAwm','Bw9KDwXL','otG1mdaXr3DPv09K','tK9useLorW','Dw5RBM93BG','z2v0u2vJB25KCW','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwq','BwvZC2fNzq','C3bSAxq','EwvSChq','mJa0ndy2odbKuvfHu0K','Dg9WAwnqyxr0zxjU','mtm1oty4uev0vhfe','z2v0u3rHDhvZ','CgfYDgL0Aw9U','ALbyseO','Dhj1zq','icHRzxK6ia','Bg9Ntgv2zwW','A2v5rMLLBgq','DgfIBgvoyw1L','Ahf1EM0','AxnjBML0AwfSAxPPBMC','A2fMA2fQCW','C2vUza','yNvPBgruB3bPy05HBwu','ufbAy2i','DgTQAhi','mty0ntiWnKzVwe9qBa','zw52','E2fJDgLVBN0','su5gtW','DgvUyw50swq','s0fgs0fFu0fttf9vu0vstKfnrq','rMfPBgvKihrVignVBM5Ly3qGDg8Gs2fMA2eGyNjVA2vY','yNjVA2vYCW','s0fgs0fFq0Xjru5ux0Le'];a0_0x4f22=function(){return _0x381f9a;};return a0_0x4f22();}function a0_0xbf31(_0x36a144,_0xebf0de){_0x36a144=_0x36a144-0x82;const _0x4f22aa=a0_0x4f22();let _0xbf3153=_0x4f22aa[_0x36a144];if(a0_0xbf31['klbSGE']===undefined){var _0x3f71c7=function(_0x2d7ceb){const _0x38e094='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1ec0e0='',_0xfc59e7='';for(let _0x1fe948=0x0,_0x586110,_0x28d21a,_0x1b09d1=0x0;_0x28d21a=_0x2d7ceb['charAt'](_0x1b09d1++);~_0x28d21a&&(_0x586110=_0x1fe948%0x4?_0x586110*0x40+_0x28d21a:_0x28d21a,_0x1fe948++%0x4)?_0x1ec0e0+=String['fromCharCode'](0xff&_0x586110>>(-0x2*_0x1fe948&0x6)):0x0){_0x28d21a=_0x38e094['indexOf'](_0x28d21a);}for(let _0x6e6fc8=0x0,_0x593de4=_0x1ec0e0['length'];_0x6e6fc8<_0x593de4;_0x6e6fc8++){_0xfc59e7+='%'+('00'+_0x1ec0e0['charCodeAt'](_0x6e6fc8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xfc59e7);};a0_0xbf31['HgQSoj']=_0x3f71c7,a0_0xbf31['HbNAif']={},a0_0xbf31['klbSGE']=!![];}const _0x86975f=_0x4f22aa[0x0],_0x15005f=_0x36a144+_0x86975f,_0x4abe9a=a0_0xbf31['HbNAif'][_0x15005f];return!_0x4abe9a?(_0xbf3153=a0_0xbf31['HgQSoj'](_0xbf3153),a0_0xbf31['HbNAif'][_0x15005f]=_0xbf3153):_0xbf3153=_0x4abe9a,_0xbf3153;}const a0_0x1b41c0=a0_0xbf31;(function(_0x34e46d,_0x5ae4a1){const _0x7be480=a0_0xbf31,_0x2e5e84=_0x34e46d();while(!![]){try{const _0x244688=parseInt(_0x7be480(0x91))/0x1+-parseInt(_0x7be480(0xc1))/0x2+parseInt(_0x7be480(0xab))/0x3+parseInt(_0x7be480(0x9b))/0x4*(parseInt(_0x7be480(0xbe))/0x5)+parseInt(_0x7be480(0xc5))/0x6*(parseInt(_0x7be480(0x82))/0x7)+parseInt(_0x7be480(0x8b))/0x8*(parseInt(_0x7be480(0xc9))/0x9)+-parseInt(_0x7be480(0x99))/0xa;if(_0x244688===_0x5ae4a1)break;else _0x2e5e84['push'](_0x2e5e84['shift']());}catch(_0x377b2c){_0x2e5e84['push'](_0x2e5e84['shift']());}}}(a0_0x4f22,0x9346b));const {Kafka,logLevel,Partitioners}=require(a0_0x1b41c0(0xa6)),{v7:uuidv7}=require(a0_0x1b41c0(0xb6));class KafkaService{constructor(){const _0x2625b1=a0_0x1b41c0,_0x580758='4|0|2|1|3'['split']('|');let _0x213ca1=0x0;while(!![]){switch(_0x580758[_0x213ca1++]){case'0':this['producer']=null;continue;case'1':this['isInitializing']=![];continue;case'2':this[_0x2625b1(0xd3)]=![];continue;case'3':this[_0x2625b1(0xd6)]=null;continue;case'4':this['kafka']=null;continue;}break;}}['getConfig'](){const _0x2229f1=a0_0x1b41c0,_0x9bbd8e={'iHjYo':'true','UxNPc':'localhost:9092','tkjhr':'default','ffutZ':function(_0x26194a,_0x568447){return _0x26194a(_0x568447);},'YCVDO':'1000'};return{'enabled':process['env'][_0x2229f1(0xd2)]===_0x9bbd8e[_0x2229f1(0xbc)],'brokers':(process['env']['KAFKA_BROKERS']||_0x9bbd8e['UxNPc'])[_0x2229f1(0x97)](','),'clientId':process[_0x2229f1(0xac)][_0x2229f1(0xb3)]||'restforge-'+(process[_0x2229f1(0xac)][_0x2229f1(0x85)]||_0x9bbd8e[_0x2229f1(0xaa)])+_0x2229f1(0x88),'connectionTimeout':_0x9bbd8e['ffutZ'](parseInt,process[_0x2229f1(0xac)]['KAFKA_CONNECTION_TIMEOUT']||'3000'),'requestTimeout':parseInt(process['env']['KAFKA_REQUEST_TIMEOUT']||'25000'),'topicPattern':process['env']['KAFKA_TOPIC_PATTERN']||_0x2229f1(0x83),'tenantId':process['env'][_0x2229f1(0xba)]||'default','retryAttempts':_0x9bbd8e['ffutZ'](parseInt,process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process['env']['KAFKA_RETRY_DELAY']||_0x9bbd8e['YCVDO']),'logLevel':process[_0x2229f1(0xac)][_0x2229f1(0x87)]||'warn'};}[a0_0x1b41c0(0xcd)](_0x44c89c){const _0x5b2f76=a0_0x1b41c0,_0x308f93={'nothing':logLevel[_0x5b2f76(0x92)],'error':logLevel[_0x5b2f76(0xd4)],'warn':logLevel[_0x5b2f76(0xc8)],'info':logLevel[_0x5b2f76(0xae)],'debug':logLevel[_0x5b2f76(0x8a)]};return _0x308f93[_0x44c89c['toLowerCase']()]||logLevel[_0x5b2f76(0xc8)];}async['initialize'](){const _0x3dd4fb=a0_0x1b41c0,_0x4d010e={'cOEil':_0x3dd4fb(0x9f),'RlIJD':function(_0x45d454,_0x5160f5){return _0x45d454(_0x5160f5);}},_0x14c9bb=this[_0x3dd4fb(0xd5)]();if(!_0x14c9bb['enabled'])return console['log']('[Kafka]\x20Kafka\x20producer\x20is\x20disabled\x20in\x20configuration'),![];if(this[_0x3dd4fb(0xd3)])return!![];if(this[_0x3dd4fb(0xa5)]&&this[_0x3dd4fb(0xd6)])return this[_0x3dd4fb(0xd6)];return this[_0x3dd4fb(0xa5)]=!![],this[_0x3dd4fb(0xd6)]=new Promise(async _0x240585=>{const _0x53e79a=_0x3dd4fb;try{let _0x36807b=undefined;process[_0x53e79a(0xac)]['KAFKA_SSL']===_0x4d010e['cOEil']&&(_0x36807b=!![]);let _0x5846c7=undefined;process[_0x53e79a(0xac)][_0x53e79a(0xc4)]&&(_0x5846c7={'mechanism':process[_0x53e79a(0xac)][_0x53e79a(0xc4)],'username':process['env'][_0x53e79a(0xb0)]||'','password':process['env']['KAFKA_SASL_PASSWORD']||''}),this[_0x53e79a(0xbf)]=new Kafka({'clientId':_0x14c9bb[_0x53e79a(0xc3)],'brokers':_0x14c9bb['brokers'],'connectionTimeout':_0x14c9bb['connectionTimeout'],'requestTimeout':_0x14c9bb['requestTimeout'],'logLevel':this[_0x53e79a(0xcd)](_0x14c9bb[_0x53e79a(0xa1)]),'ssl':_0x36807b,'sasl':_0x5846c7,'retry':{'initialRetryTime':_0x14c9bb[_0x53e79a(0xd8)],'retries':_0x14c9bb['retryAttempts']}}),this['producer']=this[_0x53e79a(0xbf)][_0x53e79a(0x8d)]({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners[_0x53e79a(0xc6)]}),await this[_0x53e79a(0x8d)][_0x53e79a(0xd7)](),this['isConnected']=!![],console[_0x53e79a(0xc2)](_0x53e79a(0xc7)+_0x14c9bb['brokers']['join'](',\x20')),this[_0x53e79a(0x8d)]['on']('producer.disconnect',()=>{const _0x55ec53=_0x53e79a;console[_0x55ec53(0xc2)](_0x55ec53(0x95)),this['isConnected']=![];}),_0x4d010e['RlIJD'](_0x240585,!![]);}catch(_0x13d808){console['error'](_0x53e79a(0x89)+_0x13d808[_0x53e79a(0x96)]),this['isConnected']=![],_0x4d010e[_0x53e79a(0xce)](_0x240585,![]);}finally{this['isInitializing']=![];}}),this[_0x3dd4fb(0xd6)];}[a0_0x1b41c0(0xd0)](_0x53147c){const _0x24c79f=a0_0x1b41c0,_0x1134f2={'oNynL':function(_0x3539b0,_0x4481cf){return _0x3539b0(_0x4481cf);},'OqXCo':function(_0x595d93,_0x160238){return _0x595d93+_0x160238;}},_0x419f5d=_0x53147c||new Date(),_0x5e2190=_0x419f5d['getFullYear'](),_0x17f1e1=_0x1134f2['oNynL'](String,_0x1134f2['OqXCo'](_0x419f5d['getMonth'](),0x1))['padStart'](0x2,'0'),_0x547f11=String(_0x419f5d['getDate']())[_0x24c79f(0x8c)](0x2,'0'),_0x4f50e9=String(_0x419f5d['getHours']())[_0x24c79f(0x8c)](0x2,'0'),_0x46bc66=String(_0x419f5d['getMinutes']())[_0x24c79f(0x8c)](0x2,'0'),_0x4c14e8=String(_0x419f5d[_0x24c79f(0x94)]())[_0x24c79f(0x8c)](0x2,'0');return _0x5e2190+'-'+_0x17f1e1+'-'+_0x547f11+'\x20'+_0x4f50e9+':'+_0x46bc66+':'+_0x4c14e8;}[a0_0x1b41c0(0xa8)](_0x2f102c,_0x295374,_0x3efc41,_0x16e136=null){const _0x4575d5=a0_0x1b41c0,_0x4df38a={'hLvgi':_0x4575d5(0xdb),'CoxHu':_0x4575d5(0xad)};if(_0x16e136)return _0x16e136;const _0xa20a4c=this[_0x4575d5(0xd5)]()[_0x4575d5(0x9a)];return _0xa20a4c['replace'](_0x4df38a['hLvgi'],_0x2f102c)['replace']('{endpoint}',_0x295374)[_0x4575d5(0xda)](_0x4df38a['CoxHu'],_0x3efc41);}[a0_0x1b41c0(0xbb)](_0x338201,_0x3e6ce2,_0x4095dd,_0x1c109e={}){const _0x169bef=a0_0x1b41c0,_0x23d87b={'KzrIO':function(_0x212be6){return _0x212be6();},'jPXHJ':function(_0x6f6b8){return _0x6f6b8();},'FBJlm':'1.0','wxSrq':_0x169bef(0xcc),'PPZcb':_0x169bef(0x93)},_0x34f00f=new Date(),_0x585166=this['formatDateTime'](_0x34f00f),_0x1fdc01=_0x1c109e[_0x169bef(0xb9)]||_0x169bef(0xdc)+_0x23d87b[_0x169bef(0xbd)](uuidv7);return{'eventId':'evt-'+_0x23d87b[_0x169bef(0x9e)](uuidv7),'eventType':_0x338201,'eventTime':_0x585166,'eventVersion':_0x23d87b['FBJlm'],'source':'restforge-'+(_0x1c109e[_0x169bef(0x90)]||'unknown'),'correlationId':_0x1fdc01,'newData':_0x4095dd,'oldData':_0x3e6ce2,'metadata':{'createdBy':_0x1c109e[_0x169bef(0xcf)]||_0x23d87b[_0x169bef(0xb7)],'createdAt':_0x585166,'systemId':'RESTFORGE-'+(_0x1c109e['module']||_0x23d87b[_0x169bef(0xa9)])['toUpperCase'](),'tenantId':this[_0x169bef(0xd5)]()[_0x169bef(0xaf)],'endpoint':_0x1c109e['endpoint']||null,'tableName':_0x1c109e[_0x169bef(0xa3)]||null}};}async[a0_0x1b41c0(0xd1)](_0x2278d3,_0x2fc2d4,_0x222348,_0xb96650,_0x46fcac={}){const _0xa7866f=a0_0x1b41c0,_0x19de01={'yelpt':'Kafka\x20producer\x20is\x20disabled','evgrN':_0xa7866f(0xb1),'hquzm':function(_0x3e3711,_0x262ac6){return _0x3e3711(_0x262ac6);}},_0x16d32c=this[_0xa7866f(0xd5)]();if(!_0x16d32c[_0xa7866f(0xb5)])return{'success':![],'reason':_0x19de01[_0xa7866f(0x98)],'published':![]};if(!this[_0xa7866f(0xd3)]){const _0x53556a=await this['initialize']();if(!_0x53556a)return{'success':![],'reason':_0x19de01[_0xa7866f(0xc0)],'published':![]};}try{const _0x2d82bd=this[_0xa7866f(0xbb)](_0x2fc2d4,_0x222348,_0xb96650,_0x46fcac),_0x490436=_0x46fcac['keyField']||'id',_0x347bc0=_0xb96650?.[_0x490436]||_0x222348?.[_0x490436]||uuidv7(),_0x2cb21f=await this['producer'][_0xa7866f(0xa7)]({'topic':_0x2278d3,'messages':[{'key':_0x19de01[_0xa7866f(0xa4)](String,_0x347bc0),'value':JSON['stringify'](_0x2d82bd),'headers':{'event-type':_0x2fc2d4,'correlation-id':_0x2d82bd['correlationId'],'source':_0x2d82bd[_0xa7866f(0xcb)]}}]});return console['log']('[Kafka]\x20Event\x20published\x20to\x20'+_0x2278d3+':\x20'+_0x2fc2d4+_0xa7866f(0xa0)+_0x347bc0+')'),{'success':!![],'correlationId':_0x2d82bd[_0xa7866f(0xb9)],'topic':_0x2278d3,'partition':_0x2cb21f[0x0]?.[_0xa7866f(0x9d)],'offset':_0x2cb21f[0x0]?.['baseOffset'],'published':!![]};}catch(_0x249526){return console['error'](_0xa7866f(0x84)+_0x2278d3+':\x20'+_0x249526['message']),{'success':![],'error':_0x249526['message'],'published':![]};}}async[a0_0x1b41c0(0xd9)](_0x30249f,_0x1b4db3,_0x5f24a6,_0x4b86b2={}){const _0x2a4202=a0_0x1b41c0,_0x5c8a2f={'VTcbt':'created','QarVc':'ENTITY_CREATED'},_0x508ee0=this[_0x2a4202(0xa8)](_0x30249f,_0x1b4db3,_0x5c8a2f['VTcbt'],_0x4b86b2['topic']);return this['publishEvent'](_0x508ee0,_0x5c8a2f[_0x2a4202(0x86)],null,_0x5f24a6,{'module':_0x30249f,'endpoint':_0x1b4db3,'keyField':_0x4b86b2['keyField'],'tableName':_0x4b86b2[_0x2a4202(0xa3)],'correlationId':_0x4b86b2[_0x2a4202(0xb9)]});}async['publishUpdate'](_0x4311b0,_0x2416c4,_0x1abe29,_0x5e600b,_0x5065e5={}){const _0x18cc59=a0_0x1b41c0,_0xe8e7a2={'AcpAo':_0x18cc59(0x8e)},_0x258edb=this[_0x18cc59(0xa8)](_0x4311b0,_0x2416c4,'updated',_0x5065e5[_0x18cc59(0x8f)]);return this['publishEvent'](_0x258edb,_0xe8e7a2['AcpAo'],_0x1abe29,_0x5e600b,{'module':_0x4311b0,'endpoint':_0x2416c4,'keyField':_0x5065e5['keyField'],'tableName':_0x5065e5['tableName'],'correlationId':_0x5065e5['correlationId']});}async['publishDelete'](_0x5c4846,_0x46fce2,_0x3d9cba,_0x555c19={}){const _0x42f1a2=a0_0x1b41c0,_0x2afd3f={'vUCGr':_0x42f1a2(0xca)},_0x30a5db=this['buildTopicName'](_0x5c4846,_0x46fce2,_0x2afd3f['vUCGr'],_0x555c19[_0x42f1a2(0x8f)]);return this[_0x42f1a2(0xd1)](_0x30a5db,'ENTITY_DELETED',_0x3d9cba,null,{'module':_0x5c4846,'endpoint':_0x46fce2,'keyField':_0x555c19[_0x42f1a2(0xa2)],'tableName':_0x555c19[_0x42f1a2(0xa3)],'correlationId':_0x555c19['correlationId']});}[a0_0x1b41c0(0x9c)](){const _0xa4d9f1=a0_0x1b41c0,_0x398f98=this['getConfig']();return{'enabled':_0x398f98[_0xa4d9f1(0xb5)],'connected':this['isConnected'],'brokers':_0x398f98[_0xa4d9f1(0xb2)],'clientId':_0x398f98[_0xa4d9f1(0xc3)],'topicPattern':_0x398f98['topicPattern']};}async[a0_0x1b41c0(0xb8)](){const _0x21875c=a0_0x1b41c0;if(this['producer']&&this['isConnected'])try{await this['producer']['disconnect'](),this['isConnected']=![],console['log']('[Kafka]\x20Producer\x20disconnected\x20gracefully');}catch(_0x3b5cfe){console['error'](_0x21875c(0xb4)+_0x3b5cfe['message']);}}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){const _0x17b6b9=a0_0x1b41c0;instance&&(instance[_0x17b6b9(0xb8)](),instance=null);}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};
|
|
1
|
+
function a0_0x4ac7(){const _0x106050=['AhvPDNG','BwvZC2fNzq','s0fgs0fFte9hx0XfvKvm','s2fMA2eGChjVzhvJzxiGAxmGzgLZywjSzwq','s0fgs0fFu0fttf9nruniqu5ju00','s0fgs0fFu0fttf9vu0vstKfnrq','E21VzhvSzx0','ouHLs3bhtG','CMvXDwvZDfrPBwvVDxq','ms4W','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwqGz3jHy2vMDwXSEq','A2fMA2e','C2vUza','s0fgs0fFuKvuuLLFrevmqvK','BK1ZDva','s0fgs0fFu1nm','Dg9mB3DLCKnHC2u','C291CMnL','uhnZtxu','rvHOtfi','Aw5PDgLHBgL6zq','y29YCI0','ChvIBgLZAerLBgv0zq','yNjVA2vYCW','tgvNywn5ugfYDgL0Aw9Uzxi','CMvWBgfJzq','icHRzxK6ia','DgfIBgvoyw1L','AxnjBML0AwfSAxPPBMC','mJHnquf0sfG','ru5usvrzx1vqrefuruq','zw52','zeLPu0C','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwq','s0fgs0fFq0Xjru5ux0Le','z2v0q29UzMLN','y29UBMvJDgLVBLbYB21PC2u','z2v0twLUDxrLCW','oty0otCXoxbfChfOwq','zw5KCg9PBNq','mZaWma','zxjYB3i','zxHWB3j0CW','vhfuC3y','revcvuC','Dw5RBM93BG','s0fgs0fFvevoqu5ux0Le','ntm0mJG4m0jQqMzeAW','y29UBMvJDa','z2v0u3rHDhvZ','ChjVzhvJzxi','zM9YBwf0rgf0zvrPBwu','odmYmJeWng1ir0HytG','AfLOvee','mJboAxnYvhu','Bg9JywXOB3n0oJKWoti','zw5HyMXLza','nZuWnZeYoezOv3PtDW','CMvZDgzVCMDLlq','y29YCMvSyxrPB25jza','Dg9WAwm','yNvPBgruB3bPy05HBwu','EhzxB1q','rMfPBgvKihrVignVBM5Ly3qGDg8Gs2fMA2eGyNjVA2vY','nZi1ndq0u3Phtxv4','DxbKyxrLza','z2v0rgf0zq','ChvIBgLZAeLUC2vYDa','s0fgs0fFq09otKvdveLptL9usu1ft1vu','wg9xtxm','z2v0tg9Ntgv2zwW','ru5usvrzx0rftevuruq','s0fgs0fFqLjps0vsuW','w0THzMTHxsbfCNjVCIbKAxnJB25Uzwn0Aw5NoIa','ChvIBgLZAfvWzgf0zq','C3rYAw5NAwz5','yNvPBgrfDMvUDe1LC3nHz2u','ChvIBgLZAev2zw50','y29UBMvJDgLVBLrPBwvVDxq','Bw9KDwXL','nJu0mZGWnw5WtM9cra','Bg9N','w0THzMTHxsbqCM9KDwnLCIbJB25Uzwn0zwqGDg8GyNjVA2vYCZOG','v0fstG','y2XPzw50swq','nJKYnJnPzNDxEg0','ugzIDMC','D2TRqxu','ru5usvrzx0nsrufuruq','CgfKu3rHCNq','AxndB25Uzwn0zwq'];a0_0x4ac7=function(){return _0x106050;};return a0_0x4ac7();}function a0_0x5631(_0x5ed9ab,_0x158144){_0x5ed9ab=_0x5ed9ab-0xa8;const _0x4ac775=a0_0x4ac7();let _0x563144=_0x4ac775[_0x5ed9ab];if(a0_0x5631['VSmmsc']===undefined){var _0x2653db=function(_0x1635f3){const _0x4f2081='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5c78c3='',_0x2b623b='';for(let _0x1d8c07=0x0,_0x4e8b2e,_0x57860f,_0x157d28=0x0;_0x57860f=_0x1635f3['charAt'](_0x157d28++);~_0x57860f&&(_0x4e8b2e=_0x1d8c07%0x4?_0x4e8b2e*0x40+_0x57860f:_0x57860f,_0x1d8c07++%0x4)?_0x5c78c3+=String['fromCharCode'](0xff&_0x4e8b2e>>(-0x2*_0x1d8c07&0x6)):0x0){_0x57860f=_0x4f2081['indexOf'](_0x57860f);}for(let _0x14486a=0x0,_0x2b63a5=_0x5c78c3['length'];_0x14486a<_0x2b63a5;_0x14486a++){_0x2b623b+='%'+('00'+_0x5c78c3['charCodeAt'](_0x14486a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2b623b);};a0_0x5631['pJlqXT']=_0x2653db,a0_0x5631['TltDAk']={},a0_0x5631['VSmmsc']=!![];}const _0x31d6d8=_0x4ac775[0x0],_0x192ed5=_0x5ed9ab+_0x31d6d8,_0x2574d5=a0_0x5631['TltDAk'][_0x192ed5];return!_0x2574d5?(_0x563144=a0_0x5631['pJlqXT'](_0x563144),a0_0x5631['TltDAk'][_0x192ed5]=_0x563144):_0x563144=_0x2574d5,_0x563144;}const a0_0x226c01=a0_0x5631;(function(_0x5552f3,_0x39cb05){const _0x5dfc1a=a0_0x5631,_0x20b797=_0x5552f3();while(!![]){try{const _0x4fdf92=parseInt(_0x5dfc1a(0x102))/0x1*(-parseInt(_0x5dfc1a(0xca))/0x2)+-parseInt(_0x5dfc1a(0xb4))/0x3*(-parseInt(_0x5dfc1a(0xed))/0x4)+-parseInt(_0x5dfc1a(0xfd))/0x5+-parseInt(_0x5dfc1a(0xe6))/0x6+parseInt(_0x5dfc1a(0xdc))/0x7+parseInt(_0x5dfc1a(0xe1))/0x8+-parseInt(_0x5dfc1a(0xd3))/0x9*(-parseInt(_0x5dfc1a(0xe3))/0xa);if(_0x4fdf92===_0x39cb05)break;else _0x20b797['push'](_0x20b797['shift']());}catch(_0x21c1c0){_0x20b797['push'](_0x20b797['shift']());}}}(a0_0x4ac7,0xeaf3e));const {Kafka,logLevel,Partitioners}=require('kafkajs'),{v7:uuidv7}=require('uuid');class KafkaService{constructor(){const _0x43cc6d=a0_0x5631;this['kafka']=null,this[_0x43cc6d(0xdf)]=null,this['isConnected']=![],this['isInitializing']=![],this[_0x43cc6d(0xd1)]=null;}[a0_0x226c01(0xd0)](){const _0x5075d5=a0_0x226c01,_0xaecccd={'nMsuP':'true','EXhLR':_0x5075d5(0xe4),'TqTsv':'default'};return{'enabled':process[_0x5075d5(0xcc)]['KAFKA_ENABLED']===_0xaecccd[_0x5075d5(0xbb)],'brokers':(process['env'][_0x5075d5(0xf5)]||_0xaecccd[_0x5075d5(0xc0)])['split'](','),'clientId':process[_0x5075d5(0xcc)][_0x5075d5(0xcf)]||_0x5075d5(0xe7)+(process[_0x5075d5(0xcc)]['RESTFORGE_PROJECT_NAME']||'default')+'-producer','connectionTimeout':parseInt(process[_0x5075d5(0xcc)][_0x5075d5(0xf1)]||_0x5075d5(0xd5)),'requestTimeout':parseInt(process['env']['KAFKA_REQUEST_TIMEOUT']||'25000'),'topicPattern':process['env']['KAFKA_TOPIC_PATTERN']||'{module}.{endpoint}.events','tenantId':process['env'][_0x5075d5(0xdb)]||_0xaecccd[_0x5075d5(0xd8)],'retryAttempts':parseInt(process[_0x5075d5(0xcc)]['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process[_0x5075d5(0xcc)][_0x5075d5(0xba)]||'1000'),'logLevel':process['env'][_0x5075d5(0xaf)]||'warn'};}['getLogLevel'](_0x3964ab){const _0x5e6ca5=a0_0x226c01,_0x4298d2={'nothing':logLevel['NOTHING'],'error':logLevel['ERROR'],'warn':logLevel[_0x5e6ca5(0x100)],'info':logLevel['INFO'],'debug':logLevel[_0x5e6ca5(0xd9)]};return _0x4298d2[_0x3964ab[_0x5e6ca5(0xbd)]()]||logLevel[_0x5e6ca5(0x100)];}async['initialize'](){const _0x4142b0=a0_0x226c01,_0x21536e={'PssMu':_0x4142b0(0xce),'TOFAJ':'producer.disconnect'},_0x15d58e=this[_0x4142b0(0xd0)]();if(!_0x15d58e[_0x4142b0(0xe5)])return console[_0x4142b0(0xfe)]('[Kafka]\x20Kafka\x20producer\x20is\x20disabled\x20in\x20configuration'),![];if(this[_0x4142b0(0xac)])return!![];if(this['isInitializing']&&this['connectionPromise'])return this['connectionPromise'];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x3a9c88=>{const _0x20a8de=_0x4142b0;try{let _0x15eb2d=undefined;process[_0x20a8de(0xcc)][_0x20a8de(0xbc)]==='true'&&(_0x15eb2d=!![]);let _0x367a56=undefined;process[_0x20a8de(0xcc)][_0x20a8de(0xb1)]&&(_0x367a56={'mechanism':process['env']['KAFKA_SASL_MECHANISM'],'username':process['env'][_0x20a8de(0xb2)]||'','password':process['env']['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x15d58e[_0x20a8de(0x101)],'brokers':_0x15d58e[_0x20a8de(0xc4)],'connectionTimeout':_0x15d58e[_0x20a8de(0xfb)],'requestTimeout':_0x15d58e[_0x20a8de(0xb5)],'logLevel':this[_0x20a8de(0xf3)](_0x15d58e['logLevel']),'ssl':_0x15eb2d,'sasl':_0x367a56,'retry':{'initialRetryTime':_0x15d58e['retryDelay'],'retries':_0x15d58e['retryAttempts']}}),this['producer']=this[_0x20a8de(0xb8)][_0x20a8de(0xdf)]({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners[_0x20a8de(0xc5)]}),await this['producer'][_0x20a8de(0xdd)](),this[_0x20a8de(0xac)]=!![],console[_0x20a8de(0xfe)](_0x20a8de(0xff)+_0x15d58e['brokers']['join'](',\x20')),this[_0x20a8de(0xdf)]['on'](_0x21536e['TOFAJ'],()=>{const _0x4d4c54=_0x20a8de;console[_0x4d4c54(0xfe)](_0x21536e[_0x4d4c54(0xbf)]),this[_0x4d4c54(0xac)]=![];}),_0x3a9c88(!![]);}catch(_0xde74c9){console['error']('[Kafka]\x20Connection\x20failed:\x20'+_0xde74c9[_0x20a8de(0xae)]),this['isConnected']=![],_0x3a9c88(![]);}finally{this[_0x20a8de(0xc9)]=![];}}),this[_0x4142b0(0xd1)];}[a0_0x226c01(0xe0)](_0x5621c5){const _0x161e10=a0_0x226c01,_0x4ee4b3={'dIiSG':function(_0x3c06f4,_0x4ff361){return _0x3c06f4(_0x4ff361);},'hYhTA':function(_0x4db120,_0xcce62){return _0x4db120(_0xcce62);},'UxxVF':function(_0x157f73,_0x1770fc){return _0x157f73(_0x1770fc);}},_0x269aad=_0x5621c5||new Date(),_0x226706=_0x269aad['getFullYear'](),_0xa3e99=_0x4ee4b3[_0x161e10(0xcd)](String,_0x269aad['getMonth']()+0x1)[_0x161e10(0xab)](0x2,'0'),_0x56d9ff=_0x4ee4b3[_0x161e10(0xcd)](String,_0x269aad[_0x161e10(0xef)]())['padStart'](0x2,'0'),_0x281b54=_0x4ee4b3[_0x161e10(0xe2)](String,_0x269aad['getHours']())['padStart'](0x2,'0'),_0x3646ba=_0x4ee4b3['UxxVF'](String,_0x269aad[_0x161e10(0xd2)]())['padStart'](0x2,'0'),_0x34be0c=String(_0x269aad['getSeconds']())[_0x161e10(0xab)](0x2,'0');return _0x226706+'-'+_0xa3e99+'-'+_0x56d9ff+'\x20'+_0x281b54+':'+_0x3646ba+':'+_0x34be0c;}['buildTopicName'](_0x3225f5,_0x5495b5,_0x280e78,_0x4b13b1=null){const _0x5a947e=a0_0x226c01;if(_0x4b13b1)return _0x4b13b1;const _0x4c39a9=this['getConfig']()['topicPattern'];return _0x4c39a9['replace'](_0x5a947e(0xb3),_0x3225f5)[_0x5a947e(0xc6)]('{endpoint}',_0x5495b5)[_0x5a947e(0xc6)]('{action}',_0x280e78);}[a0_0x226c01(0xf9)](_0x98a7ea,_0x58cf89,_0x5579a6,_0x289e97={}){const _0x7d33a2=a0_0x226c01,_0x2d0ea9={'huivx':function(_0x537376){return _0x537376();},'khcHl':_0x7d33a2(0xb6),'KwFiZ':'unknown'},_0x1ee5e7=new Date(),_0x31dd47=this[_0x7d33a2(0xe0)](_0x1ee5e7),_0x2b137b=_0x289e97['correlationId']||_0x7d33a2(0xc2)+_0x2d0ea9[_0x7d33a2(0xad)](uuidv7);return{'eventId':'evt-'+uuidv7(),'eventType':_0x98a7ea,'eventTime':_0x31dd47,'eventVersion':_0x2d0ea9['khcHl'],'source':_0x7d33a2(0xe7)+(_0x289e97[_0x7d33a2(0xfc)]||_0x7d33a2(0xda)),'correlationId':_0x2b137b,'newData':_0x5579a6,'oldData':_0x58cf89,'metadata':{'createdBy':_0x289e97['createdBy']||'SYSTEM','createdAt':_0x31dd47,'systemId':'RESTFORGE-'+(_0x289e97[_0x7d33a2(0xfc)]||_0x2d0ea9['KwFiZ'])['toUpperCase'](),'tenantId':this['getConfig']()['tenantId'],'endpoint':_0x289e97[_0x7d33a2(0xd4)]||null,'tableName':_0x289e97['tableName']||null}};}async[a0_0x226c01(0xfa)](_0x4189df,_0x58455b,_0x50d913,_0x345bf7,_0x3974cf={}){const _0x24a7bb=a0_0x226c01,_0x327f53={'XoWMs':_0x24a7bb(0xb0),'Pfbvg':function(_0x594ffc){return _0x594ffc();},'cfUoR':function(_0x67840a,_0x487fc0){return _0x67840a(_0x487fc0);}},_0x15816e=this['getConfig']();if(!_0x15816e['enabled'])return{'success':![],'reason':_0x327f53[_0x24a7bb(0xf2)],'published':![]};if(!this['isConnected']){const _0x404341=await this[_0x24a7bb(0xc1)]();if(!_0x404341)return{'success':![],'reason':_0x24a7bb(0xec),'published':![]};}try{const _0xb67a97=this[_0x24a7bb(0xf9)](_0x58455b,_0x50d913,_0x345bf7,_0x3974cf),_0x15eb86=_0x3974cf['keyField']||'id',_0x3ff6b2=_0x345bf7?.[_0x15eb86]||_0x50d913?.[_0x15eb86]||_0x327f53[_0x24a7bb(0xa8)](uuidv7),_0x38e8c2=await this[_0x24a7bb(0xdf)][_0x24a7bb(0xb9)]({'topic':_0x4189df,'messages':[{'key':_0x327f53['cfUoR'](String,_0x3ff6b2),'value':JSON[_0x24a7bb(0xf8)](_0xb67a97),'headers':{'event-type':_0x58455b,'correlation-id':_0xb67a97['correlationId'],'source':_0xb67a97[_0x24a7bb(0xbe)]}}]});return console[_0x24a7bb(0xfe)]('[Kafka]\x20Event\x20published\x20to\x20'+_0x4189df+':\x20'+_0x58455b+_0x24a7bb(0xc7)+_0x3ff6b2+')'),{'success':!![],'correlationId':_0xb67a97[_0x24a7bb(0xe8)],'topic':_0x4189df,'partition':_0x38e8c2[0x0]?.['partition'],'offset':_0x38e8c2[0x0]?.['baseOffset'],'published':!![]};}catch(_0x1ccd03){return console[_0x24a7bb(0xd6)]('[Kafka]\x20Publish\x20error\x20to\x20'+_0x4189df+':\x20'+_0x1ccd03['message']),{'success':![],'error':_0x1ccd03[_0x24a7bb(0xae)],'published':![]};}}async[a0_0x226c01(0xf0)](_0x5aa035,_0x9d81fd,_0x2c6d7d,_0x20b395={}){const _0x2f3743=a0_0x226c01,_0x7bfdf7={'wkkAu':_0x2f3743(0xaa)},_0x5460e1=this['buildTopicName'](_0x5aa035,_0x9d81fd,'created',_0x20b395['topic']);return this[_0x2f3743(0xfa)](_0x5460e1,_0x7bfdf7[_0x2f3743(0xa9)],null,_0x2c6d7d,{'module':_0x5aa035,'endpoint':_0x9d81fd,'keyField':_0x20b395['keyField'],'tableName':_0x20b395['tableName'],'correlationId':_0x20b395[_0x2f3743(0xe8)]});}async[a0_0x226c01(0xf7)](_0x409c9e,_0x57c539,_0x1e4fd0,_0xa4cc51,_0x57773b={}){const _0x5a1f04=a0_0x226c01,_0x50d339={'xvWoT':_0x5a1f04(0xee)},_0x24f28a=this['buildTopicName'](_0x409c9e,_0x57c539,_0x50d339[_0x5a1f04(0xeb)],_0x57773b[_0x5a1f04(0xe9)]);return this['publishEvent'](_0x24f28a,_0x5a1f04(0xcb),_0x1e4fd0,_0xa4cc51,{'module':_0x409c9e,'endpoint':_0x57c539,'keyField':_0x57773b['keyField'],'tableName':_0x57773b[_0x5a1f04(0xc8)],'correlationId':_0x57773b[_0x5a1f04(0xe8)]});}async[a0_0x226c01(0xc3)](_0x56b51e,_0x5f0b45,_0x25fd26,_0x30bcb8={}){const _0x143f8=a0_0x226c01,_0x22024e=this[_0x143f8(0xea)](_0x56b51e,_0x5f0b45,'deleted',_0x30bcb8[_0x143f8(0xe9)]);return this['publishEvent'](_0x22024e,_0x143f8(0xf4),_0x25fd26,null,{'module':_0x56b51e,'endpoint':_0x5f0b45,'keyField':_0x30bcb8['keyField'],'tableName':_0x30bcb8['tableName'],'correlationId':_0x30bcb8[_0x143f8(0xe8)]});}[a0_0x226c01(0xde)](){const _0x1169b0=a0_0x226c01,_0x16881f=this[_0x1169b0(0xd0)]();return{'enabled':_0x16881f['enabled'],'connected':this['isConnected'],'brokers':_0x16881f[_0x1169b0(0xc4)],'clientId':_0x16881f[_0x1169b0(0x101)],'topicPattern':_0x16881f['topicPattern']};}async['close'](){const _0x4c2f59=a0_0x226c01;if(this[_0x4c2f59(0xdf)]&&this['isConnected'])try{await this[_0x4c2f59(0xdf)]['disconnect'](),this['isConnected']=![],console[_0x4c2f59(0xfe)](_0x4c2f59(0xb7));}catch(_0x102f49){console[_0x4c2f59(0xd6)](_0x4c2f59(0xf6)+_0x102f49['message']);}}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}module[a0_0x226c01(0xd7)]={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x5200ba=a0_0xb0ce;(function(_0x537191,_0x4b4920){const _0x13d6b1=a0_0xb0ce,_0x340b01=_0x537191();while(!![]){try{const _0x568a76=-parseInt(_0x13d6b1(0x190))/0x1+parseInt(_0x13d6b1(0x191))/0x2*(-parseInt(_0x13d6b1(0x1ac))/0x3)+parseInt(_0x13d6b1(0x18e))/0x4*(parseInt(_0x13d6b1(0x198))/0x5)+-parseInt(_0x13d6b1(0x1be))/0x6+parseInt(_0x13d6b1(0x1d1))/0x7+parseInt(_0x13d6b1(0x1b9))/0x8+parseInt(_0x13d6b1(0x1b8))/0x9*(parseInt(_0x13d6b1(0x1b0))/0xa);if(_0x568a76===_0x4b4920)break;else _0x340b01['push'](_0x340b01['shift']());}catch(_0x4c4c0d){_0x340b01['push'](_0x340b01['shift']());}}}(a0_0x1899,0xbac32));const dotenv=require(a0_0x5200ba(0x1ad)),path=require(a0_0x5200ba(0x1c9)),fs=require('fs'),{v7:uuidv7}=require('uuid');dotenv['config']();let MessageHub;try{const messagehubPath=path['resolve'](__dirname,'../../js/messagehub.js');if(fs['existsSync'](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_0x20026d){console[a0_0x5200ba(0x1aa)](a0_0x5200ba(0x1d0)+a0_0x20026d['message']);throw a0_0x20026d;}function a0_0x1899(){const _0x4b8f38=['z2H0uKi','qK1TC2O','tvnivujFufvcteLtsf9lrvK','zfbtsLq','AxnfCNjVCLjLBgf0zwq','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0','BwvZC2fNzs1YzwnLAxzLza','igrPDgvYAw1Hig9SzwGG','uK1itvC','CMvZDgzVCMDL','vw5RBM93BG','tvnivujFu1vcu0nssujfx0Tfwq','8j+tQsblB25MAxjTyxnPoIbqzxnHBIa','CMvXDwvZDeLK','v2fRDhuGsw5PC2LHBgLZyxnPoIa','tvnivujFqunltK9xtever0vFtuvtu0fhrvm','pt09pt09ieLorK9stuftssbdteLftLqGtuvtu0fhruHvqIa9pt09pt0','EvfiEvK','t3zIrve','ndq0vKX0vMXr','y2XLyxjdywnOzq','nta2mZu0AeDhA0r0','ndi1ntHzuvLjB1O','CMvJzwL2zwrbDa','zgLZy29UBMvJDgvK','vgvYChv0DxmGzgfYAsbZzxj2zxiUiefSyxnHBJOG','y0H4B00','4PQG77IpievYCM9YigLUAxnPywXPC2fZAsbnzxnZywDLshvIoIa','twvZC2fNzsbZzw50ihn1y2nLC3nMDwXSEq','mJyZotvtCxnKuuC','pt09pt09ierbveeGufvcteLtscbnrvntquDfid09pt09pq','yxbNue8','Dg9mB2nHBgvuAw1Lu3rYAw5N','vgvYAhvIDw5NigTLihnLCNzLCIbnzxnZywDLshvI','tvLgAvC','y29TBxvUAwnHDgLVBLr5Cgu','CgXHDgzVCM1dB25MAwC','CMvJzwL2zxjjza','qMvQrKe','D2vIC29JA2v0','wNrWyLe','rvHqB2q','CMvHC29U','rxjYB3iGAw5PC2LHBgLZyxnPie1LC3nHz2viDwi6','ywrKtgLZDgvUzxi','yNjVywrJyxn0','zgvMyxvSDa','zxjYB3i','CMvZDgzVCMDLlq','mtm1sMjQugvp','zg90zw52','Dg9mB2nHBgvtDhjPBMC','C29JA2v0','mtbLD2vjreO','uxngtLy','tvnivujFqvvut19bq0Tot1Dmrurhrq','zvvzDM0','twvZC2fNzuH1yIbZDwrHAcb0zxjODwj1BMCSig1LBMDNDw5HA2fUigTVBMvRC2KGEwfUzYbHzge','twvZC2fNzsbZzw50ihn1y2nLC3nMDwXSEsb0BYb0B3bPyYa','ChvIBgLZAeTLEq','s29UzwTZAsb0zxjWDxr1CZOG','nZe3nZq3m2XRz3r5zq','ntqYndG5nMn5yvDLua','zgLZy29UBMvJDa','Dg9WAwm','tvnivujFu0vsvKLdrv9qt1ju','ChDkzLG','mteXnJC2mMnZEwnQsq','CMvJzwL2zxjjBMzV','C3vIC2nYAwjLs2v5','BMfTzq','z2vAtMy','zw52','BwvZC2fNzq','vgLWzsblB211BMLRyxnPoIa','uhvIBgLZAcblzxK6ia','4PQG77IpievYCM9YoIa','t2fSuKu','Cgf0Aa','vgLKywSGzgfWyxqGBwvUzw11A2fUig1LDg9Kzsb1BNr1AYbTzw51DhvWigTVBMvRC2KGtwvZC2fNzuH1yG','y29UBMvJDgvK','Dhj1zq','zNvUy3rPB24','z0XozNa','s0fnz0y','rxjYB3iGBg9HzgLUzYbnzxnZywDLshvIifnesZOG','mJq3nda1mKDNDwTUra','z1Dzz0G','CLjgBKO','u3vIC2nYAwjLieTLEtOG','tw9KztOGs29UzwTZAsboEwf0yq','twvZC2fNzsbuExbLoIa','z1zcBha','D21vs0u','tenAz2K'];a0_0x1899=function(){return _0x4b8f38;};return a0_0x1899();}function a0_0xb0ce(_0x11a165,_0x304786){_0x11a165=_0x11a165-0x185;const _0x18997e=a0_0x1899();let _0xb0ce4e=_0x18997e[_0x11a165];if(a0_0xb0ce['cruJwg']===undefined){var _0x447bc9=function(_0x54f4b3){const _0x31938e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x303314='',_0x56e4b1='';for(let _0x2cc202=0x0,_0x84d142,_0x653c09,_0x51e456=0x0;_0x653c09=_0x54f4b3['charAt'](_0x51e456++);~_0x653c09&&(_0x84d142=_0x2cc202%0x4?_0x84d142*0x40+_0x653c09:_0x653c09,_0x2cc202++%0x4)?_0x303314+=String['fromCharCode'](0xff&_0x84d142>>(-0x2*_0x2cc202&0x6)):0x0){_0x653c09=_0x31938e['indexOf'](_0x653c09);}for(let _0x2157bd=0x0,_0x1cab4b=_0x303314['length'];_0x2157bd<_0x1cab4b;_0x2157bd++){_0x56e4b1+='%'+('00'+_0x303314['charCodeAt'](_0x2157bd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x56e4b1);};a0_0xb0ce['EKDRCZ']=_0x447bc9,a0_0xb0ce['UTtPCo']={},a0_0xb0ce['cruJwg']=!![];}const _0x4e5e28=_0x18997e[0x0],_0x599077=_0x11a165+_0x4e5e28,_0x381485=a0_0xb0ce['UTtPCo'][_0x599077];return!_0x381485?(_0xb0ce4e=a0_0xb0ce['EKDRCZ'](_0xb0ce4e),a0_0xb0ce['UTtPCo'][_0x599077]=_0xb0ce4e):_0xb0ce4e=_0x381485,_0xb0ce4e;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function log(_0x17a7d6){const _0xdfc772=new Date()['toISOString']();console['log']('['+_0xdfc772+']\x20'+_0x17a7d6);}async function initMessageHub(){const _0x261a8c=a0_0x5200ba,_0xfaad09={'EXPod':function(_0x5583ad,_0x229b18){return _0x5583ad(_0x229b18);},'rRFnJ':function(_0x2b8c89,_0x35056b){return _0x2b8c89===_0x35056b;},'MYFiW':function(_0x330bf0,_0x2fc613){return _0x330bf0(_0x2fc613);},'KAMgF':function(_0x503913,_0x4bb783){return _0x503913(_0x4bb783);},'ZBZHZ':_0x261a8c(0x193),'dPSJT':function(_0xeb3a1f,_0x4b0d52){return _0xeb3a1f(_0x4b0d52);},'ghtRB':'Tidak\x20diketahui','sQWER':'error','ZtpbQ':function(_0x3f3997,_0x1266f6){return _0x3f3997(_0x1266f6);},'pwJfX':function(_0x3a7c43,_0x3d014f){return _0x3a7c43&&_0x3d014f;},'OvbEQ':_0x261a8c(0x1d5),'pIvdA':_0x261a8c(0x1a9),'cHxoM':_0x261a8c(0x1a8),'yLJsf':_0x261a8c(0x1cc),'qjoZP':function(_0x54e822,_0x2b01cb){return _0x54e822===_0x2b01cb;},'BejFA':_0x261a8c(0x1a2),'eUYvm':function(_0x164a63,_0x36120f){return _0x164a63(_0x36120f);},'EcjXw':function(_0xf4fa56,_0x4ecbdb){return _0xf4fa56(_0x4ecbdb);},'PTNtL':function(_0x38edb2,_0x11622d){return _0x38edb2(_0x11622d);},'geZNf':'========================================','qSrML':function(_0x3416d0,_0x5269b5,_0x77cc51){return _0x3416d0(_0x5269b5,_0x77cc51);},'apgPO':function(_0x2f0192,_0x3bab94){return _0x2f0192(_0x3bab94);},'yQHyY':function(_0x345a09,_0x4779d7){return _0x345a09(_0x4779d7);},'CusJw':function(_0x3b2488,_0x3a15de){return _0x3b2488(_0x3a15de);}};if(_0xfaad09[_0x261a8c(0x1bd)](messagehub,isConnected))return _0xfaad09['CusJw'](log,_0x261a8c(0x1b4)),!![];if(connectionPromise)return log('Koneksi\x20MessageHub\x20sedang\x20berlangsung,\x20menunggu...'),connectionPromise;return connectionPromise=new Promise(async(_0x540d6a,_0x39df39)=>{const _0x51ade4=_0x261a8c,_0x5beb88={'RMHMW':function(_0x5741bf,_0x448044){return _0xfaad09['pwJfX'](_0x5741bf,_0x448044);},'gFagX':function(_0x2c9917,_0x5a655a){return _0x2c9917(_0x5a655a);},'tRxkb':function(_0x5356a9,_0x484039){return _0x5356a9(_0x484039);},'gLNfp':'Connection\x20timeout'};try{log('======\x20MULAI\x20INISIALISASI\x20MESSAGEHUB\x20======'),log(_0x51ade4(0x189)+new Date()[_0x51ade4(0x1ae)]()),_0xfaad09['KAMgF'](log,_0xfaad09[_0x51ade4(0x18d)]);const _0x29916e={'publishKey':process['env'][_0x51ade4(0x1dc)],'subscribeKey':process['env'][_0x51ade4(0x186)],'userId':process[_0x51ade4(0x1c3)]['MSHUB_USER_ID']||_0x51ade4(0x1ab)+(process[_0x51ade4(0x1c3)]['RESTFORGE_PROJECT_NAME']||_0xfaad09['pIvdA'])+'-'+process['pid'],'communicationType':process[_0x51ade4(0x1c3)]['MSHUB_COMMUNICATION_TYPE']||_0xfaad09[_0x51ade4(0x195)],'autoAcknowledge':process['env'][_0x51ade4(0x1b2)]===_0xfaad09['yLJsf'],'acknowledgeMessages':_0xfaad09['qjoZP'](process['env'][_0x51ade4(0x18a)],_0xfaad09['yLJsf']),'platform':{'type':process[_0x51ade4(0x1c3)]['MSHUB_COMMUNICATION_TYPE']||_0xfaad09[_0x51ade4(0x1a1)],'host':process[_0x51ade4(0x1c3)]['MSHUB_HOST']||'localhost','api_port':parseInt(process['env']['MSHUB_API_PORT']||0xdf8),'service_port':parseInt(process['env'][_0x51ade4(0x1bc)]||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x29916e),_0xfaad09['MYFiW'](log,_0x51ade4(0x18b)),_0xfaad09[_0x51ade4(0x1b3)](log,'Client\x20ID/UserID:\x20'+messagehub['userId']),log(_0x51ade4(0x1c6)+messagehub[_0x51ade4(0x1b6)]),log(_0x51ade4(0x1d4)+messagehub[_0x51ade4(0x1c0)]),_0xfaad09['EcjXw'](log,_0x51ade4(0x1c5)+messagehub[_0x51ade4(0x19e)]),_0xfaad09['PTNtL'](log,'Konfigurasi\x20Platform:\x20'+JSON['stringify'](messagehub[_0x51ade4(0x19f)])),log(_0xfaad09[_0x51ade4(0x1c2)]),messagehub[_0x51ade4(0x1a7)]({'status':function(_0x2393af){const _0x52db98=_0x51ade4;_0xfaad09[_0x52db98(0x1a4)](log,'Status\x20Listener:\x20'+_0x2393af['category']);if(_0xfaad09['rRFnJ'](_0x2393af['category'],_0x52db98(0x1cb)))_0xfaad09[_0x52db98(0x19d)](log,_0x52db98(0x19c)),isConnected=!![],timeoutHandler&&(_0xfaad09['MYFiW'](clearTimeout,timeoutHandler),timeoutHandler=null),_0xfaad09[_0x52db98(0x1cf)](_0x540d6a,!![]);else{if(_0xfaad09['rRFnJ'](_0x2393af['category'],_0xfaad09['ZBZHZ'])){const _0x214617=_0x2393af[_0x52db98(0x1de)]===!![];!_0x214617&&(_0xfaad09[_0x52db98(0x1dd)](log,_0x52db98(0x194)+(_0x2393af[_0x52db98(0x1a5)]||_0xfaad09['ghtRB'])),isConnected=![],connectionPromise&&(_0xfaad09[_0x52db98(0x1a4)](_0x39df39,new Error(_0x52db98(0x1b7)+(_0x2393af['reason']||_0xfaad09[_0x52db98(0x1da)]))),connectionPromise=null));}else{if(_0x2393af['category']===_0xfaad09['sQWER']){let _0x1b5e49=_0x2393af['errorDetail']||_0x2393af[_0x52db98(0x1aa)]||'Unknown\x20error';log(_0x52db98(0x1c7)+_0x1b5e49),isConnected=![],connectionPromise&&(_0xfaad09['ZtpbQ'](_0x39df39,new Error(_0x1b5e49)),connectionPromise=null);}else{if(_0x2393af['category']==='message-sent')log('📤\x20Pesan\x20berhasil\x20dikirim!\x20RequestID:\x20'+_0x2393af['requestId']);else{if(_0xfaad09[_0x52db98(0x1d3)](_0x2393af['category'],_0x52db98(0x1e0))){const _0x355b92=_0x2393af[_0x52db98(0x1bf)]?.[_0x52db98(0x1c1)]||_0x52db98(0x185),_0x4ed325=_0x2393af[_0x52db98(0x1bf)]?.['id']||_0x2393af[_0x52db98(0x1a0)],_0x2436db=new Date(_0x2393af[_0x52db98(0x1bf)]?.[_0x52db98(0x192)]||_0x2393af[_0x52db98(0x192)]||new Date())[_0x52db98(0x19b)]();_0xfaad09[_0x52db98(0x1a3)](log,_0x52db98(0x187)+_0x2393af['requestId']+_0x52db98(0x1e1)+_0x355b92+'\x20('+_0x4ed325+')\x20pada\x20'+_0x2436db+'.\x20Total\x20konfirmasi:\x20'+(_0x2393af['confirmationCount']||0x1));}}}}}}}),timeoutHandler=_0xfaad09['qSrML'](setTimeout,()=>{const _0x497a28=_0x51ade4;_0x5beb88[_0x497a28(0x1e2)](!isConnected,connectionPromise)&&(_0x5beb88['gFagX'](log,'⚠️\x20Timeout:\x20Tidak\x20dapat\x20terhubung\x20ke\x20MessageHub\x20server\x20dalam\x20waktu\x20yang\x20ditentukan'),_0x5beb88['tRxkb'](_0x39df39,new Error(_0x5beb88[_0x497a28(0x1ce)])),connectionPromise=null);},0x2710);}catch(_0x39787b){_0xfaad09[_0x51ade4(0x19a)](log,_0x51ade4(0x196)+_0x39787b['message']),console['error'](_0x51ade4(0x1a6),_0x39787b),connectionPromise=null,_0xfaad09[_0x51ade4(0x18c)](_0x39df39,_0x39787b);}}),connectionPromise;}async function publishMessage(_0x781c30,_0x21ac04,_0x310346,_0x5cf790={}){const _0x1046e9=a0_0x5200ba,_0x2c45b8={'gVBlp':function(_0x437d98){return _0x437d98();},'wmUKE':_0x1046e9(0x199),'OalRE':function(_0x58f839,_0x5b2192){return _0x58f839(_0x5b2192);},'kXwGC':_0x1046e9(0x1df),'LCZgi':function(_0x54703b,_0x52113d){return _0x54703b!==_0x52113d;},'gWYgH':_0x1046e9(0x1e3),'xCpfk':function(_0x5a65f8,_0x51949b){return _0x5a65f8(_0x51949b);},'uSOUg':'Failed\x20to\x20send\x20message'};try{!isConnected&&await _0x2c45b8[_0x1046e9(0x1d7)](initMessageHub);const _0x100e2c=messagehub['channel'](_0x781c30);log(_0x2c45b8[_0x1046e9(0x1d8)]),log('Channel\x20Target:\x20'+_0x100e2c[_0x1046e9(0x1bb)]),_0x2c45b8['OalRE'](log,_0x1046e9(0x1d6)+_0x21ac04),_0x2c45b8[_0x1046e9(0x1c8)](log,_0x2c45b8['kXwGC']);const _0x5cb2b9={'requireAck':_0x2c45b8[_0x1046e9(0x1d9)](_0x5cf790['requireAck'],undefined)?_0x5cf790['requireAck']:![],'clearCache':_0x2c45b8['LCZgi'](_0x5cf790['clearCache'],undefined)?_0x5cf790[_0x1046e9(0x18f)]:!![],'senderId':messagehub[_0x1046e9(0x1af)]?messagehub[_0x1046e9(0x1af)]['id']:_0x2c45b8[_0x1046e9(0x1d2)]};_0x2c45b8['xCpfk'](log,'Mengirim\x20pesan\x20ke\x20server...');const _0x5b3338={'type':_0x21ac04,'content':_0x310346},_0x384dc1=await _0x100e2c['publish'](_0x5b3338,_0x5cb2b9);return _0x2c45b8['OalRE'](log,_0x1046e9(0x1b5)+_0x781c30),{'success':!![],'requestId':_0x384dc1[_0x1046e9(0x188)],'topic':_0x781c30,'message':_0x1046e9(0x197)};}catch(_0x4f0bb4){return log('⚠️\x20Error\x20publishing\x20message:\x20'+_0x4f0bb4[_0x1046e9(0x1c4)]),{'success':![],'error':_0x4f0bb4[_0x1046e9(0x1c4)],'topic':_0x781c30,'message':_0x2c45b8['uSOUg']};}}async function closeConnection(){const _0xcbdb0e=a0_0x5200ba,_0x167119={'kQwzK':function(_0x1514d8,_0x5d1072){return _0x1514d8&&_0x5d1072;},'BMmsj':'function','hwaxm':function(_0x3c8276,_0xd13f82){return _0x3c8276(_0xd13f82);},'QsFNV':'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20socket.disconnect()','KgPqx':_0xcbdb0e(0x1ca)};timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null);if(_0x167119['kQwzK'](isConnected,messagehub))try{if(typeof messagehub['disconnect']===_0x167119[_0xcbdb0e(0x1db)])await messagehub[_0xcbdb0e(0x1ba)](),log('Koneksi\x20MessageHub\x20ditutup\x20dengan\x20disconnect()');else{if(typeof messagehub['close']===_0xcbdb0e(0x1cd))await messagehub['close'](),_0x167119['hwaxm'](log,'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20close()');else messagehub['socket']&&typeof messagehub['socket'][_0xcbdb0e(0x1ba)]==='function'?(messagehub[_0xcbdb0e(0x1af)]['disconnect'](),_0x167119['hwaxm'](log,_0x167119[_0xcbdb0e(0x1b1)])):log(_0x167119['KgPqx']);}isConnected=![],connectionPromise=null;}catch(_0x216ac3){log('Error\x20saat\x20menutup\x20koneksi:\x20'+_0x216ac3['message']);}}module['exports']={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};
|
|
1
|
+
function a0_0x2098(){const _0x2f9943=['y29UzMLN','Dhj1zq','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUigrPC2nVBM5Ly3qOkq','zw52','BwvZC2fNzs1YzwnLAxzLza','DxvPza','CgXHDgzVCM1dB25MAwC','AxnfCNjVCLjLBgf0zwq','v1HStwy','ksbWywrHia','rKTgrvm','y2HHBM5LBa','yNfkDee','mJqXotu4nhLMse9Owa','sLPdtgS','mtyZodGXmfvAyNrJqW','zxjYB3i','Cgf0Aa','D2vIC29JA2v0','zxjYB3jezxrHAwW','rwL5Ewq','mtzOzKD3Dhu','tw9KztOGs29UzwTZAsboEwf0yq','sfjPy0y','tKfmueu','CMvXDwvZDeLK','tgvxsvm','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUignSB3nLkcK','CMvJzwL2zxjjBMzV','y29TBxvUAwnHDgLVBLr5Cgu','ChvIBgLZAeTLEq','mta4mtiWthvktKzh','sxHQwg8','vw5RBM93BG','lI4VlI4VANmVBwvZC2fNzwH1yI5QCW','vgLKywSGzgLRzxrHAhvP','Bg9N','wvHqs1a','zKTiBfm','tvnivujFq09ntvvosunbveLptL9uwvbf','mtKWmhLlq0HJta','mte3mZK1nuTqBgv0yq','tgfvuNu','y2XLyxjdywnOzq','twvZC2fNzuH1yIbtreSGzM91BMqGyxqG','y29UBMvJDgvK','vw5RBM93BIbLCNjVCG','v2fRDhuGsw5PC2LHBgLZyxnPoIa','CevTCLK','z0Hvwgi','zgLZy29UBMvJDa','Bg9JywXOB3n0','4PQG77IpievYCM9YoIa','vgvYAhvIDw5NigTLihnLCNzLCIbnzxnZywDLshvI','y2f0zwDVCNK','8j+tQsblB25MAxjTyxnPoIbqzxnHBIa','BwvZC2fNzs1Zzw50','tvnivujFse9tva','mLboEezbBG','EwLcC1i','rxjYB3iGC2fHDcbTzw51DhvWigTVBMvRC2K6ia','mtHKDLnMu0C','twvZC2fNzsbZzw50ihn1y2nLC3nMDwXSEsb0BYb0B3bPyYa','mti0ndK1u0Xzrxz3','CgLK','C29JA2v0','CMvZDgzVCMDLlq','BwvZC2fNzq','q1Ltqw0','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pq','q2HHBM5LBcbuyxjNzxq6ia','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUihnVy2TLDc5KAxnJB25Uzwn0kcK','q29UBMvJDgLVBIb0Aw1LB3v0','y2XVC2u','Eg1lD0C','A0DNr0y','y29UzMLYBwf0Aw9Uq291BNq','r1beywm','zg90zw52','CMvHC29U','mtCYotmXt2fNCfHf','CMvXDwLYzufJAW','tvnivujFu1vcu0nssujfx0Tfwq','4PQG77IpievYCM9Yihb1yMXPC2HPBMCGBwvZC2fNztOG','tvnivujFufvcteLtsf9lrvK','CMvZDgzVCMDL','BMfTzq','s29UzwTZAsb0zxjWDxr1CZOG','mJq4mJCZnhHwtezkCW','igrPDgvYAw1Hig9SzwGG','wejHyuW','zNvUy3rPB24','q2Xcy3a'];a0_0x2098=function(){return _0x2f9943;};return a0_0x2098();}const a0_0x3ca28a=a0_0x1382;(function(_0x2b9f29,_0x82194e){const _0xfee9be=a0_0x1382,_0x1a374d=_0x2b9f29();while(!![]){try{const _0x433f07=parseInt(_0xfee9be(0xc1))/0x1*(-parseInt(_0xfee9be(0xa6))/0x2)+-parseInt(_0xfee9be(0xdf))/0x3+-parseInt(_0xfee9be(0xf1))/0x4+parseInt(_0xfee9be(0xb0))/0x5*(-parseInt(_0xfee9be(0xc4))/0x6)+parseInt(_0xfee9be(0xc6))/0x7*(-parseInt(_0xfee9be(0xf9))/0x8)+-parseInt(_0xfee9be(0xf3))/0x9+parseInt(_0xfee9be(0xaf))/0xa*(parseInt(_0xfee9be(0xd7))/0xb);if(_0x433f07===_0x82194e)break;else _0x1a374d['push'](_0x1a374d['shift']());}catch(_0x5857ff){_0x1a374d['push'](_0x1a374d['shift']());}}}(a0_0x2098,0x8004b));const dotenv=require(a0_0x3ca28a(0xd5)),path=require(a0_0x3ca28a(0xf5)),fs=require('fs'),{v7:uuidv7}=require(a0_0x3ca28a(0xe9));dotenv[a0_0x3ca28a(0xe4)]();let MessageHub;try{const messagehubPath=path['resolve'](__dirname,a0_0x3ca28a(0xa9));if(fs['existsSync'](messagehubPath))MessageHub=require(messagehubPath),console[a0_0x3ca28a(0xab)](a0_0x3ca28a(0xb3)+messagehubPath);else throw new Error('MessageHub\x20SDK\x20not\x20found\x20at\x20'+messagehubPath);}catch(a0_0xb64d8d){console[a0_0x3ca28a(0xf4)]('Error\x20loading\x20MessageHub\x20SDK:\x20'+a0_0xb64d8d['message']);throw a0_0xb64d8d;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function a0_0x1382(_0x1e5fb4,_0x4f2b49){_0x1e5fb4=_0x1e5fb4-0xa1;const _0x209844=a0_0x2098();let _0x138221=_0x209844[_0x1e5fb4];if(a0_0x1382['cfaBOQ']===undefined){var _0x100450=function(_0x2ae7ae){const _0xfa5733='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5ac028='',_0x1c5da7='';for(let _0x5653e5=0x0,_0x15f6f4,_0x55a733,_0x760a16=0x0;_0x55a733=_0x2ae7ae['charAt'](_0x760a16++);~_0x55a733&&(_0x15f6f4=_0x5653e5%0x4?_0x15f6f4*0x40+_0x55a733:_0x55a733,_0x5653e5++%0x4)?_0x5ac028+=String['fromCharCode'](0xff&_0x15f6f4>>(-0x2*_0x5653e5&0x6)):0x0){_0x55a733=_0xfa5733['indexOf'](_0x55a733);}for(let _0xbda485=0x0,_0x43a8ea=_0x5ac028['length'];_0xbda485<_0x43a8ea;_0xbda485++){_0x1c5da7+='%'+('00'+_0x5ac028['charCodeAt'](_0xbda485)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1c5da7);};a0_0x1382['XCViRX']=_0x100450,a0_0x1382['HodByG']={},a0_0x1382['cfaBOQ']=!![];}const _0x16f196=_0x209844[0x0],_0x44c0ca=_0x1e5fb4+_0x16f196,_0x5f2b79=a0_0x1382['HodByG'][_0x44c0ca];return!_0x5f2b79?(_0x138221=a0_0x1382['XCViRX'](_0x138221),a0_0x1382['HodByG'][_0x44c0ca]=_0x138221):_0x138221=_0x5f2b79,_0x138221;}function log(_0x1e5655){const _0x38ae2a=new Date()['toISOString']();console['log']('['+_0x38ae2a+']\x20'+_0x1e5655);}async function initMessageHub(){const _0x3c2c4f=a0_0x3ca28a,_0x9f7821={'bqJtA':function(_0x464ba4,_0x3d6d88){return _0x464ba4(_0x3d6d88);},'cuvPL':_0x3c2c4f(0xb4),'FgBwn':function(_0x56c602,_0x5b48ee){return _0x56c602(_0x5b48ee);},'FKFES':function(_0x448eac,_0x59e8a6){return _0x448eac(_0x59e8a6);},'KowDa':function(_0x30d5e4,_0x1a5f31){return _0x30d5e4===_0x1a5f31;},'IxjXo':function(_0x4c4d78,_0x3ed763){return _0x4c4d78===_0x3ed763;},'LaURu':function(_0x4b70a8,_0x68634c){return _0x4b70a8(_0x68634c);},'HRicF':function(_0x73241e,_0x396542){return _0x73241e===_0x396542;},'yiBsR':function(_0xde1d,_0x13bea8){return _0xde1d===_0x13bea8;},'lAMUm':_0x3c2c4f(0xe8),'baryq':'⚠️\x20Timeout:\x20Tidak\x20dapat\x20terhubung\x20ke\x20MessageHub\x20server\x20dalam\x20waktu\x20yang\x20ditentukan','sOxpD':'======\x20MULAI\x20INISIALISASI\x20MESSAGEHUB\x20======','xIyUF':_0x3c2c4f(0xfa),'LeWIS':function(_0x15f20d,_0x41615a){return _0x15f20d===_0x41615a;},'pEmrY':_0x3c2c4f(0xe5),'Lutct':_0x3c2c4f(0xf6),'GPDac':_0x3c2c4f(0xba),'xmKwG':function(_0x26c871,_0x22a106){return _0x26c871(_0x22a106);},'kREkm':function(_0x136c1f,_0xc27042){return _0x136c1f(_0xc27042);},'Uaixy':function(_0x4c8ce3,_0x474d9e){return _0x4c8ce3(_0x474d9e);},'IVuOB':_0x3c2c4f(0xcc),'lzkuB':function(_0x3f7aa0,_0x3a3ed2,_0x1909a1){return _0x3f7aa0(_0x3a3ed2,_0x1909a1);}};if(messagehub&&isConnected)return log('MessageHub\x20sudah\x20terhubung,\x20menggunakan\x20koneksi\x20yang\x20ada'),!![];if(connectionPromise)return log('Koneksi\x20MessageHub\x20sedang\x20berlangsung,\x20menunggu...'),connectionPromise;return connectionPromise=new Promise(async(_0x43b6b2,_0x3f7c70)=>{const _0x4b0393=_0x3c2c4f;try{_0x9f7821[_0x4b0393(0xee)](log,_0x9f7821['sOxpD']),log(_0x4b0393(0xb6)+new Date()['toLocaleString']()),log(_0x9f7821['xIyUF']);const _0x29a45={'publishKey':process['env'][_0x4b0393(0xdb)],'subscribeKey':process['env'][_0x4b0393(0xd9)],'userId':process[_0x4b0393(0xe7)]['MSHUB_USER_ID']||_0x4b0393(0xc9)+(process[_0x4b0393(0xe7)]['RESTFORGE_PROJECT_NAME']||'default')+'-'+process[_0x4b0393(0xc7)],'communicationType':process[_0x4b0393(0xe7)]['MSHUB_COMMUNICATION_TYPE']||'broadcast','autoAcknowledge':_0x9f7821[_0x4b0393(0xa1)](process['env']['MSHUB_AUTO_ACKNOWLEDGE'],_0x9f7821[_0x4b0393(0xb7)]),'acknowledgeMessages':process['env']['MSHUB_ACKNOWLEDGE_MESSAGES']===_0x9f7821['pEmrY'],'platform':{'type':process[_0x4b0393(0xe7)][_0x4b0393(0xae)]||_0x9f7821['Lutct'],'host':process['env'][_0x4b0393(0xc0)]||_0x9f7821[_0x4b0393(0xd4)],'api_port':_0x9f7821[_0x4b0393(0xb1)](parseInt,process[_0x4b0393(0xe7)]['MSHUB_API_PORT']||0xdf8),'service_port':parseInt(process[_0x4b0393(0xe7)]['MSHUB_SERVICE_PORT']||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x29a45),_0x9f7821[_0x4b0393(0xd1)](log,'======\x20INFORMASI\x20CLIENT\x20MESSAGEHUB\x20======'),log('Client\x20ID/UserID:\x20'+messagehub['userId']),log('Publish\x20Key:\x20'+messagehub[_0x4b0393(0xa5)]),_0x9f7821['kREkm'](log,'Subscribe\x20Key:\x20'+messagehub['subscribeKey']),log('Tipe\x20Komunikasi:\x20'+messagehub[_0x4b0393(0xa4)]),_0x9f7821['Uaixy'](log,'Konfigurasi\x20Platform:\x20'+JSON['stringify'](messagehub[_0x4b0393(0xea)])),log(_0x9f7821['IVuOB']),messagehub['addListener']({'status':function(_0x507408){const _0x272bee=_0x4b0393;_0x9f7821[_0x272bee(0xf0)](log,'Status\x20Listener:\x20'+_0x507408['category']);if(_0x507408['category']===_0x9f7821['cuvPL'])log(_0x272bee(0xbc)),isConnected=!![],timeoutHandler&&(_0x9f7821['FgBwn'](clearTimeout,timeoutHandler),timeoutHandler=null),_0x9f7821[_0x272bee(0xee)](_0x43b6b2,!![]);else{if(_0x9f7821['KowDa'](_0x507408[_0x272bee(0xbd)],'disconnected')){const _0x5d79d5=_0x507408[_0x272bee(0xeb)]===!![];!_0x5d79d5&&(log('Terputus\x20dari\x20server.\x20Alasan:\x20'+(_0x507408['reason']||'Tidak\x20diketahui')),isConnected=![],connectionPromise&&(_0x3f7c70(new Error(_0x272bee(0xde)+(_0x507408[_0x272bee(0xd6)]||_0x272bee(0xaa)))),connectionPromise=null));}else{if(_0x9f7821[_0x272bee(0xa7)](_0x507408['category'],'error')){let _0x5c0060=_0x507408[_0x272bee(0xf7)]||_0x507408['error']||_0x272bee(0xb5);_0x9f7821[_0x272bee(0xb1)](log,_0x272bee(0xbb)+_0x5c0060),isConnected=![],connectionPromise&&(_0x3f7c70(new Error(_0x5c0060)),connectionPromise=null);}else{if(_0x9f7821[_0x272bee(0xfb)](_0x507408['category'],_0x272bee(0xbf)))log('📤\x20Pesan\x20berhasil\x20dikirim!\x20RequestID:\x20'+_0x507408[_0x272bee(0xfd)]);else{if(_0x9f7821[_0x272bee(0xc2)](_0x507408[_0x272bee(0xbd)],_0x9f7821['lAMUm'])){const _0x398724=_0x507408['receiverInfo']?.[_0x272bee(0xdd)]||_0x272bee(0xa8),_0x41593e=_0x507408[_0x272bee(0xa3)]?.['id']||_0x507408['receiverId'],_0x3014ca=new Date(_0x507408[_0x272bee(0xa3)]?.['receivedAt']||_0x507408['receivedAt']||new Date())['toLocaleTimeString']();log(_0x272bee(0xbe)+_0x507408['requestId']+_0x272bee(0xe0)+_0x398724+'\x20('+_0x41593e+_0x272bee(0xed)+_0x3014ca+'.\x20Total\x20konfirmasi:\x20'+(_0x507408[_0x272bee(0xd3)]||0x1));}}}}}}}),timeoutHandler=_0x9f7821['lzkuB'](setTimeout,()=>{const _0x2d131b=_0x4b0393;!isConnected&&connectionPromise&&(_0x9f7821['LaURu'](log,_0x9f7821['baryq']),_0x3f7c70(new Error(_0x2d131b(0xcf))),connectionPromise=null);},0x2710);}catch(_0x55a6d9){log('⚠️\x20Error\x20inisialisasi\x20MessageHub:\x20'+_0x55a6d9[_0x4b0393(0xca)]),console['error']('Error\x20inisialisasi\x20MessageHub:',_0x55a6d9),connectionPromise=null,_0x3f7c70(_0x55a6d9);}}),connectionPromise;}async function publishMessage(_0x19be35,_0x59ffde,_0x2f4a88,_0x27fbbc={}){const _0x4723db=a0_0x3ca28a,_0x4af196={'kGgGF':'======\x20DATA\x20PUBLISH\x20MESSAGE\x20======','fKHlS':function(_0x3f89c9,_0x498016){return _0x3f89c9(_0x498016);},'WXlMf':function(_0x2386b6,_0x263f5c){return _0x2386b6(_0x263f5c);},'ClBcp':'================================','Eiyyd':function(_0x4bbf08,_0x1642ac){return _0x4bbf08!==_0x1642ac;},'YXPKP':function(_0xf51c1d,_0x17b269){return _0xf51c1d!==_0x17b269;},'JZCLk':'Mengirim\x20pesan\x20ke\x20server...'};try{!isConnected&&await initMessageHub();const _0x410010=messagehub[_0x4723db(0xef)](_0x19be35);log(_0x4af196[_0x4723db(0xd2)]),log(_0x4723db(0xcd)+_0x410010['topic']),_0x4af196[_0x4723db(0xad)](log,'Message\x20Type:\x20'+_0x59ffde),_0x4af196['WXlMf'](log,_0x4af196[_0x4723db(0xe3)]);const _0x488312={'requireAck':_0x4af196[_0x4723db(0xf8)](_0x27fbbc[_0x4723db(0xd8)],undefined)?_0x27fbbc[_0x4723db(0xd8)]:![],'clearCache':_0x4af196[_0x4723db(0xac)](_0x27fbbc['clearCache'],undefined)?_0x27fbbc[_0x4723db(0xb2)]:!![],'senderId':messagehub['socket']?messagehub[_0x4723db(0xc8)]['id']:_0x4723db(0xdc)};_0x4af196[_0x4723db(0xec)](log,_0x4af196[_0x4723db(0xf2)]);const _0x521250={'type':_0x59ffde,'content':_0x2f4a88},_0x336b76=await _0x410010['publish'](_0x521250,_0x488312);return log(_0x4723db(0xc5)+_0x19be35),{'success':!![],'requestId':_0x336b76['requestId'],'topic':_0x19be35,'message':'Message\x20sent\x20successfully'};}catch(_0x4cec45){return log(_0x4723db(0xda)+_0x4cec45[_0x4723db(0xca)]),{'success':![],'error':_0x4cec45[_0x4723db(0xca)],'topic':_0x19be35,'message':'Failed\x20to\x20send\x20message'};}}async function closeConnection(){const _0x50c26b=a0_0x3ca28a,_0x527dc9={'gHUXb':function(_0x32ec63,_0x141b62){return _0x32ec63&&_0x141b62;},'LaQRg':function(_0x535b17,_0x25bd0b){return _0x535b17===_0x25bd0b;},'XBaaL':function(_0x918892,_0xcbee5f){return _0x918892(_0xcbee5f);},'jTMNJ':_0x50c26b(0xe6),'lCwze':function(_0x300183,_0x53c78a){return _0x300183===_0x53c78a;},'NALPE':_0x50c26b(0xce),'CYSAm':'Tidak\x20dapat\x20menemukan\x20metode\x20untuk\x20menutup\x20koneksi\x20MessageHub'};timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null);if(_0x527dc9[_0x50c26b(0xb8)](isConnected,messagehub))try{if(_0x527dc9['LaQRg'](typeof messagehub['disconnect'],_0x50c26b(0xe2)))await messagehub['disconnect'](),_0x527dc9[_0x50c26b(0xe1)](log,_0x527dc9['jTMNJ']);else{if(_0x527dc9['lCwze'](typeof messagehub[_0x50c26b(0xd0)],'function'))await messagehub['close'](),_0x527dc9[_0x50c26b(0xe1)](log,_0x50c26b(0xa2));else messagehub['socket']&&typeof messagehub[_0x50c26b(0xc8)][_0x50c26b(0xb9)]===_0x50c26b(0xe2)?(messagehub[_0x50c26b(0xc8)]['disconnect'](),log(_0x527dc9[_0x50c26b(0xfc)])):log(_0x527dc9[_0x50c26b(0xcb)]);}isConnected=![],connectionPromise=null;}catch(_0x57ccef){_0x527dc9['XBaaL'](log,_0x50c26b(0xc3)+_0x57ccef['message']);}}module['exports']={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};
|